📄 rxdemodulator.asm
字号:
;******************************************************************************
;* TMS320C6x C/C++ Codegen PC Version 4.36 *
;* Date/Time created: Wed Jun 01 13:32:08 2005 *
;******************************************************************************
;******************************************************************************
;* GLOBAL FILE PARAMETERS *
;* *
;* Architecture : TMS320C671x *
;* Optimization : Enabled at level 3 *
;* Optimizing for : Speed *
;* Based on options: -o3, no -ms *
;* Endian : Little *
;* Interrupt Thrshld : Disabled *
;* Memory Model : Large *
;* Calls to RTS : Far *
;* Pipelining : Enabled *
;* Speculative Load : Disabled *
;* Memory Aliases : Presume are aliases (pessimistic) *
;* Debug Info : COFF Debug *
;* *
;******************************************************************************
.asg A15, FP
.asg B14, DP
.asg B15, SP
.global $bss
.file "rxdemodulator.c"
.global _MFDemodStat1
_MFDemodStat1: .usect ".far",40,4
.sym _MFDemodStat1,_MFDemodStat1, 8, 2, 320, $$fake0
.global _MFDemodStat2
_MFDemodStat2: .usect ".far",40,4
.sym _MFDemodStat2,_MFDemodStat2, 8, 2, 320, $$fake0
.sect ".const"
.align 8
_hfilt:
.word 0bc45d15dh ; _hfilt[0] @ 0
.word 0bbd5fdcah ; _hfilt[1] @ 32
.word 03a32fd1bh ; _hfilt[2] @ 64
.word 03c1161e8h ; _hfilt[3] @ 96
.word 03c8c5ae3h ; _hfilt[4] @ 128
.word 03cc81471h ; _hfilt[5] @ 160
.word 03cf334dah ; _hfilt[6] @ 192
.word 03d02f9d7h ; _hfilt[7] @ 224
.word 03cfa73c2h ; _hfilt[8] @ 256
.word 03ccdb2e3h ; _hfilt[9] @ 288
.word 03c80409ah ; _hfilt[10] @ 320
.word 03b3513c3h ; _hfilt[11] @ 352
.word 0bc4d58b8h ; _hfilt[12] @ 384
.word 0bceba8c8h ; _hfilt[13] @ 416
.word 0bd34cfd5h ; _hfilt[14] @ 448
.word 0bd6830b5h ; _hfilt[15] @ 480
.word 0bd83edf3h ; _hfilt[16] @ 512
.word 0bd863efch ; _hfilt[17] @ 544
.word 0bd7052a4h ; _hfilt[18] @ 576
.word 0bd2fd42eh ; _hfilt[19] @ 608
.word 0bc947fafh ; _hfilt[20] @ 640
.word 03c7880deh ; _hfilt[21] @ 672
.word 03d63efcbh ; _hfilt[22] @ 704
.word 03dcf8203h ; _hfilt[23] @ 736
.word 03e193af9h ; _hfilt[24] @ 768
.word 03e4a6ce2h ; _hfilt[25] @ 800
.word 03e783471h ; _hfilt[26] @ 832
.word 03e8fc55ah ; _hfilt[27] @ 864
.word 03e9ee213h ; _hfilt[28] @ 896
.word 03ea86511h ; _hfilt[29] @ 928
.word 03eaba431h ; _hfilt[30] @ 960
.word 03ea86511h ; _hfilt[31] @ 992
.word 03e9ee213h ; _hfilt[32] @ 1024
.word 03e8fc55ah ; _hfilt[33] @ 1056
.word 03e783471h ; _hfilt[34] @ 1088
.word 03e4a6ce2h ; _hfilt[35] @ 1120
.word 03e193af9h ; _hfilt[36] @ 1152
.word 03dcf8203h ; _hfilt[37] @ 1184
.word 03d63efcbh ; _hfilt[38] @ 1216
.word 03c7880deh ; _hfilt[39] @ 1248
.word 0bc947fafh ; _hfilt[40] @ 1280
.word 0bd2fd42eh ; _hfilt[41] @ 1312
.word 0bd7052a4h ; _hfilt[42] @ 1344
.word 0bd863efch ; _hfilt[43] @ 1376
.word 0bd83edf3h ; _hfilt[44] @ 1408
.word 0bd6830b5h ; _hfilt[45] @ 1440
.word 0bd34cfd5h ; _hfilt[46] @ 1472
.word 0bceba8c8h ; _hfilt[47] @ 1504
.word 0bc4d58b8h ; _hfilt[48] @ 1536
.word 03b3513c3h ; _hfilt[49] @ 1568
.word 03c80409ah ; _hfilt[50] @ 1600
.word 03ccdb2e3h ; _hfilt[51] @ 1632
.word 03cfa73c2h ; _hfilt[52] @ 1664
.word 03d02f9d7h ; _hfilt[53] @ 1696
.word 03cf334dah ; _hfilt[54] @ 1728
.word 03cc81471h ; _hfilt[55] @ 1760
.word 03c8c5ae3h ; _hfilt[56] @ 1792
.word 03c1161e8h ; _hfilt[57] @ 1824
.word 03a32fd1bh ; _hfilt[58] @ 1856
.word 0bbd5fdcah ; _hfilt[59] @ 1888
.word 0bc45d15dh ; _hfilt[60] @ 1920
.sect ".text"
.sym _hfilt,_hfilt, 54, 3, 1952,, 61
; c:\ti\c6000\cgtools\bin\opt6x.exe -v6710 -s -O3 C:\DOCUME~1\SBPRJ-~1\LOCALS~1\Temp\TI1796_2 C:\DOCUME~1\SBPRJ-~1\LOCALS~1\Temp\TI1796_5 -w C:/ti/myprojects/mimo/receiver/Debug
.sect ".text"
.global _matchedFilter
.sym _matchedFilter,_matchedFilter, 32, 2, 0
.func 127
;******************************************************************************
;* FUNCTION NAME: _matchedFilter *
;* *
;* Regs Modified : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,B0,B1,B2, *
;* B3,B4,B5,B6,B7,B8,B9,B10,B11,B12,SP *
;* Regs Used : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,B0,B1,B2, *
;* B3,B4,B5,B6,B7,B8,B9,B10,B11,B12,SP *
;* Local Frame Size : 0 Args + 0 Auto + 28 Save = 28 byte *
;******************************************************************************
;******************************************************************************
;* *
;* Using -g (debug) with optimization (-o3) may disable key optimizations! *
;* *
;******************************************************************************
_matchedFilter:
;** --------------------------------------------------------------------------*
.line 2
.sym _pDemodState,4, 24, 17, 32, $$fake0
.sym C$1,10, 22, 4, 32
.sym C$2,20, 24, 4, 32, $$fake1
.sym C$3,0, 24, 4, 32, $$fake1
.sym _pDemodState,11, 24, 4, 32, $$fake0
.sym _pI_InBuffer,26, 22, 4, 32
.sym _pQ_InBuffer,12, 22, 4, 32
.sym _pQ_OutBuffer,28, 22, 4, 32
;** 130 ----------------------- C$3 = pDemodState->pCplxInBuff;
;** 130 ----------------------- pI_InBuffer = C$3->pIBuffer;
;** 131 ----------------------- pQ_InBuffer = C$3->pQBuffer;
;** 133 ----------------------- C$2 = pDemodState->pfCplxOutBuff;
;** 133 ----------------------- pQ_OutBuffer = C$2->pQBuffer;
;** 136 ----------------------- C$1 = &hfilt[0];
;** 136 ----------------------- DSPF_sp_fir_gen(pI_InBuffer, C$1, C$2->pIBuffer, 61, (int)pDemodState->uiRcvSigLen);
;** 138 ----------------------- memmove((void *)pI_InBuffer, pDemodState->uiRcvSigLen*4+pI_InBuffer, 240u);
;** 143 ----------------------- DSPF_sp_fir_gen(pQ_InBuffer, C$1, pQ_OutBuffer, 61, (int)pDemodState->uiRcvSigLen);
;** 145 ----------------------- memmove((void *)pQ_InBuffer, pDemodState->uiRcvSigLen*4+pQ_InBuffer, 240u);
;** 147 ----------------------- pDemodState->uiSamplesProcessed = pDemodState->uiSamplesProcessed+pDemodState->uiRcvSigLen;
;** 147 ----------------------- return;
STW .D2T2 B12,*SP--(32) ; |128|
|| MV .S1X SP,A9 ; |128|
STW .D2T2 B11,*+SP(28)
STW .D2T2 B10,*+SP(24)
STW .D2T2 B3,*+SP(20)
|| STW .D1T1 A11,*-A9(20)
STW .D2T1 A10,*+SP(8)
STW .D1T1 A12,*-A9(16)
MV .D1 A4,A11 ; |128|
.line 4
LDW .D1T1 *A11,A0 ; |130|
NOP 4
LDW .D1T2 *A0,B10 ; |130|
.line 5
LDW .D1T1 *+A0(4),A12 ; |131|
.line 7
LDW .D1T2 *+A11(8),B4 ; |133|
NOP 4
LDW .D2T2 *+B4(4),B12 ; |133|
.line 10
MVKL .S1 _DSPF_sp_fir_gen,A0 ; |136|
MVKH .S1 _DSPF_sp_fir_gen,A0 ; |136|
CALL .S2X A0 ; |136|
|| LDW .D1T1 *+A11(4),A8 ; |136|
LDW .D2T1 *B4,A6 ; |136|
|| MVK .S2 0x3d,B6 ; |136|
MVKL .S2 _hfilt,B11 ; |136|
MVKH .S2 _hfilt,B11 ; |136|
MVKL .S2 RL0,B3 ; |136|
MV .D2 B11,B4 ; |136|
|| MV .S1X B10,A4 ; |136|
|| MVKH .S2 RL0,B3 ; |136|
RL0: ; CALL OCCURS ; |136|
MV .S1X B11,A10 ; |136|
.line 12
MVKL .S2 _memmove,B5 ; |138|
MVKH .S2 _memmove,B5 ; |138|
CALL .S2 B5 ; |138|
|| LDW .D1T2 *+A11(4),B4 ; |138|
MVKL .S2 RL1,B3 ; |138|
MV .L1X B10,A4 ; |138|
MVKH .S2 RL1,B3 ; |138|
MVK .S1 0xf0,A6 ; |138|
ADDAW .D2 B10,B4,B4 ; |138|
RL1: ; CALL OCCURS ; |138|
.line 17
MVKL .S1 _DSPF_sp_fir_gen,A0 ; |143|
MVKH .S1 _DSPF_sp_fir_gen,A0 ; |143|
CALL .S2X A0 ; |143|
LDW .D1T1 *+A11(4),A8 ; |143|
MVKL .S2 RL2,B3 ; |143|
MVKH .S2 RL2,B3 ; |143|
MV .L2X A10,B4 ; |143|
MV .S1X B12,A6 ; |143|
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -