📄 ad.lst
字号:
03EF D002 RCALL sub32f
03F0 940C02D8 JMP push_arg4
sub32f:
03F2 940E03E4 CALL float_prolog
03F4 D009 RCALL FSUB
03F5 940C03DD JMP float_epilog
fret2:
03F7 2F8A MOV R24,R26
03F8 2F39 MOV R19,R25
03F9 2D24 MOV R18,R4
03FA 2D13 MOV R17,R3
03FB 2D02 MOV R16,R2
03FC 940C0569 JMP repack
FSUB:
03FE 5890 SUBI R25,0x80
FADD:
03FF 940E0557 CALL unpack
0401 3890 CPI R25,0x80
0402 F3C9 BEQ 0x03FC
0403 3830 CPI R19,0x80
0404 F391 BEQ 0x03F7
0405 2FB3 MOV R27,R19
0406 1BB9 SUB R27,R25
0407 F3A3 BVS 0x03FC
0408 F02A BMI 0x040E
0409 F439 BNE 0x0411
040A 1502 CP R16,R2
040B 0513 CPC R17,R3
040C 0524 CPC R18,R4
040D F418 BCC 0x0411
040E 940E054B CALL swapacc
0410 CFF4 RJMP 0x0405
0411 31B8 CPI R27,0x18
0412 F018 BCS 0x0416
0413 2422 CLR R2
0414 2433 CLR R3
0415 2444 CLR R4
0416 30B8 CPI R27,0x8
0417 F028 BCS 0x041D
0418 2C23 MOV R2,R3
0419 2C34 MOV R3,R4
041A 2444 CLR R4
041B 50B8 SUBI R27,0x8
041C CFF9 RJMP 0x0416
041D 23BB TST R27
041E F029 BEQ 0x0424
041F 9446 LSR R4
0420 9437 ROR R3
0421 9427 ROR R2
0422 95BA DEC R27
0423 F7D9 BNE 0x041F
0424 2FB8 MOV R27,R24
0425 27BA EOR R27,R26
0426 F04A BMI 0x0430
0427 D018 RCALL 0x0440
0428 F698 BCC 0x03FC
0429 9527 ROR R18
042A 9517 ROR R17
042B 9507 ROR R16
042C 5F3F SUBI R19,0xFF
042D F673 BVC 0x03FC
042E 940C0538 JMP maxres
0430 D013 RCALL usub24
0431 F411 BNE 0x0434
0432 940C053F JMP minres
0434 F410 BCC 0x0437
0435 940E0532 CALL negmant
0437 2322 TST R18
0438 F21A BMI 0x03FC
0439 0F00 LSL R16
043A 1F11 ROL R17
043B 1F22 ROL R18
043C 5031 SUBI R19,1
043D F7CB BVC 0x0437
043E 940C0538 JMP maxres
0440 0D02 ADD R16,R2
0441 1D13 ADC R17,R3
0442 1D24 ADC R18,R4
0443 9508 RET
usub24:
0444 1902 SUB R16,R2
0445 0913 SBC R17,R3
0446 0924 SBC R18,R4
0447 9508 RET
div32fs:
0448 D002 RCALL div32f
0449 940C02D8 JMP push_arg4
div32f:
044B 940E03E4 CALL float_prolog
044D D023 RCALL FDIV
044E 940C03DD JMP float_epilog
0450 93BA ST R27,-Y
0451 24DD CLR R13
0452 24EE CLR R14
0453 24FF CLR R15
0454 E1B8 LDI R27,0x18
0455 1502 CP R16,R2
0456 0513 CPC R17,R3
0457 0524 CPC R18,R4
0458 F028 BCS 0x045E
0459 1902 SUB R16,R2
045A 0913 SBC R17,R3
045B 0924 SBC R18,R4
045C 9408 BSET 0
045D C001 RJMP 0x045F
045E 9488 BCLR 0
045F 1CDD ROL R13
0460 1CEE ROL R14
0461 1CFF ROL R15
0462 0F00 LSL R16
0463 1F11 ROL R17
0464 1F22 ROL R18
0465 95BA DEC R27
0466 F771 BNE 0x0455
0467 2D0D MOV R16,R13
0468 2D1E MOV R17,R14
0469 2D2F MOV R18,R15
046A 91B9 LD R27,Y+
046B 9508 RET
fdiv10:
046C 2422 CLR R2
046D 2433 CLR R3
046E E2B0 LDI R27,0x20
046F 2E4B MOV R4,R27
0470 E491 LDI R25,0x41
FDIV:
0471 2399 TST R25
0472 F129 BEQ 0x0498
0473 2333 TST R19
0474 F151 BEQ 0x049F
0475 940E0557 CALL unpack
0477 F139 BEQ 0x049F
0478 278A EOR R24,R26
0479 9408 BSET 0
047A 0B39 SBC R19,R25
047B F0EB BVS 0x0499
047C 9446 LSR R4
047D 9437 ROR R3
047E 9427 ROR R2
047F 9526 LSR R18
0480 9517 ROR R17
0481 9507 ROR R16
0482 DFCD RCALL 0x0450
0483 2322 TST R18
0484 F02A BMI 0x048A
0485 0F00 LSL R16
0486 1F11 ROL R17
0487 1F22 ROL R18
0488 5031 SUBI R19,1
0489 F07B BVS 0x0499
048A 2FB0 MOV R27,R16
048B 95B6 LSR R27
048C F048 BCS 0x0496
048D 2300 TST R16
048E F43A BPL 0x0496
048F 2311 TST R17
0490 F42A BPL 0x0496
0491 E0B1 LDI R27,1
0492 0F0B ADD R16,R27
0493 27BB CLR R27
0494 1F1B ADC R17,R27
0495 1F2B ADC R18,R27
0496 940C0569 JMP repack
0498 C006 RJMP 0x049F
0499 E7BF LDI R27,0x7F
049A 2F3B MOV R19,R27
049B 2B2B OR R18,R27
049C EF0F LDI R16,0xFF
049D EF1F LDI R17,0xFF
049E 9508 RET
049F 2700 CLR R16
04A0 2711 CLR R17
04A1 2722 CLR R18
04A2 2733 CLR R19
04A3 2788 CLR R24
04A4 9508 RET
cmp32f:
04A5 940E03E4 CALL float_prolog
04A7 D002 RCALL FLTCP
04A8 940C03DD JMP float_epilog
FLTCP:
04AA D002 RCALL 0x04AD
04AB 23BB TST R27
04AC 9508 RET
04AD 2333 TST R19
04AE F082 BMI 0x04BF
04AF 2399 TST R25
04B0 F042 BMI 0x04B9
04B1 1739 CP R19,R25
04B2 F040 BCS 0x04BB
04B3 F429 BNE 0x04B9
04B4 1502 CP R16,R2
04B5 0513 CPC R17,R3
04B6 0524 CPC R18,R4
04B7 F018 BCS 0x04BB
04B8 F021 BEQ 0x04BD
04B9 E0B1 LDI R27,1
04BA 9508 RET
04BB EFBF LDI R27,0xFF
04BC 9508 RET
04BD 27BB CLR R27
04BE 9508 RET
04BF 2399 TST R25
04C0 F7D2 BPL 0x04BB
04C1 1739 CP R19,R25
04C2 F3B0 BCS 0x04B9
04C3 F7B9 BNE 0x04BB
04C4 1502 CP R16,R2
04C5 0513 CPC R17,R3
04C6 0524 CPC R18,R4
04C7 F388 BCS 0x04B9
04C8 F3A1 BEQ 0x04BD
04C9 CFF1 RJMP 0x04BB
04CA E7BF LDI R27,0x7F
04CB 2F3B MOV R19,R27
04CC 2B2B OR R18,R27
04CD EF0F LDI R16,0xFF
04CE EF1F LDI R17,0xFF
04CF 9508 RET
04D0 2700 CLR R16
04D1 2711 CLR R17
04D2 2722 CLR R18
04D3 2733 CLR R19
04D4 2788 CLR R24
04D5 9508 RET
empy32fs:
04D6 D002 RCALL empy32f
04D7 940C02D8 JMP push_arg4
empy32f:
04D9 940E03E4 CALL float_prolog
04DB 920F PUSH R0
04DC 92CF PUSH R12
04DD D004 RCALL eFMUL
04DE 90CF POP R12
04DF 900F POP R0
04E0 940C03DD JMP float_epilog
eFMUL:
04E2 940E0557 CALL unpack
04E4 F359 BEQ 0x04D0
04E5 3890 CPI R25,0x80
04E6 F349 BEQ 0x04D0
04E7 278A EOR R24,R26
04E8 9408 BSET 0
04E9 1F39 ADC R19,R25
04EA F2FB BVS 0x04CA
04EB D00E RCALL eumul24
04EC 2D2F MOV R18,R15
04ED 2D1E MOV R17,R14
04EE 2D0D MOV R16,R13
04EF 2322 TST R18
04F0 F02A BMI 0x04F6
04F1 953A DEC R19
04F2 0CCC LSL R12
04F3 1F00 ROL R16
04F4 1F11 ROL R17
04F5 1F22 ROL R18
04F6 5F3F SUBI R19,0xFF
04F7 F293 BVS 0x04CA
04F8 940C0569 JMP repack
eumul24:
04FA 9D22 MUL R18,R2
04FB 2CC0 MOV R12,R0
04FC 2CD1 MOV R13,R1
04FD 9D24 MUL R18,R4
04FE 2CE0 MOV R14,R0
04FF 2CF1 MOV R15,R1
0500 9D12 MUL R17,R2
0501 0CC1 ADD R12,R1
0502 1EDB ADC R13,R27
0503 1EEB ADC R14,R27
0504 1EFB ADC R15,R27
0505 9D03 MUL R16,R3
0506 0CC1 ADD R12,R1
0507 1EDB ADC R13,R27
0508 1EEB ADC R14,R27
0509 1EFB ADC R15,R27
050A 9D13 MUL R17,R3
050B 0CC0 ADD R12,R0
050C 1CD1 ADC R13,R1
050D 1EEB ADC R14,R27
050E 1EFB ADC R15,R27
050F 9D04 MUL R16,R4
0510 0CC0 ADD R12,R0
0511 1CD1 ADC R13,R1
0512 1EEB ADC R14,R27
0513 1EFB ADC R15,R27
0514 9D23 MUL R18,R3
0515 0CD0 ADD R13,R0
0516 1CE1 ADC R14,R1
0517 1EFB ADC R15,R27
0518 9D14 MUL R17,R4
0519 0CD0 ADD R13,R0
051A 1CE1 ADC R14,R1
051B 1EFB ADC R15,R27
051C 20CC TST R12
051D F422 BPL 0x0522
051E 9488 BCLR 0
051F 1EDB ADC R13,R27
0520 1EEB ADC R14,R27
0521 1EFB ADC R15,R27
0522 9508 RET
savfacc1:
0523 938A ST R24,-Y
0524 93BA ST R27,-Y
0525 9508 RET
restorefacc1:
0526 91B9 LD R27,Y+
0527 9189 LD R24,Y+
0528 9508 RET
unpackfacc1:
0529 2F83 MOV R24,R19
052A 7880 ANDI R24,0x80
052B 0F22 LSL R18
052C 1F33 ROL R19
052D 5830 SUBI R19,0x80
052E 9408 BSET 0
052F 9527 ROR R18
0530 3830 CPI R19,0x80
0531 9508 RET
negmant:
0532 9510 COM R17
0533 9520 COM R18
0534 9501 NEG R16
0535 4F1F SBCI R17,0xFF
0536 4F2F SBCI R18,0xFF
0537 9508 RET
maxres:
0538 E7BF LDI R27,0x7F
0539 2F3B MOV R19,R27
053A 2B2B OR R18,R27
053B EFBF LDI R27,0xFF
053C 2F0B MOV R16,R27
053D 2F1B MOV R17,R27
053E 9508 RET
minres:
053F 2700 CLR R16
0540 2711 CLR R17
0541 2722 CLR R18
0542 2733 CLR R19
0543 2788 CLR R24
0544 9508 RET
ac1toac2:
0545 2F93 MOV R25,R19
0546 2E20 MOV R2,R16
0547 2E31 MOV R3,R17
0548 2E42 MOV R4,R18
0549 2FA8 MOV R26,R24
054A 9508 RET
swapacc:
054B 922A ST R2,-Y
054C 923A ST R3,-Y
054D 924A ST R4,-Y
054E 939A ST R25,-Y
054F 93AA ST R26,-Y
0550 DFF4 RCALL ac1toac2
0551 9189 LD R24,Y+
0552 9139 LD R19,Y+
0553 9129 LD R18,Y+
0554 9119 LD R17,Y+
0555 9109 LD R16,Y+
0556 9508 RET
unpack:
0557 2F83 MOV R24,R19
0558 E8B0 LDI R27,0x80
0559 0F22 LSL R18
055A 1F33 ROL R19
055B 273B EOR R19,R27
055C 0FBB LSL R27
055D 9527 ROR R18
055E 7880 ANDI R24,0x80
055F 2FA9 MOV R26,R25
0560 E8B0 LDI R27,0x80
0561 0C44 LSL R4
0562 1F99 ROL R25
0563 279B EOR R25,R27
0564 0FBB LSL R27
0565 9447 ROR R4
0566 78A0 ANDI R26,0x80
0567 3830 CPI R19,0x80
0568 9508 RET
repack:
0569 0F22 LSL R18
056A E8B0 LDI R27,0x80
056B 27B3 EOR R27,R19
056C 0F88 LSL R24
056D 95B7 ROR R27
056E 9527 ROR R18
056F 2F3B MOV R19,R27
0570 9508 RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -