汇编_内中断_外中断_中断处理

Posted 一只特立独行的猫

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了汇编_内中断_外中断_中断处理相关的知识,希望对你有一定的参考价值。

内中断:

1.取中断类型码n
2.标志寄存器入栈,IF=0,TF=0
3.CS,IP入栈
4.IP=n*4,CS=n*4+2
注意:

1.中断类型码是CPU内部产生。
2.IF(interrupt false)为0时不允许其他的可屏蔽中断,sti指令:IF=1,cli指令:IF=0。

外中断:

1.传入9号中断信息,判断CPU现在是否可以被中断。
2.标志寄存器入栈,IF=0,TF=0
3.CS,IP入栈
4.IP=n*4,CS=n*4+2
5.将数据通过I/O总线传入CPU。
注意:

中断类型码是外部设备通过数据总线传入CPU的。

中断处理:

在自定义有返回的中断时,首先要进行的操作。
1.存放标志寄存器

pushf

2.设置IF=0,TF=0

pushf
pop ax
and ax,11111100b

push ax
popf

3.IP和CS入栈,同时修改IP和CS为中断号的值。

call dword ptr ds:[0];调用原来的9号中断

以上是关于汇编_内中断_外中断_中断处理的主要内容,如果未能解决你的问题,请参考以下文章

8086汇编 中断

8086汇编 中断

汇编三种方法实现装填中断子程序地址的代码

两类中断控制器处理流程_链式和层级

处理器(中)_中断

汇编12:内中断