Дано число в двоичном коде поменять местами третий бит с пятым. Результат умножить на 8 и проинвентировать. - Assembler
Формулировка задачи:
Дано число в двоичном коде поменять местами третий бит с пятым. Результат умножить на 8 и проинвентировать. Помогите, пожалуйста
В ассемблере
Решение задачи: «Дано число в двоичном коде поменять местами третий бит с пятым. Результат умножить на 8 и проинвентировать.»
textual
Листинг программы
mov al, <=число в двоичном коде and al,11010111b mov bl,var and bl,00001000b mov cl,var and cl,00100000b shl bl,2 shr cl,2 or bl,cl or al,bl xor ah,ah shl ax,3 not ax
Объяснение кода листинга программы
- mov al, <число в двоичном коде> — Загрузка числа в двоичной системе счисления в регистр AL.
- and al,11010111b — Применение побитового оператора AND к регистру AL и маске 11010111b, в результате чего на третий и пятый биты числа устанавливаются единицы.
- mov bl,var — Загрузка значения переменной в регистр BL.
- and bl,00001000b — Применение побитового оператора AND к регистру BL и маске 00001000b, в результате чего на третий бит числа устанавливается единица.
- mov cl,var — Загрузка значения переменной в регистр CL.
- and cl,00100000b — Применение побитового оператора AND к регистру CL и маске 00100000b, в результате чего на третий бит числа устанавливается единица.
- shl bl,2 - Сдвиг значения регистра BL вправо на два разряда.
- shr cl,2 - Сдвиг значения регистра CL вправо на два разряда.
- or bl,cl — Объединение (побитовое ИЛИ) значений регистров BL и CL.
- or al,bl — Объединение (побитовое ИЛИ) значений регистров AL и BL.
- xor ah,ah — Применение операции исключающего ИЛИ к регистру AH и самому себе, в результате чего в регистре AH устанавливается единица.
- shl ax,3 - Сдвиг значения регистра AX вправо на три разряда.
- not ax — Применение операции отрицания к регистру AX.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д