Flags Interface


Detailed Description

There are several functions that provide more information about the flags read and written.

The flags are available from the xed_decoded_inst_t via the xed_decoded_inst_get_rflags_info() function which returns a xed_simple_flag_t pointer.


Data Structures

struct  xed_flag_enum_s
 Associated with each flag field there can be one action. More...
union  xed_flag_set_s
 a union of flags bits More...
struct  xed_simple_flag_s
 A collection of xed_flag_action_t's and unions of read and written flags. More...

Lowest-level flag-action accessors

XED_DLL_EXPORT xed_bool_t xed_flag_action_action_invalid (const xed_flag_action_enum_t a)
 returns true if the specified action is invalid.
XED_DLL_EXPORT xed_flag_action_enum_t xed_flag_action_get_action (const xed_flag_action_t *p, unsigned int i)
 return the action
XED_DLL_EXPORT xed_flag_enum_t xed_flag_action_get_flag_name (const xed_flag_action_t *p)
 get the name of the flag
XED_DLL_EXPORT int xed_flag_action_print (const xed_flag_action_t *p, char *buf, int buflen)
 print the flag & actions
XED_DLL_EXPORT xed_bool_t xed_flag_action_read_action (xed_flag_action_enum_t a)
 test to see if the specific action is a read
XED_DLL_EXPORT xed_bool_t xed_flag_action_read_flag (const xed_flag_action_t *p)
 returns true if either action is a read
XED_DLL_EXPORT xed_bool_t xed_flag_action_write_action (xed_flag_action_enum_t a)
 test to see if a specific action is a write
XED_DLL_EXPORT xed_bool_t xed_flag_action_writes_flag (const xed_flag_action_t *p)
 returns true if either action is a write

Flag-set accessors

XED_DLL_EXPORT xed_bool_t xed_flag_set_is_subset_of (const xed_flag_set_t *p, const xed_flag_set_t *other)
 returns true if this object has a subset of the flags of the "other" object.
XED_DLL_EXPORT int xed_flag_set_print (const xed_flag_set_t *p, char *buf, int buflen)
 print the flag set in the supplied buffer

Accessing the simple flags (Mid-level access)

XED_DLL_EXPORT const xed_flag_action_txed_simple_flag_get_flag_action (const xed_simple_flag_t *p, unsigned int i)
 return the specific flag-action.
XED_DLL_EXPORT xed_bool_t xed_simple_flag_get_may_write (const xed_simple_flag_t *p)
 Indicates the flags are only conditionally written.
XED_DLL_EXPORT xed_bool_t xed_simple_flag_get_must_write (const xed_simple_flag_t *p)
 the flags always written
XED_DLL_EXPORT unsigned int xed_simple_flag_get_nflags (const xed_simple_flag_t *p)
 returns the number of flag-actions
XED_DLL_EXPORT const xed_flag_set_txed_simple_flag_get_read_flag_set (const xed_simple_flag_t *p)
 return union of bits for read flags
XED_DLL_EXPORT const xed_flag_set_txed_simple_flag_get_written_flag_set (const xed_simple_flag_t *p)
 return union of bits for written flags
XED_DLL_EXPORT int xed_simple_flag_print (const xed_simple_flag_t *p, char *buf, int buflen)
 print the flags
XED_DLL_EXPORT xed_bool_t xed_simple_flag_reads_flags (const xed_simple_flag_t *p)
 boolean test to see if flags are read, scans the flags
XED_DLL_EXPORT xed_bool_t xed_simple_flag_writes_flags (const xed_simple_flag_t *p)
 boolean test to see if flags are written, scans the flags

Typedefs

typedef XED_DLL_EXPORT xed_flag_enum_s xed_flag_action_t
 Associated with each flag field there can be one action.
typedef XED_DLL_EXPORT xed_simple_flag_s xed_simple_flag_t
 A collection of xed_flag_action_t's and unions of read and written flags.


Typedef Documentation

typedef struct XED_DLL_EXPORT xed_flag_enum_s xed_flag_action_t
 

Associated with each flag field there can be one action.

typedef struct XED_DLL_EXPORT xed_simple_flag_s xed_simple_flag_t
 

A collection of xed_flag_action_t's and unions of read and written flags.


Function Documentation

XED_DLL_EXPORT xed_bool_t xed_flag_action_action_invalid const xed_flag_action_enum_t  a  ) 
 

returns true if the specified action is invalid.

Only the 2nd flag might be invalid.

XED_DLL_EXPORT xed_flag_action_enum_t xed_flag_action_get_action const xed_flag_action_t p,
unsigned int  i
 

return the action

XED_DLL_EXPORT xed_flag_enum_t xed_flag_action_get_flag_name const xed_flag_action_t p  ) 
 

get the name of the flag

XED_DLL_EXPORT int xed_flag_action_print const xed_flag_action_t p,
char *  buf,
int  buflen
 

print the flag & actions

XED_DLL_EXPORT xed_bool_t xed_flag_action_read_action xed_flag_action_enum_t  a  ) 
 

test to see if the specific action is a read

XED_DLL_EXPORT xed_bool_t xed_flag_action_read_flag const xed_flag_action_t p  ) 
 

returns true if either action is a read

XED_DLL_EXPORT xed_bool_t xed_flag_action_write_action xed_flag_action_enum_t  a  ) 
 

test to see if a specific action is a write

XED_DLL_EXPORT xed_bool_t xed_flag_action_writes_flag const xed_flag_action_t p  ) 
 

returns true if either action is a write

XED_DLL_EXPORT xed_bool_t xed_flag_set_is_subset_of const xed_flag_set_t p,
const xed_flag_set_t other
 

returns true if this object has a subset of the flags of the "other" object.

XED_DLL_EXPORT int xed_flag_set_print const xed_flag_set_t p,
char *  buf,
int  buflen
 

print the flag set in the supplied buffer

XED_DLL_EXPORT const xed_flag_action_t* xed_simple_flag_get_flag_action const xed_simple_flag_t p,
unsigned int  i
 

return the specific flag-action.

Very detailed low level information

XED_DLL_EXPORT xed_bool_t xed_simple_flag_get_may_write const xed_simple_flag_t p  ) 
 

Indicates the flags are only conditionally written.

Usally MAY-writes of the flags instructions that are dependent on a REP count.

XED_DLL_EXPORT xed_bool_t xed_simple_flag_get_must_write const xed_simple_flag_t p  ) 
 

the flags always written

XED_DLL_EXPORT unsigned int xed_simple_flag_get_nflags const xed_simple_flag_t p  ) 
 

returns the number of flag-actions

XED_DLL_EXPORT const xed_flag_set_t* xed_simple_flag_get_read_flag_set const xed_simple_flag_t p  ) 
 

return union of bits for read flags

XED_DLL_EXPORT const xed_flag_set_t* xed_simple_flag_get_written_flag_set const xed_simple_flag_t p  ) 
 

return union of bits for written flags

XED_DLL_EXPORT int xed_simple_flag_print const xed_simple_flag_t p,
char *  buf,
int  buflen
 

print the flags

XED_DLL_EXPORT xed_bool_t xed_simple_flag_reads_flags const xed_simple_flag_t p  ) 
 

boolean test to see if flags are read, scans the flags

XED_DLL_EXPORT xed_bool_t xed_simple_flag_writes_flags const xed_simple_flag_t p  ) 
 

boolean test to see if flags are written, scans the flags


Generated on Thu May 15 03:15:09 2008 for XED2 by  doxygen 1.4.6