call

Pushes the return address onto the stack and jumps to a 16-bit address, either always or only when a flag condition is met.

17/10 cycles: 17 when it calls, 10 when it does not

SZHP/VNC ––––––
  • Changes no flag

Forms

  • call 3 bytes · 17 cycles

    The current PC value plus three is pushed onto the stack, then is loaded with nnnn.

  • If the condition cc is true, the current PC value plus three is pushed onto the stack, then is loaded with nnnn.

Pseudo-instructions

Other spellings the assembler accepts; each form shows the instruction it becomes.

  • If the condition cc is true, the current PC value plus three is pushed onto the stack, then is loaded with nnnn.

Operands

nnnn
A 16-bit value or address, 0 to 65535, written as a number or label. (nnnn) accesses memory at that address. More
cc
A flag condition: nz (zero flag clear, Z = 0), z (zero flag set, Z = 1), nc (carry flag clear, C = 0), c (carry flag set, C = 1), po (parity/overflow flag clear, P/V = 0), pe (parity/overflow flag set, P/V = 1), p (sign flag clear, S = 0), m (sign flag set, S = 1), nv (alias for po, P/V = 0) or v (alias for pe, P/V = 1). Here c tests the carry flag; it does not name the c register. More
        .org 0x8000
        call nz, target
        halt
target: ret