程序性中断是由现行程序本身的异常事件所引起的,这些异常事件包括以下几种:
程序性错误:
例如指令或操作数的地址边界错误、非法操作码和除数为零等。
特殊运算结果:
例如定点溢出。
预确定要跟踪的事件:
这类中断主要用于程序调试。
程序性中断通常是由程序中的错误或异常情况触发的,与自愿中断(由运行程序请求操作系统服务而引起)不同,程序性中断是计算机在正常执行程序过程中遇到的急需处理的异常情况或特殊请求,CPU会暂时中止现行程序,转而去处理这些异常情况或特殊请求,处理完毕后CPU会自动返回到原来的程序执行位置继续执行。
这种中断机制使得计算机能够及时响应内部和外部事件,提高系统的实时性和效率。