<< Previous | Next >>

> XOR (IX+d)
> XOR (IY+d) Exclusive OR Rabbit 2000/3000/4000 Instruction

> Opcode | Instruction | Clocks | Operation
> DD AE d | XOR (IX+d) | 9 (2,2,2,1,2) | A = [A & ~(IX + d)] | [~A & (IX + d)]
> FD AE d | XOR (IY+d) | 9 (2,2,2,1,2) | A = [A & ~(IY + d)] | [~A & (IY + d)]

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

> #### Description

> Performs an exclusive OR operation between A and the data whose address is:

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

> The result is stored in A.

> The Rabbit 4000 assembler views "XOR A,(IX+d)" and "XOR (IX+d)" as equivalent instructions. The same is true for "XOR A,(IY+d)" and "XOR (IY+d)."

> #### Example

> If HL contains 0x4000 and the memory location 0x4000 contains the byte 1001 0101 and A contains the byte 0101 0011 then the execution of the instruction

>     XOR (HL)

> would result in the byte in A becoming 1100 0110.

<< Previous | Next >>