Посчитать количество единичных битов во введенном с клавиатуры слове - Assembler

Узнай цену своей работы

Формулировка задачи:

Подскажите, пожалуйста, код на masm32: посчитать количество единичных битов в введенном с клав. слове. Нужно очень, а с masm32 немного траблы. Заранее спасибо.

Решение задачи: «Посчитать количество единичных битов во введенном с клавиатуры слове»

textual
Листинг программы
  1. xor dl,dl
  2. mov ecx,16  ; кол-во бит
  3. @@1:
  4. shr eax,1
  5. adc dl,0
  6. loop @@1
  7. ; результат в dl

Объяснение кода листинга программы

  1. «xor dl,dl» — инициализация счётчика битов в переменной dl
  2. «mov ecx,16» — установка счётчика битов в 16
  3. «shr eax,1» — сдвиг содержимого регистра eax вправо на 1 бит и сохранение результата в eax
  4. «adc dl,0» — обновление значения счётчика битов: приращение на 1 с учётом переноса (если он был)
  5. «loop @@1» — повторение шагов 3-4 до тех пор, пока не будет выполнено условие остановки (результат сдвига вправо на 1 бит равен 0)
  6. «; результат в dl» — результат (количество единичных битов) сохранён в переменной dl

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.154 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы