汇编网首页登录博客注册
aten的学习博客
博客首页博客互动【做检测题】论坛求助

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
学习动态
友情链接

[2009-04-13 18:20] 检测点17.1

“在int 16h中断例程中,一定有设置IF=1的指令。”这种说法对吗?
  逛了下论坛,最后我认为这种说法是对的!  -_-!!!有点像蒙!

  在int 16h中断中,CPU一定还执行了int 9h号中断

下面是分析:(以我目前知识,只能这样分析,有点带猜)

  int 9h号中断例程是向键盘缓冲区写入数据,int 16H号中断例程是向缓冲区读取键盘输入。
  int 16h号中断有一特点:int 16h号中断例程检测键盘缓冲区,发现缓冲区空,则循环等待,直到缓冲区中有数据。停,先说这,这说明在int 16h中断过程中(int 16h中断在循环等待)能进行键盘输入,说明CPU响应了int 9h中断。且,int 16号中断没返回。
  现在说到IF的值,CPU在响应int 16h中断例程后,为关闭单步中断,要将IF值置0。
  int 9h号中断为可屏蔽中断,如果IF=0,CPU则不响应可屏蔽中断!
而CPU响应了int 9h号中断,说明在int i6h中断过程中一定有设置IF=1的指令。
评论次数(1)  |  浏览次数(1327)  |  类型(汇编作业) |  收藏此文  | 

[  游客   发表于  2009-04-15 09:33  ]

分析的很有道理。我也这么认为。

 
 请输入验证码  (提示:点击验证码输入框,以获取验证码