Syntax: |
Operation: |
Operands: |
Program Counter: |
Opcode |
Comment |
Stack: |
EICALL |
PC(15:0) = Z(15:0) PC(21:16) = EIND |
None |
See Operation |
1001010100011001 |
STACK = PC + 1 SP = SP - 3 (3 bytes, 22 bits) |
Indirect call of a subroutine pointed to by the Z (16-bit) Pointer Register in the Register File and the EIND Register in the I/O space. This instruction allows for indirect calls to the entire 4M (words) program memory space. See also ICALL. The Stack Pointer uses a post-decrement scheme during EICALL.
This instruction is not available on all devices. Refer to Appendix A.
I |
– |
||
T |
– |
||
H |
– |
||
S |
– |
||
V |
– |
||
N |
– |
||
Z |
– |
||
C |
– |
ldi r16,0x05 ; Set up EIND and Z-pointer out EIND,r16 ldi r30,0x00 ldi r31,0x10 eicall ; Call to 0x051000
1 (2 bytes)
Name |
Cycles |
AVRe |
4(2) |
AVRxm |
3(2) |
AVRxt |
3 |
AVRrc |
N/A |
Notes:
1.
The instruction is only implemented on devices with 22-bit PC
2.
Cycle times for data memory access assume internal RAM access and are not valid for accessing external RAM.