www.pudn.com > g729a.rar > DEC_GAIN.asm, change:2005-08-22,size:7860b


;*************************************************************** 
;* TMS320C54x C/C++ Codegen                   PC Version 3.83  * 
;* Date/Time created: Mon Aug 22 19:45:28 2005                 * 
;*************************************************************** 
	.mmregs 
FP	.set	AR7 
	.c_mode 
	.file	"DEC_GAIN.C" 
 
	.sect	".cinit" 
	.align	1 
	.field  	IR_1,16 
	.field  	_past_qua_en$1+0,16 
	.field  	-14336,16			; _past_qua_en$1[0] @ 0 
	.field  	-14336,16			; _past_qua_en$1[1] @ 16 
	.field  	-14336,16			; _past_qua_en$1[2] @ 32 
	.field  	-14336,16			; _past_qua_en$1[3] @ 48 
IR_1:	.set	4 
 
	.sect	".text" 
	.bss	_past_qua_en$1,4,0,0 
	.sym	_past_qua_en,_past_qua_en$1, 51, 3, 64,, 4 
;	d:\program files\ti\c5400\cgtools\bin\opt500.exe -i15 -q -O3 C:\DOCUME~1\ltd\LOCALS~1\Temp\TI1560_2 C:\DOCUME~1\ltd\LOCALS~1\Temp\TI1560_5 -w e:/ata_work_dir/g729a_v1.7_src/G729a_v1_7/Debug  
 
	.sect	".text" 
	.global	_Dec_gain 
	.sym	_Dec_gain,_Dec_gain, 32, 2, 0 
	.func	34 
 
;*************************************************************** 
;* FUNCTION DEF: _Dec_gain                                     * 
;*************************************************************** 
 
;*************************************************************** 
;*                                                             * 
;* Using -g (debug) with optimization (-o3) may disable key op * 
;*                                                             * 
;*************************************************************** 
_Dec_gain: 
	.line	9 
;* A     assigned to _index 
	.sym	_index,0, 3, 17, 16 
	.sym	_code,16, 19, 9, 16 
	.sym	_L_subfr,17, 3, 9, 16 
	.sym	_bfi,18, 3, 9, 16 
	.sym	_gain_pit,19, 19, 9, 16 
	.sym	_gain_cod,20, 19, 9, 16 
;* AR7   assigned to _index 
	.sym	_index,16, 3, 4, 16 
	.sym	_code,7, 19, 1, 16 
	.sym	_L_subfr,6, 3, 1, 16 
;* A     assigned to _bfi 
	.sym	_bfi,0, 3, 4, 16 
;* AR1   assigned to _gain_pit 
	.sym	_gain_pit,10, 19, 4, 16 
;* AR6   assigned to _gain_cod 
	.sym	_gain_cod,15, 19, 4, 16 
;* B     assigned to _index1 
	.sym	_index1,6, 3, 4, 16 
;* A     assigned to _index2 
	.sym	_index2,0, 3, 4, 16 
;* A     assigned to _tmp 
	.sym	_tmp,0, 3, 4, 16 
	.sym	_gcode0,4, 3, 1, 16 
	.sym	_exp_gcode0,5, 3, 1, 16 
	.sym	_L_gbk12,10, 5, 1, 32 
;* A     assigned to _L_acc 
	.sym	_L_acc,0, 5, 4, 32 
;* A     assigned to C$4 
;* AR7   assigned to C$3 
;* AR1   assigned to C$1 
        PSHM      AR1 
        PSHM      AR6 
        PSHM      AR7 
        FRAME     #-12 
        NOP 
        LD        *SP(17),B 
        STL       B,*SP(6) 
        LD        *SP(16),B 
        MVDK      *SP(19),*(AR1) 
        STLM      A,AR7 
        STL       B,*SP(7) 
        LD        *SP(18),A 
        MVDK      *SP(20),*(AR6) 
	.line	25 
        RSBX      OVM 
        LD        *(AL),A               ; |58|  
        BC        L2,AEQ                ; |58|  
        ; branch occurs ; |58|  
	.line	26 
        LD        #29491,16,A           ; |59|  
        SSBX      FRCT 
        SSBX      SXM 
        SSBX      OVM 
        NOP 
        MPYA      *AR1                  ; |59|  
        SFTA      B,-16,A               ; |59|  
        STL       A,*AR1 
	.line	27 
        RSBX      OVM 
        LD        *(AL),A               ; |60|  
        SUB       #29492,A,A            ; |60|  
        BC        L1,ALT                ; |60|  
        ; branch occurs ; |60|  
        ST        #29491,*AR1           ; |60|  
L1:     
	.line	28 
        LD        #32111,16,A           ; |61|  
        SSBX      OVM 
        NOP 
        MPYA      *AR6                  ; |61|  
        STH       B,*AR6                ; |61|  
	.line	34 
        RSBX      FRCT 
        RSBX      OVM 
        NOP 
        CALLD     #_Gain_update_erasure ; |67|  
        LD        #_past_qua_en$1,A 
        ; call occurs [#_Gain_update_erasure] ; |67|  
	.line	36 
        B         L3                    ; |69|  
        ; branch occurs ; |69|  
L2:     
	.line	41 
        RSBX      FRCT 
        ST        #4,*SP(0)             ; |74|  
        CALLD     #_shr                 ; |74|  
        NOP 
        LDM       AR7,A 
        ; call occurs [#_shr] ; |74|  
        STLM      A,AR2 
        NOP 
        NOP 
        LD        *AR2(_imap1),B 
	.line	42 
        LDM       AR7,A 
        AND       #15,A,A               ; |75|  
        STLM      A,AR2 
        NOP 
        NOP 
        LD        *AR2(_imap2),A 
	.line	43 
        RSBX      OVM 
        NOP 
        SFTL      A,#1,A                ; |76|  
        ADD       #_gbk2,A,A            ; |76|  
        STLM      A,AR7 
        SFTL      B,#1,A                ; |76|  
        ADD       #_gbk1,A,A            ; |76|  
        STLM      A,AR2 
        SSBX      SXM 
        STL       A,*SP(8) 
        LD        *AR2,16,A             ; |76|  
        SSBX      OVM 
        NOP 
        ADD       *AR7,16,A,A           ; |76|  
        STH       A,*AR1                ; |76|  
	.line	53 
        RSBX      FRCT 
        LD        *SP(7),A 
        STL       A,*SP(0) 
        LD        *SP(6),A 
        STL       A,*SP(1) 
        RSBX      OVM 
        LDM       SP,A 
        ADD       #4,A 
        STL       A,*SP(2) 
        LDM       SP,A 
        ADD       #5,A 
        STL       A,*SP(3) 
        STM       #_past_qua_en$1,AR1 
        CALLD     #_Gain_predict        ; |86|  
        NOP 
        LDM       AR1,A 
        ; call occurs [#_Gain_predict] ; |86|  
	.line	61 
        SSBX      SXM 
        RSBX      OVM 
        MVDK      *SP(8),*(AR2) 
        LD        *AR7(1),B             ; |94|  
        LD        *AR2(1),A             ; |94|  
        RSBX      SXM 
        SSBX      OVM 
        NOP 
        ADD       B,A                   ; |94|  
        DST       A,*SP(10)             ; |94|  
	.line	62 
        RSBX      OVM 
        RSBX      FRCT 
        ST        #1,*SP(0)             ; |95|  
        CALL      #_L_shr               ; |95|  
        ; call occurs [#_L_shr] ; |95|  
	.line	65 
        SSBX      SXM 
        RSBX      OVM 
        NOP 
        LD        *SP(5),16,B           ; |98|  
        SSBX      OVM 
        NOP 
        NEG       B,B                   ; |98|  
        ADD       #4,16,B,B             ; |98|  
        STH       B,*SP(0)              ; |98|  
        LD        *SP(4),T 
        SSBX      FRCT 
        MPY       *(AL),A               ; |98|  
        RSBX      FRCT 
        RSBX      OVM 
        NOP 
        CALL      #_L_shl               ; |98|  
        ; call occurs [#_L_shl] ; |98|  
	.line	66 
        SFTL      A,#-16,A              ; |99|  
        STL       A,*AR6                ; |99|  
	.line	71 
        RSBX      OVM 
        NOP 
        DLD       *SP(10),A 
        RSBX      FRCT 
        DST       A,*SP(0)              ; |104|  
        CALLD     #_Gain_update         ; |104|  
        NOP 
        LDM       AR1,A 
        ; call occurs [#_Gain_update] ; |104|  
L3:     
	.line	75 
        ANDM      #-833,*(ST1) 
        ANDM      #-4,*(PMST) 
        FRAME     #12 
        POPM      AR7 
        POPM      AR6 
        POPM      AR1 
        RET 
        ; return occurs 
	.endfunc	108,000018400h,15 
 
 
;*************************************************************** 
;* UNDEFINED EXTERNAL REFERENCES                               * 
;*************************************************************** 
	.global	_L_shl 
	.global	_L_shr 
	.global	_shr 
	.global	_Gain_predict 
	.global	_Gain_update 
	.global	_Gain_update_erasure 
	.global	_gbk1 
	.global	_gbk2 
	.global	_imap1 
	.global	_imap2 
 
;*************************************************************** 
;* TYPE INFORMATION                                            * 
;*************************************************************** 
	.sym	_Word16, 0, 3, 13, 16 
	.sym	_Word16, 0, 3, 13, 16 
	.sym	_Word32, 0, 5, 13, 32