8086实模式下的中断简介
8086实模式下一共有256个中断。每个中断都有一个中断号。
中断向量表:内存物理地址0x00000-0x003FF 这 1KB 的空间中,存放了256个中断的入口地址。每个中断的入口地址占用4字节(4B),前2字节为偏移地址,后2字节为段地址。
中断分为:外部硬件中断,内部中断,软中断。
-
外部硬件中断:非屏蔽中断,可屏蔽中断
-
可屏蔽中断:由 INIR 引脚接入处理器。中断号不固定。由中断标志位IF来决定是否被屏蔽。
其中的15个中断主要由__可编程中断控制器__控制。一片可编程中断控制器能控制8个,所以两片级联控制15个。
可编程中断控制器芯片8259:中断屏蔽寄存器(IMR)
主要包含的中断有:实时时钟(RTC),PS/2键盘和鼠标,串行口,并行口,软磁盘驱动器,IDE硬盘等。
-
非屏蔽中断:由NMI引脚接入处理器。中断号固定为2
当发生一些严重事件的时候会触发此中断。
-
-
内部中断:内部中断发生在处理器内部
例如,
1. 执行除法指令时,除数为零。 2. 处理器遇到非法指令。
内部中断不受标志寄存器IF位的影响,也不需要中断识别总线周期。
-
软中断:有int 指令引起的中断。主要包括BIOS中断等。
int指令格式有三种:imm8为中断号
1. int3
2. int imm8
3. into
BIOS中断:计算机上电后由BIOS程序执行期间建立起来的中断。