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
Scope
that 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.