文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
第 17 章:使用 BIOS 进行键盘输入和磁盘读写
检测点 17.1
“在 int16h 中断例程中,一定有设置 IF=1 的指令。”这种说法对吗?
答案:对。
int 16h 中断的 0 号功能,若缓冲区空,则循环等待,直到缓冲区中有数据。所以缓冲区空的时候,它又会继续检测,也就是可以说返回上一步。
int 9h 是将按键信息放入缓冲区。 若没有设置 IF=1 的指令,也即 IF=0,则不会处理任何(可屏蔽)中断,当然也就不能屏蔽 int 9 中断,则缓冲区永远不会有数据放入,这将造成 int 16h 的死循环检测。显然不允许这样的事发生,所以一定有设置 IF=1 的指令。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论