libTriton  version 0.8 build 1423
Public Member Functions | Protected Attributes | List of all members
triton::arch::Register Class Reference

This class is used when an instruction has a register operand. More...

#include <register.hpp>

Inheritance diagram for triton::arch::Register:

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 Registeroperator= (const Register &other)
 Copies a Register.
 
- Public Member Functions inherited from triton::arch::BitsVector
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 BitsVectoroperator= (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.
 
- Public Member Functions inherited from triton::arch::AArch64OperandProperties
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 AArch64OperandPropertiesoperator= (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.
 
- Protected Attributes inherited from triton::arch::BitsVector
triton::uint32 high
 The highest bit of the bitvector.
 
triton::uint32 low
 The lower bit of the bitvector.
 
- Protected Attributes inherited from triton::arch::AArch64OperandProperties
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.
 

Detailed Description

This class is used when an instruction has a register operand.

Definition at line 44 of file register.hpp.


The documentation for this class was generated from the following files: