Дано число в двоичном коде поменять местами третий бит с пятым. Результат умножить на 8 и проинвентировать. - Assembler

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

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

Дано число в двоичном коде поменять местами третий бит с пятым. Результат умножить на 8 и проинвентировать. Помогите, пожалуйста
В ассемблере

Решение задачи: «Дано число в двоичном коде поменять местами третий бит с пятым. Результат умножить на 8 и проинвентировать.»

textual
Листинг программы
  1. mov al, <=число в двоичном коде
  2. and al,11010111b
  3.  
  4. mov bl,var
  5. and bl,00001000b
  6.  
  7. mov cl,var
  8. and cl,00100000b
  9.  
  10. shl bl,2
  11. shr cl,2
  12.  
  13. or bl,cl
  14. or al,bl
  15.  
  16. xor ah,ah
  17. shl ax,3
  18.  
  19. not ax

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

  1. mov al, <число в двоичном коде> — Загрузка числа в двоичной системе счисления в регистр AL.
  2. and al,11010111b — Применение побитового оператора AND к регистру AL и маске 11010111b, в результате чего на третий и пятый биты числа устанавливаются единицы.
  3. mov bl,var — Загрузка значения переменной в регистр BL.
  4. and bl,00001000b — Применение побитового оператора AND к регистру BL и маске 00001000b, в результате чего на третий бит числа устанавливается единица.
  5. mov cl,var — Загрузка значения переменной в регистр CL.
  6. and cl,00100000b — Применение побитового оператора AND к регистру CL и маске 00100000b, в результате чего на третий бит числа устанавливается единица.
  7. shl bl,2 - Сдвиг значения регистра BL вправо на два разряда.
  8. shr cl,2 - Сдвиг значения регистра CL вправо на два разряда.
  9. or bl,cl — Объединение (побитовое ИЛИ) значений регистров BL и CL.
  10. or al,bl — Объединение (побитовое ИЛИ) значений регистров AL и BL.
  11. xor ah,ah — Применение операции исключающего ИЛИ к регистру AH и самому себе, в результате чего в регистре AH устанавливается единица.
  12. shl ax,3 - Сдвиг значения регистра AX вправо на три разряда.
  13. not ax — Применение операции отрицания к регистру AX.

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


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

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

6   голосов , оценка 4.5 из 5

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

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

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