中断和异常
中断:
可屏蔽中断,在CPU的INTR引脚接收的中断请求,IF=1时才允许发生可屏蔽中断
不可屏蔽中断,在CPU的NMI输入脚上接收到,CPU无法关闭不可屏蔽中断.
异常:
CPU检测的异常被分为3种:
故障,是在已被检测到异常的指令之前的指令边界上报告的异常.故障在恢复到允许指令重新启动状态时由机器报告.用于故障处理程序的返回地址指向故障的指令,而不是指会故障指令之后的指令.
自陷,自陷是在已被检测到异常指令之后紧接着的指令边界上报告的异常.
中止,中止并不总是报告引起的异常的指令位置,并且不允许引起异常的程序重新启动.中止被用来报告几种错误,例如硬件错误和在系统表中有不一致的或非法值.
由编程引发的异常.INTO,INT3,BOUND指令触发.常称为软件中断.CPU象异常一样处理它
异常和中断表
向量号 说明(实) 异常源
0(Y,故障) 除法错 DIV和IDIV指令
1 调试程序调用 任何
2 NMI中断 不可屏蔽中断
3(N,自陷) 断点 INT指令
4(N,自陷) 溢出
5(Y,故障) BOUND范围超出(数组范围超出) BOUND指令
6(Y,故障) 无效操作码 保留的操作码
7(Y,故障) 设备不可用 ESC或WAIT指令
8(Y,中止) 双故障 中断表限大小,在处理故障时发生另一个故障
9 (inte