📄 tskprocess.asm
字号:
;* Addition ops (.LSD) 2 1 (.L or .S or .D unit)
;* Bound(.L .S .LS) 1 1
;* Bound(.L .S .D .LS .LSD) 2* 2*
;*
;* Searching for software pipeline schedule at ...
;* ii = 2 Schedule found with 3 iterations in parallel
;*
;* Register Usage Table:
;* +-----------------------------------------------------------------+
;* |AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA|BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB|
;* |00000000001111111111222222222233|00000000001111111111222222222233|
;* |01234567890123456789012345678901|01234567890123456789012345678901|
;* |--------------------------------+--------------------------------|
;* 0: |** ** | ***** |
;* 1: |** ** | ***** |
;* +-----------------------------------------------------------------+
;*
;* Done
;*
;* Epilog not removed
;* Collapsed epilog stages : 0
;*
;* Prolog not removed
;* Collapsed prolog stages : 0
;*
;* Minimum required memory pad : 0 bytes
;*
;* Minimum safe trip count : 3
;*----------------------------------------------------------------------------*
;* SETUP CODE
;*
;* MV A3,B4
;* MV A4,B8
;*
;* SINGLE SCHEDULED ITERATION
;*
;* C140:
;* 0 [ A1] BDEC .S1 C140,A1 ; |106|
;* 1 NOP 2
;* 3 AND .L1X 1,B6,A0 ; ^
;* || ADD .S1 2,A3,A3
;* || EXTU .S2 B6,23,24,B6 ; |104| ^
;* 4 [ A0] STB .D1T1 A4,*-A3(1) ; |100|
;* || [ A0] STB .D2T2 B8,*+B7[B4] ; |101|
;* 5 [ A0] STB .D1T1 A4,*-A3(2) ; |99|
;* || [ A0] STB .D2T2 B8,*+B5[B4] ; |102|
;* || ADD .L2 2,B4,B4 ; |105|
;* ; BRANCH OCCURS ; |106|
;*----------------------------------------------------------------------------*
L21: ; PIPED LOOP PROLOG
[ A1] BDEC .S1 L22,A1 ; |106| (P) <0,0>
MVK .S2 0x150,B7
MVK .S2 0x151,B5
|| MV .D1X B9,A3
|| [ A1] BDEC .S1 L22,A1 ; |106| (P) <1,0>
MV .D2X A4,B8
|| MV .L2 B9,B4
|| ADD .D1 2,A3,A3 ; (P) <0,3>
|| AND .S1X 1,B4,A0 ; (P) <0,3> ^
|| EXTU .S2 B4,23,24,B6 ; |104| (P) <0,3> ^
;** --------------------------------------------------------------------------*
L22: ; PIPED LOOP KERNEL
[ A0] STB .D1T1 A4,*-A3(1) ; |100| <0,4>
|| [ A0] STB .D2T2 B8,*+B7[B4] ; |101| <0,4>
|| [ A1] BDEC .S1 L22,A1 ; |106| <2,0>
[ A0] STB .D1T1 A4,*-A3(2) ; |99| <0,5>
|| ADD .L2 2,B4,B4 ; |105| <0,5>
|| [ A0] STB .D2T2 B8,*+B5[B4] ; |102| <0,5>
|| ADD .S1 2,A3,A3 ; <1,3>
|| EXTU .S2 B6,23,24,B6 ; |104| <1,3> ^
|| AND .L1X 1,B6,A0 ; <1,3> ^
;** --------------------------------------------------------------------------*
L23: ; PIPED LOOP EPILOG
;** --------------------------------------------------------------------------*
ADDK .S2 672,B9 ; |108|
|| [ A0] STB .D1T1 A4,*-A3(1) ; |100| (E) <1,4>
|| [ A0] STB .D2T2 B8,*+B7[B4] ; |101| (E) <1,4>
|| SUB .L2 B0,1,B0 ; |108|
[ B0] BNOP .S2 L21,1 ; |108|
|| ADD .L2 2,B4,B4 ; |105| (E) <1,5>
|| ADD .S1 2,A3,A3 ; (E) <2,3>
|| AND .L1X 1,B6,A0 ; (E) <2,3> ^
|| [ A0] STB .D2T2 B8,*+B5[B4] ; |102| (E) <1,5>
|| [ A0] STB .D1T1 A4,*-A3(2) ; |99| (E) <1,5>
[ A0] STB .D1T1 A4,*-A3(1) ; |100| (E) <2,4>
|| [ A0] STB .D2T2 B8,*+B7[B4] ; |101| (E) <2,4>
[ A0] STB .D2T2 B8,*+B5[B4] ; |102| (E) <2,5>
|| [ A0] STB .D1T1 A4,*-A3(2) ; |99| (E) <2,5>
[ B0] LDBU .D2T2 *++B16,B4 ; |94|
[ B0] MVK .D1 5,A1 ; |95|
; BRANCH OCCURS ; |108|
;** --------------------------------------------------------------------------*
RETNOP .S2 B3,5 ; |109|
; BRANCH OCCURS ; |109|
;** Parameter deleted: pBuf == 8*1+&tag_data;
.sect ".text"
;******************************************************************************
;* FUNCTION NAME: _drawstring *
;* *
;* Regs Modified : A0,A1,A3,A4,A5,B0,B3,B4,B5,B6,B7,B8,B9,B16,B17,B31 *
;* Regs Used : A0,A1,A3,A4,A5,B0,B3,B4,B5,B6,B7,B8,B9,B16,B17,B31 *
;* Local Frame Size : 0 Args + 0 Auto + 0 Save = 0 byte *
;******************************************************************************
_drawstring:
;** --------------------------------------------------------------------------*
MV .D2X A4,B17 ; |112|
LDBU .D2T2 *B17++,B0 ; |115|
NOP 3
MV .D2 B3,B31 ; |112|
[!B0] B .S1 L25 ; |115|
MVKL .S1 _tag_data+8,A5 ; |112|
MVKH .S1 _tag_data+8,A5 ; |112|
[ B0] MVKL .S1 _drawchar,A3 ; |117|
[ B0] MVKH .S1 _drawchar,A3 ; |117|
NOP 1
; BRANCH OCCURS ; |115|
;*----------------------------------------------------------------------------*
;* SOFTWARE PIPELINE INFORMATION
;* Disqualified loop: Loop contains a call
;*----------------------------------------------------------------------------*
L24:
CALL .S2X A3 ; |117|
ADDKPC .S2 RL22,B3,2 ; |117|
MV .D2 B0,B4 ; |117|
MV .D1 A5,A4 ; |117|
RL22: ; CALL OCCURS ; |117|
LDBU .D2T2 *B17++,B0 ; |119|
NOP 3
ADDK .S1 16,A5 ; |118|
[ B0] BNOP .S1 L24,2 ; |119|
[ B0] MVKL .S1 _drawchar,A3 ; |117|
[ B0] MVKH .S1 _drawchar,A3 ; |117|
NOP 1
; BRANCH OCCURS ; |119|
;** --------------------------------------------------------------------------*
L25:
RETNOP .S2 B31,5 ; |120|
; BRANCH OCCURS ; |120|
.sect ".text"
;******************************************************************************
;* FUNCTION NAME: _tagScreen *
;* *
;* 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,B13,SP,A16,A17,A18, *
;* A19,A20,A21,A22,A23,A24,A25,A26,A27,A28,A29,A30, *
;* A31,B16,B17,B18,B19,B20,B21,B22,B23,B24,B25,B26, *
;* B27,B28,B29,B30,B31 *
;* 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,B13,SP,A16,A17,A18, *
;* A19,A20,A21,A22,A23,A24,A25,A26,A27,A28,A29,A30, *
;* A31,B16,B17,B18,B19,B20,B21,B22,B23,B24,B25,B26, *
;* B27,B28,B29,B30,B31 *
;* Local Frame Size : 32 Args + 44 Auto + 24 Save = 100 byte *
;******************************************************************************
_tagScreen:
;** --------------------------------------------------------------------------*
MVKL .S2 _llTimerGetTime,B5 ; |130|
MVKH .S2 _llTimerGetTime,B5 ; |130|
CALL .S2 B5 ; |130|
MV .D1X SP,A31 ; |123|
STW .D2T1 A12,*SP--(104) ; |123|
ADDAW .D2 SP,9,B4 ; |130|
MV .S2X A4,B10 ; |123|
|| STDW .D2T2 B11:B10,*+SP(96)
ADDKPC .S2 RL24,B3,0 ; |130|
|| MV .S1X B4,A4 ; |130|
|| MV .L2 B3,B13
|| STW .D2T2 B13,*+SP(84)
|| STDW .D1T1 A11:A10,*-A31(16)
RL24: ; CALL OCCURS ; |130|
MVKL .S1 _netcmdArgs,A3 ; |130|
MVKH .S1 _netcmdArgs,A3 ; |130|
MVKL .S1 _localtime,A3 ; |131|
|| LDW .D1T2 *A3,B4 ; |130|
MVKH .S1 _localtime,A3 ; |131|
NOP 1
CALL .S2X A3 ; |131|
ADDKPC .S2 RL25,B3,1 ; |131|
ADDAD .D2 SP,5,B4 ; |131|
|| ADD .S2X B4,A4,B5 ; |130|
STW .D2T2 B5,*+SP(40) ; |130|
MV .D1X B4,A4 ; |131|
RL25: ; CALL OCCURS ; |131|
MV .D1 A4,A3 ; |131|
LDW .D1T1 *+A3(20),A4 ; |133|
NOP 2
MVK .S2 30,B4 ; |133|
MVK .S1 70,A5 ; |136|
CMPLT .L2X A4,B4,B0 ; |133|
[!B0] LDW .D1T1 *+A3(20),A6 ; |134|
ADD .D1 A5,A4,A5 ; |136|
LDW .D2T1 *+SP(36),A4 ; |138|
[ B0] STW .D1T1 A5,*+A3(20) ; |136|
MVK .D2 0xa,B4 ; |138|
MVKL .S1 __divu,A6 ; |138|
|| [!B0] SUB .D1 A6,30,A5 ; |134|
MVKH .S1 __divu,A6 ; |138|
[!B0] STW .D1T1 A5,*+A3(20) ; |134|
CALL .S2X A6 ; |138|
ADDKPC .S2 RL27,B3,4 ; |138|
RL27: ; CALL OCCURS ; |138|
LDW .D1T1 *+A3(16),A7 ; |138|
LDW .D1T2 *+A3(12),B5 ; |138|
MVKL .S2 SL6+0,B4 ; |138|
MVKH .S2 SL6+0,B4 ; |138|
STW .D2T2 B4,*+SP(4) ; |138|
|| LDW .D1T1 *+A3(8),A6 ; |138|
LDW .D1T2 *+A3(4),B6 ; |138|
|| ADD .S1 1,A7,A7 ; |138|
STW .D2T1 A7,*+SP(8) ; |138|
|| LDW .D1T2 *A3,B4 ; |138|
STW .D2T2 B5,*+SP(12) ; |138|
STW .D2T1 A5,*+SP(16) ; |138|
STW .D2T1 A6,*+SP(20) ; |138|
STW .D2T2 B6,*+SP(24) ; |138|
MVKL .S2 _sprintf,B4 ; |138|
|| STW .D2T2 B4,*+SP(28) ; |138|
MVKH .S2 _sprintf,B4 ; |138|
CALL .S2 B4 ; |138|
STW .D2T1 A4,*+SP(32) ; |138|
ADDAD .D2 SP,6,B5 ; |138|
ADDKPC .S2 RL28,B3,1 ; |138|
MV .D1X B5,A4 ; |138|
RL28: ; CALL OCCURS ; |138|
MVKL .S1 _memset,A3 ; |142|
MVKH .S1 _memset,A3 ; |142|
MVKL .S2 _tag_data,B11 ; |142|
CALL .S2X A3 ; |142|
MVKH .S2 _tag_data,B11 ; |142|
MVK .S1 0x3000,A6 ; |142|
ZERO .D2 B4 ; |142|
ADDKPC .S2 RL29,B3,0 ; |142|
MV .D1X B11,A4 ; |142|
RL29: ; CALL OCCURS ; |142|
MVKL .S1 _drawstring,A3 ; |144|
MVKH .S1 _drawstring,A3 ; |144|
ADDAD .D2 SP,6,B4 ; |144|
CALL .S2X A3 ; |144|
MV .D1X B4,A4 ; |144|
ADDKPC .S2 RL30,B3,3 ; |144|
RL30: ; CALL OCCURS ; |144|
MVKL .S1 _OEMCacheClean,A3 ; |146|
MVKH .S1 _OEMCacheClean,A3 ; |146|
MVK .S2 0x2a00,B4 ; |146|
CALL .S2X A3 ; |146|
MV .D1X B11,A4 ; |142|
ADDKPC .S2 RL31,B3,3 ; |146|
RL31: ; CALL OCCURS ; |146|
MVKL .S2 _OEMCacheCleanSynch,B4 ; |147|
MVKH .S2 _OEMCacheCleanSynch,B4 ; |147|
CALL .S2 B4 ; |147|
ADDKPC .S2 RL32,B3,4 ; |147|
RL32: ; CALL OCCURS ; |147|
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -