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

📄 de_acelp_asm.asm

📁 g.729汇编手工优化
💻 ASM
字号:
;***************************************************************
;* TMS320C54x C/C++ Codegen                  PC Version 3.831  *
;* Date/Time created: Wed May 11 09:36:25 2005                 *
;***************************************************************
	.mmregs
FP	.set	AR7

;	c:\ti\c5400\cgtools\bin\opt500.exe -i20 -q -s -O3 D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\TI3584_2 D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\TI3584_5 -w F:/ATA/Code/g729a_v1.4/G729A/Debug 

	.sect	".text"
	.global	_Decod_ACELP

;----------------------------------------------------------------------
;  20 | void Decod_ACELP(                                                      
;  21 | Word16 sign,      /* (i)     : signs of 4 pulses.
;     |  */                                                                    
;  22 | Word16 index,     /* (i)     : Positions of the 4 pulses.
;     |  */                                                                    
;  23 | Word16 cod[]      /* (o) Q13 : algebraic (fixed) codebook excitation
;     |  */                                                                    
;  24 | )                                                                      
;----------------------------------------------------------------------

;***************************************************************
;* FUNCTION DEF: _Decod_ACELP                                  *
;***************************************************************

;***************************************************************
;*                                                             *
;* Using -g (debug) with optimization (-o3) may disable key op *
;*                                                             *
;***************************************************************
_Decod_ACELP:
;* A     assigned to _sign
	.sym	_sign,0, 3, 17, 16
	.sym	_index,12, 3, 9, 16
	.sym	_cod,13, 19, 9, 16
	.sym	_sign,2, 3, 1, 16
	.sym	_i,3, 3, 1, 16
	.sym	_j,4, 3, 1, 16
	.sym	_pos,5, 51, 1, 64,, 4
        PSHM      AR1
        FRAME     #-10
        NOP
        STL       A,*SP(2)

        LD        #7,A
        AND       *SP(12),A             ; |32| 
        STL       A,*SP(3)

        ;;RSBX      FRCT
        ;;RSBX      OVM
        SSBX      OVM;;WLY
        SSBX	  SXM;;WLY
        NOP
        ;;ST        #2,*SP(0)             ; |33| 
        LD        *SP(3),A
        ;;CALL      #_clshft              ; |33| 
        SFTA	A,2;;WLY
        ; call occurs [#_clshft] ; |33| 
        ;;SSBX      SXM
        ;;RSBX      OVM
        ;;NOP
        LD        *SP(3),16,B           ; |33| 
        ;;SSBX      OVM
        ADD       *(AL),16,B,A          ; |33| 
        STH       A,*SP(5)              ; |33| 
	.line	16
        ;;ST        #3,*SP(0)             ; |35| 
        ;;RSBX      FRCT
        ;;RSBX      OVM
        LD        *SP(12),A
        ;;CALL      #_crshft              ; |35| 
        SFTA	A,-3;;WLY
        ; call occurs [#_crshft] ; |35| 
        STL       A,*SP(12)
	.line	17
        LD        #7,A
        AND       *SP(12),A             ; |36| 
        STL       A,*SP(3)
	.line	18
        ;;RSBX      FRCT
        ;;RSBX      OVM
        ;;ST        #2,*SP(0)             ; |37| 
        LD        *SP(3),A
        ;;CALL      #_clshft              ; |37| ]
        SFTA	A,2;;WLY
        ; call occurs [#_clshft] ; |37| 
        ;;SSBX      SXM
        ;;RSBX      OVM
        ;;NOP
        LD        *SP(3),16,B           ; |37| 
        ;;SSBX      OVM
        ADD       *(AL),16,B,A          ; |37| 
        STH       A,*SP(3)              ; |37| 
	.line	19
        ;;RSBX      OVM
        NOP
        LD        *SP(3),16,A           ; |38| 
        ;;SSBX      OVM
        NOP
        ADD       #1,16,A,A             ; |38| 
        STH       A,*SP(6)              ; |38| 
	.line	21
        ;;ST        #3,*SP(0)             ; |40| 
        ;;RSBX      OVM
        ;;RSBX      FRCT
        LD        *SP(12),A
        ;;CALL      #_crshft              ; |40| 
        SFTA	A,-3
        ; call occurs [#_crshft] ; |40| 
        STL       A,*SP(12)
	.line	22
        LD        #7,A
        AND       *SP(12),A             ; |41| 
        STL       A,*SP(3)
	.line	23
        ;;RSBX      FRCT
        ;;RSBX      OVM
        ;;ST        #2,*SP(0)             ; |42| 
        LD        *SP(3),A
        ;;CALL      #_clshft              ; |42| 
        SFTA 	A,2;;WLY
        ; call occurs [#_clshft] ; |42| 
        ;;RSBX      OVM
        ;;SSBX      SXM
        ;;NOP
        LD        *SP(3),16,B           ; |42| 
        ;;SSBX      OVM
        ADD       *(AL),16,B,A          ; |42| 
        STH       A,*SP(3)              ; |42| 
	.line	24
        ;;RSBX      OVM
        NOP
        LD        *SP(3),16,A           ; |43| 
        ;;SSBX      OVM
        NOP
        ADD       #2,16,A,A             ; |43| 
        STH       A,*SP(7)              ; |43| 
	.line	26
        ;;RSBX      OVM
        ;;ST        #3,*SP(0)             ; |45| 
        ;;RSBX      FRCT
        LD        *SP(12),A
        ;;CALL      #_crshft              ; |45| 
        SFTA	A,-3
        ; call occurs [#_crshft] ; |45| 
        STL       A,*SP(12)
	.line	27
        LD        #1,A
        AND       *SP(12),A             ; |46| 
        STL       A,*SP(4)
	.line	28
        ;;ST        #1,*SP(0)             ; |47| 
        ;;RSBX      FRCT
        ;;RSBX      OVM
        LD        *SP(12),A
        ;;CALL      #_crshft              ; |47| 
        SFTA	A,-1;;WLY
        ; call occurs [#_crshft] ; |47| 
        STL       A,*SP(12)
	.line	29
        LD        #7,A
        AND       *SP(12),A             ; |48| 
        STL       A,*SP(3)
	.line	30
        ;;ST        #2,*SP(0)             ; |49| 
        ;;RSBX      FRCT
        ;;RSBX      OVM
        LD        *SP(3),A
        ;;CALL      #_clshft              ; |49| 
        SFTA	A,2;;WLY
        ; call occurs [#_clshft] ; |49| 
        ;;SSBX      SXM
        ;;RSBX      OVM
        ;;NOP
        LD        *SP(3),16,B           ; |49| 
        ;;SSBX      OVM
        ADD       *(AL),16,B,A          ; |49| 
        STH       A,*SP(3)              ; |49| 
	.line	31
        ;;RSBX      OVM
        NOP
        LD        *SP(3),16,A           ; |50| 
        ;;SSBX      OVM
        NOP
        ADD       #3,16,A,A             ; |50| 
        STH       A,*SP(3)              ; |50| 
	.line	32
        ;;RSBX      OVM
        NOP
        LD        *SP(3),16,A           ; |51| 
        ;;SSBX      OVM
        NOP
        ADD       *SP(4),16,A,A         ; |51| 
        STH       A,*SP(8)              ; |51| 
	.line	36
        ;;RSBX      OVM
        ST        #0,*SP(3)             ; |55| 
        LD        #40,A
        SUB       *SP(3),A              ; |55| 
        BC        L2,ALEQ               ; |55| 
        ; branch occurs ; |55| 
L1:    
	.line	37
        LD        *SP(3),A
        ADD       *SP(13),A             ; |56| 
        STLM      A,AR1
        NOP
        NOP
        ST        #0,*AR1               ; |56| 
	.line	38
        LD        #40,A
        ADDM      #1,*SP(3)             ; |57| 
        SUB       *SP(3),A              ; |57| 
        BC        L1,AGT                ; |57| 
        ; branch occurs ; |57| 
L2:    
	.line	40
        LD        #4,A
        ST        #0,*SP(4)             ; |59| 
        SUB       *SP(4),A              ; |59| 
        BC        L6,ALEQ               ; |59| 
        ; branch occurs ; |59| 
L3:    
	.line	43
        LD        #1,A
        AND       *SP(2),A              ; |62| 
        STL       A,*SP(3)
	.line	44
        ;;RSBX      FRCT
        ;;ST        #1,*SP(0)             ; |63| 
        LD        *SP(2),A
        ;;CALL      #_crshft              ; |63| 
        SFTA	A,-1;;WLY
        ; call occurs [#_crshft] ; |63| 
        STL       A,*SP(2)
	.line	46
        ;;RSBX      OVM
        NOP
        LD        *SP(3),A              ; |65| 
        BC        L4,AEQ                ; |65| 
        ; branch occurs ; |65| 
	.line	47
        LDM       SP,A
        ADD       #5,A
        ADD       *SP(4),A              ; |66| 
        STLM      A,AR1
        NOP
        NOP
        LD        *AR1,A
        ADD       *SP(13),A             ; |66| 
        STLM      A,AR1
        NOP
        NOP
        ST        #8191,*AR1            ; |66| 
	.line	48
        B         L5                    ; |67| 
        ; branch occurs ; |67| 
L4:    
	.line	50
        LDM       SP,A
        ADD       #5,A
        ADD       *SP(4),A              ; |69| 
        STLM      A,AR1
        NOP
        NOP
        LD        *AR1,A
        ADD       *SP(13),A             ; |69| 
        STLM      A,AR1
        NOP
        NOP
        ST        #-8192,*AR1           ; |69| 
L5:    
	.line	52
        ;;SSBX      SXM
        LD        #4,A
        ADDM      #1,*SP(4)             ; |71| 
        SUB       *SP(4),A              ; |71| 
        BC        L3,AGT                ; |71| 
        ; branch occurs ; |71| 
	.line	54
L6:    
	.line	55
        ANDM      #-833,*(ST1)
        ANDM      #-4,*(PMST)
        FRAME     #10
        POPM      AR1
        RET
        ; return occurs
;;	.endfunc	74,000000400h,11

;;	.endfunc	74,000018400h,11


;***************************************************************
;* UNDEFINED EXTERNAL REFERENCES                               *
;***************************************************************
	.global	_clshft
	.global	_crshft


⌨️ 快捷键说明

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