1

私は学校向けの電卓プロジェクトを行っていますが、すべてがうまく機能していますが、DivideとMod(%)で「DivideOverflow」エラーが発生します。どうすれば修正できますか?

完全なコードについては: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

明らかな問題の1つは、Num1Int8ビット幅であるのに次のことです。

    Num1Int db ?

16ビット幅であるかのように扱います。

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