|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
王爽汇编书上说中断过程,如下:
1.取得中断类型码N;
2.pushf
3.TF=0,IF=0
4.push CS
5.push IP
6.IP=N*4,CS=N*4+2
我的问题是:触发中断的条件是TF与IF不为0,如果在第二步把标志寄存器都压入栈,TF与IF的值也会入栈,在执行完中断程序后,标志寄存器出栈TF或IF值为1,企不是又会引发中断?
中断分两种,内中断和外中断
内中断就是处理器内部产生的中断
外中断就是处理器外部产生的中断
^_^
内部中断是不可屏蔽中断,不管tf和if状态是什么,都会执行中断处理程序
外部中断分可屏蔽中断和不可屏蔽中断
不可屏蔽中断无法屏蔽,一旦出现,处理器无条件执行中断处理程序
只有外部中断,并且是可屏蔽中断才能屏蔽,如何屏蔽?
这就要看if标志,if如果为0,处理器忽略外部中断请求
只有if为1,处理器才响应中断请求
tf和调试有关,如果tf为1,执行完一条指令就中断,执行中断处理程序,执行中断之前必须让tf为0,不然就在执行中断的第一条指令后又一次进入中断,一直这样下去,死循环
除法错误中断属于内部中断,不管tf和if是什么,一旦出现除法错误中断,处理器无条件执行中断处理程序
|
|