📄 linconv.asm
字号:
************************************************************
*Linear Convolution
*-----------------------------------------------------------
*Objective:
* Implement linear convolution by MACMZ
* Y = {10,8,6,4,2} LinConv {1,2,5,10}
*Syntax:
* MACMZ Smem,Cmem,ACx
* ACx = ACx + (Smem * Cmem) :: Delay(Smem)
*Memory:
* 0000h..005Fh: reserved for Memory-Mapped Register
* 1000h..14FFh: used as execute code
* 1800h..27FFh: used as Data space
*-----------------------------------------------------------
*By Jwusheng Hu, Tzung-Min Su, Wei-Han Liu, Ming-Chien Tsai
* CopyRight 2004/08/03
************************************************************
.def _c_int00
.mmregs
M .set 5
N .set 4
.data
Data .word 10,8,6,4,2,0,0,0
X .word 0,2,4
Xn .word 6
dmy .word 0
Z .word 0,0,0,0,0,0
H .word 10,5,2,1
.text
.c54cm_off
_c_int00
BCLR C54CM
MOV #Data,AR2 ;AR2 -> Data
MOV #Z,AR4 ;AR4 = #Z =?
MOV #(M-1),BRC0 ;BRC0 = 7
AMOV #1800h,XDP
AMOV #X,XAR3 ;XAR3 -> X
RPTB end_block-1
AMOV #H,XCDP ;XCDP -> H
MOV *AR2+,*AR3
MOV #Xn,AR5 ;AR5 = #(X+N-1)
MOV #0,AC0
RPT #N-1
MACMZ *AR5-,*CDP+,AC0 ;Linear Convolution
MOV AC0,*AR4+ ;Z[i] = AC0
end_block
END:
B END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -