第7章 中断系统

合集下载

51单片机学习教程第7章 中断PPT课件

51单片机学习教程第7章 中断PPT课件

2020/8/20
单片机C语言程序设计
19
中断的优先原则
8051单片机中断优先级遵循以下原则:
中断 Interrupt
1
标题添加
点击此处输入相 关文本内容
标题添加
点击此处输入相 关文本内容
总体概述
点击此处输入 相关文本内容
Байду номын сангаас
点击此处输入 相关文本内容
2
中断的事例
日常生活中有很多计划任务要完成 或突发事件要处理,常用的是查询法, 但更好的处理办法是中断。
如烧开水时,水烧开后应及时切断 加热源。
RI/TI=1
10
单片机中断系统的结构
中断服务程序入口地址和中断号:
中断源
中断标志
中断服务程序入 口地址
优先级顺序
外部中断(INT0) IE0
0003H

定时/计数器0(T0) TF0
000BH

外部中断(INT1) IE1
0013H

定时/计数器1(T1) TF1
001BH

串行口
RI和TI
0023H
1. 查询法:不断地检查水是否烧开 2. 中断法:在烧水的壶上装哨子,利用水
烧开后的蒸汽吹响哨子
2020/8/20
单片机C语言程序设计
3
中断的概念
计算机处理的任务按实时性要求分 为两类:
1. 非实时性任务:显示刷新、声音鸣响 2. 实时性任务:系统错误处理、实时监控
对于实时性要求高的任务,出现后 要求立即处理,采用轮询的方式容易实 现,但实时性不高,浪费CPU时间,采 用中断的方式较为适宜。
9
单片机中断系统的结构

微计算机原理(第2版)课后习题答案潘名莲马争丁庆生编著

微计算机原理(第2版)课后习题答案潘名莲马争丁庆生编著

第七章微计算机的中断系统7-1 什么是中断类型码、中断向量、中断向量表?在基于8086/8088的微机系统中,中断类型码和中断向量之间有什么关系?解:处理机可处理的每种中断的编号为中断类型。

中断向量是指中断处理程序的入口地址,由处理机自动寻址。

中断向量表是存放所有类型中断处理程序入口地址的一个默认的内存区域。

在8086系统中,中断类型码乘4可得到向量表的入口,从此处读出4字节内容即为中断向量。

7-2 什么是硬件中断和软件中断?在PC机中两者的处理过程有什么不同?解:硬件中断通过中断请求线输入电信号来请求处理机进行中断服务;软件中断是处理机内部识别并进行处理的中断过程。

硬件中断一般由中断控制器提供中断类型码,处理机自动转向中断处理程序;软件中断完全由处理机内部形成中断处理程序的入口地址并转向中断处理程序,不需外部提供信息。

7-3 试叙述基于8086/8088的微机处理硬件中断的过程。

解:以INTR中断请求为例。

当8086收到INTR的高电平信号时,在当前指令执行完毕且IF=1的条件下,8086在两个总线周期中分别发出INTA#有效信号;在第二个INTA#期间,8086收到中断源发来的一字节中断类型码;8086完成保护现场的操作,CS、IP内容进入堆栈,清除IF、TF;8086将类型码乘4后得到中断向量入口地址,从此地址开始读取4字节的中断处理程序的入口地址,8086从此地址开始执行,完成INTR中断请求的响应过程。

7-4 在PC机中如何使用“用户中断”入口请求中断和进行编程?解:PC机中分配用户使用的中断是IRQ9,经扩展槽B40h亿引出,故把用户的中断请求线连接到B40h上。

在应用程序中,利用25H号系统调用将中断服务程序的入口地址写入对于0AH 类型中断对应的中断向量表中去。

在应用程序中把主片8259A D2屏蔽位清零,把从主片8259A D1屏蔽位清0,使主片的IR2、从片的IR1可以输入中断请求。

微机原理第7章 8086中断系统和中断控制器

微机原理第7章 8086中断系统和中断控制器

3)高级中断源能中断低级的中断处理
中断嵌套 当CPU正在响应某一中断源的请求,执行为其服务的中断服务程序时, 如果有优先级更高的中断源发出请求,CPU将中止正在执行的中断服务程 序而转入为新的中断源服务,等新的中断服务程序执行完后,再返回到被 1 中止的中断服务程序,这一过程称为中断嵌套。 • 中断嵌套可以有多级,具体级数原则上不限,只取决于堆栈深度。
外部中断 非屏蔽中断 可屏蔽中断
可屏蔽中断源
CPU 中断逻辑
INTR
8259A 中断 INTA 控制器
INT N 指令
INTO 指令
除法 错误
单步 中断
IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7
外 设 中 断 源
内部中断: 除法错中断 指令中断 溢出中断 单步中断
硬件(外部)中断 非屏蔽中断请求 INT 2 NMI(17号引脚) 中 断 逻 辑 可屏蔽中断请求 中断类型号32~255 INTR(18号引脚)
中断指令 INT n N=32~255
溢出中断 INTO INT 4
断点 中断 INT 3
单步中断 (TF=1) INT 1
除法 错误 INT 0
软件(内部)中断
8086/8088中断源
1.软件中断(内部中断) 8086/8088的软件中断主要有三类共五种。 (1) 处理运算过程中某些错误的中断 执行程序时,为及时处理运算中的某些错误 ,CPU以中断方式中止正在运行的程序,提醒程 序员改错。 ① 除法错中断(中断类型号为0)。在8086 /8088 CPU执行除法指令(DIV/IDIV)时,若发现 除数为0,或所得的商超过了CPU中有关寄存器所 能表示的最大值,则立即产生一个类型号为0的 内部中断,CPU转去执行除法错中断处理程序。

7章中断系统

7章中断系统

① 0型中断——除法出错中断。 ② 1型中断——单步中断。 ③ 3型中断——断点中断(INT)。 ④ 4型中断——溢出中断(INTO指令)
(2)指令中断——INT n指令,其类型号就是 给定的n。
7.2.2 中断向量和中断向量表
IP 000 类型0中断入口(除法出错) CS
专 004 类型1中断入口(单步中断) IP
(2)CPU的标志寄存器入栈,以保护各个标志位, 此操作类似于PUSHF指令。
(3)清除IF和TF标志,屏蔽新的INTR中断和单步 中断
(4)保存断点,即把断点处的IP和CS值压入堆栈, 先压入CS值,再压入IP值。
(5)根据第一步计算出来的地址从中断向量表中 取出中断服务程序的入口地址(段和偏移),分 别送至CS和IP中。
3.若CPU处于开中断状态,则在当前指令 执行结束后,启动中断响应总线操作,发出 两个负脉冲作为响应信号。
4.8259A接收到第一个负脉冲,完成如下工作:
(1)使ISR相应位置1,表示CPU已为该中断请求服务。
(2)使IRR的相应位清0。
5.8259A接收到第二个负脉冲,将中断类型号送 上数据总线。中断类型号由用户编程和中断请求 引脚IRi的序号i共同决定(CPU读取中断类型号, 经响应过程后,进入中断服务程序,直到服务结 束返回)。
图5-1 中断处理过程
1.中断请求
中断请求是中断过程的第一步。中断源产生中断请求 的条件,因中断源而异
2.中断判优
由于中断产生的随机性,可能出现两个或两个以上的 中断源同时提出中断请求的情况。这时就必须要求 设计者事先根据中断源的轻重缓急,给每个中断源 确定一个中断级别——优先权。
3.中断响应
中断优先权确定后,发出中断申请的中断源中优先权 最高的中断请求就被送到CPU的中断请求引脚上。

单片机讲义第七章

单片机讲义第七章

一、中断的起因
什么可以引起中断? 生活中很多事件可以引起中断:有人 按了门铃了,电话铃响了,你的闹钟闹响 了,你烧的水开了….等等诸如此类的事件, 我们把可以引起中断的称之为中断源,单 片机中也有一些可以引起中断的事件, 8051中一共有5个:两个外部中断,两个 计数/定时器中断,一个串行口中断。
三、中断的响应过程
当有事件产生,进入中断之前我们必须先记住现 在看书的第几页了,或拿一个书签放在当前页的位置, 然后去处理不同的事情(因为处理完了,我们还要回 来继续看书):电话铃响我们要到放电话的地方去, 门铃响我们要到门那边去,也说是不同的中断,我们 要在不同的地点处理,而这个地点通常还是固定的。 89C51中也是采用的这种方法,五个中断源,每个 中断产生后都到一个固定的地方去找处理这个中断的 程序,当然在去之前首先要保存下面将执行的指令的 地址,以便处理完中断后回到原来的地方继续往下执 行程序。
二、中断的嵌套与优先级处理
设想一下,我们正在看书,电话铃响了,同时又 有人按了门铃,你该先做那样呢?如果你正是在等一 个很重要的电话,你一般不会去理会门铃的,而反之, 你正在等一个重要的客人,则可能就不会去理会电话 了。如果不是这两者(即不等电话,也不是等人上 门),你可能会按你通常的习惯去处理。总之这里存 在一个优先级的问题, 单片机中也是如此,也有优先级的问题。优先级 的问题不仅仅发生在两个中断同时产生的情况,也发 生在一个中断已产生,又有一个中断产生的情况,比 如你正接电话,有人按门铃的情况,或你正开门与人 交谈,又有电话响了情况。考虑一下我们会怎么办吧。
电平触发的外部中断的清除
对于电平触发的外部中断,CPU响应中断后, 虽然也是由硬件清除了相应的标志位,但是不 能对外部引脚上的电平进行处理,也就是说, 这时如果外部引脚上的低电平依然存在,会造 成重复中断,因此我们应该在电路上增加对外 部引起中断的信号进行处理。P148图7-5是一 个可行的方案之一。通过I/O口输出一个信号, 使得外部引脚上的中断请求信号变为高电平。

STC15F2K60S2单片机中断系统 例题

STC15F2K60S2单片机中断系统 例题

ORG 0100H MAIN:
MOV SP,#60H SETB IT0 SETB EX0 SETB EA LOOP: MOV A, P1 ANL A,#15H JNZ Trouble CLR P1.7 SJMP LOOP Trouble: SETB P1.7
;设定堆栈区域 ;设定外部中断 0 为下降沿触发方式 ;开放外部中断 0 ;开放总中断
void int0_isr( ) interrupt 0
{
Pl = i;
i <<= 1 ; if(i==0) i = 0xfe;
//移位 8 次后,i 将变为 0,需要重新赋值
} /*------------------------ 主函数------------------------*/
139
void main(void) {
汇编语言参考程序如下:
ORG 0000H
LJMP MAIN
ORG 0003H
LJMP INT0_ISR
ORG 0l00H
MAIN:
MOV A,#0FEH ;设置 LED 灯起始驱动信号
SETB IT0
;设置外部中断 0 为下降沿触发方式
SETB EX0
;开放外部中断 0
SETB EA
;开放总中断
SJMP $
;读取 P1 口中断输入信号 ;截取中断输入信号 ;有中断请求,转 Trouble,熄灭正常工作指示灯 LED3 ;无中断请求,点亮 LED3 ;循环检查与判断
;熄灭 LED3
141
SJMP LOOP
;循环检查与判断
INT0_ISR:
JNB P1.0,No_Trouble_0 ;查询 0 号故障源,无故障转 No_Trouble_0,熄灭 LED0

第7章 中断处理

第7章 中断处理
•打印机的打印事务; 打印机的打印事务; 打印机的打印事务 •数据采集中的 数据采集中的A/D转换等。 转换等。 数据采集中的 转换等
多道程序或多重任务的运行:分时中断处理。 多道程序或多重任务的运行:分时中断处理。
4. 中断源 任何能够引发CPU中断的事件都称为中 中断的事件都称为中 任何能够引发 中断的事件 断源。 断源。
二、多中断源情况下的特殊问题
1. 中断源的识别
对于软件中断而言,CPU对中断源的识别靠 对于软件中断而言, 对中断源的识别靠 软件中断指令( 来识别, 软件中断指令(INT n)中的中断号 来识别,并 )中的中断号n来识别 转到响应中断服务程序去执行。 转到响应中断服务程序去执行。 对于硬件中断,CPU只有一个 只有一个NMI和INTR引 对于硬件中断,CPU只有一个NMI和INTR引 当有多个外设要申请中断时, 脚,当有多个外设要申请中断时,就必须通过中 断接口电路来连接, 断接口电路来连接,同时给每个中断外设编排一 个中断号( 系统称为中断类型码)。 个中断号(8086系统称为中断类型码)。当任一 系统称为中断类型码)。当任一 外设有中断申请时, 外设有中断申请时,通过中断接口电路将外设中 断信号转发给CPU,然后再由 断信号转发给 ,然后再由CPU从中断接口电 从中断接口电 路读取该中断源的编号。 路读取该中断源的编号。
中 断 控 制 器
IRQ0 IRQ1
外设0 外设1
IRQn
外设n
软硬件结合的简易中断控制器
≥1
2. 中断优先级 对于多中断源而言, 对于多中断源而言,存在各中断源的优先级别 问题。当两个及以上的中断源同时申请中断时, 问题。当两个及以上的中断源同时申请中断时,最 先响应哪个中断源的中断请求, 先响应哪个中断源的中断请求,则由它们的优先级 别决定。 别决定。 可屏蔽中断源的优先级别由中断控制器决定。 可屏蔽中断源的优先级别由中断控制器决定。 8086系统中各类中断的优先级别如下: 系统中各类中断的优先级别如下: 系统中各类中断的优先级别如下

第7章 中断处理技术与DMA技术

第7章  中断处理技术与DMA技术
课件制作人:刘永华
7.1 中断的基本概念
(4)在中断响应周期的第二个总线周期中, 读取中断类型号,找到中断服务程序的入口地 址,自动将程序转移到该中断源设备的中断处 理程序的首地址,即将中断处理程序所在段的 段地址及第一条指令的有效地址分别装入CS及 IP,一旦装入完毕,中断服务程序就开始执行。 上述过程,即从CPU响应中断请求,到中断 现行程序并将程序转移到中断处理地址的过程 称为中断响应过程。不同的机器,在中断响应 期间所完成的功能基本类似,但实现方法不尽 课件制作人:刘永华 相同。
* 7.4
* 7.5
第7章 中断处理技术与DMA技术
* 7.6 DMA控制器8237A 7.6.1 主要特性 7.6.2 8237A引脚及结构 7.6.3 8237A的软件命令 7.6.4 8237A的工作时序 * 7.7 8237A初始化编程 * 7.8 8237A应用实例 7.8.1 初始化 7.8.2 应用实例
刘永华7280868088的中断系统类型号中断名称类型号中断名称0003h0h除法出错6063h18h常驻basic入口0407h1h单步6467h19h引导程序入口080bh2h不可屏蔽686bh1ah时间调用0c0fh3h断点6c6fh1bh键盘ctrlbreak控制1013h4h溢出7073h1ch定时器报时1417h5h打印屏幕7477h1dh显示器参数表181bh6h保留787bh1eh软盘参数表1c1fh7h保留7c7fh1fh字符点阵结构参数2023h8h定时器8083h20h程序结束返回dos2427h9h键盘8487h21h系统功能调用282bh0ah保留888bh22h结束地址2c2fh0bh通信口28c8fh23hctrlbreak退出地址表71ibmpcxt机的中断向量表课件制作人
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

可 屏 蔽 中 断 请 求
软件中断
硬件中断
小结: 中断分类及中ຫໍສະໝຸດ 类型码8086/8088系统最多可处理256级不同类型的中断。
可屏蔽中断(INTR) 外部中断(硬件中断) 非屏蔽中断(NMI,中断类型码2) 中断分类 单步中断(中断类型码1) 内部中断(软件中断) 断点中断(中断类型码3) 溢出中断(中断类型码4) Int n 中断
器退出暂停状态,响应中断,进入中断处理程序。
若现行指令为WAIT指令,且 TEST 引脚加入低电平信号, 则中断请求信号INTR产生后,便使处理器脱离等待状态,响 应中断,进入中断处理程序。
HLT: 暂停指令
(4) 8259A连续两次接收(2个总线周期) INTA = 0的中断 响应信号后,便通过总线将中断矢量号送CPU。 (5) 保护断点。将标志寄存器内容、当前CS内容及当前IP 内容压入堆栈: (SP)←(SP)-2
((SP)+1:(SP))←(PSW)
(SP)←(SP)-2 ((SP+l:(SP))←(CS) (SP)←(SP)-2 ((SP)+1:(SP))←(IP)
(6) 清除IF及TF(IF←0,TF←0),以便禁止其它可屏蔽中 断或单步中断发生。 (7) 求中断程序的入口地址 :根据8259A向CPU送的中断 矢量号n求得矢量地址,再查中断矢量表,得相应中断处理程 序首地址(段内偏移地址和段地址),并将 位首地址置入CS及
7.1 概述
中断和异常是处理器处理突发事件时所采取的两种不同 的处理方法,具体来说,中断指的是处理器暂停当前的程序, 转而去处理中断事件;而异常虽然也会对异常事件作出反应, 但不一定会暂停当前的程序。 在8086/8088处理器时代,中断主要包括外部中断 和 内 部中断两种。 在386/486等32位处理器时代,内部中断的数量和功能被 扩充,习惯上,称内部中断为异常,而中断则主要指外部中 断。
连续2个
IF←0, TF ←0,禁止发生可屏蔽中断和单步中断 根据中断类型码求中断的入口地址CS:IP,转入 相应的中断子程序
堆栈
IRET
开中断为 了实现中 断的嵌套
外部可屏蔽中断的响应和处理过程
(3) CPU是否立即发中断响应信号 INTA ? 如果现行指令不是HLT或WAIT指令,则CPU执行完当前 指令后便向8259A发出中断响应信号( 响应该可屏蔽中断请求。 若现行指令为HLT,则中断请求信号INTR的产生使处理 = 0),表明CPU INTA
第七章
中断和异常
7.1 概述 7.2 中断 7.3 异常 7.4 中断及异常的优先级 7.5 8086中断系统 7.6 中断优先级管理器8259A-PIC 习题与思考题
为什么要使用中断?
从查询式的传输过程可以看出,它的优点是硬件 开销小,使用起来比较简单。但在此方式下,CPU要不 断地查询外设的状态,当外设未准备好时,CPU就只能 循环等待,不能执行其它程序,这样就浪费了CPU的大 量时间,降低了主机的利用率。
① 保护现场(由一系列的PUSH指令完成)。目的是为了保护那 些与主程序中有冲突的寄存器,(如AX,BX,CX等),如果中 断服务子程序中所使用的寄存器与主程序中所使用的寄存器等 没有冲突的话,这一步骤可以省略。 ② 开中断(由STI指令实现)。目的是为了能实现中断的嵌套。 ③ 中断服务 ④ 恢复现场是与保护现场对应的,但要注意数据恢复的次序,以 免混乱。 ⑤ 返回(使用中断返回指令IRET)。 中断处理程序执行完毕, 最后执行一条中断返回指令IRET,将原压入堆栈的标志寄存 器内容及断点地址重又弹出至原处。
7.5.3 外部可屏蔽中断的响应和处理过程(p323)
终端或异常的响应顺序:① 除法出错;② 中断指令INT n; ③ 溢出中断;④ 非屏蔽中断NMI;⑤ 可屏蔽中断INTR;⑥ 单步中断。 外部可屏蔽中断的响应和处理过程示于图8.5中,简述如下: (1) CPU响应中断的条件:CPU要响应可屏蔽中断请求, 必须满足的条件:中断允许标志置1( IF=1),没有异常,没有 非屏蔽中断(NMI=0),没有总线请求(HOLD=0),无内部中断 (对8086则为无软件中断)。 (2) 外部设备发中断请求: 当某一外部设备通过其接口电 路向中断控制器8259A发出中断请求信号时,经8259A处理后, 得到相应的中断矢量号,并同时向CPU申请中断(INT=1)。
②异常分类: 产生异常后,系统根据引起异常的程序是否可被恢复这一 原则,进一步又把异常分为故障(Fault)、陷阱(Trap)和中止 (Abort)三类。
故障是引起该故障的程序可被恢复执行的异常,它也是 在引起故障的指令执行之前就报告给系统的一种异常。 陷阱是在指令执行期间被检测到的,并在引起异常的指 令执行之后向系统报告的一种异常。 中止是微处理器面临严重错误时产生的异常。例如,系 统出现硬件错误或系统表中出现非法值或不一致的值时,便产 生中止异常,引起中止的指令无法确定。产生中止时,正执行 的程序不能被恢复。因而,产生中止异常后,系统需重建各种 系统表格,或需重新启动操作系统。
1. 中断矢量表: p322
8086中断系统中的中断向量表是位于0段的0~3FFH 的存贮区内,每个中断向量占四个单元,其中前两个单元存 放中断处理子程序的入口地址的偏移量(IP),低位在前,高 位在后;后两个单元存放中断处理子程序入口地址的段地址 (CS),也是低位在前,高位在后,整个中断向量的排列是按 中断类型号进行的。
… …
系统保留中断
类型17~31
080H

用户自定义中断 类型32~255
3FFH
图示给出了中断类型码与中断向量所在位置之间的对 应关系。共有256个中断(00H~0FFH),其中: 类型00H~04H:专用中断; 类型05H~3FH:系统保留中断; 类型40H~0FFH:用户定义的中断。
BIOS: 基本输入输出系统 中断向量和中断向量表: 00H~04H----系统专用 10H~1FH----BIOS用( INT 21H 即为MS-DOS 的系统调用) 40H~FFH----用户用 08H~0FH----硬件中断 20H~3FH----DOS用
① 可屏蔽中断: 由INTR引脚引入,它受中断允许标志IF 的影响和控制,即当 IF=1时,可屏蔽中断才能进入,反之 则不允许进入,可屏蔽中断可有多个,一般是通过优先级排 队,从多个中断源中选出一个进行处理。
★ 当IF被软件采用STI指令置1时,表明允许可屏蔽中断, CPU响应可屏蔽中断INTR; ★当IF被软件采用CLI指令置0时,表明禁止可屏蔽中断。 IF位可禁止可屏蔽中断的这一特性可用来将程序代码的 某一特定区域(常称为程序的临界区)设置成禁止中断,以保证 该区域内程序段的可靠执行。 ② 非屏蔽中断:经由NMI信号线(边沿触发)请求的中断称为 非屏蔽中断。 由NMI引脚引入,它不受中断允许标志的影响,每个系 统中仅允许有一个,都是用来处理紧急情况的,如掉电处理。 这种中断一旦发生,系统会立即响应。
7.4 中断及异常的优先级 (p321)
当计算机系统中有多个中断源时,中断管理系统将规定一
套机制,用以解决多个中断源得到CPU服务的先后次序。 当80X86 CPU完成当前指令的执行后,
将先按照以下的顺序检查是否有中断(包括异常)请求:①
除法出错;② 中断指令INT n;③ 溢出中断;④ 非屏蔽中断 NMI;⑤ 可屏蔽中断INTR;⑥ 单步中断。 然后把优先级最高的中断或异常通知给系统,将优先级较 低的异常废弃,而将优先级较低的中断挂起;当把较高优先级
为什么要使用中断? 为了解决这个矛盾,提出了中断传送方式,即当CPU 进行主程序操作时,外设的数据已存入输入端口的数据寄 存器;或端口的数据输出寄存器已空,由外设通过接口电 路向CPU发出中断请求信号,CPU在满足一定的条件下, 暂停执行当前正在执行的主程序,转入执行相应能够进行 输入/输出操作的子程序,待输入/输出操作执行完毕之后 CPU即返回继续执行原来被中断的主程序。 这样CPU就避免了把大量时间耗费在等待、查询状态 信号的操作上,使其工作效率得以大大地提高。
7.5.2 中断向量表(P322)
中断向量:把各个中断服务子程序的入口地址都称为一个 中断向量; 中断向量(矢量)表:将中断向量按一定的规律排列成一 个表构成中断向量表,当中断源发出中断请求时,即可查找该 表,找出其中断向量,就可转入相应的中断服务子程序。 向量表地址:中断向量在中断向量表中的位置。 实地址方式下,微处理器采用中断矢量表(Interrupt Vector Table, IVT)的方法来存储转入中断处理程序的入口地址。 中断矢量表起始于物理内存地址0,长度为1 KB,并依中 断矢量号为序连续存放256个中断的中断处理程序首地址。
的中断处理完后,再按优先级次序响应和处理挂起的中断。
7.5 8086中断系统
7.5.1 中断分类及中断类型码
中断源 引起中断的原因或发出中断请求的设备称为中断源。
1. 中断分类 p314 中断源可以分为两大类,即外部(硬件)中断和内部(软件)中断。 (1)硬件中断:即通过外部的硬件产生的中断,如打印机、键 盘等。硬件中断又可分为:可屏蔽中断 和 非屏蔽中断。
2. 矢量地址
矢量地址 = (中断矢量类型号*4)
0000:007EH 0000:007FH 0000:0080H 0000:0081H 0000:0082H 0000:0083H 0000:0084H
… 12H 45H 10H 20H 30H 40H 52H
… 【例】某段内存空间的内容如右图所示。若已知中断的类型号 为20H, 求中断服务子程序的入口地址。 解:中断向量的存放位置为20H×4=80H,则在中断矢量地址 0000:0080H~0000:0083H中就应顺序放入10H、20H、30H、 40H(IP=2010H CS=4030H,即中断服务子程序的入口地址为 4030:2010 )。 当系统响应类型为20H号中断时,会自动查找中断向量, 找出对应的中断向量装入CS、IP,即转入该中断服务子程序。
相关文档
最新文档