Ассамблея - Отдел, дающий странный результат - PullRequest
0 голосов
/ 10 ноября 2018

Я использую эмулятор x86 и пытаюсь написать короткую программу, которая получает целое число и преобразует его в двоичный файл. Тем не менее, я запускаю его шаг за шагом и проверяю память (и регистр топора по мере его обновления). Я вижу, что регистр топора развивается следующим образом: 14 -> 7 -> 3 -> 32769 (вместо 1). Почему это происходит? Я попытался использовать EAX и ECX вместо ax и cx, но это все равно не даст мне правильный результат. Я что-то упускаю действительно очевидное?

value: dw 14
binary: dw 0

mov ax,0
mov cx,0
mov dx,0

;CONVERTING 14 TO BINARY
CONVERSION:
mov ax,[valor]
mov cx,2
div cx
push dx
mov [valor],ax
cmp ax,0
jne CONVERSION

pop [binary]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...