www.pudn.com > g729Decoder.rar > WEGT_AZ.asm


;======================================================================= 
;  File Name 
;  ---------- 
;  WEGT_AZ.ASM 
; 
;  Brief Description of the Code: 
;  ------------------------------ 
;  Compute weighted LPC coefficients. 
; 
;  Ref 
;  ------ 
;  LPCFUNC.C (Weight_Az) 
;======================================================================= 
; 
;----------------------------------------------------------------------- 
;   Weight_Az 
;----------------------------------------------------------------------- 
; 
;   Weighting of LPC coefficients. 
;    ap[i]  =  a[i] * (gamma ** i) 
;----------------------------------------------------------------------- 
;  void Weight_Az( 
;    Word16 a[],      /* (i) Q12 : a[m+1]  LPC coefficients           */ 
;    Word16 gamma,    /* (i) Q15 : Spectral expansion factor.         */ 
;    Word16 m,        /* (i)     : LPC order.                         */ 
;    Word16 ap[]      /* (o) Q12 : Spectral expanded LPC coefficients */ 
;  ) 
;----------------------------------------------------------------------- 
;   Input Registers : Ah = gamma 
;                     BRC = m - 1 
;                     AR4 -> a[] 
;                     AR5 -> ap[] 
; 
;----------------------------------------------------------------------- 
 
        .mmregs 
 
        .include  ../include/const.h 
        .include  ../include/tab_ld8a.h 
        .include  ../include/ld8amem.h 
 
        .text 
        .def      Weight_Az 
 
        .asg    "AR3", pGamma 
        .asg    "AR4", pLPC 
        .asg    "AR5", pWLPC 
 
Weight_Az: 
 
        LD      #0, DP 
        STM     #Addr_local_buf1, pGamma 
        STL     A, -16, *pGamma                
	 
        RPTB    EndWeight_Az - 1 
 
        STL     A, -16, T            ; T = factor 
        MPYR    *pLPC+, A 
        STL     A, -16, *pWLPC+ 
        MPYR    *pGamma, A      ; A = factor * gamma 
 
EndWeight_Az: 
 
        RET