📄 test_1602.lst
字号:
stk2arg1:
05EB 842A LDD R2,Y+10
05EC 843B LDD R3,Y+11
05ED 844C LDD R4,Y+12
05EE 859D LDD R25,Y+13
05EF 9508 RET
stk2arg0:
05F0 850E LDD R16,Y+14
05F1 851F LDD R17,Y+15
05F2 8928 LDD R18,Y+16
05F3 8939 LDD R19,Y+17
05F4 9508 RET
float_epilog:
05F5 DFEA RCALL restore_floatregs
05F6 920F PUSH R0
05F7 B60F IN R0,0x3F
05F8 9628 ADIW R28,0x8
05F9 BE0F OUT 0x3F,R0
05FA 900F POP R0
05FB 9508 RET
float_prolog:
05FC DFD8 RCALL save_floatregs
05FD DFF2 RCALL stk2arg0
05FE CFEC RJMP stk2arg1
add32fs:
05FF D002 RCALL add32f
0600 940C04CC JMP push_arg4
add32f:
0602 940E05FC CALL float_prolog
0604 D012 RCALL FADD
0605 940C05F5 JMP float_epilog
sub32fs:
0607 D002 RCALL sub32f
0608 940C04CC JMP push_arg4
sub32f:
060A 940E05FC CALL float_prolog
060C D009 RCALL FSUB
060D 940C05F5 JMP float_epilog
fret2:
060F 2F8A MOV R24,R26
0610 2F39 MOV R19,R25
0611 2D24 MOV R18,R4
0612 2D13 MOV R17,R3
0613 2D02 MOV R16,R2
0614 940C0781 JMP repack
FSUB:
0616 5890 SUBI R25,0x80
FADD:
0617 940E076F CALL unpack
0619 3890 CPI R25,0x80
061A F3C9 BEQ 0x0614
061B 3830 CPI R19,0x80
061C F391 BEQ 0x060F
061D 2FB3 MOV R27,R19
061E 1BB9 SUB R27,R25
061F F3A3 BVS 0x0614
0620 F02A BMI 0x0626
0621 F439 BNE 0x0629
0622 1502 CP R16,R2
0623 0513 CPC R17,R3
0624 0524 CPC R18,R4
0625 F418 BCC 0x0629
0626 940E0763 CALL swapacc
0628 CFF4 RJMP 0x061D
0629 31B8 CPI R27,0x18
062A F018 BCS 0x062E
062B 2422 CLR R2
062C 2433 CLR R3
062D 2444 CLR R4
062E 30B8 CPI R27,0x8
062F F028 BCS 0x0635
0630 2C23 MOV R2,R3
0631 2C34 MOV R3,R4
0632 2444 CLR R4
0633 50B8 SUBI R27,0x8
0634 CFF9 RJMP 0x062E
0635 23BB TST R27
0636 F029 BEQ 0x063C
0637 9446 LSR R4
0638 9437 ROR R3
0639 9427 ROR R2
063A 95BA DEC R27
063B F7D9 BNE 0x0637
063C 2FB8 MOV R27,R24
063D 27BA EOR R27,R26
063E F04A BMI 0x0648
063F D018 RCALL 0x0658
0640 F698 BCC 0x0614
0641 9527 ROR R18
0642 9517 ROR R17
0643 9507 ROR R16
0644 5F3F SUBI R19,0xFF
0645 F673 BVC 0x0614
0646 940C0750 JMP maxres
0648 D013 RCALL usub24
0649 F411 BNE 0x064C
064A 940C0757 JMP minres
064C F410 BCC 0x064F
064D 940E074A CALL negmant
064F 2322 TST R18
0650 F21A BMI 0x0614
0651 0F00 LSL R16
0652 1F11 ROL R17
0653 1F22 ROL R18
0654 5031 SUBI R19,1
0655 F7CB BVC 0x064F
0656 940C0750 JMP maxres
0658 0D02 ADD R16,R2
0659 1D13 ADC R17,R3
065A 1D24 ADC R18,R4
065B 9508 RET
usub24:
065C 1902 SUB R16,R2
065D 0913 SBC R17,R3
065E 0924 SBC R18,R4
065F 9508 RET
div32fs:
0660 D002 RCALL div32f
0661 940C04CC JMP push_arg4
div32f:
0663 940E05FC CALL float_prolog
0665 D023 RCALL FDIV
0666 940C05F5 JMP float_epilog
0668 93BA ST R27,-Y
0669 24DD CLR R13
066A 24EE CLR R14
066B 24FF CLR R15
066C E1B8 LDI R27,0x18
066D 1502 CP R16,R2
066E 0513 CPC R17,R3
066F 0524 CPC R18,R4
0670 F028 BCS 0x0676
0671 1902 SUB R16,R2
0672 0913 SBC R17,R3
0673 0924 SBC R18,R4
0674 9408 BSET 0
0675 C001 RJMP 0x0677
0676 9488 BCLR 0
0677 1CDD ROL R13
0678 1CEE ROL R14
0679 1CFF ROL R15
067A 0F00 LSL R16
067B 1F11 ROL R17
067C 1F22 ROL R18
067D 95BA DEC R27
067E F771 BNE 0x066D
067F 2D0D MOV R16,R13
0680 2D1E MOV R17,R14
0681 2D2F MOV R18,R15
0682 91B9 LD R27,Y+
0683 9508 RET
fdiv10:
0684 2422 CLR R2
0685 2433 CLR R3
0686 E2B0 LDI R27,0x20
0687 2E4B MOV R4,R27
0688 E491 LDI R25,0x41
FDIV:
0689 2399 TST R25
068A F129 BEQ 0x06B0
068B 2333 TST R19
068C F151 BEQ 0x06B7
068D 940E076F CALL unpack
068F F139 BEQ 0x06B7
0690 278A EOR R24,R26
0691 9408 BSET 0
0692 0B39 SBC R19,R25
0693 F0EB BVS 0x06B1
0694 9446 LSR R4
0695 9437 ROR R3
0696 9427 ROR R2
0697 9526 LSR R18
0698 9517 ROR R17
0699 9507 ROR R16
069A DFCD RCALL 0x0668
069B 2322 TST R18
069C F02A BMI 0x06A2
069D 0F00 LSL R16
069E 1F11 ROL R17
069F 1F22 ROL R18
06A0 5031 SUBI R19,1
06A1 F07B BVS 0x06B1
06A2 2FB0 MOV R27,R16
06A3 95B6 LSR R27
06A4 F048 BCS 0x06AE
06A5 2300 TST R16
06A6 F43A BPL 0x06AE
06A7 2311 TST R17
06A8 F42A BPL 0x06AE
06A9 E0B1 LDI R27,1
06AA 0F0B ADD R16,R27
06AB 27BB CLR R27
06AC 1F1B ADC R17,R27
06AD 1F2B ADC R18,R27
06AE 940C0781 JMP repack
06B0 C006 RJMP 0x06B7
06B1 E7BF LDI R27,0x7F
06B2 2F3B MOV R19,R27
06B3 2B2B OR R18,R27
06B4 EF0F LDI R16,0xFF
06B5 EF1F LDI R17,0xFF
06B6 9508 RET
06B7 2700 CLR R16
06B8 2711 CLR R17
06B9 2722 CLR R18
06BA 2733 CLR R19
06BB 2788 CLR R24
06BC 9508 RET
cmp32f:
06BD 940E05FC CALL float_prolog
06BF D002 RCALL FLTCP
06C0 940C05F5 JMP float_epilog
FLTCP:
06C2 D002 RCALL 0x06C5
06C3 23BB TST R27
06C4 9508 RET
06C5 2333 TST R19
06C6 F082 BMI 0x06D7
06C7 2399 TST R25
06C8 F042 BMI 0x06D1
06C9 1739 CP R19,R25
06CA F040 BCS 0x06D3
06CB F429 BNE 0x06D1
06CC 1502 CP R16,R2
06CD 0513 CPC R17,R3
06CE 0524 CPC R18,R4
06CF F018 BCS 0x06D3
06D0 F021 BEQ 0x06D5
06D1 E0B1 LDI R27,1
06D2 9508 RET
06D3 EFBF LDI R27,0xFF
06D4 9508 RET
06D5 27BB CLR R27
06D6 9508 RET
06D7 2399 TST R25
06D8 F7D2 BPL 0x06D3
06D9 1739 CP R19,R25
06DA F3B0 BCS 0x06D1
06DB F7B9 BNE 0x06D3
06DC 1502 CP R16,R2
06DD 0513 CPC R17,R3
06DE 0524 CPC R18,R4
06DF F388 BCS 0x06D1
06E0 F3A1 BEQ 0x06D5
06E1 CFF1 RJMP 0x06D3
06E2 E7BF LDI R27,0x7F
06E3 2F3B MOV R19,R27
06E4 2B2B OR R18,R27
06E5 EF0F LDI R16,0xFF
06E6 EF1F LDI R17,0xFF
06E7 9508 RET
06E8 2700 CLR R16
06E9 2711 CLR R17
06EA 2722 CLR R18
06EB 2733 CLR R19
06EC 2788 CLR R24
06ED 9508 RET
empy32fs:
06EE D002 RCALL empy32f
06EF 940C04CC JMP push_arg4
empy32f:
06F1 940E05FC CALL float_prolog
06F3 920F PUSH R0
06F4 92CF PUSH R12
06F5 D004 RCALL eFMUL
06F6 90CF POP R12
06F7 900F POP R0
06F8 940C05F5 JMP float_epilog
eFMUL:
06FA 940E076F CALL unpack
06FC F359 BEQ 0x06E8
06FD 3890 CPI R25,0x80
06FE F349 BEQ 0x06E8
06FF 278A EOR R24,R26
0700 9408 BSET 0
0701 1F39 ADC R19,R25
0702 F2FB BVS 0x06E2
0703 D00E RCALL eumul24
0704 2D2F MOV R18,R15
0705 2D1E MOV R17,R14
0706 2D0D MOV R16,R13
0707 2322 TST R18
0708 F02A BMI 0x070E
0709 953A DEC R19
070A 0CCC LSL R12
070B 1F00 ROL R16
070C 1F11 ROL R17
070D 1F22 ROL R18
070E 5F3F SUBI R19,0xFF
070F F293 BVS 0x06E2
0710 940C0781 JMP repack
eumul24:
0712 9D22 MUL R18,R2
0713 2CC0 MOV R12,R0
0714 2CD1 MOV R13,R1
0715 9D24 MUL R18,R4
0716 2CE0 MOV R14,R0
0717 2CF1 MOV R15,R1
0718 9D12 MUL R17,R2
0719 0CC1 ADD R12,R1
071A 1EDB ADC R13,R27
071B 1EEB ADC R14,R27
071C 1EFB ADC R15,R27
071D 9D03 MUL R16,R3
071E 0CC1 ADD R12,R1
071F 1EDB ADC R13,R27
0720 1EEB ADC R14,R27
0721 1EFB ADC R15,R27
0722 9D13 MUL R17,R3
0723 0CC0 ADD R12,R0
0724 1CD1 ADC R13,R1
0725 1EEB ADC R14,R27
0726 1EFB ADC R15,R27
0727 9D04 MUL R16,R4
0728 0CC0 ADD R12,R0
0729 1CD1 ADC R13,R1
072A 1EEB ADC R14,R27
072B 1EFB ADC R15,R27
072C 9D23 MUL R18,R3
072D 0CD0 ADD R13,R0
072E 1CE1 ADC R14,R1
072F 1EFB ADC R15,R27
0730 9D14 MUL R17,R4
0731 0CD0 ADD R13,R0
0732 1CE1 ADC R14,R1
0733 1EFB ADC R15,R27
0734 20CC TST R12
0735 F422 BPL 0x073A
0736 9488 BCLR 0
0737 1EDB ADC R13,R27
0738 1EEB ADC R14,R27
0739 1EFB ADC R15,R27
073A 9508 RET
savfacc1:
073B 938A ST R24,-Y
073C 93BA ST R27,-Y
073D 9508 RET
restorefacc1:
073E 91B9 LD R27,Y+
073F 9189 LD R24,Y+
0740 9508 RET
unpackfacc1:
0741 2F83 MOV R24,R19
0742 7880 ANDI R24,0x80
0743 0F22 LSL R18
0744 1F33 ROL R19
0745 5830 SUBI R19,0x80
0746 9408 BSET 0
0747 9527 ROR R18
0748 3830 CPI R19,0x80
0749 9508 RET
negmant:
074A 9510 COM R17
074B 9520 COM R18
074C 9501 NEG R16
074D 4F1F SBCI R17,0xFF
074E 4F2F SBCI R18,0xFF
074F 9508 RET
maxres:
0750 E7BF LDI R27,0x7F
0751 2F3B MOV R19,R27
0752 2B2B OR R18,R27
0753 EFBF LDI R27,0xFF
0754 2F0B MOV R16,R27
0755 2F1B MOV R17,R27
0756 9508 RET
minres:
0757 2700 CLR R16
0758 2711 CLR R17
0759 2722 CLR R18
075A 2733 CLR R19
075B 2788 CLR R24
075C 9508 RET
ac1toac2:
075D 2F93 MOV R25,R19
075E 2E20 MOV R2,R16
075F 2E31 MOV R3,R17
0760 2E42 MOV R4,R18
0761 2FA8 MOV R26,R24
0762 9508 RET
swapacc:
0763 922A ST R2,-Y
0764 923A ST R3,-Y
0765 924A ST R4,-Y
0766 939A ST R25,-Y
0767 93AA ST R26,-Y
0768 DFF4 RCALL ac1toac2
0769 9189 LD R24,Y+
076A 9139 LD R19,Y+
076B 9129 LD R18,Y+
076C 9119 LD R17,Y+
076D 9109 LD R16,Y+
076E 9508 RET
unpack:
076F 2F83 MOV R24,R19
0770 E8B0 LDI R27,0x80
0771 0F22 LSL R18
0772 1F33 ROL R19
0773 273B EOR R19,R27
0774 0FBB LSL R27
0775 9527 ROR R18
0776 7880 ANDI R24,0x80
0777 2FA9 MOV R26,R25
0778 E8B0 LDI R27,0x80
0779 0C44 LSL R4
077A 1F99 ROL R25
077B 279B EOR R25,R27
077C 0FBB LSL R27
077D 9447 ROR R4
077E 78A0 ANDI R26,0x80
077F 3830 CPI R19,0x80
0780 9508 RET
repack:
0781 0F22 LSL R18
0782 E8B0 LDI R27,0x80
0783 27B3 EOR R27,R19
0784 0F88 LSL R24
0785 95B7 ROR R27
0786 9527 ROR R18
0787 2F3B MOV R19,R27
0788 9508 RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -