|
| | 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)