使用DOS中断0Ah中止输入(ctrl-c)时显示错误消息(读取缓冲区的输入)

时间:2013-10-16 05:31:55

标签: assembly x86 dos x86-16

我提示用户输入:

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

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

提前谢谢。

1 个答案:

答案 0 :(得分:3)

请务必参考Ralf Brown的16位编程中断列表。

Int 21/AH=0Ah (BUFFERED INPUT)说:

  

注意: ^ C / ^中断检查,如果检测到,则调用INT 23.

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

  

任何DOS调用都可以在INT 23处理程序中安全地进行,尽管处理程序必须在调用DOS时检查递归调用。

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

相关: