00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #include "libdasm.h"
00012
00013
00014
00015 const char *rep_table[] = {
00016 "lock ", "repne ", "rep "
00017 };
00018
00019
00020 const char *reg_table[11][8] = {
00021 { "eax", "ecx", "edx", "ebx", "esp", "ebp", "esi", "edi" },
00022 { "ax", "cx", "dx", "bx", "sp", "bp", "si", "di" },
00023 { "al", "cl", "dl", "bl", "ah", "ch", "dh", "bh" },
00024 { "es", "cs", "ss", "ds", "fs", "gs", "??", "??" },
00025 { "dr0", "dr1", "dr2", "dr3", "dr4", "dr5", "dr6", "dr7" },
00026 { "cr0", "cr1", "cr2", "cr3", "cr4", "cr5", "cr6", "cr7" },
00027 { "tr0", "tr1", "tr2", "tr3", "tr4", "tr5", "tr6", "tr7" },
00028 { "xmm0", "xmm1", "xmm2", "xmm3", "xmm4", "xmm5", "xmm6", "xmm7" },
00029 { "mm0", "mm1", "mm2", "mm3", "mm4", "mm5", "mm6", "mm7" },
00030 { "st(0)","st(1)","st(2)","st(3)","st(4)","st(5)","st(6)","st(7)"},
00031 { "??", "(bnt)","??", "(bt)", "??", "??", "??", "??" },
00032 };
00033
00034
00035 #define REG_GEN_DWORD 0
00036 #define REG_GEN_WORD 1
00037 #define REG_GEN_BYTE 2
00038 #define REG_SEGMENT 3
00039 #define REG_DEBUG 4
00040 #define REG_CONTROL 5
00041 #define REG_TEST 6
00042 #define REG_XMM 7
00043 #define REG_MMX 8
00044 #define REG_FPU 9
00045 #define REG_BRANCH 10 // Not registers strictly speaking..
00046
00047
00048 INST inst_table1[256] = {
00049 { INSTRUCTION_TYPE_ADD, "add", AM_E|OT_b|P_w, AM_G|OT_b|P_r, FLAGS_NONE, 1 },
00050 { INSTRUCTION_TYPE_ADD, "add", AM_E|OT_v|P_w, AM_G|OT_v|P_r, FLAGS_NONE, 1 },
00051 { INSTRUCTION_TYPE_ADD, "add", AM_G|OT_b|P_w, AM_E|OT_b|P_r, FLAGS_NONE, 1 },
00052 { INSTRUCTION_TYPE_ADD, "add", AM_G|OT_v|P_w, AM_E|OT_v|P_r, FLAGS_NONE, 1 },
00053 { INSTRUCTION_TYPE_ADD, "add", AM_REG|REG_EAX|OT_b|P_w, AM_I|OT_b|P_r, FLAGS_NONE, 0 },
00054 { INSTRUCTION_TYPE_ADD, "add", AM_REG|REG_EAX|OT_v|P_w, AM_I|OT_v|P_r, FLAGS_NONE, 0 },
00055 { INSTRUCTION_TYPE_PUSH, "push", AM_REG|REG_ES|F_r|P_r, FLAGS_NONE, FLAGS_NONE, 0 },
00056 { INSTRUCTION_TYPE_POP, "pop", AM_REG|REG_ES|F_r|P_w, FLAGS_NONE, FLAGS_NONE, 0 },
00057 { INSTRUCTION_TYPE_OR, "or", AM_E|OT_b|P_w, AM_G|OT_b|P_r, FLAGS_NONE, 1 },
00058 { INSTRUCTION_TYPE_OR, "or", AM_E|OT_v|P_w, AM_G|OT_v|P_r, FLAGS_NONE, 1 },
00059 { INSTRUCTION_TYPE_OR, "or", AM_G|OT_b|P_w, AM_E|OT_b|P_r, FLAGS_NONE, 1 },
00060 { INSTRUCTION_TYPE_OR, "or", AM_G|OT_v|P_w, AM_E|OT_v|P_r, FLAGS_NONE, 1 },
00061 { INSTRUCTION_TYPE_OR, "or", AM_REG|REG_EAX|OT_b|P_w, AM_I|OT_b|P_r, FLAGS_NONE, 0 },
00062 { INSTRUCTION_TYPE_OR, "or", AM_REG|REG_EAX|OT_v|P_w, AM_I|OT_v|P_r, FLAGS_NONE, 0 },
00063 { INSTRUCTION_TYPE_PUSH, "push", AM_REG|REG_CS|F_r|P_r, FLAGS_NONE, FLAGS_NONE, 0 },
00064
00065 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00066 { INSTRUCTION_TYPE_ADC, "adc", AM_E|OT_b|P_w, AM_G|OT_b|P_r, FLAGS_NONE, 1 },
00067 { INSTRUCTION_TYPE_ADC, "adc", AM_E|OT_v|P_w, AM_G|OT_v|P_r, FLAGS_NONE, 1 },
00068 { INSTRUCTION_TYPE_ADC, "adc", AM_G|OT_b|P_w, AM_E|OT_b|P_r, FLAGS_NONE, 1 },
00069 { INSTRUCTION_TYPE_ADC, "adc", AM_G|OT_v|P_w, AM_E|OT_v|P_r, FLAGS_NONE, 1 },
00070 { INSTRUCTION_TYPE_ADC, "adc", AM_REG|REG_EAX|OT_b|P_w, AM_I|OT_b|P_r, FLAGS_NONE, 0 },
00071 { INSTRUCTION_TYPE_ADC, "adc", AM_REG|REG_EAX|OT_v|P_w, AM_I|OT_v|P_r, FLAGS_NONE, 0 },
00072 { INSTRUCTION_TYPE_PUSH, "push", AM_REG|REG_SS|F_r|P_r, FLAGS_NONE, FLAGS_NONE, 0 },
00073 { INSTRUCTION_TYPE_POP, "pop", AM_REG|REG_SS|F_r|P_w, FLAGS_NONE, FLAGS_NONE, 0 },
00074 { INSTRUCTION_TYPE_SBB, "sbb", AM_E|OT_b|P_w, AM_G|OT_b|P_r, FLAGS_NONE, 1 },
00075 { INSTRUCTION_TYPE_SBB, "sbb", AM_E|OT_v|P_w, AM_G|OT_v|P_r, FLAGS_NONE, 1 },
00076 { INSTRUCTION_TYPE_SBB, "sbb", AM_G|OT_b|P_w, AM_E|OT_b|P_r, FLAGS_NONE, 1 },
00077 { INSTRUCTION_TYPE_SBB, "sbb", AM_G|OT_v|P_w, AM_E|OT_v|P_r, FLAGS_NONE, 1 },
00078 { INSTRUCTION_TYPE_SBB, "sbb", AM_REG|REG_EAX|OT_b|P_w, AM_I|OT_b|P_r, FLAGS_NONE, 0 },
00079 { INSTRUCTION_TYPE_SBB, "sbb", AM_REG|REG_EAX|OT_v|P_w, AM_I|OT_v|P_r, FLAGS_NONE, 0 },
00080 { INSTRUCTION_TYPE_PUSH, "push", AM_REG|REG_DS|F_r|P_r, FLAGS_NONE, FLAGS_NONE, 0 },
00081 { INSTRUCTION_TYPE_POP, "pop", AM_REG|REG_DS|F_r|P_w, FLAGS_NONE, FLAGS_NONE, 0 },
00082 { INSTRUCTION_TYPE_AND, "and", AM_E|OT_b|P_w, AM_G|OT_b|P_r, FLAGS_NONE, 1 },
00083 { INSTRUCTION_TYPE_AND, "and", AM_E|OT_v|P_w, AM_G|OT_v|P_r, FLAGS_NONE, 1 },
00084 { INSTRUCTION_TYPE_AND, "and", AM_G|OT_b|P_w, AM_E|OT_b|P_r, FLAGS_NONE, 1 },
00085 { INSTRUCTION_TYPE_AND, "and", AM_G|OT_v|P_w, AM_E|OT_v|P_r, FLAGS_NONE, 1 },
00086 { INSTRUCTION_TYPE_AND, "and", AM_REG|REG_EAX|OT_b|P_w, AM_I|OT_b|P_r, FLAGS_NONE, 0 },
00087 { INSTRUCTION_TYPE_AND, "and", AM_REG|REG_EAX|OT_v|P_w, AM_I|OT_v|P_r, FLAGS_NONE, 0 },
00088
00089 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00090 { INSTRUCTION_TYPE_DCL, "daa", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00091 { INSTRUCTION_TYPE_SUB, "sub", AM_E|OT_b|P_w, AM_G|OT_b|P_r, FLAGS_NONE, 1 },
00092 { INSTRUCTION_TYPE_SUB, "sub", AM_E|OT_v|P_w, AM_G|OT_v|P_r, FLAGS_NONE, 1 },
00093 { INSTRUCTION_TYPE_SUB, "sub", AM_G|OT_b|P_w, AM_E|OT_b|P_r, FLAGS_NONE, 1 },
00094 { INSTRUCTION_TYPE_SUB, "sub", AM_G|OT_v|P_w, AM_E|OT_v|P_r, FLAGS_NONE, 1 },
00095 { INSTRUCTION_TYPE_SUB, "sub", AM_REG|REG_EAX|OT_b|P_w, AM_I|OT_b|P_r, FLAGS_NONE, 0 },
00096 { INSTRUCTION_TYPE_SUB, "sub", AM_REG|REG_EAX|OT_v|P_w, AM_I|OT_v|P_r, FLAGS_NONE, 0 },
00097
00098 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00099 { INSTRUCTION_TYPE_DCL, "das", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00100 { INSTRUCTION_TYPE_XOR, "xor", AM_E|OT_b|P_w, AM_G|OT_b|P_r, FLAGS_NONE, 1 },
00101 { INSTRUCTION_TYPE_XOR, "xor", AM_E|OT_v|P_w, AM_G|OT_v|P_r, FLAGS_NONE, 1 },
00102 { INSTRUCTION_TYPE_XOR, "xor", AM_G|OT_b|P_w, AM_E|OT_b|P_r, FLAGS_NONE, 1 },
00103 { INSTRUCTION_TYPE_XOR, "xor", AM_G|OT_v|P_w, AM_E|OT_v|P_r, FLAGS_NONE, 1 },
00104 { INSTRUCTION_TYPE_XOR, "xor", AM_REG|REG_EAX|OT_b|P_w, AM_I|OT_b|P_r, FLAGS_NONE, 0 },
00105 { INSTRUCTION_TYPE_XOR, "xor", AM_REG|REG_EAX|OT_v|P_w, AM_I|OT_v|P_r, FLAGS_NONE, 0 },
00106
00107 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00108 { INSTRUCTION_TYPE_ASC, "aaa", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00109 { INSTRUCTION_TYPE_CMP, "cmp", AM_E|OT_b|P_r, AM_G|OT_b|P_r, FLAGS_NONE, 1 },
00110 { INSTRUCTION_TYPE_CMP, "cmp", AM_E|OT_v|P_r, AM_G|OT_v|P_r, FLAGS_NONE, 1 },
00111 { INSTRUCTION_TYPE_CMP, "cmp", AM_G|OT_b|P_r, AM_E|OT_b|P_r, FLAGS_NONE, 1 },
00112 { INSTRUCTION_TYPE_CMP, "cmp", AM_G|OT_v|P_r, AM_E|OT_v|P_r, FLAGS_NONE, 1 },
00113 { INSTRUCTION_TYPE_CMP, "cmp", AM_REG|REG_EAX|OT_b|P_r, AM_I|OT_b|P_r, FLAGS_NONE, 0 },
00114 { INSTRUCTION_TYPE_CMP, "cmp", AM_REG|REG_EAX|OT_v|P_r, AM_I|OT_v|P_r, FLAGS_NONE, 0 },
00115
00116 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00117 { INSTRUCTION_TYPE_ASC, "aas", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00118 { INSTRUCTION_TYPE_INC, "inc", AM_REG|REG_EAX|OT_v|P_r, FLAGS_NONE, FLAGS_NONE, 0 },
00119 { INSTRUCTION_TYPE_INC, "inc", AM_REG|REG_ECX|OT_v|P_r, FLAGS_NONE, FLAGS_NONE, 0 },
00120 { INSTRUCTION_TYPE_INC, "inc", AM_REG|REG_EDX|OT_v|P_r, FLAGS_NONE, FLAGS_NONE, 0 },
00121 { INSTRUCTION_TYPE_INC, "inc", AM_REG|REG_EBX|OT_v|P_r, FLAGS_NONE, FLAGS_NONE, 0 },
00122 { INSTRUCTION_TYPE_INC, "inc", AM_REG|REG_ESP|OT_v|P_r, FLAGS_NONE, FLAGS_NONE, 0 },
00123 { INSTRUCTION_TYPE_INC, "inc", AM_REG|REG_EBP|OT_v|P_r, FLAGS_NONE, FLAGS_NONE, 0 },
00124 { INSTRUCTION_TYPE_INC, "inc", AM_REG|REG_ESI|OT_v|P_r, FLAGS_NONE, FLAGS_NONE, 0 },
00125 { INSTRUCTION_TYPE_INC, "inc", AM_REG|REG_EDI|OT_v|P_r, FLAGS_NONE, FLAGS_NONE, 0 },
00126 { INSTRUCTION_TYPE_DEC, "dec", AM_REG|REG_EAX|OT_v, FLAGS_NONE, FLAGS_NONE, 0 },
00127 { INSTRUCTION_TYPE_DEC, "dec", AM_REG|REG_ECX|OT_v, FLAGS_NONE, FLAGS_NONE, 0 },
00128 { INSTRUCTION_TYPE_DEC, "dec", AM_REG|REG_EDX|OT_v, FLAGS_NONE, FLAGS_NONE, 0 },
00129 { INSTRUCTION_TYPE_DEC, "dec", AM_REG|REG_EBX|OT_v, FLAGS_NONE, FLAGS_NONE, 0 },
00130 { INSTRUCTION_TYPE_DEC, "dec", AM_REG|REG_ESP|OT_v, FLAGS_NONE, FLAGS_NONE, 0 },
00131 { INSTRUCTION_TYPE_DEC, "dec", AM_REG|REG_EBP|OT_v, FLAGS_NONE, FLAGS_NONE, 0 },
00132 { INSTRUCTION_TYPE_DEC, "dec", AM_REG|REG_ESI|OT_v, FLAGS_NONE, FLAGS_NONE, 0 },
00133 { INSTRUCTION_TYPE_DEC, "dec", AM_REG|REG_EDI|OT_v, FLAGS_NONE, FLAGS_NONE, 0 },
00134 { INSTRUCTION_TYPE_PUSH, "push", AM_REG|REG_EAX|OT_v|P_r, FLAGS_NONE, FLAGS_NONE, 0 },
00135 { INSTRUCTION_TYPE_PUSH, "push", AM_REG|REG_ECX|OT_v|P_r, FLAGS_NONE, FLAGS_NONE, 0 },
00136 { INSTRUCTION_TYPE_PUSH, "push", AM_REG|REG_EDX|OT_v|P_r, FLAGS_NONE, FLAGS_NONE, 0 },
00137 { INSTRUCTION_TYPE_PUSH, "push", AM_REG|REG_EBX|OT_v|P_r, FLAGS_NONE, FLAGS_NONE, 0 },
00138 { INSTRUCTION_TYPE_PUSH, "push", AM_REG|REG_ESP|OT_v|P_r, FLAGS_NONE, FLAGS_NONE, 0 },
00139 { INSTRUCTION_TYPE_PUSH, "push", AM_REG|REG_EBP|OT_v|P_r, FLAGS_NONE, FLAGS_NONE, 0 },
00140 { INSTRUCTION_TYPE_PUSH, "push", AM_REG|REG_ESI|OT_v|P_r, FLAGS_NONE, FLAGS_NONE, 0 },
00141 { INSTRUCTION_TYPE_PUSH, "push", AM_REG|REG_EDI|OT_v|P_r, FLAGS_NONE, FLAGS_NONE, 0 },
00142 { INSTRUCTION_TYPE_POP, "pop", AM_REG|REG_EAX|OT_v|P_w, FLAGS_NONE, FLAGS_NONE, 0 },
00143 { INSTRUCTION_TYPE_POP, "pop", AM_REG|REG_ECX|OT_v|P_w, FLAGS_NONE, FLAGS_NONE, 0 },
00144 { INSTRUCTION_TYPE_POP, "pop", AM_REG|REG_EDX|OT_v|P_w, FLAGS_NONE, FLAGS_NONE, 0 },
00145 { INSTRUCTION_TYPE_POP, "pop", AM_REG|REG_EBX|OT_v|P_w, FLAGS_NONE, FLAGS_NONE, 0 },
00146 { INSTRUCTION_TYPE_POP, "pop", AM_REG|REG_ESP|OT_v|P_w, FLAGS_NONE, FLAGS_NONE, 0 },
00147 { INSTRUCTION_TYPE_POP, "pop", AM_REG|REG_EBP|OT_v|P_w, FLAGS_NONE, FLAGS_NONE, 0 },
00148 { INSTRUCTION_TYPE_POP, "pop", AM_REG|REG_ESI|OT_v|P_w, FLAGS_NONE, FLAGS_NONE, 0 },
00149 { INSTRUCTION_TYPE_POP, "pop", AM_REG|REG_EDI|OT_v|P_w, FLAGS_NONE, FLAGS_NONE, 0 },
00150 { INSTRUCTION_TYPE_PUSH , "pusha", FLAGS_NONE|P_r, FLAGS_NONE, FLAGS_NONE, 0 },
00151 { INSTRUCTION_TYPE_POP, "popa", FLAGS_NONE|P_w, FLAGS_NONE, FLAGS_NONE, 0 },
00152 { INSTRUCTION_TYPE_OTHER, "bound", AM_G|OT_v|P_r, AM_M|OT_v|P_r, FLAGS_NONE, 1 },
00153 { INSTRUCTION_TYPE_PRIV, "arpl", AM_E|OT_w|P_r, AM_G|OT_w|P_r, FLAGS_NONE, 1 },
00154
00155 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00156
00157 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00158
00159 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00160
00161 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00162 { INSTRUCTION_TYPE_PUSH, "push", AM_I|OT_v|P_r, FLAGS_NONE, FLAGS_NONE, 0 },
00163 { INSTRUCTION_TYPE_EIMUL, "imul", AM_G|OT_v|P_r, AM_E|OT_v|P_r, AM_I|OT_v|P_r,1 },
00164 { INSTRUCTION_TYPE_PUSH, "push", AM_I|OT_b|F_s|P_r, FLAGS_NONE, FLAGS_NONE, 0 },
00165 { INSTRUCTION_TYPE_EIMUL, "imul", AM_G|OT_v|P_r, AM_E|OT_v|P_r, AM_I|OT_b|F_s|P_r,1 },
00166 { INSTRUCTION_TYPE_PRIV, "insb", FLAGS_NONE|P_w, FLAGS_NONE|P_r, FLAGS_NONE, 0 },
00167 { INSTRUCTION_TYPE_PRIV, "insv", FLAGS_NONE|P_w, FLAGS_NONE|P_r, FLAGS_NONE, 0 },
00168 { INSTRUCTION_TYPE_PRIV, "outsb", FLAGS_NONE|P_w, FLAGS_NONE|P_r, FLAGS_NONE, 0 },
00169 { INSTRUCTION_TYPE_PRIV, "outsv", FLAGS_NONE|P_w, FLAGS_NONE|P_r, FLAGS_NONE, 0 },
00170 { INSTRUCTION_TYPE_JMPC, "jo", AM_J|OT_b|P_x, FLAGS_NONE, FLAGS_NONE, 0 },
00171 { INSTRUCTION_TYPE_JMPC, "jno", AM_J|OT_b|P_x, FLAGS_NONE, FLAGS_NONE, 0 },
00172 { INSTRUCTION_TYPE_JMPC, "jc", AM_J|OT_b|P_x, FLAGS_NONE, FLAGS_NONE, 0 },
00173 { INSTRUCTION_TYPE_JMPC, "jnc", AM_J|OT_b|P_x, FLAGS_NONE, FLAGS_NONE, 0 },
00174 { INSTRUCTION_TYPE_JMPC, "jz", AM_J|OT_b|P_x, FLAGS_NONE, FLAGS_NONE, 0 },
00175 { INSTRUCTION_TYPE_JMPC, "jnz", AM_J|OT_b|P_x, FLAGS_NONE, FLAGS_NONE, 0 },
00176 { INSTRUCTION_TYPE_JMPC, "jna", AM_J|OT_b|P_x, FLAGS_NONE, FLAGS_NONE, 0 },
00177 { INSTRUCTION_TYPE_JMPC, "ja", AM_J|OT_b|P_x, FLAGS_NONE, FLAGS_NONE, 0 },
00178 { INSTRUCTION_TYPE_JMPC, "js", AM_J|OT_b|P_x, FLAGS_NONE, FLAGS_NONE, 0 },
00179 { INSTRUCTION_TYPE_JMPC, "jns", AM_J|OT_b|P_x, FLAGS_NONE, FLAGS_NONE, 0 },
00180 { INSTRUCTION_TYPE_JMPC, "jp", AM_J|OT_b|P_x, FLAGS_NONE, FLAGS_NONE, 0 },
00181 { INSTRUCTION_TYPE_JMPC, "jpo", AM_J|OT_b|P_x, FLAGS_NONE, FLAGS_NONE, 0 },
00182 { INSTRUCTION_TYPE_JMPC, "jl", AM_J|OT_b|P_x, FLAGS_NONE, FLAGS_NONE, 0 },
00183 { INSTRUCTION_TYPE_JMPC, "jnl", AM_J|OT_b|P_x, FLAGS_NONE, FLAGS_NONE, 0 },
00184 { INSTRUCTION_TYPE_JMPC, "jng", AM_J|OT_b|P_x, FLAGS_NONE, FLAGS_NONE, 0 },
00185 { INSTRUCTION_TYPE_JMPC, "jg", AM_J|OT_b|P_x, FLAGS_NONE, FLAGS_NONE, 0 },
00186 { INSTRUCTION_TYPE_OTHER, "g1", AM_E|OT_b, AM_I|OT_b, FLAGS_NONE, 1 },
00187 { INSTRUCTION_TYPE_OTHER, "g1", AM_E|OT_v, AM_I|OT_v, FLAGS_NONE, 1 },
00188 { INSTRUCTION_TYPE_OTHER, "g1", AM_E|OT_b, AM_I|OT_b, FLAGS_NONE, 1 },
00189 { INSTRUCTION_TYPE_OTHER, "g1", AM_E|OT_v, AM_I|OT_b|F_s, FLAGS_NONE, 1 },
00190 { INSTRUCTION_TYPE_TEST, "test", AM_E|OT_b|P_r, AM_G|OT_b|P_r, FLAGS_NONE, 1 },
00191 { INSTRUCTION_TYPE_TEST, "test", AM_E|OT_v|P_r, AM_G|OT_v|P_r, FLAGS_NONE, 1 },
00192 { INSTRUCTION_TYPE_XCHG, "xchg", AM_E|OT_b|P_w, AM_G|OT_b|P_w, FLAGS_NONE, 1 },
00193 { INSTRUCTION_TYPE_XCHG, "xchg", AM_E|OT_v|P_w, AM_G|OT_v|P_w, FLAGS_NONE, 1 },
00194 { INSTRUCTION_TYPE_MOV, "mov", AM_E|OT_b|P_w, AM_G|OT_b|P_r, FLAGS_NONE, 1 },
00195 { INSTRUCTION_TYPE_MOV, "mov", AM_E|OT_v|P_w, AM_G|OT_v|P_r, FLAGS_NONE, 1 },
00196 { INSTRUCTION_TYPE_MOV, "mov", AM_G|OT_b|P_w, AM_E|OT_b|P_r, FLAGS_NONE, 1 },
00197 { INSTRUCTION_TYPE_MOV, "mov", AM_G|OT_v|P_w, AM_E|OT_v|P_r, FLAGS_NONE, 1 },
00198 { INSTRUCTION_TYPE_MOVSR, "mov", AM_E|OT_w|P_w, AM_S|OT_w|P_r, FLAGS_NONE, 1 },
00199 { INSTRUCTION_TYPE_LEA, "lea", AM_G|OT_v|P_w, AM_M|OT_v|P_r, FLAGS_NONE, 1 },
00200 { INSTRUCTION_TYPE_MOVSR, "mov", AM_S|OT_w|P_w, AM_E|OT_w|P_r, FLAGS_NONE, 1 },
00201 { INSTRUCTION_TYPE_POP, "pop", AM_E|OT_v|P_w, FLAGS_NONE, FLAGS_NONE, 1 },
00202 { INSTRUCTION_TYPE_OTHER, "nop", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00203 { INSTRUCTION_TYPE_XCHG, "xchg", AM_REG|REG_EAX|OT_v|P_w, AM_REG|REG_ECX|OT_v|P_w, FLAGS_NONE, 0 },
00204 { INSTRUCTION_TYPE_XCHG, "xchg", AM_REG|REG_EAX|OT_v|P_w, AM_REG|REG_EDX|OT_v|P_w, FLAGS_NONE, 0 },
00205 { INSTRUCTION_TYPE_XCHG, "xchg", AM_REG|REG_EAX|OT_v|P_w, AM_REG|REG_EBX|OT_v|P_w, FLAGS_NONE, 0 },
00206 { INSTRUCTION_TYPE_XCHG, "xchg", AM_REG|REG_EAX|OT_v|P_w, AM_REG|REG_ESP|OT_v|P_w, FLAGS_NONE, 0 },
00207 { INSTRUCTION_TYPE_XCHG, "xchg", AM_REG|REG_EAX|OT_v|P_w, AM_REG|REG_EBP|OT_v|P_w, FLAGS_NONE, 0 },
00208 { INSTRUCTION_TYPE_XCHG, "xchg", AM_REG|REG_EAX|OT_v|P_w, AM_REG|REG_ESI|OT_v|P_w, FLAGS_NONE, 0 },
00209 { INSTRUCTION_TYPE_XCHG, "xchg", AM_REG|REG_EAX|OT_v|P_w, AM_REG|REG_EDI|OT_v|P_w, FLAGS_NONE, 0 },
00210 { INSTRUCTION_TYPE_OTHER, "cbw", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00211 { INSTRUCTION_TYPE_OTHER, "cwd", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00212 { INSTRUCTION_TYPE_CALL, "callf", AM_A|OT_v|P_x, FLAGS_NONE, FLAGS_NONE, 0 },
00213 { INSTRUCTION_TYPE_OTHER, "wait", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00214 { INSTRUCTION_TYPE_PUSH, "pushf", FLAGS_NONE|P_r, FLAGS_NONE, FLAGS_NONE, 0 },
00215 { INSTRUCTION_TYPE_POP, "popf", FLAGS_NONE|P_w, FLAGS_NONE, FLAGS_NONE, 0 },
00216 { INSTRUCTION_TYPE_OTHER, "sahf", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00217 { INSTRUCTION_TYPE_OTHER, "lahf", FLAGS_NONE|P_w, FLAGS_NONE|P_r, FLAGS_NONE, 0 },
00218 { INSTRUCTION_TYPE_MOV, "mov", AM_REG|REG_EAX|OT_b|P_w, AM_O|OT_v|P_r, FLAGS_NONE, 0 },
00219 { INSTRUCTION_TYPE_MOV, "mov", AM_REG|REG_EAX|OT_v|P_w, AM_O|OT_v|P_r, FLAGS_NONE, 0 },
00220 { INSTRUCTION_TYPE_MOV, "mov", AM_O|OT_v|P_w, AM_REG|REG_EAX|OT_b|P_r, FLAGS_NONE, 0 },
00221 { INSTRUCTION_TYPE_MOV, "mov", AM_O|OT_v|P_w, AM_REG|REG_EAX|OT_v|P_r, FLAGS_NONE, 0 },
00222 { INSTRUCTION_TYPE_MOVS, "movsb", FLAGS_NONE|P_w, FLAGS_NONE|P_r, FLAGS_NONE, 0 },
00223 { INSTRUCTION_TYPE_MOVS, "movsd", FLAGS_NONE|P_w, FLAGS_NONE|P_r, FLAGS_NONE, 0 },
00224 { INSTRUCTION_TYPE_CMPS, "cmpsb", FLAGS_NONE|P_r, FLAGS_NONE|P_r, FLAGS_NONE, 0 },
00225 { INSTRUCTION_TYPE_CMPS, "cmpsd", FLAGS_NONE|P_r, FLAGS_NONE|P_r, FLAGS_NONE, 0 },
00226 { INSTRUCTION_TYPE_TEST, "test", AM_REG|REG_EAX|OT_b|P_r, AM_I|OT_b|P_r, FLAGS_NONE, 0 },
00227 { INSTRUCTION_TYPE_TEST, "test", AM_REG|REG_EAX|OT_v|P_r, AM_I|OT_v|P_r, FLAGS_NONE, 0 },
00228 { INSTRUCTION_TYPE_STOS, "stosb", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00229 { INSTRUCTION_TYPE_STOS, "stosd", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00230 { INSTRUCTION_TYPE_LODS, "lodsb", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00231 { INSTRUCTION_TYPE_LODS, "lodsd", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00232 { INSTRUCTION_TYPE_SCAS, "scasb", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00233 { INSTRUCTION_TYPE_SCAS, "scasd", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00234 { INSTRUCTION_TYPE_MOV, "mov", AM_REG|REG_AL|OT_b|P_w, AM_I|OT_b|P_r, FLAGS_NONE, 0 },
00235 { INSTRUCTION_TYPE_MOV, "mov", AM_REG|REG_CL|OT_b|P_w, AM_I|OT_b|P_r, FLAGS_NONE, 0 },
00236 { INSTRUCTION_TYPE_MOV, "mov", AM_REG|REG_DL|OT_b|P_w, AM_I|OT_b|P_r, FLAGS_NONE, 0 },
00237 { INSTRUCTION_TYPE_MOV, "mov", AM_REG|REG_BL|OT_b|P_w, AM_I|OT_b|P_r, FLAGS_NONE, 0 },
00238 { INSTRUCTION_TYPE_MOV, "mov", AM_REG|REG_AH|OT_b|P_w, AM_I|OT_b|P_r, FLAGS_NONE, 0 },
00239 { INSTRUCTION_TYPE_MOV, "mov", AM_REG|REG_CH|OT_b|P_w, AM_I|OT_b|P_r, FLAGS_NONE, 0 },
00240 { INSTRUCTION_TYPE_MOV, "mov", AM_REG|REG_DH|OT_b|P_w, AM_I|OT_b|P_r, FLAGS_NONE, 0 },
00241 { INSTRUCTION_TYPE_MOV, "mov", AM_REG|REG_BH|OT_b|P_w, AM_I|OT_b|P_r, FLAGS_NONE, 0 },
00242 { INSTRUCTION_TYPE_MOV, "mov", AM_REG|REG_EAX|OT_v|P_w, AM_I|OT_v|P_r, FLAGS_NONE, 0 },
00243 { INSTRUCTION_TYPE_MOV, "mov", AM_REG|REG_ECX|OT_v|P_w, AM_I|OT_v|P_r, FLAGS_NONE, 0 },
00244 { INSTRUCTION_TYPE_MOV, "mov", AM_REG|REG_EDX|OT_v|P_w, AM_I|OT_v|P_r, FLAGS_NONE, 0 },
00245 { INSTRUCTION_TYPE_MOV, "mov", AM_REG|REG_EBX|OT_v|P_w, AM_I|OT_v|P_r, FLAGS_NONE, 0 },
00246 { INSTRUCTION_TYPE_MOV, "mov", AM_REG|REG_ESP|OT_v|P_w, AM_I|OT_v|P_r, FLAGS_NONE, 0 },
00247 { INSTRUCTION_TYPE_MOV, "mov", AM_REG|REG_EBP|OT_v|P_w, AM_I|OT_v|P_r, FLAGS_NONE, 0 },
00248 { INSTRUCTION_TYPE_MOV, "mov", AM_REG|REG_ESI|OT_v|P_w, AM_I|OT_v|P_r, FLAGS_NONE, 0 },
00249 { INSTRUCTION_TYPE_MOV, "mov", AM_REG|REG_EDI|OT_v|P_w, AM_I|OT_v|P_r, FLAGS_NONE, 0 },
00250 { INSTRUCTION_TYPE_OTHER, "g2", AM_E|OT_b, AM_I|OT_b, FLAGS_NONE, 1 },
00251 { INSTRUCTION_TYPE_OTHER, "g2", AM_E|OT_v, AM_I|OT_b, FLAGS_NONE, 1 },
00252 { INSTRUCTION_TYPE_RET, "retn", AM_I|OT_w|P_r, FLAGS_NONE, FLAGS_NONE, 0 },
00253 { INSTRUCTION_TYPE_RET, "ret", FLAGS_NONE|P_r, FLAGS_NONE, FLAGS_NONE, 0 },
00254 { INSTRUCTION_TYPE_LFP, "les", AM_G|OT_v|P_w, AM_M|OT_v|P_r, FLAGS_NONE, 1 },
00255 { INSTRUCTION_TYPE_LFP, "lds", AM_G|OT_v|P_w, AM_M|OT_v|P_r, FLAGS_NONE, 1 },
00256 { INSTRUCTION_TYPE_MOV, "mov", AM_E|OT_b|P_w, AM_I|OT_b|P_r, FLAGS_NONE, 1 },
00257 { INSTRUCTION_TYPE_MOV, "mov", AM_E|OT_v|P_w, AM_I|OT_v|P_r, FLAGS_NONE, 1 },
00258 { INSTRUCTION_TYPE_OTHER, "enter", AM_I|OT_w|P_w, AM_I|OT_b|P_r, FLAGS_NONE, 0 },
00259 { INSTRUCTION_TYPE_POP, "leave", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00260 { INSTRUCTION_TYPE_RET, "retf", AM_I|OT_w|P_r, FLAGS_NONE, FLAGS_NONE, 0 },
00261 { INSTRUCTION_TYPE_OTHER, "retf", FLAGS_NONE|P_r, FLAGS_NONE, FLAGS_NONE, 0 },
00262 { INSTRUCTION_TYPE_INT, "int3", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00263 { INSTRUCTION_TYPE_INT, "int", AM_I|OT_b|P_r, FLAGS_NONE, FLAGS_NONE, 0 },
00264 { INSTRUCTION_TYPE_OTHER, "into", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00265 { INSTRUCTION_TYPE_OTHER, "iret", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00266 { INSTRUCTION_TYPE_OTHER, "g2", AM_E|OT_b, AM_I1|OT_b, FLAGS_NONE, 1 },
00267 { INSTRUCTION_TYPE_OTHER, "g2", AM_E|OT_v, AM_I1|OT_b, FLAGS_NONE, 1 },
00268 { INSTRUCTION_TYPE_OTHER, "g2", AM_E|OT_b, AM_REG|REG_CL|OT_b, FLAGS_NONE, 1 },
00269 { INSTRUCTION_TYPE_OTHER, "g2", AM_E|OT_v, AM_REG|REG_CL|OT_b, FLAGS_NONE, 1 },
00270 { INSTRUCTION_TYPE_ASC, "aam", AM_I|OT_b|P_w, FLAGS_NONE, FLAGS_NONE, 0 },
00271 { INSTRUCTION_TYPE_ASC, "aad", AM_I|OT_b|P_w, FLAGS_NONE, FLAGS_NONE, 0 },
00272 { INSTRUCTION_TYPE_OTHER, "salc", FLAGS_NONE|P_w, FLAGS_NONE|P_r, FLAGS_NONE, 0 },
00273 { INSTRUCTION_TYPE_OTHER, "xlat", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00274 { INSTRUCTION_TYPE_OTHER, "esc", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00275 { INSTRUCTION_TYPE_OTHER, "esc", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00276 { INSTRUCTION_TYPE_OTHER, "esc", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00277 { INSTRUCTION_TYPE_OTHER, "esc", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00278 { INSTRUCTION_TYPE_OTHER, "esc", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00279 { INSTRUCTION_TYPE_OTHER, "esc", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00280 { INSTRUCTION_TYPE_OTHER, "esc", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00281 { INSTRUCTION_TYPE_OTHER, "esc", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00282 { INSTRUCTION_TYPE_LOOP, "loopn", AM_J|OT_b|P_x, FLAGS_NONE, FLAGS_NONE, 0 },
00283 { INSTRUCTION_TYPE_LOOP, "loope", AM_J|OT_b|P_x, FLAGS_NONE, FLAGS_NONE, 0 },
00284 { INSTRUCTION_TYPE_LOOP, "loop", AM_J|OT_b|P_x, FLAGS_NONE, FLAGS_NONE, 0 },
00285 { INSTRUCTION_TYPE_JMPC, "jecxz", AM_J|OT_b|P_x, FLAGS_NONE, FLAGS_NONE, 0 },
00286 { INSTRUCTION_TYPE_PRIV, "in", AM_REG|REG_AL|OT_b|P_w, AM_I|OT_b|P_r, FLAGS_NONE, 0 },
00287 { INSTRUCTION_TYPE_PRIV, "in", AM_REG|REG_EAX|OT_v|P_w, AM_I|OT_b|P_r, FLAGS_NONE, 0 },
00288 { INSTRUCTION_TYPE_PRIV, "out", AM_I|OT_b|P_w, AM_REG|REG_AL|OT_b|P_r, FLAGS_NONE, 0 },
00289 { INSTRUCTION_TYPE_PRIV, "out", AM_I|OT_b|P_w, AM_REG|REG_EAX|OT_v|P_r, FLAGS_NONE, 0 },
00290 { INSTRUCTION_TYPE_CALL, "call", AM_J|OT_v|P_x, FLAGS_NONE, FLAGS_NONE, 0 },
00291 { INSTRUCTION_TYPE_JMP, "jmp", AM_J|OT_v|P_x, FLAGS_NONE, FLAGS_NONE, 0 },
00292 { INSTRUCTION_TYPE_JMP, "jmpf", AM_A|OT_v|P_x, FLAGS_NONE, FLAGS_NONE, 0 },
00293 { INSTRUCTION_TYPE_JMP, "jmp", AM_J|OT_b|P_x, FLAGS_NONE, FLAGS_NONE, 0 },
00294 { INSTRUCTION_TYPE_PRIV, "in", AM_REG|REG_EAX|OT_b|P_w, AM_REG|REG_EDX|OT_w|P_r, FLAGS_NONE, 0 },
00295 { INSTRUCTION_TYPE_PRIV, "in", AM_REG|REG_EAX|OT_v|P_w, AM_REG|REG_EDX|OT_w|P_r, FLAGS_NONE, 0 },
00296 { INSTRUCTION_TYPE_PRIV, "out", AM_REG|REG_EDX|OT_w|P_w, AM_REG|REG_EAX|OT_b|P_r, FLAGS_NONE, 0 },
00297 { INSTRUCTION_TYPE_PRIV, "out", AM_REG|REG_EDX|OT_w|P_w, AM_REG|REG_EAX|OT_v|P_r, FLAGS_NONE, 0 },
00298 { INSTRUCTION_TYPE_OTHER, "ext", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00299 { INSTRUCTION_TYPE_OTHER, "int1", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00300 { INSTRUCTION_TYPE_OTHER, "ext", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00301 { INSTRUCTION_TYPE_OTHER, "ext", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00302 { INSTRUCTION_TYPE_PRIV, "hlt", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00303 { INSTRUCTION_TYPE_OTHER, "cmc", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00304 { INSTRUCTION_TYPE_OTHER, "g3", AM_E|OT_b, FLAGS_NONE, FLAGS_NONE, 1 },
00305 { INSTRUCTION_TYPE_OTHER, "g3", AM_E|OT_v, FLAGS_NONE, FLAGS_NONE, 1 },
00306 { INSTRUCTION_TYPE_OTHER, "clc", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00307 { INSTRUCTION_TYPE_OTHER, "stc", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00308 { INSTRUCTION_TYPE_OTHER, "cli", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00309 { INSTRUCTION_TYPE_OTHER, "sti", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00310 { INSTRUCTION_TYPE_OTHER, "cld", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00311 { INSTRUCTION_TYPE_OTHER, "std", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00312 { INSTRUCTION_TYPE_OTHER, "g4", AM_E|OT_b, FLAGS_NONE, FLAGS_NONE, 1 },
00313 { INSTRUCTION_TYPE_OTHER, "g5", AM_E|OT_v, FLAGS_NONE, FLAGS_NONE, 1 },
00314 };
00315
00316
00317
00318
00319 INST inst_table2[256] = {
00320 { INSTRUCTION_TYPE_OTHER, "g6", AM_E|OT_w, FLAGS_NONE, FLAGS_NONE, 1 },
00321 { INSTRUCTION_TYPE_OTHER, "g7", AM_M|OT_w, FLAGS_NONE, FLAGS_NONE, 1 },
00322 { INSTRUCTION_TYPE_PRIV, "lar", AM_G|OT_v|P_w, AM_E|OT_w|P_r, FLAGS_NONE, 1 },
00323 { INSTRUCTION_TYPE_PRIV, "lsl", AM_G|OT_v|P_w, AM_E|OT_w|P_r, FLAGS_NONE, 1 },
00324 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00325 { INSTRUCTION_TYPE_OTHER, "loadall286",FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00326 { INSTRUCTION_TYPE_OTHER, "clts", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00327 { INSTRUCTION_TYPE_OTHER, "loadall", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00328 { INSTRUCTION_TYPE_PRIV, "invd", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00329 { INSTRUCTION_TYPE_OTHER, "wbinvd", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00330 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00331 { INSTRUCTION_TYPE_OTHER, "ud2", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00332 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00333 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00334 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00335 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00336 { INSTRUCTION_TYPE_SSE|TYPE_3,"movups", AM_V|OT_ps|P_w, AM_W|OT_ps|P_r, FLAGS_NONE, 1 },
00337 { INSTRUCTION_TYPE_SSE|TYPE_3,"movups", AM_W|OT_ps|P_w, AM_V|OT_ps|P_r, FLAGS_NONE, 1 },
00338 { INSTRUCTION_TYPE_SSE|TYPE_3,"movlps", AM_V|OT_q|P_w, AM_M|OT_q|P_r, FLAGS_NONE, 1 },
00339 { INSTRUCTION_TYPE_SSE|TYPE_3,"movlps", AM_M|OT_q|P_w, AM_V|OT_q|P_r, FLAGS_NONE, 1 },
00340 { INSTRUCTION_TYPE_SSE|TYPE_3,"unpcklps",AM_V|OT_ps|P_w, AM_W|OT_ps|P_r, FLAGS_NONE, 1 },
00341 { INSTRUCTION_TYPE_SSE|TYPE_3,"unpcklps",AM_V|OT_ps|P_w, AM_W|OT_ps|P_r, FLAGS_NONE, 1 },
00342 { INSTRUCTION_TYPE_SSE|TYPE_3,"movhps", AM_V|OT_q|P_w, AM_M|OT_q|P_r, FLAGS_NONE, 1 },
00343 { INSTRUCTION_TYPE_SSE|TYPE_3,"movhps", AM_M|OT_q|P_w, AM_V|OT_ps|P_r, FLAGS_NONE, 1 },
00344 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00345 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00346 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00347 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00348 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00349 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00350 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00351 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00352 { INSTRUCTION_TYPE_PRIV, "mov", AM_R|OT_d|P_w, AM_C|OT_d|P_r, FLAGS_NONE, 1 },
00353 { INSTRUCTION_TYPE_PRIV, "mov", AM_R|OT_d|P_w, AM_D|OT_d|P_r, FLAGS_NONE, 1 },
00354 { INSTRUCTION_TYPE_PRIV, "mov", AM_C|OT_d|P_w, AM_R|OT_d|P_r, FLAGS_NONE, 1 },
00355 { INSTRUCTION_TYPE_PRIV, "mov", AM_D|OT_d|P_w, AM_R|OT_d|P_r, FLAGS_NONE, 1 },
00356 { INSTRUCTION_TYPE_PRIV, "mov", AM_R|OT_d|P_w, AM_T|OT_d|P_r, FLAGS_NONE, 1 },
00357 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00358 { INSTRUCTION_TYPE_PRIV, "mov", AM_T|OT_d|P_w, AM_R|OT_d|P_r, FLAGS_NONE, 1 },
00359 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00360 { INSTRUCTION_TYPE_SSE|TYPE_3,"movaps", AM_V|OT_ps|P_w, AM_W|OT_ps|P_r, FLAGS_NONE, 1 },
00361 { INSTRUCTION_TYPE_SSE|TYPE_3,"movaps", AM_W|OT_ps|P_w, AM_V|OT_ps|P_r, FLAGS_NONE, 1 },
00362 { INSTRUCTION_TYPE_SSE|TYPE_3,"cvtpi2ps",AM_V|OT_ps|P_r, AM_Q|OT_q|P_r, FLAGS_NONE, 1 },
00363 { INSTRUCTION_TYPE_SSE|TYPE_3,"movntps",AM_M|OT_ps|P_w, AM_V|OT_ps|P_r, FLAGS_NONE, 1 },
00364 { INSTRUCTION_TYPE_SSE|TYPE_3,"cvttps2pi",AM_P|OT_q|P_r, AM_W|OT_q|P_r, FLAGS_NONE, 1 },
00365 { INSTRUCTION_TYPE_SSE|TYPE_3,"cvtps2pi",AM_P|OT_q|P_r, AM_W|OT_q|P_r, FLAGS_NONE, 1 },
00366 { INSTRUCTION_TYPE_SSE|TYPE_3,"ucomiss",AM_V|OT_ss|P_w, AM_W|OT_ss|P_r, FLAGS_NONE, 1 },
00367 { INSTRUCTION_TYPE_SSE|TYPE_3,"comiss", AM_V|OT_ss|P_w, AM_W|OT_ss|P_w, FLAGS_NONE, 1 },
00368 { INSTRUCTION_TYPE_OTHER, "wrmsr", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00369 { INSTRUCTION_TYPE_OTHER, "rdtsc", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00370 { INSTRUCTION_TYPE_PRIV, "rdmsr", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00371 { INSTRUCTION_TYPE_OTHER, "rdpmc", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00372 { INSTRUCTION_TYPE_OTHER, "sysenter", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00373 { INSTRUCTION_TYPE_PRIV, "sysexit", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00374 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00375 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00376 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00377 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00378 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00379 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00380 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00381 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00382 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00383 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00384 { INSTRUCTION_TYPE_MOVC, "cmovo", AM_G|OT_v|P_w, AM_E|OT_v|P_r, FLAGS_NONE, 1 },
00385 { INSTRUCTION_TYPE_MOVC, "cmovno", AM_G|OT_v|P_w, AM_E|OT_v|P_r, FLAGS_NONE, 1 },
00386 { INSTRUCTION_TYPE_MOVC, "cmovb", AM_G|OT_v|P_w, AM_E|OT_v|P_r, FLAGS_NONE, 1 },
00387 { INSTRUCTION_TYPE_MOVC, "cmovae", AM_G|OT_v|P_w, AM_E|OT_v|P_r, FLAGS_NONE, 1 },
00388 { INSTRUCTION_TYPE_MOVC, "cmove", AM_G|OT_v|P_w, AM_E|OT_v|P_r, FLAGS_NONE, 1 },
00389 { INSTRUCTION_TYPE_MOVC, "cmovne", AM_G|OT_v|P_w, AM_E|OT_v|P_r, FLAGS_NONE, 1 },
00390 { INSTRUCTION_TYPE_MOVC, "cmovbe", AM_G|OT_v|P_w, AM_E|OT_v|P_r, FLAGS_NONE, 1 },
00391 { INSTRUCTION_TYPE_MOVC, "cmova", AM_G|OT_v|P_w, AM_E|OT_v|P_r, FLAGS_NONE, 1 },
00392 { INSTRUCTION_TYPE_MOVC, "cmovs", AM_G|OT_v|P_w, AM_E|OT_v|P_r, FLAGS_NONE, 1 },
00393 { INSTRUCTION_TYPE_MOVC, "cmovns", AM_G|OT_v|P_w, AM_E|OT_v|P_r, FLAGS_NONE, 1 },
00394 { INSTRUCTION_TYPE_MOVC, "cmovp", AM_G|OT_v|P_w, AM_E|OT_v|P_r, FLAGS_NONE, 1 },
00395 { INSTRUCTION_TYPE_MOVC, "cmovnp", AM_G|OT_v|P_w, AM_E|OT_v|P_r, FLAGS_NONE, 1 },
00396 { INSTRUCTION_TYPE_MOVC, "cmovl", AM_G|OT_v|P_w, AM_E|OT_v|P_r, FLAGS_NONE, 1 },
00397 { INSTRUCTION_TYPE_MOVC, "cmovge", AM_G|OT_v|P_w, AM_E|OT_v|P_r, FLAGS_NONE, 1 },
00398 { INSTRUCTION_TYPE_MOVC, "cmovle", AM_G|OT_v|P_w, AM_E|OT_v|P_r, FLAGS_NONE, 1 },
00399 { INSTRUCTION_TYPE_MOVC, "cmovg", AM_G|OT_v|P_w, AM_E|OT_v|P_r, FLAGS_NONE, 1 },
00400 { INSTRUCTION_TYPE_SSE|TYPE_3,"movmskps",AM_G|OT_d|P_w, AM_V|OT_ps|P_r, FLAGS_NONE, 1 },
00401 { INSTRUCTION_TYPE_SSE|TYPE_3,"sqrtps", AM_V|OT_ps|P_w, AM_W|OT_ps|P_r, FLAGS_NONE, 1 },
00402 { INSTRUCTION_TYPE_SSE|TYPE_3,"rsqrtps",AM_V|OT_ps|P_w, AM_W|OT_ps|P_r, FLAGS_NONE, 1 },
00403 { INSTRUCTION_TYPE_SSE|TYPE_3,"rcpps", AM_V|OT_ps|P_w, AM_W|OT_ps|P_r, FLAGS_NONE, 1 },
00404 { INSTRUCTION_TYPE_SSE|TYPE_3,"andps", AM_V|OT_ps|P_w, AM_W|OT_ps|P_r, FLAGS_NONE, 1 },
00405 { INSTRUCTION_TYPE_SSE|TYPE_3,"andnps", AM_V|OT_ps|P_w, AM_W|OT_ps|P_r, FLAGS_NONE, 1 },
00406 { INSTRUCTION_TYPE_SSE|TYPE_3,"orps", AM_V|OT_ps|P_w, AM_W|OT_ps|P_r, FLAGS_NONE, 1 },
00407 { INSTRUCTION_TYPE_SSE|TYPE_3,"xorps", AM_V|OT_ps|P_w, AM_W|OT_ps|P_r, FLAGS_NONE, 1 },
00408 { INSTRUCTION_TYPE_SSE|TYPE_3,"addps", AM_V|OT_ps|P_w, AM_W|OT_ps|P_r, FLAGS_NONE, 1 },
00409 { INSTRUCTION_TYPE_SSE|TYPE_3,"mulps", AM_V|OT_ps|P_w, AM_W|OT_ps|P_r, FLAGS_NONE, 1 },
00410 { INSTRUCTION_TYPE_SSE|TYPE_3,"cvtps2pd",AM_V|OT_pd|P_r, AM_W|OT_q|P_r, FLAGS_NONE, 1 },
00411 { INSTRUCTION_TYPE_SSE|TYPE_3,"cvtdq2ps",AM_V|OT_ps|P_r, AM_W|OT_dq|P_r, FLAGS_NONE, 1 },
00412 { INSTRUCTION_TYPE_SSE|TYPE_3,"subps", AM_V|OT_ps|P_w, AM_W|OT_ps|P_r, FLAGS_NONE, 1 },
00413 { INSTRUCTION_TYPE_SSE|TYPE_3,"minps", AM_V|OT_ps|P_w, AM_W|OT_ps|P_r, FLAGS_NONE, 1 },
00414 { INSTRUCTION_TYPE_SSE|TYPE_3,"divps", AM_V|OT_ps|P_w, AM_W|OT_ps|P_r, FLAGS_NONE, 1 },
00415 { INSTRUCTION_TYPE_SSE|TYPE_3,"maxps", AM_V|OT_ps|P_w, AM_W|OT_ps|P_r, FLAGS_NONE, 1 },
00416 { INSTRUCTION_TYPE_MMX|TYPE_3,"punpcklbw",AM_P|OT_q|P_w, AM_Q|OT_d|P_r, FLAGS_NONE, 1 },
00417 { INSTRUCTION_TYPE_MMX|TYPE_3,"punpcklwd",AM_P|OT_q|P_w, AM_Q|OT_d|P_r, FLAGS_NONE, 1 },
00418 { INSTRUCTION_TYPE_MMX|TYPE_3,"punpckldq",AM_P|OT_q|P_w, AM_Q|OT_d|P_r, FLAGS_NONE, 1 },
00419 { INSTRUCTION_TYPE_MMX|TYPE_3,"packusdw",AM_P|OT_q|P_w, AM_Q|OT_d|P_r, FLAGS_NONE, 1 },
00420 { INSTRUCTION_TYPE_MMX|TYPE_3,"pcmpgtb",AM_P|OT_q|P_w, AM_Q|OT_d|P_r, FLAGS_NONE, 1 },
00421 { INSTRUCTION_TYPE_MMX|TYPE_3,"pcmpgtw",AM_P|OT_q|P_w, AM_Q|OT_d|P_r, FLAGS_NONE, 1 },
00422 { INSTRUCTION_TYPE_MMX|TYPE_3,"pcmpgtd",AM_P|OT_q|P_w, AM_Q|OT_d|P_r, FLAGS_NONE, 1 },
00423 { INSTRUCTION_TYPE_MMX|TYPE_3,"packsswb",AM_P|OT_q|P_w, AM_Q|OT_d|P_r, FLAGS_NONE, 1 },
00424 { INSTRUCTION_TYPE_MMX|TYPE_3,"punpckhbw",AM_P|OT_q|P_w, AM_Q|OT_d|P_r, FLAGS_NONE, 1 },
00425 { INSTRUCTION_TYPE_MMX|TYPE_3,"punpckhbd",AM_P|OT_q|P_w, AM_Q|OT_d|P_r, FLAGS_NONE, 1 },
00426 { INSTRUCTION_TYPE_MMX|TYPE_3,"punpckhdq",AM_P|OT_q|P_w, AM_Q|OT_d|P_r, FLAGS_NONE, 1 },
00427 { INSTRUCTION_TYPE_MMX|TYPE_3,"packssdw",AM_P|OT_q|P_w, AM_Q|OT_d|P_r, FLAGS_NONE, 1 },
00428 { INSTRUCTION_TYPE_OTHER|TYPE_3,NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00429 { INSTRUCTION_TYPE_OTHER|TYPE_3,NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00430 { INSTRUCTION_TYPE_MMX|TYPE_3, "movd", AM_P|OT_d|P_w, AM_E|OT_d|P_r, FLAGS_NONE, 1 },
00431 { INSTRUCTION_TYPE_MMX|TYPE_3,"movq", AM_P|OT_q|P_w, AM_Q|OT_q|P_r, FLAGS_NONE, 1 },
00432 { INSTRUCTION_TYPE_MMX|TYPE_3,"pshufw", AM_P|OT_q|P_w, AM_Q|OT_q|P_r, AM_I|OT_b, 1 },
00433
00434 { INSTRUCTION_TYPE_MMX, "g12", AM_P|OT_q, AM_I|OT_b, FLAGS_NONE, 1 },
00435 { INSTRUCTION_TYPE_MMX, "g13", AM_P|OT_q, AM_I|OT_b, FLAGS_NONE, 1 },
00436 { INSTRUCTION_TYPE_MMX, "g14", AM_P|OT_q, AM_I|OT_b, FLAGS_NONE, 1 },
00437 { INSTRUCTION_TYPE_MMX|TYPE_3,"pcmpeqb",AM_P|OT_q|P_w, AM_Q|OT_q|P_r, FLAGS_NONE, 1 },
00438 { INSTRUCTION_TYPE_MMX|TYPE_3,"pcmpeqw",AM_P|OT_q|P_w, AM_Q|OT_q|P_r, FLAGS_NONE, 1 },
00439 { INSTRUCTION_TYPE_MMX|TYPE_3,"pcmpeqd",AM_P|OT_q|P_w, AM_Q|OT_q|P_r, FLAGS_NONE, 1 },
00440 { INSTRUCTION_TYPE_MMX, "emms", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00441 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00442 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00443 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00444 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00445 { INSTRUCTION_TYPE_OTHER|TYPE_3,NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00446 { INSTRUCTION_TYPE_OTHER|TYPE_3,NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00447 { INSTRUCTION_TYPE_MMX|TYPE_3,"movd", AM_E|OT_d|P_w, AM_P|OT_d|P_r, FLAGS_NONE, 1 },
00448 { INSTRUCTION_TYPE_MMX|TYPE_3,"movq", AM_Q|OT_q|P_w, AM_P|OT_q|P_r, FLAGS_NONE, 1 },
00449 { INSTRUCTION_TYPE_JMPC, "jo", AM_J|OT_v|P_x, FLAGS_NONE, FLAGS_NONE, 0 },
00450 { INSTRUCTION_TYPE_JMPC, "jno", AM_J|OT_v|P_x, FLAGS_NONE, FLAGS_NONE, 0 },
00451 { INSTRUCTION_TYPE_JMPC, "jc", AM_J|OT_v|P_x, FLAGS_NONE, FLAGS_NONE, 0 },
00452 { INSTRUCTION_TYPE_JMPC, "jnc", AM_J|OT_v|P_x, FLAGS_NONE, FLAGS_NONE, 0 },
00453 { INSTRUCTION_TYPE_JMPC, "jz", AM_J|OT_v|P_x, FLAGS_NONE, FLAGS_NONE, 0 },
00454 { INSTRUCTION_TYPE_JMPC, "jnz", AM_J|OT_v|P_x, FLAGS_NONE, FLAGS_NONE, 0 },
00455 { INSTRUCTION_TYPE_JMPC, "jna", AM_J|OT_v|P_x, FLAGS_NONE, FLAGS_NONE, 0 },
00456 { INSTRUCTION_TYPE_JMPC, "ja", AM_J|OT_v|P_x, FLAGS_NONE, FLAGS_NONE, 0 },
00457 { INSTRUCTION_TYPE_JMPC, "js", AM_J|OT_v|P_x, FLAGS_NONE, FLAGS_NONE, 0 },
00458 { INSTRUCTION_TYPE_JMPC, "jns", AM_J|OT_v|P_x, FLAGS_NONE, FLAGS_NONE, 0 },
00459 { INSTRUCTION_TYPE_JMPC, "jp", AM_J|OT_v|P_x, FLAGS_NONE, FLAGS_NONE, 0 },
00460 { INSTRUCTION_TYPE_JMPC, "jpo", AM_J|OT_v|P_x, FLAGS_NONE, FLAGS_NONE, 0 },
00461 { INSTRUCTION_TYPE_JMPC, "jl", AM_J|OT_v|P_x, FLAGS_NONE, FLAGS_NONE, 0 },
00462 { INSTRUCTION_TYPE_JMPC, "jnl", AM_J|OT_v|P_x, FLAGS_NONE, FLAGS_NONE, 0 },
00463 { INSTRUCTION_TYPE_JMPC, "jng", AM_J|OT_v|P_x, FLAGS_NONE, FLAGS_NONE, 0 },
00464 { INSTRUCTION_TYPE_JMPC, "jg", AM_J|OT_v|P_x, FLAGS_NONE, FLAGS_NONE, 0 },
00465 { INSTRUCTION_TYPE_SETC, "seto", AM_E|OT_b|P_w, FLAGS_NONE, FLAGS_NONE, 1 },
00466 { INSTRUCTION_TYPE_SETC, "setno", AM_E|OT_b|P_w, FLAGS_NONE, FLAGS_NONE, 1 },
00467 { INSTRUCTION_TYPE_SETC, "setb", AM_E|OT_b|P_w, FLAGS_NONE, FLAGS_NONE, 1 },
00468 { INSTRUCTION_TYPE_SETC, "setnb", AM_E|OT_b|P_w, FLAGS_NONE, FLAGS_NONE, 1 },
00469 { INSTRUCTION_TYPE_SETC, "setz", AM_E|OT_b|P_w, FLAGS_NONE, FLAGS_NONE, 1 },
00470 { INSTRUCTION_TYPE_SETC, "setnz", AM_E|OT_b|P_w, FLAGS_NONE, FLAGS_NONE, 1 },
00471 { INSTRUCTION_TYPE_SETC, "setbe", AM_E|OT_b|P_w, FLAGS_NONE, FLAGS_NONE, 1 },
00472 { INSTRUCTION_TYPE_SETC, "setnbe", AM_E|OT_b|P_w, FLAGS_NONE, FLAGS_NONE, 1 },
00473 { INSTRUCTION_TYPE_SETC, "sets", AM_E|OT_b|P_w, FLAGS_NONE, FLAGS_NONE, 1 },
00474 { INSTRUCTION_TYPE_SETC, "setns", AM_E|OT_b|P_w, FLAGS_NONE, FLAGS_NONE, 1 },
00475 { INSTRUCTION_TYPE_SETC, "setp", AM_E|OT_b|P_w, FLAGS_NONE, FLAGS_NONE, 1 },
00476 { INSTRUCTION_TYPE_SETC, "setnp", AM_E|OT_b|P_w, FLAGS_NONE, FLAGS_NONE, 1 },
00477 { INSTRUCTION_TYPE_SETC, "setl", AM_E|OT_b|P_w, FLAGS_NONE, FLAGS_NONE, 1 },
00478 { INSTRUCTION_TYPE_SETC, "setnl", AM_E|OT_b|P_w, FLAGS_NONE, FLAGS_NONE, 1 },
00479 { INSTRUCTION_TYPE_SETC, "setle", AM_E|OT_b|P_w, FLAGS_NONE, FLAGS_NONE, 1 },
00480 { INSTRUCTION_TYPE_SETC, "setnle", AM_E|OT_b|P_w, FLAGS_NONE, FLAGS_NONE, 1 },
00481 { INSTRUCTION_TYPE_PUSH, "push", AM_REG|REG_FS|F_r|P_r, FLAGS_NONE, FLAGS_NONE, 0 },
00482 { INSTRUCTION_TYPE_POP, "pop", AM_REG|REG_FS|F_r|P_w, FLAGS_NONE, FLAGS_NONE, 0 },
00483 { INSTRUCTION_TYPE_OTHER, "cpuid", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00484 { INSTRUCTION_TYPE_BT, "bt", AM_E|OT_v|P_r, AM_G|OT_v|P_r, FLAGS_NONE, 1 },
00485 { INSTRUCTION_TYPE_OTHER, "shld", AM_E|OT_v|P_w, AM_G|OT_v|P_r, AM_I|OT_b|P_r,1 },
00486 { INSTRUCTION_TYPE_OTHER, "shld", AM_E|OT_v|P_w, AM_G|OT_v|P_r, AM_REG|REG_ECX|OT_b|P_r,1 },
00487 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00488 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00489 { INSTRUCTION_TYPE_PUSH, "push", AM_REG|REG_GS|F_r|P_r, FLAGS_NONE, FLAGS_NONE, 0 },
00490 { INSTRUCTION_TYPE_POP, "pop", AM_REG|REG_GS|F_r|P_w, FLAGS_NONE, FLAGS_NONE, 0 },
00491 { INSTRUCTION_TYPE_OTHER, "rsm", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00492 { INSTRUCTION_TYPE_BTS, "bts", AM_E|OT_v|P_r, AM_G|OT_v|P_r, FLAGS_NONE, 1 },
00493 { INSTRUCTION_TYPE_OTHER, "shrd", AM_E|OT_v|P_w, AM_G|OT_v|P_r, AM_I|OT_b|P_r,1 },
00494 { INSTRUCTION_TYPE_OTHER, "shrd", AM_E|OT_v|P_w, AM_G|OT_v|P_r, AM_REG|REG_ECX|OT_b|P_r,1 },
00495
00496 { INSTRUCTION_TYPE_OTHER, "grp15", AM_E|OT_v, FLAGS_NONE, FLAGS_NONE, 1 },
00497 { INSTRUCTION_TYPE_EIMUL, "imul", AM_G|OT_v|P_r, AM_E|OT_v|P_r, FLAGS_NONE|P_r,1 },
00498 { INSTRUCTION_TYPE_OTHER, "cmpxchg", AM_E|OT_b|P_w, AM_G|OT_b|P_w, FLAGS_NONE, 1 },
00499 { INSTRUCTION_TYPE_OTHER, "cmpxchg", AM_E|OT_v|P_w, AM_G|OT_v|P_w, FLAGS_NONE, 1 },
00500 { INSTRUCTION_TYPE_LFP, "lss", AM_G|OT_v|P_w, AM_M|OT_v|P_r, FLAGS_NONE, 1 },
00501 { INSTRUCTION_TYPE_BTR, "btr", AM_E|OT_v|P_r, AM_G|OT_v|P_r, FLAGS_NONE, 1 },
00502 { INSTRUCTION_TYPE_LFP, "lfs", AM_G|OT_v|P_w, AM_M|OT_v|P_r, FLAGS_NONE, 1 },
00503 { INSTRUCTION_TYPE_LFP, "lgs", AM_G|OT_v|P_w, AM_M|OT_v|P_r, FLAGS_NONE, 1 },
00504 { INSTRUCTION_TYPE_MOVZX, "movzx", AM_G|OT_v|P_w, AM_E|OT_v|P_r, FLAGS_NONE, 1 },
00505 { INSTRUCTION_TYPE_MOVZX, "movzx", AM_G|OT_d|P_w, AM_E|OT_v|P_r, FLAGS_NONE, 1 },
00506 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00507
00508 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00509 { INSTRUCTION_TYPE_OTHER, "g8", AM_E|OT_v, AM_I|OT_b, FLAGS_NONE, 1 },
00510 { INSTRUCTION_TYPE_BTC, "btc", AM_E|OT_v|P_r, AM_G|OT_v|P_r, FLAGS_NONE, 1 },
00511 { INSTRUCTION_TYPE_BSF, "bsf", AM_G|OT_v|P_r, AM_E|OT_v|P_r, FLAGS_NONE, 1 },
00512 { INSTRUCTION_TYPE_BSR, "bsr", AM_G|OT_v|P_r, AM_E|OT_v|P_r, FLAGS_NONE, 1 },
00513 { INSTRUCTION_TYPE_MOVSX, "movsx", AM_G|OT_v|P_w, AM_E|OT_b|P_r, FLAGS_NONE, 1 },
00514 { INSTRUCTION_TYPE_MOVSX, "movsx", AM_G|OT_v|P_w, AM_E|OT_w|P_r, FLAGS_NONE, 1 },
00515 { INSTRUCTION_TYPE_XADD, "xadd", AM_E|OT_b|P_w, AM_G|OT_b|P_w, FLAGS_NONE, 1 },
00516 { INSTRUCTION_TYPE_XADD, "xadd", AM_E|OT_v|P_w, AM_G|OT_v|P_w, FLAGS_NONE, 1 },
00517 { INSTRUCTION_TYPE_SSE|TYPE_3,"cmpps", AM_V|OT_ps|P_r, AM_W|OT_ps|P_r, AM_I|OT_b, 1 },
00518 { INSTRUCTION_TYPE_OTHER, "movnti", AM_M|OT_d|P_w, AM_G|OT_d|P_r, FLAGS_NONE, 1 },
00519 { INSTRUCTION_TYPE_SSE|TYPE_3,"pinsrw", AM_P|OT_w|P_w, AM_E|OT_w|P_r, AM_I|OT_b, 1 },
00520 { INSTRUCTION_TYPE_SSE|TYPE_3,"pextrv", AM_G|OT_w|P_w, AM_P|OT_w|P_r, AM_I|OT_b|P_r,1 },
00521 { INSTRUCTION_TYPE_SSE|TYPE_3,"shufps", AM_V|OT_ps|P_w, AM_W|OT_ps|P_r, AM_I|OT_b|P_r,1 },
00522 { INSTRUCTION_TYPE_OTHER, "g9", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00523 { INSTRUCTION_TYPE_BSWAP, "bswap", AM_REG|REG_EAX|OT_v|P_w, FLAGS_NONE, FLAGS_NONE, 0 },
00524 { INSTRUCTION_TYPE_BSWAP, "bswap", AM_REG|REG_ECX|OT_v|P_w, FLAGS_NONE, FLAGS_NONE, 0 },
00525 { INSTRUCTION_TYPE_BSWAP, "bswap", AM_REG|REG_EDX|OT_v|P_w, FLAGS_NONE, FLAGS_NONE, 0 },
00526 { INSTRUCTION_TYPE_BSWAP, "bswap", AM_REG|REG_EBX|OT_v|P_w, FLAGS_NONE, FLAGS_NONE, 0 },
00527 { INSTRUCTION_TYPE_BSWAP, "bswap", AM_REG|REG_ESP|OT_v|P_w, FLAGS_NONE, FLAGS_NONE, 0 },
00528 { INSTRUCTION_TYPE_BSWAP, "bswap", AM_REG|REG_EBP|OT_v|P_w, FLAGS_NONE, FLAGS_NONE, 0 },
00529 { INSTRUCTION_TYPE_BSWAP, "bswap", AM_REG|REG_ESI|OT_v|P_w, FLAGS_NONE, FLAGS_NONE, 0 },
00530 { INSTRUCTION_TYPE_BSWAP, "bswap", AM_REG|REG_EDI|OT_v|P_w, FLAGS_NONE, FLAGS_NONE, 0 },
00531 { INSTRUCTION_TYPE_OTHER|TYPE_3,NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00532 { INSTRUCTION_TYPE_MMX|TYPE_3,"psrlw", AM_P|OT_q|P_w, AM_Q|OT_q|P_r, FLAGS_NONE, 1 },
00533 { INSTRUCTION_TYPE_MMX|TYPE_3,"psrld", AM_P|OT_q|P_w, AM_Q|OT_q|P_r, FLAGS_NONE, 1 },
00534 { INSTRUCTION_TYPE_MMX|TYPE_3,"psrlq", AM_P|OT_q|P_w, AM_Q|OT_q|P_r, FLAGS_NONE, 1 },
00535 { INSTRUCTION_TYPE_MMX|TYPE_3,"paddq", AM_P|OT_q|P_w, AM_Q|OT_q|P_r, FLAGS_NONE, 1 },
00536 { INSTRUCTION_TYPE_MMX|TYPE_3,"pmullw", AM_P|OT_q|P_w, AM_Q|OT_q|P_r, FLAGS_NONE, 1 },
00537 { INSTRUCTION_TYPE_OTHER|TYPE_3,NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00538 { INSTRUCTION_TYPE_MMX|TYPE_3,"pmovmskb",AM_G|OT_q|P_w, AM_P|OT_q|P_r, FLAGS_NONE, 1 },
00539 { INSTRUCTION_TYPE_MMX|TYPE_3,"psubusb",AM_P|OT_q|P_w, AM_Q|OT_q|P_r, FLAGS_NONE, 1 },
00540 { INSTRUCTION_TYPE_MMX|TYPE_3,"psubusw",AM_P|OT_q|P_w, AM_Q|OT_q|P_r, FLAGS_NONE, 1 },
00541 { INSTRUCTION_TYPE_MMX|TYPE_3,"pminub", AM_P|OT_q|P_w, AM_Q|OT_q|P_r, FLAGS_NONE, 1 },
00542 { INSTRUCTION_TYPE_MMX|TYPE_3,"pand", AM_P|OT_q|P_w, AM_Q|OT_q|P_r, FLAGS_NONE, 1 },
00543 { INSTRUCTION_TYPE_MMX|TYPE_3,"paddusb",AM_P|OT_q|P_w, AM_Q|OT_q|P_r, FLAGS_NONE, 1 },
00544 { INSTRUCTION_TYPE_MMX|TYPE_3,"paddusw",AM_P|OT_q|P_w, AM_Q|OT_q|P_r, FLAGS_NONE, 1 },
00545 { INSTRUCTION_TYPE_MMX|TYPE_3,"pmaxsw", AM_P|OT_q|P_w, AM_Q|OT_q|P_r, FLAGS_NONE, 1 },
00546 { INSTRUCTION_TYPE_MMX|TYPE_3,"pandn", AM_P|OT_q|P_w, AM_Q|OT_q|P_r, FLAGS_NONE, 1 },
00547 { INSTRUCTION_TYPE_MMX|TYPE_3,"pavgb", AM_P|OT_q|P_w, AM_Q|OT_q|P_r, FLAGS_NONE, 1 },
00548 { INSTRUCTION_TYPE_MMX|TYPE_3,"psraw", AM_P|OT_q|P_w, AM_Q|OT_q|P_r, FLAGS_NONE, 1 },
00549 { INSTRUCTION_TYPE_MMX|TYPE_3,"psrad", AM_P|OT_q|P_w, AM_Q|OT_q|P_r, FLAGS_NONE, 1 },
00550 { INSTRUCTION_TYPE_MMX|TYPE_3,"pavgw", AM_P|OT_q|P_w, AM_Q|OT_q|P_r, FLAGS_NONE, 1 },
00551 { INSTRUCTION_TYPE_MMX|TYPE_3,"pmulhuw",AM_P|OT_q|P_w, AM_Q|OT_q|P_r, FLAGS_NONE, 1 },
00552 { INSTRUCTION_TYPE_MMX|TYPE_3,"pmulhw", AM_P|OT_q|P_w, AM_Q|OT_q|P_r, FLAGS_NONE, 1 },
00553 { INSTRUCTION_TYPE_OTHER|TYPE_3,NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00554 { INSTRUCTION_TYPE_MMX|TYPE_3,"movntq", AM_M|OT_q|P_w, AM_V|OT_q|P_r, FLAGS_NONE, 1 },
00555 { INSTRUCTION_TYPE_MMX|TYPE_3,"psubsb", AM_P|OT_q|P_w, AM_Q|OT_q|P_r, FLAGS_NONE, 1 },
00556 { INSTRUCTION_TYPE_MMX|TYPE_3,"psubsw", AM_P|OT_q|P_w, AM_Q|OT_q|P_r, FLAGS_NONE, 1 },
00557 { INSTRUCTION_TYPE_MMX|TYPE_3,"pminsw", AM_P|OT_q|P_w, AM_Q|OT_q|P_r, FLAGS_NONE, 1 },
00558 { INSTRUCTION_TYPE_MMX|TYPE_3,"por", AM_P|OT_q|P_w, AM_Q|OT_q|P_r, FLAGS_NONE, 1 },
00559 { INSTRUCTION_TYPE_MMX|TYPE_3,"paddsb", AM_P|OT_q|P_w, AM_Q|OT_q|P_r, FLAGS_NONE, 1 },
00560 { INSTRUCTION_TYPE_MMX|TYPE_3,"paddsw", AM_P|OT_q|P_w, AM_Q|OT_q|P_r, FLAGS_NONE, 1 },
00561 { INSTRUCTION_TYPE_MMX|TYPE_3,"pmaxsw", AM_P|OT_q|P_w, AM_Q|OT_q|P_r, FLAGS_NONE, 1 },
00562 { INSTRUCTION_TYPE_MMX|TYPE_3,"pxor", AM_P|OT_q, AM_Q|OT_q, FLAGS_NONE, 1 },
00563 { INSTRUCTION_TYPE_OTHER|TYPE_3,NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00564 { INSTRUCTION_TYPE_MMX|TYPE_3,"psllw", AM_P|OT_q|P_w, AM_Q|OT_q|P_r, FLAGS_NONE, 1 },
00565 { INSTRUCTION_TYPE_MMX|TYPE_3,"pslld", AM_P|OT_q|P_w, AM_Q|OT_q|P_r, FLAGS_NONE, 1 },
00566 { INSTRUCTION_TYPE_MMX|TYPE_3,"psllq", AM_P|OT_q|P_w, AM_Q|OT_q|P_r, FLAGS_NONE, 1 },
00567 { INSTRUCTION_TYPE_MMX|TYPE_3,"pmuludq",AM_P|OT_q|P_w, AM_Q|OT_q|P_r, FLAGS_NONE, 1 },
00568 { INSTRUCTION_TYPE_MMX|TYPE_3,"pmaddwd",AM_P|OT_q|P_w, AM_Q|OT_q|P_r, FLAGS_NONE, 1 },
00569 { INSTRUCTION_TYPE_MMX|TYPE_3,"psadbw", AM_P|OT_q|P_w, AM_Q|OT_q|P_r, FLAGS_NONE, 1 },
00570
00571 { INSTRUCTION_TYPE_MMX|TYPE_3,"maskmovq",AM_P|OT_q|P_w, AM_Q|OT_q|P_r, FLAGS_NONE, 1 },
00572 { INSTRUCTION_TYPE_MMX|TYPE_3,"psubb", AM_P|OT_q|P_w, AM_Q|OT_q|P_r, FLAGS_NONE, 1 },
00573 { INSTRUCTION_TYPE_MMX|TYPE_3,"psubw", AM_P|OT_q|P_w, AM_Q|OT_q|P_r, FLAGS_NONE, 1 },
00574 { INSTRUCTION_TYPE_MMX|TYPE_3,"psubd", AM_P|OT_q|P_w, AM_Q|OT_q|P_r, FLAGS_NONE, 1 },
00575 { INSTRUCTION_TYPE_MMX|TYPE_3,"psubq", AM_P|OT_q|P_w, AM_Q|OT_q|P_r, FLAGS_NONE, 1 },
00576 { INSTRUCTION_TYPE_MMX|TYPE_3,"paddb", AM_P|OT_q|P_w, AM_Q|OT_q|P_r, FLAGS_NONE, 1 },
00577 { INSTRUCTION_TYPE_MMX|TYPE_3,"paddw", AM_P|OT_q|P_w, AM_Q|OT_q|P_r, FLAGS_NONE, 1 },
00578 { INSTRUCTION_TYPE_MMX|TYPE_3,"paddd", AM_P|OT_q|P_w, AM_Q|OT_q|P_r, FLAGS_NONE, 1 },
00579 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00580 };
00581
00582
00583
00584
00585
00586
00587 INST inst_table3_66[256] = {
00588 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00589 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00590 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00591 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00592 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00593 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00594 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00595 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00596 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00597 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00598 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00599 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00600 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00601 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00602 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00603 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00604 { INSTRUCTION_TYPE_SSE, "movupd", AM_V|OT_pd|P_w, AM_W|OT_pd|P_r, FLAGS_NONE, 1 },
00605 { INSTRUCTION_TYPE_SSE, "movupd", AM_W|OT_pd|P_w, AM_V|OT_pd|P_r, FLAGS_NONE, 1 },
00606 { INSTRUCTION_TYPE_SSE, "movlpd", AM_V|OT_q|P_w, AM_M|OT_q|P_r, FLAGS_NONE, 1 },
00607 { INSTRUCTION_TYPE_SSE, "movlpd", AM_M|OT_q|P_w, AM_V|OT_q|P_r, FLAGS_NONE, 1 },
00608 { INSTRUCTION_TYPE_SSE, "unpcklpd", AM_V|OT_pd|P_w, AM_W|OT_pd|P_r, FLAGS_NONE, 1 },
00609 { INSTRUCTION_TYPE_SSE, "unpcklpd", AM_V|OT_pd|P_w, AM_W|OT_pd|P_r, FLAGS_NONE, 1 },
00610 { INSTRUCTION_TYPE_SSE, "movhpd", AM_V|OT_q|P_w, AM_M|OT_q|P_r, FLAGS_NONE, 1 },
00611 { INSTRUCTION_TYPE_SSE, "movhpd", AM_M|OT_q|P_w, AM_V|OT_pd|P_r, FLAGS_NONE, 1 },
00612 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00613 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00614 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00615 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00616 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00617 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00618 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00619 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00620 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00621 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00622 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00623 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00624 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00625 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00626 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00627 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00628 { INSTRUCTION_TYPE_SSE, "movapd", AM_V|OT_pd|P_w, AM_W|OT_pd|P_r, FLAGS_NONE, 1 },
00629 { INSTRUCTION_TYPE_SSE, "movapd", AM_W|OT_pd|P_w, AM_V|OT_pd|P_r, FLAGS_NONE, 1 },
00630 { INSTRUCTION_TYPE_SSE, "cvtpi2pd", AM_V|OT_pd|P_r, AM_Q|OT_q|P_r, FLAGS_NONE, 1 },
00631 { INSTRUCTION_TYPE_SSE, "movntpd", AM_M|OT_pd|P_w, AM_V|OT_pd|P_r, FLAGS_NONE, 1 },
00632 { INSTRUCTION_TYPE_SSE, "cvttpd2pi", AM_P|OT_q|P_r, AM_W|OT_pd|P_r, FLAGS_NONE, 1 },
00633 { INSTRUCTION_TYPE_SSE, "cvtpd2pi", AM_P|OT_q|P_r, AM_W|OT_pd|P_r, FLAGS_NONE, 1 },
00634 { INSTRUCTION_TYPE_SSE, "ucomisd", AM_V|OT_sd|P_w, AM_W|OT_sd|P_r, FLAGS_NONE, 1 },
00635 { INSTRUCTION_TYPE_SSE, "comisd", AM_V|OT_sd|P_w, AM_W|OT_sd|P_w, FLAGS_NONE, 1 },
00636 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00637 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00638 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00639 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00640 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00641 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00642 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00643 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00644 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00645 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00646 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00647 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00648 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00649 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00650 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00651 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00652 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00653 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00654 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00655 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00656 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00657 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00658 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00659 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00660 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00661 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00662 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00663 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00664 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00665 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00666 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00667 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00668 { INSTRUCTION_TYPE_SSE, "movmskpd", AM_G|OT_d|P_w, AM_V|OT_pd|P_r, FLAGS_NONE, 1 },
00669 { INSTRUCTION_TYPE_SSE, "sqrtpd", AM_V|OT_pd|P_w, AM_W|OT_pd|P_r, FLAGS_NONE, 1 },
00670 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00671 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00672 { INSTRUCTION_TYPE_SSE, "andpd", AM_V|OT_pd|P_w, AM_W|OT_pd|P_r, FLAGS_NONE, 1 },
00673 { INSTRUCTION_TYPE_SSE, "andnpd", AM_V|OT_pd|P_w, AM_W|OT_pd|P_r, FLAGS_NONE, 1 },
00674 { INSTRUCTION_TYPE_SSE, "orpd", AM_V|OT_pd|P_w, AM_W|OT_pd|P_r, FLAGS_NONE, 1 },
00675 { INSTRUCTION_TYPE_SSE, "xorpd", AM_V|OT_pd|P_w, AM_W|OT_pd|P_r, FLAGS_NONE, 1 },
00676 { INSTRUCTION_TYPE_SSE, "addpd", AM_V|OT_pd|P_w, AM_W|OT_ps|P_r, FLAGS_NONE, 1 },
00677 { INSTRUCTION_TYPE_SSE, "mulpd", AM_V|OT_pd|P_w, AM_W|OT_ps|P_r, FLAGS_NONE, 1 },
00678 { INSTRUCTION_TYPE_SSE, "cvtpd2ps", AM_V|OT_pd|P_r, AM_W|OT_pd|P_r, FLAGS_NONE, 1 },
00679 { INSTRUCTION_TYPE_SSE, "cvtps2dq", AM_V|OT_pd|P_r, AM_W|OT_ps|P_r, FLAGS_NONE, 1 },
00680 { INSTRUCTION_TYPE_SSE, "subpd", AM_V|OT_pd|P_w, AM_W|OT_ps|P_r, FLAGS_NONE, 1 },
00681 { INSTRUCTION_TYPE_SSE, "minpd", AM_V|OT_pd|P_w, AM_W|OT_pd|P_r, FLAGS_NONE, 1 },
00682 { INSTRUCTION_TYPE_SSE, "divpd", AM_V|OT_pd|P_w, AM_W|OT_pd|P_r, FLAGS_NONE, 1 },
00683 { INSTRUCTION_TYPE_SSE, "maxpd", AM_V|OT_pd|P_w, AM_W|OT_pd|P_r, FLAGS_NONE, 1 },
00684 { INSTRUCTION_TYPE_SSE, "punpcklbw", AM_V|OT_dq|P_w, AM_W|OT_dq|P_r, FLAGS_NONE, 1 },
00685 { INSTRUCTION_TYPE_SSE, "punpcklwd", AM_V|OT_dq|P_w, AM_W|OT_dq|P_r, FLAGS_NONE, 1 },
00686 { INSTRUCTION_TYPE_SSE, "punockldq", AM_V|OT_dq|P_w, AM_W|OT_dq|P_r, FLAGS_NONE, 1 },
00687 { INSTRUCTION_TYPE_SSE, "packusdw", AM_V|OT_dq|P_w, AM_W|OT_dq|P_r, FLAGS_NONE, 1 },
00688 { INSTRUCTION_TYPE_SSE, "pcmpgtb", AM_V|OT_dq|P_w, AM_W|OT_dq|P_r, FLAGS_NONE, 1 },
00689 { INSTRUCTION_TYPE_SSE, "pcmpgtw", AM_V|OT_dq|P_w, AM_W|OT_dq|P_r, FLAGS_NONE, 1 },
00690 { INSTRUCTION_TYPE_SSE, "pcmpgtd", AM_V|OT_dq|P_w, AM_W|OT_dq|P_r, FLAGS_NONE, 1 },
00691 { INSTRUCTION_TYPE_SSE, "packsswb", AM_V|OT_dq|P_w, AM_W|OT_dq|P_r, FLAGS_NONE, 1 },
00692 { INSTRUCTION_TYPE_SSE, "punpckhbw", AM_V|OT_dq|P_w, AM_Q|OT_dq|P_r, FLAGS_NONE, 1 },
00693 { INSTRUCTION_TYPE_SSE, "punpckhbd", AM_V|OT_dq|P_w, AM_Q|OT_dq|P_r, FLAGS_NONE, 1 },
00694 { INSTRUCTION_TYPE_SSE, "punpckhdq", AM_V|OT_dq|P_w, AM_Q|OT_dq|P_r, FLAGS_NONE, 1 },
00695 { INSTRUCTION_TYPE_SSE, "packssdw", AM_V|OT_dq|P_w, AM_Q|OT_dq|P_r, FLAGS_NONE, 1 },
00696 { INSTRUCTION_TYPE_SSE, "punpcklqdq", AM_V|OT_dq|P_w, AM_W|OT_dq|P_r, FLAGS_NONE, 1 },
00697 { INSTRUCTION_TYPE_SSE, "punpckhqd", AM_V|OT_dq|P_w, AM_W|OT_dq|P_r, FLAGS_NONE, 1 },
00698 { INSTRUCTION_TYPE_SSE, "movd", AM_V|OT_d|P_w, AM_E|OT_dq|P_r, FLAGS_NONE, 1 },
00699 { INSTRUCTION_TYPE_SSE, "movdqa", AM_V|OT_dq|P_w, AM_W|OT_dq|P_r, FLAGS_NONE, 1 },
00700 { INSTRUCTION_TYPE_SSE, "pshufd", AM_V|OT_dq|P_w, AM_W|OT_dq|P_r, AM_I|OT_b, 1 },
00701
00702 { INSTRUCTION_TYPE_SSE, "g12", AM_P|OT_dq, AM_I|OT_b, FLAGS_NONE, 1 },
00703 { INSTRUCTION_TYPE_SSE, "g13", AM_W|OT_dq, AM_I|OT_b, FLAGS_NONE, 1 },
00704 { INSTRUCTION_TYPE_SSE, "g14", AM_W|OT_dq, AM_I|OT_b, FLAGS_NONE, 1 },
00705 { INSTRUCTION_TYPE_SSE, "pcmpeqb", AM_V|OT_dq|P_w, AM_W|OT_dq|P_r, FLAGS_NONE, 1 },
00706 { INSTRUCTION_TYPE_SSE, "pcmpeqw", AM_V|OT_dq|P_w, AM_W|OT_dq|P_r, FLAGS_NONE, 1 },
00707 { INSTRUCTION_TYPE_SSE, "pcmpeqd", AM_V|OT_dq|P_w, AM_W|OT_dq|P_r, FLAGS_NONE, 1 },
00708 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00709 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00710 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00711 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00712 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00713 { INSTRUCTION_TYPE_SSE, "haddpd", AM_V|OT_pd, AM_W|OT_pd, FLAGS_NONE, 1 },
00714 { INSTRUCTION_TYPE_SSE, "hsubpd", AM_V|OT_pd, AM_W|OT_pd, FLAGS_NONE, 1 },
00715 { INSTRUCTION_TYPE_SSE, "movd", AM_E|OT_d|P_w, AM_V|OT_d|P_r, FLAGS_NONE, 1 },
00716 { INSTRUCTION_TYPE_SSE, "movdqa", AM_W|OT_dq|P_w, AM_V|OT_dq|P_r, FLAGS_NONE, 1 },
00717 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00718 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00719 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00720 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00721 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00722 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00723 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00724 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00725 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00726 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00727 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00728 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00729 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00730 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00731 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00732 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00733 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00734 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00735 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00736 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00737 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00738 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00739 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00740 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00741 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00742 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00743 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00744 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00745 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00746 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00747 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00748 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00749 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00750 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00751 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00752 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00753 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00754 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00755 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00756 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00757 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00758 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00759 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00760 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00761 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00762 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00763 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00764 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00765 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00766 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00767 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00768 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00769 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00770 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00771 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00772 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00773 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00774 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00775 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00776 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00777 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00778 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00779 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00780 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00781 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00782 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00783 { INSTRUCTION_TYPE_SSE, "cmppd", AM_V|OT_pd|P_r, AM_W|OT_pd|P_r, AM_I|OT_b, 1 },
00784 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00785 { INSTRUCTION_TYPE_SSE, "pinsrw", AM_V|OT_w|P_w, AM_E|OT_w|P_r, AM_I|OT_b, 1 },
00786 { INSTRUCTION_TYPE_SSE, "pextrv", AM_G|OT_w|P_w, AM_V|OT_w|P_r, AM_I|OT_b|P_r,1 },
00787 { INSTRUCTION_TYPE_SSE, "shufpd", AM_V|OT_pd|P_w, AM_W|OT_pd|P_r, AM_I|OT_b|P_r,1 },
00788 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00789 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00790 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00791 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00792 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00793 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00794 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00795 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00796 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00797 { INSTRUCTION_TYPE_SSE, "addsubpd", AM_V|OT_pd|P_w, AM_W|OT_pd|P_r, FLAGS_NONE, 1 },
00798 { INSTRUCTION_TYPE_SSE, "psrlw", AM_V|OT_dq|P_w, AM_Q|OT_dq|P_r, FLAGS_NONE, 1 },
00799 { INSTRUCTION_TYPE_SSE, "psrld", AM_V|OT_dq|P_w, AM_W|OT_dq|P_r, FLAGS_NONE, 1 },
00800 { INSTRUCTION_TYPE_SSE, "psrlq", AM_V|OT_dq|P_w, AM_W|OT_dq|P_r, FLAGS_NONE, 1 },
00801 { INSTRUCTION_TYPE_SSE, "paddq", AM_V|OT_dq|P_w, AM_W|OT_dq|P_r, FLAGS_NONE, 1 },
00802 { INSTRUCTION_TYPE_SSE, "pmullw", AM_V|OT_dq|P_w, AM_W|OT_dq|P_r, FLAGS_NONE, 1 },
00803 { INSTRUCTION_TYPE_SSE, "movq", AM_W|OT_q|P_w, AM_V|OT_q|P_r, FLAGS_NONE, 1 },
00804 { INSTRUCTION_TYPE_SSE, "pmovmskb", AM_G|OT_d|P_w, AM_V|OT_dq|P_r, FLAGS_NONE, 1 },
00805 { INSTRUCTION_TYPE_SSE, "psubusb", AM_V|OT_dq|P_w, AM_W|OT_dq|P_r, FLAGS_NONE, 1 },
00806 { INSTRUCTION_TYPE_SSE, "psubusw", AM_V|OT_dq|P_w, AM_W|OT_dq|P_r, FLAGS_NONE, 1 },
00807 { INSTRUCTION_TYPE_SSE, "pminub", AM_V|OT_dq|P_w, AM_W|OT_dq|P_r, FLAGS_NONE, 1 },
00808 { INSTRUCTION_TYPE_SSE, "pand", AM_V|OT_dq|P_w, AM_W|OT_dq|P_r, FLAGS_NONE, 1 },
00809 { INSTRUCTION_TYPE_SSE, "paddusb", AM_V|OT_dq|P_w, AM_W|OT_dq|P_r, FLAGS_NONE, 1 },
00810 { INSTRUCTION_TYPE_SSE, "paddusw", AM_V|OT_dq|P_w, AM_W|OT_dq|P_r, FLAGS_NONE, 1 },
00811 { INSTRUCTION_TYPE_SSE, "pmaxsw", AM_V|OT_dq|P_w, AM_W|OT_dq|P_r, FLAGS_NONE, 1 },
00812 { INSTRUCTION_TYPE_SSE, "pandn", AM_V|OT_dq|P_w, AM_W|OT_dq|P_r, FLAGS_NONE, 1 },
00813 { INSTRUCTION_TYPE_SSE, "pavgb", AM_V|OT_dq|P_w, AM_W|OT_dq|P_r, FLAGS_NONE, 1 },
00814 { INSTRUCTION_TYPE_SSE, "psraw", AM_V|OT_dq|P_w, AM_W|OT_dq|P_r, FLAGS_NONE, 1 },
00815 { INSTRUCTION_TYPE_SSE, "psrad", AM_V|OT_dq|P_w, AM_W|OT_dq|P_r, FLAGS_NONE, 1 },
00816 { INSTRUCTION_TYPE_SSE, "pavgw", AM_V|OT_dq|P_w, AM_W|OT_dq|P_r, FLAGS_NONE, 1 },
00817 { INSTRUCTION_TYPE_SSE, "pmulhuw", AM_V|OT_dq|P_w, AM_W|OT_dq|P_r, FLAGS_NONE, 1 },
00818 { INSTRUCTION_TYPE_SSE, "pmulhw", AM_V|OT_dq|P_w, AM_W|OT_dq|P_r, FLAGS_NONE, 1 },
00819 { INSTRUCTION_TYPE_SSE, "cvttpd2dq", AM_V|OT_dq|P_r, AM_W|OT_pd|P_r, FLAGS_NONE, 1 },
00820 { INSTRUCTION_TYPE_SSE, "movntq", AM_M|OT_dq|P_w, AM_V|OT_dq|P_r, FLAGS_NONE, 1 },
00821 { INSTRUCTION_TYPE_SSE, "psubsb", AM_V|OT_dq|P_w, AM_W|OT_dq|P_r, FLAGS_NONE, 1 },
00822 { INSTRUCTION_TYPE_SSE, "psubsw", AM_V|OT_dq|P_w, AM_W|OT_dq|P_r, FLAGS_NONE, 1 },
00823 { INSTRUCTION_TYPE_SSE, "pminsw", AM_V|OT_dq|P_w, AM_W|OT_dq|P_r, FLAGS_NONE, 1 },
00824 { INSTRUCTION_TYPE_SSE, "por", AM_V|OT_dq|P_w, AM_W|OT_dq|P_r, FLAGS_NONE, 1 },
00825 { INSTRUCTION_TYPE_SSE, "paddsb", AM_V|OT_dq|P_w, AM_W|OT_dq|P_r, FLAGS_NONE, 1 },
00826 { INSTRUCTION_TYPE_SSE, "paddsw", AM_V|OT_dq|P_w, AM_W|OT_dq|P_r, FLAGS_NONE, 1 },
00827 { INSTRUCTION_TYPE_SSE, "pmaxsw", AM_V|OT_dq|P_w, AM_W|OT_dq|P_r, FLAGS_NONE, 1 },
00828 { INSTRUCTION_TYPE_SSE, "pxor", AM_V|OT_dq, AM_W|OT_dq, FLAGS_NONE, 1 },
00829 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00830 { INSTRUCTION_TYPE_SSE, "psllw", AM_V|OT_dq|P_w, AM_W|OT_dq|P_r, FLAGS_NONE, 1 },
00831 { INSTRUCTION_TYPE_SSE, "pslld", AM_V|OT_dq|P_w, AM_W|OT_dq|P_r, FLAGS_NONE, 1 },
00832 { INSTRUCTION_TYPE_SSE, "psllq", AM_V|OT_dq|P_w, AM_W|OT_dq|P_r, FLAGS_NONE, 1 },
00833 { INSTRUCTION_TYPE_SSE, "pmuludq", AM_V|OT_dq|P_w, AM_W|OT_dq|P_r, FLAGS_NONE, 1 },
00834 { INSTRUCTION_TYPE_SSE, "pmaddwd", AM_V|OT_dq|P_w, AM_W|OT_dq|P_r, FLAGS_NONE, 1 },
00835 { INSTRUCTION_TYPE_SSE, "psadbw", AM_V|OT_dq|P_w, AM_W|OT_dq|P_r, FLAGS_NONE, 1 },
00836 { INSTRUCTION_TYPE_SSE, "maskmovdqu", AM_V|OT_dq|P_w, AM_W|OT_dq|P_r, FLAGS_NONE, 1 },
00837 { INSTRUCTION_TYPE_SSE, "psubb", AM_V|OT_dq|P_w, AM_W|OT_dq|P_r, FLAGS_NONE, 1 },
00838 { INSTRUCTION_TYPE_SSE, "psubw", AM_V|OT_dq|P_w, AM_W|OT_dq|P_r, FLAGS_NONE, 1 },
00839 { INSTRUCTION_TYPE_SSE, "psubd", AM_V|OT_dq|P_w, AM_W|OT_dq|P_r, FLAGS_NONE, 1 },
00840 { INSTRUCTION_TYPE_SSE, "psubq", AM_V|OT_dq|P_w, AM_W|OT_dq|P_r, FLAGS_NONE, 1 },
00841 { INSTRUCTION_TYPE_SSE, "paddb", AM_V|OT_dq|P_w, AM_W|OT_dq|P_r, FLAGS_NONE, 1 },
00842 { INSTRUCTION_TYPE_SSE, "paddw", AM_V|OT_dq|P_w, AM_W|OT_dq|P_r, FLAGS_NONE, 1 },
00843 { INSTRUCTION_TYPE_SSE, "paddd", AM_V|OT_dq|P_w, AM_W|OT_dq|P_r, FLAGS_NONE, 1 },
00844 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00845 };
00846
00847
00848
00849 INST inst_table3_f2[256] = {
00850 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00851 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00852 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00853 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00854 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00855 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00856 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00857 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00858 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00859 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00860 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00861 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00862 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00863 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00864 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00865 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00866 { INSTRUCTION_TYPE_SSE, "movsd", AM_V|OT_sd|P_w, AM_W|OT_sd|P_r, FLAGS_NONE, 1 },
00867 { INSTRUCTION_TYPE_SSE, "movsd", AM_W|OT_sd|P_w, AM_V|OT_sd|P_r, FLAGS_NONE, 1 },
00868 { INSTRUCTION_TYPE_SSE, "movddup", AM_V|OT_q|P_w, AM_W|OT_q|P_r, FLAGS_NONE, 1 },
00869 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00870 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00871 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00872 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00873 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00874 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00875 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00876 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00877 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00878 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00879 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00880 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00881 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00882 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00883 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00884 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00885 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00886 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00887 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00888 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00889 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00890 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00891 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00892 { INSTRUCTION_TYPE_SSE, "cvtsi2sd", AM_V|OT_sd|P_r, AM_E|OT_d|P_r, FLAGS_NONE, 1 },
00893 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00894 { INSTRUCTION_TYPE_SSE, "cvttsd2si", AM_G|OT_d|P_r, AM_W|OT_sd|P_r, FLAGS_NONE, 1 },
00895 { INSTRUCTION_TYPE_SSE, "cvtsd2si", AM_G|OT_d|P_r, AM_W|OT_sd|P_r, FLAGS_NONE, 1 },
00896 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00897 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00898 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00899 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00900 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00901 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00902 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00903 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00904 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00905 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00906 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00907 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00908 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00909 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00910 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00911 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00912 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00913 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00914 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00915 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00916 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00917 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00918 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00919 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00920 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00921 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00922 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00923 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00924 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00925 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00926 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00927 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00928 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00929 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00930 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00931 { INSTRUCTION_TYPE_SSE, "sqrtsd", AM_V|OT_sd|P_w, AM_W|OT_sd|P_r, FLAGS_NONE, 1 },
00932 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00933 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00934 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00935 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00936 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00937 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00938 { INSTRUCTION_TYPE_SSE, "addsd", AM_V|OT_sd|P_w, AM_W|OT_sd|P_r, FLAGS_NONE, 1 },
00939 { INSTRUCTION_TYPE_SSE, "mulsd", AM_V|OT_sd|P_w, AM_W|OT_sd|P_r, FLAGS_NONE, 1 },
00940 { INSTRUCTION_TYPE_SSE, "cvtsd2ss", AM_V|OT_ss|P_r, AM_W|OT_sd|P_r, FLAGS_NONE, 1 },
00941 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00942 { INSTRUCTION_TYPE_SSE, "subsd", AM_V|OT_sd|P_w, AM_W|OT_sd|P_r, FLAGS_NONE, 1 },
00943 { INSTRUCTION_TYPE_SSE, "minsd", AM_V|OT_sd|P_w, AM_W|OT_sd|P_r, FLAGS_NONE, 1 },
00944 { INSTRUCTION_TYPE_SSE, "divsd", AM_V|OT_sd|P_w, AM_W|OT_sd|P_r, FLAGS_NONE, 1 },
00945 { INSTRUCTION_TYPE_SSE, "maxsd", AM_V|OT_sd|P_w, AM_W|OT_sd|P_r, FLAGS_NONE, 1 },
00946 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00947 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00948 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00949 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00950 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00951 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00952 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00953 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00954 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00955 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00956 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00957 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00958 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00959 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00960 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00961 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00962 { INSTRUCTION_TYPE_SSE, "pshuflw", AM_V|OT_dq|P_w, AM_W|OT_dq|P_r, AM_I|OT_b, 1 },
00963 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00964 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00965 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00966 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00967 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00968 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00969 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00970 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00971 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00972 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00973 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00974 { INSTRUCTION_TYPE_SSE, "haddps", AM_V|OT_ps, AM_W|OT_ps, FLAGS_NONE, 1 },
00975 { INSTRUCTION_TYPE_SSE, "hsubps", AM_V|OT_ps, AM_W|OT_ps, FLAGS_NONE, 1 },
00976 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00977 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00978 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00979 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00980 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00981 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00982 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00983 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00984 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00985 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00986 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00987 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00988 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00989 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00990 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00991 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00992 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00993 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00994 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00995 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00996 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00997 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00998 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
00999 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01000 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01001 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01002 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01003 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01004 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01005 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01006 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01007 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01008 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01009 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01010 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01011 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01012 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01013 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01014 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01015 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01016 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01017 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01018 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01019 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01020 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01021 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01022 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01023 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01024 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01025 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01026 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01027 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01028 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01029 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01030 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01031 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01032 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01033 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01034 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01035 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01036 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01037 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01038 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01039 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01040 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01041 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01042 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01043 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01044 { INSTRUCTION_TYPE_SSE, "cmpsd", AM_V|OT_sd|P_r, AM_W|OT_sd|P_r, AM_I|OT_b, 1 },
01045 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01046 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01047 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01048 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01049 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01050 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01051 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01052 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01053 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01054 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01055 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01056 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01057 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01058 { INSTRUCTION_TYPE_SSE, "addsubpd", AM_V|OT_ps|P_w, AM_W|OT_ps|P_r, FLAGS_NONE, 1 },
01059 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01060 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01061 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01062 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01063 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01064 { INSTRUCTION_TYPE_SSE, "movdq2q", AM_P|OT_q|P_w, AM_V|OT_q|P_r, FLAGS_NONE, 1 },
01065 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01066 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01067 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01068 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01069 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01070 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01071 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01072 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01073 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01074 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01075 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01076 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01077 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01078 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01079 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01080 { INSTRUCTION_TYPE_SSE, "cvtpd2dq", AM_V|OT_dq|P_r, AM_W|OT_pd|P_r, FLAGS_NONE, 1 },
01081 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01082 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01083 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01084 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01085 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01086 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01087 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01088 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01089 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01090 { INSTRUCTION_TYPE_SSE, "lddqu", AM_V|OT_dq, AM_M|OT_dq, FLAGS_NONE, 1 },
01091 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01092 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01093 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01094 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01095 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01096 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01097 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01098 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01099 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01100 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01101 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01102 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01103 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01104 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01105 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01106 };
01107
01108
01109
01110 INST inst_table3_f3[256] = {
01111 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01112 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01113 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01114 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01115 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01116 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01117 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01118 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01119 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01120 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01121 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01122 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01123 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01124 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01125 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01126 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01127 { INSTRUCTION_TYPE_SSE, "movss", AM_V|OT_ss|P_w, AM_W|OT_ss|P_r, FLAGS_NONE, 1 },
01128 { INSTRUCTION_TYPE_SSE, "movss", AM_W|OT_ss|P_w, AM_V|OT_ss|P_r, FLAGS_NONE, 1 },
01129 { INSTRUCTION_TYPE_SSE, "movsldup", AM_V|OT_ps|P_w, AM_W|OT_ps|P_r, FLAGS_NONE, 1 },
01130 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01131 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01132 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01133 { INSTRUCTION_TYPE_SSE, "movshdup", AM_V|OT_ps|P_w, AM_W|OT_ps|P_r, FLAGS_NONE, 1 },
01134 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01135 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01136 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01137 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01138 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01139 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01140 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01141 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01142 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01143 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01144 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01145 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01146 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01147 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01148 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01149 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01150 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01151 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01152 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01153 { INSTRUCTION_TYPE_SSE, "cvtsi2ss", AM_V|OT_ss|P_r, AM_E|OT_d|P_r, FLAGS_NONE, 1 },
01154 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01155 { INSTRUCTION_TYPE_SSE, "cvttss2si", AM_G|OT_d|P_r, AM_W|OT_ss|P_r, FLAGS_NONE, 1 },
01156 { INSTRUCTION_TYPE_SSE, "cvtss2si", AM_G|OT_d|P_r, AM_W|OT_ss|P_r, FLAGS_NONE, 1 },
01157 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01158 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01159 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01160 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01161 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01162 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01163 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01164 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01165 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01166 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01167 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01168 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01169 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01170 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01171 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01172 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01173 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01174 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01175 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01176 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01177 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01178 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01179 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01180 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01181 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01182 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01183 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01184 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01185 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01186 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01187 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01188 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01189 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01190 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01191 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01192 { INSTRUCTION_TYPE_SSE, "sqrtss", AM_V|OT_ss|P_w, AM_W|OT_ss|P_r, FLAGS_NONE, 1 },
01193 { INSTRUCTION_TYPE_SSE, "rsqrtss", AM_V|OT_ss|P_w, AM_W|OT_ss|P_r, FLAGS_NONE, 1 },
01194 { INSTRUCTION_TYPE_SSE, "rcpss", AM_V|OT_ss|P_w, AM_W|OT_ss|P_r, FLAGS_NONE, 1 },
01195 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01196 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01197 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01198 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01199 { INSTRUCTION_TYPE_SSE, "addss", AM_V|OT_ss|P_w, AM_W|OT_ss|P_r, FLAGS_NONE, 1 },
01200 { INSTRUCTION_TYPE_SSE, "mulss", AM_V|OT_ss|P_w, AM_W|OT_ss|P_r, FLAGS_NONE, 1 },
01201 { INSTRUCTION_TYPE_SSE, "cvtsd2sd", AM_V|OT_sd|P_r, AM_W|OT_ss|P_r, FLAGS_NONE, 1 },
01202 { INSTRUCTION_TYPE_SSE, "cvttps2dq", AM_V|OT_dq|P_r, AM_W|OT_ps|P_r, FLAGS_NONE, 1 },
01203 { INSTRUCTION_TYPE_SSE, "subss", AM_V|OT_ss|P_w, AM_W|OT_ss|P_r, FLAGS_NONE, 1 },
01204 { INSTRUCTION_TYPE_SSE, "minss", AM_V|OT_ss|P_w, AM_W|OT_ss|P_r, FLAGS_NONE, 1 },
01205 { INSTRUCTION_TYPE_SSE, "divss", AM_V|OT_ss|P_w, AM_W|OT_ss|P_r, FLAGS_NONE, 1 },
01206 { INSTRUCTION_TYPE_SSE, "maxss", AM_V|OT_ss|P_w, AM_W|OT_ss|P_r, FLAGS_NONE, 1 },
01207 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01208 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01209 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01210 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01211 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01212 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01213 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01214 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01215 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01216 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01217 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01218 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01219 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01220 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01221 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01222 { INSTRUCTION_TYPE_SSE, "movdqu", AM_V|OT_dq|P_w, AM_W|OT_dq|P_r, AM_I|OT_b, 1 },
01223 { INSTRUCTION_TYPE_SSE, "pshufhw", AM_V|OT_dq|P_w, AM_W|OT_dq|P_r, AM_I|OT_b, 1 },
01224 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01225 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01226 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01227 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01228 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01229 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01230 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01231 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01232 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01233 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01234 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01235 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01236 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01237 { INSTRUCTION_TYPE_SSE, "movq", AM_V|OT_q|P_w, AM_W|OT_q|P_r, FLAGS_NONE, 1 },
01238 { INSTRUCTION_TYPE_SSE, "movdqu", AM_V|OT_dq|P_w, AM_W|OT_dq|P_r, FLAGS_NONE, 1 },
01239 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01240 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01241 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01242 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01243 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01244 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01245 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01246 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01247 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01248 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01249 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01250 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01251 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01252 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01253 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01254 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01255 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01256 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01257 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01258 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01259 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01260 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01261 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01262 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01263 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01264 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01265 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01266 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01267 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01268 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01269 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01270 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01271 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01272 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01273 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01274 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01275 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01276 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01277 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01278 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01279 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01280 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01281 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01282 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01283 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01284 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01285 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01286 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01287 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01288 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01289 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01290 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01291 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01292 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01293 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01294 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01295 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01296 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01297 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01298 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01299 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01300 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01301 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01302 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01303 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01304 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01305 { INSTRUCTION_TYPE_SSE, "cmpss", AM_V|OT_ss|P_r, AM_W|OT_ss|P_r, AM_I|OT_b, 1 },
01306 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01307 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01308 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01309 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01310 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01311 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01312 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01313 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01314 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01315 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01316 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01317 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01318 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01319 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01320 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01321 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01322 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01323 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01324 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01325 { INSTRUCTION_TYPE_SSE, "movq2dq", AM_V|OT_dq|P_w, AM_Q|OT_q|P_r, FLAGS_NONE, 1 },
01326 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01327 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01328 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01329 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01330 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01331 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01332 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01333 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01334 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01335 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01336 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01337 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01338 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01339 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01340 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01341 { INSTRUCTION_TYPE_SSE, "cvtdq2pd", AM_V|OT_pd|P_r, AM_W|OT_q|P_r, FLAGS_NONE, 1 },
01342 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01343 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01344 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01345 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01346 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01347 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01348 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01349 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01350 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01351 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01352 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01353 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01354 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01355 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01356 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01357 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01358 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01359 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01360 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01361 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01362 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01363 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01364 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01365 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01366 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01367 };
01368
01369
01370
01371 INST inst_table_ext1_1[8] = {
01372 { INSTRUCTION_TYPE_ADD, "add", AM_E|OT_b|P_w, AM_I|OT_b|P_r, FLAGS_NONE, 1 },
01373 { INSTRUCTION_TYPE_OR, "or", AM_E|OT_b|P_w, AM_I|OT_b|P_r, FLAGS_NONE, 1 },
01374 { INSTRUCTION_TYPE_ADC, "adc", AM_E|OT_b|P_w, AM_I|OT_b|P_r, FLAGS_NONE, 1 },
01375 { INSTRUCTION_TYPE_SBB, "sbb", AM_E|OT_b|P_w, AM_I|OT_b|P_r, FLAGS_NONE, 1 },
01376 { INSTRUCTION_TYPE_AND, "and", AM_E|OT_b|P_w, AM_I|OT_b|P_r, FLAGS_NONE, 1 },
01377 { INSTRUCTION_TYPE_SUB, "sub", AM_E|OT_b|P_w, AM_I|OT_b|P_r, FLAGS_NONE, 1 },
01378 { INSTRUCTION_TYPE_XOR, "xor", AM_E|OT_b|P_w, AM_I|OT_b|P_r, FLAGS_NONE, 1 },
01379 { INSTRUCTION_TYPE_CMP, "cmp", AM_E|OT_b|P_r, AM_I|OT_b|P_r, FLAGS_NONE, 1 },
01380 };
01381 INST inst_table_ext1_2[8] = {
01382 { INSTRUCTION_TYPE_ADD, "add", AM_E|OT_v|P_w, AM_I|OT_v|P_r, FLAGS_NONE, 1 },
01383 { INSTRUCTION_TYPE_OR, "or", AM_E|OT_v|P_w, AM_I|OT_v|P_r, FLAGS_NONE, 1 },
01384 { INSTRUCTION_TYPE_ADC, "adc", AM_E|OT_v|P_w, AM_I|OT_v|P_r, FLAGS_NONE, 1 },
01385 { INSTRUCTION_TYPE_SBB, "sbb", AM_E|OT_v|P_w, AM_I|OT_v|P_r, FLAGS_NONE, 1 },
01386 { INSTRUCTION_TYPE_AND, "and", AM_E|OT_v|P_w, AM_I|OT_v|P_r, FLAGS_NONE, 1 },
01387 { INSTRUCTION_TYPE_SUB, "sub", AM_E|OT_v|P_w, AM_I|OT_v|P_r, FLAGS_NONE, 1 },
01388 { INSTRUCTION_TYPE_XOR, "xor", AM_E|OT_v|P_w, AM_I|OT_v|P_r, FLAGS_NONE, 1 },
01389 { INSTRUCTION_TYPE_CMP, "cmp", AM_E|OT_v|P_r, AM_I|OT_v|P_r, FLAGS_NONE, 1 },
01390 };
01391 INST inst_table_ext1_3[8] = {
01392 { INSTRUCTION_TYPE_ADD, "add", AM_E|OT_v|P_w, AM_I|OT_b|F_s|P_r, FLAGS_NONE, 1 },
01393 { INSTRUCTION_TYPE_OR, "or", AM_E|OT_v|P_w, AM_I|OT_b|F_s|P_r, FLAGS_NONE, 1 },
01394 { INSTRUCTION_TYPE_ADC, "adc", AM_E|OT_v|P_w, AM_I|OT_b|F_s|P_r, FLAGS_NONE, 1 },
01395 { INSTRUCTION_TYPE_SBB, "sbb", AM_E|OT_v|P_w, AM_I|OT_b|F_s|P_r, FLAGS_NONE, 1 },
01396 { INSTRUCTION_TYPE_AND, "and", AM_E|OT_v|P_w, AM_I|OT_b|F_s|P_r, FLAGS_NONE, 1 },
01397 { INSTRUCTION_TYPE_SUB, "sub", AM_E|OT_v|P_w, AM_I|OT_b|F_s|P_r, FLAGS_NONE, 1 },
01398 { INSTRUCTION_TYPE_XOR, "xor", AM_E|OT_v|P_w, AM_I|OT_b|F_s|P_r, FLAGS_NONE, 1 },
01399 { INSTRUCTION_TYPE_CMP, "cmp", AM_E|OT_v|P_r, AM_I|OT_b|F_s|P_r, FLAGS_NONE, 1 },
01400 };
01401
01402 INST inst_table_ext2_1[8] = {
01403 { INSTRUCTION_TYPE_ROX, "rol", AM_E|OT_b|P_w, AM_I|OT_b|P_r, FLAGS_NONE, 1 },
01404 { INSTRUCTION_TYPE_ROX, "ror", AM_E|OT_b|P_w, AM_I|OT_b|P_r, FLAGS_NONE, 1 },
01405 { INSTRUCTION_TYPE_ROX, "rcl", AM_E|OT_b|P_w, AM_I|OT_b|P_r, FLAGS_NONE, 1 },
01406 { INSTRUCTION_TYPE_ROX, "rcr", AM_E|OT_b|P_w, AM_I|OT_b|P_r, FLAGS_NONE, 1 },
01407 { INSTRUCTION_TYPE_SHX, "shl", AM_E|OT_b|P_w, AM_I|OT_b|P_r, FLAGS_NONE, 1 },
01408 { INSTRUCTION_TYPE_SHX, "shr", AM_E|OT_b|P_w, AM_I|OT_b|P_r, FLAGS_NONE, 1 },
01409 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01410 { INSTRUCTION_TYPE_SHX, "sar", AM_E|OT_b|P_w, AM_I|OT_b|P_r, FLAGS_NONE, 1 },
01411 };
01412 INST inst_table_ext2_2[8] = {
01413 { INSTRUCTION_TYPE_ROX, "rol", AM_E|OT_v|P_w, AM_I|OT_b|P_r, FLAGS_NONE, 1 },
01414 { INSTRUCTION_TYPE_ROX, "ror", AM_E|OT_v|P_w, AM_I|OT_b|P_r, FLAGS_NONE, 1 },
01415 { INSTRUCTION_TYPE_ROX, "rcl", AM_E|OT_v|P_w, AM_I|OT_b|P_r, FLAGS_NONE, 1 },
01416 { INSTRUCTION_TYPE_ROX, "rcr", AM_E|OT_v|P_w, AM_I|OT_b|P_r, FLAGS_NONE, 1 },
01417 { INSTRUCTION_TYPE_SHX, "shl", AM_E|OT_v|P_w, AM_I|OT_b|P_r, FLAGS_NONE, 1 },
01418 { INSTRUCTION_TYPE_SHX, "shr", AM_E|OT_v|P_w, AM_I|OT_b|P_r, FLAGS_NONE, 1 },
01419 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01420 { INSTRUCTION_TYPE_SHX, "sar", AM_E|OT_v|P_w, AM_I|OT_b|P_r, FLAGS_NONE, 1 },
01421 };
01422 INST inst_table_ext2_3[8] = {
01423 { INSTRUCTION_TYPE_ROX, "rol", AM_E|OT_b|P_w, AM_I1|OT_b|P_r, FLAGS_NONE, 1 },
01424 { INSTRUCTION_TYPE_ROX, "ror", AM_E|OT_b|P_w, AM_I1|OT_b|P_r, FLAGS_NONE, 1 },
01425 { INSTRUCTION_TYPE_ROX, "rcl", AM_E|OT_b|P_w, AM_I1|OT_b|P_r, FLAGS_NONE, 1 },
01426 { INSTRUCTION_TYPE_ROX, "rcr", AM_E|OT_b|P_w, AM_I1|OT_b|P_r, FLAGS_NONE, 1 },
01427 { INSTRUCTION_TYPE_SHX, "shl", AM_E|OT_b|P_w, AM_I1|OT_b|P_r, FLAGS_NONE, 1 },
01428 { INSTRUCTION_TYPE_SHX, "shr", AM_E|OT_b|P_w, AM_I1|OT_b|P_r, FLAGS_NONE, 1 },
01429 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01430 { INSTRUCTION_TYPE_SHX, "sar", AM_E|OT_b|P_w, AM_I1|OT_b|P_r, FLAGS_NONE, 1 },
01431 };
01432 INST inst_table_ext2_4[8] = {
01433 { INSTRUCTION_TYPE_ROX, "rol", AM_E|OT_v|P_w, AM_I1|OT_b|P_r, FLAGS_NONE, 1 },
01434 { INSTRUCTION_TYPE_ROX, "ror", AM_E|OT_v|P_w, AM_I1|OT_b|P_r, FLAGS_NONE, 1 },
01435 { INSTRUCTION_TYPE_ROX, "rcl", AM_E|OT_v|P_w, AM_I1|OT_b|P_r, FLAGS_NONE, 1 },
01436 { INSTRUCTION_TYPE_ROX, "rcr", AM_E|OT_v|P_w, AM_I1|OT_b|P_r, FLAGS_NONE, 1 },
01437 { INSTRUCTION_TYPE_SHX, "shl", AM_E|OT_v|P_w, AM_I1|OT_b|P_r, FLAGS_NONE, 1 },
01438 { INSTRUCTION_TYPE_SHX, "shr", AM_E|OT_v|P_w, AM_I1|OT_b|P_r, FLAGS_NONE, 1 },
01439 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01440 { INSTRUCTION_TYPE_SHX, "sar", AM_E|OT_v|P_w, AM_I1|OT_b|P_r, FLAGS_NONE, 1 },
01441 };
01442 INST inst_table_ext2_5[8] = {
01443 { INSTRUCTION_TYPE_ROX, "rol", AM_E|OT_b|P_w, AM_REG|REG_CL|OT_b|P_r, FLAGS_NONE, 1 },
01444 { INSTRUCTION_TYPE_ROX, "ror", AM_E|OT_b|P_w, AM_REG|REG_CL|OT_b|P_r, FLAGS_NONE, 1 },
01445 { INSTRUCTION_TYPE_ROX, "rcl", AM_E|OT_b|P_w, AM_REG|REG_CL|OT_b|P_r, FLAGS_NONE, 1 },
01446 { INSTRUCTION_TYPE_ROX, "rcr", AM_E|OT_b|P_w, AM_REG|REG_CL|OT_b|P_r, FLAGS_NONE, 1 },
01447 { INSTRUCTION_TYPE_SHX, "shl", AM_E|OT_b|P_w, AM_REG|REG_CL|OT_b|P_r, FLAGS_NONE, 1 },
01448 { INSTRUCTION_TYPE_SHX, "shr", AM_E|OT_b|P_w, AM_REG|REG_CL|OT_b|P_r, FLAGS_NONE, 1 },
01449 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01450 { INSTRUCTION_TYPE_SHX, "sar", AM_E|OT_b|P_w, AM_REG|REG_CL|OT_b|P_r, FLAGS_NONE, 1 },
01451 };
01452 INST inst_table_ext2_6[8] = {
01453 { INSTRUCTION_TYPE_ROX, "rol", AM_E|OT_v|P_w, AM_REG|REG_CL|OT_b|P_r, FLAGS_NONE, 1 },
01454 { INSTRUCTION_TYPE_ROX, "ror", AM_E|OT_v|P_w, AM_REG|REG_CL|OT_b|P_r, FLAGS_NONE, 1 },
01455 { INSTRUCTION_TYPE_ROX, "rcl", AM_E|OT_v|P_w, AM_REG|REG_CL|OT_b|P_r, FLAGS_NONE, 1 },
01456 { INSTRUCTION_TYPE_ROX, "rcr", AM_E|OT_v|P_w, AM_REG|REG_CL|OT_b|P_r, FLAGS_NONE, 1 },
01457 { INSTRUCTION_TYPE_SHX, "shl", AM_E|OT_v|P_w, AM_REG|REG_CL|OT_b|P_r, FLAGS_NONE, 1 },
01458 { INSTRUCTION_TYPE_SHX, "shr", AM_E|OT_v|P_w, AM_REG|REG_CL|OT_b|P_r, FLAGS_NONE, 1 },
01459 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01460 { INSTRUCTION_TYPE_SHX, "sar", AM_E|OT_v|P_w, AM_REG|REG_CL|OT_b|P_r, FLAGS_NONE, 1 },
01461 };
01462
01463 INST inst_table_ext3_1[8] = {
01464 { INSTRUCTION_TYPE_TEST, "test", AM_E|OT_b|P_r, AM_I|OT_b|P_r, FLAGS_NONE, 1 },
01465 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01466 { INSTRUCTION_TYPE_NOT, "not", AM_E|OT_b|P_w, FLAGS_NONE, FLAGS_NONE, 1 },
01467 { INSTRUCTION_TYPE_NEG, "neg", AM_E|OT_b|P_w, FLAGS_NONE, FLAGS_NONE, 1 },
01468 { INSTRUCTION_TYPE_MUL, "mul", AM_E|OT_b|P_w, FLAGS_NONE|P_r, FLAGS_NONE, 1 },
01469 { INSTRUCTION_TYPE_IMUL, "imul", AM_E|OT_b|P_r, FLAGS_NONE|P_r, FLAGS_NONE|P_r,1 },
01470 { INSTRUCTION_TYPE_DIV, "div", AM_E|OT_b|P_w, FLAGS_NONE|P_r, FLAGS_NONE, 1 },
01471 { INSTRUCTION_TYPE_IDIV, "idiv", AM_E|OT_b|P_w, FLAGS_NONE|P_r, FLAGS_NONE, 1 },
01472 };
01473 INST inst_table_ext3_2[8] = {
01474 { INSTRUCTION_TYPE_TEST, "test", AM_E|OT_v|P_r, AM_I|OT_v|P_r, FLAGS_NONE, 1 },
01475 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01476 { INSTRUCTION_TYPE_NOT, "not", AM_E|OT_v|P_w, FLAGS_NONE, FLAGS_NONE, 1 },
01477 { INSTRUCTION_TYPE_NEG, "neg", AM_E|OT_v|P_w, FLAGS_NONE, FLAGS_NONE, 1 },
01478 { INSTRUCTION_TYPE_MUL, "mul", AM_E|OT_v|P_w, FLAGS_NONE|P_r, FLAGS_NONE, 1 },
01479 { INSTRUCTION_TYPE_IMUL, "imul", AM_E|OT_v|P_r, FLAGS_NONE|P_r, FLAGS_NONE|P_r,1 },
01480 { INSTRUCTION_TYPE_DIV, "div", AM_E|OT_v|P_w, FLAGS_NONE|P_r, FLAGS_NONE, 1 },
01481 { INSTRUCTION_TYPE_IDIV, "idiv", AM_E|OT_v|P_w, FLAGS_NONE|P_r, FLAGS_NONE, 1 },
01482 };
01483
01484 INST inst_table_ext4[8] = {
01485 { INSTRUCTION_TYPE_INC, "inc", AM_E|OT_b|P_r, FLAGS_NONE, FLAGS_NONE, 1 },
01486 { INSTRUCTION_TYPE_DEC, "dec", AM_E|OT_b, FLAGS_NONE, FLAGS_NONE, 1 },
01487 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01488 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01489 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01490 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01491 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01492 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01493 };
01494
01495 INST inst_table_ext5[8] = {
01496 { INSTRUCTION_TYPE_INC, "inc", AM_E|OT_v|P_r, FLAGS_NONE, FLAGS_NONE, 1 },
01497 { INSTRUCTION_TYPE_DEC, "dec", AM_E|OT_v, FLAGS_NONE, FLAGS_NONE, 1 },
01498 { INSTRUCTION_TYPE_CALL, "call", AM_E|OT_v|P_x, FLAGS_NONE, FLAGS_NONE, 1 },
01499 { INSTRUCTION_TYPE_CALL, "callf", AM_E|OT_v|P_x, FLAGS_NONE, FLAGS_NONE, 1 },
01500 { INSTRUCTION_TYPE_JMP, "jmp", AM_E|OT_v|P_x, FLAGS_NONE, FLAGS_NONE, 1 },
01501 { INSTRUCTION_TYPE_JMP, "jmpf", AM_E|OT_v|P_x, FLAGS_NONE, FLAGS_NONE, 1 },
01502 { INSTRUCTION_TYPE_PUSH, "push", AM_E|OT_v|P_r, FLAGS_NONE, FLAGS_NONE, 1 },
01503 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01504 };
01505
01506 INST inst_table_ext6[8] = {
01507 { INSTRUCTION_TYPE_SLDT, "sldt", AM_E|OT_w|P_r, FLAGS_NONE, FLAGS_NONE, 1 },
01508 { INSTRUCTION_TYPE_PRIV, "str", AM_E|OT_w|P_w, FLAGS_NONE, FLAGS_NONE, 1 },
01509 { INSTRUCTION_TYPE_PRIV, "lldt", AM_E|OT_w|P_w, FLAGS_NONE, FLAGS_NONE, 1 },
01510 { INSTRUCTION_TYPE_PRIV, "ltr", AM_E|OT_w|P_w, FLAGS_NONE, FLAGS_NONE, 1 },
01511 { INSTRUCTION_TYPE_PRIV, "verr", AM_E|OT_w|P_r, FLAGS_NONE, FLAGS_NONE, 1 },
01512 { INSTRUCTION_TYPE_PRIV, "verw", AM_E|OT_w|P_r, FLAGS_NONE, FLAGS_NONE, 1 },
01513 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01514 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01515 };
01516
01517 INST inst_table_ext7[8] = {
01518 { INSTRUCTION_TYPE_SGDT, "sgdt", AM_M|OT_d|P_w, FLAGS_NONE, FLAGS_NONE, 1 },
01519 { INSTRUCTION_TYPE_SIDT, "sidt", AM_M|OT_d|P_w, FLAGS_NONE, FLAGS_NONE, 1 },
01520 { INSTRUCTION_TYPE_PRIV, "lgdt", AM_M|OT_d|P_w, FLAGS_NONE, FLAGS_NONE, 1 },
01521 { INSTRUCTION_TYPE_PRIV, "lidt", AM_M|OT_d|P_w, FLAGS_NONE, FLAGS_NONE, 1 },
01522 { INSTRUCTION_TYPE_PRIV, "smsw", AM_E|OT_w|P_w, FLAGS_NONE, FLAGS_NONE, 1 },
01523 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01524 { INSTRUCTION_TYPE_PRIV, "lmsw", AM_E|OT_w|P_w, FLAGS_NONE, FLAGS_NONE, 1 },
01525 { INSTRUCTION_TYPE_PRIV, "invlpg", AM_M|OT_b|P_r, FLAGS_NONE, FLAGS_NONE, 1 },
01526 };
01527 INST inst_monitor =
01528 { INSTRUCTION_TYPE_OTHER, "monitor", FLAGS_NONE|P_w, FLAGS_NONE|P_r, FLAGS_NONE, 0 };
01529 INST inst_mwait =
01530 { INSTRUCTION_TYPE_OTHER, "mwait", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 };
01531
01532 INST inst_table_ext8[8] = {
01533 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01534 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01535 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01536 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01537 { INSTRUCTION_TYPE_BT, "bt", AM_E|OT_v|P_r, AM_I|OT_b|P_r, FLAGS_NONE, 1 },
01538 { INSTRUCTION_TYPE_BTS, "bts", AM_E|OT_v|P_r, AM_I|OT_b|P_r, FLAGS_NONE, 1 },
01539 { INSTRUCTION_TYPE_BTR, "btr", AM_E|OT_v|P_r, AM_I|OT_b|P_r, FLAGS_NONE, 1 },
01540 { INSTRUCTION_TYPE_BTC, "btc", AM_E|OT_v|P_r, AM_I|OT_b|P_r, FLAGS_NONE, 1 },
01541 };
01542
01543 INST inst_table_ext9[8] = {
01544 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01545 { INSTRUCTION_TYPE_SSE, "cmpxch8b", AM_M|OT_q, FLAGS_NONE, FLAGS_NONE, 1 },
01546 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01547 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01548 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01549 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01550 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01551 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01552 };
01553
01554 INST inst_table_ext10[8] = {
01555 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01556 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01557 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01558 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01559 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01560 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01561 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01562 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01563 };
01564
01565
01566 INST inst_table_ext11[8] = {
01567 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01568 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01569 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01570 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01571 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01572 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01573 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01574 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01575 };
01576
01577
01578 INST inst_table_ext12[8] = {
01579 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01580 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01581 { INSTRUCTION_TYPE_MMX, "psrlw", AM_Q|OT_q|P_w, AM_I|OT_b|P_r, FLAGS_NONE, 1 },
01582 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01583 { INSTRUCTION_TYPE_MMX, "psraw", AM_Q|OT_q|P_w, AM_I|OT_b|P_r, FLAGS_NONE, 1 },
01584 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01585 { INSTRUCTION_TYPE_MMX, "psllw", AM_Q|OT_q|P_w, AM_I|OT_b|P_r, FLAGS_NONE, 1 },
01586 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01587 };
01588
01589 INST inst_table_ext12_66[8] = {
01590 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01591 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01592 { INSTRUCTION_TYPE_SSE, "psrlw", AM_W|OT_dq|P_w, AM_I|OT_b|P_r, FLAGS_NONE, 1 },
01593 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01594 { INSTRUCTION_TYPE_SSE, "psraw", AM_W|OT_dq|P_w, AM_I|OT_b|P_r, FLAGS_NONE, 1 },
01595 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01596 { INSTRUCTION_TYPE_SSE, "psllw", AM_W|OT_dq|P_w, AM_I|OT_b|P_r, FLAGS_NONE, 1 },
01597 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01598 };
01599
01600
01601 INST inst_table_ext13[8] = {
01602 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01603 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01604 { INSTRUCTION_TYPE_MMX, "psrld", AM_Q|OT_q|P_w, AM_I|OT_b|P_r, FLAGS_NONE, 1 },
01605 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01606 { INSTRUCTION_TYPE_MMX, "psrad", AM_Q|OT_q|P_w, AM_I|OT_b|P_r, FLAGS_NONE, 1 },
01607 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01608 { INSTRUCTION_TYPE_MMX, "pslld", AM_Q|OT_q|P_w, AM_I|OT_b|P_r, FLAGS_NONE, 1 },
01609 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01610 };
01611
01612 INST inst_table_ext13_66[8] = {
01613 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01614 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01615 { INSTRUCTION_TYPE_SSE, "psrld", AM_W|OT_dq|P_w, AM_I|OT_b|P_r, FLAGS_NONE, 1 },
01616 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01617 { INSTRUCTION_TYPE_SSE, "psrad", AM_W|OT_dq|P_w, AM_I|OT_b|P_r, FLAGS_NONE, 1 },
01618 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01619 { INSTRUCTION_TYPE_SSE, "pslld", AM_W|OT_dq|P_w, AM_I|OT_b|P_r, FLAGS_NONE, 1 },
01620 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01621 };
01622
01623
01624 INST inst_table_ext14[8] = {
01625 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01626 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01627 { INSTRUCTION_TYPE_MMX, "psrlq", AM_Q|OT_q|P_w, AM_I|OT_b|P_r, FLAGS_NONE, 1 },
01628 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01629 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01630 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01631 { INSTRUCTION_TYPE_MMX, "psllq", AM_Q|OT_q|P_w, AM_I|OT_b|P_r, FLAGS_NONE, 1 },
01632 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01633 };
01634
01635 INST inst_table_ext14_66[8] = {
01636 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01637 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01638 { INSTRUCTION_TYPE_SSE, "psrlq", AM_W|OT_dq|P_w, AM_I|OT_b|P_r, FLAGS_NONE, 1 },
01639 { INSTRUCTION_TYPE_SSE, "psrldq", AM_W|OT_dq|P_w, AM_I|OT_b|P_r, FLAGS_NONE, 1 },
01640 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01641 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01642 { INSTRUCTION_TYPE_SSE, "psllq", AM_W|OT_dq|P_w, AM_I|OT_b|P_r, FLAGS_NONE, 1 },
01643 { INSTRUCTION_TYPE_SSE, "pslldq", AM_W|OT_dq|P_w, AM_I|OT_b|P_r, FLAGS_NONE, 1 },
01644 };
01645
01646 INST inst_table_ext15[8] = {
01647 { INSTRUCTION_TYPE_OTHER, "fxsave", AM_E|OT_v, FLAGS_NONE, FLAGS_NONE, 1 },
01648 { INSTRUCTION_TYPE_OTHER, "fxrstor", AM_E|OT_v, FLAGS_NONE, FLAGS_NONE, 1 },
01649 { INSTRUCTION_TYPE_OTHER, "ldmxcsr", AM_E|OT_v, FLAGS_NONE, FLAGS_NONE, 1 },
01650 { INSTRUCTION_TYPE_OTHER, "stmxcsr", AM_E|OT_v, FLAGS_NONE, FLAGS_NONE, 1 },
01651 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01652 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01653 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01654 { INSTRUCTION_TYPE_OTHER, "sfence", AM_E|OT_v, FLAGS_NONE, FLAGS_NONE, 1 },
01655 };
01656
01657 INST inst_table_ext16[8] = {
01658 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01659 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01660 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01661 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01662 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01663 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01664 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01665 { INSTRUCTION_TYPE_OTHER, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01666 };
01667
01668
01669
01670 INST * inst_table_ext[25] = {
01671 inst_table_ext1_1,
01672 inst_table_ext1_2,
01673 inst_table_ext1_3,
01674 inst_table_ext2_1,
01675 inst_table_ext2_2,
01676 inst_table_ext2_3,
01677 inst_table_ext2_4,
01678 inst_table_ext2_5,
01679 inst_table_ext2_6,
01680 inst_table_ext3_1,
01681 inst_table_ext3_2,
01682 inst_table_ext4,
01683 inst_table_ext5,
01684 inst_table_ext6,
01685 inst_table_ext7,
01686 inst_table_ext8,
01687 inst_table_ext9,
01688 inst_table_ext10,
01689 inst_table_ext11,
01690 inst_table_ext12,
01691 inst_table_ext13,
01692 inst_table_ext14,
01693 inst_table_ext15,
01694 inst_table_ext16,
01695 };
01696
01697
01698
01699
01700
01701
01702
01703
01704
01705
01706
01707
01708
01709 INST inst_table_fpu_d8[72] = {
01710 { INSTRUCTION_TYPE_FADD, "fadds", AM_E|OT_d|P_w, FLAGS_NONE|P_r, FLAGS_NONE, 1 },
01711 { INSTRUCTION_TYPE_FMUL, "fmuls", AM_E|OT_d|P_w, FLAGS_NONE|P_r, FLAGS_NONE, 1 },
01712 { INSTRUCTION_TYPE_FCOM, "fcoms", AM_E|OT_d|P_w, FLAGS_NONE|P_r, FLAGS_NONE, 1 },
01713 { INSTRUCTION_TYPE_FCOMP, "fcomps", AM_E|OT_d|P_w, FLAGS_NONE|P_r, FLAGS_NONE, 1 },
01714 { INSTRUCTION_TYPE_FSUB, "fsubs", AM_E|OT_d|P_w, FLAGS_NONE|P_r, FLAGS_NONE, 1 },
01715 { INSTRUCTION_TYPE_FSUBR, "fsubrs", AM_E|OT_d|P_w, FLAGS_NONE|P_r, FLAGS_NONE, 1 },
01716 { INSTRUCTION_TYPE_FDIV, "fdivs", AM_E|OT_d|P_w, FLAGS_NONE|P_r, FLAGS_NONE, 1 },
01717 { INSTRUCTION_TYPE_FDIVR, "fdivrs", AM_E|OT_d|P_w, FLAGS_NONE|P_r, FLAGS_NONE, 1 },
01718 { INSTRUCTION_TYPE_FADD, "fadd", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST0|F_f|P_r, FLAGS_NONE, 0 },
01719 { INSTRUCTION_TYPE_FADD, "fadd", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST1|F_f|P_r, FLAGS_NONE, 0 },
01720 { INSTRUCTION_TYPE_FADD, "fadd", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST2|F_f|P_r, FLAGS_NONE, 0 },
01721 { INSTRUCTION_TYPE_FADD, "fadd", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST3|F_f|P_r, FLAGS_NONE, 0 },
01722 { INSTRUCTION_TYPE_FADD, "fadd", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST4|F_f|P_r, FLAGS_NONE, 0 },
01723 { INSTRUCTION_TYPE_FADD, "fadd", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST5|F_f|P_r, FLAGS_NONE, 0 },
01724 { INSTRUCTION_TYPE_FADD, "fadd", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST6|F_f|P_r, FLAGS_NONE, 0 },
01725 { INSTRUCTION_TYPE_FADD, "fadd", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST7|F_f|P_r, FLAGS_NONE, 0 },
01726 { INSTRUCTION_TYPE_FMUL, "fmul", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST0|F_f|P_r, FLAGS_NONE, 0 },
01727 { INSTRUCTION_TYPE_FMUL, "fmul", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST1|F_f|P_r, FLAGS_NONE, 0 },
01728 { INSTRUCTION_TYPE_FMUL, "fmul", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST2|F_f|P_r, FLAGS_NONE, 0 },
01729 { INSTRUCTION_TYPE_FMUL, "fmul", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST3|F_f|P_r, FLAGS_NONE, 0 },
01730 { INSTRUCTION_TYPE_FMUL, "fmul", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST4|F_f|P_r, FLAGS_NONE, 0 },
01731 { INSTRUCTION_TYPE_FMUL, "fmul", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST5|F_f|P_r, FLAGS_NONE, 0 },
01732 { INSTRUCTION_TYPE_FMUL, "fmul", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST6|F_f|P_r, FLAGS_NONE, 0 },
01733 { INSTRUCTION_TYPE_FMUL, "fmul", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST7|F_f|P_r, FLAGS_NONE, 0 },
01734 { INSTRUCTION_TYPE_FCOM, "fcom", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST0|F_f|P_r, FLAGS_NONE, 0 },
01735 { INSTRUCTION_TYPE_FCOM, "fcom", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST1|F_f|P_r, FLAGS_NONE, 0 },
01736 { INSTRUCTION_TYPE_FCOM, "fcom", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST2|F_f|P_r, FLAGS_NONE, 0 },
01737 { INSTRUCTION_TYPE_FCOM, "fcom", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST3|F_f|P_r, FLAGS_NONE, 0 },
01738 { INSTRUCTION_TYPE_FCOM, "fcom", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST4|F_f|P_r, FLAGS_NONE, 0 },
01739 { INSTRUCTION_TYPE_FCOM, "fcom", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST5|F_f|P_r, FLAGS_NONE, 0 },
01740 { INSTRUCTION_TYPE_FCOM, "fcom", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST6|F_f|P_r, FLAGS_NONE, 0 },
01741 { INSTRUCTION_TYPE_FCOM, "fcom", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST7|F_f|P_r, FLAGS_NONE, 0 },
01742 { INSTRUCTION_TYPE_FCOMP, "fcomp", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST0|F_f|P_r, FLAGS_NONE, 0 },
01743 { INSTRUCTION_TYPE_FCOMP, "fcomp", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST1|F_f|P_r, FLAGS_NONE, 0 },
01744 { INSTRUCTION_TYPE_FCOMP, "fcomp", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST2|F_f|P_r, FLAGS_NONE, 0 },
01745 { INSTRUCTION_TYPE_FCOMP, "fcomp", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST3|F_f|P_r, FLAGS_NONE, 0 },
01746 { INSTRUCTION_TYPE_FCOMP, "fcomp", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST4|F_f|P_r, FLAGS_NONE, 0 },
01747 { INSTRUCTION_TYPE_FCOMP, "fcomp", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST5|F_f|P_r, FLAGS_NONE, 0 },
01748 { INSTRUCTION_TYPE_FCOMP, "fcomp", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST6|F_f|P_r, FLAGS_NONE, 0 },
01749 { INSTRUCTION_TYPE_FCOMP, "fcomp", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST7|F_f|P_r, FLAGS_NONE, 0 },
01750 { INSTRUCTION_TYPE_FSUB, "fsub", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST0|F_f|P_r, FLAGS_NONE, 0 },
01751 { INSTRUCTION_TYPE_FSUB, "fsub", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST1|F_f|P_r, FLAGS_NONE, 0 },
01752 { INSTRUCTION_TYPE_FSUB, "fsub", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST2|F_f|P_r, FLAGS_NONE, 0 },
01753 { INSTRUCTION_TYPE_FSUB, "fsub", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST3|F_f|P_r, FLAGS_NONE, 0 },
01754 { INSTRUCTION_TYPE_FSUB, "fsub", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST4|F_f|P_r, FLAGS_NONE, 0 },
01755 { INSTRUCTION_TYPE_FSUB, "fsub", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST5|F_f|P_r, FLAGS_NONE, 0 },
01756 { INSTRUCTION_TYPE_FSUB, "fsub", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST6|F_f|P_r, FLAGS_NONE, 0 },
01757 { INSTRUCTION_TYPE_FSUB, "fsub", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST7|F_f|P_r, FLAGS_NONE, 0 },
01758 { INSTRUCTION_TYPE_FSUBR, "fsubr", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST0|F_f|P_r, FLAGS_NONE, 0 },
01759 { INSTRUCTION_TYPE_FSUBR, "fsubr", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST1|F_f|P_r, FLAGS_NONE, 0 },
01760 { INSTRUCTION_TYPE_FSUBR, "fsubr", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST2|F_f|P_r, FLAGS_NONE, 0 },
01761 { INSTRUCTION_TYPE_FSUBR, "fsubr", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST3|F_f|P_r, FLAGS_NONE, 0 },
01762 { INSTRUCTION_TYPE_FSUBR, "fsubr", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST4|F_f|P_r, FLAGS_NONE, 0 },
01763 { INSTRUCTION_TYPE_FSUBR, "fsubr", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST5|F_f|P_r, FLAGS_NONE, 0 },
01764 { INSTRUCTION_TYPE_FSUBR, "fsubr", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST6|F_f|P_r, FLAGS_NONE, 0 },
01765 { INSTRUCTION_TYPE_FSUBR, "fsubr", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST7|F_f|P_r, FLAGS_NONE, 0 },
01766 { INSTRUCTION_TYPE_FDIV, "fdiv", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST0|F_f|P_r, FLAGS_NONE, 0 },
01767 { INSTRUCTION_TYPE_FDIV, "fdiv", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST1|F_f|P_r, FLAGS_NONE, 0 },
01768 { INSTRUCTION_TYPE_FDIV, "fdiv", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST2|F_f|P_r, FLAGS_NONE, 0 },
01769 { INSTRUCTION_TYPE_FDIV, "fdiv", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST3|F_f|P_r, FLAGS_NONE, 0 },
01770 { INSTRUCTION_TYPE_FDIV, "fdiv", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST4|F_f|P_r, FLAGS_NONE, 0 },
01771 { INSTRUCTION_TYPE_FDIV, "fdiv", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST5|F_f|P_r, FLAGS_NONE, 0 },
01772 { INSTRUCTION_TYPE_FDIV, "fdiv", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST6|F_f|P_r, FLAGS_NONE, 0 },
01773 { INSTRUCTION_TYPE_FDIV, "fdiv", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST7|F_f|P_r, FLAGS_NONE, 0 },
01774 { INSTRUCTION_TYPE_FDIVR, "fdivr", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST0|F_f|P_r, FLAGS_NONE, 0 },
01775 { INSTRUCTION_TYPE_FDIVR, "fdivr", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST1|F_f|P_r, FLAGS_NONE, 0 },
01776 { INSTRUCTION_TYPE_FDIVR, "fdivr", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST2|F_f|P_r, FLAGS_NONE, 0 },
01777 { INSTRUCTION_TYPE_FDIVR, "fdivr", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST3|F_f|P_r, FLAGS_NONE, 0 },
01778 { INSTRUCTION_TYPE_FDIVR, "fdivr", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST4|F_f|P_r, FLAGS_NONE, 0 },
01779 { INSTRUCTION_TYPE_FDIVR, "fdivr", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST5|F_f|P_r, FLAGS_NONE, 0 },
01780 { INSTRUCTION_TYPE_FDIVR, "fdivr", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST6|F_f|P_r, FLAGS_NONE, 0 },
01781 { INSTRUCTION_TYPE_FDIVR, "fdivr", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST7|F_f|P_r, FLAGS_NONE, 0 },
01782 };
01783 INST inst_table_fpu_d9[72] = {
01784 { INSTRUCTION_TYPE_FLD, "flds", AM_E|OT_d, FLAGS_NONE, FLAGS_NONE, 1 },
01785 { INSTRUCTION_TYPE_FPU, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01786 { INSTRUCTION_TYPE_FST, "fst", AM_E|OT_d|P_w, FLAGS_NONE, FLAGS_NONE, 1 },
01787 { INSTRUCTION_TYPE_FSTP, "fstp", AM_E|OT_d|P_w, FLAGS_NONE, FLAGS_NONE, 1 },
01788
01789 { INSTRUCTION_TYPE_FPU, "fldenv", AM_E|OT_v|P_w, FLAGS_NONE, FLAGS_NONE, 1 },
01790 { INSTRUCTION_TYPE_FPU, "fldcw", AM_E|OT_v|P_w, FLAGS_NONE, FLAGS_NONE, 1 },
01791 { INSTRUCTION_TYPE_FPU, "fstenv", AM_E|OT_v|P_w, FLAGS_NONE, FLAGS_NONE, 1 },
01792 { INSTRUCTION_TYPE_FPU, "fstcw", AM_E|OT_v|P_w, FLAGS_NONE, FLAGS_NONE, 1 },
01793 { INSTRUCTION_TYPE_FLD, "fld", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST0|F_f|P_r, FLAGS_NONE, 0 },
01794 { INSTRUCTION_TYPE_FLD, "fld", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST1|F_f|P_r, FLAGS_NONE, 0 },
01795 { INSTRUCTION_TYPE_FLD, "fld", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST2|F_f|P_r, FLAGS_NONE, 0 },
01796 { INSTRUCTION_TYPE_FLD, "fld", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST3|F_f|P_r, FLAGS_NONE, 0 },
01797 { INSTRUCTION_TYPE_FLD, "fld", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST4|F_f|P_r, FLAGS_NONE, 0 },
01798 { INSTRUCTION_TYPE_FLD, "fld", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST5|F_f|P_r, FLAGS_NONE, 0 },
01799 { INSTRUCTION_TYPE_FLD, "fld", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST6|F_f|P_r, FLAGS_NONE, 0 },
01800 { INSTRUCTION_TYPE_FLD, "fld", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST7|F_f|P_r, FLAGS_NONE, 0 },
01801 { INSTRUCTION_TYPE_FXCH, "fxch", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST0|F_f|P_r, FLAGS_NONE, 0 },
01802 { INSTRUCTION_TYPE_FXCH, "fxch", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST1|F_f|P_r, FLAGS_NONE, 0 },
01803 { INSTRUCTION_TYPE_FXCH, "fxch", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST2|F_f|P_r, FLAGS_NONE, 0 },
01804 { INSTRUCTION_TYPE_FXCH, "fxch", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST3|F_f|P_r, FLAGS_NONE, 0 },
01805 { INSTRUCTION_TYPE_FXCH, "fxch", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST4|F_f|P_r, FLAGS_NONE, 0 },
01806 { INSTRUCTION_TYPE_FXCH, "fxch", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST5|F_f|P_r, FLAGS_NONE, 0 },
01807 { INSTRUCTION_TYPE_FXCH, "fxch", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST6|F_f|P_r, FLAGS_NONE, 0 },
01808 { INSTRUCTION_TYPE_FXCH, "fxch", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST7|F_f|P_r, FLAGS_NONE, 0 },
01809 { INSTRUCTION_TYPE_FPU, "fnop", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01810 { INSTRUCTION_TYPE_FPU, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01811 { INSTRUCTION_TYPE_FPU, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01812 { INSTRUCTION_TYPE_FPU, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01813 { INSTRUCTION_TYPE_FPU, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01814 { INSTRUCTION_TYPE_FPU, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01815 { INSTRUCTION_TYPE_FPU, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01816 { INSTRUCTION_TYPE_FPU, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01817 { INSTRUCTION_TYPE_FPU, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01818 { INSTRUCTION_TYPE_FPU, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01819 { INSTRUCTION_TYPE_FPU, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01820 { INSTRUCTION_TYPE_FPU, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01821 { INSTRUCTION_TYPE_FPU, "fchs", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01822 { INSTRUCTION_TYPE_FPU, "fabs", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01823 { INSTRUCTION_TYPE_FPU, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01824 { INSTRUCTION_TYPE_FPU, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01825 { INSTRUCTION_TYPE_FPU, "ftst", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01826 { INSTRUCTION_TYPE_FPU, "fxam", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01827 { INSTRUCTION_TYPE_FPU, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01828 { INSTRUCTION_TYPE_FPU, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01829 { INSTRUCTION_TYPE_FPU, "fld1", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01830 { INSTRUCTION_TYPE_FPU, "fldl2t", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01831 { INSTRUCTION_TYPE_FPU, "fldl2e", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01832 { INSTRUCTION_TYPE_FPU, "fldpi", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01833 { INSTRUCTION_TYPE_FPU, "fldlg2", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01834 { INSTRUCTION_TYPE_FPU, "fldln2", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01835 { INSTRUCTION_TYPE_FPU, "fldz", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01836 { INSTRUCTION_TYPE_FPU, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01837 { INSTRUCTION_TYPE_FPU, "f2xm1", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01838 { INSTRUCTION_TYPE_FPU, "fyl2x", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01839 { INSTRUCTION_TYPE_FPU, "fptan", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01840 { INSTRUCTION_TYPE_FPU, "fpatan", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01841 { INSTRUCTION_TYPE_FPU, "fxtract", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01842 { INSTRUCTION_TYPE_FPU, "fprem1", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01843 { INSTRUCTION_TYPE_FPU, "fdecstp", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01844 { INSTRUCTION_TYPE_FPU, "fincstp", FLAGS_NONE|P_w, FLAGS_NONE, FLAGS_NONE, 0 },
01845 { INSTRUCTION_TYPE_FPU, "fprem", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01846 { INSTRUCTION_TYPE_FPU, "fyl2xp1", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01847 { INSTRUCTION_TYPE_FPU, "fsqrt", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01848 { INSTRUCTION_TYPE_FPU, "fsincos", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01849 { INSTRUCTION_TYPE_FPU, "frndint", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01850 { INSTRUCTION_TYPE_FPU, "fscale", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01851 { INSTRUCTION_TYPE_FPU, "fsin", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01852 { INSTRUCTION_TYPE_FPU, "fcos", FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01853 };
01854 INST inst_table_fpu_da[72] = {
01855 { INSTRUCTION_TYPE_FIADD, "fiaddl", AM_E|OT_d|P_w, FLAGS_NONE, FLAGS_NONE, 1 },
01856 { INSTRUCTION_TYPE_FIMUL, "fimull", AM_E|OT_d|P_w, FLAGS_NONE, FLAGS_NONE, 1 },
01857 { INSTRUCTION_TYPE_FICOM, "ficoml", AM_E|OT_d|P_w, FLAGS_NONE, FLAGS_NONE, 1 },
01858 { INSTRUCTION_TYPE_FICOMP, "ficompl", AM_E|OT_d|P_w, FLAGS_NONE, FLAGS_NONE, 1 },
01859 { INSTRUCTION_TYPE_FISUB, "fisubl", AM_E|OT_d|P_w, FLAGS_NONE, FLAGS_NONE, 1 },
01860 { INSTRUCTION_TYPE_FISUBR, "fisubrl", AM_E|OT_d|P_w, FLAGS_NONE, FLAGS_NONE, 1 },
01861 { INSTRUCTION_TYPE_FIDIV, "fidivl", AM_E|OT_d|P_w, FLAGS_NONE, FLAGS_NONE, 1 },
01862 { INSTRUCTION_TYPE_FIDIVR, "fidivrl", AM_E|OT_d|P_w, FLAGS_NONE, FLAGS_NONE, 1 },
01863 { INSTRUCTION_TYPE_FCMOVC, "fcmovb", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST0|F_f|P_r, FLAGS_NONE, 0 },
01864 { INSTRUCTION_TYPE_FCMOVC, "fcmovb", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST1|F_f|P_r, FLAGS_NONE, 0 },
01865 { INSTRUCTION_TYPE_FCMOVC, "fcmovb", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST2|F_f|P_r, FLAGS_NONE, 0 },
01866 { INSTRUCTION_TYPE_FCMOVC, "fcmovb", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST3|F_f|P_r, FLAGS_NONE, 0 },
01867 { INSTRUCTION_TYPE_FCMOVC, "fcmovb", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST4|F_f|P_r, FLAGS_NONE, 0 },
01868 { INSTRUCTION_TYPE_FCMOVC, "fcmovb", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST5|F_f|P_r, FLAGS_NONE, 0 },
01869 { INSTRUCTION_TYPE_FCMOVC, "fcmovb", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST6|F_f|P_r, FLAGS_NONE, 0 },
01870 { INSTRUCTION_TYPE_FCMOVC, "fcmovb", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST7|F_f|P_r, FLAGS_NONE, 0 },
01871 { INSTRUCTION_TYPE_FCMOVC, "fcmove", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST0|F_f|P_r, FLAGS_NONE, 0 },
01872 { INSTRUCTION_TYPE_FCMOVC, "fcmove", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST1|F_f|P_r, FLAGS_NONE, 0 },
01873 { INSTRUCTION_TYPE_FCMOVC, "fcmove", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST2|F_f|P_r, FLAGS_NONE, 0 },
01874 { INSTRUCTION_TYPE_FCMOVC, "fcmove", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST3|F_f|P_r, FLAGS_NONE, 0 },
01875 { INSTRUCTION_TYPE_FCMOVC, "fcmove", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST4|F_f|P_r, FLAGS_NONE, 0 },
01876 { INSTRUCTION_TYPE_FCMOVC, "fcmove", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST5|F_f|P_r, FLAGS_NONE, 0 },
01877 { INSTRUCTION_TYPE_FCMOVC, "fcmove", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST6|F_f|P_r, FLAGS_NONE, 0 },
01878 { INSTRUCTION_TYPE_FCMOVC, "fcmove", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST7|F_f|P_r, FLAGS_NONE, 0 },
01879 { INSTRUCTION_TYPE_FCMOVC, "fcmovbe", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST0|F_f|P_r, FLAGS_NONE, 0 },
01880 { INSTRUCTION_TYPE_FCMOVC, "fcmovbe", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST1|F_f|P_r, FLAGS_NONE, 0 },
01881 { INSTRUCTION_TYPE_FCMOVC, "fcmovbe", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST2|F_f|P_r, FLAGS_NONE, 0 },
01882 { INSTRUCTION_TYPE_FCMOVC, "fcmovbe", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST3|F_f|P_r, FLAGS_NONE, 0 },
01883 { INSTRUCTION_TYPE_FCMOVC, "fcmovbe", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST4|F_f|P_r, FLAGS_NONE, 0 },
01884 { INSTRUCTION_TYPE_FCMOVC, "fcmovbe", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST5|F_f|P_r, FLAGS_NONE, 0 },
01885 { INSTRUCTION_TYPE_FCMOVC, "fcmovbe", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST6|F_f|P_r, FLAGS_NONE, 0 },
01886 { INSTRUCTION_TYPE_FCMOVC, "fcmovbe", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST7|F_f|P_r, FLAGS_NONE, 0 },
01887 { INSTRUCTION_TYPE_FCMOVC, "fcmovu", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST0|F_f|P_r, FLAGS_NONE, 0 },
01888 { INSTRUCTION_TYPE_FCMOVC, "fcmovu", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST1|F_f|P_r, FLAGS_NONE, 0 },
01889 { INSTRUCTION_TYPE_FCMOVC, "fcmovu", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST2|F_f|P_r, FLAGS_NONE, 0 },
01890 { INSTRUCTION_TYPE_FCMOVC, "fcmovu", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST3|F_f|P_r, FLAGS_NONE, 0 },
01891 { INSTRUCTION_TYPE_FCMOVC, "fcmovu", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST4|F_f|P_r, FLAGS_NONE, 0 },
01892 { INSTRUCTION_TYPE_FCMOVC, "fcmovu", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST5|F_f|P_r, FLAGS_NONE, 0 },
01893 { INSTRUCTION_TYPE_FCMOVC, "fcmovu", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST6|F_f|P_r, FLAGS_NONE, 0 },
01894 { INSTRUCTION_TYPE_FCMOVC, "fcmovu", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST7|F_f|P_r, FLAGS_NONE, 0 },
01895 { INSTRUCTION_TYPE_FPU, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01896 { INSTRUCTION_TYPE_FPU, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01897 { INSTRUCTION_TYPE_FPU, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01898 { INSTRUCTION_TYPE_FPU, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01899 { INSTRUCTION_TYPE_FPU, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01900 { INSTRUCTION_TYPE_FPU, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01901 { INSTRUCTION_TYPE_FPU, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01902 { INSTRUCTION_TYPE_FPU, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01903 { INSTRUCTION_TYPE_FPU, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01904 { INSTRUCTION_TYPE_FUCOMP, "fucompp", FLAGS_NONE|P_w, FLAGS_NONE, FLAGS_NONE, 0 },
01905 { INSTRUCTION_TYPE_FPU, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01906 { INSTRUCTION_TYPE_FPU, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01907 { INSTRUCTION_TYPE_FPU, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01908 { INSTRUCTION_TYPE_FPU, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01909 { INSTRUCTION_TYPE_FPU, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01910 { INSTRUCTION_TYPE_FPU, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01911 { INSTRUCTION_TYPE_FPU, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01912 { INSTRUCTION_TYPE_FPU, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01913 { INSTRUCTION_TYPE_FPU, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01914 { INSTRUCTION_TYPE_FPU, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01915 { INSTRUCTION_TYPE_FPU, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01916 { INSTRUCTION_TYPE_FPU, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01917 { INSTRUCTION_TYPE_FPU, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01918 { INSTRUCTION_TYPE_FPU, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01919 { INSTRUCTION_TYPE_FPU, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01920 { INSTRUCTION_TYPE_FPU, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01921 { INSTRUCTION_TYPE_FPU, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01922 { INSTRUCTION_TYPE_FPU, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01923 { INSTRUCTION_TYPE_FPU, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01924 { INSTRUCTION_TYPE_FPU, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01925 { INSTRUCTION_TYPE_FPU, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01926 { INSTRUCTION_TYPE_FPU, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01927 };
01928
01929
01930 INST inst_table_fpu_db[72] = {
01931 { INSTRUCTION_TYPE_FILD, "fildl", AM_E|OT_d|P_w, FLAGS_NONE, FLAGS_NONE, 1 },
01932 { INSTRUCTION_TYPE_FISTTP, "fisttp", AM_E|OT_d|P_w, FLAGS_NONE, FLAGS_NONE, 1 },
01933 { INSTRUCTION_TYPE_FIST, "fistl", AM_E|OT_d|P_w, FLAGS_NONE, FLAGS_NONE, 1 },
01934 { INSTRUCTION_TYPE_FISTP, "fistp", AM_E|OT_d|P_w, FLAGS_NONE, FLAGS_NONE, 1 },
01935 { INSTRUCTION_TYPE_FPU, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01936 { INSTRUCTION_TYPE_FLD, "fldt", AM_E|OT_t, FLAGS_NONE, FLAGS_NONE, 1 },
01937 { INSTRUCTION_TYPE_FPU, NULL, FLAGS_NONE, FLAGS_NONE, FLAGS_NONE, 0 },
01938 { INSTRUCTION_TYPE_FSTP, "fstpl", AM_E|OT_t|P_w, FLAGS_NONE, FLAGS_NONE, 1 },
01939 { INSTRUCTION_TYPE_FCMOVC, "fcmovnb", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST0|F_f|P_r, FLAGS_NONE, 0 },
01940 { INSTRUCTION_TYPE_FCMOVC, "fcmovnb", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST1|F_f|P_r, FLAGS_NONE, 0 },
01941 { INSTRUCTION_TYPE_FCMOVC, "fcmovnb", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST2|F_f|P_r, FLAGS_NONE, 0 },
01942 { INSTRUCTION_TYPE_FCMOVC, "fcmovnb", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST3|F_f|P_r, FLAGS_NONE, 0 },
01943 { INSTRUCTION_TYPE_FCMOVC, "fcmovnb", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST4|F_f|P_r, FLAGS_NONE, 0 },
01944 { INSTRUCTION_TYPE_FCMOVC, "fcmovnb", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST5|F_f|P_r, FLAGS_NONE, 0 },
01945 { INSTRUCTION_TYPE_FCMOVC, "fcmovnb", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST6|F_f|P_r, FLAGS_NONE, 0 },
01946 { INSTRUCTION_TYPE_FCMOVC, "fcmovnb", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST7|F_f|P_r, FLAGS_NONE, 0 },
01947 { INSTRUCTION_TYPE_FCMOVC, "fcmovne", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST0|F_f|P_r, FLAGS_NONE, 0 },
01948 { INSTRUCTION_TYPE_FCMOVC, "fcmovne", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST1|F_f|P_r, FLAGS_NONE, 0 },
01949 { INSTRUCTION_TYPE_FCMOVC, "fcmovne", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST2|F_f|P_r, FLAGS_NONE, 0 },
01950 { INSTRUCTION_TYPE_FCMOVC, "fcmovne", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST3|F_f|P_r, FLAGS_NONE, 0 },
01951 { INSTRUCTION_TYPE_FCMOVC, "fcmovne", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST4|F_f|P_r, FLAGS_NONE, 0 },
01952 { INSTRUCTION_TYPE_FCMOVC, "fcmovne", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST5|F_f|P_r, FLAGS_NONE, 0 },
01953 { INSTRUCTION_TYPE_FCMOVC, "fcmovne", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST6|F_f|P_r, FLAGS_NONE, 0 },
01954 { INSTRUCTION_TYPE_FCMOVC, "fcmovne", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST7|F_f|P_r, FLAGS_NONE, 0 },
01955 { INSTRUCTION_TYPE_FCMOVC, "fcmovnbe", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST0|F_f|P_r, FLAGS_NONE, 0 },
01956 { INSTRUCTION_TYPE_FCMOVC, "fcmovnbe", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST1|F_f|P_r, FLAGS_NONE, 0 },
01957 { INSTRUCTION_TYPE_FCMOVC, "fcmovnbe", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST2|F_f|P_r, FLAGS_NONE, 0 },
01958 { INSTRUCTION_TYPE_FCMOVC, "fcmovnbe", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST3|F_f|P_r, FLAGS_NONE, 0 },
01959 { INSTRUCTION_TYPE_FCMOVC, "fcmovnbe", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST4|F_f|P_r, FLAGS_NONE, 0 },
01960 { INSTRUCTION_TYPE_FCMOVC, "fcmovnbe", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST5|F_f|P_r, FLAGS_NONE, 0 },
01961 { INSTRUCTION_TYPE_FCMOVC, "fcmovnbe", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST6|F_f|P_r, FLAGS_NONE, 0 },
01962 { INSTRUCTION_TYPE_FCMOVC, "fcmovnbe", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST7|F_f|P_r, FLAGS_NONE, 0 },
01963 { INSTRUCTION_TYPE_FCMOVC, "fcmovnu", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST0|F_f|P_r, FLAGS_NONE, 0 },
01964 { INSTRUCTION_TYPE_FCMOVC, "fcmovnu", AM_REG|REG_ST0|F_f|P_w, AM_REG|REG_ST1|