n--m n---------m |CY|<-|7<------0|<-- 1 v--u v---------u r
SLL
r
b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 | |
---|---|---|---|---|---|---|---|---|
1 | 1 | 0 | 0 | 1 | 0 | 1 | 1 | $CB |
0 | 0 | 1 | 1 | 0 | r |
An arithmetic shift left 1 bit position is performed on the contents of register r. Bit 0 is set and the contents of bit 7 are copied to the carry flag. Bit 0 is the least-significant bit. In the assembled object code, operand r is specified as follows:
Register | r | Hex |
---|---|---|
A | 111 | $37 |
B | 000 | $30 |
C | 001 | $31 |
D | 010 | $32 |
E | 011 | $33 |
H | 100 | $34 |
L | 101 | $35 |
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. |
Register L contains the following data:
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|
1 | 0 | 1 | 1 | 0 | 0 | 0 | 1 |
Upon the execution of
SLL L
register L and the Carry Flag now contain:
C | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
---|---|---|---|---|---|---|---|---|---|
1 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 1 |