📄 ff.lst
字号:
057E 90E9 LD R14,Y+
057F 90D9 LD R13,Y+
0580 9508 RET
stk2arg1:
0581 842A LDD R2,Y+10
0582 843B LDD R3,Y+11
0583 844C LDD R4,Y+12
0584 859D LDD R25,Y+13
0585 9508 RET
stk2arg0:
0586 850E LDD R16,Y+14
0587 851F LDD R17,Y+15
0588 8928 LDD R18,Y+16
0589 8939 LDD R19,Y+17
058A 9508 RET
float_epilog:
058B DFEA RCALL restore_floatregs
058C 920F PUSH R0
058D B60F IN R0,0x3F
058E 9628 ADIW R28,0x8
058F BE0F OUT 0x3F,R0
0590 900F POP R0
0591 9508 RET
float_prolog:
0592 DFD8 RCALL save_floatregs
0593 DFF2 RCALL stk2arg0
0594 CFEC RJMP stk2arg1
add32fs:
0595 D002 RCALL add32f
0596 940C043B JMP push_arg4
add32f:
0598 940E0592 CALL float_prolog
059A D012 RCALL FADD
059B 940C058B JMP float_epilog
sub32fs:
059D D002 RCALL sub32f
059E 940C043B JMP push_arg4
sub32f:
05A0 940E0592 CALL float_prolog
05A2 D009 RCALL FSUB
05A3 940C058B JMP float_epilog
fret2:
05A5 2F8A MOV R24,R26
05A6 2F39 MOV R19,R25
05A7 2D24 MOV R18,R4
05A8 2D13 MOV R17,R3
05A9 2D02 MOV R16,R2
05AA 940C0763 JMP repack
FSUB:
05AC 5890 SUBI R25,0x80
FADD:
05AD 940E0751 CALL unpack
05AF 3890 CPI R25,0x80
05B0 F3C9 BEQ 0x05AA
05B1 3830 CPI R19,0x80
05B2 F391 BEQ 0x05A5
05B3 2FB3 MOV R27,R19
05B4 1BB9 SUB R27,R25
05B5 F3A3 BVS 0x05AA
05B6 F02A BMI 0x05BC
05B7 F439 BNE 0x05BF
05B8 1502 CP R16,R2
05B9 0513 CPC R17,R3
05BA 0524 CPC R18,R4
05BB F418 BCC 0x05BF
05BC 940E0745 CALL swapacc
05BE CFF4 RJMP 0x05B3
05BF 31B8 CPI R27,0x18
05C0 F018 BCS 0x05C4
05C1 2422 CLR R2
05C2 2433 CLR R3
05C3 2444 CLR R4
05C4 30B8 CPI R27,0x8
05C5 F028 BCS 0x05CB
05C6 2C23 MOV R2,R3
05C7 2C34 MOV R3,R4
05C8 2444 CLR R4
05C9 50B8 SUBI R27,0x8
05CA CFF9 RJMP 0x05C4
05CB 23BB TST R27
05CC F029 BEQ 0x05D2
05CD 9446 LSR R4
05CE 9437 ROR R3
05CF 9427 ROR R2
05D0 95BA DEC R27
05D1 F7D9 BNE 0x05CD
05D2 2FB8 MOV R27,R24
05D3 27BA EOR R27,R26
05D4 F04A BMI 0x05DE
05D5 D018 RCALL 0x05EE
05D6 F698 BCC 0x05AA
05D7 9527 ROR R18
05D8 9517 ROR R17
05D9 9507 ROR R16
05DA 5F3F SUBI R19,0xFF
05DB F673 BVC 0x05AA
05DC 940C0732 JMP maxres
05DE D013 RCALL usub24
05DF F411 BNE 0x05E2
05E0 940C0739 JMP minres
05E2 F410 BCC 0x05E5
05E3 940E072C CALL negmant
05E5 2322 TST R18
05E6 F21A BMI 0x05AA
05E7 0F00 LSL R16
05E8 1F11 ROL R17
05E9 1F22 ROL R18
05EA 5031 SUBI R19,1
05EB F7CB BVC 0x05E5
05EC 940C0732 JMP maxres
05EE 0D02 ADD R16,R2
05EF 1D13 ADC R17,R3
05F0 1D24 ADC R18,R4
05F1 9508 RET
usub24:
05F2 1902 SUB R16,R2
05F3 0913 SBC R17,R3
05F4 0924 SBC R18,R4
05F5 9508 RET
div32fs:
05F6 D002 RCALL div32f
05F7 940C043B JMP push_arg4
div32f:
05F9 940E0592 CALL float_prolog
05FB D023 RCALL FDIV
05FC 940C058B JMP float_epilog
05FE 93BA ST R27,-Y
05FF 24DD CLR R13
0600 24EE CLR R14
0601 24FF CLR R15
0602 E1B8 LDI R27,0x18
0603 1502 CP R16,R2
0604 0513 CPC R17,R3
0605 0524 CPC R18,R4
0606 F028 BCS 0x060C
0607 1902 SUB R16,R2
0608 0913 SBC R17,R3
0609 0924 SBC R18,R4
060A 9408 BSET 0
060B C001 RJMP 0x060D
060C 9488 BCLR 0
060D 1CDD ROL R13
060E 1CEE ROL R14
060F 1CFF ROL R15
0610 0F00 LSL R16
0611 1F11 ROL R17
0612 1F22 ROL R18
0613 95BA DEC R27
0614 F771 BNE 0x0603
0615 2D0D MOV R16,R13
0616 2D1E MOV R17,R14
0617 2D2F MOV R18,R15
0618 91B9 LD R27,Y+
0619 9508 RET
fdiv10:
061A 2422 CLR R2
061B 2433 CLR R3
061C E2B0 LDI R27,0x20
061D 2E4B MOV R4,R27
061E E491 LDI R25,0x41
FDIV:
061F 2399 TST R25
0620 F129 BEQ 0x0646
0621 2333 TST R19
0622 F151 BEQ 0x064D
0623 940E0751 CALL unpack
0625 F139 BEQ 0x064D
0626 278A EOR R24,R26
0627 9408 BSET 0
0628 0B39 SBC R19,R25
0629 F0EB BVS 0x0647
062A 9446 LSR R4
062B 9437 ROR R3
062C 9427 ROR R2
062D 9526 LSR R18
062E 9517 ROR R17
062F 9507 ROR R16
0630 DFCD RCALL 0x05FE
0631 2322 TST R18
0632 F02A BMI 0x0638
0633 0F00 LSL R16
0634 1F11 ROL R17
0635 1F22 ROL R18
0636 5031 SUBI R19,1
0637 F07B BVS 0x0647
0638 2FB0 MOV R27,R16
0639 95B6 LSR R27
063A F048 BCS 0x0644
063B 2300 TST R16
063C F43A BPL 0x0644
063D 2311 TST R17
063E F42A BPL 0x0644
063F E0B1 LDI R27,1
0640 0F0B ADD R16,R27
0641 27BB CLR R27
0642 1F1B ADC R17,R27
0643 1F2B ADC R18,R27
0644 940C0763 JMP repack
0646 C006 RJMP 0x064D
0647 E7BF LDI R27,0x7F
0648 2F3B MOV R19,R27
0649 2B2B OR R18,R27
064A EF0F LDI R16,0xFF
064B EF1F LDI R17,0xFF
064C 9508 RET
064D 2700 CLR R16
064E 2711 CLR R17
064F 2722 CLR R18
0650 2733 CLR R19
0651 2788 CLR R24
0652 9508 RET
cmp32f:
0653 940E0592 CALL float_prolog
0655 D002 RCALL FLTCP
0656 940C058B JMP float_epilog
FLTCP:
0658 D002 RCALL 0x065B
0659 23BB TST R27
065A 9508 RET
065B 2333 TST R19
065C F082 BMI 0x066D
065D 2399 TST R25
065E F042 BMI 0x0667
065F 1739 CP R19,R25
0660 F040 BCS 0x0669
0661 F429 BNE 0x0667
0662 1502 CP R16,R2
0663 0513 CPC R17,R3
0664 0524 CPC R18,R4
0665 F018 BCS 0x0669
0666 F021 BEQ 0x066B
0667 E0B1 LDI R27,1
0668 9508 RET
0669 EFBF LDI R27,0xFF
066A 9508 RET
066B 27BB CLR R27
066C 9508 RET
066D 2399 TST R25
066E F7D2 BPL 0x0669
066F 1739 CP R19,R25
0670 F3B0 BCS 0x0667
0671 F7B9 BNE 0x0669
0672 1502 CP R16,R2
0673 0513 CPC R17,R3
0674 0524 CPC R18,R4
0675 F388 BCS 0x0667
0676 F3A1 BEQ 0x066B
0677 CFF1 RJMP 0x0669
0678 E7BF LDI R27,0x7F
0679 2F3B MOV R19,R27
067A 2B2B OR R18,R27
067B EF0F LDI R16,0xFF
067C EF1F LDI R17,0xFF
067D 9508 RET
067E 2700 CLR R16
067F 2711 CLR R17
0680 2722 CLR R18
0681 2733 CLR R19
0682 2788 CLR R24
0683 9508 RET
mpy32fs:
0684 D002 RCALL mpy32f
0685 940C043B JMP push_arg4
mpy32f:
0687 940E0592 CALL float_prolog
0689 D002 RCALL FMUL
068A 940C058B JMP float_epilog
FMUL:
068C 940E0751 CALL unpack
068E F379 BEQ 0x067E
068F 3890 CPI R25,0x80
0690 F369 BEQ 0x067E
0691 278A EOR R24,R26
0692 9408 BSET 0
0693 1F39 ADC R19,R25
0694 F31B BVS 0x0678
0695 D00B RCALL umul24
0696 2322 TST R18
0697 F02A BMI 0x069D
0698 953A DEC R19
0699 0CFF LSL R15
069A 1F00 ROL R16
069B 1F11 ROL R17
069C 1F22 ROL R18
069D 5F3F SUBI R19,0xFF
069E F2CB BVS 0x0678
069F 940C0763 JMP repack
umul24:
06A1 939A ST R25,-Y
06A2 24DD CLR R13
06A3 24EE CLR R14
06A4 24FF CLR R15
06A5 27BB CLR R27
06A6 E198 LDI R25,0x18
06A7 0CDD LSL R13
06A8 1CEE ROL R14
06A9 1CFF ROL R15
06AA 1F00 ROL R16
06AB 1F11 ROL R17
06AC 1F22 ROL R18
06AD F430 BCC 0x06B4
06AE 0CD2 ADD R13,R2
06AF 1CE3 ADC R14,R3
06B0 1CF4 ADC R15,R4
06B1 1F0B ADC R16,R27
06B2 1F1B ADC R17,R27
06B3 1F2B ADC R18,R27
06B4 959A DEC R25
06B5 F789 BNE 0x06A7
06B6 9199 LD R25,Y+
06B7 9508 RET
06B8 E7BF LDI R27,0x7F
06B9 2F3B MOV R19,R27
06BA 2B2B OR R18,R27
06BB EF0F LDI R16,0xFF
06BC EF1F LDI R17,0xFF
06BD 9508 RET
06BE 2700 CLR R16
06BF 2711 CLR R17
06C0 2722 CLR R18
06C1 2733 CLR R19
06C2 2788 CLR R24
06C3 9508 RET
empy32fs:
06C4 D002 RCALL empy32f
06C5 940C043B JMP push_arg4
empy32f:
06C7 940E0592 CALL float_prolog
06C9 920F PUSH R0
06CA 92CF PUSH R12
06CB D004 RCALL eFMUL
06CC 90CF POP R12
06CD 900F POP R0
06CE 940C058B JMP float_epilog
eFMUL:
06D0 940E0751 CALL unpack
06D2 F359 BEQ 0x06BE
06D3 3890 CPI R25,0x80
06D4 F349 BEQ 0x06BE
06D5 278A EOR R24,R26
06D6 9408 BSET 0
06D7 1F39 ADC R19,R25
06D8 F2FB BVS 0x06B8
06D9 D00E RCALL eumul24
06DA 2D2F MOV R18,R15
06DB 2D1E MOV R17,R14
06DC 2D0D MOV R16,R13
06DD 2322 TST R18
06DE F02A BMI 0x06E4
06DF 953A DEC R19
06E0 0CCC LSL R12
06E1 1F00 ROL R16
06E2 1F11 ROL R17
06E3 1F22 ROL R18
06E4 5F3F SUBI R19,0xFF
06E5 F293 BVS 0x06B8
06E6 940C0763 JMP repack
eumul24:
06E8 9D22 MUL R18,R2
06E9 2CC0 MOV R12,R0
06EA 2CD1 MOV R13,R1
06EB 9D24 MUL R18,R4
06EC 2CE0 MOV R14,R0
06ED 2CF1 MOV R15,R1
06EE 9D12 MUL R17,R2
06EF 0CC1 ADD R12,R1
06F0 1EDB ADC R13,R27
06F1 1EEB ADC R14,R27
06F2 1EFB ADC R15,R27
06F3 9D03 MUL R16,R3
06F4 0CC1 ADD R12,R1
06F5 1EDB ADC R13,R27
06F6 1EEB ADC R14,R27
06F7 1EFB ADC R15,R27
06F8 9D13 MUL R17,R3
06F9 0CC0 ADD R12,R0
06FA 1CD1 ADC R13,R1
06FB 1EEB ADC R14,R27
06FC 1EFB ADC R15,R27
06FD 9D04 MUL R16,R4
06FE 0CC0 ADD R12,R0
06FF 1CD1 ADC R13,R1
0700 1EEB ADC R14,R27
0701 1EFB ADC R15,R27
0702 9D23 MUL R18,R3
0703 0CD0 ADD R13,R0
0704 1CE1 ADC R14,R1
0705 1EFB ADC R15,R27
0706 9D14 MUL R17,R4
0707 0CD0 ADD R13,R0
0708 1CE1 ADC R14,R1
0709 1EFB ADC R15,R27
070A 20CC TST R12
070B F422 BPL 0x0710
070C 9488 BCLR 0
070D 1EDB ADC R13,R27
070E 1EEB ADC R14,R27
070F 1EFB ADC R15,R27
0710 9508 RET
neg32fs:
0711 D002 RCALL neg32f
0712 940C043B JMP push_arg4
neg32f:
0714 93BF PUSH R27
0715 9109 LD R16,Y+
0716 9119 LD R17,Y+
0717 9129 LD R18,Y+
0718 9139 LD R19,Y+
0719 E8B0 LDI R27,0x80
071A 273B EOR R19,R27
071B 91BF POP R27
071C 9508 RET
savfacc1:
071D 938A ST R24,-Y
071E 93BA ST R27,-Y
071F 9508 RET
restorefacc1:
0720 91B9 LD R27,Y+
0721 9189 LD R24,Y+
0722 9508 RET
unpackfacc1:
0723 2F83 MOV R24,R19
0724 7880 ANDI R24,0x80
0725 0F22 LSL R18
0726 1F33 ROL R19
0727 5830 SUBI R19,0x80
0728 9408 BSET 0
0729 9527 ROR R18
072A 3830 CPI R19,0x80
072B 9508 RET
negmant:
072C 9510 COM R17
072D 9520 COM R18
072E 9501 NEG R16
072F 4F1F SBCI R17,0xFF
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -