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

📄 pitch_a.asm

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

;***************************************************************
;* FUNCTION DEF: _Pitch_fr3_fast                               *
;***************************************************************

;***************************************************************
;*                                                             *
;* Using -g (debug) with optimization (-o3) may disable key op *
;*                                                             *
;***************************************************************
_Pitch_fr3_fast:
	.line	11
;* A     assigned to _exc
	.sym	_exc,0, 19, 17, 16
	.sym	_xn,98, 19, 9, 16
	.sym	_h,99, 19, 9, 16
	.sym	_L_subfr,100, 3, 9, 16
	.sym	_t0_min,101, 3, 9, 16
	.sym	_t0_max,102, 3, 9, 16
	.sym	_i_subfr,103, 3, 9, 16
	.sym	_pit_frac,104, 19, 9, 16
;* A     assigned to _L_temp
	.sym	_L_temp,0, 5, 4, 32
;* A     assigned to _L_temp
	.sym	_L_temp,0, 5, 4, 32
;* A     assigned to _L_temp
	.sym	_L_temp,0, 5, 4, 32
;* A     assigned to _corr
	.sym	_corr,0, 5, 4, 32
	.sym	_corr,92, 5, 1, 32
	.sym	_corr,92, 5, 1, 32
	.sym	_max,90, 5, 1, 32
	.sym	_max,90, 5, 1, 32
;* AR1   assigned to _t0
	.sym	_t0,10, 3, 4, 16
	.sym	_t,88, 3, 1, 16
	.sym	_pit_frac,85, 19, 1, 16
	.sym	_i_subfr,86, 3, 1, 16
	.sym	_t0_max,87, 3, 1, 16
;* AR1   assigned to _t0_min
	.sym	_t0_min,10, 3, 4, 16
;* AR7   assigned to _L_subfr
	.sym	_L_subfr,16, 3, 4, 16
;* A     assigned to _h
	.sym	_h,0, 19, 4, 16
;* B     assigned to _xn
	.sym	_xn,6, 19, 4, 16
	.sym	_exc,84, 19, 1, 16
;* AR6   assigned to U$16
	.sym	_Dn,4, 51, 1, 640,, 40
	.sym	_exc_tmp,44, 51, 1, 640,, 40
        PSHM      AR1
        PSHM      AR6
        PSHM      AR7
        FRAME     #-94
        NOP
        STL       A,*SP(84)
        LD        *SP(104),A
        STL       A,*SP(85)
        MVDK      *SP(101),*(AR1)
        LD        *SP(103),A
        MVDK      *SP(100),*(AR7)
        STL       A,*SP(86)
        LD        *SP(102),A
        STL       A,*SP(87)
        LD        *SP(99),A
        LD        *SP(98),B
	.line	21
        STL       B,*SP(0)
        LDM       SP,B
        ADD       #4,B
        STL       B,*SP(1)
        CALL      #_Cor_h_X             ; |38| 
        ; call occurs [#_Cor_h_X] ; |38| 
	.line	28
	.line	30
        SSBX      SXM
        MVKD      *(AR1),*SP(88)
        LD        *SP(88),A
        LD        *SP(87),B
        SUB       *(BL),A               ; |47| 
        BC        L3,AGT                ; |47| 
        ; branch occurs ; |47| 
        LD        *SP(88),B
        LD        *SP(84),A
        SUB       B,A
        STLM      A,AR6
        LD        *SP(87),A
        SUB       B,A
        ADD       #1,A,A
        STL       A,*SP(87)
	.line	27
        LD        #-32768,16,A          ; |44| 
        DST       A,*SP(90)             ; |44| 
L1:    
	.line	32
        MVKD      *(AR6),*SP(0)
        LDM       SP,A
        MVKD      *(AR7),*SP(1)
        CALLD     #_Dot_Product         ; |49| 
        ADD       #4,A
        ; call occurs [#_Dot_Product] ; |49| 
        DST       A,*SP(92)             ; |49| 
	.line	33
        DLD       *SP(90),A
        DST       A,*SP(0)              ; |50| 
        DLD       *SP(92),A             ; |50| 
        CALL      #_L_sub               ; |50| 
        ; call occurs [#_L_sub] ; |50| 
        SSBX      SXM
        SFTA      A,8                   ; |50| 
        SFTA      A,-8                  ; |50| 
        BC        L2,ALEQ               ; |50| 
        ; branch occurs ; |50| 
	.line	34
        DLD       *SP(92),A
        MVDK      *SP(88),*(AR1)
        DST       A,*SP(90)             ; |51| 
L2:    
	.line	35
        LD        *SP(88),A
        MVDK      *SP(87),*(AR2)
        ADD       #1,A
        MAR       *AR6-
        STL       A,*SP(88)
        BANZD     L1,*+AR2(-1)          ; |52| 
        MVKD      *(AR2),*SP(87)
        ; branch occurs ; |52| 
L3:    
	.line	43
        MVKD      *(AR1),*SP(0)
        ST        #0,*SP(1)             ; |60| 
        LD        *SP(84),A
        MVKD      *(AR7),*SP(2)
        CALL      #_Pred_lt_3           ; |60| 
        ; call occurs [#_Pred_lt_3] ; |60| 
	.line	44
        LD        *SP(84),A
        STL       A,*SP(0)
        MVKD      *(AR7),*SP(1)
        LDM       SP,A
        CALLD     #_Dot_Product         ; |61| 
        ADD       #4,A
        ; call occurs [#_Dot_Product] ; |61| 
        DST       A,*SP(90)             ; |61| 
	.line	45
        MVDK      *SP(85),*(AR2)
        ST        #0,*AR2               ; |62| 
	.line	49
        MVDK      *SP(86),*(AR2)
        BANZ      L4,*AR2               ; |66| 
        ; branch occurs ; |66| 
        SSBX      SXM
        LD        *(AR1),A              ; |66| 
        SUB       #84,A,A               ; |66| 
        BC        L4,ALEQ               ; |66| 
        ; branch occurs ; |66| 
	.line	50
        BD        L7                    ; |67| 
        NOP
        LDM       AR1,A
        ; branch occurs ; |67| 
L4:    
	.line	52
        LDM       SP,A
        ADD       #44,A
        STL       A,*SP(0)
        MVKD      *(AR7),*SP(1)
        LD        *SP(84),A
        CALL      #_Copy                ; |69| 
        ; call occurs [#_Copy] ; |69| 
	.line	56
        MVKD      *(AR1),*SP(0)
        ST        #-1,*SP(1)            ; |73| 
        LD        *SP(84),A
        MVKD      *(AR7),*SP(2)
        CALL      #_Pred_lt_3           ; |73| 
        ; call occurs [#_Pred_lt_3] ; |73| 
	.line	57
        LD        *SP(84),A
        STL       A,*SP(0)
        MVKD      *(AR7),*SP(1)
        LDM       SP,A
        CALLD     #_Dot_Product         ; |74| 
        ADD       #4,A
        ; call occurs [#_Dot_Product] ; |74| 
        DST       A,*SP(92)             ; |74| 
	.line	58
        DLD       *SP(90),A
        DST       A,*SP(0)              ; |75| 
        DLD       *SP(92),A             ; |75| 
        CALL      #_L_sub               ; |75| 
        ; call occurs [#_L_sub] ; |75| 
        SSBX      SXM
        SFTA      A,8                   ; |75| 
        SFTA      A,-8                  ; |75| 
        BC        L5,ALEQ               ; |75| 
        ; branch occurs ; |75| 
	.line	60
        DLD       *SP(92),A
        DST       A,*SP(90)             ; |77| 
	.line	61
        MVDK      *SP(85),*(AR2)
        ST        #-1,*AR2              ; |78| 
	.line	62
        LDM       SP,A
        ADD       #44,A
        STL       A,*SP(0)
        MVKD      *(AR7),*SP(1)
        LD        *SP(84),A
        CALL      #_Copy                ; |79| 
        ; call occurs [#_Copy] ; |79| 
L5:    
	.line	67
        MVKD      *(AR1),*SP(0)
        ST        #1,*SP(1)             ; |84| 
        LD        *SP(84),A
        MVKD      *(AR7),*SP(2)
        CALL      #_Pred_lt_3           ; |84| 
        ; call occurs [#_Pred_lt_3] ; |84| 
	.line	68
        LD        *SP(84),A
        STL       A,*SP(0)
        MVKD      *(AR7),*SP(1)
        LDM       SP,A
        CALLD     #_Dot_Product         ; |85| 
        ADD       #4,A
        ; call occurs [#_Dot_Product] ; |85| 
	.line	69
        DLD       *SP(90),B
        DST       B,*SP(0)              ; |86| 
        CALL      #_L_sub               ; |86| 
        ; call occurs [#_L_sub] ; |86| 
        SSBX      SXM
        SFTA      A,8                   ; |86| 
        SFTA      A,-8                  ; |86| 
        BC        L6,ALEQ               ; |86| 
        ; branch occurs ; |86| 
	.line	72
        MVDK      *SP(85),*(AR2)
        ST        #1,*AR2               ; |89| 
	.line	73
        BD        L7                    ; |90| 
        NOP
        LDM       AR1,A
        ; branch occurs ; |90| 
L6:    
	.line	75
        LD        *SP(84),A
        STL       A,*SP(0)
        MVKD      *(AR7),*SP(1)
        LDM       SP,A
        CALLD     #_Copy                ; |92| 
        ADD       #44,A
        ; call occurs [#_Copy] ; |92| 
        LDM       AR1,A
L7:    
	.line	77
        FRAME     #94                   ; |92| 
        POPM      AR7                   ; |92| 
        POPM      AR6                   ; |92| 
        POPM      AR1                   ; |92| 
        RET       ; |92| 
        ; return occurs ; |92| 
	.endfunc	94,000018400h,97


;***************************************************************
;* UNDEFINED EXTERNAL REFERENCES                               *
;***************************************************************
	.global	_L_sub
	.global	_Pred_lt_3
	.global	_Cor_h_X
	.global	_Copy
	.global	_Dot_Product

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

⌨️ 快捷键说明

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