public static void FloatStoreAndPop(XSRegisters.Register32 register, bool isIndirect = false, int?displacement = null, XSRegisters.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 }; }
public static void ConvertSD2SIAndTruncate(XSRegisters.Register32 destination, XSRegisters.RegisterXMM source) { new ConvertSD2SIAndTruncate { DestinationReg = destination, SourceReg = source }; }
public static void MoveSD(XSRegisters.Register32 destination, XSRegisters.RegisterXMM source, bool destinationIsIndirect = false) { new MoveSD() { DestinationReg = destination, DestinationIsIndirect = destinationIsIndirect, SourceReg = source }; }
public static void MoveSD(XSRegisters.RegisterXMM destination, XSRegisters.Register32 source, bool sourceIsIndirect = false) { new MoveSD() { DestinationReg = destination, SourceReg = source, SourceIsIndirect = sourceIsIndirect }; }
public static void ConvertSD2SS(XSRegisters.RegisterXMM destination, XSRegisters.Register32 source, bool sourceIsIndirect = false) { new ConvertSD2SS() { DestinationReg = destination, SourceReg = source, SourceIsIndirect = sourceIsIndirect }; }
public static void ConvertSI2SD(XSRegisters.RegisterXMM destination, XSRegisters.Register32 source, bool sourceIsIndirect = false, int?sourceDisplacement = null, bool destinationIsIndirect = false, int?destinationDisplacement = null) { new ConvertSI2SD() { DestinationReg = destination, DestinationIsIndirect = destinationIsIndirect, DestinationDisplacement = destinationDisplacement, SourceReg = source, SourceIsIndirect = sourceIsIndirect, SourceDisplacement = sourceDisplacement }; }
public static void FloatAdd(XSRegisters.Register32 destination, bool isIndirect = false, XSRegisters.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 }; }
public static void IntLoad(XSRegisters.Register32 destination, bool isIndirect = false, int?displacement = null, XSRegisters.RegisterSize?size = null) { if (size == null) { if (isIndirect) { throw new InvalidOperationException("No size specified!"); } size = destination.Size; } if (displacement != null) { isIndirect = true; } new IntLoad { DestinationReg = destination, DestinationIsIndirect = isIndirect, Size = (byte)size.Value }; }
public static void FloatLoad(XSRegisters.Register32 register, bool destinationIsIndirect = false, int?displacement = null, XSRegisters.RegisterSize?size = null) { Do <FloatLoad>(register, isIndirect: destinationIsIndirect, displacement: displacement, size: size); }