Дано число в двоичном виде. Логически перемножить его с числом 28. Проинвентировать результат и умножить на 4 - Assembler
Формулировка задачи:
Дано число в двоичном виде. Логически перемножить его с числом 28. Проинвентировать результат и умножить на 4. В полученном значении 4,5,6 разряды заменить на противоположные. Совсем не шарю в ассемблере, помогите ещё разок)
Решение задачи: «Дано число в двоичном виде. Логически перемножить его с числом 28. Проинвентировать результат и умножить на 4»
textual
Листинг программы
mov al, <=число в двоичном виде and al,28 not al xor ah,ah shl ax,2 xor ax,01110000b
Объяснение кода листинга программы
mov al, <число в двоичном виде- в переменнуюalзагружается число в двоичном видеand al,28- результат логического умножения числа 28 на значение переменнойalсохраняется в переменнойalnot al- результат инвентирования значения переменнойalсохраняется в переменнойalxor ah,ah- в переменнуюahзагружается число 0, так как XOR с 0 не меняет значение переменнойshl ax,2- результат сдвига значения переменнойaxвлево на 2 позиции сохраняется в переменныхaxxor ax,01110000b- результат XOR с числом 01110000b (в двоичной системе это число 4) сохраняется в переменныхax