我是汇编编程的新手,我有一个接受用户输入的汇编(x86)代码。控制台将连续(循环)要求用户输入另一个字符,直到按下这样的“输入”键。当按下“enter”键时,控制台将自动停止请求更多输入。
我怎么可能这样做?是否与中断有关?感谢您的建议...
我是汇编编程的新手,我有一个接受用户输入的汇编(x86)代码。控制台将连续(循环)要求用户输入另一个字符,直到按下这样的“输入”键。当按下“enter”键时,控制台将自动停止请求更多输入。
我怎么可能这样做?是否与中断有关?感谢您的建议...
在没有操作系统或在 MS-DOS 下运行时,您有两种可能性:
第一个:
第二个:
当您使用现代操作系统(Windows、Linux...)时,您无法直接访问键盘;您必须调用操作系统 API 函数 - 与使用 C 编程时调用的函数相同:
// C example:
getchar();
和:
# Assembler example (Windows: _getchar, Linux: getchar):
call _getchar
在 8086 中,当你输入一些东西时,它会被存储在寄存器的 'AL' 部分。因此,您可以简单地将“AL”与“0DH”进行比较(这里,0D 是 ENTER 键的十六进制表示)。
要比较 'AL' 和 '0DH',您可以简单地写“CMP AL,0DH”。