using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Cosmos.Assembler.X86
{
public class Operand
{
///
/// is this EncodingOption valid for situations where the Operand is a register?
/// if so, DestinationReg == Guid.Empty. if it is specific to a given register, the 32bit id is put in DestinationReg
///
public RegistersEnum BaseRegister;
public BitSize RegisterSize;
public RegisterGroup RegisterGroup;
///
/// the index in OpCode where the Register bit is encoded
///
public sbyte? RegisterByte;
///
/// the amount of bits the Register bits gets shifted to left, if neccessary
///
public byte RegisterBitShiftLeft;
///
/// is this EncodingOption valid for situations where the Operand is memory?
///
public OperandType Type;
///
/// is this EncodingOption valid for situations where the Operand is an immediate value
///
public BitSize ImmediateSize = BitSize.None;
public override string ToString()
{
return base.ToString();
}
}
}