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§
- An implementation of a fake architecture that is used in various tests.
- Provides generic definitions for specifying undefined behavior on an architecture.
- Definitions for the x86-64 architecture.
Structs§
- A
Scopethat considers every instruction in-scope.
Traits§
- Represents a CPU architecture.
- Represents a CPU state.
- Represents a flag.
- Implements conversion to and from
usize. This is required for general purpose registers, and is used as an optimization in some code. - Represents a register.
- Defines an instruction scope for an architecture. This can be used to limit which parts of the instruction space are enumerated.