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

📄 example 3-9.asm

📁 《基于TI DSP的通用算法实现》程序代码
💻 ASM
字号:

;Example 3 - 9. Butterfly Unit ASM Listing for TMS320C54x

	STM		#fft_data, PX 		; PX 指向蝶形结运算第一个数据的实部(PR)
	LD		d_data_idx, A
	ADD		*(PX), A
	STLM 		A,  QX			; QX 指向蝶形结运算第二个数据的实部(QR)
	MVDK  		d_grps_cnt,  GROUP	; AR1是组个数计数器

GROUP:							; 以下是每一组的运算过程
    	MVMD		butter_counter, BRC		; 将每一组中的蝶形结的个数装入BRC
    	RPTBD		butterflyend - 1			
    	LD  		*WR, T				; WR是旋转因子实部,WI为虚部
    	MPY  		*QX+, A				; A:=QR*WR || QX*QI
    	MAC  		*WI+0%, *QX-, A			; A:=QR*WR+QI*WI 
    	ADD  		*PX, 16, A, B			; B:=(QR*WR+QI*WI)+PR || QX指向QR
	ST    		B, *PX				; PR':=((QR*WR+QI*WI)+PR)/2
||	SUB 		*PX+, B		            	; B:=PR-(QR*WR+QI*WI)
   	ST     		B, *QX				; QR':=(PR-(QR*WR+QI*WI))/2
|| 	MPY 		*QX+, A		           	 ; A:=QR*WI  [T=WI] || QX指向QI
	MAS   		*QX, *WR+0%, A			; A:=QR*WI-QI*WR
	ADD   		*PX, 16, A, B			; B:=(QR*WI-QI*WR)+PI
	ST     		B, *QX+				; QI':=((QR*WI-QI*WR)+PI)/2
                                        		; || QX指向QR
|| 	SUB  		*PX, B		              	; B:=PI-(QR*WI-QI*WR)
	LD   		*WR, T				; T:=WR
	ST    		B, *PX+		      		; PI':=(PI-(QR*WI-QI*WR))/2
                                        		; || PX指向PR
|| 	MPY  		*QX+, A				; A:=QR*WR || QX指向QI
butterflyend:

⌨️ 快捷键说明

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