Initializes a new instance of the Architecture class.

Namespace: SharpAssembler.x86
Assembly: SharpAssembler x86-64 (in SharpAssembler x86-64.dll) Version: 1.0.0.0 (1.0.0.0)

Syntax

C#
public Architecture(
	CpuType type,
	CpuFeatures features,
	DataSize addressingMode,
	bool ripRelative
)
Visual Basic
Public Sub New ( _
	type As CpuType, _
	features As CpuFeatures, _
	addressingMode As DataSize, _
	ripRelative As Boolean _
)
Visual C++
public:
Architecture(
	CpuType^ type, 
	CpuFeatures features, 
	DataSize addressingMode, 
	bool ripRelative
)

Parameters

type
Type: SharpAssembler.x86..::..CpuType
The type of CPU.
features
Type: SharpAssembler.x86..::..CpuFeatures
The features of the CPU.
addressingMode
Type: SharpAssembler.Core..::..DataSize
The addressing mode to use.
ripRelative
Type: System..::..Boolean
Whether to use RIP-relative addressing by default. The default is falseFalsefalsefalse (False in Visual Basic).

Remarks

The Features are set according to the selected type, bitwise OR-ed with features.

Exceptions

ExceptionCondition
System.ComponentModel..::..InvalidEnumArgumentException!(Enum.IsDefined(typeof(DataSize), addressingMode))
System..::..ArgumentExceptionaddressingMode != DataSize.None && !(IsValidAddressSize(type, addressingMode))

Contracts

Requires
Enum.IsDefined(typeof(DataSize), addressingMode)
addressingMode == DataSize.None || IsValidAddressSize(type, addressingMode)
Description: Specify a valid address size for this architecture and CPU type.
Exception: System..::..ArgumentException

See Also