Pin
Public Member Functions
LEVEL_CORE::MEM_ADDR_EXP Struct Reference

List of all members.

Public Member Functions

REG Base () const
REG Index () const
UINT32 Scale () const
INT32 Offset () const
MEM_ADDR_EXPBase (REG base)
MEM_ADDR_EXPIndex (REG index)
MEM_ADDR_EXPScale (UINT32 scale)
MEM_ADDR_EXPOffset (INT32 offset)
MEM_ADDR_EXPInit (REG base=REG_INVALID(), INT32 offset=0, REG index=REG_INVALID(), UINT32 scale=0)
BOOL IsNull () const
ADDRINT Evaluate (ADDRINT baseVal, ADDRINT indexVal) const
template<class T >
ADDRINT EvaluateOn (const T &ctxt) const
std::string ToString () const

Detailed Description

Expression that evaluates memory address for a given base and index registers, offset and scale (similar to ia32(e) memory operand)

Note:
this structure is intentionally only 64 bits wide. It is used in memory-critical objects, so do not make it bigger.

Member Function Documentation

REG LEVEL_CORE::MEM_ADDR_EXP::Base ( ) const [inline]

Accessors

ADDRINT LEVEL_CORE::MEM_ADDR_EXP::Evaluate ( ADDRINT  baseVal,
ADDRINT  indexVal 
) const [inline]

Evaluate expression for given values of base and index registers

template<class T >
ADDRINT LEVEL_CORE::MEM_ADDR_EXP::EvaluateOn ( const T &  ctxt) const [inline]

Template function that evaluates expression on a context object of class T that implements method ADDRINT T::GetContextReg(REG reg) const

MEM_ADDR_EXP& LEVEL_CORE::MEM_ADDR_EXP::Init ( REG  base = REG_INVALID(),
INT32  offset = 0,
REG  index = REG_INVALID(),
UINT32  scale = 0 
) [inline]

Initialize (construct) the expression. Default arguments specify expression which is always evaluated to NULL

BOOL LEVEL_CORE::MEM_ADDR_EXP::IsNull ( ) const [inline]

Return TRUE if expression is always evaluated to NULL

std::string LEVEL_CORE::MEM_ADDR_EXP::ToString ( ) const [inline]

Return string representation of the expression


The documentation for this struct was generated from the following file:
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator