A <- A & (IX+d)
AND
(IX+d)
b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 | |
---|---|---|---|---|---|---|---|---|
1 | 1 | 0 | 1 | 1 | 1 | 0 | 1 | $DD |
1 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | $A6 |
d |
The contents of the Index (register pair IX) Register is added to a two's complement displacement d to point to an address in memory. A logical AND operation is performed between the contents of this memory address and the contents of the Accumulator. The result is stored in the Accumulator.
S | is set if result is negative, otherwise it is reset. |
Z | is set if result is 0, otherwise it is reset. |
H | is set. |
P/V | is reset if overflow, otherwise it is reset |
N | is reset. |
C | is reset. |
If the Accumulator contains $7B (0111 1011), Index Register IX contains $1000, and memory location $1005 contains $C3 (1100 0011), then upon the execution of
AND (IX+$05)
the Accumulator contains $43 (0100 0011).