中断、异常、陷入

1.        中断(zhong duan)
(1)        是由由CPU外部产生的,对CPU来说,是被动的。
(2)        当中断发生时,CPU将下一条指令,也就是接下来要执行的指令的地址压入栈作为中断服务的返回地址。

2.        陷入 (xian ru)
(1)        是由CPU本身在执行程序过程中产生的。它是由专设的指令,如X86中的“INT n”,在程序中有意产生的,是主动的。
(2)        同中断一样,当陷入发生时,CPU将下一条指令,也就是接下来要执行的指令的地址压入栈,作为中断服务的返回地址。

3.        异常(yi chang)
(1)        是由于CPU因无法完成一些指令而产生的,如除以0、映射失败,等等。
(2)        当异常发生时,CPU将当前指令的地址(而不是下一条指令的地址)压入栈,作为异常服务的返回地址。这样,就可以在异常处理返回时完成未竟完成的事业。
(3)        这个特殊性是在CPU的内部电路实现的,而不需由软件干预。即是由Intel实现的,和微软没关系。

posted @ 2020-04-07 11:17  我为编程上架构  阅读(810)  评论(0编辑  收藏  举报