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

我的博客

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

[2012-05-04 20:27] 第十二章笔记

第十二章 内中断
中断源分为:
①硬件中断
②软件中断(int 21h也属于此)

硬件中断包括:
① 外中断:外设中断请求(可屏蔽)
② 内中断:硬件出错,运算出错(不可屏蔽)

当cpu有如下情况发生的时候,将产生相应的中断信息
① 除法错误,比如执行div指令产生的除法溢出
② 单步执行;
③ 执行into指令;
④ 执行int指令。

8086cpu用称为中断类型码的数据来标识中断信息的来源。中断类型码为字节型数据,可以表示256种中断信息的来源。

用来处理中断信息的程序被称为中断处理程序,一般来说,需要对不同的中断信息编写不同的中断信息编写不同的处理程序。

中断类型的码的作用就是用来定位中断处理程序。

中断向量表,就是中断处理程序入口地址的列表。
中断向量表必须放在0000:0000~0000:03ff单元中。
一个表项占两个字,高地址字存放段地址,低地址字存放偏移地址。

cpu硬件用中断类型码找到中断向量,并用它设置cs和ip的过程被称为中断过程。
中断处理程序编写的常规步骤:
① 保存用到的寄存器;
② 处理中断;
③ 恢复用到的寄存器;
④ 用iret指令返回

iret含义为将当前ip入栈,将cs入栈,将标志寄存器入栈。

在中断过程中,寄存器入栈的顺序是标志寄存器,cs,ip

一般情况下,从0000:200~0000:2ff的256个字节的空间所对应的中断向量表都是空的。

汇编编译器可以处理表达式。+,-,*,/

如果TF=1,则执行一条指令后,cpu就要转去执行1号中断处理程序。

中断过程:
① 取得中断类型码N;
② 标志寄存器入栈,TF=0、IF=0;
③ CS、IP入栈;
④ (ip)=(4n),(cs)=(4n+2).
cpu提供单步中断功能的原因是,为单步跟踪程序的执行过程,提供了实现机制。

有些情况下,cpu在执行完当前指令后,即便发生中断,也不会响应。
评论次数(3)  |  浏览次数(209)  |  类型(汇编笔记) |  收藏此文  | 

[  dxiaolin   发表于  2012-05-04 20:49  ]

过来学习一下你整理的学习笔记,不错!
谢谢了

[  tomato   发表于  2012-05-06 00:09  ]

看到你们能够互相关注,互相鼓励,互相学习,真的好高兴!!!这是一件让我心里美的事情!!!

[  fpamc   发表于  2012-05-06 07:46  ]

我心里也美~~O(∩_∩)O~~

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