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