8088CPU具有哪些中断类型各种中断如何产生,如何得到中断向量号

8088CPU具有哪些中断类型各种中断如何产生,如何得到中断向量号,第1张

8088 CPU 具有 256 个中断类型,其中 0-31 为预留中断向量,32-255 为可用中断向量。下面是其中一些常见的中断类型:

0:除法溢出中断

1:单步中断

2:非屏蔽中断

3:断点中断

4:溢出中断

5:边界中断

6:无效 *** 作码中断

7:协处理器不存在中断

8:双重故障中断

9:协处理器段超限中断

10:无法加载协处理器中断

11:协处理器出错中断

12-15:保留中断

中断可以由硬件或软件引起。硬件中断由外部设备发出,例如时钟、键盘、鼠标等。软件中断则是由程序中的中断指令(例如 INT)产生。

当一个中断发生时,CPU 会停止当前执行的程序,并且保存当前的程序状态。然后,CPU 会根据中断类型查找相应的中断处理程序(中断向量),并跳转到中断处理程序执行。中断处理程序可以保存寄存器和状态,然后执行中断服务程序,最后恢复保存的状态,并返回到原始程序中。

中断向量号是一个唯一的标识符,用于标识每个中断类型。在 8088 CPU 中,中断向量号存储在中断向量表(Interrupt Vector Table,IVT)中,该表位于内存地址 0000:0000H 到 0000:03FFH 的位置。要获取中断向量号,CPU 会从 IVT 中读取对应的中断向量。中断向量表包含了每个中断类型的中断处理程序入口地址。例如,中断向量 0 的处理程序入口地址存储在 IVT 中偏移为 0000H 的位置上。如果要触发中断类型 0,CPU 将从该位置读取中断处理程序入口地址,并跳转到该地址执行相应的中断处理程序。

cpu在响应中断前会保护主程序当前指令下面的一条指令的地址。

就是将当前的IP和CS的内容入堆栈。

cpu响应中断之后,将指令地址从堆栈中取出即可找到中断服务子程序入口地址。

CPU响应中断做如下动作:

①将中断类型码放入暂存器保存;

②将标志寄存器内容压入堆栈,以保护中断时的状态;

③将IF和TF标志清0,目的是防止在中断响应的同时又来别的中断,而将TF清0是为了防止CPU以单步方式执行中断处理子程序。

这时要特别提醒,因为CPU在中断响应时自动关闭了IF标志,因此用户如要进行中断嵌套时,必须在自己的中断处理子程序中用开中断指令来重新设置IF;

④保护断点,断点指的是在响应中断时,主程序当前指令下面的一条指令的地址。

因此保护断点的动作就是将当前的IP和CS的内容入栈,保护断点是为了以后正确地返回主程序;

⑤根据取到的中断类型码,在中断向量表中找出相应的中断向量,将其装入IP和CS,即呆自动转向中断服务子程序。

以上就是关于8088CPU具有哪些中断类型各种中断如何产生,如何得到中断向量号全部的内容,包括:8088CPU具有哪些中断类型各种中断如何产生,如何得到中断向量号、CPU相应中断后得到中断向量号为9,则从()单元取出中断服务程序入口、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9302520.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存