8086系统中,中断类型码、中断向量、中断向量表的关系是什么?
中断向量=[中断X4],包括括号,表示内存单元的。
(即只存放在内存地址0,即绝对起始位置。
)代码:将实际中断的中断类型标记为另一个中断服务程序的名称,以调用该中断程序。
1.中断向量:中断实用程序的入口地址。
表示4字节输入地址的向量。
2.缩放损坏:由于存在多个中断请求和多个中断服务程序,因此对应的存储器具有多个程序入口地址(即中断向量)。
该系统在专用于存储所有中断向量的特定存储区域中调度可扩展中断。
这种形式的规模破坏。
3.在8086系统中,用中断向量来描述8086系统中中断类型代码、中断向量和中断规模之间的关系。
假设8086CPU从8259A中读取的中断类型号为59H,其中断向量在中断向量表中的地址是什么?
中断号*4是偏移地址,+2是段地址。
这是一个完整的中断向量。
中断向量地址=中断向量号*4
即中断向量地址=76*4=304=130H
地址指针=中断类型*4.76H*4H=1D8H
中断向量表:由于有多个中断请求,相应就有多个中断服务程序,d该内存区域存储所有中断向量。
该表就是中断向量表。
高级信息:
存放中断服务程序的入口地址
用于存放中断向量(共256个),这称为A内存区是中断向量表,地址范围在0到3FFH之间。
在PC/AT中,硬件产生的中断标识码称为中断类型号(当然,还有其他产生中断类型号的方法,比如直接在指令中指定或者自动规范)。
由CPU等形成),即在中断响应期间,8259A产生当前请求中断的最高优先级中断源的中断类型号。
中断类型号与中断向量之间有如下关系:
中断类型号×4=中断子程序首地址的存储区首地址=中断向量地址
是中断向量的首地址取自该地址开始的4个内存单元。
参考来源:百度百科-中断向量
8086系统中、中断类型码、中断向量、中断向量表的关系
5.28086/8088中断系统1.中断类型代码中断和中断源:提供中断原因或中断请求的设备称为中断源。•中断分为两种类型:硬件中断和软件中断。
硬件中断分为两类。
不可屏蔽中断:由NMIPIN引入,不影响中断使能标志,每个系统只允许一个,用于处理紧急情况。
一旦发生此中断,系统立即响应,通过INTR引脚,影响中断使能标志,即只有进入IF=1时才覆盖中断,反之亦然。
可能有多个可以覆盖的中断,通常通过优先级排队,其中选择几个中断源之一进行处理。
②软件中断(内部中断):根据特定指令或标志寄存器中的标志设置而产生。
溢出中断由INT0指令引起断点中断由INT3指令引起单动由标志位TF↘与指令不匹配引起除以0是由计算结果↙与指令不匹配产生•中断类型代码:8086/8088为每个中断源分配一个中断Codetype,值为0~255,即56种中断可以处理。
其中包括软件中断、系统中断和用户开放中断。
2.中断向量和中断向量表系统可以通过多种方式处理中断。
终止。
中断向量:每个中断服务的输入称为中断向量;查询时,可以查表,确定中断向量,然后传递给相应的中断服务子程序。
8086/8088中断系统中的中断向量表位于0~3FFFH存储位置的0段。
每个中断向量包含四个分量,其中前两个分量存储中断入口地址的偏移量。
处理子程序(IP),低位在前,高位在后;根据快捷方式类型的数量来准备。
P参见图5-14。
图中,shortcut类型代码与shortcut向量空间的关系它表明。
其中00H~04H为专用中断,05H~3FH为系统定义的中断,一般不能由用户定义(有的有固定用途,如MS-DOS中的INT21H图5-14)~FF为用户定义中断。
00H~04H-系统独占10H~1FH-BIOS40H~FFH-用户使用08H~0FH-硬件中断20H~3FH-DOS中断类型号*使用4计算中断向量具体中断向量的位置中断向量表。
例如类型号为20H,则中断向量存储位置为20H*4=80H(中断服务子单元入口地址为4030:2010,则说10H、20H、30H、40.H。
当系统响应中断号20H,会自动找到中断向量对应的截距向量检测并加载到中断服务中。
3.中断响应流程和时间8086/8088软件中断响应流程不同IF=1到达,当前指令执行完毕后,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的优先级高于不可屏蔽中断,不可屏蔽中断高于可屏蔽中断,单级中断有较低的优先级;,只取终止类型代码,其余无此步骤。
③单步中断时,指令每执行一次就中断一次,并将各寄存器的显示给用户参考,直至进入单相中断。
④对于排序中断,NMI总能响应。
⑤提取IP、CS和标志位并返回断点的功能由IRET指令完成。
⑥在某些情况下,即使满足条件,CPU也不能立即响应中断,必须执行下一条指令(而不是当前指令)。
正确执行锁定指令;执行给SS寄存器值赋值的传送指令,因为一般情况下,为了保证出栈的正确性,需要使用两条连续的指令来给SS和SP寄存器值赋值。
指针。
⑦当遇到等待指令或字符串操作指令时,指令执行过程中允许中断。
此时,必须注意维护中断处理子程序中的空间,以保证中断返回后这些指令继续正确执行。