Merge pull request #657 from davidcarne/fix-uninit
x86: initialize eaDisplacement in 16-bit mode. Fixes #656
diff --git a/.gitignore b/.gitignore
index c69f5b2..d0bb91c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,5 @@
+.DS_Store
+
# Object files
*.o
*.ko
@@ -82,6 +84,8 @@
*.opensdf
*.suo
*.user
+*.VC.db
+*.VC.opendb
# Xcode
xcode/Capstone.xcodeproj/xcuserdata
diff --git a/.travis.yml b/.travis.yml
index bd7085a..aa8f5a1 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -5,8 +5,8 @@
script:
- ./make.sh
- make check
- - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then cp libcapstone.so bindings/python/; fi
- - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then cp libcapstone.dylib bindings/python/; fi
+ - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then cp libcapstone.so.* bindings/python/libcapstone.so; fi
+ - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then cp libcapstone.*.dylib bindings/python/libcapstone.dylib; fi
- cd bindings/python && make check
compiler:
- clang
diff --git a/CMakeLists.txt b/CMakeLists.txt
index a0e8eea..36e7061 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -88,7 +88,6 @@
MCInst.h
MCInstrDesc.h
MCRegisterInfo.h
- myinttypes.h
SStream.h
utils.h
)
diff --git a/COMPILE_MSVC.TXT b/COMPILE_MSVC.TXT
index e9de12a..31748be 100644
--- a/COMPILE_MSVC.TXT
+++ b/COMPILE_MSVC.TXT
@@ -7,12 +7,15 @@
*-*-*-*-*-*
-Capstone requires no prerequisite packages, so it is easy to compile & install.
-Open the Visual Studio solution "msvc/capstone.sln" and follow the instructions
-below.
+Capstone requires no prerequisite packages with default configurations, so it is
+easy to compile & install. Open the Visual Studio solution "msvc/capstone.sln"
+and follow the instructions below.
NOTE: This requires Visual Studio 2010 or newer versions.
+If you wish to embed Capstone in a kernel driver, Visual Studio 2013 or newer
+versions, and Windows Driver Kit 8.1 Update 1 or newer versions are required.
+
(0) Tailor Capstone to your need.
@@ -60,8 +63,46 @@
- Choose the configuration and the platform you want: Release/Debug & Win32/Win64.
- Build only the libraries, or the libraries along with all the tests.
+ - "capstone_static_winkernel" is for compiling Capstone for a driver and
+ "test_winkernel" is a test for a driver, and those are excluded from build by
+ default. To compile them, open the Configuration Manager through the [Build]
+ menu and check "Build" check boxes for those project.
(2) You can make sure the prior steps successfully worked by launching one of the
testing binary (test*.exe).
+
+ The testing binary for a driver "test_winkernel.sys" is made up of all tests for
+ supported architectures configured with the step (0) along side its own tests.
+ Below explains a procedure to run the test driver and check test results.
+
+ On the x64 platform, the test signing mode has to be enabled to install the test
+ driver. To do it, open the command prompt with the administrator privileges and
+ type the following command, and then restart the system to activate the change:
+
+ >bcdedit /set testsigning on
+
+ Test results from the test driver is sent to kernel debug buffer. In order to
+ see those results, download DebugView and run it with the administrator
+ privileges, then check [Capture Kernel] through the [Capture] menu.
+
+ DebugView: https://technet.microsoft.com/en-us/sysinternals/debugview.aspx
+
+ To install and uninstall the driver, use the 'sc' command. For installing and
+ executing test_winkernel.sys, execute the following commands with the
+ administrator privileges:
+
+ >sc create test_winkernel type= kernel binPath= <full path to test_winkernel.sys>
+ [SC] CreateService SUCCESS
+
+ >sc start test_winkernel
+ [SC] StartService FAILED 995:
+
+ The I/O operation has been aborted because of either a thread exit or an application request.
+
+ To uninstall the driver, execute the following commands with the administrator
+ privileges:
+
+ >sc delete test_winkernel
+ >bcdedit /deletevalue testsigning
diff --git a/CREDITS.TXT b/CREDITS.TXT
index 4000637..8a3dea5 100644
--- a/CREDITS.TXT
+++ b/CREDITS.TXT
@@ -61,4 +61,6 @@
Felix Gröbert (Google): fuzz testing harness.
Daniel Collin & Nicolas Planel: M68K architecture.
Pranith Kumar: Explicit registers accessed for Arm64.
+Xipiter LLC: Capstone logo redesigned.
+Satoshi Tanda: Support Windows kernel driver.
Koutheir Attouchi: Support for Windows CE.
diff --git a/HACK.TXT b/HACK.TXT
index db373e2..19099bb 100644
--- a/HACK.TXT
+++ b/HACK.TXT
@@ -21,6 +21,7 @@
├── include <- API headers in C language (*.h)
├── msvc <- Microsoft Visual Studio support (for Windows compile)
├── packages <- Packages for Linux/OSX/BSD.
+├── windows <- Windows support (for Windows kernel driver compile)
├── suite <- Development test tools - for Capstone developers only
├── tests <- Test code (in C language)
└── xcode <- Xcode support (for MacOSX compile)
diff --git a/MCInst.c b/MCInst.c
index 17cbcf2..0a42091 100644
--- a/MCInst.c
+++ b/MCInst.c
@@ -22,6 +22,7 @@
inst->op1_size = 0;
inst->writeback = false;
inst->ac_idx = 0;
+ inst->popcode_adjust = 0;
}
void MCInst_clear(MCInst *inst)
diff --git a/MCInst.h b/MCInst.h
index 677fd75..3d25bc8 100644
--- a/MCInst.h
+++ b/MCInst.h
@@ -107,6 +107,7 @@
bool writeback; // writeback for ARM
// operand access index for list of registers sharing the same access right (for ARM)
uint8_t ac_idx;
+ uint8_t popcode_adjust; // Pseudo X86 instruction adjust
};
void MCInst_Init(MCInst *inst);
diff --git a/Makefile b/Makefile
index e136b2b..73e89ef 100644
--- a/Makefile
+++ b/Makefile
@@ -330,11 +330,11 @@
ifeq ($(CAPSTONE_SHARED),yes)
ifeq ($(IS_MINGW),1)
-LIBRARY = $(BLDIR)/$(LIBNAME).$(EXT)
+LIBRARY = $(BLDIR)/$(LIBNAME).$(VERSION_EXT)
else ifeq ($(IS_CYGWIN),1)
-LIBRARY = $(BLDIR)/$(LIBNAME).$(EXT)
+LIBRARY = $(BLDIR)/$(LIBNAME).$(VERSION_EXT)
else # *nix
-LIBRARY = $(BLDIR)/lib$(LIBNAME).$(EXT)
+LIBRARY = $(BLDIR)/lib$(LIBNAME).$(VERSION_EXT)
CFLAGS += -fvisibility=hidden
endif
endif
@@ -412,7 +412,7 @@
$(INSTALL_LIB) $(LIBRARY) $(DESTDIR)/$(LIBDIR)
ifneq ($(VERSION_EXT),)
cd $(DESTDIR)/$(LIBDIR) && \
- mv lib$(LIBNAME).$(EXT) lib$(LIBNAME).$(VERSION_EXT) && \
+ rm -f lib$(LIBNAME).$(EXT) && \
ln -s lib$(LIBNAME).$(VERSION_EXT) lib$(LIBNAME).$(EXT)
endif
endif
diff --git a/MathExtras.h b/MathExtras.h
index 793b0d2..3292f73 100644
--- a/MathExtras.h
+++ b/MathExtras.h
@@ -20,7 +20,7 @@
#if defined(_WIN32_WCE) && (_WIN32_WCE < 0x800)
#include "windowsce/intrin.h"
#elif defined(_MSC_VER)
-# include <intrin.h>
+#include <intrin.h>
#endif
#ifndef __cplusplus
diff --git a/SStream.c b/SStream.c
index ca478b0..c90cf1a 100644
--- a/SStream.c
+++ b/SStream.c
@@ -9,9 +9,10 @@
#endif
#include <string.h>
+#include <capstone/platform.h>
+
#include "SStream.h"
#include "cs_priv.h"
-#include "myinttypes.h"
#include "utils.h"
#ifdef _MSC_VER
diff --git a/arch/AArch64/AArch64BaseInfo.c b/arch/AArch64/AArch64BaseInfo.c
index e2b3436..26eb786 100644
--- a/arch/AArch64/AArch64BaseInfo.c
+++ b/arch/AArch64/AArch64BaseInfo.c
@@ -629,7 +629,7 @@
Op2S = utostr(Op2, false);
//printf("Op1S: %s, CRnS: %s, CRmS: %s, Op2S: %s\n", Op1S, CRnS, CRmS, Op2S);
- dummy = sprintf(result, "s%s_%s_c%s_c%s_%s", Op0S, Op1S, CRnS, CRmS, Op2S);
+ dummy = cs_snprintf(result, 128, "s3_%s_c%s_c%s_%s", Op1S, CRnS, CRmS, Op2S);
(void)dummy;
cs_mem_free(Op0S);
diff --git a/arch/AArch64/AArch64Disassembler.c b/arch/AArch64/AArch64Disassembler.c
index 87859a5..e1654e2 100644
--- a/arch/AArch64/AArch64Disassembler.c
+++ b/arch/AArch64/AArch64Disassembler.c
@@ -1165,9 +1165,9 @@
DecodeGPR64spRegisterClass(Inst, Rn, Addr, Decoder);
MCOperand_CreateImm0(Inst, offset);
- IsLoad = fieldFromInstruction(insn, 22, 1);
+ IsLoad = fieldFromInstruction(insn, 22, 1) != 0;
IsIndexed = fieldFromInstruction(insn, 10, 2) != 0;
- IsFP = fieldFromInstruction(insn, 26, 1);
+ IsFP = fieldFromInstruction(insn, 26, 1) != 0;
// Cannot write back to a transfer register (but xzr != sp).
if (IsLoad && IsIndexed && !IsFP && Rn != 31 && Rt == Rn)
@@ -1260,7 +1260,7 @@
unsigned Rn = fieldFromInstruction(insn, 5, 5);
unsigned Rt2 = fieldFromInstruction(insn, 10, 5);
int32_t offset = fieldFromInstruction(insn, 15, 7);
- bool IsLoad = fieldFromInstruction(insn, 22, 1);
+ bool IsLoad = fieldFromInstruction(insn, 22, 1) != 0;
unsigned Opcode = MCInst_getOpcode(Inst);
bool NeedsDisjointWritebackTransfer = false;
diff --git a/arch/AArch64/AArch64InstPrinter.c b/arch/AArch64/AArch64InstPrinter.c
index 0624eae..6ce9607 100644
--- a/arch/AArch64/AArch64InstPrinter.c
+++ b/arch/AArch64/AArch64InstPrinter.c
@@ -16,7 +16,7 @@
#ifdef CAPSTONE_HAS_ARM64
-#include "../../myinttypes.h"
+#include <capstone/platform.h>
#include <stdio.h>
#include <stdlib.h>
@@ -1275,7 +1275,12 @@
double FPImm = MCOperand_isFPImm(MO) ? MCOperand_getFPImm(MO) : AArch64_AM_getFPImmFloat((int)MCOperand_getImm(MO));
// 8 decimal places are enough to perfectly represent permitted floats.
+#if defined(_KERNEL_MODE)
+ // Issue #681: Windows kernel does not support formatting float point
+ SStream_concat(O, "#<float_point_unsupported>");
+#else
SStream_concat(O, "#%.8f", FPImm);
+#endif
if (MI->csh->detail) {
#ifndef CAPSTONE_DIET
uint8_t access;
@@ -1659,7 +1664,7 @@
static void printSIMDType10Operand(MCInst *MI, unsigned OpNo, SStream *O)
{
- unsigned RawVal = (unsigned)MCOperand_getImm(MCInst_getOperand(MI, OpNo));
+ uint8_t RawVal = (uint8_t)MCOperand_getImm(MCInst_getOperand(MI, OpNo));
uint64_t Val = AArch64_AM_decodeAdvSIMDModImmType10(RawVal);
SStream_concat(O, "#%#016llx", Val);
if (MI->csh->detail) {
diff --git a/arch/AArch64/AArch64Mapping.c b/arch/AArch64/AArch64Mapping.c
index 5b9746c..03d9eb4 100644
--- a/arch/AArch64/AArch64Mapping.c
+++ b/arch/AArch64/AArch64Mapping.c
@@ -1049,26 +1049,26 @@
switch((int)op->type) {
case ARM64_OP_REG:
if ((op->access & CS_AC_READ) && !arr_exist(regs_read, read_count, op->reg)) {
- regs_read[read_count] = op->reg;
+ regs_read[read_count] = (uint16_t)op->reg;
read_count++;
}
if ((op->access & CS_AC_WRITE) && !arr_exist(regs_write, write_count, op->reg)) {
- regs_write[write_count] = op->reg;
+ regs_write[write_count] = (uint16_t)op->reg;
write_count++;
}
break;
case ARM_OP_MEM:
// registers appeared in memory references always being read
if ((op->mem.base != ARM64_REG_INVALID) && !arr_exist(regs_read, read_count, op->mem.base)) {
- regs_read[read_count] = op->mem.base;
+ regs_read[read_count] = (uint16_t)op->mem.base;
read_count++;
}
if ((op->mem.index != ARM64_REG_INVALID) && !arr_exist(regs_read, read_count, op->mem.index)) {
- regs_read[read_count] = op->mem.index;
+ regs_read[read_count] = (uint16_t)op->mem.index;
read_count++;
}
if ((arm64->writeback) && (op->mem.base != ARM64_REG_INVALID) && !arr_exist(regs_write, write_count, op->mem.base)) {
- regs_write[write_count] = op->mem.base;
+ regs_write[write_count] = (uint16_t)op->mem.base;
write_count++;
}
default:
diff --git a/arch/ARM/ARMDisassembler.c b/arch/ARM/ARMDisassembler.c
index 8e700b1..0390112 100644
--- a/arch/ARM/ARMDisassembler.c
+++ b/arch/ARM/ARMDisassembler.c
@@ -15,7 +15,7 @@
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
-#include "../../myinttypes.h"
+#include <capstone/platform.h>
#include "ARMAddressingModes.h"
#include "ARMBaseInfo.h"
diff --git a/arch/ARM/ARMInstPrinter.c b/arch/ARM/ARMInstPrinter.c
index 4f10cef..95ed9fb 100644
--- a/arch/ARM/ARMInstPrinter.c
+++ b/arch/ARM/ARMInstPrinter.c
@@ -19,7 +19,7 @@
#include <stdio.h> // DEBUG
#include <stdlib.h>
#include <string.h>
-#include "../../myinttypes.h"
+#include <capstone/platform.h>
#include "ARMInstPrinter.h"
#include "ARMAddressingModes.h"
@@ -1792,7 +1792,7 @@
if (MI->csh->detail) {
if (MI->csh->doing_mem) {
MI->flat_insn->detail->arm.op_count--;
- MI->flat_insn->detail->arm.operands[MI->flat_insn->detail->arm.op_count].neon_lane = tmp;
+ MI->flat_insn->detail->arm.operands[MI->flat_insn->detail->arm.op_count].neon_lane = (int8_t)tmp;
MI->ac_idx--; // consecutive operands share the same access right
} else {
MI->flat_insn->detail->arm.operands[MI->flat_insn->detail->arm.op_count].type = ARM_OP_IMM;
diff --git a/arch/ARM/ARMMapping.c b/arch/ARM/ARMMapping.c
index 642330e..e6b27f2 100644
--- a/arch/ARM/ARMMapping.c
+++ b/arch/ARM/ARMMapping.c
@@ -915,26 +915,26 @@
switch((int)op->type) {
case ARM_OP_REG:
if ((op->access & CS_AC_READ) && !arr_exist(regs_read, read_count, op->reg)) {
- regs_read[read_count] = op->reg;
+ regs_read[read_count] = (uint16_t)op->reg;
read_count++;
}
if ((op->access & CS_AC_WRITE) && !arr_exist(regs_write, write_count, op->reg)) {
- regs_write[write_count] = op->reg;
+ regs_write[write_count] = (uint16_t)op->reg;
write_count++;
}
break;
case ARM_OP_MEM:
// registers appeared in memory references always being read
if ((op->mem.base != ARM_REG_INVALID) && !arr_exist(regs_read, read_count, op->mem.base)) {
- regs_read[read_count] = op->mem.base;
+ regs_read[read_count] = (uint16_t)op->mem.base;
read_count++;
}
if ((op->mem.index != ARM_REG_INVALID) && !arr_exist(regs_read, read_count, op->mem.index)) {
- regs_read[read_count] = op->mem.index;
+ regs_read[read_count] = (uint16_t)op->mem.index;
read_count++;
}
if ((arm->writeback) && (op->mem.base != ARM_REG_INVALID) && !arr_exist(regs_write, write_count, op->mem.base)) {
- regs_write[write_count] = op->mem.base;
+ regs_write[write_count] = (uint16_t)op->mem.base;
write_count++;
}
default:
diff --git a/arch/M68K/M68KDisassembler.c b/arch/M68K/M68KDisassembler.c
index 9582bef..474df21 100644
--- a/arch/M68K/M68KDisassembler.c
+++ b/arch/M68K/M68KDisassembler.c
@@ -48,8 +48,12 @@
#include "M68KDisassembler.h"
#ifndef DECL_SPEC
+#ifdef _MSC_VER
+#define DECL_SPEC __cdecl
+#else
#define DECL_SPEC
-#endif
+#endif // _MSC_VER
+#endif // DECL_SPEC
/* ======================================================================== */
/* ============================ GENERAL DEFINES =========================== */
@@ -203,7 +207,7 @@
{
const uint64_t addr = (address - info->baseAddress) & info->address_mask;
if (addr > (info->code_len - 8)) {
- return 0xaaaaaaaaaaaaaaaa;
+ return 0xaaaaaaaaaaaaaaaaLL;
}
return m68k_read_disassembler_64(info, addr);
}
@@ -457,7 +461,7 @@
/* address register indirect with displacement*/
op->address_mode = M68K_AM_REGI_ADDR_DISP;
op->mem.base_reg = M68K_REG_A0 + (instruction & 7);
- op->mem.disp = read_imm_16(info);
+ op->mem.disp = (uint16_t)read_imm_16(info);
break;
case 0x30: case 0x31: case 0x32: case 0x33: case 0x34: case 0x35: case 0x36: case 0x37:
@@ -480,7 +484,7 @@
case 0x3a:
/* program counter with displacement */
op->address_mode = M68K_AM_PCI_DISP;
- op->mem.disp = read_imm_16(info);
+ op->mem.disp = (uint16_t)read_imm_16(info);
break;
case 0x3b:
@@ -489,7 +493,7 @@
break;
case 0x3c:
- op->address_mode = M68K_AM_IMMIDIATE;
+ op->address_mode = M68K_AM_IMMEDIATE;
op->type = M68K_OP_IMM;
if (size == 1)
@@ -521,7 +525,7 @@
ext = &info->extension;
- ext->op_count = count;
+ ext->op_count = (uint8_t)count;
ext->op_size.type = M68K_SIZE_TYPE_CPU;
ext->op_size.cpu_size = size;
@@ -593,7 +597,7 @@
if (imm > 0) {
ext->op_count = 3;
op2->type = M68K_OP_IMM;
- op2->address_mode = M68K_AM_IMMIDIATE;
+ op2->address_mode = M68K_AM_IMMEDIATE;
op2->imm = imm;
}
}
@@ -624,7 +628,7 @@
op1 = &ext->operands[1];
op0->type = M68K_OP_IMM;
- op0->address_mode = M68K_AM_IMMIDIATE;
+ op0->address_mode = M68K_AM_IMMEDIATE;
op0->imm = imm;
get_ea_mode_op(info, op1, info->ir, size);
@@ -640,7 +644,7 @@
op1 = &ext->operands[1];
op0->type = M68K_OP_IMM;
- op0->address_mode = M68K_AM_IMMIDIATE;
+ op0->address_mode = M68K_AM_IMMEDIATE;
op0->imm = g_3bit_qdata_table[(info->ir >> 9) & 7];
op1->address_mode = M68K_AM_REG_DIRECT_DATA;
@@ -657,7 +661,7 @@
op1 = &ext->operands[1];
op0->type = M68K_OP_IMM;
- op0->address_mode = M68K_AM_IMMIDIATE;
+ op0->address_mode = M68K_AM_IMMEDIATE;
op0->imm = g_3bit_qdata_table[(info->ir >> 9) & 7];
get_ea_mode_op(info, op1, info->ir, size);
@@ -683,7 +687,7 @@
if (imm > 0) {
ext->op_count = 3;
op2->type = M68K_OP_IMM;
- op2->address_mode = M68K_AM_IMMIDIATE;
+ op2->address_mode = M68K_AM_IMMEDIATE;
op2->imm = imm;
}
}
@@ -748,7 +752,7 @@
op1 = &ext->operands[1];
op0->type = M68K_OP_IMM;
- op0->address_mode = M68K_AM_IMMIDIATE;
+ op0->address_mode = M68K_AM_IMMEDIATE;
op0->imm = imm;
op1->address_mode = M68K_AM_NONE;
@@ -763,7 +767,7 @@
op = &ext->operands[0];
op->type = M68K_OP_IMM;
- op->address_mode = M68K_AM_IMMIDIATE;
+ op->address_mode = M68K_AM_IMMEDIATE;
op->imm = jump_offset;
set_insn_group(info, M68K_GRP_JUMP);
@@ -792,7 +796,7 @@
op0->reg = M68K_REG_D0 + (info->ir & 7);
op1->type = M68K_OP_IMM;
- op1->address_mode = M68K_AM_IMMIDIATE;
+ op1->address_mode = M68K_AM_IMMEDIATE;
op1->imm = jump_offset;
set_insn_group(info, M68K_GRP_JUMP);
@@ -844,7 +848,7 @@
if (BIT_5(extension))
width = extension & 7;
else
- width = g_5bit_data_table[extension & 31];
+ width = (uint8_t)g_5bit_data_table[extension & 31];
if (has_d_arg) {
ext->op_count = 2;
@@ -942,7 +946,7 @@
op = &ext->operands[0];
op->type = M68K_OP_IMM;
- op->address_mode = M68K_AM_IMMIDIATE;
+ op->address_mode = M68K_AM_IMMEDIATE;
op->imm = data;
}
@@ -979,19 +983,21 @@
op0->address_mode = M68K_AM_NONE;
op0->type = M68K_OP_REG_PAIR;
- op0->register_bits = (((extension >> 16) & 7) << 4) | (extension & 7);
+ op0->reg_pair.reg_0 = (extension >> 16) & 7;
+ op0->reg_pair.reg_1 = extension & 7;
op1->address_mode = M68K_AM_NONE;
op1->type = M68K_OP_REG_PAIR;
- op1->register_bits = (((extension >> 22) & 7) << 4) | ((extension >> 6) & 7);
+ op1->reg_pair.reg_0 = (extension >> 22) & 7;
+ op1->reg_pair.reg_1 = (extension >> 6) & 7;
reg_0 = (extension >> 28) & 7;
reg_1 = (extension >> 12) & 7;
op2->address_mode = M68K_AM_NONE;
op2->type = M68K_OP_REG_PAIR;
- op2->register_bits = ((reg_0 + (BIT_1F(extension) ? 8 : 0)) << 4) |
- (reg_1 + (BIT_F(extension) ? 8 : 0));
+ op2->reg_pair.reg_0 = reg_0 + (BIT_1F(extension) ? 8 : 0);
+ op2->reg_pair.reg_1 = reg_1 + (BIT_F(extension) ? 8 : 0);
}
static void build_chk2_cmp2(m68k_info *info, int size)
@@ -1051,7 +1057,7 @@
op0->address_mode = M68K_AM_NONE;
op0->reg = M68K_REG_A0 + (info->ir & 7);
- op1->address_mode = M68K_AM_IMMIDIATE;
+ op1->address_mode = M68K_AM_IMMEDIATE;
op1->type = M68K_OP_IMM;
op1->imm = disp;
}
@@ -1085,7 +1091,7 @@
op0 = &ext->operands[0];
op1 = &ext->operands[1];
- op0->address_mode = M68K_AM_IMMIDIATE;
+ op0->address_mode = M68K_AM_IMMEDIATE;
op0->type = M68K_OP_IMM;
op0->imm = (info->ir >> 6) & 3;
@@ -1108,7 +1114,7 @@
op1->address_mode = M68K_AM_REGI_ADDR_DISP;
op1->type = M68K_OP_MEM;
op1->mem.base_reg = M68K_REG_A0 + (info->ir & 7);
- op1->mem.disp = read_imm_16(info);
+ op1->mem.disp = (uint16_t)read_imm_16(info);
}
static void build_movep_er(m68k_info *info, int size)
@@ -1123,7 +1129,7 @@
op0->address_mode = M68K_AM_REGI_ADDR_DISP;
op0->type = M68K_OP_MEM;
op0->mem.base_reg = M68K_REG_A0 + (info->ir & 7);
- op0->mem.disp = read_imm_16(info);
+ op0->mem.disp = (uint16_t)read_imm_16(info);
op1->reg = M68K_REG_D0 + ((info->ir >> 9) & 7);
}
@@ -1797,7 +1803,7 @@
ext = build_init_op(info, M68K_INS_FBF, 1, 2);
op0 = &ext->operands[0];
- op0->address_mode = M68K_AM_IMMIDIATE;
+ op0->address_mode = M68K_AM_IMMEDIATE;
op0->type = M68K_OP_IMM;
op0->imm = new_pc;
}
@@ -1822,7 +1828,7 @@
op0 = &ext->operands[0];
op0->type = M68K_OP_IMM;
- op0->address_mode = M68K_AM_IMMIDIATE;
+ op0->address_mode = M68K_AM_IMMEDIATE;
op0->imm = new_pc;
}
@@ -1850,7 +1856,7 @@
op0->reg = M68K_REG_D0 + (info->ir & 7);
- op1->address_mode = M68K_AM_IMMIDIATE;
+ op1->address_mode = M68K_AM_IMMEDIATE;
op1->type = M68K_OP_IMM;
op1->imm = new_pc;
}
@@ -1956,7 +1962,7 @@
op0 = &ext->operands[0];
op1 = &ext->operands[1];
- op0->address_mode = M68K_AM_IMMIDIATE;
+ op0->address_mode = M68K_AM_IMMEDIATE;
op0->type = M68K_OP_IMM;
op0->imm = next & 0x3f;
@@ -2077,12 +2083,14 @@
ext->op_size.type = M68K_SIZE_TYPE_FPU;
ext->op_size.fpu_size = M68K_FPU_SIZE_SINGLE;
get_ea_mode_op(info, op0, info->ir, 4);
+ op0->type = M68K_OP_FP_SINGLE;
break;
case 0x05:
ext->op_size.type = M68K_SIZE_TYPE_FPU;
ext->op_size.fpu_size = M68K_FPU_SIZE_DOUBLE;
get_ea_mode_op(info, op0, info->ir, 8);
+ op0->type = M68K_OP_FP_DOUBLE;
break;
default :
@@ -2160,7 +2168,7 @@
op0 = &ext->operands[0];
- op0->address_mode = M68K_AM_IMMIDIATE;
+ op0->address_mode = M68K_AM_IMMEDIATE;
op0->type = M68K_OP_IMM;
op0->imm = extension2;
}
@@ -2183,7 +2191,7 @@
op0 = &ext->operands[0];
- op0->address_mode = M68K_AM_IMMIDIATE;
+ op0->address_mode = M68K_AM_IMMEDIATE;
op0->type = M68K_OP_IMM;
op0->imm = extension2;
}
@@ -2244,7 +2252,8 @@
op1->address_mode = M68K_AM_NONE;
op1->type = M68K_OP_REG_PAIR;
- op1->register_bits = (reg_0 << 4) | reg_1;
+ op1->reg_pair.reg_0 = reg_0;
+ op1->reg_pair.reg_1 = reg_1;
if ((reg_0 == reg_1) || !BIT_A(extension)) {
op1->type = M68K_OP_REG;
@@ -2693,7 +2702,7 @@
op1 = &ext->operands[1];
op0->type = M68K_OP_IMM;
- op0->address_mode = M68K_AM_IMMIDIATE;
+ op0->address_mode = M68K_AM_IMMEDIATE;
op0->imm = (info->ir & 0xff);
op1->address_mode = M68K_AM_REG_DIRECT_DATA;
@@ -2789,7 +2798,8 @@
op1->address_mode = M68K_AM_NONE;
op1->type = M68K_OP_REG_PAIR;
- op1->register_bits = (reg_0 << 4) | reg_1;
+ op1->reg_pair.reg_0 = reg_0;
+ op1->reg_pair.reg_1 = reg_1;
if (!BIT_A(extension)) {
op1->type = M68K_OP_REG;
diff --git a/arch/M68K/M68KInstPrinter.c b/arch/M68K/M68KInstPrinter.c
index b56ca3b..df559bf 100644
--- a/arch/M68K/M68KInstPrinter.c
+++ b/arch/M68K/M68KInstPrinter.c
@@ -113,8 +113,8 @@
static void registerPair(SStream* O, const cs_m68k_op* op)
{
- SStream_concat(O, "%s:%s", s_reg_names[M68K_REG_D0 + (op->register_bits >> 4)],
- s_reg_names[M68K_REG_D0 + (op->register_bits & 0xf)]);
+ SStream_concat(O, "%s:%s", s_reg_names[M68K_REG_D0 + op->reg_pair.reg_0],
+ s_reg_names[M68K_REG_D0 + op->reg_pair.reg_1]);
}
void printAddressingMode(SStream* O, const cs_m68k* inst, const cs_m68k_op* op)
@@ -145,8 +145,13 @@
case M68K_AM_PCI_DISP: SStream_concat(O, "$%x(pc)", op->mem.disp); break;
case M68K_AM_ABSOLUTE_DATA_SHORT: SStream_concat(O, "$%x.w", op->imm); break;
case M68K_AM_ABSOLUTE_DATA_LONG: SStream_concat(O, "$%x.l", op->imm); break;
- case M68K_AM_IMMIDIATE:
+ case M68K_AM_IMMEDIATE:
if (inst->op_size.type == M68K_SIZE_TYPE_FPU) {
+#if defined(_KERNEL_MODE)
+ // Issue #681: Windows kernel does not support formatting float point
+ SStream_concat(O, "#<float_point_unsupported>");
+ break;
+#else
if (inst->op_size.fpu_size == M68K_FPU_SIZE_SINGLE)
SStream_concat(O, "#%f", op->simm);
else if (inst->op_size.fpu_size == M68K_FPU_SIZE_DOUBLE)
@@ -154,6 +159,7 @@
else
SStream_concat(O, "#<unsupported>");
break;
+#endif
}
SStream_concat(O, "#$%x", op->imm);
break;
diff --git a/arch/Mips/MipsDisassembler.c b/arch/Mips/MipsDisassembler.c
index 4f80934..846115f 100644
--- a/arch/Mips/MipsDisassembler.c
+++ b/arch/Mips/MipsDisassembler.c
@@ -19,7 +19,7 @@
#include <stdio.h>
#include <string.h>
-#include "../../myinttypes.h"
+#include "capstone/platform.h"
#include "../../utils.h"
diff --git a/arch/Mips/MipsInstPrinter.c b/arch/Mips/MipsInstPrinter.c
index 844437a..e97bf4d 100644
--- a/arch/Mips/MipsInstPrinter.c
+++ b/arch/Mips/MipsInstPrinter.c
@@ -16,7 +16,7 @@
#ifdef CAPSTONE_HAS_MIPS
-#include "../../myinttypes.h"
+#include <capstone/platform.h>
#include <stdlib.h>
#include <stdio.h> // debug
#include <string.h>
diff --git a/arch/Mips/MipsMapping.c b/arch/Mips/MipsMapping.c
index 81132c7..98fa0ed 100644
--- a/arch/Mips/MipsMapping.c
+++ b/arch/Mips/MipsMapping.c
@@ -902,6 +902,11 @@
// generic groups
{ MIPS_GRP_INVALID, NULL },
{ MIPS_GRP_JUMP, "jump" },
+ { MIPS_GRP_CALL, "call" },
+ { MIPS_GRP_RET, "ret" },
+ { MIPS_GRP_INT, "int" },
+ { MIPS_GRP_IRET, "iret" },
+ { MIPS_GRP_PRIVILEGE, "privileged" },
// architecture-specific groups
{ MIPS_GRP_BITCOUNT, "bitcount" },
diff --git a/arch/Mips/MipsMappingInsn.inc b/arch/Mips/MipsMappingInsn.inc
index 7ccaf54..3b15e59 100644
--- a/arch/Mips/MipsMappingInsn.inc
+++ b/arch/Mips/MipsMappingInsn.inc
@@ -4720,43 +4720,43 @@
{
Mips_JALR, MIPS_INS_JALR,
#ifndef CAPSTONE_DIET
- { 0 }, { MIPS_REG_RA, 0 }, { MIPS_GRP_STDENC, MIPS_GRP_NOTINMICROMIPS, 0 }, 0, 0
+ { 0 }, { MIPS_REG_RA, 0 }, { MIPS_GRP_STDENC, MIPS_GRP_NOTINMICROMIPS, MIPS_GRP_CALL, 0 }, 0, 0
#endif
},
{
Mips_JALR16_MM, MIPS_INS_JALR,
#ifndef CAPSTONE_DIET
- { 0 }, { MIPS_REG_RA, 0 }, { MIPS_GRP_MICROMIPS, 0 }, 0, 0
+ { 0 }, { MIPS_REG_RA, 0 }, { MIPS_GRP_MICROMIPS, MIPS_GRP_CALL, 0 }, 0, 0
#endif
},
{
Mips_JALR64, MIPS_INS_JALR,
#ifndef CAPSTONE_DIET
- { 0 }, { MIPS_REG_RA, 0 }, { MIPS_GRP_STDENC, 0 }, 0, 0
+ { 0 }, { MIPS_REG_RA, 0 }, { MIPS_GRP_STDENC, MIPS_GRP_CALL, 0 }, 0, 0
#endif
},
{
Mips_JALRS16_MM, MIPS_INS_JALRS16,
#ifndef CAPSTONE_DIET
- { 0 }, { MIPS_REG_RA, 0 }, { MIPS_GRP_MICROMIPS, 0 }, 0, 0
+ { 0 }, { MIPS_REG_RA, 0 }, { MIPS_GRP_MICROMIPS, MIPS_GRP_CALL, 0 }, 0, 0
#endif
},
{
Mips_JALRS_MM, MIPS_INS_JALRS,
#ifndef CAPSTONE_DIET
- { 0 }, { MIPS_REG_RA, 0 }, { MIPS_GRP_MICROMIPS, 0 }, 0, 0
+ { 0 }, { MIPS_REG_RA, 0 }, { MIPS_GRP_MICROMIPS, MIPS_GRP_CALL, 0 }, 0, 0
#endif
},
{
Mips_JALR_HB, MIPS_INS_JALR_HB,
#ifndef CAPSTONE_DIET
- { 0 }, { 0 }, { MIPS_GRP_STDENC, MIPS_GRP_MIPS32, 0 }, 0, 1
+ { 0 }, { 0 }, { MIPS_GRP_STDENC, MIPS_GRP_MIPS32, MIPS_GRP_CALL, 0 }, 0, 1
#endif
},
{
Mips_JALR_MM, MIPS_INS_JALR,
#ifndef CAPSTONE_DIET
- { 0 }, { MIPS_REG_RA, 0 }, { MIPS_GRP_MICROMIPS, 0 }, 0, 0
+ { 0 }, { MIPS_REG_RA, 0 }, { MIPS_GRP_MICROMIPS, MIPS_GRP_CALL, 0 }, 0, 0
#endif
},
{
@@ -4876,7 +4876,7 @@
{
Mips_JumpLinkReg16, MIPS_INS_JALRC,
#ifndef CAPSTONE_DIET
- { 0 }, { MIPS_REG_RA, 0 }, { MIPS_GRP_MIPS16MODE, 0 }, 0, 0
+ { 0 }, { MIPS_REG_RA, 0 }, { MIPS_GRP_MIPS16MODE, MIPS_GRP_CALL, 0 }, 0, 0
#endif
},
{
@@ -8812,13 +8812,13 @@
{
Mips_SYSCALL, MIPS_INS_SYSCALL,
#ifndef CAPSTONE_DIET
- { 0 }, { 0 }, { MIPS_GRP_STDENC, 0 }, 0, 0
+ { 0 }, { 0 }, { MIPS_GRP_STDENC, MIPS_GRP_INT, 0 }, 0, 0
#endif
},
{
Mips_SYSCALL_MM, MIPS_INS_SYSCALL,
#ifndef CAPSTONE_DIET
- { 0 }, { 0 }, { MIPS_GRP_MICROMIPS, 0 }, 0, 0
+ { 0 }, { 0 }, { MIPS_GRP_MICROMIPS, MIPS_GRP_INT, 0 }, 0, 0
#endif
},
{
diff --git a/arch/PowerPC/PPCGenAsmWriter.inc b/arch/PowerPC/PPCGenAsmWriter.inc
index 16f5fd1..447bd04 100644
--- a/arch/PowerPC/PPCGenAsmWriter.inc
+++ b/arch/PowerPC/PPCGenAsmWriter.inc
@@ -10,7 +10,7 @@
/* By Nguyen Anh Quynh <aquynh@gmail.com>, 2013-2015 */
#include <stdio.h> // debug
-#include "../../myinttypes.h"
+#include <capstone/platform.h>
/// printInstruction - This method is automatically generated by tablegen
/// from the instruction set description.
diff --git a/arch/PowerPC/PPCInstPrinter.c b/arch/PowerPC/PPCInstPrinter.c
index a9fd936..45680ec 100644
--- a/arch/PowerPC/PPCInstPrinter.c
+++ b/arch/PowerPC/PPCInstPrinter.c
@@ -19,7 +19,6 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
-#include "../../myinttypes.h"
#include "PPCInstPrinter.h"
#include "PPCPredicates.h"
diff --git a/arch/Sparc/SparcDisassembler.c b/arch/Sparc/SparcDisassembler.c
index aa23fe8..78d9333 100644
--- a/arch/Sparc/SparcDisassembler.c
+++ b/arch/Sparc/SparcDisassembler.c
@@ -251,7 +251,7 @@
DecodeStatus status;
unsigned rd = fieldFromInstruction_4(insn, 25, 5);
unsigned rs1 = fieldFromInstruction_4(insn, 14, 5);
- bool isImm = fieldFromInstruction_4(insn, 13, 1);
+ bool isImm = fieldFromInstruction_4(insn, 13, 1) != 0;
unsigned rs2 = 0;
unsigned simm13 = 0;
diff --git a/arch/Sparc/SparcGenAsmWriter.inc b/arch/Sparc/SparcGenAsmWriter.inc
index 1b8562c..9ed9760 100644
--- a/arch/Sparc/SparcGenAsmWriter.inc
+++ b/arch/Sparc/SparcGenAsmWriter.inc
@@ -10,7 +10,7 @@
/* By Nguyen Anh Quynh <aquynh@gmail.com>, 2013-2015 */
#include <stdio.h> // debug
-#include "../../myinttypes.h"
+#include <capstone/platform.h>
/// printInstruction - This method is automatically generated by tablegen
diff --git a/arch/Sparc/SparcInstPrinter.c b/arch/Sparc/SparcInstPrinter.c
index c788548..c5f1e2c 100644
--- a/arch/Sparc/SparcInstPrinter.c
+++ b/arch/Sparc/SparcInstPrinter.c
@@ -81,7 +81,7 @@
if (insn->id == SPARC_INS_CASX) {
// first op is actually a memop, not regop
insn->detail->sparc.operands[0].type = SPARC_OP_MEM;
- insn->detail->sparc.operands[0].mem.base = insn->detail->sparc.operands[0].reg;
+ insn->detail->sparc.operands[0].mem.base = (uint8_t)insn->detail->sparc.operands[0].reg;
insn->detail->sparc.operands[0].mem.disp = 0;
}
}
@@ -172,9 +172,9 @@
if (MI->csh->detail) {
if (MI->csh->doing_mem) {
if (MI->flat_insn->detail->sparc.operands[MI->flat_insn->detail->sparc.op_count].mem.base)
- MI->flat_insn->detail->sparc.operands[MI->flat_insn->detail->sparc.op_count].mem.index = reg;
+ MI->flat_insn->detail->sparc.operands[MI->flat_insn->detail->sparc.op_count].mem.index = (uint8_t)reg;
else
- MI->flat_insn->detail->sparc.operands[MI->flat_insn->detail->sparc.op_count].mem.base = reg;
+ MI->flat_insn->detail->sparc.operands[MI->flat_insn->detail->sparc.op_count].mem.base = (uint8_t)reg;
} else {
MI->flat_insn->detail->sparc.operands[MI->flat_insn->detail->sparc.op_count].type = SPARC_OP_REG;
MI->flat_insn->detail->sparc.operands[MI->flat_insn->detail->sparc.op_count].reg = reg;
diff --git a/arch/SystemZ/SystemZGenAsmWriter.inc b/arch/SystemZ/SystemZGenAsmWriter.inc
index 0cec420..73baaaa 100644
--- a/arch/SystemZ/SystemZGenAsmWriter.inc
+++ b/arch/SystemZ/SystemZGenAsmWriter.inc
@@ -10,7 +10,7 @@
/* By Nguyen Anh Quynh <aquynh@gmail.com>, 2013-2015 */
#include <stdio.h> // debug
-#include "../../myinttypes.h"
+#include <capstone/platform.h>
/// printInstruction - This method is automatically generated by tablegen
diff --git a/arch/SystemZ/SystemZInstPrinter.c b/arch/SystemZ/SystemZInstPrinter.c
index 67680f1..5a8f019 100644
--- a/arch/SystemZ/SystemZInstPrinter.c
+++ b/arch/SystemZ/SystemZInstPrinter.c
@@ -19,7 +19,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
-#include "../../myinttypes.h"
+#include <capstone/platform.h>
#include "SystemZInstPrinter.h"
#include "../../MCInst.h"
diff --git a/arch/X86/X86ATTInstPrinter.c b/arch/X86/X86ATTInstPrinter.c
index 8ebcd77..3eb20e9 100644
--- a/arch/X86/X86ATTInstPrinter.c
+++ b/arch/X86/X86ATTInstPrinter.c
@@ -21,7 +21,7 @@
#if !defined(CAPSTONE_HAS_OSXKERNEL)
#include <ctype.h>
#endif
-#include "../../myinttypes.h"
+#include <capstone/platform.h>
#if defined(CAPSTONE_HAS_OSXKERNEL)
#include <libkern/libkern.h>
#else
@@ -225,7 +225,7 @@
static void printSSECC(MCInst *MI, unsigned Op, SStream *OS)
{
- int64_t Imm = MCOperand_getImm(MCInst_getOperand(MI, Op)) & 7;
+ uint8_t Imm = (uint8_t)(MCOperand_getImm(MCInst_getOperand(MI, Op)) & 7);
switch (Imm) {
default: break; // never reach
case 0: SStream_concat0(OS, "eq"); op_addSseCC(MI, X86_SSE_CC_EQ); break;
@@ -237,11 +237,13 @@
case 6: SStream_concat0(OS, "nle"); op_addSseCC(MI, X86_SSE_CC_NLE); break;
case 7: SStream_concat0(OS, "ord"); op_addSseCC(MI, X86_SSE_CC_ORD); break;
}
+
+ MI->popcode_adjust = Imm + 1;
}
static void printAVXCC(MCInst *MI, unsigned Op, SStream *O)
{
- int64_t Imm = MCOperand_getImm(MCInst_getOperand(MI, Op)) & 0x1f;
+ uint8_t Imm = (uint8_t)(MCOperand_getImm(MCInst_getOperand(MI, Op)) & 0x1f);
switch (Imm) {
default: break;//printf("Invalid avxcc argument!\n"); break;
case 0: SStream_concat0(O, "eq"); op_addAvxCC(MI, X86_AVX_CC_EQ); break;
@@ -277,6 +279,8 @@
case 0x1e: SStream_concat0(O, "gt_oq"); op_addAvxCC(MI, X86_AVX_CC_GT_OQ); break;
case 0x1f: SStream_concat0(O, "true_us"); op_addAvxCC(MI, X86_AVX_CC_TRUE_US); break;
}
+
+ MI->popcode_adjust = Imm + 1;
}
static void printXOPCC(MCInst *MI, unsigned Op, SStream *O)
@@ -654,7 +658,7 @@
else
SStream_concat(O, "$%"PRIu64, imm);
} else {
- if (imm == 0x8000000000000000) // imm == -imm
+ if (imm == 0x8000000000000000LL) // imm == -imm
SStream_concat0(O, "$0x8000000000000000");
else if (imm < -HEX_THRESHOLD)
SStream_concat(O, "$-0x%"PRIx64, -imm);
@@ -723,7 +727,7 @@
MI->flat_insn->detail->x86.operands[MI->flat_insn->detail->x86.op_count].imm = imm;
if (opsize > 0)
- MI->flat_insn->detail->x86.operands[MI->flat_insn->detail->x86.op_count].size = opsize;
+ MI->flat_insn->detail->x86.operands[MI->flat_insn->detail->x86.op_count].size = (uint8_t)opsize;
else if (MI->op1_size > 0)
MI->flat_insn->detail->x86.operands[MI->flat_insn->detail->x86.op_count].size = MI->op1_size;
else
@@ -798,6 +802,8 @@
SStream_concat(O, "%"PRIu64, DispVal);
}
}
+ } else {
+ SStream_concat0(O, "0");
}
}
diff --git a/arch/X86/X86Disassembler.c b/arch/X86/X86Disassembler.c
index 7ff165e..cd02d94 100644
--- a/arch/X86/X86Disassembler.c
+++ b/arch/X86/X86Disassembler.c
@@ -19,7 +19,7 @@
#ifdef CAPSTONE_HAS_X86
-#include "../../myinttypes.h" // debug
+#include <capstone/platform.h>
#include <string.h>
#include "../../cs_priv.h"
diff --git a/arch/X86/X86DisassemblerDecoder.c b/arch/X86/X86DisassemblerDecoder.c
index 6ba5d07..2fd290d 100644
--- a/arch/X86/X86DisassemblerDecoder.c
+++ b/arch/X86/X86DisassemblerDecoder.c
@@ -1094,7 +1094,7 @@
hasModRMExtension = modRMRequired(insn->opcodeType,
instructionClass,
- insn->opcode);
+ insn->opcode) != 0;
if (hasModRMExtension) {
if (readModRM(insn))
diff --git a/arch/X86/X86IntelInstPrinter.c b/arch/X86/X86IntelInstPrinter.c
index 9feca58..d7c6d29 100644
--- a/arch/X86/X86IntelInstPrinter.c
+++ b/arch/X86/X86IntelInstPrinter.c
@@ -20,7 +20,7 @@
#if !defined(CAPSTONE_HAS_OSXKERNEL)
#include <ctype.h>
#endif
-#include "../../myinttypes.h"
+#include <capstone/platform.h>
#if defined(CAPSTONE_HAS_OSXKERNEL)
#include <libkern/libkern.h>
#else
@@ -256,7 +256,7 @@
static void printSSECC(MCInst *MI, unsigned Op, SStream *OS)
{
- int64_t Imm = MCOperand_getImm(MCInst_getOperand(MI, Op)) & 7;
+ uint8_t Imm = (uint8_t)(MCOperand_getImm(MCInst_getOperand(MI, Op)) & 7);
switch (Imm) {
default: break; // never reach
case 0: SStream_concat0(OS, "eq"); op_addSseCC(MI, X86_SSE_CC_EQ); break;
@@ -268,11 +268,13 @@
case 6: SStream_concat0(OS, "nle"); op_addSseCC(MI, X86_SSE_CC_NLE); break;
case 7: SStream_concat0(OS, "ord"); op_addSseCC(MI, X86_SSE_CC_ORD); break;
}
+
+ MI->popcode_adjust = Imm + 1;
}
static void printAVXCC(MCInst *MI, unsigned Op, SStream *O)
{
- int64_t Imm = MCOperand_getImm(MCInst_getOperand(MI, Op)) & 0x1f;
+ uint8_t Imm = (uint8_t)(MCOperand_getImm(MCInst_getOperand(MI, Op)) & 0x1f);
switch (Imm) {
default: break;//printf("Invalid avxcc argument!\n"); break;
case 0: SStream_concat0(O, "eq"); op_addAvxCC(MI, X86_AVX_CC_EQ); break;
@@ -308,6 +310,8 @@
case 0x1e: SStream_concat0(O, "gt_oq"); op_addAvxCC(MI, X86_AVX_CC_GT_OQ); break;
case 0x1f: SStream_concat0(O, "true_us"); op_addAvxCC(MI, X86_AVX_CC_TRUE_US); break;
}
+
+ MI->popcode_adjust = Imm + 1;
}
static void printXOPCC(MCInst *MI, unsigned Op, SStream *O)
@@ -367,7 +371,7 @@
// always print this number in positive form
if (syntax == CS_OPT_SYNTAX_MASM) {
if (imm < 0) {
- if (imm == 0x8000000000000000) // imm == -imm
+ if (imm == 0x8000000000000000LL) // imm == -imm
SStream_concat0(O, "8000000000000000h");
else if (need_zero_prefix(imm))
SStream_concat(O, "0%"PRIx64"h", imm);
@@ -395,7 +399,7 @@
} else {
if (syntax == CS_OPT_SYNTAX_MASM) {
if (imm < 0) {
- if (imm == 0x8000000000000000) // imm == -imm
+ if (imm == 0x8000000000000000LL) // imm == -imm
SStream_concat0(O, "8000000000000000h");
else if (imm < -HEX_THRESHOLD) {
if (need_zero_prefix(imm))
@@ -415,7 +419,7 @@
}
} else { // Intel syntax
if (imm < 0) {
- if (imm == 0x8000000000000000) // imm == -imm
+ if (imm == 0x8000000000000000LL) // imm == -imm
SStream_concat0(O, "0x8000000000000000");
else if (imm < -HEX_THRESHOLD)
SStream_concat(O, "-0x%"PRIx64, -imm);
@@ -807,7 +811,7 @@
if (MI->flat_insn->detail->x86.op_count > 0)
MI->flat_insn->detail->x86.operands[MI->flat_insn->detail->x86.op_count].size = MI->flat_insn->detail->x86.operands[0].size;
else if (opsize > 0)
- MI->flat_insn->detail->x86.operands[MI->flat_insn->detail->x86.op_count].size = opsize;
+ MI->flat_insn->detail->x86.operands[MI->flat_insn->detail->x86.op_count].size = (uint8_t)opsize;
else
MI->flat_insn->detail->x86.operands[MI->flat_insn->detail->x86.op_count].size = MI->imm_size;
MI->flat_insn->detail->x86.operands[MI->flat_insn->detail->x86.op_count].imm = imm;
@@ -924,7 +928,7 @@
MI->flat_insn->detail->x86.operands[MI->flat_insn->detail->x86.op_count].type = X86_OP_IMM;
if (opsize > 0)
- MI->flat_insn->detail->x86.operands[MI->flat_insn->detail->x86.op_count].size = opsize;
+ MI->flat_insn->detail->x86.operands[MI->flat_insn->detail->x86.op_count].size = (uint8_t)opsize;
else if (MI->flat_insn->detail->x86.op_count > 0) {
if (MI->flat_insn->id != X86_INS_LCALL && MI->flat_insn->id != X86_INS_LJMP) {
MI->flat_insn->detail->x86.operands[MI->flat_insn->detail->x86.op_count].size =
diff --git a/arch/X86/X86Mapping.c b/arch/X86/X86Mapping.c
index ece2080..4e785d5 100644
--- a/arch/X86/X86Mapping.c
+++ b/arch/X86/X86Mapping.c
@@ -4,6 +4,7 @@
#ifdef CAPSTONE_HAS_X86
#include <string.h>
+#include <stdlib.h>
#include "X86Mapping.h"
#include "X86DisassemblerDecoder.h"
@@ -17,7 +18,7 @@
0,
0xffffffff,
0, 0, 0,
- 0xffffffffffffffff
+ 0xffffffffffffffffLL
};
static x86_reg sib_base_map[] = {
@@ -934,12 +935,8 @@
{ X86_INS_FCMOVU, "fcmovu" },
{ X86_INS_CMOVS, "cmovs" },
{ X86_INS_CMP, "cmp" },
- { X86_INS_CMPPD, "cmppd" },
- { X86_INS_CMPPS, "cmpps" },
{ X86_INS_CMPSB, "cmpsb" },
- { X86_INS_CMPSD, "cmpsd" },
{ X86_INS_CMPSQ, "cmpsq" },
- { X86_INS_CMPSS, "cmpss" },
{ X86_INS_CMPSW, "cmpsw" },
{ X86_INS_CMPXCHG16B, "cmpxchg16b" },
{ X86_INS_CMPXCHG, "cmpxchg" },
@@ -1586,10 +1583,6 @@
{ X86_INS_VBROADCASTI64X4, "vbroadcasti64x4" },
{ X86_INS_VBROADCASTSD, "vbroadcastsd" },
{ X86_INS_VBROADCASTSS, "vbroadcastss" },
- { X86_INS_VCMPPD, "vcmppd" },
- { X86_INS_VCMPPS, "vcmpps" },
- { X86_INS_VCMPSD, "vcmpsd" },
- { X86_INS_VCMPSS, "vcmpss" },
{ X86_INS_VCOMPRESSPD, "vcompresspd" },
{ X86_INS_VCOMPRESSPS, "vcompressps" },
{ X86_INS_VCVTDQ2PD, "vcvtdq2pd" },
@@ -2176,6 +2169,183 @@
{ X86_INS_XTEST, "xtest" },
{ X86_INS_FDISI8087_NOP, "fdisi8087_nop" },
{ X86_INS_FENI8087_NOP, "feni8087_nop" },
+
+ // pseudo instructions
+ { X86_INS_CMPSS, "cmpss" },
+ { X86_INS_CMPEQSS, "cmpeqss" },
+ { X86_INS_CMPLTSS, "cmpltss" },
+ { X86_INS_CMPLESS, "cmpless" },
+ { X86_INS_CMPUNORDSS, "cmpunordss" },
+ { X86_INS_CMPNEQSS, "cmpneqss" },
+ { X86_INS_CMPNLTSS, "cmpnltss" },
+ { X86_INS_CMPNLESS, "cmpnless" },
+ { X86_INS_CMPORDSS, "cmpordss" },
+
+ { X86_INS_CMPSD, "cmpsd" },
+ { X86_INS_CMPEQSD, "cmpeqsd" },
+ { X86_INS_CMPLTSD, "cmpltsd" },
+ { X86_INS_CMPLESD, "cmplesd" },
+ { X86_INS_CMPUNORDSD, "cmpunordsd" },
+ { X86_INS_CMPNEQSD, "cmpneqsd" },
+ { X86_INS_CMPNLTSD, "cmpnltsd" },
+ { X86_INS_CMPNLESD, "cmpnlesd" },
+ { X86_INS_CMPORDSD, "cmpordsd" },
+
+ { X86_INS_CMPPS, "cmpps" },
+ { X86_INS_CMPEQPS, "cmpeqps" },
+ { X86_INS_CMPLTPS, "cmpltps" },
+ { X86_INS_CMPLEPS, "cmpleps" },
+ { X86_INS_CMPUNORDPS, "cmpunordps" },
+ { X86_INS_CMPNEQPS, "cmpneqps" },
+ { X86_INS_CMPNLTPS, "cmpnltps" },
+ { X86_INS_CMPNLEPS, "cmpnleps" },
+ { X86_INS_CMPORDPS, "cmpordps" },
+
+ { X86_INS_CMPPD, "cmppd" },
+ { X86_INS_CMPEQPD, "cmpeqpd" },
+ { X86_INS_CMPLTPD, "cmpltpd" },
+ { X86_INS_CMPLEPD, "cmplepd" },
+ { X86_INS_CMPUNORDPD, "cmpunordpd" },
+ { X86_INS_CMPNEQPD, "cmpneqpd" },
+ { X86_INS_CMPNLTPD, "cmpnltpd" },
+ { X86_INS_CMPNLEPD, "cmpnlepd" },
+ { X86_INS_CMPORDPD, "cmpordpd" },
+
+ { X86_INS_VCMPSS, "vcmpss" },
+ { X86_INS_VCMPEQSS, "vcmpeqss" },
+ { X86_INS_VCMPLTSS, "vcmpltss" },
+ { X86_INS_VCMPLESS, "vcmpless" },
+ { X86_INS_VCMPUNORDSS, "vcmpunordss" },
+ { X86_INS_VCMPNEQSS, "vcmpneqss" },
+ { X86_INS_VCMPNLTSS, "vcmpnltss" },
+ { X86_INS_VCMPNLESS, "vcmpnless" },
+ { X86_INS_VCMPORDSS, "vcmpordss" },
+ { X86_INS_VCMPEQ_UQSS, "vcmpeq_uqss" },
+ { X86_INS_VCMPNGESS, "vcmpngess" },
+ { X86_INS_VCMPNGTSS, "vcmpngtss" },
+ { X86_INS_VCMPFALSESS, "vcmpfalsess" },
+ { X86_INS_VCMPNEQ_OQSS, "vcmpneq_oqss" },
+ { X86_INS_VCMPGESS, "vcmpgess" },
+ { X86_INS_VCMPGTSS, "vcmpgtss" },
+ { X86_INS_VCMPTRUESS, "vcmptruess" },
+ { X86_INS_VCMPEQ_OSSS, "vcmpeq_osss" },
+ { X86_INS_VCMPLT_OQSS, "vcmplt_oqss" },
+ { X86_INS_VCMPLE_OQSS, "vcmple_oqss" },
+ { X86_INS_VCMPUNORD_SSS, "vcmpunord_sss" },
+ { X86_INS_VCMPNEQ_USSS, "vcmpneq_usss" },
+ { X86_INS_VCMPNLT_UQSS, "vcmpnlt_uqss" },
+ { X86_INS_VCMPNLE_UQSS, "vcmpnle_uqss" },
+ { X86_INS_VCMPORD_SSS, "vcmpord_sss" },
+ { X86_INS_VCMPEQ_USSS, "vcmpeq_usss" },
+ { X86_INS_VCMPNGE_UQSS, "vcmpnge_uqss" },
+ { X86_INS_VCMPNGT_UQSS, "vcmpngt_uqss" },
+ { X86_INS_VCMPFALSE_OSSS, "vcmpfalse_osss" },
+ { X86_INS_VCMPNEQ_OSSS, "vcmpneq_osss" },
+ { X86_INS_VCMPGE_OQSS, "vcmpge_oqss" },
+ { X86_INS_VCMPGT_OQSS, "vcmpgt_oqss" },
+ { X86_INS_VCMPTRUE_USSS, "vcmptrue_usss" },
+
+ { X86_INS_VCMPSD, "vcmpsd" },
+ { X86_INS_VCMPEQSD, "vcmpeqsd" },
+ { X86_INS_VCMPLTSD, "vcmpltsd" },
+ { X86_INS_VCMPLESD, "vcmplesd" },
+ { X86_INS_VCMPUNORDSD, "vcmpunordsd" },
+ { X86_INS_VCMPNEQSD, "vcmpneqsd" },
+ { X86_INS_VCMPNLTSD, "vcmpnltsd" },
+ { X86_INS_VCMPNLESD, "vcmpnlesd" },
+ { X86_INS_VCMPORDSD, "vcmpordsd" },
+ { X86_INS_VCMPEQ_UQSD, "vcmpeq_uqsd" },
+ { X86_INS_VCMPNGESD, "vcmpngesd" },
+ { X86_INS_VCMPNGTSD, "vcmpngtsd" },
+ { X86_INS_VCMPFALSESD, "vcmpfalsesd" },
+ { X86_INS_VCMPNEQ_OQSD, "vcmpneq_oqsd" },
+ { X86_INS_VCMPGESD, "vcmpgesd" },
+ { X86_INS_VCMPGTSD, "vcmpgtsd" },
+ { X86_INS_VCMPTRUESD, "vcmptruesd" },
+ { X86_INS_VCMPEQ_OSSD, "vcmpeq_ossd" },
+ { X86_INS_VCMPLT_OQSD, "vcmplt_oqsd" },
+ { X86_INS_VCMPLE_OQSD, "vcmple_oqsd" },
+ { X86_INS_VCMPUNORD_SSD, "vcmpunord_ssd" },
+ { X86_INS_VCMPNEQ_USSD, "vcmpneq_ussd" },
+ { X86_INS_VCMPNLT_UQSD, "vcmpnlt_uqsd" },
+ { X86_INS_VCMPNLE_UQSD, "vcmpnle_uqsd" },
+ { X86_INS_VCMPORD_SSD, "vcmpord_ssd" },
+ { X86_INS_VCMPEQ_USSD, "vcmpeq_ussd" },
+ { X86_INS_VCMPNGE_UQSD, "vcmpnge_uqsd" },
+ { X86_INS_VCMPNGT_UQSD, "vcmpngt_uqsd" },
+ { X86_INS_VCMPFALSE_OSSD, "vcmpfalse_ossd" },
+ { X86_INS_VCMPNEQ_OSSD, "vcmpneq_ossd" },
+ { X86_INS_VCMPGE_OQSD, "vcmpge_oqsd" },
+ { X86_INS_VCMPGT_OQSD, "vcmpgt_oqsd" },
+ { X86_INS_VCMPTRUE_USSD, "vcmptrue_ussd" },
+
+ { X86_INS_VCMPPS, "vcmpps" },
+ { X86_INS_VCMPEQPS, "vcmpeqps" },
+ { X86_INS_VCMPLTPS, "vcmpltps" },
+ { X86_INS_VCMPLEPS, "vcmpleps" },
+ { X86_INS_VCMPUNORDPS, "vcmpunordps" },
+ { X86_INS_VCMPNEQPS, "vcmpneqps" },
+ { X86_INS_VCMPNLTPS, "vcmpnltps" },
+ { X86_INS_VCMPNLEPS, "vcmpnleps" },
+ { X86_INS_VCMPORDPS, "vcmpordps" },
+ { X86_INS_VCMPEQ_UQPS, "vcmpeq_uqps" },
+ { X86_INS_VCMPNGEPS, "vcmpngeps" },
+ { X86_INS_VCMPNGTPS, "vcmpngtps" },
+ { X86_INS_VCMPFALSEPS, "vcmpfalseps" },
+ { X86_INS_VCMPNEQ_OQPS, "vcmpneq_oqps" },
+ { X86_INS_VCMPGEPS, "vcmpgeps" },
+ { X86_INS_VCMPGTPS, "vcmpgtps" },
+ { X86_INS_VCMPTRUEPS, "vcmptrueps" },
+ { X86_INS_VCMPEQ_OSPS, "vcmpeq_osps" },
+ { X86_INS_VCMPLT_OQPS, "vcmplt_oqps" },
+ { X86_INS_VCMPLE_OQPS, "vcmple_oqps" },
+ { X86_INS_VCMPUNORD_SPS, "vcmpunord_sps" },
+ { X86_INS_VCMPNEQ_USPS, "vcmpneq_usps" },
+ { X86_INS_VCMPNLT_UQPS, "vcmpnlt_uqps" },
+ { X86_INS_VCMPNLE_UQPS, "vcmpnle_uqps" },
+ { X86_INS_VCMPORD_SPS, "vcmpord_sps" },
+ { X86_INS_VCMPEQ_USPS, "vcmpeq_usps" },
+ { X86_INS_VCMPNGE_UQPS, "vcmpnge_uqps" },
+ { X86_INS_VCMPNGT_UQPS, "vcmpngt_uqps" },
+ { X86_INS_VCMPFALSE_OSPS, "vcmpfalse_osps" },
+ { X86_INS_VCMPNEQ_OSPS, "vcmpneq_osps" },
+ { X86_INS_VCMPGE_OQPS, "vcmpge_oqps" },
+ { X86_INS_VCMPGT_OQPS, "vcmpgt_oqps" },
+ { X86_INS_VCMPTRUE_USPS, "vcmptrue_usps" },
+
+ { X86_INS_VCMPPD, "vcmppd" },
+ { X86_INS_VCMPEQPD, "vcmpeqpd" },
+ { X86_INS_VCMPLTPD, "vcmpltpd" },
+ { X86_INS_VCMPLEPD, "vcmplepd" },
+ { X86_INS_VCMPUNORDPD, "vcmpunordpd" },
+ { X86_INS_VCMPNEQPD, "vcmpneqpd" },
+ { X86_INS_VCMPNLTPD, "vcmpnltpd" },
+ { X86_INS_VCMPNLEPD, "vcmpnlepd" },
+ { X86_INS_VCMPORDPD, "vcmpordpd" },
+ { X86_INS_VCMPEQ_UQPD, "vcmpeq_uqpd" },
+ { X86_INS_VCMPNGEPD, "vcmpngepd" },
+ { X86_INS_VCMPNGTPD, "vcmpngtpd" },
+ { X86_INS_VCMPFALSEPD, "vcmpfalsepd" },
+ { X86_INS_VCMPNEQ_OQPD, "vcmpneq_oqpd" },
+ { X86_INS_VCMPGEPD, "vcmpgepd" },
+ { X86_INS_VCMPGTPD, "vcmpgtpd" },
+ { X86_INS_VCMPTRUEPD, "vcmptruepd" },
+ { X86_INS_VCMPEQ_OSPD, "vcmpeq_ospd" },
+ { X86_INS_VCMPLT_OQPD, "vcmplt_oqpd" },
+ { X86_INS_VCMPLE_OQPD, "vcmple_oqpd" },
+ { X86_INS_VCMPUNORD_SPD, "vcmpunord_spd" },
+ { X86_INS_VCMPNEQ_USPD, "vcmpneq_uspd" },
+ { X86_INS_VCMPNLT_UQPD, "vcmpnlt_uqpd" },
+ { X86_INS_VCMPNLE_UQPD, "vcmpnle_uqpd" },
+ { X86_INS_VCMPORD_SPD, "vcmpord_spd" },
+ { X86_INS_VCMPEQ_USPD, "vcmpeq_uspd" },
+ { X86_INS_VCMPNGE_UQPD, "vcmpnge_uqpd" },
+ { X86_INS_VCMPNGT_UQPD, "vcmpngt_uqpd" },
+ { X86_INS_VCMPFALSE_OSPD, "vcmpfalse_ospd" },
+ { X86_INS_VCMPNEQ_OSPD, "vcmpneq_ospd" },
+ { X86_INS_VCMPGE_OQPD, "vcmpge_oqpd" },
+ { X86_INS_VCMPGT_OQPD, "vcmpgt_oqpd" },
+ { X86_INS_VCMPTRUE_USPD, "vcmptrue_uspd" },
};
#endif
@@ -2751,19 +2921,46 @@
{ X86_INVLPGA64, X86_REG_RAX, X86_REG_ECX, CS_AC_READ, CS_AC_READ },
};
+static struct insn_reg insn_regs_intel_sorted [ARR_SIZE(insn_regs_intel)];
+
+static int regs_cmp(const void *a, const void *b)
+{
+ uint16_t l = ((struct insn_reg *)a)->insn;
+ uint16_t r = ((struct insn_reg *)b)->insn;
+ return (l - r);
+}
+
+static bool intel_regs_sorted = false;
// return register of given instruction id
// return 0 if not found
// this is to handle instructions embedding accumulate registers into AsmStrs[]
x86_reg X86_insn_reg_intel(unsigned int id, enum cs_ac_type *access)
{
- unsigned int i;
+ unsigned int first = 0;
+ unsigned int last = ARR_SIZE(insn_regs_intel) - 1;
+ unsigned int mid = ARR_SIZE(insn_regs_intel) / 2;
- for (i = 0; i < ARR_SIZE(insn_regs_intel); i++) {
- if (insn_regs_intel[i].insn == id) {
- if (access)
- *access = insn_regs_intel[i].access;
- return insn_regs_intel[i].reg;
+ if (!intel_regs_sorted) {
+ memcpy (insn_regs_intel_sorted, insn_regs_intel,
+ sizeof(insn_regs_intel_sorted));
+ qsort (insn_regs_intel_sorted,
+ ARR_SIZE(insn_regs_intel_sorted),
+ sizeof(struct insn_reg), regs_cmp);
+ intel_regs_sorted = true;
+ }
+
+ while (first <= last) {
+ if (insn_regs_intel_sorted[mid].insn < id) {
+ first = mid + 1;
+ } else if (insn_regs_intel_sorted[mid].insn == id) {
+ if (access) {
+ *access = insn_regs_intel_sorted[mid].access;
+ }
+ return insn_regs_intel_sorted[mid].reg;
+ } else {
+ last = mid - 1;
}
+ mid = (first + last) / 2;
}
// not found
diff --git a/arch/X86/X86MappingInsnOp.inc b/arch/X86/X86MappingInsnOp.inc
index 59abf34..12cea4f 100644
--- a/arch/X86/X86MappingInsnOp.inc
+++ b/arch/X86/X86MappingInsnOp.inc
@@ -970,196 +970,196 @@
{ CS_AC_READ | CS_AC_WRITE, 0 }
},
{ /* X86_BT16mi8, X86_INS_BT: bt{w} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
{ CS_AC_READ, CS_AC_IGNORE, 0 }
},
{ /* X86_BT16mr, X86_INS_BT: bt{w} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
{ CS_AC_READ, CS_AC_READ, 0 }
},
{ /* X86_BT16ri8, X86_INS_BT: bt{w} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
{ CS_AC_READ, CS_AC_IGNORE, 0 }
},
{ /* X86_BT16rr, X86_INS_BT: bt{w} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
{ CS_AC_READ, CS_AC_READ, 0 }
},
{ /* X86_BT32mi8, X86_INS_BT: bt{l} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
{ CS_AC_READ, CS_AC_IGNORE, 0 }
},
{ /* X86_BT32mr, X86_INS_BT: bt{l} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
{ CS_AC_READ, CS_AC_READ, 0 }
},
{ /* X86_BT32ri8, X86_INS_BT: bt{l} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
{ CS_AC_READ, CS_AC_IGNORE, 0 }
},
{ /* X86_BT32rr, X86_INS_BT: bt{l} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
{ CS_AC_READ, CS_AC_READ, 0 }
},
{ /* X86_BT64mi8, X86_INS_BT: bt{q} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
{ CS_AC_READ, CS_AC_IGNORE, 0 }
},
{ /* X86_BT64mr, X86_INS_BT: bt{q} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
{ CS_AC_READ, CS_AC_READ, 0 }
},
{ /* X86_BT64ri8, X86_INS_BT: bt{q} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
{ CS_AC_READ, CS_AC_IGNORE, 0 }
},
{ /* X86_BT64rr, X86_INS_BT: bt{q} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
{ CS_AC_READ, CS_AC_READ, 0 }
},
{ /* X86_BTC16mi8, X86_INS_BTC: btc{w} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
- { CS_AC_READ, CS_AC_IGNORE, 0 }
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ { CS_AC_READ | CS_AC_WRITE, CS_AC_IGNORE, 0 }
},
{ /* X86_BTC16mr, X86_INS_BTC: btc{w} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
- { CS_AC_READ, CS_AC_READ, 0 }
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_BTC16ri8, X86_INS_BTC: btc{w} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
- { CS_AC_READ, CS_AC_IGNORE, 0 }
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ { CS_AC_READ | CS_AC_WRITE, CS_AC_IGNORE, 0 }
},
{ /* X86_BTC16rr, X86_INS_BTC: btc{w} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
- { CS_AC_READ, CS_AC_READ, 0 }
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_BTC32mi8, X86_INS_BTC: btc{l} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
- { CS_AC_READ, CS_AC_IGNORE, 0 }
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ { CS_AC_READ | CS_AC_WRITE, CS_AC_IGNORE, 0 }
},
{ /* X86_BTC32mr, X86_INS_BTC: btc{l} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
- { CS_AC_READ, CS_AC_READ, 0 }
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_BTC32ri8, X86_INS_BTC: btc{l} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
- { CS_AC_READ, CS_AC_IGNORE, 0 }
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ { CS_AC_READ | CS_AC_WRITE, CS_AC_IGNORE, 0 }
},
{ /* X86_BTC32rr, X86_INS_BTC: btc{l} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
- { CS_AC_READ, CS_AC_READ, 0 }
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_BTC64mi8, X86_INS_BTC: btc{q} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
- { CS_AC_READ, CS_AC_IGNORE, 0 }
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ { CS_AC_READ | CS_AC_WRITE, CS_AC_IGNORE, 0 }
},
{ /* X86_BTC64mr, X86_INS_BTC: btc{q} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
- { CS_AC_READ, CS_AC_READ, 0 }
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_BTC64ri8, X86_INS_BTC: btc{q} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
- { CS_AC_READ, CS_AC_IGNORE, 0 }
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ { CS_AC_READ | CS_AC_WRITE, CS_AC_IGNORE, 0 }
},
{ /* X86_BTC64rr, X86_INS_BTC: btc{q} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
- { CS_AC_READ, CS_AC_READ, 0 }
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_BTR16mi8, X86_INS_BTR: btr{w} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
- { CS_AC_READ, CS_AC_IGNORE, 0 }
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ { CS_AC_READ | CS_AC_WRITE, CS_AC_IGNORE, 0 }
},
{ /* X86_BTR16mr, X86_INS_BTR: btr{w} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
- { CS_AC_READ, CS_AC_READ, 0 }
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_BTR16ri8, X86_INS_BTR: btr{w} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
- { CS_AC_READ, CS_AC_IGNORE, 0 }
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ { CS_AC_READ | CS_AC_WRITE, CS_AC_IGNORE, 0 }
},
{ /* X86_BTR16rr, X86_INS_BTR: btr{w} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
- { CS_AC_READ, CS_AC_READ, 0 }
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_BTR32mi8, X86_INS_BTR: btr{l} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
- { CS_AC_READ, CS_AC_IGNORE, 0 }
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ { CS_AC_READ | CS_AC_WRITE, CS_AC_IGNORE, 0 }
},
{ /* X86_BTR32mr, X86_INS_BTR: btr{l} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
- { CS_AC_READ, CS_AC_READ, 0 }
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_BTR32ri8, X86_INS_BTR: btr{l} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
- { CS_AC_READ, CS_AC_IGNORE, 0 }
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ { CS_AC_READ | CS_AC_WRITE, CS_AC_IGNORE, 0 }
},
{ /* X86_BTR32rr, X86_INS_BTR: btr{l} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
- { CS_AC_READ, CS_AC_READ, 0 }
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_BTR64mi8, X86_INS_BTR: btr{q} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
- { CS_AC_READ, CS_AC_IGNORE, 0 }
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ { CS_AC_READ | CS_AC_WRITE, CS_AC_IGNORE, 0 }
},
{ /* X86_BTR64mr, X86_INS_BTR: btr{q} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
- { CS_AC_READ, CS_AC_READ, 0 }
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_BTR64ri8, X86_INS_BTR: btr{q} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
- { CS_AC_READ, CS_AC_IGNORE, 0 }
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ { CS_AC_READ | CS_AC_WRITE, CS_AC_IGNORE, 0 }
},
{ /* X86_BTR64rr, X86_INS_BTR: btr{q} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
- { CS_AC_READ, CS_AC_READ, 0 }
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_BTS16mi8, X86_INS_BTS: bts{w} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
- { CS_AC_READ, CS_AC_IGNORE, 0 }
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ { CS_AC_READ | CS_AC_WRITE, CS_AC_IGNORE, 0 }
},
{ /* X86_BTS16mr, X86_INS_BTS: bts{w} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
- { CS_AC_READ, CS_AC_READ, 0 }
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_BTS16ri8, X86_INS_BTS: bts{w} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
- { CS_AC_READ, CS_AC_IGNORE, 0 }
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ { CS_AC_READ | CS_AC_WRITE, CS_AC_IGNORE, 0 }
},
{ /* X86_BTS16rr, X86_INS_BTS: bts{w} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
- { CS_AC_READ, CS_AC_READ, 0 }
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_BTS32mi8, X86_INS_BTS: bts{l} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
- { CS_AC_READ, CS_AC_IGNORE, 0 }
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ { CS_AC_READ | CS_AC_WRITE, CS_AC_IGNORE, 0 }
},
{ /* X86_BTS32mr, X86_INS_BTS: bts{l} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
- { CS_AC_READ, CS_AC_READ, 0 }
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_BTS32ri8, X86_INS_BTS: bts{l} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
- { CS_AC_READ, CS_AC_IGNORE, 0 }
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ { CS_AC_READ | CS_AC_WRITE, CS_AC_IGNORE, 0 }
},
{ /* X86_BTS32rr, X86_INS_BTS: bts{l} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
- { CS_AC_READ, CS_AC_READ, 0 }
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_BTS64mi8, X86_INS_BTS: bts{q} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
- { CS_AC_READ, CS_AC_IGNORE, 0 }
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ { CS_AC_READ | CS_AC_WRITE, CS_AC_IGNORE, 0 }
},
{ /* X86_BTS64mr, X86_INS_BTS: bts{q} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
- { CS_AC_READ, CS_AC_READ, 0 }
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_BTS64ri8, X86_INS_BTS: bts{q} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
- { CS_AC_READ, CS_AC_IGNORE, 0 }
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ { CS_AC_READ | CS_AC_WRITE, CS_AC_IGNORE, 0 }
},
{ /* X86_BTS64rr, X86_INS_BTS: bts{q} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
- { CS_AC_READ, CS_AC_READ, 0 }
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_BZHI32rm, X86_INS_BZHI: bzhi{l} $dst, $src1, $src2 */
0,
@@ -5607,11 +5607,11 @@
},
{ /* X86_MOV16ao16, X86_INS_MOV: mov{w} ax, $src */
0,
- { CS_AC_IGNORE, CS_AC_READ, 0 }
+ { CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_MOV16ao32, X86_INS_MOV: mov{w} ax, $src */
0,
- { CS_AC_IGNORE, CS_AC_READ, 0 }
+ { CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_MOV16ao64, X86_INS_MOVABS: movabs{w} ax, $src */
0,
@@ -5631,15 +5631,15 @@
},
{ /* X86_MOV16o16a, X86_INS_MOV: mov{w} $dst, ax */
0,
- { CS_AC_WRITE, CS_AC_IGNORE, 0 }
+ { CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_MOV16o32a, X86_INS_MOV: mov{w} $dst, ax */
0,
- { CS_AC_WRITE, CS_AC_IGNORE, 0 }
+ { CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_MOV16o64a, X86_INS_MOVABS: movabs{w} $dst, ax */
0,
- { CS_AC_WRITE, CS_AC_IGNORE, 0 }
+ { CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_MOV16ri, X86_INS_MOV: mov{w} $dst, $src */
0,
@@ -5675,11 +5675,11 @@
},
{ /* X86_MOV32ao16, X86_INS_MOV: mov{l} eax, $src */
0,
- { CS_AC_IGNORE, CS_AC_READ, 0 }
+ { CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_MOV32ao32, X86_INS_MOV: mov{l} eax, $src */
0,
- { CS_AC_IGNORE, CS_AC_READ, 0 }
+ { CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_MOV32ao64, X86_INS_MOVABS: movabs{l} eax, $src */
0,
@@ -5707,15 +5707,15 @@
},
{ /* X86_MOV32o16a, X86_INS_MOV: mov{l} $dst, eax */
0,
- { CS_AC_WRITE, CS_AC_IGNORE, 0 }
+ { CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_MOV32o32a, X86_INS_MOV: mov{l} $dst, eax */
0,
- { CS_AC_WRITE, CS_AC_IGNORE, 0 }
+ { CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_MOV32o64a, X86_INS_MOVABS: movabs{l} $dst, eax */
0,
- { CS_AC_WRITE, CS_AC_IGNORE, 0 }
+ { CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_MOV32rc, X86_INS_MOV: mov{l} $dst, $src */
0,
@@ -5759,7 +5759,7 @@
},
{ /* X86_MOV64ao32, X86_INS_MOV: mov{q} rax, $src */
0,
- { CS_AC_IGNORE, CS_AC_READ, 0 }
+ { CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_MOV64ao64, X86_INS_MOVABS: movabs{q} rax, $src */
0,
@@ -5787,11 +5787,11 @@
},
{ /* X86_MOV64o32a, X86_INS_MOV: mov{q} $dst, rax */
0,
- { CS_AC_WRITE, CS_AC_IGNORE, 0 }
+ { CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_MOV64o64a, X86_INS_MOVABS: movabs{q} $dst, rax */
0,
- { CS_AC_WRITE, CS_AC_IGNORE, 0 }
+ { CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_MOV64rc, X86_INS_MOV: mov{q} $dst, $src */
0,
@@ -5851,11 +5851,11 @@
},
{ /* X86_MOV8ao16, X86_INS_MOV: mov{b} al, $src */
0,
- { CS_AC_IGNORE, CS_AC_READ, 0 }
+ { CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_MOV8ao32, X86_INS_MOV: mov{b} al, $src */
0,
- { CS_AC_IGNORE, CS_AC_READ, 0 }
+ { CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_MOV8ao64, X86_INS_MOVABS: movabs{b} al, $src */
0,
@@ -5875,15 +5875,15 @@
},
{ /* X86_MOV8o16a, X86_INS_MOV: mov{b} $dst, al */
0,
- { CS_AC_WRITE, CS_AC_IGNORE, 0 }
+ { CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_MOV8o32a, X86_INS_MOV: mov{b} $dst, al */
0,
- { CS_AC_WRITE, CS_AC_IGNORE, 0 }
+ { CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_MOV8o64a, X86_INS_MOVABS: movabs{b} $dst, al */
0,
- { CS_AC_WRITE, CS_AC_IGNORE, 0 }
+ { CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_MOV8ri, X86_INS_MOV: mov{b} $dst, $src */
0,
@@ -6195,7 +6195,7 @@
},
{ /* X86_MOVSSmr, X86_INS_MOVSS: movss $dst, $src */
X86_EFLAGS_TEST_DF,
- { CS_AC_READ, CS_AC_READ, 0 }
+ { CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_MOVSSrm, X86_INS_MOVSS: movss $dst, $src */
X86_EFLAGS_TEST_DF,
@@ -7803,7 +7803,7 @@
},
{ /* X86_POP16rmm, X86_INS_POP: pop{w} $dst */
0,
- { CS_AC_READ, 0 }
+ { CS_AC_WRITE, 0 }
},
{ /* X86_POP16rmr, X86_INS_POP: pop{w} $reg */
0,
@@ -7815,7 +7815,7 @@
},
{ /* X86_POP32rmm, X86_INS_POP: pop{l} $dst */
0,
- { CS_AC_READ, 0 }
+ { CS_AC_WRITE, 0 }
},
{ /* X86_POP32rmr, X86_INS_POP: pop{l} $reg */
0,
@@ -7827,7 +7827,7 @@
},
{ /* X86_POP64rmm, X86_INS_POP: pop{q} $dst */
0,
- { CS_AC_READ, 0 }
+ { CS_AC_WRITE, 0 }
},
{ /* X86_POP64rmr, X86_INS_POP: pop{q} $reg */
0,
@@ -33932,4 +33932,4 @@
{ /* X86_feni8087_nop, X86_INS_FENI8087_NOP: feni8087_nop */
0,
{ 0 }
-},
\ No newline at end of file
+},
diff --git a/arch/X86/X86MappingInsnOp_reduce.inc b/arch/X86/X86MappingInsnOp_reduce.inc
index 85695bd..5da3fd4 100644
--- a/arch/X86/X86MappingInsnOp_reduce.inc
+++ b/arch/X86/X86MappingInsnOp_reduce.inc
@@ -762,196 +762,196 @@
{ CS_AC_READ | CS_AC_WRITE, 0 }
},
{ /* X86_BT16mi8, X86_INS_BT: bt{w} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
{ CS_AC_READ, CS_AC_IGNORE, 0 }
},
{ /* X86_BT16mr, X86_INS_BT: bt{w} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
{ CS_AC_READ, CS_AC_READ, 0 }
},
{ /* X86_BT16ri8, X86_INS_BT: bt{w} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
{ CS_AC_READ, CS_AC_IGNORE, 0 }
},
{ /* X86_BT16rr, X86_INS_BT: bt{w} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
{ CS_AC_READ, CS_AC_READ, 0 }
},
{ /* X86_BT32mi8, X86_INS_BT: bt{l} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
{ CS_AC_READ, CS_AC_IGNORE, 0 }
},
{ /* X86_BT32mr, X86_INS_BT: bt{l} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
{ CS_AC_READ, CS_AC_READ, 0 }
},
{ /* X86_BT32ri8, X86_INS_BT: bt{l} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
{ CS_AC_READ, CS_AC_IGNORE, 0 }
},
{ /* X86_BT32rr, X86_INS_BT: bt{l} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
{ CS_AC_READ, CS_AC_READ, 0 }
},
{ /* X86_BT64mi8, X86_INS_BT: bt{q} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
{ CS_AC_READ, CS_AC_IGNORE, 0 }
},
{ /* X86_BT64mr, X86_INS_BT: bt{q} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
{ CS_AC_READ, CS_AC_READ, 0 }
},
{ /* X86_BT64ri8, X86_INS_BT: bt{q} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
{ CS_AC_READ, CS_AC_IGNORE, 0 }
},
{ /* X86_BT64rr, X86_INS_BT: bt{q} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
{ CS_AC_READ, CS_AC_READ, 0 }
},
{ /* X86_BTC16mi8, X86_INS_BTC: btc{w} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
- { CS_AC_READ, CS_AC_IGNORE, 0 }
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ { CS_AC_READ | CS_AC_WRITE, CS_AC_IGNORE, 0 }
},
{ /* X86_BTC16mr, X86_INS_BTC: btc{w} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
- { CS_AC_READ, CS_AC_READ, 0 }
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_BTC16ri8, X86_INS_BTC: btc{w} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
- { CS_AC_READ, CS_AC_IGNORE, 0 }
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ { CS_AC_READ | CS_AC_WRITE, CS_AC_IGNORE, 0 }
},
{ /* X86_BTC16rr, X86_INS_BTC: btc{w} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
- { CS_AC_READ, CS_AC_READ, 0 }
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_BTC32mi8, X86_INS_BTC: btc{l} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
- { CS_AC_READ, CS_AC_IGNORE, 0 }
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ { CS_AC_READ | CS_AC_WRITE, CS_AC_IGNORE, 0 }
},
{ /* X86_BTC32mr, X86_INS_BTC: btc{l} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
- { CS_AC_READ, CS_AC_READ, 0 }
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_BTC32ri8, X86_INS_BTC: btc{l} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
- { CS_AC_READ, CS_AC_IGNORE, 0 }
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ { CS_AC_READ | CS_AC_WRITE, CS_AC_IGNORE, 0 }
},
{ /* X86_BTC32rr, X86_INS_BTC: btc{l} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
- { CS_AC_READ, CS_AC_READ, 0 }
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_BTC64mi8, X86_INS_BTC: btc{q} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
- { CS_AC_READ, CS_AC_IGNORE, 0 }
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ { CS_AC_READ | CS_AC_WRITE, CS_AC_IGNORE, 0 }
},
{ /* X86_BTC64mr, X86_INS_BTC: btc{q} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
- { CS_AC_READ, CS_AC_READ, 0 }
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_BTC64ri8, X86_INS_BTC: btc{q} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
- { CS_AC_READ, CS_AC_IGNORE, 0 }
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ { CS_AC_READ | CS_AC_WRITE, CS_AC_IGNORE, 0 }
},
{ /* X86_BTC64rr, X86_INS_BTC: btc{q} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
- { CS_AC_READ, CS_AC_READ, 0 }
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_BTR16mi8, X86_INS_BTR: btr{w} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
- { CS_AC_READ, CS_AC_IGNORE, 0 }
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ { CS_AC_READ | CS_AC_WRITE, CS_AC_IGNORE, 0 }
},
{ /* X86_BTR16mr, X86_INS_BTR: btr{w} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
- { CS_AC_READ, CS_AC_READ, 0 }
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_BTR16ri8, X86_INS_BTR: btr{w} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
- { CS_AC_READ, CS_AC_IGNORE, 0 }
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ { CS_AC_READ | CS_AC_WRITE, CS_AC_IGNORE, 0 }
},
{ /* X86_BTR16rr, X86_INS_BTR: btr{w} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
- { CS_AC_READ, CS_AC_READ, 0 }
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_BTR32mi8, X86_INS_BTR: btr{l} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
- { CS_AC_READ, CS_AC_IGNORE, 0 }
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ { CS_AC_READ | CS_AC_WRITE, CS_AC_IGNORE, 0 }
},
{ /* X86_BTR32mr, X86_INS_BTR: btr{l} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
- { CS_AC_READ, CS_AC_READ, 0 }
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_BTR32ri8, X86_INS_BTR: btr{l} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
- { CS_AC_READ, CS_AC_IGNORE, 0 }
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ { CS_AC_READ | CS_AC_WRITE, CS_AC_IGNORE, 0 }
},
{ /* X86_BTR32rr, X86_INS_BTR: btr{l} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
- { CS_AC_READ, CS_AC_READ, 0 }
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_BTR64mi8, X86_INS_BTR: btr{q} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
- { CS_AC_READ, CS_AC_IGNORE, 0 }
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ { CS_AC_READ | CS_AC_WRITE, CS_AC_IGNORE, 0 }
},
{ /* X86_BTR64mr, X86_INS_BTR: btr{q} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
- { CS_AC_READ, CS_AC_READ, 0 }
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_BTR64ri8, X86_INS_BTR: btr{q} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
- { CS_AC_READ, CS_AC_IGNORE, 0 }
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ { CS_AC_READ | CS_AC_WRITE, CS_AC_IGNORE, 0 }
},
{ /* X86_BTR64rr, X86_INS_BTR: btr{q} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
- { CS_AC_READ, CS_AC_READ, 0 }
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_BTS16mi8, X86_INS_BTS: bts{w} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
- { CS_AC_READ, CS_AC_IGNORE, 0 }
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ { CS_AC_READ | CS_AC_WRITE, CS_AC_IGNORE, 0 }
},
{ /* X86_BTS16mr, X86_INS_BTS: bts{w} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
- { CS_AC_READ, CS_AC_READ, 0 }
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_BTS16ri8, X86_INS_BTS: bts{w} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
- { CS_AC_READ, CS_AC_IGNORE, 0 }
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ { CS_AC_READ | CS_AC_WRITE, CS_AC_IGNORE, 0 }
},
{ /* X86_BTS16rr, X86_INS_BTS: bts{w} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
- { CS_AC_READ, CS_AC_READ, 0 }
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_BTS32mi8, X86_INS_BTS: bts{l} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
- { CS_AC_READ, CS_AC_IGNORE, 0 }
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ { CS_AC_READ | CS_AC_WRITE, CS_AC_IGNORE, 0 }
},
{ /* X86_BTS32mr, X86_INS_BTS: bts{l} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
- { CS_AC_READ, CS_AC_READ, 0 }
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_BTS32ri8, X86_INS_BTS: bts{l} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
- { CS_AC_READ, CS_AC_IGNORE, 0 }
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ { CS_AC_READ | CS_AC_WRITE, CS_AC_IGNORE, 0 }
},
{ /* X86_BTS32rr, X86_INS_BTS: bts{l} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
- { CS_AC_READ, CS_AC_READ, 0 }
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_BTS64mi8, X86_INS_BTS: bts{q} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
- { CS_AC_READ, CS_AC_IGNORE, 0 }
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ { CS_AC_READ | CS_AC_WRITE, CS_AC_IGNORE, 0 }
},
{ /* X86_BTS64mr, X86_INS_BTS: bts{q} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
- { CS_AC_READ, CS_AC_READ, 0 }
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_BTS64ri8, X86_INS_BTS: bts{q} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
- { CS_AC_READ, CS_AC_IGNORE, 0 }
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ { CS_AC_READ | CS_AC_WRITE, CS_AC_IGNORE, 0 }
},
{ /* X86_BTS64rr, X86_INS_BTS: bts{q} $src1, $src2 */
- X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_ZF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
- { CS_AC_READ, CS_AC_READ, 0 }
+ X86_EFLAGS_UNDEFINED_OF | X86_EFLAGS_UNDEFINED_SF | X86_EFLAGS_UNDEFINED_AF | X86_EFLAGS_UNDEFINED_PF | X86_EFLAGS_MODIFY_CF,
+ { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_BZHI32rm, X86_INS_BZHI: bzhi{l} $dst, $src1, $src2 */
0,
@@ -2863,11 +2863,11 @@
},
{ /* X86_MOV16ao16, X86_INS_MOV: mov{w} ax, $src */
0,
- { CS_AC_IGNORE, CS_AC_READ, 0 }
+ { CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_MOV16ao32, X86_INS_MOV: mov{w} ax, $src */
0,
- { CS_AC_IGNORE, CS_AC_READ, 0 }
+ { CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_MOV16ao64, X86_INS_MOVABS: movabs{w} ax, $src */
0,
@@ -2887,15 +2887,15 @@
},
{ /* X86_MOV16o16a, X86_INS_MOV: mov{w} $dst, ax */
0,
- { CS_AC_WRITE, CS_AC_IGNORE, 0 }
+ { CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_MOV16o32a, X86_INS_MOV: mov{w} $dst, ax */
0,
- { CS_AC_WRITE, CS_AC_IGNORE, 0 }
+ { CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_MOV16o64a, X86_INS_MOVABS: movabs{w} $dst, ax */
0,
- { CS_AC_WRITE, CS_AC_IGNORE, 0 }
+ { CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_MOV16ri, X86_INS_MOV: mov{w} $dst, $src */
0,
@@ -2931,11 +2931,11 @@
},
{ /* X86_MOV32ao16, X86_INS_MOV: mov{l} eax, $src */
0,
- { CS_AC_IGNORE, CS_AC_READ, 0 }
+ { CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_MOV32ao32, X86_INS_MOV: mov{l} eax, $src */
0,
- { CS_AC_IGNORE, CS_AC_READ, 0 }
+ { CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_MOV32ao64, X86_INS_MOVABS: movabs{l} eax, $src */
0,
@@ -2963,15 +2963,15 @@
},
{ /* X86_MOV32o16a, X86_INS_MOV: mov{l} $dst, eax */
0,
- { CS_AC_WRITE, CS_AC_IGNORE, 0 }
+ { CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_MOV32o32a, X86_INS_MOV: mov{l} $dst, eax */
0,
- { CS_AC_WRITE, CS_AC_IGNORE, 0 }
+ { CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_MOV32o64a, X86_INS_MOVABS: movabs{l} $dst, eax */
0,
- { CS_AC_WRITE, CS_AC_IGNORE, 0 }
+ { CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_MOV32rc, X86_INS_MOV: mov{l} $dst, $src */
0,
@@ -3015,7 +3015,7 @@
},
{ /* X86_MOV64ao32, X86_INS_MOV: mov{q} rax, $src */
0,
- { CS_AC_IGNORE, CS_AC_READ, 0 }
+ { CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_MOV64ao64, X86_INS_MOVABS: movabs{q} rax, $src */
0,
@@ -3043,11 +3043,11 @@
},
{ /* X86_MOV64o32a, X86_INS_MOV: mov{q} $dst, rax */
0,
- { CS_AC_WRITE, CS_AC_IGNORE, 0 }
+ { CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_MOV64o64a, X86_INS_MOVABS: movabs{q} $dst, rax */
0,
- { CS_AC_WRITE, CS_AC_IGNORE, 0 }
+ { CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_MOV64rc, X86_INS_MOV: mov{q} $dst, $src */
0,
@@ -3091,11 +3091,11 @@
},
{ /* X86_MOV8ao16, X86_INS_MOV: mov{b} al, $src */
0,
- { CS_AC_IGNORE, CS_AC_READ, 0 }
+ { CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_MOV8ao32, X86_INS_MOV: mov{b} al, $src */
0,
- { CS_AC_IGNORE, CS_AC_READ, 0 }
+ { CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_MOV8ao64, X86_INS_MOVABS: movabs{b} al, $src */
0,
@@ -3115,15 +3115,15 @@
},
{ /* X86_MOV8o16a, X86_INS_MOV: mov{b} $dst, al */
0,
- { CS_AC_WRITE, CS_AC_IGNORE, 0 }
+ { CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_MOV8o32a, X86_INS_MOV: mov{b} $dst, al */
0,
- { CS_AC_WRITE, CS_AC_IGNORE, 0 }
+ { CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_MOV8o64a, X86_INS_MOVABS: movabs{b} $dst, al */
0,
- { CS_AC_WRITE, CS_AC_IGNORE, 0 }
+ { CS_AC_WRITE, CS_AC_READ, 0 }
},
{ /* X86_MOV8ri, X86_INS_MOV: mov{b} $dst, $src */
0,
@@ -3771,7 +3771,7 @@
},
{ /* X86_POP16rmm, X86_INS_POP: pop{w} $dst */
0,
- { CS_AC_READ, 0 }
+ { CS_AC_WRITE, 0 }
},
{ /* X86_POP16rmr, X86_INS_POP: pop{w} $reg */
0,
@@ -3783,7 +3783,7 @@
},
{ /* X86_POP32rmm, X86_INS_POP: pop{l} $dst */
0,
- { CS_AC_READ, 0 }
+ { CS_AC_WRITE, 0 }
},
{ /* X86_POP32rmr, X86_INS_POP: pop{l} $reg */
0,
@@ -3795,7 +3795,7 @@
},
{ /* X86_POP64rmm, X86_INS_POP: pop{q} $dst */
0,
- { CS_AC_READ, 0 }
+ { CS_AC_WRITE, 0 }
},
{ /* X86_POP64rmr, X86_INS_POP: pop{q} $reg */
0,
@@ -6232,4 +6232,4 @@
{ /* X86_XSTORE, X86_INS_XSTORE: xstore */
0,
{ 0 }
-},
\ No newline at end of file
+},
diff --git a/arch/XCore/XCoreGenAsmWriter.inc b/arch/XCore/XCoreGenAsmWriter.inc
index 85c2fee..95babb2 100644
--- a/arch/XCore/XCoreGenAsmWriter.inc
+++ b/arch/XCore/XCoreGenAsmWriter.inc
@@ -10,7 +10,7 @@
/* By Nguyen Anh Quynh <aquynh@gmail.com>, 2013-2015 */
#include <stdio.h> // debug
-#include "../../myinttypes.h"
+#include <capstone/platform.h>
/// printInstruction - This method is automatically generated by tablegen
diff --git a/arch/XCore/XCoreInstPrinter.c b/arch/XCore/XCoreInstPrinter.c
index c4c741f..c050c58 100644
--- a/arch/XCore/XCoreInstPrinter.c
+++ b/arch/XCore/XCoreInstPrinter.c
@@ -19,7 +19,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
-#include "../../myinttypes.h"
+#include <capstone/platform.h>
#include "XCoreInstPrinter.h"
#include "../../MCInst.h"
@@ -91,7 +91,7 @@
// base register
if (MI->csh->detail) {
MI->flat_insn->detail->xcore.operands[MI->flat_insn->detail->xcore.op_count].type = XCORE_OP_MEM;
- MI->flat_insn->detail->xcore.operands[MI->flat_insn->detail->xcore.op_count].mem.base = id;
+ MI->flat_insn->detail->xcore.operands[MI->flat_insn->detail->xcore.op_count].mem.base = (uint8_t)id;
MI->flat_insn->detail->xcore.operands[MI->flat_insn->detail->xcore.op_count].mem.index = XCORE_REG_INVALID;
MI->flat_insn->detail->xcore.operands[MI->flat_insn->detail->xcore.op_count].mem.disp = 0;
MI->flat_insn->detail->xcore.operands[MI->flat_insn->detail->xcore.op_count].mem.direct = 1;
@@ -109,7 +109,7 @@
if (id) {
// index register
if (MI->csh->detail) {
- MI->flat_insn->detail->xcore.operands[MI->flat_insn->detail->xcore.op_count].mem.index = id;
+ MI->flat_insn->detail->xcore.operands[MI->flat_insn->detail->xcore.op_count].mem.index = (uint8_t)id;
}
} else {
// a number means disp
@@ -160,7 +160,7 @@
if (reg != 0xffff && reg != -0xffff) {
MI->flat_insn->detail->xcore.operands[MI->flat_insn->detail->xcore.op_count].type = XCORE_OP_MEM;
if (reg) {
- MI->flat_insn->detail->xcore.operands[MI->flat_insn->detail->xcore.op_count].mem.base = reg;
+ MI->flat_insn->detail->xcore.operands[MI->flat_insn->detail->xcore.op_count].mem.base = (uint8_t)reg;
} else {
MI->flat_insn->detail->xcore.operands[MI->flat_insn->detail->xcore.op_count].mem.base = XCORE_REG_INVALID;
}
@@ -171,7 +171,7 @@
// the last op should be the memory base
MI->flat_insn->detail->xcore.op_count--;
MI->flat_insn->detail->xcore.operands[MI->flat_insn->detail->xcore.op_count].type = XCORE_OP_MEM;
- MI->flat_insn->detail->xcore.operands[MI->flat_insn->detail->xcore.op_count].mem.base = MI->flat_insn->detail->xcore.operands[MI->flat_insn->detail->xcore.op_count].reg;
+ MI->flat_insn->detail->xcore.operands[MI->flat_insn->detail->xcore.op_count].mem.base = (uint8_t)MI->flat_insn->detail->xcore.operands[MI->flat_insn->detail->xcore.op_count].reg;
MI->flat_insn->detail->xcore.operands[MI->flat_insn->detail->xcore.op_count].mem.index = XCORE_REG_INVALID;
MI->flat_insn->detail->xcore.operands[MI->flat_insn->detail->xcore.op_count].mem.disp = 0;
if (reg > 0)
@@ -181,7 +181,7 @@
}
} else {
if (reg) {
- MI->flat_insn->detail->xcore.operands[MI->flat_insn->detail->xcore.op_count].mem.index = reg;
+ MI->flat_insn->detail->xcore.operands[MI->flat_insn->detail->xcore.op_count].mem.index = (uint8_t)reg;
// done, create the next operand slot
MI->flat_insn->detail->xcore.op_count++;
}
@@ -199,9 +199,9 @@
if (MI->csh->detail) {
if (MI->csh->doing_mem) {
if (MI->flat_insn->detail->xcore.operands[MI->flat_insn->detail->xcore.op_count].mem.base == ARM_REG_INVALID)
- MI->flat_insn->detail->xcore.operands[MI->flat_insn->detail->xcore.op_count].mem.base = reg;
+ MI->flat_insn->detail->xcore.operands[MI->flat_insn->detail->xcore.op_count].mem.base = (uint8_t)reg;
else
- MI->flat_insn->detail->xcore.operands[MI->flat_insn->detail->xcore.op_count].mem.index = reg;
+ MI->flat_insn->detail->xcore.operands[MI->flat_insn->detail->xcore.op_count].mem.index = (uint8_t)reg;
} else {
MI->flat_insn->detail->xcore.operands[MI->flat_insn->detail->xcore.op_count].type = XCORE_OP_REG;
MI->flat_insn->detail->xcore.operands[MI->flat_insn->detail->xcore.op_count].reg = reg;
diff --git a/bindings/java/capstone/M68k_const.java b/bindings/java/capstone/M68k_const.java
index 39402f2..883681f 100644
--- a/bindings/java/capstone/M68k_const.java
+++ b/bindings/java/capstone/M68k_const.java
@@ -75,7 +75,7 @@
public static final int M68K_AM_PC_MEMI_PRE_INDEX = 15;
public static final int M68K_AM_ABSOLUTE_DATA_SHORT = 16;
public static final int M68K_AM_ABSOLUTE_DATA_LONG = 17;
- public static final int M68K_AM_IMMIDIATE = 18;
+ public static final int M68K_AM_IMMEDIATE = 18;
// Operand type for instruction's operands
@@ -83,9 +83,10 @@
public static final int M68K_OP_REG = 1;
public static final int M68K_OP_IMM = 2;
public static final int M68K_OP_MEM = 3;
- public static final int M68K_OP_FP = 4;
- public static final int M68K_OP_REG_BITS = 5;
- public static final int M68K_OP_REG_PAIR = 6;
+ public static final int M68K_OP_FP_SINGLE = 4;
+ public static final int M68K_OP_FP_DOUBLE = 5;
+ public static final int M68K_OP_REG_BITS = 6;
+ public static final int M68K_OP_REG_PAIR = 7;
public static final int M68K_CPU_SIZE_NONE = 0;
public static final int M68K_CPU_SIZE_BYTE = 1;
diff --git a/bindings/java/capstone/Mips_const.java b/bindings/java/capstone/Mips_const.java
index e13e3c0..fcbc669 100644
--- a/bindings/java/capstone/Mips_const.java
+++ b/bindings/java/capstone/Mips_const.java
@@ -844,6 +844,11 @@
// Generic groups
public static final int MIPS_GRP_JUMP = 1;
+ public static final int MIPS_GRP_CALL = 2;
+ public static final int MIPS_GRP_RET = 3;
+ public static final int MIPS_GRP_INT = 4;
+ public static final int MIPS_GRP_IRET = 5;
+ public static final int MIPS_GRP_PRIVILEGE = 6;
// Architecture-specific groups
public static final int MIPS_GRP_BITCOUNT = 128;
diff --git a/bindings/java/capstone/X86_const.java b/bindings/java/capstone/X86_const.java
index 850e8a4..c5d5542 100644
--- a/bindings/java/capstone/X86_const.java
+++ b/bindings/java/capstone/X86_const.java
@@ -492,1249 +492,1409 @@
public static final int X86_INS_FCMOVU = 93;
public static final int X86_INS_CMOVS = 94;
public static final int X86_INS_CMP = 95;
- public static final int X86_INS_CMPPD = 96;
- public static final int X86_INS_CMPPS = 97;
- public static final int X86_INS_CMPSB = 98;
- public static final int X86_INS_CMPSD = 99;
- public static final int X86_INS_CMPSQ = 100;
- public static final int X86_INS_CMPSS = 101;
- public static final int X86_INS_CMPSW = 102;
- public static final int X86_INS_CMPXCHG16B = 103;
- public static final int X86_INS_CMPXCHG = 104;
- public static final int X86_INS_CMPXCHG8B = 105;
- public static final int X86_INS_COMISD = 106;
- public static final int X86_INS_COMISS = 107;
- public static final int X86_INS_FCOMP = 108;
- public static final int X86_INS_FCOMPI = 109;
- public static final int X86_INS_FCOMI = 110;
- public static final int X86_INS_FCOM = 111;
- public static final int X86_INS_FCOS = 112;
- public static final int X86_INS_CPUID = 113;
- public static final int X86_INS_CQO = 114;
- public static final int X86_INS_CRC32 = 115;
- public static final int X86_INS_CVTDQ2PD = 116;
- public static final int X86_INS_CVTDQ2PS = 117;
- public static final int X86_INS_CVTPD2DQ = 118;
- public static final int X86_INS_CVTPD2PS = 119;
- public static final int X86_INS_CVTPS2DQ = 120;
- public static final int X86_INS_CVTPS2PD = 121;
- public static final int X86_INS_CVTSD2SI = 122;
- public static final int X86_INS_CVTSD2SS = 123;
- public static final int X86_INS_CVTSI2SD = 124;
- public static final int X86_INS_CVTSI2SS = 125;
- public static final int X86_INS_CVTSS2SD = 126;
- public static final int X86_INS_CVTSS2SI = 127;
- public static final int X86_INS_CVTTPD2DQ = 128;
- public static final int X86_INS_CVTTPS2DQ = 129;
- public static final int X86_INS_CVTTSD2SI = 130;
- public static final int X86_INS_CVTTSS2SI = 131;
- public static final int X86_INS_CWD = 132;
- public static final int X86_INS_CWDE = 133;
- public static final int X86_INS_DAA = 134;
- public static final int X86_INS_DAS = 135;
- public static final int X86_INS_DATA16 = 136;
- public static final int X86_INS_DEC = 137;
- public static final int X86_INS_DIV = 138;
- public static final int X86_INS_DIVPD = 139;
- public static final int X86_INS_DIVPS = 140;
- public static final int X86_INS_FDIVR = 141;
- public static final int X86_INS_FIDIVR = 142;
- public static final int X86_INS_FDIVRP = 143;
- public static final int X86_INS_DIVSD = 144;
- public static final int X86_INS_DIVSS = 145;
- public static final int X86_INS_FDIV = 146;
- public static final int X86_INS_FIDIV = 147;
- public static final int X86_INS_FDIVP = 148;
- public static final int X86_INS_DPPD = 149;
- public static final int X86_INS_DPPS = 150;
- public static final int X86_INS_RET = 151;
- public static final int X86_INS_ENCLS = 152;
- public static final int X86_INS_ENCLU = 153;
- public static final int X86_INS_ENTER = 154;
- public static final int X86_INS_EXTRACTPS = 155;
- public static final int X86_INS_EXTRQ = 156;
- public static final int X86_INS_F2XM1 = 157;
- public static final int X86_INS_LCALL = 158;
- public static final int X86_INS_LJMP = 159;
- public static final int X86_INS_FBLD = 160;
- public static final int X86_INS_FBSTP = 161;
- public static final int X86_INS_FCOMPP = 162;
- public static final int X86_INS_FDECSTP = 163;
- public static final int X86_INS_FEMMS = 164;
- public static final int X86_INS_FFREE = 165;
- public static final int X86_INS_FICOM = 166;
- public static final int X86_INS_FICOMP = 167;
- public static final int X86_INS_FINCSTP = 168;
- public static final int X86_INS_FLDCW = 169;
- public static final int X86_INS_FLDENV = 170;
- public static final int X86_INS_FLDL2E = 171;
- public static final int X86_INS_FLDL2T = 172;
- public static final int X86_INS_FLDLG2 = 173;
- public static final int X86_INS_FLDLN2 = 174;
- public static final int X86_INS_FLDPI = 175;
- public static final int X86_INS_FNCLEX = 176;
- public static final int X86_INS_FNINIT = 177;
- public static final int X86_INS_FNOP = 178;
- public static final int X86_INS_FNSTCW = 179;
- public static final int X86_INS_FNSTSW = 180;
- public static final int X86_INS_FPATAN = 181;
- public static final int X86_INS_FPREM = 182;
- public static final int X86_INS_FPREM1 = 183;
- public static final int X86_INS_FPTAN = 184;
- public static final int X86_INS_FFREEP = 185;
- public static final int X86_INS_FRNDINT = 186;
- public static final int X86_INS_FRSTOR = 187;
- public static final int X86_INS_FNSAVE = 188;
- public static final int X86_INS_FSCALE = 189;
- public static final int X86_INS_FSETPM = 190;
- public static final int X86_INS_FSINCOS = 191;
- public static final int X86_INS_FNSTENV = 192;
- public static final int X86_INS_FXAM = 193;
- public static final int X86_INS_FXRSTOR = 194;
- public static final int X86_INS_FXRSTOR64 = 195;
- public static final int X86_INS_FXSAVE = 196;
- public static final int X86_INS_FXSAVE64 = 197;
- public static final int X86_INS_FXTRACT = 198;
- public static final int X86_INS_FYL2X = 199;
- public static final int X86_INS_FYL2XP1 = 200;
- public static final int X86_INS_MOVAPD = 201;
- public static final int X86_INS_MOVAPS = 202;
- public static final int X86_INS_ORPD = 203;
- public static final int X86_INS_ORPS = 204;
- public static final int X86_INS_VMOVAPD = 205;
- public static final int X86_INS_VMOVAPS = 206;
- public static final int X86_INS_XORPD = 207;
- public static final int X86_INS_XORPS = 208;
- public static final int X86_INS_GETSEC = 209;
- public static final int X86_INS_HADDPD = 210;
- public static final int X86_INS_HADDPS = 211;
- public static final int X86_INS_HLT = 212;
- public static final int X86_INS_HSUBPD = 213;
- public static final int X86_INS_HSUBPS = 214;
- public static final int X86_INS_IDIV = 215;
- public static final int X86_INS_FILD = 216;
- public static final int X86_INS_IMUL = 217;
- public static final int X86_INS_IN = 218;
- public static final int X86_INS_INC = 219;
- public static final int X86_INS_INSB = 220;
- public static final int X86_INS_INSERTPS = 221;
- public static final int X86_INS_INSERTQ = 222;
- public static final int X86_INS_INSD = 223;
- public static final int X86_INS_INSW = 224;
- public static final int X86_INS_INT = 225;
- public static final int X86_INS_INT1 = 226;
- public static final int X86_INS_INT3 = 227;
- public static final int X86_INS_INTO = 228;
- public static final int X86_INS_INVD = 229;
- public static final int X86_INS_INVEPT = 230;
- public static final int X86_INS_INVLPG = 231;
- public static final int X86_INS_INVLPGA = 232;
- public static final int X86_INS_INVPCID = 233;
- public static final int X86_INS_INVVPID = 234;
- public static final int X86_INS_IRET = 235;
- public static final int X86_INS_IRETD = 236;
- public static final int X86_INS_IRETQ = 237;
- public static final int X86_INS_FISTTP = 238;
- public static final int X86_INS_FIST = 239;
- public static final int X86_INS_FISTP = 240;
- public static final int X86_INS_UCOMISD = 241;
- public static final int X86_INS_UCOMISS = 242;
- public static final int X86_INS_VCOMISD = 243;
- public static final int X86_INS_VCOMISS = 244;
- public static final int X86_INS_VCVTSD2SS = 245;
- public static final int X86_INS_VCVTSI2SD = 246;
- public static final int X86_INS_VCVTSI2SS = 247;
- public static final int X86_INS_VCVTSS2SD = 248;
- public static final int X86_INS_VCVTTSD2SI = 249;
- public static final int X86_INS_VCVTTSD2USI = 250;
- public static final int X86_INS_VCVTTSS2SI = 251;
- public static final int X86_INS_VCVTTSS2USI = 252;
- public static final int X86_INS_VCVTUSI2SD = 253;
- public static final int X86_INS_VCVTUSI2SS = 254;
- public static final int X86_INS_VUCOMISD = 255;
- public static final int X86_INS_VUCOMISS = 256;
- public static final int X86_INS_JAE = 257;
- public static final int X86_INS_JA = 258;
- public static final int X86_INS_JBE = 259;
- public static final int X86_INS_JB = 260;
- public static final int X86_INS_JCXZ = 261;
- public static final int X86_INS_JECXZ = 262;
- public static final int X86_INS_JE = 263;
- public static final int X86_INS_JGE = 264;
- public static final int X86_INS_JG = 265;
- public static final int X86_INS_JLE = 266;
- public static final int X86_INS_JL = 267;
- public static final int X86_INS_JMP = 268;
- public static final int X86_INS_JNE = 269;
- public static final int X86_INS_JNO = 270;
- public static final int X86_INS_JNP = 271;
- public static final int X86_INS_JNS = 272;
- public static final int X86_INS_JO = 273;
- public static final int X86_INS_JP = 274;
- public static final int X86_INS_JRCXZ = 275;
- public static final int X86_INS_JS = 276;
- public static final int X86_INS_KANDB = 277;
- public static final int X86_INS_KANDD = 278;
- public static final int X86_INS_KANDNB = 279;
- public static final int X86_INS_KANDND = 280;
- public static final int X86_INS_KANDNQ = 281;
- public static final int X86_INS_KANDNW = 282;
- public static final int X86_INS_KANDQ = 283;
- public static final int X86_INS_KANDW = 284;
- public static final int X86_INS_KMOVB = 285;
- public static final int X86_INS_KMOVD = 286;
- public static final int X86_INS_KMOVQ = 287;
- public static final int X86_INS_KMOVW = 288;
- public static final int X86_INS_KNOTB = 289;
- public static final int X86_INS_KNOTD = 290;
- public static final int X86_INS_KNOTQ = 291;
- public static final int X86_INS_KNOTW = 292;
- public static final int X86_INS_KORB = 293;
- public static final int X86_INS_KORD = 294;
- public static final int X86_INS_KORQ = 295;
- public static final int X86_INS_KORTESTB = 296;
- public static final int X86_INS_KORTESTD = 297;
- public static final int X86_INS_KORTESTQ = 298;
- public static final int X86_INS_KORTESTW = 299;
- public static final int X86_INS_KORW = 300;
- public static final int X86_INS_KSHIFTLB = 301;
- public static final int X86_INS_KSHIFTLD = 302;
- public static final int X86_INS_KSHIFTLQ = 303;
- public static final int X86_INS_KSHIFTLW = 304;
- public static final int X86_INS_KSHIFTRB = 305;
- public static final int X86_INS_KSHIFTRD = 306;
- public static final int X86_INS_KSHIFTRQ = 307;
- public static final int X86_INS_KSHIFTRW = 308;
- public static final int X86_INS_KUNPCKBW = 309;
- public static final int X86_INS_KXNORB = 310;
- public static final int X86_INS_KXNORD = 311;
- public static final int X86_INS_KXNORQ = 312;
- public static final int X86_INS_KXNORW = 313;
- public static final int X86_INS_KXORB = 314;
- public static final int X86_INS_KXORD = 315;
- public static final int X86_INS_KXORQ = 316;
- public static final int X86_INS_KXORW = 317;
- public static final int X86_INS_LAHF = 318;
- public static final int X86_INS_LAR = 319;
- public static final int X86_INS_LDDQU = 320;
- public static final int X86_INS_LDMXCSR = 321;
- public static final int X86_INS_LDS = 322;
- public static final int X86_INS_FLDZ = 323;
- public static final int X86_INS_FLD1 = 324;
- public static final int X86_INS_FLD = 325;
- public static final int X86_INS_LEA = 326;
- public static final int X86_INS_LEAVE = 327;
- public static final int X86_INS_LES = 328;
- public static final int X86_INS_LFENCE = 329;
- public static final int X86_INS_LFS = 330;
- public static final int X86_INS_LGDT = 331;
- public static final int X86_INS_LGS = 332;
- public static final int X86_INS_LIDT = 333;
- public static final int X86_INS_LLDT = 334;
- public static final int X86_INS_LMSW = 335;
- public static final int X86_INS_OR = 336;
- public static final int X86_INS_SUB = 337;
- public static final int X86_INS_XOR = 338;
- public static final int X86_INS_LODSB = 339;
- public static final int X86_INS_LODSD = 340;
- public static final int X86_INS_LODSQ = 341;
- public static final int X86_INS_LODSW = 342;
- public static final int X86_INS_LOOP = 343;
- public static final int X86_INS_LOOPE = 344;
- public static final int X86_INS_LOOPNE = 345;
- public static final int X86_INS_RETF = 346;
- public static final int X86_INS_RETFQ = 347;
- public static final int X86_INS_LSL = 348;
- public static final int X86_INS_LSS = 349;
- public static final int X86_INS_LTR = 350;
- public static final int X86_INS_XADD = 351;
- public static final int X86_INS_LZCNT = 352;
- public static final int X86_INS_MASKMOVDQU = 353;
- public static final int X86_INS_MAXPD = 354;
- public static final int X86_INS_MAXPS = 355;
- public static final int X86_INS_MAXSD = 356;
- public static final int X86_INS_MAXSS = 357;
- public static final int X86_INS_MFENCE = 358;
- public static final int X86_INS_MINPD = 359;
- public static final int X86_INS_MINPS = 360;
- public static final int X86_INS_MINSD = 361;
- public static final int X86_INS_MINSS = 362;
- public static final int X86_INS_CVTPD2PI = 363;
- public static final int X86_INS_CVTPI2PD = 364;
- public static final int X86_INS_CVTPI2PS = 365;
- public static final int X86_INS_CVTPS2PI = 366;
- public static final int X86_INS_CVTTPD2PI = 367;
- public static final int X86_INS_CVTTPS2PI = 368;
- public static final int X86_INS_EMMS = 369;
- public static final int X86_INS_MASKMOVQ = 370;
- public static final int X86_INS_MOVD = 371;
- public static final int X86_INS_MOVDQ2Q = 372;
- public static final int X86_INS_MOVNTQ = 373;
- public static final int X86_INS_MOVQ2DQ = 374;
- public static final int X86_INS_MOVQ = 375;
- public static final int X86_INS_PABSB = 376;
- public static final int X86_INS_PABSD = 377;
- public static final int X86_INS_PABSW = 378;
- public static final int X86_INS_PACKSSDW = 379;
- public static final int X86_INS_PACKSSWB = 380;
- public static final int X86_INS_PACKUSWB = 381;
- public static final int X86_INS_PADDB = 382;
- public static final int X86_INS_PADDD = 383;
- public static final int X86_INS_PADDQ = 384;
- public static final int X86_INS_PADDSB = 385;
- public static final int X86_INS_PADDSW = 386;
- public static final int X86_INS_PADDUSB = 387;
- public static final int X86_INS_PADDUSW = 388;
- public static final int X86_INS_PADDW = 389;
- public static final int X86_INS_PALIGNR = 390;
- public static final int X86_INS_PANDN = 391;
- public static final int X86_INS_PAND = 392;
- public static final int X86_INS_PAVGB = 393;
- public static final int X86_INS_PAVGW = 394;
- public static final int X86_INS_PCMPEQB = 395;
- public static final int X86_INS_PCMPEQD = 396;
- public static final int X86_INS_PCMPEQW = 397;
- public static final int X86_INS_PCMPGTB = 398;
- public static final int X86_INS_PCMPGTD = 399;
- public static final int X86_INS_PCMPGTW = 400;
- public static final int X86_INS_PEXTRW = 401;
- public static final int X86_INS_PHADDSW = 402;
- public static final int X86_INS_PHADDW = 403;
- public static final int X86_INS_PHADDD = 404;
- public static final int X86_INS_PHSUBD = 405;
- public static final int X86_INS_PHSUBSW = 406;
- public static final int X86_INS_PHSUBW = 407;
- public static final int X86_INS_PINSRW = 408;
- public static final int X86_INS_PMADDUBSW = 409;
- public static final int X86_INS_PMADDWD = 410;
- public static final int X86_INS_PMAXSW = 411;
- public static final int X86_INS_PMAXUB = 412;
- public static final int X86_INS_PMINSW = 413;
- public static final int X86_INS_PMINUB = 414;
- public static final int X86_INS_PMOVMSKB = 415;
- public static final int X86_INS_PMULHRSW = 416;
- public static final int X86_INS_PMULHUW = 417;
- public static final int X86_INS_PMULHW = 418;
- public static final int X86_INS_PMULLW = 419;
- public static final int X86_INS_PMULUDQ = 420;
- public static final int X86_INS_POR = 421;
- public static final int X86_INS_PSADBW = 422;
- public static final int X86_INS_PSHUFB = 423;
- public static final int X86_INS_PSHUFW = 424;
- public static final int X86_INS_PSIGNB = 425;
- public static final int X86_INS_PSIGND = 426;
- public static final int X86_INS_PSIGNW = 427;
- public static final int X86_INS_PSLLD = 428;
- public static final int X86_INS_PSLLQ = 429;
- public static final int X86_INS_PSLLW = 430;
- public static final int X86_INS_PSRAD = 431;
- public static final int X86_INS_PSRAW = 432;
- public static final int X86_INS_PSRLD = 433;
- public static final int X86_INS_PSRLQ = 434;
- public static final int X86_INS_PSRLW = 435;
- public static final int X86_INS_PSUBB = 436;
- public static final int X86_INS_PSUBD = 437;
- public static final int X86_INS_PSUBQ = 438;
- public static final int X86_INS_PSUBSB = 439;
- public static final int X86_INS_PSUBSW = 440;
- public static final int X86_INS_PSUBUSB = 441;
- public static final int X86_INS_PSUBUSW = 442;
- public static final int X86_INS_PSUBW = 443;
- public static final int X86_INS_PUNPCKHBW = 444;
- public static final int X86_INS_PUNPCKHDQ = 445;
- public static final int X86_INS_PUNPCKHWD = 446;
- public static final int X86_INS_PUNPCKLBW = 447;
- public static final int X86_INS_PUNPCKLDQ = 448;
- public static final int X86_INS_PUNPCKLWD = 449;
- public static final int X86_INS_PXOR = 450;
- public static final int X86_INS_MONITOR = 451;
- public static final int X86_INS_MONTMUL = 452;
- public static final int X86_INS_MOV = 453;
- public static final int X86_INS_MOVABS = 454;
- public static final int X86_INS_MOVBE = 455;
- public static final int X86_INS_MOVDDUP = 456;
- public static final int X86_INS_MOVDQA = 457;
- public static final int X86_INS_MOVDQU = 458;
- public static final int X86_INS_MOVHLPS = 459;
- public static final int X86_INS_MOVHPD = 460;
- public static final int X86_INS_MOVHPS = 461;
- public static final int X86_INS_MOVLHPS = 462;
- public static final int X86_INS_MOVLPD = 463;
- public static final int X86_INS_MOVLPS = 464;
- public static final int X86_INS_MOVMSKPD = 465;
- public static final int X86_INS_MOVMSKPS = 466;
- public static final int X86_INS_MOVNTDQA = 467;
- public static final int X86_INS_MOVNTDQ = 468;
- public static final int X86_INS_MOVNTI = 469;
- public static final int X86_INS_MOVNTPD = 470;
- public static final int X86_INS_MOVNTPS = 471;
- public static final int X86_INS_MOVNTSD = 472;
- public static final int X86_INS_MOVNTSS = 473;
- public static final int X86_INS_MOVSB = 474;
- public static final int X86_INS_MOVSD = 475;
- public static final int X86_INS_MOVSHDUP = 476;
- public static final int X86_INS_MOVSLDUP = 477;
- public static final int X86_INS_MOVSQ = 478;
- public static final int X86_INS_MOVSS = 479;
- public static final int X86_INS_MOVSW = 480;
- public static final int X86_INS_MOVSX = 481;
- public static final int X86_INS_MOVSXD = 482;
- public static final int X86_INS_MOVUPD = 483;
- public static final int X86_INS_MOVUPS = 484;
- public static final int X86_INS_MOVZX = 485;
- public static final int X86_INS_MPSADBW = 486;
- public static final int X86_INS_MUL = 487;
- public static final int X86_INS_MULPD = 488;
- public static final int X86_INS_MULPS = 489;
- public static final int X86_INS_MULSD = 490;
- public static final int X86_INS_MULSS = 491;
- public static final int X86_INS_MULX = 492;
- public static final int X86_INS_FMUL = 493;
- public static final int X86_INS_FIMUL = 494;
- public static final int X86_INS_FMULP = 495;
- public static final int X86_INS_MWAIT = 496;
- public static final int X86_INS_NEG = 497;
- public static final int X86_INS_NOP = 498;
- public static final int X86_INS_NOT = 499;
- public static final int X86_INS_OUT = 500;
- public static final int X86_INS_OUTSB = 501;
- public static final int X86_INS_OUTSD = 502;
- public static final int X86_INS_OUTSW = 503;
- public static final int X86_INS_PACKUSDW = 504;
- public static final int X86_INS_PAUSE = 505;
- public static final int X86_INS_PAVGUSB = 506;
- public static final int X86_INS_PBLENDVB = 507;
- public static final int X86_INS_PBLENDW = 508;
- public static final int X86_INS_PCLMULQDQ = 509;
- public static final int X86_INS_PCMPEQQ = 510;
- public static final int X86_INS_PCMPESTRI = 511;
- public static final int X86_INS_PCMPESTRM = 512;
- public static final int X86_INS_PCMPGTQ = 513;
- public static final int X86_INS_PCMPISTRI = 514;
- public static final int X86_INS_PCMPISTRM = 515;
- public static final int X86_INS_PCOMMIT = 516;
- public static final int X86_INS_PDEP = 517;
- public static final int X86_INS_PEXT = 518;
- public static final int X86_INS_PEXTRB = 519;
- public static final int X86_INS_PEXTRD = 520;
- public static final int X86_INS_PEXTRQ = 521;
- public static final int X86_INS_PF2ID = 522;
- public static final int X86_INS_PF2IW = 523;
- public static final int X86_INS_PFACC = 524;
- public static final int X86_INS_PFADD = 525;
- public static final int X86_INS_PFCMPEQ = 526;
- public static final int X86_INS_PFCMPGE = 527;
- public static final int X86_INS_PFCMPGT = 528;
- public static final int X86_INS_PFMAX = 529;
- public static final int X86_INS_PFMIN = 530;
- public static final int X86_INS_PFMUL = 531;
- public static final int X86_INS_PFNACC = 532;
- public static final int X86_INS_PFPNACC = 533;
- public static final int X86_INS_PFRCPIT1 = 534;
- public static final int X86_INS_PFRCPIT2 = 535;
- public static final int X86_INS_PFRCP = 536;
- public static final int X86_INS_PFRSQIT1 = 537;
- public static final int X86_INS_PFRSQRT = 538;
- public static final int X86_INS_PFSUBR = 539;
- public static final int X86_INS_PFSUB = 540;
- public static final int X86_INS_PHMINPOSUW = 541;
- public static final int X86_INS_PI2FD = 542;
- public static final int X86_INS_PI2FW = 543;
- public static final int X86_INS_PINSRB = 544;
- public static final int X86_INS_PINSRD = 545;
- public static final int X86_INS_PINSRQ = 546;
- public static final int X86_INS_PMAXSB = 547;
- public static final int X86_INS_PMAXSD = 548;
- public static final int X86_INS_PMAXUD = 549;
- public static final int X86_INS_PMAXUW = 550;
- public static final int X86_INS_PMINSB = 551;
- public static final int X86_INS_PMINSD = 552;
- public static final int X86_INS_PMINUD = 553;
- public static final int X86_INS_PMINUW = 554;
- public static final int X86_INS_PMOVSXBD = 555;
- public static final int X86_INS_PMOVSXBQ = 556;
- public static final int X86_INS_PMOVSXBW = 557;
- public static final int X86_INS_PMOVSXDQ = 558;
- public static final int X86_INS_PMOVSXWD = 559;
- public static final int X86_INS_PMOVSXWQ = 560;
- public static final int X86_INS_PMOVZXBD = 561;
- public static final int X86_INS_PMOVZXBQ = 562;
- public static final int X86_INS_PMOVZXBW = 563;
- public static final int X86_INS_PMOVZXDQ = 564;
- public static final int X86_INS_PMOVZXWD = 565;
- public static final int X86_INS_PMOVZXWQ = 566;
- public static final int X86_INS_PMULDQ = 567;
- public static final int X86_INS_PMULHRW = 568;
- public static final int X86_INS_PMULLD = 569;
- public static final int X86_INS_POP = 570;
- public static final int X86_INS_POPAW = 571;
- public static final int X86_INS_POPAL = 572;
- public static final int X86_INS_POPCNT = 573;
- public static final int X86_INS_POPF = 574;
- public static final int X86_INS_POPFD = 575;
- public static final int X86_INS_POPFQ = 576;
- public static final int X86_INS_PREFETCH = 577;
- public static final int X86_INS_PREFETCHNTA = 578;
- public static final int X86_INS_PREFETCHT0 = 579;
- public static final int X86_INS_PREFETCHT1 = 580;
- public static final int X86_INS_PREFETCHT2 = 581;
- public static final int X86_INS_PREFETCHW = 582;
- public static final int X86_INS_PSHUFD = 583;
- public static final int X86_INS_PSHUFHW = 584;
- public static final int X86_INS_PSHUFLW = 585;
- public static final int X86_INS_PSLLDQ = 586;
- public static final int X86_INS_PSRLDQ = 587;
- public static final int X86_INS_PSWAPD = 588;
- public static final int X86_INS_PTEST = 589;
- public static final int X86_INS_PUNPCKHQDQ = 590;
- public static final int X86_INS_PUNPCKLQDQ = 591;
- public static final int X86_INS_PUSH = 592;
- public static final int X86_INS_PUSHAW = 593;
- public static final int X86_INS_PUSHAL = 594;
- public static final int X86_INS_PUSHF = 595;
- public static final int X86_INS_PUSHFD = 596;
- public static final int X86_INS_PUSHFQ = 597;
- public static final int X86_INS_RCL = 598;
- public static final int X86_INS_RCPPS = 599;
- public static final int X86_INS_RCPSS = 600;
- public static final int X86_INS_RCR = 601;
- public static final int X86_INS_RDFSBASE = 602;
- public static final int X86_INS_RDGSBASE = 603;
- public static final int X86_INS_RDMSR = 604;
- public static final int X86_INS_RDPMC = 605;
- public static final int X86_INS_RDRAND = 606;
- public static final int X86_INS_RDSEED = 607;
- public static final int X86_INS_RDTSC = 608;
- public static final int X86_INS_RDTSCP = 609;
- public static final int X86_INS_ROL = 610;
- public static final int X86_INS_ROR = 611;
- public static final int X86_INS_RORX = 612;
- public static final int X86_INS_ROUNDPD = 613;
- public static final int X86_INS_ROUNDPS = 614;
- public static final int X86_INS_ROUNDSD = 615;
- public static final int X86_INS_ROUNDSS = 616;
- public static final int X86_INS_RSM = 617;
- public static final int X86_INS_RSQRTPS = 618;
- public static final int X86_INS_RSQRTSS = 619;
- public static final int X86_INS_SAHF = 620;
- public static final int X86_INS_SAL = 621;
- public static final int X86_INS_SALC = 622;
- public static final int X86_INS_SAR = 623;
- public static final int X86_INS_SARX = 624;
- public static final int X86_INS_SBB = 625;
- public static final int X86_INS_SCASB = 626;
- public static final int X86_INS_SCASD = 627;
- public static final int X86_INS_SCASQ = 628;
- public static final int X86_INS_SCASW = 629;
- public static final int X86_INS_SETAE = 630;
- public static final int X86_INS_SETA = 631;
- public static final int X86_INS_SETBE = 632;
- public static final int X86_INS_SETB = 633;
- public static final int X86_INS_SETE = 634;
- public static final int X86_INS_SETGE = 635;
- public static final int X86_INS_SETG = 636;
- public static final int X86_INS_SETLE = 637;
- public static final int X86_INS_SETL = 638;
- public static final int X86_INS_SETNE = 639;
- public static final int X86_INS_SETNO = 640;
- public static final int X86_INS_SETNP = 641;
- public static final int X86_INS_SETNS = 642;
- public static final int X86_INS_SETO = 643;
- public static final int X86_INS_SETP = 644;
- public static final int X86_INS_SETS = 645;
- public static final int X86_INS_SFENCE = 646;
- public static final int X86_INS_SGDT = 647;
- public static final int X86_INS_SHA1MSG1 = 648;
- public static final int X86_INS_SHA1MSG2 = 649;
- public static final int X86_INS_SHA1NEXTE = 650;
- public static final int X86_INS_SHA1RNDS4 = 651;
- public static final int X86_INS_SHA256MSG1 = 652;
- public static final int X86_INS_SHA256MSG2 = 653;
- public static final int X86_INS_SHA256RNDS2 = 654;
- public static final int X86_INS_SHL = 655;
- public static final int X86_INS_SHLD = 656;
- public static final int X86_INS_SHLX = 657;
- public static final int X86_INS_SHR = 658;
- public static final int X86_INS_SHRD = 659;
- public static final int X86_INS_SHRX = 660;
- public static final int X86_INS_SHUFPD = 661;
- public static final int X86_INS_SHUFPS = 662;
- public static final int X86_INS_SIDT = 663;
- public static final int X86_INS_FSIN = 664;
- public static final int X86_INS_SKINIT = 665;
- public static final int X86_INS_SLDT = 666;
- public static final int X86_INS_SMSW = 667;
- public static final int X86_INS_SQRTPD = 668;
- public static final int X86_INS_SQRTPS = 669;
- public static final int X86_INS_SQRTSD = 670;
- public static final int X86_INS_SQRTSS = 671;
- public static final int X86_INS_FSQRT = 672;
- public static final int X86_INS_STAC = 673;
- public static final int X86_INS_STC = 674;
- public static final int X86_INS_STD = 675;
- public static final int X86_INS_STGI = 676;
- public static final int X86_INS_STI = 677;
- public static final int X86_INS_STMXCSR = 678;
- public static final int X86_INS_STOSB = 679;
- public static final int X86_INS_STOSD = 680;
- public static final int X86_INS_STOSQ = 681;
- public static final int X86_INS_STOSW = 682;
- public static final int X86_INS_STR = 683;
- public static final int X86_INS_FST = 684;
- public static final int X86_INS_FSTP = 685;
- public static final int X86_INS_FSTPNCE = 686;
- public static final int X86_INS_FXCH = 687;
- public static final int X86_INS_SUBPD = 688;
- public static final int X86_INS_SUBPS = 689;
- public static final int X86_INS_FSUBR = 690;
- public static final int X86_INS_FISUBR = 691;
- public static final int X86_INS_FSUBRP = 692;
- public static final int X86_INS_SUBSD = 693;
- public static final int X86_INS_SUBSS = 694;
- public static final int X86_INS_FSUB = 695;
- public static final int X86_INS_FISUB = 696;
- public static final int X86_INS_FSUBP = 697;
- public static final int X86_INS_SWAPGS = 698;
- public static final int X86_INS_SYSCALL = 699;
- public static final int X86_INS_SYSENTER = 700;
- public static final int X86_INS_SYSEXIT = 701;
- public static final int X86_INS_SYSRET = 702;
- public static final int X86_INS_T1MSKC = 703;
- public static final int X86_INS_TEST = 704;
- public static final int X86_INS_UD2 = 705;
- public static final int X86_INS_FTST = 706;
- public static final int X86_INS_TZCNT = 707;
- public static final int X86_INS_TZMSK = 708;
- public static final int X86_INS_FUCOMPI = 709;
- public static final int X86_INS_FUCOMI = 710;
- public static final int X86_INS_FUCOMPP = 711;
- public static final int X86_INS_FUCOMP = 712;
- public static final int X86_INS_FUCOM = 713;
- public static final int X86_INS_UD2B = 714;
- public static final int X86_INS_UNPCKHPD = 715;
- public static final int X86_INS_UNPCKHPS = 716;
- public static final int X86_INS_UNPCKLPD = 717;
- public static final int X86_INS_UNPCKLPS = 718;
- public static final int X86_INS_VADDPD = 719;
- public static final int X86_INS_VADDPS = 720;
- public static final int X86_INS_VADDSD = 721;
- public static final int X86_INS_VADDSS = 722;
- public static final int X86_INS_VADDSUBPD = 723;
- public static final int X86_INS_VADDSUBPS = 724;
- public static final int X86_INS_VAESDECLAST = 725;
- public static final int X86_INS_VAESDEC = 726;
- public static final int X86_INS_VAESENCLAST = 727;
- public static final int X86_INS_VAESENC = 728;
- public static final int X86_INS_VAESIMC = 729;
- public static final int X86_INS_VAESKEYGENASSIST = 730;
- public static final int X86_INS_VALIGND = 731;
- public static final int X86_INS_VALIGNQ = 732;
- public static final int X86_INS_VANDNPD = 733;
- public static final int X86_INS_VANDNPS = 734;
- public static final int X86_INS_VANDPD = 735;
- public static final int X86_INS_VANDPS = 736;
- public static final int X86_INS_VBLENDMPD = 737;
- public static final int X86_INS_VBLENDMPS = 738;
- public static final int X86_INS_VBLENDPD = 739;
- public static final int X86_INS_VBLENDPS = 740;
- public static final int X86_INS_VBLENDVPD = 741;
- public static final int X86_INS_VBLENDVPS = 742;
- public static final int X86_INS_VBROADCASTF128 = 743;
- public static final int X86_INS_VBROADCASTI32X4 = 744;
- public static final int X86_INS_VBROADCASTI64X4 = 745;
- public static final int X86_INS_VBROADCASTSD = 746;
- public static final int X86_INS_VBROADCASTSS = 747;
- public static final int X86_INS_VCMPPD = 748;
- public static final int X86_INS_VCMPPS = 749;
- public static final int X86_INS_VCMPSD = 750;
- public static final int X86_INS_VCMPSS = 751;
- public static final int X86_INS_VCOMPRESSPD = 752;
- public static final int X86_INS_VCOMPRESSPS = 753;
- public static final int X86_INS_VCVTDQ2PD = 754;
- public static final int X86_INS_VCVTDQ2PS = 755;
- public static final int X86_INS_VCVTPD2DQX = 756;
- public static final int X86_INS_VCVTPD2DQ = 757;
- public static final int X86_INS_VCVTPD2PSX = 758;
- public static final int X86_INS_VCVTPD2PS = 759;
- public static final int X86_INS_VCVTPD2UDQ = 760;
- public static final int X86_INS_VCVTPH2PS = 761;
- public static final int X86_INS_VCVTPS2DQ = 762;
- public static final int X86_INS_VCVTPS2PD = 763;
- public static final int X86_INS_VCVTPS2PH = 764;
- public static final int X86_INS_VCVTPS2UDQ = 765;
- public static final int X86_INS_VCVTSD2SI = 766;
- public static final int X86_INS_VCVTSD2USI = 767;
- public static final int X86_INS_VCVTSS2SI = 768;
- public static final int X86_INS_VCVTSS2USI = 769;
- public static final int X86_INS_VCVTTPD2DQX = 770;
- public static final int X86_INS_VCVTTPD2DQ = 771;
- public static final int X86_INS_VCVTTPD2UDQ = 772;
- public static final int X86_INS_VCVTTPS2DQ = 773;
- public static final int X86_INS_VCVTTPS2UDQ = 774;
- public static final int X86_INS_VCVTUDQ2PD = 775;
- public static final int X86_INS_VCVTUDQ2PS = 776;
- public static final int X86_INS_VDIVPD = 777;
- public static final int X86_INS_VDIVPS = 778;
- public static final int X86_INS_VDIVSD = 779;
- public static final int X86_INS_VDIVSS = 780;
- public static final int X86_INS_VDPPD = 781;
- public static final int X86_INS_VDPPS = 782;
- public static final int X86_INS_VERR = 783;
- public static final int X86_INS_VERW = 784;
- public static final int X86_INS_VEXP2PD = 785;
- public static final int X86_INS_VEXP2PS = 786;
- public static final int X86_INS_VEXPANDPD = 787;
- public static final int X86_INS_VEXPANDPS = 788;
- public static final int X86_INS_VEXTRACTF128 = 789;
- public static final int X86_INS_VEXTRACTF32X4 = 790;
- public static final int X86_INS_VEXTRACTF64X4 = 791;
- public static final int X86_INS_VEXTRACTI128 = 792;
- public static final int X86_INS_VEXTRACTI32X4 = 793;
- public static final int X86_INS_VEXTRACTI64X4 = 794;
- public static final int X86_INS_VEXTRACTPS = 795;
- public static final int X86_INS_VFMADD132PD = 796;
- public static final int X86_INS_VFMADD132PS = 797;
- public static final int X86_INS_VFMADDPD = 798;
- public static final int X86_INS_VFMADD213PD = 799;
- public static final int X86_INS_VFMADD231PD = 800;
- public static final int X86_INS_VFMADDPS = 801;
- public static final int X86_INS_VFMADD213PS = 802;
- public static final int X86_INS_VFMADD231PS = 803;
- public static final int X86_INS_VFMADDSD = 804;
- public static final int X86_INS_VFMADD213SD = 805;
- public static final int X86_INS_VFMADD132SD = 806;
- public static final int X86_INS_VFMADD231SD = 807;
- public static final int X86_INS_VFMADDSS = 808;
- public static final int X86_INS_VFMADD213SS = 809;
- public static final int X86_INS_VFMADD132SS = 810;
- public static final int X86_INS_VFMADD231SS = 811;
- public static final int X86_INS_VFMADDSUB132PD = 812;
- public static final int X86_INS_VFMADDSUB132PS = 813;
- public static final int X86_INS_VFMADDSUBPD = 814;
- public static final int X86_INS_VFMADDSUB213PD = 815;
- public static final int X86_INS_VFMADDSUB231PD = 816;
- public static final int X86_INS_VFMADDSUBPS = 817;
- public static final int X86_INS_VFMADDSUB213PS = 818;
- public static final int X86_INS_VFMADDSUB231PS = 819;
- public static final int X86_INS_VFMSUB132PD = 820;
- public static final int X86_INS_VFMSUB132PS = 821;
- public static final int X86_INS_VFMSUBADD132PD = 822;
- public static final int X86_INS_VFMSUBADD132PS = 823;
- public static final int X86_INS_VFMSUBADDPD = 824;
- public static final int X86_INS_VFMSUBADD213PD = 825;
- public static final int X86_INS_VFMSUBADD231PD = 826;
- public static final int X86_INS_VFMSUBADDPS = 827;
- public static final int X86_INS_VFMSUBADD213PS = 828;
- public static final int X86_INS_VFMSUBADD231PS = 829;
- public static final int X86_INS_VFMSUBPD = 830;
- public static final int X86_INS_VFMSUB213PD = 831;
- public static final int X86_INS_VFMSUB231PD = 832;
- public static final int X86_INS_VFMSUBPS = 833;
- public static final int X86_INS_VFMSUB213PS = 834;
- public static final int X86_INS_VFMSUB231PS = 835;
- public static final int X86_INS_VFMSUBSD = 836;
- public static final int X86_INS_VFMSUB213SD = 837;
- public static final int X86_INS_VFMSUB132SD = 838;
- public static final int X86_INS_VFMSUB231SD = 839;
- public static final int X86_INS_VFMSUBSS = 840;
- public static final int X86_INS_VFMSUB213SS = 841;
- public static final int X86_INS_VFMSUB132SS = 842;
- public static final int X86_INS_VFMSUB231SS = 843;
- public static final int X86_INS_VFNMADD132PD = 844;
- public static final int X86_INS_VFNMADD132PS = 845;
- public static final int X86_INS_VFNMADDPD = 846;
- public static final int X86_INS_VFNMADD213PD = 847;
- public static final int X86_INS_VFNMADD231PD = 848;
- public static final int X86_INS_VFNMADDPS = 849;
- public static final int X86_INS_VFNMADD213PS = 850;
- public static final int X86_INS_VFNMADD231PS = 851;
- public static final int X86_INS_VFNMADDSD = 852;
- public static final int X86_INS_VFNMADD213SD = 853;
- public static final int X86_INS_VFNMADD132SD = 854;
- public static final int X86_INS_VFNMADD231SD = 855;
- public static final int X86_INS_VFNMADDSS = 856;
- public static final int X86_INS_VFNMADD213SS = 857;
- public static final int X86_INS_VFNMADD132SS = 858;
- public static final int X86_INS_VFNMADD231SS = 859;
- public static final int X86_INS_VFNMSUB132PD = 860;
- public static final int X86_INS_VFNMSUB132PS = 861;
- public static final int X86_INS_VFNMSUBPD = 862;
- public static final int X86_INS_VFNMSUB213PD = 863;
- public static final int X86_INS_VFNMSUB231PD = 864;
- public static final int X86_INS_VFNMSUBPS = 865;
- public static final int X86_INS_VFNMSUB213PS = 866;
- public static final int X86_INS_VFNMSUB231PS = 867;
- public static final int X86_INS_VFNMSUBSD = 868;
- public static final int X86_INS_VFNMSUB213SD = 869;
- public static final int X86_INS_VFNMSUB132SD = 870;
- public static final int X86_INS_VFNMSUB231SD = 871;
- public static final int X86_INS_VFNMSUBSS = 872;
- public static final int X86_INS_VFNMSUB213SS = 873;
- public static final int X86_INS_VFNMSUB132SS = 874;
- public static final int X86_INS_VFNMSUB231SS = 875;
- public static final int X86_INS_VFRCZPD = 876;
- public static final int X86_INS_VFRCZPS = 877;
- public static final int X86_INS_VFRCZSD = 878;
- public static final int X86_INS_VFRCZSS = 879;
- public static final int X86_INS_VORPD = 880;
- public static final int X86_INS_VORPS = 881;
- public static final int X86_INS_VXORPD = 882;
- public static final int X86_INS_VXORPS = 883;
- public static final int X86_INS_VGATHERDPD = 884;
- public static final int X86_INS_VGATHERDPS = 885;
- public static final int X86_INS_VGATHERPF0DPD = 886;
- public static final int X86_INS_VGATHERPF0DPS = 887;
- public static final int X86_INS_VGATHERPF0QPD = 888;
- public static final int X86_INS_VGATHERPF0QPS = 889;
- public static final int X86_INS_VGATHERPF1DPD = 890;
- public static final int X86_INS_VGATHERPF1DPS = 891;
- public static final int X86_INS_VGATHERPF1QPD = 892;
- public static final int X86_INS_VGATHERPF1QPS = 893;
- public static final int X86_INS_VGATHERQPD = 894;
- public static final int X86_INS_VGATHERQPS = 895;
- public static final int X86_INS_VHADDPD = 896;
- public static final int X86_INS_VHADDPS = 897;
- public static final int X86_INS_VHSUBPD = 898;
- public static final int X86_INS_VHSUBPS = 899;
- public static final int X86_INS_VINSERTF128 = 900;
- public static final int X86_INS_VINSERTF32X4 = 901;
- public static final int X86_INS_VINSERTF32X8 = 902;
- public static final int X86_INS_VINSERTF64X2 = 903;
- public static final int X86_INS_VINSERTF64X4 = 904;
- public static final int X86_INS_VINSERTI128 = 905;
- public static final int X86_INS_VINSERTI32X4 = 906;
- public static final int X86_INS_VINSERTI32X8 = 907;
- public static final int X86_INS_VINSERTI64X2 = 908;
- public static final int X86_INS_VINSERTI64X4 = 909;
- public static final int X86_INS_VINSERTPS = 910;
- public static final int X86_INS_VLDDQU = 911;
- public static final int X86_INS_VLDMXCSR = 912;
- public static final int X86_INS_VMASKMOVDQU = 913;
- public static final int X86_INS_VMASKMOVPD = 914;
- public static final int X86_INS_VMASKMOVPS = 915;
- public static final int X86_INS_VMAXPD = 916;
- public static final int X86_INS_VMAXPS = 917;
- public static final int X86_INS_VMAXSD = 918;
- public static final int X86_INS_VMAXSS = 919;
- public static final int X86_INS_VMCALL = 920;
- public static final int X86_INS_VMCLEAR = 921;
- public static final int X86_INS_VMFUNC = 922;
- public static final int X86_INS_VMINPD = 923;
- public static final int X86_INS_VMINPS = 924;
- public static final int X86_INS_VMINSD = 925;
- public static final int X86_INS_VMINSS = 926;
- public static final int X86_INS_VMLAUNCH = 927;
- public static final int X86_INS_VMLOAD = 928;
- public static final int X86_INS_VMMCALL = 929;
- public static final int X86_INS_VMOVQ = 930;
- public static final int X86_INS_VMOVDDUP = 931;
- public static final int X86_INS_VMOVD = 932;
- public static final int X86_INS_VMOVDQA32 = 933;
- public static final int X86_INS_VMOVDQA64 = 934;
- public static final int X86_INS_VMOVDQA = 935;
- public static final int X86_INS_VMOVDQU16 = 936;
- public static final int X86_INS_VMOVDQU32 = 937;
- public static final int X86_INS_VMOVDQU64 = 938;
- public static final int X86_INS_VMOVDQU8 = 939;
- public static final int X86_INS_VMOVDQU = 940;
- public static final int X86_INS_VMOVHLPS = 941;
- public static final int X86_INS_VMOVHPD = 942;
- public static final int X86_INS_VMOVHPS = 943;
- public static final int X86_INS_VMOVLHPS = 944;
- public static final int X86_INS_VMOVLPD = 945;
- public static final int X86_INS_VMOVLPS = 946;
- public static final int X86_INS_VMOVMSKPD = 947;
- public static final int X86_INS_VMOVMSKPS = 948;
- public static final int X86_INS_VMOVNTDQA = 949;
- public static final int X86_INS_VMOVNTDQ = 950;
- public static final int X86_INS_VMOVNTPD = 951;
- public static final int X86_INS_VMOVNTPS = 952;
- public static final int X86_INS_VMOVSD = 953;
- public static final int X86_INS_VMOVSHDUP = 954;
- public static final int X86_INS_VMOVSLDUP = 955;
- public static final int X86_INS_VMOVSS = 956;
- public static final int X86_INS_VMOVUPD = 957;
- public static final int X86_INS_VMOVUPS = 958;
- public static final int X86_INS_VMPSADBW = 959;
- public static final int X86_INS_VMPTRLD = 960;
- public static final int X86_INS_VMPTRST = 961;
- public static final int X86_INS_VMREAD = 962;
- public static final int X86_INS_VMRESUME = 963;
- public static final int X86_INS_VMRUN = 964;
- public static final int X86_INS_VMSAVE = 965;
- public static final int X86_INS_VMULPD = 966;
- public static final int X86_INS_VMULPS = 967;
- public static final int X86_INS_VMULSD = 968;
- public static final int X86_INS_VMULSS = 969;
- public static final int X86_INS_VMWRITE = 970;
- public static final int X86_INS_VMXOFF = 971;
- public static final int X86_INS_VMXON = 972;
- public static final int X86_INS_VPABSB = 973;
- public static final int X86_INS_VPABSD = 974;
- public static final int X86_INS_VPABSQ = 975;
- public static final int X86_INS_VPABSW = 976;
- public static final int X86_INS_VPACKSSDW = 977;
- public static final int X86_INS_VPACKSSWB = 978;
- public static final int X86_INS_VPACKUSDW = 979;
- public static final int X86_INS_VPACKUSWB = 980;
- public static final int X86_INS_VPADDB = 981;
- public static final int X86_INS_VPADDD = 982;
- public static final int X86_INS_VPADDQ = 983;
- public static final int X86_INS_VPADDSB = 984;
- public static final int X86_INS_VPADDSW = 985;
- public static final int X86_INS_VPADDUSB = 986;
- public static final int X86_INS_VPADDUSW = 987;
- public static final int X86_INS_VPADDW = 988;
- public static final int X86_INS_VPALIGNR = 989;
- public static final int X86_INS_VPANDD = 990;
- public static final int X86_INS_VPANDND = 991;
- public static final int X86_INS_VPANDNQ = 992;
- public static final int X86_INS_VPANDN = 993;
- public static final int X86_INS_VPANDQ = 994;
- public static final int X86_INS_VPAND = 995;
- public static final int X86_INS_VPAVGB = 996;
- public static final int X86_INS_VPAVGW = 997;
- public static final int X86_INS_VPBLENDD = 998;
- public static final int X86_INS_VPBLENDMB = 999;
- public static final int X86_INS_VPBLENDMD = 1000;
- public static final int X86_INS_VPBLENDMQ = 1001;
- public static final int X86_INS_VPBLENDMW = 1002;
- public static final int X86_INS_VPBLENDVB = 1003;
- public static final int X86_INS_VPBLENDW = 1004;
- public static final int X86_INS_VPBROADCASTB = 1005;
- public static final int X86_INS_VPBROADCASTD = 1006;
- public static final int X86_INS_VPBROADCASTMB2Q = 1007;
- public static final int X86_INS_VPBROADCASTMW2D = 1008;
- public static final int X86_INS_VPBROADCASTQ = 1009;
- public static final int X86_INS_VPBROADCASTW = 1010;
- public static final int X86_INS_VPCLMULQDQ = 1011;
- public static final int X86_INS_VPCMOV = 1012;
- public static final int X86_INS_VPCMPB = 1013;
- public static final int X86_INS_VPCMPD = 1014;
- public static final int X86_INS_VPCMPEQB = 1015;
- public static final int X86_INS_VPCMPEQD = 1016;
- public static final int X86_INS_VPCMPEQQ = 1017;
- public static final int X86_INS_VPCMPEQW = 1018;
- public static final int X86_INS_VPCMPESTRI = 1019;
- public static final int X86_INS_VPCMPESTRM = 1020;
- public static final int X86_INS_VPCMPGTB = 1021;
- public static final int X86_INS_VPCMPGTD = 1022;
- public static final int X86_INS_VPCMPGTQ = 1023;
- public static final int X86_INS_VPCMPGTW = 1024;
- public static final int X86_INS_VPCMPISTRI = 1025;
- public static final int X86_INS_VPCMPISTRM = 1026;
- public static final int X86_INS_VPCMPQ = 1027;
- public static final int X86_INS_VPCMPUB = 1028;
- public static final int X86_INS_VPCMPUD = 1029;
- public static final int X86_INS_VPCMPUQ = 1030;
- public static final int X86_INS_VPCMPUW = 1031;
- public static final int X86_INS_VPCMPW = 1032;
- public static final int X86_INS_VPCOMB = 1033;
- public static final int X86_INS_VPCOMD = 1034;
- public static final int X86_INS_VPCOMPRESSD = 1035;
- public static final int X86_INS_VPCOMPRESSQ = 1036;
- public static final int X86_INS_VPCOMQ = 1037;
- public static final int X86_INS_VPCOMUB = 1038;
- public static final int X86_INS_VPCOMUD = 1039;
- public static final int X86_INS_VPCOMUQ = 1040;
- public static final int X86_INS_VPCOMUW = 1041;
- public static final int X86_INS_VPCOMW = 1042;
- public static final int X86_INS_VPCONFLICTD = 1043;
- public static final int X86_INS_VPCONFLICTQ = 1044;
- public static final int X86_INS_VPERM2F128 = 1045;
- public static final int X86_INS_VPERM2I128 = 1046;
- public static final int X86_INS_VPERMD = 1047;
- public static final int X86_INS_VPERMI2D = 1048;
- public static final int X86_INS_VPERMI2PD = 1049;
- public static final int X86_INS_VPERMI2PS = 1050;
- public static final int X86_INS_VPERMI2Q = 1051;
- public static final int X86_INS_VPERMIL2PD = 1052;
- public static final int X86_INS_VPERMIL2PS = 1053;
- public static final int X86_INS_VPERMILPD = 1054;
- public static final int X86_INS_VPERMILPS = 1055;
- public static final int X86_INS_VPERMPD = 1056;
- public static final int X86_INS_VPERMPS = 1057;
- public static final int X86_INS_VPERMQ = 1058;
- public static final int X86_INS_VPERMT2D = 1059;
- public static final int X86_INS_VPERMT2PD = 1060;
- public static final int X86_INS_VPERMT2PS = 1061;
- public static final int X86_INS_VPERMT2Q = 1062;
- public static final int X86_INS_VPEXPANDD = 1063;
- public static final int X86_INS_VPEXPANDQ = 1064;
- public static final int X86_INS_VPEXTRB = 1065;
- public static final int X86_INS_VPEXTRD = 1066;
- public static final int X86_INS_VPEXTRQ = 1067;
- public static final int X86_INS_VPEXTRW = 1068;
- public static final int X86_INS_VPGATHERDD = 1069;
- public static final int X86_INS_VPGATHERDQ = 1070;
- public static final int X86_INS_VPGATHERQD = 1071;
- public static final int X86_INS_VPGATHERQQ = 1072;
- public static final int X86_INS_VPHADDBD = 1073;
- public static final int X86_INS_VPHADDBQ = 1074;
- public static final int X86_INS_VPHADDBW = 1075;
- public static final int X86_INS_VPHADDDQ = 1076;
- public static final int X86_INS_VPHADDD = 1077;
- public static final int X86_INS_VPHADDSW = 1078;
- public static final int X86_INS_VPHADDUBD = 1079;
- public static final int X86_INS_VPHADDUBQ = 1080;
- public static final int X86_INS_VPHADDUBW = 1081;
- public static final int X86_INS_VPHADDUDQ = 1082;
- public static final int X86_INS_VPHADDUWD = 1083;
- public static final int X86_INS_VPHADDUWQ = 1084;
- public static final int X86_INS_VPHADDWD = 1085;
- public static final int X86_INS_VPHADDWQ = 1086;
- public static final int X86_INS_VPHADDW = 1087;
- public static final int X86_INS_VPHMINPOSUW = 1088;
- public static final int X86_INS_VPHSUBBW = 1089;
- public static final int X86_INS_VPHSUBDQ = 1090;
- public static final int X86_INS_VPHSUBD = 1091;
- public static final int X86_INS_VPHSUBSW = 1092;
- public static final int X86_INS_VPHSUBWD = 1093;
- public static final int X86_INS_VPHSUBW = 1094;
- public static final int X86_INS_VPINSRB = 1095;
- public static final int X86_INS_VPINSRD = 1096;
- public static final int X86_INS_VPINSRQ = 1097;
- public static final int X86_INS_VPINSRW = 1098;
- public static final int X86_INS_VPLZCNTD = 1099;
- public static final int X86_INS_VPLZCNTQ = 1100;
- public static final int X86_INS_VPMACSDD = 1101;
- public static final int X86_INS_VPMACSDQH = 1102;
- public static final int X86_INS_VPMACSDQL = 1103;
- public static final int X86_INS_VPMACSSDD = 1104;
- public static final int X86_INS_VPMACSSDQH = 1105;
- public static final int X86_INS_VPMACSSDQL = 1106;
- public static final int X86_INS_VPMACSSWD = 1107;
- public static final int X86_INS_VPMACSSWW = 1108;
- public static final int X86_INS_VPMACSWD = 1109;
- public static final int X86_INS_VPMACSWW = 1110;
- public static final int X86_INS_VPMADCSSWD = 1111;
- public static final int X86_INS_VPMADCSWD = 1112;
- public static final int X86_INS_VPMADDUBSW = 1113;
- public static final int X86_INS_VPMADDWD = 1114;
- public static final int X86_INS_VPMASKMOVD = 1115;
- public static final int X86_INS_VPMASKMOVQ = 1116;
- public static final int X86_INS_VPMAXSB = 1117;
- public static final int X86_INS_VPMAXSD = 1118;
- public static final int X86_INS_VPMAXSQ = 1119;
- public static final int X86_INS_VPMAXSW = 1120;
- public static final int X86_INS_VPMAXUB = 1121;
- public static final int X86_INS_VPMAXUD = 1122;
- public static final int X86_INS_VPMAXUQ = 1123;
- public static final int X86_INS_VPMAXUW = 1124;
- public static final int X86_INS_VPMINSB = 1125;
- public static final int X86_INS_VPMINSD = 1126;
- public static final int X86_INS_VPMINSQ = 1127;
- public static final int X86_INS_VPMINSW = 1128;
- public static final int X86_INS_VPMINUB = 1129;
- public static final int X86_INS_VPMINUD = 1130;
- public static final int X86_INS_VPMINUQ = 1131;
- public static final int X86_INS_VPMINUW = 1132;
- public static final int X86_INS_VPMOVDB = 1133;
- public static final int X86_INS_VPMOVDW = 1134;
- public static final int X86_INS_VPMOVM2B = 1135;
- public static final int X86_INS_VPMOVM2D = 1136;
- public static final int X86_INS_VPMOVM2Q = 1137;
- public static final int X86_INS_VPMOVM2W = 1138;
- public static final int X86_INS_VPMOVMSKB = 1139;
- public static final int X86_INS_VPMOVQB = 1140;
- public static final int X86_INS_VPMOVQD = 1141;
- public static final int X86_INS_VPMOVQW = 1142;
- public static final int X86_INS_VPMOVSDB = 1143;
- public static final int X86_INS_VPMOVSDW = 1144;
- public static final int X86_INS_VPMOVSQB = 1145;
- public static final int X86_INS_VPMOVSQD = 1146;
- public static final int X86_INS_VPMOVSQW = 1147;
- public static final int X86_INS_VPMOVSXBD = 1148;
- public static final int X86_INS_VPMOVSXBQ = 1149;
- public static final int X86_INS_VPMOVSXBW = 1150;
- public static final int X86_INS_VPMOVSXDQ = 1151;
- public static final int X86_INS_VPMOVSXWD = 1152;
- public static final int X86_INS_VPMOVSXWQ = 1153;
- public static final int X86_INS_VPMOVUSDB = 1154;
- public static final int X86_INS_VPMOVUSDW = 1155;
- public static final int X86_INS_VPMOVUSQB = 1156;
- public static final int X86_INS_VPMOVUSQD = 1157;
- public static final int X86_INS_VPMOVUSQW = 1158;
- public static final int X86_INS_VPMOVZXBD = 1159;
- public static final int X86_INS_VPMOVZXBQ = 1160;
- public static final int X86_INS_VPMOVZXBW = 1161;
- public static final int X86_INS_VPMOVZXDQ = 1162;
- public static final int X86_INS_VPMOVZXWD = 1163;
- public static final int X86_INS_VPMOVZXWQ = 1164;
- public static final int X86_INS_VPMULDQ = 1165;
- public static final int X86_INS_VPMULHRSW = 1166;
- public static final int X86_INS_VPMULHUW = 1167;
- public static final int X86_INS_VPMULHW = 1168;
- public static final int X86_INS_VPMULLD = 1169;
- public static final int X86_INS_VPMULLQ = 1170;
- public static final int X86_INS_VPMULLW = 1171;
- public static final int X86_INS_VPMULUDQ = 1172;
- public static final int X86_INS_VPORD = 1173;
- public static final int X86_INS_VPORQ = 1174;
- public static final int X86_INS_VPOR = 1175;
- public static final int X86_INS_VPPERM = 1176;
- public static final int X86_INS_VPROTB = 1177;
- public static final int X86_INS_VPROTD = 1178;
- public static final int X86_INS_VPROTQ = 1179;
- public static final int X86_INS_VPROTW = 1180;
- public static final int X86_INS_VPSADBW = 1181;
- public static final int X86_INS_VPSCATTERDD = 1182;
- public static final int X86_INS_VPSCATTERDQ = 1183;
- public static final int X86_INS_VPSCATTERQD = 1184;
- public static final int X86_INS_VPSCATTERQQ = 1185;
- public static final int X86_INS_VPSHAB = 1186;
- public static final int X86_INS_VPSHAD = 1187;
- public static final int X86_INS_VPSHAQ = 1188;
- public static final int X86_INS_VPSHAW = 1189;
- public static final int X86_INS_VPSHLB = 1190;
- public static final int X86_INS_VPSHLD = 1191;
- public static final int X86_INS_VPSHLQ = 1192;
- public static final int X86_INS_VPSHLW = 1193;
- public static final int X86_INS_VPSHUFB = 1194;
- public static final int X86_INS_VPSHUFD = 1195;
- public static final int X86_INS_VPSHUFHW = 1196;
- public static final int X86_INS_VPSHUFLW = 1197;
- public static final int X86_INS_VPSIGNB = 1198;
- public static final int X86_INS_VPSIGND = 1199;
- public static final int X86_INS_VPSIGNW = 1200;
- public static final int X86_INS_VPSLLDQ = 1201;
- public static final int X86_INS_VPSLLD = 1202;
- public static final int X86_INS_VPSLLQ = 1203;
- public static final int X86_INS_VPSLLVD = 1204;
- public static final int X86_INS_VPSLLVQ = 1205;
- public static final int X86_INS_VPSLLW = 1206;
- public static final int X86_INS_VPSRAD = 1207;
- public static final int X86_INS_VPSRAQ = 1208;
- public static final int X86_INS_VPSRAVD = 1209;
- public static final int X86_INS_VPSRAVQ = 1210;
- public static final int X86_INS_VPSRAW = 1211;
- public static final int X86_INS_VPSRLDQ = 1212;
- public static final int X86_INS_VPSRLD = 1213;
- public static final int X86_INS_VPSRLQ = 1214;
- public static final int X86_INS_VPSRLVD = 1215;
- public static final int X86_INS_VPSRLVQ = 1216;
- public static final int X86_INS_VPSRLW = 1217;
- public static final int X86_INS_VPSUBB = 1218;
- public static final int X86_INS_VPSUBD = 1219;
- public static final int X86_INS_VPSUBQ = 1220;
- public static final int X86_INS_VPSUBSB = 1221;
- public static final int X86_INS_VPSUBSW = 1222;
- public static final int X86_INS_VPSUBUSB = 1223;
- public static final int X86_INS_VPSUBUSW = 1224;
- public static final int X86_INS_VPSUBW = 1225;
- public static final int X86_INS_VPTESTMD = 1226;
- public static final int X86_INS_VPTESTMQ = 1227;
- public static final int X86_INS_VPTESTNMD = 1228;
- public static final int X86_INS_VPTESTNMQ = 1229;
- public static final int X86_INS_VPTEST = 1230;
- public static final int X86_INS_VPUNPCKHBW = 1231;
- public static final int X86_INS_VPUNPCKHDQ = 1232;
- public static final int X86_INS_VPUNPCKHQDQ = 1233;
- public static final int X86_INS_VPUNPCKHWD = 1234;
- public static final int X86_INS_VPUNPCKLBW = 1235;
- public static final int X86_INS_VPUNPCKLDQ = 1236;
- public static final int X86_INS_VPUNPCKLQDQ = 1237;
- public static final int X86_INS_VPUNPCKLWD = 1238;
- public static final int X86_INS_VPXORD = 1239;
- public static final int X86_INS_VPXORQ = 1240;
- public static final int X86_INS_VPXOR = 1241;
- public static final int X86_INS_VRCP14PD = 1242;
- public static final int X86_INS_VRCP14PS = 1243;
- public static final int X86_INS_VRCP14SD = 1244;
- public static final int X86_INS_VRCP14SS = 1245;
- public static final int X86_INS_VRCP28PD = 1246;
- public static final int X86_INS_VRCP28PS = 1247;
- public static final int X86_INS_VRCP28SD = 1248;
- public static final int X86_INS_VRCP28SS = 1249;
- public static final int X86_INS_VRCPPS = 1250;
- public static final int X86_INS_VRCPSS = 1251;
- public static final int X86_INS_VRNDSCALEPD = 1252;
- public static final int X86_INS_VRNDSCALEPS = 1253;
- public static final int X86_INS_VRNDSCALESD = 1254;
- public static final int X86_INS_VRNDSCALESS = 1255;
- public static final int X86_INS_VROUNDPD = 1256;
- public static final int X86_INS_VROUNDPS = 1257;
- public static final int X86_INS_VROUNDSD = 1258;
- public static final int X86_INS_VROUNDSS = 1259;
- public static final int X86_INS_VRSQRT14PD = 1260;
- public static final int X86_INS_VRSQRT14PS = 1261;
- public static final int X86_INS_VRSQRT14SD = 1262;
- public static final int X86_INS_VRSQRT14SS = 1263;
- public static final int X86_INS_VRSQRT28PD = 1264;
- public static final int X86_INS_VRSQRT28PS = 1265;
- public static final int X86_INS_VRSQRT28SD = 1266;
- public static final int X86_INS_VRSQRT28SS = 1267;
- public static final int X86_INS_VRSQRTPS = 1268;
- public static final int X86_INS_VRSQRTSS = 1269;
- public static final int X86_INS_VSCATTERDPD = 1270;
- public static final int X86_INS_VSCATTERDPS = 1271;
- public static final int X86_INS_VSCATTERPF0DPD = 1272;
- public static final int X86_INS_VSCATTERPF0DPS = 1273;
- public static final int X86_INS_VSCATTERPF0QPD = 1274;
- public static final int X86_INS_VSCATTERPF0QPS = 1275;
- public static final int X86_INS_VSCATTERPF1DPD = 1276;
- public static final int X86_INS_VSCATTERPF1DPS = 1277;
- public static final int X86_INS_VSCATTERPF1QPD = 1278;
- public static final int X86_INS_VSCATTERPF1QPS = 1279;
- public static final int X86_INS_VSCATTERQPD = 1280;
- public static final int X86_INS_VSCATTERQPS = 1281;
- public static final int X86_INS_VSHUFPD = 1282;
- public static final int X86_INS_VSHUFPS = 1283;
- public static final int X86_INS_VSQRTPD = 1284;
- public static final int X86_INS_VSQRTPS = 1285;
- public static final int X86_INS_VSQRTSD = 1286;
- public static final int X86_INS_VSQRTSS = 1287;
- public static final int X86_INS_VSTMXCSR = 1288;
- public static final int X86_INS_VSUBPD = 1289;
- public static final int X86_INS_VSUBPS = 1290;
- public static final int X86_INS_VSUBSD = 1291;
- public static final int X86_INS_VSUBSS = 1292;
- public static final int X86_INS_VTESTPD = 1293;
- public static final int X86_INS_VTESTPS = 1294;
- public static final int X86_INS_VUNPCKHPD = 1295;
- public static final int X86_INS_VUNPCKHPS = 1296;
- public static final int X86_INS_VUNPCKLPD = 1297;
- public static final int X86_INS_VUNPCKLPS = 1298;
- public static final int X86_INS_VZEROALL = 1299;
- public static final int X86_INS_VZEROUPPER = 1300;
- public static final int X86_INS_WAIT = 1301;
- public static final int X86_INS_WBINVD = 1302;
- public static final int X86_INS_WRFSBASE = 1303;
- public static final int X86_INS_WRGSBASE = 1304;
- public static final int X86_INS_WRMSR = 1305;
- public static final int X86_INS_XABORT = 1306;
- public static final int X86_INS_XACQUIRE = 1307;
- public static final int X86_INS_XBEGIN = 1308;
- public static final int X86_INS_XCHG = 1309;
- public static final int X86_INS_XCRYPTCBC = 1310;
- public static final int X86_INS_XCRYPTCFB = 1311;
- public static final int X86_INS_XCRYPTCTR = 1312;
- public static final int X86_INS_XCRYPTECB = 1313;
- public static final int X86_INS_XCRYPTOFB = 1314;
- public static final int X86_INS_XEND = 1315;
- public static final int X86_INS_XGETBV = 1316;
- public static final int X86_INS_XLATB = 1317;
- public static final int X86_INS_XRELEASE = 1318;
- public static final int X86_INS_XRSTOR = 1319;
- public static final int X86_INS_XRSTOR64 = 1320;
- public static final int X86_INS_XRSTORS = 1321;
- public static final int X86_INS_XRSTORS64 = 1322;
- public static final int X86_INS_XSAVE = 1323;
- public static final int X86_INS_XSAVE64 = 1324;
- public static final int X86_INS_XSAVEC = 1325;
- public static final int X86_INS_XSAVEC64 = 1326;
- public static final int X86_INS_XSAVEOPT = 1327;
- public static final int X86_INS_XSAVEOPT64 = 1328;
- public static final int X86_INS_XSAVES = 1329;
- public static final int X86_INS_XSAVES64 = 1330;
- public static final int X86_INS_XSETBV = 1331;
- public static final int X86_INS_XSHA1 = 1332;
- public static final int X86_INS_XSHA256 = 1333;
- public static final int X86_INS_XSTORE = 1334;
- public static final int X86_INS_XTEST = 1335;
- public static final int X86_INS_FDISI8087_NOP = 1336;
- public static final int X86_INS_FENI8087_NOP = 1337;
- public static final int X86_INS_ENDING = 1338;
+ public static final int X86_INS_CMPSB = 96;
+ public static final int X86_INS_CMPSQ = 97;
+ public static final int X86_INS_CMPSW = 98;
+ public static final int X86_INS_CMPXCHG16B = 99;
+ public static final int X86_INS_CMPXCHG = 100;
+ public static final int X86_INS_CMPXCHG8B = 101;
+ public static final int X86_INS_COMISD = 102;
+ public static final int X86_INS_COMISS = 103;
+ public static final int X86_INS_FCOMP = 104;
+ public static final int X86_INS_FCOMPI = 105;
+ public static final int X86_INS_FCOMI = 106;
+ public static final int X86_INS_FCOM = 107;
+ public static final int X86_INS_FCOS = 108;
+ public static final int X86_INS_CPUID = 109;
+ public static final int X86_INS_CQO = 110;
+ public static final int X86_INS_CRC32 = 111;
+ public static final int X86_INS_CVTDQ2PD = 112;
+ public static final int X86_INS_CVTDQ2PS = 113;
+ public static final int X86_INS_CVTPD2DQ = 114;
+ public static final int X86_INS_CVTPD2PS = 115;
+ public static final int X86_INS_CVTPS2DQ = 116;
+ public static final int X86_INS_CVTPS2PD = 117;
+ public static final int X86_INS_CVTSD2SI = 118;
+ public static final int X86_INS_CVTSD2SS = 119;
+ public static final int X86_INS_CVTSI2SD = 120;
+ public static final int X86_INS_CVTSI2SS = 121;
+ public static final int X86_INS_CVTSS2SD = 122;
+ public static final int X86_INS_CVTSS2SI = 123;
+ public static final int X86_INS_CVTTPD2DQ = 124;
+ public static final int X86_INS_CVTTPS2DQ = 125;
+ public static final int X86_INS_CVTTSD2SI = 126;
+ public static final int X86_INS_CVTTSS2SI = 127;
+ public static final int X86_INS_CWD = 128;
+ public static final int X86_INS_CWDE = 129;
+ public static final int X86_INS_DAA = 130;
+ public static final int X86_INS_DAS = 131;
+ public static final int X86_INS_DATA16 = 132;
+ public static final int X86_INS_DEC = 133;
+ public static final int X86_INS_DIV = 134;
+ public static final int X86_INS_DIVPD = 135;
+ public static final int X86_INS_DIVPS = 136;
+ public static final int X86_INS_FDIVR = 137;
+ public static final int X86_INS_FIDIVR = 138;
+ public static final int X86_INS_FDIVRP = 139;
+ public static final int X86_INS_DIVSD = 140;
+ public static final int X86_INS_DIVSS = 141;
+ public static final int X86_INS_FDIV = 142;
+ public static final int X86_INS_FIDIV = 143;
+ public static final int X86_INS_FDIVP = 144;
+ public static final int X86_INS_DPPD = 145;
+ public static final int X86_INS_DPPS = 146;
+ public static final int X86_INS_RET = 147;
+ public static final int X86_INS_ENCLS = 148;
+ public static final int X86_INS_ENCLU = 149;
+ public static final int X86_INS_ENTER = 150;
+ public static final int X86_INS_EXTRACTPS = 151;
+ public static final int X86_INS_EXTRQ = 152;
+ public static final int X86_INS_F2XM1 = 153;
+ public static final int X86_INS_LCALL = 154;
+ public static final int X86_INS_LJMP = 155;
+ public static final int X86_INS_FBLD = 156;
+ public static final int X86_INS_FBSTP = 157;
+ public static final int X86_INS_FCOMPP = 158;
+ public static final int X86_INS_FDECSTP = 159;
+ public static final int X86_INS_FEMMS = 160;
+ public static final int X86_INS_FFREE = 161;
+ public static final int X86_INS_FICOM = 162;
+ public static final int X86_INS_FICOMP = 163;
+ public static final int X86_INS_FINCSTP = 164;
+ public static final int X86_INS_FLDCW = 165;
+ public static final int X86_INS_FLDENV = 166;
+ public static final int X86_INS_FLDL2E = 167;
+ public static final int X86_INS_FLDL2T = 168;
+ public static final int X86_INS_FLDLG2 = 169;
+ public static final int X86_INS_FLDLN2 = 170;
+ public static final int X86_INS_FLDPI = 171;
+ public static final int X86_INS_FNCLEX = 172;
+ public static final int X86_INS_FNINIT = 173;
+ public static final int X86_INS_FNOP = 174;
+ public static final int X86_INS_FNSTCW = 175;
+ public static final int X86_INS_FNSTSW = 176;
+ public static final int X86_INS_FPATAN = 177;
+ public static final int X86_INS_FPREM = 178;
+ public static final int X86_INS_FPREM1 = 179;
+ public static final int X86_INS_FPTAN = 180;
+ public static final int X86_INS_FFREEP = 181;
+ public static final int X86_INS_FRNDINT = 182;
+ public static final int X86_INS_FRSTOR = 183;
+ public static final int X86_INS_FNSAVE = 184;
+ public static final int X86_INS_FSCALE = 185;
+ public static final int X86_INS_FSETPM = 186;
+ public static final int X86_INS_FSINCOS = 187;
+ public static final int X86_INS_FNSTENV = 188;
+ public static final int X86_INS_FXAM = 189;
+ public static final int X86_INS_FXRSTOR = 190;
+ public static final int X86_INS_FXRSTOR64 = 191;
+ public static final int X86_INS_FXSAVE = 192;
+ public static final int X86_INS_FXSAVE64 = 193;
+ public static final int X86_INS_FXTRACT = 194;
+ public static final int X86_INS_FYL2X = 195;
+ public static final int X86_INS_FYL2XP1 = 196;
+ public static final int X86_INS_MOVAPD = 197;
+ public static final int X86_INS_MOVAPS = 198;
+ public static final int X86_INS_ORPD = 199;
+ public static final int X86_INS_ORPS = 200;
+ public static final int X86_INS_VMOVAPD = 201;
+ public static final int X86_INS_VMOVAPS = 202;
+ public static final int X86_INS_XORPD = 203;
+ public static final int X86_INS_XORPS = 204;
+ public static final int X86_INS_GETSEC = 205;
+ public static final int X86_INS_HADDPD = 206;
+ public static final int X86_INS_HADDPS = 207;
+ public static final int X86_INS_HLT = 208;
+ public static final int X86_INS_HSUBPD = 209;
+ public static final int X86_INS_HSUBPS = 210;
+ public static final int X86_INS_IDIV = 211;
+ public static final int X86_INS_FILD = 212;
+ public static final int X86_INS_IMUL = 213;
+ public static final int X86_INS_IN = 214;
+ public static final int X86_INS_INC = 215;
+ public static final int X86_INS_INSB = 216;
+ public static final int X86_INS_INSERTPS = 217;
+ public static final int X86_INS_INSERTQ = 218;
+ public static final int X86_INS_INSD = 219;
+ public static final int X86_INS_INSW = 220;
+ public static final int X86_INS_INT = 221;
+ public static final int X86_INS_INT1 = 222;
+ public static final int X86_INS_INT3 = 223;
+ public static final int X86_INS_INTO = 224;
+ public static final int X86_INS_INVD = 225;
+ public static final int X86_INS_INVEPT = 226;
+ public static final int X86_INS_INVLPG = 227;
+ public static final int X86_INS_INVLPGA = 228;
+ public static final int X86_INS_INVPCID = 229;
+ public static final int X86_INS_INVVPID = 230;
+ public static final int X86_INS_IRET = 231;
+ public static final int X86_INS_IRETD = 232;
+ public static final int X86_INS_IRETQ = 233;
+ public static final int X86_INS_FISTTP = 234;
+ public static final int X86_INS_FIST = 235;
+ public static final int X86_INS_FISTP = 236;
+ public static final int X86_INS_UCOMISD = 237;
+ public static final int X86_INS_UCOMISS = 238;
+ public static final int X86_INS_VCOMISD = 239;
+ public static final int X86_INS_VCOMISS = 240;
+ public static final int X86_INS_VCVTSD2SS = 241;
+ public static final int X86_INS_VCVTSI2SD = 242;
+ public static final int X86_INS_VCVTSI2SS = 243;
+ public static final int X86_INS_VCVTSS2SD = 244;
+ public static final int X86_INS_VCVTTSD2SI = 245;
+ public static final int X86_INS_VCVTTSD2USI = 246;
+ public static final int X86_INS_VCVTTSS2SI = 247;
+ public static final int X86_INS_VCVTTSS2USI = 248;
+ public static final int X86_INS_VCVTUSI2SD = 249;
+ public static final int X86_INS_VCVTUSI2SS = 250;
+ public static final int X86_INS_VUCOMISD = 251;
+ public static final int X86_INS_VUCOMISS = 252;
+ public static final int X86_INS_JAE = 253;
+ public static final int X86_INS_JA = 254;
+ public static final int X86_INS_JBE = 255;
+ public static final int X86_INS_JB = 256;
+ public static final int X86_INS_JCXZ = 257;
+ public static final int X86_INS_JECXZ = 258;
+ public static final int X86_INS_JE = 259;
+ public static final int X86_INS_JGE = 260;
+ public static final int X86_INS_JG = 261;
+ public static final int X86_INS_JLE = 262;
+ public static final int X86_INS_JL = 263;
+ public static final int X86_INS_JMP = 264;
+ public static final int X86_INS_JNE = 265;
+ public static final int X86_INS_JNO = 266;
+ public static final int X86_INS_JNP = 267;
+ public static final int X86_INS_JNS = 268;
+ public static final int X86_INS_JO = 269;
+ public static final int X86_INS_JP = 270;
+ public static final int X86_INS_JRCXZ = 271;
+ public static final int X86_INS_JS = 272;
+ public static final int X86_INS_KANDB = 273;
+ public static final int X86_INS_KANDD = 274;
+ public static final int X86_INS_KANDNB = 275;
+ public static final int X86_INS_KANDND = 276;
+ public static final int X86_INS_KANDNQ = 277;
+ public static final int X86_INS_KANDNW = 278;
+ public static final int X86_INS_KANDQ = 279;
+ public static final int X86_INS_KANDW = 280;
+ public static final int X86_INS_KMOVB = 281;
+ public static final int X86_INS_KMOVD = 282;
+ public static final int X86_INS_KMOVQ = 283;
+ public static final int X86_INS_KMOVW = 284;
+ public static final int X86_INS_KNOTB = 285;
+ public static final int X86_INS_KNOTD = 286;
+ public static final int X86_INS_KNOTQ = 287;
+ public static final int X86_INS_KNOTW = 288;
+ public static final int X86_INS_KORB = 289;
+ public static final int X86_INS_KORD = 290;
+ public static final int X86_INS_KORQ = 291;
+ public static final int X86_INS_KORTESTB = 292;
+ public static final int X86_INS_KORTESTD = 293;
+ public static final int X86_INS_KORTESTQ = 294;
+ public static final int X86_INS_KORTESTW = 295;
+ public static final int X86_INS_KORW = 296;
+ public static final int X86_INS_KSHIFTLB = 297;
+ public static final int X86_INS_KSHIFTLD = 298;
+ public static final int X86_INS_KSHIFTLQ = 299;
+ public static final int X86_INS_KSHIFTLW = 300;
+ public static final int X86_INS_KSHIFTRB = 301;
+ public static final int X86_INS_KSHIFTRD = 302;
+ public static final int X86_INS_KSHIFTRQ = 303;
+ public static final int X86_INS_KSHIFTRW = 304;
+ public static final int X86_INS_KUNPCKBW = 305;
+ public static final int X86_INS_KXNORB = 306;
+ public static final int X86_INS_KXNORD = 307;
+ public static final int X86_INS_KXNORQ = 308;
+ public static final int X86_INS_KXNORW = 309;
+ public static final int X86_INS_KXORB = 310;
+ public static final int X86_INS_KXORD = 311;
+ public static final int X86_INS_KXORQ = 312;
+ public static final int X86_INS_KXORW = 313;
+ public static final int X86_INS_LAHF = 314;
+ public static final int X86_INS_LAR = 315;
+ public static final int X86_INS_LDDQU = 316;
+ public static final int X86_INS_LDMXCSR = 317;
+ public static final int X86_INS_LDS = 318;
+ public static final int X86_INS_FLDZ = 319;
+ public static final int X86_INS_FLD1 = 320;
+ public static final int X86_INS_FLD = 321;
+ public static final int X86_INS_LEA = 322;
+ public static final int X86_INS_LEAVE = 323;
+ public static final int X86_INS_LES = 324;
+ public static final int X86_INS_LFENCE = 325;
+ public static final int X86_INS_LFS = 326;
+ public static final int X86_INS_LGDT = 327;
+ public static final int X86_INS_LGS = 328;
+ public static final int X86_INS_LIDT = 329;
+ public static final int X86_INS_LLDT = 330;
+ public static final int X86_INS_LMSW = 331;
+ public static final int X86_INS_OR = 332;
+ public static final int X86_INS_SUB = 333;
+ public static final int X86_INS_XOR = 334;
+ public static final int X86_INS_LODSB = 335;
+ public static final int X86_INS_LODSD = 336;
+ public static final int X86_INS_LODSQ = 337;
+ public static final int X86_INS_LODSW = 338;
+ public static final int X86_INS_LOOP = 339;
+ public static final int X86_INS_LOOPE = 340;
+ public static final int X86_INS_LOOPNE = 341;
+ public static final int X86_INS_RETF = 342;
+ public static final int X86_INS_RETFQ = 343;
+ public static final int X86_INS_LSL = 344;
+ public static final int X86_INS_LSS = 345;
+ public static final int X86_INS_LTR = 346;
+ public static final int X86_INS_XADD = 347;
+ public static final int X86_INS_LZCNT = 348;
+ public static final int X86_INS_MASKMOVDQU = 349;
+ public static final int X86_INS_MAXPD = 350;
+ public static final int X86_INS_MAXPS = 351;
+ public static final int X86_INS_MAXSD = 352;
+ public static final int X86_INS_MAXSS = 353;
+ public static final int X86_INS_MFENCE = 354;
+ public static final int X86_INS_MINPD = 355;
+ public static final int X86_INS_MINPS = 356;
+ public static final int X86_INS_MINSD = 357;
+ public static final int X86_INS_MINSS = 358;
+ public static final int X86_INS_CVTPD2PI = 359;
+ public static final int X86_INS_CVTPI2PD = 360;
+ public static final int X86_INS_CVTPI2PS = 361;
+ public static final int X86_INS_CVTPS2PI = 362;
+ public static final int X86_INS_CVTTPD2PI = 363;
+ public static final int X86_INS_CVTTPS2PI = 364;
+ public static final int X86_INS_EMMS = 365;
+ public static final int X86_INS_MASKMOVQ = 366;
+ public static final int X86_INS_MOVD = 367;
+ public static final int X86_INS_MOVDQ2Q = 368;
+ public static final int X86_INS_MOVNTQ = 369;
+ public static final int X86_INS_MOVQ2DQ = 370;
+ public static final int X86_INS_MOVQ = 371;
+ public static final int X86_INS_PABSB = 372;
+ public static final int X86_INS_PABSD = 373;
+ public static final int X86_INS_PABSW = 374;
+ public static final int X86_INS_PACKSSDW = 375;
+ public static final int X86_INS_PACKSSWB = 376;
+ public static final int X86_INS_PACKUSWB = 377;
+ public static final int X86_INS_PADDB = 378;
+ public static final int X86_INS_PADDD = 379;
+ public static final int X86_INS_PADDQ = 380;
+ public static final int X86_INS_PADDSB = 381;
+ public static final int X86_INS_PADDSW = 382;
+ public static final int X86_INS_PADDUSB = 383;
+ public static final int X86_INS_PADDUSW = 384;
+ public static final int X86_INS_PADDW = 385;
+ public static final int X86_INS_PALIGNR = 386;
+ public static final int X86_INS_PANDN = 387;
+ public static final int X86_INS_PAND = 388;
+ public static final int X86_INS_PAVGB = 389;
+ public static final int X86_INS_PAVGW = 390;
+ public static final int X86_INS_PCMPEQB = 391;
+ public static final int X86_INS_PCMPEQD = 392;
+ public static final int X86_INS_PCMPEQW = 393;
+ public static final int X86_INS_PCMPGTB = 394;
+ public static final int X86_INS_PCMPGTD = 395;
+ public static final int X86_INS_PCMPGTW = 396;
+ public static final int X86_INS_PEXTRW = 397;
+ public static final int X86_INS_PHADDSW = 398;
+ public static final int X86_INS_PHADDW = 399;
+ public static final int X86_INS_PHADDD = 400;
+ public static final int X86_INS_PHSUBD = 401;
+ public static final int X86_INS_PHSUBSW = 402;
+ public static final int X86_INS_PHSUBW = 403;
+ public static final int X86_INS_PINSRW = 404;
+ public static final int X86_INS_PMADDUBSW = 405;
+ public static final int X86_INS_PMADDWD = 406;
+ public static final int X86_INS_PMAXSW = 407;
+ public static final int X86_INS_PMAXUB = 408;
+ public static final int X86_INS_PMINSW = 409;
+ public static final int X86_INS_PMINUB = 410;
+ public static final int X86_INS_PMOVMSKB = 411;
+ public static final int X86_INS_PMULHRSW = 412;
+ public static final int X86_INS_PMULHUW = 413;
+ public static final int X86_INS_PMULHW = 414;
+ public static final int X86_INS_PMULLW = 415;
+ public static final int X86_INS_PMULUDQ = 416;
+ public static final int X86_INS_POR = 417;
+ public static final int X86_INS_PSADBW = 418;
+ public static final int X86_INS_PSHUFB = 419;
+ public static final int X86_INS_PSHUFW = 420;
+ public static final int X86_INS_PSIGNB = 421;
+ public static final int X86_INS_PSIGND = 422;
+ public static final int X86_INS_PSIGNW = 423;
+ public static final int X86_INS_PSLLD = 424;
+ public static final int X86_INS_PSLLQ = 425;
+ public static final int X86_INS_PSLLW = 426;
+ public static final int X86_INS_PSRAD = 427;
+ public static final int X86_INS_PSRAW = 428;
+ public static final int X86_INS_PSRLD = 429;
+ public static final int X86_INS_PSRLQ = 430;
+ public static final int X86_INS_PSRLW = 431;
+ public static final int X86_INS_PSUBB = 432;
+ public static final int X86_INS_PSUBD = 433;
+ public static final int X86_INS_PSUBQ = 434;
+ public static final int X86_INS_PSUBSB = 435;
+ public static final int X86_INS_PSUBSW = 436;
+ public static final int X86_INS_PSUBUSB = 437;
+ public static final int X86_INS_PSUBUSW = 438;
+ public static final int X86_INS_PSUBW = 439;
+ public static final int X86_INS_PUNPCKHBW = 440;
+ public static final int X86_INS_PUNPCKHDQ = 441;
+ public static final int X86_INS_PUNPCKHWD = 442;
+ public static final int X86_INS_PUNPCKLBW = 443;
+ public static final int X86_INS_PUNPCKLDQ = 444;
+ public static final int X86_INS_PUNPCKLWD = 445;
+ public static final int X86_INS_PXOR = 446;
+ public static final int X86_INS_MONITOR = 447;
+ public static final int X86_INS_MONTMUL = 448;
+ public static final int X86_INS_MOV = 449;
+ public static final int X86_INS_MOVABS = 450;
+ public static final int X86_INS_MOVBE = 451;
+ public static final int X86_INS_MOVDDUP = 452;
+ public static final int X86_INS_MOVDQA = 453;
+ public static final int X86_INS_MOVDQU = 454;
+ public static final int X86_INS_MOVHLPS = 455;
+ public static final int X86_INS_MOVHPD = 456;
+ public static final int X86_INS_MOVHPS = 457;
+ public static final int X86_INS_MOVLHPS = 458;
+ public static final int X86_INS_MOVLPD = 459;
+ public static final int X86_INS_MOVLPS = 460;
+ public static final int X86_INS_MOVMSKPD = 461;
+ public static final int X86_INS_MOVMSKPS = 462;
+ public static final int X86_INS_MOVNTDQA = 463;
+ public static final int X86_INS_MOVNTDQ = 464;
+ public static final int X86_INS_MOVNTI = 465;
+ public static final int X86_INS_MOVNTPD = 466;
+ public static final int X86_INS_MOVNTPS = 467;
+ public static final int X86_INS_MOVNTSD = 468;
+ public static final int X86_INS_MOVNTSS = 469;
+ public static final int X86_INS_MOVSB = 470;
+ public static final int X86_INS_MOVSD = 471;
+ public static final int X86_INS_MOVSHDUP = 472;
+ public static final int X86_INS_MOVSLDUP = 473;
+ public static final int X86_INS_MOVSQ = 474;
+ public static final int X86_INS_MOVSS = 475;
+ public static final int X86_INS_MOVSW = 476;
+ public static final int X86_INS_MOVSX = 477;
+ public static final int X86_INS_MOVSXD = 478;
+ public static final int X86_INS_MOVUPD = 479;
+ public static final int X86_INS_MOVUPS = 480;
+ public static final int X86_INS_MOVZX = 481;
+ public static final int X86_INS_MPSADBW = 482;
+ public static final int X86_INS_MUL = 483;
+ public static final int X86_INS_MULPD = 484;
+ public static final int X86_INS_MULPS = 485;
+ public static final int X86_INS_MULSD = 486;
+ public static final int X86_INS_MULSS = 487;
+ public static final int X86_INS_MULX = 488;
+ public static final int X86_INS_FMUL = 489;
+ public static final int X86_INS_FIMUL = 490;
+ public static final int X86_INS_FMULP = 491;
+ public static final int X86_INS_MWAIT = 492;
+ public static final int X86_INS_NEG = 493;
+ public static final int X86_INS_NOP = 494;
+ public static final int X86_INS_NOT = 495;
+ public static final int X86_INS_OUT = 496;
+ public static final int X86_INS_OUTSB = 497;
+ public static final int X86_INS_OUTSD = 498;
+ public static final int X86_INS_OUTSW = 499;
+ public static final int X86_INS_PACKUSDW = 500;
+ public static final int X86_INS_PAUSE = 501;
+ public static final int X86_INS_PAVGUSB = 502;
+ public static final int X86_INS_PBLENDVB = 503;
+ public static final int X86_INS_PBLENDW = 504;
+ public static final int X86_INS_PCLMULQDQ = 505;
+ public static final int X86_INS_PCMPEQQ = 506;
+ public static final int X86_INS_PCMPESTRI = 507;
+ public static final int X86_INS_PCMPESTRM = 508;
+ public static final int X86_INS_PCMPGTQ = 509;
+ public static final int X86_INS_PCMPISTRI = 510;
+ public static final int X86_INS_PCMPISTRM = 511;
+ public static final int X86_INS_PCOMMIT = 512;
+ public static final int X86_INS_PDEP = 513;
+ public static final int X86_INS_PEXT = 514;
+ public static final int X86_INS_PEXTRB = 515;
+ public static final int X86_INS_PEXTRD = 516;
+ public static final int X86_INS_PEXTRQ = 517;
+ public static final int X86_INS_PF2ID = 518;
+ public static final int X86_INS_PF2IW = 519;
+ public static final int X86_INS_PFACC = 520;
+ public static final int X86_INS_PFADD = 521;
+ public static final int X86_INS_PFCMPEQ = 522;
+ public static final int X86_INS_PFCMPGE = 523;
+ public static final int X86_INS_PFCMPGT = 524;
+ public static final int X86_INS_PFMAX = 525;
+ public static final int X86_INS_PFMIN = 526;
+ public static final int X86_INS_PFMUL = 527;
+ public static final int X86_INS_PFNACC = 528;
+ public static final int X86_INS_PFPNACC = 529;
+ public static final int X86_INS_PFRCPIT1 = 530;
+ public static final int X86_INS_PFRCPIT2 = 531;
+ public static final int X86_INS_PFRCP = 532;
+ public static final int X86_INS_PFRSQIT1 = 533;
+ public static final int X86_INS_PFRSQRT = 534;
+ public static final int X86_INS_PFSUBR = 535;
+ public static final int X86_INS_PFSUB = 536;
+ public static final int X86_INS_PHMINPOSUW = 537;
+ public static final int X86_INS_PI2FD = 538;
+ public static final int X86_INS_PI2FW = 539;
+ public static final int X86_INS_PINSRB = 540;
+ public static final int X86_INS_PINSRD = 541;
+ public static final int X86_INS_PINSRQ = 542;
+ public static final int X86_INS_PMAXSB = 543;
+ public static final int X86_INS_PMAXSD = 544;
+ public static final int X86_INS_PMAXUD = 545;
+ public static final int X86_INS_PMAXUW = 546;
+ public static final int X86_INS_PMINSB = 547;
+ public static final int X86_INS_PMINSD = 548;
+ public static final int X86_INS_PMINUD = 549;
+ public static final int X86_INS_PMINUW = 550;
+ public static final int X86_INS_PMOVSXBD = 551;
+ public static final int X86_INS_PMOVSXBQ = 552;
+ public static final int X86_INS_PMOVSXBW = 553;
+ public static final int X86_INS_PMOVSXDQ = 554;
+ public static final int X86_INS_PMOVSXWD = 555;
+ public static final int X86_INS_PMOVSXWQ = 556;
+ public static final int X86_INS_PMOVZXBD = 557;
+ public static final int X86_INS_PMOVZXBQ = 558;
+ public static final int X86_INS_PMOVZXBW = 559;
+ public static final int X86_INS_PMOVZXDQ = 560;
+ public static final int X86_INS_PMOVZXWD = 561;
+ public static final int X86_INS_PMOVZXWQ = 562;
+ public static final int X86_INS_PMULDQ = 563;
+ public static final int X86_INS_PMULHRW = 564;
+ public static final int X86_INS_PMULLD = 565;
+ public static final int X86_INS_POP = 566;
+ public static final int X86_INS_POPAW = 567;
+ public static final int X86_INS_POPAL = 568;
+ public static final int X86_INS_POPCNT = 569;
+ public static final int X86_INS_POPF = 570;
+ public static final int X86_INS_POPFD = 571;
+ public static final int X86_INS_POPFQ = 572;
+ public static final int X86_INS_PREFETCH = 573;
+ public static final int X86_INS_PREFETCHNTA = 574;
+ public static final int X86_INS_PREFETCHT0 = 575;
+ public static final int X86_INS_PREFETCHT1 = 576;
+ public static final int X86_INS_PREFETCHT2 = 577;
+ public static final int X86_INS_PREFETCHW = 578;
+ public static final int X86_INS_PSHUFD = 579;
+ public static final int X86_INS_PSHUFHW = 580;
+ public static final int X86_INS_PSHUFLW = 581;
+ public static final int X86_INS_PSLLDQ = 582;
+ public static final int X86_INS_PSRLDQ = 583;
+ public static final int X86_INS_PSWAPD = 584;
+ public static final int X86_INS_PTEST = 585;
+ public static final int X86_INS_PUNPCKHQDQ = 586;
+ public static final int X86_INS_PUNPCKLQDQ = 587;
+ public static final int X86_INS_PUSH = 588;
+ public static final int X86_INS_PUSHAW = 589;
+ public static final int X86_INS_PUSHAL = 590;
+ public static final int X86_INS_PUSHF = 591;
+ public static final int X86_INS_PUSHFD = 592;
+ public static final int X86_INS_PUSHFQ = 593;
+ public static final int X86_INS_RCL = 594;
+ public static final int X86_INS_RCPPS = 595;
+ public static final int X86_INS_RCPSS = 596;
+ public static final int X86_INS_RCR = 597;
+ public static final int X86_INS_RDFSBASE = 598;
+ public static final int X86_INS_RDGSBASE = 599;
+ public static final int X86_INS_RDMSR = 600;
+ public static final int X86_INS_RDPMC = 601;
+ public static final int X86_INS_RDRAND = 602;
+ public static final int X86_INS_RDSEED = 603;
+ public static final int X86_INS_RDTSC = 604;
+ public static final int X86_INS_RDTSCP = 605;
+ public static final int X86_INS_ROL = 606;
+ public static final int X86_INS_ROR = 607;
+ public static final int X86_INS_RORX = 608;
+ public static final int X86_INS_ROUNDPD = 609;
+ public static final int X86_INS_ROUNDPS = 610;
+ public static final int X86_INS_ROUNDSD = 611;
+ public static final int X86_INS_ROUNDSS = 612;
+ public static final int X86_INS_RSM = 613;
+ public static final int X86_INS_RSQRTPS = 614;
+ public static final int X86_INS_RSQRTSS = 615;
+ public static final int X86_INS_SAHF = 616;
+ public static final int X86_INS_SAL = 617;
+ public static final int X86_INS_SALC = 618;
+ public static final int X86_INS_SAR = 619;
+ public static final int X86_INS_SARX = 620;
+ public static final int X86_INS_SBB = 621;
+ public static final int X86_INS_SCASB = 622;
+ public static final int X86_INS_SCASD = 623;
+ public static final int X86_INS_SCASQ = 624;
+ public static final int X86_INS_SCASW = 625;
+ public static final int X86_INS_SETAE = 626;
+ public static final int X86_INS_SETA = 627;
+ public static final int X86_INS_SETBE = 628;
+ public static final int X86_INS_SETB = 629;
+ public static final int X86_INS_SETE = 630;
+ public static final int X86_INS_SETGE = 631;
+ public static final int X86_INS_SETG = 632;
+ public static final int X86_INS_SETLE = 633;
+ public static final int X86_INS_SETL = 634;
+ public static final int X86_INS_SETNE = 635;
+ public static final int X86_INS_SETNO = 636;
+ public static final int X86_INS_SETNP = 637;
+ public static final int X86_INS_SETNS = 638;
+ public static final int X86_INS_SETO = 639;
+ public static final int X86_INS_SETP = 640;
+ public static final int X86_INS_SETS = 641;
+ public static final int X86_INS_SFENCE = 642;
+ public static final int X86_INS_SGDT = 643;
+ public static final int X86_INS_SHA1MSG1 = 644;
+ public static final int X86_INS_SHA1MSG2 = 645;
+ public static final int X86_INS_SHA1NEXTE = 646;
+ public static final int X86_INS_SHA1RNDS4 = 647;
+ public static final int X86_INS_SHA256MSG1 = 648;
+ public static final int X86_INS_SHA256MSG2 = 649;
+ public static final int X86_INS_SHA256RNDS2 = 650;
+ public static final int X86_INS_SHL = 651;
+ public static final int X86_INS_SHLD = 652;
+ public static final int X86_INS_SHLX = 653;
+ public static final int X86_INS_SHR = 654;
+ public static final int X86_INS_SHRD = 655;
+ public static final int X86_INS_SHRX = 656;
+ public static final int X86_INS_SHUFPD = 657;
+ public static final int X86_INS_SHUFPS = 658;
+ public static final int X86_INS_SIDT = 659;
+ public static final int X86_INS_FSIN = 660;
+ public static final int X86_INS_SKINIT = 661;
+ public static final int X86_INS_SLDT = 662;
+ public static final int X86_INS_SMSW = 663;
+ public static final int X86_INS_SQRTPD = 664;
+ public static final int X86_INS_SQRTPS = 665;
+ public static final int X86_INS_SQRTSD = 666;
+ public static final int X86_INS_SQRTSS = 667;
+ public static final int X86_INS_FSQRT = 668;
+ public static final int X86_INS_STAC = 669;
+ public static final int X86_INS_STC = 670;
+ public static final int X86_INS_STD = 671;
+ public static final int X86_INS_STGI = 672;
+ public static final int X86_INS_STI = 673;
+ public static final int X86_INS_STMXCSR = 674;
+ public static final int X86_INS_STOSB = 675;
+ public static final int X86_INS_STOSD = 676;
+ public static final int X86_INS_STOSQ = 677;
+ public static final int X86_INS_STOSW = 678;
+ public static final int X86_INS_STR = 679;
+ public static final int X86_INS_FST = 680;
+ public static final int X86_INS_FSTP = 681;
+ public static final int X86_INS_FSTPNCE = 682;
+ public static final int X86_INS_FXCH = 683;
+ public static final int X86_INS_SUBPD = 684;
+ public static final int X86_INS_SUBPS = 685;
+ public static final int X86_INS_FSUBR = 686;
+ public static final int X86_INS_FISUBR = 687;
+ public static final int X86_INS_FSUBRP = 688;
+ public static final int X86_INS_SUBSD = 689;
+ public static final int X86_INS_SUBSS = 690;
+ public static final int X86_INS_FSUB = 691;
+ public static final int X86_INS_FISUB = 692;
+ public static final int X86_INS_FSUBP = 693;
+ public static final int X86_INS_SWAPGS = 694;
+ public static final int X86_INS_SYSCALL = 695;
+ public static final int X86_INS_SYSENTER = 696;
+ public static final int X86_INS_SYSEXIT = 697;
+ public static final int X86_INS_SYSRET = 698;
+ public static final int X86_INS_T1MSKC = 699;
+ public static final int X86_INS_TEST = 700;
+ public static final int X86_INS_UD2 = 701;
+ public static final int X86_INS_FTST = 702;
+ public static final int X86_INS_TZCNT = 703;
+ public static final int X86_INS_TZMSK = 704;
+ public static final int X86_INS_FUCOMPI = 705;
+ public static final int X86_INS_FUCOMI = 706;
+ public static final int X86_INS_FUCOMPP = 707;
+ public static final int X86_INS_FUCOMP = 708;
+ public static final int X86_INS_FUCOM = 709;
+ public static final int X86_INS_UD2B = 710;
+ public static final int X86_INS_UNPCKHPD = 711;
+ public static final int X86_INS_UNPCKHPS = 712;
+ public static final int X86_INS_UNPCKLPD = 713;
+ public static final int X86_INS_UNPCKLPS = 714;
+ public static final int X86_INS_VADDPD = 715;
+ public static final int X86_INS_VADDPS = 716;
+ public static final int X86_INS_VADDSD = 717;
+ public static final int X86_INS_VADDSS = 718;
+ public static final int X86_INS_VADDSUBPD = 719;
+ public static final int X86_INS_VADDSUBPS = 720;
+ public static final int X86_INS_VAESDECLAST = 721;
+ public static final int X86_INS_VAESDEC = 722;
+ public static final int X86_INS_VAESENCLAST = 723;
+ public static final int X86_INS_VAESENC = 724;
+ public static final int X86_INS_VAESIMC = 725;
+ public static final int X86_INS_VAESKEYGENASSIST = 726;
+ public static final int X86_INS_VALIGND = 727;
+ public static final int X86_INS_VALIGNQ = 728;
+ public static final int X86_INS_VANDNPD = 729;
+ public static final int X86_INS_VANDNPS = 730;
+ public static final int X86_INS_VANDPD = 731;
+ public static final int X86_INS_VANDPS = 732;
+ public static final int X86_INS_VBLENDMPD = 733;
+ public static final int X86_INS_VBLENDMPS = 734;
+ public static final int X86_INS_VBLENDPD = 735;
+ public static final int X86_INS_VBLENDPS = 736;
+ public static final int X86_INS_VBLENDVPD = 737;
+ public static final int X86_INS_VBLENDVPS = 738;
+ public static final int X86_INS_VBROADCASTF128 = 739;
+ public static final int X86_INS_VBROADCASTI32X4 = 740;
+ public static final int X86_INS_VBROADCASTI64X4 = 741;
+ public static final int X86_INS_VBROADCASTSD = 742;
+ public static final int X86_INS_VBROADCASTSS = 743;
+ public static final int X86_INS_VCOMPRESSPD = 744;
+ public static final int X86_INS_VCOMPRESSPS = 745;
+ public static final int X86_INS_VCVTDQ2PD = 746;
+ public static final int X86_INS_VCVTDQ2PS = 747;
+ public static final int X86_INS_VCVTPD2DQX = 748;
+ public static final int X86_INS_VCVTPD2DQ = 749;
+ public static final int X86_INS_VCVTPD2PSX = 750;
+ public static final int X86_INS_VCVTPD2PS = 751;
+ public static final int X86_INS_VCVTPD2UDQ = 752;
+ public static final int X86_INS_VCVTPH2PS = 753;
+ public static final int X86_INS_VCVTPS2DQ = 754;
+ public static final int X86_INS_VCVTPS2PD = 755;
+ public static final int X86_INS_VCVTPS2PH = 756;
+ public static final int X86_INS_VCVTPS2UDQ = 757;
+ public static final int X86_INS_VCVTSD2SI = 758;
+ public static final int X86_INS_VCVTSD2USI = 759;
+ public static final int X86_INS_VCVTSS2SI = 760;
+ public static final int X86_INS_VCVTSS2USI = 761;
+ public static final int X86_INS_VCVTTPD2DQX = 762;
+ public static final int X86_INS_VCVTTPD2DQ = 763;
+ public static final int X86_INS_VCVTTPD2UDQ = 764;
+ public static final int X86_INS_VCVTTPS2DQ = 765;
+ public static final int X86_INS_VCVTTPS2UDQ = 766;
+ public static final int X86_INS_VCVTUDQ2PD = 767;
+ public static final int X86_INS_VCVTUDQ2PS = 768;
+ public static final int X86_INS_VDIVPD = 769;
+ public static final int X86_INS_VDIVPS = 770;
+ public static final int X86_INS_VDIVSD = 771;
+ public static final int X86_INS_VDIVSS = 772;
+ public static final int X86_INS_VDPPD = 773;
+ public static final int X86_INS_VDPPS = 774;
+ public static final int X86_INS_VERR = 775;
+ public static final int X86_INS_VERW = 776;
+ public static final int X86_INS_VEXP2PD = 777;
+ public static final int X86_INS_VEXP2PS = 778;
+ public static final int X86_INS_VEXPANDPD = 779;
+ public static final int X86_INS_VEXPANDPS = 780;
+ public static final int X86_INS_VEXTRACTF128 = 781;
+ public static final int X86_INS_VEXTRACTF32X4 = 782;
+ public static final int X86_INS_VEXTRACTF64X4 = 783;
+ public static final int X86_INS_VEXTRACTI128 = 784;
+ public static final int X86_INS_VEXTRACTI32X4 = 785;
+ public static final int X86_INS_VEXTRACTI64X4 = 786;
+ public static final int X86_INS_VEXTRACTPS = 787;
+ public static final int X86_INS_VFMADD132PD = 788;
+ public static final int X86_INS_VFMADD132PS = 789;
+ public static final int X86_INS_VFMADDPD = 790;
+ public static final int X86_INS_VFMADD213PD = 791;
+ public static final int X86_INS_VFMADD231PD = 792;
+ public static final int X86_INS_VFMADDPS = 793;
+ public static final int X86_INS_VFMADD213PS = 794;
+ public static final int X86_INS_VFMADD231PS = 795;
+ public static final int X86_INS_VFMADDSD = 796;
+ public static final int X86_INS_VFMADD213SD = 797;
+ public static final int X86_INS_VFMADD132SD = 798;
+ public static final int X86_INS_VFMADD231SD = 799;
+ public static final int X86_INS_VFMADDSS = 800;
+ public static final int X86_INS_VFMADD213SS = 801;
+ public static final int X86_INS_VFMADD132SS = 802;
+ public static final int X86_INS_VFMADD231SS = 803;
+ public static final int X86_INS_VFMADDSUB132PD = 804;
+ public static final int X86_INS_VFMADDSUB132PS = 805;
+ public static final int X86_INS_VFMADDSUBPD = 806;
+ public static final int X86_INS_VFMADDSUB213PD = 807;
+ public static final int X86_INS_VFMADDSUB231PD = 808;
+ public static final int X86_INS_VFMADDSUBPS = 809;
+ public static final int X86_INS_VFMADDSUB213PS = 810;
+ public static final int X86_INS_VFMADDSUB231PS = 811;
+ public static final int X86_INS_VFMSUB132PD = 812;
+ public static final int X86_INS_VFMSUB132PS = 813;
+ public static final int X86_INS_VFMSUBADD132PD = 814;
+ public static final int X86_INS_VFMSUBADD132PS = 815;
+ public static final int X86_INS_VFMSUBADDPD = 816;
+ public static final int X86_INS_VFMSUBADD213PD = 817;
+ public static final int X86_INS_VFMSUBADD231PD = 818;
+ public static final int X86_INS_VFMSUBADDPS = 819;
+ public static final int X86_INS_VFMSUBADD213PS = 820;
+ public static final int X86_INS_VFMSUBADD231PS = 821;
+ public static final int X86_INS_VFMSUBPD = 822;
+ public static final int X86_INS_VFMSUB213PD = 823;
+ public static final int X86_INS_VFMSUB231PD = 824;
+ public static final int X86_INS_VFMSUBPS = 825;
+ public static final int X86_INS_VFMSUB213PS = 826;
+ public static final int X86_INS_VFMSUB231PS = 827;
+ public static final int X86_INS_VFMSUBSD = 828;
+ public static final int X86_INS_VFMSUB213SD = 829;
+ public static final int X86_INS_VFMSUB132SD = 830;
+ public static final int X86_INS_VFMSUB231SD = 831;
+ public static final int X86_INS_VFMSUBSS = 832;
+ public static final int X86_INS_VFMSUB213SS = 833;
+ public static final int X86_INS_VFMSUB132SS = 834;
+ public static final int X86_INS_VFMSUB231SS = 835;
+ public static final int X86_INS_VFNMADD132PD = 836;
+ public static final int X86_INS_VFNMADD132PS = 837;
+ public static final int X86_INS_VFNMADDPD = 838;
+ public static final int X86_INS_VFNMADD213PD = 839;
+ public static final int X86_INS_VFNMADD231PD = 840;
+ public static final int X86_INS_VFNMADDPS = 841;
+ public static final int X86_INS_VFNMADD213PS = 842;
+ public static final int X86_INS_VFNMADD231PS = 843;
+ public static final int X86_INS_VFNMADDSD = 844;
+ public static final int X86_INS_VFNMADD213SD = 845;
+ public static final int X86_INS_VFNMADD132SD = 846;
+ public static final int X86_INS_VFNMADD231SD = 847;
+ public static final int X86_INS_VFNMADDSS = 848;
+ public static final int X86_INS_VFNMADD213SS = 849;
+ public static final int X86_INS_VFNMADD132SS = 850;
+ public static final int X86_INS_VFNMADD231SS = 851;
+ public static final int X86_INS_VFNMSUB132PD = 852;
+ public static final int X86_INS_VFNMSUB132PS = 853;
+ public static final int X86_INS_VFNMSUBPD = 854;
+ public static final int X86_INS_VFNMSUB213PD = 855;
+ public static final int X86_INS_VFNMSUB231PD = 856;
+ public static final int X86_INS_VFNMSUBPS = 857;
+ public static final int X86_INS_VFNMSUB213PS = 858;
+ public static final int X86_INS_VFNMSUB231PS = 859;
+ public static final int X86_INS_VFNMSUBSD = 860;
+ public static final int X86_INS_VFNMSUB213SD = 861;
+ public static final int X86_INS_VFNMSUB132SD = 862;
+ public static final int X86_INS_VFNMSUB231SD = 863;
+ public static final int X86_INS_VFNMSUBSS = 864;
+ public static final int X86_INS_VFNMSUB213SS = 865;
+ public static final int X86_INS_VFNMSUB132SS = 866;
+ public static final int X86_INS_VFNMSUB231SS = 867;
+ public static final int X86_INS_VFRCZPD = 868;
+ public static final int X86_INS_VFRCZPS = 869;
+ public static final int X86_INS_VFRCZSD = 870;
+ public static final int X86_INS_VFRCZSS = 871;
+ public static final int X86_INS_VORPD = 872;
+ public static final int X86_INS_VORPS = 873;
+ public static final int X86_INS_VXORPD = 874;
+ public static final int X86_INS_VXORPS = 875;
+ public static final int X86_INS_VGATHERDPD = 876;
+ public static final int X86_INS_VGATHERDPS = 877;
+ public static final int X86_INS_VGATHERPF0DPD = 878;
+ public static final int X86_INS_VGATHERPF0DPS = 879;
+ public static final int X86_INS_VGATHERPF0QPD = 880;
+ public static final int X86_INS_VGATHERPF0QPS = 881;
+ public static final int X86_INS_VGATHERPF1DPD = 882;
+ public static final int X86_INS_VGATHERPF1DPS = 883;
+ public static final int X86_INS_VGATHERPF1QPD = 884;
+ public static final int X86_INS_VGATHERPF1QPS = 885;
+ public static final int X86_INS_VGATHERQPD = 886;
+ public static final int X86_INS_VGATHERQPS = 887;
+ public static final int X86_INS_VHADDPD = 888;
+ public static final int X86_INS_VHADDPS = 889;
+ public static final int X86_INS_VHSUBPD = 890;
+ public static final int X86_INS_VHSUBPS = 891;
+ public static final int X86_INS_VINSERTF128 = 892;
+ public static final int X86_INS_VINSERTF32X4 = 893;
+ public static final int X86_INS_VINSERTF32X8 = 894;
+ public static final int X86_INS_VINSERTF64X2 = 895;
+ public static final int X86_INS_VINSERTF64X4 = 896;
+ public static final int X86_INS_VINSERTI128 = 897;
+ public static final int X86_INS_VINSERTI32X4 = 898;
+ public static final int X86_INS_VINSERTI32X8 = 899;
+ public static final int X86_INS_VINSERTI64X2 = 900;
+ public static final int X86_INS_VINSERTI64X4 = 901;
+ public static final int X86_INS_VINSERTPS = 902;
+ public static final int X86_INS_VLDDQU = 903;
+ public static final int X86_INS_VLDMXCSR = 904;
+ public static final int X86_INS_VMASKMOVDQU = 905;
+ public static final int X86_INS_VMASKMOVPD = 906;
+ public static final int X86_INS_VMASKMOVPS = 907;
+ public static final int X86_INS_VMAXPD = 908;
+ public static final int X86_INS_VMAXPS = 909;
+ public static final int X86_INS_VMAXSD = 910;
+ public static final int X86_INS_VMAXSS = 911;
+ public static final int X86_INS_VMCALL = 912;
+ public static final int X86_INS_VMCLEAR = 913;
+ public static final int X86_INS_VMFUNC = 914;
+ public static final int X86_INS_VMINPD = 915;
+ public static final int X86_INS_VMINPS = 916;
+ public static final int X86_INS_VMINSD = 917;
+ public static final int X86_INS_VMINSS = 918;
+ public static final int X86_INS_VMLAUNCH = 919;
+ public static final int X86_INS_VMLOAD = 920;
+ public static final int X86_INS_VMMCALL = 921;
+ public static final int X86_INS_VMOVQ = 922;
+ public static final int X86_INS_VMOVDDUP = 923;
+ public static final int X86_INS_VMOVD = 924;
+ public static final int X86_INS_VMOVDQA32 = 925;
+ public static final int X86_INS_VMOVDQA64 = 926;
+ public static final int X86_INS_VMOVDQA = 927;
+ public static final int X86_INS_VMOVDQU16 = 928;
+ public static final int X86_INS_VMOVDQU32 = 929;
+ public static final int X86_INS_VMOVDQU64 = 930;
+ public static final int X86_INS_VMOVDQU8 = 931;
+ public static final int X86_INS_VMOVDQU = 932;
+ public static final int X86_INS_VMOVHLPS = 933;
+ public static final int X86_INS_VMOVHPD = 934;
+ public static final int X86_INS_VMOVHPS = 935;
+ public static final int X86_INS_VMOVLHPS = 936;
+ public static final int X86_INS_VMOVLPD = 937;
+ public static final int X86_INS_VMOVLPS = 938;
+ public static final int X86_INS_VMOVMSKPD = 939;
+ public static final int X86_INS_VMOVMSKPS = 940;
+ public static final int X86_INS_VMOVNTDQA = 941;
+ public static final int X86_INS_VMOVNTDQ = 942;
+ public static final int X86_INS_VMOVNTPD = 943;
+ public static final int X86_INS_VMOVNTPS = 944;
+ public static final int X86_INS_VMOVSD = 945;
+ public static final int X86_INS_VMOVSHDUP = 946;
+ public static final int X86_INS_VMOVSLDUP = 947;
+ public static final int X86_INS_VMOVSS = 948;
+ public static final int X86_INS_VMOVUPD = 949;
+ public static final int X86_INS_VMOVUPS = 950;
+ public static final int X86_INS_VMPSADBW = 951;
+ public static final int X86_INS_VMPTRLD = 952;
+ public static final int X86_INS_VMPTRST = 953;
+ public static final int X86_INS_VMREAD = 954;
+ public static final int X86_INS_VMRESUME = 955;
+ public static final int X86_INS_VMRUN = 956;
+ public static final int X86_INS_VMSAVE = 957;
+ public static final int X86_INS_VMULPD = 958;
+ public static final int X86_INS_VMULPS = 959;
+ public static final int X86_INS_VMULSD = 960;
+ public static final int X86_INS_VMULSS = 961;
+ public static final int X86_INS_VMWRITE = 962;
+ public static final int X86_INS_VMXOFF = 963;
+ public static final int X86_INS_VMXON = 964;
+ public static final int X86_INS_VPABSB = 965;
+ public static final int X86_INS_VPABSD = 966;
+ public static final int X86_INS_VPABSQ = 967;
+ public static final int X86_INS_VPABSW = 968;
+ public static final int X86_INS_VPACKSSDW = 969;
+ public static final int X86_INS_VPACKSSWB = 970;
+ public static final int X86_INS_VPACKUSDW = 971;
+ public static final int X86_INS_VPACKUSWB = 972;
+ public static final int X86_INS_VPADDB = 973;
+ public static final int X86_INS_VPADDD = 974;
+ public static final int X86_INS_VPADDQ = 975;
+ public static final int X86_INS_VPADDSB = 976;
+ public static final int X86_INS_VPADDSW = 977;
+ public static final int X86_INS_VPADDUSB = 978;
+ public static final int X86_INS_VPADDUSW = 979;
+ public static final int X86_INS_VPADDW = 980;
+ public static final int X86_INS_VPALIGNR = 981;
+ public static final int X86_INS_VPANDD = 982;
+ public static final int X86_INS_VPANDND = 983;
+ public static final int X86_INS_VPANDNQ = 984;
+ public static final int X86_INS_VPANDN = 985;
+ public static final int X86_INS_VPANDQ = 986;
+ public static final int X86_INS_VPAND = 987;
+ public static final int X86_INS_VPAVGB = 988;
+ public static final int X86_INS_VPAVGW = 989;
+ public static final int X86_INS_VPBLENDD = 990;
+ public static final int X86_INS_VPBLENDMB = 991;
+ public static final int X86_INS_VPBLENDMD = 992;
+ public static final int X86_INS_VPBLENDMQ = 993;
+ public static final int X86_INS_VPBLENDMW = 994;
+ public static final int X86_INS_VPBLENDVB = 995;
+ public static final int X86_INS_VPBLENDW = 996;
+ public static final int X86_INS_VPBROADCASTB = 997;
+ public static final int X86_INS_VPBROADCASTD = 998;
+ public static final int X86_INS_VPBROADCASTMB2Q = 999;
+ public static final int X86_INS_VPBROADCASTMW2D = 1000;
+ public static final int X86_INS_VPBROADCASTQ = 1001;
+ public static final int X86_INS_VPBROADCASTW = 1002;
+ public static final int X86_INS_VPCLMULQDQ = 1003;
+ public static final int X86_INS_VPCMOV = 1004;
+ public static final int X86_INS_VPCMPB = 1005;
+ public static final int X86_INS_VPCMPD = 1006;
+ public static final int X86_INS_VPCMPEQB = 1007;
+ public static final int X86_INS_VPCMPEQD = 1008;
+ public static final int X86_INS_VPCMPEQQ = 1009;
+ public static final int X86_INS_VPCMPEQW = 1010;
+ public static final int X86_INS_VPCMPESTRI = 1011;
+ public static final int X86_INS_VPCMPESTRM = 1012;
+ public static final int X86_INS_VPCMPGTB = 1013;
+ public static final int X86_INS_VPCMPGTD = 1014;
+ public static final int X86_INS_VPCMPGTQ = 1015;
+ public static final int X86_INS_VPCMPGTW = 1016;
+ public static final int X86_INS_VPCMPISTRI = 1017;
+ public static final int X86_INS_VPCMPISTRM = 1018;
+ public static final int X86_INS_VPCMPQ = 1019;
+ public static final int X86_INS_VPCMPUB = 1020;
+ public static final int X86_INS_VPCMPUD = 1021;
+ public static final int X86_INS_VPCMPUQ = 1022;
+ public static final int X86_INS_VPCMPUW = 1023;
+ public static final int X86_INS_VPCMPW = 1024;
+ public static final int X86_INS_VPCOMB = 1025;
+ public static final int X86_INS_VPCOMD = 1026;
+ public static final int X86_INS_VPCOMPRESSD = 1027;
+ public static final int X86_INS_VPCOMPRESSQ = 1028;
+ public static final int X86_INS_VPCOMQ = 1029;
+ public static final int X86_INS_VPCOMUB = 1030;
+ public static final int X86_INS_VPCOMUD = 1031;
+ public static final int X86_INS_VPCOMUQ = 1032;
+ public static final int X86_INS_VPCOMUW = 1033;
+ public static final int X86_INS_VPCOMW = 1034;
+ public static final int X86_INS_VPCONFLICTD = 1035;
+ public static final int X86_INS_VPCONFLICTQ = 1036;
+ public static final int X86_INS_VPERM2F128 = 1037;
+ public static final int X86_INS_VPERM2I128 = 1038;
+ public static final int X86_INS_VPERMD = 1039;
+ public static final int X86_INS_VPERMI2D = 1040;
+ public static final int X86_INS_VPERMI2PD = 1041;
+ public static final int X86_INS_VPERMI2PS = 1042;
+ public static final int X86_INS_VPERMI2Q = 1043;
+ public static final int X86_INS_VPERMIL2PD = 1044;
+ public static final int X86_INS_VPERMIL2PS = 1045;
+ public static final int X86_INS_VPERMILPD = 1046;
+ public static final int X86_INS_VPERMILPS = 1047;
+ public static final int X86_INS_VPERMPD = 1048;
+ public static final int X86_INS_VPERMPS = 1049;
+ public static final int X86_INS_VPERMQ = 1050;
+ public static final int X86_INS_VPERMT2D = 1051;
+ public static final int X86_INS_VPERMT2PD = 1052;
+ public static final int X86_INS_VPERMT2PS = 1053;
+ public static final int X86_INS_VPERMT2Q = 1054;
+ public static final int X86_INS_VPEXPANDD = 1055;
+ public static final int X86_INS_VPEXPANDQ = 1056;
+ public static final int X86_INS_VPEXTRB = 1057;
+ public static final int X86_INS_VPEXTRD = 1058;
+ public static final int X86_INS_VPEXTRQ = 1059;
+ public static final int X86_INS_VPEXTRW = 1060;
+ public static final int X86_INS_VPGATHERDD = 1061;
+ public static final int X86_INS_VPGATHERDQ = 1062;
+ public static final int X86_INS_VPGATHERQD = 1063;
+ public static final int X86_INS_VPGATHERQQ = 1064;
+ public static final int X86_INS_VPHADDBD = 1065;
+ public static final int X86_INS_VPHADDBQ = 1066;
+ public static final int X86_INS_VPHADDBW = 1067;
+ public static final int X86_INS_VPHADDDQ = 1068;
+ public static final int X86_INS_VPHADDD = 1069;
+ public static final int X86_INS_VPHADDSW = 1070;
+ public static final int X86_INS_VPHADDUBD = 1071;
+ public static final int X86_INS_VPHADDUBQ = 1072;
+ public static final int X86_INS_VPHADDUBW = 1073;
+ public static final int X86_INS_VPHADDUDQ = 1074;
+ public static final int X86_INS_VPHADDUWD = 1075;
+ public static final int X86_INS_VPHADDUWQ = 1076;
+ public static final int X86_INS_VPHADDWD = 1077;
+ public static final int X86_INS_VPHADDWQ = 1078;
+ public static final int X86_INS_VPHADDW = 1079;
+ public static final int X86_INS_VPHMINPOSUW = 1080;
+ public static final int X86_INS_VPHSUBBW = 1081;
+ public static final int X86_INS_VPHSUBDQ = 1082;
+ public static final int X86_INS_VPHSUBD = 1083;
+ public static final int X86_INS_VPHSUBSW = 1084;
+ public static final int X86_INS_VPHSUBWD = 1085;
+ public static final int X86_INS_VPHSUBW = 1086;
+ public static final int X86_INS_VPINSRB = 1087;
+ public static final int X86_INS_VPINSRD = 1088;
+ public static final int X86_INS_VPINSRQ = 1089;
+ public static final int X86_INS_VPINSRW = 1090;
+ public static final int X86_INS_VPLZCNTD = 1091;
+ public static final int X86_INS_VPLZCNTQ = 1092;
+ public static final int X86_INS_VPMACSDD = 1093;
+ public static final int X86_INS_VPMACSDQH = 1094;
+ public static final int X86_INS_VPMACSDQL = 1095;
+ public static final int X86_INS_VPMACSSDD = 1096;
+ public static final int X86_INS_VPMACSSDQH = 1097;
+ public static final int X86_INS_VPMACSSDQL = 1098;
+ public static final int X86_INS_VPMACSSWD = 1099;
+ public static final int X86_INS_VPMACSSWW = 1100;
+ public static final int X86_INS_VPMACSWD = 1101;
+ public static final int X86_INS_VPMACSWW = 1102;
+ public static final int X86_INS_VPMADCSSWD = 1103;
+ public static final int X86_INS_VPMADCSWD = 1104;
+ public static final int X86_INS_VPMADDUBSW = 1105;
+ public static final int X86_INS_VPMADDWD = 1106;
+ public static final int X86_INS_VPMASKMOVD = 1107;
+ public static final int X86_INS_VPMASKMOVQ = 1108;
+ public static final int X86_INS_VPMAXSB = 1109;
+ public static final int X86_INS_VPMAXSD = 1110;
+ public static final int X86_INS_VPMAXSQ = 1111;
+ public static final int X86_INS_VPMAXSW = 1112;
+ public static final int X86_INS_VPMAXUB = 1113;
+ public static final int X86_INS_VPMAXUD = 1114;
+ public static final int X86_INS_VPMAXUQ = 1115;
+ public static final int X86_INS_VPMAXUW = 1116;
+ public static final int X86_INS_VPMINSB = 1117;
+ public static final int X86_INS_VPMINSD = 1118;
+ public static final int X86_INS_VPMINSQ = 1119;
+ public static final int X86_INS_VPMINSW = 1120;
+ public static final int X86_INS_VPMINUB = 1121;
+ public static final int X86_INS_VPMINUD = 1122;
+ public static final int X86_INS_VPMINUQ = 1123;
+ public static final int X86_INS_VPMINUW = 1124;
+ public static final int X86_INS_VPMOVDB = 1125;
+ public static final int X86_INS_VPMOVDW = 1126;
+ public static final int X86_INS_VPMOVM2B = 1127;
+ public static final int X86_INS_VPMOVM2D = 1128;
+ public static final int X86_INS_VPMOVM2Q = 1129;
+ public static final int X86_INS_VPMOVM2W = 1130;
+ public static final int X86_INS_VPMOVMSKB = 1131;
+ public static final int X86_INS_VPMOVQB = 1132;
+ public static final int X86_INS_VPMOVQD = 1133;
+ public static final int X86_INS_VPMOVQW = 1134;
+ public static final int X86_INS_VPMOVSDB = 1135;
+ public static final int X86_INS_VPMOVSDW = 1136;
+ public static final int X86_INS_VPMOVSQB = 1137;
+ public static final int X86_INS_VPMOVSQD = 1138;
+ public static final int X86_INS_VPMOVSQW = 1139;
+ public static final int X86_INS_VPMOVSXBD = 1140;
+ public static final int X86_INS_VPMOVSXBQ = 1141;
+ public static final int X86_INS_VPMOVSXBW = 1142;
+ public static final int X86_INS_VPMOVSXDQ = 1143;
+ public static final int X86_INS_VPMOVSXWD = 1144;
+ public static final int X86_INS_VPMOVSXWQ = 1145;
+ public static final int X86_INS_VPMOVUSDB = 1146;
+ public static final int X86_INS_VPMOVUSDW = 1147;
+ public static final int X86_INS_VPMOVUSQB = 1148;
+ public static final int X86_INS_VPMOVUSQD = 1149;
+ public static final int X86_INS_VPMOVUSQW = 1150;
+ public static final int X86_INS_VPMOVZXBD = 1151;
+ public static final int X86_INS_VPMOVZXBQ = 1152;
+ public static final int X86_INS_VPMOVZXBW = 1153;
+ public static final int X86_INS_VPMOVZXDQ = 1154;
+ public static final int X86_INS_VPMOVZXWD = 1155;
+ public static final int X86_INS_VPMOVZXWQ = 1156;
+ public static final int X86_INS_VPMULDQ = 1157;
+ public static final int X86_INS_VPMULHRSW = 1158;
+ public static final int X86_INS_VPMULHUW = 1159;
+ public static final int X86_INS_VPMULHW = 1160;
+ public static final int X86_INS_VPMULLD = 1161;
+ public static final int X86_INS_VPMULLQ = 1162;
+ public static final int X86_INS_VPMULLW = 1163;
+ public static final int X86_INS_VPMULUDQ = 1164;
+ public static final int X86_INS_VPORD = 1165;
+ public static final int X86_INS_VPORQ = 1166;
+ public static final int X86_INS_VPOR = 1167;
+ public static final int X86_INS_VPPERM = 1168;
+ public static final int X86_INS_VPROTB = 1169;
+ public static final int X86_INS_VPROTD = 1170;
+ public static final int X86_INS_VPROTQ = 1171;
+ public static final int X86_INS_VPROTW = 1172;
+ public static final int X86_INS_VPSADBW = 1173;
+ public static final int X86_INS_VPSCATTERDD = 1174;
+ public static final int X86_INS_VPSCATTERDQ = 1175;
+ public static final int X86_INS_VPSCATTERQD = 1176;
+ public static final int X86_INS_VPSCATTERQQ = 1177;
+ public static final int X86_INS_VPSHAB = 1178;
+ public static final int X86_INS_VPSHAD = 1179;
+ public static final int X86_INS_VPSHAQ = 1180;
+ public static final int X86_INS_VPSHAW = 1181;
+ public static final int X86_INS_VPSHLB = 1182;
+ public static final int X86_INS_VPSHLD = 1183;
+ public static final int X86_INS_VPSHLQ = 1184;
+ public static final int X86_INS_VPSHLW = 1185;
+ public static final int X86_INS_VPSHUFB = 1186;
+ public static final int X86_INS_VPSHUFD = 1187;
+ public static final int X86_INS_VPSHUFHW = 1188;
+ public static final int X86_INS_VPSHUFLW = 1189;
+ public static final int X86_INS_VPSIGNB = 1190;
+ public static final int X86_INS_VPSIGND = 1191;
+ public static final int X86_INS_VPSIGNW = 1192;
+ public static final int X86_INS_VPSLLDQ = 1193;
+ public static final int X86_INS_VPSLLD = 1194;
+ public static final int X86_INS_VPSLLQ = 1195;
+ public static final int X86_INS_VPSLLVD = 1196;
+ public static final int X86_INS_VPSLLVQ = 1197;
+ public static final int X86_INS_VPSLLW = 1198;
+ public static final int X86_INS_VPSRAD = 1199;
+ public static final int X86_INS_VPSRAQ = 1200;
+ public static final int X86_INS_VPSRAVD = 1201;
+ public static final int X86_INS_VPSRAVQ = 1202;
+ public static final int X86_INS_VPSRAW = 1203;
+ public static final int X86_INS_VPSRLDQ = 1204;
+ public static final int X86_INS_VPSRLD = 1205;
+ public static final int X86_INS_VPSRLQ = 1206;
+ public static final int X86_INS_VPSRLVD = 1207;
+ public static final int X86_INS_VPSRLVQ = 1208;
+ public static final int X86_INS_VPSRLW = 1209;
+ public static final int X86_INS_VPSUBB = 1210;
+ public static final int X86_INS_VPSUBD = 1211;
+ public static final int X86_INS_VPSUBQ = 1212;
+ public static final int X86_INS_VPSUBSB = 1213;
+ public static final int X86_INS_VPSUBSW = 1214;
+ public static final int X86_INS_VPSUBUSB = 1215;
+ public static final int X86_INS_VPSUBUSW = 1216;
+ public static final int X86_INS_VPSUBW = 1217;
+ public static final int X86_INS_VPTESTMD = 1218;
+ public static final int X86_INS_VPTESTMQ = 1219;
+ public static final int X86_INS_VPTESTNMD = 1220;
+ public static final int X86_INS_VPTESTNMQ = 1221;
+ public static final int X86_INS_VPTEST = 1222;
+ public static final int X86_INS_VPUNPCKHBW = 1223;
+ public static final int X86_INS_VPUNPCKHDQ = 1224;
+ public static final int X86_INS_VPUNPCKHQDQ = 1225;
+ public static final int X86_INS_VPUNPCKHWD = 1226;
+ public static final int X86_INS_VPUNPCKLBW = 1227;
+ public static final int X86_INS_VPUNPCKLDQ = 1228;
+ public static final int X86_INS_VPUNPCKLQDQ = 1229;
+ public static final int X86_INS_VPUNPCKLWD = 1230;
+ public static final int X86_INS_VPXORD = 1231;
+ public static final int X86_INS_VPXORQ = 1232;
+ public static final int X86_INS_VPXOR = 1233;
+ public static final int X86_INS_VRCP14PD = 1234;
+ public static final int X86_INS_VRCP14PS = 1235;
+ public static final int X86_INS_VRCP14SD = 1236;
+ public static final int X86_INS_VRCP14SS = 1237;
+ public static final int X86_INS_VRCP28PD = 1238;
+ public static final int X86_INS_VRCP28PS = 1239;
+ public static final int X86_INS_VRCP28SD = 1240;
+ public static final int X86_INS_VRCP28SS = 1241;
+ public static final int X86_INS_VRCPPS = 1242;
+ public static final int X86_INS_VRCPSS = 1243;
+ public static final int X86_INS_VRNDSCALEPD = 1244;
+ public static final int X86_INS_VRNDSCALEPS = 1245;
+ public static final int X86_INS_VRNDSCALESD = 1246;
+ public static final int X86_INS_VRNDSCALESS = 1247;
+ public static final int X86_INS_VROUNDPD = 1248;
+ public static final int X86_INS_VROUNDPS = 1249;
+ public static final int X86_INS_VROUNDSD = 1250;
+ public static final int X86_INS_VROUNDSS = 1251;
+ public static final int X86_INS_VRSQRT14PD = 1252;
+ public static final int X86_INS_VRSQRT14PS = 1253;
+ public static final int X86_INS_VRSQRT14SD = 1254;
+ public static final int X86_INS_VRSQRT14SS = 1255;
+ public static final int X86_INS_VRSQRT28PD = 1256;
+ public static final int X86_INS_VRSQRT28PS = 1257;
+ public static final int X86_INS_VRSQRT28SD = 1258;
+ public static final int X86_INS_VRSQRT28SS = 1259;
+ public static final int X86_INS_VRSQRTPS = 1260;
+ public static final int X86_INS_VRSQRTSS = 1261;
+ public static final int X86_INS_VSCATTERDPD = 1262;
+ public static final int X86_INS_VSCATTERDPS = 1263;
+ public static final int X86_INS_VSCATTERPF0DPD = 1264;
+ public static final int X86_INS_VSCATTERPF0DPS = 1265;
+ public static final int X86_INS_VSCATTERPF0QPD = 1266;
+ public static final int X86_INS_VSCATTERPF0QPS = 1267;
+ public static final int X86_INS_VSCATTERPF1DPD = 1268;
+ public static final int X86_INS_VSCATTERPF1DPS = 1269;
+ public static final int X86_INS_VSCATTERPF1QPD = 1270;
+ public static final int X86_INS_VSCATTERPF1QPS = 1271;
+ public static final int X86_INS_VSCATTERQPD = 1272;
+ public static final int X86_INS_VSCATTERQPS = 1273;
+ public static final int X86_INS_VSHUFPD = 1274;
+ public static final int X86_INS_VSHUFPS = 1275;
+ public static final int X86_INS_VSQRTPD = 1276;
+ public static final int X86_INS_VSQRTPS = 1277;
+ public static final int X86_INS_VSQRTSD = 1278;
+ public static final int X86_INS_VSQRTSS = 1279;
+ public static final int X86_INS_VSTMXCSR = 1280;
+ public static final int X86_INS_VSUBPD = 1281;
+ public static final int X86_INS_VSUBPS = 1282;
+ public static final int X86_INS_VSUBSD = 1283;
+ public static final int X86_INS_VSUBSS = 1284;
+ public static final int X86_INS_VTESTPD = 1285;
+ public static final int X86_INS_VTESTPS = 1286;
+ public static final int X86_INS_VUNPCKHPD = 1287;
+ public static final int X86_INS_VUNPCKHPS = 1288;
+ public static final int X86_INS_VUNPCKLPD = 1289;
+ public static final int X86_INS_VUNPCKLPS = 1290;
+ public static final int X86_INS_VZEROALL = 1291;
+ public static final int X86_INS_VZEROUPPER = 1292;
+ public static final int X86_INS_WAIT = 1293;
+ public static final int X86_INS_WBINVD = 1294;
+ public static final int X86_INS_WRFSBASE = 1295;
+ public static final int X86_INS_WRGSBASE = 1296;
+ public static final int X86_INS_WRMSR = 1297;
+ public static final int X86_INS_XABORT = 1298;
+ public static final int X86_INS_XACQUIRE = 1299;
+ public static final int X86_INS_XBEGIN = 1300;
+ public static final int X86_INS_XCHG = 1301;
+ public static final int X86_INS_XCRYPTCBC = 1302;
+ public static final int X86_INS_XCRYPTCFB = 1303;
+ public static final int X86_INS_XCRYPTCTR = 1304;
+ public static final int X86_INS_XCRYPTECB = 1305;
+ public static final int X86_INS_XCRYPTOFB = 1306;
+ public static final int X86_INS_XEND = 1307;
+ public static final int X86_INS_XGETBV = 1308;
+ public static final int X86_INS_XLATB = 1309;
+ public static final int X86_INS_XRELEASE = 1310;
+ public static final int X86_INS_XRSTOR = 1311;
+ public static final int X86_INS_XRSTOR64 = 1312;
+ public static final int X86_INS_XRSTORS = 1313;
+ public static final int X86_INS_XRSTORS64 = 1314;
+ public static final int X86_INS_XSAVE = 1315;
+ public static final int X86_INS_XSAVE64 = 1316;
+ public static final int X86_INS_XSAVEC = 1317;
+ public static final int X86_INS_XSAVEC64 = 1318;
+ public static final int X86_INS_XSAVEOPT = 1319;
+ public static final int X86_INS_XSAVEOPT64 = 1320;
+ public static final int X86_INS_XSAVES = 1321;
+ public static final int X86_INS_XSAVES64 = 1322;
+ public static final int X86_INS_XSETBV = 1323;
+ public static final int X86_INS_XSHA1 = 1324;
+ public static final int X86_INS_XSHA256 = 1325;
+ public static final int X86_INS_XSTORE = 1326;
+ public static final int X86_INS_XTEST = 1327;
+ public static final int X86_INS_FDISI8087_NOP = 1328;
+ public static final int X86_INS_FENI8087_NOP = 1329;
+ public static final int X86_INS_CMPSS = 1330;
+ public static final int X86_INS_CMPEQSS = 1331;
+ public static final int X86_INS_CMPLTSS = 1332;
+ public static final int X86_INS_CMPLESS = 1333;
+ public static final int X86_INS_CMPUNORDSS = 1334;
+ public static final int X86_INS_CMPNEQSS = 1335;
+ public static final int X86_INS_CMPNLTSS = 1336;
+ public static final int X86_INS_CMPNLESS = 1337;
+ public static final int X86_INS_CMPORDSS = 1338;
+ public static final int X86_INS_CMPSD = 1339;
+ public static final int X86_INS_CMPEQSD = 1340;
+ public static final int X86_INS_CMPLTSD = 1341;
+ public static final int X86_INS_CMPLESD = 1342;
+ public static final int X86_INS_CMPUNORDSD = 1343;
+ public static final int X86_INS_CMPNEQSD = 1344;
+ public static final int X86_INS_CMPNLTSD = 1345;
+ public static final int X86_INS_CMPNLESD = 1346;
+ public static final int X86_INS_CMPORDSD = 1347;
+ public static final int X86_INS_CMPPS = 1348;
+ public static final int X86_INS_CMPEQPS = 1349;
+ public static final int X86_INS_CMPLTPS = 1350;
+ public static final int X86_INS_CMPLEPS = 1351;
+ public static final int X86_INS_CMPUNORDPS = 1352;
+ public static final int X86_INS_CMPNEQPS = 1353;
+ public static final int X86_INS_CMPNLTPS = 1354;
+ public static final int X86_INS_CMPNLEPS = 1355;
+ public static final int X86_INS_CMPORDPS = 1356;
+ public static final int X86_INS_CMPPD = 1357;
+ public static final int X86_INS_CMPEQPD = 1358;
+ public static final int X86_INS_CMPLTPD = 1359;
+ public static final int X86_INS_CMPLEPD = 1360;
+ public static final int X86_INS_CMPUNORDPD = 1361;
+ public static final int X86_INS_CMPNEQPD = 1362;
+ public static final int X86_INS_CMPNLTPD = 1363;
+ public static final int X86_INS_CMPNLEPD = 1364;
+ public static final int X86_INS_CMPORDPD = 1365;
+ public static final int X86_INS_VCMPSS = 1366;
+ public static final int X86_INS_VCMPEQSS = 1367;
+ public static final int X86_INS_VCMPLTSS = 1368;
+ public static final int X86_INS_VCMPLESS = 1369;
+ public static final int X86_INS_VCMPUNORDSS = 1370;
+ public static final int X86_INS_VCMPNEQSS = 1371;
+ public static final int X86_INS_VCMPNLTSS = 1372;
+ public static final int X86_INS_VCMPNLESS = 1373;
+ public static final int X86_INS_VCMPORDSS = 1374;
+ public static final int X86_INS_VCMPEQ_UQSS = 1375;
+ public static final int X86_INS_VCMPNGESS = 1376;
+ public static final int X86_INS_VCMPNGTSS = 1377;
+ public static final int X86_INS_VCMPFALSESS = 1378;
+ public static final int X86_INS_VCMPNEQ_OQSS = 1379;
+ public static final int X86_INS_VCMPGESS = 1380;
+ public static final int X86_INS_VCMPGTSS = 1381;
+ public static final int X86_INS_VCMPTRUESS = 1382;
+ public static final int X86_INS_VCMPEQ_OSSS = 1383;
+ public static final int X86_INS_VCMPLT_OQSS = 1384;
+ public static final int X86_INS_VCMPLE_OQSS = 1385;
+ public static final int X86_INS_VCMPUNORD_SSS = 1386;
+ public static final int X86_INS_VCMPNEQ_USSS = 1387;
+ public static final int X86_INS_VCMPNLT_UQSS = 1388;
+ public static final int X86_INS_VCMPNLE_UQSS = 1389;
+ public static final int X86_INS_VCMPORD_SSS = 1390;
+ public static final int X86_INS_VCMPEQ_USSS = 1391;
+ public static final int X86_INS_VCMPNGE_UQSS = 1392;
+ public static final int X86_INS_VCMPNGT_UQSS = 1393;
+ public static final int X86_INS_VCMPFALSE_OSSS = 1394;
+ public static final int X86_INS_VCMPNEQ_OSSS = 1395;
+ public static final int X86_INS_VCMPGE_OQSS = 1396;
+ public static final int X86_INS_VCMPGT_OQSS = 1397;
+ public static final int X86_INS_VCMPTRUE_USSS = 1398;
+ public static final int X86_INS_VCMPSD = 1399;
+ public static final int X86_INS_VCMPEQSD = 1400;
+ public static final int X86_INS_VCMPLTSD = 1401;
+ public static final int X86_INS_VCMPLESD = 1402;
+ public static final int X86_INS_VCMPUNORDSD = 1403;
+ public static final int X86_INS_VCMPNEQSD = 1404;
+ public static final int X86_INS_VCMPNLTSD = 1405;
+ public static final int X86_INS_VCMPNLESD = 1406;
+ public static final int X86_INS_VCMPORDSD = 1407;
+ public static final int X86_INS_VCMPEQ_UQSD = 1408;
+ public static final int X86_INS_VCMPNGESD = 1409;
+ public static final int X86_INS_VCMPNGTSD = 1410;
+ public static final int X86_INS_VCMPFALSESD = 1411;
+ public static final int X86_INS_VCMPNEQ_OQSD = 1412;
+ public static final int X86_INS_VCMPGESD = 1413;
+ public static final int X86_INS_VCMPGTSD = 1414;
+ public static final int X86_INS_VCMPTRUESD = 1415;
+ public static final int X86_INS_VCMPEQ_OSSD = 1416;
+ public static final int X86_INS_VCMPLT_OQSD = 1417;
+ public static final int X86_INS_VCMPLE_OQSD = 1418;
+ public static final int X86_INS_VCMPUNORD_SSD = 1419;
+ public static final int X86_INS_VCMPNEQ_USSD = 1420;
+ public static final int X86_INS_VCMPNLT_UQSD = 1421;
+ public static final int X86_INS_VCMPNLE_UQSD = 1422;
+ public static final int X86_INS_VCMPORD_SSD = 1423;
+ public static final int X86_INS_VCMPEQ_USSD = 1424;
+ public static final int X86_INS_VCMPNGE_UQSD = 1425;
+ public static final int X86_INS_VCMPNGT_UQSD = 1426;
+ public static final int X86_INS_VCMPFALSE_OSSD = 1427;
+ public static final int X86_INS_VCMPNEQ_OSSD = 1428;
+ public static final int X86_INS_VCMPGE_OQSD = 1429;
+ public static final int X86_INS_VCMPGT_OQSD = 1430;
+ public static final int X86_INS_VCMPTRUE_USSD = 1431;
+ public static final int X86_INS_VCMPPS = 1432;
+ public static final int X86_INS_VCMPEQPS = 1433;
+ public static final int X86_INS_VCMPLTPS = 1434;
+ public static final int X86_INS_VCMPLEPS = 1435;
+ public static final int X86_INS_VCMPUNORDPS = 1436;
+ public static final int X86_INS_VCMPNEQPS = 1437;
+ public static final int X86_INS_VCMPNLTPS = 1438;
+ public static final int X86_INS_VCMPNLEPS = 1439;
+ public static final int X86_INS_VCMPORDPS = 1440;
+ public static final int X86_INS_VCMPEQ_UQPS = 1441;
+ public static final int X86_INS_VCMPNGEPS = 1442;
+ public static final int X86_INS_VCMPNGTPS = 1443;
+ public static final int X86_INS_VCMPFALSEPS = 1444;
+ public static final int X86_INS_VCMPNEQ_OQPS = 1445;
+ public static final int X86_INS_VCMPGEPS = 1446;
+ public static final int X86_INS_VCMPGTPS = 1447;
+ public static final int X86_INS_VCMPTRUEPS = 1448;
+ public static final int X86_INS_VCMPEQ_OSPS = 1449;
+ public static final int X86_INS_VCMPLT_OQPS = 1450;
+ public static final int X86_INS_VCMPLE_OQPS = 1451;
+ public static final int X86_INS_VCMPUNORD_SPS = 1452;
+ public static final int X86_INS_VCMPNEQ_USPS = 1453;
+ public static final int X86_INS_VCMPNLT_UQPS = 1454;
+ public static final int X86_INS_VCMPNLE_UQPS = 1455;
+ public static final int X86_INS_VCMPORD_SPS = 1456;
+ public static final int X86_INS_VCMPEQ_USPS = 1457;
+ public static final int X86_INS_VCMPNGE_UQPS = 1458;
+ public static final int X86_INS_VCMPNGT_UQPS = 1459;
+ public static final int X86_INS_VCMPFALSE_OSPS = 1460;
+ public static final int X86_INS_VCMPNEQ_OSPS = 1461;
+ public static final int X86_INS_VCMPGE_OQPS = 1462;
+ public static final int X86_INS_VCMPGT_OQPS = 1463;
+ public static final int X86_INS_VCMPTRUE_USPS = 1464;
+ public static final int X86_INS_VCMPPD = 1465;
+ public static final int X86_INS_VCMPEQPD = 1466;
+ public static final int X86_INS_VCMPLTPD = 1467;
+ public static final int X86_INS_VCMPLEPD = 1468;
+ public static final int X86_INS_VCMPUNORDPD = 1469;
+ public static final int X86_INS_VCMPNEQPD = 1470;
+ public static final int X86_INS_VCMPNLTPD = 1471;
+ public static final int X86_INS_VCMPNLEPD = 1472;
+ public static final int X86_INS_VCMPORDPD = 1473;
+ public static final int X86_INS_VCMPEQ_UQPD = 1474;
+ public static final int X86_INS_VCMPNGEPD = 1475;
+ public static final int X86_INS_VCMPNGTPD = 1476;
+ public static final int X86_INS_VCMPFALSEPD = 1477;
+ public static final int X86_INS_VCMPNEQ_OQPD = 1478;
+ public static final int X86_INS_VCMPGEPD = 1479;
+ public static final int X86_INS_VCMPGTPD = 1480;
+ public static final int X86_INS_VCMPTRUEPD = 1481;
+ public static final int X86_INS_VCMPEQ_OSPD = 1482;
+ public static final int X86_INS_VCMPLT_OQPD = 1483;
+ public static final int X86_INS_VCMPLE_OQPD = 1484;
+ public static final int X86_INS_VCMPUNORD_SPD = 1485;
+ public static final int X86_INS_VCMPNEQ_USPD = 1486;
+ public static final int X86_INS_VCMPNLT_UQPD = 1487;
+ public static final int X86_INS_VCMPNLE_UQPD = 1488;
+ public static final int X86_INS_VCMPORD_SPD = 1489;
+ public static final int X86_INS_VCMPEQ_USPD = 1490;
+ public static final int X86_INS_VCMPNGE_UQPD = 1491;
+ public static final int X86_INS_VCMPNGT_UQPD = 1492;
+ public static final int X86_INS_VCMPFALSE_OSPD = 1493;
+ public static final int X86_INS_VCMPNEQ_OSPD = 1494;
+ public static final int X86_INS_VCMPGE_OQPD = 1495;
+ public static final int X86_INS_VCMPGT_OQPD = 1496;
+ public static final int X86_INS_VCMPTRUE_USPD = 1497;
+ public static final int X86_INS_ENDING = 1498;
// Group of X86 instructions
diff --git a/bindings/ocaml/m68k_const.ml b/bindings/ocaml/m68k_const.ml
index 09919bc..1873734 100644
--- a/bindings/ocaml/m68k_const.ml
+++ b/bindings/ocaml/m68k_const.ml
@@ -72,7 +72,7 @@
let _M68K_AM_PC_MEMI_PRE_INDEX = 15;;
let _M68K_AM_ABSOLUTE_DATA_SHORT = 16;;
let _M68K_AM_ABSOLUTE_DATA_LONG = 17;;
-let _M68K_AM_IMMIDIATE = 18;;
+let _M68K_AM_IMMEDIATE = 18;;
(* Operand type for instruction's operands *)
@@ -80,9 +80,10 @@
let _M68K_OP_REG = 1;;
let _M68K_OP_IMM = 2;;
let _M68K_OP_MEM = 3;;
-let _M68K_OP_FP = 4;;
-let _M68K_OP_REG_BITS = 5;;
-let _M68K_OP_REG_PAIR = 6;;
+let _M68K_OP_FP_SINGLE = 4;;
+let _M68K_OP_FP_DOUBLE = 5;;
+let _M68K_OP_REG_BITS = 6;;
+let _M68K_OP_REG_PAIR = 7;;
let _M68K_CPU_SIZE_NONE = 0;;
let _M68K_CPU_SIZE_BYTE = 1;;
diff --git a/bindings/ocaml/mips_const.ml b/bindings/ocaml/mips_const.ml
index 9186154..110705c 100644
--- a/bindings/ocaml/mips_const.ml
+++ b/bindings/ocaml/mips_const.ml
@@ -841,6 +841,11 @@
(* Generic groups *)
let _MIPS_GRP_JUMP = 1;;
+let _MIPS_GRP_CALL = 2;;
+let _MIPS_GRP_RET = 3;;
+let _MIPS_GRP_INT = 4;;
+let _MIPS_GRP_IRET = 5;;
+let _MIPS_GRP_PRIVILEGE = 6;;
(* Architecture-specific groups *)
let _MIPS_GRP_BITCOUNT = 128;;
diff --git a/bindings/ocaml/x86_const.ml b/bindings/ocaml/x86_const.ml
index 805bf4b..ee346c8 100644
--- a/bindings/ocaml/x86_const.ml
+++ b/bindings/ocaml/x86_const.ml
@@ -489,1249 +489,1409 @@
let _X86_INS_FCMOVU = 93;;
let _X86_INS_CMOVS = 94;;
let _X86_INS_CMP = 95;;
-let _X86_INS_CMPPD = 96;;
-let _X86_INS_CMPPS = 97;;
-let _X86_INS_CMPSB = 98;;
-let _X86_INS_CMPSD = 99;;
-let _X86_INS_CMPSQ = 100;;
-let _X86_INS_CMPSS = 101;;
-let _X86_INS_CMPSW = 102;;
-let _X86_INS_CMPXCHG16B = 103;;
-let _X86_INS_CMPXCHG = 104;;
-let _X86_INS_CMPXCHG8B = 105;;
-let _X86_INS_COMISD = 106;;
-let _X86_INS_COMISS = 107;;
-let _X86_INS_FCOMP = 108;;
-let _X86_INS_FCOMPI = 109;;
-let _X86_INS_FCOMI = 110;;
-let _X86_INS_FCOM = 111;;
-let _X86_INS_FCOS = 112;;
-let _X86_INS_CPUID = 113;;
-let _X86_INS_CQO = 114;;
-let _X86_INS_CRC32 = 115;;
-let _X86_INS_CVTDQ2PD = 116;;
-let _X86_INS_CVTDQ2PS = 117;;
-let _X86_INS_CVTPD2DQ = 118;;
-let _X86_INS_CVTPD2PS = 119;;
-let _X86_INS_CVTPS2DQ = 120;;
-let _X86_INS_CVTPS2PD = 121;;
-let _X86_INS_CVTSD2SI = 122;;
-let _X86_INS_CVTSD2SS = 123;;
-let _X86_INS_CVTSI2SD = 124;;
-let _X86_INS_CVTSI2SS = 125;;
-let _X86_INS_CVTSS2SD = 126;;
-let _X86_INS_CVTSS2SI = 127;;
-let _X86_INS_CVTTPD2DQ = 128;;
-let _X86_INS_CVTTPS2DQ = 129;;
-let _X86_INS_CVTTSD2SI = 130;;
-let _X86_INS_CVTTSS2SI = 131;;
-let _X86_INS_CWD = 132;;
-let _X86_INS_CWDE = 133;;
-let _X86_INS_DAA = 134;;
-let _X86_INS_DAS = 135;;
-let _X86_INS_DATA16 = 136;;
-let _X86_INS_DEC = 137;;
-let _X86_INS_DIV = 138;;
-let _X86_INS_DIVPD = 139;;
-let _X86_INS_DIVPS = 140;;
-let _X86_INS_FDIVR = 141;;
-let _X86_INS_FIDIVR = 142;;
-let _X86_INS_FDIVRP = 143;;
-let _X86_INS_DIVSD = 144;;
-let _X86_INS_DIVSS = 145;;
-let _X86_INS_FDIV = 146;;
-let _X86_INS_FIDIV = 147;;
-let _X86_INS_FDIVP = 148;;
-let _X86_INS_DPPD = 149;;
-let _X86_INS_DPPS = 150;;
-let _X86_INS_RET = 151;;
-let _X86_INS_ENCLS = 152;;
-let _X86_INS_ENCLU = 153;;
-let _X86_INS_ENTER = 154;;
-let _X86_INS_EXTRACTPS = 155;;
-let _X86_INS_EXTRQ = 156;;
-let _X86_INS_F2XM1 = 157;;
-let _X86_INS_LCALL = 158;;
-let _X86_INS_LJMP = 159;;
-let _X86_INS_FBLD = 160;;
-let _X86_INS_FBSTP = 161;;
-let _X86_INS_FCOMPP = 162;;
-let _X86_INS_FDECSTP = 163;;
-let _X86_INS_FEMMS = 164;;
-let _X86_INS_FFREE = 165;;
-let _X86_INS_FICOM = 166;;
-let _X86_INS_FICOMP = 167;;
-let _X86_INS_FINCSTP = 168;;
-let _X86_INS_FLDCW = 169;;
-let _X86_INS_FLDENV = 170;;
-let _X86_INS_FLDL2E = 171;;
-let _X86_INS_FLDL2T = 172;;
-let _X86_INS_FLDLG2 = 173;;
-let _X86_INS_FLDLN2 = 174;;
-let _X86_INS_FLDPI = 175;;
-let _X86_INS_FNCLEX = 176;;
-let _X86_INS_FNINIT = 177;;
-let _X86_INS_FNOP = 178;;
-let _X86_INS_FNSTCW = 179;;
-let _X86_INS_FNSTSW = 180;;
-let _X86_INS_FPATAN = 181;;
-let _X86_INS_FPREM = 182;;
-let _X86_INS_FPREM1 = 183;;
-let _X86_INS_FPTAN = 184;;
-let _X86_INS_FFREEP = 185;;
-let _X86_INS_FRNDINT = 186;;
-let _X86_INS_FRSTOR = 187;;
-let _X86_INS_FNSAVE = 188;;
-let _X86_INS_FSCALE = 189;;
-let _X86_INS_FSETPM = 190;;
-let _X86_INS_FSINCOS = 191;;
-let _X86_INS_FNSTENV = 192;;
-let _X86_INS_FXAM = 193;;
-let _X86_INS_FXRSTOR = 194;;
-let _X86_INS_FXRSTOR64 = 195;;
-let _X86_INS_FXSAVE = 196;;
-let _X86_INS_FXSAVE64 = 197;;
-let _X86_INS_FXTRACT = 198;;
-let _X86_INS_FYL2X = 199;;
-let _X86_INS_FYL2XP1 = 200;;
-let _X86_INS_MOVAPD = 201;;
-let _X86_INS_MOVAPS = 202;;
-let _X86_INS_ORPD = 203;;
-let _X86_INS_ORPS = 204;;
-let _X86_INS_VMOVAPD = 205;;
-let _X86_INS_VMOVAPS = 206;;
-let _X86_INS_XORPD = 207;;
-let _X86_INS_XORPS = 208;;
-let _X86_INS_GETSEC = 209;;
-let _X86_INS_HADDPD = 210;;
-let _X86_INS_HADDPS = 211;;
-let _X86_INS_HLT = 212;;
-let _X86_INS_HSUBPD = 213;;
-let _X86_INS_HSUBPS = 214;;
-let _X86_INS_IDIV = 215;;
-let _X86_INS_FILD = 216;;
-let _X86_INS_IMUL = 217;;
-let _X86_INS_IN = 218;;
-let _X86_INS_INC = 219;;
-let _X86_INS_INSB = 220;;
-let _X86_INS_INSERTPS = 221;;
-let _X86_INS_INSERTQ = 222;;
-let _X86_INS_INSD = 223;;
-let _X86_INS_INSW = 224;;
-let _X86_INS_INT = 225;;
-let _X86_INS_INT1 = 226;;
-let _X86_INS_INT3 = 227;;
-let _X86_INS_INTO = 228;;
-let _X86_INS_INVD = 229;;
-let _X86_INS_INVEPT = 230;;
-let _X86_INS_INVLPG = 231;;
-let _X86_INS_INVLPGA = 232;;
-let _X86_INS_INVPCID = 233;;
-let _X86_INS_INVVPID = 234;;
-let _X86_INS_IRET = 235;;
-let _X86_INS_IRETD = 236;;
-let _X86_INS_IRETQ = 237;;
-let _X86_INS_FISTTP = 238;;
-let _X86_INS_FIST = 239;;
-let _X86_INS_FISTP = 240;;
-let _X86_INS_UCOMISD = 241;;
-let _X86_INS_UCOMISS = 242;;
-let _X86_INS_VCOMISD = 243;;
-let _X86_INS_VCOMISS = 244;;
-let _X86_INS_VCVTSD2SS = 245;;
-let _X86_INS_VCVTSI2SD = 246;;
-let _X86_INS_VCVTSI2SS = 247;;
-let _X86_INS_VCVTSS2SD = 248;;
-let _X86_INS_VCVTTSD2SI = 249;;
-let _X86_INS_VCVTTSD2USI = 250;;
-let _X86_INS_VCVTTSS2SI = 251;;
-let _X86_INS_VCVTTSS2USI = 252;;
-let _X86_INS_VCVTUSI2SD = 253;;
-let _X86_INS_VCVTUSI2SS = 254;;
-let _X86_INS_VUCOMISD = 255;;
-let _X86_INS_VUCOMISS = 256;;
-let _X86_INS_JAE = 257;;
-let _X86_INS_JA = 258;;
-let _X86_INS_JBE = 259;;
-let _X86_INS_JB = 260;;
-let _X86_INS_JCXZ = 261;;
-let _X86_INS_JECXZ = 262;;
-let _X86_INS_JE = 263;;
-let _X86_INS_JGE = 264;;
-let _X86_INS_JG = 265;;
-let _X86_INS_JLE = 266;;
-let _X86_INS_JL = 267;;
-let _X86_INS_JMP = 268;;
-let _X86_INS_JNE = 269;;
-let _X86_INS_JNO = 270;;
-let _X86_INS_JNP = 271;;
-let _X86_INS_JNS = 272;;
-let _X86_INS_JO = 273;;
-let _X86_INS_JP = 274;;
-let _X86_INS_JRCXZ = 275;;
-let _X86_INS_JS = 276;;
-let _X86_INS_KANDB = 277;;
-let _X86_INS_KANDD = 278;;
-let _X86_INS_KANDNB = 279;;
-let _X86_INS_KANDND = 280;;
-let _X86_INS_KANDNQ = 281;;
-let _X86_INS_KANDNW = 282;;
-let _X86_INS_KANDQ = 283;;
-let _X86_INS_KANDW = 284;;
-let _X86_INS_KMOVB = 285;;
-let _X86_INS_KMOVD = 286;;
-let _X86_INS_KMOVQ = 287;;
-let _X86_INS_KMOVW = 288;;
-let _X86_INS_KNOTB = 289;;
-let _X86_INS_KNOTD = 290;;
-let _X86_INS_KNOTQ = 291;;
-let _X86_INS_KNOTW = 292;;
-let _X86_INS_KORB = 293;;
-let _X86_INS_KORD = 294;;
-let _X86_INS_KORQ = 295;;
-let _X86_INS_KORTESTB = 296;;
-let _X86_INS_KORTESTD = 297;;
-let _X86_INS_KORTESTQ = 298;;
-let _X86_INS_KORTESTW = 299;;
-let _X86_INS_KORW = 300;;
-let _X86_INS_KSHIFTLB = 301;;
-let _X86_INS_KSHIFTLD = 302;;
-let _X86_INS_KSHIFTLQ = 303;;
-let _X86_INS_KSHIFTLW = 304;;
-let _X86_INS_KSHIFTRB = 305;;
-let _X86_INS_KSHIFTRD = 306;;
-let _X86_INS_KSHIFTRQ = 307;;
-let _X86_INS_KSHIFTRW = 308;;
-let _X86_INS_KUNPCKBW = 309;;
-let _X86_INS_KXNORB = 310;;
-let _X86_INS_KXNORD = 311;;
-let _X86_INS_KXNORQ = 312;;
-let _X86_INS_KXNORW = 313;;
-let _X86_INS_KXORB = 314;;
-let _X86_INS_KXORD = 315;;
-let _X86_INS_KXORQ = 316;;
-let _X86_INS_KXORW = 317;;
-let _X86_INS_LAHF = 318;;
-let _X86_INS_LAR = 319;;
-let _X86_INS_LDDQU = 320;;
-let _X86_INS_LDMXCSR = 321;;
-let _X86_INS_LDS = 322;;
-let _X86_INS_FLDZ = 323;;
-let _X86_INS_FLD1 = 324;;
-let _X86_INS_FLD = 325;;
-let _X86_INS_LEA = 326;;
-let _X86_INS_LEAVE = 327;;
-let _X86_INS_LES = 328;;
-let _X86_INS_LFENCE = 329;;
-let _X86_INS_LFS = 330;;
-let _X86_INS_LGDT = 331;;
-let _X86_INS_LGS = 332;;
-let _X86_INS_LIDT = 333;;
-let _X86_INS_LLDT = 334;;
-let _X86_INS_LMSW = 335;;
-let _X86_INS_OR = 336;;
-let _X86_INS_SUB = 337;;
-let _X86_INS_XOR = 338;;
-let _X86_INS_LODSB = 339;;
-let _X86_INS_LODSD = 340;;
-let _X86_INS_LODSQ = 341;;
-let _X86_INS_LODSW = 342;;
-let _X86_INS_LOOP = 343;;
-let _X86_INS_LOOPE = 344;;
-let _X86_INS_LOOPNE = 345;;
-let _X86_INS_RETF = 346;;
-let _X86_INS_RETFQ = 347;;
-let _X86_INS_LSL = 348;;
-let _X86_INS_LSS = 349;;
-let _X86_INS_LTR = 350;;
-let _X86_INS_XADD = 351;;
-let _X86_INS_LZCNT = 352;;
-let _X86_INS_MASKMOVDQU = 353;;
-let _X86_INS_MAXPD = 354;;
-let _X86_INS_MAXPS = 355;;
-let _X86_INS_MAXSD = 356;;
-let _X86_INS_MAXSS = 357;;
-let _X86_INS_MFENCE = 358;;
-let _X86_INS_MINPD = 359;;
-let _X86_INS_MINPS = 360;;
-let _X86_INS_MINSD = 361;;
-let _X86_INS_MINSS = 362;;
-let _X86_INS_CVTPD2PI = 363;;
-let _X86_INS_CVTPI2PD = 364;;
-let _X86_INS_CVTPI2PS = 365;;
-let _X86_INS_CVTPS2PI = 366;;
-let _X86_INS_CVTTPD2PI = 367;;
-let _X86_INS_CVTTPS2PI = 368;;
-let _X86_INS_EMMS = 369;;
-let _X86_INS_MASKMOVQ = 370;;
-let _X86_INS_MOVD = 371;;
-let _X86_INS_MOVDQ2Q = 372;;
-let _X86_INS_MOVNTQ = 373;;
-let _X86_INS_MOVQ2DQ = 374;;
-let _X86_INS_MOVQ = 375;;
-let _X86_INS_PABSB = 376;;
-let _X86_INS_PABSD = 377;;
-let _X86_INS_PABSW = 378;;
-let _X86_INS_PACKSSDW = 379;;
-let _X86_INS_PACKSSWB = 380;;
-let _X86_INS_PACKUSWB = 381;;
-let _X86_INS_PADDB = 382;;
-let _X86_INS_PADDD = 383;;
-let _X86_INS_PADDQ = 384;;
-let _X86_INS_PADDSB = 385;;
-let _X86_INS_PADDSW = 386;;
-let _X86_INS_PADDUSB = 387;;
-let _X86_INS_PADDUSW = 388;;
-let _X86_INS_PADDW = 389;;
-let _X86_INS_PALIGNR = 390;;
-let _X86_INS_PANDN = 391;;
-let _X86_INS_PAND = 392;;
-let _X86_INS_PAVGB = 393;;
-let _X86_INS_PAVGW = 394;;
-let _X86_INS_PCMPEQB = 395;;
-let _X86_INS_PCMPEQD = 396;;
-let _X86_INS_PCMPEQW = 397;;
-let _X86_INS_PCMPGTB = 398;;
-let _X86_INS_PCMPGTD = 399;;
-let _X86_INS_PCMPGTW = 400;;
-let _X86_INS_PEXTRW = 401;;
-let _X86_INS_PHADDSW = 402;;
-let _X86_INS_PHADDW = 403;;
-let _X86_INS_PHADDD = 404;;
-let _X86_INS_PHSUBD = 405;;
-let _X86_INS_PHSUBSW = 406;;
-let _X86_INS_PHSUBW = 407;;
-let _X86_INS_PINSRW = 408;;
-let _X86_INS_PMADDUBSW = 409;;
-let _X86_INS_PMADDWD = 410;;
-let _X86_INS_PMAXSW = 411;;
-let _X86_INS_PMAXUB = 412;;
-let _X86_INS_PMINSW = 413;;
-let _X86_INS_PMINUB = 414;;
-let _X86_INS_PMOVMSKB = 415;;
-let _X86_INS_PMULHRSW = 416;;
-let _X86_INS_PMULHUW = 417;;
-let _X86_INS_PMULHW = 418;;
-let _X86_INS_PMULLW = 419;;
-let _X86_INS_PMULUDQ = 420;;
-let _X86_INS_POR = 421;;
-let _X86_INS_PSADBW = 422;;
-let _X86_INS_PSHUFB = 423;;
-let _X86_INS_PSHUFW = 424;;
-let _X86_INS_PSIGNB = 425;;
-let _X86_INS_PSIGND = 426;;
-let _X86_INS_PSIGNW = 427;;
-let _X86_INS_PSLLD = 428;;
-let _X86_INS_PSLLQ = 429;;
-let _X86_INS_PSLLW = 430;;
-let _X86_INS_PSRAD = 431;;
-let _X86_INS_PSRAW = 432;;
-let _X86_INS_PSRLD = 433;;
-let _X86_INS_PSRLQ = 434;;
-let _X86_INS_PSRLW = 435;;
-let _X86_INS_PSUBB = 436;;
-let _X86_INS_PSUBD = 437;;
-let _X86_INS_PSUBQ = 438;;
-let _X86_INS_PSUBSB = 439;;
-let _X86_INS_PSUBSW = 440;;
-let _X86_INS_PSUBUSB = 441;;
-let _X86_INS_PSUBUSW = 442;;
-let _X86_INS_PSUBW = 443;;
-let _X86_INS_PUNPCKHBW = 444;;
-let _X86_INS_PUNPCKHDQ = 445;;
-let _X86_INS_PUNPCKHWD = 446;;
-let _X86_INS_PUNPCKLBW = 447;;
-let _X86_INS_PUNPCKLDQ = 448;;
-let _X86_INS_PUNPCKLWD = 449;;
-let _X86_INS_PXOR = 450;;
-let _X86_INS_MONITOR = 451;;
-let _X86_INS_MONTMUL = 452;;
-let _X86_INS_MOV = 453;;
-let _X86_INS_MOVABS = 454;;
-let _X86_INS_MOVBE = 455;;
-let _X86_INS_MOVDDUP = 456;;
-let _X86_INS_MOVDQA = 457;;
-let _X86_INS_MOVDQU = 458;;
-let _X86_INS_MOVHLPS = 459;;
-let _X86_INS_MOVHPD = 460;;
-let _X86_INS_MOVHPS = 461;;
-let _X86_INS_MOVLHPS = 462;;
-let _X86_INS_MOVLPD = 463;;
-let _X86_INS_MOVLPS = 464;;
-let _X86_INS_MOVMSKPD = 465;;
-let _X86_INS_MOVMSKPS = 466;;
-let _X86_INS_MOVNTDQA = 467;;
-let _X86_INS_MOVNTDQ = 468;;
-let _X86_INS_MOVNTI = 469;;
-let _X86_INS_MOVNTPD = 470;;
-let _X86_INS_MOVNTPS = 471;;
-let _X86_INS_MOVNTSD = 472;;
-let _X86_INS_MOVNTSS = 473;;
-let _X86_INS_MOVSB = 474;;
-let _X86_INS_MOVSD = 475;;
-let _X86_INS_MOVSHDUP = 476;;
-let _X86_INS_MOVSLDUP = 477;;
-let _X86_INS_MOVSQ = 478;;
-let _X86_INS_MOVSS = 479;;
-let _X86_INS_MOVSW = 480;;
-let _X86_INS_MOVSX = 481;;
-let _X86_INS_MOVSXD = 482;;
-let _X86_INS_MOVUPD = 483;;
-let _X86_INS_MOVUPS = 484;;
-let _X86_INS_MOVZX = 485;;
-let _X86_INS_MPSADBW = 486;;
-let _X86_INS_MUL = 487;;
-let _X86_INS_MULPD = 488;;
-let _X86_INS_MULPS = 489;;
-let _X86_INS_MULSD = 490;;
-let _X86_INS_MULSS = 491;;
-let _X86_INS_MULX = 492;;
-let _X86_INS_FMUL = 493;;
-let _X86_INS_FIMUL = 494;;
-let _X86_INS_FMULP = 495;;
-let _X86_INS_MWAIT = 496;;
-let _X86_INS_NEG = 497;;
-let _X86_INS_NOP = 498;;
-let _X86_INS_NOT = 499;;
-let _X86_INS_OUT = 500;;
-let _X86_INS_OUTSB = 501;;
-let _X86_INS_OUTSD = 502;;
-let _X86_INS_OUTSW = 503;;
-let _X86_INS_PACKUSDW = 504;;
-let _X86_INS_PAUSE = 505;;
-let _X86_INS_PAVGUSB = 506;;
-let _X86_INS_PBLENDVB = 507;;
-let _X86_INS_PBLENDW = 508;;
-let _X86_INS_PCLMULQDQ = 509;;
-let _X86_INS_PCMPEQQ = 510;;
-let _X86_INS_PCMPESTRI = 511;;
-let _X86_INS_PCMPESTRM = 512;;
-let _X86_INS_PCMPGTQ = 513;;
-let _X86_INS_PCMPISTRI = 514;;
-let _X86_INS_PCMPISTRM = 515;;
-let _X86_INS_PCOMMIT = 516;;
-let _X86_INS_PDEP = 517;;
-let _X86_INS_PEXT = 518;;
-let _X86_INS_PEXTRB = 519;;
-let _X86_INS_PEXTRD = 520;;
-let _X86_INS_PEXTRQ = 521;;
-let _X86_INS_PF2ID = 522;;
-let _X86_INS_PF2IW = 523;;
-let _X86_INS_PFACC = 524;;
-let _X86_INS_PFADD = 525;;
-let _X86_INS_PFCMPEQ = 526;;
-let _X86_INS_PFCMPGE = 527;;
-let _X86_INS_PFCMPGT = 528;;
-let _X86_INS_PFMAX = 529;;
-let _X86_INS_PFMIN = 530;;
-let _X86_INS_PFMUL = 531;;
-let _X86_INS_PFNACC = 532;;
-let _X86_INS_PFPNACC = 533;;
-let _X86_INS_PFRCPIT1 = 534;;
-let _X86_INS_PFRCPIT2 = 535;;
-let _X86_INS_PFRCP = 536;;
-let _X86_INS_PFRSQIT1 = 537;;
-let _X86_INS_PFRSQRT = 538;;
-let _X86_INS_PFSUBR = 539;;
-let _X86_INS_PFSUB = 540;;
-let _X86_INS_PHMINPOSUW = 541;;
-let _X86_INS_PI2FD = 542;;
-let _X86_INS_PI2FW = 543;;
-let _X86_INS_PINSRB = 544;;
-let _X86_INS_PINSRD = 545;;
-let _X86_INS_PINSRQ = 546;;
-let _X86_INS_PMAXSB = 547;;
-let _X86_INS_PMAXSD = 548;;
-let _X86_INS_PMAXUD = 549;;
-let _X86_INS_PMAXUW = 550;;
-let _X86_INS_PMINSB = 551;;
-let _X86_INS_PMINSD = 552;;
-let _X86_INS_PMINUD = 553;;
-let _X86_INS_PMINUW = 554;;
-let _X86_INS_PMOVSXBD = 555;;
-let _X86_INS_PMOVSXBQ = 556;;
-let _X86_INS_PMOVSXBW = 557;;
-let _X86_INS_PMOVSXDQ = 558;;
-let _X86_INS_PMOVSXWD = 559;;
-let _X86_INS_PMOVSXWQ = 560;;
-let _X86_INS_PMOVZXBD = 561;;
-let _X86_INS_PMOVZXBQ = 562;;
-let _X86_INS_PMOVZXBW = 563;;
-let _X86_INS_PMOVZXDQ = 564;;
-let _X86_INS_PMOVZXWD = 565;;
-let _X86_INS_PMOVZXWQ = 566;;
-let _X86_INS_PMULDQ = 567;;
-let _X86_INS_PMULHRW = 568;;
-let _X86_INS_PMULLD = 569;;
-let _X86_INS_POP = 570;;
-let _X86_INS_POPAW = 571;;
-let _X86_INS_POPAL = 572;;
-let _X86_INS_POPCNT = 573;;
-let _X86_INS_POPF = 574;;
-let _X86_INS_POPFD = 575;;
-let _X86_INS_POPFQ = 576;;
-let _X86_INS_PREFETCH = 577;;
-let _X86_INS_PREFETCHNTA = 578;;
-let _X86_INS_PREFETCHT0 = 579;;
-let _X86_INS_PREFETCHT1 = 580;;
-let _X86_INS_PREFETCHT2 = 581;;
-let _X86_INS_PREFETCHW = 582;;
-let _X86_INS_PSHUFD = 583;;
-let _X86_INS_PSHUFHW = 584;;
-let _X86_INS_PSHUFLW = 585;;
-let _X86_INS_PSLLDQ = 586;;
-let _X86_INS_PSRLDQ = 587;;
-let _X86_INS_PSWAPD = 588;;
-let _X86_INS_PTEST = 589;;
-let _X86_INS_PUNPCKHQDQ = 590;;
-let _X86_INS_PUNPCKLQDQ = 591;;
-let _X86_INS_PUSH = 592;;
-let _X86_INS_PUSHAW = 593;;
-let _X86_INS_PUSHAL = 594;;
-let _X86_INS_PUSHF = 595;;
-let _X86_INS_PUSHFD = 596;;
-let _X86_INS_PUSHFQ = 597;;
-let _X86_INS_RCL = 598;;
-let _X86_INS_RCPPS = 599;;
-let _X86_INS_RCPSS = 600;;
-let _X86_INS_RCR = 601;;
-let _X86_INS_RDFSBASE = 602;;
-let _X86_INS_RDGSBASE = 603;;
-let _X86_INS_RDMSR = 604;;
-let _X86_INS_RDPMC = 605;;
-let _X86_INS_RDRAND = 606;;
-let _X86_INS_RDSEED = 607;;
-let _X86_INS_RDTSC = 608;;
-let _X86_INS_RDTSCP = 609;;
-let _X86_INS_ROL = 610;;
-let _X86_INS_ROR = 611;;
-let _X86_INS_RORX = 612;;
-let _X86_INS_ROUNDPD = 613;;
-let _X86_INS_ROUNDPS = 614;;
-let _X86_INS_ROUNDSD = 615;;
-let _X86_INS_ROUNDSS = 616;;
-let _X86_INS_RSM = 617;;
-let _X86_INS_RSQRTPS = 618;;
-let _X86_INS_RSQRTSS = 619;;
-let _X86_INS_SAHF = 620;;
-let _X86_INS_SAL = 621;;
-let _X86_INS_SALC = 622;;
-let _X86_INS_SAR = 623;;
-let _X86_INS_SARX = 624;;
-let _X86_INS_SBB = 625;;
-let _X86_INS_SCASB = 626;;
-let _X86_INS_SCASD = 627;;
-let _X86_INS_SCASQ = 628;;
-let _X86_INS_SCASW = 629;;
-let _X86_INS_SETAE = 630;;
-let _X86_INS_SETA = 631;;
-let _X86_INS_SETBE = 632;;
-let _X86_INS_SETB = 633;;
-let _X86_INS_SETE = 634;;
-let _X86_INS_SETGE = 635;;
-let _X86_INS_SETG = 636;;
-let _X86_INS_SETLE = 637;;
-let _X86_INS_SETL = 638;;
-let _X86_INS_SETNE = 639;;
-let _X86_INS_SETNO = 640;;
-let _X86_INS_SETNP = 641;;
-let _X86_INS_SETNS = 642;;
-let _X86_INS_SETO = 643;;
-let _X86_INS_SETP = 644;;
-let _X86_INS_SETS = 645;;
-let _X86_INS_SFENCE = 646;;
-let _X86_INS_SGDT = 647;;
-let _X86_INS_SHA1MSG1 = 648;;
-let _X86_INS_SHA1MSG2 = 649;;
-let _X86_INS_SHA1NEXTE = 650;;
-let _X86_INS_SHA1RNDS4 = 651;;
-let _X86_INS_SHA256MSG1 = 652;;
-let _X86_INS_SHA256MSG2 = 653;;
-let _X86_INS_SHA256RNDS2 = 654;;
-let _X86_INS_SHL = 655;;
-let _X86_INS_SHLD = 656;;
-let _X86_INS_SHLX = 657;;
-let _X86_INS_SHR = 658;;
-let _X86_INS_SHRD = 659;;
-let _X86_INS_SHRX = 660;;
-let _X86_INS_SHUFPD = 661;;
-let _X86_INS_SHUFPS = 662;;
-let _X86_INS_SIDT = 663;;
-let _X86_INS_FSIN = 664;;
-let _X86_INS_SKINIT = 665;;
-let _X86_INS_SLDT = 666;;
-let _X86_INS_SMSW = 667;;
-let _X86_INS_SQRTPD = 668;;
-let _X86_INS_SQRTPS = 669;;
-let _X86_INS_SQRTSD = 670;;
-let _X86_INS_SQRTSS = 671;;
-let _X86_INS_FSQRT = 672;;
-let _X86_INS_STAC = 673;;
-let _X86_INS_STC = 674;;
-let _X86_INS_STD = 675;;
-let _X86_INS_STGI = 676;;
-let _X86_INS_STI = 677;;
-let _X86_INS_STMXCSR = 678;;
-let _X86_INS_STOSB = 679;;
-let _X86_INS_STOSD = 680;;
-let _X86_INS_STOSQ = 681;;
-let _X86_INS_STOSW = 682;;
-let _X86_INS_STR = 683;;
-let _X86_INS_FST = 684;;
-let _X86_INS_FSTP = 685;;
-let _X86_INS_FSTPNCE = 686;;
-let _X86_INS_FXCH = 687;;
-let _X86_INS_SUBPD = 688;;
-let _X86_INS_SUBPS = 689;;
-let _X86_INS_FSUBR = 690;;
-let _X86_INS_FISUBR = 691;;
-let _X86_INS_FSUBRP = 692;;
-let _X86_INS_SUBSD = 693;;
-let _X86_INS_SUBSS = 694;;
-let _X86_INS_FSUB = 695;;
-let _X86_INS_FISUB = 696;;
-let _X86_INS_FSUBP = 697;;
-let _X86_INS_SWAPGS = 698;;
-let _X86_INS_SYSCALL = 699;;
-let _X86_INS_SYSENTER = 700;;
-let _X86_INS_SYSEXIT = 701;;
-let _X86_INS_SYSRET = 702;;
-let _X86_INS_T1MSKC = 703;;
-let _X86_INS_TEST = 704;;
-let _X86_INS_UD2 = 705;;
-let _X86_INS_FTST = 706;;
-let _X86_INS_TZCNT = 707;;
-let _X86_INS_TZMSK = 708;;
-let _X86_INS_FUCOMPI = 709;;
-let _X86_INS_FUCOMI = 710;;
-let _X86_INS_FUCOMPP = 711;;
-let _X86_INS_FUCOMP = 712;;
-let _X86_INS_FUCOM = 713;;
-let _X86_INS_UD2B = 714;;
-let _X86_INS_UNPCKHPD = 715;;
-let _X86_INS_UNPCKHPS = 716;;
-let _X86_INS_UNPCKLPD = 717;;
-let _X86_INS_UNPCKLPS = 718;;
-let _X86_INS_VADDPD = 719;;
-let _X86_INS_VADDPS = 720;;
-let _X86_INS_VADDSD = 721;;
-let _X86_INS_VADDSS = 722;;
-let _X86_INS_VADDSUBPD = 723;;
-let _X86_INS_VADDSUBPS = 724;;
-let _X86_INS_VAESDECLAST = 725;;
-let _X86_INS_VAESDEC = 726;;
-let _X86_INS_VAESENCLAST = 727;;
-let _X86_INS_VAESENC = 728;;
-let _X86_INS_VAESIMC = 729;;
-let _X86_INS_VAESKEYGENASSIST = 730;;
-let _X86_INS_VALIGND = 731;;
-let _X86_INS_VALIGNQ = 732;;
-let _X86_INS_VANDNPD = 733;;
-let _X86_INS_VANDNPS = 734;;
-let _X86_INS_VANDPD = 735;;
-let _X86_INS_VANDPS = 736;;
-let _X86_INS_VBLENDMPD = 737;;
-let _X86_INS_VBLENDMPS = 738;;
-let _X86_INS_VBLENDPD = 739;;
-let _X86_INS_VBLENDPS = 740;;
-let _X86_INS_VBLENDVPD = 741;;
-let _X86_INS_VBLENDVPS = 742;;
-let _X86_INS_VBROADCASTF128 = 743;;
-let _X86_INS_VBROADCASTI32X4 = 744;;
-let _X86_INS_VBROADCASTI64X4 = 745;;
-let _X86_INS_VBROADCASTSD = 746;;
-let _X86_INS_VBROADCASTSS = 747;;
-let _X86_INS_VCMPPD = 748;;
-let _X86_INS_VCMPPS = 749;;
-let _X86_INS_VCMPSD = 750;;
-let _X86_INS_VCMPSS = 751;;
-let _X86_INS_VCOMPRESSPD = 752;;
-let _X86_INS_VCOMPRESSPS = 753;;
-let _X86_INS_VCVTDQ2PD = 754;;
-let _X86_INS_VCVTDQ2PS = 755;;
-let _X86_INS_VCVTPD2DQX = 756;;
-let _X86_INS_VCVTPD2DQ = 757;;
-let _X86_INS_VCVTPD2PSX = 758;;
-let _X86_INS_VCVTPD2PS = 759;;
-let _X86_INS_VCVTPD2UDQ = 760;;
-let _X86_INS_VCVTPH2PS = 761;;
-let _X86_INS_VCVTPS2DQ = 762;;
-let _X86_INS_VCVTPS2PD = 763;;
-let _X86_INS_VCVTPS2PH = 764;;
-let _X86_INS_VCVTPS2UDQ = 765;;
-let _X86_INS_VCVTSD2SI = 766;;
-let _X86_INS_VCVTSD2USI = 767;;
-let _X86_INS_VCVTSS2SI = 768;;
-let _X86_INS_VCVTSS2USI = 769;;
-let _X86_INS_VCVTTPD2DQX = 770;;
-let _X86_INS_VCVTTPD2DQ = 771;;
-let _X86_INS_VCVTTPD2UDQ = 772;;
-let _X86_INS_VCVTTPS2DQ = 773;;
-let _X86_INS_VCVTTPS2UDQ = 774;;
-let _X86_INS_VCVTUDQ2PD = 775;;
-let _X86_INS_VCVTUDQ2PS = 776;;
-let _X86_INS_VDIVPD = 777;;
-let _X86_INS_VDIVPS = 778;;
-let _X86_INS_VDIVSD = 779;;
-let _X86_INS_VDIVSS = 780;;
-let _X86_INS_VDPPD = 781;;
-let _X86_INS_VDPPS = 782;;
-let _X86_INS_VERR = 783;;
-let _X86_INS_VERW = 784;;
-let _X86_INS_VEXP2PD = 785;;
-let _X86_INS_VEXP2PS = 786;;
-let _X86_INS_VEXPANDPD = 787;;
-let _X86_INS_VEXPANDPS = 788;;
-let _X86_INS_VEXTRACTF128 = 789;;
-let _X86_INS_VEXTRACTF32X4 = 790;;
-let _X86_INS_VEXTRACTF64X4 = 791;;
-let _X86_INS_VEXTRACTI128 = 792;;
-let _X86_INS_VEXTRACTI32X4 = 793;;
-let _X86_INS_VEXTRACTI64X4 = 794;;
-let _X86_INS_VEXTRACTPS = 795;;
-let _X86_INS_VFMADD132PD = 796;;
-let _X86_INS_VFMADD132PS = 797;;
-let _X86_INS_VFMADDPD = 798;;
-let _X86_INS_VFMADD213PD = 799;;
-let _X86_INS_VFMADD231PD = 800;;
-let _X86_INS_VFMADDPS = 801;;
-let _X86_INS_VFMADD213PS = 802;;
-let _X86_INS_VFMADD231PS = 803;;
-let _X86_INS_VFMADDSD = 804;;
-let _X86_INS_VFMADD213SD = 805;;
-let _X86_INS_VFMADD132SD = 806;;
-let _X86_INS_VFMADD231SD = 807;;
-let _X86_INS_VFMADDSS = 808;;
-let _X86_INS_VFMADD213SS = 809;;
-let _X86_INS_VFMADD132SS = 810;;
-let _X86_INS_VFMADD231SS = 811;;
-let _X86_INS_VFMADDSUB132PD = 812;;
-let _X86_INS_VFMADDSUB132PS = 813;;
-let _X86_INS_VFMADDSUBPD = 814;;
-let _X86_INS_VFMADDSUB213PD = 815;;
-let _X86_INS_VFMADDSUB231PD = 816;;
-let _X86_INS_VFMADDSUBPS = 817;;
-let _X86_INS_VFMADDSUB213PS = 818;;
-let _X86_INS_VFMADDSUB231PS = 819;;
-let _X86_INS_VFMSUB132PD = 820;;
-let _X86_INS_VFMSUB132PS = 821;;
-let _X86_INS_VFMSUBADD132PD = 822;;
-let _X86_INS_VFMSUBADD132PS = 823;;
-let _X86_INS_VFMSUBADDPD = 824;;
-let _X86_INS_VFMSUBADD213PD = 825;;
-let _X86_INS_VFMSUBADD231PD = 826;;
-let _X86_INS_VFMSUBADDPS = 827;;
-let _X86_INS_VFMSUBADD213PS = 828;;
-let _X86_INS_VFMSUBADD231PS = 829;;
-let _X86_INS_VFMSUBPD = 830;;
-let _X86_INS_VFMSUB213PD = 831;;
-let _X86_INS_VFMSUB231PD = 832;;
-let _X86_INS_VFMSUBPS = 833;;
-let _X86_INS_VFMSUB213PS = 834;;
-let _X86_INS_VFMSUB231PS = 835;;
-let _X86_INS_VFMSUBSD = 836;;
-let _X86_INS_VFMSUB213SD = 837;;
-let _X86_INS_VFMSUB132SD = 838;;
-let _X86_INS_VFMSUB231SD = 839;;
-let _X86_INS_VFMSUBSS = 840;;
-let _X86_INS_VFMSUB213SS = 841;;
-let _X86_INS_VFMSUB132SS = 842;;
-let _X86_INS_VFMSUB231SS = 843;;
-let _X86_INS_VFNMADD132PD = 844;;
-let _X86_INS_VFNMADD132PS = 845;;
-let _X86_INS_VFNMADDPD = 846;;
-let _X86_INS_VFNMADD213PD = 847;;
-let _X86_INS_VFNMADD231PD = 848;;
-let _X86_INS_VFNMADDPS = 849;;
-let _X86_INS_VFNMADD213PS = 850;;
-let _X86_INS_VFNMADD231PS = 851;;
-let _X86_INS_VFNMADDSD = 852;;
-let _X86_INS_VFNMADD213SD = 853;;
-let _X86_INS_VFNMADD132SD = 854;;
-let _X86_INS_VFNMADD231SD = 855;;
-let _X86_INS_VFNMADDSS = 856;;
-let _X86_INS_VFNMADD213SS = 857;;
-let _X86_INS_VFNMADD132SS = 858;;
-let _X86_INS_VFNMADD231SS = 859;;
-let _X86_INS_VFNMSUB132PD = 860;;
-let _X86_INS_VFNMSUB132PS = 861;;
-let _X86_INS_VFNMSUBPD = 862;;
-let _X86_INS_VFNMSUB213PD = 863;;
-let _X86_INS_VFNMSUB231PD = 864;;
-let _X86_INS_VFNMSUBPS = 865;;
-let _X86_INS_VFNMSUB213PS = 866;;
-let _X86_INS_VFNMSUB231PS = 867;;
-let _X86_INS_VFNMSUBSD = 868;;
-let _X86_INS_VFNMSUB213SD = 869;;
-let _X86_INS_VFNMSUB132SD = 870;;
-let _X86_INS_VFNMSUB231SD = 871;;
-let _X86_INS_VFNMSUBSS = 872;;
-let _X86_INS_VFNMSUB213SS = 873;;
-let _X86_INS_VFNMSUB132SS = 874;;
-let _X86_INS_VFNMSUB231SS = 875;;
-let _X86_INS_VFRCZPD = 876;;
-let _X86_INS_VFRCZPS = 877;;
-let _X86_INS_VFRCZSD = 878;;
-let _X86_INS_VFRCZSS = 879;;
-let _X86_INS_VORPD = 880;;
-let _X86_INS_VORPS = 881;;
-let _X86_INS_VXORPD = 882;;
-let _X86_INS_VXORPS = 883;;
-let _X86_INS_VGATHERDPD = 884;;
-let _X86_INS_VGATHERDPS = 885;;
-let _X86_INS_VGATHERPF0DPD = 886;;
-let _X86_INS_VGATHERPF0DPS = 887;;
-let _X86_INS_VGATHERPF0QPD = 888;;
-let _X86_INS_VGATHERPF0QPS = 889;;
-let _X86_INS_VGATHERPF1DPD = 890;;
-let _X86_INS_VGATHERPF1DPS = 891;;
-let _X86_INS_VGATHERPF1QPD = 892;;
-let _X86_INS_VGATHERPF1QPS = 893;;
-let _X86_INS_VGATHERQPD = 894;;
-let _X86_INS_VGATHERQPS = 895;;
-let _X86_INS_VHADDPD = 896;;
-let _X86_INS_VHADDPS = 897;;
-let _X86_INS_VHSUBPD = 898;;
-let _X86_INS_VHSUBPS = 899;;
-let _X86_INS_VINSERTF128 = 900;;
-let _X86_INS_VINSERTF32X4 = 901;;
-let _X86_INS_VINSERTF32X8 = 902;;
-let _X86_INS_VINSERTF64X2 = 903;;
-let _X86_INS_VINSERTF64X4 = 904;;
-let _X86_INS_VINSERTI128 = 905;;
-let _X86_INS_VINSERTI32X4 = 906;;
-let _X86_INS_VINSERTI32X8 = 907;;
-let _X86_INS_VINSERTI64X2 = 908;;
-let _X86_INS_VINSERTI64X4 = 909;;
-let _X86_INS_VINSERTPS = 910;;
-let _X86_INS_VLDDQU = 911;;
-let _X86_INS_VLDMXCSR = 912;;
-let _X86_INS_VMASKMOVDQU = 913;;
-let _X86_INS_VMASKMOVPD = 914;;
-let _X86_INS_VMASKMOVPS = 915;;
-let _X86_INS_VMAXPD = 916;;
-let _X86_INS_VMAXPS = 917;;
-let _X86_INS_VMAXSD = 918;;
-let _X86_INS_VMAXSS = 919;;
-let _X86_INS_VMCALL = 920;;
-let _X86_INS_VMCLEAR = 921;;
-let _X86_INS_VMFUNC = 922;;
-let _X86_INS_VMINPD = 923;;
-let _X86_INS_VMINPS = 924;;
-let _X86_INS_VMINSD = 925;;
-let _X86_INS_VMINSS = 926;;
-let _X86_INS_VMLAUNCH = 927;;
-let _X86_INS_VMLOAD = 928;;
-let _X86_INS_VMMCALL = 929;;
-let _X86_INS_VMOVQ = 930;;
-let _X86_INS_VMOVDDUP = 931;;
-let _X86_INS_VMOVD = 932;;
-let _X86_INS_VMOVDQA32 = 933;;
-let _X86_INS_VMOVDQA64 = 934;;
-let _X86_INS_VMOVDQA = 935;;
-let _X86_INS_VMOVDQU16 = 936;;
-let _X86_INS_VMOVDQU32 = 937;;
-let _X86_INS_VMOVDQU64 = 938;;
-let _X86_INS_VMOVDQU8 = 939;;
-let _X86_INS_VMOVDQU = 940;;
-let _X86_INS_VMOVHLPS = 941;;
-let _X86_INS_VMOVHPD = 942;;
-let _X86_INS_VMOVHPS = 943;;
-let _X86_INS_VMOVLHPS = 944;;
-let _X86_INS_VMOVLPD = 945;;
-let _X86_INS_VMOVLPS = 946;;
-let _X86_INS_VMOVMSKPD = 947;;
-let _X86_INS_VMOVMSKPS = 948;;
-let _X86_INS_VMOVNTDQA = 949;;
-let _X86_INS_VMOVNTDQ = 950;;
-let _X86_INS_VMOVNTPD = 951;;
-let _X86_INS_VMOVNTPS = 952;;
-let _X86_INS_VMOVSD = 953;;
-let _X86_INS_VMOVSHDUP = 954;;
-let _X86_INS_VMOVSLDUP = 955;;
-let _X86_INS_VMOVSS = 956;;
-let _X86_INS_VMOVUPD = 957;;
-let _X86_INS_VMOVUPS = 958;;
-let _X86_INS_VMPSADBW = 959;;
-let _X86_INS_VMPTRLD = 960;;
-let _X86_INS_VMPTRST = 961;;
-let _X86_INS_VMREAD = 962;;
-let _X86_INS_VMRESUME = 963;;
-let _X86_INS_VMRUN = 964;;
-let _X86_INS_VMSAVE = 965;;
-let _X86_INS_VMULPD = 966;;
-let _X86_INS_VMULPS = 967;;
-let _X86_INS_VMULSD = 968;;
-let _X86_INS_VMULSS = 969;;
-let _X86_INS_VMWRITE = 970;;
-let _X86_INS_VMXOFF = 971;;
-let _X86_INS_VMXON = 972;;
-let _X86_INS_VPABSB = 973;;
-let _X86_INS_VPABSD = 974;;
-let _X86_INS_VPABSQ = 975;;
-let _X86_INS_VPABSW = 976;;
-let _X86_INS_VPACKSSDW = 977;;
-let _X86_INS_VPACKSSWB = 978;;
-let _X86_INS_VPACKUSDW = 979;;
-let _X86_INS_VPACKUSWB = 980;;
-let _X86_INS_VPADDB = 981;;
-let _X86_INS_VPADDD = 982;;
-let _X86_INS_VPADDQ = 983;;
-let _X86_INS_VPADDSB = 984;;
-let _X86_INS_VPADDSW = 985;;
-let _X86_INS_VPADDUSB = 986;;
-let _X86_INS_VPADDUSW = 987;;
-let _X86_INS_VPADDW = 988;;
-let _X86_INS_VPALIGNR = 989;;
-let _X86_INS_VPANDD = 990;;
-let _X86_INS_VPANDND = 991;;
-let _X86_INS_VPANDNQ = 992;;
-let _X86_INS_VPANDN = 993;;
-let _X86_INS_VPANDQ = 994;;
-let _X86_INS_VPAND = 995;;
-let _X86_INS_VPAVGB = 996;;
-let _X86_INS_VPAVGW = 997;;
-let _X86_INS_VPBLENDD = 998;;
-let _X86_INS_VPBLENDMB = 999;;
-let _X86_INS_VPBLENDMD = 1000;;
-let _X86_INS_VPBLENDMQ = 1001;;
-let _X86_INS_VPBLENDMW = 1002;;
-let _X86_INS_VPBLENDVB = 1003;;
-let _X86_INS_VPBLENDW = 1004;;
-let _X86_INS_VPBROADCASTB = 1005;;
-let _X86_INS_VPBROADCASTD = 1006;;
-let _X86_INS_VPBROADCASTMB2Q = 1007;;
-let _X86_INS_VPBROADCASTMW2D = 1008;;
-let _X86_INS_VPBROADCASTQ = 1009;;
-let _X86_INS_VPBROADCASTW = 1010;;
-let _X86_INS_VPCLMULQDQ = 1011;;
-let _X86_INS_VPCMOV = 1012;;
-let _X86_INS_VPCMPB = 1013;;
-let _X86_INS_VPCMPD = 1014;;
-let _X86_INS_VPCMPEQB = 1015;;
-let _X86_INS_VPCMPEQD = 1016;;
-let _X86_INS_VPCMPEQQ = 1017;;
-let _X86_INS_VPCMPEQW = 1018;;
-let _X86_INS_VPCMPESTRI = 1019;;
-let _X86_INS_VPCMPESTRM = 1020;;
-let _X86_INS_VPCMPGTB = 1021;;
-let _X86_INS_VPCMPGTD = 1022;;
-let _X86_INS_VPCMPGTQ = 1023;;
-let _X86_INS_VPCMPGTW = 1024;;
-let _X86_INS_VPCMPISTRI = 1025;;
-let _X86_INS_VPCMPISTRM = 1026;;
-let _X86_INS_VPCMPQ = 1027;;
-let _X86_INS_VPCMPUB = 1028;;
-let _X86_INS_VPCMPUD = 1029;;
-let _X86_INS_VPCMPUQ = 1030;;
-let _X86_INS_VPCMPUW = 1031;;
-let _X86_INS_VPCMPW = 1032;;
-let _X86_INS_VPCOMB = 1033;;
-let _X86_INS_VPCOMD = 1034;;
-let _X86_INS_VPCOMPRESSD = 1035;;
-let _X86_INS_VPCOMPRESSQ = 1036;;
-let _X86_INS_VPCOMQ = 1037;;
-let _X86_INS_VPCOMUB = 1038;;
-let _X86_INS_VPCOMUD = 1039;;
-let _X86_INS_VPCOMUQ = 1040;;
-let _X86_INS_VPCOMUW = 1041;;
-let _X86_INS_VPCOMW = 1042;;
-let _X86_INS_VPCONFLICTD = 1043;;
-let _X86_INS_VPCONFLICTQ = 1044;;
-let _X86_INS_VPERM2F128 = 1045;;
-let _X86_INS_VPERM2I128 = 1046;;
-let _X86_INS_VPERMD = 1047;;
-let _X86_INS_VPERMI2D = 1048;;
-let _X86_INS_VPERMI2PD = 1049;;
-let _X86_INS_VPERMI2PS = 1050;;
-let _X86_INS_VPERMI2Q = 1051;;
-let _X86_INS_VPERMIL2PD = 1052;;
-let _X86_INS_VPERMIL2PS = 1053;;
-let _X86_INS_VPERMILPD = 1054;;
-let _X86_INS_VPERMILPS = 1055;;
-let _X86_INS_VPERMPD = 1056;;
-let _X86_INS_VPERMPS = 1057;;
-let _X86_INS_VPERMQ = 1058;;
-let _X86_INS_VPERMT2D = 1059;;
-let _X86_INS_VPERMT2PD = 1060;;
-let _X86_INS_VPERMT2PS = 1061;;
-let _X86_INS_VPERMT2Q = 1062;;
-let _X86_INS_VPEXPANDD = 1063;;
-let _X86_INS_VPEXPANDQ = 1064;;
-let _X86_INS_VPEXTRB = 1065;;
-let _X86_INS_VPEXTRD = 1066;;
-let _X86_INS_VPEXTRQ = 1067;;
-let _X86_INS_VPEXTRW = 1068;;
-let _X86_INS_VPGATHERDD = 1069;;
-let _X86_INS_VPGATHERDQ = 1070;;
-let _X86_INS_VPGATHERQD = 1071;;
-let _X86_INS_VPGATHERQQ = 1072;;
-let _X86_INS_VPHADDBD = 1073;;
-let _X86_INS_VPHADDBQ = 1074;;
-let _X86_INS_VPHADDBW = 1075;;
-let _X86_INS_VPHADDDQ = 1076;;
-let _X86_INS_VPHADDD = 1077;;
-let _X86_INS_VPHADDSW = 1078;;
-let _X86_INS_VPHADDUBD = 1079;;
-let _X86_INS_VPHADDUBQ = 1080;;
-let _X86_INS_VPHADDUBW = 1081;;
-let _X86_INS_VPHADDUDQ = 1082;;
-let _X86_INS_VPHADDUWD = 1083;;
-let _X86_INS_VPHADDUWQ = 1084;;
-let _X86_INS_VPHADDWD = 1085;;
-let _X86_INS_VPHADDWQ = 1086;;
-let _X86_INS_VPHADDW = 1087;;
-let _X86_INS_VPHMINPOSUW = 1088;;
-let _X86_INS_VPHSUBBW = 1089;;
-let _X86_INS_VPHSUBDQ = 1090;;
-let _X86_INS_VPHSUBD = 1091;;
-let _X86_INS_VPHSUBSW = 1092;;
-let _X86_INS_VPHSUBWD = 1093;;
-let _X86_INS_VPHSUBW = 1094;;
-let _X86_INS_VPINSRB = 1095;;
-let _X86_INS_VPINSRD = 1096;;
-let _X86_INS_VPINSRQ = 1097;;
-let _X86_INS_VPINSRW = 1098;;
-let _X86_INS_VPLZCNTD = 1099;;
-let _X86_INS_VPLZCNTQ = 1100;;
-let _X86_INS_VPMACSDD = 1101;;
-let _X86_INS_VPMACSDQH = 1102;;
-let _X86_INS_VPMACSDQL = 1103;;
-let _X86_INS_VPMACSSDD = 1104;;
-let _X86_INS_VPMACSSDQH = 1105;;
-let _X86_INS_VPMACSSDQL = 1106;;
-let _X86_INS_VPMACSSWD = 1107;;
-let _X86_INS_VPMACSSWW = 1108;;
-let _X86_INS_VPMACSWD = 1109;;
-let _X86_INS_VPMACSWW = 1110;;
-let _X86_INS_VPMADCSSWD = 1111;;
-let _X86_INS_VPMADCSWD = 1112;;
-let _X86_INS_VPMADDUBSW = 1113;;
-let _X86_INS_VPMADDWD = 1114;;
-let _X86_INS_VPMASKMOVD = 1115;;
-let _X86_INS_VPMASKMOVQ = 1116;;
-let _X86_INS_VPMAXSB = 1117;;
-let _X86_INS_VPMAXSD = 1118;;
-let _X86_INS_VPMAXSQ = 1119;;
-let _X86_INS_VPMAXSW = 1120;;
-let _X86_INS_VPMAXUB = 1121;;
-let _X86_INS_VPMAXUD = 1122;;
-let _X86_INS_VPMAXUQ = 1123;;
-let _X86_INS_VPMAXUW = 1124;;
-let _X86_INS_VPMINSB = 1125;;
-let _X86_INS_VPMINSD = 1126;;
-let _X86_INS_VPMINSQ = 1127;;
-let _X86_INS_VPMINSW = 1128;;
-let _X86_INS_VPMINUB = 1129;;
-let _X86_INS_VPMINUD = 1130;;
-let _X86_INS_VPMINUQ = 1131;;
-let _X86_INS_VPMINUW = 1132;;
-let _X86_INS_VPMOVDB = 1133;;
-let _X86_INS_VPMOVDW = 1134;;
-let _X86_INS_VPMOVM2B = 1135;;
-let _X86_INS_VPMOVM2D = 1136;;
-let _X86_INS_VPMOVM2Q = 1137;;
-let _X86_INS_VPMOVM2W = 1138;;
-let _X86_INS_VPMOVMSKB = 1139;;
-let _X86_INS_VPMOVQB = 1140;;
-let _X86_INS_VPMOVQD = 1141;;
-let _X86_INS_VPMOVQW = 1142;;
-let _X86_INS_VPMOVSDB = 1143;;
-let _X86_INS_VPMOVSDW = 1144;;
-let _X86_INS_VPMOVSQB = 1145;;
-let _X86_INS_VPMOVSQD = 1146;;
-let _X86_INS_VPMOVSQW = 1147;;
-let _X86_INS_VPMOVSXBD = 1148;;
-let _X86_INS_VPMOVSXBQ = 1149;;
-let _X86_INS_VPMOVSXBW = 1150;;
-let _X86_INS_VPMOVSXDQ = 1151;;
-let _X86_INS_VPMOVSXWD = 1152;;
-let _X86_INS_VPMOVSXWQ = 1153;;
-let _X86_INS_VPMOVUSDB = 1154;;
-let _X86_INS_VPMOVUSDW = 1155;;
-let _X86_INS_VPMOVUSQB = 1156;;
-let _X86_INS_VPMOVUSQD = 1157;;
-let _X86_INS_VPMOVUSQW = 1158;;
-let _X86_INS_VPMOVZXBD = 1159;;
-let _X86_INS_VPMOVZXBQ = 1160;;
-let _X86_INS_VPMOVZXBW = 1161;;
-let _X86_INS_VPMOVZXDQ = 1162;;
-let _X86_INS_VPMOVZXWD = 1163;;
-let _X86_INS_VPMOVZXWQ = 1164;;
-let _X86_INS_VPMULDQ = 1165;;
-let _X86_INS_VPMULHRSW = 1166;;
-let _X86_INS_VPMULHUW = 1167;;
-let _X86_INS_VPMULHW = 1168;;
-let _X86_INS_VPMULLD = 1169;;
-let _X86_INS_VPMULLQ = 1170;;
-let _X86_INS_VPMULLW = 1171;;
-let _X86_INS_VPMULUDQ = 1172;;
-let _X86_INS_VPORD = 1173;;
-let _X86_INS_VPORQ = 1174;;
-let _X86_INS_VPOR = 1175;;
-let _X86_INS_VPPERM = 1176;;
-let _X86_INS_VPROTB = 1177;;
-let _X86_INS_VPROTD = 1178;;
-let _X86_INS_VPROTQ = 1179;;
-let _X86_INS_VPROTW = 1180;;
-let _X86_INS_VPSADBW = 1181;;
-let _X86_INS_VPSCATTERDD = 1182;;
-let _X86_INS_VPSCATTERDQ = 1183;;
-let _X86_INS_VPSCATTERQD = 1184;;
-let _X86_INS_VPSCATTERQQ = 1185;;
-let _X86_INS_VPSHAB = 1186;;
-let _X86_INS_VPSHAD = 1187;;
-let _X86_INS_VPSHAQ = 1188;;
-let _X86_INS_VPSHAW = 1189;;
-let _X86_INS_VPSHLB = 1190;;
-let _X86_INS_VPSHLD = 1191;;
-let _X86_INS_VPSHLQ = 1192;;
-let _X86_INS_VPSHLW = 1193;;
-let _X86_INS_VPSHUFB = 1194;;
-let _X86_INS_VPSHUFD = 1195;;
-let _X86_INS_VPSHUFHW = 1196;;
-let _X86_INS_VPSHUFLW = 1197;;
-let _X86_INS_VPSIGNB = 1198;;
-let _X86_INS_VPSIGND = 1199;;
-let _X86_INS_VPSIGNW = 1200;;
-let _X86_INS_VPSLLDQ = 1201;;
-let _X86_INS_VPSLLD = 1202;;
-let _X86_INS_VPSLLQ = 1203;;
-let _X86_INS_VPSLLVD = 1204;;
-let _X86_INS_VPSLLVQ = 1205;;
-let _X86_INS_VPSLLW = 1206;;
-let _X86_INS_VPSRAD = 1207;;
-let _X86_INS_VPSRAQ = 1208;;
-let _X86_INS_VPSRAVD = 1209;;
-let _X86_INS_VPSRAVQ = 1210;;
-let _X86_INS_VPSRAW = 1211;;
-let _X86_INS_VPSRLDQ = 1212;;
-let _X86_INS_VPSRLD = 1213;;
-let _X86_INS_VPSRLQ = 1214;;
-let _X86_INS_VPSRLVD = 1215;;
-let _X86_INS_VPSRLVQ = 1216;;
-let _X86_INS_VPSRLW = 1217;;
-let _X86_INS_VPSUBB = 1218;;
-let _X86_INS_VPSUBD = 1219;;
-let _X86_INS_VPSUBQ = 1220;;
-let _X86_INS_VPSUBSB = 1221;;
-let _X86_INS_VPSUBSW = 1222;;
-let _X86_INS_VPSUBUSB = 1223;;
-let _X86_INS_VPSUBUSW = 1224;;
-let _X86_INS_VPSUBW = 1225;;
-let _X86_INS_VPTESTMD = 1226;;
-let _X86_INS_VPTESTMQ = 1227;;
-let _X86_INS_VPTESTNMD = 1228;;
-let _X86_INS_VPTESTNMQ = 1229;;
-let _X86_INS_VPTEST = 1230;;
-let _X86_INS_VPUNPCKHBW = 1231;;
-let _X86_INS_VPUNPCKHDQ = 1232;;
-let _X86_INS_VPUNPCKHQDQ = 1233;;
-let _X86_INS_VPUNPCKHWD = 1234;;
-let _X86_INS_VPUNPCKLBW = 1235;;
-let _X86_INS_VPUNPCKLDQ = 1236;;
-let _X86_INS_VPUNPCKLQDQ = 1237;;
-let _X86_INS_VPUNPCKLWD = 1238;;
-let _X86_INS_VPXORD = 1239;;
-let _X86_INS_VPXORQ = 1240;;
-let _X86_INS_VPXOR = 1241;;
-let _X86_INS_VRCP14PD = 1242;;
-let _X86_INS_VRCP14PS = 1243;;
-let _X86_INS_VRCP14SD = 1244;;
-let _X86_INS_VRCP14SS = 1245;;
-let _X86_INS_VRCP28PD = 1246;;
-let _X86_INS_VRCP28PS = 1247;;
-let _X86_INS_VRCP28SD = 1248;;
-let _X86_INS_VRCP28SS = 1249;;
-let _X86_INS_VRCPPS = 1250;;
-let _X86_INS_VRCPSS = 1251;;
-let _X86_INS_VRNDSCALEPD = 1252;;
-let _X86_INS_VRNDSCALEPS = 1253;;
-let _X86_INS_VRNDSCALESD = 1254;;
-let _X86_INS_VRNDSCALESS = 1255;;
-let _X86_INS_VROUNDPD = 1256;;
-let _X86_INS_VROUNDPS = 1257;;
-let _X86_INS_VROUNDSD = 1258;;
-let _X86_INS_VROUNDSS = 1259;;
-let _X86_INS_VRSQRT14PD = 1260;;
-let _X86_INS_VRSQRT14PS = 1261;;
-let _X86_INS_VRSQRT14SD = 1262;;
-let _X86_INS_VRSQRT14SS = 1263;;
-let _X86_INS_VRSQRT28PD = 1264;;
-let _X86_INS_VRSQRT28PS = 1265;;
-let _X86_INS_VRSQRT28SD = 1266;;
-let _X86_INS_VRSQRT28SS = 1267;;
-let _X86_INS_VRSQRTPS = 1268;;
-let _X86_INS_VRSQRTSS = 1269;;
-let _X86_INS_VSCATTERDPD = 1270;;
-let _X86_INS_VSCATTERDPS = 1271;;
-let _X86_INS_VSCATTERPF0DPD = 1272;;
-let _X86_INS_VSCATTERPF0DPS = 1273;;
-let _X86_INS_VSCATTERPF0QPD = 1274;;
-let _X86_INS_VSCATTERPF0QPS = 1275;;
-let _X86_INS_VSCATTERPF1DPD = 1276;;
-let _X86_INS_VSCATTERPF1DPS = 1277;;
-let _X86_INS_VSCATTERPF1QPD = 1278;;
-let _X86_INS_VSCATTERPF1QPS = 1279;;
-let _X86_INS_VSCATTERQPD = 1280;;
-let _X86_INS_VSCATTERQPS = 1281;;
-let _X86_INS_VSHUFPD = 1282;;
-let _X86_INS_VSHUFPS = 1283;;
-let _X86_INS_VSQRTPD = 1284;;
-let _X86_INS_VSQRTPS = 1285;;
-let _X86_INS_VSQRTSD = 1286;;
-let _X86_INS_VSQRTSS = 1287;;
-let _X86_INS_VSTMXCSR = 1288;;
-let _X86_INS_VSUBPD = 1289;;
-let _X86_INS_VSUBPS = 1290;;
-let _X86_INS_VSUBSD = 1291;;
-let _X86_INS_VSUBSS = 1292;;
-let _X86_INS_VTESTPD = 1293;;
-let _X86_INS_VTESTPS = 1294;;
-let _X86_INS_VUNPCKHPD = 1295;;
-let _X86_INS_VUNPCKHPS = 1296;;
-let _X86_INS_VUNPCKLPD = 1297;;
-let _X86_INS_VUNPCKLPS = 1298;;
-let _X86_INS_VZEROALL = 1299;;
-let _X86_INS_VZEROUPPER = 1300;;
-let _X86_INS_WAIT = 1301;;
-let _X86_INS_WBINVD = 1302;;
-let _X86_INS_WRFSBASE = 1303;;
-let _X86_INS_WRGSBASE = 1304;;
-let _X86_INS_WRMSR = 1305;;
-let _X86_INS_XABORT = 1306;;
-let _X86_INS_XACQUIRE = 1307;;
-let _X86_INS_XBEGIN = 1308;;
-let _X86_INS_XCHG = 1309;;
-let _X86_INS_XCRYPTCBC = 1310;;
-let _X86_INS_XCRYPTCFB = 1311;;
-let _X86_INS_XCRYPTCTR = 1312;;
-let _X86_INS_XCRYPTECB = 1313;;
-let _X86_INS_XCRYPTOFB = 1314;;
-let _X86_INS_XEND = 1315;;
-let _X86_INS_XGETBV = 1316;;
-let _X86_INS_XLATB = 1317;;
-let _X86_INS_XRELEASE = 1318;;
-let _X86_INS_XRSTOR = 1319;;
-let _X86_INS_XRSTOR64 = 1320;;
-let _X86_INS_XRSTORS = 1321;;
-let _X86_INS_XRSTORS64 = 1322;;
-let _X86_INS_XSAVE = 1323;;
-let _X86_INS_XSAVE64 = 1324;;
-let _X86_INS_XSAVEC = 1325;;
-let _X86_INS_XSAVEC64 = 1326;;
-let _X86_INS_XSAVEOPT = 1327;;
-let _X86_INS_XSAVEOPT64 = 1328;;
-let _X86_INS_XSAVES = 1329;;
-let _X86_INS_XSAVES64 = 1330;;
-let _X86_INS_XSETBV = 1331;;
-let _X86_INS_XSHA1 = 1332;;
-let _X86_INS_XSHA256 = 1333;;
-let _X86_INS_XSTORE = 1334;;
-let _X86_INS_XTEST = 1335;;
-let _X86_INS_FDISI8087_NOP = 1336;;
-let _X86_INS_FENI8087_NOP = 1337;;
-let _X86_INS_ENDING = 1338;;
+let _X86_INS_CMPSB = 96;;
+let _X86_INS_CMPSQ = 97;;
+let _X86_INS_CMPSW = 98;;
+let _X86_INS_CMPXCHG16B = 99;;
+let _X86_INS_CMPXCHG = 100;;
+let _X86_INS_CMPXCHG8B = 101;;
+let _X86_INS_COMISD = 102;;
+let _X86_INS_COMISS = 103;;
+let _X86_INS_FCOMP = 104;;
+let _X86_INS_FCOMPI = 105;;
+let _X86_INS_FCOMI = 106;;
+let _X86_INS_FCOM = 107;;
+let _X86_INS_FCOS = 108;;
+let _X86_INS_CPUID = 109;;
+let _X86_INS_CQO = 110;;
+let _X86_INS_CRC32 = 111;;
+let _X86_INS_CVTDQ2PD = 112;;
+let _X86_INS_CVTDQ2PS = 113;;
+let _X86_INS_CVTPD2DQ = 114;;
+let _X86_INS_CVTPD2PS = 115;;
+let _X86_INS_CVTPS2DQ = 116;;
+let _X86_INS_CVTPS2PD = 117;;
+let _X86_INS_CVTSD2SI = 118;;
+let _X86_INS_CVTSD2SS = 119;;
+let _X86_INS_CVTSI2SD = 120;;
+let _X86_INS_CVTSI2SS = 121;;
+let _X86_INS_CVTSS2SD = 122;;
+let _X86_INS_CVTSS2SI = 123;;
+let _X86_INS_CVTTPD2DQ = 124;;
+let _X86_INS_CVTTPS2DQ = 125;;
+let _X86_INS_CVTTSD2SI = 126;;
+let _X86_INS_CVTTSS2SI = 127;;
+let _X86_INS_CWD = 128;;
+let _X86_INS_CWDE = 129;;
+let _X86_INS_DAA = 130;;
+let _X86_INS_DAS = 131;;
+let _X86_INS_DATA16 = 132;;
+let _X86_INS_DEC = 133;;
+let _X86_INS_DIV = 134;;
+let _X86_INS_DIVPD = 135;;
+let _X86_INS_DIVPS = 136;;
+let _X86_INS_FDIVR = 137;;
+let _X86_INS_FIDIVR = 138;;
+let _X86_INS_FDIVRP = 139;;
+let _X86_INS_DIVSD = 140;;
+let _X86_INS_DIVSS = 141;;
+let _X86_INS_FDIV = 142;;
+let _X86_INS_FIDIV = 143;;
+let _X86_INS_FDIVP = 144;;
+let _X86_INS_DPPD = 145;;
+let _X86_INS_DPPS = 146;;
+let _X86_INS_RET = 147;;
+let _X86_INS_ENCLS = 148;;
+let _X86_INS_ENCLU = 149;;
+let _X86_INS_ENTER = 150;;
+let _X86_INS_EXTRACTPS = 151;;
+let _X86_INS_EXTRQ = 152;;
+let _X86_INS_F2XM1 = 153;;
+let _X86_INS_LCALL = 154;;
+let _X86_INS_LJMP = 155;;
+let _X86_INS_FBLD = 156;;
+let _X86_INS_FBSTP = 157;;
+let _X86_INS_FCOMPP = 158;;
+let _X86_INS_FDECSTP = 159;;
+let _X86_INS_FEMMS = 160;;
+let _X86_INS_FFREE = 161;;
+let _X86_INS_FICOM = 162;;
+let _X86_INS_FICOMP = 163;;
+let _X86_INS_FINCSTP = 164;;
+let _X86_INS_FLDCW = 165;;
+let _X86_INS_FLDENV = 166;;
+let _X86_INS_FLDL2E = 167;;
+let _X86_INS_FLDL2T = 168;;
+let _X86_INS_FLDLG2 = 169;;
+let _X86_INS_FLDLN2 = 170;;
+let _X86_INS_FLDPI = 171;;
+let _X86_INS_FNCLEX = 172;;
+let _X86_INS_FNINIT = 173;;
+let _X86_INS_FNOP = 174;;
+let _X86_INS_FNSTCW = 175;;
+let _X86_INS_FNSTSW = 176;;
+let _X86_INS_FPATAN = 177;;
+let _X86_INS_FPREM = 178;;
+let _X86_INS_FPREM1 = 179;;
+let _X86_INS_FPTAN = 180;;
+let _X86_INS_FFREEP = 181;;
+let _X86_INS_FRNDINT = 182;;
+let _X86_INS_FRSTOR = 183;;
+let _X86_INS_FNSAVE = 184;;
+let _X86_INS_FSCALE = 185;;
+let _X86_INS_FSETPM = 186;;
+let _X86_INS_FSINCOS = 187;;
+let _X86_INS_FNSTENV = 188;;
+let _X86_INS_FXAM = 189;;
+let _X86_INS_FXRSTOR = 190;;
+let _X86_INS_FXRSTOR64 = 191;;
+let _X86_INS_FXSAVE = 192;;
+let _X86_INS_FXSAVE64 = 193;;
+let _X86_INS_FXTRACT = 194;;
+let _X86_INS_FYL2X = 195;;
+let _X86_INS_FYL2XP1 = 196;;
+let _X86_INS_MOVAPD = 197;;
+let _X86_INS_MOVAPS = 198;;
+let _X86_INS_ORPD = 199;;
+let _X86_INS_ORPS = 200;;
+let _X86_INS_VMOVAPD = 201;;
+let _X86_INS_VMOVAPS = 202;;
+let _X86_INS_XORPD = 203;;
+let _X86_INS_XORPS = 204;;
+let _X86_INS_GETSEC = 205;;
+let _X86_INS_HADDPD = 206;;
+let _X86_INS_HADDPS = 207;;
+let _X86_INS_HLT = 208;;
+let _X86_INS_HSUBPD = 209;;
+let _X86_INS_HSUBPS = 210;;
+let _X86_INS_IDIV = 211;;
+let _X86_INS_FILD = 212;;
+let _X86_INS_IMUL = 213;;
+let _X86_INS_IN = 214;;
+let _X86_INS_INC = 215;;
+let _X86_INS_INSB = 216;;
+let _X86_INS_INSERTPS = 217;;
+let _X86_INS_INSERTQ = 218;;
+let _X86_INS_INSD = 219;;
+let _X86_INS_INSW = 220;;
+let _X86_INS_INT = 221;;
+let _X86_INS_INT1 = 222;;
+let _X86_INS_INT3 = 223;;
+let _X86_INS_INTO = 224;;
+let _X86_INS_INVD = 225;;
+let _X86_INS_INVEPT = 226;;
+let _X86_INS_INVLPG = 227;;
+let _X86_INS_INVLPGA = 228;;
+let _X86_INS_INVPCID = 229;;
+let _X86_INS_INVVPID = 230;;
+let _X86_INS_IRET = 231;;
+let _X86_INS_IRETD = 232;;
+let _X86_INS_IRETQ = 233;;
+let _X86_INS_FISTTP = 234;;
+let _X86_INS_FIST = 235;;
+let _X86_INS_FISTP = 236;;
+let _X86_INS_UCOMISD = 237;;
+let _X86_INS_UCOMISS = 238;;
+let _X86_INS_VCOMISD = 239;;
+let _X86_INS_VCOMISS = 240;;
+let _X86_INS_VCVTSD2SS = 241;;
+let _X86_INS_VCVTSI2SD = 242;;
+let _X86_INS_VCVTSI2SS = 243;;
+let _X86_INS_VCVTSS2SD = 244;;
+let _X86_INS_VCVTTSD2SI = 245;;
+let _X86_INS_VCVTTSD2USI = 246;;
+let _X86_INS_VCVTTSS2SI = 247;;
+let _X86_INS_VCVTTSS2USI = 248;;
+let _X86_INS_VCVTUSI2SD = 249;;
+let _X86_INS_VCVTUSI2SS = 250;;
+let _X86_INS_VUCOMISD = 251;;
+let _X86_INS_VUCOMISS = 252;;
+let _X86_INS_JAE = 253;;
+let _X86_INS_JA = 254;;
+let _X86_INS_JBE = 255;;
+let _X86_INS_JB = 256;;
+let _X86_INS_JCXZ = 257;;
+let _X86_INS_JECXZ = 258;;
+let _X86_INS_JE = 259;;
+let _X86_INS_JGE = 260;;
+let _X86_INS_JG = 261;;
+let _X86_INS_JLE = 262;;
+let _X86_INS_JL = 263;;
+let _X86_INS_JMP = 264;;
+let _X86_INS_JNE = 265;;
+let _X86_INS_JNO = 266;;
+let _X86_INS_JNP = 267;;
+let _X86_INS_JNS = 268;;
+let _X86_INS_JO = 269;;
+let _X86_INS_JP = 270;;
+let _X86_INS_JRCXZ = 271;;
+let _X86_INS_JS = 272;;
+let _X86_INS_KANDB = 273;;
+let _X86_INS_KANDD = 274;;
+let _X86_INS_KANDNB = 275;;
+let _X86_INS_KANDND = 276;;
+let _X86_INS_KANDNQ = 277;;
+let _X86_INS_KANDNW = 278;;
+let _X86_INS_KANDQ = 279;;
+let _X86_INS_KANDW = 280;;
+let _X86_INS_KMOVB = 281;;
+let _X86_INS_KMOVD = 282;;
+let _X86_INS_KMOVQ = 283;;
+let _X86_INS_KMOVW = 284;;
+let _X86_INS_KNOTB = 285;;
+let _X86_INS_KNOTD = 286;;
+let _X86_INS_KNOTQ = 287;;
+let _X86_INS_KNOTW = 288;;
+let _X86_INS_KORB = 289;;
+let _X86_INS_KORD = 290;;
+let _X86_INS_KORQ = 291;;
+let _X86_INS_KORTESTB = 292;;
+let _X86_INS_KORTESTD = 293;;
+let _X86_INS_KORTESTQ = 294;;
+let _X86_INS_KORTESTW = 295;;
+let _X86_INS_KORW = 296;;
+let _X86_INS_KSHIFTLB = 297;;
+let _X86_INS_KSHIFTLD = 298;;
+let _X86_INS_KSHIFTLQ = 299;;
+let _X86_INS_KSHIFTLW = 300;;
+let _X86_INS_KSHIFTRB = 301;;
+let _X86_INS_KSHIFTRD = 302;;
+let _X86_INS_KSHIFTRQ = 303;;
+let _X86_INS_KSHIFTRW = 304;;
+let _X86_INS_KUNPCKBW = 305;;
+let _X86_INS_KXNORB = 306;;
+let _X86_INS_KXNORD = 307;;
+let _X86_INS_KXNORQ = 308;;
+let _X86_INS_KXNORW = 309;;
+let _X86_INS_KXORB = 310;;
+let _X86_INS_KXORD = 311;;
+let _X86_INS_KXORQ = 312;;
+let _X86_INS_KXORW = 313;;
+let _X86_INS_LAHF = 314;;
+let _X86_INS_LAR = 315;;
+let _X86_INS_LDDQU = 316;;
+let _X86_INS_LDMXCSR = 317;;
+let _X86_INS_LDS = 318;;
+let _X86_INS_FLDZ = 319;;
+let _X86_INS_FLD1 = 320;;
+let _X86_INS_FLD = 321;;
+let _X86_INS_LEA = 322;;
+let _X86_INS_LEAVE = 323;;
+let _X86_INS_LES = 324;;
+let _X86_INS_LFENCE = 325;;
+let _X86_INS_LFS = 326;;
+let _X86_INS_LGDT = 327;;
+let _X86_INS_LGS = 328;;
+let _X86_INS_LIDT = 329;;
+let _X86_INS_LLDT = 330;;
+let _X86_INS_LMSW = 331;;
+let _X86_INS_OR = 332;;
+let _X86_INS_SUB = 333;;
+let _X86_INS_XOR = 334;;
+let _X86_INS_LODSB = 335;;
+let _X86_INS_LODSD = 336;;
+let _X86_INS_LODSQ = 337;;
+let _X86_INS_LODSW = 338;;
+let _X86_INS_LOOP = 339;;
+let _X86_INS_LOOPE = 340;;
+let _X86_INS_LOOPNE = 341;;
+let _X86_INS_RETF = 342;;
+let _X86_INS_RETFQ = 343;;
+let _X86_INS_LSL = 344;;
+let _X86_INS_LSS = 345;;
+let _X86_INS_LTR = 346;;
+let _X86_INS_XADD = 347;;
+let _X86_INS_LZCNT = 348;;
+let _X86_INS_MASKMOVDQU = 349;;
+let _X86_INS_MAXPD = 350;;
+let _X86_INS_MAXPS = 351;;
+let _X86_INS_MAXSD = 352;;
+let _X86_INS_MAXSS = 353;;
+let _X86_INS_MFENCE = 354;;
+let _X86_INS_MINPD = 355;;
+let _X86_INS_MINPS = 356;;
+let _X86_INS_MINSD = 357;;
+let _X86_INS_MINSS = 358;;
+let _X86_INS_CVTPD2PI = 359;;
+let _X86_INS_CVTPI2PD = 360;;
+let _X86_INS_CVTPI2PS = 361;;
+let _X86_INS_CVTPS2PI = 362;;
+let _X86_INS_CVTTPD2PI = 363;;
+let _X86_INS_CVTTPS2PI = 364;;
+let _X86_INS_EMMS = 365;;
+let _X86_INS_MASKMOVQ = 366;;
+let _X86_INS_MOVD = 367;;
+let _X86_INS_MOVDQ2Q = 368;;
+let _X86_INS_MOVNTQ = 369;;
+let _X86_INS_MOVQ2DQ = 370;;
+let _X86_INS_MOVQ = 371;;
+let _X86_INS_PABSB = 372;;
+let _X86_INS_PABSD = 373;;
+let _X86_INS_PABSW = 374;;
+let _X86_INS_PACKSSDW = 375;;
+let _X86_INS_PACKSSWB = 376;;
+let _X86_INS_PACKUSWB = 377;;
+let _X86_INS_PADDB = 378;;
+let _X86_INS_PADDD = 379;;
+let _X86_INS_PADDQ = 380;;
+let _X86_INS_PADDSB = 381;;
+let _X86_INS_PADDSW = 382;;
+let _X86_INS_PADDUSB = 383;;
+let _X86_INS_PADDUSW = 384;;
+let _X86_INS_PADDW = 385;;
+let _X86_INS_PALIGNR = 386;;
+let _X86_INS_PANDN = 387;;
+let _X86_INS_PAND = 388;;
+let _X86_INS_PAVGB = 389;;
+let _X86_INS_PAVGW = 390;;
+let _X86_INS_PCMPEQB = 391;;
+let _X86_INS_PCMPEQD = 392;;
+let _X86_INS_PCMPEQW = 393;;
+let _X86_INS_PCMPGTB = 394;;
+let _X86_INS_PCMPGTD = 395;;
+let _X86_INS_PCMPGTW = 396;;
+let _X86_INS_PEXTRW = 397;;
+let _X86_INS_PHADDSW = 398;;
+let _X86_INS_PHADDW = 399;;
+let _X86_INS_PHADDD = 400;;
+let _X86_INS_PHSUBD = 401;;
+let _X86_INS_PHSUBSW = 402;;
+let _X86_INS_PHSUBW = 403;;
+let _X86_INS_PINSRW = 404;;
+let _X86_INS_PMADDUBSW = 405;;
+let _X86_INS_PMADDWD = 406;;
+let _X86_INS_PMAXSW = 407;;
+let _X86_INS_PMAXUB = 408;;
+let _X86_INS_PMINSW = 409;;
+let _X86_INS_PMINUB = 410;;
+let _X86_INS_PMOVMSKB = 411;;
+let _X86_INS_PMULHRSW = 412;;
+let _X86_INS_PMULHUW = 413;;
+let _X86_INS_PMULHW = 414;;
+let _X86_INS_PMULLW = 415;;
+let _X86_INS_PMULUDQ = 416;;
+let _X86_INS_POR = 417;;
+let _X86_INS_PSADBW = 418;;
+let _X86_INS_PSHUFB = 419;;
+let _X86_INS_PSHUFW = 420;;
+let _X86_INS_PSIGNB = 421;;
+let _X86_INS_PSIGND = 422;;
+let _X86_INS_PSIGNW = 423;;
+let _X86_INS_PSLLD = 424;;
+let _X86_INS_PSLLQ = 425;;
+let _X86_INS_PSLLW = 426;;
+let _X86_INS_PSRAD = 427;;
+let _X86_INS_PSRAW = 428;;
+let _X86_INS_PSRLD = 429;;
+let _X86_INS_PSRLQ = 430;;
+let _X86_INS_PSRLW = 431;;
+let _X86_INS_PSUBB = 432;;
+let _X86_INS_PSUBD = 433;;
+let _X86_INS_PSUBQ = 434;;
+let _X86_INS_PSUBSB = 435;;
+let _X86_INS_PSUBSW = 436;;
+let _X86_INS_PSUBUSB = 437;;
+let _X86_INS_PSUBUSW = 438;;
+let _X86_INS_PSUBW = 439;;
+let _X86_INS_PUNPCKHBW = 440;;
+let _X86_INS_PUNPCKHDQ = 441;;
+let _X86_INS_PUNPCKHWD = 442;;
+let _X86_INS_PUNPCKLBW = 443;;
+let _X86_INS_PUNPCKLDQ = 444;;
+let _X86_INS_PUNPCKLWD = 445;;
+let _X86_INS_PXOR = 446;;
+let _X86_INS_MONITOR = 447;;
+let _X86_INS_MONTMUL = 448;;
+let _X86_INS_MOV = 449;;
+let _X86_INS_MOVABS = 450;;
+let _X86_INS_MOVBE = 451;;
+let _X86_INS_MOVDDUP = 452;;
+let _X86_INS_MOVDQA = 453;;
+let _X86_INS_MOVDQU = 454;;
+let _X86_INS_MOVHLPS = 455;;
+let _X86_INS_MOVHPD = 456;;
+let _X86_INS_MOVHPS = 457;;
+let _X86_INS_MOVLHPS = 458;;
+let _X86_INS_MOVLPD = 459;;
+let _X86_INS_MOVLPS = 460;;
+let _X86_INS_MOVMSKPD = 461;;
+let _X86_INS_MOVMSKPS = 462;;
+let _X86_INS_MOVNTDQA = 463;;
+let _X86_INS_MOVNTDQ = 464;;
+let _X86_INS_MOVNTI = 465;;
+let _X86_INS_MOVNTPD = 466;;
+let _X86_INS_MOVNTPS = 467;;
+let _X86_INS_MOVNTSD = 468;;
+let _X86_INS_MOVNTSS = 469;;
+let _X86_INS_MOVSB = 470;;
+let _X86_INS_MOVSD = 471;;
+let _X86_INS_MOVSHDUP = 472;;
+let _X86_INS_MOVSLDUP = 473;;
+let _X86_INS_MOVSQ = 474;;
+let _X86_INS_MOVSS = 475;;
+let _X86_INS_MOVSW = 476;;
+let _X86_INS_MOVSX = 477;;
+let _X86_INS_MOVSXD = 478;;
+let _X86_INS_MOVUPD = 479;;
+let _X86_INS_MOVUPS = 480;;
+let _X86_INS_MOVZX = 481;;
+let _X86_INS_MPSADBW = 482;;
+let _X86_INS_MUL = 483;;
+let _X86_INS_MULPD = 484;;
+let _X86_INS_MULPS = 485;;
+let _X86_INS_MULSD = 486;;
+let _X86_INS_MULSS = 487;;
+let _X86_INS_MULX = 488;;
+let _X86_INS_FMUL = 489;;
+let _X86_INS_FIMUL = 490;;
+let _X86_INS_FMULP = 491;;
+let _X86_INS_MWAIT = 492;;
+let _X86_INS_NEG = 493;;
+let _X86_INS_NOP = 494;;
+let _X86_INS_NOT = 495;;
+let _X86_INS_OUT = 496;;
+let _X86_INS_OUTSB = 497;;
+let _X86_INS_OUTSD = 498;;
+let _X86_INS_OUTSW = 499;;
+let _X86_INS_PACKUSDW = 500;;
+let _X86_INS_PAUSE = 501;;
+let _X86_INS_PAVGUSB = 502;;
+let _X86_INS_PBLENDVB = 503;;
+let _X86_INS_PBLENDW = 504;;
+let _X86_INS_PCLMULQDQ = 505;;
+let _X86_INS_PCMPEQQ = 506;;
+let _X86_INS_PCMPESTRI = 507;;
+let _X86_INS_PCMPESTRM = 508;;
+let _X86_INS_PCMPGTQ = 509;;
+let _X86_INS_PCMPISTRI = 510;;
+let _X86_INS_PCMPISTRM = 511;;
+let _X86_INS_PCOMMIT = 512;;
+let _X86_INS_PDEP = 513;;
+let _X86_INS_PEXT = 514;;
+let _X86_INS_PEXTRB = 515;;
+let _X86_INS_PEXTRD = 516;;
+let _X86_INS_PEXTRQ = 517;;
+let _X86_INS_PF2ID = 518;;
+let _X86_INS_PF2IW = 519;;
+let _X86_INS_PFACC = 520;;
+let _X86_INS_PFADD = 521;;
+let _X86_INS_PFCMPEQ = 522;;
+let _X86_INS_PFCMPGE = 523;;
+let _X86_INS_PFCMPGT = 524;;
+let _X86_INS_PFMAX = 525;;
+let _X86_INS_PFMIN = 526;;
+let _X86_INS_PFMUL = 527;;
+let _X86_INS_PFNACC = 528;;
+let _X86_INS_PFPNACC = 529;;
+let _X86_INS_PFRCPIT1 = 530;;
+let _X86_INS_PFRCPIT2 = 531;;
+let _X86_INS_PFRCP = 532;;
+let _X86_INS_PFRSQIT1 = 533;;
+let _X86_INS_PFRSQRT = 534;;
+let _X86_INS_PFSUBR = 535;;
+let _X86_INS_PFSUB = 536;;
+let _X86_INS_PHMINPOSUW = 537;;
+let _X86_INS_PI2FD = 538;;
+let _X86_INS_PI2FW = 539;;
+let _X86_INS_PINSRB = 540;;
+let _X86_INS_PINSRD = 541;;
+let _X86_INS_PINSRQ = 542;;
+let _X86_INS_PMAXSB = 543;;
+let _X86_INS_PMAXSD = 544;;
+let _X86_INS_PMAXUD = 545;;
+let _X86_INS_PMAXUW = 546;;
+let _X86_INS_PMINSB = 547;;
+let _X86_INS_PMINSD = 548;;
+let _X86_INS_PMINUD = 549;;
+let _X86_INS_PMINUW = 550;;
+let _X86_INS_PMOVSXBD = 551;;
+let _X86_INS_PMOVSXBQ = 552;;
+let _X86_INS_PMOVSXBW = 553;;
+let _X86_INS_PMOVSXDQ = 554;;
+let _X86_INS_PMOVSXWD = 555;;
+let _X86_INS_PMOVSXWQ = 556;;
+let _X86_INS_PMOVZXBD = 557;;
+let _X86_INS_PMOVZXBQ = 558;;
+let _X86_INS_PMOVZXBW = 559;;
+let _X86_INS_PMOVZXDQ = 560;;
+let _X86_INS_PMOVZXWD = 561;;
+let _X86_INS_PMOVZXWQ = 562;;
+let _X86_INS_PMULDQ = 563;;
+let _X86_INS_PMULHRW = 564;;
+let _X86_INS_PMULLD = 565;;
+let _X86_INS_POP = 566;;
+let _X86_INS_POPAW = 567;;
+let _X86_INS_POPAL = 568;;
+let _X86_INS_POPCNT = 569;;
+let _X86_INS_POPF = 570;;
+let _X86_INS_POPFD = 571;;
+let _X86_INS_POPFQ = 572;;
+let _X86_INS_PREFETCH = 573;;
+let _X86_INS_PREFETCHNTA = 574;;
+let _X86_INS_PREFETCHT0 = 575;;
+let _X86_INS_PREFETCHT1 = 576;;
+let _X86_INS_PREFETCHT2 = 577;;
+let _X86_INS_PREFETCHW = 578;;
+let _X86_INS_PSHUFD = 579;;
+let _X86_INS_PSHUFHW = 580;;
+let _X86_INS_PSHUFLW = 581;;
+let _X86_INS_PSLLDQ = 582;;
+let _X86_INS_PSRLDQ = 583;;
+let _X86_INS_PSWAPD = 584;;
+let _X86_INS_PTEST = 585;;
+let _X86_INS_PUNPCKHQDQ = 586;;
+let _X86_INS_PUNPCKLQDQ = 587;;
+let _X86_INS_PUSH = 588;;
+let _X86_INS_PUSHAW = 589;;
+let _X86_INS_PUSHAL = 590;;
+let _X86_INS_PUSHF = 591;;
+let _X86_INS_PUSHFD = 592;;
+let _X86_INS_PUSHFQ = 593;;
+let _X86_INS_RCL = 594;;
+let _X86_INS_RCPPS = 595;;
+let _X86_INS_RCPSS = 596;;
+let _X86_INS_RCR = 597;;
+let _X86_INS_RDFSBASE = 598;;
+let _X86_INS_RDGSBASE = 599;;
+let _X86_INS_RDMSR = 600;;
+let _X86_INS_RDPMC = 601;;
+let _X86_INS_RDRAND = 602;;
+let _X86_INS_RDSEED = 603;;
+let _X86_INS_RDTSC = 604;;
+let _X86_INS_RDTSCP = 605;;
+let _X86_INS_ROL = 606;;
+let _X86_INS_ROR = 607;;
+let _X86_INS_RORX = 608;;
+let _X86_INS_ROUNDPD = 609;;
+let _X86_INS_ROUNDPS = 610;;
+let _X86_INS_ROUNDSD = 611;;
+let _X86_INS_ROUNDSS = 612;;
+let _X86_INS_RSM = 613;;
+let _X86_INS_RSQRTPS = 614;;
+let _X86_INS_RSQRTSS = 615;;
+let _X86_INS_SAHF = 616;;
+let _X86_INS_SAL = 617;;
+let _X86_INS_SALC = 618;;
+let _X86_INS_SAR = 619;;
+let _X86_INS_SARX = 620;;
+let _X86_INS_SBB = 621;;
+let _X86_INS_SCASB = 622;;
+let _X86_INS_SCASD = 623;;
+let _X86_INS_SCASQ = 624;;
+let _X86_INS_SCASW = 625;;
+let _X86_INS_SETAE = 626;;
+let _X86_INS_SETA = 627;;
+let _X86_INS_SETBE = 628;;
+let _X86_INS_SETB = 629;;
+let _X86_INS_SETE = 630;;
+let _X86_INS_SETGE = 631;;
+let _X86_INS_SETG = 632;;
+let _X86_INS_SETLE = 633;;
+let _X86_INS_SETL = 634;;
+let _X86_INS_SETNE = 635;;
+let _X86_INS_SETNO = 636;;
+let _X86_INS_SETNP = 637;;
+let _X86_INS_SETNS = 638;;
+let _X86_INS_SETO = 639;;
+let _X86_INS_SETP = 640;;
+let _X86_INS_SETS = 641;;
+let _X86_INS_SFENCE = 642;;
+let _X86_INS_SGDT = 643;;
+let _X86_INS_SHA1MSG1 = 644;;
+let _X86_INS_SHA1MSG2 = 645;;
+let _X86_INS_SHA1NEXTE = 646;;
+let _X86_INS_SHA1RNDS4 = 647;;
+let _X86_INS_SHA256MSG1 = 648;;
+let _X86_INS_SHA256MSG2 = 649;;
+let _X86_INS_SHA256RNDS2 = 650;;
+let _X86_INS_SHL = 651;;
+let _X86_INS_SHLD = 652;;
+let _X86_INS_SHLX = 653;;
+let _X86_INS_SHR = 654;;
+let _X86_INS_SHRD = 655;;
+let _X86_INS_SHRX = 656;;
+let _X86_INS_SHUFPD = 657;;
+let _X86_INS_SHUFPS = 658;;
+let _X86_INS_SIDT = 659;;
+let _X86_INS_FSIN = 660;;
+let _X86_INS_SKINIT = 661;;
+let _X86_INS_SLDT = 662;;
+let _X86_INS_SMSW = 663;;
+let _X86_INS_SQRTPD = 664;;
+let _X86_INS_SQRTPS = 665;;
+let _X86_INS_SQRTSD = 666;;
+let _X86_INS_SQRTSS = 667;;
+let _X86_INS_FSQRT = 668;;
+let _X86_INS_STAC = 669;;
+let _X86_INS_STC = 670;;
+let _X86_INS_STD = 671;;
+let _X86_INS_STGI = 672;;
+let _X86_INS_STI = 673;;
+let _X86_INS_STMXCSR = 674;;
+let _X86_INS_STOSB = 675;;
+let _X86_INS_STOSD = 676;;
+let _X86_INS_STOSQ = 677;;
+let _X86_INS_STOSW = 678;;
+let _X86_INS_STR = 679;;
+let _X86_INS_FST = 680;;
+let _X86_INS_FSTP = 681;;
+let _X86_INS_FSTPNCE = 682;;
+let _X86_INS_FXCH = 683;;
+let _X86_INS_SUBPD = 684;;
+let _X86_INS_SUBPS = 685;;
+let _X86_INS_FSUBR = 686;;
+let _X86_INS_FISUBR = 687;;
+let _X86_INS_FSUBRP = 688;;
+let _X86_INS_SUBSD = 689;;
+let _X86_INS_SUBSS = 690;;
+let _X86_INS_FSUB = 691;;
+let _X86_INS_FISUB = 692;;
+let _X86_INS_FSUBP = 693;;
+let _X86_INS_SWAPGS = 694;;
+let _X86_INS_SYSCALL = 695;;
+let _X86_INS_SYSENTER = 696;;
+let _X86_INS_SYSEXIT = 697;;
+let _X86_INS_SYSRET = 698;;
+let _X86_INS_T1MSKC = 699;;
+let _X86_INS_TEST = 700;;
+let _X86_INS_UD2 = 701;;
+let _X86_INS_FTST = 702;;
+let _X86_INS_TZCNT = 703;;
+let _X86_INS_TZMSK = 704;;
+let _X86_INS_FUCOMPI = 705;;
+let _X86_INS_FUCOMI = 706;;
+let _X86_INS_FUCOMPP = 707;;
+let _X86_INS_FUCOMP = 708;;
+let _X86_INS_FUCOM = 709;;
+let _X86_INS_UD2B = 710;;
+let _X86_INS_UNPCKHPD = 711;;
+let _X86_INS_UNPCKHPS = 712;;
+let _X86_INS_UNPCKLPD = 713;;
+let _X86_INS_UNPCKLPS = 714;;
+let _X86_INS_VADDPD = 715;;
+let _X86_INS_VADDPS = 716;;
+let _X86_INS_VADDSD = 717;;
+let _X86_INS_VADDSS = 718;;
+let _X86_INS_VADDSUBPD = 719;;
+let _X86_INS_VADDSUBPS = 720;;
+let _X86_INS_VAESDECLAST = 721;;
+let _X86_INS_VAESDEC = 722;;
+let _X86_INS_VAESENCLAST = 723;;
+let _X86_INS_VAESENC = 724;;
+let _X86_INS_VAESIMC = 725;;
+let _X86_INS_VAESKEYGENASSIST = 726;;
+let _X86_INS_VALIGND = 727;;
+let _X86_INS_VALIGNQ = 728;;
+let _X86_INS_VANDNPD = 729;;
+let _X86_INS_VANDNPS = 730;;
+let _X86_INS_VANDPD = 731;;
+let _X86_INS_VANDPS = 732;;
+let _X86_INS_VBLENDMPD = 733;;
+let _X86_INS_VBLENDMPS = 734;;
+let _X86_INS_VBLENDPD = 735;;
+let _X86_INS_VBLENDPS = 736;;
+let _X86_INS_VBLENDVPD = 737;;
+let _X86_INS_VBLENDVPS = 738;;
+let _X86_INS_VBROADCASTF128 = 739;;
+let _X86_INS_VBROADCASTI32X4 = 740;;
+let _X86_INS_VBROADCASTI64X4 = 741;;
+let _X86_INS_VBROADCASTSD = 742;;
+let _X86_INS_VBROADCASTSS = 743;;
+let _X86_INS_VCOMPRESSPD = 744;;
+let _X86_INS_VCOMPRESSPS = 745;;
+let _X86_INS_VCVTDQ2PD = 746;;
+let _X86_INS_VCVTDQ2PS = 747;;
+let _X86_INS_VCVTPD2DQX = 748;;
+let _X86_INS_VCVTPD2DQ = 749;;
+let _X86_INS_VCVTPD2PSX = 750;;
+let _X86_INS_VCVTPD2PS = 751;;
+let _X86_INS_VCVTPD2UDQ = 752;;
+let _X86_INS_VCVTPH2PS = 753;;
+let _X86_INS_VCVTPS2DQ = 754;;
+let _X86_INS_VCVTPS2PD = 755;;
+let _X86_INS_VCVTPS2PH = 756;;
+let _X86_INS_VCVTPS2UDQ = 757;;
+let _X86_INS_VCVTSD2SI = 758;;
+let _X86_INS_VCVTSD2USI = 759;;
+let _X86_INS_VCVTSS2SI = 760;;
+let _X86_INS_VCVTSS2USI = 761;;
+let _X86_INS_VCVTTPD2DQX = 762;;
+let _X86_INS_VCVTTPD2DQ = 763;;
+let _X86_INS_VCVTTPD2UDQ = 764;;
+let _X86_INS_VCVTTPS2DQ = 765;;
+let _X86_INS_VCVTTPS2UDQ = 766;;
+let _X86_INS_VCVTUDQ2PD = 767;;
+let _X86_INS_VCVTUDQ2PS = 768;;
+let _X86_INS_VDIVPD = 769;;
+let _X86_INS_VDIVPS = 770;;
+let _X86_INS_VDIVSD = 771;;
+let _X86_INS_VDIVSS = 772;;
+let _X86_INS_VDPPD = 773;;
+let _X86_INS_VDPPS = 774;;
+let _X86_INS_VERR = 775;;
+let _X86_INS_VERW = 776;;
+let _X86_INS_VEXP2PD = 777;;
+let _X86_INS_VEXP2PS = 778;;
+let _X86_INS_VEXPANDPD = 779;;
+let _X86_INS_VEXPANDPS = 780;;
+let _X86_INS_VEXTRACTF128 = 781;;
+let _X86_INS_VEXTRACTF32X4 = 782;;
+let _X86_INS_VEXTRACTF64X4 = 783;;
+let _X86_INS_VEXTRACTI128 = 784;;
+let _X86_INS_VEXTRACTI32X4 = 785;;
+let _X86_INS_VEXTRACTI64X4 = 786;;
+let _X86_INS_VEXTRACTPS = 787;;
+let _X86_INS_VFMADD132PD = 788;;
+let _X86_INS_VFMADD132PS = 789;;
+let _X86_INS_VFMADDPD = 790;;
+let _X86_INS_VFMADD213PD = 791;;
+let _X86_INS_VFMADD231PD = 792;;
+let _X86_INS_VFMADDPS = 793;;
+let _X86_INS_VFMADD213PS = 794;;
+let _X86_INS_VFMADD231PS = 795;;
+let _X86_INS_VFMADDSD = 796;;
+let _X86_INS_VFMADD213SD = 797;;
+let _X86_INS_VFMADD132SD = 798;;
+let _X86_INS_VFMADD231SD = 799;;
+let _X86_INS_VFMADDSS = 800;;
+let _X86_INS_VFMADD213SS = 801;;
+let _X86_INS_VFMADD132SS = 802;;
+let _X86_INS_VFMADD231SS = 803;;
+let _X86_INS_VFMADDSUB132PD = 804;;
+let _X86_INS_VFMADDSUB132PS = 805;;
+let _X86_INS_VFMADDSUBPD = 806;;
+let _X86_INS_VFMADDSUB213PD = 807;;
+let _X86_INS_VFMADDSUB231PD = 808;;
+let _X86_INS_VFMADDSUBPS = 809;;
+let _X86_INS_VFMADDSUB213PS = 810;;
+let _X86_INS_VFMADDSUB231PS = 811;;
+let _X86_INS_VFMSUB132PD = 812;;
+let _X86_INS_VFMSUB132PS = 813;;
+let _X86_INS_VFMSUBADD132PD = 814;;
+let _X86_INS_VFMSUBADD132PS = 815;;
+let _X86_INS_VFMSUBADDPD = 816;;
+let _X86_INS_VFMSUBADD213PD = 817;;
+let _X86_INS_VFMSUBADD231PD = 818;;
+let _X86_INS_VFMSUBADDPS = 819;;
+let _X86_INS_VFMSUBADD213PS = 820;;
+let _X86_INS_VFMSUBADD231PS = 821;;
+let _X86_INS_VFMSUBPD = 822;;
+let _X86_INS_VFMSUB213PD = 823;;
+let _X86_INS_VFMSUB231PD = 824;;
+let _X86_INS_VFMSUBPS = 825;;
+let _X86_INS_VFMSUB213PS = 826;;
+let _X86_INS_VFMSUB231PS = 827;;
+let _X86_INS_VFMSUBSD = 828;;
+let _X86_INS_VFMSUB213SD = 829;;
+let _X86_INS_VFMSUB132SD = 830;;
+let _X86_INS_VFMSUB231SD = 831;;
+let _X86_INS_VFMSUBSS = 832;;
+let _X86_INS_VFMSUB213SS = 833;;
+let _X86_INS_VFMSUB132SS = 834;;
+let _X86_INS_VFMSUB231SS = 835;;
+let _X86_INS_VFNMADD132PD = 836;;
+let _X86_INS_VFNMADD132PS = 837;;
+let _X86_INS_VFNMADDPD = 838;;
+let _X86_INS_VFNMADD213PD = 839;;
+let _X86_INS_VFNMADD231PD = 840;;
+let _X86_INS_VFNMADDPS = 841;;
+let _X86_INS_VFNMADD213PS = 842;;
+let _X86_INS_VFNMADD231PS = 843;;
+let _X86_INS_VFNMADDSD = 844;;
+let _X86_INS_VFNMADD213SD = 845;;
+let _X86_INS_VFNMADD132SD = 846;;
+let _X86_INS_VFNMADD231SD = 847;;
+let _X86_INS_VFNMADDSS = 848;;
+let _X86_INS_VFNMADD213SS = 849;;
+let _X86_INS_VFNMADD132SS = 850;;
+let _X86_INS_VFNMADD231SS = 851;;
+let _X86_INS_VFNMSUB132PD = 852;;
+let _X86_INS_VFNMSUB132PS = 853;;
+let _X86_INS_VFNMSUBPD = 854;;
+let _X86_INS_VFNMSUB213PD = 855;;
+let _X86_INS_VFNMSUB231PD = 856;;
+let _X86_INS_VFNMSUBPS = 857;;
+let _X86_INS_VFNMSUB213PS = 858;;
+let _X86_INS_VFNMSUB231PS = 859;;
+let _X86_INS_VFNMSUBSD = 860;;
+let _X86_INS_VFNMSUB213SD = 861;;
+let _X86_INS_VFNMSUB132SD = 862;;
+let _X86_INS_VFNMSUB231SD = 863;;
+let _X86_INS_VFNMSUBSS = 864;;
+let _X86_INS_VFNMSUB213SS = 865;;
+let _X86_INS_VFNMSUB132SS = 866;;
+let _X86_INS_VFNMSUB231SS = 867;;
+let _X86_INS_VFRCZPD = 868;;
+let _X86_INS_VFRCZPS = 869;;
+let _X86_INS_VFRCZSD = 870;;
+let _X86_INS_VFRCZSS = 871;;
+let _X86_INS_VORPD = 872;;
+let _X86_INS_VORPS = 873;;
+let _X86_INS_VXORPD = 874;;
+let _X86_INS_VXORPS = 875;;
+let _X86_INS_VGATHERDPD = 876;;
+let _X86_INS_VGATHERDPS = 877;;
+let _X86_INS_VGATHERPF0DPD = 878;;
+let _X86_INS_VGATHERPF0DPS = 879;;
+let _X86_INS_VGATHERPF0QPD = 880;;
+let _X86_INS_VGATHERPF0QPS = 881;;
+let _X86_INS_VGATHERPF1DPD = 882;;
+let _X86_INS_VGATHERPF1DPS = 883;;
+let _X86_INS_VGATHERPF1QPD = 884;;
+let _X86_INS_VGATHERPF1QPS = 885;;
+let _X86_INS_VGATHERQPD = 886;;
+let _X86_INS_VGATHERQPS = 887;;
+let _X86_INS_VHADDPD = 888;;
+let _X86_INS_VHADDPS = 889;;
+let _X86_INS_VHSUBPD = 890;;
+let _X86_INS_VHSUBPS = 891;;
+let _X86_INS_VINSERTF128 = 892;;
+let _X86_INS_VINSERTF32X4 = 893;;
+let _X86_INS_VINSERTF32X8 = 894;;
+let _X86_INS_VINSERTF64X2 = 895;;
+let _X86_INS_VINSERTF64X4 = 896;;
+let _X86_INS_VINSERTI128 = 897;;
+let _X86_INS_VINSERTI32X4 = 898;;
+let _X86_INS_VINSERTI32X8 = 899;;
+let _X86_INS_VINSERTI64X2 = 900;;
+let _X86_INS_VINSERTI64X4 = 901;;
+let _X86_INS_VINSERTPS = 902;;
+let _X86_INS_VLDDQU = 903;;
+let _X86_INS_VLDMXCSR = 904;;
+let _X86_INS_VMASKMOVDQU = 905;;
+let _X86_INS_VMASKMOVPD = 906;;
+let _X86_INS_VMASKMOVPS = 907;;
+let _X86_INS_VMAXPD = 908;;
+let _X86_INS_VMAXPS = 909;;
+let _X86_INS_VMAXSD = 910;;
+let _X86_INS_VMAXSS = 911;;
+let _X86_INS_VMCALL = 912;;
+let _X86_INS_VMCLEAR = 913;;
+let _X86_INS_VMFUNC = 914;;
+let _X86_INS_VMINPD = 915;;
+let _X86_INS_VMINPS = 916;;
+let _X86_INS_VMINSD = 917;;
+let _X86_INS_VMINSS = 918;;
+let _X86_INS_VMLAUNCH = 919;;
+let _X86_INS_VMLOAD = 920;;
+let _X86_INS_VMMCALL = 921;;
+let _X86_INS_VMOVQ = 922;;
+let _X86_INS_VMOVDDUP = 923;;
+let _X86_INS_VMOVD = 924;;
+let _X86_INS_VMOVDQA32 = 925;;
+let _X86_INS_VMOVDQA64 = 926;;
+let _X86_INS_VMOVDQA = 927;;
+let _X86_INS_VMOVDQU16 = 928;;
+let _X86_INS_VMOVDQU32 = 929;;
+let _X86_INS_VMOVDQU64 = 930;;
+let _X86_INS_VMOVDQU8 = 931;;
+let _X86_INS_VMOVDQU = 932;;
+let _X86_INS_VMOVHLPS = 933;;
+let _X86_INS_VMOVHPD = 934;;
+let _X86_INS_VMOVHPS = 935;;
+let _X86_INS_VMOVLHPS = 936;;
+let _X86_INS_VMOVLPD = 937;;
+let _X86_INS_VMOVLPS = 938;;
+let _X86_INS_VMOVMSKPD = 939;;
+let _X86_INS_VMOVMSKPS = 940;;
+let _X86_INS_VMOVNTDQA = 941;;
+let _X86_INS_VMOVNTDQ = 942;;
+let _X86_INS_VMOVNTPD = 943;;
+let _X86_INS_VMOVNTPS = 944;;
+let _X86_INS_VMOVSD = 945;;
+let _X86_INS_VMOVSHDUP = 946;;
+let _X86_INS_VMOVSLDUP = 947;;
+let _X86_INS_VMOVSS = 948;;
+let _X86_INS_VMOVUPD = 949;;
+let _X86_INS_VMOVUPS = 950;;
+let _X86_INS_VMPSADBW = 951;;
+let _X86_INS_VMPTRLD = 952;;
+let _X86_INS_VMPTRST = 953;;
+let _X86_INS_VMREAD = 954;;
+let _X86_INS_VMRESUME = 955;;
+let _X86_INS_VMRUN = 956;;
+let _X86_INS_VMSAVE = 957;;
+let _X86_INS_VMULPD = 958;;
+let _X86_INS_VMULPS = 959;;
+let _X86_INS_VMULSD = 960;;
+let _X86_INS_VMULSS = 961;;
+let _X86_INS_VMWRITE = 962;;
+let _X86_INS_VMXOFF = 963;;
+let _X86_INS_VMXON = 964;;
+let _X86_INS_VPABSB = 965;;
+let _X86_INS_VPABSD = 966;;
+let _X86_INS_VPABSQ = 967;;
+let _X86_INS_VPABSW = 968;;
+let _X86_INS_VPACKSSDW = 969;;
+let _X86_INS_VPACKSSWB = 970;;
+let _X86_INS_VPACKUSDW = 971;;
+let _X86_INS_VPACKUSWB = 972;;
+let _X86_INS_VPADDB = 973;;
+let _X86_INS_VPADDD = 974;;
+let _X86_INS_VPADDQ = 975;;
+let _X86_INS_VPADDSB = 976;;
+let _X86_INS_VPADDSW = 977;;
+let _X86_INS_VPADDUSB = 978;;
+let _X86_INS_VPADDUSW = 979;;
+let _X86_INS_VPADDW = 980;;
+let _X86_INS_VPALIGNR = 981;;
+let _X86_INS_VPANDD = 982;;
+let _X86_INS_VPANDND = 983;;
+let _X86_INS_VPANDNQ = 984;;
+let _X86_INS_VPANDN = 985;;
+let _X86_INS_VPANDQ = 986;;
+let _X86_INS_VPAND = 987;;
+let _X86_INS_VPAVGB = 988;;
+let _X86_INS_VPAVGW = 989;;
+let _X86_INS_VPBLENDD = 990;;
+let _X86_INS_VPBLENDMB = 991;;
+let _X86_INS_VPBLENDMD = 992;;
+let _X86_INS_VPBLENDMQ = 993;;
+let _X86_INS_VPBLENDMW = 994;;
+let _X86_INS_VPBLENDVB = 995;;
+let _X86_INS_VPBLENDW = 996;;
+let _X86_INS_VPBROADCASTB = 997;;
+let _X86_INS_VPBROADCASTD = 998;;
+let _X86_INS_VPBROADCASTMB2Q = 999;;
+let _X86_INS_VPBROADCASTMW2D = 1000;;
+let _X86_INS_VPBROADCASTQ = 1001;;
+let _X86_INS_VPBROADCASTW = 1002;;
+let _X86_INS_VPCLMULQDQ = 1003;;
+let _X86_INS_VPCMOV = 1004;;
+let _X86_INS_VPCMPB = 1005;;
+let _X86_INS_VPCMPD = 1006;;
+let _X86_INS_VPCMPEQB = 1007;;
+let _X86_INS_VPCMPEQD = 1008;;
+let _X86_INS_VPCMPEQQ = 1009;;
+let _X86_INS_VPCMPEQW = 1010;;
+let _X86_INS_VPCMPESTRI = 1011;;
+let _X86_INS_VPCMPESTRM = 1012;;
+let _X86_INS_VPCMPGTB = 1013;;
+let _X86_INS_VPCMPGTD = 1014;;
+let _X86_INS_VPCMPGTQ = 1015;;
+let _X86_INS_VPCMPGTW = 1016;;
+let _X86_INS_VPCMPISTRI = 1017;;
+let _X86_INS_VPCMPISTRM = 1018;;
+let _X86_INS_VPCMPQ = 1019;;
+let _X86_INS_VPCMPUB = 1020;;
+let _X86_INS_VPCMPUD = 1021;;
+let _X86_INS_VPCMPUQ = 1022;;
+let _X86_INS_VPCMPUW = 1023;;
+let _X86_INS_VPCMPW = 1024;;
+let _X86_INS_VPCOMB = 1025;;
+let _X86_INS_VPCOMD = 1026;;
+let _X86_INS_VPCOMPRESSD = 1027;;
+let _X86_INS_VPCOMPRESSQ = 1028;;
+let _X86_INS_VPCOMQ = 1029;;
+let _X86_INS_VPCOMUB = 1030;;
+let _X86_INS_VPCOMUD = 1031;;
+let _X86_INS_VPCOMUQ = 1032;;
+let _X86_INS_VPCOMUW = 1033;;
+let _X86_INS_VPCOMW = 1034;;
+let _X86_INS_VPCONFLICTD = 1035;;
+let _X86_INS_VPCONFLICTQ = 1036;;
+let _X86_INS_VPERM2F128 = 1037;;
+let _X86_INS_VPERM2I128 = 1038;;
+let _X86_INS_VPERMD = 1039;;
+let _X86_INS_VPERMI2D = 1040;;
+let _X86_INS_VPERMI2PD = 1041;;
+let _X86_INS_VPERMI2PS = 1042;;
+let _X86_INS_VPERMI2Q = 1043;;
+let _X86_INS_VPERMIL2PD = 1044;;
+let _X86_INS_VPERMIL2PS = 1045;;
+let _X86_INS_VPERMILPD = 1046;;
+let _X86_INS_VPERMILPS = 1047;;
+let _X86_INS_VPERMPD = 1048;;
+let _X86_INS_VPERMPS = 1049;;
+let _X86_INS_VPERMQ = 1050;;
+let _X86_INS_VPERMT2D = 1051;;
+let _X86_INS_VPERMT2PD = 1052;;
+let _X86_INS_VPERMT2PS = 1053;;
+let _X86_INS_VPERMT2Q = 1054;;
+let _X86_INS_VPEXPANDD = 1055;;
+let _X86_INS_VPEXPANDQ = 1056;;
+let _X86_INS_VPEXTRB = 1057;;
+let _X86_INS_VPEXTRD = 1058;;
+let _X86_INS_VPEXTRQ = 1059;;
+let _X86_INS_VPEXTRW = 1060;;
+let _X86_INS_VPGATHERDD = 1061;;
+let _X86_INS_VPGATHERDQ = 1062;;
+let _X86_INS_VPGATHERQD = 1063;;
+let _X86_INS_VPGATHERQQ = 1064;;
+let _X86_INS_VPHADDBD = 1065;;
+let _X86_INS_VPHADDBQ = 1066;;
+let _X86_INS_VPHADDBW = 1067;;
+let _X86_INS_VPHADDDQ = 1068;;
+let _X86_INS_VPHADDD = 1069;;
+let _X86_INS_VPHADDSW = 1070;;
+let _X86_INS_VPHADDUBD = 1071;;
+let _X86_INS_VPHADDUBQ = 1072;;
+let _X86_INS_VPHADDUBW = 1073;;
+let _X86_INS_VPHADDUDQ = 1074;;
+let _X86_INS_VPHADDUWD = 1075;;
+let _X86_INS_VPHADDUWQ = 1076;;
+let _X86_INS_VPHADDWD = 1077;;
+let _X86_INS_VPHADDWQ = 1078;;
+let _X86_INS_VPHADDW = 1079;;
+let _X86_INS_VPHMINPOSUW = 1080;;
+let _X86_INS_VPHSUBBW = 1081;;
+let _X86_INS_VPHSUBDQ = 1082;;
+let _X86_INS_VPHSUBD = 1083;;
+let _X86_INS_VPHSUBSW = 1084;;
+let _X86_INS_VPHSUBWD = 1085;;
+let _X86_INS_VPHSUBW = 1086;;
+let _X86_INS_VPINSRB = 1087;;
+let _X86_INS_VPINSRD = 1088;;
+let _X86_INS_VPINSRQ = 1089;;
+let _X86_INS_VPINSRW = 1090;;
+let _X86_INS_VPLZCNTD = 1091;;
+let _X86_INS_VPLZCNTQ = 1092;;
+let _X86_INS_VPMACSDD = 1093;;
+let _X86_INS_VPMACSDQH = 1094;;
+let _X86_INS_VPMACSDQL = 1095;;
+let _X86_INS_VPMACSSDD = 1096;;
+let _X86_INS_VPMACSSDQH = 1097;;
+let _X86_INS_VPMACSSDQL = 1098;;
+let _X86_INS_VPMACSSWD = 1099;;
+let _X86_INS_VPMACSSWW = 1100;;
+let _X86_INS_VPMACSWD = 1101;;
+let _X86_INS_VPMACSWW = 1102;;
+let _X86_INS_VPMADCSSWD = 1103;;
+let _X86_INS_VPMADCSWD = 1104;;
+let _X86_INS_VPMADDUBSW = 1105;;
+let _X86_INS_VPMADDWD = 1106;;
+let _X86_INS_VPMASKMOVD = 1107;;
+let _X86_INS_VPMASKMOVQ = 1108;;
+let _X86_INS_VPMAXSB = 1109;;
+let _X86_INS_VPMAXSD = 1110;;
+let _X86_INS_VPMAXSQ = 1111;;
+let _X86_INS_VPMAXSW = 1112;;
+let _X86_INS_VPMAXUB = 1113;;
+let _X86_INS_VPMAXUD = 1114;;
+let _X86_INS_VPMAXUQ = 1115;;
+let _X86_INS_VPMAXUW = 1116;;
+let _X86_INS_VPMINSB = 1117;;
+let _X86_INS_VPMINSD = 1118;;
+let _X86_INS_VPMINSQ = 1119;;
+let _X86_INS_VPMINSW = 1120;;
+let _X86_INS_VPMINUB = 1121;;
+let _X86_INS_VPMINUD = 1122;;
+let _X86_INS_VPMINUQ = 1123;;
+let _X86_INS_VPMINUW = 1124;;
+let _X86_INS_VPMOVDB = 1125;;
+let _X86_INS_VPMOVDW = 1126;;
+let _X86_INS_VPMOVM2B = 1127;;
+let _X86_INS_VPMOVM2D = 1128;;
+let _X86_INS_VPMOVM2Q = 1129;;
+let _X86_INS_VPMOVM2W = 1130;;
+let _X86_INS_VPMOVMSKB = 1131;;
+let _X86_INS_VPMOVQB = 1132;;
+let _X86_INS_VPMOVQD = 1133;;
+let _X86_INS_VPMOVQW = 1134;;
+let _X86_INS_VPMOVSDB = 1135;;
+let _X86_INS_VPMOVSDW = 1136;;
+let _X86_INS_VPMOVSQB = 1137;;
+let _X86_INS_VPMOVSQD = 1138;;
+let _X86_INS_VPMOVSQW = 1139;;
+let _X86_INS_VPMOVSXBD = 1140;;
+let _X86_INS_VPMOVSXBQ = 1141;;
+let _X86_INS_VPMOVSXBW = 1142;;
+let _X86_INS_VPMOVSXDQ = 1143;;
+let _X86_INS_VPMOVSXWD = 1144;;
+let _X86_INS_VPMOVSXWQ = 1145;;
+let _X86_INS_VPMOVUSDB = 1146;;
+let _X86_INS_VPMOVUSDW = 1147;;
+let _X86_INS_VPMOVUSQB = 1148;;
+let _X86_INS_VPMOVUSQD = 1149;;
+let _X86_INS_VPMOVUSQW = 1150;;
+let _X86_INS_VPMOVZXBD = 1151;;
+let _X86_INS_VPMOVZXBQ = 1152;;
+let _X86_INS_VPMOVZXBW = 1153;;
+let _X86_INS_VPMOVZXDQ = 1154;;
+let _X86_INS_VPMOVZXWD = 1155;;
+let _X86_INS_VPMOVZXWQ = 1156;;
+let _X86_INS_VPMULDQ = 1157;;
+let _X86_INS_VPMULHRSW = 1158;;
+let _X86_INS_VPMULHUW = 1159;;
+let _X86_INS_VPMULHW = 1160;;
+let _X86_INS_VPMULLD = 1161;;
+let _X86_INS_VPMULLQ = 1162;;
+let _X86_INS_VPMULLW = 1163;;
+let _X86_INS_VPMULUDQ = 1164;;
+let _X86_INS_VPORD = 1165;;
+let _X86_INS_VPORQ = 1166;;
+let _X86_INS_VPOR = 1167;;
+let _X86_INS_VPPERM = 1168;;
+let _X86_INS_VPROTB = 1169;;
+let _X86_INS_VPROTD = 1170;;
+let _X86_INS_VPROTQ = 1171;;
+let _X86_INS_VPROTW = 1172;;
+let _X86_INS_VPSADBW = 1173;;
+let _X86_INS_VPSCATTERDD = 1174;;
+let _X86_INS_VPSCATTERDQ = 1175;;
+let _X86_INS_VPSCATTERQD = 1176;;
+let _X86_INS_VPSCATTERQQ = 1177;;
+let _X86_INS_VPSHAB = 1178;;
+let _X86_INS_VPSHAD = 1179;;
+let _X86_INS_VPSHAQ = 1180;;
+let _X86_INS_VPSHAW = 1181;;
+let _X86_INS_VPSHLB = 1182;;
+let _X86_INS_VPSHLD = 1183;;
+let _X86_INS_VPSHLQ = 1184;;
+let _X86_INS_VPSHLW = 1185;;
+let _X86_INS_VPSHUFB = 1186;;
+let _X86_INS_VPSHUFD = 1187;;
+let _X86_INS_VPSHUFHW = 1188;;
+let _X86_INS_VPSHUFLW = 1189;;
+let _X86_INS_VPSIGNB = 1190;;
+let _X86_INS_VPSIGND = 1191;;
+let _X86_INS_VPSIGNW = 1192;;
+let _X86_INS_VPSLLDQ = 1193;;
+let _X86_INS_VPSLLD = 1194;;
+let _X86_INS_VPSLLQ = 1195;;
+let _X86_INS_VPSLLVD = 1196;;
+let _X86_INS_VPSLLVQ = 1197;;
+let _X86_INS_VPSLLW = 1198;;
+let _X86_INS_VPSRAD = 1199;;
+let _X86_INS_VPSRAQ = 1200;;
+let _X86_INS_VPSRAVD = 1201;;
+let _X86_INS_VPSRAVQ = 1202;;
+let _X86_INS_VPSRAW = 1203;;
+let _X86_INS_VPSRLDQ = 1204;;
+let _X86_INS_VPSRLD = 1205;;
+let _X86_INS_VPSRLQ = 1206;;
+let _X86_INS_VPSRLVD = 1207;;
+let _X86_INS_VPSRLVQ = 1208;;
+let _X86_INS_VPSRLW = 1209;;
+let _X86_INS_VPSUBB = 1210;;
+let _X86_INS_VPSUBD = 1211;;
+let _X86_INS_VPSUBQ = 1212;;
+let _X86_INS_VPSUBSB = 1213;;
+let _X86_INS_VPSUBSW = 1214;;
+let _X86_INS_VPSUBUSB = 1215;;
+let _X86_INS_VPSUBUSW = 1216;;
+let _X86_INS_VPSUBW = 1217;;
+let _X86_INS_VPTESTMD = 1218;;
+let _X86_INS_VPTESTMQ = 1219;;
+let _X86_INS_VPTESTNMD = 1220;;
+let _X86_INS_VPTESTNMQ = 1221;;
+let _X86_INS_VPTEST = 1222;;
+let _X86_INS_VPUNPCKHBW = 1223;;
+let _X86_INS_VPUNPCKHDQ = 1224;;
+let _X86_INS_VPUNPCKHQDQ = 1225;;
+let _X86_INS_VPUNPCKHWD = 1226;;
+let _X86_INS_VPUNPCKLBW = 1227;;
+let _X86_INS_VPUNPCKLDQ = 1228;;
+let _X86_INS_VPUNPCKLQDQ = 1229;;
+let _X86_INS_VPUNPCKLWD = 1230;;
+let _X86_INS_VPXORD = 1231;;
+let _X86_INS_VPXORQ = 1232;;
+let _X86_INS_VPXOR = 1233;;
+let _X86_INS_VRCP14PD = 1234;;
+let _X86_INS_VRCP14PS = 1235;;
+let _X86_INS_VRCP14SD = 1236;;
+let _X86_INS_VRCP14SS = 1237;;
+let _X86_INS_VRCP28PD = 1238;;
+let _X86_INS_VRCP28PS = 1239;;
+let _X86_INS_VRCP28SD = 1240;;
+let _X86_INS_VRCP28SS = 1241;;
+let _X86_INS_VRCPPS = 1242;;
+let _X86_INS_VRCPSS = 1243;;
+let _X86_INS_VRNDSCALEPD = 1244;;
+let _X86_INS_VRNDSCALEPS = 1245;;
+let _X86_INS_VRNDSCALESD = 1246;;
+let _X86_INS_VRNDSCALESS = 1247;;
+let _X86_INS_VROUNDPD = 1248;;
+let _X86_INS_VROUNDPS = 1249;;
+let _X86_INS_VROUNDSD = 1250;;
+let _X86_INS_VROUNDSS = 1251;;
+let _X86_INS_VRSQRT14PD = 1252;;
+let _X86_INS_VRSQRT14PS = 1253;;
+let _X86_INS_VRSQRT14SD = 1254;;
+let _X86_INS_VRSQRT14SS = 1255;;
+let _X86_INS_VRSQRT28PD = 1256;;
+let _X86_INS_VRSQRT28PS = 1257;;
+let _X86_INS_VRSQRT28SD = 1258;;
+let _X86_INS_VRSQRT28SS = 1259;;
+let _X86_INS_VRSQRTPS = 1260;;
+let _X86_INS_VRSQRTSS = 1261;;
+let _X86_INS_VSCATTERDPD = 1262;;
+let _X86_INS_VSCATTERDPS = 1263;;
+let _X86_INS_VSCATTERPF0DPD = 1264;;
+let _X86_INS_VSCATTERPF0DPS = 1265;;
+let _X86_INS_VSCATTERPF0QPD = 1266;;
+let _X86_INS_VSCATTERPF0QPS = 1267;;
+let _X86_INS_VSCATTERPF1DPD = 1268;;
+let _X86_INS_VSCATTERPF1DPS = 1269;;
+let _X86_INS_VSCATTERPF1QPD = 1270;;
+let _X86_INS_VSCATTERPF1QPS = 1271;;
+let _X86_INS_VSCATTERQPD = 1272;;
+let _X86_INS_VSCATTERQPS = 1273;;
+let _X86_INS_VSHUFPD = 1274;;
+let _X86_INS_VSHUFPS = 1275;;
+let _X86_INS_VSQRTPD = 1276;;
+let _X86_INS_VSQRTPS = 1277;;
+let _X86_INS_VSQRTSD = 1278;;
+let _X86_INS_VSQRTSS = 1279;;
+let _X86_INS_VSTMXCSR = 1280;;
+let _X86_INS_VSUBPD = 1281;;
+let _X86_INS_VSUBPS = 1282;;
+let _X86_INS_VSUBSD = 1283;;
+let _X86_INS_VSUBSS = 1284;;
+let _X86_INS_VTESTPD = 1285;;
+let _X86_INS_VTESTPS = 1286;;
+let _X86_INS_VUNPCKHPD = 1287;;
+let _X86_INS_VUNPCKHPS = 1288;;
+let _X86_INS_VUNPCKLPD = 1289;;
+let _X86_INS_VUNPCKLPS = 1290;;
+let _X86_INS_VZEROALL = 1291;;
+let _X86_INS_VZEROUPPER = 1292;;
+let _X86_INS_WAIT = 1293;;
+let _X86_INS_WBINVD = 1294;;
+let _X86_INS_WRFSBASE = 1295;;
+let _X86_INS_WRGSBASE = 1296;;
+let _X86_INS_WRMSR = 1297;;
+let _X86_INS_XABORT = 1298;;
+let _X86_INS_XACQUIRE = 1299;;
+let _X86_INS_XBEGIN = 1300;;
+let _X86_INS_XCHG = 1301;;
+let _X86_INS_XCRYPTCBC = 1302;;
+let _X86_INS_XCRYPTCFB = 1303;;
+let _X86_INS_XCRYPTCTR = 1304;;
+let _X86_INS_XCRYPTECB = 1305;;
+let _X86_INS_XCRYPTOFB = 1306;;
+let _X86_INS_XEND = 1307;;
+let _X86_INS_XGETBV = 1308;;
+let _X86_INS_XLATB = 1309;;
+let _X86_INS_XRELEASE = 1310;;
+let _X86_INS_XRSTOR = 1311;;
+let _X86_INS_XRSTOR64 = 1312;;
+let _X86_INS_XRSTORS = 1313;;
+let _X86_INS_XRSTORS64 = 1314;;
+let _X86_INS_XSAVE = 1315;;
+let _X86_INS_XSAVE64 = 1316;;
+let _X86_INS_XSAVEC = 1317;;
+let _X86_INS_XSAVEC64 = 1318;;
+let _X86_INS_XSAVEOPT = 1319;;
+let _X86_INS_XSAVEOPT64 = 1320;;
+let _X86_INS_XSAVES = 1321;;
+let _X86_INS_XSAVES64 = 1322;;
+let _X86_INS_XSETBV = 1323;;
+let _X86_INS_XSHA1 = 1324;;
+let _X86_INS_XSHA256 = 1325;;
+let _X86_INS_XSTORE = 1326;;
+let _X86_INS_XTEST = 1327;;
+let _X86_INS_FDISI8087_NOP = 1328;;
+let _X86_INS_FENI8087_NOP = 1329;;
+let _X86_INS_CMPSS = 1330;;
+let _X86_INS_CMPEQSS = 1331;;
+let _X86_INS_CMPLTSS = 1332;;
+let _X86_INS_CMPLESS = 1333;;
+let _X86_INS_CMPUNORDSS = 1334;;
+let _X86_INS_CMPNEQSS = 1335;;
+let _X86_INS_CMPNLTSS = 1336;;
+let _X86_INS_CMPNLESS = 1337;;
+let _X86_INS_CMPORDSS = 1338;;
+let _X86_INS_CMPSD = 1339;;
+let _X86_INS_CMPEQSD = 1340;;
+let _X86_INS_CMPLTSD = 1341;;
+let _X86_INS_CMPLESD = 1342;;
+let _X86_INS_CMPUNORDSD = 1343;;
+let _X86_INS_CMPNEQSD = 1344;;
+let _X86_INS_CMPNLTSD = 1345;;
+let _X86_INS_CMPNLESD = 1346;;
+let _X86_INS_CMPORDSD = 1347;;
+let _X86_INS_CMPPS = 1348;;
+let _X86_INS_CMPEQPS = 1349;;
+let _X86_INS_CMPLTPS = 1350;;
+let _X86_INS_CMPLEPS = 1351;;
+let _X86_INS_CMPUNORDPS = 1352;;
+let _X86_INS_CMPNEQPS = 1353;;
+let _X86_INS_CMPNLTPS = 1354;;
+let _X86_INS_CMPNLEPS = 1355;;
+let _X86_INS_CMPORDPS = 1356;;
+let _X86_INS_CMPPD = 1357;;
+let _X86_INS_CMPEQPD = 1358;;
+let _X86_INS_CMPLTPD = 1359;;
+let _X86_INS_CMPLEPD = 1360;;
+let _X86_INS_CMPUNORDPD = 1361;;
+let _X86_INS_CMPNEQPD = 1362;;
+let _X86_INS_CMPNLTPD = 1363;;
+let _X86_INS_CMPNLEPD = 1364;;
+let _X86_INS_CMPORDPD = 1365;;
+let _X86_INS_VCMPSS = 1366;;
+let _X86_INS_VCMPEQSS = 1367;;
+let _X86_INS_VCMPLTSS = 1368;;
+let _X86_INS_VCMPLESS = 1369;;
+let _X86_INS_VCMPUNORDSS = 1370;;
+let _X86_INS_VCMPNEQSS = 1371;;
+let _X86_INS_VCMPNLTSS = 1372;;
+let _X86_INS_VCMPNLESS = 1373;;
+let _X86_INS_VCMPORDSS = 1374;;
+let _X86_INS_VCMPEQ_UQSS = 1375;;
+let _X86_INS_VCMPNGESS = 1376;;
+let _X86_INS_VCMPNGTSS = 1377;;
+let _X86_INS_VCMPFALSESS = 1378;;
+let _X86_INS_VCMPNEQ_OQSS = 1379;;
+let _X86_INS_VCMPGESS = 1380;;
+let _X86_INS_VCMPGTSS = 1381;;
+let _X86_INS_VCMPTRUESS = 1382;;
+let _X86_INS_VCMPEQ_OSSS = 1383;;
+let _X86_INS_VCMPLT_OQSS = 1384;;
+let _X86_INS_VCMPLE_OQSS = 1385;;
+let _X86_INS_VCMPUNORD_SSS = 1386;;
+let _X86_INS_VCMPNEQ_USSS = 1387;;
+let _X86_INS_VCMPNLT_UQSS = 1388;;
+let _X86_INS_VCMPNLE_UQSS = 1389;;
+let _X86_INS_VCMPORD_SSS = 1390;;
+let _X86_INS_VCMPEQ_USSS = 1391;;
+let _X86_INS_VCMPNGE_UQSS = 1392;;
+let _X86_INS_VCMPNGT_UQSS = 1393;;
+let _X86_INS_VCMPFALSE_OSSS = 1394;;
+let _X86_INS_VCMPNEQ_OSSS = 1395;;
+let _X86_INS_VCMPGE_OQSS = 1396;;
+let _X86_INS_VCMPGT_OQSS = 1397;;
+let _X86_INS_VCMPTRUE_USSS = 1398;;
+let _X86_INS_VCMPSD = 1399;;
+let _X86_INS_VCMPEQSD = 1400;;
+let _X86_INS_VCMPLTSD = 1401;;
+let _X86_INS_VCMPLESD = 1402;;
+let _X86_INS_VCMPUNORDSD = 1403;;
+let _X86_INS_VCMPNEQSD = 1404;;
+let _X86_INS_VCMPNLTSD = 1405;;
+let _X86_INS_VCMPNLESD = 1406;;
+let _X86_INS_VCMPORDSD = 1407;;
+let _X86_INS_VCMPEQ_UQSD = 1408;;
+let _X86_INS_VCMPNGESD = 1409;;
+let _X86_INS_VCMPNGTSD = 1410;;
+let _X86_INS_VCMPFALSESD = 1411;;
+let _X86_INS_VCMPNEQ_OQSD = 1412;;
+let _X86_INS_VCMPGESD = 1413;;
+let _X86_INS_VCMPGTSD = 1414;;
+let _X86_INS_VCMPTRUESD = 1415;;
+let _X86_INS_VCMPEQ_OSSD = 1416;;
+let _X86_INS_VCMPLT_OQSD = 1417;;
+let _X86_INS_VCMPLE_OQSD = 1418;;
+let _X86_INS_VCMPUNORD_SSD = 1419;;
+let _X86_INS_VCMPNEQ_USSD = 1420;;
+let _X86_INS_VCMPNLT_UQSD = 1421;;
+let _X86_INS_VCMPNLE_UQSD = 1422;;
+let _X86_INS_VCMPORD_SSD = 1423;;
+let _X86_INS_VCMPEQ_USSD = 1424;;
+let _X86_INS_VCMPNGE_UQSD = 1425;;
+let _X86_INS_VCMPNGT_UQSD = 1426;;
+let _X86_INS_VCMPFALSE_OSSD = 1427;;
+let _X86_INS_VCMPNEQ_OSSD = 1428;;
+let _X86_INS_VCMPGE_OQSD = 1429;;
+let _X86_INS_VCMPGT_OQSD = 1430;;
+let _X86_INS_VCMPTRUE_USSD = 1431;;
+let _X86_INS_VCMPPS = 1432;;
+let _X86_INS_VCMPEQPS = 1433;;
+let _X86_INS_VCMPLTPS = 1434;;
+let _X86_INS_VCMPLEPS = 1435;;
+let _X86_INS_VCMPUNORDPS = 1436;;
+let _X86_INS_VCMPNEQPS = 1437;;
+let _X86_INS_VCMPNLTPS = 1438;;
+let _X86_INS_VCMPNLEPS = 1439;;
+let _X86_INS_VCMPORDPS = 1440;;
+let _X86_INS_VCMPEQ_UQPS = 1441;;
+let _X86_INS_VCMPNGEPS = 1442;;
+let _X86_INS_VCMPNGTPS = 1443;;
+let _X86_INS_VCMPFALSEPS = 1444;;
+let _X86_INS_VCMPNEQ_OQPS = 1445;;
+let _X86_INS_VCMPGEPS = 1446;;
+let _X86_INS_VCMPGTPS = 1447;;
+let _X86_INS_VCMPTRUEPS = 1448;;
+let _X86_INS_VCMPEQ_OSPS = 1449;;
+let _X86_INS_VCMPLT_OQPS = 1450;;
+let _X86_INS_VCMPLE_OQPS = 1451;;
+let _X86_INS_VCMPUNORD_SPS = 1452;;
+let _X86_INS_VCMPNEQ_USPS = 1453;;
+let _X86_INS_VCMPNLT_UQPS = 1454;;
+let _X86_INS_VCMPNLE_UQPS = 1455;;
+let _X86_INS_VCMPORD_SPS = 1456;;
+let _X86_INS_VCMPEQ_USPS = 1457;;
+let _X86_INS_VCMPNGE_UQPS = 1458;;
+let _X86_INS_VCMPNGT_UQPS = 1459;;
+let _X86_INS_VCMPFALSE_OSPS = 1460;;
+let _X86_INS_VCMPNEQ_OSPS = 1461;;
+let _X86_INS_VCMPGE_OQPS = 1462;;
+let _X86_INS_VCMPGT_OQPS = 1463;;
+let _X86_INS_VCMPTRUE_USPS = 1464;;
+let _X86_INS_VCMPPD = 1465;;
+let _X86_INS_VCMPEQPD = 1466;;
+let _X86_INS_VCMPLTPD = 1467;;
+let _X86_INS_VCMPLEPD = 1468;;
+let _X86_INS_VCMPUNORDPD = 1469;;
+let _X86_INS_VCMPNEQPD = 1470;;
+let _X86_INS_VCMPNLTPD = 1471;;
+let _X86_INS_VCMPNLEPD = 1472;;
+let _X86_INS_VCMPORDPD = 1473;;
+let _X86_INS_VCMPEQ_UQPD = 1474;;
+let _X86_INS_VCMPNGEPD = 1475;;
+let _X86_INS_VCMPNGTPD = 1476;;
+let _X86_INS_VCMPFALSEPD = 1477;;
+let _X86_INS_VCMPNEQ_OQPD = 1478;;
+let _X86_INS_VCMPGEPD = 1479;;
+let _X86_INS_VCMPGTPD = 1480;;
+let _X86_INS_VCMPTRUEPD = 1481;;
+let _X86_INS_VCMPEQ_OSPD = 1482;;
+let _X86_INS_VCMPLT_OQPD = 1483;;
+let _X86_INS_VCMPLE_OQPD = 1484;;
+let _X86_INS_VCMPUNORD_SPD = 1485;;
+let _X86_INS_VCMPNEQ_USPD = 1486;;
+let _X86_INS_VCMPNLT_UQPD = 1487;;
+let _X86_INS_VCMPNLE_UQPD = 1488;;
+let _X86_INS_VCMPORD_SPD = 1489;;
+let _X86_INS_VCMPEQ_USPD = 1490;;
+let _X86_INS_VCMPNGE_UQPD = 1491;;
+let _X86_INS_VCMPNGT_UQPD = 1492;;
+let _X86_INS_VCMPFALSE_OSPD = 1493;;
+let _X86_INS_VCMPNEQ_OSPD = 1494;;
+let _X86_INS_VCMPGE_OQPD = 1495;;
+let _X86_INS_VCMPGT_OQPD = 1496;;
+let _X86_INS_VCMPTRUE_USPD = 1497;;
+let _X86_INS_ENDING = 1498;;
(* Group of X86 instructions *)
diff --git a/bindings/python/Makefile b/bindings/python/Makefile
index 0977218..ca4ebf8 100644
--- a/bindings/python/Makefile
+++ b/bindings/python/Makefile
@@ -132,6 +132,7 @@
check:
@for t in $(TESTS); do \
echo Check $$t ... ; \
- ./$$t > /dev/null && echo OK || echo FAILED; \
+ ./$$t > /dev/null; \
+ if [ $$? -eq 0 ]; then echo OK; else echo FAILED; exit 1; fi \
done
diff --git a/bindings/python/capstone/__init__.py b/bindings/python/capstone/__init__.py
index 851aa90..c6c1c8e 100644
--- a/bindings/python/capstone/__init__.py
+++ b/bindings/python/capstone/__init__.py
@@ -4,7 +4,6 @@
_python2 = sys.version_info[0] < 3
if _python2:
range = xrange
-from . import arm, arm64, m68k, mips, ppc, sparc, systemz, x86, xcore
__all__ = [
'Cs',
@@ -289,6 +288,19 @@
# low-level structure for C code
+
+def copy_ctypes(src):
+ """Returns a new ctypes object which is a bitwise copy of an existing one"""
+ dst = type(src)()
+ ctypes.memmove(ctypes.byref(dst), ctypes.byref(src), ctypes.sizeof(type(src)))
+ return dst
+
+def copy_ctypes_list(src):
+ return [copy_ctypes(n) for n in src]
+
+# Weird import placement because these modules are needed by the below code but need the above functions
+from . import arm, arm64, m68k, mips, ppc, sparc, systemz, x86, xcore
+
class _cs_arch(ctypes.Union):
_fields_ = (
('arm64', arm64.CsArm64),
@@ -479,17 +491,10 @@
if status != CS_ERR_OK:
raise CsError(status)
-
-# alternately
-def copy_ctypes(src):
- """Returns a new ctypes object which is a bitwise copy of an existing one"""
- dst = type(src)()
- ctypes.pointer(dst)[0] = src
- return dst
-
def _ascii_name_or_default(name, default):
return default if name is None else name.decode('ascii')
+
# Python-style class to disasm code
class CsInsn(object):
def __init__(self, cs, all_info):
diff --git a/bindings/python/capstone/arm.py b/bindings/python/capstone/arm.py
index 74c45a4..4ed902e 100644
--- a/bindings/python/capstone/arm.py
+++ b/bindings/python/capstone/arm.py
@@ -1,6 +1,7 @@
# Capstone Python bindings, by Nguyen Anh Quynnh <aquynh@gmail.com>
-import ctypes, copy
+import ctypes
+from . import copy_ctypes_list
from .arm_const import *
# define the API
@@ -77,5 +78,5 @@
def get_arch_info(a):
return (a.usermode, a.vector_size, a.vector_data, a.cps_mode, a.cps_flag, a.cc, a.update_flags, \
- a.writeback, a.mem_barrier, copy.deepcopy(a.operands[:a.op_count]))
+ a.writeback, a.mem_barrier, copy_ctypes_list(a.operands[:a.op_count]))
diff --git a/bindings/python/capstone/arm64.py b/bindings/python/capstone/arm64.py
index 4ab31b7..1d4efc3 100644
--- a/bindings/python/capstone/arm64.py
+++ b/bindings/python/capstone/arm64.py
@@ -1,6 +1,7 @@
# Capstone Python bindings, by Nguyen Anh Quynnh <aquynh@gmail.com>
-import ctypes, copy
+import ctypes
+from . import copy_ctypes_list
from .arm64_const import *
# define the API
@@ -85,5 +86,5 @@
)
def get_arch_info(a):
- return (a.cc, a.update_flags, a.writeback, copy.deepcopy(a.operands[:a.op_count]))
+ return (a.cc, a.update_flags, a.writeback, copy_ctypes_list(a.operands[:a.op_count]))
diff --git a/bindings/python/capstone/m68k.py b/bindings/python/capstone/m68k.py
index cd6b70e..37b9a99 100644
--- a/bindings/python/capstone/m68k.py
+++ b/bindings/python/capstone/m68k.py
@@ -1,6 +1,7 @@
# Capstone Python bindings, by Nicolas PLANEL <nplanel@gmail.com>
-import ctypes, copy
+import ctypes
+from . import copy_ctypes_list
from .m68k_const import *
# define the API
@@ -19,12 +20,19 @@
('index_size', ctypes.c_ubyte),
)
+class M68KOpRegPair(ctypes.Structure):
+ _fields_ = (
+ ('reg_0', ctypes.c_uint),
+ ('reg_1', ctypes.c_uint),
+ )
+
class M68KOpValue(ctypes.Union):
_fields_ = (
('imm', ctypes.c_int64),
('dimm', ctypes.c_double),
('simm', ctypes.c_float),
('reg', ctypes.c_uint),
+ ('reg_pair', M68KOpRegPair),
('mem', M68KOpMem),
('register_bits', ctypes.c_uint),
)
@@ -59,7 +67,7 @@
@property
def register_bits(self):
return self.value.register_bits
-
+
class M68KOpSize(ctypes.Structure):
_fields_ = (
('type', ctypes.c_uint),
@@ -67,8 +75,8 @@
)
def get(a):
- return copy.deepcopy(type, size)
-
+ return copy_ctypes_list(type, size)
+
class CsM68K(ctypes.Structure):
M68K_OPERAND_COUNT = 4
_fields_ = (
@@ -78,5 +86,4 @@
)
def get_arch_info(a):
- return (copy.deepcopy(a.operands[:a.op_count]), a.op_size)
-
+ return (copy_ctypes_list(a.operands[:a.op_count]), a.op_size)
diff --git a/bindings/python/capstone/m68k_const.py b/bindings/python/capstone/m68k_const.py
index 1d18349..7a3ff87 100644
--- a/bindings/python/capstone/m68k_const.py
+++ b/bindings/python/capstone/m68k_const.py
@@ -72,7 +72,7 @@
M68K_AM_PC_MEMI_PRE_INDEX = 15
M68K_AM_ABSOLUTE_DATA_SHORT = 16
M68K_AM_ABSOLUTE_DATA_LONG = 17
-M68K_AM_IMMIDIATE = 18
+M68K_AM_IMMEDIATE = 18
# Operand type for instruction's operands
@@ -80,9 +80,10 @@
M68K_OP_REG = 1
M68K_OP_IMM = 2
M68K_OP_MEM = 3
-M68K_OP_FP = 4
-M68K_OP_REG_BITS = 5
-M68K_OP_REG_PAIR = 6
+M68K_OP_FP_SINGLE = 4
+M68K_OP_FP_DOUBLE = 5
+M68K_OP_REG_BITS = 6
+M68K_OP_REG_PAIR = 7
M68K_CPU_SIZE_NONE = 0
M68K_CPU_SIZE_BYTE = 1
diff --git a/bindings/python/capstone/mips.py b/bindings/python/capstone/mips.py
index 57e3d75..dd119e8 100644
--- a/bindings/python/capstone/mips.py
+++ b/bindings/python/capstone/mips.py
@@ -1,6 +1,7 @@
# Capstone Python bindings, by Nguyen Anh Quynnh <aquynh@gmail.com>
-import ctypes, copy
+import ctypes
+from . import copy_ctypes_list
from .mips_const import *
# define the API
@@ -43,5 +44,5 @@
)
def get_arch_info(a):
- return copy.deepcopy(a.operands[:a.op_count])
+ return copy_ctypes_list(a.operands[:a.op_count])
diff --git a/bindings/python/capstone/mips_const.py b/bindings/python/capstone/mips_const.py
index f94a279..81fdeae 100644
--- a/bindings/python/capstone/mips_const.py
+++ b/bindings/python/capstone/mips_const.py
@@ -841,6 +841,11 @@
# Generic groups
MIPS_GRP_JUMP = 1
+MIPS_GRP_CALL = 2
+MIPS_GRP_RET = 3
+MIPS_GRP_INT = 4
+MIPS_GRP_IRET = 5
+MIPS_GRP_PRIVILEGE = 6
# Architecture-specific groups
MIPS_GRP_BITCOUNT = 128
diff --git a/bindings/python/capstone/ppc.py b/bindings/python/capstone/ppc.py
index 79baefb..6ab177d 100644
--- a/bindings/python/capstone/ppc.py
+++ b/bindings/python/capstone/ppc.py
@@ -1,6 +1,7 @@
# Capstone Python bindings, by Nguyen Anh Quynnh <aquynh@gmail.com>
-import ctypes, copy
+import ctypes
+from . import copy_ctypes_list
from .ppc_const import *
# define the API
@@ -58,5 +59,5 @@
)
def get_arch_info(a):
- return (a.bc, a.bh, a.update_cr0, copy.deepcopy(a.operands[:a.op_count]))
+ return (a.bc, a.bh, a.update_cr0, copy_ctypes_list(a.operands[:a.op_count]))
diff --git a/bindings/python/capstone/sparc.py b/bindings/python/capstone/sparc.py
index 8213ca4..f181af8 100644
--- a/bindings/python/capstone/sparc.py
+++ b/bindings/python/capstone/sparc.py
@@ -1,6 +1,7 @@
# Capstone Python bindings, by Nguyen Anh Quynnh <aquynh@gmail.com>
-import ctypes, copy
+import ctypes
+from . import copy_ctypes_list
from .sparc_const import *
# define the API
@@ -46,5 +47,5 @@
)
def get_arch_info(a):
- return (a.cc, a.hint, copy.deepcopy(a.operands[:a.op_count]))
+ return (a.cc, a.hint, copy_ctypes_list(a.operands[:a.op_count]))
diff --git a/bindings/python/capstone/systemz.py b/bindings/python/capstone/systemz.py
index 7317757..398018b 100644
--- a/bindings/python/capstone/systemz.py
+++ b/bindings/python/capstone/systemz.py
@@ -1,6 +1,7 @@
# Capstone Python bindings, by Nguyen Anh Quynnh <aquynh@gmail.com>
-import ctypes, copy
+import ctypes
+from . import copy_ctypes_list
from .sysz_const import *
# define the API
@@ -46,5 +47,5 @@
)
def get_arch_info(a):
- return (a.cc, copy.deepcopy(a.operands[:a.op_count]))
+ return (a.cc, copy_ctypes_list(a.operands[:a.op_count]))
diff --git a/bindings/python/capstone/x86.py b/bindings/python/capstone/x86.py
index f2569cd..59aaa4b 100644
--- a/bindings/python/capstone/x86.py
+++ b/bindings/python/capstone/x86.py
@@ -1,6 +1,7 @@
# Capstone Python bindings, by Nguyen Anh Quynnh <aquynh@gmail.com>
-import ctypes, copy
+import ctypes
+from . import copy_ctypes_list
from .x86_const import *
# define the API
@@ -69,5 +70,5 @@
return (a.prefix[:], a.opcode[:], a.rex, a.addr_size, \
a.modrm, a.sib, a.disp, a.sib_index, a.sib_scale, \
a.sib_base, a.xop_cc, a.sse_cc, a.avx_cc, a.avx_sae, a.avx_rm, a.eflags, \
- copy.deepcopy(a.operands[:a.op_count]))
+ copy_ctypes_list(a.operands[:a.op_count]))
diff --git a/bindings/python/capstone/x86_const.py b/bindings/python/capstone/x86_const.py
index 943a7e2..132a02c 100644
--- a/bindings/python/capstone/x86_const.py
+++ b/bindings/python/capstone/x86_const.py
@@ -489,1249 +489,1409 @@
X86_INS_FCMOVU = 93
X86_INS_CMOVS = 94
X86_INS_CMP = 95
-X86_INS_CMPPD = 96
-X86_INS_CMPPS = 97
-X86_INS_CMPSB = 98
-X86_INS_CMPSD = 99
-X86_INS_CMPSQ = 100
-X86_INS_CMPSS = 101
-X86_INS_CMPSW = 102
-X86_INS_CMPXCHG16B = 103
-X86_INS_CMPXCHG = 104
-X86_INS_CMPXCHG8B = 105
-X86_INS_COMISD = 106
-X86_INS_COMISS = 107
-X86_INS_FCOMP = 108
-X86_INS_FCOMPI = 109
-X86_INS_FCOMI = 110
-X86_INS_FCOM = 111
-X86_INS_FCOS = 112
-X86_INS_CPUID = 113
-X86_INS_CQO = 114
-X86_INS_CRC32 = 115
-X86_INS_CVTDQ2PD = 116
-X86_INS_CVTDQ2PS = 117
-X86_INS_CVTPD2DQ = 118
-X86_INS_CVTPD2PS = 119
-X86_INS_CVTPS2DQ = 120
-X86_INS_CVTPS2PD = 121
-X86_INS_CVTSD2SI = 122
-X86_INS_CVTSD2SS = 123
-X86_INS_CVTSI2SD = 124
-X86_INS_CVTSI2SS = 125
-X86_INS_CVTSS2SD = 126
-X86_INS_CVTSS2SI = 127
-X86_INS_CVTTPD2DQ = 128
-X86_INS_CVTTPS2DQ = 129
-X86_INS_CVTTSD2SI = 130
-X86_INS_CVTTSS2SI = 131
-X86_INS_CWD = 132
-X86_INS_CWDE = 133
-X86_INS_DAA = 134
-X86_INS_DAS = 135
-X86_INS_DATA16 = 136
-X86_INS_DEC = 137
-X86_INS_DIV = 138
-X86_INS_DIVPD = 139
-X86_INS_DIVPS = 140
-X86_INS_FDIVR = 141
-X86_INS_FIDIVR = 142
-X86_INS_FDIVRP = 143
-X86_INS_DIVSD = 144
-X86_INS_DIVSS = 145
-X86_INS_FDIV = 146
-X86_INS_FIDIV = 147
-X86_INS_FDIVP = 148
-X86_INS_DPPD = 149
-X86_INS_DPPS = 150
-X86_INS_RET = 151
-X86_INS_ENCLS = 152
-X86_INS_ENCLU = 153
-X86_INS_ENTER = 154
-X86_INS_EXTRACTPS = 155
-X86_INS_EXTRQ = 156
-X86_INS_F2XM1 = 157
-X86_INS_LCALL = 158
-X86_INS_LJMP = 159
-X86_INS_FBLD = 160
-X86_INS_FBSTP = 161
-X86_INS_FCOMPP = 162
-X86_INS_FDECSTP = 163
-X86_INS_FEMMS = 164
-X86_INS_FFREE = 165
-X86_INS_FICOM = 166
-X86_INS_FICOMP = 167
-X86_INS_FINCSTP = 168
-X86_INS_FLDCW = 169
-X86_INS_FLDENV = 170
-X86_INS_FLDL2E = 171
-X86_INS_FLDL2T = 172
-X86_INS_FLDLG2 = 173
-X86_INS_FLDLN2 = 174
-X86_INS_FLDPI = 175
-X86_INS_FNCLEX = 176
-X86_INS_FNINIT = 177
-X86_INS_FNOP = 178
-X86_INS_FNSTCW = 179
-X86_INS_FNSTSW = 180
-X86_INS_FPATAN = 181
-X86_INS_FPREM = 182
-X86_INS_FPREM1 = 183
-X86_INS_FPTAN = 184
-X86_INS_FFREEP = 185
-X86_INS_FRNDINT = 186
-X86_INS_FRSTOR = 187
-X86_INS_FNSAVE = 188
-X86_INS_FSCALE = 189
-X86_INS_FSETPM = 190
-X86_INS_FSINCOS = 191
-X86_INS_FNSTENV = 192
-X86_INS_FXAM = 193
-X86_INS_FXRSTOR = 194
-X86_INS_FXRSTOR64 = 195
-X86_INS_FXSAVE = 196
-X86_INS_FXSAVE64 = 197
-X86_INS_FXTRACT = 198
-X86_INS_FYL2X = 199
-X86_INS_FYL2XP1 = 200
-X86_INS_MOVAPD = 201
-X86_INS_MOVAPS = 202
-X86_INS_ORPD = 203
-X86_INS_ORPS = 204
-X86_INS_VMOVAPD = 205
-X86_INS_VMOVAPS = 206
-X86_INS_XORPD = 207
-X86_INS_XORPS = 208
-X86_INS_GETSEC = 209
-X86_INS_HADDPD = 210
-X86_INS_HADDPS = 211
-X86_INS_HLT = 212
-X86_INS_HSUBPD = 213
-X86_INS_HSUBPS = 214
-X86_INS_IDIV = 215
-X86_INS_FILD = 216
-X86_INS_IMUL = 217
-X86_INS_IN = 218
-X86_INS_INC = 219
-X86_INS_INSB = 220
-X86_INS_INSERTPS = 221
-X86_INS_INSERTQ = 222
-X86_INS_INSD = 223
-X86_INS_INSW = 224
-X86_INS_INT = 225
-X86_INS_INT1 = 226
-X86_INS_INT3 = 227
-X86_INS_INTO = 228
-X86_INS_INVD = 229
-X86_INS_INVEPT = 230
-X86_INS_INVLPG = 231
-X86_INS_INVLPGA = 232
-X86_INS_INVPCID = 233
-X86_INS_INVVPID = 234
-X86_INS_IRET = 235
-X86_INS_IRETD = 236
-X86_INS_IRETQ = 237
-X86_INS_FISTTP = 238
-X86_INS_FIST = 239
-X86_INS_FISTP = 240
-X86_INS_UCOMISD = 241
-X86_INS_UCOMISS = 242
-X86_INS_VCOMISD = 243
-X86_INS_VCOMISS = 244
-X86_INS_VCVTSD2SS = 245
-X86_INS_VCVTSI2SD = 246
-X86_INS_VCVTSI2SS = 247
-X86_INS_VCVTSS2SD = 248
-X86_INS_VCVTTSD2SI = 249
-X86_INS_VCVTTSD2USI = 250
-X86_INS_VCVTTSS2SI = 251
-X86_INS_VCVTTSS2USI = 252
-X86_INS_VCVTUSI2SD = 253
-X86_INS_VCVTUSI2SS = 254
-X86_INS_VUCOMISD = 255
-X86_INS_VUCOMISS = 256
-X86_INS_JAE = 257
-X86_INS_JA = 258
-X86_INS_JBE = 259
-X86_INS_JB = 260
-X86_INS_JCXZ = 261
-X86_INS_JECXZ = 262
-X86_INS_JE = 263
-X86_INS_JGE = 264
-X86_INS_JG = 265
-X86_INS_JLE = 266
-X86_INS_JL = 267
-X86_INS_JMP = 268
-X86_INS_JNE = 269
-X86_INS_JNO = 270
-X86_INS_JNP = 271
-X86_INS_JNS = 272
-X86_INS_JO = 273
-X86_INS_JP = 274
-X86_INS_JRCXZ = 275
-X86_INS_JS = 276
-X86_INS_KANDB = 277
-X86_INS_KANDD = 278
-X86_INS_KANDNB = 279
-X86_INS_KANDND = 280
-X86_INS_KANDNQ = 281
-X86_INS_KANDNW = 282
-X86_INS_KANDQ = 283
-X86_INS_KANDW = 284
-X86_INS_KMOVB = 285
-X86_INS_KMOVD = 286
-X86_INS_KMOVQ = 287
-X86_INS_KMOVW = 288
-X86_INS_KNOTB = 289
-X86_INS_KNOTD = 290
-X86_INS_KNOTQ = 291
-X86_INS_KNOTW = 292
-X86_INS_KORB = 293
-X86_INS_KORD = 294
-X86_INS_KORQ = 295
-X86_INS_KORTESTB = 296
-X86_INS_KORTESTD = 297
-X86_INS_KORTESTQ = 298
-X86_INS_KORTESTW = 299
-X86_INS_KORW = 300
-X86_INS_KSHIFTLB = 301
-X86_INS_KSHIFTLD = 302
-X86_INS_KSHIFTLQ = 303
-X86_INS_KSHIFTLW = 304
-X86_INS_KSHIFTRB = 305
-X86_INS_KSHIFTRD = 306
-X86_INS_KSHIFTRQ = 307
-X86_INS_KSHIFTRW = 308
-X86_INS_KUNPCKBW = 309
-X86_INS_KXNORB = 310
-X86_INS_KXNORD = 311
-X86_INS_KXNORQ = 312
-X86_INS_KXNORW = 313
-X86_INS_KXORB = 314
-X86_INS_KXORD = 315
-X86_INS_KXORQ = 316
-X86_INS_KXORW = 317
-X86_INS_LAHF = 318
-X86_INS_LAR = 319
-X86_INS_LDDQU = 320
-X86_INS_LDMXCSR = 321
-X86_INS_LDS = 322
-X86_INS_FLDZ = 323
-X86_INS_FLD1 = 324
-X86_INS_FLD = 325
-X86_INS_LEA = 326
-X86_INS_LEAVE = 327
-X86_INS_LES = 328
-X86_INS_LFENCE = 329
-X86_INS_LFS = 330
-X86_INS_LGDT = 331
-X86_INS_LGS = 332
-X86_INS_LIDT = 333
-X86_INS_LLDT = 334
-X86_INS_LMSW = 335
-X86_INS_OR = 336
-X86_INS_SUB = 337
-X86_INS_XOR = 338
-X86_INS_LODSB = 339
-X86_INS_LODSD = 340
-X86_INS_LODSQ = 341
-X86_INS_LODSW = 342
-X86_INS_LOOP = 343
-X86_INS_LOOPE = 344
-X86_INS_LOOPNE = 345
-X86_INS_RETF = 346
-X86_INS_RETFQ = 347
-X86_INS_LSL = 348
-X86_INS_LSS = 349
-X86_INS_LTR = 350
-X86_INS_XADD = 351
-X86_INS_LZCNT = 352
-X86_INS_MASKMOVDQU = 353
-X86_INS_MAXPD = 354
-X86_INS_MAXPS = 355
-X86_INS_MAXSD = 356
-X86_INS_MAXSS = 357
-X86_INS_MFENCE = 358
-X86_INS_MINPD = 359
-X86_INS_MINPS = 360
-X86_INS_MINSD = 361
-X86_INS_MINSS = 362
-X86_INS_CVTPD2PI = 363
-X86_INS_CVTPI2PD = 364
-X86_INS_CVTPI2PS = 365
-X86_INS_CVTPS2PI = 366
-X86_INS_CVTTPD2PI = 367
-X86_INS_CVTTPS2PI = 368
-X86_INS_EMMS = 369
-X86_INS_MASKMOVQ = 370
-X86_INS_MOVD = 371
-X86_INS_MOVDQ2Q = 372
-X86_INS_MOVNTQ = 373
-X86_INS_MOVQ2DQ = 374
-X86_INS_MOVQ = 375
-X86_INS_PABSB = 376
-X86_INS_PABSD = 377
-X86_INS_PABSW = 378
-X86_INS_PACKSSDW = 379
-X86_INS_PACKSSWB = 380
-X86_INS_PACKUSWB = 381
-X86_INS_PADDB = 382
-X86_INS_PADDD = 383
-X86_INS_PADDQ = 384
-X86_INS_PADDSB = 385
-X86_INS_PADDSW = 386
-X86_INS_PADDUSB = 387
-X86_INS_PADDUSW = 388
-X86_INS_PADDW = 389
-X86_INS_PALIGNR = 390
-X86_INS_PANDN = 391
-X86_INS_PAND = 392
-X86_INS_PAVGB = 393
-X86_INS_PAVGW = 394
-X86_INS_PCMPEQB = 395
-X86_INS_PCMPEQD = 396
-X86_INS_PCMPEQW = 397
-X86_INS_PCMPGTB = 398
-X86_INS_PCMPGTD = 399
-X86_INS_PCMPGTW = 400
-X86_INS_PEXTRW = 401
-X86_INS_PHADDSW = 402
-X86_INS_PHADDW = 403
-X86_INS_PHADDD = 404
-X86_INS_PHSUBD = 405
-X86_INS_PHSUBSW = 406
-X86_INS_PHSUBW = 407
-X86_INS_PINSRW = 408
-X86_INS_PMADDUBSW = 409
-X86_INS_PMADDWD = 410
-X86_INS_PMAXSW = 411
-X86_INS_PMAXUB = 412
-X86_INS_PMINSW = 413
-X86_INS_PMINUB = 414
-X86_INS_PMOVMSKB = 415
-X86_INS_PMULHRSW = 416
-X86_INS_PMULHUW = 417
-X86_INS_PMULHW = 418
-X86_INS_PMULLW = 419
-X86_INS_PMULUDQ = 420
-X86_INS_POR = 421
-X86_INS_PSADBW = 422
-X86_INS_PSHUFB = 423
-X86_INS_PSHUFW = 424
-X86_INS_PSIGNB = 425
-X86_INS_PSIGND = 426
-X86_INS_PSIGNW = 427
-X86_INS_PSLLD = 428
-X86_INS_PSLLQ = 429
-X86_INS_PSLLW = 430
-X86_INS_PSRAD = 431
-X86_INS_PSRAW = 432
-X86_INS_PSRLD = 433
-X86_INS_PSRLQ = 434
-X86_INS_PSRLW = 435
-X86_INS_PSUBB = 436
-X86_INS_PSUBD = 437
-X86_INS_PSUBQ = 438
-X86_INS_PSUBSB = 439
-X86_INS_PSUBSW = 440
-X86_INS_PSUBUSB = 441
-X86_INS_PSUBUSW = 442
-X86_INS_PSUBW = 443
-X86_INS_PUNPCKHBW = 444
-X86_INS_PUNPCKHDQ = 445
-X86_INS_PUNPCKHWD = 446
-X86_INS_PUNPCKLBW = 447
-X86_INS_PUNPCKLDQ = 448
-X86_INS_PUNPCKLWD = 449
-X86_INS_PXOR = 450
-X86_INS_MONITOR = 451
-X86_INS_MONTMUL = 452
-X86_INS_MOV = 453
-X86_INS_MOVABS = 454
-X86_INS_MOVBE = 455
-X86_INS_MOVDDUP = 456
-X86_INS_MOVDQA = 457
-X86_INS_MOVDQU = 458
-X86_INS_MOVHLPS = 459
-X86_INS_MOVHPD = 460
-X86_INS_MOVHPS = 461
-X86_INS_MOVLHPS = 462
-X86_INS_MOVLPD = 463
-X86_INS_MOVLPS = 464
-X86_INS_MOVMSKPD = 465
-X86_INS_MOVMSKPS = 466
-X86_INS_MOVNTDQA = 467
-X86_INS_MOVNTDQ = 468
-X86_INS_MOVNTI = 469
-X86_INS_MOVNTPD = 470
-X86_INS_MOVNTPS = 471
-X86_INS_MOVNTSD = 472
-X86_INS_MOVNTSS = 473
-X86_INS_MOVSB = 474
-X86_INS_MOVSD = 475
-X86_INS_MOVSHDUP = 476
-X86_INS_MOVSLDUP = 477
-X86_INS_MOVSQ = 478
-X86_INS_MOVSS = 479
-X86_INS_MOVSW = 480
-X86_INS_MOVSX = 481
-X86_INS_MOVSXD = 482
-X86_INS_MOVUPD = 483
-X86_INS_MOVUPS = 484
-X86_INS_MOVZX = 485
-X86_INS_MPSADBW = 486
-X86_INS_MUL = 487
-X86_INS_MULPD = 488
-X86_INS_MULPS = 489
-X86_INS_MULSD = 490
-X86_INS_MULSS = 491
-X86_INS_MULX = 492
-X86_INS_FMUL = 493
-X86_INS_FIMUL = 494
-X86_INS_FMULP = 495
-X86_INS_MWAIT = 496
-X86_INS_NEG = 497
-X86_INS_NOP = 498
-X86_INS_NOT = 499
-X86_INS_OUT = 500
-X86_INS_OUTSB = 501
-X86_INS_OUTSD = 502
-X86_INS_OUTSW = 503
-X86_INS_PACKUSDW = 504
-X86_INS_PAUSE = 505
-X86_INS_PAVGUSB = 506
-X86_INS_PBLENDVB = 507
-X86_INS_PBLENDW = 508
-X86_INS_PCLMULQDQ = 509
-X86_INS_PCMPEQQ = 510
-X86_INS_PCMPESTRI = 511
-X86_INS_PCMPESTRM = 512
-X86_INS_PCMPGTQ = 513
-X86_INS_PCMPISTRI = 514
-X86_INS_PCMPISTRM = 515
-X86_INS_PCOMMIT = 516
-X86_INS_PDEP = 517
-X86_INS_PEXT = 518
-X86_INS_PEXTRB = 519
-X86_INS_PEXTRD = 520
-X86_INS_PEXTRQ = 521
-X86_INS_PF2ID = 522
-X86_INS_PF2IW = 523
-X86_INS_PFACC = 524
-X86_INS_PFADD = 525
-X86_INS_PFCMPEQ = 526
-X86_INS_PFCMPGE = 527
-X86_INS_PFCMPGT = 528
-X86_INS_PFMAX = 529
-X86_INS_PFMIN = 530
-X86_INS_PFMUL = 531
-X86_INS_PFNACC = 532
-X86_INS_PFPNACC = 533
-X86_INS_PFRCPIT1 = 534
-X86_INS_PFRCPIT2 = 535
-X86_INS_PFRCP = 536
-X86_INS_PFRSQIT1 = 537
-X86_INS_PFRSQRT = 538
-X86_INS_PFSUBR = 539
-X86_INS_PFSUB = 540
-X86_INS_PHMINPOSUW = 541
-X86_INS_PI2FD = 542
-X86_INS_PI2FW = 543
-X86_INS_PINSRB = 544
-X86_INS_PINSRD = 545
-X86_INS_PINSRQ = 546
-X86_INS_PMAXSB = 547
-X86_INS_PMAXSD = 548
-X86_INS_PMAXUD = 549
-X86_INS_PMAXUW = 550
-X86_INS_PMINSB = 551
-X86_INS_PMINSD = 552
-X86_INS_PMINUD = 553
-X86_INS_PMINUW = 554
-X86_INS_PMOVSXBD = 555
-X86_INS_PMOVSXBQ = 556
-X86_INS_PMOVSXBW = 557
-X86_INS_PMOVSXDQ = 558
-X86_INS_PMOVSXWD = 559
-X86_INS_PMOVSXWQ = 560
-X86_INS_PMOVZXBD = 561
-X86_INS_PMOVZXBQ = 562
-X86_INS_PMOVZXBW = 563
-X86_INS_PMOVZXDQ = 564
-X86_INS_PMOVZXWD = 565
-X86_INS_PMOVZXWQ = 566
-X86_INS_PMULDQ = 567
-X86_INS_PMULHRW = 568
-X86_INS_PMULLD = 569
-X86_INS_POP = 570
-X86_INS_POPAW = 571
-X86_INS_POPAL = 572
-X86_INS_POPCNT = 573
-X86_INS_POPF = 574
-X86_INS_POPFD = 575
-X86_INS_POPFQ = 576
-X86_INS_PREFETCH = 577
-X86_INS_PREFETCHNTA = 578
-X86_INS_PREFETCHT0 = 579
-X86_INS_PREFETCHT1 = 580
-X86_INS_PREFETCHT2 = 581
-X86_INS_PREFETCHW = 582
-X86_INS_PSHUFD = 583
-X86_INS_PSHUFHW = 584
-X86_INS_PSHUFLW = 585
-X86_INS_PSLLDQ = 586
-X86_INS_PSRLDQ = 587
-X86_INS_PSWAPD = 588
-X86_INS_PTEST = 589
-X86_INS_PUNPCKHQDQ = 590
-X86_INS_PUNPCKLQDQ = 591
-X86_INS_PUSH = 592
-X86_INS_PUSHAW = 593
-X86_INS_PUSHAL = 594
-X86_INS_PUSHF = 595
-X86_INS_PUSHFD = 596
-X86_INS_PUSHFQ = 597
-X86_INS_RCL = 598
-X86_INS_RCPPS = 599
-X86_INS_RCPSS = 600
-X86_INS_RCR = 601
-X86_INS_RDFSBASE = 602
-X86_INS_RDGSBASE = 603
-X86_INS_RDMSR = 604
-X86_INS_RDPMC = 605
-X86_INS_RDRAND = 606
-X86_INS_RDSEED = 607
-X86_INS_RDTSC = 608
-X86_INS_RDTSCP = 609
-X86_INS_ROL = 610
-X86_INS_ROR = 611
-X86_INS_RORX = 612
-X86_INS_ROUNDPD = 613
-X86_INS_ROUNDPS = 614
-X86_INS_ROUNDSD = 615
-X86_INS_ROUNDSS = 616
-X86_INS_RSM = 617
-X86_INS_RSQRTPS = 618
-X86_INS_RSQRTSS = 619
-X86_INS_SAHF = 620
-X86_INS_SAL = 621
-X86_INS_SALC = 622
-X86_INS_SAR = 623
-X86_INS_SARX = 624
-X86_INS_SBB = 625
-X86_INS_SCASB = 626
-X86_INS_SCASD = 627
-X86_INS_SCASQ = 628
-X86_INS_SCASW = 629
-X86_INS_SETAE = 630
-X86_INS_SETA = 631
-X86_INS_SETBE = 632
-X86_INS_SETB = 633
-X86_INS_SETE = 634
-X86_INS_SETGE = 635
-X86_INS_SETG = 636
-X86_INS_SETLE = 637
-X86_INS_SETL = 638
-X86_INS_SETNE = 639
-X86_INS_SETNO = 640
-X86_INS_SETNP = 641
-X86_INS_SETNS = 642
-X86_INS_SETO = 643
-X86_INS_SETP = 644
-X86_INS_SETS = 645
-X86_INS_SFENCE = 646
-X86_INS_SGDT = 647
-X86_INS_SHA1MSG1 = 648
-X86_INS_SHA1MSG2 = 649
-X86_INS_SHA1NEXTE = 650
-X86_INS_SHA1RNDS4 = 651
-X86_INS_SHA256MSG1 = 652
-X86_INS_SHA256MSG2 = 653
-X86_INS_SHA256RNDS2 = 654
-X86_INS_SHL = 655
-X86_INS_SHLD = 656
-X86_INS_SHLX = 657
-X86_INS_SHR = 658
-X86_INS_SHRD = 659
-X86_INS_SHRX = 660
-X86_INS_SHUFPD = 661
-X86_INS_SHUFPS = 662
-X86_INS_SIDT = 663
-X86_INS_FSIN = 664
-X86_INS_SKINIT = 665
-X86_INS_SLDT = 666
-X86_INS_SMSW = 667
-X86_INS_SQRTPD = 668
-X86_INS_SQRTPS = 669
-X86_INS_SQRTSD = 670
-X86_INS_SQRTSS = 671
-X86_INS_FSQRT = 672
-X86_INS_STAC = 673
-X86_INS_STC = 674
-X86_INS_STD = 675
-X86_INS_STGI = 676
-X86_INS_STI = 677
-X86_INS_STMXCSR = 678
-X86_INS_STOSB = 679
-X86_INS_STOSD = 680
-X86_INS_STOSQ = 681
-X86_INS_STOSW = 682
-X86_INS_STR = 683
-X86_INS_FST = 684
-X86_INS_FSTP = 685
-X86_INS_FSTPNCE = 686
-X86_INS_FXCH = 687
-X86_INS_SUBPD = 688
-X86_INS_SUBPS = 689
-X86_INS_FSUBR = 690
-X86_INS_FISUBR = 691
-X86_INS_FSUBRP = 692
-X86_INS_SUBSD = 693
-X86_INS_SUBSS = 694
-X86_INS_FSUB = 695
-X86_INS_FISUB = 696
-X86_INS_FSUBP = 697
-X86_INS_SWAPGS = 698
-X86_INS_SYSCALL = 699
-X86_INS_SYSENTER = 700
-X86_INS_SYSEXIT = 701
-X86_INS_SYSRET = 702
-X86_INS_T1MSKC = 703
-X86_INS_TEST = 704
-X86_INS_UD2 = 705
-X86_INS_FTST = 706
-X86_INS_TZCNT = 707
-X86_INS_TZMSK = 708
-X86_INS_FUCOMPI = 709
-X86_INS_FUCOMI = 710
-X86_INS_FUCOMPP = 711
-X86_INS_FUCOMP = 712
-X86_INS_FUCOM = 713
-X86_INS_UD2B = 714
-X86_INS_UNPCKHPD = 715
-X86_INS_UNPCKHPS = 716
-X86_INS_UNPCKLPD = 717
-X86_INS_UNPCKLPS = 718
-X86_INS_VADDPD = 719
-X86_INS_VADDPS = 720
-X86_INS_VADDSD = 721
-X86_INS_VADDSS = 722
-X86_INS_VADDSUBPD = 723
-X86_INS_VADDSUBPS = 724
-X86_INS_VAESDECLAST = 725
-X86_INS_VAESDEC = 726
-X86_INS_VAESENCLAST = 727
-X86_INS_VAESENC = 728
-X86_INS_VAESIMC = 729
-X86_INS_VAESKEYGENASSIST = 730
-X86_INS_VALIGND = 731
-X86_INS_VALIGNQ = 732
-X86_INS_VANDNPD = 733
-X86_INS_VANDNPS = 734
-X86_INS_VANDPD = 735
-X86_INS_VANDPS = 736
-X86_INS_VBLENDMPD = 737
-X86_INS_VBLENDMPS = 738
-X86_INS_VBLENDPD = 739
-X86_INS_VBLENDPS = 740
-X86_INS_VBLENDVPD = 741
-X86_INS_VBLENDVPS = 742
-X86_INS_VBROADCASTF128 = 743
-X86_INS_VBROADCASTI32X4 = 744
-X86_INS_VBROADCASTI64X4 = 745
-X86_INS_VBROADCASTSD = 746
-X86_INS_VBROADCASTSS = 747
-X86_INS_VCMPPD = 748
-X86_INS_VCMPPS = 749
-X86_INS_VCMPSD = 750
-X86_INS_VCMPSS = 751
-X86_INS_VCOMPRESSPD = 752
-X86_INS_VCOMPRESSPS = 753
-X86_INS_VCVTDQ2PD = 754
-X86_INS_VCVTDQ2PS = 755
-X86_INS_VCVTPD2DQX = 756
-X86_INS_VCVTPD2DQ = 757
-X86_INS_VCVTPD2PSX = 758
-X86_INS_VCVTPD2PS = 759
-X86_INS_VCVTPD2UDQ = 760
-X86_INS_VCVTPH2PS = 761
-X86_INS_VCVTPS2DQ = 762
-X86_INS_VCVTPS2PD = 763
-X86_INS_VCVTPS2PH = 764
-X86_INS_VCVTPS2UDQ = 765
-X86_INS_VCVTSD2SI = 766
-X86_INS_VCVTSD2USI = 767
-X86_INS_VCVTSS2SI = 768
-X86_INS_VCVTSS2USI = 769
-X86_INS_VCVTTPD2DQX = 770
-X86_INS_VCVTTPD2DQ = 771
-X86_INS_VCVTTPD2UDQ = 772
-X86_INS_VCVTTPS2DQ = 773
-X86_INS_VCVTTPS2UDQ = 774
-X86_INS_VCVTUDQ2PD = 775
-X86_INS_VCVTUDQ2PS = 776
-X86_INS_VDIVPD = 777
-X86_INS_VDIVPS = 778
-X86_INS_VDIVSD = 779
-X86_INS_VDIVSS = 780
-X86_INS_VDPPD = 781
-X86_INS_VDPPS = 782
-X86_INS_VERR = 783
-X86_INS_VERW = 784
-X86_INS_VEXP2PD = 785
-X86_INS_VEXP2PS = 786
-X86_INS_VEXPANDPD = 787
-X86_INS_VEXPANDPS = 788
-X86_INS_VEXTRACTF128 = 789
-X86_INS_VEXTRACTF32X4 = 790
-X86_INS_VEXTRACTF64X4 = 791
-X86_INS_VEXTRACTI128 = 792
-X86_INS_VEXTRACTI32X4 = 793
-X86_INS_VEXTRACTI64X4 = 794
-X86_INS_VEXTRACTPS = 795
-X86_INS_VFMADD132PD = 796
-X86_INS_VFMADD132PS = 797
-X86_INS_VFMADDPD = 798
-X86_INS_VFMADD213PD = 799
-X86_INS_VFMADD231PD = 800
-X86_INS_VFMADDPS = 801
-X86_INS_VFMADD213PS = 802
-X86_INS_VFMADD231PS = 803
-X86_INS_VFMADDSD = 804
-X86_INS_VFMADD213SD = 805
-X86_INS_VFMADD132SD = 806
-X86_INS_VFMADD231SD = 807
-X86_INS_VFMADDSS = 808
-X86_INS_VFMADD213SS = 809
-X86_INS_VFMADD132SS = 810
-X86_INS_VFMADD231SS = 811
-X86_INS_VFMADDSUB132PD = 812
-X86_INS_VFMADDSUB132PS = 813
-X86_INS_VFMADDSUBPD = 814
-X86_INS_VFMADDSUB213PD = 815
-X86_INS_VFMADDSUB231PD = 816
-X86_INS_VFMADDSUBPS = 817
-X86_INS_VFMADDSUB213PS = 818
-X86_INS_VFMADDSUB231PS = 819
-X86_INS_VFMSUB132PD = 820
-X86_INS_VFMSUB132PS = 821
-X86_INS_VFMSUBADD132PD = 822
-X86_INS_VFMSUBADD132PS = 823
-X86_INS_VFMSUBADDPD = 824
-X86_INS_VFMSUBADD213PD = 825
-X86_INS_VFMSUBADD231PD = 826
-X86_INS_VFMSUBADDPS = 827
-X86_INS_VFMSUBADD213PS = 828
-X86_INS_VFMSUBADD231PS = 829
-X86_INS_VFMSUBPD = 830
-X86_INS_VFMSUB213PD = 831
-X86_INS_VFMSUB231PD = 832
-X86_INS_VFMSUBPS = 833
-X86_INS_VFMSUB213PS = 834
-X86_INS_VFMSUB231PS = 835
-X86_INS_VFMSUBSD = 836
-X86_INS_VFMSUB213SD = 837
-X86_INS_VFMSUB132SD = 838
-X86_INS_VFMSUB231SD = 839
-X86_INS_VFMSUBSS = 840
-X86_INS_VFMSUB213SS = 841
-X86_INS_VFMSUB132SS = 842
-X86_INS_VFMSUB231SS = 843
-X86_INS_VFNMADD132PD = 844
-X86_INS_VFNMADD132PS = 845
-X86_INS_VFNMADDPD = 846
-X86_INS_VFNMADD213PD = 847
-X86_INS_VFNMADD231PD = 848
-X86_INS_VFNMADDPS = 849
-X86_INS_VFNMADD213PS = 850
-X86_INS_VFNMADD231PS = 851
-X86_INS_VFNMADDSD = 852
-X86_INS_VFNMADD213SD = 853
-X86_INS_VFNMADD132SD = 854
-X86_INS_VFNMADD231SD = 855
-X86_INS_VFNMADDSS = 856
-X86_INS_VFNMADD213SS = 857
-X86_INS_VFNMADD132SS = 858
-X86_INS_VFNMADD231SS = 859
-X86_INS_VFNMSUB132PD = 860
-X86_INS_VFNMSUB132PS = 861
-X86_INS_VFNMSUBPD = 862
-X86_INS_VFNMSUB213PD = 863
-X86_INS_VFNMSUB231PD = 864
-X86_INS_VFNMSUBPS = 865
-X86_INS_VFNMSUB213PS = 866
-X86_INS_VFNMSUB231PS = 867
-X86_INS_VFNMSUBSD = 868
-X86_INS_VFNMSUB213SD = 869
-X86_INS_VFNMSUB132SD = 870
-X86_INS_VFNMSUB231SD = 871
-X86_INS_VFNMSUBSS = 872
-X86_INS_VFNMSUB213SS = 873
-X86_INS_VFNMSUB132SS = 874
-X86_INS_VFNMSUB231SS = 875
-X86_INS_VFRCZPD = 876
-X86_INS_VFRCZPS = 877
-X86_INS_VFRCZSD = 878
-X86_INS_VFRCZSS = 879
-X86_INS_VORPD = 880
-X86_INS_VORPS = 881
-X86_INS_VXORPD = 882
-X86_INS_VXORPS = 883
-X86_INS_VGATHERDPD = 884
-X86_INS_VGATHERDPS = 885
-X86_INS_VGATHERPF0DPD = 886
-X86_INS_VGATHERPF0DPS = 887
-X86_INS_VGATHERPF0QPD = 888
-X86_INS_VGATHERPF0QPS = 889
-X86_INS_VGATHERPF1DPD = 890
-X86_INS_VGATHERPF1DPS = 891
-X86_INS_VGATHERPF1QPD = 892
-X86_INS_VGATHERPF1QPS = 893
-X86_INS_VGATHERQPD = 894
-X86_INS_VGATHERQPS = 895
-X86_INS_VHADDPD = 896
-X86_INS_VHADDPS = 897
-X86_INS_VHSUBPD = 898
-X86_INS_VHSUBPS = 899
-X86_INS_VINSERTF128 = 900
-X86_INS_VINSERTF32X4 = 901
-X86_INS_VINSERTF32X8 = 902
-X86_INS_VINSERTF64X2 = 903
-X86_INS_VINSERTF64X4 = 904
-X86_INS_VINSERTI128 = 905
-X86_INS_VINSERTI32X4 = 906
-X86_INS_VINSERTI32X8 = 907
-X86_INS_VINSERTI64X2 = 908
-X86_INS_VINSERTI64X4 = 909
-X86_INS_VINSERTPS = 910
-X86_INS_VLDDQU = 911
-X86_INS_VLDMXCSR = 912
-X86_INS_VMASKMOVDQU = 913
-X86_INS_VMASKMOVPD = 914
-X86_INS_VMASKMOVPS = 915
-X86_INS_VMAXPD = 916
-X86_INS_VMAXPS = 917
-X86_INS_VMAXSD = 918
-X86_INS_VMAXSS = 919
-X86_INS_VMCALL = 920
-X86_INS_VMCLEAR = 921
-X86_INS_VMFUNC = 922
-X86_INS_VMINPD = 923
-X86_INS_VMINPS = 924
-X86_INS_VMINSD = 925
-X86_INS_VMINSS = 926
-X86_INS_VMLAUNCH = 927
-X86_INS_VMLOAD = 928
-X86_INS_VMMCALL = 929
-X86_INS_VMOVQ = 930
-X86_INS_VMOVDDUP = 931
-X86_INS_VMOVD = 932
-X86_INS_VMOVDQA32 = 933
-X86_INS_VMOVDQA64 = 934
-X86_INS_VMOVDQA = 935
-X86_INS_VMOVDQU16 = 936
-X86_INS_VMOVDQU32 = 937
-X86_INS_VMOVDQU64 = 938
-X86_INS_VMOVDQU8 = 939
-X86_INS_VMOVDQU = 940
-X86_INS_VMOVHLPS = 941
-X86_INS_VMOVHPD = 942
-X86_INS_VMOVHPS = 943
-X86_INS_VMOVLHPS = 944
-X86_INS_VMOVLPD = 945
-X86_INS_VMOVLPS = 946
-X86_INS_VMOVMSKPD = 947
-X86_INS_VMOVMSKPS = 948
-X86_INS_VMOVNTDQA = 949
-X86_INS_VMOVNTDQ = 950
-X86_INS_VMOVNTPD = 951
-X86_INS_VMOVNTPS = 952
-X86_INS_VMOVSD = 953
-X86_INS_VMOVSHDUP = 954
-X86_INS_VMOVSLDUP = 955
-X86_INS_VMOVSS = 956
-X86_INS_VMOVUPD = 957
-X86_INS_VMOVUPS = 958
-X86_INS_VMPSADBW = 959
-X86_INS_VMPTRLD = 960
-X86_INS_VMPTRST = 961
-X86_INS_VMREAD = 962
-X86_INS_VMRESUME = 963
-X86_INS_VMRUN = 964
-X86_INS_VMSAVE = 965
-X86_INS_VMULPD = 966
-X86_INS_VMULPS = 967
-X86_INS_VMULSD = 968
-X86_INS_VMULSS = 969
-X86_INS_VMWRITE = 970
-X86_INS_VMXOFF = 971
-X86_INS_VMXON = 972
-X86_INS_VPABSB = 973
-X86_INS_VPABSD = 974
-X86_INS_VPABSQ = 975
-X86_INS_VPABSW = 976
-X86_INS_VPACKSSDW = 977
-X86_INS_VPACKSSWB = 978
-X86_INS_VPACKUSDW = 979
-X86_INS_VPACKUSWB = 980
-X86_INS_VPADDB = 981
-X86_INS_VPADDD = 982
-X86_INS_VPADDQ = 983
-X86_INS_VPADDSB = 984
-X86_INS_VPADDSW = 985
-X86_INS_VPADDUSB = 986
-X86_INS_VPADDUSW = 987
-X86_INS_VPADDW = 988
-X86_INS_VPALIGNR = 989
-X86_INS_VPANDD = 990
-X86_INS_VPANDND = 991
-X86_INS_VPANDNQ = 992
-X86_INS_VPANDN = 993
-X86_INS_VPANDQ = 994
-X86_INS_VPAND = 995
-X86_INS_VPAVGB = 996
-X86_INS_VPAVGW = 997
-X86_INS_VPBLENDD = 998
-X86_INS_VPBLENDMB = 999
-X86_INS_VPBLENDMD = 1000
-X86_INS_VPBLENDMQ = 1001
-X86_INS_VPBLENDMW = 1002
-X86_INS_VPBLENDVB = 1003
-X86_INS_VPBLENDW = 1004
-X86_INS_VPBROADCASTB = 1005
-X86_INS_VPBROADCASTD = 1006
-X86_INS_VPBROADCASTMB2Q = 1007
-X86_INS_VPBROADCASTMW2D = 1008
-X86_INS_VPBROADCASTQ = 1009
-X86_INS_VPBROADCASTW = 1010
-X86_INS_VPCLMULQDQ = 1011
-X86_INS_VPCMOV = 1012
-X86_INS_VPCMPB = 1013
-X86_INS_VPCMPD = 1014
-X86_INS_VPCMPEQB = 1015
-X86_INS_VPCMPEQD = 1016
-X86_INS_VPCMPEQQ = 1017
-X86_INS_VPCMPEQW = 1018
-X86_INS_VPCMPESTRI = 1019
-X86_INS_VPCMPESTRM = 1020
-X86_INS_VPCMPGTB = 1021
-X86_INS_VPCMPGTD = 1022
-X86_INS_VPCMPGTQ = 1023
-X86_INS_VPCMPGTW = 1024
-X86_INS_VPCMPISTRI = 1025
-X86_INS_VPCMPISTRM = 1026
-X86_INS_VPCMPQ = 1027
-X86_INS_VPCMPUB = 1028
-X86_INS_VPCMPUD = 1029
-X86_INS_VPCMPUQ = 1030
-X86_INS_VPCMPUW = 1031
-X86_INS_VPCMPW = 1032
-X86_INS_VPCOMB = 1033
-X86_INS_VPCOMD = 1034
-X86_INS_VPCOMPRESSD = 1035
-X86_INS_VPCOMPRESSQ = 1036
-X86_INS_VPCOMQ = 1037
-X86_INS_VPCOMUB = 1038
-X86_INS_VPCOMUD = 1039
-X86_INS_VPCOMUQ = 1040
-X86_INS_VPCOMUW = 1041
-X86_INS_VPCOMW = 1042
-X86_INS_VPCONFLICTD = 1043
-X86_INS_VPCONFLICTQ = 1044
-X86_INS_VPERM2F128 = 1045
-X86_INS_VPERM2I128 = 1046
-X86_INS_VPERMD = 1047
-X86_INS_VPERMI2D = 1048
-X86_INS_VPERMI2PD = 1049
-X86_INS_VPERMI2PS = 1050
-X86_INS_VPERMI2Q = 1051
-X86_INS_VPERMIL2PD = 1052
-X86_INS_VPERMIL2PS = 1053
-X86_INS_VPERMILPD = 1054
-X86_INS_VPERMILPS = 1055
-X86_INS_VPERMPD = 1056
-X86_INS_VPERMPS = 1057
-X86_INS_VPERMQ = 1058
-X86_INS_VPERMT2D = 1059
-X86_INS_VPERMT2PD = 1060
-X86_INS_VPERMT2PS = 1061
-X86_INS_VPERMT2Q = 1062
-X86_INS_VPEXPANDD = 1063
-X86_INS_VPEXPANDQ = 1064
-X86_INS_VPEXTRB = 1065
-X86_INS_VPEXTRD = 1066
-X86_INS_VPEXTRQ = 1067
-X86_INS_VPEXTRW = 1068
-X86_INS_VPGATHERDD = 1069
-X86_INS_VPGATHERDQ = 1070
-X86_INS_VPGATHERQD = 1071
-X86_INS_VPGATHERQQ = 1072
-X86_INS_VPHADDBD = 1073
-X86_INS_VPHADDBQ = 1074
-X86_INS_VPHADDBW = 1075
-X86_INS_VPHADDDQ = 1076
-X86_INS_VPHADDD = 1077
-X86_INS_VPHADDSW = 1078
-X86_INS_VPHADDUBD = 1079
-X86_INS_VPHADDUBQ = 1080
-X86_INS_VPHADDUBW = 1081
-X86_INS_VPHADDUDQ = 1082
-X86_INS_VPHADDUWD = 1083
-X86_INS_VPHADDUWQ = 1084
-X86_INS_VPHADDWD = 1085
-X86_INS_VPHADDWQ = 1086
-X86_INS_VPHADDW = 1087
-X86_INS_VPHMINPOSUW = 1088
-X86_INS_VPHSUBBW = 1089
-X86_INS_VPHSUBDQ = 1090
-X86_INS_VPHSUBD = 1091
-X86_INS_VPHSUBSW = 1092
-X86_INS_VPHSUBWD = 1093
-X86_INS_VPHSUBW = 1094
-X86_INS_VPINSRB = 1095
-X86_INS_VPINSRD = 1096
-X86_INS_VPINSRQ = 1097
-X86_INS_VPINSRW = 1098
-X86_INS_VPLZCNTD = 1099
-X86_INS_VPLZCNTQ = 1100
-X86_INS_VPMACSDD = 1101
-X86_INS_VPMACSDQH = 1102
-X86_INS_VPMACSDQL = 1103
-X86_INS_VPMACSSDD = 1104
-X86_INS_VPMACSSDQH = 1105
-X86_INS_VPMACSSDQL = 1106
-X86_INS_VPMACSSWD = 1107
-X86_INS_VPMACSSWW = 1108
-X86_INS_VPMACSWD = 1109
-X86_INS_VPMACSWW = 1110
-X86_INS_VPMADCSSWD = 1111
-X86_INS_VPMADCSWD = 1112
-X86_INS_VPMADDUBSW = 1113
-X86_INS_VPMADDWD = 1114
-X86_INS_VPMASKMOVD = 1115
-X86_INS_VPMASKMOVQ = 1116
-X86_INS_VPMAXSB = 1117
-X86_INS_VPMAXSD = 1118
-X86_INS_VPMAXSQ = 1119
-X86_INS_VPMAXSW = 1120
-X86_INS_VPMAXUB = 1121
-X86_INS_VPMAXUD = 1122
-X86_INS_VPMAXUQ = 1123
-X86_INS_VPMAXUW = 1124
-X86_INS_VPMINSB = 1125
-X86_INS_VPMINSD = 1126
-X86_INS_VPMINSQ = 1127
-X86_INS_VPMINSW = 1128
-X86_INS_VPMINUB = 1129
-X86_INS_VPMINUD = 1130
-X86_INS_VPMINUQ = 1131
-X86_INS_VPMINUW = 1132
-X86_INS_VPMOVDB = 1133
-X86_INS_VPMOVDW = 1134
-X86_INS_VPMOVM2B = 1135
-X86_INS_VPMOVM2D = 1136
-X86_INS_VPMOVM2Q = 1137
-X86_INS_VPMOVM2W = 1138
-X86_INS_VPMOVMSKB = 1139
-X86_INS_VPMOVQB = 1140
-X86_INS_VPMOVQD = 1141
-X86_INS_VPMOVQW = 1142
-X86_INS_VPMOVSDB = 1143
-X86_INS_VPMOVSDW = 1144
-X86_INS_VPMOVSQB = 1145
-X86_INS_VPMOVSQD = 1146
-X86_INS_VPMOVSQW = 1147
-X86_INS_VPMOVSXBD = 1148
-X86_INS_VPMOVSXBQ = 1149
-X86_INS_VPMOVSXBW = 1150
-X86_INS_VPMOVSXDQ = 1151
-X86_INS_VPMOVSXWD = 1152
-X86_INS_VPMOVSXWQ = 1153
-X86_INS_VPMOVUSDB = 1154
-X86_INS_VPMOVUSDW = 1155
-X86_INS_VPMOVUSQB = 1156
-X86_INS_VPMOVUSQD = 1157
-X86_INS_VPMOVUSQW = 1158
-X86_INS_VPMOVZXBD = 1159
-X86_INS_VPMOVZXBQ = 1160
-X86_INS_VPMOVZXBW = 1161
-X86_INS_VPMOVZXDQ = 1162
-X86_INS_VPMOVZXWD = 1163
-X86_INS_VPMOVZXWQ = 1164
-X86_INS_VPMULDQ = 1165
-X86_INS_VPMULHRSW = 1166
-X86_INS_VPMULHUW = 1167
-X86_INS_VPMULHW = 1168
-X86_INS_VPMULLD = 1169
-X86_INS_VPMULLQ = 1170
-X86_INS_VPMULLW = 1171
-X86_INS_VPMULUDQ = 1172
-X86_INS_VPORD = 1173
-X86_INS_VPORQ = 1174
-X86_INS_VPOR = 1175
-X86_INS_VPPERM = 1176
-X86_INS_VPROTB = 1177
-X86_INS_VPROTD = 1178
-X86_INS_VPROTQ = 1179
-X86_INS_VPROTW = 1180
-X86_INS_VPSADBW = 1181
-X86_INS_VPSCATTERDD = 1182
-X86_INS_VPSCATTERDQ = 1183
-X86_INS_VPSCATTERQD = 1184
-X86_INS_VPSCATTERQQ = 1185
-X86_INS_VPSHAB = 1186
-X86_INS_VPSHAD = 1187
-X86_INS_VPSHAQ = 1188
-X86_INS_VPSHAW = 1189
-X86_INS_VPSHLB = 1190
-X86_INS_VPSHLD = 1191
-X86_INS_VPSHLQ = 1192
-X86_INS_VPSHLW = 1193
-X86_INS_VPSHUFB = 1194
-X86_INS_VPSHUFD = 1195
-X86_INS_VPSHUFHW = 1196
-X86_INS_VPSHUFLW = 1197
-X86_INS_VPSIGNB = 1198
-X86_INS_VPSIGND = 1199
-X86_INS_VPSIGNW = 1200
-X86_INS_VPSLLDQ = 1201
-X86_INS_VPSLLD = 1202
-X86_INS_VPSLLQ = 1203
-X86_INS_VPSLLVD = 1204
-X86_INS_VPSLLVQ = 1205
-X86_INS_VPSLLW = 1206
-X86_INS_VPSRAD = 1207
-X86_INS_VPSRAQ = 1208
-X86_INS_VPSRAVD = 1209
-X86_INS_VPSRAVQ = 1210
-X86_INS_VPSRAW = 1211
-X86_INS_VPSRLDQ = 1212
-X86_INS_VPSRLD = 1213
-X86_INS_VPSRLQ = 1214
-X86_INS_VPSRLVD = 1215
-X86_INS_VPSRLVQ = 1216
-X86_INS_VPSRLW = 1217
-X86_INS_VPSUBB = 1218
-X86_INS_VPSUBD = 1219
-X86_INS_VPSUBQ = 1220
-X86_INS_VPSUBSB = 1221
-X86_INS_VPSUBSW = 1222
-X86_INS_VPSUBUSB = 1223
-X86_INS_VPSUBUSW = 1224
-X86_INS_VPSUBW = 1225
-X86_INS_VPTESTMD = 1226
-X86_INS_VPTESTMQ = 1227
-X86_INS_VPTESTNMD = 1228
-X86_INS_VPTESTNMQ = 1229
-X86_INS_VPTEST = 1230
-X86_INS_VPUNPCKHBW = 1231
-X86_INS_VPUNPCKHDQ = 1232
-X86_INS_VPUNPCKHQDQ = 1233
-X86_INS_VPUNPCKHWD = 1234
-X86_INS_VPUNPCKLBW = 1235
-X86_INS_VPUNPCKLDQ = 1236
-X86_INS_VPUNPCKLQDQ = 1237
-X86_INS_VPUNPCKLWD = 1238
-X86_INS_VPXORD = 1239
-X86_INS_VPXORQ = 1240
-X86_INS_VPXOR = 1241
-X86_INS_VRCP14PD = 1242
-X86_INS_VRCP14PS = 1243
-X86_INS_VRCP14SD = 1244
-X86_INS_VRCP14SS = 1245
-X86_INS_VRCP28PD = 1246
-X86_INS_VRCP28PS = 1247
-X86_INS_VRCP28SD = 1248
-X86_INS_VRCP28SS = 1249
-X86_INS_VRCPPS = 1250
-X86_INS_VRCPSS = 1251
-X86_INS_VRNDSCALEPD = 1252
-X86_INS_VRNDSCALEPS = 1253
-X86_INS_VRNDSCALESD = 1254
-X86_INS_VRNDSCALESS = 1255
-X86_INS_VROUNDPD = 1256
-X86_INS_VROUNDPS = 1257
-X86_INS_VROUNDSD = 1258
-X86_INS_VROUNDSS = 1259
-X86_INS_VRSQRT14PD = 1260
-X86_INS_VRSQRT14PS = 1261
-X86_INS_VRSQRT14SD = 1262
-X86_INS_VRSQRT14SS = 1263
-X86_INS_VRSQRT28PD = 1264
-X86_INS_VRSQRT28PS = 1265
-X86_INS_VRSQRT28SD = 1266
-X86_INS_VRSQRT28SS = 1267
-X86_INS_VRSQRTPS = 1268
-X86_INS_VRSQRTSS = 1269
-X86_INS_VSCATTERDPD = 1270
-X86_INS_VSCATTERDPS = 1271
-X86_INS_VSCATTERPF0DPD = 1272
-X86_INS_VSCATTERPF0DPS = 1273
-X86_INS_VSCATTERPF0QPD = 1274
-X86_INS_VSCATTERPF0QPS = 1275
-X86_INS_VSCATTERPF1DPD = 1276
-X86_INS_VSCATTERPF1DPS = 1277
-X86_INS_VSCATTERPF1QPD = 1278
-X86_INS_VSCATTERPF1QPS = 1279
-X86_INS_VSCATTERQPD = 1280
-X86_INS_VSCATTERQPS = 1281
-X86_INS_VSHUFPD = 1282
-X86_INS_VSHUFPS = 1283
-X86_INS_VSQRTPD = 1284
-X86_INS_VSQRTPS = 1285
-X86_INS_VSQRTSD = 1286
-X86_INS_VSQRTSS = 1287
-X86_INS_VSTMXCSR = 1288
-X86_INS_VSUBPD = 1289
-X86_INS_VSUBPS = 1290
-X86_INS_VSUBSD = 1291
-X86_INS_VSUBSS = 1292
-X86_INS_VTESTPD = 1293
-X86_INS_VTESTPS = 1294
-X86_INS_VUNPCKHPD = 1295
-X86_INS_VUNPCKHPS = 1296
-X86_INS_VUNPCKLPD = 1297
-X86_INS_VUNPCKLPS = 1298
-X86_INS_VZEROALL = 1299
-X86_INS_VZEROUPPER = 1300
-X86_INS_WAIT = 1301
-X86_INS_WBINVD = 1302
-X86_INS_WRFSBASE = 1303
-X86_INS_WRGSBASE = 1304
-X86_INS_WRMSR = 1305
-X86_INS_XABORT = 1306
-X86_INS_XACQUIRE = 1307
-X86_INS_XBEGIN = 1308
-X86_INS_XCHG = 1309
-X86_INS_XCRYPTCBC = 1310
-X86_INS_XCRYPTCFB = 1311
-X86_INS_XCRYPTCTR = 1312
-X86_INS_XCRYPTECB = 1313
-X86_INS_XCRYPTOFB = 1314
-X86_INS_XEND = 1315
-X86_INS_XGETBV = 1316
-X86_INS_XLATB = 1317
-X86_INS_XRELEASE = 1318
-X86_INS_XRSTOR = 1319
-X86_INS_XRSTOR64 = 1320
-X86_INS_XRSTORS = 1321
-X86_INS_XRSTORS64 = 1322
-X86_INS_XSAVE = 1323
-X86_INS_XSAVE64 = 1324
-X86_INS_XSAVEC = 1325
-X86_INS_XSAVEC64 = 1326
-X86_INS_XSAVEOPT = 1327
-X86_INS_XSAVEOPT64 = 1328
-X86_INS_XSAVES = 1329
-X86_INS_XSAVES64 = 1330
-X86_INS_XSETBV = 1331
-X86_INS_XSHA1 = 1332
-X86_INS_XSHA256 = 1333
-X86_INS_XSTORE = 1334
-X86_INS_XTEST = 1335
-X86_INS_FDISI8087_NOP = 1336
-X86_INS_FENI8087_NOP = 1337
-X86_INS_ENDING = 1338
+X86_INS_CMPSB = 96
+X86_INS_CMPSQ = 97
+X86_INS_CMPSW = 98
+X86_INS_CMPXCHG16B = 99
+X86_INS_CMPXCHG = 100
+X86_INS_CMPXCHG8B = 101
+X86_INS_COMISD = 102
+X86_INS_COMISS = 103
+X86_INS_FCOMP = 104
+X86_INS_FCOMPI = 105
+X86_INS_FCOMI = 106
+X86_INS_FCOM = 107
+X86_INS_FCOS = 108
+X86_INS_CPUID = 109
+X86_INS_CQO = 110
+X86_INS_CRC32 = 111
+X86_INS_CVTDQ2PD = 112
+X86_INS_CVTDQ2PS = 113
+X86_INS_CVTPD2DQ = 114
+X86_INS_CVTPD2PS = 115
+X86_INS_CVTPS2DQ = 116
+X86_INS_CVTPS2PD = 117
+X86_INS_CVTSD2SI = 118
+X86_INS_CVTSD2SS = 119
+X86_INS_CVTSI2SD = 120
+X86_INS_CVTSI2SS = 121
+X86_INS_CVTSS2SD = 122
+X86_INS_CVTSS2SI = 123
+X86_INS_CVTTPD2DQ = 124
+X86_INS_CVTTPS2DQ = 125
+X86_INS_CVTTSD2SI = 126
+X86_INS_CVTTSS2SI = 127
+X86_INS_CWD = 128
+X86_INS_CWDE = 129
+X86_INS_DAA = 130
+X86_INS_DAS = 131
+X86_INS_DATA16 = 132
+X86_INS_DEC = 133
+X86_INS_DIV = 134
+X86_INS_DIVPD = 135
+X86_INS_DIVPS = 136
+X86_INS_FDIVR = 137
+X86_INS_FIDIVR = 138
+X86_INS_FDIVRP = 139
+X86_INS_DIVSD = 140
+X86_INS_DIVSS = 141
+X86_INS_FDIV = 142
+X86_INS_FIDIV = 143
+X86_INS_FDIVP = 144
+X86_INS_DPPD = 145
+X86_INS_DPPS = 146
+X86_INS_RET = 147
+X86_INS_ENCLS = 148
+X86_INS_ENCLU = 149
+X86_INS_ENTER = 150
+X86_INS_EXTRACTPS = 151
+X86_INS_EXTRQ = 152
+X86_INS_F2XM1 = 153
+X86_INS_LCALL = 154
+X86_INS_LJMP = 155
+X86_INS_FBLD = 156
+X86_INS_FBSTP = 157
+X86_INS_FCOMPP = 158
+X86_INS_FDECSTP = 159
+X86_INS_FEMMS = 160
+X86_INS_FFREE = 161
+X86_INS_FICOM = 162
+X86_INS_FICOMP = 163
+X86_INS_FINCSTP = 164
+X86_INS_FLDCW = 165
+X86_INS_FLDENV = 166
+X86_INS_FLDL2E = 167
+X86_INS_FLDL2T = 168
+X86_INS_FLDLG2 = 169
+X86_INS_FLDLN2 = 170
+X86_INS_FLDPI = 171
+X86_INS_FNCLEX = 172
+X86_INS_FNINIT = 173
+X86_INS_FNOP = 174
+X86_INS_FNSTCW = 175
+X86_INS_FNSTSW = 176
+X86_INS_FPATAN = 177
+X86_INS_FPREM = 178
+X86_INS_FPREM1 = 179
+X86_INS_FPTAN = 180
+X86_INS_FFREEP = 181
+X86_INS_FRNDINT = 182
+X86_INS_FRSTOR = 183
+X86_INS_FNSAVE = 184
+X86_INS_FSCALE = 185
+X86_INS_FSETPM = 186
+X86_INS_FSINCOS = 187
+X86_INS_FNSTENV = 188
+X86_INS_FXAM = 189
+X86_INS_FXRSTOR = 190
+X86_INS_FXRSTOR64 = 191
+X86_INS_FXSAVE = 192
+X86_INS_FXSAVE64 = 193
+X86_INS_FXTRACT = 194
+X86_INS_FYL2X = 195
+X86_INS_FYL2XP1 = 196
+X86_INS_MOVAPD = 197
+X86_INS_MOVAPS = 198
+X86_INS_ORPD = 199
+X86_INS_ORPS = 200
+X86_INS_VMOVAPD = 201
+X86_INS_VMOVAPS = 202
+X86_INS_XORPD = 203
+X86_INS_XORPS = 204
+X86_INS_GETSEC = 205
+X86_INS_HADDPD = 206
+X86_INS_HADDPS = 207
+X86_INS_HLT = 208
+X86_INS_HSUBPD = 209
+X86_INS_HSUBPS = 210
+X86_INS_IDIV = 211
+X86_INS_FILD = 212
+X86_INS_IMUL = 213
+X86_INS_IN = 214
+X86_INS_INC = 215
+X86_INS_INSB = 216
+X86_INS_INSERTPS = 217
+X86_INS_INSERTQ = 218
+X86_INS_INSD = 219
+X86_INS_INSW = 220
+X86_INS_INT = 221
+X86_INS_INT1 = 222
+X86_INS_INT3 = 223
+X86_INS_INTO = 224
+X86_INS_INVD = 225
+X86_INS_INVEPT = 226
+X86_INS_INVLPG = 227
+X86_INS_INVLPGA = 228
+X86_INS_INVPCID = 229
+X86_INS_INVVPID = 230
+X86_INS_IRET = 231
+X86_INS_IRETD = 232
+X86_INS_IRETQ = 233
+X86_INS_FISTTP = 234
+X86_INS_FIST = 235
+X86_INS_FISTP = 236
+X86_INS_UCOMISD = 237
+X86_INS_UCOMISS = 238
+X86_INS_VCOMISD = 239
+X86_INS_VCOMISS = 240
+X86_INS_VCVTSD2SS = 241
+X86_INS_VCVTSI2SD = 242
+X86_INS_VCVTSI2SS = 243
+X86_INS_VCVTSS2SD = 244
+X86_INS_VCVTTSD2SI = 245
+X86_INS_VCVTTSD2USI = 246
+X86_INS_VCVTTSS2SI = 247
+X86_INS_VCVTTSS2USI = 248
+X86_INS_VCVTUSI2SD = 249
+X86_INS_VCVTUSI2SS = 250
+X86_INS_VUCOMISD = 251
+X86_INS_VUCOMISS = 252
+X86_INS_JAE = 253
+X86_INS_JA = 254
+X86_INS_JBE = 255
+X86_INS_JB = 256
+X86_INS_JCXZ = 257
+X86_INS_JECXZ = 258
+X86_INS_JE = 259
+X86_INS_JGE = 260
+X86_INS_JG = 261
+X86_INS_JLE = 262
+X86_INS_JL = 263
+X86_INS_JMP = 264
+X86_INS_JNE = 265
+X86_INS_JNO = 266
+X86_INS_JNP = 267
+X86_INS_JNS = 268
+X86_INS_JO = 269
+X86_INS_JP = 270
+X86_INS_JRCXZ = 271
+X86_INS_JS = 272
+X86_INS_KANDB = 273
+X86_INS_KANDD = 274
+X86_INS_KANDNB = 275
+X86_INS_KANDND = 276
+X86_INS_KANDNQ = 277
+X86_INS_KANDNW = 278
+X86_INS_KANDQ = 279
+X86_INS_KANDW = 280
+X86_INS_KMOVB = 281
+X86_INS_KMOVD = 282
+X86_INS_KMOVQ = 283
+X86_INS_KMOVW = 284
+X86_INS_KNOTB = 285
+X86_INS_KNOTD = 286
+X86_INS_KNOTQ = 287
+X86_INS_KNOTW = 288
+X86_INS_KORB = 289
+X86_INS_KORD = 290
+X86_INS_KORQ = 291
+X86_INS_KORTESTB = 292
+X86_INS_KORTESTD = 293
+X86_INS_KORTESTQ = 294
+X86_INS_KORTESTW = 295
+X86_INS_KORW = 296
+X86_INS_KSHIFTLB = 297
+X86_INS_KSHIFTLD = 298
+X86_INS_KSHIFTLQ = 299
+X86_INS_KSHIFTLW = 300
+X86_INS_KSHIFTRB = 301
+X86_INS_KSHIFTRD = 302
+X86_INS_KSHIFTRQ = 303
+X86_INS_KSHIFTRW = 304
+X86_INS_KUNPCKBW = 305
+X86_INS_KXNORB = 306
+X86_INS_KXNORD = 307
+X86_INS_KXNORQ = 308
+X86_INS_KXNORW = 309
+X86_INS_KXORB = 310
+X86_INS_KXORD = 311
+X86_INS_KXORQ = 312
+X86_INS_KXORW = 313
+X86_INS_LAHF = 314
+X86_INS_LAR = 315
+X86_INS_LDDQU = 316
+X86_INS_LDMXCSR = 317
+X86_INS_LDS = 318
+X86_INS_FLDZ = 319
+X86_INS_FLD1 = 320
+X86_INS_FLD = 321
+X86_INS_LEA = 322
+X86_INS_LEAVE = 323
+X86_INS_LES = 324
+X86_INS_LFENCE = 325
+X86_INS_LFS = 326
+X86_INS_LGDT = 327
+X86_INS_LGS = 328
+X86_INS_LIDT = 329
+X86_INS_LLDT = 330
+X86_INS_LMSW = 331
+X86_INS_OR = 332
+X86_INS_SUB = 333
+X86_INS_XOR = 334
+X86_INS_LODSB = 335
+X86_INS_LODSD = 336
+X86_INS_LODSQ = 337
+X86_INS_LODSW = 338
+X86_INS_LOOP = 339
+X86_INS_LOOPE = 340
+X86_INS_LOOPNE = 341
+X86_INS_RETF = 342
+X86_INS_RETFQ = 343
+X86_INS_LSL = 344
+X86_INS_LSS = 345
+X86_INS_LTR = 346
+X86_INS_XADD = 347
+X86_INS_LZCNT = 348
+X86_INS_MASKMOVDQU = 349
+X86_INS_MAXPD = 350
+X86_INS_MAXPS = 351
+X86_INS_MAXSD = 352
+X86_INS_MAXSS = 353
+X86_INS_MFENCE = 354
+X86_INS_MINPD = 355
+X86_INS_MINPS = 356
+X86_INS_MINSD = 357
+X86_INS_MINSS = 358
+X86_INS_CVTPD2PI = 359
+X86_INS_CVTPI2PD = 360
+X86_INS_CVTPI2PS = 361
+X86_INS_CVTPS2PI = 362
+X86_INS_CVTTPD2PI = 363
+X86_INS_CVTTPS2PI = 364
+X86_INS_EMMS = 365
+X86_INS_MASKMOVQ = 366
+X86_INS_MOVD = 367
+X86_INS_MOVDQ2Q = 368
+X86_INS_MOVNTQ = 369
+X86_INS_MOVQ2DQ = 370
+X86_INS_MOVQ = 371
+X86_INS_PABSB = 372
+X86_INS_PABSD = 373
+X86_INS_PABSW = 374
+X86_INS_PACKSSDW = 375
+X86_INS_PACKSSWB = 376
+X86_INS_PACKUSWB = 377
+X86_INS_PADDB = 378
+X86_INS_PADDD = 379
+X86_INS_PADDQ = 380
+X86_INS_PADDSB = 381
+X86_INS_PADDSW = 382
+X86_INS_PADDUSB = 383
+X86_INS_PADDUSW = 384
+X86_INS_PADDW = 385
+X86_INS_PALIGNR = 386
+X86_INS_PANDN = 387
+X86_INS_PAND = 388
+X86_INS_PAVGB = 389
+X86_INS_PAVGW = 390
+X86_INS_PCMPEQB = 391
+X86_INS_PCMPEQD = 392
+X86_INS_PCMPEQW = 393
+X86_INS_PCMPGTB = 394
+X86_INS_PCMPGTD = 395
+X86_INS_PCMPGTW = 396
+X86_INS_PEXTRW = 397
+X86_INS_PHADDSW = 398
+X86_INS_PHADDW = 399
+X86_INS_PHADDD = 400
+X86_INS_PHSUBD = 401
+X86_INS_PHSUBSW = 402
+X86_INS_PHSUBW = 403
+X86_INS_PINSRW = 404
+X86_INS_PMADDUBSW = 405
+X86_INS_PMADDWD = 406
+X86_INS_PMAXSW = 407
+X86_INS_PMAXUB = 408
+X86_INS_PMINSW = 409
+X86_INS_PMINUB = 410
+X86_INS_PMOVMSKB = 411
+X86_INS_PMULHRSW = 412
+X86_INS_PMULHUW = 413
+X86_INS_PMULHW = 414
+X86_INS_PMULLW = 415
+X86_INS_PMULUDQ = 416
+X86_INS_POR = 417
+X86_INS_PSADBW = 418
+X86_INS_PSHUFB = 419
+X86_INS_PSHUFW = 420
+X86_INS_PSIGNB = 421
+X86_INS_PSIGND = 422
+X86_INS_PSIGNW = 423
+X86_INS_PSLLD = 424
+X86_INS_PSLLQ = 425
+X86_INS_PSLLW = 426
+X86_INS_PSRAD = 427
+X86_INS_PSRAW = 428
+X86_INS_PSRLD = 429
+X86_INS_PSRLQ = 430
+X86_INS_PSRLW = 431
+X86_INS_PSUBB = 432
+X86_INS_PSUBD = 433
+X86_INS_PSUBQ = 434
+X86_INS_PSUBSB = 435
+X86_INS_PSUBSW = 436
+X86_INS_PSUBUSB = 437
+X86_INS_PSUBUSW = 438
+X86_INS_PSUBW = 439
+X86_INS_PUNPCKHBW = 440
+X86_INS_PUNPCKHDQ = 441
+X86_INS_PUNPCKHWD = 442
+X86_INS_PUNPCKLBW = 443
+X86_INS_PUNPCKLDQ = 444
+X86_INS_PUNPCKLWD = 445
+X86_INS_PXOR = 446
+X86_INS_MONITOR = 447
+X86_INS_MONTMUL = 448
+X86_INS_MOV = 449
+X86_INS_MOVABS = 450
+X86_INS_MOVBE = 451
+X86_INS_MOVDDUP = 452
+X86_INS_MOVDQA = 453
+X86_INS_MOVDQU = 454
+X86_INS_MOVHLPS = 455
+X86_INS_MOVHPD = 456
+X86_INS_MOVHPS = 457
+X86_INS_MOVLHPS = 458
+X86_INS_MOVLPD = 459
+X86_INS_MOVLPS = 460
+X86_INS_MOVMSKPD = 461
+X86_INS_MOVMSKPS = 462
+X86_INS_MOVNTDQA = 463
+X86_INS_MOVNTDQ = 464
+X86_INS_MOVNTI = 465
+X86_INS_MOVNTPD = 466
+X86_INS_MOVNTPS = 467
+X86_INS_MOVNTSD = 468
+X86_INS_MOVNTSS = 469
+X86_INS_MOVSB = 470
+X86_INS_MOVSD = 471
+X86_INS_MOVSHDUP = 472
+X86_INS_MOVSLDUP = 473
+X86_INS_MOVSQ = 474
+X86_INS_MOVSS = 475
+X86_INS_MOVSW = 476
+X86_INS_MOVSX = 477
+X86_INS_MOVSXD = 478
+X86_INS_MOVUPD = 479
+X86_INS_MOVUPS = 480
+X86_INS_MOVZX = 481
+X86_INS_MPSADBW = 482
+X86_INS_MUL = 483
+X86_INS_MULPD = 484
+X86_INS_MULPS = 485
+X86_INS_MULSD = 486
+X86_INS_MULSS = 487
+X86_INS_MULX = 488
+X86_INS_FMUL = 489
+X86_INS_FIMUL = 490
+X86_INS_FMULP = 491
+X86_INS_MWAIT = 492
+X86_INS_NEG = 493
+X86_INS_NOP = 494
+X86_INS_NOT = 495
+X86_INS_OUT = 496
+X86_INS_OUTSB = 497
+X86_INS_OUTSD = 498
+X86_INS_OUTSW = 499
+X86_INS_PACKUSDW = 500
+X86_INS_PAUSE = 501
+X86_INS_PAVGUSB = 502
+X86_INS_PBLENDVB = 503
+X86_INS_PBLENDW = 504
+X86_INS_PCLMULQDQ = 505
+X86_INS_PCMPEQQ = 506
+X86_INS_PCMPESTRI = 507
+X86_INS_PCMPESTRM = 508
+X86_INS_PCMPGTQ = 509
+X86_INS_PCMPISTRI = 510
+X86_INS_PCMPISTRM = 511
+X86_INS_PCOMMIT = 512
+X86_INS_PDEP = 513
+X86_INS_PEXT = 514
+X86_INS_PEXTRB = 515
+X86_INS_PEXTRD = 516
+X86_INS_PEXTRQ = 517
+X86_INS_PF2ID = 518
+X86_INS_PF2IW = 519
+X86_INS_PFACC = 520
+X86_INS_PFADD = 521
+X86_INS_PFCMPEQ = 522
+X86_INS_PFCMPGE = 523
+X86_INS_PFCMPGT = 524
+X86_INS_PFMAX = 525
+X86_INS_PFMIN = 526
+X86_INS_PFMUL = 527
+X86_INS_PFNACC = 528
+X86_INS_PFPNACC = 529
+X86_INS_PFRCPIT1 = 530
+X86_INS_PFRCPIT2 = 531
+X86_INS_PFRCP = 532
+X86_INS_PFRSQIT1 = 533
+X86_INS_PFRSQRT = 534
+X86_INS_PFSUBR = 535
+X86_INS_PFSUB = 536
+X86_INS_PHMINPOSUW = 537
+X86_INS_PI2FD = 538
+X86_INS_PI2FW = 539
+X86_INS_PINSRB = 540
+X86_INS_PINSRD = 541
+X86_INS_PINSRQ = 542
+X86_INS_PMAXSB = 543
+X86_INS_PMAXSD = 544
+X86_INS_PMAXUD = 545
+X86_INS_PMAXUW = 546
+X86_INS_PMINSB = 547
+X86_INS_PMINSD = 548
+X86_INS_PMINUD = 549
+X86_INS_PMINUW = 550
+X86_INS_PMOVSXBD = 551
+X86_INS_PMOVSXBQ = 552
+X86_INS_PMOVSXBW = 553
+X86_INS_PMOVSXDQ = 554
+X86_INS_PMOVSXWD = 555
+X86_INS_PMOVSXWQ = 556
+X86_INS_PMOVZXBD = 557
+X86_INS_PMOVZXBQ = 558
+X86_INS_PMOVZXBW = 559
+X86_INS_PMOVZXDQ = 560
+X86_INS_PMOVZXWD = 561
+X86_INS_PMOVZXWQ = 562
+X86_INS_PMULDQ = 563
+X86_INS_PMULHRW = 564
+X86_INS_PMULLD = 565
+X86_INS_POP = 566
+X86_INS_POPAW = 567
+X86_INS_POPAL = 568
+X86_INS_POPCNT = 569
+X86_INS_POPF = 570
+X86_INS_POPFD = 571
+X86_INS_POPFQ = 572
+X86_INS_PREFETCH = 573
+X86_INS_PREFETCHNTA = 574
+X86_INS_PREFETCHT0 = 575
+X86_INS_PREFETCHT1 = 576
+X86_INS_PREFETCHT2 = 577
+X86_INS_PREFETCHW = 578
+X86_INS_PSHUFD = 579
+X86_INS_PSHUFHW = 580
+X86_INS_PSHUFLW = 581
+X86_INS_PSLLDQ = 582
+X86_INS_PSRLDQ = 583
+X86_INS_PSWAPD = 584
+X86_INS_PTEST = 585
+X86_INS_PUNPCKHQDQ = 586
+X86_INS_PUNPCKLQDQ = 587
+X86_INS_PUSH = 588
+X86_INS_PUSHAW = 589
+X86_INS_PUSHAL = 590
+X86_INS_PUSHF = 591
+X86_INS_PUSHFD = 592
+X86_INS_PUSHFQ = 593
+X86_INS_RCL = 594
+X86_INS_RCPPS = 595
+X86_INS_RCPSS = 596
+X86_INS_RCR = 597
+X86_INS_RDFSBASE = 598
+X86_INS_RDGSBASE = 599
+X86_INS_RDMSR = 600
+X86_INS_RDPMC = 601
+X86_INS_RDRAND = 602
+X86_INS_RDSEED = 603
+X86_INS_RDTSC = 604
+X86_INS_RDTSCP = 605
+X86_INS_ROL = 606
+X86_INS_ROR = 607
+X86_INS_RORX = 608
+X86_INS_ROUNDPD = 609
+X86_INS_ROUNDPS = 610
+X86_INS_ROUNDSD = 611
+X86_INS_ROUNDSS = 612
+X86_INS_RSM = 613
+X86_INS_RSQRTPS = 614
+X86_INS_RSQRTSS = 615
+X86_INS_SAHF = 616
+X86_INS_SAL = 617
+X86_INS_SALC = 618
+X86_INS_SAR = 619
+X86_INS_SARX = 620
+X86_INS_SBB = 621
+X86_INS_SCASB = 622
+X86_INS_SCASD = 623
+X86_INS_SCASQ = 624
+X86_INS_SCASW = 625
+X86_INS_SETAE = 626
+X86_INS_SETA = 627
+X86_INS_SETBE = 628
+X86_INS_SETB = 629
+X86_INS_SETE = 630
+X86_INS_SETGE = 631
+X86_INS_SETG = 632
+X86_INS_SETLE = 633
+X86_INS_SETL = 634
+X86_INS_SETNE = 635
+X86_INS_SETNO = 636
+X86_INS_SETNP = 637
+X86_INS_SETNS = 638
+X86_INS_SETO = 639
+X86_INS_SETP = 640
+X86_INS_SETS = 641
+X86_INS_SFENCE = 642
+X86_INS_SGDT = 643
+X86_INS_SHA1MSG1 = 644
+X86_INS_SHA1MSG2 = 645
+X86_INS_SHA1NEXTE = 646
+X86_INS_SHA1RNDS4 = 647
+X86_INS_SHA256MSG1 = 648
+X86_INS_SHA256MSG2 = 649
+X86_INS_SHA256RNDS2 = 650
+X86_INS_SHL = 651
+X86_INS_SHLD = 652
+X86_INS_SHLX = 653
+X86_INS_SHR = 654
+X86_INS_SHRD = 655
+X86_INS_SHRX = 656
+X86_INS_SHUFPD = 657
+X86_INS_SHUFPS = 658
+X86_INS_SIDT = 659
+X86_INS_FSIN = 660
+X86_INS_SKINIT = 661
+X86_INS_SLDT = 662
+X86_INS_SMSW = 663
+X86_INS_SQRTPD = 664
+X86_INS_SQRTPS = 665
+X86_INS_SQRTSD = 666
+X86_INS_SQRTSS = 667
+X86_INS_FSQRT = 668
+X86_INS_STAC = 669
+X86_INS_STC = 670
+X86_INS_STD = 671
+X86_INS_STGI = 672
+X86_INS_STI = 673
+X86_INS_STMXCSR = 674
+X86_INS_STOSB = 675
+X86_INS_STOSD = 676
+X86_INS_STOSQ = 677
+X86_INS_STOSW = 678
+X86_INS_STR = 679
+X86_INS_FST = 680
+X86_INS_FSTP = 681
+X86_INS_FSTPNCE = 682
+X86_INS_FXCH = 683
+X86_INS_SUBPD = 684
+X86_INS_SUBPS = 685
+X86_INS_FSUBR = 686
+X86_INS_FISUBR = 687
+X86_INS_FSUBRP = 688
+X86_INS_SUBSD = 689
+X86_INS_SUBSS = 690
+X86_INS_FSUB = 691
+X86_INS_FISUB = 692
+X86_INS_FSUBP = 693
+X86_INS_SWAPGS = 694
+X86_INS_SYSCALL = 695
+X86_INS_SYSENTER = 696
+X86_INS_SYSEXIT = 697
+X86_INS_SYSRET = 698
+X86_INS_T1MSKC = 699
+X86_INS_TEST = 700
+X86_INS_UD2 = 701
+X86_INS_FTST = 702
+X86_INS_TZCNT = 703
+X86_INS_TZMSK = 704
+X86_INS_FUCOMPI = 705
+X86_INS_FUCOMI = 706
+X86_INS_FUCOMPP = 707
+X86_INS_FUCOMP = 708
+X86_INS_FUCOM = 709
+X86_INS_UD2B = 710
+X86_INS_UNPCKHPD = 711
+X86_INS_UNPCKHPS = 712
+X86_INS_UNPCKLPD = 713
+X86_INS_UNPCKLPS = 714
+X86_INS_VADDPD = 715
+X86_INS_VADDPS = 716
+X86_INS_VADDSD = 717
+X86_INS_VADDSS = 718
+X86_INS_VADDSUBPD = 719
+X86_INS_VADDSUBPS = 720
+X86_INS_VAESDECLAST = 721
+X86_INS_VAESDEC = 722
+X86_INS_VAESENCLAST = 723
+X86_INS_VAESENC = 724
+X86_INS_VAESIMC = 725
+X86_INS_VAESKEYGENASSIST = 726
+X86_INS_VALIGND = 727
+X86_INS_VALIGNQ = 728
+X86_INS_VANDNPD = 729
+X86_INS_VANDNPS = 730
+X86_INS_VANDPD = 731
+X86_INS_VANDPS = 732
+X86_INS_VBLENDMPD = 733
+X86_INS_VBLENDMPS = 734
+X86_INS_VBLENDPD = 735
+X86_INS_VBLENDPS = 736
+X86_INS_VBLENDVPD = 737
+X86_INS_VBLENDVPS = 738
+X86_INS_VBROADCASTF128 = 739
+X86_INS_VBROADCASTI32X4 = 740
+X86_INS_VBROADCASTI64X4 = 741
+X86_INS_VBROADCASTSD = 742
+X86_INS_VBROADCASTSS = 743
+X86_INS_VCOMPRESSPD = 744
+X86_INS_VCOMPRESSPS = 745
+X86_INS_VCVTDQ2PD = 746
+X86_INS_VCVTDQ2PS = 747
+X86_INS_VCVTPD2DQX = 748
+X86_INS_VCVTPD2DQ = 749
+X86_INS_VCVTPD2PSX = 750
+X86_INS_VCVTPD2PS = 751
+X86_INS_VCVTPD2UDQ = 752
+X86_INS_VCVTPH2PS = 753
+X86_INS_VCVTPS2DQ = 754
+X86_INS_VCVTPS2PD = 755
+X86_INS_VCVTPS2PH = 756
+X86_INS_VCVTPS2UDQ = 757
+X86_INS_VCVTSD2SI = 758
+X86_INS_VCVTSD2USI = 759
+X86_INS_VCVTSS2SI = 760
+X86_INS_VCVTSS2USI = 761
+X86_INS_VCVTTPD2DQX = 762
+X86_INS_VCVTTPD2DQ = 763
+X86_INS_VCVTTPD2UDQ = 764
+X86_INS_VCVTTPS2DQ = 765
+X86_INS_VCVTTPS2UDQ = 766
+X86_INS_VCVTUDQ2PD = 767
+X86_INS_VCVTUDQ2PS = 768
+X86_INS_VDIVPD = 769
+X86_INS_VDIVPS = 770
+X86_INS_VDIVSD = 771
+X86_INS_VDIVSS = 772
+X86_INS_VDPPD = 773
+X86_INS_VDPPS = 774
+X86_INS_VERR = 775
+X86_INS_VERW = 776
+X86_INS_VEXP2PD = 777
+X86_INS_VEXP2PS = 778
+X86_INS_VEXPANDPD = 779
+X86_INS_VEXPANDPS = 780
+X86_INS_VEXTRACTF128 = 781
+X86_INS_VEXTRACTF32X4 = 782
+X86_INS_VEXTRACTF64X4 = 783
+X86_INS_VEXTRACTI128 = 784
+X86_INS_VEXTRACTI32X4 = 785
+X86_INS_VEXTRACTI64X4 = 786
+X86_INS_VEXTRACTPS = 787
+X86_INS_VFMADD132PD = 788
+X86_INS_VFMADD132PS = 789
+X86_INS_VFMADDPD = 790
+X86_INS_VFMADD213PD = 791
+X86_INS_VFMADD231PD = 792
+X86_INS_VFMADDPS = 793
+X86_INS_VFMADD213PS = 794
+X86_INS_VFMADD231PS = 795
+X86_INS_VFMADDSD = 796
+X86_INS_VFMADD213SD = 797
+X86_INS_VFMADD132SD = 798
+X86_INS_VFMADD231SD = 799
+X86_INS_VFMADDSS = 800
+X86_INS_VFMADD213SS = 801
+X86_INS_VFMADD132SS = 802
+X86_INS_VFMADD231SS = 803
+X86_INS_VFMADDSUB132PD = 804
+X86_INS_VFMADDSUB132PS = 805
+X86_INS_VFMADDSUBPD = 806
+X86_INS_VFMADDSUB213PD = 807
+X86_INS_VFMADDSUB231PD = 808
+X86_INS_VFMADDSUBPS = 809
+X86_INS_VFMADDSUB213PS = 810
+X86_INS_VFMADDSUB231PS = 811
+X86_INS_VFMSUB132PD = 812
+X86_INS_VFMSUB132PS = 813
+X86_INS_VFMSUBADD132PD = 814
+X86_INS_VFMSUBADD132PS = 815
+X86_INS_VFMSUBADDPD = 816
+X86_INS_VFMSUBADD213PD = 817
+X86_INS_VFMSUBADD231PD = 818
+X86_INS_VFMSUBADDPS = 819
+X86_INS_VFMSUBADD213PS = 820
+X86_INS_VFMSUBADD231PS = 821
+X86_INS_VFMSUBPD = 822
+X86_INS_VFMSUB213PD = 823
+X86_INS_VFMSUB231PD = 824
+X86_INS_VFMSUBPS = 825
+X86_INS_VFMSUB213PS = 826
+X86_INS_VFMSUB231PS = 827
+X86_INS_VFMSUBSD = 828
+X86_INS_VFMSUB213SD = 829
+X86_INS_VFMSUB132SD = 830
+X86_INS_VFMSUB231SD = 831
+X86_INS_VFMSUBSS = 832
+X86_INS_VFMSUB213SS = 833
+X86_INS_VFMSUB132SS = 834
+X86_INS_VFMSUB231SS = 835
+X86_INS_VFNMADD132PD = 836
+X86_INS_VFNMADD132PS = 837
+X86_INS_VFNMADDPD = 838
+X86_INS_VFNMADD213PD = 839
+X86_INS_VFNMADD231PD = 840
+X86_INS_VFNMADDPS = 841
+X86_INS_VFNMADD213PS = 842
+X86_INS_VFNMADD231PS = 843
+X86_INS_VFNMADDSD = 844
+X86_INS_VFNMADD213SD = 845
+X86_INS_VFNMADD132SD = 846
+X86_INS_VFNMADD231SD = 847
+X86_INS_VFNMADDSS = 848
+X86_INS_VFNMADD213SS = 849
+X86_INS_VFNMADD132SS = 850
+X86_INS_VFNMADD231SS = 851
+X86_INS_VFNMSUB132PD = 852
+X86_INS_VFNMSUB132PS = 853
+X86_INS_VFNMSUBPD = 854
+X86_INS_VFNMSUB213PD = 855
+X86_INS_VFNMSUB231PD = 856
+X86_INS_VFNMSUBPS = 857
+X86_INS_VFNMSUB213PS = 858
+X86_INS_VFNMSUB231PS = 859
+X86_INS_VFNMSUBSD = 860
+X86_INS_VFNMSUB213SD = 861
+X86_INS_VFNMSUB132SD = 862
+X86_INS_VFNMSUB231SD = 863
+X86_INS_VFNMSUBSS = 864
+X86_INS_VFNMSUB213SS = 865
+X86_INS_VFNMSUB132SS = 866
+X86_INS_VFNMSUB231SS = 867
+X86_INS_VFRCZPD = 868
+X86_INS_VFRCZPS = 869
+X86_INS_VFRCZSD = 870
+X86_INS_VFRCZSS = 871
+X86_INS_VORPD = 872
+X86_INS_VORPS = 873
+X86_INS_VXORPD = 874
+X86_INS_VXORPS = 875
+X86_INS_VGATHERDPD = 876
+X86_INS_VGATHERDPS = 877
+X86_INS_VGATHERPF0DPD = 878
+X86_INS_VGATHERPF0DPS = 879
+X86_INS_VGATHERPF0QPD = 880
+X86_INS_VGATHERPF0QPS = 881
+X86_INS_VGATHERPF1DPD = 882
+X86_INS_VGATHERPF1DPS = 883
+X86_INS_VGATHERPF1QPD = 884
+X86_INS_VGATHERPF1QPS = 885
+X86_INS_VGATHERQPD = 886
+X86_INS_VGATHERQPS = 887
+X86_INS_VHADDPD = 888
+X86_INS_VHADDPS = 889
+X86_INS_VHSUBPD = 890
+X86_INS_VHSUBPS = 891
+X86_INS_VINSERTF128 = 892
+X86_INS_VINSERTF32X4 = 893
+X86_INS_VINSERTF32X8 = 894
+X86_INS_VINSERTF64X2 = 895
+X86_INS_VINSERTF64X4 = 896
+X86_INS_VINSERTI128 = 897
+X86_INS_VINSERTI32X4 = 898
+X86_INS_VINSERTI32X8 = 899
+X86_INS_VINSERTI64X2 = 900
+X86_INS_VINSERTI64X4 = 901
+X86_INS_VINSERTPS = 902
+X86_INS_VLDDQU = 903
+X86_INS_VLDMXCSR = 904
+X86_INS_VMASKMOVDQU = 905
+X86_INS_VMASKMOVPD = 906
+X86_INS_VMASKMOVPS = 907
+X86_INS_VMAXPD = 908
+X86_INS_VMAXPS = 909
+X86_INS_VMAXSD = 910
+X86_INS_VMAXSS = 911
+X86_INS_VMCALL = 912
+X86_INS_VMCLEAR = 913
+X86_INS_VMFUNC = 914
+X86_INS_VMINPD = 915
+X86_INS_VMINPS = 916
+X86_INS_VMINSD = 917
+X86_INS_VMINSS = 918
+X86_INS_VMLAUNCH = 919
+X86_INS_VMLOAD = 920
+X86_INS_VMMCALL = 921
+X86_INS_VMOVQ = 922
+X86_INS_VMOVDDUP = 923
+X86_INS_VMOVD = 924
+X86_INS_VMOVDQA32 = 925
+X86_INS_VMOVDQA64 = 926
+X86_INS_VMOVDQA = 927
+X86_INS_VMOVDQU16 = 928
+X86_INS_VMOVDQU32 = 929
+X86_INS_VMOVDQU64 = 930
+X86_INS_VMOVDQU8 = 931
+X86_INS_VMOVDQU = 932
+X86_INS_VMOVHLPS = 933
+X86_INS_VMOVHPD = 934
+X86_INS_VMOVHPS = 935
+X86_INS_VMOVLHPS = 936
+X86_INS_VMOVLPD = 937
+X86_INS_VMOVLPS = 938
+X86_INS_VMOVMSKPD = 939
+X86_INS_VMOVMSKPS = 940
+X86_INS_VMOVNTDQA = 941
+X86_INS_VMOVNTDQ = 942
+X86_INS_VMOVNTPD = 943
+X86_INS_VMOVNTPS = 944
+X86_INS_VMOVSD = 945
+X86_INS_VMOVSHDUP = 946
+X86_INS_VMOVSLDUP = 947
+X86_INS_VMOVSS = 948
+X86_INS_VMOVUPD = 949
+X86_INS_VMOVUPS = 950
+X86_INS_VMPSADBW = 951
+X86_INS_VMPTRLD = 952
+X86_INS_VMPTRST = 953
+X86_INS_VMREAD = 954
+X86_INS_VMRESUME = 955
+X86_INS_VMRUN = 956
+X86_INS_VMSAVE = 957
+X86_INS_VMULPD = 958
+X86_INS_VMULPS = 959
+X86_INS_VMULSD = 960
+X86_INS_VMULSS = 961
+X86_INS_VMWRITE = 962
+X86_INS_VMXOFF = 963
+X86_INS_VMXON = 964
+X86_INS_VPABSB = 965
+X86_INS_VPABSD = 966
+X86_INS_VPABSQ = 967
+X86_INS_VPABSW = 968
+X86_INS_VPACKSSDW = 969
+X86_INS_VPACKSSWB = 970
+X86_INS_VPACKUSDW = 971
+X86_INS_VPACKUSWB = 972
+X86_INS_VPADDB = 973
+X86_INS_VPADDD = 974
+X86_INS_VPADDQ = 975
+X86_INS_VPADDSB = 976
+X86_INS_VPADDSW = 977
+X86_INS_VPADDUSB = 978
+X86_INS_VPADDUSW = 979
+X86_INS_VPADDW = 980
+X86_INS_VPALIGNR = 981
+X86_INS_VPANDD = 982
+X86_INS_VPANDND = 983
+X86_INS_VPANDNQ = 984
+X86_INS_VPANDN = 985
+X86_INS_VPANDQ = 986
+X86_INS_VPAND = 987
+X86_INS_VPAVGB = 988
+X86_INS_VPAVGW = 989
+X86_INS_VPBLENDD = 990
+X86_INS_VPBLENDMB = 991
+X86_INS_VPBLENDMD = 992
+X86_INS_VPBLENDMQ = 993
+X86_INS_VPBLENDMW = 994
+X86_INS_VPBLENDVB = 995
+X86_INS_VPBLENDW = 996
+X86_INS_VPBROADCASTB = 997
+X86_INS_VPBROADCASTD = 998
+X86_INS_VPBROADCASTMB2Q = 999
+X86_INS_VPBROADCASTMW2D = 1000
+X86_INS_VPBROADCASTQ = 1001
+X86_INS_VPBROADCASTW = 1002
+X86_INS_VPCLMULQDQ = 1003
+X86_INS_VPCMOV = 1004
+X86_INS_VPCMPB = 1005
+X86_INS_VPCMPD = 1006
+X86_INS_VPCMPEQB = 1007
+X86_INS_VPCMPEQD = 1008
+X86_INS_VPCMPEQQ = 1009
+X86_INS_VPCMPEQW = 1010
+X86_INS_VPCMPESTRI = 1011
+X86_INS_VPCMPESTRM = 1012
+X86_INS_VPCMPGTB = 1013
+X86_INS_VPCMPGTD = 1014
+X86_INS_VPCMPGTQ = 1015
+X86_INS_VPCMPGTW = 1016
+X86_INS_VPCMPISTRI = 1017
+X86_INS_VPCMPISTRM = 1018
+X86_INS_VPCMPQ = 1019
+X86_INS_VPCMPUB = 1020
+X86_INS_VPCMPUD = 1021
+X86_INS_VPCMPUQ = 1022
+X86_INS_VPCMPUW = 1023
+X86_INS_VPCMPW = 1024
+X86_INS_VPCOMB = 1025
+X86_INS_VPCOMD = 1026
+X86_INS_VPCOMPRESSD = 1027
+X86_INS_VPCOMPRESSQ = 1028
+X86_INS_VPCOMQ = 1029
+X86_INS_VPCOMUB = 1030
+X86_INS_VPCOMUD = 1031
+X86_INS_VPCOMUQ = 1032
+X86_INS_VPCOMUW = 1033
+X86_INS_VPCOMW = 1034
+X86_INS_VPCONFLICTD = 1035
+X86_INS_VPCONFLICTQ = 1036
+X86_INS_VPERM2F128 = 1037
+X86_INS_VPERM2I128 = 1038
+X86_INS_VPERMD = 1039
+X86_INS_VPERMI2D = 1040
+X86_INS_VPERMI2PD = 1041
+X86_INS_VPERMI2PS = 1042
+X86_INS_VPERMI2Q = 1043
+X86_INS_VPERMIL2PD = 1044
+X86_INS_VPERMIL2PS = 1045
+X86_INS_VPERMILPD = 1046
+X86_INS_VPERMILPS = 1047
+X86_INS_VPERMPD = 1048
+X86_INS_VPERMPS = 1049
+X86_INS_VPERMQ = 1050
+X86_INS_VPERMT2D = 1051
+X86_INS_VPERMT2PD = 1052
+X86_INS_VPERMT2PS = 1053
+X86_INS_VPERMT2Q = 1054
+X86_INS_VPEXPANDD = 1055
+X86_INS_VPEXPANDQ = 1056
+X86_INS_VPEXTRB = 1057
+X86_INS_VPEXTRD = 1058
+X86_INS_VPEXTRQ = 1059
+X86_INS_VPEXTRW = 1060
+X86_INS_VPGATHERDD = 1061
+X86_INS_VPGATHERDQ = 1062
+X86_INS_VPGATHERQD = 1063
+X86_INS_VPGATHERQQ = 1064
+X86_INS_VPHADDBD = 1065
+X86_INS_VPHADDBQ = 1066
+X86_INS_VPHADDBW = 1067
+X86_INS_VPHADDDQ = 1068
+X86_INS_VPHADDD = 1069
+X86_INS_VPHADDSW = 1070
+X86_INS_VPHADDUBD = 1071
+X86_INS_VPHADDUBQ = 1072
+X86_INS_VPHADDUBW = 1073
+X86_INS_VPHADDUDQ = 1074
+X86_INS_VPHADDUWD = 1075
+X86_INS_VPHADDUWQ = 1076
+X86_INS_VPHADDWD = 1077
+X86_INS_VPHADDWQ = 1078
+X86_INS_VPHADDW = 1079
+X86_INS_VPHMINPOSUW = 1080
+X86_INS_VPHSUBBW = 1081
+X86_INS_VPHSUBDQ = 1082
+X86_INS_VPHSUBD = 1083
+X86_INS_VPHSUBSW = 1084
+X86_INS_VPHSUBWD = 1085
+X86_INS_VPHSUBW = 1086
+X86_INS_VPINSRB = 1087
+X86_INS_VPINSRD = 1088
+X86_INS_VPINSRQ = 1089
+X86_INS_VPINSRW = 1090
+X86_INS_VPLZCNTD = 1091
+X86_INS_VPLZCNTQ = 1092
+X86_INS_VPMACSDD = 1093
+X86_INS_VPMACSDQH = 1094
+X86_INS_VPMACSDQL = 1095
+X86_INS_VPMACSSDD = 1096
+X86_INS_VPMACSSDQH = 1097
+X86_INS_VPMACSSDQL = 1098
+X86_INS_VPMACSSWD = 1099
+X86_INS_VPMACSSWW = 1100
+X86_INS_VPMACSWD = 1101
+X86_INS_VPMACSWW = 1102
+X86_INS_VPMADCSSWD = 1103
+X86_INS_VPMADCSWD = 1104
+X86_INS_VPMADDUBSW = 1105
+X86_INS_VPMADDWD = 1106
+X86_INS_VPMASKMOVD = 1107
+X86_INS_VPMASKMOVQ = 1108
+X86_INS_VPMAXSB = 1109
+X86_INS_VPMAXSD = 1110
+X86_INS_VPMAXSQ = 1111
+X86_INS_VPMAXSW = 1112
+X86_INS_VPMAXUB = 1113
+X86_INS_VPMAXUD = 1114
+X86_INS_VPMAXUQ = 1115
+X86_INS_VPMAXUW = 1116
+X86_INS_VPMINSB = 1117
+X86_INS_VPMINSD = 1118
+X86_INS_VPMINSQ = 1119
+X86_INS_VPMINSW = 1120
+X86_INS_VPMINUB = 1121
+X86_INS_VPMINUD = 1122
+X86_INS_VPMINUQ = 1123
+X86_INS_VPMINUW = 1124
+X86_INS_VPMOVDB = 1125
+X86_INS_VPMOVDW = 1126
+X86_INS_VPMOVM2B = 1127
+X86_INS_VPMOVM2D = 1128
+X86_INS_VPMOVM2Q = 1129
+X86_INS_VPMOVM2W = 1130
+X86_INS_VPMOVMSKB = 1131
+X86_INS_VPMOVQB = 1132
+X86_INS_VPMOVQD = 1133
+X86_INS_VPMOVQW = 1134
+X86_INS_VPMOVSDB = 1135
+X86_INS_VPMOVSDW = 1136
+X86_INS_VPMOVSQB = 1137
+X86_INS_VPMOVSQD = 1138
+X86_INS_VPMOVSQW = 1139
+X86_INS_VPMOVSXBD = 1140
+X86_INS_VPMOVSXBQ = 1141
+X86_INS_VPMOVSXBW = 1142
+X86_INS_VPMOVSXDQ = 1143
+X86_INS_VPMOVSXWD = 1144
+X86_INS_VPMOVSXWQ = 1145
+X86_INS_VPMOVUSDB = 1146
+X86_INS_VPMOVUSDW = 1147
+X86_INS_VPMOVUSQB = 1148
+X86_INS_VPMOVUSQD = 1149
+X86_INS_VPMOVUSQW = 1150
+X86_INS_VPMOVZXBD = 1151
+X86_INS_VPMOVZXBQ = 1152
+X86_INS_VPMOVZXBW = 1153
+X86_INS_VPMOVZXDQ = 1154
+X86_INS_VPMOVZXWD = 1155
+X86_INS_VPMOVZXWQ = 1156
+X86_INS_VPMULDQ = 1157
+X86_INS_VPMULHRSW = 1158
+X86_INS_VPMULHUW = 1159
+X86_INS_VPMULHW = 1160
+X86_INS_VPMULLD = 1161
+X86_INS_VPMULLQ = 1162
+X86_INS_VPMULLW = 1163
+X86_INS_VPMULUDQ = 1164
+X86_INS_VPORD = 1165
+X86_INS_VPORQ = 1166
+X86_INS_VPOR = 1167
+X86_INS_VPPERM = 1168
+X86_INS_VPROTB = 1169
+X86_INS_VPROTD = 1170
+X86_INS_VPROTQ = 1171
+X86_INS_VPROTW = 1172
+X86_INS_VPSADBW = 1173
+X86_INS_VPSCATTERDD = 1174
+X86_INS_VPSCATTERDQ = 1175
+X86_INS_VPSCATTERQD = 1176
+X86_INS_VPSCATTERQQ = 1177
+X86_INS_VPSHAB = 1178
+X86_INS_VPSHAD = 1179
+X86_INS_VPSHAQ = 1180
+X86_INS_VPSHAW = 1181
+X86_INS_VPSHLB = 1182
+X86_INS_VPSHLD = 1183
+X86_INS_VPSHLQ = 1184
+X86_INS_VPSHLW = 1185
+X86_INS_VPSHUFB = 1186
+X86_INS_VPSHUFD = 1187
+X86_INS_VPSHUFHW = 1188
+X86_INS_VPSHUFLW = 1189
+X86_INS_VPSIGNB = 1190
+X86_INS_VPSIGND = 1191
+X86_INS_VPSIGNW = 1192
+X86_INS_VPSLLDQ = 1193
+X86_INS_VPSLLD = 1194
+X86_INS_VPSLLQ = 1195
+X86_INS_VPSLLVD = 1196
+X86_INS_VPSLLVQ = 1197
+X86_INS_VPSLLW = 1198
+X86_INS_VPSRAD = 1199
+X86_INS_VPSRAQ = 1200
+X86_INS_VPSRAVD = 1201
+X86_INS_VPSRAVQ = 1202
+X86_INS_VPSRAW = 1203
+X86_INS_VPSRLDQ = 1204
+X86_INS_VPSRLD = 1205
+X86_INS_VPSRLQ = 1206
+X86_INS_VPSRLVD = 1207
+X86_INS_VPSRLVQ = 1208
+X86_INS_VPSRLW = 1209
+X86_INS_VPSUBB = 1210
+X86_INS_VPSUBD = 1211
+X86_INS_VPSUBQ = 1212
+X86_INS_VPSUBSB = 1213
+X86_INS_VPSUBSW = 1214
+X86_INS_VPSUBUSB = 1215
+X86_INS_VPSUBUSW = 1216
+X86_INS_VPSUBW = 1217
+X86_INS_VPTESTMD = 1218
+X86_INS_VPTESTMQ = 1219
+X86_INS_VPTESTNMD = 1220
+X86_INS_VPTESTNMQ = 1221
+X86_INS_VPTEST = 1222
+X86_INS_VPUNPCKHBW = 1223
+X86_INS_VPUNPCKHDQ = 1224
+X86_INS_VPUNPCKHQDQ = 1225
+X86_INS_VPUNPCKHWD = 1226
+X86_INS_VPUNPCKLBW = 1227
+X86_INS_VPUNPCKLDQ = 1228
+X86_INS_VPUNPCKLQDQ = 1229
+X86_INS_VPUNPCKLWD = 1230
+X86_INS_VPXORD = 1231
+X86_INS_VPXORQ = 1232
+X86_INS_VPXOR = 1233
+X86_INS_VRCP14PD = 1234
+X86_INS_VRCP14PS = 1235
+X86_INS_VRCP14SD = 1236
+X86_INS_VRCP14SS = 1237
+X86_INS_VRCP28PD = 1238
+X86_INS_VRCP28PS = 1239
+X86_INS_VRCP28SD = 1240
+X86_INS_VRCP28SS = 1241
+X86_INS_VRCPPS = 1242
+X86_INS_VRCPSS = 1243
+X86_INS_VRNDSCALEPD = 1244
+X86_INS_VRNDSCALEPS = 1245
+X86_INS_VRNDSCALESD = 1246
+X86_INS_VRNDSCALESS = 1247
+X86_INS_VROUNDPD = 1248
+X86_INS_VROUNDPS = 1249
+X86_INS_VROUNDSD = 1250
+X86_INS_VROUNDSS = 1251
+X86_INS_VRSQRT14PD = 1252
+X86_INS_VRSQRT14PS = 1253
+X86_INS_VRSQRT14SD = 1254
+X86_INS_VRSQRT14SS = 1255
+X86_INS_VRSQRT28PD = 1256
+X86_INS_VRSQRT28PS = 1257
+X86_INS_VRSQRT28SD = 1258
+X86_INS_VRSQRT28SS = 1259
+X86_INS_VRSQRTPS = 1260
+X86_INS_VRSQRTSS = 1261
+X86_INS_VSCATTERDPD = 1262
+X86_INS_VSCATTERDPS = 1263
+X86_INS_VSCATTERPF0DPD = 1264
+X86_INS_VSCATTERPF0DPS = 1265
+X86_INS_VSCATTERPF0QPD = 1266
+X86_INS_VSCATTERPF0QPS = 1267
+X86_INS_VSCATTERPF1DPD = 1268
+X86_INS_VSCATTERPF1DPS = 1269
+X86_INS_VSCATTERPF1QPD = 1270
+X86_INS_VSCATTERPF1QPS = 1271
+X86_INS_VSCATTERQPD = 1272
+X86_INS_VSCATTERQPS = 1273
+X86_INS_VSHUFPD = 1274
+X86_INS_VSHUFPS = 1275
+X86_INS_VSQRTPD = 1276
+X86_INS_VSQRTPS = 1277
+X86_INS_VSQRTSD = 1278
+X86_INS_VSQRTSS = 1279
+X86_INS_VSTMXCSR = 1280
+X86_INS_VSUBPD = 1281
+X86_INS_VSUBPS = 1282
+X86_INS_VSUBSD = 1283
+X86_INS_VSUBSS = 1284
+X86_INS_VTESTPD = 1285
+X86_INS_VTESTPS = 1286
+X86_INS_VUNPCKHPD = 1287
+X86_INS_VUNPCKHPS = 1288
+X86_INS_VUNPCKLPD = 1289
+X86_INS_VUNPCKLPS = 1290
+X86_INS_VZEROALL = 1291
+X86_INS_VZEROUPPER = 1292
+X86_INS_WAIT = 1293
+X86_INS_WBINVD = 1294
+X86_INS_WRFSBASE = 1295
+X86_INS_WRGSBASE = 1296
+X86_INS_WRMSR = 1297
+X86_INS_XABORT = 1298
+X86_INS_XACQUIRE = 1299
+X86_INS_XBEGIN = 1300
+X86_INS_XCHG = 1301
+X86_INS_XCRYPTCBC = 1302
+X86_INS_XCRYPTCFB = 1303
+X86_INS_XCRYPTCTR = 1304
+X86_INS_XCRYPTECB = 1305
+X86_INS_XCRYPTOFB = 1306
+X86_INS_XEND = 1307
+X86_INS_XGETBV = 1308
+X86_INS_XLATB = 1309
+X86_INS_XRELEASE = 1310
+X86_INS_XRSTOR = 1311
+X86_INS_XRSTOR64 = 1312
+X86_INS_XRSTORS = 1313
+X86_INS_XRSTORS64 = 1314
+X86_INS_XSAVE = 1315
+X86_INS_XSAVE64 = 1316
+X86_INS_XSAVEC = 1317
+X86_INS_XSAVEC64 = 1318
+X86_INS_XSAVEOPT = 1319
+X86_INS_XSAVEOPT64 = 1320
+X86_INS_XSAVES = 1321
+X86_INS_XSAVES64 = 1322
+X86_INS_XSETBV = 1323
+X86_INS_XSHA1 = 1324
+X86_INS_XSHA256 = 1325
+X86_INS_XSTORE = 1326
+X86_INS_XTEST = 1327
+X86_INS_FDISI8087_NOP = 1328
+X86_INS_FENI8087_NOP = 1329
+X86_INS_CMPSS = 1330
+X86_INS_CMPEQSS = 1331
+X86_INS_CMPLTSS = 1332
+X86_INS_CMPLESS = 1333
+X86_INS_CMPUNORDSS = 1334
+X86_INS_CMPNEQSS = 1335
+X86_INS_CMPNLTSS = 1336
+X86_INS_CMPNLESS = 1337
+X86_INS_CMPORDSS = 1338
+X86_INS_CMPSD = 1339
+X86_INS_CMPEQSD = 1340
+X86_INS_CMPLTSD = 1341
+X86_INS_CMPLESD = 1342
+X86_INS_CMPUNORDSD = 1343
+X86_INS_CMPNEQSD = 1344
+X86_INS_CMPNLTSD = 1345
+X86_INS_CMPNLESD = 1346
+X86_INS_CMPORDSD = 1347
+X86_INS_CMPPS = 1348
+X86_INS_CMPEQPS = 1349
+X86_INS_CMPLTPS = 1350
+X86_INS_CMPLEPS = 1351
+X86_INS_CMPUNORDPS = 1352
+X86_INS_CMPNEQPS = 1353
+X86_INS_CMPNLTPS = 1354
+X86_INS_CMPNLEPS = 1355
+X86_INS_CMPORDPS = 1356
+X86_INS_CMPPD = 1357
+X86_INS_CMPEQPD = 1358
+X86_INS_CMPLTPD = 1359
+X86_INS_CMPLEPD = 1360
+X86_INS_CMPUNORDPD = 1361
+X86_INS_CMPNEQPD = 1362
+X86_INS_CMPNLTPD = 1363
+X86_INS_CMPNLEPD = 1364
+X86_INS_CMPORDPD = 1365
+X86_INS_VCMPSS = 1366
+X86_INS_VCMPEQSS = 1367
+X86_INS_VCMPLTSS = 1368
+X86_INS_VCMPLESS = 1369
+X86_INS_VCMPUNORDSS = 1370
+X86_INS_VCMPNEQSS = 1371
+X86_INS_VCMPNLTSS = 1372
+X86_INS_VCMPNLESS = 1373
+X86_INS_VCMPORDSS = 1374
+X86_INS_VCMPEQ_UQSS = 1375
+X86_INS_VCMPNGESS = 1376
+X86_INS_VCMPNGTSS = 1377
+X86_INS_VCMPFALSESS = 1378
+X86_INS_VCMPNEQ_OQSS = 1379
+X86_INS_VCMPGESS = 1380
+X86_INS_VCMPGTSS = 1381
+X86_INS_VCMPTRUESS = 1382
+X86_INS_VCMPEQ_OSSS = 1383
+X86_INS_VCMPLT_OQSS = 1384
+X86_INS_VCMPLE_OQSS = 1385
+X86_INS_VCMPUNORD_SSS = 1386
+X86_INS_VCMPNEQ_USSS = 1387
+X86_INS_VCMPNLT_UQSS = 1388
+X86_INS_VCMPNLE_UQSS = 1389
+X86_INS_VCMPORD_SSS = 1390
+X86_INS_VCMPEQ_USSS = 1391
+X86_INS_VCMPNGE_UQSS = 1392
+X86_INS_VCMPNGT_UQSS = 1393
+X86_INS_VCMPFALSE_OSSS = 1394
+X86_INS_VCMPNEQ_OSSS = 1395
+X86_INS_VCMPGE_OQSS = 1396
+X86_INS_VCMPGT_OQSS = 1397
+X86_INS_VCMPTRUE_USSS = 1398
+X86_INS_VCMPSD = 1399
+X86_INS_VCMPEQSD = 1400
+X86_INS_VCMPLTSD = 1401
+X86_INS_VCMPLESD = 1402
+X86_INS_VCMPUNORDSD = 1403
+X86_INS_VCMPNEQSD = 1404
+X86_INS_VCMPNLTSD = 1405
+X86_INS_VCMPNLESD = 1406
+X86_INS_VCMPORDSD = 1407
+X86_INS_VCMPEQ_UQSD = 1408
+X86_INS_VCMPNGESD = 1409
+X86_INS_VCMPNGTSD = 1410
+X86_INS_VCMPFALSESD = 1411
+X86_INS_VCMPNEQ_OQSD = 1412
+X86_INS_VCMPGESD = 1413
+X86_INS_VCMPGTSD = 1414
+X86_INS_VCMPTRUESD = 1415
+X86_INS_VCMPEQ_OSSD = 1416
+X86_INS_VCMPLT_OQSD = 1417
+X86_INS_VCMPLE_OQSD = 1418
+X86_INS_VCMPUNORD_SSD = 1419
+X86_INS_VCMPNEQ_USSD = 1420
+X86_INS_VCMPNLT_UQSD = 1421
+X86_INS_VCMPNLE_UQSD = 1422
+X86_INS_VCMPORD_SSD = 1423
+X86_INS_VCMPEQ_USSD = 1424
+X86_INS_VCMPNGE_UQSD = 1425
+X86_INS_VCMPNGT_UQSD = 1426
+X86_INS_VCMPFALSE_OSSD = 1427
+X86_INS_VCMPNEQ_OSSD = 1428
+X86_INS_VCMPGE_OQSD = 1429
+X86_INS_VCMPGT_OQSD = 1430
+X86_INS_VCMPTRUE_USSD = 1431
+X86_INS_VCMPPS = 1432
+X86_INS_VCMPEQPS = 1433
+X86_INS_VCMPLTPS = 1434
+X86_INS_VCMPLEPS = 1435
+X86_INS_VCMPUNORDPS = 1436
+X86_INS_VCMPNEQPS = 1437
+X86_INS_VCMPNLTPS = 1438
+X86_INS_VCMPNLEPS = 1439
+X86_INS_VCMPORDPS = 1440
+X86_INS_VCMPEQ_UQPS = 1441
+X86_INS_VCMPNGEPS = 1442
+X86_INS_VCMPNGTPS = 1443
+X86_INS_VCMPFALSEPS = 1444
+X86_INS_VCMPNEQ_OQPS = 1445
+X86_INS_VCMPGEPS = 1446
+X86_INS_VCMPGTPS = 1447
+X86_INS_VCMPTRUEPS = 1448
+X86_INS_VCMPEQ_OSPS = 1449
+X86_INS_VCMPLT_OQPS = 1450
+X86_INS_VCMPLE_OQPS = 1451
+X86_INS_VCMPUNORD_SPS = 1452
+X86_INS_VCMPNEQ_USPS = 1453
+X86_INS_VCMPNLT_UQPS = 1454
+X86_INS_VCMPNLE_UQPS = 1455
+X86_INS_VCMPORD_SPS = 1456
+X86_INS_VCMPEQ_USPS = 1457
+X86_INS_VCMPNGE_UQPS = 1458
+X86_INS_VCMPNGT_UQPS = 1459
+X86_INS_VCMPFALSE_OSPS = 1460
+X86_INS_VCMPNEQ_OSPS = 1461
+X86_INS_VCMPGE_OQPS = 1462
+X86_INS_VCMPGT_OQPS = 1463
+X86_INS_VCMPTRUE_USPS = 1464
+X86_INS_VCMPPD = 1465
+X86_INS_VCMPEQPD = 1466
+X86_INS_VCMPLTPD = 1467
+X86_INS_VCMPLEPD = 1468
+X86_INS_VCMPUNORDPD = 1469
+X86_INS_VCMPNEQPD = 1470
+X86_INS_VCMPNLTPD = 1471
+X86_INS_VCMPNLEPD = 1472
+X86_INS_VCMPORDPD = 1473
+X86_INS_VCMPEQ_UQPD = 1474
+X86_INS_VCMPNGEPD = 1475
+X86_INS_VCMPNGTPD = 1476
+X86_INS_VCMPFALSEPD = 1477
+X86_INS_VCMPNEQ_OQPD = 1478
+X86_INS_VCMPGEPD = 1479
+X86_INS_VCMPGTPD = 1480
+X86_INS_VCMPTRUEPD = 1481
+X86_INS_VCMPEQ_OSPD = 1482
+X86_INS_VCMPLT_OQPD = 1483
+X86_INS_VCMPLE_OQPD = 1484
+X86_INS_VCMPUNORD_SPD = 1485
+X86_INS_VCMPNEQ_USPD = 1486
+X86_INS_VCMPNLT_UQPD = 1487
+X86_INS_VCMPNLE_UQPD = 1488
+X86_INS_VCMPORD_SPD = 1489
+X86_INS_VCMPEQ_USPD = 1490
+X86_INS_VCMPNGE_UQPD = 1491
+X86_INS_VCMPNGT_UQPD = 1492
+X86_INS_VCMPFALSE_OSPD = 1493
+X86_INS_VCMPNEQ_OSPD = 1494
+X86_INS_VCMPGE_OQPD = 1495
+X86_INS_VCMPGT_OQPD = 1496
+X86_INS_VCMPTRUE_USPD = 1497
+X86_INS_ENDING = 1498
# Group of X86 instructions
diff --git a/bindings/python/capstone/xcore.py b/bindings/python/capstone/xcore.py
index aac7f6c..ec95b78 100644
--- a/bindings/python/capstone/xcore.py
+++ b/bindings/python/capstone/xcore.py
@@ -1,6 +1,7 @@
# Capstone Python bindings, by Nguyen Anh Quynnh <aquynh@gmail.com>
-import ctypes, copy
+import ctypes
+from . import copy_ctypes_list
from .xcore_const import *
# define the API
@@ -45,5 +46,5 @@
)
def get_arch_info(a):
- return (copy.deepcopy(a.operands[:a.op_count]))
+ return (copy_ctypes_list(a.operands[:a.op_count]))
diff --git a/bindings/python/test_arm.py b/bindings/python/test_arm.py
index 0f3a0eb..17742ec 100755
--- a/bindings/python/test_arm.py
+++ b/bindings/python/test_arm.py
@@ -20,8 +20,8 @@
(CS_ARCH_ARM, CS_MODE_THUMB, THUMB_CODE, "Thumb", None),
(CS_ARCH_ARM, CS_MODE_THUMB, ARM_CODE2, "Thumb-mixed", None),
(CS_ARCH_ARM, CS_MODE_THUMB, THUMB_CODE2, "Thumb-2 & register named with numbers", CS_OPT_SYNTAX_NOREGNAME),
- (CS_ARCH_ARM, CS_MODE_THUMB + CS_MODE_MCLASS, THUMB_MCLASS, "Thumb-MClass", 0),
- (CS_ARCH_ARM, CS_MODE_ARM + CS_MODE_V8, ARMV8, "Arm-V8", 0),
+ (CS_ARCH_ARM, CS_MODE_THUMB + CS_MODE_MCLASS, THUMB_MCLASS, "Thumb-MClass", None),
+ (CS_ARCH_ARM, CS_MODE_ARM + CS_MODE_V8, ARMV8, "Arm-V8", None),
)
@@ -137,7 +137,7 @@
try:
md = Cs(arch, mode)
- if syntax:
+ if syntax is not None:
md.syntax = syntax
md.detail = True
for insn in md.disasm(code, 0x1000):
diff --git a/bindings/python/test_basic.py b/bindings/python/test_basic.py
index 6b63c91..269a6c5 100755
--- a/bindings/python/test_basic.py
+++ b/bindings/python/test_basic.py
@@ -31,31 +31,33 @@
SPARCV9_CODE = b"\x81\xa8\x0a\x24\x89\xa0\x10\x20\x89\xa0\x1a\x60\x89\xa0\x00\xe0"
SYSZ_CODE = b"\xed\x00\x00\x00\x00\x1a\x5a\x0f\x1f\xff\xc2\x09\x80\x00\x00\x00\x07\xf7\xeb\x2a\xff\xff\x7f\x57\xe3\x01\xff\xff\x7f\x57\xeb\x00\xf0\x00\x00\x24\xb2\x4f\x00\x78"
XCORE_CODE = b"\xfe\x0f\xfe\x17\x13\x17\xc6\xfe\xec\x17\x97\xf8\xec\x4f\x1f\xfd\xec\x37\x07\xf2\x45\x5b\xf9\xfa\x02\x06\x1b\x10"
+M68K_CODE = b"\xd4\x40\x87\x5a\x4e\x71\x02\xb4\xc0\xde\xc0\xde\x5c\x00\x1d\x80\x71\x12\x01\x23\xf2\x3c\x44\x22\x40\x49\x0e\x56\x54\xc5\xf2\x3c\x44\x00\x44\x7a\x00\x00\xf2\x00\x0a\x28\x4E\xB9\x00\x00\x00\x12\x4E\x75"
all_tests = (
- (CS_ARCH_X86, CS_MODE_16, X86_CODE16, "X86 16bit (Intel syntax)", 0),
+ (CS_ARCH_X86, CS_MODE_16, X86_CODE16, "X86 16bit (Intel syntax)", None),
(CS_ARCH_X86, CS_MODE_32, X86_CODE32, "X86 32bit (ATT syntax)", CS_OPT_SYNTAX_ATT),
- (CS_ARCH_X86, CS_MODE_32, X86_CODE32, "X86 32 (Intel syntax)", 0),
+ (CS_ARCH_X86, CS_MODE_32, X86_CODE32, "X86 32 (Intel syntax)", None),
(CS_ARCH_X86, CS_MODE_32, X86_CODE32, "X86 32 (MASM syntax)", CS_OPT_SYNTAX_MASM),
- (CS_ARCH_X86, CS_MODE_64, X86_CODE64, "X86 64 (Intel syntax)", 0),
- (CS_ARCH_ARM, CS_MODE_ARM, ARM_CODE, "ARM", 0),
- (CS_ARCH_ARM, CS_MODE_THUMB, THUMB_CODE2, "THUMB-2", 0),
- (CS_ARCH_ARM, CS_MODE_ARM, ARM_CODE2, "ARM: Cortex-A15 + NEON", 0),
- (CS_ARCH_ARM, CS_MODE_THUMB, THUMB_CODE, "THUMB", 0),
- (CS_ARCH_ARM, CS_MODE_THUMB + CS_MODE_MCLASS, THUMB_MCLASS, "Thumb-MClass", 0),
- (CS_ARCH_ARM, CS_MODE_ARM + CS_MODE_V8, ARMV8, "Arm-V8", 0),
- (CS_ARCH_MIPS, CS_MODE_MIPS32 + CS_MODE_BIG_ENDIAN, MIPS_CODE, "MIPS-32 (Big-endian)", 0),
- (CS_ARCH_MIPS, CS_MODE_MIPS64 + CS_MODE_LITTLE_ENDIAN, MIPS_CODE2, "MIPS-64-EL (Little-endian)", 0),
- (CS_ARCH_MIPS, CS_MODE_MIPS32R6 + CS_MODE_MICRO + CS_MODE_BIG_ENDIAN, MIPS_32R6M, "MIPS-32R6 | Micro (Big-endian)", 0),
- (CS_ARCH_MIPS, CS_MODE_MIPS32R6 + CS_MODE_BIG_ENDIAN, MIPS_32R6, "MIPS-32R6 (Big-endian)", 0),
- (CS_ARCH_ARM64, CS_MODE_ARM, ARM64_CODE, "ARM-64", 0),
- (CS_ARCH_PPC, CS_MODE_BIG_ENDIAN, PPC_CODE, "PPC-64", 0),
+ (CS_ARCH_X86, CS_MODE_64, X86_CODE64, "X86 64 (Intel syntax)", None),
+ (CS_ARCH_ARM, CS_MODE_ARM, ARM_CODE, "ARM", None),
+ (CS_ARCH_ARM, CS_MODE_THUMB, THUMB_CODE2, "THUMB-2", None),
+ (CS_ARCH_ARM, CS_MODE_ARM, ARM_CODE2, "ARM: Cortex-A15 + NEON", None),
+ (CS_ARCH_ARM, CS_MODE_THUMB, THUMB_CODE, "THUMB", None),
+ (CS_ARCH_ARM, CS_MODE_THUMB + CS_MODE_MCLASS, THUMB_MCLASS, "Thumb-MClass", None),
+ (CS_ARCH_ARM, CS_MODE_ARM + CS_MODE_V8, ARMV8, "Arm-V8", None),
+ (CS_ARCH_MIPS, CS_MODE_MIPS32 + CS_MODE_BIG_ENDIAN, MIPS_CODE, "MIPS-32 (Big-endian)", None),
+ (CS_ARCH_MIPS, CS_MODE_MIPS64 + CS_MODE_LITTLE_ENDIAN, MIPS_CODE2, "MIPS-64-EL (Little-endian)", None),
+ (CS_ARCH_MIPS, CS_MODE_MIPS32R6 + CS_MODE_MICRO + CS_MODE_BIG_ENDIAN, MIPS_32R6M, "MIPS-32R6 | Micro (Big-endian)", None),
+ (CS_ARCH_MIPS, CS_MODE_MIPS32R6 + CS_MODE_BIG_ENDIAN, MIPS_32R6, "MIPS-32R6 (Big-endian)", None),
+ (CS_ARCH_ARM64, CS_MODE_ARM, ARM64_CODE, "ARM-64", None),
+ (CS_ARCH_PPC, CS_MODE_BIG_ENDIAN, PPC_CODE, "PPC-64", None),
(CS_ARCH_PPC, CS_MODE_BIG_ENDIAN, PPC_CODE, "PPC-64, print register with number only", CS_OPT_SYNTAX_NOREGNAME),
(CS_ARCH_PPC, CS_MODE_BIG_ENDIAN + CS_MODE_QPX, PPC_CODE2, "PPC-64 + QPX", CS_OPT_SYNTAX_NOREGNAME),
- (CS_ARCH_SPARC, CS_MODE_BIG_ENDIAN, SPARC_CODE, "Sparc", 0),
- (CS_ARCH_SPARC, CS_MODE_BIG_ENDIAN + CS_MODE_V9, SPARCV9_CODE, "SparcV9", 0),
- (CS_ARCH_SYSZ, 0, SYSZ_CODE, "SystemZ", 0),
- (CS_ARCH_XCORE, 0, XCORE_CODE, "XCore", 0),
+ (CS_ARCH_SPARC, CS_MODE_BIG_ENDIAN, SPARC_CODE, "Sparc", None),
+ (CS_ARCH_SPARC, CS_MODE_BIG_ENDIAN + CS_MODE_V9, SPARCV9_CODE, "SparcV9", None),
+ (CS_ARCH_SYSZ, 0, SYSZ_CODE, "SystemZ", None),
+ (CS_ARCH_XCORE, 0, XCORE_CODE, "XCore", None),
+ (CS_ARCH_M68K, CS_MODE_BIG_ENDIAN | CS_MODE_M68K_040, M68K_CODE, "M68K (68040)", None),
)
# ## Test cs_disasm_quick()
@@ -81,7 +83,7 @@
try:
md = Cs(arch, mode)
- if syntax != 0:
+ if syntax is not None:
md.syntax = syntax
for insn in md.disasm(code, 0x1000):
diff --git a/bindings/python/test_detail.py b/bindings/python/test_detail.py
index 4f8ddbd..a06c63e 100755
--- a/bindings/python/test_detail.py
+++ b/bindings/python/test_detail.py
@@ -25,29 +25,31 @@
SPARCV9_CODE = b"\x81\xa8\x0a\x24\x89\xa0\x10\x20\x89\xa0\x1a\x60\x89\xa0\x00\xe0"
SYSZ_CODE = b"\xed\x00\x00\x00\x00\x1a\x5a\x0f\x1f\xff\xc2\x09\x80\x00\x00\x00\x07\xf7\xeb\x2a\xff\xff\x7f\x57\xe3\x01\xff\xff\x7f\x57\xeb\x00\xf0\x00\x00\x24\xb2\x4f\x00\x78"
XCORE_CODE = b"\xfe\x0f\xfe\x17\x13\x17\xc6\xfe\xec\x17\x97\xf8\xec\x4f\x1f\xfd\xec\x37\x07\xf2\x45\x5b\xf9\xfa\x02\x06\x1b\x10"
+M68K_CODE = b"\xd4\x40\x87\x5a\x4e\x71\x02\xb4\xc0\xde\xc0\xde\x5c\x00\x1d\x80\x71\x12\x01\x23\xf2\x3c\x44\x22\x40\x49\x0e\x56\x54\xc5\xf2\x3c\x44\x00\x44\x7a\x00\x00\xf2\x00\x0a\x28\x4E\xB9\x00\x00\x00\x12\x4E\x75"
all_tests = (
- (CS_ARCH_X86, CS_MODE_16, X86_CODE16, "X86 16bit (Intel syntax)", 0),
+ (CS_ARCH_X86, CS_MODE_16, X86_CODE16, "X86 16bit (Intel syntax)", None),
(CS_ARCH_X86, CS_MODE_32, X86_CODE32, "X86 32bit (ATT syntax)", CS_OPT_SYNTAX_ATT),
- (CS_ARCH_X86, CS_MODE_32, X86_CODE32, "X86 32 (Intel syntax)", 0),
- (CS_ARCH_X86, CS_MODE_64, X86_CODE64, "X86 64 (Intel syntax)", 0),
- (CS_ARCH_ARM, CS_MODE_ARM, ARM_CODE, "ARM", 0),
- (CS_ARCH_ARM, CS_MODE_ARM, ARM_CODE2, "ARM: Cortex-A15 + NEON", 0),
- (CS_ARCH_ARM, CS_MODE_THUMB, THUMB_CODE, "THUMB", 0),
- (CS_ARCH_ARM, CS_MODE_THUMB, THUMB_CODE2, "THUMB-2", 0),
- (CS_ARCH_ARM, CS_MODE_THUMB + CS_MODE_MCLASS, THUMB_MCLASS, "Thumb-MClass", 0),
- (CS_ARCH_ARM, CS_MODE_ARM + CS_MODE_V8, ARMV8, "Arm-V8", 0),
- (CS_ARCH_ARM64, CS_MODE_ARM, ARM64_CODE, "ARM-64", 0),
- (CS_ARCH_MIPS, CS_MODE_MIPS32 + CS_MODE_BIG_ENDIAN, MIPS_CODE, "MIPS-32 (Big-endian)", 0),
- (CS_ARCH_MIPS, CS_MODE_MIPS64 + CS_MODE_LITTLE_ENDIAN, MIPS_CODE2, "MIPS-64-EL (Little-endian)", 0),
- (CS_ARCH_MIPS, CS_MODE_MIPS32R6 + CS_MODE_MICRO + CS_MODE_BIG_ENDIAN, MIPS_32R6M, "MIPS-32R6 | Micro (Big-endian)", 0),
- (CS_ARCH_MIPS, CS_MODE_MIPS32R6 + CS_MODE_BIG_ENDIAN, MIPS_32R6, "MIPS-32R6 (Big-endian)", 0),
- (CS_ARCH_PPC, CS_MODE_BIG_ENDIAN, PPC_CODE, "PPC-64", 0),
- (CS_ARCH_PPC, CS_MODE_BIG_ENDIAN + CS_MODE_QPX, PPC_CODE2, "PPC-64 + QPX", 0),
- (CS_ARCH_SPARC, CS_MODE_BIG_ENDIAN, SPARC_CODE, "Sparc", 0),
- (CS_ARCH_SPARC, CS_MODE_BIG_ENDIAN + CS_MODE_V9, SPARCV9_CODE, "SparcV9", 0),
- (CS_ARCH_SYSZ, 0, SYSZ_CODE, "SystemZ", 0),
- (CS_ARCH_XCORE, 0, XCORE_CODE, "XCore", 0),
+ (CS_ARCH_X86, CS_MODE_32, X86_CODE32, "X86 32 (Intel syntax)", None),
+ (CS_ARCH_X86, CS_MODE_64, X86_CODE64, "X86 64 (Intel syntax)", None),
+ (CS_ARCH_ARM, CS_MODE_ARM, ARM_CODE, "ARM", None),
+ (CS_ARCH_ARM, CS_MODE_ARM, ARM_CODE2, "ARM: Cortex-A15 + NEON", None),
+ (CS_ARCH_ARM, CS_MODE_THUMB, THUMB_CODE, "THUMB", None),
+ (CS_ARCH_ARM, CS_MODE_THUMB, THUMB_CODE2, "THUMB-2", None),
+ (CS_ARCH_ARM, CS_MODE_THUMB + CS_MODE_MCLASS, THUMB_MCLASS, "Thumb-MClass", None),
+ (CS_ARCH_ARM, CS_MODE_ARM + CS_MODE_V8, ARMV8, "Arm-V8", None),
+ (CS_ARCH_ARM64, CS_MODE_ARM, ARM64_CODE, "ARM-64", None),
+ (CS_ARCH_MIPS, CS_MODE_MIPS32 + CS_MODE_BIG_ENDIAN, MIPS_CODE, "MIPS-32 (Big-endian)", None),
+ (CS_ARCH_MIPS, CS_MODE_MIPS64 + CS_MODE_LITTLE_ENDIAN, MIPS_CODE2, "MIPS-64-EL (Little-endian)", None),
+ (CS_ARCH_MIPS, CS_MODE_MIPS32R6 + CS_MODE_MICRO + CS_MODE_BIG_ENDIAN, MIPS_32R6M, "MIPS-32R6 | Micro (Big-endian)", None),
+ (CS_ARCH_MIPS, CS_MODE_MIPS32R6 + CS_MODE_BIG_ENDIAN, MIPS_32R6, "MIPS-32R6 (Big-endian)", None),
+ (CS_ARCH_PPC, CS_MODE_BIG_ENDIAN, PPC_CODE, "PPC-64", None),
+ (CS_ARCH_PPC, CS_MODE_BIG_ENDIAN + CS_MODE_QPX, PPC_CODE2, "PPC-64 + QPX", None),
+ (CS_ARCH_SPARC, CS_MODE_BIG_ENDIAN, SPARC_CODE, "Sparc", None),
+ (CS_ARCH_SPARC, CS_MODE_BIG_ENDIAN + CS_MODE_V9, SPARCV9_CODE, "SparcV9", None),
+ (CS_ARCH_SYSZ, 0, SYSZ_CODE, "SystemZ", None),
+ (CS_ARCH_XCORE, 0, XCORE_CODE, "XCore", None),
+ (CS_ARCH_M68K, CS_MODE_BIG_ENDIAN | CS_MODE_M68K_040, M68K_CODE, "M68K (68040)", None),
)
@@ -90,7 +92,7 @@
md = Cs(arch, mode)
md.detail = True
- if syntax != 0:
+ if syntax is not None:
md.syntax = syntax
for insn in md.disasm(code, 0x1000):
diff --git a/bindings/python/test_lite.py b/bindings/python/test_lite.py
index 33b8427..9ba7bd8 100755
--- a/bindings/python/test_lite.py
+++ b/bindings/python/test_lite.py
@@ -7,31 +7,52 @@
X86_CODE16 = b"\x8d\x4c\x32\x08\x01\xd8\x81\xc6\x34\x12\x00\x00"
-X86_CODE32 = b"\x8d\x4c\x32\x08\x01\xd8\x81\xc6\x34\x12\x00\x00"
+X86_CODE32 = b"\xba\xcd\xab\x00\x00\x8d\x4c\x32\x08\x01\xd8\x81\xc6\x34\x12\x00\x00"
X86_CODE64 = b"\x55\x48\x8b\x05\xb8\x13\x00\x00"
ARM_CODE = b"\xED\xFF\xFF\xEB\x04\xe0\x2d\xe5\x00\x00\x00\x00\xe0\x83\x22\xe5\xf1\x02\x03\x0e\x00\x00\xa0\xe3\x02\x30\xc1\xe7\x00\x00\x53\xe3"
ARM_CODE2 = b"\x10\xf1\x10\xe7\x11\xf2\x31\xe7\xdc\xa1\x2e\xf3\xe8\x4e\x62\xf3"
THUMB_CODE = b"\x70\x47\xeb\x46\x83\xb0\xc9\x68"
THUMB_CODE2 = b"\x4f\xf0\x00\x01\xbd\xe8\x00\x88\xd1\xe8\x00\xf0"
+THUMB_MCLASS = b"\xef\xf3\x02\x80"
+ARMV8 = b"\xe0\x3b\xb2\xee\x42\x00\x01\xe1\x51\xf0\x7f\xf5"
MIPS_CODE = b"\x0C\x10\x00\x97\x00\x00\x00\x00\x24\x02\x00\x0c\x8f\xa2\x00\x00\x34\x21\x34\x56"
MIPS_CODE2 = b"\x56\x34\x21\x34\xc2\x17\x01\x00"
+MIPS_32R6M = b"\x00\x07\x00\x07\x00\x11\x93\x7c\x01\x8c\x8b\x7c\x00\xc7\x48\xd0"
+MIPS_32R6 = b"\xec\x80\x00\x19\x7c\x43\x22\xa0"
ARM64_CODE = b"\x21\x7c\x02\x9b\x21\x7c\x00\x53\x00\x40\x21\x4b\xe1\x0b\x40\xb9"
PPC_CODE = b"\x80\x20\x00\x00\x80\x3f\x00\x00\x10\x43\x23\x0e\xd0\x44\x00\x80\x4c\x43\x22\x02\x2d\x03\x00\x80\x7c\x43\x20\x14\x7c\x43\x20\x93\x4f\x20\x00\x21\x4c\xc8\x00\x21"
+PPC_CODE2 = b"\x10\x60\x2a\x10\x10\x64\x28\x88\x7c\x4a\x5d\x0f"
+SPARC_CODE = b"\x80\xa0\x40\x02\x85\xc2\x60\x08\x85\xe8\x20\x01\x81\xe8\x00\x00\x90\x10\x20\x01\xd5\xf6\x10\x16\x21\x00\x00\x0a\x86\x00\x40\x02\x01\x00\x00\x00\x12\xbf\xff\xff\x10\xbf\xff\xff\xa0\x02\x00\x09\x0d\xbf\xff\xff\xd4\x20\x60\x00\xd4\x4e\x00\x16\x2a\xc2\x80\x03"
+SPARCV9_CODE = b"\x81\xa8\x0a\x24\x89\xa0\x10\x20\x89\xa0\x1a\x60\x89\xa0\x00\xe0"
+SYSZ_CODE = b"\xed\x00\x00\x00\x00\x1a\x5a\x0f\x1f\xff\xc2\x09\x80\x00\x00\x00\x07\xf7\xeb\x2a\xff\xff\x7f\x57\xe3\x01\xff\xff\x7f\x57\xeb\x00\xf0\x00\x00\x24\xb2\x4f\x00\x78"
+XCORE_CODE = b"\xfe\x0f\xfe\x17\x13\x17\xc6\xfe\xec\x17\x97\xf8\xec\x4f\x1f\xfd\xec\x37\x07\xf2\x45\x5b\xf9\xfa\x02\x06\x1b\x10"
+M68K_CODE = b"\xd4\x40\x87\x5a\x4e\x71\x02\xb4\xc0\xde\xc0\xde\x5c\x00\x1d\x80\x71\x12\x01\x23\xf2\x3c\x44\x22\x40\x49\x0e\x56\x54\xc5\xf2\x3c\x44\x00\x44\x7a\x00\x00\xf2\x00\x0a\x28\x4E\xB9\x00\x00\x00\x12\x4E\x75"
all_tests = (
- (CS_ARCH_X86, CS_MODE_16, X86_CODE16, "X86 16bit (Intel syntax)", 0),
+ (CS_ARCH_X86, CS_MODE_16, X86_CODE16, "X86 16bit (Intel syntax)", None),
(CS_ARCH_X86, CS_MODE_32, X86_CODE32, "X86 32bit (ATT syntax)", CS_OPT_SYNTAX_ATT),
- (CS_ARCH_X86, CS_MODE_32, X86_CODE32, "X86 32 (Intel syntax)", 0),
- (CS_ARCH_X86, CS_MODE_64, X86_CODE64, "X86 64 (Intel syntax)", 0),
- (CS_ARCH_ARM, CS_MODE_ARM, ARM_CODE, "ARM", 0),
- (CS_ARCH_ARM, CS_MODE_THUMB, THUMB_CODE2, "THUMB-2", 0),
- (CS_ARCH_ARM, CS_MODE_ARM, ARM_CODE2, "ARM: Cortex-A15 + NEON", 0),
- (CS_ARCH_ARM, CS_MODE_THUMB, THUMB_CODE, "THUMB", 0),
- (CS_ARCH_MIPS, CS_MODE_MIPS32 + CS_MODE_BIG_ENDIAN, MIPS_CODE, "MIPS-32 (Big-endian)", 0),
- (CS_ARCH_MIPS, CS_MODE_MIPS64 + CS_MODE_LITTLE_ENDIAN, MIPS_CODE2, "MIPS-64-EL (Little-endian)", 0),
- (CS_ARCH_ARM64, CS_MODE_ARM, ARM64_CODE, "ARM-64", 0),
- (CS_ARCH_PPC, CS_MODE_BIG_ENDIAN, PPC_CODE, "PPC-64", 0),
+ (CS_ARCH_X86, CS_MODE_32, X86_CODE32, "X86 32 (Intel syntax)", None),
+ (CS_ARCH_X86, CS_MODE_32, X86_CODE32, "X86 32 (MASM syntax)", CS_OPT_SYNTAX_MASM),
+ (CS_ARCH_X86, CS_MODE_64, X86_CODE64, "X86 64 (Intel syntax)", None),
+ (CS_ARCH_ARM, CS_MODE_ARM, ARM_CODE, "ARM", None),
+ (CS_ARCH_ARM, CS_MODE_THUMB, THUMB_CODE2, "THUMB-2", None),
+ (CS_ARCH_ARM, CS_MODE_ARM, ARM_CODE2, "ARM: Cortex-A15 + NEON", None),
+ (CS_ARCH_ARM, CS_MODE_THUMB, THUMB_CODE, "THUMB", None),
+ (CS_ARCH_ARM, CS_MODE_THUMB + CS_MODE_MCLASS, THUMB_MCLASS, "Thumb-MClass", None),
+ (CS_ARCH_ARM, CS_MODE_ARM + CS_MODE_V8, ARMV8, "Arm-V8", None),
+ (CS_ARCH_MIPS, CS_MODE_MIPS32 + CS_MODE_BIG_ENDIAN, MIPS_CODE, "MIPS-32 (Big-endian)", None),
+ (CS_ARCH_MIPS, CS_MODE_MIPS64 + CS_MODE_LITTLE_ENDIAN, MIPS_CODE2, "MIPS-64-EL (Little-endian)", None),
+ (CS_ARCH_MIPS, CS_MODE_MIPS32R6 + CS_MODE_MICRO + CS_MODE_BIG_ENDIAN, MIPS_32R6M, "MIPS-32R6 | Micro (Big-endian)", None),
+ (CS_ARCH_MIPS, CS_MODE_MIPS32R6 + CS_MODE_BIG_ENDIAN, MIPS_32R6, "MIPS-32R6 (Big-endian)", None),
+ (CS_ARCH_ARM64, CS_MODE_ARM, ARM64_CODE, "ARM-64", None),
+ (CS_ARCH_PPC, CS_MODE_BIG_ENDIAN, PPC_CODE, "PPC-64", None),
(CS_ARCH_PPC, CS_MODE_BIG_ENDIAN, PPC_CODE, "PPC-64, print register with number only", CS_OPT_SYNTAX_NOREGNAME),
+ (CS_ARCH_PPC, CS_MODE_BIG_ENDIAN + CS_MODE_QPX, PPC_CODE2, "PPC-64 + QPX", CS_OPT_SYNTAX_NOREGNAME),
+ (CS_ARCH_SPARC, CS_MODE_BIG_ENDIAN, SPARC_CODE, "Sparc", None),
+ (CS_ARCH_SPARC, CS_MODE_BIG_ENDIAN + CS_MODE_V9, SPARCV9_CODE, "SparcV9", None),
+ (CS_ARCH_SYSZ, 0, SYSZ_CODE, "SystemZ", None),
+ (CS_ARCH_XCORE, 0, XCORE_CODE, "XCore", None),
+ (CS_ARCH_M68K, CS_MODE_BIG_ENDIAN | CS_MODE_M68K_040, M68K_CODE, "M68K (68040)", None),
)
@@ -58,7 +79,7 @@
try:
md = Cs(arch, mode)
- if syntax != 0:
+ if syntax is not None:
md.syntax = syntax
for (addr, size, mnemonic, op_str) in md.disasm_lite(code, 0x1000):
diff --git a/bindings/python/test_m68k.py b/bindings/python/test_m68k.py
index 8ae1f58..43961dd 100755
--- a/bindings/python/test_m68k.py
+++ b/bindings/python/test_m68k.py
@@ -39,7 +39,7 @@
16: "Absolute Data Addressing - Short",
17: "Absolute Data Addressing - Long",
- 18: "Immidate value",
+ 18: "Immediate value",
}
def print_insn_detail(insn):
@@ -50,19 +50,9 @@
for i, op in enumerate(insn.operands):
if op.type == M68K_OP_REG:
print("\t\toperands[%u].type: REG = %s" % (i, insn.reg_name(op.reg)))
-
- if op.type == M68K_OP_IMM:
- if insn.op_size.type == M68K_SIZE_TYPE_FPU:
- if insn.op_size.size == M68K_FPU_SIZE_SINGLE:
- print("\t\toperands[%u].type: IMM = %f" % (i, op.simm))
- elif insn.op_size.size == M68K_FPU_SIZE_DOUBLE:
- print("\t\toperands[%u].type: IMM = %lf" % (i, op.dimm))
- else:
- print("\t\toperands[%u].type: IMM = <unsupported>" % (i))
- continue
+ elif op.type == M68K_OP_IMM:
print("\t\toperands[%u].type: IMM = 0x%x" % (i, op.imm & 0xffffffff))
-
- if op.type == M68K_OP_MEM:
+ elif op.type == M68K_OP_MEM:
print("\t\toperands[%u].type: MEM" % (i))
if op.mem.base_reg != M68K_REG_INVALID:
print("\t\t\toperands[%u].mem.base: REG = %s" % (i, insn.reg_name(op.mem.base_reg)))
@@ -77,6 +67,12 @@
if op.mem.scale != 0:
print("\t\t\toperands[%u].mem.scale: %d" % (i, op.mem.scale))
print("\t\taddress mode: %s" % (s_addressing_modes[op.address_mode]))
+ elif op.type == M68K_OP_FP_SINGLE:
+ print("\t\toperands[%u].type: FP_SINGLE" % i)
+ print("\t\toperands[%u].simm: %f", i, op.simm)
+ elif op.type == M68K_OP_FP_DOUBLE:
+ print("\t\toperands[%u].type: FP_DOUBLE" % i)
+ print("\t\toperands[%u].dimm: %lf", i, op.dimm)
print()
# ## Test class Cs
diff --git a/bindings/python/test_skipdata.py b/bindings/python/test_skipdata.py
index 0caa20b..3b8dd75 100755
--- a/bindings/python/test_skipdata.py
+++ b/bindings/python/test_skipdata.py
@@ -12,8 +12,8 @@
RANDOM_CODE = b"\xed\x00\x00\x00\x00\x1a\x5a\x0f\x1f\xff\xc2\x09\x80\x00\x00\x00\x07\xf7\xeb\x2a\xff\xff\x7f\x57\xe3\x01\xff\xff\x7f\x57\xeb\x00\xf0\x00\x00\x24\xb2\x4f\x00\x78"
all_tests = (
- (CS_ARCH_X86, CS_MODE_32, X86_CODE32, "X86 32 (Intel syntax)", 0),
- (CS_ARCH_ARM, CS_MODE_ARM, RANDOM_CODE, "Arm", 0),
+ (CS_ARCH_X86, CS_MODE_32, X86_CODE32, "X86 32 (Intel syntax)", None),
+ (CS_ARCH_ARM, CS_MODE_ARM, RANDOM_CODE, "Arm", None),
)
@@ -34,7 +34,7 @@
try:
md = Cs(arch, mode)
- if syntax != 0:
+ if syntax is not None:
md.syntax = syntax
md.skipdata = True
diff --git a/bindings/python/test_x86.py b/bindings/python/test_x86.py
index 3b77c75..e630eeb 100755
--- a/bindings/python/test_x86.py
+++ b/bindings/python/test_x86.py
@@ -12,10 +12,10 @@
X86_CODE32 = b"\x8d\x4c\x32\x08\x01\xd8\x81\xc6\x34\x12\x00\x00\x05\x23\x01\x00\x00\x36\x8b\x84\x91\x23\x01\x00\x00\x41\x8d\x84\x39\x89\x67\x00\x00\x8d\x87\x89\x67\x00\x00\xb4\xc6"
all_tests = (
- (CS_ARCH_X86, CS_MODE_16, X86_CODE16, "X86 16bit (Intel syntax)", 0),
+ (CS_ARCH_X86, CS_MODE_16, X86_CODE16, "X86 16bit (Intel syntax)", None),
(CS_ARCH_X86, CS_MODE_32, X86_CODE32, "X86 32 (AT&T syntax)", CS_OPT_SYNTAX_ATT),
- (CS_ARCH_X86, CS_MODE_32, X86_CODE32, "X86 32 (Intel syntax)", 0),
- (CS_ARCH_X86, CS_MODE_64, X86_CODE64, "X86 64 (Intel syntax)", 0),
+ (CS_ARCH_X86, CS_MODE_32, X86_CODE32, "X86 32 (Intel syntax)", None),
+ (CS_ARCH_X86, CS_MODE_64, X86_CODE64, "X86 64 (Intel syntax)", None),
)
@@ -157,7 +157,7 @@
md = Cs(arch, mode)
md.detail = True
- if syntax != 0:
+ if syntax is not None:
md.syntax = syntax
for insn in md.disasm(code, 0x1000):
diff --git a/contrib/cs_driver/README b/contrib/cs_driver/README
new file mode 100644
index 0000000..f9a268a
--- /dev/null
+++ b/contrib/cs_driver/README
@@ -0,0 +1,5 @@
+This directory contains a sample project for using Capstone from a Windows
+driver. Open cs_driver.sln with Visual Studio 2013 or newer and see cs_driver.c
+for details.
+
+For prerequisites to compile Capstone for drivers, see COMPILE_MSVC.TXT.
diff --git a/contrib/cs_driver/cs_driver.sln b/contrib/cs_driver/cs_driver.sln
new file mode 100644
index 0000000..f36afa1
--- /dev/null
+++ b/contrib/cs_driver/cs_driver.sln
@@ -0,0 +1,49 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 2013
+VisualStudioVersion = 12.0.40629.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cs_driver", "cs_driver\cs_driver.vcxproj", "{F29A9424-0ECD-4FFE-9CB7-C844756373BB}"
+ ProjectSection(ProjectDependencies) = postProject
+ {FE197816-EF84-4E8D-B29D-E0A6BA2B144B} = {FE197816-EF84-4E8D-B29D-E0A6BA2B144B}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "capstone_static_winkernel", "..\..\msvc\capstone_static_winkernel\capstone_static_winkernel.vcxproj", "{FE197816-EF84-4E8D-B29D-E0A6BA2B144B}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Win32 = Debug|Win32
+ Debug|x64 = Debug|x64
+ Release|Win32 = Release|Win32
+ Release|x64 = Release|x64
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {F29A9424-0ECD-4FFE-9CB7-C844756373BB}.Debug|Win32.ActiveCfg = Debug|Win32
+ {F29A9424-0ECD-4FFE-9CB7-C844756373BB}.Debug|Win32.Build.0 = Debug|Win32
+ {F29A9424-0ECD-4FFE-9CB7-C844756373BB}.Debug|Win32.Deploy.0 = Debug|Win32
+ {F29A9424-0ECD-4FFE-9CB7-C844756373BB}.Debug|x64.ActiveCfg = Debug|x64
+ {F29A9424-0ECD-4FFE-9CB7-C844756373BB}.Debug|x64.Build.0 = Debug|x64
+ {F29A9424-0ECD-4FFE-9CB7-C844756373BB}.Debug|x64.Deploy.0 = Debug|x64
+ {F29A9424-0ECD-4FFE-9CB7-C844756373BB}.Release|Win32.ActiveCfg = Release|Win32
+ {F29A9424-0ECD-4FFE-9CB7-C844756373BB}.Release|Win32.Build.0 = Release|Win32
+ {F29A9424-0ECD-4FFE-9CB7-C844756373BB}.Release|Win32.Deploy.0 = Release|Win32
+ {F29A9424-0ECD-4FFE-9CB7-C844756373BB}.Release|x64.ActiveCfg = Release|x64
+ {F29A9424-0ECD-4FFE-9CB7-C844756373BB}.Release|x64.Build.0 = Release|x64
+ {F29A9424-0ECD-4FFE-9CB7-C844756373BB}.Release|x64.Deploy.0 = Release|x64
+ {FE197816-EF84-4E8D-B29D-E0A6BA2B144B}.Debug|Win32.ActiveCfg = Debug|Win32
+ {FE197816-EF84-4E8D-B29D-E0A6BA2B144B}.Debug|Win32.Build.0 = Debug|Win32
+ {FE197816-EF84-4E8D-B29D-E0A6BA2B144B}.Debug|Win32.Deploy.0 = Debug|Win32
+ {FE197816-EF84-4E8D-B29D-E0A6BA2B144B}.Debug|x64.ActiveCfg = Debug|x64
+ {FE197816-EF84-4E8D-B29D-E0A6BA2B144B}.Debug|x64.Build.0 = Debug|x64
+ {FE197816-EF84-4E8D-B29D-E0A6BA2B144B}.Debug|x64.Deploy.0 = Debug|x64
+ {FE197816-EF84-4E8D-B29D-E0A6BA2B144B}.Release|Win32.ActiveCfg = Release|Win32
+ {FE197816-EF84-4E8D-B29D-E0A6BA2B144B}.Release|Win32.Build.0 = Release|Win32
+ {FE197816-EF84-4E8D-B29D-E0A6BA2B144B}.Release|Win32.Deploy.0 = Release|Win32
+ {FE197816-EF84-4E8D-B29D-E0A6BA2B144B}.Release|x64.ActiveCfg = Release|x64
+ {FE197816-EF84-4E8D-B29D-E0A6BA2B144B}.Release|x64.Build.0 = Release|x64
+ {FE197816-EF84-4E8D-B29D-E0A6BA2B144B}.Release|x64.Deploy.0 = Release|x64
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/contrib/cs_driver/cs_driver/cs_driver.c b/contrib/cs_driver/cs_driver/cs_driver.c
new file mode 100644
index 0000000..11a129f
--- /dev/null
+++ b/contrib/cs_driver/cs_driver/cs_driver.c
@@ -0,0 +1,99 @@
+/* Capstone Driver */
+/* By Satoshi Tanda <tanda.sat@gmail.com>, 2016 */
+
+// Firstly, compile capstone_static_winkernel and
+// generate capstone_static_winkernel.lib. It can be done by adding the
+// capstone_static_winkernel project to your solution and compiling it first.
+//
+// Then, configure your driver project (cs_driver in this example) to locate to
+// capstone.h and capstone_static_winkernel.lib. To do it, open project
+// properties of the project and set Configuration to "All Configurations" and
+// Platform to "All Platforms". Then, add the following entries:
+// - C/C++ > General > Additional Include Directories
+// - $(SolutionDir)capstone\include
+// - Linker > Input > Additional Dependencies
+// - $(OutDir)capstone_static_winkernel.lib
+// - ntstrsafe.lib
+//
+// Note that ntstrsafe.lib is required to resolve __fltused indirectly used in
+// Capstone.
+
+#include <ntddk.h>
+#include <capstone/capstone.h>
+
+// 'conversion' : from function pointer 'type1' to data pointer 'type2'
+#pragma warning(disable : 4054)
+
+
+DRIVER_INITIALIZE DriverEntry;
+static NTSTATUS cs_driver_hello();
+
+
+// Driver entry point
+EXTERN_C NTSTATUS DriverEntry(PDRIVER_OBJECT DriverObject,
+ PUNICODE_STRING RegistryPath) {
+ printf("Entering DriverEntry()\n");
+
+ cs_driver_hello();
+
+ printf("Leaving DriverEntry()\n");
+ return STATUS_CANCELLED;
+}
+
+// Hello, Capstone!
+static NTSTATUS cs_driver_hello() {
+ csh handle;
+ cs_insn *insn;
+ size_t count;
+ KFLOATING_SAVE float_save;
+ NTSTATUS status = STATUS_UNSUCCESSFUL;
+
+ // Any of Capstone APIs cannot be called at IRQL higher than DISPATCH_LEVEL
+ // since our malloc implementation based on ExAllocatePoolWithTag() is not able
+ // to allocate memory at higher IRQL than the DISPATCH_LEVEL level.
+ NT_ASSERT(KeGetCurrentIrql() <= DISPATCH_LEVEL);
+
+ // On a 32bit driver, KeSaveFloatingPointState() is required before using any
+ // Capstone function because Capstone can access to the MMX/x87 registers and
+ // 32bit Windows requires drivers to use KeSaveFloatingPointState() before and
+ // KeRestoreFloatingPointState() after accesing to them. See "Using Floating
+ // Point or MMX in a WDM Driver" on MSDN for more details.
+ status = KeSaveFloatingPointState(&float_save);
+ if (!NT_SUCCESS(status)) {
+ return status;
+ }
+
+ // Do stuff just like user-mode. All functionalites are supported.
+ if (cs_open(CS_ARCH_X86, (sizeof(void *) == 4) ? CS_MODE_32 : CS_MODE_64,
+ &handle) != CS_ERR_OK) {
+ goto exit;
+ }
+
+ count = cs_disasm(handle, (uint8_t *)&cs_driver_hello, 0x80,
+ (uint64_t)&cs_driver_hello, 0, &insn);
+ if (count > 0) {
+ printf("cs_driver!cs_driver_hello:\n");
+ for (size_t j = 0; j < count; j++) {
+ printf("0x%p\t%s\t\t%s\n", (void *)(uintptr_t)insn[j].address,
+ insn[j].mnemonic, insn[j].op_str);
+ }
+ cs_free(insn, count);
+ }
+ cs_close(&handle);
+
+exit:;
+ // Restores the nonvolatile floating-point context.
+ KeRestoreFloatingPointState(&float_save);
+ return status;
+}
+
+// printf()
+_Use_decl_annotations_ int __cdecl printf(const char *_Format, ...) {
+ NTSTATUS status;
+ va_list args;
+
+ va_start(args, _Format);
+ status = vDbgPrintEx(DPFLTR_DEFAULT_ID, DPFLTR_ERROR_LEVEL, _Format, args);
+ va_end(args);
+ return NT_SUCCESS(status);
+}
diff --git a/contrib/cs_driver/cs_driver/cs_driver.vcxproj b/contrib/cs_driver/cs_driver/cs_driver.vcxproj
new file mode 100644
index 0000000..623040c
--- /dev/null
+++ b/contrib/cs_driver/cs_driver/cs_driver.vcxproj
@@ -0,0 +1,129 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{F29A9424-0ECD-4FFE-9CB7-C844756373BB}</ProjectGuid>
+ <TemplateGuid>{1bc93793-694f-48fe-9372-81e2b05556fd}</TemplateGuid>
+ <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+ <MinimumVisualStudioVersion>11.0</MinimumVisualStudioVersion>
+ <Configuration>Win8.1 Debug</Configuration>
+ <Platform Condition="'$(Platform)' == ''">Win32</Platform>
+ <RootNamespace>cs_driver</RootNamespace>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <TargetVersion>Windows7</TargetVersion>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>WindowsKernelModeDriver8.1</PlatformToolset>
+ <ConfigurationType>Driver</ConfigurationType>
+ <DriverType>KMDF</DriverType>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <TargetVersion>Windows7</TargetVersion>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>WindowsKernelModeDriver8.1</PlatformToolset>
+ <ConfigurationType>Driver</ConfigurationType>
+ <DriverType>KMDF</DriverType>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <TargetVersion>Windows7</TargetVersion>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>WindowsKernelModeDriver8.1</PlatformToolset>
+ <ConfigurationType>Driver</ConfigurationType>
+ <DriverType>KMDF</DriverType>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <TargetVersion>Windows7</TargetVersion>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>WindowsKernelModeDriver8.1</PlatformToolset>
+ <ConfigurationType>Driver</ConfigurationType>
+ <DriverType>KMDF</DriverType>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <DebuggerFlavor>DbgengKernelDebugger</DebuggerFlavor>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <DebuggerFlavor>DbgengKernelDebugger</DebuggerFlavor>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <DebuggerFlavor>DbgengKernelDebugger</DebuggerFlavor>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <DebuggerFlavor>DbgengKernelDebugger</DebuggerFlavor>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <WppScanConfigurationData Condition="'%(ClCompile. ScanConfigurationData)' == ''">trace.h</WppScanConfigurationData>
+ <WppKernelMode>true</WppKernelMode>
+ <AdditionalIncludeDirectories>$(SolutionDir)..\..\include;$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <AdditionalDependencies>$(OutDir)capstone_static_winkernel.lib;ntstrsafe.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <WppScanConfigurationData Condition="'%(ClCompile. ScanConfigurationData)' == ''">trace.h</WppScanConfigurationData>
+ <WppKernelMode>true</WppKernelMode>
+ <AdditionalIncludeDirectories>$(SolutionDir)..\..\include;$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <AdditionalDependencies>$(OutDir)capstone_static_winkernel.lib;ntstrsafe.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <WppScanConfigurationData Condition="'%(ClCompile. ScanConfigurationData)' == ''">trace.h</WppScanConfigurationData>
+ <WppKernelMode>true</WppKernelMode>
+ <AdditionalIncludeDirectories>$(SolutionDir)..\..\include;$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <AdditionalDependencies>$(OutDir)capstone_static_winkernel.lib;ntstrsafe.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <WppScanConfigurationData Condition="'%(ClCompile. ScanConfigurationData)' == ''">trace.h</WppScanConfigurationData>
+ <WppKernelMode>true</WppKernelMode>
+ <AdditionalIncludeDirectories>$(SolutionDir)..\..\include;$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <AdditionalDependencies>$(OutDir)capstone_static_winkernel.lib;ntstrsafe.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <FilesToPackage Include="$(TargetPath)" />
+ <FilesToPackage Include="@(Inf->'%(CopyOutput)')" Condition="'@(Inf)'!=''" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="cs_driver.c" />
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/contrib/cs_driver/cs_driver/cs_driver.vcxproj.filters b/contrib/cs_driver/cs_driver/cs_driver.vcxproj.filters
new file mode 100644
index 0000000..2949111
--- /dev/null
+++ b/contrib/cs_driver/cs_driver/cs_driver.vcxproj.filters
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Source Files">
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+ <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+ </Filter>
+ <Filter Include="Header Files">
+ <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+ <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+ <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
+ </Filter>
+ <Filter Include="Driver Files">
+ <UniqueIdentifier>{8E41214B-6785-4CFE-B992-037D68949A14}</UniqueIdentifier>
+ <Extensions>inf;inv;inx;mof;mc;</Extensions>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="cs_driver.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/contrib/objdump/objdump-m68k.py b/contrib/objdump/objdump-m68k.py
index fd59d7c..3454de3 100644
--- a/contrib/objdump/objdump-m68k.py
+++ b/contrib/objdump/objdump-m68k.py
@@ -141,7 +141,7 @@
return format("0x%x" % (extsign1616(op.imm & 0xffff)))
if op.address_mode == M68K_AM_ABSOLUTE_DATA_LONG:
return format("0x%x" % (op.imm & 0xffffffff))
- if op.address_mode == M68K_AM_IMMIDIATE:
+ if op.address_mode == M68K_AM_IMMEDIATE:
if insn.op_size.type == M68K_SIZE_TYPE_FPU:
map_fpu_size_str = { M68K_FPU_SIZE_SINGLE : op.simm, M68K_FPU_SIZE_DOUBLE : op.dimm }
return format("#%f" % (insn.op_size.fpu_size[map_fpu_size_str]))
@@ -278,7 +278,7 @@
15 : "M68K_AM_PC_MEMI_PRE_INDEX",
16 : "M68K_AM_ABSOLUTE_DATA_SHORT",
17 : "M68K_AM_ABSOLUTE_DATA_LONG",
- 18 : "M68K_AM_IMMIDIATE",
+ 18 : "M68K_AM_IMMEDIATE",
}
diff --git a/cs.c b/cs.c
index 1fbb2fb..c3becd8 100644
--- a/cs.c
+++ b/cs.c
@@ -17,7 +17,26 @@
#include "utils.h"
#include "MCRegisterInfo.h"
-#if !defined(CAPSTONE_HAS_OSXKERNEL) && !defined(CAPSTONE_DIET)
+#if defined(_KERNEL_MODE)
+#include "windows\winkernel_mm.h"
+#endif
+
+// Issue #681: Windows kernel does not support formatting float point
+#if defined(_KERNEL_MODE) && !defined(CAPSTONE_DIET)
+#if defined(CAPSTONE_HAS_ARM) || defined(CAPSTONE_HAS_ARM64) || defined(CAPSTONE_HAS_M68K)
+#define CAPSTONE_STR_INTERNAL(x) #x
+#define CAPSTONE_STR(x) CAPSTONE_STR_INTERNAL(x)
+#define CAPSTONE_MSVC_WRANING_PREFIX __FILE__ "("CAPSTONE_STR(__LINE__)") : warning message : "
+
+#pragma message(CAPSTONE_MSVC_WRANING_PREFIX "Windows driver does not support full features for selected architecture(s). Define CAPSTONE_DIET to compile Capstone with only supported features. See issue #681 for details.")
+
+#undef CAPSTONE_MSVC_WRANING_PREFIX
+#undef CAPSTONE_STR
+#undef CAPSTONE_STR_INTERNAL
+#endif
+#endif // defined(_KERNEL_MODE) && !defined(CAPSTONE_DIET)
+
+#if !defined(CAPSTONE_HAS_OSXKERNEL) && !defined(CAPSTONE_DIET) && !defined(_KERNEL_MODE)
#define INSN_CACHE_SIZE 32
#else
// reduce stack variable size for kernel/firmware
@@ -82,18 +101,29 @@
unsigned int all_arch = 0;
-#ifdef CAPSTONE_USE_SYS_DYN_MEM
-#ifndef CAPSTONE_HAS_OSXKERNEL
+#if defined(CAPSTONE_USE_SYS_DYN_MEM)
+#if !defined(CAPSTONE_HAS_OSXKERNEL) && !defined(_KERNEL_MODE)
+// default
cs_malloc_t cs_mem_malloc = malloc;
cs_calloc_t cs_mem_calloc = calloc;
cs_realloc_t cs_mem_realloc = realloc;
cs_free_t cs_mem_free = free;
#if defined(_WIN32_WCE)
cs_vsnprintf_t cs_vsnprintf = _vsnprintf;
-#else // !_WIN32_WCE
-cs_vsnprintf_t cs_vsnprintf = vsnprintf;
-#endif // _WIN32_WCE
#else
+cs_vsnprintf_t cs_vsnprintf = vsnprintf;
+#endif // defined(_WIN32_WCE)
+
+#elif defined(_KERNEL_MODE)
+// Windows driver
+cs_malloc_t cs_mem_malloc = cs_winkernel_malloc;
+cs_calloc_t cs_mem_calloc = cs_winkernel_calloc;
+cs_realloc_t cs_mem_realloc = cs_winkernel_realloc;
+cs_free_t cs_mem_free = cs_winkernel_free;
+cs_vsnprintf_t cs_vsnprintf = cs_winkernel_vsnprintf;
+
+#else
+// OSX kernel
extern void* kern_os_malloc(size_t size);
extern void kern_os_free(void* addr);
extern void* kern_os_realloc(void* addr, size_t nsize);
@@ -108,17 +138,20 @@
cs_realloc_t cs_mem_realloc = kern_os_realloc;
cs_free_t cs_mem_free = kern_os_free;
cs_vsnprintf_t cs_vsnprintf = vsnprintf;
-#endif
+
+#endif // !defined(CAPSTONE_HAS_OSXKERNEL) && !defined(_KERNEL_MODE)
#else
+// User-defined
cs_malloc_t cs_mem_malloc = NULL;
cs_calloc_t cs_mem_calloc = NULL;
cs_realloc_t cs_mem_realloc = NULL;
cs_free_t cs_mem_free = NULL;
cs_vsnprintf_t cs_vsnprintf = NULL;
-#endif
+
+#endif // defined(CAPSTONE_USE_SYS_DYN_MEM)
CAPSTONE_EXPORT
-unsigned int cs_version(int *major, int *minor)
+unsigned int CAPSTONE_API cs_version(int *major, int *minor)
{
archs_enable();
@@ -131,7 +164,7 @@
}
CAPSTONE_EXPORT
-bool cs_support(int query)
+bool CAPSTONE_API cs_support(int query)
{
archs_enable();
@@ -165,7 +198,7 @@
}
CAPSTONE_EXPORT
-cs_err cs_errno(csh handle)
+cs_err CAPSTONE_API cs_errno(csh handle)
{
struct cs_struct *ud;
if (!handle)
@@ -177,7 +210,7 @@
}
CAPSTONE_EXPORT
-const char *cs_strerror(cs_err code)
+const char * CAPSTONE_API cs_strerror(cs_err code)
{
switch(code) {
default:
@@ -216,7 +249,7 @@
}
CAPSTONE_EXPORT
-cs_err cs_open(cs_arch arch, cs_mode mode, csh *handle)
+cs_err CAPSTONE_API cs_open(cs_arch arch, cs_mode mode, csh *handle)
{
cs_err err;
struct cs_struct *ud;
@@ -237,7 +270,7 @@
ud->errnum = CS_ERR_OK;
ud->arch = arch;
ud->mode = mode;
- ud->big_endian = mode & CS_MODE_BIG_ENDIAN;
+ ud->big_endian = (mode & CS_MODE_BIG_ENDIAN) != 0;
// by default, do not break instruction into details
ud->detail = CS_OPT_OFF;
@@ -261,7 +294,7 @@
}
CAPSTONE_EXPORT
-cs_err cs_close(csh *handle)
+cs_err CAPSTONE_API cs_close(csh *handle)
{
struct cs_struct *ud;
struct insn_mnem *next, *tmp;
@@ -302,7 +335,7 @@
#ifndef CAPSTONE_DIET
char *sp, *mnem;
#endif
- unsigned int copy_size = MIN(sizeof(insn->bytes), insn->size);
+ uint16_t copy_size = MIN(sizeof(insn->bytes), insn->size);
// fill the instruction bytes.
// we might skip some redundant bytes in front in the case of X86
@@ -367,7 +400,7 @@
switch(handle->arch) {
default:
// should never reach
- return -1;
+ return (uint8_t)-1;
case CS_ARCH_ARM:
// skip 2 bytes on Thumb mode.
if (handle->mode & CS_MODE_THUMB)
@@ -398,7 +431,7 @@
}
CAPSTONE_EXPORT
-cs_err cs_option(csh ud, cs_opt_type type, size_t value)
+cs_err CAPSTONE_API cs_option(csh ud, cs_opt_type type, size_t value)
{
struct cs_struct *handle;
cs_opt_mnem *opt;
@@ -516,25 +549,34 @@
char *p = opstr;
int len;
size_t i;
+ size_t available = sizeof(((cs_insn*)NULL)->op_str);
if (!size) {
opstr[0] = '\0';
return;
}
- len = sprintf(p, "0x%02x", buffer[0]);
+ len = cs_snprintf(p, available, "0x%02x", buffer[0]);
p+= len;
+ available -= len;
for(i = 1; i < size; i++) {
- len = sprintf(p, ", 0x%02x", buffer[i]);
+ len = cs_snprintf(p, available, ", 0x%02x", buffer[i]);
+ if (len < 0) {
+ break;
+ }
+ if ((size_t)len > available - 1) {
+ break;
+ }
p+= len;
+ available -= len;
}
}
// dynamicly allocate memory to contain disasm insn
// NOTE: caller must free() the allocated memory itself to avoid memory leaking
CAPSTONE_EXPORT
-size_t cs_disasm(csh ud, const uint8_t *buffer, size_t size, uint64_t offset, size_t count, cs_insn **insn)
+size_t CAPSTONE_API cs_disasm(csh ud, const uint8_t *buffer, size_t size, uint64_t offset, size_t count, cs_insn **insn)
{
struct cs_struct *handle;
MCInst mci;
@@ -620,9 +662,12 @@
handle->insn_id(handle, insn_cache, mci.Opcode);
handle->printer(&mci, &ss, handle->printer_info);
-
fill_insn(handle, insn_cache, ss.buffer, &mci, handle->post_printer, buffer);
+ // adjust for pseudo opcode (X86)
+ if (handle->arch == CS_ARCH_X86)
+ insn_cache->id += mci.popcode_adjust;
+
next_offset = insn_size;
} else {
// encounter a broken instruction
@@ -736,13 +781,13 @@
CAPSTONE_EXPORT
CAPSTONE_DEPRECATED
-size_t cs_disasm_ex(csh ud, const uint8_t *buffer, size_t size, uint64_t offset, size_t count, cs_insn **insn)
+size_t CAPSTONE_API cs_disasm_ex(csh ud, const uint8_t *buffer, size_t size, uint64_t offset, size_t count, cs_insn **insn)
{
return cs_disasm(ud, buffer, size, offset, count, insn);
}
CAPSTONE_EXPORT
-void cs_free(cs_insn *insn, size_t count)
+void CAPSTONE_API cs_free(cs_insn *insn, size_t count)
{
size_t i;
@@ -755,7 +800,7 @@
}
CAPSTONE_EXPORT
-cs_insn *cs_malloc(csh ud)
+cs_insn * CAPSTONE_API cs_malloc(csh ud)
{
cs_insn *insn;
struct cs_struct *handle = (struct cs_struct *)(uintptr_t)ud;
@@ -783,7 +828,7 @@
// iterator for instruction "single-stepping"
CAPSTONE_EXPORT
-bool cs_disasm_iter(csh ud, const uint8_t **code, size_t *size,
+bool CAPSTONE_API cs_disasm_iter(csh ud, const uint8_t **code, size_t *size,
uint64_t *address, cs_insn *insn)
{
struct cs_struct *handle;
@@ -827,6 +872,10 @@
fill_insn(handle, insn, ss.buffer, &mci, handle->post_printer, *code);
+ // adjust for pseudo opcode (X86)
+ if (handle->arch == CS_ARCH_X86)
+ insn->id += mci.popcode_adjust;
+
*code += insn_size;
*size -= insn_size;
*address += insn_size;
@@ -870,7 +919,7 @@
// return friendly name of regiser in a string
CAPSTONE_EXPORT
-const char *cs_reg_name(csh ud, unsigned int reg)
+const char * CAPSTONE_API cs_reg_name(csh ud, unsigned int reg)
{
struct cs_struct *handle = (struct cs_struct *)(uintptr_t)ud;
@@ -882,7 +931,7 @@
}
CAPSTONE_EXPORT
-const char *cs_insn_name(csh ud, unsigned int insn)
+const char * CAPSTONE_API cs_insn_name(csh ud, unsigned int insn)
{
struct cs_struct *handle = (struct cs_struct *)(uintptr_t)ud;
@@ -894,7 +943,7 @@
}
CAPSTONE_EXPORT
-const char *cs_group_name(csh ud, unsigned int group)
+const char * CAPSTONE_API cs_group_name(csh ud, unsigned int group)
{
struct cs_struct *handle = (struct cs_struct *)(uintptr_t)ud;
@@ -906,7 +955,7 @@
}
CAPSTONE_EXPORT
-bool cs_insn_group(csh ud, const cs_insn *insn, unsigned int group_id)
+bool CAPSTONE_API cs_insn_group(csh ud, const cs_insn *insn, unsigned int group_id)
{
struct cs_struct *handle;
if (!ud)
@@ -933,7 +982,7 @@
}
CAPSTONE_EXPORT
-bool cs_reg_read(csh ud, const cs_insn *insn, unsigned int reg_id)
+bool CAPSTONE_API cs_reg_read(csh ud, const cs_insn *insn, unsigned int reg_id)
{
struct cs_struct *handle;
if (!ud)
@@ -960,7 +1009,7 @@
}
CAPSTONE_EXPORT
-bool cs_reg_write(csh ud, const cs_insn *insn, unsigned int reg_id)
+bool CAPSTONE_API cs_reg_write(csh ud, const cs_insn *insn, unsigned int reg_id)
{
struct cs_struct *handle;
if (!ud)
@@ -987,7 +1036,7 @@
}
CAPSTONE_EXPORT
-int cs_op_count(csh ud, const cs_insn *insn, unsigned int op_type)
+int CAPSTONE_API cs_op_count(csh ud, const cs_insn *insn, unsigned int op_type)
{
struct cs_struct *handle;
unsigned int count = 0, i;
@@ -1063,7 +1112,7 @@
}
CAPSTONE_EXPORT
-int cs_op_index(csh ud, const cs_insn *insn, unsigned int op_type,
+int CAPSTONE_API cs_op_index(csh ud, const cs_insn *insn, unsigned int op_type,
unsigned int post)
{
struct cs_struct *handle;
@@ -1164,7 +1213,7 @@
}
CAPSTONE_EXPORT
-cs_err cs_regs_access(csh ud, const cs_insn *insn,
+cs_err CAPSTONE_API cs_regs_access(csh ud, const cs_insn *insn,
cs_regs regs_read, uint8_t *regs_read_count,
cs_regs regs_write, uint8_t *regs_write_count)
{
diff --git a/docs/README b/docs/README
index e2ee3c9..0865cca 100644
--- a/docs/README
+++ b/docs/README
@@ -52,9 +52,10 @@
http://capstone-engine.org/x86reduce.html
-* Sample application on how to embed Capstone into Windows kernel driver.
+* Sample applications on how to embed Capstone into Windows kernel driver.
- https://github.com/aquynh/KernelProject
+ https://github.com/aquynh/capstone/tree/master/contrib/cs_driver (in C, basic)
+ https://github.com/aquynh/KernelProject (in C++)
* Sample application on how to embed Capstone into Mac OSX Kext (kernel).
diff --git a/include/capstone/capstone.h b/include/capstone/capstone.h
index d6b88a4..11eb8b4 100644
--- a/include/capstone/capstone.h
+++ b/include/capstone/capstone.h
@@ -9,6 +9,7 @@
#endif
#include <stdarg.h>
+
#if defined(CAPSTONE_HAS_OSXKERNEL)
#include <libkern/libkern.h>
#else
@@ -21,12 +22,14 @@
#ifdef _MSC_VER
#pragma warning(disable:4201)
#pragma warning(disable:4100)
+#define CAPSTONE_API __cdecl
#ifdef CAPSTONE_SHARED
#define CAPSTONE_EXPORT __declspec(dllexport)
#else // defined(CAPSTONE_STATIC)
#define CAPSTONE_EXPORT
#endif
#else
+#define CAPSTONE_API
#ifdef __GNUC__
#define CAPSTONE_EXPORT __attribute__((visibility("default")))
#else
@@ -113,11 +116,11 @@
CS_MODE_MIPS64 = CS_MODE_64, // Mips64 ISA (Mips)
} cs_mode;
-typedef void* (*cs_malloc_t)(size_t size);
-typedef void* (*cs_calloc_t)(size_t nmemb, size_t size);
-typedef void* (*cs_realloc_t)(void *ptr, size_t size);
-typedef void (*cs_free_t)(void *ptr);
-typedef int (*cs_vsnprintf_t)(char *str, size_t size, const char *format, va_list ap);
+typedef void* (CAPSTONE_API *cs_malloc_t)(size_t size);
+typedef void* (CAPSTONE_API *cs_calloc_t)(size_t nmemb, size_t size);
+typedef void* (CAPSTONE_API *cs_realloc_t)(void *ptr, size_t size);
+typedef void (CAPSTONE_API *cs_free_t)(void *ptr);
+typedef int (CAPSTONE_API *cs_vsnprintf_t)(char *str, size_t size, const char *format, va_list ap);
// User-defined dynamic memory related functions: malloc/calloc/realloc/free/vsnprintf()
@@ -143,7 +146,8 @@
// Runtime option for the disassembled engine
typedef enum cs_opt_type {
- CS_OPT_SYNTAX = 1, // Assembly output syntax
+ CS_OPT_INVALID = 0, // No option specified
+ CS_OPT_SYNTAX, // Assembly output syntax
CS_OPT_DETAIL, // Break down instruction structure into details
CS_OPT_MODE, // Change engine's mode at run-time
CS_OPT_MEM, // User-defined dynamic memory related functions
@@ -206,7 +210,7 @@
@return: return number of bytes to skip, or 0 to immediately stop disassembling.
*/
-typedef size_t (*cs_skipdata_cb_t)(const uint8_t *code, size_t code_size, size_t offset, void *user_data);
+typedef size_t (CAPSTONE_API *cs_skipdata_cb_t)(const uint8_t *code, size_t code_size, size_t offset, void *user_data);
// User-customized setup for SKIPDATA option
typedef struct cs_opt_skipdata {
@@ -357,7 +361,7 @@
set both @major & @minor arguments to NULL.
*/
CAPSTONE_EXPORT
-unsigned int cs_version(int *major, int *minor);
+unsigned int CAPSTONE_API cs_version(int *major, int *minor);
/*
@@ -374,7 +378,7 @@
@return True if this library supports the given arch, or in 'diet' mode.
*/
CAPSTONE_EXPORT
-bool cs_support(int query);
+bool CAPSTONE_API cs_support(int query);
/*
Initialize CS handle: this must be done before any usage of CS.
@@ -387,7 +391,7 @@
for detailed error).
*/
CAPSTONE_EXPORT
-cs_err cs_open(cs_arch arch, cs_mode mode, csh *handle);
+cs_err CAPSTONE_API cs_open(cs_arch arch, cs_mode mode, csh *handle);
/*
Close CS handle: MUST do to release the handle when it is not used anymore.
@@ -404,7 +408,7 @@
for detailed error).
*/
CAPSTONE_EXPORT
-cs_err cs_close(csh *handle);
+cs_err CAPSTONE_API cs_close(csh *handle);
/*
Set option for disassembling engine at runtime
@@ -421,7 +425,7 @@
even before cs_open()
*/
CAPSTONE_EXPORT
-cs_err cs_option(csh handle, cs_opt_type type, size_t value);
+cs_err CAPSTONE_API cs_option(csh handle, cs_opt_type type, size_t value);
/*
Report the last error number when some API function fail.
@@ -432,7 +436,7 @@
@return: error code of cs_err enum type (CS_ERR_*, see above)
*/
CAPSTONE_EXPORT
-cs_err cs_errno(csh handle);
+cs_err CAPSTONE_API cs_errno(csh handle);
/*
@@ -444,7 +448,7 @@
passed in the argument @code
*/
CAPSTONE_EXPORT
-const char *cs_strerror(cs_err code);
+const char * CAPSTONE_API cs_strerror(cs_err code);
/*
Disassemble binary code, given the code buffer, size, address and number
@@ -480,7 +484,7 @@
On failure, call cs_errno() for error code.
*/
CAPSTONE_EXPORT
-size_t cs_disasm(csh handle,
+size_t CAPSTONE_API cs_disasm(csh handle,
const uint8_t *code, size_t code_size,
uint64_t address,
size_t count,
@@ -492,7 +496,7 @@
*/
CAPSTONE_EXPORT
CAPSTONE_DEPRECATED
-size_t cs_disasm_ex(csh handle,
+size_t CAPSTONE_API cs_disasm_ex(csh handle,
const uint8_t *code, size_t code_size,
uint64_t address,
size_t count,
@@ -506,7 +510,7 @@
to free memory allocated by cs_malloc().
*/
CAPSTONE_EXPORT
-void cs_free(cs_insn *insn, size_t count);
+void CAPSTONE_API cs_free(cs_insn *insn, size_t count);
/*
@@ -518,7 +522,7 @@
this instruction with cs_free(insn, 1)
*/
CAPSTONE_EXPORT
-cs_insn *cs_malloc(csh handle);
+cs_insn * CAPSTONE_API cs_malloc(csh handle);
/*
Fast API to disassemble binary code, given the code buffer, size, address
@@ -556,7 +560,7 @@
On failure, call cs_errno() for error code.
*/
CAPSTONE_EXPORT
-bool cs_disasm_iter(csh handle,
+bool CAPSTONE_API cs_disasm_iter(csh handle,
const uint8_t **code, size_t *size,
uint64_t *address, cs_insn *insn);
@@ -574,7 +578,7 @@
@return: string name of the register, or NULL if @reg_id is invalid.
*/
CAPSTONE_EXPORT
-const char *cs_reg_name(csh handle, unsigned int reg_id);
+const char * CAPSTONE_API cs_reg_name(csh handle, unsigned int reg_id);
/*
Return friendly name of an instruction in a string.
@@ -589,7 +593,7 @@
@return: string name of the instruction, or NULL if @insn_id is invalid.
*/
CAPSTONE_EXPORT
-const char *cs_insn_name(csh handle, unsigned int insn_id);
+const char * CAPSTONE_API cs_insn_name(csh handle, unsigned int insn_id);
/*
Return friendly name of a group id (that an instruction can belong to)
@@ -604,7 +608,7 @@
@return: string name of the group, or NULL if @group_id is invalid.
*/
CAPSTONE_EXPORT
-const char *cs_group_name(csh handle, unsigned int group_id);
+const char * CAPSTONE_API cs_group_name(csh handle, unsigned int group_id);
/*
Check if a disassembled instruction belong to a particular group.
@@ -623,7 +627,7 @@
@return: true if this instruction indeed belongs to aboved group, or false otherwise.
*/
CAPSTONE_EXPORT
-bool cs_insn_group(csh handle, const cs_insn *insn, unsigned int group_id);
+bool CAPSTONE_API cs_insn_group(csh handle, const cs_insn *insn, unsigned int group_id);
/*
Check if a disassembled instruction IMPLICITLY used a particular register.
@@ -641,7 +645,7 @@
@return: true if this instruction indeed implicitly used aboved register, or false otherwise.
*/
CAPSTONE_EXPORT
-bool cs_reg_read(csh handle, const cs_insn *insn, unsigned int reg_id);
+bool CAPSTONE_API cs_reg_read(csh handle, const cs_insn *insn, unsigned int reg_id);
/*
Check if a disassembled instruction IMPLICITLY modified a particular register.
@@ -659,7 +663,7 @@
@return: true if this instruction indeed implicitly modified aboved register, or false otherwise.
*/
CAPSTONE_EXPORT
-bool cs_reg_write(csh handle, const cs_insn *insn, unsigned int reg_id);
+bool CAPSTONE_API cs_reg_write(csh handle, const cs_insn *insn, unsigned int reg_id);
/*
Count the number of operands of a given type.
@@ -675,7 +679,7 @@
or -1 on failure.
*/
CAPSTONE_EXPORT
-int cs_op_count(csh handle, const cs_insn *insn, unsigned int op_type);
+int CAPSTONE_API cs_op_count(csh handle, const cs_insn *insn, unsigned int op_type);
/*
Retrieve the position of operand of given type in <arch>.operands[] array.
@@ -694,7 +698,7 @@
in instruction @insn, or -1 on failure.
*/
CAPSTONE_EXPORT
-int cs_op_index(csh handle, const cs_insn *insn, unsigned int op_type,
+int CAPSTONE_API cs_op_index(csh handle, const cs_insn *insn, unsigned int op_type,
unsigned int position);
// Type of array to keep the list of registers
@@ -718,7 +722,7 @@
for detailed error).
*/
CAPSTONE_EXPORT
-cs_err cs_regs_access(csh handle, const cs_insn *insn,
+cs_err CAPSTONE_API cs_regs_access(csh handle, const cs_insn *insn,
cs_regs regs_read, uint8_t *regs_read_count,
cs_regs regs_write, uint8_t *regs_write_count);
diff --git a/include/capstone/m68k.h b/include/capstone/m68k.h
index 91f69e5..39d1a6a 100644
--- a/include/capstone/m68k.h
+++ b/include/capstone/m68k.h
@@ -103,7 +103,7 @@
M68K_AM_ABSOLUTE_DATA_SHORT, // Absolute Data Addressing - Short
M68K_AM_ABSOLUTE_DATA_LONG, // Absolute Data Addressing - Long
- M68K_AM_IMMIDIATE, // Immediate value
+ M68K_AM_IMMEDIATE, // Immediate value
} m68k_address_mode;
//> Operand type for instruction's operands
@@ -112,7 +112,8 @@
M68K_OP_REG, // = CS_OP_REG (Register operand).
M68K_OP_IMM, // = CS_OP_IMM (Immediate operand).
M68K_OP_MEM, // = CS_OP_MEM (Memory operand).
- M68K_OP_FP, // = CS_OP_FP (Floating-Point operand)
+ M68K_OP_FP_SINGLE, // single precision Floating-Point operand
+ M68K_OP_FP_DOUBLE, // double precision Floating-Point operand
M68K_OP_REG_BITS, // Register bits move
M68K_OP_REG_PAIR, // Register pair in the same op (upper 4 bits for first reg, lower for second)
} m68k_op_type;
@@ -136,12 +137,16 @@
// Instruction operand
typedef struct cs_m68k_op {
union {
- uint64_t imm; // immediate value for IMM operand
+ uint64_t imm; // immediate value for IMM operand
double dimm; // double imm
float simm; // float imm
m68k_reg reg; // register value for REG operand
+ struct { // register pair in one operand
+ m68k_reg reg_0;
+ m68k_reg reg_1;
+ } reg_pair;
m68k_op_mem mem; // data when operand is targeting memory
- uint32_t register_bits; // register bits for movem/cas2/etc (always in d0-d7, a0-a7, fp0 - fp7 order)
+ uint32_t register_bits; // register bits for movem etc. (always in d0-d7, a0-a7, fp0 - fp7 order)
};
m68k_op_type type;
m68k_address_mode address_mode; // M68K addressing mode for this op
diff --git a/include/capstone/mips.h b/include/capstone/mips.h
index 31b6696..5a710f9 100644
--- a/include/capstone/mips.h
+++ b/include/capstone/mips.h
@@ -898,6 +898,16 @@
//> Generic groups
// all jump instructions (conditional+direct+indirect jumps)
MIPS_GRP_JUMP, // = CS_GRP_JUMP
+ // all call instructions
+ MIPS_GRP_CALL, // = CS_GRP_CALL
+ // all return instructions
+ MIPS_GRP_RET, // = CS_GRP_RET
+ // all interrupt instructions (int+syscall)
+ MIPS_GRP_INT, // = CS_GRP_INT
+ // all interrupt return instructions
+ MIPS_GRP_IRET, // = CS_GRP_IRET
+ // all privileged instructions
+ MIPS_GRP_PRIVILEGE, // = CS_GRP_PRIVILEGE
//> Architecture-specific groups
MIPS_GRP_BITCOUNT = 128,
diff --git a/include/capstone/platform.h b/include/capstone/platform.h
index b0a313c..7455b8a 100644
--- a/include/capstone/platform.h
+++ b/include/capstone/platform.h
@@ -1,34 +1,110 @@
/* Capstone Disassembly Engine */
/* By Axel Souchet & Nguyen Anh Quynh, 2014 */
-// handle C99 issue (for pre-2013 VisualStudio)
#ifndef CAPSTONE_PLATFORM_H
#define CAPSTONE_PLATFORM_H
-#if defined(_WIN32_WCE) && (_WIN32_WCE < 0x800)
-#include "windowsce/stdint.h"
-#else // Platforms where stdint.h is provided
-#include <stdint.h>
-#endif
+// handle C99 issue (for pre-2013 VisualStudio)
#if !defined(__CYGWIN__) && !defined(__MINGW32__) && !defined(__MINGW64__) && (defined (WIN32) || defined (WIN64) || defined (_WIN32) || defined (_WIN64))
// MSVC
// stdbool.h
-#if (_MSC_VER < 1800)
+#if (_MSC_VER < 1800) || defined(_KERNEL_MODE)
+// this system does not have stdbool.h
#ifndef __cplusplus
typedef unsigned char bool;
#define false 0
#define true 1
-#endif
+#endif // __cplusplus
#else
// VisualStudio 2013+ -> C99 is supported
#include <stdbool.h>
-#endif
+#endif // (_MSC_VER < 1800) || defined(_KERNEL_MODE)
-#else // not MSVC -> C99 is supported
+#else
+// not MSVC -> C99 is supported
#include <stdbool.h>
-#endif
+#endif // !defined(__CYGWIN__) && !defined(__MINGW32__) && !defined(__MINGW64__) && (defined (WIN32) || defined (WIN64) || defined (_WIN32) || defined (_WIN64))
+
+
+// handle inttypes.h / stdint.h compatibility
+#if defined(_WIN32_WCE) && (_WIN32_WCE < 0x800)
+#include "windowsce/stdint.h"
+#endif // defined(_WIN32_WCE) && (_WIN32_WCE < 0x800)
+
+#if defined(CAPSTONE_HAS_OSXKERNEL) || (defined(_MSC_VER) && (_MSC_VER <= 1700 || defined(_KERNEL_MODE)))
+// this system does not have inttypes.h
+
+#if defined(_MSC_VER) && (_MSC_VER <= 1700 || defined(_KERNEL_MODE))
+// this system does not have stdint.h
+typedef signed char int8_t;
+typedef signed short int16_t;
+typedef signed int int32_t;
+typedef unsigned char uint8_t;
+typedef unsigned short uint16_t;
+typedef unsigned int uint32_t;
+typedef signed long long int64_t;
+typedef unsigned long long uint64_t;
+
+#define INT8_MIN (-127i8 - 1)
+#define INT16_MIN (-32767i16 - 1)
+#define INT32_MIN (-2147483647i32 - 1)
+#define INT64_MIN (-9223372036854775807i64 - 1)
+#define INT8_MAX 127i8
+#define INT16_MAX 32767i16
+#define INT32_MAX 2147483647i32
+#define INT64_MAX 9223372036854775807i64
+#define UINT8_MAX 0xffui8
+#define UINT16_MAX 0xffffui16
+#define UINT32_MAX 0xffffffffui32
+#define UINT64_MAX 0xffffffffffffffffui64
+#endif // defined(_MSC_VER) && (_MSC_VER <= 1700 || defined(_KERNEL_MODE))
+
+#define __PRI_8_LENGTH_MODIFIER__ "hh"
+#define __PRI_64_LENGTH_MODIFIER__ "ll"
+
+#define PRId8 __PRI_8_LENGTH_MODIFIER__ "d"
+#define PRIi8 __PRI_8_LENGTH_MODIFIER__ "i"
+#define PRIo8 __PRI_8_LENGTH_MODIFIER__ "o"
+#define PRIu8 __PRI_8_LENGTH_MODIFIER__ "u"
+#define PRIx8 __PRI_8_LENGTH_MODIFIER__ "x"
+#define PRIX8 __PRI_8_LENGTH_MODIFIER__ "X"
+
+#define PRId16 "hd"
+#define PRIi16 "hi"
+#define PRIo16 "ho"
+#define PRIu16 "hu"
+#define PRIx16 "hx"
+#define PRIX16 "hX"
+
+#if defined(_MSC_VER) && _MSC_VER <= 1700
+#define PRId32 "ld"
+#define PRIi32 "li"
+#define PRIo32 "lo"
+#define PRIu32 "lu"
+#define PRIx32 "lx"
+#define PRIX32 "lX"
+#else // OSX
+#define PRId32 "d"
+#define PRIi32 "i"
+#define PRIo32 "o"
+#define PRIu32 "u"
+#define PRIx32 "x"
+#define PRIX32 "X"
+#endif // defined(_MSC_VER) && _MSC_VER <= 1700
+
+#define PRId64 __PRI_64_LENGTH_MODIFIER__ "d"
+#define PRIi64 __PRI_64_LENGTH_MODIFIER__ "i"
+#define PRIo64 __PRI_64_LENGTH_MODIFIER__ "o"
+#define PRIu64 __PRI_64_LENGTH_MODIFIER__ "u"
+#define PRIx64 __PRI_64_LENGTH_MODIFIER__ "x"
+#define PRIX64 __PRI_64_LENGTH_MODIFIER__ "X"
+
+#else
+// this system has inttypes.h by default
+#include <inttypes.h>
+#endif // defined(CAPSTONE_HAS_OSXKERNEL) || (defined(_MSC_VER) && (_MSC_VER <= 1700 || defined(_KERNEL_MODE)))
#endif
diff --git a/include/capstone/x86.h b/include/capstone/x86.h
index dbabbe6..a4fb97b 100644
--- a/include/capstone/x86.h
+++ b/include/capstone/x86.h
@@ -422,12 +422,8 @@
X86_INS_FCMOVU,
X86_INS_CMOVS,
X86_INS_CMP,
- X86_INS_CMPPD,
- X86_INS_CMPPS,
X86_INS_CMPSB,
- X86_INS_CMPSD,
X86_INS_CMPSQ,
- X86_INS_CMPSS,
X86_INS_CMPSW,
X86_INS_CMPXCHG16B,
X86_INS_CMPXCHG,
@@ -1074,10 +1070,6 @@
X86_INS_VBROADCASTI64X4,
X86_INS_VBROADCASTSD,
X86_INS_VBROADCASTSS,
- X86_INS_VCMPPD,
- X86_INS_VCMPPS,
- X86_INS_VCMPSD,
- X86_INS_VCMPSS,
X86_INS_VCOMPRESSPD,
X86_INS_VCOMPRESSPS,
X86_INS_VCVTDQ2PD,
@@ -1665,6 +1657,183 @@
X86_INS_FDISI8087_NOP,
X86_INS_FENI8087_NOP,
+ // pseudo instructions
+ X86_INS_CMPSS,
+ X86_INS_CMPEQSS,
+ X86_INS_CMPLTSS,
+ X86_INS_CMPLESS,
+ X86_INS_CMPUNORDSS,
+ X86_INS_CMPNEQSS,
+ X86_INS_CMPNLTSS,
+ X86_INS_CMPNLESS,
+ X86_INS_CMPORDSS,
+
+ X86_INS_CMPSD,
+ X86_INS_CMPEQSD,
+ X86_INS_CMPLTSD,
+ X86_INS_CMPLESD,
+ X86_INS_CMPUNORDSD,
+ X86_INS_CMPNEQSD,
+ X86_INS_CMPNLTSD,
+ X86_INS_CMPNLESD,
+ X86_INS_CMPORDSD,
+
+ X86_INS_CMPPS,
+ X86_INS_CMPEQPS,
+ X86_INS_CMPLTPS,
+ X86_INS_CMPLEPS,
+ X86_INS_CMPUNORDPS,
+ X86_INS_CMPNEQPS,
+ X86_INS_CMPNLTPS,
+ X86_INS_CMPNLEPS,
+ X86_INS_CMPORDPS,
+
+ X86_INS_CMPPD,
+ X86_INS_CMPEQPD,
+ X86_INS_CMPLTPD,
+ X86_INS_CMPLEPD,
+ X86_INS_CMPUNORDPD,
+ X86_INS_CMPNEQPD,
+ X86_INS_CMPNLTPD,
+ X86_INS_CMPNLEPD,
+ X86_INS_CMPORDPD,
+
+ X86_INS_VCMPSS,
+ X86_INS_VCMPEQSS,
+ X86_INS_VCMPLTSS,
+ X86_INS_VCMPLESS,
+ X86_INS_VCMPUNORDSS,
+ X86_INS_VCMPNEQSS,
+ X86_INS_VCMPNLTSS,
+ X86_INS_VCMPNLESS,
+ X86_INS_VCMPORDSS,
+ X86_INS_VCMPEQ_UQSS,
+ X86_INS_VCMPNGESS,
+ X86_INS_VCMPNGTSS,
+ X86_INS_VCMPFALSESS,
+ X86_INS_VCMPNEQ_OQSS,
+ X86_INS_VCMPGESS,
+ X86_INS_VCMPGTSS,
+ X86_INS_VCMPTRUESS,
+ X86_INS_VCMPEQ_OSSS,
+ X86_INS_VCMPLT_OQSS,
+ X86_INS_VCMPLE_OQSS,
+ X86_INS_VCMPUNORD_SSS,
+ X86_INS_VCMPNEQ_USSS,
+ X86_INS_VCMPNLT_UQSS,
+ X86_INS_VCMPNLE_UQSS,
+ X86_INS_VCMPORD_SSS,
+ X86_INS_VCMPEQ_USSS,
+ X86_INS_VCMPNGE_UQSS,
+ X86_INS_VCMPNGT_UQSS,
+ X86_INS_VCMPFALSE_OSSS,
+ X86_INS_VCMPNEQ_OSSS,
+ X86_INS_VCMPGE_OQSS,
+ X86_INS_VCMPGT_OQSS,
+ X86_INS_VCMPTRUE_USSS,
+
+ X86_INS_VCMPSD,
+ X86_INS_VCMPEQSD,
+ X86_INS_VCMPLTSD,
+ X86_INS_VCMPLESD,
+ X86_INS_VCMPUNORDSD,
+ X86_INS_VCMPNEQSD,
+ X86_INS_VCMPNLTSD,
+ X86_INS_VCMPNLESD,
+ X86_INS_VCMPORDSD,
+ X86_INS_VCMPEQ_UQSD,
+ X86_INS_VCMPNGESD,
+ X86_INS_VCMPNGTSD,
+ X86_INS_VCMPFALSESD,
+ X86_INS_VCMPNEQ_OQSD,
+ X86_INS_VCMPGESD,
+ X86_INS_VCMPGTSD,
+ X86_INS_VCMPTRUESD,
+ X86_INS_VCMPEQ_OSSD,
+ X86_INS_VCMPLT_OQSD,
+ X86_INS_VCMPLE_OQSD,
+ X86_INS_VCMPUNORD_SSD,
+ X86_INS_VCMPNEQ_USSD,
+ X86_INS_VCMPNLT_UQSD,
+ X86_INS_VCMPNLE_UQSD,
+ X86_INS_VCMPORD_SSD,
+ X86_INS_VCMPEQ_USSD,
+ X86_INS_VCMPNGE_UQSD,
+ X86_INS_VCMPNGT_UQSD,
+ X86_INS_VCMPFALSE_OSSD,
+ X86_INS_VCMPNEQ_OSSD,
+ X86_INS_VCMPGE_OQSD,
+ X86_INS_VCMPGT_OQSD,
+ X86_INS_VCMPTRUE_USSD,
+
+ X86_INS_VCMPPS,
+ X86_INS_VCMPEQPS,
+ X86_INS_VCMPLTPS,
+ X86_INS_VCMPLEPS,
+ X86_INS_VCMPUNORDPS,
+ X86_INS_VCMPNEQPS,
+ X86_INS_VCMPNLTPS,
+ X86_INS_VCMPNLEPS,
+ X86_INS_VCMPORDPS,
+ X86_INS_VCMPEQ_UQPS,
+ X86_INS_VCMPNGEPS,
+ X86_INS_VCMPNGTPS,
+ X86_INS_VCMPFALSEPS,
+ X86_INS_VCMPNEQ_OQPS,
+ X86_INS_VCMPGEPS,
+ X86_INS_VCMPGTPS,
+ X86_INS_VCMPTRUEPS,
+ X86_INS_VCMPEQ_OSPS,
+ X86_INS_VCMPLT_OQPS,
+ X86_INS_VCMPLE_OQPS,
+ X86_INS_VCMPUNORD_SPS,
+ X86_INS_VCMPNEQ_USPS,
+ X86_INS_VCMPNLT_UQPS,
+ X86_INS_VCMPNLE_UQPS,
+ X86_INS_VCMPORD_SPS,
+ X86_INS_VCMPEQ_USPS,
+ X86_INS_VCMPNGE_UQPS,
+ X86_INS_VCMPNGT_UQPS,
+ X86_INS_VCMPFALSE_OSPS,
+ X86_INS_VCMPNEQ_OSPS,
+ X86_INS_VCMPGE_OQPS,
+ X86_INS_VCMPGT_OQPS,
+ X86_INS_VCMPTRUE_USPS,
+
+ X86_INS_VCMPPD,
+ X86_INS_VCMPEQPD,
+ X86_INS_VCMPLTPD,
+ X86_INS_VCMPLEPD,
+ X86_INS_VCMPUNORDPD,
+ X86_INS_VCMPNEQPD,
+ X86_INS_VCMPNLTPD,
+ X86_INS_VCMPNLEPD,
+ X86_INS_VCMPORDPD,
+ X86_INS_VCMPEQ_UQPD,
+ X86_INS_VCMPNGEPD,
+ X86_INS_VCMPNGTPD,
+ X86_INS_VCMPFALSEPD,
+ X86_INS_VCMPNEQ_OQPD,
+ X86_INS_VCMPGEPD,
+ X86_INS_VCMPGTPD,
+ X86_INS_VCMPTRUEPD,
+ X86_INS_VCMPEQ_OSPD,
+ X86_INS_VCMPLT_OQPD,
+ X86_INS_VCMPLE_OQPD,
+ X86_INS_VCMPUNORD_SPD,
+ X86_INS_VCMPNEQ_USPD,
+ X86_INS_VCMPNLT_UQPD,
+ X86_INS_VCMPNLE_UQPD,
+ X86_INS_VCMPORD_SPD,
+ X86_INS_VCMPEQ_USPD,
+ X86_INS_VCMPNGE_UQPD,
+ X86_INS_VCMPNGT_UQPD,
+ X86_INS_VCMPFALSE_OSPD,
+ X86_INS_VCMPNEQ_OSPD,
+ X86_INS_VCMPGE_OQPD,
+ X86_INS_VCMPGT_OQPD,
+ X86_INS_VCMPTRUE_USPD,
+
X86_INS_ENDING, // mark the end of the list of insn
} x86_insn;
diff --git a/msvc/README b/msvc/README
index 97e5524..c7248fe 100644
--- a/msvc/README
+++ b/msvc/README
@@ -6,11 +6,17 @@
(1) Visual Studio 2010 or newer versions is required. Open "capstone.sln" to
build the libraries & test code with Visual Studio. The resulted binaries
- are put under either msvc/Debug or msvc/Release, depending on how you choose
- to compile them.
+ are put under either msvc/Debug, msvc/Release, msvc/x64/Debug, or
+ msvc/x64/Release, depending on how you choose to compile them.
(2) The solution (capstone.sln) & all project files (*.vcxproj) are made in
Visual Studio 2010, so if you open them using newer version, an extra step
- is needed to convert them to current version. Just accept this when
- asked at the initial dialog, and proceed to build the solution normally
- afterwards.
+ is needed to convert them to current version. Just accept this when
+ asked at the initial dialog, and proceed to build the solution normally
+ afterwards.
+
+(3) The capstone_static_winkernel and test_winkernel projects are for Windows
+ kernel drivers and excluded from build by default. In order to build them,
+ you need to install Visual Studio 2013 or newer versions, and Windows Driver
+ Kit 8.1 Update 1 or newer versions, then check "Build" check boxes for those
+ projects on the Configuration Manager through the [Build] menu.
diff --git a/msvc/capstone.sln b/msvc/capstone.sln
index 8109bd8..6b72ccf 100644
--- a/msvc/capstone.sln
+++ b/msvc/capstone.sln
@@ -75,6 +75,13 @@
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "capstone_dll", "capstone_dll\capstone_dll.vcxproj", "{2171C0E8-4915-49B9-AC23-A484FA08C126}"
EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "capstone_static_winkernel", "capstone_static_winkernel\capstone_static_winkernel.vcxproj", "{FE197816-EF84-4E8D-B29D-E0A6BA2B144B}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_winkernel", "test_winkernel\test_winkernel.vcxproj", "{C6E4974C-2CAF-499A-802A-FB906F86B4C8}"
+ ProjectSection(ProjectDependencies) = postProject
+ {FE197816-EF84-4E8D-B29D-E0A6BA2B144B} = {FE197816-EF84-4E8D-B29D-E0A6BA2B144B}
+ EndProjectSection
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
@@ -123,6 +130,14 @@
{CBE31473-7D0E-41F5-AFCB-8C8422ED8908}.Release|Win32.Build.0 = Release|Win32
{CBE31473-7D0E-41F5-AFCB-8C8422ED8908}.Release|x64.ActiveCfg = Release|x64
{CBE31473-7D0E-41F5-AFCB-8C8422ED8908}.Release|x64.Build.0 = Release|x64
+ {5B880AB5-E54F-11E3-8C65-B8E8563B7B00}.Debug|Win32.ActiveCfg = Debug|Win32
+ {5B880AB5-E54F-11E3-8C65-B8E8563B7B00}.Debug|Win32.Build.0 = Debug|Win32
+ {5B880AB5-E54F-11E3-8C65-B8E8563B7B00}.Debug|x64.ActiveCfg = Debug|x64
+ {5B880AB5-E54F-11E3-8C65-B8E8563B7B00}.Debug|x64.Build.0 = Debug|x64
+ {5B880AB5-E54F-11E3-8C65-B8E8563B7B00}.Release|Win32.ActiveCfg = Release|Win32
+ {5B880AB5-E54F-11E3-8C65-B8E8563B7B00}.Release|Win32.Build.0 = Release|Win32
+ {5B880AB5-E54F-11E3-8C65-B8E8563B7B00}.Release|x64.ActiveCfg = Release|x64
+ {5B880AB5-E54F-11E3-8C65-B8E8563B7B00}.Release|x64.Build.0 = Release|x64
{28B2D82F-3E95-4ECE-8118-0E891BD453E0}.Debug|Win32.ActiveCfg = Debug|Win32
{28B2D82F-3E95-4ECE-8118-0E891BD453E0}.Debug|Win32.Build.0 = Debug|Win32
{28B2D82F-3E95-4ECE-8118-0E891BD453E0}.Debug|x64.ActiveCfg = Debug|x64
@@ -171,14 +186,6 @@
{B09819BB-7EF1-4B04-945D-58117E6940A1}.Release|Win32.Build.0 = Release|Win32
{B09819BB-7EF1-4B04-945D-58117E6940A1}.Release|x64.ActiveCfg = Release|x64
{B09819BB-7EF1-4B04-945D-58117E6940A1}.Release|x64.Build.0 = Release|x64
- {2171C0E8-4915-49B9-AC23-A484FA08C126}.Debug|Win32.ActiveCfg = Debug|Win32
- {2171C0E8-4915-49B9-AC23-A484FA08C126}.Debug|Win32.Build.0 = Debug|Win32
- {2171C0E8-4915-49B9-AC23-A484FA08C126}.Debug|x64.ActiveCfg = Debug|x64
- {2171C0E8-4915-49B9-AC23-A484FA08C126}.Debug|x64.Build.0 = Debug|x64
- {2171C0E8-4915-49B9-AC23-A484FA08C126}.Release|Win32.ActiveCfg = Release|Win32
- {2171C0E8-4915-49B9-AC23-A484FA08C126}.Release|Win32.Build.0 = Release|Win32
- {2171C0E8-4915-49B9-AC23-A484FA08C126}.Release|x64.ActiveCfg = Release|x64
- {2171C0E8-4915-49B9-AC23-A484FA08C126}.Release|x64.Build.0 = Release|x64
{5B880AB5-E54F-11E3-8C65-B8E8563B7BDE}.Debug|Win32.ActiveCfg = Debug|Win32
{5B880AB5-E54F-11E3-8C65-B8E8563B7BDE}.Debug|Win32.Build.0 = Debug|Win32
{5B880AB5-E54F-11E3-8C65-B8E8563B7BDE}.Debug|x64.ActiveCfg = Debug|x64
@@ -203,6 +210,22 @@
{D622418C-A872-40D4-8C86-F3D996A4C823}.Release|Win32.Build.0 = Release|Win32
{D622418C-A872-40D4-8C86-F3D996A4C823}.Release|x64.ActiveCfg = Release|x64
{D622418C-A872-40D4-8C86-F3D996A4C823}.Release|x64.Build.0 = Release|x64
+ {2171C0E8-4915-49B9-AC23-A484FA08C126}.Debug|Win32.ActiveCfg = Debug|Win32
+ {2171C0E8-4915-49B9-AC23-A484FA08C126}.Debug|Win32.Build.0 = Debug|Win32
+ {2171C0E8-4915-49B9-AC23-A484FA08C126}.Debug|x64.ActiveCfg = Debug|x64
+ {2171C0E8-4915-49B9-AC23-A484FA08C126}.Debug|x64.Build.0 = Debug|x64
+ {2171C0E8-4915-49B9-AC23-A484FA08C126}.Release|Win32.ActiveCfg = Release|Win32
+ {2171C0E8-4915-49B9-AC23-A484FA08C126}.Release|Win32.Build.0 = Release|Win32
+ {2171C0E8-4915-49B9-AC23-A484FA08C126}.Release|x64.ActiveCfg = Release|x64
+ {2171C0E8-4915-49B9-AC23-A484FA08C126}.Release|x64.Build.0 = Release|x64
+ {FE197816-EF84-4E8D-B29D-E0A6BA2B144B}.Debug|Win32.ActiveCfg = Debug|Win32
+ {FE197816-EF84-4E8D-B29D-E0A6BA2B144B}.Debug|x64.ActiveCfg = Debug|x64
+ {FE197816-EF84-4E8D-B29D-E0A6BA2B144B}.Release|Win32.ActiveCfg = Release|Win32
+ {FE197816-EF84-4E8D-B29D-E0A6BA2B144B}.Release|x64.ActiveCfg = Release|x64
+ {C6E4974C-2CAF-499A-802A-FB906F86B4C8}.Debug|Win32.ActiveCfg = Debug|Win32
+ {C6E4974C-2CAF-499A-802A-FB906F86B4C8}.Debug|x64.ActiveCfg = Debug|x64
+ {C6E4974C-2CAF-499A-802A-FB906F86B4C8}.Release|Win32.ActiveCfg = Release|Win32
+ {C6E4974C-2CAF-499A-802A-FB906F86B4C8}.Release|x64.ActiveCfg = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/msvc/capstone_static_winkernel/capstone_static_winkernel.vcxproj b/msvc/capstone_static_winkernel/capstone_static_winkernel.vcxproj
new file mode 100644
index 0000000..2420031
--- /dev/null
+++ b/msvc/capstone_static_winkernel/capstone_static_winkernel.vcxproj
@@ -0,0 +1,175 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\arch\AArch64\AArch64BaseInfo.c" />
+ <ClCompile Include="..\..\arch\AArch64\AArch64Disassembler.c" />
+ <ClCompile Include="..\..\arch\AArch64\AArch64InstPrinter.c" />
+ <ClCompile Include="..\..\arch\AArch64\AArch64Mapping.c" />
+ <ClCompile Include="..\..\arch\AArch64\AArch64Module.c" />
+ <ClCompile Include="..\..\arch\ARM\ARMDisassembler.c" />
+ <ClCompile Include="..\..\arch\ARM\ARMInstPrinter.c" />
+ <ClCompile Include="..\..\arch\ARM\ARMMapping.c" />
+ <ClCompile Include="..\..\arch\ARM\ARMModule.c" />
+ <ClCompile Include="..\..\arch\M68K\M68KDisassembler.c" />
+ <ClCompile Include="..\..\arch\M68K\M68KInstPrinter.c" />
+ <ClCompile Include="..\..\arch\M68K\M68KModule.c" />
+ <ClCompile Include="..\..\arch\Mips\MipsDisassembler.c" />
+ <ClCompile Include="..\..\arch\Mips\MipsInstPrinter.c" />
+ <ClCompile Include="..\..\arch\Mips\MipsMapping.c" />
+ <ClCompile Include="..\..\arch\Mips\MipsModule.c" />
+ <ClCompile Include="..\..\arch\PowerPC\PPCDisassembler.c" />
+ <ClCompile Include="..\..\arch\PowerPC\PPCInstPrinter.c" />
+ <ClCompile Include="..\..\arch\PowerPC\PPCMapping.c" />
+ <ClCompile Include="..\..\arch\PowerPC\PPCModule.c" />
+ <ClCompile Include="..\..\arch\Sparc\SparcDisassembler.c" />
+ <ClCompile Include="..\..\arch\Sparc\SparcInstPrinter.c" />
+ <ClCompile Include="..\..\arch\Sparc\SparcMapping.c" />
+ <ClCompile Include="..\..\arch\Sparc\SparcModule.c" />
+ <ClCompile Include="..\..\arch\SystemZ\SystemZDisassembler.c" />
+ <ClCompile Include="..\..\arch\SystemZ\SystemZInstPrinter.c" />
+ <ClCompile Include="..\..\arch\SystemZ\SystemZMapping.c" />
+ <ClCompile Include="..\..\arch\SystemZ\SystemZMCTargetDesc.c" />
+ <ClCompile Include="..\..\arch\SystemZ\SystemZModule.c" />
+ <ClCompile Include="..\..\arch\X86\X86ATTInstPrinter.c" />
+ <ClCompile Include="..\..\arch\X86\X86Disassembler.c" />
+ <ClCompile Include="..\..\arch\X86\X86DisassemblerDecoder.c" />
+ <ClCompile Include="..\..\arch\X86\X86IntelInstPrinter.c" />
+ <ClCompile Include="..\..\arch\X86\X86Mapping.c" />
+ <ClCompile Include="..\..\arch\X86\X86Module.c" />
+ <ClCompile Include="..\..\arch\XCore\XCoreInstPrinter.c" />
+ <ClCompile Include="..\..\arch\XCore\XCoreDisassembler.c" />
+ <ClCompile Include="..\..\arch\XCore\XCoreMapping.c" />
+ <ClCompile Include="..\..\arch\XCore\XCoreModule.c" />
+ <ClCompile Include="..\..\cs.c" />
+ <ClCompile Include="..\..\MCInst.c" />
+ <ClCompile Include="..\..\MCInstrDesc.c" />
+ <ClCompile Include="..\..\MCRegisterInfo.c" />
+ <ClCompile Include="..\..\SStream.c" />
+ <ClCompile Include="..\..\utils.c" />
+ <ClCompile Include="..\..\windows\winkernel_mm.c" />
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{FE197816-EF84-4E8D-B29D-E0A6BA2B144B}</ProjectGuid>
+ <TemplateGuid>{1bc93793-694f-48fe-9372-81e2b05556fd}</TemplateGuid>
+ <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+ <MinimumVisualStudioVersion>11.0</MinimumVisualStudioVersion>
+ <Configuration>Win8.1 Debug</Configuration>
+ <Platform Condition="'$(Platform)' == ''">Win32</Platform>
+ <RootNamespace>capstone_static_winkernel</RootNamespace>
+ <ProjectName>capstone_static_winkernel</ProjectName>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <TargetVersion>Windows7</TargetVersion>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>WindowsKernelModeDriver8.1</PlatformToolset>
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <DriverType>KMDF</DriverType>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <TargetVersion>Windows7</TargetVersion>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>WindowsKernelModeDriver8.1</PlatformToolset>
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <DriverType>KMDF</DriverType>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <TargetVersion>Windows7</TargetVersion>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>WindowsKernelModeDriver8.1</PlatformToolset>
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <DriverType>KMDF</DriverType>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <TargetVersion>Windows7</TargetVersion>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>WindowsKernelModeDriver8.1</PlatformToolset>
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <DriverType>KMDF</DriverType>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <DebuggerFlavor>DbgengKernelDebugger</DebuggerFlavor>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <DebuggerFlavor>DbgengKernelDebugger</DebuggerFlavor>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <DebuggerFlavor>DbgengKernelDebugger</DebuggerFlavor>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <DebuggerFlavor>DbgengKernelDebugger</DebuggerFlavor>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <WppScanConfigurationData Condition="'%(ClCompile. ScanConfigurationData)' == ''">trace.h</WppScanConfigurationData>
+ <WppKernelMode>true</WppKernelMode>
+ <AdditionalIncludeDirectories>..\..\include;..\headers;$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>CAPSTONE_X86_ATT_DISABLE_NO;CAPSTONE_DIET_NO;CAPSTONE_X86_REDUCE_NO;CAPSTONE_HAS_ARM;CAPSTONE_HAS_ARM64;CAPSTONE_HAS_MIPS;CAPSTONE_HAS_M68K;CAPSTONE_HAS_POWERPC;CAPSTONE_HAS_SPARC;CAPSTONE_HAS_SYSZ;CAPSTONE_HAS_X86;CAPSTONE_HAS_XCORE;CAPSTONE_USE_SYS_DYN_MEM;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <TreatWarningAsError>false</TreatWarningAsError>
+ <WarningLevel>Level3</WarningLevel>
+ </ClCompile>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <WppScanConfigurationData Condition="'%(ClCompile. ScanConfigurationData)' == ''">trace.h</WppScanConfigurationData>
+ <WppKernelMode>true</WppKernelMode>
+ <AdditionalIncludeDirectories>..\..\include;..\headers;$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>CAPSTONE_X86_ATT_DISABLE_NO;CAPSTONE_DIET_NO;CAPSTONE_X86_REDUCE_NO;CAPSTONE_HAS_ARM;CAPSTONE_HAS_ARM64;CAPSTONE_HAS_MIPS;CAPSTONE_HAS_M68K;CAPSTONE_HAS_POWERPC;CAPSTONE_HAS_SPARC;CAPSTONE_HAS_SYSZ;CAPSTONE_HAS_X86;CAPSTONE_HAS_XCORE;CAPSTONE_USE_SYS_DYN_MEM;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <TreatWarningAsError>false</TreatWarningAsError>
+ <WarningLevel>Level3</WarningLevel>
+ </ClCompile>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <WppScanConfigurationData Condition="'%(ClCompile. ScanConfigurationData)' == ''">trace.h</WppScanConfigurationData>
+ <WppKernelMode>true</WppKernelMode>
+ <AdditionalIncludeDirectories>..\..\include;..\headers;$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>CAPSTONE_X86_ATT_DISABLE_NO;CAPSTONE_DIET_NO;CAPSTONE_X86_REDUCE_NO;CAPSTONE_HAS_ARM;CAPSTONE_HAS_ARM64;CAPSTONE_HAS_MIPS;CAPSTONE_HAS_M68K;CAPSTONE_HAS_POWERPC;CAPSTONE_HAS_SPARC;CAPSTONE_HAS_SYSZ;CAPSTONE_HAS_X86;CAPSTONE_HAS_XCORE;CAPSTONE_USE_SYS_DYN_MEM;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <TreatWarningAsError>false</TreatWarningAsError>
+ <WarningLevel>Level3</WarningLevel>
+ </ClCompile>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <WppScanConfigurationData Condition="'%(ClCompile. ScanConfigurationData)' == ''">trace.h</WppScanConfigurationData>
+ <WppKernelMode>true</WppKernelMode>
+ <AdditionalIncludeDirectories>..\..\include;..\headers;$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>CAPSTONE_X86_ATT_DISABLE_NO;CAPSTONE_DIET_NO;CAPSTONE_X86_REDUCE_NO;CAPSTONE_HAS_ARM;CAPSTONE_HAS_ARM64;CAPSTONE_HAS_MIPS;CAPSTONE_HAS_M68K;CAPSTONE_HAS_POWERPC;CAPSTONE_HAS_SPARC;CAPSTONE_HAS_SYSZ;CAPSTONE_HAS_X86;CAPSTONE_HAS_XCORE;CAPSTONE_USE_SYS_DYN_MEM;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <TreatWarningAsError>false</TreatWarningAsError>
+ <WarningLevel>Level3</WarningLevel>
+ </ClCompile>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <FilesToPackage Include="$(TargetPath)" />
+ <FilesToPackage Include="@(Inf->'%(CopyOutput)')" Condition="'@(Inf)'!=''" />
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/msvc/test_basic/test_basic.vcxproj b/msvc/test_basic/test_basic.vcxproj
index a14a776..c410ccd 100644
--- a/msvc/test_basic/test_basic.vcxproj
+++ b/msvc/test_basic/test_basic.vcxproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
@@ -29,27 +29,23 @@
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
diff --git a/msvc/test_winkernel/test_winkernel.vcxproj b/msvc/test_winkernel/test_winkernel.vcxproj
new file mode 100644
index 0000000..ce84275
--- /dev/null
+++ b/msvc/test_winkernel/test_winkernel.vcxproj
@@ -0,0 +1,138 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{C6E4974C-2CAF-499A-802A-FB906F86B4C8}</ProjectGuid>
+ <TemplateGuid>{1bc93793-694f-48fe-9372-81e2b05556fd}</TemplateGuid>
+ <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+ <MinimumVisualStudioVersion>11.0</MinimumVisualStudioVersion>
+ <Configuration>Win8.1 Debug</Configuration>
+ <Platform Condition="'$(Platform)' == ''">Win32</Platform>
+ <RootNamespace>test_winkernel</RootNamespace>
+ <ProjectName>test_winkernel</ProjectName>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <TargetVersion>Windows7</TargetVersion>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>WindowsKernelModeDriver8.1</PlatformToolset>
+ <ConfigurationType>Driver</ConfigurationType>
+ <DriverType>KMDF</DriverType>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <TargetVersion>Windows7</TargetVersion>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>WindowsKernelModeDriver8.1</PlatformToolset>
+ <ConfigurationType>Driver</ConfigurationType>
+ <DriverType>KMDF</DriverType>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <TargetVersion>Windows7</TargetVersion>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>WindowsKernelModeDriver8.1</PlatformToolset>
+ <ConfigurationType>Driver</ConfigurationType>
+ <DriverType>KMDF</DriverType>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <TargetVersion>Windows7</TargetVersion>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>WindowsKernelModeDriver8.1</PlatformToolset>
+ <ConfigurationType>Driver</ConfigurationType>
+ <DriverType>KMDF</DriverType>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <DebuggerFlavor>DbgengKernelDebugger</DebuggerFlavor>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <DebuggerFlavor>DbgengKernelDebugger</DebuggerFlavor>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <DebuggerFlavor>DbgengKernelDebugger</DebuggerFlavor>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <DebuggerFlavor>DbgengKernelDebugger</DebuggerFlavor>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <WppScanConfigurationData Condition="'%(ClCompile. ScanConfigurationData)' == ''">trace.h</WppScanConfigurationData>
+ <WppKernelMode>true</WppKernelMode>
+ <AdditionalIncludeDirectories>..\..\include;..\headers;$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>CAPSTONE_X86_ATT_DISABLE_NO;CAPSTONE_DIET_NO;CAPSTONE_X86_REDUCE_NO;CAPSTONE_HAS_ARM;CAPSTONE_HAS_ARM64;CAPSTONE_HAS_M68K;CAPSTONE_HAS_MIPS;CAPSTONE_HAS_POWERPC;CAPSTONE_HAS_SPARC;CAPSTONE_HAS_SYSZ;CAPSTONE_HAS_X86;CAPSTONE_HAS_XCORE;CAPSTONE_USE_SYS_DYN_MEM;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ <Link>
+ <AdditionalDependencies>capstone_static_winkernel.lib;ntstrsafe.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalLibraryDirectories>..\Debug</AdditionalLibraryDirectories>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <WppScanConfigurationData Condition="'%(ClCompile. ScanConfigurationData)' == ''">trace.h</WppScanConfigurationData>
+ <WppKernelMode>true</WppKernelMode>
+ <AdditionalIncludeDirectories>..\..\include;..\headers;$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>CAPSTONE_X86_ATT_DISABLE_NO;CAPSTONE_DIET_NO;CAPSTONE_X86_REDUCE_NO;CAPSTONE_HAS_ARM;CAPSTONE_HAS_ARM64;CAPSTONE_HAS_M68K;CAPSTONE_HAS_MIPS;CAPSTONE_HAS_POWERPC;CAPSTONE_HAS_SPARC;CAPSTONE_HAS_SYSZ;CAPSTONE_HAS_X86;CAPSTONE_HAS_XCORE;CAPSTONE_USE_SYS_DYN_MEM;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ <Link>
+ <AdditionalDependencies>capstone_static_winkernel.lib;ntstrsafe.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalLibraryDirectories>..\Release</AdditionalLibraryDirectories>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <WppScanConfigurationData Condition="'%(ClCompile. ScanConfigurationData)' == ''">trace.h</WppScanConfigurationData>
+ <WppKernelMode>true</WppKernelMode>
+ <AdditionalIncludeDirectories>..\..\include;..\headers;$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>CAPSTONE_X86_ATT_DISABLE_NO;CAPSTONE_DIET_NO;CAPSTONE_X86_REDUCE_NO;CAPSTONE_HAS_ARM;CAPSTONE_HAS_ARM64;CAPSTONE_HAS_M68K;CAPSTONE_HAS_MIPS;CAPSTONE_HAS_POWERPC;CAPSTONE_HAS_SPARC;CAPSTONE_HAS_SYSZ;CAPSTONE_HAS_X86;CAPSTONE_HAS_XCORE;CAPSTONE_USE_SYS_DYN_MEM;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ <Link>
+ <AdditionalDependencies>capstone_static_winkernel.lib;ntstrsafe.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalLibraryDirectories>..\x64\Debug</AdditionalLibraryDirectories>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <WppScanConfigurationData Condition="'%(ClCompile. ScanConfigurationData)' == ''">trace.h</WppScanConfigurationData>
+ <WppKernelMode>true</WppKernelMode>
+ <AdditionalIncludeDirectories>..\..\include;..\headers;$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>CAPSTONE_X86_ATT_DISABLE_NO;CAPSTONE_DIET_NO;CAPSTONE_X86_REDUCE_NO;CAPSTONE_HAS_ARM;CAPSTONE_HAS_ARM64;CAPSTONE_HAS_M68K;CAPSTONE_HAS_MIPS;CAPSTONE_HAS_POWERPC;CAPSTONE_HAS_SPARC;CAPSTONE_HAS_SYSZ;CAPSTONE_HAS_X86;CAPSTONE_HAS_XCORE;CAPSTONE_USE_SYS_DYN_MEM;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ <Link>
+ <AdditionalDependencies>capstone_static_winkernel.lib;ntstrsafe.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalLibraryDirectories>..\x64\Release</AdditionalLibraryDirectories>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <FilesToPackage Include="$(TargetPath)" />
+ <FilesToPackage Include="@(Inf->'%(CopyOutput)')" Condition="'@(Inf)'!=''" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\tests\test_winkernel.cpp" />
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/myinttypes.h b/myinttypes.h
deleted file mode 100644
index fe61331..0000000
--- a/myinttypes.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/* Capstone Disassembly Engine */
-/* By Axel Souchet, 2014 */
-
-#ifndef CS_MYINTTYPES_H
-#define CS_MYINTTYPES_H
-
-#if defined(CAPSTONE_HAS_OSXKERNEL) || (defined(_MSC_VER) && _MSC_VER <= 1700)
-// this system does not have inttypes.h
-
-#if defined(_MSC_VER) && _MSC_VER <= 1700
-typedef signed char int8_t;
-typedef signed short int16_t;
-typedef signed int int32_t;
-typedef unsigned char uint8_t;
-typedef unsigned short uint16_t;
-typedef unsigned int uint32_t;
-typedef signed long long int64_t;
-typedef unsigned long long uint64_t;
-#endif
-
-#define __PRI_8_LENGTH_MODIFIER__ "hh"
-#define __PRI_64_LENGTH_MODIFIER__ "ll"
-
-#define PRId8 __PRI_8_LENGTH_MODIFIER__ "d"
-#define PRIi8 __PRI_8_LENGTH_MODIFIER__ "i"
-#define PRIo8 __PRI_8_LENGTH_MODIFIER__ "o"
-#define PRIu8 __PRI_8_LENGTH_MODIFIER__ "u"
-#define PRIx8 __PRI_8_LENGTH_MODIFIER__ "x"
-#define PRIX8 __PRI_8_LENGTH_MODIFIER__ "X"
-
-#define PRId16 "hd"
-#define PRIi16 "hi"
-#define PRIo16 "ho"
-#define PRIu16 "hu"
-#define PRIx16 "hx"
-#define PRIX16 "hX"
-
-#if defined(_MSC_VER) && _MSC_VER <= 1700
-#define PRId32 "ld"
-#define PRIi32 "li"
-#define PRIo32 "lo"
-#define PRIu32 "lu"
-#define PRIx32 "lx"
-#define PRIX32 "lX"
-#else // OSX
-#define PRId32 "d"
-#define PRIi32 "i"
-#define PRIo32 "o"
-#define PRIu32 "u"
-#define PRIx32 "x"
-#define PRIX32 "X"
-#endif
-
-#define PRId64 __PRI_64_LENGTH_MODIFIER__ "d"
-#define PRIi64 __PRI_64_LENGTH_MODIFIER__ "i"
-#define PRIo64 __PRI_64_LENGTH_MODIFIER__ "o"
-#define PRIu64 __PRI_64_LENGTH_MODIFIER__ "u"
-#define PRIx64 __PRI_64_LENGTH_MODIFIER__ "x"
-#define PRIX64 __PRI_64_LENGTH_MODIFIER__ "X"
-
-#else // this system has inttypes.h by default
-#include <inttypes.h>
-#endif
-
-#endif
diff --git a/suite/arm/test_arm_regression.c b/suite/arm/test_arm_regression.c
index a6cdc1c..d6bff5c 100644
--- a/suite/arm/test_arm_regression.c
+++ b/suite/arm/test_arm_regression.c
@@ -9,8 +9,8 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
-#include "../../myinttypes.h"
+#include <capstone/platform.h>
#include <capstone/capstone.h>
static csh handle;
diff --git a/suite/benchmark/test_iter_benchmark.c b/suite/benchmark/test_iter_benchmark.c
index 0c04b8f..7aa7c02 100644
--- a/suite/benchmark/test_iter_benchmark.c
+++ b/suite/benchmark/test_iter_benchmark.c
@@ -4,9 +4,9 @@
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
-#include "../myinttypes.h"
-#include <capstone.h>
+#include <capstone/platform.h>
+#include <capstone/capstone.h>
static void test()
{
diff --git a/suite/test_group_name.py b/suite/test_group_name.py
index df6f83b..7a746f8 100755
--- a/suite/test_group_name.py
+++ b/suite/test_group_name.py
@@ -83,6 +83,11 @@
mips_dict = {
MIPS_GRP_JUMP: "jump",
+ MIPS_GRP_CALL: "call",
+ MIPS_GRP_RET: "ret",
+ MIPS_GRP_INT: "int",
+ MIPS_GRP_IRET: "iret",
+ MIPS_GRP_PRIVILEGE: "privilege",
MIPS_GRP_BITCOUNT: "bitcount",
MIPS_GRP_DSP: "dsp",
MIPS_GRP_DSPR2: "dspr2",
diff --git a/tests/README b/tests/README
index 0296077..e5d3efb 100644
--- a/tests/README
+++ b/tests/README
@@ -26,3 +26,6 @@
- test_<arch>.c
These code show how to access architecture-specific information for each
architecture.
+
+- test_winkernel.cpp
+ This code shows how to use Capstone from a Windows driver.
diff --git a/tests/test_arm.c b/tests/test_arm.c
index f368a88..89a622c 100644
--- a/tests/test_arm.c
+++ b/tests/test_arm.c
@@ -3,8 +3,8 @@
#include <stdio.h>
#include <stdlib.h>
-#include "../myinttypes.h"
+#include <capstone/platform.h>
#include <capstone/capstone.h>
static csh handle;
@@ -30,7 +30,7 @@
printf("\n");
}
-static void print_insn_detail(csh handle, cs_insn *ins)
+static void print_insn_detail(csh cs_handle, cs_insn *ins)
{
cs_arm *arm;
int i;
@@ -52,22 +52,27 @@
default:
break;
case ARM_OP_REG:
- printf("\t\toperands[%u].type: REG = %s\n", i, cs_reg_name(handle, op->reg));
+ printf("\t\toperands[%u].type: REG = %s\n", i, cs_reg_name(cs_handle, op->reg));
break;
case ARM_OP_IMM:
printf("\t\toperands[%u].type: IMM = 0x%x\n", i, op->imm);
break;
case ARM_OP_FP:
+#if defined(_KERNEL_MODE)
+ // Issue #681: Windows kernel does not support formatting float point
+ printf("\t\toperands[%u].type: FP = <float_point_unsupported>\n", i);
+#else
printf("\t\toperands[%u].type: FP = %f\n", i, op->fp);
+#endif
break;
case ARM_OP_MEM:
printf("\t\toperands[%u].type: MEM\n", i);
- if (op->mem.base != X86_REG_INVALID)
+ if (op->mem.base != ARM_REG_INVALID)
printf("\t\t\toperands[%u].mem.base: REG = %s\n",
- i, cs_reg_name(handle, op->mem.base));
- if (op->mem.index != X86_REG_INVALID)
+ i, cs_reg_name(cs_handle, op->mem.base));
+ if (op->mem.index != ARM_REG_INVALID)
printf("\t\t\toperands[%u].mem.index: REG = %s\n",
- i, cs_reg_name(handle, op->mem.index));
+ i, cs_reg_name(cs_handle, op->mem.index));
if (op->mem.scale != 1)
printf("\t\t\toperands[%u].mem.scale: %u\n", i, op->mem.scale);
if (op->mem.disp != 0)
@@ -115,7 +120,7 @@
else
// shift with register
printf("\t\t\tShift: %u = %s\n", op->shift.type,
- cs_reg_name(handle, op->shift.value));
+ cs_reg_name(cs_handle, op->shift.value));
}
if (op->vector_index != -1) {
@@ -154,13 +159,13 @@
printf("\tMemory-barrier: %u\n", arm->mem_barrier);
// Print out all registers accessed by this instruction (either implicit or explicit)
- if (!cs_regs_access(handle, ins,
+ if (!cs_regs_access(cs_handle, ins,
regs_read, ®s_read_count,
regs_write, ®s_write_count)) {
if (regs_read_count) {
printf("\tRegisters read:");
for(i = 0; i < regs_read_count; i++) {
- printf(" %s", cs_reg_name(handle, regs_read[i]));
+ printf(" %s", cs_reg_name(cs_handle, regs_read[i]));
}
printf("\n");
}
@@ -168,7 +173,7 @@
if (regs_write_count) {
printf("\tRegisters modified:");
for(i = 0; i < regs_write_count; i++) {
- printf(" %s", cs_reg_name(handle, regs_write[i]));
+ printf(" %s", cs_reg_name(cs_handle, regs_write[i]));
}
printf("\n");
}
@@ -319,10 +324,10 @@
printf("Disasm:\n");
for (j = 0; j < count; j++) {
- printf("0x%"PRIx64":\t%s\t%s\n", insn[j].address, insn[j].mnemonic, insn[j].op_str);
+ printf("0x%" PRIx64 ":\t%s\t%s\n", insn[j].address, insn[j].mnemonic, insn[j].op_str);
print_insn_detail(handle, &insn[j]);
}
- printf("0x%"PRIx64":\n", insn[j-1].address + insn[j-1].size);
+ printf("0x%" PRIx64 ":\n", insn[j-1].address + insn[j-1].size);
// free memory allocated by cs_disasm()
cs_free(insn, count);
diff --git a/tests/test_arm64.c b/tests/test_arm64.c
index 9170ed4..4d77e5f 100644
--- a/tests/test_arm64.c
+++ b/tests/test_arm64.c
@@ -3,8 +3,8 @@
#include <stdio.h>
#include <stdlib.h>
-#include "../myinttypes.h"
+#include <capstone/platform.h>
#include <capstone/capstone.h>
static csh handle;
@@ -53,10 +53,15 @@
printf("\t\toperands[%u].type: REG = %s\n", i, cs_reg_name(handle, op->reg));
break;
case ARM64_OP_IMM:
- printf("\t\toperands[%u].type: IMM = 0x%"PRIx64 "\n", i, op->imm);
+ printf("\t\toperands[%u].type: IMM = 0x%" PRIx64 "\n", i, op->imm);
break;
case ARM64_OP_FP:
+#if defined(_KERNEL_MODE)
+ // Issue #681: Windows kernel does not support formatting float point
+ printf("\t\toperands[%u].type: FP = <float_point_unsupported>\n", i);
+#else
printf("\t\toperands[%u].type: FP = %f\n", i, op->fp);
+#endif
break;
case ARM64_OP_MEM:
printf("\t\toperands[%u].type: MEM\n", i);
@@ -249,10 +254,10 @@
printf("Disasm:\n");
for (j = 0; j < count; j++) {
- printf("0x%"PRIx64":\t%s\t%s\n", insn[j].address, insn[j].mnemonic, insn[j].op_str);
+ printf("0x%" PRIx64 ":\t%s\t%s\n", insn[j].address, insn[j].mnemonic, insn[j].op_str);
print_insn_detail(&insn[j]);
}
- printf("0x%"PRIx64":\n", insn[j-1].address + insn[j-1].size);
+ printf("0x%" PRIx64 ":\n", insn[j-1].address + insn[j-1].size);
// free memory allocated by cs_disasm()
cs_free(insn, count);
diff --git a/tests/test_basic.c b/tests/test_basic.c
index 47c8b00..8227e4d 100644
--- a/tests/test_basic.c
+++ b/tests/test_basic.c
@@ -3,8 +3,8 @@
#include <stdio.h>
#include <stdlib.h>
-#include "../myinttypes.h"
+#include <capstone/platform.h>
#include <capstone/capstone.h>
struct platform {
@@ -272,7 +272,7 @@
#ifdef CAPSTONE_HAS_M68K
{
CS_ARCH_M68K,
- CS_MODE_BIG_ENDIAN | CS_MODE_M68K_040,
+ (cs_mode)(CS_MODE_BIG_ENDIAN | CS_MODE_M68K_040),
(unsigned char*)M68K_CODE,
sizeof(M68K_CODE) - 1,
"M68K",
@@ -307,12 +307,12 @@
printf("Disasm:\n");
for (j = 0; j < count; j++) {
- printf("0x%"PRIx64":\t%s\t\t%s\n",
+ printf("0x%" PRIx64 ":\t%s\t\t%s\n",
insn[j].address, insn[j].mnemonic, insn[j].op_str);
}
// print out the next offset, after the last insn
- printf("0x%"PRIx64":\n", insn[j-1].address + insn[j-1].size);
+ printf("0x%" PRIx64 ":\n", insn[j-1].address + insn[j-1].size);
// free memory allocated by cs_disasm()
cs_free(insn, count);
diff --git a/tests/test_customized_mnem.c b/tests/test_customized_mnem.c
index 4a56bf1..913586e 100644
--- a/tests/test_customized_mnem.c
+++ b/tests/test_customized_mnem.c
@@ -6,8 +6,8 @@
#include <stdio.h>
#include <stdlib.h>
-#include "../myinttypes.h"
+#include <capstone/platform.h>
#include <capstone/capstone.h>
#define X86_CODE32 "\x75\x01"
diff --git a/tests/test_detail.c b/tests/test_detail.c
index d0931e8..fd914a1 100644
--- a/tests/test_detail.c
+++ b/tests/test_detail.c
@@ -3,8 +3,8 @@
#include <stdio.h>
#include <stdlib.h>
-#include "../myinttypes.h"
+#include <capstone/platform.h>
#include <capstone/capstone.h>
struct platform {
@@ -253,7 +253,7 @@
#ifdef CAPSTONE_HAS_M68K
{
CS_ARCH_M68K,
- CS_MODE_BIG_ENDIAN | CS_MODE_M68K_040,
+ (cs_mode)(CS_MODE_BIG_ENDIAN | CS_MODE_M68K_040),
(unsigned char*)M68K_CODE,
sizeof(M68K_CODE) - 1,
"M68K",
@@ -293,7 +293,7 @@
for (j = 0; j < count; j++) {
cs_insn *in = &(all_insn[j]);
- printf("0x%"PRIx64":\t%s\t\t%s // insn-ID: %u, insn-mnem: %s\n",
+ printf("0x%" PRIx64 ":\t%s\t\t%s // insn-ID: %u, insn-mnem: %s\n",
in->address, in->mnemonic, in->op_str,
in->id, cs_insn_name(handle, in->id));
@@ -328,7 +328,7 @@
}
// print out the next offset, after the last insn
- printf("0x%"PRIx64":\n", all_insn[j-1].address + all_insn[j-1].size);
+ printf("0x%" PRIx64 ":\n", all_insn[j-1].address + all_insn[j-1].size);
// free memory allocated by cs_disasm()
cs_free(all_insn, count);
diff --git a/tests/test_iter.c b/tests/test_iter.c
index 894f5c9..47f2f95 100644
--- a/tests/test_iter.c
+++ b/tests/test_iter.c
@@ -4,8 +4,8 @@
// This sample code demonstrates the APIs cs_malloc() & cs_disasm_iter().
#include <stdio.h>
#include <stdlib.h>
-#include "../myinttypes.h"
+#include <capstone/platform.h>
#include <capstone/capstone.h>
struct platform {
@@ -245,7 +245,7 @@
while(cs_disasm_iter(handle, &code, &size, &address, insn)) {
int n;
- printf("0x%"PRIx64":\t%s\t\t%s // insn-ID: %u, insn-mnem: %s\n",
+ printf("0x%" PRIx64 ":\t%s\t\t%s // insn-ID: %u, insn-mnem: %s\n",
insn->address, insn->mnemonic, insn->op_str,
insn->id, cs_insn_name(handle, insn->id));
diff --git a/tests/test_m68k.c b/tests/test_m68k.c
index 18883f9..cdaff48 100644
--- a/tests/test_m68k.c
+++ b/tests/test_m68k.c
@@ -2,8 +2,8 @@
/* By Nguyen Anh Quynh <aquynh@gmail.com>, 2013-2014 */
#include <stdio.h>
-#include "../myinttypes.h"
+#include <capstone/platform.h>
#include <capstone/capstone.h>
struct platform {
@@ -55,7 +55,7 @@
"Absolute Data Addressing - Short",
"Absolute Data Addressing - Long",
- "Immidate value",
+ "Immediate value",
};
static void print_insn_detail(cs_insn *ins)
@@ -85,16 +85,6 @@
printf("\t\toperands[%u].type: REG = %s\n", i, cs_reg_name(handle, op->reg));
break;
case M68K_OP_IMM:
- if (m68k->op_size.type == M68K_SIZE_TYPE_FPU) {
- if (m68k->op_size.fpu_size == M68K_FPU_SIZE_SINGLE)
- printf("\t\toperands[%u].type: IMM = %f\n", i, op->simm);
- else if (m68k->op_size.fpu_size == M68K_FPU_SIZE_DOUBLE)
- printf("\t\toperands[%u].type: IMM = %lf\n", i, op->dimm);
- else
- printf("\t\toperands[%u].type: IMM = <unsupported>\n", i);
- break;
- }
-
printf("\t\toperands[%u].type: IMM = 0x%x\n", i, (int)op->imm);
break;
case M68K_OP_MEM:
@@ -115,6 +105,14 @@
printf("\t\taddress mode: %s\n", s_addressing_modes[op->address_mode]);
break;
+ case M68K_OP_FP_SINGLE:
+ printf("\t\toperands[%u].type: FP_SINGLE\n", i);
+ printf("\t\t\toperands[%u].simm: %f\n", i, op->simm);
+ break;
+ case M68K_OP_FP_DOUBLE:
+ printf("\t\toperands[%u].type: FP_DOUBLE\n", i);
+ printf("\t\t\toperands[%u].dimm: %lf\n", i, op->dimm);
+ break;
}
}
@@ -130,7 +128,7 @@
struct platform platforms[] = {
{
CS_ARCH_M68K,
- CS_MODE_BIG_ENDIAN | CS_MODE_M68K_040,
+ (cs_mode)(CS_MODE_BIG_ENDIAN | CS_MODE_M68K_040),
(unsigned char*)M68K_CODE,
sizeof(M68K_CODE) - 1,
"M68K",
@@ -161,10 +159,10 @@
printf("Disasm:\n");
for (j = 0; j < count; j++) {
- printf("0x%"PRIx64":\t%s\t%s\n", insn[j].address, insn[j].mnemonic, insn[j].op_str);
+ printf("0x%" PRIx64 ":\t%s\t%s\n", insn[j].address, insn[j].mnemonic, insn[j].op_str);
print_insn_detail(&insn[j]);
}
- printf("0x%"PRIx64":\n", insn[j-1].address + insn[j-1].size);
+ printf("0x%" PRIx64 ":\n", insn[j-1].address + insn[j-1].size);
// free memory allocated by cs_disasm()
cs_free(insn, count);
diff --git a/tests/test_mips.c b/tests/test_mips.c
index 6cb751f..9e2927c 100644
--- a/tests/test_mips.c
+++ b/tests/test_mips.c
@@ -3,8 +3,8 @@
#include <stdio.h>
#include <stdlib.h>
-#include "../myinttypes.h"
+#include <capstone/platform.h>
#include <capstone/capstone.h>
struct platform {
@@ -51,11 +51,11 @@
printf("\t\toperands[%u].type: REG = %s\n", i, cs_reg_name(handle, op->reg));
break;
case MIPS_OP_IMM:
- printf("\t\toperands[%u].type: IMM = 0x%"PRIx64 "\n", i, op->imm);
+ printf("\t\toperands[%u].type: IMM = 0x%" PRIx64 "\n", i, op->imm);
break;
case MIPS_OP_MEM:
printf("\t\toperands[%u].type: MEM\n", i);
- if (op->mem.base != X86_REG_INVALID)
+ if (op->mem.base != MIPS_REG_INVALID)
printf("\t\t\toperands[%u].mem.base: REG = %s\n",
i, cs_reg_name(handle, op->mem.base));
if (op->mem.disp != 0)
@@ -138,10 +138,10 @@
printf("Disasm:\n");
for (j = 0; j < count; j++) {
- printf("0x%"PRIx64":\t%s\t%s\n", insn[j].address, insn[j].mnemonic, insn[j].op_str);
+ printf("0x%" PRIx64 ":\t%s\t%s\n", insn[j].address, insn[j].mnemonic, insn[j].op_str);
print_insn_detail(&insn[j]);
}
- printf("0x%"PRIx64":\n", insn[j-1].address + insn[j-1].size);
+ printf("0x%" PRIx64 ":\n", insn[j-1].address + insn[j-1].size);
// free memory allocated by cs_disasm()
cs_free(insn, count);
diff --git a/tests/test_ppc.c b/tests/test_ppc.c
index a1c8800..31e597f 100644
--- a/tests/test_ppc.c
+++ b/tests/test_ppc.c
@@ -2,8 +2,8 @@
/* By Nguyen Anh Quynh <aquynh@gmail.com>, 2013> */
#include <stdio.h>
-#include "../myinttypes.h"
+#include <capstone/platform.h>
#include <capstone/capstone.h>
struct platform {
@@ -83,7 +83,7 @@
break;
case PPC_OP_MEM:
printf("\t\toperands[%u].type: MEM\n", i);
- if (op->mem.base != X86_REG_INVALID)
+ if (op->mem.base != PPC_REG_INVALID)
printf("\t\t\toperands[%u].mem.base: REG = %s\n",
i, cs_reg_name(handle, op->mem.base));
if (op->mem.disp != 0)
@@ -126,7 +126,7 @@
},
{
CS_ARCH_PPC,
- CS_MODE_BIG_ENDIAN + CS_MODE_QPX,
+ (cs_mode)(CS_MODE_BIG_ENDIAN + CS_MODE_QPX),
(unsigned char*)PPC_CODE2,
sizeof(PPC_CODE2) - 1,
"PPC-64 + QPX",
@@ -157,10 +157,10 @@
printf("Disasm:\n");
for (j = 0; j < count; j++) {
- printf("0x%"PRIx64":\t%s\t%s\n", insn[j].address, insn[j].mnemonic, insn[j].op_str);
+ printf("0x%" PRIx64 ":\t%s\t%s\n", insn[j].address, insn[j].mnemonic, insn[j].op_str);
print_insn_detail(&insn[j]);
}
- printf("0x%"PRIx64":\n", insn[j-1].address + insn[j-1].size);
+ printf("0x%" PRIx64 ":\n", insn[j-1].address + insn[j-1].size);
// free memory allocated by cs_disasm()
cs_free(insn, count);
diff --git a/tests/test_skipdata.c b/tests/test_skipdata.c
index 8d3f94e..a625f41 100644
--- a/tests/test_skipdata.c
+++ b/tests/test_skipdata.c
@@ -3,8 +3,8 @@
#include <stdio.h>
#include <stdlib.h>
-#include "../myinttypes.h"
+#include <capstone/platform.h>
#include <capstone/capstone.h>
struct platform {
@@ -31,7 +31,7 @@
}
#ifdef CAPSTONE_HAS_ARM
-static size_t mycallback(const uint8_t *buffer, size_t buffer_size, size_t offset, void *p)
+static size_t CAPSTONE_API mycallback(const uint8_t *buffer, size_t buffer_size, size_t offset, void *p)
{
// always skip 2 bytes when encountering data
return 2;
@@ -74,7 +74,8 @@
(unsigned char*)X86_CODE32,
sizeof(X86_CODE32) - 1,
"X86 32 (Intel syntax) - Skip data with custom mnemonic",
- 0, 0,
+ CS_OPT_INVALID,
+ CS_OPT_OFF,
CS_OPT_SKIPDATA_SETUP,
(size_t) &skipdata,
},
@@ -93,7 +94,8 @@
(unsigned char*)RANDOM_CODE,
sizeof(RANDOM_CODE) - 1,
"Arm - Skip data with callback",
- 0, 0,
+ CS_OPT_INVALID,
+ CS_OPT_OFF,
CS_OPT_SKIPDATA_SETUP,
(size_t) &skipdata_callback,
},
@@ -131,12 +133,12 @@
printf("Disasm:\n");
for (j = 0; j < count; j++) {
- printf("0x%"PRIx64":\t%s\t\t%s\n",
+ printf("0x%" PRIx64 ":\t%s\t\t%s\n",
insn[j].address, insn[j].mnemonic, insn[j].op_str);
}
// print out the next offset, after the last insn
- printf("0x%"PRIx64":\n", insn[j-1].address + insn[j-1].size);
+ printf("0x%" PRIx64 ":\n", insn[j-1].address + insn[j-1].size);
// free memory allocated by cs_disasm()
cs_free(insn, count);
diff --git a/tests/test_sparc.c b/tests/test_sparc.c
index 8417cb9..8444b1f 100644
--- a/tests/test_sparc.c
+++ b/tests/test_sparc.c
@@ -2,8 +2,8 @@
/* By Nguyen Anh Quynh <aquynh@gmail.com>, 2013-2014 */
#include <stdio.h>
-#include "../myinttypes.h"
+#include <capstone/platform.h>
#include <capstone/capstone.h>
struct platform {
@@ -123,10 +123,10 @@
printf("Disasm:\n");
for (j = 0; j < count; j++) {
- printf("0x%"PRIx64":\t%s\t%s\n", insn[j].address, insn[j].mnemonic, insn[j].op_str);
+ printf("0x%" PRIx64 ":\t%s\t%s\n", insn[j].address, insn[j].mnemonic, insn[j].op_str);
print_insn_detail(&insn[j]);
}
- printf("0x%"PRIx64":\n", insn[j-1].address + insn[j-1].size);
+ printf("0x%" PRIx64 ":\n", insn[j-1].address + insn[j-1].size);
// free memory allocated by cs_disasm()
cs_free(insn, count);
diff --git a/tests/test_systemz.c b/tests/test_systemz.c
index 2b8ea3b..ec1af9d 100644
--- a/tests/test_systemz.c
+++ b/tests/test_systemz.c
@@ -2,8 +2,8 @@
/* By Nguyen Anh Quynh <aquynh@gmail.com>, 2013-2014 */
#include <stdio.h>
-#include "../myinttypes.h"
+#include <capstone/platform.h>
#include <capstone/capstone.h>
struct platform {
@@ -53,7 +53,7 @@
printf("\t\toperands[%u].type: ACREG = %u\n", i, op->reg);
break;
case SYSZ_OP_IMM:
- printf("\t\toperands[%u].type: IMM = 0x%"PRIx64"\n", i, op->imm);
+ printf("\t\toperands[%u].type: IMM = 0x%" PRIx64 "\n", i, op->imm);
break;
case SYSZ_OP_MEM:
printf("\t\toperands[%u].type: MEM\n", i);
@@ -64,9 +64,9 @@
printf("\t\t\toperands[%u].mem.index: REG = %s\n",
i, cs_reg_name(handle, op->mem.index));
if (op->mem.length != 0)
- printf("\t\t\toperands[%u].mem.length: 0x%"PRIx64"\n", i, op->mem.length);
+ printf("\t\t\toperands[%u].mem.length: 0x%" PRIx64 "\n", i, op->mem.length);
if (op->mem.disp != 0)
- printf("\t\t\toperands[%u].mem.disp: 0x%"PRIx64"\n", i, op->mem.disp);
+ printf("\t\t\toperands[%u].mem.disp: 0x%" PRIx64 "\n", i, op->mem.disp);
break;
}
@@ -116,10 +116,10 @@
printf("Disasm:\n");
for (j = 0; j < count; j++) {
- printf("0x%"PRIx64":\t%s\t%s\n", insn[j].address, insn[j].mnemonic, insn[j].op_str);
+ printf("0x%" PRIx64 ":\t%s\t%s\n", insn[j].address, insn[j].mnemonic, insn[j].op_str);
print_insn_detail(&insn[j]);
}
- printf("0x%"PRIx64":\n", insn[j-1].address + insn[j-1].size);
+ printf("0x%" PRIx64 ":\n", insn[j-1].address + insn[j-1].size);
// free memory allocated by cs_disasm()
cs_free(insn, count);
diff --git a/tests/test_winkernel.cpp b/tests/test_winkernel.cpp
new file mode 100644
index 0000000..dade779
--- /dev/null
+++ b/tests/test_winkernel.cpp
@@ -0,0 +1,171 @@
+/* Capstone Disassembly Engine */
+/* By Satoshi Tanda <tanda.sat@gmail.com>, 2016 */
+#include <ntddk.h>
+
+#include <capstone/platform.h>
+#include <capstone/capstone.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "../utils.h" // for cs_snprintf
+
+#ifdef __cplusplus
+}
+#endif
+
+EXTERN_C DRIVER_INITIALIZE DriverEntry;
+
+#pragma warning(push)
+#pragma warning(disable : 4005) // 'identifier' : macro redefinition
+#pragma warning(disable : 4007) // 'main': must be '__cdecl'
+
+// Drivers must protect floating point hardware state. See use of float simm:
+// Use KeSaveFloatingPointState/KeRestoreFloatingPointState around floating
+// point operations. Display Drivers should use the corresponding Eng... routines.
+#pragma warning(disable : 28110) // Suppress this, as it is false positive.
+
+// "Import" existing tests into this file. All code is encaptured into unique
+// namespace so that the same name does not conflict. Beware that those code
+// is going to be compiled as C++ source file and not C files because this file
+// is C++.
+
+namespace basic {
+#include "test_basic.c"
+} // namespace basic
+
+namespace detail {
+#include "test_detail.c"
+} // namespace detail
+
+namespace skipdata {
+#include "test_skipdata.c"
+} // namespace skipdata
+
+namespace iter {
+#include "test_iter.c"
+} // namespace iter
+
+namespace customized_mnem_ {
+#include "test_customized_mnem.c"
+} // namespace customized_mnem_
+
+namespace arm {
+#include "test_arm.c"
+} // namespace arm
+
+namespace arm64 {
+#include "test_arm64.c"
+} // namespace arm64
+
+namespace mips {
+#include "test_mips.c"
+} // namespace mips
+
+namespace m68k {
+#include "test_m68k.c"
+} // namespace m68k
+
+namespace ppc {
+#include "test_ppc.c"
+} // namespace ppc
+
+namespace sparc {
+#include "test_sparc.c"
+} // namespace sparc
+
+namespace systemz {
+#include "test_systemz.c"
+} // namespace systemz
+
+namespace x86 {
+#include "test_x86.c"
+} // namespace x86
+
+namespace xcore {
+#include "test_xcore.c"
+} // namespace xcore
+
+#pragma warning(pop)
+
+// Exercises all existing regression tests
+static void test()
+{
+ KFLOATING_SAVE float_save;
+ NTSTATUS status;
+
+ // Any of Capstone APIs cannot be called at IRQL higher than DISPATCH_LEVEL
+ // since our malloc implementation using ExAllocatePoolWithTag() is able to
+ // allocate memory only up to the DISPATCH_LEVEL level.
+ NT_ASSERT(KeGetCurrentIrql() <= DISPATCH_LEVEL);
+
+ // On a 32bit driver, KeSaveFloatingPointState() is required before using any
+ // Capstone function because Capstone can access to the MMX/x87 registers and
+ // 32bit Windows requires drivers to use KeSaveFloatingPointState() before and
+ // KeRestoreFloatingPointState() after accesing to them. See "Using Floating
+ // Point or MMX in a WDM Driver" on MSDN for more details.
+ status = KeSaveFloatingPointState(&float_save);
+ if (!NT_SUCCESS(status)) {
+ printf("ERROR: Failed to save floating point state!\n");
+ return;
+ }
+
+ basic::test();
+ detail::test();
+ skipdata::test();
+ iter::test();
+ customized_mnem_::test();
+ arm::test();
+ arm64::test();
+ mips::test();
+ m68k::test();
+ ppc::test();
+ sparc::test();
+ systemz::test();
+ x86::test();
+ xcore::test();
+
+ // Restores the nonvolatile floating-point context.
+ KeRestoreFloatingPointState(&float_save);
+}
+
+// Functional test for cs_winkernel_vsnprintf()
+static void cs_winkernel_vsnprintf_test()
+{
+ char buf[10];
+ bool ok = true;
+ ok = (ok && cs_snprintf(buf, sizeof(buf), "%s", "") == 0 && strcmp(buf, "") == 0);
+ ok = (ok && cs_snprintf(buf, sizeof(buf), "%s", "0") == 1 && strcmp(buf, "0") == 0);
+ ok = (ok && cs_snprintf(buf, sizeof(buf), "%s", "012345678") == 9 && strcmp(buf, "012345678") == 0);
+ ok = (ok && cs_snprintf(buf, sizeof(buf), "%s", "0123456789") == 10 && strcmp(buf, "012345678") == 0);
+ ok = (ok && cs_snprintf(buf, sizeof(buf), "%s", "01234567890") == 11 && strcmp(buf, "012345678") == 0);
+ ok = (ok && cs_snprintf(buf, sizeof(buf), "%s", "0123456789001234567890") == 22 && strcmp(buf, "012345678") == 0);
+ if (!ok) {
+ printf("ERROR: cs_winkernel_vsnprintf_test() did not produce expected results!\n");
+ }
+}
+
+// Driver entry point
+EXTERN_C NTSTATUS DriverEntry(PDRIVER_OBJECT DriverObject, PUNICODE_STRING RegistryPath)
+{
+ UNREFERENCED_PARAMETER(DriverObject);
+ UNREFERENCED_PARAMETER(RegistryPath);
+ cs_winkernel_vsnprintf_test();
+ test();
+ return STATUS_CANCELLED;
+}
+
+// This functions mimics printf() but does not return the same value as printf()
+// would do. printf() is required to exercise regression tests.
+_Use_decl_annotations_
+int __cdecl printf(const char * format, ...)
+{
+ NTSTATUS status;
+ va_list args;
+
+ va_start(args, format);
+ status = vDbgPrintEx(DPFLTR_DEFAULT_ID, DPFLTR_ERROR_LEVEL, format, args);
+ va_end(args);
+ return NT_SUCCESS(status);
+}
diff --git a/tests/test_x86.c b/tests/test_x86.c
index c8c83c3..f3b7350 100644
--- a/tests/test_x86.c
+++ b/tests/test_x86.c
@@ -3,8 +3,8 @@
#include <stdio.h>
#include <stdlib.h>
-#include "../myinttypes.h"
+#include <capstone/platform.h>
#include <capstone/capstone.h>
static csh handle;
@@ -196,7 +196,7 @@
printf("\timm_count: %u\n", count);
for (i = 1; i < count + 1; i++) {
int index = cs_op_index(ud, ins, X86_OP_IMM, i);
- printf("\t\timms[%u]: 0x%"PRIx64 "\n", i, x86->operands[index].imm);
+ printf("\t\timms[%u]: 0x%" PRIx64 "\n", i, x86->operands[index].imm);
}
}
@@ -212,7 +212,7 @@
printf("\t\toperands[%u].type: REG = %s\n", i, cs_reg_name(handle, op->reg));
break;
case X86_OP_IMM:
- printf("\t\toperands[%u].type: IMM = 0x%"PRIx64 "\n", i, op->imm);
+ printf("\t\toperands[%u].type: IMM = 0x%" PRIx64 "\n", i, op->imm);
break;
case X86_OP_MEM:
printf("\t\toperands[%u].type: MEM\n", i);
@@ -378,10 +378,10 @@
printf("Disasm:\n");
for (j = 0; j < count; j++) {
- printf("0x%"PRIx64":\t%s\t%s\n\n", insn[j].address, insn[j].mnemonic, insn[j].op_str);
+ printf("0x%" PRIx64 ":\t%s\t%s\n\n", insn[j].address, insn[j].mnemonic, insn[j].op_str);
print_insn_detail(handle, platforms[i].mode, &insn[j]);
}
- printf("0x%"PRIx64":\n", insn[j-1].address + insn[j-1].size);
+ printf("0x%" PRIx64 ":\n", insn[j-1].address + insn[j-1].size);
// free memory allocated by cs_disasm()
cs_free(insn, count);
diff --git a/tests/test_xcore.c b/tests/test_xcore.c
index 778e152..b382ef6 100644
--- a/tests/test_xcore.c
+++ b/tests/test_xcore.c
@@ -2,8 +2,8 @@
/* By Nguyen Anh Quynh <aquynh@gmail.com>, 2013-2014 */
#include <stdio.h>
-#include "../myinttypes.h"
+#include <capstone/platform.h>
#include <capstone/capstone.h>
struct platform {
@@ -111,10 +111,10 @@
printf("Disasm:\n");
for (j = 0; j < count; j++) {
- printf("0x%"PRIx64":\t%s\t%s\n", insn[j].address, insn[j].mnemonic, insn[j].op_str);
+ printf("0x%" PRIx64 ":\t%s\t%s\n", insn[j].address, insn[j].mnemonic, insn[j].op_str);
print_insn_detail(&insn[j]);
}
- printf("0x%"PRIx64":\n", insn[j-1].address + insn[j-1].size);
+ printf("0x%" PRIx64 ":\n", insn[j-1].address + insn[j-1].size);
// free memory allocated by cs_disasm()
cs_free(insn, count);
diff --git a/windows/README b/windows/README
new file mode 100644
index 0000000..8d3ccbe
--- /dev/null
+++ b/windows/README
@@ -0,0 +1 @@
+This directory contains code specific to Windows platforms.
diff --git a/windows/winkernel_mm.c b/windows/winkernel_mm.c
new file mode 100644
index 0000000..08ca994
--- /dev/null
+++ b/windows/winkernel_mm.c
@@ -0,0 +1,116 @@
+/* Capstone Disassembly Engine */
+/* By Satoshi Tanda <tanda.sat@gmail.com>, 2016 */
+#include "winkernel_mm.h"
+#include <ntddk.h>
+
+// A pool tag for memory allocation
+static const ULONG CS_WINKERNEL_POOL_TAG = 'kwsC';
+
+
+// A structure to implement realloc()
+typedef struct _CS_WINKERNEL_MEMBLOCK {
+ size_t size; // A number of bytes allocated
+ char data[1]; // An address returned to a caller
+} CS_WINKERNEL_MEMBLOCK;
+C_ASSERT(sizeof(CS_WINKERNEL_MEMBLOCK) == sizeof(void *) * 2);
+
+
+// free()
+void CAPSTONE_API cs_winkernel_free(void *ptr)
+{
+ if (ptr) {
+ ExFreePoolWithTag(CONTAINING_RECORD(ptr, CS_WINKERNEL_MEMBLOCK, data), CS_WINKERNEL_POOL_TAG);
+ }
+}
+
+// malloc()
+void * CAPSTONE_API cs_winkernel_malloc(size_t size)
+{
+ // Disallow zero length allocation because they waste pool header space and,
+ // in many cases, indicate a potential validation issue in the calling code.
+ NT_ASSERT(size);
+
+ CS_WINKERNEL_MEMBLOCK *block = (CS_WINKERNEL_MEMBLOCK *)ExAllocatePoolWithTag(
+ NonPagedPoolNx, size + sizeof(CS_WINKERNEL_MEMBLOCK), CS_WINKERNEL_POOL_TAG);
+ if (!block) {
+ return NULL;
+ }
+ block->size = size;
+
+ return block->data;
+}
+
+// calloc()
+void * CAPSTONE_API cs_winkernel_calloc(size_t n, size_t size)
+{
+ size_t total = n * size;
+
+ void *new_ptr = cs_winkernel_malloc(total);
+ if (!new_ptr) {
+ return NULL;
+ }
+
+ return RtlFillMemory(new_ptr, total, 0);
+}
+
+// realloc()
+void * CAPSTONE_API cs_winkernel_realloc(void *ptr, size_t size)
+{
+ void *new_ptr = NULL;
+ size_t current_size = 0;
+ size_t smaller_size = 0;
+
+ if (!ptr) {
+ return cs_winkernel_malloc(size);
+ }
+
+ new_ptr = cs_winkernel_malloc(size);
+ if (!new_ptr) {
+ return NULL;
+ }
+
+ current_size = CONTAINING_RECORD(ptr, CS_WINKERNEL_MEMBLOCK, data)->size;
+ smaller_size = (current_size < size) ? current_size : size;
+ RtlCopyMemory(new_ptr, ptr, smaller_size);
+ cs_winkernel_free(ptr);
+
+ return new_ptr;
+}
+
+// vsnprintf(). _vsnprintf() is avaialable for drivers, but it differs from
+// vsnprintf() in a return value and when a null-terminater is set.
+// cs_winkernel_vsnprintf() takes care of those differences.
+#pragma warning(push)
+#pragma warning(disable : 28719) // Banned API Usage : _vsnprintf is a Banned
+// API as listed in dontuse.h for security
+// purposes.
+int CAPSTONE_API cs_winkernel_vsnprintf(char *buffer, size_t count, const char *format, va_list argptr)
+{
+ int result = _vsnprintf(buffer, count, format, argptr);
+
+ // _vsnprintf() returns -1 when a string is truncated, and returns "count"
+ // when an entire string is stored but without '\0' at the end of "buffer".
+ // In both cases, null-terminater needs to be added manually.
+ if (result == -1 || (size_t)result == count) {
+ buffer[count - 1] = '\0';
+ }
+
+ if (result == -1) {
+ // In case when -1 is returned, the function has to get and return a number
+ // of characters that would have been written. This attempts so by re-tring
+ // the same conversion with temp buffer that is most likely big enough to
+ // complete formatting and get a number of characters that would have been
+ // written.
+ char* tmp = cs_winkernel_malloc(0x1000);
+ if (!tmp) {
+ return result;
+ }
+
+ result = _vsnprintf(tmp, 0x1000, format, argptr);
+ NT_ASSERT(result != -1);
+ cs_winkernel_free(tmp);
+ }
+
+ return result;
+}
+#pragma warning(pop)
diff --git a/windows/winkernel_mm.h b/windows/winkernel_mm.h
new file mode 100644
index 0000000..2df3bfd
--- /dev/null
+++ b/windows/winkernel_mm.h
@@ -0,0 +1,22 @@
+/* Capstone Disassembly Engine */
+/* By Satoshi Tanda <tanda.sat@gmail.com>, 2016 */
+#ifndef CS_WINDOWS_WINKERNEL_MM_H
+#define CS_WINDOWS_WINKERNEL_MM_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <capstone/capstone.h>
+
+void CAPSTONE_API cs_winkernel_free(void *ptr);
+void * CAPSTONE_API cs_winkernel_malloc(size_t size);
+void * CAPSTONE_API cs_winkernel_calloc(size_t n, size_t size);
+void * CAPSTONE_API cs_winkernel_realloc(void *ptr, size_t size);
+int CAPSTONE_API cs_winkernel_vsnprintf(char *buffer, size_t count, const char *format, va_list argptr);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // CS_WINDOWS_WINKERNEL_MM_H
diff --git a/xcode/Capstone.xcodeproj/project.pbxproj b/xcode/Capstone.xcodeproj/project.pbxproj
index efe9e71..404f459 100644
--- a/xcode/Capstone.xcodeproj/project.pbxproj
+++ b/xcode/Capstone.xcodeproj/project.pbxproj
@@ -347,7 +347,6 @@
DC474F6B19DE6F3B00BCA449 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
DC5BFF4019EE544E008CA585 /* test_iter */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = test_iter; sourceTree = BUILT_PRODUCTS_DIR; };
DC5BFF4819EE54BE008CA585 /* test_iter.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = test_iter.c; path = ../tests/test_iter.c; sourceTree = "<group>"; };
- DC696C5E1AD4600200A56306 /* myinttypes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = myinttypes.h; path = ../myinttypes.h; sourceTree = "<group>"; };
DCA3577B1BC2C0290094BB3F /* M68KDisassembler.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = M68KDisassembler.c; sourceTree = "<group>"; };
DCA3577C1BC2C0290094BB3F /* M68KDisassembler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = M68KDisassembler.h; sourceTree = "<group>"; };
DCA3577D1BC2C0290094BB3F /* M68KInstPrinter.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = M68KInstPrinter.c; sourceTree = "<group>"; };
@@ -704,7 +703,6 @@
DCFE24B719DDCE1E00EF8EA9 /* MCInstrDesc.h */,
DCFE24A019DDCDEE00EF8EA9 /* MCRegisterInfo.c */,
DCFE24B819DDCE1E00EF8EA9 /* MCRegisterInfo.h */,
- DC696C5E1AD4600200A56306 /* myinttypes.h */,
DCFE24A119DDCDEE00EF8EA9 /* SStream.c */,
DCFE24B919DDCE1E00EF8EA9 /* SStream.h */,
DCFE24A219DDCDEE00EF8EA9 /* utils.c */,