Module dynasmrt::x86

source ·
Expand description

Runtime support for the x86 architecture assembling target.

The x86 instruction set features variable-length instructions and relative relocations up to 16 bits in size, or absolute relocations of 32 bits in size.

The core relocation behaviour for this architecture is provided by the X86Relocation type.

Next to that, this module contains the following:

§Type aliases

Several specialized type aliases of the generic Assembler are provided as these are by far the most common usecase.

§Enums

There are enumerator of every logically distinct register family usable in x86. These enums implement the Register trait and their discriminant values match their numeric encoding in dynamic register literals.

Note: The presence of some registers listed here is purely what is encodable. Check the relevant architecture documentation to find what is architecturally valid.

Structs§

Enums§

  • 16-byte bound registers.
  • 4-byte control registers.
  • 4-byte debug registers.
  • 1, 2 or 4-byte general purpose “double-word” registers.
  • 10-byte floating point registers.
  • High-byte general purpose registers.
  • 8-byte MMX registers.
  • 2-byte segment registers.
  • 16 or 32-byte SSE registers.

Type Aliases§

  • An x86 Assembler. This is aliased here for backwards compatability.
  • An x86 AssemblyModifier. This is aliased here for backwards compatability.
  • An x86 UncommittedModifier. This is aliased here for backwards compatability.