8 中断及中断系统
微机原理第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转去执行除法错中断处理程序。
中断与中断系统的基本概念汇总

中断与中断系统的基本概念汇总中断是计算机中的一种机制,用于在计算机运行过程中处理各种外部事件。
中断系统是计算机系统中实现中断机制的硬件和软件部分的总称。
在计算机系统中,中断机制起着非常重要的作用,它使得计算机可以同时处理多个任务,提高了计算机系统的效率。
中断可以分为硬件中断和软件中断两种类型。
硬件中断是由计算机系统中的硬件设备引起的中断,例如设备I/O完成、时钟中断等。
而软件中断是由计算机系统中的软件引起的中断,例如系统调用、异常等。
中断系统的基本概念主要包括中断向量表、中断服务程序和中断处理机制。
中断向量表是一张存储中断服务程序入口地址的表,其中每个表项对应一个中断源。
当一个中断源发生时,其对应的表项会被检索,从而找到相应的中断服务程序入口地址。
中断服务程序是一段用于处理中断的程序代码,它负责处理特定类型的中断事件。
中断服务程序通常由系统内核提供,并且在中断发生时被自动调用。
中断处理机制是指计算机系统对中断请求的检测、响应和恢复过程。
当一个中断事件发生时,计算机系统会首先检测中断请求信号,然后根据中断请求的优先级,响应并调用相应的中断服务程序。
在中断服务程序执行完毕后,系统会根据需要进行中断恢复操作,然后继续执行中断前的程序。
中断机制具有以下几个特点:1.异步性:中断机制使得计算机可以及时响应外部事件,提高了系统的实时性。
不需要由程序主动请求,而是在外部事件发生时自动触发中断。
2.多任务处理能力:通过中断机制,计算机可以在处理一个中断事件的同时,同时处理其他的任务。
这样可以充分利用计算机系统的资源,提高系统的处理能力。
3.优先级控制:中断机制可以根据中断请求的优先级,调用相应的中断服务程序。
这样可以灵活地对不同类型的中断事件进行优先处理。
4.可靠性:中断机制使得计算机系统对于外部事件的处理更加稳定。
即使系统正在执行一个重要的任务,也能够及时响应其他重要的外部事件。
5.可扩展性:通过增加中断源和相应的中断服务程序,可以很方便地扩展计算机系统的功能。
中断系统中断概念一中断的概念中断是指在计算机执行

中断源
入口地址
INT0
0003H
T0
000BH
INT1
0013H
T1
001BH
串行口
0023H
(5)中断返回
S(E串ETM串串5(1.FEXSO)1行行行用10T:)V串:B口 口 口字EI行定自PEX节,T口#1时然00操:外中8/优计作HR断部先数指X允中级D器令00许断00:(T22控0133),中外HH制T断部位X标D中志(断位1)中断允许控制位
5.5 中断优先级控制 1、中断优先级寄存器
IP
BCH BCH BBH BAH B9H B8H
B8H X X X PS PT1 PX1 PT0 PX0
高优先级
MCS-51系列单片机有两级中断级
低优先级
PX0,PT0,PX1,PT1,PS分别为INT0,T0,INT1,T1 串行口中断优先级控制位,当相应位为0时为低优先级,相应 为1时为高优先级。
例5 .2 要将T1定时器定义为最高优先级,其他中断定义为低 优先级,如何设置IP?
(1M M)用OO字VV 节AIE操8,H作,##指88E令EHH E串串 例串P中IT串(TCTRRTUP0行行:行断行1000US:)::口 口口 源 口HE响外置TI定定应N1部相PT时时,中ES_中应//TWT断计计断2R的0:后数数:X定0优D触,器器00入0时先000(发于TT口222计级00333)方中地运 运数HHH触式断T址行行器发X选返控控TD器0择回制制(,状T前位位1)态,,T为2应中1该断撤控销制中位断请求。 (2S)E用T位B E操A作 P中生S…ITUE1断的…TS:B是 事 .H外E指件部TP在,1S中W计待断算处0机理触执完发行毕方程后式序,选的再择过返程回当来中执,行当原外来部被设中备断发的生程某序一。事件时,请求CPU处时,CPU暂时中断当前程序的执行,转去处理所发 SSSEEETTTBBB EEETTX010 EI(P先为ST中S1中生N0EXES假4级了断断的T0TT:)1串设,BB。 使 处 是 事转行允PEE这理指件T入TA口许些过在,00相中,打单程计待应断P开0元可算处X0的允0I的分机理01N0中B许,1T值为执完H31断控PH在三行毕及T服制1中个程后定,务位断阶序,时P程程段的再器S序分序:过返T入0别中中程回,T口为不断当来1,I禁被响中执NT止冲应,行0其,掉,当原他T,中外来0中在断部被,断进处设中IN,入理备断T试1中,发的设,断中生程置T1服断某序IE串务返一。. 行程回事口序。件中前时断,,优要请先将求级有C控P关U制寄处位存时,器,当保C相P护U应起暂位来时为。中0断时当为前低程优序先的级执,行相,应转为去1时处为理高所优发
中断技术是计算机中重要的技术之一,它既和硬件有关,又和软件有关正

89S51中断系统主要由几个与中断有关的特殊功
能寄存器、中断入口、顺序查询逻辑电路等组成。
89S51的中断系统结构框图示于图8-3。如图所示, 与中断有关的特殊功能寄存器有4个,分别为中断源 寄存器(即专用寄存器TCON、SCON的相关位)、 中断允许控制寄存器IE和中优先级,即可实现二级中 断嵌套。5个中断源的排列顺序由中断有限级控制寄 存器IP和顺序查询逻辑电路(图中的硬件查询)共同 决定。5个中断源对应5个固定的中断入口地址,亦称 矢量地址。
2、实现是实时处理
在实时控制中,现场的各个参数、信息是随时间和现场情况 不断变化的。有了中断功能,外界的这些变化量可根据要求, 随时向CPU发出中断请求,要求CPU及时处理,CPU就可以马 上响应(若中断响应条件满足)。这样的及时处理在查询方式 下是做不到的。
3、故障处理
计算机在运行过程中,出现一些事先无法预料的故障是难 免的,如电源突跳,在储出错,运算溢出等。有了中断功能, 计算机就能自行处理,而不必停机处理。
序事先却无法确知,因为“中断”的发生是由外部 的
因素决定的,程序中无法事先安排调用指令,因而 调用中断服务程序的过程是由硬件自动完成的。
8.1.2 引进中断技术的优点
计算机引进中断技术之后主要有如下优点:
1、分时操作
有了中断功能就解决了快速的CPU与慢速的外设之间的矛 盾。可以使CPU和外设同时工作。CPU在启动外设工作后,继 续执行主程序,同时外设也在工作,每当外设做完一件事,就 发出中断申请,请求CPU中断它正在执行的程序,转去执行中 断服务程序(一般情况是处理输入输出数据),中断处理完之 后,CPU恢复执行主程序,外设仍继续工作。这样CPU可以命 令多个外设同时工作,从而大大提高了CPU的利用率。
第8章 中断系统

中断执行示意图如下:
第18页
2012年6月11日星期一
第8章
结束当前指令?
内部中断?
中断系统
①
关中断 标志寄存器入栈 TEMP=TF(暂存) 清除IF、TF标志 断点(CS,IP)入栈 取中断向量 进入中断服务程序 开中断 执行中断服务程序 Y
N
有NMI?
有
无 N
无
有INTR?
有
IF=1?
Y Y
TF= N 1? 取中断类型码
第8页 2012年6月11日星期一
第8章
8.2.2 中断处理
中断系统
1.中断的处理过程 ⑴关中断。目的:在现场保护过程中,CPU不应该 响应更高级的中断源申请。 ⑵保存断点和现场。即将现行状态字和断点地址相 继压入堆栈。目的:在中断处理完后返回主程序时, 恢复原程序运行状态。 ⑶开中断。目的:允许更高级中断请求能够及时得 到响应,实现中断嵌套。 ⑷转入中断服务程序。目的:完成的最终目的。 ⑸ 退出中断。返回到主程序的执行。
第20页 2012年6月11日星期一
第8章
8.3.4 软件中断
中断系统
软件中断有如下特点: 1.INT n 指令,中断类型码是 n。 2.不执行中断响应总线周期,不读取中断类型码。 3.软件中断不受IF的影响。 4.可进行中断嵌套,即可以响应非屏蔽中断;当被软 件中断调用的中断处理子程序使IF=1时,那么也可响 应屏蔽中断的高优先级请求。 5.软件中断没有随机性,这是因为软件中断是由程序 中的中断指令引起的,何时执行,是事先知道的,所 以软件中断失去了随机性。
第21页 2012年6月11日星期一
第8章
8.4 中断控制器8259A
一、引言
中断系统
计算机硬件基础——第八章(中断系统)

AJMP MAIN
AJMP IT0P MAIN: MOV SP,#60H MOV TMOD, #01H MOV TH0 ,#M
DJNZ R7,DD2
DJNZ R5,DD1 RET
MOV TL0,#N
SETB TR0 SETB EA SETB ET0 SJMP $
从上例可看出中断大大提高了CPU的工作效率。
中建立堆栈。 ②在中断服务程序的开始应有保护现场的指令。 即将中断服务程序中用到的各寄存器的内容压入堆栈保存,在中 断结束之前弹回恢复,然后返回。这样就能保证返回原断点时各
寄存器内容与中断服务前相同,使原程序能正确运行。
③中断与调用子程序的异同: 中断过程中由主程序转向中断服务程序的请求是由外部设备提出 的,发生中断的时刻不确定,而在何处调用子程序则是由程序确 定的。
3
一.8031的中断请求源
有5个中断源,它们是:串行口 T1 INT1 T0 INT0
TCON (88H)中相应的位锁存它们的中断标志:
TF1 其中:
TR1
TF0
TR0
IE1
IT1
IE0
IT0
IT0 :INT0触发方式选择,0:低电平触发,1:负跳变触发
IE0 :INT0选择负跳变触发时的中断标志,0:INT0未申请中断, 1:INT0申请中断 INT0选择低电平触发时此标志无用。 IT1、IE1同上定义对INT1控制。
10
例
8000H
MOV A, #06H
①
8002H
8005H
MOV B, #05H
MUL AB MOV IE , #05H MOV R0 , #30H …………….
②
8006H 8009H 800BH
硬件技术基础第七章中断系统

CPU响应中断的条件和过程 CPU响应中断的条件和过程
恢复现场 把所保存的各个内部寄存器的内容和标志位的状态从 堆栈弹出,送回CPU中的原来位置。这个操作在8088 CPU中的原来位置 8088中也 堆栈弹出,送回 CPU中的原来位置。这个操作在8088 中也 是由服务程序中用POP指令来完成的。 POP指令来完成的 是由服务程序中用POP指令来完成的。 开中断与返回 在中断服务程序的最后,要开中断(以便CPU CPU能响应 在中断服务程序的最后,要开中断(以便 CPU能响应 新的中断请求)和安排一条返回指令,将堆栈内保存的IP 新的中断请求)和安排一条返回指令,将堆栈内保存的IP CS值弹出 程序就恢复到主程序中运行。 值弹出, 和CS值弹出,程序就恢复到主程序中运行。
中断系统
教学目的和要求
本章主要介绍中断的基本概念 , 中断响应过程 , 8088的中断方式 的中断方式, PC/XT的中断方式 的中断方式, 8088的中断方式,IBM PC/XT的中断方式,之后又介绍了 中断控制器8259 重点掌握中断概念、中断响应过程、 8259, 中断控制器 8259 , 重点掌握中断概念 、 中断响应过程 、 8088中断方式 中断方式。 8088中断方式。
中断系统
中断的屏蔽:有些中断源产生的中断,可以用编程的方法, 中断的屏蔽:有些中断源产生的中断,可以用编程的方法, CPU不予理睬 不予理睬。 使CPU不予理睬。 CPU响应中断转去执行中断服务程序前, CPU响应中断转去执行中断服务程序前,需要把被中 响应中断转去执行中断服务程序前 断程序的现场信息保存起来,以便执行完中断服务程序后, 断程序的现场信息保存起来,以便执行完中断服务程序后, 接着从被中断程序的断点处继续往下执行,这些现场信息 接着从被中断程序的断点处继续往下执行, 包括程序计数器的内容、CPU的状态信息 的状态信息、 包括程序计数器的内容、CPU的状态信息、执行指令后的 结果特征和一些通用寄存器的内容。 结果特征和一些通用寄存器的内容。 中断处理的隐操作: 中断处理的隐操作:有些信息的保存如程序计数器的内容 等由机器硬件预先安排完成。 等由机器硬件预先安排完成。 中断向量: 中断向量:有些信息的保存是在中断服务程序中预先安排 CPU响应中断 由中断源提供地址信息, 响应中断, 的。CPU响应中断,由中断源提供地址信息,
2.2.3 中断操作

(4)硬件中断的响应和时序
8086/8088CPU中断处理的基本过程
对该图作几点说明:
中断的基本过程可分为:中断请求,中断响应,中断处理 和中断返回。
按预先设计安排的中断优先权来响应中断。
对非屏蔽中断和可屏蔽中断的响应,CPU的处理动作基本 相同,仅仅有两点差别:
CPU遇到可屏蔽中断请求时,要先判断IF是否为1,若 IF为1,便进入中断响应过程。 CPU还要读取此中断的类型码。
溢出中断 断点中断 非屏蔽中断 单步中断 除数为0中断
专用的中断 类型2 (共5个)
类型1 类型0
0000:0008H 0000:0007H 0000:0004H 0000:0003H
0000:0000H
当CPU 响应中断访问入口地址表时,外设
应将一个8 位的中断类型码放在数据总线上,
CPU对编号n 乘以4得到4n指向该入口地址的
用户自己设计接口电路,利用寄存器/缓冲器组件
(7)最大与最小模式中断响应过程和响应时序的差异
பைடு நூலகம்
在最大模式的系统中,中断响应信号不是通过INTA引 脚发出的,而是通过状态线S2、S1、S0发出的。当CPU 响应中断请求时,S2、S1、S0同时输出低电平,总线控 制器回将这三个低电平信号组合,而得到INTA信号。 最大模式中,在总线控制器输出两个INTA负脉冲的同 时,CPU会在LOCK引脚上从第一个中断响应周期的T2到 第二个中断响应周期的T2之间维持一个低电平,以封锁 中断响应期间CPU以外的总线主模块发出的总线请求。
首字节:4n和4n+1单元中存放的是入口的偏
移地址值,其低字节在4n中,高字节在4n+1
中;4n+2和4n+3单元中存放的是入口的段基
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
“INT N”指令在程序中可用来调用某一特定功能的程序段 (如从键盘输入一个字符,输出一个字符到显示器等)。 从某种意义上说有些类似CALL指令,所不同的是“INT N” 指令保护主程序标志寄存器中各标志位的状态。另外,由 于类型码N可在00~0FF中任意指定,所以,用程序自中断 指令不仅能测试各种中断处理子程序,还可根据需要,扩 充系统功能,增加新的软中断指令。
每种类型的中断都由相对应的中断服务程序来处理,中断类型由中断类 型号来标识。中断服务程序的功能是多种多样的,所有中断服务程序 都具有相同的结构模式。中断服务程序的编写方法和标准子程序很类 似,下面是编写中断服务程序的步骤,但它与子程序编写有一些不同 之处。
(1)保存寄存器内容; (2)如允许中断嵌套,则开中断(STI); (3)处理中断; (4)关中断(CLI); (5)送中断结束命令(EOI)给中断命令寄存器; (6)恢复寄存器内容; (7)返回被中断的程序(IRET)。 中断处理程序除了编写结构特点外,在位置上也有特点。它们在80X86
14
MOV AH,01H INT 21H CMP AL,‘$’
向量地址 =21H×4=84H
0:0080 类型20H
0:0082 中断向量
0:0084 107C
IP
0:0086 00A7
CS
0:0088 类型22H
0:008A 中断向量
00A7:107C
STI … … IRET
图8.3 INT 21H中断操作过程图
3
在中断传送方式下,CPU不再循环查询外设的状态,而是在外设 “准备好”后,主动通知CPU。具体地说,外设通过接口电路 向CPU发出中断请求信号,CPU暂停执行当前正在执行的程序, 转入执行相应的中断服务程序。在中断服务程序中,执行I/O 操作,再返回继续执行原来被中断的程序。这样CPU就避免了 把大量时间耗费在等待、查询外设信息的操作上,故提高了 CPU的工作效率。
USER
对I/O设备 的程序请求
DOS
DOS
IBMDOS﹒CO M
IBMBIOS﹒C OM
ROM
BIOS
外设
图8.4 DOS和BIOS中断调用模块关系图
21
在某些情况下,既能选择DOS中断也能选择BIOS中断来执行 同样的功能。例如打印机输出一个字符,可用DOS中断21H 的功能5,也可用BIOS中断17H的功能0。因为BIOS比DOS更 靠近硬件,因此应尽可能地使用DOS功能,但在少数情况 下必须使用BIOS功能,例如,BIOS中断17H的功能2为读打 印机状态,它就没有等效的DOS功能。
DOS中断能处理大多数的I/O操作,但有一些功能没有提供, 如声音控制等,这就要考虑用I/O指令在端口级上编程, 或使用高级语言编程。
DOS中断和BIOS中断是两种最常用的中断,其它中断类型详 见附录3。这些中断服务在当前流行的WINDOWS操作系统中 依然存在,因为WINDOWS系统仍然加载了DOS内核。
系统中,都是由操作系统提供的,都不是浮动装配的,而是固定装配 的。装配的起始地址由中断向量表给出。并且,中断服务程序通常都 是常驻内存的,即系统一启动,就完成中断服务程序的装配。
7
8.1.4 中断向量表 每种中断类型都安排一个中断类型号。80X86中断系统能处
理256种类型的中断,类型号为000-0FFH。每种中断类型 号都对应一个中断服务程序,中断向量是中断服务程序的 入口地址,中断向量表就是各类型中断处理程序的入口地 址表。 其中,存储器的低1.5KB,地址从0段0000~5FFH为系统占用, 其中最低的1KB,地址从0000~3FFH存放中断向量。中断 向量表中的256项中断向量对应256种中断类型,每项占用 4个字节,其中2个字节存放中断服务程序的段地址(16 位),另2个字节存放偏移地址(16位)。因为各服务程 序的段地址和偏移地址在中断向量表中按中断类型号顺序 存放(如图8.2所示),所以每类中断向量的地址可由中 断类型号N×4计算出来。
8
中断向量表
0:0000 0:0004 0:0008
类型0中断服务程序入口地址 NhomakorabeaIP
CS
类型1中断服务程序入口地址
类型2中断服务程序入口地址
… …
…
0:03FC
类型FF中断服务程序入口地址
图8.2 中断向量表
9
8.2中断指令与中断调用
8.2.1 软中断指令
软中断又称为程序自中断,它是用中断指令实现的。 ⑴中断指令 格式:INT N;其中,N为中断类型号。
包括一个文件管理程序和其它处理程序,在DOS 环境下运行的程序可以调用这些服务。为了完成DOS功能 调用,把信息传送给,或者 再把信息传送给ROM BIOS,形成一级或多级 BIOS调用。
20
DOS和BIOS中断调用模块关系图
22
8.3.2 中断服务程序
中断系统是操作系统提供的中断服务程序的集合,不同的中 断类型对应着不同的中断服务程序,只不过中断服务程序 的名字用的是00~FFH编号,即中断类型号而已。这样有 利于快速查找中断服务程序的入口地址。
当计算机启动成功之后,这些中断服务程序将被调入内存。 操作系统提供的以INT 21H形式调用的中断只是DOS中断 (20H~FFH)服务程序的一部分,还有一部分是BIOS中断 (10H~1AH)服务程序,以及其它中断类型的服务程序等。
5
表8-1 常用的中断类型号及其对应的中断名
中断类型号 00-1F 20-3F 40-5F 60-67 68-6F 70-77 78-7F 80-FD F1-FF
中断类型 BIOS中断 DOS中断向量 扩充BIOS中断向量 用户中断向量
保留 I/O设备中断向量
保留 BASIC 保留
6
8.1.3 中断服务
第八章 中断及中断系统
8.1中断工作原理 8.2中断指令与中断调用 8.3终端系统应用 8.4中断服务程序编写
中断是CPU与外设之间进行输入输出的一种有效方法, 它是CPU中止正在执行的程序而转去处理特殊事件 的过程。具有这种功能实现这种过程的软、硬件 环境称中断系统。
中断技术的应用非常广泛。现代计算机系统中多道 程序的分时运行、实时控制、人机通讯、计算机 故障处理、对I/O设备的管理等均使用中断技术。 中断技术能够充分发挥计算机的软、硬件功能, 提高工作效率和实时处理能力。
功能:①(FLAGS)→↓(SP) 0→IF、TF ②(CS)→↓(SP) (4*N+2)→CS ③(IP)→↓(SP) (4*N)→IP
说明:首先将CS、IP寄存器的内容压入堆栈,然后IP、 CS从中断向量表的4*N~4*N+3共4个字节单元中获取N号中 断处理子程序的入口地址。最后根据IP和CS寄存器中地址 值的内容,CPU便转入N号中断处理子程序执行中断服务。
21号中断 服务程序
15
8.2.3 中断与子程序
子程序是程序设计的一种方法,是把具有固定功能、在编程 中经常重复使用的程序段设计成子程序,在需要时调用。
中断是计算机系统支持的一种重要功能,当发生中断时,系 统执行一段特定的服务程序,根据中断源的不同,需要把 中断分为软件中断与硬件中断。
16
软件中断、硬件中断与子程序之间有一些共同之处。
23
同一种中断类型的服务程序又具有很多子功能,完成各个子 功能的程序段都集中放在一起,并且有一个总控程序,构 成了一个整体。例如DOS系统的21H号中断,整个中断服务 子功能程序段的入口地址放在了21H号中断向量中。这是 一个软件中断,调用方式是INT指令,并规定调用时AH中 必须存放子功能号,不同的子功能还需要有不同的入口参 数,在前面第5.6章节中讲述的1号、2号、9号、10号子功 能,实际上是DOS提供给用户的21H号中断服务程序的子功 能,同时还包括如何读写文件、如何申请和释放内存、如 何修改中断向量、如何取得及修改系统当前的日期和时间 等等
为了保证在执行完中断处理子程序之后能正确返回到被 中断程序处继续执行,通常在中断处理子程序的最后写上 中断返回指令。
10
⑵中断返回指令
格式:IRET恢复断点地址 功能:①↑(SP)→ IP ②↑(SP)→CS ③↑(SP)→FLAGS ;恢复标志寄存器的内容 说明:执行IRET之后,恢复了被中断程序的断点地址
18
8.3中断系统应用
8.3.1 中断系统
中断系统是计算机系统提供给系统和用户的底层服务接口, 分别存在于ROM(只读存储器)芯片和计算机操作系统中。 驻留在ROM中的BIOS提供了系统加电自检、引导装入、主 要I/O设备的处理程序、接口控制等功能模块来处理所有 的系统中断。使用BIOS功能调用,给程序员编程带来了很 大方便,程序员不必了解硬件I/O接口的特性,可直接用 指令设置参数,然后中断调用BIOS中的程序,所以利用 BIOS功能编写的程序简洁,可读性好,而且易于移植。
13
8.2.2 中断调用
中断调用采用软中断指令“INT N”来实现。 例8.1 INT 21H(DOS中断调用)
该DOS中断调用语句执行以下5个步骤: ①取中断类型号21H; ②计算中断向量地址; ③取中断向量,偏移地址送IP,段地址送CS; ④转入中断处理程序; ⑤中断返回到INT指令的下一条指令。 具体中断调用过程如图8.3所示。 采用中断向量的方法,可以加快中断处理的速度。因为计算 机可直接通过中断向量表转向相应的中断服务程序,而不 需要CPU去逐个检测和确定中断原因。
(1)都需要相应程序段的支持。 (2)软件中断与子程序都由特定指令调用。 (3)发生调用时,系统均自动记载返回地址。 (4)软件中断和子程序都可以带有入口参数和出口参数。 (5)可以用子程序调用代替软件中断的调用指令。
17
软件中断、硬件中断与子程序三者之间也存在着本 质的差别。
(1)调用方式不同。 (2)系统保护的值不同。 (3)返回方式不同。 (4)共享方式不同。 (5)在内存中存在的时间不同。