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

📄 dss.asm

📁 Using DSP/BIOS I/O in Multichannel Systems
💻 ASM
📖 第 1 页 / 共 5 页
字号:
           LDW     .D2T1   *B4,A4            ; |156| 
           NOP             4
RL32:      ; CALL OCCURS                     ; |156| 
           LDW     .D2T2   *+SP(4),B5        ; |156| 
           MV      .L2X    A4,B4             ; 
           MVKL    .S2     RL34,B3           ; |156| 
           MVKH    .S2     RL34,B3           ; |156| 
           B       .S1     _QUE_put          ; |156| 
           LDW     .D2T1   *+B5(4),A4        ; 
           NOP             4
RL34:      ; CALL OCCURS                     ; |156| 
	.line	47
;----------------------------------------------------------------------
; 157 | SEM_post(objptr->sync);                                                
;----------------------------------------------------------------------
           LDW     .D2T2   *+SP(12),B4       ; |157| 
           MVKL    .S2     RL36,B3           ; |157| 
           MVKH    .S2     RL36,B3           ; |157| 
           NOP             1
           B       .S1     _SEM_post         ; |157| 
           LDW     .D2T1   *B4,A4            ; |157| 
           NOP             4
RL36:      ; CALL OCCURS                     ; |157| 
;*----------------------------------------------------------------------------*
;*   SOFTWARE PIPELINE INFORMATION
;*      Disqualified loop: software pipelining disabled
;*----------------------------------------------------------------------------*
L13:    
	.line	48
           LDW     .D2T2   *+SP(4),B4        ; |158| 
           NOP             4
           LDW     .D2T2   *B4,B5            ; |158| 
           LDW     .D2T2   *B4,B4            ; |158| 
           NOP             3
           LDW     .D2T2   *B5,B5            ; |158| 
           NOP             4
           CMPEQ   .L2     B5,B4,B0          ; |158| 
   [!B0]   B       .S1     L12               ; |158| 
           NOP             5
           ; BRANCH OCCURS                   ; |158| 
;** --------------------------------------------------------------------------*
L14:    
	.line	50
;----------------------------------------------------------------------
; 160 | return SYS_OK;                                                         
;----------------------------------------------------------------------
           ZERO    .L1     A4                ; |160| 
	.line	51
           LDW     .D2T2   *++SP(24),B3      ; |161| 
           NOP             4
           B       .S2     B3                ; |161| 
           NOP             5
           ; BRANCH OCCURS                   ; |161| 
	.endfunc	161,000080000h,24


	.sect	".text"
	.global	_DSS_init
	.sym	_DSS_init,_DSS_init, 32, 2, 0
	.func	176
;----------------------------------------------------------------------
; 176 | DSS_init(Void)                                                         
;----------------------------------------------------------------------

;******************************************************************************
;* FUNCTION NAME: _DSS_init                                                   *
;*                                                                            *
;*   Regs Modified     : B4                                                   *
;*   Regs Used         : B3,B4,DP                                             *
;*   Local Frame Size  : 0 Args + 0 Auto + 0 Save = 0 byte                    *
;******************************************************************************
_DSS_init:
;** --------------------------------------------------------------------------*
	.line	3
;----------------------------------------------------------------------
; 178 | inited = FALSE;                                                        
;----------------------------------------------------------------------
           ZERO    .L2     B4                ; |178| 
           STH     .D2T2   B4,*+DP(_inited)  ; |178| 
	.line	4
           B       .S2     B3                ; |179| 
           NOP             5
           ; BRANCH OCCURS                   ; |179| 
	.endfunc	179,000000000h,0


	.sect	".text"
	.global	_DSS_issue
	.sym	_DSS_issue,_DSS_issue, 36, 2, 0
	.func	183
;----------------------------------------------------------------------
; 183 | DSS_issue(DEV_Handle device)                                           
;----------------------------------------------------------------------

;******************************************************************************
;* FUNCTION NAME: _DSS_issue                                                  *
;*                                                                            *
;*   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,SP                                      *
;*   Local Frame Size  : 0 Args + 4 Auto + 4 Save = 8 byte                    *
;******************************************************************************
_DSS_issue:
;** --------------------------------------------------------------------------*
	.sym	_device,4, 24, 17, 32, _DEV_Obj
	.sym	_device,4, 24, 1, 32, _DEV_Obj
           STW     .D2T2   B3,*SP--(8)       ; |183| 
	.line	2
           STW     .D2T1   A4,*+SP(4)        ; |184| 
	.line	3
;----------------------------------------------------------------------
; 185 | if (device->mode == DEV_OUTPUT) {                                      
;----------------------------------------------------------------------
           LDW     .D1T1   *+A4(20),A0       ; |185| 
           NOP             4
           CMPEQ   .L1     A0,1,A1           ; |185| 
   [!A1]   B       .S1     L15               ; |185| 
           NOP             5
           ; BRANCH OCCURS                   ; |185| 
;** --------------------------------------------------------------------------*
	.line	4
;----------------------------------------------------------------------
; 186 | DSS_txPrime(((DSS_Obj *)device->object)->chan, 0);                     
;----------------------------------------------------------------------
           LDW     .D2T2   *+SP(4),B4        ; |186| 
           MVKL    .S2     RL38,B3           ; |186| 
           MVKH    .S2     RL38,B3           ; |186| 
           NOP             2
           LDW     .D2T2   *+B4(32),B4       ; |186| 
           NOP             3
           B       .S1     _DSS_txPrime      ; |186| 
           LDW     .D2T1   *+B4(8),A4        ; 
           ZERO    .L2     B4                ; |186| 
           NOP             3
RL38:      ; CALL OCCURS                     ; |186| 
	.line	5
;----------------------------------------------------------------------
; 187 | } else {                                                               
;----------------------------------------------------------------------
           B       .S1     L16               ; |187| 
           NOP             5
           ; BRANCH OCCURS                   ; |187| 
;** --------------------------------------------------------------------------*
L15:    
	.line	6
;----------------------------------------------------------------------
; 188 | DSS_rxPrime(((DSS_Obj *)device->object)->chan, 0);                     
;----------------------------------------------------------------------
           LDW     .D2T2   *+SP(4),B4        ; |188| 
           MVKL    .S2     RL40,B3           ; |188| 
           MVKH    .S2     RL40,B3           ; |188| 
           NOP             2
           LDW     .D2T2   *+B4(32),B4       ; |188| 
           NOP             3
           B       .S1     _DSS_rxPrime      ; |188| 
           LDW     .D2T1   *+B4(8),A4        ; 
           ZERO    .L2     B4                ; |188| 
           NOP             3
RL40:      ; CALL OCCURS                     ; |188| 
;** --------------------------------------------------------------------------*
L16:    
	.line	9
;----------------------------------------------------------------------
; 191 | return SYS_OK;                                                         
;----------------------------------------------------------------------
           ZERO    .L1     A4                ; |191| 
	.line	10
           LDW     .D2T2   *++SP(8),B3       ; |192| 
           NOP             4
           B       .S2     B3                ; |192| 
           NOP             5
           ; BRANCH OCCURS                   ; |192| 
	.endfunc	192,000080000h,8


	.sect	".text"
	.global	_DSS_open
	.sym	_DSS_open,_DSS_open, 36, 2, 0
	.func	197
;----------------------------------------------------------------------
; 197 | DSS_open(DEV_Handle device, String arg)                                
;----------------------------------------------------------------------

;******************************************************************************
;* FUNCTION NAME: _DSS_open                                                   *
;*                                                                            *
;*   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 + 16 Auto + 4 Save = 20 byte                  *
;******************************************************************************
_DSS_open:
;** --------------------------------------------------------------------------*
	.sym	_device,4, 24, 17, 32, _DEV_Obj
	.sym	_arg,20, 18, 17, 32
	.sym	_device,4, 24, 1, 32, _DEV_Obj
	.sym	_arg,8, 18, 1, 32
	.sym	_objptr,12, 24, 1, 32, _DSS_obj
	.sym	_chan,16, 4, 1, 32
           STW     .D2T2   B3,*SP--(24)      ; |197| 
	.line	2
;----------------------------------------------------------------------
; 199 | DSS_Handle objptr;                                                     
; 200 | int chan;                                                              
;----------------------------------------------------------------------
           STW     .D2T2   B4,*+SP(8)        ; |198| 
           STW     .D2T1   A4,*+SP(4)        ; |198| 
	.line	6
;----------------------------------------------------------------------
; 202 | if (inited == FALSE) {                                                 
;----------------------------------------------------------------------
           LDHU    .D2T2   *+DP(_inited),B0  ; |202| 
           NOP             4
   [ B0]   B       .S1     L17               ; |202| 
           NOP             5
           ; BRANCH OCCURS                   ; |202| 
;** --------------------------------------------------------------------------*
	.line	7
;----------------------------------------------------------------------
; 203 | dss_isr_init();                                                        
;----------------------------------------------------------------------
           B       .S1     _dss_isr_init     ; |203| 
           MVKL    .S2     RL42,B3           ; |203| 
           MVKH    .S2     RL42,B3           ; |203| 
           NOP             3
RL42:      ; CALL OCCURS                     ; |203| 
	.line	8
;----------------------------------------------------------------------
; 204 | inited = TRUE;                                                         
;----------------------------------------------------------------------
           MVK     .S2     1,B4              ; |204| 
           STH     .D2T2   B4,*+DP(_inited)  ; |204| 
;** --------------------------------------------------------------------------*
L17:    
	.line	13
;----------------------------------------------------------------------
; 209 | if (arg[0] == '\0' || arg[1] != '\0') {                                
;----------------------------------------------------------------------
           LDW     .D2T2   *+SP(8),B4        ; |209| 
           NOP             4
           LDB     .D2T2   *B4,B5            ; |209| 
           NOP             4
           CMPEQ   .L2     B5,0,B0           ; |209| 
   [!B0]   LDB     .D2T2   *+B4(1),B4        ; |209| 
           NOP             4
   [!B0]   CMPEQ   .L2     B4,0,B4           ; |209| 
   [!B0]   XOR     .L2     1,B4,B0           ; |209| 
   [!B0]   B       .S1     L21               ; |209| 
           NOP             5
           ; BRANCH OCCURS                   ; |209| 
;** --------------------------------------------------------------------------*
	.line	14
;----------------------------------------------------------------------
; 210 | return SYS_ENODEV;                                                     
;----------------------------------------------------------------------
           B       .S1     L30               ; |210| 
           MVK     .S1     0x3,A4            ; |210| 
           NOP             4
           ; BRANCH OCCURS                   ; |210| 
;** --------------------------------------------------------------------------*
	.line	16
;----------------------------------------------------------------------
; 212 | switch (*arg) {                                                        
; 213 | case '0' :                                                             

⌨️ 快捷键说明

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