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

📄 rxpll.asm

📁 MIMO 2x2接收端选择全系统仿真代码
💻 ASM
📖 第 1 页 / 共 3 页
字号:
;******************************************************************************
;* TMS320C6x C/C++ Codegen                                    PC Version 4.36 *
;* Date/Time created: Wed Jun 01 13:32:29 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	"rxpll.c"
	.global	_PLLparam
_PLLparam:	.usect	".far",28,4
	.sym	_PLLparam,_PLLparam, 8, 2, 224, $$fake0

	.sect	".const"
	.align 4
_lpf_coeff:
	.word	0bafba882h		; _lpf_coeff[0] @ 0
	.word	0b9a5accdh		; _lpf_coeff[1] @ 32
	.word	03bcf0f9dh		; _lpf_coeff[2] @ 64
	.word	03ccba51ah		; _lpf_coeff[3] @ 96
	.word	03d6e5040h		; _lpf_coeff[4] @ 128
	.word	03dcfe79fh		; _lpf_coeff[5] @ 160
	.word	03e1262cch		; _lpf_coeff[6] @ 192
	.word	03e2c725ch		; _lpf_coeff[7] @ 224
	.word	03e2c725ch		; _lpf_coeff[8] @ 256
	.word	03e1262cch		; _lpf_coeff[9] @ 288
	.word	03dcfe79fh		; _lpf_coeff[10] @ 320
	.word	03d6e5040h		; _lpf_coeff[11] @ 352
	.word	03ccba51ah		; _lpf_coeff[12] @ 384
	.word	03bcf0f9dh		; _lpf_coeff[13] @ 416
	.word	0b9a5accdh		; _lpf_coeff[14] @ 448
	.word	0bafba882h		; _lpf_coeff[15] @ 480

	.sect	".text"
	.global	_lpf_coeff
	.sym	_lpf_coeff,_lpf_coeff, 54, 2, 512,, 16

	.sect	".const"
	.align 4
_K0:
	.word	03f278d37h		; _K0 @ 0

	.sect	".text"
	.global	_K0
	.sym	_K0,_K0, 6, 2, 32

	.sect	".const"
	.align 2
_AVG_LEN:
	.field  	64,16			; _AVG_LEN @ 0

	.sect	".text"
	.global	_AVG_LEN
	.sym	_AVG_LEN,_AVG_LEN, 3, 2, 16

	.sect	".const"
	.align 4
_$T0$1:
	.word	000000000h		; _$T0$1[0] @ 0
	.word	000000000h		; _$T0$1[1] @ 32
	.word	000000000h		; _$T0$1[2] @ 64
	.word	000000000h		; _$T0$1[3] @ 96
	.word	000000000h		; _$T0$1[4] @ 128
	.word	000000000h		; _$T0$1[5] @ 160
	.word	000000000h		; _$T0$1[6] @ 192
	.word	000000000h		; _$T0$1[7] @ 224
	.word	000000000h		; _$T0$1[8] @ 256
	.word	000000000h		; _$T0$1[9] @ 288
	.word	000000000h		; _$T0$1[10] @ 320
	.word	000000000h		; _$T0$1[11] @ 352
	.word	000000000h		; _$T0$1[12] @ 384
	.word	000000000h		; _$T0$1[13] @ 416
	.word	000000000h		; _$T0$1[14] @ 448
	.word	000000000h		; _$T0$1[15] @ 480

	.sect	".text"
	.sym	_$T0,_$T0$1, 54, 3, 512,, 16

	.sect	".const"
	.align 4
_$T1$2:
	.word	000000000h		; _$T1$2[0] @ 0
	.word	000000000h		; _$T1$2[1] @ 32
	.word	000000000h		; _$T1$2[2] @ 64
	.word	000000000h		; _$T1$2[3] @ 96
	.word	000000000h		; _$T1$2[4] @ 128
	.word	000000000h		; _$T1$2[5] @ 160
	.word	000000000h		; _$T1$2[6] @ 192
	.word	000000000h		; _$T1$2[7] @ 224
	.word	000000000h		; _$T1$2[8] @ 256
	.word	000000000h		; _$T1$2[9] @ 288
	.word	000000000h		; _$T1$2[10] @ 320
	.word	000000000h		; _$T1$2[11] @ 352
	.word	000000000h		; _$T1$2[12] @ 384
	.word	000000000h		; _$T1$2[13] @ 416
	.word	000000000h		; _$T1$2[14] @ 448
	.word	000000000h		; _$T1$2[15] @ 480

	.sect	".text"
	.sym	_$T1,_$T1$2, 54, 3, 512,, 16
;	c:\ti\c6000\cgtools\bin\opt6x.exe -v6710 -s -O3 C:\DOCUME~1\SBPRJ-~1\LOCALS~1\Temp\TI2680_2 C:\DOCUME~1\SBPRJ-~1\LOCALS~1\Temp\TI2680_5 -w C:/ti/myprojects/mimo/receiver/Debug 

	.sect	".text"
	.global	_lock_phase
	.sym	_lock_phase,_lock_phase, 32, 2, 0
	.func	90

;******************************************************************************
;* FUNCTION NAME: _lock_phase                                                 *
;*                                                                            *
;*   Regs Modified     : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,   *
;*                           A15,B0,B1,B2,B3,B4,B5,B6,B7,B8,B9,B10,B11,B12,   *
;*                           B13,SP                                           *
;*   Regs Used         : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,   *
;*                           A15,B0,B1,B2,B3,B4,B5,B6,B7,B8,B9,B10,B11,B12,   *
;*                           B13,DP,SP                                        *
;*   Local Frame Size  : 0 Args + 172 Auto + 44 Save = 216 byte               *
;******************************************************************************

;******************************************************************************
;*                                                                            *
;* Using -g (debug) with optimization (-o3) may disable key optimizations!    *
;*                                                                            *
;******************************************************************************
_lock_phase:
;** --------------------------------------------------------------------------*
	.line	2
	.sym	_pPLLparam,4, 24, 17, 32, $$fake0
	.sym	_pSampBuff,20, 22, 17, 32
	.sym	_uiBuffLen,6, 14, 17, 32
	.sym	C$5,21, 6, 4, 32
	.sym	C$6,0, 6, 4, 32
	.sym	C$7,0, 14, 4, 32
	.sym	C$8,0, 14, 4, 32
	.sym	C$9,0, 6, 4, 32
	.sym	C$10,0, 14, 4, 32
	.sym	C$11,20, 3, 4, 16
	.sym	C$12,15, 6, 4, 32
	.sym	I$1,21, 6, 4, 32
	.sym	I$2,22, 6, 4, 32
	.sym	I$3,10, 6, 4, 32
	.sym	I$4,3, 6, 4, 32
	.sym	V$0,28, 6, 4, 32
	.sym	V$1,19, 6, 4, 32
	.sym	V$2,6, 6, 4, 32
	.sym	V$3,7, 6, 4, 32
	.sym	_pSampBuff,10, 22, 4, 32
	.sym	_pPLLparam,13, 24, 4, 32, $$fake0
	.sym	_uiBuffLen,132, 14, 1, 32
	.sym	_i,168, 14, 1, 32
	.sym	_k,6, 14, 4, 32
	.sym	_pos,14, 3, 4, 16
	.sym	_phase_diff,172, 6, 1, 32
	.sym	_loop_filter_output,136, 6, 1, 32
	.sym	_factor_1,29, 6, 4, 32
	.sym	L$2,23, 4, 4, 32
	.sym	L$1,164, 4, 1, 32
	.sym	K$7,15, 6, 4, 32
	.sym	K$121,160, 6, 1, 32
	.sym	K$114,152, 14, 1, 32
	.sym	U$106,144, 6, 1, 32
	.sym	U$107,140, 6, 1, 32
	.sym	U$109,156, 6, 1, 32
	.sym	K$79,8, 14, 4, 32
	.sym	U$59,0, 22, 4, 32
	.sym	U$61,14, 14, 4, 32
	.sym	K$50,12, 6, 4, 32
	.sym	K$40,0, 14, 4, 32
	.sym	K$27,27, 22, 4, 32
	.sym	U$31,148, 22, 1, 32
	.sym	_Ileft,4, 54, 1, 512,, 16
	.sym	_Qleft,68, 54, 1, 512,, 16
;** 104	-----------------------    Ileft[] = {...};
;** 105	-----------------------    Qleft[] = {...};
;** 107	-----------------------    factor_1 = _rcpsp(C$12 = 6.28318548202514648438F)*2048.0F;
;** 110	-----------------------    loop_filter_output = pPLLparam->theta;
;** 113	-----------------------    if ( !uiBuffLen ) goto g21;

           ADDK    .S2     -216,SP           ; |91| 
||         MV      .S1X    SP,A9             ; |91| 

           STW     .D2T1   A15,*+SP(216)
           STW     .D2T2   B13,*+SP(212)
           STW     .D2T2   B12,*+SP(208)
           STW     .D2T2   B11,*+SP(204)

           STW     .D2T2   B10,*+SP(200)
||         STW     .D1T1   A13,*-A9(28)

           STW     .D2T2   B3,*+SP(196)
||         STW     .D1T1   A12,*-A9(32)

           STW     .D2T1   A11,*+SP(180)
           STW     .D2T1   A10,*+SP(176)
           STW     .D1T1   A14,*-A9(24)

           STW     .D2T1   A6,*+SP(132)      ; |91| 
||         MV      .S1X    B4,A10            ; |91| 
||         MV      .D1     A4,A13            ; |91| 

	.line	15
           MVKL    .S2     __strasg,B5       ; |104| 
           MVKH    .S2     __strasg,B5       ; |104| 
           CALL    .S2     B5                ; |104| 
           MVKL    .S1     _$T0$1,A0         ; |104| 
           MVKL    .S2     RL0,B3            ; |104| 
           MVKH    .S1     _$T0$1,A0         ; |104| 
           MV      .L2X    A0,B4             ; |104| 

           MVKH    .S2     RL0,B3            ; |104| 
||         ADD     .L1X    4,SP,A4           ; |104| 
||         MVK     .S1     0x40,A6           ; |104| 

RL0:       ; CALL OCCURS                     ; |104| 
	.line	16
           MVKL    .S1     __strasg,A0       ; |105| 
           MVKH    .S1     __strasg,A0       ; |105| 
           CALL    .S2X    A0                ; |105| 
           MVKL    .S2     _$T1$2,B4         ; |105| 
           MVKL    .S2     RL1,B3            ; |105| 
           MVKH    .S2     _$T1$2,B4         ; |105| 
           ADDAW   .D2     SP,17,B5          ; |105| 

           MV      .L1X    B5,A4             ; |105| 
||         MVKH    .S2     RL1,B3            ; |105| 
||         MVK     .S1     0x40,A6           ; |105| 

RL1:       ; CALL OCCURS                     ; |105| 
	.line	18
           MVKL    .S2     0x40c90fdb,B4     ; |107| 
           MVKH    .S2     0x40c90fdb,B4     ; |107| 

           ZERO    .D2     B5                ; |107| 
||         MV      .S1X    B4,A15            ; |107| 

           MVKH    .S2     0x45000000,B5     ; |107| 
||         RCPSP   .S1     A15,A0            ; |107| 

           MPYSP   .M2X    B5,A0,B13         ; |107| 
	.line	21
           LDW     .D1T1   *+A13(16),A0      ; |110| 
           NOP             4
           STW     .D2T1   A0,*+SP(136)      ; |110| 
	.line	24
           LDW     .D2T1   *+SP(132),A1
           NOP             4
   [!A1]   B       .S1     L13               ; |113| 
   [ A1]   LDW     .D1T1   *A13,A0
           NOP             4
           ; BRANCH OCCURS                   ; |113| 
;** --------------------------------------------------------------------------*
;**  	-----------------------    V$1 = loop_filter_output;
;**  	-----------------------    V$0 = pPLLparam->delta_avg;
;**  	-----------------------    U$31 = &pSampBuff[-1];
;**  	-----------------------    K$40 = 0xfffffe00u;
;**  	-----------------------    K$79 = 0xffffffffu;
;**  	-----------------------    U$106 = pPLLparam->loop_gain;
;**  	-----------------------    U$107 = pPLLparam->alpha;
;**  	-----------------------    U$109 = pPLLparam->beta;
;**  	-----------------------    K$114 = uiBuffLen-64u;
;** 115	-----------------------    L$1 = uiBuffLen;
;**  	-----------------------    K$121 = 0.654498517513275146484F;
;**  	-----------------------    K$50 = 0.0F;
;**  	-----------------------    K$27 = &cos_table[0];
;** 95	-----------------------    pos = 0;
;** 113	-----------------------    i = 0u;
;** 107	-----------------------    K$7 = C$12;
;**  	-----------------------    #pragma MUST_ITERATE(1, 1099511627775, 1)
;**  	-----------------------    #pragma LOOP_FLAGS(4096u)
           STW     .D2T1   A0,*+SP(140)
           LDW     .D1T1   *+A13(8),A0
           SUB     .D1     A10,4,A3
           LDW     .D1T2   *+A13(24),B12
           MVK     .S1     0xffffffff,A8
           NOP             1
           STW     .D2T1   A0,*+SP(144)

           MVK     .S1     64,A0
||         STW     .D2T1   A3,*+SP(148)

⌨️ 快捷键说明

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