【问题标题】:divide-zero error除零错误
【发布时间】:2023-03-14 05:10:01
【问题描述】:

我的代码中的除法表达式是“a / b”。当它被编译为汇编时,在正常的除法指令之后有一个陷阱测试指令(MIPS assemble中的teq)。
所有编译器都会在正常除法指令后面添加这种陷阱指令吗?我不熟悉这种情况。非常感谢。

【问题讨论】:

    标签: c++ gcc compiler-construction assembly


    【解决方案1】:

    当您除以零时,大多数编译器不会指定结果。由于您没有说明您使用的是哪种语言或编译器,因此不可能更具体。

    附:在这种情况下,能够从编译器读取汇编输出是一个巨大的优势。

    【讨论】:

    • 我已经阅读了编译器的汇编输出,我看到了除法指令后面的陷阱测试指令(MIPS 中的 teq)。
    • @Eric,我想说的是,您可以使用所需的任何编译器和处理器架构来做同样的事情。特别是 C++ 没有指定除以零的结果,您必须调查您的特定编译器。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多