CALLNZ (call if not zero)

Begins execution of procedure if given value is not zero.

Syntax

CALLNZ1 address [in,4i(addr)], value [in,1] ;code:96
CALLNZ2 address [in,4i(addr)], value [in,2] ;code:97
CALLNZ4 address [in,4i(addr)], value [in,4] ;code:98
CALLNZ8 address [in,4i(addr)], value [in,8] ;code:99

Description

This instruction modifies control flow by setting IP to the given address, but only if given value is not zero. In this case, execution will continue from this address.

If the value is not zero, address of the next instruction after the CALL is pushed to the stack, so that you can return from procedure.