?? iir3.asm
字號:
.title "IIR3.asm"
.mmregs
.def start
X .usect "X",3
Y .usect "y",3
B .usect "B",3
A .usect "A",3
PA0 .set 0
PA1 .set 1
.data
table: .word 0 ;x(n-2)
.word 0 ;x(n-1)
.word 0 ;y(n-2)
.word 0 ;y(n-1)
.word 1*32768/10 ;B2
.word 2*32768/10 ;B1
.word 3*32768/10 ;B0
.word 5*32768/10 ;A2
.word -4*32768/10 ;A1
.text
start: SSBX FRCT
STM #X,AR1 ;傳送初始數據x(n-2),x(n-1)
RPT #1
MVPD #table,*AR1+
STM #Y,AR1 ;傳送初始數據y(n-2),y(n-1)
RPT #1
MVPD #table+2,*AR1+
STM #B,AR1 ;傳送系數B2,B1,B0
RPT #2
MVPD #table+4,*AR1+
STM #A,AR1 ;傳送系數A2,A1
RPT #1
MVPD #table+7,*AR1+
STM #X+2,AR2 ;輔助寄存器指針初始化
STM #A+1,AR3
STM #Y+1,AR4
STM #B+2,AR5
STM #3,BK ;(BK)=3
STM #-1,AR0 ;(AR0)=-1
IIR: PORTR PA1,*AR2 ;輸入x(n)
MPY *AR2+0%,*AR5+0%,A ;計算前向通道
MAC *AR2+0%,*AR5+0%,A
MAC *AR2,*AR5+0%,A
MAC *AR4+0%,*AR3+0%,A ;計算反饋通道
MAC *AR4+0%,*AR3+0%,A
MAR *AR3+0%
STH A,*AR4 ;保存y(n)
BD IIR
PORTW *AR4,PA0 ;輸出y(n)
.end
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -