Подсчитать количество двоичных единиц в двоичном представлении заданного целого неотрицательного числа - Assembler
Формулировка задачи:
Нужно написать программу на ассемблере, чтобы работа в SASM.
Задача: Подсчитать количество двоичных единиц в двоичном представлении заданного целого неотрицательного числа
Решение задачи: «Подсчитать количество двоичных единиц в двоичном представлении заданного целого неотрицательного числа»
textual
Листинг программы
model tiny codeseg org 100h start: xor bx,bx mov ax,1234 ;число mov cx,16 ;цикл k1: ror ax,1 ;чтобы исходное значение осталось неизменным adc bx,0 loop k1 ;ответ в bx ret end start
Объяснение кода листинга программы
Выполняемый код на ассемблере, который подсчитывает количество двоичных единиц в двоичном представлении заданного целого неотрицательного числа 1234, можно разбить на следующие шаги:
- Инициализация счётчика двоичных единиц в регистре bx (xor bx, bx).
- Загрузка числа 1234 в регистр ax (mov ax, 1234).
- Установка счётчика двоичных единиц в 0 (mov cx, 16).
- Вход в цикл k1 (loop k1).
- Сдвиг двоичного представления числа вправо на один разряд (ror ax, 1).
- Обновление счётчика двоичных единиц (adc bx, 0).
- Повторение шагов 5-6 до тех пор, пока счётчик не достигнет нуля (16 раз).
- Возврат результата подсчёта в регистре bx (ret).
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д