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

📄 pip_lio.asm

📁 Using DSP/BIOS I/O in Multichannel Systems
💻 ASM
📖 第 1 页 / 共 3 页
字号:
           MVK     .S1     0x1,A4            ; |100| 
           NOP             1
           LDW     .D1T2   *+A0(32),B4       ; |100| 
           NOP             4
           B       .S2     B4                ; |100| 
           NOP             5
RL9:       ; CALL OCCURS                     ; |100| 
	.line	15
           LDW     .D2T1   *+DP(_drv),A0     ; |101| 
           MVKL    .S2     RL10,B3           ; |101| 
           MVKH    .S2     RL10,B3           ; |101| 
           MVK     .S1     0x2,A4            ; |101| 
           NOP             1
           LDW     .D1T1   *+A0(32),A0       ; |101| 
           NOP             4
           B       .S2X    A0                ; |101| 
           NOP             5
RL10:      ; CALL OCCURS                     ; |101| 
;** --------------------------------------------------------------------------*
;** 102	-----------------------    (*drv->start)(3u);
;** 102	-----------------------    return;
	.line	16
           LDW     .D2T2   *+DP(_drv),B4     ; |102| 
           MVKL    .S2     RL11,B3           ; |102| 
           MVKH    .S2     RL11,B3           ; |102| 
           MVK     .S1     0x3,A4            ; |102| 
           NOP             1
           LDW     .D2T2   *+B4(32),B4       ; |102| 
           NOP             4
           B       .S2     B4                ; |102| 
           NOP             5
RL11:      ; CALL OCCURS                     ; |102| 
	.line	22
           LDW     .D2T2   *+SP(12),B3       ; |108| 
           LDW     .D2T1   *+SP(8),A10       ; |108| 
           LDW     .D2T2   *++SP(16),B10     ; |108| 
           NOP             2
           B       .S2     B3                ; |108| 
           NOP             5
           ; BRANCH OCCURS                   ; |108| 
	.endfunc	108,004080400h,16


	.sym	_Arg, 0, 4, 13, 32
	.sect	".text"
	.global	_PIP_LIO_txPump
	.sym	_PIP_LIO_txPump,_PIP_LIO_txPump, 32, 2, 0
	.func	112

;******************************************************************************
;* FUNCTION NAME: _PIP_LIO_txPump                                             *
;*                                                                            *
;*   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_txPump:
;** --------------------------------------------------------------------------*
	.sym	_chan,4, 14, 17, 32
	.sym	_parg,20, 4, 17, 32
	.sym	_chan,11, 14, 4, 32
	.sym	_parg,10, 4, 4, 32
;** 116	-----------------------    if ( !(*drv->getBuf)(chan, NULL, NULL) ) goto g2;
           STW     .D2T2   B3,*SP--(16)      ; |112| 
           STW     .D2T1   A10,*+SP(8)       ; |112| 
           STW     .D2T1   A11,*+SP(12)      ; |112| 
	.line	2

           MV      .L1     A4,A11            ; 
||         MV      .S1X    B4,A10            ; 

	.line	5
           LDW     .D2T2   *+DP(_drv),B4     ; |116| 
           MVKL    .S2     RL12,B3           ; |116| 
           MVKH    .S2     RL12,B3           ; |116| 
           ZERO    .L1     A6                ; |116| 
           NOP             1
           LDW     .D2T2   *+B4(8),B5        ; |116| 
           ZERO    .L2     B4                ; |116| 
           NOP             3
           B       .S2     B5                ; |116| 
           NOP             5
RL12:      ; CALL OCCURS                     ; |116| 
           MV      .L1     A4,A1             ; |116| 
   [!A1]   B       .S1     L1                ; |116| 
           NOP             5
           ; BRANCH OCCURS                   ; |116| 
;** --------------------------------------------------------------------------*
;** 117	-----------------------    PIP_free((struct _PIP_Obj *)parg);
;** 119	-----------------------    PIP_LIO_txPrime((int)chan, (struct _PIP_Obj *)parg);
;**	-----------------------g2:
;**  	-----------------------    return;
	.line	6
           B       .S1     _PIP_free         ; |117| 
           MVKL    .S2     RL13,B3           ; |117| 
           MVKH    .S2     RL13,B3           ; |117| 
           MV      .L1     A10,A4            ; |117| 
           NOP             2
RL13:      ; CALL OCCURS                     ; |117| 
	.line	8
           B       .S1     _PIP_LIO_txPrime  ; |119| 
           MVKL    .S2     RL15,B3           ; |119| 
           MV      .L1     A11,A4            ; 
           MVKH    .S2     RL15,B3           ; |119| 
           MV      .L2X    A10,B4            ; 
           NOP             1
RL15:      ; CALL OCCURS                     ; |119| 
;** --------------------------------------------------------------------------*
L1:    
	.line	11
           LDW     .D2T1   *+SP(12),A11      ; |122| 
           LDW     .D2T1   *+SP(8),A10       ; |122| 
           LDW     .D2T2   *++SP(16),B3      ; |122| 
           NOP             4
           B       .S2     B3                ; |122| 
           NOP             5
           ; BRANCH OCCURS                   ; |122| 
	.endfunc	122,000080c00h,16



	.sect	".cinit:c"
	.align	4
	.field  	0,32			; _nested$1 @ 0

	.sect	".text"
	.sect	".text"
	.global	_PIP_LIO_txPrime
	.sym	_PIP_LIO_txPrime,_PIP_LIO_txPrime, 32, 2, 0
	.func	129

;******************************************************************************
;* FUNCTION NAME: _PIP_LIO_txPrime                                            *
;*                                                                            *
;*   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_txPrime:
;** --------------------------------------------------------------------------*
	.sym	_chan,4, 4, 17, 32
	.sym	_pip,20, 24, 17, 32, _PIP_Obj
_nested$1:	.usect	".bss:c",4,4
	.sym	_nested,_nested$1, 4, 3, 32
	.sym	_chan,11, 4, 4, 32
	.sym	_pip,10, 24, 4, 32, _PIP_Obj
;** 133	-----------------------    if ( nested ) goto g5;
           STW     .D2T2   B3,*SP--(16)      ; |129| 
           STW     .D2T1   A10,*+SP(8)       ; |129| 
           STW     .D2T1   A11,*+SP(12)      ; |129| 
	.line	2

           MV      .L1     A4,A11            ; 
||         MV      .S1X    B4,A10            ; 

	.line	5
           LDW     .D2T2   *+DP(_nested$1),B0 ; |133| 
           NOP             4
   [ B0]   B       .S1     L4                ; |133| 
           NOP             5
           ; BRANCH OCCURS                   ; |133| 
;** --------------------------------------------------------------------------*
;** 135	-----------------------    nested = 1;
;** 145	-----------------------    HWI_disable();
;** 147	-----------------------    if ( (*drv->isEmpty)((unsigned)chan) && pip->readerNumFrames ) goto g3;
	.line	7
           MVK     .S1     1,A0              ; |135| 
           STW     .D2T1   A0,*+DP(_nested$1) ; |135| 
	.line	17
           B       .S1     _HWI_disable      ; |145| 
           MVKL    .S2     RL17,B3           ; |145| 
           MVKH    .S2     RL17,B3           ; |145| 
           NOP             3
RL17:      ; CALL OCCURS                     ; |145| 
	.line	19
           LDW     .D2T2   *+DP(_drv),B4     ; |147| 
           MVKL    .S2     RL19,B3           ; |147| 
           MVKH    .S2     RL19,B3           ; |147| 
           MV      .L1     A11,A4            ; |147| 
           NOP             1
           LDW     .D2T2   *+B4(16),B4       ; |147| 
           NOP             4
           B       .S2     B4                ; |147| 
           NOP             5
RL19:      ; CALL OCCURS                     ; |147| 
           MV      .L1     A4,A2             ; 
   [ A2]   LDW     .D1T1   *+A10(24),A4      ; |147| 
           NOP             4
           MV      .L1     A4,A1             ; |147| 
   [ A1]   B       .S1     L2                ; |147| 
           NOP             5
           ; BRANCH OCCURS                   ; |147| 
;** --------------------------------------------------------------------------*
;** 155	-----------------------    HWI_enable();
;** 155	-----------------------    goto g4;
	.line	27
           B       .S1     _HWI_enable       ; |155| 
           MVKL    .S2     RL20,B3           ; |155| 
           MVKH    .S2     RL20,B3           ; |155| 
           NOP             3
RL20:      ; CALL OCCURS                     ; |155| 
           B       .S1     L3                ; |155| 
           NOP             5
           ; BRANCH OCCURS                   ; |155| 
;** --------------------------------------------------------------------------*
L2:    
;**	-----------------------g3:
;** 148	-----------------------    HWI_enable();
;** 150	-----------------------    PIP_get(pip);
;** 151	-----------------------    (*drv->setBuf)((unsigned)chan, pip->readerAddr, pip->readerSize*4u);
	.line	20
           B       .S1     _HWI_enable       ; |148| 
           MVKL    .S2     RL22,B3           ; |148| 
           MVKH    .S2     RL22,B3           ; |148| 
           NOP             3
RL22:      ; CALL OCCURS                     ; |148| 
	.line	22
           B       .S1     _PIP_get          ; |150| 
           MVKL    .S2     RL24,B3           ; |150| 
           MVKH    .S2     RL24,B3           ; |150| 
           MV      .L1     A10,A4            ; |150| 
           NOP             2
RL24:      ; CALL OCCURS                     ; |150| 
	.line	23
           LDW     .D2T2   *+DP(_drv),B4     ; |151| 
           LDW     .D1T1   *+A10(12),A0      ; |151| 
           MVKL    .S2     RL26,B3           ; |151| 
           MV      .L1     A11,A4            ; 
           MVKH    .S2     RL26,B3           ; |151| 
           LDW     .D2T2   *+B4(24),B5       ; |151| 
           LDW     .D1T2   *+A10(8),B4       ; 
           SHL     .S1     A0,2,A6           ; |151| 
           NOP             2
           B       .S2     B5                ; |151| 
           NOP             5
RL26:      ; CALL OCCURS                     ; |151| 
;** --------------------------------------------------------------------------*
L3:    
;**	-----------------------g4:
;** 158	-----------------------    nested = 0;
;**	-----------------------g5:
;**  	-----------------------    return;
	.line	30
           ZERO    .L2     B4                ; |158| 
           STW     .D2T2   B4,*+DP(_nested$1) ; |158| 
;** --------------------------------------------------------------------------*
L4:    
	.line	31
           LDW     .D2T1   *+SP(12),A11      ; |159| 
           LDW     .D2T1   *+SP(8),A10       ; |159| 
           LDW     .D2T2   *++SP(16),B3      ; |159| 
           NOP             4
           B       .S2     B3                ; |159| 
           NOP             5
           ; BRANCH OCCURS                   ; |159| 
	.endfunc	159,000080c00h,16

⌨️ 快捷键说明

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