Skip to main content

Module arch

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§

FullScope
A Scope that considers every instruction in-scope.

Traits§

Arch
Represents a CPU architecture.
CpuState
Represents a CPU state.
Flag
Represents a flag.
NumberedRegister
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.