Intel® X86 Encoder Decoder
xed-operand-values-interface.h File Reference
#include "xed-common-hdrs.h"
#include "xed-common-defs.h"
#include "xed-portability.h"
#include "xed-util.h"
#include "xed-types.h"
#include "xed-state.h"
#include "xed-operand-enum.h"
#include "xed-decoded-inst.h"
#include "xed-reg-enum.h"
#include "xed-iclass-enum.h"

Functions

Initialization
XED_DLL_EXPORT void xed_operand_values_init (xed_operand_values_t *p)
 
XED_DLL_EXPORT void xed_operand_values_init_keep_mode (xed_operand_values_t *dst, const xed_operand_values_t *src)
 
XED_DLL_EXPORT void xed_operand_values_init_set_mode (xed_operand_values_t *p, const xed_state_t *dstate)
 
XED_DLL_EXPORT void xed_operand_values_set_mode (xed_operand_values_t *p, const xed_state_t *dstate)
 
String output
XED_DLL_EXPORT void xed_operand_values_dump (const xed_operand_values_t *ov, char *buf, int buflen)
 
XED_DLL_EXPORT void xed_operand_values_print_short (const xed_operand_values_t *ov, char *buf, int buflen)
 
REP/REPNE Prefixes
XED_DLL_EXPORT void xed_operand_values_clear_rep (xed_operand_values_t *p)
 
XED_DLL_EXPORT xed_bool_t xed_operand_values_has_real_rep (const xed_operand_values_t *p)
 
XED_DLL_EXPORT xed_bool_t xed_operand_values_has_rep_prefix (const xed_operand_values_t *p)
 
XED_DLL_EXPORT xed_bool_t xed_operand_values_has_repne_prefix (const xed_operand_values_t *p)
 
Atomic / Locked operations
XED_DLL_EXPORT xed_bool_t xed_operand_values_get_atomic (const xed_operand_values_t *p)
 
XED_DLL_EXPORT xed_bool_t xed_operand_values_get_displacement_for_memop (const xed_operand_values_t *p)
 
XED_DLL_EXPORT xed_uint32_t xed_operand_values_get_effective_address_width (const xed_operand_values_t *p)
 
XED_DLL_EXPORT xed_uint32_t xed_operand_values_get_effective_operand_width (const xed_operand_values_t *p)
 
XED_DLL_EXPORT xed_bool_t xed_operand_values_get_long_mode (const xed_operand_values_t *p)
 
XED_DLL_EXPORT xed_bits_t xed_operand_values_get_pp_vex_prefix (const xed_operand_values_t *p)
 
XED_DLL_EXPORT xed_bool_t xed_operand_values_get_real_mode (const xed_operand_values_t *p)
 
XED_DLL_EXPORT xed_uint32_t xed_operand_values_get_stack_address_width (const xed_operand_values_t *p)
 
XED_DLL_EXPORT xed_bool_t xed_operand_values_has_66_prefix (const xed_operand_values_t *p)
 
XED_DLL_EXPORT xed_bool_t xed_operand_values_has_address_size_prefix (const xed_operand_values_t *p)
 
XED_DLL_EXPORT xed_bool_t xed_operand_values_has_branch_displacement (const xed_operand_values_t *p)
 
XED_DLL_EXPORT xed_bool_t xed_operand_values_has_displacement (const xed_operand_values_t *p)
 
XED_DLL_EXPORT xed_bool_t xed_operand_values_has_immediate (const xed_operand_values_t *p)
 
XED_DLL_EXPORT xed_bool_t xed_operand_values_has_lock_prefix (const xed_operand_values_t *p)
 
XED_DLL_EXPORT xed_bool_t xed_operand_values_has_memory_displacement (const xed_operand_values_t *p)
 
XED_DLL_EXPORT xed_bool_t xed_operand_values_has_operand_size_prefix (const xed_operand_values_t *p)
 
XED_DLL_EXPORT xed_bool_t xed_operand_values_has_rexw_prefix (const xed_operand_values_t *p)
 
XED_DLL_EXPORT xed_bool_t xed_operand_values_has_segment_prefix (const xed_operand_values_t *p)
 
XED_DLL_EXPORT xed_bool_t xed_operand_values_lockable (const xed_operand_values_t *p)
 
XED_DLL_EXPORT xed_bool_t xed_operand_values_mandatory_66_prefix (const xed_operand_values_t *p)
 
XED_DLL_EXPORT xed_reg_enum_t xed_operand_values_segment_prefix (const xed_operand_values_t *p)
 
XED_DLL_EXPORT xed_bool_t xed_operand_values_using_default_segment (const xed_operand_values_t *p, unsigned int i)
 
Memory Addressing
XED_DLL_EXPORT xed_bool_t xed_operand_values_accesses_memory (const xed_operand_values_t *p)
 
XED_DLL_EXPORT xed_bool_t xed_operand_values_branch_not_taken_hint (const xed_operand_values_t *p)
 
XED_DLL_EXPORT xed_bool_t xed_operand_values_branch_taken_hint (const xed_operand_values_t *p)
 
XED_DLL_EXPORT xed_bool_t xed_operand_values_cet_no_track (const xed_operand_values_t *p)
 
XED_DLL_EXPORT xed_reg_enum_t xed_operand_values_get_base_reg (const xed_operand_values_t *p, unsigned int memop_idx)
 
XED_DLL_EXPORT xed_reg_enum_t xed_operand_values_get_index_reg (const xed_operand_values_t *p, unsigned int memop_idx)
 
XED_DLL_EXPORT unsigned int xed_operand_values_get_memory_operand_length (const xed_operand_values_t *p, unsigned int memop_idx)
 return bytes More...
 
XED_DLL_EXPORT unsigned int xed_operand_values_get_scale (const xed_operand_values_t *p)
 
XED_DLL_EXPORT xed_reg_enum_t xed_operand_values_get_seg_reg (const xed_operand_values_t *p, unsigned int memop_idx)
 
XED_DLL_EXPORT xed_bool_t xed_operand_values_has_modrm_byte (const xed_operand_values_t *p)
 
XED_DLL_EXPORT xed_bool_t xed_operand_values_has_sib_byte (const xed_operand_values_t *p)
 
xed_bool_t xed_operand_values_ignored_branch_not_taken_hint (const xed_operand_values_t *p)
 
xed_bool_t xed_operand_values_ignored_branch_taken_hint (const xed_operand_values_t *p)
 
XED_DLL_EXPORT xed_bool_t xed_operand_values_is_nop (const xed_operand_values_t *p)
 
XED_DLL_EXPORT xed_bool_t xed_operand_values_memop_without_modrm (const xed_operand_values_t *p)
 
XED_DLL_EXPORT unsigned int xed_operand_values_number_of_memory_operands (const xed_operand_values_t *p)
 
Immediates
XED_DLL_EXPORT xed_uint8_t xed_operand_values_get_immediate_byte (const xed_operand_values_t *p, unsigned int i)
 
XED_DLL_EXPORT xed_int64_t xed_operand_values_get_immediate_int64 (const xed_operand_values_t *p)
 
XED_DLL_EXPORT xed_uint_t xed_operand_values_get_immediate_is_signed (const xed_operand_values_t *p)
 
XED_DLL_EXPORT xed_uint64_t xed_operand_values_get_immediate_uint64 (const xed_operand_values_t *p)
 
XED_DLL_EXPORT xed_uint8_t xed_operand_values_get_second_immediate (const xed_operand_values_t *p)
 
Memory Displacements
XED_DLL_EXPORT xed_uint8_t xed_operand_values_get_memory_displacement_byte (const xed_operand_values_t *p, unsigned int i)
 
XED_DLL_EXPORT xed_int64_t xed_operand_values_get_memory_displacement_int64 (const xed_operand_values_t *p)
 Returns the potentially scaled value of the memory displacement. More...
 
XED_DLL_EXPORT xed_int64_t xed_operand_values_get_memory_displacement_int64_raw (const xed_operand_values_t *p)
 Returns the unscaled (raw) memory displacement. More...
 
XED_DLL_EXPORT xed_uint32_t xed_operand_values_get_memory_displacement_length (const xed_operand_values_t *p)
 
XED_DLL_EXPORT xed_uint32_t xed_operand_values_get_memory_displacement_length_bits (const xed_operand_values_t *p)
 
XED_DLL_EXPORT xed_uint32_t xed_operand_values_get_memory_displacement_length_bits_raw (const xed_operand_values_t *p)
 
Branch Displacements
XED_DLL_EXPORT xed_uint8_t xed_operand_values_get_branch_displacement_byte (const xed_operand_values_t *p, unsigned int i)
 
XED_DLL_EXPORT xed_int64_t xed_operand_values_get_branch_displacement_int64 (const xed_operand_values_t *p)
 
XED_DLL_EXPORT xed_uint32_t xed_operand_values_get_branch_displacement_length (const xed_operand_values_t *p)
 
XED_DLL_EXPORT xed_uint32_t xed_operand_values_get_branch_displacement_length_bits (const xed_operand_values_t *p)
 
XED_DLL_EXPORT xed_iclass_enum_t xed_operand_values_get_iclass (const xed_operand_values_t *p)
 
Encoding
XED_DLL_EXPORT void xed_operand_values_set_absbr (xed_operand_values_t *p)
 
XED_DLL_EXPORT void xed_operand_values_set_base_reg (xed_operand_values_t *p, unsigned int memop_idx, xed_reg_enum_t new_base)
 
XED_DLL_EXPORT void xed_operand_values_set_branch_displacement (xed_operand_values_t *p, xed_int64_t x, unsigned int len)
 
XED_DLL_EXPORT void xed_operand_values_set_branch_displacement_bits (xed_operand_values_t *p, xed_int64_t x, unsigned int len_bits)
 
XED_DLL_EXPORT void xed_operand_values_set_effective_address_width (xed_operand_values_t *p, unsigned int width)
 
XED_DLL_EXPORT void xed_operand_values_set_effective_operand_width (xed_operand_values_t *p, unsigned int width)
 
XED_DLL_EXPORT void xed_operand_values_set_iclass (xed_operand_values_t *p, xed_iclass_enum_t iclass)
 
XED_DLL_EXPORT void xed_operand_values_set_immediate_signed (xed_operand_values_t *p, xed_int32_t x, unsigned int bytes)
 
XED_DLL_EXPORT void xed_operand_values_set_immediate_signed_bits (xed_operand_values_t *p, xed_int32_t x, unsigned int bits)
 
XED_DLL_EXPORT void xed_operand_values_set_immediate_unsigned (xed_operand_values_t *p, xed_uint64_t x, unsigned int bytes)
 
XED_DLL_EXPORT void xed_operand_values_set_immediate_unsigned_bits (xed_operand_values_t *p, xed_uint64_t x, unsigned int bits)
 
XED_DLL_EXPORT void xed_operand_values_set_index_reg (xed_operand_values_t *p, unsigned int memop_idx, xed_reg_enum_t new_index)
 
XED_DLL_EXPORT void xed_operand_values_set_lock (xed_operand_values_t *p)
 
XED_DLL_EXPORT void xed_operand_values_set_memory_displacement (xed_operand_values_t *p, xed_int64_t x, unsigned int len)
 
XED_DLL_EXPORT void xed_operand_values_set_memory_displacement_bits (xed_operand_values_t *p, xed_int64_t x, unsigned int len_bits)
 
XED_DLL_EXPORT void xed_operand_values_set_memory_operand_length (xed_operand_values_t *p, unsigned int memop_length)
 takes bytes, not bits, as an argument More...
 
XED_DLL_EXPORT void xed_operand_values_set_operand_reg (xed_operand_values_t *p, xed_operand_enum_t operand_name, xed_reg_enum_t reg_name)
 
XED_DLL_EXPORT void xed_operand_values_set_relbr (xed_operand_values_t *p)
 
XED_DLL_EXPORT void xed_operand_values_set_scale (xed_operand_values_t *p, xed_uint_t memop_idx, xed_uint_t new_scale)
 
XED_DLL_EXPORT void xed_operand_values_set_seg_reg (xed_operand_values_t *p, unsigned int memop_idx, xed_reg_enum_t new_seg)
 
XED_DLL_EXPORT void xed_operand_values_zero_branch_displacement (xed_operand_values_t *p)
 
XED_DLL_EXPORT void xed_operand_values_zero_immediate (xed_operand_values_t *p)
 
XED_DLL_EXPORT void xed_operand_values_zero_memory_displacement (xed_operand_values_t *p)
 
XED_DLL_EXPORT void xed_operand_values_zero_segment_override (xed_operand_values_t *p)