📄 asmm.sa
字号:
.global _fft1
_fft1: .cproc dataR,dataI,cos_tab,sin_tab,j,b,p
.reg k,tempR1,tempR2,tempI1,tempI2,cntr,cos,sin,t,dataRb,dataIb,dataRk,dataIk,kb
.reg cm
MV .S1 j,k
|| MPY .M1 b,2,t;SHL b,1,t
|| MVK .S2 256,cm
|| LDW .D1T1 *+cos_tab[p],cos
|| LDW .D2T2 *+sin_tab[p],sin
Loop: .trip 1,128
ADD .L1 k,b,kb
LDW .D1T1 *+dataR[kb],dataRb
|| LDW .D2T2 *+dataI[kb],dataIb
MPYSP .M1 dataRb,cos,tempR1
|| MPYSP .M2 dataIb,sin,tempR2
|| LDW .D1T1 *+dataR[k],dataRk
|| LDW .D2T2 *+dataI[k],dataIk
MPYSP .M1X dataRb,sin,tempI2
|| MPYSP .M2X dataIb,cos,tempI1
ADDSP .L1X tempR1,tempR2,tempR1
|| SUBSP .L2X tempI1,tempI2,tempI1
SUBSP .L1 dataRk,tempR1,dataRb
|| SUBSP .L2 dataIk,tempI1,dataIb
ADDSP .L1 dataRk,tempR1,dataRk
|| ADDSP .L2 dataIk,tempI1,dataIk
|| STW .D1T1 dataRb,*+dataR[kb]
|| STW .D2T2 dataIb,*+dataI[kb]
STW .D1T1 dataRk,*+dataR[k]
|| STW .D2T2 dataIk,*+dataI[k]
ADD t,k,k
CMPLT k,cm,cntr
[cntr] B Loop
.endproc
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -