www.pudn.com > g729Decoder.rar > LSP_UPDT.asm
;==========================================================================
; File Name
; ----------
; LSP_UPDT.ASM
;
; Brief Description of the Code:
; ------------------------------
; Update previous LSP parameter.
;
; Ref
; ------
; LSPGETQ.C
;==========================================================================
.mmregs
.include ..\include\const.h
.include ..\include\ld8amem.h
.text
.def Lsp_prev_update
;-----------------------------------------------------------------------
; Lsp_prev_update
;-----------------------------------------------------------------------
; void Lsp_prev_update(
; Word16 lsp_ele[M], /* (i) Q13 : LSP vectors */
; Word16 freq_prev[M][MA_NP] /* (i/o) Q13 : previous LSP vectors */
; )
;-----------------------------------------------------------------------
; for (j=M-1; j>=0 ; j--)
; {
; for (k=MA_NP-1; k>0; k--)
; freq_prev[j][k] = freq_prev[j][k-1];
;
; freq_prev[j][0] = lsp[j] ;
; }
;-----------------------------------------------------------------------
; Pointers : ptr_prev_lsp_vec -> freq_prev
; ptr_lsp_vec -> lsp_ele
;-----------------------------------------------------------------------
.asg "AR2", pLspVecQ13
.asg "AR4", pPrevLspVecQ13
Lsp_prev_update:
STM #M - 1, BRC
MVDM ptr_lsp_vec, pLspVecQ13
LDU ptr_prev_lsp_vec, A
ADD #39, A
STLM A, pPrevLspVecQ13
RPTBD EndLspComp - 1
MAR *+pLspVecQ13(9)
MAR *pPrevLspVecQ13-
DELAY *pPrevLspVecQ13- ; freq_prev[j][3] = freq_prev[j][2]
DELAY *pPrevLspVecQ13- ; freq_prev[j][2] = freq_prev[j][1]
DELAY *pPrevLspVecQ13 ; freq_prev[j][1] = freq_prev[j][0]
MVDD *pLspVecQ13-, *pPrevLspVecQ13-
EndLspComp:
RET