Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
NASM,我的DIV余数在哪里?_Nasm - Fatal编程技术网

NASM,我的DIV余数在哪里?

NASM,我的DIV余数在哪里?,nasm,Nasm,我试着用谷歌搜索NASM的div中的余数。对于8位除法,看起来商在al中,余数在al中。但我也看到有人说它将在dl中。在这一点上,我很困惑。在下面的代码中,我试图打印出商和余数,以便在继续之前检查我的工作。我似乎不能正确地得到剩余的部分。(基数是除数) 如果你跳过了上面的一段,那么我的剩余部分将去哪里?我必须单独进行模块划分吗?引用: DIV r/m8无符号除以AX,得到结果 储存在铝中←商啊← 余数。 TL;DR:在您的案例中,剩余部分进入AH 请注意,红利是AX(16位),因此您应该在除法之

我试着用谷歌搜索NASM的div中的余数。对于8位除法,看起来商在al中,余数在al中。但我也看到有人说它将在dl中。在这一点上,我很困惑。在下面的代码中,我试图打印出商和余数,以便在继续之前检查我的工作。我似乎不能正确地得到剩余的部分。(基数是除数)

如果你跳过了上面的一段,那么我的剩余部分将去哪里?我必须单独进行模块划分吗?

引用:

DIV r/m8无符号除以AX,得到结果
储存在铝中←商啊← 余数。

TL;DR:在您的案例中,剩余部分进入
AH

请注意,红利是
AX
(16位),因此您应该在除法之前清除
AH
,以防仅使用8位红利。(您已经在使用xor eax、eax执行此操作了)

引用:

DIV r/m8无符号除以AX,得到结果
储存在铝中←商啊← 余数。

TL;DR:在您的案例中,剩余部分进入
AH


请注意,红利是
AX
(16位),因此您应该在除法之前清除
AH
,以防仅使用8位红利。(你已经在用xor eax,eax做这件事了)

我想它把整个AX除以BL。你的代码在我看来是正确的,注意你在用:char-Quotient,char-remainder我想它把整个AX除以BL。你的代码在我看来是正确的,注意你在用:char-Quotient,char remainder我对正在打印的内容进行了一些修改,得到了“K”。因此,我显然需要逐步使用gdb,但得到结果总比没有结果好。谢谢你的帮助。我对正在打印的内容做了一些修改,得到了“K”。因此,我显然需要逐步使用gdb,但得到结果总比没有结果好。谢谢你的帮助。
asciiout: db "%c %c", 10, 0

....
xor eax, eax
xor ebx, ebx
xor edx, edx
mov al, [Num]
mov bl, [Base]
div bl

add al, '0'
mov [Quotient], al
add ah, '0'
mov [Remainder], ah

push edx
push eax
push asciiout
call printf
add esp, 12