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

📄 bsl_flash.asm

📁 This is Bsl.zip for DSP c6000
💻 ASM
📖 第 1 页 / 共 4 页
字号:

           ADD     .L1X    B4,A5,A3          ; |293| 
|| [!A1]   LDW     .D2T2   *+SP(20),B3       ; |311| 
||         MVKH    .S1     0x90005555,A0     ; |87| 
||         MVKH    .S2     0x90002aaa,B5     ; |86| 
||         MV      .D1     A3,A4

           ; BRANCH OCCURS                   ; |289| 
;** --------------------------------------------------------------------------*
           STB     .D1T1   A12,*A11          ; |85| 

           ADD     .S2X    1,A3,B4
||         STB     .D2T2   B6,*B5            ; |86| 

           ADD     .S2X    1,A4,B6
||         STB     .D1T1   A13,*A0           ; |87| 

;*----------------------------------------------------------------------------*
;*   SOFTWARE PIPELINE INFORMATION
;*
;*      Loop source line               : 294
;*      Loop opening brace source line : 294
;*      Loop closing brace source line : 296
;*      Loop Unroll Multiple             : 4x
;*      Known Minimum Trip Count         : 32
;*      Known Maximum Trip Count         : 32
;*      Known Max Trip Count Factor      : 32
;*      Loop Carried Dependency Bound(^) : 24
;*      Unpartitioned Resource Bound     : 4
;*      Partitioned Resource Bound(*)    : 6
;*      Resource Partition:
;*                                A-side   B-side
;*      .L units                     0        0     
;*      .S units                     0        1     
;*      .D units                     6*       2     
;*      .M units                     0        0     
;*      .X cross paths               0        0     
;*      .T address paths             6*       2     
;*      Long read paths              3        1     
;*      Long write paths             0        0     
;*      Logical  ops (.LS)           0        0     (.L or .S unit)
;*      Addition ops (.LSD)          1        1     (.L or .S or .D unit)
;*      Bound(.L .S .LS)             0        1     
;*      Bound(.L .S .D .LS .LSD)     3        2     
;*
;*      Searching for software pipeline schedule at ...
;*         ii = 24 Schedule found with 1 iterations in parallel
;*      done
;*
;*      Loop is interruptible
;*      Collapsed epilog stages     : 0
;*      Collapsed prolog stages     : 0
;*
;*      Minimum safe trip count     : 1 (after unrolling)
;*----------------------------------------------------------------------------*
L7:    ; PIPED LOOP PROLOG
;** --------------------------------------------------------------------------*
L8:    ; PIPED LOOP KERNEL
           LDB     .D1T1   *++A4(4),A0       ;  ^ |295| 
           NOP             4
           STB     .D1T1   A0,*++A3(4)       ;  ^ |295| 

           ADD     .D1     1,A3,A5           ; |295| 
||         LDB     .D2T2   *++B6(4),B5       ;  ^ |295| 

           NOP             4
           STB     .D2T2   B5,*++B4(4)       ;  ^ |295| 
           LDB     .D1T1   *+A4(2),A0        ;  ^ |295| 
           NOP             4

   [ B0]   SUB     .D2     B0,1,B0           ; |296| 
||         STB     .D1T1   A0,*+A3(2)        ;  ^ |295| 

   [ B0]   B       .S2     L8                ; |296| 
||         LDB     .D1T1   *+A4(3),A0        ;  ^ |295| 

           NOP             4
           STB     .D1T1   A0,*+A3(3)        ;  ^ |295| 
;** --------------------------------------------------------------------------*
L9:    ; PIPED LOOP EPILOG
;** --------------------------------------------------------------------------*

           MVKL    .S1     _page_buffer+127,A0 ; |300| 
||         ADD     .D1     4,A3,A3

           MVKH    .S1     _page_buffer+127,A0 ; |300| 
||         LDB     .D1T1   *--A3,A4          ; |298| 

           LDB     .D1T1   *A0,A0            ; |300| 
           NOP             3
           STB     .D2T1   A4,*+SP(4)        ; |298| 

           LDB     .D2T2   *+SP(4),B5        ; |300| 
||         MV      .S2X    A0,B4

           NOP             4
           CMPEQ   .L1X    B5,A0,A1          ; |300| 
   [ A1]   B       .S2     L12               ; |300| 
   [ A1]   CMPLTU  .L1     A2,A6,A1          ; |304| 
           NOP             4
           ; BRANCH OCCURS                   ; |300| 
;** --------------------------------------------------------------------------*
           LDB     .D1T1   *A3,A0            ; |301| 
           NOP             4
;*----------------------------------------------------------------------------*
;*   SOFTWARE PIPELINE INFORMATION
;*
;*      Loop source line               : 300
;*      Loop opening brace source line : 300
;*      Loop closing brace source line : 302
;*      Known Minimum Trip Count         : 1
;*      Known Max Trip Count Factor      : 1
;*      Loop Carried Dependency Bound(^) : 13
;*      Unpartitioned Resource Bound     : 2
;*      Partitioned Resource Bound(*)    : 2
;*      Resource Partition:
;*                                A-side   B-side
;*      .L units                     0        1     
;*      .S units                     1        0     
;*      .D units                     1        2*    
;*      .M units                     0        0     
;*      .X cross paths               0        0     
;*      .T address paths             2*       1     
;*      Long read paths              1        0     
;*      Long write paths             0        0     
;*      Logical  ops (.LS)           0        0     (.L or .S unit)
;*      Addition ops (.LSD)          4        0     (.L or .S or .D unit)
;*      Bound(.L .S .LS)             1        1     
;*      Bound(.L .S .D .LS .LSD)     2*       1     
;*
;*      Disqualified loop: Loop carried dependency bound too large
;*----------------------------------------------------------------------------*
L10:    
           STB     .D2T1   A0,*+SP(4)        ; |301| 
           LDB     .D2T2   *+SP(4),B5        ; |302| 
           NOP             4
           CMPEQ   .L2     B5,B4,B0          ; |302| 
   [!B0]   B       .S1     L10               ; |302| 
   [!B0]   LDB     .D1T1   *A3,A0            ; |301| 
           NOP             4
           ; BRANCH OCCURS                   ; |302| 
;** --------------------------------------------------------------------------*
L11:    
           CMPLTU  .L1     A2,A6,A1          ; |304| 
;** --------------------------------------------------------------------------*
L12:    
   [!A1]   B       .S1     L14               ; |304| 
           MVKL    .S2     RL4,B3            ; |305| 
           MVKL    .S2     _FLASH_write,B5   ; |305| 
           MVKH    .S2     RL4,B3            ; |305| 

           MVKH    .S2     _FLASH_write,B5   ; |305| 
||         SUB     .D1     A6,A2,A6
||         MV      .S1     A7,A4
|| [!A1]   LDW     .D2T2   *+SP(20),B3       ; |311| 

           NOP             1
           ; BRANCH OCCURS                   ; |304| 
;** --------------------------------------------------------------------------*
           B       .S2     B5                ; |305| 
           ADD     .S2X    3,A5,B4
           NOP             4
RL4:       ; CALL OCCURS                     ; |305| 
           LDW     .D2T2   *+SP(20),B3       ; |311| 
;** --------------------------------------------------------------------------*
L13:    
           NOP             1
;** --------------------------------------------------------------------------*
L14:    

           LDW     .D2T1   *+SP(16),A12      ; |311| 
||         MVKL    .S1     0x1800004,A0      ; |310| 

           LDW     .D2T1   *+SP(12),A11      ; |311| 
||         MVKH    .S1     0x1800004,A0      ; |310| 

           STW     .D1T1   A10,*A0           ; |310| 

           B       .S2     B3                ; |311| 
||         LDW     .D2T1   *+SP(8),A10       ; |311| 

           LDW     .D2T1   *++SP(24),A13     ; |311| 
           NOP             4
           ; BRANCH OCCURS                   ; |311| 


	.sect	".text:_FLASH_read"
	.clink
	.global	_FLASH_read

;******************************************************************************
;* FUNCTION NAME: _FLASH_read                                                 *
;*                                                                            *
;*   Regs Modified     : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,B0,B3,B4,B5,B6,B9      *
;*   Regs Used         : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,B0,B3,B4,B5,B6,B9      *
;*   Local Frame Size  : 0 Args + 0 Auto + 0 Save = 0 byte                    *
;******************************************************************************
_FLASH_read:
;** --------------------------------------------------------------------------*
           MVKL    .S1     0x1800004,A0      ; |233| 

           MVKH    .S1     0x1800004,A0      ; |233| 
||         MVKL    .S2     _validate_FLASH,B6 ; |245| 

           LDW     .D1T1   *A0,A9            ; |233| 
||         MVKH    .S2     _validate_FLASH,B6 ; |245| 

           B       .S2     B6                ; |245| 
           MVKL    .S2     0x1800004,B5      ; |242| 
           MV      .D2     B3,B9             ; |231| 
           MVKL    .S2     RL6,B3            ; |245| 

           CLR     .S1     A9,4,7,A0         ; |242| 
||         MVKH    .S2     0x1800004,B5      ; |242| 

           STW     .D2T1   A0,*B5            ; |242| 
||         MVKH    .S2     RL6,B3            ; |245| 
||         MV      .L2X    A6,B4
||         MV      .D1     A4,A8
||         MV      .S1X    B4,A7

RL6:       ; CALL OCCURS                     ; |245| 
           MV      .D1     A4,A2

   [!A2]   MV      .D1     A2,A6             ; |245| 
||         MV      .S2X    A6,B0

           MV      .D1     A6,A1             ; |245| 
   [!A1]   B       .S1     L16               ; |245| 
   [ A1]   SUB     .D2     B0,1,B0           ; |247| 
           NOP             4
           ; BRANCH OCCURS                   ; |245| 
;*----------------------------------------------------------------------------*
;*   SOFTWARE PIPELINE INFORMATION
;*
;*      Loop source line               : 247
;*      Loop opening brace source line : 247
;*      Loop closing brace source line : 247
;*      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                     1*       0     
;*      .D units                     1*       1*    
;*      .M units                     0        0     
;*      .X cross paths               0        1*    
;*      .T address paths             1*       1*    
;*      Long read paths              0        1*    
;*      Long write paths             0        0     
;*      Logical  ops (.LS)           0        1     (.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*    
;*
;*      Disqualified loop: Loop carried dependency bound too large
;*----------------------------------------------------------------------------*
L15:    

   [ B0]   B       .S1     L15               ; |247| 
||         LDB     .D1T1   *A8++,A0          ; |247| 

   [ B0]   SUB     .D2     B0,1,B0           ; |247| 
           NOP             3
           STB     .D1T1   A0,*A7++          ; |247| 
           ; BRANCH OCCURS                   ; |247| 
;** --------------------------------------------------------------------------*
L16:    
           B       .S2     B9                ; |251| 
           MVKL    .S1     0x1800004,A0      ; |250| 
           MVKH    .S1     0x1800004,A0      ; |250| 
           STW     .D1T1   A9,*A0            ; |250| 
           NOP             2
           ; BRANCH OCCURS                   ; |251| 


	.sect	".text:_FLASH_erase"
	.clink
	.global	_FLASH_erase

;******************************************************************************
;* FUNCTION NAME: _FLASH_erase                                                *
;*                                                                            *
;*   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,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,SP              *
;*   Local Frame Size  : 0 Args + 4 Auto + 28 Save = 32 byte                  *
;******************************************************************************
_FLASH_erase:
;** --------------------------------------------------------------------------*

           MVKL    .S1     0x1800004,A0      ; |159| 
||         MV      .D1     A4,A6

           EXTU    .S1     A6,25,25,A2       ; |66| 
||         STW     .D2T2   B12,*SP--(32)     ; |157| 

           MVKH    .S1     0x1800004,A0      ; |159| 
||         STW     .D2T1   A10,*+SP(8)       ; |157| 

           MVK     .S1     128,A0            ; |66| 
||         LDW     .D1T1   *A0,A10           ; |159| 
||         MV      .L1     A2,A1

⌨️ 快捷键说明

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