828086中断系统.pptVIP

  • 9
  • 0
  • 约2.69千字
  • 约 15页
  • 2016-12-09 发布于重庆
  • 举报
828086中断系统

8.2.1 8086的中断源 中断优先级 除法溢出中断 指令软中断 溢出中断 不可屏蔽中断 可屏蔽中断 单步中断 ⑴ 除法溢出中断 在执行除法指令时,若除数为0或商超过了寄存器所能表达的范围,则产生一个向量号为0的内部中断,称为除法溢出中断 例如: ⑵ 指令软中断 在执行中断调用指令INT n时产生的一个向量号为n(0 ~ 255)的内部中断,称为指令中断 其中向量号为3的指令中断比较特别(生成一个字节的指令代码,常用于程序调试,被称为断点中断 ⑶ 溢出中断 在执行溢出中断指令INTO时,若溢出标志OF为1,则产生一个向量号为4的内部中断,被称为溢出中断 例如: (4) 不可屏蔽中断 通过不可屏蔽中断请求信号向微处理器提出的中断请求,微处理器无法禁止,将在当前指令执行结束予以响应,这个中断被称为不可屏蔽中断 8086的不可屏蔽中断的向量号为2,不可屏蔽中断请求信号为NMI 不可屏蔽中断主要用于处理系统的意外或故障。例如: 电源掉电前的数据保护 存储器读写错误的处理 (5) 可屏蔽中断 外部通过可屏蔽中断请求信号向微处理器提出的中断,微处理器在允许可屏蔽中断的条件下,在当前指令执行结束予以响应,同时输出可屏蔽中断响应信号,这个中断就是可屏蔽中断 8086的可屏蔽中断请求和响应信号分别是INTR和INTA*;由IF标志控制可屏蔽中断是否允许响应(CLI或STI);向量号来自外部中断控制器 8086通常需要配合中断控制器8259A共同处理可屏蔽中断 可屏蔽中断主要用于主机与外设交换数据 (6) 单步中断 若单步中断TF为1,则在每条指令执行结束后产生一个向量号为1的内部中断,称为单步中断 8.2.2 可屏蔽中断的中断周期(1) 8086响应可屏蔽中断时,需要进入中断响应周期,中断响应周期需要两个总线周期,如P209 图8-2-2 8086收到INTR引脚上的申请后,如果CPU处于开中断,就进入可屏蔽中断的响应周期: 1.第一个总线周期 CPU向外设发出一个低电平的中断应答信号INTA*,表示已经接受申请,要求外设传送中断向量号 8.2.2 可屏蔽中的的中断周期(2) 注意1:对于可屏蔽中断,接口电路必须在收到第一个INTA*应答信号后,立即向CPU传送相应的中断向量号 注意2:只有可屏蔽中断需要进入响应周期,其它类型的中断(指令软中断、NMI等)不进入中断响应周期,也不需要外设传送中断向量号 8.2.3 8086的中断向量表(1) 8.2.3 8086的中断向量表(2) 中断向量表中存放的是中断服务程序的入口地址,而8086把中断看成是远调用,所以既要知道入口程序的偏移地址,又要知道其段地址,所以每个中断向量号对应的中断向量表需要分配4个字节,低地址的2个字节是中断入口的IP(偏移地址),高地址的2个字节是中断入口的CS(段地址) 如果已知中断向量号为n,在n×4开始的2个字节是n号中断入口程序的偏移地址, n×4+2开始的2个字节是n号中断入口程序的段地址 8.2.3 8086的中断向量表(3)——中断向量表的写入方法 1.直接写入放(P211 例8-2) 2.利用DOS功能调用写、读中断向量表 1) DOS功能调用25H来写中断向量表 入口参数: AL——中断向量号 DS——中断服务程序段地址 DX——中断服务程序的偏移地址 2) DOS功能调用35H来读中断向量表 入/出口参数:AL——中断向量号 ES——读出中断服务程序段地址 BX——读出中断服务程序的偏移地址 8.2.4 8086的中断过程 第8章 中断系统 §8.2 8086中断系统 第8章 中断系统 8086的中断系统采用向量中断机制 能够处理256个中断 用中断向量号0 ~ 255区别 中断分为软中断和硬中断;硬中断又分为可屏蔽中断(有条件的)和不可屏蔽中断(无条件的) 软中断通过INT n来引发,可屏蔽中断通过INTR引脚输入,不可屏蔽中断通过NMI引脚输入 可屏蔽中断还需要借助专用中断控制器Intel 8259A实现优先权管理 不可屏蔽中断源 中断逻辑 单步 中断 INTO 指令 软中断 除法 溢出 CPU INTR NMI 可屏蔽中断源 8259A 中断 控制器 IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7 外 设 中 断 源 INTA MOV BL,0 IDIV BL ;除数BL=0,产生除法溢出中断 MOV AX,200H MOV BL,1 DIV

文档评论(0)

1亿VIP精品文档

相关文档