home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / sonderh1 / beginint.inc < prev    next >
Text File  |  1987-05-18  |  1KB  |  43 lines

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