RCL              Rotate through Carry Left           Flags: O D I T S Z A P C
*               *
RCL destination,count

   CF        Destination      

RCL shifts the word or byte at the destination to the left by the
number of bit positions specified in the second operand, COUNT. A bit
shifted out of the left (high-order) end of the destination enters the
carry flag, and the displaced carry flag rotates around to enter the
vacated right-most bit position of the destination. This "bit
rotation" continues the number of times specified in COUNT. (Another
way of looking at this is to consider the carry flag as the highest
order bit of the word being rotated.)

If COUNT is not equal to 1, the Overflow flag is undefined. If COUNT
is equal to 1, then the Overflow Flag is set to the XOR of the top 2
bits of the original operand.

Operands                  Clocks   Transfers  Bytes   Example
register, 1                 2          -        2     RCL CX,1
register, CL            8 + 4/bit      -        2     RCL BL,CL
memory, 1              15(23) + EA     2       2-4    RCL MULTIPLY_X_2,1
memory, CL           20(28)+EA+4/bit   2       2-4    RCL MOVE_AROUND,CL

Note:          COUNT is normally taken as the value in CL. If,
however, you wish to rotate only one position,
replace the second operand, CL, with the value 1, as
shown in the first example above.

The 80286 and 80386 microprocessors limit the COUNT
value to 31.  If the COUNT is greater than 31, these
microprocessors use COUNT MOD 32 to produce a new
COUNT between 0 and 31.  This upper bound exists to
limit the amount of time that an interrupt response
will be delayed waiting for the instruction to

Multiple RCLs that use 1 as the COUNT may be faster
and require less memory than a single RCL that uses

The overflow flag is undefined if the rotate count
is greater than 1.

See also: ROL
See also: ROR
See also: RCR
See also: SHL
See also: SHR
See also: SAR
See also: SAL
See also: EA
See also: Flags

RCL Rotate through Carry Left