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