📄 ad2543.lst
字号:
0381 932A ST R18,-Y
0382 931A ST R17,-Y
0383 930A ST R16,-Y
0384 91000100 LDS R16,vol16bit
0386 91100101 LDS R17,vol16bit+1
0388 9516 LSR R17
0389 9507 ROR R16
038A 940E04E5 CALL int2fp
038C 933A ST R19,-Y
038D 932A ST R18,-Y
038E 931A ST R17,-Y
038F 930A ST R16,-Y
0390 940E0609 CALL empy32fs
0392 91000100 LDS R16,vol16bit
0394 91100101 LDS R17,vol16bit+1
0396 7001 ANDI R16,1
0397 7010 ANDI R17,0
0398 940E04E5 CALL int2fp
039A 933A ST R19,-Y
039B 932A ST R18,-Y
039C 931A ST R17,-Y
039D 930A ST R16,-Y
039E 940E053F CALL add32fs
03A0 E80C LDI R16,0x8C
03A1 E010 LDI R17,0
03A2 940E0489 CALL lpm32
03A4 933A ST R19,-Y
03A5 932A ST R18,-Y
03A6 931A ST R17,-Y
03A7 930A ST R16,-Y
03A8 940E05A0 CALL div32fs
03AA 940E060C CALL empy32f
03AC 93100112 STS voltemp+1,R17
03AE 93000111 STS voltemp,R16
03B0 93300114 STS voltemp+3,R19
03B2 93200113 STS voltemp+2,R18
03B4 940E049D CALL fp2int
03B6 93100110 STS vint+1,R17
03B8 9300010F STS vint,R16
03BA 0118 MOVW R2,R16
03BB 8239 STD Y+1,R3
03BC 8228 STD Y+0,R2
03BD E025 LDI R18,5
03BE E002 LDI R16,2
03BF DDD4 RCALL _LCD_DisplayInt
03C0 E001 LDI R16,1
03C1 E010 LDI R17,0
03C2 DCD5 RCALL _delay_nms
03C3 CFAB RJMP 0x036F
03C4 9622 ADIW R28,2
03C5 9508 RET
push_arg4:
03C6 933A ST R19,-Y
03C7 932A ST R18,-Y
push_arg2:
03C8 931A ST R17,-Y
03C9 930A ST R16,-Y
03CA 9508 RET
mod16u:
03CB 9468 BSET 6
03CC C001 RJMP xdiv16u
div16u:
03CD 94E8 BCLR 6
xdiv16u:
03CE 92EA ST R14,-Y
03CF 92FA ST R15,-Y
03D0 938A ST R24,-Y
03D1 24EE CLR R14
03D2 24FF CLR R15
03D3 E180 LDI R24,0x10
03D4 0F00 LSL R16
03D5 1F11 ROL R17
03D6 1CEE ROL R14
03D7 1CFF ROL R15
03D8 16E2 CP R14,R18
03D9 06F3 CPC R15,R19
03DA F018 BCS 0x03DE
03DB 1AE2 SUB R14,R18
03DC 0AF3 SBC R15,R19
03DD 9503 INC R16
03DE 958A DEC R24
03DF F7A1 BNE 0x03D4
03E0 F416 BRTC 0x03E3
03E1 2D0E MOV R16,R14
03E2 2D1F MOV R17,R15
03E3 9189 LD R24,Y+
03E4 90F9 LD R15,Y+
03E5 90E9 LD R14,Y+
03E6 9508 RET
div32u:
03E7 94E8 BCLR 6
03E8 C001 RJMP 0x03EA
mod32u:
03E9 9468 BSET 6
03EA D02F RCALL long_div_prolog
03EB 24CC CLR R12
03EC C008 RJMP 0x03F5
div32s:
03ED 94E8 BCLR 6
03EE C001 RJMP 0x03F0
mod32s:
03EF 9468 BSET 6
03F0 D029 RCALL long_div_prolog
03F1 FD37 SBRC R19,7
03F2 D053 RCALL neg_R16_R19
03F3 FDB7 SBRC R27,7
03F4 D05A RCALL neg_R24_R27
03F5 2477 CLR R7
03F6 2488 CLR R8
03F7 2499 CLR R9
03F8 24AA CLR R10
03F9 24BB CLR R11
03FA D041 RCALL tst_R16_R19
03FB F0C1 BEQ 0x0414
03FC D044 RCALL tst_R24_R27
03FD F0B1 BEQ 0x0414
03FE E2E8 LDI R30,0x28
03FF 0F00 LSL R16
0400 1F11 ROL R17
0401 1F22 ROL R18
0402 1F33 ROL R19
0403 1C77 ROL R7
0404 1C88 ROL R8
0405 1C99 ROL R9
0406 1CAA ROL R10
0407 1CBB ROL R11
0408 1688 CP R8,R24
0409 0699 CPC R9,R25
040A 06AA CPC R10,R26
040B 06BB CPC R11,R27
040C F028 BCS 0x0412
040D 1A88 SUB R8,R24
040E 0A99 SBC R9,R25
040F 0AAA SBC R10,R26
0410 0ABB SBC R11,R27
0411 9503 INC R16
0412 95EA DEC R30
0413 F759 BNE 0x03FF
0414 F426 BRTC 0x0419
0415 2D08 MOV R16,R8
0416 2D19 MOV R17,R9
0417 2D2A MOV R18,R10
0418 2D3B MOV R19,R11
0419 C013 RJMP long_div_epilog
long_div_prolog:
041A 927A ST R7,-Y
041B 928A ST R8,-Y
041C 929A ST R9,-Y
041D 92AA ST R10,-Y
041E 92BA ST R11,-Y
041F 92CA ST R12,-Y
0420 93EA ST R30,-Y
0421 938A ST R24,-Y
0422 939A ST R25,-Y
0423 93AA ST R26,-Y
0424 93BA ST R27,-Y
0425 858B LDD R24,Y+11
0426 859C LDD R25,Y+12
0427 85AD LDD R26,Y+13
0428 85BE LDD R27,Y+14
0429 2EC3 MOV R12,R19
042A F00E BRTS 0x042C
042B 26CB EOR R12,R27
042C 9508 RET
long_div_epilog:
042D FCC7 SBRC R12,7
042E D017 RCALL neg_R16_R19
042F 91B9 LD R27,Y+
0430 91A9 LD R26,Y+
0431 9199 LD R25,Y+
0432 9189 LD R24,Y+
0433 91E9 LD R30,Y+
0434 90C9 LD R12,Y+
0435 90B9 LD R11,Y+
0436 90A9 LD R10,Y+
0437 9099 LD R9,Y+
0438 9089 LD R8,Y+
0439 9079 LD R7,Y+
043A 9624 ADIW R28,4
043B 9508 RET
tst_R16_R19:
043C 2FE0 MOV R30,R16
043D 2BE1 OR R30,R17
043E 2BE2 OR R30,R18
043F 2BE3 OR R30,R19
0440 9508 RET
tst_R24_R27:
0441 2FE8 MOV R30,R24
0442 2BE9 OR R30,R25
0443 2BEA OR R30,R26
0444 2BEB OR R30,R27
0445 9508 RET
neg_R16_R19:
0446 9500 COM R16
0447 9510 COM R17
0448 9520 COM R18
0449 9530 COM R19
044A 5F0F SUBI R16,0xFF
044B 4F1F SBCI R17,0xFF
044C 4F2F SBCI R18,0xFF
044D 4F3F SBCI R19,0xFF
044E 9508 RET
neg_R24_R27:
044F 9580 COM R24
0450 9590 COM R25
0451 95A0 COM R26
0452 95B0 COM R27
0453 5F8F SUBI R24,0xFF
0454 4F9F SBCI R25,0xFF
0455 4FAF SBCI R26,0xFF
0456 4FBF SBCI R27,0xFF
0457 9508 RET
pop_gset2:
0458 E0E2 LDI R30,2
0459 940C046D JMP pop
pop_gset3:
045B E0E4 LDI R30,4
045C 940C046D JMP pop
pop_gset5:
045E 27EE CLR R30
045F 940C046D JMP pop
push_gset5:
0461 92FA ST R15,-Y
0462 92EA ST R14,-Y
push_gset4:
0463 92DA ST R13,-Y
0464 92CA ST R12,-Y
push_gset3:
0465 92BA ST R11,-Y
0466 92AA ST R10,-Y
push_gset2:
0467 937A ST R23,-Y
0468 936A ST R22,-Y
push_gset1:
0469 935A ST R21,-Y
046A 934A ST R20,-Y
046B 9508 RET
pop_gset1:
046C E0E1 LDI R30,1
pop:
046D 9149 LD R20,Y+
046E 9159 LD R21,Y+
046F FDE0 SBRC R30,0
0470 9508 RET
0471 9169 LD R22,Y+
0472 9179 LD R23,Y+
0473 FDE1 SBRC R30,1
0474 9508 RET
0475 90A9 LD R10,Y+
0476 90B9 LD R11,Y+
0477 FDE2 SBRC R30,2
0478 9508 RET
0479 90C9 LD R12,Y+
047A 90D9 LD R13,Y+
047B FDE3 SBRC R30,3
047C 9508 RET
047D 90E9 LD R14,Y+
047E 90F9 LD R15,Y+
047F 9508 RET
neg32:
0480 9500 COM R16
0481 9510 COM R17
0482 9520 COM R18
0483 9530 COM R19
0484 5F0F SUBI R16,0xFF
0485 4F1F SBCI R17,0xFF
0486 4F2F SBCI R18,0xFF
0487 4F3F SBCI R19,0xFF
0488 9508 RET
lpm32:
0489 93EA ST R30,-Y
048A 93FA ST R31,-Y
048B 920A ST R0,-Y
048C 2FE0 MOV R30,R16
048D 2FF1 MOV R31,R17
048E 95C8 LPM
048F 2D00 MOV R16,R0
0490 9631 ADIW R30,1
0491 95C8 LPM
0492 2D10 MOV R17,R0
0493 9631 ADIW R30,1
0494 95C8 LPM
0495 2D20 MOV R18,R0
0496 9631 ADIW R30,1
0497 95C8 LPM
0498 2D30 MOV R19,R0
0499 9009 LD R0,Y+
049A 91F9 LD R31,Y+
049B 91E9 LD R30,Y+
049C 9508 RET
fp2int:
049D 940E0656 CALL savfacc1
049F D014 RCALL FTOI
04A0 2F02 MOV R16,R18
04A1 2F13 MOV R17,R19
04A2 FD87 SBRC R24,7
04A3 C002 RJMP nojump1
04A4 940C0659 JMP restorefacc1
nojump1:
04A6 9510 COM R17
04A7 9501 NEG R16
04A8 4F1F SBCI R17,0xFF
04A9 940C0659 JMP restorefacc1
fp2long:
04AB 940E0656 CALL savfacc1
04AD D008 RCALL FTOL
04AE FF87 SBRS R24,7
04AF C002 RJMP nojump2
04B0 940E0480 CALL neg32
nojump2:
04B2 940C0659 JMP restorefacc1
FTOI:
04B4 E0BE LDI R27,0xE
04B5 C001 RJMP 0x04B7
FTOL:
04B6 E1BE LDI R27,0x1E
04B7 940E065C CALL unpackfacc1
04B9 F069 BEQ 0x04C7
04BA 1BB3 SUB R27,R19
04BB F009 BEQ 0x04BD
04BC F472 BPL 0x04CB
04BD 2388 TST R24
04BE F022 BMI 0x04C3
04BF E010 LDI R17,0
04C0 E908 LDI R16,0x98
04C1 940C0489 JMP lpm32
04C3 E010 LDI R17,0
04C4 E90E LDI R16,0x9E
04C5 940C0489 JMP lpm32
04C7 E010 LDI R17,0
04C8 E90C LDI R16,0x9C
04C9 940C0489 JMP lpm32
04CB 9533 INC R19
04CC F3D2 BMI 0x04C7
04CD E030 LDI R19,0
04CE 50B8 SUBI R27,0x8
04CF F452 BPL 0x04DA
04D0 5FB8 SUBI R27,0xF8
04D1 2F32 MOV R19,R18
04D2 2F21 MOV R18,R17
04D3 2F10 MOV R17,R16
04D4 E800 LDI R16,0x80
04D5 C006 RJMP 0x04DC
04D6 2F01 MOV R16,R17
04D7 2F12 MOV R17,R18
04D8 E020 LDI R18,0
04D9 50B8 SUBI R27,0x8
04DA 30B8 CPI R27,0x8
04DB F7D0 BCC 0x04D6
04DC 23BB TST R27
04DD F031 BEQ 0x04E4
04DE 9536 LSR R19
04DF 9527 ROR R18
04E0 9517 ROR R17
04E1 9507 ROR R16
04E2 95BA DEC R27
04E3 F7D1 BNE 0x04DE
04E4 9508 RET
int2fp:
04E5 2722 CLR R18
04E6 FD17 SBRC R17,7
04E7 9520 COM R18
04E8 2733 CLR R19
04E9 FD27 SBRC R18,7
04EA 9530 COM R19
long2fp:
04EB 940E0656 CALL savfacc1
04ED D002 RCALL ITOF
04EE 940C0659 JMP restorefacc1
ITOF:
04F0 2788 CLR R24
04F1 2333 TST R19
04F2 F41A BPL 0x04F6
04F3 940E0480 CALL neg32
04F5 9580 COM R24
04F6 2FB0 MOV R27,R16
04F7 2BB1 OR R27,R17
04F8 2BB2 OR R27,R18
04F9 2BB3 OR R27,R19
04FA F411 BNE 0x04FD
04FB 940C0672 JMP minres
04FD E1B6 LDI R27,0x16
04FE C005 RJMP itof2
04FF 95B3 INC R27
0500 9536 LSR R19
0501 9527 ROR R18
0502 9517 ROR R17
0503 9507 ROR R16
itof2:
0504 2333 TST R19
0505 F7C9 BNE 0x04FF
itof3:
0506 2322 TST R18
0507 F449 BNE 0x0511
0508 50B8 SUBI R27,0x8
0509 2F21 MOV R18,R17
050A 2F10 MOV R17,R16
050B E000 LDI R16,0
050C CFF9 RJMP itof3
050D 95BA DEC R27
050E 0F00 LSL R16
050F 1F11 ROL R17
0510 1F22 ROL R18
0511 F7DA BPL 0x050D
0512 2F3B MOV R19,R27
0513 940C069C JMP repack
save_floatregs:
0515 92DA ST R13,-Y
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -