Przerwanie CTRL-C pod BIOSem

0

Witam. Kombinacja klawiszy CTRL-C wykonuje przerwanie 23h. Mam za zadanie podmienić to przerwanie. Oto kod:

program p;
uses DOS, CRT;

var
	rej : registers;
	p   : POINTER;

procedure przerw ; interrupt;
BEGIN
	writeln('Przerwanie!');
	readln;
END;

BEGIN
	GetIntVec($23, p);
	SetIntVec($23, @przerw);
	repeat until keypressed;
	SetIntVec($23, p);
	readln;
END.

Niestety program po użyciu Ctrl-C przerywa normalnie nie wyświetlając żadnego tekstu itd. Gdzie leży błąd ?

0
repeat until ReadKey=#27; // ESC
0

Dzieki za odp. Teraz po naciśnięciu CTRL-C nie przerywa programu, ale też nie wypisuje 'Przerwanie' a chyba powinno skoro wywołuje tamtą funkcje(?)

0

Bo pewnie wywołujesz pod windows'ami

0

Windows XP, virtual box. To znaczy, że pod windowsem nie wyświetli tego komunikatu ?

0

Windows to tu nie szkodzi, ale Free Pascal może.
interrupt, getintvec, setintvec działały pod Turbo Pascalem, ale FPC je chyba ignoruje.

DOS-owa wersja FPC ma unit go32v2 który ma chyba podobną funkcjonalność.

1 użytkowników online, w tym zalogowanych: 0, gości: 1