char getchar() {
char a;
__asm {
int 16h
mov [a], AL
}
return a;
}
我尝试从键盘获取用户输入,但它没有等待按键,而是返回奇怪的字符,而无需按键盘上的任何键。
最佳答案
如上所述here , 16H中断有多种服务,您必须使用ah
寄存器选择其中之一。
读取按键的功能代码是0
,因此您必须在int 16h
之前异或ah, ah
(将ah设置为零)。
关于c - 程序集 16h BIOS 调用不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51343898/