📄 led.lst
字号:
284 /* prologue: frame size=0 */
285 00c0 1F93 push r17
286 /* prologue end (size=1) */
287 .LBB7:
89:led.c **** { uint8_t atomicState = AtomicStart();
289 .LM35:
290 00c2 0E94 0000 call AtomicStart
291 00c6 182F mov r17,r24
90:led.c **** {
91:led.c **** OSH_CLR_RED_LED_PIN();
293 .LM36:
294 00c8 0E94 0000 call OSH_CLR_RED_LED_PIN
92:led.c **** LedsC_ledsOn |= LedsC_RED_BIT;
296 .LM37:
297 00cc 8091 0000 lds r24,LedsC_ledsOn
298 00d0 8160 ori r24,lo8(1)
299 00d2 8093 0000 sts LedsC_ledsOn,r24
93:led.c **** }
94:led.c **** AtomicEnd(atomicState); }
301 .LM38:
302 00d6 812F mov r24,r17
303 00d8 0E94 0000 call AtomicEnd
304 .LBE7:
95:led.c **** return SUCCESS;
96:led.c **** }
306 .LM39:
307 00dc 81E0 ldi r24,lo8(1)
308 00de 90E0 ldi r25,hi8(1)
309 /* epilogue: frame size=0 */
310 00e0 1F91 pop r17
311 00e2 0895 ret
312 /* epilogue end (size=2) */
313 /* function LedRedOn size 18 (15) */
319 .global LedGreenOn
321 LedGreenOn:
97:led.c ****
98:led.c **** result_t LedGreenOn(void)
99:led.c **** {
323 .LM40:
324 /* prologue: frame size=0 */
325 00e4 1F93 push r17
326 /* prologue end (size=1) */
327 .LBB8:
100:led.c **** { uint8_t atomicState = AtomicStart();
329 .LM41:
330 00e6 0E94 0000 call AtomicStart
331 00ea 182F mov r17,r24
101:led.c **** {
102:led.c **** OSH_CLR_GREEN_LED_PIN();
333 .LM42:
334 00ec 0E94 0000 call OSH_CLR_GREEN_LED_PIN
103:led.c **** LedsC_ledsOn |= LedsC_GREEN_BIT;
336 .LM43:
337 00f0 8091 0000 lds r24,LedsC_ledsOn
338 00f4 8260 ori r24,lo8(2)
339 00f6 8093 0000 sts LedsC_ledsOn,r24
104:led.c **** }
105:led.c **** AtomicEnd(atomicState); }
341 .LM44:
342 00fa 812F mov r24,r17
343 00fc 0E94 0000 call AtomicEnd
344 .LBE8:
106:led.c **** return SUCCESS;
107:led.c **** }
346 .LM45:
347 0100 81E0 ldi r24,lo8(1)
348 0102 90E0 ldi r25,hi8(1)
349 /* epilogue: frame size=0 */
350 0104 1F91 pop r17
351 0106 0895 ret
352 /* epilogue end (size=2) */
353 /* function LedGreenOn size 18 (15) */
359 .global LedGreenOff
361 LedGreenOff:
108:led.c ****
109:led.c **** result_t LedGreenOff(void)
110:led.c **** {
363 .LM46:
364 /* prologue: frame size=0 */
365 0108 1F93 push r17
366 /* prologue end (size=1) */
367 .LBB9:
111:led.c **** { uint8_t atomicState = AtomicStart();
369 .LM47:
370 010a 0E94 0000 call AtomicStart
371 010e 182F mov r17,r24
112:led.c **** {
113:led.c **** OSH_SET_GREEN_LED_PIN();
373 .LM48:
374 0110 0E94 0000 call OSH_SET_GREEN_LED_PIN
114:led.c **** LedsC_ledsOn &= ~LedsC_GREEN_BIT;
376 .LM49:
377 0114 8091 0000 lds r24,LedsC_ledsOn
378 0118 8D7F andi r24,lo8(-3)
379 011a 8093 0000 sts LedsC_ledsOn,r24
115:led.c **** }
116:led.c **** AtomicEnd(atomicState); }
381 .LM50:
382 011e 812F mov r24,r17
383 0120 0E94 0000 call AtomicEnd
384 .LBE9:
117:led.c **** return SUCCESS;
118:led.c **** }
386 .LM51:
387 0124 81E0 ldi r24,lo8(1)
388 0126 90E0 ldi r25,hi8(1)
389 /* epilogue: frame size=0 */
390 0128 1F91 pop r17
391 012a 0895 ret
392 /* epilogue end (size=2) */
393 /* function LedGreenOff size 18 (15) */
399 .global LedGreenToggle
401 LedGreenToggle:
119:led.c ****
120:led.c **** result_t LedGreenToggle(void)
121:led.c **** {
403 .LM52:
404 /* prologue: frame size=0 */
405 012c 1F93 push r17
406 012e CF93 push r28
407 /* prologue end (size=2) */
408 .LBB10:
122:led.c **** result_t rval;
123:led.c **** { uint8_t atomicState = AtomicStart();
410 .LM53:
411 0130 0E94 0000 call AtomicStart
412 0134 182F mov r17,r24
124:led.c **** {
125:led.c **** if (LedsC_ledsOn & LedsC_GREEN_BIT) {
414 .LM54:
415 0136 8091 0000 lds r24,LedsC_ledsOn
416 013a 81FF sbrs r24,1
417 013c 03C0 rjmp .L13
126:led.c **** rval = LedGreenOff();
419 .LM55:
420 013e 0E94 0000 call LedGreenOff
421 0142 02C0 rjmp .L15
422 .L13:
127:led.c **** }
128:led.c **** else {
129:led.c **** rval = LedGreenOn();
424 .LM56:
425 0144 0E94 0000 call LedGreenOn
426 .L15:
427 0148 C82F mov r28,r24
130:led.c **** }
131:led.c **** }
132:led.c **** AtomicEnd(atomicState); }
429 .LM57:
430 014a 812F mov r24,r17
431 014c 0E94 0000 call AtomicEnd
432 .LBE10:
133:led.c **** return rval;
134:led.c **** }
434 .LM58:
435 0150 8C2F mov r24,r28
436 0152 9927 clr r25
437 /* epilogue: frame size=0 */
438 0154 CF91 pop r28
439 0156 1F91 pop r17
440 0158 0895 ret
441 /* epilogue end (size=3) */
442 /* function LedGreenToggle size 23 (18) */
449 .global LedRedToggle
451 LedRedToggle:
135:led.c ****
136:led.c **** result_t LedRedToggle(void)
137:led.c **** {
453 .LM59:
454 /* prologue: frame size=0 */
455 015a 1F93 push r17
456 015c CF93 push r28
457 /* prologue end (size=2) */
458 .LBB11:
138:led.c **** result_t rval;
139:led.c ****
140:led.c **** { uint8_t atomicState = AtomicStart();
460 .LM60:
461 015e 0E94 0000 call AtomicStart
462 0162 182F mov r17,r24
141:led.c **** {
142:led.c **** if (LedsC_ledsOn & LedsC_RED_BIT) {
464 .LM61:
465 0164 8091 0000 lds r24,LedsC_ledsOn
466 0168 80FF sbrs r24,0
467 016a 03C0 rjmp .L17
143:led.c **** rval = LedRedOff();
469 .LM62:
470 016c 0E94 0000 call LedRedOff
471 0170 02C0 rjmp .L19
472 .L17:
144:led.c **** }
145:led.c **** else {
146:led.c **** rval = LedRedOn();
474 .LM63:
475 0172 0E94 0000 call LedRedOn
476 .L19:
477 0176 C82F mov r28,r24
147:led.c **** }
148:led.c **** }
149:led.c **** AtomicEnd(atomicState); }
479 .LM64:
480 0178 812F mov r24,r17
481 017a 0E94 0000 call AtomicEnd
482 .LBE11:
150:led.c **** return rval;
151:led.c **** }...
484 .LM65:
485 017e 8C2F mov r24,r28
486 0180 9927 clr r25
487 /* epilogue: frame size=0 */
488 0182 CF91 pop r28
489 0184 1F91 pop r17
490 0186 0895 ret
491 /* epilogue end (size=3) */
492 /* function LedRedToggle size 23 (18) */
498 .comm LedsC_ledsOn,1,1
500 .text
502 Letext:
503 /* 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__
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccIlbaaa.s:67 .text:00000000 LedInit
*COM*:00000001 LedsC_ledsOn
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccIlbaaa.s:111 .text:00000026 LedYellowOn
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccIlbaaa.s:151 .text:0000004a LedYellowOff
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccIlbaaa.s:191 .text:0000006e LedYellowToggle
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccIlbaaa.s:241 .text:0000009c LedRedOff
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccIlbaaa.s:281 .text:000000c0 LedRedOn
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccIlbaaa.s:321 .text:000000e4 LedGreenOn
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccIlbaaa.s:361 .text:00000108 LedGreenOff
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccIlbaaa.s:401 .text:0000012c LedGreenToggle
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccIlbaaa.s:451 .text:0000015a LedRedToggle
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccIlbaaa.s:502 .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 + -