?? c2cx0032.asm
字號:
N .set 32 ; 32點FFT
.include C2CXRAD2.MAC
.include DIVID.ASM
.def TWIDLEN,FFTLEN,TWIDSTRT,INPUT,INIT,FFT
.def STAGE1,STAGE3,STAGE4,SINES4,STAGE5,SINES5
.sect "twiddles"
; FFT的函數表
TWIDSTRT .set $
.include twiddles.q15
TWIDLEN .set $-TWIDSTRT
;
INPUT .usect "input",N*2 ; 輸入數據地址
TWID .usect "twid",TWIDLEN
DATA .data
.space N*2*16 ; 輸出數據的地址
.include init-fft.asm
.sect "fftp"
FFT: lar ar3,DATAADD ; 轉移 2*N 字 從 'input' 到 'data'
lar ar0,NN
rpt #N*2-1 ; 2*N 次
bldd #INPUT,*BR0+
;
;
;
STAGE1: lar ar0,#7
lar ar1,DATAADD
lar ar2,DATA2
lar ar3,DATA4
lar ar4,DATA6
COMBO2X 8 ; 重復8次
;
;
;
STAGE3: lar ar0,#9 ;修改寄存器= 9
lar ar1,DATAADD
lar ar2,DATA8
stage3l 4 ;重復4次
;
STAGE4: lar ar0,#16 ; 修改寄存器= 16
sar ar0,TEMP+1
lar ar1,DATAADD
lar ar2,DATA16
lar ar6,#1
;
loop4: lar ar3,cos4 ; 啟動余旋4
lar ar4,sin4 ; 啟動正旋4
do_btfly 8
banz loop4,*-,ar2
STAGE5: lar ar1,DATAADD
lar ar2,DATA32
;
lar ar3,cos5 ; 啟動余旋5
lar ar4,sin5 ; 啟動正旋5
do_loops 16
ex_btfly
FFTLEN .set $-FFT
.end
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -