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

📄 rxdemodulator.asm

📁 MIMO 2x2接收端选择全系统仿真代码
💻 ASM
📖 第 1 页 / 共 2 页
字号:
||         MV      .D1     A12,A4            ; |143| 
||         MVK     .S2     0x3d,B6           ; |143| 

RL2:       ; CALL OCCURS                     ; |143| 
	.line	19
           MVKL    .S1     _memmove,A0       ; |145| 

           LDW     .D1T1   *+A11(4),A3       ; |145| 
||         MVKH    .S1     _memmove,A0       ; |145| 

           CALL    .S2X    A0                ; |145| 
           MVKL    .S2     RL3,B3            ; |145| 
           MV      .D1     A12,A4            ; |145| 
           MVKH    .S2     RL3,B3            ; |145| 
           ADDAW   .D1     A12,A3,A3         ; |145| 

           MV      .L2X    A3,B4             ; |145| 
||         MVK     .S1     0xf0,A6           ; |145| 

RL3:       ; CALL OCCURS                     ; |145| 
	.line	21
           LDW     .D1T1   *+A11(12),A3      ; |147| 
           LDW     .D1T1   *+A11(4),A0       ; |147| 
           NOP             4
           ADD     .D1     A0,A3,A0          ; |147| 
           STW     .D1T1   A0,*+A11(12)      ; |147| 
	.line	22
           LDW     .D2T2   *+SP(20),B3       ; |148| 
           MV      .S1X    SP,A9             ; |148| 
           LDW     .D1T1   *+A9(16),A12      ; |148| 
           NOP             2

           RET     .S2     B3                ; |148| 
||         LDDW    .D2T2   *+SP(24),B11:B10  ; |148| 

           LDW     .D2T2   *++SP(32),B12     ; |148| 
||         LDDW    .D1T1   *+A9(8),A11:A10   ; |148| 

           NOP             4
           ; BRANCH OCCURS                   ; |148| 
	.endfunc	148,01c081c00h,32



	.sect	".text"
	.global	_downsampling
	.sym	_downsampling,_downsampling, 32, 2, 0
	.func	165

;******************************************************************************
;* FUNCTION NAME: _downsampling                                               *
;*                                                                            *
;*   Regs Modified     : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,B0,B1,B2,B3,B4,B5,B6,  *
;*                           SP                                               *
;*   Regs Used         : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,B0,B1,B2,B3,B4,B5,B6,  *
;*                           SP                                               *
;*   Local Frame Size  : 0 Args + 0 Auto + 4 Save = 4 byte                    *
;******************************************************************************

;******************************************************************************
;*                                                                            *
;* Using -g (debug) with optimization (-o3) may disable key optimizations!    *
;*                                                                            *
;******************************************************************************
_downsampling:
;** --------------------------------------------------------------------------*
	.line	2
	.sym	_pDemodState,4, 24, 17, 32, $$fake0
	.sym	C$1,7, 24, 4, 32, $$fake1
	.sym	C$2,6, 24, 4, 32, $$fake1
	.sym	_pDemodState,0, 24, 4, 32, $$fake0
	.sym	U$3,3, 14, 4, 32
	.sym	U$26,21, 14, 4, 32
	.sym	U$21,8, 22, 4, 32
	.sym	U$18,9, 22, 4, 32
	.sym	U$12,4, 14, 4, 32
	.sym	U$15,2, 22, 4, 32
	.sym	U$1,5, 4, 4, 32
	.sym	U$9,6, 22, 4, 32
;** 175	-----------------------    U$3 = pDemodState->uiRcvSigLen;
;** 175	-----------------------    U$1 = pDemodState->iStartIndex;
;** 175	-----------------------    if ( (unsigned)U$1 >= U$3 ) goto g4;
           STW     .D2T2   B3,*SP--(8)       ; |166| 
           MV      .D1     A4,A0             ; |166| 
	.line	11
           LDW     .D1T1   *+A0(4),A3        ; |175| 
           LDW     .D1T1   *+A0(16),A5       ; |175| 
           NOP             4
           CMPLTU  .L1     A5,A3,A1          ; |175| 
   [!A1]   B       .S1     L2                ; |175| 
   [ A1]   LDW     .D1T1   *+A0(8),A6
   [ A1]   LDW     .D1T1   *+A0(20),A7
           NOP             3
           ; BRANCH OCCURS                   ; |175| 
;** --------------------------------------------------------------------------*
;**  	-----------------------    C$2 = pDemodState->pfCplxOutBuff;
;**  	-----------------------    U$9 = C$2->pIBuffer;
;**  	-----------------------    U$12 = pDemodState->uiNextWriteSymb;
;**  	-----------------------    C$1 = pDemodState->pfCplxSymbBuff;
;**  	-----------------------    U$15 = C$1->pIBuffer;
;**  	-----------------------    U$18 = C$2->pQBuffer;
;**  	-----------------------    U$21 = C$1->pQBuffer;
;**  	-----------------------    U$26 = pDemodState->uibuflen;
;**  	-----------------------    #pragma LOOP_FLAGS(4096u)
           LDW     .D1T1   *+A6(4),A9
           LDW     .D1T1   *A6,A6
           LDW     .D1T1   *+A0(28),A4
           LDW     .D1T2   *+A0(36),B5
           LDW     .D1T1   *A7,A2
           LDW     .D1T1   *+A7(4),A8
;*----------------------------------------------------------------------------*
;*   SOFTWARE PIPELINE INFORMATION
;*      Disqualified loop: Loop contains a call
;*----------------------------------------------------------------------------*
L1:    
;**	-----------------------g3:
;** 177	-----------------------    U$15[U$12] = U$9[U$1];
;** 178	-----------------------    U$21[U$12] = U$18[U$1];
;** 180	-----------------------    pDemodState->uiNextWriteSymb = pDemodState->uiNextWriteSymb+1u;
;** 181	-----------------------    pDemodState->uiNextWriteSymb = U$12 = pDemodState->uiNextWriteSymb%U$26;
;** 182	-----------------------    pDemodState->uiNoOfSymb = pDemodState->uiNoOfSymb+1u;
;** 183	-----------------------    pDemodState->iStartIndex = pDemodState->iStartIndex+10;
;** 184	-----------------------    U$1 = pDemodState->iStartIndex;
;** 184	-----------------------    if ( (unsigned)U$1 < U$3 ) goto g3;
	.line	13
           LDW     .D1T1   *+A6[A5],A7       ; |177| 
           NOP             4
           STW     .D1T1   A7,*+A2[A4]       ; |177| 
	.line	14
           LDW     .D1T1   *+A9[A5],A5       ; |178| 
           NOP             4
           STW     .D1T1   A5,*+A8[A4]       ; |178| 
	.line	16
           LDW     .D1T1   *+A0(28),A4       ; |180| 
           NOP             4
           ADD     .D1     1,A4,A4           ; |180| 
           STW     .D1T1   A4,*+A0(28)       ; |180| 
	.line	17
           MVKL    .S2     __remu,B6         ; |181| 
           MVKH    .S2     __remu,B6         ; |181| 
           CALL    .S2     B6                ; |181| 
           LDW     .D1T1   *+A0(28),A4       ; |181| 
           MVKL    .S2     RL4,B3            ; |181| 
           MVKH    .S2     RL4,B3            ; |181| 
           MV      .D2     B5,B4             ; |181| 
           NOP             1
RL4:       ; CALL OCCURS                     ; |181| 
           STW     .D1T1   A4,*+A0(28)       ; |181| 
	.line	18
           LDW     .D1T1   *+A0(24),A5       ; |182| 
           NOP             4
           ADD     .D1     1,A5,A5           ; |182| 
           STW     .D1T1   A5,*+A0(24)       ; |182| 
	.line	19
           LDW     .D1T1   *+A0(16),A5       ; |183| 
           NOP             4
           ADD     .D1     10,A5,A5          ; |183| 
           STW     .D1T1   A5,*+A0(16)       ; |183| 
	.line	20
           LDW     .D1T1   *+A0(16),A5       ; |184| 
           NOP             4
           CMPLTU  .L1     A5,A3,A1          ; |184| 
   [ A1]   B       .S1     L1                ; |184| 
           NOP             5
           ; BRANCH OCCURS                   ; |184| 
;** --------------------------------------------------------------------------*
L2:    
;**	-----------------------g4:
;** 185	-----------------------    pDemodState->iStartIndex = pDemodState->iStartIndex-U$3;
;** 185	-----------------------    return;
	.line	21
           LDW     .D1T1   *+A0(16),A4       ; |185| 
           NOP             4
           SUB     .D1     A4,A3,A3          ; |185| 
           STW     .D1T1   A3,*+A0(16)       ; |185| 
	.line	25
           LDW     .D2T2   *++SP(8),B3       ; |189| 
           NOP             4
           RET     .S2     B3                ; |189| 
           NOP             5
           ; BRANCH OCCURS                   ; |189| 
	.endfunc	189,000080000h,8


;******************************************************************************
;* UNDEFINED EXTERNAL REFERENCES                                              *
;******************************************************************************
	.global	_memmove
	.global	_DSPF_sp_fir_gen
	.global	__remu

;******************************************************************************
;* TYPE INFORMATION                                                           *
;******************************************************************************
	.sym	_size_t, 0, 14, 13, 32
	.stag	$$fake1, 64
	.member	_pIBuffer, 0, 22, 8, 32
	.member	_pQBuffer, 32, 22, 8, 32
	.eos
	.sym	_typCOM_fCPLXBUFF, 0, 8, 13, 64,$$fake1
	.stag	$$fake0, 320
	.member	_pCplxInBuff, 0, 24, 8, 32, $$fake1
	.member	_uiRcvSigLen, 32, 14, 8, 32
	.member	_pfCplxOutBuff, 64, 24, 8, 32, $$fake1
	.member	_uiSamplesProcessed, 96, 14, 8, 32
	.member	_iStartIndex, 128, 4, 8, 32
	.member	_pfCplxSymbBuff, 160, 24, 8, 32, $$fake1
	.member	_uiNoOfSymb, 192, 14, 8, 32
	.member	_uiNextWriteSymb, 224, 14, 8, 32
	.member	_uiNextReadSymb, 256, 14, 8, 32
	.member	_uibuflen, 288, 14, 8, 32
	.eos
	.sym	_typRX_MFDEMODSTATE, 0, 8, 13, 320,$$fake0

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -