Arch module

Module regrouping classes and enums used to represent various computer architectures.

Contents

An architecture is represented by a class deriving from the Arch generic class. Each architecture has its own namespace which regroups the specialised Arch class (X86::ArchX86, X64::ArchX64, ...) and static variables for each available CPU register (X86::EAX, X64::RAX, ...)

❱   Namespaces

namespace maat::X86
Namespace for X86-32 specific definitions and classes.

namespace maat::X64
Namespace for X86-64 specific definitions and classes.

❱   Classes

class maat::Arch
Base class representing an architecture.

class maat::X86::ArchX86
Intel X86-32 architecture.

class maat::X64::ArchX64
Intel X86-64 architecture.

❱   Enums

enum class CPUMode { X86, X64, A32, T32, A64, NONE }
CPU modes.

❱   Typedefs

using reg_t = uint16_t
Generic representation of a CPU register in Maat's engine.

❱   Enum documentation

enum class CPUMode

CPU modes.

Enumerators
X86

Intel X86.

X64

Intel X86_64.

A32

ARM 32-bits.

T32

ARM Thumb.

A64

ARM 64-bits.

NONE