优·Interface6.pptVIP

  1. 1、本文档共76页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
6.7 8086/8088中断系统 8086/8088CPU的中断系统具有很强的中断处理能力,可以处理256种中断。每种中断对应一个编号,范围0~255,这个编号称为中断源的中断类型码或中断向量码。中断分为两类:内部中断和外部中断。外部中断又分为可屏蔽中断和不可屏蔽中断两类。 * 1. 外部中断 不可屏蔽中断 CPU一定要响应的中断。 NMI是不可屏蔽中断请求信号的输入端。 优先级高于可屏蔽中断。 不可屏蔽中断的编号为2。 CPU不需获取中断向量码,不发送INTA,直接查中断向量表转去执行中断服务程序。 不可屏蔽中断用于处理紧急事件,如存储器读/写出错、电源掉电等。 * 可屏蔽中断 CPU可以延时接受的中断请求为可屏蔽中断。 INTR是可屏蔽中断请求信号的输入端。 CPU收到中断请求信号后,检测中断允许标志位IF,若IF=1,CPU准备响应INTR请求;若IF=0时,CPU屏蔽INTR请求。 中断标志位IF可以用指令STI和CLI进行设置。 可屏蔽中断的优先级低于不可屏蔽中断。 * 2. 内部中断 内部中断包括: INT n INT3 INTO指令 除法错中断 单步中断 * INT n CPU执行INT n指令,产生中断向量码为n的中断。n的取值范围0~255。不管是内部中断还是外部中断都可以通过INT n指令调用其中断服务程序。 INT3 CPU执行INT3指令引起的中断,称为断点中断,中断向量码为3。这是个单字节指令,代码为0CCH。在调试程序时用这条指令设置断点。 * INTO指令 CPU执行INTO指令时,检测溢出标志位OF,如果OF=1,则产生中断向量码为4的中断。若OF=0,INTO指令不起作用。 MOV BL,126 MOV AL,5 ADD AL,BL ;OF=1 INTO ;执行溢出中断服务程序 * 除法错中断 执行除法指令时,除数为0或商数超出了结果寄存器的取值范围,产生中断,中断向量码为0。这个中断的处理过程一般由系统软件负责。 单步中断 也叫陷阱中断,中断向量码为1。标志寄存器的标志位TF=1产生的中断,TF也叫陷阱(Trap)标志。如果TF=1,CPU 执行一条指令后产生单步中断。单步中断常用于调试程序。 * 3.中断优先级与中断嵌套 8088/8086系统的中断优先级如下: 除法错中断INT nINTO不可屏蔽中断可屏蔽中断单步中断 中断嵌套:CPU暂时中断正在执行的中断服务程序,转去处理优先级更高的中断源,处理完以后,再返回到被中断的中断服务程序继续执行。中断嵌套使那些更紧急的优先级更高的中断源及时得到服务。 * 4. 中断向量和中断向量表 8086为每个中断源分配了一个编号,称为中断类型码或中断向量码。 中断向量:中断服务程序的入口地址。 中断向量表:将中断向量按一定的规律排列成表。 * 4. 中断向量和中断向量表 256个中断向量 每个向量(入口地址)需要4个内存单元,256种中断共需要1K个内存单元。 8088/8086系统中的中断向量表位于内存低地址00000~003FFH的存储区内。 * 4. 中断向量和中断向量表 当CPU调用中断向量号为n的中断服务程序时, 首先把n乘以4,得到它位于中断向量表中的首地址4n, 然后把以4n为首地址的连续两个单元的内容装入IP寄存器,即IP=(4n:4n+1);再把(4n+2:4n+3)两个单元的内容装入CS寄存器,CPU就转去执行n的中断服务程序。 * 4. 中断向量和中断向量表 例:DOS系统中断的类型号为21H,在中断向量表中的首地址:n×4=84H。 例:如中断类型号为20H,则中断向量的存放首地址为20H×4=80H,(设中断向量表中0000:0080H~0000:0083H的区域顺序存放着10H,20H,00H,40H)。当系统响应20H号中断,从中断向量表中取出该中断服务程序的入口地址为:CS:IP=4000H:2010H。 * 5. 8086/8088CPU中断处理流程 CPU在每条指令的最后一个时钟周期检测有无中断请求,若有则可获得中断类型吗 获得中断类型码之后,各种中断的处理过程相同: ① 将中断类型码放入暂存器保存; ② 将标志寄存器内容压入堆栈,以保护中断时的状态; ③ 将IF和TF标志清0; ④ 保护断点,当前的IP和CS的内容入栈; ⑤ 根据中断类型码,在中断向量表中找出中断服务程序的入口地址,装入IP和CS,转向中断服务程序。 ⑥ 执行中断服务程序; ⑦ 中断返回。 * 8086/ 8088CPU中断处理流程 * * 作业 P164-165 1-13题 简单

文档评论(0)

xiaofei2001129 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档