34 #if !defined(_XED_INST_H_)
135 const xed_uint32_t eosz);
The main container for instructions.
static XED_INLINE xed_uint_t xed_operand_is_memory_addressing_register(xed_operand_enum_t name)
Tests the enum for inclusion in XED_OPERAND_{BASE0,BASE1,INDEX,SEG0,SEG1}.
XED_DLL_EXPORT const xed_inst_t * xed_inst_table_base(void)
Return the base of instruction table.
XED_DLL_EXPORT xed_attribute_enum_t xed_attribute(unsigned int i)
Return the i'th global attribute in a linear sequence, independent of any instruction.
struct xed_operand_s xed_operand_t
Constant information about an individual generic operand, like an operand template, describing the operand properties.
static XED_INLINE xed_operand_enum_t xed_operand_name(const xed_operand_t *p)
struct xed_inst_s xed_inst_t
constant information about a decoded instruction form, including the pointer to the constant operand ...
static XED_INLINE xed_isa_set_enum_t xed_inst_isa_set(const xed_inst_t *p)
static XED_INLINE xed_nonterminal_enum_t xed_operand_nonterminal_name(const xed_operand_t *p)
XED_DLL_EXPORT xed_uint_t xed_operand_written_only(const xed_operand_t *p)
If the operand is written-only, including conditional writes.
XED_DLL_EXPORT xed_uint_t xed_operand_read_and_written(const xed_operand_t *p)
If the operand is read-and-written, conditional reads and conditional writes.
static XED_INLINE xed_operand_type_enum_t xed_operand_type(const xed_operand_t *p)
static XED_INLINE xed_extension_enum_t xed_inst_extension(const xed_inst_t *p)
xed_uint16_t _flag_info_index
xed_operand_width_enum_t _oc2
XED_DLL_EXPORT xed_uint_t xed_operand_conditional_write(const xed_operand_t *p)
If the operand has a conditional write (may also read)
static XED_INLINE xed_iclass_enum_t xed_inst_iclass(const xed_inst_t *p)
XED_DLL_EXPORT xed_uint_t xed_operand_read_only(const xed_operand_t *p)
If the operand is read-only, including conditional reads.
static XED_INLINE xed_iform_enum_t xed_inst_iform_enum(const xed_inst_t *p)
XED_DLL_EXPORT const xed_operand_t * xed_inst_operand(const xed_inst_t *p, unsigned int i)
Obtain a pointer to an individual operand.
static XED_INLINE xed_operand_action_enum_t xed_operand_rw(const xed_operand_t *p)
Returns the raw R/W action.
static XED_INLINE unsigned int xed_inst_noperands(const xed_inst_t *p)
Number of instruction operands.
xed_operand_element_xtype_enum_t _xtype
xed_uint16_t _flag_complex
xed_operand_type_enum_t _type
XED_DLL_EXPORT xed_uint32_t xed_inst_flag_info_index(const xed_inst_t *p)
static XED_INLINE xed_uint_t xed_operand_is_register(xed_operand_enum_t name)
Tests the enum for inclusion in XED_OPERAND_REG0 through XED_OPERAND_REG15.
constant information about a decoded instruction form, including the pointer to the constant operand ...
static XED_INLINE xed_operand_width_enum_t xed_operand_width(const xed_operand_t *p)
static XED_INLINE xed_reg_enum_t xed_operand_reg(const xed_operand_t *p)
Careful with this one – use xed_decoded_inst_get_reg()! This one is probably not what you think it i...
static XED_INLINE xed_uint_t xed_operand_template_is_register(const xed_operand_t *p)
Careful with this one; See xed_operand_is_register().
xed_operand_action_enum_t
xed_exception_enum_t _exceptions
xed_operand_visibility_enum_t
xed_operand_visibility_enum_t _operand_visibility
static XED_INLINE xed_uint32_t xed_operand_imm(const xed_operand_t *p)
XED_DLL_EXPORT unsigned int xed_inst_cpl(const xed_inst_t *p)
xed_inst_cpl() is DEPRECATED.
union xed_operand_s::@6 _u
XED_DLL_EXPORT void xed_operand_print(const xed_operand_t *p, char *buf, int buflen)
Print the operand p into the buffer buf, of length buflen.
XED_DLL_EXPORT xed_attributes_t xed_inst_get_attributes(const xed_inst_t *p)
Return the attributes bit vector.
static XED_INLINE xed_exception_enum_t xed_inst_exception(const xed_inst_t *p)
Return xed_exception_enum_t if present for the specified instruction.
xed_operand_element_xtype_enum_t
static XED_INLINE xed_operand_visibility_enum_t xed_operand_operand_visibility(const xed_operand_t *p)
Constant information about an individual generic operand, like an operand template, describing the operand properties.
xed_iform_enum_t _iform_enum
xed_uint16_t _operand_base
xed_operand_action_enum_t _rw
XED_DLL_EXPORT xed_uint32_t xed_operand_width_bits(const xed_operand_t *p, const xed_uint32_t eosz)
void(* xed_operand_extractor_fn_t)(struct xed_decoded_inst_s *xds)
xed_nonterminal_enum_t _nt
XED_DLL_EXPORT unsigned int xed_attribute_max(void)
Return the maximum number of defined attributes, independent of any instruction.
XED_DLL_EXPORT xed_uint_t xed_operand_conditional_read(const xed_operand_t *p)
If the operand has a conditional read (may also write)
XED_DLL_EXPORT xed_uint_t xed_operand_written(const xed_operand_t *p)
If the operand is written, including conditional writes.
static XED_INLINE xed_category_enum_t xed_inst_category(const xed_inst_t *p)
static XED_INLINE xed_operand_element_xtype_enum_t xed_operand_xtype(const xed_operand_t *p)
XED_DLL_EXPORT xed_uint32_t xed_inst_get_attribute(const xed_inst_t *p, xed_attribute_enum_t attr)
Scan for the attribute attr and return 1 if it is found, 0 otherwise.
XED_DLL_EXPORT xed_uint_t xed_operand_read(const xed_operand_t *p)
If the operand is read, including conditional reads.