【问题标题】:Divide OverFlow ASM划分溢出 ASM
【发布时间】:2013-02-16 20:02:33
【问题描述】:

我正在为学校做一个计算器项目,一切都很好, 但是 Divide 和 Mod(%) 给我一个“Divide Overflow”错误,我该如何解决?

完整代码:http://pastebin.com/a9cuL0LJ

除以第 158 行

Mod 是第 166 行

Num1Int 和 Num2Int 都是 0-255 之间的数字

或者:

DivideDo:
push ax
mov ax , word ptr Num1Int
div Num2Int
mov ResultInt , al
pop ax
ret

ModDo:
push ax
mov ax , word ptr Num1Int
div Num2Int
mov ResultInt , ah
pop ax
ret

【问题讨论】:

    标签: assembly overflow calculator modulo divide


    【解决方案1】:

    一个明显的问题是,虽然Num1Int 是 8 位宽:

        Num1Int db ?
    

    您将其视为 16 位宽:

        mov ax , word ptr Num1Int
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-10
      • 1970-01-01
      • 2021-04-10
      • 1970-01-01
      相关资源
      最近更新 更多