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

Compatability: 68000 Family

Assembler Syntax:
ROXR #<data>, Dy
ROXR* <ea>

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 included in the rotation. The rotate count
for the rotation of a register is specified in either of two
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 ROXR 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 the extend bit; the previous value of the extend bit
rotates into the high-order bit.

Condition Codes:
X Set according to the last bit rotated out of the operand.
Cleared when the rotate count is zero.
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):

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:

Related Instructions