Operation: Destination Rotated by <count> -->; Destination
Compatability: 68000 Family
ROR Dx, Dy
ROR #<data>, Dy
Attributes: Size = (Byte, Word, Long)
* Only word size operation is allowed.
Description: Rotates the bits of the operand to the right. 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,
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 ROR instruction rotates the bits of the operand to the
right; the rotate count determines the number of bit positions
rotated. Bits rotated out of the low order bit go to the carry
bit and also back into the high-order bit.
X Not affected.
N Set if the most significant bit of the result is set.
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):
Instruction Fields (register rotate):
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):
Instruction Fields (memory rotate):
Effective Address field -- Specifies the operand to be
rotated. Only memory alterable addressing
modes are allowed as shown: