Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Прерывания от клавиатуры 
:(
    Опции темы
Freeman
Дата 8.5.2005, 18:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 44
Регистрация: 29.11.2003

Репутация: нет
Всего: нет



Возникла небольшая проблемка, суть ее в следующем: необходимо перехватить прерывания от клавы и при этом узнать какая клавиша была нажата. У меня получается только перехват до нажатия клавиши, а вот после я что-то не могу додуматься как сделать. Если можно поясните исходником, плз.

Это сообщение отредактировал(а) Freeman - 8.5.2005, 18:17
PM MAIL   Вверх
Chingachguk
Дата 8.5.2005, 20:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1232
Регистрация: 25.3.2002
Где: Москва

Репутация: нет
Всего: 18



Если обычный способ, то обычно перехватывают прерывание int 9. В этом случае сначала управление передается на перехватчик, затем вызвают оригинальный код BIOS:

@@StartMyInt9Handler:

pusha
push ds
push es
; Call original BIOS code
pushf
call dword ptr cs:OldInt9Handler
; Now key in BIOS kbd buffer
; We can get it:
; use address 0040:001A = ptr to last key
; call int 16h, func 01h - get key
...

В аттаче пример моего русификатора. Но можно перехватывать int 16h, так наверное даже проще.




Присоединённый файл ( Кол-во скачиваний: 8 )
Присоединённый файл  Vovarus.asm


--------------------
I don't like the drugs (but the drugs like me). M.Manson.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm: Общие вопросы"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0669 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.