我正在尝试在汇编中划分两个数字[Irvine-Intel x86处理器]。 这是我的代码:
mov eax, 4
mov edx, 0
mov ebx, 2
div ebx
我得到了分区的正确答案,但是当我将值更改为负数时,它并没有给我正确的答案。
mov eax, -4
mov edx, 0
mov ebx, 2
div ebx
据我所知,“div”是无符号的分歧。那么如果我想用负数进行除法呢?
答案 0 :(得分:0)
你应该使用IDIV。 IDIV指令是除法运算。 IDIV用于签名号码,而DIV用于无符号数字。
mov eax, -4
xor edx, edx ; mov edx, 0
mov ebx, 2
div ebx