📄 dive.sa
字号:
.global _dive
_dive .cproc dataR,dataI
.reg i,k,l,n,p,x0,x1,x2,x3,x4,x5,x6,x7,xx
.reg xx0,xx1,xx2,xx3,xx4,xx5,xx6,xx7,xxt,xxk
.reg xa1,xa2,xa3,xa4,xa5,xa6,xa7,xa8
.reg cntr,cm,temp1,temp2,dr,di,drx,dix
ZERO i
MVk 256,cntr
MVk 128,xx0
MVk 64,xx1
MVk 32,xx2
MVk 16,xx3
MVK 8,xx4
MVK 4,xx5
MVK 2,xx6
MVK 1,xx7
LOOP: .trip 256,256,0
MV i,k
MV i,l
MV i,p
ZERO xxt
ZERO xxk
AND i,1,x7
AND i,2,x6
AND k,4,x5
AND k,8,x4
AND i,xx3,x3
AND i,xx2,x2
AND k,xx1,x1
AND k,xx0,x0
[x7] ADD xx0,xxt,xxt
[x6] ADD xx1,xxt,xxt
[x5] ADD xx2,xxt,xxt
[x4] ADD xx3,xxt,xxt
[x3] ADD xx4,xxk,xxk
[x2] ADD xx5,xxk,xxk
[x1] ADD xx6,xxk,xxk
[x0] ADD xx7,xxk,xxk
ADD xxt,xxk,xx
CMPLT l,xx,cm
[cm] LDW .D1 *+dataR[l],dr
[cm] LDW .D2 *+dataI[l],di
[cm] LDW .D1 *+dataR[xx],drx
[cm] LDW .D2 *+dataI[xx],dix
[cm] MV dr,temp1
[cm] MV di,temp2
[cm] STW .D1 drx,*+dataR[l]
[cm] STW .D2 dix,*+dataI[l]
[cm] STW .D1 temp1,*+dataR[xx]
[cm] STW .D2 temp2,*+dataI[xx]
ADD i,1,i
[cntr] SUB cntr,1,cntr
[cntr] B LOOP
.endproc
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -