Definition in file xed-inst.h.
#include "xed-util.h"
#include "xed-portability.h"
#include "xed-category-enum.h"
#include "xed-extension-enum.h"
#include "xed-iclass-enum.h"
#include "xed-operand-enum.h"
#include "xed-operand-visibility-enum.h"
#include "xed-operand-action-enum.h"
#include "xed-operand-type-enum.h"
#include "xed-nonterminal-enum.h"
#include "xed-operand-width-enum.h"
#include "xed-reg-enum.h"
#include "xed-attribute-enum.h"
#include "xed-iform-enum.h"
#include "xed-operand-bitvec.h"
#include "xed-gen-table-defs.h"
Go to the source code of this file.
Data Structures | |
struct | xed_inst_s |
constant information about a decoded instruction form, including the pointer to the constant operand properties xed_operand_t for this instruction form. More... | |
struct | xed_operand_s |
Constant information about an individual generic operand, like an operand template, describing the operand properties. More... | |
xed_inst_t Attribute access | |
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. | |
XED_DLL_EXPORT unsigned int | xed_attribute_max () |
Return the maximum number of defined attributes, independent of any instruction. | |
static XED_INLINE 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. | |
static XED_INLINE xed_uint32_t | xed_inst_get_attributes (const xed_inst_t *p) |
Return the attributes bit vector. | |
xed_inst_t Template Instruction Information | |
static XED_INLINE xed_category_enum_t | xed_inst_category (const xed_inst_t *p) |
XED_DLL_EXPORT unsigned int | xed_inst_cpl (const xed_inst_t *p) |
Return the current privilege level (CPL). | |
static XED_INLINE xed_extension_enum_t | xed_inst_extension (const xed_inst_t *p) |
XED_DLL_EXPORT xed_uint32_t | xed_inst_flag_info_index (const xed_inst_t *p) |
static XED_INLINE xed_iclass_enum_t | xed_inst_iclass (const xed_inst_t *p) |
static XED_INLINE xed_uint_t | xed_inst_iform (const xed_inst_t *p) |
static XED_INLINE xed_iform_enum_t | xed_inst_iform_enum (const xed_inst_t *p) |
static XED_INLINE unsigned int | xed_inst_noperands (const xed_inst_t *p) |
Number of instruction operands. | |
static XED_INLINE const xed_operand_t * | xed_inst_operand (const xed_inst_t *p, unsigned int i) |
Obtain a pointer to an individual operand. | |
xed_inst_t Template Operand Read/Written | |
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_conditional_write (const xed_operand_t *p) |
If the operand has a conditional write (may also read). | |
XED_DLL_EXPORT xed_uint_t | xed_operand_read (const xed_operand_t *p) |
If the operand is read, including conditional reads. | |
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. | |
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_operand_action_enum_t | xed_operand_rw (const xed_operand_t *p) |
Returns the raw R/W action. | |
XED_DLL_EXPORT xed_uint_t | xed_operand_written (const xed_operand_t *p) |
If the operand is written, including conditional writes. | |
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_inst_t Template Operands Access | |
static XED_INLINE xed_uint32_t | xed_operand_imm (const xed_operand_t *p) |
static XED_INLINE xed_operand_enum_t | xed_operand_name (const xed_operand_t *p) |
static XED_INLINE xed_nonterminal_enum_t | xed_operand_nonterminal_name (const xed_operand_t *p) |
static XED_INLINE xed_operand_visibility_enum_t | xed_operand_operand_visibility (const xed_operand_t *p) |
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. | |
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 is. | |
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(). | |
static XED_INLINE xed_operand_type_enum_t | xed_operand_type (const xed_operand_t *p) |
static XED_INLINE xed_operand_width_enum_t | xed_operand_width (const xed_operand_t *p) |
xed_inst_t Template Operand Enum Name Classification | |
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}. | |
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. | |
Defines | |
#define | _XED_INST_H_ |
Typedefs | |
typedef XED_DLL_EXPORT xed_inst_s | xed_inst_t |
constant information about a decoded instruction form, including the pointer to the constant operand properties xed_operand_t for this instruction form. | |
typedef void(* | xed_operand_extractor_fn_t )(struct xed_decoded_inst_s *xds) |
typedef XED_DLL_EXPORT xed_operand_s | xed_operand_t |
Constant information about an individual generic operand, like an operand template, describing the operand properties. | |
Variables | |
XED_DLL_GLOBAL const xed_operand_t | xed_operand [XED_MAX_OPERAND_TABLE_NODES] |
|
Definition at line 37 of file xed-inst.h. |
|
Definition at line 58 of file xed-inst.h. |
|
Definition at line 264 of file xed-inst.h. |
|
Definition at line 268 of file xed-inst.h. |
|
|
|
Definition at line 260 of file xed-inst.h. |
|
Definition at line 272 of file xed-inst.h. |
|
Definition at line 275 of file xed-inst.h. |
|
|