Сдвиг битов - Assembler

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

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

Как можно сдвинуть только младшие биты? Мне нужно 11111100 преобразовать в 11110011.

Решение задачи: «Сдвиг битов»

textual
Листинг программы
mov al,N
mov ah,al
and ah,0f0h
and al,0fh
shr al,2
or al,ah

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

  1. mov al,N — загрузка значения переменной N в регистр al
  2. mov ah,al — копирование значения из регистра al в ah
  3. and ah,0f0h — очистка битов старшего бита регистра ah и бита 1
  4. and al,0fh — очистка битов старшего бита регистра al и битов 1, 2, 4, 8, 16 и 32
  5. shr al,2 - сдвиг значения в регистре al на 2 бита вправо
  6. or al,ah — объединение значений из регистров al и ah с использованием операции логического ИЛИ

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

11   голосов , оценка 3.545 из 5
Похожие ответы