【发布时间】:2013-12-27 16:30:03
【问题描述】:
我想将用户输入的号码输入寄存器。这是我自己的操作系统。所以,我不能用这个:
mov al,0x01
int 0x21
mov dl,al ;move the integer entered by the user, into dl
因为 int 0x21 调用 ms-dos。那么我可以使用什么中断?
【问题讨论】:
-
这不会输入一个整数 - 它输入一个字符串。检查字符串是否代表有效整数并将其实际转换为该整数是您需要执行的附加步骤。汇编是这样的低级。您可以小心地安排调用 C 库函数来完成此任务,包括格式化输入,但完全在汇编中完成意味着您必须处理所有细节......
-
这已经有 6 年以上的历史了,但是如果 OP 还在,您是否希望在保护模式或实模式下执行此操作?可以在此处找到保护模式示例:stackoverflow.com/a/37635449/3857942