home *** CD-ROM | disk | FTP | other *** search
/ The Pier Shareware 6 / The_Pier_Shareware_Number_6_(The_Pier_Exchange)_(1995).iso / 024 / psi110g.zip / EAGLEVEC.ASM < prev    next >
Assembly Source File  |  1993-09-16  |  919b  |  44 lines

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