pub unsafe extern "C" fn decode_from_copy(
drcontext: *mut c_void,
copy_pc: *mut byte,
orig_pc: *mut byte,
instr: *mut instr_t,
) -> *mut byteExpand description
Decodes the instruction at address \p copy_pc into \p instr as though it were located at address \p orig_pc. Any pc-relative operands have their values calculated as though the instruction were actually at \p orig_pc, though that address is never de-referenced. The instruction’s raw bits are not valid, but its application address field (see instr_get_app_pc()) is set to \p orig_pc. The instruction’s opcode, eflags usage, prefixes, and operands are all filled in. Assumes that \p instr is already initialized, but uses the x86/x64 mode for the thread \p dcontext rather than that set in instr. If caller is re-using same instr_t struct over multiple decodings, caller should call instr_reset() or instr_reuse(). Returns the address of the next byte after the decoded instruction copy at \p copy_pc. Returns NULL on decoding an invalid instr and sets opcode to OP_INVALID.