
ROL ROTATE LEFT ROL
Operation: | Flags Affected: |
(temp) - COUNT | CF,OF |
do while (temp)"* 0 |
|
(CF) - |
|
(EA) - (EA) * 2 + (CF) |
|
(temp) - |
|
if COUNT = 1 then |
|
if |
|
then |
|
else (OF) - 0 |
|
else (OF) undefined |
|
Description: |
|
ROL destination, count |
|
ROL (Rotate Left) rotates the destination byte or word left by the number of bits specified in the count operand.
Encoding:
11101 OOvw ImodOOOr/ml
if v = 0 then COUNT = 1 else COUNT = (CL)
ROL Operands | Clocks* | Transfers | Bytes | ROL Coding Example |
register, .1 | 2 | - | 2 | ROL BX,1 |
register, CL | 8+4/bit | - | 2 | ROL DI, CL |
memory, 1 | 15(23)+EA | 2 | ROL FLAG_BYTE [DI], 1 | |
memory, CL | 20(28) + EA +41 bit | 2 | ROL ALPHA, CL |
*b(w): where b denotes the number" of clock cycles for byte operands and w denotes the number of clock cycles for word operands.