Посчитать количество единичных битов во введенном с клавиатуры слове - Assembler
Формулировка задачи:
Подскажите, пожалуйста, код на masm32: посчитать количество единичных битов в введенном с клав. слове. Нужно очень, а с masm32 немного траблы. Заранее спасибо.
Решение задачи: «Посчитать количество единичных битов во введенном с клавиатуры слове»
textual
Листинг программы
xor dl,dl mov ecx,16 ; кол-во бит @@1: shr eax,1 adc dl,0 loop @@1 ; результат в dl
Объяснение кода листинга программы
- «xor dl,dl» — инициализация счётчика битов в переменной dl
- «mov ecx,16» — установка счётчика битов в 16
- «shr eax,1» — сдвиг содержимого регистра eax вправо на 1 бит и сохранение результата в eax
- «adc dl,0» — обновление значения счётчика битов: приращение на 1 с учётом переноса (если он был)
- «loop @@1» — повторение шагов 3-4 до тех пор, пока не будет выполнено условие остановки (результат сдвига вправо на 1 бит равен 0)
- «; результат в dl» — результат (количество единичных битов) сохранён в переменной dl
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д