Подсчитать количество двоичных единиц в двоичном представлении заданного целого неотрицательного числа - Assembler

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

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

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

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

textual
Листинг программы
  1.  model tiny
  2.  codeseg
  3.  org 100h
  4.  
  5. start:
  6.  xor bx,bx
  7.  mov ax,1234 ;число
  8.  mov cx,16
  9.  
  10. ;цикл
  11. k1:
  12.  ror  ax,1  ;чтобы исходное значение осталось неизменным
  13.  adc  bx,0
  14.  loop k1
  15.  
  16. ;ответ в bx
  17.  ret
  18.  
  19. end start

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

Выполняемый код на ассемблере, который подсчитывает количество двоичных единиц в двоичном представлении заданного целого неотрицательного числа 1234, можно разбить на следующие шаги:

  1. Инициализация счётчика двоичных единиц в регистре bx (xor bx, bx).
  2. Загрузка числа 1234 в регистр ax (mov ax, 1234).
  3. Установка счётчика двоичных единиц в 0 (mov cx, 16).
  4. Вход в цикл k1 (loop k1).
  5. Сдвиг двоичного представления числа вправо на один разряд (ror ax, 1).
  6. Обновление счётчика двоичных единиц (adc bx, 0).
  7. Повторение шагов 5-6 до тех пор, пока счётчик не достигнет нуля (16 раз).
  8. Возврат результата подсчёта в регистре bx (ret).

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


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

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

11   голосов , оценка 4.091 из 5

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

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

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