谁在.Net中抛出除零异常的除法

时间:2016-06-03 05:28:41

标签: .net exception divide-by-zero

除以零是CPU级别不允许的操作。在ASM中写入除以零的程序将导致CPU通过除法溢出中断线执行到操作系统的陷阱。我的问题是异常是源于CPU还是框架本身在其运算符中处理它?

1 个答案:

答案 0 :(得分:2)

通过在端口20和21中通过int 15编程int 0a和0d,我在Pentium III克隆上有一个非常确定的零误差。它是一个真正的标志confiremd stack overfloe by int 00. OV,DN and ZR已设定。在实模式下错误会改变指针,而PM仍然会设置PM,但是PM提供了一个表示错误的进位.EMM386有时会将其报告为不可恢复的错误。究竟是一个不可恢复的错误,它真的无法恢复 - 我我希望即使是最不可恢复的错误也可以通过一点努力和集中来恢复 - 这可能吗?如果关闭堆栈并跟踪错误没有堆栈 - 或者只是不使用堆栈和swithc到Dr.DOS 7.03 - 如果DR.DOS可以找到一个必须有某种形式的解决方案。我使用iret设置一个断点并在引导期间通过调试管道补丁,我用它来跟踪错误。