public void SBC16(int value) {
        int result = Z80.HL.D - value - (Z80.AF.L & 1);
       Z80.AF.SetL((((Z80.HL.D  ^ result ^ value) >> 8) & 0x10) | 0x02 | ((result >> 16) & 1) | ((result >> 8) & 0x80)
                | (((result & 0xffff) != 0) ? 0 : 0x40) | (((value ^ Z80.HL.D ) & (Z80.HL.D  ^ result) & 0x8000) >> 13));
       Z80.HL.SetD(result & 0xFFFF);
    }
    /*TODO*////***************************************************************
    /*TODO*/// * RLC	r8
    /*TODO*/// ***************************************************************/
    /*TODO*///INLINE UINT8 RLC(UINT8 value)
    /*TODO*///{
    /*TODO*///	unsigned res = value;
    /*TODO*///	unsigned c = (res & 0x80) ? CF : 0;
    /*TODO*///	res = ((res << 1) | (res >> 7)) & 0xff;
    /*TODO*///	_F = SZP[res] | c;
    /*TODO*///	return res;
    /*TODO*///}