📄 exp4b.asm
字号:
;
; exp4b.asm: Call dft_128 to compute DFT
;
N .set 128
stk_size .set 0x100
stack .usect ".stack",stk_size
sysstack .usect ".stack",stk_size
_Xin .usect "in_data",2*N
_Xout .usect "out_data",2*N
_Spectrum .usect "out_data",N
.sect .data
input .copy input.inc
.def start
.def _Xin,_Xout,_Spectrum
.ref _dft_128,_mag_128
.sect .text
start
bset SATD ; Set up saturation for D unit
bset SATA ; Set up saturation for A unit
bset SXMD ; Set up sign extension mode
bclr C54CM ; Disable C54x compatibility mode
bclr CPL ; Turn off compiler mode
amov #(stack+stk_size),XSP ; Setup DSP stack
mov #(sysstack+stk_size),SSP ; Setup system stack
mov #N-1,BRC0 ; Init counter for loop N times
amov #input,XAR0 ; Input data array pointer
amov #_Xin,XAR1 ; Xin array pointer
rptblocal complex_data-1 ; Form complex data
mov *AR0+,*AR1+
mov #0,*AR1+
complex_data
amov #_Xin,XAR0 ; Xin array pointer
amov #_Xout,XAR1 ; Xout array pointer
call _dft_128 ; Perform 128-ponts DFT
amov #_Xout,XAR0 ; Xout pointer
amov #_Spectrum,XAR1 ; Spectrum array pointer
call _mag_128 ; Computer squared-mag response
here
b here
.end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -