opdis/metadata.h File Reference

Metadata for instructions and objects. More...

Go to the source code of this file.

Enumerations

enum  opdis_op_cat_t {
  opdis_op_cat_unknown, opdis_op_cat_register, opdis_op_cat_immediate, opdis_op_cat_absolute,
  opdis_op_cat_expr
}
 

The category of an operand.

More...
enum  opdis_op_flag_t {
  opdis_op_flag_none = 0, opdis_op_flag_r = 1, opdis_op_flag_w = 2, opdis_op_flag_x = 4,
  opdis_op_flag_signed = 8, opdis_op_flag_address = 16, opdis_op_flag_indirect = 32
}
 

Flags applied to an operand.

More...
enum  opdis_reg_flag_t {
  opdis_reg_flag_unknown = 0, opdis_reg_flag_gen = 1, opdis_reg_flag_fpu = 2, opdis_reg_flag_gpu = 4,
  opdis_reg_flag_simd = 8, opdis_reg_flag_task = 16, opdis_reg_flag_mem = 32, opdis_reg_flag_debug = 64,
  opdis_reg_flag_pc = 128, opdis_reg_flag_flags = 256, opdis_reg_flag_stack = 512, opdis_reg_flag_frame = 1024,
  opdis_reg_flag_seg = 2048, opdis_reg_flag_zero = 4096, opdis_reg_flag_argsin = 8192, opdis_reg_flag_argsout = 16384,
  opdis_reg_flag_locals = 32768, opdis_reg_flag_return = 65536
}
enum  opdis_insn_subset_t {
  opdis_insn_subset_gen, opdis_insn_subset_fpu, opdis_insn_subset_gpu, opdis_insn_subset_simd,
  opdis_insn_subset_vm
}
 

The subset of an ISA that the instruction belongs to.

More...
enum  opdis_insn_cat_t {
  opdis_insn_cat_unknown, opdis_insn_cat_cflow, opdis_insn_cat_stack, opdis_insn_cat_lost,
  opdis_insn_cat_test, opdis_insn_cat_math, opdis_insn_cat_bit, opdis_insn_cat_io,
  opdis_insn_cat_trap, opdis_insn_cat_priv, opdis_insn_cat_nop
}
 

The category of an instruction.

More...
enum  opdis_cflow_flag_t {
  opdis_cflow_flag_none = 0, opdis_cflow_flag_call = 1, opdis_cflow_flag_callcc = 2, opdis_cflow_flag_jmp = 4,
  opdis_cflow_flag_jmpcc = 8, opdis_cflow_flag_ret = 16
}
 

Details of the control flow instruction.

More...
enum  opdis_stack_flag_t {
  opdis_stack_flag_none = 0, opdis_stack_flag_push = 1, opdis_stack_flag_pop = 2, opdis_stack_flag_frame = 4,
  opdis_stack_flag_unframe = 8
}
 

Details of the instruction.

More...
enum  opdis_bit_flag_t {
  opdis_bit_flag_none = 0, opdis_bit_flag_and = 1, opdis_bit_flag_or = 2, opdis_bit_flag_xor = 4,
  opdis_bit_flag_not = 8, opdis_bit_flag_lsl = 16, opdis_bit_flag_lsr = 32, opdis_bit_flag_asl = 64,
  opdis_bit_flag_asr = 128, opdis_bit_flag_rol = 256, opdis_bit_flag_ror = 512, opdis_bit_flag_rcl = 1024,
  opdis_bit_flag_rcr = 2048
}
 

Details of the instruction.

More...
enum  opdis_io_flag_t { opdis_io_flag_none = 0, opdis_io_flag_in = 1, opdis_io_flag_out = 2 }
 

Details of the instruction.

More...

Detailed Description

Metadata for instructions and objects.

This defines the metadata for instructions and operands in the opdis data model.

Author:
TG Community Developers <community@thoughtgang.org>
Note:
Copyright (c) 2010 ThoughtGang. Released under the GNU Public License, version 3. See http://www.gnu.org/licenses/gpl.txt for details.

Enumeration Type Documentation

Enumerator:
opdis_reg_flag_unknown 

Unknown register type

opdis_reg_flag_gen 

General-purpose register, e.g. EAX

opdis_reg_flag_fpu 

FPU register, e.g. ST(0)

opdis_reg_flag_gpu 

GPU register

opdis_reg_flag_simd 

SIMD register, e.g. XMM0

opdis_reg_flag_task 

Task management register, e.g. CR0

opdis_reg_flag_mem 

Memory mgt register, e.g. LDTR

opdis_reg_flag_debug 

Debug register, e.g. DR0

opdis_reg_flag_pc 

Program Counter register, e.g. EIP

opdis_reg_flag_flags 

Flags register, e.g. EFLAGS

opdis_reg_flag_stack 

Stack pointer register, e.g. ESP

opdis_reg_flag_frame 

Frame pointer register, e.g. EBP

opdis_reg_flag_seg 

Segment register, e.g. CS

opdis_reg_flag_zero 

Zero register (RISC)

opdis_reg_flag_argsin 

Incoming arguments (RISC)

opdis_reg_flag_argsout 

Outgoing arguments (RISC)

opdis_reg_flag_locals 

Local variables (RISC)

opdis_reg_flag_return 

Return address


Generated on Wed Mar 10 14:30:45 2010 for Opdis Disassembly Library by  doxygen 1.6.1