n--------------------m | n--m n---------m | v-|CY|<-|7<------0|<-u v--u v---------u r
RL
r
b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 | |
---|---|---|---|---|---|---|---|---|
1 | 1 | 0 | 0 | 1 | 0 | 1 | 1 | $CB |
0 | 0 | 0 | 1 | 0 | r |
The contents of register r are rotated left 1 bit position. The contents of bit 7 are copied to the Carry flag, and the previous contents of the Carry flag are copied to bit 0. In the assembled object code, operand r is specified as follows:
Register | r | Hex |
---|---|---|
A | 111 | $17 |
B | 000 | $10 |
C | 001 | $11 |
D | 010 | $12 |
E | 011 | $13 |
H | 100 | $14 |
L | 101 | $15 |
S | is set if result is negative, otherwise it is reset. |
Z | is set if result is 0, otherwise it is reset. |
H | is reset. |
P/V | is set if parity even, otherwise it is reset |
N | is reset. |
C | is data from bit 7 of source register. |
Register D and the Carry flag contains the following data:
C | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
---|---|---|---|---|---|---|---|---|---|
0 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 |
Upon the execution of
RL D
register D and the Carry Flag now contain:
C | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
---|---|---|---|---|---|---|---|---|---|
1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 |