libTriton
version 0.7 build 1407
|
This class is used when an instruction has a register operand. More...
#include <register.hpp>
Public Member Functions | |
TRITON_EXPORT | Register () |
Constructor. | |
TRITON_EXPORT | Register (triton::arch::register_e regId, std::string name, triton::arch::register_e parent, triton::uint32 high, triton::uint32 low, bool vmutable) |
Constructor. | |
TRITON_EXPORT | Register (const triton::arch::CpuInterface &, triton::arch::register_e regId) |
Constructor. | |
TRITON_EXPORT | Register (const Register &other) |
Constructor. | |
TRITON_EXPORT triton::arch::register_e | getParent (void) const |
Returns the parent id of the register. | |
TRITON_EXPORT bool | isOverlapWith (const Register &other) const |
Returns true if other and self overlap. | |
TRITON_EXPORT bool | isMutable (void) const |
Returns true if this register is mutable. Mainly used in AArch64 to define that some registers like XZR are immutable. | |
TRITON_EXPORT std::string | getName (void) const |
Returns the name of the register. | |
TRITON_EXPORT triton::arch::register_e | getId (void) const |
Returns the id of the register. | |
TRITON_EXPORT triton::uint32 | getBitSize (void) const |
Returns the size (in bits) of the register. | |
TRITON_EXPORT triton::uint32 | getSize (void) const |
Returns the size (in bytes) of the 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 bool | operator!= (const Register &other) const |
Compare two registers specifications. | |
TRITON_EXPORT Register & | operator= (const Register &other) |
Copies a Register. | |
![]() | |
TRITON_EXPORT | BitsVector () |
Constructor. | |
TRITON_EXPORT | BitsVector (triton::uint32 high, triton::uint32 low) |
Constructor. | |
TRITON_EXPORT | BitsVector (const triton::arch::BitsVector &other) |
Constructor by copy. | |
TRITON_EXPORT BitsVector & | operator= (const BitsVector &other) |
Copy a BitsVector. | |
TRITON_EXPORT triton::uint32 | getHigh (void) const |
Returns the highest bit. | |
TRITON_EXPORT triton::uint32 | getLow (void) const |
Returns the lower bit. | |
TRITON_EXPORT triton::uint32 | getVectorSize (void) const |
Returns the size in bits of the vector. | |
TRITON_EXPORT triton::uint512 | getMaxValue (void) const |
Returns the max possible value of the bitvector. | |
TRITON_EXPORT void | setHigh (triton::uint32 v) |
Sets the highest bit position. | |
TRITON_EXPORT void | setLow (triton::uint32 v) |
Sets the lower bit position. | |
TRITON_EXPORT void | setPair (std::pair< triton::uint32, triton::uint32 > p) |
Sets the pair<high, low> position. | |
![]() | |
TRITON_EXPORT | AArch64OperandProperties () |
Constructor. | |
TRITON_EXPORT | AArch64OperandProperties (const AArch64OperandProperties &other) |
Constructor by copy. | |
TRITON_EXPORT triton::arch::aarch64::shift_e | getShiftType (void) const |
Returns the type of the shift. | |
TRITON_EXPORT triton::uint32 | getShiftValue (void) const |
Returns the value of the shift. | |
TRITON_EXPORT triton::arch::aarch64::extend_e | getExtendType (void) const |
Returns the type of the extend. | |
TRITON_EXPORT triton::uint32 | getExtendSize (void) const |
Returns the size (in bits) of the extend. | |
TRITON_EXPORT void | setShiftType (triton::arch::aarch64::shift_e type) |
Sets the type of the shift. | |
TRITON_EXPORT void | setShiftValue (triton::uint32 value) |
Sets the value of the shift. | |
TRITON_EXPORT void | setExtendType (triton::arch::aarch64::extend_e type) |
Sets the type of the extend. | |
TRITON_EXPORT void | setExtendedSize (triton::uint32 dstSize) |
Sets the extended size (in bits) after extension. | |
TRITON_EXPORT AArch64OperandProperties & | operator= (const AArch64OperandProperties &other) |
Copy an AArch64OperandProperties. | |
Protected Attributes | |
std::string | name |
The name of the register. | |
triton::arch::register_e | id |
The id of the register. | |
triton::arch::register_e | parent |
The parent id of the register. | |
bool | vmutable |
True if the register is mutable. For example XZR in AArch64 is immutable. | |
![]() | |
triton::uint32 | high |
The highest bit of the bitvector. | |
triton::uint32 | low |
The lower bit of the bitvector. | |
![]() | |
triton::arch::aarch64::extend_e | extendType |
The extend type. | |
triton::uint32 | extendSize |
The extend size (in bits). | |
triton::arch::aarch64::shift_e | shiftType |
The shift type. | |
triton::uint32 | shiftValue |
The shift value. | |
This class is used when an instruction has a register operand.
Definition at line 44 of file register.hpp.