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


;*************************************************************** 
;* TMS320C54x C/C++ Codegen                   PC Version 3.83  * 
;* Date/Time created: Mon Aug 22 19:45:29 2005                 * 
;*************************************************************** 
	.mmregs 
FP	.set	AR7 
	.c_mode 
	.file	"DEC_LD8A.C" 
	.bss	_synth_buf,90,0,0 
	.sym	_synth_buf,_synth_buf, 51, 3, 1440,, 90 
	.global	_synth 
	.bss	_synth,1,0,0 
	.sym	_synth,_synth, 19, 2, 16 
	.bss	_old_exc,234,0,0 
	.sym	_old_exc,_old_exc, 51, 3, 3744,, 234 
	.bss	_exc,1,0,0 
	.sym	_exc,_exc, 19, 3, 16 
 
	.sect	".cinit" 
	.align	1 
	.field  	IR_1,16 
	.field  	_lsp_old+0,16 
	.field  	30000,16			; _lsp_old[0] @ 0 
	.field  	26000,16			; _lsp_old[1] @ 16 
	.field  	21000,16			; _lsp_old[2] @ 32 
	.field  	15000,16			; _lsp_old[3] @ 48 
	.field  	8000,16			; _lsp_old[4] @ 64 
	.field  	0,16			; _lsp_old[5] @ 80 
	.field  	-8000,16			; _lsp_old[6] @ 96 
	.field  	-15000,16			; _lsp_old[7] @ 112 
	.field  	-21000,16			; _lsp_old[8] @ 128 
	.field  	-26000,16			; _lsp_old[9] @ 144 
IR_1:	.set	10 
 
	.sect	".text" 
	.bss	_lsp_old,10,0,0 
	.sym	_lsp_old,_lsp_old, 51, 3, 160,, 10 
	.bss	_mem_syn,10,0,0 
	.sym	_mem_syn,_mem_syn, 51, 3, 160,, 10 
	.bss	_sharp,1,0,0 
	.sym	_sharp,_sharp, 3, 3, 16 
	.bss	_old_T0,1,0,0 
	.sym	_old_T0,_old_T0, 3, 3, 16 
	.bss	_gain_code,1,0,0 
	.sym	_gain_code,_gain_code, 3, 3, 16 
	.bss	_gain_pitch,1,0,0 
	.sym	_gain_pitch,_gain_pitch, 3, 3, 16 
;	d:\program files\ti\c5400\cgtools\bin\opt500.exe -i15 -q -O3 C:\DOCUME~1\ltd\LOCALS~1\Temp\TI280_2 C:\DOCUME~1\ltd\LOCALS~1\Temp\TI280_5 -w e:/ata_work_dir/g729a_v1.7_src/G729a_v1_7/Debug  
 
	.sect	".text" 
	.global	_Init_Decod_ld8a 
	.sym	_Init_Decod_ld8a,_Init_Decod_ld8a, 32, 2, 0 
	.func	62 
 
;*************************************************************** 
;* FUNCTION DEF: _Init_Decod_ld8a                              * 
;*************************************************************** 
 
;*************************************************************** 
;*                                                             * 
;* Using -g (debug) with optimization (-o3) may disable key op * 
;*                                                             * 
;*************************************************************** 
_Init_Decod_ld8a: 
	.line	2 
;* BRC   assigned to L$1 
;* A     assigned to L$1 
;* AR1   assigned to U$4 
;* A     assigned to K$3 
;* A     assigned to C$1 
        PSHM      AR1 
        STM       #_synth_buf,AR1 
        FRAME     #-2 
        RPT       #9 
        ; loop starts 
L1:     
	.line	6 
        ST        #0,*AR1+              ; |67|  
        ; loop ends ; |67|  
L2:     
        LD        #_synth_buf,A 
	.line	7 
        ADD       #10,A,A               ; |68|  
        STL       A,*(_synth) 
	.line	10 
        LD        #_old_exc,A 
        ADD       #154,A,B              ; |71|  
        STL       B,*(_exc) 
	.line	14 
        ST        #154,*SP(0)           ; |75|  
        CALL      #_Set_zero            ; |75|  
        ; call occurs [#_Set_zero] ; |75|  
	.line	15 
        ST        #10,*SP(0)            ; |76|  
        CALLD     #_Set_zero            ; |76|  
        LD        #_mem_syn,A 
        ; call occurs [#_Set_zero] ; |76|  
	.line	17 
        ST        #3277,*(_sharp)       ; |78|  
	.line	18 
        ST        #60,*(_old_T0)        ; |79|  
	.line	19 
        ST        #0,*(_gain_code)      ; |80|  
	.line	20 
        ST        #0,*(_gain_pitch)     ; |81|  
	.line	22 
        CALL      #_Lsp_decw_reset      ; |83|  
        ; call occurs [#_Lsp_decw_reset] ; |83|  
	.line	23 
	.line	24 
        FRAME     #2 
        POPM      AR1 
        RET 
        ; return occurs 
	.endfunc	85,000000400h,3 
 
 
 
	.sect	".text" 
	.global	_Decod_ld8a 
	.sym	_Decod_ld8a,_Decod_ld8a, 32, 2, 0 
	.func	95 
 
;*************************************************************** 
;* FUNCTION DEF: _Decod_ld8a                                   * 
;*************************************************************** 
 
;*************************************************************** 
;*                                                             * 
;* Using -g (debug) with optimization (-o3) may disable key op * 
;*                                                             * 
;*************************************************************** 
_Decod_ld8a: 
	.line	8 
;* A     assigned to _parm 
	.sym	_parm,0, 19, 17, 16 
	.sym	_synth,72, 19, 9, 16 
	.sym	_A_t,73, 19, 9, 16 
	.sym	_T2,74, 19, 9, 16 
;* BRC   assigned to L$2 
;* A     assigned to L$2 
;* AR1   assigned to _i 
	.sym	_i,10, 3, 4, 16 
;* AR1   assigned to _i 
	.sym	_i,10, 3, 4, 16 
;* A     assigned to _index 
	.sym	_index,0, 3, 4, 16 
;* A     assigned to _index 
	.sym	_index,0, 3, 4, 16 
;* AR1   assigned to U$56 
;* AR6   assigned to _parm 
	.sym	_parm,15, 19, 4, 16 
	.sym	_synth,59, 19, 1, 16 
;* AR1   assigned to _A_t 
	.sym	_A_t,10, 19, 4, 16 
	.sym	_T2,58, 19, 1, 16 
	.sym	_Az,61, 19, 1, 16 
;* AR3   assigned to _j 
	.sym	_j,12, 3, 4, 16 
;* AR7   assigned to _i_subfr 
	.sym	_i_subfr,16, 3, 4, 16 
	.sym	_T0,6, 3, 1, 16 
	.sym	_T0_frac,7, 3, 1, 16 
	.sym	_bfi,60, 3, 1, 16 
;* A     assigned to _L_temp 
	.sym	_L_temp,0, 5, 4, 32 
;* AR1   assigned to U$87 
;* AR2   assigned to U$53 
;* AR7   assigned to C$2 
;* A     assigned to A$4 
;* A     assigned to A$3 
	.sym	_lsp_new,8, 51, 1, 160,, 10 
	.sym	_code,18, 51, 1, 640,, 40 
        PSHM      AR1 
        PSHM      AR6 
        PSHM      AR7 
        FRAME     #-68 
        STLM      A,AR6 
        LD        *SP(74),A 
        STL       A,*SP(58) 
        LD        *SP(72),A 
        STL       A,*SP(59) 
        MVDK      *SP(73),*(AR1) 
	.line	25 
        LD        *AR6+,A 
        STL       A,*SP(60) 
	.line	29 
        RSBX      OVM 
        SSBX      SXM 
        RSBX      FRCT 
        LDM       SP,A 
        ADD       #8,A 
        STL       A,*SP(0) 
        LD        *SP(60),A 
        LD        *(AL),16,A            ; |123|  
        SSBX      OVM 
        ADD       *(_bad_lsf),16,A,A    ; |123|  
        RSBX      OVM 
        STH       A,*SP(1)              ; |123|  
        CALLD     #_D_lsp               ; |123|  
        NOP 
        LDM       AR6,A 
        ; call occurs [#_D_lsp] ; |123|  
        NOP 
	.line	30 
        MAR       *+AR6(#2) 
	.line	39 
        STM       #_lsp_old,AR7 
        RSBX      OVM 
        LDM       SP,A 
        ADD       #8,A 
        STL       A,*SP(0) 
        RSBX      FRCT 
        MVKD      *(AR1),*SP(1) 
        CALLD     #_Int_qlpc            ; |133|  
        NOP 
        LDM       AR7,A 
        ; call occurs [#_Int_qlpc] ; |133|  
	.line	43 
        RSBX      FRCT 
        RSBX      OVM 
        LDM       SP,A 
        MVKD      *(AR7),*SP(0) 
        ST        #10,*SP(1)            ; |137|  
        CALLD     #_Copy                ; |137|  
        ADD       #8,A 
        ; call occurs [#_Copy] ; |137|  
	.line	56 
        LD        *SP(59),A 
        STL       A,*SP(62) 
        LD        #_old_exc,A 
        STL       A,*SP(63) 
        LD        #_mem_syn,A 
        STL       A,*SP(64) 
        LD        #_gain_pitch,A 
        STL       A,*SP(65) 
        LD        #_gain_code,A 
        STL       A,*SP(66) 
        MVKD      *(AR1),*SP(61) 
	.line	58 
        STM       #0,AR7 
L3:     
	.line	61 
        LD        *AR6+,A 
	.line	63 
        BANZ      L4,*AR7               ; |157|  
        ; branch occurs ; |157|  
	.line	65 
        MVDK      *AR6+,*(AR1) 
	.line	67 
        RSBX      OVM 
        SSBX      SXM 
        LD        *SP(60),B 
        LD        *(BL),16,B            ; |161|  
        SSBX      OVM 
        ADD       *(AR1),16,B,B         ; |161|  
        RSBX      OVM 
        SFTA      B,-16,B               ; |161|  
        LD        *(BL),B               ; |161|  
        BC        L5,BEQ                ; |161|  
        ; branch occurs ; |161|  
	.line	74 
        MVKD      *(_old_T0),*SP(6)     ; |168|  
	.line	75 
        ST        #0,*SP(7)             ; |169|  
	.line	76 
        B         L7                    ; |170|  
        ; branch occurs ; |170|  
L4:     
	.line	84 
        MVDK      *SP(60),*(AR1) 
        BANZ      L6,*AR1               ; |178|  
        ; branch occurs ; |178|  
L5:     
	.line	86 
        ST        #20,*SP(0)            ; |180|  
        RSBX      OVM 
        LDM       SP,B 
        ST        #143,*SP(1)           ; |180|  
        RSBX      FRCT 
        ADD       #6,B 
        MVKD      *(AR7),*SP(2) 
        STL       B,*SP(3) 
        LDM       SP,B 
        ADD       #7,B 
        STL       B,*SP(4) 
        CALL      #_Dec_lag3            ; |180|  
        ; call occurs [#_Dec_lag3] ; |180|  
	.line	87 
        MVDK      *SP(6),*(_old_T0)     ; |181|  
	.line	88 
        B         L8                    ; |182|  
        ; branch occurs ; |182|  
L6:     
	.line	91 
        MVKD      *(_old_T0),*SP(6)     ; |185|  
	.line	92 
        ST        #0,*SP(7)             ; |186|  
L7:     
	.line	93 
        RSBX      OVM 
        SSBX      SXM 
        NOP 
        LD        *SP(6),16,A           ; |187|  
        SSBX      OVM 
        NOP 
        ADD       #1,16,A,A             ; |187|  
        RSBX      OVM 
        SFTA      A,-16,A               ; |187|  
        STL       A,*(_old_T0) 
        LD        *(AL),A               ; |187|  
        SUB       #144,A,A              ; |187|  
        BC        L8,ALT                ; |187|  
        ; branch occurs ; |187|  
	.line	95 
        ST        #143,*(_old_T0)       ; |189|  
L8:     
	.line	99 
        LD        *SP(6),A 
        MVDK      *SP(58),*(AR1) 
        STL       A,*AR1+ 
        MVKD      *(AR1),*SP(58) 
	.line	105 
        RSBX      OVM 
        RSBX      FRCT 
        LD        *SP(6),A 
        STL       A,*SP(0) 
        LD        *SP(7),A 
        STL       A,*SP(1) 
        LDM       AR7,A 
        ADD       *(_exc),A 
        ST        #40,*SP(2)            ; |199|  
        CALL      #_Pred_lt_3           ; |199|  
        ; call occurs [#_Pred_lt_3] ; |199|  
	.line	112 
        LD        *SP(60),A 
        RSBX      OVM 
        LD        *(AL),A               ; |206|  
        BC        L9,AEQ                ; |206|  
        ; branch occurs ; |206|  
	.line	115 
        RSBX      FRCT 
        NOP 
        CALL      #_Random              ; |209|  
        ; call occurs [#_Random] ; |209|  
        AND       #8191,A,A             ; |209|  
        STL       A,*AR6 
	.line	116 
        RSBX      FRCT 
        RSBX      OVM 
        NOP 
        CALL      #_Random              ; |210|  
        ; call occurs [#_Random] ; |210|  
        AND       #15,A,A               ; |210|  
        STL       A,*AR6(1) 
L9:     
	.line	118 
        LD        *AR6,A 
        RSBX      OVM 
        STL       A,*SP(0) 
        RSBX      FRCT 
        LDM       SP,A 
        ADD       #18,A 
        STL       A,*SP(1) 
        LD        *AR6(1),A 
        CALL      #_Decod_ACELP         ; |212|  
        ; call occurs [#_Decod_ACELP] ; |212|  
	.line	121 
        RSBX      FRCT 
        ST        #1,*SP(0)             ; |215|  
        RSBX      OVM 
        LD        *(_sharp),A 
        CALL      #_shl                 ; |215|  
        ; call occurs [#_shl] ; |215|  
        STLM      A,AR3 
	.line	122 
        SSBX      SXM 
        RSBX      OVM 
        LD        #40,A 
        SUB       *SP(6),A              ; |216|  
        BC        L11,ALEQ              ; |216|  
        ; branch occurs ; |216|  
        LDM       SP,A 
        ADD       #18,A 
        ADD       *SP(6),A 
        MVMM      SP,AR2 
        STLM      A,AR1 
        LD        #39,A 
        SUB       *SP(6),A 
        STLM      A,BRC 
        MAR       *+AR2(#18) 
        RPTB      L11-1 
        ; loop starts 
L10:     
	.line	124 
        RSBX      OVM 
        LD        *(AR3),16,A           ; |218|  
        SSBX      FRCT 
        SSBX      OVM 
        NOP 
        MPYA      *AR2+                 ; |218|  
        RSBX      OVM 
        SFTA      B,-16,A               ; |218|  
        LD        *AR1,16,B             ; |218|  
        SSBX      OVM 
        ADD       *(AL),16,B,A          ; |218|  
        SFTA      A,-16,A               ; |218|  
        STL       A,*AR1+ 
	.line	125 
        ; loop ends ; |219|  
L11:     
	.line	119 
        MAR       *+AR6(#2) 
	.line	132 
        LD        *AR6+,A 
	.line	134 
        RSBX      OVM 
        LDM       SP,B 
        ADD       #18,B 
        RSBX      FRCT 
        STL       B,*SP(0) 
        ST        #40,*SP(1)            ; |228|  
        LD        *SP(60),B 
        STL       B,*SP(2) 
        LD        *SP(65),B 
        STL       B,*SP(3) 
        LD        *SP(66),B 
        STL       B,*SP(4) 
        CALL      #_Dec_gain            ; |228|  
        ; call occurs [#_Dec_gain] ; |228|  
	.line	140 
        SSBX      SXM 
        RSBX      OVM 
        LD        *(_gain_pitch),A 
        STL       A,*(_sharp) 
        SUB       #13018,A,A            ; |234|  
        BC        L12,AGEQ              ; |234|  
        ; branch occurs ; |234|  
	.line	142 
        LD        #3277,A 
        SUB       *(_sharp),A           ; |236|  
        BC        L13,ALEQ              ; |236|  
        ; branch occurs ; |236|  
        ST        #3277,*(_sharp)       ; |236|  
        B         L13                   ; |236|  
        ; branch occurs ; |236|  
L12:     
	.line	141 
        ST        #13017,*(_sharp)      ; |235|  
L13:     
        LDM       SP,A 
        ADD       #18,A 
        STL       A,*SP(59) 
	.line	149 
        STM       #0,AR1 
L14:     
	.line	157 
        LDM       AR1,A 
        ADD       *(AR7),A 
        SSBX      FRCT 
        STL       A,*SP(67) 
        STM       #_gain_pitch,AR2 
        ADD       *(_exc),A 
        STLM      A,AR3 
        SSBX      OVM 
        ST        #1,*SP(0)             ; |251|  
        MPY       *AR3,*AR2,A           ; |251|  
        RSBX      OVM 
        STM       #_gain_code,AR2 
        MVDK      *SP(59),*(AR3) 
        SFTA      A,8                   ; |251|  
        SFTA      A,-8                  ; |251|  
        ORM       #2,*(PMST) 
        SSBX      OVM 
        ORM       #2,*(PMST) 
        NOP 
        MAC       *AR2, *AR3+, A, A     ; |251|  
        RSBX      FRCT 
        RSBX      OVM 
        MVKD      *(AR3),*SP(59) 
        CALL      #_L_shl               ; |251|  
        ; call occurs [#_L_shl] ; |251|  
	.line	158 
        RSBX      OVM 
        SSBX      SXM 
        SFTA      A,8                   ; |252|  
        SFTA      A,-8                  ; |252|  
        SSBX      OVM 
        ADD       #1,#15,A,B            ; |252|  
        RSBX      OVM 
        LD        *SP(67),A 
        ADD       *(_exc),A 
        STLM      A,AR2 
        NOP 
        NOP 
        STH       B,*AR2                ; |252|  
	.line	159 
        MAR       *AR1+ 
        LDM       AR1,A 
        LD        *(AL),A               ; |253|  
        SUB       #40,A,A               ; |253|  
        BC        L14,ALT               ; |253|  
        ; branch occurs ; |253|  
	.line	165 
        LDM       AR7,A 
        ADD       *(_exc),A 
        STL       A,*SP(0) 
        LD        *SP(62),A 
        RSBX      FRCT 
        STL       A,*SP(1) 
        ST        #40,*SP(2)            ; |259|  
        LD        *SP(64),A 
        STL       A,*SP(3) 
        LD        *SP(61),A 
        ST        #0,*SP(4)             ; |259|  
        CALL      #_Syn_filt            ; |259|  
        ; call occurs [#_Syn_filt] ; |259|  
        STLM      A,AR1 
        NOP 
        NOP 
        BANZ      L15,*AR1              ; |259|  
        ; branch occurs ; |259|  
	.line	176 
        LD        *SP(64),A 
        RSBX      FRCT 
        STL       A,*SP(0) 
        RSBX      OVM 
        ST        #10,*SP(1)            ; |270|  
        LD        *SP(62),A 
        CALLD     #_Copy                ; |270|  
        ADD       #30,A,A               ; |270|  
        ; call occurs [#_Copy] ; |270|  
        B         L17                   ; |270|  
        ; branch occurs ; |270|  
L15:     
        LD        #234,A 
        MVDK      *SP(63),*(AR1) 
        STL       A,*SP(59) 
L16:     
	.line	171 
        ST        #2,*SP(0)             ; |265|  
        RSBX      FRCT 
        RSBX      OVM 
        LD        *AR1,A 
        CALL      #_shr                 ; |265|  
        ; call occurs [#_shr] ; |265|  
        STL       A,*AR1+ 
        MVDK      *SP(59),*(AR2) 
        BANZD     L16,*+AR2(-1)         ; |265|  
        MVKD      *(AR2),*SP(59) 
        ; branch occurs ; |265|  
	.line	173 
        RSBX      OVM 
        LDM       AR7,A 
        ADD       *(_exc),A 
        STL       A,*SP(0) 
        RSBX      FRCT 
        LD        *SP(62),A 
        STL       A,*SP(1) 
        ST        #40,*SP(2)            ; |267|  
        LD        *SP(64),A 
        STL       A,*SP(3) 
        LD        *SP(61),A 
        ST        #1,*SP(4)             ; |267|  
        CALL      #_Syn_filt            ; |267|  
        ; call occurs [#_Syn_filt] ; |267|  
L17:     
	.line	178 
        RSBX      OVM 
        LD        *SP(61),A 
        ADD       #11,A 
        STL       A,*SP(61) 
	.line	179 
        SSBX      SXM 
        MAR       *+AR7(#40) 
        LD        *SP(62),A 
        ADD       #40,A 
        STL       A,*SP(62) 
        LD        *(AR7),A              ; |273|  
        SUB       #80,A,A               ; |273|  
        BC        L3,ALT                ; |273|  
        ; branch occurs ; |273|  
	.line	186 
        LD        *SP(63),A 
        STL       A,*SP(0) 
        RSBX      FRCT 
        ST        #154,*SP(1)           ; |280|  
        CALLD     #_Copy                ; |280|  
        ADD       #80,A,A               ; |280|  
        ; call occurs [#_Copy] ; |280|  
	.line	188 
	.line	189 
        ANDM      #-833,*(ST1) 
        ANDM      #-4,*(PMST) 
        FRAME     #68 
        POPM      AR7 
        POPM      AR6 
        POPM      AR1 
        RET 
        ; return occurs 
	.endfunc	283,000018400h,71 
 
 
;*************************************************************** 
;* UNDEFINED EXTERNAL REFERENCES                               * 
;*************************************************************** 
	.global	_L_shl 
	.global	_shl 
	.global	_shr 
	.global	_Int_qlpc 
	.global	_Dec_lag3 
	.global	_Pred_lt_3 
	.global	_Decod_ACELP 
	.global	_D_lsp 
	.global	_Lsp_decw_reset 
	.global	_Dec_gain 
	.global	_Copy 
	.global	_Set_zero 
	.global	_Random 
	.global	_Syn_filt 
	.global	_bad_lsf 
 
;*************************************************************** 
;* TYPE INFORMATION                                            * 
;*************************************************************** 
	.sym	_Word16, 0, 3, 13, 16 
	.sym	_Word32, 0, 5, 13, 32