Module arch
Expand description
All traits needed to define an architecture.
In order to implement an architecture, you should define a struct that implements the Arch trait.
Additionally, you will need to define types that implement Register and Flag, and reference these from the Arch trait.
An example of a minimal implementation can be found in the fake module.
It implements a fake architecture that is used in some tests.
In addition, you can inspect the source code of the various existing architecture implementation crates, such as liblisa-x64.
Modules§
- fake
- An implementation of a fake architecture that is used in various tests.
- undef
- Provides generic definitions for specifying undefined behavior on an architecture.
- x64
- Definitions for the x86-64 architecture.
Structs§
Traits§
- Arch
- Represents a CPU architecture.
- CpuState
- Represents a CPU state.
- Flag
- Represents a flag.
- Numbered
Register - Implements conversion to and from
usize. This is required for general purpose registers, and is used as an optimization in some code. - Register
- Represents a register.
- Scope
- Defines an instruction scope for an architecture. This can be used to limit which parts of the instruction space are enumerated.