程序集x86中的Division + Modulo

时间:2013-06-26 14:52:39

标签: assembly

我试图得到一个数除以10的余数和商。

我这里有这个代码块,这是正确的吗? 当我尝试打印时,我似乎无法从变量中获得输出

mov al, [dividend]
mov ah, 0
mov byte[dividend], 10
mov byte[quotient], al
mov byte[remainder], ah

鉴于我有这些变量:

dividend resb 1
quotient resb 1
remainder resb 1

我正在使用Ubuntu 13 x86。谢谢!

1 个答案:

答案 0 :(得分:0)

您需要使用div指令,如下所示:

mov al,[dividend]
mov ah,0
mov cl,10            ; divisor is stored here
div cl               ; division is performed here
mov [quotient],al
mov [remainder],ah