Реферат: Программная модель процессоров семейства X86

Все команды сдвига устанавливают флаг переноса cf.

shl операнд,счетчик_сдвигов (ShiftLogicalLeft) - логический сдвиг влево. Содержимое операнда сдвигается влево на количество битов, определяемое значением счетчик_сдвигов. Справа (в позицию младшего бита) вписываются нули;

shr операнд,счетчик_сдвигов — логический сдвиг вправо.

shl al, 2

Было al=00001101

Стало al=00110100

shr ax, 8

Было ax=4faf, стало ax=004f

mov cl,05h

shl bh, cl

bh=00010110

bh=11000000

shr x1,3

Алгоритм работы команд:

· очередной “выдвигаемый” бит устанавливает флаг cf;

· бит, вводимый в операнд с другого конца, имеет значение 0;

· при сдвиге очередного бита он переходит во флаг cf, при этом значение предыдущего сдвинутого бита теряется!

sal операнд,счетчик_сдвигов (ShiftArithmeticLeft)

sar операнд,счетчик_сдвигов

арифметический сдвиг влево/вправо. Содержимое операнда сдвигается влево/ вправо на количество битов, определяемое значением счетчик_сдвигов . Справа/ Слева в операнд вписываются нули.

Команда sal не сохраняет знака , но устанавливает флаг cf в случае смены знака очередным выдвигаемым битом. В остальном команда sal полностью аналогична команде shl;

Команда sar сохраняет знак , восстанавливая его после сдвига каждого очередного бита.

Команды циклического сдвига

rol операнд , счетчик _ сдвигов (Rotate Left) — циклическийсдвигвлево.

Содержимое операнда сдвигается влево на количество бит, определяемое операндом счетчик_сдвигов . Сдвигаемые влево биты записываются в тот же операнд справа.

ror операнд,счетчик_сдвигов (Rotate Right) — циклический сдвиг вправо.


rol al, 3

Было al=10101100

Стало al=01100101

К-во Просмотров: 413
Бесплатно скачать Реферат: Программная модель процессоров семейства X86