<< Previous | Next >>

> SRA (HL)
> SRA (IX+d)
> SRA (IY+d) Shift Right Arithmetical Rabbit 2000/3000/4000 Instruction

> Opcode | Instruction | Clocks | Operation
> CB 2E | SRA (HL) | 10* | (HL) = {(HL)[7],(HL)[7,1]} CF = (HL)[0]
> DD CB d 2E | SRA (IX+d) | 13** | (IX+d) = {(IX+d)[7],(IX+d)[7,1]} CF = (IX+d)[0]
> FD CB d 2E | SRA (IY+d) | 13** | (IY+d) = {(IY+d)[7],(IY+d)[7,1]} CF = (IY+d)[0]
> Clocking: *10 (2,2,1,2,3) **13 (2,2,2,2,2,3)

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

> #### Description

> Arithmetically shifts to the right the bits in the data whose address is:

> - HL, or
> - the sum of IX and the 8-bit signed displacement d, or
> - the sum of IY and the 8-bit signed displacement d.

> Bits 7 through 1 are shifted to the next lowest-order bit position (bit 7 is shifted to bit 6, etc.). Bit 7 is also copied to itself. Bit 0 is shifted to the C flag. See Figure 22 for an illustration.

<< Previous | Next >>