微型计算机的中断系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
微型计算机的中断系统
1、直接装入法
PUSH DS XOR AX, AX MOV DS, AX MOV BX, N*4 MOV AX, OFFSET NEWINT MOV WORD PTR[BX], AX MOV AX, SEG NEWINT MOV WORD PTR[BX+2], AX POP DS ┅┅ NEWINT PROC ┅┅ IRET NEWINT ENDP
0000H:0004H
0000H:0007H
0000H:0008H 0000H:000BH 0000H:000CH 0000H:000FH 0000H:0010H 0000H:0013H 0000H:0014H 0000H:0017H
31/1FH 32/20H
0000H:007CH 0000H:007FH
第九章 微型计算机的中断系统
❖ 9.1 中断的基本概念 ❖ 9.2 8086微处理器的中断方式 ❖ 9.3 可编程中断控制器8259A
微型计算机的中断系统
9.1 中断的基本概念
一、中断与异常
1、中断 在CPU正常运行程序时,由于内部或外部某个非预料
事件的发生,使CPU暂停正在运行的程序,而转去执行 处
响应条件:
无总线请求和非屏蔽中断请求; 中断允许控制位IF=1; CPU执行完当前指令; 当前中断级别最高。
响应时自动完成以下工作:
发送两个INTA负脉冲,取中断类型号N; 将FLAGS入栈,关中断,即IF=0、TF=0; 保护断点,将CS、IP入栈; 根据中断类型号N取得中断向量送入IP、CS; 进入中断服务子程序。
微型计算机的中断系统
➢ 外部中断:
▪ 不可屏蔽中断 类型号2
自动产生
▪ 可屏蔽中断 类型号(32 ~255) 由8259管理
CPU
n
INT n 指令
非屏蔽中断请求 NMI 2
中断逻辑
4 0 百度文库1
INTO 指令
除法 错误
单步 断点
INTR
微型计算机的中断系统
8259A IR 0 IR 1
INT
IR 2
1)软件查询法
2)硬件处理法
3、中断嵌套 指当CPU因响应某一中断源的中断请求而正在执行其中
断服务程序时,若此时中断是开放的,那必然可以把正在执 行的中断服务程序暂停下来转而响应和处理中断优先级更高 的中断请求,等到处理完后再转回来继续执行原来的中断服 务程序。
微型计算机的中断系统
9.2 8086微处理器的中断方式
例:中断类型号30H (30H×4=C0H) 中断向量存于IP 0000H:00C0H 10H 0000H:00C1H 20H CS 0000H:00C2H 30H 0000H:00C3H 40H 则中断所对应的中断向量为4030H:2010H,也即该中
断服务程序的入口地址。
微型计算机的中断系统
四、设置中断向量
用户中断 224个
微型计算机的中断系统
0000H:03FCH
255/0FFH 0000H:03FFH
例:NMI中断,为2号中断 中断向量存于 IP 0000H:0008H 0000H:0009H CS 0000H:000AH 0000H:000BH 中断响应后CPU根据CS和IP内容进入中断子程序。
微型计算机的中断系统
4)中断处理 保护现场;
开中断,以允许嵌套,也可不开中断; 中断服务; 关中断,保证无干扰恢复现场; 恢复现场。
5)中断返回 开中断;
中断返回。
微型计算机的中断系统
2、中断优先级的识别
当有多个中断源同时提出中断申请时,究竟应该先响应 哪个中断源的申请;当CPU正在执行中断服务程序时,又接 收到新的中断申请,是否应该响应这个中断请求,这些问题 都应当通过设置与判断中断的优先级来得以解决。
2、异常(软件中断或内中断)
因内部意外条件而改变程序执行流程以报告出错情况 和非正常状态的过程或者由程序预先安排,即由指令 INT n调用中断服务程序产生的中断。(286以上称内中 断为异常)可分为失效、陷阱和终止。
微型计算机的中断系统
二、中断原理(外中断)
1、中断过程
1)中断请求 2)中断判优 3)中断响应
微型计算机的中断系统
2、使用串送存指令装入法
微型计算机的中断系统
三、中断向量与中断向量表
中断向量:中断服务 程序入口地址。
中断向量表:用于存 放256个中断向量的 存储区域,共占1KB 存储空间。
中断向量指针:在向 量表中存放每个中断 向量的地址。
专用中断 5个
保留中断 27个
IP CS
0
1
2 3 4
5
0000H:0000H
0000H:0003H
一、中断分类
从8086/8088到以上系统中,可以处理256个不同类型的 中断,其编号从00H~0FFH,称为中断类型号。
➢ 内部中断:
▪ 除法出错 ▪ 单步中断 ▪ 断点中断 ▪ 溢出中断 ▪ INT n
类型号0 类型号1 类型号3 类型号4 类型号n
自动产生 DEBUG执行T命令 DEBUG执行G命令 执行INTO (05H ~0FFH)
前面提到8086/8088利用向量中断的方法,一旦响应中 断便可方便地找到中断服务程序的入口地址。它是在规定 的内存区域中,每4个连续字节存放一个中断向量,可建立 一个1KB大小的中断向量表。尽管表规定了内存区域,但 表中的内容,除已被系统定义的中断类型的中断向量以 外,其他新增加的中断类型要在中断向量表中由用户建立 相应的中断向量。为了让CPU响应中断后正确转入中断服 务程序,中断向量表的建立是非常重要的。
理引起中断事件的程序,然后再返回被中断了的程序, 继续执行。这个过程就是中断。
微型计算机的中断系统
早期中断概念的引入,是为解决CPU与外设间的速度 匹配问题,提高CPU 的工作效率。中断源主要是由外部 硬件产生。当今的中断技术,不再限于外部硬件产生中 断(称硬件中断或外中断 ),还可由CPU内部产生。
IR 3
可编程 IR 4 中断 控制器 IR 5
(PIC) IR 6
IR 7
二、8086(8088)CPU的中断优 先级
优先级


内部中断 ( 除法出错,INT 指令,断点,INTO指令 )
非屏蔽中断
可屏蔽中断

内部中断( 单步 )
当有多个中断源同时产生中断申请时,CPU先响应 优先权最高的中断源,再响应优先级较低的中断源。
相关文档
最新文档