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

📄 aic23.asm

📁 MIMO 2x2接收端选择全系统仿真代码
💻 ASM
📖 第 1 页 / 共 2 页
字号:
;******************************************************************************
;* TMS320C6x C/C++ Codegen                                    PC Version 4.36 *
;* Date/Time created: Wed Jun 01 13:32:05 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	"aic23.c"

	.sect	".cinit"
	.align	8
	.field  	IR_1,32
	.field  	_mcbspCfg0+0,32
	.field  	4096,32			; _mcbspCfg0._spcr @ 0
	.field  	0,32			; _mcbspCfg0._rcr @ 32
	.field  	65600,32			; _mcbspCfg0._xcr @ 64
	.field  	536875875,32			; _mcbspCfg0._srgr @ 96
	.field  	0,32			; _mcbspCfg0._mcr @ 128
	.field  	0,32			; _mcbspCfg0._rcer @ 160
	.field  	0,32			; _mcbspCfg0._xcer @ 192
	.field  	2570,32			; _mcbspCfg0._pcr @ 224
IR_1:	.set	32

	.sect	".text"
_mcbspCfg0:	.usect	".far",32,4
	.sym	_mcbspCfg0,_mcbspCfg0, 8, 3, 256, $$fake1
;	c:\ti\c6000\cgtools\bin\opt6x.exe -v6710 -s -O3 C:\DOCUME~1\SBPRJ-~1\LOCALS~1\Temp\TI3392_2 C:\DOCUME~1\SBPRJ-~1\LOCALS~1\Temp\TI3392_5 -w C:/ti/myprojects/mimo/receiver/Debug 

	.sect	".text"
	.sym	_aic23Rset,_aic23Rset, 32, 3, 0
	.func	138

;******************************************************************************
;* FUNCTION NAME: _aic23Rset                                                  *
;*                                                                            *
;*   Regs Modified     : A0,A1,A3,A4,A5,A6,B0,B4,B5,B6                        *
;*   Regs Used         : A0,A1,A3,A4,A5,A6,B0,B3,B4,B5,B6                     *
;*   Local Frame Size  : 0 Args + 0 Auto + 0 Save = 0 byte                    *
;******************************************************************************

;******************************************************************************
;*                                                                            *
;* Using -g (debug) with optimization (-o3) may disable key optimizations!    *
;*                                                                            *
;******************************************************************************
_aic23Rset:
;** --------------------------------------------------------------------------*
	.line	2
	.sym	_hMcbsp,4, 24, 17, 32, $$fake0
	.sym	_regnum,20, 13, 17, 16
	.sym	_regval,6, 13, 17, 16
	.sym	_regval,22, 13, 4, 16
	.sym	_hMcbsp,21, 24, 4, 32, $$fake0
	.sym	_regnum,20, 13, 4, 16
	.sym	_regval,22, 13, 4, 16
	.sym	U$28,3, 30, 4, 32
	.sym	U$11,5, 30, 4, 32
	.sym	U$17,3, 30, 4, 32
	.sym	K$12,0, 14, 4, 32
	.sym	U$7,6, 30, 4, 32
;** 141	-----------------------    regval = _extu((unsigned)regval, 23u, 23u);
;** 237	-----------------------    U$7 = hMcbsp->baseAddr;  // [5]
;** 237	-----------------------    U$11 = (volatile unsigned *)(unsigned)(U$7+8);  // [5]
;** 237	-----------------------    K$12 = 131072u;  // [5]
;** 237	-----------------------    if ( *U$11&0x20000u ) goto g4;  // [5]
;**  	-----------------------    U$17 = U$11;
;**  	-----------------------    #pragma LOOP_FLAGS(4096u)
           MV      .S2X    A4,B5             ; |139| 
           MV      .S2X    A6,B6             ; |139| 
	.line	4
           EXTU    .S2     B6,23,23,B6       ; |141| 
           EXTU    .S2     B6,16,16,B6       ; |141| 
           LDW     .D2T1   *+B5(12),A6       ; |237| 
           NOP             4
           ADD     .D1     8,A6,A5           ; |237| 
           LDW     .D1T1   *A5,A0            ; |237| 
           ADD     .D1     8,A6,A3           ; |237| 
           NOP             3
           EXTU    .S1     A0,14,31,A1       ; |237| 
   [ A1]   B       .S1     L4                ; |237| 
           ZERO    .D1     A0                ; |237| 
           MVKH    .S1     0x20000,A0        ; |237| 
   [!A1]   LDW     .D1T1   *A3,A4            ; |237| (P) <0,0>  ^ 
           NOP             2
           ; BRANCH OCCURS                   ; |237| 
;** --------------------------------------------------------------------------*
;**	-----------------------g3:
;** 237	-----------------------    if ( !(*U$17&K$12) ) goto g3;  // [5]
           MVK     .S2     0x1,B0
           NOP             1
           AND     .S1     A0,A4,A1          ; |237| (P) <0,5>  ^ 
;*----------------------------------------------------------------------------*
;*   SOFTWARE PIPELINE INFORMATION
;*
;*      Loop source line                 : 144
;*      Loop closing brace source line   : 237
;*      Known Minimum Trip Count         : 1
;*      Known Max Trip Count Factor      : 1
;*      Loop Carried Dependency Bound(^) : 7
;*      Unpartitioned Resource Bound     : 1
;*      Partitioned Resource Bound(*)    : 1
;*      Resource Partition:
;*                                A-side   B-side
;*      .L units                     0        0     
;*      .S units                     0        1*    
;*      .D units                     1*       0     
;*      .M units                     0        0     
;*      .X cross paths               0        0     
;*      .T address paths             1*       0     
;*      Long read paths              0        0     
;*      Long write paths             0        0     
;*      Logical  ops (.LS)           1        0     (.L or .S unit)
;*      Addition ops (.LSD)          0        1     (.L or .S or .D unit)
;*      Bound(.L .S .LS)             1*       1*    
;*      Bound(.L .S .D .LS .LSD)     1*       1*    
;*
;*      Searching for software pipeline schedule at ...
;*         ii = 7  Schedule found with 2 iterations in parallel
;*      Done
;*
;*      Loop is interruptible
;*      Collapsed epilog stages     : 1
;*      Prolog not removed
;*      Collapsed prolog stages     : 0
;*
;*      Minimum required memory pad : 0 bytes
;*
;*      Minimum safe trip count     : 1
;*----------------------------------------------------------------------------*
L1:    ; PIPED LOOP PROLOG
;** --------------------------------------------------------------------------*
L2:    ; PIPED LOOP KERNEL
   [ A1]   ZERO    .D2     B0                ; <0,6>  ^ 

   [ B0]   B       .S2     L2                ; |237| <0,7> 
|| [ B0]   LDW     .D1T1   *A3,A4            ; |237| <1,0>  ^ 

           NOP             4
           AND     .S1     A0,A4,A1          ; |237| <1,5>  ^ 
;** --------------------------------------------------------------------------*
L3:    ; PIPED LOOP EPILOG
;** --------------------------------------------------------------------------*
L4:    
;**	-----------------------g4:
;** 233	-----------------------    *(volatile unsigned *)hMcbsp->dxrAddr = (unsigned)((int)regnum<<9)|(unsigned)regval;  // [4]
;** 237	-----------------------    if ( !(*U$11&K$12) ) goto g8;  // [5]
;**  	-----------------------    U$28 = (volatile unsigned *)(unsigned)(U$7+8);
;**  	-----------------------    #pragma LOOP_FLAGS(4096u)
           LDW     .D2T2   *+B5(20),B5       ; |233| 
           SHL     .S2     B4,9,B4           ; |233| 
           OR      .S2     B6,B4,B4          ; |233| 
           NOP             2
           STW     .D2T2   B4,*B5            ; |233| 
           LDW     .D1T1   *A5,A3            ; |237| 
           NOP             4
           AND     .S1     A0,A3,A1          ; |237| 
   [!A1]   B       .S1     L8                ; |237| 
           ADD     .D1     8,A6,A3
   [ A1]   LDW     .D1T1   *A3,A4            ; |237| (P) <0,0>  ^ 
           NOP             3
           ; BRANCH OCCURS                   ; |237| 
;** --------------------------------------------------------------------------*
;**	-----------------------g7:
;** 237	-----------------------    if ( *U$28&K$12 ) goto g7;  // [5]
;**	-----------------------g8:
;**  	-----------------------    return;
           MVK     .S2     0x1,B0
           AND     .S1     A0,A4,A1          ; |237| (P) <0,5>  ^ 
;*----------------------------------------------------------------------------*
;*   SOFTWARE PIPELINE INFORMATION
;*
;*      Loop source line                 : 150
;*      Loop closing brace source line   : 237
;*      Known Minimum Trip Count         : 1
;*      Known Max Trip Count Factor      : 1
;*      Loop Carried Dependency Bound(^) : 7
;*      Unpartitioned Resource Bound     : 1
;*      Partitioned Resource Bound(*)    : 1
;*      Resource Partition:
;*                                A-side   B-side
;*      .L units                     0        0     
;*      .S units                     0        1*    
;*      .D units                     1*       0     
;*      .M units                     0        0     
;*      .X cross paths               0        0     
;*      .T address paths             1*       0     
;*      Long read paths              0        0     
;*      Long write paths             0        0     
;*      Logical  ops (.LS)           1        0     (.L or .S unit)
;*      Addition ops (.LSD)          0        1     (.L or .S or .D unit)
;*      Bound(.L .S .LS)             1*       1*    
;*      Bound(.L .S .D .LS .LSD)     1*       1*    
;*
;*      Searching for software pipeline schedule at ...
;*         ii = 7  Schedule found with 2 iterations in parallel
;*      Done
;*
;*      Loop is interruptible
;*      Collapsed epilog stages     : 1
;*      Prolog not removed
;*      Collapsed prolog stages     : 0
;*
;*      Minimum required memory pad : 0 bytes
;*
;*      Minimum safe trip count     : 1
;*----------------------------------------------------------------------------*
L5:    ; PIPED LOOP PROLOG
;** --------------------------------------------------------------------------*
L6:    ; PIPED LOOP KERNEL
   [!A1]   ZERO    .D2     B0                ; <0,6>  ^ 

   [ B0]   B       .S2     L6                ; |237| <0,7> 
|| [ B0]   LDW     .D1T1   *A3,A4            ; |237| <1,0>  ^ 

           NOP             4
           AND     .S1     A0,A4,A1          ; |237| <1,5>  ^ 
;** --------------------------------------------------------------------------*
L7:    ; PIPED LOOP EPILOG
;** --------------------------------------------------------------------------*
L8:    
	.line	14
           RET     .S2     B3                ; |151| 
           NOP             5
           ; BRANCH OCCURS                   ; |151| 

⌨️ 快捷键说明

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