Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(91)

Side by Side Diff: tools/traceline/traceline/sidestep/ia32_opcode_map.cc

Issue 20494: Import Traceline, a Windows performance trace event logger. (Closed)
Patch Set: Feedback. Created 11 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2008, Google Inc.
2 // All rights reserved.
3 //
4 // Redistribution and use in source and binary forms, with or without
5 // modification, are permitted provided that the following conditions are
6 // met:
7 //
8 // * Redistributions of source code must retain the above copyright
9 // notice, this list of conditions and the following disclaimer.
10 // * Redistributions in binary form must reproduce the above
11 // copyright notice, this list of conditions and the following disclaimer
12 // in the documentation and/or other materials provided with the
13 // distribution.
14 // * Neither the name of Google Inc. nor the names of its
15 // contributors may be used to endorse or promote products derived from
16 // this software without specific prior written permission.
17 //
18 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29
30 // Opcode decoding maps. Based on the IA-32 Intel Architecture
31 // Software Developer's Manual Volume 2: Instruction Set Reference. Idea
32 // for how to lay out the tables in memory taken from the implementation
33 // in the Bastard disassembly environment.
34
35 #include "sidestep/mini_disassembler.h"
36
37 namespace sidestep {
38
39 /*
40 * This is the first table to be searched; the first field of each
41 * Opcode in the table is either 0 to indicate you're in the
42 * right table, or an index to the correct table, in the global
43 * map g_pentiumOpcodeMap
44 */
45 const Opcode s_first_opcode_byte[] = {
46 /* 0x0 */ { 0, IT_GENERIC, AM_E | OT_B, AM_G | OT_B, AM_NOT_USED, "add", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
47 /* 0x1 */ { 0, IT_GENERIC, AM_E | OT_V, AM_G | OT_V, AM_NOT_USED, "add", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
48 /* 0x2 */ { 0, IT_GENERIC, AM_G | OT_B, AM_E | OT_B, AM_NOT_USED, "add", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
49 /* 0x3 */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "add", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
50 /* 0x4 */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_I | OT_B, AM_NOT_USED, "add" , false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
51 /* 0x5 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_I | OT_V, AM_NOT_USED, "add" , false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
52 /* 0x6 */ { 0, IT_GENERIC, AM_REGISTER | OT_W, AM_NOT_USED, AM_NOT_USED, "push ", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
53 /* 0x7 */ { 0, IT_GENERIC, AM_REGISTER | OT_W, AM_NOT_USED, AM_NOT_USED, "pop" , false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
54 /* 0x8 */ { 0, IT_GENERIC, AM_E | OT_B, AM_G | OT_B, AM_NOT_USED, "or", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
55 /* 0x9 */ { 0, IT_GENERIC, AM_E | OT_V, AM_G | OT_V, AM_NOT_USED, "or", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
56 /* 0xA */ { 0, IT_GENERIC, AM_G | OT_B, AM_E | OT_B, AM_NOT_USED, "or", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
57 /* 0xB */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "or", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
58 /* 0xC */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_I | OT_B, AM_NOT_USED, "or", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
59 /* 0xD */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_I | OT_V, AM_NOT_USED, "or", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
60 /* 0xE */ { 0, IT_GENERIC, AM_REGISTER | OT_W, AM_NOT_USED, AM_NOT_USED, "push ", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
61 /* 0xF */ { 1, IT_REFERENCE, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
62 /* 0x10 */ { 0, IT_GENERIC, AM_E | OT_B, AM_G | OT_B, AM_NOT_USED, "adc", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
63 /* 0x11 */ { 0, IT_GENERIC, AM_E | OT_V, AM_G | OT_V, AM_NOT_USED, "adc", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
64 /* 0x12 */ { 0, IT_GENERIC, AM_G | OT_B, AM_E | OT_B, AM_NOT_USED, "adc", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
65 /* 0x13 */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "adc", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
66 /* 0x14 */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_I | OT_B, AM_NOT_USED, "adc ", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
67 /* 0x15 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_I | OT_V, AM_NOT_USED, "adc ", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
68 /* 0x16 */ { 0, IT_GENERIC, AM_REGISTER | OT_W, AM_NOT_USED, AM_NOT_USED, "pus h", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
69 /* 0x17 */ { 0, IT_GENERIC, AM_REGISTER | OT_W, AM_NOT_USED, AM_NOT_USED, "pop ", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
70 /* 0x18 */ { 0, IT_GENERIC, AM_E | OT_B, AM_G | OT_B, AM_NOT_USED, "sbb", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
71 /* 0x19 */ { 0, IT_GENERIC, AM_E | OT_V, AM_G | OT_V, AM_NOT_USED, "sbb", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
72 /* 0x1A */ { 0, IT_GENERIC, AM_G | OT_B, AM_E | OT_B, AM_NOT_USED, "sbb", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
73 /* 0x1B */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "sbb", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
74 /* 0x1C */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_I | OT_B, AM_NOT_USED, "sbb ", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
75 /* 0x1D */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_I | OT_V, AM_NOT_USED, "sbb ", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
76 /* 0x1E */ { 0, IT_GENERIC, AM_REGISTER | OT_W, AM_NOT_USED, AM_NOT_USED, "pus h", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
77 /* 0x1F */ { 0, IT_GENERIC, AM_REGISTER | OT_W, AM_NOT_USED, AM_NOT_USED, "pop ", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
78 /* 0x20 */ { 0, IT_GENERIC, AM_E | OT_B, AM_G | OT_B, AM_NOT_USED, "and", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
79 /* 0x21 */ { 0, IT_GENERIC, AM_E | OT_V, AM_G | OT_V, AM_NOT_USED, "and", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
80 /* 0x22 */ { 0, IT_GENERIC, AM_G | OT_B, AM_E | OT_B, AM_NOT_USED, "and", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
81 /* 0x23 */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "and", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
82 /* 0x24 */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_I | OT_B, AM_NOT_USED, "and ", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
83 /* 0x25 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_I | OT_V, AM_NOT_USED, "and ", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
84 /* 0x26 */ { 0, IT_PREFIX, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
85 /* 0x27 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "daa", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
86 /* 0x28 */ { 0, IT_GENERIC, AM_E | OT_B, AM_G | OT_B, AM_NOT_USED, "sub", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
87 /* 0x29 */ { 0, IT_GENERIC, AM_E | OT_V, AM_G | OT_V, AM_NOT_USED, "sub", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
88 /* 0x2A */ { 0, IT_GENERIC, AM_G | OT_B, AM_E | OT_B, AM_NOT_USED, "sub", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
89 /* 0x2B */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "sub", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
90 /* 0x2C */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_I | OT_B, AM_NOT_USED, "sub ", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
91 /* 0x2D */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_I | OT_V, AM_NOT_USED, "sub ", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
92 /* 0x2E */ { 0, IT_PREFIX, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
93 /* 0x2F */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "das", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
94 /* 0x30 */ { 0, IT_GENERIC, AM_E | OT_B, AM_G | OT_B, AM_NOT_USED, "xor", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
95 /* 0x31 */ { 0, IT_GENERIC, AM_E | OT_V, AM_G | OT_V, AM_NOT_USED, "xor", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
96 /* 0x32 */ { 0, IT_GENERIC, AM_G | OT_B, AM_E | OT_B, AM_NOT_USED, "xor", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
97 /* 0x33 */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "xor", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
98 /* 0x34 */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_I | OT_B, AM_NOT_USED, "xor ", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
99 /* 0x35 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_I | OT_V, AM_NOT_USED, "xor ", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
100 /* 0x36 */ { 0, IT_PREFIX, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
101 /* 0x37 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "aaa", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
102 /* 0x38 */ { 0, IT_GENERIC, AM_E | OT_B, AM_G | OT_B, AM_NOT_USED, "cmp", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
103 /* 0x39 */ { 0, IT_GENERIC, AM_E | OT_V, AM_G | OT_V, AM_NOT_USED, "cmp", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
104 /* 0x3A */ { 0, IT_GENERIC, AM_G | OT_B, AM_E | OT_B, AM_NOT_USED, "cmp", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
105 /* 0x3B */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "cmp", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
106 /* 0x3C */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_I | OT_B, AM_NOT_USED, "cmp ", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
107 /* 0x3D */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_I | OT_V, AM_NOT_USED, "cmp ", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
108 /* 0x3E */ { 0, IT_PREFIX, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
109 /* 0x3F */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "aas", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
110 /* 0x40 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "inc ", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
111 /* 0x41 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "inc ", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
112 /* 0x42 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "inc ", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
113 /* 0x43 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "inc ", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
114 /* 0x44 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "inc ", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
115 /* 0x45 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "inc ", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
116 /* 0x46 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "inc ", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
117 /* 0x47 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "inc ", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
118 /* 0x48 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "dec ", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
119 /* 0x49 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "dec ", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
120 /* 0x4A */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "dec ", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
121 /* 0x4B */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "dec ", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
122 /* 0x4C */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "dec ", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
123 /* 0x4D */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "dec ", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
124 /* 0x4E */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "dec ", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
125 /* 0x4F */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "dec ", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
126 /* 0x50 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "pus h", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
127 /* 0x51 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "pus h", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
128 /* 0x52 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "pus h", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
129 /* 0x53 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "pus h", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
130 /* 0x54 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "pus h", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
131 /* 0x55 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "pus h", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
132 /* 0x56 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "pus h", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
133 /* 0x57 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "pus h", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
134 /* 0x58 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "pop ", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
135 /* 0x59 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "pop ", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
136 /* 0x5A */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "pop ", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
137 /* 0x5B */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "pop ", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
138 /* 0x5C */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "pop ", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
139 /* 0x5D */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "pop ", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
140 /* 0x5E */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "pop ", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
141 /* 0x5F */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "pop ", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
142 /* 0x60 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "pushad", f alse, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
143 /* 0x61 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "popad", fa lse, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
144 /* 0x62 */ { 0, IT_GENERIC, AM_G | OT_V, AM_M | OT_A, AM_NOT_USED, "bound", fa lse, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
145 /* 0x63 */ { 0, IT_GENERIC, AM_E | OT_W, AM_G | OT_W, AM_NOT_USED, "arpl", fal se, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
146 /* 0x64 */ { 0, IT_PREFIX, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
147 /* 0x65 */ { 0, IT_PREFIX, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
148 /* 0x66 */ { 0, IT_PREFIX_OPERAND, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, f alse, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
149 /* 0x67 */ { 0, IT_PREFIX_ADDRESS, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, f alse, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
150 /* 0x68 */ { 0, IT_GENERIC, AM_I | OT_V, AM_NOT_USED, AM_NOT_USED, "push", fal se, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
151 /* 0x69 */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_I | OT_V, "imul", fal se, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
152 /* 0x6A */ { 0, IT_GENERIC, AM_I | OT_B, AM_NOT_USED, AM_NOT_USED, "push", fal se, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
153 /* 0x6B */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_I | OT_B, "imul", fa lse, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
154 /* 0x6C */ { 0, IT_GENERIC, AM_Y | OT_B, AM_REGISTER | OT_B, AM_NOT_USED, "ins b", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
155 /* 0x6D */ { 0, IT_GENERIC, AM_Y | OT_V, AM_REGISTER | OT_V, AM_NOT_USED, "ins d", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
156 /* 0x6E */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_X | OT_B, AM_NOT_USED, "out sb", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
157 /* 0x6F */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_X | OT_V, AM_NOT_USED, "out sb", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
158 /* 0x70 */ { 0, IT_JUMP, AM_J | OT_B, AM_NOT_USED, AM_NOT_USED, "jo", false, / * F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
159 /* 0x71 */ { 0, IT_JUMP, AM_J | OT_B, AM_NOT_USED, AM_NOT_USED, "jno", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
160 /* 0x72 */ { 0, IT_JUMP, AM_J | OT_B, AM_NOT_USED, AM_NOT_USED, "jc", false, / * F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
161 /* 0x73 */ { 0, IT_JUMP, AM_J | OT_B, AM_NOT_USED, AM_NOT_USED, "jnc", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
162 /* 0x74 */ { 0, IT_JUMP, AM_J | OT_B, AM_NOT_USED, AM_NOT_USED, "jz", false, / * F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
163 /* 0x75 */ { 0, IT_JUMP, AM_J | OT_B, AM_NOT_USED, AM_NOT_USED, "jnz", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
164 /* 0x76 */ { 0, IT_JUMP, AM_J | OT_B, AM_NOT_USED, AM_NOT_USED, "jbe", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
165 /* 0x77 */ { 0, IT_JUMP, AM_J | OT_B, AM_NOT_USED, AM_NOT_USED, "ja", false, / * F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
166 /* 0x78 */ { 0, IT_JUMP, AM_J | OT_B, AM_NOT_USED, AM_NOT_USED, "js", false, / * F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
167 /* 0x79 */ { 0, IT_JUMP, AM_J | OT_B, AM_NOT_USED, AM_NOT_USED, "jns", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
168 /* 0x7A */ { 0, IT_JUMP, AM_J | OT_B, AM_NOT_USED, AM_NOT_USED, "jpe", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
169 /* 0x7B */ { 0, IT_JUMP, AM_J | OT_B, AM_NOT_USED, AM_NOT_USED, "jpo", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
170 /* 0x7C */ { 0, IT_JUMP, AM_J | OT_B, AM_NOT_USED, AM_NOT_USED, "jl", false, / * F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
171 /* 0x7D */ { 0, IT_JUMP, AM_J | OT_B, AM_NOT_USED, AM_NOT_USED, "jge", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
172 /* 0x7E */ { 0, IT_JUMP, AM_J | OT_B, AM_NOT_USED, AM_NOT_USED, "jle", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
173 /* 0x7F */ { 0, IT_JUMP, AM_J | OT_B, AM_NOT_USED, AM_NOT_USED, "jg", false, / * F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
174 /* 0x80 */ { 2, IT_REFERENCE, AM_E | OT_B, AM_I | OT_B, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
175 /* 0x81 */ { 3, IT_REFERENCE, AM_E | OT_V, AM_I | OT_V, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
176 /* 0x82 */ { 4, IT_REFERENCE, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
177 /* 0x83 */ { 5, IT_REFERENCE, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
178 /* 0x84 */ { 0, IT_GENERIC, AM_E | OT_B, AM_G | OT_B, AM_NOT_USED, "test", fal se, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
179 /* 0x85 */ { 0, IT_GENERIC, AM_E | OT_V, AM_G | OT_V, AM_NOT_USED, "test", fal se, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
180 /* 0x86 */ { 0, IT_GENERIC, AM_E | OT_B, AM_G | OT_B, AM_NOT_USED, "xchg", fal se, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
181 /* 0x87 */ { 0, IT_GENERIC, AM_E | OT_V, AM_G | OT_V, AM_NOT_USED, "xchg", fal se, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
182 /* 0x88 */ { 0, IT_GENERIC, AM_E | OT_B, AM_G | OT_B, AM_NOT_USED, "mov", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
183 /* 0x89 */ { 0, IT_GENERIC, AM_E | OT_V, AM_G | OT_V, AM_NOT_USED, "mov", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
184 /* 0x8A */ { 0, IT_GENERIC, AM_G | OT_B, AM_E | OT_B, AM_NOT_USED, "mov", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
185 /* 0x8B */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "mov", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
186 /* 0x8C */ { 0, IT_GENERIC, AM_E | OT_W, AM_S | OT_W, AM_NOT_USED, "mov", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
187 /* 0x8D */ { 0, IT_GENERIC, AM_G | OT_V, AM_M | OT_ADDRESS_MODE_M, AM_NOT_USED , "lea", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
188 /* 0x8E */ { 0, IT_GENERIC, AM_S | OT_W, AM_E | OT_W, AM_NOT_USED, "mov", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
189 /* 0x8F */ { 0, IT_GENERIC, AM_E | OT_V, AM_NOT_USED, AM_NOT_USED, "pop", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
190 /* 0x90 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "nop", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
191 /* 0x91 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_REGISTER | OT_V, AM_NOT_USE D, "xchg", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
192 /* 0x92 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_REGISTER | OT_V, AM_NOT_USE D, "xchg", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
193 /* 0x93 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_REGISTER | OT_V, AM_NOT_USE D, "xchg", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
194 /* 0x94 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_REGISTER | OT_V, AM_NOT_USE D, "xchg", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
195 /* 0x95 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_REGISTER | OT_V, AM_NOT_USE D, "xchg", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
196 /* 0x96 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_REGISTER | OT_V, AM_NOT_USE D, "xchg", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
197 /* 0x97 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_REGISTER | OT_V, AM_NOT_USE D, "xchg", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
198 /* 0x98 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "cwde", fal se, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
199 /* 0x99 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "cdq", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
200 /* 0x9A */ { 0, IT_JUMP, AM_A | OT_P, AM_NOT_USED, AM_NOT_USED, "callf", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
201 /* 0x9B */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "wait", fal se, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
202 /* 0x9C */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "pushfd", f alse, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
203 /* 0x9D */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "popfd", fa lse, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
204 /* 0x9E */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "sahf", fal se, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
205 /* 0x9F */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "lahf", fal se, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
206 /* 0xA0 */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_O | OT_B, AM_NOT_USED, "mov ", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
207 /* 0xA1 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_O | OT_V, AM_NOT_USED, "mov ", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
208 /* 0xA2 */ { 0, IT_GENERIC, AM_O | OT_B, AM_REGISTER | OT_B, AM_NOT_USED, "mov ", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
209 /* 0xA3 */ { 0, IT_GENERIC, AM_O | OT_V, AM_REGISTER | OT_V, AM_NOT_USED, "mov ", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
210 /* 0xA4 */ { 0, IT_GENERIC, AM_X | OT_B, AM_Y | OT_B, AM_NOT_USED, "movsb", fa lse, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
211 /* 0xA5 */ { 0, IT_GENERIC, AM_X | OT_V, AM_Y | OT_V, AM_NOT_USED, "movsd", fa lse, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
212 /* 0xA6 */ { 0, IT_GENERIC, AM_X | OT_B, AM_Y | OT_B, AM_NOT_USED, "cmpsb", fa lse, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
213 /* 0xA7 */ { 0, IT_GENERIC, AM_X | OT_V, AM_Y | OT_V, AM_NOT_USED, "cmpsd", fa lse, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
214 /* 0xA8 */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_I | OT_B, AM_NOT_USED, "tes t", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
215 /* 0xA9 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_I | OT_V, AM_NOT_USED, "tes t", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
216 /* 0xAA */ { 0, IT_GENERIC, AM_Y | OT_B, AM_REGISTER | OT_B, AM_NOT_USED, "sto sb", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
217 /* 0xAB */ { 0, IT_GENERIC, AM_Y | OT_V, AM_REGISTER | OT_V, AM_NOT_USED, "sto sd", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
218 /* 0xAC */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_X| OT_B, AM_NOT_USED, "lods b", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
219 /* 0xAD */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_X| OT_V, AM_NOT_USED, "lods d", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
220 /* 0xAE */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_Y | OT_B, AM_NOT_USED, "sca sb", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
221 /* 0xAF */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_Y | OT_V, AM_NOT_USED, "sca sd", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
222 /* 0xB0 */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_I | OT_B, AM_NOT_USED, "mov ", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
223 /* 0xB1 */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_I | OT_B, AM_NOT_USED, "mov ", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
224 /* 0xB2 */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_I | OT_B, AM_NOT_USED, "mov ", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
225 /* 0xB3 */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_I | OT_B, AM_NOT_USED, "mov ", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
226 /* 0xB4 */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_I | OT_B, AM_NOT_USED, "mov ", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
227 /* 0xB5 */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_I | OT_B, AM_NOT_USED, "mov ", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
228 /* 0xB6 */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_I | OT_B, AM_NOT_USED, "mov ", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
229 /* 0xB7 */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_I | OT_B, AM_NOT_USED, "mov ", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
230 /* 0xB8 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_I | OT_V, AM_NOT_USED, "mov ", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
231 /* 0xB9 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_I | OT_V, AM_NOT_USED, "mov ", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
232 /* 0xBA */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_I | OT_V, AM_NOT_USED, "mov ", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
233 /* 0xBB */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_I | OT_V, AM_NOT_USED, "mov ", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
234 /* 0xBC */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_I | OT_V, AM_NOT_USED, "mov ", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
235 /* 0xBD */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_I | OT_V, AM_NOT_USED, "mov ", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
236 /* 0xBE */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_I | OT_V, AM_NOT_USED, "mov ", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
237 /* 0xBF */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_I | OT_V, AM_NOT_USED, "mov ", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
238 /* 0xC0 */ { 6, IT_REFERENCE, AM_E | OT_B, AM_I | OT_B, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
239 /* 0xC1 */ { 7, IT_REFERENCE, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
240 /* 0xC2 */ { 0, IT_RETURN, AM_I | OT_W, AM_NOT_USED, AM_NOT_USED, "ret", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
241 /* 0xC3 */ { 0, IT_RETURN, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "ret", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
242 /* 0xC4 */ { 0, IT_GENERIC, AM_G | OT_V, AM_M | OT_P, AM_NOT_USED, "les", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
243 /* 0xC5 */ { 0, IT_GENERIC, AM_G | OT_V, AM_M | OT_P, AM_NOT_USED, "lds", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
244 /* 0xC6 */ { 0, IT_GENERIC, AM_E | OT_B, AM_I | OT_B, AM_NOT_USED, "mov", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
245 /* 0xC7 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_V, AM_NOT_USED, "mov", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
246 /* 0xC8 */ { 0, IT_GENERIC, AM_I | OT_W, AM_I | OT_B, AM_NOT_USED, "enter", fa lse, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
247 /* 0xC9 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "leave", fa lse, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
248 /* 0xCA */ { 0, IT_RETURN, AM_I | OT_W, AM_NOT_USED, AM_NOT_USED, "retf", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
249 /* 0xCB */ { 0, IT_RETURN, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "retf", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
250 /* 0xCC */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "int3", fal se, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
251 /* 0xCD */ { 0, IT_GENERIC, AM_I | OT_B, AM_NOT_USED, AM_NOT_USED, "int", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
252 /* 0xCE */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "into", fal se, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
253 /* 0xCF */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "iret", fal se, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
254 /* 0xD0 */ { 8, IT_REFERENCE, AM_E | OT_B, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
255 /* 0xD1 */ { 9, IT_REFERENCE, AM_E | OT_V, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
256 /* 0xD2 */ { 10, IT_REFERENCE, AM_E | OT_B, AM_NOT_USED, AM_NOT_USED, 0, false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
257 /* 0xD3 */ { 11, IT_REFERENCE, AM_E | OT_V, AM_NOT_USED, AM_NOT_USED, 0, false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
258 /* 0xD4 */ { 0, IT_GENERIC, AM_I | OT_B, AM_NOT_USED, AM_NOT_USED, "aam", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
259 /* 0xD5 */ { 0, IT_GENERIC, AM_I | OT_B, AM_NOT_USED, AM_NOT_USED, "aad", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
260 /* 0xD6 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
261 /* 0xD7 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "xlat", fal se, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
262
263 // The following 8 lines would be references to the FPU tables, but we current ly
264 // do not support the FPU instructions in this disassembler.
265
266 /* 0xD8 */ { 0, IT_UNKNOWN, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, / * F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
267 /* 0xD9 */ { 0, IT_UNKNOWN, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, / * F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
268 /* 0xDA */ { 0, IT_UNKNOWN, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, / * F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
269 /* 0xDB */ { 0, IT_UNKNOWN, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, / * F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
270 /* 0xDC */ { 0, IT_UNKNOWN, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, / * F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
271 /* 0xDD */ { 0, IT_UNKNOWN, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, / * F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
272 /* 0xDE */ { 0, IT_UNKNOWN, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, / * F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
273 /* 0xDF */ { 0, IT_UNKNOWN, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, / * F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
274
275
276 /* 0xE0 */ { 0, IT_JUMP, AM_J | OT_B, AM_NOT_USED, AM_NOT_USED, "loopnz", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
277 /* 0xE1 */ { 0, IT_JUMP, AM_J | OT_B, AM_NOT_USED, AM_NOT_USED, "loopz", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
278 /* 0xE2 */ { 0, IT_JUMP, AM_J | OT_B, AM_NOT_USED, AM_NOT_USED, "loop", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
279 /* 0xE3 */ { 0, IT_JUMP, AM_J | OT_B, AM_NOT_USED, AM_NOT_USED, "jcxz", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
280 /* 0xE4 */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_I | OT_B, AM_NOT_USED, "in" , false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
281 /* 0xE5 */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_I | OT_B, AM_NOT_USED, "in" , false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
282 /* 0xE6 */ { 0, IT_GENERIC, AM_I | OT_B, AM_REGISTER | OT_B, AM_NOT_USED, "out ", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
283 /* 0xE7 */ { 0, IT_GENERIC, AM_I | OT_B, AM_REGISTER | OT_B, AM_NOT_USED, "out ", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
284 /* 0xE8 */ { 0, IT_JUMP, AM_J | OT_V, AM_NOT_USED, AM_NOT_USED, "call", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
285 /* 0xE9 */ { 0, IT_JUMP, AM_J | OT_V, AM_NOT_USED, AM_NOT_USED, "jmp", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
286 /* 0xEA */ { 0, IT_JUMP, AM_A | OT_P, AM_NOT_USED, AM_NOT_USED, "jmp", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
287 /* 0xEB */ { 0, IT_JUMP, AM_J | OT_B, AM_NOT_USED, AM_NOT_USED, "jmp", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
288 /* 0xEC */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_REGISTER | OT_W, AM_NOT_USE D, "in", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
289 /* 0xED */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_REGISTER | OT_W, AM_NOT_USE D, "in", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
290 /* 0xEE */ { 0, IT_GENERIC, AM_REGISTER | OT_W, AM_REGISTER | OT_B, AM_NOT_USE D, "out", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
291 /* 0xEF */ { 0, IT_GENERIC, AM_REGISTER | OT_W, AM_REGISTER | OT_V, AM_NOT_USE D, "out", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
292 /* 0xF0 */ { 0, IT_PREFIX, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "lock:", fal se, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
293 /* 0xF1 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
294 /* 0xF2 */ { 0, IT_PREFIX, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "repne:", fa lse, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
295 /* 0xF3 */ { 0, IT_PREFIX, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "rep:", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
296 /* 0xF4 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "hlt", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
297 /* 0xF5 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "cmc", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
298 /* 0xF6 */ { 12, IT_REFERENCE, AM_E | OT_B, AM_NOT_USED, AM_NOT_USED, 0, false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
299 /* 0xF7 */ { 13, IT_REFERENCE, AM_E | OT_V, AM_NOT_USED, AM_NOT_USED, 0, false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
300 /* 0xF8 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "clc", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
301 /* 0xF9 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "stc", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
302 /* 0xFA */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "cli", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
303 /* 0xFB */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "sti", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
304 /* 0xFC */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "cld", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
305 /* 0xFD */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "std", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
306 /* 0xFE */ { 14, IT_REFERENCE, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
307 /* 0xFF */ { 15, IT_REFERENCE, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }
308 };
309
310 const Opcode s_opcode_byte_after_0f[] = {
311 /* 0x0 */ { 16, IT_REFERENCE, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
312 /* 0x1 */ { 17, IT_REFERENCE, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
313 /* 0x2 */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_W, AM_NOT_USED, "lar", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
314 /* 0x3 */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_W, AM_NOT_USED, "lsl", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
315 /* 0x4 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
316 /* 0x5 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
317 /* 0x6 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "clts", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
318 /* 0x7 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
319 /* 0x8 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "invd", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
320 /* 0x9 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "wbinvd", fa lse, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
321 /* 0xA */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
322 /* 0xB */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "ud2", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
323 /* 0xC */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
324 /* 0xD */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
325 /* 0xE */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
326 /* 0xF */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
327 /* 0x10 */ { 0, IT_GENERIC, AM_V | OT_PS, AM_W | OT_PS, AM_NOT_USED, "movups", true,
328 /* F2h */ { 0, IT_GENERIC, AM_V | OT_SD, AM_W | OT_SD, AM_NOT_USED, "movsd" },
329 /* F3h */ { 0, IT_GENERIC, AM_V | OT_SS, AM_W | OT_SS, AM_NOT_USED, "movss" },
330 /* 66h */ { 0, IT_GENERIC, AM_V | OT_PD, AM_W | OT_PD, AM_NOT_USED, "movupd" } },
331 /* 0x11 */ { 0, IT_GENERIC, AM_W | OT_PS, AM_V | OT_PS, AM_NOT_USED, "movups", true,
332 /* F2h */ { 0, IT_GENERIC, AM_W | OT_SD, AM_V | OT_SD, AM_NOT_USED, "movsd" },
333 /* F3h */ { 0, IT_GENERIC, AM_W | OT_SS, AM_V | OT_SS, AM_NOT_USED, "movss" },
334 /* 66h */ { 0, IT_GENERIC, AM_W | OT_PD, AM_V | OT_PD, AM_NOT_USED, "movupd" } },
335 /* 0x12 */ { 0, IT_GENERIC, AM_W | OT_Q, AM_V | OT_Q, AM_NOT_USED, "movlps", t rue,
336 /* F2h */ { 0, IT_GENERIC, AM_V | OT_Q, AM_V | OT_Q, AM_NOT_USED, "movhlps" }, // only one of ...
337 /* F3h */ { 0, IT_GENERIC, AM_V | OT_Q, AM_V | OT_Q, AM_NOT_USED, "movhlps" }, // ...these two is correct, Intel doesn't specify which
338 /* 66h */ { 0, IT_GENERIC, AM_V | OT_Q, AM_W | OT_S, AM_NOT_USED, "movlpd" } },
339 /* 0x13 */ { 0, IT_GENERIC, AM_V | OT_Q, AM_W | OT_Q, AM_NOT_USED, "movlps", t rue,
340 /* F2h */ { 0 },
341 /* F3h */ { 0 },
342 /* 66h */ { 0, IT_GENERIC, AM_V | OT_Q, AM_W | OT_Q, AM_NOT_USED, "movlpd" } },
343 /* 0x14 */ { 0, IT_GENERIC, AM_V | OT_PS, AM_W | OT_Q, AM_NOT_USED, "unpcklps" , true,
344 /* F2h */ { 0 },
345 /* F3h */ { 0 },
346 /* 66h */ { 0, IT_GENERIC, AM_V | OT_PD, AM_W | OT_Q, AM_NOT_USED, "unpcklpd " } },
347 /* 0x15 */ { 0, IT_GENERIC, AM_V | OT_PS, AM_W | OT_Q, AM_NOT_USED, "unpckhps" , true,
348 /* F2h */ { 0 },
349 /* F3h */ { 0 },
350 /* 66h */ { 0, IT_GENERIC, AM_V | OT_PD, AM_W | OT_Q, AM_NOT_USED, "unpckhpd " } },
351 /* 0x16 */ { 0, IT_GENERIC, AM_V | OT_Q, AM_W | OT_Q, AM_NOT_USED, "movhps", t rue,
352 /* F2h */ { 0, IT_GENERIC, AM_V | OT_Q, AM_V | OT_Q, AM_NOT_USED, "movlhps" }, // only one of...
353 /* F3h */ { 0, IT_GENERIC, AM_V | OT_Q, AM_V | OT_Q, AM_NOT_USED, "movlhps" }, // ...these two is correct, Intel doesn't specify which
354 /* 66h */ { 0, IT_GENERIC, AM_V | OT_Q, AM_W | OT_Q, AM_NOT_USED, "movhpd" } },
355 /* 0x17 */ { 0, IT_GENERIC, AM_W | OT_Q, AM_V | OT_Q, AM_NOT_USED, "movhps", t rue,
356 /* F2h */ { 0 },
357 /* F3h */ { 0 },
358 /* 66h */ { 0, IT_GENERIC, AM_W | OT_Q, AM_V | OT_Q, AM_NOT_USED, "movhpd" } },
359 /* 0x18 */ { 18, IT_REFERENCE, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
360 /* 0x19 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
361 /* 0x1A */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
362 /* 0x1B */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
363 /* 0x1C */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
364 /* 0x1D */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
365 /* 0x1E */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
366 /* 0x1F */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
367 /* 0x20 */ { 0, IT_GENERIC, AM_R | OT_D, AM_C | OT_D, AM_NOT_USED, "mov", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
368 /* 0x21 */ { 0, IT_GENERIC, AM_R | OT_D, AM_D | OT_D, AM_NOT_USED, "mov", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
369 /* 0x22 */ { 0, IT_GENERIC, AM_C | OT_D, AM_R | OT_D, AM_NOT_USED, "mov", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
370 /* 0x23 */ { 0, IT_GENERIC, AM_D | OT_D, AM_R | OT_D, AM_NOT_USED, "mov", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
371 /* 0x24 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
372 /* 0x25 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
373 /* 0x26 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
374 /* 0x27 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
375 /* 0x28 */ { 0, IT_GENERIC, AM_V | OT_PS, AM_W | OT_PS, AM_NOT_USED, "movaps", true,
376 /* F2h */ { 0 },
377 /* F3h */ { 0 },
378 /* 66h */ { 0, IT_GENERIC, AM_V | OT_PD, AM_W | OT_PD, AM_NOT_USED, "movapd" } },
379 /* 0x29 */ { 0, IT_GENERIC, AM_W | OT_PS, AM_V | OT_PS, AM_NOT_USED, "movaps", true,
380 /* F2h */ { 0 },
381 /* F3h */ { 0 },
382 /* 66h */ { 0, IT_GENERIC, AM_W | OT_PD, AM_V | OT_PD, AM_NOT_USED, "movapd" } },
383 /* 0x2A */ { 0, IT_GENERIC, AM_V | OT_PS, AM_Q | OT_Q, AM_NOT_USED, "cvtpi2ps" , true,
384 /* F2h */ { 0, IT_GENERIC, AM_V | OT_SD, AM_E | OT_D, AM_NOT_USED, "cvtsi2sd " },
385 /* F3h */ { 0, IT_GENERIC, AM_V | OT_SS, AM_E | OT_D, AM_NOT_USED, "cvtsi2ss " },
386 /* 66h */ { 0, IT_GENERIC, AM_V | OT_PD, AM_Q | OT_DQ, AM_NOT_USED, "cvtpi2p d" } },
387 /* 0x2B */ { 0, IT_GENERIC, AM_W | OT_PS, AM_V | OT_PS, AM_NOT_USED, "movntps" , true,
388 /* F2h */ { 0 },
389 /* F3h */ { 0 },
390 /* 66h */ { 0, IT_GENERIC, AM_W | OT_PD, AM_V | OT_PD, AM_NOT_USED, "movntpd " } },
391 /* 0x2C */ { 0, IT_GENERIC, AM_Q | OT_Q, AM_W | OT_PS, AM_NOT_USED, "cvttps2pi ", true,
392 /* F2h */ { 0, IT_GENERIC, AM_G | OT_D, AM_W | OT_SD, AM_NOT_USED, "cvttsd2s i" },
393 /* F3h */ { 0, IT_GENERIC, AM_G | OT_D, AM_W | OT_SS, AM_NOT_USED, "cvttss2s i" },
394 /* 66h */ { 0, IT_GENERIC, AM_Q | OT_DQ, AM_W | OT_PD, AM_NOT_USED, "cvttpd2 pi" } },
395 /* 0x2D */ { 0, IT_GENERIC, AM_Q | OT_Q, AM_W | OT_PS, AM_NOT_USED, "cvtps2pi" , true,
396 /* F2h */ { 0, IT_GENERIC, AM_G | OT_D, AM_W | OT_SD, AM_NOT_USED, "cvtsd2si " },
397 /* F3h */ { 0, IT_GENERIC, AM_G | OT_D, AM_W | OT_SS, AM_NOT_USED, "cvtss2si " },
398 /* 66h */ { 0, IT_GENERIC, AM_Q | OT_DQ, AM_W | OT_PD, AM_NOT_USED, "cvtpd2p i" } },
399 /* 0x2E */ { 0, IT_GENERIC, AM_V | OT_SS, AM_W | OT_SS, AM_NOT_USED, "ucomiss" , true,
400 /* F2h */ { 0 },
401 /* F3h */ { 0 },
402 /* 66h */ { 0, IT_GENERIC, AM_V | OT_SD, AM_W | OT_SD, AM_NOT_USED, "ucomisd " } },
403 /* 0x2F */ { 0, IT_GENERIC, AM_V | OT_PS, AM_W | OT_SS, AM_NOT_USED, "comiss", true,
404 /* F2h */ { 0 },
405 /* F3h */ { 0 },
406 /* 66h */ { 0, IT_GENERIC, AM_V | OT_SD, AM_W | OT_SD, AM_NOT_USED, "comisd" } },
407 /* 0x30 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "wrmsr", fa lse, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
408 /* 0x31 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "rdtsc", fa lse, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
409 /* 0x32 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "rdmsr", fa lse, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
410 /* 0x33 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "rdpmc", fa lse, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
411 /* 0x34 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "sysenter", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
412 /* 0x35 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "sysexit", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
413 /* 0x36 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
414 /* 0x37 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
415 /* 0x38 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
416 /* 0x39 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
417 /* 0x3A */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
418 /* 0x3B */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
419 /* 0x3C */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "movnti", f alse, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
420 /* 0x3D */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
421 /* 0x3E */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
422 /* 0x3F */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
423 /* 0x40 */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "cmovo", fa lse, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
424 /* 0x41 */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "cmovno", f alse, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
425 /* 0x42 */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "cmovc", fa lse, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
426 /* 0x43 */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "cmovnc", f alse, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
427 /* 0x44 */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "cmovz", fa lse, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
428 /* 0x45 */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "cmovnz", f alse, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
429 /* 0x46 */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "cmovbe", f alse, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
430 /* 0x47 */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "cmova", fa lse, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
431 /* 0x48 */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "cmovs", fa lse, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
432 /* 0x49 */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "cmovns", f alse, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
433 /* 0x4A */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "cmovpe", f alse, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
434 /* 0x4B */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "cmovpo", f alse, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
435 /* 0x4C */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "cmovl", fa lse, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
436 /* 0x4D */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "cmovge", f alse, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
437 /* 0x4E */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "cmovle", f alse, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
438 /* 0x4F */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "cmovg", fa lse, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
439 /* 0x50 */ { 0, IT_GENERIC, AM_E | OT_D, AM_V | OT_PS, AM_NOT_USED, "movmskps" , true,
440 /* F2h */ { 0 },
441 /* F3h */ { 0 },
442 /* 66h */ { 0, IT_GENERIC, AM_E | OT_D, AM_V | OT_PD, AM_NOT_USED, "movmskpd " } },
443 /* 0x51 */ { 0, IT_GENERIC, AM_V | OT_PS, AM_W | OT_PS, AM_NOT_USED, "sqrtps", true,
444 /* F2h */ { 0, IT_GENERIC, AM_V | OT_SD, AM_W | OT_SD, AM_NOT_USED, "sqrtsd" },
445 /* F3h */ { 0, IT_GENERIC, AM_V | OT_SS, AM_W | OT_SS, AM_NOT_USED, "sqrtss" },
446 /* 66h */ { 0, IT_GENERIC, AM_V | OT_PD, AM_W | OT_PD, AM_NOT_USED, "sqrtpd" } },
447 /* 0x52 */ { 0, IT_GENERIC, AM_V | OT_PS, AM_W | OT_PS, AM_NOT_USED, "rsqrtps" , true,
448 /* F2h */ { 0 },
449 /* F3h */ { 0, IT_GENERIC, AM_V | OT_SS, AM_W | OT_SS, AM_NOT_USED, "rsqrtss " },
450 /* 66h */ { 0 } },
451 /* 0x53 */ { 0, IT_GENERIC, AM_V | OT_PS, AM_W | OT_PS, AM_NOT_USED, "rcpps", true,
452 /* F2h */ { 0 },
453 /* F3h */ { 0, IT_GENERIC, AM_V | OT_SS, AM_W | OT_SS, AM_NOT_USED, "rcpss" },
454 /* 66h */ { 0 } },
455 /* 0x54 */ { 0, IT_GENERIC, AM_V | OT_PS, AM_W | OT_PS, AM_NOT_USED, "andps", true,
456 /* F2h */ { 0 },
457 /* F3h */ { 0 },
458 /* 66h */ { 0, IT_GENERIC, AM_V | OT_PD, AM_W | OT_PD, AM_NOT_USED, "andpd" } },
459 /* 0x55 */ { 0, IT_GENERIC, AM_V | OT_PS, AM_W | OT_PS, AM_NOT_USED, "andnps", true,
460 /* F2h */ { 0 },
461 /* F3h */ { 0 },
462 /* 66h */ { 0, IT_GENERIC, AM_V | OT_PD, AM_W | OT_PD, AM_NOT_USED, "andnpd" } },
463 /* 0x56 */ { 0, IT_GENERIC, AM_V | OT_PS, AM_W | OT_PS, AM_NOT_USED, "orps", t rue,
464 /* F2h */ { 0 },
465 /* F3h */ { 0 },
466 /* 66h */ { 0, IT_GENERIC, AM_V | OT_PD, AM_W | OT_PD, AM_NOT_USED, "orpd" } },
467 /* 0x57 */ { 0, IT_GENERIC, AM_V | OT_PS, AM_W | OT_PS, AM_NOT_USED, "xorps", true,
468 /* F2h */ { 0 },
469 /* F3h */ { 0 },
470 /* 66h */ { 0, IT_GENERIC, AM_V | OT_PD, AM_W | OT_PD, AM_NOT_USED, "xorpd" } },
471 /* 0x58 */ { 0, IT_GENERIC, AM_V | OT_PS, AM_W | OT_PS, AM_NOT_USED, "addps", true,
472 /* F2h */ { 0, IT_GENERIC, AM_V | OT_SD, AM_W | OT_SD, AM_NOT_USED, "addsd" },
473 /* F3h */ { 0, IT_GENERIC, AM_V | OT_SS, AM_W | OT_SS, AM_NOT_USED, "addss" },
474 /* 66h */ { 0, IT_GENERIC, AM_V | OT_PD, AM_W | OT_PD, AM_NOT_USED, "addpd" } },
475 /* 0x59 */ { 0, IT_GENERIC, AM_V | OT_PS, AM_W | OT_PS, AM_NOT_USED, "mulps", true,
476 /* F2h */ { 0, IT_GENERIC, AM_V | OT_SD, AM_W | OT_SD, AM_NOT_USED, "mulsd" },
477 /* F3h */ { 0, IT_GENERIC, AM_V | OT_SS, AM_W | OT_SS, AM_NOT_USED, "mulss" },
478 /* 66h */ { 0, IT_GENERIC, AM_V | OT_PD, AM_W | OT_PD, AM_NOT_USED, "mulpd" } },
479 /* 0x5A */ { 0, IT_GENERIC, AM_V | OT_PD, AM_W | OT_PS, AM_NOT_USED, "cvtps2pd ", true,
480 /* F2h */ { 0, IT_GENERIC, AM_V | OT_SD, AM_W | OT_SD, AM_NOT_USED, "cvtsd2s s" },
481 /* F3h */ { 0, IT_GENERIC, AM_V | OT_SS, AM_W | OT_SS, AM_NOT_USED, "cvtss2s d" },
482 /* 66h */ { 0, IT_GENERIC, AM_V | OT_PS, AM_W | OT_PD, AM_NOT_USED, "cvtpd2p s" } },
483 /* 0x5B */ { 0, IT_GENERIC, AM_V | OT_PS, AM_W | OT_DQ, AM_NOT_USED, "cvtdq2ps ", true,
484 /* F2h */ { 0 },
485 /* F3h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_PS, AM_NOT_USED, "cvttps2 dq" },
486 /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_PS, AM_NOT_USED, "cvtps2d q" } },
487 /* 0x5C */ { 0, IT_GENERIC, AM_V | OT_PS, AM_W | OT_PS, AM_NOT_USED, "subps", true,
488 /* F2h */ { 0, IT_GENERIC, AM_V | OT_SD, AM_W | OT_SD, AM_NOT_USED, "subsd" },
489 /* F3h */ { 0, IT_GENERIC, AM_V | OT_SS, AM_W | OT_SS, AM_NOT_USED, "subss" },
490 /* 66h */ { 0, IT_GENERIC, AM_V | OT_PD, AM_W | OT_PD, AM_NOT_USED, "subpd" } },
491 /* 0x5D */ { 0, IT_GENERIC, AM_V | OT_PS, AM_W | OT_PS, AM_NOT_USED, "minps", true,
492 /* F2h */ { 0, IT_GENERIC, AM_V | OT_SD, AM_W | OT_SD, AM_NOT_USED, "minsd" },
493 /* F3h */ { 0, IT_GENERIC, AM_V | OT_SS, AM_W | OT_SS, AM_NOT_USED, "minss" },
494 /* 66h */ { 0, IT_GENERIC, AM_V | OT_PD, AM_W | OT_PD, AM_NOT_USED, "minpd" } },
495 /* 0x5E */ { 0, IT_GENERIC, AM_V | OT_PS, AM_W | OT_PS, AM_NOT_USED, "divps", true,
496 /* F2h */ { 0, IT_GENERIC, AM_V | OT_SD, AM_W | OT_SD, AM_NOT_USED, "divsd" },
497 /* F3h */ { 0, IT_GENERIC, AM_V | OT_SS, AM_W | OT_SS, AM_NOT_USED, "divss" },
498 /* 66h */ { 0, IT_GENERIC, AM_V | OT_PD, AM_W | OT_PD, AM_NOT_USED, "divpd" } },
499 /* 0x5F */ { 0, IT_GENERIC, AM_V | OT_PS, AM_W | OT_PS, AM_NOT_USED, "maxps", true,
500 /* F2h */ { 0, IT_GENERIC, AM_V | OT_SD, AM_W | OT_SD, AM_NOT_USED, "maxsd" },
501 /* F3h */ { 0, IT_GENERIC, AM_V | OT_SS, AM_W | OT_SS, AM_NOT_USED, "maxss" },
502 /* 66h */ { 0, IT_GENERIC, AM_V | OT_PD, AM_W | OT_PD, AM_NOT_USED, "maxpd" } },
503 /* 0x60 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_D, AM_NOT_USED, "punpcklbw" , true,
504 /* F2h */ { 0 },
505 /* F3h */ { 0 },
506 /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "punpckl bw" } },
507 /* 0x61 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_D, AM_NOT_USED, "punpcklwd" , true,
508 /* F2h */ { 0 },
509 /* F3h */ { 0 },
510 /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "punpckl wd" } },
511 /* 0x62 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_D, AM_NOT_USED, "punpckldq" , true,
512 /* F2h */ { 0 },
513 /* F3h */ { 0 },
514 /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "punpckl dq" } },
515 /* 0x63 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_D, AM_NOT_USED, "packsswb", true,
516 /* F2h */ { 0 },
517 /* F3h */ { 0 },
518 /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "packssw b" } },
519 /* 0x64 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_D, AM_NOT_USED, "pcmpgtb", true,
520 /* F2h */ { 0 },
521 /* F3h */ { 0 },
522 /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "pcmpgtb " } },
523 /* 0x65 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_D, AM_NOT_USED, "pcmpgtw", true,
524 /* F2h */ { 0 },
525 /* F3h */ { 0 },
526 /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "pcmpgtw " } },
527 /* 0x66 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_D, AM_NOT_USED, "pcmpgtd", true,
528 /* F2h */ { 0 },
529 /* F3h */ { 0 },
530 /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "pcmpgtd " } },
531 /* 0x67 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_D, AM_NOT_USED, "packuswb", true,
532 /* F2h */ { 0 },
533 /* F3h */ { 0 },
534 /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "packusw b" } },
535 /* 0x68 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_D, AM_NOT_USED, "punpckhbw" , true,
536 /* F2h */ { 0 },
537 /* F3h */ { 0 },
538 /* 66h */ { 0, IT_GENERIC, AM_P | OT_DQ, AM_Q | OT_DQ, AM_NOT_USED, "punpckh bw" } },
539 /* 0x69 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_D, AM_NOT_USED, "punpckhwd" , true,
540 /* F2h */ { 0 },
541 /* F3h */ { 0 },
542 /* 66h */ { 0, IT_GENERIC, AM_P | OT_DQ, AM_Q | OT_DQ, AM_NOT_USED, "punpckh wd" } },
543 /* 0x6A */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_D, AM_NOT_USED, "punpckhdq" , true,
544 /* F2h */ { 0 },
545 /* F3h */ { 0 },
546 /* 66h */ { 0, IT_GENERIC, AM_P | OT_DQ, AM_Q | OT_DQ, AM_NOT_USED, "punpckh dq" } },
547 /* 0x6B */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_D, AM_NOT_USED, "packssdw", true,
548 /* F2h */ { 0 },
549 /* F3h */ { 0 },
550 /* 66h */ { 0, IT_GENERIC, AM_P | OT_DQ, AM_Q | OT_DQ, AM_NOT_USED, "packssd w" } },
551 /* 0x6C */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "not used w ithout prefix", true,
552 /* F2h */ { 0 },
553 /* F3h */ { 0 },
554 /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "punpckl qdq" } },
555 /* 0x6D */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "not used w ithout prefix", true,
556 /* F2h */ { 0 },
557 /* F3h */ { 0 },
558 /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "punpckl qdq" } },
559 /* 0x6E */ { 0, IT_GENERIC, AM_P | OT_D, AM_E | OT_D, AM_NOT_USED, "movd", tru e,
560 /* F2h */ { 0 },
561 /* F3h */ { 0 },
562 /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_E | OT_D, AM_NOT_USED, "movd" } },
563 /* 0x6F */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_D, AM_NOT_USED, "movq", tru e,
564 /* F2h */ { 0 },
565 /* F3h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "movdqu" },
566 /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "movdqa" } },
567 /* 0x70 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_I | OT_B, "pshuf", t rue,
568 /* F2h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_I | OT_B, "pshuflw " },
569 /* F3h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_I | OT_B, "pshufhw " },
570 /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_I | OT_B, "pshufd" } },
571 /* 0x71 */ { 19, IT_REFERENCE, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
572 /* 0x72 */ { 20, IT_REFERENCE, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
573 /* 0x73 */ { 21, IT_REFERENCE, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
574 /* 0x74 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "pcmpeqb", true,
575 /* F2h */ { 0 },
576 /* F3h */ { 0 },
577 /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "pcmpeqb " } },
578 /* 0x75 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "pcmpeqw", true,
579 /* F2h */ { 0 },
580 /* F3h */ { 0 },
581 /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "pcmpeqw " } },
582 /* 0x76 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "pcmpeqd", true,
583 /* F2h */ { 0 },
584 /* F3h */ { 0 },
585 /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "pcmpeqd " } },
586 /* 0x77 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "emms", fal se, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
587
588 // The following six opcodes are escapes into the MMX stuff, which this disass embler does not support.
589 /* 0x78 */ { 0, IT_UNKNOWN, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, / * F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
590 /* 0x79 */ { 0, IT_UNKNOWN, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, / * F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
591 /* 0x7A */ { 0, IT_UNKNOWN, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, / * F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
592 /* 0x7B */ { 0, IT_UNKNOWN, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, / * F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
593 /* 0x7C */ { 0, IT_UNKNOWN, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, / * F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
594 /* 0x7D */ { 0, IT_UNKNOWN, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, / * F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
595
596 /* 0x7E */ { 0, IT_GENERIC, AM_E | OT_D, AM_P | OT_D, AM_NOT_USED, "movd", tru e,
597 /* F2h */ { 0 },
598 /* F3h */ { 0, IT_GENERIC, AM_V | OT_Q, AM_W | OT_Q, AM_NOT_USED, "movq" },
599 /* 66h */ { 0, IT_GENERIC, AM_E | OT_D, AM_V | OT_DQ, AM_NOT_USED, "movd" } },
600 /* 0x7F */ { 0, IT_GENERIC, AM_Q | OT_Q, AM_P | OT_Q, AM_NOT_USED, "movq", tru e,
601 /* F2h */ { 0 },
602 /* F3h */ { 0, IT_GENERIC, AM_W | OT_DQ, AM_V | OT_DQ, AM_NOT_USED, "movdqu" },
603 /* 66h */ { 0, IT_GENERIC, AM_W | OT_DQ, AM_V | OT_DQ, AM_NOT_USED, "movdqa" } },
604 /* 0x80 */ { 0, IT_JUMP, AM_J | OT_V, AM_NOT_USED, AM_NOT_USED, "jo", false, / * F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
605 /* 0x81 */ { 0, IT_JUMP, AM_J | OT_V, AM_NOT_USED, AM_NOT_USED, "jno", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
606 /* 0x82 */ { 0, IT_JUMP, AM_J | OT_V, AM_NOT_USED, AM_NOT_USED, "jc", false, / * F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
607 /* 0x83 */ { 0, IT_JUMP, AM_J | OT_V, AM_NOT_USED, AM_NOT_USED, "jnc", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
608 /* 0x84 */ { 0, IT_JUMP, AM_J | OT_V, AM_NOT_USED, AM_NOT_USED, "jz", false, / * F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
609 /* 0x85 */ { 0, IT_JUMP, AM_J | OT_V, AM_NOT_USED, AM_NOT_USED, "jnz", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
610 /* 0x86 */ { 0, IT_JUMP, AM_J | OT_V, AM_NOT_USED, AM_NOT_USED, "jbe", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
611 /* 0x87 */ { 0, IT_JUMP, AM_J | OT_V, AM_NOT_USED, AM_NOT_USED, "ja", false, / * F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
612 /* 0x88 */ { 0, IT_JUMP, AM_J | OT_V, AM_NOT_USED, AM_NOT_USED, "js", false, / * F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
613 /* 0x89 */ { 0, IT_JUMP, AM_J | OT_V, AM_NOT_USED, AM_NOT_USED, "jns", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
614 /* 0x8A */ { 0, IT_JUMP, AM_J | OT_V, AM_NOT_USED, AM_NOT_USED, "jpe", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
615 /* 0x8B */ { 0, IT_JUMP, AM_J | OT_V, AM_NOT_USED, AM_NOT_USED, "jpo", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
616 /* 0x8C */ { 0, IT_JUMP, AM_J | OT_V, AM_NOT_USED, AM_NOT_USED, "jl", false, / * F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
617 /* 0x8D */ { 0, IT_JUMP, AM_J | OT_V, AM_NOT_USED, AM_NOT_USED, "jge", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
618 /* 0x8E */ { 0, IT_JUMP, AM_J | OT_V, AM_NOT_USED, AM_NOT_USED, "jle", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
619 /* 0x8F */ { 0, IT_JUMP, AM_J | OT_V, AM_NOT_USED, AM_NOT_USED, "jg", false, / * F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
620 /* 0x90 */ { 0, IT_GENERIC, AM_E | OT_B, AM_NOT_USED, AM_NOT_USED, "seto", fal se, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
621 /* 0x91 */ { 0, IT_GENERIC, AM_E | OT_B, AM_NOT_USED, AM_NOT_USED, "setno", fa lse, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
622 /* 0x92 */ { 0, IT_GENERIC, AM_E | OT_B, AM_NOT_USED, AM_NOT_USED, "setc", fal se, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
623 /* 0x93 */ { 0, IT_GENERIC, AM_E | OT_B, AM_NOT_USED, AM_NOT_USED, "setnc", fa lse, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
624 /* 0x94 */ { 0, IT_GENERIC, AM_E | OT_B, AM_NOT_USED, AM_NOT_USED, "setz", fal se, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
625 /* 0x95 */ { 0, IT_GENERIC, AM_E | OT_B, AM_NOT_USED, AM_NOT_USED, "setnz", fa lse, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
626 /* 0x96 */ { 0, IT_GENERIC, AM_E | OT_B, AM_NOT_USED, AM_NOT_USED, "setbe", fa lse, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
627 /* 0x97 */ { 0, IT_GENERIC, AM_E | OT_B, AM_NOT_USED, AM_NOT_USED, "seta", fal se, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
628 /* 0x98 */ { 0, IT_GENERIC, AM_E | OT_B, AM_NOT_USED, AM_NOT_USED, "sets", fal se, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
629 /* 0x99 */ { 0, IT_GENERIC, AM_E | OT_B, AM_NOT_USED, AM_NOT_USED, "setns", fa lse, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
630 /* 0x9A */ { 0, IT_GENERIC, AM_E | OT_B, AM_NOT_USED, AM_NOT_USED, "setpe", fa lse, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
631 /* 0x9B */ { 0, IT_GENERIC, AM_E | OT_B, AM_NOT_USED, AM_NOT_USED, "setpo", fa lse, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
632 /* 0x9C */ { 0, IT_GENERIC, AM_E | OT_B, AM_NOT_USED, AM_NOT_USED, "setl", fal se, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
633 /* 0x9D */ { 0, IT_GENERIC, AM_E | OT_B, AM_NOT_USED, AM_NOT_USED, "setge", fa lse, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
634 /* 0x9E */ { 0, IT_GENERIC, AM_E | OT_B, AM_NOT_USED, AM_NOT_USED, "setle", fa lse, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
635 /* 0x9F */ { 0, IT_GENERIC, AM_E | OT_B, AM_NOT_USED, AM_NOT_USED, "setg", fal se, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
636 /* 0xA0 */ { 0, IT_GENERIC, AM_REGISTER | OT_W, AM_NOT_USED, AM_NOT_USED, "pus h", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
637 /* 0xA1 */ { 0, IT_GENERIC, AM_REGISTER | OT_W, AM_NOT_USED, AM_NOT_USED, "pop ", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
638 /* 0xA2 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "cpuid", fa lse, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
639 /* 0xA3 */ { 0, IT_GENERIC, AM_E | OT_V, AM_G | OT_V, AM_NOT_USED, "bt", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
640 /* 0xA4 */ { 0, IT_GENERIC, AM_E | OT_V, AM_G | OT_V, AM_I | OT_B, "shld", fal se, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
641 /* 0xA5 */ { 0, IT_GENERIC, AM_E | OT_V, AM_G | OT_V, AM_I | OT_B | AM_REGISTE R, "shld", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
642 /* 0xA6 */ { 0, IT_UNKNOWN, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, / * F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
643 /* 0xA7 */ { 0, IT_UNKNOWN, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, / * F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
644 /* 0xA8 */ { 0, IT_GENERIC, AM_REGISTER | OT_W, AM_NOT_USED, AM_NOT_USED, "pus h", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
645 /* 0xA9 */ { 0, IT_GENERIC, AM_REGISTER | OT_W, AM_NOT_USED, AM_NOT_USED, "pop ", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
646 /* 0xAA */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "rsm", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
647 /* 0xAB */ { 0, IT_GENERIC, AM_E | OT_V, AM_G | OT_V, AM_NOT_USED, "bts", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
648 /* 0xAC */ { 0, IT_GENERIC, AM_E | OT_V, AM_G | OT_V, AM_I | OT_B, "shrd", fal se, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
649 /* 0xAD */ { 0, IT_GENERIC, AM_E | OT_V, AM_G | OT_V, AM_I | OT_B | AM_REGISTE R, "shrd", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
650 /* 0xAE */ { 22, IT_REFERENCE, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
651 /* 0xAF */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "imul", fal se, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
652 /* 0xB0 */ { 0, IT_GENERIC, AM_E | OT_B, AM_G | OT_B, AM_NOT_USED, "cmpxchg", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
653 /* 0xB1 */ { 0, IT_GENERIC, AM_E | OT_V, AM_G | OT_V, AM_NOT_USED, "cmpxchg", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
654 /* 0xB2 */ { 0, IT_GENERIC, AM_M | OT_P, AM_NOT_USED, AM_NOT_USED, "lss", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
655 /* 0xB3 */ { 0, IT_GENERIC, AM_E | OT_V, AM_G | OT_V, AM_NOT_USED, "btr", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
656 /* 0xB4 */ { 0, IT_GENERIC, AM_M | OT_P, AM_NOT_USED, AM_NOT_USED, "lfs", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
657 /* 0xB5 */ { 0, IT_GENERIC, AM_M | OT_P, AM_NOT_USED, AM_NOT_USED, "lgs", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
658 /* 0xB6 */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_B, AM_NOT_USED, "movzx", fa lse, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
659 /* 0xB7 */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_W, AM_NOT_USED, "movzx", fa lse, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
660 /* 0xB8 */ { 0, IT_UNKNOWN, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, / * F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
661 /* 0xB9 */ { 0, IT_UNKNOWN, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "ud1", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
662 /* 0xBA */ { 23, IT_REFERENCE, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
663 /* 0xBB */ { 0, IT_GENERIC, AM_E | OT_V, AM_G | OT_V, AM_NOT_USED, "btc", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
664 /* 0xBC */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "bsf", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
665 /* 0xBD */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "bsr", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
666 /* 0xBE */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_B, AM_NOT_USED, "movsx", fa lse, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
667 /* 0xBF */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_W, AM_NOT_USED, "movsx", fa lse, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
668 /* 0xC0 */ { 0, IT_GENERIC, AM_E | OT_B, AM_G | OT_B, AM_NOT_USED, "xadd", fal se, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
669 /* 0xC1 */ { 0, IT_GENERIC, AM_E | OT_V, AM_NOT_USED, AM_NOT_USED, "xadd", fal se, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
670 /* 0xC2 */ { 0, IT_GENERIC, AM_V | OT_PS, AM_W | OT_PS, AM_I | OT_B, "cmpps", true,
671 /* F2h */ { 0, IT_GENERIC, AM_V | OT_SD, AM_W | OT_SD, AM_I | OT_B, "cmpsd" },
672 /* F3h */ { 0, IT_GENERIC, AM_V | OT_SS, AM_W | OT_SS, AM_I | OT_B, "cmpss" },
673 /* 66h */ { 0, IT_GENERIC, AM_V | OT_PD, AM_W | OT_PD, AM_I | OT_B, "cmppd" } },
674 /* 0xC3 */ { 0, IT_GENERIC, AM_E | OT_D, AM_G | OT_D, AM_NOT_USED, "movnti", f alse, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
675 /* 0xC4 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_E | OT_D, AM_I | OT_B, "pinsrw", t rue,
676 /* F2h */ { 0 },
677 /* F3h */ { 0 },
678 /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_E | OT_D, AM_I | OT_B, "pinsrw" } },
679 /* 0xC5 */ { 0, IT_GENERIC, AM_G | OT_D, AM_P | OT_Q, AM_I | OT_B, "pextrw", t rue,
680 /* F2h */ { 0 },
681 /* F3h */ { 0 },
682 /* 66h */ { 0, IT_GENERIC, AM_G | OT_D, AM_V | OT_DQ, AM_I | OT_B, "pextrw" } },
683 /* 0xC6 */ { 0, IT_GENERIC, AM_V | OT_PS, AM_W | OT_PS, AM_I | OT_B, "shufps", true,
684 /* F2h */ { 0 },
685 /* F3h */ { 0 },
686 /* 66h */ { 0, IT_GENERIC, AM_V | OT_PD, AM_W | OT_PD, AM_I | OT_B, "shufpd" } },
687 /* 0xC7 */ { 24, IT_REFERENCE, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
688 /* 0xC8 */ { 0, IT_GENERIC, AM_REGISTER | OT_D, AM_NOT_USED, AM_NOT_USED, "bsw ap", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
689 /* 0xC9 */ { 0, IT_GENERIC, AM_REGISTER | OT_D, AM_NOT_USED, AM_NOT_USED, "bsw ap", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
690 /* 0xCA */ { 0, IT_GENERIC, AM_REGISTER | OT_D, AM_NOT_USED, AM_NOT_USED, "bsw ap", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
691 /* 0xCB */ { 0, IT_GENERIC, AM_REGISTER | OT_D, AM_NOT_USED, AM_NOT_USED, "bsw ap", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
692 /* 0xCC */ { 0, IT_GENERIC, AM_REGISTER | OT_D, AM_NOT_USED, AM_NOT_USED, "bsw ap", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
693 /* 0xCD */ { 0, IT_GENERIC, AM_REGISTER | OT_D, AM_NOT_USED, AM_NOT_USED, "bsw ap", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
694 /* 0xCE */ { 0, IT_GENERIC, AM_REGISTER | OT_D, AM_NOT_USED, AM_NOT_USED, "bsw ap", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
695 /* 0xCF */ { 0, IT_GENERIC, AM_REGISTER | OT_D, AM_NOT_USED, AM_NOT_USED, "bsw ap", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
696 /* 0xD0 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
697 /* 0xD1 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "psrlw", tr ue,
698 /* F2h */ { 0 },
699 /* F3h */ { 0 },
700 /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "psrlw" } },
701 /* 0xD2 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "psrld", tr ue,
702 /* F2h */ { 0 },
703 /* F3h */ { 0 },
704 /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "psrld" } },
705 /* 0xD3 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "psrlq", tr ue,
706 /* F2h */ { 0 },
707 /* F3h */ { 0 },
708 /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "psrlq" } },
709 /* 0xD4 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "paddq", tr ue,
710 /* F2h */ { 0 },
711 /* F3h */ { 0 },
712 /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "paddq" } },
713 /* 0xD5 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "pmullw", t rue,
714 /* F2h */ { 0 },
715 /* F3h */ { 0 },
716 /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "pmullw" } },
717 /* 0xD6 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "unused wit hout prefix", true,
718 /* F2h */ { 0, IT_GENERIC, AM_P | OT_Q, AM_W | OT_Q, AM_NOT_USED, "movdq2q" },
719 /* F3h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_Q | OT_Q, AM_NOT_USED, "movq2dq" },
720 /* 66h */ { 0, IT_GENERIC, AM_W | OT_Q, AM_V | OT_Q, AM_NOT_USED, "movq" } } ,
721 /* 0xD7 */ { 0, IT_GENERIC, AM_G | OT_D, AM_P | OT_Q, AM_NOT_USED, "pmovmskb", true,
722 /* F2h */ { 0 },
723 /* F3h */ { 0 },
724 /* 66h */ { 0, IT_GENERIC, AM_G | OT_D, AM_V | OT_DQ, AM_NOT_USED, "pmovmskb " } },
725 /* 0xD8 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "psubusb", true,
726 /* F2h */ { 0 },
727 /* F3h */ { 0 },
728 /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "psubusb " } },
729 /* 0xD9 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "psubusw", true,
730 /* F2h */ { 0 },
731 /* F3h */ { 0 },
732 /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "psubusw " } },
733 /* 0xDA */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "pminub", t rue,
734 /* F2h */ { 0 },
735 /* F3h */ { 0 },
736 /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "pminub" } },
737 /* 0xDB */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "pand", tru e,
738 /* F2h */ { 0 },
739 /* F3h */ { 0 },
740 /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "pand" } },
741 /* 0xDC */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "paddusb", true,
742 /* F2h */ { 0 },
743 /* F3h */ { 0 },
744 /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "paddusb " } },
745 /* 0xDD */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "paddusw", true,
746 /* F2h */ { 0 },
747 /* F3h */ { 0 },
748 /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "paddusw " } },
749 /* 0xDE */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "pmaxub", t rue,
750 /* F2h */ { 0 },
751 /* F3h */ { 0 },
752 /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "pmaxub" } },
753 /* 0xDF */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "pandn", tr ue,
754 /* F2h */ { 0 },
755 /* F3h */ { 0 },
756 /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "pandn" } },
757 /* 0xE0 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "pavgb", tr ue,
758 /* F2h */ { 0 },
759 /* F3h */ { 0 },
760 /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "pavgb" } },
761 /* 0xE1 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "psraw", tr ue,
762 /* F2h */ { 0 },
763 /* F3h */ { 0 },
764 /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "psrqw" } },
765 /* 0xE2 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "psrad", tr ue,
766 /* F2h */ { 0 },
767 /* F3h */ { 0 },
768 /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "psrad" } },
769 /* 0xE3 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "pavgw", tr ue,
770 /* F2h */ { 0 },
771 /* F3h */ { 0 },
772 /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "pavgw" } },
773 /* 0xE4 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "pmulhuw", true,
774 /* F2h */ { 0 },
775 /* F3h */ { 0 },
776 /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "pmulhuw " } },
777 /* 0xE5 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "pmulhuw", true,
778 /* F2h */ { 0 },
779 /* F3h */ { 0 },
780 /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "pmulhw" } },
781 /* 0xE6 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "not used w ithout prefix", true,
782 /* F2h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_PD, AM_NOT_USED, "cvtpd2d q" },
783 /* F3h */ { 0, IT_GENERIC, AM_V | OT_PD, AM_W | OT_DQ, AM_NOT_USED, "cvtdq2p d" },
784 /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_PD, AM_NOT_USED, "cvttpd2 dq" } },
785 /* 0xE7 */ { 0, IT_GENERIC, AM_W | OT_Q, AM_V | OT_Q, AM_NOT_USED, "movntq", t rue,
786 /* F2h */ { 0 },
787 /* F3h */ { 0 },
788 /* 66h */ { 0, IT_GENERIC, AM_W | OT_DQ, AM_V | OT_DQ, AM_NOT_USED, "movntdq " } },
789 /* 0xE8 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "psubsb", t rue,
790 /* F2h */ { 0 },
791 /* F3h */ { 0 },
792 /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "psubsb" } },
793 /* 0xE9 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "psubsw", t rue,
794 /* F2h */ { 0 },
795 /* F3h */ { 0 },
796 /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "psubsw" } },
797 /* 0xEA */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "pminsw", t rue,
798 /* F2h */ { 0 },
799 /* F3h */ { 0 },
800 /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "pminsw" } },
801 /* 0xEB */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "por", true ,
802 /* F2h */ { 0 },
803 /* F3h */ { 0 },
804 /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "por" } },
805 /* 0xEC */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "paddsb", t rue,
806 /* F2h */ { 0 },
807 /* F3h */ { 0 },
808 /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "paddsb" } },
809 /* 0xED */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "paddsw", t rue,
810 /* F2h */ { 0 },
811 /* F3h */ { 0 },
812 /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "paddsw" } },
813 /* 0xEE */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "pmaxsw", t rue,
814 /* F2h */ { 0 },
815 /* F3h */ { 0 },
816 /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "pmaxsw" } },
817 /* 0xEF */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "pxor", tru e,
818 /* F2h */ { 0 },
819 /* F3h */ { 0 },
820 /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "pxor" } },
821 /* 0xF0 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
822 /* 0xF1 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "psllw", tr ue,
823 /* F2h */ { 0 },
824 /* F3h */ { 0 },
825 /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "psllw" } },
826 /* 0xF2 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "pslld", tr ue,
827 /* F2h */ { 0 },
828 /* F3h */ { 0 },
829 /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "pslld" } },
830 /* 0xF3 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "psllq", tr ue,
831 /* F2h */ { 0 },
832 /* F3h */ { 0 },
833 /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "psllq" } },
834 /* 0xF4 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "pmuludq", true,
835 /* F2h */ { 0 },
836 /* F3h */ { 0 },
837 /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "pmuludq " } },
838 /* 0xF5 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "pmaddwd", true,
839 /* F2h */ { 0 },
840 /* F3h */ { 0 },
841 /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "pmaddwd " } },
842 /* 0xF6 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "psadbw", t rue,
843 /* F2h */ { 0 },
844 /* F3h */ { 0 },
845 /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "psadbw" } },
846 /* 0xF7 */ { 0, IT_GENERIC, AM_P | OT_PI, AM_Q | OT_PI, AM_NOT_USED, "maskmovq ", true,
847 /* F2h */ { 0 },
848 /* F3h */ { 0 },
849 /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "maskmov dqu" } },
850 /* 0xF8 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "psubb", tr ue,
851 /* F2h */ { 0 },
852 /* F3h */ { 0 },
853 /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "psubb" } },
854 /* 0xF9 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "psubw", tr ue,
855 /* F2h */ { 0 },
856 /* F3h */ { 0 },
857 /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "psubw" } },
858 /* 0xFA */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "psubd", tr ue,
859 /* F2h */ { 0 },
860 /* F3h */ { 0 },
861 /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "psubd" } },
862 /* 0xFB */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "psubq", tr ue,
863 /* F2h */ { 0 },
864 /* F3h */ { 0 },
865 /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "psubq" } },
866 /* 0xFC */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "paddb", tr ue,
867 /* F2h */ { 0 },
868 /* F3h */ { 0 },
869 /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "paddb" } },
870 /* 0xFD */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "paddw", tr ue,
871 /* F2h */ { 0 },
872 /* F3h */ { 0 },
873 /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "paddw" } },
874 /* 0xFE */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "paddd", tr ue,
875 /* F2h */ { 0 },
876 /* F3h */ { 0 },
877 /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "paddd" } },
878 /* 0xFF */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }
879 };
880
881 const Opcode s_opcode_byte_after_0f00[] = {
882 /* 0x0 */ { 0, IT_GENERIC, AM_E | OT_W, AM_NOT_USED, AM_NOT_USED, "sldt", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
883 /* 0x1 */ { 0, IT_GENERIC, AM_E | OT_W, AM_NOT_USED, AM_NOT_USED, "str", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
884 /* 0x2 */ { 0, IT_GENERIC, AM_E | OT_W, AM_NOT_USED, AM_NOT_USED, "lldt", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
885 /* 0x3 */ { 0, IT_GENERIC, AM_E | OT_W, AM_NOT_USED, AM_NOT_USED, "ltr", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
886 /* 0x4 */ { 0, IT_GENERIC, AM_E | OT_W, AM_NOT_USED, AM_NOT_USED, "verr", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
887 /* 0x5 */ { 0, IT_GENERIC, AM_E | OT_W, AM_NOT_USED, AM_NOT_USED, "verw", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
888 /* 0x6 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
889 /* 0x7 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }
890 };
891
892 const Opcode s_opcode_byte_after_0f01[] = {
893 /* 0x0 */ { 0, IT_GENERIC, AM_M | OT_S, AM_NOT_USED, AM_NOT_USED, "sgdt", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
894 /* 0x1 */ { 0, IT_GENERIC, AM_M | OT_S, AM_NOT_USED, AM_NOT_USED, "sidt", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
895 /* 0x2 */ { 0, IT_GENERIC, AM_M | OT_S, AM_NOT_USED, AM_NOT_USED, "lgdt", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
896 /* 0x3 */ { 0, IT_GENERIC, AM_M | OT_S, AM_NOT_USED, AM_NOT_USED, "lidt", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
897 /* 0x4 */ { 0, IT_GENERIC, AM_E | OT_W, AM_NOT_USED, AM_NOT_USED, "smsw", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
898 /* 0x5 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
899 /* 0x6 */ { 0, IT_GENERIC, AM_E | OT_W, AM_NOT_USED, AM_NOT_USED, "lmsw", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
900 /* 0x7 */ { 0, IT_GENERIC, AM_M | OT_B, AM_NOT_USED, AM_NOT_USED, "invlpg", fa lse, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }
901 };
902
903 const Opcode s_opcode_byte_after_0f18[] = {
904 /* 0x0 */ { 0, IT_GENERIC, AM_M | OT_ADDRESS_MODE_M, AM_NOT_USED, AM_NOT_USED, "prefetch", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
905 /* 0x1 */ { 0, IT_GENERIC, AM_REGISTER | OT_D, AM_NOT_USED, AM_NOT_USED, "pref etch", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
906 /* 0x2 */ { 0, IT_GENERIC, AM_REGISTER | OT_D, AM_NOT_USED, AM_NOT_USED, "pref etch", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
907 /* 0x3 */ { 0, IT_GENERIC, AM_REGISTER | OT_D, AM_NOT_USED, AM_NOT_USED, "pref etch", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
908 /* 0x4 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
909 /* 0x5 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
910 /* 0x6 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
911 /* 0x7 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }
912 };
913
914 const Opcode s_opcode_byte_after_0f71[] = {
915 /* 0x0 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
916 /* 0x1 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
917 /* 0x2 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_I | OT_B, AM_NOT_USED, "psrlw", tru e,
918 /* F2h */ { 0 },
919 /* F3h */ { 0 },
920 /* 66h */ { 0, IT_GENERIC, AM_P | OT_DQ, AM_I | OT_B, AM_NOT_USED, "psrlw" } },
921 /* 0x3 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
922 /* 0x4 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_I | OT_B, AM_NOT_USED, "psraw", tru e,
923 /* F2h */ { 0 },
924 /* F3h */ { 0 },
925 /* 66h */ { 0, IT_GENERIC, AM_P | OT_DQ, AM_I | OT_B, AM_NOT_USED, "psraw" } },
926 /* 0x5 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
927 /* 0x6 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_I | OT_B, AM_NOT_USED, "psllw", tru e,
928 /* F2h */ { 0 },
929 /* F3h */ { 0 },
930 /* 66h */ { 0, IT_GENERIC, AM_P | OT_DQ, AM_I | OT_B, AM_NOT_USED, "psllw" } },
931 /* 0x7 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }
932 };
933
934 const Opcode s_opcode_byte_after_0f72[] = {
935 /* 0x0 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
936 /* 0x1 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
937 /* 0x2 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_I | OT_B, AM_NOT_USED, "psrld", tru e,
938 /* F2h */ { 0 },
939 /* F3h */ { 0 },
940 /* 66h */ { 0, IT_GENERIC, AM_W | OT_DQ, AM_I | OT_B, AM_NOT_USED, "psrld" } },
941 /* 0x3 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
942 /* 0x4 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_I | OT_B, AM_NOT_USED, "psrad", tru e,
943 /* F2h */ { 0 },
944 /* F3h */ { 0 },
945 /* 66h */ { 0, IT_GENERIC, AM_W | OT_DQ, AM_I | OT_B, AM_NOT_USED, "psrad" } },
946 /* 0x5 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
947 /* 0x6 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_I | OT_B, AM_NOT_USED, "pslld", tru e,
948 /* F2h */ { 0 },
949 /* F3h */ { 0 },
950 /* 66h */ { 0, IT_GENERIC, AM_W | OT_DQ, AM_I | OT_B, AM_NOT_USED, "pslld" } },
951 /* 0x7 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }
952 };
953
954 const Opcode s_opcode_byte_after_0f73[] = {
955 /* 0x0 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
956 /* 0x1 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
957 /* 0x2 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_I | OT_B, AM_NOT_USED, "psrlq", tru e,
958 /* F2h */ { 0 },
959 /* F3h */ { 0 },
960 /* 66h */ { 0, IT_GENERIC, AM_W | OT_DQ, AM_I | OT_B, AM_NOT_USED, "psrlq" } },
961 /* 0x3 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
962 /* 0x4 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
963 /* 0x5 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
964 /* 0x6 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_I | OT_B, AM_NOT_USED, "psllq", tru e,
965 /* F2h */ { 0 },
966 /* F3h */ { 0 },
967 /* 66h */ { 0, IT_GENERIC, AM_W | OT_DQ, AM_I | OT_B, AM_NOT_USED, "psllq" } },
968 /* 0x7 */ { 0, IT_GENERIC, AM_W | OT_DQ, AM_I | OT_B, AM_NOT_USED, "pslldq", t rue,
969 /* F2h */ { 0 },
970 /* F3h */ { 0 },
971 /* 66h */ { 0, IT_GENERIC, AM_W | OT_DQ, AM_I | OT_B, AM_NOT_USED, "pslldq" } },
972 };
973
974 const Opcode s_opcode_byte_after_0fae[] = {
975 /* 0x0 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "fxsave", fa lse, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
976 /* 0x1 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "fxrstor", f alse, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
977 /* 0x2 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "ldmxcsr", f alse, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
978 /* 0x3 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "stmxcsr", f alse, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
979 /* 0x4 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
980 /* 0x5 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "lfence", fa lse, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
981 /* 0x6 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "mfence", fa lse, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
982 /* 0x7 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "clflush/sfe nce", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
983 };
984
985 const Opcode s_opcode_byte_after_0fba[] = {
986 /* 0x0 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
987 /* 0x1 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
988 /* 0x2 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
989 /* 0x3 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
990 /* 0x4 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "bt", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
991 /* 0x5 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "bts", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
992 /* 0x6 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "btr", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
993 /* 0x7 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "btc", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }
994 };
995
996 const Opcode s_opcode_byte_after_0fc7[] = {
997 /* 0x0 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
998 /* 0x1 */ { 0, IT_GENERIC, AM_M | OT_Q, AM_NOT_USED, AM_NOT_USED, "cmpxch8b", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }
999 };
1000
1001 const Opcode s_opcode_byte_after_80[] = {
1002 /* 0x0 */ { 0, IT_GENERIC, AM_E | OT_B, AM_I | OT_B, AM_NOT_USED, "add", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1003 /* 0x1 */ { 0, IT_GENERIC, AM_E | OT_B, AM_I | OT_B, AM_NOT_USED, "or", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1004 /* 0x2 */ { 0, IT_GENERIC, AM_E | OT_B, AM_I | OT_B, AM_NOT_USED, "adc", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1005 /* 0x3 */ { 0, IT_GENERIC, AM_E | OT_B, AM_I | OT_B, AM_NOT_USED, "sbb", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1006 /* 0x4 */ { 0, IT_GENERIC, AM_E | OT_B, AM_I | OT_B, AM_NOT_USED, "and", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1007 /* 0x5 */ { 0, IT_GENERIC, AM_E | OT_B, AM_I | OT_B, AM_NOT_USED, "sub", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1008 /* 0x6 */ { 0, IT_GENERIC, AM_E | OT_B, AM_I | OT_B, AM_NOT_USED, "xor", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1009 /* 0x7 */ { 0, IT_GENERIC, AM_E | OT_B, AM_I | OT_B, AM_NOT_USED, "cmp", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }
1010 };
1011
1012 const Opcode s_opcode_byte_after_81[] = {
1013 /* 0x0 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_V, AM_NOT_USED, "add", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1014 /* 0x1 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_V, AM_NOT_USED, "or", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1015 /* 0x2 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_V, AM_NOT_USED, "adc", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1016 /* 0x3 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_V, AM_NOT_USED, "sbb", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1017 /* 0x4 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_V, AM_NOT_USED, "and", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1018 /* 0x5 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_V, AM_NOT_USED, "sub", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1019 /* 0x6 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_V, AM_NOT_USED, "xor", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1020 /* 0x7 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_V, AM_NOT_USED, "cmp", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }
1021 };
1022
1023 const Opcode s_opcode_byte_after_82[] = {
1024 /* 0x0 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "add", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1025 /* 0x1 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "or", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1026 /* 0x2 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "adc", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1027 /* 0x3 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "sbb", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1028 /* 0x4 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "and", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1029 /* 0x5 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "sub", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1030 /* 0x6 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "xor", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1031 /* 0x7 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "cmp", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }
1032 };
1033
1034 const Opcode s_opcode_byte_after_83[] = {
1035 /* 0x0 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "add", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1036 /* 0x1 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "or", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1037 /* 0x2 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "adc", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1038 /* 0x3 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "sbb", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1039 /* 0x4 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "and", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1040 /* 0x5 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "sub", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1041 /* 0x6 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "xor", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1042 /* 0x7 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "cmp", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }
1043 };
1044
1045 const Opcode s_opcode_byte_after_c0[] = {
1046 /* 0x0 */ { 0, IT_GENERIC, AM_E | OT_B, AM_I | OT_B, AM_NOT_USED, "rol", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1047 /* 0x1 */ { 0, IT_GENERIC, AM_E | OT_B, AM_I | OT_B, AM_NOT_USED, "ror", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1048 /* 0x2 */ { 0, IT_GENERIC, AM_E | OT_B, AM_I | OT_B, AM_NOT_USED, "rcl", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1049 /* 0x3 */ { 0, IT_GENERIC, AM_E | OT_B, AM_I | OT_B, AM_NOT_USED, "rcr", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1050 /* 0x4 */ { 0, IT_GENERIC, AM_E | OT_B, AM_I | OT_B, AM_NOT_USED, "shl", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1051 /* 0x5 */ { 0, IT_GENERIC, AM_E | OT_B, AM_I | OT_B, AM_NOT_USED, "shr", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1052 /* 0x6 */ { 0, IT_GENERIC, AM_E | OT_B, AM_I | OT_B, AM_NOT_USED, "sal", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1053 /* 0x7 */ { 0, IT_GENERIC, AM_E | OT_B, AM_I | OT_B, AM_NOT_USED, "sar", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }
1054 };
1055
1056 const Opcode s_opcode_byte_after_c1[] = {
1057 /* 0x0 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "rol", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1058 /* 0x1 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "ror", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1059 /* 0x2 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "rcl", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1060 /* 0x3 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "rcr", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1061 /* 0x4 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "shl", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1062 /* 0x5 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "shr", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1063 /* 0x6 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "sal", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1064 /* 0x7 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "sar", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }
1065 };
1066
1067 const Opcode s_opcode_byte_after_d0[] = {
1068 /* 0x0 */ { 0, IT_GENERIC, AM_E | OT_B, AM_IMPLICIT, AM_NOT_USED, "rol", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1069 /* 0x1 */ { 0, IT_GENERIC, AM_E | OT_B, AM_IMPLICIT, AM_NOT_USED, "ror", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1070 /* 0x2 */ { 0, IT_GENERIC, AM_E | OT_B, AM_IMPLICIT, AM_NOT_USED, "rcl", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1071 /* 0x3 */ { 0, IT_GENERIC, AM_E | OT_B, AM_IMPLICIT, AM_NOT_USED, "rcr", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1072 /* 0x4 */ { 0, IT_GENERIC, AM_E | OT_B, AM_IMPLICIT, AM_NOT_USED, "shl", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1073 /* 0x5 */ { 0, IT_GENERIC, AM_E | OT_B, AM_IMPLICIT, AM_NOT_USED, "shr", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1074 /* 0x6 */ { 0, IT_GENERIC, AM_E | OT_B, AM_IMPLICIT, AM_NOT_USED, "sal", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1075 /* 0x7 */ { 0, IT_GENERIC, AM_E | OT_B, AM_IMPLICIT, AM_NOT_USED, "sar", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }
1076 };
1077
1078 const Opcode s_opcode_byte_after_d1[] = {
1079 /* 0x0 */ { 0, IT_GENERIC, AM_E | OT_V, AM_IMPLICIT, AM_NOT_USED, "rol", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1080 /* 0x1 */ { 0, IT_GENERIC, AM_E | OT_V, AM_IMPLICIT, AM_NOT_USED, "ror", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1081 /* 0x2 */ { 0, IT_GENERIC, AM_E | OT_V, AM_IMPLICIT, AM_NOT_USED, "rcl", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1082 /* 0x3 */ { 0, IT_GENERIC, AM_E | OT_V, AM_IMPLICIT, AM_NOT_USED, "rcr", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1083 /* 0x4 */ { 0, IT_GENERIC, AM_E | OT_V, AM_IMPLICIT, AM_NOT_USED, "shl", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1084 /* 0x5 */ { 0, IT_GENERIC, AM_E | OT_V, AM_IMPLICIT, AM_NOT_USED, "shr", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1085 /* 0x6 */ { 0, IT_GENERIC, AM_E | OT_V, AM_IMPLICIT, AM_NOT_USED, "sal", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1086 /* 0x7 */ { 0, IT_GENERIC, AM_E | OT_V, AM_IMPLICIT, AM_NOT_USED, "sar", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }
1087 };
1088
1089 const Opcode s_opcode_byte_after_d2[] = {
1090 /* 0x0 */ { 0, IT_GENERIC, AM_E | OT_B, AM_REGISTER | OT_B, AM_NOT_USED, "rol" , false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1091 /* 0x1 */ { 0, IT_GENERIC, AM_E | OT_B, AM_REGISTER | OT_B, AM_NOT_USED, "ror" , false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1092 /* 0x2 */ { 0, IT_GENERIC, AM_E | OT_B, AM_REGISTER | OT_B, AM_NOT_USED, "rcl" , false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1093 /* 0x3 */ { 0, IT_GENERIC, AM_E | OT_B, AM_REGISTER | OT_B, AM_NOT_USED, "rcr" , false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1094 /* 0x4 */ { 0, IT_GENERIC, AM_E | OT_B, AM_REGISTER | OT_B, AM_NOT_USED, "shl" , false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1095 /* 0x5 */ { 0, IT_GENERIC, AM_E | OT_B, AM_REGISTER | OT_B, AM_NOT_USED, "shr" , false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1096 /* 0x6 */ { 0, IT_GENERIC, AM_E | OT_B, AM_REGISTER | OT_B, AM_NOT_USED, "sal" , false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1097 /* 0x7 */ { 0, IT_GENERIC, AM_E | OT_B, AM_REGISTER | OT_B, AM_NOT_USED, "sar" , false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }
1098 };
1099
1100 const Opcode s_opcode_byte_after_d3[] = {
1101 /* 0x0 */ { 0, IT_GENERIC, AM_E | OT_V, AM_REGISTER | OT_B, AM_NOT_USED, "rol" , false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1102 /* 0x1 */ { 0, IT_GENERIC, AM_E | OT_V, AM_REGISTER | OT_B, AM_NOT_USED, "ror" , false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1103 /* 0x2 */ { 0, IT_GENERIC, AM_E | OT_V, AM_REGISTER | OT_B, AM_NOT_USED, "rcl" , false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1104 /* 0x3 */ { 0, IT_GENERIC, AM_E | OT_V, AM_REGISTER | OT_B, AM_NOT_USED, "rcr" , false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1105 /* 0x4 */ { 0, IT_GENERIC, AM_E | OT_V, AM_REGISTER | OT_B, AM_NOT_USED, "shl" , false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1106 /* 0x5 */ { 0, IT_GENERIC, AM_E | OT_V, AM_REGISTER | OT_B, AM_NOT_USED, "shr" , false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1107 /* 0x6 */ { 0, IT_GENERIC, AM_E | OT_V, AM_REGISTER | OT_B, AM_NOT_USED, "sal" , false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1108 /* 0x7 */ { 0, IT_GENERIC, AM_E | OT_V, AM_REGISTER | OT_B, AM_NOT_USED, "sar" , false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }
1109 };
1110
1111 const Opcode s_opcode_byte_after_f6[] = {
1112 /* 0x0 */ { 0, IT_GENERIC, AM_E | OT_B, AM_I | OT_B, AM_NOT_USED, "test", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1113 /* 0x1 */ { 0, IT_GENERIC, AM_E | OT_B, AM_I | OT_B, AM_NOT_USED, "test", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1114 /* 0x2 */ { 0, IT_GENERIC, AM_E | OT_B, AM_NOT_USED, AM_NOT_USED, "not", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1115 /* 0x3 */ { 0, IT_GENERIC, AM_E | OT_B, AM_NOT_USED, AM_NOT_USED, "neg", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1116 /* 0x4 */ { 0, IT_GENERIC, OT_B | AM_REGISTER, AM_E | OT_B, AM_NOT_USED, "mul" , false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1117 /* 0x5 */ { 0, IT_GENERIC, OT_B | AM_REGISTER, AM_E | OT_B, AM_NOT_USED, "imul ", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1118 /* 0x6 */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_E | OT_B, AM_NOT_USED, "div" , false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1119 /* 0x7 */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_E | OT_B, AM_NOT_USED, "idiv ", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }
1120 };
1121
1122 const Opcode s_opcode_byte_after_f7[] = {
1123 /* 0x0 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_V, AM_NOT_USED, "test", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1124 /* 0x1 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_V, AM_NOT_USED, "test", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1125 /* 0x2 */ { 0, IT_GENERIC, AM_E | OT_V, AM_NOT_USED, AM_NOT_USED, "not", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1126 /* 0x3 */ { 0, IT_GENERIC, AM_E | OT_V, AM_NOT_USED, AM_NOT_USED, "neg", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1127 /* 0x4 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_E | OT_V, AM_NOT_USED, "mul" , false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1128 /* 0x5 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_E | OT_V, AM_NOT_USED, "imul ", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1129 /* 0x6 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_E | OT_V, AM_NOT_USED, "div" , false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1130 /* 0x7 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_E | OT_V, AM_NOT_USED, "idiv ", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }
1131 };
1132
1133 const Opcode s_opcode_byte_after_fe[] = {
1134 /* 0x0 */ { 0, IT_GENERIC, AM_E | OT_B, AM_NOT_USED, AM_NOT_USED, "inc", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1135 /* 0x1 */ { 0, IT_GENERIC, AM_E | OT_B, AM_NOT_USED, AM_NOT_USED, "dec", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }
1136 };
1137
1138 const Opcode s_opcode_byte_after_ff[] = {
1139 /* 0x0 */ { 0, IT_GENERIC, AM_E | OT_V, AM_NOT_USED, AM_NOT_USED, "inc", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1140 /* 0x1 */ { 0, IT_GENERIC, AM_E | OT_V, AM_NOT_USED, AM_NOT_USED, "dec", false , /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1141 /* 0x2 */ { 0, IT_JUMP, AM_E | OT_V, AM_NOT_USED, AM_NOT_USED, "call", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1142 /* 0x3 */ { 0, IT_JUMP, AM_E | OT_P, AM_NOT_USED, AM_NOT_USED, "call", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1143 /* 0x4 */ { 0, IT_JUMP, AM_E | OT_V, AM_NOT_USED, AM_NOT_USED, "jmp", false, / * F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1144 /* 0x5 */ { 0, IT_JUMP, AM_E | OT_P, AM_NOT_USED, AM_NOT_USED, "jmp", false, / * F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1145 /* 0x6 */ { 0, IT_GENERIC, AM_E | OT_V, AM_NOT_USED, AM_NOT_USED, "push", fals e, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1146 /* 0x7 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }
1147 };
1148
1149 /*
1150 * A table of all the other tables, containing some extra information, e.g.
1151 * how to mask out the byte we're looking at.
1152 */
1153 const OpcodeTable MiniDisassembler::s_ia32_opcode_map_[]={
1154 // One-byte opcodes and jumps to larger
1155 /* 0 */ {s_first_opcode_byte, 0, 0xff, 0, 0xff},
1156 // Two-byte opcodes (second byte)
1157 /* 1 */ {s_opcode_byte_after_0f, 0, 0xff, 0, 0xff},
1158 // Start of tables for opcodes using ModR/M bits as extension
1159 /* 2 */ {s_opcode_byte_after_80, 3, 0x07, 0, 0x07},
1160 /* 3 */ {s_opcode_byte_after_81, 3, 0x07, 0, 0x07},
1161 /* 4 */ {s_opcode_byte_after_82, 3, 0x07, 0, 0x07},
1162 /* 5 */ {s_opcode_byte_after_83, 3, 0x07, 0, 0x07},
1163 /* 6 */ {s_opcode_byte_after_c0, 3, 0x07, 0, 0x07},
1164 /* 7 */ {s_opcode_byte_after_c1, 3, 0x07, 0, 0x07},
1165 /* 8 */ {s_opcode_byte_after_d0, 3, 0x07, 0, 0x07},
1166 /* 9 */ {s_opcode_byte_after_d1, 3, 0x07, 0, 0x07},
1167 /* 10 */ {s_opcode_byte_after_d2, 3, 0x07, 0, 0x07},
1168 /* 11 */ {s_opcode_byte_after_d3, 3, 0x07, 0, 0x07},
1169 /* 12 */ {s_opcode_byte_after_f6, 3, 0x07, 0, 0x07},
1170 /* 13 */ {s_opcode_byte_after_f7, 3, 0x07, 0, 0x07},
1171 /* 14 */ {s_opcode_byte_after_fe, 3, 0x07, 0, 0x01},
1172 /* 15 */ {s_opcode_byte_after_ff, 3, 0x07, 0, 0x07},
1173 /* 16 */ {s_opcode_byte_after_0f00, 3, 0x07, 0, 0x07},
1174 /* 17 */ {s_opcode_byte_after_0f01, 3, 0x07, 0, 0x07},
1175 /* 18 */ {s_opcode_byte_after_0f18, 3, 0x07, 0, 0x07},
1176 /* 19 */ {s_opcode_byte_after_0f71, 3, 0x07, 0, 0x07},
1177 /* 20 */ {s_opcode_byte_after_0f72, 3, 0x07, 0, 0x07},
1178 /* 21 */ {s_opcode_byte_after_0f73, 3, 0x07, 0, 0x07},
1179 /* 22 */ {s_opcode_byte_after_0fae, 3, 0x07, 0, 0x07},
1180 /* 23 */ {s_opcode_byte_after_0fba, 3, 0x07, 0, 0x07},
1181 /* 24 */ {s_opcode_byte_after_0fc7, 3, 0x07, 0, 0x01}
1182 };
1183
1184 }; // namespace sidestep
OLDNEW
« no previous file with comments | « tools/traceline/traceline/sidestep/ia32_modrm_map.cc ('k') | tools/traceline/traceline/sidestep/mini_disassembler.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698