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
|