здравствуйте. подскажите пожалуйста, в чем ошибка?
вот программа, которая подсчитывает количество единиц в двоичной записи числа
mov ax,1101
start:
mov dx,1
mov cx,2
mrp:
push ax
and ax,1
cmp ax,1 ;сравниваем с 1
jne msk ;переходим к мск если два числа не равны
inc dx ;увеличиваем содержимое памяти на 1
msk:
pop ax
shr ax,1 ; сдвигаем на 1 вправо
loop mrp
mov ax,1
int 0x80
но на выходе всегда 0 . Что не так?
Срочно нужна помощь!!!!
Модератор: Andy
Что значит "на выходе"? Где на выходе 0 ? Как проверяете?но на выходе всегда 0 . Что не так?
P.S> Вообще всегда такая задача решалась через ADC
It's a long way to the top if you wanna rock'n'roll