{$M $4000,550000,550000}
program nodebug;

uses crt;

{$L nodeb.obj}

procedure PIQ_Stop_System; far; external;
procedure keyboard_off; far; external;
procedure keyboard_on; far; external;
procedure no_stepping; far; external;
procedure protected_stopping; far; external;
procedure check_for_Vector(check : longint); far; external;
procedure Restore_checkVector; far; external;
function  Vector_OK(check : longint) : boolean; far; external;
procedure Copy_int21_int3; far; external;


begin;
 clrscr;

 writeln('Check sum for Int3-Vector');
 check_for_Vector(12345678);

 writeln('Disable keyboard');
 keyboard_off;

 writeln('Stepping-Trap');
 no_stepping;

 writeln('PIQ-Trick');
 PIQ_Stop_System;

 writeln('Protected-Mode switching');
 Protected_stopping;

 writeln('Vector-Checking');
 If NOT Vector_Ok(12345678) then begin;
   clrscr;
   writeln('Don't debug !');
   halt(0);
 end;

 writeln('Restore check vector');
 Restore_checkVector;

 writeln('Enable keyboard again');
 keyboard_on;

 writeln('And we're in the program');
 readln;
end.





