S3C84I8/F84I8/C84I9/F84I9
RR
— Rotate Right
dst
RR
C ← dst (0)
Operation:
dst (7) ← dst (0)
dst (n) ← dst (n + 1), n = 0–6
The contents of the destination operand are rotated right one bit position. The initial value of bit
zero (LSB) is moved to bit 7 (MSB) and also replaces the carry flag (C).
C
C: Set if the bit rotated from the least significant bit position (bit zero) was "1".
Flags:
Z: Set if the result is "0"; cleared otherwise.
S: Set if the result bit 7 is set; cleared otherwise.
V: Set if arithmetic overflow occurred, that is, if the sign of the destination is changed during
the rotation; cleared otherwise.
D: Unaffected.
H: Unaffected.
Format:
opc
Given: Register 00H = 31H, register 01H = 02H, and register 02H = 17H:
Examples:
RR
RR
In the first example, if the general register 00H contains the value 31H (00110001B), the
statement "RR 00H" rotates this value one bit position to the right. The initial value of bit zero is
moved to bit 7, leaving the new value 98H (10011000B) in the destination register. The initial bit
zero also resets the C flag to "1" and the sign flag and the overflow flag are also set to "1".
7
dst
→
00H
→
@01H
0
Bytes
Cycles
2
Register 00H = 98H, C = "1"
Register 01H = 02H, register 02H = 8BH, C = "1"
INSTRUCTION SET
Opcode
Addr Mode
(Hex)
4
E0
4
E1
dst
R
IR
6-73