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

📄 fftbook.lst

📁 在ICCAVR 环境实现的fft,
💻 LST
📖 第 1 页 / 共 5 页
字号:
    0650 920A      ST	R0,-Y
    0651 2FE0      MOV	R30,R16
    0652 2FF1      MOV	R31,R17
    0653 95C8      LPM
    0654 2D00      MOV	R16,R0
    0655 9631      ADIW	R30,1
    0656 95C8      LPM
    0657 2D10      MOV	R17,R0
    0658 9631      ADIW	R30,1
    0659 95C8      LPM
    065A 2D20      MOV	R18,R0
    065B 9631      ADIW	R30,1
    065C 95C8      LPM
    065D 2D30      MOV	R19,R0
    065E 9009      LD	R0,Y+
    065F 91F9      LD	R31,Y+
    0660 91E9      LD	R30,Y+
    0661 9508      RET
lsl32:
    0662 920F      PUSH	R0
    0663 9009      LD	R0,Y+
    0664 2000      TST	R0
    0665 F031      BEQ	0x066C
    0666 0F00      LSL	R16
    0667 1F11      ROL	R17
    0668 1F22      ROL	R18
    0669 1F33      ROL	R19
    066A 940A      DEC	R0
    066B CFF8      RJMP	0x0664
    066C 900F      POP	R0
    066D 9508      RET
fp2int:
    066E 940E0898  CALL	savfacc1
    0670 D014      RCALL	FTOI
    0671 2F02      MOV	R16,R18
    0672 2F13      MOV	R17,R19
    0673 FD87      SBRC	R24,7
    0674 C002      RJMP	nojump1
    0675 940C089B  JMP	restorefacc1
nojump1:
    0677 9510      COM	R17
    0678 9501      NEG	R16
    0679 4F1F      SBCI	R17,0xFF
    067A 940C089B  JMP	restorefacc1
fp2long:
    067C 940E0898  CALL	savfacc1
    067E D008      RCALL	FTOL
    067F FF87      SBRS	R24,7
    0680 C002      RJMP	nojump2
    0681 940E0645  CALL	neg32
nojump2:
    0683 940C089B  JMP	restorefacc1
FTOI:
    0685 E0BE      LDI	R27,0xE
    0686 C001      RJMP	0x0688
FTOL:
    0687 E1BE      LDI	R27,0x1E
    0688 940E089E  CALL	unpackfacc1
    068A F069      BEQ	0x0698
    068B 1BB3      SUB	R27,R19
    068C F009      BEQ	0x068E
    068D F472      BPL	0x069C
    068E 2388      TST	R24
    068F F022      BMI	0x0694
    0690 E010      LDI	R17,0
    0691 E604      LDI	R16,0x64
    0692 940C064E  JMP	lpm32
    0694 E010      LDI	R17,0
    0695 E60A      LDI	R16,0x6A
    0696 940C064E  JMP	lpm32
    0698 E010      LDI	R17,0
    0699 E608      LDI	R16,0x68
    069A 940C064E  JMP	lpm32
    069C 9533      INC	R19
    069D F3D2      BMI	0x0698
    069E E030      LDI	R19,0
    069F 50B8      SUBI	R27,0x8
    06A0 F452      BPL	0x06AB
    06A1 5FB8      SUBI	R27,0xF8
    06A2 2F32      MOV	R19,R18
    06A3 2F21      MOV	R18,R17
    06A4 2F10      MOV	R17,R16
    06A5 E800      LDI	R16,0x80
    06A6 C006      RJMP	0x06AD
    06A7 2F01      MOV	R16,R17
    06A8 2F12      MOV	R17,R18
    06A9 E020      LDI	R18,0
    06AA 50B8      SUBI	R27,0x8
    06AB 30B8      CPI	R27,0x8
    06AC F7D0      BCC	0x06A7
    06AD 23BB      TST	R27
    06AE F031      BEQ	0x06B5
    06AF 9536      LSR	R19
    06B0 9527      ROR	R18
    06B1 9517      ROR	R17
    06B2 9507      ROR	R16
    06B3 95BA      DEC	R27
    06B4 F7D1      BNE	0x06AF
    06B5 9508      RET
int2fp:
    06B6 2722      CLR	R18
    06B7 FD17      SBRC	R17,7
    06B8 9520      COM	R18
    06B9 2733      CLR	R19
    06BA FD27      SBRC	R18,7
    06BB 9530      COM	R19
long2fp:
    06BC 940E0898  CALL	savfacc1
    06BE D002      RCALL	ITOF
    06BF 940C089B  JMP	restorefacc1
ITOF:
    06C1 2788      CLR	R24
    06C2 2333      TST	R19
    06C3 F41A      BPL	0x06C7
    06C4 940E0645  CALL	neg32
    06C6 9580      COM	R24
    06C7 2FB0      MOV	R27,R16
    06C8 2BB1      OR	R27,R17
    06C9 2BB2      OR	R27,R18
    06CA 2BB3      OR	R27,R19
    06CB F411      BNE	0x06CE
    06CC 940C08B4  JMP	minres
    06CE E1B6      LDI	R27,0x16
    06CF C005      RJMP	itof2
    06D0 95B3      INC	R27
    06D1 9536      LSR	R19
    06D2 9527      ROR	R18
    06D3 9517      ROR	R17
    06D4 9507      ROR	R16
itof2:
    06D5 2333      TST	R19
    06D6 F7C9      BNE	0x06D0
itof3:
    06D7 2322      TST	R18
    06D8 F449      BNE	0x06E2
    06D9 50B8      SUBI	R27,0x8
    06DA 2F21      MOV	R18,R17
    06DB 2F10      MOV	R17,R16
    06DC E000      LDI	R16,0
    06DD CFF9      RJMP	itof3
    06DE 95BA      DEC	R27
    06DF 0F00      LSL	R16
    06E0 1F11      ROL	R17
    06E1 1F22      ROL	R18
    06E2 F7DA      BPL	0x06DE
    06E3 2F3B      MOV	R19,R27
    06E4 940C08DE  JMP	repack
save_floatregs:
    06E6 92DA      ST	R13,-Y
    06E7 92EA      ST	R14,-Y
    06E8 92FA      ST	R15,-Y
    06E9 938A      ST	R24,-Y
    06EA 922A      ST	R2,-Y
    06EB 923A      ST	R3,-Y
    06EC 924A      ST	R4,-Y
    06ED 939A      ST	R25,-Y
    06EE 93AA      ST	R26,-Y
    06EF 93BA      ST	R27,-Y
    06F0 9508      RET
restore_floatregs:
    06F1 91B9      LD	R27,Y+
    06F2 91A9      LD	R26,Y+
    06F3 9199      LD	R25,Y+
    06F4 9049      LD	R4,Y+
    06F5 9039      LD	R3,Y+
    06F6 9029      LD	R2,Y+
    06F7 9189      LD	R24,Y+
    06F8 90F9      LD	R15,Y+
    06F9 90E9      LD	R14,Y+
    06FA 90D9      LD	R13,Y+
    06FB 9508      RET
stk2arg1:
    06FC 842A      LDD	R2,Y+10
    06FD 843B      LDD	R3,Y+11
    06FE 844C      LDD	R4,Y+12
    06FF 859D      LDD	R25,Y+13
    0700 9508      RET
stk2arg0:
    0701 850E      LDD	R16,Y+14
    0702 851F      LDD	R17,Y+15
    0703 8928      LDD	R18,Y+16
    0704 8939      LDD	R19,Y+17
    0705 9508      RET
float_epilog:
    0706 DFEA      RCALL	restore_floatregs
    0707 920F      PUSH	R0
    0708 B60F      IN	R0,0x3F
    0709 9628      ADIW	R28,0x8
    070A BE0F      OUT	0x3F,R0
    070B 900F      POP	R0
    070C 9508      RET
float_prolog:
    070D DFD8      RCALL	save_floatregs
    070E DFF2      RCALL	stk2arg0
    070F CFEC      RJMP	stk2arg1
add32fs:
    0710 D002      RCALL	add32f
    0711 940C05B6  JMP	push_arg4
add32f:
    0713 940E070D  CALL	float_prolog
    0715 D012      RCALL	FADD
    0716 940C0706  JMP	float_epilog
sub32fs:
    0718 D002      RCALL	sub32f
    0719 940C05B6  JMP	push_arg4
sub32f:
    071B 940E070D  CALL	float_prolog
    071D D009      RCALL	FSUB
    071E 940C0706  JMP	float_epilog
fret2:
    0720 2F8A      MOV	R24,R26
    0721 2F39      MOV	R19,R25
    0722 2D24      MOV	R18,R4
    0723 2D13      MOV	R17,R3
    0724 2D02      MOV	R16,R2
    0725 940C08DE  JMP	repack
FSUB:
    0727 5890      SUBI	R25,0x80
FADD:
    0728 940E08CC  CALL	unpack
    072A 3890      CPI	R25,0x80
    072B F3C9      BEQ	0x0725
    072C 3830      CPI	R19,0x80
    072D F391      BEQ	0x0720
    072E 2FB3      MOV	R27,R19
    072F 1BB9      SUB	R27,R25
    0730 F3A3      BVS	0x0725
    0731 F02A      BMI	0x0737
    0732 F439      BNE	0x073A
    0733 1502      CP	R16,R2
    0734 0513      CPC	R17,R3
    0735 0524      CPC	R18,R4
    0736 F418      BCC	0x073A
    0737 940E08C0  CALL	swapacc
    0739 CFF4      RJMP	0x072E
    073A 31B8      CPI	R27,0x18
    073B F018      BCS	0x073F
    073C 2422      CLR	R2
    073D 2433      CLR	R3
    073E 2444      CLR	R4
    073F 30B8      CPI	R27,0x8
    0740 F028      BCS	0x0746
    0741 2C23      MOV	R2,R3
    0742 2C34      MOV	R3,R4
    0743 2444      CLR	R4
    0744 50B8      SUBI	R27,0x8
    0745 CFF9      RJMP	0x073F
    0746 23BB      TST	R27
    0747 F029      BEQ	0x074D
    0748 9446      LSR	R4
    0749 9437      ROR	R3
    074A 9427      ROR	R2
    074B 95BA      DEC	R27
    074C F7D9      BNE	0x0748
    074D 2FB8      MOV	R27,R24
    074E 27BA      EOR	R27,R26
    074F F04A      BMI	0x0759
    0750 D018      RCALL	0x0769
    0751 F698      BCC	0x0725
    0752 9527      ROR	R18
    0753 9517      ROR	R17
    0754 9507      ROR	R16
    0755 5F3F      SUBI	R19,0xFF
    0756 F673      BVC	0x0725
    0757 940C08AD  JMP	maxres
    0759 D013      RCALL	usub24
    075A F411      BNE	0x075D
    075B 940C08B4  JMP	minres
    075D F410      BCC	0x0760
    075E 940E08A7  CALL	negmant
    0760 2322      TST	R18
    0761 F21A      BMI	0x0725
    0762 0F00      LSL	R16
    0763 1F11      ROL	R17
    0764 1F22      ROL	R18
    0765 5031      SUBI	R19,1
    0766 F7CB      BVC	0x0760
    0767 940C08AD  JMP	maxres
    0769 0D02      ADD	R16,R2
    076A 1D13      ADC	R17,R3
    076B 1D24      ADC	R18,R4
    076C 9508      RET
usub24:
    076D 1902      SUB	R16,R2
    076E 0913      SBC	R17,R3
    076F 0924      SBC	R18,R4
    0770 9508      RET
div32fs:
    0771 D002      RCALL	div32f
    0772 940C05B6  JMP	push_arg4
div32f:
    0774 940E070D  CALL	float_prolog
    0776 D023      RCALL	FDIV
    0777 940C0706  JMP	float_epilog
    0779 93BA      ST	R27,-Y
    077A 24DD      CLR	R13
    077B 24EE      CLR	R14
    077C 24FF      CLR	R15
    077D E1B8      LDI	R27,0x18
    077E 1502      CP	R16,R2
    077F 0513      CPC	R17,R3
    0780 0524      CPC	R18,R4
    0781 F028      BCS	0x0787
    0782 1902      SUB	R16,R2
    0783 0913      SBC	R17,R3
    0784 0924      SBC	R18,R4
    0785 9408      BSET	0
    0786 C001      RJMP	0x0788
    0787 9488      BCLR	0
    0788 1CDD      ROL	R13
    0789 1CEE      ROL	R14
    078A 1CFF      ROL	R15
    078B 0F00      LSL	R16
    078C 1F11      ROL	R17
    078D 1F22      ROL	R18
    078E 95BA      DEC	R27
    078F F771      BNE	0x077E
    0790 2D0D      MOV	R16,R13
    0791 2D1E      MOV	R17,R14
    0792 2D2F      MOV	R18,R15
    0793 91B9      LD	R27,Y+
    0794 9508      RET
fdiv10:
    0795 2422      CLR	R2
    0796 2433      CLR	R3
    0797 E2B0      LDI	R27,0x20
    0798 2E4B      MOV	R4,R27
    0799 E491      LDI	R25,0x41
FDIV:
    079A 2399      TST	R25
    079B F129      BEQ	0x07C1
    079C 2333      TST	R19
    079D F151      BEQ	0x07C8
    079E 940E08CC  CALL	unpack
    07A0 F139      BEQ	0x07C8
    07A1 278A      EOR	R24,R26
    07A2 9408      BSET	0
    07A3 0B39      SBC	R19,R25
    07A4 F0EB      BVS	0x07C2
    07A5 9446      LSR	R4
    07A6 9437      ROR	R3
    07A7 9427      ROR	R2
    07A8 9526      LSR	R18
    07A9 9517      ROR	R17
    07AA 9507      ROR	R16
    07AB DFCD      RCALL	0x0779
    07AC 2322      TST	R18
    07AD F02A      BMI	0x07B3
    07AE 0F00      LSL	R16
    07AF 1F11      ROL	R17
    07B0 1F22      ROL	R18
    07B1 5031      SUBI	R19,1
    07B2 F07B      BVS	0x07C2
    07B3 2FB0      MOV	R27,R16
    07B4 95B6      LSR	R27
    07B5 F048      BCS	0x07BF
    07B6 2300      TST	R16
    07B7 F43A      BPL	0x07BF
    07B8 2311      TST	R17
    07B9 F42A      BPL	0x07BF
    07BA E0B1      LDI	R27,1
    07BB 0F0B      ADD	R16,R27
    07BC 27BB      CLR	R27
    07BD 1F1B      ADC	R17,R27
    07BE 1F2B      ADC	R18,R27
    07BF 940C08DE  JMP	repack
    07C1 C006      RJMP	0x07C8
    07C2 E7BF      LDI	R27,0x7F
    07C3 2F3B      MOV	R19,R27
    07C4 2B2B      OR	R18,R27
    07C5 EF0F      LDI	R16,0xFF
    07C6 EF1F      LDI	R17,0xFF
    07C7 9508      RET
    07C8 2700      CLR	R16
    07C9 2711      CLR	R17
    07CA 2722      CLR	R18
    07CB 2733      CLR	R19
    07CC 2788      CLR	R24
    07CD 9508      RET
cmp32f:
    07CE 940E070D  CALL	float_prolog
    07D0 D002      RCALL	FLTCP
    07D1 940C0706  JMP	float_epilog
FLTCP:
    07D3 D002      RCALL	0x07D6
    07D4 23BB      TST	R27
    07D5 9508      RET
    07D6 2333      TST	R19
    07D7 F082      BMI	0x07E8
    07D8 2399      TST	R25
    07D9 F042      BMI	0x07E2
    07DA 1739      CP	R19,R25
    07DB F040      BCS	0x07E4
    07DC F429      BNE	0x07E2
    07DD 1502      CP	R16,R2
    07DE 0513      CPC	R17,R3
    07DF 0524      CPC	R18,R4
    07E0 F018      BCS	0x07E4
    07E1 F021      BEQ	0x07E6
    07E2 E0B1      LDI	R27,1
    07E3 9508      RET
    07E4 EFBF      LDI	R27,0xFF
    07E5 9508      RET
    07E6 27BB      CLR	R27
    07E7 9508      RET
    07E8 2399      TST	R25
    07E9 F7D2      BPL	0x07E4
    07EA 1739      CP	R19,R25
    07EB F3B0      BCS	0x07E2
    07EC F7B9      BNE	0x07E4
    07ED 1502      CP	R16,R2
    07EE 0513      CPC	R17,R3
    07EF 0524      CPC	R18,R4
    07F0 F388      BCS	0x07E2
    07F1 F3A1      BEQ	0x07E6
    07F2 CFF1      RJMP	0x07E4
    07F3 E7BF      LDI	R27,0x7F
    07F4 2F3B      MOV	R19,R27
    07F5 2B2B      OR	R18,R27
    07F6 EF0F      LDI	R16,0xFF
    07F7 EF1F      LDI	R17,0xFF
    07F8 9508      RET
    07F9 2700      CLR	R16
    07FA 2711      CLR	R17
    07FB 2722      CLR	R18
    07FC 2733      CLR	R19
    07FD 2788      CLR	R24
    07FE 9508      RET
mpy32fs:
    07FF D002      RCALL	mpy32f
    0800 940C05B6  JMP	push_arg4
mpy32f:
    0802 940E070D  CALL	float_prolog
    0804 D002      RCALL	FMUL
    0805 940C0706  JMP	float_epilog
FMUL:
    0807 940E08CC  CALL	unpack
    0809 F379      BEQ	0x07F9
    080A 3890      CPI	R25,0x80

⌨️ 快捷键说明

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