home *** CD-ROM | disk | FTP | other *** search
- (* ---------------------------------- *)
- (* BEGININT.INC *)
- (* Inline-Anweisung zum Beginn der *)
- (* Interrupt-Routine *)
- (* ---------------------------------- *)
-
- TYPE
- PgmRegs_=
- RECORD CASE Integer OF
- 1: (PgmDs, PgmEs, PgmSi, PgmDi,
- PgmDx, PgmCx, PgmBx, PgmAx,
- PgmSp, PgmBp, PgmIp, PgmCs,
- PgmFlags : INTEGER);
-
- 2: (PgmDsAlt, PgmEsAlt, PgmSiAlt,
- PgmDiAlt : Integer;
- PgmDl, PgmDh, PgmCl, PgmCh,
- PgmBl, PgmBh, PgmAl, PgmAh
- : Byte);
- END;
-
- VAR
- Dummy : ARRAY [0..15] OF BYTE;
- PgmRegs : PgmRegs_ ABSOLUTE Dummy;
-
- BEGIN
- Inline (
- $FB/ { STI }
- $83/$C4/$10/ { ADD SP,10 }
- $50/ { PUSH AX }
- $53/ { PUSH BX }
- $51/ { PUSH CX }
- $52/ { PUSH DX }
- $57/ { PUSH DI }
- $56/ { PUSH SI }
- $06/ { PUSH ES }
- $1E/ { PUSH DS }
- $2E/$A1/$A0/$00/{ MOV AX,CS:[A0]}
- $50/ { PUSH AX }
- $1F); { POP DS }
-
- (* ---------------------------------- *)
- (* Ende von BEGININT.INC *)