2015-11-07 4 views
1

Im кодируя небольшую игру с клавиатурными штрихами «a» и «s», я не хочу ждать в моей петле, поэтому я попробовал int 16h, ah = 01h. когда я нажимаю клавишу «a», он действует так, как будто застрял ключ, как сбросить/сбросить буфер после нажатия клавиши?сборка emu8086 Int 16 ah = 01h, как очистить буфер?

mov ah,01h 
int 16h 

Спасибо за помощью

ответ

3

Когда вы знаете, что есть нажатие ждет, чтобы быть прочитано с int16 функцией 1, просто получить ключ с помощью функции 0:

mov ah, 1 ; peek 
int 16h 
jz NoKey 
mov ah, 0 ; get 
int 16h  
+0

удивительной, что работает хорошо, я Я потратил полдня на это, спасибо большое –