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

📄 bsl_flash.asm

📁 This is Bsl.zip for DSP c6000
💻 ASM
📖 第 1 页 / 共 4 页
字号:
;******************************************************************************
;* TMS320C6x ANSI C Codegen                   Version 4.10 Beta (May  4 2001) *
;* Date/Time created: Tue May 29 12:11:59 2001                                *
;******************************************************************************

;******************************************************************************
;* 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        : No Debug Info                                        *
;*                                                                            *
;******************************************************************************

	.asg	A15, FP
	.asg	B14, DP
	.asg	B15, SP
	.global	$bss

_page_buffer:	.usect	.far,128,4

	.sect	".cinit"
	.align	8
	.field  	4,32
	.field  	_initialized$1+0,32
	.field  	0,32			; _initialized$1 @ 0
	.sect	".text"
_initialized$1:	.usect	.far,4,4
;	c:\ti\c6000\cgtools\bin\opt6x.exe -qq -v6711 -O3 C:\WINDOWS\TEMP\TI506495_2 C:\WINDOWS\TEMP\TI506495_4 
	.sect	".text:__FLASH_init"
	.clink
	.global	__FLASH_init

;******************************************************************************
;* FUNCTION NAME: __FLASH_init                                                *
;*                                                                            *
;*   Regs Modified     : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,B0,B1,B2,B3,B4,*
;*                           B5,B6,B7,B8,B9,SP                                *
;*   Regs Used         : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,B0,B1,B2,B3,B4,*
;*                           B5,B6,B7,B8,B9,SP                                *
;*   Local Frame Size  : 0 Args + 0 Auto + 12 Save = 12 byte                  *
;******************************************************************************
__FLASH_init:
;** --------------------------------------------------------------------------*
           MVKL    .S1     _initialized$1,A0 ; |123| 
           MVKH    .S1     _initialized$1,A0 ; |123| 
           LDW     .D1T1   *A0,A1            ; |123| 
           MVKL    .S2     __BOARD_init,B4   ; |124| 
           MVKH    .S2     __BOARD_init,B4   ; |124| 
           NOP             2
   [ A1]   B       .S1     L1                ; |123| 
           STW     .D2T1   A11,*SP--(16)     ; |120| 

           MVKL    .S2     RL0,B3            ; |124| 
||         STW     .D2T2   B3,*+SP(12)       ; |120| 
||         MVK     .S1     1,A11             ; |125| 

           MVKL    .S1     _initialized$1,A10 ; |125| 
||         STW     .D2T1   A10,*+SP(8)       ; |120| 

           MVKH    .S1     _initialized$1,A10 ; |125| 
|| [ A1]   LDW     .D2T2   *+SP(12),B3       ; |127| 
||         MVKH    .S2     RL0,B3            ; |124| 

           NOP             1
           ; BRANCH OCCURS                   ; |123| 
;** --------------------------------------------------------------------------*
           B       .S2     B4                ; |124| 
           NOP             5
RL0:       ; CALL OCCURS                     ; |124| 
           STW     .D1T1   A11,*A10          ; |125| 
           LDW     .D2T2   *+SP(12),B3       ; |127| 
           NOP             1
;** --------------------------------------------------------------------------*
L1:    
           LDW     .D2T1   *+SP(8),A10       ; |127| 
           LDW     .D2T1   *++SP(16),A11     ; |127| 
           NOP             1
           B       .S2     B3                ; |127| 
           NOP             5
           ; BRANCH OCCURS                   ; |127| 


	.sect	".text:_validate_FLASH"
	.clink

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

           ZERO    .D2     B5                ; |76| 
||         ZERO    .D1     A0                ; |76| 

           MVKH    .S2     0x90000000,B5     ; |76| 
||         MVKH    .S1     0x90020000,A0     ; |76| 

           B       .S2     B3                ; |81| 
||         ZERO    .D1     A0                ; |74| 
||         CMPLTU  .L1     A4,A0,A3
||         ADD     .S1X    B4,A4,A5

           MVKH    .S1     0x70000000,A0     ; |74| 
||         XOR     .L1     1,A3,A3           ; |76| 
||         CMPLTU  .L2X    A4,B5,B5
||         ZERO    .D2     B4                ; |76| 

           ADD     .D1     A0,A5,A0          ; |74| 
||         OR      .L2X    A3,B5,B5          ; |76| 
||         MVKH    .S2     0x20000,B4        ; |76| 

           XOR     .S2     1,B5,B4           ; |76| 
||         CMPGTU  .L1X    A0,B4,A1          ; |76| 

   [ A1]   ZERO    .D2     B4                ; |78| 
           MV      .S1X    B4,A4             ; |80| 
           ; BRANCH OCCURS                   ; |81| 


	.sect	".text:_FLASH_write"
	.clink
	.global	_FLASH_write

;******************************************************************************
;* FUNCTION NAME: _FLASH_write                                                *
;*                                                                            *
;*   Regs Modified     : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,B0,B1, *
;*                           B2,B3,B4,B5,B6,B7,B8,B9,SP                       *
;*   Regs Used         : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,B0,B1, *
;*                           B2,B3,B4,B5,B6,B7,B8,B9,SP                       *
;*   Local Frame Size  : 0 Args + 4 Auto + 20 Save = 24 byte                  *
;******************************************************************************
_FLASH_write:
;** --------------------------------------------------------------------------*

           MVKL    .S1     0x1800004,A3      ; |255| 
||         MV      .L1X    B4,A8

           EXTU    .S1     A8,25,25,A2       ; |66| 
||         STW     .D2T1   A13,*SP--(24)     ; |253| 

           MV      .D1     A2,A1
||         STW     .D2T1   A10,*+SP(8)       ; |253| 
||         MVKH    .S1     0x1800004,A3      ; |255| 
||         MVK     .S2     128,B6            ; |66| 

           LDW     .D1T1   *A3,A10           ; |255| 
|| [!A2]   CMPLTU  .L1X    A6,B6,A1

   [!A1]   B       .S1     L3                ; |66| 

           MVKL    .S2     0x1800004,B4      ; |268| 
||         ZERO    .D2     B5                ; |100| 

           STW     .D2T1   A12,*+SP(16)      ; |253| 
||         MVKH    .S2     0x70000000,B5     ; |100| 
||         ZERO    .D1     A4                ; |100| 
||         MVKL    .S1     _page_buffer,A0   ; |101| 
||         MV      .L1     A4,A7

           STW     .D2T1   A11,*+SP(12)      ; |253| 
||         ADD     .L2X    B5,A8,B5          ; |100| 
||         MVKH    .S2     0x1800004,B4      ; |268| 
||         MVKH    .S1     0x70000000,A4     ; |100| 

           CLR     .S1     A10,4,7,A3        ; |268| 
||         CLR     .S2     B5,0,6,B5         ; |100| 
||         STW     .D2T2   B3,*+SP(20)       ; |253| 

           SUB     .L1X    B5,A4,A3          ; |100| 
||         STW     .D2T1   A3,*B4            ; |268| 
||         MVKH    .S1     _page_buffer,A0   ; |101| 
||         MVK     .S2     0x80,B0           ; |103| 

           ; BRANCH OCCURS                   ; |66| 
;** --------------------------------------------------------------------------*
           SUB     .D2     B0,1,B0           ; |105| 
;*----------------------------------------------------------------------------*
;*   SOFTWARE PIPELINE INFORMATION
;*
;*      Loop source line               : 103
;*      Loop opening brace source line : 103
;*      Loop closing brace source line : 105
;*      Known Minimum Trip Count         : 128
;*      Known Maximum Trip Count         : 128
;*      Known Max Trip Count Factor      : 128
;*      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
;*----------------------------------------------------------------------------*
L2:    

   [ B0]   B       .S1     L2                ; |105| 
||         LDB     .D1T1   *A3++,A4          ; |104| 

   [ B0]   SUB     .D2     B0,1,B0           ; |105| 
           NOP             3
           STB     .D1T1   A4,*A0++          ; |104| 
           ; BRANCH OCCURS                   ; |105| 
;** --------------------------------------------------------------------------*
L3:    
           ADD     .D1     A2,A6,A3
           CMPLTU  .L1     A2,A3,A1
   [!A1]   B       .S1     L6                ; |281| 
           MVKL    .S1     _page_buffer-1,A0
           MVKH    .S1     _page_buffer-1,A0

           ADD     .D1     A0,A2,A0
||         MV      .S1     A2,A9
||         MV      .L2X    A6,B0             ; |282| 
|| [!A1]   MVKL    .S2     _validate_FLASH,B5 ; |289| 

   [!A1]   MVKH    .S2     _validate_FLASH,B5 ; |289| 
|| [ A1]   ADD     .D1     1,A2,A3           ; |65| 

   [ A1]   EXTU    .S1     A3,25,25,A1       ; |65| 
           ; BRANCH OCCURS                   ; |281| 
;*----------------------------------------------------------------------------*
;*   SOFTWARE PIPELINE INFORMATION
;*      Disqualified loop: bad loop structure
;*----------------------------------------------------------------------------*
L4:    

   [!A1]   B       .S1     L5                ; |66| 
||         LDB     .D1T1   *A7++,A4          ; |282| 

           ADD     .S1     1,A2,A2           ; |284| 
   [ A1]   SUB     .D2     B0,1,B0           ; |286| 
   [!A1]   MVKL    .S2     _validate_FLASH,B5 ; |289| 
           NOP             1
           STB     .D1T1   A4,*++A0          ; |282| 
           ; BRANCH OCCURS                   ; |66| 
;** --------------------------------------------------------------------------*
   [ B0]   B       .S1     L4                ; |286| 
   [ B0]   ADD     .D1     1,A2,A3           ; |65| 
   [!B0]   MVKL    .S2     _validate_FLASH,B5 ; |289| 
   [ B0]   EXTU    .S1     A3,25,25,A1       ; |65| 
           NOP             2
           ; BRANCH OCCURS                   ; |286| 
;** --------------------------------------------------------------------------*
L5:    
           MVKH    .S2     _validate_FLASH,B5 ; |289| 
;** --------------------------------------------------------------------------*
L6:    
           B       .S2     B5                ; |289| 
           MVKL    .S2     RL2,B3            ; |289| 
           MVKH    .S2     RL2,B3            ; |289| 
           MV      .L2X    A6,B4             ; |289| 
           MV      .D1     A8,A4             ; |289| 
           NOP             1
RL2:       ; CALL OCCURS                     ; |289| 

           ZERO    .D1     A5                ; |293| 
||         MVKL    .S1     _page_buffer-4,A3

           MVKH    .S1     0x70000000,A5     ; |293| 
           MVKL    .S1     0x90005555,A11    ; |85| 

           MVK     .S2     85,B6             ; |86| 
||         MV      .D1     A4,A1             ; |289| 
||         MVKL    .S1     0x90005555,A0     ; |87| 

           MVKH    .S1     _page_buffer-4,A3
||         ADD     .D1     A5,A8,A5          ; |293| 
|| [!A1]   B       .S2     L13               ; |289| 

           MVK     .S2     0x20,B0           ; |294| 
||         CLR     .S1     A5,0,6,A5         ; |293| 

           MVKL    .S2     0x90002aaa,B5     ; |86| 
||         MVK     .S1     -86,A12           ; |85| 

           MVKL    .S2     0x8ffffffc,B4     ; |293| 
||         MVK     .S1     -96,A13           ; |87| 

           SUB     .D1     A2,A9,A2          ; |287| 
||         MVKH    .S2     0x8ffffffc,B4     ; |293| 
||         MVKH    .S1     0x90005555,A11    ; |85| 

⌨️ 快捷键说明

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