我们可以用中断类型码,在中断向量表中找到中断处理程序的入口。找到这个入口地址的最终目的是用它设置CS和IP,使CPU执行中断处理程序。用中断类型码找到中断向量,并用它来设置CS和IP,这个工作是由CPU的硬件自动完成的。CPU硬件完成这个工作的过程被称为蔽差信中断过程。
下面是8086CPU在收到中断信息后,所引发的中断过程。
2)标志寄存器的值入栈(因为在中断过程中要庆冲改变标志寄存器的值,所以先将其保存在栈中)
3)设置标志寄存器的第8位TF和第9位IF的值为0
4)CS的内容入栈
5)IP的内容入栈;
6)从内存地址为中断类型宏轮码 4和中断类型码 4+2的两个字单元中读取中断处理程序的入口地址设置IP和CS。
可以简洁的描述如下:
1)取得中断类型码N
2)pushf
3)TF=0,IF=0
4)push CS
5)push IP
mov di,2000delay:
mov si,3000
delay1:
dec si
jnz delay
这段就是main process
改成祥弊你物宴仔要的判断
还有也不要用21h了,换个保罩汪留的中断号就行了
你问的可真轻松啊,我哗困只简单的说下先用DOS取中断功能保存已存在的中断到内存,中断向量程序格式与过程类似,过程类型为FAR,堆栈用主程序堆坦返栈,然后压用到的寄存器,之后是功能代码。最后取中断向量的地址用DOS设置中断向量功能添加到中断乱信念向量表。
在主程序结束前要恢复原中断
手机很麻烦,搜一下很多的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)