Описание процессора i8086 для программиста

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 не изменяются.



Содержание раздела