📄 pip_lio.asm
字号:
.sect ".text"
.global _PIP_LIO_rxPump
.sym _PIP_LIO_rxPump,_PIP_LIO_rxPump, 32, 2, 0
.func 163
;******************************************************************************
;* FUNCTION NAME: _PIP_LIO_rxPump *
;* *
;* Regs Modified : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,B0,B1,B2,B3,B4,B5, *
;* B6,B7,B8,B9,B10,SP *
;* Regs Used : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,B0,B1,B2,B3,B4,B5, *
;* B6,B7,B8,B9,B10,DP,SP *
;* Local Frame Size : 0 Args + 4 Auto + 12 Save = 16 byte *
;******************************************************************************
_PIP_LIO_rxPump:
;** --------------------------------------------------------------------------*
.sym _chan,4, 14, 17, 32
.sym _parg,20, 4, 17, 32
.sym _validWords,4, 4, 1, 32
.sym _chan,10, 14, 4, 32
.sym _parg,26, 4, 4, 32
;** 168 ----------------------- if ( !(*drv->getBuf)(chan, NULL, &validWords) ) goto g2;
STW .D2T2 B10,*SP--(16) ; |163|
STW .D2T1 A10,*+SP(8) ; |163|
STW .D2T2 B3,*+SP(12) ; |163|
.line 2
MV .L2 B4,B10 ;
|| MV .L1 A4,A10 ;
.line 6
LDW .D2T2 *+DP(_drv),B4 ; |168|
MVKL .S2 RL27,B3 ; |168|
MVKH .S2 RL27,B3 ; |168|
ADD .L1X 4,SP,A6 ;
NOP 1
LDW .D2T2 *+B4(8),B5 ; |168|
ZERO .L2 B4 ; |168|
NOP 3
B .S2 B5 ; |168|
NOP 5
RL27: ; CALL OCCURS ; |168|
MV .L1 A4,A1 ; |168|
[!A1] B .S1 L5 ; |168|
NOP 5
; BRANCH OCCURS ; |168|
;** --------------------------------------------------------------------------*
;** 169 ----------------------- validWords = (unsigned)validWords>>2;
;** 170 ----------------------- ((struct _PIP_Obj *)parg)->writerSize = validWords;
;** 171 ----------------------- PIP_put((struct _PIP_Obj *)parg);
;** 175 ----------------------- PIP_LIO_rxPrime((int)chan, (struct _PIP_Obj *)parg);
;** -----------------------g2:
;** ----------------------- return;
.line 7
LDW .D2T2 *+SP(4),B4 ; |169|
NOP 4
SHRU .S2 B4,2,B4 ; |169|
STW .D2T2 B4,*+SP(4) ; |169|
.line 8
LDW .D2T2 *+SP(4),B4 ; |170|
NOP 4
STW .D2T2 B4,*+B10(60) ; |170|
.line 9
B .S1 _PIP_put ; |171|
MVKL .S2 RL28,B3 ; |171|
MVKH .S2 RL28,B3 ; |171|
MV .L1X B10,A4 ; |171|
NOP 2
RL28: ; CALL OCCURS ; |171|
.line 13
B .S1 _PIP_LIO_rxPrime ; |175|
MVKL .S2 RL30,B3 ; |175|
MV .L1 A10,A4 ;
MV .L2 B10,B4 ;
MVKH .S2 RL30,B3 ; |175|
NOP 1
RL30: ; CALL OCCURS ; |175|
;** --------------------------------------------------------------------------*
L5:
.line 15
LDW .D2T2 *+SP(12),B3 ; |177|
LDW .D2T1 *+SP(8),A10 ; |177|
LDW .D2T2 *++SP(16),B10 ; |177|
NOP 2
B .S2 B3 ; |177|
NOP 5
; BRANCH OCCURS ; |177|
.endfunc 177,004080400h,16
.sect ".cinit:c"
.align 4
.field 0,32 ; _nested$2 @ 0
.sect ".text"
.sect ".text"
.global _PIP_LIO_rxPrime
.sym _PIP_LIO_rxPrime,_PIP_LIO_rxPrime, 32, 2, 0
.func 184
;******************************************************************************
;* FUNCTION NAME: _PIP_LIO_rxPrime *
;* *
;* 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,DP,SP *
;* Local Frame Size : 0 Args + 0 Auto + 12 Save = 12 byte *
;******************************************************************************
_PIP_LIO_rxPrime:
;** --------------------------------------------------------------------------*
.sym _chan,4, 4, 17, 32
.sym _pip,20, 24, 17, 32, _PIP_Obj
_nested$2: .usect ".bss:c",4,4
.sym _nested,_nested$2, 4, 3, 32
.sym _chan,11, 4, 4, 32
.sym _pip,10, 24, 4, 32, _PIP_Obj
;** 188 ----------------------- if ( nested ) goto g5;
STW .D2T2 B3,*SP--(16) ; |184|
STW .D2T1 A10,*+SP(8) ; |184|
STW .D2T1 A11,*+SP(12) ; |184|
.line 2
MV .L1 A4,A11 ;
|| MV .S1X B4,A10 ;
.line 5
LDW .D2T2 *+DP(_nested$2),B0 ; |188|
NOP 4
[ B0] B .S1 L8 ; |188|
NOP 5
; BRANCH OCCURS ; |188|
;** --------------------------------------------------------------------------*
;** 189 ----------------------- nested = 1;
;** 199 ----------------------- HWI_disable();
;** 200 ----------------------- if ( (*drv->isEmpty)((unsigned)chan) && pip->writerNumFrames ) goto g3;
.line 6
MVK .S1 1,A0 ; |189|
STW .D2T1 A0,*+DP(_nested$2) ; |189|
.line 16
B .S1 _HWI_disable ; |199|
MVKL .S2 RL32,B3 ; |199|
MVKH .S2 RL32,B3 ; |199|
NOP 3
RL32: ; CALL OCCURS ; |199|
.line 17
LDW .D2T2 *+DP(_drv),B4 ; |200|
MVKL .S2 RL34,B3 ; |200|
MVKH .S2 RL34,B3 ; |200|
MV .L1 A11,A4 ; |200|
NOP 1
LDW .D2T2 *+B4(16),B4 ; |200|
NOP 4
B .S2 B4 ; |200|
NOP 5
RL34: ; CALL OCCURS ; |200|
MV .L1 A4,A2 ;
[ A2] LDW .D1T1 *+A10(72),A4 ; |200|
NOP 4
MV .L1 A4,A1 ; |200|
[ A1] B .S1 L6 ; |200|
NOP 5
; BRANCH OCCURS ; |200|
;** --------------------------------------------------------------------------*
;** 207 ----------------------- HWI_enable();
;** 207 ----------------------- goto g4;
.line 24
B .S1 _HWI_enable ; |207|
MVKL .S2 RL35,B3 ; |207|
MVKH .S2 RL35,B3 ; |207|
NOP 3
RL35: ; CALL OCCURS ; |207|
B .S1 L7 ; |207|
NOP 5
; BRANCH OCCURS ; |207|
;** --------------------------------------------------------------------------*
L6:
;** -----------------------g3:
;** 201 ----------------------- HWI_enable();
;** 202 ----------------------- PIP_alloc(pip);
;** 203 ----------------------- (*drv->setBuf)((unsigned)chan, pip->writerAddr, pip->writerSize*4u);
.line 18
B .S1 _HWI_enable ; |201|
MVKL .S2 RL37,B3 ; |201|
MVKH .S2 RL37,B3 ; |201|
NOP 3
RL37: ; CALL OCCURS ; |201|
.line 19
B .S1 _PIP_alloc ; |202|
MVKL .S2 RL39,B3 ; |202|
MVKH .S2 RL39,B3 ; |202|
MV .L1 A10,A4 ; |202|
NOP 2
RL39: ; CALL OCCURS ; |202|
.line 20
LDW .D2T2 *+DP(_drv),B4 ; |203|
LDW .D1T1 *+A10(60),A0 ; |203|
MVKL .S2 RL41,B3 ; |203|
MV .L1 A11,A4 ;
MVKH .S2 RL41,B3 ; |203|
LDW .D2T2 *+B4(24),B5 ; |203|
LDW .D1T2 *+A10(56),B4 ;
SHL .S1 A0,2,A6 ; |203|
NOP 2
B .S2 B5 ; |203|
NOP 5
RL41: ; CALL OCCURS ; |203|
;** --------------------------------------------------------------------------*
L7:
;** -----------------------g4:
;** 211 ----------------------- nested = 0;
;** -----------------------g5:
;** ----------------------- return;
.line 28
ZERO .L2 B4 ; |211|
STW .D2T2 B4,*+DP(_nested$2) ; |211|
;** --------------------------------------------------------------------------*
L8:
.line 29
LDW .D2T1 *+SP(12),A11 ; |212|
LDW .D2T1 *+SP(8),A10 ; |212|
LDW .D2T2 *++SP(16),B3 ; |212|
NOP 4
B .S2 B3 ; |212|
NOP 5
; BRANCH OCCURS ; |212|
.endfunc 212,000080c00h,16
;******************************************************************************
;* MARK THE END OF THE SCALAR INIT RECORD IN CINIT:C *
;******************************************************************************
CIR: .sect ".cinit:c"
;******************************************************************************
;* ADDRESS RELOCATIONS - SCALARS *
;******************************************************************************
.sect ".cinit:c"
.align 8
.field -4,32
.align 4
.field _drv,32
;******************************************************************************
;* UNDEFINED EXTERNAL REFERENCES *
;******************************************************************************
.global _PIP_alloc
.global _PIP_free
.global _PIP_get
.global _PIP_put
.global _txPip1
.global _rxPip0
.global _txPip0
.global _HWI_disable
.global _HWI_enable
.global _rxPip1
.global _PIP_LIO_FXNS
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -