r <- (IX+d)
LD
r,(IX+d)
| b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 | |
|---|---|---|---|---|---|---|---|---|
| 1 | 1 | 0 | 1 | 1 | 1 | 0 | 1 | $DD |
| 0 | 1 | r | 1 | 1 | 0 | |||
| d | ||||||||
The (IX+d) operand (i.e., the contents of Index Register IX summed with two’s-complement displacement integer d) is loaded to register r, in which r identifies registers A, B, C, D, E, H, or L, assembled as follows in the object code:
| Register | r | Hex |
|---|---|---|
| A | 111 | $7E |
| B | 000 | $46 |
| C | 001 | $4E |
| D | 010 | $56 |
| E | 011 | $5E |
| H | 100 | $66 |
| L | 101 | $6E |
None
If Index Register IX contains the number $25AF, the instruction
LD B,(IX+$19)
allows the calculation of the sum $25AF+$19, which points to memory location $25C8. If this address contains byte $39, the unstruction results in Register B also containing $39.