⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mcbsp_ad535.asm

📁 Using DSP/BIOS I/O in Multichannel Systems
💻 ASM
📖 第 1 页 / 共 5 页
字号:
;** 194	-----------------------    C$9 = &chans[chan];
;** 194	-----------------------    C$9->currentBuffer = C$9->nextBuffer;
;** 195	-----------------------    C$9->currentPtr = C$9->nextBuffer;
;** 196	-----------------------    C$9->currentSize = C$9->nextSize;
;** 197	-----------------------    C$9->currentCount = C$9->nextSize>>1;
;** 199	-----------------------    C$9->nextBuffer = NULL;
	.line	51
           MVK     .S1     44,A3             ; |194| 
           MPYLHU  .M1     A3,A10,A0         ; |194| 
           MPYU    .M1     A3,A10,A3         ; |194| 

           SHL     .S1     A0,16,A0          ; |194| 
||         MVK     .S2     (_chans-$bss),B4  ; |194| 

           ADD     .L1     A3,A0,A0          ; |194| 
||         ADD     .L2     DP,B4,B4          ; |194| 

           ADD     .L2X    B4,A0,B4          ; |194| 
           LDW     .D2T2   *+B4(28),B5       ; |194| 
           NOP             4
           STW     .D2T2   B5,*+B4(4)        ; |194| 
	.line	52
           LDW     .D2T2   *+B4(28),B5       ; |195| 
           NOP             4
           STW     .D2T2   B5,*+B4(12)       ; |195| 
	.line	53
           LDW     .D2T2   *+B4(32),B5       ; |196| 
           NOP             4
           STW     .D2T2   B5,*+B4(8)        ; |196| 
	.line	54
           LDW     .D2T2   *+B4(32),B5       ; |197| 
           NOP             4
           SHRU    .S2     B5,1,B5           ; |197| 
           STW     .D2T2   B5,*+B4(16)       ; |197| 
	.line	56
           ZERO    .L2     B5                ; |199| 
           STW     .D2T2   B5,*+B4(28)       ; |199| 
;** --------------------------------------------------------------------------*
L5:    
;**	-----------------------g12:
;** 203	-----------------------    C$8 = &chans[chan+2u];
;** 203	-----------------------    if ( C$8->nextBuffer ) goto g14;
;** 205	-----------------------    C$8->currentBuffer = NULL;
;** 207	-----------------------    C$8->currentPtr = 0u;
;** 208	-----------------------    goto g15;
	.line	60
           MVK     .S1     44,A3             ; |203| 
           MPYLHU  .M1     A3,A10,A0         ; |203| 
           MPYU    .M1     A3,A10,A3         ; |203| 
           SHL     .S1     A0,16,A0          ; |203| 

           ADD     .L1     A3,A0,A0          ; |203| 
||         MVK     .S2     (_chans-$bss),B4  ; |203| 

           ADDK    .S1     88,A0             ; |203| 
||         ADD     .L2     DP,B4,B4          ; |203| 

           ADD     .L2X    B4,A0,B4          ; |203| 
           LDW     .D2T2   *+B4(28),B0       ; |203| 
           NOP             4
	.line	62
   [!B0]   ZERO    .L2     B5                ; |205| 
   [!B0]   STW     .D2T2   B5,*+B4(4)        ; |205| 
	.line	64
   [!B0]   ZERO    .L2     B5                ; |207| 
   [!B0]   STW     .D2T2   B5,*+B4(12)       ; |207| 
	.line	65
   [!B0]   B       .S1     L6                ; |208| 
           NOP             5
           ; BRANCH OCCURS                   ; |208| 
;** --------------------------------------------------------------------------*
;**	-----------------------g14:
;** 209	-----------------------    C$7 = &chans[chan+2u];
;** 209	-----------------------    C$7->currentBuffer = C$7->nextBuffer;
;** 210	-----------------------    C$7->currentPtr = C$7->nextBuffer;
;** 211	-----------------------    C$7->currentSize = C$7->nextSize;
;** 212	-----------------------    C$7->currentCount = C$7->nextSize>>1;
;** 214	-----------------------    C$7->nextBuffer = NULL;
	.line	66
           MVK     .S1     44,A3             ; |209| 
           MPYLHU  .M1     A3,A10,A0         ; |209| 
           MPYU    .M1     A3,A10,A3         ; |209| 
           SHL     .S1     A0,16,A0          ; |209| 

           ADD     .L1     A3,A0,A0          ; |209| 
||         MVK     .S2     (_chans-$bss),B4  ; |209| 

           ADDK    .S1     88,A0             ; |209| 
||         ADD     .L2     DP,B4,B4          ; |209| 

           ADD     .L2X    B4,A0,B4          ; |209| 
           LDW     .D2T2   *+B4(28),B5       ; |209| 
           NOP             4
           STW     .D2T2   B5,*+B4(4)        ; |209| 
	.line	67
           LDW     .D2T2   *+B4(28),B5       ; |210| 
           NOP             4
           STW     .D2T2   B5,*+B4(12)       ; |210| 
	.line	68
           LDW     .D2T2   *+B4(32),B5       ; |211| 
           NOP             4
           STW     .D2T2   B5,*+B4(8)        ; |211| 
	.line	69
           LDW     .D2T2   *+B4(32),B5       ; |212| 
           NOP             4
           SHRU    .S2     B5,1,B5           ; |212| 
           STW     .D2T2   B5,*+B4(16)       ; |212| 
	.line	71
           ZERO    .L2     B5                ; |214| 
           STW     .D2T2   B5,*+B4(28)       ; |214| 
;** --------------------------------------------------------------------------*
L6:    
;**	-----------------------g15:
;** 217	-----------------------    C$6 = &chans[chan];
;** 217	-----------------------    if ( !(C$5 = C$6->callback) ) goto g17;
	.line	74
           MVK     .S1     44,A3             ; |217| 
           MPYLHU  .M1     A3,A10,A0         ; |217| 
           MPYU    .M1     A3,A10,A3         ; |217| 

           SHL     .S1     A0,16,A0          ; |217| 
||         MVK     .S2     (_chans-$bss),B4  ; |217| 

           ADD     .L1     A3,A0,A0          ; |217| 
||         ADD     .L2     DP,B4,B4          ; |217| 

           ADD     .L2X    B4,A0,B4          ; |217| 
           LDW     .D2T2   *+B4(36),B0       ; |217| 
           NOP             4
   [!B0]   B       .S1     L7                ; |217| 
           NOP             5
           ; BRANCH OCCURS                   ; |217| 
;** --------------------------------------------------------------------------*
;** 218	-----------------------    (*C$5)(chan, C$6->callbackArg);
	.line	75
           B       .S2     B0                ; |218| 
           LDW     .D2T2   *+B4(40),B4       ; 
           MVKL    .S2     RL10,B3           ; |218| 
           MVKH    .S2     RL10,B3           ; |218| 
           MV      .L1     A10,A4            ; |218| 
           NOP             1
RL10:      ; CALL OCCURS                     ; |218| 
;** --------------------------------------------------------------------------*
L7:    
;**	-----------------------g17:
;** 222	-----------------------    C$3 = chan+2u;
;** 222	-----------------------    C$4 = &chans[C$3];
;** 222	-----------------------    if ( !(C$2 = C$4->callback) ) goto g19;
	.line	79
           ADD     .L1     2,A10,A4          ; |222| 
           MVK     .S1     44,A3             ; |222| 
           MPYLHU  .M1     A3,A4,A0          ; |222| 
           MPYU    .M1     A3,A4,A3          ; |222| 

           SHL     .S1     A0,16,A0          ; |222| 
||         MVK     .S2     (_chans-$bss),B4  ; |222| 

           ADD     .L1     A3,A0,A0          ; |222| 
||         ADD     .L2     DP,B4,B4          ; |222| 

           ADD     .L2X    B4,A0,B4          ; |222| 
           LDW     .D2T2   *+B4(36),B0       ; |222| 
           NOP             4
   [!B0]   B       .S1     L8                ; |222| 
           NOP             5
           ; BRANCH OCCURS                   ; |222| 
;** --------------------------------------------------------------------------*
;** 223	-----------------------    (*C$2)(C$3, C$4->callbackArg);
;**	-----------------------g19:
;**  	-----------------------    return;
	.line	80
           B       .S2     B0                ; |223| 
           LDW     .D2T2   *+B4(40),B4       ; 
           MVKL    .S2     RL11,B3           ; |223| 
           MVKH    .S2     RL11,B3           ; |223| 
           NOP             2
RL11:      ; CALL OCCURS                     ; |223| 
;** --------------------------------------------------------------------------*
L8:    
	.line	84
           LDW     .D2T1   *+SP(4),A10       ; |227| 
           LDW     .D2T2   *++SP(8),B3       ; |227| 
           NOP             4
           B       .S2     B3                ; |227| 
           NOP             5
           ; BRANCH OCCURS                   ; |227| 
	.endfunc	227,000080400h,8


	.sect	".text"
	.sym	_disableIntr,_disableIntr, 32, 3, 0
	.func	232

;******************************************************************************
;* FUNCTION NAME: _disableIntr                                                *
;*                                                                            *
;*   Regs Modified     : A0,A1,B0,B4,B5                                       *
;*   Regs Used         : A0,A1,A4,B0,B3,B4,B5,DP                              *
;*   Local Frame Size  : 0 Args + 0 Auto + 0 Save = 0 byte                    *
;******************************************************************************
_disableIntr:
;** --------------------------------------------------------------------------*
	.sym	_chan,4, 14, 17, 32
	.sym	_chan,16, 14, 4, 32
;** 234	-----------------------    if ( !(chan*44+&chans)->running ) goto g5;
	.line	2
           MV      .L2X    A4,B0             ; |233| 
	.line	3
           MVK     .S2     44,B5             ; |234| 
           MPYLHU  .M2     B5,B0,B4          ; |234| 
           MPYU    .M2     B5,B0,B5          ; |234| 

           SHL     .S2     B4,16,B4          ; |234| 
||         MVK     .S1     (_chans-$bss),A0  ; |234| 

           ADD     .L2     B5,B4,B4          ; |234| 
||         ADD     .L1X    DP,A0,A0          ; |234| 

           ADD     .L1X    A0,B4,A0          ; |234| 
           LDHU    .D1T1   *A0,A1            ; |234| 
           NOP             4
   [!A1]   B       .S1     L9                ; |234| 
           NOP             5
           ; BRANCH OCCURS                   ; |234| 
;** --------------------------------------------------------------------------*
;** 237	-----------------------    if ( chan ) goto g3;
; >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ENTERING IRQ_Disable()
;** 238	-----------------------    IER &= ~IRQ_EventTable[15];
; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< LEAVING IRQ_Disable()
;** 239	-----------------------    goto g5;
	.line	6
	.line	7
   [!B0]   MVC     .S2     IER,B4            ; |238| 
   [!B0]   MVKL    .S1     _IRQ_EventTable+60,A0 ; |238| 
   [!B0]   MVKH    .S1     _IRQ_EventTable+60,A0 ; |238| 
   [!B0]   LDW     .D1T1   *A0,A0            ; |238| 
           NOP             4
   [!B0]   NOT     .L1     A0,A0             ; |238| 
   [!B0]   AND     .L2X    A0,B4,B4          ; |238| 
   [!B0]   MVC     .S2     B4,IER            ; |238| 
	.line	8
   [!B0]   B       .S1     L9                ; |239| 
           NOP             5
           ; BRANCH OCCURS                   ; |239| 
;** --------------------------------------------------------------------------*
;**	-----------------------g3:
;** 241	-----------------------    if ( chan != 1u ) goto g5;
; >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ENTERING IRQ_Disable()
;** 242	-----------------------    IER &= ~IRQ_EventTable[14];
; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< LEAVING IRQ_Disable()
;**	-----------------------g5:
;**  	-----------------------    return;
	.line	10
           CMPEQ   .L2     B0,1,B0           ; |241| 
	.line	11
   [ B0]   MVC     .S2     IER,B4            ; |242| 
   [ B0]   MVKL    .S1     _IRQ_EventTable+56,A0 ; |242| 
   [ B0]   MVKH    .S1     _IRQ_EventTable+56,A0 ; |242| 
   [ B0]   LDW     .D1T1   *A0,A0            ; |242| 
           NOP             4
   [ B0]   NOT     .L1     A0,A0             ; |242| 
   [ B0]   AND     .L2X    A0,B4,B4          ; |242| 
   [ B0]   MVC     .S2     B4,IER            ; |242| 
;** --------------------------------------------------------------------------*
L9:    
	.line	15
           B       .S2     B3                ; |246| 
           NOP             5
           ; BRANCH OCCURS                   ; |246| 
	.endfunc	246,000000000h,0


	.sect	".text"
	.sym	_enableCodec,_enableCodec, 32, 3, 0
	.func	249

;******************************************************************************
;* FUNCTION NAME: _enableCodec                                                *
;*                                                                            *
;*   Regs Modified     : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,B0,B1,B2,B3,B4,B5,B6,  *
;*                           B7,B8,B9,SP                                      *
;*   Regs Used         : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,B0,B1,B2,B3,B4,B5,B6,  *
;*                           B7,B8,B9,DP,SP                                   *
;*   Local Frame Size  : 0 Args + 0 Auto + 4 Save = 4 byte                    *
;******************************************************************************
_enableCodec:
;** --------------------------------------------------------------------------*
	.sym	Y$0,4, 24, 4, 32, _T0
;** 251	-----------------------    hMcbsp = Y$0 = MCBSP_Open(0, 1u);
;** 253	-----------------------    ad535_init(Y$0);
;** 253	-----------------------    return;
           STW     .D2T2   B3,*SP--(8)       ; |249| 
	.line	3

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -