📄 lag_wind.asm
字号:
*****************************************************************************
** Description: lag_wind() in lag_wind.c **
** **
** Inputs : **
** AR1---Word16 m LPC order **
** *XAR2---Word16 r_h[] Autocorrelations (msb) **
** *XAR3---Word16 r_l[] Autocorrelations (lsb) **
** **
** Outputs: **
** *XAR2---Word16 r_h[] Autocorrelations (msb) **
** *XAR3---Word16 r_l[] Autocorrelations (lsb) **
** Return value : **
** **
** Attribute : Cycles: 1116 Pm:12 **
** Modified Registers: AR1,AR4,XAR2,XAR3.XAR6,XAR7 **
** XT,ACC,P **
** **
** Programmer : ZHOU Bei (ok! Mar 4th,2003) **
*****************************************************************************
.global _lag_wind
.ref lag_h
.ref lag_l
.ref _mpy_32
_lag_wind:
DEC AR1
MOVL XAR7,#lag_h
MOVL XAR6,#lag_l
ADDB XAR2,#1 ;Start working on 2nd word of r_h[]
ADDB XAR3,#1 ;Start working on 2nd word of r_l[]
_LOOP_67:
LCR _mpy_32 ;32 bit multiply r*lag
ADDB XAR7,#1
ADDB XAR6,#1
MOV *XAR2++,AH ;save MSB to r_h
LSR AL,#1
MOV *XAR3++,AL ;save LSB>>1 to r_l
BANZ _LOOP_67,AR1-- ;Loop if AR1!=0,AR1--
LRETR
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -