📄 bsl_led.asm
字号:
NOP 4
AND .S1 A5,A0,A3 ; @ ^ |167|
;** --------------------------------------------------------------------------*
L8: ; PIPED LOOP EPILOG
;** --------------------------------------------------------------------------*
L9:
MVKL .S1 _ledVal,A0 ; |171|
MVKH .S1 _ledVal,A0 ; |171|
LDW .D1T1 *A0,A0 ; |171|
MVKL .S2 _ledVal,B5 ; |171|
MVKH .S2 _ledVal,B5 ; |171|
ZERO .D2 B4 ; |174|
MVKH .S2 0x90080000,B4 ; |174|
XOR .S1 A0,A6,A0 ; |171|
STW .D2T1 A0,*B5 ; |171|
LDW .D2T2 *B4,B4 ; |174|
SHL .S1 A0,24,A3 ; |174|
ZERO .D1 A0 ; |174|
MVKH .S1 0x90080000,A0 ; |174|
NOP 1
CLR .S2 B4,24,27,B4 ; |174|
OR .S2X A3,B4,B4 ; |174|
STW .D1T2 B4,*A0 ; |174|
NOP 9
NOP 3
B .S2 B3 ; |178|
MVKL .S1 0x1800004,A0 ; |177|
MVKH .S1 0x1800004,A0 ; |177|
STW .D1T1 A7,*A0 ; |177|
NOP 2
; BRANCH OCCURS ; |178|
.sect ".text:_LED_on"
.clink
.global _LED_on
;******************************************************************************
;* FUNCTION NAME: _LED_on *
;* *
;* Regs Modified : A0,A1,A3,A4,A5,A6,B0,B4,B5,B6,B7 *
;* Regs Used : A0,A1,A3,A4,A5,A6,B0,B3,B4,B5,B6,B7 *
;* Local Frame Size : 0 Args + 0 Auto + 0 Save = 0 byte *
;******************************************************************************
_LED_on:
;** --------------------------------------------------------------------------*
MVKL .S1 0x1800004,A0 ; |136|
MVKH .S1 0x1800004,A0 ; |136|
LDW .D1T2 *A0,B4 ; |136|
MVKL .S2 0x1800004,B6 ; |140|
MVKL .S2 0x1800004,B5 ; |141|
MVKH .S2 0x1800004,B6 ; |140|
MVKH .S2 0x1800004,B5 ; |141|
CLR .S2 B4,4,7,B7 ; |140|
SET .S2 B7,5,5,B7 ; |140|
STW .D2T2 B7,*B6 ; |140|
LDW .D2T2 *B5,B5 ; |141|
MVK .S1 240,A3 ; |141|
MVK .S1 32,A0 ; |141|
MV .D1 A4,A6 ; |134|
MVK .S1 0x20,A4 ; |141|
AND .L1X A3,B5,A3 ; |141|
CMPEQ .L1 A3,A0,A1 ; |141|
[ A1] B .S1 L13 ; |141|
MVK .S1 0xf0,A5 ; |141|
[!A1] MVKL .S1 0x1800004,A3 ; (P) |141|
[!A1] MVKH .S1 0x1800004,A3 ; (P) |141|
[!A1] LDW .D1T1 *A3,A0 ; (P) ^ |141|
NOP 1
; BRANCH OCCURS ; |141|
;** --------------------------------------------------------------------------*
MVK .S2 0x1,B0
NOP 3
AND .S1 A5,A0,A3 ; (P) ^ |141|
;*----------------------------------------------------------------------------*
;* SOFTWARE PIPELINE INFORMATION
;*
;* Loop source line : 141
;* Loop opening brace source line : 0
;* Loop closing brace source line : 0
;* Known Minimum Trip Count : 1
;* Known Max Trip Count Factor : 1
;* Loop Carried Dependency Bound(^) : 8
;* Unpartitioned Resource Bound : 2
;* Partitioned Resource Bound(*) : 2
;* Resource Partition:
;* A-side B-side
;* .L units 1 0
;* .S units 2* 1
;* .D units 1 0
;* .M units 0 0
;* .X cross paths 0 0
;* .T address paths 1 0
;* Long read paths 0 0
;* Long write paths 0 0
;* Logical ops (.LS) 1 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) 2* 1
;*
;* Searching for software pipeline schedule at ...
;* ii = 8 Schedule found with 2 iterations in parallel
;* done
;*
;* Loop is interruptible
;* Collapsed epilog stages : 1
;* Prolog not removed
;* Collapsed prolog stages : 0
;*
;* Minimum required memory pad : 0 bytes
;*
;* Minimum safe trip count : 1
;*----------------------------------------------------------------------------*
L10: ; PIPED LOOP PROLOG
;** --------------------------------------------------------------------------*
L11: ; PIPED LOOP KERNEL
CMPEQ .L1 A3,A4,A1 ; ^ |141|
|| MVKL .S1 0x1800004,A3 ; @|141|
[ A1] ZERO .D2 B0 ; ^
|| MVKH .S1 0x1800004,A3 ; @|141|
[ B0] B .S2 L11 ; |141|
|| [ B0] LDW .D1T1 *A3,A0 ; @ ^ |141|
NOP 4
AND .S1 A5,A0,A3 ; @ ^ |141|
;** --------------------------------------------------------------------------*
L12: ; PIPED LOOP EPILOG
;** --------------------------------------------------------------------------*
L13:
MVKL .S1 _ledVal,A0 ; |145|
MVKH .S1 _ledVal,A0 ; |145|
LDW .D1T1 *A0,A0 ; |145|
NOT .L1 A6,A4 ; |145|
MVKL .S1 _ledVal,A3 ; |145|
MVKH .S1 _ledVal,A3 ; |145|
ZERO .D2 B5 ; |152|
AND .L1 A0,A4,A0 ; |145|
STW .D1T1 A0,*A3 ; |145|
|| MVKH .S2 0x90080000,B5 ; |152|
LDW .D2T2 *B5,B5 ; |152|
SHL .S1 A0,24,A0 ; |152|
ZERO .D2 B6 ; |152|
MVKH .S2 0x90080000,B6 ; |152|
NOP 1
CLR .S2 B5,24,27,B5 ; |152|
OR .L2X A0,B5,B5 ; |152|
STW .D2T2 B5,*B6 ; |152|
NOP 9
NOP 3
B .S2 B3 ; |156|
MVKL .S2 0x1800004,B5 ; |155|
MVKH .S2 0x1800004,B5 ; |155|
STW .D2T2 B4,*B5 ; |155|
NOP 2
; BRANCH OCCURS ; |156|
.sect ".text:_LED_off"
.clink
.global _LED_off
;******************************************************************************
;* FUNCTION NAME: _LED_off *
;* *
;* Regs Modified : A0,A1,A3,A4,A5,A6,A7,B0,B4,B5 *
;* Regs Used : A0,A1,A3,A4,A5,A6,A7,B0,B3,B4,B5 *
;* Local Frame Size : 0 Args + 0 Auto + 0 Save = 0 byte *
;******************************************************************************
_LED_off:
;** --------------------------------------------------------------------------*
MVKL .S1 0x1800004,A0 ; |110|
MVKH .S1 0x1800004,A0 ; |110|
LDW .D1T1 *A0,A7 ; |110|
MVKL .S2 0x1800004,B4 ; |114|
MVKL .S2 0x1800004,B5 ; |115|
MVKH .S2 0x1800004,B4 ; |114|
MVKH .S2 0x1800004,B5 ; |115|
CLR .S1 A7,4,7,A0 ; |114|
SET .S1 A0,5,5,A0 ; |114|
STW .D2T1 A0,*B4 ; |114|
LDW .D2T2 *B5,B4 ; |115|
MVK .S1 240,A0 ; |115|
MVK .S1 32,A3 ; |115|
MV .D1 A4,A6 ; |108|
MVK .S1 0x20,A4 ; |115|
AND .S2X A0,B4,B4 ; |115|
CMPEQ .L2X B4,A3,B0 ; |115|
[ B0] B .S1 L17 ; |115|
MVK .S1 0xf0,A5 ; |115|
[!B0] MVKL .S1 0x1800004,A3 ; (P) |115|
[!B0] MVKH .S1 0x1800004,A3 ; (P) |115|
[!B0] LDW .D1T1 *A3,A0 ; (P) ^ |115|
NOP 1
; BRANCH OCCURS ; |115|
;** --------------------------------------------------------------------------*
MVK .S2 0x1,B0
NOP 3
AND .S1 A5,A0,A3 ; (P) ^ |115|
;*----------------------------------------------------------------------------*
;* SOFTWARE PIPELINE INFORMATION
;*
;* Loop source line : 115
;* Loop opening brace source line : 0
;* Loop closing brace source line : 0
;* Known Minimum Trip Count : 1
;* Known Max Trip Count Factor : 1
;* Loop Carried Dependency Bound(^) : 8
;* Unpartitioned Resource Bound : 2
;* Partitioned Resource Bound(*) : 2
;* Resource Partition:
;* A-side B-side
;* .L units 1 0
;* .S units 2* 1
;* .D units 1 0
;* .M units 0 0
;* .X cross paths 0 0
;* .T address paths 1 0
;* Long read paths 0 0
;* Long write paths 0 0
;* Logical ops (.LS) 1 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) 2* 1
;*
;* Searching for software pipeline schedule at ...
;* ii = 8 Schedule found with 2 iterations in parallel
;* done
;*
;* Loop is interruptible
;* Collapsed epilog stages : 1
;* Prolog not removed
;* Collapsed prolog stages : 0
;*
;* Minimum required memory pad : 0 bytes
;*
;* Minimum safe trip count : 1
;*----------------------------------------------------------------------------*
L14: ; PIPED LOOP PROLOG
;** --------------------------------------------------------------------------*
L15: ; PIPED LOOP KERNEL
CMPEQ .L1 A3,A4,A1 ; ^ |115|
|| MVKL .S1 0x1800004,A3 ; @|115|
[ A1] ZERO .D2 B0 ; ^
|| MVKH .S1 0x1800004,A3 ; @|115|
[ B0] B .S2 L15 ; |115|
|| [ B0] LDW .D1T1 *A3,A0 ; @ ^ |115|
NOP 4
AND .S1 A5,A0,A3 ; @ ^ |115|
;** --------------------------------------------------------------------------*
L16: ; PIPED LOOP EPILOG
;** --------------------------------------------------------------------------*
L17:
MVKL .S1 _ledVal,A0 ; |119|
MVKH .S1 _ledVal,A0 ; |119|
LDW .D1T1 *A0,A0 ; |119|
MVKL .S2 _ledVal,B5 ; |119|
MVKH .S2 _ledVal,B5 ; |119|
ZERO .D2 B4 ; |126|
MVKH .S2 0x90080000,B4 ; |126|
OR .S1 A0,A6,A0 ; |119|
STW .D2T1 A0,*B5 ; |119|
LDW .D2T2 *B4,B4 ; |126|
SHL .S1 A0,24,A3 ; |126|
ZERO .D1 A0 ; |126|
MVKH .S1 0x90080000,A0 ; |126|
NOP 1
CLR .S2 B4,24,27,B4 ; |126|
OR .S2X A3,B4,B4 ; |126|
STW .D1T2 B4,*A0 ; |126|
NOP 9
NOP 3
B .S2 B3 ; |130|
MVKL .S1 0x1800004,A0 ; |129|
MVKH .S1 0x1800004,A0 ; |129|
STW .D1T1 A7,*A0 ; |129|
NOP 2
; BRANCH OCCURS ; |130|
;******************************************************************************
;* UNDEFINED EXTERNAL REFERENCES *
;******************************************************************************
.global __BOARD_init
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -