![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 01.03.2009
Сообщений: 9
|
![]()
Пишу драйвер для клавиатуры... но вот проблема... нужно очистить буфер клавиатуры... только вот что-то не найду как это можно реализовать?
Мне нужно для режима Long Mode (x64)... т. е. как я понимаю, можно это сделать только через порты... |
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 08.03.2010
Сообщений: 48
|
![]()
Цитата:
Буфер клавиатуры имеет длину 32 байта и расположен по адресу 0000h:041Eh для машин IBM PC/XT. В IBM AT и PS/2 расположение клавиатурного буфера задается содержимым двух слов памяти с адресами 0000h:0480h (компонента смещения адреса начала буфера) и 0000h:0482h (смещение конца буфера). Обычно в IBM AT эти ячейки памяти содержат значения, соответственно, 001Eh и 003Eh. Так как смещения заданы относительно сегментного адреса 0040h, то видно, что обычное расположение клавиатурного буфера в IBM AT и PS/2 соответствует его расположению в IBM PC/XT. Клавиатурный буфер организован циклически. Это означает, что при его переполнении самые старые значения будут потеряны. Две ячейки памяти, находящиеся в области данных BIOS с адресами 0000h:041Ah и 0000h:041Ch содержат, соответственно, указатели на начало и конец буфера. Если значения этих указателей равны друг другу, буфер пуст. (Можно удалить все символы из буфера клавиатуры, установив оба указателя на начало буфера. Однако есть более предпочтительный способ с использованием прерывания BIOS INT 16h). Указателями на начало и конец клавиатурного буфера обычно управляют обработчики прерываний INT 09h и INT 16h. Программа извлекает из буфера коды нажатых клавиш, используя различные функции прерывания INT 16h. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
очистка буфера обмена | beegl | Общие вопросы Delphi | 21 | 04.01.2017 11:01 |
Очистка клавиатуры | evgenii0494 | Компьютерное железо | 14 | 12.08.2010 12:04 |
Иллюстрация работы буфера клавиатуры | VaSS | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 1 | 04.05.2010 22:44 |
работа буфера клавиатуры | Kaljaida | Фриланс | 11 | 04.05.2010 13:02 |
принадлежит ли число, введённое с клавиатуры отрезку (а;в). Границы отрезка вводятся с клавиатуры | Maria, Russia | Помощь студентам | 3 | 17.02.2009 22:01 |