8#ifndef TRITON_REGISTEROPERAND_HPP
9#define TRITON_REGISTEROPERAND_HPP
85 TRITON_EXPORT std::string
getName(
void)
const;
This class is used to deal with registers and memory as bits vector.
triton::uint32 low
The lower bit of the bitvector.
triton::uint32 high
The highest bit of the bitvector.
This interface is used as abstract CPU interface. All CPU must use this interface.
This class is used when an instruction has a register operand.
TRITON_EXPORT triton::uint32 getBitSize(void) const
Returns the size (in bits) of the register.
TRITON_EXPORT triton::arch::register_e getParent(void) const
Returns the parent id of the register.
TRITON_EXPORT triton::arch::register_e getId(void) const
Returns the id of the register.
triton::arch::register_e parent
The parent id of the register.
TRITON_EXPORT bool operator!=(const Register &other) const
Compare two registers specifications.
TRITON_EXPORT bool isOverlapWith(const Register &other) const
Returns true if other and self overlap.
TRITON_EXPORT Register & operator=(const Register &other)
Copies a Register.
TRITON_EXPORT triton::arch::operand_e getType(void) const
Returns the type of the operand (triton::arch::OPERAND_REGISTER).
TRITON_EXPORT bool operator==(const Register &other) const
Compare two registers specifications.
TRITON_EXPORT Register()
Constructor.
bool vmutable
True if the register is mutable. For example XZR in AArch64 is immutable.
triton::arch::register_e id
The id of the register.
TRITON_EXPORT bool isMutable(void) const
Returns true if this register is mutable. Mainly used in AArch64 to define that some registers like X...
std::string name
The name of the register.
TRITON_EXPORT std::string getName(void) const
Returns the name of the register.
TRITON_EXPORT triton::uint32 getSize(void) const
Returns the size (in bytes) of the register.
This class is used to represent specific properties of an Arm operand.
std::ostream & operator<<(std::ostream &stream, BasicBlock &block)
Displays an BasicBlock.
bool operator<(const Immediate &imm1, const Immediate &imm2)
Compares two Immediate (needed for std::map)
register_e
Types of register.
std::uint32_t uint32
unisgned 32-bits