📄 c5_1_2.asm
字号:
.mmregs
DATA_SIZE .set 256
FILTER .set 10
STACK_SIZE .set 256
STACK .usect "stack",STACK_SIZE
;SYSTEM_STACK .set STACK_SIZE+STACK
DATA_DP .usect "filter_vars",0
filter .usect "filter_vars",FILTER*2
outputdata .usect "filter_vars",DATA_SIZE
errordata .usect "filter_vars",DATA_SIZE
.def start
.data
.global inputdata
inputdata
.WORD 10408, 16451, 10820, 12227, 18146, 13106, 11485
.WORD 15737, 9840, 3644, 8171, 4118, -4355, -624
.WORD -2443, -11575, -10290, -8288, -16156, -16663, -10543
.WORD -15433, -17113, -8010, -11188, -11286, -3102, -2176
.WORD -3726, 4075, 8836, 3665, 10937, 16347, 11278
.WORD 13449, 19214, 13116, 11330, 16515, 10916, 4581
.WORD 7920, 4852, -3773, -1259, -2437, -12459, -10499
.WORD -8657, -16091, -15654, -11133, -15864, -17015, -8342
.WORD -10862, -11228, -2376, -1394, -3423, 4160, 7802
.WORD 5087, 10683, 16178, 11318, 12040, 18459, 13601
.WORD 10019, 16146, 10320, 4708, 9071, 3873, -4214
.WORD -704, -3586, -11606, -9998, -8837, -17008, -16095
.WORD -10402, -15357, -16675, -8536, -11140, -11943, -2908
.WORD -1887, -4719, 5099, 7887, 5169, 10683, 16744
.WORD 11122, 12021, 18500, 12911, 10354, 16272, 10118
.WORD 5139, 8244, 3601, -3640, -574, -3111, -12231
.WORD -10076, -8626, -17231, -15279, -10646, -16684, -17179
.WORD -7936, -10141, -11216, -2285, -903, -3720, 5052
.WORD 7833, 3880, 10946, 16387, 10515, 12519, 18743
.WORD 12257, 10662, 16038, 10388, 3906, 9196, 4417
.WORD -4219, -912, -2419, -11865, -11209, -9233, -16353
.WORD -15469, -10824, -15744, -17280, -9320, -10469, -11427
.WORD -2313, -875, -4650, 4739, 8016, 4821, 9834
.WORD 15507, 10613, 12142, 18944, 12333, 11383, 15673
.WORD 10308, 4892, 8156, 4732, -4849, -955, -2853
.WORD -11303, -11279, -9263, -16185, -15864, -9999, -16150
.WORD -16554, -8656, -10620, -12215, -2220, -836, -3474
.WORD 4939, 9086, 4804, 10259, 15884, 10219, 12041
.WORD 18582, 13394, 10321, 15635, 10087, 4313, 8034
.WORD 5145, -4469, -908, -2155, -12436, -11063, -8792
.WORD -16193, -16849, -10633, -15990, -16297, -8395, -10178
.WORD -11597, -2151, -600, -3487, 3862, 9267, 5004
.WORD 9600, 15632, 10160, 13017, 18309, 13654, 9879
.WORD 15890, 9795, 4551, 8900, 4029, -4107, -1672
.WORD -3324, -11575, -9976, -8166, -17320, -15900, -10976
.WORD -15948, -15898, -8530, -10618, -11542, -2163, -1343
.WORD -4333, 5094, 8127, 4794
.global referdata
referdata
.WORD 0, -3196, -6270, -9102, -11585, -13623, -15137, -16069
.WORD -16384, -16069, -15137, -13623, -11585, -9102, -6270, -3196
.WORD 0, -3196, -6270, -9102, -11585, -13623, -15137, -16069
.WORD -16384, -16069, -15137, -13623, -11585, -9102, -6270, -3196
.WORD 0, 3196, 6270, 9102, 11585, 13623, 15137, 16069
.WORD 0, -3196, -6270, -9102, -11585, -13623, -15137, -16069
.WORD -16384, -16069, -15137, -13623, -11585, -9102, -6270, -3196
.WORD -16384, -16069, -15137, -13623, -11585, -9102, -6270, -3196
.WORD 0, 3196, 6270, 9102, 11585, 13623, 15137, 16069
.WORD 0, -3196, -6270, -9102, -11585, -13623, -15137, -16069
.WORD -16384, -16069, -15137, -13623, -11585, -9102, -6270, -3196
.WORD -16384, -16069, -15137, -13623, -11585, -9102, -6270, -3196
.WORD 0, -3196, -6270, -9102, -11585, -13623, -15137, -16069
.WORD -16384, -16069, -15137, -13623, -11585, -9102, -6270, -3196
.WORD 0, -3196, -6270, -9102, -11585, -13623, -15137, -16069
.WORD -16384, -16069, -15137, -13623, -11585, -9102, -6270, -3196
.WORD 0, 3196, 6270, 9102, 11585, 13623, 15137, 16069
.WORD 16384, 16069, 15137, 13623, 11585, 9102, 6270, 3196
.WORD 0, -3196, -6270, -9102, -11585, -13623, -15137, -16069
.WORD -16384, -16069, -15137, -13623, -11585, -9102, -6270, -3196
.WORD 0, 3196, 6270, 9102, 11585, 13623, 15137, 16069
.WORD 16384, 16069, 15137, 13623, 11585, 9102, 6270, 3196
.WORD 0, -3196, -6270, -9102, -11585, -13623, -15137, -16069
.WORD -16384, -16069, -15137, -13623, -11585, -9102, -6270, -3196
.WORD 0, 3196, 6270, 9102, 11585, 13623, 15137, 16069
.WORD 16384, 16069, 15137, 13623, 11585, 9102, 6270, 3196
.WORD 0, -3196, -6270, -9102, -11585, -13623, -15137, -16069
.WORD -16384, -16069, -15137, -13623, -11585, -9102, -6270, -3196
.WORD 0, 3196, 6270, 9102, 11585, 13623, 15137, 16069
.WORD 16384, 16069, 15137, 13623, 11585, 9102, 6270, 3196
.WORD 0, -3196, -6270, -9102, -11585, -13623, -15137, -16069
.WORD -16384, -16069, -15137, -13623, -11585, -9102, -6270, -3196
.text
.asg AR2,INPUTDATA
.asg AR3,FILTER
.asg AR4,OUTPUTDATA
.asg AR5,ERRORDATA
.asg AR6,REFERDATA
start: SSBX FRCT
SSBX INTM
LD #DATA_DP,DP
stm #80,ar3
rpt #10
mvpd inputdata,*ar3+
STM #STACK,SP
CALL lmsfilter_start
NOP
NOP
LOOP: B LOOP
.def delta
.def lmsfilter_start
delta .set -08F5H
one .set 0001h
.text
lmsfilter_start:
STM #inputdata,INPUTDATA
STM #filter,FILTER
STM #outputdata+9,OUTPUTDATA
STM #errordata+9,ERRORDATA
STM #referdata+9,REFERDATA
STM #filter+15,AR1
STM #DATA_SIZE-10-1,BRC
RPTB lmsfilter_end
SUB B,B
RPT #9
LMS *INPUTDATA+,*FILTER+
STH B,*AR1
SUB B,B
LD *AR1,B
STL B,*OUTPUTDATA+
SUB *REFERDATA+,B
STL B,*ERRORDATA
MPY *ERRORDATA+,#delta,B
STH B,*AR1
SUB B,B
LD *AR1,B
STL B,*AR1
MPY *AR1,#one,B
PSHM RSA
PSHM REA
PSHM BRC
LD *INPUTDATA-,A
LD *FILTER-,A
STM #9,BRC
RPTB circle_end
SUB A,A
LD B,A
MPY *INPUTDATA-,B
STH B,*AR1
SUB B,B
LD *AR1,B
ADD *FILTER,B
STL B,*FILTER-
SUB B,B
LD A,B
NOP
circle_end: NOP
NOP
STM #DATA_SIZE-10-1,BRC
RPTB lmsfilter_end
POPM BRC
POPM REA
POPM RSA
NOP
NOP
LD *INPUTDATA+,A
LD *INPUTDATA+,A
LD *FILTER+,A
LD *REFERDATA,A
NOP
lmsfilter_end: RET
.end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -