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

📄 fft.asm

📁 CCS调试实验文件夹下共有9个文件夹
💻 ASM
字号:
*************************************
*Radix-2,DIT,Real-input FFT Program *
*            fft.asm             *
*************************************
			.mmregs
			.global reset,start,sav_sin,sav_idx,sav_grp
            .def  	start,_c_int00 
            .data 
DATA		.space	1024
            .copy  	"mdata1.inc"      

N			.set	128
LOGN		.set	7         
sav_grp		.usect	"tempv",3
sav_sin		.set	sav_grp+1
sav_idx		.set	sav_grp+2

BOS			.usect	"stack",0Fh
TOS			.usect	"stack",1 
         
	  	    .copy 	"twiddle1.inc"     
			.copy 	"twiddle2.inc"

			
			.text
_c_int00
		b start 
		nop
		nop
start:
			STM		#TOS,SP
			LD		#0,DP
			SSBX	FRCT           
			STM 	#2*N,BK 
			STM		#INPUT,AR3
			STM		#DATA,AR7
			MVMM	AR7,AR2
			STM		#N-1,BRC
			RPTBD	plend-1
			STM 	#N,AR0
			LDM 	AR3,A    
			READA   *AR2+ 
			ADD     #1,A
			READA   *AR2+
			MAR		*AR3+0B
plend:
			STM		#0,BK
			LD		#-1,ASM
			MVMM	AR7,AR2
			STM		#DATA+2,AR3
			STM	    #N/2-1,BRC
			LD		*AR2,16,A
			RPTBD	s1end-1
			STM		#3,AR0
			SUB		*AR3,16,A,B
			ADD		*AR3,16,A
			STH		A,ASM,*AR2+
			ST		B,*AR3+
			||LD	*AR2,A
			SUB		*AR3,16,A,B
			ADD		*AR3,16,A
			STH		A,ASM,*AR2+0
			ST		B,*AR3+0%
			||LD	*AR2,A
s1end:
			MVMM	AR7,AR2
			STM		#DATA+4,AR3
			STM		#N/4-1,BRC
			LD		*AR2,16,A
			RPTBD	s2end-1
			STM		#5,AR0
			SUB		*AR3,16,A,B
			ADD		*AR3,16,A
			STH		A,ASM,*AR2+
			ST		B,*AR3+
			||LD	*AR2,A
			SUB		*AR3,16,A,B
			ADD		*AR3,16,A
			STH		A,ASM,*AR2+
			STH		B,ASM,*AR3+
			MAR		*AR3+
			ADD		*AR2,*AR3,A
			SUB		*AR2,*AR3-,B
			STH		A,ASM,*AR2+
			SUB		*AR2,*AR3,A
			ST		B,*AR3
			||LD	*AR3+,B
			ST		A,*AR2
			||ADD	*AR2+0%,A
			ST		A,*AR3+0%
			||LD	*AR2,A
s2end:
			STM		#512,BK
			ST		#128,@sav_sin
			STM		#128,AR0
			STM		#TWI2,AR4
			STM     #TWI1,AR5
			STM		#-3+LOGN,AR7
			ST		#-1+N/8,@sav_grp
			STM		#3,AR6
			ST		#8,@sav_idx
stage:
			STM		#DATA,AR2
			LD		@sav_idx,A
			ADD		*(AR2),A
			STLM	A,AR3
			MVDK	@sav_grp,AR1
group:     
			MVMD	AR6,BRC
			RPTBD	bend-1
			LD		*AR4,T
			MPY		*AR3+,A
			MACR	*AR5+0%,*AR3-,A
			ADD		*AR2,16,A,B
			ST		B,*AR2
			||SUB	*AR2+,B
			ST		B,*AR3
			||MPY	*AR3+,A
			MASR	*AR3,*AR4+0%,A
			ADD		*AR2,16,A,B
			ST		B,*AR3+
			||SUB	*AR2,B
			LD		*AR4,T
			ST		B,*AR2+
			||MPY	*AR3+,A
bend:
			PSHM	AR0
			MVDK	sav_idx,AR0
			MAR		*AR2+0
			MAR		*AR3+0
			BANZD	group,*AR1-
			POPM	AR0
			MAR		*AR3-
			LD		sav_idx,A
			SUB		#1,A,B
			STLM	B,AR6
			STL		A,1,sav_idx
			LD		sav_grp,A
			STL		A,ASM,sav_grp
			LD		sav_sin,A
			STL		A,ASM,sav_sin
			BANZD	stage,*AR7-
			MVDK	sav_sin,AR0
;
			STM		#DATA+2,AR2
			STM		#DATA+2*N-2,AR3
			STM		#DATA+2*N+3,AR7
			STM		#DATA+4*N-1,AR6
			STM		#-2+N/2,BRC
			RPTBD	p3end-1
			STM		#3,AR0
;
			ADD		*AR2,*AR3,A
			SUB     *AR2,*AR3,B			
			STH		A,ASM,*AR2+
			STH		A,ASM,*AR3+
			STH		B,ASM,*AR6-
			NEG		B
			STH		B,ASM,*AR7-
			ADD		*AR2,*AR3,A
			SUB		*AR2,*AR3,B
			STH		A,ASM,*AR2+
			STH		A,ASM,*AR3-0
			STH		B,ASM,*AR6-
			NEG		B
			STH		B,ASM,*AR7+0
p3end:
			ST		#0,*AR6-
			ST		#0,*AR6
p3test:
			STM		#DATA,AR2
			STM		#DATA+1,AR4
			STM		#DATA+2*N+1,AR5
			ADD		*AR2,*AR4,A
			SUB		*AR2,*AR4,B
			STH		A,ASM,*AR2+
			ST		#0,*AR2
			MVDD	*AR2+,*AR5-
			STH		B,ASM,*AR5
;
			STM		#DATA+4*N-1,AR3
			STM		#TWI2+512/N,AR4
			STM		#TWI1+512/N,AR5
			STM		#N-2,BRC
			RPTBD	p4end-1
			STM		#512/N,AR0
			LD		*AR2+,16,A
			MACR	*AR4,*AR2,A
			MASR	*AR5,*AR3-,A
			LD		*AR3+,16,B
			MASR	*AR5+0%,*AR2-,B
			MASR	*AR4+0%,*AR3,B
			STH		A,ASM,*AR2+
			STH		B,ASM,*AR2+
			NEG		B
			STH		B,ASM,*AR3-
			STH		A,ASM,*AR3-
p4end:		B		p4end
			.end			

⌨️ 快捷键说明

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