Срочно нужна помощь!!!!

Низкоуровневое программирование портов, микроконтроллеров и т.д.

Модератор: Andy

Ответить
Maarriiaa
Сообщения: 1
Зарегистрирован: 21 мар 2014, 22:55

Срочно нужна помощь!!!!

Сообщение Maarriiaa » 21 мар 2014, 22:57

здравствуйте. подскажите пожалуйста, в чем ошибка?
вот программа, которая подсчитывает количество единиц в двоичной записи числа
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 . Что не так?

Аватара пользователя
somewhere
Сообщения: 1837
Зарегистрирован: 31 авг 2006, 16:14
Откуда: 71 RUS
Контактная информация:

Re: Срочно нужна помощь!!!!

Сообщение somewhere » 22 мар 2014, 19:34

но на выходе всегда 0 . Что не так?
Что значит "на выходе"? Где на выходе 0 ? Как проверяете?
P.S> Вообще всегда такая задача решалась через ADC
It's a long way to the top if you wanna rock'n'roll

Ответить