MASM деление на отрицательное число - PullRequest
1 голос
/ 16 ноября 2011

Я пытаюсь разделить два числа в сборке [Процессор 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" - это беззнаковое разделение. Так как, если я хочу сделать деление с отрицательным числом?

1 Ответ

0 голосов
/ 24 ноября 2011

Вы должны использовать IDIV. Инструкция IDIV - это операция деления. IDIV - для номеров со знаком, а DIV - для номеров без знака.

mov eax, -4
xor edx, edx ; mov edx, 0
mov ebx, 2
div ebx
...