📄 dspfunc.asm
字号:
;***************************************************************
;* 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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -