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

       

ROL – циклический сдвиг влево


D0 /0

ROL r/m8, 1

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

D2 /0

ROL r/m8, CL



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

D1 /0

ROL r/m16, 1

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

D3 /0

ROL r/m16, CL

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

Описание.

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

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

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

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

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

¦<--

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

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

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

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

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



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