|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
01.11.2010, 19:35 | #1 |
Форумчанин
Регистрация: 21.10.2010
Сообщений: 130
|
Резидент на Borland Pascal.
Такой вопрос. Есть обработчики прерываний клавиатуры и системного таймера. Вся работа обработчика таймера заключается в прибавлении единицы к некоторой переменной T с каждым прерыванием. Когда у меня T становится равным некоторому K, то нужно вызвать некоторую процедуру P и занулить T. Каким образом сделать, чтобы программа была резидентной и по условию из обработчиков прерываний процедуры вызывать нельзя...
|
01.11.2010, 19:47 | #2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Уверены, что Вам нужен именно резидент?! Под MS DOS?
копайте в сторону TerminateAndStayResident абстрактный пример программы (только не спрашивайте, для чего она и что она делает )) (ну ладно, вообще-то, это руссификатор древнего матричного принтера, у которого кодовая таблица была какая-то левая, перехватывает 17-е прерывание DOS): Код:
без неё надо копать в сторону: Код:
Последний раз редактировалось Serge_Bliznykov; 01.11.2010 в 19:57. |
01.11.2010, 20:27 | #3 |
Форумчанин
Регистрация: 21.10.2010
Сообщений: 130
|
Спасибо, а можно что-нибудь по проще, а то долго разбираться...
В общем у меня такой код: Код:
Когда я пишу что-то типа Код:
|
01.11.2010, 21:00 | #4 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
так правильно виснет!
Вы же напишите код процедуры вместо P (внутри обработчика прерывания: Код:
|
01.11.2010, 21:29 | #5 |
Форумчанин
Регистрация: 21.10.2010
Сообщений: 130
|
да я бы с радостью, но только это по условию нельзя...
|
02.11.2010, 10:56 | #6 |
Форумчанин
Регистрация: 21.10.2010
Сообщений: 130
|
Товарищи, тема всё ещё актуальна, может есть у кого какие идеи? Преподаватель говорит, что из обработчика прерываний таймера не должно быть никаких вызовов процедур, тем более тех, что требуют значительное время на выполнение, он говорит, что с помощью обработчика прерываний таймера нужно считать только время, а вызов процедур осуществлять в основной программе в бесконечном цикле... Я лично не представляю, как с использованием бесконечного цикла оставить работоспособной консоль, она у меня справедливо блокируется...
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Borland Pascal лаб. | Павел Тихомиров | Помощь студентам | 12 | 24.11.2010 11:11 |
Задачи на Borland Pascal | Lerik09 | Помощь студентам | 6 | 20.10.2009 19:43 |
Borland Pascal 8. Ошибочка...:( | spein | Помощь студентам | 5 | 27.02.2009 17:19 |
Нужен Borland Pascal 7.0? | kuzmich | Паскаль, Turbo Pascal, PascalABC.NET | 6 | 08.12.2007 11:21 |
BP: Borland Pascal | DruidD | Помощь студентам | 6 | 29.05.2007 20:06 |