📄 pre_big.asm
字号:
*****************************************************************************
** Description: pre_big() in file.c **
** **
** Inputs **
** **
** xar0---Word16 *gamma1 [11] **
** xar7---Word16 *gamma2 [11] **
** xar3---Word16 *A_t [11]
** xar2---Word16 *speech [40]
** xar5---Word16 *mem_w [10]
** ar4---Word16 frameOffset **
**
** Outputs: **
** xar5---Word16 *mem_w **
** xar6---Word16 *wsp [40]
**
** **
** Temporary:
** ar1---a0ffset
** xar4---Word16 *g1
** xar5---Word16 *Ap1
** xar6---Word16 *Ap2 **
** Return value : **
** **
** Attribute : Cycles:381649 Pm: 60 **
** Modified Registers: xar0-xar7,acc,p,t **
** **
** Programmer : Zhang Xin **
*****************************************************************************
.global _pre_big
.ref _buffer1
.ref _buffer2
.ref _buffer3
.ref _Syn_filt
.ref _Weight_Ai
.ref L_SUBFR
.ref MP1
.ref _residu
_pre_big:
addb sp,#26
movl *-sp[2],xar2 ;存储*speech的首址
movl *-sp[4],xar6
movl *-sp[6],xar5
movl *-sp[8],xar7
movl *-sp[10],xar3
movl xar5,#_buffer3+310 ;存储*Ap1
movl xar6,#_buffer3+340 ;存储*Ap2
mov ar1,#0 ;ar1---a0ffset
cmp ar4,#0
sb _Loop_73,GT
sb _Loop_78,UNC
_Loop_73:
mov ar1,#22
_Loop_78:
movl *-sp[12],xar0 ;gamma1的地址
movl *-sp[14],xar5 ;Ap1的地址
movl *-sp[16],xar6 ;Ap2
mov ar5,#1 ;循环次数
_Loop_80:
movl *-sp[18],xar5 ;i----循环次数
movl *-sp[20],xar4 ;ar4---frameOffset
movl *-sp[22],xar1 ;ar1---aOffset
movl xar1,*-sp[10]
mov acc,*-sp[22]
addl xar1,acc ;计算A_t[aOffset]
movl *-sp[24],xar1
movl xar7,*-sp[12] ;gamma1
movl xar2,*-sp[14] ;Ap1
LCR _Weight_Ai ;第一次调用Weight_Ai
movl xar7,xar2 ;传递Ap1
movl xar4,*-sp[2] ;speech的首址
mov acc,*-sp[20]
addl xar4,acc ;计算speech[frameOffset]
movl xar6,*-sp[4]
addl xar6,acc
movl xar3,xar6 ;计算wsp[frameOffset]
mov ar1,#L_SUBFR
nop
nop
LCR _residu
movl xar3,xar6 ;恢复xar3的首指针
movl xar1,*-sp[24]
movl xar7,*-sp[8]
movl xar2,*-sp[16]
LCR _Weight_Ai
movl xar7,xar2
movl xar1,xar3
movl xar2,xar3
mov ar0,#L_SUBFR
movl xar3,*-sp[6]
mov ar4,#1
LCR _Syn_filt
movl xar4,*-sp[20]
movl xar1,*-sp[22]
add ar1,#11
add ar4,#L_SUBFR
movl xar5,*-sp[18]
banz _Loop_80,ar5--
subb sp,#26
LRETR
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -