中断和端口
中断向量表
CPU用8位的中断类型码通过中断向量表找到相应的中断处理程序的入口地址。所谓中断向量,就是中断处理程序的入口地址。中断向量表,就是终端处理程序入口的列表。
中断向量表在内存中保存,其中存放着256个(8位二进制)中断源对应的中断处理程序的入口。
中断过程
用中断类型码找到中断向量,并用它设置CS和IP,这个工作是有CPU的硬件自动完成的。这个工作过程称为中断过程。
1.取得中断类型码N
2.pushf
3.TF = 0,IF = 0
4.push CS
5.push IP
6.(IP) = (N*4),(CS) = (N*4+2)
iret指令
iret指令执行后,CPU回到执行中断处理程序前的执行点继续执行程序。
int指令
格式:int n,n为中断类型码,功能是引发中断过程
CPU执行 int n 指令,相当于引发一个n号中断的中断过程
执行过程:
1.取出中断类型码
2.标志及存器入栈,IF = 0,TF = 0
3.CS,IP入栈
4.(IP) = (n*4),(CS) = (n*4+2)
端口
端口的读写指令只有两条:in 和 out,分别用于从端口中读取数据和往端口中写入数据
如:in al,60h ;从60h端口读入一个字节

浙公网安备 33010602011771号