⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rxfunctions.asm

📁 MIMO 2x2接收端选择全系统仿真代码
💻 ASM
📖 第 1 页 / 共 2 页
字号:
;******************************************************************************
;* 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 + -