home *** CD-ROM | disk | FTP | other *** search
- (*********************************************************)
- (* BREAK.PAS *)
- (* Abbrechen eines Turbo-Pascal-4.0-Prog. mit Ctrl-Break *)
- (* (c) 1988 Karsten Gieselmann & PASCAL International *)
- (* !! Die UNIT sollte als letzte in der USES-Anweisung *)
- (* aufgeführt werden ! *)
- (*********************************************************)
-
- UNIT Break;
-
-
- INTERFACE
-
- USES Dos;
-
-
- IMPLEMENTATION
-
- VAR
- Int1BSave :POINTER;
- (* Zwischenspeicher für alten Int1B-Vektor *)
-
-
- {$F+}
- PROCEDURE Int1B; INTERRUPT;
-
- (* I-Flag setzen und Int-Chip freigeben: *)
- PROCEDURE EnableInterrupts;
- INLINE ($FB/$B0/$20/$E6/$20);
-
- BEGIN
- SetIntVec ($1B, Int1BSave); (* Vektor zurücksetzen *)
- EnableInterrupts; (* Interrupts zulassen.... *)
- Halt (* ....und Programm ordnungsgemäß beenden *)
- END;
- {$F-}
-
-
- BEGIN
- (* alten Int1B-Vektor sichern... *)
- GetIntVec ($1B, Int1BSave);
- (* ....und eigene Routine einsetzen *)
- SetIntVec ($1B, @Int1B);
- END.