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

RCL – циклический сдвиг влево через флажок переноса


D0 /2

RCL r/m8, 1

циклический сдвиг r/m8 влево на 1 разряд через CF

D2 /2

RCL r/m8, CL



циклический сдвиг r/m8 влево на CL разрядов через CF

D1 /2

RCL r/m16, 1

циклический сдвиг r/m16 влево на 1 разряд через CF

D3 /2

RCL r/m16, CL

циклический сдвиг r/m16 влево на CL разрядов через CF

Описание.

Эта инструкция производит циклический сдвиг содержимого своего операнда влево через флажок переноса на указанное вторым операндом число разрядов.

Сдвиг выполняется по следующей схеме:

------------------------¬

¦ ---¬     ----------¬  ¦

L-+CF¦<----+ операнд ¦<--

L---     L----------

Имеются две разновидности сдвига: одноразрядный и многоразрядный. В последнем случае количество разрядов, на которое производится сдвиг, должно быть предварительно занесено в регистр CL.

Флажок CF содержит значение последнего выдвинутого из операнда разряда.

Значение флажка OF в операции многоразрядного сдвига не определено. В операции одноразрядного сдвига он представляет собой результат операции “исключающее ИЛИ” между значением старшего разряда результата и содержимым флажка CF после выполнения сдвига. Таким образом, единичное значение флажка OF свидетельствует о том, что содержимое старшего разряда результата отличается от его исходного значения, а нулевое значение – что старший разряд операнда не изменился.

Флажки SF, ZF, AF и PF не изменяются.



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