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:08 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-decoded-inst.h</h1><a href="xed-decoded-inst_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*BEGIN_LEGAL </span>
31 <a name="l00002"></a>00002 <span class="comment">Copyright (c) 2007, Intel Corp.</span>
32 <a name="l00003"></a>00003 <span class="comment">All rights reserved.</span>
33 <a name="l00004"></a>00004 <span class="comment"></span>
34 <a name="l00005"></a>00005 <span class="comment">Redistribution and use in source and binary forms, with or without</span>
35 <a name="l00006"></a>00006 <span class="comment">modification, are permitted provided that the following conditions are</span>
36 <a name="l00007"></a>00007 <span class="comment">met:</span>
37 <a name="l00008"></a>00008 <span class="comment"></span>
38 <a name="l00009"></a>00009 <span class="comment"> * Redistributions of source code must retain the above copyright</span>
39 <a name="l00010"></a>00010 <span class="comment"> notice, this list of conditions and the following disclaimer.</span>
40 <a name="l00011"></a>00011 <span class="comment"></span>
41 <a name="l00012"></a>00012 <span class="comment"> * Redistributions in binary form must reproduce the above</span>
42 <a name="l00013"></a>00013 <span class="comment"> copyright notice, this list of conditions and the following</span>
43 <a name="l00014"></a>00014 <span class="comment"> disclaimer in the documentation and/or other materials provided</span>
44 <a name="l00015"></a>00015 <span class="comment"> with the distribution.</span>
45 <a name="l00016"></a>00016 <span class="comment"></span>
46 <a name="l00017"></a>00017 <span class="comment"> * Neither the name of Intel Corporation nor the names of its</span>
47 <a name="l00018"></a>00018 <span class="comment"> contributors may be used to endorse or promote products derived</span>
48 <a name="l00019"></a>00019 <span class="comment"> from this software without specific prior written permission.</span>
49 <a name="l00020"></a>00020 <span class="comment"></span>
50 <a name="l00021"></a>00021 <span class="comment">THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span>
51 <a name="l00022"></a>00022 <span class="comment">"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span>
52 <a name="l00023"></a>00023 <span class="comment">LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span>
53 <a name="l00024"></a>00024 <span class="comment">A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT</span>
54 <a name="l00025"></a>00025 <span class="comment">OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,</span>
55 <a name="l00026"></a>00026 <span class="comment">SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT</span>
56 <a name="l00027"></a>00027 <span class="comment">LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,</span>
57 <a name="l00028"></a>00028 <span class="comment">DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY</span>
58 <a name="l00029"></a>00029 <span class="comment">THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT</span>
59 <a name="l00030"></a>00030 <span class="comment">(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE</span>
60 <a name="l00031"></a>00031 <span class="comment">OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span>
61 <a name="l00032"></a>00032 <span class="comment">END_LEGAL */</span>
62 <a name="l00035"></a>00035
63 <a name="l00036"></a>00036 <span class="preprocessor">#if !defined(_XED_DECODER_STATE_H_)</span>
64 <a name="l00037"></a><a class="code" href="xed-decoded-inst_8h.html#126324b56809728d5e722ce196491b14">00037</a> <span class="preprocessor"></span><span class="preprocessor"># define _XED_DECODER_STATE_H_</span>
65 <a name="l00038"></a>00038 <span class="preprocessor"></span><span class="preprocessor">#include "<a class="code" href="xed-common-hdrs_8h.html">xed-common-hdrs.h</a>"</span>
66 <a name="l00039"></a>00039 <span class="preprocessor">#include "<a class="code" href="xed-common-defs_8h.html">xed-common-defs.h</a>"</span>
67 <a name="l00040"></a>00040 <span class="preprocessor">#include "<a class="code" href="xed-portability_8h.html">xed-portability.h</a>"</span>
68 <a name="l00041"></a>00041 <span class="preprocessor">#include "<a class="code" href="xed-util_8h.html">xed-util.h</a>"</span>
69 <a name="l00042"></a>00042 <span class="preprocessor">#include "<a class="code" href="xed-types_8h.html">xed-types.h</a>"</span>
70 <a name="l00043"></a>00043 <span class="preprocessor">#include "<a class="code" href="xed-operand-values-interface_8h.html">xed-operand-values-interface.h</a>"</span>
71 <a name="l00044"></a>00044 <span class="preprocessor">#include "<a class="code" href="xed-inst_8h.html">xed-inst.h</a>"</span>
72 <a name="l00045"></a>00045 <span class="preprocessor">#include "<a class="code" href="xed-flags_8h.html">xed-flags.h</a>"</span>
73 <a name="l00046"></a>00046 <span class="preprocessor">#include "<a class="code" href="xed-encoder-gen-defs_8h.html">xed-encoder-gen-defs.h</a>"</span> <span class="comment">//generated</span>
74 <a name="l00047"></a>00047
75 <a name="l00048"></a>00048
76 <a name="l00049"></a>00049 <span class="comment">// fwd-decl xed_simple_flag_t;</span>
77 <a name="l00050"></a>00050 <span class="comment">// fwd-decl xed_inst_t;</span>
78 <a name="l00051"></a>00051
79 <a name="l00052"></a>00052
80 <a name="l00053"></a>00053 <span class="keyword">struct </span>xed_encoder_vars_s;
81 <a name="l00054"></a>00054 <span class="keyword">struct </span>xed_decoder_vars_s;
82 <a name="l00055"></a>00055
83 <a name="l00061"></a><a class="code" href="structxed__decoded__inst__s.html">00061</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="xed-common-hdrs_8h.html#029d5ee2957ac2af5e2b75ec09f1daf9">XED_DLL_EXPORT</a> <a class="code" href="structxed__decoded__inst__s.html">xed_decoded_inst_s</a> {
84 <a name="l00063"></a><a class="code" href="structxed__decoded__inst__s.html#d9edc8d0f915f058522a69588cf82b8e">00063</a> <a class="code" href="xed-operand-storage_8h.html#eb1037b79ccdc048af4887376f6382a4">xed_operand_values_t</a> _operands[<a class="code" href="xed-operand-enum_8h.html#09c2a35d8bb7bfe68bb3d34b0a5e011a6558448a12b7ce8bf00d73cf3e45dafd">XED_OPERAND_LAST</a>]; <span class="comment">// FIXME: can further squeeze down 16b units</span>
85 <a name="l00064"></a>00064
86 <a name="l00066"></a><a class="code" href="structxed__decoded__inst__s.html#39fccfddf6af7f038aa90aa643ae0a88">00066</a> xed_uint8_t _operand_order[<a class="code" href="xed-encoder-gen-defs_8h.html#c9e3cf5b72e8a21c5200b97cf998bde9">XED_ENCODE_ORDER_MAX_OPERANDS</a>];
87 <a name="l00067"></a>00067
88 <a name="l00068"></a><a class="code" href="structxed__decoded__inst__s.html#1fab5a1da476258bf447ee424db583da">00068</a> xed_uint8_t _decoded_length;
89 <a name="l00069"></a>00069 <span class="comment">// Length of the _operand_order[] array.</span>
90 <a name="l00070"></a><a class="code" href="structxed__decoded__inst__s.html#18dfd5080b21ef3e0dbdb4ee25eb607c">00070</a> xed_uint8_t _n_operand_order;
91 <a name="l00071"></a>00071
92 <a name="l00075"></a><a class="code" href="structxed__decoded__inst__s.html#b08a8c51fc2965d6bd2f741281375145">00075</a> <span class="keyword">const</span> <a class="code" href="group__DEC.html#g2b28c31e1e83e74ef5f613b38e0cc0ec">xed_inst_t</a>* _inst;
93 <a name="l00076"></a>00076
94 <a name="l00077"></a>00077 <span class="comment">// decoder does not change it, encoder does </span>
95 <a name="l00078"></a>00078 <span class="keyword">union </span>{
96 <a name="l00079"></a><a class="code" href="structxed__decoded__inst__s.html#cd3a82f4a7db2f2d84e13b80953fe5a1">00079</a> xed_uint8_t* _enc;
97 <a name="l00080"></a><a class="code" href="structxed__decoded__inst__s.html#412cdad60af0a1b6764572bd1e06341a">00080</a> <span class="keyword">const</span> xed_uint8_t* _dec;
98 <a name="l00081"></a>00081 } _byte_array;
99 <a name="l00082"></a>00082
100 <a name="l00083"></a>00083 <span class="comment">// These are stack allocated by xed_encode() or xed_decode(). These are</span>
101 <a name="l00084"></a>00084 <span class="comment">// per-encode or per-decode transitory data.</span>
102 <a name="l00085"></a>00085 <span class="keyword">union </span>{
103 <a name="l00086"></a>00086
104 <a name="l00087"></a>00087 <span class="comment">/* user_data is available as a user data storage field after</span>
105 <a name="l00088"></a>00088 <span class="comment"> * decoding. It does not live across re-encodes or re-decodes. */</span>
106 <a name="l00089"></a><a class="code" href="structxed__decoded__inst__s.html#76dd7c3749de4ea740c3ae490bc53cce">00089</a> xed_uint64_t user_data;
107 <a name="l00090"></a><a class="code" href="structxed__decoded__inst__s.html#86a61793d1c864676e46e563ded5c60d">00090</a> <span class="keyword">struct </span>xed_decoder_vars_s* dv;
108 <a name="l00091"></a><a class="code" href="structxed__decoded__inst__s.html#970cf4df570b46c91bcda570f9e909cc">00091</a> <span class="keyword">struct </span>xed_encoder_vars_s* ev;
109 <a name="l00092"></a>00092 } u;
110 <a name="l00093"></a>00093
111 <a name="l00094"></a>00094
112 <a name="l00095"></a>00095
113 <a name="l00096"></a>00096 } <a class="code" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a>;
114 <a name="l00097"></a>00097
115 <a name="l00098"></a>00098
116 <a name="l00099"></a>00099
117 <a name="l00101"></a>00101
118 <a name="l00102"></a>00102
119 <a name="l00103"></a>00103
120 <a name="l00104"></a>00104 <span class="keyword">static</span> <a class="code" href="xed-portability_8h.html#816cca0d95c86100144b556e68e836b7">XED_INLINE</a> <span class="keyword">const</span> <a class="code" href="xed-operand-storage_8h.html#eb1037b79ccdc048af4887376f6382a4">xed_operand_values_t</a>*
121 <a name="l00105"></a><a class="code" href="group__DEC.html#g38e372d3227817713159035cb47ad1fd">00105</a> <a class="code" href="group__DEC.html#g38e372d3227817713159035cb47ad1fd">xed_decoded_inst_operands_const</a>(<span class="keyword">const</span> <a class="code" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a>* p) {
122 <a name="l00106"></a>00106 <span class="keywordflow">return</span> <a class="code" href="xed-portability_8h.html#8f026df65b9734e9def65ff4059605c5">STATIC_CAST</a>(<a class="code" href="xed-operand-storage_8h.html#eb1037b79ccdc048af4887376f6382a4">xed_operand_values_t</a>*,p->_operands);
123 <a name="l00107"></a>00107 }
124 <a name="l00110"></a>00110 <span class="keyword">static</span> <a class="code" href="xed-portability_8h.html#816cca0d95c86100144b556e68e836b7">XED_INLINE</a> <a class="code" href="xed-operand-storage_8h.html#eb1037b79ccdc048af4887376f6382a4">xed_operand_values_t</a>*
125 <a name="l00111"></a><a class="code" href="group__DEC.html#g698e5a357d20e47f32ba155963526abd">00111</a> <a class="code" href="group__DEC.html#g698e5a357d20e47f32ba155963526abd">xed_decoded_inst_operands</a>(<a class="code" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a>* p) {
126 <a name="l00112"></a>00112 <span class="keywordflow">return</span> <a class="code" href="xed-portability_8h.html#8f026df65b9734e9def65ff4059605c5">STATIC_CAST</a>(<a class="code" href="xed-operand-storage_8h.html#eb1037b79ccdc048af4887376f6382a4">xed_operand_values_t</a>*,p->_operands);
127 <a name="l00113"></a>00113 }
128 <a name="l00115"></a>00115
129 <a name="l00117"></a>00117
130 <a name="l00118"></a>00118
131 <a name="l00119"></a>00119
132 <a name="l00120"></a>00120 <a class="code" href="xed-common-hdrs_8h.html#029d5ee2957ac2af5e2b75ec09f1daf9">XED_DLL_EXPORT</a> <span class="keywordtype">void</span> <a class="code" href="group__DEC.html#ge32686224b685dfc7be3f13504e0a0df">xed_decoded_inst_zero_set_mode</a>(<a class="code" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a>* p, <span class="keyword">const</span> <a class="code" href="group__INIT.html#g58af142456a133c3df29c763216a85cf">xed_state_t</a>* dstate);
133 <a name="l00123"></a>00123 <a class="code" href="xed-common-hdrs_8h.html#029d5ee2957ac2af5e2b75ec09f1daf9">XED_DLL_EXPORT</a> <span class="keywordtype">void</span> <a class="code" href="group__DEC.html#g02b8ece2f304b476494db4cf6d5b73d8">xed_decoded_inst_zero_keep_mode</a>(<a class="code" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a>* p);
134 <a name="l00126"></a>00126 <a class="code" href="xed-common-hdrs_8h.html#029d5ee2957ac2af5e2b75ec09f1daf9">XED_DLL_EXPORT</a> <span class="keywordtype">void</span> <a class="code" href="group__DEC.html#g187a0e161873242e9989a186466a06b6">xed_decoded_inst_zero</a>(<a class="code" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a>* p);
135 <a name="l00129"></a>00129 <a class="code" href="xed-common-hdrs_8h.html#029d5ee2957ac2af5e2b75ec09f1daf9">XED_DLL_EXPORT</a> <span class="keywordtype">void</span> <a class="code" href="group__DEC.html#g15acf476d5d7d3b3fffa12e8ce4892aa">xed_decoded_inst_zero_keep_mode_from_operands</a>(<a class="code" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a>* p,
136 <a name="l00130"></a>00130 <span class="keyword">const</span> <a class="code" href="xed-operand-storage_8h.html#eb1037b79ccdc048af4887376f6382a4">xed_operand_values_t</a>* operands);
137 <a name="l00132"></a>00132
138 <a name="l00134"></a>00134
139 <a name="l00135"></a>00135
140 <a name="l00136"></a>00136
141 <a name="l00137"></a>00137 <span class="keyword">static</span> <a class="code" href="xed-portability_8h.html#816cca0d95c86100144b556e68e836b7">XED_INLINE</a> <a class="code" href="xed-types_8h.html#0c92e8263b7ca02d8e4826ae5b79bb30">xed_uint_t</a>
142 <a name="l00138"></a><a class="code" href="group__DEC.html#gd1051f7b86c94d5670f684a6ea79fcdf">00138</a> <a class="code" href="group__DEC.html#gd1051f7b86c94d5670f684a6ea79fcdf">xed_decoded_inst_get_length</a>(<span class="keyword">const</span> <a class="code" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a>* p) {
143 <a name="l00139"></a>00139 <span class="keywordflow">return</span> p->_decoded_length;
144 <a name="l00140"></a>00140 }
145 <a name="l00141"></a>00141
146 <a name="l00142"></a>00142
147 <a name="l00144"></a>00144
148 <a name="l00146"></a>00146
149 <a name="l00147"></a>00147
150 <a name="l00148"></a><a class="code" href="group__DEC.html#g8b01e6acbf119ee549fc58792d91ad60">00148</a> <span class="keyword">static</span> <a class="code" href="xed-portability_8h.html#816cca0d95c86100144b556e68e836b7">XED_INLINE</a> <a class="code" href="xed-types_8h.html#0c92e8263b7ca02d8e4826ae5b79bb30">xed_uint_t</a> <a class="code" href="group__DEC.html#g8b01e6acbf119ee549fc58792d91ad60">xed_decoded_inst_get_mode</a>(<span class="keyword">const</span> <a class="code" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a>* p) {
151 <a name="l00149"></a>00149 <span class="keywordflow">return</span> p->_operands[<a class="code" href="xed-operand-enum_8h.html#09c2a35d8bb7bfe68bb3d34b0a5e011a09a4deadbcb18f4194e684327f476595">XED_OPERAND_MODE</a>];
152 <a name="l00150"></a>00150 }
153 <a name="l00152"></a><a class="code" href="group__DEC.html#g58454fb6c62c184c9bccdcec37af4a64">00152</a> <span class="keyword">static</span> <a class="code" href="xed-portability_8h.html#816cca0d95c86100144b556e68e836b7">XED_INLINE</a> <a class="code" href="xed-types_8h.html#0c92e8263b7ca02d8e4826ae5b79bb30">xed_uint_t</a> <a class="code" href="group__DEC.html#g58454fb6c62c184c9bccdcec37af4a64">xed_decoded_inst_get_address_mode</a>(<span class="keyword">const</span> <a class="code" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a>* p) {
154 <a name="l00153"></a>00153 <span class="keywordflow">return</span> p->_operands[<a class="code" href="xed-operand-enum_8h.html#09c2a35d8bb7bfe68bb3d34b0a5e011ae6c7651cd7ed92bb97d632df5edd4327">XED_OPERAND_AMODE</a>];
155 <a name="l00154"></a>00154 }
156 <a name="l00156"></a><a class="code" href="group__DEC.html#g6d7f689564c0060bd6c64adf7ff5da94">00156</a> <span class="keyword">static</span> <a class="code" href="xed-portability_8h.html#816cca0d95c86100144b556e68e836b7">XED_INLINE</a> <a class="code" href="xed-types_8h.html#0c92e8263b7ca02d8e4826ae5b79bb30">xed_uint_t</a> <a class="code" href="group__DEC.html#g6d7f689564c0060bd6c64adf7ff5da94">xed_decoded_inst_get_stack_address_mode</a>(<span class="keyword">const</span> <a class="code" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a>* p) {
157 <a name="l00157"></a>00157 <span class="keywordflow">return</span> p->_operands[<a class="code" href="xed-operand-enum_8h.html#09c2a35d8bb7bfe68bb3d34b0a5e011a55c7014490c4ad2f151ed375afff0863">XED_OPERAND_SMODE</a>];
158 <a name="l00158"></a>00158 }
159 <a name="l00160"></a>00160
160 <a name="l00161"></a>00161
161 <a name="l00165"></a>00165
162 <a name="l00167"></a>00167
163 <a name="l00168"></a>00168
164 <a name="l00169"></a>00169
165 <a name="l00170"></a><a class="code" href="group__DEC.html#g61f6182ded3ebf9d95c25116278d370d">00170</a> <span class="keyword">static</span> <a class="code" href="xed-portability_8h.html#816cca0d95c86100144b556e68e836b7">XED_INLINE</a> <a class="code" href="xed-types_8h.html#d355c921b747945a82d62233a599c7b5">xed_bool_t</a> <a class="code" href="group__DEC.html#g61f6182ded3ebf9d95c25116278d370d">xed_decoded_inst_valid</a>(<span class="keyword">const</span> <a class="code" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a>* p ) {
166 <a name="l00171"></a>00171 <span class="keywordflow">return</span> <a class="code" href="xed-portability_8h.html#8f026df65b9734e9def65ff4059605c5">STATIC_CAST</a>(<a class="code" href="xed-types_8h.html#d355c921b747945a82d62233a599c7b5">xed_bool_t</a>,(p->_inst != 0));
167 <a name="l00172"></a>00172 }
168 <a name="l00175"></a><a class="code" href="group__DEC.html#ge507752abfa509bd72ee0903e873fe9e">00175</a> <span class="keyword">static</span> <a class="code" href="xed-portability_8h.html#816cca0d95c86100144b556e68e836b7">XED_INLINE</a> <span class="keyword">const</span> <a class="code" href="group__DEC.html#g2b28c31e1e83e74ef5f613b38e0cc0ec">xed_inst_t</a>* <a class="code" href="group__DEC.html#ge507752abfa509bd72ee0903e873fe9e">xed_decoded_inst_inst</a>( <span class="keyword">const</span> <a class="code" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a>* p) {
169 <a name="l00176"></a>00176 <span class="keywordflow">return</span> p->_inst;
170 <a name="l00177"></a>00177 }
171 <a name="l00178"></a>00178
172 <a name="l00179"></a>00179
173 <a name="l00182"></a><a class="code" href="group__DEC.html#gdb8cfb26a825d8a8d8dcbf49857eab63">00182</a> <span class="keyword">static</span> <a class="code" href="xed-portability_8h.html#816cca0d95c86100144b556e68e836b7">XED_INLINE</a> <a class="code" href="xed-category-enum_8h.html#3e6e23a35a7ad463e2422d7db98e49f5">xed_category_enum_t</a> <a class="code" href="group__DEC.html#gdb8cfb26a825d8a8d8dcbf49857eab63">xed_decoded_inst_get_category</a>(<span class="keyword">const</span> <a class="code" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a>* p) {
174 <a name="l00183"></a>00183 <a class="code" href="xed-util_8h.html#14e6b8d2d319061ff7e517323aa4776f">xed_assert</a>(p->_inst != 0);
175 <a name="l00184"></a>00184 <span class="keywordflow">return</span> <a class="code" href="xed-inst_8h.html#b81b14e6d31cc013d3a0c414ee185093">xed_inst_category</a>(p->_inst);
176 <a name="l00185"></a>00185 }
177 <a name="l00188"></a><a class="code" href="group__DEC.html#g2ad01ffd078ac7166c8a2bc1be1b6d4d">00188</a> <span class="keyword">static</span> <a class="code" href="xed-portability_8h.html#816cca0d95c86100144b556e68e836b7">XED_INLINE</a> <a class="code" href="xed-extension-enum_8h.html#e7b9f64cdf123c5fda22bd10d5db9916">xed_extension_enum_t</a> <a class="code" href="group__DEC.html#g2ad01ffd078ac7166c8a2bc1be1b6d4d">xed_decoded_inst_get_extension</a>( <span class="keyword">const</span> <a class="code" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a>* p) {
178 <a name="l00189"></a>00189 <a class="code" href="xed-util_8h.html#14e6b8d2d319061ff7e517323aa4776f">xed_assert</a>(p->_inst != 0);
179 <a name="l00190"></a>00190 <span class="keywordflow">return</span> <a class="code" href="xed-inst_8h.html#561a6688c1f8666cef9d2182f299f5bc">xed_inst_extension</a>(p->_inst);
180 <a name="l00191"></a>00191 }
181 <a name="l00194"></a><a class="code" href="group__DEC.html#g2bc965a8dc2a1fee79b80b2c45d4329c">00194</a> <span class="keyword">static</span> <a class="code" href="xed-portability_8h.html#816cca0d95c86100144b556e68e836b7">XED_INLINE</a> <a class="code" href="xed-iclass-enum_8h.html#d318511ae9cc50f102251b3c91a1ab9f">xed_iclass_enum_t</a> <a class="code" href="group__DEC.html#g2bc965a8dc2a1fee79b80b2c45d4329c">xed_decoded_inst_get_iclass</a>( <span class="keyword">const</span> <a class="code" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a>* p){
182 <a name="l00195"></a>00195 <a class="code" href="xed-util_8h.html#14e6b8d2d319061ff7e517323aa4776f">xed_assert</a>(p->_inst != 0);
183 <a name="l00196"></a>00196 <span class="keywordflow">return</span> <a class="code" href="xed-inst_8h.html#301a5ea38e37d72d3b2623392908d1b9">xed_inst_iclass</a>(p->_inst);
184 <a name="l00197"></a>00197 }
185 <a name="l00198"></a>00198
186 <a name="l00201"></a>00201 <a class="code" href="xed-common-hdrs_8h.html#029d5ee2957ac2af5e2b75ec09f1daf9">XED_DLL_EXPORT</a> xed_uint32_t <a class="code" href="group__DEC.html#gca8af81eeb8a2613a3710f2163674bf7">xed_decoded_inst_get_attribute</a>(<span class="keyword">const</span> <a class="code" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a>* p, <a class="code" href="xed-attribute-enum_8h.html#848d4cf396be5a647413e94bc6f0a383">xed_attribute_enum_t</a> attr);
187 <a name="l00202"></a>00202
188 <a name="l00205"></a>00205 <a class="code" href="xed-common-hdrs_8h.html#029d5ee2957ac2af5e2b75ec09f1daf9">XED_DLL_EXPORT</a> xed_uint32_t <a class="code" href="group__DEC.html#gdc2c807ae2151c758ebc768d4d12bf84">xed_decoded_inst_get_attributes</a>(<span class="keyword">const</span> <a class="code" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a>* p);
189 <a name="l00207"></a>00207
190 <a name="l00209"></a>00209
191 <a name="l00210"></a>00210
192 <a name="l00213"></a><a class="code" href="group__DEC.html#gf51f3a8153bdedec0d8864cc0e89b5c7">00213</a> <span class="keyword">static</span> <a class="code" href="xed-portability_8h.html#816cca0d95c86100144b556e68e836b7">XED_INLINE</a> <a class="code" href="xed-iform-enum_8h.html#f48986d6e090a75f7ab50e6d4a182e21">xed_iform_enum_t</a> <a class="code" href="group__DEC.html#gf51f3a8153bdedec0d8864cc0e89b5c7">xed_decoded_inst_get_iform_enum</a>(<span class="keyword">const</span> <a class="code" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a>* p) {
193 <a name="l00214"></a>00214 <a class="code" href="xed-util_8h.html#14e6b8d2d319061ff7e517323aa4776f">xed_assert</a>(p->_inst != 0);
194 <a name="l00215"></a>00215 <span class="keywordflow">return</span> <a class="code" href="xed-inst_8h.html#b13c4e9442dfe6624ed492f1c6521286">xed_inst_iform_enum</a>(p->_inst);
195 <a name="l00216"></a>00216 }
196 <a name="l00217"></a>00217
197 <a name="l00218"></a>00218
198 <a name="l00224"></a><a class="code" href="group__DEC.html#g8c85bf31ee09bde1bb5b957699a38f71">00224</a> <span class="keyword">static</span> <a class="code" href="xed-portability_8h.html#816cca0d95c86100144b556e68e836b7">XED_INLINE</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="group__DEC.html#g8c85bf31ee09bde1bb5b957699a38f71">xed_decoded_inst_get_iform_enum_dispatch</a>(<span class="keyword">const</span> <a class="code" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a>* p) {
199 <a name="l00225"></a>00225 <a class="code" href="xed-util_8h.html#14e6b8d2d319061ff7e517323aa4776f">xed_assert</a>(p->_inst != 0);
200 <a name="l00226"></a>00226 <span class="keywordflow">return</span> <a class="code" href="xed-inst_8h.html#b13c4e9442dfe6624ed492f1c6521286">xed_inst_iform_enum</a>(p->_inst) & 0xFF;
201 <a name="l00227"></a>00227 }
202 <a name="l00228"></a>00228
203 <a name="l00233"></a>00233 <a class="code" href="xed-common-hdrs_8h.html#029d5ee2957ac2af5e2b75ec09f1daf9">XED_DLL_EXPORT</a> xed_uint32_t <a class="code" href="group__DEC.html#g7b2e9c4095bddf90c3679c9fdd54b20c">xed_iform_max_per_iclass</a>(<a class="code" href="xed-iclass-enum_8h.html#d318511ae9cc50f102251b3c91a1ab9f">xed_iclass_enum_t</a> iclass);
204 <a name="l00234"></a>00234
205 <a name="l00235"></a><a class="code" href="xed-decoded-inst_8h.html#a6abaf33680f4d86b1d30674e490587c">00235</a> <span class="preprocessor">#define XED_MASK_IFORM(x) ((x) & 0xFF)</span>
206 <a name="l00236"></a>00236 <span class="preprocessor"></span>
207 <a name="l00240"></a><a class="code" href="group__DEC.html#g86a1a2c5672d86de46115b903bc5f63e">00240</a> <span class="keyword">static</span> <a class="code" href="xed-portability_8h.html#816cca0d95c86100144b556e68e836b7">XED_INLINE</a> <a class="code" href="xed-types_8h.html#0c92e8263b7ca02d8e4826ae5b79bb30">xed_uint_t</a> <a class="code" href="group__DEC.html#g86a1a2c5672d86de46115b903bc5f63e">xed_decoded_inst_get_old_iform</a>( <span class="keyword">const</span> <a class="code" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a>* p){
208 <a name="l00241"></a>00241 <a class="code" href="xed-util_8h.html#14e6b8d2d319061ff7e517323aa4776f">xed_assert</a>(p->_inst != 0);
209 <a name="l00242"></a>00242 <span class="keywordflow">return</span> <a class="code" href="xed-inst_8h.html#9deca8dce62445ea1ff6b93cc8849b3c">xed_inst_iform</a>(p->_inst);
210 <a name="l00243"></a>00243 }
211 <a name="l00244"></a>00244
212 <a name="l00246"></a>00246
213 <a name="l00247"></a>00247
214 <a name="l00248"></a>00248
215 <a name="l00250"></a>00250
216 <a name="l00251"></a>00251
217 <a name="l00252"></a>00252
218 <a name="l00253"></a>00253 <a class="code" href="xed-common-hdrs_8h.html#029d5ee2957ac2af5e2b75ec09f1daf9">XED_DLL_EXPORT</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="group__DEC.html#ga030199ba499d2bcb67cbf7740d8d4c6">xed_decoded_inst_operand_length</a>(<span class="keyword">const</span> <a class="code" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a>* p,
219 <a name="l00254"></a>00254 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> operand_index);
220 <a name="l00257"></a><a class="code" href="group__DEC.html#ga8cca4acafb5dee2b4ecfafee1cca7b8">00257</a> <span class="keyword">static</span> <a class="code" href="xed-portability_8h.html#816cca0d95c86100144b556e68e836b7">XED_INLINE</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="group__DEC.html#ga8cca4acafb5dee2b4ecfafee1cca7b8">xed_decoded_inst_noperands</a>(<span class="keyword">const</span> <a class="code" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a>* p) {
221 <a name="l00258"></a>00258 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> noperands = <a class="code" href="group__DEC.html#g5808f0c3992221777a51c9356bbfc1cf">xed_inst_noperands</a>(<a class="code" href="group__DEC.html#ge507752abfa509bd72ee0903e873fe9e">xed_decoded_inst_inst</a>(p));
222 <a name="l00259"></a>00259 <span class="keywordflow">return</span> noperands;
223 <a name="l00260"></a>00260 }
224 <a name="l00262"></a>00262
225 <a name="l00264"></a>00264
226 <a name="l00265"></a>00265
227 <a name="l00266"></a>00266
228 <a name="l00267"></a>00267 <a class="code" href="xed-common-hdrs_8h.html#029d5ee2957ac2af5e2b75ec09f1daf9">XED_DLL_EXPORT</a> <span class="keywordtype">void</span> <a class="code" href="group__DEC.html#g988943de2c61305278f50a26bb9945bc">xed_decoded_inst_dump</a>(<span class="keyword">const</span> <a class="code" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a>* p, <span class="keywordtype">char</span>* buf, <span class="keywordtype">int</span> buflen);
229 <a name="l00268"></a>00268
230 <a name="l00277"></a>00277 <a class="code" href="xed-common-hdrs_8h.html#029d5ee2957ac2af5e2b75ec09f1daf9">XED_DLL_EXPORT</a> <a class="code" href="xed-types_8h.html#d355c921b747945a82d62233a599c7b5">xed_bool_t</a> <a class="code" href="group__DEC.html#g93fc27180e28da2f2904d72004d086c6">xed_decoded_inst_dump_intel_format</a>(<span class="keyword">const</span> <a class="code" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a>* p,
231 <a name="l00278"></a>00278 <span class="keywordtype">char</span>* buf,
232 <a name="l00279"></a>00279 <span class="keywordtype">int</span> buflen,
233 <a name="l00280"></a>00280 xed_uint64_t runtime_address);
234 <a name="l00290"></a>00290 <a class="code" href="xed-common-hdrs_8h.html#029d5ee2957ac2af5e2b75ec09f1daf9">XED_DLL_EXPORT</a> <a class="code" href="xed-types_8h.html#d355c921b747945a82d62233a599c7b5">xed_bool_t</a> <a class="code" href="group__DEC.html#g2d80d23c3217423b966700adf1a1d326">xed_decoded_inst_dump_intel_format_context</a>(<span class="keyword">const</span> <a class="code" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a>* p,
235 <a name="l00291"></a>00291 <span class="keywordtype">char</span>* buf,
236 <a name="l00292"></a>00292 <span class="keywordtype">int</span> buflen,
237 <a name="l00293"></a>00293 xed_uint64_t runtime_address,
238 <a name="l00294"></a>00294 <span class="keywordtype">void</span>* context);
239 <a name="l00295"></a>00295
240 <a name="l00308"></a>00308 <a class="code" href="xed-common-hdrs_8h.html#029d5ee2957ac2af5e2b75ec09f1daf9">XED_DLL_EXPORT</a> <a class="code" href="xed-types_8h.html#d355c921b747945a82d62233a599c7b5">xed_bool_t</a> <a class="code" href="group__DEC.html#g2ea7af52222fae8e9064d6ab63f5d3d8">xed_decoded_inst_dump_att_format</a>(<span class="keyword">const</span> <a class="code" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a>* p,
241 <a name="l00309"></a>00309 <span class="keywordtype">char</span>* buf,
242 <a name="l00310"></a>00310 <span class="keywordtype">int</span> buflen,
243 <a name="l00311"></a>00311 xed_uint64_t runtime_address);
244 <a name="l00312"></a>00312
245 <a name="l00325"></a>00325 <a class="code" href="xed-common-hdrs_8h.html#029d5ee2957ac2af5e2b75ec09f1daf9">XED_DLL_EXPORT</a> <a class="code" href="xed-types_8h.html#d355c921b747945a82d62233a599c7b5">xed_bool_t</a> <a class="code" href="group__DEC.html#gce27a86c7eeb2bb16423cd0cc3da843b">xed_decoded_inst_dump_att_format_context</a>(<span class="keyword">const</span> <a class="code" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a>* p,
246 <a name="l00326"></a>00326 <span class="keywordtype">char</span>* buf,
247 <a name="l00327"></a>00327 <span class="keywordtype">int</span> buflen,
248 <a name="l00328"></a>00328 xed_uint64_t runtime_address,
249 <a name="l00329"></a>00329 <span class="keywordtype">void</span>* context);
250 <a name="l00330"></a>00330
251 <a name="l00337"></a>00337 <a class="code" href="xed-common-hdrs_8h.html#029d5ee2957ac2af5e2b75ec09f1daf9">XED_DLL_EXPORT</a> <a class="code" href="xed-types_8h.html#d355c921b747945a82d62233a599c7b5">xed_bool_t</a> <a class="code" href="group__DEC.html#gfc335b6bbcbfaadcf3b4c5174c9e9444">xed_decoded_inst_dump_xed_format</a>(<span class="keyword">const</span> <a class="code" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a>* p,
252 <a name="l00338"></a>00338 <span class="keywordtype">char</span>* buf,
253 <a name="l00339"></a>00339 <span class="keywordtype">int</span> buflen, xed_uint64_t runtime_address) ;
254 <a name="l00341"></a>00341
255 <a name="l00343"></a>00343
256 <a name="l00344"></a>00344
257 <a name="l00345"></a>00345 <a class="code" href="xed-common-hdrs_8h.html#029d5ee2957ac2af5e2b75ec09f1daf9">XED_DLL_EXPORT</a> <a class="code" href="xed-reg-enum_8h.html#f05c33c5a68e9304d1d8ac0408ae3f61">xed_reg_enum_t</a> <a class="code" href="group__DEC.html#g1451e49df729a4fe1e650db6cb3343d2">xed_decoded_inst_get_seg_reg</a>(<span class="keyword">const</span> <a class="code" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a>* p, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> mem_idx);
258 <a name="l00347"></a>00347 <a class="code" href="xed-common-hdrs_8h.html#029d5ee2957ac2af5e2b75ec09f1daf9">XED_DLL_EXPORT</a> <a class="code" href="xed-reg-enum_8h.html#f05c33c5a68e9304d1d8ac0408ae3f61">xed_reg_enum_t</a> <a class="code" href="group__DEC.html#gef27a2e2c7c6cb84d8e6ba239267172a">xed_decoded_inst_get_base_reg</a>(<span class="keyword">const</span> <a class="code" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a>* p, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> mem_idx);
259 <a name="l00348"></a>00348 <a class="code" href="xed-common-hdrs_8h.html#029d5ee2957ac2af5e2b75ec09f1daf9">XED_DLL_EXPORT</a> <a class="code" href="xed-reg-enum_8h.html#f05c33c5a68e9304d1d8ac0408ae3f61">xed_reg_enum_t</a> <a class="code" href="group__DEC.html#gd39ecfe4d1c3d95161f291e4d9a18280">xed_decoded_inst_get_index_reg</a>(<span class="keyword">const</span> <a class="code" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a>* p, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> mem_idx);
260 <a name="l00350"></a>00350 <a class="code" href="xed-common-hdrs_8h.html#029d5ee2957ac2af5e2b75ec09f1daf9">XED_DLL_EXPORT</a> <a class="code" href="xed-types_8h.html#0c92e8263b7ca02d8e4826ae5b79bb30">xed_uint_t</a> <a class="code" href="group__DEC.html#g77a570e03d56cd31e50f4bc54104b0f9">xed_decoded_inst_get_scale</a>(<span class="keyword">const</span> <a class="code" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a>* p, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> mem_idx);
261 <a name="l00352"></a>00352 <a class="code" href="xed-common-hdrs_8h.html#029d5ee2957ac2af5e2b75ec09f1daf9">XED_DLL_EXPORT</a> xed_int64_t <a class="code" href="group__DEC.html#ga8d22454961035b0fa6121c5f419817d">xed_decoded_inst_get_memory_displacement</a>(<span class="keyword">const</span> <a class="code" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a>* p, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> mem_idx);
262 <a name="l00355"></a>00355 <a class="code" href="xed-common-hdrs_8h.html#029d5ee2957ac2af5e2b75ec09f1daf9">XED_DLL_EXPORT</a> <a class="code" href="xed-types_8h.html#0c92e8263b7ca02d8e4826ae5b79bb30">xed_uint_t</a> <a class="code" href="group__DEC.html#g275efe423fe90a10a674da18f3265bd4">xed_decoded_inst_get_memory_displacement_width</a>(<span class="keyword">const</span> <a class="code" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a>* p, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> mem_idx);
263 <a name="l00358"></a>00358 <a class="code" href="xed-common-hdrs_8h.html#029d5ee2957ac2af5e2b75ec09f1daf9">XED_DLL_EXPORT</a> <a class="code" href="xed-types_8h.html#0c92e8263b7ca02d8e4826ae5b79bb30">xed_uint_t</a> <a class="code" href="group__DEC.html#g1dbd440bd1bde01bd35d01ec1e518fb5">xed_decoded_inst_get_memory_displacement_width_bits</a>(<span class="keyword">const</span> <a class="code" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a>* p, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> mem_idx);
264 <a name="l00360"></a>00360 <a class="code" href="xed-common-hdrs_8h.html#029d5ee2957ac2af5e2b75ec09f1daf9">XED_DLL_EXPORT</a> xed_int32_t <a class="code" href="group__DEC.html#gada9b13de03dfeefff70f2d219504aae">xed_decoded_inst_get_branch_displacement</a>(<span class="keyword">const</span> <a class="code" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a>* p);
265 <a name="l00363"></a>00363 <a class="code" href="xed-common-hdrs_8h.html#029d5ee2957ac2af5e2b75ec09f1daf9">XED_DLL_EXPORT</a> <a class="code" href="xed-types_8h.html#0c92e8263b7ca02d8e4826ae5b79bb30">xed_uint_t</a> <a class="code" href="group__DEC.html#g6ce6a33dea91f1cb846c78cf2848be58">xed_decoded_inst_get_branch_displacement_width</a>(<span class="keyword">const</span> <a class="code" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a>* p);
266 <a name="l00366"></a>00366 <a class="code" href="xed-common-hdrs_8h.html#029d5ee2957ac2af5e2b75ec09f1daf9">XED_DLL_EXPORT</a> <a class="code" href="xed-types_8h.html#0c92e8263b7ca02d8e4826ae5b79bb30">xed_uint_t</a> <a class="code" href="group__DEC.html#g6983743d83d51517bae4404d3345b865">xed_decoded_inst_get_branch_displacement_width_bits</a>(<span class="keyword">const</span> <a class="code" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a>* p);
267 <a name="l00368"></a>00368 <a class="code" href="xed-common-hdrs_8h.html#029d5ee2957ac2af5e2b75ec09f1daf9">XED_DLL_EXPORT</a> xed_uint64_t <a class="code" href="group__DEC.html#g79461981ed1722ab09a094915fb72428">xed_decoded_inst_get_unsigned_immediate</a>(<span class="keyword">const</span> <a class="code" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a>* p);
268 <a name="l00371"></a>00371 <a class="code" href="xed-common-hdrs_8h.html#029d5ee2957ac2af5e2b75ec09f1daf9">XED_DLL_EXPORT</a> <a class="code" href="xed-types_8h.html#0c92e8263b7ca02d8e4826ae5b79bb30">xed_uint_t</a> <a class="code" href="group__DEC.html#g7c752cb527745114566367dfa0bb176c">xed_decoded_inst_get_immediate_is_signed</a>(<span class="keyword">const</span> <a class="code" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a>* p);
269 <a name="l00374"></a>00374 <a class="code" href="xed-common-hdrs_8h.html#029d5ee2957ac2af5e2b75ec09f1daf9">XED_DLL_EXPORT</a> <a class="code" href="xed-types_8h.html#0c92e8263b7ca02d8e4826ae5b79bb30">xed_uint_t</a> <a class="code" href="group__DEC.html#g91e972de2b4dfd4edac004d2cdf2768c">xed_decoded_inst_get_immediate_width</a>(<span class="keyword">const</span> <a class="code" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a>* p);
270 <a name="l00377"></a>00377 <a class="code" href="xed-common-hdrs_8h.html#029d5ee2957ac2af5e2b75ec09f1daf9">XED_DLL_EXPORT</a> <a class="code" href="xed-types_8h.html#0c92e8263b7ca02d8e4826ae5b79bb30">xed_uint_t</a> <a class="code" href="group__DEC.html#gd34f78b3aa239ec07a7d1b5537f7a12a">xed_decoded_inst_get_immediate_width_bits</a>(<span class="keyword">const</span> <a class="code" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a>* p);
271 <a name="l00379"></a>00379 <a class="code" href="xed-common-hdrs_8h.html#029d5ee2957ac2af5e2b75ec09f1daf9">XED_DLL_EXPORT</a> xed_int32_t <a class="code" href="group__DEC.html#gbbc8dec2bddec619bfe8f9a39c7ffdf4">xed_decoded_inst_get_signed_immediate</a>(<span class="keyword">const</span> <a class="code" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a>* p);
272 <a name="l00382"></a><a class="code" href="group__DEC.html#gd1d32b618885f9d22aa75101664497e4">00382</a> <span class="keyword">static</span> <a class="code" href="xed-portability_8h.html#816cca0d95c86100144b556e68e836b7">XED_INLINE</a> xed_uint8_t <a class="code" href="group__DEC.html#gd1d32b618885f9d22aa75101664497e4">xed_decoded_inst_get_second_immediate</a>(<span class="keyword">const</span> <a class="code" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a>* p) {
273 <a name="l00383"></a>00383 <span class="keywordflow">return</span> <a class="code" href="xed-portability_8h.html#8f026df65b9734e9def65ff4059605c5">STATIC_CAST</a>(xed_uint8_t,p->_operands[<a class="code" href="xed-operand-enum_8h.html#09c2a35d8bb7bfe68bb3d34b0a5e011aa42d2f9c0c320266158b5126ca8608d3">XED_OPERAND_UIMM1</a>]);
274 <a name="l00384"></a>00384 }
275 <a name="l00385"></a>00385
276 <a name="l00388"></a><a class="code" href="group__DEC.html#g5635f3a3d121bbcbb64d548dbb32e4c5">00388</a> <span class="keyword">static</span> <a class="code" href="xed-portability_8h.html#816cca0d95c86100144b556e68e836b7">XED_INLINE</a> <a class="code" href="xed-reg-enum_8h.html#f05c33c5a68e9304d1d8ac0408ae3f61">xed_reg_enum_t</a> <a class="code" href="group__DEC.html#g5635f3a3d121bbcbb64d548dbb32e4c5">xed_decoded_inst_get_reg</a>(<span class="keyword">const</span> <a class="code" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a>* p,
277 <a name="l00389"></a>00389 <a class="code" href="xed-operand-enum_8h.html#09c2a35d8bb7bfe68bb3d34b0a5e011a">xed_operand_enum_t</a> reg_operand) {
278 <a name="l00390"></a>00390 <span class="keywordflow">return</span> <a class="code" href="xed-portability_8h.html#8f026df65b9734e9def65ff4059605c5">STATIC_CAST</a>(<a class="code" href="xed-reg-enum_8h.html#f05c33c5a68e9304d1d8ac0408ae3f61">xed_reg_enum_t</a>,p->_operands[reg_operand]);
279 <a name="l00391"></a>00391 }
280 <a name="l00392"></a>00392
281 <a name="l00393"></a>00393
282 <a name="l00394"></a>00394
283 <a name="l00396"></a>00396 <a class="code" href="xed-common-hdrs_8h.html#029d5ee2957ac2af5e2b75ec09f1daf9">XED_DLL_EXPORT</a> <span class="keyword">const</span> <a class="code" href="group__FLAGS.html#g7a0efe6ee18616a7d37af47d4e3cae10">xed_simple_flag_t</a>* <a class="code" href="group__DEC.html#g275353ead71e5915f810ef06c4149b68">xed_decoded_inst_get_rflags_info</a>( <span class="keyword">const</span> <a class="code" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a>* p );
284 <a name="l00398"></a>00398 <a class="code" href="xed-common-hdrs_8h.html#029d5ee2957ac2af5e2b75ec09f1daf9">XED_DLL_EXPORT</a> <a class="code" href="xed-types_8h.html#d355c921b747945a82d62233a599c7b5">xed_bool_t</a> <a class="code" href="group__DEC.html#g6922f0d03774f1d9ec1d402fb70e5c63">xed_decoded_inst_uses_rflags</a>(<span class="keyword">const</span> <a class="code" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a>* p);
285 <a name="l00400"></a>00400 <a class="code" href="xed-common-hdrs_8h.html#029d5ee2957ac2af5e2b75ec09f1daf9">XED_DLL_EXPORT</a> <a class="code" href="xed-types_8h.html#0c92e8263b7ca02d8e4826ae5b79bb30">xed_uint_t</a> <a class="code" href="group__DEC.html#gc093ecf9904ce025bafa8e7318ded0ec">xed_decoded_inst_number_of_memory_operands</a>(<span class="keyword">const</span> <a class="code" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a>* p);
286 <a name="l00402"></a>00402 <a class="code" href="xed-common-hdrs_8h.html#029d5ee2957ac2af5e2b75ec09f1daf9">XED_DLL_EXPORT</a> <a class="code" href="xed-types_8h.html#d355c921b747945a82d62233a599c7b5">xed_bool_t</a> <a class="code" href="group__DEC.html#g1d1b81a6e49ae396bdad946439794b5f">xed_decoded_inst_mem_read</a>(<span class="keyword">const</span> <a class="code" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a>* p, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> mem_idx);
287 <a name="l00404"></a>00404 <a class="code" href="xed-common-hdrs_8h.html#029d5ee2957ac2af5e2b75ec09f1daf9">XED_DLL_EXPORT</a> <a class="code" href="xed-types_8h.html#d355c921b747945a82d62233a599c7b5">xed_bool_t</a> <a class="code" href="group__DEC.html#geda7bba6faea14f777752fbab269d425">xed_decoded_inst_mem_written</a>(<span class="keyword">const</span> <a class="code" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a>* p, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> mem_idx);
288 <a name="l00406"></a>00406 <a class="code" href="xed-common-hdrs_8h.html#029d5ee2957ac2af5e2b75ec09f1daf9">XED_DLL_EXPORT</a> <a class="code" href="xed-types_8h.html#d355c921b747945a82d62233a599c7b5">xed_bool_t</a> <a class="code" href="group__DEC.html#g7dff98e10cc2432084fd5528f834bc35">xed_decoded_inst_mem_written_only</a>(<span class="keyword">const</span> <a class="code" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a>* p, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> mem_idx);
289 <a name="l00408"></a>00408 <a class="code" href="xed-common-hdrs_8h.html#029d5ee2957ac2af5e2b75ec09f1daf9">XED_DLL_EXPORT</a> <a class="code" href="xed-types_8h.html#d355c921b747945a82d62233a599c7b5">xed_bool_t</a> <a class="code" href="group__DEC.html#gd267d2d08e002b027915248689d1defe">xed_decoded_inst_conditionally_writes_registers</a>(<span class="keyword">const</span> <a class="code" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a>* p);
290 <a name="l00410"></a>00410 <a class="code" href="xed-common-hdrs_8h.html#029d5ee2957ac2af5e2b75ec09f1daf9">XED_DLL_EXPORT</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="group__DEC.html#gecce1ea119eb21d3569ee0058d5ce084">xed_decoded_inst_get_memory_operand_length</a>(<span class="keyword">const</span> <a class="code" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a>* p,
291 <a name="l00411"></a>00411 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> memop_idx);
292 <a name="l00412"></a>00412
293 <a name="l00413"></a>00413
294 <a name="l00416"></a>00416 <a class="code" href="xed-common-hdrs_8h.html#029d5ee2957ac2af5e2b75ec09f1daf9">XED_DLL_EXPORT</a> <a class="code" href="xed-types_8h.html#d355c921b747945a82d62233a599c7b5">xed_bool_t</a> <a class="code" href="group__DEC.html#ge8c0841f1b56911c50531e1fff2abb58">xed_decoded_inst_is_prefetch</a>(<span class="keyword">const</span> <a class="code" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a>* p);
295 <a name="l00418"></a>00418
296 <a name="l00419"></a>00419
297 <a name="l00421"></a>00421
298 <a name="l00422"></a>00422 <span class="comment">// Modifying decoded instructions before re-encoding </span>
299 <a name="l00424"></a>00424 <span class="comment"></span><a class="code" href="xed-common-hdrs_8h.html#029d5ee2957ac2af5e2b75ec09f1daf9">XED_DLL_EXPORT</a> <span class="keywordtype">void</span> <a class="code" href="group__DEC.html#ge568590fb678b524e5e1068d085d76dc">xed_decoded_inst_set_scale</a>(<a class="code" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a>* p, <a class="code" href="xed-types_8h.html#0c92e8263b7ca02d8e4826ae5b79bb30">xed_uint_t</a> scale);
300 <a name="l00427"></a>00427 <a class="code" href="xed-common-hdrs_8h.html#029d5ee2957ac2af5e2b75ec09f1daf9">XED_DLL_EXPORT</a> <span class="keywordtype">void</span> <a class="code" href="group__DEC.html#g6a4b96d0db7e35adb4fa7e4eaed79c30">xed_decoded_inst_set_memory_displacement</a>(<a class="code" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a>* p, xed_int64_t disp, <a class="code" href="xed-types_8h.html#0c92e8263b7ca02d8e4826ae5b79bb30">xed_uint_t</a> length_bytes);
301 <a name="l00430"></a>00430 <a class="code" href="xed-common-hdrs_8h.html#029d5ee2957ac2af5e2b75ec09f1daf9">XED_DLL_EXPORT</a> <span class="keywordtype">void</span> <a class="code" href="group__DEC.html#gb34c7c4ac7369256b6b57b015a9490af">xed_decoded_inst_set_branch_displacement</a>(<a class="code" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a>* p, xed_int32_t disp, <a class="code" href="xed-types_8h.html#0c92e8263b7ca02d8e4826ae5b79bb30">xed_uint_t</a> length_bytes);
302 <a name="l00433"></a>00433 <a class="code" href="xed-common-hdrs_8h.html#029d5ee2957ac2af5e2b75ec09f1daf9">XED_DLL_EXPORT</a> <span class="keywordtype">void</span> <a class="code" href="group__DEC.html#gab164e3abdbd0902ced002923ded7c0a">xed_decoded_inst_set_immediate_signed</a>(<a class="code" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a>* p, xed_int32_t x, <a class="code" href="xed-types_8h.html#0c92e8263b7ca02d8e4826ae5b79bb30">xed_uint_t</a> length_bytes);
303 <a name="l00436"></a>00436 <a class="code" href="xed-common-hdrs_8h.html#029d5ee2957ac2af5e2b75ec09f1daf9">XED_DLL_EXPORT</a> <span class="keywordtype">void</span> <a class="code" href="group__DEC.html#g7ad3c8a1764288cab0c02a035c8aec1c">xed_decoded_inst_set_immediate_unsigned</a>(<a class="code" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a>* p, xed_uint64_t x, <a class="code" href="xed-types_8h.html#0c92e8263b7ca02d8e4826ae5b79bb30">xed_uint_t</a> length_bytes);
304 <a name="l00437"></a>00437
305 <a name="l00438"></a>00438
306 <a name="l00441"></a>00441 <a class="code" href="xed-common-hdrs_8h.html#029d5ee2957ac2af5e2b75ec09f1daf9">XED_DLL_EXPORT</a> <span class="keywordtype">void</span> <a class="code" href="group__DEC.html#gc3c2f46de48f69534b4634b00e25e44d">xed_decoded_inst_set_memory_displacement_bits</a>(<a class="code" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a>* p, xed_int64_t disp, <a class="code" href="xed-types_8h.html#0c92e8263b7ca02d8e4826ae5b79bb30">xed_uint_t</a> length_bits);
307 <a name="l00444"></a>00444 <a class="code" href="xed-common-hdrs_8h.html#029d5ee2957ac2af5e2b75ec09f1daf9">XED_DLL_EXPORT</a> <span class="keywordtype">void</span> <a class="code" href="group__DEC.html#g1b46a3f333598d21438849fb03867702">xed_decoded_inst_set_branch_displacement_bits</a>(<a class="code" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a>* p, xed_int32_t disp, <a class="code" href="xed-types_8h.html#0c92e8263b7ca02d8e4826ae5b79bb30">xed_uint_t</a> length_bits);
308 <a name="l00447"></a>00447 <a class="code" href="xed-common-hdrs_8h.html#029d5ee2957ac2af5e2b75ec09f1daf9">XED_DLL_EXPORT</a> <span class="keywordtype">void</span> <a class="code" href="group__DEC.html#g6654d373b4122309cb985a90baea2ec0">xed_decoded_inst_set_immediate_signed_bits</a>(<a class="code" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a>* p, xed_int32_t x, <a class="code" href="xed-types_8h.html#0c92e8263b7ca02d8e4826ae5b79bb30">xed_uint_t</a> length_bits);
309 <a name="l00450"></a>00450 <a class="code" href="xed-common-hdrs_8h.html#029d5ee2957ac2af5e2b75ec09f1daf9">XED_DLL_EXPORT</a> <span class="keywordtype">void</span> <a class="code" href="group__DEC.html#g3048427ba43f4978b291a36acea2eaae">xed_decoded_inst_set_immediate_unsigned_bits</a>(<a class="code" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a>* p, xed_uint64_t x, <a class="code" href="xed-types_8h.html#0c92e8263b7ca02d8e4826ae5b79bb30">xed_uint_t</a> length_bits);
310 <a name="l00451"></a>00451
311 <a name="l00453"></a>00453
312 <a name="l00455"></a>00455
313 <a name="l00456"></a>00456
314 <a name="l00457"></a>00457
315 <a name="l00458"></a><a class="code" href="group__DEC.html#g6d902e3364c9393c5f3b42a3f30442a0">00458</a> <span class="keyword">static</span> <a class="code" href="xed-portability_8h.html#816cca0d95c86100144b556e68e836b7">XED_INLINE</a> xed_uint64_t <a class="code" href="group__DEC.html#g6d902e3364c9393c5f3b42a3f30442a0">xed_decoded_inst_get_user_data</a>(<a class="code" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a>* p) {
316 <a name="l00459"></a>00459 <span class="keywordflow">return</span> p->u.user_data;
317 <a name="l00460"></a>00460 }
318 <a name="l00463"></a><a class="code" href="group__DEC.html#g87bdd1f7a9c5893a546351f205fed067">00463</a> <span class="keyword">static</span> <a class="code" href="xed-portability_8h.html#816cca0d95c86100144b556e68e836b7">XED_INLINE</a> <span class="keywordtype">void</span> <a class="code" href="group__DEC.html#g87bdd1f7a9c5893a546351f205fed067">xed_decoded_inst_set_user_data</a>(<a class="code" href="group__DEC.html#ga704925b5f80885a0ac56640a7c70937">xed_decoded_inst_t</a>* p, xed_uint64_t new_value) {
319 <a name="l00464"></a>00464 p->u.user_data = new_value;
320 <a name="l00465"></a>00465 }
321 <a name="l00467"></a>00467 <span class="preprocessor">#endif</span>
322 <a name="l00468"></a>00468 <span class="preprocessor"></span><span class="comment">//Local Variables:</span>
323 <a name="l00469"></a>00469 <span class="comment">//pref: "../../xed-decoded-inst.c"</span>
324 <a name="l00470"></a>00470 <span class="comment">//End:</span>
325 </pre></div><hr size="1"><address style="align: right;"><small>Generated on Thu May 15 03:15:08 2008 for XED2 by
326 <a href="http://www.doxygen.org/index.html">
327 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address>