📄 load.asm
字号:
.title "correlation data"
.mmregs
.global windowing,calculate_r0,normalize,r1_rorder
.global _c_int00
lengthfame .set 240
lporder .set 10
.bss outputdata,11*2
.bss savet,1
.bss add_count,1
.bss inputdata,240
.bss weightcoefficient,240
.text
_c_int00:
windowing:
ld #outputdata,dp
nop
stm #weightcoefficient,ar5
rpt #lengthfame-1
mvpd windows_coefficient,*ar5+
stm #inputdata,ar2
stm #weightcoefficient,ar4
ssbx sxm;enable sign extend.
ssbx FRCT ; prepare for fraction mpy
stm #240,brc
rptb endblock1-1
ld *ar2,t
mpyr *ar4+,a
sth a,*ar2+;ar2--->inputdata ar4--->outputdata.
endblock1:
nop
nop
calculate_r0:
stm #inputdata,ar2
;ssbx FRCT ; prepare for fraction computation
rptz a,#lengthfame-1
squra *ar2+,a
normalize:
exp a; normalize the result.
st t,savet
norm a
stm #outputdata,ar1
dst a,*ar1+
r1_rorder:
;calcute r1---r9
ld #240-1,a
stl a,add_count ;initialize count of adding
stm #inputdata,ar0
stm #9,brc ;counts of block circulation,here count of circumlation is 10.
rptb endblock2-1
stm #inputdata,ar2 ;set address of ar2.
mar *ar0+
mvmm ar0,ar4 ;set address of ar4.
ld add_count,a
sub #1,a
stl a,add_count ;get count of mac
ld #0,a
;ssbx FRCT
rpt add_count
mac *ar2+,*ar4+,a ;get r(i)
ld savet,t
norm a ;normalize r(i)
dst a,*ar1+ ;save r(i)
endblock2:
nop
nop
end:
b end
windows_coefficient:
.word 2621, 2623, 2629, 2638, 2651, 2668, 2689, 2713, 2741, 2772
.word 2808, 2847, 2890, 2936, 2986, 3040, 3097, 3158, 3223, 3291
.word 3363, 3438, 3517, 3599, 3685, 3774, 3867, 3963, 4063, 4166
.word 4272, 4382, 4495, 4611, 4731, 4853, 4979, 5108, 5240, 5376
.word 5514, 5655, 5800, 5947, 6097, 6250, 6406, 6565, 6726, 6890
.word 7057, 7227, 7399, 7573, 7750, 7930, 8112, 8296, 8483, 8672
.word 8863, 9057, 9252, 9450, 9650, 9852, 10055, 10261, 10468, 10677
.word 10888, 11101, 11315, 11531, 11748, 11967, 12187, 12409, 12632, 12856
.word 13082, 13308, 13536, 13764, 13994, 14225, 14456, 14688, 14921, 15155
.word 15389, 15624, 15859, 16095, 16331, 16568, 16805, 17042, 17279, 17516
.word 17754, 17991, 18228, 18465, 18702, 18939, 19175, 19411, 19647, 19882
.word 20117, 20350, 20584, 20816, 21048, 21279, 21509, 21738, 21967, 22194
.word 22420, 22644, 22868, 23090, 23311, 23531, 23749, 23965, 24181, 24394
.word 24606, 24816, 25024, 25231, 25435, 25638, 25839, 26037, 26234, 26428
.word 26621, 26811, 26999, 27184, 27368, 27548, 27727, 27903, 28076, 28247
.word 28415, 28581, 28743, 28903, 29061, 29215, 29367, 29515, 29661, 29804
.word 29944, 30081, 30214, 30345, 30472, 30597, 30718, 30836, 30950, 31062
.word 31170, 31274, 31376, 31474, 31568, 31659, 31747, 31831, 31911, 31988
.word 32062, 32132, 32198, 32261, 32320, 32376, 32428, 32476, 32521, 32561
.word 32599, 32632, 32662, 32688, 32711, 32729, 32744, 32755, 32763, 32767
.word 32767, 32741, 32665, 32537, 32359, 32129, 31850, 31521, 31143, 30716
.word 30242, 29720, 29151, 28538, 27879, 27177, 26433, 25647, 24821, 23957
.word 23055, 22117, 21145, 20139, 19102, 18036, 16941, 15820, 14674, 13505
.word 12315, 11106, 9879, 8637, 7381, 6114, 4838, 3554, 2264, 971
.end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -