8088CPU具有哪些中断类型?各种中断如何产生,如何得到中断向量号?
8088CPU有256种中断类型,其中0-31为保留中断向量,32-255为可用中断向量。
以下是一些常见的中断类型:
0:除法溢出中断
1:单步中断
2:不可屏蔽中断
1:单步中断
2:不可屏蔽中断
3:断点中断
4:溢出中断
5:边界中断
6:无效操作码中断
7:无协处理器中断
8:双错误中断
9:协处理器段溢出中断
10:无法加载协处理器中断
11:协处理器错误中断
12-15:保留中断
中断可由硬件或软件引起。
硬件中断由时钟、键盘、鼠标等外部设备发出。
软件中断是由程序中的中断指令(如INT)产生的。
当中断发生时,CPU会停止当前运行的程序并保存当前的程序状态。
然后CPU会根据中断类型找到对应的中断处理程序(中断向量),并跳转到该中断处理程序执行。
中断处理程序可以保存寄存器和状态,然后执行中断服务程序,最后恢复保存的状态并返回到原始程序。
中断向量号是用于标识每种中断类型的唯一标识符。
在8088CPU中,中断向量号存放在中断向量表(InterruptVectorTable,IVT)中,位于内存地址0000:0000H到0000:03FFH。
为了获得中断向量号,CPU从IVT中读取相应的中断向量。
中断向量表包含每个中断类型的中断处理程序的入口地址。
例如,中断向量0的处理程序入口地址存储在IVT中偏移量0000H处。
如果要触发类型0的中断,CPU将从该位置读取中断处理程序的输入地址,并跳转到该地址执行相应的中断处理程序。