|
| mop_addr_t () |
| mop_addr_t (const mop_addr_t &ra) |
| mop_addr_t (const mop_t &ra, int isz, int osz) |
mop_addr_t & | operator= (const mop_addr_t &rop) |
int | lexcompare (const mop_addr_t &ra) const |
void | set_impptr_done () |
void | set_udt () |
void | set_undef_val () |
void | set_lowaddr () |
void | set_for_abi () |
bool | is_impptr_done () const |
bool | is_udt () const |
bool | probably_floating () const |
bool | is_undef_val () const |
bool | is_lowaddr () const |
bool | is_for_abi () const |
bool | is_ccflags () const |
bool | is_pcval () const |
bool | is_glbaddr_from_fixup () const |
| mop_t () |
| mop_t (const mop_t &rop) |
| mop_t (mreg_t _r, int _s) |
mop_t & | operator= (const mop_t &rop) |
mop_t &hexapi | assign (const mop_t &rop) |
| ~mop_t () |
| HEXRAYS_MEMORY_ALLOCATION_FUNCS () void zero() |
void hexapi | swap (mop_t &rop) |
void hexapi | erase () |
void | erase_but_keep_size () |
void hexapi | print (qstring *vout, int shins_flags=SHINS_SHORT|SHINS_VALNUM) const |
const char *hexapi | dstr () const |
bool hexapi | create_from_mlist (mba_t *mba, const mlist_t &lst, sval_t fullsize) |
| Create operand from mlist_t.
|
bool hexapi | create_from_ivlset (mba_t *mba, const ivlset_t &ivs, sval_t fullsize) |
| Create operand from ivlset_t.
|
void hexapi | create_from_vdloc (mba_t *mba, const vdloc_t &loc, int _size) |
| Create operand from vdloc_t.
|
void hexapi | create_from_scattered_vdloc (mba_t *mba, const char *name, tinfo_t type, const vdloc_t &loc) |
| Create operand from scattered vdloc_t.
|
void hexapi | create_from_insn (const minsn_t *m) |
| Create operand from an instruction.
|
void hexapi | make_number (uint64 _value, int _size, ea_t _ea=BADADDR, int opnum=0) |
| Create an integer constant operand.
|
bool hexapi | make_fpnum (const void *bytes, size_t _size) |
| Create a floating point constant operand.
|
void | _make_reg (mreg_t reg) |
| Create a register operand without erasing previous data.
|
void | _make_reg (mreg_t reg, int _size) |
void | make_reg (mreg_t reg) |
| Create a register operand.
|
void | make_reg (mreg_t reg, int _size) |
void | _make_lvar (mba_t *mba, int idx, sval_t off=0) |
| Create a local variable operand.
|
void hexapi | _make_gvar (ea_t ea) |
| Create a global variable operand without erasing previous data.
|
void hexapi | make_gvar (ea_t ea) |
| Create a global variable operand.
|
void | _make_stkvar (mba_t *mba, sval_t off) |
| Create a stack variable operand.
|
void | make_stkvar (mba_t *mba, sval_t off) |
void hexapi | make_reg_pair (int loreg, int hireg, int halfsize) |
| Create pair of registers.
|
void | _make_insn (minsn_t *ins) |
| Create a nested instruction without erasing previous data.
|
void | make_insn (minsn_t *ins) |
| Create a nested instruction.
|
void | _make_blkref (int blknum) |
| Create a block reference operand without erasing previous data.
|
void | make_blkref (int blknum) |
| Create a global variable operand.
|
void hexapi | make_helper (const char *name) |
| Create a helper operand.
|
void | _make_strlit (const char *str) |
| Create a constant string operand.
|
void | _make_strlit (qstring *str) |
void | _make_callinfo (mcallinfo_t *fi) |
| Create a call info operand without erasing previous data.
|
void | _make_cases (mcases_t *_cases) |
| Create a 'switch cases' operand without erasing previous data.
|
void | _make_pair (mop_pair_t *_pair) |
| Create a pair operand without erasing previous data.
|
bool | empty () const |
bool | is_glbvar () const |
| Is a global variable?
|
bool | is_stkvar () const |
| Is a stack variable?
|
bool | is_reg () const |
| Is a register operand?
|
bool | is_reg (mreg_t _r) const |
| Is the specified register?
|
bool | is_reg (mreg_t _r, int _size) const |
| Is the specified register of the specified size?
|
bool | is_arglist () const |
| Is a list of arguments?
|
bool | is_cc () const |
| Is a condition code?
|
bool | is_bit_reg () const |
bool | is_kreg () const |
| Is a kernel register?
|
bool | is_mblock () const |
| Is a block reference?
|
bool | is_mblock (int serial) const |
| Is a block reference to the specified block?
|
bool | is_scattered () const |
| Is a scattered operand?
|
bool | is_glbaddr () const |
| Is address of a global memory cell?
|
bool | is_glbaddr (ea_t ea) const |
| Is address of the specified global memory cell?
|
bool | is_stkaddr () const |
| Is address of a stack variable?
|
bool | is_insn () const |
| Is a sub-instruction?
|
bool | is_insn (mcode_t code) const |
| Is a sub-instruction with the specified opcode?
|
bool | has_side_effects (bool include_ldx_and_divs=false) const |
| Has any side effects?
|
bool hexapi | may_use_aliased_memory () const |
| Is it possible for the operand to use aliased memory?
|
bool hexapi | is01 () const |
| Are the possible values of the operand only 0 and 1?
|
bool hexapi | is_sign_extended_from (int nbytes) const |
| Does the high part of the operand consist of the sign bytes?
|
bool hexapi | is_zero_extended_from (int nbytes) const |
| Does the high part of the operand consist of zero bytes?
|
bool | is_extended_from (int nbytes, bool is_signed) const |
| Does the high part of the operand consist of zero or sign bytes?
|
bool hexapi | equal_mops (const mop_t &rop, int eqflags) const |
| Compare operands.
|
bool | operator== (const mop_t &rop) const |
bool | operator!= (const mop_t &rop) const |
bool | operator< (const mop_t &rop) const |
| Lexographical operand comparison.
|
int hexapi | lexcompare (const mop_t &rop) const |
int hexapi | for_all_ops (mop_visitor_t &mv, const tinfo_t *type=nullptr, bool is_target=false) |
| Visit the operand and all its sub-operands.
|
int hexapi | for_all_scattered_submops (scif_visitor_t &sv) const |
| Visit all sub-operands of a scattered operand.
|
uint64 | value (bool is_signed) const |
| Retrieve value of a constant integer operand.
|
int64 | signed_value () const |
uint64 | unsigned_value () const |
void | update_numop_value (uint64 val) |
bool hexapi | is_constant (uint64 *out=nullptr, bool is_signed=true) const |
| Retrieve value of a constant integer operand.
|
bool | is_equal_to (uint64 n, bool is_signed=true) const |
bool | is_zero () const |
bool | is_one () const |
bool | is_positive_constant () const |
bool | is_negative_constant () const |
ssize_t | get_stkvar (udm_t *udm=nullptr, uval_t *p_idaoff=nullptr) const |
| Retrieve the referenced stack variable.
|
bool hexapi | get_stkoff (sval_t *p_vdoff) const |
| Get the referenced stack offset.
|
const minsn_t * | get_insn (mcode_t code) const |
| Get subinstruction of the operand.
|
minsn_t * | get_insn (mcode_t code) |
bool hexapi | make_low_half (int width) |
| Make the low part of the operand.
|
bool hexapi | make_high_half (int width) |
| Make the high part of the operand.
|
bool hexapi | make_first_half (int width) |
| Make the first part of the operand.
|
bool hexapi | make_second_half (int width) |
| Make the second part of the operand.
|
bool hexapi | shift_mop (int offset) |
| Shift the operand.
|
bool hexapi | change_size (int nsize, side_effect_t sideff=WITH_SIDEFF) |
| Change the operand size.
|
bool | double_size (side_effect_t sideff=WITH_SIDEFF) |
bool hexapi | preserve_side_effects (mblock_t *blk, minsn_t *top, bool *moved_calls=nullptr) |
| Move subinstructions with side effects out of the operand.
|
void hexapi | apply_ld_mcode (mcode_t mcode, ea_t ea, int newsize) |
| Apply a unary opcode to the operand.
|
void | apply_xdu (ea_t ea, int newsize) |
void | apply_xds (ea_t ea, int newsize) |
Address of an operand (mop_l, mop_v, mop_S, mop_r)