Очистка буфера клавиатуры
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
| [18.97.9.168] |
|
|
Перед отправкой сообщения внимательно прочтите правила раздела!!!

Очистка буфера клавиатуры
|
Сообщ.
#1
,
|
|
|
|
Для очистки буфера достаточно этих строк?
![]() ![]() mov ax, 40h mov ds, ax mov word ptr ds:001Ah, 041Eh mov word ptr ds:001Ch, 041Eh Где то ошибка. |
|
Сообщ.
#2
,
|
|
|
|
Цитата Крон @ Да, причем элементарная Где то ошибка. BIOS тоже работает через сегмент 40h, соответственно нужно так:![]() ![]() mov ax, 40h mov ds, ax mov word ptr ds:001Ah, 01Eh mov word ptr ds:001Ch, 01Eh А вообще правильнее было бы так: ![]() ![]() mov ax, 40h mov ds, ax mov ax, word ptr ds:0080h ; ax = адрес начала буфера mov word ptr ds:001Ah, ax mov word ptr ds:001Ch, ax Но учти, что этот код только для IBM PC/AT и старше. |
|
Сообщ.
#3
,
|
|
|
|
![]() ![]() mov ax, 40h mov ds, ax mov ax, word ptr ds:0080h ; ax = адрес начала буфера mov word ptr ds:001Ah, ax mov word ptr ds:001Ch, ax mov ah, 05h ; имя фаила mov ch, 03h mov cl, 32h int 16h mov ah, 05h ; Enter mov ch, 1Ch mov cl, 0Dh int 16h Что то все равно не чистит |
|
Сообщ.
#4
,
|
|
|
|
Цитата Крон @ Чесно говоря не въезжаю в код Что то все равно не чистит Поясни, что делаешь? На основании чего ты решил, что не чистит? По приведенному фрагменту этого не поймешь. |
|
Сообщ.
#5
,
|
|
|
|
Хотя да, я просто не так понял.
Все спасибо, нормально все.=) |