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 | None | See Operation |
STACK ← PC + 1 SP ← SP - 3 (3 bytes, 22 bits) |
16-bit Opcode:
1001 | 0101 | 0000 | 1001 |