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

📄 dss_isr.asm

📁 Using DSP/BIOS I/O in Multichannel Systems
💻 ASM
📖 第 1 页 / 共 2 页
字号:

	.sect	".text"
	.global	_dss_isr_set_txBuf_n
	.sym	_dss_isr_set_txBuf_n,_dss_isr_set_txBuf_n, 32, 2, 0
	.func	122

;******************************************************************************
;* FUNCTION NAME: _dss_isr_set_txBuf_n                                        *
;*                                                                            *
;*   Regs Modified     : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,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,B0,B1,B2,B3,B4,B5, *
;*                           B6,B7,B8,B9,B10,B11,DP,SP                        *
;*   Local Frame Size  : 0 Args + 0 Auto + 16 Save = 16 byte                  *
;******************************************************************************
_dss_isr_set_txBuf_n:
;** --------------------------------------------------------------------------*
	.sym	_ptr,4, 29, 17, 32
	.sym	_size,20, 4, 17, 32
	.sym	_chan,6, 4, 17, 32
	.sym	_ptr,27, 29, 4, 32
	.sym	_size,26, 4, 4, 32
	.sym	_chan,10, 4, 4, 32
;** 129	-----------------------    if ( chan ) goto g3;
           STW     .D2T2   B11,*SP--(16)     ; |122| 
           STW     .D2T1   A10,*+SP(4)       ; |122| 
           STW     .D2T2   B3,*+SP(8)        ; |122| 
           STW     .D2T2   B10,*+SP(12)      ; |122| 
	.line	2

           MV      .L2X    A4,B11            ; 
||         MV      .S2     B4,B10            ; 

	.line	8
           MV      .L1     A6,A1             ; 
   [ A1]   B       .S1     L3                ; |129| 
           MV      .L1     A6,A10            ; 
           NOP             4
           ; BRANCH OCCURS                   ; |129| 
;** --------------------------------------------------------------------------*
;** 130	-----------------------    if ( TRC_query(49152u) ) goto g5;
	.line	9
           B       .S1     _TRC_query        ; |130| 
           MVKL    .S2     RL10,B3           ; |130| 
           ZERO    .L1     A0                ; |130| 
           MVKH    .S2     RL10,B3           ; |130| 
           SET     .S1     A0,0xe,0xf,A4     ; |130| 
           NOP             1
RL10:      ; CALL OCCURS                     ; |130| 
           MV      .L1     A4,A1             ; |130| 
   [ A1]   B       .S1     L4                ; |130| 
           NOP             5
           ; BRANCH OCCURS                   ; |130| 
;** --------------------------------------------------------------------------*
;** 130	-----------------------    LOG_event(LOG_D_system, size, (int)"Setting tx buffer for channel 0, size %d", 8);
;** 130	-----------------------    goto g5;
           B       .S1     _LOG_event        ; |130| 
           LDW     .D2T1   *+DP(_LOG_D_system),A4 ; |130| 
           MVKL    .S2     RL12,B3           ; |130| 
           MVK     .S2     0x8,B6            ; |130| 
           MVKL    .S1     SL3+0,A6          ; |130| 

           MVKH    .S1     SL3+0,A6          ; |130| 
||         MVKH    .S2     RL12,B3           ; |130| 
||         MV      .L2     B10,B4            ; |130| 

RL12:      ; CALL OCCURS                     ; |130| 
           B       .S1     L4                ; |130| 
           NOP             5
           ; BRANCH OCCURS                   ; |130| 
;** --------------------------------------------------------------------------*
L3:    
;**	-----------------------g3:
;** 133	-----------------------    if ( TRC_query(49152u) ) goto g5;
	.line	12
           B       .S1     _TRC_query        ; |133| 
           MVKL    .S2     RL14,B3           ; |133| 
           ZERO    .L1     A0                ; |133| 
           MVKH    .S2     RL14,B3           ; |133| 
           SET     .S1     A0,0xe,0xf,A4     ; |133| 
           NOP             1
RL14:      ; CALL OCCURS                     ; |133| 
           MV      .L1     A4,A1             ; |133| 
   [ A1]   B       .S1     L4                ; |133| 
           NOP             5
           ; BRANCH OCCURS                   ; |133| 
;** --------------------------------------------------------------------------*
;** 133	-----------------------    LOG_event(LOG_D_system, size, (int)"Setting tx buffer for channel 1, size %d", 8);
           B       .S1     _LOG_event        ; |133| 
           LDW     .D2T1   *+DP(_LOG_D_system),A4 ; |133| 
           MVKL    .S2     RL16,B3           ; |133| 
           MVK     .S2     0x8,B6            ; |133| 
           MVKL    .S1     SL4+0,A6          ; |133| 

           MVKH    .S1     SL4+0,A6          ; |133| 
||         MVKH    .S2     RL16,B3           ; |133| 
||         MV      .L2     B10,B4            ; |133| 

RL16:      ; CALL OCCURS                     ; |133| 
;** --------------------------------------------------------------------------*
L4:    
;**	-----------------------g5:
;** 136	-----------------------    txBuf[chan] = ptr;
;** 137	-----------------------    dss_isr_txPtr[chan] = ptr;
;** 138	-----------------------    dss_isr_txCnt[chan] = size;
;** 138	-----------------------    return;
	.line	15
           MVK     .S2     (_txBuf-$bss),B5  ; |136| 

           ADD     .L2     DP,B5,B5          ; |136| 
||         MV      .S2X    A10,B4            ; |136| 

           STW     .D2T2   B11,*+B5[B4]      ; |136| 
	.line	16
           MVK     .S2     (_dss_isr_txPtr-$bss),B5 ; |137| 
           ADD     .L2     DP,B5,B5          ; |137| 
           STW     .D2T2   B11,*+B5[B4]      ; |137| 
	.line	17
           MVK     .S2     (_dss_isr_txCnt-$bss),B5 ; |138| 
           ADD     .L2     DP,B5,B5          ; |138| 
           STW     .D2T2   B10,*+B5[B4]      ; |138| 
	.line	18
           LDW     .D2T2   *+SP(8),B3        ; |139| 
           LDW     .D2T1   *+SP(4),A10       ; |139| 
           LDW     .D2T2   *+SP(12),B10      ; |139| 
           LDW     .D2T2   *++SP(16),B11     ; |139| 
           NOP             1
           B       .S2     B3                ; |139| 
           NOP             5
           ; BRANCH OCCURS                   ; |139| 
	.endfunc	139,00c080400h,16


	.sect	".text"
	.global	_dss_isr_get_txBuf_n
	.sym	_dss_isr_get_txBuf_n,_dss_isr_get_txBuf_n, 109, 2, 0
	.func	142

;******************************************************************************
;* FUNCTION NAME: _dss_isr_get_txBuf_n                                        *
;*                                                                            *
;*   Regs Modified     : A4,B4,B5                                             *
;*   Regs Used         : A4,B3,B4,B5,DP                                       *
;*   Local Frame Size  : 0 Args + 0 Auto + 0 Save = 0 byte                    *
;******************************************************************************
_dss_isr_get_txBuf_n:
;** --------------------------------------------------------------------------*
	.sym	_chan,4, 4, 17, 32
	.sym	_chan,21, 4, 4, 32
;** 144	-----------------------    return txBuf[chan];
	.line	2
           MV      .L2X    A4,B5             ; |143| 
	.line	3
           MVK     .S2     (_txBuf-$bss),B4  ; |144| 
           ADD     .L2     DP,B4,B4          ; |144| 
           LDW     .D2T1   *+B4[B5],A4       ; |144| 
	.line	4
           B       .S2     B3                ; |145| 
           NOP             5
           ; BRANCH OCCURS                   ; |145| 
	.endfunc	145,000000000h,0


	.sect	".text"
	.global	_dss_isr_get_rxCnt_n
	.sym	_dss_isr_get_rxCnt_n,_dss_isr_get_rxCnt_n, 36, 2, 0
	.func	148

;******************************************************************************
;* FUNCTION NAME: _dss_isr_get_rxCnt_n                                        *
;*                                                                            *
;*   Regs Modified     : A4,B4,B5                                             *
;*   Regs Used         : A4,B3,B4,B5,DP                                       *
;*   Local Frame Size  : 0 Args + 0 Auto + 0 Save = 0 byte                    *
;******************************************************************************
_dss_isr_get_rxCnt_n:
;** --------------------------------------------------------------------------*
	.sym	_chan,4, 4, 17, 32
	.sym	_chan,21, 4, 4, 32
;** 150	-----------------------    return dss_isr_rxCnt[chan];
	.line	2
           MV      .L2X    A4,B5             ; |149| 
	.line	3
           MVK     .S2     (_dss_isr_rxCnt-$bss),B4 ; |150| 
           ADD     .L2     DP,B4,B4          ; |150| 
           LDW     .D2T1   *+B4[B5],A4       ; |150| 
	.line	4
           B       .S2     B3                ; |151| 
           NOP             5
           ; BRANCH OCCURS                   ; |151| 
	.endfunc	151,000000000h,0


	.sect	".text"
	.global	_dss_isr_get_txCnt_n
	.sym	_dss_isr_get_txCnt_n,_dss_isr_get_txCnt_n, 36, 2, 0
	.func	154

;******************************************************************************
;* FUNCTION NAME: _dss_isr_get_txCnt_n                                        *
;*                                                                            *
;*   Regs Modified     : A4,B4,B5                                             *
;*   Regs Used         : A4,B3,B4,B5,DP                                       *
;*   Local Frame Size  : 0 Args + 0 Auto + 0 Save = 0 byte                    *
;******************************************************************************
_dss_isr_get_txCnt_n:
;** --------------------------------------------------------------------------*
	.sym	_chan,4, 4, 17, 32
	.sym	_chan,21, 4, 4, 32
;** 156	-----------------------    return dss_isr_txCnt[chan];
	.line	2
           MV      .L2X    A4,B5             ; |155| 
	.line	3
           MVK     .S2     (_dss_isr_txCnt-$bss),B4 ; |156| 
           ADD     .L2     DP,B4,B4          ; |156| 
           LDW     .D2T1   *+B4[B5],A4       ; |156| 
	.line	4
           B       .S2     B3                ; |157| 
           NOP             5
           ; BRANCH OCCURS                   ; |157| 
	.endfunc	157,000000000h,0


	.sect	".text"
	.global	_dss_isr_set_swi_n
	.sym	_dss_isr_set_swi_n,_dss_isr_set_swi_n, 32, 2, 0
	.func	160

;******************************************************************************
;* FUNCTION NAME: _dss_isr_set_swi_n                                          *
;*                                                                            *
;*   Regs Modified     : A0,A3                                                *
;*   Regs Used         : A0,A3,A4,B3,B4                                       *
;*   Local Frame Size  : 0 Args + 0 Auto + 0 Save = 0 byte                    *
;******************************************************************************
_dss_isr_set_swi_n:
;** --------------------------------------------------------------------------*
	.sym	_swi,4, 24, 17, 32, _SWI_Obj
	.sym	_chan,20, 4, 17, 32
	.sym	_swi,4, 24, 4, 32, _SWI_Obj
	.sym	_chan,3, 4, 4, 32
;** 162	-----------------------    dss_isr_swi[chan] = swi;
;** 162	-----------------------    return;
	.line	2
           MV      .L1X    B4,A3             ; 
	.line	3
           MVKL    .S1     _dss_isr_swi,A0   ; |162| 
           MVKH    .S1     _dss_isr_swi,A0   ; |162| 
           STW     .D1T1   A4,*+A0[A3]       ; |162| 
	.line	4
           B       .S2     B3                ; |163| 
           NOP             5
           ; BRANCH OCCURS                   ; |163| 
	.endfunc	163,000000000h,0


;******************************************************************************
;* STRINGS                                                                    *
;******************************************************************************
	.sect	".const"
SL1:	.string	"Setting rx buffer for channel 0, size %d",0
SL2:	.string	"Setting rx buffer for channel 1, size %d",0
SL3:	.string	"Setting tx buffer for channel 0, size %d",0
SL4:	.string	"Setting tx buffer for channel 1, size %d",0
;******************************************************************************
;* UNDEFINED EXTERNAL REFERENCES                                              *
;******************************************************************************
	.global	_TRC_query
	.global	_LOG_event
	.global	_dss_isr_init_platform
	.global	_LOG_D_system

⌨️ 快捷键说明

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