home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / dtx9302 / ctrick / go_int.asm < prev    next >
Encoding:
Assembly Source File  |  1993-03-05  |  1.4 KB  |  47 lines

  1. ;* ******************************************************* *
  2. ;*                     GO_INT.ASM                          *
  3. ;*             (c) 1993 Holger Suhr & DMV                  *
  4. ;* ******************************************************* *
  5.  
  6. ;* ******************************************************* *
  7. ;*  Aufruf eines Folgeinterrupts                           *
  8. ;*                                                         *
  9. ;*  Wiederherstellung aller Register --                    *
  10. ;*  Daher nur aus einer C-Interruptfunktionen aufrufbar    *
  11. ;*  es erfolgt ein JMP... daher KEINE Rückkehr hierher     *
  12.  
  13. _TEXT   segment byte public 'CODE'
  14.     assume  cs:_TEXT
  15.  
  16. old  dd ?
  17.  
  18. _go_int proc    near
  19.     pop     ax               ; Returnadresse für go_int()
  20.     pop     word ptr [old]   ; Übergabe-parameter
  21.     pop     word ptr [old+2] ; Übergabe-parameter
  22.  
  23.     mov     sp,bp           ; Lokale Deklarationen verwerfen
  24.     mov     ax,[bp+22]
  25.     push    ax
  26.     popf
  27.     pop     bp               ; Register restaurieren
  28.     pop     di
  29.     pop     si
  30.     pop     ds
  31.     pop     es
  32.     pop     dx
  33.     pop     cx
  34.     pop     bx
  35.     pop     ax
  36.  
  37.     jmp     dword ptr [old]  ; Sprung zur Interrupt-Funktion
  38.  
  39. _go_int endp
  40. _TEXT   ends
  41.     public  _go_int
  42.     end
  43. ;* ******************************************************* *
  44. ;*                Ende von GO_INT.ASM                      *
  45.  
  46.  
  47.