int n 也就是中断操作->根据中断类型码来查找中断向量表(中断向量表在0-3ffh这个内存空间)
调用int n 也就操作了下面的步骤
1)取中断类型码n;
2)标志寄存器入栈,IF=0,TF=0;
3)CS、IP入栈
4)(IP)=(n*4),(CS)=(n*4+2)
那什么是中断向量表呢?
中断向量表就是用来表示中断程序的cs:ip的值,其中低位为ip的值,高位为cs的值.
然后编译器就自动跳转到cs:ip所指向的位置.
那怎么知道我设置的是几号中断类型码呢,
cs 16位 ip 16位,所以一个中断类型码占2个字
所以有以下的结论:
int n n*4=ip;n*4+2=cs
然后呢,中断操作又有bios和dos的操作,这里就不说了,自己百度.当然,他们也有共同之处:
都是通过设置ah,来设置要调用的子程序