X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?p=palacios.git;a=blobdiff_plain;f=misc%2Fdecoder_test%2FXED2%2Fdoc%2Fhtml%2Fxed-encode_8h.html;fp=misc%2Fdecoder_test%2FXED2%2Fdoc%2Fhtml%2Fxed-encode_8h.html;h=45ad206ba47165685448285fef6c4aafd7d11cc0;hp=0000000000000000000000000000000000000000;hb=ddc16b0737cf58f7aa90a69c6652cdf4090aec51;hpb=626595465a2c6987606a6bc697df65130ad8c2d3 diff --git a/misc/decoder_test/XED2/doc/html/xed-encode_8h.html b/misc/decoder_test/XED2/doc/html/xed-encode_8h.html new file mode 100644 index 0000000..45ad206 --- /dev/null +++ b/misc/decoder_test/XED2/doc/html/xed-encode_8h.html @@ -0,0 +1,267 @@ + + +XED2: XED2 User Guide - Thu May 15 03:15:09 2008 + + + + +
+
+
+
+

xed-encode.h File Reference


Detailed Description

+
Author:
Mark Charney <mark.charney@intel.com>
+ +

+Definition in file xed-encode.h. +

+#include "xed-common-hdrs.h"
+#include "xed-types.h"
+#include "xed-error-enum.h"
+#include "xed-operand-values-interface.h"
+#include "xed-operand-width-enum.h"
+#include "xed-encoder-iforms.h"
+#include "xed-encoder-gen-defs.h"
+#include "xed-decoded-inst.h"
+ +

+Go to the source code of this file. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Encoding

XED_DLL_EXPORT xed_error_enum_t xed_encode (xed_encoder_request_t *r, xed_uint8_t *array, const unsigned int ilen, unsigned int *olen)
 This is the main interface to the encoder.
XED_DLL_EXPORT xed_error_enum_t xed_encode_nop (xed_uint8_t *array, const unsigned int ilen)
 This function will attempt to encode a NOP of exactly ilen bytes.

String Printing

XED_DLL_EXPORT void xed_encode_request_print (const xed_encoder_request_t *p, char *buf, xed_uint_t buflen)

Operand Order

XED_DLL_EXPORT xed_operand_enum_t xed_encoder_request_get_operand_order (xed_encoder_request_t *p, xed_uint_t operand_index)
static XED_INLINE xed_uint_t xed_encoder_request_operand_order_entries (xed_encoder_request_t *p)
 Retreive the number of entries in the encoder operand order array.
XED_DLL_EXPORT void xed_encoder_request_set_operand_order (xed_encoder_request_t *p, xed_uint_t operand_index, xed_operand_enum_t name)

Memory

XED_DLL_EXPORT void xed_encoder_request_set_agen (xed_encoder_request_t *p)
XED_DLL_EXPORT void xed_encoder_request_set_base0 (xed_encoder_request_t *p, xed_reg_enum_t base_reg)
XED_DLL_EXPORT void xed_encoder_request_set_base1 (xed_encoder_request_t *p, xed_reg_enum_t base_reg)
XED_DLL_EXPORT void xed_encoder_request_set_index (xed_encoder_request_t *p, xed_reg_enum_t index_reg)
XED_DLL_EXPORT void xed_encoder_request_set_mem0 (xed_encoder_request_t *p)
XED_DLL_EXPORT void xed_encoder_request_set_mem1 (xed_encoder_request_t *p)
XED_DLL_EXPORT void xed_encoder_request_set_memory_displacement (xed_encoder_request_t *p, xed_int64_t memdisp, xed_uint_t nbytes)
XED_DLL_EXPORT void xed_encoder_request_set_memory_operand_length (xed_encoder_request_t *p, xed_uint_t nbytes)
XED_DLL_EXPORT void xed_encoder_request_set_scale (xed_encoder_request_t *p, xed_uint_t scale)
XED_DLL_EXPORT void xed_encoder_request_set_seg0 (xed_encoder_request_t *p, xed_reg_enum_t seg_reg)
XED_DLL_EXPORT void xed_encoder_request_set_seg1 (xed_encoder_request_t *p, xed_reg_enum_t seg_reg)

branches and far pointers

XED_DLL_EXPORT void xed_encoder_request_set_branch_displacement (xed_encoder_request_t *p, xed_int32_t brdisp, xed_uint_t nbytes)
XED_DLL_EXPORT void xed_encoder_request_set_ptr (xed_encoder_request_t *p)
XED_DLL_EXPORT void xed_encoder_request_set_relbr (xed_encoder_request_t *p)

Primary Encode Functions

XED_DLL_EXPORT void xed_encoder_request_set_effective_address_size (xed_encoder_request_t *p, xed_uint_t width_bits)
XED_DLL_EXPORT void xed_encoder_request_set_effective_operand_width (xed_encoder_request_t *p, xed_uint_t width_bits)
XED_DLL_EXPORT void xed_encoder_request_set_reg (xed_encoder_request_t *p, xed_operand_enum_t operand, xed_reg_enum_t reg)

Prefixes

XED_DLL_EXPORT void xed_encoder_request_set_lock (xed_encoder_request_t *p)
 For locked (atomic read-modify-write) memops requests.
XED_DLL_EXPORT void xed_encoder_request_set_rep (xed_encoder_request_t *p)
 for REP(F3) and REPNE(F2) prefixe on string ops
XED_DLL_EXPORT void xed_encoder_request_set_repne (xed_encoder_request_t *p)
 for REP(F3) and REPNE(F2) prefixe on string ops

Immediates

XED_DLL_EXPORT void xed_encoder_request_set_simm (xed_encoder_request_t *p, xed_int32_t simm, xed_uint_t nbytes)
 same storage as uimm0
XED_DLL_EXPORT void xed_encoder_request_set_uimm0 (xed_encoder_request_t *p, xed_uint64_t uimm, xed_uint_t nbytes)
 Set the uimm0 using a BYTE width.
XED_DLL_EXPORT void xed_encoder_request_set_uimm0_bits (xed_encoder_request_t *p, xed_uint64_t uimm, xed_uint_t nbits)
 Set the uimm0 using a BIT width.
XED_DLL_EXPORT void xed_encoder_request_set_uimm1 (xed_encoder_request_t *p, xed_uint8_t uimm)

Initialization

XED_DLL_EXPORT void xed_encoder_request_zero (xed_encoder_request_t *p)
XED_DLL_EXPORT void xed_encoder_request_zero_operand_order (xed_encoder_request_t *p)
XED_DLL_EXPORT void xed_encoder_request_zero_set_mode (xed_encoder_request_t *p, const xed_state_t *dstate)

Typedefs

typedef xed_uint_t(* xed_encode_function_pointer_t )(xed_encoder_request_t *enc_req)
typedef xed_decoded_inst_s xed_encoder_request_s
typedef xed_decoded_inst_t xed_encoder_request_t

Functions

xed_bool_t xed_encoder_request__memop_compatible (const xed_encoder_request_t *p, xed_operand_width_enum_t operand_width)
void xed_encoder_request_encode_emit (xed_encoder_request_t *q, const unsigned int bits, const xed_uint64_t value)
XED_DLL_EXPORT xed_iclass_enum_t xed_encoder_request_get_iclass (const xed_encoder_request_t *p)
XED_DLL_EXPORT void xed_encoder_request_init_from_decode (struct xed_decoded_inst_s *d)
 Converts an decoder request to a valid encoder request.
XED_DLL_EXPORT xed_operand_values_txed_encoder_request_operands (xed_encoder_request_t *p)
XED_DLL_EXPORT const xed_operand_values_txed_encoder_request_operands_const (const xed_encoder_request_t *p)
XED_DLL_EXPORT void xed_encoder_request_set_iclass (xed_encoder_request_t *p, xed_iclass_enum_t iclass)
+


Typedef Documentation

+

+ + + + +
+ + + + +
typedef xed_uint_t(* xed_encode_function_pointer_t)(xed_encoder_request_t *enc_req)
+
+ + + + + +
+   + + +

+ +

+Definition at line 259 of file xed-encode.h.

+


Function Documentation

+

+ + + + +
+ + + + + + + + + + + + + + + + + + +
xed_bool_t xed_encoder_request__memop_compatible const xed_encoder_request_t p,
xed_operand_width_enum_t  operand_width
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void xed_encoder_request_encode_emit xed_encoder_request_t q,
const unsigned int  bits,
const xed_uint64_t  value
+
+ + + + + +
+   + + +

+

+


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