📄 fun.lst
字号:
896 017c 29F4 brne .L58
321:fun.c **** OSPostTask(PowerAdjustment);
898 .LM109:
899 017e 80E0 ldi r24,lo8(pm(PowerAdjustment))
900 0180 90E0 ldi r25,hi8(pm(PowerAdjustment))
901 0182 0E94 0000 call OSPostTask
902 0186 06C0 rjmp .L59
903 .L58:
322:fun.c **** }
323:fun.c **** else
324:fun.c **** {
325:fun.c **** mcu = * (volatile unsigned char *)(0x35 + 0x20);
905 .LM110:
906 0188 85B7 in r24,85-0x20
326:fun.c **** mcu &= 0xe3;
908 .LM111:
909 018a 837E andi r24,lo8(-29)
327:fun.c **** mcu |= HPLPowerManagementM_IDLE;
328:fun.c **** * (volatile unsigned char *)(0x35 + 0x20) = mcu;
911 .LM112:
912 018c 85BF out 85-0x20,r24
329:fun.c **** * (volatile unsigned char *)(0x35 + 0x20) |= 1 << 5;
914 .LM113:
915 018e 85B7 in r24,85-0x20
916 0190 8062 ori r24,lo8(32)
917 0192 85BF out 85-0x20,r24
918 .L59:
330:fun.c **** }
331:fun.c **** return 0;
332:fun.c **** }
920 .LM114:
921 0194 80E0 ldi r24,lo8(0)
922 0196 90E0 ldi r25,hi8(0)
923 /* epilogue: frame size=0 */
924 0198 0895 ret
925 /* epilogue end (size=1) */
926 /* function PowerManagementAdjust size 18 (17) */
930 .global OSH_CLR_YELLOW_LED_PIN
932 OSH_CLR_YELLOW_LED_PIN:
333:fun.c ****
334:fun.c **** void OSH_CLR_YELLOW_LED_PIN(void)
335:fun.c **** {
934 .LM115:
935 /* prologue: frame size=0 */
936 /* prologue end (size=0) */
336:fun.c **** * (volatile unsigned char *)(0x1B + 0x20) &= ~(1 << 0);
938 .LM116:
939 019a D898 cbi 59-0x20,0
940 /* epilogue: frame size=0 */
941 019c 0895 ret
942 /* epilogue end (size=1) */
943 /* function OSH_CLR_YELLOW_LED_PIN size 2 (1) */
946 .global OSH_MAKE_MOSI_OUTPUT
948 OSH_MAKE_MOSI_OUTPUT:
337:fun.c **** }
338:fun.c ****
339:fun.c **** void OSH_MAKE_MOSI_OUTPUT(void)
340:fun.c **** {
950 .LM117:
951 /* prologue: frame size=0 */
952 /* prologue end (size=0) */
341:fun.c **** * (volatile unsigned char *)(0x17 + 0x20) |= 1 << 2;
954 .LM118:
955 019e BA9A sbi 55-0x20,2
956 /* epilogue: frame size=0 */
957 01a0 0895 ret
958 /* epilogue end (size=1) */
959 /* function OSH_MAKE_MOSI_OUTPUT size 2 (1) */
962 .global OSH_MAKE_MISO_OUTPUT
964 OSH_MAKE_MISO_OUTPUT:
342:fun.c **** }
343:fun.c ****
344:fun.c **** void OSH_MAKE_MISO_OUTPUT(void)
345:fun.c **** {
966 .LM119:
967 /* prologue: frame size=0 */
968 /* prologue end (size=0) */
346:fun.c **** * (volatile unsigned char *)(0x17 + 0x20) |= 1 << 3;
970 .LM120:
971 01a2 BB9A sbi 55-0x20,3
972 /* epilogue: frame size=0 */
973 01a4 0895 ret
974 /* epilogue end (size=1) */
975 /* function OSH_MAKE_MISO_OUTPUT size 2 (1) */
978 .global OSH_CLR_RED_LED_PIN
980 OSH_CLR_RED_LED_PIN:
347:fun.c **** }
348:fun.c ****
349:fun.c **** void OSH_CLR_RED_LED_PIN(void)
350:fun.c **** {
982 .LM121:
983 /* prologue: frame size=0 */
984 /* prologue end (size=0) */
351:fun.c **** * (volatile unsigned char *)(0x1B + 0x20) &= ~(1 << 2);
986 .LM122:
987 01a6 DA98 cbi 59-0x20,2
988 /* epilogue: frame size=0 */
989 01a8 0895 ret
990 /* epilogue end (size=1) */
991 /* function OSH_CLR_RED_LED_PIN size 2 (1) */
994 .global OSH_CLR_GREEN_LED_PIN
996 OSH_CLR_GREEN_LED_PIN:
352:fun.c **** }
353:fun.c ****
354:fun.c **** void OSH_CLR_GREEN_LED_PIN(void)
355:fun.c **** {
998 .LM123:
999 /* prologue: frame size=0 */
1000 /* prologue end (size=0) */
356:fun.c **** * (volatile unsigned char *)(0x1B + 0x20) &= ~(1 << 1);
1002 .LM124:
1003 01aa D998 cbi 59-0x20,1
1004 /* epilogue: frame size=0 */
1005 01ac 0895 ret
1006 /* epilogue end (size=1) */
1007 /* function OSH_CLR_GREEN_LED_PIN size 2 (1) */
1010 .global RandomLFSRGen
1012 RandomLFSRGen:
357:fun.c **** }
358:fun.c ****
359:fun.c **** /*uint16_t crcByte(uint16_t oldCrc, uint8_t byte)
360:fun.c **** {
361:fun.c ****
362:fun.c **** uint16_t *table = crcTable;
363:fun.c **** uint16_t newCrc;
364:fun.c ****
365:fun.c **** asm ("eor %1,%B3\n"
366:fun.c **** "\tlsl %1\n"
367:fun.c **** "\tadc %B2, __zero_reg__\n"
368:fun.c **** "\tadd %A2, %1\n"
369:fun.c **** "\tadc %B2, __zero_reg__\n"
370:fun.c **** "\tlpm\n"
371:fun.c **** "\tmov %B0, %A3\n"
372:fun.c **** "\tmov %A0, r0\n"
373:fun.c **** "\tadiw r30,1\n"
374:fun.c **** "\tlpm\n"
375:fun.c **** "\teor %B0, r0" :
376:fun.c **** "=r"(newCrc), "+r"(byte), "+z"(table) : "r"(oldCrc));
377:fun.c **** return newCrc;
378:fun.c **** }
379:fun.c **** */
380:fun.c **** uint16_t RandomLFSRGen(void)
381:fun.c **** {
1014 .LM125:
1015 /* prologue: frame size=0 */
1016 01ae EF92 push r14
1017 01b0 FF92 push r15
1018 01b2 CF93 push r28
1019 01b4 DF93 push r29
1020 /* prologue end (size=4) */
1021 .LBB3:
382:fun.c **** bool endbit;
383:fun.c **** uint16_t tmpShiftReg;
384:fun.c ****
385:fun.c **** { uint8_t atomic = AtomicStart();
1023 .LM126:
1024 01b6 0E94 0000 call AtomicStart
1025 01ba 282F mov r18,r24
386:fun.c **** {
387:fun.c **** tmpShiftReg = RandomLFSR_shiftReg;
1027 .LM127:
1028 01bc C091 0000 lds r28,RandomLFSR_shiftReg
1029 01c0 D091 0000 lds r29,(RandomLFSR_shiftReg)+1
388:fun.c **** endbit = (tmpShiftReg & 0x8000) != 0;
1031 .LM128:
1032 01c4 7E01 movw r14,r28
1033 01c6 8F2D mov r24,r15
1034 01c8 881F rol r24
1035 01ca 8827 clr r24
1036 01cc 881F rol r24
389:fun.c **** tmpShiftReg <<= 1;
1038 .LM129:
1039 01ce CC0F lsl r28
1040 01d0 DD1F rol r29
390:fun.c **** if (endbit) {
1042 .LM130:
1043 01d2 8823 tst r24
1044 01d4 21F0 breq .L67
391:fun.c **** tmpShiftReg ^= 0x100b;
1046 .LM131:
1047 01d6 8BE0 ldi r24,lo8(4107)
1048 01d8 90E1 ldi r25,hi8(4107)
1049 01da C827 eor r28,r24
1050 01dc D927 eor r29,r25
1051 .L67:
392:fun.c **** }
393:fun.c **** tmpShiftReg++;
1053 .LM132:
1054 01de 2196 adiw r28,1
394:fun.c **** RandomLFSR_shiftReg = tmpShiftReg;
1056 .LM133:
1057 01e0 D093 0000 sts (RandomLFSR_shiftReg)+1,r29
1058 01e4 C093 0000 sts RandomLFSR_shiftReg,r28
395:fun.c **** tmpShiftReg = tmpShiftReg ^ RandomLFSR_mask;
1060 .LM134:
1061 01e8 8091 0000 lds r24,RandomLFSR_mask
1062 01ec 9091 0000 lds r25,(RandomLFSR_mask)+1
1063 01f0 C827 eor r28,r24
1064 01f2 D927 eor r29,r25
396:fun.c **** }
397:fun.c **** AtomicEnd(atomic); }
1066 .LM135:
1067 01f4 822F mov r24,r18
1068 01f6 0E94 0000 call AtomicEnd
1069 .LBE3:
398:fun.c **** return tmpShiftReg;
399:fun.c **** }
1071 .LM136:
1072 01fa CE01 movw r24,r28
1073 /* epilogue: frame size=0 */
1074 01fc DF91 pop r29
1075 01fe CF91 pop r28
1076 0200 FF90 pop r15
1077 0202 EF90 pop r14
1078 0204 0895 ret
1079 /* epilogue end (size=5) */
1080 /* function RandomLFSRGen size 44 (35) */
1087 .comm RecordPassed,30,1
1088 .comm POWERLEVEL,1,1
1089 .comm OS_LOCAL_ADDRESS,1,1
1090 .comm OS_BCAST_ADDR,1,1
1091 .comm ACK_ON,1,1
1092 .comm ACKTIME,1,1
1093 .lcomm RandomLFSR_shiftReg,2
1094 .lcomm RandomLFSR_initSeed,2
1095 .lcomm RandomLFSR_mask,2
1106 .text
1108 Letext:
1109 /* File "fun.c": code 261 = 0x0105 ( 205), prologues 5, epilogues 51 */
DEFINED SYMBOLS
*ABS*:00000000 fun.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/ccGUaaaa.s:86 .data:00000000 HPLPowerManagementM_disabled
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccGUaaaa.s:92 .text:00000000 OSH_SET_GREEN_LED_PIN
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccGUaaaa.s:108 .text:00000004 OSH_SET_YELLOW_LED_PIN
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccGUaaaa.s:124 .text:00000008 OSH_SET_RED_LED_PIN
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccGUaaaa.s:140 .text:0000000c OSH_SET_FLASH_SELECT_PIN
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccGUaaaa.s:156 .text:00000010 OSH_MAKE_FLASH_CLK_OUTPUT
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccGUaaaa.s:172 .text:00000014 OSH_MAKE_FLASH_OUT_OUTPUT
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccGUaaaa.s:188 .text:00000018 OSH_MAKE_FLASH_SELECT_OUTPUT
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccGUaaaa.s:204 .text:0000001c OSH_CLR_SERIAL_ID_PIN
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccGUaaaa.s:220 .text:00000020 OSH_MAKE_SERIAL_ID_INPUT
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccGUaaaa.s:236 .text:00000024 OSH_MAKE_SPI_OC1C_INPUT
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccGUaaaa.s:252 .text:00000028 OSH_MAKE_MISO_INPUT
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccGUaaaa.s:268 .text:0000002c OSH_MAKE_CC_PCLK_OUTPUT
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccGUaaaa.s:284 .text:00000030 OSH_MAKE_CC_PDATA_OUTPUT
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccGUaaaa.s:300 .text:00000034 OSH_MAKE_CC_PALE_OUTPUT
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccGUaaaa.s:316 .text:00000038 OSH_MAKE_PW0_OUTPUT
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccGUaaaa.s:332 .text:0000003c OSH_MAKE_PW1_OUTPUT
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccGUaaaa.s:348 .text:00000040 OSH_MAKE_PW2_OUTPUT
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccGUaaaa.s:364 .text:00000044 OSH_MAKE_PW3_OUTPUT
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccGUaaaa.s:380 .text:00000048 OSH_MAKE_PW4_OUTPUT
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccGUaaaa.s:396 .text:0000004c OSH_MAKE_PW5_OUTPUT
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccGUaaaa.s:412 .text:00000050 OSH_MAKE_PW6_OUTPUT
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccGUaaaa.s:428 .text:00000054 OSH_MAKE_PW7_OUTPUT
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccGUaaaa.s:444 .text:00000058 OSH_MAKE_CC_CHP_OUT_INPUT
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccGUaaaa.s:460 .text:0000005c OSH_MAKE_GREEN_LED_OUTPUT
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccGUaaaa.s:476 .text:00000060 OSH_MAKE_YELLOW_LED_OUTPUT
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccGUaaaa.s:492 .text:00000064 OSH_MAKE_RED_LED_OUTPUT
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccGUaaaa.s:508 .text:00000068 RandomInit
*COM*:00000001 OS_LOCAL_ADDRESS
.bss:00000000 RandomLFSR_shiftReg
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccGUaaaa.s:1093 .bss:00000002 RandomLFSR_initSeed
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccGUaaaa.s:1094 .bss:00000004 RandomLFSR_mask
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccGUaaaa.s:577 .text:000000ca OSH_SET_CC_PCLK_PIN
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccGUaaaa.s:593 .text:000000ce OSH_SET_CC_PDATA_PIN
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccGUaaaa.s:609 .text:000000d2 OSH_SET_CC_PALE_PIN
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccGUaaaa.s:625 .text:000000d6 OSH_MAKE_MOSI_INPUT
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccGUaaaa.s:641 .text:000000da OSH_MAKE_SPI_SCK_INPUT
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccGUaaaa.s:657 .text:000000de OSH_CLR_CC_PALE_PIN
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccGUaaaa.s:673 .text:000000e2 OSH_CLR_CC_PDATA_PIN
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccGUaaaa.s:689 .text:000000e6 OSH_CLR_CC_PCLK_PIN
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccGUaaaa.s:705 .text:000000ea OSH_MAKE_CC_PDATA_INPUT
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccGUaaaa.s:721 .text:000000ee OSH_READ_CC_PDATA_PIN
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccGUaaaa.s:748 .text:000000fe GetPowerLevel
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccGUaaaa.s:825 .text:00000146 PowerAdjustment
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccGUaaaa.s:887 .text:00000176 PowerManagementAdjust
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccGUaaaa.s:932 .text:0000019a OSH_CLR_YELLOW_LED_PIN
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccGUaaaa.s:948 .text:0000019e OSH_MAKE_MOSI_OUTPUT
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccGUaaaa.s:964 .text:000001a2 OSH_MAKE_MISO_OUTPUT
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccGUaaaa.s:980 .text:000001a6 OSH_CLR_RED_LED_PIN
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccGUaaaa.s:996 .text:000001aa OSH_CLR_GREEN_LED_PIN
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccGUaaaa.s:1012 .text:000001ae RandomLFSRGen
*COM*:0000001e RecordPassed
*COM*:00000001 POWERLEVEL
*COM*:00000001 OS_BCAST_ADDR
*COM*:00000001 ACK_ON
*COM*:00000001 ACKTIME
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccGUaaaa.s:1108 .text:00000206 Letext
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
AtomicStart
AtomicEnd
OSPostTask
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -