运算器 指令集 集成电路 晶体管 寄存器 逻辑门
主页 正文

中断类型码概念

请描述cpu相应外部中断的过程,并分析为什么8086中断向量表的大小是1024个字节?

内部中断:是CPU发生事情后产生的中断信息,这样CPU就省去了处理中断的工作。
8086CPU产生以下主要内部中断。
0)2.单步中断(1号中断)3.执行指令产生的中断(二义性)4.行int指令执行产生的中断(常见的int21就是这种类型)首先明确什么是中断例程,向量中断,向量表中断、中断数据、中断类型代码和其他概念1.中断类型代码是一个8位数字,即。
从0-255,共256个中断类型代码,每个数字对应一个中断向量2。
中断向量包含中断例程入口地址(CS:IP),cs是16位段寄存器,ip是16位,所以总共4个Byte3。
中断向量表存储在一个有256个中断向量的表中。
每个向量存储中断例程的地址,这意味着它始终存在。
共有256个中断操作,也称为中断处理程序,由CPU接收到程序中断信息后执行。

中断类型码的计算

在众所周知的中断向量表中,001C4H存储2200H,001C6H存储3040H。
中断类型代码:(71H)。
中断服务程序输入的逻辑地址和物理地址:(3040H:2200H)。
32600)X。

说明:001C4H/4=71H

中断服务程序输入地址的存储格式是先偏移地址后段地址,所以为3040H:2200H

物理地址:30400H+2200H=32600H。

扩展信息

中断类型代码为8位二进制数,即从0到255。
所有中断类型都放置在中断向量表中(即在内存的最低1KB中)。

通过中断类型码×4,获取中断类型服务子程序进入中断向量表的入口地址,然后将该地址取出并传送给相应的子程序。

例如:

白天中断:08H

键盘中断:09H

中断内存码什么的数据会表示内存码的来源

中断存储代码信息的数据将指示存储代码的来源。
8086CPU使用称为中断类型代码的数据来识别中断信息的来源。
中断类型代码是字节类型的数据,可以表示256种中断信息的来源(中断源)。
中断存储代码信息的数据将指示存储代码的来源。

8086系统中、中断类型码、中断向量、中断向量表的关系

5.28086/8088中断系统1.中断分类及中断类型代码中断源:中断源或发出中断请求的设备称为中断源。
●中断分为两种:硬件中断和软件中断。
①硬件中断:由打印机、键盘等外部硬件产生的中断,也称为外部中断。
硬件中断可以分为两类:可屏蔽中断和不可屏蔽中断。
不可屏蔽中断:由NMI引脚引入,不受中断使能标志位影响。
每个系统上只允许有一个,用于处理断电操作等紧急情况。
当该中断发生时,系统立即响应。
可屏蔽中断:由INTR引脚引入,受中断使能标志影响。
也就是说,只有IF=1时,可屏蔽中断才能进入,反之亦然。
可以有多个可屏蔽中断,通常通过优先级排队选择多个中断源之一进行处理。
②软件中断(内部中断):与硬件电路无关,由于特定指令或标志寄存器设置而发生。
常见的包括除以0和INTn指令。
溢出中断由INT0指令引起断点中断由INT3指令引起单步由TF标志引起↘不对应于指令除以0取决于运算结果↙不对应于指令・中断类型代码:8086/8088是为每个中断源类型代码分配一个中断。
值范围从0到255,可以处理56种类型的中断。
其中包括软件中断、系统占用中断和用户打开的中断。
2.中断向量和中断向量表系统处理中断的方式有很多种,但处理中断最重要的一步是如何根据不同的中断源进入相应的中断服务子程序。
目前,最常用的中断是向量中断。
打断。
中断向量:每个中断服务子程序的入口点称为中断向量表。
中断向量表:当中断源发出中断时,这些中断向量按照一定的规则放在一个表中。
当收到请求时,它可以查表找到中断向量并将其转发给相应的中断服务子程序。
8086/8088中断系统的中断向量表位于段0的存储区域0-3FFFH。
每个中断向量占用四个单元,其中前两个单元包含中断入口地址的偏移量。
处理子程序(IP),低位在前,高位在后,最后两个单元包含中断处理子程序入口地址的段地址(CS)。
以及整个中断向量被存储。
根据中断类型编号排列。
P参见图5-14。
该图显示了中断类型代码和中断向量位置之间的对应关系。
其中00H到04H是专用中断,05H到3FH是系统保留中断,一般不能由用户定义(有些有固定用途,例如INT21H,它是MS-DOS系统调用)。
14)。
~FF是用户定义的中断。
00H到04H-仅限系统10H到1FH-BIOS使用40H到FFH-用户使用08H到0FH-硬件中断20H到3FH-DOS使用中断类型编号*4将中断分配到特定的中断类型位置计算向量中断向量表。
例如,如果类型号为20H,则中断向量将存储在20H*4=80H处(10H、20H、30H、40,假设中断服务子程序入口地址为4030:2010)。
H、当系统响应20H号中断时,会自动搜索中断向量,找到对应的中断向量,加载到CS和IP中。
即转发到中断服务子程序。
3.中断响应。
8086/8088软件中断流程及时序这是因为软件不同。
软件中断和硬件中断的原因是不同的。
本节重点介绍硬件中断情况。
•硬件中断响应过程是指通过NMI引脚输入的不可屏蔽中断或通过INTR引脚输入的可屏蔽中断。
下面是CPU触发INTR的示例。
如果此时收到IF=1的中断请求信号,则CPU执行完当前指令后开始响应外部中断请求。
此时,CPU连续向该引脚发送两个负脉冲。
,外围设备已连接。
在第二个负脉冲之后,它在数据线上发送和接收中断类型代码。
输入类型代码后,CPU执行以下操作:①将中断类型代码存储在临时寄存器中;②将标志寄存器的压入堆栈以保护中断期间的状态。
将TF标志设置为0。
为了防止在中断响应期间发生其他中断,将TF清为0可防止CPU单步执行中断处理子程序。
此时,CPU在响应中断时会自动关闭IF标志,因此如果用户想要嵌套中断,必须在自己的中断处理子程序中使用中断开启指令来重置IF,请注意。
是。
保护你的断点。
断点响应中断时,指的是主程序中当前指令下面指令的地址。
所以保护断点的动作就是将当前的IP和CS压入堆栈。
保护断点的目的是为了保证以后能够成功返回主程序。
⑤获取中断类型根据代码,将中断向量表中相应的中断向量加载到IP和CS中,并自动传送到中断服务子程序中。
NMI的中断请求具有固定的类型代码2,因此CPU不需要从外设读取类型代码或计算中断向量表的地址并加载其。
分别为IP和CS。
图5-15给出了8086/8088中断响应过程的流程图。
让我稍微解释一下这张图。
①除软件中断外,8086/8088内部还有“不可屏蔽中断”和“可屏蔽中断”。
优先考虑。
(单步除外)级别,即中断0、1、3、4比不可屏蔽中断优先级高,不可屏蔽中断比可屏蔽中断优先级高,单步中断优先级最低;②IF=1才可以屏蔽中断吗?,仅检索中断类型代码,其余无此动作。
③对于单步中断,每执行一条指令就发生一次中断,并显示当时各寄存器的。
当进入单步中断响应时,CPU自动清除TF。
由于响应恢复而中断返回由于此时标志寄存器的值为TF=1,因此程序进入单步中断,直到执行指令后将TF设置为0。
(4)对于嵌套中断,如果在中断处理子程序中设置了中断使能指令,NMI总能响应。
它还可以响应INTR请求。
⑤弹出IP、CS、标志位并返回断点的操作是通过IRET指令完成的。
⑥在某些情况下,即使满足条件,CPU也可能无法立即响应中断,必须执行下一条指令(而不是当前的指令)。
•准确执行LOCK指令。
•执行向SS寄存器赋值的传输指令。
为了保证堆栈的正确性,通常需要使用两条连续的指令给SS和SP寄存器赋值。
指针。
⑦当发生等待指令或字符串操作指令时,在指令执行期间允许中断。
这时必须注意保护中断处理子程序内的场景,以便中断返回后这些指令能够继续正确执行。

8086系统中,中断类型码、中断向量、中断向量表的关系是什么?

中断类型代码:实际上这是一个中断号,是不同中断服务程序调用时的不同名称标记。
中断向量:指向中断服务程序的入口地址。
一个向量有4个字节。
中断向量表:因为有多个中断请求,所以有多个中断服务程序,或者存储这些程序的中断服务程序。
为此,系统在内存中放置了一个中断向量表来存储所有的中断向量。
这个表就是上面提到的中断向量表。
3:中断向量=[中断号
热门资讯
苹果怎么清除王者荣耀缓存数据(苹果怎么清除王者荣耀使用过的时间)
逻辑运算公式大全
cpu的指令系统(core处理器的七大指令系统)
主频mhz是什么意思
cpu主频和睿频的区别
常用的复合逻辑门有哪些
逻辑门门电路真值表
与门真值表口诀