📄 c5_5_2.asm
字号:
.def start
.data
sinx: .word 6957,13597,19617,24742,28740,31426,32680,32444,30728,27612,23236,17801
.word 11554, 4780,-2212,-9102,-15578,-21344,-26136,-29736,-31981,-27609,-6947
.word 17814, 32064, 27396, 6564,-18141,-32142,-27180,-6181, 18465, 32216, 26959
.word 5796,-18787,-32285,-26735,-5411, 19106, 32350, 26507,-13377,-32031, 149, 32092
.word 13103,-26681, -24122, 16720, 31026,-3908,-32640,-9571, 28687, 21418,-19843
.word -29612, 7614, 32756, 5912,-30315,-18431, 31898, -4428,-28725, 25014, 10799
.word -32753, 12673, 23671,-29636,-2432, 31379,-20055,-17007, 32243,-6100,-27872
.word 26074, 9186,-32657, 14217, 22469,-32207, 29583,-15605,-4362, 22655,-32253
.word 29472,-15379,-4617, 22841,-32298, 29358, -15151,-4872, 23024,-32340, 29243
.word -14922,-5126, 23207,-32381, 32609,-32738, 32765,-32693, 32519,-32246, 31873
.word -31403, 30836,-30174, 29420,-28575, 27642,-26624, 25525,-24347, 23094,-21770
.word 20379,-18926, 17414,-28889, 32756, -27996, 15863, 448,-16640, 28451,-32768
.word 28456,-16649, 458, 15854,-27990, 32755,-28894, 17423,-1364,-15055, 27509,-32718
.word 29310,-453,-28894, 27003, 4081,-30753, 24177, 8537,-32022, 20887, 12829,-32676
.word 17196, 16875, -32702, 13174, 20596,-32100, 8900, 23922,-30881, 4454,32743,1893
.word -32376,-8169, 30792, 14138,-28052,-19576, 24257, 24278,-19551,-28068, 14110
.word 30803,-8139,-32381, 1862, 32742, 4485,-31872,-10663,-17986,-24195,-28904
.word -31821,-32767,-31681,-28633,-23809,-17510,-10126,-2114, 6029, 13798, 20712
.word 26342, 30340,32458,32563,30651, 26839, 21363,-3724,-26422,-32171,-17283
.word 8691, 29091, 30829, 12791,-13452,-31066,-28752,-7994, 17891, 32300, 25989
.word 3007,-21904,-32765,-22607, 2052, 25395, 24756,-16906,-30553, 6428, 32758
.word 4806,-31110,-15474, 25803, 24323,-17462,-30311, 7068, 32735, 4158,-31309
.bss zpoint,1000
.bss zpointspace,1000
.bss spacediff,1000
.bss result,1000
.text
start: MVKL sinx,A2
MVKH sinx,A2
MVKL zpoint,A4
MVKH zpoint,A4
MVKL zpointspace,A5
MVKH zpointspace,A5
MVKL spacediff,A3
MVKH spacediff,A3
MVKL result,A1
MVKH result,A1
MVK 250,B4
ZERO B9
ZERO B2
MV A4,A8
loop: SUB B4,1,B4
LDW *A2++,A6
NOP 5
LDW *A2,A7
NOP 5
MPY A6,A7,A15
CMPLTU 0,A15,B0
[!B0] B zerocycle
SHRU A6,15,A9
SHRU A7,15,A11
XOR A9,A11,A10
MV A10,B0
[!B0] B loop
NOP 5
zerocycle: STW A2,*A8++
ADD B2,1,B2
CMPLTU 0,B4,B0
[B0] B loop
NOP 5
SUB B2,1,B2
MV B2,B3
SUB B3,1,B3
MV A4,A8
MV A5,A13
loopin: SUB B2,1,B2
LDW *A8++,A6
NOP 5
LDW *A8,A7
NOP 5
SUB A7,A6,A12
STW A12,*A13++
CMPLTU 0,B2,B0
[B0] B loopin
NOP 5
MV A5,A13
MV A3,A9
SUB B3,1,B3
diff: SUB B3,1,B3
LDW *A13++,A6
NOP 5
LDW *A13,A7
NOP 5
SUB A7,A6,A8
ABS A8,A8
STW A8,*A9++
ADD B9,1,B9
CMPLTU 0,B3,B0
[B0] B diff
NOP 5
MV A3,A9
MV A1,A10
ZERO B2
cycpoint: LDW *A9++,A6
NOP 5
CMPLTU 2,A6,A12
MV A12,B0
[!B0] B cycpoint
NOP 5
incyc: LDW *A9++,A6
NOP 5
CMPLTU 2,A6,A12
MV A12,B0
[B0] B incyc
NOP 5
MVK 1,B6
SUB A9,4,A11
incycpoint: LDW *A9++,A7
NOP 5
CMPLTU 2,A7,A13
OR A13,B0,B0
[B0] B incyc
NOP 5
ADD B6,1,B6
CMPLTU B6,3,B1
[B1] B incycpoint
NOP 5
SUB A11,A3,A11
ADD A4,A11,A11
LDW *A11,A12
NOP 5
ADD B2,1,B2
STW A12,*A10++
NOP 5
SUB A9,A3,A14
SHR A14,2,A14
MV A14,B8
CMPLTU B8,B9,B0
[B0] B cycpoint
NOP 5
LDW *A1,A10
NOP 5
SUB B2,2,B2
SHL B2,2,B7
ADD A1,B7,A12
LDW *A12,A11
NOP 5
SUB A11,A10,A12
SHR A12,2,A12
MVK -1,A13
avg: ADD A13,1,A13
SUB A12,B2,A12
CMPLT 0,A12,B0
[B0] B avg
NOP 5
MVK 16,B0
ADD A12,B2,A12
MVKL 0FFFEh,A14
MVKLH 0FFFFh,A14
ZERO A15
ZERO A10
avgin: SUBC A12,B2,A12
EXTU A12,31,31,A10
AND A12,A14,A12
SHL A15,1,A15
ADD A15,A10,A15
SUB B0,1,B0
[B0] B avgin
NOP 5
SHL A13,16,A13
ADD A13,A15,A13
loopout: NOP
B loopout
NOP 5
.end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -