📄 mcbsp_ad535.asm
字号:
AND .L1 -2,A10,A1 ; |311|
[ A1] B .S1 L12 ; |311|
NOP 5
; BRANCH OCCURS ; |311|
;** --------------------------------------------------------------------------*
;** 312 ----------------------- disableIntr(chan);
.line 6
B .S1 _disableIntr ; |312|
MVKL .S2 RL19,B3 ; |312|
MVKH .S2 RL19,B3 ; |312|
NOP 3
RL19: ; CALL OCCURS ; |312|
;** --------------------------------------------------------------------------*
L12:
;** -----------------------g2:
;** 315 ----------------------- C$1 = &chans[chan];
;** 315 ----------------------- if ( !(retVal = C$1->fullBuffer) ) goto g4;
;** 318 ----------------------- *size = *dataSize = C$1->fullSize;
;** -----------------------g4:
;** 321 ----------------------- (chan*44+&chans)->fullBuffer = NULL;
;** 323 ----------------------- if ( chan&0xfffffffeu ) goto g6;
.line 9
MVK .S1 44,A0 ; |315|
MPYLHU .M1 A0,A10,A3 ; |315|
MPYU .M1 A0,A10,A0 ; |315|
SHL .S1 A3,16,A3 ; |315|
|| MVK .S2 (_chans-$bss),B4 ; |315|
ADD .L1 A0,A3,A0 ; |315|
|| ADD .L2 DP,B4,B4 ; |315|
ADD .L2X B4,A0,B4 ; |315|
LDW .D2T1 *+B4(20),A11 ;
NOP 4
.line 12
MV .L1 A11,A1
[ A1] LDW .D2T2 *+B4(24),B4 ; |318|
NOP 4
[ A1] STW .D2T2 B4,*B11 ; |318|
[ A1] STW .D2T2 B4,*B10 ; |318|
.line 15
MVK .S2 44,B5 ; |321|
MPYLHU .M2X B5,A10,B4 ; |321|
MPYU .M2X B5,A10,B5 ; |321|
SHL .S2 B4,16,B4 ; |321|
|| MVK .S1 (_chans+20-$bss),A0 ; |321|
ADD .L2 B5,B4,B4 ; |321|
|| ADD .L1X DP,A0,A0 ; |321|
ZERO .L1 A0 ; |321|
|| ADD .S1X A0,B4,A3 ; |321|
STW .D1T1 A0,*A3 ; |321|
.line 17
AND .L1 -2,A10,A1 ; |323|
[ A1] B .S1 L13 ; |323|
NOP 5
; BRANCH OCCURS ; |323|
;** --------------------------------------------------------------------------*
;** 324 ----------------------- enableIntr(chan);
.line 18
B .S1 _enableIntr ; |324|
MVKL .S2 RL21,B3 ; |324|
MVKH .S2 RL21,B3 ; |324|
MV .L1 A10,A4 ; |324|
NOP 2
RL21: ; CALL OCCURS ; |324|
;** --------------------------------------------------------------------------*
L13:
;** -----------------------g6:
;** 327 ----------------------- return retVal;
.line 21
MV .L1 A11,A4
.line 22
LDW .D2T2 *+SP(16),B3 ; |328|
LDW .D2T2 *+SP(20),B10 ; |328|
LDW .D2T1 *+SP(8),A10 ; |328|
LDW .D2T1 *+SP(12),A11 ; |328|
LDW .D2T2 *++SP(24),B11 ; |328|
B .S2 B3 ; |328|
NOP 5
; BRANCH OCCURS ; |328|
.endfunc 328,00c080c00h,24
.sect ".text"
.sym _init,_init, 36, 3, 0
.func 331
;******************************************************************************
;* FUNCTION NAME: _init *
;* *
;* Regs Modified : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,B0,B1,B2,B3,B4,B5, *
;* B6,B7,B8,B9,SP *
;* Regs Used : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,B0,B1,B2,B3,B4,B5, *
;* B6,B7,B8,B9,DP,SP *
;* Local Frame Size : 0 Args + 0 Auto + 8 Save = 8 byte *
;******************************************************************************
_init:
;** --------------------------------------------------------------------------*
.sym _chan,4, 14, 17, 32
.sym _args,20, 16, 17, 32
.sym _chan,10, 14, 4, 32
;** 333 ----------------------- if ( codecInited ) goto g2;
STW .D2T2 B3,*SP--(8) ; |331|
STW .D2T1 A10,*+SP(4) ; |331|
.line 2
MV .L1 A4,A10 ; |332|
.line 3
LDW .D2T2 *+DP(_codecInited),B0 ; |333|
NOP 4
[ B0] B .S1 L14 ; |333|
NOP 5
; BRANCH OCCURS ; |333|
;** --------------------------------------------------------------------------*
;** 334 ----------------------- enableCodec();
;** 335 ----------------------- codecInited = 1;
;** 342 ----------------------- IRQ_Map(15u, 6);
;** 343 ----------------------- IRQ_Map(14u, 7);
.line 4
B .S1 _enableCodec ; |334|
MVKL .S2 RL23,B3 ; |334|
MVKH .S2 RL23,B3 ; |334|
NOP 3
RL23: ; CALL OCCURS ; |334|
.line 5
MVK .S1 1,A0 ; |335|
STW .D2T1 A0,*+DP(_codecInited) ; |335|
.line 12
MVKL .S2 _IRQ_Map,B5 ; |342|
MVKH .S2 _IRQ_Map,B5 ; |342|
B .S2 B5 ; |342|
MVK .S2 0x6,B4 ; |342|
MVKL .S2 RL25,B3 ; |342|
MVKH .S2 RL25,B3 ; |342|
MVK .S1 0xf,A4 ; |342|
NOP 1
RL25: ; CALL OCCURS ; |342|
.line 13
MVKL .S1 _IRQ_Map,A0 ; |343|
MVKH .S1 _IRQ_Map,A0 ; |343|
B .S2X A0 ; |343|
MVKL .S2 RL26,B3 ; |343|
MVK .S2 0x7,B4 ; |343|
MVKH .S2 RL26,B3 ; |343|
MVK .S1 0xe,A4 ; |343|
NOP 1
RL26: ; CALL OCCURS ; |343|
;** --------------------------------------------------------------------------*
L14:
;** -----------------------g2:
;** 347 ----------------------- if ( chan >= 4u ) goto g4;
.line 17
CMPLTU .L1 A10,4,A1 ; |347|
[!A1] B .S1 L15 ; |347|
NOP 5
; BRANCH OCCURS ; |347|
;** --------------------------------------------------------------------------*
;** 350 ----------------------- initDrvObj(chan*44+&chans);
;** 352 ----------------------- return 1;
.line 20
B .S2 _initDrvObj ; |350|
|| MVK .S1 44,A3 ; |350|
MPYLHU .M1 A3,A10,A0 ; |350|
MPYU .M1 A3,A10,A3 ; |350|
SHL .S1 A0,16,A0 ; |350|
|| MVK .S2 (_chans-$bss),B4 ; |350|
ADD .L1 A3,A0,A0 ; |350|
|| ADD .L2 DP,B4,B4 ; |350|
|| MVKL .S2 RL27,B3 ; |350|
ADD .L1X B4,A0,A4 ; |350|
|| MVKH .S2 RL27,B3 ; |350|
RL27: ; CALL OCCURS ; |350|
.line 22
B .S1 L16 ; |352|
MVK .S1 0x1,A4 ; |352|
NOP 4
; BRANCH OCCURS ; |352|
;** --------------------------------------------------------------------------*
L15:
;** -----------------------g4:
;** 356 ----------------------- return 0;
.line 26
ZERO .L1 A4 ; |356|
;** --------------------------------------------------------------------------*
L16:
.line 27
LDW .D2T1 *+SP(4),A10 ; |357|
LDW .D2T2 *++SP(8),B3 ; |357|
NOP 4
B .S2 B3 ; |357|
NOP 5
; BRANCH OCCURS ; |357|
.endfunc 357,000080400h,8
.sect ".text"
.sym _isEmpty,_isEmpty, 36, 3, 0
.func 360
;******************************************************************************
;* FUNCTION NAME: _isEmpty *
;* *
;* Regs Modified : A0,A3,A4,B0,B4 *
;* Regs Used : A0,A3,A4,B0,B3,B4,DP *
;* Local Frame Size : 0 Args + 0 Auto + 0 Save = 0 byte *
;******************************************************************************
_isEmpty:
;** --------------------------------------------------------------------------*
.sym _chan,4, 14, 17, 32
.sym _chan,4, 14, 4, 32
;** 362 ----------------------- return (chan*44+&chans)->currentBuffer == NULL;
.line 2
.line 3
MVK .S1 44,A3 ; |362|
MPYLHU .M1 A3,A4,A0 ; |362|
MPYU .M1 A3,A4,A3 ; |362|
SHL .S1 A0,16,A0 ; |362|
|| MVK .S2 (_chans+4-$bss),B4 ; |362|
ADD .L1 A3,A0,A0 ; |362|
|| ADD .L2 DP,B4,B4 ; |362|
ADD .L2X B4,A0,B4 ; |362|
LDW .D2T2 *B4,B0 ; |362|
ZERO .L1 A4 ; |362|
NOP 3
[!B0] MVK .S1 0x1,A4 ; |362|
.line 4
B .S2 B3 ; |363|
NOP 5
; BRANCH OCCURS ; |363|
.endfunc 363,000000000h,0
.sect ".text"
.sym _isFull,_isFull, 36, 3, 0
.func 366
;******************************************************************************
;* FUNCTION NAME: _isFull *
;* *
;* Regs Modified : A0,A3,A4,B0,B4 *
;* Regs Used : A0,A3,A4,B0,B3,B4,DP *
;* Local Frame Size : 0 Args + 0 Auto + 0 Save = 0 byte *
;******************************************************************************
_isFull:
;** --------------------------------------------------------------------------*
.sym _chan,4, 14, 17, 32
.sym _chan,4, 14, 4, 32
;** 368 ----------------------- return (chan*44+&chans)->nextBuffer != NULL;
.line 2
.line 3
MVK .S1 44,A3 ; |368|
MPYLHU .M1 A3,A4,A0 ; |368|
MPYU .M1 A3,A4,A3 ; |368|
SHL .S1 A0,16,A0 ; |368|
|| MVK .S2 (_chans+28-$bss),B4 ; |368|
ADD .L1 A3,A0,A0 ; |368|
|| ADD .L2 DP,B4,B4 ; |368|
ADD .L2X B4,A0,B4 ; |368|
LDW .D2T2 *B4,B0 ; |368|
ZERO .L1 A4 ; |368|
NOP 3
[ B0] MVK .S1 0x1,A4 ; |368|
.line 4
B .S2 B3 ; |369|
NOP 5
; BRANCH OCCURS ; |369|
.endfunc 369,000000000h,0
.sect ".text"
.sym _setBuf,_setBuf, 36, 3, 0
.func 373
;******************************************************************************
;* FUNCTION NAME: _setBuf *
;* *
;* R
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -