📄 rxfunctions.asm
字号:
;******************************************************************************
;* TMS320C6x C/C++ Codegen PC Version 4.36 *
;* Date/Time created: Wed Jun 01 13:47:03 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 "rxfunctions.c"
.global _EnergyDetState
_EnergyDetState: .usect ".far",20,4
.sym _EnergyDetState,_EnergyDetState, 8, 2, 160, $$fake0
.global _Sig_Nois_Ratio
_Sig_Nois_Ratio: .usect ".far",4,4
.sym _Sig_Nois_Ratio,_Sig_Nois_Ratio, 6, 2, 32
; c:\ti\c6000\cgtools\bin\opt6x.exe -v6710 -s -O3 C:\DOCUME~1\SBPRJ-~1\LOCALS~1\Temp\TI1360_2 C:\DOCUME~1\SBPRJ-~1\LOCALS~1\Temp\TI1360_5 -w C:/ti/myprojects/mimo/receiver/Debug
.sect ".text"
.global _decodeStartFrame
.sym _decodeStartFrame,_decodeStartFrame, 36, 2, 0
.func 151
;******************************************************************************
;* FUNCTION NAME: _decodeStartFrame *
;* *
;* Regs Modified : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,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,B0,B1,B2,B3,B4,*
;* B5,B6,B7,B8,B9,B10,B11,B12,SP *
;* Local Frame Size : 0 Args + 0 Auto + 24 Save = 24 byte *
;******************************************************************************
;******************************************************************************
;* *
;* Using -g (debug) with optimization (-o3) may disable key optimizations! *
;* *
;******************************************************************************
_decodeStartFrame:
;** --------------------------------------------------------------------------*
.line 3
.sym _pDataBuffer,4, 28, 17, 32
.sym _buflen,20, 14, 17, 32
.sym _pReceiverState,6, 24, 17, 32, $$fake1
.sym U$6,10, 28, 4, 32
.sym U$32,20, 4, 4, 32
.sym U$31,0, 4, 4, 32
.sym U$55,0, 14, 4, 32
.sym _crc16,4, 13, 4, 16
.sym _tmp16,27, 13, 4, 16
.sym _success,28, 4, 4, 32
.sym _i,26, 4, 4, 32
.sym _pDataBuffer,0, 28, 4, 32
.sym _pReceiverState,11, 24, 4, 32, $$fake1
.sym _tmp32,0, 14, 4, 32
.sym _tmp32,0, 14, 4, 32
.sym _tmp8,5, 2, 4, 8
;** ----------------------- U$6 = pDataBuffer;
;** 160 ----------------------- success = 0;
;** 161 ----------------------- i = 0;
;** ----------------------- #pragma LOOP_FLAGS(5120u)
STW .D2T2 B12,*SP--(24) ; |153|
STW .D2T2 B11,*+SP(20) ; |153|
STW .D2T2 B10,*+SP(16) ; |153|
STW .D2T2 B3,*+SP(12) ; |153|
STW .D2T1 A11,*+SP(8) ; |153|
STW .D2T1 A10,*+SP(4) ; |153|
MV .D1 A4,A10 ; |153|
|| MV .S1 A6,A11 ; |153|
.line 10
ZERO .D2 B12 ; |160|
.line 11
ZERO .D2 B10 ; |161|
;*----------------------------------------------------------------------------*
;* SOFTWARE PIPELINE INFORMATION
;* Disqualified loop: Loop contains a call
;*----------------------------------------------------------------------------*
L1:
;** -----------------------g2:
;** 169 ----------------------- tmp16 = (int)_extu((unsigned)(char)U$6[11], 24u, 24u)|_extu((unsigned)(char)U$6[10], 24u, 24u)<<8;
;** 171 ----------------------- crc16 = calc_crc(U$6, 10);
;** 173 ----------------------- if ( tmp16 == crc16 ) goto g4;
;** 176 ----------------------- U$6 += 12;
;** ----------------------- U$31 = (i += 12) < 240;
;** ----------------------- U$32 = success == 0;
;** 176 ----------------------- goto g5;
;** -----------------------g4:
;** ----------------------- U$31 = i < 240;
;** ----------------------- U$32 = 0;
;** 174 ----------------------- success = 1;
;** -----------------------g5:
;** 177 ----------------------- if ( U$31&U$32 ) goto g2;
.line 19
LDB .D1T1 *+A10(11),A0 ; |169|
LDB .D1T2 *+A10(10),B4 ; |169|
NOP 4
EXTU .S1 A0,24,24,A0 ; |169|
|| EXTU .S2 B4,24,16,B4 ; |169|
OR .S2X B4,A0,B4 ; |169|
EXTU .S2 B4,16,16,B11 ; |169|
.line 21
MVKL .S2 _calc_crc,B5 ; |171|
MVKH .S2 _calc_crc,B5 ; |171|
CALL .S2 B5 ; |171|
MVKL .S2 RL0,B3 ; |171|
MVKH .S2 RL0,B3 ; |171|
MVK .S2 0xa,B4 ; |171|
MV .D1 A10,A4 ; |171|
NOP 1
RL0: ; CALL OCCURS ; |171|
.line 23
CMPEQ .L2X B11,A4,B0 ; |173|
.line 26
[ B0] MVK .S1 240,A0
[ B0] CMPLT .L1X B10,A0,A0
|| [!B0] MVK .S1 240,A0
|| [!B0] ADD .D2 12,B10,B10
[!B0] ADD .D1 12,A10,A10 ; |176|
|| [!B0] CMPLT .L1X B10,A0,A0
|| [!B0] CMPEQ .L2 B12,0,B4
|| [ B0] ZERO .D2 B4
.line 24
[ B0] MVK .S2 0x1,B12 ; |174|
.line 27
AND .S2X B4,A0,B0 ; |177|
[ B0] B .S1 L1 ; |177|
NOP 5
; BRANCH OCCURS ; |177|
;** --------------------------------------------------------------------------*
;** 178 ----------------------- if ( success != 1 ) goto g9;
.line 28
CMPEQ .L2 B12,1,B0 ; |178|
[!B0] B .S1 L2 ; |178|
NOP 5
; BRANCH OCCURS ; |178|
;** --------------------------------------------------------------------------*
;** 191 ----------------------- pReceiverState->iSyncRep = (char)*U$6++;
;** 194 ----------------------- pReceiverState->RxMethod = (char)*U$6++;
;** 198 ----------------------- tmp32 = (unsigned)(char)*U$6++<<24;
;** 201 ----------------------- tmp32 |= _extu((unsigned)(char)*U$6++, 24u, 24u)<<16;
;** 204 ----------------------- tmp32 |= _extu((unsigned)(char)*U$6++, 24u, 24u)<<8;
;** 207 ----------------------- tmp32 |= _extu((unsigned)(char)*U$6++, 24u, 24u);
;** 208 ----------------------- pReceiverState->uFileSize = U$55 = tmp32;
;** 212 ----------------------- tmp32 = (unsigned)(char)*U$6++<<24;
;** 215 ----------------------- tmp32 |= _extu((unsigned)(char)*U$6++, 24u, 24u)<<16;
;** 216 ----------------------- tmp8 = *U$6++;
;** 218 ----------------------- tmp32 |= _extu((unsigned)(char)*U$6, 24u, 24u)|_extu((unsigned)tmp8, 24u, 24u)<<8;
;** 222 ----------------------- pReceiverState->uNoOfBlocks = tmp32;
;** 223 ----------------------- if ( !(tmp32|U$55) ) goto g9;
;** 227 ----------------------- return 1;
.line 41
LDB .D1T1 *A10++,A0 ; |191|
NOP 4
STW .D1T1 A0,*+A11(8) ; |191|
.line 44
LDB .D1T1 *A10++,A0 ; |194|
NOP 4
STW .D1T1 A0,*+A11(4) ; |194|
.line 48
LDB .D1T1 *A10++,A0 ; |198|
NOP 4
SHL .S1 A0,24,A0 ; |198|
.line 51
LDB .D1T1 *A10++,A3 ; |201|
NOP 4
EXTU .S1 A3,24,8,A3 ; |201|
OR .S1 A3,A0,A0 ; |201|
.line 54
LDB .D1T1 *A10++,A3 ; |204|
NOP 4
EXTU .S1 A3,24,16,A3 ; |204|
OR .S1 A3,A0,A0 ; |204|
.line 57
LDB .D1T1 *A10++,A3 ; |207|
NOP 4
EXTU .S1 A3,24,24,A3 ; |207|
OR .S1 A3,A0,A0 ; |207|
.line 58
STW .D1T1 A0,*+A11(12) ; |208|
.line 62
LDB .D1T1 *A10++,A3 ; |212|
NOP 4
SHL .S1 A3,24,A3 ; |212|
.line 65
LDB .D1T1 *A10++,A5 ; |215|
NOP 4
EXTU .S1 A5,24,8,A5 ; |215|
OR .S1 A5,A3,A3 ; |215|
.line 66
LDB .D1T1 *A10++,A5 ; |216|
.line 68
LDB .D1T1 *A10,A6 ; |218|
NOP 4
EXTU .S1 A6,24,24,A6 ; |218|
OR .L1 A6,A3,A3 ; |218|
|| EXTU .S1 A5,24,16,A5 ; |218|
OR .S1 A5,A3,A3 ; |218|
.line 72
STW .D1T1 A3,*+A11(16) ; |222|
.line 73
OR .S1 A0,A3,A1 ; |223|
.line 77
[ A1] B .S1 L3 ; |227|
[ A1] MVK .S1 0x1,A4 ; |227|
NOP 4
; BRANCH OCCURS ; |227|
;** --------------------------------------------------------------------------*
L2:
;** -----------------------g9:
;** 225 ----------------------- return 0;
.line 75
ZERO .D1 A4 ; |225|
;** --------------------------------------------------------------------------*
L3:
.line 83
LDW .D2T2 *+SP(12),B3 ; |233|
MV .S1X SP,A9 ; |233|
LDW .D1T1 *+A9(4),A10 ; |233|
LDW .D1T1 *+A9(8),A11 ; |233|
NOP 1
RET .S2 B3 ; |233|
|| LDDW .D2T2 *+SP(16),B11:B10 ; |233|
LDW .D2T2 *++SP(24),B12 ; |233|
NOP 4
; BRANCH OCCURS ; |233|
.endfunc 233,01c080c00h,24
.sect ".text"
.global _computeEnergy
.sym _computeEnergy,_computeEnergy, 32, 2, 0
.func 83
;******************************************************************************
;* FUNCTION NAME: _computeEnergy *
;* *
;* Regs Modified : A0,A1,A2,A3,A4,A5,A7,A8,A9,B0,B1,B2,B4,B5,B6,B7,B8, *
;* B9 *
;* Regs Used : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,B0,B1,B2,B3,B4,B5,B6, *
;* B7,B8,B9,DP,SP *
;* Local Frame Size : 0 Args + 0 Auto + 0 Save = 0 byte *
;******************************************************************************
;******************************************************************************
;* *
;* Using -g (debug) with optimization (-o3) may disable key optimizations! *
;* *
;******************************************************************************
_computeEnergy:
;** --------------------------------------------------------------------------*
.line 2
.sym _pInBuff,4, 19, 17, 32
.sym _uiInBuffSize,20, 14, 17, 32
.sym _pEnergyDetState,6, 24, 17, 32, $$fake0
.sym C$3,20, 6, 4, 32
.sym C$4,0, 6, 4, 32
.sym V$0,24, 6, 4, 32
.sym V$1,7, 6, 4, 32
.sym V$2,17, 14, 4, 32
.sym _factor,8, 6, 4, 32
.sym _channelB,5, 6, 4, 32
.sym _channelA,0, 6, 4, 32
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -