📄 rxhostcomm.asm
字号:
;*
;* Minimum required memory pad : 0 bytes
;*
;* Minimum safe trip count : 1
;*----------------------------------------------------------------------------*
L31: ; PIPED LOOP PROLOG
[ A2] MV .D1 A4,A7 ; |266| (P) <1,3>
|| [ A2] STW .D2T2 B4,*+SP(12) ; |263| (P) <1,3>
|| [ A2] MV .S2 B1,B6 ; |266| (P) <1,3> ^
|| SUB .L1 A6,A4,A6 ; |265| (P) <1,3> ^
|| CMPLT .L2 B1,B5,B0 ; |264| (P) <2,0>
|| [ A2] B .S1 L32 ; |266| (P) <0,6>
[ A2] MV .D1 A6,A3 ; |266| (P) <1,4>
|| [ B0] ADD .S2 1,B1,B1 ; |264| (P) <2,1>
|| [!B0] ZERO .L2 B1 ; |264| (P) <2,1>
|| CMPLTU .L1 A6,A5,A1 ; |266| (P) <1,4> ^
[ A1] ZERO .D1 A2 ; (P) <1,5> ^
|| [!B1] MV .S1 A0,A4 ; |265| (P) <2,2> ^
|| [ B1] MV .L1 A5,A4 ; |265| (P) <2,2> ^
|| ADD .D2 1,B4,B4 ; |263| (P) <2,2>
;** --------------------------------------------------------------------------*
L32: ; PIPED LOOP KERNEL
[ A2] B .S1 L32 ; |266| <1,6>
|| [ A2] MV .D1 A4,A7 ; |266| <2,3>
|| [ A2] STW .D2T2 B4,*+SP(12) ; |263| <2,3>
|| [ A2] MV .S2 B1,B6 ; |266| <2,3> ^
|| SUB .L1 A6,A4,A6 ; |265| <2,3> ^
|| CMPLT .L2 B1,B5,B0 ; |264| <3,0>
[ A2] MV .D1 A6,A3 ; |266| <2,4>
|| CMPLTU .L1 A6,A5,A1 ; |266| <2,4> ^
|| [ B0] ADD .S2 1,B1,B1 ; |264| <3,1>
|| [!B0] ZERO .L2 B1 ; |264| <3,1>
[ A1] ZERO .D1 A2 ; <2,5> ^
|| ADD .D2 1,B4,B4 ; |263| <3,2>
|| [!B1] MV .S1 A0,A4 ; |265| <3,2> ^
|| [ B1] MV .L1 A5,A4 ; |265| <3,2> ^
;** --------------------------------------------------------------------------*
L33: ; PIPED LOOP EPILOG
;** --------------------------------------------------------------------------*
MV .D1 A3,A1
|| MV .S1 A0,A15
|| MV .L2X A5,B12
|| STW .D2T1 A7,*+SP(80)
|| MVC .S2 B8,CSR ; interrupts on
MV .D2 B6,B1
;** --------------------------------------------------------------------------*
L34:
;** -----------------------g60:
;** 268 ----------------------- (n < U$108-1) ? (n = n+1) : (n = 0);
;** 269 ----------------------- if ( !un ) goto g67;
.line 175
SUB .D2 B7,1,B4 ; |268|
CMPLT .L2 B1,B4,B0 ; |268|
[ B0] ADD .D2 1,B1,B1 ; |268|
|| [!B0] ZERO .S2 B1 ; |268|
.line 176
[!A1] B .S1 L36 ; |269|
NOP 5
; BRANCH OCCURS ; |269|
;** --------------------------------------------------------------------------*
;** 271 ----------------------- if ( n ) goto g65;
;** 273 ----------------------- if ( un >= K$122 ) goto g64;
;** 286 ----------------------- uiNoOfFrames = uiNoOfFrames+1u;
;** 286 ----------------------- goto g67;
;** -----------------------g64:
;** 277 ----------------------- uiNoOfFrames = ((un -= 240u) != 0u)+uiNoOfFrames+1u;
;** 280 ----------------------- goto g67;
;** -----------------------g65:
;** 292 ----------------------- uiNoOfFrames = uiNoOfFrames+1u;
;** 292 ----------------------- goto g67;
.line 178
.line 180
[!B1] CMPLTU .L1 A1,A15,A0 ; |273|
[!B1] STW .D2T1 A0,*+SP(84) ; |273|
.line 193
LDW .D2T1 *+SP(84),A0
NOP 4
CMPEQ .L2X A0,0,B4
OR .S2 B4,B1,B0
[!B0] LDW .D2T2 *+SP(12),B4 ; |286|
OR .S1X A0,B1,A2
NOP 3
[!B0] ADD .D2 1,B4,B4 ; |286|
[!B0] STW .D2T2 B4,*+SP(12) ; |286|
.line 184
[!A2] LDW .D2T2 *+SP(12),B4 ; |277|
[!A2] ADDK .S1 -240,A1 ; |277|
[!A2] CMPEQ .L1 A1,0,A0 ; |277|
[!A2] XOR .S1 1,A0,A0 ; |277|
NOP 1
[!A2] ADD .S2X B4,A0,B4 ; |277|
[!A2] ADD .D2 1,B4,B4 ; |277|
[!A2] STW .D2T2 B4,*+SP(12) ; |277|
.line 187
.line 199
[ B1] LDW .D2T2 *+SP(12),B4 ; |292|
B .S1 L36 ; |292|
NOP 3
[ B1] ADD .D2 1,B4,B4 ; |292|
[ B1] STW .D2T2 B4,*+SP(12) ; |292|
; BRANCH OCCURS ; |292|
;** --------------------------------------------------------------------------*
L35:
;** -----------------------g66:
;** 299 ----------------------- uiNoOfFrames = ((uiFileSize&K$138) < uiFileSize)+(uiFileSize>>8);
.line 206
MVK .S1 0xffffff00,A0
AND .S1 A0,A14,A0 ; |299|
SHRU .S1 A14,8,A0 ; |299|
|| CMPLTU .L1 A0,A14,A3 ; |299|
ADD .D1 A0,A3,A0 ; |299|
STW .D2T1 A0,*+SP(12) ; |299|
;** --------------------------------------------------------------------------*
L36:
;** -----------------------g67:
;** 304 ----------------------- uiNoOfFrames = Y$1 = uiNoOfFrames+1u;
;** 305 ----------------------- *HostCommState.puiNoOfBlocks = Y$1;
;** 306 ----------------------- HostCommState.cTransReady = 1;
;** 308 ----------------------- HostCommState.cTransReady = 0;
;** 313 ----------------------- if ( !(iStatus = RTDX_write(K$58, &uiNoOfFrames, 4u)) ) goto g73;
.line 211
LDW .D2T2 *+SP(12),B4 ; |304|
NOP 4
ADD .D2 1,B4,B4 ; |304|
STW .D2T2 B4,*+SP(12) ; |304|
.line 212
MVKL .S1 _HostCommState+24,A0 ; |305|
MVKH .S1 _HostCommState+24,A0 ; |305|
LDW .D1T1 *A0,A0 ; |305|
NOP 4
STW .D1T2 B4,*A0 ; |305|
.line 213
MVKL .S2 _HostCommState+28,B4 ; |306|
MVKH .S2 _HostCommState+28,B4 ; |306|
|| MVK .S1 1,A0 ; |306|
STB .D2T1 A0,*B4 ; |306|
.line 215
MVKL .S2 _HostCommState+28,B4 ; |308|
MVKH .S2 _HostCommState+28,B4 ; |308|
|| ZERO .D1 A0 ; |308|
STB .D2T1 A0,*B4 ; |308|
.line 220
MVKL .S2 _RTDX_write,B5 ; |313|
MVKH .S2 _RTDX_write,B5 ; |313|
CALL .S2 B5 ; |313|
MVKL .S2 RL18,B3 ; |313|
ADD .D2 12,SP,B4 ; |313|
MVKH .S2 RL18,B3 ; |313|
MV .D1 A12,A4 ; |313|
MVK .S1 0x4,A6 ; |313|
RL18: ; CALL OCCURS ; |313|
MV .D1 A4,A1 ; |313|
[!A1] B .S1 L39 ; |313|
NOP 5
; BRANCH OCCURS ; |313|
;** --------------------------------------------------------------------------*
;** 322 ----------------------- if ( RTDX_writing == NULL ) goto g72;
;** ----------------------- #pragma LOOP_FLAGS(5120u)
.line 229
MVKL .S1 _RTDX_writing,A0 ; |322|
MVKH .S1 _RTDX_writing,A0 ; |322|
LDW .D1T1 *A0,A1 ; |322|
NOP 4
[!A1] B .S1 L38 ; |322|
NOP 5
; BRANCH OCCURS ; |322|
;*----------------------------------------------------------------------------*
;* SOFTWARE PIPELINE INFORMATION
;* Disqualified loop: Loop contains a call
;*----------------------------------------------------------------------------*
L37:
;** -----------------------g71:
;** 326 ----------------------- SEM_pend(K$29, 1u);
;** 327 ----------------------- if ( RTDX_writing ) goto g71;
.line 233
MVKL .S2 _SEM_pend,B5 ; |326|
MVKH .S2 _SEM_pend,B5 ; |326|
CALL .S2 B5 ; |326|
MVKL .S2 RL19,B3 ; |326|
MVK .S2 0x1,B4 ; |326|
MVKH .S2 RL19,B3 ; |326|
MV .D1 A10,A4 ; |326|
NOP 1
RL19: ; CALL OCCURS ; |326|
.line 234
MVKL .S1 _RTDX_writing,A0 ; |327|
MVKH .S1 _RTDX_writing,A0 ; |327|
LDW .D1T1 *A0,A1 ; |327|
NOP 4
[ A1] B .S1 L37 ; |327|
NOP 5
; BRANCH OCCURS ; |327|
;** --------------------------------------------------------------------------*
L38:
;** -----------------------g72:
;** 330 ----------------------- CommState = 4;
;** 330 ----------------------- goto g105;
.line 237
B .S1 L50 ; |330|
MVKL .S1 _CommState,A0 ; |330|
MVKH .S1 _CommState,A0 ; |330|
MVK .S2 4,B4 ; |330|
STW .D1T2 B4,*A0 ; |330|
NOP 1
; BRANCH OCCURS ; |330|
;** -----------------------g73:
;** 319 ----------------------- exit((-2));
;*** ; the preceding call never returns
;** ----------------------- #pragma LOOP_FLAGS(4096u)
;** --------------------------------------------------------------------------*
L39:
.line 226
MVKL .S1 _exit,A0 ; |319|
MVKH .S1 _exit,A0 ; |319|
CALL .S2X A0 ; |319|
MVKL .S2 RL20,B3 ; |319|
MVKH .S2 RL20,B3 ; |319|
MVK .S1 0xfffffffe,A4 ; |319|
NOP 2
RL20: ; CALL OCCURS ; |319|
;*----------------------------------------------------------------------------*
;* SOFTWARE PIPELINE INFORMATION
;* Disqualified loop: Bad loop structure
;*----------------------------------------------------------------------------*
L40:
;** -----------------------g75:
;** 319 ----------------------- goto g75;
B .S1 L40 ; |319|
NOP 5
; BRANCH OCCURS ; |319|
;** --------------------------------------------------------------------------*
L41:
;** -----------------------g76:
;** 169 ----------------------- if ( arraycrtl[0]&1 ) goto g78;
;** 172 ----------------------- U$154 = HostCommState.pTxMode;
;** 172 ----------------------- *U$154 = K$153;
;** 172 ----------------------- goto g79;
;** -----------------------g78:
;** 170 ----------------------- U$154 = HostCommState.pTxMode;
;** -----------------------g79:
;** 175 ----------------------- *U$154 = K$153;
;** 177 ----------------------- C$3 = &arraycrtl[0];
;** 177 ----------------------- *HostCommState.piSyncRep = C$3[1];
;** 178 ----------------------- uiFileSize = C$3[2];
;** 179 ----------------------- uiNbrDataBursts = C$3[3];
;** 181 ----------------------- switch ( C$3[4] ) {...};
;** -----------------------g80:
;** 190 ----------------------- *HostCommState.puiDetector = K$156;
;** 190 ----------------------- goto g83;
;** -----------------------g81:
;** 187 ----------------------- *HostCommState.puiDetector = K$169;
;** 187 ----------------------- goto g83;
;** -----------------------g82:
;** 184 ----------------------- *HostCommState.puiDetector = K$153;
;** -----------------------g83:
;** 194 ----------------------- K$148 = C$2 = &arraycrtl[0];
;** 194 ----------------------- switch ( C$2[5] ) {...};
.line 76
MVKL .S2 _arraycrtl,B4 ; |169|
MVKH .S2 _arraycrtl,B4 ; |169|
LDW .D2T2 *B4,B4 ; |169|
NOP 4
AND .S2
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -