2

我提示用户输入:

mov ah, 0Ah
mov dx, OFFSET buffer
int 21h

我的任务告诉我 control-c 应该“用适当的错误消息中止程序”。这是怎么做到的?

先感谢您。

4

1 回答 1

3

始终参考 Ralf Brown 的 16 位编程中断列表。

Int 21/AH=0Ah (缓冲输入)说:

注意:检查 ^C/^Break,如果检测到任何一个,则调用 INT 23。

Int 23h (CONTROL-C/CONTROL-BREAK HANDLER)说:

任何 DOS 调用都可以在 INT 23 处理程序中安全地进行,但如果处理程序确实调用了 DOS,则必须检查递归调用。

使用Int 21/AH=25h (SET INTERRUPT VECTOR)注册您自己的中断处理程序,您可以在其中打印消息并退出。

有关的:

于 2013-10-16T05:49:55.450 回答