内中断(8086CPU)
内中断
中断信息 | 中断类型码 |
---|---|
除法错误 | 0 |
单步执行 | 1 |
into指令 | 4 |
int指令 | int n,n即中断类型码,例如int 0,将产生除法错误中断 |
中断类型码:8bit,标志是何种中断
中断向量表:存放在0000:0000-0000:3FF,每个中断类型占4个字节,存放中断处理程序的入口地址。低地址字位偏移地址,高 地址字位段地址
中断处理程序:又称中断例程,处理中断。
中断处理过程:(1)获取中断类型码N
(2)标志寄存器入栈(保存中断前CPU现场)
(3)Flag寄存器TF、IF位置0。(TF=1则产生单步中断,每次中断使TF=0,放置进入单步中断的死循环。)
(4)CS内容入栈、IP内容入栈(push CS ,push IP)
(5)(IP)=(N4),(CS)=(N4+2)
iret指令
用于在中断处理程序中,恢复到中断前的状态。
含义:(1)pop IP
(2)pop CS
(3)popf
int指令
指令格式:int n,n为中断类型码
含义:(1)获取中断类型码 n
(2)pushf,IF=0,TF=0
(3)push CS
pushIP
(4)(IP)=(n4),(CS)=(n4+2)
外中断
1.可屏蔽中断
2.不可
接口芯片和端口
CPU通过相关的接口芯片的端口(寄存器)控制外设。CPU对外设的输入不直接送入外设,而是先送入端口,再由相关的芯片送到外设。CPU对外设输出控制命令,也是先送入端口,再由相关的芯片根据命令对外设进行控制。
未完待续