S3F84B8_UM_REV 1.00
6 INSTRUCTION SET
6-71
6.3.58 RLC — ROTATE LEFT THROUGH CARRY
RLC
dst
Operation
: dst
(0)
C
C
dst (7)
dst
(n
+
1)
dst (n), n = 0–6
The contents of destination operand with the carry flag are rotated left one bit position. The initial
value of bit 7 replaces the carry flag (C), while the initial value of carry flag replaces bit zero.
7
0
C
Flags
:
C
: Set if the bit rotated from the most significant bit position (bit 7) was “1”.
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 changed during
rotation; cleared otherwise.
D
: Unaffected.
H
: Unaffected.
Format
:
Bytes Cycles
Opcode
(Hex)
Addr Mode
dst
opc
dst
2
4
10 R
4 11 IR
Examples
:
Given register 00H = 0AAH, register 01H = 02H, and register 02H = 17H, C = “0”:
RLC 00H
Register 00H = 54H, C = “1”
RLC
@01H
Register 01H = 02H, register 02H = 2EH, C = “0”
In the first example, if general register 00H has the value 0AAH (10101010B), the statement “RLC
00H” rotates 0AAH one bit position to the left. The initial value of bit 7 sets the carry flag and the
initial value of C flag replaces bit zero of register 00H, leaving the value 55H (01010101B). The
MSB of register 00H resets the carry flag to “1” and sets the overflow flag.