微机原理 中.ppt

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

yanghua 第九章 微型计算机中断系统 9-1 概述 1、外部中断(硬件中断) 不可屏蔽中断NMI 不能用软件屏蔽,CPU必须响应; 上升沿触发; 中断的类型号为2。 可屏蔽中断INTR IF=1,CPU响应中断;IF=0,CPU不响应; 高电平触发,高电平维持到CPU响应中断时结束; 中断类型号由中断控制器8259A或硬件电路提供。 2、内部中断(软件中断) 由三种情况引起: 由软中断指令INT n引起 INT n指令,类型号n(0-255)。 由CPU运算错误引起 除法错中断:类型号0 溢出中断:类型号4,由INTO指令引起的中断; 2、内部中断(软件中断)(续) 由调试程序debug设置的中断 单步中断: 类型号1,TF=1时产生(当前指令需执行完); Debug状态下的T命令执行时产生; 断点中断: 类型号3,INT 3指令引起的中断,属于软件中断 Debug状态下由G命令设置,相当于是在程序的某个位置设置了一条INT 3 。 引脚 INTR、INTA#、NMI 指令 INT n、INTO、IRET 不同类型的中断处理过程略有不同,本节所介绍的内容主要针对可屏蔽中断的处理过程。 可屏蔽中断处理过程步骤: 中断请求 中断响应 保护现场 转入执行中断服务子程序 恢复现场 中断返回 1、CPU响应可屏蔽中断的条件 (1)外设提出中断申请; (2)本中断未被中断控制器屏蔽; (3)本中断优先级最高; (4)CPU允许中断; 2、CPU响应可屏蔽中断的过程 CPU在每条指令的最后一个T周期,检测INTR,若为高电平,且IF=1,则CPU响应中断。 响应过程中自动依次完成以下工作: CPU向外设发两个/INTA ,外设收到第2个/INTA 后,立即往数据线上给CPU送中断类型号。 CPU从数据线上读取中断类型号; 将flags入栈; 保护现行程序运行结果产生的状态和控制标志。 关中断(清IF和TF) 为了防止在进入中断处理,但并未执行中断程序这段时间内又响应新的中断。 保护断点 将当前指令的下一条指令的CS和IP压入堆栈,使中断处理完成后能正确的回到原程序继续执行。 转入相应的中断服务子程序; 中断返回 从堆栈中弹出断点的地址和flags的内容,返回主程序的断点处,继续执行主程序。 确定中断源的方法:查询中断和矢量中断。 查询中断:一种软件查询法,中断响应后,启动中断查询程序,依次查询哪个外设申请了中断,检测以后,转到此设备预先设置的中断服务程序处执行。这种中断处理过程称为查询中断。 特点:速度慢,且后检测的设备服务机会少。 矢量中断:中断响应后,外设中断接口电路将中断类型号送给CPU,CPU根据中断类型号找到对应的中断服务程序的入口地址送入CS或IP,然后转入相应的中断服务程序处执行。这种中断处理过程称为矢量中断,也叫向量中断。 特点:速度快。 1、中断向量表 又称:中断服务程序的入口地址表。 中断服务程序的入口地址又称中断向量 8086在存储器最低的1KB(00000H~003FFH)空间内,存放256个中断的中断向量。 每个类型号的中断向量占4字节,高2字节存放段基址,低2字节存放偏移地址; 按照中断类型号的顺序依次将其中断向量存在1K的内存表中,格式如下: 中断类型号n与中断向量的地址关系:n×4=中断向量地址 (4n 和4n+1)→IP (4n+2和4n+3)→CS 【例】某中断的类型号为68H,中断的操作过程如下: 步骤分析: 取中断类型号68H; 计算中断向量地址68H*4=1A0H; 取中断入口地址的偏移地址送入IP,段地址送入CS; 转向中断服务程序; 中断返回到INT 68H指令的下一条指令。 2、中断向量(中断入口地址)的设置 IBM PC对256种中断类型已经进行地址分配,附录D中给出中断向量表。 概念:将中断服务程序的入口地址置入中断类型号所对应的中断向量表中。 两种方法:用指令设置;用DOS功能调用设置。 用指令设置中断服务程序的入口地址表 …… PUSH DS MOV AX,SEG INTRAD; MOV DS,AX MOV DX,OFFSET INTRAD MOV AL,N MOV AH,25H INT 21H POP DS …… 注意: 为了避免直接使用中断向量的绝对地址,一般利用DOS功能调用IN

文档评论(0)

dfd7997 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档