📄 fun.lst
字号:
325:fun.c **** * (volatile unsigned char *)(0x35 + 0x20) = mcu;
1149 .LM111:
1150 0188 85BF out 85-0x20,r24
326:fun.c **** * (volatile unsigned char *)(0x35 + 0x20) |= 1 << 5;
1152 .LM112:
1153 018a 85B7 in r24,85-0x20
1154 018c 8062 ori r24,lo8(32)
1155 018e 85BF out 85-0x20,r24
1156 .L59:
327:fun.c **** }
328:fun.c **** return 0;
329:fun.c **** }
1158 .LM113:
1159 0190 80E0 ldi r24,lo8(0)
1160 0192 90E0 ldi r25,hi8(0)
1161 /* epilogue: frame size=0 */
1162 0194 0895 ret
1163 /* epilogue end (size=1) */
1164 /* function PowerManagementAdjust size 18 (17) */
1168 .global OSH_CLR_YELLOW_LED_PIN
1170 OSH_CLR_YELLOW_LED_PIN:
330:fun.c ****
331:fun.c **** void OSH_CLR_YELLOW_LED_PIN(void)
332:fun.c **** {
1172 .LM114:
1173 /* prologue: frame size=0 */
1174 /* prologue end (size=0) */
333:fun.c **** * (volatile unsigned char *)(0x1B + 0x20) &= ~(1 << 0);
1176 .LM115:
1177 0196 D898 cbi 59-0x20,0
1178 /* epilogue: frame size=0 */
1179 0198 0895 ret
1180 /* epilogue end (size=1) */
1181 /* function OSH_CLR_YELLOW_LED_PIN size 2 (1) */
1184 .global OSH_MAKE_MOSI_OUTPUT
1186 OSH_MAKE_MOSI_OUTPUT:
334:fun.c **** }
335:fun.c ****
336:fun.c **** void OSH_MAKE_MOSI_OUTPUT(void)
337:fun.c **** {
1188 .LM116:
1189 /* prologue: frame size=0 */
1190 /* prologue end (size=0) */
338:fun.c **** * (volatile unsigned char *)(0x17 + 0x20) |= 1 << 2;
1192 .LM117:
1193 019a BA9A sbi 55-0x20,2
1194 /* epilogue: frame size=0 */
1195 019c 0895 ret
1196 /* epilogue end (size=1) */
1197 /* function OSH_MAKE_MOSI_OUTPUT size 2 (1) */
1200 .global OSH_MAKE_MISO_OUTPUT
1202 OSH_MAKE_MISO_OUTPUT:
339:fun.c **** }
340:fun.c ****
341:fun.c **** void OSH_MAKE_MISO_OUTPUT(void)
342:fun.c **** {
1204 .LM118:
1205 /* prologue: frame size=0 */
1206 /* prologue end (size=0) */
343:fun.c **** * (volatile unsigned char *)(0x17 + 0x20) |= 1 << 3;
1208 .LM119:
1209 019e BB9A sbi 55-0x20,3
1210 /* epilogue: frame size=0 */
1211 01a0 0895 ret
1212 /* epilogue end (size=1) */
1213 /* function OSH_MAKE_MISO_OUTPUT size 2 (1) */
1216 .global OSH_CLR_RED_LED_PIN
1218 OSH_CLR_RED_LED_PIN:
344:fun.c **** }
345:fun.c ****
346:fun.c **** void OSH_CLR_RED_LED_PIN(void)
347:fun.c **** {
1220 .LM120:
1221 /* prologue: frame size=0 */
1222 /* prologue end (size=0) */
348:fun.c **** * (volatile unsigned char *)(0x1B + 0x20) &= ~(1 << 2);
1224 .LM121:
1225 01a2 DA98 cbi 59-0x20,2
1226 /* epilogue: frame size=0 */
1227 01a4 0895 ret
1228 /* epilogue end (size=1) */
1229 /* function OSH_CLR_RED_LED_PIN size 2 (1) */
1232 .global OSH_CLR_GREEN_LED_PIN
1234 OSH_CLR_GREEN_LED_PIN:
349:fun.c **** }
350:fun.c ****
351:fun.c **** void OSH_CLR_GREEN_LED_PIN(void)
352:fun.c **** {
1236 .LM122:
1237 /* prologue: frame size=0 */
1238 /* prologue end (size=0) */
353:fun.c **** * (volatile unsigned char *)(0x1B + 0x20) &= ~(1 << 1);
1240 .LM123:
1241 01a6 D998 cbi 59-0x20,1
1242 /* epilogue: frame size=0 */
1243 01a8 0895 ret
1244 /* epilogue end (size=1) */
1245 /* function OSH_CLR_GREEN_LED_PIN size 2 (1) */
1250 .global crcByte
1252 crcByte:
354:fun.c **** }
355:fun.c ****
356:fun.c **** uint16_t crcByte(uint16_t oldCrc, uint8_t byte)
357:fun.c **** {
1254 .LM124:
1255 /* prologue: frame size=0 */
1256 /* prologue end (size=0) */
1257 01aa 262F mov r18,r22
358:fun.c ****
359:fun.c **** uint16_t *table = crcTable;
1259 .LM125:
1260 01ac E0E0 ldi r30,lo8(crcTable)
1261 01ae F0E0 ldi r31,hi8(crcTable)
360:fun.c **** uint16_t newCrc;
361:fun.c ****
362:fun.c **** asm ("eor %1,%B3\n"
363:fun.c **** "\tlsl %1\n"
364:fun.c **** "\tadc %B2, __zero_reg__\n"
365:fun.c **** "\tadd %A2, %1\n"
366:fun.c **** "\tadc %B2, __zero_reg__\n"
367:fun.c **** "\tlpm\n"
368:fun.c **** "\tmov %B0, %A3\n"
369:fun.c **** "\tmov %A0, r0\n"
370:fun.c **** "\tadiw r30,1\n"
371:fun.c **** "\tlpm\n"
372:fun.c **** "\teor %B0, r0" :
373:fun.c **** "=r"(newCrc), "+r"(byte), "+z"(table) : "r"(oldCrc));
374:fun.c **** return newCrc;
375:fun.c **** }
1263 .LM126:
1264 /* #APP */
1265 01b0 2927 eor r18,r25
1266 01b2 220F lsl r18
1267 01b4 F11D adc r31, __zero_reg__
1268 01b6 E20F add r30, r18
1269 01b8 F11D adc r31, __zero_reg__
1270 01ba C895 lpm
1271 01bc 982F mov r25, r24
1272 01be 802D mov r24, r0
1273 01c0 3196 adiw r30,1
1274 01c2 C895 lpm
1275 01c4 9025 eor r25, r0
1276 /* #NOAPP */
1277 /* epilogue: frame size=0 */
1278 01c6 0895 ret
1279 /* epilogue end (size=1) */
1280 /* function crcByte size 26 (25) */
1284 .global RandomLFSRGen
1286 RandomLFSRGen:
376:fun.c ****
377:fun.c **** uint16_t RandomLFSRGen(void)
378:fun.c **** {
1288 .LM127:
1289 /* prologue: frame size=0 */
1290 01c8 EF92 push r14
1291 01ca FF92 push r15
1292 01cc CF93 push r28
1293 01ce DF93 push r29
1294 /* prologue end (size=4) */
1295 .LBB3:
379:fun.c **** bool endbit;
380:fun.c **** uint16_t tmpShiftReg;
381:fun.c ****
382:fun.c **** { uint8_t nesc_atomic = AtomicStart();
1297 .LM128:
1298 01d0 0E94 0000 call AtomicStart
1299 01d4 282F mov r18,r24
383:fun.c **** {
384:fun.c **** tmpShiftReg = RandomLFSR_shiftReg;
1301 .LM129:
1302 01d6 C091 0000 lds r28,RandomLFSR_shiftReg
1303 01da D091 0000 lds r29,(RandomLFSR_shiftReg)+1
385:fun.c **** endbit = (tmpShiftReg & 0x8000) != 0;
1305 .LM130:
1306 01de 7E01 movw r14,r28
1307 01e0 8F2D mov r24,r15
1308 01e2 881F rol r24
1309 01e4 8827 clr r24
1310 01e6 881F rol r24
386:fun.c **** tmpShiftReg <<= 1;
1312 .LM131:
1313 01e8 CC0F lsl r28
1314 01ea DD1F rol r29
387:fun.c **** if (endbit) {
1316 .LM132:
1317 01ec 8823 tst r24
1318 01ee 21F0 breq .L68
388:fun.c **** tmpShiftReg ^= 0x100b;
1320 .LM133:
1321 01f0 8BE0 ldi r24,lo8(4107)
1322 01f2 90E1 ldi r25,hi8(4107)
1323 01f4 C827 eor r28,r24
1324 01f6 D927 eor r29,r25
1325 .L68:
389:fun.c **** }
390:fun.c **** tmpShiftReg++;
1327 .LM134:
1328 01f8 2196 adiw r28,1
391:fun.c **** RandomLFSR_shiftReg = tmpShiftReg;
1330 .LM135:
1331 01fa D093 0000 sts (RandomLFSR_shiftReg)+1,r29
1332 01fe C093 0000 sts RandomLFSR_shiftReg,r28
392:fun.c **** tmpShiftReg = tmpShiftReg ^ RandomLFSR_mask;
1334 .LM136:
1335 0202 8091 0000 lds r24,RandomLFSR_mask
1336 0206 9091 0000 lds r25,(RandomLFSR_mask)+1
1337 020a C827 eor r28,r24
1338 020c D927 eor r29,r25
393:fun.c **** }
394:fun.c **** AtomicEnd(nesc_atomic); }
1340 .LM137:
1341 020e 822F mov r24,r18
1342 0210 0E94 0000 call AtomicEnd
1343 .LBE3:
395:fun.c **** return tmpShiftReg;
396:fun.c **** }
1345 .LM138:
1346 0214 CE01 movw r24,r28
1347 /* epilogue: frame size=0 */
1348 0216 DF91 pop r29
1349 0218 CF91 pop r28
1350 021a FF90 pop r15
1351 021c EF90 pop r14
1352 021e 0895 ret
1353 /* epilogue end (size=5) */
1354 /* function RandomLFSRGen size 44 (35) */
1361 .comm RandomLFSR_shiftReg,2,1
1362 .comm RandomLFSR_initSeed,2,1
1363 .comm RandomLFSR_mask,2,1
1369 .text
1371 Letext:
1372 /* File "fun.c": code 285 = 0x011d ( 230), prologues 4, 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__
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/cc6jbaaa.s:68 .data:00000000 HPLPowerManagementM_disabled
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/cc6jbaaa.s:74 .progmem.data:00000000 crcTable
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/cc6jbaaa.s:335 .text:00000000 OSH_SET_GREEN_LED_PIN
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/cc6jbaaa.s:351 .text:00000004 OSH_SET_YELLOW_LED_PIN
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/cc6jbaaa.s:367 .text:00000008 OSH_SET_RED_LED_PIN
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/cc6jbaaa.s:383 .text:0000000c OSH_SET_FLASH_SELECT_PIN
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/cc6jbaaa.s:399 .text:00000010 OSH_MAKE_FLASH_CLK_OUTPUT
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/cc6jbaaa.s:415 .text:00000014 OSH_MAKE_FLASH_OUT_OUTPUT
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/cc6jbaaa.s:431 .text:00000018 OSH_MAKE_FLASH_SELECT_OUTPUT
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/cc6jbaaa.s:447 .text:0000001c OSH_CLR_SERIAL_ID_PIN
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/cc6jbaaa.s:463 .text:00000020 OSH_MAKE_SERIAL_ID_INPUT
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/cc6jbaaa.s:479 .text:00000024 OSH_MAKE_SPI_OC1C_INPUT
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/cc6jbaaa.s:495 .text:00000028 OSH_MAKE_MISO_INPUT
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/cc6jbaaa.s:511 .text:0000002c OSH_MAKE_CC_PCLK_OUTPUT
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/cc6jbaaa.s:527 .text:00000030 OSH_MAKE_CC_PDATA_OUTPUT
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/cc6jbaaa.s:543 .text:00000034 OSH_MAKE_CC_PALE_OUTPUT
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/cc6jbaaa.s:559 .text:00000038 OSH_MAKE_PW0_OUTPUT
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/cc6jbaaa.s:575 .text:0000003c OSH_MAKE_PW1_OUTPUT
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/cc6jbaaa.s:591 .text:00000040 OSH_MAKE_PW2_OUTPUT
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/cc6jbaaa.s:607 .text:00000044 OSH_MAKE_PW3_OUTPUT
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/cc6jbaaa.s:623 .text:00000048 OSH_MAKE_PW4_OUTPUT
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/cc6jbaaa.s:639 .text:0000004c OSH_MAKE_PW5_OUTPUT
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/cc6jbaaa.s:655 .text:00000050 OSH_MAKE_PW6_OUTPUT
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/cc6jbaaa.s:671 .text:00000054 OSH_MAKE_PW7_OUTPUT
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/cc6jbaaa.s:687 .text:00000058 OSH_MAKE_CC_CHP_OUT_INPUT
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/cc6jbaaa.s:703 .text:0000005c OSH_MAKE_GREEN_LED_OUTPUT
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/cc6jbaaa.s:719 .text:00000060 OSH_MAKE_YELLOW_LED_OUTPUT
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/cc6jbaaa.s:735 .text:00000064 OSH_MAKE_RED_LED_OUTPUT
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/cc6jbaaa.s:751 .text:00000068 RandomInit
*COM*:00000002 RandomLFSR_shiftReg
*COM*:00000002 RandomLFSR_initSeed
*COM*:00000002 RandomLFSR_mask
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/cc6jbaaa.s:815 .text:000000c6 OSH_SET_CC_PCLK_PIN
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/cc6jbaaa.s:831 .text:000000ca OSH_SET_CC_PDATA_PIN
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/cc6jbaaa.s:847 .text:000000ce OSH_SET_CC_PALE_PIN
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/cc6jbaaa.s:863 .text:000000d2 OSH_MAKE_MOSI_INPUT
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/cc6jbaaa.s:879 .text:000000d6 OSH_MAKE_SPI_SCK_INPUT
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/cc6jbaaa.s:895 .text:000000da OSH_CLR_CC_PALE_PIN
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/cc6jbaaa.s:911 .text:000000de OSH_CLR_CC_PDATA_PIN
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/cc6jbaaa.s:927 .text:000000e2 OSH_CLR_CC_PCLK_PIN
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/cc6jbaaa.s:943 .text:000000e6 OSH_MAKE_CC_PDATA_INPUT
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/cc6jbaaa.s:959 .text:000000ea OSH_READ_CC_PDATA_PIN
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/cc6jbaaa.s:986 .text:000000fa GetPowerLevel
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/cc6jbaaa.s:1063 .text:00000142 PowerAdjustment
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/cc6jbaaa.s:1125 .text:00000172 PowerManagementAdjust
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/cc6jbaaa.s:1170 .text:00000196 OSH_CLR_YELLOW_LED_PIN
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/cc6jbaaa.s:1186 .text:0000019a OSH_MAKE_MOSI_OUTPUT
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/cc6jbaaa.s:1202 .text:0000019e OSH_MAKE_MISO_OUTPUT
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/cc6jbaaa.s:1218 .text:000001a2 OSH_CLR_RED_LED_PIN
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/cc6jbaaa.s:1234 .text:000001a6 OSH_CLR_GREEN_LED_PIN
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/cc6jbaaa.s:1252 .text:000001aa crcByte
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/cc6jbaaa.s:1286 .text:000001c8 RandomLFSRGen
C:\DOCUME~1\xiapeng\LOCALS~1\Te
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -