public void CALL(boolean cond)
    {
        if (cond) 
        { 
            EA = ARG16();
            ////PUSH( PC );
            Z80.SP.SetD((Z80.SP.D - 2) & 0xFFFF); 
            cpu_writemem16(Z80.SP.D, Z80.PC.L);
            cpu_writemem16((int)(Z80.SP.D + 1) & 0xffff, Z80.PC.H);
            //END OF PUSH
            Z80.PC.SetD(EA & 0xFFFF);
            CY(7); 
            change_pc16(Z80.PC.D); 
        } 
        else 
        { 
            Z80.PC.AddD(2);//_PC+=2; 
        }
    }
    /*TODO*///
    /*TODO*////***************************************************************
    /*TODO*/// * RET
    /*TODO*/// ***************************************************************/
    /*TODO*///#define RET(cond)												\
    /*TODO*///	if( cond )													\
    /*TODO*///	{															\
    /*TODO*///		POP(PC);												\
    /*TODO*///		change_pc16(_PCD);										\
    /*TODO*///		CY(6);													\
    /*TODO*///	}