📄 led.lst
字号:
304 00c0 1F93 push r17
305 /* prologue end (size=1) */
306 .LBB7:
89:led.c **** { uint8_t atomicState = AtomicStart();
308 .LM35:
309 00c2 0E94 0000 call AtomicStart
310 00c6 182F mov r17,r24
90:led.c **** {
91:led.c **** OSH_CLR_RED_LED_PIN();
312 .LM36:
313 00c8 0E94 0000 call OSH_CLR_RED_LED_PIN
92:led.c **** LedsC_ledsOn |= LedsC_RED_BIT;
315 .LM37:
316 00cc 8091 0000 lds r24,LedsC_ledsOn
317 00d0 8160 ori r24,lo8(1)
318 00d2 8093 0000 sts LedsC_ledsOn,r24
93:led.c **** }
94:led.c **** AtomicEnd(atomicState); }
320 .LM38:
321 00d6 812F mov r24,r17
322 00d8 0E94 0000 call AtomicEnd
323 .LBE7:
95:led.c **** return SUCCESS;
96:led.c **** }
325 .LM39:
326 00dc 81E0 ldi r24,lo8(1)
327 00de 90E0 ldi r25,hi8(1)
328 /* epilogue: frame size=0 */
329 00e0 1F91 pop r17
330 00e2 0895 ret
331 /* epilogue end (size=2) */
332 /* function LedRedOn size 18 (15) */
338 .global LedGreenOn
340 LedGreenOn:
97:led.c ****
98:led.c **** result_t LedGreenOn(void)
99:led.c **** {
342 .LM40:
343 /* prologue: frame size=0 */
344 00e4 1F93 push r17
345 /* prologue end (size=1) */
346 .LBB8:
100:led.c **** { uint8_t atomicState = AtomicStart();
348 .LM41:
349 00e6 0E94 0000 call AtomicStart
350 00ea 182F mov r17,r24
101:led.c **** {
102:led.c **** OSH_CLR_GREEN_LED_PIN();
352 .LM42:
353 00ec 0E94 0000 call OSH_CLR_GREEN_LED_PIN
103:led.c **** LedsC_ledsOn |= LedsC_GREEN_BIT;
355 .LM43:
356 00f0 8091 0000 lds r24,LedsC_ledsOn
357 00f4 8260 ori r24,lo8(2)
358 00f6 8093 0000 sts LedsC_ledsOn,r24
104:led.c **** }
105:led.c **** AtomicEnd(atomicState); }
360 .LM44:
361 00fa 812F mov r24,r17
362 00fc 0E94 0000 call AtomicEnd
363 .LBE8:
106:led.c **** return SUCCESS;
107:led.c **** }
365 .LM45:
366 0100 81E0 ldi r24,lo8(1)
367 0102 90E0 ldi r25,hi8(1)
368 /* epilogue: frame size=0 */
369 0104 1F91 pop r17
370 0106 0895 ret
371 /* epilogue end (size=2) */
372 /* function LedGreenOn size 18 (15) */
378 .global LedGreenOff
380 LedGreenOff:
108:led.c ****
109:led.c **** result_t LedGreenOff(void)
110:led.c **** {
382 .LM46:
383 /* prologue: frame size=0 */
384 0108 1F93 push r17
385 /* prologue end (size=1) */
386 .LBB9:
111:led.c **** { uint8_t atomicState = AtomicStart();
388 .LM47:
389 010a 0E94 0000 call AtomicStart
390 010e 182F mov r17,r24
112:led.c **** {
113:led.c **** OSH_SET_GREEN_LED_PIN();
392 .LM48:
393 0110 0E94 0000 call OSH_SET_GREEN_LED_PIN
114:led.c **** LedsC_ledsOn &= ~LedsC_GREEN_BIT;
395 .LM49:
396 0114 8091 0000 lds r24,LedsC_ledsOn
397 0118 8D7F andi r24,lo8(-3)
398 011a 8093 0000 sts LedsC_ledsOn,r24
115:led.c **** }
116:led.c **** AtomicEnd(atomicState); }
400 .LM50:
401 011e 812F mov r24,r17
402 0120 0E94 0000 call AtomicEnd
403 .LBE9:
117:led.c **** return SUCCESS;
118:led.c **** }
405 .LM51:
406 0124 81E0 ldi r24,lo8(1)
407 0126 90E0 ldi r25,hi8(1)
408 /* epilogue: frame size=0 */
409 0128 1F91 pop r17
410 012a 0895 ret
411 /* epilogue end (size=2) */
412 /* function LedGreenOff size 18 (15) */
418 .global LedGreenToggle
420 LedGreenToggle:
119:led.c ****
120:led.c **** result_t LedGreenToggle(void)
121:led.c **** {
422 .LM52:
423 /* prologue: frame size=0 */
424 012c 1F93 push r17
425 012e CF93 push r28
426 /* prologue end (size=2) */
427 .LBB10:
122:led.c **** result_t rval;
123:led.c **** { uint8_t atomicState = AtomicStart();
429 .LM53:
430 0130 0E94 0000 call AtomicStart
431 0134 182F mov r17,r24
124:led.c **** {
125:led.c **** if (LedsC_ledsOn & LedsC_GREEN_BIT) {
433 .LM54:
434 0136 8091 0000 lds r24,LedsC_ledsOn
435 013a 81FF sbrs r24,1
436 013c 03C0 rjmp .L13
126:led.c **** rval = LedGreenOff();
438 .LM55:
439 013e 0E94 0000 call LedGreenOff
440 0142 02C0 rjmp .L15
441 .L13:
127:led.c **** }
128:led.c **** else {
129:led.c **** rval = LedGreenOn();
443 .LM56:
444 0144 0E94 0000 call LedGreenOn
445 .L15:
446 0148 C82F mov r28,r24
130:led.c **** }
131:led.c **** }
132:led.c **** AtomicEnd(atomicState); }
448 .LM57:
449 014a 812F mov r24,r17
450 014c 0E94 0000 call AtomicEnd
451 .LBE10:
133:led.c **** return rval;
134:led.c **** }
453 .LM58:
454 0150 8C2F mov r24,r28
455 0152 9927 clr r25
456 /* epilogue: frame size=0 */
457 0154 CF91 pop r28
458 0156 1F91 pop r17
459 0158 0895 ret
460 /* epilogue end (size=3) */
461 /* function LedGreenToggle size 23 (18) */
468 .global LedRedToggle
470 LedRedToggle:
135:led.c ****
136:led.c **** result_t LedRedToggle(void)
137:led.c **** {
472 .LM59:
473 /* prologue: frame size=0 */
474 015a 1F93 push r17
475 015c CF93 push r28
476 /* prologue end (size=2) */
477 .LBB11:
138:led.c **** result_t rval;
139:led.c ****
140:led.c **** { uint8_t atomicState = AtomicStart();
479 .LM60:
480 015e 0E94 0000 call AtomicStart
481 0162 182F mov r17,r24
141:led.c **** {
142:led.c **** if (LedsC_ledsOn & LedsC_RED_BIT) {
483 .LM61:
484 0164 8091 0000 lds r24,LedsC_ledsOn
485 0168 80FF sbrs r24,0
486 016a 03C0 rjmp .L17
143:led.c **** rval = LedRedOff();
488 .LM62:
489 016c 0E94 0000 call LedRedOff
490 0170 02C0 rjmp .L19
491 .L17:
144:led.c **** }
145:led.c **** else {
146:led.c **** rval = LedRedOn();
493 .LM63:
494 0172 0E94 0000 call LedRedOn
495 .L19:
496 0176 C82F mov r28,r24
147:led.c **** }
148:led.c **** }
149:led.c **** AtomicEnd(atomicState); }
498 .LM64:
499 0178 812F mov r24,r17
500 017a 0E94 0000 call AtomicEnd
501 .LBE11:
150:led.c **** return rval;
151:led.c **** }...
503 .LM65:
504 017e 8C2F mov r24,r28
505 0180 9927 clr r25
506 /* epilogue: frame size=0 */
507 0182 CF91 pop r28
508 0184 1F91 pop r17
509 0186 0895 ret
510 /* epilogue end (size=3) */
511 /* function LedRedToggle size 23 (18) */
517 .comm RecordPassed,30,1
518 .lcomm LedsC_ledsOn,1
521 .text
523 Letext:
524 /* File "led.c": code 196 = 0x00c4 ( 160), prologues 13, epilogues 23 */
DEFINED SYMBOLS
*ABS*:00000000 led.c
*ABS*:0000003f __SREG__
*ABS*:0000003e __SP_H__
*ABS*:0000003d __SP_L__
*ABS*:00000000 __tmp_reg__
*ABS*:00000001 __zero_reg__
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccaqaaaa.s:86 .text:00000000 LedInit
.bss:00000000 LedsC_ledsOn
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccaqaaaa.s:130 .text:00000026 LedYellowOn
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccaqaaaa.s:170 .text:0000004a LedYellowOff
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccaqaaaa.s:210 .text:0000006e LedYellowToggle
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccaqaaaa.s:260 .text:0000009c LedRedOff
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccaqaaaa.s:300 .text:000000c0 LedRedOn
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccaqaaaa.s:340 .text:000000e4 LedGreenOn
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccaqaaaa.s:380 .text:00000108 LedGreenOff
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccaqaaaa.s:420 .text:0000012c LedGreenToggle
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccaqaaaa.s:470 .text:0000015a LedRedToggle
*COM*:0000001e RecordPassed
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccaqaaaa.s:523 .text:00000188 Letext
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
AtomicStart
OSH_SET_RED_LED_PIN
OSH_SET_YELLOW_LED_PIN
OSH_SET_GREEN_LED_PIN
AtomicEnd
OSH_CLR_YELLOW_LED_PIN
OSH_CLR_RED_LED_PIN
OSH_CLR_GREEN_LED_PIN
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -