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

📄 fft.asm

📁 基于DSP TMS2000的FFT快速傅利叶变换源程序
💻 ASM
字号:
		.title	"fft.asm"
		.copy	"init.h"
		.copy	"vector.h"
I		.EQU	98
J		.EQU	99
L		.EQU	101
M		.EQU	102
B		.EQU	103
TTTB	.EQU	104
R1		.EQU	105
R2		.EQU	106
I1		.EQU	107
I2		.EQU	108
I128	.EQU	109
I512	.EQU	110
I768	.EQU	111
I800	.EQU	112
S1		.EQU	114
XT		.EQU	115
C1		.EQU	116
YT		.EQU	117
T		.EQU	118
TABLE	.EQU	2000h

		.data
		
SIC:	.word	03FFh,03FEh,03FBh,03F4h,03ECh,03E1h,03D3h,03C4h
		.word	03B2h,039Dh,0387h,036Eh,0353h,0336h,0317h,02F6h
		.word	02D4h,02AFh,0289h,0261h,0238h,020Eh,01E2h,01B5h
		.word	0187h,0158h,0129h,00F8h,00C7h,0096h,0064h,0032h
		.word	0000h,0FFCEh,0FF9Ch,0FF6Ah,0FF39h,0FF08h,0FED7h,0FEA8h
		.word	0FE79h,0FE4Bh,0FE1Eh,0FDF2h,0FDC8h,0FD9Fh,0FD77h,0FD51h
		.word	0FD2Ch,0FD0Ah,0FCE9h,0FCCAh,0FCADh,0FC92h,0FC79h,0FC63h
		.word	0FC4Eh,0FC3Ch,0FC2Dh,0FC1Fh,0FC14h,0FC0Ch,0FC05h,0FC02h
		.word	0FC00h,0FC02h,0FC05h,0FC0Ch,0FC14h,0FC1Fh,0FC2Dh,0FC3Ch
		.word	0FC4Eh,0FC63h,0FC79h,0FC92h,0FCADh,0FCCAh,0FCE9h,0FD0Ah
		.word	0FD2Ch,0FD51h,0FD77h,0FD9Fh,0FDC8h,0FDF2h,0FE1Eh,0FE4Bh
		.word	0FE79h,0FEA8h,0FED7h,0FF08h,0FF39h,0FF6Ah,0FF9Ch,0FFCEh
        
        .text
START:
		CLRC	CNF
		LDP		#0h
		SETC	Intm
		SPLK	#0000h,60h
		OUT		60h,WSGR
		SPLK	#0FFFFh,IFR
		SPLK	#0004h,IMR
		SPLK	#0323h,61h
		SPLK	#0000h,62h
		SPLK	#07FD8h,63h
		SPLK	#0C000h,64h
		LAR		AR1,#62h
		LAR		AR0,#64h
		LAR		AR6,#2000h
		LAR		AR3,#127
		SPLK	#0000h,67h
		OUT		67h,TIM
		SPLK	#0F9h,65h
		OUT		65h,PRD
		SPLK	#0C20h,66h
		OUT		66h,TCR
		CLRC	INTM
WAIT:
		IDLE
		B		WAIT
TIMER:
		LACC	#0
		MAR		*,AR1
		LT		*-,0
		MPY		*-,1
		LTD		*,0
		MPY		*+,1
		APAC
		SACH	*+,2,AR6
		SACH	*+,2,AR3
		CLRC	INTM
		BANZ	NEXT
		SPLK	#0C30h,67h
		OUT		67h,TCR
		B		START1
NEXT:
		NOP
		RET
INPT1:	RET
UART:	RET
INPT23:	RET
CODTX:	RET
CODRX:	RET
START1:
		LALK	128
		SACL	I128
		LALK	512
		SACL	I512
		LALK	768
		SACL	I768
		LALK	800
		SACL	I800
REAL:
		LRLK	AR0,64
		LRLK	AR1,512
		LRLK	AR2,127
		LAR		AR3,#TABLE
REPR:
		LARP	AR3
		LACC	*+,0,AR1
		SACL	*BR0+
		LARP	AR2
		BANZ	REPR
		LACK	0
		LRLK	AR1,640
		LRLK	AR2,127
REP1I:
		LARP	AR1
		SACL	*+
		LARP	AR2
		BANZ	REP1I
W:
		LRLK	AR1,768
		LRLK	AR2,95
		LAR		AR3,#SIC
LL:
		LARP	AR3
		LACC	*+,0,AR1
		SACL	*+
		LARP	AR2
		BANZ	LL
		LACK	0
		SACL	B
LOOP1:
		LAC		B
		ADDK	1
		SACL	B
		LARK	AR0,7
		LAR		AR1,B
		LARP	AR1
		CMPR	2
		BBNZ	GLP
		LAR		AR7,B
		LARP	AR7
		LACK	1
		SACL	TTTB
B1:
		LT		TTTB
		MPYK	#2
		PAC
		SACL	TTTB
		BANZ	B1
		LAC		TTTB
		CLRC	C
		ROR
		SACL	TTTB
		CLRC	C
		ROR
		SACL	L
		LACK	7
		SUB		B
		SACL	T
		LAR		AR7,T
		LACK	1
		SACL	M
B2:
		LT		M
		MPYK	#2
		PAC
		SACL	M
		CLRC	C
		ROR
		SACL	M
		LACK	0
		SACL	I
LOOP2:
		LARK	AR0,127
		LAR		AR7,I
		LARP	AR7
		CMPR	2
		BBNZ	LOOP1
		LACK	0
		SACL	J
LOOP3:
		LAC		L
		SUBK	1
		SACL	T
		LAR		AR0,T
		LAR		AR7,J
		LARP	AR7
		CMPR	2
		BBNZ	INCRI
		B		MAIN
INCRI:
		LAC		I
		ADD		TTTB
		SACL	I
		B		LOOP2
MAIN:
		SPM		0
		SOVM
		SSXM
		LARP	AR5
		LAC		I
		ADD		J
		ADD		I512
		SACL	T
		LAR		AR5,T
		LAC		*
		SACL	R1
		LAC		T
		ADD		I128
		SACL	T
		LAR		AR5,T
		LAC		*
		SACL	I1
		LAC		T
		SUB		I128
		ADD		L
		SACL	T
		LAR		AR5,T
		LAC		*
		SACL	R2
		LAC		T
		ADD		I128
		SACL	T
		LAR		AR5,T
		LAC		*
		SACL	I2
		LARP	AR5
		LT		J
		MPY		M
		PAC
		ADD		I768
		SACL	T
		LAR		AR5,T
		LAC		*
		SACL	C1
		LAC		T
		ADDK	32
		SACL	T
		LAR		AR5,T
		LAC		*
		SACL	S1
		LARP	AR5
		LAC		I
		ADD		J
		ADD		I512
		SACL	T
		LAR		AR5,T
		LT		R2
		MPY		C1
		PAC
		LT		I2
		MPY		S1
		SPAC
		SACH	XT,6
		LACC	R1
		ADD		XT
		ROR
		SACL	*
		LAC		T
		ADD		I128
		SACL	T
		LAR		AR5,T
		LT		R2
		MPY		S1
		PAC
		LT		I2
		MPY		C1
		APAC
		SACH	YT,6
		LACC	I1
		ADD		YT
		ROR
		SACL	*
		LAC		T
		SUB		I128
		ADD		L
		SACL	T
		LAR		AR5,T
		LACC	R1
		SUB		XT
		ROR
		SACL	*
		LAC		T
		ADD		I128
		SACL	T
		LAR		AR5,T
		LACC	I1
		SUB		YT
		ROR
		SACL	*
		LAC		J
		ADDK	1
		SACL	J
		B		LOOP3
GLP:
		LRLK	AR1,127
		LRLK	AR2,512
		LRLK	AR3,640
		LRLK	AR4,896
PS:
		ZAC
		MPYK	0
		LARP	AR2
		SQRA	*+,AR3
		SQRA	*+,AR4
		APAC
		SACH	*+
		LARP	AR1
		BANZ	PS
WAIT1:
		B		WAIT1
		.end																														        

⌨️ 快捷键说明

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