www.pudn.com > g729a.rar > DSPFUNC.asm, change:2005-08-22,size:14161b


;*************************************************************** 
;* TMS320C54x C/C++ Codegen                   PC Version 3.83  * 
;* Date/Time created: Mon Aug 22 19:45:30 2005                 * 
;*************************************************************** 
	.mmregs 
FP	.set	AR7 
	.c_mode 
	.file	"DSPFUNC.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	_Pow2 
	.sym	_Pow2,_Pow2, 37, 2, 0 
	.func	35 
 
;*************************************************************** 
;* FUNCTION DEF: _Pow2                                         * 
;*************************************************************** 
 
;*************************************************************** 
;*                                                             * 
;* Using -g (debug) with optimization (-o3) may disable key op * 
;*                                                             * 
;*************************************************************** 
_Pow2: 
	.line	5 
;* A     assigned to _exponent 
	.sym	_exponent,0, 3, 17, 16 
	.sym	_fraction,8, 3, 9, 16 
;* A     assigned to _L_x 
	.sym	_L_x,0, 5, 4, 32 
;* B     assigned to _a 
	.sym	_a,6, 3, 4, 16 
;* A     assigned to _fraction 
	.sym	_fraction,0, 3, 4, 16 
;* AR6   assigned to _exponent 
	.sym	_exponent,15, 3, 4, 16 
;* AR2   assigned to C$2 
;* AR1   assigned to C$1 
        PSHM      AR1 
        PSHM      AR6 
        FRAME     #-5 
        STLM      A,AR6 
        LD        *SP(8),A 
	.line	11 
        SSBX      FRCT 
        SSBX      OVM 
        MPY       *(AL),#32,A           ; |45|  
        RSBX      FRCT 
        RSBX      OVM 
        DST       A,*SP(2)              ; |45|  
        ST        #1,*SP(0)             ; |45|  
        CALL      #_L_shr               ; |45|  
        ; call occurs [#_L_shr] ; |45|  
	.line	12 
        LD        #32767,B 
        AND       A,B                   ; |46|  
	.line	20 
        RSBX      SXM 
        RSBX      OVM 
        DLD       *SP(2),A 
        SFTL      A,#-16,A              ; |54|  
        ADD       #_tabpow,A,A          ; |54|  
        STLM      A,AR2 
        LD        #30,16,A              ; |54|  
        SSBX      OVM 
        MVDK      *AR2,*(AR1) 
        SSBX      SXM 
        SUB       *(AR6),16,A,A         ; |54|  
        RSBX      OVM 
        STH       A,*SP(0)              ; |54|  
        LD        *(AR1),16,A           ; |54|  
        SSBX      OVM 
        SUB       *AR2(1),16,A,A        ; |54|  
        STH       A,*(T) 
        RSBX      OVM 
        LD        *(AR1),A              ; |54|  
        SFTL      A,#15,A               ; |54|  
        SFTL      A,#1,A                ; |54|  
        SFTA      A,8                   ; |54|  
        SFTA      A,-8                  ; |54|  
        ORM       #2,*(PMST) 
        SSBX      FRCT 
        SSBX      OVM 
        ORM       #2,*(PMST) 
        MAS       *(BL), A              ; |54|  
        RSBX      FRCT 
        RSBX      OVM 
        NOP 
        CALL      #_L_crshft_r          ; |54|  
        ; call occurs [#_L_crshft_r] ; |54|  
        SSBX      SXM 
        LD        *(AL),A               ; |54|  
	.line	22 
	.line	23 
        ANDM      #-833,*(ST1)          ; |56|  
        ANDM      #-4,*(PMST)           ; |56|  
        FRAME     #5                    ; |56|  
        POPM      AR6                   ; |56|  
        POPM      AR1                   ; |56|  
        RET       ; |56|  
        ; return occurs ; |56|  
	.endfunc	57,000008400h,7 
 
 
 
	.sect	".text" 
	.global	_Log2 
	.sym	_Log2,_Log2, 32, 2, 0 
	.func	82 
 
;*************************************************************** 
;* FUNCTION DEF: _Log2                                         * 
;*************************************************************** 
 
;*************************************************************** 
;*                                                             * 
;* Using -g (debug) with optimization (-o3) may disable key op * 
;*                                                             * 
;*************************************************************** 
_Log2: 
	.line	6 
;* A     assigned to _L_x 
	.sym	_L_x,0, 5, 17, 32 
	.sym	_exponent,6, 19, 9, 16 
	.sym	_fraction,7, 19, 9, 16 
;* A     assigned to _L_x 
	.sym	_L_x,0, 5, 4, 32 
;* AR7   assigned to _exponent 
	.sym	_exponent,16, 19, 4, 16 
;* AR6   assigned to _fraction 
	.sym	_fraction,15, 19, 4, 16 
;* AR1   assigned to _exp 
	.sym	_exp,10, 3, 4, 16 
;* AR1   assigned to _i 
	.sym	_i,10, 3, 4, 16 
;* B     assigned to _a 
	.sym	_a,6, 3, 4, 16 
;* AR1   assigned to C$2 
;* AR2   assigned to C$1 
        PSHM      AR1 
        PSHM      AR6 
        PSHM      AR7 
        FRAME     #-2 
        NOP 
        MVDK      *SP(6),*(AR7) 
        MVDK      *SP(7),*(AR6) 
	.line	10 
        RSBX      OVM 
        LD        A,B                   ; |91|  
        SSBX      SXM 
        SFTA      B,8                   ; |91|  
        SFTA      B,-8                  ; |91|  
        BC        L1,BLEQ               ; |91|  
        ; branch occurs ; |91|  
	.line	17 
        LD        A,B                   ; |98|  
        SFTA      B,8                   ; |98|  
        SFTA      B,-8                  ; |98|  
        EXP       B                     ; |98|  
        NOP 
        MVMD      T,AR1 
	.line	18 
        RSBX      FRCT 
        MVKD      *(AR1),*SP(0) 
        CALL      #_L_shl               ; |99|  
        ; call occurs [#_L_shl] ; |99|  
	.line	20 
        RSBX      OVM 
        SSBX      SXM 
        LD        #30,16,B              ; |101|  
        SSBX      OVM 
        SUB       *(AR1),16,B,B         ; |101|  
        STH       B,*AR7                ; |101|  
	.line	22 
        RSBX      FRCT 
        RSBX      OVM 
        ST        #9,*SP(0)             ; |103|  
        CALL      #_L_shr               ; |103|  
        ; call occurs [#_L_shr] ; |103|  
	.line	23 
        LD        A,B                   ; |104|  
        SFTL      B,#-16,B              ; |104|  
        STLM      B,AR1 
	.line	24 
        RSBX      FRCT 
        RSBX      OVM 
        ST        #1,*SP(0)             ; |105|  
        CALL      #_L_shr               ; |105|  
        ; call occurs [#_L_shr] ; |105|  
	.line	25 
        LD        #32767,B 
        AND       A,B                   ; |106|  
	.line	28 
        RSBX      OVM 
        SSBX      SXM 
        LD        *(AR1),16,A           ; |109|  
        SSBX      OVM 
        NOP 
        SUB       #32,16,A,A            ; |109|  
        SFTA      A,-16,A               ; |109|  
	.line	34 
        RSBX      OVM 
        NOP 
        ADD       #_tablog,A,A          ; |115|  
        STLM      A,AR1 
        NOP 
        NOP 
        MVDK      *AR1,*(AR2) 
        LD        *(AR2),16,A           ; |115|  
        SSBX      OVM 
        SUB       *AR1(1),16,A,A        ; |115|  
        STH       A,*(T) 
        RSBX      OVM 
        LD        *(AR2),A              ; |115|  
        SFTL      A,#15,A               ; |115|  
        SFTL      A,#1,A                ; |115|  
        SFTA      A,8                   ; |115|  
        SFTA      A,-8                  ; |115|  
        ORM       #2,*(PMST) 
        SSBX      FRCT 
        SSBX      OVM 
        ORM       #2,*(PMST) 
        MAS       *(BL), A              ; |115|  
        SFTL      A,#-16,A              ; |115|  
        STL       A,*AR6                ; |115|  
	.line	36 
        B         L2                    ; |117|  
        ; branch occurs ; |117|  
L1:     
	.line	12 
        ST        #0,*AR7               ; |93|  
	.line	13 
        ST        #0,*AR6               ; |94|  
L2:     
	.line	37 
        ANDM      #-833,*(ST1) 
        ANDM      #-4,*(PMST) 
        FRAME     #2 
        POPM      AR7 
        POPM      AR6 
        POPM      AR1 
        RET 
        ; return occurs 
	.endfunc	118,000018400h,5 
 
 
 
	.sect	".text" 
	.global	_Inv_sqrt 
	.sym	_Inv_sqrt,_Inv_sqrt, 37, 2, 0 
	.func	146 
 
;*************************************************************** 
;* FUNCTION DEF: _Inv_sqrt                                     * 
;*************************************************************** 
 
;*************************************************************** 
;*                                                             * 
;* Using -g (debug) with optimization (-o3) may disable key op * 
;*                                                             * 
;*************************************************************** 
_Inv_sqrt: 
	.line	4 
;* A     assigned to _L_x 
	.sym	_L_x,0, 5, 17, 32 
	.sym	_L_x,2, 5, 1, 32 
;* AR1   assigned to _exp 
	.sym	_exp,10, 3, 4, 16 
;* AR6   assigned to _i 
	.sym	_i,15, 3, 4, 16 
;* B     assigned to _a 
	.sym	_a,6, 3, 4, 16 
;* A     assigned to _L_y 
	.sym	_L_y,0, 5, 4, 32 
;* AR2   assigned to C$2 
;* AR3   assigned to C$1 
        PSHM      AR1 
        PSHM      AR6 
        FRAME     #-5 
        NOP 
        DST       A,*SP(2)              ; |149|  
	.line	8 
        RSBX      OVM 
        SSBX      SXM 
        SFTA      A,8                   ; |153|  
        SFTA      A,-8                  ; |153|  
        BC        L3,AGT                ; |153|  
        ; branch occurs ; |153|  
        LD        #16383,16,A           ; |153|  
        BD        L5                    ; |153|  
        OR        #65535,A,A            ; |153|  
        ; branch occurs ; |153|  
L3:     
	.line	10 
        DLD       *SP(2),A 
        EXP       A                     ; |155|  
        NOP 
        MVMD      T,AR1 
	.line	11 
        RSBX      FRCT 
        MVKD      *(AR1),*SP(0) 
        DLD       *SP(2),A              ; |156|  
        CALL      #_L_shl               ; |156|  
        ; call occurs [#_L_shl] ; |156|  
        DST       A,*SP(2)              ; |156|  
	.line	13 
        RSBX      OVM 
        SSBX      SXM 
        LD        #30,16,A              ; |158|  
        SSBX      OVM 
        SUB       *(AR1),16,A,A         ; |158|  
        SFTA      A,-16,A               ; |158|  
        STLM      A,AR1 
	.line	14 
        BITF      *(AR1),#1             ; |159|  
        BC        L4,TC                 ; |159|  
        ; branch occurs ; |159|  
	.line	15 
        RSBX      OVM 
        ST        #1,*SP(0)             ; |160|  
        RSBX      FRCT 
        DLD       *SP(2),A              ; |160|  
        CALL      #_L_shr               ; |160|  
        ; call occurs [#_L_shr] ; |160|  
        DST       A,*SP(2)              ; |160|  
L4:     
	.line	17 
        RSBX      FRCT 
        RSBX      OVM 
        ST        #1,*SP(0)             ; |162|  
        CALLD     #_shr                 ; |162|  
        NOP 
        LDM       AR1,A 
        ; call occurs [#_shr] ; |162|  
        STLM      A,AR1 
	.line	18 
        RSBX      OVM 
        SSBX      SXM 
        LD        *(AR1),16,A           ; |163|  
        SSBX      OVM 
        NOP 
        ADD       #1,16,A,A             ; |163|  
        SFTA      A,-16,A               ; |163|  
        STLM      A,AR1 
	.line	20 
        RSBX      OVM 
        ST        #9,*SP(0)             ; |165|  
        RSBX      FRCT 
        DLD       *SP(2),A              ; |165|  
        CALL      #_L_shr               ; |165|  
        ; call occurs [#_L_shr] ; |165|  
        DST       A,*SP(2)              ; |165|  
	.line	21 
        SFTL      A,#-16,A              ; |166|  
        STLM      A,AR6 
	.line	22 
        RSBX      OVM 
        ST        #1,*SP(0)             ; |167|  
        RSBX      FRCT 
        DLD       *SP(2),A              ; |167|  
        CALL      #_L_shr               ; |167|  
        ; call occurs [#_L_shr] ; |167|  
        DST       A,*SP(2)              ; |167|  
	.line	23 
        LD        #32767,B 
        AND       A,B                   ; |168|  
	.line	26 
        RSBX      OVM 
        SSBX      SXM 
        LD        *(AR6),16,A           ; |171|  
        SSBX      OVM 
        NOP 
        SUB       #16,16,A,A            ; |171|  
        SFTA      A,-16,A               ; |171|  
	.line	32 
        RSBX      OVM 
        NOP 
        ADD       #_tabsqr,A,A          ; |177|  
        STLM      A,AR2 
        NOP 
        NOP 
        MVDK      *AR2,*(AR3) 
        LD        *(AR3),16,A           ; |177|  
        SSBX      OVM 
        MVKD      *(AR1),*SP(0) 
        SUB       *AR2(1),16,A,A        ; |177|  
        STH       A,*(T) 
        RSBX      OVM 
        LD        *(AR3),A              ; |177|  
        SFTL      A,#15,A               ; |177|  
        SFTL      A,#1,A                ; |177|  
        SFTA      A,8                   ; |177|  
        SFTA      A,-8                  ; |177|  
        ORM       #2,*(PMST) 
        SSBX      FRCT 
        SSBX      OVM 
        ORM       #2,*(PMST) 
        MAS       *(BL), A              ; |177|  
        RSBX      FRCT 
        RSBX      OVM 
        NOP 
        CALL      #_L_shr               ; |177|  
        ; call occurs [#_L_shr] ; |177|  
	.line	34 
L5:     
	.line	35 
        ANDM      #-833,*(ST1)          ; |179|  
        ANDM      #-4,*(PMST)           ; |179|  
        FRAME     #5                    ; |179|  
        POPM      AR6                   ; |179|  
        POPM      AR1                   ; |179|  
        RET       ; |179|  
        ; return occurs ; |179|  
	.endfunc	180,000008400h,7 
 
 
;*************************************************************** 
;* UNDEFINED EXTERNAL REFERENCES                               * 
;*************************************************************** 
	.global	_L_shl 
	.global	_L_shr 
	.global	_shr 
	.global	_L_crshft_r 
	.global	_tabpow 
	.global	_tablog 
	.global	_tabsqr 
 
;*************************************************************** 
;* TYPE INFORMATION                                            * 
;*************************************************************** 
	.sym	_Word16, 0, 3, 13, 16 
	.sym	_Word16, 0, 3, 13, 16 
	.sym	_Word32, 0, 5, 13, 32