📄 lc.lst
字号:
0307 940E05CC CALL int2fp
0309 933A ST R19,-Y
030A 932A ST R18,-Y
030B 931A ST R17,-Y
030C 930A ST R16,-Y
030D 940E0626 CALL add32fs
030F 940E0631 CALL sub32f
0311 01FE MOVW R30,R28
0312 8306 STD Z+6,R16
0313 8317 STD Z+7,R17
0314 8720 STD Z+8,R18
0315 8731 STD Z+9,R19
0316 01FE MOVW R30,R28
0317 8026 LDD R2,Z+6
0318 8037 LDD R3,Z+7
0319 8440 LDD R4,Z+8
031A 8451 LDD R5,Z+9
031B 925A ST R5,-Y
031C 924A ST R4,-Y
031D 923A ST R3,-Y
031E 922A ST R2,-Y
031F E508 LDI R16,0x58
0320 E010 LDI R17,0
0321 940E0542 CALL lpm32
0323 933A ST R19,-Y
0324 932A ST R18,-Y
0325 931A ST R17,-Y
0326 930A ST R16,-Y
0327 940E06E4 CALL cmp32f
0329 F0D4 BLT 0x0344
032A 01FE MOVW R30,R28
032B 8026 LDD R2,Z+6
032C 8037 LDD R3,Z+7
032D 8440 LDD R4,Z+8
032E 8451 LDD R5,Z+9
032F 925A ST R5,-Y
0330 924A ST R4,-Y
0331 923A ST R3,-Y
0332 922A ST R2,-Y
0333 E508 LDI R16,0x58
0334 E010 LDI R17,0
0335 940E0542 CALL lpm32
0337 933A ST R19,-Y
0338 932A ST R18,-Y
0339 931A ST R17,-Y
033A 930A ST R16,-Y
033B 940E0631 CALL sub32f
033D 940E0584 CALL fp2int
033F 01C8 MOVW R24,R16
0340 5080 SUBI R24,0
0341 4890 SBCI R25,0x80
0342 015C MOVW R10,R24
0343 C008 RJMP 0x034C
0344 01FE MOVW R30,R28
0345 8106 LDD R16,Z+6
0346 8117 LDD R17,Z+7
0347 8520 LDD R18,Z+8
0348 8531 LDD R19,Z+9
0349 940E0584 CALL fp2int
034B 0158 MOVW R10,R16
034C 92B00099 STS Cx+1,R11
034E 92A00098 STS Cx,R10
(0139)
(0140) LCD_write_string(3,1,itoa(buf,Cn,10));
0350 E08A LDI R24,0xA
0351 E090 LDI R25,0
0352 8399 STD Y+1,R25
0353 8388 STD Y+0,R24
0354 91200094 LDS R18,Cn
0356 91300095 LDS R19,Cn+1
0358 E600 LDI R16,0x60
0359 E010 LDI R17,0
035A 940E07B0 CALL _itoa
035C 8319 STD Y+1,R17
035D 8308 STD Y+0,R16
035E E021 LDI R18,1
035F E003 LDI R16,3
0360 DD92 RCALL _LCD_write_string
(0141) LCD_write_char(0,'p');
0361 E720 LDI R18,0x70
0362 E030 LDI R19,0
0363 2700 CLR R16
0364 2711 CLR R17
0365 DD15 RCALL _LCD_write_char
(0142) LCD_write_char(0,'F');
0366 E426 LDI R18,0x46
0367 E030 LDI R19,0
0368 2700 CLR R16
0369 2711 CLR R17
036A DD10 RCALL _LCD_write_char
036B 962A ADIW R28,0xA
036C 940E04EC CALL pop_gset3
036E 9508 RET
_calc_Lx:
f --> Y+2
036F 940E04F9 CALL push_gset3
0371 972A SBIW R28,0xA
(0143) }
(0144)
(0145)
(0146) void calc_Lx(void)
(0147) {
(0148) float f=1/(last_TCNT1*4)*1000000;
0372 9120009A LDS R18,last_TCNT1
0374 9130009B LDS R19,last_TCNT1+1
0376 E004 LDI R16,4
0377 E010 LDI R17,0
0378 940E04A9 CALL empy16s
037A 0198 MOVW R18,R16
037B E001 LDI R16,1
037C E010 LDI R17,0
037D 940E048F CALL div16u
037F 0118 MOVW R2,R16
0380 2444 CLR R4
0381 2455 CLR R5
0382 E440 LDI R20,0x40
0383 E452 LDI R21,0x42
0384 E06F LDI R22,0xF
0385 E070 LDI R23,0
0386 925A ST R5,-Y
0387 924A ST R4,-Y
0388 923A ST R3,-Y
0389 922A ST R2,-Y
038A 018A MOVW R16,R20
038B 019B MOVW R18,R22
038C 940E04B9 CALL empy32u
038E 940E05D2 CALL long2fp
0390 01FE MOVW R30,R28
0391 8302 STD Z+2,R16
0392 8313 STD Z+3,R17
0393 8324 STD Z+4,R18
0394 8335 STD Z+5,R19
(0149) Lx=1/(39.4384*f*f*(C1+Cn*1000000));
0395 E608 LDI R16,0x68
0396 E010 LDI R17,0
0397 940E0542 CALL lpm32
0399 933A ST R19,-Y
039A 932A ST R18,-Y
039B 931A ST R17,-Y
039C 930A ST R16,-Y
039D E600 LDI R16,0x60
039E E010 LDI R17,0
039F 940E0542 CALL lpm32
03A1 933A ST R19,-Y
03A2 932A ST R18,-Y
03A3 931A ST R17,-Y
03A4 930A ST R16,-Y
03A5 01FE MOVW R30,R28
03A6 8422 LDD R2,Z+10
03A7 8433 LDD R3,Z+11
03A8 8444 LDD R4,Z+12
03A9 8455 LDD R5,Z+13
03AA 925A ST R5,-Y
03AB 924A ST R4,-Y
03AC 923A ST R3,-Y
03AD 922A ST R2,-Y
03AE 940E0715 CALL empy32fs
03B0 01FE MOVW R30,R28
03B1 8422 LDD R2,Z+10
03B2 8433 LDD R3,Z+11
03B3 8444 LDD R4,Z+12
03B4 8455 LDD R5,Z+13
03B5 925A ST R5,-Y
03B6 924A ST R4,-Y
03B7 923A ST R3,-Y
03B8 922A ST R2,-Y
03B9 940E0715 CALL empy32fs
03BB 90200094 LDS R2,Cn
03BD 90300095 LDS R3,Cn+1
03BF 2444 CLR R4
03C0 2455 CLR R5
03C1 E440 LDI R20,0x40
03C2 E452 LDI R21,0x42
03C3 E06F LDI R22,0xF
03C4 E070 LDI R23,0
03C5 925A ST R5,-Y
03C6 924A ST R4,-Y
03C7 923A ST R3,-Y
03C8 922A ST R2,-Y
03C9 018A MOVW R16,R20
03CA 019B MOVW R18,R22
03CB 940E04B9 CALL empy32u
03CD E041 LDI R20,1
03CE E050 LDI R21,0
03CF E060 LDI R22,0
03D0 E070 LDI R23,0
03D1 0F04 ADD R16,R20
03D2 1F15 ADC R17,R21
03D3 1F26 ADC R18,R22
03D4 1F37 ADC R19,R23
03D5 940E05D2 CALL long2fp
03D7 933A ST R19,-Y
03D8 932A ST R18,-Y
03D9 931A ST R17,-Y
03DA 930A ST R16,-Y
03DB 940E0715 CALL empy32fs
03DD 940E068A CALL div32f
03DF 01FE MOVW R30,R28
03E0 8306 STD Z+6,R16
03E1 8317 STD Z+7,R17
03E2 8720 STD Z+8,R18
03E3 8731 STD Z+9,R19
03E4 01FE MOVW R30,R28
03E5 8026 LDD R2,Z+6
03E6 8037 LDD R3,Z+7
03E7 8440 LDD R4,Z+8
03E8 8451 LDD R5,Z+9
03E9 925A ST R5,-Y
03EA 924A ST R4,-Y
03EB 923A ST R3,-Y
03EC 922A ST R2,-Y
03ED E508 LDI R16,0x58
03EE E010 LDI R17,0
03EF 940E0542 CALL lpm32
03F1 933A ST R19,-Y
03F2 932A ST R18,-Y
03F3 931A ST R17,-Y
03F4 930A ST R16,-Y
03F5 940E06E4 CALL cmp32f
03F7 F0D4 BLT 0x0412
03F8 01FE MOVW R30,R28
03F9 8026 LDD R2,Z+6
03FA 8037 LDD R3,Z+7
03FB 8440 LDD R4,Z+8
03FC 8451 LDD R5,Z+9
03FD 925A ST R5,-Y
03FE 924A ST R4,-Y
03FF 923A ST R3,-Y
0400 922A ST R2,-Y
0401 E508 LDI R16,0x58
0402 E010 LDI R17,0
0403 940E0542 CALL lpm32
0405 933A ST R19,-Y
0406 932A ST R18,-Y
0407 931A ST R17,-Y
0408 930A ST R16,-Y
0409 940E0631 CALL sub32f
040B 940E0584 CALL fp2int
040D 01C8 MOVW R24,R16
040E 5080 SUBI R24,0
040F 4890 SBCI R25,0x80
0410 015C MOVW R10,R24
0411 C008 RJMP 0x041A
0412 01FE MOVW R30,R28
0413 8106 LDD R16,Z+6
0414 8117 LDD R17,Z+7
0415 8520 LDD R18,Z+8
0416 8531 LDD R19,Z+9
0417 940E0584 CALL fp2int
0419 0158 MOVW R10,R16
041A 92B00097 STS Lx+1,R11
041C 92A00096 STS Lx,R10
(0150)
(0151) LCD_write_string(3,1,itoa(buf,Cn,10));
041E E08A LDI R24,0xA
041F E090 LDI R25,0
0420 8399 STD Y+1,R25
0421 8388 STD Y+0,R24
0422 91200094 LDS R18,Cn
0424 91300095 LDS R19,Cn+1
0426 E600 LDI R16,0x60
0427 E010 LDI R17,0
0428 940E07B0 CALL _itoa
042A 8319 STD Y+1,R17
042B 8308 STD Y+0,R16
042C E021 LDI R18,1
042D E003 LDI R16,3
042E DCC4 RCALL _LCD_write_string
(0152) LCD_write_char(0,'u');
042F E725 LDI R18,0x75
0430 E030 LDI R19,0
0431 2700 CLR R16
0432 2711 CLR R17
0433 DC47 RCALL _LCD_write_char
(0153) LCD_write_char(0,'H');
0434 E428 LDI R18,0x48
0435 E030 LDI R19,0
0436 2700 CLR R16
0437 2711 CLR R17
0438 DC42 RCALL _LCD_write_char
0439 962A ADIW R28,0xA
043A 940E04EC CALL pop_gset3
043C 9508 RET
(0154) }
(0155)
(0156) /*--------------------------------延时函数--------------------------------*/
(0157) void delay_nus(unsigned char n) //N us延时函数
(0158) {
_delay_nus:
n --> R16
043D C001 RJMP 0x043F
(0159) while (--n)
(0160) {
(0161) asm("nop");
043E 0000 NOP
043F 2F80 MOV R24,R16
0440 5081 SUBI R24,1
0441 2F08 MOV R16,R24
0442 2388 TST R24
0443 F7D1 BNE 0x043E
0444 9508 RET
(0162) }
(0163) }
(0164)
(0165) void delay_1ms(void) //1ms延时函数
(0166) {
(0167) unsigned char i=10,j=100;
_delay_1ms:
i --> R16
j --> R18
0445 E00A LDI R16,0xA
0446 E624 LDI R18,0x64
0447 C006 RJMP 0x044E
(0168) while (--i)
(0169) while (--j)
(0170) asm("nop");
0448 0000 NOP
0449 2F82 MOV R24,R18
044A 5081 SUBI R24,1
044B 2F28 MOV R18,R24
044C 2388 TST R24
044D F7D1 BNE 0x0448
044E 2F80 MOV R24,R16
044F 5081 SUBI R24,1
0450 2F08 MOV R16,R24
0451 2388 TST R24
0452 F7B1 BNE 0x0449
0453 9508 RET
_delay_nms:
n --> R20
0454 940E04FD CALL push_gset1
0456 2F40 MOV R20,R16
(0171) }
(0172)
(0173) void delay_nms(unsigned char n) //N ms延时函数
(0174) {
0457 C001 RJMP 0x0459
(0175) while (--n)
(0176) delay_1ms();
FILE: <library>
0458 DFEC RCALL _delay_1ms
0459 2F84 MOV R24,R20
045A 5081 SUBI R24,1
045B 2F48 MOV R20,R24
045C 2388 TST R24
045D F7D1 BNE 0x0458
045E 940E0500 CALL pop_gset1
0460 9508 RET
_strcpy:
0461 2FA0 MOV R26,R16
0462 2FB1 MOV R27,R17
0463 2FE2 MOV R30,R18
0464 2FF3 MOV R31,R19
0465 9001 LD R0,Z+
0466 920D ST R0,X+
0467 2000 TST R0
0468 F7E1 BNE 0x0465
0469 9508 RET
push_arg4:
046A 933A ST R19,-Y
046B 932A ST R18,-Y
push_arg2:
046C 931A ST R17,-Y
046D 930A ST R16,-Y
046E 9508 RET
mod16s:
046F 9468 BSET 6
0470 92DA ST R13,-Y
0471 2ED1 MOV R13,R17
0472 C004 RJMP 0x0477
div16s:
0473 94E8 BCLR 6
0474 92DA ST R13,-Y
0475 2ED1 MOV R13,R17
0476 26D3 EOR R13,R19
0477 FF17 SBRS R17,7
0478 C004 RJMP 0x047D
0479 9510 COM R17
047A 9500 COM R16
047B 5F0F SUBI R16,0xFF
047C 4F1F SBCI R17,0xFF
047D FF37 SBRS R19,7
047E C004 RJMP 0x0483
047F 9530 COM R19
0480 9520 COM R18
0481 5F2F SUBI R18,0xFF
0482 4F3F SBCI R19,0xFF
0483 940E0490 CALL xdiv16u
0485 FED7 SBRS R13,7
0486 C004 RJMP 0x048B
0487 9510 COM R17
0488 9500 COM R16
0489 5F0F SUBI R16,0xFF
048A 4F1F SBCI R17,0xFF
048B 90D9 LD R13,Y+
048C 9508 RET
mod16u:
048D 9468 BSET 6
048E C001 RJMP xdiv16u
div16u:
048F 94E8 BCLR 6
xdiv16u:
0490 92EA ST R14,-Y
0491 92FA ST R15,-Y
0492 938A ST R24,-Y
0493 24EE CLR R14
0494 24FF CLR R15
0495 E180 LDI R24,0x10
0496 0F00 LSL R16
0497 1F11 ROL R17
0498 1CEE ROL R14
0499 1CFF ROL R15
049A 16E2 CP R14,R18
049B 06F3 CPC R15,R19
049C F018 BCS 0x04A0
049D 1AE2 SUB R14,R18
049E 0AF3 SBC R15,R19
049F 9503 INC R16
04A0 958A DEC R24
04A1 F7A1 BNE 0x0496
04A2 F416 BRTC 0x04A5
04A3 2D0E MOV R16,R14
04A4 2D1F MOV R17,R15
04A5 9189 LD R24,Y+
04A6 90F9 LD R15,Y+
04A7 90E9 LD R14,Y+
04A8 9508 RET
empy16s:
04A9 920A ST R0,-Y
04AA 921A ST R1,-Y
04AB 938A ST R24,-Y
04AC 939A ST R25,-Y
04AD 9F02 MUL R16,R18
04AE 01C0 MOVW R24,R0
04AF 9F12 MUL R17,R18
04B0 0D90 ADD R25,R0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -