I have a problem.
I change the keyboard interrupt routine to examine a register, changed the
routine back and then called the old interrupt routine inside the new
routine. Can it be done or not?
Example:
MODULE M;
IM****T BiosIO,Lib,SYSTEM;
VAR
vO9:ADDRESS;
vR:SYSTEM.Registers;
PROCEDURE fN9():BOOLEAN;
BEGIN
(*Some code*)
Lib.SetVector(9,vO9);
(*THE PROGRAM WORKS UNTIL HERE, BUT THEN I WANT TO EXECUTE THE OLD
INTERRUPT
9 ROUTINE BUT IT DOESN'T WANT TO. WHY?*)
Lib.Intr(vR,9);
RETURN TRUE;
END fN9;
BEGIN
vO9:=Lib.GetVector(9);
Lib.SetVector(9,ADR(fN9()));
REPEAT
UNTIL BiosIO.KeyPressed();
END M;


|