1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
3 <title>XED2: XED2 User Guide - Thu May 15 03:15:09 2008 </title>
4 <link href="doxygen.css" rel="stylesheet" type="text/css">
5 <link href="tabs.css" rel="stylesheet" type="text/css">
7 <!-- Generated by Doxygen 1.4.6 -->
10 <li><a href="main.html"><span>Main Page</span></a></li>
11 <li><a href="modules.html"><span>Modules</span></a></li>
12 <li><a href="classes.html"><span>Data Structures</span></a></li>
13 <li id="current"><a href="files.html"><span>Files</span></a></li>
15 <form action="search.php" method="get">
16 <table cellspacing="0" cellpadding="0" border="0">
18 <td><label> <u>S</u>earch for </label></td>
19 <td><input type="text" name="query" value="" size="20" accesskey="s"/></td>
27 <li><a href="files.html"><span>File List</span></a></li>
28 <li><a href="globals.html"><span>Globals</span></a></li>
30 <h1>xed-inst.h File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
31 <dl compact><dt><b>Author:</b></dt><dd>Mark Charney <<a href="mailto:mark.charney@intel.com">mark.charney@intel.com</a>> </dd></dl>
34 Definition in file <a class="el" href="xed-inst_8h-source.html">xed-inst.h</a>.
36 <code>#include "<a class="el" href="xed-util_8h-source.html">xed-util.h</a>"</code><br>
37 <code>#include "<a class="el" href="xed-portability_8h-source.html">xed-portability.h</a>"</code><br>
38 <code>#include "<a class="el" href="xed-category-enum_8h-source.html">xed-category-enum.h</a>"</code><br>
39 <code>#include "<a class="el" href="xed-extension-enum_8h-source.html">xed-extension-enum.h</a>"</code><br>
40 <code>#include "<a class="el" href="xed-iclass-enum_8h-source.html">xed-iclass-enum.h</a>"</code><br>
41 <code>#include "<a class="el" href="xed-operand-enum_8h-source.html">xed-operand-enum.h</a>"</code><br>
42 <code>#include "<a class="el" href="xed-operand-visibility-enum_8h-source.html">xed-operand-visibility-enum.h</a>"</code><br>
43 <code>#include "<a class="el" href="xed-operand-action-enum_8h-source.html">xed-operand-action-enum.h</a>"</code><br>
44 <code>#include "<a class="el" href="xed-operand-type-enum_8h-source.html">xed-operand-type-enum.h</a>"</code><br>
45 <code>#include "<a class="el" href="xed-nonterminal-enum_8h-source.html">xed-nonterminal-enum.h</a>"</code><br>
46 <code>#include "<a class="el" href="xed-operand-width-enum_8h-source.html">xed-operand-width-enum.h</a>"</code><br>
47 <code>#include "<a class="el" href="xed-reg-enum_8h-source.html">xed-reg-enum.h</a>"</code><br>
48 <code>#include "<a class="el" href="xed-attribute-enum_8h-source.html">xed-attribute-enum.h</a>"</code><br>
49 <code>#include "<a class="el" href="xed-iform-enum_8h-source.html">xed-iform-enum.h</a>"</code><br>
50 <code>#include "<a class="el" href="xed-operand-bitvec_8h-source.html">xed-operand-bitvec.h</a>"</code><br>
51 <code>#include "<a class="el" href="xed-gen-table-defs_8h-source.html">xed-gen-table-defs.h</a>"</code><br>
54 <a href="xed-inst_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
56 <tr><td colspan="2"><br><h2>Data Structures</h2></td></tr>
57 <tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structxed__inst__s.html">xed_inst_s</a></td></tr>
59 <tr><td class="mdescLeft"> </td><td class="mdescRight">constant information about a decoded instruction form, including the pointer to the constant operand properties <a class="el" href="group__DEC.html#g6e11e56c314f3035be79171df2f6938f">xed_operand_t</a> for this instruction form. <a href="structxed__inst__s.html#_details">More...</a><br></td></tr>
60 <tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structxed__operand__s.html">xed_operand_s</a></td></tr>
62 <tr><td class="mdescLeft"> </td><td class="mdescRight">Constant information about an individual generic operand, like an operand template, describing the operand properties. <a href="structxed__operand__s.html#_details">More...</a><br></td></tr>
63 <tr><td colspan="2"><br><h2>xed_inst_t Attribute access</h2></td></tr>
64 <tr><td class="memItemLeft" nowrap align="right" valign="top">XED_DLL_EXPORT <a class="el" href="xed-attribute-enum_8h.html#848d4cf396be5a647413e94bc6f0a383">xed_attribute_enum_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DEC.html#g38f0b100d724d97d80a8291a494dde06">xed_attribute</a> (unsigned int i)</td></tr>
66 <tr><td class="mdescLeft"> </td><td class="mdescRight">Return the i'th global attribute in a linear sequence, independent of any instruction. <a href="group__DEC.html#g38f0b100d724d97d80a8291a494dde06"></a><br></td></tr>
67 <tr><td class="memItemLeft" nowrap align="right" valign="top">XED_DLL_EXPORT unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DEC.html#g1dee8af51e3d8ed5a6c5dac13780be9e">xed_attribute_max</a> ()</td></tr>
69 <tr><td class="mdescLeft"> </td><td class="mdescRight">Return the maximum number of defined attributes, independent of any instruction. <a href="group__DEC.html#g1dee8af51e3d8ed5a6c5dac13780be9e"></a><br></td></tr>
70 <tr><td class="memItemLeft" nowrap align="right" valign="top">static XED_INLINE xed_uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DEC.html#gdae8e18eaeb265c2aab6fc82a216e5de">xed_inst_get_attribute</a> (const <a class="el" href="group__DEC.html#g2b28c31e1e83e74ef5f613b38e0cc0ec">xed_inst_t</a> *p, <a class="el" href="xed-attribute-enum_8h.html#848d4cf396be5a647413e94bc6f0a383">xed_attribute_enum_t</a> attr)</td></tr>
72 <tr><td class="mdescLeft"> </td><td class="mdescRight">Scan for the attribute attr and return 1 if it is found, 0 otherwise. <a href="group__DEC.html#gdae8e18eaeb265c2aab6fc82a216e5de"></a><br></td></tr>
73 <tr><td class="memItemLeft" nowrap align="right" valign="top">static XED_INLINE xed_uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DEC.html#gfa48c095dbf6e00636253f974b2093d1">xed_inst_get_attributes</a> (const <a class="el" href="group__DEC.html#g2b28c31e1e83e74ef5f613b38e0cc0ec">xed_inst_t</a> *p)</td></tr>
75 <tr><td class="mdescLeft"> </td><td class="mdescRight">Return the attributes bit vector. <a href="group__DEC.html#gfa48c095dbf6e00636253f974b2093d1"></a><br></td></tr>
76 <tr><td colspan="2"><br><h2>xed_inst_t Template Instruction Information</h2></td></tr>
77 <tr><td class="memItemLeft" nowrap align="right" valign="top">static XED_INLINE <a class="el" href="xed-category-enum_8h.html#3e6e23a35a7ad463e2422d7db98e49f5">xed_category_enum_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="xed-inst_8h.html#b81b14e6d31cc013d3a0c414ee185093">xed_inst_category</a> (const <a class="el" href="group__DEC.html#g2b28c31e1e83e74ef5f613b38e0cc0ec">xed_inst_t</a> *p)</td></tr>
79 <tr><td class="memItemLeft" nowrap align="right" valign="top">XED_DLL_EXPORT unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DEC.html#gaf47d56bea81c3f7f815fab8cbc64a50">xed_inst_cpl</a> (const <a class="el" href="group__DEC.html#g2b28c31e1e83e74ef5f613b38e0cc0ec">xed_inst_t</a> *p)</td></tr>
81 <tr><td class="mdescLeft"> </td><td class="mdescRight">Return the current privilege level (CPL). <a href="group__DEC.html#gaf47d56bea81c3f7f815fab8cbc64a50"></a><br></td></tr>
82 <tr><td class="memItemLeft" nowrap align="right" valign="top">static XED_INLINE <a class="el" href="xed-extension-enum_8h.html#e7b9f64cdf123c5fda22bd10d5db9916">xed_extension_enum_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="xed-inst_8h.html#561a6688c1f8666cef9d2182f299f5bc">xed_inst_extension</a> (const <a class="el" href="group__DEC.html#g2b28c31e1e83e74ef5f613b38e0cc0ec">xed_inst_t</a> *p)</td></tr>
84 <tr><td class="memItemLeft" nowrap align="right" valign="top">XED_DLL_EXPORT xed_uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="xed-inst_8h.html#00e6626154ca2a0e8f3f839149123650">xed_inst_flag_info_index</a> (const <a class="el" href="group__DEC.html#g2b28c31e1e83e74ef5f613b38e0cc0ec">xed_inst_t</a> *p)</td></tr>
86 <tr><td class="memItemLeft" nowrap align="right" valign="top">static XED_INLINE <a class="el" href="xed-iclass-enum_8h.html#d318511ae9cc50f102251b3c91a1ab9f">xed_iclass_enum_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="xed-inst_8h.html#301a5ea38e37d72d3b2623392908d1b9">xed_inst_iclass</a> (const <a class="el" href="group__DEC.html#g2b28c31e1e83e74ef5f613b38e0cc0ec">xed_inst_t</a> *p)</td></tr>
88 <tr><td class="memItemLeft" nowrap align="right" valign="top">static XED_INLINE <a class="el" href="xed-types_8h.html#0c92e8263b7ca02d8e4826ae5b79bb30">xed_uint_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="xed-inst_8h.html#9deca8dce62445ea1ff6b93cc8849b3c">xed_inst_iform</a> (const <a class="el" href="group__DEC.html#g2b28c31e1e83e74ef5f613b38e0cc0ec">xed_inst_t</a> *p)</td></tr>
90 <tr><td class="memItemLeft" nowrap align="right" valign="top">static XED_INLINE <a class="el" href="xed-iform-enum_8h.html#f48986d6e090a75f7ab50e6d4a182e21">xed_iform_enum_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="xed-inst_8h.html#b13c4e9442dfe6624ed492f1c6521286">xed_inst_iform_enum</a> (const <a class="el" href="group__DEC.html#g2b28c31e1e83e74ef5f613b38e0cc0ec">xed_inst_t</a> *p)</td></tr>
92 <tr><td class="memItemLeft" nowrap align="right" valign="top">static XED_INLINE unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DEC.html#g5808f0c3992221777a51c9356bbfc1cf">xed_inst_noperands</a> (const <a class="el" href="group__DEC.html#g2b28c31e1e83e74ef5f613b38e0cc0ec">xed_inst_t</a> *p)</td></tr>
94 <tr><td class="mdescLeft"> </td><td class="mdescRight">Number of instruction operands. <a href="group__DEC.html#g5808f0c3992221777a51c9356bbfc1cf"></a><br></td></tr>
95 <tr><td class="memItemLeft" nowrap align="right" valign="top">static XED_INLINE const <a class="el" href="group__DEC.html#g6e11e56c314f3035be79171df2f6938f">xed_operand_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DEC.html#g05c6c3704a2be54cdced61f99437c146">xed_inst_operand</a> (const <a class="el" href="group__DEC.html#g2b28c31e1e83e74ef5f613b38e0cc0ec">xed_inst_t</a> *p, unsigned int i)</td></tr>
97 <tr><td class="mdescLeft"> </td><td class="mdescRight">Obtain a pointer to an individual operand. <a href="group__DEC.html#g05c6c3704a2be54cdced61f99437c146"></a><br></td></tr>
98 <tr><td colspan="2"><br><h2>xed_inst_t Template Operand Read/Written</h2></td></tr>
99 <tr><td class="memItemLeft" nowrap align="right" valign="top">XED_DLL_EXPORT <a class="el" href="xed-types_8h.html#0c92e8263b7ca02d8e4826ae5b79bb30">xed_uint_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DEC.html#ge7b820b7db6c7437f1e0c6bb11510b10">xed_operand_conditional_read</a> (const <a class="el" href="group__DEC.html#g6e11e56c314f3035be79171df2f6938f">xed_operand_t</a> *p)</td></tr>
101 <tr><td class="mdescLeft"> </td><td class="mdescRight">If the operand has a conditional read (may also write). <a href="group__DEC.html#ge7b820b7db6c7437f1e0c6bb11510b10"></a><br></td></tr>
102 <tr><td class="memItemLeft" nowrap align="right" valign="top">XED_DLL_EXPORT <a class="el" href="xed-types_8h.html#0c92e8263b7ca02d8e4826ae5b79bb30">xed_uint_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DEC.html#gd6b80021a33c772fa74a038f17343562">xed_operand_conditional_write</a> (const <a class="el" href="group__DEC.html#g6e11e56c314f3035be79171df2f6938f">xed_operand_t</a> *p)</td></tr>
104 <tr><td class="mdescLeft"> </td><td class="mdescRight">If the operand has a conditional write (may also read). <a href="group__DEC.html#gd6b80021a33c772fa74a038f17343562"></a><br></td></tr>
105 <tr><td class="memItemLeft" nowrap align="right" valign="top">XED_DLL_EXPORT <a class="el" href="xed-types_8h.html#0c92e8263b7ca02d8e4826ae5b79bb30">xed_uint_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DEC.html#g549f3a156257abb9979df806b436ad85">xed_operand_read</a> (const <a class="el" href="group__DEC.html#g6e11e56c314f3035be79171df2f6938f">xed_operand_t</a> *p)</td></tr>
107 <tr><td class="mdescLeft"> </td><td class="mdescRight">If the operand is read, including conditional reads. <a href="group__DEC.html#g549f3a156257abb9979df806b436ad85"></a><br></td></tr>
108 <tr><td class="memItemLeft" nowrap align="right" valign="top">XED_DLL_EXPORT <a class="el" href="xed-types_8h.html#0c92e8263b7ca02d8e4826ae5b79bb30">xed_uint_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DEC.html#g53d4f48a25de19a158ac617bd2302fcd">xed_operand_read_and_written</a> (const <a class="el" href="group__DEC.html#g6e11e56c314f3035be79171df2f6938f">xed_operand_t</a> *p)</td></tr>
110 <tr><td class="mdescLeft"> </td><td class="mdescRight">If the operand is read-and-written, conditional reads and conditional writes. <a href="group__DEC.html#g53d4f48a25de19a158ac617bd2302fcd"></a><br></td></tr>
111 <tr><td class="memItemLeft" nowrap align="right" valign="top">XED_DLL_EXPORT <a class="el" href="xed-types_8h.html#0c92e8263b7ca02d8e4826ae5b79bb30">xed_uint_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DEC.html#g9cb66680c46f2ba09edbf63a8df3b52b">xed_operand_read_only</a> (const <a class="el" href="group__DEC.html#g6e11e56c314f3035be79171df2f6938f">xed_operand_t</a> *p)</td></tr>
113 <tr><td class="mdescLeft"> </td><td class="mdescRight">If the operand is read-only, including conditional reads. <a href="group__DEC.html#g9cb66680c46f2ba09edbf63a8df3b52b"></a><br></td></tr>
114 <tr><td class="memItemLeft" nowrap align="right" valign="top">static XED_INLINE <a class="el" href="xed-operand-action-enum_8h.html#6bf8113365b84b9d6ab549fdfef2643f">xed_operand_action_enum_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DEC.html#ge5299214951891952401b5061e48a6ca">xed_operand_rw</a> (const <a class="el" href="group__DEC.html#g6e11e56c314f3035be79171df2f6938f">xed_operand_t</a> *p)</td></tr>
116 <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the raw R/W action. <a href="group__DEC.html#ge5299214951891952401b5061e48a6ca"></a><br></td></tr>
117 <tr><td class="memItemLeft" nowrap align="right" valign="top">XED_DLL_EXPORT <a class="el" href="xed-types_8h.html#0c92e8263b7ca02d8e4826ae5b79bb30">xed_uint_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DEC.html#gadb2fcc833f5245dcbfd80dd0499694d">xed_operand_written</a> (const <a class="el" href="group__DEC.html#g6e11e56c314f3035be79171df2f6938f">xed_operand_t</a> *p)</td></tr>
119 <tr><td class="mdescLeft"> </td><td class="mdescRight">If the operand is written, including conditional writes. <a href="group__DEC.html#gadb2fcc833f5245dcbfd80dd0499694d"></a><br></td></tr>
120 <tr><td class="memItemLeft" nowrap align="right" valign="top">XED_DLL_EXPORT <a class="el" href="xed-types_8h.html#0c92e8263b7ca02d8e4826ae5b79bb30">xed_uint_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DEC.html#g7463fa65b041fb66790532ba6ea3ca50">xed_operand_written_only</a> (const <a class="el" href="group__DEC.html#g6e11e56c314f3035be79171df2f6938f">xed_operand_t</a> *p)</td></tr>
122 <tr><td class="mdescLeft"> </td><td class="mdescRight">If the operand is written-only, including conditional writes. <a href="group__DEC.html#g7463fa65b041fb66790532ba6ea3ca50"></a><br></td></tr>
123 <tr><td colspan="2"><br><h2>xed_inst_t Template Operands Access</h2></td></tr>
124 <tr><td class="memItemLeft" nowrap align="right" valign="top">static XED_INLINE xed_uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DEC.html#g15cd2fdc19d6e7e9864df7b56e9235f0">xed_operand_imm</a> (const <a class="el" href="group__DEC.html#g6e11e56c314f3035be79171df2f6938f">xed_operand_t</a> *p)</td></tr>
126 <tr><td class="memItemLeft" nowrap align="right" valign="top">static XED_INLINE <a class="el" href="xed-operand-enum_8h.html#09c2a35d8bb7bfe68bb3d34b0a5e011a">xed_operand_enum_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DEC.html#g57209697b0dfb3e9ed4f694ca7cc16a4">xed_operand_name</a> (const <a class="el" href="group__DEC.html#g6e11e56c314f3035be79171df2f6938f">xed_operand_t</a> *p)</td></tr>
128 <tr><td class="memItemLeft" nowrap align="right" valign="top">static XED_INLINE <a class="el" href="xed-nonterminal-enum_8h.html#e0eb8f71a8f89cddf0df4b1a6a2b27af">xed_nonterminal_enum_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DEC.html#gf690022f17c39fbc270373f013034b5b">xed_operand_nonterminal_name</a> (const <a class="el" href="group__DEC.html#g6e11e56c314f3035be79171df2f6938f">xed_operand_t</a> *p)</td></tr>
130 <tr><td class="memItemLeft" nowrap align="right" valign="top">static XED_INLINE <a class="el" href="xed-operand-visibility-enum_8h.html#e678c6279a7ba50bf58f2e357242b58d">xed_operand_visibility_enum_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DEC.html#g2e8b5df9fc68c6aa7fbeb98735e1d4a9">xed_operand_operand_visibility</a> (const <a class="el" href="group__DEC.html#g6e11e56c314f3035be79171df2f6938f">xed_operand_t</a> *p)</td></tr>
132 <tr><td class="memItemLeft" nowrap align="right" valign="top">XED_DLL_EXPORT void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DEC.html#gb5528945cff3a8531a58103fffdcee97">xed_operand_print</a> (const <a class="el" href="group__DEC.html#g6e11e56c314f3035be79171df2f6938f">xed_operand_t</a> *p, char *buf, int buflen)</td></tr>
134 <tr><td class="mdescLeft"> </td><td class="mdescRight">Print the operand p into the buffer buf, of length buflen. <a href="group__DEC.html#gb5528945cff3a8531a58103fffdcee97"></a><br></td></tr>
135 <tr><td class="memItemLeft" nowrap align="right" valign="top">static XED_INLINE <a class="el" href="xed-reg-enum_8h.html#f05c33c5a68e9304d1d8ac0408ae3f61">xed_reg_enum_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DEC.html#gc7b6d553eb70c5eeda751a20fe8ed1a4">xed_operand_reg</a> (const <a class="el" href="group__DEC.html#g6e11e56c314f3035be79171df2f6938f">xed_operand_t</a> *p)</td></tr>
137 <tr><td class="mdescLeft"> </td><td class="mdescRight">Careful with this one -- use <a class="el" href="group__DEC.html#g5635f3a3d121bbcbb64d548dbb32e4c5">xed_decoded_inst_get_reg()</a>! This one is probably not what you think it is. <a href="group__DEC.html#gc7b6d553eb70c5eeda751a20fe8ed1a4"></a><br></td></tr>
138 <tr><td class="memItemLeft" nowrap align="right" valign="top">static XED_INLINE <a class="el" href="xed-types_8h.html#0c92e8263b7ca02d8e4826ae5b79bb30">xed_uint_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DEC.html#gfea07afe6bade70f2ebfe3b491b99d41">xed_operand_template_is_register</a> (const <a class="el" href="group__DEC.html#g6e11e56c314f3035be79171df2f6938f">xed_operand_t</a> *p)</td></tr>
140 <tr><td class="mdescLeft"> </td><td class="mdescRight">Careful with this one; See <a class="el" href="group__DEC.html#gb506c3ac00ee5350d9b5ab55270c392c">xed_operand_is_register()</a>. <a href="group__DEC.html#gfea07afe6bade70f2ebfe3b491b99d41"></a><br></td></tr>
141 <tr><td class="memItemLeft" nowrap align="right" valign="top">static XED_INLINE <a class="el" href="xed-operand-type-enum_8h.html#7f9198331fe1015a2df65f7b42aa43a8">xed_operand_type_enum_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DEC.html#gcaf67b54704bacb6b47f5f2afcf2a4b1">xed_operand_type</a> (const <a class="el" href="group__DEC.html#g6e11e56c314f3035be79171df2f6938f">xed_operand_t</a> *p)</td></tr>
143 <tr><td class="memItemLeft" nowrap align="right" valign="top">static XED_INLINE <a class="el" href="xed-operand-width-enum_8h.html#4bc2ed96b8433c06c363d614a2fa1676">xed_operand_width_enum_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DEC.html#g1159569c734bf712a40a2a88542d549d">xed_operand_width</a> (const <a class="el" href="group__DEC.html#g6e11e56c314f3035be79171df2f6938f">xed_operand_t</a> *p)</td></tr>
145 <tr><td colspan="2"><br><h2>xed_inst_t Template Operand Enum Name Classification</h2></td></tr>
146 <tr><td class="memItemLeft" nowrap align="right" valign="top">static XED_INLINE <a class="el" href="xed-types_8h.html#0c92e8263b7ca02d8e4826ae5b79bb30">xed_uint_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DEC.html#g336d0e245e83f1b90f609f72b136a2aa">xed_operand_is_memory_addressing_register</a> (<a class="el" href="xed-operand-enum_8h.html#09c2a35d8bb7bfe68bb3d34b0a5e011a">xed_operand_enum_t</a> name)</td></tr>
148 <tr><td class="mdescLeft"> </td><td class="mdescRight">Tests the enum for inclusion in XED_OPERAND_{BASE0,BASE1,INDEX,SEG0,SEG1}. <a href="group__DEC.html#g336d0e245e83f1b90f609f72b136a2aa"></a><br></td></tr>
149 <tr><td class="memItemLeft" nowrap align="right" valign="top">static XED_INLINE <a class="el" href="xed-types_8h.html#0c92e8263b7ca02d8e4826ae5b79bb30">xed_uint_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DEC.html#gb506c3ac00ee5350d9b5ab55270c392c">xed_operand_is_register</a> (<a class="el" href="xed-operand-enum_8h.html#09c2a35d8bb7bfe68bb3d34b0a5e011a">xed_operand_enum_t</a> name)</td></tr>
151 <tr><td class="mdescLeft"> </td><td class="mdescRight">Tests the enum for inclusion in XED_OPERAND_REG0 through XED_OPERAND_REG15. <a href="group__DEC.html#gb506c3ac00ee5350d9b5ab55270c392c"></a><br></td></tr>
152 <tr><td colspan="2"><br><h2>Defines</h2></td></tr>
153 <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="xed-inst_8h.html#da225dd28306b9e3a239089468d956a1">_XED_INST_H_</a></td></tr>
155 <tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
156 <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef XED_DLL_EXPORT <a class="el" href="structxed__inst__s.html">xed_inst_s</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DEC.html#g2b28c31e1e83e74ef5f613b38e0cc0ec">xed_inst_t</a></td></tr>
158 <tr><td class="mdescLeft"> </td><td class="mdescRight">constant information about a decoded instruction form, including the pointer to the constant operand properties <a class="el" href="group__DEC.html#g6e11e56c314f3035be79171df2f6938f">xed_operand_t</a> for this instruction form. <a href="group__DEC.html#g2b28c31e1e83e74ef5f613b38e0cc0ec"></a><br></td></tr>
159 <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="xed-inst_8h.html#b42ac4782b59a5c7ec3718d56e7530c0">xed_operand_extractor_fn_t</a> )(struct <a class="el" href="structxed__decoded__inst__s.html">xed_decoded_inst_s</a> *xds)</td></tr>
161 <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef XED_DLL_EXPORT <a class="el" href="structxed__operand__s.html">xed_operand_s</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DEC.html#g6e11e56c314f3035be79171df2f6938f">xed_operand_t</a></td></tr>
163 <tr><td class="mdescLeft"> </td><td class="mdescRight">Constant information about an individual generic operand, like an operand template, describing the operand properties. <a href="group__DEC.html#g6e11e56c314f3035be79171df2f6938f"></a><br></td></tr>
164 <tr><td colspan="2"><br><h2>Variables</h2></td></tr>
165 <tr><td class="memItemLeft" nowrap align="right" valign="top">XED_DLL_GLOBAL const <a class="el" href="group__DEC.html#g6e11e56c314f3035be79171df2f6938f">xed_operand_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="xed-inst_8h.html#2c2e67fb67ef116ed797322e0236acc7">xed_operand</a> [XED_MAX_OPERAND_TABLE_NODES]</td></tr>
168 <hr><h2>Define Documentation</h2>
169 <a class="anchor" name="da225dd28306b9e3a239089468d956a1"></a><!-- doxytag: member="xed-inst.h::_XED_INST_H_" ref="da225dd28306b9e3a239089468d956a1" args="" --><p>
170 <table class="mdTable" cellpadding="2" cellspacing="0">
173 <table cellpadding="0" cellspacing="0" border="0">
175 <td class="md" nowrap valign="top">#define _XED_INST_H_ </td>
181 <table cellspacing="5" cellpadding="0" border="0">
191 Definition at line <a class="el" href="xed-inst_8h-source.html#l00037">37</a> of file <a class="el" href="xed-inst_8h-source.html">xed-inst.h</a>. </td>
194 <hr><h2>Typedef Documentation</h2>
195 <a class="anchor" name="b42ac4782b59a5c7ec3718d56e7530c0"></a><!-- doxytag: member="xed-inst.h::xed_operand_extractor_fn_t" ref="b42ac4782b59a5c7ec3718d56e7530c0" args=")(struct xed_decoded_inst_s *xds)" --><p>
196 <table class="mdTable" cellpadding="2" cellspacing="0">
199 <table cellpadding="0" cellspacing="0" border="0">
201 <td class="md" nowrap valign="top">typedef void(* <a class="el" href="xed-inst_8h.html#b42ac4782b59a5c7ec3718d56e7530c0">xed_operand_extractor_fn_t</a>)(struct <a class="el" href="structxed__decoded__inst__s.html">xed_decoded_inst_s</a> *xds) </td>
207 <table cellspacing="5" cellpadding="0" border="0">
217 Definition at line <a class="el" href="xed-inst_8h-source.html#l00058">58</a> of file <a class="el" href="xed-inst_8h-source.html">xed-inst.h</a>. </td>
220 <hr><h2>Function Documentation</h2>
221 <a class="anchor" name="b81b14e6d31cc013d3a0c414ee185093"></a><!-- doxytag: member="xed-inst.h::xed_inst_category" ref="b81b14e6d31cc013d3a0c414ee185093" args="(const xed_inst_t *p)" --><p>
222 <table class="mdTable" cellpadding="2" cellspacing="0">
225 <table cellpadding="0" cellspacing="0" border="0">
227 <td class="md" nowrap valign="top">static XED_INLINE <a class="el" href="xed-category-enum_8h.html#3e6e23a35a7ad463e2422d7db98e49f5">xed_category_enum_t</a> xed_inst_category </td>
228 <td class="md" valign="top">( </td>
229 <td class="md" nowrap valign="top">const <a class="el" href="group__DEC.html#g2b28c31e1e83e74ef5f613b38e0cc0ec">xed_inst_t</a> * </td>
230 <td class="mdname1" valign="top" nowrap> <em>p</em> </td>
231 <td class="md" valign="top"> ) </td>
232 <td class="md" nowrap><code> [static]</code></td>
238 <table cellspacing="5" cellpadding="0" border="0">
248 Definition at line <a class="el" href="xed-inst_8h-source.html#l00264">264</a> of file <a class="el" href="xed-inst_8h-source.html">xed-inst.h</a>. </td>
251 <a class="anchor" name="561a6688c1f8666cef9d2182f299f5bc"></a><!-- doxytag: member="xed-inst.h::xed_inst_extension" ref="561a6688c1f8666cef9d2182f299f5bc" args="(const xed_inst_t *p)" --><p>
252 <table class="mdTable" cellpadding="2" cellspacing="0">
255 <table cellpadding="0" cellspacing="0" border="0">
257 <td class="md" nowrap valign="top">static XED_INLINE <a class="el" href="xed-extension-enum_8h.html#e7b9f64cdf123c5fda22bd10d5db9916">xed_extension_enum_t</a> xed_inst_extension </td>
258 <td class="md" valign="top">( </td>
259 <td class="md" nowrap valign="top">const <a class="el" href="group__DEC.html#g2b28c31e1e83e74ef5f613b38e0cc0ec">xed_inst_t</a> * </td>
260 <td class="mdname1" valign="top" nowrap> <em>p</em> </td>
261 <td class="md" valign="top"> ) </td>
262 <td class="md" nowrap><code> [static]</code></td>
268 <table cellspacing="5" cellpadding="0" border="0">
278 Definition at line <a class="el" href="xed-inst_8h-source.html#l00268">268</a> of file <a class="el" href="xed-inst_8h-source.html">xed-inst.h</a>. </td>
281 <a class="anchor" name="00e6626154ca2a0e8f3f839149123650"></a><!-- doxytag: member="xed-inst.h::xed_inst_flag_info_index" ref="00e6626154ca2a0e8f3f839149123650" args="(const xed_inst_t *p)" --><p>
282 <table class="mdTable" cellpadding="2" cellspacing="0">
285 <table cellpadding="0" cellspacing="0" border="0">
287 <td class="md" nowrap valign="top">XED_DLL_EXPORT xed_uint32_t xed_inst_flag_info_index </td>
288 <td class="md" valign="top">( </td>
289 <td class="md" nowrap valign="top">const <a class="el" href="group__DEC.html#g2b28c31e1e83e74ef5f613b38e0cc0ec">xed_inst_t</a> * </td>
290 <td class="mdname1" valign="top" nowrap> <em>p</em> </td>
291 <td class="md" valign="top"> ) </td>
292 <td class="md" nowrap></td>
298 <table cellspacing="5" cellpadding="0" border="0">
309 <a class="anchor" name="301a5ea38e37d72d3b2623392908d1b9"></a><!-- doxytag: member="xed-inst.h::xed_inst_iclass" ref="301a5ea38e37d72d3b2623392908d1b9" args="(const xed_inst_t *p)" --><p>
310 <table class="mdTable" cellpadding="2" cellspacing="0">
313 <table cellpadding="0" cellspacing="0" border="0">
315 <td class="md" nowrap valign="top">static XED_INLINE <a class="el" href="xed-iclass-enum_8h.html#d318511ae9cc50f102251b3c91a1ab9f">xed_iclass_enum_t</a> xed_inst_iclass </td>
316 <td class="md" valign="top">( </td>
317 <td class="md" nowrap valign="top">const <a class="el" href="group__DEC.html#g2b28c31e1e83e74ef5f613b38e0cc0ec">xed_inst_t</a> * </td>
318 <td class="mdname1" valign="top" nowrap> <em>p</em> </td>
319 <td class="md" valign="top"> ) </td>
320 <td class="md" nowrap><code> [static]</code></td>
326 <table cellspacing="5" cellpadding="0" border="0">
336 Definition at line <a class="el" href="xed-inst_8h-source.html#l00260">260</a> of file <a class="el" href="xed-inst_8h-source.html">xed-inst.h</a>. </td>
339 <a class="anchor" name="9deca8dce62445ea1ff6b93cc8849b3c"></a><!-- doxytag: member="xed-inst.h::xed_inst_iform" ref="9deca8dce62445ea1ff6b93cc8849b3c" args="(const xed_inst_t *p)" --><p>
340 <table class="mdTable" cellpadding="2" cellspacing="0">
343 <table cellpadding="0" cellspacing="0" border="0">
345 <td class="md" nowrap valign="top">static XED_INLINE <a class="el" href="xed-types_8h.html#0c92e8263b7ca02d8e4826ae5b79bb30">xed_uint_t</a> xed_inst_iform </td>
346 <td class="md" valign="top">( </td>
347 <td class="md" nowrap valign="top">const <a class="el" href="group__DEC.html#g2b28c31e1e83e74ef5f613b38e0cc0ec">xed_inst_t</a> * </td>
348 <td class="mdname1" valign="top" nowrap> <em>p</em> </td>
349 <td class="md" valign="top"> ) </td>
350 <td class="md" nowrap><code> [static]</code></td>
356 <table cellspacing="5" cellpadding="0" border="0">
366 Definition at line <a class="el" href="xed-inst_8h-source.html#l00272">272</a> of file <a class="el" href="xed-inst_8h-source.html">xed-inst.h</a>. </td>
369 <a class="anchor" name="b13c4e9442dfe6624ed492f1c6521286"></a><!-- doxytag: member="xed-inst.h::xed_inst_iform_enum" ref="b13c4e9442dfe6624ed492f1c6521286" args="(const xed_inst_t *p)" --><p>
370 <table class="mdTable" cellpadding="2" cellspacing="0">
373 <table cellpadding="0" cellspacing="0" border="0">
375 <td class="md" nowrap valign="top">static XED_INLINE <a class="el" href="xed-iform-enum_8h.html#f48986d6e090a75f7ab50e6d4a182e21">xed_iform_enum_t</a> xed_inst_iform_enum </td>
376 <td class="md" valign="top">( </td>
377 <td class="md" nowrap valign="top">const <a class="el" href="group__DEC.html#g2b28c31e1e83e74ef5f613b38e0cc0ec">xed_inst_t</a> * </td>
378 <td class="mdname1" valign="top" nowrap> <em>p</em> </td>
379 <td class="md" valign="top"> ) </td>
380 <td class="md" nowrap><code> [static]</code></td>
386 <table cellspacing="5" cellpadding="0" border="0">
396 Definition at line <a class="el" href="xed-inst_8h-source.html#l00275">275</a> of file <a class="el" href="xed-inst_8h-source.html">xed-inst.h</a>. </td>
399 <hr><h2>Variable Documentation</h2>
400 <a class="anchor" name="2c2e67fb67ef116ed797322e0236acc7"></a><!-- doxytag: member="xed-inst.h::xed_operand" ref="2c2e67fb67ef116ed797322e0236acc7" args="[XED_MAX_OPERAND_TABLE_NODES]" --><p>
401 <table class="mdTable" cellpadding="2" cellspacing="0">
404 <table cellpadding="0" cellspacing="0" border="0">
406 <td class="md" nowrap valign="top">XED_DLL_GLOBAL const <a class="el" href="group__DEC.html#g6e11e56c314f3035be79171df2f6938f">xed_operand_t</a> <a class="el" href="xed-inst_8h.html#2c2e67fb67ef116ed797322e0236acc7">xed_operand</a>[XED_MAX_OPERAND_TABLE_NODES] </td>
412 <table cellspacing="5" cellpadding="0" border="0">
423 <hr size="1"><address style="align: right;"><small>Generated on Thu May 15 03:15:09 2008 for XED2 by
424 <a href="http://www.doxygen.org/index.html">
425 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address>