DIV的剩余部分不在EDX中

时间:2016-03-29 19:37:40

标签: assembly x86 masm

我已将num1num2remainder变量定义为 DWORD 。我从用户那里得到2个num1num2的数字。我试图将num1除以num2。我使用的数字是num1 = 37和num2 = 5

sub    edx,edx    ; Zero edx
mov    eax,num1
mov    ebx,num2
div    ebx
mov    remainder,edx
mov    edx, OFFSET remainder
call   WriteInt

出于某种原因,这打印出7,这是商,而不是余数。我在这里做错了什么?

1 个答案:

答案 0 :(得分:1)

使用它。

mov    edx,0   ; Zero edx
mov    eax,num1
mov    ebx,num2
div    ebx      
mov    eax,edx     ; EAX = reminder
call   WriteDec    ; Display 2