Intel® X86 Encoder Decoder
|
Macros | |
#define | XED2DIE(x) do { xed_assert(0); } while(0) |
#define | XED2IMSG(x) |
#define | XED2TMSG(x) |
#define | XED2VMSG(x) |
#define | xed_assert(x) do { } while(0) |
#define | XED_EMIT_MESSAGES (0) |
#define | XED_FUNCNAME "" |
#define | XED_INFO2_VERBOSE (0) |
#define | XED_INFO_VERBOSE (0) |
#define | XED_MORE_VERBOSE (0) |
#define | XED_VERBOSE (0) |
#define | XED_VERY_VERBOSE (0) |
Typedefs | |
typedef void(* | xed_user_abort_function_t) (const char *msg, const char *file, int line, void *other) |
Functions | |
XED_DLL_EXPORT xed_uint8_t | xed_get_byte (xed_uint64_t x, unsigned int i, unsigned int len) |
XED_NORETURN XED_NOINLINE XED_DLL_EXPORT void | xed_internal_assert (const char *s, const char *file, int line) |
XED_DLL_EXPORT int | xed_itoa (char *buf, xed_uint64_t f, int buflen) |
XED_DLL_EXPORT int | xed_itoa_bin (char *buf, xed_uint64_t f, xed_uint_t bits_to_print, xed_uint_t buflen) |
Convert the input value f into its binary representation as a string and store it in buf . More... | |
XED_DLL_EXPORT int | xed_itoa_hex (char *buf, xed_uint64_t f, xed_uint_t bits_to_print, int buflen) |
defaults to lowercase More... | |
XED_DLL_EXPORT int | xed_itoa_hex_ul (char *buf, xed_uint64_t f, xed_uint_t bits_to_print, xed_bool_t leading_zeros, int buflen, xed_bool_t lowercase) |
XED_DLL_EXPORT int | xed_itoa_hex_zeros (char *buf, xed_uint64_t f, xed_uint_t bits_to_print, xed_bool_t leading_zeros, int buflen) |
defaults to lowercase More... | |
static XED_INLINE xed_int64_t | xed_make_int64 (xed_uint32_t hi, xed_uint32_t lo) |
static XED_INLINE xed_uint64_t | xed_make_uint64 (xed_uint32_t hi, xed_uint32_t lo) |
XED_DLL_EXPORT void | xed_register_abort_function (xed_user_abort_function_t fn, void *other) |
XED_DLL_EXPORT void | xed_set_log_file (void *o) |
Set the FILE* for XED's log msgs. More... | |
XED_DLL_EXPORT void | xed_set_verbosity (int v) |
Set the verbosity level for XED. More... | |
XED_DLL_EXPORT xed_uint_t | xed_shortest_width_signed (xed_int64_t x, xed_uint8_t legal_widths) |
returns the number of bytes required to store the SIGNED number x given a mask of legal lengths. More... | |
XED_DLL_EXPORT xed_uint_t | xed_shortest_width_unsigned (xed_uint64_t x, xed_uint8_t legal_widths) |
returns the number of bytes required to store the UNSIGNED number x given a mask of legal lengths. More... | |
XED_DLL_EXPORT xed_int32_t | xed_sign_extend16_32 (xed_int16_t x) |
XED_DLL_EXPORT xed_int64_t | xed_sign_extend16_64 (xed_int16_t x) |
XED_DLL_EXPORT xed_int64_t | xed_sign_extend32_64 (xed_int32_t x) |
XED_DLL_EXPORT xed_int16_t | xed_sign_extend8_16 (xed_int8_t x) |
XED_DLL_EXPORT xed_int32_t | xed_sign_extend8_32 (xed_int8_t x) |
XED_DLL_EXPORT xed_int64_t | xed_sign_extend8_64 (xed_int8_t x) |
XED_DLL_EXPORT xed_int32_t | xed_sign_extend_arbitrary_to_32 (xed_uint32_t x, unsigned int bits) |
arbitrary sign extension from a qty of "bits" length to 32b More... | |
XED_DLL_EXPORT xed_int64_t | xed_sign_extend_arbitrary_to_64 (xed_uint64_t x, unsigned int bits) |
arbitrary sign extension from a qty of "bits" length to 64b More... | |
XED_DLL_EXPORT xed_uint32_t | xed_zero_extend16_32 (xed_uint16_t x) |
XED_DLL_EXPORT xed_uint64_t | xed_zero_extend16_64 (xed_uint16_t x) |
XED_DLL_EXPORT xed_uint64_t | xed_zero_extend32_64 (xed_uint32_t x) |
XED_DLL_EXPORT xed_uint16_t | xed_zero_extend8_16 (xed_uint8_t x) |
XED_DLL_EXPORT xed_uint32_t | xed_zero_extend8_32 (xed_uint8_t x) |
XED_DLL_EXPORT xed_uint64_t | xed_zero_extend8_64 (xed_uint8_t x) |
Variables | |
int | xed_verbose |
#define XED2DIE | ( | x | ) | do { xed_assert(0); } while(0) |
#define XED2IMSG | ( | x | ) |
#define XED2TMSG | ( | x | ) |
#define XED2VMSG | ( | x | ) |
#define xed_assert | ( | x | ) | do { } while(0) |
#define XED_EMIT_MESSAGES (0) |
#define XED_FUNCNAME "" |
#define XED_INFO2_VERBOSE (0) |
#define XED_INFO_VERBOSE (0) |
#define XED_MORE_VERBOSE (0) |
#define XED_VERBOSE (0) |
#define XED_VERY_VERBOSE (0) |
typedef void(* xed_user_abort_function_t) (const char *msg, const char *file, int line, void *other) |
XED_DLL_EXPORT xed_uint8_t xed_get_byte | ( | xed_uint64_t | x, |
unsigned int | i, | ||
unsigned int | len | ||
) |
XED_NORETURN XED_NOINLINE XED_DLL_EXPORT void xed_internal_assert | ( | const char * | s, |
const char * | file, | ||
int | line | ||
) |
XED_DLL_EXPORT int xed_itoa | ( | char * | buf, |
xed_uint64_t | f, | ||
int | buflen | ||
) |
XED_DLL_EXPORT int xed_itoa_bin | ( | char * | buf, |
xed_uint64_t | f, | ||
xed_uint_t | bits_to_print, | ||
xed_uint_t | buflen | ||
) |
Convert the input value f
into its binary representation as a string and store it in buf
.
buf | Pointer to the character array where the binary representation will be stored. |
f | Input value to be converted. |
bits_to_print | Number of bits to print (limited to 64 bits). |
buflen | Length of the buf array. |
XED_DLL_EXPORT int xed_itoa_hex | ( | char * | buf, |
xed_uint64_t | f, | ||
xed_uint_t | bits_to_print, | ||
int | buflen | ||
) |
defaults to lowercase
XED_DLL_EXPORT int xed_itoa_hex_ul | ( | char * | buf, |
xed_uint64_t | f, | ||
xed_uint_t | bits_to_print, | ||
xed_bool_t | leading_zeros, | ||
int | buflen, | ||
xed_bool_t | lowercase | ||
) |
XED_DLL_EXPORT int xed_itoa_hex_zeros | ( | char * | buf, |
xed_uint64_t | f, | ||
xed_uint_t | bits_to_print, | ||
xed_bool_t | leading_zeros, | ||
int | buflen | ||
) |
defaults to lowercase
|
static |
|
static |
XED_DLL_EXPORT void xed_set_log_file | ( | void * | o | ) |
Set the FILE* for XED's log msgs.
This takes a FILE* as a void* because some software defines their own FILE* types creating conflicts.
XED_DLL_EXPORT void xed_set_verbosity | ( | int | v | ) |
Set the verbosity level for XED.
XED_DLL_EXPORT xed_uint_t xed_shortest_width_signed | ( | xed_int64_t | x, |
xed_uint8_t | legal_widths | ||
) |
returns the number of bytes required to store the SIGNED number x given a mask of legal lengths.
For the legal_widths argument, bit 0 implies 1 byte is a legal return width, bit 1 implies that 2 bytes is a legal return width, bit 2 implies that 4 bytes is a legal return width. This returns 8 (indicating 8B) if none of the provided legal widths applies.
XED_DLL_EXPORT xed_uint_t xed_shortest_width_unsigned | ( | xed_uint64_t | x, |
xed_uint8_t | legal_widths | ||
) |
returns the number of bytes required to store the UNSIGNED number x given a mask of legal lengths.
For the legal_widths argument, bit 0 implies 1 byte is a legal return width, bit 1 implies that 2 bytes is a legal return width, bit 2 implies that 4 bytes is a legal return width. This returns 8 (indicating 8B) if none of the provided legal widths applies.
XED_DLL_EXPORT xed_int32_t xed_sign_extend16_32 | ( | xed_int16_t | x | ) |
XED_DLL_EXPORT xed_int64_t xed_sign_extend16_64 | ( | xed_int16_t | x | ) |
XED_DLL_EXPORT xed_int64_t xed_sign_extend32_64 | ( | xed_int32_t | x | ) |
XED_DLL_EXPORT xed_int16_t xed_sign_extend8_16 | ( | xed_int8_t | x | ) |
XED_DLL_EXPORT xed_int32_t xed_sign_extend8_32 | ( | xed_int8_t | x | ) |
XED_DLL_EXPORT xed_int64_t xed_sign_extend8_64 | ( | xed_int8_t | x | ) |
XED_DLL_EXPORT xed_int32_t xed_sign_extend_arbitrary_to_32 | ( | xed_uint32_t | x, |
unsigned int | bits | ||
) |
arbitrary sign extension from a qty of "bits" length to 32b
XED_DLL_EXPORT xed_int64_t xed_sign_extend_arbitrary_to_64 | ( | xed_uint64_t | x, |
unsigned int | bits | ||
) |
arbitrary sign extension from a qty of "bits" length to 64b
XED_DLL_EXPORT xed_uint32_t xed_zero_extend16_32 | ( | xed_uint16_t | x | ) |
XED_DLL_EXPORT xed_uint64_t xed_zero_extend16_64 | ( | xed_uint16_t | x | ) |
XED_DLL_EXPORT xed_uint64_t xed_zero_extend32_64 | ( | xed_uint32_t | x | ) |
XED_DLL_EXPORT xed_uint16_t xed_zero_extend8_16 | ( | xed_uint8_t | x | ) |
XED_DLL_EXPORT xed_uint32_t xed_zero_extend8_32 | ( | xed_uint8_t | x | ) |
XED_DLL_EXPORT xed_uint64_t xed_zero_extend8_64 | ( | xed_uint8_t | x | ) |
int xed_verbose |