ROL

ROL

Operation: Destination Rotated by <count> -->; Destination

Compatability: 68000 Family

Assembler Syntax:
ROL Dx, Dy
ROL #<data>, Dy
ROL* <ea>

Attributes: Size = (Byte, Word, Long)
* Only word size operation is allowed.

Description: Rotates the bits of the operand to the left. The
extend bit is not included in the rotation. The rotate
count for the rotation of a register is specified in either
of two ways:
1. Immediate -- The rotate count (1-8) is specified
in the instruction.
2. Register -- The rotate count is the value in the
data register specified in the instruction,
modulo 64.

The size of the operation for register destinations is
specified as byte, word, or long. The contents of memory,
<ea>, can be rotated one bit only, and operand size is
restricted to a word.

The ROL instruction rotates the bits of the operand to the
left; the rotate count determines the number of bit positions
rotated. Bits rotated out of the high order bit go to the carry
bit and also back into the low-order bit.

Condition Codes:
\c32202
X Not affected.
N Set if the most significant bit of the result is set.
Cleared otherwise.
Z Set if the result is zero. Cleared otherwise.
V Always cleared.
C Set according to the last bit rotated out of the operand.
Cleared when the rotate count is zero.

Instruction Format (register rotate):
\i1+++-3Ct/Reg,+2Sz,1ir,++3Reg,

Instruction Fields (register rotate):
Count/Register field:
if ir = 0, this field contains the rotate count. The
values 1-7 represent counts of 1-7, and
zero specifies a count of eight.
if ir = 1, this field specifies a data register that
contains the rotate count (modulo 64).
Sz field -- Specifies the size of the operation.
00 -- Byte operation.
01 -- Word operation.
10 -- Long operation.
ir field -- Specifies the rotate count location.
If ir = 0, immediate rotate count.
If ir = 1, register rotate count.
Register field -- Specifies a data register to be rotated.

Instruction Format (memory rotate):
\i1+++--+++++u6Effective Address,3Mode,3Reg,

Instruction Fields (memory rotate):
Effective Address field -- Specifies the operand to be
rotated. Only memory alterable addressing
modes are allowed as shown:
\m3F8

Related Instructions
ASL,409
ASR,410
LSL,453
LSR,454
ROR,477
ROXL,478
ROXR,479
.475477