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

📄 taming.asm

📁 g.729汇编手工优化
💻 ASM
📖 第 1 页 / 共 2 页
字号:
;***************************************************************
;* TMS320C54x C/C++ Codegen                   PC Version 3.83  *
;* Date/Time created: Mon Aug 22 19:45:37 2005                 *
;***************************************************************
	.mmregs
FP	.set	AR7
	.c_mode
	.file	"TAMING.C"
	.bss	_L_exc_err,8,0,2
	.sym	_L_exc_err,_L_exc_err, 53, 3, 128,, 4
;	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	_update_exc_err
	.sym	_update_exc_err,_update_exc_err, 32, 2, 0
	.func	79

;***************************************************************
;* FUNCTION DEF: _update_exc_err                               *
;***************************************************************

;***************************************************************
;*                                                             *
;* Using -g (debug) with optimization (-o3) may disable key op *
;*                                                             *
;***************************************************************
_update_exc_err:
	.line	5
;* A     assigned to _gain_pit
	.sym	_gain_pit,0, 3, 17, 16
	.sym	_T0,12, 3, 9, 16
;* BRC   assigned to L$2
;* A     assigned to L$2
	.sym	_L_temp,6, 5, 1, 32
	.sym	_L_temp,6, 5, 1, 32
	.sym	_L_temp,6, 5, 1, 32
;* A     assigned to _L_acc
	.sym	_L_acc,0, 5, 4, 32
;* A     assigned to _L_acc
	.sym	_L_acc,0, 5, 4, 32
;* A     assigned to _L_acc
	.sym	_L_acc,0, 5, 4, 32
;* AR1   assigned to U$28
;* AR1   assigned to U$28
;* AR7   assigned to _gain_pit
	.sym	_gain_pit,16, 3, 4, 16
;* AR1   assigned to _T0
	.sym	_T0,10, 3, 4, 16
	.sym	_L_worst,4, 5, 1, 32
	.sym	_hi,2, 3, 1, 16
	.sym	_lo,3, 3, 1, 16
;* AR6   assigned to L$1
;* A     assigned to A$4
;* B     assigned to C$3
;* B     assigned to C$2
;* AR2   assigned to C$1
        PSHM      AR1
        PSHM      AR6
        PSHM      AR7
        FRAME     #-8
        NOP
        MVDK      *SP(12),*(AR1)
        STLM      A,AR7
	.line	11
        RSBX      OVM
        SSBX      SXM
        NOP
        LD        #-1,16,A              ; |89| 
        OR        #65535,A,A            ; |89| 
        DST       A,*SP(4)              ; |89| 
	.line	14
        LD        *(AR1),A              ; |92| 
        SUB       #40,A,A               ; |92| 
        BC        L3,ALT                ; |92| 
        ; branch occurs ; |92| 
	.line	40
        LD        *(AR1),16,A           ; |118| 
        SSBX      OVM
        LD        #_tab_zone,B
        SUB       #1,16,A,A             ; |118| 
        RSBX      OVM
        SFTA      A,-16,A               ; |118| 
        ADD       B,A                   ; |118| 
        STLM      A,AR2
        LD        *(AR1),16,A           ; |118| 
        SSBX      OVM
        NOP
        SUB       #40,16,A,A            ; |118| 
        RSBX      OVM
        SFTA      A,-16,A               ; |118| 
        ADD       B,A                   ; |118| 
        STLM      A,AR1
        NOP
        MVDK      *AR2,*(AR2)
        LD        *AR1,B
        LD        *(BL),A               ; |118| 
        SUB       *(AR2),A              ; |118| 
        BC        L5,AGT                ; |118| 
        ; branch occurs ; |118| 
        SFTL      B,#1,A
        ADD       #_L_exc_err,A,A
        STLM      A,AR1
        LDM       AR2,A
        SUB       B,A
        ADD       #1,A,A
        STLM      A,AR6
L1:    
	.line	41
        LDM       SP,A
        ADD       #2,A
        STL       A,*SP(0)
        RSBX      FRCT
        LDM       SP,A
        ADD       #3,A
        STL       A,*SP(1)
        DLD       *AR1+,A               ; |119| 
        CALL      #_L_Extract           ; |119| 
        ; call occurs [#_L_Extract] ; |119| 
	.line	42
        LD        *SP(3),A
        RSBX      FRCT
        RSBX      OVM
        STL       A,*SP(0)
        MVKD      *(AR7),*SP(1)
        LD        *SP(2),A
        CALL      #_Mpy_32_16           ; |120| 
        ; call occurs [#_Mpy_32_16] ; |120| 
	.line	43
        RSBX      FRCT
        RSBX      OVM
        ST        #1,*SP(0)             ; |121| 
        CALL      #_L_shl               ; |121| 
        ; call occurs [#_L_shl] ; |121| 
	.line	44
        RSBX      SXM
        SSBX      OVM
        LD        #16384,B
        ADD       A,B                   ; |122| 
        DST       B,*SP(6)              ; |122| 
	.line	45
        RSBX      OVM
        NOP
        DLD       *SP(4),A
        RSBX      FRCT
        DST       A,*SP(0)              ; |123| 
        CALLD     #_L_sub               ; |123| 
        NOP
        LD        B,A                   ; |123| 
        ; call occurs [#_L_sub] ; |123| 
        RSBX      OVM
        SSBX      SXM
        SFTA      A,8                   ; |123| 
        SFTA      A,-8                  ; |123| 
        BC        L2,ALEQ               ; |123| 
        ; branch occurs ; |123| 
	.line	46
        DLD       *SP(6),A
        DST       A,*SP(4)              ; |124| 
L2:    
	.line	47
        BANZ      L1,*+AR6(-1)          ; |125| 
        ; branch occurs ; |125| 
        B         L5                    ; |125| 
        ; branch occurs ; |125| 
L3:    
	.line	15
        LDM       SP,A
        ADD       #2,A
        STL       A,*SP(0)
        RSBX      FRCT
        LDM       SP,A
        ADD       #3,A
        STL       A,*SP(1)
        DLD       *(_L_exc_err),A       ; |93| 
        CALL      #_L_Extract           ; |93| 
        ; call occurs [#_L_Extract] ; |93| 
	.line	16
        LD        *SP(3),A
        RSBX      FRCT
        RSBX      OVM
        STL       A,*SP(0)
        MVKD      *(AR7),*SP(1)
        LD        *SP(2),A
        CALL      #_Mpy_32_16           ; |94| 
        ; call occurs [#_Mpy_32_16] ; |94| 
	.line	17
        RSBX      FRCT
        RSBX      OVM
        ST        #1,*SP(0)             ; |95| 
        CALL      #_L_shl               ; |95| 
        ; call occurs [#_L_shl] ; |95| 
	.line	18
        SSBX      OVM
        RSBX      SXM
        LD        #16384,B
        ADD       A,B                   ; |96| 
        DST       B,*SP(6)              ; |96| 
	.line	19
        SSBX      SXM
        NOP
        LD        #-1,A
        RSBX      FRCT
        RSBX      OVM
        DST       A,*SP(0)              ; |97| 
        CALLD     #_L_sub               ; |97| 
        NOP
        LD        B,A                   ; |97| 
        ; call occurs [#_L_sub] ; |97| 
        RSBX      OVM
        SSBX      SXM
        SFTA      A,8                   ; |97| 
        SFTA      A,-8                  ; |97| 
        BC        L4,ALEQ               ; |97| 
        ; branch occurs ; |97| 
	.line	21
        DLD       *SP(6),A
        DST       A,*SP(4)              ; |99| 
L4:    
	.line	23
        LDM       SP,A
        ADD       #2,A
        STL       A,*SP(0)
        RSBX      FRCT
        LDM       SP,A
        ADD       #3,A
        STL       A,*SP(1)
        DLD       *SP(6),A              ; |101| 
        CALL      #_L_Extract           ; |101| 
        ; call occurs [#_L_Extract] ; |101| 
	.line	24
        LD        *SP(3),A
        RSBX      FRCT
        RSBX      OVM
        STL       A,*SP(0)
        MVKD      *(AR7),*SP(1)
        LD        *SP(2),A
        CALL      #_Mpy_32_16           ; |102| 
        ; call occurs [#_Mpy_32_16] ; |102| 
	.line	25
        RSBX      FRCT
        RSBX      OVM
        ST        #1,*SP(0)             ; |103| 
        CALL      #_L_shl               ; |103| 
        ; call occurs [#_L_shl] ; |103| 
	.line	26
        RSBX      SXM
        SSBX      OVM
        LD        #16384,B
        ADD       A,B                   ; |104| 
        DST       B,*SP(6)              ; |104| 
	.line	27
        RSBX      OVM
        NOP
        DLD       *SP(4),A
        RSBX      FRCT

⌨️ 快捷键说明

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