Дано число в двоичном коде поменять местами третий бит с пятым. Результат умножить на 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.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д