📄 bsl_flash.asm
字号:
;******************************************************************************
;* 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 + -