预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共133页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第8章中断系统中断的基本概念中断的意义中断的概念图示中断源CPU中断源的示意图开中断与关中断几个基本概念中断系统的基本功能中断处理过程中断请求中断排队单级中断处理和多级中断处理示意中断响应中断服务与中断返回相关寄存器压栈 保护将在该服务程序中使用的寄存器中的原内容更详细的程序框架中断优先级中断优先权管理软件方式确定中断优先权软件查询确定中断级别的接口示意软件查询中断的程序 INAL,80H;端口80H的内容送AL TESTAL80H;测试AL的最高位 JNZASEV;对A的服务程序标号 TESTAL,40H JNZBSEV;对B的服务程序标号 …… TESTAL01H JNZHESV;对H的服务程序标号软件查询流程图硬件方式确定中断优先权硬件方式确定中断优先权的例小结8086/8088的中断系统8086/8088的中断指令8086/8088的中断指令8086/8088的中断分类8086/8088的内部中断8086/8088的内部中断8086/8088的内部中断8086/8088的内部中断8086/8088的内部中断内部中断8086/8088的内部中断内部中断问题8086/8088的外部中断非屏蔽中断(NMI) 非屏蔽中断请求由NMI引脚送入,它不能被屏蔽,即不受标志IF状态的影响,在当前指令执行完后,CPU就必须响应 非屏蔽中断类型码固定为2非屏蔽中断有以下几个特点: 不受内部中断允许触发器及状态标志IF的影响 外部通过非屏蔽中断引脚NMI提出请求 非屏蔽中断主要用于处理系统的意外和故障 上升沿触发(边沿触发)可屏蔽中断 可屏蔽中断请求由INTR引脚送入,CPU是否响应,取决于标志寄存器中的中断允许标志lF的状态 电平触发;必须“长时间”保持,直至CPU响应 若IF=0,表示中断禁止,CPU不响应;若IF=1,表示中断允许,CPU可以响应 进入中断响应总线周期,CPU发出中断响应信号INTA,并从数据总线获取中断源的中断类型码,选择并进入中断服务程序可屏蔽中断INTR请求,有两个控制条件决定是否响应 第一条:中断请求是否被屏蔽,对应于8259A中断屏蔽触发器IMR的输出状态;若为0,则允许中断;若为1,则屏蔽中断 第二条:CPU是否允许中断,即标志寄存器中位IF是否等于18086/8088中断优先级 中断向量的意义 中断服务处理程序的入口地址(首地址);它包含段地址和偏移地址两个部分 中断向量占用4个字节;低地址存放中断处理程序的入口偏移地址,高地址存放其段地址中断向量表的意义 8086/8088微处理器规定:从物理地址00000H开始,依次安排存放各个中断向量,形成一个特殊的存储区域,称为中断向量表;在表中,各中断向量的存放顺序按中断类型码排列,并约定从0开始 256个不同类型的中断向量将占用1KB区域;中断向量表建立在内存空间中最低1K地址,地址从00000—003FFH中断向量表中断向量在中断向量表中的存放地址称为中断向量地址指针 中断向量指针由CPU采用将“中断类型码乘于4”的方式确定并管理 CPU将依据该指针从中断向量表中取出两个字分别送入IP和CS 中断类型码联系着中断向量和中断向量地址指针例如:对于中断类型码为24H的中断源 其中断向量地址指针为 24H4=0090H即在0000:0090H开始的单元依次存放该中断源的中断服务程序的人口地址 若00090H~00093H中的内容分别是00H、46H、A4H、3BH,则该中断源的中断服务程序入口地址为3BA4H:4600H同样: 若中断类型码42H的中断向量为5678H:1234H 则中断向量表中 从00108H~0010BH这4个单元内应依次存放34H、12H、78H、56H 中断类型码的意义IBMPC/XT机的中断类型号的安排IBMPC/XT机的中断类型号的安排编制好中断服务程序后,给中断服务程序安排了存储空间,还须将它的入口地址按照中断类型码的顺序,置入中断向量表中;称为中断向量表的设置 当中断到来时,CPU才会根据中断类型码,自动取出中断向量,转入中断服务程序中 系统提供的服务程序的设置由系统自动完成;用户自定义的服务程序的中断向量应由用户用程序写入中断向量表的两中设置方法例:假设某中断服务程序的入口地址为 INTSUB,中断类型码为40H;试用传送指令设置中断向量表VECTABSEGMENTAT0000;设置连接方式 ORG0100H;对应类型码40H ADDRPDW2DUP(?) VECTABENDS CODESEGMENT ┆ CLI;关中断 PUSHDS;保护现场 MOVAX,VECTAB MOVDS,AX;指定段基址为0000 MOVADDRP,OFFSETINTSUB;存放中断向量 MOVADDRP+2,SEGINTSUB POPD