char getchar() {
char a;
__asm {
int 16h
mov [a], AL
}
return a;
}
我试图从键盘上获取用户输入,但是它没有等待按键,而是返回了奇怪的字符,而没有按下键盘上的任何键。
最佳答案
如here所述,16H中断具有多种服务,您必须使用ah
寄存器选择其中之一。
读取按键的功能代码是0
,因此必须在xor ah, ah
之前先int 16h
(将ah设置为零)。