⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fft.lst

📁 在ICCAVR 环境实现的fft,
💻 LST
📖 第 1 页 / 共 5 页
字号:
    06F4 93BA      ST	R27,-Y
    06F5 9508      RET
restore_floatregs:
    06F6 91B9      LD	R27,Y+
    06F7 91A9      LD	R26,Y+
    06F8 9199      LD	R25,Y+
    06F9 9049      LD	R4,Y+
    06FA 9039      LD	R3,Y+
    06FB 9029      LD	R2,Y+
    06FC 9189      LD	R24,Y+
    06FD 90F9      LD	R15,Y+
    06FE 90E9      LD	R14,Y+
    06FF 90D9      LD	R13,Y+
    0700 9508      RET
stk2arg1:
    0701 842A      LDD	R2,Y+10
    0702 843B      LDD	R3,Y+11
    0703 844C      LDD	R4,Y+12
    0704 859D      LDD	R25,Y+13
    0705 9508      RET
stk2arg0:
    0706 850E      LDD	R16,Y+14
    0707 851F      LDD	R17,Y+15
    0708 8928      LDD	R18,Y+16
    0709 8939      LDD	R19,Y+17
    070A 9508      RET
float_epilog:
    070B DFEA      RCALL	restore_floatregs
    070C 920F      PUSH	R0
    070D B60F      IN	R0,0x3F
    070E 9628      ADIW	R28,0x8
    070F BE0F      OUT	0x3F,R0
    0710 900F      POP	R0
    0711 9508      RET
float_prolog:
    0712 DFD8      RCALL	save_floatregs
    0713 DFF2      RCALL	stk2arg0
    0714 CFEC      RJMP	stk2arg1
add32fs:
    0715 D002      RCALL	add32f
    0716 940C059A  JMP	push_arg4
add32f:
    0718 940E0712  CALL	float_prolog
    071A D012      RCALL	FADD
    071B 940C070B  JMP	float_epilog
sub32fs:
    071D D002      RCALL	sub32f
    071E 940C059A  JMP	push_arg4
sub32f:
    0720 940E0712  CALL	float_prolog
    0722 D009      RCALL	FSUB
    0723 940C070B  JMP	float_epilog
fret2:
    0725 2F8A      MOV	R24,R26
    0726 2F39      MOV	R19,R25
    0727 2D24      MOV	R18,R4
    0728 2D13      MOV	R17,R3
    0729 2D02      MOV	R16,R2
    072A 940C08E3  JMP	repack
FSUB:
    072C 5890      SUBI	R25,0x80
FADD:
    072D 940E08D1  CALL	unpack
    072F 3890      CPI	R25,0x80
    0730 F3C9      BEQ	0x072A
    0731 3830      CPI	R19,0x80
    0732 F391      BEQ	0x0725
    0733 2FB3      MOV	R27,R19
    0734 1BB9      SUB	R27,R25
    0735 F3A3      BVS	0x072A
    0736 F02A      BMI	0x073C
    0737 F439      BNE	0x073F
    0738 1502      CP	R16,R2
    0739 0513      CPC	R17,R3
    073A 0524      CPC	R18,R4
    073B F418      BCC	0x073F
    073C 940E08C5  CALL	swapacc
    073E CFF4      RJMP	0x0733
    073F 31B8      CPI	R27,0x18
    0740 F018      BCS	0x0744
    0741 2422      CLR	R2
    0742 2433      CLR	R3
    0743 2444      CLR	R4
    0744 30B8      CPI	R27,0x8
    0745 F028      BCS	0x074B
    0746 2C23      MOV	R2,R3
    0747 2C34      MOV	R3,R4
    0748 2444      CLR	R4
    0749 50B8      SUBI	R27,0x8
    074A CFF9      RJMP	0x0744
    074B 23BB      TST	R27
    074C F029      BEQ	0x0752
    074D 9446      LSR	R4
    074E 9437      ROR	R3
    074F 9427      ROR	R2
    0750 95BA      DEC	R27
    0751 F7D9      BNE	0x074D
    0752 2FB8      MOV	R27,R24
    0753 27BA      EOR	R27,R26
    0754 F04A      BMI	0x075E
    0755 D018      RCALL	0x076E
    0756 F698      BCC	0x072A
    0757 9527      ROR	R18
    0758 9517      ROR	R17
    0759 9507      ROR	R16
    075A 5F3F      SUBI	R19,0xFF
    075B F673      BVC	0x072A
    075C 940C08B2  JMP	maxres
    075E D013      RCALL	usub24
    075F F411      BNE	0x0762
    0760 940C08B9  JMP	minres
    0762 F410      BCC	0x0765
    0763 940E08AC  CALL	negmant
    0765 2322      TST	R18
    0766 F21A      BMI	0x072A
    0767 0F00      LSL	R16
    0768 1F11      ROL	R17
    0769 1F22      ROL	R18
    076A 5031      SUBI	R19,1
    076B F7CB      BVC	0x0765
    076C 940C08B2  JMP	maxres
    076E 0D02      ADD	R16,R2
    076F 1D13      ADC	R17,R3
    0770 1D24      ADC	R18,R4
    0771 9508      RET
usub24:
    0772 1902      SUB	R16,R2
    0773 0913      SBC	R17,R3
    0774 0924      SBC	R18,R4
    0775 9508      RET
div32fs:
    0776 D002      RCALL	div32f
    0777 940C059A  JMP	push_arg4
div32f:
    0779 940E0712  CALL	float_prolog
    077B D023      RCALL	FDIV
    077C 940C070B  JMP	float_epilog
    077E 93BA      ST	R27,-Y
    077F 24DD      CLR	R13
    0780 24EE      CLR	R14
    0781 24FF      CLR	R15
    0782 E1B8      LDI	R27,0x18
    0783 1502      CP	R16,R2
    0784 0513      CPC	R17,R3
    0785 0524      CPC	R18,R4
    0786 F028      BCS	0x078C
    0787 1902      SUB	R16,R2
    0788 0913      SBC	R17,R3
    0789 0924      SBC	R18,R4
    078A 9408      BSET	0
    078B C001      RJMP	0x078D
    078C 9488      BCLR	0
    078D 1CDD      ROL	R13
    078E 1CEE      ROL	R14
    078F 1CFF      ROL	R15
    0790 0F00      LSL	R16
    0791 1F11      ROL	R17
    0792 1F22      ROL	R18
    0793 95BA      DEC	R27
    0794 F771      BNE	0x0783
    0795 2D0D      MOV	R16,R13
    0796 2D1E      MOV	R17,R14
    0797 2D2F      MOV	R18,R15
    0798 91B9      LD	R27,Y+
    0799 9508      RET
fdiv10:
    079A 2422      CLR	R2
    079B 2433      CLR	R3
    079C E2B0      LDI	R27,0x20
    079D 2E4B      MOV	R4,R27
    079E E491      LDI	R25,0x41
FDIV:
    079F 2399      TST	R25
    07A0 F129      BEQ	0x07C6
    07A1 2333      TST	R19
    07A2 F151      BEQ	0x07CD
    07A3 940E08D1  CALL	unpack
    07A5 F139      BEQ	0x07CD
    07A6 278A      EOR	R24,R26
    07A7 9408      BSET	0
    07A8 0B39      SBC	R19,R25
    07A9 F0EB      BVS	0x07C7
    07AA 9446      LSR	R4
    07AB 9437      ROR	R3
    07AC 9427      ROR	R2
    07AD 9526      LSR	R18
    07AE 9517      ROR	R17
    07AF 9507      ROR	R16
    07B0 DFCD      RCALL	0x077E
    07B1 2322      TST	R18
    07B2 F02A      BMI	0x07B8
    07B3 0F00      LSL	R16
    07B4 1F11      ROL	R17
    07B5 1F22      ROL	R18
    07B6 5031      SUBI	R19,1
    07B7 F07B      BVS	0x07C7
    07B8 2FB0      MOV	R27,R16
    07B9 95B6      LSR	R27
    07BA F048      BCS	0x07C4
    07BB 2300      TST	R16
    07BC F43A      BPL	0x07C4
    07BD 2311      TST	R17
    07BE F42A      BPL	0x07C4
    07BF E0B1      LDI	R27,1
    07C0 0F0B      ADD	R16,R27
    07C1 27BB      CLR	R27
    07C2 1F1B      ADC	R17,R27
    07C3 1F2B      ADC	R18,R27
    07C4 940C08E3  JMP	repack
    07C6 C006      RJMP	0x07CD
    07C7 E7BF      LDI	R27,0x7F
    07C8 2F3B      MOV	R19,R27
    07C9 2B2B      OR	R18,R27
    07CA EF0F      LDI	R16,0xFF
    07CB EF1F      LDI	R17,0xFF
    07CC 9508      RET
    07CD 2700      CLR	R16
    07CE 2711      CLR	R17
    07CF 2722      CLR	R18
    07D0 2733      CLR	R19
    07D1 2788      CLR	R24
    07D2 9508      RET
cmp32f:
    07D3 940E0712  CALL	float_prolog
    07D5 D002      RCALL	FLTCP
    07D6 940C070B  JMP	float_epilog
FLTCP:
    07D8 D002      RCALL	0x07DB
    07D9 23BB      TST	R27
    07DA 9508      RET
    07DB 2333      TST	R19
    07DC F082      BMI	0x07ED
    07DD 2399      TST	R25
    07DE F042      BMI	0x07E7
    07DF 1739      CP	R19,R25
    07E0 F040      BCS	0x07E9
    07E1 F429      BNE	0x07E7
    07E2 1502      CP	R16,R2
    07E3 0513      CPC	R17,R3
    07E4 0524      CPC	R18,R4
    07E5 F018      BCS	0x07E9
    07E6 F021      BEQ	0x07EB
    07E7 E0B1      LDI	R27,1
    07E8 9508      RET
    07E9 EFBF      LDI	R27,0xFF
    07EA 9508      RET
    07EB 27BB      CLR	R27
    07EC 9508      RET
    07ED 2399      TST	R25
    07EE F7D2      BPL	0x07E9
    07EF 1739      CP	R19,R25
    07F0 F3B0      BCS	0x07E7
    07F1 F7B9      BNE	0x07E9
    07F2 1502      CP	R16,R2
    07F3 0513      CPC	R17,R3
    07F4 0524      CPC	R18,R4
    07F5 F388      BCS	0x07E7
    07F6 F3A1      BEQ	0x07EB
    07F7 CFF1      RJMP	0x07E9
    07F8 E7BF      LDI	R27,0x7F
    07F9 2F3B      MOV	R19,R27
    07FA 2B2B      OR	R18,R27
    07FB EF0F      LDI	R16,0xFF
    07FC EF1F      LDI	R17,0xFF
    07FD 9508      RET
    07FE 2700      CLR	R16
    07FF 2711      CLR	R17
    0800 2722      CLR	R18
    0801 2733      CLR	R19
    0802 2788      CLR	R24
    0803 9508      RET
mpy32fs:
    0804 D002      RCALL	mpy32f
    0805 940C059A  JMP	push_arg4
mpy32f:
    0807 940E0712  CALL	float_prolog
    0809 D002      RCALL	FMUL
    080A 940C070B  JMP	float_epilog
FMUL:
    080C 940E08D1  CALL	unpack
    080E F379      BEQ	0x07FE
    080F 3890      CPI	R25,0x80
    0810 F369      BEQ	0x07FE
    0811 278A      EOR	R24,R26
    0812 9408      BSET	0
    0813 1F39      ADC	R19,R25
    0814 F31B      BVS	0x07F8
    0815 D00B      RCALL	umul24
    0816 2322      TST	R18
    0817 F02A      BMI	0x081D
    0818 953A      DEC	R19
    0819 0CFF      LSL	R15
    081A 1F00      ROL	R16
    081B 1F11      ROL	R17
    081C 1F22      ROL	R18
    081D 5F3F      SUBI	R19,0xFF
    081E F2CB      BVS	0x07F8
    081F 940C08E3  JMP	repack
umul24:
    0821 939A      ST	R25,-Y
    0822 24DD      CLR	R13
    0823 24EE      CLR	R14
    0824 24FF      CLR	R15
    0825 27BB      CLR	R27
    0826 E198      LDI	R25,0x18
    0827 0CDD      LSL	R13
    0828 1CEE      ROL	R14
    0829 1CFF      ROL	R15
    082A 1F00      ROL	R16
    082B 1F11      ROL	R17
    082C 1F22      ROL	R18
    082D F430      BCC	0x0834
    082E 0CD2      ADD	R13,R2
    082F 1CE3      ADC	R14,R3
    0830 1CF4      ADC	R15,R4
    0831 1F0B      ADC	R16,R27
    0832 1F1B      ADC	R17,R27
    0833 1F2B      ADC	R18,R27
    0834 959A      DEC	R25
    0835 F789      BNE	0x0827
    0836 9199      LD	R25,Y+
    0837 9508      RET
    0838 E7BF      LDI	R27,0x7F
    0839 2F3B      MOV	R19,R27
    083A 2B2B      OR	R18,R27
    083B EF0F      LDI	R16,0xFF
    083C EF1F      LDI	R17,0xFF
    083D 9508      RET
    083E 2700      CLR	R16
    083F 2711      CLR	R17
    0840 2722      CLR	R18
    0841 2733      CLR	R19
    0842 2788      CLR	R24
    0843 9508      RET
empy32fs:
    0844 D002      RCALL	empy32f
    0845 940C059A  JMP	push_arg4
empy32f:
    0847 940E0712  CALL	float_prolog
    0849 920F      PUSH	R0
    084A 92CF      PUSH	R12
    084B D004      RCALL	eFMUL
    084C 90CF      POP	R12
    084D 900F      POP	R0
    084E 940C070B  JMP	float_epilog
eFMUL:
    0850 940E08D1  CALL	unpack
    0852 F359      BEQ	0x083E
    0853 3890      CPI	R25,0x80
    0854 F349      BEQ	0x083E
    0855 278A      EOR	R24,R26
    0856 9408      BSET	0
    0857 1F39      ADC	R19,R25
    0858 F2FB      BVS	0x0838
    0859 D00E      RCALL	eumul24
    085A 2D2F      MOV	R18,R15
    085B 2D1E      MOV	R17,R14
    085C 2D0D      MOV	R16,R13
    085D 2322      TST	R18
    085E F02A      BMI	0x0864
    085F 953A      DEC	R19
    0860 0CCC      LSL	R12
    0861 1F00      ROL	R16
    0862 1F11      ROL	R17
    0863 1F22      ROL	R18
    0864 5F3F      SUBI	R19,0xFF
    0865 F293      BVS	0x0838
    0866 940C08E3  JMP	repack
eumul24:
    0868 9D22      MUL	R18,R2
    0869 2CC0      MOV	R12,R0
    086A 2CD1      MOV	R13,R1
    086B 9D24      MUL	R18,R4
    086C 2CE0      MOV	R14,R0
    086D 2CF1      MOV	R15,R1
    086E 9D12      MUL	R17,R2
    086F 0CC1      ADD	R12,R1
    0870 1EDB      ADC	R13,R27
    0871 1EEB      ADC	R14,R27
    0872 1EFB      ADC	R15,R27
    0873 9D03      MUL	R16,R3
    0874 0CC1      ADD	R12,R1
    0875 1EDB      ADC	R13,R27
    0876 1EEB      ADC	R14,R27
    0877 1EFB      ADC	R15,R27
    0878 9D13      MUL	R17,R3
    0879 0CC0      ADD	R12,R0
    087A 1CD1      ADC	R13,R1
    087B 1EEB      ADC	R14,R27
    087C 1EFB      ADC	R15,R27
    087D 9D04      MUL	R16,R4
    087E 0CC0      ADD	R12,R0
    087F 1CD1      ADC	R13,R1
    0880 1EEB      ADC	R14,R27
    0881 1EFB      ADC	R15,R27
    0882 9D23      MUL	R18,R3
    0883 0CD0      ADD	R13,R0
    0884 1CE1      ADC	R14,R1
    0885 1EFB      ADC	R15,R27
    0886 9D14      MUL	R17,R4
    0887 0CD0      ADD	R13,R0
    0888 1CE1      ADC	R14,R1
    0889 1EFB      ADC	R15,R27
    088A 20CC      TST	R12
    088B F422      BPL	0x0890
    088C 9488      BCLR	0
    088D 1EDB      ADC	R13,R27
    088E 1EEB      ADC	R14,R27
    088F 1EFB      ADC	R15,R27
    0890 9508      RET
neg32fs:
    0891 D002      RCALL	neg32f
    0892 940C059A  JMP	push_arg4
neg32f:
    0894 93BF      PUSH	R27
    0895 9109      LD	R16,Y+
    0896 9119      LD	R17,Y+
    0897 9129      LD	R18,Y+
    0898 9139      LD	R19,Y+
    0899 E8B0      LDI	R27,0x80
    089A 273B      EOR	R19,R27
    089B 91BF      POP	R27
    089C 9508      RET
savfacc1:
    089D 938A      ST	R24,-Y
    089E 93BA      ST	R27,-Y
    089F 9508      RET
restorefacc1:
    08A0 91B9      LD	R27,Y+
    08A1 9189      LD	R24,Y+
    08A2 9508      RET
unpackfacc1:
    08A3 2F83      MOV	R24,R19
    08A4 7880    

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -