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

📄 mcbsp_ad535.asm

📁 Using DSP/BIOS I/O in Multichannel Systems
💻 ASM
📖 第 1 页 / 共 5 页
字号:
           MVKL    .S1     _MCBSP_Open,A0    ; |251| 
           MVKH    .S1     _MCBSP_Open,A0    ; |251| 
           B       .S2X    A0                ; |251| 
           MVKL    .S2     RL12,B3           ; |251| 
           MVK     .S2     0x1,B4            ; |251| 
           MVKH    .S2     RL12,B3           ; |251| 
           ZERO    .L1     A4                ; |251| 
           NOP             1
RL12:      ; CALL OCCURS                     ; |251| 
           STW     .D2T1   A4,*+DP(_hMcbsp)  ; |251| 
	.line	5
           B       .S1     _ad535_init       ; |253| 
           MVKL    .S2     RL13,B3           ; |253| 
           MVKH    .S2     RL13,B3           ; |253| 
           NOP             3
RL13:      ; CALL OCCURS                     ; |253| 
	.line	6
           LDW     .D2T2   *++SP(8),B3       ; |254| 
           NOP             4
           B       .S2     B3                ; |254| 
           NOP             5
           ; BRANCH OCCURS                   ; |254| 
	.endfunc	254,000080000h,8


	.sect	".text"
	.sym	_enableIntr,_enableIntr, 32, 3, 0
	.func	261

;******************************************************************************
;* FUNCTION NAME: _enableIntr                                                 *
;*                                                                            *
;*   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                    *
;******************************************************************************
_enableIntr:
;** --------------------------------------------------------------------------*
	.sym	_chan,4, 14, 17, 32
	.sym	C$1,0, 24, 4, 32, _drv_state
	.sym	_chan,16, 14, 4, 32
;** 263	-----------------------    C$1 = &chans[chan];
;** 263	-----------------------    if ( !(C$1->running && C$1->currentPtr) ) goto g7;
	.line	2
           MV      .L2X    A4,B0             ; |262| 
	.line	3
           MVK     .S2     44,B5             ; |263| 
           MPYLHU  .M2     B5,B0,B4          ; |263| 
           MPYU    .M2     B5,B0,B5          ; |263| 

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

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

           ADD     .L1X    A0,B4,A0          ; |263| 
           LDHU    .D1T1   *A0,A1            ; |263| 
           NOP             4
   [ A1]   LDW     .D1T1   *+A0(12),A1       ; |263| 
           NOP             4
   [!A1]   B       .S1     L11               ; |263| 
           NOP             5
           ; BRANCH OCCURS                   ; |263| 
;** --------------------------------------------------------------------------*
;** 265	-----------------------    if ( chan ) goto g4;
	.line	5
   [ B0]   B       .S1     L10               ; |265| 
           NOP             5
           ; BRANCH OCCURS                   ; |265| 
;** --------------------------------------------------------------------------*
; >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ENTERING IRQ_Enable()
;** 266	-----------------------    IER |= IRQ_EventTable[15];
; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< LEAVING IRQ_Enable()
; >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ENTERING MCBSP_Rrdy()
; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< LEAVING MCBSP_Rrdy()
;** 267	-----------------------    if ( !(*(hMcbsp->BaseAddr+8)&2u) ) goto g7;
; >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ENTERING IRQ_Set()
;** 268	-----------------------    ISR = IRQ_EventTable[15];
; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< LEAVING IRQ_Set()
;** 268	-----------------------    goto g7;
	.line	6
           MVC     .S2     IER,B4            ; |266| 
           MVKL    .S1     _IRQ_EventTable+60,A0 ; |266| 
           MVKH    .S1     _IRQ_EventTable+60,A0 ; |266| 
           LDW     .D1T1   *A0,A0            ; |266| 
           NOP             4
           OR      .L2X    A0,B4,B4          ; |266| 
           MVC     .S2     B4,IER            ; |266| 
	.line	7
           LDW     .D2T2   *+DP(_hMcbsp),B4  ; |267| 
           NOP             4
           LDW     .D2T2   *+B4(12),B4       ; |267| 
           NOP             4
           LDW     .D2T2   *+B4(8),B4        ; |267| 
           NOP             4
           AND     .L2     2,B4,B0           ; |267| 
	.line	8
   [ B0]   MVKL    .S2     _IRQ_EventTable+60,B4 ; |268| 
   [ B0]   MVKH    .S2     _IRQ_EventTable+60,B4 ; |268| 
   [ B0]   LDW     .D2T2   *B4,B4            ; |268| 
           NOP             4
   [ B0]   MVC     .S2     B4,ISR            ; |268| 
           NOP             1
           B       .S1     L11               ; |268| 
           NOP             5
           ; BRANCH OCCURS                   ; |268| 
;** --------------------------------------------------------------------------*
L10:    
;**	-----------------------g4:
;** 272	-----------------------    if ( chan != 1u ) goto g7;
	.line	12
           CMPEQ   .L2     B0,1,B0           ; |272| 
   [!B0]   B       .S1     L11               ; |272| 
           NOP             5
           ; BRANCH OCCURS                   ; |272| 
;** --------------------------------------------------------------------------*
; >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ENTERING IRQ_Enable()
;** 273	-----------------------    IER |= IRQ_EventTable[14];
; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< LEAVING IRQ_Enable()
; >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ENTERING MCBSP_Xrdy()
; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< LEAVING MCBSP_Xrdy()
;** 274	-----------------------    if ( !(*(hMcbsp->BaseAddr+8)&0x20000u) ) goto g7;
; >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ENTERING IRQ_Set()
;** 275	-----------------------    ISR = IRQ_EventTable[14];
; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< LEAVING IRQ_Set()
;**	-----------------------g7:
;**  	-----------------------    return;
	.line	13
           MVC     .S2     IER,B4            ; |273| 
           MVKL    .S1     _IRQ_EventTable+56,A0 ; |273| 
           MVKH    .S1     _IRQ_EventTable+56,A0 ; |273| 
           LDW     .D1T1   *A0,A0            ; |273| 
           NOP             4
           OR      .L2X    A0,B4,B4          ; |273| 
           MVC     .S2     B4,IER            ; |273| 
	.line	14
           LDW     .D2T2   *+DP(_hMcbsp),B4  ; |274| 
           NOP             4
           LDW     .D2T2   *+B4(12),B4       ; |274| 
           NOP             4
           LDW     .D2T2   *+B4(8),B4        ; |274| 
           NOP             4
           EXTU    .S2     B4,14,31,B0       ; |274| 
	.line	15
   [ B0]   MVKL    .S2     _IRQ_EventTable+56,B4 ; |275| 
   [ B0]   MVKH    .S2     _IRQ_EventTable+56,B4 ; |275| 
   [ B0]   LDW     .D2T2   *B4,B4            ; |275| 
           NOP             4
   [ B0]   MVC     .S2     B4,ISR            ; |275| 
;** --------------------------------------------------------------------------*
L11:    
	.line	20
           B       .S2     B3                ; |280| 
           NOP             5
           ; BRANCH OCCURS                   ; |280| 
	.endfunc	280,000000000h,0


	.sect	".text"
	.sym	_close,_close, 32, 3, 0
	.func	286

;******************************************************************************
;* FUNCTION NAME: _close                                                      *
;*                                                                            *
;*   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 + 0 Auto + 12 Save = 12 byte                  *
;******************************************************************************
_close:
;** --------------------------------------------------------------------------*
	.sym	_chan,4, 14, 17, 32
	.sym	C$1,26, 24, 4, 32, _drv_state
	.sym	_chan,10, 14, 4, 32
;** 288	-----------------------    C$1 = &chans[0];
;** 288	-----------------------    initDrvObj(chan*44+C$1);
;** 290	-----------------------    initDrvObj((chan+2u)*44+C$1);
;** 290	-----------------------    return;
           STW     .D2T2   B10,*SP--(16)     ; |286| 
           STW     .D2T1   A10,*+SP(8)       ; |286| 
           STW     .D2T2   B3,*+SP(12)       ; |286| 
	.line	2
           MV      .L1     A4,A10            ; |287| 
	.line	3
           MVK     .S2     (_chans-$bss),B4  ; |288| 
           ADD     .L2     DP,B4,B10         ; 

           B       .S1     _initDrvObj       ; |288| 
||         MVK     .S2     44,B5             ; |288| 

           MPYLHU  .M2X    B5,A10,B4         ; |288| 
           MPYU    .M1X    B5,A10,A0         ; |288| 
           SHL     .S2     B4,16,B4          ; |288| 

           ADD     .L1X    A0,B4,A0          ; |288| 
||         MVKL    .S2     RL15,B3           ; |288| 

           ADD     .L1X    B10,A0,A4         ; |288| 
||         MVKH    .S2     RL15,B3           ; |288| 

RL15:      ; CALL OCCURS                     ; |288| 
	.line	5
           MVK     .S1     44,A3             ; |290| 

           B       .S1     _initDrvObj       ; |290| 
||         MPYLHU  .M1     A3,A10,A0         ; |290| 

           MPYU    .M1     A3,A10,A3         ; |290| 
           SHL     .S1     A0,16,A0          ; |290| 
           ADD     .L1     A3,A0,A0          ; |290| 

           ADD     .L1X    B10,A0,A0         ; |290| 
||         MVKL    .S2     RL17,B3           ; |290| 

           ADDAW   .D1     A0,22,A4          ; |290| 
||         MVKH    .S2     RL17,B3           ; |290| 

RL17:      ; CALL OCCURS                     ; |290| 
	.line	6
           LDW     .D2T2   *+SP(12),B3       ; |291| 
           LDW     .D2T1   *+SP(8),A10       ; |291| 
           LDW     .D2T2   *++SP(16),B10     ; |291| 
           NOP             2
           B       .S2     B3                ; |291| 
           NOP             5
           ; BRANCH OCCURS                   ; |291| 
	.endfunc	291,004080400h,16


	.sect	".text"
	.sym	_ctrl,_ctrl, 36, 3, 0
	.func	294

;******************************************************************************
;* FUNCTION NAME: _ctrl                                                       *
;*                                                                            *
;*   Regs Modified     : A4                                                   *
;*   Regs Used         : A4,B3                                                *
;*   Local Frame Size  : 0 Args + 0 Auto + 0 Save = 0 byte                    *
;******************************************************************************
_ctrl:
;** --------------------------------------------------------------------------*
	.sym	_chan,4, 14, 17, 32
	.sym	_flag,20, 14, 17, 32
;** 303	-----------------------    return 0;
	.line	10
           ZERO    .L1     A4                ; |303| 
	.line	11
           B       .S2     B3                ; |304| 
           NOP             5
           ; BRANCH OCCURS                   ; |304| 
	.endfunc	304,000000000h,0


	.sect	".text"
	.sym	_getBuf,_getBuf, 96, 3, 0
	.func	307

;******************************************************************************
;* FUNCTION NAME: _getBuf                                                     *
;*                                                                            *
;*   Regs Modified     : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,B0,B1,B2,B3,B4,*
;*                           B5,B6,B7,B8,B9,B10,B11,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,B10,B11,DP,SP                     *
;*   Local Frame Size  : 0 Args + 0 Auto + 20 Save = 20 byte                  *
;******************************************************************************
_getBuf:
;** --------------------------------------------------------------------------*
	.sym	_chan,4, 14, 17, 32
	.sym	_size,20, 20, 17, 32
	.sym	_dataSize,6, 20, 17, 32
	.sym	C$1,20, 24, 4, 32, _drv_state
	.sym	_retVal,11, 16, 4, 32
	.sym	_chan,10, 14, 4, 32
	.sym	_size,26, 20, 4, 32
	.sym	_dataSize,27, 20, 4, 32
;** 311	-----------------------    if ( chan&0xfffffffeu ) goto g2;
           STW     .D2T2   B11,*SP--(24)     ; |307| 
           STW     .D2T1   A10,*+SP(8)       ; |307| 
           STW     .D2T1   A11,*+SP(12)      ; |307| 
           STW     .D2T2   B3,*+SP(16)       ; |307| 
           STW     .D2T2   B10,*+SP(20)      ; |307| 
	.line	2

           MV      .L2X    A6,B11            ; 
||         MV      .S2     B4,B10            ; 
||         MV      .L1     A4,A10            ; 

	.line	5

⌨️ 快捷键说明

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