6.58.1 Description

Indirect call of a subroutine pointed to by the Z (16-bit) Pointer Register in the Register File. The Z-Pointer Register is 16 bits wide and allows a call to a subroutine within the lowest 64K words (128 KB) section in the program memory space. The Stack Pointer uses a post-decrement scheme during ICALL.

This instruction is not available on all devices. Refer to Appendix A.

Operation:

Comment:

(i)

PC(15:0) ← Z(15:0)

Devices with 16-bit PC, 128 KB program memory maximum.

(ii)

PC(15:0) ← Z(15:0)

PC(21:16) ← 0

Devices with 22-bit PC, 8 MB program memory maximum.

Syntax:

Operands:

Program Counter:

Stack:

(i)

ICALL

None

See Operation

STACK ← PC + 1

SP ← SP - 2 (2 bytes, 16 bits)

(ii)

ICALL

NoneSee Operation

STACK ← PC + 1

SP ← SP - 3 (3 bytes, 22 bits)

16-bit Opcode:

1001010100001001