libTriton  version 0.4 build 1356
Modules | Namespaces | Classes | Enumerations | Functions | Variables
Arch
Collaboration diagram for Arch:

Modules

 X86
 

Namespaces

 triton::arch::x86
 The x86 namespace.
 

Classes

class  triton::arch::Architecture
 The abstract architecture class. More...
 
class  triton::arch::BitsVector
 This class is used to deal with registers and memory as bits vector. More...
 
interface  triton::arch::CpuInterface
 This interface is used as abstract CPU interface. All CPU must use this interface. More...
 
class  triton::arch::Immediate
 This class is used to represent an immediate. More...
 
class  triton::arch::Instruction
 This class is used when to represent an instruction. More...
 
class  triton::arch::IrBuilder
 The IR builder. More...
 
class  triton::arch::MemoryAccess
 This class is used to represent a memory access. More...
 
interface  triton::arch::OperandInterface
 This interface is used for instruction operands. More...
 
interface  triton::arch::OperandWrapper
 This class is used as operand wrapper. More...
 
class  triton::arch::Register
 This class is used when an instruction has a register operand. More...
 
class  triton::arch::RegisterSpecification
 This class is used to describe the specification of a register. More...
 
interface  triton::arch::SemanticsInterface
 This interface is used as abstract semantics interface. All ISA semantics must use this interface. More...
 

Enumerations

enum  triton::arch::architectures_e { triton::arch::ARCH_INVALID = 0, triton::arch::ARCH_X86, triton::arch::ARCH_X86_64, triton::arch::ARCH_LAST_ITEM }
 
enum  triton::arch::operandType_e { triton::arch::OP_INVALID = 0, triton::arch::OP_IMM, triton::arch::OP_MEM, triton::arch::OP_REG }
 Type Operand. More...
 

Functions

std::ostream & triton::arch::operator<< (std::ostream &stream, const BitsVector &bv)
 Displays a BitsVector.
 
std::ostream & triton::arch::operator<< (std::ostream &stream, const BitsVector *bv)
 Displays a BitsVector.
 
std::ostream & triton::arch::operator<< (std::ostream &stream, const Immediate &imm)
 Displays an Immediate.
 
std::ostream & triton::arch::operator<< (std::ostream &stream, const Immediate *imm)
 Displays an Immediate.
 
bool triton::arch::operator== (const Immediate &imm1, const Immediate &imm2)
 Compares two Immediate.
 
bool triton::arch::operator!= (const Immediate &imm1, const Immediate &imm2)
 Compares two Immediate.
 
bool triton::arch::operator< (const Immediate &imm1, const Immediate &imm2)
 Compares two Immediate (needed for std::map)
 
std::ostream & triton::arch::operator<< (std::ostream &stream, const Instruction &inst)
 Displays an Instruction.
 
std::ostream & triton::arch::operator<< (std::ostream &stream, const Instruction *inst)
 Displays an Instruction.
 
std::ostream & triton::arch::operator<< (std::ostream &stream, const MemoryAccess &mem)
 Displays an MemoryAccess.
 
std::ostream & triton::arch::operator<< (std::ostream &stream, const MemoryAccess *mem)
 Displays an MemoryAccess.
 
bool triton::arch::operator== (const MemoryAccess &mem1, const MemoryAccess &mem2)
 Compares two MemoryAccess.
 
bool triton::arch::operator!= (const MemoryAccess &mem1, const MemoryAccess &mem2)
 Compares two MemoryAccess.
 
bool triton::arch::operator< (const MemoryAccess &mem1, const MemoryAccess &mem2)
 Compares two MemoryAccess (needed for std::map)
 
std::ostream & triton::arch::operator<< (std::ostream &stream, const triton::arch::OperandWrapper &op)
 Displays a OperandWrapper according to the concrete type.
 
std::ostream & triton::arch::operator<< (std::ostream &stream, const triton::arch::OperandWrapper *op)
 Displays a OperandWrapper according to the concrete type.
 
std::ostream & triton::arch::operator<< (std::ostream &stream, const Register &reg)
 Displays a Register.
 
std::ostream & triton::arch::operator<< (std::ostream &stream, const Register *reg)
 Displays a Register.
 
bool triton::arch::operator== (const Register &reg1, const Register &reg2)
 Compares two Register.
 
bool triton::arch::operator!= (const Register &reg1, const Register &reg2)
 Compares two Register.
 
bool triton::arch::operator< (const Register &reg1, const Register &reg2)
 Compares two Register (needed for std::map)
 

Variables

const bool triton::arch::FORCE_MEMORY_INITIALIZATION = true
 Defines the force memory initialization constant.
 
const triton::uint32 triton::arch::INVALID_REGISTER_ID = 0
 Defines the invalid register constant.
 
const bool triton::arch::IMMUTABLE_REGISTER = true
 Defines the immutable register constant.
 

Detailed Description

Enumeration Type Documentation

◆ architectures_e

The architectures

Enumerator
ARCH_INVALID 

invalid architecture.

ARCH_X86 

x86 architecture.

ARCH_X86_64 

x86_64 architecture.

ARCH_LAST_ITEM 

must be the last item.

Definition at line 41 of file architecture.hpp.

◆ operandType_e

Type Operand.

Enumerator
OP_INVALID 

invalid operand

OP_IMM 

immediate operand

OP_MEM 

memory operand

OP_REG 

register operand

Definition at line 31 of file operandInterface.hpp.