15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Opcode decoding maps. Based on the IA-32 Intel Architecture 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Software Developer's Manual Volume 2: Instruction Set Reference. Idea 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// for how to lay out the tables in memory taken from the implementation 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// in the Bastard disassembly environment. 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "sandbox/win/src/sidestep/mini_disassembler.h" 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace sidestep { 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)* This is the first table to be searched; the first field of each 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)* Opcode in the table is either 0 to indicate you're in the 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)* right table, or an index to the correct table, in the global 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)* map g_pentiumOpcodeMap 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)*/ 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const Opcode s_first_opcode_byte[] = { 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x0 */ { 0, IT_GENERIC, AM_E | OT_B, AM_G | OT_B, AM_NOT_USED, "add", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x1 */ { 0, IT_GENERIC, AM_E | OT_V, AM_G | OT_V, AM_NOT_USED, "add", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x2 */ { 0, IT_GENERIC, AM_G | OT_B, AM_E | OT_B, AM_NOT_USED, "add", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x3 */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "add", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x4 */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_I | OT_B, AM_NOT_USED, "add", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x5 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_I | OT_V, AM_NOT_USED, "add", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x6 */ { 0, IT_GENERIC, AM_REGISTER | OT_W, AM_NOT_USED, AM_NOT_USED, "push", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x7 */ { 0, IT_GENERIC, AM_REGISTER | OT_W, AM_NOT_USED, AM_NOT_USED, "pop", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x8 */ { 0, IT_GENERIC, AM_E | OT_B, AM_G | OT_B, AM_NOT_USED, "or", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x9 */ { 0, IT_GENERIC, AM_E | OT_V, AM_G | OT_V, AM_NOT_USED, "or", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xA */ { 0, IT_GENERIC, AM_G | OT_B, AM_E | OT_B, AM_NOT_USED, "or", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xB */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "or", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xC */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_I | OT_B, AM_NOT_USED, "or", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xD */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_I | OT_V, AM_NOT_USED, "or", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xE */ { 0, IT_GENERIC, AM_REGISTER | OT_W, AM_NOT_USED, AM_NOT_USED, "push", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xF */ { 1, IT_REFERENCE, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x10 */ { 0, IT_GENERIC, AM_E | OT_B, AM_G | OT_B, AM_NOT_USED, "adc", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x11 */ { 0, IT_GENERIC, AM_E | OT_V, AM_G | OT_V, AM_NOT_USED, "adc", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x12 */ { 0, IT_GENERIC, AM_G | OT_B, AM_E | OT_B, AM_NOT_USED, "adc", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x13 */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "adc", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x14 */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_I | OT_B, AM_NOT_USED, "adc", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x15 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_I | OT_V, AM_NOT_USED, "adc", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x16 */ { 0, IT_GENERIC, AM_REGISTER | OT_W, AM_NOT_USED, AM_NOT_USED, "push", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x17 */ { 0, IT_GENERIC, AM_REGISTER | OT_W, AM_NOT_USED, AM_NOT_USED, "pop", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x18 */ { 0, IT_GENERIC, AM_E | OT_B, AM_G | OT_B, AM_NOT_USED, "sbb", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x19 */ { 0, IT_GENERIC, AM_E | OT_V, AM_G | OT_V, AM_NOT_USED, "sbb", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x1A */ { 0, IT_GENERIC, AM_G | OT_B, AM_E | OT_B, AM_NOT_USED, "sbb", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x1B */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "sbb", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x1C */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_I | OT_B, AM_NOT_USED, "sbb", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x1D */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_I | OT_V, AM_NOT_USED, "sbb", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x1E */ { 0, IT_GENERIC, AM_REGISTER | OT_W, AM_NOT_USED, AM_NOT_USED, "push", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x1F */ { 0, IT_GENERIC, AM_REGISTER | OT_W, AM_NOT_USED, AM_NOT_USED, "pop", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x20 */ { 0, IT_GENERIC, AM_E | OT_B, AM_G | OT_B, AM_NOT_USED, "and", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x21 */ { 0, IT_GENERIC, AM_E | OT_V, AM_G | OT_V, AM_NOT_USED, "and", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x22 */ { 0, IT_GENERIC, AM_G | OT_B, AM_E | OT_B, AM_NOT_USED, "and", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x23 */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "and", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x24 */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_I | OT_B, AM_NOT_USED, "and", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x25 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_I | OT_V, AM_NOT_USED, "and", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x26 */ { 0, IT_PREFIX, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x27 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "daa", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x28 */ { 0, IT_GENERIC, AM_E | OT_B, AM_G | OT_B, AM_NOT_USED, "sub", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x29 */ { 0, IT_GENERIC, AM_E | OT_V, AM_G | OT_V, AM_NOT_USED, "sub", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x2A */ { 0, IT_GENERIC, AM_G | OT_B, AM_E | OT_B, AM_NOT_USED, "sub", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x2B */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "sub", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x2C */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_I | OT_B, AM_NOT_USED, "sub", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x2D */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_I | OT_V, AM_NOT_USED, "sub", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x2E */ { 0, IT_PREFIX, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x2F */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "das", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x30 */ { 0, IT_GENERIC, AM_E | OT_B, AM_G | OT_B, AM_NOT_USED, "xor", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x31 */ { 0, IT_GENERIC, AM_E | OT_V, AM_G | OT_V, AM_NOT_USED, "xor", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x32 */ { 0, IT_GENERIC, AM_G | OT_B, AM_E | OT_B, AM_NOT_USED, "xor", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x33 */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "xor", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x34 */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_I | OT_B, AM_NOT_USED, "xor", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x35 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_I | OT_V, AM_NOT_USED, "xor", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x36 */ { 0, IT_PREFIX, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x37 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "aaa", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x38 */ { 0, IT_GENERIC, AM_E | OT_B, AM_G | OT_B, AM_NOT_USED, "cmp", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x39 */ { 0, IT_GENERIC, AM_E | OT_V, AM_G | OT_V, AM_NOT_USED, "cmp", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x3A */ { 0, IT_GENERIC, AM_G | OT_B, AM_E | OT_B, AM_NOT_USED, "cmp", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x3B */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "cmp", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x3C */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_I | OT_B, AM_NOT_USED, "cmp", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x3D */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_I | OT_V, AM_NOT_USED, "cmp", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x3E */ { 0, IT_PREFIX, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x3F */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "aas", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x40 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "inc", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x41 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "inc", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x42 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "inc", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x43 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "inc", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x44 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "inc", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x45 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "inc", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x46 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "inc", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x47 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "inc", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x48 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "dec", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x49 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "dec", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x4A */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "dec", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x4B */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "dec", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x4C */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "dec", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x4D */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "dec", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x4E */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "dec", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x4F */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "dec", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x50 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "push", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x51 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "push", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x52 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "push", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x53 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "push", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x54 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "push", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x55 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "push", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x56 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "push", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x57 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "push", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x58 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "pop", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x59 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "pop", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x5A */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "pop", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x5B */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "pop", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x5C */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "pop", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x5D */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "pop", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x5E */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "pop", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x5F */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "pop", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x60 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "pushad", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x61 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "popad", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x62 */ { 0, IT_GENERIC, AM_G | OT_V, AM_M | OT_A, AM_NOT_USED, "bound", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x63 */ { 0, IT_GENERIC, AM_E | OT_W, AM_G | OT_W, AM_NOT_USED, "arpl", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x64 */ { 0, IT_PREFIX, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x65 */ { 0, IT_PREFIX, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x66 */ { 0, IT_PREFIX_OPERAND, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x67 */ { 0, IT_PREFIX_ADDRESS, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x68 */ { 0, IT_GENERIC, AM_I | OT_V, AM_NOT_USED, AM_NOT_USED, "push", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x69 */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_I | OT_V, "imul", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x6A */ { 0, IT_GENERIC, AM_I | OT_B, AM_NOT_USED, AM_NOT_USED, "push", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x6B */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_I | OT_B, "imul", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x6C */ { 0, IT_GENERIC, AM_Y | OT_B, AM_REGISTER | OT_B, AM_NOT_USED, "insb", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x6D */ { 0, IT_GENERIC, AM_Y | OT_V, AM_REGISTER | OT_V, AM_NOT_USED, "insd", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x6E */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_X | OT_B, AM_NOT_USED, "outsb", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x6F */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_X | OT_V, AM_NOT_USED, "outsb", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x70 */ { 0, IT_JUMP, AM_J | OT_B, AM_NOT_USED, AM_NOT_USED, "jo", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x71 */ { 0, IT_JUMP, AM_J | OT_B, AM_NOT_USED, AM_NOT_USED, "jno", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x72 */ { 0, IT_JUMP, AM_J | OT_B, AM_NOT_USED, AM_NOT_USED, "jc", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x73 */ { 0, IT_JUMP, AM_J | OT_B, AM_NOT_USED, AM_NOT_USED, "jnc", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x74 */ { 0, IT_JUMP, AM_J | OT_B, AM_NOT_USED, AM_NOT_USED, "jz", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x75 */ { 0, IT_JUMP, AM_J | OT_B, AM_NOT_USED, AM_NOT_USED, "jnz", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x76 */ { 0, IT_JUMP, AM_J | OT_B, AM_NOT_USED, AM_NOT_USED, "jbe", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x77 */ { 0, IT_JUMP, AM_J | OT_B, AM_NOT_USED, AM_NOT_USED, "ja", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x78 */ { 0, IT_JUMP, AM_J | OT_B, AM_NOT_USED, AM_NOT_USED, "js", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x79 */ { 0, IT_JUMP, AM_J | OT_B, AM_NOT_USED, AM_NOT_USED, "jns", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x7A */ { 0, IT_JUMP, AM_J | OT_B, AM_NOT_USED, AM_NOT_USED, "jpe", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x7B */ { 0, IT_JUMP, AM_J | OT_B, AM_NOT_USED, AM_NOT_USED, "jpo", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x7C */ { 0, IT_JUMP, AM_J | OT_B, AM_NOT_USED, AM_NOT_USED, "jl", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x7D */ { 0, IT_JUMP, AM_J | OT_B, AM_NOT_USED, AM_NOT_USED, "jge", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x7E */ { 0, IT_JUMP, AM_J | OT_B, AM_NOT_USED, AM_NOT_USED, "jle", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x7F */ { 0, IT_JUMP, AM_J | OT_B, AM_NOT_USED, AM_NOT_USED, "jg", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x80 */ { 2, IT_REFERENCE, AM_E | OT_B, AM_I | OT_B, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x81 */ { 3, IT_REFERENCE, AM_E | OT_V, AM_I | OT_V, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x82 */ { 4, IT_REFERENCE, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x83 */ { 5, IT_REFERENCE, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x84 */ { 0, IT_GENERIC, AM_E | OT_B, AM_G | OT_B, AM_NOT_USED, "test", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x85 */ { 0, IT_GENERIC, AM_E | OT_V, AM_G | OT_V, AM_NOT_USED, "test", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x86 */ { 0, IT_GENERIC, AM_E | OT_B, AM_G | OT_B, AM_NOT_USED, "xchg", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x87 */ { 0, IT_GENERIC, AM_E | OT_V, AM_G | OT_V, AM_NOT_USED, "xchg", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x88 */ { 0, IT_GENERIC, AM_E | OT_B, AM_G | OT_B, AM_NOT_USED, "mov", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x89 */ { 0, IT_GENERIC, AM_E | OT_V, AM_G | OT_V, AM_NOT_USED, "mov", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x8A */ { 0, IT_GENERIC, AM_G | OT_B, AM_E | OT_B, AM_NOT_USED, "mov", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x8B */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "mov", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x8C */ { 0, IT_GENERIC, AM_E | OT_W, AM_S | OT_W, AM_NOT_USED, "mov", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x8D */ { 0, IT_GENERIC, AM_G | OT_V, AM_M | OT_ADDRESS_MODE_M, AM_NOT_USED, "lea", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x8E */ { 0, IT_GENERIC, AM_S | OT_W, AM_E | OT_W, AM_NOT_USED, "mov", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x8F */ { 0, IT_GENERIC, AM_E | OT_V, AM_NOT_USED, AM_NOT_USED, "pop", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x90 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "nop", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x91 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_REGISTER | OT_V, AM_NOT_USED, "xchg", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x92 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_REGISTER | OT_V, AM_NOT_USED, "xchg", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x93 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_REGISTER | OT_V, AM_NOT_USED, "xchg", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x94 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_REGISTER | OT_V, AM_NOT_USED, "xchg", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x95 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_REGISTER | OT_V, AM_NOT_USED, "xchg", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x96 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_REGISTER | OT_V, AM_NOT_USED, "xchg", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x97 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_REGISTER | OT_V, AM_NOT_USED, "xchg", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x98 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "cwde", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x99 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "cdq", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x9A */ { 0, IT_JUMP, AM_A | OT_P, AM_NOT_USED, AM_NOT_USED, "callf", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x9B */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "wait", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x9C */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "pushfd", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x9D */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "popfd", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x9E */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "sahf", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x9F */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "lahf", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xA0 */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_O | OT_B, AM_NOT_USED, "mov", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xA1 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_O | OT_V, AM_NOT_USED, "mov", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xA2 */ { 0, IT_GENERIC, AM_O | OT_B, AM_REGISTER | OT_B, AM_NOT_USED, "mov", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xA3 */ { 0, IT_GENERIC, AM_O | OT_V, AM_REGISTER | OT_V, AM_NOT_USED, "mov", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xA4 */ { 0, IT_GENERIC, AM_X | OT_B, AM_Y | OT_B, AM_NOT_USED, "movsb", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xA5 */ { 0, IT_GENERIC, AM_X | OT_V, AM_Y | OT_V, AM_NOT_USED, "movsd", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xA6 */ { 0, IT_GENERIC, AM_X | OT_B, AM_Y | OT_B, AM_NOT_USED, "cmpsb", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xA7 */ { 0, IT_GENERIC, AM_X | OT_V, AM_Y | OT_V, AM_NOT_USED, "cmpsd", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xA8 */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_I | OT_B, AM_NOT_USED, "test", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xA9 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_I | OT_V, AM_NOT_USED, "test", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xAA */ { 0, IT_GENERIC, AM_Y | OT_B, AM_REGISTER | OT_B, AM_NOT_USED, "stosb", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xAB */ { 0, IT_GENERIC, AM_Y | OT_V, AM_REGISTER | OT_V, AM_NOT_USED, "stosd", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xAC */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_X| OT_B, AM_NOT_USED, "lodsb", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xAD */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_X| OT_V, AM_NOT_USED, "lodsd", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xAE */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_Y | OT_B, AM_NOT_USED, "scasb", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xAF */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_Y | OT_V, AM_NOT_USED, "scasd", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xB0 */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_I | OT_B, AM_NOT_USED, "mov", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xB1 */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_I | OT_B, AM_NOT_USED, "mov", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 1995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xB2 */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_I | OT_B, AM_NOT_USED, "mov", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xB3 */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_I | OT_B, AM_NOT_USED, "mov", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xB4 */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_I | OT_B, AM_NOT_USED, "mov", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xB5 */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_I | OT_B, AM_NOT_USED, "mov", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xB6 */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_I | OT_B, AM_NOT_USED, "mov", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xB7 */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_I | OT_B, AM_NOT_USED, "mov", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xB8 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_I | OT_V, AM_NOT_USED, "mov", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xB9 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_I | OT_V, AM_NOT_USED, "mov", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xBA */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_I | OT_V, AM_NOT_USED, "mov", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xBB */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_I | OT_V, AM_NOT_USED, "mov", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xBC */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_I | OT_V, AM_NOT_USED, "mov", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xBD */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_I | OT_V, AM_NOT_USED, "mov", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xBE */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_I | OT_V, AM_NOT_USED, "mov", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xBF */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_I | OT_V, AM_NOT_USED, "mov", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xC0 */ { 6, IT_REFERENCE, AM_E | OT_B, AM_I | OT_B, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xC1 */ { 7, IT_REFERENCE, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xC2 */ { 0, IT_RETURN, AM_I | OT_W, AM_NOT_USED, AM_NOT_USED, "ret", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xC3 */ { 0, IT_RETURN, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "ret", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xC4 */ { 0, IT_GENERIC, AM_G | OT_V, AM_M | OT_P, AM_NOT_USED, "les", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xC5 */ { 0, IT_GENERIC, AM_G | OT_V, AM_M | OT_P, AM_NOT_USED, "lds", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xC6 */ { 0, IT_GENERIC, AM_E | OT_B, AM_I | OT_B, AM_NOT_USED, "mov", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xC7 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_V, AM_NOT_USED, "mov", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xC8 */ { 0, IT_GENERIC, AM_I | OT_W, AM_I | OT_B, AM_NOT_USED, "enter", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xC9 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "leave", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xCA */ { 0, IT_RETURN, AM_I | OT_W, AM_NOT_USED, AM_NOT_USED, "retf", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xCB */ { 0, IT_RETURN, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "retf", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xCC */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "int3", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xCD */ { 0, IT_GENERIC, AM_I | OT_B, AM_NOT_USED, AM_NOT_USED, "int", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xCE */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "into", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xCF */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "iret", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xD0 */ { 8, IT_REFERENCE, AM_E | OT_B, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xD1 */ { 9, IT_REFERENCE, AM_E | OT_V, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xD2 */ { 10, IT_REFERENCE, AM_E | OT_B, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xD3 */ { 11, IT_REFERENCE, AM_E | OT_V, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xD4 */ { 0, IT_GENERIC, AM_I | OT_B, AM_NOT_USED, AM_NOT_USED, "aam", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xD5 */ { 0, IT_GENERIC, AM_I | OT_B, AM_NOT_USED, AM_NOT_USED, "aad", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xD6 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xD7 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "xlat", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // The following 8 lines would be references to the FPU tables, but we currently 2395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // do not support the FPU instructions in this disassembler. 2405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xD8 */ { 0, IT_UNKNOWN, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xD9 */ { 0, IT_UNKNOWN, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xDA */ { 0, IT_UNKNOWN, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xDB */ { 0, IT_UNKNOWN, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xDC */ { 0, IT_UNKNOWN, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xDD */ { 0, IT_UNKNOWN, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xDE */ { 0, IT_UNKNOWN, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xDF */ { 0, IT_UNKNOWN, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xE0 */ { 0, IT_JUMP, AM_J | OT_B, AM_NOT_USED, AM_NOT_USED, "loopnz", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xE1 */ { 0, IT_JUMP, AM_J | OT_B, AM_NOT_USED, AM_NOT_USED, "loopz", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xE2 */ { 0, IT_JUMP, AM_J | OT_B, AM_NOT_USED, AM_NOT_USED, "loop", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xE3 */ { 0, IT_JUMP, AM_J | OT_B, AM_NOT_USED, AM_NOT_USED, "jcxz", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xE4 */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_I | OT_B, AM_NOT_USED, "in", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xE5 */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_I | OT_B, AM_NOT_USED, "in", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xE6 */ { 0, IT_GENERIC, AM_I | OT_B, AM_REGISTER | OT_B, AM_NOT_USED, "out", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xE7 */ { 0, IT_GENERIC, AM_I | OT_B, AM_REGISTER | OT_B, AM_NOT_USED, "out", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xE8 */ { 0, IT_JUMP, AM_J | OT_V, AM_NOT_USED, AM_NOT_USED, "call", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xE9 */ { 0, IT_JUMP, AM_J | OT_V, AM_NOT_USED, AM_NOT_USED, "jmp", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xEA */ { 0, IT_JUMP, AM_A | OT_P, AM_NOT_USED, AM_NOT_USED, "jmp", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xEB */ { 0, IT_JUMP, AM_J | OT_B, AM_NOT_USED, AM_NOT_USED, "jmp", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xEC */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_REGISTER | OT_W, AM_NOT_USED, "in", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xED */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_REGISTER | OT_W, AM_NOT_USED, "in", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xEE */ { 0, IT_GENERIC, AM_REGISTER | OT_W, AM_REGISTER | OT_B, AM_NOT_USED, "out", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xEF */ { 0, IT_GENERIC, AM_REGISTER | OT_W, AM_REGISTER | OT_V, AM_NOT_USED, "out", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xF0 */ { 0, IT_PREFIX, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "lock:", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xF1 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xF2 */ { 0, IT_PREFIX, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "repne:", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xF3 */ { 0, IT_PREFIX, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "rep:", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xF4 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "hlt", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xF5 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "cmc", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xF6 */ { 12, IT_REFERENCE, AM_E | OT_B, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xF7 */ { 13, IT_REFERENCE, AM_E | OT_V, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xF8 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "clc", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xF9 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "stc", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xFA */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "cli", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xFB */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "sti", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xFC */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "cld", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xFD */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "std", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xFE */ { 14, IT_REFERENCE, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xFF */ { 15, IT_REFERENCE, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } } 2835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 2845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const Opcode s_opcode_byte_after_0f[] = { 2865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x0 */ { 16, IT_REFERENCE, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x1 */ { 17, IT_REFERENCE, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x2 */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_W, AM_NOT_USED, "lar", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x3 */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_W, AM_NOT_USED, "lsl", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x4 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x5 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x6 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "clts", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x7 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x8 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "invd", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x9 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "wbinvd", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xA */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xB */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "ud2", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xC */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 2995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xD */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 3005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xE */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 3015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xF */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 3025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x10 */ { 0, IT_GENERIC, AM_V | OT_PS, AM_W | OT_PS, AM_NOT_USED, "movups", true, 3035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0, IT_GENERIC, AM_V | OT_SD, AM_W | OT_SD, AM_NOT_USED, "movsd" }, 3045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0, IT_GENERIC, AM_V | OT_SS, AM_W | OT_SS, AM_NOT_USED, "movss" }, 3055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_PD, AM_W | OT_PD, AM_NOT_USED, "movupd" } }, 3065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x11 */ { 0, IT_GENERIC, AM_W | OT_PS, AM_V | OT_PS, AM_NOT_USED, "movups", true, 3075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0, IT_GENERIC, AM_W | OT_SD, AM_V | OT_SD, AM_NOT_USED, "movsd" }, 3085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0, IT_GENERIC, AM_W | OT_SS, AM_V | OT_SS, AM_NOT_USED, "movss" }, 3095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_W | OT_PD, AM_V | OT_PD, AM_NOT_USED, "movupd" } }, 3105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x12 */ { 0, IT_GENERIC, AM_W | OT_Q, AM_V | OT_Q, AM_NOT_USED, "movlps", true, 3115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0, IT_GENERIC, AM_V | OT_Q, AM_V | OT_Q, AM_NOT_USED, "movhlps" }, // only one of ... 3125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0, IT_GENERIC, AM_V | OT_Q, AM_V | OT_Q, AM_NOT_USED, "movhlps" }, // ...these two is correct, Intel doesn't specify which 3135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_Q, AM_W | OT_S, AM_NOT_USED, "movlpd" } }, 3145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x13 */ { 0, IT_GENERIC, AM_V | OT_Q, AM_W | OT_Q, AM_NOT_USED, "movlps", true, 3155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 3165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 3175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_Q, AM_W | OT_Q, AM_NOT_USED, "movlpd" } }, 3185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x14 */ { 0, IT_GENERIC, AM_V | OT_PS, AM_W | OT_Q, AM_NOT_USED, "unpcklps", true, 3195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 3205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 3215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_PD, AM_W | OT_Q, AM_NOT_USED, "unpcklpd" } }, 3225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x15 */ { 0, IT_GENERIC, AM_V | OT_PS, AM_W | OT_Q, AM_NOT_USED, "unpckhps", true, 3235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 3245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 3255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_PD, AM_W | OT_Q, AM_NOT_USED, "unpckhpd" } }, 3265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x16 */ { 0, IT_GENERIC, AM_V | OT_Q, AM_W | OT_Q, AM_NOT_USED, "movhps", true, 3275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0, IT_GENERIC, AM_V | OT_Q, AM_V | OT_Q, AM_NOT_USED, "movlhps" }, // only one of... 3285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0, IT_GENERIC, AM_V | OT_Q, AM_V | OT_Q, AM_NOT_USED, "movlhps" }, // ...these two is correct, Intel doesn't specify which 3295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_Q, AM_W | OT_Q, AM_NOT_USED, "movhpd" } }, 3305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x17 */ { 0, IT_GENERIC, AM_W | OT_Q, AM_V | OT_Q, AM_NOT_USED, "movhps", true, 3315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 3325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 3335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_W | OT_Q, AM_V | OT_Q, AM_NOT_USED, "movhpd" } }, 3345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x18 */ { 18, IT_REFERENCE, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 3355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x19 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 3365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x1A */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 3375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x1B */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 3385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x1C */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 3395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x1D */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 3405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x1E */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 3415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x1F */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 3425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x20 */ { 0, IT_GENERIC, AM_R | OT_D, AM_C | OT_D, AM_NOT_USED, "mov", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 3435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x21 */ { 0, IT_GENERIC, AM_R | OT_D, AM_D | OT_D, AM_NOT_USED, "mov", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 3445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x22 */ { 0, IT_GENERIC, AM_C | OT_D, AM_R | OT_D, AM_NOT_USED, "mov", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 3455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x23 */ { 0, IT_GENERIC, AM_D | OT_D, AM_R | OT_D, AM_NOT_USED, "mov", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 3465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x24 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 3475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x25 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 3485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x26 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 3495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x27 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 3505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x28 */ { 0, IT_GENERIC, AM_V | OT_PS, AM_W | OT_PS, AM_NOT_USED, "movaps", true, 3515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 3525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 3535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_PD, AM_W | OT_PD, AM_NOT_USED, "movapd" } }, 3545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x29 */ { 0, IT_GENERIC, AM_W | OT_PS, AM_V | OT_PS, AM_NOT_USED, "movaps", true, 3555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 3565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 3575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_W | OT_PD, AM_V | OT_PD, AM_NOT_USED, "movapd" } }, 3585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x2A */ { 0, IT_GENERIC, AM_V | OT_PS, AM_Q | OT_Q, AM_NOT_USED, "cvtpi2ps", true, 3595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0, IT_GENERIC, AM_V | OT_SD, AM_E | OT_D, AM_NOT_USED, "cvtsi2sd" }, 3605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0, IT_GENERIC, AM_V | OT_SS, AM_E | OT_D, AM_NOT_USED, "cvtsi2ss" }, 3615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_PD, AM_Q | OT_DQ, AM_NOT_USED, "cvtpi2pd" } }, 3625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x2B */ { 0, IT_GENERIC, AM_W | OT_PS, AM_V | OT_PS, AM_NOT_USED, "movntps", true, 3635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 3645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 3655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_W | OT_PD, AM_V | OT_PD, AM_NOT_USED, "movntpd" } }, 3665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x2C */ { 0, IT_GENERIC, AM_Q | OT_Q, AM_W | OT_PS, AM_NOT_USED, "cvttps2pi", true, 3675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0, IT_GENERIC, AM_G | OT_D, AM_W | OT_SD, AM_NOT_USED, "cvttsd2si" }, 3685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0, IT_GENERIC, AM_G | OT_D, AM_W | OT_SS, AM_NOT_USED, "cvttss2si" }, 3695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_Q | OT_DQ, AM_W | OT_PD, AM_NOT_USED, "cvttpd2pi" } }, 3705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x2D */ { 0, IT_GENERIC, AM_Q | OT_Q, AM_W | OT_PS, AM_NOT_USED, "cvtps2pi", true, 3715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0, IT_GENERIC, AM_G | OT_D, AM_W | OT_SD, AM_NOT_USED, "cvtsd2si" }, 3725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0, IT_GENERIC, AM_G | OT_D, AM_W | OT_SS, AM_NOT_USED, "cvtss2si" }, 3735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_Q | OT_DQ, AM_W | OT_PD, AM_NOT_USED, "cvtpd2pi" } }, 3745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x2E */ { 0, IT_GENERIC, AM_V | OT_SS, AM_W | OT_SS, AM_NOT_USED, "ucomiss", true, 3755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 3765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 3775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_SD, AM_W | OT_SD, AM_NOT_USED, "ucomisd" } }, 3785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x2F */ { 0, IT_GENERIC, AM_V | OT_PS, AM_W | OT_SS, AM_NOT_USED, "comiss", true, 3795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 3805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 3815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_SD, AM_W | OT_SD, AM_NOT_USED, "comisd" } }, 3825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x30 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "wrmsr", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 3835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x31 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "rdtsc", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 3845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x32 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "rdmsr", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 3855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x33 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "rdpmc", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 3865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x34 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "sysenter", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 3875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x35 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "sysexit", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 3885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x36 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 3895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x37 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 3905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x38 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 3915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x39 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 3925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x3A */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 3935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x3B */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 3945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x3C */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "movnti", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 3955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x3D */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 3965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x3E */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 3975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x3F */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 3985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x40 */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "cmovo", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 3995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x41 */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "cmovno", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 4005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x42 */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "cmovc", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 4015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x43 */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "cmovnc", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 4025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x44 */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "cmovz", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 4035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x45 */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "cmovnz", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 4045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x46 */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "cmovbe", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 4055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x47 */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "cmova", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 4065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x48 */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "cmovs", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 4075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x49 */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "cmovns", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 4085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x4A */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "cmovpe", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 4095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x4B */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "cmovpo", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 4105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x4C */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "cmovl", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 4115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x4D */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "cmovge", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 4125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x4E */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "cmovle", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 4135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x4F */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "cmovg", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 4145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x50 */ { 0, IT_GENERIC, AM_E | OT_D, AM_V | OT_PS, AM_NOT_USED, "movmskps", true, 4155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 4165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 4175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_E | OT_D, AM_V | OT_PD, AM_NOT_USED, "movmskpd" } }, 4185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x51 */ { 0, IT_GENERIC, AM_V | OT_PS, AM_W | OT_PS, AM_NOT_USED, "sqrtps", true, 4195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0, IT_GENERIC, AM_V | OT_SD, AM_W | OT_SD, AM_NOT_USED, "sqrtsd" }, 4205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0, IT_GENERIC, AM_V | OT_SS, AM_W | OT_SS, AM_NOT_USED, "sqrtss" }, 4215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_PD, AM_W | OT_PD, AM_NOT_USED, "sqrtpd" } }, 4225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x52 */ { 0, IT_GENERIC, AM_V | OT_PS, AM_W | OT_PS, AM_NOT_USED, "rsqrtps", true, 4235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 4245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0, IT_GENERIC, AM_V | OT_SS, AM_W | OT_SS, AM_NOT_USED, "rsqrtss" }, 4255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0 } }, 4265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x53 */ { 0, IT_GENERIC, AM_V | OT_PS, AM_W | OT_PS, AM_NOT_USED, "rcpps", true, 4275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 4285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0, IT_GENERIC, AM_V | OT_SS, AM_W | OT_SS, AM_NOT_USED, "rcpss" }, 4295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0 } }, 4305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x54 */ { 0, IT_GENERIC, AM_V | OT_PS, AM_W | OT_PS, AM_NOT_USED, "andps", true, 4315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 4325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 4335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_PD, AM_W | OT_PD, AM_NOT_USED, "andpd" } }, 4345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x55 */ { 0, IT_GENERIC, AM_V | OT_PS, AM_W | OT_PS, AM_NOT_USED, "andnps", true, 4355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 4365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 4375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_PD, AM_W | OT_PD, AM_NOT_USED, "andnpd" } }, 4385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x56 */ { 0, IT_GENERIC, AM_V | OT_PS, AM_W | OT_PS, AM_NOT_USED, "orps", true, 4395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 4405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 4415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_PD, AM_W | OT_PD, AM_NOT_USED, "orpd" } }, 4425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x57 */ { 0, IT_GENERIC, AM_V | OT_PS, AM_W | OT_PS, AM_NOT_USED, "xorps", true, 4435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 4445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 4455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_PD, AM_W | OT_PD, AM_NOT_USED, "xorpd" } }, 4465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x58 */ { 0, IT_GENERIC, AM_V | OT_PS, AM_W | OT_PS, AM_NOT_USED, "addps", true, 4475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0, IT_GENERIC, AM_V | OT_SD, AM_W | OT_SD, AM_NOT_USED, "addsd" }, 4485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0, IT_GENERIC, AM_V | OT_SS, AM_W | OT_SS, AM_NOT_USED, "addss" }, 4495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_PD, AM_W | OT_PD, AM_NOT_USED, "addpd" } }, 4505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x59 */ { 0, IT_GENERIC, AM_V | OT_PS, AM_W | OT_PS, AM_NOT_USED, "mulps", true, 4515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0, IT_GENERIC, AM_V | OT_SD, AM_W | OT_SD, AM_NOT_USED, "mulsd" }, 4525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0, IT_GENERIC, AM_V | OT_SS, AM_W | OT_SS, AM_NOT_USED, "mulss" }, 4535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_PD, AM_W | OT_PD, AM_NOT_USED, "mulpd" } }, 4545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x5A */ { 0, IT_GENERIC, AM_V | OT_PD, AM_W | OT_PS, AM_NOT_USED, "cvtps2pd", true, 4555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0, IT_GENERIC, AM_V | OT_SD, AM_W | OT_SD, AM_NOT_USED, "cvtsd2ss" }, 4565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0, IT_GENERIC, AM_V | OT_SS, AM_W | OT_SS, AM_NOT_USED, "cvtss2sd" }, 4575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_PS, AM_W | OT_PD, AM_NOT_USED, "cvtpd2ps" } }, 4585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x5B */ { 0, IT_GENERIC, AM_V | OT_PS, AM_W | OT_DQ, AM_NOT_USED, "cvtdq2ps", true, 4595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 4605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_PS, AM_NOT_USED, "cvttps2dq" }, 4615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_PS, AM_NOT_USED, "cvtps2dq" } }, 4625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x5C */ { 0, IT_GENERIC, AM_V | OT_PS, AM_W | OT_PS, AM_NOT_USED, "subps", true, 4635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0, IT_GENERIC, AM_V | OT_SD, AM_W | OT_SD, AM_NOT_USED, "subsd" }, 4645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0, IT_GENERIC, AM_V | OT_SS, AM_W | OT_SS, AM_NOT_USED, "subss" }, 4655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_PD, AM_W | OT_PD, AM_NOT_USED, "subpd" } }, 4665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x5D */ { 0, IT_GENERIC, AM_V | OT_PS, AM_W | OT_PS, AM_NOT_USED, "minps", true, 4675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0, IT_GENERIC, AM_V | OT_SD, AM_W | OT_SD, AM_NOT_USED, "minsd" }, 4685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0, IT_GENERIC, AM_V | OT_SS, AM_W | OT_SS, AM_NOT_USED, "minss" }, 4695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_PD, AM_W | OT_PD, AM_NOT_USED, "minpd" } }, 4705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x5E */ { 0, IT_GENERIC, AM_V | OT_PS, AM_W | OT_PS, AM_NOT_USED, "divps", true, 4715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0, IT_GENERIC, AM_V | OT_SD, AM_W | OT_SD, AM_NOT_USED, "divsd" }, 4725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0, IT_GENERIC, AM_V | OT_SS, AM_W | OT_SS, AM_NOT_USED, "divss" }, 4735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_PD, AM_W | OT_PD, AM_NOT_USED, "divpd" } }, 4745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x5F */ { 0, IT_GENERIC, AM_V | OT_PS, AM_W | OT_PS, AM_NOT_USED, "maxps", true, 4755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0, IT_GENERIC, AM_V | OT_SD, AM_W | OT_SD, AM_NOT_USED, "maxsd" }, 4765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0, IT_GENERIC, AM_V | OT_SS, AM_W | OT_SS, AM_NOT_USED, "maxss" }, 4775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_PD, AM_W | OT_PD, AM_NOT_USED, "maxpd" } }, 4785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x60 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_D, AM_NOT_USED, "punpcklbw", true, 4795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 4805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 4815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "punpcklbw" } }, 4825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x61 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_D, AM_NOT_USED, "punpcklwd", true, 4835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 4845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 4855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "punpcklwd" } }, 4865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x62 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_D, AM_NOT_USED, "punpckldq", true, 4875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 4885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 4895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "punpckldq" } }, 4905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x63 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_D, AM_NOT_USED, "packsswb", true, 4915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 4925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 4935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "packsswb" } }, 4945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x64 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_D, AM_NOT_USED, "pcmpgtb", true, 4955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 4965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 4975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "pcmpgtb" } }, 4985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x65 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_D, AM_NOT_USED, "pcmpgtw", true, 4995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 5005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 5015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "pcmpgtw" } }, 5025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x66 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_D, AM_NOT_USED, "pcmpgtd", true, 5035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 5045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 5055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "pcmpgtd" } }, 5065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x67 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_D, AM_NOT_USED, "packuswb", true, 5075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 5085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 5095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "packuswb" } }, 5105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x68 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_D, AM_NOT_USED, "punpckhbw", true, 5115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 5125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 5135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_P | OT_DQ, AM_Q | OT_DQ, AM_NOT_USED, "punpckhbw" } }, 5145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x69 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_D, AM_NOT_USED, "punpckhwd", true, 5155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 5165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 5175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_P | OT_DQ, AM_Q | OT_DQ, AM_NOT_USED, "punpckhwd" } }, 5185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x6A */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_D, AM_NOT_USED, "punpckhdq", true, 5195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 5205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 5215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_P | OT_DQ, AM_Q | OT_DQ, AM_NOT_USED, "punpckhdq" } }, 5225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x6B */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_D, AM_NOT_USED, "packssdw", true, 5235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 5245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 5255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_P | OT_DQ, AM_Q | OT_DQ, AM_NOT_USED, "packssdw" } }, 5265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x6C */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "not used without prefix", true, 5275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 5285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 5295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "punpcklqdq" } }, 5305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x6D */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "not used without prefix", true, 5315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 5325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 5335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "punpcklqdq" } }, 5345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x6E */ { 0, IT_GENERIC, AM_P | OT_D, AM_E | OT_D, AM_NOT_USED, "movd", true, 5355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 5365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 5375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_E | OT_D, AM_NOT_USED, "movd" } }, 5385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x6F */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_D, AM_NOT_USED, "movq", true, 5395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 5405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "movdqu" }, 5415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "movdqa" } }, 5425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x70 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_I | OT_B, "pshuf", true, 5435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_I | OT_B, "pshuflw" }, 5445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_I | OT_B, "pshufhw" }, 5455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_I | OT_B, "pshufd" } }, 5465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x71 */ { 19, IT_REFERENCE, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 5475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x72 */ { 20, IT_REFERENCE, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 5485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x73 */ { 21, IT_REFERENCE, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 5495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x74 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "pcmpeqb", true, 5505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 5515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 5525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "pcmpeqb" } }, 5535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x75 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "pcmpeqw", true, 5545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 5555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 5565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "pcmpeqw" } }, 5575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x76 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "pcmpeqd", true, 5585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 5595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 5605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "pcmpeqd" } }, 5615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x77 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "emms", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 5625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // The following six opcodes are escapes into the MMX stuff, which this disassembler does not support. 5645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x78 */ { 0, IT_UNKNOWN, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 5655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x79 */ { 0, IT_UNKNOWN, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 5665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x7A */ { 0, IT_UNKNOWN, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 5675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x7B */ { 0, IT_UNKNOWN, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 5685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x7C */ { 0, IT_UNKNOWN, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 5695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x7D */ { 0, IT_UNKNOWN, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 5705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x7E */ { 0, IT_GENERIC, AM_E | OT_D, AM_P | OT_D, AM_NOT_USED, "movd", true, 5725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 5735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0, IT_GENERIC, AM_V | OT_Q, AM_W | OT_Q, AM_NOT_USED, "movq" }, 5745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_E | OT_D, AM_V | OT_DQ, AM_NOT_USED, "movd" } }, 5755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x7F */ { 0, IT_GENERIC, AM_Q | OT_Q, AM_P | OT_Q, AM_NOT_USED, "movq", true, 5765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 5775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0, IT_GENERIC, AM_W | OT_DQ, AM_V | OT_DQ, AM_NOT_USED, "movdqu" }, 5785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_W | OT_DQ, AM_V | OT_DQ, AM_NOT_USED, "movdqa" } }, 5795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x80 */ { 0, IT_JUMP, AM_J | OT_V, AM_NOT_USED, AM_NOT_USED, "jo", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 5805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x81 */ { 0, IT_JUMP, AM_J | OT_V, AM_NOT_USED, AM_NOT_USED, "jno", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 5815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x82 */ { 0, IT_JUMP, AM_J | OT_V, AM_NOT_USED, AM_NOT_USED, "jc", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 5825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x83 */ { 0, IT_JUMP, AM_J | OT_V, AM_NOT_USED, AM_NOT_USED, "jnc", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 5835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x84 */ { 0, IT_JUMP, AM_J | OT_V, AM_NOT_USED, AM_NOT_USED, "jz", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 5845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x85 */ { 0, IT_JUMP, AM_J | OT_V, AM_NOT_USED, AM_NOT_USED, "jnz", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 5855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x86 */ { 0, IT_JUMP, AM_J | OT_V, AM_NOT_USED, AM_NOT_USED, "jbe", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 5865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x87 */ { 0, IT_JUMP, AM_J | OT_V, AM_NOT_USED, AM_NOT_USED, "ja", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 5875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x88 */ { 0, IT_JUMP, AM_J | OT_V, AM_NOT_USED, AM_NOT_USED, "js", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 5885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x89 */ { 0, IT_JUMP, AM_J | OT_V, AM_NOT_USED, AM_NOT_USED, "jns", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 5895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x8A */ { 0, IT_JUMP, AM_J | OT_V, AM_NOT_USED, AM_NOT_USED, "jpe", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 5905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x8B */ { 0, IT_JUMP, AM_J | OT_V, AM_NOT_USED, AM_NOT_USED, "jpo", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 5915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x8C */ { 0, IT_JUMP, AM_J | OT_V, AM_NOT_USED, AM_NOT_USED, "jl", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 5925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x8D */ { 0, IT_JUMP, AM_J | OT_V, AM_NOT_USED, AM_NOT_USED, "jge", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 5935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x8E */ { 0, IT_JUMP, AM_J | OT_V, AM_NOT_USED, AM_NOT_USED, "jle", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 5945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x8F */ { 0, IT_JUMP, AM_J | OT_V, AM_NOT_USED, AM_NOT_USED, "jg", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 5955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x90 */ { 0, IT_GENERIC, AM_E | OT_B, AM_NOT_USED, AM_NOT_USED, "seto", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 5965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x91 */ { 0, IT_GENERIC, AM_E | OT_B, AM_NOT_USED, AM_NOT_USED, "setno", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 5975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x92 */ { 0, IT_GENERIC, AM_E | OT_B, AM_NOT_USED, AM_NOT_USED, "setc", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 5985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x93 */ { 0, IT_GENERIC, AM_E | OT_B, AM_NOT_USED, AM_NOT_USED, "setnc", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 5995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x94 */ { 0, IT_GENERIC, AM_E | OT_B, AM_NOT_USED, AM_NOT_USED, "setz", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 6005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x95 */ { 0, IT_GENERIC, AM_E | OT_B, AM_NOT_USED, AM_NOT_USED, "setnz", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 6015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x96 */ { 0, IT_GENERIC, AM_E | OT_B, AM_NOT_USED, AM_NOT_USED, "setbe", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 6025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x97 */ { 0, IT_GENERIC, AM_E | OT_B, AM_NOT_USED, AM_NOT_USED, "seta", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 6035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x98 */ { 0, IT_GENERIC, AM_E | OT_B, AM_NOT_USED, AM_NOT_USED, "sets", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 6045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x99 */ { 0, IT_GENERIC, AM_E | OT_B, AM_NOT_USED, AM_NOT_USED, "setns", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 6055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x9A */ { 0, IT_GENERIC, AM_E | OT_B, AM_NOT_USED, AM_NOT_USED, "setpe", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 6065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x9B */ { 0, IT_GENERIC, AM_E | OT_B, AM_NOT_USED, AM_NOT_USED, "setpo", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 6075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x9C */ { 0, IT_GENERIC, AM_E | OT_B, AM_NOT_USED, AM_NOT_USED, "setl", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 6085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x9D */ { 0, IT_GENERIC, AM_E | OT_B, AM_NOT_USED, AM_NOT_USED, "setge", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 6095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x9E */ { 0, IT_GENERIC, AM_E | OT_B, AM_NOT_USED, AM_NOT_USED, "setle", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 6105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x9F */ { 0, IT_GENERIC, AM_E | OT_B, AM_NOT_USED, AM_NOT_USED, "setg", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 6115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xA0 */ { 0, IT_GENERIC, AM_REGISTER | OT_W, AM_NOT_USED, AM_NOT_USED, "push", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 6125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xA1 */ { 0, IT_GENERIC, AM_REGISTER | OT_W, AM_NOT_USED, AM_NOT_USED, "pop", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 6135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xA2 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "cpuid", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 6145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xA3 */ { 0, IT_GENERIC, AM_E | OT_V, AM_G | OT_V, AM_NOT_USED, "bt", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 6155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xA4 */ { 0, IT_GENERIC, AM_E | OT_V, AM_G | OT_V, AM_I | OT_B, "shld", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 6165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xA5 */ { 0, IT_GENERIC, AM_E | OT_V, AM_G | OT_V, AM_I | OT_B | AM_REGISTER, "shld", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 6175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xA6 */ { 0, IT_UNKNOWN, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 6185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xA7 */ { 0, IT_UNKNOWN, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 6195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xA8 */ { 0, IT_GENERIC, AM_REGISTER | OT_W, AM_NOT_USED, AM_NOT_USED, "push", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 6205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xA9 */ { 0, IT_GENERIC, AM_REGISTER | OT_W, AM_NOT_USED, AM_NOT_USED, "pop", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 6215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xAA */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "rsm", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 6225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xAB */ { 0, IT_GENERIC, AM_E | OT_V, AM_G | OT_V, AM_NOT_USED, "bts", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 6235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xAC */ { 0, IT_GENERIC, AM_E | OT_V, AM_G | OT_V, AM_I | OT_B, "shrd", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 6245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xAD */ { 0, IT_GENERIC, AM_E | OT_V, AM_G | OT_V, AM_I | OT_B | AM_REGISTER, "shrd", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 6255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xAE */ { 22, IT_REFERENCE, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 6265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xAF */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "imul", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 6275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xB0 */ { 0, IT_GENERIC, AM_E | OT_B, AM_G | OT_B, AM_NOT_USED, "cmpxchg", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 6285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xB1 */ { 0, IT_GENERIC, AM_E | OT_V, AM_G | OT_V, AM_NOT_USED, "cmpxchg", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 6295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xB2 */ { 0, IT_GENERIC, AM_M | OT_P, AM_NOT_USED, AM_NOT_USED, "lss", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 6305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xB3 */ { 0, IT_GENERIC, AM_E | OT_V, AM_G | OT_V, AM_NOT_USED, "btr", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 6315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xB4 */ { 0, IT_GENERIC, AM_M | OT_P, AM_NOT_USED, AM_NOT_USED, "lfs", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 6325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xB5 */ { 0, IT_GENERIC, AM_M | OT_P, AM_NOT_USED, AM_NOT_USED, "lgs", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 6335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xB6 */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_B, AM_NOT_USED, "movzx", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 6345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xB7 */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_W, AM_NOT_USED, "movzx", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 6355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xB8 */ { 0, IT_UNKNOWN, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 6365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xB9 */ { 0, IT_UNKNOWN, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "ud1", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 6375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xBA */ { 23, IT_REFERENCE, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 6385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xBB */ { 0, IT_GENERIC, AM_E | OT_V, AM_G | OT_V, AM_NOT_USED, "btc", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 6395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xBC */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "bsf", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 6405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xBD */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "bsr", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 6415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xBE */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_B, AM_NOT_USED, "movsx", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 6425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xBF */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_W, AM_NOT_USED, "movsx", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 6435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xC0 */ { 0, IT_GENERIC, AM_E | OT_B, AM_G | OT_B, AM_NOT_USED, "xadd", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 6445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xC1 */ { 0, IT_GENERIC, AM_E | OT_V, AM_NOT_USED, AM_NOT_USED, "xadd", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 6455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xC2 */ { 0, IT_GENERIC, AM_V | OT_PS, AM_W | OT_PS, AM_I | OT_B, "cmpps", true, 6465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0, IT_GENERIC, AM_V | OT_SD, AM_W | OT_SD, AM_I | OT_B, "cmpsd" }, 6475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0, IT_GENERIC, AM_V | OT_SS, AM_W | OT_SS, AM_I | OT_B, "cmpss" }, 6485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_PD, AM_W | OT_PD, AM_I | OT_B, "cmppd" } }, 6495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xC3 */ { 0, IT_GENERIC, AM_E | OT_D, AM_G | OT_D, AM_NOT_USED, "movnti", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 6505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xC4 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_E | OT_D, AM_I | OT_B, "pinsrw", true, 6515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 6525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 6535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_E | OT_D, AM_I | OT_B, "pinsrw" } }, 6545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xC5 */ { 0, IT_GENERIC, AM_G | OT_D, AM_P | OT_Q, AM_I | OT_B, "pextrw", true, 6555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 6565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 6575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_G | OT_D, AM_V | OT_DQ, AM_I | OT_B, "pextrw" } }, 6585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xC6 */ { 0, IT_GENERIC, AM_V | OT_PS, AM_W | OT_PS, AM_I | OT_B, "shufps", true, 6595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 6605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 6615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_PD, AM_W | OT_PD, AM_I | OT_B, "shufpd" } }, 6625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xC7 */ { 24, IT_REFERENCE, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 6635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xC8 */ { 0, IT_GENERIC, AM_REGISTER | OT_D, AM_NOT_USED, AM_NOT_USED, "bswap", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 6645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xC9 */ { 0, IT_GENERIC, AM_REGISTER | OT_D, AM_NOT_USED, AM_NOT_USED, "bswap", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 6655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xCA */ { 0, IT_GENERIC, AM_REGISTER | OT_D, AM_NOT_USED, AM_NOT_USED, "bswap", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 6665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xCB */ { 0, IT_GENERIC, AM_REGISTER | OT_D, AM_NOT_USED, AM_NOT_USED, "bswap", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 6675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xCC */ { 0, IT_GENERIC, AM_REGISTER | OT_D, AM_NOT_USED, AM_NOT_USED, "bswap", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 6685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xCD */ { 0, IT_GENERIC, AM_REGISTER | OT_D, AM_NOT_USED, AM_NOT_USED, "bswap", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 6695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xCE */ { 0, IT_GENERIC, AM_REGISTER | OT_D, AM_NOT_USED, AM_NOT_USED, "bswap", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 6705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xCF */ { 0, IT_GENERIC, AM_REGISTER | OT_D, AM_NOT_USED, AM_NOT_USED, "bswap", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 6715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xD0 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 6725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xD1 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "psrlw", true, 6735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 6745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 6755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "psrlw" } }, 6765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xD2 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "psrld", true, 6775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 6785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 6795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "psrld" } }, 6805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xD3 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "psrlq", true, 6815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 6825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 6835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "psrlq" } }, 6845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xD4 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "paddq", true, 6855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 6865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 6875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "paddq" } }, 6885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xD5 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "pmullw", true, 6895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 6905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 6915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "pmullw" } }, 6925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xD6 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "unused without prefix", true, 6935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0, IT_GENERIC, AM_P | OT_Q, AM_W | OT_Q, AM_NOT_USED, "movdq2q" }, 6945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_Q | OT_Q, AM_NOT_USED, "movq2dq" }, 6955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_W | OT_Q, AM_V | OT_Q, AM_NOT_USED, "movq" } }, 6965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xD7 */ { 0, IT_GENERIC, AM_G | OT_D, AM_P | OT_Q, AM_NOT_USED, "pmovmskb", true, 6975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 6985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 6995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_G | OT_D, AM_V | OT_DQ, AM_NOT_USED, "pmovmskb" } }, 7005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xD8 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "psubusb", true, 7015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 7025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 7035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "psubusb" } }, 7045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xD9 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "psubusw", true, 7055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 7065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 7075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "psubusw" } }, 7085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xDA */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "pminub", true, 7095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 7105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 7115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "pminub" } }, 7125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xDB */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "pand", true, 7135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 7145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 7155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "pand" } }, 7165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xDC */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "paddusb", true, 7175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 7185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 7195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "paddusb" } }, 7205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xDD */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "paddusw", true, 7215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 7225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 7235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "paddusw" } }, 7245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xDE */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "pmaxub", true, 7255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 7265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 7275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "pmaxub" } }, 7285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xDF */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "pandn", true, 7295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 7305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 7315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "pandn" } }, 7325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xE0 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "pavgb", true, 7335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 7345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 7355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "pavgb" } }, 7365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xE1 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "psraw", true, 7375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 7385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 7395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "psrqw" } }, 7405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xE2 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "psrad", true, 7415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 7425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 7435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "psrad" } }, 7445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xE3 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "pavgw", true, 7455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 7465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 7475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "pavgw" } }, 7485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xE4 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "pmulhuw", true, 7495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 7505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 7515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "pmulhuw" } }, 7525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xE5 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "pmulhuw", true, 7535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 7545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 7555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "pmulhw" } }, 7565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xE6 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "not used without prefix", true, 7575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_PD, AM_NOT_USED, "cvtpd2dq" }, 7585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0, IT_GENERIC, AM_V | OT_PD, AM_W | OT_DQ, AM_NOT_USED, "cvtdq2pd" }, 7595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_PD, AM_NOT_USED, "cvttpd2dq" } }, 7605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xE7 */ { 0, IT_GENERIC, AM_W | OT_Q, AM_V | OT_Q, AM_NOT_USED, "movntq", true, 7615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 7625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 7635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_W | OT_DQ, AM_V | OT_DQ, AM_NOT_USED, "movntdq" } }, 7645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xE8 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "psubsb", true, 7655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 7665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 7675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "psubsb" } }, 7685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xE9 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "psubsw", true, 7695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 7705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 7715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "psubsw" } }, 7725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xEA */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "pminsw", true, 7735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 7745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 7755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "pminsw" } }, 7765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xEB */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "por", true, 7775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 7785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 7795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "por" } }, 7805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xEC */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "paddsb", true, 7815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 7825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 7835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "paddsb" } }, 7845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xED */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "paddsw", true, 7855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 7865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 7875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "paddsw" } }, 7885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xEE */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "pmaxsw", true, 7895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 7905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 7915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "pmaxsw" } }, 7925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xEF */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "pxor", true, 7935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 7945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 7955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "pxor" } }, 7965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xF0 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 7975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xF1 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "psllw", true, 7985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 7995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 8005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "psllw" } }, 8015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xF2 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "pslld", true, 8025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 8035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 8045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "pslld" } }, 8055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xF3 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "psllq", true, 8065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 8075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 8085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "psllq" } }, 8095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xF4 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "pmuludq", true, 8105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 8115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 8125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "pmuludq" } }, 8135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xF5 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "pmaddwd", true, 8145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 8155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 8165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "pmaddwd" } }, 8175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xF6 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "psadbw", true, 8185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 8195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 8205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "psadbw" } }, 8215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xF7 */ { 0, IT_GENERIC, AM_P | OT_PI, AM_Q | OT_PI, AM_NOT_USED, "maskmovq", true, 8225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 8235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 8245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "maskmovdqu" } }, 8255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xF8 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "psubb", true, 8265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 8275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 8285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "psubb" } }, 8295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xF9 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "psubw", true, 8305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 8315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 8325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "psubw" } }, 8335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xFA */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "psubd", true, 8345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 8355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 8365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "psubd" } }, 8375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xFB */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "psubq", true, 8385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 8395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 8405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "psubq" } }, 8415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xFC */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "paddb", true, 8425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 8435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 8445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "paddb" } }, 8455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xFD */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "paddw", true, 8465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 8475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 8485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "paddw" } }, 8495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xFE */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "paddd", true, 8505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 8515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 8525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "paddd" } }, 8535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0xFF */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } } 8545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 8555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 8565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const Opcode s_opcode_byte_after_0f00[] = { 8575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x0 */ { 0, IT_GENERIC, AM_E | OT_W, AM_NOT_USED, AM_NOT_USED, "sldt", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 8585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x1 */ { 0, IT_GENERIC, AM_E | OT_W, AM_NOT_USED, AM_NOT_USED, "str", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 8595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x2 */ { 0, IT_GENERIC, AM_E | OT_W, AM_NOT_USED, AM_NOT_USED, "lldt", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 8605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x3 */ { 0, IT_GENERIC, AM_E | OT_W, AM_NOT_USED, AM_NOT_USED, "ltr", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 8615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x4 */ { 0, IT_GENERIC, AM_E | OT_W, AM_NOT_USED, AM_NOT_USED, "verr", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 8625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x5 */ { 0, IT_GENERIC, AM_E | OT_W, AM_NOT_USED, AM_NOT_USED, "verw", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 8635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x6 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 8645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x7 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } } 8655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 8665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 8675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const Opcode s_opcode_byte_after_0f01[] = { 8685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x0 */ { 0, IT_GENERIC, AM_M | OT_S, AM_NOT_USED, AM_NOT_USED, "sgdt", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 8695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x1 */ { 0, IT_GENERIC, AM_M | OT_S, AM_NOT_USED, AM_NOT_USED, "sidt", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 8705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x2 */ { 0, IT_GENERIC, AM_M | OT_S, AM_NOT_USED, AM_NOT_USED, "lgdt", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 8715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x3 */ { 0, IT_GENERIC, AM_M | OT_S, AM_NOT_USED, AM_NOT_USED, "lidt", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 8725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x4 */ { 0, IT_GENERIC, AM_E | OT_W, AM_NOT_USED, AM_NOT_USED, "smsw", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 8735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x5 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 8745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x6 */ { 0, IT_GENERIC, AM_E | OT_W, AM_NOT_USED, AM_NOT_USED, "lmsw", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 8755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x7 */ { 0, IT_GENERIC, AM_M | OT_B, AM_NOT_USED, AM_NOT_USED, "invlpg", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } } 8765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 8775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 8785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const Opcode s_opcode_byte_after_0f18[] = { 8795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x0 */ { 0, IT_GENERIC, AM_M | OT_ADDRESS_MODE_M, AM_NOT_USED, AM_NOT_USED, "prefetch", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 8805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x1 */ { 0, IT_GENERIC, AM_REGISTER | OT_D, AM_NOT_USED, AM_NOT_USED, "prefetch", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 8815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x2 */ { 0, IT_GENERIC, AM_REGISTER | OT_D, AM_NOT_USED, AM_NOT_USED, "prefetch", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 8825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x3 */ { 0, IT_GENERIC, AM_REGISTER | OT_D, AM_NOT_USED, AM_NOT_USED, "prefetch", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 8835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x4 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 8845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x5 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 8855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x6 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 8865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x7 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } } 8875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 8885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 8895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const Opcode s_opcode_byte_after_0f71[] = { 8905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x0 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 8915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x1 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 8925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x2 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_I | OT_B, AM_NOT_USED, "psrlw", true, 8935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 8945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 8955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_P | OT_DQ, AM_I | OT_B, AM_NOT_USED, "psrlw" } }, 8965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x3 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 8975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x4 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_I | OT_B, AM_NOT_USED, "psraw", true, 8985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 8995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 9005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_P | OT_DQ, AM_I | OT_B, AM_NOT_USED, "psraw" } }, 9015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x5 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 9025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x6 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_I | OT_B, AM_NOT_USED, "psllw", true, 9035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 9045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 9055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_P | OT_DQ, AM_I | OT_B, AM_NOT_USED, "psllw" } }, 9065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x7 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } } 9075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 9085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 9095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const Opcode s_opcode_byte_after_0f72[] = { 9105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x0 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 9115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x1 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 9125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x2 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_I | OT_B, AM_NOT_USED, "psrld", true, 9135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 9145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 9155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_W | OT_DQ, AM_I | OT_B, AM_NOT_USED, "psrld" } }, 9165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x3 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 9175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x4 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_I | OT_B, AM_NOT_USED, "psrad", true, 9185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 9195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 9205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_W | OT_DQ, AM_I | OT_B, AM_NOT_USED, "psrad" } }, 9215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x5 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 9225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x6 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_I | OT_B, AM_NOT_USED, "pslld", true, 9235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 9245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 9255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_W | OT_DQ, AM_I | OT_B, AM_NOT_USED, "pslld" } }, 9265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x7 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } } 9275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 9285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 9295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const Opcode s_opcode_byte_after_0f73[] = { 9305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x0 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 9315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x1 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 9325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x2 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_I | OT_B, AM_NOT_USED, "psrlq", true, 9335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 9345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 9355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_W | OT_DQ, AM_I | OT_B, AM_NOT_USED, "psrlq" } }, 9365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x3 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 9375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x4 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 9385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x5 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 9395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x6 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_I | OT_B, AM_NOT_USED, "psllq", true, 9405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 9415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 9425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_W | OT_DQ, AM_I | OT_B, AM_NOT_USED, "psllq" } }, 9435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x7 */ { 0, IT_GENERIC, AM_W | OT_DQ, AM_I | OT_B, AM_NOT_USED, "pslldq", true, 9445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F2h */ { 0 }, 9455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* F3h */ { 0 }, 9465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 66h */ { 0, IT_GENERIC, AM_W | OT_DQ, AM_I | OT_B, AM_NOT_USED, "pslldq" } }, 9475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 9485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 9495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const Opcode s_opcode_byte_after_0fae[] = { 9505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x0 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "fxsave", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 9515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x1 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "fxrstor", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 9525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x2 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "ldmxcsr", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 9535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x3 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "stmxcsr", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 9545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x4 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 9555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x5 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "lfence", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 9565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x6 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "mfence", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 9575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x7 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "clflush/sfence", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 9585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 9595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 9605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const Opcode s_opcode_byte_after_0fba[] = { 9615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x0 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 9625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x1 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 9635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x2 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 9645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x3 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 9655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x4 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "bt", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 9665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x5 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "bts", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 9675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x6 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "btr", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 9685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x7 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "btc", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } } 9695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 9705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 9715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const Opcode s_opcode_byte_after_0fc7[] = { 9725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x0 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 9735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x1 */ { 0, IT_GENERIC, AM_M | OT_Q, AM_NOT_USED, AM_NOT_USED, "cmpxch8b", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } } 9745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 9755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 9765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const Opcode s_opcode_byte_after_80[] = { 9775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x0 */ { 0, IT_GENERIC, AM_E | OT_B, AM_I | OT_B, AM_NOT_USED, "add", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 9785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x1 */ { 0, IT_GENERIC, AM_E | OT_B, AM_I | OT_B, AM_NOT_USED, "or", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 9795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x2 */ { 0, IT_GENERIC, AM_E | OT_B, AM_I | OT_B, AM_NOT_USED, "adc", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 9805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x3 */ { 0, IT_GENERIC, AM_E | OT_B, AM_I | OT_B, AM_NOT_USED, "sbb", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 9815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x4 */ { 0, IT_GENERIC, AM_E | OT_B, AM_I | OT_B, AM_NOT_USED, "and", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 9825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x5 */ { 0, IT_GENERIC, AM_E | OT_B, AM_I | OT_B, AM_NOT_USED, "sub", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 9835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x6 */ { 0, IT_GENERIC, AM_E | OT_B, AM_I | OT_B, AM_NOT_USED, "xor", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 9845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x7 */ { 0, IT_GENERIC, AM_E | OT_B, AM_I | OT_B, AM_NOT_USED, "cmp", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } } 9855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 9865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 9875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const Opcode s_opcode_byte_after_81[] = { 9885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x0 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_V, AM_NOT_USED, "add", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 9895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x1 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_V, AM_NOT_USED, "or", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 9905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x2 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_V, AM_NOT_USED, "adc", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 9915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x3 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_V, AM_NOT_USED, "sbb", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 9925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x4 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_V, AM_NOT_USED, "and", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 9935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x5 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_V, AM_NOT_USED, "sub", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 9945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x6 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_V, AM_NOT_USED, "xor", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 9955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x7 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_V, AM_NOT_USED, "cmp", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } } 9965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 9975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 9985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const Opcode s_opcode_byte_after_82[] = { 9995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x0 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "add", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 10005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x1 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "or", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 10015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x2 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "adc", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 10025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x3 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "sbb", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 10035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x4 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "and", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 10045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x5 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "sub", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 10055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x6 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "xor", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 10065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x7 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "cmp", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } } 10075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 10085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 10095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const Opcode s_opcode_byte_after_83[] = { 10105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x0 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "add", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 10115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x1 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "or", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 10125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x2 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "adc", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 10135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x3 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "sbb", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 10145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x4 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "and", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 10155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x5 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "sub", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 10165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x6 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "xor", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 10175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x7 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "cmp", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } } 10185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 10195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 10205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const Opcode s_opcode_byte_after_c0[] = { 10215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x0 */ { 0, IT_GENERIC, AM_E | OT_B, AM_I | OT_B, AM_NOT_USED, "rol", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 10225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x1 */ { 0, IT_GENERIC, AM_E | OT_B, AM_I | OT_B, AM_NOT_USED, "ror", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 10235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x2 */ { 0, IT_GENERIC, AM_E | OT_B, AM_I | OT_B, AM_NOT_USED, "rcl", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 10245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x3 */ { 0, IT_GENERIC, AM_E | OT_B, AM_I | OT_B, AM_NOT_USED, "rcr", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 10255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x4 */ { 0, IT_GENERIC, AM_E | OT_B, AM_I | OT_B, AM_NOT_USED, "shl", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 10265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x5 */ { 0, IT_GENERIC, AM_E | OT_B, AM_I | OT_B, AM_NOT_USED, "shr", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 10275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x6 */ { 0, IT_GENERIC, AM_E | OT_B, AM_I | OT_B, AM_NOT_USED, "sal", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 10285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x7 */ { 0, IT_GENERIC, AM_E | OT_B, AM_I | OT_B, AM_NOT_USED, "sar", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } } 10295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 10305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 10315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const Opcode s_opcode_byte_after_c1[] = { 10325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x0 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "rol", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 10335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x1 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "ror", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 10345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x2 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "rcl", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 10355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x3 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "rcr", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 10365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x4 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "shl", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 10375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x5 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "shr", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 10385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x6 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "sal", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 10395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x7 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "sar", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } } 10405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 10415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 10425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const Opcode s_opcode_byte_after_d0[] = { 10435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x0 */ { 0, IT_GENERIC, AM_E | OT_B, AM_IMPLICIT, AM_NOT_USED, "rol", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 10445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x1 */ { 0, IT_GENERIC, AM_E | OT_B, AM_IMPLICIT, AM_NOT_USED, "ror", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 10455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x2 */ { 0, IT_GENERIC, AM_E | OT_B, AM_IMPLICIT, AM_NOT_USED, "rcl", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 10465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x3 */ { 0, IT_GENERIC, AM_E | OT_B, AM_IMPLICIT, AM_NOT_USED, "rcr", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 10475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x4 */ { 0, IT_GENERIC, AM_E | OT_B, AM_IMPLICIT, AM_NOT_USED, "shl", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 10485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x5 */ { 0, IT_GENERIC, AM_E | OT_B, AM_IMPLICIT, AM_NOT_USED, "shr", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 10495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x6 */ { 0, IT_GENERIC, AM_E | OT_B, AM_IMPLICIT, AM_NOT_USED, "sal", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 10505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x7 */ { 0, IT_GENERIC, AM_E | OT_B, AM_IMPLICIT, AM_NOT_USED, "sar", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } } 10515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 10525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 10535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const Opcode s_opcode_byte_after_d1[] = { 10545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x0 */ { 0, IT_GENERIC, AM_E | OT_V, AM_IMPLICIT, AM_NOT_USED, "rol", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 10555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x1 */ { 0, IT_GENERIC, AM_E | OT_V, AM_IMPLICIT, AM_NOT_USED, "ror", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 10565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x2 */ { 0, IT_GENERIC, AM_E | OT_V, AM_IMPLICIT, AM_NOT_USED, "rcl", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 10575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x3 */ { 0, IT_GENERIC, AM_E | OT_V, AM_IMPLICIT, AM_NOT_USED, "rcr", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 10585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x4 */ { 0, IT_GENERIC, AM_E | OT_V, AM_IMPLICIT, AM_NOT_USED, "shl", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 10595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x5 */ { 0, IT_GENERIC, AM_E | OT_V, AM_IMPLICIT, AM_NOT_USED, "shr", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 10605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x6 */ { 0, IT_GENERIC, AM_E | OT_V, AM_IMPLICIT, AM_NOT_USED, "sal", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 10615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x7 */ { 0, IT_GENERIC, AM_E | OT_V, AM_IMPLICIT, AM_NOT_USED, "sar", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } } 10625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 10635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 10645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const Opcode s_opcode_byte_after_d2[] = { 10655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x0 */ { 0, IT_GENERIC, AM_E | OT_B, AM_REGISTER | OT_B, AM_NOT_USED, "rol", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 10665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x1 */ { 0, IT_GENERIC, AM_E | OT_B, AM_REGISTER | OT_B, AM_NOT_USED, "ror", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 10675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x2 */ { 0, IT_GENERIC, AM_E | OT_B, AM_REGISTER | OT_B, AM_NOT_USED, "rcl", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 10685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x3 */ { 0, IT_GENERIC, AM_E | OT_B, AM_REGISTER | OT_B, AM_NOT_USED, "rcr", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 10695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x4 */ { 0, IT_GENERIC, AM_E | OT_B, AM_REGISTER | OT_B, AM_NOT_USED, "shl", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 10705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x5 */ { 0, IT_GENERIC, AM_E | OT_B, AM_REGISTER | OT_B, AM_NOT_USED, "shr", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 10715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x6 */ { 0, IT_GENERIC, AM_E | OT_B, AM_REGISTER | OT_B, AM_NOT_USED, "sal", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 10725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x7 */ { 0, IT_GENERIC, AM_E | OT_B, AM_REGISTER | OT_B, AM_NOT_USED, "sar", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } } 10735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 10745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 10755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const Opcode s_opcode_byte_after_d3[] = { 10765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x0 */ { 0, IT_GENERIC, AM_E | OT_V, AM_REGISTER | OT_B, AM_NOT_USED, "rol", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 10775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x1 */ { 0, IT_GENERIC, AM_E | OT_V, AM_REGISTER | OT_B, AM_NOT_USED, "ror", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 10785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x2 */ { 0, IT_GENERIC, AM_E | OT_V, AM_REGISTER | OT_B, AM_NOT_USED, "rcl", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 10795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x3 */ { 0, IT_GENERIC, AM_E | OT_V, AM_REGISTER | OT_B, AM_NOT_USED, "rcr", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 10805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x4 */ { 0, IT_GENERIC, AM_E | OT_V, AM_REGISTER | OT_B, AM_NOT_USED, "shl", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 10815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x5 */ { 0, IT_GENERIC, AM_E | OT_V, AM_REGISTER | OT_B, AM_NOT_USED, "shr", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 10825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x6 */ { 0, IT_GENERIC, AM_E | OT_V, AM_REGISTER | OT_B, AM_NOT_USED, "sal", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 10835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x7 */ { 0, IT_GENERIC, AM_E | OT_V, AM_REGISTER | OT_B, AM_NOT_USED, "sar", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } } 10845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 10855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 10865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const Opcode s_opcode_byte_after_f6[] = { 10875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x0 */ { 0, IT_GENERIC, AM_E | OT_B, AM_I | OT_B, AM_NOT_USED, "test", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 10885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x1 */ { 0, IT_GENERIC, AM_E | OT_B, AM_I | OT_B, AM_NOT_USED, "test", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 10895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x2 */ { 0, IT_GENERIC, AM_E | OT_B, AM_NOT_USED, AM_NOT_USED, "not", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 10905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x3 */ { 0, IT_GENERIC, AM_E | OT_B, AM_NOT_USED, AM_NOT_USED, "neg", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 10915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x4 */ { 0, IT_GENERIC, OT_B | AM_REGISTER, AM_E | OT_B, AM_NOT_USED, "mul", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 10925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x5 */ { 0, IT_GENERIC, OT_B | AM_REGISTER, AM_E | OT_B, AM_NOT_USED, "imul", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 10935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x6 */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_E | OT_B, AM_NOT_USED, "div", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 10945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x7 */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_E | OT_B, AM_NOT_USED, "idiv", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } } 10955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 10965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 10975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const Opcode s_opcode_byte_after_f7[] = { 10985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x0 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_V, AM_NOT_USED, "test", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 10995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x1 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_V, AM_NOT_USED, "test", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 11005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x2 */ { 0, IT_GENERIC, AM_E | OT_V, AM_NOT_USED, AM_NOT_USED, "not", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 11015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x3 */ { 0, IT_GENERIC, AM_E | OT_V, AM_NOT_USED, AM_NOT_USED, "neg", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 11025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x4 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_E | OT_V, AM_NOT_USED, "mul", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 11035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x5 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_E | OT_V, AM_NOT_USED, "imul", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 11045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x6 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_E | OT_V, AM_NOT_USED, "div", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 11055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x7 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_E | OT_V, AM_NOT_USED, "idiv", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } } 11065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 11075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 11085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const Opcode s_opcode_byte_after_fe[] = { 11095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x0 */ { 0, IT_GENERIC, AM_E | OT_B, AM_NOT_USED, AM_NOT_USED, "inc", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 11105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x1 */ { 0, IT_GENERIC, AM_E | OT_B, AM_NOT_USED, AM_NOT_USED, "dec", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } } 11115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 11125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 11135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const Opcode s_opcode_byte_after_ff[] = { 11145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x0 */ { 0, IT_GENERIC, AM_E | OT_V, AM_NOT_USED, AM_NOT_USED, "inc", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 11155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x1 */ { 0, IT_GENERIC, AM_E | OT_V, AM_NOT_USED, AM_NOT_USED, "dec", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 11165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x2 */ { 0, IT_JUMP, AM_E | OT_V, AM_NOT_USED, AM_NOT_USED, "call", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 11175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x3 */ { 0, IT_JUMP, AM_E | OT_P, AM_NOT_USED, AM_NOT_USED, "call", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 11185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x4 */ { 0, IT_JUMP, AM_E | OT_V, AM_NOT_USED, AM_NOT_USED, "jmp", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 11195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x5 */ { 0, IT_JUMP, AM_E | OT_P, AM_NOT_USED, AM_NOT_USED, "jmp", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 11205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x6 */ { 0, IT_GENERIC, AM_E | OT_V, AM_NOT_USED, AM_NOT_USED, "push", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }, 11215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0x7 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } } 11225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 11235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 11245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* 11255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)* A table of all the other tables, containing some extra information, e.g. 11265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)* how to mask out the byte we're looking at. 11275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)*/ 11285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const OpcodeTable MiniDisassembler::s_ia32_opcode_map_[]={ 11295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // One-byte opcodes and jumps to larger 11305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 0 */ {s_first_opcode_byte, 0, 0xff, 0, 0xff}, 11315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Two-byte opcodes (second byte) 11325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 1 */ {s_opcode_byte_after_0f, 0, 0xff, 0, 0xff}, 11335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Start of tables for opcodes using ModR/M bits as extension 11345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 2 */ {s_opcode_byte_after_80, 3, 0x07, 0, 0x07}, 11355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 3 */ {s_opcode_byte_after_81, 3, 0x07, 0, 0x07}, 11365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 4 */ {s_opcode_byte_after_82, 3, 0x07, 0, 0x07}, 11375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 5 */ {s_opcode_byte_after_83, 3, 0x07, 0, 0x07}, 11385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 6 */ {s_opcode_byte_after_c0, 3, 0x07, 0, 0x07}, 11395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 7 */ {s_opcode_byte_after_c1, 3, 0x07, 0, 0x07}, 11405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 8 */ {s_opcode_byte_after_d0, 3, 0x07, 0, 0x07}, 11415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 9 */ {s_opcode_byte_after_d1, 3, 0x07, 0, 0x07}, 11425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 10 */ {s_opcode_byte_after_d2, 3, 0x07, 0, 0x07}, 11435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 11 */ {s_opcode_byte_after_d3, 3, 0x07, 0, 0x07}, 11445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 12 */ {s_opcode_byte_after_f6, 3, 0x07, 0, 0x07}, 11455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 13 */ {s_opcode_byte_after_f7, 3, 0x07, 0, 0x07}, 11465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 14 */ {s_opcode_byte_after_fe, 3, 0x07, 0, 0x01}, 11475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 15 */ {s_opcode_byte_after_ff, 3, 0x07, 0, 0x07}, 11485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 16 */ {s_opcode_byte_after_0f00, 3, 0x07, 0, 0x07}, 11495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 17 */ {s_opcode_byte_after_0f01, 3, 0x07, 0, 0x07}, 11505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 18 */ {s_opcode_byte_after_0f18, 3, 0x07, 0, 0x07}, 11515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 19 */ {s_opcode_byte_after_0f71, 3, 0x07, 0, 0x07}, 11525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 20 */ {s_opcode_byte_after_0f72, 3, 0x07, 0, 0x07}, 11535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 21 */ {s_opcode_byte_after_0f73, 3, 0x07, 0, 0x07}, 11545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 22 */ {s_opcode_byte_after_0fae, 3, 0x07, 0, 0x07}, 11555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 23 */ {s_opcode_byte_after_0fba, 3, 0x07, 0, 0x07}, 11565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* 24 */ {s_opcode_byte_after_0fc7, 3, 0x07, 0, 0x01} 11575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 11585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 11595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; // namespace sidestep 1160