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