home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / ddrivers.zip / SERIAL / DRVSTART.LST < prev    next >
File List  |  1992-07-06  |  2KB  |  72 lines

  1. Microsoft (R) Macro Assembler Version 6.00                 07/06/92 14:13:49
  2. drvstart.asm                             Page 1 - 1
  3.  
  4.  
  5.                 ;    C startup routine, one device
  6.                 ;
  7.                         EXTRN   _main:near
  8.                         EXTRN   _interrupt_handler:near
  9.                         EXTRN   _timer_handler:near
  10.                         PUBLIC    _STRAT
  11.                         PUBLIC  _TIM_HNDLR
  12.                         PUBLIC  _INT_HNDLR
  13.                         PUBLIC    __acrtused
  14.  
  15.  0000                _DATA    segment word public 'DATA'
  16.  0000                _DATA    ends
  17.  
  18.  0000                CONST    segment word public 'CONST'
  19.  0000                CONST    ends
  20.  
  21.  0000                _BSS    segment word public 'BSS'
  22.  0000                _BSS    ends
  23.  
  24.                 DGROUP    group CONST,_BSS,_DATA
  25.  
  26.  0000                _TEXT    segment word public 'CODE'
  27.                      assume cs:_TEXT,ds:DGROUP,es:NOTHING,ss:NOTHING
  28.                     .286P
  29.                 ;
  30.  0000                _STRAT    proc    far
  31.  0000                __acrtused:            ;no startup code
  32.                 ;
  33.  0000  6A 00                push    0
  34.  0002  EB 00                jmp    start        ;signal device 0
  35.                 ;
  36.  0004                start:
  37.  0004  06                push    es        ;send Request Packet address
  38.  0005  53                push    bx
  39.  0006  E8 0000 E            call    _main        ;call driver mainline
  40.  0009  5B                pop    bx        ;restore es:bx
  41.  000A  07                pop    es
  42.  000B  83 C4 02                add    sp,2        ;clean up stack
  43.  000E  26: 89 47 03            mov    word ptr es:[bx+3],ax ;send completion status
  44.  0012  CB                ret
  45.                 ;
  46.  0013                _STRAT    endp
  47.                 ;
  48.  0013                _INT_HNDLR proc    far
  49.                 ;
  50.  0013  E8 0000 E            call    _interrupt_handler ;handle rupts
  51.  0016  CB                ret            ;bail out
  52.                 ;
  53.  0017                _INT_HNDLR    endp
  54.                 ;
  55.  0017                _TIM_HNDLR    proc    far
  56.                 ;
  57.  0017  60                pusha
  58.  0018  06                push    es
  59.  0019  1E                push    ds
  60.  001A  E8 0000 E            call    _timer_handler
  61.  001D  1F                pop    ds
  62.  001E  07                pop    es
  63.  001F  61                popa
  64.  0020  CB                ret
  65.                 ;
  66.  0021                _TIM_HNDLR     endp
  67.  
  68.  0021                _TEXT    ends
  69.                     end
  70.  
  71.  
  72.