Expand description
Runtime support for the x64 architecture assembling target.
The x64 instruction set features variable-length instructions and relative relocations up to 32 bits in size.
The core relocation behaviour for this architecture is provided by the X64Relocation
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 x64.
These enums implement the Register
trait and their discriminant values match their numeric encoding in dynamic register literals.
Some of these are re-exported from the x86 architecture.
Note: The presence of some registers listed here is purely what is encodable. Check the relevant architecture documentation to find what is architecturally valid.
Re-exports§
pub use crate::x86::Rh;
pub use crate::x86::Rf;
pub use crate::x86::Rm;
pub use crate::x86::Rs;
pub use crate::x86::RD;
pub use crate::x86::RB;
Structs§
- Relocation implementation for the x64 architecture.
Enums§
- 8-byte control registers.
- 1, 2, 4 or 8-byte general purpose “quad-word” registers.
- 16 or 32-byte SSE registers.
Type Aliases§
- An x64 Assembler. This is aliased here for backwards compatability.
- An x64 AssemblyModifier. This is aliased here for backwards compatability.
- An x64 UncommittedModifier. This is aliased here for backwards compatability.