IDAPython 8.4
|
Proxy of C++ mop_t class.
Public Member Functions | |
"void" | set_impptr_done (self, *args) |
set_impptr_done(self) | |
"void" | set_udt (self, *args) |
set_udt(self) | |
"void" | set_undef_val (self, *args) |
set_undef_val(self) | |
"void" | set_lowaddr (self, *args) |
set_lowaddr(self) | |
"bool" | is_impptr_done (self, *args) |
is_impptr_done(self) -> bool | |
"bool" | is_udt (self, *args) |
is_udt(self) -> bool | |
"bool" | probably_floating (self, *args) |
probably_floating(self) -> bool | |
"bool" | is_undef_val (self, *args) |
is_undef_val(self) -> bool | |
"bool" | is_lowaddr (self, *args) |
is_lowaddr(self) -> bool | |
"bool" | is_ccflags (self, *args) |
is_ccflags(self) -> bool | |
"bool" | is_pcval (self, *args) |
is_pcval(self) -> bool | |
"bool" | is_glbaddr_from_fixup (self, *args) |
is_glbaddr_from_fixup(self) -> bool | |
__init__ (self, *args) | |
init(self) -> mop_t init(self, rop) -> mop_t | |
"mop_t &" | assign (self, *args) |
assign(self, rop) -> mop_t | |
"void" | zero (self, *args) |
zero(self) | |
"void" | swap (self, *args) |
swap(self, rop) | |
"void" | erase (self, *args) |
erase(self) | |
"void" | erase_but_keep_size (self, *args) |
erase_but_keep_size(self) | |
"char const *" | dstr (self, *args) |
dstr(self) -> char const * | |
"bool" | create_from_mlist (self, *args) |
create_from_mlist(self, mba, lst, fullsize) -> bool Create operand from mlist_t. | |
"bool" | create_from_ivlset (self, *args) |
create_from_ivlset(self, mba, ivs, fullsize) -> bool Create operand from ivlset_t. | |
"void" | create_from_vdloc (self, *args) |
create_from_vdloc(self, mba, loc, _size) Create operand from vdloc_t. | |
"void" | create_from_scattered_vdloc (self, *args) |
create_from_scattered_vdloc(self, mba, name, type, loc) Create operand from scattered vdloc_t. | |
"void" | create_from_insn (self, *args) |
create_from_insn(self, m) Create operand from an instruction. | |
"void" | make_number (self, *args) |
make_number(self, _value, _size, _ea=BADADDR, opnum=0) Create an integer constant operand. | |
"bool" | make_fpnum (self, *args) |
make_fpnum(self, bytes) -> bool Create a floating point constant operand. | |
"void" | make_reg (self, *args) |
make_reg(self, reg) | |
"void" | make_gvar (self, *args) |
make_gvar(self, ea) Create a global variable operand. | |
"void" | make_stkvar (self, *args) |
make_stkvar(self, mba, off) | |
"void" | make_reg_pair (self, *args) |
make_reg_pair(self, loreg, hireg, halfsize) Create pair of registers. | |
"void" | make_insn (self, *args) |
make_insn(self, ins) Create a nested instruction. | |
"void" | make_blkref (self, *args) |
make_blkref(self, blknum) Create a global variable operand. | |
"void" | make_helper (self, *args) |
make_helper(self, name) Create a helper operand. | |
"bool" | empty (self, *args) |
empty(self) -> bool | |
"bool" | is_reg (self, *args) |
is_reg(self) -> bool Is the specified register of the specified size? is_reg(self, _r) -> bool | |
"bool" | is_arglist (self, *args) |
is_arglist(self) -> bool Is a list of arguments? | |
"bool" | is_cc (self, *args) |
is_cc(self) -> bool Is a condition code? | |
"bool" | is_bit_reg (self, *args) |
is_bit_reg(self, reg) -> bool Is a bit register? This includes condition codes and eventually other bit registers | |
"bool" | is_kreg (self, *args) |
is_kreg(self) -> bool Is a kernel register? | |
"bool" | is_mob (self, *args) |
is_mob(self, serial) -> bool Is a block reference to the specified block? | |
"bool" | is_scattered (self, *args) |
is_scattered(self) -> bool Is a scattered operand? | |
"bool" | is_glbaddr (self, *args) |
is_glbaddr(self) -> bool Is address of the specified global memory cell? is_glbaddr(self, ea) -> bool | |
"bool" | is_stkaddr (self, *args) |
is_stkaddr(self) -> bool Is address of a stack variable? | |
"bool" | is_insn (self, *args) |
is_insn(self) -> bool Is a sub-instruction with the specified opcode? is_insn(self, code) -> bool | |
"bool" | has_side_effects (self, *args) |
has_side_effects(self, include_ldx_and_divs=False) -> bool Has any side effects? | |
"bool" | may_use_aliased_memory (self, *args) |
may_use_aliased_memory(self) -> bool Is it possible for the operand to use aliased memory? | |
"bool" | is01 (self, *args) |
is01(self) -> bool Are the possible values of the operand only 0 and 1? This function returns true for 0/1 constants, bit registers, the result of 'set' insns, etc. | |
"bool" | is_sign_extended_from (self, *args) |
is_sign_extended_from(self, nbytes) -> bool Does the high part of the operand consist of the sign bytes? | |
"bool" | is_zero_extended_from (self, *args) |
is_zero_extended_from(self, nbytes) -> bool Does the high part of the operand consist of zero bytes? | |
"bool" | is_extended_from (self, *args) |
is_extended_from(self, nbytes, is_signed) -> bool Does the high part of the operand consist of zero or sign bytes? | |
"bool" | equal_mops (self, *args) |
equal_mops(self, rop, eqflags) -> bool Compare operands. | |
"bool" | __eq__ (self, *args) |
eq(self, rop) -> bool | |
"bool" | __ne__ (self, *args) |
ne(self, rop) -> bool | |
"bool" | __lt__ (self, *args) |
lt(self, rop) -> bool | |
"int" | lexcompare (self, *args) |
lexcompare(self, rop) -> int | |
"int" | for_all_ops (self, *args) |
for_all_ops(self, mv, type=None, is_target=False) -> int Visit the operand and all its sub-operands. | |
"int" | for_all_scattered_submops (self, *args) |
for_all_scattered_submops(self, sv) -> int Visit all sub-operands of a scattered operand. | |
"uint64" | value (self, *args) |
value(self, is_signed) -> uint64 Retrieve value of a constant integer operand. | |
"int64" | signed_value (self, *args) |
signed_value(self) -> int64 | |
"uint64" | unsigned_value (self, *args) |
unsigned_value(self) -> uint64 | |
"void" | update_numop_value (self, *args) |
update_numop_value(self, val) | |
"bool" | is_constant (self, *args) |
is_constant(self, is_signed=True) -> bool Retrieve value of a constant integer operand. | |
"bool" | is_equal_to (self, *args) |
is_equal_to(self, n, is_signed=True) -> bool | |
"bool" | is_zero (self, *args) |
is_zero(self) -> bool | |
"bool" | is_one (self, *args) |
is_one(self) -> bool | |
"bool" | is_positive_constant (self, *args) |
is_positive_constant(self) -> bool | |
"bool" | is_negative_constant (self, *args) |
is_negative_constant(self) -> bool | |
"member_t *" | get_stkvar (self, *args) |
get_stkvar(self, p_off) -> member_t * Retrieve the referenced stack variable. | |
"bool" | get_stkoff (self, *args) |
get_stkoff(self, p_off) -> bool Get the referenced stack offset. | |
"minsn_t *" | get_insn (self, *args) |
get_insn(self, code) -> minsn_t | |
"bool" | make_low_half (self, *args) |
make_low_half(self, width) -> bool Make the low part of the operand. | |
"bool" | make_high_half (self, *args) |
make_high_half(self, width) -> bool Make the high part of the operand. | |
"bool" | make_first_half (self, *args) |
make_first_half(self, width) -> bool Make the first part of the operand. | |
"bool" | make_second_half (self, *args) |
make_second_half(self, width) -> bool Make the second part of the operand. | |
"bool" | shift_mop (self, *args) |
shift_mop(self, offset) -> bool Shift the operand. | |
"bool" | change_size (self, *args) |
change_size(self, nsize, sideff=WITH_SIDEFF) -> bool Change the operand size. | |
"bool" | double_size (self, *args) |
double_size(self, sideff=WITH_SIDEFF) -> bool | |
"bool" | preserve_side_effects (self, *args) |
preserve_side_effects(self, blk, top, moved_calls=None) -> bool Move subinstructions with side effects out of the operand. | |
"void" | apply_ld_mcode (self, *args) |
apply_ld_mcode(self, mcode, ea, newsize) Apply a unary opcode to the operand. | |
"void" | apply_xdu (self, *args) |
apply_xdu(self, ea, newsize) | |
"void" | apply_xds (self, *args) |
apply_xds(self, ea, newsize) | |
replace_by (self, o) | |
Protected Member Functions | |
"void" | _print (self, *args) |
_print(self, shins_flags=0x04|0x02) | |
"void" | _make_reg (self, *args) |
_make_reg(self, reg) | |
"void" | _make_lvar (self, *args) |
_make_lvar(self, mba, idx, off=0) | |
"void" | _make_gvar (self, *args) |
_make_gvar(self, ea) | |
"void" | _make_stkvar (self, *args) |
_make_stkvar(self, mba, off) | |
"void" | _make_insn (self, *args) |
_make_insn(self, ins) | |
"void" | _make_blkref (self, *args) |
_make_blkref(self, blknum) | |
"void" | _make_strlit (self, *args) |
_make_strlit(self, str) | |
"void" | _make_callinfo (self, *args) |
_make_callinfo(self, fi) | |
"void" | _make_cases (self, *args) |
_make_cases(self, _cases) | |
"void" | _make_pair (self, *args) |
_make_pair(self, _pair) | |
"void" | _register (self, *args) |
_register(self) | |
"void" | _deregister (self, *args) |
_deregister(self) | |
"mopt_t" | _get_t (self, *args) |
_get_t(self) -> mopt_t | |
"void" | _set_t (self, *args) |
_set_t(self, v) | |
_ensure_no_t (self) | |
"PyObject *" | _obj_id (self, *args) |
_obj_id(self) -> PyObject * | |
_ensure_cond (self, ok, cond_str) | |
_ensure_no_obj (self, o, attr, attr_is_acquired) | |
_ensure_ownership_transferrable (self, v) | |
_acquire_ownership (self, v, acquire) | |
_maybe_disown_and_deregister (self) | |
_own_and_register (self) | |
_meminfo (self) | |
"mnumber_t *" | _get_nnn (self, *args) |
_get_nnn(self) -> mnumber_t | |
"void" | _set_nnn (self, *args) |
_set_nnn(self, _v) | |
"minsn_t *" | _get_d (self, *args) |
_get_d(self) -> minsn_t | |
"void" | _set_d (self, *args) |
_set_d(self, _v) | |
"stkvar_ref_t *" | _get_s (self, *args) |
_get_s(self) -> stkvar_ref_t | |
"void" | _set_s (self, *args) |
_set_s(self, _v) | |
"mcallinfo_t *" | _get_f (self, *args) |
_get_f(self) -> mcallinfo_t | |
"void" | _set_f (self, *args) |
_set_f(self, _v) | |
"lvar_ref_t *" | _get_l (self, *args) |
_get_l(self) -> lvar_ref_t | |
"void" | _set_l (self, *args) |
_set_l(self, _v) | |
"mop_addr_t *" | _get_a (self, *args) |
_get_a(self) -> mop_addr_t | |
"void" | _set_a (self, *args) |
_set_a(self, _v) | |
"mcases_t *" | _get_c (self, *args) |
_get_c(self) -> mcases_t | |
"void" | _set_c (self, *args) |
_set_c(self, _v) | |
"fnumber_t *" | _get_fpc (self, *args) |
_get_fpc(self) -> fnumber_t | |
"void" | _set_fpc (self, *args) |
_set_fpc(self, _v) | |
"mop_pair_t *" | _get_pair (self, *args) |
_get_pair(self) -> mop_pair_t | |
"void" | _set_pair (self, *args) |
_set_pair(self, _v) | |
"scif_t *" | _get_scif (self, *args) |
_get_scif(self) -> scif_t | |
"void" | _set_scif (self, *args) |
_set_scif(self, _v) | |
"mreg_t" | _get_r (self, *args) |
_get_r(self) -> mreg_t | |
"void" | _set_r (self, *args) |
_set_r(self, _v) | |
"ea_t" | _get_g (self, *args) |
_get_g(self) -> ea_t | |
"void" | _set_g (self, *args) |
_set_g(self, _v) | |
"int" | _get_b (self, *args) |
_get_b(self) -> int | |
"void" | _set_b (self, *args) |
_set_b(self, _v) | |
"char const *" | _get_cstr (self, *args) |
_get_cstr(self) -> char const * | |
"void" | _set_cstr (self, *args) |
_set_cstr(self, _v) | |
"char const *" | _get_helper (self, *args) |
_get_helper(self) -> char const * | |
"void" | _set_helper (self, *args) |
_set_helper(self, _v) | |
Properties | |
bool | thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") |
str | t = property(_ida_hexrays.mop_t_t_get, _ida_hexrays.mop_t_t_set, doc=) |
oprops = property(_ida_hexrays.mop_t_oprops_get, _ida_hexrays.mop_t_oprops_set, doc=) | |
valnum = property(_ida_hexrays.mop_t_valnum_get, _ida_hexrays.mop_t_valnum_set, doc=) | |
size = property(_ida_hexrays.mop_t_size_get, _ida_hexrays.mop_t_size_set, doc=) | |
obj_id = property(_obj_id) | |
meminfo = property(_meminfo) | |
nnn | |
d | |
s | |
f | |
l | |
a | |
c | |
fpc | |
pair | |
scif | |
r | |
g | |
b | |
cstr | |
helper | |
__init__ | ( | self, | |
* | args ) |
rop | mop_t const & |
init(self, _r, _s) -> mop_t
_r | mreg_t |
_s | int |
Reimplemented in mcallarg_t, and mop_addr_t.
"bool" __eq__ | ( | self, | |
* | args ) |
rop | mop_t const & |
"bool" __lt__ | ( | self, | |
* | args ) |
rop | mop_t const & |
"bool" __ne__ | ( | self, | |
* | args ) |
rop | mop_t const & |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
fi: mcallinfo_t *
|
protected |
_cases: mcases_t *
|
protected |
ins: minsn_t *
|
protected |
mba: mba_t * idx: int off: sval_t
|
protected |
_pair: mop_pair_t *
|
protected |
|
protected |
mba: mba_t * off: sval_t
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
_v: mop_addr_t *
|
protected |
_v: mcases_t *
|
protected |
_v: minsn_t *
|
protected |
_v: mcallinfo_t *
|
protected |
_v: fnumber_t *
|
protected |
_v: lvar_ref_t *
|
protected |
_v: mnumber_t *
|
protected |
_v: mop_pair_t *
|
protected |
_v: stkvar_ref_t *
|
protected |
_v: scif_t *
"void" apply_ld_mcode | ( | self, | |
* | args ) |
mcode | (C++: mcode_t) opcode to apply. it must accept 'l' and 'd' operands but not 'r'. |
ea | (C++: ea_t) value of minsn_t.ea for the newly created insruction |
newsize | (C++: int) new operand size Example: apply_ld_mcode(m_low) will convert op => low(op) |
"void" apply_xds | ( | self, | |
* | args ) |
ea | ea_t |
newsize | int |
"void" apply_xdu | ( | self, | |
* | args ) |
ea | ea_t |
newsize | int |
"mop_t &" assign | ( | self, | |
* | args ) |
rop | mop_t const & |
"bool" change_size | ( | self, | |
* | args ) |
Examples: change_size(AL.1, 2) -> AX.2 change_size(qword_00000008.8, 4) -> dword_00000008.4 change_size(xdu.8(op.4), 4) -> op.4 change_size(#0x12345678.4, 1) -> #0x78.1
nsize | (C++: int) new operand size |
sideff | (C++: side_effect_t) may modify the database because of the size change? |
"void" create_from_insn | ( | self, | |
* | args ) |
This function creates a nested instruction that can be used as an operand. Example: if m="add x,y,z", our operand will be (t=mop_d,d=m). The destination operand of 'add' (z) is lost.
m | (C++: const minsn_t *) instruction to embed into operand. may not be nullptr. |
"bool" create_from_ivlset | ( | self, | |
* | args ) |
"bool" create_from_mlist | ( | self, | |
* | args ) |
"void" create_from_scattered_vdloc | ( | self, | |
* | args ) |
Example: if LOC is (ALOC_DIST, {EAX.4, EDX.4}) and TYPE is _LARGE_INTEGER, our operand will be (t=mop_sc, scif={EAX.4, EDX.4})
mba | (C++: mba_t *) pointer to microcode |
name | (C++: const char *) name of the operand, if available |
type | (C++: tinfo_t) type of the operand, must be present |
loc | (C++: const vdloc_t &) a scattered location |
"void" create_from_vdloc | ( | self, | |
* | args ) |
"bool" double_size | ( | self, | |
* | args ) |
sideff | enum side_effect_t |
"char const *" dstr | ( | self, | |
* | args ) |
Reimplemented in mcallarg_t.
"bool" empty | ( | self, | |
* | args ) |
"bool" equal_mops | ( | self, | |
* | args ) |
This is the main comparison function for operands.
rop | (C++: const mop_t &) operand to compare with |
eqflags | (C++: int) combination of comparison bits bits |
"void" erase | ( | self, | |
* | args ) |
"void" erase_but_keep_size | ( | self, | |
* | args ) |
"int" for_all_ops | ( | self, | |
* | args ) |
This function visits the current operand as well.
mv | (C++: mop_visitor_t &) visitor object |
type | (C++: const tinfo_t *) operand type |
is_target | (C++: bool) is a destination operand? |
"int" for_all_scattered_submops | ( | self, | |
* | args ) |
This function does not visit the current operand, only its sub-operands. All sub-operands are synthetic and are destroyed after the visitor. This function works only with scattered operands.
sv | (C++: scif_visitor_t &) visitor object |
"minsn_t *" get_insn | ( | self, | |
* | args ) |
code | enum mcode_t |
"bool" get_stkoff | ( | self, | |
* | args ) |
This function can also handle mop_sc if it is entirely mapped into a continuous stack region.
p_off | (C++: sval_t *) the output buffer |
"member_t *" get_stkvar | ( | self, | |
* | args ) |
p_off | (C++: uval_t *) if specified, will hold IDA stkoff after the call. |
"bool" has_side_effects | ( | self, | |
* | args ) |
include_ldx_and_divs | (C++: bool) consider ldx/div/mod as having side effects? |
"bool" is01 | ( | self, | |
* | args ) |
"bool" is_arglist | ( | self, | |
* | args ) |
"bool" is_bit_reg | ( | self, | |
* | args ) |
reg | (C++: mreg_t) |
is_bit_reg(self) -> bool
"bool" is_cc | ( | self, | |
* | args ) |
"bool" is_ccflags | ( | self, | |
* | args ) |
"bool" is_constant | ( | self, | |
* | args ) |
is_signed | (C++: bool) should treat the value as signed |
"bool" is_equal_to | ( | self, | |
* | args ) |
n | uint64 |
is_signed | bool |
"bool" is_extended_from | ( | self, | |
* | args ) |
nbytes | (C++: int) |
is_signed | (C++: bool) |
"bool" is_glbaddr | ( | self, | |
* | args ) |
ea | ea_t |
"bool" is_glbaddr_from_fixup | ( | self, | |
* | args ) |
"bool" is_impptr_done | ( | self, | |
* | args ) |
"bool" is_insn | ( | self, | |
* | args ) |
code | enum mcode_t |
"bool" is_kreg | ( | self, | |
* | args ) |
"bool" is_lowaddr | ( | self, | |
* | args ) |
"bool" is_mob | ( | self, | |
* | args ) |
serial | (C++: int) |
"bool" is_negative_constant | ( | self, | |
* | args ) |
"bool" is_one | ( | self, | |
* | args ) |
"bool" is_pcval | ( | self, | |
* | args ) |
"bool" is_positive_constant | ( | self, | |
* | args ) |
"bool" is_reg | ( | self, | |
* | args ) |
_r | mreg_t |
is_reg(self, _r, _size) -> bool
_r | mreg_t |
_size | int |
"bool" is_scattered | ( | self, | |
* | args ) |
"bool" is_sign_extended_from | ( | self, | |
* | args ) |
nbytes | (C++: int) number of bytes that were sign extended. the remaining size- nbytes high bytes must be sign bytes Example: is_sign_extended_from(xds.4(op.1), 1) -> true because the high 3 bytes are certainly sign bits |
"bool" is_stkaddr | ( | self, | |
* | args ) |
"bool" is_udt | ( | self, | |
* | args ) |
"bool" is_undef_val | ( | self, | |
* | args ) |
"bool" is_zero | ( | self, | |
* | args ) |
"bool" is_zero_extended_from | ( | self, | |
* | args ) |
nbytes | (C++: int) number of bytes that were zero extended. the remaining size- nbytes high bytes must be zero Example: is_zero_extended_from(xdu.8(op.1), 2) -> true because the high 6 bytes are certainly zero |
"int" lexcompare | ( | self, | |
* | args ) |
rop | mop_t const & |
Reimplemented in mop_addr_t.
"void" make_blkref | ( | self, | |
* | args ) |
blknum | (C++: int) |
"bool" make_first_half | ( | self, | |
* | args ) |
This function does not care about the memory endianness
width | (C++: int) the desired size of the operand part in bytes |
"bool" make_fpnum | ( | self, | |
* | args ) |
bytes | (C++: const void *) pointer to the floating point value as used by the current processor (e.g. for x86 it must be in IEEE 754) |
"void" make_gvar | ( | self, | |
* | args ) |
ea | (C++: ea_t) |
"void" make_helper | ( | self, | |
* | args ) |
A helper operand usually keeps a built-in function name like "va_start" It is essentially just an arbitrary identifier without any additional info.
name | (C++: const char *) char const * |
"bool" make_high_half | ( | self, | |
* | args ) |
This function takes into account the memory endianness (byte sex)
width | (C++: int) the desired size of the operand part in bytes |
"void" make_insn | ( | self, | |
* | args ) |
ins | (C++: minsn_t *) |
"bool" make_low_half | ( | self, | |
* | args ) |
This function takes into account the memory endianness (byte sex)
width | (C++: int) the desired size of the operand part in bytes |
"void" make_number | ( | self, | |
* | args ) |
_value | (C++: uint64) value to store in the operand |
_size | (C++: int) size of the value in bytes (1,2,4,8) |
_ea | (C++: ea_t) address of the processor instruction that made the value |
opnum | (C++: int) operand number of the processor instruction |
"void" make_reg | ( | self, | |
* | args ) |
reg | mreg_t |
make_reg(self, reg, _size)
reg | mreg_t |
_size | int |
"void" make_reg_pair | ( | self, | |
* | args ) |
loreg | (C++: int) register holding the low part of the value |
hireg | (C++: int) register holding the high part of the value |
halfsize | (C++: int) the size of each of loreg/hireg |
"bool" make_second_half | ( | self, | |
* | args ) |
This function does not care about the memory endianness
width | (C++: int) the desired size of the operand part in bytes |
"void" make_stkvar | ( | self, | |
* | args ) |
mba | mba_t * |
off | sval_t |
"bool" may_use_aliased_memory | ( | self, | |
* | args ) |
"bool" preserve_side_effects | ( | self, | |
* | args ) |
If we decide to delete an instruction operand, it is a good idea to call this function. Alternatively we should skip such operands by calling mop_t.has_side_effects() For example, if we transform: jnz x, x, @blk => goto @blk then we must call this function before deleting the X operands.
blk | (C++: mblock_t *) current block |
top | (C++: minsn_t *) top level instruction that contains our operand |
moved_calls | (C++: bool *) pointer to the boolean that will track if all side effects get handled correctly. must be false initially. |
"bool" probably_floating | ( | self, | |
* | args ) |
replace_by | ( | self, | |
o ) |
"void" set_impptr_done | ( | self, | |
* | args ) |
"void" set_lowaddr | ( | self, | |
* | args ) |
"void" set_udt | ( | self, | |
* | args ) |
"void" set_undef_val | ( | self, | |
* | args ) |
"bool" shift_mop | ( | self, | |
* | args ) |
This function shifts only the beginning of the operand. The operand size will be changed. Examples: shift_mop(AH.1, -1) -> AX.2 shift_mop(qword_00000008.8, 4) -> dword_0000000C.4 shift_mop(xdu.8(op.4), 4) -> #0.4 shift_mop(#0x12345678.4, 3) -> #12.1
offset | (C++: int) shift count (the number of bytes to shift) |
"int64" signed_value | ( | self, | |
* | args ) |
"void" swap | ( | self, | |
* | args ) |
rop | mop_t & |
"uint64" unsigned_value | ( | self, | |
* | args ) |
"void" update_numop_value | ( | self, | |
* | args ) |
val | uint64 |
"uint64" value | ( | self, | |
* | args ) |
These functions can be called only for mop_n operands. See is_constant() that can be called on any operand.
is_signed | (C++: bool) |
"void" zero | ( | self, | |
* | args ) |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |