home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1987 / 09 / dskcache / callint.inc < prev    next >
Encoding:
Text File  |  1987-06-29  |  1.9 KB  |  30 lines

  1. (* ----------------------------------------------------------------------- *)
  2. (*                             CALLINT.INC                                 *)
  3. (* Code, um aus einer von BEGININT.INC eingeleiteten TURBO-Interrupt-
  4.    Routine in die urspruengliche Interrupt-Routine zu  gelangen. Nach Ab-
  5.    schluss dieser gelangt man in die rufende Routine zurueck.
  6.    Die Adresse der aufzurufenden, urspruenglichen Routine wird nach der
  7.    Include-Anweisung angegeben.
  8.    CALLINT.INC darf nur unmittelbar in der TURBO-Interrupt-Routine aufgeru-
  9.    fen werden.
  10.    Als naechstes muss der unter CALLINTE.INC zu findende INLINE-Befehl aus-
  11.    gefuehrt werden.
  12.    Die Adresse der aufzurufenden Routine muss vom Typ IntEntry_ sein.
  13.    Sie muss als Konstante deklariert sein.  !!!
  14.    Sie kann durch IntGet ermittelt werden .                                *)
  15.  
  16.    INLINE (
  17.      $FA/            {       CLI              ; Routine wird ununterbrechbar}
  18.      $1F/            {       POP DS           ; Registerinhalte             }
  19.      $07/            {       POP ES           ;   wiederherstellen          }
  20.      $5E/            {       POP SI           ;         .                   }
  21.      $5F/            {       POP DI           ;         .                   }
  22.      $5A/            {       POP DX           ;         .                   }
  23.      $59/            {       POP CX           ;         .                   }
  24.      $5B/            {       POP BX           ;         .                   }
  25.      $58/            {       POP AX           ;         .                   }
  26.      $9C/            {       PUSHF            ; PushFlags                   }
  27.      $2E/$FF/$1E/    {       CALL CS: ...     ; Aufruf der alten Routine    }
  28. (* ----------------------------------------------------------------------- *)
  29. (*                          Ende CALLINT.INC                               *)
  30.