Ejemplo n.º 1
0
      public static void FloatStoreAndPop(Register32 register, bool isIndirect = false, int? displacement = null, RegisterSize? size = null)
      {
        if (displacement != null)
        {
          isIndirect = true;
          if (displacement == 0)
          {
            displacement = null;
          }
        }

        if (size == null)
        {
          if (isIndirect)
          {
            throw new InvalidOperationException("No size specified!");
          }
          size = register.Size;
        }

        new FloatStoreAndPop
        {
          DestinationReg = register.RegEnum,
          DestinationIsIndirect = isIndirect,
          DestinationDisplacement = displacement,
          Size = (byte)size
        };
      }
Ejemplo n.º 2
0
      public static void FloatAdd(Register32 destination, bool isIndirect = false, RegisterSize? size = null)
      {
        if (size == null)
        {
          if (isIndirect)
          {
            throw new InvalidOperationException("No size specified!");
          }
          size = destination.Size;
        }

        new FloatAdd
        {
          DestinationReg = destination,
          DestinationIsIndirect = isIndirect,
          Size = (byte)size.Value
        };
      }
Ejemplo n.º 3
0
 public static void FloatLoad(Register32 register, bool destinationIsIndirect = false, int? displacement = null, RegisterSize? size = null)
 {
   Do<FloatLoad>(register, isIndirect: destinationIsIndirect, displacement: displacement, size: size);
 }
Ejemplo n.º 4
0
 protected Register(string name, RegistersEnum regEnum, RegisterSize size)
 {
   Size = size;
   Name = name;
   RegEnum = regEnum;
 }
Ejemplo n.º 5
0
 protected Register(string name, RegistersEnum regEnum, RegisterSize size)
 {
     Size    = size;
     Name    = name;
     RegEnum = regEnum;
 }
Ejemplo n.º 6
0
 private void Ldloc(int index, RegisterType type, RegisterSize size)
 {
     AddOperation(Operation.LoadLocal(index, type, size));
 }
Ejemplo n.º 7
0
 public ILOpCodeStore(int index, VarType varType, RegisterSize registerSize = 0)
 {
     Index        = index;
     VarType      = varType;
     RegisterSize = registerSize;
 }