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

📄 gainpred.asm

📁 g.729汇编手工优化
💻 ASM
字号:
;***************************************************************
;* TMS320C54x C/C++ Codegen                   PC Version 3.83  *
;* Date/Time created: Mon Aug 22 19:45:32 2005                 *
;***************************************************************
	.mmregs
FP	.set	AR7
	.c_mode
	.file	"GAINPRED.C"
;	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	_Gain_update_erasure
	.sym	_Gain_update_erasure,_Gain_update_erasure, 32, 2, 0
	.func	67

;***************************************************************
;* FUNCTION DEF: _Gain_update_erasure                          *
;***************************************************************

;***************************************************************
;*                                                             *
;* Using -g (debug) with optimization (-o3) may disable key op *
;*                                                             *
;***************************************************************
_Gain_update_erasure:
	.line	4
;* A     assigned to _past_qua_en
	.sym	_past_qua_en,0, 19, 17, 16
;* BRC   assigned to L$1
;* BRC   assigned to L$2
;* A     assigned to L$2
;* A     assigned to L$1
;* AR1   assigned to U$4
;* AR1   assigned to U$4
;* AR6   assigned to _past_qua_en
	.sym	_past_qua_en,15, 19, 4, 16
;* A     assigned to _av_pred_en
	.sym	_av_pred_en,0, 3, 4, 16
;* A     assigned to _L_tmp
	.sym	_L_tmp,0, 5, 4, 32
;* B     assigned to A$1
        PSHM      AR1
        PSHM      AR6
        FRAME     #-3
        STLM      A,AR6
        NOP
        NOP
        MVMM      AR6,AR1
	.line	8
        STM       #3,BRC
        LD        #0,A
        RPTB      L2-1
        ; loop starts
L1:    
	.line	10
        RSBX      OVM
        SSBX      SXM
        SFTA      A,8                   ; |76| 
        LD        *AR1+,B               ; |76| 
        SFTA      A,-8                  ; |76| 
        SSBX      OVM
        RSBX      SXM
        NOP
        ADD       B,A                   ; |76| 
        ; loop ends ; |76| 
L2:    
	.line	11
        RSBX      FRCT
        RSBX      OVM
        ST        #2,*SP(0)             ; |77| 
        CALL      #_L_shr               ; |77| 
        ; call occurs [#_L_shr] ; |77| 
	.line	12
        SSBX      SXM
        RSBX      OVM
        LD        *(AL),16,A            ; |78| 
        SSBX      OVM
        NOP
        SUB       #4096,16,A,A          ; |78| 
        SFTA      A,-16,A               ; |78| 
	.line	14
        RSBX      OVM
        LD        *(AL),16,B            ; |80| 
        SSBX      OVM
        NOP
        SUB       #-14336,16,B,B        ; |80| 
        SFTA      B,-16,B               ; |80| 
        LD        *(BL),B               ; |80| 
        BC        L3,BGEQ               ; |80| 
        ; branch occurs ; |80| 
	.line	15
        LD        #-14336,A
L3:    
        RSBX      OVM
        LDM       AR6,B
        STM       #2,BRC
        ADD       #3,B,B
        STLM      B,AR1
        RPTB      L5-1
        ; loop starts
L4:    
	.line	19
        LD        *AR1(-1),B
        STL       B,*AR1-
	.line	20
        ; loop ends ; |86| 
L5:    
	.line	21
        STL       A,*AR6
	.line	22
        ANDM      #-833,*(ST1)
        ANDM      #-4,*(PMST)
        FRAME     #3
        POPM      AR6
        POPM      AR1
        RET
        ; return occurs
	.endfunc	88,000008400h,5



	.sect	".text"
	.global	_Gain_update
	.sym	_Gain_update,_Gain_update, 32, 2, 0
	.func	29

;***************************************************************
;* FUNCTION DEF: _Gain_update                                  *
;***************************************************************

;***************************************************************
;*                                                             *
;* Using -g (debug) with optimization (-o3) may disable key op *
;*                                                             *
;***************************************************************
_Gain_update:
	.line	5
;* A     assigned to _past_qua_en
	.sym	_past_qua_en,0, 19, 17, 16
	.sym	_L_gbk12,8, 5, 9, 32
;* BRC   assigned to L$1
;* A     assigned to L$1
;* AR1   assigned to U$4
;* A     assigned to _L_acc
	.sym	_L_acc,0, 5, 4, 32
	.sym	_frac,2, 3, 1, 16
	.sym	_exp,3, 3, 1, 16
;* T     assigned to _tmp
	.sym	_tmp,20, 3, 4, 16
;* A     assigned to _L_gbk12
	.sym	_L_gbk12,0, 5, 4, 32
;* AR6   assigned to _past_qua_en
	.sym	_past_qua_en,15, 19, 4, 16
;* B     assigned to A$1
        PSHM      AR1
        PSHM      AR6
        FRAME     #-5
        RSBX      OVM
        STLM      A,AR6
        STM       #2,BRC
        LDM       AR6,B
        ADD       #3,B,B
        STLM      B,AR1
        DLD       *SP(8),A              ; |33| 
        RPTB      L7-1
        ; loop starts
L6:    
	.line	11
        LD        *AR1(-1),B
        STL       B,*AR1-
	.line	12
        ; loop ends ; |40| 
L7:    
	.line	21
        LDM       SP,B
        ADD       #3,B
        STL       B,*SP(0)
        RSBX      FRCT
        LDM       SP,B
        ADD       #2,B
        STL       B,*SP(1)
        CALL      #_Log2                ; |49| 
        ; call occurs [#_Log2] ; |49| 
	.line	22
        SSBX      SXM
        RSBX      OVM
        LD        *SP(2),A
        STL       A,*SP(0)
        LD        *SP(3),16,A           ; |50| 
        SSBX      OVM
        RSBX      FRCT
        SUB       #13,16,A,A            ; |50| 
        RSBX      OVM
        NOP
        CALLD     #_L_Comp              ; |50| 
        NOP
        SFTA      A,-16,A               ; |50| 
        ; call occurs [#_L_Comp] ; |50| 
	.line	23
        RSBX      FRCT
        RSBX      OVM
        ST        #13,*SP(0)            ; |51| 
        CALL      #_L_shl               ; |51| 
        ; call occurs [#_L_shl] ; |51| 
        SFTL      A,#-16,A              ; |51| 
        STLM      A,T
	.line	24
        RSBX      OVM
        SSBX      FRCT
        LD        #24660,16,A           ; |52| 
        SSBX      SXM
        SSBX      OVM
        NOP
        MPYA      A                     ; |52| 
        STH       A,*AR6                ; |52| 
	.line	25
        ANDM      #-833,*(ST1)
        ANDM      #-4,*(PMST)
        FRAME     #5
        POPM      AR6
        POPM      AR1
        RET
        ; return occurs
	.endfunc	53,000008400h,7


;***************************************************************
;* UNDEFINED EXTERNAL REFERENCES                               *
;***************************************************************
	.global	_L_shl
	.global	_L_shr
	.global	_Log2
	.global	_L_Comp

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

⌨️ 快捷键说明

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