home *** CD-ROM | disk | FTP | other *** search
/ HAM Radio 1 / HamRadio.cdr / misc / tcpipsrc / ohsvec.asm < prev    next >
Assembly Source File  |  1990-02-15  |  667b  |  40 lines

  1.     .MODEL    MEMMOD,C
  2.     LOCALS
  3.     %MACS
  4.     .LALL
  5.  
  6.     extrn    Stktop,Spsave,Sssave,hsint:proc,doret:proc,eoi:proc
  7.  
  8.     .CODE
  9. dbase    dw    @Data        ; save loc for ds (must be in code segment)
  10.  
  11. ; hs0vec - high speed modem #0 interrupt handler
  12.     public    hs0vec
  13.     label    hs0vec    far
  14.     push    ds        ; save on user stack
  15.     mov    ds,cs:dbase    ; establish interrupt data segment
  16.  
  17.     mov    Sssave,ss    ; stash user stack context
  18.     mov    Spsave,sp
  19.  
  20.     mov    ss,cs:dbase
  21.     lea    sp,Stktop
  22.  
  23.     push    ax        ; save user regs on interrupt stack
  24.     push    bx
  25.     push    cx
  26.     push    dx
  27.     push    bp
  28.     push    si
  29.     push    di
  30.     push    es
  31.     call    eoi
  32.  
  33.     mov    ax,0        ; arg for service routine
  34.     push    ax
  35.     call    hsint
  36.     pop    ax
  37.     jmp    doret
  38.  
  39.     end
  40.