第12章 内中断
第12章 内中断 12.1内中断的产生 除法错误:0,表示出发错误,如执行div指令产生的除法溢出; 单步执行:1; 执行into指令:4; 执行int指令,该指令的格式为int n,指令中的n为字节型立即数,是提供的CPU的中断类型码。 12.2 中断处理程序 CPU在收到中断信息后,应该转去执行该中断信息的处理程序。 12.3 中断向量表 CPU用8位的中断类型码通过中断向量表找到相应的中断处理程序的入口地址。中断向量表就是中断向量的列表。所谓的中断向量,就是中断处理程序的入口地址。展开来说,中断向量表,就是中断处理程序入口地址的列表。 中断向量表在内存中存放,对于8086PC机,中断向量表指定存放在内存地址0处。从内存0000:0000到0000:03FF的1024个单元中存放着中断向量表。 在中断向量表中,对于8086CPU,一个表项占两个字,高地址字存放段地址,低地址字存放偏移地址。 12.4中断过程 CPU收到中断信息后,要对中断信息进行处理,首先将引发中断过程。硬件在完成中断过程后,CS:IP将指向中断处理程序的入口,CPU开始执行中断处理程序。 下面是8086CPU收到中断信息后,所引发的中断过程 12.5 中断处理程序和iret指令 中断处理程序的编写方法与子程序的编写方法比较相似,下面是常规的步骤: 1、 保存用到的寄存器 2、 处理中断 3、 恢复用到的寄存器