Description

Exchanges one byte indirect between register and data space.

The data location is pointed to by the Z (16 bits) Pointer Register in the Register File. Memory access is limited to the current data segment of 64KB. To access another data segment in devices with more than 64KB data space, the RAMPZ in register in the I/O area has to be changed.

The Z-pointer Register is left unchanged by the operation. This instruction is especially suited for writing/reading status bits stored in SRAM.

 

Operation:

(i)

(Z) ← Rd, Rd ← (Z)

 

Syntax:

Operands:

Program Counter:

(i)

XCH Z,Rd

0 ≤ d ≤ 31

PC ← PC + 1

16-bit Opcode:

1001 001r rrrr 0100