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

📄 useful_functions.asm

📁 详细的OFDM设计过程
💻 ASM
📖 第 1 页 / 共 2 页
字号:
;*         ii = 29 Schedule found with 1 iterations in parallel
;*      Done
;*
;*      Collapsed epilog stages     : 0
;*      Collapsed prolog stages     : 0
;*
;*      Minimum safe trip count     : 1
;*----------------------------------------------------------------------------*
L5:    ; PIPED LOOP PROLOG
;** --------------------------------------------------------------------------*
L6:    ; PIPED LOOP KERNEL

           LDW     .D1T1   *++A0(8),A6       ; |32| <0,0>  ^ 
||         LDW     .D2T2   *++B4(8),B7       ; |33| <0,0>  ^ 

           LDW     .D1T1   *+A0(4),A3        ; |34| <0,1>  ^ 
||         LDW     .D2T2   *+B4(4),B6        ; |34| <0,1>  ^ 

           NOP             3
           MPYSP   .M1X    B7,A6,A3          ; |34| <0,5> 
           MPYSP   .M1X    B6,A3,A4          ; |34| <0,6>  ^ 
           NOP             3
           ADDSP   .L1     A4,A3,A3          ; |34| <0,10>  ^ 
           NOP             3
           STW     .D1T1   A3,*++A5(8)       ; |34| <0,14>  ^ 

           LDW     .D1T1   *+A0(4),A3        ; |35| <0,15>  ^ 
||         LDW     .D2T2   *+B4(4),B6        ; |35| <0,15>  ^ 

           NOP             4

           MPYSP   .M2X    B7,A3,B6          ; |35| <0,20>  ^ 
||         MPYSP   .M1X    A6,B6,A3          ; |35| <0,20>  ^ 

           NOP             1
   [ B0]   SUB     .D2     B0,1,B0           ; |36| <0,22> 
   [ B0]   B       .S2     L6                ; |36| <0,23> 
           SUBSP   .L2X    A3,B6,B6          ; |35| <0,24>  ^ 
           NOP             3
           STW     .D2T2   B6,*++B5(8)       ; |35| <0,28>  ^ 
;** --------------------------------------------------------------------------*
L7:    ; PIPED LOOP EPILOG
;** --------------------------------------------------------------------------*
           MVC     .S2     B8,CSR            ; interrupts on
;** --------------------------------------------------------------------------*
L8:    
	.line	13
           RET     .S2     B3                ; |38| 
           NOP             5
           ; BRANCH OCCURS                   ; |38| 
	.endfunc	38,000000000h,0



	.sect	".text"
	.global	_div_element
	.sym	_div_element,_div_element, 32, 2, 0
	.func	6

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

;******************************************************************************
;*                                                                            *
;* Using -g (debug) with optimization (-o3) may disable key optimizations!    *
;*                                                                            *
;******************************************************************************
_div_element:
;** --------------------------------------------------------------------------*
	.line	2
	.sym	_x,4, 22, 17, 32
	.sym	_y,20, 22, 17, 32
	.sym	_z,6, 22, 17, 32
	.sym	_count,22, 4, 17, 32
	.sym	_count,22, 4, 4, 32
	.sym	_x,4, 22, 4, 32
	.sym	_y,20, 22, 4, 32
	.sym	_z,21, 22, 4, 32
           MV      .S2X    A6,B5             ; |7| 
	.line	5
           CMPLT   .L2     B6,2,B0           ; |10| 
   [ B0]   B       .S1     L12               ; |10| 
   [!B0]   SUB     .D2     B5,8,B7
           NOP             4
           ; BRANCH OCCURS                   ; |10| 
;** --------------------------------------------------------------------------*
	.line	7
           MVC     .S2     CSR,B8

           SHR     .S2     B6,1,B0           ; |12| 
||         AND     .L2     -2,B8,B6

           MV      .D1     A4,A5
||         MV      .D2     B4,B5
||         ADD     .L2     4,B7,B4
||         MV      .S1X    B7,A4
||         MVC     .S2     B6,CSR            ; interrupts off

;*----------------------------------------------------------------------------*
;*   SOFTWARE PIPELINE INFORMATION
;*
;*      Loop source line                 : 10
;*      Loop opening brace source line   : 11
;*      Loop closing brace source line   : 22
;*      Known Minimum Trip Count         : 1
;*      Known Max Trip Count Factor      : 1
;*      Loop Carried Dependency Bound(^) : 40
;*      Unpartitioned Resource Bound     : 5
;*      Partitioned Resource Bound(*)    : 6
;*      Resource Partition:
;*                                A-side   B-side
;*      .L units                     2        2     
;*      .S units                     1        2     
;*      .D units                     5        5     
;*      .M units                     5        5     
;*      .X cross paths               6*       2     
;*      .T address paths             5        5     
;*      Long read paths              1        1     
;*      Long write paths             0        0     
;*      Logical  ops (.LS)           1        1     (.L or .S unit)
;*      Addition ops (.LSD)          0        1     (.L or .S or .D unit)
;*      Bound(.L .S .LS)             2        3     
;*      Bound(.L .S .D .LS .LSD)     3        4     
;*
;*      Searching for software pipeline schedule at ...
;*         ii = 40 Did not find schedule
;*         ii = 41 Did not find schedule
;*         ii = 42 Schedule found with 1 iterations in parallel
;*      Done
;*
;*      Collapsed epilog stages     : 0
;*      Collapsed prolog stages     : 0
;*
;*      Minimum safe trip count     : 1
;*----------------------------------------------------------------------------*
L9:    ; PIPED LOOP PROLOG
;** --------------------------------------------------------------------------*
L10:    ; PIPED LOOP KERNEL

   [ B0]   SUB     .S2     B0,1,B0           ; |22| <0,0> 
||         LDW     .D1T1   *A5++(8),A0       ; |12| <0,0>  ^ 
||         LDW     .D2T2   *B5,B6            ; |12| <0,0>  ^ 

           LDW     .D1T1   *-A5(4),A0        ; |12| <0,1>  ^ 
||         LDW     .D2T2   *+B5(4),B6        ; |12| <0,1>  ^ 

           NOP             3

           MPYSP   .M1X    B6,A0,A0          ; |12| <0,5> 
||         MPYSP   .M2     B6,B6,B7          ; |12| <0,5>  ^ 

           MPYSP   .M2     B6,B6,B6          ; |12| <0,6>  ^ 
           MPYSP   .M2X    B6,A0,B6          ; |12| <0,7>  ^ 
           NOP             2
           ADDSP   .L2     B6,B7,B6          ; |12| <0,10>  ^ 
           ADDSP   .L1X    B6,A0,A0          ; |12| <0,11>  ^ 
           NOP             2
           RCPSP   .S2     B6,B6             ; |12| <0,14>  ^ 
           MPYSP   .M1X    B6,A0,A0          ; |12| <0,15>  ^ 
           NOP             3
           STW     .D1T1   A0,*++A4(8)       ; |12| <0,19>  ^ 

           LDW     .D1T1   *-A5(8),A0        ; |13| <0,20> 
||         LDW     .D2T2   *+B5(4),B6        ; |13| <0,20>  ^ 

           LDW     .D1T1   *-A5(4),A0        ; |13| <0,21> 
||         LDW     .D2T2   *B5++(8),B6       ; |13| <0,21>  ^ 

           NOP             3

           MPYSP   .M1X    B6,A0,A3          ; |13| <0,25> 
||         MPYSP   .M2     B6,B6,B6          ; |13| <0,25>  ^ 

           MPYSP   .M2     B6,B6,B7          ; |13| <0,26>  ^ 
           NOP             1
           MPYSP   .M1X    B6,A0,A0          ; |13| <0,28> 
           NOP             1
           ADDSP   .L2     B6,B7,B6          ; |13| <0,30>  ^ 
           NOP             1
           SUBSP   .L1     A0,A3,A3          ; |13| <0,32> 
           NOP             1
           RCPSP   .S2     B6,B6             ; |13| <0,34>  ^ 
           MV      .S1X    B6,A0             ; |13| <0,35>  ^ Define a twin register

   [ B0]   B       .S1     L10               ; |22| <0,36> 
||         MPYSP   .M1     A0,A3,A0          ; |13| <0,36>  ^ 

           NOP             3
           MV      .S2X    A0,B6             ; |13| <0,40>  ^ Define a twin register
           STW     .D2T2   B6,*++B4(8)       ; |13| <0,41>  ^ 
;** --------------------------------------------------------------------------*
L11:    ; PIPED LOOP EPILOG
;** --------------------------------------------------------------------------*
           MVC     .S2     B8,CSR            ; interrupts on
;** --------------------------------------------------------------------------*
L12:    
	.line	18
           RET     .S2     B3                ; |23| 
           NOP             5
           ; BRANCH OCCURS                   ; |23| 
	.endfunc	23,000000000h,0



;******************************************************************************
;* TYPE INFORMATION                                                           *
;******************************************************************************

⌨️ 快捷键说明

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