public void IND()
    {
        Z80.BC.AddH(-1);
        WM(Z80.HL.D, IN(Z80.BC.D));
        Z80.HL.AddD(-1);
        Z80.AF.SetL(Z80.BC.H !=0 ? NF : NF | ZF);
    }
    /*TODO*////***************************************************************
    /*TODO*/// * OUTD
    /*TODO*/// ***************************************************************/
    /*TODO*///#if Z80_EXACT
    /*TODO*///#define OUTD {													\
    /*TODO*///	UINT8 io = RM(_HL); 										\
    /*TODO*///	OUT( _BC, io ); 											\
    /*TODO*///	_B--;														\
    /*TODO*///	_HL--;														\
    /*TODO*///	_F = SZ[_B];												\
    /*TODO*///    if( io & SF ) _F |= NF;                                     \
    /*TODO*///	if( (_C + io - 1) & 0x100 ) _F |= HF | CF;					\
    /*TODO*///	if( (drep_tmp1[_C & 3][io & 3] ^							\
    /*TODO*///		 breg_tmp2[_B] ^										\
    /*TODO*///		 (_C >> 2) ^											\
    /*TODO*///		 (io >> 2)) & 1 )										\
    /*TODO*///        _F |= PF;                                               \
    /*TODO*///}
    /*TODO*///#else
    /*TODO*///#define OUTD {                                                  \
    /*TODO*///    OUT( _BC, RM(_HL) );                                        \
    /*TODO*///	_B--;														\
    /*TODO*///	_HL--;														\
    /*TODO*///	_F = (_B) ? NF : NF | ZF;									\
    /*TODO*///}
    /*TODO*///#endif
    /*TODO*///
    /*TODO*////***************************************************************
    /*TODO*/// * LDIR
    /*TODO*/// ***************************************************************/
    /*TODO*///#if REPEAT_AT_ONCE
    /*TODO*///#define LDIR {                                                  \
    /*TODO*///	CY(5);														\
    /*TODO*///	_PC -= 2;													\
    /*TODO*///	do															\
    /*TODO*///	{															\
    /*TODO*///		LDI;													\
    /*TODO*///		if( _BC )												\
    /*TODO*///		{														\
    /*TODO*///			if( z80_ICount > 0 )								\
    /*TODO*///			{													\
    /*TODO*///				_R += 2;  /* increment R twice */				\
    /*TODO*///				CY(21); 										\
    /*TODO*///			}													\
    /*TODO*///			else break; 										\
    /*TODO*///		}														\
    /*TODO*///		else													\
    /*TODO*///		{														\
    /*TODO*///			_PC += 2;											\
    /*TODO*///            z80_ICount += 5;                                    \
    /*TODO*///            break;                                              \
    /*TODO*///		}														\
    /*TODO*///	} while( z80_ICount > 0 );									\
    /*TODO*///}
    /*TODO*///#else
    /*TODO*///#define LDIR LDI; if( _BC ) { _PC -= 2; CY(5); }