【问题标题】:When I try to DIV I get "Divide by zero" But its not zero [duplicate]当我尝试 DIV 时,我得到“除以零”但它不是零 [重复]
【发布时间】:2020-11-04 12:13:25
【问题描述】:

当我尝试将一个数字除以 2 时,出现“除以零”错误。

当前状态:

AX = 0009

我有这条线

Two DW 2

当我尝试这样做时

DIV Two

我收到此错误:

有什么问题?

【问题讨论】:

  • 除以零并不是唯一可以引发#DE 异常的事情。

标签: assembly x86 x86-16


【解决方案1】:

分割前需要清除dx。回想一下,divDX:AX 除以操作数,而不仅仅是DX。如果不清除DX,则所得商不适合 16 位字,导致 CPU 产生异常。这与除以零时遇到的异常相同,调试器不会尝试区分两个错误源。

【讨论】:

    猜你喜欢
    • 2022-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-16
    • 1970-01-01
    • 1970-01-01
    • 2015-04-02
    相关资源
    最近更新 更多