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

📄 dsk_app.asm

📁 详细的OFDM设计过程
💻 ASM
📖 第 1 页 / 共 5 页
字号:
	.field  	_mcbspCfg1+0,32
	.field  	0,32			; _mcbspCfg1._spcr @ 0
	.field  	320,32			; _mcbspCfg1._rcr @ 32
	.field  	320,32			; _mcbspCfg1._xcr @ 64
	.field  	536870913,32			; _mcbspCfg1._srgr @ 96
	.field  	0,32			; _mcbspCfg1._mcr @ 128
	.field  	0,32			; _mcbspCfg1._rcer @ 160
	.field  	0,32			; _mcbspCfg1._xcer @ 192
	.field  	3,32			; _mcbspCfg1._pcr @ 224
IR_7:	.set	32

	.sect	".text"
_mcbspCfg1:	.usect	".far",32,4
	.sym	_mcbspCfg1,_mcbspCfg1, 8, 3, 256, $$fake2

	.sect	".cinit"
	.align	8
	.field  	IR_8,32
	.field  	_config+0,32
	.field  	23,32			; _config._regs[0] @ 0
	.field  	23,32			; _config._regs[1] @ 32
	.field  	505,32			; _config._regs[2] @ 64
	.field  	505,32			; _config._regs[3] @ 96
	.field  	17,32			; _config._regs[4] @ 128
	.field  	0,32			; _config._regs[5] @ 160
	.field  	0,32			; _config._regs[6] @ 192
	.field  	67,32			; _config._regs[7] @ 224
	.field  	29,32			; _config._regs[8] @ 256
	.field  	1,32			; _config._regs[9] @ 288
IR_8:	.set	40

	.sect	".text"
	.global	_config
_config:	.usect	".far",40,4
	.sym	_config,_config, 8, 2, 320, _DSK6713_AIC23_Config

	.sect	".cinit"
	.align	8
	.field  	4,32
	.field  	_pingOrPong$1+0,32
	.field  	0,32			; _pingOrPong$1 @ 0

	.sect	".text"
_pingOrPong$1:	.usect	".far",4,4
	.sym	_pingOrPong,_pingOrPong$1, 14, 3, 32

	.sect	".cinit"
	.align	8
	.field  	2,32
	.field  	_xmtdone$2+0,32
	.field  	0,16			; _xmtdone$2 @ 0

	.sect	".text"
_xmtdone$2:	.usect	".far",2,2
	.sym	_xmtdone,_xmtdone$2, 3, 3, 16

	.sect	".cinit"
	.align	8
	.field  	2,32
	.field  	_rcvdone$3+0,32
	.field  	0,16			; _rcvdone$3 @ 0

	.sect	".text"
_rcvdone$3:	.usect	".far",2,2
	.sym	_rcvdone,_rcvdone$3, 3, 3, 16

	.sect	".const"
	.align 4
_$T0$4:
	.field  	65535,16			; _$T0$4[0] @ 0
	.field  	1,16			; _$T0$4[1] @ 16
	.field  	1,16			; _$T0$4[2] @ 32
	.field  	1,16			; _$T0$4[3] @ 48
	.field  	65535,16			; _$T0$4[4] @ 64
	.field  	65535,16			; _$T0$4[5] @ 80
	.field  	1,16			; _$T0$4[6] @ 96
	.field  	65535,16			; _$T0$4[7] @ 112

	.sect	".text"
	.sym	_$T0,_$T0$4, 51, 3, 128,, 8
;	c:\ti\c6000\cgtools\bin\opt6x.exe -i0 -v6710 -q -O3 -Z1 C:\DOCUME~1\SBPRJ-~1\LOCALS~1\Temp\TI1760_2 C:\DOCUME~1\SBPRJ-~1\LOCALS~1\Temp\TI1760_5 -w F:/black05/DSP/receiverPIC2/Debug 

	.sect	".text"
	.global	_sync
	.sym	_sync,_sync, 36, 2, 0
	.func	862

;******************************************************************************
;* FUNCTION NAME: _sync                                                       *
;*                                                                            *
;*   Regs Modified     : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,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,B0,B1,B2,  *
;*                           B3,B4,B5,B6,B7,B8,B9,B10,B11,B12,B13,DP,SP       *
;*   Local Frame Size  : 0 Args + 0 Auto + 32 Save = 32 byte                  *
;******************************************************************************

;******************************************************************************
;*                                                                            *
;* Using -g (debug) with optimization (-o3) may disable key optimizations!    *
;*                                                                            *
;******************************************************************************
_sync:
;** --------------------------------------------------------------------------*
	.line	2
	.sym	_in,4, 22, 17, 32
	.sym	_training_seq,20, 22, 17, 32
	.sym	_training_seq,29, 22, 4, 32
	.sym	_in,28, 22, 4, 32
	.sym	_i,8, 4, 4, 32
	.sym	_index,11, 4, 4, 32
	.sym	_max,10, 6, 4, 32

           STW     .D2T2   B13,*SP--(32)     ; |863| 
||         MV      .S1X    SP,A9             ; |863| 

           STW     .D2T2   B11,*+SP(28)
           STW     .D2T2   B10,*+SP(24)
           STW     .D2T2   B12,*+SP(20)

           STW     .D1T1   A10,*-A9(24)
||         STW     .D2T2   B3,*+SP(16)

           STW     .D2T1   A12,*+SP(4)
           STW     .D1T1   A11,*-A9(20)
           MVK     .S2     1008,B5

           ADD     .D2     B5,B4,B5
||         MVK     .S2     4032,B6

           LDW     .D2T1   *+B5(4),A12
||         ADD     .S2X    B6,A4,B10
||         MVK     .S1     4048,A0

           MV      .S2X    A4,B12            ; |863| 
||         LDW     .D2T2   *B5,B11
||         ADD     .D1     A0,A4,A9
||         MV      .L2     B4,B13            ; |863| 

	.line	9

           MVK     .S2     0xa0,B2           ; |870| 
||         ZERO    .D2     B3

	.line	7

           ZERO    .D1     A10               ; |868| 
||         ZERO    .S1     A7                ; |868| 

	.line	6
           ZERO    .D1     A11               ; |867| 
	.line	9
           ZERO    .D1     A8                ; |870| 
;** --------------------------------------------------------------------------*
;**   BEGIN LOOP L1
;** --------------------------------------------------------------------------*
L1:    
	.line	12

           ADD     .D2     B3,B12,B4
||         MVC     .S2     CSR,B9
||         MVK     .S1     64,A0

           SUB     .D2     B13,16,B4
||         AND     .S2     -2,B9,B5
||         SUB     .L1X    B4,A0,A5

           LDW     .D2T2   *++B4(16),B5      ; |875| (P) <0,0> 
||         MVC     .S2     B5,CSR            ; interrupts off
||         LDW     .D1T1   *++A5(64),A0      ; |875| (P) <0,0> 

;*----------------------------------------------------------------------------*
;*   SOFTWARE PIPELINE INFORMATION
;*
;*      Loop source line                 : 873
;*      Loop opening brace source line   : 874
;*      Loop closing brace source line   : 876
;*      Loop Unroll Multiple             : 4x
;*      Known Minimum Trip Count         : 63
;*      Known Maximum Trip Count         : 63
;*      Known Max Trip Count Factor      : 63
;*      Loop Carried Dependency Bound(^) : 4
;*      Unpartitioned Resource Bound     : 4
;*      Partitioned Resource Bound(*)    : 4
;*      Resource Partition:
;*                                A-side   B-side
;*      .L units                     2        2     
;*      .S units                     1        0     
;*      .D units                     4*       4*    
;*      .M units                     2        2     
;*      .X cross paths               2        2     
;*      .T address paths             4*       4*    
;*      Long read paths              0        0     
;*      Long write paths             0        0     
;*      Logical  ops (.LS)           0        0     (.L or .S unit)
;*      Addition ops (.LSD)          0        1     (.L or .S or .D unit)
;*      Bound(.L .S .LS)             2        1     
;*      Bound(.L .S .D .LS .LSD)     3        3     
;*
;*      Searching for software pipeline schedule at ...
;*         ii = 4  Schedule found with 4 iterations in parallel
;*      Done
;*
;*      Collapsed epilog stages     : 3
;*      Prolog not entirely removed
;*      Collapsed prolog stages     : 1
;*
;*      Minimum required memory pad : 0 bytes
;*
;*      For further improvement on this loop, try option -mh192
;*
;*      Minimum safe trip count     : 2 (after unrolling)
;*----------------------------------------------------------------------------*
L2:    ; PIPED LOOP PROLOG

           LDW     .D2T2   *+B4(4),B6        ; |875| (P) <0,1> 
||         LDW     .D1T1   *+A5(16),A0       ; |875| (P) <0,1> 

           LDW     .D1T1   *+A5(32),A0       ; |875| (P) <0,2> 
||         LDW     .D2T2   *+B4(8),B6        ; |875| (P) <0,2> 

           LDW     .D2T2   *+B4(12),B6       ; |875| (P) <0,3> 
||         LDW     .D1T1   *+A5(48),A0       ; |875| (P) <0,3> 

           MV      .S2X    A7,B7             ; |873| 
||         LDW     .D1T1   *++A5(64),A0      ; |875| (P) <1,0> 
||         LDW     .D2T2   *++B4(16),B6      ; |875| (P) <1,0> 

           MV      .S1     A7,A6             ; |873| 
||         MV      .S2X    A7,B5             ; |873| 
||         LDW     .D1T1   *+A5(16),A0       ; |875| (P) <1,1> 
||         LDW     .D2T2   *+B4(4),B8        ; |875| (P) <1,1> 
||         MPYSP   .M1X    B5,A0,A3          ; |875| (P) <0,5> 

           MV      .L1     A7,A4             ; |873| 
||         MVK     .S2     0x3f,B0           ; |873| 
||         B       .S1     L3                ; |876| (P) <0,10> 
||         LDW     .D1T1   *+A5(32),A0       ; |875| (P) <1,2> 
||         LDW     .D2T2   *+B4(8),B8        ; |875| (P) <1,2> 
||         MPYSP   .M2X    B6,A0,B6          ; |875| (P) <0,6> 

           MVK     .S1     0x1,A2            ; init prolog collapse predicate
||         MV      .S2     B0,B1
||         SUB     .L1X    B0,2,A1
||         MPYSP   .M2X    B6,A0,B6          ; |875| (P) <0,7> 
||         LDW     .D2T2   *+B4(12),B6       ; |875| (P) <1,3> 
||         LDW     .D1T1   *+A5(48),A0       ; |875| (P) <1,3> 

;** --------------------------------------------------------------------------*
L3:    ; PIPED LOOP KERNEL

   [!A2]   ADDSP   .L1     A3,A6,A6          ; |875| <0,12>  ^ 
||         MPYSP   .M1X    B6,A0,A3          ; |875| <1,8> 
|| [ A1]   LDW     .D1T1   *++A5(64),A0      ; |875| <3,0> 
|| [ A1]   LDW     .D2T2   *++B4(16),B6      ; |875| <3,0> 

   [ B0]   SUB     .S2     B0,1,B0           ; |876| <1,9> 
|| [ B1]   ADDSP   .L1     A3,A4,A4          ; |875| <1,9>  ^ 
||         MPYSP   .M1X    B6,A0,A3          ; |875| <2,5> 
|| [ A1]   LDW     .D1T1   *+A5(16),A0       ; |875| <3,1> 
|| [ A1]   LDW     .D2T2   *+B4(4),B8        ; |875| <3,1> 

   [ A2]   SUB     .L1     A2,1,A2           ; <0,14> 
|| [ B1]   ADDSP   .L2     B6,B5,B5          ; |875| <1,10>  ^ 
|| [ B0]   B       .S1     L3                ; |876| <1,10> 
||         MPYSP   .M2X    B8,A0,B6          ; |875| <2,6> 
|| [ A1]   LDW     .D1T1   *+A5(32),A0       ; |875| <3,2> 
|| [ A1]   LDW     .D2T2   *+B4(8),B8        ; |875| <3,2> 

   [ B1]   SUB     .S2     B1,1,B1           ; <0,15> 
|| [ A1]   SUB     .S1     A1,1,A1           ; <0,15> 
|| [ B1]   ADDSP   .L2     B6,B7,B7          ; |875| <1,11>  ^ 
||         MPYSP   .M2X    B8,A0,B6          ; |875| <2,7> 
|| [ A1]   LDW     .D1T1   *+A5(48),A0       ; |875| <3,3> 
|| [ A1]   LDW     .D2T2   *+B4(12),B6       ; |875| <3,3> 

;** --------------------------------------------------------------------------*
L4:    ; PIPED LOOP EPILOG
;** --------------------------------------------------------------------------*
           NOP             2
           MV      .S1X    B5,A5

           MV      .S1X    B7,A3
||         MVC     .S2     B9,CSR            ; interrupts on

	.line	16

           LDW     .D1T1   *A9++,A4          ; |877| 
||         LDW     .D2T2   *B10++,B4         ; |877| 
||         ADDSP   .L1     A5,A4,A0          ; |877| 

           NOP             3
           ADDSP   .L1     A3,A0,A0          ; |877| 
           NOP             2

           MPYSP   .M1     A12,A4,A3         ; |877| 
||         MPYSP   .M2     B11,B4,B4         ; |877| 

           ADDSP   .L1     A6,A0,A0          ; |877| 
           NOP             3
           ADDSP   .L1X    B4,A0,A0          ; |877| 
           NOP             3
           ADDSP   .L1     A3,A0,A0          ; |877| 
           NOP             3
           CMPGTSP .S1     A0,A10,A1         ; |877| 
	.line	17
   [ A1]   MV      .D1     A0,A10            ; |878| 
	.line	18
   [ A1]   MV      .D1     A8,A11            ; |879| 
	.line	20

           ADD     .D1     1,A8,A8           ; |881| 
||         ADD     .D2     4,B3,B3           ; |881| 
||         SUB     .S2     B2,1,B2           ; |881| 

   [ B2]   B       .S2     L1                ; |881| 
           NOP             5
           ; BRANCH OCCURS                   ; |881| 
;** --------------------------------------------------------------------------*
	.line	21
           MV      .D1     A11,A4            ; |882| 
	.line	22
           LDW     .D2T2   *+SP(16),B3       ; |883| 
           LDW     .D2T2   *+SP(20),B12      ; |883| 
           MV      .S1X    SP,A9             ; |883| 
           LDW     .D1T1   *+A9(4),A12       ; |883| 
           NOP             1

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

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

⌨️ 快捷键说明

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