internal Memory(GpVariable @base, XmmVariable index, int shift, int disp, int size = 0) : base(OperandType.Memory, size) { Id = @base.Id; MemoryType = MemoryType.Label; Displacement = disp; Index = index.Id; Flags = GetGpdFlags(@base) + (Constants.X86.MemVSibXmm << Constants.X86.MemVSibIndex) + (shift << Constants.X86.MemShiftIndex); }
internal XmmVariable(XmmVariable other) : base(other) { }
public static Memory QWord(GpVariable @base, XmmVariable index, int shift = 0, int disp = 0) { return(Ptr(@base, index, shift, disp, 8)); }
public static Memory DWordAbs(IntPtr pAbs, XmmVariable index, int shift = 0, int disp = 0) { return(PtrAbs(pAbs, (index), shift, disp, 4)); }
public static Memory Ptr(GpVariable @base, XmmVariable index, int shift = 0, int disp = 0, int size = 0) { return(new Memory(@base, index, shift, disp, size)); }