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

📄 dss.asm

📁 Using DSP/BIOS I/O in Multichannel Systems
💻 ASM
📖 第 1 页 / 共 3 页
字号:
;** 65	-----------------------    DSS_txPrime(1, (int)calledByIsr);
	.line	14
           B       .S1     _DSS_txPrime      ; |65| 
           MVKL    .S2     RL18,B3           ; |65| 
           MVKH    .S2     RL18,B3           ; |65| 
           MV      .L2     B11,B4            ; 
           MVK     .S1     0x1,A4            ; |65| 
           NOP             1
RL18:      ; CALL OCCURS                     ; |65| 
;** --------------------------------------------------------------------------*
L2:    
;**	-----------------------g4:
;** 67	-----------------------    if ( !(mbox&4) ) goto g6;
	.line	16
           AND     .L2     4,B10,B0          ; |67| 
   [!B0]   B       .S1     L3                ; |67| 
           NOP             5
           ; BRANCH OCCURS                   ; |67| 
;** --------------------------------------------------------------------------*
;** 68	-----------------------    DSS_rxPrime(0, (int)calledByIsr);
	.line	17
           B       .S1     _DSS_rxPrime      ; |68| 
           MVKL    .S2     RL20,B3           ; |68| 
           MVKH    .S2     RL20,B3           ; |68| 
           MV      .L2     B11,B4            ; 
           ZERO    .L1     A4                ; |68| 
           NOP             1
RL20:      ; CALL OCCURS                     ; |68| 
;** --------------------------------------------------------------------------*
L3:    
;**	-----------------------g6:
;** 70	-----------------------    if ( !(mbox&0x8) ) goto g8;
	.line	19
           AND     .L2     8,B10,B0          ; |70| 
   [!B0]   B       .S1     L4                ; |70| 
           NOP             5
           ; BRANCH OCCURS                   ; |70| 
;** --------------------------------------------------------------------------*
;** 71	-----------------------    DSS_rxPrime(1, (int)calledByIsr);
;**	-----------------------g8:
;**  	-----------------------    return;
	.line	20
           B       .S1     _DSS_rxPrime      ; |71| 
           MVKL    .S2     RL22,B3           ; |71| 
           MVKH    .S2     RL22,B3           ; |71| 
           MV      .L2     B11,B4            ; 
           MVK     .S1     0x1,A4            ; |71| 
           NOP             1
RL22:      ; CALL OCCURS                     ; |71| 
;** --------------------------------------------------------------------------*
L4:    
	.line	22
           LDW     .D2T2   *+SP(8),B3        ; |73| 
           LDW     .D2T2   *+SP(12),B10      ; |73| 
           LDW     .D2T2   *++SP(16),B11     ; |73| 
           NOP             2
           B       .S2     B3                ; |73| 
           NOP             5
           ; BRANCH OCCURS                   ; |73| 
	.endfunc	73,00c080000h,16


	.sect	".text"
	.global	_DSS_txPrime
	.sym	_DSS_txPrime,_DSS_txPrime, 32, 2, 0
	.func	80

;******************************************************************************
;* FUNCTION NAME: _DSS_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                  *
;******************************************************************************
_DSS_txPrime:
;** --------------------------------------------------------------------------*
	.sym	_chan,4, 4, 17, 32
	.sym	_calledByIsr,20, 4, 17, 32
	.sym	C$1,0, 24, 4, 32, _PIP_Obj
	.sym	C$2,11, 88, 4, 32, _PIP_Obj
	.sym	_chan,10, 4, 4, 32
	.sym	_calledByIsr,11, 4, 4, 32
;** 82	-----------------------    dss_isr_stop();
;** 84	-----------------------    if ( dss_isr_get_txCnt_n(chan) ) goto g11;
           STW     .D2T2   B3,*SP--(16)      ; |80| 
           STW     .D2T1   A10,*+SP(8)       ; |80| 
           STW     .D2T1   A11,*+SP(12)      ; |80| 
	.line	2

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

	.line	3
           B       .S1     _dss_isr_stop     ; |82| 
           MVKL    .S2     RL24,B3           ; |82| 
           MVKH    .S2     RL24,B3           ; |82| 
           NOP             3
RL24:      ; CALL OCCURS                     ; |82| 
	.line	5
           B       .S1     _dss_isr_get_txCnt_n ; |84| 
           MVKL    .S2     RL26,B3           ; |84| 
           MVKH    .S2     RL26,B3           ; |84| 
           MV      .L1     A10,A4            ; |84| 
           NOP             2
RL26:      ; CALL OCCURS                     ; |84| 
           MV      .L1     A4,A1             ; |84| 
   [ A1]   B       .S1     L9                ; |84| 
           NOP             5
           ; BRANCH OCCURS                   ; |84| 
;** --------------------------------------------------------------------------*
;** 89	-----------------------    if ( !calledByIsr ) goto g6;
	.line	10
           MV      .L1     A11,A1
   [!A1]   B       .S1     L6                ; |89| 
           NOP             5
           ; BRANCH OCCURS                   ; |89| 
;** --------------------------------------------------------------------------*
;** 89	-----------------------    if ( !dss_isr_get_txBuf_n(chan) ) goto g6;
           B       .S1     _dss_isr_get_txBuf_n ; |89| 
           MVKL    .S2     RL28,B3           ; |89| 
           MVKH    .S2     RL28,B3           ; |89| 
           MV      .L1     A10,A4            ; |89| 
           NOP             2
RL28:      ; CALL OCCURS                     ; |89| 
           MV      .L1     A4,A1             ; |89| 
   [!A1]   B       .S1     L6                ; |89| 
           NOP             5
           ; BRANCH OCCURS                   ; |89| 
;** --------------------------------------------------------------------------*
;** 93	-----------------------    if ( TRC_query(49152u) ) goto g5;
	.line	14
           B       .S1     _TRC_query        ; |93| 
           MVKL    .S2     RL30,B3           ; |93| 
           ZERO    .L1     A0                ; |93| 
           MVKH    .S2     RL30,B3           ; |93| 
           SET     .S1     A0,0xe,0xf,A4     ; |93| 
           NOP             1
RL30:      ; CALL OCCURS                     ; |93| 
           MV      .L1     A4,A1             ; |93| 
   [ A1]   B       .S1     L5                ; |93| 
           NOP             5
           ; BRANCH OCCURS                   ; |93| 
;** --------------------------------------------------------------------------*
;** 93	-----------------------    LOG_event(LOG_D_system, (int)txPips[chan], (int)"ISR calling PIP_free for txPip 0x%x", 8);
           MVKL    .S1     _txPips,A0        ; |93| 

           B       .S2     _LOG_event        ; |93| 
||         MVKH    .S1     _txPips,A0        ; |93| 

           LDW     .D1T2   *+A0[A10],B4      ; 
||         LDW     .D2T1   *+DP(_LOG_D_system),A4 ; |93| 
||         MVKL    .S2     SL1+0,B5          ; |93| 

           MVKL    .S2     RL32,B3           ; |93| 
           MVK     .S2     0x8,B6            ; |93| 
           MVKH    .S2     SL1+0,B5          ; |93| 

           MV      .L1X    B5,A6             ; |93| 
||         MVKH    .S2     RL32,B3           ; |93| 

RL32:      ; CALL OCCURS                     ; |93| 
;** --------------------------------------------------------------------------*
L5:    
;**	-----------------------g5:
;** 94	-----------------------    PIP_free(txPips[chan]);
	.line	15
           MVKL    .S1     _txPips,A0        ; |94| 

           B       .S2     _PIP_free         ; |94| 
||         MVKH    .S1     _txPips,A0        ; |94| 

           LDW     .D1T1   *+A0[A10],A4      ; |94| 
           MVKL    .S2     RL34,B3           ; |94| 
           MVKH    .S2     RL34,B3           ; |94| 
           NOP             2
RL34:      ; CALL OCCURS                     ; |94| 
;** --------------------------------------------------------------------------*
L6:    
;**	-----------------------g6:
;** 98	-----------------------    if ( (txPips[chan])->readerNumFrames ) goto g8;
	.line	19
           MVKL    .S1     _txPips,A0        ; |98| 
           MVKH    .S1     _txPips,A0        ; |98| 
           LDW     .D1T1   *+A0[A10],A0      ; |98| 
           NOP             4
           LDW     .D1T1   *+A0(24),A1       ; |98| 
           NOP             4
   [ A1]   B       .S1     L7                ; |98| 
           NOP             5
           ; BRANCH OCCURS                   ; |98| 
;** --------------------------------------------------------------------------*
;** 112	-----------------------    dss_isr_set_txBuf_n(NULL, 0, chan);
;** 112	-----------------------    goto g11;
	.line	33
           B       .S1     _dss_isr_set_txBuf_n ; |112| 
           MVKL    .S2     RL36,B3           ; |112| 
           MVKH    .S2     RL36,B3           ; |112| 
           MV      .L1     A10,A6            ; |112| 
           ZERO    .L2     B4                ; |112| 
           ZERO    .S1     A4                ; |112| 
RL36:      ; CALL OCCURS                     ; |112| 
           B       .S1     L9                ; |112| 
           NOP             5
           ; BRANCH OCCURS                   ; |112| 
;** --------------------------------------------------------------------------*
L7:    
;**	-----------------------g8:
;** 102	-----------------------    if ( TRC_query(49152u) ) goto g10;
	.line	23
           B       .S1     _TRC_query        ; |102| 
           MVKL    .S2     RL38,B3           ; |102| 
           ZERO    .L1     A0                ; |102| 
           MVKH    .S2     RL38,B3           ; |102| 
           SET     .S1     A0,0xe,0xf,A4     ; |102| 
           NOP             1
RL38:      ; CALL OCCURS                     ; |102| 
           MV      .L1     A4,A1             ; |102| 
   [ A1]   B       .S1     L8                ; |102| 
           NOP             5
           ; BRANCH OCCURS                   ; |102| 
;** --------------------------------------------------------------------------*
;** 102	-----------------------    LOG_event(LOG_D_system, (int)txPips[chan], (int)"ISR calling PIP_get for txPip 0x%x", 8);
           MVKL    .S1     _txPips,A0        ; |102| 

           B       .S2     _LOG_event        ; |102| 
||         MVKH    .S1     _txPips,A0        ; |102| 

           LDW     .D1T2   *+A0[A10],B4      ; 
||         LDW     .D2T1   *+DP(_LOG_D_system),A4 ; |102| 
||         MVKL    .S2     SL2+0,B5          ; |102| 

           MVKL    .S2     RL40,B3           ; |102| 
           MVK     .S2     0x8,B6            ; |102| 
           MVKH    .S2     SL2+0,B5          ; |102| 

           MV      .L1X    B5,A6             ; |102| 
||         MVKH    .S2     RL40,B3           ; |102| 

RL40:      ; CALL OCCURS                     ; |102| 
;** --------------------------------------------------------------------------*
L8:    
;**	-----------------------g10:
;** 103	-----------------------    C$2 = &txPips[0];
;** 103	-----------------------    PIP_get(C$2[chan]);
;** 104	-----------------------    C$1 = C$2[chan];
;** 104	-----------------------    dss_isr_set_txBuf_n(C$1->readerAddr, (int)(C$1->readerSize*2u), chan);
	.line	24
           MVKL    .S1     _txPips,A11       ; |103| 
           MVKH    .S1     _txPips,A11       ; |103| 
           B       .S1     _PIP_get          ; |103| 
           LDW     .D1T1   *+A11[A10],A4     ; |103| 
           MVKL    .S2     RL42,B3           ; |103| 
           MVKH    .S2     RL42,B3           ; |103| 
           NOP             2
RL42:      ; CALL OCCURS                     ; |103| 
	.line	25
           LDW     .D1T1   *+A11[A10],A0     ; |104| 
           NOP             4
           LDW     .D1T1   *+A0(12),A3       ; |104| 
           B       .S1     _dss_isr_set_txBuf_n ; |104| 
           LDW     .D1T1   *+A0(8),A4        ; 
           MVKL    .S2     RL44,B3           ; |104| 
           MVKH    .S2     RL44,B3           ; |104| 
           SHL     .S1     A3,1,A0           ; |104| 

           MV      .L2X    A0,B4             ; |104| 
||         MV      .L1     A10,A6            ; |104| 

RL44:      ; CALL OCCURS                     ; |104| 
;** --------------------------------------------------------------------------*
L9:    
;**	-----------------------g11:
;** 120	-----------------------    dss_isr_start();
;** 120	-----------------------    return;
	.line	41
           B       .S1     _dss_isr_start    ; |120| 
           MVKL    .S2     RL46,B3           ; |120| 
           MVKH    .S2     RL46,B3           ; |120| 

⌨️ 快捷键说明

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