0

入りましInteger overflowHLA nasm。与えられた変数を15000で割って評価を表示する簡単なプログラムを書きたいのですDistanceが、その問題に直面しました。の除算の考え方がわかりませんHLA。よろしくお願いいたします。

program zad2;
#include( "stdlib.hhf");

static
    f    :  int32   := 15000;
    s    :  int32   := 300000;
    Distance: int32;

begin zad2;

        stdout.put("Give car distance", nl);
        stdin.get(Distance);
        if (Distance<150000) then
            MOV(15000, eax);
            div(Distance, EDX:EAX );
                stdout.put("div evaluation:",eax ,nl);
                    jmp menu0;
            endif
end zad2;
4

2 に答える 2

2
mov(0, edx)
mov(15000, eax);
div(distance, edx:eax);

残りを保持するのはレジスタであるため、edx にゼロ拡張する必要があります。

于 2014-11-13T16:46:24.093 に答える