home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1988 / 01 / sendkeys / beginint.inc next >
Encoding:
Text File  |  1987-10-26  |  1.5 KB  |  32 lines

  1. (* ------------------------------------------------------------------------ *)
  2. (*                                BEGININT.INC                              *)
  3. (*            Inline-Anweisung zum Beginn der Interrupt-Routine             *)
  4. (* ------------------------------------------------------------------------ *)
  5. TYPE
  6.   PgmRegs_= RECORD CASE Integer OF
  7.               1: (PgmDs, PgmEs, PgmSi, PgmDi, PgmDx, PgmCx, PgmBx, PgmAx,
  8.                   PgmSp, PgmBp, PgmIp, PgmCs, PgmFlags            : INTEGER);
  9.               2: (PgmDsAlt, PgmEsAlt, PgmSiAlt, PgmDiAlt          : Integer;
  10.                   PgmDl, PgmDh, PgmCl, PgmCh, PgmBl, PgmBh,
  11.                   PgmAl, PgmAh                                    : Byte);
  12.             END;
  13. VAR
  14.   Dummy   : ARRAY [0..15] OF BYTE;
  15.   PgmRegs : PgmRegs_  ABSOLUTE Dummy;
  16. BEGIN
  17.   Inline (
  18.     $FB/            { STI            }
  19.     $83/$C4/$10/    { ADD SP,10      }
  20.     $50/            { PUSH AX        }
  21.     $53/            { PUSH BX        }
  22.     $51/            { PUSH CX        }
  23.     $52/            { PUSH DX        }
  24.     $57/            { PUSH DI        }
  25.     $56/            { PUSH SI        }
  26.     $06/            { PUSH ES        }
  27.     $1E/            { PUSH DS        }
  28.     $2E/$A1/$A0/$00/{ MOV  AX,CS:[A0]}
  29.     $50/            { PUSH AX        }
  30.     $1F);           { POP  DS        }
  31. (* ------------------------------------------------------------------------ *)
  32. (*                          Ende von BEGININT.INC                           *)