Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Проблемма с резидентными программами

55K
05 мая 2010 года
newx
5 / / 19.04.2010
Доброго времени суток друзья.
У меня возникла следующая проблема: Мне необходимо выполнить лабу по резидентным программам, я проштудировал прилагающиеся методическое пособие и нашарил там такой примерчик:

{$M $1000,0,0}
Program Scan_code;
Uses Crt,Dos;
Var
OldKey: Procedure;
c,c1 : Byte;
vkl : Boolean;
{$F+}
Procedure Key; Interrupt; {обработчик прерывания}
Begin
c1:=c;
c:=Port[$60];
If c=1 then {нажали ESC}
vkl:=true;{включён режим отображения кодов нажимаемых клавиш}
If vkl Then
Begin
write (' kod=',c,' ');
If c=c1+128 Then Writeln; {отпустили клавишу}
End;
Sound(1000);
Delay(100);
Nosound;
Inline($9C);
OldKey;
End;
{$F-}
Begin {основная программа}
vkl:=false; {сначала режим отображения кодов выключен}
GetIntVec($9,@OldKey);
SetIntVec($9,Addr(Key));
Keep(0);
End.


Короч данная прога удачно откомпилилась в Turbo Pascal 7.0 я со всей радости полез в cmd-ху и запустил из под консоли это творение, но вот неудачка: Runtime error 200 at 0032:0091.
Я сначала подумал, что в проге где-то ошибка, и скачал с нэта другой примерчик, но он выдал тот же результат. И у меня возник ряд вопросов:

1) Я не полный чайник и понимаю, что cmd - это лишь эмулятор DOS-а и поэтому у меня вопрос - как в этом эмуляторе с загрузкой резидентных программ?
2) Может быть причина кроется в том что у меня двухядерный проц, и изза этого возникают какие-то глюки(протестить прогу на слабеньких машинах я не успел)

Ну вот собственно и все вопросы. Помогите кто чем сможет. Заранее спасибо большущее! ))
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог