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


;*************************************************************** 
;* TMS320C54x C/C++ Codegen                   PC Version 3.83  * 
;* Date/Time created: Mon Aug 22 19:45:35 2005                 * 
;*************************************************************** 
	.mmregs 
FP	.set	AR7 
	.c_mode 
	.file	"QUA_LSP.C" 
	.bss	_freq_prev,40,0,0 
	.sym	_freq_prev,_freq_prev, 243, 3, 640,, 4, 10 
 
	.sect	".cinit" 
	.align	1 
	.field  	IR_1,16 
	.field  	_freq_prev_reset+0,16 
	.field  	2339,16			; _freq_prev_reset[0] @ 0 
	.field  	4679,16			; _freq_prev_reset[1] @ 16 
	.field  	7018,16			; _freq_prev_reset[2] @ 32 
	.field  	9358,16			; _freq_prev_reset[3] @ 48 
	.field  	11698,16			; _freq_prev_reset[4] @ 64 
	.field  	14037,16			; _freq_prev_reset[5] @ 80 
	.field  	16377,16			; _freq_prev_reset[6] @ 96 
	.field  	18717,16			; _freq_prev_reset[7] @ 112 
	.field  	21056,16			; _freq_prev_reset[8] @ 128 
	.field  	23396,16			; _freq_prev_reset[9] @ 144 
IR_1:	.set	10 
 
	.sect	".text" 
	.bss	_freq_prev_reset,10,0,0 
	.sym	_freq_prev_reset,_freq_prev_reset, 51, 3, 160,, 10 
;	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	_Relspwed 
	.sym	_Relspwed,_Relspwed, 32, 2, 0 
	.func	70 
 
;*************************************************************** 
;* FUNCTION DEF: _Relspwed                                     * 
;*************************************************************** 
 
;*************************************************************** 
;*                                                             * 
;* Using -g (debug) with optimization (-o3) may disable key op * 
;*                                                             * 
;*************************************************************** 
_Relspwed: 
	.line	13 
;* A     assigned to _lsp 
	.sym	_lsp,0, 19, 17, 16 
	.sym	_wegt,62, 19, 9, 16 
	.sym	_lspq,63, 19, 9, 16 
	.sym	_lspcb1,64, 211, 9, 16,, 10 
	.sym	_lspcb2,65, 211, 9, 16,, 10 
	.sym	_fg,66, 979, 9, 16,, 4, 10 
	.sym	_freq_prev,67, 211, 9, 16,, 10 
	.sym	_fg_sum,68, 211, 9, 16,, 10 
	.sym	_fg_sum_inv,69, 211, 9, 16,, 10 
	.sym	_code_ana,70, 19, 9, 16 
;* BRC   assigned to L$2 
;* BRC   assigned to L$3 
;* A     assigned to L$3 
;* A     assigned to L$2 
;* AR1   assigned to U$45 
;* AR2   assigned to U$45 
;* AR3   assigned to U$40 
;* AR4   assigned to U$40 
;* AR2   assigned to U$37 
;* AR3   assigned to U$37 
	.sym	_lsp,42, 19, 1, 16 
	.sym	_wegt,50, 19, 1, 16 
	.sym	_lspq,49, 19, 1, 16 
	.sym	_lspcb1,48, 211, 1, 16,, 10 
	.sym	_lspcb2,47, 211, 1, 16,, 10 
	.sym	_fg,46, 979, 1, 16,, 4, 10 
	.sym	_freq_prev,45, 211, 1, 16,, 10 
	.sym	_fg_sum,44, 211, 1, 16,, 10 
;* A     assigned to _fg_sum_inv 
	.sym	_fg_sum_inv,0, 211, 4, 16,, 10 
	.sym	_code_ana,43, 19, 1, 16 
	.sym	_index,8, 3, 1, 16 
	.sym	_mode_index,9, 3, 1, 16 
	.sym	_cand_cur,10, 3, 1, 16 
;* AR6   assigned to U$63 
;* AR7   assigned to U$54 
;* AR1   assigned to U$29 
;* AR1   assigned to C$3 
;* AR6   assigned to C$2 
;* AR7   assigned to C$1 
	.sym	_cand,11, 51, 1, 32,, 2 
	.sym	_tindex1,13, 51, 1, 32,, 2 
	.sym	_tindex2,15, 51, 1, 32,, 2 
	.sym	_L_tdist,18, 53, 1, 64,, 2 
	.sym	_rbuf,22, 51, 1, 160,, 10 
	.sym	_buf,32, 51, 1, 160,, 10 
        PSHM      AR1 
        PSHM      AR6 
        PSHM      AR7 
        FRAME     #-58 
        RSBX      OVM 
        LD        *SP(68),B 
        STL       A,*SP(42) 
        MVMM      SP,AR6 
        STL       B,*SP(44) 
        LD        *SP(70),A 
        LD        *SP(67),B 
        STL       A,*SP(43) 
        MVMM      SP,AR7 
        STL       B,*SP(45) 
        LD        *SP(69),A 
        MAR       *+AR6(#18) 
        LD        *SP(66),B 
        STL       A,*SP(51) 
        STL       B,*SP(46) 
        MAR       *+AR7(#15) 
        LD        *SP(46),A 
        LD        *SP(65),B 
        STL       A,*SP(52) 
        STL       B,*SP(47) 
        LD        *SP(44),A 
        STL       A,*SP(53) 
        LD        *SP(64),B 
        LDM       SP,A 
        STL       B,*SP(48) 
        ADD       #12,A 
        STL       A,*SP(54) 
        LD        *SP(63),B 
        LDM       SP,A 
        STL       B,*SP(49) 
        ADD       #10,A 
        LD        *SP(62),B 
        STL       A,*SP(55) 
        STL       B,*SP(50) 
        LD        #2,A 
        STL       A,*SP(56) 
L1:     
	.line	23 
        LDM       SP,A 
        ADD       #22,A 
        STL       A,*SP(0) 
        RSBX      FRCT 
        LD        *SP(52),A 
        STL       A,*SP(1) 
        LD        *SP(45),A 
        STL       A,*SP(2) 
        LD        *SP(51),A 
        STL       A,*SP(3) 
        LD        *SP(42),A 
        CALL      #_Lsp_prev_extract    ; |92|  
        ; call occurs [#_Lsp_prev_extract] ; |92|  
	.line	25 
        LD        *SP(48),A 
        RSBX      OVM 
        STL       A,*SP(0) 
        RSBX      FRCT 
        LDM       SP,A 
        ADD       #10,A 
        STL       A,*SP(1) 
        LDM       SP,A 
        CALLD     #_Lsp_pre_select      ; |94|  
        ADD       #22,A 
        ; call occurs [#_Lsp_pre_select] ; |94|  
	.line	26 
        MVDK      *SP(55),*(AR1) 
        LD        *SP(10),A 
        STL       A,*+AR1 
        MVKD      *(AR1),*SP(55) 
	.line	28 
        STM       #10,T 
        LD        *SP(48),A 
        ANDM      #65533,*(PMST) 
        RSBX      FRCT 
        RSBX      OVM 
        ANDM      #65533,*(PMST) 
        NOP 
        MAC       *SP(10), A            ; |97|  
        STLM      A,AR1 
        MVKD      *(AR1),*SP(0) 
        LD        *SP(50),A 
        STL       A,*SP(1) 
        LD        *SP(47),A 
        STL       A,*SP(2) 
        LDM       SP,A 
        ADD       #8,A 
        STL       A,*SP(3) 
        LDM       SP,A 
        CALLD     #_Lsp_select_1        ; |97|  
        ADD       #22,A 
        ; call occurs [#_Lsp_select_1] ; |97|  
	.line	30 
        LD        *SP(8),A 
        MVDK      *SP(54),*(AR2) 
        STL       A,*+AR2 
        LD        *SP(47),A 
        STM       #10,T 
        MVKD      *(AR2),*SP(54) 
        ANDM      #65533,*(PMST) 
        RSBX      OVM 
        RSBX      FRCT 
        ANDM      #65533,*(PMST) 
        NOP 
        MAC       *SP(8), A 
        STLM      A,AR3 
        MVMM      SP,AR2 
        STM       #4,BRC 
        MAR       *+AR2(#32) 
        MVMM      AR1,AR4 
        RPTB      L3-1 
        ; loop starts 
L2:     
	.line	33 
        RSBX      OVM 
        SSBX      SXM 
        NOP 
        LD        *AR4+,16,A            ; |102|  
        SSBX      OVM 
        NOP 
        ADD       *AR3+,16,A,A          ; |102|  
        STH       A,*AR2+               ; |102|  
        ; loop ends ; |102|  
L3:     
	.line	35 
        RSBX      OVM 
        ST        #10,*SP(0)            ; |104|  
        LDM       SP,A 
        CALLD     #_Lsp_expand_1        ; |104|  
        ADD       #32,A 
        ; call occurs [#_Lsp_expand_1] ; |104|  
	.line	37 
        MVKD      *(AR1),*SP(0) 
        LD        *SP(50),A 
        RSBX      OVM 
        STL       A,*SP(1) 
        RSBX      FRCT 
        LD        *SP(47),A 
        STL       A,*SP(2) 
        LDM       SP,A 
        ADD       #8,A 
        STL       A,*SP(3) 
        LDM       SP,A 
        CALLD     #_Lsp_select_2        ; |106|  
        ADD       #22,A 
        ; call occurs [#_Lsp_select_2] ; |106|  
	.line	39 
        LD        *SP(8),A 
        STL       A,*AR7 
        STM       #10,T 
        LD        *SP(47),A 
        ANDM      #65533,*(PMST) 
        RSBX      FRCT 
        RSBX      OVM 
        ANDM      #65533,*(PMST) 
        NOP 
        MAC       *SP(8), A 
        ADD       #5,A,A 
        STLM      A,AR2 
        LD        *SP(48),A 
        MAC       *SP(10), A 
        MVMM      SP,AR1 
        ADD       #5,A,A 
        MAR       *+AR1(#37) 
        STM       #4,BRC 
        STLM      A,AR3 
        RPTB      L5-1 
        ; loop starts 
L4:     
	.line	42 
        RSBX      OVM 
        SSBX      SXM 
        NOP 
        LD        *AR3+,16,A            ; |111|  
        SSBX      OVM 
        NOP 
        ADD       *AR2+,16,A,A          ; |111|  
        STH       A,*AR1+               ; |111|  
        ; loop ends ; |111|  
L5:     
	.line	44 
        RSBX      OVM 
        ST        #10,*SP(0)            ; |113|  
        LDM       SP,A 
        CALLD     #_Lsp_expand_2        ; |113|  
        ADD       #32,A 
        ; call occurs [#_Lsp_expand_2] ; |113|  
	.line	46 
        RSBX      FRCT 
        ST        #5,*SP(0)             ; |115|  
        RSBX      OVM 
        LDM       SP,A 
        CALLD     #_Lsp_expand_1_2      ; |115|  
        ADD       #32,A 
        ; call occurs [#_Lsp_expand_1_2] ; |115|  
	.line	48 
        RSBX      OVM 
        LDM       SP,A 
        ADD       #32,A 
        STL       A,*SP(0) 
        LDM       SP,A 
        MVKD      *(AR6),*SP(1) 
        ADD       #22,A 
        STL       A,*SP(2) 
        RSBX      FRCT 
        LD        *SP(53),A 
        STL       A,*SP(3) 
        LD        *SP(50),A 
        CALL      #_Lsp_get_tdist       ; |117|  
        ; call occurs [#_Lsp_get_tdist] ; |117|  
	.line	49 
        MAR       *AR7+ 
        RSBX      OVM 
        LD        *SP(51),A 
        ADD       #10,A 
        STL       A,*SP(51) 
        LD        *SP(52),A 
        ADD       #40,A 
        STL       A,*SP(52) 
        LD        *SP(53),A 
        ADD       #10,A 
        MVDK      *SP(56),*(AR1) 
        STL       A,*SP(53) 
        MAR       *+AR6(#2) 
        BANZD     L1,*+AR1(-1)          ; |118|  
        MVKD      *(AR1),*SP(56) 
        ; branch occurs ; |118|  
	.line	51 
        LDM       SP,A 
        ADD       #9,A 
        RSBX      FRCT 
        STL       A,*SP(0) 
        LDM       SP,A 
        CALLD     #_Lsp_last_select     ; |120|  
        ADD       #18,A 
        ; call occurs [#_Lsp_last_select] ; |120|  
	.line	53 
        RSBX      OVM 
        LDM       SP,A 
        ADD       #11,A 
        RSBX      FRCT 
        ADD       *SP(9),A 
        STLM      A,AR7 
        ST        #7,*SP(0)             ; |122|  
        LD        *SP(9),A 
        CALL      #_shl                 ; |122|  
        ; call occurs [#_shl] ; |122|  
        MVDK      *SP(43),*(AR1) 
        LD        *AR7,B 
        OR        A,B                   ; |122|  
        STL       B,*AR1 
	.line	54 
        RSBX      OVM 
        LDM       SP,A 
        ADD       #15,A 
        ADD       *SP(9),A 
        STLM      A,AR1 
        RSBX      FRCT 
        LDM       SP,A 
        ADD       #13,A 
        ADD       *SP(9),A 
        STLM      A,AR6 
        ST        #5,*SP(0)             ; |123|  
        LD        *AR6,A 
        CALL      #_shl                 ; |123|  
        ; call occurs [#_shl] ; |123|  
        LD        *AR1,B 
        OR        A,B                   ; |123|  
        MVDK      *SP(43),*(AR2) 
        STL       B,*AR2(1) 
	.line	56 
        LD        *SP(47),A 
        STL       A,*SP(0) 
        LD        *AR7,A 
        STL       A,*SP(1) 
        LD        *AR6,A 
        STL       A,*SP(2) 
        LD        *AR1,A 
        STL       A,*SP(3) 
        LD        *SP(46),A 
        STM       #40,T 
        ANDM      #65533,*(PMST) 
        RSBX      FRCT 
        RSBX      OVM 
        ANDM      #65533,*(PMST) 
        NOP 
        MAC       *SP(9), A             ; |125|  
        STM       #10,T 
        STL       A,*SP(4) 
        LD        *SP(45),A 
        STL       A,*SP(5) 
        LD        *SP(49),A 
        STL       A,*SP(6) 
        LD        *SP(44),A 
        MAC       *SP(9), A             ; |125|  
        STL       A,*SP(7) 
        LD        *SP(48),A 
        CALL      #_Lsp_get_quant       ; |125|  
        ; call occurs [#_Lsp_get_quant] ; |125|  
	.line	60 
	.line	61 
        ANDM      #-833,*(ST1) 
        ANDM      #-4,*(PMST) 
        FRAME     #58 
        POPM      AR7 
        POPM      AR6 
        POPM      AR1 
        RET 
        ; return occurs 
	.endfunc	130,000018400h,61 
 
 
 
	.sect	".text" 
	.global	_Lsp_qua_cs 
	.sym	_Lsp_qua_cs,_Lsp_qua_cs, 32, 2, 0 
	.func	56 
 
;*************************************************************** 
;* FUNCTION DEF: _Lsp_qua_cs                                   * 
;*************************************************************** 
 
;*************************************************************** 
;*                                                             * 
;* Using -g (debug) with optimization (-o3) may disable key op * 
;*                                                             * 
;*************************************************************** 
_Lsp_qua_cs: 
	.line	6 
;* A     assigned to _flsp_in 
	.sym	_flsp_in,0, 19, 17, 16 
	.sym	_lspq_out,24, 19, 9, 16 
	.sym	_code,25, 19, 9, 16 
;* AR7   assigned to _code 
	.sym	_code,16, 19, 4, 16 
;* AR6   assigned to _lspq_out 
	.sym	_lspq_out,15, 19, 4, 16 
;* AR1   assigned to _flsp_in 
	.sym	_flsp_in,10, 19, 4, 16 
	.sym	_wegt,10, 51, 1, 160,, 10 
        PSHM      AR1 
        PSHM      AR6 
        PSHM      AR7 
        FRAME     #-20 
        NOP 
        MVDK      *SP(24),*(AR6) 
        MVDK      *SP(25),*(AR7) 
        STLM      A,AR1 
	.line	9 
        LDM       SP,A 
        ADD       #10,A 
        STL       A,*SP(0) 
        CALLD     #_Get_wegt            ; |64|  
        NOP 
        LDM       AR1,A 
        ; call occurs [#_Get_wegt] ; |64|  
	.line	11 
        LDM       SP,A 
        ADD       #10,A 
        STL       A,*SP(0) 
        MVKD      *(AR6),*SP(1) 
        ST        #_lspcb1,*SP(2)       ; |66|  
        ST        #_lspcb2,*SP(3)       ; |66|  
        ST        #_fg,*SP(4)           ; |66|  
        ST        #_freq_prev,*SP(5)    ; |66|  
        ST        #_fg_sum,*SP(6)       ; |66|  
        ST        #_fg_sum_inv,*SP(7)   ; |66|  
        MVKD      *(AR7),*SP(8) 
        CALLD     #_Relspwed            ; |66|  
        NOP 
        LDM       AR1,A 
        ; call occurs [#_Relspwed] ; |66|  
	.line	13 
        FRAME     #20 
        POPM      AR7 
        POPM      AR6 
        POPM      AR1 
        RET 
        ; return occurs 
	.endfunc	68,000018400h,23 
 
 
 
	.sect	".text" 
	.global	_Qua_lsp 
	.sym	_Qua_lsp,_Qua_lsp, 32, 2, 0 
	.func	20 
 
;*************************************************************** 
;* FUNCTION DEF: _Qua_lsp                                      * 
;*************************************************************** 
 
;*************************************************************** 
;*                                                             * 
;* Using -g (debug) with optimization (-o3) may disable key op * 
;*                                                             * 
;*************************************************************** 
_Qua_lsp: 
	.line	6 
;* A     assigned to _lsp 
	.sym	_lsp,0, 19, 17, 16 
	.sym	_lsp_q,26, 19, 9, 16 
	.sym	_ana,27, 19, 9, 16 
;* AR6   assigned to _ana 
	.sym	_ana,15, 19, 4, 16 
;* AR1   assigned to _lsp_q 
	.sym	_lsp_q,10, 19, 4, 16 
;* A     assigned to _lsp 
	.sym	_lsp,0, 19, 4, 16 
	.sym	_lsf,2, 51, 1, 160,, 10 
	.sym	_lsf_q,12, 51, 1, 160,, 10 
        PSHM      AR1 
        PSHM      AR6 
        FRAME     #-23 
        NOP 
        MVDK      *SP(27),*(AR6) 
        MVDK      *SP(26),*(AR1) 
	.line	10 
        LDM       SP,B 
        ADD       #2,B 
        STL       B,*SP(0) 
        ST        #10,*SP(1)            ; |29|  
        CALL      #_Lsp_lsf2            ; |29|  
        ; call occurs [#_Lsp_lsf2] ; |29|  
	.line	12 
        LDM       SP,A 
        ADD       #12,A 
        STL       A,*SP(0) 
        MVKD      *(AR6),*SP(1) 
        LDM       SP,A 
        CALLD     #_Lsp_qua_cs          ; |31|  
        ADD       #2,A 
        ; call occurs [#_Lsp_qua_cs] ; |31|  
	.line	15 
        LDM       SP,A 
        MVKD      *(AR1),*SP(0) 
        ST        #10,*SP(1)            ; |34|  
        CALLD     #_Lsf_lsp2            ; |34|  
        ADD       #12,A 
        ; call occurs [#_Lsf_lsp2] ; |34|  
	.line	17 
	.line	18 
        FRAME     #23 
        POPM      AR6 
        POPM      AR1 
        RET 
        ; return occurs 
	.endfunc	37,000008400h,25 
 
 
 
	.sect	".text" 
	.global	_Lsp_encw_reset 
	.sym	_Lsp_encw_reset,_Lsp_encw_reset, 32, 2, 0 
	.func	47 
 
;*************************************************************** 
;* FUNCTION DEF: _Lsp_encw_reset                               * 
;*************************************************************** 
 
;*************************************************************** 
;*                                                             * 
;* Using -g (debug) with optimization (-o3) may disable key op * 
;*                                                             * 
;*************************************************************** 
_Lsp_encw_reset: 
	.line	2 
;* AR1   assigned to U$6 
;* AR7   assigned to K$8 
;* AR6   assigned to L$1 
        PSHM      AR1 
        PSHM      AR6 
        STM       #_freq_prev,AR1 
        PSHM      AR7 
        STM       #4,AR6 
        STM       #_freq_prev_reset,AR7 
        FRAME     #-2 
L6:     
	.line	6 
        MVKD      *(AR1),*SP(0) 
        ST        #10,*SP(1)            ; |52|  
        CALLD     #_Copy                ; |52|  
        NOP 
        LDM       AR7,A 
        ; call occurs [#_Copy] ; |52|  
        NOP 
        BANZD     L6,*+AR6(-1)          ; |52|  
        MAR       *+AR1(#10) 
        ; branch occurs ; |52|  
	.line	7 
        FRAME     #2 
        POPM      AR7 
        POPM      AR6 
        POPM      AR1 
        RET 
        ; return occurs 
	.endfunc	53,000018400h,5 
 
 
;*************************************************************** 
;* UNDEFINED EXTERNAL REFERENCES                               * 
;*************************************************************** 
	.global	_shl 
	.global	_Lsf_lsp2 
	.global	_Lsp_lsf2 
	.global	_Get_wegt 
	.global	_Lsp_expand_1 
	.global	_Lsp_expand_2 
	.global	_Lsp_expand_1_2 
	.global	_Lsp_get_quant 
	.global	_Lsp_get_tdist 
	.global	_Lsp_last_select 
	.global	_Lsp_pre_select 
	.global	_Lsp_select_1 
	.global	_Lsp_select_2 
	.global	_Lsp_prev_extract 
	.global	_Copy 
	.global	_lspcb1 
	.global	_lspcb2 
	.global	_fg 
	.global	_fg_sum 
	.global	_fg_sum_inv 
 
;*************************************************************** 
;* TYPE INFORMATION                                            * 
;*************************************************************** 
	.sym	_Word16, 0, 3, 13, 16 
	.sym	_Word32, 0, 5, 13, 32