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

📄 lpc_asm.asm

📁 g.729汇编手工优化
💻 ASM
📖 第 1 页 / 共 5 页
字号:
;***************************************************************
;* TMS320C54x C/C++ Codegen                  PC Version 3.831  *
;* Date/Time created: Mon Aug 22 11:50:38 2005                 *
;***************************************************************
	.mmregs
FP	.set	AR7
	.c_mode
	.file	"LPC.C"

	.sect	".cinit"
	.align	1
	.field  	IR_1,16
	.field  	_old_A+0,16
	.field  	4096,16			; _old_A[0] @ 0
	.field  	0,16			; _old_A[1] @ 16
	.field  	0,16			; _old_A[2] @ 32
	.field  	0,16			; _old_A[3] @ 48
	.field  	0,16			; _old_A[4] @ 64
	.field  	0,16			; _old_A[5] @ 80
	.field  	0,16			; _old_A[6] @ 96
	.field  	0,16			; _old_A[7] @ 112
	.field  	0,16			; _old_A[8] @ 128
	.field  	0,16			; _old_A[9] @ 144
	.field  	0,16			; _old_A[10] @ 160
IR_1:	.set	11

	.sect	".text"
	.bss	_old_A,11,0,0
	.sym	_old_A,_old_A, 51, 3, 176,, 11

	.sect	".cinit"
	.align	1
	.field  	IR_2,16
	.field  	_old_rc+0,16
	.field  	0,16			; _old_rc[0] @ 0
	.field  	0,16			; _old_rc[1] @ 16
IR_2:	.set	2

	.sect	".text"
	.bss	_old_rc,2,0,0
	.sym	_old_rc,_old_rc, 51, 3, 32,, 2
;	d:\ti\c5400\cgtools\bin\opt500.exe -i15 -q -O3 C:\DOCUME~1\WANGLA~1\LOCALS~1\Temp\TI1648_2 C:\DOCUME~1\WANGLA~1\LOCALS~1\Temp\TI1648_5 -w F:/CODE/g729a_v1.7/G729A/Debug 

	.sect	".text"
	.global	_Test_Overflow
	.sym	_Test_Overflow,_Test_Overflow, 35, 2, 0
	.func	338

;***************************************************************
;* FUNCTION DEF: _Test_Overflow                                *
;***************************************************************

;***************************************************************
;*                                                             *
;* Using -g (debug) with optimization (-o3) may disable key op *
;*                                                             *
;***************************************************************
_Test_Overflow:
;* A     assigned to _a
	.sym	_a,0, 19, 17, 16
	.sym	_f1,2, 19, 9, 16
	.sym	_f2,3, 19, 9, 16
;* BRC   assigned to L$1
;* A     assigned to L$1
;* B     assigned to _temp
	.sym	_temp,6, 5, 4, 32
;* B     assigned to _temp
	.sym	_temp,6, 5, 4, 32
;* A     assigned to _t0
	.sym	_t0,0, 5, 4, 32
;* A     assigned to _t0
	.sym	_t0,0, 5, 4, 32
;* AR3   assigned to _ovf_coef
	.sym	_ovf_coef,12, 3, 4, 16
;* AR1   assigned to _f2
	.sym	_f2,10, 19, 4, 16
;* B     assigned to _f1
	.sym	_f1,6, 19, 4, 16
;* A     assigned to _a
	.sym	_a,0, 19, 4, 16
;* AR1   assigned to U$40
;* AR4   assigned to U$26
;* AR5   assigned to U$17
;* AR2   assigned to U$8
;* A     assigned to C$2
;* A     assigned to C$1
        PSHM      AR1
        STLM      A,AR2
        ADD       #11,A,A
        LD        *SP(2),B
        STLM      A,AR5
        SUB       #1,B,A
        STLM      A,AR4
        NOP
        MVDK      *SP(3),*(AR1)

        STM       #0,AR3
        STM       #4,BRC
        RPTB      L10-1
        ; loop starts
L1:    
	.line	11
        SSBX      SXM
        LD        *+AR2(1),B            ; |348| 
        SFTL      B,#14,A               ; |348| 
	.line	14
        SFTL      A,#1,A                ; |351| 
	.line	23
        LD        *+AR5(-1),B           ; |360| 
        SFTL      B,#14,B               ; |360| 
	.line	34
        SFTL      B,#1,B                ; |371| 
        ADD       B,A                   ; |371| 
	.line	54
        SFTL      A,#-16,B              ; |391| 
        LD        *(BL),B               ; |391| 
        SUB       *+AR4(1),B,A
        LD        A,B                   ; |391| 
        SFTA      B,8                   ; |391| 
        SFTA      B,-8                  ; |391| 
        RSBX      SXM
        NOP
        SUB       #32768,B,B            ; |391| 
        BC        L3,BGEQ               ; |391| 
        ; branch occurs ; |391| 
	.line	59
        LD        A,B                   ; |396| 
        SSBX      SXM
        SFTA      B,8                   ; |396| 
        SFTA      B,-8                  ; |396| 
        SUB       #-32768,B,B           ; |396| 
        BC        L2,BLT                ; |396| 
        ; branch occurs ; |396| 
	.line	67
        BD        L5                    ; |404| 
        STL       A,*AR4(1)             ; |404| 
        ; branch occurs ; |404| 
L2:    
	.line	62
        ST        #-32768,*AR4(1)       ; |399| 
	.line	63
        B         L4                    ; |400| 
        ; branch occurs ; |400| 
L3:    
	.line	57
        ST        #32767,*AR4(1)        ; |394| 
L4:    
	.line	71
        STM       #1,AR3
L5:    
	.line	75
        SSBX      SXM
        NOP
        LD        *AR2,B                ; |412| 
        SFTL      B,#15,A               ; |412| 
	.line	87
        LD        *AR5,B                ; |424| 
        SFTL      B,#15,B               ; |424| 
	.line	97
        SUB       B,A                   ; |434| 
	.line	115
        SFTL      A,#-16,B              ; |452| 
        LD        *(BL),B               ; |452| 
        ADD       *AR1,B,A
        LD        A,B                   ; |452| 
        SFTA      B,8                   ; |452| 
        SFTA      B,-8                  ; |452| 
        RSBX      SXM
        NOP
        SUB       #32768,B,B            ; |452| 
        BC        L7,BGEQ               ; |452| 
        ; branch occurs ; |452| 
	.line	120
        LD        A,B                   ; |457| 
        SSBX      SXM
        SFTA      B,8                   ; |457| 
        SFTA      B,-8                  ; |457| 
        SUB       #-32768,B,B           ; |457| 
        BC        L6,BLT                ; |457| 
        ; branch occurs ; |457| 
	.line	128
        BD        L9                    ; |465| 
        STL       A,*AR1(1)             ; |465| 
        ; branch occurs ; |465| 
L6:    
	.line	123
        ST        #-32768,*AR1(1)       ; |460| 
	.line	124
        B         L8                    ; |461| 
        ; branch occurs ; |461| 
L7:    
	.line	118
        ST        #32767,*AR1(1)        ; |455| 
L8:    
	.line	131
        STM       #1,AR3
L9:    
	.line	132
        MAR       *AR1+
        ; loop ends ; |469| 
L10:    
	.line	134
        LDM       AR3,A
	.line	135
        POPM      AR1                   ; |471| 
        RET       ; |471| 
        ; return occurs ; |471| 
	.endfunc	472,000000400h,1



	.sect	".text"
	.global	_Levinson
	.sym	_Levinson,_Levinson, 32, 2, 0
	.func	201

;***************************************************************
;* FUNCTION DEF: _Levinson                                     *
;***************************************************************

;***************************************************************
;*                                                             *
;* Using -g (debug) with optimization (-o3) may disable key op *
;*                                                             *
;***************************************************************
_Levinson:
	.line	7
;* A     assigned to _Rh
	.sym	_Rh,0, 19, 17, 16
	.sym	_Rl,78, 19, 9, 16
	.sym	_A,79, 19, 9, 16
	.sym	_rc,80, 19, 9, 16
;* BRC   assigned to L$4
;* BRC   assigned to L$6
;* A     assigned to L$6
;* A     assigned to L$4
;* A     assigned to _t0
	.sym	_t0,0, 5, 4, 32
;* A     assigned to _t0
	.sym	_t0,0, 5, 4, 32
;* A     assigned to _t0
	.sym	_t0,0, 5, 4, 32
	.sym	_t0,60, 5, 1, 32
	.sym	_t0,60, 5, 1, 32
;* A     assigned to _t0
	.sym	_t0,0, 5, 4, 32
;* A     assigned to _t0
	.sym	_t0,0, 5, 4, 32
	.sym	_t0,60, 5, 1, 32
;* A     assigned to _t1
	.sym	_t1,0, 5, 4, 32
	.sym	_t1,58, 5, 1, 32
;* AR5   assigned to U$83
;* AR6   assigned to U$83
;* AR2   assigned to U$80
;* AR1   assigned to U$80
;* AR3   assigned to U$76
;* AR4   assigned to U$74
;* AR7   assigned to U$74
;* AR1   assigned to U$48
;* AR6   assigned to U$46
	.sym	_Rh,54, 19, 1, 16
	.sym	_Rl,57, 19, 1, 16
	.sym	_A,56, 19, 1, 16
	.sym	_rc,55, 19, 1, 16
	.sym	_i,66, 3, 1, 16
;* AR1   assigned to _j
	.sym	_j,10, 3, 4, 16
	.sym	_hi,4, 3, 1, 16
	.sym	_lo,5, 3, 1, 16
	.sym	_Kh,6, 3, 1, 16
	.sym	_Kl,7, 3, 1, 16
	.sym	_alp_h,8, 3, 1, 16
	.sym	_alp_l,9, 3, 1, 16
	.sym	_alp_exp,62, 3, 1, 16
	.sym	_t2,58, 5, 1, 32
;* AR7   assigned to L$2
;* AR2   assigned to U$116
;* AR3   assigned to U$114
;* AR7   assigned to U$105
;* AR1   assigned to U$99
;* AR6   assigned to U$97
;* B     assigned to C$4
;* B     assigned to C$3
;* AR2   assigned to C$2
;* AR2   assigned to C$1
	.sym	_Ah,10, 51, 1, 176,, 11
	.sym	_Al,21, 51, 1, 176,, 11
	.sym	_Anh,32, 51, 1, 176,, 11
	.sym	_Anl,43, 51, 1, 176,, 11
        PSHM      AR1
        PSHM      AR6
        PSHM      AR7
        FRAME     #-74
        NOP
        STL       A,*SP(54)
        LD        *SP(80),A
        STL       A,*SP(55)
        LD        *SP(79),A
        STL       A,*SP(56)
        LD        *SP(78),A
        STL       A,*SP(57)
	.line	19
        STLM      A,AR1
        RSBX      FRCT
        RSBX      OVM
        LD        *AR1(1),A
        MVDK      *SP(54),*(AR1)
        STL       A,*SP(0)
        LD        *AR1(1),A
        CALL      #_L_Comp              ; |219| 
        ; call occurs [#_L_Comp] ; |219| 
        DST       A,*SP(58)             ; |219| 
	.line	21
        LD        *AR1,A
        MVDK      *SP(57),*(AR1)
        STL       A,*SP(0)
        LD        *AR1,A
        STL       A,*SP(1)
        SSBX      SXM
        SSBX      OVM
        DLD       *SP(58),A
        ABS       A,A                   ; |221| 
        RSBX      OVM
        RSBX      FRCT
        NOP
        CALL      #_Div_32              ; |221| 
        ; call occurs [#_Div_32] ; |221| 
        DST       A,*SP(60)             ; |221| 
	.line	22
        SSBX      SXM
        NOP
        DLD       *SP(58),A
        BC        L11,ALEQ              ; |222| 
        ; branch occurs ; |222| 
        RSBX      OVM
        NOP
        DLD       *SP(60),A
        SSBX      OVM
        NOP
        NEG       A,A                   ; |222| 
        DST       A,*SP(60)             ; |222| 
L11:    
	.line	23
        RSBX      OVM
        LDM       SP,A
        ADD       #6,A
        RSBX      FRCT
        STL       A,*SP(0)
        LDM       SP,A
        ADD       #7,A
        STL       A,*SP(1)
        DLD       *SP(60),A             ; |223| 
        CALL      #_L_Extract           ; |223| 
        ; call occurs [#_L_Extract] ; |223| 
	.line	24
        MVDK      *SP(55),*(AR1)
        LD        *SP(6),A
        STL       A,*AR1
	.line	25
        RSBX      OVM
        RSBX      FRCT
        DLD       *SP(60),A             ; |225| 
        ST        #4,*SP(0)             ; |225| 
        CALL      #_L_shr               ; |225| 
        ; call occurs [#_L_shr] ; |225| 
        DST       A,*SP(60)             ; |225| 
	.line	26
        RSBX      OVM
        LDM       SP,A
        ADD       #11,A
        STL       A,*SP(0)
        LDM       SP,A
        ADD       #22,A
        STL       A,*SP(1)
        RSBX      FRCT
        DLD       *SP(60),A             ; |226| 
        CALL      #_L_Extract           ; |226| 
        ; call occurs [#_L_Extract] ; |226| 
	.line	30
        LD        *SP(7),A
        STL       A,*SP(0)
        LD        *SP(6),A
        STL       A,*SP(1)
        LD        *SP(7),A
        STL       A,*SP(2)
        RSBX      FRCT
        RSBX      OVM
        LD        *SP(6),A
        CALL      #_Mpy_32              ; |230| 
        ; call occurs [#_Mpy_32] ; |230| 
	.line	31
        RSBX      OVM
        NOP
        SFTA      A,8                   ; |231| 

⌨️ 快捷键说明

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