ROL ROTATE LEFT ROL

Operation:

Flags Affected:

(temp) - COUNT

CF,OF

do while (temp)"* 0

 

(CF) - high-order bit of (EA)

 

(EA) - (EA) * 2 + (CF)

 

(temp) - (temp)-1

 

if COUNT = 1 then

 

if high-order bit of (EA)"* (CF)

 

then (OF)-1

 

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

2-4

ROL FLAG_BYTE [DI], 1

memory, CL

20(28) + EA +41 bit

2

2-4

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.

2-140

Page 175
Image 175
Intel 210200-002 manual ROL Rotate Left ROL, ROL destination, count