【发布时间】:2013-10-16 05:31:55
【问题描述】:
我提示用户输入:
mov ah, 0Ah
mov dx, OFFSET buffer
int 21h
我的任务告诉我 control-c 应该“用适当的错误消息中止程序”。这是怎么做到的?
提前谢谢你。
【问题讨论】:
我提示用户输入:
mov ah, 0Ah
mov dx, OFFSET buffer
int 21h
我的任务告诉我 control-c 应该“用适当的错误消息中止程序”。这是怎么做到的?
提前谢谢你。
【问题讨论】:
请始终查阅 Ralf Brown 的 16 位编程中断列表。
Int 21/AH=0Ah (BUFFERED INPUT) 说:
注意: ^C/^Break 被检查,如果检测到任何一个,则调用 INT 23。
Int 23h (CONTROL-C/CONTROL-BREAK HANDLER) 说:
任何 DOS 调用都可以在 INT 23 处理程序中安全地进行,但如果处理程序确实调用了 DOS,则必须检查递归调用。
使用Int 21/AH=25h (SET INTERRUPT VECTOR) 注册您自己的中断处理程序,您可以在其中打印消息并退出。
相关:
【讨论】:
mov dx, OFFSET my_handler; mov ax, 2523h; int 21h; - 那篇文章中有一个简短的sn-p。