📄 pitch_a.asm
字号:
;***************************************************************
;* TMS320C54x C/C++ Codegen PC Version 3.83 *
;* Date/Time created: Mon Aug 22 19:45:34 2005 *
;***************************************************************
.mmregs
FP .set AR7
.c_mode
.file "PITCH_A.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 _Pitch_fr3_fast
.sym _Pitch_fr3_fast,_Pitch_fr3_fast, 35, 2, 0
.func 18
;***************************************************************
;* FUNCTION DEF: _Pitch_fr3_fast *
;***************************************************************
;***************************************************************
;* *
;* Using -g (debug) with optimization (-o3) may disable key op *
;* *
;***************************************************************
_Pitch_fr3_fast:
.line 11
;* A assigned to _exc
.sym _exc,0, 19, 17, 16
.sym _xn,98, 19, 9, 16
.sym _h,99, 19, 9, 16
.sym _L_subfr,100, 3, 9, 16
.sym _t0_min,101, 3, 9, 16
.sym _t0_max,102, 3, 9, 16
.sym _i_subfr,103, 3, 9, 16
.sym _pit_frac,104, 19, 9, 16
;* A assigned to _L_temp
.sym _L_temp,0, 5, 4, 32
;* A assigned to _L_temp
.sym _L_temp,0, 5, 4, 32
;* A assigned to _L_temp
.sym _L_temp,0, 5, 4, 32
;* A assigned to _corr
.sym _corr,0, 5, 4, 32
.sym _corr,92, 5, 1, 32
.sym _corr,92, 5, 1, 32
.sym _max,90, 5, 1, 32
.sym _max,90, 5, 1, 32
;* AR1 assigned to _t0
.sym _t0,10, 3, 4, 16
.sym _t,88, 3, 1, 16
.sym _pit_frac,85, 19, 1, 16
.sym _i_subfr,86, 3, 1, 16
.sym _t0_max,87, 3, 1, 16
;* AR1 assigned to _t0_min
.sym _t0_min,10, 3, 4, 16
;* AR7 assigned to _L_subfr
.sym _L_subfr,16, 3, 4, 16
;* A assigned to _h
.sym _h,0, 19, 4, 16
;* B assigned to _xn
.sym _xn,6, 19, 4, 16
.sym _exc,84, 19, 1, 16
;* AR6 assigned to U$16
.sym _Dn,4, 51, 1, 640,, 40
.sym _exc_tmp,44, 51, 1, 640,, 40
PSHM AR1
PSHM AR6
PSHM AR7
FRAME #-94
NOP
STL A,*SP(84)
LD *SP(104),A
STL A,*SP(85)
MVDK *SP(101),*(AR1)
LD *SP(103),A
MVDK *SP(100),*(AR7)
STL A,*SP(86)
LD *SP(102),A
STL A,*SP(87)
LD *SP(99),A
LD *SP(98),B
.line 21
STL B,*SP(0)
LDM SP,B
ADD #4,B
STL B,*SP(1)
CALL #_Cor_h_X ; |38|
; call occurs [#_Cor_h_X] ; |38|
.line 28
.line 30
SSBX SXM
MVKD *(AR1),*SP(88)
LD *SP(88),A
LD *SP(87),B
SUB *(BL),A ; |47|
BC L3,AGT ; |47|
; branch occurs ; |47|
LD *SP(88),B
LD *SP(84),A
SUB B,A
STLM A,AR6
LD *SP(87),A
SUB B,A
ADD #1,A,A
STL A,*SP(87)
.line 27
LD #-32768,16,A ; |44|
DST A,*SP(90) ; |44|
L1:
.line 32
MVKD *(AR6),*SP(0)
LDM SP,A
MVKD *(AR7),*SP(1)
CALLD #_Dot_Product ; |49|
ADD #4,A
; call occurs [#_Dot_Product] ; |49|
DST A,*SP(92) ; |49|
.line 33
DLD *SP(90),A
DST A,*SP(0) ; |50|
DLD *SP(92),A ; |50|
CALL #_L_sub ; |50|
; call occurs [#_L_sub] ; |50|
SSBX SXM
SFTA A,8 ; |50|
SFTA A,-8 ; |50|
BC L2,ALEQ ; |50|
; branch occurs ; |50|
.line 34
DLD *SP(92),A
MVDK *SP(88),*(AR1)
DST A,*SP(90) ; |51|
L2:
.line 35
LD *SP(88),A
MVDK *SP(87),*(AR2)
ADD #1,A
MAR *AR6-
STL A,*SP(88)
BANZD L1,*+AR2(-1) ; |52|
MVKD *(AR2),*SP(87)
; branch occurs ; |52|
L3:
.line 43
MVKD *(AR1),*SP(0)
ST #0,*SP(1) ; |60|
LD *SP(84),A
MVKD *(AR7),*SP(2)
CALL #_Pred_lt_3 ; |60|
; call occurs [#_Pred_lt_3] ; |60|
.line 44
LD *SP(84),A
STL A,*SP(0)
MVKD *(AR7),*SP(1)
LDM SP,A
CALLD #_Dot_Product ; |61|
ADD #4,A
; call occurs [#_Dot_Product] ; |61|
DST A,*SP(90) ; |61|
.line 45
MVDK *SP(85),*(AR2)
ST #0,*AR2 ; |62|
.line 49
MVDK *SP(86),*(AR2)
BANZ L4,*AR2 ; |66|
; branch occurs ; |66|
SSBX SXM
LD *(AR1),A ; |66|
SUB #84,A,A ; |66|
BC L4,ALEQ ; |66|
; branch occurs ; |66|
.line 50
BD L7 ; |67|
NOP
LDM AR1,A
; branch occurs ; |67|
L4:
.line 52
LDM SP,A
ADD #44,A
STL A,*SP(0)
MVKD *(AR7),*SP(1)
LD *SP(84),A
CALL #_Copy ; |69|
; call occurs [#_Copy] ; |69|
.line 56
MVKD *(AR1),*SP(0)
ST #-1,*SP(1) ; |73|
LD *SP(84),A
MVKD *(AR7),*SP(2)
CALL #_Pred_lt_3 ; |73|
; call occurs [#_Pred_lt_3] ; |73|
.line 57
LD *SP(84),A
STL A,*SP(0)
MVKD *(AR7),*SP(1)
LDM SP,A
CALLD #_Dot_Product ; |74|
ADD #4,A
; call occurs [#_Dot_Product] ; |74|
DST A,*SP(92) ; |74|
.line 58
DLD *SP(90),A
DST A,*SP(0) ; |75|
DLD *SP(92),A ; |75|
CALL #_L_sub ; |75|
; call occurs [#_L_sub] ; |75|
SSBX SXM
SFTA A,8 ; |75|
SFTA A,-8 ; |75|
BC L5,ALEQ ; |75|
; branch occurs ; |75|
.line 60
DLD *SP(92),A
DST A,*SP(90) ; |77|
.line 61
MVDK *SP(85),*(AR2)
ST #-1,*AR2 ; |78|
.line 62
LDM SP,A
ADD #44,A
STL A,*SP(0)
MVKD *(AR7),*SP(1)
LD *SP(84),A
CALL #_Copy ; |79|
; call occurs [#_Copy] ; |79|
L5:
.line 67
MVKD *(AR1),*SP(0)
ST #1,*SP(1) ; |84|
LD *SP(84),A
MVKD *(AR7),*SP(2)
CALL #_Pred_lt_3 ; |84|
; call occurs [#_Pred_lt_3] ; |84|
.line 68
LD *SP(84),A
STL A,*SP(0)
MVKD *(AR7),*SP(1)
LDM SP,A
CALLD #_Dot_Product ; |85|
ADD #4,A
; call occurs [#_Dot_Product] ; |85|
.line 69
DLD *SP(90),B
DST B,*SP(0) ; |86|
CALL #_L_sub ; |86|
; call occurs [#_L_sub] ; |86|
SSBX SXM
SFTA A,8 ; |86|
SFTA A,-8 ; |86|
BC L6,ALEQ ; |86|
; branch occurs ; |86|
.line 72
MVDK *SP(85),*(AR2)
ST #1,*AR2 ; |89|
.line 73
BD L7 ; |90|
NOP
LDM AR1,A
; branch occurs ; |90|
L6:
.line 75
LD *SP(84),A
STL A,*SP(0)
MVKD *(AR7),*SP(1)
LDM SP,A
CALLD #_Copy ; |92|
ADD #44,A
; call occurs [#_Copy] ; |92|
LDM AR1,A
L7:
.line 77
FRAME #94 ; |92|
POPM AR7 ; |92|
POPM AR6 ; |92|
POPM AR1 ; |92|
RET ; |92|
; return occurs ; |92|
.endfunc 94,000018400h,97
;***************************************************************
;* UNDEFINED EXTERNAL REFERENCES *
;***************************************************************
.global _L_sub
.global _Pred_lt_3
.global _Cor_h_X
.global _Copy
.global _Dot_Product
;***************************************************************
;* 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 + -