<< Previous | Next >>

> SLA r Shift Left Arithmetic Rabbit 2000/3000/4000 Instruction

> Opcode | Instruction | Clocks | Operation
> ---- | SLA r | 4 (2,2) | r = {r[6,0],0}; CF = r[7]
> CB 27 | SLA A | 4 (2,2) | A = {A[6,0],0}; CF = A[7]
> CB 20 | SLA B | 4 (2,2) | B = {B[6,0],0}; CF = B[7]
> CB 21 | SLA C | 4 (2,2) | C = {C[6,0],0}; CF = C[7]
> CB 22 | SLA D | 4 (2,2) | D = {D[6,0],0}; CF = D[7]
> CB 23 | SLA E | 4 (2,2) | E = {E[6,0],0}; CF = E[7]
> CB 24 | SLA H | 4 (2,2) | H = {H[6,0],0}; CF = H[7]
> CB 25 | SLA L | 4 (2,2) | L = {L[6,0],0}; CF = L[7]

> Flags | ALTD | IOI/IOE
> S | Z | L/V | C | F | R | SP | S | D
> · | · | L | · | · | · |  |  |

> #### Description

> Arithmetically shifts to the left the bits of the data in register r (any of A, B, C, D, E, H, or L). Bits 0 through 6 are each shifted to the next highest-order bit position (bit 0 moves to bit 1, etc.). Bit 7 is shifted to the C flag. Bit 0 is reset. See the figure below.

> Figure 19: The bit logic of the SLA instruction.

<< Previous | Next >>