public void JP_COND(boolean cond)
    {
        if(cond)
        {
            Z80.PC.SetD(ARG16() & 0xFFFF);
            change_pc16(Z80.PC.D);
        }
        else
        {
            Z80.PC.AddD(2);
        }
    }

    /*TODO*////***************************************************************
    /*TODO*/// * JR_COND
    /*TODO*/// ***************************************************************/
    /*TODO*///#define JR_COND(cond)											\
    /*TODO*///	if( cond )													\
    /*TODO*///	{															\
    /*TODO*///		INT8 arg = (INT8)ARG(); /* ARG() also increments _PC */ \
    /*TODO*///		_PC += arg; 			/* so don't do _PC += ARG() */  \
    /*TODO*///        CY(5);                                                  \
    /*TODO*///		change_pc16(_PCD);										\
    /*TODO*///	}															\
    /*TODO*///	else _PC++; 												\
    /*TODO*///
    /*TODO*////***************************************************************
    /*TODO*/// * CALL
    /*TODO*/// ***************************************************************/
    /*TODO*///#define CALL(cond)												\
    /*TODO*///	if( cond )													\
    /*TODO*///	{															\
    /*TODO*///		EA = ARG16();											\
    /*TODO*///		PUSH( PC ); 											\
    /*TODO*///		_PCD = EA;												\
    /*TODO*///        CY(7);                                                  \
    /*TODO*///		change_pc16(_PCD);										\
    /*TODO*///	}															\
    /*TODO*///	else														\
    /*TODO*///	{															\
    /*TODO*///		_PC+=2; 												\
    /*TODO*///	}