SAM88RI INSTRUCTION SET

S3C9228/P9228

 

 

RLC — Rotate Left Through Carry

RLCdst

Operation: dst (0) ¨ C

C ¨ dst (7)

dst (n + 1) ¨ dst (n), n = 0–6

The contents of the destination operand with the carry flag are rotated left one bit position. The initial value of bit 7 replaces the carry flag (C); the initial value of the 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

 

D:

rotation; cleared otherwise.

 

Unaffected.

 

H:

Unaffected.

Format:

 

Bytes Cycles Opcode

Addr Mode

(Hex)

dst

opc

dst

2

4

10

R

4 11IR

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 the 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.

6-40

Page 356
Image 356
Samsung S3C9228/P9228, 8-Bit CMOS Microcontroller user manual RLC Rotate Left Through Carry