|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Июл 18, 2003 02:51:49 · Поправил: Безпощадный даос Interrupt 16h ah=1 Priyom znaka v buffer vo vremya zikla Moya beda v tom chto ya ne znayu kak mogno ochistit etot samiy bufer chtobi prinyat noviy znak. Yesli kto znayet pomogite pogalusto. |
|
|
Дата: Июл 18, 2003 02:53:48 · Поправил: PROFi Учи переменные BIOS с адреса 0000:0400h 0:041a 2 адрес головы буфера клавиатуры (символ по этому адресу следующий) 0:041c 2 адрес хвоста буфера клавиатуры 0:041e 20H буфер клавиатуры. Здесь BIOS хранит ввод клавиш (голова и хвост указывают на адреса от 041eH до 043dH включительно). |
|
|
Дата: Июл 18, 2003 04:17:48 scanf ... checkForKey: mov ah,1 int 16h jnz gotKey ; буфер клавиатуры пуст ... jmp checkKey gotKey: mov ah,0 int 16h ; обработать полученную клавишу ... jmp checkKey |
|
|
Дата: Июл 18, 2003 04:52:57... push 0040h pop ds mov di, word ptr ds:001Ah ; адрес головы буфера mov word ptr ds:001Ch,di ; сделаем равным хвосту,=> ,буфер пуст!... |
|
|
Дата: Июл 18, 2003 15:07:44 Spasibo bolshoye vsem kto otvetil. Vi mne ochen pomogli. |
|
|
Дата: Июл 19, 2003 14:06:19 |
|
|
Дата: Июл 19, 2003 14:08:40 scanf Можно так очистить буфер. L1: mov ah,6 mov dl,0ffh int 21h jnz L1 |
|
|
Дата: Июл 21, 2003 03:58:47 ruslan20031 Imho Int21h AH=6h работает со стандартным потоком ввода/вывода, т.е. не обязательно с буфером клавиатуры. |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.055 |