diff --git a/bindings/Makefile b/bindings/Makefile index 5794ac1afc..72ab118d66 100644 --- a/bindings/Makefile +++ b/bindings/Makefile @@ -8,7 +8,7 @@ TEST_ARM64 = $(TMPDIR)/test_arm64 TEST_MIPS = $(TMPDIR)/test_mips TEST_X86 = $(TMPDIR)/test_x86 -all: expected python java #oclma ruby +tests: expected python java #oclma ruby expected: $(MAKE) -C ../tests @@ -20,12 +20,13 @@ expected: ../tests/test_x86 > $(TEST_X86)_e python: FORCE + $(MAKE) -C python python python/test.py > $(TEST)_o python python/test_arm.py > $(TEST_ARM)_o python python/test_arm64.py > $(TEST_ARM64)_o python python/test_mips.py > $(TEST_MIPS)_o python python/test_x86.py > $(TEST_X86)_o - $(MAKE) test + $(MAKE) test_diff java: FORCE $(MAKE) -C java @@ -34,13 +35,18 @@ java: FORCE cd java; ./run.sh arm64 > $(TEST_ARM64)_o cd java; ./run.sh mips > $(TEST_MIPS)_o cd java; ./run.sh x86 > $(TEST_X86)_o - $(MAKE) test + $(MAKE) test_diff -test: FORCE +test_diff: FORCE $(DIFF) $(TEST)_e $(TEST)_o $(DIFF) $(TEST_ARM)_e $(TEST_ARM)_o $(DIFF) $(TEST_ARM64)_e $(TEST_ARM64)_o $(DIFF) $(TEST_MIPS)_e $(TEST_MIPS)_o $(DIFF) $(TEST_X86)_e $(TEST_X86)_o +clean: + rm -rf $(TMPDIR) + $(MAKE) clean -C java + $(MAKE) clean -C python + FORCE: diff --git a/bindings/const_generator.py b/bindings/const_generator.py new file mode 100644 index 0000000000..23847adf6e --- /dev/null +++ b/bindings/const_generator.py @@ -0,0 +1,79 @@ +import sys, re + +INCL_DIR = '../include' + +include = [ + ('/arm.h', 'ARM_'), + ('/arm64.h', 'ARM64_'), + ('/x86.h', 'X86_'), + ('/mips.h', 'MIPS_'), +] + +template = { + 'java': { + 'header': "// AUTO-GENERATED FILE, DO NOT EDIT\npackage capstone;\n\npublic class %sconst {\n", + 'footer': "}", + 'line_format': '\tpublic static final int %s = %s;\n', + 'out_file': './java/capstone/%sconst.java', + }, + 'python': { + 'header': "# AUTO-GENERATED FILE, DO NOT EDIT [%s]\n", + 'footer': "", + 'line_format': '%s = %s\n', + 'out_file': './python/capstone/%sconst.py', + } +} + +def gen(templ): + global include, INCL_DIR + for target in include: + prefix = target[1]; + outfile = open(templ['out_file'] %(prefix.capitalize()), 'w') + outfile.write(templ['header'] % (prefix.capitalize())) + + lines = open(INCL_DIR + target[0]).readlines() + + count = 0 + for line in lines: + line = line.strip() + if line == '' or line.startswith('//'): + continue + if not line.startswith(prefix): + continue + + tmp = line.strip().split(',') + for t in tmp: + t = t.strip() + if not t or t.startswith('//'): continue + f = re.split('\s+', t) + + if f[0].startswith(prefix): + if len(f) > 1 and f[1] not in '//=': + print "Error: Unable to convert %s" % f + continue + elif len(f) > 1 and f[1] == '=': + rhs = f[2] + else: + rhs = str(count) + count += 1 + + if rhs == '0': + outfile.write("\n") + count = 1 + + outfile.write(templ['line_format'] %(f[0].strip(), rhs)) + + outfile.write(templ['footer']) + outfile.close() + +def main(): + try: + gen(template[sys.argv[1]]) + except: + raise RuntimeError("Unsupported binding %s" % sys.argv[1]) + +if __name__ == "__main__": + if len(sys.argv) < 2: + print "Usage:", sys.argv[0], " " + sys.exit(1) + main() diff --git a/bindings/java/Makefile b/bindings/java/Makefile index 494d7e8991..2d7eb4f4a2 100644 --- a/bindings/java/Makefile +++ b/bindings/java/Makefile @@ -12,9 +12,9 @@ else endif endif -CAPSTONE_JAVA = Capstone.java Arm.java Arm64.java Mips.java X86.java +CAPSTONE_JAVA = Capstone.java Arm_const.java Arm64_const.java Mips_const.java X86_const.java Arm.java Arm64.java Mips.java X86.java -all: capstone tests +all: gen_const capstone tests capstone: capstone_class jar cf capstone.jar capstone/*.class @@ -25,8 +25,12 @@ capstone_class: jna tests: jna javac -classpath "$(JNA):capstone.jar" Test.java TestArm.java TestArm64.java TestMips.java TestX86.java +gen_const: + cd ../; python const_generator.py java + jna: @if [ ! $(JNA) ]; then echo "*** Unable to find JNA ***"; exit 1; fi clean: + rm -rf capstone/*_const.java capstone/*.class rm -rf *.class *.log *.jar diff --git a/bindings/java/TestArm.java b/bindings/java/TestArm.java index 2e7d20038e..93f8a7efd3 100644 --- a/bindings/java/TestArm.java +++ b/bindings/java/TestArm.java @@ -8,6 +8,8 @@ import capstone.Capstone; import capstone.Arm; +import static capstone.Arm_const.*; + public class TestArm { static byte[] hexString2Byte(String s) { @@ -46,17 +48,17 @@ public static void print_ins_detail(Capstone.cs_insn ins) { for (int c=0; c 0) + if (i.shift.type != ARM_SFT_INVALID && i.shift.value > 0) System.out.printf("\t\t\tShift: type = %d, value = %d\n", i.shift.type, i.shift.value); } if (op_info.writeback) @@ -78,7 +80,7 @@ public static void print_ins_detail(Capstone.cs_insn ins) { if (op_info.update_flags) System.out.println("\tUpdate-flags: True"); - if (op_info.cc != Arm.ARM_CC_AL && op_info.cc != Arm.ARM_CC_INVALID) + if (op_info.cc != ARM_CC_AL && op_info.cc != ARM_CC_INVALID) System.out.printf("\tCode condition: %d\n", op_info.cc); } } diff --git a/bindings/java/TestArm64.java b/bindings/java/TestArm64.java index 085a707d84..e6f7ce38ee 100644 --- a/bindings/java/TestArm64.java +++ b/bindings/java/TestArm64.java @@ -8,6 +8,8 @@ import capstone.Capstone; import capstone.Arm64; +import static capstone.Arm64_const.*; + public class TestArm64 { static byte[] hexString2Byte(String s) { @@ -43,15 +45,15 @@ public static void print_ins_detail(Capstone.cs_insn ins) { for (int c=0; c 0) + if (i.shift.type != ARM64_SFT_INVALID && i.shift.value > 0) System.out.printf("\t\t\tShift: type = %d, value = %d\n", i.shift.type, i.shift.value); - if (i.ext != Arm64.ARM64_EXT_INVALID) + if (i.ext != ARM64_EXT_INVALID) System.out.printf("\t\t\tExt: %d\n", i.ext); } } @@ -75,7 +77,7 @@ public static void print_ins_detail(Capstone.cs_insn ins) { if (op_info.update_flags) System.out.println("\tUpdate-flags: True"); - if (op_info.cc != Arm64.ARM64_CC_AL && op_info.cc != Arm64.ARM64_CC_INVALID) + if (op_info.cc != ARM64_CC_AL && op_info.cc != ARM64_CC_INVALID) System.out.printf("\tCode condition: %d\n", op_info.cc); } diff --git a/bindings/java/TestMips.java b/bindings/java/TestMips.java index 8e1b49cc50..858dd2bac3 100644 --- a/bindings/java/TestMips.java +++ b/bindings/java/TestMips.java @@ -8,6 +8,8 @@ import capstone.Capstone; import capstone.Mips; +import static capstone.Mips_const.*; + public class TestMips { static byte[] hexString2Byte(String s) { @@ -44,11 +46,11 @@ public static void print_ins_detail(Capstone.cs_insn ins) { for (int c=0; c 0) { System.out.printf("\timm_count: %d\n", count); for (int i=0; i import ctypes, ctypes.util - -# ARM operand shift type -ARM_SFT_INVALID = 0 -ARM_SFT_ASR = 1 -ARM_SFT_LSL = 2 -ARM_SFT_LSR = 3 -ARM_SFT_ROR = 4 -ARM_SFT_RRX = 5 -ARM_SFT_ASR_REG = 6 -ARM_SFT_LSL_REG = 7 -ARM_SFT_LSR_REG = 8 -ARM_SFT_ROR_REG = 9 -ARM_SFT_RRX_REG = 10 - -# ARM code condition type -ARM_CC_INVALID = 0 -ARM_CC_EQ = 1 -ARM_CC_NE = 2 -ARM_CC_HS = 3 -ARM_CC_LO = 4 -ARM_CC_MI = 5 -ARM_CC_PL = 6 -ARM_CC_VS = 7 -ARM_CC_VC = 8 -ARM_CC_HI = 9 -ARM_CC_LS = 10 -ARM_CC_GE = 11 -ARM_CC_LT = 12 -ARM_CC_GT = 13 -ARM_CC_LE = 14 -ARM_CC_AL = 15 - -# Operand type -ARM_OP_INVALID = 0 # Uninitialized. -ARM_OP_REG = 1 # Register operand. -ARM_OP_CIMM = 2 # C-Immediate operand. -ARM_OP_PIMM = 3 # C-Immediate operand. -ARM_OP_IMM = 4 # Immediate operand. -ARM_OP_FP = 5 # Floating-Point immediate operand. -ARM_OP_MEM = 6 # Memory operand +from Arm_const import * # define the API class arm_op_mem(ctypes.Structure): @@ -89,601 +50,3 @@ def get_arch_info(arch): op_info.append(i) return (arch.cc, arch.update_flags, arch.writeback, op_info) -# ARM registers -ARM_REG_INVALID = 0 -ARM_REG_APSR = 1 -ARM_REG_APSR_NZCV = 2 -ARM_REG_CPSR = 3 -ARM_REG_FPEXC = 4 -ARM_REG_FPINST = 5 -ARM_REG_FPSCR = 6 -ARM_REG_FPSCR_NZCV = 7 -ARM_REG_FPSID = 8 -ARM_REG_ITSTATE = 9 -ARM_REG_LR = 10 -ARM_REG_PC = 11 -ARM_REG_SP = 12 -ARM_REG_SPSR = 13 -ARM_REG_D0 = 14 -ARM_REG_D1 = 15 -ARM_REG_D2 = 16 -ARM_REG_D3 = 17 -ARM_REG_D4 = 18 -ARM_REG_D5 = 19 -ARM_REG_D6 = 20 -ARM_REG_D7 = 21 -ARM_REG_D8 = 22 -ARM_REG_D9 = 23 -ARM_REG_D10 = 24 -ARM_REG_D11 = 25 -ARM_REG_D12 = 26 -ARM_REG_D13 = 27 -ARM_REG_D14 = 28 -ARM_REG_D15 = 29 -ARM_REG_D16 = 30 -ARM_REG_D17 = 31 -ARM_REG_D18 = 32 -ARM_REG_D19 = 33 -ARM_REG_D20 = 34 -ARM_REG_D21 = 35 -ARM_REG_D22 = 36 -ARM_REG_D23 = 37 -ARM_REG_D24 = 38 -ARM_REG_D25 = 39 -ARM_REG_D26 = 40 -ARM_REG_D27 = 41 -ARM_REG_D28 = 42 -ARM_REG_D29 = 43 -ARM_REG_D30 = 44 -ARM_REG_D31 = 45 -ARM_REG_FPINST2 = 46 -ARM_REG_MVFR0 = 47 -ARM_REG_MVFR1 = 48 -ARM_REG_Q0 = 49 -ARM_REG_Q1 = 50 -ARM_REG_Q2 = 51 -ARM_REG_Q3 = 52 -ARM_REG_Q4 = 53 -ARM_REG_Q5 = 54 -ARM_REG_Q6 = 55 -ARM_REG_Q7 = 56 -ARM_REG_Q8 = 57 -ARM_REG_Q9 = 58 -ARM_REG_Q10 = 59 -ARM_REG_Q11 = 60 -ARM_REG_Q12 = 61 -ARM_REG_Q13 = 62 -ARM_REG_Q14 = 63 -ARM_REG_Q15 = 64 -ARM_REG_R0 = 65 -ARM_REG_R1 = 66 -ARM_REG_R2 = 67 -ARM_REG_R3 = 68 -ARM_REG_R4 = 69 -ARM_REG_R5 = 70 -ARM_REG_R6 = 71 -ARM_REG_R7 = 72 -ARM_REG_R8 = 73 -ARM_REG_R9 = 74 -ARM_REG_R10 = 75 -ARM_REG_R11 = 76 -ARM_REG_R12 = 77 -ARM_REG_S0 = 78 -ARM_REG_S1 = 79 -ARM_REG_S2 = 80 -ARM_REG_S3 = 81 -ARM_REG_S4 = 82 -ARM_REG_S5 = 83 -ARM_REG_S6 = 84 -ARM_REG_S7 = 85 -ARM_REG_S8 = 86 -ARM_REG_S9 = 87 -ARM_REG_S10 = 88 -ARM_REG_S11 = 89 -ARM_REG_S12 = 90 -ARM_REG_S13 = 91 -ARM_REG_S14 = 92 -ARM_REG_S15 = 93 -ARM_REG_S16 = 94 -ARM_REG_S17 = 95 -ARM_REG_S18 = 96 -ARM_REG_S19 = 97 -ARM_REG_S20 = 98 -ARM_REG_S21 = 99 -ARM_REG_S22 = 100 -ARM_REG_S23 = 101 -ARM_REG_S24 = 102 -ARM_REG_S25 = 103 -ARM_REG_S26 = 104 -ARM_REG_S27 = 105 -ARM_REG_S28 = 106 -ARM_REG_S29 = 107 -ARM_REG_S30 = 108 -ARM_REG_S31 = 109 - -# ARM instructions -ARM_INS_INVALID = 0 -ARM_INS_ADC = 1 -ARM_INS_ADD = 2 -ARM_INS_ADR = 3 -ARM_INS_AESD_8 = 4 -ARM_INS_AESE_8 = 5 -ARM_INS_AESIMC_8 = 6 -ARM_INS_AESMC_8 = 7 -ARM_INS_AND = 8 -ARM_INS_BFC = 9 -ARM_INS_BFI = 10 -ARM_INS_BIC = 11 -ARM_INS_BKPT = 12 -ARM_INS_BL = 13 -ARM_INS_BLX = 14 -ARM_INS_BX = 15 -ARM_INS_BXJ = 16 -ARM_INS_B = 17 -ARM_INS_CDP = 18 -ARM_INS_CDP2 = 19 -ARM_INS_CLREX = 20 -ARM_INS_CLZ = 21 -ARM_INS_CMN = 22 -ARM_INS_CMP = 23 -ARM_INS_CPS = 24 -ARM_INS_CRC32B = 25 -ARM_INS_CRC32CB = 26 -ARM_INS_CRC32CH = 27 -ARM_INS_CRC32CW = 28 -ARM_INS_CRC32H = 29 -ARM_INS_CRC32W = 30 -ARM_INS_DBG = 31 -ARM_INS_DMB = 32 -ARM_INS_DSB = 33 -ARM_INS_EOR = 34 -ARM_INS_VMOV = 35 -ARM_INS_FLDMDBX = 36 -ARM_INS_FLDMIAX = 37 -ARM_INS_VMRS = 38 -ARM_INS_FSTMDBX = 39 -ARM_INS_FSTMIAX = 40 -ARM_INS_HINT = 41 -ARM_INS_HLT = 42 -ARM_INS_ISB = 43 -ARM_INS_LDA = 44 -ARM_INS_LDAB = 45 -ARM_INS_LDAEX = 46 -ARM_INS_LDAEXB = 47 -ARM_INS_LDAEXD = 48 -ARM_INS_LDAEXH = 49 -ARM_INS_LDAH = 50 -ARM_INS_LDC2L = 51 -ARM_INS_LDC2 = 52 -ARM_INS_LDCL = 53 -ARM_INS_LDC = 54 -ARM_INS_LDMDA = 55 -ARM_INS_LDMDB = 56 -ARM_INS_LDM = 57 -ARM_INS_LDMIB = 58 -ARM_INS_LDRBT = 59 -ARM_INS_LDRB = 60 -ARM_INS_LDRD = 61 -ARM_INS_LDREX = 62 -ARM_INS_LDREXB = 63 -ARM_INS_LDREXD = 64 -ARM_INS_LDREXH = 65 -ARM_INS_LDRH = 66 -ARM_INS_LDRHT = 67 -ARM_INS_LDRSB = 68 -ARM_INS_LDRSBT = 69 -ARM_INS_LDRSH = 70 -ARM_INS_LDRSHT = 71 -ARM_INS_LDRT = 72 -ARM_INS_LDR = 73 -ARM_INS_MCR = 74 -ARM_INS_MCR2 = 75 -ARM_INS_MCRR = 76 -ARM_INS_MCRR2 = 77 -ARM_INS_MLA = 78 -ARM_INS_MLS = 79 -ARM_INS_MOV = 80 -ARM_INS_MOVT = 81 -ARM_INS_MOVW = 82 -ARM_INS_MRC = 83 -ARM_INS_MRC2 = 84 -ARM_INS_MRRC = 85 -ARM_INS_MRRC2 = 86 -ARM_INS_MRS = 87 -ARM_INS_MSR = 88 -ARM_INS_MUL = 89 -ARM_INS_MVN = 90 -ARM_INS_ORR = 91 -ARM_INS_PKHBT = 92 -ARM_INS_PKHTB = 93 -ARM_INS_PLDW = 94 -ARM_INS_PLD = 95 -ARM_INS_PLI = 96 -ARM_INS_QADD = 97 -ARM_INS_QADD16 = 98 -ARM_INS_QADD8 = 99 -ARM_INS_QASX = 100 -ARM_INS_QDADD = 101 -ARM_INS_QDSUB = 102 -ARM_INS_QSAX = 103 -ARM_INS_QSUB = 104 -ARM_INS_QSUB16 = 105 -ARM_INS_QSUB8 = 106 -ARM_INS_RBIT = 107 -ARM_INS_REV = 108 -ARM_INS_REV16 = 109 -ARM_INS_REVSH = 110 -ARM_INS_RFEDA = 111 -ARM_INS_RFEDB = 112 -ARM_INS_RFEIA = 113 -ARM_INS_RFEIB = 114 -ARM_INS_RSB = 115 -ARM_INS_RSC = 116 -ARM_INS_SADD16 = 117 -ARM_INS_SADD8 = 118 -ARM_INS_SASX = 119 -ARM_INS_SBC = 120 -ARM_INS_SBFX = 121 -ARM_INS_SDIV = 122 -ARM_INS_SEL = 123 -ARM_INS_SETEND = 124 -ARM_INS_SHA1C_32 = 125 -ARM_INS_SHA1H_32 = 126 -ARM_INS_SHA1M_32 = 127 -ARM_INS_SHA1P_32 = 128 -ARM_INS_SHA1SU0_32 = 129 -ARM_INS_SHA1SU1_32 = 130 -ARM_INS_SHA256H_32 = 131 -ARM_INS_SHA256H2_32 = 132 -ARM_INS_SHA256SU0_32 = 133 -ARM_INS_SHA256SU1_32 = 134 -ARM_INS_SHADD16 = 135 -ARM_INS_SHADD8 = 136 -ARM_INS_SHASX = 137 -ARM_INS_SHSAX = 138 -ARM_INS_SHSUB16 = 139 -ARM_INS_SHSUB8 = 140 -ARM_INS_SMC = 141 -ARM_INS_SMLABB = 142 -ARM_INS_SMLABT = 143 -ARM_INS_SMLAD = 144 -ARM_INS_SMLADX = 145 -ARM_INS_SMLAL = 146 -ARM_INS_SMLALBB = 147 -ARM_INS_SMLALBT = 148 -ARM_INS_SMLALD = 149 -ARM_INS_SMLALDX = 150 -ARM_INS_SMLALTB = 151 -ARM_INS_SMLALTT = 152 -ARM_INS_SMLATB = 153 -ARM_INS_SMLATT = 154 -ARM_INS_SMLAWB = 155 -ARM_INS_SMLAWT = 156 -ARM_INS_SMLSD = 157 -ARM_INS_SMLSDX = 158 -ARM_INS_SMLSLD = 159 -ARM_INS_SMLSLDX = 160 -ARM_INS_SMMLA = 161 -ARM_INS_SMMLAR = 162 -ARM_INS_SMMLS = 163 -ARM_INS_SMMLSR = 164 -ARM_INS_SMMUL = 165 -ARM_INS_SMMULR = 166 -ARM_INS_SMUAD = 167 -ARM_INS_SMUADX = 168 -ARM_INS_SMULBB = 169 -ARM_INS_SMULBT = 170 -ARM_INS_SMULL = 171 -ARM_INS_SMULTB = 172 -ARM_INS_SMULTT = 173 -ARM_INS_SMULWB = 174 -ARM_INS_SMULWT = 175 -ARM_INS_SMUSD = 176 -ARM_INS_SMUSDX = 177 -ARM_INS_SRSDA = 178 -ARM_INS_SRSDB = 179 -ARM_INS_SRSIA = 180 -ARM_INS_SRSIB = 181 -ARM_INS_SSAT = 182 -ARM_INS_SSAT16 = 183 -ARM_INS_SSAX = 184 -ARM_INS_SSUB16 = 185 -ARM_INS_SSUB8 = 186 -ARM_INS_STC2L = 187 -ARM_INS_STC2 = 188 -ARM_INS_STCL = 189 -ARM_INS_STC = 190 -ARM_INS_STL = 191 -ARM_INS_STLB = 192 -ARM_INS_STLEX = 193 -ARM_INS_STLEXB = 194 -ARM_INS_STLEXD = 195 -ARM_INS_STLEXH = 196 -ARM_INS_STLH = 197 -ARM_INS_STMDA = 198 -ARM_INS_STMDB = 199 -ARM_INS_STM = 200 -ARM_INS_STMIB = 201 -ARM_INS_STRBT = 202 -ARM_INS_STRB = 203 -ARM_INS_STRD = 204 -ARM_INS_STREX = 205 -ARM_INS_STREXB = 206 -ARM_INS_STREXD = 207 -ARM_INS_STREXH = 208 -ARM_INS_STRH = 209 -ARM_INS_STRHT = 210 -ARM_INS_STRT = 211 -ARM_INS_STR = 212 -ARM_INS_SUB = 213 -ARM_INS_SVC = 214 -ARM_INS_SWP = 215 -ARM_INS_SWPB = 216 -ARM_INS_SXTAB = 217 -ARM_INS_SXTAB16 = 218 -ARM_INS_SXTAH = 219 -ARM_INS_SXTB = 220 -ARM_INS_SXTB16 = 221 -ARM_INS_SXTH = 222 -ARM_INS_TEQ = 223 -ARM_INS_TRAP = 224 -ARM_INS_TST = 225 -ARM_INS_UADD16 = 226 -ARM_INS_UADD8 = 227 -ARM_INS_UASX = 228 -ARM_INS_UBFX = 229 -ARM_INS_UDIV = 230 -ARM_INS_UHADD16 = 231 -ARM_INS_UHADD8 = 232 -ARM_INS_UHASX = 233 -ARM_INS_UHSAX = 234 -ARM_INS_UHSUB16 = 235 -ARM_INS_UHSUB8 = 236 -ARM_INS_UMAAL = 237 -ARM_INS_UMLAL = 238 -ARM_INS_UMULL = 239 -ARM_INS_UQADD16 = 240 -ARM_INS_UQADD8 = 241 -ARM_INS_UQASX = 242 -ARM_INS_UQSAX = 243 -ARM_INS_UQSUB16 = 244 -ARM_INS_UQSUB8 = 245 -ARM_INS_USAD8 = 246 -ARM_INS_USADA8 = 247 -ARM_INS_USAT = 248 -ARM_INS_USAT16 = 249 -ARM_INS_USAX = 250 -ARM_INS_USUB16 = 251 -ARM_INS_USUB8 = 252 -ARM_INS_UXTAB = 253 -ARM_INS_UXTAB16 = 254 -ARM_INS_UXTAH = 255 -ARM_INS_UXTB = 256 -ARM_INS_UXTB16 = 257 -ARM_INS_UXTH = 258 -ARM_INS_VABAL = 259 -ARM_INS_VABA = 260 -ARM_INS_VABDL = 261 -ARM_INS_VABD = 262 -ARM_INS_VABS = 263 -ARM_INS_VACGE = 264 -ARM_INS_VACGT = 265 -ARM_INS_VADD = 266 -ARM_INS_VADDHN = 267 -ARM_INS_VADDL = 268 -ARM_INS_VADDW = 269 -ARM_INS_VAND = 270 -ARM_INS_VBIC = 271 -ARM_INS_VBIF = 272 -ARM_INS_VBIT = 273 -ARM_INS_VBSL = 274 -ARM_INS_VCEQ = 275 -ARM_INS_VCGE = 276 -ARM_INS_VCGT = 277 -ARM_INS_VCLE = 278 -ARM_INS_VCLS = 279 -ARM_INS_VCLT = 280 -ARM_INS_VCLZ = 281 -ARM_INS_VCMP = 282 -ARM_INS_VCMPE = 283 -ARM_INS_VCNT = 284 -ARM_INS_VCVTA_S32_F32 = 285 -ARM_INS_VCVTA_U32_F32 = 286 -ARM_INS_VCVTA_S32_F64 = 287 -ARM_INS_VCVTA_U32_F64 = 288 -ARM_INS_VCVTB = 289 -ARM_INS_VCVT = 290 -ARM_INS_VCVTM_S32_F32 = 291 -ARM_INS_VCVTM_U32_F32 = 292 -ARM_INS_VCVTM_S32_F64 = 293 -ARM_INS_VCVTM_U32_F64 = 294 -ARM_INS_VCVTN_S32_F32 = 295 -ARM_INS_VCVTN_U32_F32 = 296 -ARM_INS_VCVTN_S32_F64 = 297 -ARM_INS_VCVTN_U32_F64 = 298 -ARM_INS_VCVTP_S32_F32 = 299 -ARM_INS_VCVTP_U32_F32 = 300 -ARM_INS_VCVTP_S32_F64 = 301 -ARM_INS_VCVTP_U32_F64 = 302 -ARM_INS_VCVTT = 303 -ARM_INS_VDIV = 304 -ARM_INS_VDUP = 305 -ARM_INS_VEOR = 306 -ARM_INS_VEXT = 307 -ARM_INS_VFMA = 308 -ARM_INS_VFMS = 309 -ARM_INS_VFNMA = 310 -ARM_INS_VFNMS = 311 -ARM_INS_VHADD = 312 -ARM_INS_VHSUB = 313 -ARM_INS_VLD1 = 314 -ARM_INS_VLD2 = 315 -ARM_INS_VLD3 = 316 -ARM_INS_VLD4 = 317 -ARM_INS_VLDMDB = 318 -ARM_INS_VLDMIA = 319 -ARM_INS_VLDR = 320 -ARM_INS_VMAXNM_F64 = 321 -ARM_INS_VMAXNM_F32 = 322 -ARM_INS_VMAX = 323 -ARM_INS_VMINNM_F64 = 324 -ARM_INS_VMINNM_F32 = 325 -ARM_INS_VMIN = 326 -ARM_INS_VMLA = 327 -ARM_INS_VMLAL = 328 -ARM_INS_VMLS = 329 -ARM_INS_VMLSL = 330 -ARM_INS_VMOVL = 331 -ARM_INS_VMOVN = 332 -ARM_INS_VMSR = 333 -ARM_INS_VMUL = 334 -ARM_INS_VMULL_P64 = 335 -ARM_INS_VMULL = 336 -ARM_INS_VMVN = 337 -ARM_INS_VNEG = 338 -ARM_INS_VNMLA = 339 -ARM_INS_VNMLS = 340 -ARM_INS_VNMUL = 341 -ARM_INS_VORN = 342 -ARM_INS_VORR = 343 -ARM_INS_VPADAL = 344 -ARM_INS_VPADDL = 345 -ARM_INS_VPADD = 346 -ARM_INS_VPMAX = 347 -ARM_INS_VPMIN = 348 -ARM_INS_VQABS = 349 -ARM_INS_VQADD = 350 -ARM_INS_VQDMLAL = 351 -ARM_INS_VQDMLSL = 352 -ARM_INS_VQDMULH = 353 -ARM_INS_VQDMULL = 354 -ARM_INS_VQMOVUN = 355 -ARM_INS_VQMOVN = 356 -ARM_INS_VQNEG = 357 -ARM_INS_VQRDMULH = 358 -ARM_INS_VQRSHL = 359 -ARM_INS_VQRSHRN = 360 -ARM_INS_VQRSHRUN = 361 -ARM_INS_VQSHL = 362 -ARM_INS_VQSHLU = 363 -ARM_INS_VQSHRN = 364 -ARM_INS_VQSHRUN = 365 -ARM_INS_VQSUB = 366 -ARM_INS_VRADDHN = 367 -ARM_INS_VRECPE = 368 -ARM_INS_VRECPS = 369 -ARM_INS_VREV16 = 370 -ARM_INS_VREV32 = 371 -ARM_INS_VREV64 = 372 -ARM_INS_VRHADD = 373 -ARM_INS_VRINTA_F64 = 374 -ARM_INS_VRINTA_F32 = 375 -ARM_INS_VRINTM_F64 = 376 -ARM_INS_VRINTM_F32 = 377 -ARM_INS_VRINTN_F64 = 378 -ARM_INS_VRINTN_F32 = 379 -ARM_INS_VRINTP_F64 = 380 -ARM_INS_VRINTP_F32 = 381 -ARM_INS_VRINTR = 382 -ARM_INS_VRINTX = 383 -ARM_INS_VRINTX_F32 = 384 -ARM_INS_VRINTZ = 385 -ARM_INS_VRINTZ_F32 = 386 -ARM_INS_VRSHL = 387 -ARM_INS_VRSHRN = 388 -ARM_INS_VRSHR = 389 -ARM_INS_VRSQRTE = 390 -ARM_INS_VRSQRTS = 391 -ARM_INS_VRSRA = 392 -ARM_INS_VRSUBHN = 393 -ARM_INS_VSELEQ_F64 = 394 -ARM_INS_VSELEQ_F32 = 395 -ARM_INS_VSELGE_F64 = 396 -ARM_INS_VSELGE_F32 = 397 -ARM_INS_VSELGT_F64 = 398 -ARM_INS_VSELGT_F32 = 399 -ARM_INS_VSELVS_F64 = 400 -ARM_INS_VSELVS_F32 = 401 -ARM_INS_VSHLL = 402 -ARM_INS_VSHL = 403 -ARM_INS_VSHRN = 404 -ARM_INS_VSHR = 405 -ARM_INS_VSLI = 406 -ARM_INS_VSQRT = 407 -ARM_INS_VSRA = 408 -ARM_INS_VSRI = 409 -ARM_INS_VST1 = 410 -ARM_INS_VST2 = 411 -ARM_INS_VST3 = 412 -ARM_INS_VST4 = 413 -ARM_INS_VSTMDB = 414 -ARM_INS_VSTMIA = 415 -ARM_INS_VSTR = 416 -ARM_INS_VSUB = 417 -ARM_INS_VSUBHN = 418 -ARM_INS_VSUBL = 419 -ARM_INS_VSUBW = 420 -ARM_INS_VSWP = 421 -ARM_INS_VTBL = 422 -ARM_INS_VTBX = 423 -ARM_INS_VCVTR = 424 -ARM_INS_VTRN = 425 -ARM_INS_VTST = 426 -ARM_INS_VUZP = 427 -ARM_INS_VZIP = 428 -ARM_INS_ADDW = 429 -ARM_INS_ADR_W = 430 -ARM_INS_ASR = 431 -ARM_INS_DCPS1 = 432 -ARM_INS_DCPS2 = 433 -ARM_INS_DCPS3 = 434 -ARM_INS_IT = 435 -ARM_INS_LSL = 436 -ARM_INS_LSR = 437 -ARM_INS_ORN = 438 -ARM_INS_ROR = 439 -ARM_INS_RRX = 440 -ARM_INS_SUBW = 441 -ARM_INS_TBB = 442 -ARM_INS_TBH = 443 -ARM_INS_CBNZ = 444 -ARM_INS_CBZ = 445 -ARM_INS_NOP = 446 -ARM_INS_POP = 447 -ARM_INS_PUSH = 448 -ARM_INS_SEV = 449 -ARM_INS_SEVL = 450 -ARM_INS_WFE = 451 -ARM_INS_WFI = 452 -ARM_INS_YIELD = 453 - -# ARM group of instructions -ARM_GRP_INVALID = 0 -ARM_GRP_CRYPTO = 1 -ARM_GRP_DATABARRIER = 2 -ARM_GRP_DIVIDE = 3 -ARM_GRP_FPARMV8 = 4 -ARM_GRP_MULTPRO = 5 -ARM_GRP_NEON = 6 -ARM_GRP_T2EXTRACTPACK = 7 -ARM_GRP_THUMB2DSP = 8 -ARM_GRP_TRUSTZONE = 9 -ARM_GRP_V4T = 10 -ARM_GRP_V5T = 11 -ARM_GRP_V5TE = 12 -ARM_GRP_V6 = 13 -ARM_GRP_V6T2 = 14 -ARM_GRP_V7 = 15 -ARM_GRP_V8 = 16 -ARM_GRP_VFP2 = 17 -ARM_GRP_VFP3 = 18 -ARM_GRP_VFP4 = 19 -ARM_GRP_ARM = 20 -ARM_GRP_MCLASS = 21 -ARM_GRP_NOTMCLASS = 22 -ARM_GRP_THUMB = 23 -ARM_GRP_THUMB1ONLY = 24 -ARM_GRP_THUMB2 = 25 -ARM_GRP_PREV8 = 26 -ARM_GRP_FPVMLX = 27 -ARM_GRP_MULOPS = 28 diff --git a/bindings/python/capstone/arm64.py b/bindings/python/capstone/arm64.py index 6702243934..21a5f18f6e 100644 --- a/bindings/python/capstone/arm64.py +++ b/bindings/python/capstone/arm64.py @@ -1,53 +1,7 @@ # Capstone Python bindings, by Nguyen Anh Quynnh import ctypes, ctypes.util - -# ARM64 operand shift type -ARM64_SFT_INVALID = 0 -ARM64_SFT_LSL = 1 -ARM64_SFT_MSL = 2 -ARM64_SFT_LSR = 3 -ARM64_SFT_ASR = 4 -ARM64_SFT_ROR = 5 - -# ARM64 extension type (for operands) -ARM64_EXT_INVALID = 0 -ARM64_EXT_UXTB = 1 -ARM64_EXT_UXTH = 2 -ARM64_EXT_UXTW = 3 -ARM64_EXT_UXTX = 4 -ARM64_EXT_SXTB = 5 -ARM64_EXT_SXTH = 6 -ARM64_EXT_SXTW = 7 -ARM64_EXT_SXTX = 8 - -# ARM64 code condition type -ARM64_CC_INVALID = 0 -ARM64_CC_EQ = 1 -ARM64_CC_NE = 2 -ARM64_CC_HS = 3 -ARM64_CC_LO = 4 -ARM64_CC_MI = 5 -ARM64_CC_PL = 6 -ARM64_CC_VS = 7 -ARM64_CC_VC = 8 -ARM64_CC_HI = 9 -ARM64_CC_LS = 10 -ARM64_CC_GE = 11 -ARM64_CC_LT = 12 -ARM64_CC_GT = 13 -ARM64_CC_LE = 14 -ARM64_CC_AL = 15 -ARM64_CC_NV = 16 - -# Operand type -ARM64_OP_INVALID = 0 # Uninitialized. -ARM64_OP_REG = 1 # Register operand. -ARM64_OP_CIMM = 2 # C-Immediate operand. -ARM64_OP_IMM = 3 # Immediate operand. -ARM64_OP_FP = 4 # Floating-Point immediate operand. -ARM64_OP_MEM = 5 # Memory operand - +from Arm64_const import * # define the API class arm64_op_mem(ctypes.Structure): @@ -96,594 +50,3 @@ def get_arch_info(a): op_info.append(i) return (a.cc, a.update_flags, a.writeback, op_info) - -# ARM registers -ARM64_REG_INVALID = 0 -ARM64_REG_NZCV = 1 -ARM64_REG_WSP = 2 -ARM64_REG_WZR = 3 -ARM64_REG_SP = 4 -ARM64_REG_XZR = 5 -ARM64_REG_B0 = 6 -ARM64_REG_B1 = 7 -ARM64_REG_B2 = 8 -ARM64_REG_B3 = 9 -ARM64_REG_B4 = 10 -ARM64_REG_B5 = 11 -ARM64_REG_B6 = 12 -ARM64_REG_B7 = 13 -ARM64_REG_B8 = 14 -ARM64_REG_B9 = 15 -ARM64_REG_B10 = 16 -ARM64_REG_B11 = 17 -ARM64_REG_B12 = 18 -ARM64_REG_B13 = 19 -ARM64_REG_B14 = 20 -ARM64_REG_B15 = 21 -ARM64_REG_B16 = 22 -ARM64_REG_B17 = 23 -ARM64_REG_B18 = 24 -ARM64_REG_B19 = 25 -ARM64_REG_B20 = 26 -ARM64_REG_B21 = 27 -ARM64_REG_B22 = 28 -ARM64_REG_B23 = 29 -ARM64_REG_B24 = 30 -ARM64_REG_B25 = 31 -ARM64_REG_B26 = 32 -ARM64_REG_B27 = 33 -ARM64_REG_B28 = 34 -ARM64_REG_B29 = 35 -ARM64_REG_B30 = 36 -ARM64_REG_B31 = 37 -ARM64_REG_D0 = 38 -ARM64_REG_D1 = 39 -ARM64_REG_D2 = 40 -ARM64_REG_D3 = 41 -ARM64_REG_D4 = 42 -ARM64_REG_D5 = 43 -ARM64_REG_D6 = 44 -ARM64_REG_D7 = 45 -ARM64_REG_D8 = 46 -ARM64_REG_D9 = 47 -ARM64_REG_D10 = 48 -ARM64_REG_D11 = 49 -ARM64_REG_D12 = 50 -ARM64_REG_D13 = 51 -ARM64_REG_D14 = 52 -ARM64_REG_D15 = 53 -ARM64_REG_D16 = 54 -ARM64_REG_D17 = 55 -ARM64_REG_D18 = 56 -ARM64_REG_D19 = 57 -ARM64_REG_D20 = 58 -ARM64_REG_D21 = 59 -ARM64_REG_D22 = 60 -ARM64_REG_D23 = 61 -ARM64_REG_D24 = 62 -ARM64_REG_D25 = 63 -ARM64_REG_D26 = 64 -ARM64_REG_D27 = 65 -ARM64_REG_D28 = 66 -ARM64_REG_D29 = 67 -ARM64_REG_D30 = 68 -ARM64_REG_D31 = 69 -ARM64_REG_H0 = 70 -ARM64_REG_H1 = 71 -ARM64_REG_H2 = 72 -ARM64_REG_H3 = 73 -ARM64_REG_H4 = 74 -ARM64_REG_H5 = 75 -ARM64_REG_H6 = 76 -ARM64_REG_H7 = 77 -ARM64_REG_H8 = 78 -ARM64_REG_H9 = 79 -ARM64_REG_H10 = 80 -ARM64_REG_H11 = 81 -ARM64_REG_H12 = 82 -ARM64_REG_H13 = 83 -ARM64_REG_H14 = 84 -ARM64_REG_H15 = 85 -ARM64_REG_H16 = 86 -ARM64_REG_H17 = 87 -ARM64_REG_H18 = 88 -ARM64_REG_H19 = 89 -ARM64_REG_H20 = 90 -ARM64_REG_H21 = 91 -ARM64_REG_H22 = 92 -ARM64_REG_H23 = 93 -ARM64_REG_H24 = 94 -ARM64_REG_H25 = 95 -ARM64_REG_H26 = 96 -ARM64_REG_H27 = 97 -ARM64_REG_H28 = 98 -ARM64_REG_H29 = 99 -ARM64_REG_H30 = 100 -ARM64_REG_H31 = 101 -ARM64_REG_Q0 = 102 -ARM64_REG_Q1 = 103 -ARM64_REG_Q2 = 104 -ARM64_REG_Q3 = 105 -ARM64_REG_Q4 = 106 -ARM64_REG_Q5 = 107 -ARM64_REG_Q6 = 108 -ARM64_REG_Q7 = 109 -ARM64_REG_Q8 = 110 -ARM64_REG_Q9 = 111 -ARM64_REG_Q10 = 112 -ARM64_REG_Q11 = 113 -ARM64_REG_Q12 = 114 -ARM64_REG_Q13 = 115 -ARM64_REG_Q14 = 116 -ARM64_REG_Q15 = 117 -ARM64_REG_Q16 = 118 -ARM64_REG_Q17 = 119 -ARM64_REG_Q18 = 120 -ARM64_REG_Q19 = 121 -ARM64_REG_Q20 = 122 -ARM64_REG_Q21 = 123 -ARM64_REG_Q22 = 124 -ARM64_REG_Q23 = 125 -ARM64_REG_Q24 = 126 -ARM64_REG_Q25 = 127 -ARM64_REG_Q26 = 128 -ARM64_REG_Q27 = 129 -ARM64_REG_Q28 = 130 -ARM64_REG_Q29 = 131 -ARM64_REG_Q30 = 132 -ARM64_REG_Q31 = 133 -ARM64_REG_S0 = 134 -ARM64_REG_S1 = 135 -ARM64_REG_S2 = 136 -ARM64_REG_S3 = 137 -ARM64_REG_S4 = 138 -ARM64_REG_S5 = 139 -ARM64_REG_S6 = 140 -ARM64_REG_S7 = 141 -ARM64_REG_S8 = 142 -ARM64_REG_S9 = 143 -ARM64_REG_S10 = 144 -ARM64_REG_S11 = 145 -ARM64_REG_S12 = 146 -ARM64_REG_S13 = 147 -ARM64_REG_S14 = 148 -ARM64_REG_S15 = 149 -ARM64_REG_S16 = 150 -ARM64_REG_S17 = 151 -ARM64_REG_S18 = 152 -ARM64_REG_S19 = 153 -ARM64_REG_S20 = 154 -ARM64_REG_S21 = 155 -ARM64_REG_S22 = 156 -ARM64_REG_S23 = 157 -ARM64_REG_S24 = 158 -ARM64_REG_S25 = 159 -ARM64_REG_S26 = 160 -ARM64_REG_S27 = 161 -ARM64_REG_S28 = 162 -ARM64_REG_S29 = 163 -ARM64_REG_S30 = 164 -ARM64_REG_S31 = 165 -ARM64_REG_W0 = 166 -ARM64_REG_W1 = 167 -ARM64_REG_W2 = 168 -ARM64_REG_W3 = 169 -ARM64_REG_W4 = 170 -ARM64_REG_W5 = 171 -ARM64_REG_W6 = 172 -ARM64_REG_W7 = 173 -ARM64_REG_W8 = 174 -ARM64_REG_W9 = 175 -ARM64_REG_W10 = 176 -ARM64_REG_W11 = 177 -ARM64_REG_W12 = 178 -ARM64_REG_W13 = 179 -ARM64_REG_W14 = 180 -ARM64_REG_W15 = 181 -ARM64_REG_W16 = 182 -ARM64_REG_W17 = 183 -ARM64_REG_W18 = 184 -ARM64_REG_W19 = 185 -ARM64_REG_W20 = 186 -ARM64_REG_W21 = 187 -ARM64_REG_W22 = 188 -ARM64_REG_W23 = 189 -ARM64_REG_W24 = 190 -ARM64_REG_W25 = 191 -ARM64_REG_W26 = 192 -ARM64_REG_W27 = 193 -ARM64_REG_W28 = 194 -ARM64_REG_W29 = 195 -ARM64_REG_W30 = 196 -ARM64_REG_X0 = 197 -ARM64_REG_X1 = 198 -ARM64_REG_X2 = 199 -ARM64_REG_X3 = 200 -ARM64_REG_X4 = 201 -ARM64_REG_X5 = 202 -ARM64_REG_X6 = 203 -ARM64_REG_X7 = 204 -ARM64_REG_X8 = 205 -ARM64_REG_X9 = 206 -ARM64_REG_X10 = 207 -ARM64_REG_X11 = 208 -ARM64_REG_X12 = 209 -ARM64_REG_X13 = 210 -ARM64_REG_X14 = 211 -ARM64_REG_X15 = 212 -ARM64_REG_X16 = 213 -ARM64_REG_X17 = 214 -ARM64_REG_X18 = 215 -ARM64_REG_X19 = 216 -ARM64_REG_X20 = 217 -ARM64_REG_X21 = 218 -ARM64_REG_X22 = 219 -ARM64_REG_X23 = 220 -ARM64_REG_X24 = 221 -ARM64_REG_X25 = 222 -ARM64_REG_X26 = 223 -ARM64_REG_X27 = 224 -ARM64_REG_X28 = 225 -ARM64_REG_X29 = 226 -ARM64_REG_X30 = 227 - -# ARM64 instructions -ARM64_INS_INVALID = 0 -ARM64_INS_ADC = 1 -ARM64_INS_ADDHN2 = 2 -ARM64_INS_ADDHN = 3 -ARM64_INS_ADDP = 4 -ARM64_INS_ADD = 5 -ARM64_INS_CMN = 6 -ARM64_INS_ADRP = 7 -ARM64_INS_ADR = 8 -ARM64_INS_AND = 9 -ARM64_INS_ASR = 10 -ARM64_INS_AT = 11 -ARM64_INS_BFI = 12 -ARM64_INS_BFM = 13 -ARM64_INS_BFXIL = 14 -ARM64_INS_BIC = 15 -ARM64_INS_BIF = 16 -ARM64_INS_BIT = 17 -ARM64_INS_BLR = 18 -ARM64_INS_BL = 19 -ARM64_INS_BRK = 20 -ARM64_INS_BR = 21 -ARM64_INS_BSL = 22 -ARM64_INS_B = 23 -ARM64_INS_CBNZ = 24 -ARM64_INS_CBZ = 25 -ARM64_INS_CCMN = 26 -ARM64_INS_CCMP = 27 -ARM64_INS_CLREX = 28 -ARM64_INS_CLS = 29 -ARM64_INS_CLZ = 30 -ARM64_INS_CMEQ = 31 -ARM64_INS_CMGE = 32 -ARM64_INS_CMGT = 33 -ARM64_INS_CMHI = 34 -ARM64_INS_CMHS = 35 -ARM64_INS_CMLE = 36 -ARM64_INS_CMLT = 37 -ARM64_INS_CMP = 38 -ARM64_INS_CMTST = 39 -ARM64_INS_CRC32B = 40 -ARM64_INS_CRC32CB = 41 -ARM64_INS_CRC32CH = 42 -ARM64_INS_CRC32CW = 43 -ARM64_INS_CRC32CX = 44 -ARM64_INS_CRC32H = 45 -ARM64_INS_CRC32W = 46 -ARM64_INS_CRC32X = 47 -ARM64_INS_CSEL = 48 -ARM64_INS_CSINC = 49 -ARM64_INS_CSINV = 50 -ARM64_INS_CSNEG = 51 -ARM64_INS_DCPS1 = 52 -ARM64_INS_DCPS2 = 53 -ARM64_INS_DCPS3 = 54 -ARM64_INS_DC = 55 -ARM64_INS_DMB = 56 -ARM64_INS_DRPS = 57 -ARM64_INS_DSB = 58 -ARM64_INS_EON = 59 -ARM64_INS_EOR = 60 -ARM64_INS_ERET = 61 -ARM64_INS_EXTR = 62 -ARM64_INS_FABD = 63 -ARM64_INS_FABS = 64 -ARM64_INS_FACGE = 65 -ARM64_INS_FACGT = 66 -ARM64_INS_FADDP = 67 -ARM64_INS_FADD = 68 -ARM64_INS_FCCMPE = 69 -ARM64_INS_FCCMP = 70 -ARM64_INS_FCMEQ = 71 -ARM64_INS_FCMGE = 72 -ARM64_INS_FCMGT = 73 -ARM64_INS_FCMLE = 74 -ARM64_INS_FCMLT = 75 -ARM64_INS_FCMP = 76 -ARM64_INS_FCMPE = 77 -ARM64_INS_FCSEL = 78 -ARM64_INS_FCVTAS = 79 -ARM64_INS_FCVTAU = 80 -ARM64_INS_FCVTMS = 81 -ARM64_INS_FCVTMU = 82 -ARM64_INS_FCVTNS = 83 -ARM64_INS_FCVTNU = 84 -ARM64_INS_FCVTPS = 85 -ARM64_INS_FCVTPU = 86 -ARM64_INS_FCVTZS = 87 -ARM64_INS_FCVTZU = 88 -ARM64_INS_FCVT = 89 -ARM64_INS_FDIV = 90 -ARM64_INS_FMADD = 91 -ARM64_INS_FMAXNMP = 92 -ARM64_INS_FMAXNM = 93 -ARM64_INS_FMAXP = 94 -ARM64_INS_FMAX = 95 -ARM64_INS_FMINNMP = 96 -ARM64_INS_FMINNM = 97 -ARM64_INS_FMINP = 98 -ARM64_INS_FMIN = 99 -ARM64_INS_FMLA = 100 -ARM64_INS_FMLS = 101 -ARM64_INS_FMOV = 102 -ARM64_INS_FMSUB = 103 -ARM64_INS_FMULX = 104 -ARM64_INS_FMUL = 105 -ARM64_INS_FNEG = 106 -ARM64_INS_FNMADD = 107 -ARM64_INS_FNMSUB = 108 -ARM64_INS_FNMUL = 109 -ARM64_INS_FRECPS = 110 -ARM64_INS_FRINTA = 111 -ARM64_INS_FRINTI = 112 -ARM64_INS_FRINTM = 113 -ARM64_INS_FRINTN = 114 -ARM64_INS_FRINTP = 115 -ARM64_INS_FRINTX = 116 -ARM64_INS_FRINTZ = 117 -ARM64_INS_FRSQRTS = 118 -ARM64_INS_FSQRT = 119 -ARM64_INS_FSUB = 120 -ARM64_INS_HINT = 121 -ARM64_INS_HLT = 122 -ARM64_INS_HVC = 123 -ARM64_INS_IC = 124 -ARM64_INS_INS = 125 -ARM64_INS_ISB = 126 -ARM64_INS_LDARB = 127 -ARM64_INS_LDAR = 128 -ARM64_INS_LDARH = 129 -ARM64_INS_LDAXP = 130 -ARM64_INS_LDAXRB = 131 -ARM64_INS_LDAXR = 132 -ARM64_INS_LDAXRH = 133 -ARM64_INS_LDPSW = 134 -ARM64_INS_LDRSB = 135 -ARM64_INS_LDURSB = 136 -ARM64_INS_LDRSH = 137 -ARM64_INS_LDURSH = 138 -ARM64_INS_LDRSW = 139 -ARM64_INS_LDR = 140 -ARM64_INS_LDTRSB = 141 -ARM64_INS_LDTRSH = 142 -ARM64_INS_LDTRSW = 143 -ARM64_INS_LDURSW = 144 -ARM64_INS_LDXP = 145 -ARM64_INS_LDXRB = 146 -ARM64_INS_LDXR = 147 -ARM64_INS_LDXRH = 148 -ARM64_INS_LDRH = 149 -ARM64_INS_LDURH = 150 -ARM64_INS_STRH = 151 -ARM64_INS_STURH = 152 -ARM64_INS_LDTRH = 153 -ARM64_INS_STTRH = 154 -ARM64_INS_LDUR = 155 -ARM64_INS_STR = 156 -ARM64_INS_STUR = 157 -ARM64_INS_LDTR = 158 -ARM64_INS_STTR = 159 -ARM64_INS_LDRB = 160 -ARM64_INS_LDURB = 161 -ARM64_INS_STRB = 162 -ARM64_INS_STURB = 163 -ARM64_INS_LDTRB = 164 -ARM64_INS_STTRB = 165 -ARM64_INS_LDP = 166 -ARM64_INS_LDNP = 167 -ARM64_INS_STNP = 168 -ARM64_INS_STP = 169 -ARM64_INS_LSL = 170 -ARM64_INS_LSR = 171 -ARM64_INS_MADD = 172 -ARM64_INS_MLA = 173 -ARM64_INS_MLS = 174 -ARM64_INS_MOVI = 175 -ARM64_INS_MOVK = 176 -ARM64_INS_MOVN = 177 -ARM64_INS_MOVZ = 178 -ARM64_INS_MRS = 179 -ARM64_INS_MSR = 180 -ARM64_INS_MSUB = 181 -ARM64_INS_MUL = 182 -ARM64_INS_MVNI = 183 -ARM64_INS_MVN = 184 -ARM64_INS_ORN = 185 -ARM64_INS_ORR = 186 -ARM64_INS_PMULL2 = 187 -ARM64_INS_PMULL = 188 -ARM64_INS_PMUL = 189 -ARM64_INS_PRFM = 190 -ARM64_INS_PRFUM = 191 -ARM64_INS_SQRSHRUN2 = 192 -ARM64_INS_SQRSHRUN = 193 -ARM64_INS_SQSHRUN2 = 194 -ARM64_INS_SQSHRUN = 195 -ARM64_INS_RADDHN2 = 196 -ARM64_INS_RADDHN = 197 -ARM64_INS_RBIT = 198 -ARM64_INS_RET = 199 -ARM64_INS_REV16 = 200 -ARM64_INS_REV32 = 201 -ARM64_INS_REV = 202 -ARM64_INS_ROR = 203 -ARM64_INS_RSHRN2 = 204 -ARM64_INS_RSHRN = 205 -ARM64_INS_RSUBHN2 = 206 -ARM64_INS_RSUBHN = 207 -ARM64_INS_SABAL2 = 208 -ARM64_INS_SABAL = 209 -ARM64_INS_SABA = 210 -ARM64_INS_SABDL2 = 211 -ARM64_INS_SABDL = 212 -ARM64_INS_SABD = 213 -ARM64_INS_SADDL2 = 214 -ARM64_INS_SADDL = 215 -ARM64_INS_SADDW2 = 216 -ARM64_INS_SADDW = 217 -ARM64_INS_SBC = 218 -ARM64_INS_SBFIZ = 219 -ARM64_INS_SBFM = 220 -ARM64_INS_SBFX = 221 -ARM64_INS_SCVTF = 222 -ARM64_INS_SDIV = 223 -ARM64_INS_SHADD = 224 -ARM64_INS_SHL = 225 -ARM64_INS_SHRN2 = 226 -ARM64_INS_SHRN = 227 -ARM64_INS_SHSUB = 228 -ARM64_INS_SLI = 229 -ARM64_INS_SMADDL = 230 -ARM64_INS_SMAXP = 231 -ARM64_INS_SMAX = 232 -ARM64_INS_SMC = 233 -ARM64_INS_SMINP = 234 -ARM64_INS_SMIN = 235 -ARM64_INS_SMLAL2 = 236 -ARM64_INS_SMLAL = 237 -ARM64_INS_SMLSL2 = 238 -ARM64_INS_SMLSL = 239 -ARM64_INS_SMOV = 240 -ARM64_INS_SMSUBL = 241 -ARM64_INS_SMULH = 242 -ARM64_INS_SMULL2 = 243 -ARM64_INS_SMULL = 244 -ARM64_INS_SQADD = 245 -ARM64_INS_SQDMLAL2 = 246 -ARM64_INS_SQDMLAL = 247 -ARM64_INS_SQDMLSL2 = 248 -ARM64_INS_SQDMLSL = 249 -ARM64_INS_SQDMULH = 250 -ARM64_INS_SQDMULL2 = 251 -ARM64_INS_SQDMULL = 252 -ARM64_INS_SQRDMULH = 253 -ARM64_INS_SQRSHL = 254 -ARM64_INS_SQRSHRN2 = 255 -ARM64_INS_SQRSHRN = 256 -ARM64_INS_SQSHLU = 257 -ARM64_INS_SQSHL = 258 -ARM64_INS_SQSHRN2 = 259 -ARM64_INS_SQSHRN = 260 -ARM64_INS_SQSUB = 261 -ARM64_INS_SRHADD = 262 -ARM64_INS_SRI = 263 -ARM64_INS_SRSHL = 264 -ARM64_INS_SRSHR = 265 -ARM64_INS_SRSRA = 266 -ARM64_INS_SSHLL2 = 267 -ARM64_INS_SSHLL = 268 -ARM64_INS_SSHL = 269 -ARM64_INS_SSHR = 270 -ARM64_INS_SSRA = 271 -ARM64_INS_SSUBL2 = 272 -ARM64_INS_SSUBL = 273 -ARM64_INS_SSUBW2 = 274 -ARM64_INS_SSUBW = 275 -ARM64_INS_STLRB = 276 -ARM64_INS_STLR = 277 -ARM64_INS_STLRH = 278 -ARM64_INS_STLXP = 279 -ARM64_INS_STLXRB = 280 -ARM64_INS_STLXR = 281 -ARM64_INS_STLXRH = 282 -ARM64_INS_STXP = 283 -ARM64_INS_STXRB = 284 -ARM64_INS_STXR = 285 -ARM64_INS_STXRH = 286 -ARM64_INS_SUBHN2 = 287 -ARM64_INS_SUBHN = 288 -ARM64_INS_SUB = 289 -ARM64_INS_SVC = 290 -ARM64_INS_SXTB = 291 -ARM64_INS_SXTH = 292 -ARM64_INS_SXTW = 293 -ARM64_INS_SYSL = 294 -ARM64_INS_SYS = 295 -ARM64_INS_TBNZ = 296 -ARM64_INS_TBZ = 297 -ARM64_INS_TLBI = 298 -ARM64_INS_TST = 299 -ARM64_INS_UABAL2 = 300 -ARM64_INS_UABAL = 301 -ARM64_INS_UABA = 302 -ARM64_INS_UABDL2 = 303 -ARM64_INS_UABDL = 304 -ARM64_INS_UABD = 305 -ARM64_INS_UADDL2 = 306 -ARM64_INS_UADDL = 307 -ARM64_INS_UADDW2 = 308 -ARM64_INS_UADDW = 309 -ARM64_INS_UBFIZ = 310 -ARM64_INS_UBFM = 311 -ARM64_INS_UBFX = 312 -ARM64_INS_UCVTF = 313 -ARM64_INS_UDIV = 314 -ARM64_INS_UHADD = 315 -ARM64_INS_UHSUB = 316 -ARM64_INS_UMADDL = 317 -ARM64_INS_UMAXP = 318 -ARM64_INS_UMAX = 319 -ARM64_INS_UMINP = 320 -ARM64_INS_UMIN = 321 -ARM64_INS_UMLAL2 = 322 -ARM64_INS_UMLAL = 323 -ARM64_INS_UMLSL2 = 324 -ARM64_INS_UMLSL = 325 -ARM64_INS_UMOV = 326 -ARM64_INS_UMSUBL = 327 -ARM64_INS_UMULH = 328 -ARM64_INS_UMULL2 = 329 -ARM64_INS_UMULL = 330 -ARM64_INS_UQADD = 331 -ARM64_INS_UQRSHL = 332 -ARM64_INS_UQRSHRN2 = 333 -ARM64_INS_UQRSHRN = 334 -ARM64_INS_UQSHL = 335 -ARM64_INS_UQSHRN2 = 336 -ARM64_INS_UQSHRN = 337 -ARM64_INS_UQSUB = 338 -ARM64_INS_URHADD = 339 -ARM64_INS_URSHL = 340 -ARM64_INS_URSHR = 341 -ARM64_INS_URSRA = 342 -ARM64_INS_USHLL2 = 343 -ARM64_INS_USHLL = 344 -ARM64_INS_USHL = 345 -ARM64_INS_USHR = 346 -ARM64_INS_USRA = 347 -ARM64_INS_USUBL2 = 348 -ARM64_INS_USUBL = 349 -ARM64_INS_USUBW2 = 350 -ARM64_INS_USUBW = 351 -ARM64_INS_UXTB = 352 -ARM64_INS_UXTH = 353 - -# ARM64 group of instructions -ARM64_GRP_INVALID = 0 -ARM64_GRP_NEON = 1 - # diff --git a/bindings/python/capstone/mips.py b/bindings/python/capstone/mips.py index 773fb2045b..d095c484f8 100644 --- a/bindings/python/capstone/mips.py +++ b/bindings/python/capstone/mips.py @@ -1,13 +1,7 @@ # Capstone Python bindings, by Nguyen Anh Quynnh import ctypes, ctypes.util - -# Operand type -MIPS_OP_INVALID = 0 # Uninitialized. -MIPS_OP_REG = 1 # Register operand. -MIPS_OP_IMM = 2 # Immediate operand. -MIPS_OP_MEM = 3 # Memory operand - +from Mips_const import * # define the API class mips_op_mem(ctypes.Structure): diff --git a/bindings/python/capstone/x86.py b/bindings/python/capstone/x86.py index 85fa6d0ebd..efc1d1ce31 100644 --- a/bindings/python/capstone/x86.py +++ b/bindings/python/capstone/x86.py @@ -1,13 +1,7 @@ # Capstone Python bindings, by Nguyen Anh Quynnh import ctypes, ctypes.util - -# Operand type -X86_OP_INVALID = 0 # Uninitialized. -X86_OP_REG = 1 # Register operand. -X86_OP_IMM = 2 # Immediate operand. -X86_OP_FP = 3 # Floating-Point immediate operand. -X86_OP_MEM = 4 # Memory operand +from X86_const import * # define the API class x86_op_mem(ctypes.Structure): @@ -59,1488 +53,3 @@ def get_arch_info(a): op_info.append(i) return (a.prefix, a.segment, a.opcode, a.op_size, a.addr_size, a.disp_size, a.imm_size, a.modrm, a.sib, a.disp, a.sib_index, a.sib_scale, a.sib_base, op_info) -# all Intel reigsters -X86_REG_INVALID = 0 -X86_REG_AH = 1 -X86_REG_AL = 2 -X86_REG_AX = 3 -X86_REG_BH = 4 -X86_REG_BL = 5 -X86_REG_BP = 6 -X86_REG_BPL = 7 -X86_REG_BX = 8 -X86_REG_CH = 9 -X86_REG_CL = 10 -X86_REG_CS = 11 -X86_REG_CX = 12 -X86_REG_DH = 13 -X86_REG_DI = 14 -X86_REG_DIL = 15 -X86_REG_DL = 16 -X86_REG_DS = 17 -X86_REG_DX = 18 -X86_REG_EAX = 19 -X86_REG_EBP = 20 -X86_REG_EBX = 21 -X86_REG_ECX = 22 -X86_REG_EDI = 23 -X86_REG_EDX = 24 -X86_REG_FLAGS = 25 -X86_REG_EIP = 26 -X86_REG_EIZ = 27 -X86_REG_ES = 28 -X86_REG_ESI = 29 -X86_REG_ESP = 30 -X86_REG_FPSW = 31 -X86_REG_FS = 32 -X86_REG_GS = 33 -X86_REG_IP = 34 -X86_REG_RAX = 35 -X86_REG_RBP = 36 -X86_REG_RBX = 37 -X86_REG_RCX = 38 -X86_REG_RDI = 39 -X86_REG_RDX = 40 -X86_REG_RIP = 41 -X86_REG_RIZ = 42 -X86_REG_RSI = 43 -X86_REG_RSP = 44 -X86_REG_SI = 45 -X86_REG_SIL = 46 -X86_REG_SP = 47 -X86_REG_SPL = 48 -X86_REG_SS = 49 -X86_REG_CR0 = 50 -X86_REG_CR1 = 51 -X86_REG_CR2 = 52 -X86_REG_CR3 = 53 -X86_REG_CR4 = 54 -X86_REG_CR5 = 55 -X86_REG_CR6 = 56 -X86_REG_CR7 = 57 -X86_REG_CR8 = 58 -X86_REG_CR9 = 59 -X86_REG_CR10 = 60 -X86_REG_CR11 = 61 -X86_REG_CR12 = 62 -X86_REG_CR13 = 63 -X86_REG_CR14 = 64 -X86_REG_CR15 = 65 -X86_REG_DR0 = 66 -X86_REG_DR1 = 67 -X86_REG_DR2 = 68 -X86_REG_DR3 = 69 -X86_REG_DR4 = 70 -X86_REG_DR5 = 71 -X86_REG_DR6 = 72 -X86_REG_DR7 = 73 -X86_REG_FP0 = 74 -X86_REG_FP1 = 75 -X86_REG_FP2 = 76 -X86_REG_FP3 = 77 -X86_REG_FP4 = 78 -X86_REG_FP5 = 79 -X86_REG_FP6 = 80 -X86_REG_K0 = 81 -X86_REG_K1 = 82 -X86_REG_K2 = 83 -X86_REG_K3 = 84 -X86_REG_K4 = 85 -X86_REG_K5 = 86 -X86_REG_K6 = 87 -X86_REG_K7 = 88 -X86_REG_MM0 = 89 -X86_REG_MM1 = 90 -X86_REG_MM2 = 91 -X86_REG_MM3 = 92 -X86_REG_MM4 = 93 -X86_REG_MM5 = 94 -X86_REG_MM6 = 95 -X86_REG_MM7 = 96 -X86_REG_R8 = 97 -X86_REG_R9 = 98 -X86_REG_R10 = 99 -X86_REG_R11 = 100 -X86_REG_R12 = 101 -X86_REG_R13 = 102 -X86_REG_R14 = 103 -X86_REG_R15 = 104 -X86_REG_ST0 = 105 -X86_REG_ST1 = 106 -X86_REG_ST2 = 107 -X86_REG_ST3 = 108 -X86_REG_ST4 = 109 -X86_REG_ST5 = 110 -X86_REG_ST6 = 111 -X86_REG_ST7 = 112 -X86_REG_XMM0 = 113 -X86_REG_XMM1 = 114 -X86_REG_XMM2 = 115 -X86_REG_XMM3 = 116 -X86_REG_XMM4 = 117 -X86_REG_XMM5 = 118 -X86_REG_XMM6 = 119 -X86_REG_XMM7 = 120 -X86_REG_XMM8 = 121 -X86_REG_XMM9 = 122 -X86_REG_XMM10 = 123 -X86_REG_XMM11 = 124 -X86_REG_XMM12 = 125 -X86_REG_XMM13 = 126 -X86_REG_XMM14 = 127 -X86_REG_XMM15 = 128 -X86_REG_XMM16 = 129 -X86_REG_XMM17 = 130 -X86_REG_XMM18 = 131 -X86_REG_XMM19 = 132 -X86_REG_XMM20 = 133 -X86_REG_XMM21 = 134 -X86_REG_XMM22 = 135 -X86_REG_XMM23 = 136 -X86_REG_XMM24 = 137 -X86_REG_XMM25 = 138 -X86_REG_XMM26 = 139 -X86_REG_XMM27 = 140 -X86_REG_XMM28 = 141 -X86_REG_XMM29 = 142 -X86_REG_XMM30 = 143 -X86_REG_XMM31 = 144 -X86_REG_YMM0 = 145 -X86_REG_YMM1 = 146 -X86_REG_YMM2 = 147 -X86_REG_YMM3 = 148 -X86_REG_YMM4 = 149 -X86_REG_YMM5 = 150 -X86_REG_YMM6 = 151 -X86_REG_YMM7 = 152 -X86_REG_YMM8 = 153 -X86_REG_YMM9 = 154 -X86_REG_YMM10 = 155 -X86_REG_YMM11 = 156 -X86_REG_YMM12 = 157 -X86_REG_YMM13 = 158 -X86_REG_YMM14 = 159 -X86_REG_YMM15 = 160 -X86_REG_YMM16 = 161 -X86_REG_YMM17 = 162 -X86_REG_YMM18 = 163 -X86_REG_YMM19 = 164 -X86_REG_YMM20 = 165 -X86_REG_YMM21 = 166 -X86_REG_YMM22 = 167 -X86_REG_YMM23 = 168 -X86_REG_YMM24 = 169 -X86_REG_YMM25 = 170 -X86_REG_YMM26 = 171 -X86_REG_YMM27 = 172 -X86_REG_YMM28 = 173 -X86_REG_YMM29 = 174 -X86_REG_YMM30 = 175 -X86_REG_YMM31 = 176 -X86_REG_ZMM0 = 177 -X86_REG_ZMM1 = 178 -X86_REG_ZMM2 = 179 -X86_REG_ZMM3 = 180 -X86_REG_ZMM4 = 181 -X86_REG_ZMM5 = 182 -X86_REG_ZMM6 = 183 -X86_REG_ZMM7 = 184 -X86_REG_ZMM8 = 185 -X86_REG_ZMM9 = 186 -X86_REG_ZMM10 = 187 -X86_REG_ZMM11 = 188 -X86_REG_ZMM12 = 189 -X86_REG_ZMM13 = 190 -X86_REG_ZMM14 = 191 -X86_REG_ZMM15 = 192 -X86_REG_ZMM16 = 193 -X86_REG_ZMM17 = 194 -X86_REG_ZMM18 = 195 -X86_REG_ZMM19 = 196 -X86_REG_ZMM20 = 197 -X86_REG_ZMM21 = 198 -X86_REG_ZMM22 = 199 -X86_REG_ZMM23 = 200 -X86_REG_ZMM24 = 201 -X86_REG_ZMM25 = 202 -X86_REG_ZMM26 = 203 -X86_REG_ZMM27 = 204 -X86_REG_ZMM28 = 205 -X86_REG_ZMM29 = 206 -X86_REG_ZMM30 = 207 -X86_REG_ZMM31 = 208 -X86_REG_R8B = 209 -X86_REG_R9B = 210 -X86_REG_R10B = 211 -X86_REG_R11B = 212 -X86_REG_R12B = 213 -X86_REG_R13B = 214 -X86_REG_R14B = 215 -X86_REG_R15B = 216 -X86_REG_R8D = 217 -X86_REG_R9D = 218 -X86_REG_R10D = 219 -X86_REG_R11D = 220 -X86_REG_R12D = 221 -X86_REG_R13D = 222 -X86_REG_R14D = 223 -X86_REG_R15D = 224 -X86_REG_R8W = 225 -X86_REG_R9W = 226 -X86_REG_R10W = 227 -X86_REG_R11W = 228 -X86_REG_R12W = 229 -X86_REG_R13W = 230 -X86_REG_R14W = 231 -X86_REG_R15W = 232 - -# all Intel instructions -X86_INS_INVALID = 0 -X86_INS_AAA = 1 -X86_INS_AAD = 2 -X86_INS_AAM = 3 -X86_INS_AAS = 4 -X86_INS_FABS = 5 -X86_INS_ADC = 6 -X86_INS_ADCX = 7 -X86_INS_ADD = 8 -X86_INS_ADDPD = 9 -X86_INS_ADDPS = 10 -X86_INS_ADDSD = 11 -X86_INS_ADDSS = 12 -X86_INS_ADDSUBPD = 13 -X86_INS_ADDSUBPS = 14 -X86_INS_FADD = 15 -X86_INS_FIADD = 16 -X86_INS_FADDP = 17 -X86_INS_ADOX = 18 -X86_INS_AESDECLAST = 19 -X86_INS_AESDEC = 20 -X86_INS_AESENCLAST = 21 -X86_INS_AESENC = 22 -X86_INS_AESIMC = 23 -X86_INS_AESKEYGENASSIST = 24 -X86_INS_AND = 25 -X86_INS_ANDN = 26 -X86_INS_ANDNPD = 27 -X86_INS_ANDNPS = 28 -X86_INS_ANDPD = 29 -X86_INS_ANDPS = 30 -X86_INS_ARPL = 31 -X86_INS_BEXTR = 32 -X86_INS_BLENDPD = 33 -X86_INS_BLENDPS = 34 -X86_INS_BLENDVPD = 35 -X86_INS_BLENDVPS = 36 -X86_INS_BLSI = 37 -X86_INS_BLSMSK = 38 -X86_INS_BLSR = 39 -X86_INS_BOUND = 40 -X86_INS_BSF = 41 -X86_INS_BSR = 42 -X86_INS_BSWAP = 43 -X86_INS_BT = 44 -X86_INS_BTC = 45 -X86_INS_BTR = 46 -X86_INS_BTS = 47 -X86_INS_BZHI = 48 -X86_INS_CALL = 49 -X86_INS_CALLW = 50 -X86_INS_CBW = 51 -X86_INS_CDQ = 52 -X86_INS_CDQE = 53 -X86_INS_FCHS = 54 -X86_INS_CLAC = 55 -X86_INS_CLC = 56 -X86_INS_CLD = 57 -X86_INS_CLFLUSH = 58 -X86_INS_CLGI = 59 -X86_INS_CLI = 60 -X86_INS_CLTS = 61 -X86_INS_CMC = 62 -X86_INS_CMOVA = 63 -X86_INS_CMOVAE = 64 -X86_INS_CMOVB = 65 -X86_INS_CMOVBE = 66 -X86_INS_FCMOVBE = 67 -X86_INS_FCMOVB = 68 -X86_INS_CMOVE = 69 -X86_INS_FCMOVE = 70 -X86_INS_CMOVG = 71 -X86_INS_CMOVGE = 72 -X86_INS_CMOVL = 73 -X86_INS_CMOVLE = 74 -X86_INS_FCMOVNBE = 75 -X86_INS_FCMOVNB = 76 -X86_INS_CMOVNE = 77 -X86_INS_FCMOVNE = 78 -X86_INS_CMOVNO = 79 -X86_INS_CMOVNP = 80 -X86_INS_FCMOVNU = 81 -X86_INS_CMOVNS = 82 -X86_INS_CMOVO = 83 -X86_INS_CMOVP = 84 -X86_INS_FCMOVU = 85 -X86_INS_CMOVS = 86 -X86_INS_CMP = 87 -X86_INS_CMPPD = 88 -X86_INS_CMPPS = 89 -X86_INS_CMPSW = 90 -X86_INS_CMPSD = 91 -X86_INS_CMPSQ = 92 -X86_INS_CMPSB = 93 -X86_INS_CMPSS = 94 -X86_INS_CMPXCHG16B = 95 -X86_INS_CMPXCHG = 96 -X86_INS_CMPXCHG8B = 97 -X86_INS_COMISD = 98 -X86_INS_COMISS = 99 -X86_INS_FCOMP = 100 -X86_INS_FCOMPI = 101 -X86_INS_FCOMI = 102 -X86_INS_FCOM = 103 -X86_INS_FCOS = 104 -X86_INS_CPUID = 105 -X86_INS_CQO = 106 -X86_INS_CRC32 = 107 -X86_INS_CS = 108 -X86_INS_CVTDQ2PD = 109 -X86_INS_CVTDQ2PS = 110 -X86_INS_CVTPD2DQ = 111 -X86_INS_CVTPD2PS = 112 -X86_INS_CVTPS2DQ = 113 -X86_INS_CVTPS2PD = 114 -X86_INS_CVTSD2SI = 115 -X86_INS_CVTSD2SS = 116 -X86_INS_CVTSI2SD = 117 -X86_INS_CVTSI2SS = 118 -X86_INS_CVTSS2SD = 119 -X86_INS_CVTSS2SI = 120 -X86_INS_CVTTPD2DQ = 121 -X86_INS_CVTTPS2DQ = 122 -X86_INS_CVTTSD2SI = 123 -X86_INS_CVTTSS2SI = 124 -X86_INS_CWD = 125 -X86_INS_CWDE = 126 -X86_INS_DAA = 127 -X86_INS_DAS = 128 -X86_INS_DATA16 = 129 -X86_INS_DEC = 130 -X86_INS_DIV = 131 -X86_INS_DIVPD = 132 -X86_INS_DIVPS = 133 -X86_INS_FDIVR = 134 -X86_INS_FIDIVR = 135 -X86_INS_FDIVRP = 136 -X86_INS_DIVSD = 137 -X86_INS_DIVSS = 138 -X86_INS_FDIV = 139 -X86_INS_FIDIV = 140 -X86_INS_FDIVP = 141 -X86_INS_DPPD = 142 -X86_INS_DPPS = 143 -X86_INS_DS = 144 -X86_INS_RET = 145 -X86_INS_ENTER = 146 -X86_INS_ES = 147 -X86_INS_EXTRACTPS = 148 -X86_INS_EXTRQ = 149 -X86_INS_F2XM1 = 150 -X86_INS_LCALL = 151 -X86_INS_LJMP = 152 -X86_INS_FBLD = 153 -X86_INS_FBSTP = 154 -X86_INS_FCOMPP = 155 -X86_INS_FDECSTP = 156 -X86_INS_FEMMS = 157 -X86_INS_FFREE = 158 -X86_INS_FICOM = 159 -X86_INS_FICOMP = 160 -X86_INS_FINCSTP = 161 -X86_INS_FLDCW = 162 -X86_INS_FLDENV = 163 -X86_INS_FLDL2E = 164 -X86_INS_FLDL2T = 165 -X86_INS_FLDLG2 = 166 -X86_INS_FLDLN2 = 167 -X86_INS_FLDPI = 168 -X86_INS_FNCLEX = 169 -X86_INS_FNINIT = 170 -X86_INS_FNOP = 171 -X86_INS_FNSTCW = 172 -X86_INS_FNSTSW = 173 -X86_INS_FPATAN = 174 -X86_INS_FPREM = 175 -X86_INS_FPREM1 = 176 -X86_INS_FPTAN = 177 -X86_INS_FRNDINT = 178 -X86_INS_FRSTOR = 179 -X86_INS_FNSAVE = 180 -X86_INS_FSCALE = 181 -X86_INS_FSINCOS = 182 -X86_INS_FNSTENV = 183 -X86_INS_FS = 184 -X86_INS_FXAM = 185 -X86_INS_FXRSTOR = 186 -X86_INS_FXRSTORQ = 187 -X86_INS_FXSAVE = 188 -X86_INS_FXSAVEQ = 189 -X86_INS_FXTRACT = 190 -X86_INS_FYL2X = 191 -X86_INS_FYL2XP1 = 192 -X86_INS_MOVAPD = 193 -X86_INS_MOVAPS = 194 -X86_INS_ORPD = 195 -X86_INS_ORPS = 196 -X86_INS_VMOVAPD = 197 -X86_INS_VMOVAPS = 198 -X86_INS_XORPD = 199 -X86_INS_XORPS = 200 -X86_INS_GS = 201 -X86_INS_HADDPD = 202 -X86_INS_HADDPS = 203 -X86_INS_HLT = 204 -X86_INS_HSUBPD = 205 -X86_INS_HSUBPS = 206 -X86_INS_IDIV = 207 -X86_INS_FILD = 208 -X86_INS_IMUL = 209 -X86_INS_INS = 210 -X86_INS_IN = 211 -X86_INS_INC = 212 -X86_INS_INSERTPS = 213 -X86_INS_INSERTQ = 214 -X86_INS_INT = 215 -X86_INS_INT3 = 216 -X86_INS_INTO = 217 -X86_INS_INVD = 218 -X86_INS_INVEPT = 219 -X86_INS_INVLPG = 220 -X86_INS_INVLPGA = 221 -X86_INS_INVPCID = 222 -X86_INS_INVVPID = 223 -X86_INS_IRET = 224 -X86_INS_IRETD = 225 -X86_INS_IRETQ = 226 -X86_INS_FISTTP = 227 -X86_INS_FIST = 228 -X86_INS_FISTP = 229 -X86_INS_UCOMISD = 230 -X86_INS_UCOMISS = 231 -X86_INS_VCMPSD = 232 -X86_INS_VCMPSS = 233 -X86_INS_VCOMISD = 234 -X86_INS_VCOMISS = 235 -X86_INS_VCVTSD2SS = 236 -X86_INS_VCVTSI2SD = 237 -X86_INS_VCVTSI2SS = 238 -X86_INS_VCVTSS2SD = 239 -X86_INS_VCVTTSD2SI = 240 -X86_INS_VCVTTSS2SI = 241 -X86_INS_VUCOMISD = 242 -X86_INS_VUCOMISS = 243 -X86_INS_JAE = 244 -X86_INS_JA = 245 -X86_INS_JBE = 246 -X86_INS_JB = 247 -X86_INS_JCXZ = 248 -X86_INS_JECXZ = 249 -X86_INS_JE = 250 -X86_INS_JGE = 251 -X86_INS_JG = 252 -X86_INS_JLE = 253 -X86_INS_JL = 254 -X86_INS_JMP = 255 -X86_INS_JMPQ = 256 -X86_INS_JNE = 257 -X86_INS_JNO = 258 -X86_INS_JNP = 259 -X86_INS_JNS = 260 -X86_INS_JO = 261 -X86_INS_JP = 262 -X86_INS_JRCXZ = 263 -X86_INS_JS = 264 -X86_INS_KADDW = 265 -X86_INS_KANDNW = 266 -X86_INS_KANDW = 267 -X86_INS_KMOVW = 268 -X86_INS_KNOTW = 269 -X86_INS_KORTESTW = 270 -X86_INS_KORW = 271 -X86_INS_KSHIFTLW = 272 -X86_INS_KSHIFTRW = 273 -X86_INS_KTESTW = 274 -X86_INS_KUNPCKBW = 275 -X86_INS_KXNORW = 276 -X86_INS_KXORW = 277 -X86_INS_LAHF = 278 -X86_INS_LAR = 279 -X86_INS_LDDQU = 280 -X86_INS_LDMXCSR = 281 -X86_INS_LDS = 282 -X86_INS_FLDZ = 283 -X86_INS_FLD1 = 284 -X86_INS_FLD = 285 -X86_INS_LEA = 286 -X86_INS_LEAVE = 287 -X86_INS_LES = 288 -X86_INS_LFENCE = 289 -X86_INS_LFS = 290 -X86_INS_LGDT = 291 -X86_INS_LGS = 292 -X86_INS_LIDT = 293 -X86_INS_LLDT = 294 -X86_INS_LMSW = 295 -X86_INS_OR = 296 -X86_INS_LOCK = 297 -X86_INS_SUB = 298 -X86_INS_XOR = 299 -X86_INS_LODSB = 300 -X86_INS_LODSD = 301 -X86_INS_LODSQ = 302 -X86_INS_LODSW = 303 -X86_INS_LOOP = 304 -X86_INS_LOOPE = 305 -X86_INS_LOOPNE = 306 -X86_INS_RETF = 307 -X86_INS_LSL = 308 -X86_INS_LSS = 309 -X86_INS_LTR = 310 -X86_INS_XADD = 311 -X86_INS_LZCNT = 312 -X86_INS_MASKMOVDQU = 313 -X86_INS_MAXPD = 314 -X86_INS_MAXPS = 315 -X86_INS_MAXSD = 316 -X86_INS_MAXSS = 317 -X86_INS_MFENCE = 318 -X86_INS_MINPD = 319 -X86_INS_MINPS = 320 -X86_INS_MINSD = 321 -X86_INS_MINSS = 322 -X86_INS_CVTPD2PI = 323 -X86_INS_CVTPI2PD = 324 -X86_INS_CVTPI2PS = 325 -X86_INS_CVTPS2PI = 326 -X86_INS_CVTTPD2PI = 327 -X86_INS_CVTTPS2PI = 328 -X86_INS_EMMS = 329 -X86_INS_MASKMOVQ = 330 -X86_INS_MOVD = 331 -X86_INS_MOVDQ2Q = 332 -X86_INS_MOVNTQ = 333 -X86_INS_MOVQ2DQ = 334 -X86_INS_MOVQ = 335 -X86_INS_PABSB = 336 -X86_INS_PABSD = 337 -X86_INS_PABSW = 338 -X86_INS_PACKSSDW = 339 -X86_INS_PACKSSWB = 340 -X86_INS_PACKUSWB = 341 -X86_INS_PADDB = 342 -X86_INS_PADDD = 343 -X86_INS_PADDQ = 344 -X86_INS_PADDSB = 345 -X86_INS_PADDSW = 346 -X86_INS_PADDUSB = 347 -X86_INS_PADDUSW = 348 -X86_INS_PADDW = 349 -X86_INS_PALIGNR = 350 -X86_INS_PANDN = 351 -X86_INS_PAND = 352 -X86_INS_PAVGB = 353 -X86_INS_PAVGW = 354 -X86_INS_PCMPEQB = 355 -X86_INS_PCMPEQD = 356 -X86_INS_PCMPEQW = 357 -X86_INS_PCMPGTB = 358 -X86_INS_PCMPGTD = 359 -X86_INS_PCMPGTW = 360 -X86_INS_PEXTRW = 361 -X86_INS_PHADDSW = 362 -X86_INS_PHADDW = 363 -X86_INS_PHADDD = 364 -X86_INS_PHSUBD = 365 -X86_INS_PHSUBSW = 366 -X86_INS_PHSUBW = 367 -X86_INS_PINSRW = 368 -X86_INS_PMADDUBSW = 369 -X86_INS_PMADDWD = 370 -X86_INS_PMAXSW = 371 -X86_INS_PMAXUB = 372 -X86_INS_PMINSW = 373 -X86_INS_PMINUB = 374 -X86_INS_PMOVMSKB = 375 -X86_INS_PMULHRSW = 376 -X86_INS_PMULHUW = 377 -X86_INS_PMULHW = 378 -X86_INS_PMULLW = 379 -X86_INS_PMULUDQ = 380 -X86_INS_POR = 381 -X86_INS_PSADBW = 382 -X86_INS_PSHUFB = 383 -X86_INS_PSHUFW = 384 -X86_INS_PSIGNB = 385 -X86_INS_PSIGND = 386 -X86_INS_PSIGNW = 387 -X86_INS_PSLLD = 388 -X86_INS_PSLLQ = 389 -X86_INS_PSLLW = 390 -X86_INS_PSRAD = 391 -X86_INS_PSRAW = 392 -X86_INS_PSRLD = 393 -X86_INS_PSRLQ = 394 -X86_INS_PSRLW = 395 -X86_INS_PSUBB = 396 -X86_INS_PSUBD = 397 -X86_INS_PSUBQ = 398 -X86_INS_PSUBSB = 399 -X86_INS_PSUBSW = 400 -X86_INS_PSUBUSB = 401 -X86_INS_PSUBUSW = 402 -X86_INS_PSUBW = 403 -X86_INS_PUNPCKHBW = 404 -X86_INS_PUNPCKHDQ = 405 -X86_INS_PUNPCKHWD = 406 -X86_INS_PUNPCKLBW = 407 -X86_INS_PUNPCKLDQ = 408 -X86_INS_PUNPCKLWD = 409 -X86_INS_PXOR = 410 -X86_INS_MONITOR = 411 -X86_INS_MONTMUL = 412 -X86_INS_MOV = 413 -X86_INS_MOVABS = 414 -X86_INS_MOVBE = 415 -X86_INS_MOVDDUP = 416 -X86_INS_MOVDQA = 417 -X86_INS_MOVDQU = 418 -X86_INS_MOVHLPS = 419 -X86_INS_MOVHPD = 420 -X86_INS_MOVHPS = 421 -X86_INS_MOVLHPS = 422 -X86_INS_MOVLPD = 423 -X86_INS_MOVLPS = 424 -X86_INS_MOVMSKPD = 425 -X86_INS_MOVMSKPS = 426 -X86_INS_MOVNTDQA = 427 -X86_INS_MOVNTDQ = 428 -X86_INS_MOVNTI = 429 -X86_INS_MOVNTPD = 430 -X86_INS_MOVNTPS = 431 -X86_INS_MOVNTSD = 432 -X86_INS_MOVNTSS = 433 -X86_INS_MOVSB = 434 -X86_INS_MOVSD = 435 -X86_INS_MOVSHDUP = 436 -X86_INS_MOVSLDUP = 437 -X86_INS_MOVSQ = 438 -X86_INS_MOVSS = 439 -X86_INS_MOVSW = 440 -X86_INS_MOVSX = 441 -X86_INS_MOVSXD = 442 -X86_INS_MOVUPD = 443 -X86_INS_MOVUPS = 444 -X86_INS_MOVZX = 445 -X86_INS_MPSADBW = 446 -X86_INS_MUL = 447 -X86_INS_MULPD = 448 -X86_INS_MULPS = 449 -X86_INS_MULSD = 450 -X86_INS_MULSS = 451 -X86_INS_MULX = 452 -X86_INS_FMUL = 453 -X86_INS_FIMUL = 454 -X86_INS_FMULP = 455 -X86_INS_MWAIT = 456 -X86_INS_NEG = 457 -X86_INS_NOP = 458 -X86_INS_NOT = 459 -X86_INS_OUT = 460 -X86_INS_OUTSB = 461 -X86_INS_OUTSD = 462 -X86_INS_OUTSW = 463 -X86_INS_PACKUSDW = 464 -X86_INS_PAUSE = 465 -X86_INS_PAVGUSB = 466 -X86_INS_PBLENDVB = 467 -X86_INS_PBLENDW = 468 -X86_INS_PCLMULQDQ = 469 -X86_INS_PCMPEQQ = 470 -X86_INS_PCMPESTRI = 471 -X86_INS_PCMPESTRM = 472 -X86_INS_PCMPGTQ = 473 -X86_INS_PCMPISTRI = 474 -X86_INS_PCMPISTRM = 475 -X86_INS_PDEP = 476 -X86_INS_PEXT = 477 -X86_INS_PEXTRB = 478 -X86_INS_PEXTRD = 479 -X86_INS_PEXTRQ = 480 -X86_INS_PF2ID = 481 -X86_INS_PF2IW = 482 -X86_INS_PFACC = 483 -X86_INS_PFADD = 484 -X86_INS_PFCMPEQ = 485 -X86_INS_PFCMPGE = 486 -X86_INS_PFCMPGT = 487 -X86_INS_PFMAX = 488 -X86_INS_PFMIN = 489 -X86_INS_PFMUL = 490 -X86_INS_PFNACC = 491 -X86_INS_PFPNACC = 492 -X86_INS_PFRCPIT1 = 493 -X86_INS_PFRCPIT2 = 494 -X86_INS_PFRCP = 495 -X86_INS_PFRSQIT1 = 496 -X86_INS_PFRSQRT = 497 -X86_INS_PFSUBR = 498 -X86_INS_PFSUB = 499 -X86_INS_PHMINPOSUW = 500 -X86_INS_PI2FD = 501 -X86_INS_PI2FW = 502 -X86_INS_PINSRB = 503 -X86_INS_PINSRD = 504 -X86_INS_PINSRQ = 505 -X86_INS_PMAXSB = 506 -X86_INS_PMAXSD = 507 -X86_INS_PMAXUD = 508 -X86_INS_PMAXUW = 509 -X86_INS_PMINSB = 510 -X86_INS_PMINSD = 511 -X86_INS_PMINUD = 512 -X86_INS_PMINUW = 513 -X86_INS_PMOVSXBD = 514 -X86_INS_PMOVSXBQ = 515 -X86_INS_PMOVSXBW = 516 -X86_INS_PMOVSXDQ = 517 -X86_INS_PMOVSXWD = 518 -X86_INS_PMOVSXWQ = 519 -X86_INS_PMOVZXBD = 520 -X86_INS_PMOVZXBQ = 521 -X86_INS_PMOVZXBW = 522 -X86_INS_PMOVZXDQ = 523 -X86_INS_PMOVZXWD = 524 -X86_INS_PMOVZXWQ = 525 -X86_INS_PMULDQ = 526 -X86_INS_PMULHRW = 527 -X86_INS_PMULLD = 528 -X86_INS_POP = 529 -X86_INS_POPA = 530 -X86_INS_POPCNT = 531 -X86_INS_POPF = 532 -X86_INS_POPFD = 533 -X86_INS_POPFQ = 534 -X86_INS_PREFETCH = 535 -X86_INS_PREFETCHNTA = 536 -X86_INS_PREFETCHT0 = 537 -X86_INS_PREFETCHT1 = 538 -X86_INS_PREFETCHT2 = 539 -X86_INS_PREFETCHW = 540 -X86_INS_PSHUFD = 541 -X86_INS_PSHUFHW = 542 -X86_INS_PSHUFLW = 543 -X86_INS_PSLLDQ = 544 -X86_INS_PSRLDQ = 545 -X86_INS_PSWAPD = 546 -X86_INS_PTEST = 547 -X86_INS_PUNPCKHQDQ = 548 -X86_INS_PUNPCKLQDQ = 549 -X86_INS_PUSH = 550 -X86_INS_PUSHA = 551 -X86_INS_PUSHF = 552 -X86_INS_PUSHFD = 553 -X86_INS_PUSHFQ = 554 -X86_INS_RCL = 555 -X86_INS_RCPPS = 556 -X86_INS_RCPSS = 557 -X86_INS_RCR = 558 -X86_INS_RDFSBASE = 559 -X86_INS_RDGSBASE = 560 -X86_INS_RDMSR = 561 -X86_INS_RDPMC = 562 -X86_INS_RDRAND = 563 -X86_INS_RDSEED = 564 -X86_INS_RDTSC = 565 -X86_INS_RDTSCP = 566 -X86_INS_REPNE = 567 -X86_INS_REP = 568 -X86_INS_REX64 = 569 -X86_INS_ROL = 570 -X86_INS_ROR = 571 -X86_INS_RORX = 572 -X86_INS_ROUNDPD = 573 -X86_INS_ROUNDPS = 574 -X86_INS_ROUNDSD = 575 -X86_INS_ROUNDSS = 576 -X86_INS_RSM = 577 -X86_INS_RSQRTPS = 578 -X86_INS_RSQRTSS = 579 -X86_INS_SAHF = 580 -X86_INS_SAR = 581 -X86_INS_SARX = 582 -X86_INS_SBB = 583 -X86_INS_SCASW = 584 -X86_INS_SCASD = 585 -X86_INS_SCASQ = 586 -X86_INS_SCASB = 587 -X86_INS_SETAE = 588 -X86_INS_SETA = 589 -X86_INS_SETBE = 590 -X86_INS_SETB = 591 -X86_INS_SETE = 592 -X86_INS_SETGE = 593 -X86_INS_SETG = 594 -X86_INS_SETLE = 595 -X86_INS_SETL = 596 -X86_INS_SETNE = 597 -X86_INS_SETNO = 598 -X86_INS_SETNP = 599 -X86_INS_SETNS = 600 -X86_INS_SETO = 601 -X86_INS_SETP = 602 -X86_INS_SETS = 603 -X86_INS_SFENCE = 604 -X86_INS_SGDT = 605 -X86_INS_SHA1MSG1 = 606 -X86_INS_SHA1MSG2 = 607 -X86_INS_SHA1NEXTE = 608 -X86_INS_SHA1RNDS4 = 609 -X86_INS_SHA256MSG1 = 610 -X86_INS_SHA256MSG2 = 611 -X86_INS_SHA256RNDS2 = 612 -X86_INS_SHL = 613 -X86_INS_SHLD = 614 -X86_INS_SHLX = 615 -X86_INS_SHR = 616 -X86_INS_SHRD = 617 -X86_INS_SHRX = 618 -X86_INS_SHUFPD = 619 -X86_INS_SHUFPS = 620 -X86_INS_SIDT = 621 -X86_INS_FSIN = 622 -X86_INS_SKINIT = 623 -X86_INS_SLDT = 624 -X86_INS_SMSW = 625 -X86_INS_SQRTPD = 626 -X86_INS_SQRTPS = 627 -X86_INS_SQRTSD = 628 -X86_INS_SQRTSS = 629 -X86_INS_FSQRT = 630 -X86_INS_SS = 631 -X86_INS_STAC = 632 -X86_INS_STC = 633 -X86_INS_STD = 634 -X86_INS_STGI = 635 -X86_INS_STI = 636 -X86_INS_STMXCSR = 637 -X86_INS_STOSB = 638 -X86_INS_STOSD = 639 -X86_INS_STOSQ = 640 -X86_INS_STOSW = 641 -X86_INS_STR = 642 -X86_INS_FST = 643 -X86_INS_FSTP = 644 -X86_INS_SUBPD = 645 -X86_INS_SUBPS = 646 -X86_INS_FSUBR = 647 -X86_INS_FISUBR = 648 -X86_INS_FSUBRP = 649 -X86_INS_SUBSD = 650 -X86_INS_SUBSS = 651 -X86_INS_FSUB = 652 -X86_INS_FISUB = 653 -X86_INS_FSUBP = 654 -X86_INS_SWAPGS = 655 -X86_INS_SYSCALL = 656 -X86_INS_SYSENTER = 657 -X86_INS_SYSEXIT = 658 -X86_INS_SYSRET = 659 -X86_INS_TEST = 660 -X86_INS_UD2 = 661 -X86_INS_FTST = 662 -X86_INS_TZCNT = 663 -X86_INS_FUCOMPI = 664 -X86_INS_FUCOMI = 665 -X86_INS_FUCOMPP = 666 -X86_INS_FUCOMP = 667 -X86_INS_FUCOM = 668 -X86_INS_UD2B = 669 -X86_INS_UNPCKHPD = 670 -X86_INS_UNPCKHPS = 671 -X86_INS_UNPCKLPD = 672 -X86_INS_UNPCKLPS = 673 -X86_INS_VADDPD = 674 -X86_INS_VADDPS = 675 -X86_INS_VADDSD = 676 -X86_INS_VADDSS = 677 -X86_INS_VADDSUBPD = 678 -X86_INS_VADDSUBPS = 679 -X86_INS_VAESDECLAST = 680 -X86_INS_VAESDEC = 681 -X86_INS_VAESENCLAST = 682 -X86_INS_VAESENC = 683 -X86_INS_VAESIMC = 684 -X86_INS_VAESKEYGENASSIST = 685 -X86_INS_VALIGND = 686 -X86_INS_VALIGNQ = 687 -X86_INS_VANDNPD = 688 -X86_INS_VANDNPS = 689 -X86_INS_VANDPD = 690 -X86_INS_VANDPS = 691 -X86_INS_VBLENDMPD = 692 -X86_INS_VBLENDMPS = 693 -X86_INS_VBLENDPD = 694 -X86_INS_VBLENDPS = 695 -X86_INS_VBLENDVPD = 696 -X86_INS_VBLENDVPS = 697 -X86_INS_VBROADCASTF128 = 698 -X86_INS_VBROADCASTI128 = 699 -X86_INS_VBROADCASTSD = 700 -X86_INS_VBROADCASTSS = 701 -X86_INS_VCMPPD = 702 -X86_INS_VVCMPPD = 703 -X86_INS_VCMPPS = 704 -X86_INS_VVCMPPS = 705 -X86_INS_VCVTDQ2PD = 706 -X86_INS_VCVTDQ2PS = 707 -X86_INS_VCVTPD2DQX = 708 -X86_INS_VCVTPD2DQ = 709 -X86_INS_VCVTPD2PSX = 710 -X86_INS_VCVTPD2PS = 711 -X86_INS_VCVTPH2PS = 712 -X86_INS_VCVTPS2DQ = 713 -X86_INS_VCVTPS2PD = 714 -X86_INS_VCVTPS2PH = 715 -X86_INS_VCVTSD2SI = 716 -X86_INS_VCVTSS2SI = 717 -X86_INS_VCVTTPD2DQX = 718 -X86_INS_VCVTTPD2DQ = 719 -X86_INS_VCVTTPD2UDQ = 720 -X86_INS_VCVTTPS2DQ = 721 -X86_INS_VCVTTPS2UDQ = 722 -X86_INS_VCVTUDQ2PD = 723 -X86_INS_VCVTUDQ2PS = 724 -X86_INS_VDIVPD = 725 -X86_INS_VDIVPS = 726 -X86_INS_VDIVSD = 727 -X86_INS_VDIVSS = 728 -X86_INS_VDPPD = 729 -X86_INS_VDPPS = 730 -X86_INS_VERR = 731 -X86_INS_VERW = 732 -X86_INS_VEXTRACTF128 = 733 -X86_INS_VEXTRACTF32X4 = 734 -X86_INS_VEXTRACTF64X4 = 735 -X86_INS_VEXTRACTI128 = 736 -X86_INS_VEXTRACTI32X4 = 737 -X86_INS_VEXTRACTI64X4 = 738 -X86_INS_VEXTRACTPS = 739 -X86_INS_VFMADD132PD = 740 -X86_INS_VFMADD132PS = 741 -X86_INS_VFMADD213PD = 742 -X86_INS_VFMADD213PS = 743 -X86_INS_VFMADDPD = 744 -X86_INS_VFMADD231PD = 745 -X86_INS_VFMADDPS = 746 -X86_INS_VFMADD231PS = 747 -X86_INS_VFMADDSD = 748 -X86_INS_VFMADD213SD = 749 -X86_INS_VFMADD132SD = 750 -X86_INS_VFMADD231SD = 751 -X86_INS_VFMADDSS = 752 -X86_INS_VFMADD213SS = 753 -X86_INS_VFMADD132SS = 754 -X86_INS_VFMADD231SS = 755 -X86_INS_VFMADDSUB132PD = 756 -X86_INS_VFMADDSUB132PS = 757 -X86_INS_VFMADDSUB213PD = 758 -X86_INS_VFMADDSUB213PS = 759 -X86_INS_VFMADDSUBPD = 760 -X86_INS_VFMADDSUB231PD = 761 -X86_INS_VFMADDSUBPS = 762 -X86_INS_VFMADDSUB231PS = 763 -X86_INS_VFMSUB132PD = 764 -X86_INS_VFMSUB132PS = 765 -X86_INS_VFMSUB213PD = 766 -X86_INS_VFMSUB213PS = 767 -X86_INS_VFMSUBADD132PD = 768 -X86_INS_VFMSUBADD132PS = 769 -X86_INS_VFMSUBADD213PD = 770 -X86_INS_VFMSUBADD213PS = 771 -X86_INS_VFMSUBADDPD = 772 -X86_INS_VFMSUBADD231PD = 773 -X86_INS_VFMSUBADDPS = 774 -X86_INS_VFMSUBADD231PS = 775 -X86_INS_VFMSUBPD = 776 -X86_INS_VFMSUB231PD = 777 -X86_INS_VFMSUBPS = 778 -X86_INS_VFMSUB231PS = 779 -X86_INS_VFMSUBSD = 780 -X86_INS_VFMSUB213SD = 781 -X86_INS_VFMSUB132SD = 782 -X86_INS_VFMSUB231SD = 783 -X86_INS_VFMSUBSS = 784 -X86_INS_VFMSUB213SS = 785 -X86_INS_VFMSUB132SS = 786 -X86_INS_VFMSUB231SS = 787 -X86_INS_VFNMADD132PD = 788 -X86_INS_VFNMADD132PS = 789 -X86_INS_VFNMADD213PD = 790 -X86_INS_VFNMADD213PS = 791 -X86_INS_VFNMADDPD = 792 -X86_INS_VFNMADD231PD = 793 -X86_INS_VFNMADDPS = 794 -X86_INS_VFNMADD231PS = 795 -X86_INS_VFNMADDSD = 796 -X86_INS_VFNMADD213SD = 797 -X86_INS_VFNMADD132SD = 798 -X86_INS_VFNMADD231SD = 799 -X86_INS_VFNMADDSS = 800 -X86_INS_VFNMADD213SS = 801 -X86_INS_VFNMADD132SS = 802 -X86_INS_VFNMADD231SS = 803 -X86_INS_VFNMSUB132PD = 804 -X86_INS_VFNMSUB132PS = 805 -X86_INS_VFNMSUB213PD = 806 -X86_INS_VFNMSUB213PS = 807 -X86_INS_VFNMSUBPD = 808 -X86_INS_VFNMSUB231PD = 809 -X86_INS_VFNMSUBPS = 810 -X86_INS_VFNMSUB231PS = 811 -X86_INS_VFNMSUBSD = 812 -X86_INS_VFNMSUB213SD = 813 -X86_INS_VFNMSUB132SD = 814 -X86_INS_VFNMSUB231SD = 815 -X86_INS_VFNMSUBSS = 816 -X86_INS_VFNMSUB213SS = 817 -X86_INS_VFNMSUB132SS = 818 -X86_INS_VFNMSUB231SS = 819 -X86_INS_VFRCZPD = 820 -X86_INS_VFRCZPS = 821 -X86_INS_VFRCZSD = 822 -X86_INS_VFRCZSS = 823 -X86_INS_VORPD = 824 -X86_INS_VORPS = 825 -X86_INS_VXORPD = 826 -X86_INS_VXORPS = 827 -X86_INS_VGATHERDPD = 828 -X86_INS_VGATHERDPS = 829 -X86_INS_VGATHERQPD = 830 -X86_INS_VGATHERQPS = 831 -X86_INS_VHADDPD = 832 -X86_INS_VHADDPS = 833 -X86_INS_VHSUBPD = 834 -X86_INS_VHSUBPS = 835 -X86_INS_VINSERTF128 = 836 -X86_INS_VINSERTF32X4 = 837 -X86_INS_VINSERTF64X4 = 838 -X86_INS_VINSERTI128 = 839 -X86_INS_VINSERTI32X4 = 840 -X86_INS_VINSERTI64X4 = 841 -X86_INS_VINSERTPS = 842 -X86_INS_VLDDQU = 843 -X86_INS_VLDMXCSR = 844 -X86_INS_VMASKMOVDQU = 845 -X86_INS_VMASKMOVPD = 846 -X86_INS_VMASKMOVPS = 847 -X86_INS_VMAXPD = 848 -X86_INS_VMAXPS = 849 -X86_INS_VMAXSD = 850 -X86_INS_VMAXSS = 851 -X86_INS_VMCALL = 852 -X86_INS_VMCLEAR = 853 -X86_INS_VMFUNC = 854 -X86_INS_VMINPD = 855 -X86_INS_VMINPS = 856 -X86_INS_VMINSD = 857 -X86_INS_VMINSS = 858 -X86_INS_VMLAUNCH = 859 -X86_INS_VMLOAD = 860 -X86_INS_VMMCALL = 861 -X86_INS_VMOVQ = 862 -X86_INS_VVMOVQ = 863 -X86_INS_VMOVDDUP = 864 -X86_INS_VMOVD = 865 -X86_INS_VMOVDQA32 = 866 -X86_INS_VMOVDQA64 = 867 -X86_INS_VMOVDQA = 868 -X86_INS_VMOVDQU32 = 869 -X86_INS_VMOVDQU64 = 870 -X86_INS_VMOVDQU = 871 -X86_INS_VMOVHLPS = 872 -X86_INS_VMOVHPD = 873 -X86_INS_VMOVHPS = 874 -X86_INS_VMOVLHPS = 875 -X86_INS_VMOVLPD = 876 -X86_INS_VMOVLPS = 877 -X86_INS_VMOVMSKPD = 878 -X86_INS_VMOVMSKPS = 879 -X86_INS_VMOVNTDQA = 880 -X86_INS_VMOVNTDQ = 881 -X86_INS_VMOVNTPD = 882 -X86_INS_VMOVNTPS = 883 -X86_INS_VMOVSD = 884 -X86_INS_VMOVSHDUP = 885 -X86_INS_VMOVSLDUP = 886 -X86_INS_VMOVSS = 887 -X86_INS_VMOVUPD = 888 -X86_INS_VMOVUPS = 889 -X86_INS_VMPSADBW = 890 -X86_INS_VMPTRLD = 891 -X86_INS_VMPTRST = 892 -X86_INS_VMREAD = 893 -X86_INS_VMRESUME = 894 -X86_INS_VMRUN = 895 -X86_INS_VMSAVE = 896 -X86_INS_VMULPD = 897 -X86_INS_VMULPS = 898 -X86_INS_VMULSD = 899 -X86_INS_VMULSS = 900 -X86_INS_VMWRITE = 901 -X86_INS_VMXOFF = 902 -X86_INS_VMXON = 903 -X86_INS_VPABSB = 904 -X86_INS_VPABSD = 905 -X86_INS_VPABSQ = 906 -X86_INS_VPABSW = 907 -X86_INS_VPACKSSDW = 908 -X86_INS_VPACKSSWB = 909 -X86_INS_VPACKUSDW = 910 -X86_INS_VPACKUSWB = 911 -X86_INS_VPADDB = 912 -X86_INS_VPADDD = 913 -X86_INS_VPADDQ = 914 -X86_INS_VPADDSB = 915 -X86_INS_VPADDSW = 916 -X86_INS_VPADDUSB = 917 -X86_INS_VPADDUSW = 918 -X86_INS_VPADDW = 919 -X86_INS_VPALIGNR = 920 -X86_INS_VPANDD = 921 -X86_INS_VPANDND = 922 -X86_INS_VPANDNQ = 923 -X86_INS_VPANDN = 924 -X86_INS_VPANDQ = 925 -X86_INS_VPAND = 926 -X86_INS_VPAVGB = 927 -X86_INS_VPAVGW = 928 -X86_INS_VPBLENDD = 929 -X86_INS_VPBLENDMD = 930 -X86_INS_VPBLENDMQ = 931 -X86_INS_VPBLENDVB = 932 -X86_INS_VPBLENDW = 933 -X86_INS_VPBROADCASTB = 934 -X86_INS_VPBROADCASTD = 935 -X86_INS_VPBROADCASTMB2Q = 936 -X86_INS_VPBROADCASTMW2D = 937 -X86_INS_VPBROADCASTQ = 938 -X86_INS_VPBROADCASTW = 939 -X86_INS_VPCLMULQDQ = 940 -X86_INS_VPCMOV = 941 -X86_INS_VPCMPD = 942 -X86_INS_VPCMPEQB = 943 -X86_INS_VPCMPEQD = 944 -X86_INS_VPCMPEQQ = 945 -X86_INS_VPCMPEQW = 946 -X86_INS_VPCMPESTRI = 947 -X86_INS_VPCMPESTRM = 948 -X86_INS_VPCMPGTB = 949 -X86_INS_VPCMPGTD = 950 -X86_INS_VPCMPGTQ = 951 -X86_INS_VPCMPGTW = 952 -X86_INS_VPCMPISTRI = 953 -X86_INS_VPCMPISTRM = 954 -X86_INS_VPCMPQ = 955 -X86_INS_VPCMPUD = 956 -X86_INS_VPCMPUQ = 957 -X86_INS_VPCOMB = 958 -X86_INS_VPCOMD = 959 -X86_INS_VPCOMQ = 960 -X86_INS_VPCOMUB = 961 -X86_INS_VPCOMUD = 962 -X86_INS_VPCOMUQ = 963 -X86_INS_VPCOMUW = 964 -X86_INS_VPCOMW = 965 -X86_INS_VPERM2F128 = 966 -X86_INS_VPERM2I128 = 967 -X86_INS_VPERMD = 968 -X86_INS_VPERMI2D = 969 -X86_INS_VPERMI2PD = 970 -X86_INS_VPERMI2PS = 971 -X86_INS_VPERMI2Q = 972 -X86_INS_VPERMIL2PD = 973 -X86_INS_VPERMIL2PS = 974 -X86_INS_VPERMILPD = 975 -X86_INS_VPERMILPS = 976 -X86_INS_VPERMPD = 977 -X86_INS_VPERMPS = 978 -X86_INS_VPERMQ = 979 -X86_INS_VPEXTRB = 980 -X86_INS_VPEXTRD = 981 -X86_INS_VPEXTRQ = 982 -X86_INS_VPEXTRW = 983 -X86_INS_VPGATHERDD = 984 -X86_INS_VPGATHERDQ = 985 -X86_INS_VPGATHERQD = 986 -X86_INS_VPGATHERQQ = 987 -X86_INS_VPHADDBD = 988 -X86_INS_VPHADDBQ = 989 -X86_INS_VPHADDBW = 990 -X86_INS_VPHADDDQ = 991 -X86_INS_VPHADDD = 992 -X86_INS_VPHADDSW = 993 -X86_INS_VPHADDUBD = 994 -X86_INS_VPHADDUBQ = 995 -X86_INS_VPHADDUBW = 996 -X86_INS_VPHADDUDQ = 997 -X86_INS_VPHADDUWD = 998 -X86_INS_VPHADDUWQ = 999 -X86_INS_VPHADDWD = 1000 -X86_INS_VPHADDWQ = 1001 -X86_INS_VPHADDW = 1002 -X86_INS_VPHMINPOSUW = 1003 -X86_INS_VPHSUBBW = 1004 -X86_INS_VPHSUBDQ = 1005 -X86_INS_VPHSUBD = 1006 -X86_INS_VPHSUBSW = 1007 -X86_INS_VPHSUBWD = 1008 -X86_INS_VPHSUBW = 1009 -X86_INS_VPINSRB = 1010 -X86_INS_VPINSRD = 1011 -X86_INS_VPINSRQ = 1012 -X86_INS_VPINSRW = 1013 -X86_INS_VPMACSDD = 1014 -X86_INS_VPMACSDQH = 1015 -X86_INS_VPMACSDQL = 1016 -X86_INS_VPMACSSDD = 1017 -X86_INS_VPMACSSDQH = 1018 -X86_INS_VPMACSSDQL = 1019 -X86_INS_VPMACSSWD = 1020 -X86_INS_VPMACSSWW = 1021 -X86_INS_VPMACSWD = 1022 -X86_INS_VPMACSWW = 1023 -X86_INS_VPMADCSSWD = 1024 -X86_INS_VPMADCSWD = 1025 -X86_INS_VPMADDUBSW = 1026 -X86_INS_VPMADDWD = 1027 -X86_INS_VPMASKMOVD = 1028 -X86_INS_VPMASKMOVQ = 1029 -X86_INS_VPMAXSB = 1030 -X86_INS_VPMAXSD = 1031 -X86_INS_VPMAXSW = 1032 -X86_INS_VPMAXUB = 1033 -X86_INS_VPMAXUD = 1034 -X86_INS_VPMAXUW = 1035 -X86_INS_VPMINSB = 1036 -X86_INS_VPMINSD = 1037 -X86_INS_VPMINSW = 1038 -X86_INS_VPMINUB = 1039 -X86_INS_VPMINUD = 1040 -X86_INS_VPMINUW = 1041 -X86_INS_VPMOVDB = 1042 -X86_INS_VPMOVDW = 1043 -X86_INS_VPMOVMSKB = 1044 -X86_INS_VPMOVQB = 1045 -X86_INS_VPMOVQD = 1046 -X86_INS_VPMOVQW = 1047 -X86_INS_VPMOVSDB = 1048 -X86_INS_VPMOVSDW = 1049 -X86_INS_VPMOVSQB = 1050 -X86_INS_VPMOVSQD = 1051 -X86_INS_VPMOVSQW = 1052 -X86_INS_VPMOVSXBD = 1053 -X86_INS_VPMOVSXBQ = 1054 -X86_INS_VPMOVSXBW = 1055 -X86_INS_VPMOVSXDQ = 1056 -X86_INS_VPMOVSXWD = 1057 -X86_INS_VPMOVSXWQ = 1058 -X86_INS_VPMOVUSDB = 1059 -X86_INS_VPMOVUSDW = 1060 -X86_INS_VPMOVUSQB = 1061 -X86_INS_VPMOVUSQD = 1062 -X86_INS_VPMOVUSQW = 1063 -X86_INS_VPMOVZXBD = 1064 -X86_INS_VPMOVZXBQ = 1065 -X86_INS_VPMOVZXBW = 1066 -X86_INS_VPMOVZXDQ = 1067 -X86_INS_VPMOVZXWD = 1068 -X86_INS_VPMOVZXWQ = 1069 -X86_INS_VPMULDQ = 1070 -X86_INS_VPMULHRSW = 1071 -X86_INS_VPMULHUW = 1072 -X86_INS_VPMULHW = 1073 -X86_INS_VPMULLD = 1074 -X86_INS_VPMULLW = 1075 -X86_INS_VPMULUDQ = 1076 -X86_INS_VPORD = 1077 -X86_INS_VPORQ = 1078 -X86_INS_VPOR = 1079 -X86_INS_VPPERM = 1080 -X86_INS_VPROTB = 1081 -X86_INS_VPROTD = 1082 -X86_INS_VPROTQ = 1083 -X86_INS_VPROTW = 1084 -X86_INS_VPSADBW = 1085 -X86_INS_VPSCATTERDD = 1086 -X86_INS_VPSCATTERDQ = 1087 -X86_INS_VPSCATTERQD = 1088 -X86_INS_VPSCATTERQQ = 1089 -X86_INS_VPSHAB = 1090 -X86_INS_VPSHAD = 1091 -X86_INS_VPSHAQ = 1092 -X86_INS_VPSHAW = 1093 -X86_INS_VPSHLB = 1094 -X86_INS_VPSHLD = 1095 -X86_INS_VPSHLQ = 1096 -X86_INS_VPSHLW = 1097 -X86_INS_VPSHUFB = 1098 -X86_INS_VPSHUFD = 1099 -X86_INS_VPSHUFHW = 1100 -X86_INS_VPSHUFLW = 1101 -X86_INS_VPSIGNB = 1102 -X86_INS_VPSIGND = 1103 -X86_INS_VPSIGNW = 1104 -X86_INS_VPSLLDQ = 1105 -X86_INS_VPSLLD = 1106 -X86_INS_VPSLLQ = 1107 -X86_INS_VPSLLVD = 1108 -X86_INS_VPSLLVQ = 1109 -X86_INS_VPSLLW = 1110 -X86_INS_VPSRAD = 1111 -X86_INS_VPSRAQ = 1112 -X86_INS_VPSRAVD = 1113 -X86_INS_VPSRAVQ = 1114 -X86_INS_VPSRAW = 1115 -X86_INS_VPSRLDQ = 1116 -X86_INS_VPSRLD = 1117 -X86_INS_VPSRLQ = 1118 -X86_INS_VPSRLVD = 1119 -X86_INS_VPSRLVQ = 1120 -X86_INS_VPSRLW = 1121 -X86_INS_VPSUBB = 1122 -X86_INS_VPSUBD = 1123 -X86_INS_VPSUBQ = 1124 -X86_INS_VPSUBSB = 1125 -X86_INS_VPSUBSW = 1126 -X86_INS_VPSUBUSB = 1127 -X86_INS_VPSUBUSW = 1128 -X86_INS_VPSUBW = 1129 -X86_INS_VPTESTMD = 1130 -X86_INS_VPTESTMQ = 1131 -X86_INS_VPTEST = 1132 -X86_INS_VPUNPCKHBW = 1133 -X86_INS_VPUNPCKHDQ = 1134 -X86_INS_VPUNPCKHQDQ = 1135 -X86_INS_VPUNPCKHWD = 1136 -X86_INS_VPUNPCKLBW = 1137 -X86_INS_VPUNPCKLDQ = 1138 -X86_INS_VPUNPCKLQDQ = 1139 -X86_INS_VPUNPCKLWD = 1140 -X86_INS_VPXORD = 1141 -X86_INS_VPXORQ = 1142 -X86_INS_VPXOR = 1143 -X86_INS_VRCP14PD = 1144 -X86_INS_VRCP14PS = 1145 -X86_INS_VRCP14SD = 1146 -X86_INS_VRCP14SS = 1147 -X86_INS_VRCPPS = 1148 -X86_INS_VRCPSS = 1149 -X86_INS_VRNDSCALESD = 1150 -X86_INS_VRNDSCALESS = 1151 -X86_INS_VRNDSCALEPD = 1152 -X86_INS_VRNDSCALEPS = 1153 -X86_INS_VROUNDPD = 1154 -X86_INS_VROUNDPS = 1155 -X86_INS_VROUNDSD = 1156 -X86_INS_VROUNDSS = 1157 -X86_INS_VRSQRT14PD = 1158 -X86_INS_VRSQRT14PS = 1159 -X86_INS_VRSQRT14SD = 1160 -X86_INS_VRSQRT14SS = 1161 -X86_INS_VRSQRTPS = 1162 -X86_INS_VRSQRTSS = 1163 -X86_INS_VSCATTERDPD = 1164 -X86_INS_VSCATTERDPS = 1165 -X86_INS_VSCATTERQPD = 1166 -X86_INS_VSCATTERQPS = 1167 -X86_INS_VSHUFPD = 1168 -X86_INS_VSHUFPS = 1169 -X86_INS_VSQRTPD = 1170 -X86_INS_VSQRT = 1171 -X86_INS_VSQRTPS = 1172 -X86_INS_VSQRTSD = 1173 -X86_INS_VSQRTSS = 1174 -X86_INS_VSTMXCSR = 1175 -X86_INS_VSUBPD = 1176 -X86_INS_VSUBPS = 1177 -X86_INS_VSUBSD = 1178 -X86_INS_VSUBSS = 1179 -X86_INS_VTESTPD = 1180 -X86_INS_VTESTPS = 1181 -X86_INS_VUNPCKHPD = 1182 -X86_INS_VUNPCKHPS = 1183 -X86_INS_VUNPCKLPD = 1184 -X86_INS_VUNPCKLPS = 1185 -X86_INS_VZEROALL = 1186 -X86_INS_VZEROUPPER = 1187 -X86_INS_WAIT = 1188 -X86_INS_WBINVD = 1189 -X86_INS_WRFSBASE = 1190 -X86_INS_WRGSBASE = 1191 -X86_INS_WRMSR = 1192 -X86_INS_XABORT = 1193 -X86_INS_XACQUIRE = 1194 -X86_INS_XBEGIN = 1195 -X86_INS_XCHG = 1196 -X86_INS_FXCH = 1197 -X86_INS_XCRYPTCBC = 1198 -X86_INS_XCRYPTCFB = 1199 -X86_INS_XCRYPTCTR = 1200 -X86_INS_XCRYPTECB = 1201 -X86_INS_XCRYPTOFB = 1202 -X86_INS_XEND = 1203 -X86_INS_XGETBV = 1204 -X86_INS_XLATB = 1205 -X86_INS_XRELEASE = 1206 -X86_INS_XRSTOR = 1207 -X86_INS_XRSTOR64 = 1208 -X86_INS_XSAVE = 1209 -X86_INS_XSAVE64 = 1210 -X86_INS_XSAVEOPT = 1211 -X86_INS_XSAVEOPT64 = 1212 -X86_INS_XSETBV = 1213 -X86_INS_XSHA1 = 1214 -X86_INS_XSHA256 = 1215 -X86_INS_XSTORE = 1216 -X86_INS_XTEST = 1217 - -# all Intel instruction groups -X86_GRP_INVALID = 0 -X86_GRP_3DNOW = 1 -X86_GRP_AES = 2 -X86_GRP_ADX = 3 -X86_GRP_AVX = 4 -X86_GRP_AVX2 = 5 -X86_GRP_AVX512 = 6 -X86_GRP_BMI = 7 -X86_GRP_BMI2 = 8 -X86_GRP_CMOV = 9 -X86_GRP_F16C = 10 -X86_GRP_FMA = 11 -X86_GRP_FMA4 = 12 -X86_GRP_FSGSBASE = 13 -X86_GRP_HLE = 14 -X86_GRP_MMX = 15 -X86_GRP_MODE32 = 16 -X86_GRP_MODE64 = 17 -X86_GRP_RTM = 18 -X86_GRP_SHA = 19 -X86_GRP_SSE1 = 20 -X86_GRP_SSE2 = 21 -X86_GRP_SSE3 = 22 -X86_GRP_SSE41 = 23 -X86_GRP_SSE42 = 24 -X86_GRP_SSE4A = 25 -X86_GRP_SSSE3 = 26 -X86_GRP_PCLMUL = 27 -X86_GRP_XOP = 28