|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
18.09.2009, 12:47 | #1 |
Регистрация: 22.04.2009
Сообщений: 3
|
Блокировка клавиши. Перехват 09h. Порты.
Необходимо заблокирывать клавишу в перехваченном прерывании 09h, делая это на уровне портов.
В моем представлении это выглядит так: 1)с помощью 60h читаем скан-код клавиши. 2)Если скан-код совпадает с клавиешей, которую нам надо заблокировать очищаем "буфер" и возвращаем управление старому обработчику. 3)Если не совпадает сразу же возвращаем управление старому обработчику. Правильно ли я мыслю? И если правильно, то как очистить "буфер"? |
18.09.2009, 14:04 | #2 |
Форумчанин
Регистрация: 02.04.2008
Сообщений: 358
|
2) если вы обработали полностью нажатие, то возвращать старому обработчику не нужно.
неплохо пишу на ассемблере для 80х86
icq: 3(один)7748666 mail: airyashov(а)inbox.ru |
18.09.2009, 20:46 | #3 |
Регистрация: 22.04.2009
Сообщений: 3
|
Подскажите в чем тогда проблема. ПРи нажатии на 2 идет ошибка и резедент выгружается.
Код:
|
18.09.2009, 23:12 | #4 |
equ asm
Участник клуба
Регистрация: 02.05.2009
Сообщений: 1,605
|
Нужно возвращать из стека все, что положили в него, а так же нужно сообщить контроллеру прерываний, о том, что обработка завершена, чтоб он смог принимать сигналы дальше.
Код:
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
порты на Assemblere | Dimon | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 11 | 13.04.2010 17:36 |
Перехват клавиши | mustang007 | Общие вопросы Delphi | 6 | 15.04.2009 02:01 |
COM Порты | Skazi21101 | Помощь студентам | 0 | 02.11.2008 12:24 |
порты | Elm0 | Свободное общение | 2 | 02.06.2007 15:56 |
Порты у Windows | Alar | Работа с сетью в Delphi | 0 | 30.10.2006 13:37 |