SHR – логический сдвиг вправо
D0 /5 | SHR r/m8, 1 | логический сдвиг r/m8 вправо на 1 разряд | |||
D2 /5 | SHR r/m8, CL
| логический сдвиг r/m8 вправо на CL разрядов | |||
D1 /5 | SHR r/m16, 1 | логический сдвиг r/m16 вправо на 1 разряд | |||
D3 /5 | SHR r/m16, CL | логический сдвиг r/m16 вправо на CL разрядов |
Описание.
Эта инструкция производит логический сдвиг содержимого своего операнда вправо на указанное вторым операндом число разрядов.
Сдвиг выполняется по следующей схеме:
----------¬ ---¬
0 ->¦ операнд +-->¦CF¦
L---------- L---
Имеются две разновидности сдвига: одноразрядный и многоразрядный. В последнем случае количество разрядов, на которое производится сдвиг, должно быть предварительно занесено в регистр CL.
Флажок CF содержит значение последнего выдвинутого из операнда разряда.
Значение флажка OF в операции многоразрядного сдвига не определено. В операции одноразрядного сдвига устанавливается, если перед выполнением сдвига старший разряд операнда содержал единицу, и сбрасывается в противном случае. Поскольку после выполнения сдвига старший разряд будет содержать нуль, флажок OF показывает, произошла ли смена значения старшего разряда операнда.
Флажки SF, ZF, AF и PF не изменяются.