📄 iir_q.asm
字号:
;===========================================================================
; File Name: IIR_Q.asm
;
; Module Name: IIR_Q
;
; Initialization Routine: IIR_Q_INIT
;
;
; Description:This is a four_order digital filter
;
; Target dependency: C2xx core only
;
;
;=====================================================================================
; .ref IIR_Q, IIR_Q_INIT ;function call
; .ref Xin_IIRQ ;Inputs
; .ref Yout_IIRQ ;Outputs
;===========================================================================
;Module definitions for external reference.
.def IIR_Q, IIR_Q_INIT ;function call
.def Xin_IIRQ ;Inputs
.def Yout_IIRQ ;Outputs
;===========================================================================
;Global vars
Xin_IIRQ .usect "IIR_Q" ,1
Yout_IIRQ .usect "IIR_Q" ,1
XQ1 .usect "IIR_Q" ,1
XQ2 .usect "IIR_Q" ,1
AQ1_1 .usect "IIR_Q",1
AQ1_2 .usect "IIR_Q",1
AQ1_3 .usect "IIR_Q",1
AQ2_1 .usect "IIR_Q",1
AQ2_2 .usect "IIR_Q",1
AQ2_3 .usect "IIR_Q",1
BQ1_1 .usect "IIR_Q",1
BQ1_2 .usect "IIR_Q",1
BQ1_3 .usect "IIR_Q",1
BQ2_1 .usect "IIR_Q",1
BQ2_2 .usect "IIR_Q",1
BQ2_3 .usect "IIR_Q",1
YQ1 .usect "IIR_Q",1
YQ2 .usect "IIR_Q",1
ZQ .usect "IIR_Q",1
YQ .usect "IIR_Q",1
ZQ1 .usect "IIR_Q",1
ZQ2 .usect "IIR_Q",1
;
;===============
IIR_Q_INIT:
;===============
LDP #Xin_IIRQ
SPLK #0,Xin_IIRQ
SPLK #0,Yout_IIRQ
SPLK #0,XQ1
SPLK #0,XQ2
SPLK #0,YQ1
SPLK #0,YQ2
SPLK #0,ZQ1
SPLK #0,ZQ2
SPLK #8CD3H,AQ1_1
;SPLK #732EH,A1_1
SPLK #0A86DH,AQ1_2
;SPLK #5794H,A1_2
SPLK #7071H,AQ1_3
;SPLK #8F90H,A1_3
SPLK #732EH,AQ2_1
SPLK #67F8H,AQ2_2
SPLK #9353H,AQ2_3
;SPLK #6CAEH,A2_3
SPLK #7E6BH,BQ1_1
SPLK #830AH,BQ1_2
;SPLK #7CF6H,B1_2
SPLK #7C54H,BQ2_1
SPLK #8739H,BQ2_2
;SPLK #78C8H,B2_2
RET
;===========================================================================
; Routine Name: IIR_BWT4
;===========================================================================
IIR_Q:
SETC SXM ; Sign extension mode
; SETC OVM ; Overflow mode
SPM 1 ; SPM set for Q15 multiplication
; SPM 0 ;no product shift, acc = Q30
LDP #Xin_IIRQ
LACC #0
LT XQ1
MPY AQ1_2
APAC
SFR
SFR
SFR
SFR
SFR
LT Xin_IIRQ
MPY AQ1_1
LTA XQ2
MPY AQ1_3
APAC
SFR
SFR
SFR
SFR
SFR
SFR
LT BQ1_1
MPY YQ1
LTA BQ1_2
MPY YQ2
LTA BQ1_1
MPY YQ1
APAC
SACH YQ
LACL YQ1
SACL YQ2
LACL YQ
SACL YQ1
LT XQ1
MPY AQ2_2
PAC
SFR
SFR
SFR
SFR
LT Xin_IIRQ
MPY AQ2_1
LTA XQ2
MPY AQ2_3
APAC
SFR
SFR
SFR
SFR
SFR
SFR
LT BQ2_1
MPY ZQ1
LTA BQ2_2
MPY ZQ2
LTA BQ2_1
MPY ZQ1
APAC
SACH ZQ
LACL ZQ1
SACL ZQ2
LACL ZQ
SACL ZQ1
LACL XQ1
SACL XQ2
LACL Xin_IIRQ
SACL XQ1
LACL YQ
ADD ZQ
SACL Yout_IIRQ
RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -