Re: [asm, dos] прерывание 09h,замена вводимых символов на ст
От: ДимДимыч Украина http://klug.org.ua
Дата: 23.10.07 16:44
Оценка:
Здравствуйте, Arks, Вы писали:

A>В программе после двух подряд (в течении 2х секунд) нажатий на F1,

A>вместо цифр 0,1,... при вводе на консоль надо выводить строки.
A>Не помню как это сделать. Пробовал в лоб, но из прерывания строки выводить похоже нельзя:

Насколько помню, многие прерывания DOS 21h не реентерабельные. Есть определенные способы это обойти: перед выводом проверить, что находимся в "безопасном" обработчике прерывания, например, ожидаем ввода пользователя, и если это не так — запланировать попытку вывода через некоторый интервал времени. Эта ситуация рассматривалась кажется то ли у Зубкова, то ли у Кулакова.
Другой вариант — выводить не через 21-е прерывание DOS, а через 10h — видеосервис. Или вообще, в обработчике int 09h помещать в буфер клавиатуры серию нажатий нужных клавиш.
Обязательно бахнем! И не раз. Весь мир в труху! Но потом. (ДМБ)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.