📄 lab6.asm
字号:
;**************************
;* lab6.ASM IIR Filter *
;**************************
.title "lab6.asm"
.mmregs
.def start
X .usect "X",5
Y .usect "Y",5
B .usect "B",5
A .usect "A",5
PA0 .set 0
PA1 .set 1
.data
table: .word 0 ;X(N-4)
.word 0 ;X(N-3)
.word 0 ;X(N-2)
.word 0 ;X(N-1)
.word 0 ;Y(N-4)
.word 0 ;Y(N-3)
.word 0 ;Y(N-2)
.word 0 ;Y(N-1)
.word 3116 ;B4=0.0951
.word -10286 ;B3=-0.3139
.word 14615 ;B2=0.4460
.word -10286 ;B1=-0.3139
.word 3116 ;B0=0.0951
.word -22082 ;A4=-0.6739
.word 31149 ;A3/3=2.8518/3
.word -30484 ;A2/5=-4.6515/5
.word 28383 ;A1/4=3.4647/4
.text
start: SSBX FRCT
STM #X,AR1
RPT #3
MVPD #table,*AR1+
STM #Y,AR1
RPT #3
MVPD #table+4,*AR1+
STM #B,AR1
RPT #4
MVPD #table+8,*AR1+
STM #A,AR1
RPT #3
MVPD #table+13,*AR1+
STM #X+4,AR2
STM #A+3,AR3
STM #Y+3,AR4
STM #B+4,AR5
STM #5,BK
STM #-1,AR0
IIR PORTR PA1,*AR2 ;x(n)/2
LD *AR2,A
STL A,-1,*AR2
MPY *AR2+0%,*AR5+0%,A ;Forward path
MAC *AR2+0%,*AR5+0%,A
MAC *AR2+0%,*AR5+0%,A
MAC *AR2+0%,*AR5+0%,A
MAC *AR2,*AR5+0%,A
MAC *AR4,*AR3,A ;Feedback path
MAC *AR4,*AR3,A ;*A1/4
MAC *AR4,*AR3,A
MAC *AR4+0%,*AR3+0%,A
MAC *AR4,*AR3,A ;*A2/5
MAC *AR4,*AR3,A
MAC *AR4,*AR3,A
MAC *AR4,*AR3,A
MAC *AR4+0%,*AR3+0%,A
MAC *AR4,*AR3,A ;*A3/3
MAC *AR4,*AR3,A
MAC *AR4+0%,*AR3+0%,A
MAC *AR4+0%,*AR3+0%,A ;*A4
MAR *AR3+0%
STH A,*AR4
BD IIR
PORTW *AR4,PA0
.end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -