⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lspdec.asm

📁 g.729汇编手工优化
💻 ASM
字号:
;***************************************************************
;* TMS320C54x C/C++ Codegen                   PC Version 3.83  *
;* Date/Time created: Mon Aug 22 19:45:33 2005                 *
;***************************************************************
	.mmregs
FP	.set	AR7
	.c_mode
	.file	"LSPDEC.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
	.bss	_prev_ma,1,0,0
	.sym	_prev_ma,_prev_ma, 3, 3, 16
	.bss	_prev_lsp,10,0,0
	.sym	_prev_lsp,_prev_lsp, 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	_Lsp_iqua_cs
	.sym	_Lsp_iqua_cs,_Lsp_iqua_cs, 32, 2, 0
	.func	51

;***************************************************************
;* FUNCTION DEF: _Lsp_iqua_cs                                  *
;***************************************************************

;***************************************************************
;*                                                             *
;* Using -g (debug) with optimization (-o3) may disable key op *
;*                                                             *
;***************************************************************
_Lsp_iqua_cs:
	.line	6
;* A     assigned to _prm
	.sym	_prm,0, 19, 17, 16
	.sym	_lsp_q,24, 19, 9, 16
	.sym	_erase,25, 3, 9, 16
;* AR1   assigned to _prm
	.sym	_prm,10, 19, 4, 16
;* AR7   assigned to _lsp_q
	.sym	_lsp_q,16, 19, 4, 16
;* AR2   assigned to _erase
	.sym	_erase,11, 3, 4, 16
;* AR6   assigned to _mode_index
	.sym	_mode_index,15, 3, 4, 16
	.sym	_code0,18, 3, 1, 16
;* A     assigned to _code1
	.sym	_code1,0, 3, 4, 16
;* AR6   assigned to C$2
;* AR1   assigned to C$1
	.sym	_buf,8, 51, 1, 160,, 10
        PSHM      AR1
        PSHM      AR6
        PSHM      AR7
        FRAME     #-20
        NOP
        MVDK      *SP(24),*(AR7)
        MVDK      *SP(25),*(AR2)
        STLM      A,AR1
	.line	13
        BANZ      L1,*AR2               ; |63| 
        ; branch occurs ; |63| 
	.line	14
        ST        #7,*SP(0)             ; |64| 
        LD        *AR1,A
        CALL      #_shr                 ; |64| 
        ; call occurs [#_shr] ; |64| 
        AND       #1,A,A                ; |64| 
        STLM      A,AR6
	.line	15
        LD        *AR1,A
        AND       #127,A,A              ; |65| 
        STL       A,*SP(18)
	.line	16
        ST        #5,*SP(0)             ; |66| 
        LD        *AR1(1),A
        CALL      #_shr                 ; |66| 
        ; call occurs [#_shr] ; |66| 
        AND       #31,A,A               ; |66| 
	.line	21
        LD        *SP(18),B
        ST        #_lspcb2,*SP(0)       ; |71| 
        STL       B,*SP(1)
        STL       A,*SP(2)
        LD        #31,A
        AND       *AR1(1),A             ; |71| 
        STL       A,*SP(3)
        LD        #_fg,A
        STM       #40,T
        MAC       *(AR6), A             ; |71| 
        STL       A,*SP(4)
        ST        #_freq_prev,*SP(5)    ; |71| 
        STM       #10,T
        LD        #_fg_sum,A
        MVKD      *(AR7),*SP(6)
        MAC       *(AR6), A             ; |71| 
        STL       A,*SP(7)
        CALLD     #_Lsp_get_quant       ; |71| 
        LD        #_lspcb1,A
        ; call occurs [#_Lsp_get_quant] ; |71| 
	.line	26
        ST        #_prev_lsp,*SP(0)     ; |76| 
        ST        #10,*SP(1)            ; |76| 
        CALLD     #_Copy                ; |76| 
        NOP
        LDM       AR7,A
        ; call occurs [#_Copy] ; |76| 
	.line	27
        MVMD      AR6,*(_prev_ma)
	.line	28
        B         L2                    ; |78| 
        ; branch occurs ; |78| 
L1:    
	.line	32
        MVKD      *(AR7),*SP(0)
        ST        #10,*SP(1)            ; |82| 
        STM       #_prev_lsp,AR6
        CALLD     #_Copy                ; |82| 
        NOP
        LDM       AR6,A
        ; call occurs [#_Copy] ; |82| 
	.line	36
        STM       #_freq_prev,AR1
        LDM       SP,A
        ADD       #8,A
        STM       #40,T
        STL       A,*SP(0)
        LD        #_fg,A
        MAC       *(_prev_ma), A        ; |86| 
        STL       A,*SP(1)
        STM       #10,T
        LD        #_fg_sum_inv,A
        MVKD      *(AR1),*SP(2)
        MAC       *(_prev_ma), A        ; |86| 
        STL       A,*SP(3)
        CALLD     #_Lsp_prev_extract    ; |86| 
        NOP
        LDM       AR6,A
        ; call occurs [#_Lsp_prev_extract] ; |86| 
	.line	38
        MVKD      *(AR1),*SP(0)
        LDM       SP,A
        CALLD     #_Lsp_prev_update     ; |88| 
        ADD       #8,A
        ; call occurs [#_Lsp_prev_update] ; |88| 
L2:    
	.line	42
        FRAME     #20
        POPM      AR7
        POPM      AR6
        POPM      AR1
        RET
        ; return occurs
	.endfunc	92,000018400h,23



	.sect	".text"
	.global	_Lsp_decw_reset
	.sym	_Lsp_decw_reset,_Lsp_decw_reset, 32, 2, 0
	.func	31

;***************************************************************
;* FUNCTION DEF: _Lsp_decw_reset                               *
;***************************************************************

;***************************************************************
;*                                                             *
;* Using -g (debug) with optimization (-o3) may disable key op *
;*                                                             *
;***************************************************************
_Lsp_decw_reset:
	.line	4
;* 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
L3:    
	.line	8
        MVKD      *(AR1),*SP(0)
        ST        #10,*SP(1)            ; |38| 
        CALLD     #_Copy                ; |38| 
        NOP
        LDM       AR7,A
        ; call occurs [#_Copy] ; |38| 
        NOP
        BANZD     L3,*+AR6(-1)          ; |38| 
        MAR       *+AR1(#10)
        ; branch occurs ; |38| 
	.line	10
        ST        #0,*(_prev_ma)        ; |40| 
	.line	12
        ST        #_prev_lsp,*SP(0)     ; |42| 
        ST        #10,*SP(1)            ; |42| 
        CALLD     #_Copy                ; |42| 
        NOP
        LDM       AR7,A
        ; call occurs [#_Copy] ; |42| 
	.line	13
        FRAME     #2
        POPM      AR7
        POPM      AR6
        POPM      AR1
        RET
        ; return occurs
	.endfunc	43,000018400h,5



	.sect	".text"
	.global	_D_lsp
	.sym	_D_lsp,_D_lsp, 32, 2, 0
	.func	101

;***************************************************************
;* FUNCTION DEF: _D_lsp                                        *
;***************************************************************

;***************************************************************
;*                                                             *
;* Using -g (debug) with optimization (-o3) may disable key op *
;*                                                             *
;***************************************************************
_D_lsp:
	.line	6
;* A     assigned to _prm
	.sym	_prm,0, 19, 17, 16
	.sym	_lsp_q,14, 19, 9, 16
	.sym	_erase,15, 3, 9, 16
;* AR2   assigned to _erase
	.sym	_erase,11, 3, 4, 16
;* AR1   assigned to _lsp_q
	.sym	_lsp_q,10, 19, 4, 16
;* A     assigned to _prm
	.sym	_prm,0, 19, 4, 16
	.sym	_lsf_q,2, 51, 1, 160,, 10
        PSHM      AR1
        FRAME     #-12
        NOP
        MVDK      *SP(14),*(AR1)
        MVDK      *SP(15),*(AR2)
	.line	10
        LDM       SP,B
        ADD       #2,B
        STL       B,*SP(0)
        MVKD      *(AR2),*SP(1)
        CALL      #_Lsp_iqua_cs         ; |110| 
        ; call occurs [#_Lsp_iqua_cs] ; |110| 
	.line	14
        MVKD      *(AR1),*SP(0)
        LDM       SP,A
        ST        #10,*SP(1)            ; |114| 
        CALLD     #_Lsf_lsp2            ; |114| 
        ADD       #2,A
        ; call occurs [#_Lsf_lsp2] ; |114| 
	.line	16
	.line	17
        FRAME     #12
        POPM      AR1
        RET
        ; return occurs
	.endfunc	117,000000400h,13


;***************************************************************
;* UNDEFINED EXTERNAL REFERENCES                               *
;***************************************************************
	.global	_Lsf_lsp2
	.global	_Lsp_get_quant
	.global	_Lsp_prev_extract
	.global	_Lsp_prev_update
	.global	_Copy
	.global	_shr
	.global	_lspcb1
	.global	_lspcb2
	.global	_fg
	.global	_fg_sum
	.global	_fg_sum_inv

;***************************************************************
;* TYPE INFORMATION                                            *
;***************************************************************
	.sym	_Word16, 0, 3, 13, 16
	.sym	_Word16, 0, 3, 13, 16

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -