1

我正在为学校做一个计算器项目,所有的东西都很好,但是 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
4

1 回答 1

1

一个明显的问题是,whileNum1Int是 8 位宽:

    Num1Int db ?

您将其视为 16 位宽:

    mov ax , word ptr Num1Int
于 2013-03-02T09:04:23.130 回答