The ACALL instruction calls a subroutine located at the specified address.
The PC is incremented twice to obtain the address of the following instruction.
The 16-bit PC is then stored on the stack (low-order byte first) and the stack pointer is incremented twice.
No flags are affected.
The address of the subroutine is calculated by combining the 5 high-order bits of the incremented PC (for A15-A11), the 3 high-order bits of the ACALL instruction opcode (for A10-A8), and the second byte of the instruction (for A7-A0).
The subroutine that is called must be located in the same 2KByte block of program memory as the opcode following the ACALL instruction.
ACALL address
;Program Execution jumps to the label and returns back after RET ACALL LABEL ;2 bytes 2 cycles