第5章8086的中断系统..ppt

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章8086的中断系统.

5.3 8086的中断系统 5.3.1 中断结构 采用中断矢量结构,每个中断有一个中断类型码(号),供CPU进行识别,最多能处理256种不同的中断类型(即256个入口矢量). 一、中断向量表 存放中断服务程序入口地址的表格.结构如图5-15所示。存放在存储器的最低端,占用0~3FFH(1024个)字节的地址空间。 构成:每个中断入口地址占4个字节,低2字节放入口地址的段内偏移量IP,高2字节放段基址CS,4个单元的最低地址称为向量地址(中断向量)。 向量地址=中断类型码*4 例:设中断类型码13H,放IP=0A00H,CS=1E00H。 向量地址=13H*4=4CH,由4CH、4DH单元取出IP值,由4EH、4FH单元取出CS值,得入口地址1EA00H,则从1EA00H处开始执行。 可见,计算机通过中断向量转向相应的中断服务程序。 二、中断分类 1、内部中断:由软件中断指令INT n 启动,由n提供类型号; 2、外部中断: 1)可屏蔽中断INTR——由外部硬设备启动,由硬件提供类型号; 2)不可屏蔽中断NMI——由CPU内自动提供类型号。 8086/8088的中断源可有256个,如图5-13所示 专用5个(内部中断):在某些特定情况下,由CPU内硬件自动提供类型号0~4; 保留27个(软件中断):由内部软件的中断指令产生,供系统开发用。 用户定义224个(外部中断):由外部设备硬件启动。 可以利用保留的中断类型码扩充自己需要的中断功能,只要在向量表中加入对应的中断向量即可。 5.3.2 外部中断 一、可屏蔽中断INTR 处理过程: 1)接口发请求,若屏蔽位(可用命令写入)=0, 通常由可编程中断控制器8259A PIC驱动,INTR=1,一直保持到收到响应信号或撤消请求为止. 若IF=0(关中断,可由CLI复位),CPU不响应,继续处理下一条指令; 若IF=1(开中断,可由STI置位),CPU响应, 2)执行两个INTA总线周期,发两个INTA信号,时序见图5-14, 第一个INTA信号通知8259A请求已被接收; 在第二个INTA信号有效,8259A送中断类型码(初始化时写入8259A)到数据总线,由CPU启动中断过程,同时撤消中断请求信号. 二、不可屏蔽中断NMI 发生“灾难性”事件(如电源掉电、存储器读写出错、总线奇偶出错或协处理器中断请求等),NMI=1,无法禁止(不受IF影响),优先级比INTR高,且是边沿触发(只要有效宽度大于2T即可),中断类型号为2,CPU响应NMI,不发INTA,不要求外设提供中断向量,自动到08H单元取入口地址。 5.3.3 内部中断 通过软件调用的不可屏蔽中断,有以下几种: 一、溢出中断——类型4(单字节指令) OF=1,执行INTO,产生一个4类中断。 二、除法出错中断——类型0 在执行DIV和IDIV后,出现除数为0后商大于寄存器所能表示的范围,CPU产生一个0类中断。 三、INT n 指令中断——类型n 由系统提供或用户定义,CPU执行后,立即产生中断,转向n规定的中断服务程序去,入口地址在初始化时已预置在中断向量表中。 四、断点中断——类型3(单字节指令) CPU执行INT 3 (简写INT)时,产生中断,进行特殊处理,如显示寄存器、存储单元的内容,以检查程序运行的结果是否正确。在调试时把断点插入程序中的关键之处,命令如-G CS:nnnnH。 五、单步(陷阱)中断——类型1 当陷阱标志TF=1,8086/8088处于单步工作方式,用-T命令,CPU每执行完一条指令就自动产生一个1型中断,把状态标志PSW、CS、IP压栈,清除TF和IF,则CPU执行单步中断服务程序时以非单步工作方式,单步中断服务程序结束后, 弹出IP、CS、PSW,此时TF=1,CPU返回后以单步方式工作。 单步中断过程可以是:打印或显示寄存器内容、指令指针值或关键的寄存器变量等,详细跟踪一个程序的具体执行过程,确定程序出错的位置。 TF的设置: 在PSW中,D8=TF TF置1:PUSHF,将栈顶内容与0100H相“或”,POPF; TF清0:PUSHF,将栈顶内容与FEFFH相“与”,POPF; 内部中断的特点 1、中断类型码或包含在指令中,或是预先规定的; 2、不执行INTA总线周期; 3、除单步中断外,任何内部中断都无法屏蔽; 4、除单步中断外,任何内部中断的优先权都比外部中断的优先权高。8086/8088的中断优先级见表5-1。但执行内部中断时,会响应不可屏蔽中断请求,若用了开中断,也可响应可屏蔽中断请求; 5、若用软件中断INT n 指令,使它与外设的类型码相同,来启动由外设启动的外设中断服务程序,可用于模拟调试外部设备的中断服务程序; 6

您可能关注的文档

文档评论(0)

叮当文档 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档