Instruction object. More...
#include <model.h>
Data Fields | |
enum opdis_insn_decode_t | status |
char * | ascii |
opdis_off_t | offset |
opdis_vma_t | vma |
opdis_off_t | size |
opdis_byte_t * | bytes |
opdis_off_t | num_prefixes |
char * | prefixes |
char * | mnemonic |
enum opdis_insn_cat_t | category |
enum opdis_insn_subset_t | isa |
union { | |
enum opdis_cflow_flag_t cflow | |
enum opdis_stack_flag_t stack | |
enum opdis_io_flag_t io | |
enum opdis_bit_flag_t bit | |
} | flags |
char * | comment |
opdis_off_t | num_operands |
opdis_off_t | alloc_operands |
opdis_op_t ** | operands |
opdis_op_t * | target |
opdis_op_t * | dest |
opdis_op_t * | src |
unsigned char | fixed_size |
unsigned char | ascii_sz |
unsigned char | mnemonic_sz |
Instruction object.
A disassembled instruction. Depending on the decoder, some or all of the fields will be set. The status field specifies what information is present.
Number of allocated operands
char* opdis_insn_t::ascii |
String representation of insn
unsigned char opdis_insn_t::ascii_sz |
Size of fixed ascii field
Bitwise insn flags
Array of insn bytes
Type of insn opcode
Control flow insn flags
char* opdis_insn_t::comment |
Comment or hint from libopcodes
Destination operand
unsigned char opdis_insn_t::fixed_size |
Is insn of a fixed size? 0 or 1
union { ... } opdis_insn_t::flags |
Instruction-specific flags
IO Port insn flags
Subset of ISA for insn opcode
char* opdis_insn_t::mnemonic |
ASCII mnemonic for insn opcode
unsigned char opdis_insn_t::mnemonic_sz |
Size of fixed mnemonic field
Number of operands in insn
Number of prefixes in insn
Offset of instruction in buffer
Array of operand objects
char* opdis_insn_t::prefixes |
Array of prefix strings
Size (# bytes) of insn
Source operand
Stack insn flags
Result of decoding
Branch target
Virtual memory address of insn