aboutsummaryrefslogtreecommitdiffstats
path: root/capstone/bindings
diff options
context:
space:
mode:
authorAngelos Mouzakitis <a.mouzakitis@virtualopensystems.com>2023-10-10 14:33:42 +0000
committerAngelos Mouzakitis <a.mouzakitis@virtualopensystems.com>2023-10-10 14:33:42 +0000
commitaf1a266670d040d2f4083ff309d732d648afba2a (patch)
tree2fc46203448ddcc6f81546d379abfaeb323575e9 /capstone/bindings
parente02cda008591317b1625707ff8e115a4841aa889 (diff)
Add submodule dependency filesHEADmaster
Change-Id: Iaf8d18082d3991dec7c0ebbea540f092188eb4ec
Diffstat (limited to 'capstone/bindings')
-rw-r--r--capstone/bindings/Makefile107
-rw-r--r--capstone/bindings/README72
-rw-r--r--capstone/bindings/const_generator.py177
-rw-r--r--capstone/bindings/java/.gitignore2
-rw-r--r--capstone/bindings/java/Makefile71
-rw-r--r--capstone/bindings/java/README28
-rw-r--r--capstone/bindings/java/TestArm.java142
-rw-r--r--capstone/bindings/java/TestArm64.java124
-rw-r--r--capstone/bindings/java/TestBasic.java178
-rw-r--r--capstone/bindings/java/TestM680x.java207
-rw-r--r--capstone/bindings/java/TestMips.java91
-rw-r--r--capstone/bindings/java/TestPpc.java96
-rw-r--r--capstone/bindings/java/TestSparc.java97
-rw-r--r--capstone/bindings/java/TestSystemz.java96
-rw-r--r--capstone/bindings/java/TestX86.java227
-rw-r--r--capstone/bindings/java/TestXcore.java89
-rw-r--r--capstone/bindings/java/capstone/.gitignore0
-rw-r--r--capstone/bindings/java/capstone/Arm.java153
-rw-r--r--capstone/bindings/java/capstone/Arm64.java125
-rw-r--r--capstone/bindings/java/capstone/Arm64_const.java2253
-rw-r--r--capstone/bindings/java/capstone/Arm_const.java834
-rw-r--r--capstone/bindings/java/capstone/Capstone.java546
-rw-r--r--capstone/bindings/java/capstone/Evm_const.java155
-rw-r--r--capstone/bindings/java/capstone/M680x.java132
-rw-r--r--capstone/bindings/java/capstone/M680x_const.java419
-rw-r--r--capstone/bindings/java/capstone/M68k_const.java489
-rw-r--r--capstone/bindings/java/capstone/Mips.java88
-rw-r--r--capstone/bindings/java/capstone/Mips_const.java865
-rw-r--r--capstone/bindings/java/capstone/Ppc.java109
-rw-r--r--capstone/bindings/java/capstone/Ppc_const.java1980
-rw-r--r--capstone/bindings/java/capstone/Sparc.java92
-rw-r--r--capstone/bindings/java/capstone/Sparc_const.java433
-rw-r--r--capstone/bindings/java/capstone/Systemz.java91
-rw-r--r--capstone/bindings/java/capstone/Sysz_const.java2527
-rw-r--r--capstone/bindings/java/capstone/TMS320C64x_const.java281
-rw-r--r--capstone/bindings/java/capstone/Wasm_const.java195
-rw-r--r--capstone/bindings/java/capstone/X86.java165
-rw-r--r--capstone/bindings/java/capstone/X86_const.java1993
-rw-r--r--capstone/bindings/java/capstone/Xcore.java83
-rw-r--r--capstone/bindings/java/capstone/Xcore_const.java165
-rwxr-xr-xcapstone/bindings/java/run.sh26
-rw-r--r--capstone/bindings/ocaml/Makefile299
-rw-r--r--capstone/bindings/ocaml/README23
-rw-r--r--capstone/bindings/ocaml/arm.ml55
-rw-r--r--capstone/bindings/ocaml/arm64.ml45
-rw-r--r--capstone/bindings/ocaml/arm64_const.ml2249
-rw-r--r--capstone/bindings/ocaml/arm_const.ml830
-rw-r--r--capstone/bindings/ocaml/capstone.ml214
-rw-r--r--capstone/bindings/ocaml/evm_const.ml151
-rw-r--r--capstone/bindings/ocaml/m680x.ml48
-rw-r--r--capstone/bindings/ocaml/m680x_const.ml415
-rw-r--r--capstone/bindings/ocaml/m68k_const.ml485
-rw-r--r--capstone/bindings/ocaml/mips.ml24
-rw-r--r--capstone/bindings/ocaml/mips_const.ml861
-rw-r--r--capstone/bindings/ocaml/ocaml.c1104
-rw-r--r--capstone/bindings/ocaml/ppc.ml34
-rw-r--r--capstone/bindings/ocaml/ppc_const.ml1976
-rw-r--r--capstone/bindings/ocaml/sparc.ml27
-rw-r--r--capstone/bindings/ocaml/sparc_const.ml429
-rw-r--r--capstone/bindings/ocaml/systemz.ml27
-rw-r--r--capstone/bindings/ocaml/sysz_const.ml2523
-rw-r--r--capstone/bindings/ocaml/test_arm.ml105
-rw-r--r--capstone/bindings/ocaml/test_arm64.ml101
-rw-r--r--capstone/bindings/ocaml/test_basic.ml67
-rw-r--r--capstone/bindings/ocaml/test_detail.ml87
-rw-r--r--capstone/bindings/ocaml/test_m680x.ml167
-rw-r--r--capstone/bindings/ocaml/test_mips.ml75
-rw-r--r--capstone/bindings/ocaml/test_ppc.ml81
-rw-r--r--capstone/bindings/ocaml/test_sparc.ml79
-rw-r--r--capstone/bindings/ocaml/test_systemz.ml80
-rw-r--r--capstone/bindings/ocaml/test_x86.ml117
-rw-r--r--capstone/bindings/ocaml/test_xcore.ml78
-rw-r--r--capstone/bindings/ocaml/tms320c64x_const.ml277
-rw-r--r--capstone/bindings/ocaml/wasm_const.ml191
-rw-r--r--capstone/bindings/ocaml/x86.ml47
-rw-r--r--capstone/bindings/ocaml/x86_const.ml1989
-rw-r--r--capstone/bindings/ocaml/xcore.ml26
-rw-r--r--capstone/bindings/ocaml/xcore_const.ml161
-rw-r--r--capstone/bindings/powershell/Capstone/Capstone.Format.ps1xml157
-rwxr-xr-xcapstone/bindings/powershell/Capstone/Capstone.psd1118
-rwxr-xr-xcapstone/bindings/powershell/Capstone/Capstone.psm1500
-rw-r--r--capstone/bindings/powershell/Capstone/Lib/Capstone/.gitignore0
-rwxr-xr-xcapstone/bindings/powershell/README.md30
-rw-r--r--capstone/bindings/python/.gitignore9
-rw-r--r--capstone/bindings/python/BUILDING.txt77
-rw-r--r--capstone/bindings/python/LICENSE.TXT31
-rw-r--r--capstone/bindings/python/MANIFEST.in5
-rw-r--r--capstone/bindings/python/Makefile82
-rw-r--r--capstone/bindings/python/README.txt65
-rw-r--r--capstone/bindings/python/capstone/arm.py82
-rw-r--r--capstone/bindings/python/capstone/arm64.py89
-rw-r--r--capstone/bindings/python/capstone/arm64_const.py2249
-rw-r--r--capstone/bindings/python/capstone/arm_const.py830
-rw-r--r--capstone/bindings/python/capstone/bpf.py69
-rw-r--r--capstone/bindings/python/capstone/bpf_const.py113
-rw-r--r--capstone/bindings/python/capstone/evm.py17
-rw-r--r--capstone/bindings/python/capstone/evm_const.py151
-rw-r--r--capstone/bindings/python/capstone/m680x.py88
-rw-r--r--capstone/bindings/python/capstone/m680x_const.py415
-rw-r--r--capstone/bindings/python/capstone/m68k.py96
-rw-r--r--capstone/bindings/python/capstone/m68k_const.py485
-rw-r--r--capstone/bindings/python/capstone/mips.py48
-rw-r--r--capstone/bindings/python/capstone/mips_const.py861
-rw-r--r--capstone/bindings/python/capstone/mos65xx.py45
-rw-r--r--capstone/bindings/python/capstone/mos65xx_const.py152
-rw-r--r--capstone/bindings/python/capstone/ppc.py63
-rw-r--r--capstone/bindings/python/capstone/ppc_const.py1976
-rw-r--r--capstone/bindings/python/capstone/riscv.py49
-rw-r--r--capstone/bindings/python/capstone/riscv_const.py449
-rw-r--r--capstone/bindings/python/capstone/sparc.py51
-rw-r--r--capstone/bindings/python/capstone/sparc_const.py429
-rw-r--r--capstone/bindings/python/capstone/systemz.py51
-rw-r--r--capstone/bindings/python/capstone/sysz_const.py2523
-rw-r--r--capstone/bindings/python/capstone/tms320c64x.py66
-rw-r--r--capstone/bindings/python/capstone/tms320c64x_const.py277
-rw-r--r--capstone/bindings/python/capstone/wasm_const.py191
-rw-r--r--capstone/bindings/python/capstone/x86.py85
-rw-r--r--capstone/bindings/python/capstone/x86_const.py1989
-rw-r--r--capstone/bindings/python/capstone/xcore.py50
-rw-r--r--capstone/bindings/python/capstone/xcore_const.py161
-rw-r--r--capstone/bindings/python/prebuilt/.gitkeep0
-rw-r--r--capstone/bindings/python/pyx/README1
-rw-r--r--capstone/bindings/python/pyx/ccapstone.pxd72
-rwxr-xr-xcapstone/bindings/python/setup.py233
-rw-r--r--capstone/bindings/python/setup_cython.py144
-rwxr-xr-xcapstone/bindings/python/test_all.py24
-rwxr-xr-xcapstone/bindings/python/test_arm.py151
-rwxr-xr-xcapstone/bindings/python/test_arm64.py126
-rwxr-xr-xcapstone/bindings/python/test_basic.py112
-rwxr-xr-xcapstone/bindings/python/test_bpf.py92
-rwxr-xr-xcapstone/bindings/python/test_customized_mnem.py40
-rwxr-xr-xcapstone/bindings/python/test_detail.py108
-rwxr-xr-xcapstone/bindings/python/test_evm.py29
-rwxr-xr-xcapstone/bindings/python/test_lite.py99
-rwxr-xr-xcapstone/bindings/python/test_m680x.py159
-rwxr-xr-xcapstone/bindings/python/test_m68k.py120
-rwxr-xr-xcapstone/bindings/python/test_mips.py71
-rwxr-xr-xcapstone/bindings/python/test_mos65xx.py83
-rwxr-xr-xcapstone/bindings/python/test_ppc.py83
-rwxr-xr-xcapstone/bindings/python/test_riscv.py67
-rwxr-xr-xcapstone/bindings/python/test_skipdata.py73
-rwxr-xr-xcapstone/bindings/python/test_sparc.py75
-rwxr-xr-xcapstone/bindings/python/test_systemz.py77
-rwxr-xr-xcapstone/bindings/python/test_tms320c64x.py93
-rwxr-xr-xcapstone/bindings/python/test_x86.py292
-rwxr-xr-xcapstone/bindings/python/test_xcore.py71
-rwxr-xr-xcapstone/bindings/python/xprint.py41
-rw-r--r--capstone/bindings/vb6/CDisassembler.cls153
-rw-r--r--capstone/bindings/vb6/CInstDetails.cls119
-rw-r--r--capstone/bindings/vb6/CInstruction.cls133
-rw-r--r--capstone/bindings/vb6/CX86Inst.cls197
-rw-r--r--capstone/bindings/vb6/CX86OpMem.cls28
-rw-r--r--capstone/bindings/vb6/CX86Operand.cls202
-rw-r--r--capstone/bindings/vb6/Form1.frm275
-rw-r--r--capstone/bindings/vb6/Form1.frx1
-rw-r--r--capstone/bindings/vb6/Module1.bas635
-rw-r--r--capstone/bindings/vb6/Project1.vbp46
-rw-r--r--capstone/bindings/vb6/Project1.vbw10
-rw-r--r--capstone/bindings/vb6/README.txt30
-rw-r--r--capstone/bindings/vb6/mMisc.bas385
-rw-r--r--capstone/bindings/vb6/mx86.bas1868
-rw-r--r--capstone/bindings/vb6/screenshot.pngbin0 -> 23811 bytes
-rw-r--r--capstone/bindings/vb6/vbCapstone.cpp119
-rw-r--r--capstone/bindings/vb6/vbCapstone.sln20
-rw-r--r--capstone/bindings/vb6/vbCapstone.vcproj182
165 files changed, 53763 insertions, 0 deletions
diff --git a/capstone/bindings/Makefile b/capstone/bindings/Makefile
new file mode 100644
index 000000000..83e9b255f
--- /dev/null
+++ b/capstone/bindings/Makefile
@@ -0,0 +1,107 @@
+TMPDIR = /tmp/capstone_test
+
+DIFF = diff -u -w
+
+TEST = $(TMPDIR)/test
+TEST_ARM = $(TMPDIR)/test_arm
+TEST_ARM64 = $(TMPDIR)/test_arm64
+TEST_M68K = $(TMPDIR)/test_m68k
+TEST_MIPS = $(TMPDIR)/test_mips
+TEST_MOS65XX = $(TMPDIR)/test_mos65xx
+TEST_PPC = $(TMPDIR)/test_ppc
+TEST_SPARC = $(TMPDIR)/test_sparc
+TEST_SYSZ = $(TMPDIR)/test_systemz
+TEST_X86 = $(TMPDIR)/test_x86
+TEST_XCORE = $(TMPDIR)/test_xcore
+TEST_BPF = $(TMPDIR)/test_bpf
+TEST_RISCV = $(TMPDIR)/test_riscv
+
+PYTHON2 ?= python
+
+.PHONY: all expected python java ocaml
+
+all:
+ cd python && $(MAKE) gen_const
+ cd java && $(MAKE) gen_const
+ cd ocaml && $(MAKE) gen_const
+
+tests: expected python java #oclma ruby
+
+test_java: expected java
+test_python: expected python
+
+expected:
+ cd ../tests && $(MAKE)
+ mkdir -p $(TMPDIR)
+ ../tests/test > $(TEST)_e
+ ../tests/test_arm > $(TEST_ARM)_e
+ ../tests/test_arm64 > $(TEST_ARM64)_e
+ ../tests/test_m68k > $(TEST_M68K)_e
+ ../tests/test_mips > $(TEST_MIPS)_e
+ ../tests/test_mos65xx > $(TEST_MOS65XX)_e
+ ../tests/test_ppc > $(TEST_PPC)_e
+ ../tests/test_sparc > $(TEST_SPARC)_e
+ ../tests/test_systemz > $(TEST_SYSZ)_e
+ ../tests/test_x86 > $(TEST_X86)_e
+ ../tests/test_xcore > $(TEST_XCORE)_e
+ ../tests/test_bpf > $(TEST_BPF)_e
+ ../tests/test_riscv > $(TEST_RISCV)_e
+
+python: FORCE
+ cd python && $(MAKE)
+ $(PYTHON2) python/test.py > $(TEST)_o
+ $(PYTHON2) python/test_arm.py > $(TEST_ARM)_o
+ $(PYTHON2) python/test_arm64.py > $(TEST_ARM64)_o
+ $(PYTHON2) python/test_m68k.py > $(TEST_M68K)_o
+ $(PYTHON2) python/test_mips.py > $(TEST_MIPS)_o
+ $(PYTHON2) python/test_mos65xx.py > $(TEST_MOS65XX)_o
+ $(PYTHON2) python/test_ppc.py > $(TEST_PPC)_o
+ $(PYTHON2) python/test_sparc.py > $(TEST_SPARC)_o
+ $(PYTHON2) python/test_systemz.py > $(TEST_SYSZ)_o
+ $(PYTHON2) python/test_x86.py > $(TEST_X86)_o
+ $(PYTHON2) python/test_xcore.py > $(TEST_XCORE)_o
+ $(PYTHON2) python/test_bpf.py > $(TEST_BPF)_o
+ $(PYTHON2) python/test_riscv.py > $(TEST_RISCV)_o
+ $(MAKE) test_diff
+
+java: FORCE
+ cd java && $(MAKE)
+ cd java && ./run.sh > $(TEST)_o
+ cd java && ./run.sh arm > $(TEST_ARM)_o
+ cd java && ./run.sh arm64 > $(TEST_ARM64)_o
+ cd java && ./run.sh mips > $(TEST_MIPS)_o
+ cd java && ./run.sh ppc > $(TEST_PPC)_o
+ cd java && ./run.sh sparc > $(TEST_SPARC)_o
+ cd java && ./run.sh systemz > $(TEST_SYSZ)_o
+ cd java && ./run.sh x86 > $(TEST_X86)_o
+ cd java && ./run.sh xcore > $(TEST_XCORE)_o
+ $(MAKE) test_diff
+
+ocaml: 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_M68K)_e $(TEST_M68K)_o
+ $(DIFF) $(TEST_MIPS)_e $(TEST_MIPS)_o
+ $(DIFF) $(TEST_MOS65XX)_e $(TEST_MOS65XX)_o
+ $(DIFF) $(TEST_PPC)_e $(TEST_PPC)_o
+ $(DIFF) $(TEST_SPARC)_e $(TEST_SPARC)_o
+ $(DIFF) $(TEST_SYSZ)_e $(TEST_SYSZ)_o
+ $(DIFF) $(TEST_X86)_e $(TEST_X86)_o
+ $(DIFF) $(TEST_XCORE)_e $(TEST_XCORE)_o
+ $(DIFF) $(TEST_BPF)_e $(TEST_BPF)_o
+
+clean:
+ rm -rf $(TMPDIR)
+ cd java && $(MAKE) clean
+ cd python && $(MAKE) clean
+ cd ocaml && $(MAKE) clean
+
+check:
+ make -C ocaml check
+ make -C python check
+ make -C java check
+
+FORCE:
diff --git a/capstone/bindings/README b/capstone/bindings/README
new file mode 100644
index 000000000..63be0e01a
--- /dev/null
+++ b/capstone/bindings/README
@@ -0,0 +1,72 @@
+This directory contains bindings & test code for Python, Java & OCaml.
+See <language>/README for how to compile & install each binding.
+
+More bindings created & maintained by the community are available as followings.
+
+- Gapstone: Go binding (by Scott Knight).
+
+ https://github.com/knightsc/gapstone
+
+- Crabstone: Ruby binding for Capstone 3+ (by david942j).
+
+ https://github.com/david942j/crabstone
+
+- Crabstone: Ruby binding (by Ben Nagy).
+
+ https://github.com/bnagy/crabstone
+
+- Capstone-Vala: Vala binding (by Pancake).
+
+ https://github.com/radare/capstone-vala
+
+- Node-Capstone: NodeJS binding (by Jason Oster).
+
+ https://github.com/parasyte/node-capstone
+
+- CCcapstone: C++ binding (by Peter Hlavaty).
+
+ https://github.com/zer0mem/cccapstone
+
+- LuaCapstone: Lua binding (by Antonio Davide).
+
+ https://github.com/Dax89/LuaCapstone
+
+- Capstone-RS: Rust binding (by Richo Healey).
+
+ https://github.com/capstone-rust/capstone-rs
+
+- Capstone.NET: .NET framework binding (by Ahmed Garhy).
+
+ https://github.com/9ee1/Capstone.NET
+
+- CapstoneJ: High level Java wrapper for Capstone-java (by Keve Müller).
+
+ https://github.com/kevemueller/capstonej
+
+- Hapstone: Haskell binding (by ibabushkin)
+
+ https://github.com/ibabushkin/hapstone
+
+- CL-Capstone: Common Lisp bindings (by GrammaTech).
+
+ https://github.com/GrammaTech/cl-capstone
+
+- Emacs-capstone: Emacs (elisp) binding (by Bas Alberts)
+
+ https://github.com/collarchoke/emacs-capstone
+
+- C# binding (by Matt Graeber). Note: this is only for Capstone v2.0.
+
+ https://github.com/mattifestation/capstone
+
+- PowerShell binding (by Ruben Boonen).
+
+ https://github.com/aquynh/capstone/tree/master/bindings/powershell
+
+- PHP binding (by Fadhil Mandaga).
+
+ https://github.com/firodj/php-capstone
+
+- capstone-d: D binding (by Dimitri Bohlender)
+
+ https://github.com/bohlender/capstone-d
diff --git a/capstone/bindings/const_generator.py b/capstone/bindings/const_generator.py
new file mode 100644
index 000000000..fda23642a
--- /dev/null
+++ b/capstone/bindings/const_generator.py
@@ -0,0 +1,177 @@
+# Capstone Disassembler Engine
+# By Dang Hoang Vu, 2013
+from __future__ import print_function
+import sys, re
+
+INCL_DIR = '../include/capstone/'
+
+include = [ 'arm.h', 'arm64.h', 'm68k.h', 'mips.h', 'x86.h', 'ppc.h', 'sparc.h', 'systemz.h', 'xcore.h', 'tms320c64x.h', 'm680x.h', 'evm.h', 'mos65xx.h', 'wasm.h', 'bpf.h' ,'riscv.h' ]
+
+template = {
+ 'java': {
+ 'header': "// For Capstone Engine. AUTO-GENERATED FILE, DO NOT EDIT\npackage capstone;\n\npublic class %s_const {\n",
+ 'footer': "}",
+ 'line_format': '\tpublic static final int %s = %s;\n',
+ 'out_file': './java/capstone/%s_const.java',
+ # prefixes for constant filenames of all archs - case sensitive
+ 'arm.h': 'Arm',
+ 'arm64.h': 'Arm64',
+ 'm68k.h': 'M68k',
+ 'mips.h': 'Mips',
+ 'x86.h': 'X86',
+ 'ppc.h': 'Ppc',
+ 'sparc.h': 'Sparc',
+ 'systemz.h': 'Sysz',
+ 'xcore.h': 'Xcore',
+ 'tms320c64x.h': 'TMS320C64x',
+ 'm680x.h': 'M680x',
+ 'evm.h': 'Evm',
+ 'wasm.h': 'Wasm',
+ 'comment_open': '\t//',
+ 'comment_close': '',
+ },
+ 'python': {
+ 'header': "# For Capstone Engine. AUTO-GENERATED FILE, DO NOT EDIT [%s_const.py]\n",
+ 'footer': "",
+ 'line_format': '%s = %s\n',
+ 'out_file': './python/capstone/%s_const.py',
+ # prefixes for constant filenames of all archs - case sensitive
+ 'arm.h': 'arm',
+ 'arm64.h': 'arm64',
+ 'm68k.h': 'm68k',
+ 'mips.h': 'mips',
+ 'x86.h': 'x86',
+ 'ppc.h': 'ppc',
+ 'sparc.h': 'sparc',
+ 'systemz.h': 'sysz',
+ 'xcore.h': 'xcore',
+ 'tms320c64x.h': 'tms320c64x',
+ 'm680x.h': 'm680x',
+ 'evm.h': 'evm',
+ 'wasm.h': 'wasm',
+ 'mos65xx.h': 'mos65xx',
+ 'bpf.h': 'bpf',
+ 'riscv.h': 'riscv',
+ 'comment_open': '#',
+ 'comment_close': '',
+ },
+ 'ocaml': {
+ 'header': "(* For Capstone Engine. AUTO-GENERATED FILE, DO NOT EDIT [%s_const.ml] *)\n",
+ 'footer': "",
+ 'line_format': 'let _%s = %s;;\n',
+ 'out_file': './ocaml/%s_const.ml',
+ # prefixes for constant filenames of all archs - case sensitive
+ 'arm.h': 'arm',
+ 'arm64.h': 'arm64',
+ 'mips.h': 'mips',
+ 'm68k.h': 'm68k',
+ 'x86.h': 'x86',
+ 'ppc.h': 'ppc',
+ 'sparc.h': 'sparc',
+ 'systemz.h': 'sysz',
+ 'xcore.h': 'xcore',
+ 'tms320c64x.h': 'tms320c64x',
+ 'm680x.h': 'm680x',
+ 'evm.h': 'evm',
+ 'wasm.h': 'wasm',
+ 'comment_open': '(*',
+ 'comment_close': ' *)',
+ },
+}
+
+# markup for comments to be added to autogen files
+MARKUP = '//>'
+
+def gen(lang):
+ global include, INCL_DIR
+ print('Generating bindings for', lang)
+ templ = template[lang]
+ print('Generating bindings for', lang)
+ for target in include:
+ if target not in templ:
+ print("Warning: No binding found for %s" % target)
+ continue
+ prefix = templ[target]
+ outfile = open(templ['out_file'] %(prefix), 'wb') # open as binary prevents windows newlines
+ outfile.write((templ['header'] % (prefix)).encode("utf-8"))
+
+ lines = open(INCL_DIR + target).readlines()
+
+ count = 0
+ for line in lines:
+ line = line.strip()
+
+ if line.startswith(MARKUP): # markup for comments
+ outfile.write(("\n%s%s%s\n" %(templ['comment_open'], \
+ line.replace(MARKUP, ''), \
+ templ['comment_close']) ).encode("utf-8"))
+ continue
+
+ if line == '' or line.startswith('//'):
+ continue
+
+ if line.startswith('#define '):
+ line = line[8:] #cut off define
+ xline = re.split('\s+', line, 1) #split to at most 2 express
+ if len(xline) != 2:
+ continue
+ if '(' in xline[0] or ')' in xline[0]: #does it look like a function
+ continue
+ xline.insert(1, '=') # insert an = so the expression below can parse it
+ line = ' '.join(xline)
+
+ if not line.startswith(prefix.upper()):
+ continue
+
+ tmp = line.strip().split(',')
+ for t in tmp:
+ t = t.strip()
+ if not t or t.startswith('//'): continue
+ # hacky: remove type cast (uint64_t)
+ t = t.replace('(uint64_t)', '')
+ t = re.sub(r'\((\d+)ULL << (\d+)\)', r'\1 << \2', t) # (1ULL<<1) to 1 << 1
+ f = re.split('\s+', t)
+
+ if f[0].startswith(prefix.upper()):
+ 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 = ''.join(f[2:])
+ else:
+ rhs = str(count)
+ count += 1
+
+ try:
+ count = int(rhs) + 1
+ if (count == 1):
+ outfile.write(("\n").encode("utf-8"))
+ except ValueError:
+ if lang == 'ocaml':
+ # ocaml uses lsl for '<<', lor for '|'
+ rhs = rhs.replace('<<', ' lsl ')
+ rhs = rhs.replace('|', ' lor ')
+ # ocaml variable has _ as prefix
+ if rhs[0].isalpha():
+ rhs = '_' + rhs
+
+ outfile.write((templ['line_format'] %(f[0].strip(), rhs)).encode("utf-8"))
+
+ outfile.write((templ['footer']).encode("utf-8"))
+ outfile.close()
+
+def main():
+ try:
+ if sys.argv[1] == 'all':
+ for key in template.keys():
+ gen(key)
+ else:
+ gen(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], " <bindings: java|python|ocaml|all>")
+ sys.exit(1)
+ main()
diff --git a/capstone/bindings/java/.gitignore b/capstone/bindings/java/.gitignore
new file mode 100644
index 000000000..82f7ecae2
--- /dev/null
+++ b/capstone/bindings/java/.gitignore
@@ -0,0 +1,2 @@
+*.class
+tags
diff --git a/capstone/bindings/java/Makefile b/capstone/bindings/java/Makefile
new file mode 100644
index 000000000..32f50bedc
--- /dev/null
+++ b/capstone/bindings/java/Makefile
@@ -0,0 +1,71 @@
+# Capstone Disassembler Engine
+# By Nguyen Anh Quynh <aquynh@gmail.com>, 2013>
+
+ifndef BUILDDIR
+BLDIR = .
+OBJDIR = .
+else
+BLDIR = $(abspath $(BUILDDIR))/bindings/java
+OBJDIR = $(abspath $(BUILDDIR))/obj/bindings/java
+endif
+
+JNA = /usr/share/java/jna/jna.jar
+
+ifneq ($(wildcard $(JNA)),)
+else
+ ifneq ($(wildcard /usr/share/java/jna.jar),)
+ JNA = /usr/share/java/jna.jar
+ else
+ JNA =
+ endif
+endif
+
+PYTHON2 ?= python
+
+CAPSTONE_JAVA = Capstone.java Arm_const.java Arm64_const.java Mips_const.java \
+ X86_const.java Xcore_const.java Ppc_const.java Sparc_const.java\
+ Sysz_const.java M680x_const.java \
+ Arm.java Arm64.java Mips.java X86.java Xcore.java Ppc.java\
+ Sparc.java Systemz.java M680x.java
+
+all: gen_const capstone tests
+
+capstone: capstone_class
+ @mkdir -p $(BLDIR)
+ cd $(OBJDIR) && jar cf $(BLDIR)/capstone.jar capstone/*.class
+
+capstone_class: jna
+ifdef BUILDDIR
+ @mkdir -p $(OBJDIR)
+ cd capstone && javac -d $(OBJDIR) -classpath $(JNA) $(CAPSTONE_JAVA)
+else
+ cd capstone && javac -classpath $(JNA) $(CAPSTONE_JAVA)
+endif
+
+tests: capstone_class jna
+ @mkdir -p $(OBJDIR)
+ javac -d $(OBJDIR) -classpath "$(JNA):$(BLDIR)/capstone.jar" TestBasic.java\
+ TestArm.java TestArm64.java TestMips.java TestX86.java TestXcore.java\
+ TestPpc.java TestSparc.java TestSystemz.java TestM680x.java
+
+gen_const:
+ cd ../ && $(PYTHON2) const_generator.py java
+
+jna:
+ @if [ ! $(JNA) ]; then echo "*** Unable to find JNA ***"; exit 1; fi
+
+clean:
+ rm -rf $(OBJDIR)/capstone/*.class
+ rm -rf $(OBJDIR)/*.class $(OBJDIR)/*.log $(BLDIR)/*.jar
+ifdef BUILDDIR
+ rm -rf $(BLDIR)
+ rm -rf $(OBJDIR)
+endif
+
+TESTS = testbasic arm arm64 m680x mips ppc sparc systemz x86 xcore
+check:
+ @for t in $(TESTS); do \
+ echo Check $$t ... ; \
+ ./run.sh $$t > /dev/null && echo OK || echo FAILED; \
+ done
+
diff --git a/capstone/bindings/java/README b/capstone/bindings/java/README
new file mode 100644
index 000000000..f6cd8da7e
--- /dev/null
+++ b/capstone/bindings/java/README
@@ -0,0 +1,28 @@
+This has been tested with OpenJDK version 6 & 7 on Ubuntu-12.04 and
+Arch Linux-3.11, 64-bit.
+
+- OpenJDK is required to compile and run this test code.
+ For example, install OpenJDK 6 with:
+
+ $ sudo apt-get install openjdk-6-jre-headless openjdk-6-jdk
+
+- Java Native Access is required to run the code, you can install it with:
+
+ $ sudo apt-get install libjna-java
+
+- To compile and run this Java test code:
+
+ $ make
+ $ ./run.sh
+
+
+This directory contains some test code to show how to use Capstone API.
+
+- TestBasic.java
+ This code shows the most simple form of API where we only want to get basic
+ information out of disassembled instruction, such as address, mnemonic and
+ operand string.
+
+- Test<arch>.java
+ These code show how to retrieve architecture-specific information for each
+ architecture.
diff --git a/capstone/bindings/java/TestArm.java b/capstone/bindings/java/TestArm.java
new file mode 100644
index 000000000..654d5c56e
--- /dev/null
+++ b/capstone/bindings/java/TestArm.java
@@ -0,0 +1,142 @@
+// Capstone Java binding
+// By Nguyen Anh Quynh & Dang Hoang Vu, 2013
+
+import capstone.Capstone;
+import capstone.Arm;
+
+import static capstone.Arm_const.*;
+
+public class TestArm {
+
+ static byte[] hexString2Byte(String s) {
+ // from http://stackoverflow.com/questions/140131/convert-a-string-representation-of-a-hex-dump-to-a-byte-array-using-java
+ int len = s.length();
+ byte[] data = new byte[len / 2];
+ for (int i = 0; i < len; i += 2) {
+ data[i / 2] = (byte) ((Character.digit(s.charAt(i), 16) << 4)
+ + Character.digit(s.charAt(i+1), 16));
+ }
+ return data;
+ }
+
+ static final String ARM_CODE = "EDFFFFEB04e02de500000000e08322e5f102030e0000a0e30230c1e7000053e3000201f10540d0e8";
+ static final String ARM_CODE2 = "d1e800f0f02404071f3cf2c000004ff00001466c";
+ static final String THUMB_CODE2 = "4ff00001bde80088d1e800f018bfadbff3ff0b0c86f3008980f3008c4ffa99f6d0ffa201";
+ static final String THUMB_CODE = "7047eb4683b0c9681fb130bfaff32084";
+
+ public static Capstone cs;
+
+ private static String hex(int i) {
+ return Integer.toString(i, 16);
+ }
+
+ private static String hex(long i) {
+ return Long.toString(i, 16);
+ }
+
+ public static void print_ins_detail(Capstone.CsInsn ins) {
+ System.out.printf("0x%x:\t%s\t%s\n", ins.address, ins.mnemonic, ins.opStr);
+
+ Arm.OpInfo operands = (Arm.OpInfo) ins.operands;
+
+ if (operands.op.length != 0) {
+ System.out.printf("\top_count: %d\n", operands.op.length);
+ for (int c=0; c<operands.op.length; c++) {
+ Arm.Operand i = (Arm.Operand) operands.op[c];
+ String imm = hex(i.value.imm);
+ if (i.type == ARM_OP_SYSREG)
+ System.out.printf("\t\toperands[%d].type: SYSREG = %d\n", c, i.value.reg);
+ if (i.type == ARM_OP_REG)
+ System.out.printf("\t\toperands[%d].type: REG = %s\n", c, ins.regName(i.value.reg));
+ if (i.type == ARM_OP_IMM)
+ System.out.printf("\t\toperands[%d].type: IMM = 0x%x\n", c, i.value.imm);
+ if (i.type == ARM_OP_PIMM)
+ System.out.printf("\t\toperands[%d].type: P-IMM = %d\n", c, i.value.imm);
+ if (i.type == ARM_OP_CIMM)
+ System.out.printf("\t\toperands[%d].type: C-IMM = %d\n", c, i.value.imm);
+ if (i.type == ARM_OP_SETEND)
+ System.out.printf("\t\toperands[%d].type: SETEND = %s\n", c, i.value.setend == ARM_SETEND_BE? "be" : "le");
+ if (i.type == ARM_OP_FP)
+ System.out.printf("\t\toperands[%d].type: FP = %f\n", c, i.value.fp);
+ if (i.type == ARM_OP_MEM) {
+ System.out.printf("\t\toperands[%d].type: MEM\n",c);
+ String base = ins.regName(i.value.mem.base);
+ String index = ins.regName(i.value.mem.index);
+ if (base != null)
+ System.out.printf("\t\t\toperands[%d].mem.base: REG = %s\n", c, base);
+ if (index != null)
+ System.out.printf("\t\t\toperands[%d].mem.index: REG = %s\n", c, index);
+ if (i.value.mem.scale != 1)
+ System.out.printf("\t\t\toperands[%d].mem.scale: %d\n", c, (i.value.mem.scale));
+ if (i.value.mem.disp != 0)
+ System.out.printf("\t\t\toperands[%d].mem.disp: 0x%x\n", c, (i.value.mem.disp));
+ if (i.value.mem.lshift != 0)
+ System.out.printf("\t\t\toperands[%d].mem.lshift: 0x%x\n", c, (i.value.mem.lshift));
+ }
+ if (i.vector_index > 0)
+ System.out.printf("\t\t\toperands[%d].vector_index = %d\n", c, (i.vector_index));
+ if (i.shift.type != ARM_SFT_INVALID && i.shift.value > 0)
+ System.out.printf("\t\t\tShift: %d = %d\n", i.shift.type, i.shift.value);
+ if (i.subtracted)
+ System.out.printf("\t\t\toperands[%d].subtracted = True\n", c);
+ }
+ }
+ if (operands.writeback)
+ System.out.println("\tWrite-back: True");
+
+ if (operands.updateFlags)
+ System.out.println("\tUpdate-flags: True");
+
+ if (operands.cc != ARM_CC_AL && operands.cc != ARM_CC_INVALID)
+ System.out.printf("\tCode condition: %d\n", operands.cc);
+
+ if (operands.cpsMode > 0)
+ System.out.printf("\tCPSI-mode: %d\n", operands.cpsMode);
+
+ if (operands.cpsFlag > 0)
+ System.out.printf("\tCPSI-flag: %d\n", operands.cpsFlag);
+
+ if (operands.vectorData > 0)
+ System.out.printf("\tVector-data: %d\n", operands.vectorData);
+
+ if (operands.vectorSize > 0)
+ System.out.printf("\tVector-size: %d\n", operands.vectorSize);
+
+ if (operands.usermode)
+ System.out.printf("\tUser-mode: True\n");
+ }
+
+ public static void main(String argv[]) {
+
+ final TestBasic.platform[] all_tests = {
+ new TestBasic.platform(Capstone.CS_ARCH_ARM, Capstone.CS_MODE_ARM, hexString2Byte(ARM_CODE), "ARM"),
+ new TestBasic.platform(Capstone.CS_ARCH_ARM, Capstone.CS_MODE_THUMB, hexString2Byte(THUMB_CODE), "Thumb"),
+ new TestBasic.platform(Capstone.CS_ARCH_ARM, Capstone.CS_MODE_THUMB, hexString2Byte(ARM_CODE2), "Thumb-mixed"),
+ new TestBasic.platform(Capstone.CS_ARCH_ARM, Capstone.CS_MODE_THUMB, Capstone.CS_OPT_SYNTAX_NOREGNAME, hexString2Byte(THUMB_CODE2), "Thumb-2 & register named with numbers"),
+ };
+
+ for (int i=0; i<all_tests.length; i++) {
+ TestBasic.platform test = all_tests[i];
+ System.out.println(new String(new char[16]).replace("\0", "*"));
+ System.out.println("Platform: " + test.comment);
+ System.out.println("Code: " + TestBasic.stringToHex(test.code));
+ System.out.println("Disasm:");
+
+ cs = new Capstone(test.arch, test.mode);
+ cs.setDetail(Capstone.CS_OPT_ON);
+ if (test.syntax != 0)
+ cs.setSyntax(test.syntax);
+ Capstone.CsInsn[] all_ins = cs.disasm(test.code, 0x1000);
+
+ for (int j = 0; j < all_ins.length; j++) {
+ print_ins_detail(all_ins[j]);
+ System.out.println();
+ }
+ System.out.printf("0x%x:\n\n", (all_ins[all_ins.length-1].address + all_ins[all_ins.length-1].size));
+
+ // Close when done
+ cs.close();
+ }
+ }
+
+}
diff --git a/capstone/bindings/java/TestArm64.java b/capstone/bindings/java/TestArm64.java
new file mode 100644
index 000000000..ce78f5ef5
--- /dev/null
+++ b/capstone/bindings/java/TestArm64.java
@@ -0,0 +1,124 @@
+// Capstone Java binding
+// By Nguyen Anh Quynh & Dang Hoang Vu, 2013
+
+import capstone.Capstone;
+import capstone.Arm64;
+
+import static capstone.Arm64_const.*;
+
+public class TestArm64 {
+
+ static byte[] hexString2Byte(String s) {
+ // from http://stackoverflow.com/questions/140131/convert-a-string-representation-of-a-hex-dump-to-a-byte-array-using-java
+ int len = s.length();
+ byte[] data = new byte[len / 2];
+ for (int i = 0; i < len; i += 2) {
+ data[i / 2] = (byte) ((Character.digit(s.charAt(i), 16) << 4)
+ + Character.digit(s.charAt(i+1), 16));
+ }
+ return data;
+ }
+
+ static final String ARM64_CODE = "090038d5bf4000d50c0513d52050020e20e43d0f0018a05fa200ae9e9f3703d5bf3303d5df3f03d5217c029b217c00530040214be10b40b9200481da2008028b105be83c";
+
+ public static Capstone cs;
+
+ private static String hex(int i) {
+ return Integer.toString(i, 16);
+ }
+
+ private static String hex(long i) {
+ return Long.toString(i, 16);
+ }
+
+ public static void print_ins_detail(Capstone.CsInsn ins) {
+ System.out.printf("0x%x:\t%s\t%s\n", ins.address, ins.mnemonic, ins.opStr);
+
+ Arm64.OpInfo operands = (Arm64.OpInfo) ins.operands;
+
+ if (operands.op.length != 0) {
+ System.out.printf("\top_count: %d\n", operands.op.length);
+ for (int c=0; c<operands.op.length; c++) {
+ Arm64.Operand i = (Arm64.Operand) operands.op[c];
+ String imm = hex(i.value.imm);
+ if (i.type == ARM64_OP_REG)
+ System.out.printf("\t\toperands[%d].type: REG = %s\n", c, ins.regName(i.value.reg));
+ if (i.type == ARM64_OP_REG_MRS)
+ System.out.printf("\t\toperands[%d].type: REG_MRS = 0x%x\n", c, i.value.reg);
+ if (i.type == ARM64_OP_REG_MSR)
+ System.out.printf("\t\toperands[%d].type: REG_MSR = 0x%x\n", c, i.value.reg);
+ if (i.type == ARM64_OP_PSTATE)
+ System.out.printf("\t\toperands[%d].type: PSTATE = 0x%x\n", c, i.value.imm);
+ if (i.type == ARM64_OP_BARRIER)
+ System.out.printf("\t\toperands[%d].type: BARRIER = 0x%x\n", c, i.value.imm);
+
+ if (i.type == ARM64_OP_IMM)
+ System.out.printf("\t\toperands[%d].type: IMM = 0x%x\n", c, i.value.imm);
+ if (i.type == ARM64_OP_CIMM)
+ System.out.printf("\t\toperands[%d].type: C-IMM = %d\n", c, i.value.imm);
+ if (i.type == ARM64_OP_FP)
+ System.out.printf("\t\toperands[%d].type: FP = %f\n", c, i.value.fp);
+ if (i.type == ARM64_OP_MEM) {
+ System.out.printf("\t\toperands[%d].type: MEM\n",c);
+ String base = ins.regName(i.value.mem.base);
+ String index = ins.regName(i.value.mem.index);
+ if (base != null)
+ System.out.printf("\t\t\toperands[%d].mem.base: REG = %s\n", c, base);
+ if (index != null)
+ System.out.printf("\t\t\toperands[%d].mem.index: REG = %s\n", c, index);
+ if (i.value.mem.disp != 0)
+ System.out.printf("\t\t\toperands[%d].mem.disp: 0x%x\n", c, i.value.mem.disp);
+ }
+ 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_EXT_INVALID)
+ System.out.printf("\t\t\tExt: %d\n", i.ext);
+ if (i.vas != ARM64_VAS_INVALID)
+ System.out.printf("\t\t\tVector Arrangement Specifier: 0x%x\n", i.vas);
+ if (i.vector_index != -1)
+ System.out.printf("\t\t\tVector Index: %d\n", i.vector_index);
+
+ }
+ }
+
+ if (operands.writeback)
+ System.out.println("\tWrite-back: True");
+
+ if (operands.updateFlags)
+ System.out.println("\tUpdate-flags: True");
+
+ if (operands.cc != ARM64_CC_AL && operands.cc != ARM64_CC_INVALID)
+ System.out.printf("\tCode-condition: %d\n", operands.cc);
+
+ }
+
+ public static void main(String argv[]) {
+
+ final TestBasic.platform[] all_tests = {
+ new TestBasic.platform(Capstone.CS_ARCH_ARM64, Capstone.CS_MODE_ARM, hexString2Byte(ARM64_CODE), "ARM-64"),
+ };
+
+ for (int i=0; i<all_tests.length; i++) {
+ TestBasic.platform test = all_tests[i];
+ System.out.println(new String(new char[16]).replace("\0", "*"));
+ System.out.println("Platform: " + test.comment);
+ System.out.println("Code: " + TestBasic.stringToHex(test.code));
+ System.out.println("Disasm:");
+
+ cs = new Capstone(test.arch, test.mode);
+ cs.setDetail(Capstone.CS_OPT_ON);
+ Capstone.CsInsn[] all_ins = cs.disasm(test.code, 0x2c);
+
+ for (int j = 0; j < all_ins.length; j++) {
+ print_ins_detail(all_ins[j]);
+ System.out.println();
+ }
+
+ System.out.printf("0x%x: \n\n", all_ins[all_ins.length-1].address + all_ins[all_ins.length-1].size);
+
+ // Close when done
+ cs.close();
+ }
+ }
+
+}
diff --git a/capstone/bindings/java/TestBasic.java b/capstone/bindings/java/TestBasic.java
new file mode 100644
index 000000000..421356b36
--- /dev/null
+++ b/capstone/bindings/java/TestBasic.java
@@ -0,0 +1,178 @@
+/* Capstone Disassembler Engine */
+/* By Nguyen Anh Quynh <aquynh@gmail.com>, 2013> */
+
+import capstone.Capstone;
+
+public class TestBasic {
+ public static class platform {
+ public int arch;
+ public int mode;
+ public int syntax;
+ public byte[] code;
+ public String comment;
+
+ public platform(int a, int m, int syt, byte[] c, String s) {
+ arch = a;
+ mode = m;
+ code = c;
+ comment = s;
+ syntax = syt;
+ }
+
+ public platform(int a, int m, byte[] c, String s) {
+ arch = a;
+ mode = m;
+ code = c;
+ comment = s;
+ }
+ };
+
+ static public String stringToHex(byte[] code) {
+ StringBuilder buf = new StringBuilder(200);
+ for (byte ch: code) {
+ if (buf.length() > 0)
+ buf.append(' ');
+ buf.append(String.format("0x%02x", ch));
+ }
+ return buf.toString();
+ }
+
+ public static final byte[] PPC_CODE = new byte[] {(byte)0x80, (byte)0x20, (byte)0x00, (byte)0x00, (byte)0x80, (byte)0x3f, (byte)0x00, (byte)0x00, (byte)0x10, (byte)0x43, (byte)0x23, (byte)0x0e, (byte)0xd0, (byte)0x44, (byte)0x00, (byte)0x80, (byte)0x4c, (byte)0x43, (byte)0x22, (byte)0x02, (byte)0x2d, (byte)0x03, (byte)0x00, (byte)0x80, (byte)0x7c, (byte)0x43, (byte)0x20, (byte)0x14, (byte)0x7c, (byte)0x43, (byte)0x20, (byte)0x93, (byte)0x4f, (byte)0x20, (byte)0x00, (byte)0x21, (byte)0x4c, (byte)0xc8, (byte)0x00, (byte)0x21 };
+ public static final byte[] X86_CODE = new byte[] { (byte)0x8d, (byte)0x4c, (byte)0x32, (byte)0x08, (byte)0x01, (byte)0xd8, (byte)0x81, (byte)0xc6, (byte)0x34, (byte)0x12, (byte)0x00, (byte)0x00 };
+ public static final byte[] SPARC_CODE = new byte[] { (byte)0x80, (byte)0xa0, (byte)0x40, (byte)0x02, (byte)0x85, (byte)0xc2, (byte)0x60, (byte)0x08, (byte)0x85, (byte)0xe8, (byte)0x20, (byte)0x01, (byte)0x81, (byte)0xe8, (byte)0x00, (byte)0x00, (byte)0x90, (byte)0x10, (byte)0x20, (byte)0x01, (byte)0xd5, (byte)0xf6, (byte)0x10, (byte)0x16, (byte)0x21, (byte)0x00, (byte)0x00, (byte)0x0a, (byte)0x86, (byte)0x00, (byte)0x40, (byte)0x02, (byte)0x01, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x12, (byte)0xbf, (byte)0xff, (byte)0xff, (byte)0x10, (byte)0xbf, (byte)0xff, (byte)0xff, (byte)0xa0, (byte)0x02, (byte)0x00, (byte)0x09, (byte)0x0d, (byte)0xbf, (byte)0xff, (byte)0xff, (byte)0xd4, (byte)0x20, (byte)0x60, (byte)0x00, (byte)0xd4, (byte)0x4e, (byte)0x00, (byte)0x16, (byte)0x2a, (byte)0xc2, (byte)0x80, (byte)0x03 };
+ public static final byte[] SYSZ_CODE = new byte[] { (byte)0xed, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x1a, (byte)0x5a, (byte)0x0f, (byte)0x1f, (byte)0xff, (byte)0xc2, (byte)0x09, (byte)0x80, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x07, (byte)0xf7, (byte)0xeb, (byte)0x2a, (byte)0xff, (byte)0xff, (byte)0x7f, (byte)0x57, (byte)0xe3, (byte)0x01, (byte)0xff, (byte)0xff, (byte)0x7f, (byte)0x57, (byte)0xeb, (byte)0x00, (byte)0xf0, (byte)0x00, (byte)0x00, (byte)0x24, (byte)0xb2, (byte)0x4f, (byte)0x00, (byte)0x78 };
+ public static final byte[] SPARCV9_CODE = new byte[] { (byte)0x81, (byte)0xa8, (byte)0x0a, (byte)0x24, (byte)0x89, (byte)0xa0, (byte)0x10, (byte)0x20, (byte)0x89, (byte)0xa0, (byte)0x1a, (byte)0x60, (byte)0x89, (byte)0xa0, (byte)0x00, (byte)0xe0 };
+ public static final byte[] XCORE_CODE = new byte[] { (byte)0xfe, (byte)0x0f, (byte)0xfe, (byte)0x17, (byte)0x13, (byte)0x17, (byte)0xc6, (byte)0xfe, (byte)0xec, (byte)0x17, (byte)0x97, (byte)0xf8, (byte)0xec, (byte)0x4f, (byte)0x1f, (byte)0xfd, (byte)0xec, (byte)0x37, (byte)0x07, (byte)0xf2, (byte)0x45, (byte)0x5b, (byte)0xf9, (byte)0xfa, (byte)0x02, (byte)0x06, (byte)0x1b, (byte)0x10 };
+
+ static public void main(String argv[]) {
+ platform[] platforms = {
+ new platform(
+ Capstone.CS_ARCH_X86,
+ Capstone.CS_MODE_16,
+ Capstone.CS_OPT_SYNTAX_INTEL,
+ new byte[] { (byte)0x8d, (byte)0x4c, (byte)0x32, (byte)0x08, (byte)0x01, (byte)0xd8, (byte)0x81, (byte)0xc6, (byte)0x34, (byte)0x12, (byte)0x00, (byte)0x00 },
+ "X86 16bit (Intel syntax)"
+ ),
+ new platform(
+ Capstone.CS_ARCH_X86,
+ Capstone.CS_MODE_32,
+ Capstone.CS_OPT_SYNTAX_ATT,
+ X86_CODE,
+ "X86 32bit (ATT syntax)"
+ ),
+ new platform(
+ Capstone.CS_ARCH_X86,
+ Capstone.CS_MODE_32,
+ X86_CODE,
+ "X86 32 (Intel syntax)"
+ ),
+ new platform(
+ Capstone.CS_ARCH_X86,
+ Capstone.CS_MODE_64,
+ new byte[] {(byte)0x55, (byte)0x48, (byte)0x8b, (byte)0x05, (byte)0xb8, (byte)0x13, (byte)0x00, (byte)0x00 },
+ "X86 64 (Intel syntax)"
+ ),
+ new platform(
+ Capstone.CS_ARCH_ARM,
+ Capstone.CS_MODE_ARM,
+ new byte[] { (byte)0xED, (byte)0xFF, (byte)0xFF, (byte)0xEB, (byte)0x04, (byte)0xe0, (byte)0x2d, (byte)0xe5, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xe0, (byte)0x83, (byte)0x22, (byte)0xe5, (byte)0xf1, (byte)0x02, (byte)0x03, (byte)0x0e, (byte)0x00, (byte)0x00, (byte)0xa0, (byte)0xe3, (byte)0x02, (byte)0x30, (byte)0xc1, (byte)0xe7, (byte)0x00, (byte)0x00, (byte)0x53, (byte)0xe3 },
+ "ARM"
+ ),
+ new platform(
+ Capstone.CS_ARCH_ARM,
+ Capstone.CS_MODE_THUMB,
+ new byte[] {(byte)0x4f, (byte)0xf0, (byte)0x00, (byte)0x01, (byte)0xbd, (byte)0xe8, (byte)0x00, (byte)0x88, (byte)0xd1, (byte)0xe8, (byte)0x00, (byte)0xf0 },
+ "THUMB-2"
+ ),
+ new platform(
+ Capstone.CS_ARCH_ARM,
+ Capstone.CS_MODE_ARM,
+ new byte[] {(byte)0x10, (byte)0xf1, (byte)0x10, (byte)0xe7, (byte)0x11, (byte)0xf2, (byte)0x31, (byte)0xe7, (byte)0xdc, (byte)0xa1, (byte)0x2e, (byte)0xf3, (byte)0xe8, (byte)0x4e, (byte)0x62, (byte)0xf3 },
+ "ARM: Cortex-A15 + NEON"
+ ),
+ new platform(
+ Capstone.CS_ARCH_ARM,
+ Capstone.CS_MODE_THUMB,
+ new byte[] {(byte)0x70, (byte)0x47, (byte)0xeb, (byte)0x46, (byte)0x83, (byte)0xb0, (byte)0xc9, (byte)0x68 },
+ "THUMB"
+ ),
+ new platform(
+ Capstone.CS_ARCH_MIPS,
+ Capstone.CS_MODE_MIPS32 + Capstone.CS_MODE_BIG_ENDIAN,
+ new byte[] {(byte)0x0C, (byte)0x10, (byte)0x00, (byte)0x97, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x24, (byte)0x02, (byte)0x00, (byte)0x0c, (byte)0x8f, (byte)0xa2, (byte)0x00, (byte)0x00, (byte)0x34, (byte)0x21, (byte)0x34, (byte)0x56 },
+ "MIPS-32 (Big-endian)"
+ ),
+ new platform(
+ Capstone.CS_ARCH_MIPS,
+ Capstone.CS_MODE_MIPS64+ Capstone.CS_MODE_LITTLE_ENDIAN,
+ new byte[] {(byte)0x56, (byte)0x34, (byte)0x21, (byte)0x34, (byte)0xc2, (byte)0x17, (byte)0x01, (byte)0x00 },
+ "MIPS-64-EL (Little-endian)"
+ ),
+ new platform(
+ Capstone.CS_ARCH_ARM64,
+ Capstone.CS_MODE_ARM,
+ new byte [] { 0x21, 0x7c, 0x02, (byte)0x9b, 0x21, 0x7c, 0x00, 0x53, 0x00, 0x40, 0x21, 0x4b, (byte)0xe1, 0x0b, 0x40, (byte)0xb9 },
+ "ARM-64"
+ ),
+ new platform (
+ Capstone.CS_ARCH_PPC,
+ Capstone.CS_MODE_BIG_ENDIAN,
+ PPC_CODE,
+ "PPC-64"
+ ),
+ new platform (
+ Capstone.CS_ARCH_PPC,
+ Capstone.CS_MODE_BIG_ENDIAN,
+ Capstone.CS_OPT_SYNTAX_NOREGNAME,
+ PPC_CODE,
+ "PPC-64, print register with number only"
+ ),
+ new platform (
+ Capstone.CS_ARCH_SPARC,
+ Capstone.CS_MODE_BIG_ENDIAN,
+ SPARC_CODE,
+ "Sparc"
+ ),
+ new platform (
+ Capstone.CS_ARCH_SPARC,
+ Capstone.CS_MODE_BIG_ENDIAN + Capstone.CS_MODE_V9,
+ SPARCV9_CODE,
+ "SparcV9"
+ ),
+ new platform (
+ Capstone.CS_ARCH_SYSZ,
+ 0,
+ SYSZ_CODE,
+ "SystemZ"
+ ),
+ new platform (
+ Capstone.CS_ARCH_XCORE,
+ 0,
+ XCORE_CODE,
+ "XCore"
+ ),
+ };
+
+ for (int j = 0; j < platforms.length; j++) {
+ System.out.println("****************");
+ System.out.println(String.format("Platform: %s", platforms[j].comment));
+ System.out.println(String.format("Code: %s", stringToHex(platforms[j].code)));
+ System.out.println("Disasm:");
+
+ Capstone cs = new Capstone(platforms[j].arch, platforms[j].mode);
+ if (platforms[j].syntax != 0)
+ cs.setSyntax(platforms[j].syntax);
+
+ Capstone.CsInsn[] all_insn = cs.disasm(platforms[j].code, 0x1000);
+
+ for (int i = 0; i < all_insn.length; i++) {
+ System.out.println(String.format("0x%x: \t%s\t%s", all_insn[i].address,
+ all_insn[i].mnemonic, all_insn[i].opStr));
+ }
+ System.out.printf("0x%x:\n\n", all_insn[all_insn.length-1].address + all_insn[all_insn.length-1].size);
+
+ // Close when done
+ cs.close();
+ }
+ }
+}
diff --git a/capstone/bindings/java/TestM680x.java b/capstone/bindings/java/TestM680x.java
new file mode 100644
index 000000000..a5c0e85b8
--- /dev/null
+++ b/capstone/bindings/java/TestM680x.java
@@ -0,0 +1,207 @@
+// Capstone Java binding
+/* M680X Backend by Wolfgang Schwotzer <wolfgang.schwotzer@gmx.net> 2017 */
+
+import java.lang.*;
+import capstone.Capstone;
+import capstone.M680x;
+
+import static capstone.M680x_const.*;
+
+public class TestM680x {
+
+ static final String sAccess[] = {
+ "UNCHANGED", "READ", "WRITE", "READ | WRITE",
+ };
+
+ static final String M6800_CODE = "010936647f7410009010A410b6100039";
+ static final String M6801_CODE = "04053c3d389310ec10ed1039";
+ static final String M6805_CODE = "047f00172228002e0040425a708e979ca015ad00c31000da1234e57ffe";
+ static final String M6808_CODE = "31220035224510004b005110525e226265123472848586878a8b8c9495a710af109e607f9e6b7f009ed610009ee67f";
+ static final String HD6301_CODE = "6b100071100072101039";
+ static final String M6809_CODE = "0610191a551e0123e931063455a681a7897fffa69d1000a791a69f100011ac99100039A607A627A647A667A60FA610A680A681A682A683A684A685A686A6887FA68880A6897FFFA6898000A68BA68C10A68D1000A691A693A694A695A696A6987FA69880A6997FFFA6998000A69BA69C10A69D1000A69F1000";
+ static final String M6811_CODE = "0203127f100013990800147f02157f011e7f20008fcf18081830183c1867188c1000188f18ce100018ff10001aa37f1aac1aee7f1aef7fcdac7f";
+ static final String CPU12_CODE = "000401000c00800e008000111e100080003b4a1000044b01044f7f80008f1000b752b7b1a667a6fea6f71802e23039e21000180c30391000181118121000181900181e00183e183f00";
+ static final String HD6309_CODE = "0110106210107b101000cd499602d21030231038103b1053105d1130431011372510113812113923113b34118e100011af1011ab1011f68000";
+ static final String HCS08_CODE = "3210009eae9ece7f9ebe10009efe7f3e10009ef37f9610009eff7f82";
+
+ static byte[] hexString2Byte(String s) {
+ // from http://stackoverflow.com/questions/140131/convert-a-string-representation-of-a-hex-dump-to-a-byte-array-using-java
+ int len = s.length();
+ byte[] data = new byte[len / 2];
+ for (int i = 0; i < len; i += 2) {
+ data[i / 2] = (byte) ((Character.digit(s.charAt(i), 16) << 4)
+ + Character.digit(s.charAt(i+1), 16));
+ }
+ return data;
+ }
+
+ static public String stringToHexUc(byte[] code) {
+ StringBuilder buf = new StringBuilder(800);
+ for (byte ch: code) {
+ buf.append(String.format(" 0x%02x", ch));
+ }
+ return buf.toString();
+ }
+
+ static public String stringToHexShortUc(byte[] code) {
+ StringBuilder buf = new StringBuilder(800);
+ for (byte ch: code) {
+ buf.append(String.format("%02x", ch));
+ }
+ return buf.toString();
+ }
+
+ public static Capstone cs;
+/*
+ private static String hex(int i) {
+ return Integer.toString(i, 16);
+ }
+
+ private static String hex(long i) {
+ return Long.toString(i, 16);
+ }
+*/
+ public static void print_ins_detail(Capstone.CsInsn ins) {
+ String bytes = stringToHexShortUc(ins.bytes);
+ System.out.printf("0x%04x:\t%s\t%s\t%s\n", ins.address, bytes, ins.mnemonic, ins.opStr);
+
+ M680x.OpInfo operands = (M680x.OpInfo) ins.operands;
+
+ if (operands.op.length != 0) {
+ System.out.printf("\top_count: %d\n", operands.op.length);
+ for (int c = 0; c < operands.op.length; c++) {
+ M680x.Operand i = (M680x.Operand) operands.op[c];
+ if (i.type == M680X_OP_REGISTER) {
+ String comment = "";
+ if ((c == 0 && ((operands.flags & M680X_FIRST_OP_IN_MNEM) != 0)) ||
+ (c == 1 && ((operands.flags & M680X_SECOND_OP_IN_MNEM) != 0)))
+ comment = " (in mnemonic)";
+ System.out.printf("\t\toperands[%d].type: REGISTER = %s%s\n", c, ins.regName(i.value.reg), comment);
+ }
+ if (i.type == M680X_OP_CONSTANT)
+ System.out.printf("\t\toperands[%d].type: CONSTANT = %d\n", c, i.value.const_val);
+ if (i.type == M680X_OP_IMMEDIATE)
+ System.out.printf("\t\toperands[%d].type: IMMEDIATE = #%d\n", c, i.value.imm);
+ if (i.type == M680X_OP_DIRECT)
+ System.out.printf("\t\toperands[%d].type: DIRECT = 0x%02x\n", c, i.value.direct_addr);
+ if (i.type == M680X_OP_EXTENDED)
+ System.out.printf("\t\toperands[%d].type: EXTENDED %s = 0x%04x\n", c,
+ i.value.ext.indirect != 0 ? "INDIRECT" : "", i.value.ext.address);
+ if (i.type == M680X_OP_RELATIVE)
+ System.out.printf("\t\toperands[%d].type: RELATIVE = 0x%04x\n", c, i.value.rel.address );
+ if (i.type == M680X_OP_INDEXED) {
+ System.out.printf("\t\toperands[%d].type: INDEXED%s\n", c,
+ (i.value.idx.flags & M680X_IDX_INDIRECT) != 0 ? " INDIRECT" : "");
+ if (i.value.idx.base_reg != M680X_REG_INVALID) {
+ String regName = ins.regName(i.value.idx.base_reg);
+ if (regName != null)
+ System.out.printf("\t\t\tbase register: %s\n", regName);
+ }
+ if (i.value.idx.offset_reg != M680X_REG_INVALID) {
+ String regName = ins.regName(i.value.idx.offset_reg);
+ if (regName != null)
+ System.out.printf("\t\t\toffset register: %s\n", regName);
+ }
+ if ((i.value.idx.offset_bits != 0) &&
+ (i.value.idx.offset_reg == M680X_REG_INVALID) &&
+ (i.value.idx.inc_dec == 0)) {
+ System.out.printf("\t\t\toffset: %d\n", i.value.idx.offset);
+ if (i.value.idx.base_reg == M680X_REG_PC)
+ System.out.printf("\t\t\toffset address: 0x%04x\n", i.value.idx.offset_addr);
+ System.out.printf("\t\t\toffset bits: %d\n", i.value.idx.offset_bits);
+ }
+ if (i.value.idx.inc_dec != 0) {
+ String post_pre =
+ (i.value.idx.flags & M680X_IDX_POST_INC_DEC) != 0 ?
+ "post" : "pre";
+ String inc_dec =
+ i.value.idx.inc_dec > 0 ? "increment" : "decrement";
+
+ System.out.printf("\t\t\t%s %s: %d\n", post_pre, inc_dec,
+ Math.abs(i.value.idx.inc_dec));
+ }
+ }
+ if (i.size != 0)
+ System.out.printf("\t\t\tsize: %d\n", i.size);
+ if (i.access != Capstone.CS_AC_INVALID)
+ System.out.printf("\t\t\taccess: %s\n", sAccess[i.access]);
+ }
+ }
+
+ if (ins.regsRead.length > 0) {
+ System.out.printf("\tRegisters read:");
+ for (int c = 0; c < ins.regsRead.length; c++) {
+ System.out.printf(" %s", ins.regName(ins.regsRead[c]));
+ }
+ System.out.printf("\n");
+ }
+
+ if (ins.regsWrite.length > 0) {
+ System.out.printf("\tRegisters modified:");
+ for (int c = 0; c < ins.regsWrite.length; c++) {
+ System.out.printf(" %s", ins.regName(ins.regsWrite[c]));
+ }
+ System.out.printf("\n");
+ }
+
+ if (ins.groups.length > 0)
+ System.out.printf("\tgroups_count: %d\n", ins.groups.length);
+ }
+
+ public static void main(String argv[]) {
+
+ final TestBasic.platform[] all_tests = {
+ new TestBasic.platform(Capstone.CS_ARCH_M680X,
+ Capstone.CS_MODE_M680X_6301,
+ hexString2Byte(HD6301_CODE), "M680X_HD6301"),
+ new TestBasic.platform(Capstone.CS_ARCH_M680X,
+ Capstone.CS_MODE_M680X_6309,
+ hexString2Byte(HD6309_CODE), "M680X_HD6309"),
+ new TestBasic.platform(Capstone.CS_ARCH_M680X,
+ Capstone.CS_MODE_M680X_6800,
+ hexString2Byte(M6800_CODE), "M680X_M6800"),
+ new TestBasic.platform(Capstone.CS_ARCH_M680X,
+ Capstone.CS_MODE_M680X_6801,
+ hexString2Byte(M6801_CODE), "M680X_M6801"),
+ new TestBasic.platform(Capstone.CS_ARCH_M680X,
+ Capstone.CS_MODE_M680X_6805,
+ hexString2Byte(M6805_CODE), "M680X_M68HC05"),
+ new TestBasic.platform(Capstone.CS_ARCH_M680X,
+ Capstone.CS_MODE_M680X_6808,
+ hexString2Byte(M6808_CODE), "M680X_M68HC08"),
+ new TestBasic.platform(Capstone.CS_ARCH_M680X,
+ Capstone.CS_MODE_M680X_6809,
+ hexString2Byte(M6809_CODE), "M680X_M6809"),
+ new TestBasic.platform(Capstone.CS_ARCH_M680X,
+ Capstone.CS_MODE_M680X_6811,
+ hexString2Byte(M6811_CODE), "M680X_M68HC11"),
+ new TestBasic.platform(Capstone.CS_ARCH_M680X,
+ Capstone.CS_MODE_M680X_CPU12,
+ hexString2Byte(CPU12_CODE), "M680X_CPU12"),
+ new TestBasic.platform(Capstone.CS_ARCH_M680X,
+ Capstone.CS_MODE_M680X_HCS08,
+ hexString2Byte(HCS08_CODE), "M680X_HCS08"),
+ };
+
+ for (int i=0; i<all_tests.length; i++) {
+ TestBasic.platform test = all_tests[i];
+ System.out.println(new String(new char[20]).replace("\0", "*"));
+ System.out.println("Platform: " + test.comment);
+ System.out.println("Code: " + stringToHexUc(test.code));
+ System.out.println("Disasm:");
+
+ cs = new Capstone(test.arch, test.mode);
+ cs.setDetail(Capstone.CS_OPT_ON);
+ Capstone.CsInsn[] all_ins = cs.disasm(test.code, 0x1000);
+
+ for (int j = 0; j < all_ins.length; j++) {
+ print_ins_detail(all_ins[j]);
+ System.out.println();
+ }
+
+ // Close when done
+ cs.close();
+ }
+ }
+
+}
diff --git a/capstone/bindings/java/TestMips.java b/capstone/bindings/java/TestMips.java
new file mode 100644
index 000000000..1a8b05c12
--- /dev/null
+++ b/capstone/bindings/java/TestMips.java
@@ -0,0 +1,91 @@
+// Capstone Java binding
+// By Nguyen Anh Quynh & Dang Hoang Vu, 2013
+
+import capstone.Capstone;
+import capstone.Mips;
+
+import static capstone.Mips_const.*;
+
+public class TestMips {
+
+ static byte[] hexString2Byte(String s) {
+ // from http://stackoverflow.com/questions/140131/convert-a-string-representation-of-a-hex-dump-to-a-byte-array-using-java
+ int len = s.length();
+ byte[] data = new byte[len / 2];
+ for (int i = 0; i < len; i += 2) {
+ data[i / 2] = (byte) ((Character.digit(s.charAt(i), 16) << 4)
+ + Character.digit(s.charAt(i+1), 16));
+ }
+ return data;
+ }
+
+ static final String MIPS_CODE = "0C100097000000002402000c8fa2000034213456";
+ static final String MIPS_CODE2 = "56342134c2170100";
+
+ public static Capstone cs;
+
+ private static String hex(int i) {
+ return Integer.toString(i, 16);
+ }
+
+ private static String hex(long i) {
+ return Long.toString(i, 16);
+ }
+
+ public static void print_ins_detail(Capstone.CsInsn ins) {
+ System.out.printf("0x%x:\t%s\t%s\n", ins.address, ins.mnemonic, ins.opStr);
+
+ Mips.OpInfo operands = (Mips.OpInfo) ins.operands;
+
+ if (operands.op.length != 0) {
+ System.out.printf("\top_count: %d\n", operands.op.length);
+ for (int c=0; c<operands.op.length; c++) {
+ Mips.Operand i = (Mips.Operand) operands.op[c];
+ String imm = hex(i.value.imm);
+ if (i.type == MIPS_OP_REG)
+ System.out.printf("\t\toperands[%d].type: REG = %s\n", c, ins.regName(i.value.reg));
+ if (i.type == MIPS_OP_IMM)
+ System.out.printf("\t\toperands[%d].type: IMM = 0x%x\n", c, i.value.imm);
+ if (i.type == MIPS_OP_MEM) {
+ System.out.printf("\t\toperands[%d].type: MEM\n",c);
+ String base = ins.regName(i.value.mem.base);
+ if (base != null)
+ System.out.printf("\t\t\toperands[%d].mem.base: REG = %s\n", c, base);
+ if (i.value.mem.disp != 0)
+ System.out.printf("\t\t\toperands[%d].mem.disp: %s\n", c, hex(i.value.mem.disp));
+ }
+ }
+ }
+ }
+
+ public static void main(String argv[]) {
+
+ final TestBasic.platform[] all_tests = {
+ new TestBasic.platform(Capstone.CS_ARCH_MIPS, Capstone.CS_MODE_MIPS32 + Capstone.CS_MODE_BIG_ENDIAN, hexString2Byte(MIPS_CODE), "MIPS-32 (Big-endian)"),
+ new TestBasic.platform(Capstone.CS_ARCH_MIPS, Capstone.CS_MODE_MIPS64 + Capstone.CS_MODE_LITTLE_ENDIAN, hexString2Byte(MIPS_CODE2), "MIPS-64-EL (Little-endian)"),
+ };
+
+ for (int i=0; i<all_tests.length; i++) {
+ TestBasic.platform test = all_tests[i];
+ System.out.println(new String(new char[16]).replace("\0", "*"));
+ System.out.println("Platform: " + test.comment);
+ System.out.println("Code: " + TestBasic.stringToHex(test.code));
+ System.out.println("Disasm:");
+
+ cs = new Capstone(test.arch, test.mode);
+ cs.setDetail(Capstone.CS_OPT_ON);
+ Capstone.CsInsn[] all_ins = cs.disasm(test.code, 0x1000);
+
+ for (int j = 0; j < all_ins.length; j++) {
+ print_ins_detail(all_ins[j]);
+ System.out.println();
+ }
+
+ System.out.printf("0x%x:\n\n", all_ins[all_ins.length-1].address + all_ins[all_ins.length-1].size);
+
+ // Close when done
+ cs.close();
+ }
+ }
+
+}
diff --git a/capstone/bindings/java/TestPpc.java b/capstone/bindings/java/TestPpc.java
new file mode 100644
index 000000000..8b630bfa9
--- /dev/null
+++ b/capstone/bindings/java/TestPpc.java
@@ -0,0 +1,96 @@
+// Capstone Java binding
+// By Nguyen Anh Quynh & Dang Hoang Vu, 2013
+
+import capstone.Capstone;
+import capstone.Ppc;
+
+import static capstone.Ppc_const.*;
+
+public class TestPpc {
+
+ static byte[] hexString2Byte(String s) {
+ // from http://stackoverflow.com/questions/140131/convert-a-string-representation-of-a-hex-dump-to-a-byte-array-using-java
+ int len = s.length();
+ byte[] data = new byte[len / 2];
+ for (int i = 0; i < len; i += 2) {
+ data[i / 2] = (byte) ((Character.digit(s.charAt(i), 16) << 4)
+ + Character.digit(s.charAt(i+1), 16));
+ }
+ return data;
+ }
+
+ static final String PPC_CODE = "80200000803f00001043230ed04400804c4322022d0300807c4320147c4320934f2000214cc8002140820014";
+
+ public static Capstone cs;
+
+ private static String hex(int i) {
+ return Integer.toString(i, 16);
+ }
+
+ private static String hex(long i) {
+ return Long.toString(i, 16);
+ }
+
+ public static void print_ins_detail(Capstone.CsInsn ins) {
+ System.out.printf("0x%x:\t%s\t%s\n", ins.address, ins.mnemonic, ins.opStr);
+
+ Ppc.OpInfo operands = (Ppc.OpInfo) ins.operands;
+
+ if (operands.op.length != 0) {
+ System.out.printf("\top_count: %d\n", operands.op.length);
+ for (int c=0; c<operands.op.length; c++) {
+ Ppc.Operand i = (Ppc.Operand) operands.op[c];
+ if (i.type == PPC_OP_REG)
+ System.out.printf("\t\toperands[%d].type: REG = %s\n", c, ins.regName(i.value.reg));
+ if (i.type == PPC_OP_IMM)
+ System.out.printf("\t\toperands[%d].type: IMM = 0x%x\n", c, i.value.imm);
+ if (i.type == PPC_OP_MEM) {
+ System.out.printf("\t\toperands[%d].type: MEM\n", c);
+ if (i.value.mem.base != PPC_REG_INVALID)
+ System.out.printf("\t\t\toperands[%d].mem.base: REG = %s\n", c, ins.regName(i.value.mem.base));
+ if (i.value.mem.disp != 0)
+ System.out.printf("\t\t\toperands[%d].mem.disp: 0x%x\n", c, i.value.mem.disp);
+ }
+ }
+ }
+
+ if (operands.bc != 0)
+ System.out.printf("\tBranch code: %d\n", operands.bc);
+
+ if (operands.bh != 0)
+ System.out.printf("\tBranch hint: %d\n", operands.bh);
+
+ if (operands.updateCr0)
+ System.out.printf("\tUpdate-CR0: True\n");
+
+ }
+
+ public static void main(String argv[]) {
+
+ final TestBasic.platform[] all_tests = {
+ new TestBasic.platform(Capstone.CS_ARCH_PPC, Capstone.CS_MODE_BIG_ENDIAN, hexString2Byte(PPC_CODE), "PPC-64"),
+ };
+
+ for (int i=0; i<all_tests.length; i++) {
+ TestBasic.platform test = all_tests[i];
+ System.out.println(new String(new char[16]).replace("\0", "*"));
+ System.out.println("Platform: " + test.comment);
+ System.out.println("Code: " + TestBasic.stringToHex(test.code));
+ System.out.println("Disasm:");
+
+ cs = new Capstone(test.arch, test.mode);
+ cs.setDetail(Capstone.CS_OPT_ON);
+ Capstone.CsInsn[] all_ins = cs.disasm(test.code, 0x1000);
+
+ for (int j = 0; j < all_ins.length; j++) {
+ print_ins_detail(all_ins[j]);
+ System.out.println();
+ }
+ System.out.printf("0x%x:\n\n", (all_ins[all_ins.length-1].address + all_ins[all_ins.length-1].size));
+
+ // Close when done
+ cs.close();
+ }
+ }
+
+}
diff --git a/capstone/bindings/java/TestSparc.java b/capstone/bindings/java/TestSparc.java
new file mode 100644
index 000000000..df44f9506
--- /dev/null
+++ b/capstone/bindings/java/TestSparc.java
@@ -0,0 +1,97 @@
+// Capstone Java binding
+// By Nguyen Anh Quynh & Dang Hoang Vu, 2013-2014
+
+import capstone.Capstone;
+import capstone.Sparc;
+
+import static capstone.Sparc_const.*;
+
+public class TestSparc {
+
+ static byte[] hexString2Byte(String s) {
+ // from http://stackoverflow.com/questions/140131/convert-a-string-representation-of-a-hex-dump-to-a-byte-array-using-java
+ int len = s.length();
+ byte[] data = new byte[len / 2];
+ for (int i = 0; i < len; i += 2) {
+ data[i / 2] = (byte) ((Character.digit(s.charAt(i), 16) << 4)
+ + Character.digit(s.charAt(i+1), 16));
+ }
+ return data;
+ }
+
+ static final String SPARC_CODE = "80a0400285c2600885e8200181e8000090102001d5f610162100000a860040020100000012bfffff10bfffffa00200090dbfffffd4206000d44e00162ac28003";
+ static final String SPARCV9_CODE = "81a80a2489a0102089a01a6089a000e0";
+
+ public static Capstone cs;
+
+ private static String hex(int i) {
+ return Integer.toString(i, 16);
+ }
+
+ private static String hex(long i) {
+ return Long.toString(i, 16);
+ }
+
+ public static void print_ins_detail(Capstone.CsInsn ins) {
+ System.out.printf("0x%x:\t%s\t%s\n", ins.address, ins.mnemonic, ins.opStr);
+
+ Sparc.OpInfo operands = (Sparc.OpInfo) ins.operands;
+
+ if (operands.op.length != 0) {
+ System.out.printf("\top_count: %d\n", operands.op.length);
+ for (int c=0; c<operands.op.length; c++) {
+ Sparc.Operand i = (Sparc.Operand) operands.op[c];
+ if (i.type == SPARC_OP_REG)
+ System.out.printf("\t\toperands[%d].type: REG = %s\n", c, ins.regName(i.value.reg));
+ if (i.type == SPARC_OP_IMM)
+ System.out.printf("\t\toperands[%d].type: IMM = 0x%x\n", c, i.value.imm);
+ if (i.type == SPARC_OP_MEM) {
+ System.out.printf("\t\toperands[%d].type: MEM\n", c);
+ if (i.value.mem.base != SPARC_REG_INVALID)
+ System.out.printf("\t\t\toperands[%d].mem.base: REG = %s\n", c, ins.regName(i.value.mem.base));
+ if (i.value.mem.index != SPARC_REG_INVALID)
+ System.out.printf("\t\t\toperands[%d].mem.index: REG = %s\n", c, ins.regName(i.value.mem.index));
+ if (i.value.mem.disp != 0)
+ System.out.printf("\t\t\toperands[%d].mem.disp: 0x%x\n", c, i.value.mem.disp);
+ }
+ }
+ }
+
+ if (operands.cc != 0)
+ System.out.printf("\tCode condition: %d\n", operands.cc);
+
+ if (operands.hint != 0)
+ System.out.printf("\tHint code: %d\n", operands.hint);
+
+ }
+
+ public static void main(String argv[]) {
+
+ final TestBasic.platform[] all_tests = {
+ new TestBasic.platform(Capstone.CS_ARCH_SPARC, Capstone.CS_MODE_BIG_ENDIAN, hexString2Byte(SPARC_CODE), "Sparc"),
+ new TestBasic.platform(Capstone.CS_ARCH_SPARC, Capstone.CS_MODE_BIG_ENDIAN + Capstone.CS_MODE_V9, hexString2Byte(SPARCV9_CODE), "SparcV9"),
+ };
+
+ for (int i=0; i<all_tests.length; i++) {
+ TestBasic.platform test = all_tests[i];
+ System.out.println(new String(new char[16]).replace("\0", "*"));
+ System.out.println("Platform: " + test.comment);
+ System.out.println("Code: " + TestBasic.stringToHex(test.code));
+ System.out.println("Disasm:");
+
+ cs = new Capstone(test.arch, test.mode);
+ cs.setDetail(Capstone.CS_OPT_ON);
+ Capstone.CsInsn[] all_ins = cs.disasm(test.code, 0x1000);
+
+ for (int j = 0; j < all_ins.length; j++) {
+ print_ins_detail(all_ins[j]);
+ System.out.println();
+ }
+ System.out.printf("0x%x:\n\n", (all_ins[all_ins.length-1].address + all_ins[all_ins.length-1].size));
+
+ // Close when done
+ cs.close();
+ }
+ }
+
+}
diff --git a/capstone/bindings/java/TestSystemz.java b/capstone/bindings/java/TestSystemz.java
new file mode 100644
index 000000000..784913b73
--- /dev/null
+++ b/capstone/bindings/java/TestSystemz.java
@@ -0,0 +1,96 @@
+// Capstone Java binding
+// By Nguyen Anh Quynh & Dang Hoang Vu, 2013-2014
+
+import capstone.Capstone;
+import capstone.Systemz;
+
+import static capstone.Sysz_const.*;
+
+public class TestSystemz {
+
+ static byte[] hexString2Byte(String s) {
+ // from http://stackoverflow.com/questions/140131/convert-a-string-representation-of-a-hex-dump-to-a-byte-array-using-java
+ int len = s.length();
+ byte[] data = new byte[len / 2];
+ for (int i = 0; i < len; i += 2) {
+ data[i / 2] = (byte) ((Character.digit(s.charAt(i), 16) << 4)
+ + Character.digit(s.charAt(i+1), 16));
+ }
+ return data;
+ }
+
+ static final String SYSZ_CODE = "ed000000001a5a0f1fffc2098000000007f7eb2affff7f57e301ffff7f57eb00f0000024b24f0078ec180000c17f";
+
+ public static Capstone cs;
+
+ private static String hex(int i) {
+ return Integer.toString(i, 16);
+ }
+
+ private static String hex(long i) {
+ return Long.toString(i, 16);
+ }
+
+ public static void print_ins_detail(Capstone.CsInsn ins) {
+ System.out.printf("0x%x:\t%s\t%s\n", ins.address, ins.mnemonic, ins.opStr);
+
+ Systemz.OpInfo operands = (Systemz.OpInfo) ins.operands;
+
+ if (operands.op.length != 0) {
+ System.out.printf("\top_count: %d\n", operands.op.length);
+ for (int c=0; c<operands.op.length; c++) {
+ Systemz.Operand i = (Systemz.Operand) operands.op[c];
+ if (i.type == SYSZ_OP_REG)
+ System.out.printf("\t\toperands[%d].type: REG = %s\n", c, ins.regName(i.value.reg));
+ if (i.type == SYSZ_OP_ACREG)
+ System.out.printf("\t\toperands[%d].type: ACREG = %s\n", c, i.value.reg);
+ if (i.type == SYSZ_OP_IMM)
+ System.out.printf("\t\toperands[%d].type: IMM = 0x%x\n", c, i.value.imm);
+ if (i.type == SYSZ_OP_MEM) {
+ System.out.printf("\t\toperands[%d].type: MEM\n", c);
+ if (i.value.mem.base != SYSZ_REG_INVALID)
+ System.out.printf("\t\t\toperands[%d].mem.base: REG = %s\n", c, ins.regName(i.value.mem.base));
+ if (i.value.mem.index != SYSZ_REG_INVALID)
+ System.out.printf("\t\t\toperands[%d].mem.index: REG = %s\n", c, ins.regName(i.value.mem.index));
+ if (i.value.mem.length != 0)
+ System.out.printf("\t\t\toperands[%d].mem.length: 0x%x\n", c, i.value.mem.disp);
+ if (i.value.mem.disp != 0)
+ System.out.printf("\t\t\toperands[%d].mem.disp: 0x%x\n", c, i.value.mem.disp);
+ }
+ }
+ }
+
+ if (operands.cc != 0)
+ System.out.printf("\tConditional code: %d\n", operands.cc);
+
+ }
+
+ public static void main(String argv[]) {
+
+ final TestBasic.platform[] all_tests = {
+ new TestBasic.platform(Capstone.CS_ARCH_SYSZ, 0, hexString2Byte(SYSZ_CODE), "SystemZ"),
+ };
+
+ for (int i=0; i<all_tests.length; i++) {
+ TestBasic.platform test = all_tests[i];
+ System.out.println(new String(new char[16]).replace("\0", "*"));
+ System.out.println("Platform: " + test.comment);
+ System.out.println("Code: " + TestBasic.stringToHex(test.code));
+ System.out.println("Disasm:");
+
+ cs = new Capstone(test.arch, test.mode);
+ cs.setDetail(Capstone.CS_OPT_ON);
+ Capstone.CsInsn[] all_ins = cs.disasm(test.code, 0x1000);
+
+ for (int j = 0; j < all_ins.length; j++) {
+ print_ins_detail(all_ins[j]);
+ System.out.println();
+ }
+ System.out.printf("0x%x:\n\n", (all_ins[all_ins.length-1].address + all_ins[all_ins.length-1].size));
+
+ // Close when done
+ cs.close();
+ }
+ }
+
+}
diff --git a/capstone/bindings/java/TestX86.java b/capstone/bindings/java/TestX86.java
new file mode 100644
index 000000000..3a10962b3
--- /dev/null
+++ b/capstone/bindings/java/TestX86.java
@@ -0,0 +1,227 @@
+// Capstone Java binding
+// By Nguyen Anh Quynh & Dang Hoang Vu, 2013
+
+import capstone.Capstone;
+import static capstone.Capstone.CS_AC_READ;
+import static capstone.Capstone.CS_AC_WRITE;
+import capstone.Capstone.CsRegsAccess;
+import capstone.X86;
+
+import static capstone.X86_const.*;
+
+public class TestX86 {
+
+ static byte[] hexString2Byte(String s) {
+ // from http://stackoverflow.com/questions/140131/convert-a-string-representation-of-a-hex-dump-to-a-byte-array-using-java
+ int len = s.length();
+ byte[] data = new byte[len / 2];
+ for (int i = 0; i < len; i += 2) {
+ data[i / 2] = (byte) ((Character.digit(s.charAt(i), 16) << 4)
+ + Character.digit(s.charAt(i+1), 16));
+ }
+ return data;
+ }
+
+ static final String X86_CODE64 = "55488b05b8130000";
+ static final String X86_CODE16 = "8d4c320801d881c6341200000523010000368b849123010000418d8439896700008d8789670000b4c6";
+ static final String X86_CODE32 = "8d4c320801d881c6341200000523010000368b849123010000418d8439896700008d8789670000b4c6";
+
+ public static Capstone cs;
+
+ private static String hex(int i) {
+ return Integer.toString(i, 16);
+ }
+
+ private static String hex(long i) {
+ return Long.toString(i, 16);
+ }
+
+ private static String array2hex(byte[] arr) {
+ String ret = "";
+ for (int i=0 ;i<arr.length; i++)
+ ret += String.format("0x%02x ", arr[i]);
+ return ret;
+ }
+
+ public static void print_ins_detail(Capstone.CsInsn ins) {
+ System.out.printf("0x%x:\t%s\t%s\n", ins.address, ins.mnemonic, ins.opStr);
+
+ X86.OpInfo operands = (X86.OpInfo) ins.operands;
+
+ System.out.printf("\tPrefix: %s\n", array2hex(operands.prefix));
+
+ System.out.printf("\tOpcode: %s\n", array2hex(operands.opcode));
+
+ // print REX prefix (non-zero value is relevant for x86_64)
+ System.out.printf("\trex: 0x%x\n", operands.rex);
+
+ // print address size
+ System.out.printf("\taddr_size: %d\n", operands.addrSize);
+
+ // print modRM byte
+ System.out.printf("\tmodrm: 0x%x\n", operands.modrm);
+
+ // print modRM offset
+ if (operands.encoding.modrmOffset != 0) {
+ System.out.printf("\tmodrm offset: 0x%x\n", operands.encoding.modrmOffset);
+ }
+
+ // print displacement value
+ System.out.printf("\tdisp: 0x%x\n", operands.disp);
+
+ // print displacement offset
+ if (operands.encoding.dispOffset != 0) {
+ System.out.printf("\tdisp offset: 0x%x\n", operands.encoding.dispOffset);
+ }
+
+ //print displacement size
+ if (operands.encoding.dispSize != 0) {
+ System.out.printf("\tdisp size: 0x%x\n", operands.encoding.dispSize);
+ }
+
+ // SIB is not available in 16-bit mode
+ if ( (cs.mode & Capstone.CS_MODE_16) == 0) {
+ // print SIB byte
+ System.out.printf("\tsib: 0x%x\n", operands.sib);
+ if (operands.sib != 0)
+ System.out.printf("\t\tsib_base: %s\n\t\tsib_index: %s\n\t\tsib_scale: %d\n",
+ ins.regName(operands.sibBase), ins.regName(operands.sibIndex), operands.sibScale);
+ }
+
+ if (operands.xopCC != 0)
+ System.out.printf("\txop_cc: %u\n", operands.xopCC);
+
+ if (operands.sseCC != 0)
+ System.out.printf("\tsse_cc: %u\n", operands.sseCC);
+
+ if (operands.avxCC != 0)
+ System.out.printf("\tavx_cc: %u\n", operands.avxCC);
+
+ if (operands.avxSae)
+ System.out.printf("\tavx_sae: TRUE\n");
+
+ if (operands.avxRm != 0)
+ System.out.printf("\tavx_rm: %u\n", operands.avxRm);
+
+ int count = ins.opCount(X86_OP_IMM);
+ if (count > 0) {
+ System.out.printf("\timm_count: %d\n", count);
+ System.out.printf("\timm offset: 0x%x\n", operands.encoding.immOffset);
+ System.out.printf("\timm size: 0x%x\n", operands.encoding.immSize);
+ for (int i=0; i<count; i++) {
+ int index = ins.opIndex(X86_OP_IMM, i + 1);
+ System.out.printf("\t\timms[%d]: 0x%x\n", i+1, (operands.op[index].value.imm));
+ }
+ }
+
+ if (operands.op.length != 0) {
+ System.out.printf("\top_count: %d\n", operands.op.length);
+ for (int c=0; c<operands.op.length; c++) {
+ X86.Operand i = (X86.Operand) operands.op[c];
+ String imm = hex(i.value.imm);
+ if (i.type == X86_OP_REG)
+ System.out.printf("\t\toperands[%d].type: REG = %s\n", c, ins.regName(i.value.reg));
+ if (i.type == X86_OP_IMM)
+ System.out.printf("\t\toperands[%d].type: IMM = 0x%x\n", c, i.value.imm);
+ if (i.type == X86_OP_MEM) {
+ System.out.printf("\t\toperands[%d].type: MEM\n",c);
+ String segment = ins.regName(i.value.mem.segment);
+ String base = ins.regName(i.value.mem.base);
+ String index = ins.regName(i.value.mem.index);
+ if (segment != null)
+ System.out.printf("\t\t\toperands[%d].mem.segment: REG = %s\n", c, segment);
+ if (base != null)
+ System.out.printf("\t\t\toperands[%d].mem.base: REG = %s\n", c, base);
+ if (index != null)
+ System.out.printf("\t\t\toperands[%d].mem.index: REG = %s\n", c, index);
+ if (i.value.mem.scale != 1)
+ System.out.printf("\t\t\toperands[%d].mem.scale: %d\n", c, i.value.mem.scale);
+ if (i.value.mem.disp != 0)
+ System.out.printf("\t\t\toperands[%d].mem.disp: 0x%x\n", c, i.value.mem.disp);
+ }
+
+ // AVX broadcast type
+ if (i.avx_bcast != X86_AVX_BCAST_INVALID) {
+ System.out.printf("\t\toperands[%d].avx_bcast: %d\n", c, i.avx_bcast);
+ }
+
+ // AVX zero opmask {z}
+ if (i.avx_zero_opmask) {
+ System.out.printf("\t\toperands[%d].avx_zero_opmask: TRUE\n", c);
+ }
+
+ System.out.printf("\t\toperands[%d].size: %d\n", c, i.size);
+ switch(i.access) {
+ case CS_AC_READ:
+ System.out.printf("\t\toperands[%d].access: READ\n", c);
+ break;
+ case CS_AC_WRITE:
+ System.out.printf("\t\toperands[%d].access: WRITE\n", c);
+ break;
+ case CS_AC_READ | CS_AC_WRITE:
+ System.out.printf("\t\toperands[%d].access: READ | WRITE\n", c);
+ break;
+ }
+ }
+
+ // Print out all registers accessed by this instruction (either implicit or explicit)
+ CsRegsAccess regsAccess = ins.regsAccess();
+ if (regsAccess != null) {
+ short[] regsRead = regsAccess.regsRead;
+ short[] regsWrite = regsAccess.regsWrite;
+
+ if (regsRead.length > 0) {
+ System.out.printf("\tRegisters read:");
+ for (int i = 0; i < regsRead.length; i++) {
+ System.out.printf(" %s", ins.regName(regsRead[i]));
+ }
+ System.out.print("\n");
+ }
+
+ if (regsWrite.length > 0) {
+ System.out.printf("\tRegister modified:");
+ for (int i = 0; i < regsWrite.length; i++) {
+ System.out.printf(" %s", ins.regName(regsWrite[i]));
+ }
+ System.out.print("\n");
+ }
+ }
+ }
+ }
+
+ public static void main(String argv[]) {
+
+ final TestBasic.platform[] all_tests = {
+ new TestBasic.platform(Capstone.CS_ARCH_X86, Capstone.CS_MODE_16, hexString2Byte(X86_CODE16), "X86 16bit (Intel syntax)"),
+ new TestBasic.platform(Capstone.CS_ARCH_X86, Capstone.CS_MODE_32, Capstone.CS_OPT_SYNTAX_ATT, hexString2Byte(X86_CODE32), "X86 32 (AT&T syntax)"),
+ new TestBasic.platform(Capstone.CS_ARCH_X86, Capstone.CS_MODE_32, hexString2Byte(X86_CODE32), "X86 32 (Intel syntax)"),
+ new TestBasic.platform(Capstone.CS_ARCH_X86, Capstone.CS_MODE_64, hexString2Byte(X86_CODE64), "X86 64 (Intel syntax)"),
+ };
+
+ for (int i=0; i<all_tests.length; i++) {
+ TestBasic.platform test = all_tests[i];
+ System.out.println(new String(new char[16]).replace("\0", "*"));
+ System.out.println("Platform: " + test.comment);
+ System.out.println("Code: " + TestBasic.stringToHex(test.code));
+ System.out.println("Disasm:");
+
+ cs = new Capstone(test.arch, test.mode);
+ cs.setDetail(Capstone.CS_OPT_ON);
+ if (test.syntax != 0) {
+ cs.setSyntax(test.syntax);
+ }
+ Capstone.CsInsn[] all_ins = cs.disasm(test.code, 0x1000);
+
+ for (int j = 0; j < all_ins.length; j++) {
+ print_ins_detail(all_ins[j]);
+ System.out.println();
+ }
+
+ System.out.printf("0x%x:\n\n", all_ins[all_ins.length-1].address + all_ins[all_ins.length-1].size);
+
+ // Close when done
+ cs.close();
+ }
+ }
+
+}
diff --git a/capstone/bindings/java/TestXcore.java b/capstone/bindings/java/TestXcore.java
new file mode 100644
index 000000000..c1bfbccd3
--- /dev/null
+++ b/capstone/bindings/java/TestXcore.java
@@ -0,0 +1,89 @@
+// Capstone Java binding
+// By Nguyen Anh Quynh & Dang Hoang Vu, 2013-2014
+
+import capstone.Capstone;
+import capstone.Xcore;
+
+import static capstone.Xcore_const.*;
+
+public class TestXcore {
+ static byte[] hexString2Byte(String s) {
+ // from http://stackoverflow.com/questions/140131/convert-a-string-representation-of-a-hex-dump-to-a-byte-array-using-java
+ int len = s.length();
+ byte[] data = new byte[len / 2];
+ for (int i = 0; i < len; i += 2) {
+ data[i / 2] = (byte) ((Character.digit(s.charAt(i), 16) << 4)
+ + Character.digit(s.charAt(i+1), 16));
+ }
+ return data;
+ }
+
+ static final String XCORE_CODE = "fe0ffe171317c6feec1797f8ec4f1ffdec3707f2455bf9fa02061b1009fdeca7";
+
+ public static Capstone cs;
+
+ private static String hex(int i) {
+ return Integer.toString(i, 16);
+ }
+
+ private static String hex(long i) {
+ return Long.toString(i, 16);
+ }
+
+ public static void print_ins_detail(Capstone.CsInsn ins) {
+ System.out.printf("0x%x:\t%s\t%s\n", ins.address, ins.mnemonic, ins.opStr);
+
+ Xcore.OpInfo operands = (Xcore.OpInfo) ins.operands;
+
+ if (operands.op.length != 0) {
+ System.out.printf("\top_count: %d\n", operands.op.length);
+ for (int c=0; c<operands.op.length; c++) {
+ Xcore.Operand i = (Xcore.Operand) operands.op[c];
+ if (i.type == XCORE_OP_REG)
+ System.out.printf("\t\toperands[%d].type: REG = %s\n", c, ins.regName(i.value.reg));
+ if (i.type == XCORE_OP_IMM)
+ System.out.printf("\t\toperands[%d].type: IMM = 0x%x\n", c, i.value.imm);
+ if (i.type == XCORE_OP_MEM) {
+ System.out.printf("\t\toperands[%d].type: MEM\n", c);
+ if (i.value.mem.base != XCORE_REG_INVALID)
+ System.out.printf("\t\t\toperands[%d].mem.base: REG = %s\n", c, ins.regName(i.value.mem.base));
+ if (i.value.mem.index != XCORE_REG_INVALID)
+ System.out.printf("\t\t\toperands[%d].mem.index: REG = %s\n", c, ins.regName(i.value.mem.index));
+ if (i.value.mem.disp != 0)
+ System.out.printf("\t\t\toperands[%d].mem.disp: 0x%x\n", c, i.value.mem.disp);
+ if (i.value.mem.direct != 1)
+ System.out.printf("\t\t\toperands[%d].mem.direct: -1\n", c);
+ }
+ }
+ }
+ }
+
+ public static void main(String argv[]) {
+
+ final TestBasic.platform[] all_tests = {
+ new TestBasic.platform(Capstone.CS_ARCH_XCORE, Capstone.CS_MODE_BIG_ENDIAN, hexString2Byte(XCORE_CODE), "XCore"),
+ };
+
+ for (int i=0; i<all_tests.length; i++) {
+ TestBasic.platform test = all_tests[i];
+ System.out.println(new String(new char[16]).replace("\0", "*"));
+ System.out.println("Platform: " + test.comment);
+ System.out.println("Code: " + TestBasic.stringToHex(test.code));
+ System.out.println("Disasm:");
+
+ cs = new Capstone(test.arch, test.mode);
+ cs.setDetail(Capstone.CS_OPT_ON);
+ Capstone.CsInsn[] all_ins = cs.disasm(test.code, 0x1000);
+
+ for (int j = 0; j < all_ins.length; j++) {
+ print_ins_detail(all_ins[j]);
+ System.out.println();
+ }
+ System.out.printf("0x%x:\n\n", (all_ins[all_ins.length-1].address + all_ins[all_ins.length-1].size));
+
+ // Close when done
+ cs.close();
+ }
+ }
+
+}
diff --git a/capstone/bindings/java/capstone/.gitignore b/capstone/bindings/java/capstone/.gitignore
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/capstone/bindings/java/capstone/.gitignore
diff --git a/capstone/bindings/java/capstone/Arm.java b/capstone/bindings/java/capstone/Arm.java
new file mode 100644
index 000000000..42b14297e
--- /dev/null
+++ b/capstone/bindings/java/capstone/Arm.java
@@ -0,0 +1,153 @@
+// Capstone Java binding
+// By Nguyen Anh Quynh & Dang Hoang Vu, 2013
+
+package capstone;
+
+import com.sun.jna.Structure;
+import com.sun.jna.Union;
+
+import java.util.List;
+import java.util.Arrays;
+
+import static capstone.Arm_const.*;
+
+public class Arm {
+
+ public static class MemType extends Structure {
+ public int base;
+ public int index;
+ public int scale;
+ public int disp;
+ public int lshift;
+
+ @Override
+ public List getFieldOrder() {
+ return Arrays.asList("base", "index", "scale", "disp", "lshift");
+ }
+ }
+
+ public static class OpValue extends Union {
+ public int reg;
+ public int imm;
+ public double fp;
+ public MemType mem;
+ public int setend;
+
+ @Override
+ public List getFieldOrder() {
+ return Arrays.asList("reg", "imm", "fp", "mem", "setend");
+ }
+ }
+
+ public static class OpShift extends Structure {
+ public int type;
+ public int value;
+
+ @Override
+ public List getFieldOrder() {
+ return Arrays.asList("type","value");
+ }
+ }
+
+ public static class Operand extends Structure {
+ public int vector_index;
+ public OpShift shift;
+ public int type;
+ public OpValue value;
+ public boolean subtracted;
+ public byte access;
+ public byte neon_lane;
+
+ public void read() {
+ readField("vector_index");
+ readField("type");
+ if (type == ARM_OP_MEM)
+ value.setType(MemType.class);
+ if (type == ARM_OP_FP)
+ value.setType(Double.TYPE);
+ if (type == ARM_OP_PIMM || type == ARM_OP_IMM || type == ARM_OP_CIMM)
+ value.setType(Integer.TYPE);
+ if (type == ARM_OP_REG)
+ value.setType(Integer.TYPE);
+ if (type == ARM_OP_INVALID)
+ return;
+ readField("value");
+ readField("shift");
+ readField("subtracted");
+ readField("access");
+ readField("neon_lane");
+ }
+
+ @Override
+ public List getFieldOrder() {
+ return Arrays.asList("vector_index", "shift", "type", "value", "subtracted", "access", "neon_lane");
+ }
+ }
+
+ public static class UnionOpInfo extends Capstone.UnionOpInfo {
+ public boolean usermode;
+ public int vector_size;
+ public int vector_data;
+ public int cps_mode;
+ public int cps_flag;
+ public int cc;
+ public byte update_flags;
+ public byte writeback;
+ public int mem_barrier;
+ public byte op_count;
+
+ public Operand [] op;
+
+ public UnionOpInfo() {
+ op = new Operand[36];
+ }
+
+ public void read() {
+ readField("usermode");
+ readField("vector_size");
+ readField("vector_data");
+ readField("cps_mode");
+ readField("cps_flag");
+ readField("cc");
+ readField("update_flags");
+ readField("writeback");
+ readField("mem_barrier");
+ readField("op_count");
+ op = new Operand[op_count];
+ if (op_count != 0)
+ readField("op");
+ }
+
+ @Override
+ public List getFieldOrder() {
+ return Arrays.asList("usermode", "vector_size", "vector_data",
+ "cps_mode", "cps_flag", "cc", "update_flags", "writeback", "mem_barrier", "op_count", "op");
+ }
+ }
+
+ public static class OpInfo extends Capstone.OpInfo {
+ public boolean usermode;
+ public int vectorSize;
+ public int vectorData;
+ public int cpsMode;
+ public int cpsFlag;
+ public int cc;
+ public boolean updateFlags;
+ public boolean writeback;
+ public int memBarrier;
+ public Operand [] op = null;
+
+ public OpInfo(UnionOpInfo op_info) {
+ usermode = op_info.usermode;
+ vectorSize = op_info.vector_size;
+ vectorData = op_info.vector_data;
+ cpsMode = op_info.cps_mode;
+ cpsFlag = op_info.cps_flag;
+ cc = op_info.cc;
+ updateFlags = (op_info.update_flags > 0);
+ writeback = (op_info.writeback > 0);
+ memBarrier = op_info.mem_barrier;
+ op = op_info.op;
+ }
+ }
+}
diff --git a/capstone/bindings/java/capstone/Arm64.java b/capstone/bindings/java/capstone/Arm64.java
new file mode 100644
index 000000000..fdc1f2bc5
--- /dev/null
+++ b/capstone/bindings/java/capstone/Arm64.java
@@ -0,0 +1,125 @@
+// Capstone Java binding
+// By Nguyen Anh Quynh & Dang Hoang Vu, 2013
+
+package capstone;
+
+import com.sun.jna.Structure;
+import com.sun.jna.Union;
+
+import java.util.List;
+import java.util.Arrays;
+
+import static capstone.Arm64_const.*;
+
+public class Arm64 {
+
+ public static class MemType extends Structure {
+ public int base;
+ public int index;
+ public int disp;
+
+ @Override
+ public List getFieldOrder() {
+ return Arrays.asList("base", "index", "disp");
+ }
+ }
+
+ public static class OpValue extends Union {
+ public int reg;
+ public long imm;
+ public double fp;
+ public MemType mem;
+ public int pstate;
+ public int sys;
+ public int prefetch;
+ public int barrier;
+
+ @Override
+ public List getFieldOrder() {
+ return Arrays.asList("reg", "imm", "fp", "mem", "pstate", "sys", "prefetch", "barrier");
+ }
+ }
+
+ public static class OpShift extends Structure {
+ public int type;
+ public int value;
+
+ @Override
+ public List getFieldOrder() {
+ return Arrays.asList("type","value");
+ }
+ }
+
+ public static class Operand extends Structure {
+ public int vector_index;
+ public int vas;
+ public OpShift shift;
+ public int ext;
+ public int type;
+ public OpValue value;
+
+ public void read() {
+ readField("type");
+ if (type == ARM64_OP_MEM)
+ value.setType(MemType.class);
+ if (type == ARM64_OP_FP)
+ value.setType(Double.TYPE);
+ if (type == ARM64_OP_IMM || type == ARM64_OP_CIMM || type == ARM64_OP_REG || type == ARM64_OP_REG_MRS || type == ARM64_OP_REG_MSR || type == ARM64_OP_PSTATE || type == ARM64_OP_SYS || type == ARM64_OP_PREFETCH || type == ARM64_OP_BARRIER)
+ value.setType(Integer.TYPE);
+ if (type == ARM64_OP_INVALID)
+ return;
+ readField("value");
+ readField("ext");
+ readField("shift");
+ readField("vas");
+ readField("vector_index");
+ }
+
+ @Override
+ public List getFieldOrder() {
+ return Arrays.asList("vector_index", "vas", "shift", "ext", "type", "value");
+ }
+ }
+
+ public static class UnionOpInfo extends Capstone.UnionOpInfo {
+ public int cc;
+ public byte _update_flags;
+ public byte _writeback;
+ public byte op_count;
+
+ public Operand [] op;
+
+ public UnionOpInfo() {
+ op = new Operand[8];
+ }
+
+ public void read() {
+ readField("cc");
+ readField("_update_flags");
+ readField("_writeback");
+ readField("op_count");
+ op = new Operand[op_count];
+ if (op_count != 0)
+ readField("op");
+ }
+
+ @Override
+ public List getFieldOrder() {
+ return Arrays.asList("cc", "_update_flags", "_writeback", "op_count", "op");
+ }
+ }
+
+ public static class OpInfo extends Capstone.OpInfo {
+ public int cc;
+ public boolean updateFlags;
+ public boolean writeback;
+ public Operand [] op = null;
+
+ public OpInfo(UnionOpInfo op_info) {
+ cc = op_info.cc;
+ updateFlags = (op_info._update_flags > 0);
+ writeback = (op_info._writeback > 0);
+ op = op_info.op;
+ }
+ }
+}
diff --git a/capstone/bindings/java/capstone/Arm64_const.java b/capstone/bindings/java/capstone/Arm64_const.java
new file mode 100644
index 000000000..6c07e6058
--- /dev/null
+++ b/capstone/bindings/java/capstone/Arm64_const.java
@@ -0,0 +1,2253 @@
+// For Capstone Engine. AUTO-GENERATED FILE, DO NOT EDIT
+package capstone;
+
+public class Arm64_const {
+
+ public static final int ARM64_SFT_INVALID = 0;
+ public static final int ARM64_SFT_LSL = 1;
+ public static final int ARM64_SFT_MSL = 2;
+ public static final int ARM64_SFT_LSR = 3;
+ public static final int ARM64_SFT_ASR = 4;
+ public static final int ARM64_SFT_ROR = 5;
+
+ public static final int ARM64_EXT_INVALID = 0;
+ public static final int ARM64_EXT_UXTB = 1;
+ public static final int ARM64_EXT_UXTH = 2;
+ public static final int ARM64_EXT_UXTW = 3;
+ public static final int ARM64_EXT_UXTX = 4;
+ public static final int ARM64_EXT_SXTB = 5;
+ public static final int ARM64_EXT_SXTH = 6;
+ public static final int ARM64_EXT_SXTW = 7;
+ public static final int ARM64_EXT_SXTX = 8;
+
+ public static final int ARM64_CC_INVALID = 0;
+ public static final int ARM64_CC_EQ = 1;
+ public static final int ARM64_CC_NE = 2;
+ public static final int ARM64_CC_HS = 3;
+ public static final int ARM64_CC_LO = 4;
+ public static final int ARM64_CC_MI = 5;
+ public static final int ARM64_CC_PL = 6;
+ public static final int ARM64_CC_VS = 7;
+ public static final int ARM64_CC_VC = 8;
+ public static final int ARM64_CC_HI = 9;
+ public static final int ARM64_CC_LS = 10;
+ public static final int ARM64_CC_GE = 11;
+ public static final int ARM64_CC_LT = 12;
+ public static final int ARM64_CC_GT = 13;
+ public static final int ARM64_CC_LE = 14;
+ public static final int ARM64_CC_AL = 15;
+ public static final int ARM64_CC_NV = 16;
+
+ public static final int ARM64_SYSREG_INVALID = 0;
+ public static final int ARM64_SYSREG_MDCCSR_EL0 = 0x9808;
+ public static final int ARM64_SYSREG_DBGDTRRX_EL0 = 0x9828;
+ public static final int ARM64_SYSREG_MDRAR_EL1 = 0x8080;
+ public static final int ARM64_SYSREG_OSLSR_EL1 = 0x808C;
+ public static final int ARM64_SYSREG_DBGAUTHSTATUS_EL1 = 0x83F6;
+ public static final int ARM64_SYSREG_PMCEID0_EL0 = 0xDCE6;
+ public static final int ARM64_SYSREG_PMCEID1_EL0 = 0xDCE7;
+ public static final int ARM64_SYSREG_MIDR_EL1 = 0xC000;
+ public static final int ARM64_SYSREG_CCSIDR_EL1 = 0xC800;
+ public static final int ARM64_SYSREG_CCSIDR2_EL1 = 0xC802;
+ public static final int ARM64_SYSREG_CLIDR_EL1 = 0xC801;
+ public static final int ARM64_SYSREG_CTR_EL0 = 0xD801;
+ public static final int ARM64_SYSREG_MPIDR_EL1 = 0xC005;
+ public static final int ARM64_SYSREG_REVIDR_EL1 = 0xC006;
+ public static final int ARM64_SYSREG_AIDR_EL1 = 0xC807;
+ public static final int ARM64_SYSREG_DCZID_EL0 = 0xD807;
+ public static final int ARM64_SYSREG_ID_PFR0_EL1 = 0xC008;
+ public static final int ARM64_SYSREG_ID_PFR1_EL1 = 0xC009;
+ public static final int ARM64_SYSREG_ID_DFR0_EL1 = 0xC00A;
+ public static final int ARM64_SYSREG_ID_AFR0_EL1 = 0xC00B;
+ public static final int ARM64_SYSREG_ID_MMFR0_EL1 = 0xC00C;
+ public static final int ARM64_SYSREG_ID_MMFR1_EL1 = 0xC00D;
+ public static final int ARM64_SYSREG_ID_MMFR2_EL1 = 0xC00E;
+ public static final int ARM64_SYSREG_ID_MMFR3_EL1 = 0xC00F;
+ public static final int ARM64_SYSREG_ID_ISAR0_EL1 = 0xC010;
+ public static final int ARM64_SYSREG_ID_ISAR1_EL1 = 0xC011;
+ public static final int ARM64_SYSREG_ID_ISAR2_EL1 = 0xC012;
+ public static final int ARM64_SYSREG_ID_ISAR3_EL1 = 0xC013;
+ public static final int ARM64_SYSREG_ID_ISAR4_EL1 = 0xC014;
+ public static final int ARM64_SYSREG_ID_ISAR5_EL1 = 0xC015;
+ public static final int ARM64_SYSREG_ID_ISAR6_EL1 = 0xC017;
+ public static final int ARM64_SYSREG_ID_AA64PFR0_EL1 = 0xC020;
+ public static final int ARM64_SYSREG_ID_AA64PFR1_EL1 = 0xC021;
+ public static final int ARM64_SYSREG_ID_AA64DFR0_EL1 = 0xC028;
+ public static final int ARM64_SYSREG_ID_AA64DFR1_EL1 = 0xC029;
+ public static final int ARM64_SYSREG_ID_AA64AFR0_EL1 = 0xC02C;
+ public static final int ARM64_SYSREG_ID_AA64AFR1_EL1 = 0xC02D;
+ public static final int ARM64_SYSREG_ID_AA64ISAR0_EL1 = 0xC030;
+ public static final int ARM64_SYSREG_ID_AA64ISAR1_EL1 = 0xC031;
+ public static final int ARM64_SYSREG_ID_AA64MMFR0_EL1 = 0xC038;
+ public static final int ARM64_SYSREG_ID_AA64MMFR1_EL1 = 0xC039;
+ public static final int ARM64_SYSREG_ID_AA64MMFR2_EL1 = 0xC03A;
+ public static final int ARM64_SYSREG_MVFR0_EL1 = 0xC018;
+ public static final int ARM64_SYSREG_MVFR1_EL1 = 0xC019;
+ public static final int ARM64_SYSREG_MVFR2_EL1 = 0xC01A;
+ public static final int ARM64_SYSREG_RVBAR_EL1 = 0xC601;
+ public static final int ARM64_SYSREG_RVBAR_EL2 = 0xE601;
+ public static final int ARM64_SYSREG_RVBAR_EL3 = 0xF601;
+ public static final int ARM64_SYSREG_ISR_EL1 = 0xC608;
+ public static final int ARM64_SYSREG_CNTPCT_EL0 = 0xDF01;
+ public static final int ARM64_SYSREG_CNTVCT_EL0 = 0xDF02;
+ public static final int ARM64_SYSREG_ID_MMFR4_EL1 = 0xC016;
+ public static final int ARM64_SYSREG_TRCSTATR = 0x8818;
+ public static final int ARM64_SYSREG_TRCIDR8 = 0x8806;
+ public static final int ARM64_SYSREG_TRCIDR9 = 0x880E;
+ public static final int ARM64_SYSREG_TRCIDR10 = 0x8816;
+ public static final int ARM64_SYSREG_TRCIDR11 = 0x881E;
+ public static final int ARM64_SYSREG_TRCIDR12 = 0x8826;
+ public static final int ARM64_SYSREG_TRCIDR13 = 0x882E;
+ public static final int ARM64_SYSREG_TRCIDR0 = 0x8847;
+ public static final int ARM64_SYSREG_TRCIDR1 = 0x884F;
+ public static final int ARM64_SYSREG_TRCIDR2 = 0x8857;
+ public static final int ARM64_SYSREG_TRCIDR3 = 0x885F;
+ public static final int ARM64_SYSREG_TRCIDR4 = 0x8867;
+ public static final int ARM64_SYSREG_TRCIDR5 = 0x886F;
+ public static final int ARM64_SYSREG_TRCIDR6 = 0x8877;
+ public static final int ARM64_SYSREG_TRCIDR7 = 0x887F;
+ public static final int ARM64_SYSREG_TRCOSLSR = 0x888C;
+ public static final int ARM64_SYSREG_TRCPDSR = 0x88AC;
+ public static final int ARM64_SYSREG_TRCDEVAFF0 = 0x8BD6;
+ public static final int ARM64_SYSREG_TRCDEVAFF1 = 0x8BDE;
+ public static final int ARM64_SYSREG_TRCLSR = 0x8BEE;
+ public static final int ARM64_SYSREG_TRCAUTHSTATUS = 0x8BF6;
+ public static final int ARM64_SYSREG_TRCDEVARCH = 0x8BFE;
+ public static final int ARM64_SYSREG_TRCDEVID = 0x8B97;
+ public static final int ARM64_SYSREG_TRCDEVTYPE = 0x8B9F;
+ public static final int ARM64_SYSREG_TRCPIDR4 = 0x8BA7;
+ public static final int ARM64_SYSREG_TRCPIDR5 = 0x8BAF;
+ public static final int ARM64_SYSREG_TRCPIDR6 = 0x8BB7;
+ public static final int ARM64_SYSREG_TRCPIDR7 = 0x8BBF;
+ public static final int ARM64_SYSREG_TRCPIDR0 = 0x8BC7;
+ public static final int ARM64_SYSREG_TRCPIDR1 = 0x8BCF;
+ public static final int ARM64_SYSREG_TRCPIDR2 = 0x8BD7;
+ public static final int ARM64_SYSREG_TRCPIDR3 = 0x8BDF;
+ public static final int ARM64_SYSREG_TRCCIDR0 = 0x8BE7;
+ public static final int ARM64_SYSREG_TRCCIDR1 = 0x8BEF;
+ public static final int ARM64_SYSREG_TRCCIDR2 = 0x8BF7;
+ public static final int ARM64_SYSREG_TRCCIDR3 = 0x8BFF;
+ public static final int ARM64_SYSREG_ICC_IAR1_EL1 = 0xC660;
+ public static final int ARM64_SYSREG_ICC_IAR0_EL1 = 0xC640;
+ public static final int ARM64_SYSREG_ICC_HPPIR1_EL1 = 0xC662;
+ public static final int ARM64_SYSREG_ICC_HPPIR0_EL1 = 0xC642;
+ public static final int ARM64_SYSREG_ICC_RPR_EL1 = 0xC65B;
+ public static final int ARM64_SYSREG_ICH_VTR_EL2 = 0xE659;
+ public static final int ARM64_SYSREG_ICH_EISR_EL2 = 0xE65B;
+ public static final int ARM64_SYSREG_ICH_ELRSR_EL2 = 0xE65D;
+ public static final int ARM64_SYSREG_ID_AA64ZFR0_EL1 = 0xC024;
+ public static final int ARM64_SYSREG_LORID_EL1 = 0xC527;
+ public static final int ARM64_SYSREG_ERRIDR_EL1 = 0xC298;
+ public static final int ARM64_SYSREG_ERXFR_EL1 = 0xC2A0;
+ public static final int ARM64_SYSREG_DBGDTRTX_EL0 = 0x9828;
+ public static final int ARM64_SYSREG_OSLAR_EL1 = 0x8084;
+ public static final int ARM64_SYSREG_PMSWINC_EL0 = 0xDCE4;
+ public static final int ARM64_SYSREG_TRCOSLAR = 0x8884;
+ public static final int ARM64_SYSREG_TRCLAR = 0x8BE6;
+ public static final int ARM64_SYSREG_ICC_EOIR1_EL1 = 0xC661;
+ public static final int ARM64_SYSREG_ICC_EOIR0_EL1 = 0xC641;
+ public static final int ARM64_SYSREG_ICC_DIR_EL1 = 0xC659;
+ public static final int ARM64_SYSREG_ICC_SGI1R_EL1 = 0xC65D;
+ public static final int ARM64_SYSREG_ICC_ASGI1R_EL1 = 0xC65E;
+ public static final int ARM64_SYSREG_ICC_SGI0R_EL1 = 0xC65F;
+ public static final int ARM64_SYSREG_OSDTRRX_EL1 = 0x8002;
+ public static final int ARM64_SYSREG_OSDTRTX_EL1 = 0x801A;
+ public static final int ARM64_SYSREG_TEECR32_EL1 = 0x9000;
+ public static final int ARM64_SYSREG_MDCCINT_EL1 = 0x8010;
+ public static final int ARM64_SYSREG_MDSCR_EL1 = 0x8012;
+ public static final int ARM64_SYSREG_DBGDTR_EL0 = 0x9820;
+ public static final int ARM64_SYSREG_OSECCR_EL1 = 0x8032;
+ public static final int ARM64_SYSREG_DBGVCR32_EL2 = 0xA038;
+ public static final int ARM64_SYSREG_DBGBVR0_EL1 = 0x8004;
+ public static final int ARM64_SYSREG_DBGBVR1_EL1 = 0x800C;
+ public static final int ARM64_SYSREG_DBGBVR2_EL1 = 0x8014;
+ public static final int ARM64_SYSREG_DBGBVR3_EL1 = 0x801C;
+ public static final int ARM64_SYSREG_DBGBVR4_EL1 = 0x8024;
+ public static final int ARM64_SYSREG_DBGBVR5_EL1 = 0x802C;
+ public static final int ARM64_SYSREG_DBGBVR6_EL1 = 0x8034;
+ public static final int ARM64_SYSREG_DBGBVR7_EL1 = 0x803C;
+ public static final int ARM64_SYSREG_DBGBVR8_EL1 = 0x8044;
+ public static final int ARM64_SYSREG_DBGBVR9_EL1 = 0x804C;
+ public static final int ARM64_SYSREG_DBGBVR10_EL1 = 0x8054;
+ public static final int ARM64_SYSREG_DBGBVR11_EL1 = 0x805C;
+ public static final int ARM64_SYSREG_DBGBVR12_EL1 = 0x8064;
+ public static final int ARM64_SYSREG_DBGBVR13_EL1 = 0x806C;
+ public static final int ARM64_SYSREG_DBGBVR14_EL1 = 0x8074;
+ public static final int ARM64_SYSREG_DBGBVR15_EL1 = 0x807C;
+ public static final int ARM64_SYSREG_DBGBCR0_EL1 = 0x8005;
+ public static final int ARM64_SYSREG_DBGBCR1_EL1 = 0x800D;
+ public static final int ARM64_SYSREG_DBGBCR2_EL1 = 0x8015;
+ public static final int ARM64_SYSREG_DBGBCR3_EL1 = 0x801D;
+ public static final int ARM64_SYSREG_DBGBCR4_EL1 = 0x8025;
+ public static final int ARM64_SYSREG_DBGBCR5_EL1 = 0x802D;
+ public static final int ARM64_SYSREG_DBGBCR6_EL1 = 0x8035;
+ public static final int ARM64_SYSREG_DBGBCR7_EL1 = 0x803D;
+ public static final int ARM64_SYSREG_DBGBCR8_EL1 = 0x8045;
+ public static final int ARM64_SYSREG_DBGBCR9_EL1 = 0x804D;
+ public static final int ARM64_SYSREG_DBGBCR10_EL1 = 0x8055;
+ public static final int ARM64_SYSREG_DBGBCR11_EL1 = 0x805D;
+ public static final int ARM64_SYSREG_DBGBCR12_EL1 = 0x8065;
+ public static final int ARM64_SYSREG_DBGBCR13_EL1 = 0x806D;
+ public static final int ARM64_SYSREG_DBGBCR14_EL1 = 0x8075;
+ public static final int ARM64_SYSREG_DBGBCR15_EL1 = 0x807D;
+ public static final int ARM64_SYSREG_DBGWVR0_EL1 = 0x8006;
+ public static final int ARM64_SYSREG_DBGWVR1_EL1 = 0x800E;
+ public static final int ARM64_SYSREG_DBGWVR2_EL1 = 0x8016;
+ public static final int ARM64_SYSREG_DBGWVR3_EL1 = 0x801E;
+ public static final int ARM64_SYSREG_DBGWVR4_EL1 = 0x8026;
+ public static final int ARM64_SYSREG_DBGWVR5_EL1 = 0x802E;
+ public static final int ARM64_SYSREG_DBGWVR6_EL1 = 0x8036;
+ public static final int ARM64_SYSREG_DBGWVR7_EL1 = 0x803E;
+ public static final int ARM64_SYSREG_DBGWVR8_EL1 = 0x8046;
+ public static final int ARM64_SYSREG_DBGWVR9_EL1 = 0x804E;
+ public static final int ARM64_SYSREG_DBGWVR10_EL1 = 0x8056;
+ public static final int ARM64_SYSREG_DBGWVR11_EL1 = 0x805E;
+ public static final int ARM64_SYSREG_DBGWVR12_EL1 = 0x8066;
+ public static final int ARM64_SYSREG_DBGWVR13_EL1 = 0x806E;
+ public static final int ARM64_SYSREG_DBGWVR14_EL1 = 0x8076;
+ public static final int ARM64_SYSREG_DBGWVR15_EL1 = 0x807E;
+ public static final int ARM64_SYSREG_DBGWCR0_EL1 = 0x8007;
+ public static final int ARM64_SYSREG_DBGWCR1_EL1 = 0x800F;
+ public static final int ARM64_SYSREG_DBGWCR2_EL1 = 0x8017;
+ public static final int ARM64_SYSREG_DBGWCR3_EL1 = 0x801F;
+ public static final int ARM64_SYSREG_DBGWCR4_EL1 = 0x8027;
+ public static final int ARM64_SYSREG_DBGWCR5_EL1 = 0x802F;
+ public static final int ARM64_SYSREG_DBGWCR6_EL1 = 0x8037;
+ public static final int ARM64_SYSREG_DBGWCR7_EL1 = 0x803F;
+ public static final int ARM64_SYSREG_DBGWCR8_EL1 = 0x8047;
+ public static final int ARM64_SYSREG_DBGWCR9_EL1 = 0x804F;
+ public static final int ARM64_SYSREG_DBGWCR10_EL1 = 0x8057;
+ public static final int ARM64_SYSREG_DBGWCR11_EL1 = 0x805F;
+ public static final int ARM64_SYSREG_DBGWCR12_EL1 = 0x8067;
+ public static final int ARM64_SYSREG_DBGWCR13_EL1 = 0x806F;
+ public static final int ARM64_SYSREG_DBGWCR14_EL1 = 0x8077;
+ public static final int ARM64_SYSREG_DBGWCR15_EL1 = 0x807F;
+ public static final int ARM64_SYSREG_TEEHBR32_EL1 = 0x9080;
+ public static final int ARM64_SYSREG_OSDLR_EL1 = 0x809C;
+ public static final int ARM64_SYSREG_DBGPRCR_EL1 = 0x80A4;
+ public static final int ARM64_SYSREG_DBGCLAIMSET_EL1 = 0x83C6;
+ public static final int ARM64_SYSREG_DBGCLAIMCLR_EL1 = 0x83CE;
+ public static final int ARM64_SYSREG_CSSELR_EL1 = 0xD000;
+ public static final int ARM64_SYSREG_VPIDR_EL2 = 0xE000;
+ public static final int ARM64_SYSREG_VMPIDR_EL2 = 0xE005;
+ public static final int ARM64_SYSREG_CPACR_EL1 = 0xC082;
+ public static final int ARM64_SYSREG_SCTLR_EL1 = 0xC080;
+ public static final int ARM64_SYSREG_SCTLR_EL2 = 0xE080;
+ public static final int ARM64_SYSREG_SCTLR_EL3 = 0xF080;
+ public static final int ARM64_SYSREG_ACTLR_EL1 = 0xC081;
+ public static final int ARM64_SYSREG_ACTLR_EL2 = 0xE081;
+ public static final int ARM64_SYSREG_ACTLR_EL3 = 0xF081;
+ public static final int ARM64_SYSREG_HCR_EL2 = 0xE088;
+ public static final int ARM64_SYSREG_SCR_EL3 = 0xF088;
+ public static final int ARM64_SYSREG_MDCR_EL2 = 0xE089;
+ public static final int ARM64_SYSREG_SDER32_EL3 = 0xF089;
+ public static final int ARM64_SYSREG_CPTR_EL2 = 0xE08A;
+ public static final int ARM64_SYSREG_CPTR_EL3 = 0xF08A;
+ public static final int ARM64_SYSREG_HSTR_EL2 = 0xE08B;
+ public static final int ARM64_SYSREG_HACR_EL2 = 0xE08F;
+ public static final int ARM64_SYSREG_MDCR_EL3 = 0xF099;
+ public static final int ARM64_SYSREG_TTBR0_EL1 = 0xC100;
+ public static final int ARM64_SYSREG_TTBR0_EL2 = 0xE100;
+ public static final int ARM64_SYSREG_TTBR0_EL3 = 0xF100;
+ public static final int ARM64_SYSREG_TTBR1_EL1 = 0xC101;
+ public static final int ARM64_SYSREG_TCR_EL1 = 0xC102;
+ public static final int ARM64_SYSREG_TCR_EL2 = 0xE102;
+ public static final int ARM64_SYSREG_TCR_EL3 = 0xF102;
+ public static final int ARM64_SYSREG_VTTBR_EL2 = 0xE108;
+ public static final int ARM64_SYSREG_VTCR_EL2 = 0xE10A;
+ public static final int ARM64_SYSREG_DACR32_EL2 = 0xE180;
+ public static final int ARM64_SYSREG_SPSR_EL1 = 0xC200;
+ public static final int ARM64_SYSREG_SPSR_EL2 = 0xE200;
+ public static final int ARM64_SYSREG_SPSR_EL3 = 0xF200;
+ public static final int ARM64_SYSREG_ELR_EL1 = 0xC201;
+ public static final int ARM64_SYSREG_ELR_EL2 = 0xE201;
+ public static final int ARM64_SYSREG_ELR_EL3 = 0xF201;
+ public static final int ARM64_SYSREG_SP_EL0 = 0xC208;
+ public static final int ARM64_SYSREG_SP_EL1 = 0xE208;
+ public static final int ARM64_SYSREG_SP_EL2 = 0xF208;
+ public static final int ARM64_SYSREG_SPSEL = 0xC210;
+ public static final int ARM64_SYSREG_NZCV = 0xDA10;
+ public static final int ARM64_SYSREG_DAIF = 0xDA11;
+ public static final int ARM64_SYSREG_CURRENTEL = 0xC212;
+ public static final int ARM64_SYSREG_SPSR_IRQ = 0xE218;
+ public static final int ARM64_SYSREG_SPSR_ABT = 0xE219;
+ public static final int ARM64_SYSREG_SPSR_UND = 0xE21A;
+ public static final int ARM64_SYSREG_SPSR_FIQ = 0xE21B;
+ public static final int ARM64_SYSREG_FPCR = 0xDA20;
+ public static final int ARM64_SYSREG_FPSR = 0xDA21;
+ public static final int ARM64_SYSREG_DSPSR_EL0 = 0xDA28;
+ public static final int ARM64_SYSREG_DLR_EL0 = 0xDA29;
+ public static final int ARM64_SYSREG_IFSR32_EL2 = 0xE281;
+ public static final int ARM64_SYSREG_AFSR0_EL1 = 0xC288;
+ public static final int ARM64_SYSREG_AFSR0_EL2 = 0xE288;
+ public static final int ARM64_SYSREG_AFSR0_EL3 = 0xF288;
+ public static final int ARM64_SYSREG_AFSR1_EL1 = 0xC289;
+ public static final int ARM64_SYSREG_AFSR1_EL2 = 0xE289;
+ public static final int ARM64_SYSREG_AFSR1_EL3 = 0xF289;
+ public static final int ARM64_SYSREG_ESR_EL1 = 0xC290;
+ public static final int ARM64_SYSREG_ESR_EL2 = 0xE290;
+ public static final int ARM64_SYSREG_ESR_EL3 = 0xF290;
+ public static final int ARM64_SYSREG_FPEXC32_EL2 = 0xE298;
+ public static final int ARM64_SYSREG_FAR_EL1 = 0xC300;
+ public static final int ARM64_SYSREG_FAR_EL2 = 0xE300;
+ public static final int ARM64_SYSREG_FAR_EL3 = 0xF300;
+ public static final int ARM64_SYSREG_HPFAR_EL2 = 0xE304;
+ public static final int ARM64_SYSREG_PAR_EL1 = 0xC3A0;
+ public static final int ARM64_SYSREG_PMCR_EL0 = 0xDCE0;
+ public static final int ARM64_SYSREG_PMCNTENSET_EL0 = 0xDCE1;
+ public static final int ARM64_SYSREG_PMCNTENCLR_EL0 = 0xDCE2;
+ public static final int ARM64_SYSREG_PMOVSCLR_EL0 = 0xDCE3;
+ public static final int ARM64_SYSREG_PMSELR_EL0 = 0xDCE5;
+ public static final int ARM64_SYSREG_PMCCNTR_EL0 = 0xDCE8;
+ public static final int ARM64_SYSREG_PMXEVTYPER_EL0 = 0xDCE9;
+ public static final int ARM64_SYSREG_PMXEVCNTR_EL0 = 0xDCEA;
+ public static final int ARM64_SYSREG_PMUSERENR_EL0 = 0xDCF0;
+ public static final int ARM64_SYSREG_PMINTENSET_EL1 = 0xC4F1;
+ public static final int ARM64_SYSREG_PMINTENCLR_EL1 = 0xC4F2;
+ public static final int ARM64_SYSREG_PMOVSSET_EL0 = 0xDCF3;
+ public static final int ARM64_SYSREG_MAIR_EL1 = 0xC510;
+ public static final int ARM64_SYSREG_MAIR_EL2 = 0xE510;
+ public static final int ARM64_SYSREG_MAIR_EL3 = 0xF510;
+ public static final int ARM64_SYSREG_AMAIR_EL1 = 0xC518;
+ public static final int ARM64_SYSREG_AMAIR_EL2 = 0xE518;
+ public static final int ARM64_SYSREG_AMAIR_EL3 = 0xF518;
+ public static final int ARM64_SYSREG_VBAR_EL1 = 0xC600;
+ public static final int ARM64_SYSREG_VBAR_EL2 = 0xE600;
+ public static final int ARM64_SYSREG_VBAR_EL3 = 0xF600;
+ public static final int ARM64_SYSREG_RMR_EL1 = 0xC602;
+ public static final int ARM64_SYSREG_RMR_EL2 = 0xE602;
+ public static final int ARM64_SYSREG_RMR_EL3 = 0xF602;
+ public static final int ARM64_SYSREG_CONTEXTIDR_EL1 = 0xC681;
+ public static final int ARM64_SYSREG_TPIDR_EL0 = 0xDE82;
+ public static final int ARM64_SYSREG_TPIDR_EL2 = 0xE682;
+ public static final int ARM64_SYSREG_TPIDR_EL3 = 0xF682;
+ public static final int ARM64_SYSREG_TPIDRRO_EL0 = 0xDE83;
+ public static final int ARM64_SYSREG_TPIDR_EL1 = 0xC684;
+ public static final int ARM64_SYSREG_CNTFRQ_EL0 = 0xDF00;
+ public static final int ARM64_SYSREG_CNTVOFF_EL2 = 0xE703;
+ public static final int ARM64_SYSREG_CNTKCTL_EL1 = 0xC708;
+ public static final int ARM64_SYSREG_CNTHCTL_EL2 = 0xE708;
+ public static final int ARM64_SYSREG_CNTP_TVAL_EL0 = 0xDF10;
+ public static final int ARM64_SYSREG_CNTHP_TVAL_EL2 = 0xE710;
+ public static final int ARM64_SYSREG_CNTPS_TVAL_EL1 = 0xFF10;
+ public static final int ARM64_SYSREG_CNTP_CTL_EL0 = 0xDF11;
+ public static final int ARM64_SYSREG_CNTHP_CTL_EL2 = 0xE711;
+ public static final int ARM64_SYSREG_CNTPS_CTL_EL1 = 0xFF11;
+ public static final int ARM64_SYSREG_CNTP_CVAL_EL0 = 0xDF12;
+ public static final int ARM64_SYSREG_CNTHP_CVAL_EL2 = 0xE712;
+ public static final int ARM64_SYSREG_CNTPS_CVAL_EL1 = 0xFF12;
+ public static final int ARM64_SYSREG_CNTV_TVAL_EL0 = 0xDF18;
+ public static final int ARM64_SYSREG_CNTV_CTL_EL0 = 0xDF19;
+ public static final int ARM64_SYSREG_CNTV_CVAL_EL0 = 0xDF1A;
+ public static final int ARM64_SYSREG_PMEVCNTR0_EL0 = 0xDF40;
+ public static final int ARM64_SYSREG_PMEVCNTR1_EL0 = 0xDF41;
+ public static final int ARM64_SYSREG_PMEVCNTR2_EL0 = 0xDF42;
+ public static final int ARM64_SYSREG_PMEVCNTR3_EL0 = 0xDF43;
+ public static final int ARM64_SYSREG_PMEVCNTR4_EL0 = 0xDF44;
+ public static final int ARM64_SYSREG_PMEVCNTR5_EL0 = 0xDF45;
+ public static final int ARM64_SYSREG_PMEVCNTR6_EL0 = 0xDF46;
+ public static final int ARM64_SYSREG_PMEVCNTR7_EL0 = 0xDF47;
+ public static final int ARM64_SYSREG_PMEVCNTR8_EL0 = 0xDF48;
+ public static final int ARM64_SYSREG_PMEVCNTR9_EL0 = 0xDF49;
+ public static final int ARM64_SYSREG_PMEVCNTR10_EL0 = 0xDF4A;
+ public static final int ARM64_SYSREG_PMEVCNTR11_EL0 = 0xDF4B;
+ public static final int ARM64_SYSREG_PMEVCNTR12_EL0 = 0xDF4C;
+ public static final int ARM64_SYSREG_PMEVCNTR13_EL0 = 0xDF4D;
+ public static final int ARM64_SYSREG_PMEVCNTR14_EL0 = 0xDF4E;
+ public static final int ARM64_SYSREG_PMEVCNTR15_EL0 = 0xDF4F;
+ public static final int ARM64_SYSREG_PMEVCNTR16_EL0 = 0xDF50;
+ public static final int ARM64_SYSREG_PMEVCNTR17_EL0 = 0xDF51;
+ public static final int ARM64_SYSREG_PMEVCNTR18_EL0 = 0xDF52;
+ public static final int ARM64_SYSREG_PMEVCNTR19_EL0 = 0xDF53;
+ public static final int ARM64_SYSREG_PMEVCNTR20_EL0 = 0xDF54;
+ public static final int ARM64_SYSREG_PMEVCNTR21_EL0 = 0xDF55;
+ public static final int ARM64_SYSREG_PMEVCNTR22_EL0 = 0xDF56;
+ public static final int ARM64_SYSREG_PMEVCNTR23_EL0 = 0xDF57;
+ public static final int ARM64_SYSREG_PMEVCNTR24_EL0 = 0xDF58;
+ public static final int ARM64_SYSREG_PMEVCNTR25_EL0 = 0xDF59;
+ public static final int ARM64_SYSREG_PMEVCNTR26_EL0 = 0xDF5A;
+ public static final int ARM64_SYSREG_PMEVCNTR27_EL0 = 0xDF5B;
+ public static final int ARM64_SYSREG_PMEVCNTR28_EL0 = 0xDF5C;
+ public static final int ARM64_SYSREG_PMEVCNTR29_EL0 = 0xDF5D;
+ public static final int ARM64_SYSREG_PMEVCNTR30_EL0 = 0xDF5E;
+ public static final int ARM64_SYSREG_PMCCFILTR_EL0 = 0xDF7F;
+ public static final int ARM64_SYSREG_PMEVTYPER0_EL0 = 0xDF60;
+ public static final int ARM64_SYSREG_PMEVTYPER1_EL0 = 0xDF61;
+ public static final int ARM64_SYSREG_PMEVTYPER2_EL0 = 0xDF62;
+ public static final int ARM64_SYSREG_PMEVTYPER3_EL0 = 0xDF63;
+ public static final int ARM64_SYSREG_PMEVTYPER4_EL0 = 0xDF64;
+ public static final int ARM64_SYSREG_PMEVTYPER5_EL0 = 0xDF65;
+ public static final int ARM64_SYSREG_PMEVTYPER6_EL0 = 0xDF66;
+ public static final int ARM64_SYSREG_PMEVTYPER7_EL0 = 0xDF67;
+ public static final int ARM64_SYSREG_PMEVTYPER8_EL0 = 0xDF68;
+ public static final int ARM64_SYSREG_PMEVTYPER9_EL0 = 0xDF69;
+ public static final int ARM64_SYSREG_PMEVTYPER10_EL0 = 0xDF6A;
+ public static final int ARM64_SYSREG_PMEVTYPER11_EL0 = 0xDF6B;
+ public static final int ARM64_SYSREG_PMEVTYPER12_EL0 = 0xDF6C;
+ public static final int ARM64_SYSREG_PMEVTYPER13_EL0 = 0xDF6D;
+ public static final int ARM64_SYSREG_PMEVTYPER14_EL0 = 0xDF6E;
+ public static final int ARM64_SYSREG_PMEVTYPER15_EL0 = 0xDF6F;
+ public static final int ARM64_SYSREG_PMEVTYPER16_EL0 = 0xDF70;
+ public static final int ARM64_SYSREG_PMEVTYPER17_EL0 = 0xDF71;
+ public static final int ARM64_SYSREG_PMEVTYPER18_EL0 = 0xDF72;
+ public static final int ARM64_SYSREG_PMEVTYPER19_EL0 = 0xDF73;
+ public static final int ARM64_SYSREG_PMEVTYPER20_EL0 = 0xDF74;
+ public static final int ARM64_SYSREG_PMEVTYPER21_EL0 = 0xDF75;
+ public static final int ARM64_SYSREG_PMEVTYPER22_EL0 = 0xDF76;
+ public static final int ARM64_SYSREG_PMEVTYPER23_EL0 = 0xDF77;
+ public static final int ARM64_SYSREG_PMEVTYPER24_EL0 = 0xDF78;
+ public static final int ARM64_SYSREG_PMEVTYPER25_EL0 = 0xDF79;
+ public static final int ARM64_SYSREG_PMEVTYPER26_EL0 = 0xDF7A;
+ public static final int ARM64_SYSREG_PMEVTYPER27_EL0 = 0xDF7B;
+ public static final int ARM64_SYSREG_PMEVTYPER28_EL0 = 0xDF7C;
+ public static final int ARM64_SYSREG_PMEVTYPER29_EL0 = 0xDF7D;
+ public static final int ARM64_SYSREG_PMEVTYPER30_EL0 = 0xDF7E;
+ public static final int ARM64_SYSREG_TRCPRGCTLR = 0x8808;
+ public static final int ARM64_SYSREG_TRCPROCSELR = 0x8810;
+ public static final int ARM64_SYSREG_TRCCONFIGR = 0x8820;
+ public static final int ARM64_SYSREG_TRCAUXCTLR = 0x8830;
+ public static final int ARM64_SYSREG_TRCEVENTCTL0R = 0x8840;
+ public static final int ARM64_SYSREG_TRCEVENTCTL1R = 0x8848;
+ public static final int ARM64_SYSREG_TRCSTALLCTLR = 0x8858;
+ public static final int ARM64_SYSREG_TRCTSCTLR = 0x8860;
+ public static final int ARM64_SYSREG_TRCSYNCPR = 0x8868;
+ public static final int ARM64_SYSREG_TRCCCCTLR = 0x8870;
+ public static final int ARM64_SYSREG_TRCBBCTLR = 0x8878;
+ public static final int ARM64_SYSREG_TRCTRACEIDR = 0x8801;
+ public static final int ARM64_SYSREG_TRCQCTLR = 0x8809;
+ public static final int ARM64_SYSREG_TRCVICTLR = 0x8802;
+ public static final int ARM64_SYSREG_TRCVIIECTLR = 0x880A;
+ public static final int ARM64_SYSREG_TRCVISSCTLR = 0x8812;
+ public static final int ARM64_SYSREG_TRCVIPCSSCTLR = 0x881A;
+ public static final int ARM64_SYSREG_TRCVDCTLR = 0x8842;
+ public static final int ARM64_SYSREG_TRCVDSACCTLR = 0x884A;
+ public static final int ARM64_SYSREG_TRCVDARCCTLR = 0x8852;
+ public static final int ARM64_SYSREG_TRCSEQEVR0 = 0x8804;
+ public static final int ARM64_SYSREG_TRCSEQEVR1 = 0x880C;
+ public static final int ARM64_SYSREG_TRCSEQEVR2 = 0x8814;
+ public static final int ARM64_SYSREG_TRCSEQRSTEVR = 0x8834;
+ public static final int ARM64_SYSREG_TRCSEQSTR = 0x883C;
+ public static final int ARM64_SYSREG_TRCEXTINSELR = 0x8844;
+ public static final int ARM64_SYSREG_TRCCNTRLDVR0 = 0x8805;
+ public static final int ARM64_SYSREG_TRCCNTRLDVR1 = 0x880D;
+ public static final int ARM64_SYSREG_TRCCNTRLDVR2 = 0x8815;
+ public static final int ARM64_SYSREG_TRCCNTRLDVR3 = 0x881D;
+ public static final int ARM64_SYSREG_TRCCNTCTLR0 = 0x8825;
+ public static final int ARM64_SYSREG_TRCCNTCTLR1 = 0x882D;
+ public static final int ARM64_SYSREG_TRCCNTCTLR2 = 0x8835;
+ public static final int ARM64_SYSREG_TRCCNTCTLR3 = 0x883D;
+ public static final int ARM64_SYSREG_TRCCNTVR0 = 0x8845;
+ public static final int ARM64_SYSREG_TRCCNTVR1 = 0x884D;
+ public static final int ARM64_SYSREG_TRCCNTVR2 = 0x8855;
+ public static final int ARM64_SYSREG_TRCCNTVR3 = 0x885D;
+ public static final int ARM64_SYSREG_TRCIMSPEC0 = 0x8807;
+ public static final int ARM64_SYSREG_TRCIMSPEC1 = 0x880F;
+ public static final int ARM64_SYSREG_TRCIMSPEC2 = 0x8817;
+ public static final int ARM64_SYSREG_TRCIMSPEC3 = 0x881F;
+ public static final int ARM64_SYSREG_TRCIMSPEC4 = 0x8827;
+ public static final int ARM64_SYSREG_TRCIMSPEC5 = 0x882F;
+ public static final int ARM64_SYSREG_TRCIMSPEC6 = 0x8837;
+ public static final int ARM64_SYSREG_TRCIMSPEC7 = 0x883F;
+ public static final int ARM64_SYSREG_TRCRSCTLR2 = 0x8890;
+ public static final int ARM64_SYSREG_TRCRSCTLR3 = 0x8898;
+ public static final int ARM64_SYSREG_TRCRSCTLR4 = 0x88A0;
+ public static final int ARM64_SYSREG_TRCRSCTLR5 = 0x88A8;
+ public static final int ARM64_SYSREG_TRCRSCTLR6 = 0x88B0;
+ public static final int ARM64_SYSREG_TRCRSCTLR7 = 0x88B8;
+ public static final int ARM64_SYSREG_TRCRSCTLR8 = 0x88C0;
+ public static final int ARM64_SYSREG_TRCRSCTLR9 = 0x88C8;
+ public static final int ARM64_SYSREG_TRCRSCTLR10 = 0x88D0;
+ public static final int ARM64_SYSREG_TRCRSCTLR11 = 0x88D8;
+ public static final int ARM64_SYSREG_TRCRSCTLR12 = 0x88E0;
+ public static final int ARM64_SYSREG_TRCRSCTLR13 = 0x88E8;
+ public static final int ARM64_SYSREG_TRCRSCTLR14 = 0x88F0;
+ public static final int ARM64_SYSREG_TRCRSCTLR15 = 0x88F8;
+ public static final int ARM64_SYSREG_TRCRSCTLR16 = 0x8881;
+ public static final int ARM64_SYSREG_TRCRSCTLR17 = 0x8889;
+ public static final int ARM64_SYSREG_TRCRSCTLR18 = 0x8891;
+ public static final int ARM64_SYSREG_TRCRSCTLR19 = 0x8899;
+ public static final int ARM64_SYSREG_TRCRSCTLR20 = 0x88A1;
+ public static final int ARM64_SYSREG_TRCRSCTLR21 = 0x88A9;
+ public static final int ARM64_SYSREG_TRCRSCTLR22 = 0x88B1;
+ public static final int ARM64_SYSREG_TRCRSCTLR23 = 0x88B9;
+ public static final int ARM64_SYSREG_TRCRSCTLR24 = 0x88C1;
+ public static final int ARM64_SYSREG_TRCRSCTLR25 = 0x88C9;
+ public static final int ARM64_SYSREG_TRCRSCTLR26 = 0x88D1;
+ public static final int ARM64_SYSREG_TRCRSCTLR27 = 0x88D9;
+ public static final int ARM64_SYSREG_TRCRSCTLR28 = 0x88E1;
+ public static final int ARM64_SYSREG_TRCRSCTLR29 = 0x88E9;
+ public static final int ARM64_SYSREG_TRCRSCTLR30 = 0x88F1;
+ public static final int ARM64_SYSREG_TRCRSCTLR31 = 0x88F9;
+ public static final int ARM64_SYSREG_TRCSSCCR0 = 0x8882;
+ public static final int ARM64_SYSREG_TRCSSCCR1 = 0x888A;
+ public static final int ARM64_SYSREG_TRCSSCCR2 = 0x8892;
+ public static final int ARM64_SYSREG_TRCSSCCR3 = 0x889A;
+ public static final int ARM64_SYSREG_TRCSSCCR4 = 0x88A2;
+ public static final int ARM64_SYSREG_TRCSSCCR5 = 0x88AA;
+ public static final int ARM64_SYSREG_TRCSSCCR6 = 0x88B2;
+ public static final int ARM64_SYSREG_TRCSSCCR7 = 0x88BA;
+ public static final int ARM64_SYSREG_TRCSSCSR0 = 0x88C2;
+ public static final int ARM64_SYSREG_TRCSSCSR1 = 0x88CA;
+ public static final int ARM64_SYSREG_TRCSSCSR2 = 0x88D2;
+ public static final int ARM64_SYSREG_TRCSSCSR3 = 0x88DA;
+ public static final int ARM64_SYSREG_TRCSSCSR4 = 0x88E2;
+ public static final int ARM64_SYSREG_TRCSSCSR5 = 0x88EA;
+ public static final int ARM64_SYSREG_TRCSSCSR6 = 0x88F2;
+ public static final int ARM64_SYSREG_TRCSSCSR7 = 0x88FA;
+ public static final int ARM64_SYSREG_TRCSSPCICR0 = 0x8883;
+ public static final int ARM64_SYSREG_TRCSSPCICR1 = 0x888B;
+ public static final int ARM64_SYSREG_TRCSSPCICR2 = 0x8893;
+ public static final int ARM64_SYSREG_TRCSSPCICR3 = 0x889B;
+ public static final int ARM64_SYSREG_TRCSSPCICR4 = 0x88A3;
+ public static final int ARM64_SYSREG_TRCSSPCICR5 = 0x88AB;
+ public static final int ARM64_SYSREG_TRCSSPCICR6 = 0x88B3;
+ public static final int ARM64_SYSREG_TRCSSPCICR7 = 0x88BB;
+ public static final int ARM64_SYSREG_TRCPDCR = 0x88A4;
+ public static final int ARM64_SYSREG_TRCACVR0 = 0x8900;
+ public static final int ARM64_SYSREG_TRCACVR1 = 0x8910;
+ public static final int ARM64_SYSREG_TRCACVR2 = 0x8920;
+ public static final int ARM64_SYSREG_TRCACVR3 = 0x8930;
+ public static final int ARM64_SYSREG_TRCACVR4 = 0x8940;
+ public static final int ARM64_SYSREG_TRCACVR5 = 0x8950;
+ public static final int ARM64_SYSREG_TRCACVR6 = 0x8960;
+ public static final int ARM64_SYSREG_TRCACVR7 = 0x8970;
+ public static final int ARM64_SYSREG_TRCACVR8 = 0x8901;
+ public static final int ARM64_SYSREG_TRCACVR9 = 0x8911;
+ public static final int ARM64_SYSREG_TRCACVR10 = 0x8921;
+ public static final int ARM64_SYSREG_TRCACVR11 = 0x8931;
+ public static final int ARM64_SYSREG_TRCACVR12 = 0x8941;
+ public static final int ARM64_SYSREG_TRCACVR13 = 0x8951;
+ public static final int ARM64_SYSREG_TRCACVR14 = 0x8961;
+ public static final int ARM64_SYSREG_TRCACVR15 = 0x8971;
+ public static final int ARM64_SYSREG_TRCACATR0 = 0x8902;
+ public static final int ARM64_SYSREG_TRCACATR1 = 0x8912;
+ public static final int ARM64_SYSREG_TRCACATR2 = 0x8922;
+ public static final int ARM64_SYSREG_TRCACATR3 = 0x8932;
+ public static final int ARM64_SYSREG_TRCACATR4 = 0x8942;
+ public static final int ARM64_SYSREG_TRCACATR5 = 0x8952;
+ public static final int ARM64_SYSREG_TRCACATR6 = 0x8962;
+ public static final int ARM64_SYSREG_TRCACATR7 = 0x8972;
+ public static final int ARM64_SYSREG_TRCACATR8 = 0x8903;
+ public static final int ARM64_SYSREG_TRCACATR9 = 0x8913;
+ public static final int ARM64_SYSREG_TRCACATR10 = 0x8923;
+ public static final int ARM64_SYSREG_TRCACATR11 = 0x8933;
+ public static final int ARM64_SYSREG_TRCACATR12 = 0x8943;
+ public static final int ARM64_SYSREG_TRCACATR13 = 0x8953;
+ public static final int ARM64_SYSREG_TRCACATR14 = 0x8963;
+ public static final int ARM64_SYSREG_TRCACATR15 = 0x8973;
+ public static final int ARM64_SYSREG_TRCDVCVR0 = 0x8904;
+ public static final int ARM64_SYSREG_TRCDVCVR1 = 0x8924;
+ public static final int ARM64_SYSREG_TRCDVCVR2 = 0x8944;
+ public static final int ARM64_SYSREG_TRCDVCVR3 = 0x8964;
+ public static final int ARM64_SYSREG_TRCDVCVR4 = 0x8905;
+ public static final int ARM64_SYSREG_TRCDVCVR5 = 0x8925;
+ public static final int ARM64_SYSREG_TRCDVCVR6 = 0x8945;
+ public static final int ARM64_SYSREG_TRCDVCVR7 = 0x8965;
+ public static final int ARM64_SYSREG_TRCDVCMR0 = 0x8906;
+ public static final int ARM64_SYSREG_TRCDVCMR1 = 0x8926;
+ public static final int ARM64_SYSREG_TRCDVCMR2 = 0x8946;
+ public static final int ARM64_SYSREG_TRCDVCMR3 = 0x8966;
+ public static final int ARM64_SYSREG_TRCDVCMR4 = 0x8907;
+ public static final int ARM64_SYSREG_TRCDVCMR5 = 0x8927;
+ public static final int ARM64_SYSREG_TRCDVCMR6 = 0x8947;
+ public static final int ARM64_SYSREG_TRCDVCMR7 = 0x8967;
+ public static final int ARM64_SYSREG_TRCCIDCVR0 = 0x8980;
+ public static final int ARM64_SYSREG_TRCCIDCVR1 = 0x8990;
+ public static final int ARM64_SYSREG_TRCCIDCVR2 = 0x89A0;
+ public static final int ARM64_SYSREG_TRCCIDCVR3 = 0x89B0;
+ public static final int ARM64_SYSREG_TRCCIDCVR4 = 0x89C0;
+ public static final int ARM64_SYSREG_TRCCIDCVR5 = 0x89D0;
+ public static final int ARM64_SYSREG_TRCCIDCVR6 = 0x89E0;
+ public static final int ARM64_SYSREG_TRCCIDCVR7 = 0x89F0;
+ public static final int ARM64_SYSREG_TRCVMIDCVR0 = 0x8981;
+ public static final int ARM64_SYSREG_TRCVMIDCVR1 = 0x8991;
+ public static final int ARM64_SYSREG_TRCVMIDCVR2 = 0x89A1;
+ public static final int ARM64_SYSREG_TRCVMIDCVR3 = 0x89B1;
+ public static final int ARM64_SYSREG_TRCVMIDCVR4 = 0x89C1;
+ public static final int ARM64_SYSREG_TRCVMIDCVR5 = 0x89D1;
+ public static final int ARM64_SYSREG_TRCVMIDCVR6 = 0x89E1;
+ public static final int ARM64_SYSREG_TRCVMIDCVR7 = 0x89F1;
+ public static final int ARM64_SYSREG_TRCCIDCCTLR0 = 0x8982;
+ public static final int ARM64_SYSREG_TRCCIDCCTLR1 = 0x898A;
+ public static final int ARM64_SYSREG_TRCVMIDCCTLR0 = 0x8992;
+ public static final int ARM64_SYSREG_TRCVMIDCCTLR1 = 0x899A;
+ public static final int ARM64_SYSREG_TRCITCTRL = 0x8B84;
+ public static final int ARM64_SYSREG_TRCCLAIMSET = 0x8BC6;
+ public static final int ARM64_SYSREG_TRCCLAIMCLR = 0x8BCE;
+ public static final int ARM64_SYSREG_ICC_BPR1_EL1 = 0xC663;
+ public static final int ARM64_SYSREG_ICC_BPR0_EL1 = 0xC643;
+ public static final int ARM64_SYSREG_ICC_PMR_EL1 = 0xC230;
+ public static final int ARM64_SYSREG_ICC_CTLR_EL1 = 0xC664;
+ public static final int ARM64_SYSREG_ICC_CTLR_EL3 = 0xF664;
+ public static final int ARM64_SYSREG_ICC_SRE_EL1 = 0xC665;
+ public static final int ARM64_SYSREG_ICC_SRE_EL2 = 0xE64D;
+ public static final int ARM64_SYSREG_ICC_SRE_EL3 = 0xF665;
+ public static final int ARM64_SYSREG_ICC_IGRPEN0_EL1 = 0xC666;
+ public static final int ARM64_SYSREG_ICC_IGRPEN1_EL1 = 0xC667;
+ public static final int ARM64_SYSREG_ICC_IGRPEN1_EL3 = 0xF667;
+ public static final int ARM64_SYSREG_ICC_SEIEN_EL1 = 0xC668;
+ public static final int ARM64_SYSREG_ICC_AP0R0_EL1 = 0xC644;
+ public static final int ARM64_SYSREG_ICC_AP0R1_EL1 = 0xC645;
+ public static final int ARM64_SYSREG_ICC_AP0R2_EL1 = 0xC646;
+ public static final int ARM64_SYSREG_ICC_AP0R3_EL1 = 0xC647;
+ public static final int ARM64_SYSREG_ICC_AP1R0_EL1 = 0xC648;
+ public static final int ARM64_SYSREG_ICC_AP1R1_EL1 = 0xC649;
+ public static final int ARM64_SYSREG_ICC_AP1R2_EL1 = 0xC64A;
+ public static final int ARM64_SYSREG_ICC_AP1R3_EL1 = 0xC64B;
+ public static final int ARM64_SYSREG_ICH_AP0R0_EL2 = 0xE640;
+ public static final int ARM64_SYSREG_ICH_AP0R1_EL2 = 0xE641;
+ public static final int ARM64_SYSREG_ICH_AP0R2_EL2 = 0xE642;
+ public static final int ARM64_SYSREG_ICH_AP0R3_EL2 = 0xE643;
+ public static final int ARM64_SYSREG_ICH_AP1R0_EL2 = 0xE648;
+ public static final int ARM64_SYSREG_ICH_AP1R1_EL2 = 0xE649;
+ public static final int ARM64_SYSREG_ICH_AP1R2_EL2 = 0xE64A;
+ public static final int ARM64_SYSREG_ICH_AP1R3_EL2 = 0xE64B;
+ public static final int ARM64_SYSREG_ICH_HCR_EL2 = 0xE658;
+ public static final int ARM64_SYSREG_ICH_MISR_EL2 = 0xE65A;
+ public static final int ARM64_SYSREG_ICH_VMCR_EL2 = 0xE65F;
+ public static final int ARM64_SYSREG_ICH_VSEIR_EL2 = 0xE64C;
+ public static final int ARM64_SYSREG_ICH_LR0_EL2 = 0xE660;
+ public static final int ARM64_SYSREG_ICH_LR1_EL2 = 0xE661;
+ public static final int ARM64_SYSREG_ICH_LR2_EL2 = 0xE662;
+ public static final int ARM64_SYSREG_ICH_LR3_EL2 = 0xE663;
+ public static final int ARM64_SYSREG_ICH_LR4_EL2 = 0xE664;
+ public static final int ARM64_SYSREG_ICH_LR5_EL2 = 0xE665;
+ public static final int ARM64_SYSREG_ICH_LR6_EL2 = 0xE666;
+ public static final int ARM64_SYSREG_ICH_LR7_EL2 = 0xE667;
+ public static final int ARM64_SYSREG_ICH_LR8_EL2 = 0xE668;
+ public static final int ARM64_SYSREG_ICH_LR9_EL2 = 0xE669;
+ public static final int ARM64_SYSREG_ICH_LR10_EL2 = 0xE66A;
+ public static final int ARM64_SYSREG_ICH_LR11_EL2 = 0xE66B;
+ public static final int ARM64_SYSREG_ICH_LR12_EL2 = 0xE66C;
+ public static final int ARM64_SYSREG_ICH_LR13_EL2 = 0xE66D;
+ public static final int ARM64_SYSREG_ICH_LR14_EL2 = 0xE66E;
+ public static final int ARM64_SYSREG_ICH_LR15_EL2 = 0xE66F;
+ public static final int ARM64_SYSREG_PAN = 0xC213;
+ public static final int ARM64_SYSREG_LORSA_EL1 = 0xC520;
+ public static final int ARM64_SYSREG_LOREA_EL1 = 0xC521;
+ public static final int ARM64_SYSREG_LORN_EL1 = 0xC522;
+ public static final int ARM64_SYSREG_LORC_EL1 = 0xC523;
+ public static final int ARM64_SYSREG_TTBR1_EL2 = 0xE101;
+ public static final int ARM64_SYSREG_CONTEXTIDR_EL2 = 0xE681;
+ public static final int ARM64_SYSREG_CNTHV_TVAL_EL2 = 0xE718;
+ public static final int ARM64_SYSREG_CNTHV_CVAL_EL2 = 0xE71A;
+ public static final int ARM64_SYSREG_CNTHV_CTL_EL2 = 0xE719;
+ public static final int ARM64_SYSREG_SCTLR_EL12 = 0xE880;
+ public static final int ARM64_SYSREG_CPACR_EL12 = 0xE882;
+ public static final int ARM64_SYSREG_TTBR0_EL12 = 0xE900;
+ public static final int ARM64_SYSREG_TTBR1_EL12 = 0xE901;
+ public static final int ARM64_SYSREG_TCR_EL12 = 0xE902;
+ public static final int ARM64_SYSREG_AFSR0_EL12 = 0xEA88;
+ public static final int ARM64_SYSREG_AFSR1_EL12 = 0xEA89;
+ public static final int ARM64_SYSREG_ESR_EL12 = 0xEA90;
+ public static final int ARM64_SYSREG_FAR_EL12 = 0xEB00;
+ public static final int ARM64_SYSREG_MAIR_EL12 = 0xED10;
+ public static final int ARM64_SYSREG_AMAIR_EL12 = 0xED18;
+ public static final int ARM64_SYSREG_VBAR_EL12 = 0xEE00;
+ public static final int ARM64_SYSREG_CONTEXTIDR_EL12 = 0xEE81;
+ public static final int ARM64_SYSREG_CNTKCTL_EL12 = 0xEF08;
+ public static final int ARM64_SYSREG_CNTP_TVAL_EL02 = 0xEF10;
+ public static final int ARM64_SYSREG_CNTP_CTL_EL02 = 0xEF11;
+ public static final int ARM64_SYSREG_CNTP_CVAL_EL02 = 0xEF12;
+ public static final int ARM64_SYSREG_CNTV_TVAL_EL02 = 0xEF18;
+ public static final int ARM64_SYSREG_CNTV_CTL_EL02 = 0xEF19;
+ public static final int ARM64_SYSREG_CNTV_CVAL_EL02 = 0xEF1A;
+ public static final int ARM64_SYSREG_SPSR_EL12 = 0xEA00;
+ public static final int ARM64_SYSREG_ELR_EL12 = 0xEA01;
+ public static final int ARM64_SYSREG_UAO = 0xC214;
+ public static final int ARM64_SYSREG_PMBLIMITR_EL1 = 0xC4D0;
+ public static final int ARM64_SYSREG_PMBPTR_EL1 = 0xC4D1;
+ public static final int ARM64_SYSREG_PMBSR_EL1 = 0xC4D3;
+ public static final int ARM64_SYSREG_PMBIDR_EL1 = 0xC4D7;
+ public static final int ARM64_SYSREG_PMSCR_EL2 = 0xE4C8;
+ public static final int ARM64_SYSREG_PMSCR_EL12 = 0xECC8;
+ public static final int ARM64_SYSREG_PMSCR_EL1 = 0xC4C8;
+ public static final int ARM64_SYSREG_PMSICR_EL1 = 0xC4CA;
+ public static final int ARM64_SYSREG_PMSIRR_EL1 = 0xC4CB;
+ public static final int ARM64_SYSREG_PMSFCR_EL1 = 0xC4CC;
+ public static final int ARM64_SYSREG_PMSEVFR_EL1 = 0xC4CD;
+ public static final int ARM64_SYSREG_PMSLATFR_EL1 = 0xC4CE;
+ public static final int ARM64_SYSREG_PMSIDR_EL1 = 0xC4CF;
+ public static final int ARM64_SYSREG_ERRSELR_EL1 = 0xC299;
+ public static final int ARM64_SYSREG_ERXCTLR_EL1 = 0xC2A1;
+ public static final int ARM64_SYSREG_ERXSTATUS_EL1 = 0xC2A2;
+ public static final int ARM64_SYSREG_ERXADDR_EL1 = 0xC2A3;
+ public static final int ARM64_SYSREG_ERXMISC0_EL1 = 0xC2A8;
+ public static final int ARM64_SYSREG_ERXMISC1_EL1 = 0xC2A9;
+ public static final int ARM64_SYSREG_DISR_EL1 = 0xC609;
+ public static final int ARM64_SYSREG_VDISR_EL2 = 0xE609;
+ public static final int ARM64_SYSREG_VSESR_EL2 = 0xE293;
+ public static final int ARM64_SYSREG_APIAKEYLO_EL1 = 0xC108;
+ public static final int ARM64_SYSREG_APIAKEYHI_EL1 = 0xC109;
+ public static final int ARM64_SYSREG_APIBKEYLO_EL1 = 0xC10A;
+ public static final int ARM64_SYSREG_APIBKEYHI_EL1 = 0xC10B;
+ public static final int ARM64_SYSREG_APDAKEYLO_EL1 = 0xC110;
+ public static final int ARM64_SYSREG_APDAKEYHI_EL1 = 0xC111;
+ public static final int ARM64_SYSREG_APDBKEYLO_EL1 = 0xC112;
+ public static final int ARM64_SYSREG_APDBKEYHI_EL1 = 0xC113;
+ public static final int ARM64_SYSREG_APGAKEYLO_EL1 = 0xC118;
+ public static final int ARM64_SYSREG_APGAKEYHI_EL1 = 0xC119;
+ public static final int ARM64_SYSREG_VSTCR_EL2 = 0xE132;
+ public static final int ARM64_SYSREG_VSTTBR_EL2 = 0xE130;
+ public static final int ARM64_SYSREG_CNTHVS_TVAL_EL2 = 0xE720;
+ public static final int ARM64_SYSREG_CNTHVS_CVAL_EL2 = 0xE722;
+ public static final int ARM64_SYSREG_CNTHVS_CTL_EL2 = 0xE721;
+ public static final int ARM64_SYSREG_CNTHPS_TVAL_EL2 = 0xE728;
+ public static final int ARM64_SYSREG_CNTHPS_CVAL_EL2 = 0xE72A;
+ public static final int ARM64_SYSREG_CNTHPS_CTL_EL2 = 0xE729;
+ public static final int ARM64_SYSREG_SDER32_EL2 = 0xE099;
+ public static final int ARM64_SYSREG_ERXPFGCTL_EL1 = 0xC2A5;
+ public static final int ARM64_SYSREG_ERXPFGCDN_EL1 = 0xC2A6;
+ public static final int ARM64_SYSREG_ERXTS_EL1 = 0xC2AF;
+ public static final int ARM64_SYSREG_ERXMISC2_EL1 = 0xC2AA;
+ public static final int ARM64_SYSREG_ERXMISC3_EL1 = 0xC2AB;
+ public static final int ARM64_SYSREG_ERXPFGF_EL1 = 0xC2A4;
+ public static final int ARM64_SYSREG_MPAM0_EL1 = 0xC529;
+ public static final int ARM64_SYSREG_MPAM1_EL1 = 0xC528;
+ public static final int ARM64_SYSREG_MPAM2_EL2 = 0xE528;
+ public static final int ARM64_SYSREG_MPAM3_EL3 = 0xF528;
+ public static final int ARM64_SYSREG_MPAM1_EL12 = 0xED28;
+ public static final int ARM64_SYSREG_MPAMHCR_EL2 = 0xE520;
+ public static final int ARM64_SYSREG_MPAMVPMV_EL2 = 0xE521;
+ public static final int ARM64_SYSREG_MPAMVPM0_EL2 = 0xE530;
+ public static final int ARM64_SYSREG_MPAMVPM1_EL2 = 0xE531;
+ public static final int ARM64_SYSREG_MPAMVPM2_EL2 = 0xE532;
+ public static final int ARM64_SYSREG_MPAMVPM3_EL2 = 0xE533;
+ public static final int ARM64_SYSREG_MPAMVPM4_EL2 = 0xE534;
+ public static final int ARM64_SYSREG_MPAMVPM5_EL2 = 0xE535;
+ public static final int ARM64_SYSREG_MPAMVPM6_EL2 = 0xE536;
+ public static final int ARM64_SYSREG_MPAMVPM7_EL2 = 0xE537;
+ public static final int ARM64_SYSREG_MPAMIDR_EL1 = 0xC524;
+ public static final int ARM64_SYSREG_AMCR_EL0 = 0xDE90;
+ public static final int ARM64_SYSREG_AMCFGR_EL0 = 0xDE91;
+ public static final int ARM64_SYSREG_AMCGCR_EL0 = 0xDE92;
+ public static final int ARM64_SYSREG_AMUSERENR_EL0 = 0xDE93;
+ public static final int ARM64_SYSREG_AMCNTENCLR0_EL0 = 0xDE94;
+ public static final int ARM64_SYSREG_AMCNTENSET0_EL0 = 0xDE95;
+ public static final int ARM64_SYSREG_AMEVCNTR00_EL0 = 0xDEA0;
+ public static final int ARM64_SYSREG_AMEVCNTR01_EL0 = 0xDEA1;
+ public static final int ARM64_SYSREG_AMEVCNTR02_EL0 = 0xDEA2;
+ public static final int ARM64_SYSREG_AMEVCNTR03_EL0 = 0xDEA3;
+ public static final int ARM64_SYSREG_AMEVTYPER00_EL0 = 0xDEB0;
+ public static final int ARM64_SYSREG_AMEVTYPER01_EL0 = 0xDEB1;
+ public static final int ARM64_SYSREG_AMEVTYPER02_EL0 = 0xDEB2;
+ public static final int ARM64_SYSREG_AMEVTYPER03_EL0 = 0xDEB3;
+ public static final int ARM64_SYSREG_AMCNTENCLR1_EL0 = 0xDE98;
+ public static final int ARM64_SYSREG_AMCNTENSET1_EL0 = 0xDE99;
+ public static final int ARM64_SYSREG_AMEVCNTR10_EL0 = 0xDEE0;
+ public static final int ARM64_SYSREG_AMEVCNTR11_EL0 = 0xDEE1;
+ public static final int ARM64_SYSREG_AMEVCNTR12_EL0 = 0xDEE2;
+ public static final int ARM64_SYSREG_AMEVCNTR13_EL0 = 0xDEE3;
+ public static final int ARM64_SYSREG_AMEVCNTR14_EL0 = 0xDEE4;
+ public static final int ARM64_SYSREG_AMEVCNTR15_EL0 = 0xDEE5;
+ public static final int ARM64_SYSREG_AMEVCNTR16_EL0 = 0xDEE6;
+ public static final int ARM64_SYSREG_AMEVCNTR17_EL0 = 0xDEE7;
+ public static final int ARM64_SYSREG_AMEVCNTR18_EL0 = 0xDEE8;
+ public static final int ARM64_SYSREG_AMEVCNTR19_EL0 = 0xDEE9;
+ public static final int ARM64_SYSREG_AMEVCNTR110_EL0 = 0xDEEA;
+ public static final int ARM64_SYSREG_AMEVCNTR111_EL0 = 0xDEEB;
+ public static final int ARM64_SYSREG_AMEVCNTR112_EL0 = 0xDEEC;
+ public static final int ARM64_SYSREG_AMEVCNTR113_EL0 = 0xDEED;
+ public static final int ARM64_SYSREG_AMEVCNTR114_EL0 = 0xDEEE;
+ public static final int ARM64_SYSREG_AMEVCNTR115_EL0 = 0xDEEF;
+ public static final int ARM64_SYSREG_AMEVTYPER10_EL0 = 0xDEF0;
+ public static final int ARM64_SYSREG_AMEVTYPER11_EL0 = 0xDEF1;
+ public static final int ARM64_SYSREG_AMEVTYPER12_EL0 = 0xDEF2;
+ public static final int ARM64_SYSREG_AMEVTYPER13_EL0 = 0xDEF3;
+ public static final int ARM64_SYSREG_AMEVTYPER14_EL0 = 0xDEF4;
+ public static final int ARM64_SYSREG_AMEVTYPER15_EL0 = 0xDEF5;
+ public static final int ARM64_SYSREG_AMEVTYPER16_EL0 = 0xDEF6;
+ public static final int ARM64_SYSREG_AMEVTYPER17_EL0 = 0xDEF7;
+ public static final int ARM64_SYSREG_AMEVTYPER18_EL0 = 0xDEF8;
+ public static final int ARM64_SYSREG_AMEVTYPER19_EL0 = 0xDEF9;
+ public static final int ARM64_SYSREG_AMEVTYPER110_EL0 = 0xDEFA;
+ public static final int ARM64_SYSREG_AMEVTYPER111_EL0 = 0xDEFB;
+ public static final int ARM64_SYSREG_AMEVTYPER112_EL0 = 0xDEFC;
+ public static final int ARM64_SYSREG_AMEVTYPER113_EL0 = 0xDEFD;
+ public static final int ARM64_SYSREG_AMEVTYPER114_EL0 = 0xDEFE;
+ public static final int ARM64_SYSREG_AMEVTYPER115_EL0 = 0xDEFF;
+ public static final int ARM64_SYSREG_TRFCR_EL1 = 0xC091;
+ public static final int ARM64_SYSREG_TRFCR_EL2 = 0xE091;
+ public static final int ARM64_SYSREG_TRFCR_EL12 = 0xE891;
+ public static final int ARM64_SYSREG_DIT = 0xDA15;
+ public static final int ARM64_SYSREG_VNCR_EL2 = 0xE110;
+ public static final int ARM64_SYSREG_ZCR_EL1 = 0xC090;
+ public static final int ARM64_SYSREG_ZCR_EL2 = 0xE090;
+ public static final int ARM64_SYSREG_ZCR_EL3 = 0xF090;
+ public static final int ARM64_SYSREG_ZCR_EL12 = 0xE890;
+ public static final int ARM64_SYSREG_CPM_IOACC_CTL_EL3 = 0xFF90;
+
+ public static final int ARM64_PSTATE_INVALID = 0;
+ public static final int ARM64_PSTATE_SPSEL = 0x05;
+ public static final int ARM64_PSTATE_DAIFSET = 0x1e;
+ public static final int ARM64_PSTATE_DAIFCLR = 0x1f;
+ public static final int ARM64_PSTATE_PAN = 0x4;
+ public static final int ARM64_PSTATE_UAO = 0x3;
+ public static final int ARM64_PSTATE_DIT = 0x1a;
+
+ public static final int ARM64_VAS_INVALID = 0;
+ public static final int ARM64_VAS_16B = 1;
+ public static final int ARM64_VAS_8B = 2;
+ public static final int ARM64_VAS_4B = 3;
+ public static final int ARM64_VAS_1B = 4;
+ public static final int ARM64_VAS_8H = 5;
+ public static final int ARM64_VAS_4H = 6;
+ public static final int ARM64_VAS_2H = 7;
+ public static final int ARM64_VAS_1H = 8;
+ public static final int ARM64_VAS_4S = 9;
+ public static final int ARM64_VAS_2S = 10;
+ public static final int ARM64_VAS_1S = 11;
+ public static final int ARM64_VAS_2D = 12;
+ public static final int ARM64_VAS_1D = 13;
+ public static final int ARM64_VAS_1Q = 14;
+
+ public static final int ARM64_BARRIER_INVALID = 0;
+ public static final int ARM64_BARRIER_OSHLD = 0x1;
+ public static final int ARM64_BARRIER_OSHST = 0x2;
+ public static final int ARM64_BARRIER_OSH = 0x3;
+ public static final int ARM64_BARRIER_NSHLD = 0x5;
+ public static final int ARM64_BARRIER_NSHST = 0x6;
+ public static final int ARM64_BARRIER_NSH = 0x7;
+ public static final int ARM64_BARRIER_ISHLD = 0x9;
+ public static final int ARM64_BARRIER_ISHST = 0xa;
+ public static final int ARM64_BARRIER_ISH = 0xb;
+ public static final int ARM64_BARRIER_LD = 0xd;
+ public static final int ARM64_BARRIER_ST = 0xe;
+ public static final int ARM64_BARRIER_SY = 0xf;
+
+ public static final int ARM64_OP_INVALID = 0;
+ public static final int ARM64_OP_REG = 1;
+ public static final int ARM64_OP_IMM = 2;
+ public static final int ARM64_OP_MEM = 3;
+ public static final int ARM64_OP_FP = 4;
+ public static final int ARM64_OP_CIMM = 64;
+ public static final int ARM64_OP_REG_MRS = 65;
+ public static final int ARM64_OP_REG_MSR = 66;
+ public static final int ARM64_OP_PSTATE = 67;
+ public static final int ARM64_OP_SYS = 68;
+ public static final int ARM64_OP_PREFETCH = 69;
+ public static final int ARM64_OP_BARRIER = 70;
+
+ public static final int ARM64_TLBI_INVALID = 0;
+ public static final int ARM64_TLBI_IPAS2E1IS = 1;
+ public static final int ARM64_TLBI_IPAS2LE1IS = 2;
+ public static final int ARM64_TLBI_VMALLE1IS = 3;
+ public static final int ARM64_TLBI_ALLE2IS = 4;
+ public static final int ARM64_TLBI_ALLE3IS = 5;
+ public static final int ARM64_TLBI_VAE1IS = 6;
+ public static final int ARM64_TLBI_VAE2IS = 7;
+ public static final int ARM64_TLBI_VAE3IS = 8;
+ public static final int ARM64_TLBI_ASIDE1IS = 9;
+ public static final int ARM64_TLBI_VAAE1IS = 10;
+ public static final int ARM64_TLBI_ALLE1IS = 11;
+ public static final int ARM64_TLBI_VALE1IS = 12;
+ public static final int ARM64_TLBI_VALE2IS = 13;
+ public static final int ARM64_TLBI_VALE3IS = 14;
+ public static final int ARM64_TLBI_VMALLS12E1IS = 15;
+ public static final int ARM64_TLBI_VAALE1IS = 16;
+ public static final int ARM64_TLBI_IPAS2E1 = 17;
+ public static final int ARM64_TLBI_IPAS2LE1 = 18;
+ public static final int ARM64_TLBI_VMALLE1 = 19;
+ public static final int ARM64_TLBI_ALLE2 = 20;
+ public static final int ARM64_TLBI_ALLE3 = 21;
+ public static final int ARM64_TLBI_VAE1 = 22;
+ public static final int ARM64_TLBI_VAE2 = 23;
+ public static final int ARM64_TLBI_VAE3 = 24;
+ public static final int ARM64_TLBI_ASIDE1 = 25;
+ public static final int ARM64_TLBI_VAAE1 = 26;
+ public static final int ARM64_TLBI_ALLE1 = 27;
+ public static final int ARM64_TLBI_VALE1 = 28;
+ public static final int ARM64_TLBI_VALE2 = 29;
+ public static final int ARM64_TLBI_VALE3 = 30;
+ public static final int ARM64_TLBI_VMALLS12E1 = 31;
+ public static final int ARM64_TLBI_VAALE1 = 32;
+ public static final int ARM64_TLBI_VMALLE1OS = 33;
+ public static final int ARM64_TLBI_VAE1OS = 34;
+ public static final int ARM64_TLBI_ASIDE1OS = 35;
+ public static final int ARM64_TLBI_VAAE1OS = 36;
+ public static final int ARM64_TLBI_VALE1OS = 37;
+ public static final int ARM64_TLBI_VAALE1OS = 38;
+ public static final int ARM64_TLBI_IPAS2E1OS = 39;
+ public static final int ARM64_TLBI_IPAS2LE1OS = 40;
+ public static final int ARM64_TLBI_VAE2OS = 41;
+ public static final int ARM64_TLBI_VALE2OS = 42;
+ public static final int ARM64_TLBI_VMALLS12E1OS = 43;
+ public static final int ARM64_TLBI_VAE3OS = 44;
+ public static final int ARM64_TLBI_VALE3OS = 45;
+ public static final int ARM64_TLBI_ALLE2OS = 46;
+ public static final int ARM64_TLBI_ALLE1OS = 47;
+ public static final int ARM64_TLBI_ALLE3OS = 48;
+ public static final int ARM64_TLBI_RVAE1 = 49;
+ public static final int ARM64_TLBI_RVAAE1 = 50;
+ public static final int ARM64_TLBI_RVALE1 = 51;
+ public static final int ARM64_TLBI_RVAALE1 = 52;
+ public static final int ARM64_TLBI_RVAE1IS = 53;
+ public static final int ARM64_TLBI_RVAAE1IS = 54;
+ public static final int ARM64_TLBI_RVALE1IS = 55;
+ public static final int ARM64_TLBI_RVAALE1IS = 56;
+ public static final int ARM64_TLBI_RVAE1OS = 57;
+ public static final int ARM64_TLBI_RVAAE1OS = 58;
+ public static final int ARM64_TLBI_RVALE1OS = 59;
+ public static final int ARM64_TLBI_RVAALE1OS = 60;
+ public static final int ARM64_TLBI_RIPAS2E1IS = 61;
+ public static final int ARM64_TLBI_RIPAS2LE1IS = 62;
+ public static final int ARM64_TLBI_RIPAS2E1 = 63;
+ public static final int ARM64_TLBI_RIPAS2LE1 = 64;
+ public static final int ARM64_TLBI_RIPAS2E1OS = 65;
+ public static final int ARM64_TLBI_RIPAS2LE1OS = 66;
+ public static final int ARM64_TLBI_RVAE2 = 67;
+ public static final int ARM64_TLBI_RVALE2 = 68;
+ public static final int ARM64_TLBI_RVAE2IS = 69;
+ public static final int ARM64_TLBI_RVALE2IS = 70;
+ public static final int ARM64_TLBI_RVAE2OS = 71;
+ public static final int ARM64_TLBI_RVALE2OS = 72;
+ public static final int ARM64_TLBI_RVAE3 = 73;
+ public static final int ARM64_TLBI_RVALE3 = 74;
+ public static final int ARM64_TLBI_RVAE3IS = 75;
+ public static final int ARM64_TLBI_RVALE3IS = 76;
+ public static final int ARM64_TLBI_RVAE3OS = 77;
+ public static final int ARM64_TLBI_RVALE3OS = 78;
+ public static final int ARM64_AT_S1E1R = 79;
+ public static final int ARM64_AT_S1E2R = 80;
+ public static final int ARM64_AT_S1E3R = 81;
+ public static final int ARM64_AT_S1E1W = 82;
+ public static final int ARM64_AT_S1E2W = 83;
+ public static final int ARM64_AT_S1E3W = 84;
+ public static final int ARM64_AT_S1E0R = 85;
+ public static final int ARM64_AT_S1E0W = 86;
+ public static final int ARM64_AT_S12E1R = 87;
+ public static final int ARM64_AT_S12E1W = 88;
+ public static final int ARM64_AT_S12E0R = 89;
+ public static final int ARM64_AT_S12E0W = 90;
+ public static final int ARM64_AT_S1E1RP = 91;
+ public static final int ARM64_AT_S1E1WP = 92;
+
+ public static final int ARM64_DC_INVALID = 0;
+ public static final int ARM64_DC_ZVA = 1;
+ public static final int ARM64_DC_IVAC = 2;
+ public static final int ARM64_DC_ISW = 3;
+ public static final int ARM64_DC_CVAC = 4;
+ public static final int ARM64_DC_CSW = 5;
+ public static final int ARM64_DC_CVAU = 6;
+ public static final int ARM64_DC_CIVAC = 7;
+ public static final int ARM64_DC_CISW = 8;
+ public static final int ARM64_DC_CVAP = 9;
+
+ public static final int ARM64_IC_INVALID = 0;
+ public static final int ARM64_IC_IALLUIS = 1;
+ public static final int ARM64_IC_IALLU = 2;
+ public static final int ARM64_IC_IVAU = 3;
+
+ public static final int ARM64_PRFM_INVALID = 0;
+ public static final int ARM64_PRFM_PLDL1KEEP = 0x00+1;
+ public static final int ARM64_PRFM_PLDL1STRM = 0x01+1;
+ public static final int ARM64_PRFM_PLDL2KEEP = 0x02+1;
+ public static final int ARM64_PRFM_PLDL2STRM = 0x03+1;
+ public static final int ARM64_PRFM_PLDL3KEEP = 0x04+1;
+ public static final int ARM64_PRFM_PLDL3STRM = 0x05+1;
+ public static final int ARM64_PRFM_PLIL1KEEP = 0x08+1;
+ public static final int ARM64_PRFM_PLIL1STRM = 0x09+1;
+ public static final int ARM64_PRFM_PLIL2KEEP = 0x0a+1;
+ public static final int ARM64_PRFM_PLIL2STRM = 0x0b+1;
+ public static final int ARM64_PRFM_PLIL3KEEP = 0x0c+1;
+ public static final int ARM64_PRFM_PLIL3STRM = 0x0d+1;
+ public static final int ARM64_PRFM_PSTL1KEEP = 0x10+1;
+ public static final int ARM64_PRFM_PSTL1STRM = 0x11+1;
+ public static final int ARM64_PRFM_PSTL2KEEP = 0x12+1;
+ public static final int ARM64_PRFM_PSTL2STRM = 0x13+1;
+ public static final int ARM64_PRFM_PSTL3KEEP = 0x14+1;
+ public static final int ARM64_PRFM_PSTL3STRM = 0x15+1;
+
+ public static final int ARM64_REG_INVALID = 0;
+ public static final int ARM64_REG_FFR = 1;
+ public static final int ARM64_REG_FP = 2;
+ public static final int ARM64_REG_LR = 3;
+ public static final int ARM64_REG_NZCV = 4;
+ public static final int ARM64_REG_SP = 5;
+ public static final int ARM64_REG_WSP = 6;
+ public static final int ARM64_REG_WZR = 7;
+ public static final int ARM64_REG_XZR = 8;
+ public static final int ARM64_REG_B0 = 9;
+ public static final int ARM64_REG_B1 = 10;
+ public static final int ARM64_REG_B2 = 11;
+ public static final int ARM64_REG_B3 = 12;
+ public static final int ARM64_REG_B4 = 13;
+ public static final int ARM64_REG_B5 = 14;
+ public static final int ARM64_REG_B6 = 15;
+ public static final int ARM64_REG_B7 = 16;
+ public static final int ARM64_REG_B8 = 17;
+ public static final int ARM64_REG_B9 = 18;
+ public static final int ARM64_REG_B10 = 19;
+ public static final int ARM64_REG_B11 = 20;
+ public static final int ARM64_REG_B12 = 21;
+ public static final int ARM64_REG_B13 = 22;
+ public static final int ARM64_REG_B14 = 23;
+ public static final int ARM64_REG_B15 = 24;
+ public static final int ARM64_REG_B16 = 25;
+ public static final int ARM64_REG_B17 = 26;
+ public static final int ARM64_REG_B18 = 27;
+ public static final int ARM64_REG_B19 = 28;
+ public static final int ARM64_REG_B20 = 29;
+ public static final int ARM64_REG_B21 = 30;
+ public static final int ARM64_REG_B22 = 31;
+ public static final int ARM64_REG_B23 = 32;
+ public static final int ARM64_REG_B24 = 33;
+ public static final int ARM64_REG_B25 = 34;
+ public static final int ARM64_REG_B26 = 35;
+ public static final int ARM64_REG_B27 = 36;
+ public static final int ARM64_REG_B28 = 37;
+ public static final int ARM64_REG_B29 = 38;
+ public static final int ARM64_REG_B30 = 39;
+ public static final int ARM64_REG_B31 = 40;
+ public static final int ARM64_REG_D0 = 41;
+ public static final int ARM64_REG_D1 = 42;
+ public static final int ARM64_REG_D2 = 43;
+ public static final int ARM64_REG_D3 = 44;
+ public static final int ARM64_REG_D4 = 45;
+ public static final int ARM64_REG_D5 = 46;
+ public static final int ARM64_REG_D6 = 47;
+ public static final int ARM64_REG_D7 = 48;
+ public static final int ARM64_REG_D8 = 49;
+ public static final int ARM64_REG_D9 = 50;
+ public static final int ARM64_REG_D10 = 51;
+ public static final int ARM64_REG_D11 = 52;
+ public static final int ARM64_REG_D12 = 53;
+ public static final int ARM64_REG_D13 = 54;
+ public static final int ARM64_REG_D14 = 55;
+ public static final int ARM64_REG_D15 = 56;
+ public static final int ARM64_REG_D16 = 57;
+ public static final int ARM64_REG_D17 = 58;
+ public static final int ARM64_REG_D18 = 59;
+ public static final int ARM64_REG_D19 = 60;
+ public static final int ARM64_REG_D20 = 61;
+ public static final int ARM64_REG_D21 = 62;
+ public static final int ARM64_REG_D22 = 63;
+ public static final int ARM64_REG_D23 = 64;
+ public static final int ARM64_REG_D24 = 65;
+ public static final int ARM64_REG_D25 = 66;
+ public static final int ARM64_REG_D26 = 67;
+ public static final int ARM64_REG_D27 = 68;
+ public static final int ARM64_REG_D28 = 69;
+ public static final int ARM64_REG_D29 = 70;
+ public static final int ARM64_REG_D30 = 71;
+ public static final int ARM64_REG_D31 = 72;
+ public static final int ARM64_REG_H0 = 73;
+ public static final int ARM64_REG_H1 = 74;
+ public static final int ARM64_REG_H2 = 75;
+ public static final int ARM64_REG_H3 = 76;
+ public static final int ARM64_REG_H4 = 77;
+ public static final int ARM64_REG_H5 = 78;
+ public static final int ARM64_REG_H6 = 79;
+ public static final int ARM64_REG_H7 = 80;
+ public static final int ARM64_REG_H8 = 81;
+ public static final int ARM64_REG_H9 = 82;
+ public static final int ARM64_REG_H10 = 83;
+ public static final int ARM64_REG_H11 = 84;
+ public static final int ARM64_REG_H12 = 85;
+ public static final int ARM64_REG_H13 = 86;
+ public static final int ARM64_REG_H14 = 87;
+ public static final int ARM64_REG_H15 = 88;
+ public static final int ARM64_REG_H16 = 89;
+ public static final int ARM64_REG_H17 = 90;
+ public static final int ARM64_REG_H18 = 91;
+ public static final int ARM64_REG_H19 = 92;
+ public static final int ARM64_REG_H20 = 93;
+ public static final int ARM64_REG_H21 = 94;
+ public static final int ARM64_REG_H22 = 95;
+ public static final int ARM64_REG_H23 = 96;
+ public static final int ARM64_REG_H24 = 97;
+ public static final int ARM64_REG_H25 = 98;
+ public static final int ARM64_REG_H26 = 99;
+ public static final int ARM64_REG_H27 = 100;
+ public static final int ARM64_REG_H28 = 101;
+ public static final int ARM64_REG_H29 = 102;
+ public static final int ARM64_REG_H30 = 103;
+ public static final int ARM64_REG_H31 = 104;
+ public static final int ARM64_REG_P0 = 105;
+ public static final int ARM64_REG_P1 = 106;
+ public static final int ARM64_REG_P2 = 107;
+ public static final int ARM64_REG_P3 = 108;
+ public static final int ARM64_REG_P4 = 109;
+ public static final int ARM64_REG_P5 = 110;
+ public static final int ARM64_REG_P6 = 111;
+ public static final int ARM64_REG_P7 = 112;
+ public static final int ARM64_REG_P8 = 113;
+ public static final int ARM64_REG_P9 = 114;
+ public static final int ARM64_REG_P10 = 115;
+ public static final int ARM64_REG_P11 = 116;
+ public static final int ARM64_REG_P12 = 117;
+ public static final int ARM64_REG_P13 = 118;
+ public static final int ARM64_REG_P14 = 119;
+ public static final int ARM64_REG_P15 = 120;
+ public static final int ARM64_REG_Q0 = 121;
+ public static final int ARM64_REG_Q1 = 122;
+ public static final int ARM64_REG_Q2 = 123;
+ public static final int ARM64_REG_Q3 = 124;
+ public static final int ARM64_REG_Q4 = 125;
+ public static final int ARM64_REG_Q5 = 126;
+ public static final int ARM64_REG_Q6 = 127;
+ public static final int ARM64_REG_Q7 = 128;
+ public static final int ARM64_REG_Q8 = 129;
+ public static final int ARM64_REG_Q9 = 130;
+ public static final int ARM64_REG_Q10 = 131;
+ public static final int ARM64_REG_Q11 = 132;
+ public static final int ARM64_REG_Q12 = 133;
+ public static final int ARM64_REG_Q13 = 134;
+ public static final int ARM64_REG_Q14 = 135;
+ public static final int ARM64_REG_Q15 = 136;
+ public static final int ARM64_REG_Q16 = 137;
+ public static final int ARM64_REG_Q17 = 138;
+ public static final int ARM64_REG_Q18 = 139;
+ public static final int ARM64_REG_Q19 = 140;
+ public static final int ARM64_REG_Q20 = 141;
+ public static final int ARM64_REG_Q21 = 142;
+ public static final int ARM64_REG_Q22 = 143;
+ public static final int ARM64_REG_Q23 = 144;
+ public static final int ARM64_REG_Q24 = 145;
+ public static final int ARM64_REG_Q25 = 146;
+ public static final int ARM64_REG_Q26 = 147;
+ public static final int ARM64_REG_Q27 = 148;
+ public static final int ARM64_REG_Q28 = 149;
+ public static final int ARM64_REG_Q29 = 150;
+ public static final int ARM64_REG_Q30 = 151;
+ public static final int ARM64_REG_Q31 = 152;
+ public static final int ARM64_REG_S0 = 153;
+ public static final int ARM64_REG_S1 = 154;
+ public static final int ARM64_REG_S2 = 155;
+ public static final int ARM64_REG_S3 = 156;
+ public static final int ARM64_REG_S4 = 157;
+ public static final int ARM64_REG_S5 = 158;
+ public static final int ARM64_REG_S6 = 159;
+ public static final int ARM64_REG_S7 = 160;
+ public static final int ARM64_REG_S8 = 161;
+ public static final int ARM64_REG_S9 = 162;
+ public static final int ARM64_REG_S10 = 163;
+ public static final int ARM64_REG_S11 = 164;
+ public static final int ARM64_REG_S12 = 165;
+ public static final int ARM64_REG_S13 = 166;
+ public static final int ARM64_REG_S14 = 167;
+ public static final int ARM64_REG_S15 = 168;
+ public static final int ARM64_REG_S16 = 169;
+ public static final int ARM64_REG_S17 = 170;
+ public static final int ARM64_REG_S18 = 171;
+ public static final int ARM64_REG_S19 = 172;
+ public static final int ARM64_REG_S20 = 173;
+ public static final int ARM64_REG_S21 = 174;
+ public static final int ARM64_REG_S22 = 175;
+ public static final int ARM64_REG_S23 = 176;
+ public static final int ARM64_REG_S24 = 177;
+ public static final int ARM64_REG_S25 = 178;
+ public static final int ARM64_REG_S26 = 179;
+ public static final int ARM64_REG_S27 = 180;
+ public static final int ARM64_REG_S28 = 181;
+ public static final int ARM64_REG_S29 = 182;
+ public static final int ARM64_REG_S30 = 183;
+ public static final int ARM64_REG_S31 = 184;
+ public static final int ARM64_REG_W0 = 185;
+ public static final int ARM64_REG_W1 = 186;
+ public static final int ARM64_REG_W2 = 187;
+ public static final int ARM64_REG_W3 = 188;
+ public static final int ARM64_REG_W4 = 189;
+ public static final int ARM64_REG_W5 = 190;
+ public static final int ARM64_REG_W6 = 191;
+ public static final int ARM64_REG_W7 = 192;
+ public static final int ARM64_REG_W8 = 193;
+ public static final int ARM64_REG_W9 = 194;
+ public static final int ARM64_REG_W10 = 195;
+ public static final int ARM64_REG_W11 = 196;
+ public static final int ARM64_REG_W12 = 197;
+ public static final int ARM64_REG_W13 = 198;
+ public static final int ARM64_REG_W14 = 199;
+ public static final int ARM64_REG_W15 = 200;
+ public static final int ARM64_REG_W16 = 201;
+ public static final int ARM64_REG_W17 = 202;
+ public static final int ARM64_REG_W18 = 203;
+ public static final int ARM64_REG_W19 = 204;
+ public static final int ARM64_REG_W20 = 205;
+ public static final int ARM64_REG_W21 = 206;
+ public static final int ARM64_REG_W22 = 207;
+ public static final int ARM64_REG_W23 = 208;
+ public static final int ARM64_REG_W24 = 209;
+ public static final int ARM64_REG_W25 = 210;
+ public static final int ARM64_REG_W26 = 211;
+ public static final int ARM64_REG_W27 = 212;
+ public static final int ARM64_REG_W28 = 213;
+ public static final int ARM64_REG_W29 = 214;
+ public static final int ARM64_REG_W30 = 215;
+ public static final int ARM64_REG_X0 = 216;
+ public static final int ARM64_REG_X1 = 217;
+ public static final int ARM64_REG_X2 = 218;
+ public static final int ARM64_REG_X3 = 219;
+ public static final int ARM64_REG_X4 = 220;
+ public static final int ARM64_REG_X5 = 221;
+ public static final int ARM64_REG_X6 = 222;
+ public static final int ARM64_REG_X7 = 223;
+ public static final int ARM64_REG_X8 = 224;
+ public static final int ARM64_REG_X9 = 225;
+ public static final int ARM64_REG_X10 = 226;
+ public static final int ARM64_REG_X11 = 227;
+ public static final int ARM64_REG_X12 = 228;
+ public static final int ARM64_REG_X13 = 229;
+ public static final int ARM64_REG_X14 = 230;
+ public static final int ARM64_REG_X15 = 231;
+ public static final int ARM64_REG_X16 = 232;
+ public static final int ARM64_REG_X17 = 233;
+ public static final int ARM64_REG_X18 = 234;
+ public static final int ARM64_REG_X19 = 235;
+ public static final int ARM64_REG_X20 = 236;
+ public static final int ARM64_REG_X21 = 237;
+ public static final int ARM64_REG_X22 = 238;
+ public static final int ARM64_REG_X23 = 239;
+ public static final int ARM64_REG_X24 = 240;
+ public static final int ARM64_REG_X25 = 241;
+ public static final int ARM64_REG_X26 = 242;
+ public static final int ARM64_REG_X27 = 243;
+ public static final int ARM64_REG_X28 = 244;
+ public static final int ARM64_REG_Z0 = 245;
+ public static final int ARM64_REG_Z1 = 246;
+ public static final int ARM64_REG_Z2 = 247;
+ public static final int ARM64_REG_Z3 = 248;
+ public static final int ARM64_REG_Z4 = 249;
+ public static final int ARM64_REG_Z5 = 250;
+ public static final int ARM64_REG_Z6 = 251;
+ public static final int ARM64_REG_Z7 = 252;
+ public static final int ARM64_REG_Z8 = 253;
+ public static final int ARM64_REG_Z9 = 254;
+ public static final int ARM64_REG_Z10 = 255;
+ public static final int ARM64_REG_Z11 = 256;
+ public static final int ARM64_REG_Z12 = 257;
+ public static final int ARM64_REG_Z13 = 258;
+ public static final int ARM64_REG_Z14 = 259;
+ public static final int ARM64_REG_Z15 = 260;
+ public static final int ARM64_REG_Z16 = 261;
+ public static final int ARM64_REG_Z17 = 262;
+ public static final int ARM64_REG_Z18 = 263;
+ public static final int ARM64_REG_Z19 = 264;
+ public static final int ARM64_REG_Z20 = 265;
+ public static final int ARM64_REG_Z21 = 266;
+ public static final int ARM64_REG_Z22 = 267;
+ public static final int ARM64_REG_Z23 = 268;
+ public static final int ARM64_REG_Z24 = 269;
+ public static final int ARM64_REG_Z25 = 270;
+ public static final int ARM64_REG_Z26 = 271;
+ public static final int ARM64_REG_Z27 = 272;
+ public static final int ARM64_REG_Z28 = 273;
+ public static final int ARM64_REG_Z29 = 274;
+ public static final int ARM64_REG_Z30 = 275;
+ public static final int ARM64_REG_Z31 = 276;
+ public static final int ARM64_REG_V0 = 277;
+ public static final int ARM64_REG_V1 = 278;
+ public static final int ARM64_REG_V2 = 279;
+ public static final int ARM64_REG_V3 = 280;
+ public static final int ARM64_REG_V4 = 281;
+ public static final int ARM64_REG_V5 = 282;
+ public static final int ARM64_REG_V6 = 283;
+ public static final int ARM64_REG_V7 = 284;
+ public static final int ARM64_REG_V8 = 285;
+ public static final int ARM64_REG_V9 = 286;
+ public static final int ARM64_REG_V10 = 287;
+ public static final int ARM64_REG_V11 = 288;
+ public static final int ARM64_REG_V12 = 289;
+ public static final int ARM64_REG_V13 = 290;
+ public static final int ARM64_REG_V14 = 291;
+ public static final int ARM64_REG_V15 = 292;
+ public static final int ARM64_REG_V16 = 293;
+ public static final int ARM64_REG_V17 = 294;
+ public static final int ARM64_REG_V18 = 295;
+ public static final int ARM64_REG_V19 = 296;
+ public static final int ARM64_REG_V20 = 297;
+ public static final int ARM64_REG_V21 = 298;
+ public static final int ARM64_REG_V22 = 299;
+ public static final int ARM64_REG_V23 = 300;
+ public static final int ARM64_REG_V24 = 301;
+ public static final int ARM64_REG_V25 = 302;
+ public static final int ARM64_REG_V26 = 303;
+ public static final int ARM64_REG_V27 = 304;
+ public static final int ARM64_REG_V28 = 305;
+ public static final int ARM64_REG_V29 = 306;
+ public static final int ARM64_REG_V30 = 307;
+ public static final int ARM64_REG_V31 = 308;
+ public static final int ARM64_REG_ENDING = 309;
+ public static final int ARM64_REG_IP0 = ARM64_REG_X16;
+ public static final int ARM64_REG_IP1 = ARM64_REG_X17;
+ public static final int ARM64_REG_X29 = ARM64_REG_FP;
+ public static final int ARM64_REG_X30 = ARM64_REG_LR;
+
+ public static final int ARM64_INS_INVALID = 0;
+ public static final int ARM64_INS_ABS = 1;
+ public static final int ARM64_INS_ADC = 2;
+ public static final int ARM64_INS_ADCS = 3;
+ public static final int ARM64_INS_ADD = 4;
+ public static final int ARM64_INS_ADDHN = 5;
+ public static final int ARM64_INS_ADDHN2 = 6;
+ public static final int ARM64_INS_ADDP = 7;
+ public static final int ARM64_INS_ADDPL = 8;
+ public static final int ARM64_INS_ADDS = 9;
+ public static final int ARM64_INS_ADDV = 10;
+ public static final int ARM64_INS_ADDVL = 11;
+ public static final int ARM64_INS_ADR = 12;
+ public static final int ARM64_INS_ADRP = 13;
+ public static final int ARM64_INS_AESD = 14;
+ public static final int ARM64_INS_AESE = 15;
+ public static final int ARM64_INS_AESIMC = 16;
+ public static final int ARM64_INS_AESMC = 17;
+ public static final int ARM64_INS_AND = 18;
+ public static final int ARM64_INS_ANDS = 19;
+ public static final int ARM64_INS_ANDV = 20;
+ public static final int ARM64_INS_ASR = 21;
+ public static final int ARM64_INS_ASRD = 22;
+ public static final int ARM64_INS_ASRR = 23;
+ public static final int ARM64_INS_ASRV = 24;
+ public static final int ARM64_INS_AUTDA = 25;
+ public static final int ARM64_INS_AUTDB = 26;
+ public static final int ARM64_INS_AUTDZA = 27;
+ public static final int ARM64_INS_AUTDZB = 28;
+ public static final int ARM64_INS_AUTIA = 29;
+ public static final int ARM64_INS_AUTIA1716 = 30;
+ public static final int ARM64_INS_AUTIASP = 31;
+ public static final int ARM64_INS_AUTIAZ = 32;
+ public static final int ARM64_INS_AUTIB = 33;
+ public static final int ARM64_INS_AUTIB1716 = 34;
+ public static final int ARM64_INS_AUTIBSP = 35;
+ public static final int ARM64_INS_AUTIBZ = 36;
+ public static final int ARM64_INS_AUTIZA = 37;
+ public static final int ARM64_INS_AUTIZB = 38;
+ public static final int ARM64_INS_B = 39;
+ public static final int ARM64_INS_BCAX = 40;
+ public static final int ARM64_INS_BFM = 41;
+ public static final int ARM64_INS_BIC = 42;
+ public static final int ARM64_INS_BICS = 43;
+ public static final int ARM64_INS_BIF = 44;
+ public static final int ARM64_INS_BIT = 45;
+ public static final int ARM64_INS_BL = 46;
+ public static final int ARM64_INS_BLR = 47;
+ public static final int ARM64_INS_BLRAA = 48;
+ public static final int ARM64_INS_BLRAAZ = 49;
+ public static final int ARM64_INS_BLRAB = 50;
+ public static final int ARM64_INS_BLRABZ = 51;
+ public static final int ARM64_INS_BR = 52;
+ public static final int ARM64_INS_BRAA = 53;
+ public static final int ARM64_INS_BRAAZ = 54;
+ public static final int ARM64_INS_BRAB = 55;
+ public static final int ARM64_INS_BRABZ = 56;
+ public static final int ARM64_INS_BRK = 57;
+ public static final int ARM64_INS_BRKA = 58;
+ public static final int ARM64_INS_BRKAS = 59;
+ public static final int ARM64_INS_BRKB = 60;
+ public static final int ARM64_INS_BRKBS = 61;
+ public static final int ARM64_INS_BRKN = 62;
+ public static final int ARM64_INS_BRKNS = 63;
+ public static final int ARM64_INS_BRKPA = 64;
+ public static final int ARM64_INS_BRKPAS = 65;
+ public static final int ARM64_INS_BRKPB = 66;
+ public static final int ARM64_INS_BRKPBS = 67;
+ public static final int ARM64_INS_BSL = 68;
+ public static final int ARM64_INS_CAS = 69;
+ public static final int ARM64_INS_CASA = 70;
+ public static final int ARM64_INS_CASAB = 71;
+ public static final int ARM64_INS_CASAH = 72;
+ public static final int ARM64_INS_CASAL = 73;
+ public static final int ARM64_INS_CASALB = 74;
+ public static final int ARM64_INS_CASALH = 75;
+ public static final int ARM64_INS_CASB = 76;
+ public static final int ARM64_INS_CASH = 77;
+ public static final int ARM64_INS_CASL = 78;
+ public static final int ARM64_INS_CASLB = 79;
+ public static final int ARM64_INS_CASLH = 80;
+ public static final int ARM64_INS_CASP = 81;
+ public static final int ARM64_INS_CASPA = 82;
+ public static final int ARM64_INS_CASPAL = 83;
+ public static final int ARM64_INS_CASPL = 84;
+ public static final int ARM64_INS_CBNZ = 85;
+ public static final int ARM64_INS_CBZ = 86;
+ public static final int ARM64_INS_CCMN = 87;
+ public static final int ARM64_INS_CCMP = 88;
+ public static final int ARM64_INS_CFINV = 89;
+ public static final int ARM64_INS_CINC = 90;
+ public static final int ARM64_INS_CINV = 91;
+ public static final int ARM64_INS_CLASTA = 92;
+ public static final int ARM64_INS_CLASTB = 93;
+ public static final int ARM64_INS_CLREX = 94;
+ public static final int ARM64_INS_CLS = 95;
+ public static final int ARM64_INS_CLZ = 96;
+ public static final int ARM64_INS_CMEQ = 97;
+ public static final int ARM64_INS_CMGE = 98;
+ public static final int ARM64_INS_CMGT = 99;
+ public static final int ARM64_INS_CMHI = 100;
+ public static final int ARM64_INS_CMHS = 101;
+ public static final int ARM64_INS_CMLE = 102;
+ public static final int ARM64_INS_CMLO = 103;
+ public static final int ARM64_INS_CMLS = 104;
+ public static final int ARM64_INS_CMLT = 105;
+ public static final int ARM64_INS_CMN = 106;
+ public static final int ARM64_INS_CMP = 107;
+ public static final int ARM64_INS_CMPEQ = 108;
+ public static final int ARM64_INS_CMPGE = 109;
+ public static final int ARM64_INS_CMPGT = 110;
+ public static final int ARM64_INS_CMPHI = 111;
+ public static final int ARM64_INS_CMPHS = 112;
+ public static final int ARM64_INS_CMPLE = 113;
+ public static final int ARM64_INS_CMPLO = 114;
+ public static final int ARM64_INS_CMPLS = 115;
+ public static final int ARM64_INS_CMPLT = 116;
+ public static final int ARM64_INS_CMPNE = 117;
+ public static final int ARM64_INS_CMTST = 118;
+ public static final int ARM64_INS_CNEG = 119;
+ public static final int ARM64_INS_CNOT = 120;
+ public static final int ARM64_INS_CNT = 121;
+ public static final int ARM64_INS_CNTB = 122;
+ public static final int ARM64_INS_CNTD = 123;
+ public static final int ARM64_INS_CNTH = 124;
+ public static final int ARM64_INS_CNTP = 125;
+ public static final int ARM64_INS_CNTW = 126;
+ public static final int ARM64_INS_COMPACT = 127;
+ public static final int ARM64_INS_CPY = 128;
+ public static final int ARM64_INS_CRC32B = 129;
+ public static final int ARM64_INS_CRC32CB = 130;
+ public static final int ARM64_INS_CRC32CH = 131;
+ public static final int ARM64_INS_CRC32CW = 132;
+ public static final int ARM64_INS_CRC32CX = 133;
+ public static final int ARM64_INS_CRC32H = 134;
+ public static final int ARM64_INS_CRC32W = 135;
+ public static final int ARM64_INS_CRC32X = 136;
+ public static final int ARM64_INS_CSDB = 137;
+ public static final int ARM64_INS_CSEL = 138;
+ public static final int ARM64_INS_CSET = 139;
+ public static final int ARM64_INS_CSETM = 140;
+ public static final int ARM64_INS_CSINC = 141;
+ public static final int ARM64_INS_CSINV = 142;
+ public static final int ARM64_INS_CSNEG = 143;
+ public static final int ARM64_INS_CTERMEQ = 144;
+ public static final int ARM64_INS_CTERMNE = 145;
+ public static final int ARM64_INS_DCPS1 = 146;
+ public static final int ARM64_INS_DCPS2 = 147;
+ public static final int ARM64_INS_DCPS3 = 148;
+ public static final int ARM64_INS_DECB = 149;
+ public static final int ARM64_INS_DECD = 150;
+ public static final int ARM64_INS_DECH = 151;
+ public static final int ARM64_INS_DECP = 152;
+ public static final int ARM64_INS_DECW = 153;
+ public static final int ARM64_INS_DMB = 154;
+ public static final int ARM64_INS_DRPS = 155;
+ public static final int ARM64_INS_DSB = 156;
+ public static final int ARM64_INS_DUP = 157;
+ public static final int ARM64_INS_DUPM = 158;
+ public static final int ARM64_INS_EON = 159;
+ public static final int ARM64_INS_EOR = 160;
+ public static final int ARM64_INS_EOR3 = 161;
+ public static final int ARM64_INS_EORS = 162;
+ public static final int ARM64_INS_EORV = 163;
+ public static final int ARM64_INS_ERET = 164;
+ public static final int ARM64_INS_ERETAA = 165;
+ public static final int ARM64_INS_ERETAB = 166;
+ public static final int ARM64_INS_ESB = 167;
+ public static final int ARM64_INS_EXT = 168;
+ public static final int ARM64_INS_EXTR = 169;
+ public static final int ARM64_INS_FABD = 170;
+ public static final int ARM64_INS_FABS = 171;
+ public static final int ARM64_INS_FACGE = 172;
+ public static final int ARM64_INS_FACGT = 173;
+ public static final int ARM64_INS_FACLE = 174;
+ public static final int ARM64_INS_FACLT = 175;
+ public static final int ARM64_INS_FADD = 176;
+ public static final int ARM64_INS_FADDA = 177;
+ public static final int ARM64_INS_FADDP = 178;
+ public static final int ARM64_INS_FADDV = 179;
+ public static final int ARM64_INS_FCADD = 180;
+ public static final int ARM64_INS_FCCMP = 181;
+ public static final int ARM64_INS_FCCMPE = 182;
+ public static final int ARM64_INS_FCMEQ = 183;
+ public static final int ARM64_INS_FCMGE = 184;
+ public static final int ARM64_INS_FCMGT = 185;
+ public static final int ARM64_INS_FCMLA = 186;
+ public static final int ARM64_INS_FCMLE = 187;
+ public static final int ARM64_INS_FCMLT = 188;
+ public static final int ARM64_INS_FCMNE = 189;
+ public static final int ARM64_INS_FCMP = 190;
+ public static final int ARM64_INS_FCMPE = 191;
+ public static final int ARM64_INS_FCMUO = 192;
+ public static final int ARM64_INS_FCPY = 193;
+ public static final int ARM64_INS_FCSEL = 194;
+ public static final int ARM64_INS_FCVT = 195;
+ public static final int ARM64_INS_FCVTAS = 196;
+ public static final int ARM64_INS_FCVTAU = 197;
+ public static final int ARM64_INS_FCVTL = 198;
+ public static final int ARM64_INS_FCVTL2 = 199;
+ public static final int ARM64_INS_FCVTMS = 200;
+ public static final int ARM64_INS_FCVTMU = 201;
+ public static final int ARM64_INS_FCVTN = 202;
+ public static final int ARM64_INS_FCVTN2 = 203;
+ public static final int ARM64_INS_FCVTNS = 204;
+ public static final int ARM64_INS_FCVTNU = 205;
+ public static final int ARM64_INS_FCVTPS = 206;
+ public static final int ARM64_INS_FCVTPU = 207;
+ public static final int ARM64_INS_FCVTXN = 208;
+ public static final int ARM64_INS_FCVTXN2 = 209;
+ public static final int ARM64_INS_FCVTZS = 210;
+ public static final int ARM64_INS_FCVTZU = 211;
+ public static final int ARM64_INS_FDIV = 212;
+ public static final int ARM64_INS_FDIVR = 213;
+ public static final int ARM64_INS_FDUP = 214;
+ public static final int ARM64_INS_FEXPA = 215;
+ public static final int ARM64_INS_FJCVTZS = 216;
+ public static final int ARM64_INS_FMAD = 217;
+ public static final int ARM64_INS_FMADD = 218;
+ public static final int ARM64_INS_FMAX = 219;
+ public static final int ARM64_INS_FMAXNM = 220;
+ public static final int ARM64_INS_FMAXNMP = 221;
+ public static final int ARM64_INS_FMAXNMV = 222;
+ public static final int ARM64_INS_FMAXP = 223;
+ public static final int ARM64_INS_FMAXV = 224;
+ public static final int ARM64_INS_FMIN = 225;
+ public static final int ARM64_INS_FMINNM = 226;
+ public static final int ARM64_INS_FMINNMP = 227;
+ public static final int ARM64_INS_FMINNMV = 228;
+ public static final int ARM64_INS_FMINP = 229;
+ public static final int ARM64_INS_FMINV = 230;
+ public static final int ARM64_INS_FMLA = 231;
+ public static final int ARM64_INS_FMLS = 232;
+ public static final int ARM64_INS_FMOV = 233;
+ public static final int ARM64_INS_FMSB = 234;
+ public static final int ARM64_INS_FMSUB = 235;
+ public static final int ARM64_INS_FMUL = 236;
+ public static final int ARM64_INS_FMULX = 237;
+ public static final int ARM64_INS_FNEG = 238;
+ public static final int ARM64_INS_FNMAD = 239;
+ public static final int ARM64_INS_FNMADD = 240;
+ public static final int ARM64_INS_FNMLA = 241;
+ public static final int ARM64_INS_FNMLS = 242;
+ public static final int ARM64_INS_FNMSB = 243;
+ public static final int ARM64_INS_FNMSUB = 244;
+ public static final int ARM64_INS_FNMUL = 245;
+ public static final int ARM64_INS_FRECPE = 246;
+ public static final int ARM64_INS_FRECPS = 247;
+ public static final int ARM64_INS_FRECPX = 248;
+ public static final int ARM64_INS_FRINTA = 249;
+ public static final int ARM64_INS_FRINTI = 250;
+ public static final int ARM64_INS_FRINTM = 251;
+ public static final int ARM64_INS_FRINTN = 252;
+ public static final int ARM64_INS_FRINTP = 253;
+ public static final int ARM64_INS_FRINTX = 254;
+ public static final int ARM64_INS_FRINTZ = 255;
+ public static final int ARM64_INS_FRSQRTE = 256;
+ public static final int ARM64_INS_FRSQRTS = 257;
+ public static final int ARM64_INS_FSCALE = 258;
+ public static final int ARM64_INS_FSQRT = 259;
+ public static final int ARM64_INS_FSUB = 260;
+ public static final int ARM64_INS_FSUBR = 261;
+ public static final int ARM64_INS_FTMAD = 262;
+ public static final int ARM64_INS_FTSMUL = 263;
+ public static final int ARM64_INS_FTSSEL = 264;
+ public static final int ARM64_INS_HINT = 265;
+ public static final int ARM64_INS_HLT = 266;
+ public static final int ARM64_INS_HVC = 267;
+ public static final int ARM64_INS_INCB = 268;
+ public static final int ARM64_INS_INCD = 269;
+ public static final int ARM64_INS_INCH = 270;
+ public static final int ARM64_INS_INCP = 271;
+ public static final int ARM64_INS_INCW = 272;
+ public static final int ARM64_INS_INDEX = 273;
+ public static final int ARM64_INS_INS = 274;
+ public static final int ARM64_INS_INSR = 275;
+ public static final int ARM64_INS_ISB = 276;
+ public static final int ARM64_INS_LASTA = 277;
+ public static final int ARM64_INS_LASTB = 278;
+ public static final int ARM64_INS_LD1 = 279;
+ public static final int ARM64_INS_LD1B = 280;
+ public static final int ARM64_INS_LD1D = 281;
+ public static final int ARM64_INS_LD1H = 282;
+ public static final int ARM64_INS_LD1R = 283;
+ public static final int ARM64_INS_LD1RB = 284;
+ public static final int ARM64_INS_LD1RD = 285;
+ public static final int ARM64_INS_LD1RH = 286;
+ public static final int ARM64_INS_LD1RQB = 287;
+ public static final int ARM64_INS_LD1RQD = 288;
+ public static final int ARM64_INS_LD1RQH = 289;
+ public static final int ARM64_INS_LD1RQW = 290;
+ public static final int ARM64_INS_LD1RSB = 291;
+ public static final int ARM64_INS_LD1RSH = 292;
+ public static final int ARM64_INS_LD1RSW = 293;
+ public static final int ARM64_INS_LD1RW = 294;
+ public static final int ARM64_INS_LD1SB = 295;
+ public static final int ARM64_INS_LD1SH = 296;
+ public static final int ARM64_INS_LD1SW = 297;
+ public static final int ARM64_INS_LD1W = 298;
+ public static final int ARM64_INS_LD2 = 299;
+ public static final int ARM64_INS_LD2B = 300;
+ public static final int ARM64_INS_LD2D = 301;
+ public static final int ARM64_INS_LD2H = 302;
+ public static final int ARM64_INS_LD2R = 303;
+ public static final int ARM64_INS_LD2W = 304;
+ public static final int ARM64_INS_LD3 = 305;
+ public static final int ARM64_INS_LD3B = 306;
+ public static final int ARM64_INS_LD3D = 307;
+ public static final int ARM64_INS_LD3H = 308;
+ public static final int ARM64_INS_LD3R = 309;
+ public static final int ARM64_INS_LD3W = 310;
+ public static final int ARM64_INS_LD4 = 311;
+ public static final int ARM64_INS_LD4B = 312;
+ public static final int ARM64_INS_LD4D = 313;
+ public static final int ARM64_INS_LD4H = 314;
+ public static final int ARM64_INS_LD4R = 315;
+ public static final int ARM64_INS_LD4W = 316;
+ public static final int ARM64_INS_LDADD = 317;
+ public static final int ARM64_INS_LDADDA = 318;
+ public static final int ARM64_INS_LDADDAB = 319;
+ public static final int ARM64_INS_LDADDAH = 320;
+ public static final int ARM64_INS_LDADDAL = 321;
+ public static final int ARM64_INS_LDADDALB = 322;
+ public static final int ARM64_INS_LDADDALH = 323;
+ public static final int ARM64_INS_LDADDB = 324;
+ public static final int ARM64_INS_LDADDH = 325;
+ public static final int ARM64_INS_LDADDL = 326;
+ public static final int ARM64_INS_LDADDLB = 327;
+ public static final int ARM64_INS_LDADDLH = 328;
+ public static final int ARM64_INS_LDAPR = 329;
+ public static final int ARM64_INS_LDAPRB = 330;
+ public static final int ARM64_INS_LDAPRH = 331;
+ public static final int ARM64_INS_LDAPUR = 332;
+ public static final int ARM64_INS_LDAPURB = 333;
+ public static final int ARM64_INS_LDAPURH = 334;
+ public static final int ARM64_INS_LDAPURSB = 335;
+ public static final int ARM64_INS_LDAPURSH = 336;
+ public static final int ARM64_INS_LDAPURSW = 337;
+ public static final int ARM64_INS_LDAR = 338;
+ public static final int ARM64_INS_LDARB = 339;
+ public static final int ARM64_INS_LDARH = 340;
+ public static final int ARM64_INS_LDAXP = 341;
+ public static final int ARM64_INS_LDAXR = 342;
+ public static final int ARM64_INS_LDAXRB = 343;
+ public static final int ARM64_INS_LDAXRH = 344;
+ public static final int ARM64_INS_LDCLR = 345;
+ public static final int ARM64_INS_LDCLRA = 346;
+ public static final int ARM64_INS_LDCLRAB = 347;
+ public static final int ARM64_INS_LDCLRAH = 348;
+ public static final int ARM64_INS_LDCLRAL = 349;
+ public static final int ARM64_INS_LDCLRALB = 350;
+ public static final int ARM64_INS_LDCLRALH = 351;
+ public static final int ARM64_INS_LDCLRB = 352;
+ public static final int ARM64_INS_LDCLRH = 353;
+ public static final int ARM64_INS_LDCLRL = 354;
+ public static final int ARM64_INS_LDCLRLB = 355;
+ public static final int ARM64_INS_LDCLRLH = 356;
+ public static final int ARM64_INS_LDEOR = 357;
+ public static final int ARM64_INS_LDEORA = 358;
+ public static final int ARM64_INS_LDEORAB = 359;
+ public static final int ARM64_INS_LDEORAH = 360;
+ public static final int ARM64_INS_LDEORAL = 361;
+ public static final int ARM64_INS_LDEORALB = 362;
+ public static final int ARM64_INS_LDEORALH = 363;
+ public static final int ARM64_INS_LDEORB = 364;
+ public static final int ARM64_INS_LDEORH = 365;
+ public static final int ARM64_INS_LDEORL = 366;
+ public static final int ARM64_INS_LDEORLB = 367;
+ public static final int ARM64_INS_LDEORLH = 368;
+ public static final int ARM64_INS_LDFF1B = 369;
+ public static final int ARM64_INS_LDFF1D = 370;
+ public static final int ARM64_INS_LDFF1H = 371;
+ public static final int ARM64_INS_LDFF1SB = 372;
+ public static final int ARM64_INS_LDFF1SH = 373;
+ public static final int ARM64_INS_LDFF1SW = 374;
+ public static final int ARM64_INS_LDFF1W = 375;
+ public static final int ARM64_INS_LDLAR = 376;
+ public static final int ARM64_INS_LDLARB = 377;
+ public static final int ARM64_INS_LDLARH = 378;
+ public static final int ARM64_INS_LDNF1B = 379;
+ public static final int ARM64_INS_LDNF1D = 380;
+ public static final int ARM64_INS_LDNF1H = 381;
+ public static final int ARM64_INS_LDNF1SB = 382;
+ public static final int ARM64_INS_LDNF1SH = 383;
+ public static final int ARM64_INS_LDNF1SW = 384;
+ public static final int ARM64_INS_LDNF1W = 385;
+ public static final int ARM64_INS_LDNP = 386;
+ public static final int ARM64_INS_LDNT1B = 387;
+ public static final int ARM64_INS_LDNT1D = 388;
+ public static final int ARM64_INS_LDNT1H = 389;
+ public static final int ARM64_INS_LDNT1W = 390;
+ public static final int ARM64_INS_LDP = 391;
+ public static final int ARM64_INS_LDPSW = 392;
+ public static final int ARM64_INS_LDR = 393;
+ public static final int ARM64_INS_LDRAA = 394;
+ public static final int ARM64_INS_LDRAB = 395;
+ public static final int ARM64_INS_LDRB = 396;
+ public static final int ARM64_INS_LDRH = 397;
+ public static final int ARM64_INS_LDRSB = 398;
+ public static final int ARM64_INS_LDRSH = 399;
+ public static final int ARM64_INS_LDRSW = 400;
+ public static final int ARM64_INS_LDSET = 401;
+ public static final int ARM64_INS_LDSETA = 402;
+ public static final int ARM64_INS_LDSETAB = 403;
+ public static final int ARM64_INS_LDSETAH = 404;
+ public static final int ARM64_INS_LDSETAL = 405;
+ public static final int ARM64_INS_LDSETALB = 406;
+ public static final int ARM64_INS_LDSETALH = 407;
+ public static final int ARM64_INS_LDSETB = 408;
+ public static final int ARM64_INS_LDSETH = 409;
+ public static final int ARM64_INS_LDSETL = 410;
+ public static final int ARM64_INS_LDSETLB = 411;
+ public static final int ARM64_INS_LDSETLH = 412;
+ public static final int ARM64_INS_LDSMAX = 413;
+ public static final int ARM64_INS_LDSMAXA = 414;
+ public static final int ARM64_INS_LDSMAXAB = 415;
+ public static final int ARM64_INS_LDSMAXAH = 416;
+ public static final int ARM64_INS_LDSMAXAL = 417;
+ public static final int ARM64_INS_LDSMAXALB = 418;
+ public static final int ARM64_INS_LDSMAXALH = 419;
+ public static final int ARM64_INS_LDSMAXB = 420;
+ public static final int ARM64_INS_LDSMAXH = 421;
+ public static final int ARM64_INS_LDSMAXL = 422;
+ public static final int ARM64_INS_LDSMAXLB = 423;
+ public static final int ARM64_INS_LDSMAXLH = 424;
+ public static final int ARM64_INS_LDSMIN = 425;
+ public static final int ARM64_INS_LDSMINA = 426;
+ public static final int ARM64_INS_LDSMINAB = 427;
+ public static final int ARM64_INS_LDSMINAH = 428;
+ public static final int ARM64_INS_LDSMINAL = 429;
+ public static final int ARM64_INS_LDSMINALB = 430;
+ public static final int ARM64_INS_LDSMINALH = 431;
+ public static final int ARM64_INS_LDSMINB = 432;
+ public static final int ARM64_INS_LDSMINH = 433;
+ public static final int ARM64_INS_LDSMINL = 434;
+ public static final int ARM64_INS_LDSMINLB = 435;
+ public static final int ARM64_INS_LDSMINLH = 436;
+ public static final int ARM64_INS_LDTR = 437;
+ public static final int ARM64_INS_LDTRB = 438;
+ public static final int ARM64_INS_LDTRH = 439;
+ public static final int ARM64_INS_LDTRSB = 440;
+ public static final int ARM64_INS_LDTRSH = 441;
+ public static final int ARM64_INS_LDTRSW = 442;
+ public static final int ARM64_INS_LDUMAX = 443;
+ public static final int ARM64_INS_LDUMAXA = 444;
+ public static final int ARM64_INS_LDUMAXAB = 445;
+ public static final int ARM64_INS_LDUMAXAH = 446;
+ public static final int ARM64_INS_LDUMAXAL = 447;
+ public static final int ARM64_INS_LDUMAXALB = 448;
+ public static final int ARM64_INS_LDUMAXALH = 449;
+ public static final int ARM64_INS_LDUMAXB = 450;
+ public static final int ARM64_INS_LDUMAXH = 451;
+ public static final int ARM64_INS_LDUMAXL = 452;
+ public static final int ARM64_INS_LDUMAXLB = 453;
+ public static final int ARM64_INS_LDUMAXLH = 454;
+ public static final int ARM64_INS_LDUMIN = 455;
+ public static final int ARM64_INS_LDUMINA = 456;
+ public static final int ARM64_INS_LDUMINAB = 457;
+ public static final int ARM64_INS_LDUMINAH = 458;
+ public static final int ARM64_INS_LDUMINAL = 459;
+ public static final int ARM64_INS_LDUMINALB = 460;
+ public static final int ARM64_INS_LDUMINALH = 461;
+ public static final int ARM64_INS_LDUMINB = 462;
+ public static final int ARM64_INS_LDUMINH = 463;
+ public static final int ARM64_INS_LDUMINL = 464;
+ public static final int ARM64_INS_LDUMINLB = 465;
+ public static final int ARM64_INS_LDUMINLH = 466;
+ public static final int ARM64_INS_LDUR = 467;
+ public static final int ARM64_INS_LDURB = 468;
+ public static final int ARM64_INS_LDURH = 469;
+ public static final int ARM64_INS_LDURSB = 470;
+ public static final int ARM64_INS_LDURSH = 471;
+ public static final int ARM64_INS_LDURSW = 472;
+ public static final int ARM64_INS_LDXP = 473;
+ public static final int ARM64_INS_LDXR = 474;
+ public static final int ARM64_INS_LDXRB = 475;
+ public static final int ARM64_INS_LDXRH = 476;
+ public static final int ARM64_INS_LSL = 477;
+ public static final int ARM64_INS_LSLR = 478;
+ public static final int ARM64_INS_LSLV = 479;
+ public static final int ARM64_INS_LSR = 480;
+ public static final int ARM64_INS_LSRR = 481;
+ public static final int ARM64_INS_LSRV = 482;
+ public static final int ARM64_INS_MAD = 483;
+ public static final int ARM64_INS_MADD = 484;
+ public static final int ARM64_INS_MLA = 485;
+ public static final int ARM64_INS_MLS = 486;
+ public static final int ARM64_INS_MNEG = 487;
+ public static final int ARM64_INS_MOV = 488;
+ public static final int ARM64_INS_MOVI = 489;
+ public static final int ARM64_INS_MOVK = 490;
+ public static final int ARM64_INS_MOVN = 491;
+ public static final int ARM64_INS_MOVPRFX = 492;
+ public static final int ARM64_INS_MOVS = 493;
+ public static final int ARM64_INS_MOVZ = 494;
+ public static final int ARM64_INS_MRS = 495;
+ public static final int ARM64_INS_MSB = 496;
+ public static final int ARM64_INS_MSR = 497;
+ public static final int ARM64_INS_MSUB = 498;
+ public static final int ARM64_INS_MUL = 499;
+ public static final int ARM64_INS_MVN = 500;
+ public static final int ARM64_INS_MVNI = 501;
+ public static final int ARM64_INS_NAND = 502;
+ public static final int ARM64_INS_NANDS = 503;
+ public static final int ARM64_INS_NEG = 504;
+ public static final int ARM64_INS_NEGS = 505;
+ public static final int ARM64_INS_NGC = 506;
+ public static final int ARM64_INS_NGCS = 507;
+ public static final int ARM64_INS_NOP = 508;
+ public static final int ARM64_INS_NOR = 509;
+ public static final int ARM64_INS_NORS = 510;
+ public static final int ARM64_INS_NOT = 511;
+ public static final int ARM64_INS_NOTS = 512;
+ public static final int ARM64_INS_ORN = 513;
+ public static final int ARM64_INS_ORNS = 514;
+ public static final int ARM64_INS_ORR = 515;
+ public static final int ARM64_INS_ORRS = 516;
+ public static final int ARM64_INS_ORV = 517;
+ public static final int ARM64_INS_PACDA = 518;
+ public static final int ARM64_INS_PACDB = 519;
+ public static final int ARM64_INS_PACDZA = 520;
+ public static final int ARM64_INS_PACDZB = 521;
+ public static final int ARM64_INS_PACGA = 522;
+ public static final int ARM64_INS_PACIA = 523;
+ public static final int ARM64_INS_PACIA1716 = 524;
+ public static final int ARM64_INS_PACIASP = 525;
+ public static final int ARM64_INS_PACIAZ = 526;
+ public static final int ARM64_INS_PACIB = 527;
+ public static final int ARM64_INS_PACIB1716 = 528;
+ public static final int ARM64_INS_PACIBSP = 529;
+ public static final int ARM64_INS_PACIBZ = 530;
+ public static final int ARM64_INS_PACIZA = 531;
+ public static final int ARM64_INS_PACIZB = 532;
+ public static final int ARM64_INS_PFALSE = 533;
+ public static final int ARM64_INS_PFIRST = 534;
+ public static final int ARM64_INS_PMUL = 535;
+ public static final int ARM64_INS_PMULL = 536;
+ public static final int ARM64_INS_PMULL2 = 537;
+ public static final int ARM64_INS_PNEXT = 538;
+ public static final int ARM64_INS_PRFB = 539;
+ public static final int ARM64_INS_PRFD = 540;
+ public static final int ARM64_INS_PRFH = 541;
+ public static final int ARM64_INS_PRFM = 542;
+ public static final int ARM64_INS_PRFUM = 543;
+ public static final int ARM64_INS_PRFW = 544;
+ public static final int ARM64_INS_PSB = 545;
+ public static final int ARM64_INS_PTEST = 546;
+ public static final int ARM64_INS_PTRUE = 547;
+ public static final int ARM64_INS_PTRUES = 548;
+ public static final int ARM64_INS_PUNPKHI = 549;
+ public static final int ARM64_INS_PUNPKLO = 550;
+ public static final int ARM64_INS_RADDHN = 551;
+ public static final int ARM64_INS_RADDHN2 = 552;
+ public static final int ARM64_INS_RAX1 = 553;
+ public static final int ARM64_INS_RBIT = 554;
+ public static final int ARM64_INS_RDFFR = 555;
+ public static final int ARM64_INS_RDFFRS = 556;
+ public static final int ARM64_INS_RDVL = 557;
+ public static final int ARM64_INS_RET = 558;
+ public static final int ARM64_INS_RETAA = 559;
+ public static final int ARM64_INS_RETAB = 560;
+ public static final int ARM64_INS_REV = 561;
+ public static final int ARM64_INS_REV16 = 562;
+ public static final int ARM64_INS_REV32 = 563;
+ public static final int ARM64_INS_REV64 = 564;
+ public static final int ARM64_INS_REVB = 565;
+ public static final int ARM64_INS_REVH = 566;
+ public static final int ARM64_INS_REVW = 567;
+ public static final int ARM64_INS_RMIF = 568;
+ public static final int ARM64_INS_ROR = 569;
+ public static final int ARM64_INS_RORV = 570;
+ public static final int ARM64_INS_RSHRN = 571;
+ public static final int ARM64_INS_RSHRN2 = 572;
+ public static final int ARM64_INS_RSUBHN = 573;
+ public static final int ARM64_INS_RSUBHN2 = 574;
+ public static final int ARM64_INS_SABA = 575;
+ public static final int ARM64_INS_SABAL = 576;
+ public static final int ARM64_INS_SABAL2 = 577;
+ public static final int ARM64_INS_SABD = 578;
+ public static final int ARM64_INS_SABDL = 579;
+ public static final int ARM64_INS_SABDL2 = 580;
+ public static final int ARM64_INS_SADALP = 581;
+ public static final int ARM64_INS_SADDL = 582;
+ public static final int ARM64_INS_SADDL2 = 583;
+ public static final int ARM64_INS_SADDLP = 584;
+ public static final int ARM64_INS_SADDLV = 585;
+ public static final int ARM64_INS_SADDV = 586;
+ public static final int ARM64_INS_SADDW = 587;
+ public static final int ARM64_INS_SADDW2 = 588;
+ public static final int ARM64_INS_SBC = 589;
+ public static final int ARM64_INS_SBCS = 590;
+ public static final int ARM64_INS_SBFM = 591;
+ public static final int ARM64_INS_SCVTF = 592;
+ public static final int ARM64_INS_SDIV = 593;
+ public static final int ARM64_INS_SDIVR = 594;
+ public static final int ARM64_INS_SDOT = 595;
+ public static final int ARM64_INS_SEL = 596;
+ public static final int ARM64_INS_SETF16 = 597;
+ public static final int ARM64_INS_SETF8 = 598;
+ public static final int ARM64_INS_SETFFR = 599;
+ public static final int ARM64_INS_SEV = 600;
+ public static final int ARM64_INS_SEVL = 601;
+ public static final int ARM64_INS_SHA1C = 602;
+ public static final int ARM64_INS_SHA1H = 603;
+ public static final int ARM64_INS_SHA1M = 604;
+ public static final int ARM64_INS_SHA1P = 605;
+ public static final int ARM64_INS_SHA1SU0 = 606;
+ public static final int ARM64_INS_SHA1SU1 = 607;
+ public static final int ARM64_INS_SHA256H = 608;
+ public static final int ARM64_INS_SHA256H2 = 609;
+ public static final int ARM64_INS_SHA256SU0 = 610;
+ public static final int ARM64_INS_SHA256SU1 = 611;
+ public static final int ARM64_INS_SHA512H = 612;
+ public static final int ARM64_INS_SHA512H2 = 613;
+ public static final int ARM64_INS_SHA512SU0 = 614;
+ public static final int ARM64_INS_SHA512SU1 = 615;
+ public static final int ARM64_INS_SHADD = 616;
+ public static final int ARM64_INS_SHL = 617;
+ public static final int ARM64_INS_SHLL = 618;
+ public static final int ARM64_INS_SHLL2 = 619;
+ public static final int ARM64_INS_SHRN = 620;
+ public static final int ARM64_INS_SHRN2 = 621;
+ public static final int ARM64_INS_SHSUB = 622;
+ public static final int ARM64_INS_SLI = 623;
+ public static final int ARM64_INS_SM3PARTW1 = 624;
+ public static final int ARM64_INS_SM3PARTW2 = 625;
+ public static final int ARM64_INS_SM3SS1 = 626;
+ public static final int ARM64_INS_SM3TT1A = 627;
+ public static final int ARM64_INS_SM3TT1B = 628;
+ public static final int ARM64_INS_SM3TT2A = 629;
+ public static final int ARM64_INS_SM3TT2B = 630;
+ public static final int ARM64_INS_SM4E = 631;
+ public static final int ARM64_INS_SM4EKEY = 632;
+ public static final int ARM64_INS_SMADDL = 633;
+ public static final int ARM64_INS_SMAX = 634;
+ public static final int ARM64_INS_SMAXP = 635;
+ public static final int ARM64_INS_SMAXV = 636;
+ public static final int ARM64_INS_SMC = 637;
+ public static final int ARM64_INS_SMIN = 638;
+ public static final int ARM64_INS_SMINP = 639;
+ public static final int ARM64_INS_SMINV = 640;
+ public static final int ARM64_INS_SMLAL = 641;
+ public static final int ARM64_INS_SMLAL2 = 642;
+ public static final int ARM64_INS_SMLSL = 643;
+ public static final int ARM64_INS_SMLSL2 = 644;
+ public static final int ARM64_INS_SMNEGL = 645;
+ public static final int ARM64_INS_SMOV = 646;
+ public static final int ARM64_INS_SMSUBL = 647;
+ public static final int ARM64_INS_SMULH = 648;
+ public static final int ARM64_INS_SMULL = 649;
+ public static final int ARM64_INS_SMULL2 = 650;
+ public static final int ARM64_INS_SPLICE = 651;
+ public static final int ARM64_INS_SQABS = 652;
+ public static final int ARM64_INS_SQADD = 653;
+ public static final int ARM64_INS_SQDECB = 654;
+ public static final int ARM64_INS_SQDECD = 655;
+ public static final int ARM64_INS_SQDECH = 656;
+ public static final int ARM64_INS_SQDECP = 657;
+ public static final int ARM64_INS_SQDECW = 658;
+ public static final int ARM64_INS_SQDMLAL = 659;
+ public static final int ARM64_INS_SQDMLAL2 = 660;
+ public static final int ARM64_INS_SQDMLSL = 661;
+ public static final int ARM64_INS_SQDMLSL2 = 662;
+ public static final int ARM64_INS_SQDMULH = 663;
+ public static final int ARM64_INS_SQDMULL = 664;
+ public static final int ARM64_INS_SQDMULL2 = 665;
+ public static final int ARM64_INS_SQINCB = 666;
+ public static final int ARM64_INS_SQINCD = 667;
+ public static final int ARM64_INS_SQINCH = 668;
+ public static final int ARM64_INS_SQINCP = 669;
+ public static final int ARM64_INS_SQINCW = 670;
+ public static final int ARM64_INS_SQNEG = 671;
+ public static final int ARM64_INS_SQRDMLAH = 672;
+ public static final int ARM64_INS_SQRDMLSH = 673;
+ public static final int ARM64_INS_SQRDMULH = 674;
+ public static final int ARM64_INS_SQRSHL = 675;
+ public static final int ARM64_INS_SQRSHRN = 676;
+ public static final int ARM64_INS_SQRSHRN2 = 677;
+ public static final int ARM64_INS_SQRSHRUN = 678;
+ public static final int ARM64_INS_SQRSHRUN2 = 679;
+ public static final int ARM64_INS_SQSHL = 680;
+ public static final int ARM64_INS_SQSHLU = 681;
+ public static final int ARM64_INS_SQSHRN = 682;
+ public static final int ARM64_INS_SQSHRN2 = 683;
+ public static final int ARM64_INS_SQSHRUN = 684;
+ public static final int ARM64_INS_SQSHRUN2 = 685;
+ public static final int ARM64_INS_SQSUB = 686;
+ public static final int ARM64_INS_SQXTN = 687;
+ public static final int ARM64_INS_SQXTN2 = 688;
+ public static final int ARM64_INS_SQXTUN = 689;
+ public static final int ARM64_INS_SQXTUN2 = 690;
+ public static final int ARM64_INS_SRHADD = 691;
+ public static final int ARM64_INS_SRI = 692;
+ public static final int ARM64_INS_SRSHL = 693;
+ public static final int ARM64_INS_SRSHR = 694;
+ public static final int ARM64_INS_SRSRA = 695;
+ public static final int ARM64_INS_SSHL = 696;
+ public static final int ARM64_INS_SSHLL = 697;
+ public static final int ARM64_INS_SSHLL2 = 698;
+ public static final int ARM64_INS_SSHR = 699;
+ public static final int ARM64_INS_SSRA = 700;
+ public static final int ARM64_INS_SSUBL = 701;
+ public static final int ARM64_INS_SSUBL2 = 702;
+ public static final int ARM64_INS_SSUBW = 703;
+ public static final int ARM64_INS_SSUBW2 = 704;
+ public static final int ARM64_INS_ST1 = 705;
+ public static final int ARM64_INS_ST1B = 706;
+ public static final int ARM64_INS_ST1D = 707;
+ public static final int ARM64_INS_ST1H = 708;
+ public static final int ARM64_INS_ST1W = 709;
+ public static final int ARM64_INS_ST2 = 710;
+ public static final int ARM64_INS_ST2B = 711;
+ public static final int ARM64_INS_ST2D = 712;
+ public static final int ARM64_INS_ST2H = 713;
+ public static final int ARM64_INS_ST2W = 714;
+ public static final int ARM64_INS_ST3 = 715;
+ public static final int ARM64_INS_ST3B = 716;
+ public static final int ARM64_INS_ST3D = 717;
+ public static final int ARM64_INS_ST3H = 718;
+ public static final int ARM64_INS_ST3W = 719;
+ public static final int ARM64_INS_ST4 = 720;
+ public static final int ARM64_INS_ST4B = 721;
+ public static final int ARM64_INS_ST4D = 722;
+ public static final int ARM64_INS_ST4H = 723;
+ public static final int ARM64_INS_ST4W = 724;
+ public static final int ARM64_INS_STADD = 725;
+ public static final int ARM64_INS_STADDB = 726;
+ public static final int ARM64_INS_STADDH = 727;
+ public static final int ARM64_INS_STADDL = 728;
+ public static final int ARM64_INS_STADDLB = 729;
+ public static final int ARM64_INS_STADDLH = 730;
+ public static final int ARM64_INS_STCLR = 731;
+ public static final int ARM64_INS_STCLRB = 732;
+ public static final int ARM64_INS_STCLRH = 733;
+ public static final int ARM64_INS_STCLRL = 734;
+ public static final int ARM64_INS_STCLRLB = 735;
+ public static final int ARM64_INS_STCLRLH = 736;
+ public static final int ARM64_INS_STEOR = 737;
+ public static final int ARM64_INS_STEORB = 738;
+ public static final int ARM64_INS_STEORH = 739;
+ public static final int ARM64_INS_STEORL = 740;
+ public static final int ARM64_INS_STEORLB = 741;
+ public static final int ARM64_INS_STEORLH = 742;
+ public static final int ARM64_INS_STLLR = 743;
+ public static final int ARM64_INS_STLLRB = 744;
+ public static final int ARM64_INS_STLLRH = 745;
+ public static final int ARM64_INS_STLR = 746;
+ public static final int ARM64_INS_STLRB = 747;
+ public static final int ARM64_INS_STLRH = 748;
+ public static final int ARM64_INS_STLUR = 749;
+ public static final int ARM64_INS_STLURB = 750;
+ public static final int ARM64_INS_STLURH = 751;
+ public static final int ARM64_INS_STLXP = 752;
+ public static final int ARM64_INS_STLXR = 753;
+ public static final int ARM64_INS_STLXRB = 754;
+ public static final int ARM64_INS_STLXRH = 755;
+ public static final int ARM64_INS_STNP = 756;
+ public static final int ARM64_INS_STNT1B = 757;
+ public static final int ARM64_INS_STNT1D = 758;
+ public static final int ARM64_INS_STNT1H = 759;
+ public static final int ARM64_INS_STNT1W = 760;
+ public static final int ARM64_INS_STP = 761;
+ public static final int ARM64_INS_STR = 762;
+ public static final int ARM64_INS_STRB = 763;
+ public static final int ARM64_INS_STRH = 764;
+ public static final int ARM64_INS_STSET = 765;
+ public static final int ARM64_INS_STSETB = 766;
+ public static final int ARM64_INS_STSETH = 767;
+ public static final int ARM64_INS_STSETL = 768;
+ public static final int ARM64_INS_STSETLB = 769;
+ public static final int ARM64_INS_STSETLH = 770;
+ public static final int ARM64_INS_STSMAX = 771;
+ public static final int ARM64_INS_STSMAXB = 772;
+ public static final int ARM64_INS_STSMAXH = 773;
+ public static final int ARM64_INS_STSMAXL = 774;
+ public static final int ARM64_INS_STSMAXLB = 775;
+ public static final int ARM64_INS_STSMAXLH = 776;
+ public static final int ARM64_INS_STSMIN = 777;
+ public static final int ARM64_INS_STSMINB = 778;
+ public static final int ARM64_INS_STSMINH = 779;
+ public static final int ARM64_INS_STSMINL = 780;
+ public static final int ARM64_INS_STSMINLB = 781;
+ public static final int ARM64_INS_STSMINLH = 782;
+ public static final int ARM64_INS_STTR = 783;
+ public static final int ARM64_INS_STTRB = 784;
+ public static final int ARM64_INS_STTRH = 785;
+ public static final int ARM64_INS_STUMAX = 786;
+ public static final int ARM64_INS_STUMAXB = 787;
+ public static final int ARM64_INS_STUMAXH = 788;
+ public static final int ARM64_INS_STUMAXL = 789;
+ public static final int ARM64_INS_STUMAXLB = 790;
+ public static final int ARM64_INS_STUMAXLH = 791;
+ public static final int ARM64_INS_STUMIN = 792;
+ public static final int ARM64_INS_STUMINB = 793;
+ public static final int ARM64_INS_STUMINH = 794;
+ public static final int ARM64_INS_STUMINL = 795;
+ public static final int ARM64_INS_STUMINLB = 796;
+ public static final int ARM64_INS_STUMINLH = 797;
+ public static final int ARM64_INS_STUR = 798;
+ public static final int ARM64_INS_STURB = 799;
+ public static final int ARM64_INS_STURH = 800;
+ public static final int ARM64_INS_STXP = 801;
+ public static final int ARM64_INS_STXR = 802;
+ public static final int ARM64_INS_STXRB = 803;
+ public static final int ARM64_INS_STXRH = 804;
+ public static final int ARM64_INS_SUB = 805;
+ public static final int ARM64_INS_SUBHN = 806;
+ public static final int ARM64_INS_SUBHN2 = 807;
+ public static final int ARM64_INS_SUBR = 808;
+ public static final int ARM64_INS_SUBS = 809;
+ public static final int ARM64_INS_SUNPKHI = 810;
+ public static final int ARM64_INS_SUNPKLO = 811;
+ public static final int ARM64_INS_SUQADD = 812;
+ public static final int ARM64_INS_SVC = 813;
+ public static final int ARM64_INS_SWP = 814;
+ public static final int ARM64_INS_SWPA = 815;
+ public static final int ARM64_INS_SWPAB = 816;
+ public static final int ARM64_INS_SWPAH = 817;
+ public static final int ARM64_INS_SWPAL = 818;
+ public static final int ARM64_INS_SWPALB = 819;
+ public static final int ARM64_INS_SWPALH = 820;
+ public static final int ARM64_INS_SWPB = 821;
+ public static final int ARM64_INS_SWPH = 822;
+ public static final int ARM64_INS_SWPL = 823;
+ public static final int ARM64_INS_SWPLB = 824;
+ public static final int ARM64_INS_SWPLH = 825;
+ public static final int ARM64_INS_SXTB = 826;
+ public static final int ARM64_INS_SXTH = 827;
+ public static final int ARM64_INS_SXTL = 828;
+ public static final int ARM64_INS_SXTL2 = 829;
+ public static final int ARM64_INS_SXTW = 830;
+ public static final int ARM64_INS_SYS = 831;
+ public static final int ARM64_INS_SYSL = 832;
+ public static final int ARM64_INS_TBL = 833;
+ public static final int ARM64_INS_TBNZ = 834;
+ public static final int ARM64_INS_TBX = 835;
+ public static final int ARM64_INS_TBZ = 836;
+ public static final int ARM64_INS_TRN1 = 837;
+ public static final int ARM64_INS_TRN2 = 838;
+ public static final int ARM64_INS_TSB = 839;
+ public static final int ARM64_INS_TST = 840;
+ public static final int ARM64_INS_UABA = 841;
+ public static final int ARM64_INS_UABAL = 842;
+ public static final int ARM64_INS_UABAL2 = 843;
+ public static final int ARM64_INS_UABD = 844;
+ public static final int ARM64_INS_UABDL = 845;
+ public static final int ARM64_INS_UABDL2 = 846;
+ public static final int ARM64_INS_UADALP = 847;
+ public static final int ARM64_INS_UADDL = 848;
+ public static final int ARM64_INS_UADDL2 = 849;
+ public static final int ARM64_INS_UADDLP = 850;
+ public static final int ARM64_INS_UADDLV = 851;
+ public static final int ARM64_INS_UADDV = 852;
+ public static final int ARM64_INS_UADDW = 853;
+ public static final int ARM64_INS_UADDW2 = 854;
+ public static final int ARM64_INS_UBFM = 855;
+ public static final int ARM64_INS_UCVTF = 856;
+ public static final int ARM64_INS_UDIV = 857;
+ public static final int ARM64_INS_UDIVR = 858;
+ public static final int ARM64_INS_UDOT = 859;
+ public static final int ARM64_INS_UHADD = 860;
+ public static final int ARM64_INS_UHSUB = 861;
+ public static final int ARM64_INS_UMADDL = 862;
+ public static final int ARM64_INS_UMAX = 863;
+ public static final int ARM64_INS_UMAXP = 864;
+ public static final int ARM64_INS_UMAXV = 865;
+ public static final int ARM64_INS_UMIN = 866;
+ public static final int ARM64_INS_UMINP = 867;
+ public static final int ARM64_INS_UMINV = 868;
+ public static final int ARM64_INS_UMLAL = 869;
+ public static final int ARM64_INS_UMLAL2 = 870;
+ public static final int ARM64_INS_UMLSL = 871;
+ public static final int ARM64_INS_UMLSL2 = 872;
+ public static final int ARM64_INS_UMNEGL = 873;
+ public static final int ARM64_INS_UMOV = 874;
+ public static final int ARM64_INS_UMSUBL = 875;
+ public static final int ARM64_INS_UMULH = 876;
+ public static final int ARM64_INS_UMULL = 877;
+ public static final int ARM64_INS_UMULL2 = 878;
+ public static final int ARM64_INS_UQADD = 879;
+ public static final int ARM64_INS_UQDECB = 880;
+ public static final int ARM64_INS_UQDECD = 881;
+ public static final int ARM64_INS_UQDECH = 882;
+ public static final int ARM64_INS_UQDECP = 883;
+ public static final int ARM64_INS_UQDECW = 884;
+ public static final int ARM64_INS_UQINCB = 885;
+ public static final int ARM64_INS_UQINCD = 886;
+ public static final int ARM64_INS_UQINCH = 887;
+ public static final int ARM64_INS_UQINCP = 888;
+ public static final int ARM64_INS_UQINCW = 889;
+ public static final int ARM64_INS_UQRSHL = 890;
+ public static final int ARM64_INS_UQRSHRN = 891;
+ public static final int ARM64_INS_UQRSHRN2 = 892;
+ public static final int ARM64_INS_UQSHL = 893;
+ public static final int ARM64_INS_UQSHRN = 894;
+ public static final int ARM64_INS_UQSHRN2 = 895;
+ public static final int ARM64_INS_UQSUB = 896;
+ public static final int ARM64_INS_UQXTN = 897;
+ public static final int ARM64_INS_UQXTN2 = 898;
+ public static final int ARM64_INS_URECPE = 899;
+ public static final int ARM64_INS_URHADD = 900;
+ public static final int ARM64_INS_URSHL = 901;
+ public static final int ARM64_INS_URSHR = 902;
+ public static final int ARM64_INS_URSQRTE = 903;
+ public static final int ARM64_INS_URSRA = 904;
+ public static final int ARM64_INS_USHL = 905;
+ public static final int ARM64_INS_USHLL = 906;
+ public static final int ARM64_INS_USHLL2 = 907;
+ public static final int ARM64_INS_USHR = 908;
+ public static final int ARM64_INS_USQADD = 909;
+ public static final int ARM64_INS_USRA = 910;
+ public static final int ARM64_INS_USUBL = 911;
+ public static final int ARM64_INS_USUBL2 = 912;
+ public static final int ARM64_INS_USUBW = 913;
+ public static final int ARM64_INS_USUBW2 = 914;
+ public static final int ARM64_INS_UUNPKHI = 915;
+ public static final int ARM64_INS_UUNPKLO = 916;
+ public static final int ARM64_INS_UXTB = 917;
+ public static final int ARM64_INS_UXTH = 918;
+ public static final int ARM64_INS_UXTL = 919;
+ public static final int ARM64_INS_UXTL2 = 920;
+ public static final int ARM64_INS_UXTW = 921;
+ public static final int ARM64_INS_UZP1 = 922;
+ public static final int ARM64_INS_UZP2 = 923;
+ public static final int ARM64_INS_WFE = 924;
+ public static final int ARM64_INS_WFI = 925;
+ public static final int ARM64_INS_WHILELE = 926;
+ public static final int ARM64_INS_WHILELO = 927;
+ public static final int ARM64_INS_WHILELS = 928;
+ public static final int ARM64_INS_WHILELT = 929;
+ public static final int ARM64_INS_WRFFR = 930;
+ public static final int ARM64_INS_XAR = 931;
+ public static final int ARM64_INS_XPACD = 932;
+ public static final int ARM64_INS_XPACI = 933;
+ public static final int ARM64_INS_XPACLRI = 934;
+ public static final int ARM64_INS_XTN = 935;
+ public static final int ARM64_INS_XTN2 = 936;
+ public static final int ARM64_INS_YIELD = 937;
+ public static final int ARM64_INS_ZIP1 = 938;
+ public static final int ARM64_INS_ZIP2 = 939;
+ public static final int ARM64_INS_SBFIZ = 940;
+ public static final int ARM64_INS_UBFIZ = 941;
+ public static final int ARM64_INS_SBFX = 942;
+ public static final int ARM64_INS_UBFX = 943;
+ public static final int ARM64_INS_BFI = 944;
+ public static final int ARM64_INS_BFXIL = 945;
+ public static final int ARM64_INS_IC = 946;
+ public static final int ARM64_INS_DC = 947;
+ public static final int ARM64_INS_AT = 948;
+ public static final int ARM64_INS_TLBI = 949;
+ public static final int ARM64_INS_ENDING = 950;
+
+ public static final int ARM64_GRP_INVALID = 0;
+ public static final int ARM64_GRP_JUMP = 1;
+ public static final int ARM64_GRP_CALL = 2;
+ public static final int ARM64_GRP_RET = 3;
+ public static final int ARM64_GRP_INT = 4;
+ public static final int ARM64_GRP_PRIVILEGE = 6;
+ public static final int ARM64_GRP_BRANCH_RELATIVE = 7;
+ public static final int ARM64_GRP_CRYPTO = 128;
+ public static final int ARM64_GRP_FPARMV8 = 129;
+ public static final int ARM64_GRP_NEON = 130;
+ public static final int ARM64_GRP_CRC = 131;
+ public static final int ARM64_GRP_AES = 132;
+ public static final int ARM64_GRP_DOTPROD = 133;
+ public static final int ARM64_GRP_FULLFP16 = 134;
+ public static final int ARM64_GRP_LSE = 135;
+ public static final int ARM64_GRP_RCPC = 136;
+ public static final int ARM64_GRP_RDM = 137;
+ public static final int ARM64_GRP_SHA2 = 138;
+ public static final int ARM64_GRP_SHA3 = 139;
+ public static final int ARM64_GRP_SM4 = 140;
+ public static final int ARM64_GRP_SVE = 141;
+ public static final int ARM64_GRP_V8_1A = 142;
+ public static final int ARM64_GRP_V8_3A = 143;
+ public static final int ARM64_GRP_V8_4A = 144;
+ public static final int ARM64_GRP_ENDING = 145;
+} \ No newline at end of file
diff --git a/capstone/bindings/java/capstone/Arm_const.java b/capstone/bindings/java/capstone/Arm_const.java
new file mode 100644
index 000000000..90af472bd
--- /dev/null
+++ b/capstone/bindings/java/capstone/Arm_const.java
@@ -0,0 +1,834 @@
+// For Capstone Engine. AUTO-GENERATED FILE, DO NOT EDIT
+package capstone;
+
+public class Arm_const {
+
+ public static final int ARM_SFT_INVALID = 0;
+ public static final int ARM_SFT_ASR = 1;
+ public static final int ARM_SFT_LSL = 2;
+ public static final int ARM_SFT_LSR = 3;
+ public static final int ARM_SFT_ROR = 4;
+ public static final int ARM_SFT_RRX = 5;
+ public static final int ARM_SFT_ASR_REG = 6;
+ public static final int ARM_SFT_LSL_REG = 7;
+ public static final int ARM_SFT_LSR_REG = 8;
+ public static final int ARM_SFT_ROR_REG = 9;
+ public static final int ARM_SFT_RRX_REG = 10;
+
+ public static final int ARM_CC_INVALID = 0;
+ public static final int ARM_CC_EQ = 1;
+ public static final int ARM_CC_NE = 2;
+ public static final int ARM_CC_HS = 3;
+ public static final int ARM_CC_LO = 4;
+ public static final int ARM_CC_MI = 5;
+ public static final int ARM_CC_PL = 6;
+ public static final int ARM_CC_VS = 7;
+ public static final int ARM_CC_VC = 8;
+ public static final int ARM_CC_HI = 9;
+ public static final int ARM_CC_LS = 10;
+ public static final int ARM_CC_GE = 11;
+ public static final int ARM_CC_LT = 12;
+ public static final int ARM_CC_GT = 13;
+ public static final int ARM_CC_LE = 14;
+ public static final int ARM_CC_AL = 15;
+
+ public static final int ARM_SYSREG_INVALID = 0;
+ public static final int ARM_SYSREG_SPSR_C = 1;
+ public static final int ARM_SYSREG_SPSR_X = 2;
+ public static final int ARM_SYSREG_SPSR_S = 4;
+ public static final int ARM_SYSREG_SPSR_F = 8;
+ public static final int ARM_SYSREG_CPSR_C = 16;
+ public static final int ARM_SYSREG_CPSR_X = 32;
+ public static final int ARM_SYSREG_CPSR_S = 64;
+ public static final int ARM_SYSREG_CPSR_F = 128;
+ public static final int ARM_SYSREG_APSR = 256;
+ public static final int ARM_SYSREG_APSR_G = 257;
+ public static final int ARM_SYSREG_APSR_NZCVQ = 258;
+ public static final int ARM_SYSREG_APSR_NZCVQG = 259;
+ public static final int ARM_SYSREG_IAPSR = 260;
+ public static final int ARM_SYSREG_IAPSR_G = 261;
+ public static final int ARM_SYSREG_IAPSR_NZCVQG = 262;
+ public static final int ARM_SYSREG_IAPSR_NZCVQ = 263;
+ public static final int ARM_SYSREG_EAPSR = 264;
+ public static final int ARM_SYSREG_EAPSR_G = 265;
+ public static final int ARM_SYSREG_EAPSR_NZCVQG = 266;
+ public static final int ARM_SYSREG_EAPSR_NZCVQ = 267;
+ public static final int ARM_SYSREG_XPSR = 268;
+ public static final int ARM_SYSREG_XPSR_G = 269;
+ public static final int ARM_SYSREG_XPSR_NZCVQG = 270;
+ public static final int ARM_SYSREG_XPSR_NZCVQ = 271;
+ public static final int ARM_SYSREG_IPSR = 272;
+ public static final int ARM_SYSREG_EPSR = 273;
+ public static final int ARM_SYSREG_IEPSR = 274;
+ public static final int ARM_SYSREG_MSP = 275;
+ public static final int ARM_SYSREG_PSP = 276;
+ public static final int ARM_SYSREG_PRIMASK = 277;
+ public static final int ARM_SYSREG_BASEPRI = 278;
+ public static final int ARM_SYSREG_BASEPRI_MAX = 279;
+ public static final int ARM_SYSREG_FAULTMASK = 280;
+ public static final int ARM_SYSREG_CONTROL = 281;
+ public static final int ARM_SYSREG_MSPLIM = 282;
+ public static final int ARM_SYSREG_PSPLIM = 283;
+ public static final int ARM_SYSREG_MSP_NS = 284;
+ public static final int ARM_SYSREG_PSP_NS = 285;
+ public static final int ARM_SYSREG_MSPLIM_NS = 286;
+ public static final int ARM_SYSREG_PSPLIM_NS = 287;
+ public static final int ARM_SYSREG_PRIMASK_NS = 288;
+ public static final int ARM_SYSREG_BASEPRI_NS = 289;
+ public static final int ARM_SYSREG_FAULTMASK_NS = 290;
+ public static final int ARM_SYSREG_CONTROL_NS = 291;
+ public static final int ARM_SYSREG_SP_NS = 292;
+ public static final int ARM_SYSREG_R8_USR = 293;
+ public static final int ARM_SYSREG_R9_USR = 294;
+ public static final int ARM_SYSREG_R10_USR = 295;
+ public static final int ARM_SYSREG_R11_USR = 296;
+ public static final int ARM_SYSREG_R12_USR = 297;
+ public static final int ARM_SYSREG_SP_USR = 298;
+ public static final int ARM_SYSREG_LR_USR = 299;
+ public static final int ARM_SYSREG_R8_FIQ = 300;
+ public static final int ARM_SYSREG_R9_FIQ = 301;
+ public static final int ARM_SYSREG_R10_FIQ = 302;
+ public static final int ARM_SYSREG_R11_FIQ = 303;
+ public static final int ARM_SYSREG_R12_FIQ = 304;
+ public static final int ARM_SYSREG_SP_FIQ = 305;
+ public static final int ARM_SYSREG_LR_FIQ = 306;
+ public static final int ARM_SYSREG_LR_IRQ = 307;
+ public static final int ARM_SYSREG_SP_IRQ = 308;
+ public static final int ARM_SYSREG_LR_SVC = 309;
+ public static final int ARM_SYSREG_SP_SVC = 310;
+ public static final int ARM_SYSREG_LR_ABT = 311;
+ public static final int ARM_SYSREG_SP_ABT = 312;
+ public static final int ARM_SYSREG_LR_UND = 313;
+ public static final int ARM_SYSREG_SP_UND = 314;
+ public static final int ARM_SYSREG_LR_MON = 315;
+ public static final int ARM_SYSREG_SP_MON = 316;
+ public static final int ARM_SYSREG_ELR_HYP = 317;
+ public static final int ARM_SYSREG_SP_HYP = 318;
+ public static final int ARM_SYSREG_SPSR_FIQ = 319;
+ public static final int ARM_SYSREG_SPSR_IRQ = 320;
+ public static final int ARM_SYSREG_SPSR_SVC = 321;
+ public static final int ARM_SYSREG_SPSR_ABT = 322;
+ public static final int ARM_SYSREG_SPSR_UND = 323;
+ public static final int ARM_SYSREG_SPSR_MON = 324;
+ public static final int ARM_SYSREG_SPSR_HYP = 325;
+
+ public static final int ARM_MB_INVALID = 0;
+ public static final int ARM_MB_RESERVED_0 = 1;
+ public static final int ARM_MB_OSHLD = 2;
+ public static final int ARM_MB_OSHST = 3;
+ public static final int ARM_MB_OSH = 4;
+ public static final int ARM_MB_RESERVED_4 = 5;
+ public static final int ARM_MB_NSHLD = 6;
+ public static final int ARM_MB_NSHST = 7;
+ public static final int ARM_MB_NSH = 8;
+ public static final int ARM_MB_RESERVED_8 = 9;
+ public static final int ARM_MB_ISHLD = 10;
+ public static final int ARM_MB_ISHST = 11;
+ public static final int ARM_MB_ISH = 12;
+ public static final int ARM_MB_RESERVED_12 = 13;
+ public static final int ARM_MB_LD = 14;
+ public static final int ARM_MB_ST = 15;
+ public static final int ARM_MB_SY = 16;
+
+ public static final int ARM_OP_INVALID = 0;
+ public static final int ARM_OP_REG = 1;
+ public static final int ARM_OP_IMM = 2;
+ public static final int ARM_OP_MEM = 3;
+ public static final int ARM_OP_FP = 4;
+ public static final int ARM_OP_CIMM = 64;
+ public static final int ARM_OP_PIMM = 65;
+ public static final int ARM_OP_SETEND = 66;
+ public static final int ARM_OP_SYSREG = 67;
+
+ public static final int ARM_SETEND_INVALID = 0;
+ public static final int ARM_SETEND_BE = 1;
+ public static final int ARM_SETEND_LE = 2;
+
+ public static final int ARM_CPSMODE_INVALID = 0;
+ public static final int ARM_CPSMODE_IE = 2;
+ public static final int ARM_CPSMODE_ID = 3;
+
+ public static final int ARM_CPSFLAG_INVALID = 0;
+ public static final int ARM_CPSFLAG_F = 1;
+ public static final int ARM_CPSFLAG_I = 2;
+ public static final int ARM_CPSFLAG_A = 4;
+ public static final int ARM_CPSFLAG_NONE = 16;
+
+ public static final int ARM_VECTORDATA_INVALID = 0;
+ public static final int ARM_VECTORDATA_I8 = 1;
+ public static final int ARM_VECTORDATA_I16 = 2;
+ public static final int ARM_VECTORDATA_I32 = 3;
+ public static final int ARM_VECTORDATA_I64 = 4;
+ public static final int ARM_VECTORDATA_S8 = 5;
+ public static final int ARM_VECTORDATA_S16 = 6;
+ public static final int ARM_VECTORDATA_S32 = 7;
+ public static final int ARM_VECTORDATA_S64 = 8;
+ public static final int ARM_VECTORDATA_U8 = 9;
+ public static final int ARM_VECTORDATA_U16 = 10;
+ public static final int ARM_VECTORDATA_U32 = 11;
+ public static final int ARM_VECTORDATA_U64 = 12;
+ public static final int ARM_VECTORDATA_P8 = 13;
+ public static final int ARM_VECTORDATA_F16 = 14;
+ public static final int ARM_VECTORDATA_F32 = 15;
+ public static final int ARM_VECTORDATA_F64 = 16;
+ public static final int ARM_VECTORDATA_F16F64 = 17;
+ public static final int ARM_VECTORDATA_F64F16 = 18;
+ public static final int ARM_VECTORDATA_F32F16 = 19;
+ public static final int ARM_VECTORDATA_F16F32 = 20;
+ public static final int ARM_VECTORDATA_F64F32 = 21;
+ public static final int ARM_VECTORDATA_F32F64 = 22;
+ public static final int ARM_VECTORDATA_S32F32 = 23;
+ public static final int ARM_VECTORDATA_U32F32 = 24;
+ public static final int ARM_VECTORDATA_F32S32 = 25;
+ public static final int ARM_VECTORDATA_F32U32 = 26;
+ public static final int ARM_VECTORDATA_F64S16 = 27;
+ public static final int ARM_VECTORDATA_F32S16 = 28;
+ public static final int ARM_VECTORDATA_F64S32 = 29;
+ public static final int ARM_VECTORDATA_S16F64 = 30;
+ public static final int ARM_VECTORDATA_S16F32 = 31;
+ public static final int ARM_VECTORDATA_S32F64 = 32;
+ public static final int ARM_VECTORDATA_U16F64 = 33;
+ public static final int ARM_VECTORDATA_U16F32 = 34;
+ public static final int ARM_VECTORDATA_U32F64 = 35;
+ public static final int ARM_VECTORDATA_F64U16 = 36;
+ public static final int ARM_VECTORDATA_F32U16 = 37;
+ public static final int ARM_VECTORDATA_F64U32 = 38;
+ public static final int ARM_VECTORDATA_F16U16 = 39;
+ public static final int ARM_VECTORDATA_U16F16 = 40;
+ public static final int ARM_VECTORDATA_F16U32 = 41;
+ public static final int ARM_VECTORDATA_U32F16 = 42;
+
+ public static final int ARM_REG_INVALID = 0;
+ public static final int ARM_REG_APSR = 1;
+ public static final int ARM_REG_APSR_NZCV = 2;
+ public static final int ARM_REG_CPSR = 3;
+ public static final int ARM_REG_FPEXC = 4;
+ public static final int ARM_REG_FPINST = 5;
+ public static final int ARM_REG_FPSCR = 6;
+ public static final int ARM_REG_FPSCR_NZCV = 7;
+ public static final int ARM_REG_FPSID = 8;
+ public static final int ARM_REG_ITSTATE = 9;
+ public static final int ARM_REG_LR = 10;
+ public static final int ARM_REG_PC = 11;
+ public static final int ARM_REG_SP = 12;
+ public static final int ARM_REG_SPSR = 13;
+ public static final int ARM_REG_D0 = 14;
+ public static final int ARM_REG_D1 = 15;
+ public static final int ARM_REG_D2 = 16;
+ public static final int ARM_REG_D3 = 17;
+ public static final int ARM_REG_D4 = 18;
+ public static final int ARM_REG_D5 = 19;
+ public static final int ARM_REG_D6 = 20;
+ public static final int ARM_REG_D7 = 21;
+ public static final int ARM_REG_D8 = 22;
+ public static final int ARM_REG_D9 = 23;
+ public static final int ARM_REG_D10 = 24;
+ public static final int ARM_REG_D11 = 25;
+ public static final int ARM_REG_D12 = 26;
+ public static final int ARM_REG_D13 = 27;
+ public static final int ARM_REG_D14 = 28;
+ public static final int ARM_REG_D15 = 29;
+ public static final int ARM_REG_D16 = 30;
+ public static final int ARM_REG_D17 = 31;
+ public static final int ARM_REG_D18 = 32;
+ public static final int ARM_REG_D19 = 33;
+ public static final int ARM_REG_D20 = 34;
+ public static final int ARM_REG_D21 = 35;
+ public static final int ARM_REG_D22 = 36;
+ public static final int ARM_REG_D23 = 37;
+ public static final int ARM_REG_D24 = 38;
+ public static final int ARM_REG_D25 = 39;
+ public static final int ARM_REG_D26 = 40;
+ public static final int ARM_REG_D27 = 41;
+ public static final int ARM_REG_D28 = 42;
+ public static final int ARM_REG_D29 = 43;
+ public static final int ARM_REG_D30 = 44;
+ public static final int ARM_REG_D31 = 45;
+ public static final int ARM_REG_FPINST2 = 46;
+ public static final int ARM_REG_MVFR0 = 47;
+ public static final int ARM_REG_MVFR1 = 48;
+ public static final int ARM_REG_MVFR2 = 49;
+ public static final int ARM_REG_Q0 = 50;
+ public static final int ARM_REG_Q1 = 51;
+ public static final int ARM_REG_Q2 = 52;
+ public static final int ARM_REG_Q3 = 53;
+ public static final int ARM_REG_Q4 = 54;
+ public static final int ARM_REG_Q5 = 55;
+ public static final int ARM_REG_Q6 = 56;
+ public static final int ARM_REG_Q7 = 57;
+ public static final int ARM_REG_Q8 = 58;
+ public static final int ARM_REG_Q9 = 59;
+ public static final int ARM_REG_Q10 = 60;
+ public static final int ARM_REG_Q11 = 61;
+ public static final int ARM_REG_Q12 = 62;
+ public static final int ARM_REG_Q13 = 63;
+ public static final int ARM_REG_Q14 = 64;
+ public static final int ARM_REG_Q15 = 65;
+ public static final int ARM_REG_R0 = 66;
+ public static final int ARM_REG_R1 = 67;
+ public static final int ARM_REG_R2 = 68;
+ public static final int ARM_REG_R3 = 69;
+ public static final int ARM_REG_R4 = 70;
+ public static final int ARM_REG_R5 = 71;
+ public static final int ARM_REG_R6 = 72;
+ public static final int ARM_REG_R7 = 73;
+ public static final int ARM_REG_R8 = 74;
+ public static final int ARM_REG_R9 = 75;
+ public static final int ARM_REG_R10 = 76;
+ public static final int ARM_REG_R11 = 77;
+ public static final int ARM_REG_R12 = 78;
+ public static final int ARM_REG_S0 = 79;
+ public static final int ARM_REG_S1 = 80;
+ public static final int ARM_REG_S2 = 81;
+ public static final int ARM_REG_S3 = 82;
+ public static final int ARM_REG_S4 = 83;
+ public static final int ARM_REG_S5 = 84;
+ public static final int ARM_REG_S6 = 85;
+ public static final int ARM_REG_S7 = 86;
+ public static final int ARM_REG_S8 = 87;
+ public static final int ARM_REG_S9 = 88;
+ public static final int ARM_REG_S10 = 89;
+ public static final int ARM_REG_S11 = 90;
+ public static final int ARM_REG_S12 = 91;
+ public static final int ARM_REG_S13 = 92;
+ public static final int ARM_REG_S14 = 93;
+ public static final int ARM_REG_S15 = 94;
+ public static final int ARM_REG_S16 = 95;
+ public static final int ARM_REG_S17 = 96;
+ public static final int ARM_REG_S18 = 97;
+ public static final int ARM_REG_S19 = 98;
+ public static final int ARM_REG_S20 = 99;
+ public static final int ARM_REG_S21 = 100;
+ public static final int ARM_REG_S22 = 101;
+ public static final int ARM_REG_S23 = 102;
+ public static final int ARM_REG_S24 = 103;
+ public static final int ARM_REG_S25 = 104;
+ public static final int ARM_REG_S26 = 105;
+ public static final int ARM_REG_S27 = 106;
+ public static final int ARM_REG_S28 = 107;
+ public static final int ARM_REG_S29 = 108;
+ public static final int ARM_REG_S30 = 109;
+ public static final int ARM_REG_S31 = 110;
+ public static final int ARM_REG_ENDING = 111;
+ public static final int ARM_REG_R13 = ARM_REG_SP;
+ public static final int ARM_REG_R14 = ARM_REG_LR;
+ public static final int ARM_REG_R15 = ARM_REG_PC;
+ public static final int ARM_REG_SB = ARM_REG_R9;
+ public static final int ARM_REG_SL = ARM_REG_R10;
+ public static final int ARM_REG_FP = ARM_REG_R11;
+ public static final int ARM_REG_IP = ARM_REG_R12;
+
+ public static final int ARM_INS_INVALID = 0;
+ public static final int ARM_INS_ADC = 1;
+ public static final int ARM_INS_ADD = 2;
+ public static final int ARM_INS_ADDW = 3;
+ public static final int ARM_INS_ADR = 4;
+ public static final int ARM_INS_AESD = 5;
+ public static final int ARM_INS_AESE = 6;
+ public static final int ARM_INS_AESIMC = 7;
+ public static final int ARM_INS_AESMC = 8;
+ public static final int ARM_INS_AND = 9;
+ public static final int ARM_INS_ASR = 10;
+ public static final int ARM_INS_B = 11;
+ public static final int ARM_INS_BFC = 12;
+ public static final int ARM_INS_BFI = 13;
+ public static final int ARM_INS_BIC = 14;
+ public static final int ARM_INS_BKPT = 15;
+ public static final int ARM_INS_BL = 16;
+ public static final int ARM_INS_BLX = 17;
+ public static final int ARM_INS_BLXNS = 18;
+ public static final int ARM_INS_BX = 19;
+ public static final int ARM_INS_BXJ = 20;
+ public static final int ARM_INS_BXNS = 21;
+ public static final int ARM_INS_CBNZ = 22;
+ public static final int ARM_INS_CBZ = 23;
+ public static final int ARM_INS_CDP = 24;
+ public static final int ARM_INS_CDP2 = 25;
+ public static final int ARM_INS_CLREX = 26;
+ public static final int ARM_INS_CLZ = 27;
+ public static final int ARM_INS_CMN = 28;
+ public static final int ARM_INS_CMP = 29;
+ public static final int ARM_INS_CPS = 30;
+ public static final int ARM_INS_CRC32B = 31;
+ public static final int ARM_INS_CRC32CB = 32;
+ public static final int ARM_INS_CRC32CH = 33;
+ public static final int ARM_INS_CRC32CW = 34;
+ public static final int ARM_INS_CRC32H = 35;
+ public static final int ARM_INS_CRC32W = 36;
+ public static final int ARM_INS_CSDB = 37;
+ public static final int ARM_INS_DBG = 38;
+ public static final int ARM_INS_DCPS1 = 39;
+ public static final int ARM_INS_DCPS2 = 40;
+ public static final int ARM_INS_DCPS3 = 41;
+ public static final int ARM_INS_DFB = 42;
+ public static final int ARM_INS_DMB = 43;
+ public static final int ARM_INS_DSB = 44;
+ public static final int ARM_INS_EOR = 45;
+ public static final int ARM_INS_ERET = 46;
+ public static final int ARM_INS_ESB = 47;
+ public static final int ARM_INS_FADDD = 48;
+ public static final int ARM_INS_FADDS = 49;
+ public static final int ARM_INS_FCMPZD = 50;
+ public static final int ARM_INS_FCMPZS = 51;
+ public static final int ARM_INS_FCONSTD = 52;
+ public static final int ARM_INS_FCONSTS = 53;
+ public static final int ARM_INS_FLDMDBX = 54;
+ public static final int ARM_INS_FLDMIAX = 55;
+ public static final int ARM_INS_FMDHR = 56;
+ public static final int ARM_INS_FMDLR = 57;
+ public static final int ARM_INS_FMSTAT = 58;
+ public static final int ARM_INS_FSTMDBX = 59;
+ public static final int ARM_INS_FSTMIAX = 60;
+ public static final int ARM_INS_FSUBD = 61;
+ public static final int ARM_INS_FSUBS = 62;
+ public static final int ARM_INS_HINT = 63;
+ public static final int ARM_INS_HLT = 64;
+ public static final int ARM_INS_HVC = 65;
+ public static final int ARM_INS_ISB = 66;
+ public static final int ARM_INS_IT = 67;
+ public static final int ARM_INS_LDA = 68;
+ public static final int ARM_INS_LDAB = 69;
+ public static final int ARM_INS_LDAEX = 70;
+ public static final int ARM_INS_LDAEXB = 71;
+ public static final int ARM_INS_LDAEXD = 72;
+ public static final int ARM_INS_LDAEXH = 73;
+ public static final int ARM_INS_LDAH = 74;
+ public static final int ARM_INS_LDC = 75;
+ public static final int ARM_INS_LDC2 = 76;
+ public static final int ARM_INS_LDC2L = 77;
+ public static final int ARM_INS_LDCL = 78;
+ public static final int ARM_INS_LDM = 79;
+ public static final int ARM_INS_LDMDA = 80;
+ public static final int ARM_INS_LDMDB = 81;
+ public static final int ARM_INS_LDMIB = 82;
+ public static final int ARM_INS_LDR = 83;
+ public static final int ARM_INS_LDRB = 84;
+ public static final int ARM_INS_LDRBT = 85;
+ public static final int ARM_INS_LDRD = 86;
+ public static final int ARM_INS_LDREX = 87;
+ public static final int ARM_INS_LDREXB = 88;
+ public static final int ARM_INS_LDREXD = 89;
+ public static final int ARM_INS_LDREXH = 90;
+ public static final int ARM_INS_LDRH = 91;
+ public static final int ARM_INS_LDRHT = 92;
+ public static final int ARM_INS_LDRSB = 93;
+ public static final int ARM_INS_LDRSBT = 94;
+ public static final int ARM_INS_LDRSH = 95;
+ public static final int ARM_INS_LDRSHT = 96;
+ public static final int ARM_INS_LDRT = 97;
+ public static final int ARM_INS_LSL = 98;
+ public static final int ARM_INS_LSR = 99;
+ public static final int ARM_INS_MCR = 100;
+ public static final int ARM_INS_MCR2 = 101;
+ public static final int ARM_INS_MCRR = 102;
+ public static final int ARM_INS_MCRR2 = 103;
+ public static final int ARM_INS_MLA = 104;
+ public static final int ARM_INS_MLS = 105;
+ public static final int ARM_INS_MOV = 106;
+ public static final int ARM_INS_MOVS = 107;
+ public static final int ARM_INS_MOVT = 108;
+ public static final int ARM_INS_MOVW = 109;
+ public static final int ARM_INS_MRC = 110;
+ public static final int ARM_INS_MRC2 = 111;
+ public static final int ARM_INS_MRRC = 112;
+ public static final int ARM_INS_MRRC2 = 113;
+ public static final int ARM_INS_MRS = 114;
+ public static final int ARM_INS_MSR = 115;
+ public static final int ARM_INS_MUL = 116;
+ public static final int ARM_INS_MVN = 117;
+ public static final int ARM_INS_NEG = 118;
+ public static final int ARM_INS_NOP = 119;
+ public static final int ARM_INS_ORN = 120;
+ public static final int ARM_INS_ORR = 121;
+ public static final int ARM_INS_PKHBT = 122;
+ public static final int ARM_INS_PKHTB = 123;
+ public static final int ARM_INS_PLD = 124;
+ public static final int ARM_INS_PLDW = 125;
+ public static final int ARM_INS_PLI = 126;
+ public static final int ARM_INS_POP = 127;
+ public static final int ARM_INS_PUSH = 128;
+ public static final int ARM_INS_QADD = 129;
+ public static final int ARM_INS_QADD16 = 130;
+ public static final int ARM_INS_QADD8 = 131;
+ public static final int ARM_INS_QASX = 132;
+ public static final int ARM_INS_QDADD = 133;
+ public static final int ARM_INS_QDSUB = 134;
+ public static final int ARM_INS_QSAX = 135;
+ public static final int ARM_INS_QSUB = 136;
+ public static final int ARM_INS_QSUB16 = 137;
+ public static final int ARM_INS_QSUB8 = 138;
+ public static final int ARM_INS_RBIT = 139;
+ public static final int ARM_INS_REV = 140;
+ public static final int ARM_INS_REV16 = 141;
+ public static final int ARM_INS_REVSH = 142;
+ public static final int ARM_INS_RFEDA = 143;
+ public static final int ARM_INS_RFEDB = 144;
+ public static final int ARM_INS_RFEIA = 145;
+ public static final int ARM_INS_RFEIB = 146;
+ public static final int ARM_INS_ROR = 147;
+ public static final int ARM_INS_RRX = 148;
+ public static final int ARM_INS_RSB = 149;
+ public static final int ARM_INS_RSC = 150;
+ public static final int ARM_INS_SADD16 = 151;
+ public static final int ARM_INS_SADD8 = 152;
+ public static final int ARM_INS_SASX = 153;
+ public static final int ARM_INS_SBC = 154;
+ public static final int ARM_INS_SBFX = 155;
+ public static final int ARM_INS_SDIV = 156;
+ public static final int ARM_INS_SEL = 157;
+ public static final int ARM_INS_SETEND = 158;
+ public static final int ARM_INS_SETPAN = 159;
+ public static final int ARM_INS_SEV = 160;
+ public static final int ARM_INS_SEVL = 161;
+ public static final int ARM_INS_SG = 162;
+ public static final int ARM_INS_SHA1C = 163;
+ public static final int ARM_INS_SHA1H = 164;
+ public static final int ARM_INS_SHA1M = 165;
+ public static final int ARM_INS_SHA1P = 166;
+ public static final int ARM_INS_SHA1SU0 = 167;
+ public static final int ARM_INS_SHA1SU1 = 168;
+ public static final int ARM_INS_SHA256H = 169;
+ public static final int ARM_INS_SHA256H2 = 170;
+ public static final int ARM_INS_SHA256SU0 = 171;
+ public static final int ARM_INS_SHA256SU1 = 172;
+ public static final int ARM_INS_SHADD16 = 173;
+ public static final int ARM_INS_SHADD8 = 174;
+ public static final int ARM_INS_SHASX = 175;
+ public static final int ARM_INS_SHSAX = 176;
+ public static final int ARM_INS_SHSUB16 = 177;
+ public static final int ARM_INS_SHSUB8 = 178;
+ public static final int ARM_INS_SMC = 179;
+ public static final int ARM_INS_SMLABB = 180;
+ public static final int ARM_INS_SMLABT = 181;
+ public static final int ARM_INS_SMLAD = 182;
+ public static final int ARM_INS_SMLADX = 183;
+ public static final int ARM_INS_SMLAL = 184;
+ public static final int ARM_INS_SMLALBB = 185;
+ public static final int ARM_INS_SMLALBT = 186;
+ public static final int ARM_INS_SMLALD = 187;
+ public static final int ARM_INS_SMLALDX = 188;
+ public static final int ARM_INS_SMLALTB = 189;
+ public static final int ARM_INS_SMLALTT = 190;
+ public static final int ARM_INS_SMLATB = 191;
+ public static final int ARM_INS_SMLATT = 192;
+ public static final int ARM_INS_SMLAWB = 193;
+ public static final int ARM_INS_SMLAWT = 194;
+ public static final int ARM_INS_SMLSD = 195;
+ public static final int ARM_INS_SMLSDX = 196;
+ public static final int ARM_INS_SMLSLD = 197;
+ public static final int ARM_INS_SMLSLDX = 198;
+ public static final int ARM_INS_SMMLA = 199;
+ public static final int ARM_INS_SMMLAR = 200;
+ public static final int ARM_INS_SMMLS = 201;
+ public static final int ARM_INS_SMMLSR = 202;
+ public static final int ARM_INS_SMMUL = 203;
+ public static final int ARM_INS_SMMULR = 204;
+ public static final int ARM_INS_SMUAD = 205;
+ public static final int ARM_INS_SMUADX = 206;
+ public static final int ARM_INS_SMULBB = 207;
+ public static final int ARM_INS_SMULBT = 208;
+ public static final int ARM_INS_SMULL = 209;
+ public static final int ARM_INS_SMULTB = 210;
+ public static final int ARM_INS_SMULTT = 211;
+ public static final int ARM_INS_SMULWB = 212;
+ public static final int ARM_INS_SMULWT = 213;
+ public static final int ARM_INS_SMUSD = 214;
+ public static final int ARM_INS_SMUSDX = 215;
+ public static final int ARM_INS_SRSDA = 216;
+ public static final int ARM_INS_SRSDB = 217;
+ public static final int ARM_INS_SRSIA = 218;
+ public static final int ARM_INS_SRSIB = 219;
+ public static final int ARM_INS_SSAT = 220;
+ public static final int ARM_INS_SSAT16 = 221;
+ public static final int ARM_INS_SSAX = 222;
+ public static final int ARM_INS_SSUB16 = 223;
+ public static final int ARM_INS_SSUB8 = 224;
+ public static final int ARM_INS_STC = 225;
+ public static final int ARM_INS_STC2 = 226;
+ public static final int ARM_INS_STC2L = 227;
+ public static final int ARM_INS_STCL = 228;
+ public static final int ARM_INS_STL = 229;
+ public static final int ARM_INS_STLB = 230;
+ public static final int ARM_INS_STLEX = 231;
+ public static final int ARM_INS_STLEXB = 232;
+ public static final int ARM_INS_STLEXD = 233;
+ public static final int ARM_INS_STLEXH = 234;
+ public static final int ARM_INS_STLH = 235;
+ public static final int ARM_INS_STM = 236;
+ public static final int ARM_INS_STMDA = 237;
+ public static final int ARM_INS_STMDB = 238;
+ public static final int ARM_INS_STMIB = 239;
+ public static final int ARM_INS_STR = 240;
+ public static final int ARM_INS_STRB = 241;
+ public static final int ARM_INS_STRBT = 242;
+ public static final int ARM_INS_STRD = 243;
+ public static final int ARM_INS_STREX = 244;
+ public static final int ARM_INS_STREXB = 245;
+ public static final int ARM_INS_STREXD = 246;
+ public static final int ARM_INS_STREXH = 247;
+ public static final int ARM_INS_STRH = 248;
+ public static final int ARM_INS_STRHT = 249;
+ public static final int ARM_INS_STRT = 250;
+ public static final int ARM_INS_SUB = 251;
+ public static final int ARM_INS_SUBS = 252;
+ public static final int ARM_INS_SUBW = 253;
+ public static final int ARM_INS_SVC = 254;
+ public static final int ARM_INS_SWP = 255;
+ public static final int ARM_INS_SWPB = 256;
+ public static final int ARM_INS_SXTAB = 257;
+ public static final int ARM_INS_SXTAB16 = 258;
+ public static final int ARM_INS_SXTAH = 259;
+ public static final int ARM_INS_SXTB = 260;
+ public static final int ARM_INS_SXTB16 = 261;
+ public static final int ARM_INS_SXTH = 262;
+ public static final int ARM_INS_TBB = 263;
+ public static final int ARM_INS_TBH = 264;
+ public static final int ARM_INS_TEQ = 265;
+ public static final int ARM_INS_TRAP = 266;
+ public static final int ARM_INS_TSB = 267;
+ public static final int ARM_INS_TST = 268;
+ public static final int ARM_INS_TT = 269;
+ public static final int ARM_INS_TTA = 270;
+ public static final int ARM_INS_TTAT = 271;
+ public static final int ARM_INS_TTT = 272;
+ public static final int ARM_INS_UADD16 = 273;
+ public static final int ARM_INS_UADD8 = 274;
+ public static final int ARM_INS_UASX = 275;
+ public static final int ARM_INS_UBFX = 276;
+ public static final int ARM_INS_UDF = 277;
+ public static final int ARM_INS_UDIV = 278;
+ public static final int ARM_INS_UHADD16 = 279;
+ public static final int ARM_INS_UHADD8 = 280;
+ public static final int ARM_INS_UHASX = 281;
+ public static final int ARM_INS_UHSAX = 282;
+ public static final int ARM_INS_UHSUB16 = 283;
+ public static final int ARM_INS_UHSUB8 = 284;
+ public static final int ARM_INS_UMAAL = 285;
+ public static final int ARM_INS_UMLAL = 286;
+ public static final int ARM_INS_UMULL = 287;
+ public static final int ARM_INS_UQADD16 = 288;
+ public static final int ARM_INS_UQADD8 = 289;
+ public static final int ARM_INS_UQASX = 290;
+ public static final int ARM_INS_UQSAX = 291;
+ public static final int ARM_INS_UQSUB16 = 292;
+ public static final int ARM_INS_UQSUB8 = 293;
+ public static final int ARM_INS_USAD8 = 294;
+ public static final int ARM_INS_USADA8 = 295;
+ public static final int ARM_INS_USAT = 296;
+ public static final int ARM_INS_USAT16 = 297;
+ public static final int ARM_INS_USAX = 298;
+ public static final int ARM_INS_USUB16 = 299;
+ public static final int ARM_INS_USUB8 = 300;
+ public static final int ARM_INS_UXTAB = 301;
+ public static final int ARM_INS_UXTAB16 = 302;
+ public static final int ARM_INS_UXTAH = 303;
+ public static final int ARM_INS_UXTB = 304;
+ public static final int ARM_INS_UXTB16 = 305;
+ public static final int ARM_INS_UXTH = 306;
+ public static final int ARM_INS_VABA = 307;
+ public static final int ARM_INS_VABAL = 308;
+ public static final int ARM_INS_VABD = 309;
+ public static final int ARM_INS_VABDL = 310;
+ public static final int ARM_INS_VABS = 311;
+ public static final int ARM_INS_VACGE = 312;
+ public static final int ARM_INS_VACGT = 313;
+ public static final int ARM_INS_VACLE = 314;
+ public static final int ARM_INS_VACLT = 315;
+ public static final int ARM_INS_VADD = 316;
+ public static final int ARM_INS_VADDHN = 317;
+ public static final int ARM_INS_VADDL = 318;
+ public static final int ARM_INS_VADDW = 319;
+ public static final int ARM_INS_VAND = 320;
+ public static final int ARM_INS_VBIC = 321;
+ public static final int ARM_INS_VBIF = 322;
+ public static final int ARM_INS_VBIT = 323;
+ public static final int ARM_INS_VBSL = 324;
+ public static final int ARM_INS_VCADD = 325;
+ public static final int ARM_INS_VCEQ = 326;
+ public static final int ARM_INS_VCGE = 327;
+ public static final int ARM_INS_VCGT = 328;
+ public static final int ARM_INS_VCLE = 329;
+ public static final int ARM_INS_VCLS = 330;
+ public static final int ARM_INS_VCLT = 331;
+ public static final int ARM_INS_VCLZ = 332;
+ public static final int ARM_INS_VCMLA = 333;
+ public static final int ARM_INS_VCMP = 334;
+ public static final int ARM_INS_VCMPE = 335;
+ public static final int ARM_INS_VCNT = 336;
+ public static final int ARM_INS_VCVT = 337;
+ public static final int ARM_INS_VCVTA = 338;
+ public static final int ARM_INS_VCVTB = 339;
+ public static final int ARM_INS_VCVTM = 340;
+ public static final int ARM_INS_VCVTN = 341;
+ public static final int ARM_INS_VCVTP = 342;
+ public static final int ARM_INS_VCVTR = 343;
+ public static final int ARM_INS_VCVTT = 344;
+ public static final int ARM_INS_VDIV = 345;
+ public static final int ARM_INS_VDUP = 346;
+ public static final int ARM_INS_VEOR = 347;
+ public static final int ARM_INS_VEXT = 348;
+ public static final int ARM_INS_VFMA = 349;
+ public static final int ARM_INS_VFMS = 350;
+ public static final int ARM_INS_VFNMA = 351;
+ public static final int ARM_INS_VFNMS = 352;
+ public static final int ARM_INS_VHADD = 353;
+ public static final int ARM_INS_VHSUB = 354;
+ public static final int ARM_INS_VINS = 355;
+ public static final int ARM_INS_VJCVT = 356;
+ public static final int ARM_INS_VLD1 = 357;
+ public static final int ARM_INS_VLD2 = 358;
+ public static final int ARM_INS_VLD3 = 359;
+ public static final int ARM_INS_VLD4 = 360;
+ public static final int ARM_INS_VLDMDB = 361;
+ public static final int ARM_INS_VLDMIA = 362;
+ public static final int ARM_INS_VLDR = 363;
+ public static final int ARM_INS_VLLDM = 364;
+ public static final int ARM_INS_VLSTM = 365;
+ public static final int ARM_INS_VMAX = 366;
+ public static final int ARM_INS_VMAXNM = 367;
+ public static final int ARM_INS_VMIN = 368;
+ public static final int ARM_INS_VMINNM = 369;
+ public static final int ARM_INS_VMLA = 370;
+ public static final int ARM_INS_VMLAL = 371;
+ public static final int ARM_INS_VMLS = 372;
+ public static final int ARM_INS_VMLSL = 373;
+ public static final int ARM_INS_VMOV = 374;
+ public static final int ARM_INS_VMOVL = 375;
+ public static final int ARM_INS_VMOVN = 376;
+ public static final int ARM_INS_VMOVX = 377;
+ public static final int ARM_INS_VMRS = 378;
+ public static final int ARM_INS_VMSR = 379;
+ public static final int ARM_INS_VMUL = 380;
+ public static final int ARM_INS_VMULL = 381;
+ public static final int ARM_INS_VMVN = 382;
+ public static final int ARM_INS_VNEG = 383;
+ public static final int ARM_INS_VNMLA = 384;
+ public static final int ARM_INS_VNMLS = 385;
+ public static final int ARM_INS_VNMUL = 386;
+ public static final int ARM_INS_VORN = 387;
+ public static final int ARM_INS_VORR = 388;
+ public static final int ARM_INS_VPADAL = 389;
+ public static final int ARM_INS_VPADD = 390;
+ public static final int ARM_INS_VPADDL = 391;
+ public static final int ARM_INS_VPMAX = 392;
+ public static final int ARM_INS_VPMIN = 393;
+ public static final int ARM_INS_VPOP = 394;
+ public static final int ARM_INS_VPUSH = 395;
+ public static final int ARM_INS_VQABS = 396;
+ public static final int ARM_INS_VQADD = 397;
+ public static final int ARM_INS_VQDMLAL = 398;
+ public static final int ARM_INS_VQDMLSL = 399;
+ public static final int ARM_INS_VQDMULH = 400;
+ public static final int ARM_INS_VQDMULL = 401;
+ public static final int ARM_INS_VQMOVN = 402;
+ public static final int ARM_INS_VQMOVUN = 403;
+ public static final int ARM_INS_VQNEG = 404;
+ public static final int ARM_INS_VQRDMLAH = 405;
+ public static final int ARM_INS_VQRDMLSH = 406;
+ public static final int ARM_INS_VQRDMULH = 407;
+ public static final int ARM_INS_VQRSHL = 408;
+ public static final int ARM_INS_VQRSHRN = 409;
+ public static final int ARM_INS_VQRSHRUN = 410;
+ public static final int ARM_INS_VQSHL = 411;
+ public static final int ARM_INS_VQSHLU = 412;
+ public static final int ARM_INS_VQSHRN = 413;
+ public static final int ARM_INS_VQSHRUN = 414;
+ public static final int ARM_INS_VQSUB = 415;
+ public static final int ARM_INS_VRADDHN = 416;
+ public static final int ARM_INS_VRECPE = 417;
+ public static final int ARM_INS_VRECPS = 418;
+ public static final int ARM_INS_VREV16 = 419;
+ public static final int ARM_INS_VREV32 = 420;
+ public static final int ARM_INS_VREV64 = 421;
+ public static final int ARM_INS_VRHADD = 422;
+ public static final int ARM_INS_VRINTA = 423;
+ public static final int ARM_INS_VRINTM = 424;
+ public static final int ARM_INS_VRINTN = 425;
+ public static final int ARM_INS_VRINTP = 426;
+ public static final int ARM_INS_VRINTR = 427;
+ public static final int ARM_INS_VRINTX = 428;
+ public static final int ARM_INS_VRINTZ = 429;
+ public static final int ARM_INS_VRSHL = 430;
+ public static final int ARM_INS_VRSHR = 431;
+ public static final int ARM_INS_VRSHRN = 432;
+ public static final int ARM_INS_VRSQRTE = 433;
+ public static final int ARM_INS_VRSQRTS = 434;
+ public static final int ARM_INS_VRSRA = 435;
+ public static final int ARM_INS_VRSUBHN = 436;
+ public static final int ARM_INS_VSDOT = 437;
+ public static final int ARM_INS_VSELEQ = 438;
+ public static final int ARM_INS_VSELGE = 439;
+ public static final int ARM_INS_VSELGT = 440;
+ public static final int ARM_INS_VSELVS = 441;
+ public static final int ARM_INS_VSHL = 442;
+ public static final int ARM_INS_VSHLL = 443;
+ public static final int ARM_INS_VSHR = 444;
+ public static final int ARM_INS_VSHRN = 445;
+ public static final int ARM_INS_VSLI = 446;
+ public static final int ARM_INS_VSQRT = 447;
+ public static final int ARM_INS_VSRA = 448;
+ public static final int ARM_INS_VSRI = 449;
+ public static final int ARM_INS_VST1 = 450;
+ public static final int ARM_INS_VST2 = 451;
+ public static final int ARM_INS_VST3 = 452;
+ public static final int ARM_INS_VST4 = 453;
+ public static final int ARM_INS_VSTMDB = 454;
+ public static final int ARM_INS_VSTMIA = 455;
+ public static final int ARM_INS_VSTR = 456;
+ public static final int ARM_INS_VSUB = 457;
+ public static final int ARM_INS_VSUBHN = 458;
+ public static final int ARM_INS_VSUBL = 459;
+ public static final int ARM_INS_VSUBW = 460;
+ public static final int ARM_INS_VSWP = 461;
+ public static final int ARM_INS_VTBL = 462;
+ public static final int ARM_INS_VTBX = 463;
+ public static final int ARM_INS_VTRN = 464;
+ public static final int ARM_INS_VTST = 465;
+ public static final int ARM_INS_VUDOT = 466;
+ public static final int ARM_INS_VUZP = 467;
+ public static final int ARM_INS_VZIP = 468;
+ public static final int ARM_INS_WFE = 469;
+ public static final int ARM_INS_WFI = 470;
+ public static final int ARM_INS_YIELD = 471;
+ public static final int ARM_INS_ENDING = 472;
+
+ public static final int ARM_GRP_INVALID = 0;
+ public static final int ARM_GRP_JUMP = 1;
+ public static final int ARM_GRP_CALL = 2;
+ public static final int ARM_GRP_INT = 4;
+ public static final int ARM_GRP_PRIVILEGE = 6;
+ public static final int ARM_GRP_BRANCH_RELATIVE = 7;
+ public static final int ARM_GRP_CRYPTO = 128;
+ public static final int ARM_GRP_DATABARRIER = 129;
+ public static final int ARM_GRP_DIVIDE = 130;
+ public static final int ARM_GRP_FPARMV8 = 131;
+ public static final int ARM_GRP_MULTPRO = 132;
+ public static final int ARM_GRP_NEON = 133;
+ public static final int ARM_GRP_T2EXTRACTPACK = 134;
+ public static final int ARM_GRP_THUMB2DSP = 135;
+ public static final int ARM_GRP_TRUSTZONE = 136;
+ public static final int ARM_GRP_V4T = 137;
+ public static final int ARM_GRP_V5T = 138;
+ public static final int ARM_GRP_V5TE = 139;
+ public static final int ARM_GRP_V6 = 140;
+ public static final int ARM_GRP_V6T2 = 141;
+ public static final int ARM_GRP_V7 = 142;
+ public static final int ARM_GRP_V8 = 143;
+ public static final int ARM_GRP_VFP2 = 144;
+ public static final int ARM_GRP_VFP3 = 145;
+ public static final int ARM_GRP_VFP4 = 146;
+ public static final int ARM_GRP_ARM = 147;
+ public static final int ARM_GRP_MCLASS = 148;
+ public static final int ARM_GRP_NOTMCLASS = 149;
+ public static final int ARM_GRP_THUMB = 150;
+ public static final int ARM_GRP_THUMB1ONLY = 151;
+ public static final int ARM_GRP_THUMB2 = 152;
+ public static final int ARM_GRP_PREV8 = 153;
+ public static final int ARM_GRP_FPVMLX = 154;
+ public static final int ARM_GRP_MULOPS = 155;
+ public static final int ARM_GRP_CRC = 156;
+ public static final int ARM_GRP_DPVFP = 157;
+ public static final int ARM_GRP_V6M = 158;
+ public static final int ARM_GRP_VIRTUALIZATION = 159;
+ public static final int ARM_GRP_ENDING = 160;
+} \ No newline at end of file
diff --git a/capstone/bindings/java/capstone/Capstone.java b/capstone/bindings/java/capstone/Capstone.java
new file mode 100644
index 000000000..040c79e2b
--- /dev/null
+++ b/capstone/bindings/java/capstone/Capstone.java
@@ -0,0 +1,546 @@
+// Capstone Java binding
+// By Nguyen Anh Quynh & Dang Hoang Vu, 2013
+
+package capstone;
+
+import com.sun.jna.Library;
+import com.sun.jna.Memory;
+import com.sun.jna.Native;
+import com.sun.jna.NativeLong;
+import com.sun.jna.ptr.ByteByReference;
+import com.sun.jna.ptr.NativeLongByReference;
+import com.sun.jna.Structure;
+import com.sun.jna.Union;
+import com.sun.jna.Pointer;
+import com.sun.jna.ptr.PointerByReference;
+import com.sun.jna.ptr.IntByReference;
+
+import java.util.List;
+import java.util.Arrays;
+import java.lang.RuntimeException;
+
+public class Capstone {
+
+ protected static abstract class OpInfo {};
+ protected static abstract class UnionOpInfo extends Structure {};
+
+ public static class UnionArch extends Union {
+ public static class ByValue extends UnionArch implements Union.ByValue {};
+
+ public Arm.UnionOpInfo arm;
+ public Arm64.UnionOpInfo arm64;
+ public X86.UnionOpInfo x86;
+ public Mips.UnionOpInfo mips;
+ public Ppc.UnionOpInfo ppc;
+ public Sparc.UnionOpInfo sparc;
+ public Systemz.UnionOpInfo sysz;
+ public Xcore.UnionOpInfo xcore;
+ public M680x.UnionOpInfo m680x;
+ }
+
+ protected static class _cs_insn extends Structure {
+ // instruction ID.
+ public int id;
+ // instruction address.
+ public long address;
+ // instruction size.
+ public short size;
+ // machine bytes of instruction.
+ public byte[] bytes;
+ // instruction mnemonic. NOTE: irrelevant for diet engine.
+ public byte[] mnemonic;
+ // instruction operands. NOTE: irrelevant for diet engine.
+ public byte[] op_str;
+ // detail information of instruction.
+ public _cs_detail.ByReference cs_detail;
+
+ public _cs_insn() {
+ bytes = new byte[24];
+ mnemonic = new byte[32];
+ op_str = new byte[160];
+ java.util.Arrays.fill(mnemonic, (byte) 0);
+ java.util.Arrays.fill(op_str, (byte) 0);
+ }
+
+ public _cs_insn(Pointer p) {
+ this();
+ useMemory(p);
+ read();
+ }
+
+ @Override
+ public List getFieldOrder() {
+ return Arrays.asList("id", "address", "size", "bytes", "mnemonic", "op_str", "cs_detail");
+ }
+ }
+
+ protected static class _cs_detail extends Structure {
+ public static class ByReference extends _cs_detail implements Structure.ByReference {};
+
+ // list of all implicit registers being read.
+ public short[] regs_read = new short[16];
+ public byte regs_read_count;
+ // list of all implicit registers being written.
+ public short[] regs_write = new short[20];
+ public byte regs_write_count;
+ // list of semantic groups this instruction belongs to.
+ public byte[] groups = new byte[8];
+ public byte groups_count;
+
+ public UnionArch arch;
+
+ @Override
+ public List getFieldOrder() {
+ return Arrays.asList("regs_read", "regs_read_count", "regs_write", "regs_write_count", "groups", "groups_count", "arch");
+ }
+ }
+
+ public static class CsInsn {
+ private Pointer csh;
+ private CS cs;
+ private _cs_insn raw;
+ private int arch;
+
+ // instruction ID.
+ public int id;
+ // instruction address.
+ public long address;
+ // instruction size.
+ public short size;
+ // Machine bytes of this instruction, with number of bytes indicated by size above
+ public byte[] bytes;
+ // instruction mnemonic. NOTE: irrelevant for diet engine.
+ public String mnemonic;
+ // instruction operands. NOTE: irrelevant for diet engine.
+ public String opStr;
+ // list of all implicit registers being read.
+ public short[] regsRead;
+ // list of all implicit registers being written.
+ public short[] regsWrite;
+ // list of semantic groups this instruction belongs to.
+ public byte[] groups;
+ public OpInfo operands;
+
+ public CsInsn (_cs_insn insn, int _arch, Pointer _csh, CS _cs, boolean diet) {
+ id = insn.id;
+ address = insn.address;
+ size = insn.size;
+
+ if (!diet) {
+ int lm = 0;
+ while (insn.mnemonic[lm++] != 0);
+ int lo = 0;
+ while (insn.op_str[lo++] != 0);
+ mnemonic = new String(insn.mnemonic, 0, lm-1);
+ opStr = new String(insn.op_str, 0, lo-1);
+ bytes = Arrays.copyOf(insn.bytes, insn.size);
+ }
+
+ cs = _cs;
+ arch = _arch;
+ raw = insn;
+ csh = _csh;
+
+ if (insn.cs_detail != null) {
+ if (!diet) {
+ regsRead = new short[insn.cs_detail.regs_read_count];
+ for (int i=0; i<regsRead.length; i++)
+ regsRead[i] = insn.cs_detail.regs_read[i];
+ regsWrite = new short[insn.cs_detail.regs_write_count];
+ for (int i=0; i<regsWrite.length; i++)
+ regsWrite[i] = insn.cs_detail.regs_write[i];
+ groups = new byte[insn.cs_detail.groups_count];
+ for (int i=0; i<groups.length; i++)
+ groups[i] = insn.cs_detail.groups[i];
+ }
+
+ operands = getOptInfo(insn.cs_detail);
+ }
+ }
+
+ private OpInfo getOptInfo(_cs_detail detail) {
+ OpInfo op_info = null;
+
+ switch (this.arch) {
+ case CS_ARCH_ARM:
+ detail.arch.setType(Arm.UnionOpInfo.class);
+ detail.arch.read();
+ op_info = new Arm.OpInfo((Arm.UnionOpInfo) detail.arch.arm);
+ break;
+ case CS_ARCH_ARM64:
+ detail.arch.setType(Arm64.UnionOpInfo.class);
+ detail.arch.read();
+ op_info = new Arm64.OpInfo((Arm64.UnionOpInfo) detail.arch.arm64);
+ break;
+ case CS_ARCH_MIPS:
+ detail.arch.setType(Mips.UnionOpInfo.class);
+ detail.arch.read();
+ op_info = new Mips.OpInfo((Mips.UnionOpInfo) detail.arch.mips);
+ break;
+ case CS_ARCH_X86:
+ detail.arch.setType(X86.UnionOpInfo.class);
+ detail.arch.read();
+ op_info = new X86.OpInfo((X86.UnionOpInfo) detail.arch.x86);
+ break;
+ case CS_ARCH_SPARC:
+ detail.arch.setType(Sparc.UnionOpInfo.class);
+ detail.arch.read();
+ op_info = new Sparc.OpInfo((Sparc.UnionOpInfo) detail.arch.sparc);
+ break;
+ case CS_ARCH_SYSZ:
+ detail.arch.setType(Systemz.UnionOpInfo.class);
+ detail.arch.read();
+ op_info = new Systemz.OpInfo((Systemz.UnionOpInfo) detail.arch.sysz);
+ break;
+ case CS_ARCH_PPC:
+ detail.arch.setType(Ppc.UnionOpInfo.class);
+ detail.arch.read();
+ op_info = new Ppc.OpInfo((Ppc.UnionOpInfo) detail.arch.ppc);
+ break;
+ case CS_ARCH_XCORE:
+ detail.arch.setType(Xcore.UnionOpInfo.class);
+ detail.arch.read();
+ op_info = new Xcore.OpInfo((Xcore.UnionOpInfo) detail.arch.xcore);
+ break;
+ case CS_ARCH_M680X:
+ detail.arch.setType(M680x.UnionOpInfo.class);
+ detail.arch.read();
+ op_info = new M680x.OpInfo((M680x.UnionOpInfo) detail.arch.m680x);
+ break;
+ default:
+ }
+
+ return op_info;
+ }
+
+ public int opCount(int type) {
+ return cs.cs_op_count(csh, raw.getPointer(), type);
+ }
+
+ public int opIndex(int type, int index) {
+ return cs.cs_op_index(csh, raw.getPointer(), type, index);
+ }
+
+ public boolean regRead(int reg_id) {
+ return cs.cs_reg_read(csh, raw.getPointer(), reg_id) != 0;
+ }
+
+ public boolean regWrite(int reg_id) {
+ return cs.cs_reg_write(csh, raw.getPointer(), reg_id) != 0;
+ }
+
+ public int errno() {
+ return cs.cs_errno(csh);
+ }
+
+ public String regName(int reg_id) {
+ return cs.cs_reg_name(csh, reg_id);
+ }
+
+ public String insnName() {
+ return cs.cs_insn_name(csh, id);
+ }
+
+ public String groupName(int id) {
+ return cs.cs_group_name(csh, id);
+ }
+
+ public boolean group(int gid) {
+ return cs.cs_insn_group(csh, raw.getPointer(), gid) != 0;
+ }
+
+ public CsRegsAccess regsAccess() {
+ Memory regsReadMemory = new Memory(64*2);
+ ByteByReference regsReadCountRef = new ByteByReference();
+ Memory regsWriteMemory = new Memory(64*2);
+ ByteByReference regsWriteCountRef = new ByteByReference();
+
+ int c = cs.cs_regs_access(csh, raw.getPointer(), regsReadMemory, regsReadCountRef, regsWriteMemory, regsWriteCountRef);
+ if (c != CS_ERR_OK) {
+ return null;
+ }
+
+ byte regsReadCount = regsReadCountRef.getValue();
+ byte regsWriteCount = regsWriteCountRef.getValue();
+
+ short[] regsRead = new short[regsReadCount];
+ regsReadMemory.read(0, regsRead, 0, regsReadCount);
+
+ short[] regsWrite = new short[regsWriteCount];
+ regsWriteMemory.read(0, regsWrite, 0, regsWriteCount);
+
+ return new CsRegsAccess(regsRead, regsWrite);
+ }
+ }
+
+ public static class CsRegsAccess {
+ public short[] regsRead;
+ public short[] regsWrite;
+
+ public CsRegsAccess(short[] regsRead, short[] regsWrite) {
+ this.regsRead = regsRead;
+ this.regsWrite = regsWrite;
+ }
+ }
+
+ private CsInsn[] fromArrayRaw(_cs_insn[] arr_raw) {
+ CsInsn[] arr = new CsInsn[arr_raw.length];
+
+ for (int i = 0; i < arr_raw.length; i++) {
+ arr[i] = new CsInsn(arr_raw[i], this.arch, ns.csh, cs, this.diet);
+ }
+
+ return arr;
+ }
+
+ private interface CS extends Library {
+ public int cs_open(int arch, int mode, PointerByReference handle);
+ public NativeLong cs_disasm(Pointer handle, byte[] code, NativeLong code_len,
+ long addr, NativeLong count, PointerByReference insn);
+ public void cs_free(Pointer p, NativeLong count);
+ public int cs_close(PointerByReference handle);
+ public int cs_option(Pointer handle, int option, NativeLong optionValue);
+
+ public String cs_reg_name(Pointer csh, int id);
+ public int cs_op_count(Pointer csh, Pointer insn, int type);
+ public int cs_op_index(Pointer csh, Pointer insn, int type, int index);
+
+ public String cs_insn_name(Pointer csh, int id);
+ public String cs_group_name(Pointer csh, int id);
+ public byte cs_insn_group(Pointer csh, Pointer insn, int id);
+ public byte cs_reg_read(Pointer csh, Pointer insn, int id);
+ public byte cs_reg_write(Pointer csh, Pointer insn, int id);
+ public int cs_errno(Pointer csh);
+ public int cs_version(IntByReference major, IntByReference minor);
+ public boolean cs_support(int query);
+ public String cs_strerror(int code);
+ public int cs_regs_access(Pointer handle, Pointer insn, Pointer regs_read, ByteByReference regs_read_count, Pointer regs_write, ByteByReference regs_write_count);
+ }
+
+ // Capstone API version
+ public static final int CS_API_MAJOR = 5;
+ public static final int CS_API_MINOR = 0;
+
+ // architectures
+ public static final int CS_ARCH_ARM = 0;
+ public static final int CS_ARCH_ARM64 = 1;
+ public static final int CS_ARCH_MIPS = 2;
+ public static final int CS_ARCH_X86 = 3;
+ public static final int CS_ARCH_PPC = 4;
+ public static final int CS_ARCH_SPARC = 5;
+ public static final int CS_ARCH_SYSZ = 6;
+ public static final int CS_ARCH_XCORE = 7;
+ public static final int CS_ARCH_M68K = 8;
+ public static final int CS_ARCH_TMS320C64X = 9;
+ public static final int CS_ARCH_M680X = 10;
+ public static final int CS_ARCH_MAX = 11;
+ public static final int CS_ARCH_ALL = 0xFFFF; // query id for cs_support()
+
+ // disasm mode
+ public static final int CS_MODE_LITTLE_ENDIAN = 0; // little-endian mode (default mode)
+ public static final int CS_MODE_ARM = 0; // 32-bit ARM
+ public static final int CS_MODE_16 = 1 << 1; // 16-bit mode for X86
+ public static final int CS_MODE_32 = 1 << 2; // 32-bit mode for X86
+ public static final int CS_MODE_64 = 1 << 3; // 64-bit mode for X86, PPC
+ public static final int CS_MODE_THUMB = 1 << 4; // ARM's Thumb mode, including Thumb-2
+ public static final int CS_MODE_MCLASS = 1 << 5; // ARM's Cortex-M series
+ public static final int CS_MODE_V8 = 1 << 6; // ARMv8 A32 encodings for ARM
+ public static final int CS_MODE_MICRO = 1 << 4; // MicroMips mode (Mips arch)
+ public static final int CS_MODE_MIPS3 = 1 << 5; // Mips III ISA
+ public static final int CS_MODE_MIPS32R6 = 1 << 6; // Mips32r6 ISA
+ public static final int CS_MODE_MIPS2 = 1 << 7; // Mips II ISA
+ public static final int CS_MODE_BIG_ENDIAN = 1 << 31; // big-endian mode
+ public static final int CS_MODE_V9 = 1 << 4; // SparcV9 mode (Sparc arch)
+ public static final int CS_MODE_MIPS32 = CS_MODE_32; // Mips32 ISA
+ public static final int CS_MODE_MIPS64 = CS_MODE_64; // Mips64 ISA
+ public static final int CS_MODE_QPX = 1 << 4; // Quad Processing eXtensions mode (PPC)
+ public static final int CS_MODE_M680X_6301 = 1 << 1; // M680X Hitachi 6301,6303 mode
+ public static final int CS_MODE_M680X_6309 = 1 << 2; // M680X Hitachi 6309 mode
+ public static final int CS_MODE_M680X_6800 = 1 << 3; // M680X Motorola 6800,6802 mode
+ public static final int CS_MODE_M680X_6801 = 1 << 4; // M680X Motorola 6801,6803 mode
+ public static final int CS_MODE_M680X_6805 = 1 << 5; // M680X Motorola 6805 mode
+ public static final int CS_MODE_M680X_6808 = 1 << 6; // M680X Motorola 6808 mode
+ public static final int CS_MODE_M680X_6809 = 1 << 7; // M680X Motorola 6809 mode
+ public static final int CS_MODE_M680X_6811 = 1 << 8; // M680X Motorola/Freescale 68HC11 mode
+ public static final int CS_MODE_M680X_CPU12 = 1 << 9; // M680X Motorola/Freescale/NXP CPU12 mode
+ public static final int CS_MODE_M680X_HCS08 = 1 << 10; // M680X Freescale HCS08 mode
+
+ // Capstone error
+ public static final int CS_ERR_OK = 0;
+ public static final int CS_ERR_MEM = 1; // Out-Of-Memory error
+ public static final int CS_ERR_ARCH = 2; // Unsupported architecture
+ public static final int CS_ERR_HANDLE = 3; // Invalid handle
+ public static final int CS_ERR_CSH = 4; // Invalid csh argument
+ public static final int CS_ERR_MODE = 5; // Invalid/unsupported mode
+ public static final int CS_ERR_OPTION = 6; // Invalid/unsupported option: cs_option()
+ public static final int CS_ERR_DETAIL = 7; // Invalid/unsupported option: cs_option()
+ public static final int CS_ERR_MEMSETUP = 8;
+ public static final int CS_ERR_VERSION = 9; //Unsupported version (bindings)
+ public static final int CS_ERR_DIET = 10; //Information irrelevant in diet engine
+ public static final int CS_ERR_SKIPDATA = 11; //Access irrelevant data for "data" instruction in SKIPDATA mode
+ public static final int CS_ERR_X86_ATT = 12; //X86 AT&T syntax is unsupported (opt-out at compile time)
+ public static final int CS_ERR_X86_INTEL = 13; //X86 Intel syntax is unsupported (opt-out at compile time)
+
+ // Capstone option type
+ public static final int CS_OPT_SYNTAX = 1; // Intel X86 asm syntax (CS_ARCH_X86 arch)
+ public static final int CS_OPT_DETAIL = 2; // Break down instruction structure into details
+ public static final int CS_OPT_MODE = 3; // Change engine's mode at run-time
+
+ // Capstone option value
+ public static final int CS_OPT_OFF = 0; // Turn OFF an option - default option of CS_OPT_DETAIL
+ public static final int CS_OPT_SYNTAX_INTEL = 1; // Intel X86 asm syntax - default syntax on X86 (CS_OPT_SYNTAX, CS_ARCH_X86)
+ public static final int CS_OPT_SYNTAX_ATT = 2; // ATT asm syntax (CS_OPT_SYNTAX, CS_ARCH_X86)
+ public static final int CS_OPT_ON = 3; // Turn ON an option (CS_OPT_DETAIL)
+ public static final int CS_OPT_SYNTAX_NOREGNAME = 3; // PPC asm syntax: Prints register name with only number (CS_OPT_SYNTAX)
+
+ // Common instruction operand types - to be consistent across all architectures.
+ public static final int CS_OP_INVALID = 0;
+ public static final int CS_OP_REG = 1;
+ public static final int CS_OP_IMM = 2;
+ public static final int CS_OP_MEM = 3;
+ public static final int CS_OP_FP = 4;
+
+ // Common instruction operand access types - to be consistent across all architectures.
+ // It is possible to combine access types, for example: CS_AC_READ | CS_AC_WRITE
+ public static final int CS_AC_INVALID = 0;
+ public static final int CS_AC_READ = 1 << 0;
+ public static final int CS_AC_WRITE = 1 << 1;
+
+ // Common instruction groups - to be consistent across all architectures.
+ public static final int CS_GRP_INVALID = 0; // uninitialized/invalid group.
+ public static final int CS_GRP_JUMP = 1; // all jump instructions (conditional+direct+indirect jumps)
+ public static final int CS_GRP_CALL = 2; // all call instructions
+ public static final int CS_GRP_RET = 3; // all return instructions
+ public static final int CS_GRP_INT = 4; // all interrupt instructions (int+syscall)
+ public static final int CS_GRP_IRET = 5; // all interrupt return instructions
+ public static final int CS_GRP_PRIVILEGE = 6; // all privileged instructions
+
+ // Query id for cs_support()
+ public static final int CS_SUPPORT_DIET = CS_ARCH_ALL+1; // diet mode
+ public static final int CS_SUPPORT_X86_REDUCE = CS_ARCH_ALL+2; // X86 reduce mode
+
+ protected class NativeStruct {
+ private Pointer csh;
+ private PointerByReference handleRef;
+ }
+
+ private static final CsInsn[] EMPTY_INSN = new CsInsn[0];
+
+ protected NativeStruct ns; // for memory retention
+ private CS cs;
+ public int arch;
+ public int mode;
+ private int syntax;
+ private int detail;
+ private boolean diet;
+
+ public Capstone(int arch, int mode) {
+ cs = (CS)Native.loadLibrary("capstone", CS.class);
+ int coreVersion = cs.cs_version(null, null);
+ int bindingVersion = (CS_API_MAJOR << 8) + CS_API_MINOR;
+ if (coreVersion != bindingVersion) {
+ throw new RuntimeException("Different API version between core " + coreVersion +
+ " & binding " + bindingVersion + " (CS_ERR_VERSION)");
+ }
+
+ this.arch = arch;
+ this.mode = mode;
+ ns = new NativeStruct();
+ ns.handleRef = new PointerByReference();
+ if (cs.cs_open(arch, mode, ns.handleRef) != CS_ERR_OK) {
+ throw new RuntimeException("ERROR: Wrong arch or mode");
+ }
+ ns.csh = ns.handleRef.getValue();
+ this.detail = CS_OPT_OFF;
+ this.diet = cs.cs_support(CS_SUPPORT_DIET);
+ }
+
+ // return combined API version
+ public int version() {
+ return cs.cs_version(null, null);
+ }
+
+ // set Assembly syntax
+ public void setSyntax(int syntax) {
+ if (cs.cs_option(ns.csh, CS_OPT_SYNTAX, new NativeLong(syntax)) == CS_ERR_OK) {
+ this.syntax = syntax;
+ } else {
+ throw new RuntimeException("ERROR: Failed to set assembly syntax");
+ }
+ }
+
+ // set detail option at run-time
+ public void setDetail(int opt) {
+ if (cs.cs_option(ns.csh, CS_OPT_DETAIL, new NativeLong(opt)) == CS_ERR_OK) {
+ this.detail = opt;
+ } else {
+ throw new RuntimeException("ERROR: Failed to set detail option");
+ }
+ }
+
+ // set mode option at run-time
+ public void setMode(int opt) {
+ if (cs.cs_option(ns.csh, CS_OPT_MODE, new NativeLong(opt)) == CS_ERR_OK) {
+ this.mode = opt;
+ } else {
+ throw new RuntimeException("ERROR: Failed to set mode option");
+ }
+ }
+
+ // destructor automatically caled at destroyed time.
+ protected void finalize() {
+ // FIXME: crashed on Ubuntu 14.04 64bit, OpenJDK java 1.6.0_33
+ // cs.cs_close(ns.handleRef);
+ }
+
+ // destructor automatically caled at destroyed time.
+ public int close() {
+ return cs.cs_close(ns.handleRef);
+ }
+
+ /**
+ * Disassemble instructions from @code assumed to be located at @address,
+ * stop when encountering first broken instruction.
+ *
+ * @param code The source machine code bytes.
+ * @param address The address of the first machine code byte.
+ * @return the array of successfully disassembled instructions, empty if no instruction could be disassembled.
+ */
+ public CsInsn[] disasm(byte[] code, long address) {
+ return disasm(code, address, 0);
+ }
+
+ /**
+ * Disassemble up to @count instructions from @code assumed to be located at @address,
+ * stop when encountering first broken instruction.
+ *
+ * @param code The source machine code bytes.
+ * @param address The address of the first machine code byte.
+ * @param count The maximum number of instructions to disassemble, 0 for no maximum.
+ * @return the array of successfully disassembled instructions, empty if no instruction could be disassembled.
+ */
+ public CsInsn[] disasm(byte[] code, long address, long count) {
+ PointerByReference insnRef = new PointerByReference();
+
+ NativeLong c = cs.cs_disasm(ns.csh, code, new NativeLong(code.length), address, new NativeLong(count), insnRef);
+
+ if (0 == c.intValue()) {
+ return EMPTY_INSN;
+ }
+
+ Pointer p = insnRef.getValue();
+ _cs_insn byref = new _cs_insn(p);
+
+ CsInsn[] allInsn = fromArrayRaw((_cs_insn[]) byref.toArray(c.intValue()));
+
+ // free allocated memory
+ // cs.cs_free(p, c);
+ // FIXME(danghvu): Can't free because memory is still inside CsInsn
+
+ return allInsn;
+ }
+
+ public String strerror(int code) {
+ return cs.cs_strerror(code);
+ }
+}
diff --git a/capstone/bindings/java/capstone/Evm_const.java b/capstone/bindings/java/capstone/Evm_const.java
new file mode 100644
index 000000000..db7c47a0a
--- /dev/null
+++ b/capstone/bindings/java/capstone/Evm_const.java
@@ -0,0 +1,155 @@
+// For Capstone Engine. AUTO-GENERATED FILE, DO NOT EDIT
+package capstone;
+
+public class Evm_const {
+
+ public static final int EVM_INS_STOP = 0;
+ public static final int EVM_INS_ADD = 1;
+ public static final int EVM_INS_MUL = 2;
+ public static final int EVM_INS_SUB = 3;
+ public static final int EVM_INS_DIV = 4;
+ public static final int EVM_INS_SDIV = 5;
+ public static final int EVM_INS_MOD = 6;
+ public static final int EVM_INS_SMOD = 7;
+ public static final int EVM_INS_ADDMOD = 8;
+ public static final int EVM_INS_MULMOD = 9;
+ public static final int EVM_INS_EXP = 10;
+ public static final int EVM_INS_SIGNEXTEND = 11;
+ public static final int EVM_INS_LT = 16;
+ public static final int EVM_INS_GT = 17;
+ public static final int EVM_INS_SLT = 18;
+ public static final int EVM_INS_SGT = 19;
+ public static final int EVM_INS_EQ = 20;
+ public static final int EVM_INS_ISZERO = 21;
+ public static final int EVM_INS_AND = 22;
+ public static final int EVM_INS_OR = 23;
+ public static final int EVM_INS_XOR = 24;
+ public static final int EVM_INS_NOT = 25;
+ public static final int EVM_INS_BYTE = 26;
+ public static final int EVM_INS_SHA3 = 32;
+ public static final int EVM_INS_ADDRESS = 48;
+ public static final int EVM_INS_BALANCE = 49;
+ public static final int EVM_INS_ORIGIN = 50;
+ public static final int EVM_INS_CALLER = 51;
+ public static final int EVM_INS_CALLVALUE = 52;
+ public static final int EVM_INS_CALLDATALOAD = 53;
+ public static final int EVM_INS_CALLDATASIZE = 54;
+ public static final int EVM_INS_CALLDATACOPY = 55;
+ public static final int EVM_INS_CODESIZE = 56;
+ public static final int EVM_INS_CODECOPY = 57;
+ public static final int EVM_INS_GASPRICE = 58;
+ public static final int EVM_INS_EXTCODESIZE = 59;
+ public static final int EVM_INS_EXTCODECOPY = 60;
+ public static final int EVM_INS_RETURNDATASIZE = 61;
+ public static final int EVM_INS_RETURNDATACOPY = 62;
+ public static final int EVM_INS_BLOCKHASH = 64;
+ public static final int EVM_INS_COINBASE = 65;
+ public static final int EVM_INS_TIMESTAMP = 66;
+ public static final int EVM_INS_NUMBER = 67;
+ public static final int EVM_INS_DIFFICULTY = 68;
+ public static final int EVM_INS_GASLIMIT = 69;
+ public static final int EVM_INS_POP = 80;
+ public static final int EVM_INS_MLOAD = 81;
+ public static final int EVM_INS_MSTORE = 82;
+ public static final int EVM_INS_MSTORE8 = 83;
+ public static final int EVM_INS_SLOAD = 84;
+ public static final int EVM_INS_SSTORE = 85;
+ public static final int EVM_INS_JUMP = 86;
+ public static final int EVM_INS_JUMPI = 87;
+ public static final int EVM_INS_PC = 88;
+ public static final int EVM_INS_MSIZE = 89;
+ public static final int EVM_INS_GAS = 90;
+ public static final int EVM_INS_JUMPDEST = 91;
+ public static final int EVM_INS_PUSH1 = 96;
+ public static final int EVM_INS_PUSH2 = 97;
+ public static final int EVM_INS_PUSH3 = 98;
+ public static final int EVM_INS_PUSH4 = 99;
+ public static final int EVM_INS_PUSH5 = 100;
+ public static final int EVM_INS_PUSH6 = 101;
+ public static final int EVM_INS_PUSH7 = 102;
+ public static final int EVM_INS_PUSH8 = 103;
+ public static final int EVM_INS_PUSH9 = 104;
+ public static final int EVM_INS_PUSH10 = 105;
+ public static final int EVM_INS_PUSH11 = 106;
+ public static final int EVM_INS_PUSH12 = 107;
+ public static final int EVM_INS_PUSH13 = 108;
+ public static final int EVM_INS_PUSH14 = 109;
+ public static final int EVM_INS_PUSH15 = 110;
+ public static final int EVM_INS_PUSH16 = 111;
+ public static final int EVM_INS_PUSH17 = 112;
+ public static final int EVM_INS_PUSH18 = 113;
+ public static final int EVM_INS_PUSH19 = 114;
+ public static final int EVM_INS_PUSH20 = 115;
+ public static final int EVM_INS_PUSH21 = 116;
+ public static final int EVM_INS_PUSH22 = 117;
+ public static final int EVM_INS_PUSH23 = 118;
+ public static final int EVM_INS_PUSH24 = 119;
+ public static final int EVM_INS_PUSH25 = 120;
+ public static final int EVM_INS_PUSH26 = 121;
+ public static final int EVM_INS_PUSH27 = 122;
+ public static final int EVM_INS_PUSH28 = 123;
+ public static final int EVM_INS_PUSH29 = 124;
+ public static final int EVM_INS_PUSH30 = 125;
+ public static final int EVM_INS_PUSH31 = 126;
+ public static final int EVM_INS_PUSH32 = 127;
+ public static final int EVM_INS_DUP1 = 128;
+ public static final int EVM_INS_DUP2 = 129;
+ public static final int EVM_INS_DUP3 = 130;
+ public static final int EVM_INS_DUP4 = 131;
+ public static final int EVM_INS_DUP5 = 132;
+ public static final int EVM_INS_DUP6 = 133;
+ public static final int EVM_INS_DUP7 = 134;
+ public static final int EVM_INS_DUP8 = 135;
+ public static final int EVM_INS_DUP9 = 136;
+ public static final int EVM_INS_DUP10 = 137;
+ public static final int EVM_INS_DUP11 = 138;
+ public static final int EVM_INS_DUP12 = 139;
+ public static final int EVM_INS_DUP13 = 140;
+ public static final int EVM_INS_DUP14 = 141;
+ public static final int EVM_INS_DUP15 = 142;
+ public static final int EVM_INS_DUP16 = 143;
+ public static final int EVM_INS_SWAP1 = 144;
+ public static final int EVM_INS_SWAP2 = 145;
+ public static final int EVM_INS_SWAP3 = 146;
+ public static final int EVM_INS_SWAP4 = 147;
+ public static final int EVM_INS_SWAP5 = 148;
+ public static final int EVM_INS_SWAP6 = 149;
+ public static final int EVM_INS_SWAP7 = 150;
+ public static final int EVM_INS_SWAP8 = 151;
+ public static final int EVM_INS_SWAP9 = 152;
+ public static final int EVM_INS_SWAP10 = 153;
+ public static final int EVM_INS_SWAP11 = 154;
+ public static final int EVM_INS_SWAP12 = 155;
+ public static final int EVM_INS_SWAP13 = 156;
+ public static final int EVM_INS_SWAP14 = 157;
+ public static final int EVM_INS_SWAP15 = 158;
+ public static final int EVM_INS_SWAP16 = 159;
+ public static final int EVM_INS_LOG0 = 160;
+ public static final int EVM_INS_LOG1 = 161;
+ public static final int EVM_INS_LOG2 = 162;
+ public static final int EVM_INS_LOG3 = 163;
+ public static final int EVM_INS_LOG4 = 164;
+ public static final int EVM_INS_CREATE = 240;
+ public static final int EVM_INS_CALL = 241;
+ public static final int EVM_INS_CALLCODE = 242;
+ public static final int EVM_INS_RETURN = 243;
+ public static final int EVM_INS_DELEGATECALL = 244;
+ public static final int EVM_INS_CALLBLACKBOX = 245;
+ public static final int EVM_INS_STATICCALL = 250;
+ public static final int EVM_INS_REVERT = 253;
+ public static final int EVM_INS_SUICIDE = 255;
+ public static final int EVM_INS_INVALID = 512;
+ public static final int EVM_INS_ENDING = 513;
+
+ public static final int EVM_GRP_INVALID = 0;
+ public static final int EVM_GRP_JUMP = 1;
+ public static final int EVM_GRP_MATH = 8;
+ public static final int EVM_GRP_STACK_WRITE = 9;
+ public static final int EVM_GRP_STACK_READ = 10;
+ public static final int EVM_GRP_MEM_WRITE = 11;
+ public static final int EVM_GRP_MEM_READ = 12;
+ public static final int EVM_GRP_STORE_WRITE = 13;
+ public static final int EVM_GRP_STORE_READ = 14;
+ public static final int EVM_GRP_HALT = 15;
+ public static final int EVM_GRP_ENDING = 16;
+} \ No newline at end of file
diff --git a/capstone/bindings/java/capstone/M680x.java b/capstone/bindings/java/capstone/M680x.java
new file mode 100644
index 000000000..f15857bc4
--- /dev/null
+++ b/capstone/bindings/java/capstone/M680x.java
@@ -0,0 +1,132 @@
+// Capstone Java binding
+/* M680X Backend by Wolfgang Schwotzer <wolfgang.schwotzer@gmx.net> 2017 */
+
+package capstone;
+
+import com.sun.jna.Structure;
+import com.sun.jna.Union;
+
+import java.util.List;
+import java.util.Arrays;
+
+import static capstone.M680x_const.*;
+
+public class M680x {
+
+ public static class OpIndexed extends Structure {
+ public int base_reg;
+ public int offset_reg;
+ public short offset;
+ public short offset_addr;
+ public byte offset_bits;
+ public byte inc_dec;
+ public byte flags;
+
+ @Override
+ public List getFieldOrder() {
+ return Arrays.asList("base_reg", "offset_reg", "offset", "offset_addr", "offset_bits", "inc_dec", "flags");
+ }
+ }
+
+ public static class OpRelative extends Structure {
+ public short address;
+ public short offset;
+
+ @Override
+ public List getFieldOrder() {
+ return Arrays.asList("address", "offset");
+ }
+ }
+
+ public static class OpExtended extends Structure {
+ public short address;
+ public byte indirect;
+
+ @Override
+ public List getFieldOrder() {
+ return Arrays.asList("address", "indirect");
+ }
+ }
+
+ public static class OpValue extends Union {
+ public int imm;
+ public int reg;
+ public OpIndexed idx;
+ public OpRelative rel;
+ public OpExtended ext;
+ public byte direct_addr;
+ public byte const_val;
+
+ @Override
+ public List getFieldOrder() {
+ return Arrays.asList("imm", "reg", "idx", "rel", "ext", "direct_addr", "const_val");
+ }
+ }
+
+ public static class Operand extends Structure {
+ public int type;
+ public OpValue value;
+ public byte size;
+ public byte access;
+
+ public void read() {
+ readField("type");
+ if (type == M680X_OP_IMMEDIATE)
+ value.setType(Integer.TYPE);
+ if (type == M680X_OP_REGISTER)
+ value.setType(Integer.TYPE);
+ if (type == M680X_OP_INDEXED)
+ value.setType(OpIndexed.class);
+ if (type == M680X_OP_RELATIVE)
+ value.setType(OpRelative.class);
+ if (type == M680X_OP_EXTENDED)
+ value.setType(OpExtended.class);
+ if (type == M680X_OP_DIRECT)
+ value.setType(Integer.TYPE);
+ if (type == M680X_OP_INVALID)
+ return;
+ readField("value");
+ readField("size");
+ readField("access");
+ }
+
+ @Override
+ public List getFieldOrder() {
+ return Arrays.asList("type", "value", "size", "access");
+ }
+ }
+
+ public static class UnionOpInfo extends Capstone.UnionOpInfo {
+ public byte flags;
+ public byte op_count;
+
+ public Operand [] op;
+
+ public UnionOpInfo() {
+ op = new Operand[9];
+ }
+
+ public void read() {
+ readField("flags");
+ readField("op_count");
+ op = new Operand[op_count];
+ if (op_count != 0)
+ readField("op");
+ }
+
+ @Override
+ public List getFieldOrder() {
+ return Arrays.asList("flags", "op_count", "op");
+ }
+ }
+
+ public static class OpInfo extends Capstone.OpInfo {
+ public byte flags;
+ public Operand [] op = null;
+
+ public OpInfo(UnionOpInfo op_info) {
+ flags = op_info.flags;
+ op = op_info.op;
+ }
+ }
+}
diff --git a/capstone/bindings/java/capstone/M680x_const.java b/capstone/bindings/java/capstone/M680x_const.java
new file mode 100644
index 000000000..29eca2838
--- /dev/null
+++ b/capstone/bindings/java/capstone/M680x_const.java
@@ -0,0 +1,419 @@
+// For Capstone Engine. AUTO-GENERATED FILE, DO NOT EDIT
+package capstone;
+
+public class M680x_const {
+ public static final int M680X_OPERAND_COUNT = 9;
+
+ public static final int M680X_REG_INVALID = 0;
+ public static final int M680X_REG_A = 1;
+ public static final int M680X_REG_B = 2;
+ public static final int M680X_REG_E = 3;
+ public static final int M680X_REG_F = 4;
+ public static final int M680X_REG_0 = 5;
+ public static final int M680X_REG_D = 6;
+ public static final int M680X_REG_W = 7;
+ public static final int M680X_REG_CC = 8;
+ public static final int M680X_REG_DP = 9;
+ public static final int M680X_REG_MD = 10;
+ public static final int M680X_REG_HX = 11;
+ public static final int M680X_REG_H = 12;
+ public static final int M680X_REG_X = 13;
+ public static final int M680X_REG_Y = 14;
+ public static final int M680X_REG_S = 15;
+ public static final int M680X_REG_U = 16;
+ public static final int M680X_REG_V = 17;
+ public static final int M680X_REG_Q = 18;
+ public static final int M680X_REG_PC = 19;
+ public static final int M680X_REG_TMP2 = 20;
+ public static final int M680X_REG_TMP3 = 21;
+ public static final int M680X_REG_ENDING = 22;
+
+ public static final int M680X_OP_INVALID = 0;
+ public static final int M680X_OP_REGISTER = 1;
+ public static final int M680X_OP_IMMEDIATE = 2;
+ public static final int M680X_OP_INDEXED = 3;
+ public static final int M680X_OP_EXTENDED = 4;
+ public static final int M680X_OP_DIRECT = 5;
+ public static final int M680X_OP_RELATIVE = 6;
+ public static final int M680X_OP_CONSTANT = 7;
+
+ public static final int M680X_OFFSET_NONE = 0;
+ public static final int M680X_OFFSET_BITS_5 = 5;
+ public static final int M680X_OFFSET_BITS_8 = 8;
+ public static final int M680X_OFFSET_BITS_9 = 9;
+ public static final int M680X_OFFSET_BITS_16 = 16;
+ public static final int M680X_IDX_INDIRECT = 1;
+ public static final int M680X_IDX_NO_COMMA = 2;
+ public static final int M680X_IDX_POST_INC_DEC = 4;
+
+ public static final int M680X_GRP_INVALID = 0;
+ public static final int M680X_GRP_JUMP = 1;
+ public static final int M680X_GRP_CALL = 2;
+ public static final int M680X_GRP_RET = 3;
+ public static final int M680X_GRP_INT = 4;
+ public static final int M680X_GRP_IRET = 5;
+ public static final int M680X_GRP_PRIV = 6;
+ public static final int M680X_GRP_BRAREL = 7;
+ public static final int M680X_GRP_ENDING = 8;
+ public static final int M680X_FIRST_OP_IN_MNEM = 1;
+ public static final int M680X_SECOND_OP_IN_MNEM = 2;
+
+ public static final int M680X_INS_INVLD = 0;
+ public static final int M680X_INS_ABA = 1;
+ public static final int M680X_INS_ABX = 2;
+ public static final int M680X_INS_ABY = 3;
+ public static final int M680X_INS_ADC = 4;
+ public static final int M680X_INS_ADCA = 5;
+ public static final int M680X_INS_ADCB = 6;
+ public static final int M680X_INS_ADCD = 7;
+ public static final int M680X_INS_ADCR = 8;
+ public static final int M680X_INS_ADD = 9;
+ public static final int M680X_INS_ADDA = 10;
+ public static final int M680X_INS_ADDB = 11;
+ public static final int M680X_INS_ADDD = 12;
+ public static final int M680X_INS_ADDE = 13;
+ public static final int M680X_INS_ADDF = 14;
+ public static final int M680X_INS_ADDR = 15;
+ public static final int M680X_INS_ADDW = 16;
+ public static final int M680X_INS_AIM = 17;
+ public static final int M680X_INS_AIS = 18;
+ public static final int M680X_INS_AIX = 19;
+ public static final int M680X_INS_AND = 20;
+ public static final int M680X_INS_ANDA = 21;
+ public static final int M680X_INS_ANDB = 22;
+ public static final int M680X_INS_ANDCC = 23;
+ public static final int M680X_INS_ANDD = 24;
+ public static final int M680X_INS_ANDR = 25;
+ public static final int M680X_INS_ASL = 26;
+ public static final int M680X_INS_ASLA = 27;
+ public static final int M680X_INS_ASLB = 28;
+ public static final int M680X_INS_ASLD = 29;
+ public static final int M680X_INS_ASR = 30;
+ public static final int M680X_INS_ASRA = 31;
+ public static final int M680X_INS_ASRB = 32;
+ public static final int M680X_INS_ASRD = 33;
+ public static final int M680X_INS_ASRX = 34;
+ public static final int M680X_INS_BAND = 35;
+ public static final int M680X_INS_BCC = 36;
+ public static final int M680X_INS_BCLR = 37;
+ public static final int M680X_INS_BCS = 38;
+ public static final int M680X_INS_BEOR = 39;
+ public static final int M680X_INS_BEQ = 40;
+ public static final int M680X_INS_BGE = 41;
+ public static final int M680X_INS_BGND = 42;
+ public static final int M680X_INS_BGT = 43;
+ public static final int M680X_INS_BHCC = 44;
+ public static final int M680X_INS_BHCS = 45;
+ public static final int M680X_INS_BHI = 46;
+ public static final int M680X_INS_BIAND = 47;
+ public static final int M680X_INS_BIEOR = 48;
+ public static final int M680X_INS_BIH = 49;
+ public static final int M680X_INS_BIL = 50;
+ public static final int M680X_INS_BIOR = 51;
+ public static final int M680X_INS_BIT = 52;
+ public static final int M680X_INS_BITA = 53;
+ public static final int M680X_INS_BITB = 54;
+ public static final int M680X_INS_BITD = 55;
+ public static final int M680X_INS_BITMD = 56;
+ public static final int M680X_INS_BLE = 57;
+ public static final int M680X_INS_BLS = 58;
+ public static final int M680X_INS_BLT = 59;
+ public static final int M680X_INS_BMC = 60;
+ public static final int M680X_INS_BMI = 61;
+ public static final int M680X_INS_BMS = 62;
+ public static final int M680X_INS_BNE = 63;
+ public static final int M680X_INS_BOR = 64;
+ public static final int M680X_INS_BPL = 65;
+ public static final int M680X_INS_BRCLR = 66;
+ public static final int M680X_INS_BRSET = 67;
+ public static final int M680X_INS_BRA = 68;
+ public static final int M680X_INS_BRN = 69;
+ public static final int M680X_INS_BSET = 70;
+ public static final int M680X_INS_BSR = 71;
+ public static final int M680X_INS_BVC = 72;
+ public static final int M680X_INS_BVS = 73;
+ public static final int M680X_INS_CALL = 74;
+ public static final int M680X_INS_CBA = 75;
+ public static final int M680X_INS_CBEQ = 76;
+ public static final int M680X_INS_CBEQA = 77;
+ public static final int M680X_INS_CBEQX = 78;
+ public static final int M680X_INS_CLC = 79;
+ public static final int M680X_INS_CLI = 80;
+ public static final int M680X_INS_CLR = 81;
+ public static final int M680X_INS_CLRA = 82;
+ public static final int M680X_INS_CLRB = 83;
+ public static final int M680X_INS_CLRD = 84;
+ public static final int M680X_INS_CLRE = 85;
+ public static final int M680X_INS_CLRF = 86;
+ public static final int M680X_INS_CLRH = 87;
+ public static final int M680X_INS_CLRW = 88;
+ public static final int M680X_INS_CLRX = 89;
+ public static final int M680X_INS_CLV = 90;
+ public static final int M680X_INS_CMP = 91;
+ public static final int M680X_INS_CMPA = 92;
+ public static final int M680X_INS_CMPB = 93;
+ public static final int M680X_INS_CMPD = 94;
+ public static final int M680X_INS_CMPE = 95;
+ public static final int M680X_INS_CMPF = 96;
+ public static final int M680X_INS_CMPR = 97;
+ public static final int M680X_INS_CMPS = 98;
+ public static final int M680X_INS_CMPU = 99;
+ public static final int M680X_INS_CMPW = 100;
+ public static final int M680X_INS_CMPX = 101;
+ public static final int M680X_INS_CMPY = 102;
+ public static final int M680X_INS_COM = 103;
+ public static final int M680X_INS_COMA = 104;
+ public static final int M680X_INS_COMB = 105;
+ public static final int M680X_INS_COMD = 106;
+ public static final int M680X_INS_COME = 107;
+ public static final int M680X_INS_COMF = 108;
+ public static final int M680X_INS_COMW = 109;
+ public static final int M680X_INS_COMX = 110;
+ public static final int M680X_INS_CPD = 111;
+ public static final int M680X_INS_CPHX = 112;
+ public static final int M680X_INS_CPS = 113;
+ public static final int M680X_INS_CPX = 114;
+ public static final int M680X_INS_CPY = 115;
+ public static final int M680X_INS_CWAI = 116;
+ public static final int M680X_INS_DAA = 117;
+ public static final int M680X_INS_DBEQ = 118;
+ public static final int M680X_INS_DBNE = 119;
+ public static final int M680X_INS_DBNZ = 120;
+ public static final int M680X_INS_DBNZA = 121;
+ public static final int M680X_INS_DBNZX = 122;
+ public static final int M680X_INS_DEC = 123;
+ public static final int M680X_INS_DECA = 124;
+ public static final int M680X_INS_DECB = 125;
+ public static final int M680X_INS_DECD = 126;
+ public static final int M680X_INS_DECE = 127;
+ public static final int M680X_INS_DECF = 128;
+ public static final int M680X_INS_DECW = 129;
+ public static final int M680X_INS_DECX = 130;
+ public static final int M680X_INS_DES = 131;
+ public static final int M680X_INS_DEX = 132;
+ public static final int M680X_INS_DEY = 133;
+ public static final int M680X_INS_DIV = 134;
+ public static final int M680X_INS_DIVD = 135;
+ public static final int M680X_INS_DIVQ = 136;
+ public static final int M680X_INS_EDIV = 137;
+ public static final int M680X_INS_EDIVS = 138;
+ public static final int M680X_INS_EIM = 139;
+ public static final int M680X_INS_EMACS = 140;
+ public static final int M680X_INS_EMAXD = 141;
+ public static final int M680X_INS_EMAXM = 142;
+ public static final int M680X_INS_EMIND = 143;
+ public static final int M680X_INS_EMINM = 144;
+ public static final int M680X_INS_EMUL = 145;
+ public static final int M680X_INS_EMULS = 146;
+ public static final int M680X_INS_EOR = 147;
+ public static final int M680X_INS_EORA = 148;
+ public static final int M680X_INS_EORB = 149;
+ public static final int M680X_INS_EORD = 150;
+ public static final int M680X_INS_EORR = 151;
+ public static final int M680X_INS_ETBL = 152;
+ public static final int M680X_INS_EXG = 153;
+ public static final int M680X_INS_FDIV = 154;
+ public static final int M680X_INS_IBEQ = 155;
+ public static final int M680X_INS_IBNE = 156;
+ public static final int M680X_INS_IDIV = 157;
+ public static final int M680X_INS_IDIVS = 158;
+ public static final int M680X_INS_ILLGL = 159;
+ public static final int M680X_INS_INC = 160;
+ public static final int M680X_INS_INCA = 161;
+ public static final int M680X_INS_INCB = 162;
+ public static final int M680X_INS_INCD = 163;
+ public static final int M680X_INS_INCE = 164;
+ public static final int M680X_INS_INCF = 165;
+ public static final int M680X_INS_INCW = 166;
+ public static final int M680X_INS_INCX = 167;
+ public static final int M680X_INS_INS = 168;
+ public static final int M680X_INS_INX = 169;
+ public static final int M680X_INS_INY = 170;
+ public static final int M680X_INS_JMP = 171;
+ public static final int M680X_INS_JSR = 172;
+ public static final int M680X_INS_LBCC = 173;
+ public static final int M680X_INS_LBCS = 174;
+ public static final int M680X_INS_LBEQ = 175;
+ public static final int M680X_INS_LBGE = 176;
+ public static final int M680X_INS_LBGT = 177;
+ public static final int M680X_INS_LBHI = 178;
+ public static final int M680X_INS_LBLE = 179;
+ public static final int M680X_INS_LBLS = 180;
+ public static final int M680X_INS_LBLT = 181;
+ public static final int M680X_INS_LBMI = 182;
+ public static final int M680X_INS_LBNE = 183;
+ public static final int M680X_INS_LBPL = 184;
+ public static final int M680X_INS_LBRA = 185;
+ public static final int M680X_INS_LBRN = 186;
+ public static final int M680X_INS_LBSR = 187;
+ public static final int M680X_INS_LBVC = 188;
+ public static final int M680X_INS_LBVS = 189;
+ public static final int M680X_INS_LDA = 190;
+ public static final int M680X_INS_LDAA = 191;
+ public static final int M680X_INS_LDAB = 192;
+ public static final int M680X_INS_LDB = 193;
+ public static final int M680X_INS_LDBT = 194;
+ public static final int M680X_INS_LDD = 195;
+ public static final int M680X_INS_LDE = 196;
+ public static final int M680X_INS_LDF = 197;
+ public static final int M680X_INS_LDHX = 198;
+ public static final int M680X_INS_LDMD = 199;
+ public static final int M680X_INS_LDQ = 200;
+ public static final int M680X_INS_LDS = 201;
+ public static final int M680X_INS_LDU = 202;
+ public static final int M680X_INS_LDW = 203;
+ public static final int M680X_INS_LDX = 204;
+ public static final int M680X_INS_LDY = 205;
+ public static final int M680X_INS_LEAS = 206;
+ public static final int M680X_INS_LEAU = 207;
+ public static final int M680X_INS_LEAX = 208;
+ public static final int M680X_INS_LEAY = 209;
+ public static final int M680X_INS_LSL = 210;
+ public static final int M680X_INS_LSLA = 211;
+ public static final int M680X_INS_LSLB = 212;
+ public static final int M680X_INS_LSLD = 213;
+ public static final int M680X_INS_LSLX = 214;
+ public static final int M680X_INS_LSR = 215;
+ public static final int M680X_INS_LSRA = 216;
+ public static final int M680X_INS_LSRB = 217;
+ public static final int M680X_INS_LSRD = 218;
+ public static final int M680X_INS_LSRW = 219;
+ public static final int M680X_INS_LSRX = 220;
+ public static final int M680X_INS_MAXA = 221;
+ public static final int M680X_INS_MAXM = 222;
+ public static final int M680X_INS_MEM = 223;
+ public static final int M680X_INS_MINA = 224;
+ public static final int M680X_INS_MINM = 225;
+ public static final int M680X_INS_MOV = 226;
+ public static final int M680X_INS_MOVB = 227;
+ public static final int M680X_INS_MOVW = 228;
+ public static final int M680X_INS_MUL = 229;
+ public static final int M680X_INS_MULD = 230;
+ public static final int M680X_INS_NEG = 231;
+ public static final int M680X_INS_NEGA = 232;
+ public static final int M680X_INS_NEGB = 233;
+ public static final int M680X_INS_NEGD = 234;
+ public static final int M680X_INS_NEGX = 235;
+ public static final int M680X_INS_NOP = 236;
+ public static final int M680X_INS_NSA = 237;
+ public static final int M680X_INS_OIM = 238;
+ public static final int M680X_INS_ORA = 239;
+ public static final int M680X_INS_ORAA = 240;
+ public static final int M680X_INS_ORAB = 241;
+ public static final int M680X_INS_ORB = 242;
+ public static final int M680X_INS_ORCC = 243;
+ public static final int M680X_INS_ORD = 244;
+ public static final int M680X_INS_ORR = 245;
+ public static final int M680X_INS_PSHA = 246;
+ public static final int M680X_INS_PSHB = 247;
+ public static final int M680X_INS_PSHC = 248;
+ public static final int M680X_INS_PSHD = 249;
+ public static final int M680X_INS_PSHH = 250;
+ public static final int M680X_INS_PSHS = 251;
+ public static final int M680X_INS_PSHSW = 252;
+ public static final int M680X_INS_PSHU = 253;
+ public static final int M680X_INS_PSHUW = 254;
+ public static final int M680X_INS_PSHX = 255;
+ public static final int M680X_INS_PSHY = 256;
+ public static final int M680X_INS_PULA = 257;
+ public static final int M680X_INS_PULB = 258;
+ public static final int M680X_INS_PULC = 259;
+ public static final int M680X_INS_PULD = 260;
+ public static final int M680X_INS_PULH = 261;
+ public static final int M680X_INS_PULS = 262;
+ public static final int M680X_INS_PULSW = 263;
+ public static final int M680X_INS_PULU = 264;
+ public static final int M680X_INS_PULUW = 265;
+ public static final int M680X_INS_PULX = 266;
+ public static final int M680X_INS_PULY = 267;
+ public static final int M680X_INS_REV = 268;
+ public static final int M680X_INS_REVW = 269;
+ public static final int M680X_INS_ROL = 270;
+ public static final int M680X_INS_ROLA = 271;
+ public static final int M680X_INS_ROLB = 272;
+ public static final int M680X_INS_ROLD = 273;
+ public static final int M680X_INS_ROLW = 274;
+ public static final int M680X_INS_ROLX = 275;
+ public static final int M680X_INS_ROR = 276;
+ public static final int M680X_INS_RORA = 277;
+ public static final int M680X_INS_RORB = 278;
+ public static final int M680X_INS_RORD = 279;
+ public static final int M680X_INS_RORW = 280;
+ public static final int M680X_INS_RORX = 281;
+ public static final int M680X_INS_RSP = 282;
+ public static final int M680X_INS_RTC = 283;
+ public static final int M680X_INS_RTI = 284;
+ public static final int M680X_INS_RTS = 285;
+ public static final int M680X_INS_SBA = 286;
+ public static final int M680X_INS_SBC = 287;
+ public static final int M680X_INS_SBCA = 288;
+ public static final int M680X_INS_SBCB = 289;
+ public static final int M680X_INS_SBCD = 290;
+ public static final int M680X_INS_SBCR = 291;
+ public static final int M680X_INS_SEC = 292;
+ public static final int M680X_INS_SEI = 293;
+ public static final int M680X_INS_SEV = 294;
+ public static final int M680X_INS_SEX = 295;
+ public static final int M680X_INS_SEXW = 296;
+ public static final int M680X_INS_SLP = 297;
+ public static final int M680X_INS_STA = 298;
+ public static final int M680X_INS_STAA = 299;
+ public static final int M680X_INS_STAB = 300;
+ public static final int M680X_INS_STB = 301;
+ public static final int M680X_INS_STBT = 302;
+ public static final int M680X_INS_STD = 303;
+ public static final int M680X_INS_STE = 304;
+ public static final int M680X_INS_STF = 305;
+ public static final int M680X_INS_STOP = 306;
+ public static final int M680X_INS_STHX = 307;
+ public static final int M680X_INS_STQ = 308;
+ public static final int M680X_INS_STS = 309;
+ public static final int M680X_INS_STU = 310;
+ public static final int M680X_INS_STW = 311;
+ public static final int M680X_INS_STX = 312;
+ public static final int M680X_INS_STY = 313;
+ public static final int M680X_INS_SUB = 314;
+ public static final int M680X_INS_SUBA = 315;
+ public static final int M680X_INS_SUBB = 316;
+ public static final int M680X_INS_SUBD = 317;
+ public static final int M680X_INS_SUBE = 318;
+ public static final int M680X_INS_SUBF = 319;
+ public static final int M680X_INS_SUBR = 320;
+ public static final int M680X_INS_SUBW = 321;
+ public static final int M680X_INS_SWI = 322;
+ public static final int M680X_INS_SWI2 = 323;
+ public static final int M680X_INS_SWI3 = 324;
+ public static final int M680X_INS_SYNC = 325;
+ public static final int M680X_INS_TAB = 326;
+ public static final int M680X_INS_TAP = 327;
+ public static final int M680X_INS_TAX = 328;
+ public static final int M680X_INS_TBA = 329;
+ public static final int M680X_INS_TBEQ = 330;
+ public static final int M680X_INS_TBL = 331;
+ public static final int M680X_INS_TBNE = 332;
+ public static final int M680X_INS_TEST = 333;
+ public static final int M680X_INS_TFM = 334;
+ public static final int M680X_INS_TFR = 335;
+ public static final int M680X_INS_TIM = 336;
+ public static final int M680X_INS_TPA = 337;
+ public static final int M680X_INS_TST = 338;
+ public static final int M680X_INS_TSTA = 339;
+ public static final int M680X_INS_TSTB = 340;
+ public static final int M680X_INS_TSTD = 341;
+ public static final int M680X_INS_TSTE = 342;
+ public static final int M680X_INS_TSTF = 343;
+ public static final int M680X_INS_TSTW = 344;
+ public static final int M680X_INS_TSTX = 345;
+ public static final int M680X_INS_TSX = 346;
+ public static final int M680X_INS_TSY = 347;
+ public static final int M680X_INS_TXA = 348;
+ public static final int M680X_INS_TXS = 349;
+ public static final int M680X_INS_TYS = 350;
+ public static final int M680X_INS_WAI = 351;
+ public static final int M680X_INS_WAIT = 352;
+ public static final int M680X_INS_WAV = 353;
+ public static final int M680X_INS_WAVR = 354;
+ public static final int M680X_INS_XGDX = 355;
+ public static final int M680X_INS_XGDY = 356;
+ public static final int M680X_INS_ENDING = 357;
+} \ No newline at end of file
diff --git a/capstone/bindings/java/capstone/M68k_const.java b/capstone/bindings/java/capstone/M68k_const.java
new file mode 100644
index 000000000..74cd8f9b9
--- /dev/null
+++ b/capstone/bindings/java/capstone/M68k_const.java
@@ -0,0 +1,489 @@
+// For Capstone Engine. AUTO-GENERATED FILE, DO NOT EDIT
+package capstone;
+
+public class M68k_const {
+ public static final int M68K_OPERAND_COUNT = 4;
+
+ public static final int M68K_REG_INVALID = 0;
+ public static final int M68K_REG_D0 = 1;
+ public static final int M68K_REG_D1 = 2;
+ public static final int M68K_REG_D2 = 3;
+ public static final int M68K_REG_D3 = 4;
+ public static final int M68K_REG_D4 = 5;
+ public static final int M68K_REG_D5 = 6;
+ public static final int M68K_REG_D6 = 7;
+ public static final int M68K_REG_D7 = 8;
+ public static final int M68K_REG_A0 = 9;
+ public static final int M68K_REG_A1 = 10;
+ public static final int M68K_REG_A2 = 11;
+ public static final int M68K_REG_A3 = 12;
+ public static final int M68K_REG_A4 = 13;
+ public static final int M68K_REG_A5 = 14;
+ public static final int M68K_REG_A6 = 15;
+ public static final int M68K_REG_A7 = 16;
+ public static final int M68K_REG_FP0 = 17;
+ public static final int M68K_REG_FP1 = 18;
+ public static final int M68K_REG_FP2 = 19;
+ public static final int M68K_REG_FP3 = 20;
+ public static final int M68K_REG_FP4 = 21;
+ public static final int M68K_REG_FP5 = 22;
+ public static final int M68K_REG_FP6 = 23;
+ public static final int M68K_REG_FP7 = 24;
+ public static final int M68K_REG_PC = 25;
+ public static final int M68K_REG_SR = 26;
+ public static final int M68K_REG_CCR = 27;
+ public static final int M68K_REG_SFC = 28;
+ public static final int M68K_REG_DFC = 29;
+ public static final int M68K_REG_USP = 30;
+ public static final int M68K_REG_VBR = 31;
+ public static final int M68K_REG_CACR = 32;
+ public static final int M68K_REG_CAAR = 33;
+ public static final int M68K_REG_MSP = 34;
+ public static final int M68K_REG_ISP = 35;
+ public static final int M68K_REG_TC = 36;
+ public static final int M68K_REG_ITT0 = 37;
+ public static final int M68K_REG_ITT1 = 38;
+ public static final int M68K_REG_DTT0 = 39;
+ public static final int M68K_REG_DTT1 = 40;
+ public static final int M68K_REG_MMUSR = 41;
+ public static final int M68K_REG_URP = 42;
+ public static final int M68K_REG_SRP = 43;
+ public static final int M68K_REG_FPCR = 44;
+ public static final int M68K_REG_FPSR = 45;
+ public static final int M68K_REG_FPIAR = 46;
+ public static final int M68K_REG_ENDING = 47;
+
+ public static final int M68K_AM_NONE = 0;
+ public static final int M68K_AM_REG_DIRECT_DATA = 1;
+ public static final int M68K_AM_REG_DIRECT_ADDR = 2;
+ public static final int M68K_AM_REGI_ADDR = 3;
+ public static final int M68K_AM_REGI_ADDR_POST_INC = 4;
+ public static final int M68K_AM_REGI_ADDR_PRE_DEC = 5;
+ public static final int M68K_AM_REGI_ADDR_DISP = 6;
+ public static final int M68K_AM_AREGI_INDEX_8_BIT_DISP = 7;
+ public static final int M68K_AM_AREGI_INDEX_BASE_DISP = 8;
+ public static final int M68K_AM_MEMI_POST_INDEX = 9;
+ public static final int M68K_AM_MEMI_PRE_INDEX = 10;
+ public static final int M68K_AM_PCI_DISP = 11;
+ public static final int M68K_AM_PCI_INDEX_8_BIT_DISP = 12;
+ public static final int M68K_AM_PCI_INDEX_BASE_DISP = 13;
+ public static final int M68K_AM_PC_MEMI_POST_INDEX = 14;
+ 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_IMMEDIATE = 18;
+ public static final int M68K_AM_BRANCH_DISPLACEMENT = 19;
+
+ public static final int M68K_OP_INVALID = 0;
+ 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_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_OP_BR_DISP = 8;
+
+ public static final int M68K_OP_BR_DISP_SIZE_INVALID = 0;
+ public static final int M68K_OP_BR_DISP_SIZE_BYTE = 1;
+ public static final int M68K_OP_BR_DISP_SIZE_WORD = 2;
+ public static final int M68K_OP_BR_DISP_SIZE_LONG = 4;
+
+ public static final int M68K_CPU_SIZE_NONE = 0;
+ public static final int M68K_CPU_SIZE_BYTE = 1;
+ public static final int M68K_CPU_SIZE_WORD = 2;
+ public static final int M68K_CPU_SIZE_LONG = 4;
+
+ public static final int M68K_FPU_SIZE_NONE = 0;
+ public static final int M68K_FPU_SIZE_SINGLE = 4;
+ public static final int M68K_FPU_SIZE_DOUBLE = 8;
+ public static final int M68K_FPU_SIZE_EXTENDED = 12;
+
+ public static final int M68K_SIZE_TYPE_INVALID = 0;
+ public static final int M68K_SIZE_TYPE_CPU = 1;
+ public static final int M68K_SIZE_TYPE_FPU = 2;
+
+ public static final int M68K_INS_INVALID = 0;
+ public static final int M68K_INS_ABCD = 1;
+ public static final int M68K_INS_ADD = 2;
+ public static final int M68K_INS_ADDA = 3;
+ public static final int M68K_INS_ADDI = 4;
+ public static final int M68K_INS_ADDQ = 5;
+ public static final int M68K_INS_ADDX = 6;
+ public static final int M68K_INS_AND = 7;
+ public static final int M68K_INS_ANDI = 8;
+ public static final int M68K_INS_ASL = 9;
+ public static final int M68K_INS_ASR = 10;
+ public static final int M68K_INS_BHS = 11;
+ public static final int M68K_INS_BLO = 12;
+ public static final int M68K_INS_BHI = 13;
+ public static final int M68K_INS_BLS = 14;
+ public static final int M68K_INS_BCC = 15;
+ public static final int M68K_INS_BCS = 16;
+ public static final int M68K_INS_BNE = 17;
+ public static final int M68K_INS_BEQ = 18;
+ public static final int M68K_INS_BVC = 19;
+ public static final int M68K_INS_BVS = 20;
+ public static final int M68K_INS_BPL = 21;
+ public static final int M68K_INS_BMI = 22;
+ public static final int M68K_INS_BGE = 23;
+ public static final int M68K_INS_BLT = 24;
+ public static final int M68K_INS_BGT = 25;
+ public static final int M68K_INS_BLE = 26;
+ public static final int M68K_INS_BRA = 27;
+ public static final int M68K_INS_BSR = 28;
+ public static final int M68K_INS_BCHG = 29;
+ public static final int M68K_INS_BCLR = 30;
+ public static final int M68K_INS_BSET = 31;
+ public static final int M68K_INS_BTST = 32;
+ public static final int M68K_INS_BFCHG = 33;
+ public static final int M68K_INS_BFCLR = 34;
+ public static final int M68K_INS_BFEXTS = 35;
+ public static final int M68K_INS_BFEXTU = 36;
+ public static final int M68K_INS_BFFFO = 37;
+ public static final int M68K_INS_BFINS = 38;
+ public static final int M68K_INS_BFSET = 39;
+ public static final int M68K_INS_BFTST = 40;
+ public static final int M68K_INS_BKPT = 41;
+ public static final int M68K_INS_CALLM = 42;
+ public static final int M68K_INS_CAS = 43;
+ public static final int M68K_INS_CAS2 = 44;
+ public static final int M68K_INS_CHK = 45;
+ public static final int M68K_INS_CHK2 = 46;
+ public static final int M68K_INS_CLR = 47;
+ public static final int M68K_INS_CMP = 48;
+ public static final int M68K_INS_CMPA = 49;
+ public static final int M68K_INS_CMPI = 50;
+ public static final int M68K_INS_CMPM = 51;
+ public static final int M68K_INS_CMP2 = 52;
+ public static final int M68K_INS_CINVL = 53;
+ public static final int M68K_INS_CINVP = 54;
+ public static final int M68K_INS_CINVA = 55;
+ public static final int M68K_INS_CPUSHL = 56;
+ public static final int M68K_INS_CPUSHP = 57;
+ public static final int M68K_INS_CPUSHA = 58;
+ public static final int M68K_INS_DBT = 59;
+ public static final int M68K_INS_DBF = 60;
+ public static final int M68K_INS_DBHI = 61;
+ public static final int M68K_INS_DBLS = 62;
+ public static final int M68K_INS_DBCC = 63;
+ public static final int M68K_INS_DBCS = 64;
+ public static final int M68K_INS_DBNE = 65;
+ public static final int M68K_INS_DBEQ = 66;
+ public static final int M68K_INS_DBVC = 67;
+ public static final int M68K_INS_DBVS = 68;
+ public static final int M68K_INS_DBPL = 69;
+ public static final int M68K_INS_DBMI = 70;
+ public static final int M68K_INS_DBGE = 71;
+ public static final int M68K_INS_DBLT = 72;
+ public static final int M68K_INS_DBGT = 73;
+ public static final int M68K_INS_DBLE = 74;
+ public static final int M68K_INS_DBRA = 75;
+ public static final int M68K_INS_DIVS = 76;
+ public static final int M68K_INS_DIVSL = 77;
+ public static final int M68K_INS_DIVU = 78;
+ public static final int M68K_INS_DIVUL = 79;
+ public static final int M68K_INS_EOR = 80;
+ public static final int M68K_INS_EORI = 81;
+ public static final int M68K_INS_EXG = 82;
+ public static final int M68K_INS_EXT = 83;
+ public static final int M68K_INS_EXTB = 84;
+ public static final int M68K_INS_FABS = 85;
+ public static final int M68K_INS_FSABS = 86;
+ public static final int M68K_INS_FDABS = 87;
+ public static final int M68K_INS_FACOS = 88;
+ public static final int M68K_INS_FADD = 89;
+ public static final int M68K_INS_FSADD = 90;
+ public static final int M68K_INS_FDADD = 91;
+ public static final int M68K_INS_FASIN = 92;
+ public static final int M68K_INS_FATAN = 93;
+ public static final int M68K_INS_FATANH = 94;
+ public static final int M68K_INS_FBF = 95;
+ public static final int M68K_INS_FBEQ = 96;
+ public static final int M68K_INS_FBOGT = 97;
+ public static final int M68K_INS_FBOGE = 98;
+ public static final int M68K_INS_FBOLT = 99;
+ public static final int M68K_INS_FBOLE = 100;
+ public static final int M68K_INS_FBOGL = 101;
+ public static final int M68K_INS_FBOR = 102;
+ public static final int M68K_INS_FBUN = 103;
+ public static final int M68K_INS_FBUEQ = 104;
+ public static final int M68K_INS_FBUGT = 105;
+ public static final int M68K_INS_FBUGE = 106;
+ public static final int M68K_INS_FBULT = 107;
+ public static final int M68K_INS_FBULE = 108;
+ public static final int M68K_INS_FBNE = 109;
+ public static final int M68K_INS_FBT = 110;
+ public static final int M68K_INS_FBSF = 111;
+ public static final int M68K_INS_FBSEQ = 112;
+ public static final int M68K_INS_FBGT = 113;
+ public static final int M68K_INS_FBGE = 114;
+ public static final int M68K_INS_FBLT = 115;
+ public static final int M68K_INS_FBLE = 116;
+ public static final int M68K_INS_FBGL = 117;
+ public static final int M68K_INS_FBGLE = 118;
+ public static final int M68K_INS_FBNGLE = 119;
+ public static final int M68K_INS_FBNGL = 120;
+ public static final int M68K_INS_FBNLE = 121;
+ public static final int M68K_INS_FBNLT = 122;
+ public static final int M68K_INS_FBNGE = 123;
+ public static final int M68K_INS_FBNGT = 124;
+ public static final int M68K_INS_FBSNE = 125;
+ public static final int M68K_INS_FBST = 126;
+ public static final int M68K_INS_FCMP = 127;
+ public static final int M68K_INS_FCOS = 128;
+ public static final int M68K_INS_FCOSH = 129;
+ public static final int M68K_INS_FDBF = 130;
+ public static final int M68K_INS_FDBEQ = 131;
+ public static final int M68K_INS_FDBOGT = 132;
+ public static final int M68K_INS_FDBOGE = 133;
+ public static final int M68K_INS_FDBOLT = 134;
+ public static final int M68K_INS_FDBOLE = 135;
+ public static final int M68K_INS_FDBOGL = 136;
+ public static final int M68K_INS_FDBOR = 137;
+ public static final int M68K_INS_FDBUN = 138;
+ public static final int M68K_INS_FDBUEQ = 139;
+ public static final int M68K_INS_FDBUGT = 140;
+ public static final int M68K_INS_FDBUGE = 141;
+ public static final int M68K_INS_FDBULT = 142;
+ public static final int M68K_INS_FDBULE = 143;
+ public static final int M68K_INS_FDBNE = 144;
+ public static final int M68K_INS_FDBT = 145;
+ public static final int M68K_INS_FDBSF = 146;
+ public static final int M68K_INS_FDBSEQ = 147;
+ public static final int M68K_INS_FDBGT = 148;
+ public static final int M68K_INS_FDBGE = 149;
+ public static final int M68K_INS_FDBLT = 150;
+ public static final int M68K_INS_FDBLE = 151;
+ public static final int M68K_INS_FDBGL = 152;
+ public static final int M68K_INS_FDBGLE = 153;
+ public static final int M68K_INS_FDBNGLE = 154;
+ public static final int M68K_INS_FDBNGL = 155;
+ public static final int M68K_INS_FDBNLE = 156;
+ public static final int M68K_INS_FDBNLT = 157;
+ public static final int M68K_INS_FDBNGE = 158;
+ public static final int M68K_INS_FDBNGT = 159;
+ public static final int M68K_INS_FDBSNE = 160;
+ public static final int M68K_INS_FDBST = 161;
+ public static final int M68K_INS_FDIV = 162;
+ public static final int M68K_INS_FSDIV = 163;
+ public static final int M68K_INS_FDDIV = 164;
+ public static final int M68K_INS_FETOX = 165;
+ public static final int M68K_INS_FETOXM1 = 166;
+ public static final int M68K_INS_FGETEXP = 167;
+ public static final int M68K_INS_FGETMAN = 168;
+ public static final int M68K_INS_FINT = 169;
+ public static final int M68K_INS_FINTRZ = 170;
+ public static final int M68K_INS_FLOG10 = 171;
+ public static final int M68K_INS_FLOG2 = 172;
+ public static final int M68K_INS_FLOGN = 173;
+ public static final int M68K_INS_FLOGNP1 = 174;
+ public static final int M68K_INS_FMOD = 175;
+ public static final int M68K_INS_FMOVE = 176;
+ public static final int M68K_INS_FSMOVE = 177;
+ public static final int M68K_INS_FDMOVE = 178;
+ public static final int M68K_INS_FMOVECR = 179;
+ public static final int M68K_INS_FMOVEM = 180;
+ public static final int M68K_INS_FMUL = 181;
+ public static final int M68K_INS_FSMUL = 182;
+ public static final int M68K_INS_FDMUL = 183;
+ public static final int M68K_INS_FNEG = 184;
+ public static final int M68K_INS_FSNEG = 185;
+ public static final int M68K_INS_FDNEG = 186;
+ public static final int M68K_INS_FNOP = 187;
+ public static final int M68K_INS_FREM = 188;
+ public static final int M68K_INS_FRESTORE = 189;
+ public static final int M68K_INS_FSAVE = 190;
+ public static final int M68K_INS_FSCALE = 191;
+ public static final int M68K_INS_FSGLDIV = 192;
+ public static final int M68K_INS_FSGLMUL = 193;
+ public static final int M68K_INS_FSIN = 194;
+ public static final int M68K_INS_FSINCOS = 195;
+ public static final int M68K_INS_FSINH = 196;
+ public static final int M68K_INS_FSQRT = 197;
+ public static final int M68K_INS_FSSQRT = 198;
+ public static final int M68K_INS_FDSQRT = 199;
+ public static final int M68K_INS_FSF = 200;
+ public static final int M68K_INS_FSBEQ = 201;
+ public static final int M68K_INS_FSOGT = 202;
+ public static final int M68K_INS_FSOGE = 203;
+ public static final int M68K_INS_FSOLT = 204;
+ public static final int M68K_INS_FSOLE = 205;
+ public static final int M68K_INS_FSOGL = 206;
+ public static final int M68K_INS_FSOR = 207;
+ public static final int M68K_INS_FSUN = 208;
+ public static final int M68K_INS_FSUEQ = 209;
+ public static final int M68K_INS_FSUGT = 210;
+ public static final int M68K_INS_FSUGE = 211;
+ public static final int M68K_INS_FSULT = 212;
+ public static final int M68K_INS_FSULE = 213;
+ public static final int M68K_INS_FSNE = 214;
+ public static final int M68K_INS_FST = 215;
+ public static final int M68K_INS_FSSF = 216;
+ public static final int M68K_INS_FSSEQ = 217;
+ public static final int M68K_INS_FSGT = 218;
+ public static final int M68K_INS_FSGE = 219;
+ public static final int M68K_INS_FSLT = 220;
+ public static final int M68K_INS_FSLE = 221;
+ public static final int M68K_INS_FSGL = 222;
+ public static final int M68K_INS_FSGLE = 223;
+ public static final int M68K_INS_FSNGLE = 224;
+ public static final int M68K_INS_FSNGL = 225;
+ public static final int M68K_INS_FSNLE = 226;
+ public static final int M68K_INS_FSNLT = 227;
+ public static final int M68K_INS_FSNGE = 228;
+ public static final int M68K_INS_FSNGT = 229;
+ public static final int M68K_INS_FSSNE = 230;
+ public static final int M68K_INS_FSST = 231;
+ public static final int M68K_INS_FSUB = 232;
+ public static final int M68K_INS_FSSUB = 233;
+ public static final int M68K_INS_FDSUB = 234;
+ public static final int M68K_INS_FTAN = 235;
+ public static final int M68K_INS_FTANH = 236;
+ public static final int M68K_INS_FTENTOX = 237;
+ public static final int M68K_INS_FTRAPF = 238;
+ public static final int M68K_INS_FTRAPEQ = 239;
+ public static final int M68K_INS_FTRAPOGT = 240;
+ public static final int M68K_INS_FTRAPOGE = 241;
+ public static final int M68K_INS_FTRAPOLT = 242;
+ public static final int M68K_INS_FTRAPOLE = 243;
+ public static final int M68K_INS_FTRAPOGL = 244;
+ public static final int M68K_INS_FTRAPOR = 245;
+ public static final int M68K_INS_FTRAPUN = 246;
+ public static final int M68K_INS_FTRAPUEQ = 247;
+ public static final int M68K_INS_FTRAPUGT = 248;
+ public static final int M68K_INS_FTRAPUGE = 249;
+ public static final int M68K_INS_FTRAPULT = 250;
+ public static final int M68K_INS_FTRAPULE = 251;
+ public static final int M68K_INS_FTRAPNE = 252;
+ public static final int M68K_INS_FTRAPT = 253;
+ public static final int M68K_INS_FTRAPSF = 254;
+ public static final int M68K_INS_FTRAPSEQ = 255;
+ public static final int M68K_INS_FTRAPGT = 256;
+ public static final int M68K_INS_FTRAPGE = 257;
+ public static final int M68K_INS_FTRAPLT = 258;
+ public static final int M68K_INS_FTRAPLE = 259;
+ public static final int M68K_INS_FTRAPGL = 260;
+ public static final int M68K_INS_FTRAPGLE = 261;
+ public static final int M68K_INS_FTRAPNGLE = 262;
+ public static final int M68K_INS_FTRAPNGL = 263;
+ public static final int M68K_INS_FTRAPNLE = 264;
+ public static final int M68K_INS_FTRAPNLT = 265;
+ public static final int M68K_INS_FTRAPNGE = 266;
+ public static final int M68K_INS_FTRAPNGT = 267;
+ public static final int M68K_INS_FTRAPSNE = 268;
+ public static final int M68K_INS_FTRAPST = 269;
+ public static final int M68K_INS_FTST = 270;
+ public static final int M68K_INS_FTWOTOX = 271;
+ public static final int M68K_INS_HALT = 272;
+ public static final int M68K_INS_ILLEGAL = 273;
+ public static final int M68K_INS_JMP = 274;
+ public static final int M68K_INS_JSR = 275;
+ public static final int M68K_INS_LEA = 276;
+ public static final int M68K_INS_LINK = 277;
+ public static final int M68K_INS_LPSTOP = 278;
+ public static final int M68K_INS_LSL = 279;
+ public static final int M68K_INS_LSR = 280;
+ public static final int M68K_INS_MOVE = 281;
+ public static final int M68K_INS_MOVEA = 282;
+ public static final int M68K_INS_MOVEC = 283;
+ public static final int M68K_INS_MOVEM = 284;
+ public static final int M68K_INS_MOVEP = 285;
+ public static final int M68K_INS_MOVEQ = 286;
+ public static final int M68K_INS_MOVES = 287;
+ public static final int M68K_INS_MOVE16 = 288;
+ public static final int M68K_INS_MULS = 289;
+ public static final int M68K_INS_MULU = 290;
+ public static final int M68K_INS_NBCD = 291;
+ public static final int M68K_INS_NEG = 292;
+ public static final int M68K_INS_NEGX = 293;
+ public static final int M68K_INS_NOP = 294;
+ public static final int M68K_INS_NOT = 295;
+ public static final int M68K_INS_OR = 296;
+ public static final int M68K_INS_ORI = 297;
+ public static final int M68K_INS_PACK = 298;
+ public static final int M68K_INS_PEA = 299;
+ public static final int M68K_INS_PFLUSH = 300;
+ public static final int M68K_INS_PFLUSHA = 301;
+ public static final int M68K_INS_PFLUSHAN = 302;
+ public static final int M68K_INS_PFLUSHN = 303;
+ public static final int M68K_INS_PLOADR = 304;
+ public static final int M68K_INS_PLOADW = 305;
+ public static final int M68K_INS_PLPAR = 306;
+ public static final int M68K_INS_PLPAW = 307;
+ public static final int M68K_INS_PMOVE = 308;
+ public static final int M68K_INS_PMOVEFD = 309;
+ public static final int M68K_INS_PTESTR = 310;
+ public static final int M68K_INS_PTESTW = 311;
+ public static final int M68K_INS_PULSE = 312;
+ public static final int M68K_INS_REMS = 313;
+ public static final int M68K_INS_REMU = 314;
+ public static final int M68K_INS_RESET = 315;
+ public static final int M68K_INS_ROL = 316;
+ public static final int M68K_INS_ROR = 317;
+ public static final int M68K_INS_ROXL = 318;
+ public static final int M68K_INS_ROXR = 319;
+ public static final int M68K_INS_RTD = 320;
+ public static final int M68K_INS_RTE = 321;
+ public static final int M68K_INS_RTM = 322;
+ public static final int M68K_INS_RTR = 323;
+ public static final int M68K_INS_RTS = 324;
+ public static final int M68K_INS_SBCD = 325;
+ public static final int M68K_INS_ST = 326;
+ public static final int M68K_INS_SF = 327;
+ public static final int M68K_INS_SHI = 328;
+ public static final int M68K_INS_SLS = 329;
+ public static final int M68K_INS_SCC = 330;
+ public static final int M68K_INS_SHS = 331;
+ public static final int M68K_INS_SCS = 332;
+ public static final int M68K_INS_SLO = 333;
+ public static final int M68K_INS_SNE = 334;
+ public static final int M68K_INS_SEQ = 335;
+ public static final int M68K_INS_SVC = 336;
+ public static final int M68K_INS_SVS = 337;
+ public static final int M68K_INS_SPL = 338;
+ public static final int M68K_INS_SMI = 339;
+ public static final int M68K_INS_SGE = 340;
+ public static final int M68K_INS_SLT = 341;
+ public static final int M68K_INS_SGT = 342;
+ public static final int M68K_INS_SLE = 343;
+ public static final int M68K_INS_STOP = 344;
+ public static final int M68K_INS_SUB = 345;
+ public static final int M68K_INS_SUBA = 346;
+ public static final int M68K_INS_SUBI = 347;
+ public static final int M68K_INS_SUBQ = 348;
+ public static final int M68K_INS_SUBX = 349;
+ public static final int M68K_INS_SWAP = 350;
+ public static final int M68K_INS_TAS = 351;
+ public static final int M68K_INS_TRAP = 352;
+ public static final int M68K_INS_TRAPV = 353;
+ public static final int M68K_INS_TRAPT = 354;
+ public static final int M68K_INS_TRAPF = 355;
+ public static final int M68K_INS_TRAPHI = 356;
+ public static final int M68K_INS_TRAPLS = 357;
+ public static final int M68K_INS_TRAPCC = 358;
+ public static final int M68K_INS_TRAPHS = 359;
+ public static final int M68K_INS_TRAPCS = 360;
+ public static final int M68K_INS_TRAPLO = 361;
+ public static final int M68K_INS_TRAPNE = 362;
+ public static final int M68K_INS_TRAPEQ = 363;
+ public static final int M68K_INS_TRAPVC = 364;
+ public static final int M68K_INS_TRAPVS = 365;
+ public static final int M68K_INS_TRAPPL = 366;
+ public static final int M68K_INS_TRAPMI = 367;
+ public static final int M68K_INS_TRAPGE = 368;
+ public static final int M68K_INS_TRAPLT = 369;
+ public static final int M68K_INS_TRAPGT = 370;
+ public static final int M68K_INS_TRAPLE = 371;
+ public static final int M68K_INS_TST = 372;
+ public static final int M68K_INS_UNLK = 373;
+ public static final int M68K_INS_UNPK = 374;
+ public static final int M68K_INS_ENDING = 375;
+
+ public static final int M68K_GRP_INVALID = 0;
+ public static final int M68K_GRP_JUMP = 1;
+ public static final int M68K_GRP_RET = 3;
+ public static final int M68K_GRP_IRET = 5;
+ public static final int M68K_GRP_BRANCH_RELATIVE = 7;
+ public static final int M68K_GRP_ENDING = 8;
+} \ No newline at end of file
diff --git a/capstone/bindings/java/capstone/Mips.java b/capstone/bindings/java/capstone/Mips.java
new file mode 100644
index 000000000..9bea79a2c
--- /dev/null
+++ b/capstone/bindings/java/capstone/Mips.java
@@ -0,0 +1,88 @@
+// Capstone Java binding
+// By Nguyen Anh Quynh & Dang Hoang Vu, 2013
+
+package capstone;
+
+import com.sun.jna.Structure;
+import com.sun.jna.Union;
+
+import java.util.List;
+import java.util.Arrays;
+
+import static capstone.Mips_const.*;
+
+public class Mips {
+
+ public static class MemType extends Structure {
+ public int base;
+ public long disp;
+
+ @Override
+ public List getFieldOrder() {
+ return Arrays.asList("base", "disp");
+ }
+ }
+
+ public static class OpValue extends Union {
+ public int reg;
+ public long imm;
+ public MemType mem;
+
+ @Override
+ public List getFieldOrder() {
+ return Arrays.asList("reg", "imm", "mem");
+ }
+ }
+
+ public static class Operand extends Structure {
+ public int type;
+ public OpValue value;
+
+ public void read() {
+ super.read();
+ if (type == MIPS_OP_MEM)
+ value.setType(MemType.class);
+ if (type == MIPS_OP_IMM)
+ value.setType(Long.TYPE);
+ if (type == MIPS_OP_REG)
+ value.setType(Integer.TYPE);
+ if (type == MIPS_OP_INVALID)
+ return;
+ readField("value");
+ }
+ @Override
+ public List getFieldOrder() {
+ return Arrays.asList("type", "value");
+ }
+ }
+
+ public static class UnionOpInfo extends Capstone.UnionOpInfo {
+ public byte op_count;
+ public Operand [] op;
+
+ public UnionOpInfo() {
+ op = new Operand[10];
+ }
+
+ public void read() {
+ readField("op_count");
+ op = new Operand[op_count];
+ if (op_count != 0)
+ readField("op");
+ }
+
+ @Override
+ public List getFieldOrder() {
+ return Arrays.asList("op_count", "op");
+ }
+ }
+
+ public static class OpInfo extends Capstone.OpInfo {
+
+ public Operand [] op;
+
+ public OpInfo(UnionOpInfo e) {
+ op = e.op;
+ }
+ }
+}
diff --git a/capstone/bindings/java/capstone/Mips_const.java b/capstone/bindings/java/capstone/Mips_const.java
new file mode 100644
index 000000000..01f637f80
--- /dev/null
+++ b/capstone/bindings/java/capstone/Mips_const.java
@@ -0,0 +1,865 @@
+// For Capstone Engine. AUTO-GENERATED FILE, DO NOT EDIT
+package capstone;
+
+public class Mips_const {
+
+ public static final int MIPS_OP_INVALID = 0;
+ public static final int MIPS_OP_REG = 1;
+ public static final int MIPS_OP_IMM = 2;
+ public static final int MIPS_OP_MEM = 3;
+
+ public static final int MIPS_REG_INVALID = 0;
+ public static final int MIPS_REG_PC = 1;
+ public static final int MIPS_REG_0 = 2;
+ public static final int MIPS_REG_1 = 3;
+ public static final int MIPS_REG_2 = 4;
+ public static final int MIPS_REG_3 = 5;
+ public static final int MIPS_REG_4 = 6;
+ public static final int MIPS_REG_5 = 7;
+ public static final int MIPS_REG_6 = 8;
+ public static final int MIPS_REG_7 = 9;
+ public static final int MIPS_REG_8 = 10;
+ public static final int MIPS_REG_9 = 11;
+ public static final int MIPS_REG_10 = 12;
+ public static final int MIPS_REG_11 = 13;
+ public static final int MIPS_REG_12 = 14;
+ public static final int MIPS_REG_13 = 15;
+ public static final int MIPS_REG_14 = 16;
+ public static final int MIPS_REG_15 = 17;
+ public static final int MIPS_REG_16 = 18;
+ public static final int MIPS_REG_17 = 19;
+ public static final int MIPS_REG_18 = 20;
+ public static final int MIPS_REG_19 = 21;
+ public static final int MIPS_REG_20 = 22;
+ public static final int MIPS_REG_21 = 23;
+ public static final int MIPS_REG_22 = 24;
+ public static final int MIPS_REG_23 = 25;
+ public static final int MIPS_REG_24 = 26;
+ public static final int MIPS_REG_25 = 27;
+ public static final int MIPS_REG_26 = 28;
+ public static final int MIPS_REG_27 = 29;
+ public static final int MIPS_REG_28 = 30;
+ public static final int MIPS_REG_29 = 31;
+ public static final int MIPS_REG_30 = 32;
+ public static final int MIPS_REG_31 = 33;
+ public static final int MIPS_REG_DSPCCOND = 34;
+ public static final int MIPS_REG_DSPCARRY = 35;
+ public static final int MIPS_REG_DSPEFI = 36;
+ public static final int MIPS_REG_DSPOUTFLAG = 37;
+ public static final int MIPS_REG_DSPOUTFLAG16_19 = 38;
+ public static final int MIPS_REG_DSPOUTFLAG20 = 39;
+ public static final int MIPS_REG_DSPOUTFLAG21 = 40;
+ public static final int MIPS_REG_DSPOUTFLAG22 = 41;
+ public static final int MIPS_REG_DSPOUTFLAG23 = 42;
+ public static final int MIPS_REG_DSPPOS = 43;
+ public static final int MIPS_REG_DSPSCOUNT = 44;
+ public static final int MIPS_REG_AC0 = 45;
+ public static final int MIPS_REG_AC1 = 46;
+ public static final int MIPS_REG_AC2 = 47;
+ public static final int MIPS_REG_AC3 = 48;
+ public static final int MIPS_REG_CC0 = 49;
+ public static final int MIPS_REG_CC1 = 50;
+ public static final int MIPS_REG_CC2 = 51;
+ public static final int MIPS_REG_CC3 = 52;
+ public static final int MIPS_REG_CC4 = 53;
+ public static final int MIPS_REG_CC5 = 54;
+ public static final int MIPS_REG_CC6 = 55;
+ public static final int MIPS_REG_CC7 = 56;
+ public static final int MIPS_REG_F0 = 57;
+ public static final int MIPS_REG_F1 = 58;
+ public static final int MIPS_REG_F2 = 59;
+ public static final int MIPS_REG_F3 = 60;
+ public static final int MIPS_REG_F4 = 61;
+ public static final int MIPS_REG_F5 = 62;
+ public static final int MIPS_REG_F6 = 63;
+ public static final int MIPS_REG_F7 = 64;
+ public static final int MIPS_REG_F8 = 65;
+ public static final int MIPS_REG_F9 = 66;
+ public static final int MIPS_REG_F10 = 67;
+ public static final int MIPS_REG_F11 = 68;
+ public static final int MIPS_REG_F12 = 69;
+ public static final int MIPS_REG_F13 = 70;
+ public static final int MIPS_REG_F14 = 71;
+ public static final int MIPS_REG_F15 = 72;
+ public static final int MIPS_REG_F16 = 73;
+ public static final int MIPS_REG_F17 = 74;
+ public static final int MIPS_REG_F18 = 75;
+ public static final int MIPS_REG_F19 = 76;
+ public static final int MIPS_REG_F20 = 77;
+ public static final int MIPS_REG_F21 = 78;
+ public static final int MIPS_REG_F22 = 79;
+ public static final int MIPS_REG_F23 = 80;
+ public static final int MIPS_REG_F24 = 81;
+ public static final int MIPS_REG_F25 = 82;
+ public static final int MIPS_REG_F26 = 83;
+ public static final int MIPS_REG_F27 = 84;
+ public static final int MIPS_REG_F28 = 85;
+ public static final int MIPS_REG_F29 = 86;
+ public static final int MIPS_REG_F30 = 87;
+ public static final int MIPS_REG_F31 = 88;
+ public static final int MIPS_REG_FCC0 = 89;
+ public static final int MIPS_REG_FCC1 = 90;
+ public static final int MIPS_REG_FCC2 = 91;
+ public static final int MIPS_REG_FCC3 = 92;
+ public static final int MIPS_REG_FCC4 = 93;
+ public static final int MIPS_REG_FCC5 = 94;
+ public static final int MIPS_REG_FCC6 = 95;
+ public static final int MIPS_REG_FCC7 = 96;
+ public static final int MIPS_REG_W0 = 97;
+ public static final int MIPS_REG_W1 = 98;
+ public static final int MIPS_REG_W2 = 99;
+ public static final int MIPS_REG_W3 = 100;
+ public static final int MIPS_REG_W4 = 101;
+ public static final int MIPS_REG_W5 = 102;
+ public static final int MIPS_REG_W6 = 103;
+ public static final int MIPS_REG_W7 = 104;
+ public static final int MIPS_REG_W8 = 105;
+ public static final int MIPS_REG_W9 = 106;
+ public static final int MIPS_REG_W10 = 107;
+ public static final int MIPS_REG_W11 = 108;
+ public static final int MIPS_REG_W12 = 109;
+ public static final int MIPS_REG_W13 = 110;
+ public static final int MIPS_REG_W14 = 111;
+ public static final int MIPS_REG_W15 = 112;
+ public static final int MIPS_REG_W16 = 113;
+ public static final int MIPS_REG_W17 = 114;
+ public static final int MIPS_REG_W18 = 115;
+ public static final int MIPS_REG_W19 = 116;
+ public static final int MIPS_REG_W20 = 117;
+ public static final int MIPS_REG_W21 = 118;
+ public static final int MIPS_REG_W22 = 119;
+ public static final int MIPS_REG_W23 = 120;
+ public static final int MIPS_REG_W24 = 121;
+ public static final int MIPS_REG_W25 = 122;
+ public static final int MIPS_REG_W26 = 123;
+ public static final int MIPS_REG_W27 = 124;
+ public static final int MIPS_REG_W28 = 125;
+ public static final int MIPS_REG_W29 = 126;
+ public static final int MIPS_REG_W30 = 127;
+ public static final int MIPS_REG_W31 = 128;
+ public static final int MIPS_REG_HI = 129;
+ public static final int MIPS_REG_LO = 130;
+ public static final int MIPS_REG_P0 = 131;
+ public static final int MIPS_REG_P1 = 132;
+ public static final int MIPS_REG_P2 = 133;
+ public static final int MIPS_REG_MPL0 = 134;
+ public static final int MIPS_REG_MPL1 = 135;
+ public static final int MIPS_REG_MPL2 = 136;
+ public static final int MIPS_REG_ENDING = 137;
+ public static final int MIPS_REG_ZERO = MIPS_REG_0;
+ public static final int MIPS_REG_AT = MIPS_REG_1;
+ public static final int MIPS_REG_V0 = MIPS_REG_2;
+ public static final int MIPS_REG_V1 = MIPS_REG_3;
+ public static final int MIPS_REG_A0 = MIPS_REG_4;
+ public static final int MIPS_REG_A1 = MIPS_REG_5;
+ public static final int MIPS_REG_A2 = MIPS_REG_6;
+ public static final int MIPS_REG_A3 = MIPS_REG_7;
+ public static final int MIPS_REG_T0 = MIPS_REG_8;
+ public static final int MIPS_REG_T1 = MIPS_REG_9;
+ public static final int MIPS_REG_T2 = MIPS_REG_10;
+ public static final int MIPS_REG_T3 = MIPS_REG_11;
+ public static final int MIPS_REG_T4 = MIPS_REG_12;
+ public static final int MIPS_REG_T5 = MIPS_REG_13;
+ public static final int MIPS_REG_T6 = MIPS_REG_14;
+ public static final int MIPS_REG_T7 = MIPS_REG_15;
+ public static final int MIPS_REG_S0 = MIPS_REG_16;
+ public static final int MIPS_REG_S1 = MIPS_REG_17;
+ public static final int MIPS_REG_S2 = MIPS_REG_18;
+ public static final int MIPS_REG_S3 = MIPS_REG_19;
+ public static final int MIPS_REG_S4 = MIPS_REG_20;
+ public static final int MIPS_REG_S5 = MIPS_REG_21;
+ public static final int MIPS_REG_S6 = MIPS_REG_22;
+ public static final int MIPS_REG_S7 = MIPS_REG_23;
+ public static final int MIPS_REG_T8 = MIPS_REG_24;
+ public static final int MIPS_REG_T9 = MIPS_REG_25;
+ public static final int MIPS_REG_K0 = MIPS_REG_26;
+ public static final int MIPS_REG_K1 = MIPS_REG_27;
+ public static final int MIPS_REG_GP = MIPS_REG_28;
+ public static final int MIPS_REG_SP = MIPS_REG_29;
+ public static final int MIPS_REG_FP = MIPS_REG_30;
+ public static final int MIPS_REG_S8 = MIPS_REG_30;
+ public static final int MIPS_REG_RA = MIPS_REG_31;
+ public static final int MIPS_REG_HI0 = MIPS_REG_AC0;
+ public static final int MIPS_REG_HI1 = MIPS_REG_AC1;
+ public static final int MIPS_REG_HI2 = MIPS_REG_AC2;
+ public static final int MIPS_REG_HI3 = MIPS_REG_AC3;
+ public static final int MIPS_REG_LO0 = MIPS_REG_HI0;
+ public static final int MIPS_REG_LO1 = MIPS_REG_HI1;
+ public static final int MIPS_REG_LO2 = MIPS_REG_HI2;
+ public static final int MIPS_REG_LO3 = MIPS_REG_HI3;
+
+ public static final int MIPS_INS_INVALID = 0;
+ public static final int MIPS_INS_ABSQ_S = 1;
+ public static final int MIPS_INS_ADD = 2;
+ public static final int MIPS_INS_ADDIUPC = 3;
+ public static final int MIPS_INS_ADDIUR1SP = 4;
+ public static final int MIPS_INS_ADDIUR2 = 5;
+ public static final int MIPS_INS_ADDIUS5 = 6;
+ public static final int MIPS_INS_ADDIUSP = 7;
+ public static final int MIPS_INS_ADDQH = 8;
+ public static final int MIPS_INS_ADDQH_R = 9;
+ public static final int MIPS_INS_ADDQ = 10;
+ public static final int MIPS_INS_ADDQ_S = 11;
+ public static final int MIPS_INS_ADDSC = 12;
+ public static final int MIPS_INS_ADDS_A = 13;
+ public static final int MIPS_INS_ADDS_S = 14;
+ public static final int MIPS_INS_ADDS_U = 15;
+ public static final int MIPS_INS_ADDU16 = 16;
+ public static final int MIPS_INS_ADDUH = 17;
+ public static final int MIPS_INS_ADDUH_R = 18;
+ public static final int MIPS_INS_ADDU = 19;
+ public static final int MIPS_INS_ADDU_S = 20;
+ public static final int MIPS_INS_ADDVI = 21;
+ public static final int MIPS_INS_ADDV = 22;
+ public static final int MIPS_INS_ADDWC = 23;
+ public static final int MIPS_INS_ADD_A = 24;
+ public static final int MIPS_INS_ADDI = 25;
+ public static final int MIPS_INS_ADDIU = 26;
+ public static final int MIPS_INS_ALIGN = 27;
+ public static final int MIPS_INS_ALUIPC = 28;
+ public static final int MIPS_INS_AND = 29;
+ public static final int MIPS_INS_AND16 = 30;
+ public static final int MIPS_INS_ANDI16 = 31;
+ public static final int MIPS_INS_ANDI = 32;
+ public static final int MIPS_INS_APPEND = 33;
+ public static final int MIPS_INS_ASUB_S = 34;
+ public static final int MIPS_INS_ASUB_U = 35;
+ public static final int MIPS_INS_AUI = 36;
+ public static final int MIPS_INS_AUIPC = 37;
+ public static final int MIPS_INS_AVER_S = 38;
+ public static final int MIPS_INS_AVER_U = 39;
+ public static final int MIPS_INS_AVE_S = 40;
+ public static final int MIPS_INS_AVE_U = 41;
+ public static final int MIPS_INS_B16 = 42;
+ public static final int MIPS_INS_BADDU = 43;
+ public static final int MIPS_INS_BAL = 44;
+ public static final int MIPS_INS_BALC = 45;
+ public static final int MIPS_INS_BALIGN = 46;
+ public static final int MIPS_INS_BBIT0 = 47;
+ public static final int MIPS_INS_BBIT032 = 48;
+ public static final int MIPS_INS_BBIT1 = 49;
+ public static final int MIPS_INS_BBIT132 = 50;
+ public static final int MIPS_INS_BC = 51;
+ public static final int MIPS_INS_BC0F = 52;
+ public static final int MIPS_INS_BC0FL = 53;
+ public static final int MIPS_INS_BC0T = 54;
+ public static final int MIPS_INS_BC0TL = 55;
+ public static final int MIPS_INS_BC1EQZ = 56;
+ public static final int MIPS_INS_BC1F = 57;
+ public static final int MIPS_INS_BC1FL = 58;
+ public static final int MIPS_INS_BC1NEZ = 59;
+ public static final int MIPS_INS_BC1T = 60;
+ public static final int MIPS_INS_BC1TL = 61;
+ public static final int MIPS_INS_BC2EQZ = 62;
+ public static final int MIPS_INS_BC2F = 63;
+ public static final int MIPS_INS_BC2FL = 64;
+ public static final int MIPS_INS_BC2NEZ = 65;
+ public static final int MIPS_INS_BC2T = 66;
+ public static final int MIPS_INS_BC2TL = 67;
+ public static final int MIPS_INS_BC3F = 68;
+ public static final int MIPS_INS_BC3FL = 69;
+ public static final int MIPS_INS_BC3T = 70;
+ public static final int MIPS_INS_BC3TL = 71;
+ public static final int MIPS_INS_BCLRI = 72;
+ public static final int MIPS_INS_BCLR = 73;
+ public static final int MIPS_INS_BEQ = 74;
+ public static final int MIPS_INS_BEQC = 75;
+ public static final int MIPS_INS_BEQL = 76;
+ public static final int MIPS_INS_BEQZ16 = 77;
+ public static final int MIPS_INS_BEQZALC = 78;
+ public static final int MIPS_INS_BEQZC = 79;
+ public static final int MIPS_INS_BGEC = 80;
+ public static final int MIPS_INS_BGEUC = 81;
+ public static final int MIPS_INS_BGEZ = 82;
+ public static final int MIPS_INS_BGEZAL = 83;
+ public static final int MIPS_INS_BGEZALC = 84;
+ public static final int MIPS_INS_BGEZALL = 85;
+ public static final int MIPS_INS_BGEZALS = 86;
+ public static final int MIPS_INS_BGEZC = 87;
+ public static final int MIPS_INS_BGEZL = 88;
+ public static final int MIPS_INS_BGTZ = 89;
+ public static final int MIPS_INS_BGTZALC = 90;
+ public static final int MIPS_INS_BGTZC = 91;
+ public static final int MIPS_INS_BGTZL = 92;
+ public static final int MIPS_INS_BINSLI = 93;
+ public static final int MIPS_INS_BINSL = 94;
+ public static final int MIPS_INS_BINSRI = 95;
+ public static final int MIPS_INS_BINSR = 96;
+ public static final int MIPS_INS_BITREV = 97;
+ public static final int MIPS_INS_BITSWAP = 98;
+ public static final int MIPS_INS_BLEZ = 99;
+ public static final int MIPS_INS_BLEZALC = 100;
+ public static final int MIPS_INS_BLEZC = 101;
+ public static final int MIPS_INS_BLEZL = 102;
+ public static final int MIPS_INS_BLTC = 103;
+ public static final int MIPS_INS_BLTUC = 104;
+ public static final int MIPS_INS_BLTZ = 105;
+ public static final int MIPS_INS_BLTZAL = 106;
+ public static final int MIPS_INS_BLTZALC = 107;
+ public static final int MIPS_INS_BLTZALL = 108;
+ public static final int MIPS_INS_BLTZALS = 109;
+ public static final int MIPS_INS_BLTZC = 110;
+ public static final int MIPS_INS_BLTZL = 111;
+ public static final int MIPS_INS_BMNZI = 112;
+ public static final int MIPS_INS_BMNZ = 113;
+ public static final int MIPS_INS_BMZI = 114;
+ public static final int MIPS_INS_BMZ = 115;
+ public static final int MIPS_INS_BNE = 116;
+ public static final int MIPS_INS_BNEC = 117;
+ public static final int MIPS_INS_BNEGI = 118;
+ public static final int MIPS_INS_BNEG = 119;
+ public static final int MIPS_INS_BNEL = 120;
+ public static final int MIPS_INS_BNEZ16 = 121;
+ public static final int MIPS_INS_BNEZALC = 122;
+ public static final int MIPS_INS_BNEZC = 123;
+ public static final int MIPS_INS_BNVC = 124;
+ public static final int MIPS_INS_BNZ = 125;
+ public static final int MIPS_INS_BOVC = 126;
+ public static final int MIPS_INS_BPOSGE32 = 127;
+ public static final int MIPS_INS_BREAK = 128;
+ public static final int MIPS_INS_BREAK16 = 129;
+ public static final int MIPS_INS_BSELI = 130;
+ public static final int MIPS_INS_BSEL = 131;
+ public static final int MIPS_INS_BSETI = 132;
+ public static final int MIPS_INS_BSET = 133;
+ public static final int MIPS_INS_BZ = 134;
+ public static final int MIPS_INS_BEQZ = 135;
+ public static final int MIPS_INS_B = 136;
+ public static final int MIPS_INS_BNEZ = 137;
+ public static final int MIPS_INS_BTEQZ = 138;
+ public static final int MIPS_INS_BTNEZ = 139;
+ public static final int MIPS_INS_CACHE = 140;
+ public static final int MIPS_INS_CEIL = 141;
+ public static final int MIPS_INS_CEQI = 142;
+ public static final int MIPS_INS_CEQ = 143;
+ public static final int MIPS_INS_CFC1 = 144;
+ public static final int MIPS_INS_CFCMSA = 145;
+ public static final int MIPS_INS_CINS = 146;
+ public static final int MIPS_INS_CINS32 = 147;
+ public static final int MIPS_INS_CLASS = 148;
+ public static final int MIPS_INS_CLEI_S = 149;
+ public static final int MIPS_INS_CLEI_U = 150;
+ public static final int MIPS_INS_CLE_S = 151;
+ public static final int MIPS_INS_CLE_U = 152;
+ public static final int MIPS_INS_CLO = 153;
+ public static final int MIPS_INS_CLTI_S = 154;
+ public static final int MIPS_INS_CLTI_U = 155;
+ public static final int MIPS_INS_CLT_S = 156;
+ public static final int MIPS_INS_CLT_U = 157;
+ public static final int MIPS_INS_CLZ = 158;
+ public static final int MIPS_INS_CMPGDU = 159;
+ public static final int MIPS_INS_CMPGU = 160;
+ public static final int MIPS_INS_CMPU = 161;
+ public static final int MIPS_INS_CMP = 162;
+ public static final int MIPS_INS_COPY_S = 163;
+ public static final int MIPS_INS_COPY_U = 164;
+ public static final int MIPS_INS_CTC1 = 165;
+ public static final int MIPS_INS_CTCMSA = 166;
+ public static final int MIPS_INS_CVT = 167;
+ public static final int MIPS_INS_C = 168;
+ public static final int MIPS_INS_CMPI = 169;
+ public static final int MIPS_INS_DADD = 170;
+ public static final int MIPS_INS_DADDI = 171;
+ public static final int MIPS_INS_DADDIU = 172;
+ public static final int MIPS_INS_DADDU = 173;
+ public static final int MIPS_INS_DAHI = 174;
+ public static final int MIPS_INS_DALIGN = 175;
+ public static final int MIPS_INS_DATI = 176;
+ public static final int MIPS_INS_DAUI = 177;
+ public static final int MIPS_INS_DBITSWAP = 178;
+ public static final int MIPS_INS_DCLO = 179;
+ public static final int MIPS_INS_DCLZ = 180;
+ public static final int MIPS_INS_DDIV = 181;
+ public static final int MIPS_INS_DDIVU = 182;
+ public static final int MIPS_INS_DERET = 183;
+ public static final int MIPS_INS_DEXT = 184;
+ public static final int MIPS_INS_DEXTM = 185;
+ public static final int MIPS_INS_DEXTU = 186;
+ public static final int MIPS_INS_DI = 187;
+ public static final int MIPS_INS_DINS = 188;
+ public static final int MIPS_INS_DINSM = 189;
+ public static final int MIPS_INS_DINSU = 190;
+ public static final int MIPS_INS_DIV = 191;
+ public static final int MIPS_INS_DIVU = 192;
+ public static final int MIPS_INS_DIV_S = 193;
+ public static final int MIPS_INS_DIV_U = 194;
+ public static final int MIPS_INS_DLSA = 195;
+ public static final int MIPS_INS_DMFC0 = 196;
+ public static final int MIPS_INS_DMFC1 = 197;
+ public static final int MIPS_INS_DMFC2 = 198;
+ public static final int MIPS_INS_DMOD = 199;
+ public static final int MIPS_INS_DMODU = 200;
+ public static final int MIPS_INS_DMTC0 = 201;
+ public static final int MIPS_INS_DMTC1 = 202;
+ public static final int MIPS_INS_DMTC2 = 203;
+ public static final int MIPS_INS_DMUH = 204;
+ public static final int MIPS_INS_DMUHU = 205;
+ public static final int MIPS_INS_DMUL = 206;
+ public static final int MIPS_INS_DMULT = 207;
+ public static final int MIPS_INS_DMULTU = 208;
+ public static final int MIPS_INS_DMULU = 209;
+ public static final int MIPS_INS_DOTP_S = 210;
+ public static final int MIPS_INS_DOTP_U = 211;
+ public static final int MIPS_INS_DPADD_S = 212;
+ public static final int MIPS_INS_DPADD_U = 213;
+ public static final int MIPS_INS_DPAQX_SA = 214;
+ public static final int MIPS_INS_DPAQX_S = 215;
+ public static final int MIPS_INS_DPAQ_SA = 216;
+ public static final int MIPS_INS_DPAQ_S = 217;
+ public static final int MIPS_INS_DPAU = 218;
+ public static final int MIPS_INS_DPAX = 219;
+ public static final int MIPS_INS_DPA = 220;
+ public static final int MIPS_INS_DPOP = 221;
+ public static final int MIPS_INS_DPSQX_SA = 222;
+ public static final int MIPS_INS_DPSQX_S = 223;
+ public static final int MIPS_INS_DPSQ_SA = 224;
+ public static final int MIPS_INS_DPSQ_S = 225;
+ public static final int MIPS_INS_DPSUB_S = 226;
+ public static final int MIPS_INS_DPSUB_U = 227;
+ public static final int MIPS_INS_DPSU = 228;
+ public static final int MIPS_INS_DPSX = 229;
+ public static final int MIPS_INS_DPS = 230;
+ public static final int MIPS_INS_DROTR = 231;
+ public static final int MIPS_INS_DROTR32 = 232;
+ public static final int MIPS_INS_DROTRV = 233;
+ public static final int MIPS_INS_DSBH = 234;
+ public static final int MIPS_INS_DSHD = 235;
+ public static final int MIPS_INS_DSLL = 236;
+ public static final int MIPS_INS_DSLL32 = 237;
+ public static final int MIPS_INS_DSLLV = 238;
+ public static final int MIPS_INS_DSRA = 239;
+ public static final int MIPS_INS_DSRA32 = 240;
+ public static final int MIPS_INS_DSRAV = 241;
+ public static final int MIPS_INS_DSRL = 242;
+ public static final int MIPS_INS_DSRL32 = 243;
+ public static final int MIPS_INS_DSRLV = 244;
+ public static final int MIPS_INS_DSUB = 245;
+ public static final int MIPS_INS_DSUBU = 246;
+ public static final int MIPS_INS_EHB = 247;
+ public static final int MIPS_INS_EI = 248;
+ public static final int MIPS_INS_ERET = 249;
+ public static final int MIPS_INS_EXT = 250;
+ public static final int MIPS_INS_EXTP = 251;
+ public static final int MIPS_INS_EXTPDP = 252;
+ public static final int MIPS_INS_EXTPDPV = 253;
+ public static final int MIPS_INS_EXTPV = 254;
+ public static final int MIPS_INS_EXTRV_RS = 255;
+ public static final int MIPS_INS_EXTRV_R = 256;
+ public static final int MIPS_INS_EXTRV_S = 257;
+ public static final int MIPS_INS_EXTRV = 258;
+ public static final int MIPS_INS_EXTR_RS = 259;
+ public static final int MIPS_INS_EXTR_R = 260;
+ public static final int MIPS_INS_EXTR_S = 261;
+ public static final int MIPS_INS_EXTR = 262;
+ public static final int MIPS_INS_EXTS = 263;
+ public static final int MIPS_INS_EXTS32 = 264;
+ public static final int MIPS_INS_ABS = 265;
+ public static final int MIPS_INS_FADD = 266;
+ public static final int MIPS_INS_FCAF = 267;
+ public static final int MIPS_INS_FCEQ = 268;
+ public static final int MIPS_INS_FCLASS = 269;
+ public static final int MIPS_INS_FCLE = 270;
+ public static final int MIPS_INS_FCLT = 271;
+ public static final int MIPS_INS_FCNE = 272;
+ public static final int MIPS_INS_FCOR = 273;
+ public static final int MIPS_INS_FCUEQ = 274;
+ public static final int MIPS_INS_FCULE = 275;
+ public static final int MIPS_INS_FCULT = 276;
+ public static final int MIPS_INS_FCUNE = 277;
+ public static final int MIPS_INS_FCUN = 278;
+ public static final int MIPS_INS_FDIV = 279;
+ public static final int MIPS_INS_FEXDO = 280;
+ public static final int MIPS_INS_FEXP2 = 281;
+ public static final int MIPS_INS_FEXUPL = 282;
+ public static final int MIPS_INS_FEXUPR = 283;
+ public static final int MIPS_INS_FFINT_S = 284;
+ public static final int MIPS_INS_FFINT_U = 285;
+ public static final int MIPS_INS_FFQL = 286;
+ public static final int MIPS_INS_FFQR = 287;
+ public static final int MIPS_INS_FILL = 288;
+ public static final int MIPS_INS_FLOG2 = 289;
+ public static final int MIPS_INS_FLOOR = 290;
+ public static final int MIPS_INS_FMADD = 291;
+ public static final int MIPS_INS_FMAX_A = 292;
+ public static final int MIPS_INS_FMAX = 293;
+ public static final int MIPS_INS_FMIN_A = 294;
+ public static final int MIPS_INS_FMIN = 295;
+ public static final int MIPS_INS_MOV = 296;
+ public static final int MIPS_INS_FMSUB = 297;
+ public static final int MIPS_INS_FMUL = 298;
+ public static final int MIPS_INS_MUL = 299;
+ public static final int MIPS_INS_NEG = 300;
+ public static final int MIPS_INS_FRCP = 301;
+ public static final int MIPS_INS_FRINT = 302;
+ public static final int MIPS_INS_FRSQRT = 303;
+ public static final int MIPS_INS_FSAF = 304;
+ public static final int MIPS_INS_FSEQ = 305;
+ public static final int MIPS_INS_FSLE = 306;
+ public static final int MIPS_INS_FSLT = 307;
+ public static final int MIPS_INS_FSNE = 308;
+ public static final int MIPS_INS_FSOR = 309;
+ public static final int MIPS_INS_FSQRT = 310;
+ public static final int MIPS_INS_SQRT = 311;
+ public static final int MIPS_INS_FSUB = 312;
+ public static final int MIPS_INS_SUB = 313;
+ public static final int MIPS_INS_FSUEQ = 314;
+ public static final int MIPS_INS_FSULE = 315;
+ public static final int MIPS_INS_FSULT = 316;
+ public static final int MIPS_INS_FSUNE = 317;
+ public static final int MIPS_INS_FSUN = 318;
+ public static final int MIPS_INS_FTINT_S = 319;
+ public static final int MIPS_INS_FTINT_U = 320;
+ public static final int MIPS_INS_FTQ = 321;
+ public static final int MIPS_INS_FTRUNC_S = 322;
+ public static final int MIPS_INS_FTRUNC_U = 323;
+ public static final int MIPS_INS_HADD_S = 324;
+ public static final int MIPS_INS_HADD_U = 325;
+ public static final int MIPS_INS_HSUB_S = 326;
+ public static final int MIPS_INS_HSUB_U = 327;
+ public static final int MIPS_INS_ILVEV = 328;
+ public static final int MIPS_INS_ILVL = 329;
+ public static final int MIPS_INS_ILVOD = 330;
+ public static final int MIPS_INS_ILVR = 331;
+ public static final int MIPS_INS_INS = 332;
+ public static final int MIPS_INS_INSERT = 333;
+ public static final int MIPS_INS_INSV = 334;
+ public static final int MIPS_INS_INSVE = 335;
+ public static final int MIPS_INS_J = 336;
+ public static final int MIPS_INS_JAL = 337;
+ public static final int MIPS_INS_JALR = 338;
+ public static final int MIPS_INS_JALRS16 = 339;
+ public static final int MIPS_INS_JALRS = 340;
+ public static final int MIPS_INS_JALS = 341;
+ public static final int MIPS_INS_JALX = 342;
+ public static final int MIPS_INS_JIALC = 343;
+ public static final int MIPS_INS_JIC = 344;
+ public static final int MIPS_INS_JR = 345;
+ public static final int MIPS_INS_JR16 = 346;
+ public static final int MIPS_INS_JRADDIUSP = 347;
+ public static final int MIPS_INS_JRC = 348;
+ public static final int MIPS_INS_JALRC = 349;
+ public static final int MIPS_INS_LB = 350;
+ public static final int MIPS_INS_LBU16 = 351;
+ public static final int MIPS_INS_LBUX = 352;
+ public static final int MIPS_INS_LBU = 353;
+ public static final int MIPS_INS_LD = 354;
+ public static final int MIPS_INS_LDC1 = 355;
+ public static final int MIPS_INS_LDC2 = 356;
+ public static final int MIPS_INS_LDC3 = 357;
+ public static final int MIPS_INS_LDI = 358;
+ public static final int MIPS_INS_LDL = 359;
+ public static final int MIPS_INS_LDPC = 360;
+ public static final int MIPS_INS_LDR = 361;
+ public static final int MIPS_INS_LDXC1 = 362;
+ public static final int MIPS_INS_LH = 363;
+ public static final int MIPS_INS_LHU16 = 364;
+ public static final int MIPS_INS_LHX = 365;
+ public static final int MIPS_INS_LHU = 366;
+ public static final int MIPS_INS_LI16 = 367;
+ public static final int MIPS_INS_LL = 368;
+ public static final int MIPS_INS_LLD = 369;
+ public static final int MIPS_INS_LSA = 370;
+ public static final int MIPS_INS_LUXC1 = 371;
+ public static final int MIPS_INS_LUI = 372;
+ public static final int MIPS_INS_LW = 373;
+ public static final int MIPS_INS_LW16 = 374;
+ public static final int MIPS_INS_LWC1 = 375;
+ public static final int MIPS_INS_LWC2 = 376;
+ public static final int MIPS_INS_LWC3 = 377;
+ public static final int MIPS_INS_LWL = 378;
+ public static final int MIPS_INS_LWM16 = 379;
+ public static final int MIPS_INS_LWM32 = 380;
+ public static final int MIPS_INS_LWPC = 381;
+ public static final int MIPS_INS_LWP = 382;
+ public static final int MIPS_INS_LWR = 383;
+ public static final int MIPS_INS_LWUPC = 384;
+ public static final int MIPS_INS_LWU = 385;
+ public static final int MIPS_INS_LWX = 386;
+ public static final int MIPS_INS_LWXC1 = 387;
+ public static final int MIPS_INS_LWXS = 388;
+ public static final int MIPS_INS_LI = 389;
+ public static final int MIPS_INS_MADD = 390;
+ public static final int MIPS_INS_MADDF = 391;
+ public static final int MIPS_INS_MADDR_Q = 392;
+ public static final int MIPS_INS_MADDU = 393;
+ public static final int MIPS_INS_MADDV = 394;
+ public static final int MIPS_INS_MADD_Q = 395;
+ public static final int MIPS_INS_MAQ_SA = 396;
+ public static final int MIPS_INS_MAQ_S = 397;
+ public static final int MIPS_INS_MAXA = 398;
+ public static final int MIPS_INS_MAXI_S = 399;
+ public static final int MIPS_INS_MAXI_U = 400;
+ public static final int MIPS_INS_MAX_A = 401;
+ public static final int MIPS_INS_MAX = 402;
+ public static final int MIPS_INS_MAX_S = 403;
+ public static final int MIPS_INS_MAX_U = 404;
+ public static final int MIPS_INS_MFC0 = 405;
+ public static final int MIPS_INS_MFC1 = 406;
+ public static final int MIPS_INS_MFC2 = 407;
+ public static final int MIPS_INS_MFHC1 = 408;
+ public static final int MIPS_INS_MFHI = 409;
+ public static final int MIPS_INS_MFLO = 410;
+ public static final int MIPS_INS_MINA = 411;
+ public static final int MIPS_INS_MINI_S = 412;
+ public static final int MIPS_INS_MINI_U = 413;
+ public static final int MIPS_INS_MIN_A = 414;
+ public static final int MIPS_INS_MIN = 415;
+ public static final int MIPS_INS_MIN_S = 416;
+ public static final int MIPS_INS_MIN_U = 417;
+ public static final int MIPS_INS_MOD = 418;
+ public static final int MIPS_INS_MODSUB = 419;
+ public static final int MIPS_INS_MODU = 420;
+ public static final int MIPS_INS_MOD_S = 421;
+ public static final int MIPS_INS_MOD_U = 422;
+ public static final int MIPS_INS_MOVE = 423;
+ public static final int MIPS_INS_MOVEP = 424;
+ public static final int MIPS_INS_MOVF = 425;
+ public static final int MIPS_INS_MOVN = 426;
+ public static final int MIPS_INS_MOVT = 427;
+ public static final int MIPS_INS_MOVZ = 428;
+ public static final int MIPS_INS_MSUB = 429;
+ public static final int MIPS_INS_MSUBF = 430;
+ public static final int MIPS_INS_MSUBR_Q = 431;
+ public static final int MIPS_INS_MSUBU = 432;
+ public static final int MIPS_INS_MSUBV = 433;
+ public static final int MIPS_INS_MSUB_Q = 434;
+ public static final int MIPS_INS_MTC0 = 435;
+ public static final int MIPS_INS_MTC1 = 436;
+ public static final int MIPS_INS_MTC2 = 437;
+ public static final int MIPS_INS_MTHC1 = 438;
+ public static final int MIPS_INS_MTHI = 439;
+ public static final int MIPS_INS_MTHLIP = 440;
+ public static final int MIPS_INS_MTLO = 441;
+ public static final int MIPS_INS_MTM0 = 442;
+ public static final int MIPS_INS_MTM1 = 443;
+ public static final int MIPS_INS_MTM2 = 444;
+ public static final int MIPS_INS_MTP0 = 445;
+ public static final int MIPS_INS_MTP1 = 446;
+ public static final int MIPS_INS_MTP2 = 447;
+ public static final int MIPS_INS_MUH = 448;
+ public static final int MIPS_INS_MUHU = 449;
+ public static final int MIPS_INS_MULEQ_S = 450;
+ public static final int MIPS_INS_MULEU_S = 451;
+ public static final int MIPS_INS_MULQ_RS = 452;
+ public static final int MIPS_INS_MULQ_S = 453;
+ public static final int MIPS_INS_MULR_Q = 454;
+ public static final int MIPS_INS_MULSAQ_S = 455;
+ public static final int MIPS_INS_MULSA = 456;
+ public static final int MIPS_INS_MULT = 457;
+ public static final int MIPS_INS_MULTU = 458;
+ public static final int MIPS_INS_MULU = 459;
+ public static final int MIPS_INS_MULV = 460;
+ public static final int MIPS_INS_MUL_Q = 461;
+ public static final int MIPS_INS_MUL_S = 462;
+ public static final int MIPS_INS_NLOC = 463;
+ public static final int MIPS_INS_NLZC = 464;
+ public static final int MIPS_INS_NMADD = 465;
+ public static final int MIPS_INS_NMSUB = 466;
+ public static final int MIPS_INS_NOR = 467;
+ public static final int MIPS_INS_NORI = 468;
+ public static final int MIPS_INS_NOT16 = 469;
+ public static final int MIPS_INS_NOT = 470;
+ public static final int MIPS_INS_OR = 471;
+ public static final int MIPS_INS_OR16 = 472;
+ public static final int MIPS_INS_ORI = 473;
+ public static final int MIPS_INS_PACKRL = 474;
+ public static final int MIPS_INS_PAUSE = 475;
+ public static final int MIPS_INS_PCKEV = 476;
+ public static final int MIPS_INS_PCKOD = 477;
+ public static final int MIPS_INS_PCNT = 478;
+ public static final int MIPS_INS_PICK = 479;
+ public static final int MIPS_INS_POP = 480;
+ public static final int MIPS_INS_PRECEQU = 481;
+ public static final int MIPS_INS_PRECEQ = 482;
+ public static final int MIPS_INS_PRECEU = 483;
+ public static final int MIPS_INS_PRECRQU_S = 484;
+ public static final int MIPS_INS_PRECRQ = 485;
+ public static final int MIPS_INS_PRECRQ_RS = 486;
+ public static final int MIPS_INS_PRECR = 487;
+ public static final int MIPS_INS_PRECR_SRA = 488;
+ public static final int MIPS_INS_PRECR_SRA_R = 489;
+ public static final int MIPS_INS_PREF = 490;
+ public static final int MIPS_INS_PREPEND = 491;
+ public static final int MIPS_INS_RADDU = 492;
+ public static final int MIPS_INS_RDDSP = 493;
+ public static final int MIPS_INS_RDHWR = 494;
+ public static final int MIPS_INS_REPLV = 495;
+ public static final int MIPS_INS_REPL = 496;
+ public static final int MIPS_INS_RINT = 497;
+ public static final int MIPS_INS_ROTR = 498;
+ public static final int MIPS_INS_ROTRV = 499;
+ public static final int MIPS_INS_ROUND = 500;
+ public static final int MIPS_INS_SAT_S = 501;
+ public static final int MIPS_INS_SAT_U = 502;
+ public static final int MIPS_INS_SB = 503;
+ public static final int MIPS_INS_SB16 = 504;
+ public static final int MIPS_INS_SC = 505;
+ public static final int MIPS_INS_SCD = 506;
+ public static final int MIPS_INS_SD = 507;
+ public static final int MIPS_INS_SDBBP = 508;
+ public static final int MIPS_INS_SDBBP16 = 509;
+ public static final int MIPS_INS_SDC1 = 510;
+ public static final int MIPS_INS_SDC2 = 511;
+ public static final int MIPS_INS_SDC3 = 512;
+ public static final int MIPS_INS_SDL = 513;
+ public static final int MIPS_INS_SDR = 514;
+ public static final int MIPS_INS_SDXC1 = 515;
+ public static final int MIPS_INS_SEB = 516;
+ public static final int MIPS_INS_SEH = 517;
+ public static final int MIPS_INS_SELEQZ = 518;
+ public static final int MIPS_INS_SELNEZ = 519;
+ public static final int MIPS_INS_SEL = 520;
+ public static final int MIPS_INS_SEQ = 521;
+ public static final int MIPS_INS_SEQI = 522;
+ public static final int MIPS_INS_SH = 523;
+ public static final int MIPS_INS_SH16 = 524;
+ public static final int MIPS_INS_SHF = 525;
+ public static final int MIPS_INS_SHILO = 526;
+ public static final int MIPS_INS_SHILOV = 527;
+ public static final int MIPS_INS_SHLLV = 528;
+ public static final int MIPS_INS_SHLLV_S = 529;
+ public static final int MIPS_INS_SHLL = 530;
+ public static final int MIPS_INS_SHLL_S = 531;
+ public static final int MIPS_INS_SHRAV = 532;
+ public static final int MIPS_INS_SHRAV_R = 533;
+ public static final int MIPS_INS_SHRA = 534;
+ public static final int MIPS_INS_SHRA_R = 535;
+ public static final int MIPS_INS_SHRLV = 536;
+ public static final int MIPS_INS_SHRL = 537;
+ public static final int MIPS_INS_SLDI = 538;
+ public static final int MIPS_INS_SLD = 539;
+ public static final int MIPS_INS_SLL = 540;
+ public static final int MIPS_INS_SLL16 = 541;
+ public static final int MIPS_INS_SLLI = 542;
+ public static final int MIPS_INS_SLLV = 543;
+ public static final int MIPS_INS_SLT = 544;
+ public static final int MIPS_INS_SLTI = 545;
+ public static final int MIPS_INS_SLTIU = 546;
+ public static final int MIPS_INS_SLTU = 547;
+ public static final int MIPS_INS_SNE = 548;
+ public static final int MIPS_INS_SNEI = 549;
+ public static final int MIPS_INS_SPLATI = 550;
+ public static final int MIPS_INS_SPLAT = 551;
+ public static final int MIPS_INS_SRA = 552;
+ public static final int MIPS_INS_SRAI = 553;
+ public static final int MIPS_INS_SRARI = 554;
+ public static final int MIPS_INS_SRAR = 555;
+ public static final int MIPS_INS_SRAV = 556;
+ public static final int MIPS_INS_SRL = 557;
+ public static final int MIPS_INS_SRL16 = 558;
+ public static final int MIPS_INS_SRLI = 559;
+ public static final int MIPS_INS_SRLRI = 560;
+ public static final int MIPS_INS_SRLR = 561;
+ public static final int MIPS_INS_SRLV = 562;
+ public static final int MIPS_INS_SSNOP = 563;
+ public static final int MIPS_INS_ST = 564;
+ public static final int MIPS_INS_SUBQH = 565;
+ public static final int MIPS_INS_SUBQH_R = 566;
+ public static final int MIPS_INS_SUBQ = 567;
+ public static final int MIPS_INS_SUBQ_S = 568;
+ public static final int MIPS_INS_SUBSUS_U = 569;
+ public static final int MIPS_INS_SUBSUU_S = 570;
+ public static final int MIPS_INS_SUBS_S = 571;
+ public static final int MIPS_INS_SUBS_U = 572;
+ public static final int MIPS_INS_SUBU16 = 573;
+ public static final int MIPS_INS_SUBUH = 574;
+ public static final int MIPS_INS_SUBUH_R = 575;
+ public static final int MIPS_INS_SUBU = 576;
+ public static final int MIPS_INS_SUBU_S = 577;
+ public static final int MIPS_INS_SUBVI = 578;
+ public static final int MIPS_INS_SUBV = 579;
+ public static final int MIPS_INS_SUXC1 = 580;
+ public static final int MIPS_INS_SW = 581;
+ public static final int MIPS_INS_SW16 = 582;
+ public static final int MIPS_INS_SWC1 = 583;
+ public static final int MIPS_INS_SWC2 = 584;
+ public static final int MIPS_INS_SWC3 = 585;
+ public static final int MIPS_INS_SWL = 586;
+ public static final int MIPS_INS_SWM16 = 587;
+ public static final int MIPS_INS_SWM32 = 588;
+ public static final int MIPS_INS_SWP = 589;
+ public static final int MIPS_INS_SWR = 590;
+ public static final int MIPS_INS_SWXC1 = 591;
+ public static final int MIPS_INS_SYNC = 592;
+ public static final int MIPS_INS_SYNCI = 593;
+ public static final int MIPS_INS_SYSCALL = 594;
+ public static final int MIPS_INS_TEQ = 595;
+ public static final int MIPS_INS_TEQI = 596;
+ public static final int MIPS_INS_TGE = 597;
+ public static final int MIPS_INS_TGEI = 598;
+ public static final int MIPS_INS_TGEIU = 599;
+ public static final int MIPS_INS_TGEU = 600;
+ public static final int MIPS_INS_TLBP = 601;
+ public static final int MIPS_INS_TLBR = 602;
+ public static final int MIPS_INS_TLBWI = 603;
+ public static final int MIPS_INS_TLBWR = 604;
+ public static final int MIPS_INS_TLT = 605;
+ public static final int MIPS_INS_TLTI = 606;
+ public static final int MIPS_INS_TLTIU = 607;
+ public static final int MIPS_INS_TLTU = 608;
+ public static final int MIPS_INS_TNE = 609;
+ public static final int MIPS_INS_TNEI = 610;
+ public static final int MIPS_INS_TRUNC = 611;
+ public static final int MIPS_INS_V3MULU = 612;
+ public static final int MIPS_INS_VMM0 = 613;
+ public static final int MIPS_INS_VMULU = 614;
+ public static final int MIPS_INS_VSHF = 615;
+ public static final int MIPS_INS_WAIT = 616;
+ public static final int MIPS_INS_WRDSP = 617;
+ public static final int MIPS_INS_WSBH = 618;
+ public static final int MIPS_INS_XOR = 619;
+ public static final int MIPS_INS_XOR16 = 620;
+ public static final int MIPS_INS_XORI = 621;
+
+ // some alias instructions
+ public static final int MIPS_INS_NOP = 622;
+ public static final int MIPS_INS_NEGU = 623;
+
+ // special instructions
+ public static final int MIPS_INS_JALR_HB = 624;
+ public static final int MIPS_INS_JR_HB = 625;
+ public static final int MIPS_INS_ENDING = 626;
+
+ public static final int MIPS_GRP_INVALID = 0;
+ 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;
+ public static final int MIPS_GRP_BRANCH_RELATIVE = 7;
+ public static final int MIPS_GRP_BITCOUNT = 128;
+ public static final int MIPS_GRP_DSP = 129;
+ public static final int MIPS_GRP_DSPR2 = 130;
+ public static final int MIPS_GRP_FPIDX = 131;
+ public static final int MIPS_GRP_MSA = 132;
+ public static final int MIPS_GRP_MIPS32R2 = 133;
+ public static final int MIPS_GRP_MIPS64 = 134;
+ public static final int MIPS_GRP_MIPS64R2 = 135;
+ public static final int MIPS_GRP_SEINREG = 136;
+ public static final int MIPS_GRP_STDENC = 137;
+ public static final int MIPS_GRP_SWAP = 138;
+ public static final int MIPS_GRP_MICROMIPS = 139;
+ public static final int MIPS_GRP_MIPS16MODE = 140;
+ public static final int MIPS_GRP_FP64BIT = 141;
+ public static final int MIPS_GRP_NONANSFPMATH = 142;
+ public static final int MIPS_GRP_NOTFP64BIT = 143;
+ public static final int MIPS_GRP_NOTINMICROMIPS = 144;
+ public static final int MIPS_GRP_NOTNACL = 145;
+ public static final int MIPS_GRP_NOTMIPS32R6 = 146;
+ public static final int MIPS_GRP_NOTMIPS64R6 = 147;
+ public static final int MIPS_GRP_CNMIPS = 148;
+ public static final int MIPS_GRP_MIPS32 = 149;
+ public static final int MIPS_GRP_MIPS32R6 = 150;
+ public static final int MIPS_GRP_MIPS64R6 = 151;
+ public static final int MIPS_GRP_MIPS2 = 152;
+ public static final int MIPS_GRP_MIPS3 = 153;
+ public static final int MIPS_GRP_MIPS3_32 = 154;
+ public static final int MIPS_GRP_MIPS3_32R2 = 155;
+ public static final int MIPS_GRP_MIPS4_32 = 156;
+ public static final int MIPS_GRP_MIPS4_32R2 = 157;
+ public static final int MIPS_GRP_MIPS5_32R2 = 158;
+ public static final int MIPS_GRP_GP32BIT = 159;
+ public static final int MIPS_GRP_GP64BIT = 160;
+ public static final int MIPS_GRP_ENDING = 161;
+} \ No newline at end of file
diff --git a/capstone/bindings/java/capstone/Ppc.java b/capstone/bindings/java/capstone/Ppc.java
new file mode 100644
index 000000000..128667a09
--- /dev/null
+++ b/capstone/bindings/java/capstone/Ppc.java
@@ -0,0 +1,109 @@
+// Capstone Java binding
+// By Nguyen Anh Quynh & Dang Hoang Vu, 2013
+
+package capstone;
+
+import com.sun.jna.Structure;
+import com.sun.jna.Union;
+
+import java.util.List;
+import java.util.Arrays;
+
+import static capstone.Ppc_const.*;
+
+public class Ppc {
+
+ public static class MemType extends Structure {
+ public int base;
+ public int disp;
+
+ @Override
+ public List getFieldOrder() {
+ return Arrays.asList("base", "disp");
+ }
+ }
+
+ public static class CrxType extends Structure {
+ public int scale;
+ public int reg;
+ public int cond;
+
+ @Override
+ public List getFieldOrder() {
+ return Arrays.asList("scale", "reg", "cond");
+ }
+ }
+
+ public static class OpValue extends Union {
+ public int reg;
+ public long imm;
+ public MemType mem;
+ public CrxType crx;
+ }
+
+ public static class Operand extends Structure {
+ public int type;
+ public OpValue value;
+
+ public void read() {
+ readField("type");
+ if (type == PPC_OP_MEM)
+ value.setType(MemType.class);
+ if (type == PPC_OP_CRX)
+ value.setType(CrxType.class);
+ if (type == PPC_OP_IMM || type == PPC_OP_REG)
+ value.setType(Integer.TYPE);
+ if (type == PPC_OP_INVALID)
+ return;
+ readField("value");
+ }
+
+ @Override
+ public List getFieldOrder() {
+ return Arrays.asList("type", "value");
+ }
+ }
+
+ public static class UnionOpInfo extends Capstone.UnionOpInfo {
+ public int bc;
+ public int bh;
+ public byte update_cr0;
+ public byte op_count;
+
+ public Operand [] op;
+
+ public UnionOpInfo() {
+ op = new Operand[8];
+ }
+
+ public void read() {
+ readField("bc");
+ readField("bh");
+ readField("update_cr0");
+ readField("op_count");
+ op = new Operand[op_count];
+ if (op_count != 0)
+ readField("op");
+ }
+
+ @Override
+ public List getFieldOrder() {
+ return Arrays.asList("bc", "bh", "update_cr0", "op_count", "op");
+ }
+ }
+
+ public static class OpInfo extends Capstone.OpInfo {
+ public int bc;
+ public int bh;
+ public boolean updateCr0;
+
+ public Operand [] op;
+
+ public OpInfo(UnionOpInfo op_info) {
+ bc = op_info.bc;
+ bh = op_info.bh;
+ updateCr0 = (op_info.update_cr0 > 0);
+ op = op_info.op;
+ }
+ }
+}
diff --git a/capstone/bindings/java/capstone/Ppc_const.java b/capstone/bindings/java/capstone/Ppc_const.java
new file mode 100644
index 000000000..51fea3066
--- /dev/null
+++ b/capstone/bindings/java/capstone/Ppc_const.java
@@ -0,0 +1,1980 @@
+// For Capstone Engine. AUTO-GENERATED FILE, DO NOT EDIT
+package capstone;
+
+public class Ppc_const {
+
+ public static final int PPC_BC_INVALID = 0;
+ public static final int PPC_BC_LT = (0<<5)|12;
+ public static final int PPC_BC_LE = (1<<5)|4;
+ public static final int PPC_BC_EQ = (2<<5)|12;
+ public static final int PPC_BC_GE = (0<<5)|4;
+ public static final int PPC_BC_GT = (1<<5)|12;
+ public static final int PPC_BC_NE = (2<<5)|4;
+ public static final int PPC_BC_UN = (3<<5)|12;
+ public static final int PPC_BC_NU = (3<<5)|4;
+ public static final int PPC_BC_SO = (4<<5)|12;
+ public static final int PPC_BC_NS = (4<<5)|4;
+
+ public static final int PPC_BH_INVALID = 0;
+ public static final int PPC_BH_PLUS = 1;
+ public static final int PPC_BH_MINUS = 2;
+
+ public static final int PPC_OP_INVALID = 0;
+ public static final int PPC_OP_REG = 1;
+ public static final int PPC_OP_IMM = 2;
+ public static final int PPC_OP_MEM = 3;
+ public static final int PPC_OP_CRX = 64;
+
+ public static final int PPC_REG_INVALID = 0;
+ public static final int PPC_REG_CARRY = 2;
+ public static final int PPC_REG_CTR = 3;
+ public static final int PPC_REG_LR = 5;
+ public static final int PPC_REG_RM = 6;
+ public static final int PPC_REG_VRSAVE = 8;
+ public static final int PPC_REG_XER = 9;
+ public static final int PPC_REG_ZERO = 10;
+ public static final int PPC_REG_CR0 = 12;
+ public static final int PPC_REG_CR1 = 13;
+ public static final int PPC_REG_CR2 = 14;
+ public static final int PPC_REG_CR3 = 15;
+ public static final int PPC_REG_CR4 = 16;
+ public static final int PPC_REG_CR5 = 17;
+ public static final int PPC_REG_CR6 = 18;
+ public static final int PPC_REG_CR7 = 19;
+ public static final int PPC_REG_CTR8 = 20;
+ public static final int PPC_REG_F0 = 21;
+ public static final int PPC_REG_F1 = 22;
+ public static final int PPC_REG_F2 = 23;
+ public static final int PPC_REG_F3 = 24;
+ public static final int PPC_REG_F4 = 25;
+ public static final int PPC_REG_F5 = 26;
+ public static final int PPC_REG_F6 = 27;
+ public static final int PPC_REG_F7 = 28;
+ public static final int PPC_REG_F8 = 29;
+ public static final int PPC_REG_F9 = 30;
+ public static final int PPC_REG_F10 = 31;
+ public static final int PPC_REG_F11 = 32;
+ public static final int PPC_REG_F12 = 33;
+ public static final int PPC_REG_F13 = 34;
+ public static final int PPC_REG_F14 = 35;
+ public static final int PPC_REG_F15 = 36;
+ public static final int PPC_REG_F16 = 37;
+ public static final int PPC_REG_F17 = 38;
+ public static final int PPC_REG_F18 = 39;
+ public static final int PPC_REG_F19 = 40;
+ public static final int PPC_REG_F20 = 41;
+ public static final int PPC_REG_F21 = 42;
+ public static final int PPC_REG_F22 = 43;
+ public static final int PPC_REG_F23 = 44;
+ public static final int PPC_REG_F24 = 45;
+ public static final int PPC_REG_F25 = 46;
+ public static final int PPC_REG_F26 = 47;
+ public static final int PPC_REG_F27 = 48;
+ public static final int PPC_REG_F28 = 49;
+ public static final int PPC_REG_F29 = 50;
+ public static final int PPC_REG_F30 = 51;
+ public static final int PPC_REG_F31 = 52;
+ public static final int PPC_REG_LR8 = 54;
+ public static final int PPC_REG_Q0 = 55;
+ public static final int PPC_REG_Q1 = 56;
+ public static final int PPC_REG_Q2 = 57;
+ public static final int PPC_REG_Q3 = 58;
+ public static final int PPC_REG_Q4 = 59;
+ public static final int PPC_REG_Q5 = 60;
+ public static final int PPC_REG_Q6 = 61;
+ public static final int PPC_REG_Q7 = 62;
+ public static final int PPC_REG_Q8 = 63;
+ public static final int PPC_REG_Q9 = 64;
+ public static final int PPC_REG_Q10 = 65;
+ public static final int PPC_REG_Q11 = 66;
+ public static final int PPC_REG_Q12 = 67;
+ public static final int PPC_REG_Q13 = 68;
+ public static final int PPC_REG_Q14 = 69;
+ public static final int PPC_REG_Q15 = 70;
+ public static final int PPC_REG_Q16 = 71;
+ public static final int PPC_REG_Q17 = 72;
+ public static final int PPC_REG_Q18 = 73;
+ public static final int PPC_REG_Q19 = 74;
+ public static final int PPC_REG_Q20 = 75;
+ public static final int PPC_REG_Q21 = 76;
+ public static final int PPC_REG_Q22 = 77;
+ public static final int PPC_REG_Q23 = 78;
+ public static final int PPC_REG_Q24 = 79;
+ public static final int PPC_REG_Q25 = 80;
+ public static final int PPC_REG_Q26 = 81;
+ public static final int PPC_REG_Q27 = 82;
+ public static final int PPC_REG_Q28 = 83;
+ public static final int PPC_REG_Q29 = 84;
+ public static final int PPC_REG_Q30 = 85;
+ public static final int PPC_REG_Q31 = 86;
+ public static final int PPC_REG_R0 = 87;
+ public static final int PPC_REG_R1 = 88;
+ public static final int PPC_REG_R2 = 89;
+ public static final int PPC_REG_R3 = 90;
+ public static final int PPC_REG_R4 = 91;
+ public static final int PPC_REG_R5 = 92;
+ public static final int PPC_REG_R6 = 93;
+ public static final int PPC_REG_R7 = 94;
+ public static final int PPC_REG_R8 = 95;
+ public static final int PPC_REG_R9 = 96;
+ public static final int PPC_REG_R10 = 97;
+ public static final int PPC_REG_R11 = 98;
+ public static final int PPC_REG_R12 = 99;
+ public static final int PPC_REG_R13 = 100;
+ public static final int PPC_REG_R14 = 101;
+ public static final int PPC_REG_R15 = 102;
+ public static final int PPC_REG_R16 = 103;
+ public static final int PPC_REG_R17 = 104;
+ public static final int PPC_REG_R18 = 105;
+ public static final int PPC_REG_R19 = 106;
+ public static final int PPC_REG_R20 = 107;
+ public static final int PPC_REG_R21 = 108;
+ public static final int PPC_REG_R22 = 109;
+ public static final int PPC_REG_R23 = 110;
+ public static final int PPC_REG_R24 = 111;
+ public static final int PPC_REG_R25 = 112;
+ public static final int PPC_REG_R26 = 113;
+ public static final int PPC_REG_R27 = 114;
+ public static final int PPC_REG_R28 = 115;
+ public static final int PPC_REG_R29 = 116;
+ public static final int PPC_REG_R30 = 117;
+ public static final int PPC_REG_R31 = 118;
+ public static final int PPC_REG_V0 = 151;
+ public static final int PPC_REG_V1 = 152;
+ public static final int PPC_REG_V2 = 153;
+ public static final int PPC_REG_V3 = 154;
+ public static final int PPC_REG_V4 = 155;
+ public static final int PPC_REG_V5 = 156;
+ public static final int PPC_REG_V6 = 157;
+ public static final int PPC_REG_V7 = 158;
+ public static final int PPC_REG_V8 = 159;
+ public static final int PPC_REG_V9 = 160;
+ public static final int PPC_REG_V10 = 161;
+ public static final int PPC_REG_V11 = 162;
+ public static final int PPC_REG_V12 = 163;
+ public static final int PPC_REG_V13 = 164;
+ public static final int PPC_REG_V14 = 165;
+ public static final int PPC_REG_V15 = 166;
+ public static final int PPC_REG_V16 = 167;
+ public static final int PPC_REG_V17 = 168;
+ public static final int PPC_REG_V18 = 169;
+ public static final int PPC_REG_V19 = 170;
+ public static final int PPC_REG_V20 = 171;
+ public static final int PPC_REG_V21 = 172;
+ public static final int PPC_REG_V22 = 173;
+ public static final int PPC_REG_V23 = 174;
+ public static final int PPC_REG_V24 = 175;
+ public static final int PPC_REG_V25 = 176;
+ public static final int PPC_REG_V26 = 177;
+ public static final int PPC_REG_V27 = 178;
+ public static final int PPC_REG_V28 = 179;
+ public static final int PPC_REG_V29 = 180;
+ public static final int PPC_REG_V30 = 181;
+ public static final int PPC_REG_V31 = 182;
+ public static final int PPC_REG_VS0 = 215;
+ public static final int PPC_REG_VS1 = 216;
+ public static final int PPC_REG_VS2 = 217;
+ public static final int PPC_REG_VS3 = 218;
+ public static final int PPC_REG_VS4 = 219;
+ public static final int PPC_REG_VS5 = 220;
+ public static final int PPC_REG_VS6 = 221;
+ public static final int PPC_REG_VS7 = 222;
+ public static final int PPC_REG_VS8 = 223;
+ public static final int PPC_REG_VS9 = 224;
+ public static final int PPC_REG_VS10 = 225;
+ public static final int PPC_REG_VS11 = 226;
+ public static final int PPC_REG_VS12 = 227;
+ public static final int PPC_REG_VS13 = 228;
+ public static final int PPC_REG_VS14 = 229;
+ public static final int PPC_REG_VS15 = 230;
+ public static final int PPC_REG_VS16 = 231;
+ public static final int PPC_REG_VS17 = 232;
+ public static final int PPC_REG_VS18 = 233;
+ public static final int PPC_REG_VS19 = 234;
+ public static final int PPC_REG_VS20 = 235;
+ public static final int PPC_REG_VS21 = 236;
+ public static final int PPC_REG_VS22 = 237;
+ public static final int PPC_REG_VS23 = 238;
+ public static final int PPC_REG_VS24 = 239;
+ public static final int PPC_REG_VS25 = 240;
+ public static final int PPC_REG_VS26 = 241;
+ public static final int PPC_REG_VS27 = 242;
+ public static final int PPC_REG_VS28 = 243;
+ public static final int PPC_REG_VS29 = 244;
+ public static final int PPC_REG_VS30 = 245;
+ public static final int PPC_REG_VS31 = 246;
+ public static final int PPC_REG_VS32 = 247;
+ public static final int PPC_REG_VS33 = 248;
+ public static final int PPC_REG_VS34 = 249;
+ public static final int PPC_REG_VS35 = 250;
+ public static final int PPC_REG_VS36 = 251;
+ public static final int PPC_REG_VS37 = 252;
+ public static final int PPC_REG_VS38 = 253;
+ public static final int PPC_REG_VS39 = 254;
+ public static final int PPC_REG_VS40 = 255;
+ public static final int PPC_REG_VS41 = 256;
+ public static final int PPC_REG_VS42 = 257;
+ public static final int PPC_REG_VS43 = 258;
+ public static final int PPC_REG_VS44 = 259;
+ public static final int PPC_REG_VS45 = 260;
+ public static final int PPC_REG_VS46 = 261;
+ public static final int PPC_REG_VS47 = 262;
+ public static final int PPC_REG_VS48 = 263;
+ public static final int PPC_REG_VS49 = 264;
+ public static final int PPC_REG_VS50 = 265;
+ public static final int PPC_REG_VS51 = 266;
+ public static final int PPC_REG_VS52 = 267;
+ public static final int PPC_REG_VS53 = 268;
+ public static final int PPC_REG_VS54 = 269;
+ public static final int PPC_REG_VS55 = 270;
+ public static final int PPC_REG_VS56 = 271;
+ public static final int PPC_REG_VS57 = 272;
+ public static final int PPC_REG_VS58 = 273;
+ public static final int PPC_REG_VS59 = 274;
+ public static final int PPC_REG_VS60 = 275;
+ public static final int PPC_REG_VS61 = 276;
+ public static final int PPC_REG_VS62 = 277;
+ public static final int PPC_REG_VS63 = 278;
+ public static final int PPC_REG_CR0EQ = 312;
+ public static final int PPC_REG_CR1EQ = 313;
+ public static final int PPC_REG_CR2EQ = 314;
+ public static final int PPC_REG_CR3EQ = 315;
+ public static final int PPC_REG_CR4EQ = 316;
+ public static final int PPC_REG_CR5EQ = 317;
+ public static final int PPC_REG_CR6EQ = 318;
+ public static final int PPC_REG_CR7EQ = 319;
+ public static final int PPC_REG_CR0GT = 320;
+ public static final int PPC_REG_CR1GT = 321;
+ public static final int PPC_REG_CR2GT = 322;
+ public static final int PPC_REG_CR3GT = 323;
+ public static final int PPC_REG_CR4GT = 324;
+ public static final int PPC_REG_CR5GT = 325;
+ public static final int PPC_REG_CR6GT = 326;
+ public static final int PPC_REG_CR7GT = 327;
+ public static final int PPC_REG_CR0LT = 328;
+ public static final int PPC_REG_CR1LT = 329;
+ public static final int PPC_REG_CR2LT = 330;
+ public static final int PPC_REG_CR3LT = 331;
+ public static final int PPC_REG_CR4LT = 332;
+ public static final int PPC_REG_CR5LT = 333;
+ public static final int PPC_REG_CR6LT = 334;
+ public static final int PPC_REG_CR7LT = 335;
+ public static final int PPC_REG_CR0UN = 336;
+ public static final int PPC_REG_CR1UN = 337;
+ public static final int PPC_REG_CR2UN = 338;
+ public static final int PPC_REG_CR3UN = 339;
+ public static final int PPC_REG_CR4UN = 340;
+ public static final int PPC_REG_CR5UN = 341;
+ public static final int PPC_REG_CR6UN = 342;
+ public static final int PPC_REG_CR7UN = 343;
+ public static final int PPC_REG_ENDING = 344;
+
+ public static final int PPC_INS_INVALID = 0;
+ public static final int PPC_INS_ADD = 1;
+ public static final int PPC_INS_ADDC = 2;
+ public static final int PPC_INS_ADDE = 3;
+ public static final int PPC_INS_ADDI = 4;
+ public static final int PPC_INS_ADDIC = 5;
+ public static final int PPC_INS_ADDIS = 6;
+ public static final int PPC_INS_ADDME = 7;
+ public static final int PPC_INS_ADDPCIS = 8;
+ public static final int PPC_INS_ADDZE = 9;
+ public static final int PPC_INS_AND = 10;
+ public static final int PPC_INS_ANDC = 11;
+ public static final int PPC_INS_ANDI = 12;
+ public static final int PPC_INS_ANDIS = 13;
+ public static final int PPC_INS_ATTN = 14;
+ public static final int PPC_INS_B = 15;
+ public static final int PPC_INS_BA = 16;
+ public static final int PPC_INS_BC = 17;
+ public static final int PPC_INS_BCA = 18;
+ public static final int PPC_INS_BCCTR = 19;
+ public static final int PPC_INS_BCCTRL = 20;
+ public static final int PPC_INS_BCDCFN = 21;
+ public static final int PPC_INS_BCDCFSQ = 22;
+ public static final int PPC_INS_BCDCFZ = 23;
+ public static final int PPC_INS_BCDCPSGN = 24;
+ public static final int PPC_INS_BCDCTN = 25;
+ public static final int PPC_INS_BCDCTSQ = 26;
+ public static final int PPC_INS_BCDCTZ = 27;
+ public static final int PPC_INS_BCDS = 28;
+ public static final int PPC_INS_BCDSETSGN = 29;
+ public static final int PPC_INS_BCDSR = 30;
+ public static final int PPC_INS_BCDTRUNC = 31;
+ public static final int PPC_INS_BCDUS = 32;
+ public static final int PPC_INS_BCDUTRUNC = 33;
+ public static final int PPC_INS_BCL = 34;
+ public static final int PPC_INS_BCLA = 35;
+ public static final int PPC_INS_BCLR = 36;
+ public static final int PPC_INS_BCLRL = 37;
+ public static final int PPC_INS_BCTR = 38;
+ public static final int PPC_INS_BCTRL = 39;
+ public static final int PPC_INS_BDNZ = 40;
+ public static final int PPC_INS_BDNZA = 41;
+ public static final int PPC_INS_BDNZF = 42;
+ public static final int PPC_INS_BDNZFA = 43;
+ public static final int PPC_INS_BDNZFL = 44;
+ public static final int PPC_INS_BDNZFLA = 45;
+ public static final int PPC_INS_BDNZFLR = 46;
+ public static final int PPC_INS_BDNZFLRL = 47;
+ public static final int PPC_INS_BDNZL = 48;
+ public static final int PPC_INS_BDNZLA = 49;
+ public static final int PPC_INS_BDNZLR = 50;
+ public static final int PPC_INS_BDNZLRL = 51;
+ public static final int PPC_INS_BDNZT = 52;
+ public static final int PPC_INS_BDNZTA = 53;
+ public static final int PPC_INS_BDNZTL = 54;
+ public static final int PPC_INS_BDNZTLA = 55;
+ public static final int PPC_INS_BDNZTLR = 56;
+ public static final int PPC_INS_BDNZTLRL = 57;
+ public static final int PPC_INS_BDZ = 58;
+ public static final int PPC_INS_BDZA = 59;
+ public static final int PPC_INS_BDZF = 60;
+ public static final int PPC_INS_BDZFA = 61;
+ public static final int PPC_INS_BDZFL = 62;
+ public static final int PPC_INS_BDZFLA = 63;
+ public static final int PPC_INS_BDZFLR = 64;
+ public static final int PPC_INS_BDZFLRL = 65;
+ public static final int PPC_INS_BDZL = 66;
+ public static final int PPC_INS_BDZLA = 67;
+ public static final int PPC_INS_BDZLR = 68;
+ public static final int PPC_INS_BDZLRL = 69;
+ public static final int PPC_INS_BDZT = 70;
+ public static final int PPC_INS_BDZTA = 71;
+ public static final int PPC_INS_BDZTL = 72;
+ public static final int PPC_INS_BDZTLA = 73;
+ public static final int PPC_INS_BDZTLR = 74;
+ public static final int PPC_INS_BDZTLRL = 75;
+ public static final int PPC_INS_BEQ = 76;
+ public static final int PPC_INS_BEQA = 77;
+ public static final int PPC_INS_BEQCTR = 78;
+ public static final int PPC_INS_BEQCTRL = 79;
+ public static final int PPC_INS_BEQL = 80;
+ public static final int PPC_INS_BEQLA = 81;
+ public static final int PPC_INS_BEQLR = 82;
+ public static final int PPC_INS_BEQLRL = 83;
+ public static final int PPC_INS_BF = 84;
+ public static final int PPC_INS_BFA = 85;
+ public static final int PPC_INS_BFCTR = 86;
+ public static final int PPC_INS_BFCTRL = 87;
+ public static final int PPC_INS_BFL = 88;
+ public static final int PPC_INS_BFLA = 89;
+ public static final int PPC_INS_BFLR = 90;
+ public static final int PPC_INS_BFLRL = 91;
+ public static final int PPC_INS_BGE = 92;
+ public static final int PPC_INS_BGEA = 93;
+ public static final int PPC_INS_BGECTR = 94;
+ public static final int PPC_INS_BGECTRL = 95;
+ public static final int PPC_INS_BGEL = 96;
+ public static final int PPC_INS_BGELA = 97;
+ public static final int PPC_INS_BGELR = 98;
+ public static final int PPC_INS_BGELRL = 99;
+ public static final int PPC_INS_BGT = 100;
+ public static final int PPC_INS_BGTA = 101;
+ public static final int PPC_INS_BGTCTR = 102;
+ public static final int PPC_INS_BGTCTRL = 103;
+ public static final int PPC_INS_BGTL = 104;
+ public static final int PPC_INS_BGTLA = 105;
+ public static final int PPC_INS_BGTLR = 106;
+ public static final int PPC_INS_BGTLRL = 107;
+ public static final int PPC_INS_BL = 108;
+ public static final int PPC_INS_BLA = 109;
+ public static final int PPC_INS_BLE = 110;
+ public static final int PPC_INS_BLEA = 111;
+ public static final int PPC_INS_BLECTR = 112;
+ public static final int PPC_INS_BLECTRL = 113;
+ public static final int PPC_INS_BLEL = 114;
+ public static final int PPC_INS_BLELA = 115;
+ public static final int PPC_INS_BLELR = 116;
+ public static final int PPC_INS_BLELRL = 117;
+ public static final int PPC_INS_BLR = 118;
+ public static final int PPC_INS_BLRL = 119;
+ public static final int PPC_INS_BLT = 120;
+ public static final int PPC_INS_BLTA = 121;
+ public static final int PPC_INS_BLTCTR = 122;
+ public static final int PPC_INS_BLTCTRL = 123;
+ public static final int PPC_INS_BLTL = 124;
+ public static final int PPC_INS_BLTLA = 125;
+ public static final int PPC_INS_BLTLR = 126;
+ public static final int PPC_INS_BLTLRL = 127;
+ public static final int PPC_INS_BNE = 128;
+ public static final int PPC_INS_BNEA = 129;
+ public static final int PPC_INS_BNECTR = 130;
+ public static final int PPC_INS_BNECTRL = 131;
+ public static final int PPC_INS_BNEL = 132;
+ public static final int PPC_INS_BNELA = 133;
+ public static final int PPC_INS_BNELR = 134;
+ public static final int PPC_INS_BNELRL = 135;
+ public static final int PPC_INS_BNG = 136;
+ public static final int PPC_INS_BNGA = 137;
+ public static final int PPC_INS_BNGCTR = 138;
+ public static final int PPC_INS_BNGCTRL = 139;
+ public static final int PPC_INS_BNGL = 140;
+ public static final int PPC_INS_BNGLA = 141;
+ public static final int PPC_INS_BNGLR = 142;
+ public static final int PPC_INS_BNGLRL = 143;
+ public static final int PPC_INS_BNL = 144;
+ public static final int PPC_INS_BNLA = 145;
+ public static final int PPC_INS_BNLCTR = 146;
+ public static final int PPC_INS_BNLCTRL = 147;
+ public static final int PPC_INS_BNLL = 148;
+ public static final int PPC_INS_BNLLA = 149;
+ public static final int PPC_INS_BNLLR = 150;
+ public static final int PPC_INS_BNLLRL = 151;
+ public static final int PPC_INS_BNS = 152;
+ public static final int PPC_INS_BNSA = 153;
+ public static final int PPC_INS_BNSCTR = 154;
+ public static final int PPC_INS_BNSCTRL = 155;
+ public static final int PPC_INS_BNSL = 156;
+ public static final int PPC_INS_BNSLA = 157;
+ public static final int PPC_INS_BNSLR = 158;
+ public static final int PPC_INS_BNSLRL = 159;
+ public static final int PPC_INS_BNU = 160;
+ public static final int PPC_INS_BNUA = 161;
+ public static final int PPC_INS_BNUCTR = 162;
+ public static final int PPC_INS_BNUCTRL = 163;
+ public static final int PPC_INS_BNUL = 164;
+ public static final int PPC_INS_BNULA = 165;
+ public static final int PPC_INS_BNULR = 166;
+ public static final int PPC_INS_BNULRL = 167;
+ public static final int PPC_INS_BPERMD = 168;
+ public static final int PPC_INS_BRINC = 169;
+ public static final int PPC_INS_BSO = 170;
+ public static final int PPC_INS_BSOA = 171;
+ public static final int PPC_INS_BSOCTR = 172;
+ public static final int PPC_INS_BSOCTRL = 173;
+ public static final int PPC_INS_BSOL = 174;
+ public static final int PPC_INS_BSOLA = 175;
+ public static final int PPC_INS_BSOLR = 176;
+ public static final int PPC_INS_BSOLRL = 177;
+ public static final int PPC_INS_BT = 178;
+ public static final int PPC_INS_BTA = 179;
+ public static final int PPC_INS_BTCTR = 180;
+ public static final int PPC_INS_BTCTRL = 181;
+ public static final int PPC_INS_BTL = 182;
+ public static final int PPC_INS_BTLA = 183;
+ public static final int PPC_INS_BTLR = 184;
+ public static final int PPC_INS_BTLRL = 185;
+ public static final int PPC_INS_BUN = 186;
+ public static final int PPC_INS_BUNA = 187;
+ public static final int PPC_INS_BUNCTR = 188;
+ public static final int PPC_INS_BUNCTRL = 189;
+ public static final int PPC_INS_BUNL = 190;
+ public static final int PPC_INS_BUNLA = 191;
+ public static final int PPC_INS_BUNLR = 192;
+ public static final int PPC_INS_BUNLRL = 193;
+ public static final int PPC_INS_CLRBHRB = 194;
+ public static final int PPC_INS_CLRLDI = 195;
+ public static final int PPC_INS_CLRLSLDI = 196;
+ public static final int PPC_INS_CLRLSLWI = 197;
+ public static final int PPC_INS_CLRLWI = 198;
+ public static final int PPC_INS_CLRRDI = 199;
+ public static final int PPC_INS_CLRRWI = 200;
+ public static final int PPC_INS_CMP = 201;
+ public static final int PPC_INS_CMPB = 202;
+ public static final int PPC_INS_CMPD = 203;
+ public static final int PPC_INS_CMPDI = 204;
+ public static final int PPC_INS_CMPEQB = 205;
+ public static final int PPC_INS_CMPI = 206;
+ public static final int PPC_INS_CMPL = 207;
+ public static final int PPC_INS_CMPLD = 208;
+ public static final int PPC_INS_CMPLDI = 209;
+ public static final int PPC_INS_CMPLI = 210;
+ public static final int PPC_INS_CMPLW = 211;
+ public static final int PPC_INS_CMPLWI = 212;
+ public static final int PPC_INS_CMPRB = 213;
+ public static final int PPC_INS_CMPW = 214;
+ public static final int PPC_INS_CMPWI = 215;
+ public static final int PPC_INS_CNTLZD = 216;
+ public static final int PPC_INS_CNTLZW = 217;
+ public static final int PPC_INS_CNTTZD = 218;
+ public static final int PPC_INS_CNTTZW = 219;
+ public static final int PPC_INS_COPY = 220;
+ public static final int PPC_INS_COPY_FIRST = 221;
+ public static final int PPC_INS_CP_ABORT = 222;
+ public static final int PPC_INS_CRAND = 223;
+ public static final int PPC_INS_CRANDC = 224;
+ public static final int PPC_INS_CRCLR = 225;
+ public static final int PPC_INS_CREQV = 226;
+ public static final int PPC_INS_CRMOVE = 227;
+ public static final int PPC_INS_CRNAND = 228;
+ public static final int PPC_INS_CRNOR = 229;
+ public static final int PPC_INS_CRNOT = 230;
+ public static final int PPC_INS_CROR = 231;
+ public static final int PPC_INS_CRORC = 232;
+ public static final int PPC_INS_CRSET = 233;
+ public static final int PPC_INS_CRXOR = 234;
+ public static final int PPC_INS_DARN = 235;
+ public static final int PPC_INS_DCBA = 236;
+ public static final int PPC_INS_DCBF = 237;
+ public static final int PPC_INS_DCBFEP = 238;
+ public static final int PPC_INS_DCBFL = 239;
+ public static final int PPC_INS_DCBFLP = 240;
+ public static final int PPC_INS_DCBI = 241;
+ public static final int PPC_INS_DCBST = 242;
+ public static final int PPC_INS_DCBSTEP = 243;
+ public static final int PPC_INS_DCBT = 244;
+ public static final int PPC_INS_DCBTCT = 245;
+ public static final int PPC_INS_DCBTDS = 246;
+ public static final int PPC_INS_DCBTEP = 247;
+ public static final int PPC_INS_DCBTST = 248;
+ public static final int PPC_INS_DCBTSTCT = 249;
+ public static final int PPC_INS_DCBTSTDS = 250;
+ public static final int PPC_INS_DCBTSTEP = 251;
+ public static final int PPC_INS_DCBTSTT = 252;
+ public static final int PPC_INS_DCBTT = 253;
+ public static final int PPC_INS_DCBZ = 254;
+ public static final int PPC_INS_DCBZEP = 255;
+ public static final int PPC_INS_DCBZL = 256;
+ public static final int PPC_INS_DCBZLEP = 257;
+ public static final int PPC_INS_DCCCI = 258;
+ public static final int PPC_INS_DCI = 259;
+ public static final int PPC_INS_DIVD = 260;
+ public static final int PPC_INS_DIVDE = 261;
+ public static final int PPC_INS_DIVDEU = 262;
+ public static final int PPC_INS_DIVDU = 263;
+ public static final int PPC_INS_DIVW = 264;
+ public static final int PPC_INS_DIVWE = 265;
+ public static final int PPC_INS_DIVWEU = 266;
+ public static final int PPC_INS_DIVWU = 267;
+ public static final int PPC_INS_DSS = 268;
+ public static final int PPC_INS_DSSALL = 269;
+ public static final int PPC_INS_DST = 270;
+ public static final int PPC_INS_DSTST = 271;
+ public static final int PPC_INS_DSTSTT = 272;
+ public static final int PPC_INS_DSTT = 273;
+ public static final int PPC_INS_EFDABS = 274;
+ public static final int PPC_INS_EFDADD = 275;
+ public static final int PPC_INS_EFDCFS = 276;
+ public static final int PPC_INS_EFDCFSF = 277;
+ public static final int PPC_INS_EFDCFSI = 278;
+ public static final int PPC_INS_EFDCFSID = 279;
+ public static final int PPC_INS_EFDCFUF = 280;
+ public static final int PPC_INS_EFDCFUI = 281;
+ public static final int PPC_INS_EFDCFUID = 282;
+ public static final int PPC_INS_EFDCMPEQ = 283;
+ public static final int PPC_INS_EFDCMPGT = 284;
+ public static final int PPC_INS_EFDCMPLT = 285;
+ public static final int PPC_INS_EFDCTSF = 286;
+ public static final int PPC_INS_EFDCTSI = 287;
+ public static final int PPC_INS_EFDCTSIDZ = 288;
+ public static final int PPC_INS_EFDCTSIZ = 289;
+ public static final int PPC_INS_EFDCTUF = 290;
+ public static final int PPC_INS_EFDCTUI = 291;
+ public static final int PPC_INS_EFDCTUIDZ = 292;
+ public static final int PPC_INS_EFDCTUIZ = 293;
+ public static final int PPC_INS_EFDDIV = 294;
+ public static final int PPC_INS_EFDMUL = 295;
+ public static final int PPC_INS_EFDNABS = 296;
+ public static final int PPC_INS_EFDNEG = 297;
+ public static final int PPC_INS_EFDSUB = 298;
+ public static final int PPC_INS_EFDTSTEQ = 299;
+ public static final int PPC_INS_EFDTSTGT = 300;
+ public static final int PPC_INS_EFDTSTLT = 301;
+ public static final int PPC_INS_EFSABS = 302;
+ public static final int PPC_INS_EFSADD = 303;
+ public static final int PPC_INS_EFSCFD = 304;
+ public static final int PPC_INS_EFSCFSF = 305;
+ public static final int PPC_INS_EFSCFSI = 306;
+ public static final int PPC_INS_EFSCFUF = 307;
+ public static final int PPC_INS_EFSCFUI = 308;
+ public static final int PPC_INS_EFSCMPEQ = 309;
+ public static final int PPC_INS_EFSCMPGT = 310;
+ public static final int PPC_INS_EFSCMPLT = 311;
+ public static final int PPC_INS_EFSCTSF = 312;
+ public static final int PPC_INS_EFSCTSI = 313;
+ public static final int PPC_INS_EFSCTSIZ = 314;
+ public static final int PPC_INS_EFSCTUF = 315;
+ public static final int PPC_INS_EFSCTUI = 316;
+ public static final int PPC_INS_EFSCTUIZ = 317;
+ public static final int PPC_INS_EFSDIV = 318;
+ public static final int PPC_INS_EFSMUL = 319;
+ public static final int PPC_INS_EFSNABS = 320;
+ public static final int PPC_INS_EFSNEG = 321;
+ public static final int PPC_INS_EFSSUB = 322;
+ public static final int PPC_INS_EFSTSTEQ = 323;
+ public static final int PPC_INS_EFSTSTGT = 324;
+ public static final int PPC_INS_EFSTSTLT = 325;
+ public static final int PPC_INS_EIEIO = 326;
+ public static final int PPC_INS_EQV = 327;
+ public static final int PPC_INS_EVABS = 328;
+ public static final int PPC_INS_EVADDIW = 329;
+ public static final int PPC_INS_EVADDSMIAAW = 330;
+ public static final int PPC_INS_EVADDSSIAAW = 331;
+ public static final int PPC_INS_EVADDUMIAAW = 332;
+ public static final int PPC_INS_EVADDUSIAAW = 333;
+ public static final int PPC_INS_EVADDW = 334;
+ public static final int PPC_INS_EVAND = 335;
+ public static final int PPC_INS_EVANDC = 336;
+ public static final int PPC_INS_EVCMPEQ = 337;
+ public static final int PPC_INS_EVCMPGTS = 338;
+ public static final int PPC_INS_EVCMPGTU = 339;
+ public static final int PPC_INS_EVCMPLTS = 340;
+ public static final int PPC_INS_EVCMPLTU = 341;
+ public static final int PPC_INS_EVCNTLSW = 342;
+ public static final int PPC_INS_EVCNTLZW = 343;
+ public static final int PPC_INS_EVDIVWS = 344;
+ public static final int PPC_INS_EVDIVWU = 345;
+ public static final int PPC_INS_EVEQV = 346;
+ public static final int PPC_INS_EVEXTSB = 347;
+ public static final int PPC_INS_EVEXTSH = 348;
+ public static final int PPC_INS_EVFSABS = 349;
+ public static final int PPC_INS_EVFSADD = 350;
+ public static final int PPC_INS_EVFSCFSF = 351;
+ public static final int PPC_INS_EVFSCFSI = 352;
+ public static final int PPC_INS_EVFSCFUF = 353;
+ public static final int PPC_INS_EVFSCFUI = 354;
+ public static final int PPC_INS_EVFSCMPEQ = 355;
+ public static final int PPC_INS_EVFSCMPGT = 356;
+ public static final int PPC_INS_EVFSCMPLT = 357;
+ public static final int PPC_INS_EVFSCTSF = 358;
+ public static final int PPC_INS_EVFSCTSI = 359;
+ public static final int PPC_INS_EVFSCTSIZ = 360;
+ public static final int PPC_INS_EVFSCTUI = 361;
+ public static final int PPC_INS_EVFSDIV = 362;
+ public static final int PPC_INS_EVFSMUL = 363;
+ public static final int PPC_INS_EVFSNABS = 364;
+ public static final int PPC_INS_EVFSNEG = 365;
+ public static final int PPC_INS_EVFSSUB = 366;
+ public static final int PPC_INS_EVFSTSTEQ = 367;
+ public static final int PPC_INS_EVFSTSTGT = 368;
+ public static final int PPC_INS_EVFSTSTLT = 369;
+ public static final int PPC_INS_EVLDD = 370;
+ public static final int PPC_INS_EVLDDX = 371;
+ public static final int PPC_INS_EVLDH = 372;
+ public static final int PPC_INS_EVLDHX = 373;
+ public static final int PPC_INS_EVLDW = 374;
+ public static final int PPC_INS_EVLDWX = 375;
+ public static final int PPC_INS_EVLHHESPLAT = 376;
+ public static final int PPC_INS_EVLHHESPLATX = 377;
+ public static final int PPC_INS_EVLHHOSSPLAT = 378;
+ public static final int PPC_INS_EVLHHOSSPLATX = 379;
+ public static final int PPC_INS_EVLHHOUSPLAT = 380;
+ public static final int PPC_INS_EVLHHOUSPLATX = 381;
+ public static final int PPC_INS_EVLWHE = 382;
+ public static final int PPC_INS_EVLWHEX = 383;
+ public static final int PPC_INS_EVLWHOS = 384;
+ public static final int PPC_INS_EVLWHOSX = 385;
+ public static final int PPC_INS_EVLWHOU = 386;
+ public static final int PPC_INS_EVLWHOUX = 387;
+ public static final int PPC_INS_EVLWHSPLAT = 388;
+ public static final int PPC_INS_EVLWHSPLATX = 389;
+ public static final int PPC_INS_EVLWWSPLAT = 390;
+ public static final int PPC_INS_EVLWWSPLATX = 391;
+ public static final int PPC_INS_EVMERGEHI = 392;
+ public static final int PPC_INS_EVMERGEHILO = 393;
+ public static final int PPC_INS_EVMERGELO = 394;
+ public static final int PPC_INS_EVMERGELOHI = 395;
+ public static final int PPC_INS_EVMHEGSMFAA = 396;
+ public static final int PPC_INS_EVMHEGSMFAN = 397;
+ public static final int PPC_INS_EVMHEGSMIAA = 398;
+ public static final int PPC_INS_EVMHEGSMIAN = 399;
+ public static final int PPC_INS_EVMHEGUMIAA = 400;
+ public static final int PPC_INS_EVMHEGUMIAN = 401;
+ public static final int PPC_INS_EVMHESMF = 402;
+ public static final int PPC_INS_EVMHESMFA = 403;
+ public static final int PPC_INS_EVMHESMFAAW = 404;
+ public static final int PPC_INS_EVMHESMFANW = 405;
+ public static final int PPC_INS_EVMHESMI = 406;
+ public static final int PPC_INS_EVMHESMIA = 407;
+ public static final int PPC_INS_EVMHESMIAAW = 408;
+ public static final int PPC_INS_EVMHESMIANW = 409;
+ public static final int PPC_INS_EVMHESSF = 410;
+ public static final int PPC_INS_EVMHESSFA = 411;
+ public static final int PPC_INS_EVMHESSFAAW = 412;
+ public static final int PPC_INS_EVMHESSFANW = 413;
+ public static final int PPC_INS_EVMHESSIAAW = 414;
+ public static final int PPC_INS_EVMHESSIANW = 415;
+ public static final int PPC_INS_EVMHEUMI = 416;
+ public static final int PPC_INS_EVMHEUMIA = 417;
+ public static final int PPC_INS_EVMHEUMIAAW = 418;
+ public static final int PPC_INS_EVMHEUMIANW = 419;
+ public static final int PPC_INS_EVMHEUSIAAW = 420;
+ public static final int PPC_INS_EVMHEUSIANW = 421;
+ public static final int PPC_INS_EVMHOGSMFAA = 422;
+ public static final int PPC_INS_EVMHOGSMFAN = 423;
+ public static final int PPC_INS_EVMHOGSMIAA = 424;
+ public static final int PPC_INS_EVMHOGSMIAN = 425;
+ public static final int PPC_INS_EVMHOGUMIAA = 426;
+ public static final int PPC_INS_EVMHOGUMIAN = 427;
+ public static final int PPC_INS_EVMHOSMF = 428;
+ public static final int PPC_INS_EVMHOSMFA = 429;
+ public static final int PPC_INS_EVMHOSMFAAW = 430;
+ public static final int PPC_INS_EVMHOSMFANW = 431;
+ public static final int PPC_INS_EVMHOSMI = 432;
+ public static final int PPC_INS_EVMHOSMIA = 433;
+ public static final int PPC_INS_EVMHOSMIAAW = 434;
+ public static final int PPC_INS_EVMHOSMIANW = 435;
+ public static final int PPC_INS_EVMHOSSF = 436;
+ public static final int PPC_INS_EVMHOSSFA = 437;
+ public static final int PPC_INS_EVMHOSSFAAW = 438;
+ public static final int PPC_INS_EVMHOSSFANW = 439;
+ public static final int PPC_INS_EVMHOSSIAAW = 440;
+ public static final int PPC_INS_EVMHOSSIANW = 441;
+ public static final int PPC_INS_EVMHOUMI = 442;
+ public static final int PPC_INS_EVMHOUMIA = 443;
+ public static final int PPC_INS_EVMHOUMIAAW = 444;
+ public static final int PPC_INS_EVMHOUMIANW = 445;
+ public static final int PPC_INS_EVMHOUSIAAW = 446;
+ public static final int PPC_INS_EVMHOUSIANW = 447;
+ public static final int PPC_INS_EVMRA = 448;
+ public static final int PPC_INS_EVMWHSMF = 449;
+ public static final int PPC_INS_EVMWHSMFA = 450;
+ public static final int PPC_INS_EVMWHSMI = 451;
+ public static final int PPC_INS_EVMWHSMIA = 452;
+ public static final int PPC_INS_EVMWHSSF = 453;
+ public static final int PPC_INS_EVMWHSSFA = 454;
+ public static final int PPC_INS_EVMWHUMI = 455;
+ public static final int PPC_INS_EVMWHUMIA = 456;
+ public static final int PPC_INS_EVMWLSMIAAW = 457;
+ public static final int PPC_INS_EVMWLSMIANW = 458;
+ public static final int PPC_INS_EVMWLSSIAAW = 459;
+ public static final int PPC_INS_EVMWLSSIANW = 460;
+ public static final int PPC_INS_EVMWLUMI = 461;
+ public static final int PPC_INS_EVMWLUMIA = 462;
+ public static final int PPC_INS_EVMWLUMIAAW = 463;
+ public static final int PPC_INS_EVMWLUMIANW = 464;
+ public static final int PPC_INS_EVMWLUSIAAW = 465;
+ public static final int PPC_INS_EVMWLUSIANW = 466;
+ public static final int PPC_INS_EVMWSMF = 467;
+ public static final int PPC_INS_EVMWSMFA = 468;
+ public static final int PPC_INS_EVMWSMFAA = 469;
+ public static final int PPC_INS_EVMWSMFAN = 470;
+ public static final int PPC_INS_EVMWSMI = 471;
+ public static final int PPC_INS_EVMWSMIA = 472;
+ public static final int PPC_INS_EVMWSMIAA = 473;
+ public static final int PPC_INS_EVMWSMIAN = 474;
+ public static final int PPC_INS_EVMWSSF = 475;
+ public static final int PPC_INS_EVMWSSFA = 476;
+ public static final int PPC_INS_EVMWSSFAA = 477;
+ public static final int PPC_INS_EVMWSSFAN = 478;
+ public static final int PPC_INS_EVMWUMI = 479;
+ public static final int PPC_INS_EVMWUMIA = 480;
+ public static final int PPC_INS_EVMWUMIAA = 481;
+ public static final int PPC_INS_EVMWUMIAN = 482;
+ public static final int PPC_INS_EVNAND = 483;
+ public static final int PPC_INS_EVNEG = 484;
+ public static final int PPC_INS_EVNOR = 485;
+ public static final int PPC_INS_EVOR = 486;
+ public static final int PPC_INS_EVORC = 487;
+ public static final int PPC_INS_EVRLW = 488;
+ public static final int PPC_INS_EVRLWI = 489;
+ public static final int PPC_INS_EVRNDW = 490;
+ public static final int PPC_INS_EVSEL = 491;
+ public static final int PPC_INS_EVSLW = 492;
+ public static final int PPC_INS_EVSLWI = 493;
+ public static final int PPC_INS_EVSPLATFI = 494;
+ public static final int PPC_INS_EVSPLATI = 495;
+ public static final int PPC_INS_EVSRWIS = 496;
+ public static final int PPC_INS_EVSRWIU = 497;
+ public static final int PPC_INS_EVSRWS = 498;
+ public static final int PPC_INS_EVSRWU = 499;
+ public static final int PPC_INS_EVSTDD = 500;
+ public static final int PPC_INS_EVSTDDX = 501;
+ public static final int PPC_INS_EVSTDH = 502;
+ public static final int PPC_INS_EVSTDHX = 503;
+ public static final int PPC_INS_EVSTDW = 504;
+ public static final int PPC_INS_EVSTDWX = 505;
+ public static final int PPC_INS_EVSTWHE = 506;
+ public static final int PPC_INS_EVSTWHEX = 507;
+ public static final int PPC_INS_EVSTWHO = 508;
+ public static final int PPC_INS_EVSTWHOX = 509;
+ public static final int PPC_INS_EVSTWWE = 510;
+ public static final int PPC_INS_EVSTWWEX = 511;
+ public static final int PPC_INS_EVSTWWO = 512;
+ public static final int PPC_INS_EVSTWWOX = 513;
+ public static final int PPC_INS_EVSUBFSMIAAW = 514;
+ public static final int PPC_INS_EVSUBFSSIAAW = 515;
+ public static final int PPC_INS_EVSUBFUMIAAW = 516;
+ public static final int PPC_INS_EVSUBFUSIAAW = 517;
+ public static final int PPC_INS_EVSUBFW = 518;
+ public static final int PPC_INS_EVSUBIFW = 519;
+ public static final int PPC_INS_EVXOR = 520;
+ public static final int PPC_INS_EXTLDI = 521;
+ public static final int PPC_INS_EXTLWI = 522;
+ public static final int PPC_INS_EXTRDI = 523;
+ public static final int PPC_INS_EXTRWI = 524;
+ public static final int PPC_INS_EXTSB = 525;
+ public static final int PPC_INS_EXTSH = 526;
+ public static final int PPC_INS_EXTSW = 527;
+ public static final int PPC_INS_EXTSWSLI = 528;
+ public static final int PPC_INS_FABS = 529;
+ public static final int PPC_INS_FADD = 530;
+ public static final int PPC_INS_FADDS = 531;
+ public static final int PPC_INS_FCFID = 532;
+ public static final int PPC_INS_FCFIDS = 533;
+ public static final int PPC_INS_FCFIDU = 534;
+ public static final int PPC_INS_FCFIDUS = 535;
+ public static final int PPC_INS_FCMPU = 536;
+ public static final int PPC_INS_FCPSGN = 537;
+ public static final int PPC_INS_FCTID = 538;
+ public static final int PPC_INS_FCTIDU = 539;
+ public static final int PPC_INS_FCTIDUZ = 540;
+ public static final int PPC_INS_FCTIDZ = 541;
+ public static final int PPC_INS_FCTIW = 542;
+ public static final int PPC_INS_FCTIWU = 543;
+ public static final int PPC_INS_FCTIWUZ = 544;
+ public static final int PPC_INS_FCTIWZ = 545;
+ public static final int PPC_INS_FDIV = 546;
+ public static final int PPC_INS_FDIVS = 547;
+ public static final int PPC_INS_FMADD = 548;
+ public static final int PPC_INS_FMADDS = 549;
+ public static final int PPC_INS_FMR = 550;
+ public static final int PPC_INS_FMSUB = 551;
+ public static final int PPC_INS_FMSUBS = 552;
+ public static final int PPC_INS_FMUL = 553;
+ public static final int PPC_INS_FMULS = 554;
+ public static final int PPC_INS_FNABS = 555;
+ public static final int PPC_INS_FNEG = 556;
+ public static final int PPC_INS_FNMADD = 557;
+ public static final int PPC_INS_FNMADDS = 558;
+ public static final int PPC_INS_FNMSUB = 559;
+ public static final int PPC_INS_FNMSUBS = 560;
+ public static final int PPC_INS_FRE = 561;
+ public static final int PPC_INS_FRES = 562;
+ public static final int PPC_INS_FRIM = 563;
+ public static final int PPC_INS_FRIN = 564;
+ public static final int PPC_INS_FRIP = 565;
+ public static final int PPC_INS_FRIZ = 566;
+ public static final int PPC_INS_FRSP = 567;
+ public static final int PPC_INS_FRSQRTE = 568;
+ public static final int PPC_INS_FRSQRTES = 569;
+ public static final int PPC_INS_FSEL = 570;
+ public static final int PPC_INS_FSQRT = 571;
+ public static final int PPC_INS_FSQRTS = 572;
+ public static final int PPC_INS_FSUB = 573;
+ public static final int PPC_INS_FSUBS = 574;
+ public static final int PPC_INS_FTDIV = 575;
+ public static final int PPC_INS_FTSQRT = 576;
+ public static final int PPC_INS_HRFID = 577;
+ public static final int PPC_INS_ICBI = 578;
+ public static final int PPC_INS_ICBIEP = 579;
+ public static final int PPC_INS_ICBLC = 580;
+ public static final int PPC_INS_ICBLQ = 581;
+ public static final int PPC_INS_ICBT = 582;
+ public static final int PPC_INS_ICBTLS = 583;
+ public static final int PPC_INS_ICCCI = 584;
+ public static final int PPC_INS_ICI = 585;
+ public static final int PPC_INS_INSLWI = 586;
+ public static final int PPC_INS_INSRDI = 587;
+ public static final int PPC_INS_INSRWI = 588;
+ public static final int PPC_INS_ISEL = 589;
+ public static final int PPC_INS_ISYNC = 590;
+ public static final int PPC_INS_LA = 591;
+ public static final int PPC_INS_LBARX = 592;
+ public static final int PPC_INS_LBEPX = 593;
+ public static final int PPC_INS_LBZ = 594;
+ public static final int PPC_INS_LBZCIX = 595;
+ public static final int PPC_INS_LBZU = 596;
+ public static final int PPC_INS_LBZUX = 597;
+ public static final int PPC_INS_LBZX = 598;
+ public static final int PPC_INS_LD = 599;
+ public static final int PPC_INS_LDARX = 600;
+ public static final int PPC_INS_LDAT = 601;
+ public static final int PPC_INS_LDBRX = 602;
+ public static final int PPC_INS_LDCIX = 603;
+ public static final int PPC_INS_LDMX = 604;
+ public static final int PPC_INS_LDU = 605;
+ public static final int PPC_INS_LDUX = 606;
+ public static final int PPC_INS_LDX = 607;
+ public static final int PPC_INS_LFD = 608;
+ public static final int PPC_INS_LFDEPX = 609;
+ public static final int PPC_INS_LFDU = 610;
+ public static final int PPC_INS_LFDUX = 611;
+ public static final int PPC_INS_LFDX = 612;
+ public static final int PPC_INS_LFIWAX = 613;
+ public static final int PPC_INS_LFIWZX = 614;
+ public static final int PPC_INS_LFS = 615;
+ public static final int PPC_INS_LFSU = 616;
+ public static final int PPC_INS_LFSUX = 617;
+ public static final int PPC_INS_LFSX = 618;
+ public static final int PPC_INS_LHA = 619;
+ public static final int PPC_INS_LHARX = 620;
+ public static final int PPC_INS_LHAU = 621;
+ public static final int PPC_INS_LHAUX = 622;
+ public static final int PPC_INS_LHAX = 623;
+ public static final int PPC_INS_LHBRX = 624;
+ public static final int PPC_INS_LHEPX = 625;
+ public static final int PPC_INS_LHZ = 626;
+ public static final int PPC_INS_LHZCIX = 627;
+ public static final int PPC_INS_LHZU = 628;
+ public static final int PPC_INS_LHZUX = 629;
+ public static final int PPC_INS_LHZX = 630;
+ public static final int PPC_INS_LI = 631;
+ public static final int PPC_INS_LIS = 632;
+ public static final int PPC_INS_LMW = 633;
+ public static final int PPC_INS_LNIA = 634;
+ public static final int PPC_INS_LSWI = 635;
+ public static final int PPC_INS_LVEBX = 636;
+ public static final int PPC_INS_LVEHX = 637;
+ public static final int PPC_INS_LVEWX = 638;
+ public static final int PPC_INS_LVSL = 639;
+ public static final int PPC_INS_LVSR = 640;
+ public static final int PPC_INS_LVX = 641;
+ public static final int PPC_INS_LVXL = 642;
+ public static final int PPC_INS_LWA = 643;
+ public static final int PPC_INS_LWARX = 644;
+ public static final int PPC_INS_LWAT = 645;
+ public static final int PPC_INS_LWAUX = 646;
+ public static final int PPC_INS_LWAX = 647;
+ public static final int PPC_INS_LWBRX = 648;
+ public static final int PPC_INS_LWEPX = 649;
+ public static final int PPC_INS_LWSYNC = 650;
+ public static final int PPC_INS_LWZ = 651;
+ public static final int PPC_INS_LWZCIX = 652;
+ public static final int PPC_INS_LWZU = 653;
+ public static final int PPC_INS_LWZUX = 654;
+ public static final int PPC_INS_LWZX = 655;
+ public static final int PPC_INS_LXSD = 656;
+ public static final int PPC_INS_LXSDX = 657;
+ public static final int PPC_INS_LXSIBZX = 658;
+ public static final int PPC_INS_LXSIHZX = 659;
+ public static final int PPC_INS_LXSIWAX = 660;
+ public static final int PPC_INS_LXSIWZX = 661;
+ public static final int PPC_INS_LXSSP = 662;
+ public static final int PPC_INS_LXSSPX = 663;
+ public static final int PPC_INS_LXV = 664;
+ public static final int PPC_INS_LXVB16X = 665;
+ public static final int PPC_INS_LXVD2X = 666;
+ public static final int PPC_INS_LXVDSX = 667;
+ public static final int PPC_INS_LXVH8X = 668;
+ public static final int PPC_INS_LXVL = 669;
+ public static final int PPC_INS_LXVLL = 670;
+ public static final int PPC_INS_LXVW4X = 671;
+ public static final int PPC_INS_LXVWSX = 672;
+ public static final int PPC_INS_LXVX = 673;
+ public static final int PPC_INS_MADDHD = 674;
+ public static final int PPC_INS_MADDHDU = 675;
+ public static final int PPC_INS_MADDLD = 676;
+ public static final int PPC_INS_MBAR = 677;
+ public static final int PPC_INS_MCRF = 678;
+ public static final int PPC_INS_MCRFS = 679;
+ public static final int PPC_INS_MCRXRX = 680;
+ public static final int PPC_INS_MFAMR = 681;
+ public static final int PPC_INS_MFASR = 682;
+ public static final int PPC_INS_MFBHRBE = 683;
+ public static final int PPC_INS_MFBR0 = 684;
+ public static final int PPC_INS_MFBR1 = 685;
+ public static final int PPC_INS_MFBR2 = 686;
+ public static final int PPC_INS_MFBR3 = 687;
+ public static final int PPC_INS_MFBR4 = 688;
+ public static final int PPC_INS_MFBR5 = 689;
+ public static final int PPC_INS_MFBR6 = 690;
+ public static final int PPC_INS_MFBR7 = 691;
+ public static final int PPC_INS_MFCFAR = 692;
+ public static final int PPC_INS_MFCR = 693;
+ public static final int PPC_INS_MFCTR = 694;
+ public static final int PPC_INS_MFDAR = 695;
+ public static final int PPC_INS_MFDBATL = 696;
+ public static final int PPC_INS_MFDBATU = 697;
+ public static final int PPC_INS_MFDCCR = 698;
+ public static final int PPC_INS_MFDCR = 699;
+ public static final int PPC_INS_MFDEAR = 700;
+ public static final int PPC_INS_MFDEC = 701;
+ public static final int PPC_INS_MFDSCR = 702;
+ public static final int PPC_INS_MFDSISR = 703;
+ public static final int PPC_INS_MFESR = 704;
+ public static final int PPC_INS_MFFPRD = 705;
+ public static final int PPC_INS_MFFS = 706;
+ public static final int PPC_INS_MFFSCDRN = 707;
+ public static final int PPC_INS_MFFSCDRNI = 708;
+ public static final int PPC_INS_MFFSCE = 709;
+ public static final int PPC_INS_MFFSCRN = 710;
+ public static final int PPC_INS_MFFSCRNI = 711;
+ public static final int PPC_INS_MFFSL = 712;
+ public static final int PPC_INS_MFIBATL = 713;
+ public static final int PPC_INS_MFIBATU = 714;
+ public static final int PPC_INS_MFICCR = 715;
+ public static final int PPC_INS_MFLR = 716;
+ public static final int PPC_INS_MFMSR = 717;
+ public static final int PPC_INS_MFOCRF = 718;
+ public static final int PPC_INS_MFPID = 719;
+ public static final int PPC_INS_MFPMR = 720;
+ public static final int PPC_INS_MFPVR = 721;
+ public static final int PPC_INS_MFRTCL = 722;
+ public static final int PPC_INS_MFRTCU = 723;
+ public static final int PPC_INS_MFSDR1 = 724;
+ public static final int PPC_INS_MFSPEFSCR = 725;
+ public static final int PPC_INS_MFSPR = 726;
+ public static final int PPC_INS_MFSPRG = 727;
+ public static final int PPC_INS_MFSPRG0 = 728;
+ public static final int PPC_INS_MFSPRG1 = 729;
+ public static final int PPC_INS_MFSPRG2 = 730;
+ public static final int PPC_INS_MFSPRG3 = 731;
+ public static final int PPC_INS_MFSPRG4 = 732;
+ public static final int PPC_INS_MFSPRG5 = 733;
+ public static final int PPC_INS_MFSPRG6 = 734;
+ public static final int PPC_INS_MFSPRG7 = 735;
+ public static final int PPC_INS_MFSR = 736;
+ public static final int PPC_INS_MFSRIN = 737;
+ public static final int PPC_INS_MFSRR0 = 738;
+ public static final int PPC_INS_MFSRR1 = 739;
+ public static final int PPC_INS_MFSRR2 = 740;
+ public static final int PPC_INS_MFSRR3 = 741;
+ public static final int PPC_INS_MFTB = 742;
+ public static final int PPC_INS_MFTBHI = 743;
+ public static final int PPC_INS_MFTBL = 744;
+ public static final int PPC_INS_MFTBLO = 745;
+ public static final int PPC_INS_MFTBU = 746;
+ public static final int PPC_INS_MFTCR = 747;
+ public static final int PPC_INS_MFVRD = 748;
+ public static final int PPC_INS_MFVRSAVE = 749;
+ public static final int PPC_INS_MFVSCR = 750;
+ public static final int PPC_INS_MFVSRD = 751;
+ public static final int PPC_INS_MFVSRLD = 752;
+ public static final int PPC_INS_MFVSRWZ = 753;
+ public static final int PPC_INS_MFXER = 754;
+ public static final int PPC_INS_MODSD = 755;
+ public static final int PPC_INS_MODSW = 756;
+ public static final int PPC_INS_MODUD = 757;
+ public static final int PPC_INS_MODUW = 758;
+ public static final int PPC_INS_MR = 759;
+ public static final int PPC_INS_MSGSYNC = 760;
+ public static final int PPC_INS_MSYNC = 761;
+ public static final int PPC_INS_MTAMR = 762;
+ public static final int PPC_INS_MTASR = 763;
+ public static final int PPC_INS_MTBR0 = 764;
+ public static final int PPC_INS_MTBR1 = 765;
+ public static final int PPC_INS_MTBR2 = 766;
+ public static final int PPC_INS_MTBR3 = 767;
+ public static final int PPC_INS_MTBR4 = 768;
+ public static final int PPC_INS_MTBR5 = 769;
+ public static final int PPC_INS_MTBR6 = 770;
+ public static final int PPC_INS_MTBR7 = 771;
+ public static final int PPC_INS_MTCFAR = 772;
+ public static final int PPC_INS_MTCR = 773;
+ public static final int PPC_INS_MTCRF = 774;
+ public static final int PPC_INS_MTCTR = 775;
+ public static final int PPC_INS_MTDAR = 776;
+ public static final int PPC_INS_MTDBATL = 777;
+ public static final int PPC_INS_MTDBATU = 778;
+ public static final int PPC_INS_MTDCCR = 779;
+ public static final int PPC_INS_MTDCR = 780;
+ public static final int PPC_INS_MTDEAR = 781;
+ public static final int PPC_INS_MTDEC = 782;
+ public static final int PPC_INS_MTDSCR = 783;
+ public static final int PPC_INS_MTDSISR = 784;
+ public static final int PPC_INS_MTESR = 785;
+ public static final int PPC_INS_MTFSB0 = 786;
+ public static final int PPC_INS_MTFSB1 = 787;
+ public static final int PPC_INS_MTFSF = 788;
+ public static final int PPC_INS_MTFSFI = 789;
+ public static final int PPC_INS_MTIBATL = 790;
+ public static final int PPC_INS_MTIBATU = 791;
+ public static final int PPC_INS_MTICCR = 792;
+ public static final int PPC_INS_MTLR = 793;
+ public static final int PPC_INS_MTMSR = 794;
+ public static final int PPC_INS_MTMSRD = 795;
+ public static final int PPC_INS_MTOCRF = 796;
+ public static final int PPC_INS_MTPID = 797;
+ public static final int PPC_INS_MTPMR = 798;
+ public static final int PPC_INS_MTSDR1 = 799;
+ public static final int PPC_INS_MTSPEFSCR = 800;
+ public static final int PPC_INS_MTSPR = 801;
+ public static final int PPC_INS_MTSPRG = 802;
+ public static final int PPC_INS_MTSPRG0 = 803;
+ public static final int PPC_INS_MTSPRG1 = 804;
+ public static final int PPC_INS_MTSPRG2 = 805;
+ public static final int PPC_INS_MTSPRG3 = 806;
+ public static final int PPC_INS_MTSPRG4 = 807;
+ public static final int PPC_INS_MTSPRG5 = 808;
+ public static final int PPC_INS_MTSPRG6 = 809;
+ public static final int PPC_INS_MTSPRG7 = 810;
+ public static final int PPC_INS_MTSR = 811;
+ public static final int PPC_INS_MTSRIN = 812;
+ public static final int PPC_INS_MTSRR0 = 813;
+ public static final int PPC_INS_MTSRR1 = 814;
+ public static final int PPC_INS_MTSRR2 = 815;
+ public static final int PPC_INS_MTSRR3 = 816;
+ public static final int PPC_INS_MTTBHI = 817;
+ public static final int PPC_INS_MTTBL = 818;
+ public static final int PPC_INS_MTTBLO = 819;
+ public static final int PPC_INS_MTTBU = 820;
+ public static final int PPC_INS_MTTCR = 821;
+ public static final int PPC_INS_MTVRSAVE = 822;
+ public static final int PPC_INS_MTVSCR = 823;
+ public static final int PPC_INS_MTVSRD = 824;
+ public static final int PPC_INS_MTVSRDD = 825;
+ public static final int PPC_INS_MTVSRWA = 826;
+ public static final int PPC_INS_MTVSRWS = 827;
+ public static final int PPC_INS_MTVSRWZ = 828;
+ public static final int PPC_INS_MTXER = 829;
+ public static final int PPC_INS_MULHD = 830;
+ public static final int PPC_INS_MULHDU = 831;
+ public static final int PPC_INS_MULHW = 832;
+ public static final int PPC_INS_MULHWU = 833;
+ public static final int PPC_INS_MULLD = 834;
+ public static final int PPC_INS_MULLI = 835;
+ public static final int PPC_INS_MULLW = 836;
+ public static final int PPC_INS_NAND = 837;
+ public static final int PPC_INS_NAP = 838;
+ public static final int PPC_INS_NEG = 839;
+ public static final int PPC_INS_NOP = 840;
+ public static final int PPC_INS_NOR = 841;
+ public static final int PPC_INS_NOT = 842;
+ public static final int PPC_INS_OR = 843;
+ public static final int PPC_INS_ORC = 844;
+ public static final int PPC_INS_ORI = 845;
+ public static final int PPC_INS_ORIS = 846;
+ public static final int PPC_INS_PASTE = 847;
+ public static final int PPC_INS_PASTE_LAST = 848;
+ public static final int PPC_INS_POPCNTB = 849;
+ public static final int PPC_INS_POPCNTD = 850;
+ public static final int PPC_INS_POPCNTW = 851;
+ public static final int PPC_INS_PTESYNC = 852;
+ public static final int PPC_INS_QVALIGNI = 853;
+ public static final int PPC_INS_QVESPLATI = 854;
+ public static final int PPC_INS_QVFABS = 855;
+ public static final int PPC_INS_QVFADD = 856;
+ public static final int PPC_INS_QVFADDS = 857;
+ public static final int PPC_INS_QVFAND = 858;
+ public static final int PPC_INS_QVFANDC = 859;
+ public static final int PPC_INS_QVFCFID = 860;
+ public static final int PPC_INS_QVFCFIDS = 861;
+ public static final int PPC_INS_QVFCFIDU = 862;
+ public static final int PPC_INS_QVFCFIDUS = 863;
+ public static final int PPC_INS_QVFCLR = 864;
+ public static final int PPC_INS_QVFCMPEQ = 865;
+ public static final int PPC_INS_QVFCMPGT = 866;
+ public static final int PPC_INS_QVFCMPLT = 867;
+ public static final int PPC_INS_QVFCPSGN = 868;
+ public static final int PPC_INS_QVFCTFB = 869;
+ public static final int PPC_INS_QVFCTID = 870;
+ public static final int PPC_INS_QVFCTIDU = 871;
+ public static final int PPC_INS_QVFCTIDUZ = 872;
+ public static final int PPC_INS_QVFCTIDZ = 873;
+ public static final int PPC_INS_QVFCTIW = 874;
+ public static final int PPC_INS_QVFCTIWU = 875;
+ public static final int PPC_INS_QVFCTIWUZ = 876;
+ public static final int PPC_INS_QVFCTIWZ = 877;
+ public static final int PPC_INS_QVFEQU = 878;
+ public static final int PPC_INS_QVFLOGICAL = 879;
+ public static final int PPC_INS_QVFMADD = 880;
+ public static final int PPC_INS_QVFMADDS = 881;
+ public static final int PPC_INS_QVFMR = 882;
+ public static final int PPC_INS_QVFMSUB = 883;
+ public static final int PPC_INS_QVFMSUBS = 884;
+ public static final int PPC_INS_QVFMUL = 885;
+ public static final int PPC_INS_QVFMULS = 886;
+ public static final int PPC_INS_QVFNABS = 887;
+ public static final int PPC_INS_QVFNAND = 888;
+ public static final int PPC_INS_QVFNEG = 889;
+ public static final int PPC_INS_QVFNMADD = 890;
+ public static final int PPC_INS_QVFNMADDS = 891;
+ public static final int PPC_INS_QVFNMSUB = 892;
+ public static final int PPC_INS_QVFNMSUBS = 893;
+ public static final int PPC_INS_QVFNOR = 894;
+ public static final int PPC_INS_QVFNOT = 895;
+ public static final int PPC_INS_QVFOR = 896;
+ public static final int PPC_INS_QVFORC = 897;
+ public static final int PPC_INS_QVFPERM = 898;
+ public static final int PPC_INS_QVFRE = 899;
+ public static final int PPC_INS_QVFRES = 900;
+ public static final int PPC_INS_QVFRIM = 901;
+ public static final int PPC_INS_QVFRIN = 902;
+ public static final int PPC_INS_QVFRIP = 903;
+ public static final int PPC_INS_QVFRIZ = 904;
+ public static final int PPC_INS_QVFRSP = 905;
+ public static final int PPC_INS_QVFRSQRTE = 906;
+ public static final int PPC_INS_QVFRSQRTES = 907;
+ public static final int PPC_INS_QVFSEL = 908;
+ public static final int PPC_INS_QVFSET = 909;
+ public static final int PPC_INS_QVFSUB = 910;
+ public static final int PPC_INS_QVFSUBS = 911;
+ public static final int PPC_INS_QVFTSTNAN = 912;
+ public static final int PPC_INS_QVFXMADD = 913;
+ public static final int PPC_INS_QVFXMADDS = 914;
+ public static final int PPC_INS_QVFXMUL = 915;
+ public static final int PPC_INS_QVFXMULS = 916;
+ public static final int PPC_INS_QVFXOR = 917;
+ public static final int PPC_INS_QVFXXCPNMADD = 918;
+ public static final int PPC_INS_QVFXXCPNMADDS = 919;
+ public static final int PPC_INS_QVFXXMADD = 920;
+ public static final int PPC_INS_QVFXXMADDS = 921;
+ public static final int PPC_INS_QVFXXNPMADD = 922;
+ public static final int PPC_INS_QVFXXNPMADDS = 923;
+ public static final int PPC_INS_QVGPCI = 924;
+ public static final int PPC_INS_QVLFCDUX = 925;
+ public static final int PPC_INS_QVLFCDUXA = 926;
+ public static final int PPC_INS_QVLFCDX = 927;
+ public static final int PPC_INS_QVLFCDXA = 928;
+ public static final int PPC_INS_QVLFCSUX = 929;
+ public static final int PPC_INS_QVLFCSUXA = 930;
+ public static final int PPC_INS_QVLFCSX = 931;
+ public static final int PPC_INS_QVLFCSXA = 932;
+ public static final int PPC_INS_QVLFDUX = 933;
+ public static final int PPC_INS_QVLFDUXA = 934;
+ public static final int PPC_INS_QVLFDX = 935;
+ public static final int PPC_INS_QVLFDXA = 936;
+ public static final int PPC_INS_QVLFIWAX = 937;
+ public static final int PPC_INS_QVLFIWAXA = 938;
+ public static final int PPC_INS_QVLFIWZX = 939;
+ public static final int PPC_INS_QVLFIWZXA = 940;
+ public static final int PPC_INS_QVLFSUX = 941;
+ public static final int PPC_INS_QVLFSUXA = 942;
+ public static final int PPC_INS_QVLFSX = 943;
+ public static final int PPC_INS_QVLFSXA = 944;
+ public static final int PPC_INS_QVLPCLDX = 945;
+ public static final int PPC_INS_QVLPCLSX = 946;
+ public static final int PPC_INS_QVLPCRDX = 947;
+ public static final int PPC_INS_QVLPCRSX = 948;
+ public static final int PPC_INS_QVSTFCDUX = 949;
+ public static final int PPC_INS_QVSTFCDUXA = 950;
+ public static final int PPC_INS_QVSTFCDUXI = 951;
+ public static final int PPC_INS_QVSTFCDUXIA = 952;
+ public static final int PPC_INS_QVSTFCDX = 953;
+ public static final int PPC_INS_QVSTFCDXA = 954;
+ public static final int PPC_INS_QVSTFCDXI = 955;
+ public static final int PPC_INS_QVSTFCDXIA = 956;
+ public static final int PPC_INS_QVSTFCSUX = 957;
+ public static final int PPC_INS_QVSTFCSUXA = 958;
+ public static final int PPC_INS_QVSTFCSUXI = 959;
+ public static final int PPC_INS_QVSTFCSUXIA = 960;
+ public static final int PPC_INS_QVSTFCSX = 961;
+ public static final int PPC_INS_QVSTFCSXA = 962;
+ public static final int PPC_INS_QVSTFCSXI = 963;
+ public static final int PPC_INS_QVSTFCSXIA = 964;
+ public static final int PPC_INS_QVSTFDUX = 965;
+ public static final int PPC_INS_QVSTFDUXA = 966;
+ public static final int PPC_INS_QVSTFDUXI = 967;
+ public static final int PPC_INS_QVSTFDUXIA = 968;
+ public static final int PPC_INS_QVSTFDX = 969;
+ public static final int PPC_INS_QVSTFDXA = 970;
+ public static final int PPC_INS_QVSTFDXI = 971;
+ public static final int PPC_INS_QVSTFDXIA = 972;
+ public static final int PPC_INS_QVSTFIWX = 973;
+ public static final int PPC_INS_QVSTFIWXA = 974;
+ public static final int PPC_INS_QVSTFSUX = 975;
+ public static final int PPC_INS_QVSTFSUXA = 976;
+ public static final int PPC_INS_QVSTFSUXI = 977;
+ public static final int PPC_INS_QVSTFSUXIA = 978;
+ public static final int PPC_INS_QVSTFSX = 979;
+ public static final int PPC_INS_QVSTFSXA = 980;
+ public static final int PPC_INS_QVSTFSXI = 981;
+ public static final int PPC_INS_QVSTFSXIA = 982;
+ public static final int PPC_INS_RFCI = 983;
+ public static final int PPC_INS_RFDI = 984;
+ public static final int PPC_INS_RFEBB = 985;
+ public static final int PPC_INS_RFI = 986;
+ public static final int PPC_INS_RFID = 987;
+ public static final int PPC_INS_RFMCI = 988;
+ public static final int PPC_INS_RLDCL = 989;
+ public static final int PPC_INS_RLDCR = 990;
+ public static final int PPC_INS_RLDIC = 991;
+ public static final int PPC_INS_RLDICL = 992;
+ public static final int PPC_INS_RLDICR = 993;
+ public static final int PPC_INS_RLDIMI = 994;
+ public static final int PPC_INS_RLWIMI = 995;
+ public static final int PPC_INS_RLWINM = 996;
+ public static final int PPC_INS_RLWNM = 997;
+ public static final int PPC_INS_ROTLD = 998;
+ public static final int PPC_INS_ROTLDI = 999;
+ public static final int PPC_INS_ROTLW = 1000;
+ public static final int PPC_INS_ROTLWI = 1001;
+ public static final int PPC_INS_ROTRDI = 1002;
+ public static final int PPC_INS_ROTRWI = 1003;
+ public static final int PPC_INS_SC = 1004;
+ public static final int PPC_INS_SETB = 1005;
+ public static final int PPC_INS_SLBIA = 1006;
+ public static final int PPC_INS_SLBIE = 1007;
+ public static final int PPC_INS_SLBIEG = 1008;
+ public static final int PPC_INS_SLBMFEE = 1009;
+ public static final int PPC_INS_SLBMFEV = 1010;
+ public static final int PPC_INS_SLBMTE = 1011;
+ public static final int PPC_INS_SLBSYNC = 1012;
+ public static final int PPC_INS_SLD = 1013;
+ public static final int PPC_INS_SLDI = 1014;
+ public static final int PPC_INS_SLW = 1015;
+ public static final int PPC_INS_SLWI = 1016;
+ public static final int PPC_INS_SRAD = 1017;
+ public static final int PPC_INS_SRADI = 1018;
+ public static final int PPC_INS_SRAW = 1019;
+ public static final int PPC_INS_SRAWI = 1020;
+ public static final int PPC_INS_SRD = 1021;
+ public static final int PPC_INS_SRDI = 1022;
+ public static final int PPC_INS_SRW = 1023;
+ public static final int PPC_INS_SRWI = 1024;
+ public static final int PPC_INS_STB = 1025;
+ public static final int PPC_INS_STBCIX = 1026;
+ public static final int PPC_INS_STBCX = 1027;
+ public static final int PPC_INS_STBEPX = 1028;
+ public static final int PPC_INS_STBU = 1029;
+ public static final int PPC_INS_STBUX = 1030;
+ public static final int PPC_INS_STBX = 1031;
+ public static final int PPC_INS_STD = 1032;
+ public static final int PPC_INS_STDAT = 1033;
+ public static final int PPC_INS_STDBRX = 1034;
+ public static final int PPC_INS_STDCIX = 1035;
+ public static final int PPC_INS_STDCX = 1036;
+ public static final int PPC_INS_STDU = 1037;
+ public static final int PPC_INS_STDUX = 1038;
+ public static final int PPC_INS_STDX = 1039;
+ public static final int PPC_INS_STFD = 1040;
+ public static final int PPC_INS_STFDEPX = 1041;
+ public static final int PPC_INS_STFDU = 1042;
+ public static final int PPC_INS_STFDUX = 1043;
+ public static final int PPC_INS_STFDX = 1044;
+ public static final int PPC_INS_STFIWX = 1045;
+ public static final int PPC_INS_STFS = 1046;
+ public static final int PPC_INS_STFSU = 1047;
+ public static final int PPC_INS_STFSUX = 1048;
+ public static final int PPC_INS_STFSX = 1049;
+ public static final int PPC_INS_STH = 1050;
+ public static final int PPC_INS_STHBRX = 1051;
+ public static final int PPC_INS_STHCIX = 1052;
+ public static final int PPC_INS_STHCX = 1053;
+ public static final int PPC_INS_STHEPX = 1054;
+ public static final int PPC_INS_STHU = 1055;
+ public static final int PPC_INS_STHUX = 1056;
+ public static final int PPC_INS_STHX = 1057;
+ public static final int PPC_INS_STMW = 1058;
+ public static final int PPC_INS_STOP = 1059;
+ public static final int PPC_INS_STSWI = 1060;
+ public static final int PPC_INS_STVEBX = 1061;
+ public static final int PPC_INS_STVEHX = 1062;
+ public static final int PPC_INS_STVEWX = 1063;
+ public static final int PPC_INS_STVX = 1064;
+ public static final int PPC_INS_STVXL = 1065;
+ public static final int PPC_INS_STW = 1066;
+ public static final int PPC_INS_STWAT = 1067;
+ public static final int PPC_INS_STWBRX = 1068;
+ public static final int PPC_INS_STWCIX = 1069;
+ public static final int PPC_INS_STWCX = 1070;
+ public static final int PPC_INS_STWEPX = 1071;
+ public static final int PPC_INS_STWU = 1072;
+ public static final int PPC_INS_STWUX = 1073;
+ public static final int PPC_INS_STWX = 1074;
+ public static final int PPC_INS_STXSD = 1075;
+ public static final int PPC_INS_STXSDX = 1076;
+ public static final int PPC_INS_STXSIBX = 1077;
+ public static final int PPC_INS_STXSIHX = 1078;
+ public static final int PPC_INS_STXSIWX = 1079;
+ public static final int PPC_INS_STXSSP = 1080;
+ public static final int PPC_INS_STXSSPX = 1081;
+ public static final int PPC_INS_STXV = 1082;
+ public static final int PPC_INS_STXVB16X = 1083;
+ public static final int PPC_INS_STXVD2X = 1084;
+ public static final int PPC_INS_STXVH8X = 1085;
+ public static final int PPC_INS_STXVL = 1086;
+ public static final int PPC_INS_STXVLL = 1087;
+ public static final int PPC_INS_STXVW4X = 1088;
+ public static final int PPC_INS_STXVX = 1089;
+ public static final int PPC_INS_SUB = 1090;
+ public static final int PPC_INS_SUBC = 1091;
+ public static final int PPC_INS_SUBF = 1092;
+ public static final int PPC_INS_SUBFC = 1093;
+ public static final int PPC_INS_SUBFE = 1094;
+ public static final int PPC_INS_SUBFIC = 1095;
+ public static final int PPC_INS_SUBFME = 1096;
+ public static final int PPC_INS_SUBFZE = 1097;
+ public static final int PPC_INS_SUBI = 1098;
+ public static final int PPC_INS_SUBIC = 1099;
+ public static final int PPC_INS_SUBIS = 1100;
+ public static final int PPC_INS_SUBPCIS = 1101;
+ public static final int PPC_INS_SYNC = 1102;
+ public static final int PPC_INS_TABORT = 1103;
+ public static final int PPC_INS_TABORTDC = 1104;
+ public static final int PPC_INS_TABORTDCI = 1105;
+ public static final int PPC_INS_TABORTWC = 1106;
+ public static final int PPC_INS_TABORTWCI = 1107;
+ public static final int PPC_INS_TBEGIN = 1108;
+ public static final int PPC_INS_TCHECK = 1109;
+ public static final int PPC_INS_TD = 1110;
+ public static final int PPC_INS_TDEQ = 1111;
+ public static final int PPC_INS_TDEQI = 1112;
+ public static final int PPC_INS_TDGE = 1113;
+ public static final int PPC_INS_TDGEI = 1114;
+ public static final int PPC_INS_TDGT = 1115;
+ public static final int PPC_INS_TDGTI = 1116;
+ public static final int PPC_INS_TDI = 1117;
+ public static final int PPC_INS_TDLE = 1118;
+ public static final int PPC_INS_TDLEI = 1119;
+ public static final int PPC_INS_TDLGE = 1120;
+ public static final int PPC_INS_TDLGEI = 1121;
+ public static final int PPC_INS_TDLGT = 1122;
+ public static final int PPC_INS_TDLGTI = 1123;
+ public static final int PPC_INS_TDLLE = 1124;
+ public static final int PPC_INS_TDLLEI = 1125;
+ public static final int PPC_INS_TDLLT = 1126;
+ public static final int PPC_INS_TDLLTI = 1127;
+ public static final int PPC_INS_TDLNG = 1128;
+ public static final int PPC_INS_TDLNGI = 1129;
+ public static final int PPC_INS_TDLNL = 1130;
+ public static final int PPC_INS_TDLNLI = 1131;
+ public static final int PPC_INS_TDLT = 1132;
+ public static final int PPC_INS_TDLTI = 1133;
+ public static final int PPC_INS_TDNE = 1134;
+ public static final int PPC_INS_TDNEI = 1135;
+ public static final int PPC_INS_TDNG = 1136;
+ public static final int PPC_INS_TDNGI = 1137;
+ public static final int PPC_INS_TDNL = 1138;
+ public static final int PPC_INS_TDNLI = 1139;
+ public static final int PPC_INS_TDU = 1140;
+ public static final int PPC_INS_TDUI = 1141;
+ public static final int PPC_INS_TEND = 1142;
+ public static final int PPC_INS_TLBIA = 1143;
+ public static final int PPC_INS_TLBIE = 1144;
+ public static final int PPC_INS_TLBIEL = 1145;
+ public static final int PPC_INS_TLBIVAX = 1146;
+ public static final int PPC_INS_TLBLD = 1147;
+ public static final int PPC_INS_TLBLI = 1148;
+ public static final int PPC_INS_TLBRE = 1149;
+ public static final int PPC_INS_TLBREHI = 1150;
+ public static final int PPC_INS_TLBRELO = 1151;
+ public static final int PPC_INS_TLBSX = 1152;
+ public static final int PPC_INS_TLBSYNC = 1153;
+ public static final int PPC_INS_TLBWE = 1154;
+ public static final int PPC_INS_TLBWEHI = 1155;
+ public static final int PPC_INS_TLBWELO = 1156;
+ public static final int PPC_INS_TRAP = 1157;
+ public static final int PPC_INS_TRECHKPT = 1158;
+ public static final int PPC_INS_TRECLAIM = 1159;
+ public static final int PPC_INS_TSR = 1160;
+ public static final int PPC_INS_TW = 1161;
+ public static final int PPC_INS_TWEQ = 1162;
+ public static final int PPC_INS_TWEQI = 1163;
+ public static final int PPC_INS_TWGE = 1164;
+ public static final int PPC_INS_TWGEI = 1165;
+ public static final int PPC_INS_TWGT = 1166;
+ public static final int PPC_INS_TWGTI = 1167;
+ public static final int PPC_INS_TWI = 1168;
+ public static final int PPC_INS_TWLE = 1169;
+ public static final int PPC_INS_TWLEI = 1170;
+ public static final int PPC_INS_TWLGE = 1171;
+ public static final int PPC_INS_TWLGEI = 1172;
+ public static final int PPC_INS_TWLGT = 1173;
+ public static final int PPC_INS_TWLGTI = 1174;
+ public static final int PPC_INS_TWLLE = 1175;
+ public static final int PPC_INS_TWLLEI = 1176;
+ public static final int PPC_INS_TWLLT = 1177;
+ public static final int PPC_INS_TWLLTI = 1178;
+ public static final int PPC_INS_TWLNG = 1179;
+ public static final int PPC_INS_TWLNGI = 1180;
+ public static final int PPC_INS_TWLNL = 1181;
+ public static final int PPC_INS_TWLNLI = 1182;
+ public static final int PPC_INS_TWLT = 1183;
+ public static final int PPC_INS_TWLTI = 1184;
+ public static final int PPC_INS_TWNE = 1185;
+ public static final int PPC_INS_TWNEI = 1186;
+ public static final int PPC_INS_TWNG = 1187;
+ public static final int PPC_INS_TWNGI = 1188;
+ public static final int PPC_INS_TWNL = 1189;
+ public static final int PPC_INS_TWNLI = 1190;
+ public static final int PPC_INS_TWU = 1191;
+ public static final int PPC_INS_TWUI = 1192;
+ public static final int PPC_INS_VABSDUB = 1193;
+ public static final int PPC_INS_VABSDUH = 1194;
+ public static final int PPC_INS_VABSDUW = 1195;
+ public static final int PPC_INS_VADDCUQ = 1196;
+ public static final int PPC_INS_VADDCUW = 1197;
+ public static final int PPC_INS_VADDECUQ = 1198;
+ public static final int PPC_INS_VADDEUQM = 1199;
+ public static final int PPC_INS_VADDFP = 1200;
+ public static final int PPC_INS_VADDSBS = 1201;
+ public static final int PPC_INS_VADDSHS = 1202;
+ public static final int PPC_INS_VADDSWS = 1203;
+ public static final int PPC_INS_VADDUBM = 1204;
+ public static final int PPC_INS_VADDUBS = 1205;
+ public static final int PPC_INS_VADDUDM = 1206;
+ public static final int PPC_INS_VADDUHM = 1207;
+ public static final int PPC_INS_VADDUHS = 1208;
+ public static final int PPC_INS_VADDUQM = 1209;
+ public static final int PPC_INS_VADDUWM = 1210;
+ public static final int PPC_INS_VADDUWS = 1211;
+ public static final int PPC_INS_VAND = 1212;
+ public static final int PPC_INS_VANDC = 1213;
+ public static final int PPC_INS_VAVGSB = 1214;
+ public static final int PPC_INS_VAVGSH = 1215;
+ public static final int PPC_INS_VAVGSW = 1216;
+ public static final int PPC_INS_VAVGUB = 1217;
+ public static final int PPC_INS_VAVGUH = 1218;
+ public static final int PPC_INS_VAVGUW = 1219;
+ public static final int PPC_INS_VBPERMD = 1220;
+ public static final int PPC_INS_VBPERMQ = 1221;
+ public static final int PPC_INS_VCFSX = 1222;
+ public static final int PPC_INS_VCFUX = 1223;
+ public static final int PPC_INS_VCIPHER = 1224;
+ public static final int PPC_INS_VCIPHERLAST = 1225;
+ public static final int PPC_INS_VCLZB = 1226;
+ public static final int PPC_INS_VCLZD = 1227;
+ public static final int PPC_INS_VCLZH = 1228;
+ public static final int PPC_INS_VCLZLSBB = 1229;
+ public static final int PPC_INS_VCLZW = 1230;
+ public static final int PPC_INS_VCMPBFP = 1231;
+ public static final int PPC_INS_VCMPEQFP = 1232;
+ public static final int PPC_INS_VCMPEQUB = 1233;
+ public static final int PPC_INS_VCMPEQUD = 1234;
+ public static final int PPC_INS_VCMPEQUH = 1235;
+ public static final int PPC_INS_VCMPEQUW = 1236;
+ public static final int PPC_INS_VCMPGEFP = 1237;
+ public static final int PPC_INS_VCMPGTFP = 1238;
+ public static final int PPC_INS_VCMPGTSB = 1239;
+ public static final int PPC_INS_VCMPGTSD = 1240;
+ public static final int PPC_INS_VCMPGTSH = 1241;
+ public static final int PPC_INS_VCMPGTSW = 1242;
+ public static final int PPC_INS_VCMPGTUB = 1243;
+ public static final int PPC_INS_VCMPGTUD = 1244;
+ public static final int PPC_INS_VCMPGTUH = 1245;
+ public static final int PPC_INS_VCMPGTUW = 1246;
+ public static final int PPC_INS_VCMPNEB = 1247;
+ public static final int PPC_INS_VCMPNEH = 1248;
+ public static final int PPC_INS_VCMPNEW = 1249;
+ public static final int PPC_INS_VCMPNEZB = 1250;
+ public static final int PPC_INS_VCMPNEZH = 1251;
+ public static final int PPC_INS_VCMPNEZW = 1252;
+ public static final int PPC_INS_VCTSXS = 1253;
+ public static final int PPC_INS_VCTUXS = 1254;
+ public static final int PPC_INS_VCTZB = 1255;
+ public static final int PPC_INS_VCTZD = 1256;
+ public static final int PPC_INS_VCTZH = 1257;
+ public static final int PPC_INS_VCTZLSBB = 1258;
+ public static final int PPC_INS_VCTZW = 1259;
+ public static final int PPC_INS_VEQV = 1260;
+ public static final int PPC_INS_VEXPTEFP = 1261;
+ public static final int PPC_INS_VEXTRACTD = 1262;
+ public static final int PPC_INS_VEXTRACTUB = 1263;
+ public static final int PPC_INS_VEXTRACTUH = 1264;
+ public static final int PPC_INS_VEXTRACTUW = 1265;
+ public static final int PPC_INS_VEXTSB2D = 1266;
+ public static final int PPC_INS_VEXTSB2W = 1267;
+ public static final int PPC_INS_VEXTSH2D = 1268;
+ public static final int PPC_INS_VEXTSH2W = 1269;
+ public static final int PPC_INS_VEXTSW2D = 1270;
+ public static final int PPC_INS_VEXTUBLX = 1271;
+ public static final int PPC_INS_VEXTUBRX = 1272;
+ public static final int PPC_INS_VEXTUHLX = 1273;
+ public static final int PPC_INS_VEXTUHRX = 1274;
+ public static final int PPC_INS_VEXTUWLX = 1275;
+ public static final int PPC_INS_VEXTUWRX = 1276;
+ public static final int PPC_INS_VGBBD = 1277;
+ public static final int PPC_INS_VINSERTB = 1278;
+ public static final int PPC_INS_VINSERTD = 1279;
+ public static final int PPC_INS_VINSERTH = 1280;
+ public static final int PPC_INS_VINSERTW = 1281;
+ public static final int PPC_INS_VLOGEFP = 1282;
+ public static final int PPC_INS_VMADDFP = 1283;
+ public static final int PPC_INS_VMAXFP = 1284;
+ public static final int PPC_INS_VMAXSB = 1285;
+ public static final int PPC_INS_VMAXSD = 1286;
+ public static final int PPC_INS_VMAXSH = 1287;
+ public static final int PPC_INS_VMAXSW = 1288;
+ public static final int PPC_INS_VMAXUB = 1289;
+ public static final int PPC_INS_VMAXUD = 1290;
+ public static final int PPC_INS_VMAXUH = 1291;
+ public static final int PPC_INS_VMAXUW = 1292;
+ public static final int PPC_INS_VMHADDSHS = 1293;
+ public static final int PPC_INS_VMHRADDSHS = 1294;
+ public static final int PPC_INS_VMINFP = 1295;
+ public static final int PPC_INS_VMINSB = 1296;
+ public static final int PPC_INS_VMINSD = 1297;
+ public static final int PPC_INS_VMINSH = 1298;
+ public static final int PPC_INS_VMINSW = 1299;
+ public static final int PPC_INS_VMINUB = 1300;
+ public static final int PPC_INS_VMINUD = 1301;
+ public static final int PPC_INS_VMINUH = 1302;
+ public static final int PPC_INS_VMINUW = 1303;
+ public static final int PPC_INS_VMLADDUHM = 1304;
+ public static final int PPC_INS_VMR = 1305;
+ public static final int PPC_INS_VMRGEW = 1306;
+ public static final int PPC_INS_VMRGHB = 1307;
+ public static final int PPC_INS_VMRGHH = 1308;
+ public static final int PPC_INS_VMRGHW = 1309;
+ public static final int PPC_INS_VMRGLB = 1310;
+ public static final int PPC_INS_VMRGLH = 1311;
+ public static final int PPC_INS_VMRGLW = 1312;
+ public static final int PPC_INS_VMRGOW = 1313;
+ public static final int PPC_INS_VMSUMMBM = 1314;
+ public static final int PPC_INS_VMSUMSHM = 1315;
+ public static final int PPC_INS_VMSUMSHS = 1316;
+ public static final int PPC_INS_VMSUMUBM = 1317;
+ public static final int PPC_INS_VMSUMUHM = 1318;
+ public static final int PPC_INS_VMSUMUHS = 1319;
+ public static final int PPC_INS_VMUL10CUQ = 1320;
+ public static final int PPC_INS_VMUL10ECUQ = 1321;
+ public static final int PPC_INS_VMUL10EUQ = 1322;
+ public static final int PPC_INS_VMUL10UQ = 1323;
+ public static final int PPC_INS_VMULESB = 1324;
+ public static final int PPC_INS_VMULESH = 1325;
+ public static final int PPC_INS_VMULESW = 1326;
+ public static final int PPC_INS_VMULEUB = 1327;
+ public static final int PPC_INS_VMULEUH = 1328;
+ public static final int PPC_INS_VMULEUW = 1329;
+ public static final int PPC_INS_VMULOSB = 1330;
+ public static final int PPC_INS_VMULOSH = 1331;
+ public static final int PPC_INS_VMULOSW = 1332;
+ public static final int PPC_INS_VMULOUB = 1333;
+ public static final int PPC_INS_VMULOUH = 1334;
+ public static final int PPC_INS_VMULOUW = 1335;
+ public static final int PPC_INS_VMULUWM = 1336;
+ public static final int PPC_INS_VNAND = 1337;
+ public static final int PPC_INS_VNCIPHER = 1338;
+ public static final int PPC_INS_VNCIPHERLAST = 1339;
+ public static final int PPC_INS_VNEGD = 1340;
+ public static final int PPC_INS_VNEGW = 1341;
+ public static final int PPC_INS_VNMSUBFP = 1342;
+ public static final int PPC_INS_VNOR = 1343;
+ public static final int PPC_INS_VNOT = 1344;
+ public static final int PPC_INS_VOR = 1345;
+ public static final int PPC_INS_VORC = 1346;
+ public static final int PPC_INS_VPERM = 1347;
+ public static final int PPC_INS_VPERMR = 1348;
+ public static final int PPC_INS_VPERMXOR = 1349;
+ public static final int PPC_INS_VPKPX = 1350;
+ public static final int PPC_INS_VPKSDSS = 1351;
+ public static final int PPC_INS_VPKSDUS = 1352;
+ public static final int PPC_INS_VPKSHSS = 1353;
+ public static final int PPC_INS_VPKSHUS = 1354;
+ public static final int PPC_INS_VPKSWSS = 1355;
+ public static final int PPC_INS_VPKSWUS = 1356;
+ public static final int PPC_INS_VPKUDUM = 1357;
+ public static final int PPC_INS_VPKUDUS = 1358;
+ public static final int PPC_INS_VPKUHUM = 1359;
+ public static final int PPC_INS_VPKUHUS = 1360;
+ public static final int PPC_INS_VPKUWUM = 1361;
+ public static final int PPC_INS_VPKUWUS = 1362;
+ public static final int PPC_INS_VPMSUMB = 1363;
+ public static final int PPC_INS_VPMSUMD = 1364;
+ public static final int PPC_INS_VPMSUMH = 1365;
+ public static final int PPC_INS_VPMSUMW = 1366;
+ public static final int PPC_INS_VPOPCNTB = 1367;
+ public static final int PPC_INS_VPOPCNTD = 1368;
+ public static final int PPC_INS_VPOPCNTH = 1369;
+ public static final int PPC_INS_VPOPCNTW = 1370;
+ public static final int PPC_INS_VPRTYBD = 1371;
+ public static final int PPC_INS_VPRTYBQ = 1372;
+ public static final int PPC_INS_VPRTYBW = 1373;
+ public static final int PPC_INS_VREFP = 1374;
+ public static final int PPC_INS_VRFIM = 1375;
+ public static final int PPC_INS_VRFIN = 1376;
+ public static final int PPC_INS_VRFIP = 1377;
+ public static final int PPC_INS_VRFIZ = 1378;
+ public static final int PPC_INS_VRLB = 1379;
+ public static final int PPC_INS_VRLD = 1380;
+ public static final int PPC_INS_VRLDMI = 1381;
+ public static final int PPC_INS_VRLDNM = 1382;
+ public static final int PPC_INS_VRLH = 1383;
+ public static final int PPC_INS_VRLW = 1384;
+ public static final int PPC_INS_VRLWMI = 1385;
+ public static final int PPC_INS_VRLWNM = 1386;
+ public static final int PPC_INS_VRSQRTEFP = 1387;
+ public static final int PPC_INS_VSBOX = 1388;
+ public static final int PPC_INS_VSEL = 1389;
+ public static final int PPC_INS_VSHASIGMAD = 1390;
+ public static final int PPC_INS_VSHASIGMAW = 1391;
+ public static final int PPC_INS_VSL = 1392;
+ public static final int PPC_INS_VSLB = 1393;
+ public static final int PPC_INS_VSLD = 1394;
+ public static final int PPC_INS_VSLDOI = 1395;
+ public static final int PPC_INS_VSLH = 1396;
+ public static final int PPC_INS_VSLO = 1397;
+ public static final int PPC_INS_VSLV = 1398;
+ public static final int PPC_INS_VSLW = 1399;
+ public static final int PPC_INS_VSPLTB = 1400;
+ public static final int PPC_INS_VSPLTH = 1401;
+ public static final int PPC_INS_VSPLTISB = 1402;
+ public static final int PPC_INS_VSPLTISH = 1403;
+ public static final int PPC_INS_VSPLTISW = 1404;
+ public static final int PPC_INS_VSPLTW = 1405;
+ public static final int PPC_INS_VSR = 1406;
+ public static final int PPC_INS_VSRAB = 1407;
+ public static final int PPC_INS_VSRAD = 1408;
+ public static final int PPC_INS_VSRAH = 1409;
+ public static final int PPC_INS_VSRAW = 1410;
+ public static final int PPC_INS_VSRB = 1411;
+ public static final int PPC_INS_VSRD = 1412;
+ public static final int PPC_INS_VSRH = 1413;
+ public static final int PPC_INS_VSRO = 1414;
+ public static final int PPC_INS_VSRV = 1415;
+ public static final int PPC_INS_VSRW = 1416;
+ public static final int PPC_INS_VSUBCUQ = 1417;
+ public static final int PPC_INS_VSUBCUW = 1418;
+ public static final int PPC_INS_VSUBECUQ = 1419;
+ public static final int PPC_INS_VSUBEUQM = 1420;
+ public static final int PPC_INS_VSUBFP = 1421;
+ public static final int PPC_INS_VSUBSBS = 1422;
+ public static final int PPC_INS_VSUBSHS = 1423;
+ public static final int PPC_INS_VSUBSWS = 1424;
+ public static final int PPC_INS_VSUBUBM = 1425;
+ public static final int PPC_INS_VSUBUBS = 1426;
+ public static final int PPC_INS_VSUBUDM = 1427;
+ public static final int PPC_INS_VSUBUHM = 1428;
+ public static final int PPC_INS_VSUBUHS = 1429;
+ public static final int PPC_INS_VSUBUQM = 1430;
+ public static final int PPC_INS_VSUBUWM = 1431;
+ public static final int PPC_INS_VSUBUWS = 1432;
+ public static final int PPC_INS_VSUM2SWS = 1433;
+ public static final int PPC_INS_VSUM4SBS = 1434;
+ public static final int PPC_INS_VSUM4SHS = 1435;
+ public static final int PPC_INS_VSUM4UBS = 1436;
+ public static final int PPC_INS_VSUMSWS = 1437;
+ public static final int PPC_INS_VUPKHPX = 1438;
+ public static final int PPC_INS_VUPKHSB = 1439;
+ public static final int PPC_INS_VUPKHSH = 1440;
+ public static final int PPC_INS_VUPKHSW = 1441;
+ public static final int PPC_INS_VUPKLPX = 1442;
+ public static final int PPC_INS_VUPKLSB = 1443;
+ public static final int PPC_INS_VUPKLSH = 1444;
+ public static final int PPC_INS_VUPKLSW = 1445;
+ public static final int PPC_INS_VXOR = 1446;
+ public static final int PPC_INS_WAIT = 1447;
+ public static final int PPC_INS_WAITIMPL = 1448;
+ public static final int PPC_INS_WAITRSV = 1449;
+ public static final int PPC_INS_WRTEE = 1450;
+ public static final int PPC_INS_WRTEEI = 1451;
+ public static final int PPC_INS_XNOP = 1452;
+ public static final int PPC_INS_XOR = 1453;
+ public static final int PPC_INS_XORI = 1454;
+ public static final int PPC_INS_XORIS = 1455;
+ public static final int PPC_INS_XSABSDP = 1456;
+ public static final int PPC_INS_XSABSQP = 1457;
+ public static final int PPC_INS_XSADDDP = 1458;
+ public static final int PPC_INS_XSADDQP = 1459;
+ public static final int PPC_INS_XSADDQPO = 1460;
+ public static final int PPC_INS_XSADDSP = 1461;
+ public static final int PPC_INS_XSCMPEQDP = 1462;
+ public static final int PPC_INS_XSCMPEXPDP = 1463;
+ public static final int PPC_INS_XSCMPEXPQP = 1464;
+ public static final int PPC_INS_XSCMPGEDP = 1465;
+ public static final int PPC_INS_XSCMPGTDP = 1466;
+ public static final int PPC_INS_XSCMPODP = 1467;
+ public static final int PPC_INS_XSCMPOQP = 1468;
+ public static final int PPC_INS_XSCMPUDP = 1469;
+ public static final int PPC_INS_XSCMPUQP = 1470;
+ public static final int PPC_INS_XSCPSGNDP = 1471;
+ public static final int PPC_INS_XSCPSGNQP = 1472;
+ public static final int PPC_INS_XSCVDPHP = 1473;
+ public static final int PPC_INS_XSCVDPQP = 1474;
+ public static final int PPC_INS_XSCVDPSP = 1475;
+ public static final int PPC_INS_XSCVDPSPN = 1476;
+ public static final int PPC_INS_XSCVDPSXDS = 1477;
+ public static final int PPC_INS_XSCVDPSXWS = 1478;
+ public static final int PPC_INS_XSCVDPUXDS = 1479;
+ public static final int PPC_INS_XSCVDPUXWS = 1480;
+ public static final int PPC_INS_XSCVHPDP = 1481;
+ public static final int PPC_INS_XSCVQPDP = 1482;
+ public static final int PPC_INS_XSCVQPDPO = 1483;
+ public static final int PPC_INS_XSCVQPSDZ = 1484;
+ public static final int PPC_INS_XSCVQPSWZ = 1485;
+ public static final int PPC_INS_XSCVQPUDZ = 1486;
+ public static final int PPC_INS_XSCVQPUWZ = 1487;
+ public static final int PPC_INS_XSCVSDQP = 1488;
+ public static final int PPC_INS_XSCVSPDP = 1489;
+ public static final int PPC_INS_XSCVSPDPN = 1490;
+ public static final int PPC_INS_XSCVSXDDP = 1491;
+ public static final int PPC_INS_XSCVSXDSP = 1492;
+ public static final int PPC_INS_XSCVUDQP = 1493;
+ public static final int PPC_INS_XSCVUXDDP = 1494;
+ public static final int PPC_INS_XSCVUXDSP = 1495;
+ public static final int PPC_INS_XSDIVDP = 1496;
+ public static final int PPC_INS_XSDIVQP = 1497;
+ public static final int PPC_INS_XSDIVQPO = 1498;
+ public static final int PPC_INS_XSDIVSP = 1499;
+ public static final int PPC_INS_XSIEXPDP = 1500;
+ public static final int PPC_INS_XSIEXPQP = 1501;
+ public static final int PPC_INS_XSMADDADP = 1502;
+ public static final int PPC_INS_XSMADDASP = 1503;
+ public static final int PPC_INS_XSMADDMDP = 1504;
+ public static final int PPC_INS_XSMADDMSP = 1505;
+ public static final int PPC_INS_XSMADDQP = 1506;
+ public static final int PPC_INS_XSMADDQPO = 1507;
+ public static final int PPC_INS_XSMAXCDP = 1508;
+ public static final int PPC_INS_XSMAXDP = 1509;
+ public static final int PPC_INS_XSMAXJDP = 1510;
+ public static final int PPC_INS_XSMINCDP = 1511;
+ public static final int PPC_INS_XSMINDP = 1512;
+ public static final int PPC_INS_XSMINJDP = 1513;
+ public static final int PPC_INS_XSMSUBADP = 1514;
+ public static final int PPC_INS_XSMSUBASP = 1515;
+ public static final int PPC_INS_XSMSUBMDP = 1516;
+ public static final int PPC_INS_XSMSUBMSP = 1517;
+ public static final int PPC_INS_XSMSUBQP = 1518;
+ public static final int PPC_INS_XSMSUBQPO = 1519;
+ public static final int PPC_INS_XSMULDP = 1520;
+ public static final int PPC_INS_XSMULQP = 1521;
+ public static final int PPC_INS_XSMULQPO = 1522;
+ public static final int PPC_INS_XSMULSP = 1523;
+ public static final int PPC_INS_XSNABSDP = 1524;
+ public static final int PPC_INS_XSNABSQP = 1525;
+ public static final int PPC_INS_XSNEGDP = 1526;
+ public static final int PPC_INS_XSNEGQP = 1527;
+ public static final int PPC_INS_XSNMADDADP = 1528;
+ public static final int PPC_INS_XSNMADDASP = 1529;
+ public static final int PPC_INS_XSNMADDMDP = 1530;
+ public static final int PPC_INS_XSNMADDMSP = 1531;
+ public static final int PPC_INS_XSNMADDQP = 1532;
+ public static final int PPC_INS_XSNMADDQPO = 1533;
+ public static final int PPC_INS_XSNMSUBADP = 1534;
+ public static final int PPC_INS_XSNMSUBASP = 1535;
+ public static final int PPC_INS_XSNMSUBMDP = 1536;
+ public static final int PPC_INS_XSNMSUBMSP = 1537;
+ public static final int PPC_INS_XSNMSUBQP = 1538;
+ public static final int PPC_INS_XSNMSUBQPO = 1539;
+ public static final int PPC_INS_XSRDPI = 1540;
+ public static final int PPC_INS_XSRDPIC = 1541;
+ public static final int PPC_INS_XSRDPIM = 1542;
+ public static final int PPC_INS_XSRDPIP = 1543;
+ public static final int PPC_INS_XSRDPIZ = 1544;
+ public static final int PPC_INS_XSREDP = 1545;
+ public static final int PPC_INS_XSRESP = 1546;
+ public static final int PPC_INS_XSRQPI = 1547;
+ public static final int PPC_INS_XSRQPIX = 1548;
+ public static final int PPC_INS_XSRQPXP = 1549;
+ public static final int PPC_INS_XSRSP = 1550;
+ public static final int PPC_INS_XSRSQRTEDP = 1551;
+ public static final int PPC_INS_XSRSQRTESP = 1552;
+ public static final int PPC_INS_XSSQRTDP = 1553;
+ public static final int PPC_INS_XSSQRTQP = 1554;
+ public static final int PPC_INS_XSSQRTQPO = 1555;
+ public static final int PPC_INS_XSSQRTSP = 1556;
+ public static final int PPC_INS_XSSUBDP = 1557;
+ public static final int PPC_INS_XSSUBQP = 1558;
+ public static final int PPC_INS_XSSUBQPO = 1559;
+ public static final int PPC_INS_XSSUBSP = 1560;
+ public static final int PPC_INS_XSTDIVDP = 1561;
+ public static final int PPC_INS_XSTSQRTDP = 1562;
+ public static final int PPC_INS_XSTSTDCDP = 1563;
+ public static final int PPC_INS_XSTSTDCQP = 1564;
+ public static final int PPC_INS_XSTSTDCSP = 1565;
+ public static final int PPC_INS_XSXEXPDP = 1566;
+ public static final int PPC_INS_XSXEXPQP = 1567;
+ public static final int PPC_INS_XSXSIGDP = 1568;
+ public static final int PPC_INS_XSXSIGQP = 1569;
+ public static final int PPC_INS_XVABSDP = 1570;
+ public static final int PPC_INS_XVABSSP = 1571;
+ public static final int PPC_INS_XVADDDP = 1572;
+ public static final int PPC_INS_XVADDSP = 1573;
+ public static final int PPC_INS_XVCMPEQDP = 1574;
+ public static final int PPC_INS_XVCMPEQSP = 1575;
+ public static final int PPC_INS_XVCMPGEDP = 1576;
+ public static final int PPC_INS_XVCMPGESP = 1577;
+ public static final int PPC_INS_XVCMPGTDP = 1578;
+ public static final int PPC_INS_XVCMPGTSP = 1579;
+ public static final int PPC_INS_XVCPSGNDP = 1580;
+ public static final int PPC_INS_XVCPSGNSP = 1581;
+ public static final int PPC_INS_XVCVDPSP = 1582;
+ public static final int PPC_INS_XVCVDPSXDS = 1583;
+ public static final int PPC_INS_XVCVDPSXWS = 1584;
+ public static final int PPC_INS_XVCVDPUXDS = 1585;
+ public static final int PPC_INS_XVCVDPUXWS = 1586;
+ public static final int PPC_INS_XVCVHPSP = 1587;
+ public static final int PPC_INS_XVCVSPDP = 1588;
+ public static final int PPC_INS_XVCVSPHP = 1589;
+ public static final int PPC_INS_XVCVSPSXDS = 1590;
+ public static final int PPC_INS_XVCVSPSXWS = 1591;
+ public static final int PPC_INS_XVCVSPUXDS = 1592;
+ public static final int PPC_INS_XVCVSPUXWS = 1593;
+ public static final int PPC_INS_XVCVSXDDP = 1594;
+ public static final int PPC_INS_XVCVSXDSP = 1595;
+ public static final int PPC_INS_XVCVSXWDP = 1596;
+ public static final int PPC_INS_XVCVSXWSP = 1597;
+ public static final int PPC_INS_XVCVUXDDP = 1598;
+ public static final int PPC_INS_XVCVUXDSP = 1599;
+ public static final int PPC_INS_XVCVUXWDP = 1600;
+ public static final int PPC_INS_XVCVUXWSP = 1601;
+ public static final int PPC_INS_XVDIVDP = 1602;
+ public static final int PPC_INS_XVDIVSP = 1603;
+ public static final int PPC_INS_XVIEXPDP = 1604;
+ public static final int PPC_INS_XVIEXPSP = 1605;
+ public static final int PPC_INS_XVMADDADP = 1606;
+ public static final int PPC_INS_XVMADDASP = 1607;
+ public static final int PPC_INS_XVMADDMDP = 1608;
+ public static final int PPC_INS_XVMADDMSP = 1609;
+ public static final int PPC_INS_XVMAXDP = 1610;
+ public static final int PPC_INS_XVMAXSP = 1611;
+ public static final int PPC_INS_XVMINDP = 1612;
+ public static final int PPC_INS_XVMINSP = 1613;
+ public static final int PPC_INS_XVMOVDP = 1614;
+ public static final int PPC_INS_XVMOVSP = 1615;
+ public static final int PPC_INS_XVMSUBADP = 1616;
+ public static final int PPC_INS_XVMSUBASP = 1617;
+ public static final int PPC_INS_XVMSUBMDP = 1618;
+ public static final int PPC_INS_XVMSUBMSP = 1619;
+ public static final int PPC_INS_XVMULDP = 1620;
+ public static final int PPC_INS_XVMULSP = 1621;
+ public static final int PPC_INS_XVNABSDP = 1622;
+ public static final int PPC_INS_XVNABSSP = 1623;
+ public static final int PPC_INS_XVNEGDP = 1624;
+ public static final int PPC_INS_XVNEGSP = 1625;
+ public static final int PPC_INS_XVNMADDADP = 1626;
+ public static final int PPC_INS_XVNMADDASP = 1627;
+ public static final int PPC_INS_XVNMADDMDP = 1628;
+ public static final int PPC_INS_XVNMADDMSP = 1629;
+ public static final int PPC_INS_XVNMSUBADP = 1630;
+ public static final int PPC_INS_XVNMSUBASP = 1631;
+ public static final int PPC_INS_XVNMSUBMDP = 1632;
+ public static final int PPC_INS_XVNMSUBMSP = 1633;
+ public static final int PPC_INS_XVRDPI = 1634;
+ public static final int PPC_INS_XVRDPIC = 1635;
+ public static final int PPC_INS_XVRDPIM = 1636;
+ public static final int PPC_INS_XVRDPIP = 1637;
+ public static final int PPC_INS_XVRDPIZ = 1638;
+ public static final int PPC_INS_XVREDP = 1639;
+ public static final int PPC_INS_XVRESP = 1640;
+ public static final int PPC_INS_XVRSPI = 1641;
+ public static final int PPC_INS_XVRSPIC = 1642;
+ public static final int PPC_INS_XVRSPIM = 1643;
+ public static final int PPC_INS_XVRSPIP = 1644;
+ public static final int PPC_INS_XVRSPIZ = 1645;
+ public static final int PPC_INS_XVRSQRTEDP = 1646;
+ public static final int PPC_INS_XVRSQRTESP = 1647;
+ public static final int PPC_INS_XVSQRTDP = 1648;
+ public static final int PPC_INS_XVSQRTSP = 1649;
+ public static final int PPC_INS_XVSUBDP = 1650;
+ public static final int PPC_INS_XVSUBSP = 1651;
+ public static final int PPC_INS_XVTDIVDP = 1652;
+ public static final int PPC_INS_XVTDIVSP = 1653;
+ public static final int PPC_INS_XVTSQRTDP = 1654;
+ public static final int PPC_INS_XVTSQRTSP = 1655;
+ public static final int PPC_INS_XVTSTDCDP = 1656;
+ public static final int PPC_INS_XVTSTDCSP = 1657;
+ public static final int PPC_INS_XVXEXPDP = 1658;
+ public static final int PPC_INS_XVXEXPSP = 1659;
+ public static final int PPC_INS_XVXSIGDP = 1660;
+ public static final int PPC_INS_XVXSIGSP = 1661;
+ public static final int PPC_INS_XXBRD = 1662;
+ public static final int PPC_INS_XXBRH = 1663;
+ public static final int PPC_INS_XXBRQ = 1664;
+ public static final int PPC_INS_XXBRW = 1665;
+ public static final int PPC_INS_XXEXTRACTUW = 1666;
+ public static final int PPC_INS_XXINSERTW = 1667;
+ public static final int PPC_INS_XXLAND = 1668;
+ public static final int PPC_INS_XXLANDC = 1669;
+ public static final int PPC_INS_XXLEQV = 1670;
+ public static final int PPC_INS_XXLNAND = 1671;
+ public static final int PPC_INS_XXLNOR = 1672;
+ public static final int PPC_INS_XXLOR = 1673;
+ public static final int PPC_INS_XXLORC = 1674;
+ public static final int PPC_INS_XXLXOR = 1675;
+ public static final int PPC_INS_XXMRGHD = 1676;
+ public static final int PPC_INS_XXMRGHW = 1677;
+ public static final int PPC_INS_XXMRGLD = 1678;
+ public static final int PPC_INS_XXMRGLW = 1679;
+ public static final int PPC_INS_XXPERM = 1680;
+ public static final int PPC_INS_XXPERMDI = 1681;
+ public static final int PPC_INS_XXPERMR = 1682;
+ public static final int PPC_INS_XXSEL = 1683;
+ public static final int PPC_INS_XXSLDWI = 1684;
+ public static final int PPC_INS_XXSPLTD = 1685;
+ public static final int PPC_INS_XXSPLTIB = 1686;
+ public static final int PPC_INS_XXSPLTW = 1687;
+ public static final int PPC_INS_XXSWAPD = 1688;
+ public static final int PPC_INS_ENDING = 1689;
+
+ public static final int PPC_GRP_INVALID = 0;
+ public static final int PPC_GRP_JUMP = 1;
+ public static final int PPC_GRP_ALTIVEC = 128;
+ public static final int PPC_GRP_MODE32 = 129;
+ public static final int PPC_GRP_MODE64 = 130;
+ public static final int PPC_GRP_BOOKE = 131;
+ public static final int PPC_GRP_NOTBOOKE = 132;
+ public static final int PPC_GRP_SPE = 133;
+ public static final int PPC_GRP_VSX = 134;
+ public static final int PPC_GRP_E500 = 135;
+ public static final int PPC_GRP_PPC4XX = 136;
+ public static final int PPC_GRP_PPC6XX = 137;
+ public static final int PPC_GRP_ICBT = 138;
+ public static final int PPC_GRP_P8ALTIVEC = 139;
+ public static final int PPC_GRP_P8VECTOR = 140;
+ public static final int PPC_GRP_QPX = 141;
+ public static final int PPC_GRP_ENDING = 142;
+} \ No newline at end of file
diff --git a/capstone/bindings/java/capstone/Sparc.java b/capstone/bindings/java/capstone/Sparc.java
new file mode 100644
index 000000000..9a8ca32d1
--- /dev/null
+++ b/capstone/bindings/java/capstone/Sparc.java
@@ -0,0 +1,92 @@
+// Capstone Java binding
+// By Nguyen Anh Quynh & Dang Hoang Vu, 2013
+
+package capstone;
+
+import com.sun.jna.Structure;
+import com.sun.jna.Union;
+
+import java.util.List;
+import java.util.Arrays;
+
+import static capstone.Sparc_const.*;
+
+public class Sparc {
+
+ public static class MemType extends Structure {
+ public byte base;
+ public byte index;
+ public int disp;
+
+ @Override
+ public List getFieldOrder() {
+ return Arrays.asList("base", "index", "disp");
+ }
+ }
+
+ public static class OpValue extends Union {
+ public int reg;
+ public int imm;
+ public MemType mem;
+ }
+
+ public static class Operand extends Structure {
+ public int type;
+ public OpValue value;
+
+ public void read() {
+ readField("type");
+ if (type == SPARC_OP_MEM)
+ value.setType(MemType.class);
+ if (type == SPARC_OP_IMM || type == SPARC_OP_REG)
+ value.setType(Integer.TYPE);
+ if (type == SPARC_OP_INVALID)
+ return;
+ readField("value");
+ }
+
+ @Override
+ public List getFieldOrder() {
+ return Arrays.asList("type", "value");
+ }
+ }
+
+ public static class UnionOpInfo extends Capstone.UnionOpInfo {
+ public int cc;
+ public int hint;
+ public byte op_count;
+
+ public Operand [] op;
+
+ public UnionOpInfo() {
+ op = new Operand[4];
+ }
+
+ public void read() {
+ readField("cc");
+ readField("hint");
+ readField("op_count");
+ op = new Operand[op_count];
+ if (op_count != 0)
+ readField("op");
+ }
+
+ @Override
+ public List getFieldOrder() {
+ return Arrays.asList("cc", "hint", "op_count", "op");
+ }
+ }
+
+ public static class OpInfo extends Capstone.OpInfo {
+ public int cc;
+ public int hint;
+
+ public Operand [] op;
+
+ public OpInfo(UnionOpInfo op_info) {
+ cc = op_info.cc;
+ hint = op_info.hint;
+ op = op_info.op;
+ }
+ }
+}
diff --git a/capstone/bindings/java/capstone/Sparc_const.java b/capstone/bindings/java/capstone/Sparc_const.java
new file mode 100644
index 000000000..31bd2c679
--- /dev/null
+++ b/capstone/bindings/java/capstone/Sparc_const.java
@@ -0,0 +1,433 @@
+// For Capstone Engine. AUTO-GENERATED FILE, DO NOT EDIT
+package capstone;
+
+public class Sparc_const {
+
+ public static final int SPARC_CC_INVALID = 0;
+ public static final int SPARC_CC_ICC_A = 8+256;
+ public static final int SPARC_CC_ICC_N = 0+256;
+ public static final int SPARC_CC_ICC_NE = 9+256;
+ public static final int SPARC_CC_ICC_E = 1+256;
+ public static final int SPARC_CC_ICC_G = 10+256;
+ public static final int SPARC_CC_ICC_LE = 2+256;
+ public static final int SPARC_CC_ICC_GE = 11+256;
+ public static final int SPARC_CC_ICC_L = 3+256;
+ public static final int SPARC_CC_ICC_GU = 12+256;
+ public static final int SPARC_CC_ICC_LEU = 4+256;
+ public static final int SPARC_CC_ICC_CC = 13+256;
+ public static final int SPARC_CC_ICC_CS = 5+256;
+ public static final int SPARC_CC_ICC_POS = 14+256;
+ public static final int SPARC_CC_ICC_NEG = 6+256;
+ public static final int SPARC_CC_ICC_VC = 15+256;
+ public static final int SPARC_CC_ICC_VS = 7+256;
+ public static final int SPARC_CC_FCC_A = 8+16+256;
+ public static final int SPARC_CC_FCC_N = 0+16+256;
+ public static final int SPARC_CC_FCC_U = 7+16+256;
+ public static final int SPARC_CC_FCC_G = 6+16+256;
+ public static final int SPARC_CC_FCC_UG = 5+16+256;
+ public static final int SPARC_CC_FCC_L = 4+16+256;
+ public static final int SPARC_CC_FCC_UL = 3+16+256;
+ public static final int SPARC_CC_FCC_LG = 2+16+256;
+ public static final int SPARC_CC_FCC_NE = 1+16+256;
+ public static final int SPARC_CC_FCC_E = 9+16+256;
+ public static final int SPARC_CC_FCC_UE = 10+16+256;
+ public static final int SPARC_CC_FCC_GE = 11+16+256;
+ public static final int SPARC_CC_FCC_UGE = 12+16+256;
+ public static final int SPARC_CC_FCC_LE = 13+16+256;
+ public static final int SPARC_CC_FCC_ULE = 14+16+256;
+ public static final int SPARC_CC_FCC_O = 15+16+256;
+
+ public static final int SPARC_HINT_INVALID = 0;
+ public static final int SPARC_HINT_A = 1<<0;
+ public static final int SPARC_HINT_PT = 1<<1;
+ public static final int SPARC_HINT_PN = 1<<2;
+
+ public static final int SPARC_OP_INVALID = 0;
+ public static final int SPARC_OP_REG = 1;
+ public static final int SPARC_OP_IMM = 2;
+ public static final int SPARC_OP_MEM = 3;
+
+ public static final int SPARC_REG_INVALID = 0;
+ public static final int SPARC_REG_F0 = 1;
+ public static final int SPARC_REG_F1 = 2;
+ public static final int SPARC_REG_F2 = 3;
+ public static final int SPARC_REG_F3 = 4;
+ public static final int SPARC_REG_F4 = 5;
+ public static final int SPARC_REG_F5 = 6;
+ public static final int SPARC_REG_F6 = 7;
+ public static final int SPARC_REG_F7 = 8;
+ public static final int SPARC_REG_F8 = 9;
+ public static final int SPARC_REG_F9 = 10;
+ public static final int SPARC_REG_F10 = 11;
+ public static final int SPARC_REG_F11 = 12;
+ public static final int SPARC_REG_F12 = 13;
+ public static final int SPARC_REG_F13 = 14;
+ public static final int SPARC_REG_F14 = 15;
+ public static final int SPARC_REG_F15 = 16;
+ public static final int SPARC_REG_F16 = 17;
+ public static final int SPARC_REG_F17 = 18;
+ public static final int SPARC_REG_F18 = 19;
+ public static final int SPARC_REG_F19 = 20;
+ public static final int SPARC_REG_F20 = 21;
+ public static final int SPARC_REG_F21 = 22;
+ public static final int SPARC_REG_F22 = 23;
+ public static final int SPARC_REG_F23 = 24;
+ public static final int SPARC_REG_F24 = 25;
+ public static final int SPARC_REG_F25 = 26;
+ public static final int SPARC_REG_F26 = 27;
+ public static final int SPARC_REG_F27 = 28;
+ public static final int SPARC_REG_F28 = 29;
+ public static final int SPARC_REG_F29 = 30;
+ public static final int SPARC_REG_F30 = 31;
+ public static final int SPARC_REG_F31 = 32;
+ public static final int SPARC_REG_F32 = 33;
+ public static final int SPARC_REG_F34 = 34;
+ public static final int SPARC_REG_F36 = 35;
+ public static final int SPARC_REG_F38 = 36;
+ public static final int SPARC_REG_F40 = 37;
+ public static final int SPARC_REG_F42 = 38;
+ public static final int SPARC_REG_F44 = 39;
+ public static final int SPARC_REG_F46 = 40;
+ public static final int SPARC_REG_F48 = 41;
+ public static final int SPARC_REG_F50 = 42;
+ public static final int SPARC_REG_F52 = 43;
+ public static final int SPARC_REG_F54 = 44;
+ public static final int SPARC_REG_F56 = 45;
+ public static final int SPARC_REG_F58 = 46;
+ public static final int SPARC_REG_F60 = 47;
+ public static final int SPARC_REG_F62 = 48;
+ public static final int SPARC_REG_FCC0 = 49;
+ public static final int SPARC_REG_FCC1 = 50;
+ public static final int SPARC_REG_FCC2 = 51;
+ public static final int SPARC_REG_FCC3 = 52;
+ public static final int SPARC_REG_FP = 53;
+ public static final int SPARC_REG_G0 = 54;
+ public static final int SPARC_REG_G1 = 55;
+ public static final int SPARC_REG_G2 = 56;
+ public static final int SPARC_REG_G3 = 57;
+ public static final int SPARC_REG_G4 = 58;
+ public static final int SPARC_REG_G5 = 59;
+ public static final int SPARC_REG_G6 = 60;
+ public static final int SPARC_REG_G7 = 61;
+ public static final int SPARC_REG_I0 = 62;
+ public static final int SPARC_REG_I1 = 63;
+ public static final int SPARC_REG_I2 = 64;
+ public static final int SPARC_REG_I3 = 65;
+ public static final int SPARC_REG_I4 = 66;
+ public static final int SPARC_REG_I5 = 67;
+ public static final int SPARC_REG_I7 = 68;
+ public static final int SPARC_REG_ICC = 69;
+ public static final int SPARC_REG_L0 = 70;
+ public static final int SPARC_REG_L1 = 71;
+ public static final int SPARC_REG_L2 = 72;
+ public static final int SPARC_REG_L3 = 73;
+ public static final int SPARC_REG_L4 = 74;
+ public static final int SPARC_REG_L5 = 75;
+ public static final int SPARC_REG_L6 = 76;
+ public static final int SPARC_REG_L7 = 77;
+ public static final int SPARC_REG_O0 = 78;
+ public static final int SPARC_REG_O1 = 79;
+ public static final int SPARC_REG_O2 = 80;
+ public static final int SPARC_REG_O3 = 81;
+ public static final int SPARC_REG_O4 = 82;
+ public static final int SPARC_REG_O5 = 83;
+ public static final int SPARC_REG_O7 = 84;
+ public static final int SPARC_REG_SP = 85;
+ public static final int SPARC_REG_Y = 86;
+ public static final int SPARC_REG_XCC = 87;
+ public static final int SPARC_REG_ENDING = 88;
+ public static final int SPARC_REG_O6 = SPARC_REG_SP;
+ public static final int SPARC_REG_I6 = SPARC_REG_FP;
+
+ public static final int SPARC_INS_INVALID = 0;
+ public static final int SPARC_INS_ADDCC = 1;
+ public static final int SPARC_INS_ADDX = 2;
+ public static final int SPARC_INS_ADDXCC = 3;
+ public static final int SPARC_INS_ADDXC = 4;
+ public static final int SPARC_INS_ADDXCCC = 5;
+ public static final int SPARC_INS_ADD = 6;
+ public static final int SPARC_INS_ALIGNADDR = 7;
+ public static final int SPARC_INS_ALIGNADDRL = 8;
+ public static final int SPARC_INS_ANDCC = 9;
+ public static final int SPARC_INS_ANDNCC = 10;
+ public static final int SPARC_INS_ANDN = 11;
+ public static final int SPARC_INS_AND = 12;
+ public static final int SPARC_INS_ARRAY16 = 13;
+ public static final int SPARC_INS_ARRAY32 = 14;
+ public static final int SPARC_INS_ARRAY8 = 15;
+ public static final int SPARC_INS_B = 16;
+ public static final int SPARC_INS_JMP = 17;
+ public static final int SPARC_INS_BMASK = 18;
+ public static final int SPARC_INS_FB = 19;
+ public static final int SPARC_INS_BRGEZ = 20;
+ public static final int SPARC_INS_BRGZ = 21;
+ public static final int SPARC_INS_BRLEZ = 22;
+ public static final int SPARC_INS_BRLZ = 23;
+ public static final int SPARC_INS_BRNZ = 24;
+ public static final int SPARC_INS_BRZ = 25;
+ public static final int SPARC_INS_BSHUFFLE = 26;
+ public static final int SPARC_INS_CALL = 27;
+ public static final int SPARC_INS_CASX = 28;
+ public static final int SPARC_INS_CAS = 29;
+ public static final int SPARC_INS_CMASK16 = 30;
+ public static final int SPARC_INS_CMASK32 = 31;
+ public static final int SPARC_INS_CMASK8 = 32;
+ public static final int SPARC_INS_CMP = 33;
+ public static final int SPARC_INS_EDGE16 = 34;
+ public static final int SPARC_INS_EDGE16L = 35;
+ public static final int SPARC_INS_EDGE16LN = 36;
+ public static final int SPARC_INS_EDGE16N = 37;
+ public static final int SPARC_INS_EDGE32 = 38;
+ public static final int SPARC_INS_EDGE32L = 39;
+ public static final int SPARC_INS_EDGE32LN = 40;
+ public static final int SPARC_INS_EDGE32N = 41;
+ public static final int SPARC_INS_EDGE8 = 42;
+ public static final int SPARC_INS_EDGE8L = 43;
+ public static final int SPARC_INS_EDGE8LN = 44;
+ public static final int SPARC_INS_EDGE8N = 45;
+ public static final int SPARC_INS_FABSD = 46;
+ public static final int SPARC_INS_FABSQ = 47;
+ public static final int SPARC_INS_FABSS = 48;
+ public static final int SPARC_INS_FADDD = 49;
+ public static final int SPARC_INS_FADDQ = 50;
+ public static final int SPARC_INS_FADDS = 51;
+ public static final int SPARC_INS_FALIGNDATA = 52;
+ public static final int SPARC_INS_FAND = 53;
+ public static final int SPARC_INS_FANDNOT1 = 54;
+ public static final int SPARC_INS_FANDNOT1S = 55;
+ public static final int SPARC_INS_FANDNOT2 = 56;
+ public static final int SPARC_INS_FANDNOT2S = 57;
+ public static final int SPARC_INS_FANDS = 58;
+ public static final int SPARC_INS_FCHKSM16 = 59;
+ public static final int SPARC_INS_FCMPD = 60;
+ public static final int SPARC_INS_FCMPEQ16 = 61;
+ public static final int SPARC_INS_FCMPEQ32 = 62;
+ public static final int SPARC_INS_FCMPGT16 = 63;
+ public static final int SPARC_INS_FCMPGT32 = 64;
+ public static final int SPARC_INS_FCMPLE16 = 65;
+ public static final int SPARC_INS_FCMPLE32 = 66;
+ public static final int SPARC_INS_FCMPNE16 = 67;
+ public static final int SPARC_INS_FCMPNE32 = 68;
+ public static final int SPARC_INS_FCMPQ = 69;
+ public static final int SPARC_INS_FCMPS = 70;
+ public static final int SPARC_INS_FDIVD = 71;
+ public static final int SPARC_INS_FDIVQ = 72;
+ public static final int SPARC_INS_FDIVS = 73;
+ public static final int SPARC_INS_FDMULQ = 74;
+ public static final int SPARC_INS_FDTOI = 75;
+ public static final int SPARC_INS_FDTOQ = 76;
+ public static final int SPARC_INS_FDTOS = 77;
+ public static final int SPARC_INS_FDTOX = 78;
+ public static final int SPARC_INS_FEXPAND = 79;
+ public static final int SPARC_INS_FHADDD = 80;
+ public static final int SPARC_INS_FHADDS = 81;
+ public static final int SPARC_INS_FHSUBD = 82;
+ public static final int SPARC_INS_FHSUBS = 83;
+ public static final int SPARC_INS_FITOD = 84;
+ public static final int SPARC_INS_FITOQ = 85;
+ public static final int SPARC_INS_FITOS = 86;
+ public static final int SPARC_INS_FLCMPD = 87;
+ public static final int SPARC_INS_FLCMPS = 88;
+ public static final int SPARC_INS_FLUSHW = 89;
+ public static final int SPARC_INS_FMEAN16 = 90;
+ public static final int SPARC_INS_FMOVD = 91;
+ public static final int SPARC_INS_FMOVQ = 92;
+ public static final int SPARC_INS_FMOVRDGEZ = 93;
+ public static final int SPARC_INS_FMOVRQGEZ = 94;
+ public static final int SPARC_INS_FMOVRSGEZ = 95;
+ public static final int SPARC_INS_FMOVRDGZ = 96;
+ public static final int SPARC_INS_FMOVRQGZ = 97;
+ public static final int SPARC_INS_FMOVRSGZ = 98;
+ public static final int SPARC_INS_FMOVRDLEZ = 99;
+ public static final int SPARC_INS_FMOVRQLEZ = 100;
+ public static final int SPARC_INS_FMOVRSLEZ = 101;
+ public static final int SPARC_INS_FMOVRDLZ = 102;
+ public static final int SPARC_INS_FMOVRQLZ = 103;
+ public static final int SPARC_INS_FMOVRSLZ = 104;
+ public static final int SPARC_INS_FMOVRDNZ = 105;
+ public static final int SPARC_INS_FMOVRQNZ = 106;
+ public static final int SPARC_INS_FMOVRSNZ = 107;
+ public static final int SPARC_INS_FMOVRDZ = 108;
+ public static final int SPARC_INS_FMOVRQZ = 109;
+ public static final int SPARC_INS_FMOVRSZ = 110;
+ public static final int SPARC_INS_FMOVS = 111;
+ public static final int SPARC_INS_FMUL8SUX16 = 112;
+ public static final int SPARC_INS_FMUL8ULX16 = 113;
+ public static final int SPARC_INS_FMUL8X16 = 114;
+ public static final int SPARC_INS_FMUL8X16AL = 115;
+ public static final int SPARC_INS_FMUL8X16AU = 116;
+ public static final int SPARC_INS_FMULD = 117;
+ public static final int SPARC_INS_FMULD8SUX16 = 118;
+ public static final int SPARC_INS_FMULD8ULX16 = 119;
+ public static final int SPARC_INS_FMULQ = 120;
+ public static final int SPARC_INS_FMULS = 121;
+ public static final int SPARC_INS_FNADDD = 122;
+ public static final int SPARC_INS_FNADDS = 123;
+ public static final int SPARC_INS_FNAND = 124;
+ public static final int SPARC_INS_FNANDS = 125;
+ public static final int SPARC_INS_FNEGD = 126;
+ public static final int SPARC_INS_FNEGQ = 127;
+ public static final int SPARC_INS_FNEGS = 128;
+ public static final int SPARC_INS_FNHADDD = 129;
+ public static final int SPARC_INS_FNHADDS = 130;
+ public static final int SPARC_INS_FNOR = 131;
+ public static final int SPARC_INS_FNORS = 132;
+ public static final int SPARC_INS_FNOT1 = 133;
+ public static final int SPARC_INS_FNOT1S = 134;
+ public static final int SPARC_INS_FNOT2 = 135;
+ public static final int SPARC_INS_FNOT2S = 136;
+ public static final int SPARC_INS_FONE = 137;
+ public static final int SPARC_INS_FONES = 138;
+ public static final int SPARC_INS_FOR = 139;
+ public static final int SPARC_INS_FORNOT1 = 140;
+ public static final int SPARC_INS_FORNOT1S = 141;
+ public static final int SPARC_INS_FORNOT2 = 142;
+ public static final int SPARC_INS_FORNOT2S = 143;
+ public static final int SPARC_INS_FORS = 144;
+ public static final int SPARC_INS_FPACK16 = 145;
+ public static final int SPARC_INS_FPACK32 = 146;
+ public static final int SPARC_INS_FPACKFIX = 147;
+ public static final int SPARC_INS_FPADD16 = 148;
+ public static final int SPARC_INS_FPADD16S = 149;
+ public static final int SPARC_INS_FPADD32 = 150;
+ public static final int SPARC_INS_FPADD32S = 151;
+ public static final int SPARC_INS_FPADD64 = 152;
+ public static final int SPARC_INS_FPMERGE = 153;
+ public static final int SPARC_INS_FPSUB16 = 154;
+ public static final int SPARC_INS_FPSUB16S = 155;
+ public static final int SPARC_INS_FPSUB32 = 156;
+ public static final int SPARC_INS_FPSUB32S = 157;
+ public static final int SPARC_INS_FQTOD = 158;
+ public static final int SPARC_INS_FQTOI = 159;
+ public static final int SPARC_INS_FQTOS = 160;
+ public static final int SPARC_INS_FQTOX = 161;
+ public static final int SPARC_INS_FSLAS16 = 162;
+ public static final int SPARC_INS_FSLAS32 = 163;
+ public static final int SPARC_INS_FSLL16 = 164;
+ public static final int SPARC_INS_FSLL32 = 165;
+ public static final int SPARC_INS_FSMULD = 166;
+ public static final int SPARC_INS_FSQRTD = 167;
+ public static final int SPARC_INS_FSQRTQ = 168;
+ public static final int SPARC_INS_FSQRTS = 169;
+ public static final int SPARC_INS_FSRA16 = 170;
+ public static final int SPARC_INS_FSRA32 = 171;
+ public static final int SPARC_INS_FSRC1 = 172;
+ public static final int SPARC_INS_FSRC1S = 173;
+ public static final int SPARC_INS_FSRC2 = 174;
+ public static final int SPARC_INS_FSRC2S = 175;
+ public static final int SPARC_INS_FSRL16 = 176;
+ public static final int SPARC_INS_FSRL32 = 177;
+ public static final int SPARC_INS_FSTOD = 178;
+ public static final int SPARC_INS_FSTOI = 179;
+ public static final int SPARC_INS_FSTOQ = 180;
+ public static final int SPARC_INS_FSTOX = 181;
+ public static final int SPARC_INS_FSUBD = 182;
+ public static final int SPARC_INS_FSUBQ = 183;
+ public static final int SPARC_INS_FSUBS = 184;
+ public static final int SPARC_INS_FXNOR = 185;
+ public static final int SPARC_INS_FXNORS = 186;
+ public static final int SPARC_INS_FXOR = 187;
+ public static final int SPARC_INS_FXORS = 188;
+ public static final int SPARC_INS_FXTOD = 189;
+ public static final int SPARC_INS_FXTOQ = 190;
+ public static final int SPARC_INS_FXTOS = 191;
+ public static final int SPARC_INS_FZERO = 192;
+ public static final int SPARC_INS_FZEROS = 193;
+ public static final int SPARC_INS_JMPL = 194;
+ public static final int SPARC_INS_LDD = 195;
+ public static final int SPARC_INS_LD = 196;
+ public static final int SPARC_INS_LDQ = 197;
+ public static final int SPARC_INS_LDSB = 198;
+ public static final int SPARC_INS_LDSH = 199;
+ public static final int SPARC_INS_LDSW = 200;
+ public static final int SPARC_INS_LDUB = 201;
+ public static final int SPARC_INS_LDUH = 202;
+ public static final int SPARC_INS_LDX = 203;
+ public static final int SPARC_INS_LZCNT = 204;
+ public static final int SPARC_INS_MEMBAR = 205;
+ public static final int SPARC_INS_MOVDTOX = 206;
+ public static final int SPARC_INS_MOV = 207;
+ public static final int SPARC_INS_MOVRGEZ = 208;
+ public static final int SPARC_INS_MOVRGZ = 209;
+ public static final int SPARC_INS_MOVRLEZ = 210;
+ public static final int SPARC_INS_MOVRLZ = 211;
+ public static final int SPARC_INS_MOVRNZ = 212;
+ public static final int SPARC_INS_MOVRZ = 213;
+ public static final int SPARC_INS_MOVSTOSW = 214;
+ public static final int SPARC_INS_MOVSTOUW = 215;
+ public static final int SPARC_INS_MULX = 216;
+ public static final int SPARC_INS_NOP = 217;
+ public static final int SPARC_INS_ORCC = 218;
+ public static final int SPARC_INS_ORNCC = 219;
+ public static final int SPARC_INS_ORN = 220;
+ public static final int SPARC_INS_OR = 221;
+ public static final int SPARC_INS_PDIST = 222;
+ public static final int SPARC_INS_PDISTN = 223;
+ public static final int SPARC_INS_POPC = 224;
+ public static final int SPARC_INS_RD = 225;
+ public static final int SPARC_INS_RESTORE = 226;
+ public static final int SPARC_INS_RETT = 227;
+ public static final int SPARC_INS_SAVE = 228;
+ public static final int SPARC_INS_SDIVCC = 229;
+ public static final int SPARC_INS_SDIVX = 230;
+ public static final int SPARC_INS_SDIV = 231;
+ public static final int SPARC_INS_SETHI = 232;
+ public static final int SPARC_INS_SHUTDOWN = 233;
+ public static final int SPARC_INS_SIAM = 234;
+ public static final int SPARC_INS_SLLX = 235;
+ public static final int SPARC_INS_SLL = 236;
+ public static final int SPARC_INS_SMULCC = 237;
+ public static final int SPARC_INS_SMUL = 238;
+ public static final int SPARC_INS_SRAX = 239;
+ public static final int SPARC_INS_SRA = 240;
+ public static final int SPARC_INS_SRLX = 241;
+ public static final int SPARC_INS_SRL = 242;
+ public static final int SPARC_INS_STBAR = 243;
+ public static final int SPARC_INS_STB = 244;
+ public static final int SPARC_INS_STD = 245;
+ public static final int SPARC_INS_ST = 246;
+ public static final int SPARC_INS_STH = 247;
+ public static final int SPARC_INS_STQ = 248;
+ public static final int SPARC_INS_STX = 249;
+ public static final int SPARC_INS_SUBCC = 250;
+ public static final int SPARC_INS_SUBX = 251;
+ public static final int SPARC_INS_SUBXCC = 252;
+ public static final int SPARC_INS_SUB = 253;
+ public static final int SPARC_INS_SWAP = 254;
+ public static final int SPARC_INS_TADDCCTV = 255;
+ public static final int SPARC_INS_TADDCC = 256;
+ public static final int SPARC_INS_T = 257;
+ public static final int SPARC_INS_TSUBCCTV = 258;
+ public static final int SPARC_INS_TSUBCC = 259;
+ public static final int SPARC_INS_UDIVCC = 260;
+ public static final int SPARC_INS_UDIVX = 261;
+ public static final int SPARC_INS_UDIV = 262;
+ public static final int SPARC_INS_UMULCC = 263;
+ public static final int SPARC_INS_UMULXHI = 264;
+ public static final int SPARC_INS_UMUL = 265;
+ public static final int SPARC_INS_UNIMP = 266;
+ public static final int SPARC_INS_FCMPED = 267;
+ public static final int SPARC_INS_FCMPEQ = 268;
+ public static final int SPARC_INS_FCMPES = 269;
+ public static final int SPARC_INS_WR = 270;
+ public static final int SPARC_INS_XMULX = 271;
+ public static final int SPARC_INS_XMULXHI = 272;
+ public static final int SPARC_INS_XNORCC = 273;
+ public static final int SPARC_INS_XNOR = 274;
+ public static final int SPARC_INS_XORCC = 275;
+ public static final int SPARC_INS_XOR = 276;
+ public static final int SPARC_INS_RET = 277;
+ public static final int SPARC_INS_RETL = 278;
+ public static final int SPARC_INS_ENDING = 279;
+
+ public static final int SPARC_GRP_INVALID = 0;
+ public static final int SPARC_GRP_JUMP = 1;
+ public static final int SPARC_GRP_HARDQUAD = 128;
+ public static final int SPARC_GRP_V9 = 129;
+ public static final int SPARC_GRP_VIS = 130;
+ public static final int SPARC_GRP_VIS2 = 131;
+ public static final int SPARC_GRP_VIS3 = 132;
+ public static final int SPARC_GRP_32BIT = 133;
+ public static final int SPARC_GRP_64BIT = 134;
+ public static final int SPARC_GRP_ENDING = 135;
+} \ No newline at end of file
diff --git a/capstone/bindings/java/capstone/Systemz.java b/capstone/bindings/java/capstone/Systemz.java
new file mode 100644
index 000000000..1bc5ed709
--- /dev/null
+++ b/capstone/bindings/java/capstone/Systemz.java
@@ -0,0 +1,91 @@
+// Capstone Java binding
+// By Nguyen Anh Quynh & Dang Hoang Vu, 2013
+
+package capstone;
+
+import com.sun.jna.Structure;
+import com.sun.jna.Union;
+
+import java.util.List;
+import java.util.Arrays;
+
+import static capstone.Sysz_const.*;
+
+public class Systemz {
+
+ public static class MemType extends Structure {
+ public byte base;
+ public byte index;
+ public long length;
+ public long disp;
+
+ @Override
+ public List getFieldOrder() {
+ return Arrays.asList("base", "index", "length", "disp");
+ }
+ }
+
+ public static class OpValue extends Union {
+ public int reg;
+ public long imm;
+ public MemType mem;
+ }
+
+ public static class Operand extends Structure {
+ public int type;
+ public OpValue value;
+
+ public void read() {
+ readField("type");
+ if (type == SYSZ_OP_MEM)
+ value.setType(MemType.class);
+ if (type == SYSZ_OP_IMM)
+ value.setType(Long.TYPE);
+ if (type == SYSZ_OP_REG || type == SYSZ_OP_ACREG)
+ value.setType(Integer.TYPE);
+ if (type == SYSZ_OP_INVALID)
+ return;
+ readField("value");
+ }
+
+ @Override
+ public List getFieldOrder() {
+ return Arrays.asList("type", "value");
+ }
+ }
+
+ public static class UnionOpInfo extends Capstone.UnionOpInfo {
+ public int cc;
+ public byte op_count;
+
+ public Operand [] op;
+
+ public UnionOpInfo() {
+ op = new Operand[6];
+ }
+
+ public void read() {
+ readField("cc");
+ readField("op_count");
+ op = new Operand[op_count];
+ if (op_count != 0)
+ readField("op");
+ }
+
+ @Override
+ public List getFieldOrder() {
+ return Arrays.asList("cc", "op_count", "op");
+ }
+ }
+
+ public static class OpInfo extends Capstone.OpInfo {
+ public int cc;
+
+ public Operand [] op;
+
+ public OpInfo(UnionOpInfo op_info) {
+ cc = op_info.cc;
+ op = op_info.op;
+ }
+ }
+}
diff --git a/capstone/bindings/java/capstone/Sysz_const.java b/capstone/bindings/java/capstone/Sysz_const.java
new file mode 100644
index 000000000..87e771a40
--- /dev/null
+++ b/capstone/bindings/java/capstone/Sysz_const.java
@@ -0,0 +1,2527 @@
+// For Capstone Engine. AUTO-GENERATED FILE, DO NOT EDIT
+package capstone;
+
+public class Sysz_const {
+
+ public static final int SYSZ_CC_INVALID = 0;
+ public static final int SYSZ_CC_O = 1;
+ public static final int SYSZ_CC_H = 2;
+ public static final int SYSZ_CC_NLE = 3;
+ public static final int SYSZ_CC_L = 4;
+ public static final int SYSZ_CC_NHE = 5;
+ public static final int SYSZ_CC_LH = 6;
+ public static final int SYSZ_CC_NE = 7;
+ public static final int SYSZ_CC_E = 8;
+ public static final int SYSZ_CC_NLH = 9;
+ public static final int SYSZ_CC_HE = 10;
+ public static final int SYSZ_CC_NL = 11;
+ public static final int SYSZ_CC_LE = 12;
+ public static final int SYSZ_CC_NH = 13;
+ public static final int SYSZ_CC_NO = 14;
+
+ public static final int SYSZ_OP_INVALID = 0;
+ public static final int SYSZ_OP_REG = 1;
+ public static final int SYSZ_OP_IMM = 2;
+ public static final int SYSZ_OP_MEM = 3;
+ public static final int SYSZ_OP_ACREG = 64;
+
+ public static final int SYSZ_REG_INVALID = 0;
+ public static final int SYSZ_REG_0 = 1;
+ public static final int SYSZ_REG_1 = 2;
+ public static final int SYSZ_REG_2 = 3;
+ public static final int SYSZ_REG_3 = 4;
+ public static final int SYSZ_REG_4 = 5;
+ public static final int SYSZ_REG_5 = 6;
+ public static final int SYSZ_REG_6 = 7;
+ public static final int SYSZ_REG_7 = 8;
+ public static final int SYSZ_REG_8 = 9;
+ public static final int SYSZ_REG_9 = 10;
+ public static final int SYSZ_REG_10 = 11;
+ public static final int SYSZ_REG_11 = 12;
+ public static final int SYSZ_REG_12 = 13;
+ public static final int SYSZ_REG_13 = 14;
+ public static final int SYSZ_REG_14 = 15;
+ public static final int SYSZ_REG_15 = 16;
+ public static final int SYSZ_REG_CC = 17;
+ public static final int SYSZ_REG_F0 = 18;
+ public static final int SYSZ_REG_F1 = 19;
+ public static final int SYSZ_REG_F2 = 20;
+ public static final int SYSZ_REG_F3 = 21;
+ public static final int SYSZ_REG_F4 = 22;
+ public static final int SYSZ_REG_F5 = 23;
+ public static final int SYSZ_REG_F6 = 24;
+ public static final int SYSZ_REG_F7 = 25;
+ public static final int SYSZ_REG_F8 = 26;
+ public static final int SYSZ_REG_F9 = 27;
+ public static final int SYSZ_REG_F10 = 28;
+ public static final int SYSZ_REG_F11 = 29;
+ public static final int SYSZ_REG_F12 = 30;
+ public static final int SYSZ_REG_F13 = 31;
+ public static final int SYSZ_REG_F14 = 32;
+ public static final int SYSZ_REG_F15 = 33;
+ public static final int SYSZ_REG_R0L = 34;
+ public static final int SYSZ_REG_A0 = 35;
+ public static final int SYSZ_REG_A1 = 36;
+ public static final int SYSZ_REG_A2 = 37;
+ public static final int SYSZ_REG_A3 = 38;
+ public static final int SYSZ_REG_A4 = 39;
+ public static final int SYSZ_REG_A5 = 40;
+ public static final int SYSZ_REG_A6 = 41;
+ public static final int SYSZ_REG_A7 = 42;
+ public static final int SYSZ_REG_A8 = 43;
+ public static final int SYSZ_REG_A9 = 44;
+ public static final int SYSZ_REG_A10 = 45;
+ public static final int SYSZ_REG_A11 = 46;
+ public static final int SYSZ_REG_A12 = 47;
+ public static final int SYSZ_REG_A13 = 48;
+ public static final int SYSZ_REG_A14 = 49;
+ public static final int SYSZ_REG_A15 = 50;
+ public static final int SYSZ_REG_C0 = 51;
+ public static final int SYSZ_REG_C1 = 52;
+ public static final int SYSZ_REG_C2 = 53;
+ public static final int SYSZ_REG_C3 = 54;
+ public static final int SYSZ_REG_C4 = 55;
+ public static final int SYSZ_REG_C5 = 56;
+ public static final int SYSZ_REG_C6 = 57;
+ public static final int SYSZ_REG_C7 = 58;
+ public static final int SYSZ_REG_C8 = 59;
+ public static final int SYSZ_REG_C9 = 60;
+ public static final int SYSZ_REG_C10 = 61;
+ public static final int SYSZ_REG_C11 = 62;
+ public static final int SYSZ_REG_C12 = 63;
+ public static final int SYSZ_REG_C13 = 64;
+ public static final int SYSZ_REG_C14 = 65;
+ public static final int SYSZ_REG_C15 = 66;
+ public static final int SYSZ_REG_V0 = 67;
+ public static final int SYSZ_REG_V1 = 68;
+ public static final int SYSZ_REG_V2 = 69;
+ public static final int SYSZ_REG_V3 = 70;
+ public static final int SYSZ_REG_V4 = 71;
+ public static final int SYSZ_REG_V5 = 72;
+ public static final int SYSZ_REG_V6 = 73;
+ public static final int SYSZ_REG_V7 = 74;
+ public static final int SYSZ_REG_V8 = 75;
+ public static final int SYSZ_REG_V9 = 76;
+ public static final int SYSZ_REG_V10 = 77;
+ public static final int SYSZ_REG_V11 = 78;
+ public static final int SYSZ_REG_V12 = 79;
+ public static final int SYSZ_REG_V13 = 80;
+ public static final int SYSZ_REG_V14 = 81;
+ public static final int SYSZ_REG_V15 = 82;
+ public static final int SYSZ_REG_V16 = 83;
+ public static final int SYSZ_REG_V17 = 84;
+ public static final int SYSZ_REG_V18 = 85;
+ public static final int SYSZ_REG_V19 = 86;
+ public static final int SYSZ_REG_V20 = 87;
+ public static final int SYSZ_REG_V21 = 88;
+ public static final int SYSZ_REG_V22 = 89;
+ public static final int SYSZ_REG_V23 = 90;
+ public static final int SYSZ_REG_V24 = 91;
+ public static final int SYSZ_REG_V25 = 92;
+ public static final int SYSZ_REG_V26 = 93;
+ public static final int SYSZ_REG_V27 = 94;
+ public static final int SYSZ_REG_V28 = 95;
+ public static final int SYSZ_REG_V29 = 96;
+ public static final int SYSZ_REG_V30 = 97;
+ public static final int SYSZ_REG_V31 = 98;
+ public static final int SYSZ_REG_F16 = 99;
+ public static final int SYSZ_REG_F17 = 100;
+ public static final int SYSZ_REG_F18 = 101;
+ public static final int SYSZ_REG_F19 = 102;
+ public static final int SYSZ_REG_F20 = 103;
+ public static final int SYSZ_REG_F21 = 104;
+ public static final int SYSZ_REG_F22 = 105;
+ public static final int SYSZ_REG_F23 = 106;
+ public static final int SYSZ_REG_F24 = 107;
+ public static final int SYSZ_REG_F25 = 108;
+ public static final int SYSZ_REG_F26 = 109;
+ public static final int SYSZ_REG_F27 = 110;
+ public static final int SYSZ_REG_F28 = 111;
+ public static final int SYSZ_REG_F29 = 112;
+ public static final int SYSZ_REG_F30 = 113;
+ public static final int SYSZ_REG_F31 = 114;
+ public static final int SYSZ_REG_F0Q = 115;
+ public static final int SYSZ_REG_F4Q = 116;
+ public static final int SYSZ_REG_ENDING = 117;
+
+ public static final int SYSZ_INS_INVALID = 0;
+ public static final int SYSZ_INS_A = 1;
+ public static final int SYSZ_INS_ADB = 2;
+ public static final int SYSZ_INS_ADBR = 3;
+ public static final int SYSZ_INS_AEB = 4;
+ public static final int SYSZ_INS_AEBR = 5;
+ public static final int SYSZ_INS_AFI = 6;
+ public static final int SYSZ_INS_AG = 7;
+ public static final int SYSZ_INS_AGF = 8;
+ public static final int SYSZ_INS_AGFI = 9;
+ public static final int SYSZ_INS_AGFR = 10;
+ public static final int SYSZ_INS_AGHI = 11;
+ public static final int SYSZ_INS_AGHIK = 12;
+ public static final int SYSZ_INS_AGR = 13;
+ public static final int SYSZ_INS_AGRK = 14;
+ public static final int SYSZ_INS_AGSI = 15;
+ public static final int SYSZ_INS_AH = 16;
+ public static final int SYSZ_INS_AHI = 17;
+ public static final int SYSZ_INS_AHIK = 18;
+ public static final int SYSZ_INS_AHY = 19;
+ public static final int SYSZ_INS_AIH = 20;
+ public static final int SYSZ_INS_AL = 21;
+ public static final int SYSZ_INS_ALC = 22;
+ public static final int SYSZ_INS_ALCG = 23;
+ public static final int SYSZ_INS_ALCGR = 24;
+ public static final int SYSZ_INS_ALCR = 25;
+ public static final int SYSZ_INS_ALFI = 26;
+ public static final int SYSZ_INS_ALG = 27;
+ public static final int SYSZ_INS_ALGF = 28;
+ public static final int SYSZ_INS_ALGFI = 29;
+ public static final int SYSZ_INS_ALGFR = 30;
+ public static final int SYSZ_INS_ALGHSIK = 31;
+ public static final int SYSZ_INS_ALGR = 32;
+ public static final int SYSZ_INS_ALGRK = 33;
+ public static final int SYSZ_INS_ALHSIK = 34;
+ public static final int SYSZ_INS_ALR = 35;
+ public static final int SYSZ_INS_ALRK = 36;
+ public static final int SYSZ_INS_ALY = 37;
+ public static final int SYSZ_INS_AR = 38;
+ public static final int SYSZ_INS_ARK = 39;
+ public static final int SYSZ_INS_ASI = 40;
+ public static final int SYSZ_INS_AXBR = 41;
+ public static final int SYSZ_INS_AY = 42;
+ public static final int SYSZ_INS_BCR = 43;
+ public static final int SYSZ_INS_BRC = 44;
+ public static final int SYSZ_INS_BRCL = 45;
+ public static final int SYSZ_INS_CGIJ = 46;
+ public static final int SYSZ_INS_CGRJ = 47;
+ public static final int SYSZ_INS_CIJ = 48;
+ public static final int SYSZ_INS_CLGIJ = 49;
+ public static final int SYSZ_INS_CLGRJ = 50;
+ public static final int SYSZ_INS_CLIJ = 51;
+ public static final int SYSZ_INS_CLRJ = 52;
+ public static final int SYSZ_INS_CRJ = 53;
+ public static final int SYSZ_INS_BER = 54;
+ public static final int SYSZ_INS_JE = 55;
+ public static final int SYSZ_INS_JGE = 56;
+ public static final int SYSZ_INS_LOCE = 57;
+ public static final int SYSZ_INS_LOCGE = 58;
+ public static final int SYSZ_INS_LOCGRE = 59;
+ public static final int SYSZ_INS_LOCRE = 60;
+ public static final int SYSZ_INS_STOCE = 61;
+ public static final int SYSZ_INS_STOCGE = 62;
+ public static final int SYSZ_INS_BHR = 63;
+ public static final int SYSZ_INS_BHER = 64;
+ public static final int SYSZ_INS_JHE = 65;
+ public static final int SYSZ_INS_JGHE = 66;
+ public static final int SYSZ_INS_LOCHE = 67;
+ public static final int SYSZ_INS_LOCGHE = 68;
+ public static final int SYSZ_INS_LOCGRHE = 69;
+ public static final int SYSZ_INS_LOCRHE = 70;
+ public static final int SYSZ_INS_STOCHE = 71;
+ public static final int SYSZ_INS_STOCGHE = 72;
+ public static final int SYSZ_INS_JH = 73;
+ public static final int SYSZ_INS_JGH = 74;
+ public static final int SYSZ_INS_LOCH = 75;
+ public static final int SYSZ_INS_LOCGH = 76;
+ public static final int SYSZ_INS_LOCGRH = 77;
+ public static final int SYSZ_INS_LOCRH = 78;
+ public static final int SYSZ_INS_STOCH = 79;
+ public static final int SYSZ_INS_STOCGH = 80;
+ public static final int SYSZ_INS_CGIJNLH = 81;
+ public static final int SYSZ_INS_CGRJNLH = 82;
+ public static final int SYSZ_INS_CIJNLH = 83;
+ public static final int SYSZ_INS_CLGIJNLH = 84;
+ public static final int SYSZ_INS_CLGRJNLH = 85;
+ public static final int SYSZ_INS_CLIJNLH = 86;
+ public static final int SYSZ_INS_CLRJNLH = 87;
+ public static final int SYSZ_INS_CRJNLH = 88;
+ public static final int SYSZ_INS_CGIJE = 89;
+ public static final int SYSZ_INS_CGRJE = 90;
+ public static final int SYSZ_INS_CIJE = 91;
+ public static final int SYSZ_INS_CLGIJE = 92;
+ public static final int SYSZ_INS_CLGRJE = 93;
+ public static final int SYSZ_INS_CLIJE = 94;
+ public static final int SYSZ_INS_CLRJE = 95;
+ public static final int SYSZ_INS_CRJE = 96;
+ public static final int SYSZ_INS_CGIJNLE = 97;
+ public static final int SYSZ_INS_CGRJNLE = 98;
+ public static final int SYSZ_INS_CIJNLE = 99;
+ public static final int SYSZ_INS_CLGIJNLE = 100;
+ public static final int SYSZ_INS_CLGRJNLE = 101;
+ public static final int SYSZ_INS_CLIJNLE = 102;
+ public static final int SYSZ_INS_CLRJNLE = 103;
+ public static final int SYSZ_INS_CRJNLE = 104;
+ public static final int SYSZ_INS_CGIJH = 105;
+ public static final int SYSZ_INS_CGRJH = 106;
+ public static final int SYSZ_INS_CIJH = 107;
+ public static final int SYSZ_INS_CLGIJH = 108;
+ public static final int SYSZ_INS_CLGRJH = 109;
+ public static final int SYSZ_INS_CLIJH = 110;
+ public static final int SYSZ_INS_CLRJH = 111;
+ public static final int SYSZ_INS_CRJH = 112;
+ public static final int SYSZ_INS_CGIJNL = 113;
+ public static final int SYSZ_INS_CGRJNL = 114;
+ public static final int SYSZ_INS_CIJNL = 115;
+ public static final int SYSZ_INS_CLGIJNL = 116;
+ public static final int SYSZ_INS_CLGRJNL = 117;
+ public static final int SYSZ_INS_CLIJNL = 118;
+ public static final int SYSZ_INS_CLRJNL = 119;
+ public static final int SYSZ_INS_CRJNL = 120;
+ public static final int SYSZ_INS_CGIJHE = 121;
+ public static final int SYSZ_INS_CGRJHE = 122;
+ public static final int SYSZ_INS_CIJHE = 123;
+ public static final int SYSZ_INS_CLGIJHE = 124;
+ public static final int SYSZ_INS_CLGRJHE = 125;
+ public static final int SYSZ_INS_CLIJHE = 126;
+ public static final int SYSZ_INS_CLRJHE = 127;
+ public static final int SYSZ_INS_CRJHE = 128;
+ public static final int SYSZ_INS_CGIJNHE = 129;
+ public static final int SYSZ_INS_CGRJNHE = 130;
+ public static final int SYSZ_INS_CIJNHE = 131;
+ public static final int SYSZ_INS_CLGIJNHE = 132;
+ public static final int SYSZ_INS_CLGRJNHE = 133;
+ public static final int SYSZ_INS_CLIJNHE = 134;
+ public static final int SYSZ_INS_CLRJNHE = 135;
+ public static final int SYSZ_INS_CRJNHE = 136;
+ public static final int SYSZ_INS_CGIJL = 137;
+ public static final int SYSZ_INS_CGRJL = 138;
+ public static final int SYSZ_INS_CIJL = 139;
+ public static final int SYSZ_INS_CLGIJL = 140;
+ public static final int SYSZ_INS_CLGRJL = 141;
+ public static final int SYSZ_INS_CLIJL = 142;
+ public static final int SYSZ_INS_CLRJL = 143;
+ public static final int SYSZ_INS_CRJL = 144;
+ public static final int SYSZ_INS_CGIJNH = 145;
+ public static final int SYSZ_INS_CGRJNH = 146;
+ public static final int SYSZ_INS_CIJNH = 147;
+ public static final int SYSZ_INS_CLGIJNH = 148;
+ public static final int SYSZ_INS_CLGRJNH = 149;
+ public static final int SYSZ_INS_CLIJNH = 150;
+ public static final int SYSZ_INS_CLRJNH = 151;
+ public static final int SYSZ_INS_CRJNH = 152;
+ public static final int SYSZ_INS_CGIJLE = 153;
+ public static final int SYSZ_INS_CGRJLE = 154;
+ public static final int SYSZ_INS_CIJLE = 155;
+ public static final int SYSZ_INS_CLGIJLE = 156;
+ public static final int SYSZ_INS_CLGRJLE = 157;
+ public static final int SYSZ_INS_CLIJLE = 158;
+ public static final int SYSZ_INS_CLRJLE = 159;
+ public static final int SYSZ_INS_CRJLE = 160;
+ public static final int SYSZ_INS_CGIJNE = 161;
+ public static final int SYSZ_INS_CGRJNE = 162;
+ public static final int SYSZ_INS_CIJNE = 163;
+ public static final int SYSZ_INS_CLGIJNE = 164;
+ public static final int SYSZ_INS_CLGRJNE = 165;
+ public static final int SYSZ_INS_CLIJNE = 166;
+ public static final int SYSZ_INS_CLRJNE = 167;
+ public static final int SYSZ_INS_CRJNE = 168;
+ public static final int SYSZ_INS_CGIJLH = 169;
+ public static final int SYSZ_INS_CGRJLH = 170;
+ public static final int SYSZ_INS_CIJLH = 171;
+ public static final int SYSZ_INS_CLGIJLH = 172;
+ public static final int SYSZ_INS_CLGRJLH = 173;
+ public static final int SYSZ_INS_CLIJLH = 174;
+ public static final int SYSZ_INS_CLRJLH = 175;
+ public static final int SYSZ_INS_CRJLH = 176;
+ public static final int SYSZ_INS_BLR = 177;
+ public static final int SYSZ_INS_BLER = 178;
+ public static final int SYSZ_INS_JLE = 179;
+ public static final int SYSZ_INS_JGLE = 180;
+ public static final int SYSZ_INS_LOCLE = 181;
+ public static final int SYSZ_INS_LOCGLE = 182;
+ public static final int SYSZ_INS_LOCGRLE = 183;
+ public static final int SYSZ_INS_LOCRLE = 184;
+ public static final int SYSZ_INS_STOCLE = 185;
+ public static final int SYSZ_INS_STOCGLE = 186;
+ public static final int SYSZ_INS_BLHR = 187;
+ public static final int SYSZ_INS_JLH = 188;
+ public static final int SYSZ_INS_JGLH = 189;
+ public static final int SYSZ_INS_LOCLH = 190;
+ public static final int SYSZ_INS_LOCGLH = 191;
+ public static final int SYSZ_INS_LOCGRLH = 192;
+ public static final int SYSZ_INS_LOCRLH = 193;
+ public static final int SYSZ_INS_STOCLH = 194;
+ public static final int SYSZ_INS_STOCGLH = 195;
+ public static final int SYSZ_INS_JL = 196;
+ public static final int SYSZ_INS_JGL = 197;
+ public static final int SYSZ_INS_LOCL = 198;
+ public static final int SYSZ_INS_LOCGL = 199;
+ public static final int SYSZ_INS_LOCGRL = 200;
+ public static final int SYSZ_INS_LOCRL = 201;
+ public static final int SYSZ_INS_LOC = 202;
+ public static final int SYSZ_INS_LOCG = 203;
+ public static final int SYSZ_INS_LOCGR = 204;
+ public static final int SYSZ_INS_LOCR = 205;
+ public static final int SYSZ_INS_STOCL = 206;
+ public static final int SYSZ_INS_STOCGL = 207;
+ public static final int SYSZ_INS_BNER = 208;
+ public static final int SYSZ_INS_JNE = 209;
+ public static final int SYSZ_INS_JGNE = 210;
+ public static final int SYSZ_INS_LOCNE = 211;
+ public static final int SYSZ_INS_LOCGNE = 212;
+ public static final int SYSZ_INS_LOCGRNE = 213;
+ public static final int SYSZ_INS_LOCRNE = 214;
+ public static final int SYSZ_INS_STOCNE = 215;
+ public static final int SYSZ_INS_STOCGNE = 216;
+ public static final int SYSZ_INS_BNHR = 217;
+ public static final int SYSZ_INS_BNHER = 218;
+ public static final int SYSZ_INS_JNHE = 219;
+ public static final int SYSZ_INS_JGNHE = 220;
+ public static final int SYSZ_INS_LOCNHE = 221;
+ public static final int SYSZ_INS_LOCGNHE = 222;
+ public static final int SYSZ_INS_LOCGRNHE = 223;
+ public static final int SYSZ_INS_LOCRNHE = 224;
+ public static final int SYSZ_INS_STOCNHE = 225;
+ public static final int SYSZ_INS_STOCGNHE = 226;
+ public static final int SYSZ_INS_JNH = 227;
+ public static final int SYSZ_INS_JGNH = 228;
+ public static final int SYSZ_INS_LOCNH = 229;
+ public static final int SYSZ_INS_LOCGNH = 230;
+ public static final int SYSZ_INS_LOCGRNH = 231;
+ public static final int SYSZ_INS_LOCRNH = 232;
+ public static final int SYSZ_INS_STOCNH = 233;
+ public static final int SYSZ_INS_STOCGNH = 234;
+ public static final int SYSZ_INS_BNLR = 235;
+ public static final int SYSZ_INS_BNLER = 236;
+ public static final int SYSZ_INS_JNLE = 237;
+ public static final int SYSZ_INS_JGNLE = 238;
+ public static final int SYSZ_INS_LOCNLE = 239;
+ public static final int SYSZ_INS_LOCGNLE = 240;
+ public static final int SYSZ_INS_LOCGRNLE = 241;
+ public static final int SYSZ_INS_LOCRNLE = 242;
+ public static final int SYSZ_INS_STOCNLE = 243;
+ public static final int SYSZ_INS_STOCGNLE = 244;
+ public static final int SYSZ_INS_BNLHR = 245;
+ public static final int SYSZ_INS_JNLH = 246;
+ public static final int SYSZ_INS_JGNLH = 247;
+ public static final int SYSZ_INS_LOCNLH = 248;
+ public static final int SYSZ_INS_LOCGNLH = 249;
+ public static final int SYSZ_INS_LOCGRNLH = 250;
+ public static final int SYSZ_INS_LOCRNLH = 251;
+ public static final int SYSZ_INS_STOCNLH = 252;
+ public static final int SYSZ_INS_STOCGNLH = 253;
+ public static final int SYSZ_INS_JNL = 254;
+ public static final int SYSZ_INS_JGNL = 255;
+ public static final int SYSZ_INS_LOCNL = 256;
+ public static final int SYSZ_INS_LOCGNL = 257;
+ public static final int SYSZ_INS_LOCGRNL = 258;
+ public static final int SYSZ_INS_LOCRNL = 259;
+ public static final int SYSZ_INS_STOCNL = 260;
+ public static final int SYSZ_INS_STOCGNL = 261;
+ public static final int SYSZ_INS_BNOR = 262;
+ public static final int SYSZ_INS_JNO = 263;
+ public static final int SYSZ_INS_JGNO = 264;
+ public static final int SYSZ_INS_LOCNO = 265;
+ public static final int SYSZ_INS_LOCGNO = 266;
+ public static final int SYSZ_INS_LOCGRNO = 267;
+ public static final int SYSZ_INS_LOCRNO = 268;
+ public static final int SYSZ_INS_STOCNO = 269;
+ public static final int SYSZ_INS_STOCGNO = 270;
+ public static final int SYSZ_INS_BOR = 271;
+ public static final int SYSZ_INS_JO = 272;
+ public static final int SYSZ_INS_JGO = 273;
+ public static final int SYSZ_INS_LOCO = 274;
+ public static final int SYSZ_INS_LOCGO = 275;
+ public static final int SYSZ_INS_LOCGRO = 276;
+ public static final int SYSZ_INS_LOCRO = 277;
+ public static final int SYSZ_INS_STOCO = 278;
+ public static final int SYSZ_INS_STOCGO = 279;
+ public static final int SYSZ_INS_STOC = 280;
+ public static final int SYSZ_INS_STOCG = 281;
+ public static final int SYSZ_INS_BASR = 282;
+ public static final int SYSZ_INS_BR = 283;
+ public static final int SYSZ_INS_BRAS = 284;
+ public static final int SYSZ_INS_BRASL = 285;
+ public static final int SYSZ_INS_J = 286;
+ public static final int SYSZ_INS_JG = 287;
+ public static final int SYSZ_INS_BRCT = 288;
+ public static final int SYSZ_INS_BRCTG = 289;
+ public static final int SYSZ_INS_C = 290;
+ public static final int SYSZ_INS_CDB = 291;
+ public static final int SYSZ_INS_CDBR = 292;
+ public static final int SYSZ_INS_CDFBR = 293;
+ public static final int SYSZ_INS_CDGBR = 294;
+ public static final int SYSZ_INS_CDLFBR = 295;
+ public static final int SYSZ_INS_CDLGBR = 296;
+ public static final int SYSZ_INS_CEB = 297;
+ public static final int SYSZ_INS_CEBR = 298;
+ public static final int SYSZ_INS_CEFBR = 299;
+ public static final int SYSZ_INS_CEGBR = 300;
+ public static final int SYSZ_INS_CELFBR = 301;
+ public static final int SYSZ_INS_CELGBR = 302;
+ public static final int SYSZ_INS_CFDBR = 303;
+ public static final int SYSZ_INS_CFEBR = 304;
+ public static final int SYSZ_INS_CFI = 305;
+ public static final int SYSZ_INS_CFXBR = 306;
+ public static final int SYSZ_INS_CG = 307;
+ public static final int SYSZ_INS_CGDBR = 308;
+ public static final int SYSZ_INS_CGEBR = 309;
+ public static final int SYSZ_INS_CGF = 310;
+ public static final int SYSZ_INS_CGFI = 311;
+ public static final int SYSZ_INS_CGFR = 312;
+ public static final int SYSZ_INS_CGFRL = 313;
+ public static final int SYSZ_INS_CGH = 314;
+ public static final int SYSZ_INS_CGHI = 315;
+ public static final int SYSZ_INS_CGHRL = 316;
+ public static final int SYSZ_INS_CGHSI = 317;
+ public static final int SYSZ_INS_CGR = 318;
+ public static final int SYSZ_INS_CGRL = 319;
+ public static final int SYSZ_INS_CGXBR = 320;
+ public static final int SYSZ_INS_CH = 321;
+ public static final int SYSZ_INS_CHF = 322;
+ public static final int SYSZ_INS_CHHSI = 323;
+ public static final int SYSZ_INS_CHI = 324;
+ public static final int SYSZ_INS_CHRL = 325;
+ public static final int SYSZ_INS_CHSI = 326;
+ public static final int SYSZ_INS_CHY = 327;
+ public static final int SYSZ_INS_CIH = 328;
+ public static final int SYSZ_INS_CL = 329;
+ public static final int SYSZ_INS_CLC = 330;
+ public static final int SYSZ_INS_CLFDBR = 331;
+ public static final int SYSZ_INS_CLFEBR = 332;
+ public static final int SYSZ_INS_CLFHSI = 333;
+ public static final int SYSZ_INS_CLFI = 334;
+ public static final int SYSZ_INS_CLFXBR = 335;
+ public static final int SYSZ_INS_CLG = 336;
+ public static final int SYSZ_INS_CLGDBR = 337;
+ public static final int SYSZ_INS_CLGEBR = 338;
+ public static final int SYSZ_INS_CLGF = 339;
+ public static final int SYSZ_INS_CLGFI = 340;
+ public static final int SYSZ_INS_CLGFR = 341;
+ public static final int SYSZ_INS_CLGFRL = 342;
+ public static final int SYSZ_INS_CLGHRL = 343;
+ public static final int SYSZ_INS_CLGHSI = 344;
+ public static final int SYSZ_INS_CLGR = 345;
+ public static final int SYSZ_INS_CLGRL = 346;
+ public static final int SYSZ_INS_CLGXBR = 347;
+ public static final int SYSZ_INS_CLHF = 348;
+ public static final int SYSZ_INS_CLHHSI = 349;
+ public static final int SYSZ_INS_CLHRL = 350;
+ public static final int SYSZ_INS_CLI = 351;
+ public static final int SYSZ_INS_CLIH = 352;
+ public static final int SYSZ_INS_CLIY = 353;
+ public static final int SYSZ_INS_CLR = 354;
+ public static final int SYSZ_INS_CLRL = 355;
+ public static final int SYSZ_INS_CLST = 356;
+ public static final int SYSZ_INS_CLY = 357;
+ public static final int SYSZ_INS_CPSDR = 358;
+ public static final int SYSZ_INS_CR = 359;
+ public static final int SYSZ_INS_CRL = 360;
+ public static final int SYSZ_INS_CS = 361;
+ public static final int SYSZ_INS_CSG = 362;
+ public static final int SYSZ_INS_CSY = 363;
+ public static final int SYSZ_INS_CXBR = 364;
+ public static final int SYSZ_INS_CXFBR = 365;
+ public static final int SYSZ_INS_CXGBR = 366;
+ public static final int SYSZ_INS_CXLFBR = 367;
+ public static final int SYSZ_INS_CXLGBR = 368;
+ public static final int SYSZ_INS_CY = 369;
+ public static final int SYSZ_INS_DDB = 370;
+ public static final int SYSZ_INS_DDBR = 371;
+ public static final int SYSZ_INS_DEB = 372;
+ public static final int SYSZ_INS_DEBR = 373;
+ public static final int SYSZ_INS_DL = 374;
+ public static final int SYSZ_INS_DLG = 375;
+ public static final int SYSZ_INS_DLGR = 376;
+ public static final int SYSZ_INS_DLR = 377;
+ public static final int SYSZ_INS_DSG = 378;
+ public static final int SYSZ_INS_DSGF = 379;
+ public static final int SYSZ_INS_DSGFR = 380;
+ public static final int SYSZ_INS_DSGR = 381;
+ public static final int SYSZ_INS_DXBR = 382;
+ public static final int SYSZ_INS_EAR = 383;
+ public static final int SYSZ_INS_FIDBR = 384;
+ public static final int SYSZ_INS_FIDBRA = 385;
+ public static final int SYSZ_INS_FIEBR = 386;
+ public static final int SYSZ_INS_FIEBRA = 387;
+ public static final int SYSZ_INS_FIXBR = 388;
+ public static final int SYSZ_INS_FIXBRA = 389;
+ public static final int SYSZ_INS_FLOGR = 390;
+ public static final int SYSZ_INS_IC = 391;
+ public static final int SYSZ_INS_ICY = 392;
+ public static final int SYSZ_INS_IIHF = 393;
+ public static final int SYSZ_INS_IIHH = 394;
+ public static final int SYSZ_INS_IIHL = 395;
+ public static final int SYSZ_INS_IILF = 396;
+ public static final int SYSZ_INS_IILH = 397;
+ public static final int SYSZ_INS_IILL = 398;
+ public static final int SYSZ_INS_IPM = 399;
+ public static final int SYSZ_INS_L = 400;
+ public static final int SYSZ_INS_LA = 401;
+ public static final int SYSZ_INS_LAA = 402;
+ public static final int SYSZ_INS_LAAG = 403;
+ public static final int SYSZ_INS_LAAL = 404;
+ public static final int SYSZ_INS_LAALG = 405;
+ public static final int SYSZ_INS_LAN = 406;
+ public static final int SYSZ_INS_LANG = 407;
+ public static final int SYSZ_INS_LAO = 408;
+ public static final int SYSZ_INS_LAOG = 409;
+ public static final int SYSZ_INS_LARL = 410;
+ public static final int SYSZ_INS_LAX = 411;
+ public static final int SYSZ_INS_LAXG = 412;
+ public static final int SYSZ_INS_LAY = 413;
+ public static final int SYSZ_INS_LB = 414;
+ public static final int SYSZ_INS_LBH = 415;
+ public static final int SYSZ_INS_LBR = 416;
+ public static final int SYSZ_INS_LCDBR = 417;
+ public static final int SYSZ_INS_LCEBR = 418;
+ public static final int SYSZ_INS_LCGFR = 419;
+ public static final int SYSZ_INS_LCGR = 420;
+ public static final int SYSZ_INS_LCR = 421;
+ public static final int SYSZ_INS_LCXBR = 422;
+ public static final int SYSZ_INS_LD = 423;
+ public static final int SYSZ_INS_LDEB = 424;
+ public static final int SYSZ_INS_LDEBR = 425;
+ public static final int SYSZ_INS_LDGR = 426;
+ public static final int SYSZ_INS_LDR = 427;
+ public static final int SYSZ_INS_LDXBR = 428;
+ public static final int SYSZ_INS_LDXBRA = 429;
+ public static final int SYSZ_INS_LDY = 430;
+ public static final int SYSZ_INS_LE = 431;
+ public static final int SYSZ_INS_LEDBR = 432;
+ public static final int SYSZ_INS_LEDBRA = 433;
+ public static final int SYSZ_INS_LER = 434;
+ public static final int SYSZ_INS_LEXBR = 435;
+ public static final int SYSZ_INS_LEXBRA = 436;
+ public static final int SYSZ_INS_LEY = 437;
+ public static final int SYSZ_INS_LFH = 438;
+ public static final int SYSZ_INS_LG = 439;
+ public static final int SYSZ_INS_LGB = 440;
+ public static final int SYSZ_INS_LGBR = 441;
+ public static final int SYSZ_INS_LGDR = 442;
+ public static final int SYSZ_INS_LGF = 443;
+ public static final int SYSZ_INS_LGFI = 444;
+ public static final int SYSZ_INS_LGFR = 445;
+ public static final int SYSZ_INS_LGFRL = 446;
+ public static final int SYSZ_INS_LGH = 447;
+ public static final int SYSZ_INS_LGHI = 448;
+ public static final int SYSZ_INS_LGHR = 449;
+ public static final int SYSZ_INS_LGHRL = 450;
+ public static final int SYSZ_INS_LGR = 451;
+ public static final int SYSZ_INS_LGRL = 452;
+ public static final int SYSZ_INS_LH = 453;
+ public static final int SYSZ_INS_LHH = 454;
+ public static final int SYSZ_INS_LHI = 455;
+ public static final int SYSZ_INS_LHR = 456;
+ public static final int SYSZ_INS_LHRL = 457;
+ public static final int SYSZ_INS_LHY = 458;
+ public static final int SYSZ_INS_LLC = 459;
+ public static final int SYSZ_INS_LLCH = 460;
+ public static final int SYSZ_INS_LLCR = 461;
+ public static final int SYSZ_INS_LLGC = 462;
+ public static final int SYSZ_INS_LLGCR = 463;
+ public static final int SYSZ_INS_LLGF = 464;
+ public static final int SYSZ_INS_LLGFR = 465;
+ public static final int SYSZ_INS_LLGFRL = 466;
+ public static final int SYSZ_INS_LLGH = 467;
+ public static final int SYSZ_INS_LLGHR = 468;
+ public static final int SYSZ_INS_LLGHRL = 469;
+ public static final int SYSZ_INS_LLH = 470;
+ public static final int SYSZ_INS_LLHH = 471;
+ public static final int SYSZ_INS_LLHR = 472;
+ public static final int SYSZ_INS_LLHRL = 473;
+ public static final int SYSZ_INS_LLIHF = 474;
+ public static final int SYSZ_INS_LLIHH = 475;
+ public static final int SYSZ_INS_LLIHL = 476;
+ public static final int SYSZ_INS_LLILF = 477;
+ public static final int SYSZ_INS_LLILH = 478;
+ public static final int SYSZ_INS_LLILL = 479;
+ public static final int SYSZ_INS_LMG = 480;
+ public static final int SYSZ_INS_LNDBR = 481;
+ public static final int SYSZ_INS_LNEBR = 482;
+ public static final int SYSZ_INS_LNGFR = 483;
+ public static final int SYSZ_INS_LNGR = 484;
+ public static final int SYSZ_INS_LNR = 485;
+ public static final int SYSZ_INS_LNXBR = 486;
+ public static final int SYSZ_INS_LPDBR = 487;
+ public static final int SYSZ_INS_LPEBR = 488;
+ public static final int SYSZ_INS_LPGFR = 489;
+ public static final int SYSZ_INS_LPGR = 490;
+ public static final int SYSZ_INS_LPR = 491;
+ public static final int SYSZ_INS_LPXBR = 492;
+ public static final int SYSZ_INS_LR = 493;
+ public static final int SYSZ_INS_LRL = 494;
+ public static final int SYSZ_INS_LRV = 495;
+ public static final int SYSZ_INS_LRVG = 496;
+ public static final int SYSZ_INS_LRVGR = 497;
+ public static final int SYSZ_INS_LRVR = 498;
+ public static final int SYSZ_INS_LT = 499;
+ public static final int SYSZ_INS_LTDBR = 500;
+ public static final int SYSZ_INS_LTEBR = 501;
+ public static final int SYSZ_INS_LTG = 502;
+ public static final int SYSZ_INS_LTGF = 503;
+ public static final int SYSZ_INS_LTGFR = 504;
+ public static final int SYSZ_INS_LTGR = 505;
+ public static final int SYSZ_INS_LTR = 506;
+ public static final int SYSZ_INS_LTXBR = 507;
+ public static final int SYSZ_INS_LXDB = 508;
+ public static final int SYSZ_INS_LXDBR = 509;
+ public static final int SYSZ_INS_LXEB = 510;
+ public static final int SYSZ_INS_LXEBR = 511;
+ public static final int SYSZ_INS_LXR = 512;
+ public static final int SYSZ_INS_LY = 513;
+ public static final int SYSZ_INS_LZDR = 514;
+ public static final int SYSZ_INS_LZER = 515;
+ public static final int SYSZ_INS_LZXR = 516;
+ public static final int SYSZ_INS_MADB = 517;
+ public static final int SYSZ_INS_MADBR = 518;
+ public static final int SYSZ_INS_MAEB = 519;
+ public static final int SYSZ_INS_MAEBR = 520;
+ public static final int SYSZ_INS_MDB = 521;
+ public static final int SYSZ_INS_MDBR = 522;
+ public static final int SYSZ_INS_MDEB = 523;
+ public static final int SYSZ_INS_MDEBR = 524;
+ public static final int SYSZ_INS_MEEB = 525;
+ public static final int SYSZ_INS_MEEBR = 526;
+ public static final int SYSZ_INS_MGHI = 527;
+ public static final int SYSZ_INS_MH = 528;
+ public static final int SYSZ_INS_MHI = 529;
+ public static final int SYSZ_INS_MHY = 530;
+ public static final int SYSZ_INS_MLG = 531;
+ public static final int SYSZ_INS_MLGR = 532;
+ public static final int SYSZ_INS_MS = 533;
+ public static final int SYSZ_INS_MSDB = 534;
+ public static final int SYSZ_INS_MSDBR = 535;
+ public static final int SYSZ_INS_MSEB = 536;
+ public static final int SYSZ_INS_MSEBR = 537;
+ public static final int SYSZ_INS_MSFI = 538;
+ public static final int SYSZ_INS_MSG = 539;
+ public static final int SYSZ_INS_MSGF = 540;
+ public static final int SYSZ_INS_MSGFI = 541;
+ public static final int SYSZ_INS_MSGFR = 542;
+ public static final int SYSZ_INS_MSGR = 543;
+ public static final int SYSZ_INS_MSR = 544;
+ public static final int SYSZ_INS_MSY = 545;
+ public static final int SYSZ_INS_MVC = 546;
+ public static final int SYSZ_INS_MVGHI = 547;
+ public static final int SYSZ_INS_MVHHI = 548;
+ public static final int SYSZ_INS_MVHI = 549;
+ public static final int SYSZ_INS_MVI = 550;
+ public static final int SYSZ_INS_MVIY = 551;
+ public static final int SYSZ_INS_MVST = 552;
+ public static final int SYSZ_INS_MXBR = 553;
+ public static final int SYSZ_INS_MXDB = 554;
+ public static final int SYSZ_INS_MXDBR = 555;
+ public static final int SYSZ_INS_N = 556;
+ public static final int SYSZ_INS_NC = 557;
+ public static final int SYSZ_INS_NG = 558;
+ public static final int SYSZ_INS_NGR = 559;
+ public static final int SYSZ_INS_NGRK = 560;
+ public static final int SYSZ_INS_NI = 561;
+ public static final int SYSZ_INS_NIHF = 562;
+ public static final int SYSZ_INS_NIHH = 563;
+ public static final int SYSZ_INS_NIHL = 564;
+ public static final int SYSZ_INS_NILF = 565;
+ public static final int SYSZ_INS_NILH = 566;
+ public static final int SYSZ_INS_NILL = 567;
+ public static final int SYSZ_INS_NIY = 568;
+ public static final int SYSZ_INS_NR = 569;
+ public static final int SYSZ_INS_NRK = 570;
+ public static final int SYSZ_INS_NY = 571;
+ public static final int SYSZ_INS_O = 572;
+ public static final int SYSZ_INS_OC = 573;
+ public static final int SYSZ_INS_OG = 574;
+ public static final int SYSZ_INS_OGR = 575;
+ public static final int SYSZ_INS_OGRK = 576;
+ public static final int SYSZ_INS_OI = 577;
+ public static final int SYSZ_INS_OIHF = 578;
+ public static final int SYSZ_INS_OIHH = 579;
+ public static final int SYSZ_INS_OIHL = 580;
+ public static final int SYSZ_INS_OILF = 581;
+ public static final int SYSZ_INS_OILH = 582;
+ public static final int SYSZ_INS_OILL = 583;
+ public static final int SYSZ_INS_OIY = 584;
+ public static final int SYSZ_INS_OR = 585;
+ public static final int SYSZ_INS_ORK = 586;
+ public static final int SYSZ_INS_OY = 587;
+ public static final int SYSZ_INS_PFD = 588;
+ public static final int SYSZ_INS_PFDRL = 589;
+ public static final int SYSZ_INS_RISBG = 590;
+ public static final int SYSZ_INS_RISBHG = 591;
+ public static final int SYSZ_INS_RISBLG = 592;
+ public static final int SYSZ_INS_RLL = 593;
+ public static final int SYSZ_INS_RLLG = 594;
+ public static final int SYSZ_INS_RNSBG = 595;
+ public static final int SYSZ_INS_ROSBG = 596;
+ public static final int SYSZ_INS_RXSBG = 597;
+ public static final int SYSZ_INS_S = 598;
+ public static final int SYSZ_INS_SDB = 599;
+ public static final int SYSZ_INS_SDBR = 600;
+ public static final int SYSZ_INS_SEB = 601;
+ public static final int SYSZ_INS_SEBR = 602;
+ public static final int SYSZ_INS_SG = 603;
+ public static final int SYSZ_INS_SGF = 604;
+ public static final int SYSZ_INS_SGFR = 605;
+ public static final int SYSZ_INS_SGR = 606;
+ public static final int SYSZ_INS_SGRK = 607;
+ public static final int SYSZ_INS_SH = 608;
+ public static final int SYSZ_INS_SHY = 609;
+ public static final int SYSZ_INS_SL = 610;
+ public static final int SYSZ_INS_SLB = 611;
+ public static final int SYSZ_INS_SLBG = 612;
+ public static final int SYSZ_INS_SLBR = 613;
+ public static final int SYSZ_INS_SLFI = 614;
+ public static final int SYSZ_INS_SLG = 615;
+ public static final int SYSZ_INS_SLBGR = 616;
+ public static final int SYSZ_INS_SLGF = 617;
+ public static final int SYSZ_INS_SLGFI = 618;
+ public static final int SYSZ_INS_SLGFR = 619;
+ public static final int SYSZ_INS_SLGR = 620;
+ public static final int SYSZ_INS_SLGRK = 621;
+ public static final int SYSZ_INS_SLL = 622;
+ public static final int SYSZ_INS_SLLG = 623;
+ public static final int SYSZ_INS_SLLK = 624;
+ public static final int SYSZ_INS_SLR = 625;
+ public static final int SYSZ_INS_SLRK = 626;
+ public static final int SYSZ_INS_SLY = 627;
+ public static final int SYSZ_INS_SQDB = 628;
+ public static final int SYSZ_INS_SQDBR = 629;
+ public static final int SYSZ_INS_SQEB = 630;
+ public static final int SYSZ_INS_SQEBR = 631;
+ public static final int SYSZ_INS_SQXBR = 632;
+ public static final int SYSZ_INS_SR = 633;
+ public static final int SYSZ_INS_SRA = 634;
+ public static final int SYSZ_INS_SRAG = 635;
+ public static final int SYSZ_INS_SRAK = 636;
+ public static final int SYSZ_INS_SRK = 637;
+ public static final int SYSZ_INS_SRL = 638;
+ public static final int SYSZ_INS_SRLG = 639;
+ public static final int SYSZ_INS_SRLK = 640;
+ public static final int SYSZ_INS_SRST = 641;
+ public static final int SYSZ_INS_ST = 642;
+ public static final int SYSZ_INS_STC = 643;
+ public static final int SYSZ_INS_STCH = 644;
+ public static final int SYSZ_INS_STCY = 645;
+ public static final int SYSZ_INS_STD = 646;
+ public static final int SYSZ_INS_STDY = 647;
+ public static final int SYSZ_INS_STE = 648;
+ public static final int SYSZ_INS_STEY = 649;
+ public static final int SYSZ_INS_STFH = 650;
+ public static final int SYSZ_INS_STG = 651;
+ public static final int SYSZ_INS_STGRL = 652;
+ public static final int SYSZ_INS_STH = 653;
+ public static final int SYSZ_INS_STHH = 654;
+ public static final int SYSZ_INS_STHRL = 655;
+ public static final int SYSZ_INS_STHY = 656;
+ public static final int SYSZ_INS_STMG = 657;
+ public static final int SYSZ_INS_STRL = 658;
+ public static final int SYSZ_INS_STRV = 659;
+ public static final int SYSZ_INS_STRVG = 660;
+ public static final int SYSZ_INS_STY = 661;
+ public static final int SYSZ_INS_SXBR = 662;
+ public static final int SYSZ_INS_SY = 663;
+ public static final int SYSZ_INS_TM = 664;
+ public static final int SYSZ_INS_TMHH = 665;
+ public static final int SYSZ_INS_TMHL = 666;
+ public static final int SYSZ_INS_TMLH = 667;
+ public static final int SYSZ_INS_TMLL = 668;
+ public static final int SYSZ_INS_TMY = 669;
+ public static final int SYSZ_INS_X = 670;
+ public static final int SYSZ_INS_XC = 671;
+ public static final int SYSZ_INS_XG = 672;
+ public static final int SYSZ_INS_XGR = 673;
+ public static final int SYSZ_INS_XGRK = 674;
+ public static final int SYSZ_INS_XI = 675;
+ public static final int SYSZ_INS_XIHF = 676;
+ public static final int SYSZ_INS_XILF = 677;
+ public static final int SYSZ_INS_XIY = 678;
+ public static final int SYSZ_INS_XR = 679;
+ public static final int SYSZ_INS_XRK = 680;
+ public static final int SYSZ_INS_XY = 681;
+ public static final int SYSZ_INS_AD = 682;
+ public static final int SYSZ_INS_ADR = 683;
+ public static final int SYSZ_INS_ADTR = 684;
+ public static final int SYSZ_INS_ADTRA = 685;
+ public static final int SYSZ_INS_AE = 686;
+ public static final int SYSZ_INS_AER = 687;
+ public static final int SYSZ_INS_AGH = 688;
+ public static final int SYSZ_INS_AHHHR = 689;
+ public static final int SYSZ_INS_AHHLR = 690;
+ public static final int SYSZ_INS_ALGSI = 691;
+ public static final int SYSZ_INS_ALHHHR = 692;
+ public static final int SYSZ_INS_ALHHLR = 693;
+ public static final int SYSZ_INS_ALSI = 694;
+ public static final int SYSZ_INS_ALSIH = 695;
+ public static final int SYSZ_INS_ALSIHN = 696;
+ public static final int SYSZ_INS_AP = 697;
+ public static final int SYSZ_INS_AU = 698;
+ public static final int SYSZ_INS_AUR = 699;
+ public static final int SYSZ_INS_AW = 700;
+ public static final int SYSZ_INS_AWR = 701;
+ public static final int SYSZ_INS_AXR = 702;
+ public static final int SYSZ_INS_AXTR = 703;
+ public static final int SYSZ_INS_AXTRA = 704;
+ public static final int SYSZ_INS_B = 705;
+ public static final int SYSZ_INS_BAKR = 706;
+ public static final int SYSZ_INS_BAL = 707;
+ public static final int SYSZ_INS_BALR = 708;
+ public static final int SYSZ_INS_BAS = 709;
+ public static final int SYSZ_INS_BASSM = 710;
+ public static final int SYSZ_INS_BC = 711;
+ public static final int SYSZ_INS_BCT = 712;
+ public static final int SYSZ_INS_BCTG = 713;
+ public static final int SYSZ_INS_BCTGR = 714;
+ public static final int SYSZ_INS_BCTR = 715;
+ public static final int SYSZ_INS_BE = 716;
+ public static final int SYSZ_INS_BH = 717;
+ public static final int SYSZ_INS_BHE = 718;
+ public static final int SYSZ_INS_BI = 719;
+ public static final int SYSZ_INS_BIC = 720;
+ public static final int SYSZ_INS_BIE = 721;
+ public static final int SYSZ_INS_BIH = 722;
+ public static final int SYSZ_INS_BIHE = 723;
+ public static final int SYSZ_INS_BIL = 724;
+ public static final int SYSZ_INS_BILE = 725;
+ public static final int SYSZ_INS_BILH = 726;
+ public static final int SYSZ_INS_BIM = 727;
+ public static final int SYSZ_INS_BINE = 728;
+ public static final int SYSZ_INS_BINH = 729;
+ public static final int SYSZ_INS_BINHE = 730;
+ public static final int SYSZ_INS_BINL = 731;
+ public static final int SYSZ_INS_BINLE = 732;
+ public static final int SYSZ_INS_BINLH = 733;
+ public static final int SYSZ_INS_BINM = 734;
+ public static final int SYSZ_INS_BINO = 735;
+ public static final int SYSZ_INS_BINP = 736;
+ public static final int SYSZ_INS_BINZ = 737;
+ public static final int SYSZ_INS_BIO = 738;
+ public static final int SYSZ_INS_BIP = 739;
+ public static final int SYSZ_INS_BIZ = 740;
+ public static final int SYSZ_INS_BL = 741;
+ public static final int SYSZ_INS_BLE = 742;
+ public static final int SYSZ_INS_BLH = 743;
+ public static final int SYSZ_INS_BM = 744;
+ public static final int SYSZ_INS_BMR = 745;
+ public static final int SYSZ_INS_BNE = 746;
+ public static final int SYSZ_INS_BNH = 747;
+ public static final int SYSZ_INS_BNHE = 748;
+ public static final int SYSZ_INS_BNL = 749;
+ public static final int SYSZ_INS_BNLE = 750;
+ public static final int SYSZ_INS_BNLH = 751;
+ public static final int SYSZ_INS_BNM = 752;
+ public static final int SYSZ_INS_BNMR = 753;
+ public static final int SYSZ_INS_BNO = 754;
+ public static final int SYSZ_INS_BNP = 755;
+ public static final int SYSZ_INS_BNPR = 756;
+ public static final int SYSZ_INS_BNZ = 757;
+ public static final int SYSZ_INS_BNZR = 758;
+ public static final int SYSZ_INS_BO = 759;
+ public static final int SYSZ_INS_BP = 760;
+ public static final int SYSZ_INS_BPP = 761;
+ public static final int SYSZ_INS_BPR = 762;
+ public static final int SYSZ_INS_BPRP = 763;
+ public static final int SYSZ_INS_BRCTH = 764;
+ public static final int SYSZ_INS_BRXH = 765;
+ public static final int SYSZ_INS_BRXHG = 766;
+ public static final int SYSZ_INS_BRXLE = 767;
+ public static final int SYSZ_INS_BRXLG = 768;
+ public static final int SYSZ_INS_BSA = 769;
+ public static final int SYSZ_INS_BSG = 770;
+ public static final int SYSZ_INS_BSM = 771;
+ public static final int SYSZ_INS_BXH = 772;
+ public static final int SYSZ_INS_BXHG = 773;
+ public static final int SYSZ_INS_BXLE = 774;
+ public static final int SYSZ_INS_BXLEG = 775;
+ public static final int SYSZ_INS_BZ = 776;
+ public static final int SYSZ_INS_BZR = 777;
+ public static final int SYSZ_INS_CD = 778;
+ public static final int SYSZ_INS_CDFBRA = 779;
+ public static final int SYSZ_INS_CDFR = 780;
+ public static final int SYSZ_INS_CDFTR = 781;
+ public static final int SYSZ_INS_CDGBRA = 782;
+ public static final int SYSZ_INS_CDGR = 783;
+ public static final int SYSZ_INS_CDGTR = 784;
+ public static final int SYSZ_INS_CDGTRA = 785;
+ public static final int SYSZ_INS_CDLFTR = 786;
+ public static final int SYSZ_INS_CDLGTR = 787;
+ public static final int SYSZ_INS_CDPT = 788;
+ public static final int SYSZ_INS_CDR = 789;
+ public static final int SYSZ_INS_CDS = 790;
+ public static final int SYSZ_INS_CDSG = 791;
+ public static final int SYSZ_INS_CDSTR = 792;
+ public static final int SYSZ_INS_CDSY = 793;
+ public static final int SYSZ_INS_CDTR = 794;
+ public static final int SYSZ_INS_CDUTR = 795;
+ public static final int SYSZ_INS_CDZT = 796;
+ public static final int SYSZ_INS_CE = 797;
+ public static final int SYSZ_INS_CEDTR = 798;
+ public static final int SYSZ_INS_CEFBRA = 799;
+ public static final int SYSZ_INS_CEFR = 800;
+ public static final int SYSZ_INS_CEGBRA = 801;
+ public static final int SYSZ_INS_CEGR = 802;
+ public static final int SYSZ_INS_CER = 803;
+ public static final int SYSZ_INS_CEXTR = 804;
+ public static final int SYSZ_INS_CFC = 805;
+ public static final int SYSZ_INS_CFDBRA = 806;
+ public static final int SYSZ_INS_CFDR = 807;
+ public static final int SYSZ_INS_CFDTR = 808;
+ public static final int SYSZ_INS_CFEBRA = 809;
+ public static final int SYSZ_INS_CFER = 810;
+ public static final int SYSZ_INS_CFXBRA = 811;
+ public static final int SYSZ_INS_CFXR = 812;
+ public static final int SYSZ_INS_CFXTR = 813;
+ public static final int SYSZ_INS_CGDBRA = 814;
+ public static final int SYSZ_INS_CGDR = 815;
+ public static final int SYSZ_INS_CGDTR = 816;
+ public static final int SYSZ_INS_CGDTRA = 817;
+ public static final int SYSZ_INS_CGEBRA = 818;
+ public static final int SYSZ_INS_CGER = 819;
+ public static final int SYSZ_INS_CGIB = 820;
+ public static final int SYSZ_INS_CGIBE = 821;
+ public static final int SYSZ_INS_CGIBH = 822;
+ public static final int SYSZ_INS_CGIBHE = 823;
+ public static final int SYSZ_INS_CGIBL = 824;
+ public static final int SYSZ_INS_CGIBLE = 825;
+ public static final int SYSZ_INS_CGIBLH = 826;
+ public static final int SYSZ_INS_CGIBNE = 827;
+ public static final int SYSZ_INS_CGIBNH = 828;
+ public static final int SYSZ_INS_CGIBNHE = 829;
+ public static final int SYSZ_INS_CGIBNL = 830;
+ public static final int SYSZ_INS_CGIBNLE = 831;
+ public static final int SYSZ_INS_CGIBNLH = 832;
+ public static final int SYSZ_INS_CGIT = 833;
+ public static final int SYSZ_INS_CGITE = 834;
+ public static final int SYSZ_INS_CGITH = 835;
+ public static final int SYSZ_INS_CGITHE = 836;
+ public static final int SYSZ_INS_CGITL = 837;
+ public static final int SYSZ_INS_CGITLE = 838;
+ public static final int SYSZ_INS_CGITLH = 839;
+ public static final int SYSZ_INS_CGITNE = 840;
+ public static final int SYSZ_INS_CGITNH = 841;
+ public static final int SYSZ_INS_CGITNHE = 842;
+ public static final int SYSZ_INS_CGITNL = 843;
+ public static final int SYSZ_INS_CGITNLE = 844;
+ public static final int SYSZ_INS_CGITNLH = 845;
+ public static final int SYSZ_INS_CGRB = 846;
+ public static final int SYSZ_INS_CGRBE = 847;
+ public static final int SYSZ_INS_CGRBH = 848;
+ public static final int SYSZ_INS_CGRBHE = 849;
+ public static final int SYSZ_INS_CGRBL = 850;
+ public static final int SYSZ_INS_CGRBLE = 851;
+ public static final int SYSZ_INS_CGRBLH = 852;
+ public static final int SYSZ_INS_CGRBNE = 853;
+ public static final int SYSZ_INS_CGRBNH = 854;
+ public static final int SYSZ_INS_CGRBNHE = 855;
+ public static final int SYSZ_INS_CGRBNL = 856;
+ public static final int SYSZ_INS_CGRBNLE = 857;
+ public static final int SYSZ_INS_CGRBNLH = 858;
+ public static final int SYSZ_INS_CGRT = 859;
+ public static final int SYSZ_INS_CGRTE = 860;
+ public static final int SYSZ_INS_CGRTH = 861;
+ public static final int SYSZ_INS_CGRTHE = 862;
+ public static final int SYSZ_INS_CGRTL = 863;
+ public static final int SYSZ_INS_CGRTLE = 864;
+ public static final int SYSZ_INS_CGRTLH = 865;
+ public static final int SYSZ_INS_CGRTNE = 866;
+ public static final int SYSZ_INS_CGRTNH = 867;
+ public static final int SYSZ_INS_CGRTNHE = 868;
+ public static final int SYSZ_INS_CGRTNL = 869;
+ public static final int SYSZ_INS_CGRTNLE = 870;
+ public static final int SYSZ_INS_CGRTNLH = 871;
+ public static final int SYSZ_INS_CGXBRA = 872;
+ public static final int SYSZ_INS_CGXR = 873;
+ public static final int SYSZ_INS_CGXTR = 874;
+ public static final int SYSZ_INS_CGXTRA = 875;
+ public static final int SYSZ_INS_CHHR = 876;
+ public static final int SYSZ_INS_CHLR = 877;
+ public static final int SYSZ_INS_CIB = 878;
+ public static final int SYSZ_INS_CIBE = 879;
+ public static final int SYSZ_INS_CIBH = 880;
+ public static final int SYSZ_INS_CIBHE = 881;
+ public static final int SYSZ_INS_CIBL = 882;
+ public static final int SYSZ_INS_CIBLE = 883;
+ public static final int SYSZ_INS_CIBLH = 884;
+ public static final int SYSZ_INS_CIBNE = 885;
+ public static final int SYSZ_INS_CIBNH = 886;
+ public static final int SYSZ_INS_CIBNHE = 887;
+ public static final int SYSZ_INS_CIBNL = 888;
+ public static final int SYSZ_INS_CIBNLE = 889;
+ public static final int SYSZ_INS_CIBNLH = 890;
+ public static final int SYSZ_INS_CIT = 891;
+ public static final int SYSZ_INS_CITE = 892;
+ public static final int SYSZ_INS_CITH = 893;
+ public static final int SYSZ_INS_CITHE = 894;
+ public static final int SYSZ_INS_CITL = 895;
+ public static final int SYSZ_INS_CITLE = 896;
+ public static final int SYSZ_INS_CITLH = 897;
+ public static final int SYSZ_INS_CITNE = 898;
+ public static final int SYSZ_INS_CITNH = 899;
+ public static final int SYSZ_INS_CITNHE = 900;
+ public static final int SYSZ_INS_CITNL = 901;
+ public static final int SYSZ_INS_CITNLE = 902;
+ public static final int SYSZ_INS_CITNLH = 903;
+ public static final int SYSZ_INS_CKSM = 904;
+ public static final int SYSZ_INS_CLCL = 905;
+ public static final int SYSZ_INS_CLCLE = 906;
+ public static final int SYSZ_INS_CLCLU = 907;
+ public static final int SYSZ_INS_CLFDTR = 908;
+ public static final int SYSZ_INS_CLFIT = 909;
+ public static final int SYSZ_INS_CLFITE = 910;
+ public static final int SYSZ_INS_CLFITH = 911;
+ public static final int SYSZ_INS_CLFITHE = 912;
+ public static final int SYSZ_INS_CLFITL = 913;
+ public static final int SYSZ_INS_CLFITLE = 914;
+ public static final int SYSZ_INS_CLFITLH = 915;
+ public static final int SYSZ_INS_CLFITNE = 916;
+ public static final int SYSZ_INS_CLFITNH = 917;
+ public static final int SYSZ_INS_CLFITNHE = 918;
+ public static final int SYSZ_INS_CLFITNL = 919;
+ public static final int SYSZ_INS_CLFITNLE = 920;
+ public static final int SYSZ_INS_CLFITNLH = 921;
+ public static final int SYSZ_INS_CLFXTR = 922;
+ public static final int SYSZ_INS_CLGDTR = 923;
+ public static final int SYSZ_INS_CLGIB = 924;
+ public static final int SYSZ_INS_CLGIBE = 925;
+ public static final int SYSZ_INS_CLGIBH = 926;
+ public static final int SYSZ_INS_CLGIBHE = 927;
+ public static final int SYSZ_INS_CLGIBL = 928;
+ public static final int SYSZ_INS_CLGIBLE = 929;
+ public static final int SYSZ_INS_CLGIBLH = 930;
+ public static final int SYSZ_INS_CLGIBNE = 931;
+ public static final int SYSZ_INS_CLGIBNH = 932;
+ public static final int SYSZ_INS_CLGIBNHE = 933;
+ public static final int SYSZ_INS_CLGIBNL = 934;
+ public static final int SYSZ_INS_CLGIBNLE = 935;
+ public static final int SYSZ_INS_CLGIBNLH = 936;
+ public static final int SYSZ_INS_CLGIT = 937;
+ public static final int SYSZ_INS_CLGITE = 938;
+ public static final int SYSZ_INS_CLGITH = 939;
+ public static final int SYSZ_INS_CLGITHE = 940;
+ public static final int SYSZ_INS_CLGITL = 941;
+ public static final int SYSZ_INS_CLGITLE = 942;
+ public static final int SYSZ_INS_CLGITLH = 943;
+ public static final int SYSZ_INS_CLGITNE = 944;
+ public static final int SYSZ_INS_CLGITNH = 945;
+ public static final int SYSZ_INS_CLGITNHE = 946;
+ public static final int SYSZ_INS_CLGITNL = 947;
+ public static final int SYSZ_INS_CLGITNLE = 948;
+ public static final int SYSZ_INS_CLGITNLH = 949;
+ public static final int SYSZ_INS_CLGRB = 950;
+ public static final int SYSZ_INS_CLGRBE = 951;
+ public static final int SYSZ_INS_CLGRBH = 952;
+ public static final int SYSZ_INS_CLGRBHE = 953;
+ public static final int SYSZ_INS_CLGRBL = 954;
+ public static final int SYSZ_INS_CLGRBLE = 955;
+ public static final int SYSZ_INS_CLGRBLH = 956;
+ public static final int SYSZ_INS_CLGRBNE = 957;
+ public static final int SYSZ_INS_CLGRBNH = 958;
+ public static final int SYSZ_INS_CLGRBNHE = 959;
+ public static final int SYSZ_INS_CLGRBNL = 960;
+ public static final int SYSZ_INS_CLGRBNLE = 961;
+ public static final int SYSZ_INS_CLGRBNLH = 962;
+ public static final int SYSZ_INS_CLGRT = 963;
+ public static final int SYSZ_INS_CLGRTE = 964;
+ public static final int SYSZ_INS_CLGRTH = 965;
+ public static final int SYSZ_INS_CLGRTHE = 966;
+ public static final int SYSZ_INS_CLGRTL = 967;
+ public static final int SYSZ_INS_CLGRTLE = 968;
+ public static final int SYSZ_INS_CLGRTLH = 969;
+ public static final int SYSZ_INS_CLGRTNE = 970;
+ public static final int SYSZ_INS_CLGRTNH = 971;
+ public static final int SYSZ_INS_CLGRTNHE = 972;
+ public static final int SYSZ_INS_CLGRTNL = 973;
+ public static final int SYSZ_INS_CLGRTNLE = 974;
+ public static final int SYSZ_INS_CLGRTNLH = 975;
+ public static final int SYSZ_INS_CLGT = 976;
+ public static final int SYSZ_INS_CLGTE = 977;
+ public static final int SYSZ_INS_CLGTH = 978;
+ public static final int SYSZ_INS_CLGTHE = 979;
+ public static final int SYSZ_INS_CLGTL = 980;
+ public static final int SYSZ_INS_CLGTLE = 981;
+ public static final int SYSZ_INS_CLGTLH = 982;
+ public static final int SYSZ_INS_CLGTNE = 983;
+ public static final int SYSZ_INS_CLGTNH = 984;
+ public static final int SYSZ_INS_CLGTNHE = 985;
+ public static final int SYSZ_INS_CLGTNL = 986;
+ public static final int SYSZ_INS_CLGTNLE = 987;
+ public static final int SYSZ_INS_CLGTNLH = 988;
+ public static final int SYSZ_INS_CLGXTR = 989;
+ public static final int SYSZ_INS_CLHHR = 990;
+ public static final int SYSZ_INS_CLHLR = 991;
+ public static final int SYSZ_INS_CLIB = 992;
+ public static final int SYSZ_INS_CLIBE = 993;
+ public static final int SYSZ_INS_CLIBH = 994;
+ public static final int SYSZ_INS_CLIBHE = 995;
+ public static final int SYSZ_INS_CLIBL = 996;
+ public static final int SYSZ_INS_CLIBLE = 997;
+ public static final int SYSZ_INS_CLIBLH = 998;
+ public static final int SYSZ_INS_CLIBNE = 999;
+ public static final int SYSZ_INS_CLIBNH = 1000;
+ public static final int SYSZ_INS_CLIBNHE = 1001;
+ public static final int SYSZ_INS_CLIBNL = 1002;
+ public static final int SYSZ_INS_CLIBNLE = 1003;
+ public static final int SYSZ_INS_CLIBNLH = 1004;
+ public static final int SYSZ_INS_CLM = 1005;
+ public static final int SYSZ_INS_CLMH = 1006;
+ public static final int SYSZ_INS_CLMY = 1007;
+ public static final int SYSZ_INS_CLRB = 1008;
+ public static final int SYSZ_INS_CLRBE = 1009;
+ public static final int SYSZ_INS_CLRBH = 1010;
+ public static final int SYSZ_INS_CLRBHE = 1011;
+ public static final int SYSZ_INS_CLRBL = 1012;
+ public static final int SYSZ_INS_CLRBLE = 1013;
+ public static final int SYSZ_INS_CLRBLH = 1014;
+ public static final int SYSZ_INS_CLRBNE = 1015;
+ public static final int SYSZ_INS_CLRBNH = 1016;
+ public static final int SYSZ_INS_CLRBNHE = 1017;
+ public static final int SYSZ_INS_CLRBNL = 1018;
+ public static final int SYSZ_INS_CLRBNLE = 1019;
+ public static final int SYSZ_INS_CLRBNLH = 1020;
+ public static final int SYSZ_INS_CLRT = 1021;
+ public static final int SYSZ_INS_CLRTE = 1022;
+ public static final int SYSZ_INS_CLRTH = 1023;
+ public static final int SYSZ_INS_CLRTHE = 1024;
+ public static final int SYSZ_INS_CLRTL = 1025;
+ public static final int SYSZ_INS_CLRTLE = 1026;
+ public static final int SYSZ_INS_CLRTLH = 1027;
+ public static final int SYSZ_INS_CLRTNE = 1028;
+ public static final int SYSZ_INS_CLRTNH = 1029;
+ public static final int SYSZ_INS_CLRTNHE = 1030;
+ public static final int SYSZ_INS_CLRTNL = 1031;
+ public static final int SYSZ_INS_CLRTNLE = 1032;
+ public static final int SYSZ_INS_CLRTNLH = 1033;
+ public static final int SYSZ_INS_CLT = 1034;
+ public static final int SYSZ_INS_CLTE = 1035;
+ public static final int SYSZ_INS_CLTH = 1036;
+ public static final int SYSZ_INS_CLTHE = 1037;
+ public static final int SYSZ_INS_CLTL = 1038;
+ public static final int SYSZ_INS_CLTLE = 1039;
+ public static final int SYSZ_INS_CLTLH = 1040;
+ public static final int SYSZ_INS_CLTNE = 1041;
+ public static final int SYSZ_INS_CLTNH = 1042;
+ public static final int SYSZ_INS_CLTNHE = 1043;
+ public static final int SYSZ_INS_CLTNL = 1044;
+ public static final int SYSZ_INS_CLTNLE = 1045;
+ public static final int SYSZ_INS_CLTNLH = 1046;
+ public static final int SYSZ_INS_CMPSC = 1047;
+ public static final int SYSZ_INS_CP = 1048;
+ public static final int SYSZ_INS_CPDT = 1049;
+ public static final int SYSZ_INS_CPXT = 1050;
+ public static final int SYSZ_INS_CPYA = 1051;
+ public static final int SYSZ_INS_CRB = 1052;
+ public static final int SYSZ_INS_CRBE = 1053;
+ public static final int SYSZ_INS_CRBH = 1054;
+ public static final int SYSZ_INS_CRBHE = 1055;
+ public static final int SYSZ_INS_CRBL = 1056;
+ public static final int SYSZ_INS_CRBLE = 1057;
+ public static final int SYSZ_INS_CRBLH = 1058;
+ public static final int SYSZ_INS_CRBNE = 1059;
+ public static final int SYSZ_INS_CRBNH = 1060;
+ public static final int SYSZ_INS_CRBNHE = 1061;
+ public static final int SYSZ_INS_CRBNL = 1062;
+ public static final int SYSZ_INS_CRBNLE = 1063;
+ public static final int SYSZ_INS_CRBNLH = 1064;
+ public static final int SYSZ_INS_CRDTE = 1065;
+ public static final int SYSZ_INS_CRT = 1066;
+ public static final int SYSZ_INS_CRTE = 1067;
+ public static final int SYSZ_INS_CRTH = 1068;
+ public static final int SYSZ_INS_CRTHE = 1069;
+ public static final int SYSZ_INS_CRTL = 1070;
+ public static final int SYSZ_INS_CRTLE = 1071;
+ public static final int SYSZ_INS_CRTLH = 1072;
+ public static final int SYSZ_INS_CRTNE = 1073;
+ public static final int SYSZ_INS_CRTNH = 1074;
+ public static final int SYSZ_INS_CRTNHE = 1075;
+ public static final int SYSZ_INS_CRTNL = 1076;
+ public static final int SYSZ_INS_CRTNLE = 1077;
+ public static final int SYSZ_INS_CRTNLH = 1078;
+ public static final int SYSZ_INS_CSCH = 1079;
+ public static final int SYSZ_INS_CSDTR = 1080;
+ public static final int SYSZ_INS_CSP = 1081;
+ public static final int SYSZ_INS_CSPG = 1082;
+ public static final int SYSZ_INS_CSST = 1083;
+ public static final int SYSZ_INS_CSXTR = 1084;
+ public static final int SYSZ_INS_CU12 = 1085;
+ public static final int SYSZ_INS_CU14 = 1086;
+ public static final int SYSZ_INS_CU21 = 1087;
+ public static final int SYSZ_INS_CU24 = 1088;
+ public static final int SYSZ_INS_CU41 = 1089;
+ public static final int SYSZ_INS_CU42 = 1090;
+ public static final int SYSZ_INS_CUDTR = 1091;
+ public static final int SYSZ_INS_CUSE = 1092;
+ public static final int SYSZ_INS_CUTFU = 1093;
+ public static final int SYSZ_INS_CUUTF = 1094;
+ public static final int SYSZ_INS_CUXTR = 1095;
+ public static final int SYSZ_INS_CVB = 1096;
+ public static final int SYSZ_INS_CVBG = 1097;
+ public static final int SYSZ_INS_CVBY = 1098;
+ public static final int SYSZ_INS_CVD = 1099;
+ public static final int SYSZ_INS_CVDG = 1100;
+ public static final int SYSZ_INS_CVDY = 1101;
+ public static final int SYSZ_INS_CXFBRA = 1102;
+ public static final int SYSZ_INS_CXFR = 1103;
+ public static final int SYSZ_INS_CXFTR = 1104;
+ public static final int SYSZ_INS_CXGBRA = 1105;
+ public static final int SYSZ_INS_CXGR = 1106;
+ public static final int SYSZ_INS_CXGTR = 1107;
+ public static final int SYSZ_INS_CXGTRA = 1108;
+ public static final int SYSZ_INS_CXLFTR = 1109;
+ public static final int SYSZ_INS_CXLGTR = 1110;
+ public static final int SYSZ_INS_CXPT = 1111;
+ public static final int SYSZ_INS_CXR = 1112;
+ public static final int SYSZ_INS_CXSTR = 1113;
+ public static final int SYSZ_INS_CXTR = 1114;
+ public static final int SYSZ_INS_CXUTR = 1115;
+ public static final int SYSZ_INS_CXZT = 1116;
+ public static final int SYSZ_INS_CZDT = 1117;
+ public static final int SYSZ_INS_CZXT = 1118;
+ public static final int SYSZ_INS_D = 1119;
+ public static final int SYSZ_INS_DD = 1120;
+ public static final int SYSZ_INS_DDR = 1121;
+ public static final int SYSZ_INS_DDTR = 1122;
+ public static final int SYSZ_INS_DDTRA = 1123;
+ public static final int SYSZ_INS_DE = 1124;
+ public static final int SYSZ_INS_DER = 1125;
+ public static final int SYSZ_INS_DIAG = 1126;
+ public static final int SYSZ_INS_DIDBR = 1127;
+ public static final int SYSZ_INS_DIEBR = 1128;
+ public static final int SYSZ_INS_DP = 1129;
+ public static final int SYSZ_INS_DR = 1130;
+ public static final int SYSZ_INS_DXR = 1131;
+ public static final int SYSZ_INS_DXTR = 1132;
+ public static final int SYSZ_INS_DXTRA = 1133;
+ public static final int SYSZ_INS_ECAG = 1134;
+ public static final int SYSZ_INS_ECCTR = 1135;
+ public static final int SYSZ_INS_ECPGA = 1136;
+ public static final int SYSZ_INS_ECTG = 1137;
+ public static final int SYSZ_INS_ED = 1138;
+ public static final int SYSZ_INS_EDMK = 1139;
+ public static final int SYSZ_INS_EEDTR = 1140;
+ public static final int SYSZ_INS_EEXTR = 1141;
+ public static final int SYSZ_INS_EFPC = 1142;
+ public static final int SYSZ_INS_EPAIR = 1143;
+ public static final int SYSZ_INS_EPAR = 1144;
+ public static final int SYSZ_INS_EPCTR = 1145;
+ public static final int SYSZ_INS_EPSW = 1146;
+ public static final int SYSZ_INS_EREG = 1147;
+ public static final int SYSZ_INS_EREGG = 1148;
+ public static final int SYSZ_INS_ESAIR = 1149;
+ public static final int SYSZ_INS_ESAR = 1150;
+ public static final int SYSZ_INS_ESDTR = 1151;
+ public static final int SYSZ_INS_ESEA = 1152;
+ public static final int SYSZ_INS_ESTA = 1153;
+ public static final int SYSZ_INS_ESXTR = 1154;
+ public static final int SYSZ_INS_ETND = 1155;
+ public static final int SYSZ_INS_EX = 1156;
+ public static final int SYSZ_INS_EXRL = 1157;
+ public static final int SYSZ_INS_FIDR = 1158;
+ public static final int SYSZ_INS_FIDTR = 1159;
+ public static final int SYSZ_INS_FIER = 1160;
+ public static final int SYSZ_INS_FIXR = 1161;
+ public static final int SYSZ_INS_FIXTR = 1162;
+ public static final int SYSZ_INS_HDR = 1163;
+ public static final int SYSZ_INS_HER = 1164;
+ public static final int SYSZ_INS_HSCH = 1165;
+ public static final int SYSZ_INS_IAC = 1166;
+ public static final int SYSZ_INS_ICM = 1167;
+ public static final int SYSZ_INS_ICMH = 1168;
+ public static final int SYSZ_INS_ICMY = 1169;
+ public static final int SYSZ_INS_IDTE = 1170;
+ public static final int SYSZ_INS_IEDTR = 1171;
+ public static final int SYSZ_INS_IEXTR = 1172;
+ public static final int SYSZ_INS_IPK = 1173;
+ public static final int SYSZ_INS_IPTE = 1174;
+ public static final int SYSZ_INS_IRBM = 1175;
+ public static final int SYSZ_INS_ISKE = 1176;
+ public static final int SYSZ_INS_IVSK = 1177;
+ public static final int SYSZ_INS_JGM = 1178;
+ public static final int SYSZ_INS_JGNM = 1179;
+ public static final int SYSZ_INS_JGNP = 1180;
+ public static final int SYSZ_INS_JGNZ = 1181;
+ public static final int SYSZ_INS_JGP = 1182;
+ public static final int SYSZ_INS_JGZ = 1183;
+ public static final int SYSZ_INS_JM = 1184;
+ public static final int SYSZ_INS_JNM = 1185;
+ public static final int SYSZ_INS_JNP = 1186;
+ public static final int SYSZ_INS_JNZ = 1187;
+ public static final int SYSZ_INS_JP = 1188;
+ public static final int SYSZ_INS_JZ = 1189;
+ public static final int SYSZ_INS_KDB = 1190;
+ public static final int SYSZ_INS_KDBR = 1191;
+ public static final int SYSZ_INS_KDTR = 1192;
+ public static final int SYSZ_INS_KEB = 1193;
+ public static final int SYSZ_INS_KEBR = 1194;
+ public static final int SYSZ_INS_KIMD = 1195;
+ public static final int SYSZ_INS_KLMD = 1196;
+ public static final int SYSZ_INS_KM = 1197;
+ public static final int SYSZ_INS_KMA = 1198;
+ public static final int SYSZ_INS_KMAC = 1199;
+ public static final int SYSZ_INS_KMC = 1200;
+ public static final int SYSZ_INS_KMCTR = 1201;
+ public static final int SYSZ_INS_KMF = 1202;
+ public static final int SYSZ_INS_KMO = 1203;
+ public static final int SYSZ_INS_KXBR = 1204;
+ public static final int SYSZ_INS_KXTR = 1205;
+ public static final int SYSZ_INS_LAE = 1206;
+ public static final int SYSZ_INS_LAEY = 1207;
+ public static final int SYSZ_INS_LAM = 1208;
+ public static final int SYSZ_INS_LAMY = 1209;
+ public static final int SYSZ_INS_LASP = 1210;
+ public static final int SYSZ_INS_LAT = 1211;
+ public static final int SYSZ_INS_LCBB = 1212;
+ public static final int SYSZ_INS_LCCTL = 1213;
+ public static final int SYSZ_INS_LCDFR = 1214;
+ public static final int SYSZ_INS_LCDR = 1215;
+ public static final int SYSZ_INS_LCER = 1216;
+ public static final int SYSZ_INS_LCTL = 1217;
+ public static final int SYSZ_INS_LCTLG = 1218;
+ public static final int SYSZ_INS_LCXR = 1219;
+ public static final int SYSZ_INS_LDE = 1220;
+ public static final int SYSZ_INS_LDER = 1221;
+ public static final int SYSZ_INS_LDETR = 1222;
+ public static final int SYSZ_INS_LDXR = 1223;
+ public static final int SYSZ_INS_LDXTR = 1224;
+ public static final int SYSZ_INS_LEDR = 1225;
+ public static final int SYSZ_INS_LEDTR = 1226;
+ public static final int SYSZ_INS_LEXR = 1227;
+ public static final int SYSZ_INS_LFAS = 1228;
+ public static final int SYSZ_INS_LFHAT = 1229;
+ public static final int SYSZ_INS_LFPC = 1230;
+ public static final int SYSZ_INS_LGAT = 1231;
+ public static final int SYSZ_INS_LGG = 1232;
+ public static final int SYSZ_INS_LGSC = 1233;
+ public static final int SYSZ_INS_LLGFAT = 1234;
+ public static final int SYSZ_INS_LLGFSG = 1235;
+ public static final int SYSZ_INS_LLGT = 1236;
+ public static final int SYSZ_INS_LLGTAT = 1237;
+ public static final int SYSZ_INS_LLGTR = 1238;
+ public static final int SYSZ_INS_LLZRGF = 1239;
+ public static final int SYSZ_INS_LM = 1240;
+ public static final int SYSZ_INS_LMD = 1241;
+ public static final int SYSZ_INS_LMH = 1242;
+ public static final int SYSZ_INS_LMY = 1243;
+ public static final int SYSZ_INS_LNDFR = 1244;
+ public static final int SYSZ_INS_LNDR = 1245;
+ public static final int SYSZ_INS_LNER = 1246;
+ public static final int SYSZ_INS_LNXR = 1247;
+ public static final int SYSZ_INS_LOCFH = 1248;
+ public static final int SYSZ_INS_LOCFHE = 1249;
+ public static final int SYSZ_INS_LOCFHH = 1250;
+ public static final int SYSZ_INS_LOCFHHE = 1251;
+ public static final int SYSZ_INS_LOCFHL = 1252;
+ public static final int SYSZ_INS_LOCFHLE = 1253;
+ public static final int SYSZ_INS_LOCFHLH = 1254;
+ public static final int SYSZ_INS_LOCFHM = 1255;
+ public static final int SYSZ_INS_LOCFHNE = 1256;
+ public static final int SYSZ_INS_LOCFHNH = 1257;
+ public static final int SYSZ_INS_LOCFHNHE = 1258;
+ public static final int SYSZ_INS_LOCFHNL = 1259;
+ public static final int SYSZ_INS_LOCFHNLE = 1260;
+ public static final int SYSZ_INS_LOCFHNLH = 1261;
+ public static final int SYSZ_INS_LOCFHNM = 1262;
+ public static final int SYSZ_INS_LOCFHNO = 1263;
+ public static final int SYSZ_INS_LOCFHNP = 1264;
+ public static final int SYSZ_INS_LOCFHNZ = 1265;
+ public static final int SYSZ_INS_LOCFHO = 1266;
+ public static final int SYSZ_INS_LOCFHP = 1267;
+ public static final int SYSZ_INS_LOCFHR = 1268;
+ public static final int SYSZ_INS_LOCFHRE = 1269;
+ public static final int SYSZ_INS_LOCFHRH = 1270;
+ public static final int SYSZ_INS_LOCFHRHE = 1271;
+ public static final int SYSZ_INS_LOCFHRL = 1272;
+ public static final int SYSZ_INS_LOCFHRLE = 1273;
+ public static final int SYSZ_INS_LOCFHRLH = 1274;
+ public static final int SYSZ_INS_LOCFHRM = 1275;
+ public static final int SYSZ_INS_LOCFHRNE = 1276;
+ public static final int SYSZ_INS_LOCFHRNH = 1277;
+ public static final int SYSZ_INS_LOCFHRNHE = 1278;
+ public static final int SYSZ_INS_LOCFHRNL = 1279;
+ public static final int SYSZ_INS_LOCFHRNLE = 1280;
+ public static final int SYSZ_INS_LOCFHRNLH = 1281;
+ public static final int SYSZ_INS_LOCFHRNM = 1282;
+ public static final int SYSZ_INS_LOCFHRNO = 1283;
+ public static final int SYSZ_INS_LOCFHRNP = 1284;
+ public static final int SYSZ_INS_LOCFHRNZ = 1285;
+ public static final int SYSZ_INS_LOCFHRO = 1286;
+ public static final int SYSZ_INS_LOCFHRP = 1287;
+ public static final int SYSZ_INS_LOCFHRZ = 1288;
+ public static final int SYSZ_INS_LOCFHZ = 1289;
+ public static final int SYSZ_INS_LOCGHI = 1290;
+ public static final int SYSZ_INS_LOCGHIE = 1291;
+ public static final int SYSZ_INS_LOCGHIH = 1292;
+ public static final int SYSZ_INS_LOCGHIHE = 1293;
+ public static final int SYSZ_INS_LOCGHIL = 1294;
+ public static final int SYSZ_INS_LOCGHILE = 1295;
+ public static final int SYSZ_INS_LOCGHILH = 1296;
+ public static final int SYSZ_INS_LOCGHIM = 1297;
+ public static final int SYSZ_INS_LOCGHINE = 1298;
+ public static final int SYSZ_INS_LOCGHINH = 1299;
+ public static final int SYSZ_INS_LOCGHINHE = 1300;
+ public static final int SYSZ_INS_LOCGHINL = 1301;
+ public static final int SYSZ_INS_LOCGHINLE = 1302;
+ public static final int SYSZ_INS_LOCGHINLH = 1303;
+ public static final int SYSZ_INS_LOCGHINM = 1304;
+ public static final int SYSZ_INS_LOCGHINO = 1305;
+ public static final int SYSZ_INS_LOCGHINP = 1306;
+ public static final int SYSZ_INS_LOCGHINZ = 1307;
+ public static final int SYSZ_INS_LOCGHIO = 1308;
+ public static final int SYSZ_INS_LOCGHIP = 1309;
+ public static final int SYSZ_INS_LOCGHIZ = 1310;
+ public static final int SYSZ_INS_LOCGM = 1311;
+ public static final int SYSZ_INS_LOCGNM = 1312;
+ public static final int SYSZ_INS_LOCGNP = 1313;
+ public static final int SYSZ_INS_LOCGNZ = 1314;
+ public static final int SYSZ_INS_LOCGP = 1315;
+ public static final int SYSZ_INS_LOCGRM = 1316;
+ public static final int SYSZ_INS_LOCGRNM = 1317;
+ public static final int SYSZ_INS_LOCGRNP = 1318;
+ public static final int SYSZ_INS_LOCGRNZ = 1319;
+ public static final int SYSZ_INS_LOCGRP = 1320;
+ public static final int SYSZ_INS_LOCGRZ = 1321;
+ public static final int SYSZ_INS_LOCGZ = 1322;
+ public static final int SYSZ_INS_LOCHHI = 1323;
+ public static final int SYSZ_INS_LOCHHIE = 1324;
+ public static final int SYSZ_INS_LOCHHIH = 1325;
+ public static final int SYSZ_INS_LOCHHIHE = 1326;
+ public static final int SYSZ_INS_LOCHHIL = 1327;
+ public static final int SYSZ_INS_LOCHHILE = 1328;
+ public static final int SYSZ_INS_LOCHHILH = 1329;
+ public static final int SYSZ_INS_LOCHHIM = 1330;
+ public static final int SYSZ_INS_LOCHHINE = 1331;
+ public static final int SYSZ_INS_LOCHHINH = 1332;
+ public static final int SYSZ_INS_LOCHHINHE = 1333;
+ public static final int SYSZ_INS_LOCHHINL = 1334;
+ public static final int SYSZ_INS_LOCHHINLE = 1335;
+ public static final int SYSZ_INS_LOCHHINLH = 1336;
+ public static final int SYSZ_INS_LOCHHINM = 1337;
+ public static final int SYSZ_INS_LOCHHINO = 1338;
+ public static final int SYSZ_INS_LOCHHINP = 1339;
+ public static final int SYSZ_INS_LOCHHINZ = 1340;
+ public static final int SYSZ_INS_LOCHHIO = 1341;
+ public static final int SYSZ_INS_LOCHHIP = 1342;
+ public static final int SYSZ_INS_LOCHHIZ = 1343;
+ public static final int SYSZ_INS_LOCHI = 1344;
+ public static final int SYSZ_INS_LOCHIE = 1345;
+ public static final int SYSZ_INS_LOCHIH = 1346;
+ public static final int SYSZ_INS_LOCHIHE = 1347;
+ public static final int SYSZ_INS_LOCHIL = 1348;
+ public static final int SYSZ_INS_LOCHILE = 1349;
+ public static final int SYSZ_INS_LOCHILH = 1350;
+ public static final int SYSZ_INS_LOCHIM = 1351;
+ public static final int SYSZ_INS_LOCHINE = 1352;
+ public static final int SYSZ_INS_LOCHINH = 1353;
+ public static final int SYSZ_INS_LOCHINHE = 1354;
+ public static final int SYSZ_INS_LOCHINL = 1355;
+ public static final int SYSZ_INS_LOCHINLE = 1356;
+ public static final int SYSZ_INS_LOCHINLH = 1357;
+ public static final int SYSZ_INS_LOCHINM = 1358;
+ public static final int SYSZ_INS_LOCHINO = 1359;
+ public static final int SYSZ_INS_LOCHINP = 1360;
+ public static final int SYSZ_INS_LOCHINZ = 1361;
+ public static final int SYSZ_INS_LOCHIO = 1362;
+ public static final int SYSZ_INS_LOCHIP = 1363;
+ public static final int SYSZ_INS_LOCHIZ = 1364;
+ public static final int SYSZ_INS_LOCM = 1365;
+ public static final int SYSZ_INS_LOCNM = 1366;
+ public static final int SYSZ_INS_LOCNP = 1367;
+ public static final int SYSZ_INS_LOCNZ = 1368;
+ public static final int SYSZ_INS_LOCP = 1369;
+ public static final int SYSZ_INS_LOCRM = 1370;
+ public static final int SYSZ_INS_LOCRNM = 1371;
+ public static final int SYSZ_INS_LOCRNP = 1372;
+ public static final int SYSZ_INS_LOCRNZ = 1373;
+ public static final int SYSZ_INS_LOCRP = 1374;
+ public static final int SYSZ_INS_LOCRZ = 1375;
+ public static final int SYSZ_INS_LOCZ = 1376;
+ public static final int SYSZ_INS_LPCTL = 1377;
+ public static final int SYSZ_INS_LPD = 1378;
+ public static final int SYSZ_INS_LPDFR = 1379;
+ public static final int SYSZ_INS_LPDG = 1380;
+ public static final int SYSZ_INS_LPDR = 1381;
+ public static final int SYSZ_INS_LPER = 1382;
+ public static final int SYSZ_INS_LPP = 1383;
+ public static final int SYSZ_INS_LPQ = 1384;
+ public static final int SYSZ_INS_LPSW = 1385;
+ public static final int SYSZ_INS_LPSWE = 1386;
+ public static final int SYSZ_INS_LPTEA = 1387;
+ public static final int SYSZ_INS_LPXR = 1388;
+ public static final int SYSZ_INS_LRA = 1389;
+ public static final int SYSZ_INS_LRAG = 1390;
+ public static final int SYSZ_INS_LRAY = 1391;
+ public static final int SYSZ_INS_LRDR = 1392;
+ public static final int SYSZ_INS_LRER = 1393;
+ public static final int SYSZ_INS_LRVH = 1394;
+ public static final int SYSZ_INS_LSCTL = 1395;
+ public static final int SYSZ_INS_LTDR = 1396;
+ public static final int SYSZ_INS_LTDTR = 1397;
+ public static final int SYSZ_INS_LTER = 1398;
+ public static final int SYSZ_INS_LTXR = 1399;
+ public static final int SYSZ_INS_LTXTR = 1400;
+ public static final int SYSZ_INS_LURA = 1401;
+ public static final int SYSZ_INS_LURAG = 1402;
+ public static final int SYSZ_INS_LXD = 1403;
+ public static final int SYSZ_INS_LXDR = 1404;
+ public static final int SYSZ_INS_LXDTR = 1405;
+ public static final int SYSZ_INS_LXE = 1406;
+ public static final int SYSZ_INS_LXER = 1407;
+ public static final int SYSZ_INS_LZRF = 1408;
+ public static final int SYSZ_INS_LZRG = 1409;
+ public static final int SYSZ_INS_M = 1410;
+ public static final int SYSZ_INS_MAD = 1411;
+ public static final int SYSZ_INS_MADR = 1412;
+ public static final int SYSZ_INS_MAE = 1413;
+ public static final int SYSZ_INS_MAER = 1414;
+ public static final int SYSZ_INS_MAY = 1415;
+ public static final int SYSZ_INS_MAYH = 1416;
+ public static final int SYSZ_INS_MAYHR = 1417;
+ public static final int SYSZ_INS_MAYL = 1418;
+ public static final int SYSZ_INS_MAYLR = 1419;
+ public static final int SYSZ_INS_MAYR = 1420;
+ public static final int SYSZ_INS_MC = 1421;
+ public static final int SYSZ_INS_MD = 1422;
+ public static final int SYSZ_INS_MDE = 1423;
+ public static final int SYSZ_INS_MDER = 1424;
+ public static final int SYSZ_INS_MDR = 1425;
+ public static final int SYSZ_INS_MDTR = 1426;
+ public static final int SYSZ_INS_MDTRA = 1427;
+ public static final int SYSZ_INS_ME = 1428;
+ public static final int SYSZ_INS_MEE = 1429;
+ public static final int SYSZ_INS_MEER = 1430;
+ public static final int SYSZ_INS_MER = 1431;
+ public static final int SYSZ_INS_MFY = 1432;
+ public static final int SYSZ_INS_MG = 1433;
+ public static final int SYSZ_INS_MGH = 1434;
+ public static final int SYSZ_INS_MGRK = 1435;
+ public static final int SYSZ_INS_ML = 1436;
+ public static final int SYSZ_INS_MLR = 1437;
+ public static final int SYSZ_INS_MP = 1438;
+ public static final int SYSZ_INS_MR = 1439;
+ public static final int SYSZ_INS_MSC = 1440;
+ public static final int SYSZ_INS_MSCH = 1441;
+ public static final int SYSZ_INS_MSD = 1442;
+ public static final int SYSZ_INS_MSDR = 1443;
+ public static final int SYSZ_INS_MSE = 1444;
+ public static final int SYSZ_INS_MSER = 1445;
+ public static final int SYSZ_INS_MSGC = 1446;
+ public static final int SYSZ_INS_MSGRKC = 1447;
+ public static final int SYSZ_INS_MSRKC = 1448;
+ public static final int SYSZ_INS_MSTA = 1449;
+ public static final int SYSZ_INS_MVCDK = 1450;
+ public static final int SYSZ_INS_MVCIN = 1451;
+ public static final int SYSZ_INS_MVCK = 1452;
+ public static final int SYSZ_INS_MVCL = 1453;
+ public static final int SYSZ_INS_MVCLE = 1454;
+ public static final int SYSZ_INS_MVCLU = 1455;
+ public static final int SYSZ_INS_MVCOS = 1456;
+ public static final int SYSZ_INS_MVCP = 1457;
+ public static final int SYSZ_INS_MVCS = 1458;
+ public static final int SYSZ_INS_MVCSK = 1459;
+ public static final int SYSZ_INS_MVN = 1460;
+ public static final int SYSZ_INS_MVO = 1461;
+ public static final int SYSZ_INS_MVPG = 1462;
+ public static final int SYSZ_INS_MVZ = 1463;
+ public static final int SYSZ_INS_MXD = 1464;
+ public static final int SYSZ_INS_MXDR = 1465;
+ public static final int SYSZ_INS_MXR = 1466;
+ public static final int SYSZ_INS_MXTR = 1467;
+ public static final int SYSZ_INS_MXTRA = 1468;
+ public static final int SYSZ_INS_MY = 1469;
+ public static final int SYSZ_INS_MYH = 1470;
+ public static final int SYSZ_INS_MYHR = 1471;
+ public static final int SYSZ_INS_MYL = 1472;
+ public static final int SYSZ_INS_MYLR = 1473;
+ public static final int SYSZ_INS_MYR = 1474;
+ public static final int SYSZ_INS_NIAI = 1475;
+ public static final int SYSZ_INS_NTSTG = 1476;
+ public static final int SYSZ_INS_PACK = 1477;
+ public static final int SYSZ_INS_PALB = 1478;
+ public static final int SYSZ_INS_PC = 1479;
+ public static final int SYSZ_INS_PCC = 1480;
+ public static final int SYSZ_INS_PCKMO = 1481;
+ public static final int SYSZ_INS_PFMF = 1482;
+ public static final int SYSZ_INS_PFPO = 1483;
+ public static final int SYSZ_INS_PGIN = 1484;
+ public static final int SYSZ_INS_PGOUT = 1485;
+ public static final int SYSZ_INS_PKA = 1486;
+ public static final int SYSZ_INS_PKU = 1487;
+ public static final int SYSZ_INS_PLO = 1488;
+ public static final int SYSZ_INS_POPCNT = 1489;
+ public static final int SYSZ_INS_PPA = 1490;
+ public static final int SYSZ_INS_PPNO = 1491;
+ public static final int SYSZ_INS_PR = 1492;
+ public static final int SYSZ_INS_PRNO = 1493;
+ public static final int SYSZ_INS_PT = 1494;
+ public static final int SYSZ_INS_PTF = 1495;
+ public static final int SYSZ_INS_PTFF = 1496;
+ public static final int SYSZ_INS_PTI = 1497;
+ public static final int SYSZ_INS_PTLB = 1498;
+ public static final int SYSZ_INS_QADTR = 1499;
+ public static final int SYSZ_INS_QAXTR = 1500;
+ public static final int SYSZ_INS_QCTRI = 1501;
+ public static final int SYSZ_INS_QSI = 1502;
+ public static final int SYSZ_INS_RCHP = 1503;
+ public static final int SYSZ_INS_RISBGN = 1504;
+ public static final int SYSZ_INS_RP = 1505;
+ public static final int SYSZ_INS_RRBE = 1506;
+ public static final int SYSZ_INS_RRBM = 1507;
+ public static final int SYSZ_INS_RRDTR = 1508;
+ public static final int SYSZ_INS_RRXTR = 1509;
+ public static final int SYSZ_INS_RSCH = 1510;
+ public static final int SYSZ_INS_SAC = 1511;
+ public static final int SYSZ_INS_SACF = 1512;
+ public static final int SYSZ_INS_SAL = 1513;
+ public static final int SYSZ_INS_SAM24 = 1514;
+ public static final int SYSZ_INS_SAM31 = 1515;
+ public static final int SYSZ_INS_SAM64 = 1516;
+ public static final int SYSZ_INS_SAR = 1517;
+ public static final int SYSZ_INS_SCCTR = 1518;
+ public static final int SYSZ_INS_SCHM = 1519;
+ public static final int SYSZ_INS_SCK = 1520;
+ public static final int SYSZ_INS_SCKC = 1521;
+ public static final int SYSZ_INS_SCKPF = 1522;
+ public static final int SYSZ_INS_SD = 1523;
+ public static final int SYSZ_INS_SDR = 1524;
+ public static final int SYSZ_INS_SDTR = 1525;
+ public static final int SYSZ_INS_SDTRA = 1526;
+ public static final int SYSZ_INS_SE = 1527;
+ public static final int SYSZ_INS_SER = 1528;
+ public static final int SYSZ_INS_SFASR = 1529;
+ public static final int SYSZ_INS_SFPC = 1530;
+ public static final int SYSZ_INS_SGH = 1531;
+ public static final int SYSZ_INS_SHHHR = 1532;
+ public static final int SYSZ_INS_SHHLR = 1533;
+ public static final int SYSZ_INS_SIE = 1534;
+ public static final int SYSZ_INS_SIGA = 1535;
+ public static final int SYSZ_INS_SIGP = 1536;
+ public static final int SYSZ_INS_SLA = 1537;
+ public static final int SYSZ_INS_SLAG = 1538;
+ public static final int SYSZ_INS_SLAK = 1539;
+ public static final int SYSZ_INS_SLDA = 1540;
+ public static final int SYSZ_INS_SLDL = 1541;
+ public static final int SYSZ_INS_SLDT = 1542;
+ public static final int SYSZ_INS_SLHHHR = 1543;
+ public static final int SYSZ_INS_SLHHLR = 1544;
+ public static final int SYSZ_INS_SLXT = 1545;
+ public static final int SYSZ_INS_SP = 1546;
+ public static final int SYSZ_INS_SPCTR = 1547;
+ public static final int SYSZ_INS_SPKA = 1548;
+ public static final int SYSZ_INS_SPM = 1549;
+ public static final int SYSZ_INS_SPT = 1550;
+ public static final int SYSZ_INS_SPX = 1551;
+ public static final int SYSZ_INS_SQD = 1552;
+ public static final int SYSZ_INS_SQDR = 1553;
+ public static final int SYSZ_INS_SQE = 1554;
+ public static final int SYSZ_INS_SQER = 1555;
+ public static final int SYSZ_INS_SQXR = 1556;
+ public static final int SYSZ_INS_SRDA = 1557;
+ public static final int SYSZ_INS_SRDL = 1558;
+ public static final int SYSZ_INS_SRDT = 1559;
+ public static final int SYSZ_INS_SRNM = 1560;
+ public static final int SYSZ_INS_SRNMB = 1561;
+ public static final int SYSZ_INS_SRNMT = 1562;
+ public static final int SYSZ_INS_SRP = 1563;
+ public static final int SYSZ_INS_SRSTU = 1564;
+ public static final int SYSZ_INS_SRXT = 1565;
+ public static final int SYSZ_INS_SSAIR = 1566;
+ public static final int SYSZ_INS_SSAR = 1567;
+ public static final int SYSZ_INS_SSCH = 1568;
+ public static final int SYSZ_INS_SSKE = 1569;
+ public static final int SYSZ_INS_SSM = 1570;
+ public static final int SYSZ_INS_STAM = 1571;
+ public static final int SYSZ_INS_STAMY = 1572;
+ public static final int SYSZ_INS_STAP = 1573;
+ public static final int SYSZ_INS_STCK = 1574;
+ public static final int SYSZ_INS_STCKC = 1575;
+ public static final int SYSZ_INS_STCKE = 1576;
+ public static final int SYSZ_INS_STCKF = 1577;
+ public static final int SYSZ_INS_STCM = 1578;
+ public static final int SYSZ_INS_STCMH = 1579;
+ public static final int SYSZ_INS_STCMY = 1580;
+ public static final int SYSZ_INS_STCPS = 1581;
+ public static final int SYSZ_INS_STCRW = 1582;
+ public static final int SYSZ_INS_STCTG = 1583;
+ public static final int SYSZ_INS_STCTL = 1584;
+ public static final int SYSZ_INS_STFL = 1585;
+ public static final int SYSZ_INS_STFLE = 1586;
+ public static final int SYSZ_INS_STFPC = 1587;
+ public static final int SYSZ_INS_STGSC = 1588;
+ public static final int SYSZ_INS_STIDP = 1589;
+ public static final int SYSZ_INS_STM = 1590;
+ public static final int SYSZ_INS_STMH = 1591;
+ public static final int SYSZ_INS_STMY = 1592;
+ public static final int SYSZ_INS_STNSM = 1593;
+ public static final int SYSZ_INS_STOCFH = 1594;
+ public static final int SYSZ_INS_STOCFHE = 1595;
+ public static final int SYSZ_INS_STOCFHH = 1596;
+ public static final int SYSZ_INS_STOCFHHE = 1597;
+ public static final int SYSZ_INS_STOCFHL = 1598;
+ public static final int SYSZ_INS_STOCFHLE = 1599;
+ public static final int SYSZ_INS_STOCFHLH = 1600;
+ public static final int SYSZ_INS_STOCFHM = 1601;
+ public static final int SYSZ_INS_STOCFHNE = 1602;
+ public static final int SYSZ_INS_STOCFHNH = 1603;
+ public static final int SYSZ_INS_STOCFHNHE = 1604;
+ public static final int SYSZ_INS_STOCFHNL = 1605;
+ public static final int SYSZ_INS_STOCFHNLE = 1606;
+ public static final int SYSZ_INS_STOCFHNLH = 1607;
+ public static final int SYSZ_INS_STOCFHNM = 1608;
+ public static final int SYSZ_INS_STOCFHNO = 1609;
+ public static final int SYSZ_INS_STOCFHNP = 1610;
+ public static final int SYSZ_INS_STOCFHNZ = 1611;
+ public static final int SYSZ_INS_STOCFHO = 1612;
+ public static final int SYSZ_INS_STOCFHP = 1613;
+ public static final int SYSZ_INS_STOCFHZ = 1614;
+ public static final int SYSZ_INS_STOCGM = 1615;
+ public static final int SYSZ_INS_STOCGNM = 1616;
+ public static final int SYSZ_INS_STOCGNP = 1617;
+ public static final int SYSZ_INS_STOCGNZ = 1618;
+ public static final int SYSZ_INS_STOCGP = 1619;
+ public static final int SYSZ_INS_STOCGZ = 1620;
+ public static final int SYSZ_INS_STOCM = 1621;
+ public static final int SYSZ_INS_STOCNM = 1622;
+ public static final int SYSZ_INS_STOCNP = 1623;
+ public static final int SYSZ_INS_STOCNZ = 1624;
+ public static final int SYSZ_INS_STOCP = 1625;
+ public static final int SYSZ_INS_STOCZ = 1626;
+ public static final int SYSZ_INS_STOSM = 1627;
+ public static final int SYSZ_INS_STPQ = 1628;
+ public static final int SYSZ_INS_STPT = 1629;
+ public static final int SYSZ_INS_STPX = 1630;
+ public static final int SYSZ_INS_STRAG = 1631;
+ public static final int SYSZ_INS_STRVH = 1632;
+ public static final int SYSZ_INS_STSCH = 1633;
+ public static final int SYSZ_INS_STSI = 1634;
+ public static final int SYSZ_INS_STURA = 1635;
+ public static final int SYSZ_INS_STURG = 1636;
+ public static final int SYSZ_INS_SU = 1637;
+ public static final int SYSZ_INS_SUR = 1638;
+ public static final int SYSZ_INS_SVC = 1639;
+ public static final int SYSZ_INS_SW = 1640;
+ public static final int SYSZ_INS_SWR = 1641;
+ public static final int SYSZ_INS_SXR = 1642;
+ public static final int SYSZ_INS_SXTR = 1643;
+ public static final int SYSZ_INS_SXTRA = 1644;
+ public static final int SYSZ_INS_TABORT = 1645;
+ public static final int SYSZ_INS_TAM = 1646;
+ public static final int SYSZ_INS_TAR = 1647;
+ public static final int SYSZ_INS_TB = 1648;
+ public static final int SYSZ_INS_TBDR = 1649;
+ public static final int SYSZ_INS_TBEDR = 1650;
+ public static final int SYSZ_INS_TBEGIN = 1651;
+ public static final int SYSZ_INS_TBEGINC = 1652;
+ public static final int SYSZ_INS_TCDB = 1653;
+ public static final int SYSZ_INS_TCEB = 1654;
+ public static final int SYSZ_INS_TCXB = 1655;
+ public static final int SYSZ_INS_TDCDT = 1656;
+ public static final int SYSZ_INS_TDCET = 1657;
+ public static final int SYSZ_INS_TDCXT = 1658;
+ public static final int SYSZ_INS_TDGDT = 1659;
+ public static final int SYSZ_INS_TDGET = 1660;
+ public static final int SYSZ_INS_TDGXT = 1661;
+ public static final int SYSZ_INS_TEND = 1662;
+ public static final int SYSZ_INS_THDER = 1663;
+ public static final int SYSZ_INS_THDR = 1664;
+ public static final int SYSZ_INS_TP = 1665;
+ public static final int SYSZ_INS_TPI = 1666;
+ public static final int SYSZ_INS_TPROT = 1667;
+ public static final int SYSZ_INS_TR = 1668;
+ public static final int SYSZ_INS_TRACE = 1669;
+ public static final int SYSZ_INS_TRACG = 1670;
+ public static final int SYSZ_INS_TRAP2 = 1671;
+ public static final int SYSZ_INS_TRAP4 = 1672;
+ public static final int SYSZ_INS_TRE = 1673;
+ public static final int SYSZ_INS_TROO = 1674;
+ public static final int SYSZ_INS_TROT = 1675;
+ public static final int SYSZ_INS_TRT = 1676;
+ public static final int SYSZ_INS_TRTE = 1677;
+ public static final int SYSZ_INS_TRTO = 1678;
+ public static final int SYSZ_INS_TRTR = 1679;
+ public static final int SYSZ_INS_TRTRE = 1680;
+ public static final int SYSZ_INS_TRTT = 1681;
+ public static final int SYSZ_INS_TS = 1682;
+ public static final int SYSZ_INS_TSCH = 1683;
+ public static final int SYSZ_INS_UNPK = 1684;
+ public static final int SYSZ_INS_UNPKA = 1685;
+ public static final int SYSZ_INS_UNPKU = 1686;
+ public static final int SYSZ_INS_UPT = 1687;
+ public static final int SYSZ_INS_VA = 1688;
+ public static final int SYSZ_INS_VAB = 1689;
+ public static final int SYSZ_INS_VAC = 1690;
+ public static final int SYSZ_INS_VACC = 1691;
+ public static final int SYSZ_INS_VACCB = 1692;
+ public static final int SYSZ_INS_VACCC = 1693;
+ public static final int SYSZ_INS_VACCCQ = 1694;
+ public static final int SYSZ_INS_VACCF = 1695;
+ public static final int SYSZ_INS_VACCG = 1696;
+ public static final int SYSZ_INS_VACCH = 1697;
+ public static final int SYSZ_INS_VACCQ = 1698;
+ public static final int SYSZ_INS_VACQ = 1699;
+ public static final int SYSZ_INS_VAF = 1700;
+ public static final int SYSZ_INS_VAG = 1701;
+ public static final int SYSZ_INS_VAH = 1702;
+ public static final int SYSZ_INS_VAP = 1703;
+ public static final int SYSZ_INS_VAQ = 1704;
+ public static final int SYSZ_INS_VAVG = 1705;
+ public static final int SYSZ_INS_VAVGB = 1706;
+ public static final int SYSZ_INS_VAVGF = 1707;
+ public static final int SYSZ_INS_VAVGG = 1708;
+ public static final int SYSZ_INS_VAVGH = 1709;
+ public static final int SYSZ_INS_VAVGL = 1710;
+ public static final int SYSZ_INS_VAVGLB = 1711;
+ public static final int SYSZ_INS_VAVGLF = 1712;
+ public static final int SYSZ_INS_VAVGLG = 1713;
+ public static final int SYSZ_INS_VAVGLH = 1714;
+ public static final int SYSZ_INS_VBPERM = 1715;
+ public static final int SYSZ_INS_VCDG = 1716;
+ public static final int SYSZ_INS_VCDGB = 1717;
+ public static final int SYSZ_INS_VCDLG = 1718;
+ public static final int SYSZ_INS_VCDLGB = 1719;
+ public static final int SYSZ_INS_VCEQ = 1720;
+ public static final int SYSZ_INS_VCEQB = 1721;
+ public static final int SYSZ_INS_VCEQBS = 1722;
+ public static final int SYSZ_INS_VCEQF = 1723;
+ public static final int SYSZ_INS_VCEQFS = 1724;
+ public static final int SYSZ_INS_VCEQG = 1725;
+ public static final int SYSZ_INS_VCEQGS = 1726;
+ public static final int SYSZ_INS_VCEQH = 1727;
+ public static final int SYSZ_INS_VCEQHS = 1728;
+ public static final int SYSZ_INS_VCGD = 1729;
+ public static final int SYSZ_INS_VCGDB = 1730;
+ public static final int SYSZ_INS_VCH = 1731;
+ public static final int SYSZ_INS_VCHB = 1732;
+ public static final int SYSZ_INS_VCHBS = 1733;
+ public static final int SYSZ_INS_VCHF = 1734;
+ public static final int SYSZ_INS_VCHFS = 1735;
+ public static final int SYSZ_INS_VCHG = 1736;
+ public static final int SYSZ_INS_VCHGS = 1737;
+ public static final int SYSZ_INS_VCHH = 1738;
+ public static final int SYSZ_INS_VCHHS = 1739;
+ public static final int SYSZ_INS_VCHL = 1740;
+ public static final int SYSZ_INS_VCHLB = 1741;
+ public static final int SYSZ_INS_VCHLBS = 1742;
+ public static final int SYSZ_INS_VCHLF = 1743;
+ public static final int SYSZ_INS_VCHLFS = 1744;
+ public static final int SYSZ_INS_VCHLG = 1745;
+ public static final int SYSZ_INS_VCHLGS = 1746;
+ public static final int SYSZ_INS_VCHLH = 1747;
+ public static final int SYSZ_INS_VCHLHS = 1748;
+ public static final int SYSZ_INS_VCKSM = 1749;
+ public static final int SYSZ_INS_VCLGD = 1750;
+ public static final int SYSZ_INS_VCLGDB = 1751;
+ public static final int SYSZ_INS_VCLZ = 1752;
+ public static final int SYSZ_INS_VCLZB = 1753;
+ public static final int SYSZ_INS_VCLZF = 1754;
+ public static final int SYSZ_INS_VCLZG = 1755;
+ public static final int SYSZ_INS_VCLZH = 1756;
+ public static final int SYSZ_INS_VCP = 1757;
+ public static final int SYSZ_INS_VCTZ = 1758;
+ public static final int SYSZ_INS_VCTZB = 1759;
+ public static final int SYSZ_INS_VCTZF = 1760;
+ public static final int SYSZ_INS_VCTZG = 1761;
+ public static final int SYSZ_INS_VCTZH = 1762;
+ public static final int SYSZ_INS_VCVB = 1763;
+ public static final int SYSZ_INS_VCVBG = 1764;
+ public static final int SYSZ_INS_VCVD = 1765;
+ public static final int SYSZ_INS_VCVDG = 1766;
+ public static final int SYSZ_INS_VDP = 1767;
+ public static final int SYSZ_INS_VEC = 1768;
+ public static final int SYSZ_INS_VECB = 1769;
+ public static final int SYSZ_INS_VECF = 1770;
+ public static final int SYSZ_INS_VECG = 1771;
+ public static final int SYSZ_INS_VECH = 1772;
+ public static final int SYSZ_INS_VECL = 1773;
+ public static final int SYSZ_INS_VECLB = 1774;
+ public static final int SYSZ_INS_VECLF = 1775;
+ public static final int SYSZ_INS_VECLG = 1776;
+ public static final int SYSZ_INS_VECLH = 1777;
+ public static final int SYSZ_INS_VERIM = 1778;
+ public static final int SYSZ_INS_VERIMB = 1779;
+ public static final int SYSZ_INS_VERIMF = 1780;
+ public static final int SYSZ_INS_VERIMG = 1781;
+ public static final int SYSZ_INS_VERIMH = 1782;
+ public static final int SYSZ_INS_VERLL = 1783;
+ public static final int SYSZ_INS_VERLLB = 1784;
+ public static final int SYSZ_INS_VERLLF = 1785;
+ public static final int SYSZ_INS_VERLLG = 1786;
+ public static final int SYSZ_INS_VERLLH = 1787;
+ public static final int SYSZ_INS_VERLLV = 1788;
+ public static final int SYSZ_INS_VERLLVB = 1789;
+ public static final int SYSZ_INS_VERLLVF = 1790;
+ public static final int SYSZ_INS_VERLLVG = 1791;
+ public static final int SYSZ_INS_VERLLVH = 1792;
+ public static final int SYSZ_INS_VESL = 1793;
+ public static final int SYSZ_INS_VESLB = 1794;
+ public static final int SYSZ_INS_VESLF = 1795;
+ public static final int SYSZ_INS_VESLG = 1796;
+ public static final int SYSZ_INS_VESLH = 1797;
+ public static final int SYSZ_INS_VESLV = 1798;
+ public static final int SYSZ_INS_VESLVB = 1799;
+ public static final int SYSZ_INS_VESLVF = 1800;
+ public static final int SYSZ_INS_VESLVG = 1801;
+ public static final int SYSZ_INS_VESLVH = 1802;
+ public static final int SYSZ_INS_VESRA = 1803;
+ public static final int SYSZ_INS_VESRAB = 1804;
+ public static final int SYSZ_INS_VESRAF = 1805;
+ public static final int SYSZ_INS_VESRAG = 1806;
+ public static final int SYSZ_INS_VESRAH = 1807;
+ public static final int SYSZ_INS_VESRAV = 1808;
+ public static final int SYSZ_INS_VESRAVB = 1809;
+ public static final int SYSZ_INS_VESRAVF = 1810;
+ public static final int SYSZ_INS_VESRAVG = 1811;
+ public static final int SYSZ_INS_VESRAVH = 1812;
+ public static final int SYSZ_INS_VESRL = 1813;
+ public static final int SYSZ_INS_VESRLB = 1814;
+ public static final int SYSZ_INS_VESRLF = 1815;
+ public static final int SYSZ_INS_VESRLG = 1816;
+ public static final int SYSZ_INS_VESRLH = 1817;
+ public static final int SYSZ_INS_VESRLV = 1818;
+ public static final int SYSZ_INS_VESRLVB = 1819;
+ public static final int SYSZ_INS_VESRLVF = 1820;
+ public static final int SYSZ_INS_VESRLVG = 1821;
+ public static final int SYSZ_INS_VESRLVH = 1822;
+ public static final int SYSZ_INS_VFA = 1823;
+ public static final int SYSZ_INS_VFADB = 1824;
+ public static final int SYSZ_INS_VFAE = 1825;
+ public static final int SYSZ_INS_VFAEB = 1826;
+ public static final int SYSZ_INS_VFAEBS = 1827;
+ public static final int SYSZ_INS_VFAEF = 1828;
+ public static final int SYSZ_INS_VFAEFS = 1829;
+ public static final int SYSZ_INS_VFAEH = 1830;
+ public static final int SYSZ_INS_VFAEHS = 1831;
+ public static final int SYSZ_INS_VFAEZB = 1832;
+ public static final int SYSZ_INS_VFAEZBS = 1833;
+ public static final int SYSZ_INS_VFAEZF = 1834;
+ public static final int SYSZ_INS_VFAEZFS = 1835;
+ public static final int SYSZ_INS_VFAEZH = 1836;
+ public static final int SYSZ_INS_VFAEZHS = 1837;
+ public static final int SYSZ_INS_VFASB = 1838;
+ public static final int SYSZ_INS_VFCE = 1839;
+ public static final int SYSZ_INS_VFCEDB = 1840;
+ public static final int SYSZ_INS_VFCEDBS = 1841;
+ public static final int SYSZ_INS_VFCESB = 1842;
+ public static final int SYSZ_INS_VFCESBS = 1843;
+ public static final int SYSZ_INS_VFCH = 1844;
+ public static final int SYSZ_INS_VFCHDB = 1845;
+ public static final int SYSZ_INS_VFCHDBS = 1846;
+ public static final int SYSZ_INS_VFCHE = 1847;
+ public static final int SYSZ_INS_VFCHEDB = 1848;
+ public static final int SYSZ_INS_VFCHEDBS = 1849;
+ public static final int SYSZ_INS_VFCHESB = 1850;
+ public static final int SYSZ_INS_VFCHESBS = 1851;
+ public static final int SYSZ_INS_VFCHSB = 1852;
+ public static final int SYSZ_INS_VFCHSBS = 1853;
+ public static final int SYSZ_INS_VFD = 1854;
+ public static final int SYSZ_INS_VFDDB = 1855;
+ public static final int SYSZ_INS_VFDSB = 1856;
+ public static final int SYSZ_INS_VFEE = 1857;
+ public static final int SYSZ_INS_VFEEB = 1858;
+ public static final int SYSZ_INS_VFEEBS = 1859;
+ public static final int SYSZ_INS_VFEEF = 1860;
+ public static final int SYSZ_INS_VFEEFS = 1861;
+ public static final int SYSZ_INS_VFEEH = 1862;
+ public static final int SYSZ_INS_VFEEHS = 1863;
+ public static final int SYSZ_INS_VFEEZB = 1864;
+ public static final int SYSZ_INS_VFEEZBS = 1865;
+ public static final int SYSZ_INS_VFEEZF = 1866;
+ public static final int SYSZ_INS_VFEEZFS = 1867;
+ public static final int SYSZ_INS_VFEEZH = 1868;
+ public static final int SYSZ_INS_VFEEZHS = 1869;
+ public static final int SYSZ_INS_VFENE = 1870;
+ public static final int SYSZ_INS_VFENEB = 1871;
+ public static final int SYSZ_INS_VFENEBS = 1872;
+ public static final int SYSZ_INS_VFENEF = 1873;
+ public static final int SYSZ_INS_VFENEFS = 1874;
+ public static final int SYSZ_INS_VFENEH = 1875;
+ public static final int SYSZ_INS_VFENEHS = 1876;
+ public static final int SYSZ_INS_VFENEZB = 1877;
+ public static final int SYSZ_INS_VFENEZBS = 1878;
+ public static final int SYSZ_INS_VFENEZF = 1879;
+ public static final int SYSZ_INS_VFENEZFS = 1880;
+ public static final int SYSZ_INS_VFENEZH = 1881;
+ public static final int SYSZ_INS_VFENEZHS = 1882;
+ public static final int SYSZ_INS_VFI = 1883;
+ public static final int SYSZ_INS_VFIDB = 1884;
+ public static final int SYSZ_INS_VFISB = 1885;
+ public static final int SYSZ_INS_VFKEDB = 1886;
+ public static final int SYSZ_INS_VFKEDBS = 1887;
+ public static final int SYSZ_INS_VFKESB = 1888;
+ public static final int SYSZ_INS_VFKESBS = 1889;
+ public static final int SYSZ_INS_VFKHDB = 1890;
+ public static final int SYSZ_INS_VFKHDBS = 1891;
+ public static final int SYSZ_INS_VFKHEDB = 1892;
+ public static final int SYSZ_INS_VFKHEDBS = 1893;
+ public static final int SYSZ_INS_VFKHESB = 1894;
+ public static final int SYSZ_INS_VFKHESBS = 1895;
+ public static final int SYSZ_INS_VFKHSB = 1896;
+ public static final int SYSZ_INS_VFKHSBS = 1897;
+ public static final int SYSZ_INS_VFLCDB = 1898;
+ public static final int SYSZ_INS_VFLCSB = 1899;
+ public static final int SYSZ_INS_VFLL = 1900;
+ public static final int SYSZ_INS_VFLLS = 1901;
+ public static final int SYSZ_INS_VFLNDB = 1902;
+ public static final int SYSZ_INS_VFLNSB = 1903;
+ public static final int SYSZ_INS_VFLPDB = 1904;
+ public static final int SYSZ_INS_VFLPSB = 1905;
+ public static final int SYSZ_INS_VFLR = 1906;
+ public static final int SYSZ_INS_VFLRD = 1907;
+ public static final int SYSZ_INS_VFM = 1908;
+ public static final int SYSZ_INS_VFMA = 1909;
+ public static final int SYSZ_INS_VFMADB = 1910;
+ public static final int SYSZ_INS_VFMASB = 1911;
+ public static final int SYSZ_INS_VFMAX = 1912;
+ public static final int SYSZ_INS_VFMAXDB = 1913;
+ public static final int SYSZ_INS_VFMAXSB = 1914;
+ public static final int SYSZ_INS_VFMDB = 1915;
+ public static final int SYSZ_INS_VFMIN = 1916;
+ public static final int SYSZ_INS_VFMINDB = 1917;
+ public static final int SYSZ_INS_VFMINSB = 1918;
+ public static final int SYSZ_INS_VFMS = 1919;
+ public static final int SYSZ_INS_VFMSB = 1920;
+ public static final int SYSZ_INS_VFMSDB = 1921;
+ public static final int SYSZ_INS_VFMSSB = 1922;
+ public static final int SYSZ_INS_VFNMA = 1923;
+ public static final int SYSZ_INS_VFNMADB = 1924;
+ public static final int SYSZ_INS_VFNMASB = 1925;
+ public static final int SYSZ_INS_VFNMS = 1926;
+ public static final int SYSZ_INS_VFNMSDB = 1927;
+ public static final int SYSZ_INS_VFNMSSB = 1928;
+ public static final int SYSZ_INS_VFPSO = 1929;
+ public static final int SYSZ_INS_VFPSODB = 1930;
+ public static final int SYSZ_INS_VFPSOSB = 1931;
+ public static final int SYSZ_INS_VFS = 1932;
+ public static final int SYSZ_INS_VFSDB = 1933;
+ public static final int SYSZ_INS_VFSQ = 1934;
+ public static final int SYSZ_INS_VFSQDB = 1935;
+ public static final int SYSZ_INS_VFSQSB = 1936;
+ public static final int SYSZ_INS_VFSSB = 1937;
+ public static final int SYSZ_INS_VFTCI = 1938;
+ public static final int SYSZ_INS_VFTCIDB = 1939;
+ public static final int SYSZ_INS_VFTCISB = 1940;
+ public static final int SYSZ_INS_VGBM = 1941;
+ public static final int SYSZ_INS_VGEF = 1942;
+ public static final int SYSZ_INS_VGEG = 1943;
+ public static final int SYSZ_INS_VGFM = 1944;
+ public static final int SYSZ_INS_VGFMA = 1945;
+ public static final int SYSZ_INS_VGFMAB = 1946;
+ public static final int SYSZ_INS_VGFMAF = 1947;
+ public static final int SYSZ_INS_VGFMAG = 1948;
+ public static final int SYSZ_INS_VGFMAH = 1949;
+ public static final int SYSZ_INS_VGFMB = 1950;
+ public static final int SYSZ_INS_VGFMF = 1951;
+ public static final int SYSZ_INS_VGFMG = 1952;
+ public static final int SYSZ_INS_VGFMH = 1953;
+ public static final int SYSZ_INS_VGM = 1954;
+ public static final int SYSZ_INS_VGMB = 1955;
+ public static final int SYSZ_INS_VGMF = 1956;
+ public static final int SYSZ_INS_VGMG = 1957;
+ public static final int SYSZ_INS_VGMH = 1958;
+ public static final int SYSZ_INS_VISTR = 1959;
+ public static final int SYSZ_INS_VISTRB = 1960;
+ public static final int SYSZ_INS_VISTRBS = 1961;
+ public static final int SYSZ_INS_VISTRF = 1962;
+ public static final int SYSZ_INS_VISTRFS = 1963;
+ public static final int SYSZ_INS_VISTRH = 1964;
+ public static final int SYSZ_INS_VISTRHS = 1965;
+ public static final int SYSZ_INS_VL = 1966;
+ public static final int SYSZ_INS_VLBB = 1967;
+ public static final int SYSZ_INS_VLC = 1968;
+ public static final int SYSZ_INS_VLCB = 1969;
+ public static final int SYSZ_INS_VLCF = 1970;
+ public static final int SYSZ_INS_VLCG = 1971;
+ public static final int SYSZ_INS_VLCH = 1972;
+ public static final int SYSZ_INS_VLDE = 1973;
+ public static final int SYSZ_INS_VLDEB = 1974;
+ public static final int SYSZ_INS_VLEB = 1975;
+ public static final int SYSZ_INS_VLED = 1976;
+ public static final int SYSZ_INS_VLEDB = 1977;
+ public static final int SYSZ_INS_VLEF = 1978;
+ public static final int SYSZ_INS_VLEG = 1979;
+ public static final int SYSZ_INS_VLEH = 1980;
+ public static final int SYSZ_INS_VLEIB = 1981;
+ public static final int SYSZ_INS_VLEIF = 1982;
+ public static final int SYSZ_INS_VLEIG = 1983;
+ public static final int SYSZ_INS_VLEIH = 1984;
+ public static final int SYSZ_INS_VLGV = 1985;
+ public static final int SYSZ_INS_VLGVB = 1986;
+ public static final int SYSZ_INS_VLGVF = 1987;
+ public static final int SYSZ_INS_VLGVG = 1988;
+ public static final int SYSZ_INS_VLGVH = 1989;
+ public static final int SYSZ_INS_VLIP = 1990;
+ public static final int SYSZ_INS_VLL = 1991;
+ public static final int SYSZ_INS_VLLEZ = 1992;
+ public static final int SYSZ_INS_VLLEZB = 1993;
+ public static final int SYSZ_INS_VLLEZF = 1994;
+ public static final int SYSZ_INS_VLLEZG = 1995;
+ public static final int SYSZ_INS_VLLEZH = 1996;
+ public static final int SYSZ_INS_VLLEZLF = 1997;
+ public static final int SYSZ_INS_VLM = 1998;
+ public static final int SYSZ_INS_VLP = 1999;
+ public static final int SYSZ_INS_VLPB = 2000;
+ public static final int SYSZ_INS_VLPF = 2001;
+ public static final int SYSZ_INS_VLPG = 2002;
+ public static final int SYSZ_INS_VLPH = 2003;
+ public static final int SYSZ_INS_VLR = 2004;
+ public static final int SYSZ_INS_VLREP = 2005;
+ public static final int SYSZ_INS_VLREPB = 2006;
+ public static final int SYSZ_INS_VLREPF = 2007;
+ public static final int SYSZ_INS_VLREPG = 2008;
+ public static final int SYSZ_INS_VLREPH = 2009;
+ public static final int SYSZ_INS_VLRL = 2010;
+ public static final int SYSZ_INS_VLRLR = 2011;
+ public static final int SYSZ_INS_VLVG = 2012;
+ public static final int SYSZ_INS_VLVGB = 2013;
+ public static final int SYSZ_INS_VLVGF = 2014;
+ public static final int SYSZ_INS_VLVGG = 2015;
+ public static final int SYSZ_INS_VLVGH = 2016;
+ public static final int SYSZ_INS_VLVGP = 2017;
+ public static final int SYSZ_INS_VMAE = 2018;
+ public static final int SYSZ_INS_VMAEB = 2019;
+ public static final int SYSZ_INS_VMAEF = 2020;
+ public static final int SYSZ_INS_VMAEH = 2021;
+ public static final int SYSZ_INS_VMAH = 2022;
+ public static final int SYSZ_INS_VMAHB = 2023;
+ public static final int SYSZ_INS_VMAHF = 2024;
+ public static final int SYSZ_INS_VMAHH = 2025;
+ public static final int SYSZ_INS_VMAL = 2026;
+ public static final int SYSZ_INS_VMALB = 2027;
+ public static final int SYSZ_INS_VMALE = 2028;
+ public static final int SYSZ_INS_VMALEB = 2029;
+ public static final int SYSZ_INS_VMALEF = 2030;
+ public static final int SYSZ_INS_VMALEH = 2031;
+ public static final int SYSZ_INS_VMALF = 2032;
+ public static final int SYSZ_INS_VMALH = 2033;
+ public static final int SYSZ_INS_VMALHB = 2034;
+ public static final int SYSZ_INS_VMALHF = 2035;
+ public static final int SYSZ_INS_VMALHH = 2036;
+ public static final int SYSZ_INS_VMALHW = 2037;
+ public static final int SYSZ_INS_VMALO = 2038;
+ public static final int SYSZ_INS_VMALOB = 2039;
+ public static final int SYSZ_INS_VMALOF = 2040;
+ public static final int SYSZ_INS_VMALOH = 2041;
+ public static final int SYSZ_INS_VMAO = 2042;
+ public static final int SYSZ_INS_VMAOB = 2043;
+ public static final int SYSZ_INS_VMAOF = 2044;
+ public static final int SYSZ_INS_VMAOH = 2045;
+ public static final int SYSZ_INS_VME = 2046;
+ public static final int SYSZ_INS_VMEB = 2047;
+ public static final int SYSZ_INS_VMEF = 2048;
+ public static final int SYSZ_INS_VMEH = 2049;
+ public static final int SYSZ_INS_VMH = 2050;
+ public static final int SYSZ_INS_VMHB = 2051;
+ public static final int SYSZ_INS_VMHF = 2052;
+ public static final int SYSZ_INS_VMHH = 2053;
+ public static final int SYSZ_INS_VML = 2054;
+ public static final int SYSZ_INS_VMLB = 2055;
+ public static final int SYSZ_INS_VMLE = 2056;
+ public static final int SYSZ_INS_VMLEB = 2057;
+ public static final int SYSZ_INS_VMLEF = 2058;
+ public static final int SYSZ_INS_VMLEH = 2059;
+ public static final int SYSZ_INS_VMLF = 2060;
+ public static final int SYSZ_INS_VMLH = 2061;
+ public static final int SYSZ_INS_VMLHB = 2062;
+ public static final int SYSZ_INS_VMLHF = 2063;
+ public static final int SYSZ_INS_VMLHH = 2064;
+ public static final int SYSZ_INS_VMLHW = 2065;
+ public static final int SYSZ_INS_VMLO = 2066;
+ public static final int SYSZ_INS_VMLOB = 2067;
+ public static final int SYSZ_INS_VMLOF = 2068;
+ public static final int SYSZ_INS_VMLOH = 2069;
+ public static final int SYSZ_INS_VMN = 2070;
+ public static final int SYSZ_INS_VMNB = 2071;
+ public static final int SYSZ_INS_VMNF = 2072;
+ public static final int SYSZ_INS_VMNG = 2073;
+ public static final int SYSZ_INS_VMNH = 2074;
+ public static final int SYSZ_INS_VMNL = 2075;
+ public static final int SYSZ_INS_VMNLB = 2076;
+ public static final int SYSZ_INS_VMNLF = 2077;
+ public static final int SYSZ_INS_VMNLG = 2078;
+ public static final int SYSZ_INS_VMNLH = 2079;
+ public static final int SYSZ_INS_VMO = 2080;
+ public static final int SYSZ_INS_VMOB = 2081;
+ public static final int SYSZ_INS_VMOF = 2082;
+ public static final int SYSZ_INS_VMOH = 2083;
+ public static final int SYSZ_INS_VMP = 2084;
+ public static final int SYSZ_INS_VMRH = 2085;
+ public static final int SYSZ_INS_VMRHB = 2086;
+ public static final int SYSZ_INS_VMRHF = 2087;
+ public static final int SYSZ_INS_VMRHG = 2088;
+ public static final int SYSZ_INS_VMRHH = 2089;
+ public static final int SYSZ_INS_VMRL = 2090;
+ public static final int SYSZ_INS_VMRLB = 2091;
+ public static final int SYSZ_INS_VMRLF = 2092;
+ public static final int SYSZ_INS_VMRLG = 2093;
+ public static final int SYSZ_INS_VMRLH = 2094;
+ public static final int SYSZ_INS_VMSL = 2095;
+ public static final int SYSZ_INS_VMSLG = 2096;
+ public static final int SYSZ_INS_VMSP = 2097;
+ public static final int SYSZ_INS_VMX = 2098;
+ public static final int SYSZ_INS_VMXB = 2099;
+ public static final int SYSZ_INS_VMXF = 2100;
+ public static final int SYSZ_INS_VMXG = 2101;
+ public static final int SYSZ_INS_VMXH = 2102;
+ public static final int SYSZ_INS_VMXL = 2103;
+ public static final int SYSZ_INS_VMXLB = 2104;
+ public static final int SYSZ_INS_VMXLF = 2105;
+ public static final int SYSZ_INS_VMXLG = 2106;
+ public static final int SYSZ_INS_VMXLH = 2107;
+ public static final int SYSZ_INS_VN = 2108;
+ public static final int SYSZ_INS_VNC = 2109;
+ public static final int SYSZ_INS_VNN = 2110;
+ public static final int SYSZ_INS_VNO = 2111;
+ public static final int SYSZ_INS_VNX = 2112;
+ public static final int SYSZ_INS_VO = 2113;
+ public static final int SYSZ_INS_VOC = 2114;
+ public static final int SYSZ_INS_VONE = 2115;
+ public static final int SYSZ_INS_VPDI = 2116;
+ public static final int SYSZ_INS_VPERM = 2117;
+ public static final int SYSZ_INS_VPK = 2118;
+ public static final int SYSZ_INS_VPKF = 2119;
+ public static final int SYSZ_INS_VPKG = 2120;
+ public static final int SYSZ_INS_VPKH = 2121;
+ public static final int SYSZ_INS_VPKLS = 2122;
+ public static final int SYSZ_INS_VPKLSF = 2123;
+ public static final int SYSZ_INS_VPKLSFS = 2124;
+ public static final int SYSZ_INS_VPKLSG = 2125;
+ public static final int SYSZ_INS_VPKLSGS = 2126;
+ public static final int SYSZ_INS_VPKLSH = 2127;
+ public static final int SYSZ_INS_VPKLSHS = 2128;
+ public static final int SYSZ_INS_VPKS = 2129;
+ public static final int SYSZ_INS_VPKSF = 2130;
+ public static final int SYSZ_INS_VPKSFS = 2131;
+ public static final int SYSZ_INS_VPKSG = 2132;
+ public static final int SYSZ_INS_VPKSGS = 2133;
+ public static final int SYSZ_INS_VPKSH = 2134;
+ public static final int SYSZ_INS_VPKSHS = 2135;
+ public static final int SYSZ_INS_VPKZ = 2136;
+ public static final int SYSZ_INS_VPOPCT = 2137;
+ public static final int SYSZ_INS_VPOPCTB = 2138;
+ public static final int SYSZ_INS_VPOPCTF = 2139;
+ public static final int SYSZ_INS_VPOPCTG = 2140;
+ public static final int SYSZ_INS_VPOPCTH = 2141;
+ public static final int SYSZ_INS_VPSOP = 2142;
+ public static final int SYSZ_INS_VREP = 2143;
+ public static final int SYSZ_INS_VREPB = 2144;
+ public static final int SYSZ_INS_VREPF = 2145;
+ public static final int SYSZ_INS_VREPG = 2146;
+ public static final int SYSZ_INS_VREPH = 2147;
+ public static final int SYSZ_INS_VREPI = 2148;
+ public static final int SYSZ_INS_VREPIB = 2149;
+ public static final int SYSZ_INS_VREPIF = 2150;
+ public static final int SYSZ_INS_VREPIG = 2151;
+ public static final int SYSZ_INS_VREPIH = 2152;
+ public static final int SYSZ_INS_VRP = 2153;
+ public static final int SYSZ_INS_VS = 2154;
+ public static final int SYSZ_INS_VSB = 2155;
+ public static final int SYSZ_INS_VSBCBI = 2156;
+ public static final int SYSZ_INS_VSBCBIQ = 2157;
+ public static final int SYSZ_INS_VSBI = 2158;
+ public static final int SYSZ_INS_VSBIQ = 2159;
+ public static final int SYSZ_INS_VSCBI = 2160;
+ public static final int SYSZ_INS_VSCBIB = 2161;
+ public static final int SYSZ_INS_VSCBIF = 2162;
+ public static final int SYSZ_INS_VSCBIG = 2163;
+ public static final int SYSZ_INS_VSCBIH = 2164;
+ public static final int SYSZ_INS_VSCBIQ = 2165;
+ public static final int SYSZ_INS_VSCEF = 2166;
+ public static final int SYSZ_INS_VSCEG = 2167;
+ public static final int SYSZ_INS_VSDP = 2168;
+ public static final int SYSZ_INS_VSEG = 2169;
+ public static final int SYSZ_INS_VSEGB = 2170;
+ public static final int SYSZ_INS_VSEGF = 2171;
+ public static final int SYSZ_INS_VSEGH = 2172;
+ public static final int SYSZ_INS_VSEL = 2173;
+ public static final int SYSZ_INS_VSF = 2174;
+ public static final int SYSZ_INS_VSG = 2175;
+ public static final int SYSZ_INS_VSH = 2176;
+ public static final int SYSZ_INS_VSL = 2177;
+ public static final int SYSZ_INS_VSLB = 2178;
+ public static final int SYSZ_INS_VSLDB = 2179;
+ public static final int SYSZ_INS_VSP = 2180;
+ public static final int SYSZ_INS_VSQ = 2181;
+ public static final int SYSZ_INS_VSRA = 2182;
+ public static final int SYSZ_INS_VSRAB = 2183;
+ public static final int SYSZ_INS_VSRL = 2184;
+ public static final int SYSZ_INS_VSRLB = 2185;
+ public static final int SYSZ_INS_VSRP = 2186;
+ public static final int SYSZ_INS_VST = 2187;
+ public static final int SYSZ_INS_VSTEB = 2188;
+ public static final int SYSZ_INS_VSTEF = 2189;
+ public static final int SYSZ_INS_VSTEG = 2190;
+ public static final int SYSZ_INS_VSTEH = 2191;
+ public static final int SYSZ_INS_VSTL = 2192;
+ public static final int SYSZ_INS_VSTM = 2193;
+ public static final int SYSZ_INS_VSTRC = 2194;
+ public static final int SYSZ_INS_VSTRCB = 2195;
+ public static final int SYSZ_INS_VSTRCBS = 2196;
+ public static final int SYSZ_INS_VSTRCF = 2197;
+ public static final int SYSZ_INS_VSTRCFS = 2198;
+ public static final int SYSZ_INS_VSTRCH = 2199;
+ public static final int SYSZ_INS_VSTRCHS = 2200;
+ public static final int SYSZ_INS_VSTRCZB = 2201;
+ public static final int SYSZ_INS_VSTRCZBS = 2202;
+ public static final int SYSZ_INS_VSTRCZF = 2203;
+ public static final int SYSZ_INS_VSTRCZFS = 2204;
+ public static final int SYSZ_INS_VSTRCZH = 2205;
+ public static final int SYSZ_INS_VSTRCZHS = 2206;
+ public static final int SYSZ_INS_VSTRL = 2207;
+ public static final int SYSZ_INS_VSTRLR = 2208;
+ public static final int SYSZ_INS_VSUM = 2209;
+ public static final int SYSZ_INS_VSUMB = 2210;
+ public static final int SYSZ_INS_VSUMG = 2211;
+ public static final int SYSZ_INS_VSUMGF = 2212;
+ public static final int SYSZ_INS_VSUMGH = 2213;
+ public static final int SYSZ_INS_VSUMH = 2214;
+ public static final int SYSZ_INS_VSUMQ = 2215;
+ public static final int SYSZ_INS_VSUMQF = 2216;
+ public static final int SYSZ_INS_VSUMQG = 2217;
+ public static final int SYSZ_INS_VTM = 2218;
+ public static final int SYSZ_INS_VTP = 2219;
+ public static final int SYSZ_INS_VUPH = 2220;
+ public static final int SYSZ_INS_VUPHB = 2221;
+ public static final int SYSZ_INS_VUPHF = 2222;
+ public static final int SYSZ_INS_VUPHH = 2223;
+ public static final int SYSZ_INS_VUPKZ = 2224;
+ public static final int SYSZ_INS_VUPL = 2225;
+ public static final int SYSZ_INS_VUPLB = 2226;
+ public static final int SYSZ_INS_VUPLF = 2227;
+ public static final int SYSZ_INS_VUPLH = 2228;
+ public static final int SYSZ_INS_VUPLHB = 2229;
+ public static final int SYSZ_INS_VUPLHF = 2230;
+ public static final int SYSZ_INS_VUPLHH = 2231;
+ public static final int SYSZ_INS_VUPLHW = 2232;
+ public static final int SYSZ_INS_VUPLL = 2233;
+ public static final int SYSZ_INS_VUPLLB = 2234;
+ public static final int SYSZ_INS_VUPLLF = 2235;
+ public static final int SYSZ_INS_VUPLLH = 2236;
+ public static final int SYSZ_INS_VX = 2237;
+ public static final int SYSZ_INS_VZERO = 2238;
+ public static final int SYSZ_INS_WCDGB = 2239;
+ public static final int SYSZ_INS_WCDLGB = 2240;
+ public static final int SYSZ_INS_WCGDB = 2241;
+ public static final int SYSZ_INS_WCLGDB = 2242;
+ public static final int SYSZ_INS_WFADB = 2243;
+ public static final int SYSZ_INS_WFASB = 2244;
+ public static final int SYSZ_INS_WFAXB = 2245;
+ public static final int SYSZ_INS_WFC = 2246;
+ public static final int SYSZ_INS_WFCDB = 2247;
+ public static final int SYSZ_INS_WFCEDB = 2248;
+ public static final int SYSZ_INS_WFCEDBS = 2249;
+ public static final int SYSZ_INS_WFCESB = 2250;
+ public static final int SYSZ_INS_WFCESBS = 2251;
+ public static final int SYSZ_INS_WFCEXB = 2252;
+ public static final int SYSZ_INS_WFCEXBS = 2253;
+ public static final int SYSZ_INS_WFCHDB = 2254;
+ public static final int SYSZ_INS_WFCHDBS = 2255;
+ public static final int SYSZ_INS_WFCHEDB = 2256;
+ public static final int SYSZ_INS_WFCHEDBS = 2257;
+ public static final int SYSZ_INS_WFCHESB = 2258;
+ public static final int SYSZ_INS_WFCHESBS = 2259;
+ public static final int SYSZ_INS_WFCHEXB = 2260;
+ public static final int SYSZ_INS_WFCHEXBS = 2261;
+ public static final int SYSZ_INS_WFCHSB = 2262;
+ public static final int SYSZ_INS_WFCHSBS = 2263;
+ public static final int SYSZ_INS_WFCHXB = 2264;
+ public static final int SYSZ_INS_WFCHXBS = 2265;
+ public static final int SYSZ_INS_WFCSB = 2266;
+ public static final int SYSZ_INS_WFCXB = 2267;
+ public static final int SYSZ_INS_WFDDB = 2268;
+ public static final int SYSZ_INS_WFDSB = 2269;
+ public static final int SYSZ_INS_WFDXB = 2270;
+ public static final int SYSZ_INS_WFIDB = 2271;
+ public static final int SYSZ_INS_WFISB = 2272;
+ public static final int SYSZ_INS_WFIXB = 2273;
+ public static final int SYSZ_INS_WFK = 2274;
+ public static final int SYSZ_INS_WFKDB = 2275;
+ public static final int SYSZ_INS_WFKEDB = 2276;
+ public static final int SYSZ_INS_WFKEDBS = 2277;
+ public static final int SYSZ_INS_WFKESB = 2278;
+ public static final int SYSZ_INS_WFKESBS = 2279;
+ public static final int SYSZ_INS_WFKEXB = 2280;
+ public static final int SYSZ_INS_WFKEXBS = 2281;
+ public static final int SYSZ_INS_WFKHDB = 2282;
+ public static final int SYSZ_INS_WFKHDBS = 2283;
+ public static final int SYSZ_INS_WFKHEDB = 2284;
+ public static final int SYSZ_INS_WFKHEDBS = 2285;
+ public static final int SYSZ_INS_WFKHESB = 2286;
+ public static final int SYSZ_INS_WFKHESBS = 2287;
+ public static final int SYSZ_INS_WFKHEXB = 2288;
+ public static final int SYSZ_INS_WFKHEXBS = 2289;
+ public static final int SYSZ_INS_WFKHSB = 2290;
+ public static final int SYSZ_INS_WFKHSBS = 2291;
+ public static final int SYSZ_INS_WFKHXB = 2292;
+ public static final int SYSZ_INS_WFKHXBS = 2293;
+ public static final int SYSZ_INS_WFKSB = 2294;
+ public static final int SYSZ_INS_WFKXB = 2295;
+ public static final int SYSZ_INS_WFLCDB = 2296;
+ public static final int SYSZ_INS_WFLCSB = 2297;
+ public static final int SYSZ_INS_WFLCXB = 2298;
+ public static final int SYSZ_INS_WFLLD = 2299;
+ public static final int SYSZ_INS_WFLLS = 2300;
+ public static final int SYSZ_INS_WFLNDB = 2301;
+ public static final int SYSZ_INS_WFLNSB = 2302;
+ public static final int SYSZ_INS_WFLNXB = 2303;
+ public static final int SYSZ_INS_WFLPDB = 2304;
+ public static final int SYSZ_INS_WFLPSB = 2305;
+ public static final int SYSZ_INS_WFLPXB = 2306;
+ public static final int SYSZ_INS_WFLRD = 2307;
+ public static final int SYSZ_INS_WFLRX = 2308;
+ public static final int SYSZ_INS_WFMADB = 2309;
+ public static final int SYSZ_INS_WFMASB = 2310;
+ public static final int SYSZ_INS_WFMAXB = 2311;
+ public static final int SYSZ_INS_WFMAXDB = 2312;
+ public static final int SYSZ_INS_WFMAXSB = 2313;
+ public static final int SYSZ_INS_WFMAXXB = 2314;
+ public static final int SYSZ_INS_WFMDB = 2315;
+ public static final int SYSZ_INS_WFMINDB = 2316;
+ public static final int SYSZ_INS_WFMINSB = 2317;
+ public static final int SYSZ_INS_WFMINXB = 2318;
+ public static final int SYSZ_INS_WFMSB = 2319;
+ public static final int SYSZ_INS_WFMSDB = 2320;
+ public static final int SYSZ_INS_WFMSSB = 2321;
+ public static final int SYSZ_INS_WFMSXB = 2322;
+ public static final int SYSZ_INS_WFMXB = 2323;
+ public static final int SYSZ_INS_WFNMADB = 2324;
+ public static final int SYSZ_INS_WFNMASB = 2325;
+ public static final int SYSZ_INS_WFNMAXB = 2326;
+ public static final int SYSZ_INS_WFNMSDB = 2327;
+ public static final int SYSZ_INS_WFNMSSB = 2328;
+ public static final int SYSZ_INS_WFNMSXB = 2329;
+ public static final int SYSZ_INS_WFPSODB = 2330;
+ public static final int SYSZ_INS_WFPSOSB = 2331;
+ public static final int SYSZ_INS_WFPSOXB = 2332;
+ public static final int SYSZ_INS_WFSDB = 2333;
+ public static final int SYSZ_INS_WFSQDB = 2334;
+ public static final int SYSZ_INS_WFSQSB = 2335;
+ public static final int SYSZ_INS_WFSQXB = 2336;
+ public static final int SYSZ_INS_WFSSB = 2337;
+ public static final int SYSZ_INS_WFSXB = 2338;
+ public static final int SYSZ_INS_WFTCIDB = 2339;
+ public static final int SYSZ_INS_WFTCISB = 2340;
+ public static final int SYSZ_INS_WFTCIXB = 2341;
+ public static final int SYSZ_INS_WLDEB = 2342;
+ public static final int SYSZ_INS_WLEDB = 2343;
+ public static final int SYSZ_INS_XSCH = 2344;
+ public static final int SYSZ_INS_ZAP = 2345;
+ public static final int SYSZ_INS_ENDING = 2346;
+
+ public static final int SYSZ_GRP_INVALID = 0;
+ public static final int SYSZ_GRP_JUMP = 1;
+ public static final int SYSZ_GRP_DISTINCTOPS = 128;
+ public static final int SYSZ_GRP_FPEXTENSION = 129;
+ public static final int SYSZ_GRP_HIGHWORD = 130;
+ public static final int SYSZ_GRP_INTERLOCKEDACCESS1 = 131;
+ public static final int SYSZ_GRP_LOADSTOREONCOND = 132;
+ public static final int SYSZ_GRP_DFPPACKEDCONVERSION = 133;
+ public static final int SYSZ_GRP_DFPZONEDCONVERSION = 134;
+ public static final int SYSZ_GRP_ENHANCEDDAT2 = 135;
+ public static final int SYSZ_GRP_EXECUTIONHINT = 136;
+ public static final int SYSZ_GRP_GUARDEDSTORAGE = 137;
+ public static final int SYSZ_GRP_INSERTREFERENCEBITSMULTIPLE = 138;
+ public static final int SYSZ_GRP_LOADANDTRAP = 139;
+ public static final int SYSZ_GRP_LOADANDZERORIGHTMOSTBYTE = 140;
+ public static final int SYSZ_GRP_LOADSTOREONCOND2 = 141;
+ public static final int SYSZ_GRP_MESSAGESECURITYASSIST3 = 142;
+ public static final int SYSZ_GRP_MESSAGESECURITYASSIST4 = 143;
+ public static final int SYSZ_GRP_MESSAGESECURITYASSIST5 = 144;
+ public static final int SYSZ_GRP_MESSAGESECURITYASSIST7 = 145;
+ public static final int SYSZ_GRP_MESSAGESECURITYASSIST8 = 146;
+ public static final int SYSZ_GRP_MISCELLANEOUSEXTENSIONS = 147;
+ public static final int SYSZ_GRP_MISCELLANEOUSEXTENSIONS2 = 148;
+ public static final int SYSZ_GRP_NOVECTOR = 149;
+ public static final int SYSZ_GRP_POPULATIONCOUNT = 150;
+ public static final int SYSZ_GRP_PROCESSORASSIST = 151;
+ public static final int SYSZ_GRP_RESETREFERENCEBITSMULTIPLE = 152;
+ public static final int SYSZ_GRP_TRANSACTIONALEXECUTION = 153;
+ public static final int SYSZ_GRP_VECTOR = 154;
+ public static final int SYSZ_GRP_VECTORENHANCEMENTS1 = 155;
+ public static final int SYSZ_GRP_VECTORPACKEDDECIMAL = 156;
+ public static final int SYSZ_GRP_ENDING = 157;
+} \ No newline at end of file
diff --git a/capstone/bindings/java/capstone/TMS320C64x_const.java b/capstone/bindings/java/capstone/TMS320C64x_const.java
new file mode 100644
index 000000000..6e48b41ce
--- /dev/null
+++ b/capstone/bindings/java/capstone/TMS320C64x_const.java
@@ -0,0 +1,281 @@
+// For Capstone Engine. AUTO-GENERATED FILE, DO NOT EDIT
+package capstone;
+
+public class TMS320C64x_const {
+
+ public static final int TMS320C64X_OP_INVALID = 0;
+ public static final int TMS320C64X_OP_REG = 1;
+ public static final int TMS320C64X_OP_IMM = 2;
+ public static final int TMS320C64X_OP_MEM = 3;
+ public static final int TMS320C64X_OP_REGPAIR = 64;
+
+ public static final int TMS320C64X_MEM_DISP_INVALID = 0;
+ public static final int TMS320C64X_MEM_DISP_CONSTANT = 1;
+ public static final int TMS320C64X_MEM_DISP_REGISTER = 2;
+
+ public static final int TMS320C64X_MEM_DIR_INVALID = 0;
+ public static final int TMS320C64X_MEM_DIR_FW = 1;
+ public static final int TMS320C64X_MEM_DIR_BW = 2;
+
+ public static final int TMS320C64X_MEM_MOD_INVALID = 0;
+ public static final int TMS320C64X_MEM_MOD_NO = 1;
+ public static final int TMS320C64X_MEM_MOD_PRE = 2;
+ public static final int TMS320C64X_MEM_MOD_POST = 3;
+
+ public static final int TMS320C64X_REG_INVALID = 0;
+ public static final int TMS320C64X_REG_AMR = 1;
+ public static final int TMS320C64X_REG_CSR = 2;
+ public static final int TMS320C64X_REG_DIER = 3;
+ public static final int TMS320C64X_REG_DNUM = 4;
+ public static final int TMS320C64X_REG_ECR = 5;
+ public static final int TMS320C64X_REG_GFPGFR = 6;
+ public static final int TMS320C64X_REG_GPLYA = 7;
+ public static final int TMS320C64X_REG_GPLYB = 8;
+ public static final int TMS320C64X_REG_ICR = 9;
+ public static final int TMS320C64X_REG_IER = 10;
+ public static final int TMS320C64X_REG_IERR = 11;
+ public static final int TMS320C64X_REG_ILC = 12;
+ public static final int TMS320C64X_REG_IRP = 13;
+ public static final int TMS320C64X_REG_ISR = 14;
+ public static final int TMS320C64X_REG_ISTP = 15;
+ public static final int TMS320C64X_REG_ITSR = 16;
+ public static final int TMS320C64X_REG_NRP = 17;
+ public static final int TMS320C64X_REG_NTSR = 18;
+ public static final int TMS320C64X_REG_REP = 19;
+ public static final int TMS320C64X_REG_RILC = 20;
+ public static final int TMS320C64X_REG_SSR = 21;
+ public static final int TMS320C64X_REG_TSCH = 22;
+ public static final int TMS320C64X_REG_TSCL = 23;
+ public static final int TMS320C64X_REG_TSR = 24;
+ public static final int TMS320C64X_REG_A0 = 25;
+ public static final int TMS320C64X_REG_A1 = 26;
+ public static final int TMS320C64X_REG_A2 = 27;
+ public static final int TMS320C64X_REG_A3 = 28;
+ public static final int TMS320C64X_REG_A4 = 29;
+ public static final int TMS320C64X_REG_A5 = 30;
+ public static final int TMS320C64X_REG_A6 = 31;
+ public static final int TMS320C64X_REG_A7 = 32;
+ public static final int TMS320C64X_REG_A8 = 33;
+ public static final int TMS320C64X_REG_A9 = 34;
+ public static final int TMS320C64X_REG_A10 = 35;
+ public static final int TMS320C64X_REG_A11 = 36;
+ public static final int TMS320C64X_REG_A12 = 37;
+ public static final int TMS320C64X_REG_A13 = 38;
+ public static final int TMS320C64X_REG_A14 = 39;
+ public static final int TMS320C64X_REG_A15 = 40;
+ public static final int TMS320C64X_REG_A16 = 41;
+ public static final int TMS320C64X_REG_A17 = 42;
+ public static final int TMS320C64X_REG_A18 = 43;
+ public static final int TMS320C64X_REG_A19 = 44;
+ public static final int TMS320C64X_REG_A20 = 45;
+ public static final int TMS320C64X_REG_A21 = 46;
+ public static final int TMS320C64X_REG_A22 = 47;
+ public static final int TMS320C64X_REG_A23 = 48;
+ public static final int TMS320C64X_REG_A24 = 49;
+ public static final int TMS320C64X_REG_A25 = 50;
+ public static final int TMS320C64X_REG_A26 = 51;
+ public static final int TMS320C64X_REG_A27 = 52;
+ public static final int TMS320C64X_REG_A28 = 53;
+ public static final int TMS320C64X_REG_A29 = 54;
+ public static final int TMS320C64X_REG_A30 = 55;
+ public static final int TMS320C64X_REG_A31 = 56;
+ public static final int TMS320C64X_REG_B0 = 57;
+ public static final int TMS320C64X_REG_B1 = 58;
+ public static final int TMS320C64X_REG_B2 = 59;
+ public static final int TMS320C64X_REG_B3 = 60;
+ public static final int TMS320C64X_REG_B4 = 61;
+ public static final int TMS320C64X_REG_B5 = 62;
+ public static final int TMS320C64X_REG_B6 = 63;
+ public static final int TMS320C64X_REG_B7 = 64;
+ public static final int TMS320C64X_REG_B8 = 65;
+ public static final int TMS320C64X_REG_B9 = 66;
+ public static final int TMS320C64X_REG_B10 = 67;
+ public static final int TMS320C64X_REG_B11 = 68;
+ public static final int TMS320C64X_REG_B12 = 69;
+ public static final int TMS320C64X_REG_B13 = 70;
+ public static final int TMS320C64X_REG_B14 = 71;
+ public static final int TMS320C64X_REG_B15 = 72;
+ public static final int TMS320C64X_REG_B16 = 73;
+ public static final int TMS320C64X_REG_B17 = 74;
+ public static final int TMS320C64X_REG_B18 = 75;
+ public static final int TMS320C64X_REG_B19 = 76;
+ public static final int TMS320C64X_REG_B20 = 77;
+ public static final int TMS320C64X_REG_B21 = 78;
+ public static final int TMS320C64X_REG_B22 = 79;
+ public static final int TMS320C64X_REG_B23 = 80;
+ public static final int TMS320C64X_REG_B24 = 81;
+ public static final int TMS320C64X_REG_B25 = 82;
+ public static final int TMS320C64X_REG_B26 = 83;
+ public static final int TMS320C64X_REG_B27 = 84;
+ public static final int TMS320C64X_REG_B28 = 85;
+ public static final int TMS320C64X_REG_B29 = 86;
+ public static final int TMS320C64X_REG_B30 = 87;
+ public static final int TMS320C64X_REG_B31 = 88;
+ public static final int TMS320C64X_REG_PCE1 = 89;
+ public static final int TMS320C64X_REG_ENDING = 90;
+ public static final int TMS320C64X_REG_EFR = TMS320C64X_REG_ECR;
+ public static final int TMS320C64X_REG_IFR = TMS320C64X_REG_ISR;
+
+ public static final int TMS320C64X_INS_INVALID = 0;
+ public static final int TMS320C64X_INS_ABS = 1;
+ public static final int TMS320C64X_INS_ABS2 = 2;
+ public static final int TMS320C64X_INS_ADD = 3;
+ public static final int TMS320C64X_INS_ADD2 = 4;
+ public static final int TMS320C64X_INS_ADD4 = 5;
+ public static final int TMS320C64X_INS_ADDAB = 6;
+ public static final int TMS320C64X_INS_ADDAD = 7;
+ public static final int TMS320C64X_INS_ADDAH = 8;
+ public static final int TMS320C64X_INS_ADDAW = 9;
+ public static final int TMS320C64X_INS_ADDK = 10;
+ public static final int TMS320C64X_INS_ADDKPC = 11;
+ public static final int TMS320C64X_INS_ADDU = 12;
+ public static final int TMS320C64X_INS_AND = 13;
+ public static final int TMS320C64X_INS_ANDN = 14;
+ public static final int TMS320C64X_INS_AVG2 = 15;
+ public static final int TMS320C64X_INS_AVGU4 = 16;
+ public static final int TMS320C64X_INS_B = 17;
+ public static final int TMS320C64X_INS_BDEC = 18;
+ public static final int TMS320C64X_INS_BITC4 = 19;
+ public static final int TMS320C64X_INS_BNOP = 20;
+ public static final int TMS320C64X_INS_BPOS = 21;
+ public static final int TMS320C64X_INS_CLR = 22;
+ public static final int TMS320C64X_INS_CMPEQ = 23;
+ public static final int TMS320C64X_INS_CMPEQ2 = 24;
+ public static final int TMS320C64X_INS_CMPEQ4 = 25;
+ public static final int TMS320C64X_INS_CMPGT = 26;
+ public static final int TMS320C64X_INS_CMPGT2 = 27;
+ public static final int TMS320C64X_INS_CMPGTU4 = 28;
+ public static final int TMS320C64X_INS_CMPLT = 29;
+ public static final int TMS320C64X_INS_CMPLTU = 30;
+ public static final int TMS320C64X_INS_DEAL = 31;
+ public static final int TMS320C64X_INS_DOTP2 = 32;
+ public static final int TMS320C64X_INS_DOTPN2 = 33;
+ public static final int TMS320C64X_INS_DOTPNRSU2 = 34;
+ public static final int TMS320C64X_INS_DOTPRSU2 = 35;
+ public static final int TMS320C64X_INS_DOTPSU4 = 36;
+ public static final int TMS320C64X_INS_DOTPU4 = 37;
+ public static final int TMS320C64X_INS_EXT = 38;
+ public static final int TMS320C64X_INS_EXTU = 39;
+ public static final int TMS320C64X_INS_GMPGTU = 40;
+ public static final int TMS320C64X_INS_GMPY4 = 41;
+ public static final int TMS320C64X_INS_LDB = 42;
+ public static final int TMS320C64X_INS_LDBU = 43;
+ public static final int TMS320C64X_INS_LDDW = 44;
+ public static final int TMS320C64X_INS_LDH = 45;
+ public static final int TMS320C64X_INS_LDHU = 46;
+ public static final int TMS320C64X_INS_LDNDW = 47;
+ public static final int TMS320C64X_INS_LDNW = 48;
+ public static final int TMS320C64X_INS_LDW = 49;
+ public static final int TMS320C64X_INS_LMBD = 50;
+ public static final int TMS320C64X_INS_MAX2 = 51;
+ public static final int TMS320C64X_INS_MAXU4 = 52;
+ public static final int TMS320C64X_INS_MIN2 = 53;
+ public static final int TMS320C64X_INS_MINU4 = 54;
+ public static final int TMS320C64X_INS_MPY = 55;
+ public static final int TMS320C64X_INS_MPY2 = 56;
+ public static final int TMS320C64X_INS_MPYH = 57;
+ public static final int TMS320C64X_INS_MPYHI = 58;
+ public static final int TMS320C64X_INS_MPYHIR = 59;
+ public static final int TMS320C64X_INS_MPYHL = 60;
+ public static final int TMS320C64X_INS_MPYHLU = 61;
+ public static final int TMS320C64X_INS_MPYHSLU = 62;
+ public static final int TMS320C64X_INS_MPYHSU = 63;
+ public static final int TMS320C64X_INS_MPYHU = 64;
+ public static final int TMS320C64X_INS_MPYHULS = 65;
+ public static final int TMS320C64X_INS_MPYHUS = 66;
+ public static final int TMS320C64X_INS_MPYLH = 67;
+ public static final int TMS320C64X_INS_MPYLHU = 68;
+ public static final int TMS320C64X_INS_MPYLI = 69;
+ public static final int TMS320C64X_INS_MPYLIR = 70;
+ public static final int TMS320C64X_INS_MPYLSHU = 71;
+ public static final int TMS320C64X_INS_MPYLUHS = 72;
+ public static final int TMS320C64X_INS_MPYSU = 73;
+ public static final int TMS320C64X_INS_MPYSU4 = 74;
+ public static final int TMS320C64X_INS_MPYU = 75;
+ public static final int TMS320C64X_INS_MPYU4 = 76;
+ public static final int TMS320C64X_INS_MPYUS = 77;
+ public static final int TMS320C64X_INS_MVC = 78;
+ public static final int TMS320C64X_INS_MVD = 79;
+ public static final int TMS320C64X_INS_MVK = 80;
+ public static final int TMS320C64X_INS_MVKL = 81;
+ public static final int TMS320C64X_INS_MVKLH = 82;
+ public static final int TMS320C64X_INS_NOP = 83;
+ public static final int TMS320C64X_INS_NORM = 84;
+ public static final int TMS320C64X_INS_OR = 85;
+ public static final int TMS320C64X_INS_PACK2 = 86;
+ public static final int TMS320C64X_INS_PACKH2 = 87;
+ public static final int TMS320C64X_INS_PACKH4 = 88;
+ public static final int TMS320C64X_INS_PACKHL2 = 89;
+ public static final int TMS320C64X_INS_PACKL4 = 90;
+ public static final int TMS320C64X_INS_PACKLH2 = 91;
+ public static final int TMS320C64X_INS_ROTL = 92;
+ public static final int TMS320C64X_INS_SADD = 93;
+ public static final int TMS320C64X_INS_SADD2 = 94;
+ public static final int TMS320C64X_INS_SADDU4 = 95;
+ public static final int TMS320C64X_INS_SADDUS2 = 96;
+ public static final int TMS320C64X_INS_SAT = 97;
+ public static final int TMS320C64X_INS_SET = 98;
+ public static final int TMS320C64X_INS_SHFL = 99;
+ public static final int TMS320C64X_INS_SHL = 100;
+ public static final int TMS320C64X_INS_SHLMB = 101;
+ public static final int TMS320C64X_INS_SHR = 102;
+ public static final int TMS320C64X_INS_SHR2 = 103;
+ public static final int TMS320C64X_INS_SHRMB = 104;
+ public static final int TMS320C64X_INS_SHRU = 105;
+ public static final int TMS320C64X_INS_SHRU2 = 106;
+ public static final int TMS320C64X_INS_SMPY = 107;
+ public static final int TMS320C64X_INS_SMPY2 = 108;
+ public static final int TMS320C64X_INS_SMPYH = 109;
+ public static final int TMS320C64X_INS_SMPYHL = 110;
+ public static final int TMS320C64X_INS_SMPYLH = 111;
+ public static final int TMS320C64X_INS_SPACK2 = 112;
+ public static final int TMS320C64X_INS_SPACKU4 = 113;
+ public static final int TMS320C64X_INS_SSHL = 114;
+ public static final int TMS320C64X_INS_SSHVL = 115;
+ public static final int TMS320C64X_INS_SSHVR = 116;
+ public static final int TMS320C64X_INS_SSUB = 117;
+ public static final int TMS320C64X_INS_STB = 118;
+ public static final int TMS320C64X_INS_STDW = 119;
+ public static final int TMS320C64X_INS_STH = 120;
+ public static final int TMS320C64X_INS_STNDW = 121;
+ public static final int TMS320C64X_INS_STNW = 122;
+ public static final int TMS320C64X_INS_STW = 123;
+ public static final int TMS320C64X_INS_SUB = 124;
+ public static final int TMS320C64X_INS_SUB2 = 125;
+ public static final int TMS320C64X_INS_SUB4 = 126;
+ public static final int TMS320C64X_INS_SUBAB = 127;
+ public static final int TMS320C64X_INS_SUBABS4 = 128;
+ public static final int TMS320C64X_INS_SUBAH = 129;
+ public static final int TMS320C64X_INS_SUBAW = 130;
+ public static final int TMS320C64X_INS_SUBC = 131;
+ public static final int TMS320C64X_INS_SUBU = 132;
+ public static final int TMS320C64X_INS_SWAP4 = 133;
+ public static final int TMS320C64X_INS_UNPKHU4 = 134;
+ public static final int TMS320C64X_INS_UNPKLU4 = 135;
+ public static final int TMS320C64X_INS_XOR = 136;
+ public static final int TMS320C64X_INS_XPND2 = 137;
+ public static final int TMS320C64X_INS_XPND4 = 138;
+ public static final int TMS320C64X_INS_IDLE = 139;
+ public static final int TMS320C64X_INS_MV = 140;
+ public static final int TMS320C64X_INS_NEG = 141;
+ public static final int TMS320C64X_INS_NOT = 142;
+ public static final int TMS320C64X_INS_SWAP2 = 143;
+ public static final int TMS320C64X_INS_ZERO = 144;
+ public static final int TMS320C64X_INS_ENDING = 145;
+
+ public static final int TMS320C64X_GRP_INVALID = 0;
+ public static final int TMS320C64X_GRP_JUMP = 1;
+ public static final int TMS320C64X_GRP_FUNIT_D = 128;
+ public static final int TMS320C64X_GRP_FUNIT_L = 129;
+ public static final int TMS320C64X_GRP_FUNIT_M = 130;
+ public static final int TMS320C64X_GRP_FUNIT_S = 131;
+ public static final int TMS320C64X_GRP_FUNIT_NO = 132;
+ public static final int TMS320C64X_GRP_ENDING = 133;
+
+ public static final int TMS320C64X_FUNIT_INVALID = 0;
+ public static final int TMS320C64X_FUNIT_D = 1;
+ public static final int TMS320C64X_FUNIT_L = 2;
+ public static final int TMS320C64X_FUNIT_M = 3;
+ public static final int TMS320C64X_FUNIT_S = 4;
+ public static final int TMS320C64X_FUNIT_NO = 5;
+} \ No newline at end of file
diff --git a/capstone/bindings/java/capstone/Wasm_const.java b/capstone/bindings/java/capstone/Wasm_const.java
new file mode 100644
index 000000000..4b28c672b
--- /dev/null
+++ b/capstone/bindings/java/capstone/Wasm_const.java
@@ -0,0 +1,195 @@
+// For Capstone Engine. AUTO-GENERATED FILE, DO NOT EDIT
+package capstone;
+
+public class Wasm_const {
+
+ public static final int WASM_OP_INVALID = 0;
+ public static final int WASM_OP_NONE = 1;
+ public static final int WASM_OP_INT7 = 2;
+ public static final int WASM_OP_VARUINT32 = 3;
+ public static final int WASM_OP_VARUINT64 = 4;
+ public static final int WASM_OP_UINT32 = 5;
+ public static final int WASM_OP_UINT64 = 6;
+ public static final int WASM_OP_IMM = 7;
+ public static final int WASM_OP_BRTABLE = 8;
+ public static final int WASM_INS_UNREACHABLE = 0x0;
+ public static final int WASM_INS_NOP = 0x1;
+ public static final int WASM_INS_BLOCK = 0x2;
+ public static final int WASM_INS_LOOP = 0x3;
+ public static final int WASM_INS_IF = 0x4;
+ public static final int WASM_INS_ELSE = 0x5;
+ public static final int WASM_INS_END = 0xb;
+ public static final int WASM_INS_BR = 0xc;
+ public static final int WASM_INS_BR_IF = 0xd;
+ public static final int WASM_INS_BR_TABLE = 0xe;
+ public static final int WASM_INS_RETURN = 0xf;
+ public static final int WASM_INS_CALL = 0x10;
+ public static final int WASM_INS_CALL_INDIRECT = 0x11;
+ public static final int WASM_INS_DROP = 0x1a;
+ public static final int WASM_INS_SELECT = 0x1b;
+ public static final int WASM_INS_GET_LOCAL = 0x20;
+ public static final int WASM_INS_SET_LOCAL = 0x21;
+ public static final int WASM_INS_TEE_LOCAL = 0x22;
+ public static final int WASM_INS_GET_GLOBAL = 0x23;
+ public static final int WASM_INS_SET_GLOBAL = 0x24;
+ public static final int WASM_INS_I32_LOAD = 0x28;
+ public static final int WASM_INS_I64_LOAD = 0x29;
+ public static final int WASM_INS_F32_LOAD = 0x2a;
+ public static final int WASM_INS_F64_LOAD = 0x2b;
+ public static final int WASM_INS_I32_LOAD8_S = 0x2c;
+ public static final int WASM_INS_I32_LOAD8_U = 0x2d;
+ public static final int WASM_INS_I32_LOAD16_S = 0x2e;
+ public static final int WASM_INS_I32_LOAD16_U = 0x2f;
+ public static final int WASM_INS_I64_LOAD8_S = 0x30;
+ public static final int WASM_INS_I64_LOAD8_U = 0x31;
+ public static final int WASM_INS_I64_LOAD16_S = 0x32;
+ public static final int WASM_INS_I64_LOAD16_U = 0x33;
+ public static final int WASM_INS_I64_LOAD32_S = 0x34;
+ public static final int WASM_INS_I64_LOAD32_U = 0x35;
+ public static final int WASM_INS_I32_STORE = 0x36;
+ public static final int WASM_INS_I64_STORE = 0x37;
+ public static final int WASM_INS_F32_STORE = 0x38;
+ public static final int WASM_INS_F64_STORE = 0x39;
+ public static final int WASM_INS_I32_STORE8 = 0x3a;
+ public static final int WASM_INS_I32_STORE16 = 0x3b;
+ public static final int WASM_INS_I64_STORE8 = 0x3c;
+ public static final int WASM_INS_I64_STORE16 = 0x3d;
+ public static final int WASM_INS_I64_STORE32 = 0x3e;
+ public static final int WASM_INS_CURRENT_MEMORY = 0x3f;
+ public static final int WASM_INS_GROW_MEMORY = 0x40;
+ public static final int WASM_INS_I32_CONST = 0x41;
+ public static final int WASM_INS_I64_CONST = 0x42;
+ public static final int WASM_INS_F32_CONST = 0x43;
+ public static final int WASM_INS_F64_CONST = 0x44;
+ public static final int WASM_INS_I32_EQZ = 0x45;
+ public static final int WASM_INS_I32_EQ = 0x46;
+ public static final int WASM_INS_I32_NE = 0x47;
+ public static final int WASM_INS_I32_LT_S = 0x48;
+ public static final int WASM_INS_I32_LT_U = 0x49;
+ public static final int WASM_INS_I32_GT_S = 0x4a;
+ public static final int WASM_INS_I32_GT_U = 0x4b;
+ public static final int WASM_INS_I32_LE_S = 0x4c;
+ public static final int WASM_INS_I32_LE_U = 0x4d;
+ public static final int WASM_INS_I32_GE_S = 0x4e;
+ public static final int WASM_INS_I32_GE_U = 0x4f;
+ public static final int WASM_INS_I64_EQZ = 0x50;
+ public static final int WASM_INS_I64_EQ = 0x51;
+ public static final int WASM_INS_I64_NE = 0x52;
+ public static final int WASM_INS_I64_LT_S = 0x53;
+ public static final int WASM_INS_I64_LT_U = 0x54;
+ public static final int WASM_INS_I64_GT_U = 0x56;
+ public static final int WASM_INS_I64_LE_S = 0x57;
+ public static final int WASM_INS_I64_LE_U = 0x58;
+ public static final int WASM_INS_I64_GE_S = 0x59;
+ public static final int WASM_INS_I64_GE_U = 0x5a;
+ public static final int WASM_INS_F32_EQ = 0x5b;
+ public static final int WASM_INS_F32_NE = 0x5c;
+ public static final int WASM_INS_F32_LT = 0x5d;
+ public static final int WASM_INS_F32_GT = 0x5e;
+ public static final int WASM_INS_F32_LE = 0x5f;
+ public static final int WASM_INS_F32_GE = 0x60;
+ public static final int WASM_INS_F64_EQ = 0x61;
+ public static final int WASM_INS_F64_NE = 0x62;
+ public static final int WASM_INS_F64_LT = 0x63;
+ public static final int WASM_INS_F64_GT = 0x64;
+ public static final int WASM_INS_F64_LE = 0x65;
+ public static final int WASM_INS_F64_GE = 0x66;
+ public static final int WASM_INS_I32_CLZ = 0x67;
+ public static final int WASM_INS_I32_CTZ = 0x68;
+ public static final int WASM_INS_I32_POPCNT = 0x69;
+ public static final int WASM_INS_I32_ADD = 0x6a;
+ public static final int WASM_INS_I32_SUB = 0x6b;
+ public static final int WASM_INS_I32_MUL = 0x6c;
+ public static final int WASM_INS_I32_DIV_S = 0x6d;
+ public static final int WASM_INS_I32_DIV_U = 0x6e;
+ public static final int WASM_INS_I32_REM_S = 0x6f;
+ public static final int WASM_INS_I32_REM_U = 0x70;
+ public static final int WASM_INS_I32_AND = 0x71;
+ public static final int WASM_INS_I32_OR = 0x72;
+ public static final int WASM_INS_I32_XOR = 0x73;
+ public static final int WASM_INS_I32_SHL = 0x74;
+ public static final int WASM_INS_I32_SHR_S = 0x75;
+ public static final int WASM_INS_I32_SHR_U = 0x76;
+ public static final int WASM_INS_I32_ROTL = 0x77;
+ public static final int WASM_INS_I32_ROTR = 0x78;
+ public static final int WASM_INS_I64_CLZ = 0x79;
+ public static final int WASM_INS_I64_CTZ = 0x7a;
+ public static final int WASM_INS_I64_POPCNT = 0x7b;
+ public static final int WASM_INS_I64_ADD = 0x7c;
+ public static final int WASM_INS_I64_SUB = 0x7d;
+ public static final int WASM_INS_I64_MUL = 0x7e;
+ public static final int WASM_INS_I64_DIV_S = 0x7f;
+ public static final int WASM_INS_I64_DIV_U = 0x80;
+ public static final int WASM_INS_I64_REM_S = 0x81;
+ public static final int WASM_INS_I64_REM_U = 0x82;
+ public static final int WASM_INS_I64_AND = 0x83;
+ public static final int WASM_INS_I64_OR = 0x84;
+ public static final int WASM_INS_I64_XOR = 0x85;
+ public static final int WASM_INS_I64_SHL = 0x86;
+ public static final int WASM_INS_I64_SHR_S = 0x87;
+ public static final int WASM_INS_I64_SHR_U = 0x88;
+ public static final int WASM_INS_I64_ROTL = 0x89;
+ public static final int WASM_INS_I64_ROTR = 0x8a;
+ public static final int WASM_INS_F32_ABS = 0x8b;
+ public static final int WASM_INS_F32_NEG = 0x8c;
+ public static final int WASM_INS_F32_CEIL = 0x8d;
+ public static final int WASM_INS_F32_FLOOR = 0x8e;
+ public static final int WASM_INS_F32_TRUNC = 0x8f;
+ public static final int WASM_INS_F32_NEAREST = 0x90;
+ public static final int WASM_INS_F32_SQRT = 0x91;
+ public static final int WASM_INS_F32_ADD = 0x92;
+ public static final int WASM_INS_F32_SUB = 0x93;
+ public static final int WASM_INS_F32_MUL = 0x94;
+ public static final int WASM_INS_F32_DIV = 0x95;
+ public static final int WASM_INS_F32_MIN = 0x96;
+ public static final int WASM_INS_F32_MAX = 0x97;
+ public static final int WASM_INS_F32_COPYSIGN = 0x98;
+ public static final int WASM_INS_F64_ABS = 0x99;
+ public static final int WASM_INS_F64_NEG = 0x9a;
+ public static final int WASM_INS_F64_CEIL = 0x9b;
+ public static final int WASM_INS_F64_FLOOR = 0x9c;
+ public static final int WASM_INS_F64_TRUNC = 0x9d;
+ public static final int WASM_INS_F64_NEAREST = 0x9e;
+ public static final int WASM_INS_F64_SQRT = 0x9f;
+ public static final int WASM_INS_F64_ADD = 0xa0;
+ public static final int WASM_INS_F64_SUB = 0xa1;
+ public static final int WASM_INS_F64_MUL = 0xa2;
+ public static final int WASM_INS_F64_DIV = 0xa3;
+ public static final int WASM_INS_F64_MIN = 0xa4;
+ public static final int WASM_INS_F64_MAX = 0xa5;
+ public static final int WASM_INS_F64_COPYSIGN = 0xa6;
+ public static final int WASM_INS_I32_WARP_I64 = 0xa7;
+ public static final int WASM_INS_I32_TRUNC_U_F32 = 0xa9;
+ public static final int WASM_INS_I32_TRUNC_S_F64 = 0xaa;
+ public static final int WASM_INS_I32_TRUNC_U_F64 = 0xab;
+ public static final int WASM_INS_I64_EXTEND_S_I32 = 0xac;
+ public static final int WASM_INS_I64_EXTEND_U_I32 = 0xad;
+ public static final int WASM_INS_I64_TRUNC_S_F32 = 0xae;
+ public static final int WASM_INS_I64_TRUNC_U_F32 = 0xaf;
+ public static final int WASM_INS_I64_TRUNC_S_F64 = 0xb0;
+ public static final int WASM_INS_I64_TRUNC_U_F64 = 0xb1;
+ public static final int WASM_INS_F32_CONVERT_S_I32 = 0xb2;
+ public static final int WASM_INS_F32_CONVERT_U_I32 = 0xb3;
+ public static final int WASM_INS_F32_CONVERT_S_I64 = 0xb4;
+ public static final int WASM_INS_F32_CONVERT_U_I64 = 0xb5;
+ public static final int WASM_INS_F32_DEMOTE_F64 = 0xb6;
+ public static final int WASM_INS_F64_CONVERT_S_I32 = 0xb7;
+ public static final int WASM_INS_F64_CONVERT_U_I32 = 0xb8;
+ public static final int WASM_INS_F64_CONVERT_S_I64 = 0xb9;
+ public static final int WASM_INS_F64_CONVERT_U_I64 = 0xba;
+ public static final int WASM_INS_F64_PROMOTE_F32 = 0xbb;
+ public static final int WASM_INS_I32_REINTERPRET_F32 = 0xbc;
+ public static final int WASM_INS_I64_REINTERPRET_F64 = 0xbd;
+ public static final int WASM_INS_F32_REINTERPRET_I32 = 0xbe;
+ public static final int WASM_INS_F64_REINTERPRET_I64 = 0xbf;
+ public static final int WASM_INS_INVALID = 512;
+ public static final int WASM_INS_ENDING = 513;
+
+ public static final int WASM_GRP_INVALID = 0;
+ public static final int WASM_GRP_NUMBERIC = 8;
+ public static final int WASM_GRP_PARAMETRIC = 9;
+ public static final int WASM_GRP_VARIABLE = 10;
+ public static final int WASM_GRP_MEMORY = 11;
+ public static final int WASM_GRP_CONTROL = 12;
+ public static final int WASM_GRP_ENDING = 13;
+} \ No newline at end of file
diff --git a/capstone/bindings/java/capstone/X86.java b/capstone/bindings/java/capstone/X86.java
new file mode 100644
index 000000000..6a8d1ed16
--- /dev/null
+++ b/capstone/bindings/java/capstone/X86.java
@@ -0,0 +1,165 @@
+// Capstone Java binding
+// By Nguyen Anh Quynh & Dang Hoang Vu, 2013
+
+package capstone;
+
+import com.sun.jna.Structure;
+import com.sun.jna.Union;
+
+import java.util.List;
+import java.util.Arrays;
+
+import static capstone.X86_const.*;
+
+public class X86 {
+
+ public static class MemType extends Structure {
+ public int segment;
+ public int base;
+ public int index;
+ public int scale;
+ public long disp;
+
+ @Override
+ public List getFieldOrder() {
+ return Arrays.asList("segment", "base", "index", "scale", "disp");
+ }
+ }
+
+ public static class Encoding extends Structure {
+ public byte modrmOffset;
+ public byte dispOffset;
+ public byte dispSize;
+ public byte immOffset;
+ public byte immSize;
+
+ @Override
+ public List getFieldOrder() {
+ return Arrays.asList("modrmOffset", "dispOffset", "dispSize", "immOffset", "immSize");
+ }
+ }
+
+ public static class OpValue extends Union {
+ public int reg;
+ public long imm;
+ public MemType mem;
+
+ @Override
+ public List getFieldOrder() {
+ return Arrays.asList("reg", "imm", "mem");
+ }
+ }
+
+ public static class Operand extends Structure {
+ public int type;
+ public OpValue value;
+ public byte size;
+ public byte access;
+ public int avx_bcast;
+ public boolean avx_zero_opmask;
+
+ public void read() {
+ super.read();
+ if (type == X86_OP_MEM)
+ value.setType(MemType.class);
+ if (type == X86_OP_IMM)
+ value.setType(Long.TYPE);
+ if (type == X86_OP_REG)
+ value.setType(Integer.TYPE);
+ if (type == X86_OP_INVALID)
+ return;
+ readField("value");
+ }
+
+ @Override
+ public List getFieldOrder() {
+ return Arrays.asList("type", "value", "size", "access", "avx_bcast", "avx_zero_opmask");
+ }
+ }
+
+ public static class UnionOpInfo extends Capstone.UnionOpInfo {
+ public byte [] prefix;
+ public byte [] opcode;
+ public byte rex;
+ public byte addr_size;
+ public byte modrm;
+ public byte sib;
+ public long disp;
+ public int sib_index;
+ public byte sib_scale;
+ public int sib_base;
+ public int xop_cc;
+ public int sse_cc;
+ public int avx_cc;
+ public byte avx_sae;
+ public int avx_rm;
+ public long eflags;
+
+ public byte op_count;
+
+ public Operand [] op;
+
+ public Encoding encoding;
+
+ public UnionOpInfo() {
+ op = new Operand[8];
+ opcode = new byte[4];
+ prefix = new byte[4];
+ }
+
+ @Override
+ public List getFieldOrder() {
+ return Arrays.asList("prefix", "opcode", "rex", "addr_size",
+ "modrm", "sib", "disp", "sib_index", "sib_scale", "sib_base", "xop_cc", "sse_cc", "avx_cc", "avx_sae", "avx_rm", "eflags", "op_count", "op", "encoding");
+ }
+ }
+
+ public static class OpInfo extends Capstone.OpInfo {
+ public byte [] prefix;
+ public byte [] opcode;
+ public byte opSize;
+ public byte rex;
+ public byte addrSize;
+ public byte dispSize;
+ public byte immSize;
+ public byte modrm;
+ public byte sib;
+ public long disp;
+ public int sibIndex;
+ public byte sibScale;
+ public int sibBase;
+ public int xopCC;
+ public int sseCC;
+ public int avxCC;
+ public boolean avxSae;
+ public int avxRm;
+ public long eflags;
+
+ public Operand[] op;
+
+ public Encoding encoding;
+
+ public OpInfo(UnionOpInfo e) {
+ prefix = e.prefix;
+ opcode = e.opcode;
+ rex = e.rex;
+ addrSize = e.addr_size;
+ modrm = e.modrm;
+ sib = e.sib;
+ disp = e.disp;
+ sibIndex = e.sib_index;
+ sibScale = e.sib_scale;
+ sibBase = e.sib_base;
+ xopCC = e.xop_cc;
+ sseCC = e.sse_cc;
+ avxCC = e.avx_cc;
+ avxSae = e.avx_sae > 0;
+ avxRm = e.avx_rm;
+ eflags = e.eflags;
+ op = new Operand[e.op_count];
+ for (int i=0; i<e.op_count; i++)
+ op[i] = e.op[i];
+ encoding = e.encoding;
+ }
+ }
+}
diff --git a/capstone/bindings/java/capstone/X86_const.java b/capstone/bindings/java/capstone/X86_const.java
new file mode 100644
index 000000000..655852d4d
--- /dev/null
+++ b/capstone/bindings/java/capstone/X86_const.java
@@ -0,0 +1,1993 @@
+// For Capstone Engine. AUTO-GENERATED FILE, DO NOT EDIT
+package capstone;
+
+public class X86_const {
+
+ public static final int X86_REG_INVALID = 0;
+ public static final int X86_REG_AH = 1;
+ public static final int X86_REG_AL = 2;
+ public static final int X86_REG_AX = 3;
+ public static final int X86_REG_BH = 4;
+ public static final int X86_REG_BL = 5;
+ public static final int X86_REG_BP = 6;
+ public static final int X86_REG_BPL = 7;
+ public static final int X86_REG_BX = 8;
+ public static final int X86_REG_CH = 9;
+ public static final int X86_REG_CL = 10;
+ public static final int X86_REG_CS = 11;
+ public static final int X86_REG_CX = 12;
+ public static final int X86_REG_DH = 13;
+ public static final int X86_REG_DI = 14;
+ public static final int X86_REG_DIL = 15;
+ public static final int X86_REG_DL = 16;
+ public static final int X86_REG_DS = 17;
+ public static final int X86_REG_DX = 18;
+ public static final int X86_REG_EAX = 19;
+ public static final int X86_REG_EBP = 20;
+ public static final int X86_REG_EBX = 21;
+ public static final int X86_REG_ECX = 22;
+ public static final int X86_REG_EDI = 23;
+ public static final int X86_REG_EDX = 24;
+ public static final int X86_REG_EFLAGS = 25;
+ public static final int X86_REG_EIP = 26;
+ public static final int X86_REG_EIZ = 27;
+ public static final int X86_REG_ES = 28;
+ public static final int X86_REG_ESI = 29;
+ public static final int X86_REG_ESP = 30;
+ public static final int X86_REG_FPSW = 31;
+ public static final int X86_REG_FS = 32;
+ public static final int X86_REG_GS = 33;
+ public static final int X86_REG_IP = 34;
+ public static final int X86_REG_RAX = 35;
+ public static final int X86_REG_RBP = 36;
+ public static final int X86_REG_RBX = 37;
+ public static final int X86_REG_RCX = 38;
+ public static final int X86_REG_RDI = 39;
+ public static final int X86_REG_RDX = 40;
+ public static final int X86_REG_RIP = 41;
+ public static final int X86_REG_RIZ = 42;
+ public static final int X86_REG_RSI = 43;
+ public static final int X86_REG_RSP = 44;
+ public static final int X86_REG_SI = 45;
+ public static final int X86_REG_SIL = 46;
+ public static final int X86_REG_SP = 47;
+ public static final int X86_REG_SPL = 48;
+ public static final int X86_REG_SS = 49;
+ public static final int X86_REG_CR0 = 50;
+ public static final int X86_REG_CR1 = 51;
+ public static final int X86_REG_CR2 = 52;
+ public static final int X86_REG_CR3 = 53;
+ public static final int X86_REG_CR4 = 54;
+ public static final int X86_REG_CR5 = 55;
+ public static final int X86_REG_CR6 = 56;
+ public static final int X86_REG_CR7 = 57;
+ public static final int X86_REG_CR8 = 58;
+ public static final int X86_REG_CR9 = 59;
+ public static final int X86_REG_CR10 = 60;
+ public static final int X86_REG_CR11 = 61;
+ public static final int X86_REG_CR12 = 62;
+ public static final int X86_REG_CR13 = 63;
+ public static final int X86_REG_CR14 = 64;
+ public static final int X86_REG_CR15 = 65;
+ public static final int X86_REG_DR0 = 66;
+ public static final int X86_REG_DR1 = 67;
+ public static final int X86_REG_DR2 = 68;
+ public static final int X86_REG_DR3 = 69;
+ public static final int X86_REG_DR4 = 70;
+ public static final int X86_REG_DR5 = 71;
+ public static final int X86_REG_DR6 = 72;
+ public static final int X86_REG_DR7 = 73;
+ public static final int X86_REG_DR8 = 74;
+ public static final int X86_REG_DR9 = 75;
+ public static final int X86_REG_DR10 = 76;
+ public static final int X86_REG_DR11 = 77;
+ public static final int X86_REG_DR12 = 78;
+ public static final int X86_REG_DR13 = 79;
+ public static final int X86_REG_DR14 = 80;
+ public static final int X86_REG_DR15 = 81;
+ public static final int X86_REG_FP0 = 82;
+ public static final int X86_REG_FP1 = 83;
+ public static final int X86_REG_FP2 = 84;
+ public static final int X86_REG_FP3 = 85;
+ public static final int X86_REG_FP4 = 86;
+ public static final int X86_REG_FP5 = 87;
+ public static final int X86_REG_FP6 = 88;
+ public static final int X86_REG_FP7 = 89;
+ public static final int X86_REG_K0 = 90;
+ public static final int X86_REG_K1 = 91;
+ public static final int X86_REG_K2 = 92;
+ public static final int X86_REG_K3 = 93;
+ public static final int X86_REG_K4 = 94;
+ public static final int X86_REG_K5 = 95;
+ public static final int X86_REG_K6 = 96;
+ public static final int X86_REG_K7 = 97;
+ public static final int X86_REG_MM0 = 98;
+ public static final int X86_REG_MM1 = 99;
+ public static final int X86_REG_MM2 = 100;
+ public static final int X86_REG_MM3 = 101;
+ public static final int X86_REG_MM4 = 102;
+ public static final int X86_REG_MM5 = 103;
+ public static final int X86_REG_MM6 = 104;
+ public static final int X86_REG_MM7 = 105;
+ public static final int X86_REG_R8 = 106;
+ public static final int X86_REG_R9 = 107;
+ public static final int X86_REG_R10 = 108;
+ public static final int X86_REG_R11 = 109;
+ public static final int X86_REG_R12 = 110;
+ public static final int X86_REG_R13 = 111;
+ public static final int X86_REG_R14 = 112;
+ public static final int X86_REG_R15 = 113;
+ public static final int X86_REG_ST0 = 114;
+ public static final int X86_REG_ST1 = 115;
+ public static final int X86_REG_ST2 = 116;
+ public static final int X86_REG_ST3 = 117;
+ public static final int X86_REG_ST4 = 118;
+ public static final int X86_REG_ST5 = 119;
+ public static final int X86_REG_ST6 = 120;
+ public static final int X86_REG_ST7 = 121;
+ public static final int X86_REG_XMM0 = 122;
+ public static final int X86_REG_XMM1 = 123;
+ public static final int X86_REG_XMM2 = 124;
+ public static final int X86_REG_XMM3 = 125;
+ public static final int X86_REG_XMM4 = 126;
+ public static final int X86_REG_XMM5 = 127;
+ public static final int X86_REG_XMM6 = 128;
+ public static final int X86_REG_XMM7 = 129;
+ public static final int X86_REG_XMM8 = 130;
+ public static final int X86_REG_XMM9 = 131;
+ public static final int X86_REG_XMM10 = 132;
+ public static final int X86_REG_XMM11 = 133;
+ public static final int X86_REG_XMM12 = 134;
+ public static final int X86_REG_XMM13 = 135;
+ public static final int X86_REG_XMM14 = 136;
+ public static final int X86_REG_XMM15 = 137;
+ public static final int X86_REG_XMM16 = 138;
+ public static final int X86_REG_XMM17 = 139;
+ public static final int X86_REG_XMM18 = 140;
+ public static final int X86_REG_XMM19 = 141;
+ public static final int X86_REG_XMM20 = 142;
+ public static final int X86_REG_XMM21 = 143;
+ public static final int X86_REG_XMM22 = 144;
+ public static final int X86_REG_XMM23 = 145;
+ public static final int X86_REG_XMM24 = 146;
+ public static final int X86_REG_XMM25 = 147;
+ public static final int X86_REG_XMM26 = 148;
+ public static final int X86_REG_XMM27 = 149;
+ public static final int X86_REG_XMM28 = 150;
+ public static final int X86_REG_XMM29 = 151;
+ public static final int X86_REG_XMM30 = 152;
+ public static final int X86_REG_XMM31 = 153;
+ public static final int X86_REG_YMM0 = 154;
+ public static final int X86_REG_YMM1 = 155;
+ public static final int X86_REG_YMM2 = 156;
+ public static final int X86_REG_YMM3 = 157;
+ public static final int X86_REG_YMM4 = 158;
+ public static final int X86_REG_YMM5 = 159;
+ public static final int X86_REG_YMM6 = 160;
+ public static final int X86_REG_YMM7 = 161;
+ public static final int X86_REG_YMM8 = 162;
+ public static final int X86_REG_YMM9 = 163;
+ public static final int X86_REG_YMM10 = 164;
+ public static final int X86_REG_YMM11 = 165;
+ public static final int X86_REG_YMM12 = 166;
+ public static final int X86_REG_YMM13 = 167;
+ public static final int X86_REG_YMM14 = 168;
+ public static final int X86_REG_YMM15 = 169;
+ public static final int X86_REG_YMM16 = 170;
+ public static final int X86_REG_YMM17 = 171;
+ public static final int X86_REG_YMM18 = 172;
+ public static final int X86_REG_YMM19 = 173;
+ public static final int X86_REG_YMM20 = 174;
+ public static final int X86_REG_YMM21 = 175;
+ public static final int X86_REG_YMM22 = 176;
+ public static final int X86_REG_YMM23 = 177;
+ public static final int X86_REG_YMM24 = 178;
+ public static final int X86_REG_YMM25 = 179;
+ public static final int X86_REG_YMM26 = 180;
+ public static final int X86_REG_YMM27 = 181;
+ public static final int X86_REG_YMM28 = 182;
+ public static final int X86_REG_YMM29 = 183;
+ public static final int X86_REG_YMM30 = 184;
+ public static final int X86_REG_YMM31 = 185;
+ public static final int X86_REG_ZMM0 = 186;
+ public static final int X86_REG_ZMM1 = 187;
+ public static final int X86_REG_ZMM2 = 188;
+ public static final int X86_REG_ZMM3 = 189;
+ public static final int X86_REG_ZMM4 = 190;
+ public static final int X86_REG_ZMM5 = 191;
+ public static final int X86_REG_ZMM6 = 192;
+ public static final int X86_REG_ZMM7 = 193;
+ public static final int X86_REG_ZMM8 = 194;
+ public static final int X86_REG_ZMM9 = 195;
+ public static final int X86_REG_ZMM10 = 196;
+ public static final int X86_REG_ZMM11 = 197;
+ public static final int X86_REG_ZMM12 = 198;
+ public static final int X86_REG_ZMM13 = 199;
+ public static final int X86_REG_ZMM14 = 200;
+ public static final int X86_REG_ZMM15 = 201;
+ public static final int X86_REG_ZMM16 = 202;
+ public static final int X86_REG_ZMM17 = 203;
+ public static final int X86_REG_ZMM18 = 204;
+ public static final int X86_REG_ZMM19 = 205;
+ public static final int X86_REG_ZMM20 = 206;
+ public static final int X86_REG_ZMM21 = 207;
+ public static final int X86_REG_ZMM22 = 208;
+ public static final int X86_REG_ZMM23 = 209;
+ public static final int X86_REG_ZMM24 = 210;
+ public static final int X86_REG_ZMM25 = 211;
+ public static final int X86_REG_ZMM26 = 212;
+ public static final int X86_REG_ZMM27 = 213;
+ public static final int X86_REG_ZMM28 = 214;
+ public static final int X86_REG_ZMM29 = 215;
+ public static final int X86_REG_ZMM30 = 216;
+ public static final int X86_REG_ZMM31 = 217;
+ public static final int X86_REG_R8B = 218;
+ public static final int X86_REG_R9B = 219;
+ public static final int X86_REG_R10B = 220;
+ public static final int X86_REG_R11B = 221;
+ public static final int X86_REG_R12B = 222;
+ public static final int X86_REG_R13B = 223;
+ public static final int X86_REG_R14B = 224;
+ public static final int X86_REG_R15B = 225;
+ public static final int X86_REG_R8D = 226;
+ public static final int X86_REG_R9D = 227;
+ public static final int X86_REG_R10D = 228;
+ public static final int X86_REG_R11D = 229;
+ public static final int X86_REG_R12D = 230;
+ public static final int X86_REG_R13D = 231;
+ public static final int X86_REG_R14D = 232;
+ public static final int X86_REG_R15D = 233;
+ public static final int X86_REG_R8W = 234;
+ public static final int X86_REG_R9W = 235;
+ public static final int X86_REG_R10W = 236;
+ public static final int X86_REG_R11W = 237;
+ public static final int X86_REG_R12W = 238;
+ public static final int X86_REG_R13W = 239;
+ public static final int X86_REG_R14W = 240;
+ public static final int X86_REG_R15W = 241;
+ public static final int X86_REG_BND0 = 242;
+ public static final int X86_REG_BND1 = 243;
+ public static final int X86_REG_BND2 = 244;
+ public static final int X86_REG_BND3 = 245;
+ public static final int X86_REG_ENDING = 246;
+ public static final int X86_EFLAGS_MODIFY_AF = 1<<0;
+ public static final int X86_EFLAGS_MODIFY_CF = 1<<1;
+ public static final int X86_EFLAGS_MODIFY_SF = 1<<2;
+ public static final int X86_EFLAGS_MODIFY_ZF = 1<<3;
+ public static final int X86_EFLAGS_MODIFY_PF = 1<<4;
+ public static final int X86_EFLAGS_MODIFY_OF = 1<<5;
+ public static final int X86_EFLAGS_MODIFY_TF = 1<<6;
+ public static final int X86_EFLAGS_MODIFY_IF = 1<<7;
+ public static final int X86_EFLAGS_MODIFY_DF = 1<<8;
+ public static final int X86_EFLAGS_MODIFY_NT = 1<<9;
+ public static final int X86_EFLAGS_MODIFY_RF = 1<<10;
+ public static final int X86_EFLAGS_PRIOR_OF = 1<<11;
+ public static final int X86_EFLAGS_PRIOR_SF = 1<<12;
+ public static final int X86_EFLAGS_PRIOR_ZF = 1<<13;
+ public static final int X86_EFLAGS_PRIOR_AF = 1<<14;
+ public static final int X86_EFLAGS_PRIOR_PF = 1<<15;
+ public static final int X86_EFLAGS_PRIOR_CF = 1<<16;
+ public static final int X86_EFLAGS_PRIOR_TF = 1<<17;
+ public static final int X86_EFLAGS_PRIOR_IF = 1<<18;
+ public static final int X86_EFLAGS_PRIOR_DF = 1<<19;
+ public static final int X86_EFLAGS_PRIOR_NT = 1<<20;
+ public static final int X86_EFLAGS_RESET_OF = 1<<21;
+ public static final int X86_EFLAGS_RESET_CF = 1<<22;
+ public static final int X86_EFLAGS_RESET_DF = 1<<23;
+ public static final int X86_EFLAGS_RESET_IF = 1<<24;
+ public static final int X86_EFLAGS_RESET_SF = 1<<25;
+ public static final int X86_EFLAGS_RESET_AF = 1<<26;
+ public static final int X86_EFLAGS_RESET_TF = 1<<27;
+ public static final int X86_EFLAGS_RESET_NT = 1<<28;
+ public static final int X86_EFLAGS_RESET_PF = 1<<29;
+ public static final int X86_EFLAGS_SET_CF = 1<<30;
+ public static final int X86_EFLAGS_SET_DF = 1<<31;
+ public static final int X86_EFLAGS_SET_IF = 1<<32;
+ public static final int X86_EFLAGS_TEST_OF = 1<<33;
+ public static final int X86_EFLAGS_TEST_SF = 1<<34;
+ public static final int X86_EFLAGS_TEST_ZF = 1<<35;
+ public static final int X86_EFLAGS_TEST_PF = 1<<36;
+ public static final int X86_EFLAGS_TEST_CF = 1<<37;
+ public static final int X86_EFLAGS_TEST_NT = 1<<38;
+ public static final int X86_EFLAGS_TEST_DF = 1<<39;
+ public static final int X86_EFLAGS_UNDEFINED_OF = 1<<40;
+ public static final int X86_EFLAGS_UNDEFINED_SF = 1<<41;
+ public static final int X86_EFLAGS_UNDEFINED_ZF = 1<<42;
+ public static final int X86_EFLAGS_UNDEFINED_PF = 1<<43;
+ public static final int X86_EFLAGS_UNDEFINED_AF = 1<<44;
+ public static final int X86_EFLAGS_UNDEFINED_CF = 1<<45;
+ public static final int X86_EFLAGS_RESET_RF = 1<<46;
+ public static final int X86_EFLAGS_TEST_RF = 1<<47;
+ public static final int X86_EFLAGS_TEST_IF = 1<<48;
+ public static final int X86_EFLAGS_TEST_TF = 1<<49;
+ public static final int X86_EFLAGS_TEST_AF = 1<<50;
+ public static final int X86_EFLAGS_RESET_ZF = 1<<51;
+ public static final int X86_EFLAGS_SET_OF = 1<<52;
+ public static final int X86_EFLAGS_SET_SF = 1<<53;
+ public static final int X86_EFLAGS_SET_ZF = 1<<54;
+ public static final int X86_EFLAGS_SET_AF = 1<<55;
+ public static final int X86_EFLAGS_SET_PF = 1<<56;
+ public static final int X86_EFLAGS_RESET_0F = 1<<57;
+ public static final int X86_EFLAGS_RESET_AC = 1<<58;
+ public static final int X86_FPU_FLAGS_MODIFY_C0 = 1<<0;
+ public static final int X86_FPU_FLAGS_MODIFY_C1 = 1<<1;
+ public static final int X86_FPU_FLAGS_MODIFY_C2 = 1<<2;
+ public static final int X86_FPU_FLAGS_MODIFY_C3 = 1<<3;
+ public static final int X86_FPU_FLAGS_RESET_C0 = 1<<4;
+ public static final int X86_FPU_FLAGS_RESET_C1 = 1<<5;
+ public static final int X86_FPU_FLAGS_RESET_C2 = 1<<6;
+ public static final int X86_FPU_FLAGS_RESET_C3 = 1<<7;
+ public static final int X86_FPU_FLAGS_SET_C0 = 1<<8;
+ public static final int X86_FPU_FLAGS_SET_C1 = 1<<9;
+ public static final int X86_FPU_FLAGS_SET_C2 = 1<<10;
+ public static final int X86_FPU_FLAGS_SET_C3 = 1<<11;
+ public static final int X86_FPU_FLAGS_UNDEFINED_C0 = 1<<12;
+ public static final int X86_FPU_FLAGS_UNDEFINED_C1 = 1<<13;
+ public static final int X86_FPU_FLAGS_UNDEFINED_C2 = 1<<14;
+ public static final int X86_FPU_FLAGS_UNDEFINED_C3 = 1<<15;
+ public static final int X86_FPU_FLAGS_TEST_C0 = 1<<16;
+ public static final int X86_FPU_FLAGS_TEST_C1 = 1<<17;
+ public static final int X86_FPU_FLAGS_TEST_C2 = 1<<18;
+ public static final int X86_FPU_FLAGS_TEST_C3 = 1<<19;
+
+ public static final int X86_OP_INVALID = 0;
+ public static final int X86_OP_REG = 1;
+ public static final int X86_OP_IMM = 2;
+ public static final int X86_OP_MEM = 3;
+
+ public static final int X86_XOP_CC_INVALID = 0;
+ public static final int X86_XOP_CC_LT = 1;
+ public static final int X86_XOP_CC_LE = 2;
+ public static final int X86_XOP_CC_GT = 3;
+ public static final int X86_XOP_CC_GE = 4;
+ public static final int X86_XOP_CC_EQ = 5;
+ public static final int X86_XOP_CC_NEQ = 6;
+ public static final int X86_XOP_CC_FALSE = 7;
+ public static final int X86_XOP_CC_TRUE = 8;
+
+ public static final int X86_AVX_BCAST_INVALID = 0;
+ public static final int X86_AVX_BCAST_2 = 1;
+ public static final int X86_AVX_BCAST_4 = 2;
+ public static final int X86_AVX_BCAST_8 = 3;
+ public static final int X86_AVX_BCAST_16 = 4;
+
+ public static final int X86_SSE_CC_INVALID = 0;
+ public static final int X86_SSE_CC_EQ = 1;
+ public static final int X86_SSE_CC_LT = 2;
+ public static final int X86_SSE_CC_LE = 3;
+ public static final int X86_SSE_CC_UNORD = 4;
+ public static final int X86_SSE_CC_NEQ = 5;
+ public static final int X86_SSE_CC_NLT = 6;
+ public static final int X86_SSE_CC_NLE = 7;
+ public static final int X86_SSE_CC_ORD = 8;
+
+ public static final int X86_AVX_CC_INVALID = 0;
+ public static final int X86_AVX_CC_EQ = 1;
+ public static final int X86_AVX_CC_LT = 2;
+ public static final int X86_AVX_CC_LE = 3;
+ public static final int X86_AVX_CC_UNORD = 4;
+ public static final int X86_AVX_CC_NEQ = 5;
+ public static final int X86_AVX_CC_NLT = 6;
+ public static final int X86_AVX_CC_NLE = 7;
+ public static final int X86_AVX_CC_ORD = 8;
+ public static final int X86_AVX_CC_EQ_UQ = 9;
+ public static final int X86_AVX_CC_NGE = 10;
+ public static final int X86_AVX_CC_NGT = 11;
+ public static final int X86_AVX_CC_FALSE = 12;
+ public static final int X86_AVX_CC_NEQ_OQ = 13;
+ public static final int X86_AVX_CC_GE = 14;
+ public static final int X86_AVX_CC_GT = 15;
+ public static final int X86_AVX_CC_TRUE = 16;
+ public static final int X86_AVX_CC_EQ_OS = 17;
+ public static final int X86_AVX_CC_LT_OQ = 18;
+ public static final int X86_AVX_CC_LE_OQ = 19;
+ public static final int X86_AVX_CC_UNORD_S = 20;
+ public static final int X86_AVX_CC_NEQ_US = 21;
+ public static final int X86_AVX_CC_NLT_UQ = 22;
+ public static final int X86_AVX_CC_NLE_UQ = 23;
+ public static final int X86_AVX_CC_ORD_S = 24;
+ public static final int X86_AVX_CC_EQ_US = 25;
+ public static final int X86_AVX_CC_NGE_UQ = 26;
+ public static final int X86_AVX_CC_NGT_UQ = 27;
+ public static final int X86_AVX_CC_FALSE_OS = 28;
+ public static final int X86_AVX_CC_NEQ_OS = 29;
+ public static final int X86_AVX_CC_GE_OQ = 30;
+ public static final int X86_AVX_CC_GT_OQ = 31;
+ public static final int X86_AVX_CC_TRUE_US = 32;
+
+ public static final int X86_AVX_RM_INVALID = 0;
+ public static final int X86_AVX_RM_RN = 1;
+ public static final int X86_AVX_RM_RD = 2;
+ public static final int X86_AVX_RM_RU = 3;
+ public static final int X86_AVX_RM_RZ = 4;
+ public static final int X86_PREFIX_LOCK = 0xf0;
+ public static final int X86_PREFIX_REP = 0xf3;
+ public static final int X86_PREFIX_REPE = 0xf3;
+ public static final int X86_PREFIX_REPNE = 0xf2;
+ public static final int X86_PREFIX_CS = 0x2e;
+ public static final int X86_PREFIX_SS = 0x36;
+ public static final int X86_PREFIX_DS = 0x3e;
+ public static final int X86_PREFIX_ES = 0x26;
+ public static final int X86_PREFIX_FS = 0x64;
+ public static final int X86_PREFIX_GS = 0x65;
+ public static final int X86_PREFIX_OPSIZE = 0x66;
+ public static final int X86_PREFIX_ADDRSIZE = 0x67;
+
+ public static final int X86_INS_INVALID = 0;
+ public static final int X86_INS_AAA = 1;
+ public static final int X86_INS_AAD = 2;
+ public static final int X86_INS_AAM = 3;
+ public static final int X86_INS_AAS = 4;
+ public static final int X86_INS_FABS = 5;
+ public static final int X86_INS_ADC = 6;
+ public static final int X86_INS_ADCX = 7;
+ public static final int X86_INS_ADD = 8;
+ public static final int X86_INS_ADDPD = 9;
+ public static final int X86_INS_ADDPS = 10;
+ public static final int X86_INS_ADDSD = 11;
+ public static final int X86_INS_ADDSS = 12;
+ public static final int X86_INS_ADDSUBPD = 13;
+ public static final int X86_INS_ADDSUBPS = 14;
+ public static final int X86_INS_FADD = 15;
+ public static final int X86_INS_FIADD = 16;
+ public static final int X86_INS_ADOX = 17;
+ public static final int X86_INS_AESDECLAST = 18;
+ public static final int X86_INS_AESDEC = 19;
+ public static final int X86_INS_AESENCLAST = 20;
+ public static final int X86_INS_AESENC = 21;
+ public static final int X86_INS_AESIMC = 22;
+ public static final int X86_INS_AESKEYGENASSIST = 23;
+ public static final int X86_INS_AND = 24;
+ public static final int X86_INS_ANDN = 25;
+ public static final int X86_INS_ANDNPD = 26;
+ public static final int X86_INS_ANDNPS = 27;
+ public static final int X86_INS_ANDPD = 28;
+ public static final int X86_INS_ANDPS = 29;
+ public static final int X86_INS_ARPL = 30;
+ public static final int X86_INS_BEXTR = 31;
+ public static final int X86_INS_BLCFILL = 32;
+ public static final int X86_INS_BLCI = 33;
+ public static final int X86_INS_BLCIC = 34;
+ public static final int X86_INS_BLCMSK = 35;
+ public static final int X86_INS_BLCS = 36;
+ public static final int X86_INS_BLENDPD = 37;
+ public static final int X86_INS_BLENDPS = 38;
+ public static final int X86_INS_BLENDVPD = 39;
+ public static final int X86_INS_BLENDVPS = 40;
+ public static final int X86_INS_BLSFILL = 41;
+ public static final int X86_INS_BLSI = 42;
+ public static final int X86_INS_BLSIC = 43;
+ public static final int X86_INS_BLSMSK = 44;
+ public static final int X86_INS_BLSR = 45;
+ public static final int X86_INS_BNDCL = 46;
+ public static final int X86_INS_BNDCN = 47;
+ public static final int X86_INS_BNDCU = 48;
+ public static final int X86_INS_BNDLDX = 49;
+ public static final int X86_INS_BNDMK = 50;
+ public static final int X86_INS_BNDMOV = 51;
+ public static final int X86_INS_BNDSTX = 52;
+ public static final int X86_INS_BOUND = 53;
+ public static final int X86_INS_BSF = 54;
+ public static final int X86_INS_BSR = 55;
+ public static final int X86_INS_BSWAP = 56;
+ public static final int X86_INS_BT = 57;
+ public static final int X86_INS_BTC = 58;
+ public static final int X86_INS_BTR = 59;
+ public static final int X86_INS_BTS = 60;
+ public static final int X86_INS_BZHI = 61;
+ public static final int X86_INS_CALL = 62;
+ public static final int X86_INS_CBW = 63;
+ public static final int X86_INS_CDQ = 64;
+ public static final int X86_INS_CDQE = 65;
+ public static final int X86_INS_FCHS = 66;
+ public static final int X86_INS_CLAC = 67;
+ public static final int X86_INS_CLC = 68;
+ public static final int X86_INS_CLD = 69;
+ public static final int X86_INS_CLDEMOTE = 70;
+ public static final int X86_INS_CLFLUSH = 71;
+ public static final int X86_INS_CLFLUSHOPT = 72;
+ public static final int X86_INS_CLGI = 73;
+ public static final int X86_INS_CLI = 74;
+ public static final int X86_INS_CLRSSBSY = 75;
+ public static final int X86_INS_CLTS = 76;
+ public static final int X86_INS_CLWB = 77;
+ public static final int X86_INS_CLZERO = 78;
+ public static final int X86_INS_CMC = 79;
+ public static final int X86_INS_CMOVA = 80;
+ public static final int X86_INS_CMOVAE = 81;
+ public static final int X86_INS_CMOVB = 82;
+ public static final int X86_INS_CMOVBE = 83;
+ public static final int X86_INS_FCMOVBE = 84;
+ public static final int X86_INS_FCMOVB = 85;
+ public static final int X86_INS_CMOVE = 86;
+ public static final int X86_INS_FCMOVE = 87;
+ public static final int X86_INS_CMOVG = 88;
+ public static final int X86_INS_CMOVGE = 89;
+ public static final int X86_INS_CMOVL = 90;
+ public static final int X86_INS_CMOVLE = 91;
+ public static final int X86_INS_FCMOVNBE = 92;
+ public static final int X86_INS_FCMOVNB = 93;
+ public static final int X86_INS_CMOVNE = 94;
+ public static final int X86_INS_FCMOVNE = 95;
+ public static final int X86_INS_CMOVNO = 96;
+ public static final int X86_INS_CMOVNP = 97;
+ public static final int X86_INS_FCMOVNU = 98;
+ public static final int X86_INS_FCMOVNP = 99;
+ public static final int X86_INS_CMOVNS = 100;
+ public static final int X86_INS_CMOVO = 101;
+ public static final int X86_INS_CMOVP = 102;
+ public static final int X86_INS_FCMOVU = 103;
+ public static final int X86_INS_CMOVS = 104;
+ public static final int X86_INS_CMP = 105;
+ public static final int X86_INS_CMPPD = 106;
+ public static final int X86_INS_CMPPS = 107;
+ public static final int X86_INS_CMPSB = 108;
+ public static final int X86_INS_CMPSD = 109;
+ public static final int X86_INS_CMPSQ = 110;
+ public static final int X86_INS_CMPSS = 111;
+ public static final int X86_INS_CMPSW = 112;
+ public static final int X86_INS_CMPXCHG16B = 113;
+ public static final int X86_INS_CMPXCHG = 114;
+ public static final int X86_INS_CMPXCHG8B = 115;
+ public static final int X86_INS_COMISD = 116;
+ public static final int X86_INS_COMISS = 117;
+ public static final int X86_INS_FCOMP = 118;
+ public static final int X86_INS_FCOMPI = 119;
+ public static final int X86_INS_FCOMI = 120;
+ public static final int X86_INS_FCOM = 121;
+ public static final int X86_INS_FCOS = 122;
+ public static final int X86_INS_CPUID = 123;
+ public static final int X86_INS_CQO = 124;
+ public static final int X86_INS_CRC32 = 125;
+ public static final int X86_INS_CVTDQ2PD = 126;
+ public static final int X86_INS_CVTDQ2PS = 127;
+ public static final int X86_INS_CVTPD2DQ = 128;
+ public static final int X86_INS_CVTPD2PS = 129;
+ public static final int X86_INS_CVTPS2DQ = 130;
+ public static final int X86_INS_CVTPS2PD = 131;
+ public static final int X86_INS_CVTSD2SI = 132;
+ public static final int X86_INS_CVTSD2SS = 133;
+ public static final int X86_INS_CVTSI2SD = 134;
+ public static final int X86_INS_CVTSI2SS = 135;
+ public static final int X86_INS_CVTSS2SD = 136;
+ public static final int X86_INS_CVTSS2SI = 137;
+ public static final int X86_INS_CVTTPD2DQ = 138;
+ public static final int X86_INS_CVTTPS2DQ = 139;
+ public static final int X86_INS_CVTTSD2SI = 140;
+ public static final int X86_INS_CVTTSS2SI = 141;
+ public static final int X86_INS_CWD = 142;
+ public static final int X86_INS_CWDE = 143;
+ public static final int X86_INS_DAA = 144;
+ public static final int X86_INS_DAS = 145;
+ public static final int X86_INS_DATA16 = 146;
+ public static final int X86_INS_DEC = 147;
+ public static final int X86_INS_DIV = 148;
+ public static final int X86_INS_DIVPD = 149;
+ public static final int X86_INS_DIVPS = 150;
+ public static final int X86_INS_FDIVR = 151;
+ public static final int X86_INS_FIDIVR = 152;
+ public static final int X86_INS_FDIVRP = 153;
+ public static final int X86_INS_DIVSD = 154;
+ public static final int X86_INS_DIVSS = 155;
+ public static final int X86_INS_FDIV = 156;
+ public static final int X86_INS_FIDIV = 157;
+ public static final int X86_INS_FDIVP = 158;
+ public static final int X86_INS_DPPD = 159;
+ public static final int X86_INS_DPPS = 160;
+ public static final int X86_INS_ENCLS = 161;
+ public static final int X86_INS_ENCLU = 162;
+ public static final int X86_INS_ENCLV = 163;
+ public static final int X86_INS_ENDBR32 = 164;
+ public static final int X86_INS_ENDBR64 = 165;
+ public static final int X86_INS_ENTER = 166;
+ public static final int X86_INS_EXTRACTPS = 167;
+ public static final int X86_INS_EXTRQ = 168;
+ public static final int X86_INS_F2XM1 = 169;
+ public static final int X86_INS_LCALL = 170;
+ public static final int X86_INS_LJMP = 171;
+ public static final int X86_INS_JMP = 172;
+ public static final int X86_INS_FBLD = 173;
+ public static final int X86_INS_FBSTP = 174;
+ public static final int X86_INS_FCOMPP = 175;
+ public static final int X86_INS_FDECSTP = 176;
+ public static final int X86_INS_FDISI8087_NOP = 177;
+ public static final int X86_INS_FEMMS = 178;
+ public static final int X86_INS_FENI8087_NOP = 179;
+ public static final int X86_INS_FFREE = 180;
+ public static final int X86_INS_FFREEP = 181;
+ public static final int X86_INS_FICOM = 182;
+ public static final int X86_INS_FICOMP = 183;
+ public static final int X86_INS_FINCSTP = 184;
+ public static final int X86_INS_FLDCW = 185;
+ public static final int X86_INS_FLDENV = 186;
+ public static final int X86_INS_FLDL2E = 187;
+ public static final int X86_INS_FLDL2T = 188;
+ public static final int X86_INS_FLDLG2 = 189;
+ public static final int X86_INS_FLDLN2 = 190;
+ public static final int X86_INS_FLDPI = 191;
+ public static final int X86_INS_FNCLEX = 192;
+ public static final int X86_INS_FNINIT = 193;
+ public static final int X86_INS_FNOP = 194;
+ public static final int X86_INS_FNSTCW = 195;
+ public static final int X86_INS_FNSTSW = 196;
+ public static final int X86_INS_FPATAN = 197;
+ public static final int X86_INS_FSTPNCE = 198;
+ public static final int X86_INS_FPREM = 199;
+ public static final int X86_INS_FPREM1 = 200;
+ public static final int X86_INS_FPTAN = 201;
+ public static final int X86_INS_FRNDINT = 202;
+ public static final int X86_INS_FRSTOR = 203;
+ public static final int X86_INS_FNSAVE = 204;
+ public static final int X86_INS_FSCALE = 205;
+ public static final int X86_INS_FSETPM = 206;
+ public static final int X86_INS_FSINCOS = 207;
+ public static final int X86_INS_FNSTENV = 208;
+ public static final int X86_INS_FXAM = 209;
+ public static final int X86_INS_FXRSTOR = 210;
+ public static final int X86_INS_FXRSTOR64 = 211;
+ public static final int X86_INS_FXSAVE = 212;
+ public static final int X86_INS_FXSAVE64 = 213;
+ public static final int X86_INS_FXTRACT = 214;
+ public static final int X86_INS_FYL2X = 215;
+ public static final int X86_INS_FYL2XP1 = 216;
+ public static final int X86_INS_GETSEC = 217;
+ public static final int X86_INS_GF2P8AFFINEINVQB = 218;
+ public static final int X86_INS_GF2P8AFFINEQB = 219;
+ public static final int X86_INS_GF2P8MULB = 220;
+ public static final int X86_INS_HADDPD = 221;
+ public static final int X86_INS_HADDPS = 222;
+ public static final int X86_INS_HLT = 223;
+ public static final int X86_INS_HSUBPD = 224;
+ public static final int X86_INS_HSUBPS = 225;
+ public static final int X86_INS_IDIV = 226;
+ public static final int X86_INS_FILD = 227;
+ public static final int X86_INS_IMUL = 228;
+ public static final int X86_INS_IN = 229;
+ public static final int X86_INS_INC = 230;
+ public static final int X86_INS_INCSSPD = 231;
+ public static final int X86_INS_INCSSPQ = 232;
+ public static final int X86_INS_INSB = 233;
+ public static final int X86_INS_INSERTPS = 234;
+ public static final int X86_INS_INSERTQ = 235;
+ public static final int X86_INS_INSD = 236;
+ public static final int X86_INS_INSW = 237;
+ public static final int X86_INS_INT = 238;
+ public static final int X86_INS_INT1 = 239;
+ public static final int X86_INS_INT3 = 240;
+ public static final int X86_INS_INTO = 241;
+ public static final int X86_INS_INVD = 242;
+ public static final int X86_INS_INVEPT = 243;
+ public static final int X86_INS_INVLPG = 244;
+ public static final int X86_INS_INVLPGA = 245;
+ public static final int X86_INS_INVPCID = 246;
+ public static final int X86_INS_INVVPID = 247;
+ public static final int X86_INS_IRET = 248;
+ public static final int X86_INS_IRETD = 249;
+ public static final int X86_INS_IRETQ = 250;
+ public static final int X86_INS_FISTTP = 251;
+ public static final int X86_INS_FIST = 252;
+ public static final int X86_INS_FISTP = 253;
+ public static final int X86_INS_JAE = 254;
+ public static final int X86_INS_JA = 255;
+ public static final int X86_INS_JBE = 256;
+ public static final int X86_INS_JB = 257;
+ public static final int X86_INS_JCXZ = 258;
+ public static final int X86_INS_JECXZ = 259;
+ public static final int X86_INS_JE = 260;
+ public static final int X86_INS_JGE = 261;
+ public static final int X86_INS_JG = 262;
+ public static final int X86_INS_JLE = 263;
+ public static final int X86_INS_JL = 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_KADDB = 273;
+ public static final int X86_INS_KADDD = 274;
+ public static final int X86_INS_KADDQ = 275;
+ public static final int X86_INS_KADDW = 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_KTESTB = 309;
+ public static final int X86_INS_KTESTD = 310;
+ public static final int X86_INS_KTESTQ = 311;
+ public static final int X86_INS_KTESTW = 312;
+ public static final int X86_INS_KUNPCKBW = 313;
+ public static final int X86_INS_KUNPCKDQ = 314;
+ public static final int X86_INS_KUNPCKWD = 315;
+ public static final int X86_INS_KXNORB = 316;
+ public static final int X86_INS_KXNORD = 317;
+ public static final int X86_INS_KXNORQ = 318;
+ public static final int X86_INS_KXNORW = 319;
+ public static final int X86_INS_KXORB = 320;
+ public static final int X86_INS_KXORD = 321;
+ public static final int X86_INS_KXORQ = 322;
+ public static final int X86_INS_KXORW = 323;
+ public static final int X86_INS_LAHF = 324;
+ public static final int X86_INS_LAR = 325;
+ public static final int X86_INS_LDDQU = 326;
+ public static final int X86_INS_LDMXCSR = 327;
+ public static final int X86_INS_LDS = 328;
+ public static final int X86_INS_FLDZ = 329;
+ public static final int X86_INS_FLD1 = 330;
+ public static final int X86_INS_FLD = 331;
+ public static final int X86_INS_LEA = 332;
+ public static final int X86_INS_LEAVE = 333;
+ public static final int X86_INS_LES = 334;
+ public static final int X86_INS_LFENCE = 335;
+ public static final int X86_INS_LFS = 336;
+ public static final int X86_INS_LGDT = 337;
+ public static final int X86_INS_LGS = 338;
+ public static final int X86_INS_LIDT = 339;
+ public static final int X86_INS_LLDT = 340;
+ public static final int X86_INS_LLWPCB = 341;
+ public static final int X86_INS_LMSW = 342;
+ public static final int X86_INS_LOCK = 343;
+ public static final int X86_INS_LODSB = 344;
+ public static final int X86_INS_LODSD = 345;
+ public static final int X86_INS_LODSQ = 346;
+ public static final int X86_INS_LODSW = 347;
+ public static final int X86_INS_LOOP = 348;
+ public static final int X86_INS_LOOPE = 349;
+ public static final int X86_INS_LOOPNE = 350;
+ public static final int X86_INS_RETF = 351;
+ public static final int X86_INS_RETFQ = 352;
+ public static final int X86_INS_LSL = 353;
+ public static final int X86_INS_LSS = 354;
+ public static final int X86_INS_LTR = 355;
+ public static final int X86_INS_LWPINS = 356;
+ public static final int X86_INS_LWPVAL = 357;
+ public static final int X86_INS_LZCNT = 358;
+ public static final int X86_INS_MASKMOVDQU = 359;
+ public static final int X86_INS_MAXPD = 360;
+ public static final int X86_INS_MAXPS = 361;
+ public static final int X86_INS_MAXSD = 362;
+ public static final int X86_INS_MAXSS = 363;
+ public static final int X86_INS_MFENCE = 364;
+ public static final int X86_INS_MINPD = 365;
+ public static final int X86_INS_MINPS = 366;
+ public static final int X86_INS_MINSD = 367;
+ public static final int X86_INS_MINSS = 368;
+ public static final int X86_INS_CVTPD2PI = 369;
+ public static final int X86_INS_CVTPI2PD = 370;
+ public static final int X86_INS_CVTPI2PS = 371;
+ public static final int X86_INS_CVTPS2PI = 372;
+ public static final int X86_INS_CVTTPD2PI = 373;
+ public static final int X86_INS_CVTTPS2PI = 374;
+ public static final int X86_INS_EMMS = 375;
+ public static final int X86_INS_MASKMOVQ = 376;
+ public static final int X86_INS_MOVD = 377;
+ public static final int X86_INS_MOVQ = 378;
+ public static final int X86_INS_MOVDQ2Q = 379;
+ public static final int X86_INS_MOVNTQ = 380;
+ public static final int X86_INS_MOVQ2DQ = 381;
+ public static final int X86_INS_PABSB = 382;
+ public static final int X86_INS_PABSD = 383;
+ public static final int X86_INS_PABSW = 384;
+ public static final int X86_INS_PACKSSDW = 385;
+ public static final int X86_INS_PACKSSWB = 386;
+ public static final int X86_INS_PACKUSWB = 387;
+ public static final int X86_INS_PADDB = 388;
+ public static final int X86_INS_PADDD = 389;
+ public static final int X86_INS_PADDQ = 390;
+ public static final int X86_INS_PADDSB = 391;
+ public static final int X86_INS_PADDSW = 392;
+ public static final int X86_INS_PADDUSB = 393;
+ public static final int X86_INS_PADDUSW = 394;
+ public static final int X86_INS_PADDW = 395;
+ public static final int X86_INS_PALIGNR = 396;
+ public static final int X86_INS_PANDN = 397;
+ public static final int X86_INS_PAND = 398;
+ public static final int X86_INS_PAVGB = 399;
+ public static final int X86_INS_PAVGW = 400;
+ public static final int X86_INS_PCMPEQB = 401;
+ public static final int X86_INS_PCMPEQD = 402;
+ public static final int X86_INS_PCMPEQW = 403;
+ public static final int X86_INS_PCMPGTB = 404;
+ public static final int X86_INS_PCMPGTD = 405;
+ public static final int X86_INS_PCMPGTW = 406;
+ public static final int X86_INS_PEXTRW = 407;
+ public static final int X86_INS_PHADDD = 408;
+ public static final int X86_INS_PHADDSW = 409;
+ public static final int X86_INS_PHADDW = 410;
+ public static final int X86_INS_PHSUBD = 411;
+ public static final int X86_INS_PHSUBSW = 412;
+ public static final int X86_INS_PHSUBW = 413;
+ public static final int X86_INS_PINSRW = 414;
+ public static final int X86_INS_PMADDUBSW = 415;
+ public static final int X86_INS_PMADDWD = 416;
+ public static final int X86_INS_PMAXSW = 417;
+ public static final int X86_INS_PMAXUB = 418;
+ public static final int X86_INS_PMINSW = 419;
+ public static final int X86_INS_PMINUB = 420;
+ public static final int X86_INS_PMOVMSKB = 421;
+ public static final int X86_INS_PMULHRSW = 422;
+ public static final int X86_INS_PMULHUW = 423;
+ public static final int X86_INS_PMULHW = 424;
+ public static final int X86_INS_PMULLW = 425;
+ public static final int X86_INS_PMULUDQ = 426;
+ public static final int X86_INS_POR = 427;
+ public static final int X86_INS_PSADBW = 428;
+ public static final int X86_INS_PSHUFB = 429;
+ public static final int X86_INS_PSHUFW = 430;
+ public static final int X86_INS_PSIGNB = 431;
+ public static final int X86_INS_PSIGND = 432;
+ public static final int X86_INS_PSIGNW = 433;
+ public static final int X86_INS_PSLLD = 434;
+ public static final int X86_INS_PSLLQ = 435;
+ public static final int X86_INS_PSLLW = 436;
+ public static final int X86_INS_PSRAD = 437;
+ public static final int X86_INS_PSRAW = 438;
+ public static final int X86_INS_PSRLD = 439;
+ public static final int X86_INS_PSRLQ = 440;
+ public static final int X86_INS_PSRLW = 441;
+ public static final int X86_INS_PSUBB = 442;
+ public static final int X86_INS_PSUBD = 443;
+ public static final int X86_INS_PSUBQ = 444;
+ public static final int X86_INS_PSUBSB = 445;
+ public static final int X86_INS_PSUBSW = 446;
+ public static final int X86_INS_PSUBUSB = 447;
+ public static final int X86_INS_PSUBUSW = 448;
+ public static final int X86_INS_PSUBW = 449;
+ public static final int X86_INS_PUNPCKHBW = 450;
+ public static final int X86_INS_PUNPCKHDQ = 451;
+ public static final int X86_INS_PUNPCKHWD = 452;
+ public static final int X86_INS_PUNPCKLBW = 453;
+ public static final int X86_INS_PUNPCKLDQ = 454;
+ public static final int X86_INS_PUNPCKLWD = 455;
+ public static final int X86_INS_PXOR = 456;
+ public static final int X86_INS_MONITORX = 457;
+ public static final int X86_INS_MONITOR = 458;
+ public static final int X86_INS_MONTMUL = 459;
+ public static final int X86_INS_MOV = 460;
+ public static final int X86_INS_MOVABS = 461;
+ public static final int X86_INS_MOVAPD = 462;
+ public static final int X86_INS_MOVAPS = 463;
+ public static final int X86_INS_MOVBE = 464;
+ public static final int X86_INS_MOVDDUP = 465;
+ public static final int X86_INS_MOVDIR64B = 466;
+ public static final int X86_INS_MOVDIRI = 467;
+ public static final int X86_INS_MOVDQA = 468;
+ public static final int X86_INS_MOVDQU = 469;
+ public static final int X86_INS_MOVHLPS = 470;
+ public static final int X86_INS_MOVHPD = 471;
+ public static final int X86_INS_MOVHPS = 472;
+ public static final int X86_INS_MOVLHPS = 473;
+ public static final int X86_INS_MOVLPD = 474;
+ public static final int X86_INS_MOVLPS = 475;
+ public static final int X86_INS_MOVMSKPD = 476;
+ public static final int X86_INS_MOVMSKPS = 477;
+ public static final int X86_INS_MOVNTDQA = 478;
+ public static final int X86_INS_MOVNTDQ = 479;
+ public static final int X86_INS_MOVNTI = 480;
+ public static final int X86_INS_MOVNTPD = 481;
+ public static final int X86_INS_MOVNTPS = 482;
+ public static final int X86_INS_MOVNTSD = 483;
+ public static final int X86_INS_MOVNTSS = 484;
+ public static final int X86_INS_MOVSB = 485;
+ public static final int X86_INS_MOVSD = 486;
+ public static final int X86_INS_MOVSHDUP = 487;
+ public static final int X86_INS_MOVSLDUP = 488;
+ public static final int X86_INS_MOVSQ = 489;
+ public static final int X86_INS_MOVSS = 490;
+ public static final int X86_INS_MOVSW = 491;
+ public static final int X86_INS_MOVSX = 492;
+ public static final int X86_INS_MOVSXD = 493;
+ public static final int X86_INS_MOVUPD = 494;
+ public static final int X86_INS_MOVUPS = 495;
+ public static final int X86_INS_MOVZX = 496;
+ public static final int X86_INS_MPSADBW = 497;
+ public static final int X86_INS_MUL = 498;
+ public static final int X86_INS_MULPD = 499;
+ public static final int X86_INS_MULPS = 500;
+ public static final int X86_INS_MULSD = 501;
+ public static final int X86_INS_MULSS = 502;
+ public static final int X86_INS_MULX = 503;
+ public static final int X86_INS_FMUL = 504;
+ public static final int X86_INS_FIMUL = 505;
+ public static final int X86_INS_FMULP = 506;
+ public static final int X86_INS_MWAITX = 507;
+ public static final int X86_INS_MWAIT = 508;
+ public static final int X86_INS_NEG = 509;
+ public static final int X86_INS_NOP = 510;
+ public static final int X86_INS_NOT = 511;
+ public static final int X86_INS_OR = 512;
+ public static final int X86_INS_ORPD = 513;
+ public static final int X86_INS_ORPS = 514;
+ public static final int X86_INS_OUT = 515;
+ public static final int X86_INS_OUTSB = 516;
+ public static final int X86_INS_OUTSD = 517;
+ public static final int X86_INS_OUTSW = 518;
+ public static final int X86_INS_PACKUSDW = 519;
+ public static final int X86_INS_PAUSE = 520;
+ public static final int X86_INS_PAVGUSB = 521;
+ public static final int X86_INS_PBLENDVB = 522;
+ public static final int X86_INS_PBLENDW = 523;
+ public static final int X86_INS_PCLMULQDQ = 524;
+ public static final int X86_INS_PCMPEQQ = 525;
+ public static final int X86_INS_PCMPESTRI = 526;
+ public static final int X86_INS_PCMPESTRM = 527;
+ public static final int X86_INS_PCMPGTQ = 528;
+ public static final int X86_INS_PCMPISTRI = 529;
+ public static final int X86_INS_PCMPISTRM = 530;
+ public static final int X86_INS_PCONFIG = 531;
+ public static final int X86_INS_PDEP = 532;
+ public static final int X86_INS_PEXT = 533;
+ public static final int X86_INS_PEXTRB = 534;
+ public static final int X86_INS_PEXTRD = 535;
+ public static final int X86_INS_PEXTRQ = 536;
+ public static final int X86_INS_PF2ID = 537;
+ public static final int X86_INS_PF2IW = 538;
+ public static final int X86_INS_PFACC = 539;
+ public static final int X86_INS_PFADD = 540;
+ public static final int X86_INS_PFCMPEQ = 541;
+ public static final int X86_INS_PFCMPGE = 542;
+ public static final int X86_INS_PFCMPGT = 543;
+ public static final int X86_INS_PFMAX = 544;
+ public static final int X86_INS_PFMIN = 545;
+ public static final int X86_INS_PFMUL = 546;
+ public static final int X86_INS_PFNACC = 547;
+ public static final int X86_INS_PFPNACC = 548;
+ public static final int X86_INS_PFRCPIT1 = 549;
+ public static final int X86_INS_PFRCPIT2 = 550;
+ public static final int X86_INS_PFRCP = 551;
+ public static final int X86_INS_PFRSQIT1 = 552;
+ public static final int X86_INS_PFRSQRT = 553;
+ public static final int X86_INS_PFSUBR = 554;
+ public static final int X86_INS_PFSUB = 555;
+ public static final int X86_INS_PHMINPOSUW = 556;
+ public static final int X86_INS_PI2FD = 557;
+ public static final int X86_INS_PI2FW = 558;
+ public static final int X86_INS_PINSRB = 559;
+ public static final int X86_INS_PINSRD = 560;
+ public static final int X86_INS_PINSRQ = 561;
+ public static final int X86_INS_PMAXSB = 562;
+ public static final int X86_INS_PMAXSD = 563;
+ public static final int X86_INS_PMAXUD = 564;
+ public static final int X86_INS_PMAXUW = 565;
+ public static final int X86_INS_PMINSB = 566;
+ public static final int X86_INS_PMINSD = 567;
+ public static final int X86_INS_PMINUD = 568;
+ public static final int X86_INS_PMINUW = 569;
+ public static final int X86_INS_PMOVSXBD = 570;
+ public static final int X86_INS_PMOVSXBQ = 571;
+ public static final int X86_INS_PMOVSXBW = 572;
+ public static final int X86_INS_PMOVSXDQ = 573;
+ public static final int X86_INS_PMOVSXWD = 574;
+ public static final int X86_INS_PMOVSXWQ = 575;
+ public static final int X86_INS_PMOVZXBD = 576;
+ public static final int X86_INS_PMOVZXBQ = 577;
+ public static final int X86_INS_PMOVZXBW = 578;
+ public static final int X86_INS_PMOVZXDQ = 579;
+ public static final int X86_INS_PMOVZXWD = 580;
+ public static final int X86_INS_PMOVZXWQ = 581;
+ public static final int X86_INS_PMULDQ = 582;
+ public static final int X86_INS_PMULHRW = 583;
+ public static final int X86_INS_PMULLD = 584;
+ public static final int X86_INS_POP = 585;
+ public static final int X86_INS_POPAW = 586;
+ public static final int X86_INS_POPAL = 587;
+ public static final int X86_INS_POPCNT = 588;
+ public static final int X86_INS_POPF = 589;
+ public static final int X86_INS_POPFD = 590;
+ public static final int X86_INS_POPFQ = 591;
+ public static final int X86_INS_PREFETCH = 592;
+ public static final int X86_INS_PREFETCHNTA = 593;
+ public static final int X86_INS_PREFETCHT0 = 594;
+ public static final int X86_INS_PREFETCHT1 = 595;
+ public static final int X86_INS_PREFETCHT2 = 596;
+ public static final int X86_INS_PREFETCHW = 597;
+ public static final int X86_INS_PREFETCHWT1 = 598;
+ public static final int X86_INS_PSHUFD = 599;
+ public static final int X86_INS_PSHUFHW = 600;
+ public static final int X86_INS_PSHUFLW = 601;
+ public static final int X86_INS_PSLLDQ = 602;
+ public static final int X86_INS_PSRLDQ = 603;
+ public static final int X86_INS_PSWAPD = 604;
+ public static final int X86_INS_PTEST = 605;
+ public static final int X86_INS_PTWRITE = 606;
+ public static final int X86_INS_PUNPCKHQDQ = 607;
+ public static final int X86_INS_PUNPCKLQDQ = 608;
+ public static final int X86_INS_PUSH = 609;
+ public static final int X86_INS_PUSHAW = 610;
+ public static final int X86_INS_PUSHAL = 611;
+ public static final int X86_INS_PUSHF = 612;
+ public static final int X86_INS_PUSHFD = 613;
+ public static final int X86_INS_PUSHFQ = 614;
+ public static final int X86_INS_RCL = 615;
+ public static final int X86_INS_RCPPS = 616;
+ public static final int X86_INS_RCPSS = 617;
+ public static final int X86_INS_RCR = 618;
+ public static final int X86_INS_RDFSBASE = 619;
+ public static final int X86_INS_RDGSBASE = 620;
+ public static final int X86_INS_RDMSR = 621;
+ public static final int X86_INS_RDPID = 622;
+ public static final int X86_INS_RDPKRU = 623;
+ public static final int X86_INS_RDPMC = 624;
+ public static final int X86_INS_RDRAND = 625;
+ public static final int X86_INS_RDSEED = 626;
+ public static final int X86_INS_RDSSPD = 627;
+ public static final int X86_INS_RDSSPQ = 628;
+ public static final int X86_INS_RDTSC = 629;
+ public static final int X86_INS_RDTSCP = 630;
+ public static final int X86_INS_REPNE = 631;
+ public static final int X86_INS_REP = 632;
+ public static final int X86_INS_RET = 633;
+ public static final int X86_INS_REX64 = 634;
+ public static final int X86_INS_ROL = 635;
+ public static final int X86_INS_ROR = 636;
+ public static final int X86_INS_RORX = 637;
+ public static final int X86_INS_ROUNDPD = 638;
+ public static final int X86_INS_ROUNDPS = 639;
+ public static final int X86_INS_ROUNDSD = 640;
+ public static final int X86_INS_ROUNDSS = 641;
+ public static final int X86_INS_RSM = 642;
+ public static final int X86_INS_RSQRTPS = 643;
+ public static final int X86_INS_RSQRTSS = 644;
+ public static final int X86_INS_RSTORSSP = 645;
+ public static final int X86_INS_SAHF = 646;
+ public static final int X86_INS_SAL = 647;
+ public static final int X86_INS_SALC = 648;
+ public static final int X86_INS_SAR = 649;
+ public static final int X86_INS_SARX = 650;
+ public static final int X86_INS_SAVEPREVSSP = 651;
+ public static final int X86_INS_SBB = 652;
+ public static final int X86_INS_SCASB = 653;
+ public static final int X86_INS_SCASD = 654;
+ public static final int X86_INS_SCASQ = 655;
+ public static final int X86_INS_SCASW = 656;
+ public static final int X86_INS_SETAE = 657;
+ public static final int X86_INS_SETA = 658;
+ public static final int X86_INS_SETBE = 659;
+ public static final int X86_INS_SETB = 660;
+ public static final int X86_INS_SETE = 661;
+ public static final int X86_INS_SETGE = 662;
+ public static final int X86_INS_SETG = 663;
+ public static final int X86_INS_SETLE = 664;
+ public static final int X86_INS_SETL = 665;
+ public static final int X86_INS_SETNE = 666;
+ public static final int X86_INS_SETNO = 667;
+ public static final int X86_INS_SETNP = 668;
+ public static final int X86_INS_SETNS = 669;
+ public static final int X86_INS_SETO = 670;
+ public static final int X86_INS_SETP = 671;
+ public static final int X86_INS_SETSSBSY = 672;
+ public static final int X86_INS_SETS = 673;
+ public static final int X86_INS_SFENCE = 674;
+ public static final int X86_INS_SGDT = 675;
+ public static final int X86_INS_SHA1MSG1 = 676;
+ public static final int X86_INS_SHA1MSG2 = 677;
+ public static final int X86_INS_SHA1NEXTE = 678;
+ public static final int X86_INS_SHA1RNDS4 = 679;
+ public static final int X86_INS_SHA256MSG1 = 680;
+ public static final int X86_INS_SHA256MSG2 = 681;
+ public static final int X86_INS_SHA256RNDS2 = 682;
+ public static final int X86_INS_SHL = 683;
+ public static final int X86_INS_SHLD = 684;
+ public static final int X86_INS_SHLX = 685;
+ public static final int X86_INS_SHR = 686;
+ public static final int X86_INS_SHRD = 687;
+ public static final int X86_INS_SHRX = 688;
+ public static final int X86_INS_SHUFPD = 689;
+ public static final int X86_INS_SHUFPS = 690;
+ public static final int X86_INS_SIDT = 691;
+ public static final int X86_INS_FSIN = 692;
+ public static final int X86_INS_SKINIT = 693;
+ public static final int X86_INS_SLDT = 694;
+ public static final int X86_INS_SLWPCB = 695;
+ public static final int X86_INS_SMSW = 696;
+ public static final int X86_INS_SQRTPD = 697;
+ public static final int X86_INS_SQRTPS = 698;
+ public static final int X86_INS_SQRTSD = 699;
+ public static final int X86_INS_SQRTSS = 700;
+ public static final int X86_INS_FSQRT = 701;
+ public static final int X86_INS_STAC = 702;
+ public static final int X86_INS_STC = 703;
+ public static final int X86_INS_STD = 704;
+ public static final int X86_INS_STGI = 705;
+ public static final int X86_INS_STI = 706;
+ public static final int X86_INS_STMXCSR = 707;
+ public static final int X86_INS_STOSB = 708;
+ public static final int X86_INS_STOSD = 709;
+ public static final int X86_INS_STOSQ = 710;
+ public static final int X86_INS_STOSW = 711;
+ public static final int X86_INS_STR = 712;
+ public static final int X86_INS_FST = 713;
+ public static final int X86_INS_FSTP = 714;
+ public static final int X86_INS_SUB = 715;
+ public static final int X86_INS_SUBPD = 716;
+ public static final int X86_INS_SUBPS = 717;
+ public static final int X86_INS_FSUBR = 718;
+ public static final int X86_INS_FISUBR = 719;
+ public static final int X86_INS_FSUBRP = 720;
+ public static final int X86_INS_SUBSD = 721;
+ public static final int X86_INS_SUBSS = 722;
+ public static final int X86_INS_FSUB = 723;
+ public static final int X86_INS_FISUB = 724;
+ public static final int X86_INS_FSUBP = 725;
+ public static final int X86_INS_SWAPGS = 726;
+ public static final int X86_INS_SYSCALL = 727;
+ public static final int X86_INS_SYSENTER = 728;
+ public static final int X86_INS_SYSEXIT = 729;
+ public static final int X86_INS_SYSEXITQ = 730;
+ public static final int X86_INS_SYSRET = 731;
+ public static final int X86_INS_SYSRETQ = 732;
+ public static final int X86_INS_T1MSKC = 733;
+ public static final int X86_INS_TEST = 734;
+ public static final int X86_INS_TPAUSE = 735;
+ public static final int X86_INS_FTST = 736;
+ public static final int X86_INS_TZCNT = 737;
+ public static final int X86_INS_TZMSK = 738;
+ public static final int X86_INS_UCOMISD = 739;
+ public static final int X86_INS_UCOMISS = 740;
+ public static final int X86_INS_FUCOMPI = 741;
+ public static final int X86_INS_FUCOMI = 742;
+ public static final int X86_INS_FUCOMPP = 743;
+ public static final int X86_INS_FUCOMP = 744;
+ public static final int X86_INS_FUCOM = 745;
+ public static final int X86_INS_UD0 = 746;
+ public static final int X86_INS_UD1 = 747;
+ public static final int X86_INS_UD2 = 748;
+ public static final int X86_INS_UMONITOR = 749;
+ public static final int X86_INS_UMWAIT = 750;
+ public static final int X86_INS_UNPCKHPD = 751;
+ public static final int X86_INS_UNPCKHPS = 752;
+ public static final int X86_INS_UNPCKLPD = 753;
+ public static final int X86_INS_UNPCKLPS = 754;
+ public static final int X86_INS_V4FMADDPS = 755;
+ public static final int X86_INS_V4FMADDSS = 756;
+ public static final int X86_INS_V4FNMADDPS = 757;
+ public static final int X86_INS_V4FNMADDSS = 758;
+ public static final int X86_INS_VADDPD = 759;
+ public static final int X86_INS_VADDPS = 760;
+ public static final int X86_INS_VADDSD = 761;
+ public static final int X86_INS_VADDSS = 762;
+ public static final int X86_INS_VADDSUBPD = 763;
+ public static final int X86_INS_VADDSUBPS = 764;
+ public static final int X86_INS_VAESDECLAST = 765;
+ public static final int X86_INS_VAESDEC = 766;
+ public static final int X86_INS_VAESENCLAST = 767;
+ public static final int X86_INS_VAESENC = 768;
+ public static final int X86_INS_VAESIMC = 769;
+ public static final int X86_INS_VAESKEYGENASSIST = 770;
+ public static final int X86_INS_VALIGND = 771;
+ public static final int X86_INS_VALIGNQ = 772;
+ public static final int X86_INS_VANDNPD = 773;
+ public static final int X86_INS_VANDNPS = 774;
+ public static final int X86_INS_VANDPD = 775;
+ public static final int X86_INS_VANDPS = 776;
+ public static final int X86_INS_VBLENDMPD = 777;
+ public static final int X86_INS_VBLENDMPS = 778;
+ public static final int X86_INS_VBLENDPD = 779;
+ public static final int X86_INS_VBLENDPS = 780;
+ public static final int X86_INS_VBLENDVPD = 781;
+ public static final int X86_INS_VBLENDVPS = 782;
+ public static final int X86_INS_VBROADCASTF128 = 783;
+ public static final int X86_INS_VBROADCASTF32X2 = 784;
+ public static final int X86_INS_VBROADCASTF32X4 = 785;
+ public static final int X86_INS_VBROADCASTF32X8 = 786;
+ public static final int X86_INS_VBROADCASTF64X2 = 787;
+ public static final int X86_INS_VBROADCASTF64X4 = 788;
+ public static final int X86_INS_VBROADCASTI128 = 789;
+ public static final int X86_INS_VBROADCASTI32X2 = 790;
+ public static final int X86_INS_VBROADCASTI32X4 = 791;
+ public static final int X86_INS_VBROADCASTI32X8 = 792;
+ public static final int X86_INS_VBROADCASTI64X2 = 793;
+ public static final int X86_INS_VBROADCASTI64X4 = 794;
+ public static final int X86_INS_VBROADCASTSD = 795;
+ public static final int X86_INS_VBROADCASTSS = 796;
+ public static final int X86_INS_VCMP = 797;
+ public static final int X86_INS_VCMPPD = 798;
+ public static final int X86_INS_VCMPPS = 799;
+ public static final int X86_INS_VCMPSD = 800;
+ public static final int X86_INS_VCMPSS = 801;
+ public static final int X86_INS_VCOMISD = 802;
+ public static final int X86_INS_VCOMISS = 803;
+ public static final int X86_INS_VCOMPRESSPD = 804;
+ public static final int X86_INS_VCOMPRESSPS = 805;
+ public static final int X86_INS_VCVTDQ2PD = 806;
+ public static final int X86_INS_VCVTDQ2PS = 807;
+ public static final int X86_INS_VCVTPD2DQ = 808;
+ public static final int X86_INS_VCVTPD2PS = 809;
+ public static final int X86_INS_VCVTPD2QQ = 810;
+ public static final int X86_INS_VCVTPD2UDQ = 811;
+ public static final int X86_INS_VCVTPD2UQQ = 812;
+ public static final int X86_INS_VCVTPH2PS = 813;
+ public static final int X86_INS_VCVTPS2DQ = 814;
+ public static final int X86_INS_VCVTPS2PD = 815;
+ public static final int X86_INS_VCVTPS2PH = 816;
+ public static final int X86_INS_VCVTPS2QQ = 817;
+ public static final int X86_INS_VCVTPS2UDQ = 818;
+ public static final int X86_INS_VCVTPS2UQQ = 819;
+ public static final int X86_INS_VCVTQQ2PD = 820;
+ public static final int X86_INS_VCVTQQ2PS = 821;
+ public static final int X86_INS_VCVTSD2SI = 822;
+ public static final int X86_INS_VCVTSD2SS = 823;
+ public static final int X86_INS_VCVTSD2USI = 824;
+ public static final int X86_INS_VCVTSI2SD = 825;
+ public static final int X86_INS_VCVTSI2SS = 826;
+ public static final int X86_INS_VCVTSS2SD = 827;
+ public static final int X86_INS_VCVTSS2SI = 828;
+ public static final int X86_INS_VCVTSS2USI = 829;
+ public static final int X86_INS_VCVTTPD2DQ = 830;
+ public static final int X86_INS_VCVTTPD2QQ = 831;
+ public static final int X86_INS_VCVTTPD2UDQ = 832;
+ public static final int X86_INS_VCVTTPD2UQQ = 833;
+ public static final int X86_INS_VCVTTPS2DQ = 834;
+ public static final int X86_INS_VCVTTPS2QQ = 835;
+ public static final int X86_INS_VCVTTPS2UDQ = 836;
+ public static final int X86_INS_VCVTTPS2UQQ = 837;
+ public static final int X86_INS_VCVTTSD2SI = 838;
+ public static final int X86_INS_VCVTTSD2USI = 839;
+ public static final int X86_INS_VCVTTSS2SI = 840;
+ public static final int X86_INS_VCVTTSS2USI = 841;
+ public static final int X86_INS_VCVTUDQ2PD = 842;
+ public static final int X86_INS_VCVTUDQ2PS = 843;
+ public static final int X86_INS_VCVTUQQ2PD = 844;
+ public static final int X86_INS_VCVTUQQ2PS = 845;
+ public static final int X86_INS_VCVTUSI2SD = 846;
+ public static final int X86_INS_VCVTUSI2SS = 847;
+ public static final int X86_INS_VDBPSADBW = 848;
+ public static final int X86_INS_VDIVPD = 849;
+ public static final int X86_INS_VDIVPS = 850;
+ public static final int X86_INS_VDIVSD = 851;
+ public static final int X86_INS_VDIVSS = 852;
+ public static final int X86_INS_VDPPD = 853;
+ public static final int X86_INS_VDPPS = 854;
+ public static final int X86_INS_VERR = 855;
+ public static final int X86_INS_VERW = 856;
+ public static final int X86_INS_VEXP2PD = 857;
+ public static final int X86_INS_VEXP2PS = 858;
+ public static final int X86_INS_VEXPANDPD = 859;
+ public static final int X86_INS_VEXPANDPS = 860;
+ public static final int X86_INS_VEXTRACTF128 = 861;
+ public static final int X86_INS_VEXTRACTF32X4 = 862;
+ public static final int X86_INS_VEXTRACTF32X8 = 863;
+ public static final int X86_INS_VEXTRACTF64X2 = 864;
+ public static final int X86_INS_VEXTRACTF64X4 = 865;
+ public static final int X86_INS_VEXTRACTI128 = 866;
+ public static final int X86_INS_VEXTRACTI32X4 = 867;
+ public static final int X86_INS_VEXTRACTI32X8 = 868;
+ public static final int X86_INS_VEXTRACTI64X2 = 869;
+ public static final int X86_INS_VEXTRACTI64X4 = 870;
+ public static final int X86_INS_VEXTRACTPS = 871;
+ public static final int X86_INS_VFIXUPIMMPD = 872;
+ public static final int X86_INS_VFIXUPIMMPS = 873;
+ public static final int X86_INS_VFIXUPIMMSD = 874;
+ public static final int X86_INS_VFIXUPIMMSS = 875;
+ public static final int X86_INS_VFMADD132PD = 876;
+ public static final int X86_INS_VFMADD132PS = 877;
+ public static final int X86_INS_VFMADD132SD = 878;
+ public static final int X86_INS_VFMADD132SS = 879;
+ public static final int X86_INS_VFMADD213PD = 880;
+ public static final int X86_INS_VFMADD213PS = 881;
+ public static final int X86_INS_VFMADD213SD = 882;
+ public static final int X86_INS_VFMADD213SS = 883;
+ public static final int X86_INS_VFMADD231PD = 884;
+ public static final int X86_INS_VFMADD231PS = 885;
+ public static final int X86_INS_VFMADD231SD = 886;
+ public static final int X86_INS_VFMADD231SS = 887;
+ public static final int X86_INS_VFMADDPD = 888;
+ public static final int X86_INS_VFMADDPS = 889;
+ public static final int X86_INS_VFMADDSD = 890;
+ public static final int X86_INS_VFMADDSS = 891;
+ public static final int X86_INS_VFMADDSUB132PD = 892;
+ public static final int X86_INS_VFMADDSUB132PS = 893;
+ public static final int X86_INS_VFMADDSUB213PD = 894;
+ public static final int X86_INS_VFMADDSUB213PS = 895;
+ public static final int X86_INS_VFMADDSUB231PD = 896;
+ public static final int X86_INS_VFMADDSUB231PS = 897;
+ public static final int X86_INS_VFMADDSUBPD = 898;
+ public static final int X86_INS_VFMADDSUBPS = 899;
+ public static final int X86_INS_VFMSUB132PD = 900;
+ public static final int X86_INS_VFMSUB132PS = 901;
+ public static final int X86_INS_VFMSUB132SD = 902;
+ public static final int X86_INS_VFMSUB132SS = 903;
+ public static final int X86_INS_VFMSUB213PD = 904;
+ public static final int X86_INS_VFMSUB213PS = 905;
+ public static final int X86_INS_VFMSUB213SD = 906;
+ public static final int X86_INS_VFMSUB213SS = 907;
+ public static final int X86_INS_VFMSUB231PD = 908;
+ public static final int X86_INS_VFMSUB231PS = 909;
+ public static final int X86_INS_VFMSUB231SD = 910;
+ public static final int X86_INS_VFMSUB231SS = 911;
+ public static final int X86_INS_VFMSUBADD132PD = 912;
+ public static final int X86_INS_VFMSUBADD132PS = 913;
+ public static final int X86_INS_VFMSUBADD213PD = 914;
+ public static final int X86_INS_VFMSUBADD213PS = 915;
+ public static final int X86_INS_VFMSUBADD231PD = 916;
+ public static final int X86_INS_VFMSUBADD231PS = 917;
+ public static final int X86_INS_VFMSUBADDPD = 918;
+ public static final int X86_INS_VFMSUBADDPS = 919;
+ public static final int X86_INS_VFMSUBPD = 920;
+ public static final int X86_INS_VFMSUBPS = 921;
+ public static final int X86_INS_VFMSUBSD = 922;
+ public static final int X86_INS_VFMSUBSS = 923;
+ public static final int X86_INS_VFNMADD132PD = 924;
+ public static final int X86_INS_VFNMADD132PS = 925;
+ public static final int X86_INS_VFNMADD132SD = 926;
+ public static final int X86_INS_VFNMADD132SS = 927;
+ public static final int X86_INS_VFNMADD213PD = 928;
+ public static final int X86_INS_VFNMADD213PS = 929;
+ public static final int X86_INS_VFNMADD213SD = 930;
+ public static final int X86_INS_VFNMADD213SS = 931;
+ public static final int X86_INS_VFNMADD231PD = 932;
+ public static final int X86_INS_VFNMADD231PS = 933;
+ public static final int X86_INS_VFNMADD231SD = 934;
+ public static final int X86_INS_VFNMADD231SS = 935;
+ public static final int X86_INS_VFNMADDPD = 936;
+ public static final int X86_INS_VFNMADDPS = 937;
+ public static final int X86_INS_VFNMADDSD = 938;
+ public static final int X86_INS_VFNMADDSS = 939;
+ public static final int X86_INS_VFNMSUB132PD = 940;
+ public static final int X86_INS_VFNMSUB132PS = 941;
+ public static final int X86_INS_VFNMSUB132SD = 942;
+ public static final int X86_INS_VFNMSUB132SS = 943;
+ public static final int X86_INS_VFNMSUB213PD = 944;
+ public static final int X86_INS_VFNMSUB213PS = 945;
+ public static final int X86_INS_VFNMSUB213SD = 946;
+ public static final int X86_INS_VFNMSUB213SS = 947;
+ public static final int X86_INS_VFNMSUB231PD = 948;
+ public static final int X86_INS_VFNMSUB231PS = 949;
+ public static final int X86_INS_VFNMSUB231SD = 950;
+ public static final int X86_INS_VFNMSUB231SS = 951;
+ public static final int X86_INS_VFNMSUBPD = 952;
+ public static final int X86_INS_VFNMSUBPS = 953;
+ public static final int X86_INS_VFNMSUBSD = 954;
+ public static final int X86_INS_VFNMSUBSS = 955;
+ public static final int X86_INS_VFPCLASSPD = 956;
+ public static final int X86_INS_VFPCLASSPS = 957;
+ public static final int X86_INS_VFPCLASSSD = 958;
+ public static final int X86_INS_VFPCLASSSS = 959;
+ public static final int X86_INS_VFRCZPD = 960;
+ public static final int X86_INS_VFRCZPS = 961;
+ public static final int X86_INS_VFRCZSD = 962;
+ public static final int X86_INS_VFRCZSS = 963;
+ public static final int X86_INS_VGATHERDPD = 964;
+ public static final int X86_INS_VGATHERDPS = 965;
+ public static final int X86_INS_VGATHERPF0DPD = 966;
+ public static final int X86_INS_VGATHERPF0DPS = 967;
+ public static final int X86_INS_VGATHERPF0QPD = 968;
+ public static final int X86_INS_VGATHERPF0QPS = 969;
+ public static final int X86_INS_VGATHERPF1DPD = 970;
+ public static final int X86_INS_VGATHERPF1DPS = 971;
+ public static final int X86_INS_VGATHERPF1QPD = 972;
+ public static final int X86_INS_VGATHERPF1QPS = 973;
+ public static final int X86_INS_VGATHERQPD = 974;
+ public static final int X86_INS_VGATHERQPS = 975;
+ public static final int X86_INS_VGETEXPPD = 976;
+ public static final int X86_INS_VGETEXPPS = 977;
+ public static final int X86_INS_VGETEXPSD = 978;
+ public static final int X86_INS_VGETEXPSS = 979;
+ public static final int X86_INS_VGETMANTPD = 980;
+ public static final int X86_INS_VGETMANTPS = 981;
+ public static final int X86_INS_VGETMANTSD = 982;
+ public static final int X86_INS_VGETMANTSS = 983;
+ public static final int X86_INS_VGF2P8AFFINEINVQB = 984;
+ public static final int X86_INS_VGF2P8AFFINEQB = 985;
+ public static final int X86_INS_VGF2P8MULB = 986;
+ public static final int X86_INS_VHADDPD = 987;
+ public static final int X86_INS_VHADDPS = 988;
+ public static final int X86_INS_VHSUBPD = 989;
+ public static final int X86_INS_VHSUBPS = 990;
+ public static final int X86_INS_VINSERTF128 = 991;
+ public static final int X86_INS_VINSERTF32X4 = 992;
+ public static final int X86_INS_VINSERTF32X8 = 993;
+ public static final int X86_INS_VINSERTF64X2 = 994;
+ public static final int X86_INS_VINSERTF64X4 = 995;
+ public static final int X86_INS_VINSERTI128 = 996;
+ public static final int X86_INS_VINSERTI32X4 = 997;
+ public static final int X86_INS_VINSERTI32X8 = 998;
+ public static final int X86_INS_VINSERTI64X2 = 999;
+ public static final int X86_INS_VINSERTI64X4 = 1000;
+ public static final int X86_INS_VINSERTPS = 1001;
+ public static final int X86_INS_VLDDQU = 1002;
+ public static final int X86_INS_VLDMXCSR = 1003;
+ public static final int X86_INS_VMASKMOVDQU = 1004;
+ public static final int X86_INS_VMASKMOVPD = 1005;
+ public static final int X86_INS_VMASKMOVPS = 1006;
+ public static final int X86_INS_VMAXPD = 1007;
+ public static final int X86_INS_VMAXPS = 1008;
+ public static final int X86_INS_VMAXSD = 1009;
+ public static final int X86_INS_VMAXSS = 1010;
+ public static final int X86_INS_VMCALL = 1011;
+ public static final int X86_INS_VMCLEAR = 1012;
+ public static final int X86_INS_VMFUNC = 1013;
+ public static final int X86_INS_VMINPD = 1014;
+ public static final int X86_INS_VMINPS = 1015;
+ public static final int X86_INS_VMINSD = 1016;
+ public static final int X86_INS_VMINSS = 1017;
+ public static final int X86_INS_VMLAUNCH = 1018;
+ public static final int X86_INS_VMLOAD = 1019;
+ public static final int X86_INS_VMMCALL = 1020;
+ public static final int X86_INS_VMOVQ = 1021;
+ public static final int X86_INS_VMOVAPD = 1022;
+ public static final int X86_INS_VMOVAPS = 1023;
+ public static final int X86_INS_VMOVDDUP = 1024;
+ public static final int X86_INS_VMOVD = 1025;
+ public static final int X86_INS_VMOVDQA32 = 1026;
+ public static final int X86_INS_VMOVDQA64 = 1027;
+ public static final int X86_INS_VMOVDQA = 1028;
+ public static final int X86_INS_VMOVDQU16 = 1029;
+ public static final int X86_INS_VMOVDQU32 = 1030;
+ public static final int X86_INS_VMOVDQU64 = 1031;
+ public static final int X86_INS_VMOVDQU8 = 1032;
+ public static final int X86_INS_VMOVDQU = 1033;
+ public static final int X86_INS_VMOVHLPS = 1034;
+ public static final int X86_INS_VMOVHPD = 1035;
+ public static final int X86_INS_VMOVHPS = 1036;
+ public static final int X86_INS_VMOVLHPS = 1037;
+ public static final int X86_INS_VMOVLPD = 1038;
+ public static final int X86_INS_VMOVLPS = 1039;
+ public static final int X86_INS_VMOVMSKPD = 1040;
+ public static final int X86_INS_VMOVMSKPS = 1041;
+ public static final int X86_INS_VMOVNTDQA = 1042;
+ public static final int X86_INS_VMOVNTDQ = 1043;
+ public static final int X86_INS_VMOVNTPD = 1044;
+ public static final int X86_INS_VMOVNTPS = 1045;
+ public static final int X86_INS_VMOVSD = 1046;
+ public static final int X86_INS_VMOVSHDUP = 1047;
+ public static final int X86_INS_VMOVSLDUP = 1048;
+ public static final int X86_INS_VMOVSS = 1049;
+ public static final int X86_INS_VMOVUPD = 1050;
+ public static final int X86_INS_VMOVUPS = 1051;
+ public static final int X86_INS_VMPSADBW = 1052;
+ public static final int X86_INS_VMPTRLD = 1053;
+ public static final int X86_INS_VMPTRST = 1054;
+ public static final int X86_INS_VMREAD = 1055;
+ public static final int X86_INS_VMRESUME = 1056;
+ public static final int X86_INS_VMRUN = 1057;
+ public static final int X86_INS_VMSAVE = 1058;
+ public static final int X86_INS_VMULPD = 1059;
+ public static final int X86_INS_VMULPS = 1060;
+ public static final int X86_INS_VMULSD = 1061;
+ public static final int X86_INS_VMULSS = 1062;
+ public static final int X86_INS_VMWRITE = 1063;
+ public static final int X86_INS_VMXOFF = 1064;
+ public static final int X86_INS_VMXON = 1065;
+ public static final int X86_INS_VORPD = 1066;
+ public static final int X86_INS_VORPS = 1067;
+ public static final int X86_INS_VP4DPWSSDS = 1068;
+ public static final int X86_INS_VP4DPWSSD = 1069;
+ public static final int X86_INS_VPABSB = 1070;
+ public static final int X86_INS_VPABSD = 1071;
+ public static final int X86_INS_VPABSQ = 1072;
+ public static final int X86_INS_VPABSW = 1073;
+ public static final int X86_INS_VPACKSSDW = 1074;
+ public static final int X86_INS_VPACKSSWB = 1075;
+ public static final int X86_INS_VPACKUSDW = 1076;
+ public static final int X86_INS_VPACKUSWB = 1077;
+ public static final int X86_INS_VPADDB = 1078;
+ public static final int X86_INS_VPADDD = 1079;
+ public static final int X86_INS_VPADDQ = 1080;
+ public static final int X86_INS_VPADDSB = 1081;
+ public static final int X86_INS_VPADDSW = 1082;
+ public static final int X86_INS_VPADDUSB = 1083;
+ public static final int X86_INS_VPADDUSW = 1084;
+ public static final int X86_INS_VPADDW = 1085;
+ public static final int X86_INS_VPALIGNR = 1086;
+ public static final int X86_INS_VPANDD = 1087;
+ public static final int X86_INS_VPANDND = 1088;
+ public static final int X86_INS_VPANDNQ = 1089;
+ public static final int X86_INS_VPANDN = 1090;
+ public static final int X86_INS_VPANDQ = 1091;
+ public static final int X86_INS_VPAND = 1092;
+ public static final int X86_INS_VPAVGB = 1093;
+ public static final int X86_INS_VPAVGW = 1094;
+ public static final int X86_INS_VPBLENDD = 1095;
+ public static final int X86_INS_VPBLENDMB = 1096;
+ public static final int X86_INS_VPBLENDMD = 1097;
+ public static final int X86_INS_VPBLENDMQ = 1098;
+ public static final int X86_INS_VPBLENDMW = 1099;
+ public static final int X86_INS_VPBLENDVB = 1100;
+ public static final int X86_INS_VPBLENDW = 1101;
+ public static final int X86_INS_VPBROADCASTB = 1102;
+ public static final int X86_INS_VPBROADCASTD = 1103;
+ public static final int X86_INS_VPBROADCASTMB2Q = 1104;
+ public static final int X86_INS_VPBROADCASTMW2D = 1105;
+ public static final int X86_INS_VPBROADCASTQ = 1106;
+ public static final int X86_INS_VPBROADCASTW = 1107;
+ public static final int X86_INS_VPCLMULQDQ = 1108;
+ public static final int X86_INS_VPCMOV = 1109;
+ public static final int X86_INS_VPCMP = 1110;
+ public static final int X86_INS_VPCMPB = 1111;
+ public static final int X86_INS_VPCMPD = 1112;
+ public static final int X86_INS_VPCMPEQB = 1113;
+ public static final int X86_INS_VPCMPEQD = 1114;
+ public static final int X86_INS_VPCMPEQQ = 1115;
+ public static final int X86_INS_VPCMPEQW = 1116;
+ public static final int X86_INS_VPCMPESTRI = 1117;
+ public static final int X86_INS_VPCMPESTRM = 1118;
+ public static final int X86_INS_VPCMPGTB = 1119;
+ public static final int X86_INS_VPCMPGTD = 1120;
+ public static final int X86_INS_VPCMPGTQ = 1121;
+ public static final int X86_INS_VPCMPGTW = 1122;
+ public static final int X86_INS_VPCMPISTRI = 1123;
+ public static final int X86_INS_VPCMPISTRM = 1124;
+ public static final int X86_INS_VPCMPQ = 1125;
+ public static final int X86_INS_VPCMPUB = 1126;
+ public static final int X86_INS_VPCMPUD = 1127;
+ public static final int X86_INS_VPCMPUQ = 1128;
+ public static final int X86_INS_VPCMPUW = 1129;
+ public static final int X86_INS_VPCMPW = 1130;
+ public static final int X86_INS_VPCOM = 1131;
+ public static final int X86_INS_VPCOMB = 1132;
+ public static final int X86_INS_VPCOMD = 1133;
+ public static final int X86_INS_VPCOMPRESSB = 1134;
+ public static final int X86_INS_VPCOMPRESSD = 1135;
+ public static final int X86_INS_VPCOMPRESSQ = 1136;
+ public static final int X86_INS_VPCOMPRESSW = 1137;
+ public static final int X86_INS_VPCOMQ = 1138;
+ public static final int X86_INS_VPCOMUB = 1139;
+ public static final int X86_INS_VPCOMUD = 1140;
+ public static final int X86_INS_VPCOMUQ = 1141;
+ public static final int X86_INS_VPCOMUW = 1142;
+ public static final int X86_INS_VPCOMW = 1143;
+ public static final int X86_INS_VPCONFLICTD = 1144;
+ public static final int X86_INS_VPCONFLICTQ = 1145;
+ public static final int X86_INS_VPDPBUSDS = 1146;
+ public static final int X86_INS_VPDPBUSD = 1147;
+ public static final int X86_INS_VPDPWSSDS = 1148;
+ public static final int X86_INS_VPDPWSSD = 1149;
+ public static final int X86_INS_VPERM2F128 = 1150;
+ public static final int X86_INS_VPERM2I128 = 1151;
+ public static final int X86_INS_VPERMB = 1152;
+ public static final int X86_INS_VPERMD = 1153;
+ public static final int X86_INS_VPERMI2B = 1154;
+ public static final int X86_INS_VPERMI2D = 1155;
+ public static final int X86_INS_VPERMI2PD = 1156;
+ public static final int X86_INS_VPERMI2PS = 1157;
+ public static final int X86_INS_VPERMI2Q = 1158;
+ public static final int X86_INS_VPERMI2W = 1159;
+ public static final int X86_INS_VPERMIL2PD = 1160;
+ public static final int X86_INS_VPERMILPD = 1161;
+ public static final int X86_INS_VPERMIL2PS = 1162;
+ public static final int X86_INS_VPERMILPS = 1163;
+ public static final int X86_INS_VPERMPD = 1164;
+ public static final int X86_INS_VPERMPS = 1165;
+ public static final int X86_INS_VPERMQ = 1166;
+ public static final int X86_INS_VPERMT2B = 1167;
+ public static final int X86_INS_VPERMT2D = 1168;
+ public static final int X86_INS_VPERMT2PD = 1169;
+ public static final int X86_INS_VPERMT2PS = 1170;
+ public static final int X86_INS_VPERMT2Q = 1171;
+ public static final int X86_INS_VPERMT2W = 1172;
+ public static final int X86_INS_VPERMW = 1173;
+ public static final int X86_INS_VPEXPANDB = 1174;
+ public static final int X86_INS_VPEXPANDD = 1175;
+ public static final int X86_INS_VPEXPANDQ = 1176;
+ public static final int X86_INS_VPEXPANDW = 1177;
+ public static final int X86_INS_VPEXTRB = 1178;
+ public static final int X86_INS_VPEXTRD = 1179;
+ public static final int X86_INS_VPEXTRQ = 1180;
+ public static final int X86_INS_VPEXTRW = 1181;
+ public static final int X86_INS_VPGATHERDD = 1182;
+ public static final int X86_INS_VPGATHERDQ = 1183;
+ public static final int X86_INS_VPGATHERQD = 1184;
+ public static final int X86_INS_VPGATHERQQ = 1185;
+ public static final int X86_INS_VPHADDBD = 1186;
+ public static final int X86_INS_VPHADDBQ = 1187;
+ public static final int X86_INS_VPHADDBW = 1188;
+ public static final int X86_INS_VPHADDDQ = 1189;
+ public static final int X86_INS_VPHADDD = 1190;
+ public static final int X86_INS_VPHADDSW = 1191;
+ public static final int X86_INS_VPHADDUBD = 1192;
+ public static final int X86_INS_VPHADDUBQ = 1193;
+ public static final int X86_INS_VPHADDUBW = 1194;
+ public static final int X86_INS_VPHADDUDQ = 1195;
+ public static final int X86_INS_VPHADDUWD = 1196;
+ public static final int X86_INS_VPHADDUWQ = 1197;
+ public static final int X86_INS_VPHADDWD = 1198;
+ public static final int X86_INS_VPHADDWQ = 1199;
+ public static final int X86_INS_VPHADDW = 1200;
+ public static final int X86_INS_VPHMINPOSUW = 1201;
+ public static final int X86_INS_VPHSUBBW = 1202;
+ public static final int X86_INS_VPHSUBDQ = 1203;
+ public static final int X86_INS_VPHSUBD = 1204;
+ public static final int X86_INS_VPHSUBSW = 1205;
+ public static final int X86_INS_VPHSUBWD = 1206;
+ public static final int X86_INS_VPHSUBW = 1207;
+ public static final int X86_INS_VPINSRB = 1208;
+ public static final int X86_INS_VPINSRD = 1209;
+ public static final int X86_INS_VPINSRQ = 1210;
+ public static final int X86_INS_VPINSRW = 1211;
+ public static final int X86_INS_VPLZCNTD = 1212;
+ public static final int X86_INS_VPLZCNTQ = 1213;
+ public static final int X86_INS_VPMACSDD = 1214;
+ public static final int X86_INS_VPMACSDQH = 1215;
+ public static final int X86_INS_VPMACSDQL = 1216;
+ public static final int X86_INS_VPMACSSDD = 1217;
+ public static final int X86_INS_VPMACSSDQH = 1218;
+ public static final int X86_INS_VPMACSSDQL = 1219;
+ public static final int X86_INS_VPMACSSWD = 1220;
+ public static final int X86_INS_VPMACSSWW = 1221;
+ public static final int X86_INS_VPMACSWD = 1222;
+ public static final int X86_INS_VPMACSWW = 1223;
+ public static final int X86_INS_VPMADCSSWD = 1224;
+ public static final int X86_INS_VPMADCSWD = 1225;
+ public static final int X86_INS_VPMADD52HUQ = 1226;
+ public static final int X86_INS_VPMADD52LUQ = 1227;
+ public static final int X86_INS_VPMADDUBSW = 1228;
+ public static final int X86_INS_VPMADDWD = 1229;
+ public static final int X86_INS_VPMASKMOVD = 1230;
+ public static final int X86_INS_VPMASKMOVQ = 1231;
+ public static final int X86_INS_VPMAXSB = 1232;
+ public static final int X86_INS_VPMAXSD = 1233;
+ public static final int X86_INS_VPMAXSQ = 1234;
+ public static final int X86_INS_VPMAXSW = 1235;
+ public static final int X86_INS_VPMAXUB = 1236;
+ public static final int X86_INS_VPMAXUD = 1237;
+ public static final int X86_INS_VPMAXUQ = 1238;
+ public static final int X86_INS_VPMAXUW = 1239;
+ public static final int X86_INS_VPMINSB = 1240;
+ public static final int X86_INS_VPMINSD = 1241;
+ public static final int X86_INS_VPMINSQ = 1242;
+ public static final int X86_INS_VPMINSW = 1243;
+ public static final int X86_INS_VPMINUB = 1244;
+ public static final int X86_INS_VPMINUD = 1245;
+ public static final int X86_INS_VPMINUQ = 1246;
+ public static final int X86_INS_VPMINUW = 1247;
+ public static final int X86_INS_VPMOVB2M = 1248;
+ public static final int X86_INS_VPMOVD2M = 1249;
+ public static final int X86_INS_VPMOVDB = 1250;
+ public static final int X86_INS_VPMOVDW = 1251;
+ public static final int X86_INS_VPMOVM2B = 1252;
+ public static final int X86_INS_VPMOVM2D = 1253;
+ public static final int X86_INS_VPMOVM2Q = 1254;
+ public static final int X86_INS_VPMOVM2W = 1255;
+ public static final int X86_INS_VPMOVMSKB = 1256;
+ public static final int X86_INS_VPMOVQ2M = 1257;
+ public static final int X86_INS_VPMOVQB = 1258;
+ public static final int X86_INS_VPMOVQD = 1259;
+ public static final int X86_INS_VPMOVQW = 1260;
+ public static final int X86_INS_VPMOVSDB = 1261;
+ public static final int X86_INS_VPMOVSDW = 1262;
+ public static final int X86_INS_VPMOVSQB = 1263;
+ public static final int X86_INS_VPMOVSQD = 1264;
+ public static final int X86_INS_VPMOVSQW = 1265;
+ public static final int X86_INS_VPMOVSWB = 1266;
+ public static final int X86_INS_VPMOVSXBD = 1267;
+ public static final int X86_INS_VPMOVSXBQ = 1268;
+ public static final int X86_INS_VPMOVSXBW = 1269;
+ public static final int X86_INS_VPMOVSXDQ = 1270;
+ public static final int X86_INS_VPMOVSXWD = 1271;
+ public static final int X86_INS_VPMOVSXWQ = 1272;
+ public static final int X86_INS_VPMOVUSDB = 1273;
+ public static final int X86_INS_VPMOVUSDW = 1274;
+ public static final int X86_INS_VPMOVUSQB = 1275;
+ public static final int X86_INS_VPMOVUSQD = 1276;
+ public static final int X86_INS_VPMOVUSQW = 1277;
+ public static final int X86_INS_VPMOVUSWB = 1278;
+ public static final int X86_INS_VPMOVW2M = 1279;
+ public static final int X86_INS_VPMOVWB = 1280;
+ public static final int X86_INS_VPMOVZXBD = 1281;
+ public static final int X86_INS_VPMOVZXBQ = 1282;
+ public static final int X86_INS_VPMOVZXBW = 1283;
+ public static final int X86_INS_VPMOVZXDQ = 1284;
+ public static final int X86_INS_VPMOVZXWD = 1285;
+ public static final int X86_INS_VPMOVZXWQ = 1286;
+ public static final int X86_INS_VPMULDQ = 1287;
+ public static final int X86_INS_VPMULHRSW = 1288;
+ public static final int X86_INS_VPMULHUW = 1289;
+ public static final int X86_INS_VPMULHW = 1290;
+ public static final int X86_INS_VPMULLD = 1291;
+ public static final int X86_INS_VPMULLQ = 1292;
+ public static final int X86_INS_VPMULLW = 1293;
+ public static final int X86_INS_VPMULTISHIFTQB = 1294;
+ public static final int X86_INS_VPMULUDQ = 1295;
+ public static final int X86_INS_VPOPCNTB = 1296;
+ public static final int X86_INS_VPOPCNTD = 1297;
+ public static final int X86_INS_VPOPCNTQ = 1298;
+ public static final int X86_INS_VPOPCNTW = 1299;
+ public static final int X86_INS_VPORD = 1300;
+ public static final int X86_INS_VPORQ = 1301;
+ public static final int X86_INS_VPOR = 1302;
+ public static final int X86_INS_VPPERM = 1303;
+ public static final int X86_INS_VPROLD = 1304;
+ public static final int X86_INS_VPROLQ = 1305;
+ public static final int X86_INS_VPROLVD = 1306;
+ public static final int X86_INS_VPROLVQ = 1307;
+ public static final int X86_INS_VPRORD = 1308;
+ public static final int X86_INS_VPRORQ = 1309;
+ public static final int X86_INS_VPRORVD = 1310;
+ public static final int X86_INS_VPRORVQ = 1311;
+ public static final int X86_INS_VPROTB = 1312;
+ public static final int X86_INS_VPROTD = 1313;
+ public static final int X86_INS_VPROTQ = 1314;
+ public static final int X86_INS_VPROTW = 1315;
+ public static final int X86_INS_VPSADBW = 1316;
+ public static final int X86_INS_VPSCATTERDD = 1317;
+ public static final int X86_INS_VPSCATTERDQ = 1318;
+ public static final int X86_INS_VPSCATTERQD = 1319;
+ public static final int X86_INS_VPSCATTERQQ = 1320;
+ public static final int X86_INS_VPSHAB = 1321;
+ public static final int X86_INS_VPSHAD = 1322;
+ public static final int X86_INS_VPSHAQ = 1323;
+ public static final int X86_INS_VPSHAW = 1324;
+ public static final int X86_INS_VPSHLB = 1325;
+ public static final int X86_INS_VPSHLDD = 1326;
+ public static final int X86_INS_VPSHLDQ = 1327;
+ public static final int X86_INS_VPSHLDVD = 1328;
+ public static final int X86_INS_VPSHLDVQ = 1329;
+ public static final int X86_INS_VPSHLDVW = 1330;
+ public static final int X86_INS_VPSHLDW = 1331;
+ public static final int X86_INS_VPSHLD = 1332;
+ public static final int X86_INS_VPSHLQ = 1333;
+ public static final int X86_INS_VPSHLW = 1334;
+ public static final int X86_INS_VPSHRDD = 1335;
+ public static final int X86_INS_VPSHRDQ = 1336;
+ public static final int X86_INS_VPSHRDVD = 1337;
+ public static final int X86_INS_VPSHRDVQ = 1338;
+ public static final int X86_INS_VPSHRDVW = 1339;
+ public static final int X86_INS_VPSHRDW = 1340;
+ public static final int X86_INS_VPSHUFBITQMB = 1341;
+ public static final int X86_INS_VPSHUFB = 1342;
+ public static final int X86_INS_VPSHUFD = 1343;
+ public static final int X86_INS_VPSHUFHW = 1344;
+ public static final int X86_INS_VPSHUFLW = 1345;
+ public static final int X86_INS_VPSIGNB = 1346;
+ public static final int X86_INS_VPSIGND = 1347;
+ public static final int X86_INS_VPSIGNW = 1348;
+ public static final int X86_INS_VPSLLDQ = 1349;
+ public static final int X86_INS_VPSLLD = 1350;
+ public static final int X86_INS_VPSLLQ = 1351;
+ public static final int X86_INS_VPSLLVD = 1352;
+ public static final int X86_INS_VPSLLVQ = 1353;
+ public static final int X86_INS_VPSLLVW = 1354;
+ public static final int X86_INS_VPSLLW = 1355;
+ public static final int X86_INS_VPSRAD = 1356;
+ public static final int X86_INS_VPSRAQ = 1357;
+ public static final int X86_INS_VPSRAVD = 1358;
+ public static final int X86_INS_VPSRAVQ = 1359;
+ public static final int X86_INS_VPSRAVW = 1360;
+ public static final int X86_INS_VPSRAW = 1361;
+ public static final int X86_INS_VPSRLDQ = 1362;
+ public static final int X86_INS_VPSRLD = 1363;
+ public static final int X86_INS_VPSRLQ = 1364;
+ public static final int X86_INS_VPSRLVD = 1365;
+ public static final int X86_INS_VPSRLVQ = 1366;
+ public static final int X86_INS_VPSRLVW = 1367;
+ public static final int X86_INS_VPSRLW = 1368;
+ public static final int X86_INS_VPSUBB = 1369;
+ public static final int X86_INS_VPSUBD = 1370;
+ public static final int X86_INS_VPSUBQ = 1371;
+ public static final int X86_INS_VPSUBSB = 1372;
+ public static final int X86_INS_VPSUBSW = 1373;
+ public static final int X86_INS_VPSUBUSB = 1374;
+ public static final int X86_INS_VPSUBUSW = 1375;
+ public static final int X86_INS_VPSUBW = 1376;
+ public static final int X86_INS_VPTERNLOGD = 1377;
+ public static final int X86_INS_VPTERNLOGQ = 1378;
+ public static final int X86_INS_VPTESTMB = 1379;
+ public static final int X86_INS_VPTESTMD = 1380;
+ public static final int X86_INS_VPTESTMQ = 1381;
+ public static final int X86_INS_VPTESTMW = 1382;
+ public static final int X86_INS_VPTESTNMB = 1383;
+ public static final int X86_INS_VPTESTNMD = 1384;
+ public static final int X86_INS_VPTESTNMQ = 1385;
+ public static final int X86_INS_VPTESTNMW = 1386;
+ public static final int X86_INS_VPTEST = 1387;
+ public static final int X86_INS_VPUNPCKHBW = 1388;
+ public static final int X86_INS_VPUNPCKHDQ = 1389;
+ public static final int X86_INS_VPUNPCKHQDQ = 1390;
+ public static final int X86_INS_VPUNPCKHWD = 1391;
+ public static final int X86_INS_VPUNPCKLBW = 1392;
+ public static final int X86_INS_VPUNPCKLDQ = 1393;
+ public static final int X86_INS_VPUNPCKLQDQ = 1394;
+ public static final int X86_INS_VPUNPCKLWD = 1395;
+ public static final int X86_INS_VPXORD = 1396;
+ public static final int X86_INS_VPXORQ = 1397;
+ public static final int X86_INS_VPXOR = 1398;
+ public static final int X86_INS_VRANGEPD = 1399;
+ public static final int X86_INS_VRANGEPS = 1400;
+ public static final int X86_INS_VRANGESD = 1401;
+ public static final int X86_INS_VRANGESS = 1402;
+ public static final int X86_INS_VRCP14PD = 1403;
+ public static final int X86_INS_VRCP14PS = 1404;
+ public static final int X86_INS_VRCP14SD = 1405;
+ public static final int X86_INS_VRCP14SS = 1406;
+ public static final int X86_INS_VRCP28PD = 1407;
+ public static final int X86_INS_VRCP28PS = 1408;
+ public static final int X86_INS_VRCP28SD = 1409;
+ public static final int X86_INS_VRCP28SS = 1410;
+ public static final int X86_INS_VRCPPS = 1411;
+ public static final int X86_INS_VRCPSS = 1412;
+ public static final int X86_INS_VREDUCEPD = 1413;
+ public static final int X86_INS_VREDUCEPS = 1414;
+ public static final int X86_INS_VREDUCESD = 1415;
+ public static final int X86_INS_VREDUCESS = 1416;
+ public static final int X86_INS_VRNDSCALEPD = 1417;
+ public static final int X86_INS_VRNDSCALEPS = 1418;
+ public static final int X86_INS_VRNDSCALESD = 1419;
+ public static final int X86_INS_VRNDSCALESS = 1420;
+ public static final int X86_INS_VROUNDPD = 1421;
+ public static final int X86_INS_VROUNDPS = 1422;
+ public static final int X86_INS_VROUNDSD = 1423;
+ public static final int X86_INS_VROUNDSS = 1424;
+ public static final int X86_INS_VRSQRT14PD = 1425;
+ public static final int X86_INS_VRSQRT14PS = 1426;
+ public static final int X86_INS_VRSQRT14SD = 1427;
+ public static final int X86_INS_VRSQRT14SS = 1428;
+ public static final int X86_INS_VRSQRT28PD = 1429;
+ public static final int X86_INS_VRSQRT28PS = 1430;
+ public static final int X86_INS_VRSQRT28SD = 1431;
+ public static final int X86_INS_VRSQRT28SS = 1432;
+ public static final int X86_INS_VRSQRTPS = 1433;
+ public static final int X86_INS_VRSQRTSS = 1434;
+ public static final int X86_INS_VSCALEFPD = 1435;
+ public static final int X86_INS_VSCALEFPS = 1436;
+ public static final int X86_INS_VSCALEFSD = 1437;
+ public static final int X86_INS_VSCALEFSS = 1438;
+ public static final int X86_INS_VSCATTERDPD = 1439;
+ public static final int X86_INS_VSCATTERDPS = 1440;
+ public static final int X86_INS_VSCATTERPF0DPD = 1441;
+ public static final int X86_INS_VSCATTERPF0DPS = 1442;
+ public static final int X86_INS_VSCATTERPF0QPD = 1443;
+ public static final int X86_INS_VSCATTERPF0QPS = 1444;
+ public static final int X86_INS_VSCATTERPF1DPD = 1445;
+ public static final int X86_INS_VSCATTERPF1DPS = 1446;
+ public static final int X86_INS_VSCATTERPF1QPD = 1447;
+ public static final int X86_INS_VSCATTERPF1QPS = 1448;
+ public static final int X86_INS_VSCATTERQPD = 1449;
+ public static final int X86_INS_VSCATTERQPS = 1450;
+ public static final int X86_INS_VSHUFF32X4 = 1451;
+ public static final int X86_INS_VSHUFF64X2 = 1452;
+ public static final int X86_INS_VSHUFI32X4 = 1453;
+ public static final int X86_INS_VSHUFI64X2 = 1454;
+ public static final int X86_INS_VSHUFPD = 1455;
+ public static final int X86_INS_VSHUFPS = 1456;
+ public static final int X86_INS_VSQRTPD = 1457;
+ public static final int X86_INS_VSQRTPS = 1458;
+ public static final int X86_INS_VSQRTSD = 1459;
+ public static final int X86_INS_VSQRTSS = 1460;
+ public static final int X86_INS_VSTMXCSR = 1461;
+ public static final int X86_INS_VSUBPD = 1462;
+ public static final int X86_INS_VSUBPS = 1463;
+ public static final int X86_INS_VSUBSD = 1464;
+ public static final int X86_INS_VSUBSS = 1465;
+ public static final int X86_INS_VTESTPD = 1466;
+ public static final int X86_INS_VTESTPS = 1467;
+ public static final int X86_INS_VUCOMISD = 1468;
+ public static final int X86_INS_VUCOMISS = 1469;
+ public static final int X86_INS_VUNPCKHPD = 1470;
+ public static final int X86_INS_VUNPCKHPS = 1471;
+ public static final int X86_INS_VUNPCKLPD = 1472;
+ public static final int X86_INS_VUNPCKLPS = 1473;
+ public static final int X86_INS_VXORPD = 1474;
+ public static final int X86_INS_VXORPS = 1475;
+ public static final int X86_INS_VZEROALL = 1476;
+ public static final int X86_INS_VZEROUPPER = 1477;
+ public static final int X86_INS_WAIT = 1478;
+ public static final int X86_INS_WBINVD = 1479;
+ public static final int X86_INS_WBNOINVD = 1480;
+ public static final int X86_INS_WRFSBASE = 1481;
+ public static final int X86_INS_WRGSBASE = 1482;
+ public static final int X86_INS_WRMSR = 1483;
+ public static final int X86_INS_WRPKRU = 1484;
+ public static final int X86_INS_WRSSD = 1485;
+ public static final int X86_INS_WRSSQ = 1486;
+ public static final int X86_INS_WRUSSD = 1487;
+ public static final int X86_INS_WRUSSQ = 1488;
+ public static final int X86_INS_XABORT = 1489;
+ public static final int X86_INS_XACQUIRE = 1490;
+ public static final int X86_INS_XADD = 1491;
+ public static final int X86_INS_XBEGIN = 1492;
+ public static final int X86_INS_XCHG = 1493;
+ public static final int X86_INS_FXCH = 1494;
+ public static final int X86_INS_XCRYPTCBC = 1495;
+ public static final int X86_INS_XCRYPTCFB = 1496;
+ public static final int X86_INS_XCRYPTCTR = 1497;
+ public static final int X86_INS_XCRYPTECB = 1498;
+ public static final int X86_INS_XCRYPTOFB = 1499;
+ public static final int X86_INS_XEND = 1500;
+ public static final int X86_INS_XGETBV = 1501;
+ public static final int X86_INS_XLATB = 1502;
+ public static final int X86_INS_XOR = 1503;
+ public static final int X86_INS_XORPD = 1504;
+ public static final int X86_INS_XORPS = 1505;
+ public static final int X86_INS_XRELEASE = 1506;
+ public static final int X86_INS_XRSTOR = 1507;
+ public static final int X86_INS_XRSTOR64 = 1508;
+ public static final int X86_INS_XRSTORS = 1509;
+ public static final int X86_INS_XRSTORS64 = 1510;
+ public static final int X86_INS_XSAVE = 1511;
+ public static final int X86_INS_XSAVE64 = 1512;
+ public static final int X86_INS_XSAVEC = 1513;
+ public static final int X86_INS_XSAVEC64 = 1514;
+ public static final int X86_INS_XSAVEOPT = 1515;
+ public static final int X86_INS_XSAVEOPT64 = 1516;
+ public static final int X86_INS_XSAVES = 1517;
+ public static final int X86_INS_XSAVES64 = 1518;
+ public static final int X86_INS_XSETBV = 1519;
+ public static final int X86_INS_XSHA1 = 1520;
+ public static final int X86_INS_XSHA256 = 1521;
+ public static final int X86_INS_XSTORE = 1522;
+ public static final int X86_INS_XTEST = 1523;
+ public static final int X86_INS_ENDING = 1524;
+
+ public static final int X86_GRP_INVALID = 0;
+ public static final int X86_GRP_JUMP = 1;
+ public static final int X86_GRP_CALL = 2;
+ public static final int X86_GRP_RET = 3;
+ public static final int X86_GRP_INT = 4;
+ public static final int X86_GRP_IRET = 5;
+ public static final int X86_GRP_PRIVILEGE = 6;
+ public static final int X86_GRP_BRANCH_RELATIVE = 7;
+ public static final int X86_GRP_VM = 128;
+ public static final int X86_GRP_3DNOW = 129;
+ public static final int X86_GRP_AES = 130;
+ public static final int X86_GRP_ADX = 131;
+ public static final int X86_GRP_AVX = 132;
+ public static final int X86_GRP_AVX2 = 133;
+ public static final int X86_GRP_AVX512 = 134;
+ public static final int X86_GRP_BMI = 135;
+ public static final int X86_GRP_BMI2 = 136;
+ public static final int X86_GRP_CMOV = 137;
+ public static final int X86_GRP_F16C = 138;
+ public static final int X86_GRP_FMA = 139;
+ public static final int X86_GRP_FMA4 = 140;
+ public static final int X86_GRP_FSGSBASE = 141;
+ public static final int X86_GRP_HLE = 142;
+ public static final int X86_GRP_MMX = 143;
+ public static final int X86_GRP_MODE32 = 144;
+ public static final int X86_GRP_MODE64 = 145;
+ public static final int X86_GRP_RTM = 146;
+ public static final int X86_GRP_SHA = 147;
+ public static final int X86_GRP_SSE1 = 148;
+ public static final int X86_GRP_SSE2 = 149;
+ public static final int X86_GRP_SSE3 = 150;
+ public static final int X86_GRP_SSE41 = 151;
+ public static final int X86_GRP_SSE42 = 152;
+ public static final int X86_GRP_SSE4A = 153;
+ public static final int X86_GRP_SSSE3 = 154;
+ public static final int X86_GRP_PCLMUL = 155;
+ public static final int X86_GRP_XOP = 156;
+ public static final int X86_GRP_CDI = 157;
+ public static final int X86_GRP_ERI = 158;
+ public static final int X86_GRP_TBM = 159;
+ public static final int X86_GRP_16BITMODE = 160;
+ public static final int X86_GRP_NOT64BITMODE = 161;
+ public static final int X86_GRP_SGX = 162;
+ public static final int X86_GRP_DQI = 163;
+ public static final int X86_GRP_BWI = 164;
+ public static final int X86_GRP_PFI = 165;
+ public static final int X86_GRP_VLX = 166;
+ public static final int X86_GRP_SMAP = 167;
+ public static final int X86_GRP_NOVLX = 168;
+ public static final int X86_GRP_FPU = 169;
+ public static final int X86_GRP_ENDING = 170;
+} \ No newline at end of file
diff --git a/capstone/bindings/java/capstone/Xcore.java b/capstone/bindings/java/capstone/Xcore.java
new file mode 100644
index 000000000..3ab61abdd
--- /dev/null
+++ b/capstone/bindings/java/capstone/Xcore.java
@@ -0,0 +1,83 @@
+// Capstone Java binding
+// By Nguyen Anh Quynh & Dang Hoang Vu, 2013
+
+package capstone;
+
+import com.sun.jna.Structure;
+import com.sun.jna.Union;
+
+import java.util.List;
+import java.util.Arrays;
+
+import static capstone.Xcore_const.*;
+
+public class Xcore {
+
+ public static class MemType extends Structure {
+ public byte base;
+ public byte index;
+ public int disp;
+ public int direct;
+
+ @Override
+ public List getFieldOrder() {
+ return Arrays.asList("base", "index", "disp", "direct");
+ }
+ }
+
+ public static class OpValue extends Union {
+ public int reg;
+ public int imm;
+ public MemType mem;
+ }
+
+ public static class Operand extends Structure {
+ public int type;
+ public OpValue value;
+
+ public void read() {
+ readField("type");
+ if (type == XCORE_OP_MEM)
+ value.setType(MemType.class);
+ if (type == XCORE_OP_IMM || type == XCORE_OP_REG)
+ value.setType(Integer.TYPE);
+ if (type == XCORE_OP_INVALID)
+ return;
+ readField("value");
+ }
+
+ @Override
+ public List getFieldOrder() {
+ return Arrays.asList("type", "value");
+ }
+ }
+
+ public static class UnionOpInfo extends Capstone.UnionOpInfo {
+ public byte op_count;
+ public Operand [] op;
+
+ public UnionOpInfo() {
+ op = new Operand[8];
+ }
+
+ public void read() {
+ readField("op_count");
+ op = new Operand[op_count];
+ if (op_count != 0)
+ readField("op");
+ }
+
+ @Override
+ public List getFieldOrder() {
+ return Arrays.asList("op_count", "op");
+ }
+ }
+
+ public static class OpInfo extends Capstone.OpInfo {
+ public Operand [] op;
+
+ public OpInfo(UnionOpInfo op_info) {
+ op = op_info.op;
+ }
+ }
+}
diff --git a/capstone/bindings/java/capstone/Xcore_const.java b/capstone/bindings/java/capstone/Xcore_const.java
new file mode 100644
index 000000000..848e142df
--- /dev/null
+++ b/capstone/bindings/java/capstone/Xcore_const.java
@@ -0,0 +1,165 @@
+// For Capstone Engine. AUTO-GENERATED FILE, DO NOT EDIT
+package capstone;
+
+public class Xcore_const {
+
+ public static final int XCORE_OP_INVALID = 0;
+ public static final int XCORE_OP_REG = 1;
+ public static final int XCORE_OP_IMM = 2;
+ public static final int XCORE_OP_MEM = 3;
+
+ public static final int XCORE_REG_INVALID = 0;
+ public static final int XCORE_REG_CP = 1;
+ public static final int XCORE_REG_DP = 2;
+ public static final int XCORE_REG_LR = 3;
+ public static final int XCORE_REG_SP = 4;
+ public static final int XCORE_REG_R0 = 5;
+ public static final int XCORE_REG_R1 = 6;
+ public static final int XCORE_REG_R2 = 7;
+ public static final int XCORE_REG_R3 = 8;
+ public static final int XCORE_REG_R4 = 9;
+ public static final int XCORE_REG_R5 = 10;
+ public static final int XCORE_REG_R6 = 11;
+ public static final int XCORE_REG_R7 = 12;
+ public static final int XCORE_REG_R8 = 13;
+ public static final int XCORE_REG_R9 = 14;
+ public static final int XCORE_REG_R10 = 15;
+ public static final int XCORE_REG_R11 = 16;
+ public static final int XCORE_REG_PC = 17;
+ public static final int XCORE_REG_SCP = 18;
+ public static final int XCORE_REG_SSR = 19;
+ public static final int XCORE_REG_ET = 20;
+ public static final int XCORE_REG_ED = 21;
+ public static final int XCORE_REG_SED = 22;
+ public static final int XCORE_REG_KEP = 23;
+ public static final int XCORE_REG_KSP = 24;
+ public static final int XCORE_REG_ID = 25;
+ public static final int XCORE_REG_ENDING = 26;
+
+ public static final int XCORE_INS_INVALID = 0;
+ public static final int XCORE_INS_ADD = 1;
+ public static final int XCORE_INS_ANDNOT = 2;
+ public static final int XCORE_INS_AND = 3;
+ public static final int XCORE_INS_ASHR = 4;
+ public static final int XCORE_INS_BAU = 5;
+ public static final int XCORE_INS_BITREV = 6;
+ public static final int XCORE_INS_BLA = 7;
+ public static final int XCORE_INS_BLAT = 8;
+ public static final int XCORE_INS_BL = 9;
+ public static final int XCORE_INS_BF = 10;
+ public static final int XCORE_INS_BT = 11;
+ public static final int XCORE_INS_BU = 12;
+ public static final int XCORE_INS_BRU = 13;
+ public static final int XCORE_INS_BYTEREV = 14;
+ public static final int XCORE_INS_CHKCT = 15;
+ public static final int XCORE_INS_CLRE = 16;
+ public static final int XCORE_INS_CLRPT = 17;
+ public static final int XCORE_INS_CLRSR = 18;
+ public static final int XCORE_INS_CLZ = 19;
+ public static final int XCORE_INS_CRC8 = 20;
+ public static final int XCORE_INS_CRC32 = 21;
+ public static final int XCORE_INS_DCALL = 22;
+ public static final int XCORE_INS_DENTSP = 23;
+ public static final int XCORE_INS_DGETREG = 24;
+ public static final int XCORE_INS_DIVS = 25;
+ public static final int XCORE_INS_DIVU = 26;
+ public static final int XCORE_INS_DRESTSP = 27;
+ public static final int XCORE_INS_DRET = 28;
+ public static final int XCORE_INS_ECALLF = 29;
+ public static final int XCORE_INS_ECALLT = 30;
+ public static final int XCORE_INS_EDU = 31;
+ public static final int XCORE_INS_EEF = 32;
+ public static final int XCORE_INS_EET = 33;
+ public static final int XCORE_INS_EEU = 34;
+ public static final int XCORE_INS_ENDIN = 35;
+ public static final int XCORE_INS_ENTSP = 36;
+ public static final int XCORE_INS_EQ = 37;
+ public static final int XCORE_INS_EXTDP = 38;
+ public static final int XCORE_INS_EXTSP = 39;
+ public static final int XCORE_INS_FREER = 40;
+ public static final int XCORE_INS_FREET = 41;
+ public static final int XCORE_INS_GETD = 42;
+ public static final int XCORE_INS_GET = 43;
+ public static final int XCORE_INS_GETN = 44;
+ public static final int XCORE_INS_GETR = 45;
+ public static final int XCORE_INS_GETSR = 46;
+ public static final int XCORE_INS_GETST = 47;
+ public static final int XCORE_INS_GETTS = 48;
+ public static final int XCORE_INS_INCT = 49;
+ public static final int XCORE_INS_INIT = 50;
+ public static final int XCORE_INS_INPW = 51;
+ public static final int XCORE_INS_INSHR = 52;
+ public static final int XCORE_INS_INT = 53;
+ public static final int XCORE_INS_IN = 54;
+ public static final int XCORE_INS_KCALL = 55;
+ public static final int XCORE_INS_KENTSP = 56;
+ public static final int XCORE_INS_KRESTSP = 57;
+ public static final int XCORE_INS_KRET = 58;
+ public static final int XCORE_INS_LADD = 59;
+ public static final int XCORE_INS_LD16S = 60;
+ public static final int XCORE_INS_LD8U = 61;
+ public static final int XCORE_INS_LDA16 = 62;
+ public static final int XCORE_INS_LDAP = 63;
+ public static final int XCORE_INS_LDAW = 64;
+ public static final int XCORE_INS_LDC = 65;
+ public static final int XCORE_INS_LDW = 66;
+ public static final int XCORE_INS_LDIVU = 67;
+ public static final int XCORE_INS_LMUL = 68;
+ public static final int XCORE_INS_LSS = 69;
+ public static final int XCORE_INS_LSUB = 70;
+ public static final int XCORE_INS_LSU = 71;
+ public static final int XCORE_INS_MACCS = 72;
+ public static final int XCORE_INS_MACCU = 73;
+ public static final int XCORE_INS_MJOIN = 74;
+ public static final int XCORE_INS_MKMSK = 75;
+ public static final int XCORE_INS_MSYNC = 76;
+ public static final int XCORE_INS_MUL = 77;
+ public static final int XCORE_INS_NEG = 78;
+ public static final int XCORE_INS_NOT = 79;
+ public static final int XCORE_INS_OR = 80;
+ public static final int XCORE_INS_OUTCT = 81;
+ public static final int XCORE_INS_OUTPW = 82;
+ public static final int XCORE_INS_OUTSHR = 83;
+ public static final int XCORE_INS_OUTT = 84;
+ public static final int XCORE_INS_OUT = 85;
+ public static final int XCORE_INS_PEEK = 86;
+ public static final int XCORE_INS_REMS = 87;
+ public static final int XCORE_INS_REMU = 88;
+ public static final int XCORE_INS_RETSP = 89;
+ public static final int XCORE_INS_SETCLK = 90;
+ public static final int XCORE_INS_SET = 91;
+ public static final int XCORE_INS_SETC = 92;
+ public static final int XCORE_INS_SETD = 93;
+ public static final int XCORE_INS_SETEV = 94;
+ public static final int XCORE_INS_SETN = 95;
+ public static final int XCORE_INS_SETPSC = 96;
+ public static final int XCORE_INS_SETPT = 97;
+ public static final int XCORE_INS_SETRDY = 98;
+ public static final int XCORE_INS_SETSR = 99;
+ public static final int XCORE_INS_SETTW = 100;
+ public static final int XCORE_INS_SETV = 101;
+ public static final int XCORE_INS_SEXT = 102;
+ public static final int XCORE_INS_SHL = 103;
+ public static final int XCORE_INS_SHR = 104;
+ public static final int XCORE_INS_SSYNC = 105;
+ public static final int XCORE_INS_ST16 = 106;
+ public static final int XCORE_INS_ST8 = 107;
+ public static final int XCORE_INS_STW = 108;
+ public static final int XCORE_INS_SUB = 109;
+ public static final int XCORE_INS_SYNCR = 110;
+ public static final int XCORE_INS_TESTCT = 111;
+ public static final int XCORE_INS_TESTLCL = 112;
+ public static final int XCORE_INS_TESTWCT = 113;
+ public static final int XCORE_INS_TSETMR = 114;
+ public static final int XCORE_INS_START = 115;
+ public static final int XCORE_INS_WAITEF = 116;
+ public static final int XCORE_INS_WAITET = 117;
+ public static final int XCORE_INS_WAITEU = 118;
+ public static final int XCORE_INS_XOR = 119;
+ public static final int XCORE_INS_ZEXT = 120;
+ public static final int XCORE_INS_ENDING = 121;
+
+ public static final int XCORE_GRP_INVALID = 0;
+ public static final int XCORE_GRP_JUMP = 1;
+ public static final int XCORE_GRP_ENDING = 2;
+} \ No newline at end of file
diff --git a/capstone/bindings/java/run.sh b/capstone/bindings/java/run.sh
new file mode 100755
index 000000000..1430199d4
--- /dev/null
+++ b/capstone/bindings/java/run.sh
@@ -0,0 +1,26 @@
+#!/bin/sh
+JNA=/usr/share/java/jna.jar
+
+if [ ! -f ${JNA} ]; then
+ if [ ! -f /usr/share/java/jna/jna.jar ]; then
+ echo "*** Unable to find jna.jar *** ";
+ exit;
+ else
+ JNA=/usr/share/java/jna/jna.jar;
+ fi
+fi
+
+case "$1" in
+ "") java -classpath ${JNA}:. TestBasic ;;
+ "testbasic") java -classpath ${JNA}:. TestBasic ;;
+ "arm") java -classpath ${JNA}:. TestArm ;;
+ "arm64") java -classpath ${JNA}:. TestArm64 ;;
+ "mips") java -classpath ${JNA}:. TestMips ;;
+ "x86") java -classpath ${JNA}:. TestX86 ;;
+ "xcore") java -classpath ${JNA}:. TestXcore; ;;
+ "ppc") java -classpath ${JNA}:. TestPpc ;;
+ "sparc") java -classpath ${JNA}:. TestSparc ;;
+ "systemz") java -classpath ${JNA}:. TestSystemz ;;
+ "m680x") java -classpath ${JNA}:. TestM680x ;;
+ * ) echo "Usage: ./run.sh [arm|arm64|m680x|mips|ppc|sparc|systemz|x86]"; exit 1;;
+esac
diff --git a/capstone/bindings/ocaml/Makefile b/capstone/bindings/ocaml/Makefile
new file mode 100644
index 000000000..0ce12a325
--- /dev/null
+++ b/capstone/bindings/ocaml/Makefile
@@ -0,0 +1,299 @@
+# Capstone Disassembler Engine
+# By Nguyen Anh Quynh <aquynh@gmail.com>, 2013-2015
+
+LIB = capstone
+FLAGS = '-Wall -Wextra -Wwrite-strings'
+PYTHON2 ?= python
+
+all: arm_const.cmxa arm64_const.cmxa m680x_const.cmxa mips_const.cmxa ppc_const.cmxa sparc_const.cmxa sysz_const.cmxa x86_const.cmxa xcore_const.cmxa arm.cmxa arm64.cmxa m680x.cmxa mips.cmxa ppc.cmxa x86.cmxa sparc.cmxa systemz.cmxa xcore.cmxa capstone.cmxa test_basic.cmx test_detail.cmx test_x86.cmx test_arm.cmx test_arm64.cmx test_mips.cmx test_ppc.cmx test_sparc.cmx test_systemz.cmx test_xcore.cmx test_m680x.cmx ocaml.o
+ ocamlopt -o test_basic -ccopt $(FLAGS) ocaml.o capstone.cmx test_basic.cmx -cclib -l$(LIB)
+ ocamlopt -o test_detail -ccopt $(FLAGS) capstone.cmx ocaml.o test_detail.cmx -cclib -l$(LIB)
+ ocamlopt -o test_x86 -ccopt $(FLAGS) capstone.cmx ocaml.o x86.cmx x86_const.cmx test_x86.cmx -cclib -l$(LIB)
+ ocamlopt -o test_arm -ccopt $(FLAGS) capstone.cmx ocaml.o arm.cmx arm_const.cmx test_arm.cmx -cclib -l$(LIB)
+ ocamlopt -o test_arm64 -ccopt $(FLAGS) capstone.cmx ocaml.o arm64.cmx arm64_const.cmx test_arm64.cmx -cclib -l$(LIB)
+ ocamlopt -o test_mips -ccopt $(FLAGS) capstone.cmx ocaml.o mips.cmx mips_const.cmx test_mips.cmx -cclib -l$(LIB)
+ ocamlopt -o test_ppc -ccopt $(FLAGS) capstone.cmx ocaml.o ppc.cmx ppc_const.cmx test_ppc.cmx -cclib -l$(LIB)
+ ocamlopt -o test_sparc -ccopt $(FLAGS) capstone.cmx ocaml.o sparc.cmx sparc_const.cmx test_sparc.cmx -cclib -l$(LIB)
+ ocamlopt -o test_systemz -ccopt $(FLAGS) capstone.cmx ocaml.o systemz.cmx sysz_const.cmx test_systemz.cmx -cclib -l$(LIB)
+ ocamlopt -o test_xcore -ccopt $(FLAGS) capstone.cmx ocaml.o xcore.cmx xcore_const.cmx test_xcore.cmx -cclib -l$(LIB)
+ ocamlopt -o test_m680x -ccopt $(FLAGS) capstone.cmx ocaml.o m680x.cmx m680x_const.cmx test_m680x.cmx -cclib -l$(LIB)
+
+
+test_basic.cmx: test_basic.ml
+ ocamlopt -ccopt $(FLAGS) -c $< -cclib -l$(LIB)
+
+test_detail.cmx: test_detail.ml
+ ocamlopt -ccopt $(FLAGS) -c $< -cclib -l$(LIB)
+
+test_x86.cmx: test_x86.ml
+ ocamlopt -ccopt $(FLAGS) -c $< -cclib -l$(LIB)
+
+test_arm.cmx: test_arm.ml
+ ocamlopt -ccopt $(FLAGS) -c $< -cclib -l$(LIB)
+
+test_arm64.cmx: test_arm64.ml
+ ocamlopt -ccopt $(FLAGS) -c $< -cclib -l$(LIB)
+
+test_mips.cmx: test_mips.ml
+ ocamlopt -ccopt $(FLAGS) -c $< -cclib -l$(LIB)
+
+test_ppc.cmx: test_ppc.ml
+ ocamlopt -ccopt $(FLAGS) -c $< -cclib -l$(LIB)
+
+test_sparc.cmx: test_sparc.ml
+ ocamlopt -ccopt $(FLAGS) -c $< -cclib -l$(LIB)
+
+test_systemz.cmx: test_systemz.ml
+ ocamlopt -ccopt $(FLAGS) -c $< -cclib -l$(LIB)
+
+test_xcore.cmx: test_xcore.ml
+ ocamlopt -ccopt $(FLAGS) -c $< -cclib -l$(LIB)
+
+test_m680x.cmx: test_m680x.ml
+ ocamlopt -ccopt $(FLAGS) -c $< -cclib -l$(LIB)
+
+ocaml.o: ocaml.c
+ ocamlc -ccopt $(FLAGS) -c $<
+
+capstone.mli: capstone.ml
+ ocamlc -ccopt $(FLAGS) -i $< > $@
+
+capstone.cmi: capstone.mli
+ ocamlc -ccopt $(FLAGS) -c $<
+
+capstone.cmx: capstone.ml capstone.cmi
+ ocamlopt -ccopt $(FLAGS) -c $< -cclib -l$(LIB)
+
+capstone.cmxa: capstone.cmx
+ ocamlopt -ccopt $(FLAGS) -a -o $@ $< -cclib -lsb_ocaml -cclib -l$(LIB)
+
+x86.mli: x86.ml
+ ocamlc -ccopt $(FLAGS) -i $< > $@
+
+x86.cmi: x86.mli
+ ocamlc -ccopt $(FLAGS) -c $<
+
+x86.cmx: x86.ml x86.cmi
+ ocamlopt -ccopt $(FLAGS) -c $<
+
+x86.cmxa: x86.cmx
+ ocamlopt -ccopt $(FLAGS) -a -o $@ $<
+
+x86_const.mli: x86_const.ml
+ ocamlc -ccopt $(FLAGS) -i $< > $@
+
+x86_const.cmi: x86_const.mli
+ ocamlc -ccopt $(FLAGS) -c $<
+
+x86_const.cmx: x86_const.ml x86_const.cmi
+ ocamlopt -ccopt $(FLAGS) -c $<
+
+x86_const.cmxa: x86_const.cmx
+ ocamlopt -ccopt $(FLAGS) -a -o $@ $<
+
+arm.mli: arm.ml
+ ocamlc -ccopt $(FLAGS) -i $< > $@
+
+arm.cmi: arm.mli
+ ocamlc -ccopt $(FLAGS) -c $<
+
+arm.cmx: arm.ml arm.cmi
+ ocamlopt -ccopt $(FLAGS) -c $<
+
+arm.cmxa: arm.cmx
+ ocamlopt -ccopt $(FLAGS) -a -o $@ $<
+
+arm_const.mli: arm_const.ml
+ ocamlc -ccopt $(FLAGS) -i $< > $@
+
+arm_const.cmi: arm_const.mli
+ ocamlc -ccopt $(FLAGS) -c $<
+
+arm_const.cmx: arm_const.ml arm_const.cmi
+ ocamlopt -ccopt $(FLAGS) -c $<
+
+arm_const.cmxa: arm_const.cmx
+ ocamlopt -ccopt $(FLAGS) -a -o $@ $<
+
+arm64.mli: arm64.ml
+ ocamlc -ccopt $(FLAGS) -i $< > $@
+
+arm64.cmi: arm64.mli
+ ocamlc -ccopt $(FLAGS) -c $<
+
+arm64.cmx: arm64.ml arm64.cmi
+ ocamlopt -ccopt $(FLAGS) -c $<
+
+arm64.cmxa: arm64.cmx
+ ocamlopt -ccopt $(FLAGS) -a -o $@ $<
+
+arm64_const.mli: arm64_const.ml
+ ocamlc -ccopt $(FLAGS) -i $< > $@
+
+arm64_const.cmi: arm64_const.mli
+ ocamlc -ccopt $(FLAGS) -c $<
+
+arm64_const.cmx: arm64_const.ml arm64_const.cmi
+ ocamlopt -ccopt $(FLAGS) -c $<
+
+arm64_const.cmxa: arm64_const.cmx
+ ocamlopt -ccopt $(FLAGS) -a -o $@ $<
+
+m680x.mli: m680x.ml
+ ocamlc -ccopt $(FLAGS) -i $< > $@
+
+m680x.cmi: m680x.mli
+ ocamlc -ccopt $(FLAGS) -c $<
+
+m680x.cmx: m680x.ml m680x.cmi
+ ocamlopt -ccopt $(FLAGS) -c $<
+
+m680x.cmxa: m680x.cmx
+ ocamlopt -ccopt $(FLAGS) -a -o $@ $<
+
+m680x_const.mli: m680x_const.ml
+ ocamlc -ccopt $(FLAGS) -i $< > $@
+
+m680x_const.cmi: m680x_const.mli
+ ocamlc -ccopt $(FLAGS) -c $<
+
+m680x_const.cmx: m680x_const.ml m680x_const.cmi
+ ocamlopt -ccopt $(FLAGS) -c $<
+
+m680x_const.cmxa: m680x_const.cmx
+ ocamlopt -ccopt $(FLAGS) -a -o $@ $<
+
+mips.mli: mips.ml
+ ocamlc -ccopt $(FLAGS) -i $< > $@
+
+mips.cmi: mips.mli
+ ocamlc -ccopt $(FLAGS) -c $<
+
+mips.cmx: mips.ml mips.cmi
+ ocamlopt -ccopt $(FLAGS) -c $<
+
+mips.cmxa: mips.cmx
+ ocamlopt -ccopt $(FLAGS) -a -o $@ $<
+
+mips_const.mli: mips_const.ml
+ ocamlc -ccopt $(FLAGS) -i $< > $@
+
+mips_const.cmi: mips_const.mli
+ ocamlc -ccopt $(FLAGS) -c $<
+
+mips_const.cmx: mips_const.ml mips_const.cmi
+ ocamlopt -ccopt $(FLAGS) -c $<
+
+mips_const.cmxa: mips_const.cmx
+ ocamlopt -ccopt $(FLAGS) -a -o $@ $<
+
+ppc.mli: ppc.ml
+ ocamlc -ccopt $(FLAGS) -i $< > $@
+
+ppc.cmi: ppc.mli
+ ocamlc -ccopt $(FLAGS) -c $<
+
+ppc.cmx: ppc.ml ppc.cmi
+ ocamlopt -ccopt $(FLAGS) -c $<
+
+ppc.cmxa: ppc.cmx
+ ocamlopt -ccopt $(FLAGS) -a -o $@ $<
+
+ppc_const.mli: ppc_const.ml
+ ocamlc -ccopt $(FLAGS) -i $< > $@
+
+ppc_const.cmi: ppc_const.mli
+ ocamlc -ccopt $(FLAGS) -c $<
+
+ppc_const.cmx: ppc_const.ml ppc_const.cmi
+ ocamlopt -ccopt $(FLAGS) -c $<
+
+ppc_const.cmxa: ppc_const.cmx
+ ocamlopt -ccopt $(FLAGS) -a -o $@ $<
+
+sparc.mli: sparc.ml
+ ocamlc -ccopt $(FLAGS) -i $< > $@
+
+sparc.cmi: sparc.mli
+ ocamlc -ccopt $(FLAGS) -c $<
+
+sparc.cmx: sparc.ml sparc.cmi
+ ocamlopt -ccopt $(FLAGS) -c $<
+
+sparc.cmxa: sparc.cmx
+ ocamlopt -ccopt $(FLAGS) -a -o $@ $<
+
+sparc_const.mli: sparc_const.ml
+ ocamlc -ccopt $(FLAGS) -i $< > $@
+
+sparc_const.cmi: sparc_const.mli
+ ocamlc -ccopt $(FLAGS) -c $<
+
+sparc_const.cmx: sparc_const.ml sparc_const.cmi
+ ocamlopt -ccopt $(FLAGS) -c $<
+
+sparc_const.cmxa: sparc_const.cmx
+ ocamlopt -ccopt $(FLAGS) -a -o $@ $<
+
+systemz.mli: systemz.ml
+ ocamlc -ccopt $(FLAGS) -i $< > $@
+
+systemz.cmi: systemz.mli
+ ocamlc -ccopt $(FLAGS) -c $<
+
+systemz.cmx: systemz.ml systemz.cmi
+ ocamlopt -ccopt $(FLAGS) -c $<
+
+systemz.cmxa: systemz.cmx
+ ocamlopt -ccopt $(FLAGS) -a -o $@ $<
+
+sysz_const.mli: sysz_const.ml
+ ocamlc -ccopt $(FLAGS) -i $< > $@
+
+sysz_const.cmi: sysz_const.mli
+ ocamlc -ccopt $(FLAGS) -c $<
+
+sysz_const.cmx: sysz_const.ml sysz_const.cmi
+ ocamlopt -ccopt $(FLAGS) -c $<
+
+sysz_const.cmxa: sysz_const.cmx
+ ocamlopt -ccopt $(FLAGS) -a -o $@ $<
+
+xcore.mli: xcore.ml
+ ocamlc -ccopt $(FLAGS) -i $< > $@
+
+xcore.cmi: xcore.mli
+ ocamlc -ccopt $(FLAGS) -c $<
+
+xcore.cmx: xcore.ml xcore.cmi
+ ocamlopt -ccopt $(FLAGS) -c $<
+
+xcore.cmxa: xcore.cmx
+ ocamlopt -ccopt $(FLAGS) -a -o $@ $<
+
+xcore_const.mli: xcore_const.ml
+ ocamlc -ccopt $(FLAGS) -i $< > $@
+
+xcore_const.cmi: xcore_const.mli
+ ocamlc -ccopt $(FLAGS) -c $<
+
+xcore_const.cmx: xcore_const.ml xcore_const.cmi
+ ocamlopt -ccopt $(FLAGS) -c $<
+
+xcore_const.cmxa: xcore_const.cmx
+ ocamlopt -ccopt $(FLAGS) -a -o $@ $<
+
+clean:
+ rm -f *.[oa] *.so *.cm[ixoa] *.cmxa *.mli test_basic test_detail test_x86 test_arm test_arm64 test_mips test_ppc test_sparc test_systemz test_xcore test_m680x
+
+gen_const:
+ cd .. && $(PYTHON2) const_generator.py ocaml
+
+TESTS = test_basic test_detail test_arm test_arm64 test_m680x test_mips test_ppc
+TESTS += test_sparc test_systemz test_x86 test_xcore
+check:
+ @for t in $(TESTS); do \
+ echo Check $$t ... ; \
+ ./$$t > /dev/null && echo OK || echo FAILED; \
+ done
+
diff --git a/capstone/bindings/ocaml/README b/capstone/bindings/ocaml/README
new file mode 100644
index 000000000..e395232a5
--- /dev/null
+++ b/capstone/bindings/ocaml/README
@@ -0,0 +1,23 @@
+To compile Ocaml binding, Ocaml toolchain is needed. On Ubuntu Linux,
+you can install Ocaml with:
+
+ $ sudo apt-get install ocaml-nox
+
+To compile Ocaml binding, simply run "make" on the command line.
+
+
+This directory also contains some test code to show how to use Capstone API.
+
+- test_basic.ml
+ This code shows the most simple form of API where we only want to get basic
+ information out of disassembled instruction, such as address, mnemonic and
+ operand string.
+
+- test_detail.ml:
+ This code shows how to access to architecture-neutral information in disassembled
+ instructions, such as implicit registers read/written, or groups of instructions
+ that this instruction belong to.
+
+- test_<arch>.ml
+ These code show how to access architecture-specific information for each
+ architecture.
diff --git a/capstone/bindings/ocaml/arm.ml b/capstone/bindings/ocaml/arm.ml
new file mode 100644
index 000000000..eb2de2758
--- /dev/null
+++ b/capstone/bindings/ocaml/arm.ml
@@ -0,0 +1,55 @@
+(* Capstone Disassembly Engine
+ * By Nguyen Anh Quynh <aquynh@gmail.com>, 2013-2014 *)
+
+open Arm_const
+
+let _CS_OP_ARCH = 5;;
+let _CS_OP_CIMM = _CS_OP_ARCH (* C-Immediate *)
+let _CS_OP_PIMM = _CS_OP_ARCH + 1 (* P-Immediate *)
+
+
+(* architecture specific info of instruction *)
+type arm_op_shift = {
+ shift_type: int; (* TODO: covert this to pattern like arm_op_value? *)
+ shift_value: int;
+}
+
+type arm_op_mem = {
+ base: int;
+ index: int;
+ scale: int;
+ disp: int;
+ lshift: int;
+}
+
+type arm_op_value =
+ | ARM_OP_INVALID of int
+ | ARM_OP_REG of int
+ | ARM_OP_CIMM of int
+ | ARM_OP_PIMM of int
+ | ARM_OP_IMM of int
+ | ARM_OP_FP of float
+ | ARM_OP_MEM of arm_op_mem
+ | ARM_OP_SETEND of int
+
+type arm_op = {
+ vector_index: int;
+ shift: arm_op_shift;
+ value: arm_op_value;
+ subtracted: bool;
+ access: int;
+ neon_lane: int;
+}
+
+type cs_arm = {
+ usermode: bool;
+ vector_size: int;
+ vector_data: int;
+ cps_mode: int;
+ cps_flag: int;
+ cc: int;
+ update_flags: bool;
+ writeback: bool;
+ mem_barrier: int;
+ operands: arm_op array;
+}
diff --git a/capstone/bindings/ocaml/arm64.ml b/capstone/bindings/ocaml/arm64.ml
new file mode 100644
index 000000000..20d7030c8
--- /dev/null
+++ b/capstone/bindings/ocaml/arm64.ml
@@ -0,0 +1,45 @@
+(* Capstone Disassembly Engine
+ * By Nguyen Anh Quynh <aquynh@gmail.com>, 2013-2014 *)
+
+open Arm64_const
+
+(* architecture specific info of instruction *)
+type arm64_op_shift = {
+ shift_type: int;
+ shift_value: int;
+}
+
+type arm64_op_mem = {
+ base: int;
+ index: int;
+ disp: int
+}
+
+type arm64_op_value =
+ | ARM64_OP_INVALID of int
+ | ARM64_OP_REG of int
+ | ARM64_OP_CIMM of int
+ | ARM64_OP_IMM of int
+ | ARM64_OP_FP of float
+ | ARM64_OP_MEM of arm64_op_mem
+ | ARM64_OP_REG_MRS of int
+ | ARM64_OP_REG_MSR of int
+ | ARM64_OP_PSTATE of int
+ | ARM64_OP_SYS of int
+ | ARM64_OP_PREFETCH of int
+ | ARM64_OP_BARRIER of int
+
+type arm64_op = {
+ vector_index: int;
+ vas: int;
+ shift: arm64_op_shift;
+ ext: int;
+ value: arm64_op_value;
+}
+
+type cs_arm64 = {
+ cc: int;
+ update_flags: bool;
+ writeback: bool;
+ operands: arm64_op array;
+}
diff --git a/capstone/bindings/ocaml/arm64_const.ml b/capstone/bindings/ocaml/arm64_const.ml
new file mode 100644
index 000000000..a8000311d
--- /dev/null
+++ b/capstone/bindings/ocaml/arm64_const.ml
@@ -0,0 +1,2249 @@
+(* For Capstone Engine. AUTO-GENERATED FILE, DO NOT EDIT [arm64_const.ml] *)
+
+let _ARM64_SFT_INVALID = 0;;
+let _ARM64_SFT_LSL = 1;;
+let _ARM64_SFT_MSL = 2;;
+let _ARM64_SFT_LSR = 3;;
+let _ARM64_SFT_ASR = 4;;
+let _ARM64_SFT_ROR = 5;;
+
+let _ARM64_EXT_INVALID = 0;;
+let _ARM64_EXT_UXTB = 1;;
+let _ARM64_EXT_UXTH = 2;;
+let _ARM64_EXT_UXTW = 3;;
+let _ARM64_EXT_UXTX = 4;;
+let _ARM64_EXT_SXTB = 5;;
+let _ARM64_EXT_SXTH = 6;;
+let _ARM64_EXT_SXTW = 7;;
+let _ARM64_EXT_SXTX = 8;;
+
+let _ARM64_CC_INVALID = 0;;
+let _ARM64_CC_EQ = 1;;
+let _ARM64_CC_NE = 2;;
+let _ARM64_CC_HS = 3;;
+let _ARM64_CC_LO = 4;;
+let _ARM64_CC_MI = 5;;
+let _ARM64_CC_PL = 6;;
+let _ARM64_CC_VS = 7;;
+let _ARM64_CC_VC = 8;;
+let _ARM64_CC_HI = 9;;
+let _ARM64_CC_LS = 10;;
+let _ARM64_CC_GE = 11;;
+let _ARM64_CC_LT = 12;;
+let _ARM64_CC_GT = 13;;
+let _ARM64_CC_LE = 14;;
+let _ARM64_CC_AL = 15;;
+let _ARM64_CC_NV = 16;;
+
+let _ARM64_SYSREG_INVALID = 0;;
+let _ARM64_SYSREG_MDCCSR_EL0 = 0x9808;;
+let _ARM64_SYSREG_DBGDTRRX_EL0 = 0x9828;;
+let _ARM64_SYSREG_MDRAR_EL1 = 0x8080;;
+let _ARM64_SYSREG_OSLSR_EL1 = 0x808C;;
+let _ARM64_SYSREG_DBGAUTHSTATUS_EL1 = 0x83F6;;
+let _ARM64_SYSREG_PMCEID0_EL0 = 0xDCE6;;
+let _ARM64_SYSREG_PMCEID1_EL0 = 0xDCE7;;
+let _ARM64_SYSREG_MIDR_EL1 = 0xC000;;
+let _ARM64_SYSREG_CCSIDR_EL1 = 0xC800;;
+let _ARM64_SYSREG_CCSIDR2_EL1 = 0xC802;;
+let _ARM64_SYSREG_CLIDR_EL1 = 0xC801;;
+let _ARM64_SYSREG_CTR_EL0 = 0xD801;;
+let _ARM64_SYSREG_MPIDR_EL1 = 0xC005;;
+let _ARM64_SYSREG_REVIDR_EL1 = 0xC006;;
+let _ARM64_SYSREG_AIDR_EL1 = 0xC807;;
+let _ARM64_SYSREG_DCZID_EL0 = 0xD807;;
+let _ARM64_SYSREG_ID_PFR0_EL1 = 0xC008;;
+let _ARM64_SYSREG_ID_PFR1_EL1 = 0xC009;;
+let _ARM64_SYSREG_ID_DFR0_EL1 = 0xC00A;;
+let _ARM64_SYSREG_ID_AFR0_EL1 = 0xC00B;;
+let _ARM64_SYSREG_ID_MMFR0_EL1 = 0xC00C;;
+let _ARM64_SYSREG_ID_MMFR1_EL1 = 0xC00D;;
+let _ARM64_SYSREG_ID_MMFR2_EL1 = 0xC00E;;
+let _ARM64_SYSREG_ID_MMFR3_EL1 = 0xC00F;;
+let _ARM64_SYSREG_ID_ISAR0_EL1 = 0xC010;;
+let _ARM64_SYSREG_ID_ISAR1_EL1 = 0xC011;;
+let _ARM64_SYSREG_ID_ISAR2_EL1 = 0xC012;;
+let _ARM64_SYSREG_ID_ISAR3_EL1 = 0xC013;;
+let _ARM64_SYSREG_ID_ISAR4_EL1 = 0xC014;;
+let _ARM64_SYSREG_ID_ISAR5_EL1 = 0xC015;;
+let _ARM64_SYSREG_ID_ISAR6_EL1 = 0xC017;;
+let _ARM64_SYSREG_ID_AA64PFR0_EL1 = 0xC020;;
+let _ARM64_SYSREG_ID_AA64PFR1_EL1 = 0xC021;;
+let _ARM64_SYSREG_ID_AA64DFR0_EL1 = 0xC028;;
+let _ARM64_SYSREG_ID_AA64DFR1_EL1 = 0xC029;;
+let _ARM64_SYSREG_ID_AA64AFR0_EL1 = 0xC02C;;
+let _ARM64_SYSREG_ID_AA64AFR1_EL1 = 0xC02D;;
+let _ARM64_SYSREG_ID_AA64ISAR0_EL1 = 0xC030;;
+let _ARM64_SYSREG_ID_AA64ISAR1_EL1 = 0xC031;;
+let _ARM64_SYSREG_ID_AA64MMFR0_EL1 = 0xC038;;
+let _ARM64_SYSREG_ID_AA64MMFR1_EL1 = 0xC039;;
+let _ARM64_SYSREG_ID_AA64MMFR2_EL1 = 0xC03A;;
+let _ARM64_SYSREG_MVFR0_EL1 = 0xC018;;
+let _ARM64_SYSREG_MVFR1_EL1 = 0xC019;;
+let _ARM64_SYSREG_MVFR2_EL1 = 0xC01A;;
+let _ARM64_SYSREG_RVBAR_EL1 = 0xC601;;
+let _ARM64_SYSREG_RVBAR_EL2 = 0xE601;;
+let _ARM64_SYSREG_RVBAR_EL3 = 0xF601;;
+let _ARM64_SYSREG_ISR_EL1 = 0xC608;;
+let _ARM64_SYSREG_CNTPCT_EL0 = 0xDF01;;
+let _ARM64_SYSREG_CNTVCT_EL0 = 0xDF02;;
+let _ARM64_SYSREG_ID_MMFR4_EL1 = 0xC016;;
+let _ARM64_SYSREG_TRCSTATR = 0x8818;;
+let _ARM64_SYSREG_TRCIDR8 = 0x8806;;
+let _ARM64_SYSREG_TRCIDR9 = 0x880E;;
+let _ARM64_SYSREG_TRCIDR10 = 0x8816;;
+let _ARM64_SYSREG_TRCIDR11 = 0x881E;;
+let _ARM64_SYSREG_TRCIDR12 = 0x8826;;
+let _ARM64_SYSREG_TRCIDR13 = 0x882E;;
+let _ARM64_SYSREG_TRCIDR0 = 0x8847;;
+let _ARM64_SYSREG_TRCIDR1 = 0x884F;;
+let _ARM64_SYSREG_TRCIDR2 = 0x8857;;
+let _ARM64_SYSREG_TRCIDR3 = 0x885F;;
+let _ARM64_SYSREG_TRCIDR4 = 0x8867;;
+let _ARM64_SYSREG_TRCIDR5 = 0x886F;;
+let _ARM64_SYSREG_TRCIDR6 = 0x8877;;
+let _ARM64_SYSREG_TRCIDR7 = 0x887F;;
+let _ARM64_SYSREG_TRCOSLSR = 0x888C;;
+let _ARM64_SYSREG_TRCPDSR = 0x88AC;;
+let _ARM64_SYSREG_TRCDEVAFF0 = 0x8BD6;;
+let _ARM64_SYSREG_TRCDEVAFF1 = 0x8BDE;;
+let _ARM64_SYSREG_TRCLSR = 0x8BEE;;
+let _ARM64_SYSREG_TRCAUTHSTATUS = 0x8BF6;;
+let _ARM64_SYSREG_TRCDEVARCH = 0x8BFE;;
+let _ARM64_SYSREG_TRCDEVID = 0x8B97;;
+let _ARM64_SYSREG_TRCDEVTYPE = 0x8B9F;;
+let _ARM64_SYSREG_TRCPIDR4 = 0x8BA7;;
+let _ARM64_SYSREG_TRCPIDR5 = 0x8BAF;;
+let _ARM64_SYSREG_TRCPIDR6 = 0x8BB7;;
+let _ARM64_SYSREG_TRCPIDR7 = 0x8BBF;;
+let _ARM64_SYSREG_TRCPIDR0 = 0x8BC7;;
+let _ARM64_SYSREG_TRCPIDR1 = 0x8BCF;;
+let _ARM64_SYSREG_TRCPIDR2 = 0x8BD7;;
+let _ARM64_SYSREG_TRCPIDR3 = 0x8BDF;;
+let _ARM64_SYSREG_TRCCIDR0 = 0x8BE7;;
+let _ARM64_SYSREG_TRCCIDR1 = 0x8BEF;;
+let _ARM64_SYSREG_TRCCIDR2 = 0x8BF7;;
+let _ARM64_SYSREG_TRCCIDR3 = 0x8BFF;;
+let _ARM64_SYSREG_ICC_IAR1_EL1 = 0xC660;;
+let _ARM64_SYSREG_ICC_IAR0_EL1 = 0xC640;;
+let _ARM64_SYSREG_ICC_HPPIR1_EL1 = 0xC662;;
+let _ARM64_SYSREG_ICC_HPPIR0_EL1 = 0xC642;;
+let _ARM64_SYSREG_ICC_RPR_EL1 = 0xC65B;;
+let _ARM64_SYSREG_ICH_VTR_EL2 = 0xE659;;
+let _ARM64_SYSREG_ICH_EISR_EL2 = 0xE65B;;
+let _ARM64_SYSREG_ICH_ELRSR_EL2 = 0xE65D;;
+let _ARM64_SYSREG_ID_AA64ZFR0_EL1 = 0xC024;;
+let _ARM64_SYSREG_LORID_EL1 = 0xC527;;
+let _ARM64_SYSREG_ERRIDR_EL1 = 0xC298;;
+let _ARM64_SYSREG_ERXFR_EL1 = 0xC2A0;;
+let _ARM64_SYSREG_DBGDTRTX_EL0 = 0x9828;;
+let _ARM64_SYSREG_OSLAR_EL1 = 0x8084;;
+let _ARM64_SYSREG_PMSWINC_EL0 = 0xDCE4;;
+let _ARM64_SYSREG_TRCOSLAR = 0x8884;;
+let _ARM64_SYSREG_TRCLAR = 0x8BE6;;
+let _ARM64_SYSREG_ICC_EOIR1_EL1 = 0xC661;;
+let _ARM64_SYSREG_ICC_EOIR0_EL1 = 0xC641;;
+let _ARM64_SYSREG_ICC_DIR_EL1 = 0xC659;;
+let _ARM64_SYSREG_ICC_SGI1R_EL1 = 0xC65D;;
+let _ARM64_SYSREG_ICC_ASGI1R_EL1 = 0xC65E;;
+let _ARM64_SYSREG_ICC_SGI0R_EL1 = 0xC65F;;
+let _ARM64_SYSREG_OSDTRRX_EL1 = 0x8002;;
+let _ARM64_SYSREG_OSDTRTX_EL1 = 0x801A;;
+let _ARM64_SYSREG_TEECR32_EL1 = 0x9000;;
+let _ARM64_SYSREG_MDCCINT_EL1 = 0x8010;;
+let _ARM64_SYSREG_MDSCR_EL1 = 0x8012;;
+let _ARM64_SYSREG_DBGDTR_EL0 = 0x9820;;
+let _ARM64_SYSREG_OSECCR_EL1 = 0x8032;;
+let _ARM64_SYSREG_DBGVCR32_EL2 = 0xA038;;
+let _ARM64_SYSREG_DBGBVR0_EL1 = 0x8004;;
+let _ARM64_SYSREG_DBGBVR1_EL1 = 0x800C;;
+let _ARM64_SYSREG_DBGBVR2_EL1 = 0x8014;;
+let _ARM64_SYSREG_DBGBVR3_EL1 = 0x801C;;
+let _ARM64_SYSREG_DBGBVR4_EL1 = 0x8024;;
+let _ARM64_SYSREG_DBGBVR5_EL1 = 0x802C;;
+let _ARM64_SYSREG_DBGBVR6_EL1 = 0x8034;;
+let _ARM64_SYSREG_DBGBVR7_EL1 = 0x803C;;
+let _ARM64_SYSREG_DBGBVR8_EL1 = 0x8044;;
+let _ARM64_SYSREG_DBGBVR9_EL1 = 0x804C;;
+let _ARM64_SYSREG_DBGBVR10_EL1 = 0x8054;;
+let _ARM64_SYSREG_DBGBVR11_EL1 = 0x805C;;
+let _ARM64_SYSREG_DBGBVR12_EL1 = 0x8064;;
+let _ARM64_SYSREG_DBGBVR13_EL1 = 0x806C;;
+let _ARM64_SYSREG_DBGBVR14_EL1 = 0x8074;;
+let _ARM64_SYSREG_DBGBVR15_EL1 = 0x807C;;
+let _ARM64_SYSREG_DBGBCR0_EL1 = 0x8005;;
+let _ARM64_SYSREG_DBGBCR1_EL1 = 0x800D;;
+let _ARM64_SYSREG_DBGBCR2_EL1 = 0x8015;;
+let _ARM64_SYSREG_DBGBCR3_EL1 = 0x801D;;
+let _ARM64_SYSREG_DBGBCR4_EL1 = 0x8025;;
+let _ARM64_SYSREG_DBGBCR5_EL1 = 0x802D;;
+let _ARM64_SYSREG_DBGBCR6_EL1 = 0x8035;;
+let _ARM64_SYSREG_DBGBCR7_EL1 = 0x803D;;
+let _ARM64_SYSREG_DBGBCR8_EL1 = 0x8045;;
+let _ARM64_SYSREG_DBGBCR9_EL1 = 0x804D;;
+let _ARM64_SYSREG_DBGBCR10_EL1 = 0x8055;;
+let _ARM64_SYSREG_DBGBCR11_EL1 = 0x805D;;
+let _ARM64_SYSREG_DBGBCR12_EL1 = 0x8065;;
+let _ARM64_SYSREG_DBGBCR13_EL1 = 0x806D;;
+let _ARM64_SYSREG_DBGBCR14_EL1 = 0x8075;;
+let _ARM64_SYSREG_DBGBCR15_EL1 = 0x807D;;
+let _ARM64_SYSREG_DBGWVR0_EL1 = 0x8006;;
+let _ARM64_SYSREG_DBGWVR1_EL1 = 0x800E;;
+let _ARM64_SYSREG_DBGWVR2_EL1 = 0x8016;;
+let _ARM64_SYSREG_DBGWVR3_EL1 = 0x801E;;
+let _ARM64_SYSREG_DBGWVR4_EL1 = 0x8026;;
+let _ARM64_SYSREG_DBGWVR5_EL1 = 0x802E;;
+let _ARM64_SYSREG_DBGWVR6_EL1 = 0x8036;;
+let _ARM64_SYSREG_DBGWVR7_EL1 = 0x803E;;
+let _ARM64_SYSREG_DBGWVR8_EL1 = 0x8046;;
+let _ARM64_SYSREG_DBGWVR9_EL1 = 0x804E;;
+let _ARM64_SYSREG_DBGWVR10_EL1 = 0x8056;;
+let _ARM64_SYSREG_DBGWVR11_EL1 = 0x805E;;
+let _ARM64_SYSREG_DBGWVR12_EL1 = 0x8066;;
+let _ARM64_SYSREG_DBGWVR13_EL1 = 0x806E;;
+let _ARM64_SYSREG_DBGWVR14_EL1 = 0x8076;;
+let _ARM64_SYSREG_DBGWVR15_EL1 = 0x807E;;
+let _ARM64_SYSREG_DBGWCR0_EL1 = 0x8007;;
+let _ARM64_SYSREG_DBGWCR1_EL1 = 0x800F;;
+let _ARM64_SYSREG_DBGWCR2_EL1 = 0x8017;;
+let _ARM64_SYSREG_DBGWCR3_EL1 = 0x801F;;
+let _ARM64_SYSREG_DBGWCR4_EL1 = 0x8027;;
+let _ARM64_SYSREG_DBGWCR5_EL1 = 0x802F;;
+let _ARM64_SYSREG_DBGWCR6_EL1 = 0x8037;;
+let _ARM64_SYSREG_DBGWCR7_EL1 = 0x803F;;
+let _ARM64_SYSREG_DBGWCR8_EL1 = 0x8047;;
+let _ARM64_SYSREG_DBGWCR9_EL1 = 0x804F;;
+let _ARM64_SYSREG_DBGWCR10_EL1 = 0x8057;;
+let _ARM64_SYSREG_DBGWCR11_EL1 = 0x805F;;
+let _ARM64_SYSREG_DBGWCR12_EL1 = 0x8067;;
+let _ARM64_SYSREG_DBGWCR13_EL1 = 0x806F;;
+let _ARM64_SYSREG_DBGWCR14_EL1 = 0x8077;;
+let _ARM64_SYSREG_DBGWCR15_EL1 = 0x807F;;
+let _ARM64_SYSREG_TEEHBR32_EL1 = 0x9080;;
+let _ARM64_SYSREG_OSDLR_EL1 = 0x809C;;
+let _ARM64_SYSREG_DBGPRCR_EL1 = 0x80A4;;
+let _ARM64_SYSREG_DBGCLAIMSET_EL1 = 0x83C6;;
+let _ARM64_SYSREG_DBGCLAIMCLR_EL1 = 0x83CE;;
+let _ARM64_SYSREG_CSSELR_EL1 = 0xD000;;
+let _ARM64_SYSREG_VPIDR_EL2 = 0xE000;;
+let _ARM64_SYSREG_VMPIDR_EL2 = 0xE005;;
+let _ARM64_SYSREG_CPACR_EL1 = 0xC082;;
+let _ARM64_SYSREG_SCTLR_EL1 = 0xC080;;
+let _ARM64_SYSREG_SCTLR_EL2 = 0xE080;;
+let _ARM64_SYSREG_SCTLR_EL3 = 0xF080;;
+let _ARM64_SYSREG_ACTLR_EL1 = 0xC081;;
+let _ARM64_SYSREG_ACTLR_EL2 = 0xE081;;
+let _ARM64_SYSREG_ACTLR_EL3 = 0xF081;;
+let _ARM64_SYSREG_HCR_EL2 = 0xE088;;
+let _ARM64_SYSREG_SCR_EL3 = 0xF088;;
+let _ARM64_SYSREG_MDCR_EL2 = 0xE089;;
+let _ARM64_SYSREG_SDER32_EL3 = 0xF089;;
+let _ARM64_SYSREG_CPTR_EL2 = 0xE08A;;
+let _ARM64_SYSREG_CPTR_EL3 = 0xF08A;;
+let _ARM64_SYSREG_HSTR_EL2 = 0xE08B;;
+let _ARM64_SYSREG_HACR_EL2 = 0xE08F;;
+let _ARM64_SYSREG_MDCR_EL3 = 0xF099;;
+let _ARM64_SYSREG_TTBR0_EL1 = 0xC100;;
+let _ARM64_SYSREG_TTBR0_EL2 = 0xE100;;
+let _ARM64_SYSREG_TTBR0_EL3 = 0xF100;;
+let _ARM64_SYSREG_TTBR1_EL1 = 0xC101;;
+let _ARM64_SYSREG_TCR_EL1 = 0xC102;;
+let _ARM64_SYSREG_TCR_EL2 = 0xE102;;
+let _ARM64_SYSREG_TCR_EL3 = 0xF102;;
+let _ARM64_SYSREG_VTTBR_EL2 = 0xE108;;
+let _ARM64_SYSREG_VTCR_EL2 = 0xE10A;;
+let _ARM64_SYSREG_DACR32_EL2 = 0xE180;;
+let _ARM64_SYSREG_SPSR_EL1 = 0xC200;;
+let _ARM64_SYSREG_SPSR_EL2 = 0xE200;;
+let _ARM64_SYSREG_SPSR_EL3 = 0xF200;;
+let _ARM64_SYSREG_ELR_EL1 = 0xC201;;
+let _ARM64_SYSREG_ELR_EL2 = 0xE201;;
+let _ARM64_SYSREG_ELR_EL3 = 0xF201;;
+let _ARM64_SYSREG_SP_EL0 = 0xC208;;
+let _ARM64_SYSREG_SP_EL1 = 0xE208;;
+let _ARM64_SYSREG_SP_EL2 = 0xF208;;
+let _ARM64_SYSREG_SPSEL = 0xC210;;
+let _ARM64_SYSREG_NZCV = 0xDA10;;
+let _ARM64_SYSREG_DAIF = 0xDA11;;
+let _ARM64_SYSREG_CURRENTEL = 0xC212;;
+let _ARM64_SYSREG_SPSR_IRQ = 0xE218;;
+let _ARM64_SYSREG_SPSR_ABT = 0xE219;;
+let _ARM64_SYSREG_SPSR_UND = 0xE21A;;
+let _ARM64_SYSREG_SPSR_FIQ = 0xE21B;;
+let _ARM64_SYSREG_FPCR = 0xDA20;;
+let _ARM64_SYSREG_FPSR = 0xDA21;;
+let _ARM64_SYSREG_DSPSR_EL0 = 0xDA28;;
+let _ARM64_SYSREG_DLR_EL0 = 0xDA29;;
+let _ARM64_SYSREG_IFSR32_EL2 = 0xE281;;
+let _ARM64_SYSREG_AFSR0_EL1 = 0xC288;;
+let _ARM64_SYSREG_AFSR0_EL2 = 0xE288;;
+let _ARM64_SYSREG_AFSR0_EL3 = 0xF288;;
+let _ARM64_SYSREG_AFSR1_EL1 = 0xC289;;
+let _ARM64_SYSREG_AFSR1_EL2 = 0xE289;;
+let _ARM64_SYSREG_AFSR1_EL3 = 0xF289;;
+let _ARM64_SYSREG_ESR_EL1 = 0xC290;;
+let _ARM64_SYSREG_ESR_EL2 = 0xE290;;
+let _ARM64_SYSREG_ESR_EL3 = 0xF290;;
+let _ARM64_SYSREG_FPEXC32_EL2 = 0xE298;;
+let _ARM64_SYSREG_FAR_EL1 = 0xC300;;
+let _ARM64_SYSREG_FAR_EL2 = 0xE300;;
+let _ARM64_SYSREG_FAR_EL3 = 0xF300;;
+let _ARM64_SYSREG_HPFAR_EL2 = 0xE304;;
+let _ARM64_SYSREG_PAR_EL1 = 0xC3A0;;
+let _ARM64_SYSREG_PMCR_EL0 = 0xDCE0;;
+let _ARM64_SYSREG_PMCNTENSET_EL0 = 0xDCE1;;
+let _ARM64_SYSREG_PMCNTENCLR_EL0 = 0xDCE2;;
+let _ARM64_SYSREG_PMOVSCLR_EL0 = 0xDCE3;;
+let _ARM64_SYSREG_PMSELR_EL0 = 0xDCE5;;
+let _ARM64_SYSREG_PMCCNTR_EL0 = 0xDCE8;;
+let _ARM64_SYSREG_PMXEVTYPER_EL0 = 0xDCE9;;
+let _ARM64_SYSREG_PMXEVCNTR_EL0 = 0xDCEA;;
+let _ARM64_SYSREG_PMUSERENR_EL0 = 0xDCF0;;
+let _ARM64_SYSREG_PMINTENSET_EL1 = 0xC4F1;;
+let _ARM64_SYSREG_PMINTENCLR_EL1 = 0xC4F2;;
+let _ARM64_SYSREG_PMOVSSET_EL0 = 0xDCF3;;
+let _ARM64_SYSREG_MAIR_EL1 = 0xC510;;
+let _ARM64_SYSREG_MAIR_EL2 = 0xE510;;
+let _ARM64_SYSREG_MAIR_EL3 = 0xF510;;
+let _ARM64_SYSREG_AMAIR_EL1 = 0xC518;;
+let _ARM64_SYSREG_AMAIR_EL2 = 0xE518;;
+let _ARM64_SYSREG_AMAIR_EL3 = 0xF518;;
+let _ARM64_SYSREG_VBAR_EL1 = 0xC600;;
+let _ARM64_SYSREG_VBAR_EL2 = 0xE600;;
+let _ARM64_SYSREG_VBAR_EL3 = 0xF600;;
+let _ARM64_SYSREG_RMR_EL1 = 0xC602;;
+let _ARM64_SYSREG_RMR_EL2 = 0xE602;;
+let _ARM64_SYSREG_RMR_EL3 = 0xF602;;
+let _ARM64_SYSREG_CONTEXTIDR_EL1 = 0xC681;;
+let _ARM64_SYSREG_TPIDR_EL0 = 0xDE82;;
+let _ARM64_SYSREG_TPIDR_EL2 = 0xE682;;
+let _ARM64_SYSREG_TPIDR_EL3 = 0xF682;;
+let _ARM64_SYSREG_TPIDRRO_EL0 = 0xDE83;;
+let _ARM64_SYSREG_TPIDR_EL1 = 0xC684;;
+let _ARM64_SYSREG_CNTFRQ_EL0 = 0xDF00;;
+let _ARM64_SYSREG_CNTVOFF_EL2 = 0xE703;;
+let _ARM64_SYSREG_CNTKCTL_EL1 = 0xC708;;
+let _ARM64_SYSREG_CNTHCTL_EL2 = 0xE708;;
+let _ARM64_SYSREG_CNTP_TVAL_EL0 = 0xDF10;;
+let _ARM64_SYSREG_CNTHP_TVAL_EL2 = 0xE710;;
+let _ARM64_SYSREG_CNTPS_TVAL_EL1 = 0xFF10;;
+let _ARM64_SYSREG_CNTP_CTL_EL0 = 0xDF11;;
+let _ARM64_SYSREG_CNTHP_CTL_EL2 = 0xE711;;
+let _ARM64_SYSREG_CNTPS_CTL_EL1 = 0xFF11;;
+let _ARM64_SYSREG_CNTP_CVAL_EL0 = 0xDF12;;
+let _ARM64_SYSREG_CNTHP_CVAL_EL2 = 0xE712;;
+let _ARM64_SYSREG_CNTPS_CVAL_EL1 = 0xFF12;;
+let _ARM64_SYSREG_CNTV_TVAL_EL0 = 0xDF18;;
+let _ARM64_SYSREG_CNTV_CTL_EL0 = 0xDF19;;
+let _ARM64_SYSREG_CNTV_CVAL_EL0 = 0xDF1A;;
+let _ARM64_SYSREG_PMEVCNTR0_EL0 = 0xDF40;;
+let _ARM64_SYSREG_PMEVCNTR1_EL0 = 0xDF41;;
+let _ARM64_SYSREG_PMEVCNTR2_EL0 = 0xDF42;;
+let _ARM64_SYSREG_PMEVCNTR3_EL0 = 0xDF43;;
+let _ARM64_SYSREG_PMEVCNTR4_EL0 = 0xDF44;;
+let _ARM64_SYSREG_PMEVCNTR5_EL0 = 0xDF45;;
+let _ARM64_SYSREG_PMEVCNTR6_EL0 = 0xDF46;;
+let _ARM64_SYSREG_PMEVCNTR7_EL0 = 0xDF47;;
+let _ARM64_SYSREG_PMEVCNTR8_EL0 = 0xDF48;;
+let _ARM64_SYSREG_PMEVCNTR9_EL0 = 0xDF49;;
+let _ARM64_SYSREG_PMEVCNTR10_EL0 = 0xDF4A;;
+let _ARM64_SYSREG_PMEVCNTR11_EL0 = 0xDF4B;;
+let _ARM64_SYSREG_PMEVCNTR12_EL0 = 0xDF4C;;
+let _ARM64_SYSREG_PMEVCNTR13_EL0 = 0xDF4D;;
+let _ARM64_SYSREG_PMEVCNTR14_EL0 = 0xDF4E;;
+let _ARM64_SYSREG_PMEVCNTR15_EL0 = 0xDF4F;;
+let _ARM64_SYSREG_PMEVCNTR16_EL0 = 0xDF50;;
+let _ARM64_SYSREG_PMEVCNTR17_EL0 = 0xDF51;;
+let _ARM64_SYSREG_PMEVCNTR18_EL0 = 0xDF52;;
+let _ARM64_SYSREG_PMEVCNTR19_EL0 = 0xDF53;;
+let _ARM64_SYSREG_PMEVCNTR20_EL0 = 0xDF54;;
+let _ARM64_SYSREG_PMEVCNTR21_EL0 = 0xDF55;;
+let _ARM64_SYSREG_PMEVCNTR22_EL0 = 0xDF56;;
+let _ARM64_SYSREG_PMEVCNTR23_EL0 = 0xDF57;;
+let _ARM64_SYSREG_PMEVCNTR24_EL0 = 0xDF58;;
+let _ARM64_SYSREG_PMEVCNTR25_EL0 = 0xDF59;;
+let _ARM64_SYSREG_PMEVCNTR26_EL0 = 0xDF5A;;
+let _ARM64_SYSREG_PMEVCNTR27_EL0 = 0xDF5B;;
+let _ARM64_SYSREG_PMEVCNTR28_EL0 = 0xDF5C;;
+let _ARM64_SYSREG_PMEVCNTR29_EL0 = 0xDF5D;;
+let _ARM64_SYSREG_PMEVCNTR30_EL0 = 0xDF5E;;
+let _ARM64_SYSREG_PMCCFILTR_EL0 = 0xDF7F;;
+let _ARM64_SYSREG_PMEVTYPER0_EL0 = 0xDF60;;
+let _ARM64_SYSREG_PMEVTYPER1_EL0 = 0xDF61;;
+let _ARM64_SYSREG_PMEVTYPER2_EL0 = 0xDF62;;
+let _ARM64_SYSREG_PMEVTYPER3_EL0 = 0xDF63;;
+let _ARM64_SYSREG_PMEVTYPER4_EL0 = 0xDF64;;
+let _ARM64_SYSREG_PMEVTYPER5_EL0 = 0xDF65;;
+let _ARM64_SYSREG_PMEVTYPER6_EL0 = 0xDF66;;
+let _ARM64_SYSREG_PMEVTYPER7_EL0 = 0xDF67;;
+let _ARM64_SYSREG_PMEVTYPER8_EL0 = 0xDF68;;
+let _ARM64_SYSREG_PMEVTYPER9_EL0 = 0xDF69;;
+let _ARM64_SYSREG_PMEVTYPER10_EL0 = 0xDF6A;;
+let _ARM64_SYSREG_PMEVTYPER11_EL0 = 0xDF6B;;
+let _ARM64_SYSREG_PMEVTYPER12_EL0 = 0xDF6C;;
+let _ARM64_SYSREG_PMEVTYPER13_EL0 = 0xDF6D;;
+let _ARM64_SYSREG_PMEVTYPER14_EL0 = 0xDF6E;;
+let _ARM64_SYSREG_PMEVTYPER15_EL0 = 0xDF6F;;
+let _ARM64_SYSREG_PMEVTYPER16_EL0 = 0xDF70;;
+let _ARM64_SYSREG_PMEVTYPER17_EL0 = 0xDF71;;
+let _ARM64_SYSREG_PMEVTYPER18_EL0 = 0xDF72;;
+let _ARM64_SYSREG_PMEVTYPER19_EL0 = 0xDF73;;
+let _ARM64_SYSREG_PMEVTYPER20_EL0 = 0xDF74;;
+let _ARM64_SYSREG_PMEVTYPER21_EL0 = 0xDF75;;
+let _ARM64_SYSREG_PMEVTYPER22_EL0 = 0xDF76;;
+let _ARM64_SYSREG_PMEVTYPER23_EL0 = 0xDF77;;
+let _ARM64_SYSREG_PMEVTYPER24_EL0 = 0xDF78;;
+let _ARM64_SYSREG_PMEVTYPER25_EL0 = 0xDF79;;
+let _ARM64_SYSREG_PMEVTYPER26_EL0 = 0xDF7A;;
+let _ARM64_SYSREG_PMEVTYPER27_EL0 = 0xDF7B;;
+let _ARM64_SYSREG_PMEVTYPER28_EL0 = 0xDF7C;;
+let _ARM64_SYSREG_PMEVTYPER29_EL0 = 0xDF7D;;
+let _ARM64_SYSREG_PMEVTYPER30_EL0 = 0xDF7E;;
+let _ARM64_SYSREG_TRCPRGCTLR = 0x8808;;
+let _ARM64_SYSREG_TRCPROCSELR = 0x8810;;
+let _ARM64_SYSREG_TRCCONFIGR = 0x8820;;
+let _ARM64_SYSREG_TRCAUXCTLR = 0x8830;;
+let _ARM64_SYSREG_TRCEVENTCTL0R = 0x8840;;
+let _ARM64_SYSREG_TRCEVENTCTL1R = 0x8848;;
+let _ARM64_SYSREG_TRCSTALLCTLR = 0x8858;;
+let _ARM64_SYSREG_TRCTSCTLR = 0x8860;;
+let _ARM64_SYSREG_TRCSYNCPR = 0x8868;;
+let _ARM64_SYSREG_TRCCCCTLR = 0x8870;;
+let _ARM64_SYSREG_TRCBBCTLR = 0x8878;;
+let _ARM64_SYSREG_TRCTRACEIDR = 0x8801;;
+let _ARM64_SYSREG_TRCQCTLR = 0x8809;;
+let _ARM64_SYSREG_TRCVICTLR = 0x8802;;
+let _ARM64_SYSREG_TRCVIIECTLR = 0x880A;;
+let _ARM64_SYSREG_TRCVISSCTLR = 0x8812;;
+let _ARM64_SYSREG_TRCVIPCSSCTLR = 0x881A;;
+let _ARM64_SYSREG_TRCVDCTLR = 0x8842;;
+let _ARM64_SYSREG_TRCVDSACCTLR = 0x884A;;
+let _ARM64_SYSREG_TRCVDARCCTLR = 0x8852;;
+let _ARM64_SYSREG_TRCSEQEVR0 = 0x8804;;
+let _ARM64_SYSREG_TRCSEQEVR1 = 0x880C;;
+let _ARM64_SYSREG_TRCSEQEVR2 = 0x8814;;
+let _ARM64_SYSREG_TRCSEQRSTEVR = 0x8834;;
+let _ARM64_SYSREG_TRCSEQSTR = 0x883C;;
+let _ARM64_SYSREG_TRCEXTINSELR = 0x8844;;
+let _ARM64_SYSREG_TRCCNTRLDVR0 = 0x8805;;
+let _ARM64_SYSREG_TRCCNTRLDVR1 = 0x880D;;
+let _ARM64_SYSREG_TRCCNTRLDVR2 = 0x8815;;
+let _ARM64_SYSREG_TRCCNTRLDVR3 = 0x881D;;
+let _ARM64_SYSREG_TRCCNTCTLR0 = 0x8825;;
+let _ARM64_SYSREG_TRCCNTCTLR1 = 0x882D;;
+let _ARM64_SYSREG_TRCCNTCTLR2 = 0x8835;;
+let _ARM64_SYSREG_TRCCNTCTLR3 = 0x883D;;
+let _ARM64_SYSREG_TRCCNTVR0 = 0x8845;;
+let _ARM64_SYSREG_TRCCNTVR1 = 0x884D;;
+let _ARM64_SYSREG_TRCCNTVR2 = 0x8855;;
+let _ARM64_SYSREG_TRCCNTVR3 = 0x885D;;
+let _ARM64_SYSREG_TRCIMSPEC0 = 0x8807;;
+let _ARM64_SYSREG_TRCIMSPEC1 = 0x880F;;
+let _ARM64_SYSREG_TRCIMSPEC2 = 0x8817;;
+let _ARM64_SYSREG_TRCIMSPEC3 = 0x881F;;
+let _ARM64_SYSREG_TRCIMSPEC4 = 0x8827;;
+let _ARM64_SYSREG_TRCIMSPEC5 = 0x882F;;
+let _ARM64_SYSREG_TRCIMSPEC6 = 0x8837;;
+let _ARM64_SYSREG_TRCIMSPEC7 = 0x883F;;
+let _ARM64_SYSREG_TRCRSCTLR2 = 0x8890;;
+let _ARM64_SYSREG_TRCRSCTLR3 = 0x8898;;
+let _ARM64_SYSREG_TRCRSCTLR4 = 0x88A0;;
+let _ARM64_SYSREG_TRCRSCTLR5 = 0x88A8;;
+let _ARM64_SYSREG_TRCRSCTLR6 = 0x88B0;;
+let _ARM64_SYSREG_TRCRSCTLR7 = 0x88B8;;
+let _ARM64_SYSREG_TRCRSCTLR8 = 0x88C0;;
+let _ARM64_SYSREG_TRCRSCTLR9 = 0x88C8;;
+let _ARM64_SYSREG_TRCRSCTLR10 = 0x88D0;;
+let _ARM64_SYSREG_TRCRSCTLR11 = 0x88D8;;
+let _ARM64_SYSREG_TRCRSCTLR12 = 0x88E0;;
+let _ARM64_SYSREG_TRCRSCTLR13 = 0x88E8;;
+let _ARM64_SYSREG_TRCRSCTLR14 = 0x88F0;;
+let _ARM64_SYSREG_TRCRSCTLR15 = 0x88F8;;
+let _ARM64_SYSREG_TRCRSCTLR16 = 0x8881;;
+let _ARM64_SYSREG_TRCRSCTLR17 = 0x8889;;
+let _ARM64_SYSREG_TRCRSCTLR18 = 0x8891;;
+let _ARM64_SYSREG_TRCRSCTLR19 = 0x8899;;
+let _ARM64_SYSREG_TRCRSCTLR20 = 0x88A1;;
+let _ARM64_SYSREG_TRCRSCTLR21 = 0x88A9;;
+let _ARM64_SYSREG_TRCRSCTLR22 = 0x88B1;;
+let _ARM64_SYSREG_TRCRSCTLR23 = 0x88B9;;
+let _ARM64_SYSREG_TRCRSCTLR24 = 0x88C1;;
+let _ARM64_SYSREG_TRCRSCTLR25 = 0x88C9;;
+let _ARM64_SYSREG_TRCRSCTLR26 = 0x88D1;;
+let _ARM64_SYSREG_TRCRSCTLR27 = 0x88D9;;
+let _ARM64_SYSREG_TRCRSCTLR28 = 0x88E1;;
+let _ARM64_SYSREG_TRCRSCTLR29 = 0x88E9;;
+let _ARM64_SYSREG_TRCRSCTLR30 = 0x88F1;;
+let _ARM64_SYSREG_TRCRSCTLR31 = 0x88F9;;
+let _ARM64_SYSREG_TRCSSCCR0 = 0x8882;;
+let _ARM64_SYSREG_TRCSSCCR1 = 0x888A;;
+let _ARM64_SYSREG_TRCSSCCR2 = 0x8892;;
+let _ARM64_SYSREG_TRCSSCCR3 = 0x889A;;
+let _ARM64_SYSREG_TRCSSCCR4 = 0x88A2;;
+let _ARM64_SYSREG_TRCSSCCR5 = 0x88AA;;
+let _ARM64_SYSREG_TRCSSCCR6 = 0x88B2;;
+let _ARM64_SYSREG_TRCSSCCR7 = 0x88BA;;
+let _ARM64_SYSREG_TRCSSCSR0 = 0x88C2;;
+let _ARM64_SYSREG_TRCSSCSR1 = 0x88CA;;
+let _ARM64_SYSREG_TRCSSCSR2 = 0x88D2;;
+let _ARM64_SYSREG_TRCSSCSR3 = 0x88DA;;
+let _ARM64_SYSREG_TRCSSCSR4 = 0x88E2;;
+let _ARM64_SYSREG_TRCSSCSR5 = 0x88EA;;
+let _ARM64_SYSREG_TRCSSCSR6 = 0x88F2;;
+let _ARM64_SYSREG_TRCSSCSR7 = 0x88FA;;
+let _ARM64_SYSREG_TRCSSPCICR0 = 0x8883;;
+let _ARM64_SYSREG_TRCSSPCICR1 = 0x888B;;
+let _ARM64_SYSREG_TRCSSPCICR2 = 0x8893;;
+let _ARM64_SYSREG_TRCSSPCICR3 = 0x889B;;
+let _ARM64_SYSREG_TRCSSPCICR4 = 0x88A3;;
+let _ARM64_SYSREG_TRCSSPCICR5 = 0x88AB;;
+let _ARM64_SYSREG_TRCSSPCICR6 = 0x88B3;;
+let _ARM64_SYSREG_TRCSSPCICR7 = 0x88BB;;
+let _ARM64_SYSREG_TRCPDCR = 0x88A4;;
+let _ARM64_SYSREG_TRCACVR0 = 0x8900;;
+let _ARM64_SYSREG_TRCACVR1 = 0x8910;;
+let _ARM64_SYSREG_TRCACVR2 = 0x8920;;
+let _ARM64_SYSREG_TRCACVR3 = 0x8930;;
+let _ARM64_SYSREG_TRCACVR4 = 0x8940;;
+let _ARM64_SYSREG_TRCACVR5 = 0x8950;;
+let _ARM64_SYSREG_TRCACVR6 = 0x8960;;
+let _ARM64_SYSREG_TRCACVR7 = 0x8970;;
+let _ARM64_SYSREG_TRCACVR8 = 0x8901;;
+let _ARM64_SYSREG_TRCACVR9 = 0x8911;;
+let _ARM64_SYSREG_TRCACVR10 = 0x8921;;
+let _ARM64_SYSREG_TRCACVR11 = 0x8931;;
+let _ARM64_SYSREG_TRCACVR12 = 0x8941;;
+let _ARM64_SYSREG_TRCACVR13 = 0x8951;;
+let _ARM64_SYSREG_TRCACVR14 = 0x8961;;
+let _ARM64_SYSREG_TRCACVR15 = 0x8971;;
+let _ARM64_SYSREG_TRCACATR0 = 0x8902;;
+let _ARM64_SYSREG_TRCACATR1 = 0x8912;;
+let _ARM64_SYSREG_TRCACATR2 = 0x8922;;
+let _ARM64_SYSREG_TRCACATR3 = 0x8932;;
+let _ARM64_SYSREG_TRCACATR4 = 0x8942;;
+let _ARM64_SYSREG_TRCACATR5 = 0x8952;;
+let _ARM64_SYSREG_TRCACATR6 = 0x8962;;
+let _ARM64_SYSREG_TRCACATR7 = 0x8972;;
+let _ARM64_SYSREG_TRCACATR8 = 0x8903;;
+let _ARM64_SYSREG_TRCACATR9 = 0x8913;;
+let _ARM64_SYSREG_TRCACATR10 = 0x8923;;
+let _ARM64_SYSREG_TRCACATR11 = 0x8933;;
+let _ARM64_SYSREG_TRCACATR12 = 0x8943;;
+let _ARM64_SYSREG_TRCACATR13 = 0x8953;;
+let _ARM64_SYSREG_TRCACATR14 = 0x8963;;
+let _ARM64_SYSREG_TRCACATR15 = 0x8973;;
+let _ARM64_SYSREG_TRCDVCVR0 = 0x8904;;
+let _ARM64_SYSREG_TRCDVCVR1 = 0x8924;;
+let _ARM64_SYSREG_TRCDVCVR2 = 0x8944;;
+let _ARM64_SYSREG_TRCDVCVR3 = 0x8964;;
+let _ARM64_SYSREG_TRCDVCVR4 = 0x8905;;
+let _ARM64_SYSREG_TRCDVCVR5 = 0x8925;;
+let _ARM64_SYSREG_TRCDVCVR6 = 0x8945;;
+let _ARM64_SYSREG_TRCDVCVR7 = 0x8965;;
+let _ARM64_SYSREG_TRCDVCMR0 = 0x8906;;
+let _ARM64_SYSREG_TRCDVCMR1 = 0x8926;;
+let _ARM64_SYSREG_TRCDVCMR2 = 0x8946;;
+let _ARM64_SYSREG_TRCDVCMR3 = 0x8966;;
+let _ARM64_SYSREG_TRCDVCMR4 = 0x8907;;
+let _ARM64_SYSREG_TRCDVCMR5 = 0x8927;;
+let _ARM64_SYSREG_TRCDVCMR6 = 0x8947;;
+let _ARM64_SYSREG_TRCDVCMR7 = 0x8967;;
+let _ARM64_SYSREG_TRCCIDCVR0 = 0x8980;;
+let _ARM64_SYSREG_TRCCIDCVR1 = 0x8990;;
+let _ARM64_SYSREG_TRCCIDCVR2 = 0x89A0;;
+let _ARM64_SYSREG_TRCCIDCVR3 = 0x89B0;;
+let _ARM64_SYSREG_TRCCIDCVR4 = 0x89C0;;
+let _ARM64_SYSREG_TRCCIDCVR5 = 0x89D0;;
+let _ARM64_SYSREG_TRCCIDCVR6 = 0x89E0;;
+let _ARM64_SYSREG_TRCCIDCVR7 = 0x89F0;;
+let _ARM64_SYSREG_TRCVMIDCVR0 = 0x8981;;
+let _ARM64_SYSREG_TRCVMIDCVR1 = 0x8991;;
+let _ARM64_SYSREG_TRCVMIDCVR2 = 0x89A1;;
+let _ARM64_SYSREG_TRCVMIDCVR3 = 0x89B1;;
+let _ARM64_SYSREG_TRCVMIDCVR4 = 0x89C1;;
+let _ARM64_SYSREG_TRCVMIDCVR5 = 0x89D1;;
+let _ARM64_SYSREG_TRCVMIDCVR6 = 0x89E1;;
+let _ARM64_SYSREG_TRCVMIDCVR7 = 0x89F1;;
+let _ARM64_SYSREG_TRCCIDCCTLR0 = 0x8982;;
+let _ARM64_SYSREG_TRCCIDCCTLR1 = 0x898A;;
+let _ARM64_SYSREG_TRCVMIDCCTLR0 = 0x8992;;
+let _ARM64_SYSREG_TRCVMIDCCTLR1 = 0x899A;;
+let _ARM64_SYSREG_TRCITCTRL = 0x8B84;;
+let _ARM64_SYSREG_TRCCLAIMSET = 0x8BC6;;
+let _ARM64_SYSREG_TRCCLAIMCLR = 0x8BCE;;
+let _ARM64_SYSREG_ICC_BPR1_EL1 = 0xC663;;
+let _ARM64_SYSREG_ICC_BPR0_EL1 = 0xC643;;
+let _ARM64_SYSREG_ICC_PMR_EL1 = 0xC230;;
+let _ARM64_SYSREG_ICC_CTLR_EL1 = 0xC664;;
+let _ARM64_SYSREG_ICC_CTLR_EL3 = 0xF664;;
+let _ARM64_SYSREG_ICC_SRE_EL1 = 0xC665;;
+let _ARM64_SYSREG_ICC_SRE_EL2 = 0xE64D;;
+let _ARM64_SYSREG_ICC_SRE_EL3 = 0xF665;;
+let _ARM64_SYSREG_ICC_IGRPEN0_EL1 = 0xC666;;
+let _ARM64_SYSREG_ICC_IGRPEN1_EL1 = 0xC667;;
+let _ARM64_SYSREG_ICC_IGRPEN1_EL3 = 0xF667;;
+let _ARM64_SYSREG_ICC_SEIEN_EL1 = 0xC668;;
+let _ARM64_SYSREG_ICC_AP0R0_EL1 = 0xC644;;
+let _ARM64_SYSREG_ICC_AP0R1_EL1 = 0xC645;;
+let _ARM64_SYSREG_ICC_AP0R2_EL1 = 0xC646;;
+let _ARM64_SYSREG_ICC_AP0R3_EL1 = 0xC647;;
+let _ARM64_SYSREG_ICC_AP1R0_EL1 = 0xC648;;
+let _ARM64_SYSREG_ICC_AP1R1_EL1 = 0xC649;;
+let _ARM64_SYSREG_ICC_AP1R2_EL1 = 0xC64A;;
+let _ARM64_SYSREG_ICC_AP1R3_EL1 = 0xC64B;;
+let _ARM64_SYSREG_ICH_AP0R0_EL2 = 0xE640;;
+let _ARM64_SYSREG_ICH_AP0R1_EL2 = 0xE641;;
+let _ARM64_SYSREG_ICH_AP0R2_EL2 = 0xE642;;
+let _ARM64_SYSREG_ICH_AP0R3_EL2 = 0xE643;;
+let _ARM64_SYSREG_ICH_AP1R0_EL2 = 0xE648;;
+let _ARM64_SYSREG_ICH_AP1R1_EL2 = 0xE649;;
+let _ARM64_SYSREG_ICH_AP1R2_EL2 = 0xE64A;;
+let _ARM64_SYSREG_ICH_AP1R3_EL2 = 0xE64B;;
+let _ARM64_SYSREG_ICH_HCR_EL2 = 0xE658;;
+let _ARM64_SYSREG_ICH_MISR_EL2 = 0xE65A;;
+let _ARM64_SYSREG_ICH_VMCR_EL2 = 0xE65F;;
+let _ARM64_SYSREG_ICH_VSEIR_EL2 = 0xE64C;;
+let _ARM64_SYSREG_ICH_LR0_EL2 = 0xE660;;
+let _ARM64_SYSREG_ICH_LR1_EL2 = 0xE661;;
+let _ARM64_SYSREG_ICH_LR2_EL2 = 0xE662;;
+let _ARM64_SYSREG_ICH_LR3_EL2 = 0xE663;;
+let _ARM64_SYSREG_ICH_LR4_EL2 = 0xE664;;
+let _ARM64_SYSREG_ICH_LR5_EL2 = 0xE665;;
+let _ARM64_SYSREG_ICH_LR6_EL2 = 0xE666;;
+let _ARM64_SYSREG_ICH_LR7_EL2 = 0xE667;;
+let _ARM64_SYSREG_ICH_LR8_EL2 = 0xE668;;
+let _ARM64_SYSREG_ICH_LR9_EL2 = 0xE669;;
+let _ARM64_SYSREG_ICH_LR10_EL2 = 0xE66A;;
+let _ARM64_SYSREG_ICH_LR11_EL2 = 0xE66B;;
+let _ARM64_SYSREG_ICH_LR12_EL2 = 0xE66C;;
+let _ARM64_SYSREG_ICH_LR13_EL2 = 0xE66D;;
+let _ARM64_SYSREG_ICH_LR14_EL2 = 0xE66E;;
+let _ARM64_SYSREG_ICH_LR15_EL2 = 0xE66F;;
+let _ARM64_SYSREG_PAN = 0xC213;;
+let _ARM64_SYSREG_LORSA_EL1 = 0xC520;;
+let _ARM64_SYSREG_LOREA_EL1 = 0xC521;;
+let _ARM64_SYSREG_LORN_EL1 = 0xC522;;
+let _ARM64_SYSREG_LORC_EL1 = 0xC523;;
+let _ARM64_SYSREG_TTBR1_EL2 = 0xE101;;
+let _ARM64_SYSREG_CONTEXTIDR_EL2 = 0xE681;;
+let _ARM64_SYSREG_CNTHV_TVAL_EL2 = 0xE718;;
+let _ARM64_SYSREG_CNTHV_CVAL_EL2 = 0xE71A;;
+let _ARM64_SYSREG_CNTHV_CTL_EL2 = 0xE719;;
+let _ARM64_SYSREG_SCTLR_EL12 = 0xE880;;
+let _ARM64_SYSREG_CPACR_EL12 = 0xE882;;
+let _ARM64_SYSREG_TTBR0_EL12 = 0xE900;;
+let _ARM64_SYSREG_TTBR1_EL12 = 0xE901;;
+let _ARM64_SYSREG_TCR_EL12 = 0xE902;;
+let _ARM64_SYSREG_AFSR0_EL12 = 0xEA88;;
+let _ARM64_SYSREG_AFSR1_EL12 = 0xEA89;;
+let _ARM64_SYSREG_ESR_EL12 = 0xEA90;;
+let _ARM64_SYSREG_FAR_EL12 = 0xEB00;;
+let _ARM64_SYSREG_MAIR_EL12 = 0xED10;;
+let _ARM64_SYSREG_AMAIR_EL12 = 0xED18;;
+let _ARM64_SYSREG_VBAR_EL12 = 0xEE00;;
+let _ARM64_SYSREG_CONTEXTIDR_EL12 = 0xEE81;;
+let _ARM64_SYSREG_CNTKCTL_EL12 = 0xEF08;;
+let _ARM64_SYSREG_CNTP_TVAL_EL02 = 0xEF10;;
+let _ARM64_SYSREG_CNTP_CTL_EL02 = 0xEF11;;
+let _ARM64_SYSREG_CNTP_CVAL_EL02 = 0xEF12;;
+let _ARM64_SYSREG_CNTV_TVAL_EL02 = 0xEF18;;
+let _ARM64_SYSREG_CNTV_CTL_EL02 = 0xEF19;;
+let _ARM64_SYSREG_CNTV_CVAL_EL02 = 0xEF1A;;
+let _ARM64_SYSREG_SPSR_EL12 = 0xEA00;;
+let _ARM64_SYSREG_ELR_EL12 = 0xEA01;;
+let _ARM64_SYSREG_UAO = 0xC214;;
+let _ARM64_SYSREG_PMBLIMITR_EL1 = 0xC4D0;;
+let _ARM64_SYSREG_PMBPTR_EL1 = 0xC4D1;;
+let _ARM64_SYSREG_PMBSR_EL1 = 0xC4D3;;
+let _ARM64_SYSREG_PMBIDR_EL1 = 0xC4D7;;
+let _ARM64_SYSREG_PMSCR_EL2 = 0xE4C8;;
+let _ARM64_SYSREG_PMSCR_EL12 = 0xECC8;;
+let _ARM64_SYSREG_PMSCR_EL1 = 0xC4C8;;
+let _ARM64_SYSREG_PMSICR_EL1 = 0xC4CA;;
+let _ARM64_SYSREG_PMSIRR_EL1 = 0xC4CB;;
+let _ARM64_SYSREG_PMSFCR_EL1 = 0xC4CC;;
+let _ARM64_SYSREG_PMSEVFR_EL1 = 0xC4CD;;
+let _ARM64_SYSREG_PMSLATFR_EL1 = 0xC4CE;;
+let _ARM64_SYSREG_PMSIDR_EL1 = 0xC4CF;;
+let _ARM64_SYSREG_ERRSELR_EL1 = 0xC299;;
+let _ARM64_SYSREG_ERXCTLR_EL1 = 0xC2A1;;
+let _ARM64_SYSREG_ERXSTATUS_EL1 = 0xC2A2;;
+let _ARM64_SYSREG_ERXADDR_EL1 = 0xC2A3;;
+let _ARM64_SYSREG_ERXMISC0_EL1 = 0xC2A8;;
+let _ARM64_SYSREG_ERXMISC1_EL1 = 0xC2A9;;
+let _ARM64_SYSREG_DISR_EL1 = 0xC609;;
+let _ARM64_SYSREG_VDISR_EL2 = 0xE609;;
+let _ARM64_SYSREG_VSESR_EL2 = 0xE293;;
+let _ARM64_SYSREG_APIAKEYLO_EL1 = 0xC108;;
+let _ARM64_SYSREG_APIAKEYHI_EL1 = 0xC109;;
+let _ARM64_SYSREG_APIBKEYLO_EL1 = 0xC10A;;
+let _ARM64_SYSREG_APIBKEYHI_EL1 = 0xC10B;;
+let _ARM64_SYSREG_APDAKEYLO_EL1 = 0xC110;;
+let _ARM64_SYSREG_APDAKEYHI_EL1 = 0xC111;;
+let _ARM64_SYSREG_APDBKEYLO_EL1 = 0xC112;;
+let _ARM64_SYSREG_APDBKEYHI_EL1 = 0xC113;;
+let _ARM64_SYSREG_APGAKEYLO_EL1 = 0xC118;;
+let _ARM64_SYSREG_APGAKEYHI_EL1 = 0xC119;;
+let _ARM64_SYSREG_VSTCR_EL2 = 0xE132;;
+let _ARM64_SYSREG_VSTTBR_EL2 = 0xE130;;
+let _ARM64_SYSREG_CNTHVS_TVAL_EL2 = 0xE720;;
+let _ARM64_SYSREG_CNTHVS_CVAL_EL2 = 0xE722;;
+let _ARM64_SYSREG_CNTHVS_CTL_EL2 = 0xE721;;
+let _ARM64_SYSREG_CNTHPS_TVAL_EL2 = 0xE728;;
+let _ARM64_SYSREG_CNTHPS_CVAL_EL2 = 0xE72A;;
+let _ARM64_SYSREG_CNTHPS_CTL_EL2 = 0xE729;;
+let _ARM64_SYSREG_SDER32_EL2 = 0xE099;;
+let _ARM64_SYSREG_ERXPFGCTL_EL1 = 0xC2A5;;
+let _ARM64_SYSREG_ERXPFGCDN_EL1 = 0xC2A6;;
+let _ARM64_SYSREG_ERXTS_EL1 = 0xC2AF;;
+let _ARM64_SYSREG_ERXMISC2_EL1 = 0xC2AA;;
+let _ARM64_SYSREG_ERXMISC3_EL1 = 0xC2AB;;
+let _ARM64_SYSREG_ERXPFGF_EL1 = 0xC2A4;;
+let _ARM64_SYSREG_MPAM0_EL1 = 0xC529;;
+let _ARM64_SYSREG_MPAM1_EL1 = 0xC528;;
+let _ARM64_SYSREG_MPAM2_EL2 = 0xE528;;
+let _ARM64_SYSREG_MPAM3_EL3 = 0xF528;;
+let _ARM64_SYSREG_MPAM1_EL12 = 0xED28;;
+let _ARM64_SYSREG_MPAMHCR_EL2 = 0xE520;;
+let _ARM64_SYSREG_MPAMVPMV_EL2 = 0xE521;;
+let _ARM64_SYSREG_MPAMVPM0_EL2 = 0xE530;;
+let _ARM64_SYSREG_MPAMVPM1_EL2 = 0xE531;;
+let _ARM64_SYSREG_MPAMVPM2_EL2 = 0xE532;;
+let _ARM64_SYSREG_MPAMVPM3_EL2 = 0xE533;;
+let _ARM64_SYSREG_MPAMVPM4_EL2 = 0xE534;;
+let _ARM64_SYSREG_MPAMVPM5_EL2 = 0xE535;;
+let _ARM64_SYSREG_MPAMVPM6_EL2 = 0xE536;;
+let _ARM64_SYSREG_MPAMVPM7_EL2 = 0xE537;;
+let _ARM64_SYSREG_MPAMIDR_EL1 = 0xC524;;
+let _ARM64_SYSREG_AMCR_EL0 = 0xDE90;;
+let _ARM64_SYSREG_AMCFGR_EL0 = 0xDE91;;
+let _ARM64_SYSREG_AMCGCR_EL0 = 0xDE92;;
+let _ARM64_SYSREG_AMUSERENR_EL0 = 0xDE93;;
+let _ARM64_SYSREG_AMCNTENCLR0_EL0 = 0xDE94;;
+let _ARM64_SYSREG_AMCNTENSET0_EL0 = 0xDE95;;
+let _ARM64_SYSREG_AMEVCNTR00_EL0 = 0xDEA0;;
+let _ARM64_SYSREG_AMEVCNTR01_EL0 = 0xDEA1;;
+let _ARM64_SYSREG_AMEVCNTR02_EL0 = 0xDEA2;;
+let _ARM64_SYSREG_AMEVCNTR03_EL0 = 0xDEA3;;
+let _ARM64_SYSREG_AMEVTYPER00_EL0 = 0xDEB0;;
+let _ARM64_SYSREG_AMEVTYPER01_EL0 = 0xDEB1;;
+let _ARM64_SYSREG_AMEVTYPER02_EL0 = 0xDEB2;;
+let _ARM64_SYSREG_AMEVTYPER03_EL0 = 0xDEB3;;
+let _ARM64_SYSREG_AMCNTENCLR1_EL0 = 0xDE98;;
+let _ARM64_SYSREG_AMCNTENSET1_EL0 = 0xDE99;;
+let _ARM64_SYSREG_AMEVCNTR10_EL0 = 0xDEE0;;
+let _ARM64_SYSREG_AMEVCNTR11_EL0 = 0xDEE1;;
+let _ARM64_SYSREG_AMEVCNTR12_EL0 = 0xDEE2;;
+let _ARM64_SYSREG_AMEVCNTR13_EL0 = 0xDEE3;;
+let _ARM64_SYSREG_AMEVCNTR14_EL0 = 0xDEE4;;
+let _ARM64_SYSREG_AMEVCNTR15_EL0 = 0xDEE5;;
+let _ARM64_SYSREG_AMEVCNTR16_EL0 = 0xDEE6;;
+let _ARM64_SYSREG_AMEVCNTR17_EL0 = 0xDEE7;;
+let _ARM64_SYSREG_AMEVCNTR18_EL0 = 0xDEE8;;
+let _ARM64_SYSREG_AMEVCNTR19_EL0 = 0xDEE9;;
+let _ARM64_SYSREG_AMEVCNTR110_EL0 = 0xDEEA;;
+let _ARM64_SYSREG_AMEVCNTR111_EL0 = 0xDEEB;;
+let _ARM64_SYSREG_AMEVCNTR112_EL0 = 0xDEEC;;
+let _ARM64_SYSREG_AMEVCNTR113_EL0 = 0xDEED;;
+let _ARM64_SYSREG_AMEVCNTR114_EL0 = 0xDEEE;;
+let _ARM64_SYSREG_AMEVCNTR115_EL0 = 0xDEEF;;
+let _ARM64_SYSREG_AMEVTYPER10_EL0 = 0xDEF0;;
+let _ARM64_SYSREG_AMEVTYPER11_EL0 = 0xDEF1;;
+let _ARM64_SYSREG_AMEVTYPER12_EL0 = 0xDEF2;;
+let _ARM64_SYSREG_AMEVTYPER13_EL0 = 0xDEF3;;
+let _ARM64_SYSREG_AMEVTYPER14_EL0 = 0xDEF4;;
+let _ARM64_SYSREG_AMEVTYPER15_EL0 = 0xDEF5;;
+let _ARM64_SYSREG_AMEVTYPER16_EL0 = 0xDEF6;;
+let _ARM64_SYSREG_AMEVTYPER17_EL0 = 0xDEF7;;
+let _ARM64_SYSREG_AMEVTYPER18_EL0 = 0xDEF8;;
+let _ARM64_SYSREG_AMEVTYPER19_EL0 = 0xDEF9;;
+let _ARM64_SYSREG_AMEVTYPER110_EL0 = 0xDEFA;;
+let _ARM64_SYSREG_AMEVTYPER111_EL0 = 0xDEFB;;
+let _ARM64_SYSREG_AMEVTYPER112_EL0 = 0xDEFC;;
+let _ARM64_SYSREG_AMEVTYPER113_EL0 = 0xDEFD;;
+let _ARM64_SYSREG_AMEVTYPER114_EL0 = 0xDEFE;;
+let _ARM64_SYSREG_AMEVTYPER115_EL0 = 0xDEFF;;
+let _ARM64_SYSREG_TRFCR_EL1 = 0xC091;;
+let _ARM64_SYSREG_TRFCR_EL2 = 0xE091;;
+let _ARM64_SYSREG_TRFCR_EL12 = 0xE891;;
+let _ARM64_SYSREG_DIT = 0xDA15;;
+let _ARM64_SYSREG_VNCR_EL2 = 0xE110;;
+let _ARM64_SYSREG_ZCR_EL1 = 0xC090;;
+let _ARM64_SYSREG_ZCR_EL2 = 0xE090;;
+let _ARM64_SYSREG_ZCR_EL3 = 0xF090;;
+let _ARM64_SYSREG_ZCR_EL12 = 0xE890;;
+let _ARM64_SYSREG_CPM_IOACC_CTL_EL3 = 0xFF90;;
+
+let _ARM64_PSTATE_INVALID = 0;;
+let _ARM64_PSTATE_SPSEL = 0x05;;
+let _ARM64_PSTATE_DAIFSET = 0x1e;;
+let _ARM64_PSTATE_DAIFCLR = 0x1f;;
+let _ARM64_PSTATE_PAN = 0x4;;
+let _ARM64_PSTATE_UAO = 0x3;;
+let _ARM64_PSTATE_DIT = 0x1a;;
+
+let _ARM64_VAS_INVALID = 0;;
+let _ARM64_VAS_16B = 1;;
+let _ARM64_VAS_8B = 2;;
+let _ARM64_VAS_4B = 3;;
+let _ARM64_VAS_1B = 4;;
+let _ARM64_VAS_8H = 5;;
+let _ARM64_VAS_4H = 6;;
+let _ARM64_VAS_2H = 7;;
+let _ARM64_VAS_1H = 8;;
+let _ARM64_VAS_4S = 9;;
+let _ARM64_VAS_2S = 10;;
+let _ARM64_VAS_1S = 11;;
+let _ARM64_VAS_2D = 12;;
+let _ARM64_VAS_1D = 13;;
+let _ARM64_VAS_1Q = 14;;
+
+let _ARM64_BARRIER_INVALID = 0;;
+let _ARM64_BARRIER_OSHLD = 0x1;;
+let _ARM64_BARRIER_OSHST = 0x2;;
+let _ARM64_BARRIER_OSH = 0x3;;
+let _ARM64_BARRIER_NSHLD = 0x5;;
+let _ARM64_BARRIER_NSHST = 0x6;;
+let _ARM64_BARRIER_NSH = 0x7;;
+let _ARM64_BARRIER_ISHLD = 0x9;;
+let _ARM64_BARRIER_ISHST = 0xa;;
+let _ARM64_BARRIER_ISH = 0xb;;
+let _ARM64_BARRIER_LD = 0xd;;
+let _ARM64_BARRIER_ST = 0xe;;
+let _ARM64_BARRIER_SY = 0xf;;
+
+let _ARM64_OP_INVALID = 0;;
+let _ARM64_OP_REG = 1;;
+let _ARM64_OP_IMM = 2;;
+let _ARM64_OP_MEM = 3;;
+let _ARM64_OP_FP = 4;;
+let _ARM64_OP_CIMM = 64;;
+let _ARM64_OP_REG_MRS = 65;;
+let _ARM64_OP_REG_MSR = 66;;
+let _ARM64_OP_PSTATE = 67;;
+let _ARM64_OP_SYS = 68;;
+let _ARM64_OP_PREFETCH = 69;;
+let _ARM64_OP_BARRIER = 70;;
+
+let _ARM64_TLBI_INVALID = 0;;
+let _ARM64_TLBI_IPAS2E1IS = 1;;
+let _ARM64_TLBI_IPAS2LE1IS = 2;;
+let _ARM64_TLBI_VMALLE1IS = 3;;
+let _ARM64_TLBI_ALLE2IS = 4;;
+let _ARM64_TLBI_ALLE3IS = 5;;
+let _ARM64_TLBI_VAE1IS = 6;;
+let _ARM64_TLBI_VAE2IS = 7;;
+let _ARM64_TLBI_VAE3IS = 8;;
+let _ARM64_TLBI_ASIDE1IS = 9;;
+let _ARM64_TLBI_VAAE1IS = 10;;
+let _ARM64_TLBI_ALLE1IS = 11;;
+let _ARM64_TLBI_VALE1IS = 12;;
+let _ARM64_TLBI_VALE2IS = 13;;
+let _ARM64_TLBI_VALE3IS = 14;;
+let _ARM64_TLBI_VMALLS12E1IS = 15;;
+let _ARM64_TLBI_VAALE1IS = 16;;
+let _ARM64_TLBI_IPAS2E1 = 17;;
+let _ARM64_TLBI_IPAS2LE1 = 18;;
+let _ARM64_TLBI_VMALLE1 = 19;;
+let _ARM64_TLBI_ALLE2 = 20;;
+let _ARM64_TLBI_ALLE3 = 21;;
+let _ARM64_TLBI_VAE1 = 22;;
+let _ARM64_TLBI_VAE2 = 23;;
+let _ARM64_TLBI_VAE3 = 24;;
+let _ARM64_TLBI_ASIDE1 = 25;;
+let _ARM64_TLBI_VAAE1 = 26;;
+let _ARM64_TLBI_ALLE1 = 27;;
+let _ARM64_TLBI_VALE1 = 28;;
+let _ARM64_TLBI_VALE2 = 29;;
+let _ARM64_TLBI_VALE3 = 30;;
+let _ARM64_TLBI_VMALLS12E1 = 31;;
+let _ARM64_TLBI_VAALE1 = 32;;
+let _ARM64_TLBI_VMALLE1OS = 33;;
+let _ARM64_TLBI_VAE1OS = 34;;
+let _ARM64_TLBI_ASIDE1OS = 35;;
+let _ARM64_TLBI_VAAE1OS = 36;;
+let _ARM64_TLBI_VALE1OS = 37;;
+let _ARM64_TLBI_VAALE1OS = 38;;
+let _ARM64_TLBI_IPAS2E1OS = 39;;
+let _ARM64_TLBI_IPAS2LE1OS = 40;;
+let _ARM64_TLBI_VAE2OS = 41;;
+let _ARM64_TLBI_VALE2OS = 42;;
+let _ARM64_TLBI_VMALLS12E1OS = 43;;
+let _ARM64_TLBI_VAE3OS = 44;;
+let _ARM64_TLBI_VALE3OS = 45;;
+let _ARM64_TLBI_ALLE2OS = 46;;
+let _ARM64_TLBI_ALLE1OS = 47;;
+let _ARM64_TLBI_ALLE3OS = 48;;
+let _ARM64_TLBI_RVAE1 = 49;;
+let _ARM64_TLBI_RVAAE1 = 50;;
+let _ARM64_TLBI_RVALE1 = 51;;
+let _ARM64_TLBI_RVAALE1 = 52;;
+let _ARM64_TLBI_RVAE1IS = 53;;
+let _ARM64_TLBI_RVAAE1IS = 54;;
+let _ARM64_TLBI_RVALE1IS = 55;;
+let _ARM64_TLBI_RVAALE1IS = 56;;
+let _ARM64_TLBI_RVAE1OS = 57;;
+let _ARM64_TLBI_RVAAE1OS = 58;;
+let _ARM64_TLBI_RVALE1OS = 59;;
+let _ARM64_TLBI_RVAALE1OS = 60;;
+let _ARM64_TLBI_RIPAS2E1IS = 61;;
+let _ARM64_TLBI_RIPAS2LE1IS = 62;;
+let _ARM64_TLBI_RIPAS2E1 = 63;;
+let _ARM64_TLBI_RIPAS2LE1 = 64;;
+let _ARM64_TLBI_RIPAS2E1OS = 65;;
+let _ARM64_TLBI_RIPAS2LE1OS = 66;;
+let _ARM64_TLBI_RVAE2 = 67;;
+let _ARM64_TLBI_RVALE2 = 68;;
+let _ARM64_TLBI_RVAE2IS = 69;;
+let _ARM64_TLBI_RVALE2IS = 70;;
+let _ARM64_TLBI_RVAE2OS = 71;;
+let _ARM64_TLBI_RVALE2OS = 72;;
+let _ARM64_TLBI_RVAE3 = 73;;
+let _ARM64_TLBI_RVALE3 = 74;;
+let _ARM64_TLBI_RVAE3IS = 75;;
+let _ARM64_TLBI_RVALE3IS = 76;;
+let _ARM64_TLBI_RVAE3OS = 77;;
+let _ARM64_TLBI_RVALE3OS = 78;;
+let _ARM64_AT_S1E1R = 79;;
+let _ARM64_AT_S1E2R = 80;;
+let _ARM64_AT_S1E3R = 81;;
+let _ARM64_AT_S1E1W = 82;;
+let _ARM64_AT_S1E2W = 83;;
+let _ARM64_AT_S1E3W = 84;;
+let _ARM64_AT_S1E0R = 85;;
+let _ARM64_AT_S1E0W = 86;;
+let _ARM64_AT_S12E1R = 87;;
+let _ARM64_AT_S12E1W = 88;;
+let _ARM64_AT_S12E0R = 89;;
+let _ARM64_AT_S12E0W = 90;;
+let _ARM64_AT_S1E1RP = 91;;
+let _ARM64_AT_S1E1WP = 92;;
+
+let _ARM64_DC_INVALID = 0;;
+let _ARM64_DC_ZVA = 1;;
+let _ARM64_DC_IVAC = 2;;
+let _ARM64_DC_ISW = 3;;
+let _ARM64_DC_CVAC = 4;;
+let _ARM64_DC_CSW = 5;;
+let _ARM64_DC_CVAU = 6;;
+let _ARM64_DC_CIVAC = 7;;
+let _ARM64_DC_CISW = 8;;
+let _ARM64_DC_CVAP = 9;;
+
+let _ARM64_IC_INVALID = 0;;
+let _ARM64_IC_IALLUIS = 1;;
+let _ARM64_IC_IALLU = 2;;
+let _ARM64_IC_IVAU = 3;;
+
+let _ARM64_PRFM_INVALID = 0;;
+let _ARM64_PRFM_PLDL1KEEP = 0x00+1;;
+let _ARM64_PRFM_PLDL1STRM = 0x01+1;;
+let _ARM64_PRFM_PLDL2KEEP = 0x02+1;;
+let _ARM64_PRFM_PLDL2STRM = 0x03+1;;
+let _ARM64_PRFM_PLDL3KEEP = 0x04+1;;
+let _ARM64_PRFM_PLDL3STRM = 0x05+1;;
+let _ARM64_PRFM_PLIL1KEEP = 0x08+1;;
+let _ARM64_PRFM_PLIL1STRM = 0x09+1;;
+let _ARM64_PRFM_PLIL2KEEP = 0x0a+1;;
+let _ARM64_PRFM_PLIL2STRM = 0x0b+1;;
+let _ARM64_PRFM_PLIL3KEEP = 0x0c+1;;
+let _ARM64_PRFM_PLIL3STRM = 0x0d+1;;
+let _ARM64_PRFM_PSTL1KEEP = 0x10+1;;
+let _ARM64_PRFM_PSTL1STRM = 0x11+1;;
+let _ARM64_PRFM_PSTL2KEEP = 0x12+1;;
+let _ARM64_PRFM_PSTL2STRM = 0x13+1;;
+let _ARM64_PRFM_PSTL3KEEP = 0x14+1;;
+let _ARM64_PRFM_PSTL3STRM = 0x15+1;;
+
+let _ARM64_REG_INVALID = 0;;
+let _ARM64_REG_FFR = 1;;
+let _ARM64_REG_FP = 2;;
+let _ARM64_REG_LR = 3;;
+let _ARM64_REG_NZCV = 4;;
+let _ARM64_REG_SP = 5;;
+let _ARM64_REG_WSP = 6;;
+let _ARM64_REG_WZR = 7;;
+let _ARM64_REG_XZR = 8;;
+let _ARM64_REG_B0 = 9;;
+let _ARM64_REG_B1 = 10;;
+let _ARM64_REG_B2 = 11;;
+let _ARM64_REG_B3 = 12;;
+let _ARM64_REG_B4 = 13;;
+let _ARM64_REG_B5 = 14;;
+let _ARM64_REG_B6 = 15;;
+let _ARM64_REG_B7 = 16;;
+let _ARM64_REG_B8 = 17;;
+let _ARM64_REG_B9 = 18;;
+let _ARM64_REG_B10 = 19;;
+let _ARM64_REG_B11 = 20;;
+let _ARM64_REG_B12 = 21;;
+let _ARM64_REG_B13 = 22;;
+let _ARM64_REG_B14 = 23;;
+let _ARM64_REG_B15 = 24;;
+let _ARM64_REG_B16 = 25;;
+let _ARM64_REG_B17 = 26;;
+let _ARM64_REG_B18 = 27;;
+let _ARM64_REG_B19 = 28;;
+let _ARM64_REG_B20 = 29;;
+let _ARM64_REG_B21 = 30;;
+let _ARM64_REG_B22 = 31;;
+let _ARM64_REG_B23 = 32;;
+let _ARM64_REG_B24 = 33;;
+let _ARM64_REG_B25 = 34;;
+let _ARM64_REG_B26 = 35;;
+let _ARM64_REG_B27 = 36;;
+let _ARM64_REG_B28 = 37;;
+let _ARM64_REG_B29 = 38;;
+let _ARM64_REG_B30 = 39;;
+let _ARM64_REG_B31 = 40;;
+let _ARM64_REG_D0 = 41;;
+let _ARM64_REG_D1 = 42;;
+let _ARM64_REG_D2 = 43;;
+let _ARM64_REG_D3 = 44;;
+let _ARM64_REG_D4 = 45;;
+let _ARM64_REG_D5 = 46;;
+let _ARM64_REG_D6 = 47;;
+let _ARM64_REG_D7 = 48;;
+let _ARM64_REG_D8 = 49;;
+let _ARM64_REG_D9 = 50;;
+let _ARM64_REG_D10 = 51;;
+let _ARM64_REG_D11 = 52;;
+let _ARM64_REG_D12 = 53;;
+let _ARM64_REG_D13 = 54;;
+let _ARM64_REG_D14 = 55;;
+let _ARM64_REG_D15 = 56;;
+let _ARM64_REG_D16 = 57;;
+let _ARM64_REG_D17 = 58;;
+let _ARM64_REG_D18 = 59;;
+let _ARM64_REG_D19 = 60;;
+let _ARM64_REG_D20 = 61;;
+let _ARM64_REG_D21 = 62;;
+let _ARM64_REG_D22 = 63;;
+let _ARM64_REG_D23 = 64;;
+let _ARM64_REG_D24 = 65;;
+let _ARM64_REG_D25 = 66;;
+let _ARM64_REG_D26 = 67;;
+let _ARM64_REG_D27 = 68;;
+let _ARM64_REG_D28 = 69;;
+let _ARM64_REG_D29 = 70;;
+let _ARM64_REG_D30 = 71;;
+let _ARM64_REG_D31 = 72;;
+let _ARM64_REG_H0 = 73;;
+let _ARM64_REG_H1 = 74;;
+let _ARM64_REG_H2 = 75;;
+let _ARM64_REG_H3 = 76;;
+let _ARM64_REG_H4 = 77;;
+let _ARM64_REG_H5 = 78;;
+let _ARM64_REG_H6 = 79;;
+let _ARM64_REG_H7 = 80;;
+let _ARM64_REG_H8 = 81;;
+let _ARM64_REG_H9 = 82;;
+let _ARM64_REG_H10 = 83;;
+let _ARM64_REG_H11 = 84;;
+let _ARM64_REG_H12 = 85;;
+let _ARM64_REG_H13 = 86;;
+let _ARM64_REG_H14 = 87;;
+let _ARM64_REG_H15 = 88;;
+let _ARM64_REG_H16 = 89;;
+let _ARM64_REG_H17 = 90;;
+let _ARM64_REG_H18 = 91;;
+let _ARM64_REG_H19 = 92;;
+let _ARM64_REG_H20 = 93;;
+let _ARM64_REG_H21 = 94;;
+let _ARM64_REG_H22 = 95;;
+let _ARM64_REG_H23 = 96;;
+let _ARM64_REG_H24 = 97;;
+let _ARM64_REG_H25 = 98;;
+let _ARM64_REG_H26 = 99;;
+let _ARM64_REG_H27 = 100;;
+let _ARM64_REG_H28 = 101;;
+let _ARM64_REG_H29 = 102;;
+let _ARM64_REG_H30 = 103;;
+let _ARM64_REG_H31 = 104;;
+let _ARM64_REG_P0 = 105;;
+let _ARM64_REG_P1 = 106;;
+let _ARM64_REG_P2 = 107;;
+let _ARM64_REG_P3 = 108;;
+let _ARM64_REG_P4 = 109;;
+let _ARM64_REG_P5 = 110;;
+let _ARM64_REG_P6 = 111;;
+let _ARM64_REG_P7 = 112;;
+let _ARM64_REG_P8 = 113;;
+let _ARM64_REG_P9 = 114;;
+let _ARM64_REG_P10 = 115;;
+let _ARM64_REG_P11 = 116;;
+let _ARM64_REG_P12 = 117;;
+let _ARM64_REG_P13 = 118;;
+let _ARM64_REG_P14 = 119;;
+let _ARM64_REG_P15 = 120;;
+let _ARM64_REG_Q0 = 121;;
+let _ARM64_REG_Q1 = 122;;
+let _ARM64_REG_Q2 = 123;;
+let _ARM64_REG_Q3 = 124;;
+let _ARM64_REG_Q4 = 125;;
+let _ARM64_REG_Q5 = 126;;
+let _ARM64_REG_Q6 = 127;;
+let _ARM64_REG_Q7 = 128;;
+let _ARM64_REG_Q8 = 129;;
+let _ARM64_REG_Q9 = 130;;
+let _ARM64_REG_Q10 = 131;;
+let _ARM64_REG_Q11 = 132;;
+let _ARM64_REG_Q12 = 133;;
+let _ARM64_REG_Q13 = 134;;
+let _ARM64_REG_Q14 = 135;;
+let _ARM64_REG_Q15 = 136;;
+let _ARM64_REG_Q16 = 137;;
+let _ARM64_REG_Q17 = 138;;
+let _ARM64_REG_Q18 = 139;;
+let _ARM64_REG_Q19 = 140;;
+let _ARM64_REG_Q20 = 141;;
+let _ARM64_REG_Q21 = 142;;
+let _ARM64_REG_Q22 = 143;;
+let _ARM64_REG_Q23 = 144;;
+let _ARM64_REG_Q24 = 145;;
+let _ARM64_REG_Q25 = 146;;
+let _ARM64_REG_Q26 = 147;;
+let _ARM64_REG_Q27 = 148;;
+let _ARM64_REG_Q28 = 149;;
+let _ARM64_REG_Q29 = 150;;
+let _ARM64_REG_Q30 = 151;;
+let _ARM64_REG_Q31 = 152;;
+let _ARM64_REG_S0 = 153;;
+let _ARM64_REG_S1 = 154;;
+let _ARM64_REG_S2 = 155;;
+let _ARM64_REG_S3 = 156;;
+let _ARM64_REG_S4 = 157;;
+let _ARM64_REG_S5 = 158;;
+let _ARM64_REG_S6 = 159;;
+let _ARM64_REG_S7 = 160;;
+let _ARM64_REG_S8 = 161;;
+let _ARM64_REG_S9 = 162;;
+let _ARM64_REG_S10 = 163;;
+let _ARM64_REG_S11 = 164;;
+let _ARM64_REG_S12 = 165;;
+let _ARM64_REG_S13 = 166;;
+let _ARM64_REG_S14 = 167;;
+let _ARM64_REG_S15 = 168;;
+let _ARM64_REG_S16 = 169;;
+let _ARM64_REG_S17 = 170;;
+let _ARM64_REG_S18 = 171;;
+let _ARM64_REG_S19 = 172;;
+let _ARM64_REG_S20 = 173;;
+let _ARM64_REG_S21 = 174;;
+let _ARM64_REG_S22 = 175;;
+let _ARM64_REG_S23 = 176;;
+let _ARM64_REG_S24 = 177;;
+let _ARM64_REG_S25 = 178;;
+let _ARM64_REG_S26 = 179;;
+let _ARM64_REG_S27 = 180;;
+let _ARM64_REG_S28 = 181;;
+let _ARM64_REG_S29 = 182;;
+let _ARM64_REG_S30 = 183;;
+let _ARM64_REG_S31 = 184;;
+let _ARM64_REG_W0 = 185;;
+let _ARM64_REG_W1 = 186;;
+let _ARM64_REG_W2 = 187;;
+let _ARM64_REG_W3 = 188;;
+let _ARM64_REG_W4 = 189;;
+let _ARM64_REG_W5 = 190;;
+let _ARM64_REG_W6 = 191;;
+let _ARM64_REG_W7 = 192;;
+let _ARM64_REG_W8 = 193;;
+let _ARM64_REG_W9 = 194;;
+let _ARM64_REG_W10 = 195;;
+let _ARM64_REG_W11 = 196;;
+let _ARM64_REG_W12 = 197;;
+let _ARM64_REG_W13 = 198;;
+let _ARM64_REG_W14 = 199;;
+let _ARM64_REG_W15 = 200;;
+let _ARM64_REG_W16 = 201;;
+let _ARM64_REG_W17 = 202;;
+let _ARM64_REG_W18 = 203;;
+let _ARM64_REG_W19 = 204;;
+let _ARM64_REG_W20 = 205;;
+let _ARM64_REG_W21 = 206;;
+let _ARM64_REG_W22 = 207;;
+let _ARM64_REG_W23 = 208;;
+let _ARM64_REG_W24 = 209;;
+let _ARM64_REG_W25 = 210;;
+let _ARM64_REG_W26 = 211;;
+let _ARM64_REG_W27 = 212;;
+let _ARM64_REG_W28 = 213;;
+let _ARM64_REG_W29 = 214;;
+let _ARM64_REG_W30 = 215;;
+let _ARM64_REG_X0 = 216;;
+let _ARM64_REG_X1 = 217;;
+let _ARM64_REG_X2 = 218;;
+let _ARM64_REG_X3 = 219;;
+let _ARM64_REG_X4 = 220;;
+let _ARM64_REG_X5 = 221;;
+let _ARM64_REG_X6 = 222;;
+let _ARM64_REG_X7 = 223;;
+let _ARM64_REG_X8 = 224;;
+let _ARM64_REG_X9 = 225;;
+let _ARM64_REG_X10 = 226;;
+let _ARM64_REG_X11 = 227;;
+let _ARM64_REG_X12 = 228;;
+let _ARM64_REG_X13 = 229;;
+let _ARM64_REG_X14 = 230;;
+let _ARM64_REG_X15 = 231;;
+let _ARM64_REG_X16 = 232;;
+let _ARM64_REG_X17 = 233;;
+let _ARM64_REG_X18 = 234;;
+let _ARM64_REG_X19 = 235;;
+let _ARM64_REG_X20 = 236;;
+let _ARM64_REG_X21 = 237;;
+let _ARM64_REG_X22 = 238;;
+let _ARM64_REG_X23 = 239;;
+let _ARM64_REG_X24 = 240;;
+let _ARM64_REG_X25 = 241;;
+let _ARM64_REG_X26 = 242;;
+let _ARM64_REG_X27 = 243;;
+let _ARM64_REG_X28 = 244;;
+let _ARM64_REG_Z0 = 245;;
+let _ARM64_REG_Z1 = 246;;
+let _ARM64_REG_Z2 = 247;;
+let _ARM64_REG_Z3 = 248;;
+let _ARM64_REG_Z4 = 249;;
+let _ARM64_REG_Z5 = 250;;
+let _ARM64_REG_Z6 = 251;;
+let _ARM64_REG_Z7 = 252;;
+let _ARM64_REG_Z8 = 253;;
+let _ARM64_REG_Z9 = 254;;
+let _ARM64_REG_Z10 = 255;;
+let _ARM64_REG_Z11 = 256;;
+let _ARM64_REG_Z12 = 257;;
+let _ARM64_REG_Z13 = 258;;
+let _ARM64_REG_Z14 = 259;;
+let _ARM64_REG_Z15 = 260;;
+let _ARM64_REG_Z16 = 261;;
+let _ARM64_REG_Z17 = 262;;
+let _ARM64_REG_Z18 = 263;;
+let _ARM64_REG_Z19 = 264;;
+let _ARM64_REG_Z20 = 265;;
+let _ARM64_REG_Z21 = 266;;
+let _ARM64_REG_Z22 = 267;;
+let _ARM64_REG_Z23 = 268;;
+let _ARM64_REG_Z24 = 269;;
+let _ARM64_REG_Z25 = 270;;
+let _ARM64_REG_Z26 = 271;;
+let _ARM64_REG_Z27 = 272;;
+let _ARM64_REG_Z28 = 273;;
+let _ARM64_REG_Z29 = 274;;
+let _ARM64_REG_Z30 = 275;;
+let _ARM64_REG_Z31 = 276;;
+let _ARM64_REG_V0 = 277;;
+let _ARM64_REG_V1 = 278;;
+let _ARM64_REG_V2 = 279;;
+let _ARM64_REG_V3 = 280;;
+let _ARM64_REG_V4 = 281;;
+let _ARM64_REG_V5 = 282;;
+let _ARM64_REG_V6 = 283;;
+let _ARM64_REG_V7 = 284;;
+let _ARM64_REG_V8 = 285;;
+let _ARM64_REG_V9 = 286;;
+let _ARM64_REG_V10 = 287;;
+let _ARM64_REG_V11 = 288;;
+let _ARM64_REG_V12 = 289;;
+let _ARM64_REG_V13 = 290;;
+let _ARM64_REG_V14 = 291;;
+let _ARM64_REG_V15 = 292;;
+let _ARM64_REG_V16 = 293;;
+let _ARM64_REG_V17 = 294;;
+let _ARM64_REG_V18 = 295;;
+let _ARM64_REG_V19 = 296;;
+let _ARM64_REG_V20 = 297;;
+let _ARM64_REG_V21 = 298;;
+let _ARM64_REG_V22 = 299;;
+let _ARM64_REG_V23 = 300;;
+let _ARM64_REG_V24 = 301;;
+let _ARM64_REG_V25 = 302;;
+let _ARM64_REG_V26 = 303;;
+let _ARM64_REG_V27 = 304;;
+let _ARM64_REG_V28 = 305;;
+let _ARM64_REG_V29 = 306;;
+let _ARM64_REG_V30 = 307;;
+let _ARM64_REG_V31 = 308;;
+let _ARM64_REG_ENDING = 309;;
+let _ARM64_REG_IP0 = _ARM64_REG_X16;;
+let _ARM64_REG_IP1 = _ARM64_REG_X17;;
+let _ARM64_REG_X29 = _ARM64_REG_FP;;
+let _ARM64_REG_X30 = _ARM64_REG_LR;;
+
+let _ARM64_INS_INVALID = 0;;
+let _ARM64_INS_ABS = 1;;
+let _ARM64_INS_ADC = 2;;
+let _ARM64_INS_ADCS = 3;;
+let _ARM64_INS_ADD = 4;;
+let _ARM64_INS_ADDHN = 5;;
+let _ARM64_INS_ADDHN2 = 6;;
+let _ARM64_INS_ADDP = 7;;
+let _ARM64_INS_ADDPL = 8;;
+let _ARM64_INS_ADDS = 9;;
+let _ARM64_INS_ADDV = 10;;
+let _ARM64_INS_ADDVL = 11;;
+let _ARM64_INS_ADR = 12;;
+let _ARM64_INS_ADRP = 13;;
+let _ARM64_INS_AESD = 14;;
+let _ARM64_INS_AESE = 15;;
+let _ARM64_INS_AESIMC = 16;;
+let _ARM64_INS_AESMC = 17;;
+let _ARM64_INS_AND = 18;;
+let _ARM64_INS_ANDS = 19;;
+let _ARM64_INS_ANDV = 20;;
+let _ARM64_INS_ASR = 21;;
+let _ARM64_INS_ASRD = 22;;
+let _ARM64_INS_ASRR = 23;;
+let _ARM64_INS_ASRV = 24;;
+let _ARM64_INS_AUTDA = 25;;
+let _ARM64_INS_AUTDB = 26;;
+let _ARM64_INS_AUTDZA = 27;;
+let _ARM64_INS_AUTDZB = 28;;
+let _ARM64_INS_AUTIA = 29;;
+let _ARM64_INS_AUTIA1716 = 30;;
+let _ARM64_INS_AUTIASP = 31;;
+let _ARM64_INS_AUTIAZ = 32;;
+let _ARM64_INS_AUTIB = 33;;
+let _ARM64_INS_AUTIB1716 = 34;;
+let _ARM64_INS_AUTIBSP = 35;;
+let _ARM64_INS_AUTIBZ = 36;;
+let _ARM64_INS_AUTIZA = 37;;
+let _ARM64_INS_AUTIZB = 38;;
+let _ARM64_INS_B = 39;;
+let _ARM64_INS_BCAX = 40;;
+let _ARM64_INS_BFM = 41;;
+let _ARM64_INS_BIC = 42;;
+let _ARM64_INS_BICS = 43;;
+let _ARM64_INS_BIF = 44;;
+let _ARM64_INS_BIT = 45;;
+let _ARM64_INS_BL = 46;;
+let _ARM64_INS_BLR = 47;;
+let _ARM64_INS_BLRAA = 48;;
+let _ARM64_INS_BLRAAZ = 49;;
+let _ARM64_INS_BLRAB = 50;;
+let _ARM64_INS_BLRABZ = 51;;
+let _ARM64_INS_BR = 52;;
+let _ARM64_INS_BRAA = 53;;
+let _ARM64_INS_BRAAZ = 54;;
+let _ARM64_INS_BRAB = 55;;
+let _ARM64_INS_BRABZ = 56;;
+let _ARM64_INS_BRK = 57;;
+let _ARM64_INS_BRKA = 58;;
+let _ARM64_INS_BRKAS = 59;;
+let _ARM64_INS_BRKB = 60;;
+let _ARM64_INS_BRKBS = 61;;
+let _ARM64_INS_BRKN = 62;;
+let _ARM64_INS_BRKNS = 63;;
+let _ARM64_INS_BRKPA = 64;;
+let _ARM64_INS_BRKPAS = 65;;
+let _ARM64_INS_BRKPB = 66;;
+let _ARM64_INS_BRKPBS = 67;;
+let _ARM64_INS_BSL = 68;;
+let _ARM64_INS_CAS = 69;;
+let _ARM64_INS_CASA = 70;;
+let _ARM64_INS_CASAB = 71;;
+let _ARM64_INS_CASAH = 72;;
+let _ARM64_INS_CASAL = 73;;
+let _ARM64_INS_CASALB = 74;;
+let _ARM64_INS_CASALH = 75;;
+let _ARM64_INS_CASB = 76;;
+let _ARM64_INS_CASH = 77;;
+let _ARM64_INS_CASL = 78;;
+let _ARM64_INS_CASLB = 79;;
+let _ARM64_INS_CASLH = 80;;
+let _ARM64_INS_CASP = 81;;
+let _ARM64_INS_CASPA = 82;;
+let _ARM64_INS_CASPAL = 83;;
+let _ARM64_INS_CASPL = 84;;
+let _ARM64_INS_CBNZ = 85;;
+let _ARM64_INS_CBZ = 86;;
+let _ARM64_INS_CCMN = 87;;
+let _ARM64_INS_CCMP = 88;;
+let _ARM64_INS_CFINV = 89;;
+let _ARM64_INS_CINC = 90;;
+let _ARM64_INS_CINV = 91;;
+let _ARM64_INS_CLASTA = 92;;
+let _ARM64_INS_CLASTB = 93;;
+let _ARM64_INS_CLREX = 94;;
+let _ARM64_INS_CLS = 95;;
+let _ARM64_INS_CLZ = 96;;
+let _ARM64_INS_CMEQ = 97;;
+let _ARM64_INS_CMGE = 98;;
+let _ARM64_INS_CMGT = 99;;
+let _ARM64_INS_CMHI = 100;;
+let _ARM64_INS_CMHS = 101;;
+let _ARM64_INS_CMLE = 102;;
+let _ARM64_INS_CMLO = 103;;
+let _ARM64_INS_CMLS = 104;;
+let _ARM64_INS_CMLT = 105;;
+let _ARM64_INS_CMN = 106;;
+let _ARM64_INS_CMP = 107;;
+let _ARM64_INS_CMPEQ = 108;;
+let _ARM64_INS_CMPGE = 109;;
+let _ARM64_INS_CMPGT = 110;;
+let _ARM64_INS_CMPHI = 111;;
+let _ARM64_INS_CMPHS = 112;;
+let _ARM64_INS_CMPLE = 113;;
+let _ARM64_INS_CMPLO = 114;;
+let _ARM64_INS_CMPLS = 115;;
+let _ARM64_INS_CMPLT = 116;;
+let _ARM64_INS_CMPNE = 117;;
+let _ARM64_INS_CMTST = 118;;
+let _ARM64_INS_CNEG = 119;;
+let _ARM64_INS_CNOT = 120;;
+let _ARM64_INS_CNT = 121;;
+let _ARM64_INS_CNTB = 122;;
+let _ARM64_INS_CNTD = 123;;
+let _ARM64_INS_CNTH = 124;;
+let _ARM64_INS_CNTP = 125;;
+let _ARM64_INS_CNTW = 126;;
+let _ARM64_INS_COMPACT = 127;;
+let _ARM64_INS_CPY = 128;;
+let _ARM64_INS_CRC32B = 129;;
+let _ARM64_INS_CRC32CB = 130;;
+let _ARM64_INS_CRC32CH = 131;;
+let _ARM64_INS_CRC32CW = 132;;
+let _ARM64_INS_CRC32CX = 133;;
+let _ARM64_INS_CRC32H = 134;;
+let _ARM64_INS_CRC32W = 135;;
+let _ARM64_INS_CRC32X = 136;;
+let _ARM64_INS_CSDB = 137;;
+let _ARM64_INS_CSEL = 138;;
+let _ARM64_INS_CSET = 139;;
+let _ARM64_INS_CSETM = 140;;
+let _ARM64_INS_CSINC = 141;;
+let _ARM64_INS_CSINV = 142;;
+let _ARM64_INS_CSNEG = 143;;
+let _ARM64_INS_CTERMEQ = 144;;
+let _ARM64_INS_CTERMNE = 145;;
+let _ARM64_INS_DCPS1 = 146;;
+let _ARM64_INS_DCPS2 = 147;;
+let _ARM64_INS_DCPS3 = 148;;
+let _ARM64_INS_DECB = 149;;
+let _ARM64_INS_DECD = 150;;
+let _ARM64_INS_DECH = 151;;
+let _ARM64_INS_DECP = 152;;
+let _ARM64_INS_DECW = 153;;
+let _ARM64_INS_DMB = 154;;
+let _ARM64_INS_DRPS = 155;;
+let _ARM64_INS_DSB = 156;;
+let _ARM64_INS_DUP = 157;;
+let _ARM64_INS_DUPM = 158;;
+let _ARM64_INS_EON = 159;;
+let _ARM64_INS_EOR = 160;;
+let _ARM64_INS_EOR3 = 161;;
+let _ARM64_INS_EORS = 162;;
+let _ARM64_INS_EORV = 163;;
+let _ARM64_INS_ERET = 164;;
+let _ARM64_INS_ERETAA = 165;;
+let _ARM64_INS_ERETAB = 166;;
+let _ARM64_INS_ESB = 167;;
+let _ARM64_INS_EXT = 168;;
+let _ARM64_INS_EXTR = 169;;
+let _ARM64_INS_FABD = 170;;
+let _ARM64_INS_FABS = 171;;
+let _ARM64_INS_FACGE = 172;;
+let _ARM64_INS_FACGT = 173;;
+let _ARM64_INS_FACLE = 174;;
+let _ARM64_INS_FACLT = 175;;
+let _ARM64_INS_FADD = 176;;
+let _ARM64_INS_FADDA = 177;;
+let _ARM64_INS_FADDP = 178;;
+let _ARM64_INS_FADDV = 179;;
+let _ARM64_INS_FCADD = 180;;
+let _ARM64_INS_FCCMP = 181;;
+let _ARM64_INS_FCCMPE = 182;;
+let _ARM64_INS_FCMEQ = 183;;
+let _ARM64_INS_FCMGE = 184;;
+let _ARM64_INS_FCMGT = 185;;
+let _ARM64_INS_FCMLA = 186;;
+let _ARM64_INS_FCMLE = 187;;
+let _ARM64_INS_FCMLT = 188;;
+let _ARM64_INS_FCMNE = 189;;
+let _ARM64_INS_FCMP = 190;;
+let _ARM64_INS_FCMPE = 191;;
+let _ARM64_INS_FCMUO = 192;;
+let _ARM64_INS_FCPY = 193;;
+let _ARM64_INS_FCSEL = 194;;
+let _ARM64_INS_FCVT = 195;;
+let _ARM64_INS_FCVTAS = 196;;
+let _ARM64_INS_FCVTAU = 197;;
+let _ARM64_INS_FCVTL = 198;;
+let _ARM64_INS_FCVTL2 = 199;;
+let _ARM64_INS_FCVTMS = 200;;
+let _ARM64_INS_FCVTMU = 201;;
+let _ARM64_INS_FCVTN = 202;;
+let _ARM64_INS_FCVTN2 = 203;;
+let _ARM64_INS_FCVTNS = 204;;
+let _ARM64_INS_FCVTNU = 205;;
+let _ARM64_INS_FCVTPS = 206;;
+let _ARM64_INS_FCVTPU = 207;;
+let _ARM64_INS_FCVTXN = 208;;
+let _ARM64_INS_FCVTXN2 = 209;;
+let _ARM64_INS_FCVTZS = 210;;
+let _ARM64_INS_FCVTZU = 211;;
+let _ARM64_INS_FDIV = 212;;
+let _ARM64_INS_FDIVR = 213;;
+let _ARM64_INS_FDUP = 214;;
+let _ARM64_INS_FEXPA = 215;;
+let _ARM64_INS_FJCVTZS = 216;;
+let _ARM64_INS_FMAD = 217;;
+let _ARM64_INS_FMADD = 218;;
+let _ARM64_INS_FMAX = 219;;
+let _ARM64_INS_FMAXNM = 220;;
+let _ARM64_INS_FMAXNMP = 221;;
+let _ARM64_INS_FMAXNMV = 222;;
+let _ARM64_INS_FMAXP = 223;;
+let _ARM64_INS_FMAXV = 224;;
+let _ARM64_INS_FMIN = 225;;
+let _ARM64_INS_FMINNM = 226;;
+let _ARM64_INS_FMINNMP = 227;;
+let _ARM64_INS_FMINNMV = 228;;
+let _ARM64_INS_FMINP = 229;;
+let _ARM64_INS_FMINV = 230;;
+let _ARM64_INS_FMLA = 231;;
+let _ARM64_INS_FMLS = 232;;
+let _ARM64_INS_FMOV = 233;;
+let _ARM64_INS_FMSB = 234;;
+let _ARM64_INS_FMSUB = 235;;
+let _ARM64_INS_FMUL = 236;;
+let _ARM64_INS_FMULX = 237;;
+let _ARM64_INS_FNEG = 238;;
+let _ARM64_INS_FNMAD = 239;;
+let _ARM64_INS_FNMADD = 240;;
+let _ARM64_INS_FNMLA = 241;;
+let _ARM64_INS_FNMLS = 242;;
+let _ARM64_INS_FNMSB = 243;;
+let _ARM64_INS_FNMSUB = 244;;
+let _ARM64_INS_FNMUL = 245;;
+let _ARM64_INS_FRECPE = 246;;
+let _ARM64_INS_FRECPS = 247;;
+let _ARM64_INS_FRECPX = 248;;
+let _ARM64_INS_FRINTA = 249;;
+let _ARM64_INS_FRINTI = 250;;
+let _ARM64_INS_FRINTM = 251;;
+let _ARM64_INS_FRINTN = 252;;
+let _ARM64_INS_FRINTP = 253;;
+let _ARM64_INS_FRINTX = 254;;
+let _ARM64_INS_FRINTZ = 255;;
+let _ARM64_INS_FRSQRTE = 256;;
+let _ARM64_INS_FRSQRTS = 257;;
+let _ARM64_INS_FSCALE = 258;;
+let _ARM64_INS_FSQRT = 259;;
+let _ARM64_INS_FSUB = 260;;
+let _ARM64_INS_FSUBR = 261;;
+let _ARM64_INS_FTMAD = 262;;
+let _ARM64_INS_FTSMUL = 263;;
+let _ARM64_INS_FTSSEL = 264;;
+let _ARM64_INS_HINT = 265;;
+let _ARM64_INS_HLT = 266;;
+let _ARM64_INS_HVC = 267;;
+let _ARM64_INS_INCB = 268;;
+let _ARM64_INS_INCD = 269;;
+let _ARM64_INS_INCH = 270;;
+let _ARM64_INS_INCP = 271;;
+let _ARM64_INS_INCW = 272;;
+let _ARM64_INS_INDEX = 273;;
+let _ARM64_INS_INS = 274;;
+let _ARM64_INS_INSR = 275;;
+let _ARM64_INS_ISB = 276;;
+let _ARM64_INS_LASTA = 277;;
+let _ARM64_INS_LASTB = 278;;
+let _ARM64_INS_LD1 = 279;;
+let _ARM64_INS_LD1B = 280;;
+let _ARM64_INS_LD1D = 281;;
+let _ARM64_INS_LD1H = 282;;
+let _ARM64_INS_LD1R = 283;;
+let _ARM64_INS_LD1RB = 284;;
+let _ARM64_INS_LD1RD = 285;;
+let _ARM64_INS_LD1RH = 286;;
+let _ARM64_INS_LD1RQB = 287;;
+let _ARM64_INS_LD1RQD = 288;;
+let _ARM64_INS_LD1RQH = 289;;
+let _ARM64_INS_LD1RQW = 290;;
+let _ARM64_INS_LD1RSB = 291;;
+let _ARM64_INS_LD1RSH = 292;;
+let _ARM64_INS_LD1RSW = 293;;
+let _ARM64_INS_LD1RW = 294;;
+let _ARM64_INS_LD1SB = 295;;
+let _ARM64_INS_LD1SH = 296;;
+let _ARM64_INS_LD1SW = 297;;
+let _ARM64_INS_LD1W = 298;;
+let _ARM64_INS_LD2 = 299;;
+let _ARM64_INS_LD2B = 300;;
+let _ARM64_INS_LD2D = 301;;
+let _ARM64_INS_LD2H = 302;;
+let _ARM64_INS_LD2R = 303;;
+let _ARM64_INS_LD2W = 304;;
+let _ARM64_INS_LD3 = 305;;
+let _ARM64_INS_LD3B = 306;;
+let _ARM64_INS_LD3D = 307;;
+let _ARM64_INS_LD3H = 308;;
+let _ARM64_INS_LD3R = 309;;
+let _ARM64_INS_LD3W = 310;;
+let _ARM64_INS_LD4 = 311;;
+let _ARM64_INS_LD4B = 312;;
+let _ARM64_INS_LD4D = 313;;
+let _ARM64_INS_LD4H = 314;;
+let _ARM64_INS_LD4R = 315;;
+let _ARM64_INS_LD4W = 316;;
+let _ARM64_INS_LDADD = 317;;
+let _ARM64_INS_LDADDA = 318;;
+let _ARM64_INS_LDADDAB = 319;;
+let _ARM64_INS_LDADDAH = 320;;
+let _ARM64_INS_LDADDAL = 321;;
+let _ARM64_INS_LDADDALB = 322;;
+let _ARM64_INS_LDADDALH = 323;;
+let _ARM64_INS_LDADDB = 324;;
+let _ARM64_INS_LDADDH = 325;;
+let _ARM64_INS_LDADDL = 326;;
+let _ARM64_INS_LDADDLB = 327;;
+let _ARM64_INS_LDADDLH = 328;;
+let _ARM64_INS_LDAPR = 329;;
+let _ARM64_INS_LDAPRB = 330;;
+let _ARM64_INS_LDAPRH = 331;;
+let _ARM64_INS_LDAPUR = 332;;
+let _ARM64_INS_LDAPURB = 333;;
+let _ARM64_INS_LDAPURH = 334;;
+let _ARM64_INS_LDAPURSB = 335;;
+let _ARM64_INS_LDAPURSH = 336;;
+let _ARM64_INS_LDAPURSW = 337;;
+let _ARM64_INS_LDAR = 338;;
+let _ARM64_INS_LDARB = 339;;
+let _ARM64_INS_LDARH = 340;;
+let _ARM64_INS_LDAXP = 341;;
+let _ARM64_INS_LDAXR = 342;;
+let _ARM64_INS_LDAXRB = 343;;
+let _ARM64_INS_LDAXRH = 344;;
+let _ARM64_INS_LDCLR = 345;;
+let _ARM64_INS_LDCLRA = 346;;
+let _ARM64_INS_LDCLRAB = 347;;
+let _ARM64_INS_LDCLRAH = 348;;
+let _ARM64_INS_LDCLRAL = 349;;
+let _ARM64_INS_LDCLRALB = 350;;
+let _ARM64_INS_LDCLRALH = 351;;
+let _ARM64_INS_LDCLRB = 352;;
+let _ARM64_INS_LDCLRH = 353;;
+let _ARM64_INS_LDCLRL = 354;;
+let _ARM64_INS_LDCLRLB = 355;;
+let _ARM64_INS_LDCLRLH = 356;;
+let _ARM64_INS_LDEOR = 357;;
+let _ARM64_INS_LDEORA = 358;;
+let _ARM64_INS_LDEORAB = 359;;
+let _ARM64_INS_LDEORAH = 360;;
+let _ARM64_INS_LDEORAL = 361;;
+let _ARM64_INS_LDEORALB = 362;;
+let _ARM64_INS_LDEORALH = 363;;
+let _ARM64_INS_LDEORB = 364;;
+let _ARM64_INS_LDEORH = 365;;
+let _ARM64_INS_LDEORL = 366;;
+let _ARM64_INS_LDEORLB = 367;;
+let _ARM64_INS_LDEORLH = 368;;
+let _ARM64_INS_LDFF1B = 369;;
+let _ARM64_INS_LDFF1D = 370;;
+let _ARM64_INS_LDFF1H = 371;;
+let _ARM64_INS_LDFF1SB = 372;;
+let _ARM64_INS_LDFF1SH = 373;;
+let _ARM64_INS_LDFF1SW = 374;;
+let _ARM64_INS_LDFF1W = 375;;
+let _ARM64_INS_LDLAR = 376;;
+let _ARM64_INS_LDLARB = 377;;
+let _ARM64_INS_LDLARH = 378;;
+let _ARM64_INS_LDNF1B = 379;;
+let _ARM64_INS_LDNF1D = 380;;
+let _ARM64_INS_LDNF1H = 381;;
+let _ARM64_INS_LDNF1SB = 382;;
+let _ARM64_INS_LDNF1SH = 383;;
+let _ARM64_INS_LDNF1SW = 384;;
+let _ARM64_INS_LDNF1W = 385;;
+let _ARM64_INS_LDNP = 386;;
+let _ARM64_INS_LDNT1B = 387;;
+let _ARM64_INS_LDNT1D = 388;;
+let _ARM64_INS_LDNT1H = 389;;
+let _ARM64_INS_LDNT1W = 390;;
+let _ARM64_INS_LDP = 391;;
+let _ARM64_INS_LDPSW = 392;;
+let _ARM64_INS_LDR = 393;;
+let _ARM64_INS_LDRAA = 394;;
+let _ARM64_INS_LDRAB = 395;;
+let _ARM64_INS_LDRB = 396;;
+let _ARM64_INS_LDRH = 397;;
+let _ARM64_INS_LDRSB = 398;;
+let _ARM64_INS_LDRSH = 399;;
+let _ARM64_INS_LDRSW = 400;;
+let _ARM64_INS_LDSET = 401;;
+let _ARM64_INS_LDSETA = 402;;
+let _ARM64_INS_LDSETAB = 403;;
+let _ARM64_INS_LDSETAH = 404;;
+let _ARM64_INS_LDSETAL = 405;;
+let _ARM64_INS_LDSETALB = 406;;
+let _ARM64_INS_LDSETALH = 407;;
+let _ARM64_INS_LDSETB = 408;;
+let _ARM64_INS_LDSETH = 409;;
+let _ARM64_INS_LDSETL = 410;;
+let _ARM64_INS_LDSETLB = 411;;
+let _ARM64_INS_LDSETLH = 412;;
+let _ARM64_INS_LDSMAX = 413;;
+let _ARM64_INS_LDSMAXA = 414;;
+let _ARM64_INS_LDSMAXAB = 415;;
+let _ARM64_INS_LDSMAXAH = 416;;
+let _ARM64_INS_LDSMAXAL = 417;;
+let _ARM64_INS_LDSMAXALB = 418;;
+let _ARM64_INS_LDSMAXALH = 419;;
+let _ARM64_INS_LDSMAXB = 420;;
+let _ARM64_INS_LDSMAXH = 421;;
+let _ARM64_INS_LDSMAXL = 422;;
+let _ARM64_INS_LDSMAXLB = 423;;
+let _ARM64_INS_LDSMAXLH = 424;;
+let _ARM64_INS_LDSMIN = 425;;
+let _ARM64_INS_LDSMINA = 426;;
+let _ARM64_INS_LDSMINAB = 427;;
+let _ARM64_INS_LDSMINAH = 428;;
+let _ARM64_INS_LDSMINAL = 429;;
+let _ARM64_INS_LDSMINALB = 430;;
+let _ARM64_INS_LDSMINALH = 431;;
+let _ARM64_INS_LDSMINB = 432;;
+let _ARM64_INS_LDSMINH = 433;;
+let _ARM64_INS_LDSMINL = 434;;
+let _ARM64_INS_LDSMINLB = 435;;
+let _ARM64_INS_LDSMINLH = 436;;
+let _ARM64_INS_LDTR = 437;;
+let _ARM64_INS_LDTRB = 438;;
+let _ARM64_INS_LDTRH = 439;;
+let _ARM64_INS_LDTRSB = 440;;
+let _ARM64_INS_LDTRSH = 441;;
+let _ARM64_INS_LDTRSW = 442;;
+let _ARM64_INS_LDUMAX = 443;;
+let _ARM64_INS_LDUMAXA = 444;;
+let _ARM64_INS_LDUMAXAB = 445;;
+let _ARM64_INS_LDUMAXAH = 446;;
+let _ARM64_INS_LDUMAXAL = 447;;
+let _ARM64_INS_LDUMAXALB = 448;;
+let _ARM64_INS_LDUMAXALH = 449;;
+let _ARM64_INS_LDUMAXB = 450;;
+let _ARM64_INS_LDUMAXH = 451;;
+let _ARM64_INS_LDUMAXL = 452;;
+let _ARM64_INS_LDUMAXLB = 453;;
+let _ARM64_INS_LDUMAXLH = 454;;
+let _ARM64_INS_LDUMIN = 455;;
+let _ARM64_INS_LDUMINA = 456;;
+let _ARM64_INS_LDUMINAB = 457;;
+let _ARM64_INS_LDUMINAH = 458;;
+let _ARM64_INS_LDUMINAL = 459;;
+let _ARM64_INS_LDUMINALB = 460;;
+let _ARM64_INS_LDUMINALH = 461;;
+let _ARM64_INS_LDUMINB = 462;;
+let _ARM64_INS_LDUMINH = 463;;
+let _ARM64_INS_LDUMINL = 464;;
+let _ARM64_INS_LDUMINLB = 465;;
+let _ARM64_INS_LDUMINLH = 466;;
+let _ARM64_INS_LDUR = 467;;
+let _ARM64_INS_LDURB = 468;;
+let _ARM64_INS_LDURH = 469;;
+let _ARM64_INS_LDURSB = 470;;
+let _ARM64_INS_LDURSH = 471;;
+let _ARM64_INS_LDURSW = 472;;
+let _ARM64_INS_LDXP = 473;;
+let _ARM64_INS_LDXR = 474;;
+let _ARM64_INS_LDXRB = 475;;
+let _ARM64_INS_LDXRH = 476;;
+let _ARM64_INS_LSL = 477;;
+let _ARM64_INS_LSLR = 478;;
+let _ARM64_INS_LSLV = 479;;
+let _ARM64_INS_LSR = 480;;
+let _ARM64_INS_LSRR = 481;;
+let _ARM64_INS_LSRV = 482;;
+let _ARM64_INS_MAD = 483;;
+let _ARM64_INS_MADD = 484;;
+let _ARM64_INS_MLA = 485;;
+let _ARM64_INS_MLS = 486;;
+let _ARM64_INS_MNEG = 487;;
+let _ARM64_INS_MOV = 488;;
+let _ARM64_INS_MOVI = 489;;
+let _ARM64_INS_MOVK = 490;;
+let _ARM64_INS_MOVN = 491;;
+let _ARM64_INS_MOVPRFX = 492;;
+let _ARM64_INS_MOVS = 493;;
+let _ARM64_INS_MOVZ = 494;;
+let _ARM64_INS_MRS = 495;;
+let _ARM64_INS_MSB = 496;;
+let _ARM64_INS_MSR = 497;;
+let _ARM64_INS_MSUB = 498;;
+let _ARM64_INS_MUL = 499;;
+let _ARM64_INS_MVN = 500;;
+let _ARM64_INS_MVNI = 501;;
+let _ARM64_INS_NAND = 502;;
+let _ARM64_INS_NANDS = 503;;
+let _ARM64_INS_NEG = 504;;
+let _ARM64_INS_NEGS = 505;;
+let _ARM64_INS_NGC = 506;;
+let _ARM64_INS_NGCS = 507;;
+let _ARM64_INS_NOP = 508;;
+let _ARM64_INS_NOR = 509;;
+let _ARM64_INS_NORS = 510;;
+let _ARM64_INS_NOT = 511;;
+let _ARM64_INS_NOTS = 512;;
+let _ARM64_INS_ORN = 513;;
+let _ARM64_INS_ORNS = 514;;
+let _ARM64_INS_ORR = 515;;
+let _ARM64_INS_ORRS = 516;;
+let _ARM64_INS_ORV = 517;;
+let _ARM64_INS_PACDA = 518;;
+let _ARM64_INS_PACDB = 519;;
+let _ARM64_INS_PACDZA = 520;;
+let _ARM64_INS_PACDZB = 521;;
+let _ARM64_INS_PACGA = 522;;
+let _ARM64_INS_PACIA = 523;;
+let _ARM64_INS_PACIA1716 = 524;;
+let _ARM64_INS_PACIASP = 525;;
+let _ARM64_INS_PACIAZ = 526;;
+let _ARM64_INS_PACIB = 527;;
+let _ARM64_INS_PACIB1716 = 528;;
+let _ARM64_INS_PACIBSP = 529;;
+let _ARM64_INS_PACIBZ = 530;;
+let _ARM64_INS_PACIZA = 531;;
+let _ARM64_INS_PACIZB = 532;;
+let _ARM64_INS_PFALSE = 533;;
+let _ARM64_INS_PFIRST = 534;;
+let _ARM64_INS_PMUL = 535;;
+let _ARM64_INS_PMULL = 536;;
+let _ARM64_INS_PMULL2 = 537;;
+let _ARM64_INS_PNEXT = 538;;
+let _ARM64_INS_PRFB = 539;;
+let _ARM64_INS_PRFD = 540;;
+let _ARM64_INS_PRFH = 541;;
+let _ARM64_INS_PRFM = 542;;
+let _ARM64_INS_PRFUM = 543;;
+let _ARM64_INS_PRFW = 544;;
+let _ARM64_INS_PSB = 545;;
+let _ARM64_INS_PTEST = 546;;
+let _ARM64_INS_PTRUE = 547;;
+let _ARM64_INS_PTRUES = 548;;
+let _ARM64_INS_PUNPKHI = 549;;
+let _ARM64_INS_PUNPKLO = 550;;
+let _ARM64_INS_RADDHN = 551;;
+let _ARM64_INS_RADDHN2 = 552;;
+let _ARM64_INS_RAX1 = 553;;
+let _ARM64_INS_RBIT = 554;;
+let _ARM64_INS_RDFFR = 555;;
+let _ARM64_INS_RDFFRS = 556;;
+let _ARM64_INS_RDVL = 557;;
+let _ARM64_INS_RET = 558;;
+let _ARM64_INS_RETAA = 559;;
+let _ARM64_INS_RETAB = 560;;
+let _ARM64_INS_REV = 561;;
+let _ARM64_INS_REV16 = 562;;
+let _ARM64_INS_REV32 = 563;;
+let _ARM64_INS_REV64 = 564;;
+let _ARM64_INS_REVB = 565;;
+let _ARM64_INS_REVH = 566;;
+let _ARM64_INS_REVW = 567;;
+let _ARM64_INS_RMIF = 568;;
+let _ARM64_INS_ROR = 569;;
+let _ARM64_INS_RORV = 570;;
+let _ARM64_INS_RSHRN = 571;;
+let _ARM64_INS_RSHRN2 = 572;;
+let _ARM64_INS_RSUBHN = 573;;
+let _ARM64_INS_RSUBHN2 = 574;;
+let _ARM64_INS_SABA = 575;;
+let _ARM64_INS_SABAL = 576;;
+let _ARM64_INS_SABAL2 = 577;;
+let _ARM64_INS_SABD = 578;;
+let _ARM64_INS_SABDL = 579;;
+let _ARM64_INS_SABDL2 = 580;;
+let _ARM64_INS_SADALP = 581;;
+let _ARM64_INS_SADDL = 582;;
+let _ARM64_INS_SADDL2 = 583;;
+let _ARM64_INS_SADDLP = 584;;
+let _ARM64_INS_SADDLV = 585;;
+let _ARM64_INS_SADDV = 586;;
+let _ARM64_INS_SADDW = 587;;
+let _ARM64_INS_SADDW2 = 588;;
+let _ARM64_INS_SBC = 589;;
+let _ARM64_INS_SBCS = 590;;
+let _ARM64_INS_SBFM = 591;;
+let _ARM64_INS_SCVTF = 592;;
+let _ARM64_INS_SDIV = 593;;
+let _ARM64_INS_SDIVR = 594;;
+let _ARM64_INS_SDOT = 595;;
+let _ARM64_INS_SEL = 596;;
+let _ARM64_INS_SETF16 = 597;;
+let _ARM64_INS_SETF8 = 598;;
+let _ARM64_INS_SETFFR = 599;;
+let _ARM64_INS_SEV = 600;;
+let _ARM64_INS_SEVL = 601;;
+let _ARM64_INS_SHA1C = 602;;
+let _ARM64_INS_SHA1H = 603;;
+let _ARM64_INS_SHA1M = 604;;
+let _ARM64_INS_SHA1P = 605;;
+let _ARM64_INS_SHA1SU0 = 606;;
+let _ARM64_INS_SHA1SU1 = 607;;
+let _ARM64_INS_SHA256H = 608;;
+let _ARM64_INS_SHA256H2 = 609;;
+let _ARM64_INS_SHA256SU0 = 610;;
+let _ARM64_INS_SHA256SU1 = 611;;
+let _ARM64_INS_SHA512H = 612;;
+let _ARM64_INS_SHA512H2 = 613;;
+let _ARM64_INS_SHA512SU0 = 614;;
+let _ARM64_INS_SHA512SU1 = 615;;
+let _ARM64_INS_SHADD = 616;;
+let _ARM64_INS_SHL = 617;;
+let _ARM64_INS_SHLL = 618;;
+let _ARM64_INS_SHLL2 = 619;;
+let _ARM64_INS_SHRN = 620;;
+let _ARM64_INS_SHRN2 = 621;;
+let _ARM64_INS_SHSUB = 622;;
+let _ARM64_INS_SLI = 623;;
+let _ARM64_INS_SM3PARTW1 = 624;;
+let _ARM64_INS_SM3PARTW2 = 625;;
+let _ARM64_INS_SM3SS1 = 626;;
+let _ARM64_INS_SM3TT1A = 627;;
+let _ARM64_INS_SM3TT1B = 628;;
+let _ARM64_INS_SM3TT2A = 629;;
+let _ARM64_INS_SM3TT2B = 630;;
+let _ARM64_INS_SM4E = 631;;
+let _ARM64_INS_SM4EKEY = 632;;
+let _ARM64_INS_SMADDL = 633;;
+let _ARM64_INS_SMAX = 634;;
+let _ARM64_INS_SMAXP = 635;;
+let _ARM64_INS_SMAXV = 636;;
+let _ARM64_INS_SMC = 637;;
+let _ARM64_INS_SMIN = 638;;
+let _ARM64_INS_SMINP = 639;;
+let _ARM64_INS_SMINV = 640;;
+let _ARM64_INS_SMLAL = 641;;
+let _ARM64_INS_SMLAL2 = 642;;
+let _ARM64_INS_SMLSL = 643;;
+let _ARM64_INS_SMLSL2 = 644;;
+let _ARM64_INS_SMNEGL = 645;;
+let _ARM64_INS_SMOV = 646;;
+let _ARM64_INS_SMSUBL = 647;;
+let _ARM64_INS_SMULH = 648;;
+let _ARM64_INS_SMULL = 649;;
+let _ARM64_INS_SMULL2 = 650;;
+let _ARM64_INS_SPLICE = 651;;
+let _ARM64_INS_SQABS = 652;;
+let _ARM64_INS_SQADD = 653;;
+let _ARM64_INS_SQDECB = 654;;
+let _ARM64_INS_SQDECD = 655;;
+let _ARM64_INS_SQDECH = 656;;
+let _ARM64_INS_SQDECP = 657;;
+let _ARM64_INS_SQDECW = 658;;
+let _ARM64_INS_SQDMLAL = 659;;
+let _ARM64_INS_SQDMLAL2 = 660;;
+let _ARM64_INS_SQDMLSL = 661;;
+let _ARM64_INS_SQDMLSL2 = 662;;
+let _ARM64_INS_SQDMULH = 663;;
+let _ARM64_INS_SQDMULL = 664;;
+let _ARM64_INS_SQDMULL2 = 665;;
+let _ARM64_INS_SQINCB = 666;;
+let _ARM64_INS_SQINCD = 667;;
+let _ARM64_INS_SQINCH = 668;;
+let _ARM64_INS_SQINCP = 669;;
+let _ARM64_INS_SQINCW = 670;;
+let _ARM64_INS_SQNEG = 671;;
+let _ARM64_INS_SQRDMLAH = 672;;
+let _ARM64_INS_SQRDMLSH = 673;;
+let _ARM64_INS_SQRDMULH = 674;;
+let _ARM64_INS_SQRSHL = 675;;
+let _ARM64_INS_SQRSHRN = 676;;
+let _ARM64_INS_SQRSHRN2 = 677;;
+let _ARM64_INS_SQRSHRUN = 678;;
+let _ARM64_INS_SQRSHRUN2 = 679;;
+let _ARM64_INS_SQSHL = 680;;
+let _ARM64_INS_SQSHLU = 681;;
+let _ARM64_INS_SQSHRN = 682;;
+let _ARM64_INS_SQSHRN2 = 683;;
+let _ARM64_INS_SQSHRUN = 684;;
+let _ARM64_INS_SQSHRUN2 = 685;;
+let _ARM64_INS_SQSUB = 686;;
+let _ARM64_INS_SQXTN = 687;;
+let _ARM64_INS_SQXTN2 = 688;;
+let _ARM64_INS_SQXTUN = 689;;
+let _ARM64_INS_SQXTUN2 = 690;;
+let _ARM64_INS_SRHADD = 691;;
+let _ARM64_INS_SRI = 692;;
+let _ARM64_INS_SRSHL = 693;;
+let _ARM64_INS_SRSHR = 694;;
+let _ARM64_INS_SRSRA = 695;;
+let _ARM64_INS_SSHL = 696;;
+let _ARM64_INS_SSHLL = 697;;
+let _ARM64_INS_SSHLL2 = 698;;
+let _ARM64_INS_SSHR = 699;;
+let _ARM64_INS_SSRA = 700;;
+let _ARM64_INS_SSUBL = 701;;
+let _ARM64_INS_SSUBL2 = 702;;
+let _ARM64_INS_SSUBW = 703;;
+let _ARM64_INS_SSUBW2 = 704;;
+let _ARM64_INS_ST1 = 705;;
+let _ARM64_INS_ST1B = 706;;
+let _ARM64_INS_ST1D = 707;;
+let _ARM64_INS_ST1H = 708;;
+let _ARM64_INS_ST1W = 709;;
+let _ARM64_INS_ST2 = 710;;
+let _ARM64_INS_ST2B = 711;;
+let _ARM64_INS_ST2D = 712;;
+let _ARM64_INS_ST2H = 713;;
+let _ARM64_INS_ST2W = 714;;
+let _ARM64_INS_ST3 = 715;;
+let _ARM64_INS_ST3B = 716;;
+let _ARM64_INS_ST3D = 717;;
+let _ARM64_INS_ST3H = 718;;
+let _ARM64_INS_ST3W = 719;;
+let _ARM64_INS_ST4 = 720;;
+let _ARM64_INS_ST4B = 721;;
+let _ARM64_INS_ST4D = 722;;
+let _ARM64_INS_ST4H = 723;;
+let _ARM64_INS_ST4W = 724;;
+let _ARM64_INS_STADD = 725;;
+let _ARM64_INS_STADDB = 726;;
+let _ARM64_INS_STADDH = 727;;
+let _ARM64_INS_STADDL = 728;;
+let _ARM64_INS_STADDLB = 729;;
+let _ARM64_INS_STADDLH = 730;;
+let _ARM64_INS_STCLR = 731;;
+let _ARM64_INS_STCLRB = 732;;
+let _ARM64_INS_STCLRH = 733;;
+let _ARM64_INS_STCLRL = 734;;
+let _ARM64_INS_STCLRLB = 735;;
+let _ARM64_INS_STCLRLH = 736;;
+let _ARM64_INS_STEOR = 737;;
+let _ARM64_INS_STEORB = 738;;
+let _ARM64_INS_STEORH = 739;;
+let _ARM64_INS_STEORL = 740;;
+let _ARM64_INS_STEORLB = 741;;
+let _ARM64_INS_STEORLH = 742;;
+let _ARM64_INS_STLLR = 743;;
+let _ARM64_INS_STLLRB = 744;;
+let _ARM64_INS_STLLRH = 745;;
+let _ARM64_INS_STLR = 746;;
+let _ARM64_INS_STLRB = 747;;
+let _ARM64_INS_STLRH = 748;;
+let _ARM64_INS_STLUR = 749;;
+let _ARM64_INS_STLURB = 750;;
+let _ARM64_INS_STLURH = 751;;
+let _ARM64_INS_STLXP = 752;;
+let _ARM64_INS_STLXR = 753;;
+let _ARM64_INS_STLXRB = 754;;
+let _ARM64_INS_STLXRH = 755;;
+let _ARM64_INS_STNP = 756;;
+let _ARM64_INS_STNT1B = 757;;
+let _ARM64_INS_STNT1D = 758;;
+let _ARM64_INS_STNT1H = 759;;
+let _ARM64_INS_STNT1W = 760;;
+let _ARM64_INS_STP = 761;;
+let _ARM64_INS_STR = 762;;
+let _ARM64_INS_STRB = 763;;
+let _ARM64_INS_STRH = 764;;
+let _ARM64_INS_STSET = 765;;
+let _ARM64_INS_STSETB = 766;;
+let _ARM64_INS_STSETH = 767;;
+let _ARM64_INS_STSETL = 768;;
+let _ARM64_INS_STSETLB = 769;;
+let _ARM64_INS_STSETLH = 770;;
+let _ARM64_INS_STSMAX = 771;;
+let _ARM64_INS_STSMAXB = 772;;
+let _ARM64_INS_STSMAXH = 773;;
+let _ARM64_INS_STSMAXL = 774;;
+let _ARM64_INS_STSMAXLB = 775;;
+let _ARM64_INS_STSMAXLH = 776;;
+let _ARM64_INS_STSMIN = 777;;
+let _ARM64_INS_STSMINB = 778;;
+let _ARM64_INS_STSMINH = 779;;
+let _ARM64_INS_STSMINL = 780;;
+let _ARM64_INS_STSMINLB = 781;;
+let _ARM64_INS_STSMINLH = 782;;
+let _ARM64_INS_STTR = 783;;
+let _ARM64_INS_STTRB = 784;;
+let _ARM64_INS_STTRH = 785;;
+let _ARM64_INS_STUMAX = 786;;
+let _ARM64_INS_STUMAXB = 787;;
+let _ARM64_INS_STUMAXH = 788;;
+let _ARM64_INS_STUMAXL = 789;;
+let _ARM64_INS_STUMAXLB = 790;;
+let _ARM64_INS_STUMAXLH = 791;;
+let _ARM64_INS_STUMIN = 792;;
+let _ARM64_INS_STUMINB = 793;;
+let _ARM64_INS_STUMINH = 794;;
+let _ARM64_INS_STUMINL = 795;;
+let _ARM64_INS_STUMINLB = 796;;
+let _ARM64_INS_STUMINLH = 797;;
+let _ARM64_INS_STUR = 798;;
+let _ARM64_INS_STURB = 799;;
+let _ARM64_INS_STURH = 800;;
+let _ARM64_INS_STXP = 801;;
+let _ARM64_INS_STXR = 802;;
+let _ARM64_INS_STXRB = 803;;
+let _ARM64_INS_STXRH = 804;;
+let _ARM64_INS_SUB = 805;;
+let _ARM64_INS_SUBHN = 806;;
+let _ARM64_INS_SUBHN2 = 807;;
+let _ARM64_INS_SUBR = 808;;
+let _ARM64_INS_SUBS = 809;;
+let _ARM64_INS_SUNPKHI = 810;;
+let _ARM64_INS_SUNPKLO = 811;;
+let _ARM64_INS_SUQADD = 812;;
+let _ARM64_INS_SVC = 813;;
+let _ARM64_INS_SWP = 814;;
+let _ARM64_INS_SWPA = 815;;
+let _ARM64_INS_SWPAB = 816;;
+let _ARM64_INS_SWPAH = 817;;
+let _ARM64_INS_SWPAL = 818;;
+let _ARM64_INS_SWPALB = 819;;
+let _ARM64_INS_SWPALH = 820;;
+let _ARM64_INS_SWPB = 821;;
+let _ARM64_INS_SWPH = 822;;
+let _ARM64_INS_SWPL = 823;;
+let _ARM64_INS_SWPLB = 824;;
+let _ARM64_INS_SWPLH = 825;;
+let _ARM64_INS_SXTB = 826;;
+let _ARM64_INS_SXTH = 827;;
+let _ARM64_INS_SXTL = 828;;
+let _ARM64_INS_SXTL2 = 829;;
+let _ARM64_INS_SXTW = 830;;
+let _ARM64_INS_SYS = 831;;
+let _ARM64_INS_SYSL = 832;;
+let _ARM64_INS_TBL = 833;;
+let _ARM64_INS_TBNZ = 834;;
+let _ARM64_INS_TBX = 835;;
+let _ARM64_INS_TBZ = 836;;
+let _ARM64_INS_TRN1 = 837;;
+let _ARM64_INS_TRN2 = 838;;
+let _ARM64_INS_TSB = 839;;
+let _ARM64_INS_TST = 840;;
+let _ARM64_INS_UABA = 841;;
+let _ARM64_INS_UABAL = 842;;
+let _ARM64_INS_UABAL2 = 843;;
+let _ARM64_INS_UABD = 844;;
+let _ARM64_INS_UABDL = 845;;
+let _ARM64_INS_UABDL2 = 846;;
+let _ARM64_INS_UADALP = 847;;
+let _ARM64_INS_UADDL = 848;;
+let _ARM64_INS_UADDL2 = 849;;
+let _ARM64_INS_UADDLP = 850;;
+let _ARM64_INS_UADDLV = 851;;
+let _ARM64_INS_UADDV = 852;;
+let _ARM64_INS_UADDW = 853;;
+let _ARM64_INS_UADDW2 = 854;;
+let _ARM64_INS_UBFM = 855;;
+let _ARM64_INS_UCVTF = 856;;
+let _ARM64_INS_UDIV = 857;;
+let _ARM64_INS_UDIVR = 858;;
+let _ARM64_INS_UDOT = 859;;
+let _ARM64_INS_UHADD = 860;;
+let _ARM64_INS_UHSUB = 861;;
+let _ARM64_INS_UMADDL = 862;;
+let _ARM64_INS_UMAX = 863;;
+let _ARM64_INS_UMAXP = 864;;
+let _ARM64_INS_UMAXV = 865;;
+let _ARM64_INS_UMIN = 866;;
+let _ARM64_INS_UMINP = 867;;
+let _ARM64_INS_UMINV = 868;;
+let _ARM64_INS_UMLAL = 869;;
+let _ARM64_INS_UMLAL2 = 870;;
+let _ARM64_INS_UMLSL = 871;;
+let _ARM64_INS_UMLSL2 = 872;;
+let _ARM64_INS_UMNEGL = 873;;
+let _ARM64_INS_UMOV = 874;;
+let _ARM64_INS_UMSUBL = 875;;
+let _ARM64_INS_UMULH = 876;;
+let _ARM64_INS_UMULL = 877;;
+let _ARM64_INS_UMULL2 = 878;;
+let _ARM64_INS_UQADD = 879;;
+let _ARM64_INS_UQDECB = 880;;
+let _ARM64_INS_UQDECD = 881;;
+let _ARM64_INS_UQDECH = 882;;
+let _ARM64_INS_UQDECP = 883;;
+let _ARM64_INS_UQDECW = 884;;
+let _ARM64_INS_UQINCB = 885;;
+let _ARM64_INS_UQINCD = 886;;
+let _ARM64_INS_UQINCH = 887;;
+let _ARM64_INS_UQINCP = 888;;
+let _ARM64_INS_UQINCW = 889;;
+let _ARM64_INS_UQRSHL = 890;;
+let _ARM64_INS_UQRSHRN = 891;;
+let _ARM64_INS_UQRSHRN2 = 892;;
+let _ARM64_INS_UQSHL = 893;;
+let _ARM64_INS_UQSHRN = 894;;
+let _ARM64_INS_UQSHRN2 = 895;;
+let _ARM64_INS_UQSUB = 896;;
+let _ARM64_INS_UQXTN = 897;;
+let _ARM64_INS_UQXTN2 = 898;;
+let _ARM64_INS_URECPE = 899;;
+let _ARM64_INS_URHADD = 900;;
+let _ARM64_INS_URSHL = 901;;
+let _ARM64_INS_URSHR = 902;;
+let _ARM64_INS_URSQRTE = 903;;
+let _ARM64_INS_URSRA = 904;;
+let _ARM64_INS_USHL = 905;;
+let _ARM64_INS_USHLL = 906;;
+let _ARM64_INS_USHLL2 = 907;;
+let _ARM64_INS_USHR = 908;;
+let _ARM64_INS_USQADD = 909;;
+let _ARM64_INS_USRA = 910;;
+let _ARM64_INS_USUBL = 911;;
+let _ARM64_INS_USUBL2 = 912;;
+let _ARM64_INS_USUBW = 913;;
+let _ARM64_INS_USUBW2 = 914;;
+let _ARM64_INS_UUNPKHI = 915;;
+let _ARM64_INS_UUNPKLO = 916;;
+let _ARM64_INS_UXTB = 917;;
+let _ARM64_INS_UXTH = 918;;
+let _ARM64_INS_UXTL = 919;;
+let _ARM64_INS_UXTL2 = 920;;
+let _ARM64_INS_UXTW = 921;;
+let _ARM64_INS_UZP1 = 922;;
+let _ARM64_INS_UZP2 = 923;;
+let _ARM64_INS_WFE = 924;;
+let _ARM64_INS_WFI = 925;;
+let _ARM64_INS_WHILELE = 926;;
+let _ARM64_INS_WHILELO = 927;;
+let _ARM64_INS_WHILELS = 928;;
+let _ARM64_INS_WHILELT = 929;;
+let _ARM64_INS_WRFFR = 930;;
+let _ARM64_INS_XAR = 931;;
+let _ARM64_INS_XPACD = 932;;
+let _ARM64_INS_XPACI = 933;;
+let _ARM64_INS_XPACLRI = 934;;
+let _ARM64_INS_XTN = 935;;
+let _ARM64_INS_XTN2 = 936;;
+let _ARM64_INS_YIELD = 937;;
+let _ARM64_INS_ZIP1 = 938;;
+let _ARM64_INS_ZIP2 = 939;;
+let _ARM64_INS_SBFIZ = 940;;
+let _ARM64_INS_UBFIZ = 941;;
+let _ARM64_INS_SBFX = 942;;
+let _ARM64_INS_UBFX = 943;;
+let _ARM64_INS_BFI = 944;;
+let _ARM64_INS_BFXIL = 945;;
+let _ARM64_INS_IC = 946;;
+let _ARM64_INS_DC = 947;;
+let _ARM64_INS_AT = 948;;
+let _ARM64_INS_TLBI = 949;;
+let _ARM64_INS_ENDING = 950;;
+
+let _ARM64_GRP_INVALID = 0;;
+let _ARM64_GRP_JUMP = 1;;
+let _ARM64_GRP_CALL = 2;;
+let _ARM64_GRP_RET = 3;;
+let _ARM64_GRP_INT = 4;;
+let _ARM64_GRP_PRIVILEGE = 6;;
+let _ARM64_GRP_BRANCH_RELATIVE = 7;;
+let _ARM64_GRP_CRYPTO = 128;;
+let _ARM64_GRP_FPARMV8 = 129;;
+let _ARM64_GRP_NEON = 130;;
+let _ARM64_GRP_CRC = 131;;
+let _ARM64_GRP_AES = 132;;
+let _ARM64_GRP_DOTPROD = 133;;
+let _ARM64_GRP_FULLFP16 = 134;;
+let _ARM64_GRP_LSE = 135;;
+let _ARM64_GRP_RCPC = 136;;
+let _ARM64_GRP_RDM = 137;;
+let _ARM64_GRP_SHA2 = 138;;
+let _ARM64_GRP_SHA3 = 139;;
+let _ARM64_GRP_SM4 = 140;;
+let _ARM64_GRP_SVE = 141;;
+let _ARM64_GRP_V8_1A = 142;;
+let _ARM64_GRP_V8_3A = 143;;
+let _ARM64_GRP_V8_4A = 144;;
+let _ARM64_GRP_ENDING = 145;;
diff --git a/capstone/bindings/ocaml/arm_const.ml b/capstone/bindings/ocaml/arm_const.ml
new file mode 100644
index 000000000..5b3972a09
--- /dev/null
+++ b/capstone/bindings/ocaml/arm_const.ml
@@ -0,0 +1,830 @@
+(* For Capstone Engine. AUTO-GENERATED FILE, DO NOT EDIT [arm_const.ml] *)
+
+let _ARM_SFT_INVALID = 0;;
+let _ARM_SFT_ASR = 1;;
+let _ARM_SFT_LSL = 2;;
+let _ARM_SFT_LSR = 3;;
+let _ARM_SFT_ROR = 4;;
+let _ARM_SFT_RRX = 5;;
+let _ARM_SFT_ASR_REG = 6;;
+let _ARM_SFT_LSL_REG = 7;;
+let _ARM_SFT_LSR_REG = 8;;
+let _ARM_SFT_ROR_REG = 9;;
+let _ARM_SFT_RRX_REG = 10;;
+
+let _ARM_CC_INVALID = 0;;
+let _ARM_CC_EQ = 1;;
+let _ARM_CC_NE = 2;;
+let _ARM_CC_HS = 3;;
+let _ARM_CC_LO = 4;;
+let _ARM_CC_MI = 5;;
+let _ARM_CC_PL = 6;;
+let _ARM_CC_VS = 7;;
+let _ARM_CC_VC = 8;;
+let _ARM_CC_HI = 9;;
+let _ARM_CC_LS = 10;;
+let _ARM_CC_GE = 11;;
+let _ARM_CC_LT = 12;;
+let _ARM_CC_GT = 13;;
+let _ARM_CC_LE = 14;;
+let _ARM_CC_AL = 15;;
+
+let _ARM_SYSREG_INVALID = 0;;
+let _ARM_SYSREG_SPSR_C = 1;;
+let _ARM_SYSREG_SPSR_X = 2;;
+let _ARM_SYSREG_SPSR_S = 4;;
+let _ARM_SYSREG_SPSR_F = 8;;
+let _ARM_SYSREG_CPSR_C = 16;;
+let _ARM_SYSREG_CPSR_X = 32;;
+let _ARM_SYSREG_CPSR_S = 64;;
+let _ARM_SYSREG_CPSR_F = 128;;
+let _ARM_SYSREG_APSR = 256;;
+let _ARM_SYSREG_APSR_G = 257;;
+let _ARM_SYSREG_APSR_NZCVQ = 258;;
+let _ARM_SYSREG_APSR_NZCVQG = 259;;
+let _ARM_SYSREG_IAPSR = 260;;
+let _ARM_SYSREG_IAPSR_G = 261;;
+let _ARM_SYSREG_IAPSR_NZCVQG = 262;;
+let _ARM_SYSREG_IAPSR_NZCVQ = 263;;
+let _ARM_SYSREG_EAPSR = 264;;
+let _ARM_SYSREG_EAPSR_G = 265;;
+let _ARM_SYSREG_EAPSR_NZCVQG = 266;;
+let _ARM_SYSREG_EAPSR_NZCVQ = 267;;
+let _ARM_SYSREG_XPSR = 268;;
+let _ARM_SYSREG_XPSR_G = 269;;
+let _ARM_SYSREG_XPSR_NZCVQG = 270;;
+let _ARM_SYSREG_XPSR_NZCVQ = 271;;
+let _ARM_SYSREG_IPSR = 272;;
+let _ARM_SYSREG_EPSR = 273;;
+let _ARM_SYSREG_IEPSR = 274;;
+let _ARM_SYSREG_MSP = 275;;
+let _ARM_SYSREG_PSP = 276;;
+let _ARM_SYSREG_PRIMASK = 277;;
+let _ARM_SYSREG_BASEPRI = 278;;
+let _ARM_SYSREG_BASEPRI_MAX = 279;;
+let _ARM_SYSREG_FAULTMASK = 280;;
+let _ARM_SYSREG_CONTROL = 281;;
+let _ARM_SYSREG_MSPLIM = 282;;
+let _ARM_SYSREG_PSPLIM = 283;;
+let _ARM_SYSREG_MSP_NS = 284;;
+let _ARM_SYSREG_PSP_NS = 285;;
+let _ARM_SYSREG_MSPLIM_NS = 286;;
+let _ARM_SYSREG_PSPLIM_NS = 287;;
+let _ARM_SYSREG_PRIMASK_NS = 288;;
+let _ARM_SYSREG_BASEPRI_NS = 289;;
+let _ARM_SYSREG_FAULTMASK_NS = 290;;
+let _ARM_SYSREG_CONTROL_NS = 291;;
+let _ARM_SYSREG_SP_NS = 292;;
+let _ARM_SYSREG_R8_USR = 293;;
+let _ARM_SYSREG_R9_USR = 294;;
+let _ARM_SYSREG_R10_USR = 295;;
+let _ARM_SYSREG_R11_USR = 296;;
+let _ARM_SYSREG_R12_USR = 297;;
+let _ARM_SYSREG_SP_USR = 298;;
+let _ARM_SYSREG_LR_USR = 299;;
+let _ARM_SYSREG_R8_FIQ = 300;;
+let _ARM_SYSREG_R9_FIQ = 301;;
+let _ARM_SYSREG_R10_FIQ = 302;;
+let _ARM_SYSREG_R11_FIQ = 303;;
+let _ARM_SYSREG_R12_FIQ = 304;;
+let _ARM_SYSREG_SP_FIQ = 305;;
+let _ARM_SYSREG_LR_FIQ = 306;;
+let _ARM_SYSREG_LR_IRQ = 307;;
+let _ARM_SYSREG_SP_IRQ = 308;;
+let _ARM_SYSREG_LR_SVC = 309;;
+let _ARM_SYSREG_SP_SVC = 310;;
+let _ARM_SYSREG_LR_ABT = 311;;
+let _ARM_SYSREG_SP_ABT = 312;;
+let _ARM_SYSREG_LR_UND = 313;;
+let _ARM_SYSREG_SP_UND = 314;;
+let _ARM_SYSREG_LR_MON = 315;;
+let _ARM_SYSREG_SP_MON = 316;;
+let _ARM_SYSREG_ELR_HYP = 317;;
+let _ARM_SYSREG_SP_HYP = 318;;
+let _ARM_SYSREG_SPSR_FIQ = 319;;
+let _ARM_SYSREG_SPSR_IRQ = 320;;
+let _ARM_SYSREG_SPSR_SVC = 321;;
+let _ARM_SYSREG_SPSR_ABT = 322;;
+let _ARM_SYSREG_SPSR_UND = 323;;
+let _ARM_SYSREG_SPSR_MON = 324;;
+let _ARM_SYSREG_SPSR_HYP = 325;;
+
+let _ARM_MB_INVALID = 0;;
+let _ARM_MB_RESERVED_0 = 1;;
+let _ARM_MB_OSHLD = 2;;
+let _ARM_MB_OSHST = 3;;
+let _ARM_MB_OSH = 4;;
+let _ARM_MB_RESERVED_4 = 5;;
+let _ARM_MB_NSHLD = 6;;
+let _ARM_MB_NSHST = 7;;
+let _ARM_MB_NSH = 8;;
+let _ARM_MB_RESERVED_8 = 9;;
+let _ARM_MB_ISHLD = 10;;
+let _ARM_MB_ISHST = 11;;
+let _ARM_MB_ISH = 12;;
+let _ARM_MB_RESERVED_12 = 13;;
+let _ARM_MB_LD = 14;;
+let _ARM_MB_ST = 15;;
+let _ARM_MB_SY = 16;;
+
+let _ARM_OP_INVALID = 0;;
+let _ARM_OP_REG = 1;;
+let _ARM_OP_IMM = 2;;
+let _ARM_OP_MEM = 3;;
+let _ARM_OP_FP = 4;;
+let _ARM_OP_CIMM = 64;;
+let _ARM_OP_PIMM = 65;;
+let _ARM_OP_SETEND = 66;;
+let _ARM_OP_SYSREG = 67;;
+
+let _ARM_SETEND_INVALID = 0;;
+let _ARM_SETEND_BE = 1;;
+let _ARM_SETEND_LE = 2;;
+
+let _ARM_CPSMODE_INVALID = 0;;
+let _ARM_CPSMODE_IE = 2;;
+let _ARM_CPSMODE_ID = 3;;
+
+let _ARM_CPSFLAG_INVALID = 0;;
+let _ARM_CPSFLAG_F = 1;;
+let _ARM_CPSFLAG_I = 2;;
+let _ARM_CPSFLAG_A = 4;;
+let _ARM_CPSFLAG_NONE = 16;;
+
+let _ARM_VECTORDATA_INVALID = 0;;
+let _ARM_VECTORDATA_I8 = 1;;
+let _ARM_VECTORDATA_I16 = 2;;
+let _ARM_VECTORDATA_I32 = 3;;
+let _ARM_VECTORDATA_I64 = 4;;
+let _ARM_VECTORDATA_S8 = 5;;
+let _ARM_VECTORDATA_S16 = 6;;
+let _ARM_VECTORDATA_S32 = 7;;
+let _ARM_VECTORDATA_S64 = 8;;
+let _ARM_VECTORDATA_U8 = 9;;
+let _ARM_VECTORDATA_U16 = 10;;
+let _ARM_VECTORDATA_U32 = 11;;
+let _ARM_VECTORDATA_U64 = 12;;
+let _ARM_VECTORDATA_P8 = 13;;
+let _ARM_VECTORDATA_F16 = 14;;
+let _ARM_VECTORDATA_F32 = 15;;
+let _ARM_VECTORDATA_F64 = 16;;
+let _ARM_VECTORDATA_F16F64 = 17;;
+let _ARM_VECTORDATA_F64F16 = 18;;
+let _ARM_VECTORDATA_F32F16 = 19;;
+let _ARM_VECTORDATA_F16F32 = 20;;
+let _ARM_VECTORDATA_F64F32 = 21;;
+let _ARM_VECTORDATA_F32F64 = 22;;
+let _ARM_VECTORDATA_S32F32 = 23;;
+let _ARM_VECTORDATA_U32F32 = 24;;
+let _ARM_VECTORDATA_F32S32 = 25;;
+let _ARM_VECTORDATA_F32U32 = 26;;
+let _ARM_VECTORDATA_F64S16 = 27;;
+let _ARM_VECTORDATA_F32S16 = 28;;
+let _ARM_VECTORDATA_F64S32 = 29;;
+let _ARM_VECTORDATA_S16F64 = 30;;
+let _ARM_VECTORDATA_S16F32 = 31;;
+let _ARM_VECTORDATA_S32F64 = 32;;
+let _ARM_VECTORDATA_U16F64 = 33;;
+let _ARM_VECTORDATA_U16F32 = 34;;
+let _ARM_VECTORDATA_U32F64 = 35;;
+let _ARM_VECTORDATA_F64U16 = 36;;
+let _ARM_VECTORDATA_F32U16 = 37;;
+let _ARM_VECTORDATA_F64U32 = 38;;
+let _ARM_VECTORDATA_F16U16 = 39;;
+let _ARM_VECTORDATA_U16F16 = 40;;
+let _ARM_VECTORDATA_F16U32 = 41;;
+let _ARM_VECTORDATA_U32F16 = 42;;
+
+let _ARM_REG_INVALID = 0;;
+let _ARM_REG_APSR = 1;;
+let _ARM_REG_APSR_NZCV = 2;;
+let _ARM_REG_CPSR = 3;;
+let _ARM_REG_FPEXC = 4;;
+let _ARM_REG_FPINST = 5;;
+let _ARM_REG_FPSCR = 6;;
+let _ARM_REG_FPSCR_NZCV = 7;;
+let _ARM_REG_FPSID = 8;;
+let _ARM_REG_ITSTATE = 9;;
+let _ARM_REG_LR = 10;;
+let _ARM_REG_PC = 11;;
+let _ARM_REG_SP = 12;;
+let _ARM_REG_SPSR = 13;;
+let _ARM_REG_D0 = 14;;
+let _ARM_REG_D1 = 15;;
+let _ARM_REG_D2 = 16;;
+let _ARM_REG_D3 = 17;;
+let _ARM_REG_D4 = 18;;
+let _ARM_REG_D5 = 19;;
+let _ARM_REG_D6 = 20;;
+let _ARM_REG_D7 = 21;;
+let _ARM_REG_D8 = 22;;
+let _ARM_REG_D9 = 23;;
+let _ARM_REG_D10 = 24;;
+let _ARM_REG_D11 = 25;;
+let _ARM_REG_D12 = 26;;
+let _ARM_REG_D13 = 27;;
+let _ARM_REG_D14 = 28;;
+let _ARM_REG_D15 = 29;;
+let _ARM_REG_D16 = 30;;
+let _ARM_REG_D17 = 31;;
+let _ARM_REG_D18 = 32;;
+let _ARM_REG_D19 = 33;;
+let _ARM_REG_D20 = 34;;
+let _ARM_REG_D21 = 35;;
+let _ARM_REG_D22 = 36;;
+let _ARM_REG_D23 = 37;;
+let _ARM_REG_D24 = 38;;
+let _ARM_REG_D25 = 39;;
+let _ARM_REG_D26 = 40;;
+let _ARM_REG_D27 = 41;;
+let _ARM_REG_D28 = 42;;
+let _ARM_REG_D29 = 43;;
+let _ARM_REG_D30 = 44;;
+let _ARM_REG_D31 = 45;;
+let _ARM_REG_FPINST2 = 46;;
+let _ARM_REG_MVFR0 = 47;;
+let _ARM_REG_MVFR1 = 48;;
+let _ARM_REG_MVFR2 = 49;;
+let _ARM_REG_Q0 = 50;;
+let _ARM_REG_Q1 = 51;;
+let _ARM_REG_Q2 = 52;;
+let _ARM_REG_Q3 = 53;;
+let _ARM_REG_Q4 = 54;;
+let _ARM_REG_Q5 = 55;;
+let _ARM_REG_Q6 = 56;;
+let _ARM_REG_Q7 = 57;;
+let _ARM_REG_Q8 = 58;;
+let _ARM_REG_Q9 = 59;;
+let _ARM_REG_Q10 = 60;;
+let _ARM_REG_Q11 = 61;;
+let _ARM_REG_Q12 = 62;;
+let _ARM_REG_Q13 = 63;;
+let _ARM_REG_Q14 = 64;;
+let _ARM_REG_Q15 = 65;;
+let _ARM_REG_R0 = 66;;
+let _ARM_REG_R1 = 67;;
+let _ARM_REG_R2 = 68;;
+let _ARM_REG_R3 = 69;;
+let _ARM_REG_R4 = 70;;
+let _ARM_REG_R5 = 71;;
+let _ARM_REG_R6 = 72;;
+let _ARM_REG_R7 = 73;;
+let _ARM_REG_R8 = 74;;
+let _ARM_REG_R9 = 75;;
+let _ARM_REG_R10 = 76;;
+let _ARM_REG_R11 = 77;;
+let _ARM_REG_R12 = 78;;
+let _ARM_REG_S0 = 79;;
+let _ARM_REG_S1 = 80;;
+let _ARM_REG_S2 = 81;;
+let _ARM_REG_S3 = 82;;
+let _ARM_REG_S4 = 83;;
+let _ARM_REG_S5 = 84;;
+let _ARM_REG_S6 = 85;;
+let _ARM_REG_S7 = 86;;
+let _ARM_REG_S8 = 87;;
+let _ARM_REG_S9 = 88;;
+let _ARM_REG_S10 = 89;;
+let _ARM_REG_S11 = 90;;
+let _ARM_REG_S12 = 91;;
+let _ARM_REG_S13 = 92;;
+let _ARM_REG_S14 = 93;;
+let _ARM_REG_S15 = 94;;
+let _ARM_REG_S16 = 95;;
+let _ARM_REG_S17 = 96;;
+let _ARM_REG_S18 = 97;;
+let _ARM_REG_S19 = 98;;
+let _ARM_REG_S20 = 99;;
+let _ARM_REG_S21 = 100;;
+let _ARM_REG_S22 = 101;;
+let _ARM_REG_S23 = 102;;
+let _ARM_REG_S24 = 103;;
+let _ARM_REG_S25 = 104;;
+let _ARM_REG_S26 = 105;;
+let _ARM_REG_S27 = 106;;
+let _ARM_REG_S28 = 107;;
+let _ARM_REG_S29 = 108;;
+let _ARM_REG_S30 = 109;;
+let _ARM_REG_S31 = 110;;
+let _ARM_REG_ENDING = 111;;
+let _ARM_REG_R13 = _ARM_REG_SP;;
+let _ARM_REG_R14 = _ARM_REG_LR;;
+let _ARM_REG_R15 = _ARM_REG_PC;;
+let _ARM_REG_SB = _ARM_REG_R9;;
+let _ARM_REG_SL = _ARM_REG_R10;;
+let _ARM_REG_FP = _ARM_REG_R11;;
+let _ARM_REG_IP = _ARM_REG_R12;;
+
+let _ARM_INS_INVALID = 0;;
+let _ARM_INS_ADC = 1;;
+let _ARM_INS_ADD = 2;;
+let _ARM_INS_ADDW = 3;;
+let _ARM_INS_ADR = 4;;
+let _ARM_INS_AESD = 5;;
+let _ARM_INS_AESE = 6;;
+let _ARM_INS_AESIMC = 7;;
+let _ARM_INS_AESMC = 8;;
+let _ARM_INS_AND = 9;;
+let _ARM_INS_ASR = 10;;
+let _ARM_INS_B = 11;;
+let _ARM_INS_BFC = 12;;
+let _ARM_INS_BFI = 13;;
+let _ARM_INS_BIC = 14;;
+let _ARM_INS_BKPT = 15;;
+let _ARM_INS_BL = 16;;
+let _ARM_INS_BLX = 17;;
+let _ARM_INS_BLXNS = 18;;
+let _ARM_INS_BX = 19;;
+let _ARM_INS_BXJ = 20;;
+let _ARM_INS_BXNS = 21;;
+let _ARM_INS_CBNZ = 22;;
+let _ARM_INS_CBZ = 23;;
+let _ARM_INS_CDP = 24;;
+let _ARM_INS_CDP2 = 25;;
+let _ARM_INS_CLREX = 26;;
+let _ARM_INS_CLZ = 27;;
+let _ARM_INS_CMN = 28;;
+let _ARM_INS_CMP = 29;;
+let _ARM_INS_CPS = 30;;
+let _ARM_INS_CRC32B = 31;;
+let _ARM_INS_CRC32CB = 32;;
+let _ARM_INS_CRC32CH = 33;;
+let _ARM_INS_CRC32CW = 34;;
+let _ARM_INS_CRC32H = 35;;
+let _ARM_INS_CRC32W = 36;;
+let _ARM_INS_CSDB = 37;;
+let _ARM_INS_DBG = 38;;
+let _ARM_INS_DCPS1 = 39;;
+let _ARM_INS_DCPS2 = 40;;
+let _ARM_INS_DCPS3 = 41;;
+let _ARM_INS_DFB = 42;;
+let _ARM_INS_DMB = 43;;
+let _ARM_INS_DSB = 44;;
+let _ARM_INS_EOR = 45;;
+let _ARM_INS_ERET = 46;;
+let _ARM_INS_ESB = 47;;
+let _ARM_INS_FADDD = 48;;
+let _ARM_INS_FADDS = 49;;
+let _ARM_INS_FCMPZD = 50;;
+let _ARM_INS_FCMPZS = 51;;
+let _ARM_INS_FCONSTD = 52;;
+let _ARM_INS_FCONSTS = 53;;
+let _ARM_INS_FLDMDBX = 54;;
+let _ARM_INS_FLDMIAX = 55;;
+let _ARM_INS_FMDHR = 56;;
+let _ARM_INS_FMDLR = 57;;
+let _ARM_INS_FMSTAT = 58;;
+let _ARM_INS_FSTMDBX = 59;;
+let _ARM_INS_FSTMIAX = 60;;
+let _ARM_INS_FSUBD = 61;;
+let _ARM_INS_FSUBS = 62;;
+let _ARM_INS_HINT = 63;;
+let _ARM_INS_HLT = 64;;
+let _ARM_INS_HVC = 65;;
+let _ARM_INS_ISB = 66;;
+let _ARM_INS_IT = 67;;
+let _ARM_INS_LDA = 68;;
+let _ARM_INS_LDAB = 69;;
+let _ARM_INS_LDAEX = 70;;
+let _ARM_INS_LDAEXB = 71;;
+let _ARM_INS_LDAEXD = 72;;
+let _ARM_INS_LDAEXH = 73;;
+let _ARM_INS_LDAH = 74;;
+let _ARM_INS_LDC = 75;;
+let _ARM_INS_LDC2 = 76;;
+let _ARM_INS_LDC2L = 77;;
+let _ARM_INS_LDCL = 78;;
+let _ARM_INS_LDM = 79;;
+let _ARM_INS_LDMDA = 80;;
+let _ARM_INS_LDMDB = 81;;
+let _ARM_INS_LDMIB = 82;;
+let _ARM_INS_LDR = 83;;
+let _ARM_INS_LDRB = 84;;
+let _ARM_INS_LDRBT = 85;;
+let _ARM_INS_LDRD = 86;;
+let _ARM_INS_LDREX = 87;;
+let _ARM_INS_LDREXB = 88;;
+let _ARM_INS_LDREXD = 89;;
+let _ARM_INS_LDREXH = 90;;
+let _ARM_INS_LDRH = 91;;
+let _ARM_INS_LDRHT = 92;;
+let _ARM_INS_LDRSB = 93;;
+let _ARM_INS_LDRSBT = 94;;
+let _ARM_INS_LDRSH = 95;;
+let _ARM_INS_LDRSHT = 96;;
+let _ARM_INS_LDRT = 97;;
+let _ARM_INS_LSL = 98;;
+let _ARM_INS_LSR = 99;;
+let _ARM_INS_MCR = 100;;
+let _ARM_INS_MCR2 = 101;;
+let _ARM_INS_MCRR = 102;;
+let _ARM_INS_MCRR2 = 103;;
+let _ARM_INS_MLA = 104;;
+let _ARM_INS_MLS = 105;;
+let _ARM_INS_MOV = 106;;
+let _ARM_INS_MOVS = 107;;
+let _ARM_INS_MOVT = 108;;
+let _ARM_INS_MOVW = 109;;
+let _ARM_INS_MRC = 110;;
+let _ARM_INS_MRC2 = 111;;
+let _ARM_INS_MRRC = 112;;
+let _ARM_INS_MRRC2 = 113;;
+let _ARM_INS_MRS = 114;;
+let _ARM_INS_MSR = 115;;
+let _ARM_INS_MUL = 116;;
+let _ARM_INS_MVN = 117;;
+let _ARM_INS_NEG = 118;;
+let _ARM_INS_NOP = 119;;
+let _ARM_INS_ORN = 120;;
+let _ARM_INS_ORR = 121;;
+let _ARM_INS_PKHBT = 122;;
+let _ARM_INS_PKHTB = 123;;
+let _ARM_INS_PLD = 124;;
+let _ARM_INS_PLDW = 125;;
+let _ARM_INS_PLI = 126;;
+let _ARM_INS_POP = 127;;
+let _ARM_INS_PUSH = 128;;
+let _ARM_INS_QADD = 129;;
+let _ARM_INS_QADD16 = 130;;
+let _ARM_INS_QADD8 = 131;;
+let _ARM_INS_QASX = 132;;
+let _ARM_INS_QDADD = 133;;
+let _ARM_INS_QDSUB = 134;;
+let _ARM_INS_QSAX = 135;;
+let _ARM_INS_QSUB = 136;;
+let _ARM_INS_QSUB16 = 137;;
+let _ARM_INS_QSUB8 = 138;;
+let _ARM_INS_RBIT = 139;;
+let _ARM_INS_REV = 140;;
+let _ARM_INS_REV16 = 141;;
+let _ARM_INS_REVSH = 142;;
+let _ARM_INS_RFEDA = 143;;
+let _ARM_INS_RFEDB = 144;;
+let _ARM_INS_RFEIA = 145;;
+let _ARM_INS_RFEIB = 146;;
+let _ARM_INS_ROR = 147;;
+let _ARM_INS_RRX = 148;;
+let _ARM_INS_RSB = 149;;
+let _ARM_INS_RSC = 150;;
+let _ARM_INS_SADD16 = 151;;
+let _ARM_INS_SADD8 = 152;;
+let _ARM_INS_SASX = 153;;
+let _ARM_INS_SBC = 154;;
+let _ARM_INS_SBFX = 155;;
+let _ARM_INS_SDIV = 156;;
+let _ARM_INS_SEL = 157;;
+let _ARM_INS_SETEND = 158;;
+let _ARM_INS_SETPAN = 159;;
+let _ARM_INS_SEV = 160;;
+let _ARM_INS_SEVL = 161;;
+let _ARM_INS_SG = 162;;
+let _ARM_INS_SHA1C = 163;;
+let _ARM_INS_SHA1H = 164;;
+let _ARM_INS_SHA1M = 165;;
+let _ARM_INS_SHA1P = 166;;
+let _ARM_INS_SHA1SU0 = 167;;
+let _ARM_INS_SHA1SU1 = 168;;
+let _ARM_INS_SHA256H = 169;;
+let _ARM_INS_SHA256H2 = 170;;
+let _ARM_INS_SHA256SU0 = 171;;
+let _ARM_INS_SHA256SU1 = 172;;
+let _ARM_INS_SHADD16 = 173;;
+let _ARM_INS_SHADD8 = 174;;
+let _ARM_INS_SHASX = 175;;
+let _ARM_INS_SHSAX = 176;;
+let _ARM_INS_SHSUB16 = 177;;
+let _ARM_INS_SHSUB8 = 178;;
+let _ARM_INS_SMC = 179;;
+let _ARM_INS_SMLABB = 180;;
+let _ARM_INS_SMLABT = 181;;
+let _ARM_INS_SMLAD = 182;;
+let _ARM_INS_SMLADX = 183;;
+let _ARM_INS_SMLAL = 184;;
+let _ARM_INS_SMLALBB = 185;;
+let _ARM_INS_SMLALBT = 186;;
+let _ARM_INS_SMLALD = 187;;
+let _ARM_INS_SMLALDX = 188;;
+let _ARM_INS_SMLALTB = 189;;
+let _ARM_INS_SMLALTT = 190;;
+let _ARM_INS_SMLATB = 191;;
+let _ARM_INS_SMLATT = 192;;
+let _ARM_INS_SMLAWB = 193;;
+let _ARM_INS_SMLAWT = 194;;
+let _ARM_INS_SMLSD = 195;;
+let _ARM_INS_SMLSDX = 196;;
+let _ARM_INS_SMLSLD = 197;;
+let _ARM_INS_SMLSLDX = 198;;
+let _ARM_INS_SMMLA = 199;;
+let _ARM_INS_SMMLAR = 200;;
+let _ARM_INS_SMMLS = 201;;
+let _ARM_INS_SMMLSR = 202;;
+let _ARM_INS_SMMUL = 203;;
+let _ARM_INS_SMMULR = 204;;
+let _ARM_INS_SMUAD = 205;;
+let _ARM_INS_SMUADX = 206;;
+let _ARM_INS_SMULBB = 207;;
+let _ARM_INS_SMULBT = 208;;
+let _ARM_INS_SMULL = 209;;
+let _ARM_INS_SMULTB = 210;;
+let _ARM_INS_SMULTT = 211;;
+let _ARM_INS_SMULWB = 212;;
+let _ARM_INS_SMULWT = 213;;
+let _ARM_INS_SMUSD = 214;;
+let _ARM_INS_SMUSDX = 215;;
+let _ARM_INS_SRSDA = 216;;
+let _ARM_INS_SRSDB = 217;;
+let _ARM_INS_SRSIA = 218;;
+let _ARM_INS_SRSIB = 219;;
+let _ARM_INS_SSAT = 220;;
+let _ARM_INS_SSAT16 = 221;;
+let _ARM_INS_SSAX = 222;;
+let _ARM_INS_SSUB16 = 223;;
+let _ARM_INS_SSUB8 = 224;;
+let _ARM_INS_STC = 225;;
+let _ARM_INS_STC2 = 226;;
+let _ARM_INS_STC2L = 227;;
+let _ARM_INS_STCL = 228;;
+let _ARM_INS_STL = 229;;
+let _ARM_INS_STLB = 230;;
+let _ARM_INS_STLEX = 231;;
+let _ARM_INS_STLEXB = 232;;
+let _ARM_INS_STLEXD = 233;;
+let _ARM_INS_STLEXH = 234;;
+let _ARM_INS_STLH = 235;;
+let _ARM_INS_STM = 236;;
+let _ARM_INS_STMDA = 237;;
+let _ARM_INS_STMDB = 238;;
+let _ARM_INS_STMIB = 239;;
+let _ARM_INS_STR = 240;;
+let _ARM_INS_STRB = 241;;
+let _ARM_INS_STRBT = 242;;
+let _ARM_INS_STRD = 243;;
+let _ARM_INS_STREX = 244;;
+let _ARM_INS_STREXB = 245;;
+let _ARM_INS_STREXD = 246;;
+let _ARM_INS_STREXH = 247;;
+let _ARM_INS_STRH = 248;;
+let _ARM_INS_STRHT = 249;;
+let _ARM_INS_STRT = 250;;
+let _ARM_INS_SUB = 251;;
+let _ARM_INS_SUBS = 252;;
+let _ARM_INS_SUBW = 253;;
+let _ARM_INS_SVC = 254;;
+let _ARM_INS_SWP = 255;;
+let _ARM_INS_SWPB = 256;;
+let _ARM_INS_SXTAB = 257;;
+let _ARM_INS_SXTAB16 = 258;;
+let _ARM_INS_SXTAH = 259;;
+let _ARM_INS_SXTB = 260;;
+let _ARM_INS_SXTB16 = 261;;
+let _ARM_INS_SXTH = 262;;
+let _ARM_INS_TBB = 263;;
+let _ARM_INS_TBH = 264;;
+let _ARM_INS_TEQ = 265;;
+let _ARM_INS_TRAP = 266;;
+let _ARM_INS_TSB = 267;;
+let _ARM_INS_TST = 268;;
+let _ARM_INS_TT = 269;;
+let _ARM_INS_TTA = 270;;
+let _ARM_INS_TTAT = 271;;
+let _ARM_INS_TTT = 272;;
+let _ARM_INS_UADD16 = 273;;
+let _ARM_INS_UADD8 = 274;;
+let _ARM_INS_UASX = 275;;
+let _ARM_INS_UBFX = 276;;
+let _ARM_INS_UDF = 277;;
+let _ARM_INS_UDIV = 278;;
+let _ARM_INS_UHADD16 = 279;;
+let _ARM_INS_UHADD8 = 280;;
+let _ARM_INS_UHASX = 281;;
+let _ARM_INS_UHSAX = 282;;
+let _ARM_INS_UHSUB16 = 283;;
+let _ARM_INS_UHSUB8 = 284;;
+let _ARM_INS_UMAAL = 285;;
+let _ARM_INS_UMLAL = 286;;
+let _ARM_INS_UMULL = 287;;
+let _ARM_INS_UQADD16 = 288;;
+let _ARM_INS_UQADD8 = 289;;
+let _ARM_INS_UQASX = 290;;
+let _ARM_INS_UQSAX = 291;;
+let _ARM_INS_UQSUB16 = 292;;
+let _ARM_INS_UQSUB8 = 293;;
+let _ARM_INS_USAD8 = 294;;
+let _ARM_INS_USADA8 = 295;;
+let _ARM_INS_USAT = 296;;
+let _ARM_INS_USAT16 = 297;;
+let _ARM_INS_USAX = 298;;
+let _ARM_INS_USUB16 = 299;;
+let _ARM_INS_USUB8 = 300;;
+let _ARM_INS_UXTAB = 301;;
+let _ARM_INS_UXTAB16 = 302;;
+let _ARM_INS_UXTAH = 303;;
+let _ARM_INS_UXTB = 304;;
+let _ARM_INS_UXTB16 = 305;;
+let _ARM_INS_UXTH = 306;;
+let _ARM_INS_VABA = 307;;
+let _ARM_INS_VABAL = 308;;
+let _ARM_INS_VABD = 309;;
+let _ARM_INS_VABDL = 310;;
+let _ARM_INS_VABS = 311;;
+let _ARM_INS_VACGE = 312;;
+let _ARM_INS_VACGT = 313;;
+let _ARM_INS_VACLE = 314;;
+let _ARM_INS_VACLT = 315;;
+let _ARM_INS_VADD = 316;;
+let _ARM_INS_VADDHN = 317;;
+let _ARM_INS_VADDL = 318;;
+let _ARM_INS_VADDW = 319;;
+let _ARM_INS_VAND = 320;;
+let _ARM_INS_VBIC = 321;;
+let _ARM_INS_VBIF = 322;;
+let _ARM_INS_VBIT = 323;;
+let _ARM_INS_VBSL = 324;;
+let _ARM_INS_VCADD = 325;;
+let _ARM_INS_VCEQ = 326;;
+let _ARM_INS_VCGE = 327;;
+let _ARM_INS_VCGT = 328;;
+let _ARM_INS_VCLE = 329;;
+let _ARM_INS_VCLS = 330;;
+let _ARM_INS_VCLT = 331;;
+let _ARM_INS_VCLZ = 332;;
+let _ARM_INS_VCMLA = 333;;
+let _ARM_INS_VCMP = 334;;
+let _ARM_INS_VCMPE = 335;;
+let _ARM_INS_VCNT = 336;;
+let _ARM_INS_VCVT = 337;;
+let _ARM_INS_VCVTA = 338;;
+let _ARM_INS_VCVTB = 339;;
+let _ARM_INS_VCVTM = 340;;
+let _ARM_INS_VCVTN = 341;;
+let _ARM_INS_VCVTP = 342;;
+let _ARM_INS_VCVTR = 343;;
+let _ARM_INS_VCVTT = 344;;
+let _ARM_INS_VDIV = 345;;
+let _ARM_INS_VDUP = 346;;
+let _ARM_INS_VEOR = 347;;
+let _ARM_INS_VEXT = 348;;
+let _ARM_INS_VFMA = 349;;
+let _ARM_INS_VFMS = 350;;
+let _ARM_INS_VFNMA = 351;;
+let _ARM_INS_VFNMS = 352;;
+let _ARM_INS_VHADD = 353;;
+let _ARM_INS_VHSUB = 354;;
+let _ARM_INS_VINS = 355;;
+let _ARM_INS_VJCVT = 356;;
+let _ARM_INS_VLD1 = 357;;
+let _ARM_INS_VLD2 = 358;;
+let _ARM_INS_VLD3 = 359;;
+let _ARM_INS_VLD4 = 360;;
+let _ARM_INS_VLDMDB = 361;;
+let _ARM_INS_VLDMIA = 362;;
+let _ARM_INS_VLDR = 363;;
+let _ARM_INS_VLLDM = 364;;
+let _ARM_INS_VLSTM = 365;;
+let _ARM_INS_VMAX = 366;;
+let _ARM_INS_VMAXNM = 367;;
+let _ARM_INS_VMIN = 368;;
+let _ARM_INS_VMINNM = 369;;
+let _ARM_INS_VMLA = 370;;
+let _ARM_INS_VMLAL = 371;;
+let _ARM_INS_VMLS = 372;;
+let _ARM_INS_VMLSL = 373;;
+let _ARM_INS_VMOV = 374;;
+let _ARM_INS_VMOVL = 375;;
+let _ARM_INS_VMOVN = 376;;
+let _ARM_INS_VMOVX = 377;;
+let _ARM_INS_VMRS = 378;;
+let _ARM_INS_VMSR = 379;;
+let _ARM_INS_VMUL = 380;;
+let _ARM_INS_VMULL = 381;;
+let _ARM_INS_VMVN = 382;;
+let _ARM_INS_VNEG = 383;;
+let _ARM_INS_VNMLA = 384;;
+let _ARM_INS_VNMLS = 385;;
+let _ARM_INS_VNMUL = 386;;
+let _ARM_INS_VORN = 387;;
+let _ARM_INS_VORR = 388;;
+let _ARM_INS_VPADAL = 389;;
+let _ARM_INS_VPADD = 390;;
+let _ARM_INS_VPADDL = 391;;
+let _ARM_INS_VPMAX = 392;;
+let _ARM_INS_VPMIN = 393;;
+let _ARM_INS_VPOP = 394;;
+let _ARM_INS_VPUSH = 395;;
+let _ARM_INS_VQABS = 396;;
+let _ARM_INS_VQADD = 397;;
+let _ARM_INS_VQDMLAL = 398;;
+let _ARM_INS_VQDMLSL = 399;;
+let _ARM_INS_VQDMULH = 400;;
+let _ARM_INS_VQDMULL = 401;;
+let _ARM_INS_VQMOVN = 402;;
+let _ARM_INS_VQMOVUN = 403;;
+let _ARM_INS_VQNEG = 404;;
+let _ARM_INS_VQRDMLAH = 405;;
+let _ARM_INS_VQRDMLSH = 406;;
+let _ARM_INS_VQRDMULH = 407;;
+let _ARM_INS_VQRSHL = 408;;
+let _ARM_INS_VQRSHRN = 409;;
+let _ARM_INS_VQRSHRUN = 410;;
+let _ARM_INS_VQSHL = 411;;
+let _ARM_INS_VQSHLU = 412;;
+let _ARM_INS_VQSHRN = 413;;
+let _ARM_INS_VQSHRUN = 414;;
+let _ARM_INS_VQSUB = 415;;
+let _ARM_INS_VRADDHN = 416;;
+let _ARM_INS_VRECPE = 417;;
+let _ARM_INS_VRECPS = 418;;
+let _ARM_INS_VREV16 = 419;;
+let _ARM_INS_VREV32 = 420;;
+let _ARM_INS_VREV64 = 421;;
+let _ARM_INS_VRHADD = 422;;
+let _ARM_INS_VRINTA = 423;;
+let _ARM_INS_VRINTM = 424;;
+let _ARM_INS_VRINTN = 425;;
+let _ARM_INS_VRINTP = 426;;
+let _ARM_INS_VRINTR = 427;;
+let _ARM_INS_VRINTX = 428;;
+let _ARM_INS_VRINTZ = 429;;
+let _ARM_INS_VRSHL = 430;;
+let _ARM_INS_VRSHR = 431;;
+let _ARM_INS_VRSHRN = 432;;
+let _ARM_INS_VRSQRTE = 433;;
+let _ARM_INS_VRSQRTS = 434;;
+let _ARM_INS_VRSRA = 435;;
+let _ARM_INS_VRSUBHN = 436;;
+let _ARM_INS_VSDOT = 437;;
+let _ARM_INS_VSELEQ = 438;;
+let _ARM_INS_VSELGE = 439;;
+let _ARM_INS_VSELGT = 440;;
+let _ARM_INS_VSELVS = 441;;
+let _ARM_INS_VSHL = 442;;
+let _ARM_INS_VSHLL = 443;;
+let _ARM_INS_VSHR = 444;;
+let _ARM_INS_VSHRN = 445;;
+let _ARM_INS_VSLI = 446;;
+let _ARM_INS_VSQRT = 447;;
+let _ARM_INS_VSRA = 448;;
+let _ARM_INS_VSRI = 449;;
+let _ARM_INS_VST1 = 450;;
+let _ARM_INS_VST2 = 451;;
+let _ARM_INS_VST3 = 452;;
+let _ARM_INS_VST4 = 453;;
+let _ARM_INS_VSTMDB = 454;;
+let _ARM_INS_VSTMIA = 455;;
+let _ARM_INS_VSTR = 456;;
+let _ARM_INS_VSUB = 457;;
+let _ARM_INS_VSUBHN = 458;;
+let _ARM_INS_VSUBL = 459;;
+let _ARM_INS_VSUBW = 460;;
+let _ARM_INS_VSWP = 461;;
+let _ARM_INS_VTBL = 462;;
+let _ARM_INS_VTBX = 463;;
+let _ARM_INS_VTRN = 464;;
+let _ARM_INS_VTST = 465;;
+let _ARM_INS_VUDOT = 466;;
+let _ARM_INS_VUZP = 467;;
+let _ARM_INS_VZIP = 468;;
+let _ARM_INS_WFE = 469;;
+let _ARM_INS_WFI = 470;;
+let _ARM_INS_YIELD = 471;;
+let _ARM_INS_ENDING = 472;;
+
+let _ARM_GRP_INVALID = 0;;
+let _ARM_GRP_JUMP = 1;;
+let _ARM_GRP_CALL = 2;;
+let _ARM_GRP_INT = 4;;
+let _ARM_GRP_PRIVILEGE = 6;;
+let _ARM_GRP_BRANCH_RELATIVE = 7;;
+let _ARM_GRP_CRYPTO = 128;;
+let _ARM_GRP_DATABARRIER = 129;;
+let _ARM_GRP_DIVIDE = 130;;
+let _ARM_GRP_FPARMV8 = 131;;
+let _ARM_GRP_MULTPRO = 132;;
+let _ARM_GRP_NEON = 133;;
+let _ARM_GRP_T2EXTRACTPACK = 134;;
+let _ARM_GRP_THUMB2DSP = 135;;
+let _ARM_GRP_TRUSTZONE = 136;;
+let _ARM_GRP_V4T = 137;;
+let _ARM_GRP_V5T = 138;;
+let _ARM_GRP_V5TE = 139;;
+let _ARM_GRP_V6 = 140;;
+let _ARM_GRP_V6T2 = 141;;
+let _ARM_GRP_V7 = 142;;
+let _ARM_GRP_V8 = 143;;
+let _ARM_GRP_VFP2 = 144;;
+let _ARM_GRP_VFP3 = 145;;
+let _ARM_GRP_VFP4 = 146;;
+let _ARM_GRP_ARM = 147;;
+let _ARM_GRP_MCLASS = 148;;
+let _ARM_GRP_NOTMCLASS = 149;;
+let _ARM_GRP_THUMB = 150;;
+let _ARM_GRP_THUMB1ONLY = 151;;
+let _ARM_GRP_THUMB2 = 152;;
+let _ARM_GRP_PREV8 = 153;;
+let _ARM_GRP_FPVMLX = 154;;
+let _ARM_GRP_MULOPS = 155;;
+let _ARM_GRP_CRC = 156;;
+let _ARM_GRP_DPVFP = 157;;
+let _ARM_GRP_V6M = 158;;
+let _ARM_GRP_VIRTUALIZATION = 159;;
+let _ARM_GRP_ENDING = 160;;
diff --git a/capstone/bindings/ocaml/capstone.ml b/capstone/bindings/ocaml/capstone.ml
new file mode 100644
index 000000000..9d7a8dbc3
--- /dev/null
+++ b/capstone/bindings/ocaml/capstone.ml
@@ -0,0 +1,214 @@
+(* Capstone Disassembly Engine
+ * By Nguyen Anh Quynh <aquynh@gmail.com>, 2013-2014 *)
+
+open Arm
+open Arm64
+open Mips
+open Ppc
+open X86
+open Sparc
+open Systemz
+open Xcore
+open M680x
+open Printf (* debug *)
+
+(* Hardware architectures *)
+type arch =
+ | CS_ARCH_ARM
+ | CS_ARCH_ARM64
+ | CS_ARCH_MIPS
+ | CS_ARCH_X86
+ | CS_ARCH_PPC
+ | CS_ARCH_SPARC
+ | CS_ARCH_SYSZ
+ | CS_ARCH_XCORE
+ | CS_ARCH_M68K
+ | CS_ARCH_TMS320C64X
+ | CS_ARCH_M680X
+
+(* Hardware modes *)
+type mode =
+ | CS_MODE_LITTLE_ENDIAN (* little-endian mode (default mode) *)
+ | CS_MODE_ARM (* ARM mode *)
+ | CS_MODE_16 (* 16-bit mode (for X86) *)
+ | CS_MODE_32 (* 32-bit mode (for X86) *)
+ | CS_MODE_64 (* 64-bit mode (for X86, PPC) *)
+ | CS_MODE_THUMB (* ARM's Thumb mode, including Thumb-2 *)
+ | CS_MODE_MCLASS (* ARM's MClass mode *)
+ | CS_MODE_V8 (* ARMv8 A32 encodings for ARM *)
+ | CS_MODE_MICRO (* MicroMips mode (MIPS architecture) *)
+ | CS_MODE_MIPS3 (* Mips3 mode (MIPS architecture) *)
+ | CS_MODE_MIPS32R6 (* Mips32-R6 mode (MIPS architecture) *)
+ | CS_MODE_MIPS2 (* Mips2 mode (MIPS architecture) *)
+ | CS_MODE_V9 (* SparcV9 mode (Sparc architecture) *)
+ | CS_MODE_BIG_ENDIAN (* big-endian mode *)
+ | CS_MODE_MIPS32 (* Mips32 mode (for Mips) *)
+ | CS_MODE_MIPS64 (* Mips64 mode (for Mips) *)
+ | CS_MODE_QPX (* Quad Processing eXtensions mode (PowerPC) *)
+ | CS_MODE_M680X_6301 (* M680X Hitachi 6301,6303 mode *)
+ | CS_MODE_M680X_6309 (* M680X Hitachi 6309 mode *)
+ | CS_MODE_M680X_6800 (* M680X Motorola 6800,6802 mode *)
+ | CS_MODE_M680X_6801 (* M680X Motorola 6801,6803 mode *)
+ | CS_MODE_M680X_6805 (* M680X Motorola 6805 mode *)
+ | CS_MODE_M680X_6808 (* M680X Motorola 6808 mode *)
+ | CS_MODE_M680X_6809 (* M680X Motorola 6809 mode *)
+ | CS_MODE_M680X_6811 (* M680X Motorola/Freescale 68HC11 mode *)
+ | CS_MODE_M680X_CPU12 (* M680X Motorola/Freescale/NXP CPU12 mode *)
+ | CS_MODE_M680X_HCS08 (* M680X Freescale HCS08 mode *)
+
+
+
+(* Runtime option for the disassembled engine *)
+type opt_type =
+ | CS_OPT_SYNTAX (* Asssembly 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 *)
+ | CS_OPT_SKIPDATA (* Skip data when disassembling. Then engine is in SKIPDATA mode. *)
+ | CS_OPT_SKIPDATA_SETUP (* Setup user-defined function for SKIPDATA option *)
+
+
+(* Common instruction operand access types - to be consistent across all architectures. *)
+(* It is possible to combine access types, for example: CS_AC_READ | CS_AC_WRITE *)
+let _CS_AC_INVALID = 0;; (* Uninitialized/invalid access type. *)
+let _CS_AC_READ = 1 lsl 0;; (* Operand read from memory or register. *)
+let _CS_AC_WRITE = 1 lsl 1;; (* Operand write to memory or register. *)
+
+(* Runtime option value (associated with option type above) *)
+let _CS_OPT_OFF = 0L;; (* Turn OFF an option - default option of CS_OPT_DETAIL, CS_OPT_SKIPDATA. *)
+let _CS_OPT_ON = 3L;; (* Turn ON an option (CS_OPT_DETAIL, CS_OPT_SKIPDATA). *)
+let _CS_OPT_SYNTAX_DEFAULT = 0L;; (* Default asm syntax (CS_OPT_SYNTAX). *)
+let _CS_OPT_SYNTAX_INTEL = 1L;; (* X86 Intel asm syntax - default on X86 (CS_OPT_SYNTAX). *)
+let _CS_OPT_SYNTAX_ATT = 2L;; (* X86 ATT asm syntax (CS_OPT_SYNTAX). *)
+let _CS_OPT_SYNTAX_NOREGNAME = 3L;; (* Prints register name with only number (CS_OPT_SYNTAX) *)
+
+(* Common instruction operand types - to be consistent across all architectures. *)
+let _CS_OP_INVALID = 0;; (* uninitialized/invalid operand. *)
+let _CS_OP_REG = 1;; (* Register operand. *)
+let _CS_OP_IMM = 2;; (* Immediate operand. *)
+let _CS_OP_MEM = 3;; (* Memory operand. *)
+let _CS_OP_FP = 4;; (* Floating-Point operand. *)
+
+(* Common instruction groups - to be consistent across all architectures. *)
+let _CS_GRP_INVALID = 0;; (* uninitialized/invalid group. *)
+let _CS_GRP_JUMP = 1;; (* all jump instructions (conditional+direct+indirect jumps) *)
+let _CS_GRP_CALL = 2;; (* all call instructions *)
+let _CS_GRP_RET = 3;; (* all return instructions *)
+let _CS_GRP_INT = 4;; (* all interrupt instructions (int+syscall) *)
+let _CS_GRP_IRET = 5;; (* all interrupt return instructions *)
+let _CS_GRP_PRIVILEGE = 6;; (* all privileged instructions *)
+
+type cs_arch =
+ | CS_INFO_ARM of cs_arm
+ | CS_INFO_ARM64 of cs_arm64
+ | CS_INFO_MIPS of cs_mips
+ | CS_INFO_X86 of cs_x86
+ | CS_INFO_PPC of cs_ppc
+ | CS_INFO_SPARC of cs_sparc
+ | CS_INFO_SYSZ of cs_sysz
+ | CS_INFO_XCORE of cs_xcore
+ | CS_INFO_M680X of cs_m680x
+
+
+type csh = {
+ h: Int64.t;
+ a: arch;
+}
+
+type cs_insn0 = {
+ id: int;
+ address: int;
+ size: int;
+ bytes: int array;
+ mnemonic: string;
+ op_str: string;
+ regs_read: int array;
+ regs_write: int array;
+ groups: int array;
+ arch: cs_arch;
+}
+
+external _cs_open: arch -> mode list -> Int64.t option = "ocaml_open"
+external cs_disasm_quick: arch -> mode list -> string -> Int64.t -> Int64.t -> cs_insn0 list = "ocaml_cs_disasm"
+external _cs_disasm_internal: arch -> Int64.t -> string -> Int64.t -> Int64.t -> cs_insn0 list = "ocaml_cs_disasm_internal"
+external _cs_reg_name: Int64.t -> int -> string = "ocaml_register_name"
+external _cs_insn_name: Int64.t -> int -> string = "ocaml_instruction_name"
+external _cs_group_name: Int64.t -> int -> string = "ocaml_group_name"
+external cs_version: unit -> int = "ocaml_version"
+external _cs_option: Int64.t -> opt_type -> Int64.t -> int = "ocaml_option"
+external _cs_close: Int64.t -> int = "ocaml_close"
+
+
+let cs_open _arch _mode: csh = (
+ let _handle = _cs_open _arch _mode in (
+ match _handle with
+ | None -> { h = 0L; a = _arch }
+ | Some v -> { h = v; a = _arch }
+ );
+);;
+
+let cs_close handle = (
+ _cs_close handle.h;
+)
+
+let cs_option handle opt value = (
+ _cs_option handle.h opt value;
+);;
+
+let cs_disasm handle code address count = (
+ _cs_disasm_internal handle.a handle.h code address count;
+);;
+
+let cs_reg_name handle id = (
+ _cs_reg_name handle.h id;
+);;
+
+let cs_insn_name handle id = (
+ _cs_insn_name handle.h id;
+);;
+
+let cs_group_name handle id = (
+ _cs_group_name handle.h id;
+);;
+
+class cs_insn c a =
+ let csh = c in
+ let (id, address, size, bytes, mnemonic, op_str, regs_read,
+ regs_write, groups, arch) =
+ (a.id, a.address, a.size, a.bytes, a.mnemonic, a.op_str,
+ a.regs_read, a.regs_write, a.groups, a.arch) in
+ object
+ method id = id;
+ method address = address;
+ method size = size;
+ method bytes = bytes;
+ method mnemonic = mnemonic;
+ method op_str = op_str;
+ method regs_read = regs_read;
+ method regs_write = regs_write;
+ method groups = groups;
+ method arch = arch;
+ method reg_name id = _cs_reg_name csh.h id;
+ method insn_name id = _cs_insn_name csh.h id;
+ method group_name id = _cs_group_name csh.h id;
+ end;;
+
+let cs_insn_group handle insn group_id =
+ List.exists (fun g -> g == group_id) (Array.to_list insn.groups);;
+
+let cs_reg_read handle insn reg_id =
+ List.exists (fun g -> g == reg_id) (Array.to_list insn.regs_read);;
+
+let cs_reg_write handle insn reg_id =
+ List.exists (fun g -> g == reg_id) (Array.to_list insn.regs_write);;
+
+
+class cs a m =
+ let mode = m and arch = a in
+ let handle = cs_open arch mode in
+ object
+ method disasm code offset count =
+ let insns = (_cs_disasm_internal arch handle.h code offset count) in
+ List.map (fun x -> new cs_insn handle x) insns;
+
+ end;;
diff --git a/capstone/bindings/ocaml/evm_const.ml b/capstone/bindings/ocaml/evm_const.ml
new file mode 100644
index 000000000..050a8b473
--- /dev/null
+++ b/capstone/bindings/ocaml/evm_const.ml
@@ -0,0 +1,151 @@
+(* For Capstone Engine. AUTO-GENERATED FILE, DO NOT EDIT [evm_const.ml] *)
+
+let _EVM_INS_STOP = 0;;
+let _EVM_INS_ADD = 1;;
+let _EVM_INS_MUL = 2;;
+let _EVM_INS_SUB = 3;;
+let _EVM_INS_DIV = 4;;
+let _EVM_INS_SDIV = 5;;
+let _EVM_INS_MOD = 6;;
+let _EVM_INS_SMOD = 7;;
+let _EVM_INS_ADDMOD = 8;;
+let _EVM_INS_MULMOD = 9;;
+let _EVM_INS_EXP = 10;;
+let _EVM_INS_SIGNEXTEND = 11;;
+let _EVM_INS_LT = 16;;
+let _EVM_INS_GT = 17;;
+let _EVM_INS_SLT = 18;;
+let _EVM_INS_SGT = 19;;
+let _EVM_INS_EQ = 20;;
+let _EVM_INS_ISZERO = 21;;
+let _EVM_INS_AND = 22;;
+let _EVM_INS_OR = 23;;
+let _EVM_INS_XOR = 24;;
+let _EVM_INS_NOT = 25;;
+let _EVM_INS_BYTE = 26;;
+let _EVM_INS_SHA3 = 32;;
+let _EVM_INS_ADDRESS = 48;;
+let _EVM_INS_BALANCE = 49;;
+let _EVM_INS_ORIGIN = 50;;
+let _EVM_INS_CALLER = 51;;
+let _EVM_INS_CALLVALUE = 52;;
+let _EVM_INS_CALLDATALOAD = 53;;
+let _EVM_INS_CALLDATASIZE = 54;;
+let _EVM_INS_CALLDATACOPY = 55;;
+let _EVM_INS_CODESIZE = 56;;
+let _EVM_INS_CODECOPY = 57;;
+let _EVM_INS_GASPRICE = 58;;
+let _EVM_INS_EXTCODESIZE = 59;;
+let _EVM_INS_EXTCODECOPY = 60;;
+let _EVM_INS_RETURNDATASIZE = 61;;
+let _EVM_INS_RETURNDATACOPY = 62;;
+let _EVM_INS_BLOCKHASH = 64;;
+let _EVM_INS_COINBASE = 65;;
+let _EVM_INS_TIMESTAMP = 66;;
+let _EVM_INS_NUMBER = 67;;
+let _EVM_INS_DIFFICULTY = 68;;
+let _EVM_INS_GASLIMIT = 69;;
+let _EVM_INS_POP = 80;;
+let _EVM_INS_MLOAD = 81;;
+let _EVM_INS_MSTORE = 82;;
+let _EVM_INS_MSTORE8 = 83;;
+let _EVM_INS_SLOAD = 84;;
+let _EVM_INS_SSTORE = 85;;
+let _EVM_INS_JUMP = 86;;
+let _EVM_INS_JUMPI = 87;;
+let _EVM_INS_PC = 88;;
+let _EVM_INS_MSIZE = 89;;
+let _EVM_INS_GAS = 90;;
+let _EVM_INS_JUMPDEST = 91;;
+let _EVM_INS_PUSH1 = 96;;
+let _EVM_INS_PUSH2 = 97;;
+let _EVM_INS_PUSH3 = 98;;
+let _EVM_INS_PUSH4 = 99;;
+let _EVM_INS_PUSH5 = 100;;
+let _EVM_INS_PUSH6 = 101;;
+let _EVM_INS_PUSH7 = 102;;
+let _EVM_INS_PUSH8 = 103;;
+let _EVM_INS_PUSH9 = 104;;
+let _EVM_INS_PUSH10 = 105;;
+let _EVM_INS_PUSH11 = 106;;
+let _EVM_INS_PUSH12 = 107;;
+let _EVM_INS_PUSH13 = 108;;
+let _EVM_INS_PUSH14 = 109;;
+let _EVM_INS_PUSH15 = 110;;
+let _EVM_INS_PUSH16 = 111;;
+let _EVM_INS_PUSH17 = 112;;
+let _EVM_INS_PUSH18 = 113;;
+let _EVM_INS_PUSH19 = 114;;
+let _EVM_INS_PUSH20 = 115;;
+let _EVM_INS_PUSH21 = 116;;
+let _EVM_INS_PUSH22 = 117;;
+let _EVM_INS_PUSH23 = 118;;
+let _EVM_INS_PUSH24 = 119;;
+let _EVM_INS_PUSH25 = 120;;
+let _EVM_INS_PUSH26 = 121;;
+let _EVM_INS_PUSH27 = 122;;
+let _EVM_INS_PUSH28 = 123;;
+let _EVM_INS_PUSH29 = 124;;
+let _EVM_INS_PUSH30 = 125;;
+let _EVM_INS_PUSH31 = 126;;
+let _EVM_INS_PUSH32 = 127;;
+let _EVM_INS_DUP1 = 128;;
+let _EVM_INS_DUP2 = 129;;
+let _EVM_INS_DUP3 = 130;;
+let _EVM_INS_DUP4 = 131;;
+let _EVM_INS_DUP5 = 132;;
+let _EVM_INS_DUP6 = 133;;
+let _EVM_INS_DUP7 = 134;;
+let _EVM_INS_DUP8 = 135;;
+let _EVM_INS_DUP9 = 136;;
+let _EVM_INS_DUP10 = 137;;
+let _EVM_INS_DUP11 = 138;;
+let _EVM_INS_DUP12 = 139;;
+let _EVM_INS_DUP13 = 140;;
+let _EVM_INS_DUP14 = 141;;
+let _EVM_INS_DUP15 = 142;;
+let _EVM_INS_DUP16 = 143;;
+let _EVM_INS_SWAP1 = 144;;
+let _EVM_INS_SWAP2 = 145;;
+let _EVM_INS_SWAP3 = 146;;
+let _EVM_INS_SWAP4 = 147;;
+let _EVM_INS_SWAP5 = 148;;
+let _EVM_INS_SWAP6 = 149;;
+let _EVM_INS_SWAP7 = 150;;
+let _EVM_INS_SWAP8 = 151;;
+let _EVM_INS_SWAP9 = 152;;
+let _EVM_INS_SWAP10 = 153;;
+let _EVM_INS_SWAP11 = 154;;
+let _EVM_INS_SWAP12 = 155;;
+let _EVM_INS_SWAP13 = 156;;
+let _EVM_INS_SWAP14 = 157;;
+let _EVM_INS_SWAP15 = 158;;
+let _EVM_INS_SWAP16 = 159;;
+let _EVM_INS_LOG0 = 160;;
+let _EVM_INS_LOG1 = 161;;
+let _EVM_INS_LOG2 = 162;;
+let _EVM_INS_LOG3 = 163;;
+let _EVM_INS_LOG4 = 164;;
+let _EVM_INS_CREATE = 240;;
+let _EVM_INS_CALL = 241;;
+let _EVM_INS_CALLCODE = 242;;
+let _EVM_INS_RETURN = 243;;
+let _EVM_INS_DELEGATECALL = 244;;
+let _EVM_INS_CALLBLACKBOX = 245;;
+let _EVM_INS_STATICCALL = 250;;
+let _EVM_INS_REVERT = 253;;
+let _EVM_INS_SUICIDE = 255;;
+let _EVM_INS_INVALID = 512;;
+let _EVM_INS_ENDING = 513;;
+
+let _EVM_GRP_INVALID = 0;;
+let _EVM_GRP_JUMP = 1;;
+let _EVM_GRP_MATH = 8;;
+let _EVM_GRP_STACK_WRITE = 9;;
+let _EVM_GRP_STACK_READ = 10;;
+let _EVM_GRP_MEM_WRITE = 11;;
+let _EVM_GRP_MEM_READ = 12;;
+let _EVM_GRP_STORE_WRITE = 13;;
+let _EVM_GRP_STORE_READ = 14;;
+let _EVM_GRP_HALT = 15;;
+let _EVM_GRP_ENDING = 16;;
diff --git a/capstone/bindings/ocaml/m680x.ml b/capstone/bindings/ocaml/m680x.ml
new file mode 100644
index 000000000..139715db9
--- /dev/null
+++ b/capstone/bindings/ocaml/m680x.ml
@@ -0,0 +1,48 @@
+(* Capstone Disassembly Engine
+ * M680X Backend by Wolfgang Schwotzer <wolfgang.schwotzer@gmx.net> 2017 *)
+
+open M680x_const
+
+
+(* architecture specific info of instruction *)
+type m680x_op_idx = {
+ base_reg: int;
+ offset_reg: int;
+ offset: int;
+ offset_addr: int;
+ offset_bits: int;
+ inc_dec: int;
+ flags: int;
+}
+
+type m680x_op_rel = {
+ addr_rel: int;
+ offset: int;
+}
+
+type m680x_op_ext = {
+ addr_ext: int;
+ indirect: bool;
+}
+
+type m680x_op_value =
+ | M680X_OP_INVALID of int
+ | M680X_OP_IMMEDIATE of int
+ | M680X_OP_REGISTER of int
+ | M680X_OP_INDEXED of m680x_op_idx
+ | M680X_OP_RELATIVE of m680x_op_rel
+ | M680X_OP_EXTENDED of m680x_op_ext
+ | M680X_OP_DIRECT of int
+ | M680X_OP_CONSTANT of int
+
+type m680x_op = {
+ value: m680x_op_value;
+ size: int;
+ access: int;
+}
+
+type cs_m680x = {
+ flags: int;
+ operands: m680x_op array;
+}
+
diff --git a/capstone/bindings/ocaml/m680x_const.ml b/capstone/bindings/ocaml/m680x_const.ml
new file mode 100644
index 000000000..5e887109f
--- /dev/null
+++ b/capstone/bindings/ocaml/m680x_const.ml
@@ -0,0 +1,415 @@
+(* For Capstone Engine. AUTO-GENERATED FILE, DO NOT EDIT [m680x_const.ml] *)
+let _M680X_OPERAND_COUNT = 9;;
+
+let _M680X_REG_INVALID = 0;;
+let _M680X_REG_A = 1;;
+let _M680X_REG_B = 2;;
+let _M680X_REG_E = 3;;
+let _M680X_REG_F = 4;;
+let _M680X_REG_0 = 5;;
+let _M680X_REG_D = 6;;
+let _M680X_REG_W = 7;;
+let _M680X_REG_CC = 8;;
+let _M680X_REG_DP = 9;;
+let _M680X_REG_MD = 10;;
+let _M680X_REG_HX = 11;;
+let _M680X_REG_H = 12;;
+let _M680X_REG_X = 13;;
+let _M680X_REG_Y = 14;;
+let _M680X_REG_S = 15;;
+let _M680X_REG_U = 16;;
+let _M680X_REG_V = 17;;
+let _M680X_REG_Q = 18;;
+let _M680X_REG_PC = 19;;
+let _M680X_REG_TMP2 = 20;;
+let _M680X_REG_TMP3 = 21;;
+let _M680X_REG_ENDING = 22;;
+
+let _M680X_OP_INVALID = 0;;
+let _M680X_OP_REGISTER = 1;;
+let _M680X_OP_IMMEDIATE = 2;;
+let _M680X_OP_INDEXED = 3;;
+let _M680X_OP_EXTENDED = 4;;
+let _M680X_OP_DIRECT = 5;;
+let _M680X_OP_RELATIVE = 6;;
+let _M680X_OP_CONSTANT = 7;;
+
+let _M680X_OFFSET_NONE = 0;;
+let _M680X_OFFSET_BITS_5 = 5;;
+let _M680X_OFFSET_BITS_8 = 8;;
+let _M680X_OFFSET_BITS_9 = 9;;
+let _M680X_OFFSET_BITS_16 = 16;;
+let _M680X_IDX_INDIRECT = 1;;
+let _M680X_IDX_NO_COMMA = 2;;
+let _M680X_IDX_POST_INC_DEC = 4;;
+
+let _M680X_GRP_INVALID = 0;;
+let _M680X_GRP_JUMP = 1;;
+let _M680X_GRP_CALL = 2;;
+let _M680X_GRP_RET = 3;;
+let _M680X_GRP_INT = 4;;
+let _M680X_GRP_IRET = 5;;
+let _M680X_GRP_PRIV = 6;;
+let _M680X_GRP_BRAREL = 7;;
+let _M680X_GRP_ENDING = 8;;
+let _M680X_FIRST_OP_IN_MNEM = 1;;
+let _M680X_SECOND_OP_IN_MNEM = 2;;
+
+let _M680X_INS_INVLD = 0;;
+let _M680X_INS_ABA = 1;;
+let _M680X_INS_ABX = 2;;
+let _M680X_INS_ABY = 3;;
+let _M680X_INS_ADC = 4;;
+let _M680X_INS_ADCA = 5;;
+let _M680X_INS_ADCB = 6;;
+let _M680X_INS_ADCD = 7;;
+let _M680X_INS_ADCR = 8;;
+let _M680X_INS_ADD = 9;;
+let _M680X_INS_ADDA = 10;;
+let _M680X_INS_ADDB = 11;;
+let _M680X_INS_ADDD = 12;;
+let _M680X_INS_ADDE = 13;;
+let _M680X_INS_ADDF = 14;;
+let _M680X_INS_ADDR = 15;;
+let _M680X_INS_ADDW = 16;;
+let _M680X_INS_AIM = 17;;
+let _M680X_INS_AIS = 18;;
+let _M680X_INS_AIX = 19;;
+let _M680X_INS_AND = 20;;
+let _M680X_INS_ANDA = 21;;
+let _M680X_INS_ANDB = 22;;
+let _M680X_INS_ANDCC = 23;;
+let _M680X_INS_ANDD = 24;;
+let _M680X_INS_ANDR = 25;;
+let _M680X_INS_ASL = 26;;
+let _M680X_INS_ASLA = 27;;
+let _M680X_INS_ASLB = 28;;
+let _M680X_INS_ASLD = 29;;
+let _M680X_INS_ASR = 30;;
+let _M680X_INS_ASRA = 31;;
+let _M680X_INS_ASRB = 32;;
+let _M680X_INS_ASRD = 33;;
+let _M680X_INS_ASRX = 34;;
+let _M680X_INS_BAND = 35;;
+let _M680X_INS_BCC = 36;;
+let _M680X_INS_BCLR = 37;;
+let _M680X_INS_BCS = 38;;
+let _M680X_INS_BEOR = 39;;
+let _M680X_INS_BEQ = 40;;
+let _M680X_INS_BGE = 41;;
+let _M680X_INS_BGND = 42;;
+let _M680X_INS_BGT = 43;;
+let _M680X_INS_BHCC = 44;;
+let _M680X_INS_BHCS = 45;;
+let _M680X_INS_BHI = 46;;
+let _M680X_INS_BIAND = 47;;
+let _M680X_INS_BIEOR = 48;;
+let _M680X_INS_BIH = 49;;
+let _M680X_INS_BIL = 50;;
+let _M680X_INS_BIOR = 51;;
+let _M680X_INS_BIT = 52;;
+let _M680X_INS_BITA = 53;;
+let _M680X_INS_BITB = 54;;
+let _M680X_INS_BITD = 55;;
+let _M680X_INS_BITMD = 56;;
+let _M680X_INS_BLE = 57;;
+let _M680X_INS_BLS = 58;;
+let _M680X_INS_BLT = 59;;
+let _M680X_INS_BMC = 60;;
+let _M680X_INS_BMI = 61;;
+let _M680X_INS_BMS = 62;;
+let _M680X_INS_BNE = 63;;
+let _M680X_INS_BOR = 64;;
+let _M680X_INS_BPL = 65;;
+let _M680X_INS_BRCLR = 66;;
+let _M680X_INS_BRSET = 67;;
+let _M680X_INS_BRA = 68;;
+let _M680X_INS_BRN = 69;;
+let _M680X_INS_BSET = 70;;
+let _M680X_INS_BSR = 71;;
+let _M680X_INS_BVC = 72;;
+let _M680X_INS_BVS = 73;;
+let _M680X_INS_CALL = 74;;
+let _M680X_INS_CBA = 75;;
+let _M680X_INS_CBEQ = 76;;
+let _M680X_INS_CBEQA = 77;;
+let _M680X_INS_CBEQX = 78;;
+let _M680X_INS_CLC = 79;;
+let _M680X_INS_CLI = 80;;
+let _M680X_INS_CLR = 81;;
+let _M680X_INS_CLRA = 82;;
+let _M680X_INS_CLRB = 83;;
+let _M680X_INS_CLRD = 84;;
+let _M680X_INS_CLRE = 85;;
+let _M680X_INS_CLRF = 86;;
+let _M680X_INS_CLRH = 87;;
+let _M680X_INS_CLRW = 88;;
+let _M680X_INS_CLRX = 89;;
+let _M680X_INS_CLV = 90;;
+let _M680X_INS_CMP = 91;;
+let _M680X_INS_CMPA = 92;;
+let _M680X_INS_CMPB = 93;;
+let _M680X_INS_CMPD = 94;;
+let _M680X_INS_CMPE = 95;;
+let _M680X_INS_CMPF = 96;;
+let _M680X_INS_CMPR = 97;;
+let _M680X_INS_CMPS = 98;;
+let _M680X_INS_CMPU = 99;;
+let _M680X_INS_CMPW = 100;;
+let _M680X_INS_CMPX = 101;;
+let _M680X_INS_CMPY = 102;;
+let _M680X_INS_COM = 103;;
+let _M680X_INS_COMA = 104;;
+let _M680X_INS_COMB = 105;;
+let _M680X_INS_COMD = 106;;
+let _M680X_INS_COME = 107;;
+let _M680X_INS_COMF = 108;;
+let _M680X_INS_COMW = 109;;
+let _M680X_INS_COMX = 110;;
+let _M680X_INS_CPD = 111;;
+let _M680X_INS_CPHX = 112;;
+let _M680X_INS_CPS = 113;;
+let _M680X_INS_CPX = 114;;
+let _M680X_INS_CPY = 115;;
+let _M680X_INS_CWAI = 116;;
+let _M680X_INS_DAA = 117;;
+let _M680X_INS_DBEQ = 118;;
+let _M680X_INS_DBNE = 119;;
+let _M680X_INS_DBNZ = 120;;
+let _M680X_INS_DBNZA = 121;;
+let _M680X_INS_DBNZX = 122;;
+let _M680X_INS_DEC = 123;;
+let _M680X_INS_DECA = 124;;
+let _M680X_INS_DECB = 125;;
+let _M680X_INS_DECD = 126;;
+let _M680X_INS_DECE = 127;;
+let _M680X_INS_DECF = 128;;
+let _M680X_INS_DECW = 129;;
+let _M680X_INS_DECX = 130;;
+let _M680X_INS_DES = 131;;
+let _M680X_INS_DEX = 132;;
+let _M680X_INS_DEY = 133;;
+let _M680X_INS_DIV = 134;;
+let _M680X_INS_DIVD = 135;;
+let _M680X_INS_DIVQ = 136;;
+let _M680X_INS_EDIV = 137;;
+let _M680X_INS_EDIVS = 138;;
+let _M680X_INS_EIM = 139;;
+let _M680X_INS_EMACS = 140;;
+let _M680X_INS_EMAXD = 141;;
+let _M680X_INS_EMAXM = 142;;
+let _M680X_INS_EMIND = 143;;
+let _M680X_INS_EMINM = 144;;
+let _M680X_INS_EMUL = 145;;
+let _M680X_INS_EMULS = 146;;
+let _M680X_INS_EOR = 147;;
+let _M680X_INS_EORA = 148;;
+let _M680X_INS_EORB = 149;;
+let _M680X_INS_EORD = 150;;
+let _M680X_INS_EORR = 151;;
+let _M680X_INS_ETBL = 152;;
+let _M680X_INS_EXG = 153;;
+let _M680X_INS_FDIV = 154;;
+let _M680X_INS_IBEQ = 155;;
+let _M680X_INS_IBNE = 156;;
+let _M680X_INS_IDIV = 157;;
+let _M680X_INS_IDIVS = 158;;
+let _M680X_INS_ILLGL = 159;;
+let _M680X_INS_INC = 160;;
+let _M680X_INS_INCA = 161;;
+let _M680X_INS_INCB = 162;;
+let _M680X_INS_INCD = 163;;
+let _M680X_INS_INCE = 164;;
+let _M680X_INS_INCF = 165;;
+let _M680X_INS_INCW = 166;;
+let _M680X_INS_INCX = 167;;
+let _M680X_INS_INS = 168;;
+let _M680X_INS_INX = 169;;
+let _M680X_INS_INY = 170;;
+let _M680X_INS_JMP = 171;;
+let _M680X_INS_JSR = 172;;
+let _M680X_INS_LBCC = 173;;
+let _M680X_INS_LBCS = 174;;
+let _M680X_INS_LBEQ = 175;;
+let _M680X_INS_LBGE = 176;;
+let _M680X_INS_LBGT = 177;;
+let _M680X_INS_LBHI = 178;;
+let _M680X_INS_LBLE = 179;;
+let _M680X_INS_LBLS = 180;;
+let _M680X_INS_LBLT = 181;;
+let _M680X_INS_LBMI = 182;;
+let _M680X_INS_LBNE = 183;;
+let _M680X_INS_LBPL = 184;;
+let _M680X_INS_LBRA = 185;;
+let _M680X_INS_LBRN = 186;;
+let _M680X_INS_LBSR = 187;;
+let _M680X_INS_LBVC = 188;;
+let _M680X_INS_LBVS = 189;;
+let _M680X_INS_LDA = 190;;
+let _M680X_INS_LDAA = 191;;
+let _M680X_INS_LDAB = 192;;
+let _M680X_INS_LDB = 193;;
+let _M680X_INS_LDBT = 194;;
+let _M680X_INS_LDD = 195;;
+let _M680X_INS_LDE = 196;;
+let _M680X_INS_LDF = 197;;
+let _M680X_INS_LDHX = 198;;
+let _M680X_INS_LDMD = 199;;
+let _M680X_INS_LDQ = 200;;
+let _M680X_INS_LDS = 201;;
+let _M680X_INS_LDU = 202;;
+let _M680X_INS_LDW = 203;;
+let _M680X_INS_LDX = 204;;
+let _M680X_INS_LDY = 205;;
+let _M680X_INS_LEAS = 206;;
+let _M680X_INS_LEAU = 207;;
+let _M680X_INS_LEAX = 208;;
+let _M680X_INS_LEAY = 209;;
+let _M680X_INS_LSL = 210;;
+let _M680X_INS_LSLA = 211;;
+let _M680X_INS_LSLB = 212;;
+let _M680X_INS_LSLD = 213;;
+let _M680X_INS_LSLX = 214;;
+let _M680X_INS_LSR = 215;;
+let _M680X_INS_LSRA = 216;;
+let _M680X_INS_LSRB = 217;;
+let _M680X_INS_LSRD = 218;;
+let _M680X_INS_LSRW = 219;;
+let _M680X_INS_LSRX = 220;;
+let _M680X_INS_MAXA = 221;;
+let _M680X_INS_MAXM = 222;;
+let _M680X_INS_MEM = 223;;
+let _M680X_INS_MINA = 224;;
+let _M680X_INS_MINM = 225;;
+let _M680X_INS_MOV = 226;;
+let _M680X_INS_MOVB = 227;;
+let _M680X_INS_MOVW = 228;;
+let _M680X_INS_MUL = 229;;
+let _M680X_INS_MULD = 230;;
+let _M680X_INS_NEG = 231;;
+let _M680X_INS_NEGA = 232;;
+let _M680X_INS_NEGB = 233;;
+let _M680X_INS_NEGD = 234;;
+let _M680X_INS_NEGX = 235;;
+let _M680X_INS_NOP = 236;;
+let _M680X_INS_NSA = 237;;
+let _M680X_INS_OIM = 238;;
+let _M680X_INS_ORA = 239;;
+let _M680X_INS_ORAA = 240;;
+let _M680X_INS_ORAB = 241;;
+let _M680X_INS_ORB = 242;;
+let _M680X_INS_ORCC = 243;;
+let _M680X_INS_ORD = 244;;
+let _M680X_INS_ORR = 245;;
+let _M680X_INS_PSHA = 246;;
+let _M680X_INS_PSHB = 247;;
+let _M680X_INS_PSHC = 248;;
+let _M680X_INS_PSHD = 249;;
+let _M680X_INS_PSHH = 250;;
+let _M680X_INS_PSHS = 251;;
+let _M680X_INS_PSHSW = 252;;
+let _M680X_INS_PSHU = 253;;
+let _M680X_INS_PSHUW = 254;;
+let _M680X_INS_PSHX = 255;;
+let _M680X_INS_PSHY = 256;;
+let _M680X_INS_PULA = 257;;
+let _M680X_INS_PULB = 258;;
+let _M680X_INS_PULC = 259;;
+let _M680X_INS_PULD = 260;;
+let _M680X_INS_PULH = 261;;
+let _M680X_INS_PULS = 262;;
+let _M680X_INS_PULSW = 263;;
+let _M680X_INS_PULU = 264;;
+let _M680X_INS_PULUW = 265;;
+let _M680X_INS_PULX = 266;;
+let _M680X_INS_PULY = 267;;
+let _M680X_INS_REV = 268;;
+let _M680X_INS_REVW = 269;;
+let _M680X_INS_ROL = 270;;
+let _M680X_INS_ROLA = 271;;
+let _M680X_INS_ROLB = 272;;
+let _M680X_INS_ROLD = 273;;
+let _M680X_INS_ROLW = 274;;
+let _M680X_INS_ROLX = 275;;
+let _M680X_INS_ROR = 276;;
+let _M680X_INS_RORA = 277;;
+let _M680X_INS_RORB = 278;;
+let _M680X_INS_RORD = 279;;
+let _M680X_INS_RORW = 280;;
+let _M680X_INS_RORX = 281;;
+let _M680X_INS_RSP = 282;;
+let _M680X_INS_RTC = 283;;
+let _M680X_INS_RTI = 284;;
+let _M680X_INS_RTS = 285;;
+let _M680X_INS_SBA = 286;;
+let _M680X_INS_SBC = 287;;
+let _M680X_INS_SBCA = 288;;
+let _M680X_INS_SBCB = 289;;
+let _M680X_INS_SBCD = 290;;
+let _M680X_INS_SBCR = 291;;
+let _M680X_INS_SEC = 292;;
+let _M680X_INS_SEI = 293;;
+let _M680X_INS_SEV = 294;;
+let _M680X_INS_SEX = 295;;
+let _M680X_INS_SEXW = 296;;
+let _M680X_INS_SLP = 297;;
+let _M680X_INS_STA = 298;;
+let _M680X_INS_STAA = 299;;
+let _M680X_INS_STAB = 300;;
+let _M680X_INS_STB = 301;;
+let _M680X_INS_STBT = 302;;
+let _M680X_INS_STD = 303;;
+let _M680X_INS_STE = 304;;
+let _M680X_INS_STF = 305;;
+let _M680X_INS_STOP = 306;;
+let _M680X_INS_STHX = 307;;
+let _M680X_INS_STQ = 308;;
+let _M680X_INS_STS = 309;;
+let _M680X_INS_STU = 310;;
+let _M680X_INS_STW = 311;;
+let _M680X_INS_STX = 312;;
+let _M680X_INS_STY = 313;;
+let _M680X_INS_SUB = 314;;
+let _M680X_INS_SUBA = 315;;
+let _M680X_INS_SUBB = 316;;
+let _M680X_INS_SUBD = 317;;
+let _M680X_INS_SUBE = 318;;
+let _M680X_INS_SUBF = 319;;
+let _M680X_INS_SUBR = 320;;
+let _M680X_INS_SUBW = 321;;
+let _M680X_INS_SWI = 322;;
+let _M680X_INS_SWI2 = 323;;
+let _M680X_INS_SWI3 = 324;;
+let _M680X_INS_SYNC = 325;;
+let _M680X_INS_TAB = 326;;
+let _M680X_INS_TAP = 327;;
+let _M680X_INS_TAX = 328;;
+let _M680X_INS_TBA = 329;;
+let _M680X_INS_TBEQ = 330;;
+let _M680X_INS_TBL = 331;;
+let _M680X_INS_TBNE = 332;;
+let _M680X_INS_TEST = 333;;
+let _M680X_INS_TFM = 334;;
+let _M680X_INS_TFR = 335;;
+let _M680X_INS_TIM = 336;;
+let _M680X_INS_TPA = 337;;
+let _M680X_INS_TST = 338;;
+let _M680X_INS_TSTA = 339;;
+let _M680X_INS_TSTB = 340;;
+let _M680X_INS_TSTD = 341;;
+let _M680X_INS_TSTE = 342;;
+let _M680X_INS_TSTF = 343;;
+let _M680X_INS_TSTW = 344;;
+let _M680X_INS_TSTX = 345;;
+let _M680X_INS_TSX = 346;;
+let _M680X_INS_TSY = 347;;
+let _M680X_INS_TXA = 348;;
+let _M680X_INS_TXS = 349;;
+let _M680X_INS_TYS = 350;;
+let _M680X_INS_WAI = 351;;
+let _M680X_INS_WAIT = 352;;
+let _M680X_INS_WAV = 353;;
+let _M680X_INS_WAVR = 354;;
+let _M680X_INS_XGDX = 355;;
+let _M680X_INS_XGDY = 356;;
+let _M680X_INS_ENDING = 357;;
diff --git a/capstone/bindings/ocaml/m68k_const.ml b/capstone/bindings/ocaml/m68k_const.ml
new file mode 100644
index 000000000..f060d4ff5
--- /dev/null
+++ b/capstone/bindings/ocaml/m68k_const.ml
@@ -0,0 +1,485 @@
+(* For Capstone Engine. AUTO-GENERATED FILE, DO NOT EDIT [m68k_const.ml] *)
+let _M68K_OPERAND_COUNT = 4;;
+
+let _M68K_REG_INVALID = 0;;
+let _M68K_REG_D0 = 1;;
+let _M68K_REG_D1 = 2;;
+let _M68K_REG_D2 = 3;;
+let _M68K_REG_D3 = 4;;
+let _M68K_REG_D4 = 5;;
+let _M68K_REG_D5 = 6;;
+let _M68K_REG_D6 = 7;;
+let _M68K_REG_D7 = 8;;
+let _M68K_REG_A0 = 9;;
+let _M68K_REG_A1 = 10;;
+let _M68K_REG_A2 = 11;;
+let _M68K_REG_A3 = 12;;
+let _M68K_REG_A4 = 13;;
+let _M68K_REG_A5 = 14;;
+let _M68K_REG_A6 = 15;;
+let _M68K_REG_A7 = 16;;
+let _M68K_REG_FP0 = 17;;
+let _M68K_REG_FP1 = 18;;
+let _M68K_REG_FP2 = 19;;
+let _M68K_REG_FP3 = 20;;
+let _M68K_REG_FP4 = 21;;
+let _M68K_REG_FP5 = 22;;
+let _M68K_REG_FP6 = 23;;
+let _M68K_REG_FP7 = 24;;
+let _M68K_REG_PC = 25;;
+let _M68K_REG_SR = 26;;
+let _M68K_REG_CCR = 27;;
+let _M68K_REG_SFC = 28;;
+let _M68K_REG_DFC = 29;;
+let _M68K_REG_USP = 30;;
+let _M68K_REG_VBR = 31;;
+let _M68K_REG_CACR = 32;;
+let _M68K_REG_CAAR = 33;;
+let _M68K_REG_MSP = 34;;
+let _M68K_REG_ISP = 35;;
+let _M68K_REG_TC = 36;;
+let _M68K_REG_ITT0 = 37;;
+let _M68K_REG_ITT1 = 38;;
+let _M68K_REG_DTT0 = 39;;
+let _M68K_REG_DTT1 = 40;;
+let _M68K_REG_MMUSR = 41;;
+let _M68K_REG_URP = 42;;
+let _M68K_REG_SRP = 43;;
+let _M68K_REG_FPCR = 44;;
+let _M68K_REG_FPSR = 45;;
+let _M68K_REG_FPIAR = 46;;
+let _M68K_REG_ENDING = 47;;
+
+let _M68K_AM_NONE = 0;;
+let _M68K_AM_REG_DIRECT_DATA = 1;;
+let _M68K_AM_REG_DIRECT_ADDR = 2;;
+let _M68K_AM_REGI_ADDR = 3;;
+let _M68K_AM_REGI_ADDR_POST_INC = 4;;
+let _M68K_AM_REGI_ADDR_PRE_DEC = 5;;
+let _M68K_AM_REGI_ADDR_DISP = 6;;
+let _M68K_AM_AREGI_INDEX_8_BIT_DISP = 7;;
+let _M68K_AM_AREGI_INDEX_BASE_DISP = 8;;
+let _M68K_AM_MEMI_POST_INDEX = 9;;
+let _M68K_AM_MEMI_PRE_INDEX = 10;;
+let _M68K_AM_PCI_DISP = 11;;
+let _M68K_AM_PCI_INDEX_8_BIT_DISP = 12;;
+let _M68K_AM_PCI_INDEX_BASE_DISP = 13;;
+let _M68K_AM_PC_MEMI_POST_INDEX = 14;;
+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_IMMEDIATE = 18;;
+let _M68K_AM_BRANCH_DISPLACEMENT = 19;;
+
+let _M68K_OP_INVALID = 0;;
+let _M68K_OP_REG = 1;;
+let _M68K_OP_IMM = 2;;
+let _M68K_OP_MEM = 3;;
+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_OP_BR_DISP = 8;;
+
+let _M68K_OP_BR_DISP_SIZE_INVALID = 0;;
+let _M68K_OP_BR_DISP_SIZE_BYTE = 1;;
+let _M68K_OP_BR_DISP_SIZE_WORD = 2;;
+let _M68K_OP_BR_DISP_SIZE_LONG = 4;;
+
+let _M68K_CPU_SIZE_NONE = 0;;
+let _M68K_CPU_SIZE_BYTE = 1;;
+let _M68K_CPU_SIZE_WORD = 2;;
+let _M68K_CPU_SIZE_LONG = 4;;
+
+let _M68K_FPU_SIZE_NONE = 0;;
+let _M68K_FPU_SIZE_SINGLE = 4;;
+let _M68K_FPU_SIZE_DOUBLE = 8;;
+let _M68K_FPU_SIZE_EXTENDED = 12;;
+
+let _M68K_SIZE_TYPE_INVALID = 0;;
+let _M68K_SIZE_TYPE_CPU = 1;;
+let _M68K_SIZE_TYPE_FPU = 2;;
+
+let _M68K_INS_INVALID = 0;;
+let _M68K_INS_ABCD = 1;;
+let _M68K_INS_ADD = 2;;
+let _M68K_INS_ADDA = 3;;
+let _M68K_INS_ADDI = 4;;
+let _M68K_INS_ADDQ = 5;;
+let _M68K_INS_ADDX = 6;;
+let _M68K_INS_AND = 7;;
+let _M68K_INS_ANDI = 8;;
+let _M68K_INS_ASL = 9;;
+let _M68K_INS_ASR = 10;;
+let _M68K_INS_BHS = 11;;
+let _M68K_INS_BLO = 12;;
+let _M68K_INS_BHI = 13;;
+let _M68K_INS_BLS = 14;;
+let _M68K_INS_BCC = 15;;
+let _M68K_INS_BCS = 16;;
+let _M68K_INS_BNE = 17;;
+let _M68K_INS_BEQ = 18;;
+let _M68K_INS_BVC = 19;;
+let _M68K_INS_BVS = 20;;
+let _M68K_INS_BPL = 21;;
+let _M68K_INS_BMI = 22;;
+let _M68K_INS_BGE = 23;;
+let _M68K_INS_BLT = 24;;
+let _M68K_INS_BGT = 25;;
+let _M68K_INS_BLE = 26;;
+let _M68K_INS_BRA = 27;;
+let _M68K_INS_BSR = 28;;
+let _M68K_INS_BCHG = 29;;
+let _M68K_INS_BCLR = 30;;
+let _M68K_INS_BSET = 31;;
+let _M68K_INS_BTST = 32;;
+let _M68K_INS_BFCHG = 33;;
+let _M68K_INS_BFCLR = 34;;
+let _M68K_INS_BFEXTS = 35;;
+let _M68K_INS_BFEXTU = 36;;
+let _M68K_INS_BFFFO = 37;;
+let _M68K_INS_BFINS = 38;;
+let _M68K_INS_BFSET = 39;;
+let _M68K_INS_BFTST = 40;;
+let _M68K_INS_BKPT = 41;;
+let _M68K_INS_CALLM = 42;;
+let _M68K_INS_CAS = 43;;
+let _M68K_INS_CAS2 = 44;;
+let _M68K_INS_CHK = 45;;
+let _M68K_INS_CHK2 = 46;;
+let _M68K_INS_CLR = 47;;
+let _M68K_INS_CMP = 48;;
+let _M68K_INS_CMPA = 49;;
+let _M68K_INS_CMPI = 50;;
+let _M68K_INS_CMPM = 51;;
+let _M68K_INS_CMP2 = 52;;
+let _M68K_INS_CINVL = 53;;
+let _M68K_INS_CINVP = 54;;
+let _M68K_INS_CINVA = 55;;
+let _M68K_INS_CPUSHL = 56;;
+let _M68K_INS_CPUSHP = 57;;
+let _M68K_INS_CPUSHA = 58;;
+let _M68K_INS_DBT = 59;;
+let _M68K_INS_DBF = 60;;
+let _M68K_INS_DBHI = 61;;
+let _M68K_INS_DBLS = 62;;
+let _M68K_INS_DBCC = 63;;
+let _M68K_INS_DBCS = 64;;
+let _M68K_INS_DBNE = 65;;
+let _M68K_INS_DBEQ = 66;;
+let _M68K_INS_DBVC = 67;;
+let _M68K_INS_DBVS = 68;;
+let _M68K_INS_DBPL = 69;;
+let _M68K_INS_DBMI = 70;;
+let _M68K_INS_DBGE = 71;;
+let _M68K_INS_DBLT = 72;;
+let _M68K_INS_DBGT = 73;;
+let _M68K_INS_DBLE = 74;;
+let _M68K_INS_DBRA = 75;;
+let _M68K_INS_DIVS = 76;;
+let _M68K_INS_DIVSL = 77;;
+let _M68K_INS_DIVU = 78;;
+let _M68K_INS_DIVUL = 79;;
+let _M68K_INS_EOR = 80;;
+let _M68K_INS_EORI = 81;;
+let _M68K_INS_EXG = 82;;
+let _M68K_INS_EXT = 83;;
+let _M68K_INS_EXTB = 84;;
+let _M68K_INS_FABS = 85;;
+let _M68K_INS_FSABS = 86;;
+let _M68K_INS_FDABS = 87;;
+let _M68K_INS_FACOS = 88;;
+let _M68K_INS_FADD = 89;;
+let _M68K_INS_FSADD = 90;;
+let _M68K_INS_FDADD = 91;;
+let _M68K_INS_FASIN = 92;;
+let _M68K_INS_FATAN = 93;;
+let _M68K_INS_FATANH = 94;;
+let _M68K_INS_FBF = 95;;
+let _M68K_INS_FBEQ = 96;;
+let _M68K_INS_FBOGT = 97;;
+let _M68K_INS_FBOGE = 98;;
+let _M68K_INS_FBOLT = 99;;
+let _M68K_INS_FBOLE = 100;;
+let _M68K_INS_FBOGL = 101;;
+let _M68K_INS_FBOR = 102;;
+let _M68K_INS_FBUN = 103;;
+let _M68K_INS_FBUEQ = 104;;
+let _M68K_INS_FBUGT = 105;;
+let _M68K_INS_FBUGE = 106;;
+let _M68K_INS_FBULT = 107;;
+let _M68K_INS_FBULE = 108;;
+let _M68K_INS_FBNE = 109;;
+let _M68K_INS_FBT = 110;;
+let _M68K_INS_FBSF = 111;;
+let _M68K_INS_FBSEQ = 112;;
+let _M68K_INS_FBGT = 113;;
+let _M68K_INS_FBGE = 114;;
+let _M68K_INS_FBLT = 115;;
+let _M68K_INS_FBLE = 116;;
+let _M68K_INS_FBGL = 117;;
+let _M68K_INS_FBGLE = 118;;
+let _M68K_INS_FBNGLE = 119;;
+let _M68K_INS_FBNGL = 120;;
+let _M68K_INS_FBNLE = 121;;
+let _M68K_INS_FBNLT = 122;;
+let _M68K_INS_FBNGE = 123;;
+let _M68K_INS_FBNGT = 124;;
+let _M68K_INS_FBSNE = 125;;
+let _M68K_INS_FBST = 126;;
+let _M68K_INS_FCMP = 127;;
+let _M68K_INS_FCOS = 128;;
+let _M68K_INS_FCOSH = 129;;
+let _M68K_INS_FDBF = 130;;
+let _M68K_INS_FDBEQ = 131;;
+let _M68K_INS_FDBOGT = 132;;
+let _M68K_INS_FDBOGE = 133;;
+let _M68K_INS_FDBOLT = 134;;
+let _M68K_INS_FDBOLE = 135;;
+let _M68K_INS_FDBOGL = 136;;
+let _M68K_INS_FDBOR = 137;;
+let _M68K_INS_FDBUN = 138;;
+let _M68K_INS_FDBUEQ = 139;;
+let _M68K_INS_FDBUGT = 140;;
+let _M68K_INS_FDBUGE = 141;;
+let _M68K_INS_FDBULT = 142;;
+let _M68K_INS_FDBULE = 143;;
+let _M68K_INS_FDBNE = 144;;
+let _M68K_INS_FDBT = 145;;
+let _M68K_INS_FDBSF = 146;;
+let _M68K_INS_FDBSEQ = 147;;
+let _M68K_INS_FDBGT = 148;;
+let _M68K_INS_FDBGE = 149;;
+let _M68K_INS_FDBLT = 150;;
+let _M68K_INS_FDBLE = 151;;
+let _M68K_INS_FDBGL = 152;;
+let _M68K_INS_FDBGLE = 153;;
+let _M68K_INS_FDBNGLE = 154;;
+let _M68K_INS_FDBNGL = 155;;
+let _M68K_INS_FDBNLE = 156;;
+let _M68K_INS_FDBNLT = 157;;
+let _M68K_INS_FDBNGE = 158;;
+let _M68K_INS_FDBNGT = 159;;
+let _M68K_INS_FDBSNE = 160;;
+let _M68K_INS_FDBST = 161;;
+let _M68K_INS_FDIV = 162;;
+let _M68K_INS_FSDIV = 163;;
+let _M68K_INS_FDDIV = 164;;
+let _M68K_INS_FETOX = 165;;
+let _M68K_INS_FETOXM1 = 166;;
+let _M68K_INS_FGETEXP = 167;;
+let _M68K_INS_FGETMAN = 168;;
+let _M68K_INS_FINT = 169;;
+let _M68K_INS_FINTRZ = 170;;
+let _M68K_INS_FLOG10 = 171;;
+let _M68K_INS_FLOG2 = 172;;
+let _M68K_INS_FLOGN = 173;;
+let _M68K_INS_FLOGNP1 = 174;;
+let _M68K_INS_FMOD = 175;;
+let _M68K_INS_FMOVE = 176;;
+let _M68K_INS_FSMOVE = 177;;
+let _M68K_INS_FDMOVE = 178;;
+let _M68K_INS_FMOVECR = 179;;
+let _M68K_INS_FMOVEM = 180;;
+let _M68K_INS_FMUL = 181;;
+let _M68K_INS_FSMUL = 182;;
+let _M68K_INS_FDMUL = 183;;
+let _M68K_INS_FNEG = 184;;
+let _M68K_INS_FSNEG = 185;;
+let _M68K_INS_FDNEG = 186;;
+let _M68K_INS_FNOP = 187;;
+let _M68K_INS_FREM = 188;;
+let _M68K_INS_FRESTORE = 189;;
+let _M68K_INS_FSAVE = 190;;
+let _M68K_INS_FSCALE = 191;;
+let _M68K_INS_FSGLDIV = 192;;
+let _M68K_INS_FSGLMUL = 193;;
+let _M68K_INS_FSIN = 194;;
+let _M68K_INS_FSINCOS = 195;;
+let _M68K_INS_FSINH = 196;;
+let _M68K_INS_FSQRT = 197;;
+let _M68K_INS_FSSQRT = 198;;
+let _M68K_INS_FDSQRT = 199;;
+let _M68K_INS_FSF = 200;;
+let _M68K_INS_FSBEQ = 201;;
+let _M68K_INS_FSOGT = 202;;
+let _M68K_INS_FSOGE = 203;;
+let _M68K_INS_FSOLT = 204;;
+let _M68K_INS_FSOLE = 205;;
+let _M68K_INS_FSOGL = 206;;
+let _M68K_INS_FSOR = 207;;
+let _M68K_INS_FSUN = 208;;
+let _M68K_INS_FSUEQ = 209;;
+let _M68K_INS_FSUGT = 210;;
+let _M68K_INS_FSUGE = 211;;
+let _M68K_INS_FSULT = 212;;
+let _M68K_INS_FSULE = 213;;
+let _M68K_INS_FSNE = 214;;
+let _M68K_INS_FST = 215;;
+let _M68K_INS_FSSF = 216;;
+let _M68K_INS_FSSEQ = 217;;
+let _M68K_INS_FSGT = 218;;
+let _M68K_INS_FSGE = 219;;
+let _M68K_INS_FSLT = 220;;
+let _M68K_INS_FSLE = 221;;
+let _M68K_INS_FSGL = 222;;
+let _M68K_INS_FSGLE = 223;;
+let _M68K_INS_FSNGLE = 224;;
+let _M68K_INS_FSNGL = 225;;
+let _M68K_INS_FSNLE = 226;;
+let _M68K_INS_FSNLT = 227;;
+let _M68K_INS_FSNGE = 228;;
+let _M68K_INS_FSNGT = 229;;
+let _M68K_INS_FSSNE = 230;;
+let _M68K_INS_FSST = 231;;
+let _M68K_INS_FSUB = 232;;
+let _M68K_INS_FSSUB = 233;;
+let _M68K_INS_FDSUB = 234;;
+let _M68K_INS_FTAN = 235;;
+let _M68K_INS_FTANH = 236;;
+let _M68K_INS_FTENTOX = 237;;
+let _M68K_INS_FTRAPF = 238;;
+let _M68K_INS_FTRAPEQ = 239;;
+let _M68K_INS_FTRAPOGT = 240;;
+let _M68K_INS_FTRAPOGE = 241;;
+let _M68K_INS_FTRAPOLT = 242;;
+let _M68K_INS_FTRAPOLE = 243;;
+let _M68K_INS_FTRAPOGL = 244;;
+let _M68K_INS_FTRAPOR = 245;;
+let _M68K_INS_FTRAPUN = 246;;
+let _M68K_INS_FTRAPUEQ = 247;;
+let _M68K_INS_FTRAPUGT = 248;;
+let _M68K_INS_FTRAPUGE = 249;;
+let _M68K_INS_FTRAPULT = 250;;
+let _M68K_INS_FTRAPULE = 251;;
+let _M68K_INS_FTRAPNE = 252;;
+let _M68K_INS_FTRAPT = 253;;
+let _M68K_INS_FTRAPSF = 254;;
+let _M68K_INS_FTRAPSEQ = 255;;
+let _M68K_INS_FTRAPGT = 256;;
+let _M68K_INS_FTRAPGE = 257;;
+let _M68K_INS_FTRAPLT = 258;;
+let _M68K_INS_FTRAPLE = 259;;
+let _M68K_INS_FTRAPGL = 260;;
+let _M68K_INS_FTRAPGLE = 261;;
+let _M68K_INS_FTRAPNGLE = 262;;
+let _M68K_INS_FTRAPNGL = 263;;
+let _M68K_INS_FTRAPNLE = 264;;
+let _M68K_INS_FTRAPNLT = 265;;
+let _M68K_INS_FTRAPNGE = 266;;
+let _M68K_INS_FTRAPNGT = 267;;
+let _M68K_INS_FTRAPSNE = 268;;
+let _M68K_INS_FTRAPST = 269;;
+let _M68K_INS_FTST = 270;;
+let _M68K_INS_FTWOTOX = 271;;
+let _M68K_INS_HALT = 272;;
+let _M68K_INS_ILLEGAL = 273;;
+let _M68K_INS_JMP = 274;;
+let _M68K_INS_JSR = 275;;
+let _M68K_INS_LEA = 276;;
+let _M68K_INS_LINK = 277;;
+let _M68K_INS_LPSTOP = 278;;
+let _M68K_INS_LSL = 279;;
+let _M68K_INS_LSR = 280;;
+let _M68K_INS_MOVE = 281;;
+let _M68K_INS_MOVEA = 282;;
+let _M68K_INS_MOVEC = 283;;
+let _M68K_INS_MOVEM = 284;;
+let _M68K_INS_MOVEP = 285;;
+let _M68K_INS_MOVEQ = 286;;
+let _M68K_INS_MOVES = 287;;
+let _M68K_INS_MOVE16 = 288;;
+let _M68K_INS_MULS = 289;;
+let _M68K_INS_MULU = 290;;
+let _M68K_INS_NBCD = 291;;
+let _M68K_INS_NEG = 292;;
+let _M68K_INS_NEGX = 293;;
+let _M68K_INS_NOP = 294;;
+let _M68K_INS_NOT = 295;;
+let _M68K_INS_OR = 296;;
+let _M68K_INS_ORI = 297;;
+let _M68K_INS_PACK = 298;;
+let _M68K_INS_PEA = 299;;
+let _M68K_INS_PFLUSH = 300;;
+let _M68K_INS_PFLUSHA = 301;;
+let _M68K_INS_PFLUSHAN = 302;;
+let _M68K_INS_PFLUSHN = 303;;
+let _M68K_INS_PLOADR = 304;;
+let _M68K_INS_PLOADW = 305;;
+let _M68K_INS_PLPAR = 306;;
+let _M68K_INS_PLPAW = 307;;
+let _M68K_INS_PMOVE = 308;;
+let _M68K_INS_PMOVEFD = 309;;
+let _M68K_INS_PTESTR = 310;;
+let _M68K_INS_PTESTW = 311;;
+let _M68K_INS_PULSE = 312;;
+let _M68K_INS_REMS = 313;;
+let _M68K_INS_REMU = 314;;
+let _M68K_INS_RESET = 315;;
+let _M68K_INS_ROL = 316;;
+let _M68K_INS_ROR = 317;;
+let _M68K_INS_ROXL = 318;;
+let _M68K_INS_ROXR = 319;;
+let _M68K_INS_RTD = 320;;
+let _M68K_INS_RTE = 321;;
+let _M68K_INS_RTM = 322;;
+let _M68K_INS_RTR = 323;;
+let _M68K_INS_RTS = 324;;
+let _M68K_INS_SBCD = 325;;
+let _M68K_INS_ST = 326;;
+let _M68K_INS_SF = 327;;
+let _M68K_INS_SHI = 328;;
+let _M68K_INS_SLS = 329;;
+let _M68K_INS_SCC = 330;;
+let _M68K_INS_SHS = 331;;
+let _M68K_INS_SCS = 332;;
+let _M68K_INS_SLO = 333;;
+let _M68K_INS_SNE = 334;;
+let _M68K_INS_SEQ = 335;;
+let _M68K_INS_SVC = 336;;
+let _M68K_INS_SVS = 337;;
+let _M68K_INS_SPL = 338;;
+let _M68K_INS_SMI = 339;;
+let _M68K_INS_SGE = 340;;
+let _M68K_INS_SLT = 341;;
+let _M68K_INS_SGT = 342;;
+let _M68K_INS_SLE = 343;;
+let _M68K_INS_STOP = 344;;
+let _M68K_INS_SUB = 345;;
+let _M68K_INS_SUBA = 346;;
+let _M68K_INS_SUBI = 347;;
+let _M68K_INS_SUBQ = 348;;
+let _M68K_INS_SUBX = 349;;
+let _M68K_INS_SWAP = 350;;
+let _M68K_INS_TAS = 351;;
+let _M68K_INS_TRAP = 352;;
+let _M68K_INS_TRAPV = 353;;
+let _M68K_INS_TRAPT = 354;;
+let _M68K_INS_TRAPF = 355;;
+let _M68K_INS_TRAPHI = 356;;
+let _M68K_INS_TRAPLS = 357;;
+let _M68K_INS_TRAPCC = 358;;
+let _M68K_INS_TRAPHS = 359;;
+let _M68K_INS_TRAPCS = 360;;
+let _M68K_INS_TRAPLO = 361;;
+let _M68K_INS_TRAPNE = 362;;
+let _M68K_INS_TRAPEQ = 363;;
+let _M68K_INS_TRAPVC = 364;;
+let _M68K_INS_TRAPVS = 365;;
+let _M68K_INS_TRAPPL = 366;;
+let _M68K_INS_TRAPMI = 367;;
+let _M68K_INS_TRAPGE = 368;;
+let _M68K_INS_TRAPLT = 369;;
+let _M68K_INS_TRAPGT = 370;;
+let _M68K_INS_TRAPLE = 371;;
+let _M68K_INS_TST = 372;;
+let _M68K_INS_UNLK = 373;;
+let _M68K_INS_UNPK = 374;;
+let _M68K_INS_ENDING = 375;;
+
+let _M68K_GRP_INVALID = 0;;
+let _M68K_GRP_JUMP = 1;;
+let _M68K_GRP_RET = 3;;
+let _M68K_GRP_IRET = 5;;
+let _M68K_GRP_BRANCH_RELATIVE = 7;;
+let _M68K_GRP_ENDING = 8;;
diff --git a/capstone/bindings/ocaml/mips.ml b/capstone/bindings/ocaml/mips.ml
new file mode 100644
index 000000000..f0995e352
--- /dev/null
+++ b/capstone/bindings/ocaml/mips.ml
@@ -0,0 +1,24 @@
+(* Capstone Disassembly Engine
+ * By Nguyen Anh Quynh <aquynh@gmail.com>, 2013-2014 *)
+
+open Mips_const
+
+(* architecture specific info of instruction *)
+type mips_op_mem = {
+ base: int;
+ disp: int
+}
+
+type mips_op_value =
+ | MIPS_OP_INVALID of int
+ | MIPS_OP_REG of int
+ | MIPS_OP_IMM of int
+ | MIPS_OP_MEM of mips_op_mem
+
+type mips_op = {
+ value: mips_op_value;
+}
+
+type cs_mips = {
+ operands: mips_op array;
+}
diff --git a/capstone/bindings/ocaml/mips_const.ml b/capstone/bindings/ocaml/mips_const.ml
new file mode 100644
index 000000000..e0b581be6
--- /dev/null
+++ b/capstone/bindings/ocaml/mips_const.ml
@@ -0,0 +1,861 @@
+(* For Capstone Engine. AUTO-GENERATED FILE, DO NOT EDIT [mips_const.ml] *)
+
+let _MIPS_OP_INVALID = 0;;
+let _MIPS_OP_REG = 1;;
+let _MIPS_OP_IMM = 2;;
+let _MIPS_OP_MEM = 3;;
+
+let _MIPS_REG_INVALID = 0;;
+let _MIPS_REG_PC = 1;;
+let _MIPS_REG_0 = 2;;
+let _MIPS_REG_1 = 3;;
+let _MIPS_REG_2 = 4;;
+let _MIPS_REG_3 = 5;;
+let _MIPS_REG_4 = 6;;
+let _MIPS_REG_5 = 7;;
+let _MIPS_REG_6 = 8;;
+let _MIPS_REG_7 = 9;;
+let _MIPS_REG_8 = 10;;
+let _MIPS_REG_9 = 11;;
+let _MIPS_REG_10 = 12;;
+let _MIPS_REG_11 = 13;;
+let _MIPS_REG_12 = 14;;
+let _MIPS_REG_13 = 15;;
+let _MIPS_REG_14 = 16;;
+let _MIPS_REG_15 = 17;;
+let _MIPS_REG_16 = 18;;
+let _MIPS_REG_17 = 19;;
+let _MIPS_REG_18 = 20;;
+let _MIPS_REG_19 = 21;;
+let _MIPS_REG_20 = 22;;
+let _MIPS_REG_21 = 23;;
+let _MIPS_REG_22 = 24;;
+let _MIPS_REG_23 = 25;;
+let _MIPS_REG_24 = 26;;
+let _MIPS_REG_25 = 27;;
+let _MIPS_REG_26 = 28;;
+let _MIPS_REG_27 = 29;;
+let _MIPS_REG_28 = 30;;
+let _MIPS_REG_29 = 31;;
+let _MIPS_REG_30 = 32;;
+let _MIPS_REG_31 = 33;;
+let _MIPS_REG_DSPCCOND = 34;;
+let _MIPS_REG_DSPCARRY = 35;;
+let _MIPS_REG_DSPEFI = 36;;
+let _MIPS_REG_DSPOUTFLAG = 37;;
+let _MIPS_REG_DSPOUTFLAG16_19 = 38;;
+let _MIPS_REG_DSPOUTFLAG20 = 39;;
+let _MIPS_REG_DSPOUTFLAG21 = 40;;
+let _MIPS_REG_DSPOUTFLAG22 = 41;;
+let _MIPS_REG_DSPOUTFLAG23 = 42;;
+let _MIPS_REG_DSPPOS = 43;;
+let _MIPS_REG_DSPSCOUNT = 44;;
+let _MIPS_REG_AC0 = 45;;
+let _MIPS_REG_AC1 = 46;;
+let _MIPS_REG_AC2 = 47;;
+let _MIPS_REG_AC3 = 48;;
+let _MIPS_REG_CC0 = 49;;
+let _MIPS_REG_CC1 = 50;;
+let _MIPS_REG_CC2 = 51;;
+let _MIPS_REG_CC3 = 52;;
+let _MIPS_REG_CC4 = 53;;
+let _MIPS_REG_CC5 = 54;;
+let _MIPS_REG_CC6 = 55;;
+let _MIPS_REG_CC7 = 56;;
+let _MIPS_REG_F0 = 57;;
+let _MIPS_REG_F1 = 58;;
+let _MIPS_REG_F2 = 59;;
+let _MIPS_REG_F3 = 60;;
+let _MIPS_REG_F4 = 61;;
+let _MIPS_REG_F5 = 62;;
+let _MIPS_REG_F6 = 63;;
+let _MIPS_REG_F7 = 64;;
+let _MIPS_REG_F8 = 65;;
+let _MIPS_REG_F9 = 66;;
+let _MIPS_REG_F10 = 67;;
+let _MIPS_REG_F11 = 68;;
+let _MIPS_REG_F12 = 69;;
+let _MIPS_REG_F13 = 70;;
+let _MIPS_REG_F14 = 71;;
+let _MIPS_REG_F15 = 72;;
+let _MIPS_REG_F16 = 73;;
+let _MIPS_REG_F17 = 74;;
+let _MIPS_REG_F18 = 75;;
+let _MIPS_REG_F19 = 76;;
+let _MIPS_REG_F20 = 77;;
+let _MIPS_REG_F21 = 78;;
+let _MIPS_REG_F22 = 79;;
+let _MIPS_REG_F23 = 80;;
+let _MIPS_REG_F24 = 81;;
+let _MIPS_REG_F25 = 82;;
+let _MIPS_REG_F26 = 83;;
+let _MIPS_REG_F27 = 84;;
+let _MIPS_REG_F28 = 85;;
+let _MIPS_REG_F29 = 86;;
+let _MIPS_REG_F30 = 87;;
+let _MIPS_REG_F31 = 88;;
+let _MIPS_REG_FCC0 = 89;;
+let _MIPS_REG_FCC1 = 90;;
+let _MIPS_REG_FCC2 = 91;;
+let _MIPS_REG_FCC3 = 92;;
+let _MIPS_REG_FCC4 = 93;;
+let _MIPS_REG_FCC5 = 94;;
+let _MIPS_REG_FCC6 = 95;;
+let _MIPS_REG_FCC7 = 96;;
+let _MIPS_REG_W0 = 97;;
+let _MIPS_REG_W1 = 98;;
+let _MIPS_REG_W2 = 99;;
+let _MIPS_REG_W3 = 100;;
+let _MIPS_REG_W4 = 101;;
+let _MIPS_REG_W5 = 102;;
+let _MIPS_REG_W6 = 103;;
+let _MIPS_REG_W7 = 104;;
+let _MIPS_REG_W8 = 105;;
+let _MIPS_REG_W9 = 106;;
+let _MIPS_REG_W10 = 107;;
+let _MIPS_REG_W11 = 108;;
+let _MIPS_REG_W12 = 109;;
+let _MIPS_REG_W13 = 110;;
+let _MIPS_REG_W14 = 111;;
+let _MIPS_REG_W15 = 112;;
+let _MIPS_REG_W16 = 113;;
+let _MIPS_REG_W17 = 114;;
+let _MIPS_REG_W18 = 115;;
+let _MIPS_REG_W19 = 116;;
+let _MIPS_REG_W20 = 117;;
+let _MIPS_REG_W21 = 118;;
+let _MIPS_REG_W22 = 119;;
+let _MIPS_REG_W23 = 120;;
+let _MIPS_REG_W24 = 121;;
+let _MIPS_REG_W25 = 122;;
+let _MIPS_REG_W26 = 123;;
+let _MIPS_REG_W27 = 124;;
+let _MIPS_REG_W28 = 125;;
+let _MIPS_REG_W29 = 126;;
+let _MIPS_REG_W30 = 127;;
+let _MIPS_REG_W31 = 128;;
+let _MIPS_REG_HI = 129;;
+let _MIPS_REG_LO = 130;;
+let _MIPS_REG_P0 = 131;;
+let _MIPS_REG_P1 = 132;;
+let _MIPS_REG_P2 = 133;;
+let _MIPS_REG_MPL0 = 134;;
+let _MIPS_REG_MPL1 = 135;;
+let _MIPS_REG_MPL2 = 136;;
+let _MIPS_REG_ENDING = 137;;
+let _MIPS_REG_ZERO = _MIPS_REG_0;;
+let _MIPS_REG_AT = _MIPS_REG_1;;
+let _MIPS_REG_V0 = _MIPS_REG_2;;
+let _MIPS_REG_V1 = _MIPS_REG_3;;
+let _MIPS_REG_A0 = _MIPS_REG_4;;
+let _MIPS_REG_A1 = _MIPS_REG_5;;
+let _MIPS_REG_A2 = _MIPS_REG_6;;
+let _MIPS_REG_A3 = _MIPS_REG_7;;
+let _MIPS_REG_T0 = _MIPS_REG_8;;
+let _MIPS_REG_T1 = _MIPS_REG_9;;
+let _MIPS_REG_T2 = _MIPS_REG_10;;
+let _MIPS_REG_T3 = _MIPS_REG_11;;
+let _MIPS_REG_T4 = _MIPS_REG_12;;
+let _MIPS_REG_T5 = _MIPS_REG_13;;
+let _MIPS_REG_T6 = _MIPS_REG_14;;
+let _MIPS_REG_T7 = _MIPS_REG_15;;
+let _MIPS_REG_S0 = _MIPS_REG_16;;
+let _MIPS_REG_S1 = _MIPS_REG_17;;
+let _MIPS_REG_S2 = _MIPS_REG_18;;
+let _MIPS_REG_S3 = _MIPS_REG_19;;
+let _MIPS_REG_S4 = _MIPS_REG_20;;
+let _MIPS_REG_S5 = _MIPS_REG_21;;
+let _MIPS_REG_S6 = _MIPS_REG_22;;
+let _MIPS_REG_S7 = _MIPS_REG_23;;
+let _MIPS_REG_T8 = _MIPS_REG_24;;
+let _MIPS_REG_T9 = _MIPS_REG_25;;
+let _MIPS_REG_K0 = _MIPS_REG_26;;
+let _MIPS_REG_K1 = _MIPS_REG_27;;
+let _MIPS_REG_GP = _MIPS_REG_28;;
+let _MIPS_REG_SP = _MIPS_REG_29;;
+let _MIPS_REG_FP = _MIPS_REG_30;;
+let _MIPS_REG_S8 = _MIPS_REG_30;;
+let _MIPS_REG_RA = _MIPS_REG_31;;
+let _MIPS_REG_HI0 = _MIPS_REG_AC0;;
+let _MIPS_REG_HI1 = _MIPS_REG_AC1;;
+let _MIPS_REG_HI2 = _MIPS_REG_AC2;;
+let _MIPS_REG_HI3 = _MIPS_REG_AC3;;
+let _MIPS_REG_LO0 = _MIPS_REG_HI0;;
+let _MIPS_REG_LO1 = _MIPS_REG_HI1;;
+let _MIPS_REG_LO2 = _MIPS_REG_HI2;;
+let _MIPS_REG_LO3 = _MIPS_REG_HI3;;
+
+let _MIPS_INS_INVALID = 0;;
+let _MIPS_INS_ABSQ_S = 1;;
+let _MIPS_INS_ADD = 2;;
+let _MIPS_INS_ADDIUPC = 3;;
+let _MIPS_INS_ADDIUR1SP = 4;;
+let _MIPS_INS_ADDIUR2 = 5;;
+let _MIPS_INS_ADDIUS5 = 6;;
+let _MIPS_INS_ADDIUSP = 7;;
+let _MIPS_INS_ADDQH = 8;;
+let _MIPS_INS_ADDQH_R = 9;;
+let _MIPS_INS_ADDQ = 10;;
+let _MIPS_INS_ADDQ_S = 11;;
+let _MIPS_INS_ADDSC = 12;;
+let _MIPS_INS_ADDS_A = 13;;
+let _MIPS_INS_ADDS_S = 14;;
+let _MIPS_INS_ADDS_U = 15;;
+let _MIPS_INS_ADDU16 = 16;;
+let _MIPS_INS_ADDUH = 17;;
+let _MIPS_INS_ADDUH_R = 18;;
+let _MIPS_INS_ADDU = 19;;
+let _MIPS_INS_ADDU_S = 20;;
+let _MIPS_INS_ADDVI = 21;;
+let _MIPS_INS_ADDV = 22;;
+let _MIPS_INS_ADDWC = 23;;
+let _MIPS_INS_ADD_A = 24;;
+let _MIPS_INS_ADDI = 25;;
+let _MIPS_INS_ADDIU = 26;;
+let _MIPS_INS_ALIGN = 27;;
+let _MIPS_INS_ALUIPC = 28;;
+let _MIPS_INS_AND = 29;;
+let _MIPS_INS_AND16 = 30;;
+let _MIPS_INS_ANDI16 = 31;;
+let _MIPS_INS_ANDI = 32;;
+let _MIPS_INS_APPEND = 33;;
+let _MIPS_INS_ASUB_S = 34;;
+let _MIPS_INS_ASUB_U = 35;;
+let _MIPS_INS_AUI = 36;;
+let _MIPS_INS_AUIPC = 37;;
+let _MIPS_INS_AVER_S = 38;;
+let _MIPS_INS_AVER_U = 39;;
+let _MIPS_INS_AVE_S = 40;;
+let _MIPS_INS_AVE_U = 41;;
+let _MIPS_INS_B16 = 42;;
+let _MIPS_INS_BADDU = 43;;
+let _MIPS_INS_BAL = 44;;
+let _MIPS_INS_BALC = 45;;
+let _MIPS_INS_BALIGN = 46;;
+let _MIPS_INS_BBIT0 = 47;;
+let _MIPS_INS_BBIT032 = 48;;
+let _MIPS_INS_BBIT1 = 49;;
+let _MIPS_INS_BBIT132 = 50;;
+let _MIPS_INS_BC = 51;;
+let _MIPS_INS_BC0F = 52;;
+let _MIPS_INS_BC0FL = 53;;
+let _MIPS_INS_BC0T = 54;;
+let _MIPS_INS_BC0TL = 55;;
+let _MIPS_INS_BC1EQZ = 56;;
+let _MIPS_INS_BC1F = 57;;
+let _MIPS_INS_BC1FL = 58;;
+let _MIPS_INS_BC1NEZ = 59;;
+let _MIPS_INS_BC1T = 60;;
+let _MIPS_INS_BC1TL = 61;;
+let _MIPS_INS_BC2EQZ = 62;;
+let _MIPS_INS_BC2F = 63;;
+let _MIPS_INS_BC2FL = 64;;
+let _MIPS_INS_BC2NEZ = 65;;
+let _MIPS_INS_BC2T = 66;;
+let _MIPS_INS_BC2TL = 67;;
+let _MIPS_INS_BC3F = 68;;
+let _MIPS_INS_BC3FL = 69;;
+let _MIPS_INS_BC3T = 70;;
+let _MIPS_INS_BC3TL = 71;;
+let _MIPS_INS_BCLRI = 72;;
+let _MIPS_INS_BCLR = 73;;
+let _MIPS_INS_BEQ = 74;;
+let _MIPS_INS_BEQC = 75;;
+let _MIPS_INS_BEQL = 76;;
+let _MIPS_INS_BEQZ16 = 77;;
+let _MIPS_INS_BEQZALC = 78;;
+let _MIPS_INS_BEQZC = 79;;
+let _MIPS_INS_BGEC = 80;;
+let _MIPS_INS_BGEUC = 81;;
+let _MIPS_INS_BGEZ = 82;;
+let _MIPS_INS_BGEZAL = 83;;
+let _MIPS_INS_BGEZALC = 84;;
+let _MIPS_INS_BGEZALL = 85;;
+let _MIPS_INS_BGEZALS = 86;;
+let _MIPS_INS_BGEZC = 87;;
+let _MIPS_INS_BGEZL = 88;;
+let _MIPS_INS_BGTZ = 89;;
+let _MIPS_INS_BGTZALC = 90;;
+let _MIPS_INS_BGTZC = 91;;
+let _MIPS_INS_BGTZL = 92;;
+let _MIPS_INS_BINSLI = 93;;
+let _MIPS_INS_BINSL = 94;;
+let _MIPS_INS_BINSRI = 95;;
+let _MIPS_INS_BINSR = 96;;
+let _MIPS_INS_BITREV = 97;;
+let _MIPS_INS_BITSWAP = 98;;
+let _MIPS_INS_BLEZ = 99;;
+let _MIPS_INS_BLEZALC = 100;;
+let _MIPS_INS_BLEZC = 101;;
+let _MIPS_INS_BLEZL = 102;;
+let _MIPS_INS_BLTC = 103;;
+let _MIPS_INS_BLTUC = 104;;
+let _MIPS_INS_BLTZ = 105;;
+let _MIPS_INS_BLTZAL = 106;;
+let _MIPS_INS_BLTZALC = 107;;
+let _MIPS_INS_BLTZALL = 108;;
+let _MIPS_INS_BLTZALS = 109;;
+let _MIPS_INS_BLTZC = 110;;
+let _MIPS_INS_BLTZL = 111;;
+let _MIPS_INS_BMNZI = 112;;
+let _MIPS_INS_BMNZ = 113;;
+let _MIPS_INS_BMZI = 114;;
+let _MIPS_INS_BMZ = 115;;
+let _MIPS_INS_BNE = 116;;
+let _MIPS_INS_BNEC = 117;;
+let _MIPS_INS_BNEGI = 118;;
+let _MIPS_INS_BNEG = 119;;
+let _MIPS_INS_BNEL = 120;;
+let _MIPS_INS_BNEZ16 = 121;;
+let _MIPS_INS_BNEZALC = 122;;
+let _MIPS_INS_BNEZC = 123;;
+let _MIPS_INS_BNVC = 124;;
+let _MIPS_INS_BNZ = 125;;
+let _MIPS_INS_BOVC = 126;;
+let _MIPS_INS_BPOSGE32 = 127;;
+let _MIPS_INS_BREAK = 128;;
+let _MIPS_INS_BREAK16 = 129;;
+let _MIPS_INS_BSELI = 130;;
+let _MIPS_INS_BSEL = 131;;
+let _MIPS_INS_BSETI = 132;;
+let _MIPS_INS_BSET = 133;;
+let _MIPS_INS_BZ = 134;;
+let _MIPS_INS_BEQZ = 135;;
+let _MIPS_INS_B = 136;;
+let _MIPS_INS_BNEZ = 137;;
+let _MIPS_INS_BTEQZ = 138;;
+let _MIPS_INS_BTNEZ = 139;;
+let _MIPS_INS_CACHE = 140;;
+let _MIPS_INS_CEIL = 141;;
+let _MIPS_INS_CEQI = 142;;
+let _MIPS_INS_CEQ = 143;;
+let _MIPS_INS_CFC1 = 144;;
+let _MIPS_INS_CFCMSA = 145;;
+let _MIPS_INS_CINS = 146;;
+let _MIPS_INS_CINS32 = 147;;
+let _MIPS_INS_CLASS = 148;;
+let _MIPS_INS_CLEI_S = 149;;
+let _MIPS_INS_CLEI_U = 150;;
+let _MIPS_INS_CLE_S = 151;;
+let _MIPS_INS_CLE_U = 152;;
+let _MIPS_INS_CLO = 153;;
+let _MIPS_INS_CLTI_S = 154;;
+let _MIPS_INS_CLTI_U = 155;;
+let _MIPS_INS_CLT_S = 156;;
+let _MIPS_INS_CLT_U = 157;;
+let _MIPS_INS_CLZ = 158;;
+let _MIPS_INS_CMPGDU = 159;;
+let _MIPS_INS_CMPGU = 160;;
+let _MIPS_INS_CMPU = 161;;
+let _MIPS_INS_CMP = 162;;
+let _MIPS_INS_COPY_S = 163;;
+let _MIPS_INS_COPY_U = 164;;
+let _MIPS_INS_CTC1 = 165;;
+let _MIPS_INS_CTCMSA = 166;;
+let _MIPS_INS_CVT = 167;;
+let _MIPS_INS_C = 168;;
+let _MIPS_INS_CMPI = 169;;
+let _MIPS_INS_DADD = 170;;
+let _MIPS_INS_DADDI = 171;;
+let _MIPS_INS_DADDIU = 172;;
+let _MIPS_INS_DADDU = 173;;
+let _MIPS_INS_DAHI = 174;;
+let _MIPS_INS_DALIGN = 175;;
+let _MIPS_INS_DATI = 176;;
+let _MIPS_INS_DAUI = 177;;
+let _MIPS_INS_DBITSWAP = 178;;
+let _MIPS_INS_DCLO = 179;;
+let _MIPS_INS_DCLZ = 180;;
+let _MIPS_INS_DDIV = 181;;
+let _MIPS_INS_DDIVU = 182;;
+let _MIPS_INS_DERET = 183;;
+let _MIPS_INS_DEXT = 184;;
+let _MIPS_INS_DEXTM = 185;;
+let _MIPS_INS_DEXTU = 186;;
+let _MIPS_INS_DI = 187;;
+let _MIPS_INS_DINS = 188;;
+let _MIPS_INS_DINSM = 189;;
+let _MIPS_INS_DINSU = 190;;
+let _MIPS_INS_DIV = 191;;
+let _MIPS_INS_DIVU = 192;;
+let _MIPS_INS_DIV_S = 193;;
+let _MIPS_INS_DIV_U = 194;;
+let _MIPS_INS_DLSA = 195;;
+let _MIPS_INS_DMFC0 = 196;;
+let _MIPS_INS_DMFC1 = 197;;
+let _MIPS_INS_DMFC2 = 198;;
+let _MIPS_INS_DMOD = 199;;
+let _MIPS_INS_DMODU = 200;;
+let _MIPS_INS_DMTC0 = 201;;
+let _MIPS_INS_DMTC1 = 202;;
+let _MIPS_INS_DMTC2 = 203;;
+let _MIPS_INS_DMUH = 204;;
+let _MIPS_INS_DMUHU = 205;;
+let _MIPS_INS_DMUL = 206;;
+let _MIPS_INS_DMULT = 207;;
+let _MIPS_INS_DMULTU = 208;;
+let _MIPS_INS_DMULU = 209;;
+let _MIPS_INS_DOTP_S = 210;;
+let _MIPS_INS_DOTP_U = 211;;
+let _MIPS_INS_DPADD_S = 212;;
+let _MIPS_INS_DPADD_U = 213;;
+let _MIPS_INS_DPAQX_SA = 214;;
+let _MIPS_INS_DPAQX_S = 215;;
+let _MIPS_INS_DPAQ_SA = 216;;
+let _MIPS_INS_DPAQ_S = 217;;
+let _MIPS_INS_DPAU = 218;;
+let _MIPS_INS_DPAX = 219;;
+let _MIPS_INS_DPA = 220;;
+let _MIPS_INS_DPOP = 221;;
+let _MIPS_INS_DPSQX_SA = 222;;
+let _MIPS_INS_DPSQX_S = 223;;
+let _MIPS_INS_DPSQ_SA = 224;;
+let _MIPS_INS_DPSQ_S = 225;;
+let _MIPS_INS_DPSUB_S = 226;;
+let _MIPS_INS_DPSUB_U = 227;;
+let _MIPS_INS_DPSU = 228;;
+let _MIPS_INS_DPSX = 229;;
+let _MIPS_INS_DPS = 230;;
+let _MIPS_INS_DROTR = 231;;
+let _MIPS_INS_DROTR32 = 232;;
+let _MIPS_INS_DROTRV = 233;;
+let _MIPS_INS_DSBH = 234;;
+let _MIPS_INS_DSHD = 235;;
+let _MIPS_INS_DSLL = 236;;
+let _MIPS_INS_DSLL32 = 237;;
+let _MIPS_INS_DSLLV = 238;;
+let _MIPS_INS_DSRA = 239;;
+let _MIPS_INS_DSRA32 = 240;;
+let _MIPS_INS_DSRAV = 241;;
+let _MIPS_INS_DSRL = 242;;
+let _MIPS_INS_DSRL32 = 243;;
+let _MIPS_INS_DSRLV = 244;;
+let _MIPS_INS_DSUB = 245;;
+let _MIPS_INS_DSUBU = 246;;
+let _MIPS_INS_EHB = 247;;
+let _MIPS_INS_EI = 248;;
+let _MIPS_INS_ERET = 249;;
+let _MIPS_INS_EXT = 250;;
+let _MIPS_INS_EXTP = 251;;
+let _MIPS_INS_EXTPDP = 252;;
+let _MIPS_INS_EXTPDPV = 253;;
+let _MIPS_INS_EXTPV = 254;;
+let _MIPS_INS_EXTRV_RS = 255;;
+let _MIPS_INS_EXTRV_R = 256;;
+let _MIPS_INS_EXTRV_S = 257;;
+let _MIPS_INS_EXTRV = 258;;
+let _MIPS_INS_EXTR_RS = 259;;
+let _MIPS_INS_EXTR_R = 260;;
+let _MIPS_INS_EXTR_S = 261;;
+let _MIPS_INS_EXTR = 262;;
+let _MIPS_INS_EXTS = 263;;
+let _MIPS_INS_EXTS32 = 264;;
+let _MIPS_INS_ABS = 265;;
+let _MIPS_INS_FADD = 266;;
+let _MIPS_INS_FCAF = 267;;
+let _MIPS_INS_FCEQ = 268;;
+let _MIPS_INS_FCLASS = 269;;
+let _MIPS_INS_FCLE = 270;;
+let _MIPS_INS_FCLT = 271;;
+let _MIPS_INS_FCNE = 272;;
+let _MIPS_INS_FCOR = 273;;
+let _MIPS_INS_FCUEQ = 274;;
+let _MIPS_INS_FCULE = 275;;
+let _MIPS_INS_FCULT = 276;;
+let _MIPS_INS_FCUNE = 277;;
+let _MIPS_INS_FCUN = 278;;
+let _MIPS_INS_FDIV = 279;;
+let _MIPS_INS_FEXDO = 280;;
+let _MIPS_INS_FEXP2 = 281;;
+let _MIPS_INS_FEXUPL = 282;;
+let _MIPS_INS_FEXUPR = 283;;
+let _MIPS_INS_FFINT_S = 284;;
+let _MIPS_INS_FFINT_U = 285;;
+let _MIPS_INS_FFQL = 286;;
+let _MIPS_INS_FFQR = 287;;
+let _MIPS_INS_FILL = 288;;
+let _MIPS_INS_FLOG2 = 289;;
+let _MIPS_INS_FLOOR = 290;;
+let _MIPS_INS_FMADD = 291;;
+let _MIPS_INS_FMAX_A = 292;;
+let _MIPS_INS_FMAX = 293;;
+let _MIPS_INS_FMIN_A = 294;;
+let _MIPS_INS_FMIN = 295;;
+let _MIPS_INS_MOV = 296;;
+let _MIPS_INS_FMSUB = 297;;
+let _MIPS_INS_FMUL = 298;;
+let _MIPS_INS_MUL = 299;;
+let _MIPS_INS_NEG = 300;;
+let _MIPS_INS_FRCP = 301;;
+let _MIPS_INS_FRINT = 302;;
+let _MIPS_INS_FRSQRT = 303;;
+let _MIPS_INS_FSAF = 304;;
+let _MIPS_INS_FSEQ = 305;;
+let _MIPS_INS_FSLE = 306;;
+let _MIPS_INS_FSLT = 307;;
+let _MIPS_INS_FSNE = 308;;
+let _MIPS_INS_FSOR = 309;;
+let _MIPS_INS_FSQRT = 310;;
+let _MIPS_INS_SQRT = 311;;
+let _MIPS_INS_FSUB = 312;;
+let _MIPS_INS_SUB = 313;;
+let _MIPS_INS_FSUEQ = 314;;
+let _MIPS_INS_FSULE = 315;;
+let _MIPS_INS_FSULT = 316;;
+let _MIPS_INS_FSUNE = 317;;
+let _MIPS_INS_FSUN = 318;;
+let _MIPS_INS_FTINT_S = 319;;
+let _MIPS_INS_FTINT_U = 320;;
+let _MIPS_INS_FTQ = 321;;
+let _MIPS_INS_FTRUNC_S = 322;;
+let _MIPS_INS_FTRUNC_U = 323;;
+let _MIPS_INS_HADD_S = 324;;
+let _MIPS_INS_HADD_U = 325;;
+let _MIPS_INS_HSUB_S = 326;;
+let _MIPS_INS_HSUB_U = 327;;
+let _MIPS_INS_ILVEV = 328;;
+let _MIPS_INS_ILVL = 329;;
+let _MIPS_INS_ILVOD = 330;;
+let _MIPS_INS_ILVR = 331;;
+let _MIPS_INS_INS = 332;;
+let _MIPS_INS_INSERT = 333;;
+let _MIPS_INS_INSV = 334;;
+let _MIPS_INS_INSVE = 335;;
+let _MIPS_INS_J = 336;;
+let _MIPS_INS_JAL = 337;;
+let _MIPS_INS_JALR = 338;;
+let _MIPS_INS_JALRS16 = 339;;
+let _MIPS_INS_JALRS = 340;;
+let _MIPS_INS_JALS = 341;;
+let _MIPS_INS_JALX = 342;;
+let _MIPS_INS_JIALC = 343;;
+let _MIPS_INS_JIC = 344;;
+let _MIPS_INS_JR = 345;;
+let _MIPS_INS_JR16 = 346;;
+let _MIPS_INS_JRADDIUSP = 347;;
+let _MIPS_INS_JRC = 348;;
+let _MIPS_INS_JALRC = 349;;
+let _MIPS_INS_LB = 350;;
+let _MIPS_INS_LBU16 = 351;;
+let _MIPS_INS_LBUX = 352;;
+let _MIPS_INS_LBU = 353;;
+let _MIPS_INS_LD = 354;;
+let _MIPS_INS_LDC1 = 355;;
+let _MIPS_INS_LDC2 = 356;;
+let _MIPS_INS_LDC3 = 357;;
+let _MIPS_INS_LDI = 358;;
+let _MIPS_INS_LDL = 359;;
+let _MIPS_INS_LDPC = 360;;
+let _MIPS_INS_LDR = 361;;
+let _MIPS_INS_LDXC1 = 362;;
+let _MIPS_INS_LH = 363;;
+let _MIPS_INS_LHU16 = 364;;
+let _MIPS_INS_LHX = 365;;
+let _MIPS_INS_LHU = 366;;
+let _MIPS_INS_LI16 = 367;;
+let _MIPS_INS_LL = 368;;
+let _MIPS_INS_LLD = 369;;
+let _MIPS_INS_LSA = 370;;
+let _MIPS_INS_LUXC1 = 371;;
+let _MIPS_INS_LUI = 372;;
+let _MIPS_INS_LW = 373;;
+let _MIPS_INS_LW16 = 374;;
+let _MIPS_INS_LWC1 = 375;;
+let _MIPS_INS_LWC2 = 376;;
+let _MIPS_INS_LWC3 = 377;;
+let _MIPS_INS_LWL = 378;;
+let _MIPS_INS_LWM16 = 379;;
+let _MIPS_INS_LWM32 = 380;;
+let _MIPS_INS_LWPC = 381;;
+let _MIPS_INS_LWP = 382;;
+let _MIPS_INS_LWR = 383;;
+let _MIPS_INS_LWUPC = 384;;
+let _MIPS_INS_LWU = 385;;
+let _MIPS_INS_LWX = 386;;
+let _MIPS_INS_LWXC1 = 387;;
+let _MIPS_INS_LWXS = 388;;
+let _MIPS_INS_LI = 389;;
+let _MIPS_INS_MADD = 390;;
+let _MIPS_INS_MADDF = 391;;
+let _MIPS_INS_MADDR_Q = 392;;
+let _MIPS_INS_MADDU = 393;;
+let _MIPS_INS_MADDV = 394;;
+let _MIPS_INS_MADD_Q = 395;;
+let _MIPS_INS_MAQ_SA = 396;;
+let _MIPS_INS_MAQ_S = 397;;
+let _MIPS_INS_MAXA = 398;;
+let _MIPS_INS_MAXI_S = 399;;
+let _MIPS_INS_MAXI_U = 400;;
+let _MIPS_INS_MAX_A = 401;;
+let _MIPS_INS_MAX = 402;;
+let _MIPS_INS_MAX_S = 403;;
+let _MIPS_INS_MAX_U = 404;;
+let _MIPS_INS_MFC0 = 405;;
+let _MIPS_INS_MFC1 = 406;;
+let _MIPS_INS_MFC2 = 407;;
+let _MIPS_INS_MFHC1 = 408;;
+let _MIPS_INS_MFHI = 409;;
+let _MIPS_INS_MFLO = 410;;
+let _MIPS_INS_MINA = 411;;
+let _MIPS_INS_MINI_S = 412;;
+let _MIPS_INS_MINI_U = 413;;
+let _MIPS_INS_MIN_A = 414;;
+let _MIPS_INS_MIN = 415;;
+let _MIPS_INS_MIN_S = 416;;
+let _MIPS_INS_MIN_U = 417;;
+let _MIPS_INS_MOD = 418;;
+let _MIPS_INS_MODSUB = 419;;
+let _MIPS_INS_MODU = 420;;
+let _MIPS_INS_MOD_S = 421;;
+let _MIPS_INS_MOD_U = 422;;
+let _MIPS_INS_MOVE = 423;;
+let _MIPS_INS_MOVEP = 424;;
+let _MIPS_INS_MOVF = 425;;
+let _MIPS_INS_MOVN = 426;;
+let _MIPS_INS_MOVT = 427;;
+let _MIPS_INS_MOVZ = 428;;
+let _MIPS_INS_MSUB = 429;;
+let _MIPS_INS_MSUBF = 430;;
+let _MIPS_INS_MSUBR_Q = 431;;
+let _MIPS_INS_MSUBU = 432;;
+let _MIPS_INS_MSUBV = 433;;
+let _MIPS_INS_MSUB_Q = 434;;
+let _MIPS_INS_MTC0 = 435;;
+let _MIPS_INS_MTC1 = 436;;
+let _MIPS_INS_MTC2 = 437;;
+let _MIPS_INS_MTHC1 = 438;;
+let _MIPS_INS_MTHI = 439;;
+let _MIPS_INS_MTHLIP = 440;;
+let _MIPS_INS_MTLO = 441;;
+let _MIPS_INS_MTM0 = 442;;
+let _MIPS_INS_MTM1 = 443;;
+let _MIPS_INS_MTM2 = 444;;
+let _MIPS_INS_MTP0 = 445;;
+let _MIPS_INS_MTP1 = 446;;
+let _MIPS_INS_MTP2 = 447;;
+let _MIPS_INS_MUH = 448;;
+let _MIPS_INS_MUHU = 449;;
+let _MIPS_INS_MULEQ_S = 450;;
+let _MIPS_INS_MULEU_S = 451;;
+let _MIPS_INS_MULQ_RS = 452;;
+let _MIPS_INS_MULQ_S = 453;;
+let _MIPS_INS_MULR_Q = 454;;
+let _MIPS_INS_MULSAQ_S = 455;;
+let _MIPS_INS_MULSA = 456;;
+let _MIPS_INS_MULT = 457;;
+let _MIPS_INS_MULTU = 458;;
+let _MIPS_INS_MULU = 459;;
+let _MIPS_INS_MULV = 460;;
+let _MIPS_INS_MUL_Q = 461;;
+let _MIPS_INS_MUL_S = 462;;
+let _MIPS_INS_NLOC = 463;;
+let _MIPS_INS_NLZC = 464;;
+let _MIPS_INS_NMADD = 465;;
+let _MIPS_INS_NMSUB = 466;;
+let _MIPS_INS_NOR = 467;;
+let _MIPS_INS_NORI = 468;;
+let _MIPS_INS_NOT16 = 469;;
+let _MIPS_INS_NOT = 470;;
+let _MIPS_INS_OR = 471;;
+let _MIPS_INS_OR16 = 472;;
+let _MIPS_INS_ORI = 473;;
+let _MIPS_INS_PACKRL = 474;;
+let _MIPS_INS_PAUSE = 475;;
+let _MIPS_INS_PCKEV = 476;;
+let _MIPS_INS_PCKOD = 477;;
+let _MIPS_INS_PCNT = 478;;
+let _MIPS_INS_PICK = 479;;
+let _MIPS_INS_POP = 480;;
+let _MIPS_INS_PRECEQU = 481;;
+let _MIPS_INS_PRECEQ = 482;;
+let _MIPS_INS_PRECEU = 483;;
+let _MIPS_INS_PRECRQU_S = 484;;
+let _MIPS_INS_PRECRQ = 485;;
+let _MIPS_INS_PRECRQ_RS = 486;;
+let _MIPS_INS_PRECR = 487;;
+let _MIPS_INS_PRECR_SRA = 488;;
+let _MIPS_INS_PRECR_SRA_R = 489;;
+let _MIPS_INS_PREF = 490;;
+let _MIPS_INS_PREPEND = 491;;
+let _MIPS_INS_RADDU = 492;;
+let _MIPS_INS_RDDSP = 493;;
+let _MIPS_INS_RDHWR = 494;;
+let _MIPS_INS_REPLV = 495;;
+let _MIPS_INS_REPL = 496;;
+let _MIPS_INS_RINT = 497;;
+let _MIPS_INS_ROTR = 498;;
+let _MIPS_INS_ROTRV = 499;;
+let _MIPS_INS_ROUND = 500;;
+let _MIPS_INS_SAT_S = 501;;
+let _MIPS_INS_SAT_U = 502;;
+let _MIPS_INS_SB = 503;;
+let _MIPS_INS_SB16 = 504;;
+let _MIPS_INS_SC = 505;;
+let _MIPS_INS_SCD = 506;;
+let _MIPS_INS_SD = 507;;
+let _MIPS_INS_SDBBP = 508;;
+let _MIPS_INS_SDBBP16 = 509;;
+let _MIPS_INS_SDC1 = 510;;
+let _MIPS_INS_SDC2 = 511;;
+let _MIPS_INS_SDC3 = 512;;
+let _MIPS_INS_SDL = 513;;
+let _MIPS_INS_SDR = 514;;
+let _MIPS_INS_SDXC1 = 515;;
+let _MIPS_INS_SEB = 516;;
+let _MIPS_INS_SEH = 517;;
+let _MIPS_INS_SELEQZ = 518;;
+let _MIPS_INS_SELNEZ = 519;;
+let _MIPS_INS_SEL = 520;;
+let _MIPS_INS_SEQ = 521;;
+let _MIPS_INS_SEQI = 522;;
+let _MIPS_INS_SH = 523;;
+let _MIPS_INS_SH16 = 524;;
+let _MIPS_INS_SHF = 525;;
+let _MIPS_INS_SHILO = 526;;
+let _MIPS_INS_SHILOV = 527;;
+let _MIPS_INS_SHLLV = 528;;
+let _MIPS_INS_SHLLV_S = 529;;
+let _MIPS_INS_SHLL = 530;;
+let _MIPS_INS_SHLL_S = 531;;
+let _MIPS_INS_SHRAV = 532;;
+let _MIPS_INS_SHRAV_R = 533;;
+let _MIPS_INS_SHRA = 534;;
+let _MIPS_INS_SHRA_R = 535;;
+let _MIPS_INS_SHRLV = 536;;
+let _MIPS_INS_SHRL = 537;;
+let _MIPS_INS_SLDI = 538;;
+let _MIPS_INS_SLD = 539;;
+let _MIPS_INS_SLL = 540;;
+let _MIPS_INS_SLL16 = 541;;
+let _MIPS_INS_SLLI = 542;;
+let _MIPS_INS_SLLV = 543;;
+let _MIPS_INS_SLT = 544;;
+let _MIPS_INS_SLTI = 545;;
+let _MIPS_INS_SLTIU = 546;;
+let _MIPS_INS_SLTU = 547;;
+let _MIPS_INS_SNE = 548;;
+let _MIPS_INS_SNEI = 549;;
+let _MIPS_INS_SPLATI = 550;;
+let _MIPS_INS_SPLAT = 551;;
+let _MIPS_INS_SRA = 552;;
+let _MIPS_INS_SRAI = 553;;
+let _MIPS_INS_SRARI = 554;;
+let _MIPS_INS_SRAR = 555;;
+let _MIPS_INS_SRAV = 556;;
+let _MIPS_INS_SRL = 557;;
+let _MIPS_INS_SRL16 = 558;;
+let _MIPS_INS_SRLI = 559;;
+let _MIPS_INS_SRLRI = 560;;
+let _MIPS_INS_SRLR = 561;;
+let _MIPS_INS_SRLV = 562;;
+let _MIPS_INS_SSNOP = 563;;
+let _MIPS_INS_ST = 564;;
+let _MIPS_INS_SUBQH = 565;;
+let _MIPS_INS_SUBQH_R = 566;;
+let _MIPS_INS_SUBQ = 567;;
+let _MIPS_INS_SUBQ_S = 568;;
+let _MIPS_INS_SUBSUS_U = 569;;
+let _MIPS_INS_SUBSUU_S = 570;;
+let _MIPS_INS_SUBS_S = 571;;
+let _MIPS_INS_SUBS_U = 572;;
+let _MIPS_INS_SUBU16 = 573;;
+let _MIPS_INS_SUBUH = 574;;
+let _MIPS_INS_SUBUH_R = 575;;
+let _MIPS_INS_SUBU = 576;;
+let _MIPS_INS_SUBU_S = 577;;
+let _MIPS_INS_SUBVI = 578;;
+let _MIPS_INS_SUBV = 579;;
+let _MIPS_INS_SUXC1 = 580;;
+let _MIPS_INS_SW = 581;;
+let _MIPS_INS_SW16 = 582;;
+let _MIPS_INS_SWC1 = 583;;
+let _MIPS_INS_SWC2 = 584;;
+let _MIPS_INS_SWC3 = 585;;
+let _MIPS_INS_SWL = 586;;
+let _MIPS_INS_SWM16 = 587;;
+let _MIPS_INS_SWM32 = 588;;
+let _MIPS_INS_SWP = 589;;
+let _MIPS_INS_SWR = 590;;
+let _MIPS_INS_SWXC1 = 591;;
+let _MIPS_INS_SYNC = 592;;
+let _MIPS_INS_SYNCI = 593;;
+let _MIPS_INS_SYSCALL = 594;;
+let _MIPS_INS_TEQ = 595;;
+let _MIPS_INS_TEQI = 596;;
+let _MIPS_INS_TGE = 597;;
+let _MIPS_INS_TGEI = 598;;
+let _MIPS_INS_TGEIU = 599;;
+let _MIPS_INS_TGEU = 600;;
+let _MIPS_INS_TLBP = 601;;
+let _MIPS_INS_TLBR = 602;;
+let _MIPS_INS_TLBWI = 603;;
+let _MIPS_INS_TLBWR = 604;;
+let _MIPS_INS_TLT = 605;;
+let _MIPS_INS_TLTI = 606;;
+let _MIPS_INS_TLTIU = 607;;
+let _MIPS_INS_TLTU = 608;;
+let _MIPS_INS_TNE = 609;;
+let _MIPS_INS_TNEI = 610;;
+let _MIPS_INS_TRUNC = 611;;
+let _MIPS_INS_V3MULU = 612;;
+let _MIPS_INS_VMM0 = 613;;
+let _MIPS_INS_VMULU = 614;;
+let _MIPS_INS_VSHF = 615;;
+let _MIPS_INS_WAIT = 616;;
+let _MIPS_INS_WRDSP = 617;;
+let _MIPS_INS_WSBH = 618;;
+let _MIPS_INS_XOR = 619;;
+let _MIPS_INS_XOR16 = 620;;
+let _MIPS_INS_XORI = 621;;
+
+(* some alias instructions *)
+let _MIPS_INS_NOP = 622;;
+let _MIPS_INS_NEGU = 623;;
+
+(* special instructions *)
+let _MIPS_INS_JALR_HB = 624;;
+let _MIPS_INS_JR_HB = 625;;
+let _MIPS_INS_ENDING = 626;;
+
+let _MIPS_GRP_INVALID = 0;;
+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;;
+let _MIPS_GRP_BRANCH_RELATIVE = 7;;
+let _MIPS_GRP_BITCOUNT = 128;;
+let _MIPS_GRP_DSP = 129;;
+let _MIPS_GRP_DSPR2 = 130;;
+let _MIPS_GRP_FPIDX = 131;;
+let _MIPS_GRP_MSA = 132;;
+let _MIPS_GRP_MIPS32R2 = 133;;
+let _MIPS_GRP_MIPS64 = 134;;
+let _MIPS_GRP_MIPS64R2 = 135;;
+let _MIPS_GRP_SEINREG = 136;;
+let _MIPS_GRP_STDENC = 137;;
+let _MIPS_GRP_SWAP = 138;;
+let _MIPS_GRP_MICROMIPS = 139;;
+let _MIPS_GRP_MIPS16MODE = 140;;
+let _MIPS_GRP_FP64BIT = 141;;
+let _MIPS_GRP_NONANSFPMATH = 142;;
+let _MIPS_GRP_NOTFP64BIT = 143;;
+let _MIPS_GRP_NOTINMICROMIPS = 144;;
+let _MIPS_GRP_NOTNACL = 145;;
+let _MIPS_GRP_NOTMIPS32R6 = 146;;
+let _MIPS_GRP_NOTMIPS64R6 = 147;;
+let _MIPS_GRP_CNMIPS = 148;;
+let _MIPS_GRP_MIPS32 = 149;;
+let _MIPS_GRP_MIPS32R6 = 150;;
+let _MIPS_GRP_MIPS64R6 = 151;;
+let _MIPS_GRP_MIPS2 = 152;;
+let _MIPS_GRP_MIPS3 = 153;;
+let _MIPS_GRP_MIPS3_32 = 154;;
+let _MIPS_GRP_MIPS3_32R2 = 155;;
+let _MIPS_GRP_MIPS4_32 = 156;;
+let _MIPS_GRP_MIPS4_32R2 = 157;;
+let _MIPS_GRP_MIPS5_32R2 = 158;;
+let _MIPS_GRP_GP32BIT = 159;;
+let _MIPS_GRP_GP64BIT = 160;;
+let _MIPS_GRP_ENDING = 161;;
diff --git a/capstone/bindings/ocaml/ocaml.c b/capstone/bindings/ocaml/ocaml.c
new file mode 100644
index 000000000..8043d231d
--- /dev/null
+++ b/capstone/bindings/ocaml/ocaml.c
@@ -0,0 +1,1104 @@
+/* Capstone Disassembler Engine */
+/* By Nguyen Anh Quynh <aquynh@gmail.com>, 2013> */
+
+#include <stdio.h> // debug
+#include <string.h>
+#include <caml/mlvalues.h>
+#include <caml/memory.h>
+#include <caml/alloc.h>
+#include <caml/fail.h>
+
+#include "capstone/capstone.h"
+
+#define ARR_SIZE(a) (sizeof(a)/sizeof(a[0]))
+
+
+// count the number of positive members in @list
+static unsigned int list_count(uint8_t *list, unsigned int max)
+{
+ unsigned int i;
+
+ for(i = 0; i < max; i++)
+ if (list[i] == 0)
+ return i;
+
+ return max;
+}
+
+CAMLprim value _cs_disasm(cs_arch arch, csh handle, const uint8_t * code, size_t code_len, uint64_t addr, size_t count)
+{
+ CAMLparam0();
+ CAMLlocal5(list, cons, rec_insn, array, tmp);
+ CAMLlocal4(arch_info, op_info_val, tmp2, tmp3);
+ cs_insn *insn;
+ size_t c;
+
+ list = Val_emptylist;
+
+ c = cs_disasm(handle, code, code_len, addr, count, &insn);
+ if (c) {
+ //printf("Found %lu insn, addr: %lx\n", c, addr);
+ uint64_t j;
+ for (j = c; j > 0; j--) {
+ unsigned int lcount, i;
+ cons = caml_alloc(2, 0);
+
+ rec_insn = caml_alloc(10, 0);
+ Store_field(rec_insn, 0, Val_int(insn[j-1].id));
+ Store_field(rec_insn, 1, Val_int(insn[j-1].address));
+ Store_field(rec_insn, 2, Val_int(insn[j-1].size));
+
+ // copy raw bytes of instruction
+ lcount = insn[j-1].size;
+ if (lcount) {
+ array = caml_alloc(lcount, 0);
+ for (i = 0; i < lcount; i++) {
+ Store_field(array, i, Val_int(insn[j-1].bytes[i]));
+ }
+ } else
+ array = Atom(0); // empty list
+ Store_field(rec_insn, 3, array);
+
+ Store_field(rec_insn, 4, caml_copy_string(insn[j-1].mnemonic));
+ Store_field(rec_insn, 5, caml_copy_string(insn[j-1].op_str));
+
+ // copy read registers
+ if (insn[0].detail) {
+ lcount = (insn[j-1]).detail->regs_read_count;
+ if (lcount) {
+ array = caml_alloc(lcount, 0);
+ for (i = 0; i < lcount; i++) {
+ Store_field(array, i, Val_int(insn[j-1].detail->regs_read[i]));
+ }
+ } else
+ array = Atom(0); // empty list
+ } else
+ array = Atom(0); // empty list
+ Store_field(rec_insn, 6, array);
+
+ if (insn[0].detail) {
+ lcount = (insn[j-1]).detail->regs_write_count;
+ if (lcount) {
+ array = caml_alloc(lcount, 0);
+ for (i = 0; i < lcount; i++) {
+ Store_field(array, i, Val_int(insn[j-1].detail->regs_write[i]));
+ }
+ } else
+ array = Atom(0); // empty list
+ } else
+ array = Atom(0); // empty list
+ Store_field(rec_insn, 7, array);
+
+ if (insn[0].detail) {
+ lcount = (insn[j-1]).detail->groups_count;
+ if (lcount) {
+ array = caml_alloc(lcount, 0);
+ for (i = 0; i < lcount; i++) {
+ Store_field(array, i, Val_int(insn[j-1].detail->groups[i]));
+ }
+ } else
+ array = Atom(0); // empty list
+ } else
+ array = Atom(0); // empty list
+ Store_field(rec_insn, 8, array);
+
+ if (insn[j-1].detail) {
+ switch(arch) {
+ case CS_ARCH_ARM:
+ arch_info = caml_alloc(1, 0);
+
+ op_info_val = caml_alloc(10, 0);
+ Store_field(op_info_val, 0, Val_bool(insn[j-1].detail->arm.usermode));
+ Store_field(op_info_val, 1, Val_int(insn[j-1].detail->arm.vector_size));
+ Store_field(op_info_val, 2, Val_int(insn[j-1].detail->arm.vector_data));
+ Store_field(op_info_val, 3, Val_int(insn[j-1].detail->arm.cps_mode));
+ Store_field(op_info_val, 4, Val_int(insn[j-1].detail->arm.cps_flag));
+ Store_field(op_info_val, 5, Val_int(insn[j-1].detail->arm.cc));
+ Store_field(op_info_val, 6, Val_bool(insn[j-1].detail->arm.update_flags));
+ Store_field(op_info_val, 7, Val_bool(insn[j-1].detail->arm.writeback));
+ Store_field(op_info_val, 8, Val_int(insn[j-1].detail->arm.mem_barrier));
+
+ lcount = insn[j-1].detail->arm.op_count;
+ if (lcount > 0) {
+ array = caml_alloc(lcount, 0);
+ for (i = 0; i < lcount; i++) {
+ tmp2 = caml_alloc(5, 0);
+ switch(insn[j-1].detail->arm.operands[i].type) {
+ case ARM_OP_REG:
+ case ARM_OP_SYSREG:
+ tmp = caml_alloc(1, 1);
+ Store_field(tmp, 0, Val_int(insn[j-1].detail->arm.operands[i].reg));
+ break;
+ case ARM_OP_CIMM:
+ tmp = caml_alloc(1, 2);
+ Store_field(tmp, 0, Val_int(insn[j-1].detail->arm.operands[i].imm));
+ break;
+ case ARM_OP_PIMM:
+ tmp = caml_alloc(1, 3);
+ Store_field(tmp, 0, Val_int(insn[j-1].detail->arm.operands[i].imm));
+ break;
+ case ARM_OP_IMM:
+ tmp = caml_alloc(1, 4);
+ Store_field(tmp, 0, Val_int(insn[j-1].detail->arm.operands[i].imm));
+ break;
+ case ARM_OP_FP:
+ tmp = caml_alloc(1, 5);
+ Store_field(tmp, 0, caml_copy_double(insn[j-1].detail->arm.operands[i].fp));
+ break;
+ case ARM_OP_MEM:
+ tmp = caml_alloc(1, 6);
+ tmp3 = caml_alloc(5, 0);
+ Store_field(tmp3, 0, Val_int(insn[j-1].detail->arm.operands[i].mem.base));
+ Store_field(tmp3, 1, Val_int(insn[j-1].detail->arm.operands[i].mem.index));
+ Store_field(tmp3, 2, Val_int(insn[j-1].detail->arm.operands[i].mem.scale));
+ Store_field(tmp3, 3, Val_int(insn[j-1].detail->arm.operands[i].mem.disp));
+ Store_field(tmp3, 4, Val_int(insn[j-1].detail->arm.operands[i].mem.lshift));
+ Store_field(tmp, 0, tmp3);
+ break;
+ case ARM_OP_SETEND:
+ tmp = caml_alloc(1, 7);
+ Store_field(tmp, 0, Val_int(insn[j-1].detail->arm.operands[i].setend));
+ break;
+ default: break;
+ }
+ tmp3 = caml_alloc(2, 0);
+ Store_field(tmp3, 0, Val_int(insn[j-1].detail->arm.operands[i].shift.type));
+ Store_field(tmp3, 1, Val_int(insn[j-1].detail->arm.operands[i].shift.value));
+ Store_field(tmp2, 0, Val_int(insn[j-1].detail->arm.operands[i].vector_index));
+ Store_field(tmp2, 1, tmp3);
+ Store_field(tmp2, 2, tmp);
+ Store_field(tmp2, 3, Val_bool(insn[j-1].detail->arm.operands[i].subtracted));
+ Store_field(tmp2, 4, Val_int(insn[j-1].detail->arm.operands[i].access));
+ Store_field(tmp2, 5, Val_int(insn[j-1].detail->arm.operands[i].neon_lane));
+ Store_field(array, i, tmp2);
+ }
+ } else // empty list
+ array = Atom(0);
+
+ Store_field(op_info_val, 9, array);
+
+ // finally, insert this into arch_info
+ Store_field(arch_info, 0, op_info_val);
+
+ Store_field(rec_insn, 9, arch_info);
+
+ break;
+ case CS_ARCH_ARM64:
+ arch_info = caml_alloc(1, 1);
+
+ op_info_val = caml_alloc(4, 0);
+ Store_field(op_info_val, 0, Val_int(insn[j-1].detail->arm64.cc));
+ Store_field(op_info_val, 1, Val_bool(insn[j-1].detail->arm64.update_flags));
+ Store_field(op_info_val, 2, Val_bool(insn[j-1].detail->arm64.writeback));
+
+ lcount = insn[j-1].detail->arm64.op_count;
+ if (lcount > 0) {
+ array = caml_alloc(lcount, 0);
+ for (i = 0; i < lcount; i++) {
+ tmp2 = caml_alloc(6, 0);
+ switch(insn[j-1].detail->arm64.operands[i].type) {
+ case ARM64_OP_REG:
+ tmp = caml_alloc(1, 1);
+ Store_field(tmp, 0, Val_int(insn[j-1].detail->arm64.operands[i].reg));
+ break;
+ case ARM64_OP_CIMM:
+ tmp = caml_alloc(1, 2);
+ Store_field(tmp, 0, Val_int(insn[j-1].detail->arm64.operands[i].imm));
+ break;
+ case ARM64_OP_IMM:
+ tmp = caml_alloc(1, 3);
+ Store_field(tmp, 0, Val_int(insn[j-1].detail->arm64.operands[i].imm));
+ break;
+ case ARM64_OP_FP:
+ tmp = caml_alloc(1, 4);
+ Store_field(tmp, 0, caml_copy_double(insn[j-1].detail->arm64.operands[i].fp));
+ break;
+ case ARM64_OP_MEM:
+ tmp = caml_alloc(1, 5);
+ tmp3 = caml_alloc(3, 0);
+ Store_field(tmp3, 0, Val_int(insn[j-1].detail->arm64.operands[i].mem.base));
+ Store_field(tmp3, 1, Val_int(insn[j-1].detail->arm64.operands[i].mem.index));
+ Store_field(tmp3, 2, Val_int(insn[j-1].detail->arm64.operands[i].mem.disp));
+ Store_field(tmp, 0, tmp3);
+ break;
+ case ARM64_OP_REG_MRS:
+ tmp = caml_alloc(1, 6);
+ Store_field(tmp, 0, Val_int(insn[j-1].detail->arm64.operands[i].reg));
+ break;
+ case ARM64_OP_REG_MSR:
+ tmp = caml_alloc(1, 7);
+ Store_field(tmp, 0, Val_int(insn[j-1].detail->arm64.operands[i].reg));
+ break;
+ case ARM64_OP_PSTATE:
+ tmp = caml_alloc(1, 8);
+ Store_field(tmp, 0, Val_int(insn[j-1].detail->arm64.operands[i].pstate));
+ break;
+ case ARM64_OP_SYS:
+ tmp = caml_alloc(1, 9);
+ Store_field(tmp, 0, Val_int(insn[j-1].detail->arm64.operands[i].sys));
+ break;
+ case ARM64_OP_PREFETCH:
+ tmp = caml_alloc(1, 10);
+ Store_field(tmp, 0, Val_int(insn[j-1].detail->arm64.operands[i].prefetch));
+ break;
+ case ARM64_OP_BARRIER:
+ tmp = caml_alloc(1, 11);
+ Store_field(tmp, 0, Val_int(insn[j-1].detail->arm64.operands[i].barrier));
+ break;
+ default: break;
+ }
+ tmp3 = caml_alloc(2, 0);
+ Store_field(tmp3, 0, Val_int(insn[j-1].detail->arm64.operands[i].shift.type));
+ Store_field(tmp3, 1, Val_int(insn[j-1].detail->arm64.operands[i].shift.value));
+
+ Store_field(tmp2, 0, Val_int(insn[j-1].detail->arm64.operands[i].vector_index));
+ Store_field(tmp2, 1, Val_int(insn[j-1].detail->arm64.operands[i].vas));
+ Store_field(tmp2, 2, tmp3);
+ Store_field(tmp2, 3, Val_int(insn[j-1].detail->arm64.operands[i].ext));
+ Store_field(tmp2, 4, tmp);
+
+ Store_field(array, i, tmp2);
+ }
+ } else // empty array
+ array = Atom(0);
+
+ Store_field(op_info_val, 3, array);
+
+ // finally, insert this into arch_info
+ Store_field(arch_info, 0, op_info_val);
+
+ Store_field(rec_insn, 9, arch_info);
+
+ break;
+ case CS_ARCH_MIPS:
+ arch_info = caml_alloc(1, 2);
+
+ op_info_val = caml_alloc(1, 0);
+
+ lcount = insn[j-1].detail->mips.op_count;
+ if (lcount > 0) {
+ array = caml_alloc(lcount, 0);
+ for (i = 0; i < lcount; i++) {
+ tmp2 = caml_alloc(1, 0);
+ switch(insn[j-1].detail->mips.operands[i].type) {
+ case MIPS_OP_REG:
+ tmp = caml_alloc(1, 1);
+ Store_field(tmp, 0, Val_int(insn[j-1].detail->mips.operands[i].reg));
+ break;
+ case MIPS_OP_IMM:
+ tmp = caml_alloc(1, 2);
+ Store_field(tmp, 0, Val_int(insn[j-1].detail->mips.operands[i].imm));
+ break;
+ case MIPS_OP_MEM:
+ tmp = caml_alloc(1, 3);
+ tmp3 = caml_alloc(2, 0);
+ Store_field(tmp3, 0, Val_int(insn[j-1].detail->mips.operands[i].mem.base));
+ Store_field(tmp3, 1, Val_int(insn[j-1].detail->mips.operands[i].mem.disp));
+ Store_field(tmp, 0, tmp3);
+ break;
+ default: break;
+ }
+ Store_field(tmp2, 0, tmp);
+ Store_field(array, i, tmp2);
+ }
+ } else // empty array
+ array = Atom(0);
+
+ Store_field(op_info_val, 0, array);
+
+ // finally, insert this into arch_info
+ Store_field(arch_info, 0, op_info_val);
+
+ Store_field(rec_insn, 9, arch_info);
+
+ break;
+ case CS_ARCH_X86:
+ arch_info = caml_alloc(1, 3);
+
+ op_info_val = caml_alloc(17, 0);
+
+ // fill prefix
+ lcount = list_count(insn[j-1].detail->x86.prefix, ARR_SIZE(insn[j-1].detail->x86.prefix));
+ if (lcount) {
+ array = caml_alloc(lcount, 0);
+ for (i = 0; i < lcount; i++) {
+ Store_field(array, i, Val_int(insn[j-1].detail->x86.prefix[i]));
+ }
+ } else
+ array = Atom(0);
+ Store_field(op_info_val, 0, array);
+
+ // fill opcode
+ lcount = list_count(insn[j-1].detail->x86.opcode, ARR_SIZE(insn[j-1].detail->x86.opcode));
+ if (lcount) {
+ array = caml_alloc(lcount, 0);
+ for (i = 0; i < lcount; i++) {
+ Store_field(array, i, Val_int(insn[j-1].detail->x86.opcode[i]));
+ }
+ } else
+ array = Atom(0);
+ Store_field(op_info_val, 1, array);
+
+ Store_field(op_info_val, 2, Val_int(insn[j-1].detail->x86.rex));
+
+ Store_field(op_info_val, 3, Val_int(insn[j-1].detail->x86.addr_size));
+
+ Store_field(op_info_val, 4, Val_int(insn[j-1].detail->x86.modrm));
+
+ Store_field(op_info_val, 5, Val_int(insn[j-1].detail->x86.sib));
+
+ Store_field(op_info_val, 6, Val_int(insn[j-1].detail->x86.disp));
+
+ Store_field(op_info_val, 7, Val_int(insn[j-1].detail->x86.sib_index));
+
+ Store_field(op_info_val, 8, Val_int(insn[j-1].detail->x86.sib_scale));
+
+ Store_field(op_info_val, 9, Val_int(insn[j-1].detail->x86.sib_base));
+
+ Store_field(op_info_val, 10, Val_int(insn[j-1].detail->x86.xop_cc));
+ Store_field(op_info_val, 11, Val_int(insn[j-1].detail->x86.sse_cc));
+ Store_field(op_info_val, 12, Val_int(insn[j-1].detail->x86.avx_cc));
+ Store_field(op_info_val, 13, Val_int(insn[j-1].detail->x86.avx_sae));
+ Store_field(op_info_val, 14, Val_int(insn[j-1].detail->x86.avx_rm));
+ Store_field(op_info_val, 15, Val_int(insn[j-1].detail->x86.eflags));
+
+ lcount = insn[j-1].detail->x86.op_count;
+ if (lcount > 0) {
+ array = caml_alloc(lcount, 0);
+ for (i = 0; i < lcount; i++) {
+ switch(insn[j-1].detail->x86.operands[i].type) {
+ case X86_OP_REG:
+ tmp = caml_alloc(1, 1);
+ Store_field(tmp, 0, Val_int(insn[j-1].detail->x86.operands[i].reg));
+ break;
+ case X86_OP_IMM:
+ tmp = caml_alloc(1, 2);
+ Store_field(tmp, 0, Val_int(insn[j-1].detail->x86.operands[i].imm));
+ break;
+ case X86_OP_MEM:
+ tmp = caml_alloc(1, 3);
+ tmp2 = caml_alloc(5, 0);
+ Store_field(tmp2, 0, Val_int(insn[j-1].detail->x86.operands[i].mem.segment));
+ Store_field(tmp2, 1, Val_int(insn[j-1].detail->x86.operands[i].mem.base));
+ Store_field(tmp2, 2, Val_int(insn[j-1].detail->x86.operands[i].mem.index));
+ Store_field(tmp2, 3, Val_int(insn[j-1].detail->x86.operands[i].mem.scale));
+ Store_field(tmp2, 4, Val_int(insn[j-1].detail->x86.operands[i].mem.disp));
+
+ Store_field(tmp, 0, tmp2);
+ break;
+ default:
+ tmp = caml_alloc(1, 0); // X86_OP_INVALID
+ break;
+ }
+
+ tmp2 = caml_alloc(5, 0);
+ Store_field(tmp2, 0, tmp);
+ Store_field(tmp2, 1, Val_int(insn[j-1].detail->x86.operands[i].size));
+ Store_field(tmp2, 2, Val_int(insn[j-1].detail->x86.operands[i].access));
+ Store_field(tmp2, 3, Val_int(insn[j-1].detail->x86.operands[i].avx_bcast));
+ Store_field(tmp2, 4, Val_int(insn[j-1].detail->x86.operands[i].avx_zero_opmask));
+ Store_field(array, i, tmp2);
+ }
+ } else // empty array
+ array = Atom(0);
+ Store_field(op_info_val, 16, array);
+
+ // finally, insert this into arch_info
+ Store_field(arch_info, 0, op_info_val);
+
+ Store_field(rec_insn, 9, arch_info);
+ break;
+
+ case CS_ARCH_PPC:
+ arch_info = caml_alloc(1, 4);
+
+ op_info_val = caml_alloc(4, 0);
+
+ Store_field(op_info_val, 0, Val_int(insn[j-1].detail->ppc.bc));
+ Store_field(op_info_val, 1, Val_int(insn[j-1].detail->ppc.bh));
+ Store_field(op_info_val, 2, Val_bool(insn[j-1].detail->ppc.update_cr0));
+
+ lcount = insn[j-1].detail->ppc.op_count;
+ if (lcount > 0) {
+ array = caml_alloc(lcount, 0);
+ for (i = 0; i < lcount; i++) {
+ tmp2 = caml_alloc(1, 0);
+ switch(insn[j-1].detail->ppc.operands[i].type) {
+ case PPC_OP_REG:
+ tmp = caml_alloc(1, 1);
+ Store_field(tmp, 0, Val_int(insn[j-1].detail->ppc.operands[i].reg));
+ break;
+ case PPC_OP_IMM:
+ tmp = caml_alloc(1, 2);
+ Store_field(tmp, 0, Val_int(insn[j-1].detail->ppc.operands[i].imm));
+ break;
+ case PPC_OP_MEM:
+ tmp = caml_alloc(1, 3);
+ tmp3 = caml_alloc(2, 0);
+ Store_field(tmp3, 0, Val_int(insn[j-1].detail->ppc.operands[i].mem.base));
+ Store_field(tmp3, 1, Val_int(insn[j-1].detail->ppc.operands[i].mem.disp));
+ Store_field(tmp, 0, tmp3);
+ break;
+ case PPC_OP_CRX:
+ tmp = caml_alloc(1, 4);
+ tmp3 = caml_alloc(3, 0);
+ Store_field(tmp3, 0, Val_int(insn[j-1].detail->ppc.operands[i].crx.scale));
+ Store_field(tmp3, 1, Val_int(insn[j-1].detail->ppc.operands[i].crx.reg));
+ Store_field(tmp3, 2, Val_int(insn[j-1].detail->ppc.operands[i].crx.cond));
+ Store_field(tmp, 0, tmp3);
+ break;
+ default: break;
+ }
+ Store_field(tmp2, 0, tmp);
+ Store_field(array, i, tmp2);
+ }
+ } else // empty array
+ array = Atom(0);
+
+ Store_field(op_info_val, 3, array);
+
+ // finally, insert this into arch_info
+ Store_field(arch_info, 0, op_info_val);
+
+ Store_field(rec_insn, 9, arch_info);
+
+ break;
+
+ case CS_ARCH_SPARC:
+ arch_info = caml_alloc(1, 5);
+
+ op_info_val = caml_alloc(3, 0);
+
+ Store_field(op_info_val, 0, Val_int(insn[j-1].detail->sparc.cc));
+ Store_field(op_info_val, 1, Val_int(insn[j-1].detail->sparc.hint));
+
+ lcount = insn[j-1].detail->sparc.op_count;
+ if (lcount > 0) {
+ array = caml_alloc(lcount, 0);
+ for (i = 0; i < lcount; i++) {
+ tmp2 = caml_alloc(1, 0);
+ switch(insn[j-1].detail->sparc.operands[i].type) {
+ case SPARC_OP_REG:
+ tmp = caml_alloc(1, 1);
+ Store_field(tmp, 0, Val_int(insn[j-1].detail->sparc.operands[i].reg));
+ break;
+ case SPARC_OP_IMM:
+ tmp = caml_alloc(1, 2);
+ Store_field(tmp, 0, Val_int(insn[j-1].detail->sparc.operands[i].imm));
+ break;
+ case SPARC_OP_MEM:
+ tmp = caml_alloc(1, 3);
+ tmp3 = caml_alloc(3, 0);
+ Store_field(tmp3, 0, Val_int(insn[j-1].detail->sparc.operands[i].mem.base));
+ Store_field(tmp3, 1, Val_int(insn[j-1].detail->sparc.operands[i].mem.index));
+ Store_field(tmp3, 2, Val_int(insn[j-1].detail->sparc.operands[i].mem.disp));
+ Store_field(tmp, 0, tmp3);
+ break;
+ default: break;
+ }
+ Store_field(tmp2, 0, tmp);
+ Store_field(array, i, tmp2);
+ }
+ } else // empty array
+ array = Atom(0);
+
+ Store_field(op_info_val, 2, array);
+
+ // finally, insert this into arch_info
+ Store_field(arch_info, 0, op_info_val);
+
+ Store_field(rec_insn, 9, arch_info);
+
+ break;
+
+ case CS_ARCH_SYSZ:
+ arch_info = caml_alloc(1, 6);
+
+ op_info_val = caml_alloc(2, 0);
+
+ Store_field(op_info_val, 0, Val_int(insn[j-1].detail->sysz.cc));
+
+ lcount = insn[j-1].detail->sysz.op_count;
+ if (lcount > 0) {
+ array = caml_alloc(lcount, 0);
+ for (i = 0; i < lcount; i++) {
+ tmp2 = caml_alloc(1, 0);
+ switch(insn[j-1].detail->sysz.operands[i].type) {
+ case SYSZ_OP_REG:
+ tmp = caml_alloc(1, 1);
+ Store_field(tmp, 0, Val_int(insn[j-1].detail->sysz.operands[i].reg));
+ break;
+ case SYSZ_OP_ACREG:
+ tmp = caml_alloc(1, 2);
+ Store_field(tmp, 0, Val_int(insn[j-1].detail->sysz.operands[i].reg));
+ break;
+ case SYSZ_OP_IMM:
+ tmp = caml_alloc(1, 3);
+ Store_field(tmp, 0, Val_int(insn[j-1].detail->sysz.operands[i].imm));
+ break;
+ case SYSZ_OP_MEM:
+ tmp = caml_alloc(1, 4);
+ tmp3 = caml_alloc(4, 0);
+ Store_field(tmp3, 0, Val_int(insn[j-1].detail->sysz.operands[i].mem.base));
+ Store_field(tmp3, 1, Val_int(insn[j-1].detail->sysz.operands[i].mem.index));
+ Store_field(tmp3, 2, caml_copy_int64(insn[j-1].detail->sysz.operands[i].mem.length));
+ Store_field(tmp3, 3, caml_copy_int64(insn[j-1].detail->sysz.operands[i].mem.disp));
+ Store_field(tmp, 0, tmp3);
+ break;
+ default: break;
+ }
+ Store_field(tmp2, 0, tmp);
+ Store_field(array, i, tmp2);
+ }
+ } else // empty array
+ array = Atom(0);
+
+ Store_field(op_info_val, 1, array);
+
+ // finally, insert this into arch_info
+ Store_field(arch_info, 0, op_info_val);
+
+ Store_field(rec_insn, 9, arch_info);
+
+ break;
+
+ case CS_ARCH_XCORE:
+ arch_info = caml_alloc(1, 7);
+
+ op_info_val = caml_alloc(1, 0);
+
+ lcount = insn[j-1].detail->xcore.op_count;
+ if (lcount > 0) {
+ array = caml_alloc(lcount, 0);
+ for (i = 0; i < lcount; i++) {
+ tmp2 = caml_alloc(1, 0);
+ switch(insn[j-1].detail->xcore.operands[i].type) {
+ case XCORE_OP_REG:
+ tmp = caml_alloc(1, 1);
+ Store_field(tmp, 0, Val_int(insn[j-1].detail->xcore.operands[i].reg));
+ break;
+ case XCORE_OP_IMM:
+ tmp = caml_alloc(1, 2);
+ Store_field(tmp, 0, Val_int(insn[j-1].detail->xcore.operands[i].imm));
+ break;
+ case XCORE_OP_MEM:
+ tmp = caml_alloc(1, 3);
+ tmp3 = caml_alloc(4, 0);
+ Store_field(tmp3, 0, Val_int(insn[j-1].detail->xcore.operands[i].mem.base));
+ Store_field(tmp3, 1, Val_int(insn[j-1].detail->xcore.operands[i].mem.index));
+ Store_field(tmp3, 2, caml_copy_int64(insn[j-1].detail->xcore.operands[i].mem.disp));
+ Store_field(tmp3, 3, caml_copy_int64(insn[j-1].detail->xcore.operands[i].mem.direct));
+ Store_field(tmp, 0, tmp3);
+ break;
+ default: break;
+ }
+ Store_field(tmp2, 0, tmp);
+ Store_field(array, i, tmp2);
+ }
+ } else // empty array
+ array = Atom(0);
+
+ Store_field(op_info_val, 0, array);
+
+ // finally, insert this into arch_info
+ Store_field(arch_info, 0, op_info_val);
+
+ Store_field(rec_insn, 9, arch_info);
+
+ break;
+
+ case CS_ARCH_M680X:
+ arch_info = caml_alloc(1, 8);
+
+ op_info_val = caml_alloc(2, 0); // struct cs_m680x
+ Store_field(op_info_val, 0, Val_int(insn[j-1].detail->m680x.flags));
+
+ lcount = insn[j-1].detail->m680x.op_count;
+ if (lcount > 0) {
+ array = caml_alloc(lcount, 0);
+ for (i = 0; i < lcount; i++) {
+ tmp2 = caml_alloc(3, 0); // m680x_op
+ switch(insn[j-1].detail->m680x.operands[i].type) {
+ case M680X_OP_IMMEDIATE:
+ tmp = caml_alloc(1, 1); // imm
+ Store_field(tmp, 0, Val_int(insn[j-1].detail->m680x.operands[i].imm));
+ break;
+ case M680X_OP_REGISTER:
+ tmp = caml_alloc(1, 2); // reg
+ Store_field(tmp, 0, Val_int(insn[j-1].detail->m680x.operands[i].reg));
+ break;
+ case M680X_OP_INDEXED:
+ tmp = caml_alloc(1, 3);
+ tmp3 = caml_alloc(7, 0); // m680x_op_idx
+ Store_field(tmp3, 0, Val_int(insn[j-1].detail->m680x.operands[i].idx.base_reg));
+ Store_field(tmp3, 1, Val_int(insn[j-1].detail->m680x.operands[i].idx.offset_reg));
+ Store_field(tmp3, 2, Val_int(insn[j-1].detail->m680x.operands[i].idx.offset));
+ Store_field(tmp3, 3, Val_int(insn[j-1].detail->m680x.operands[i].idx.offset_addr));
+ Store_field(tmp3, 4, Val_int(insn[j-1].detail->m680x.operands[i].idx.offset_bits));
+ Store_field(tmp3, 5, Val_int(insn[j-1].detail->m680x.operands[i].idx.inc_dec));
+ Store_field(tmp3, 6, Val_int(insn[j-1].detail->m680x.operands[i].idx.flags));
+ Store_field(tmp, 0, tmp3);
+ break;
+ case M680X_OP_RELATIVE:
+ tmp = caml_alloc(1, 4);
+ tmp3 = caml_alloc(2, 0); // m680x_op_rel
+ Store_field(tmp3, 0, Val_int(insn[j-1].detail->m680x.operands[i].rel.address));
+ Store_field(tmp3, 1, Val_int(insn[j-1].detail->m680x.operands[i].rel.offset));
+ Store_field(tmp, 0, tmp3);
+ break;
+ case M680X_OP_EXTENDED:
+ tmp = caml_alloc(1, 5);
+ tmp3 = caml_alloc(2, 0); // m680x_op_ext
+ Store_field(tmp3, 0, Val_int(insn[j-1].detail->m680x.operands[i].ext.address));
+ Store_field(tmp3, 1, Val_bool(insn[j-1].detail->m680x.operands[i].ext.indirect));
+ Store_field(tmp, 0, tmp3);
+ break;
+ case M680X_OP_DIRECT:
+ tmp = caml_alloc(1, 6); // direct_addr
+ Store_field(tmp, 0, Val_int(insn[j-1].detail->m680x.operands[i].direct_addr));
+ break;
+ case M680X_OP_CONSTANT:
+ tmp = caml_alloc(1, 7); // const_val
+ Store_field(tmp, 0, Val_int(insn[j-1].detail->m680x.operands[i].const_val));
+ break;
+ default: break;
+ }
+ Store_field(tmp2, 0, tmp); // add union
+ Store_field(tmp2, 1, Val_int(insn[j-1].detail->m680x.operands[i].size));
+ Store_field(tmp2, 2, Val_int(insn[j-1].detail->m680x.operands[i].access));
+ Store_field(array, i, tmp2); // add operand to operand array
+ }
+ } else // empty list
+ array = Atom(0);
+
+ Store_field(op_info_val, 1, array);
+
+ // finally, insert this into arch_info
+ Store_field(arch_info, 0, op_info_val);
+
+ Store_field(rec_insn, 9, arch_info);
+
+ break;
+
+ default: break;
+ }
+ }
+
+ Store_field(cons, 0, rec_insn); // head
+ Store_field(cons, 1, list); // tail
+ list = cons;
+ }
+ cs_free(insn, count);
+ }
+
+ // do not free the handle here
+ //cs_close(&handle);
+ CAMLreturn(list);
+}
+
+CAMLprim value ocaml_cs_disasm(value _arch, value _mode, value _code, value _addr, value _count)
+{
+ CAMLparam5(_arch, _mode, _code, _addr, _count);
+ CAMLlocal1(head);
+ csh handle;
+ cs_arch arch;
+ cs_mode mode = 0;
+ const uint8_t *code;
+ uint64_t addr;
+ size_t count, code_len;
+
+ switch (Int_val(_arch)) {
+ case 0:
+ arch = CS_ARCH_ARM;
+ break;
+ case 1:
+ arch = CS_ARCH_ARM64;
+ break;
+ case 2:
+ arch = CS_ARCH_MIPS;
+ break;
+ case 3:
+ arch = CS_ARCH_X86;
+ break;
+ case 4:
+ arch = CS_ARCH_PPC;
+ break;
+ case 5:
+ arch = CS_ARCH_SPARC;
+ break;
+ case 6:
+ arch = CS_ARCH_SYSZ;
+ break;
+ case 7:
+ arch = CS_ARCH_XCORE;
+ break;
+ case 8:
+ arch = CS_ARCH_M68K;
+ break;
+ case 9:
+ arch = CS_ARCH_TMS320C64X;
+ break;
+ case 10:
+ arch = CS_ARCH_M680X;
+ break;
+ default:
+ caml_invalid_argument("Invalid arch");
+ return Val_emptylist;
+ }
+
+ while (_mode != Val_emptylist) {
+ head = Field(_mode, 0); /* accessing the head */
+ switch (Int_val(head)) {
+ case 0:
+ mode |= CS_MODE_LITTLE_ENDIAN;
+ break;
+ case 1:
+ mode |= CS_MODE_ARM;
+ break;
+ case 2:
+ mode |= CS_MODE_16;
+ break;
+ case 3:
+ mode |= CS_MODE_32;
+ break;
+ case 4:
+ mode |= CS_MODE_64;
+ break;
+ case 5:
+ mode |= CS_MODE_THUMB;
+ break;
+ case 6:
+ mode |= CS_MODE_MCLASS;
+ break;
+ case 7:
+ mode |= CS_MODE_V8;
+ break;
+ case 8:
+ mode |= CS_MODE_MICRO;
+ break;
+ case 9:
+ mode |= CS_MODE_MIPS3;
+ break;
+ case 10:
+ mode |= CS_MODE_MIPS32R6;
+ break;
+ case 11:
+ mode |= CS_MODE_MIPS2;
+ break;
+ case 12:
+ mode |= CS_MODE_V9;
+ break;
+ case 13:
+ mode |= CS_MODE_BIG_ENDIAN;
+ break;
+ case 14:
+ mode |= CS_MODE_MIPS32;
+ break;
+ case 15:
+ mode |= CS_MODE_MIPS64;
+ break;
+ case 16:
+ mode |= CS_MODE_QPX;
+ break;
+ case 17:
+ mode |= CS_MODE_M680X_6301;
+ break;
+ case 18:
+ mode |= CS_MODE_M680X_6309;
+ break;
+ case 19:
+ mode |= CS_MODE_M680X_6800;
+ break;
+ case 20:
+ mode |= CS_MODE_M680X_6801;
+ break;
+ case 21:
+ mode |= CS_MODE_M680X_6805;
+ break;
+ case 22:
+ mode |= CS_MODE_M680X_6808;
+ break;
+ case 23:
+ mode |= CS_MODE_M680X_6809;
+ break;
+ case 24:
+ mode |= CS_MODE_M680X_6811;
+ break;
+ case 25:
+ mode |= CS_MODE_M680X_CPU12;
+ break;
+ case 26:
+ mode |= CS_MODE_M680X_HCS08;
+ break;
+ default:
+ caml_invalid_argument("Invalid mode");
+ return Val_emptylist;
+ }
+ _mode = Field(_mode, 1); /* point to the tail for next loop */
+ }
+
+ cs_err ret = cs_open(arch, mode, &handle);
+ if (ret != CS_ERR_OK) {
+ return Val_emptylist;
+ }
+
+ code = (uint8_t *)String_val(_code);
+ code_len = caml_string_length(_code);
+ addr = Int64_val(_addr);
+ count = Int64_val(_count);
+
+ CAMLreturn(_cs_disasm(arch, handle, code, code_len, addr, count));
+}
+
+CAMLprim value ocaml_cs_disasm_internal(value _arch, value _handle, value _code, value _addr, value _count)
+{
+ CAMLparam5(_arch, _handle, _code, _addr, _count);
+ csh handle;
+ cs_arch arch;
+ const uint8_t *code;
+ uint64_t addr, count, code_len;
+
+ handle = Int64_val(_handle);
+
+ arch = Int_val(_arch);
+ code = (uint8_t *)String_val(_code);
+ code_len = caml_string_length(_code);
+ addr = Int64_val(_addr);
+ count = Int64_val(_count);
+
+ CAMLreturn(_cs_disasm(arch, handle, code, code_len, addr, count));
+}
+
+CAMLprim value ocaml_open(value _arch, value _mode)
+{
+ CAMLparam2(_arch, _mode);
+ CAMLlocal2(list, head);
+ csh handle;
+ cs_arch arch;
+ cs_mode mode = 0;
+
+ list = Val_emptylist;
+
+ switch (Int_val(_arch)) {
+ case 0:
+ arch = CS_ARCH_ARM;
+ break;
+ case 1:
+ arch = CS_ARCH_ARM64;
+ break;
+ case 2:
+ arch = CS_ARCH_MIPS;
+ break;
+ case 3:
+ arch = CS_ARCH_X86;
+ break;
+ case 4:
+ arch = CS_ARCH_PPC;
+ break;
+ case 5:
+ arch = CS_ARCH_SPARC;
+ break;
+ case 6:
+ arch = CS_ARCH_SYSZ;
+ break;
+ case 7:
+ arch = CS_ARCH_XCORE;
+ break;
+ case 8:
+ arch = CS_ARCH_M68K;
+ break;
+ case 9:
+ arch = CS_ARCH_TMS320C64X;
+ break;
+ case 10:
+ arch = CS_ARCH_M680X;
+ break;
+ default:
+ caml_invalid_argument("Invalid arch");
+ return Val_emptylist;
+ }
+
+
+ while (_mode != Val_emptylist) {
+ head = Field(_mode, 0); /* accessing the head */
+ switch (Int_val(head)) {
+ case 0:
+ mode |= CS_MODE_LITTLE_ENDIAN;
+ break;
+ case 1:
+ mode |= CS_MODE_ARM;
+ break;
+ case 2:
+ mode |= CS_MODE_16;
+ break;
+ case 3:
+ mode |= CS_MODE_32;
+ break;
+ case 4:
+ mode |= CS_MODE_64;
+ break;
+ case 5:
+ mode |= CS_MODE_THUMB;
+ break;
+ case 6:
+ mode |= CS_MODE_MCLASS;
+ break;
+ case 7:
+ mode |= CS_MODE_V8;
+ break;
+ case 8:
+ mode |= CS_MODE_MICRO;
+ break;
+ case 9:
+ mode |= CS_MODE_MIPS3;
+ break;
+ case 10:
+ mode |= CS_MODE_MIPS32R6;
+ break;
+ case 11:
+ mode |= CS_MODE_MIPS2;
+ break;
+ case 12:
+ mode |= CS_MODE_V9;
+ break;
+ case 13:
+ mode |= CS_MODE_BIG_ENDIAN;
+ break;
+ case 14:
+ mode |= CS_MODE_MIPS32;
+ break;
+ case 15:
+ mode |= CS_MODE_MIPS64;
+ break;
+ case 16:
+ mode |= CS_MODE_QPX;
+ break;
+ case 17:
+ mode |= CS_MODE_M680X_6301;
+ break;
+ case 18:
+ mode |= CS_MODE_M680X_6309;
+ break;
+ case 19:
+ mode |= CS_MODE_M680X_6800;
+ break;
+ case 20:
+ mode |= CS_MODE_M680X_6801;
+ break;
+ case 21:
+ mode |= CS_MODE_M680X_6805;
+ break;
+ case 22:
+ mode |= CS_MODE_M680X_6808;
+ break;
+ case 23:
+ mode |= CS_MODE_M680X_6809;
+ break;
+ case 24:
+ mode |= CS_MODE_M680X_6811;
+ break;
+ case 25:
+ mode |= CS_MODE_M680X_CPU12;
+ break;
+ case 26:
+ mode |= CS_MODE_M680X_HCS08;
+ break;
+ default:
+ caml_invalid_argument("Invalid mode");
+ return Val_emptylist;
+ }
+ _mode = Field(_mode, 1); /* point to the tail for next loop */
+ }
+
+ if (cs_open(arch, mode, &handle) != 0)
+ CAMLreturn(Val_int(0));
+
+ CAMLlocal1(result);
+ result = caml_alloc(1, 0);
+ Store_field(result, 0, caml_copy_int64(handle));
+ CAMLreturn(result);
+}
+
+CAMLprim value ocaml_option(value _handle, value _opt, value _value)
+{
+ CAMLparam3(_handle, _opt, _value);
+ cs_opt_type opt;
+ int err;
+
+ switch (Int_val(_opt)) {
+ case 0:
+ opt = CS_OPT_SYNTAX;
+ break;
+ case 1:
+ opt = CS_OPT_DETAIL;
+ break;
+ case 2:
+ opt = CS_OPT_MODE;
+ break;
+ case 3:
+ opt = CS_OPT_MEM;
+ break;
+ case 4:
+ opt = CS_OPT_SKIPDATA;
+ break;
+ case 5:
+ opt = CS_OPT_SKIPDATA_SETUP;
+ break;
+ default:
+ caml_invalid_argument("Invalid option");
+ CAMLreturn(Val_int(CS_ERR_OPTION));
+ }
+
+ err = cs_option(Int64_val(_handle), opt, Int64_val(_value));
+
+ CAMLreturn(Val_int(err));
+}
+
+CAMLprim value ocaml_register_name(value _handle, value _reg)
+{
+ const char *name = cs_reg_name(Int64_val(_handle), Int_val(_reg));
+ if (!name) {
+ caml_invalid_argument("invalid reg_id");
+ name = "invalid";
+ }
+
+ return caml_copy_string(name);
+}
+
+CAMLprim value ocaml_instruction_name(value _handle, value _insn)
+{
+ const char *name = cs_insn_name(Int64_val(_handle), Int_val(_insn));
+ if (!name) {
+ caml_invalid_argument("invalid insn_id");
+ name = "invalid";
+ }
+
+ return caml_copy_string(name);
+}
+
+CAMLprim value ocaml_group_name(value _handle, value _insn)
+{
+ const char *name = cs_group_name(Int64_val(_handle), Int_val(_insn));
+ if (!name) {
+ caml_invalid_argument("invalid insn_id");
+ name = "invalid";
+ }
+
+ return caml_copy_string(name);
+}
+
+CAMLprim value ocaml_version(void)
+{
+ int version = cs_version(NULL, NULL);
+ return Val_int(version);
+}
+
+CAMLprim value ocaml_close(value _handle)
+{
+ CAMLparam1(_handle);
+ csh h;
+
+ h = Int64_val(_handle);
+
+ CAMLreturn(Val_int(cs_close(&h)));
+}
diff --git a/capstone/bindings/ocaml/ppc.ml b/capstone/bindings/ocaml/ppc.ml
new file mode 100644
index 000000000..269bfcc9e
--- /dev/null
+++ b/capstone/bindings/ocaml/ppc.ml
@@ -0,0 +1,34 @@
+(* Capstone Disassembly Engine
+ * By Guillaume Jeanne <guillaume.jeanne@ensimag.fr>, 2014> *)
+
+open Ppc_const
+
+type ppc_op_mem = {
+ base: int;
+ disp: int;
+}
+
+type ppc_op_crx = {
+ scale: int;
+ reg: int;
+ cond: int;
+}
+
+type ppc_op_value =
+ | PPC_OP_INVALID of int
+ | PPC_OP_REG of int
+ | PPC_OP_IMM of int
+ | PPC_OP_MEM of ppc_op_mem
+ | PPC_OP_CRX of ppc_op_crx
+
+type ppc_op = {
+ value: ppc_op_value;
+}
+
+type cs_ppc = {
+ bc: int;
+ bh: int;
+ update_cr0: bool;
+ operands: ppc_op array;
+}
+
diff --git a/capstone/bindings/ocaml/ppc_const.ml b/capstone/bindings/ocaml/ppc_const.ml
new file mode 100644
index 000000000..6849a0c49
--- /dev/null
+++ b/capstone/bindings/ocaml/ppc_const.ml
@@ -0,0 +1,1976 @@
+(* For Capstone Engine. AUTO-GENERATED FILE, DO NOT EDIT [ppc_const.ml] *)
+
+let _PPC_BC_INVALID = 0;;
+let _PPC_BC_LT = (0 lsl 5) lor 12;;
+let _PPC_BC_LE = (1 lsl 5) lor 4;;
+let _PPC_BC_EQ = (2 lsl 5) lor 12;;
+let _PPC_BC_GE = (0 lsl 5) lor 4;;
+let _PPC_BC_GT = (1 lsl 5) lor 12;;
+let _PPC_BC_NE = (2 lsl 5) lor 4;;
+let _PPC_BC_UN = (3 lsl 5) lor 12;;
+let _PPC_BC_NU = (3 lsl 5) lor 4;;
+let _PPC_BC_SO = (4 lsl 5) lor 12;;
+let _PPC_BC_NS = (4 lsl 5) lor 4;;
+
+let _PPC_BH_INVALID = 0;;
+let _PPC_BH_PLUS = 1;;
+let _PPC_BH_MINUS = 2;;
+
+let _PPC_OP_INVALID = 0;;
+let _PPC_OP_REG = 1;;
+let _PPC_OP_IMM = 2;;
+let _PPC_OP_MEM = 3;;
+let _PPC_OP_CRX = 64;;
+
+let _PPC_REG_INVALID = 0;;
+let _PPC_REG_CARRY = 2;;
+let _PPC_REG_CTR = 3;;
+let _PPC_REG_LR = 5;;
+let _PPC_REG_RM = 6;;
+let _PPC_REG_VRSAVE = 8;;
+let _PPC_REG_XER = 9;;
+let _PPC_REG_ZERO = 10;;
+let _PPC_REG_CR0 = 12;;
+let _PPC_REG_CR1 = 13;;
+let _PPC_REG_CR2 = 14;;
+let _PPC_REG_CR3 = 15;;
+let _PPC_REG_CR4 = 16;;
+let _PPC_REG_CR5 = 17;;
+let _PPC_REG_CR6 = 18;;
+let _PPC_REG_CR7 = 19;;
+let _PPC_REG_CTR8 = 20;;
+let _PPC_REG_F0 = 21;;
+let _PPC_REG_F1 = 22;;
+let _PPC_REG_F2 = 23;;
+let _PPC_REG_F3 = 24;;
+let _PPC_REG_F4 = 25;;
+let _PPC_REG_F5 = 26;;
+let _PPC_REG_F6 = 27;;
+let _PPC_REG_F7 = 28;;
+let _PPC_REG_F8 = 29;;
+let _PPC_REG_F9 = 30;;
+let _PPC_REG_F10 = 31;;
+let _PPC_REG_F11 = 32;;
+let _PPC_REG_F12 = 33;;
+let _PPC_REG_F13 = 34;;
+let _PPC_REG_F14 = 35;;
+let _PPC_REG_F15 = 36;;
+let _PPC_REG_F16 = 37;;
+let _PPC_REG_F17 = 38;;
+let _PPC_REG_F18 = 39;;
+let _PPC_REG_F19 = 40;;
+let _PPC_REG_F20 = 41;;
+let _PPC_REG_F21 = 42;;
+let _PPC_REG_F22 = 43;;
+let _PPC_REG_F23 = 44;;
+let _PPC_REG_F24 = 45;;
+let _PPC_REG_F25 = 46;;
+let _PPC_REG_F26 = 47;;
+let _PPC_REG_F27 = 48;;
+let _PPC_REG_F28 = 49;;
+let _PPC_REG_F29 = 50;;
+let _PPC_REG_F30 = 51;;
+let _PPC_REG_F31 = 52;;
+let _PPC_REG_LR8 = 54;;
+let _PPC_REG_Q0 = 55;;
+let _PPC_REG_Q1 = 56;;
+let _PPC_REG_Q2 = 57;;
+let _PPC_REG_Q3 = 58;;
+let _PPC_REG_Q4 = 59;;
+let _PPC_REG_Q5 = 60;;
+let _PPC_REG_Q6 = 61;;
+let _PPC_REG_Q7 = 62;;
+let _PPC_REG_Q8 = 63;;
+let _PPC_REG_Q9 = 64;;
+let _PPC_REG_Q10 = 65;;
+let _PPC_REG_Q11 = 66;;
+let _PPC_REG_Q12 = 67;;
+let _PPC_REG_Q13 = 68;;
+let _PPC_REG_Q14 = 69;;
+let _PPC_REG_Q15 = 70;;
+let _PPC_REG_Q16 = 71;;
+let _PPC_REG_Q17 = 72;;
+let _PPC_REG_Q18 = 73;;
+let _PPC_REG_Q19 = 74;;
+let _PPC_REG_Q20 = 75;;
+let _PPC_REG_Q21 = 76;;
+let _PPC_REG_Q22 = 77;;
+let _PPC_REG_Q23 = 78;;
+let _PPC_REG_Q24 = 79;;
+let _PPC_REG_Q25 = 80;;
+let _PPC_REG_Q26 = 81;;
+let _PPC_REG_Q27 = 82;;
+let _PPC_REG_Q28 = 83;;
+let _PPC_REG_Q29 = 84;;
+let _PPC_REG_Q30 = 85;;
+let _PPC_REG_Q31 = 86;;
+let _PPC_REG_R0 = 87;;
+let _PPC_REG_R1 = 88;;
+let _PPC_REG_R2 = 89;;
+let _PPC_REG_R3 = 90;;
+let _PPC_REG_R4 = 91;;
+let _PPC_REG_R5 = 92;;
+let _PPC_REG_R6 = 93;;
+let _PPC_REG_R7 = 94;;
+let _PPC_REG_R8 = 95;;
+let _PPC_REG_R9 = 96;;
+let _PPC_REG_R10 = 97;;
+let _PPC_REG_R11 = 98;;
+let _PPC_REG_R12 = 99;;
+let _PPC_REG_R13 = 100;;
+let _PPC_REG_R14 = 101;;
+let _PPC_REG_R15 = 102;;
+let _PPC_REG_R16 = 103;;
+let _PPC_REG_R17 = 104;;
+let _PPC_REG_R18 = 105;;
+let _PPC_REG_R19 = 106;;
+let _PPC_REG_R20 = 107;;
+let _PPC_REG_R21 = 108;;
+let _PPC_REG_R22 = 109;;
+let _PPC_REG_R23 = 110;;
+let _PPC_REG_R24 = 111;;
+let _PPC_REG_R25 = 112;;
+let _PPC_REG_R26 = 113;;
+let _PPC_REG_R27 = 114;;
+let _PPC_REG_R28 = 115;;
+let _PPC_REG_R29 = 116;;
+let _PPC_REG_R30 = 117;;
+let _PPC_REG_R31 = 118;;
+let _PPC_REG_V0 = 151;;
+let _PPC_REG_V1 = 152;;
+let _PPC_REG_V2 = 153;;
+let _PPC_REG_V3 = 154;;
+let _PPC_REG_V4 = 155;;
+let _PPC_REG_V5 = 156;;
+let _PPC_REG_V6 = 157;;
+let _PPC_REG_V7 = 158;;
+let _PPC_REG_V8 = 159;;
+let _PPC_REG_V9 = 160;;
+let _PPC_REG_V10 = 161;;
+let _PPC_REG_V11 = 162;;
+let _PPC_REG_V12 = 163;;
+let _PPC_REG_V13 = 164;;
+let _PPC_REG_V14 = 165;;
+let _PPC_REG_V15 = 166;;
+let _PPC_REG_V16 = 167;;
+let _PPC_REG_V17 = 168;;
+let _PPC_REG_V18 = 169;;
+let _PPC_REG_V19 = 170;;
+let _PPC_REG_V20 = 171;;
+let _PPC_REG_V21 = 172;;
+let _PPC_REG_V22 = 173;;
+let _PPC_REG_V23 = 174;;
+let _PPC_REG_V24 = 175;;
+let _PPC_REG_V25 = 176;;
+let _PPC_REG_V26 = 177;;
+let _PPC_REG_V27 = 178;;
+let _PPC_REG_V28 = 179;;
+let _PPC_REG_V29 = 180;;
+let _PPC_REG_V30 = 181;;
+let _PPC_REG_V31 = 182;;
+let _PPC_REG_VS0 = 215;;
+let _PPC_REG_VS1 = 216;;
+let _PPC_REG_VS2 = 217;;
+let _PPC_REG_VS3 = 218;;
+let _PPC_REG_VS4 = 219;;
+let _PPC_REG_VS5 = 220;;
+let _PPC_REG_VS6 = 221;;
+let _PPC_REG_VS7 = 222;;
+let _PPC_REG_VS8 = 223;;
+let _PPC_REG_VS9 = 224;;
+let _PPC_REG_VS10 = 225;;
+let _PPC_REG_VS11 = 226;;
+let _PPC_REG_VS12 = 227;;
+let _PPC_REG_VS13 = 228;;
+let _PPC_REG_VS14 = 229;;
+let _PPC_REG_VS15 = 230;;
+let _PPC_REG_VS16 = 231;;
+let _PPC_REG_VS17 = 232;;
+let _PPC_REG_VS18 = 233;;
+let _PPC_REG_VS19 = 234;;
+let _PPC_REG_VS20 = 235;;
+let _PPC_REG_VS21 = 236;;
+let _PPC_REG_VS22 = 237;;
+let _PPC_REG_VS23 = 238;;
+let _PPC_REG_VS24 = 239;;
+let _PPC_REG_VS25 = 240;;
+let _PPC_REG_VS26 = 241;;
+let _PPC_REG_VS27 = 242;;
+let _PPC_REG_VS28 = 243;;
+let _PPC_REG_VS29 = 244;;
+let _PPC_REG_VS30 = 245;;
+let _PPC_REG_VS31 = 246;;
+let _PPC_REG_VS32 = 247;;
+let _PPC_REG_VS33 = 248;;
+let _PPC_REG_VS34 = 249;;
+let _PPC_REG_VS35 = 250;;
+let _PPC_REG_VS36 = 251;;
+let _PPC_REG_VS37 = 252;;
+let _PPC_REG_VS38 = 253;;
+let _PPC_REG_VS39 = 254;;
+let _PPC_REG_VS40 = 255;;
+let _PPC_REG_VS41 = 256;;
+let _PPC_REG_VS42 = 257;;
+let _PPC_REG_VS43 = 258;;
+let _PPC_REG_VS44 = 259;;
+let _PPC_REG_VS45 = 260;;
+let _PPC_REG_VS46 = 261;;
+let _PPC_REG_VS47 = 262;;
+let _PPC_REG_VS48 = 263;;
+let _PPC_REG_VS49 = 264;;
+let _PPC_REG_VS50 = 265;;
+let _PPC_REG_VS51 = 266;;
+let _PPC_REG_VS52 = 267;;
+let _PPC_REG_VS53 = 268;;
+let _PPC_REG_VS54 = 269;;
+let _PPC_REG_VS55 = 270;;
+let _PPC_REG_VS56 = 271;;
+let _PPC_REG_VS57 = 272;;
+let _PPC_REG_VS58 = 273;;
+let _PPC_REG_VS59 = 274;;
+let _PPC_REG_VS60 = 275;;
+let _PPC_REG_VS61 = 276;;
+let _PPC_REG_VS62 = 277;;
+let _PPC_REG_VS63 = 278;;
+let _PPC_REG_CR0EQ = 312;;
+let _PPC_REG_CR1EQ = 313;;
+let _PPC_REG_CR2EQ = 314;;
+let _PPC_REG_CR3EQ = 315;;
+let _PPC_REG_CR4EQ = 316;;
+let _PPC_REG_CR5EQ = 317;;
+let _PPC_REG_CR6EQ = 318;;
+let _PPC_REG_CR7EQ = 319;;
+let _PPC_REG_CR0GT = 320;;
+let _PPC_REG_CR1GT = 321;;
+let _PPC_REG_CR2GT = 322;;
+let _PPC_REG_CR3GT = 323;;
+let _PPC_REG_CR4GT = 324;;
+let _PPC_REG_CR5GT = 325;;
+let _PPC_REG_CR6GT = 326;;
+let _PPC_REG_CR7GT = 327;;
+let _PPC_REG_CR0LT = 328;;
+let _PPC_REG_CR1LT = 329;;
+let _PPC_REG_CR2LT = 330;;
+let _PPC_REG_CR3LT = 331;;
+let _PPC_REG_CR4LT = 332;;
+let _PPC_REG_CR5LT = 333;;
+let _PPC_REG_CR6LT = 334;;
+let _PPC_REG_CR7LT = 335;;
+let _PPC_REG_CR0UN = 336;;
+let _PPC_REG_CR1UN = 337;;
+let _PPC_REG_CR2UN = 338;;
+let _PPC_REG_CR3UN = 339;;
+let _PPC_REG_CR4UN = 340;;
+let _PPC_REG_CR5UN = 341;;
+let _PPC_REG_CR6UN = 342;;
+let _PPC_REG_CR7UN = 343;;
+let _PPC_REG_ENDING = 344;;
+
+let _PPC_INS_INVALID = 0;;
+let _PPC_INS_ADD = 1;;
+let _PPC_INS_ADDC = 2;;
+let _PPC_INS_ADDE = 3;;
+let _PPC_INS_ADDI = 4;;
+let _PPC_INS_ADDIC = 5;;
+let _PPC_INS_ADDIS = 6;;
+let _PPC_INS_ADDME = 7;;
+let _PPC_INS_ADDPCIS = 8;;
+let _PPC_INS_ADDZE = 9;;
+let _PPC_INS_AND = 10;;
+let _PPC_INS_ANDC = 11;;
+let _PPC_INS_ANDI = 12;;
+let _PPC_INS_ANDIS = 13;;
+let _PPC_INS_ATTN = 14;;
+let _PPC_INS_B = 15;;
+let _PPC_INS_BA = 16;;
+let _PPC_INS_BC = 17;;
+let _PPC_INS_BCA = 18;;
+let _PPC_INS_BCCTR = 19;;
+let _PPC_INS_BCCTRL = 20;;
+let _PPC_INS_BCDCFN = 21;;
+let _PPC_INS_BCDCFSQ = 22;;
+let _PPC_INS_BCDCFZ = 23;;
+let _PPC_INS_BCDCPSGN = 24;;
+let _PPC_INS_BCDCTN = 25;;
+let _PPC_INS_BCDCTSQ = 26;;
+let _PPC_INS_BCDCTZ = 27;;
+let _PPC_INS_BCDS = 28;;
+let _PPC_INS_BCDSETSGN = 29;;
+let _PPC_INS_BCDSR = 30;;
+let _PPC_INS_BCDTRUNC = 31;;
+let _PPC_INS_BCDUS = 32;;
+let _PPC_INS_BCDUTRUNC = 33;;
+let _PPC_INS_BCL = 34;;
+let _PPC_INS_BCLA = 35;;
+let _PPC_INS_BCLR = 36;;
+let _PPC_INS_BCLRL = 37;;
+let _PPC_INS_BCTR = 38;;
+let _PPC_INS_BCTRL = 39;;
+let _PPC_INS_BDNZ = 40;;
+let _PPC_INS_BDNZA = 41;;
+let _PPC_INS_BDNZF = 42;;
+let _PPC_INS_BDNZFA = 43;;
+let _PPC_INS_BDNZFL = 44;;
+let _PPC_INS_BDNZFLA = 45;;
+let _PPC_INS_BDNZFLR = 46;;
+let _PPC_INS_BDNZFLRL = 47;;
+let _PPC_INS_BDNZL = 48;;
+let _PPC_INS_BDNZLA = 49;;
+let _PPC_INS_BDNZLR = 50;;
+let _PPC_INS_BDNZLRL = 51;;
+let _PPC_INS_BDNZT = 52;;
+let _PPC_INS_BDNZTA = 53;;
+let _PPC_INS_BDNZTL = 54;;
+let _PPC_INS_BDNZTLA = 55;;
+let _PPC_INS_BDNZTLR = 56;;
+let _PPC_INS_BDNZTLRL = 57;;
+let _PPC_INS_BDZ = 58;;
+let _PPC_INS_BDZA = 59;;
+let _PPC_INS_BDZF = 60;;
+let _PPC_INS_BDZFA = 61;;
+let _PPC_INS_BDZFL = 62;;
+let _PPC_INS_BDZFLA = 63;;
+let _PPC_INS_BDZFLR = 64;;
+let _PPC_INS_BDZFLRL = 65;;
+let _PPC_INS_BDZL = 66;;
+let _PPC_INS_BDZLA = 67;;
+let _PPC_INS_BDZLR = 68;;
+let _PPC_INS_BDZLRL = 69;;
+let _PPC_INS_BDZT = 70;;
+let _PPC_INS_BDZTA = 71;;
+let _PPC_INS_BDZTL = 72;;
+let _PPC_INS_BDZTLA = 73;;
+let _PPC_INS_BDZTLR = 74;;
+let _PPC_INS_BDZTLRL = 75;;
+let _PPC_INS_BEQ = 76;;
+let _PPC_INS_BEQA = 77;;
+let _PPC_INS_BEQCTR = 78;;
+let _PPC_INS_BEQCTRL = 79;;
+let _PPC_INS_BEQL = 80;;
+let _PPC_INS_BEQLA = 81;;
+let _PPC_INS_BEQLR = 82;;
+let _PPC_INS_BEQLRL = 83;;
+let _PPC_INS_BF = 84;;
+let _PPC_INS_BFA = 85;;
+let _PPC_INS_BFCTR = 86;;
+let _PPC_INS_BFCTRL = 87;;
+let _PPC_INS_BFL = 88;;
+let _PPC_INS_BFLA = 89;;
+let _PPC_INS_BFLR = 90;;
+let _PPC_INS_BFLRL = 91;;
+let _PPC_INS_BGE = 92;;
+let _PPC_INS_BGEA = 93;;
+let _PPC_INS_BGECTR = 94;;
+let _PPC_INS_BGECTRL = 95;;
+let _PPC_INS_BGEL = 96;;
+let _PPC_INS_BGELA = 97;;
+let _PPC_INS_BGELR = 98;;
+let _PPC_INS_BGELRL = 99;;
+let _PPC_INS_BGT = 100;;
+let _PPC_INS_BGTA = 101;;
+let _PPC_INS_BGTCTR = 102;;
+let _PPC_INS_BGTCTRL = 103;;
+let _PPC_INS_BGTL = 104;;
+let _PPC_INS_BGTLA = 105;;
+let _PPC_INS_BGTLR = 106;;
+let _PPC_INS_BGTLRL = 107;;
+let _PPC_INS_BL = 108;;
+let _PPC_INS_BLA = 109;;
+let _PPC_INS_BLE = 110;;
+let _PPC_INS_BLEA = 111;;
+let _PPC_INS_BLECTR = 112;;
+let _PPC_INS_BLECTRL = 113;;
+let _PPC_INS_BLEL = 114;;
+let _PPC_INS_BLELA = 115;;
+let _PPC_INS_BLELR = 116;;
+let _PPC_INS_BLELRL = 117;;
+let _PPC_INS_BLR = 118;;
+let _PPC_INS_BLRL = 119;;
+let _PPC_INS_BLT = 120;;
+let _PPC_INS_BLTA = 121;;
+let _PPC_INS_BLTCTR = 122;;
+let _PPC_INS_BLTCTRL = 123;;
+let _PPC_INS_BLTL = 124;;
+let _PPC_INS_BLTLA = 125;;
+let _PPC_INS_BLTLR = 126;;
+let _PPC_INS_BLTLRL = 127;;
+let _PPC_INS_BNE = 128;;
+let _PPC_INS_BNEA = 129;;
+let _PPC_INS_BNECTR = 130;;
+let _PPC_INS_BNECTRL = 131;;
+let _PPC_INS_BNEL = 132;;
+let _PPC_INS_BNELA = 133;;
+let _PPC_INS_BNELR = 134;;
+let _PPC_INS_BNELRL = 135;;
+let _PPC_INS_BNG = 136;;
+let _PPC_INS_BNGA = 137;;
+let _PPC_INS_BNGCTR = 138;;
+let _PPC_INS_BNGCTRL = 139;;
+let _PPC_INS_BNGL = 140;;
+let _PPC_INS_BNGLA = 141;;
+let _PPC_INS_BNGLR = 142;;
+let _PPC_INS_BNGLRL = 143;;
+let _PPC_INS_BNL = 144;;
+let _PPC_INS_BNLA = 145;;
+let _PPC_INS_BNLCTR = 146;;
+let _PPC_INS_BNLCTRL = 147;;
+let _PPC_INS_BNLL = 148;;
+let _PPC_INS_BNLLA = 149;;
+let _PPC_INS_BNLLR = 150;;
+let _PPC_INS_BNLLRL = 151;;
+let _PPC_INS_BNS = 152;;
+let _PPC_INS_BNSA = 153;;
+let _PPC_INS_BNSCTR = 154;;
+let _PPC_INS_BNSCTRL = 155;;
+let _PPC_INS_BNSL = 156;;
+let _PPC_INS_BNSLA = 157;;
+let _PPC_INS_BNSLR = 158;;
+let _PPC_INS_BNSLRL = 159;;
+let _PPC_INS_BNU = 160;;
+let _PPC_INS_BNUA = 161;;
+let _PPC_INS_BNUCTR = 162;;
+let _PPC_INS_BNUCTRL = 163;;
+let _PPC_INS_BNUL = 164;;
+let _PPC_INS_BNULA = 165;;
+let _PPC_INS_BNULR = 166;;
+let _PPC_INS_BNULRL = 167;;
+let _PPC_INS_BPERMD = 168;;
+let _PPC_INS_BRINC = 169;;
+let _PPC_INS_BSO = 170;;
+let _PPC_INS_BSOA = 171;;
+let _PPC_INS_BSOCTR = 172;;
+let _PPC_INS_BSOCTRL = 173;;
+let _PPC_INS_BSOL = 174;;
+let _PPC_INS_BSOLA = 175;;
+let _PPC_INS_BSOLR = 176;;
+let _PPC_INS_BSOLRL = 177;;
+let _PPC_INS_BT = 178;;
+let _PPC_INS_BTA = 179;;
+let _PPC_INS_BTCTR = 180;;
+let _PPC_INS_BTCTRL = 181;;
+let _PPC_INS_BTL = 182;;
+let _PPC_INS_BTLA = 183;;
+let _PPC_INS_BTLR = 184;;
+let _PPC_INS_BTLRL = 185;;
+let _PPC_INS_BUN = 186;;
+let _PPC_INS_BUNA = 187;;
+let _PPC_INS_BUNCTR = 188;;
+let _PPC_INS_BUNCTRL = 189;;
+let _PPC_INS_BUNL = 190;;
+let _PPC_INS_BUNLA = 191;;
+let _PPC_INS_BUNLR = 192;;
+let _PPC_INS_BUNLRL = 193;;
+let _PPC_INS_CLRBHRB = 194;;
+let _PPC_INS_CLRLDI = 195;;
+let _PPC_INS_CLRLSLDI = 196;;
+let _PPC_INS_CLRLSLWI = 197;;
+let _PPC_INS_CLRLWI = 198;;
+let _PPC_INS_CLRRDI = 199;;
+let _PPC_INS_CLRRWI = 200;;
+let _PPC_INS_CMP = 201;;
+let _PPC_INS_CMPB = 202;;
+let _PPC_INS_CMPD = 203;;
+let _PPC_INS_CMPDI = 204;;
+let _PPC_INS_CMPEQB = 205;;
+let _PPC_INS_CMPI = 206;;
+let _PPC_INS_CMPL = 207;;
+let _PPC_INS_CMPLD = 208;;
+let _PPC_INS_CMPLDI = 209;;
+let _PPC_INS_CMPLI = 210;;
+let _PPC_INS_CMPLW = 211;;
+let _PPC_INS_CMPLWI = 212;;
+let _PPC_INS_CMPRB = 213;;
+let _PPC_INS_CMPW = 214;;
+let _PPC_INS_CMPWI = 215;;
+let _PPC_INS_CNTLZD = 216;;
+let _PPC_INS_CNTLZW = 217;;
+let _PPC_INS_CNTTZD = 218;;
+let _PPC_INS_CNTTZW = 219;;
+let _PPC_INS_COPY = 220;;
+let _PPC_INS_COPY_FIRST = 221;;
+let _PPC_INS_CP_ABORT = 222;;
+let _PPC_INS_CRAND = 223;;
+let _PPC_INS_CRANDC = 224;;
+let _PPC_INS_CRCLR = 225;;
+let _PPC_INS_CREQV = 226;;
+let _PPC_INS_CRMOVE = 227;;
+let _PPC_INS_CRNAND = 228;;
+let _PPC_INS_CRNOR = 229;;
+let _PPC_INS_CRNOT = 230;;
+let _PPC_INS_CROR = 231;;
+let _PPC_INS_CRORC = 232;;
+let _PPC_INS_CRSET = 233;;
+let _PPC_INS_CRXOR = 234;;
+let _PPC_INS_DARN = 235;;
+let _PPC_INS_DCBA = 236;;
+let _PPC_INS_DCBF = 237;;
+let _PPC_INS_DCBFEP = 238;;
+let _PPC_INS_DCBFL = 239;;
+let _PPC_INS_DCBFLP = 240;;
+let _PPC_INS_DCBI = 241;;
+let _PPC_INS_DCBST = 242;;
+let _PPC_INS_DCBSTEP = 243;;
+let _PPC_INS_DCBT = 244;;
+let _PPC_INS_DCBTCT = 245;;
+let _PPC_INS_DCBTDS = 246;;
+let _PPC_INS_DCBTEP = 247;;
+let _PPC_INS_DCBTST = 248;;
+let _PPC_INS_DCBTSTCT = 249;;
+let _PPC_INS_DCBTSTDS = 250;;
+let _PPC_INS_DCBTSTEP = 251;;
+let _PPC_INS_DCBTSTT = 252;;
+let _PPC_INS_DCBTT = 253;;
+let _PPC_INS_DCBZ = 254;;
+let _PPC_INS_DCBZEP = 255;;
+let _PPC_INS_DCBZL = 256;;
+let _PPC_INS_DCBZLEP = 257;;
+let _PPC_INS_DCCCI = 258;;
+let _PPC_INS_DCI = 259;;
+let _PPC_INS_DIVD = 260;;
+let _PPC_INS_DIVDE = 261;;
+let _PPC_INS_DIVDEU = 262;;
+let _PPC_INS_DIVDU = 263;;
+let _PPC_INS_DIVW = 264;;
+let _PPC_INS_DIVWE = 265;;
+let _PPC_INS_DIVWEU = 266;;
+let _PPC_INS_DIVWU = 267;;
+let _PPC_INS_DSS = 268;;
+let _PPC_INS_DSSALL = 269;;
+let _PPC_INS_DST = 270;;
+let _PPC_INS_DSTST = 271;;
+let _PPC_INS_DSTSTT = 272;;
+let _PPC_INS_DSTT = 273;;
+let _PPC_INS_EFDABS = 274;;
+let _PPC_INS_EFDADD = 275;;
+let _PPC_INS_EFDCFS = 276;;
+let _PPC_INS_EFDCFSF = 277;;
+let _PPC_INS_EFDCFSI = 278;;
+let _PPC_INS_EFDCFSID = 279;;
+let _PPC_INS_EFDCFUF = 280;;
+let _PPC_INS_EFDCFUI = 281;;
+let _PPC_INS_EFDCFUID = 282;;
+let _PPC_INS_EFDCMPEQ = 283;;
+let _PPC_INS_EFDCMPGT = 284;;
+let _PPC_INS_EFDCMPLT = 285;;
+let _PPC_INS_EFDCTSF = 286;;
+let _PPC_INS_EFDCTSI = 287;;
+let _PPC_INS_EFDCTSIDZ = 288;;
+let _PPC_INS_EFDCTSIZ = 289;;
+let _PPC_INS_EFDCTUF = 290;;
+let _PPC_INS_EFDCTUI = 291;;
+let _PPC_INS_EFDCTUIDZ = 292;;
+let _PPC_INS_EFDCTUIZ = 293;;
+let _PPC_INS_EFDDIV = 294;;
+let _PPC_INS_EFDMUL = 295;;
+let _PPC_INS_EFDNABS = 296;;
+let _PPC_INS_EFDNEG = 297;;
+let _PPC_INS_EFDSUB = 298;;
+let _PPC_INS_EFDTSTEQ = 299;;
+let _PPC_INS_EFDTSTGT = 300;;
+let _PPC_INS_EFDTSTLT = 301;;
+let _PPC_INS_EFSABS = 302;;
+let _PPC_INS_EFSADD = 303;;
+let _PPC_INS_EFSCFD = 304;;
+let _PPC_INS_EFSCFSF = 305;;
+let _PPC_INS_EFSCFSI = 306;;
+let _PPC_INS_EFSCFUF = 307;;
+let _PPC_INS_EFSCFUI = 308;;
+let _PPC_INS_EFSCMPEQ = 309;;
+let _PPC_INS_EFSCMPGT = 310;;
+let _PPC_INS_EFSCMPLT = 311;;
+let _PPC_INS_EFSCTSF = 312;;
+let _PPC_INS_EFSCTSI = 313;;
+let _PPC_INS_EFSCTSIZ = 314;;
+let _PPC_INS_EFSCTUF = 315;;
+let _PPC_INS_EFSCTUI = 316;;
+let _PPC_INS_EFSCTUIZ = 317;;
+let _PPC_INS_EFSDIV = 318;;
+let _PPC_INS_EFSMUL = 319;;
+let _PPC_INS_EFSNABS = 320;;
+let _PPC_INS_EFSNEG = 321;;
+let _PPC_INS_EFSSUB = 322;;
+let _PPC_INS_EFSTSTEQ = 323;;
+let _PPC_INS_EFSTSTGT = 324;;
+let _PPC_INS_EFSTSTLT = 325;;
+let _PPC_INS_EIEIO = 326;;
+let _PPC_INS_EQV = 327;;
+let _PPC_INS_EVABS = 328;;
+let _PPC_INS_EVADDIW = 329;;
+let _PPC_INS_EVADDSMIAAW = 330;;
+let _PPC_INS_EVADDSSIAAW = 331;;
+let _PPC_INS_EVADDUMIAAW = 332;;
+let _PPC_INS_EVADDUSIAAW = 333;;
+let _PPC_INS_EVADDW = 334;;
+let _PPC_INS_EVAND = 335;;
+let _PPC_INS_EVANDC = 336;;
+let _PPC_INS_EVCMPEQ = 337;;
+let _PPC_INS_EVCMPGTS = 338;;
+let _PPC_INS_EVCMPGTU = 339;;
+let _PPC_INS_EVCMPLTS = 340;;
+let _PPC_INS_EVCMPLTU = 341;;
+let _PPC_INS_EVCNTLSW = 342;;
+let _PPC_INS_EVCNTLZW = 343;;
+let _PPC_INS_EVDIVWS = 344;;
+let _PPC_INS_EVDIVWU = 345;;
+let _PPC_INS_EVEQV = 346;;
+let _PPC_INS_EVEXTSB = 347;;
+let _PPC_INS_EVEXTSH = 348;;
+let _PPC_INS_EVFSABS = 349;;
+let _PPC_INS_EVFSADD = 350;;
+let _PPC_INS_EVFSCFSF = 351;;
+let _PPC_INS_EVFSCFSI = 352;;
+let _PPC_INS_EVFSCFUF = 353;;
+let _PPC_INS_EVFSCFUI = 354;;
+let _PPC_INS_EVFSCMPEQ = 355;;
+let _PPC_INS_EVFSCMPGT = 356;;
+let _PPC_INS_EVFSCMPLT = 357;;
+let _PPC_INS_EVFSCTSF = 358;;
+let _PPC_INS_EVFSCTSI = 359;;
+let _PPC_INS_EVFSCTSIZ = 360;;
+let _PPC_INS_EVFSCTUI = 361;;
+let _PPC_INS_EVFSDIV = 362;;
+let _PPC_INS_EVFSMUL = 363;;
+let _PPC_INS_EVFSNABS = 364;;
+let _PPC_INS_EVFSNEG = 365;;
+let _PPC_INS_EVFSSUB = 366;;
+let _PPC_INS_EVFSTSTEQ = 367;;
+let _PPC_INS_EVFSTSTGT = 368;;
+let _PPC_INS_EVFSTSTLT = 369;;
+let _PPC_INS_EVLDD = 370;;
+let _PPC_INS_EVLDDX = 371;;
+let _PPC_INS_EVLDH = 372;;
+let _PPC_INS_EVLDHX = 373;;
+let _PPC_INS_EVLDW = 374;;
+let _PPC_INS_EVLDWX = 375;;
+let _PPC_INS_EVLHHESPLAT = 376;;
+let _PPC_INS_EVLHHESPLATX = 377;;
+let _PPC_INS_EVLHHOSSPLAT = 378;;
+let _PPC_INS_EVLHHOSSPLATX = 379;;
+let _PPC_INS_EVLHHOUSPLAT = 380;;
+let _PPC_INS_EVLHHOUSPLATX = 381;;
+let _PPC_INS_EVLWHE = 382;;
+let _PPC_INS_EVLWHEX = 383;;
+let _PPC_INS_EVLWHOS = 384;;
+let _PPC_INS_EVLWHOSX = 385;;
+let _PPC_INS_EVLWHOU = 386;;
+let _PPC_INS_EVLWHOUX = 387;;
+let _PPC_INS_EVLWHSPLAT = 388;;
+let _PPC_INS_EVLWHSPLATX = 389;;
+let _PPC_INS_EVLWWSPLAT = 390;;
+let _PPC_INS_EVLWWSPLATX = 391;;
+let _PPC_INS_EVMERGEHI = 392;;
+let _PPC_INS_EVMERGEHILO = 393;;
+let _PPC_INS_EVMERGELO = 394;;
+let _PPC_INS_EVMERGELOHI = 395;;
+let _PPC_INS_EVMHEGSMFAA = 396;;
+let _PPC_INS_EVMHEGSMFAN = 397;;
+let _PPC_INS_EVMHEGSMIAA = 398;;
+let _PPC_INS_EVMHEGSMIAN = 399;;
+let _PPC_INS_EVMHEGUMIAA = 400;;
+let _PPC_INS_EVMHEGUMIAN = 401;;
+let _PPC_INS_EVMHESMF = 402;;
+let _PPC_INS_EVMHESMFA = 403;;
+let _PPC_INS_EVMHESMFAAW = 404;;
+let _PPC_INS_EVMHESMFANW = 405;;
+let _PPC_INS_EVMHESMI = 406;;
+let _PPC_INS_EVMHESMIA = 407;;
+let _PPC_INS_EVMHESMIAAW = 408;;
+let _PPC_INS_EVMHESMIANW = 409;;
+let _PPC_INS_EVMHESSF = 410;;
+let _PPC_INS_EVMHESSFA = 411;;
+let _PPC_INS_EVMHESSFAAW = 412;;
+let _PPC_INS_EVMHESSFANW = 413;;
+let _PPC_INS_EVMHESSIAAW = 414;;
+let _PPC_INS_EVMHESSIANW = 415;;
+let _PPC_INS_EVMHEUMI = 416;;
+let _PPC_INS_EVMHEUMIA = 417;;
+let _PPC_INS_EVMHEUMIAAW = 418;;
+let _PPC_INS_EVMHEUMIANW = 419;;
+let _PPC_INS_EVMHEUSIAAW = 420;;
+let _PPC_INS_EVMHEUSIANW = 421;;
+let _PPC_INS_EVMHOGSMFAA = 422;;
+let _PPC_INS_EVMHOGSMFAN = 423;;
+let _PPC_INS_EVMHOGSMIAA = 424;;
+let _PPC_INS_EVMHOGSMIAN = 425;;
+let _PPC_INS_EVMHOGUMIAA = 426;;
+let _PPC_INS_EVMHOGUMIAN = 427;;
+let _PPC_INS_EVMHOSMF = 428;;
+let _PPC_INS_EVMHOSMFA = 429;;
+let _PPC_INS_EVMHOSMFAAW = 430;;
+let _PPC_INS_EVMHOSMFANW = 431;;
+let _PPC_INS_EVMHOSMI = 432;;
+let _PPC_INS_EVMHOSMIA = 433;;
+let _PPC_INS_EVMHOSMIAAW = 434;;
+let _PPC_INS_EVMHOSMIANW = 435;;
+let _PPC_INS_EVMHOSSF = 436;;
+let _PPC_INS_EVMHOSSFA = 437;;
+let _PPC_INS_EVMHOSSFAAW = 438;;
+let _PPC_INS_EVMHOSSFANW = 439;;
+let _PPC_INS_EVMHOSSIAAW = 440;;
+let _PPC_INS_EVMHOSSIANW = 441;;
+let _PPC_INS_EVMHOUMI = 442;;
+let _PPC_INS_EVMHOUMIA = 443;;
+let _PPC_INS_EVMHOUMIAAW = 444;;
+let _PPC_INS_EVMHOUMIANW = 445;;
+let _PPC_INS_EVMHOUSIAAW = 446;;
+let _PPC_INS_EVMHOUSIANW = 447;;
+let _PPC_INS_EVMRA = 448;;
+let _PPC_INS_EVMWHSMF = 449;;
+let _PPC_INS_EVMWHSMFA = 450;;
+let _PPC_INS_EVMWHSMI = 451;;
+let _PPC_INS_EVMWHSMIA = 452;;
+let _PPC_INS_EVMWHSSF = 453;;
+let _PPC_INS_EVMWHSSFA = 454;;
+let _PPC_INS_EVMWHUMI = 455;;
+let _PPC_INS_EVMWHUMIA = 456;;
+let _PPC_INS_EVMWLSMIAAW = 457;;
+let _PPC_INS_EVMWLSMIANW = 458;;
+let _PPC_INS_EVMWLSSIAAW = 459;;
+let _PPC_INS_EVMWLSSIANW = 460;;
+let _PPC_INS_EVMWLUMI = 461;;
+let _PPC_INS_EVMWLUMIA = 462;;
+let _PPC_INS_EVMWLUMIAAW = 463;;
+let _PPC_INS_EVMWLUMIANW = 464;;
+let _PPC_INS_EVMWLUSIAAW = 465;;
+let _PPC_INS_EVMWLUSIANW = 466;;
+let _PPC_INS_EVMWSMF = 467;;
+let _PPC_INS_EVMWSMFA = 468;;
+let _PPC_INS_EVMWSMFAA = 469;;
+let _PPC_INS_EVMWSMFAN = 470;;
+let _PPC_INS_EVMWSMI = 471;;
+let _PPC_INS_EVMWSMIA = 472;;
+let _PPC_INS_EVMWSMIAA = 473;;
+let _PPC_INS_EVMWSMIAN = 474;;
+let _PPC_INS_EVMWSSF = 475;;
+let _PPC_INS_EVMWSSFA = 476;;
+let _PPC_INS_EVMWSSFAA = 477;;
+let _PPC_INS_EVMWSSFAN = 478;;
+let _PPC_INS_EVMWUMI = 479;;
+let _PPC_INS_EVMWUMIA = 480;;
+let _PPC_INS_EVMWUMIAA = 481;;
+let _PPC_INS_EVMWUMIAN = 482;;
+let _PPC_INS_EVNAND = 483;;
+let _PPC_INS_EVNEG = 484;;
+let _PPC_INS_EVNOR = 485;;
+let _PPC_INS_EVOR = 486;;
+let _PPC_INS_EVORC = 487;;
+let _PPC_INS_EVRLW = 488;;
+let _PPC_INS_EVRLWI = 489;;
+let _PPC_INS_EVRNDW = 490;;
+let _PPC_INS_EVSEL = 491;;
+let _PPC_INS_EVSLW = 492;;
+let _PPC_INS_EVSLWI = 493;;
+let _PPC_INS_EVSPLATFI = 494;;
+let _PPC_INS_EVSPLATI = 495;;
+let _PPC_INS_EVSRWIS = 496;;
+let _PPC_INS_EVSRWIU = 497;;
+let _PPC_INS_EVSRWS = 498;;
+let _PPC_INS_EVSRWU = 499;;
+let _PPC_INS_EVSTDD = 500;;
+let _PPC_INS_EVSTDDX = 501;;
+let _PPC_INS_EVSTDH = 502;;
+let _PPC_INS_EVSTDHX = 503;;
+let _PPC_INS_EVSTDW = 504;;
+let _PPC_INS_EVSTDWX = 505;;
+let _PPC_INS_EVSTWHE = 506;;
+let _PPC_INS_EVSTWHEX = 507;;
+let _PPC_INS_EVSTWHO = 508;;
+let _PPC_INS_EVSTWHOX = 509;;
+let _PPC_INS_EVSTWWE = 510;;
+let _PPC_INS_EVSTWWEX = 511;;
+let _PPC_INS_EVSTWWO = 512;;
+let _PPC_INS_EVSTWWOX = 513;;
+let _PPC_INS_EVSUBFSMIAAW = 514;;
+let _PPC_INS_EVSUBFSSIAAW = 515;;
+let _PPC_INS_EVSUBFUMIAAW = 516;;
+let _PPC_INS_EVSUBFUSIAAW = 517;;
+let _PPC_INS_EVSUBFW = 518;;
+let _PPC_INS_EVSUBIFW = 519;;
+let _PPC_INS_EVXOR = 520;;
+let _PPC_INS_EXTLDI = 521;;
+let _PPC_INS_EXTLWI = 522;;
+let _PPC_INS_EXTRDI = 523;;
+let _PPC_INS_EXTRWI = 524;;
+let _PPC_INS_EXTSB = 525;;
+let _PPC_INS_EXTSH = 526;;
+let _PPC_INS_EXTSW = 527;;
+let _PPC_INS_EXTSWSLI = 528;;
+let _PPC_INS_FABS = 529;;
+let _PPC_INS_FADD = 530;;
+let _PPC_INS_FADDS = 531;;
+let _PPC_INS_FCFID = 532;;
+let _PPC_INS_FCFIDS = 533;;
+let _PPC_INS_FCFIDU = 534;;
+let _PPC_INS_FCFIDUS = 535;;
+let _PPC_INS_FCMPU = 536;;
+let _PPC_INS_FCPSGN = 537;;
+let _PPC_INS_FCTID = 538;;
+let _PPC_INS_FCTIDU = 539;;
+let _PPC_INS_FCTIDUZ = 540;;
+let _PPC_INS_FCTIDZ = 541;;
+let _PPC_INS_FCTIW = 542;;
+let _PPC_INS_FCTIWU = 543;;
+let _PPC_INS_FCTIWUZ = 544;;
+let _PPC_INS_FCTIWZ = 545;;
+let _PPC_INS_FDIV = 546;;
+let _PPC_INS_FDIVS = 547;;
+let _PPC_INS_FMADD = 548;;
+let _PPC_INS_FMADDS = 549;;
+let _PPC_INS_FMR = 550;;
+let _PPC_INS_FMSUB = 551;;
+let _PPC_INS_FMSUBS = 552;;
+let _PPC_INS_FMUL = 553;;
+let _PPC_INS_FMULS = 554;;
+let _PPC_INS_FNABS = 555;;
+let _PPC_INS_FNEG = 556;;
+let _PPC_INS_FNMADD = 557;;
+let _PPC_INS_FNMADDS = 558;;
+let _PPC_INS_FNMSUB = 559;;
+let _PPC_INS_FNMSUBS = 560;;
+let _PPC_INS_FRE = 561;;
+let _PPC_INS_FRES = 562;;
+let _PPC_INS_FRIM = 563;;
+let _PPC_INS_FRIN = 564;;
+let _PPC_INS_FRIP = 565;;
+let _PPC_INS_FRIZ = 566;;
+let _PPC_INS_FRSP = 567;;
+let _PPC_INS_FRSQRTE = 568;;
+let _PPC_INS_FRSQRTES = 569;;
+let _PPC_INS_FSEL = 570;;
+let _PPC_INS_FSQRT = 571;;
+let _PPC_INS_FSQRTS = 572;;
+let _PPC_INS_FSUB = 573;;
+let _PPC_INS_FSUBS = 574;;
+let _PPC_INS_FTDIV = 575;;
+let _PPC_INS_FTSQRT = 576;;
+let _PPC_INS_HRFID = 577;;
+let _PPC_INS_ICBI = 578;;
+let _PPC_INS_ICBIEP = 579;;
+let _PPC_INS_ICBLC = 580;;
+let _PPC_INS_ICBLQ = 581;;
+let _PPC_INS_ICBT = 582;;
+let _PPC_INS_ICBTLS = 583;;
+let _PPC_INS_ICCCI = 584;;
+let _PPC_INS_ICI = 585;;
+let _PPC_INS_INSLWI = 586;;
+let _PPC_INS_INSRDI = 587;;
+let _PPC_INS_INSRWI = 588;;
+let _PPC_INS_ISEL = 589;;
+let _PPC_INS_ISYNC = 590;;
+let _PPC_INS_LA = 591;;
+let _PPC_INS_LBARX = 592;;
+let _PPC_INS_LBEPX = 593;;
+let _PPC_INS_LBZ = 594;;
+let _PPC_INS_LBZCIX = 595;;
+let _PPC_INS_LBZU = 596;;
+let _PPC_INS_LBZUX = 597;;
+let _PPC_INS_LBZX = 598;;
+let _PPC_INS_LD = 599;;
+let _PPC_INS_LDARX = 600;;
+let _PPC_INS_LDAT = 601;;
+let _PPC_INS_LDBRX = 602;;
+let _PPC_INS_LDCIX = 603;;
+let _PPC_INS_LDMX = 604;;
+let _PPC_INS_LDU = 605;;
+let _PPC_INS_LDUX = 606;;
+let _PPC_INS_LDX = 607;;
+let _PPC_INS_LFD = 608;;
+let _PPC_INS_LFDEPX = 609;;
+let _PPC_INS_LFDU = 610;;
+let _PPC_INS_LFDUX = 611;;
+let _PPC_INS_LFDX = 612;;
+let _PPC_INS_LFIWAX = 613;;
+let _PPC_INS_LFIWZX = 614;;
+let _PPC_INS_LFS = 615;;
+let _PPC_INS_LFSU = 616;;
+let _PPC_INS_LFSUX = 617;;
+let _PPC_INS_LFSX = 618;;
+let _PPC_INS_LHA = 619;;
+let _PPC_INS_LHARX = 620;;
+let _PPC_INS_LHAU = 621;;
+let _PPC_INS_LHAUX = 622;;
+let _PPC_INS_LHAX = 623;;
+let _PPC_INS_LHBRX = 624;;
+let _PPC_INS_LHEPX = 625;;
+let _PPC_INS_LHZ = 626;;
+let _PPC_INS_LHZCIX = 627;;
+let _PPC_INS_LHZU = 628;;
+let _PPC_INS_LHZUX = 629;;
+let _PPC_INS_LHZX = 630;;
+let _PPC_INS_LI = 631;;
+let _PPC_INS_LIS = 632;;
+let _PPC_INS_LMW = 633;;
+let _PPC_INS_LNIA = 634;;
+let _PPC_INS_LSWI = 635;;
+let _PPC_INS_LVEBX = 636;;
+let _PPC_INS_LVEHX = 637;;
+let _PPC_INS_LVEWX = 638;;
+let _PPC_INS_LVSL = 639;;
+let _PPC_INS_LVSR = 640;;
+let _PPC_INS_LVX = 641;;
+let _PPC_INS_LVXL = 642;;
+let _PPC_INS_LWA = 643;;
+let _PPC_INS_LWARX = 644;;
+let _PPC_INS_LWAT = 645;;
+let _PPC_INS_LWAUX = 646;;
+let _PPC_INS_LWAX = 647;;
+let _PPC_INS_LWBRX = 648;;
+let _PPC_INS_LWEPX = 649;;
+let _PPC_INS_LWSYNC = 650;;
+let _PPC_INS_LWZ = 651;;
+let _PPC_INS_LWZCIX = 652;;
+let _PPC_INS_LWZU = 653;;
+let _PPC_INS_LWZUX = 654;;
+let _PPC_INS_LWZX = 655;;
+let _PPC_INS_LXSD = 656;;
+let _PPC_INS_LXSDX = 657;;
+let _PPC_INS_LXSIBZX = 658;;
+let _PPC_INS_LXSIHZX = 659;;
+let _PPC_INS_LXSIWAX = 660;;
+let _PPC_INS_LXSIWZX = 661;;
+let _PPC_INS_LXSSP = 662;;
+let _PPC_INS_LXSSPX = 663;;
+let _PPC_INS_LXV = 664;;
+let _PPC_INS_LXVB16X = 665;;
+let _PPC_INS_LXVD2X = 666;;
+let _PPC_INS_LXVDSX = 667;;
+let _PPC_INS_LXVH8X = 668;;
+let _PPC_INS_LXVL = 669;;
+let _PPC_INS_LXVLL = 670;;
+let _PPC_INS_LXVW4X = 671;;
+let _PPC_INS_LXVWSX = 672;;
+let _PPC_INS_LXVX = 673;;
+let _PPC_INS_MADDHD = 674;;
+let _PPC_INS_MADDHDU = 675;;
+let _PPC_INS_MADDLD = 676;;
+let _PPC_INS_MBAR = 677;;
+let _PPC_INS_MCRF = 678;;
+let _PPC_INS_MCRFS = 679;;
+let _PPC_INS_MCRXRX = 680;;
+let _PPC_INS_MFAMR = 681;;
+let _PPC_INS_MFASR = 682;;
+let _PPC_INS_MFBHRBE = 683;;
+let _PPC_INS_MFBR0 = 684;;
+let _PPC_INS_MFBR1 = 685;;
+let _PPC_INS_MFBR2 = 686;;
+let _PPC_INS_MFBR3 = 687;;
+let _PPC_INS_MFBR4 = 688;;
+let _PPC_INS_MFBR5 = 689;;
+let _PPC_INS_MFBR6 = 690;;
+let _PPC_INS_MFBR7 = 691;;
+let _PPC_INS_MFCFAR = 692;;
+let _PPC_INS_MFCR = 693;;
+let _PPC_INS_MFCTR = 694;;
+let _PPC_INS_MFDAR = 695;;
+let _PPC_INS_MFDBATL = 696;;
+let _PPC_INS_MFDBATU = 697;;
+let _PPC_INS_MFDCCR = 698;;
+let _PPC_INS_MFDCR = 699;;
+let _PPC_INS_MFDEAR = 700;;
+let _PPC_INS_MFDEC = 701;;
+let _PPC_INS_MFDSCR = 702;;
+let _PPC_INS_MFDSISR = 703;;
+let _PPC_INS_MFESR = 704;;
+let _PPC_INS_MFFPRD = 705;;
+let _PPC_INS_MFFS = 706;;
+let _PPC_INS_MFFSCDRN = 707;;
+let _PPC_INS_MFFSCDRNI = 708;;
+let _PPC_INS_MFFSCE = 709;;
+let _PPC_INS_MFFSCRN = 710;;
+let _PPC_INS_MFFSCRNI = 711;;
+let _PPC_INS_MFFSL = 712;;
+let _PPC_INS_MFIBATL = 713;;
+let _PPC_INS_MFIBATU = 714;;
+let _PPC_INS_MFICCR = 715;;
+let _PPC_INS_MFLR = 716;;
+let _PPC_INS_MFMSR = 717;;
+let _PPC_INS_MFOCRF = 718;;
+let _PPC_INS_MFPID = 719;;
+let _PPC_INS_MFPMR = 720;;
+let _PPC_INS_MFPVR = 721;;
+let _PPC_INS_MFRTCL = 722;;
+let _PPC_INS_MFRTCU = 723;;
+let _PPC_INS_MFSDR1 = 724;;
+let _PPC_INS_MFSPEFSCR = 725;;
+let _PPC_INS_MFSPR = 726;;
+let _PPC_INS_MFSPRG = 727;;
+let _PPC_INS_MFSPRG0 = 728;;
+let _PPC_INS_MFSPRG1 = 729;;
+let _PPC_INS_MFSPRG2 = 730;;
+let _PPC_INS_MFSPRG3 = 731;;
+let _PPC_INS_MFSPRG4 = 732;;
+let _PPC_INS_MFSPRG5 = 733;;
+let _PPC_INS_MFSPRG6 = 734;;
+let _PPC_INS_MFSPRG7 = 735;;
+let _PPC_INS_MFSR = 736;;
+let _PPC_INS_MFSRIN = 737;;
+let _PPC_INS_MFSRR0 = 738;;
+let _PPC_INS_MFSRR1 = 739;;
+let _PPC_INS_MFSRR2 = 740;;
+let _PPC_INS_MFSRR3 = 741;;
+let _PPC_INS_MFTB = 742;;
+let _PPC_INS_MFTBHI = 743;;
+let _PPC_INS_MFTBL = 744;;
+let _PPC_INS_MFTBLO = 745;;
+let _PPC_INS_MFTBU = 746;;
+let _PPC_INS_MFTCR = 747;;
+let _PPC_INS_MFVRD = 748;;
+let _PPC_INS_MFVRSAVE = 749;;
+let _PPC_INS_MFVSCR = 750;;
+let _PPC_INS_MFVSRD = 751;;
+let _PPC_INS_MFVSRLD = 752;;
+let _PPC_INS_MFVSRWZ = 753;;
+let _PPC_INS_MFXER = 754;;
+let _PPC_INS_MODSD = 755;;
+let _PPC_INS_MODSW = 756;;
+let _PPC_INS_MODUD = 757;;
+let _PPC_INS_MODUW = 758;;
+let _PPC_INS_MR = 759;;
+let _PPC_INS_MSGSYNC = 760;;
+let _PPC_INS_MSYNC = 761;;
+let _PPC_INS_MTAMR = 762;;
+let _PPC_INS_MTASR = 763;;
+let _PPC_INS_MTBR0 = 764;;
+let _PPC_INS_MTBR1 = 765;;
+let _PPC_INS_MTBR2 = 766;;
+let _PPC_INS_MTBR3 = 767;;
+let _PPC_INS_MTBR4 = 768;;
+let _PPC_INS_MTBR5 = 769;;
+let _PPC_INS_MTBR6 = 770;;
+let _PPC_INS_MTBR7 = 771;;
+let _PPC_INS_MTCFAR = 772;;
+let _PPC_INS_MTCR = 773;;
+let _PPC_INS_MTCRF = 774;;
+let _PPC_INS_MTCTR = 775;;
+let _PPC_INS_MTDAR = 776;;
+let _PPC_INS_MTDBATL = 777;;
+let _PPC_INS_MTDBATU = 778;;
+let _PPC_INS_MTDCCR = 779;;
+let _PPC_INS_MTDCR = 780;;
+let _PPC_INS_MTDEAR = 781;;
+let _PPC_INS_MTDEC = 782;;
+let _PPC_INS_MTDSCR = 783;;
+let _PPC_INS_MTDSISR = 784;;
+let _PPC_INS_MTESR = 785;;
+let _PPC_INS_MTFSB0 = 786;;
+let _PPC_INS_MTFSB1 = 787;;
+let _PPC_INS_MTFSF = 788;;
+let _PPC_INS_MTFSFI = 789;;
+let _PPC_INS_MTIBATL = 790;;
+let _PPC_INS_MTIBATU = 791;;
+let _PPC_INS_MTICCR = 792;;
+let _PPC_INS_MTLR = 793;;
+let _PPC_INS_MTMSR = 794;;
+let _PPC_INS_MTMSRD = 795;;
+let _PPC_INS_MTOCRF = 796;;
+let _PPC_INS_MTPID = 797;;
+let _PPC_INS_MTPMR = 798;;
+let _PPC_INS_MTSDR1 = 799;;
+let _PPC_INS_MTSPEFSCR = 800;;
+let _PPC_INS_MTSPR = 801;;
+let _PPC_INS_MTSPRG = 802;;
+let _PPC_INS_MTSPRG0 = 803;;
+let _PPC_INS_MTSPRG1 = 804;;
+let _PPC_INS_MTSPRG2 = 805;;
+let _PPC_INS_MTSPRG3 = 806;;
+let _PPC_INS_MTSPRG4 = 807;;
+let _PPC_INS_MTSPRG5 = 808;;
+let _PPC_INS_MTSPRG6 = 809;;
+let _PPC_INS_MTSPRG7 = 810;;
+let _PPC_INS_MTSR = 811;;
+let _PPC_INS_MTSRIN = 812;;
+let _PPC_INS_MTSRR0 = 813;;
+let _PPC_INS_MTSRR1 = 814;;
+let _PPC_INS_MTSRR2 = 815;;
+let _PPC_INS_MTSRR3 = 816;;
+let _PPC_INS_MTTBHI = 817;;
+let _PPC_INS_MTTBL = 818;;
+let _PPC_INS_MTTBLO = 819;;
+let _PPC_INS_MTTBU = 820;;
+let _PPC_INS_MTTCR = 821;;
+let _PPC_INS_MTVRSAVE = 822;;
+let _PPC_INS_MTVSCR = 823;;
+let _PPC_INS_MTVSRD = 824;;
+let _PPC_INS_MTVSRDD = 825;;
+let _PPC_INS_MTVSRWA = 826;;
+let _PPC_INS_MTVSRWS = 827;;
+let _PPC_INS_MTVSRWZ = 828;;
+let _PPC_INS_MTXER = 829;;
+let _PPC_INS_MULHD = 830;;
+let _PPC_INS_MULHDU = 831;;
+let _PPC_INS_MULHW = 832;;
+let _PPC_INS_MULHWU = 833;;
+let _PPC_INS_MULLD = 834;;
+let _PPC_INS_MULLI = 835;;
+let _PPC_INS_MULLW = 836;;
+let _PPC_INS_NAND = 837;;
+let _PPC_INS_NAP = 838;;
+let _PPC_INS_NEG = 839;;
+let _PPC_INS_NOP = 840;;
+let _PPC_INS_NOR = 841;;
+let _PPC_INS_NOT = 842;;
+let _PPC_INS_OR = 843;;
+let _PPC_INS_ORC = 844;;
+let _PPC_INS_ORI = 845;;
+let _PPC_INS_ORIS = 846;;
+let _PPC_INS_PASTE = 847;;
+let _PPC_INS_PASTE_LAST = 848;;
+let _PPC_INS_POPCNTB = 849;;
+let _PPC_INS_POPCNTD = 850;;
+let _PPC_INS_POPCNTW = 851;;
+let _PPC_INS_PTESYNC = 852;;
+let _PPC_INS_QVALIGNI = 853;;
+let _PPC_INS_QVESPLATI = 854;;
+let _PPC_INS_QVFABS = 855;;
+let _PPC_INS_QVFADD = 856;;
+let _PPC_INS_QVFADDS = 857;;
+let _PPC_INS_QVFAND = 858;;
+let _PPC_INS_QVFANDC = 859;;
+let _PPC_INS_QVFCFID = 860;;
+let _PPC_INS_QVFCFIDS = 861;;
+let _PPC_INS_QVFCFIDU = 862;;
+let _PPC_INS_QVFCFIDUS = 863;;
+let _PPC_INS_QVFCLR = 864;;
+let _PPC_INS_QVFCMPEQ = 865;;
+let _PPC_INS_QVFCMPGT = 866;;
+let _PPC_INS_QVFCMPLT = 867;;
+let _PPC_INS_QVFCPSGN = 868;;
+let _PPC_INS_QVFCTFB = 869;;
+let _PPC_INS_QVFCTID = 870;;
+let _PPC_INS_QVFCTIDU = 871;;
+let _PPC_INS_QVFCTIDUZ = 872;;
+let _PPC_INS_QVFCTIDZ = 873;;
+let _PPC_INS_QVFCTIW = 874;;
+let _PPC_INS_QVFCTIWU = 875;;
+let _PPC_INS_QVFCTIWUZ = 876;;
+let _PPC_INS_QVFCTIWZ = 877;;
+let _PPC_INS_QVFEQU = 878;;
+let _PPC_INS_QVFLOGICAL = 879;;
+let _PPC_INS_QVFMADD = 880;;
+let _PPC_INS_QVFMADDS = 881;;
+let _PPC_INS_QVFMR = 882;;
+let _PPC_INS_QVFMSUB = 883;;
+let _PPC_INS_QVFMSUBS = 884;;
+let _PPC_INS_QVFMUL = 885;;
+let _PPC_INS_QVFMULS = 886;;
+let _PPC_INS_QVFNABS = 887;;
+let _PPC_INS_QVFNAND = 888;;
+let _PPC_INS_QVFNEG = 889;;
+let _PPC_INS_QVFNMADD = 890;;
+let _PPC_INS_QVFNMADDS = 891;;
+let _PPC_INS_QVFNMSUB = 892;;
+let _PPC_INS_QVFNMSUBS = 893;;
+let _PPC_INS_QVFNOR = 894;;
+let _PPC_INS_QVFNOT = 895;;
+let _PPC_INS_QVFOR = 896;;
+let _PPC_INS_QVFORC = 897;;
+let _PPC_INS_QVFPERM = 898;;
+let _PPC_INS_QVFRE = 899;;
+let _PPC_INS_QVFRES = 900;;
+let _PPC_INS_QVFRIM = 901;;
+let _PPC_INS_QVFRIN = 902;;
+let _PPC_INS_QVFRIP = 903;;
+let _PPC_INS_QVFRIZ = 904;;
+let _PPC_INS_QVFRSP = 905;;
+let _PPC_INS_QVFRSQRTE = 906;;
+let _PPC_INS_QVFRSQRTES = 907;;
+let _PPC_INS_QVFSEL = 908;;
+let _PPC_INS_QVFSET = 909;;
+let _PPC_INS_QVFSUB = 910;;
+let _PPC_INS_QVFSUBS = 911;;
+let _PPC_INS_QVFTSTNAN = 912;;
+let _PPC_INS_QVFXMADD = 913;;
+let _PPC_INS_QVFXMADDS = 914;;
+let _PPC_INS_QVFXMUL = 915;;
+let _PPC_INS_QVFXMULS = 916;;
+let _PPC_INS_QVFXOR = 917;;
+let _PPC_INS_QVFXXCPNMADD = 918;;
+let _PPC_INS_QVFXXCPNMADDS = 919;;
+let _PPC_INS_QVFXXMADD = 920;;
+let _PPC_INS_QVFXXMADDS = 921;;
+let _PPC_INS_QVFXXNPMADD = 922;;
+let _PPC_INS_QVFXXNPMADDS = 923;;
+let _PPC_INS_QVGPCI = 924;;
+let _PPC_INS_QVLFCDUX = 925;;
+let _PPC_INS_QVLFCDUXA = 926;;
+let _PPC_INS_QVLFCDX = 927;;
+let _PPC_INS_QVLFCDXA = 928;;
+let _PPC_INS_QVLFCSUX = 929;;
+let _PPC_INS_QVLFCSUXA = 930;;
+let _PPC_INS_QVLFCSX = 931;;
+let _PPC_INS_QVLFCSXA = 932;;
+let _PPC_INS_QVLFDUX = 933;;
+let _PPC_INS_QVLFDUXA = 934;;
+let _PPC_INS_QVLFDX = 935;;
+let _PPC_INS_QVLFDXA = 936;;
+let _PPC_INS_QVLFIWAX = 937;;
+let _PPC_INS_QVLFIWAXA = 938;;
+let _PPC_INS_QVLFIWZX = 939;;
+let _PPC_INS_QVLFIWZXA = 940;;
+let _PPC_INS_QVLFSUX = 941;;
+let _PPC_INS_QVLFSUXA = 942;;
+let _PPC_INS_QVLFSX = 943;;
+let _PPC_INS_QVLFSXA = 944;;
+let _PPC_INS_QVLPCLDX = 945;;
+let _PPC_INS_QVLPCLSX = 946;;
+let _PPC_INS_QVLPCRDX = 947;;
+let _PPC_INS_QVLPCRSX = 948;;
+let _PPC_INS_QVSTFCDUX = 949;;
+let _PPC_INS_QVSTFCDUXA = 950;;
+let _PPC_INS_QVSTFCDUXI = 951;;
+let _PPC_INS_QVSTFCDUXIA = 952;;
+let _PPC_INS_QVSTFCDX = 953;;
+let _PPC_INS_QVSTFCDXA = 954;;
+let _PPC_INS_QVSTFCDXI = 955;;
+let _PPC_INS_QVSTFCDXIA = 956;;
+let _PPC_INS_QVSTFCSUX = 957;;
+let _PPC_INS_QVSTFCSUXA = 958;;
+let _PPC_INS_QVSTFCSUXI = 959;;
+let _PPC_INS_QVSTFCSUXIA = 960;;
+let _PPC_INS_QVSTFCSX = 961;;
+let _PPC_INS_QVSTFCSXA = 962;;
+let _PPC_INS_QVSTFCSXI = 963;;
+let _PPC_INS_QVSTFCSXIA = 964;;
+let _PPC_INS_QVSTFDUX = 965;;
+let _PPC_INS_QVSTFDUXA = 966;;
+let _PPC_INS_QVSTFDUXI = 967;;
+let _PPC_INS_QVSTFDUXIA = 968;;
+let _PPC_INS_QVSTFDX = 969;;
+let _PPC_INS_QVSTFDXA = 970;;
+let _PPC_INS_QVSTFDXI = 971;;
+let _PPC_INS_QVSTFDXIA = 972;;
+let _PPC_INS_QVSTFIWX = 973;;
+let _PPC_INS_QVSTFIWXA = 974;;
+let _PPC_INS_QVSTFSUX = 975;;
+let _PPC_INS_QVSTFSUXA = 976;;
+let _PPC_INS_QVSTFSUXI = 977;;
+let _PPC_INS_QVSTFSUXIA = 978;;
+let _PPC_INS_QVSTFSX = 979;;
+let _PPC_INS_QVSTFSXA = 980;;
+let _PPC_INS_QVSTFSXI = 981;;
+let _PPC_INS_QVSTFSXIA = 982;;
+let _PPC_INS_RFCI = 983;;
+let _PPC_INS_RFDI = 984;;
+let _PPC_INS_RFEBB = 985;;
+let _PPC_INS_RFI = 986;;
+let _PPC_INS_RFID = 987;;
+let _PPC_INS_RFMCI = 988;;
+let _PPC_INS_RLDCL = 989;;
+let _PPC_INS_RLDCR = 990;;
+let _PPC_INS_RLDIC = 991;;
+let _PPC_INS_RLDICL = 992;;
+let _PPC_INS_RLDICR = 993;;
+let _PPC_INS_RLDIMI = 994;;
+let _PPC_INS_RLWIMI = 995;;
+let _PPC_INS_RLWINM = 996;;
+let _PPC_INS_RLWNM = 997;;
+let _PPC_INS_ROTLD = 998;;
+let _PPC_INS_ROTLDI = 999;;
+let _PPC_INS_ROTLW = 1000;;
+let _PPC_INS_ROTLWI = 1001;;
+let _PPC_INS_ROTRDI = 1002;;
+let _PPC_INS_ROTRWI = 1003;;
+let _PPC_INS_SC = 1004;;
+let _PPC_INS_SETB = 1005;;
+let _PPC_INS_SLBIA = 1006;;
+let _PPC_INS_SLBIE = 1007;;
+let _PPC_INS_SLBIEG = 1008;;
+let _PPC_INS_SLBMFEE = 1009;;
+let _PPC_INS_SLBMFEV = 1010;;
+let _PPC_INS_SLBMTE = 1011;;
+let _PPC_INS_SLBSYNC = 1012;;
+let _PPC_INS_SLD = 1013;;
+let _PPC_INS_SLDI = 1014;;
+let _PPC_INS_SLW = 1015;;
+let _PPC_INS_SLWI = 1016;;
+let _PPC_INS_SRAD = 1017;;
+let _PPC_INS_SRADI = 1018;;
+let _PPC_INS_SRAW = 1019;;
+let _PPC_INS_SRAWI = 1020;;
+let _PPC_INS_SRD = 1021;;
+let _PPC_INS_SRDI = 1022;;
+let _PPC_INS_SRW = 1023;;
+let _PPC_INS_SRWI = 1024;;
+let _PPC_INS_STB = 1025;;
+let _PPC_INS_STBCIX = 1026;;
+let _PPC_INS_STBCX = 1027;;
+let _PPC_INS_STBEPX = 1028;;
+let _PPC_INS_STBU = 1029;;
+let _PPC_INS_STBUX = 1030;;
+let _PPC_INS_STBX = 1031;;
+let _PPC_INS_STD = 1032;;
+let _PPC_INS_STDAT = 1033;;
+let _PPC_INS_STDBRX = 1034;;
+let _PPC_INS_STDCIX = 1035;;
+let _PPC_INS_STDCX = 1036;;
+let _PPC_INS_STDU = 1037;;
+let _PPC_INS_STDUX = 1038;;
+let _PPC_INS_STDX = 1039;;
+let _PPC_INS_STFD = 1040;;
+let _PPC_INS_STFDEPX = 1041;;
+let _PPC_INS_STFDU = 1042;;
+let _PPC_INS_STFDUX = 1043;;
+let _PPC_INS_STFDX = 1044;;
+let _PPC_INS_STFIWX = 1045;;
+let _PPC_INS_STFS = 1046;;
+let _PPC_INS_STFSU = 1047;;
+let _PPC_INS_STFSUX = 1048;;
+let _PPC_INS_STFSX = 1049;;
+let _PPC_INS_STH = 1050;;
+let _PPC_INS_STHBRX = 1051;;
+let _PPC_INS_STHCIX = 1052;;
+let _PPC_INS_STHCX = 1053;;
+let _PPC_INS_STHEPX = 1054;;
+let _PPC_INS_STHU = 1055;;
+let _PPC_INS_STHUX = 1056;;
+let _PPC_INS_STHX = 1057;;
+let _PPC_INS_STMW = 1058;;
+let _PPC_INS_STOP = 1059;;
+let _PPC_INS_STSWI = 1060;;
+let _PPC_INS_STVEBX = 1061;;
+let _PPC_INS_STVEHX = 1062;;
+let _PPC_INS_STVEWX = 1063;;
+let _PPC_INS_STVX = 1064;;
+let _PPC_INS_STVXL = 1065;;
+let _PPC_INS_STW = 1066;;
+let _PPC_INS_STWAT = 1067;;
+let _PPC_INS_STWBRX = 1068;;
+let _PPC_INS_STWCIX = 1069;;
+let _PPC_INS_STWCX = 1070;;
+let _PPC_INS_STWEPX = 1071;;
+let _PPC_INS_STWU = 1072;;
+let _PPC_INS_STWUX = 1073;;
+let _PPC_INS_STWX = 1074;;
+let _PPC_INS_STXSD = 1075;;
+let _PPC_INS_STXSDX = 1076;;
+let _PPC_INS_STXSIBX = 1077;;
+let _PPC_INS_STXSIHX = 1078;;
+let _PPC_INS_STXSIWX = 1079;;
+let _PPC_INS_STXSSP = 1080;;
+let _PPC_INS_STXSSPX = 1081;;
+let _PPC_INS_STXV = 1082;;
+let _PPC_INS_STXVB16X = 1083;;
+let _PPC_INS_STXVD2X = 1084;;
+let _PPC_INS_STXVH8X = 1085;;
+let _PPC_INS_STXVL = 1086;;
+let _PPC_INS_STXVLL = 1087;;
+let _PPC_INS_STXVW4X = 1088;;
+let _PPC_INS_STXVX = 1089;;
+let _PPC_INS_SUB = 1090;;
+let _PPC_INS_SUBC = 1091;;
+let _PPC_INS_SUBF = 1092;;
+let _PPC_INS_SUBFC = 1093;;
+let _PPC_INS_SUBFE = 1094;;
+let _PPC_INS_SUBFIC = 1095;;
+let _PPC_INS_SUBFME = 1096;;
+let _PPC_INS_SUBFZE = 1097;;
+let _PPC_INS_SUBI = 1098;;
+let _PPC_INS_SUBIC = 1099;;
+let _PPC_INS_SUBIS = 1100;;
+let _PPC_INS_SUBPCIS = 1101;;
+let _PPC_INS_SYNC = 1102;;
+let _PPC_INS_TABORT = 1103;;
+let _PPC_INS_TABORTDC = 1104;;
+let _PPC_INS_TABORTDCI = 1105;;
+let _PPC_INS_TABORTWC = 1106;;
+let _PPC_INS_TABORTWCI = 1107;;
+let _PPC_INS_TBEGIN = 1108;;
+let _PPC_INS_TCHECK = 1109;;
+let _PPC_INS_TD = 1110;;
+let _PPC_INS_TDEQ = 1111;;
+let _PPC_INS_TDEQI = 1112;;
+let _PPC_INS_TDGE = 1113;;
+let _PPC_INS_TDGEI = 1114;;
+let _PPC_INS_TDGT = 1115;;
+let _PPC_INS_TDGTI = 1116;;
+let _PPC_INS_TDI = 1117;;
+let _PPC_INS_TDLE = 1118;;
+let _PPC_INS_TDLEI = 1119;;
+let _PPC_INS_TDLGE = 1120;;
+let _PPC_INS_TDLGEI = 1121;;
+let _PPC_INS_TDLGT = 1122;;
+let _PPC_INS_TDLGTI = 1123;;
+let _PPC_INS_TDLLE = 1124;;
+let _PPC_INS_TDLLEI = 1125;;
+let _PPC_INS_TDLLT = 1126;;
+let _PPC_INS_TDLLTI = 1127;;
+let _PPC_INS_TDLNG = 1128;;
+let _PPC_INS_TDLNGI = 1129;;
+let _PPC_INS_TDLNL = 1130;;
+let _PPC_INS_TDLNLI = 1131;;
+let _PPC_INS_TDLT = 1132;;
+let _PPC_INS_TDLTI = 1133;;
+let _PPC_INS_TDNE = 1134;;
+let _PPC_INS_TDNEI = 1135;;
+let _PPC_INS_TDNG = 1136;;
+let _PPC_INS_TDNGI = 1137;;
+let _PPC_INS_TDNL = 1138;;
+let _PPC_INS_TDNLI = 1139;;
+let _PPC_INS_TDU = 1140;;
+let _PPC_INS_TDUI = 1141;;
+let _PPC_INS_TEND = 1142;;
+let _PPC_INS_TLBIA = 1143;;
+let _PPC_INS_TLBIE = 1144;;
+let _PPC_INS_TLBIEL = 1145;;
+let _PPC_INS_TLBIVAX = 1146;;
+let _PPC_INS_TLBLD = 1147;;
+let _PPC_INS_TLBLI = 1148;;
+let _PPC_INS_TLBRE = 1149;;
+let _PPC_INS_TLBREHI = 1150;;
+let _PPC_INS_TLBRELO = 1151;;
+let _PPC_INS_TLBSX = 1152;;
+let _PPC_INS_TLBSYNC = 1153;;
+let _PPC_INS_TLBWE = 1154;;
+let _PPC_INS_TLBWEHI = 1155;;
+let _PPC_INS_TLBWELO = 1156;;
+let _PPC_INS_TRAP = 1157;;
+let _PPC_INS_TRECHKPT = 1158;;
+let _PPC_INS_TRECLAIM = 1159;;
+let _PPC_INS_TSR = 1160;;
+let _PPC_INS_TW = 1161;;
+let _PPC_INS_TWEQ = 1162;;
+let _PPC_INS_TWEQI = 1163;;
+let _PPC_INS_TWGE = 1164;;
+let _PPC_INS_TWGEI = 1165;;
+let _PPC_INS_TWGT = 1166;;
+let _PPC_INS_TWGTI = 1167;;
+let _PPC_INS_TWI = 1168;;
+let _PPC_INS_TWLE = 1169;;
+let _PPC_INS_TWLEI = 1170;;
+let _PPC_INS_TWLGE = 1171;;
+let _PPC_INS_TWLGEI = 1172;;
+let _PPC_INS_TWLGT = 1173;;
+let _PPC_INS_TWLGTI = 1174;;
+let _PPC_INS_TWLLE = 1175;;
+let _PPC_INS_TWLLEI = 1176;;
+let _PPC_INS_TWLLT = 1177;;
+let _PPC_INS_TWLLTI = 1178;;
+let _PPC_INS_TWLNG = 1179;;
+let _PPC_INS_TWLNGI = 1180;;
+let _PPC_INS_TWLNL = 1181;;
+let _PPC_INS_TWLNLI = 1182;;
+let _PPC_INS_TWLT = 1183;;
+let _PPC_INS_TWLTI = 1184;;
+let _PPC_INS_TWNE = 1185;;
+let _PPC_INS_TWNEI = 1186;;
+let _PPC_INS_TWNG = 1187;;
+let _PPC_INS_TWNGI = 1188;;
+let _PPC_INS_TWNL = 1189;;
+let _PPC_INS_TWNLI = 1190;;
+let _PPC_INS_TWU = 1191;;
+let _PPC_INS_TWUI = 1192;;
+let _PPC_INS_VABSDUB = 1193;;
+let _PPC_INS_VABSDUH = 1194;;
+let _PPC_INS_VABSDUW = 1195;;
+let _PPC_INS_VADDCUQ = 1196;;
+let _PPC_INS_VADDCUW = 1197;;
+let _PPC_INS_VADDECUQ = 1198;;
+let _PPC_INS_VADDEUQM = 1199;;
+let _PPC_INS_VADDFP = 1200;;
+let _PPC_INS_VADDSBS = 1201;;
+let _PPC_INS_VADDSHS = 1202;;
+let _PPC_INS_VADDSWS = 1203;;
+let _PPC_INS_VADDUBM = 1204;;
+let _PPC_INS_VADDUBS = 1205;;
+let _PPC_INS_VADDUDM = 1206;;
+let _PPC_INS_VADDUHM = 1207;;
+let _PPC_INS_VADDUHS = 1208;;
+let _PPC_INS_VADDUQM = 1209;;
+let _PPC_INS_VADDUWM = 1210;;
+let _PPC_INS_VADDUWS = 1211;;
+let _PPC_INS_VAND = 1212;;
+let _PPC_INS_VANDC = 1213;;
+let _PPC_INS_VAVGSB = 1214;;
+let _PPC_INS_VAVGSH = 1215;;
+let _PPC_INS_VAVGSW = 1216;;
+let _PPC_INS_VAVGUB = 1217;;
+let _PPC_INS_VAVGUH = 1218;;
+let _PPC_INS_VAVGUW = 1219;;
+let _PPC_INS_VBPERMD = 1220;;
+let _PPC_INS_VBPERMQ = 1221;;
+let _PPC_INS_VCFSX = 1222;;
+let _PPC_INS_VCFUX = 1223;;
+let _PPC_INS_VCIPHER = 1224;;
+let _PPC_INS_VCIPHERLAST = 1225;;
+let _PPC_INS_VCLZB = 1226;;
+let _PPC_INS_VCLZD = 1227;;
+let _PPC_INS_VCLZH = 1228;;
+let _PPC_INS_VCLZLSBB = 1229;;
+let _PPC_INS_VCLZW = 1230;;
+let _PPC_INS_VCMPBFP = 1231;;
+let _PPC_INS_VCMPEQFP = 1232;;
+let _PPC_INS_VCMPEQUB = 1233;;
+let _PPC_INS_VCMPEQUD = 1234;;
+let _PPC_INS_VCMPEQUH = 1235;;
+let _PPC_INS_VCMPEQUW = 1236;;
+let _PPC_INS_VCMPGEFP = 1237;;
+let _PPC_INS_VCMPGTFP = 1238;;
+let _PPC_INS_VCMPGTSB = 1239;;
+let _PPC_INS_VCMPGTSD = 1240;;
+let _PPC_INS_VCMPGTSH = 1241;;
+let _PPC_INS_VCMPGTSW = 1242;;
+let _PPC_INS_VCMPGTUB = 1243;;
+let _PPC_INS_VCMPGTUD = 1244;;
+let _PPC_INS_VCMPGTUH = 1245;;
+let _PPC_INS_VCMPGTUW = 1246;;
+let _PPC_INS_VCMPNEB = 1247;;
+let _PPC_INS_VCMPNEH = 1248;;
+let _PPC_INS_VCMPNEW = 1249;;
+let _PPC_INS_VCMPNEZB = 1250;;
+let _PPC_INS_VCMPNEZH = 1251;;
+let _PPC_INS_VCMPNEZW = 1252;;
+let _PPC_INS_VCTSXS = 1253;;
+let _PPC_INS_VCTUXS = 1254;;
+let _PPC_INS_VCTZB = 1255;;
+let _PPC_INS_VCTZD = 1256;;
+let _PPC_INS_VCTZH = 1257;;
+let _PPC_INS_VCTZLSBB = 1258;;
+let _PPC_INS_VCTZW = 1259;;
+let _PPC_INS_VEQV = 1260;;
+let _PPC_INS_VEXPTEFP = 1261;;
+let _PPC_INS_VEXTRACTD = 1262;;
+let _PPC_INS_VEXTRACTUB = 1263;;
+let _PPC_INS_VEXTRACTUH = 1264;;
+let _PPC_INS_VEXTRACTUW = 1265;;
+let _PPC_INS_VEXTSB2D = 1266;;
+let _PPC_INS_VEXTSB2W = 1267;;
+let _PPC_INS_VEXTSH2D = 1268;;
+let _PPC_INS_VEXTSH2W = 1269;;
+let _PPC_INS_VEXTSW2D = 1270;;
+let _PPC_INS_VEXTUBLX = 1271;;
+let _PPC_INS_VEXTUBRX = 1272;;
+let _PPC_INS_VEXTUHLX = 1273;;
+let _PPC_INS_VEXTUHRX = 1274;;
+let _PPC_INS_VEXTUWLX = 1275;;
+let _PPC_INS_VEXTUWRX = 1276;;
+let _PPC_INS_VGBBD = 1277;;
+let _PPC_INS_VINSERTB = 1278;;
+let _PPC_INS_VINSERTD = 1279;;
+let _PPC_INS_VINSERTH = 1280;;
+let _PPC_INS_VINSERTW = 1281;;
+let _PPC_INS_VLOGEFP = 1282;;
+let _PPC_INS_VMADDFP = 1283;;
+let _PPC_INS_VMAXFP = 1284;;
+let _PPC_INS_VMAXSB = 1285;;
+let _PPC_INS_VMAXSD = 1286;;
+let _PPC_INS_VMAXSH = 1287;;
+let _PPC_INS_VMAXSW = 1288;;
+let _PPC_INS_VMAXUB = 1289;;
+let _PPC_INS_VMAXUD = 1290;;
+let _PPC_INS_VMAXUH = 1291;;
+let _PPC_INS_VMAXUW = 1292;;
+let _PPC_INS_VMHADDSHS = 1293;;
+let _PPC_INS_VMHRADDSHS = 1294;;
+let _PPC_INS_VMINFP = 1295;;
+let _PPC_INS_VMINSB = 1296;;
+let _PPC_INS_VMINSD = 1297;;
+let _PPC_INS_VMINSH = 1298;;
+let _PPC_INS_VMINSW = 1299;;
+let _PPC_INS_VMINUB = 1300;;
+let _PPC_INS_VMINUD = 1301;;
+let _PPC_INS_VMINUH = 1302;;
+let _PPC_INS_VMINUW = 1303;;
+let _PPC_INS_VMLADDUHM = 1304;;
+let _PPC_INS_VMR = 1305;;
+let _PPC_INS_VMRGEW = 1306;;
+let _PPC_INS_VMRGHB = 1307;;
+let _PPC_INS_VMRGHH = 1308;;
+let _PPC_INS_VMRGHW = 1309;;
+let _PPC_INS_VMRGLB = 1310;;
+let _PPC_INS_VMRGLH = 1311;;
+let _PPC_INS_VMRGLW = 1312;;
+let _PPC_INS_VMRGOW = 1313;;
+let _PPC_INS_VMSUMMBM = 1314;;
+let _PPC_INS_VMSUMSHM = 1315;;
+let _PPC_INS_VMSUMSHS = 1316;;
+let _PPC_INS_VMSUMUBM = 1317;;
+let _PPC_INS_VMSUMUHM = 1318;;
+let _PPC_INS_VMSUMUHS = 1319;;
+let _PPC_INS_VMUL10CUQ = 1320;;
+let _PPC_INS_VMUL10ECUQ = 1321;;
+let _PPC_INS_VMUL10EUQ = 1322;;
+let _PPC_INS_VMUL10UQ = 1323;;
+let _PPC_INS_VMULESB = 1324;;
+let _PPC_INS_VMULESH = 1325;;
+let _PPC_INS_VMULESW = 1326;;
+let _PPC_INS_VMULEUB = 1327;;
+let _PPC_INS_VMULEUH = 1328;;
+let _PPC_INS_VMULEUW = 1329;;
+let _PPC_INS_VMULOSB = 1330;;
+let _PPC_INS_VMULOSH = 1331;;
+let _PPC_INS_VMULOSW = 1332;;
+let _PPC_INS_VMULOUB = 1333;;
+let _PPC_INS_VMULOUH = 1334;;
+let _PPC_INS_VMULOUW = 1335;;
+let _PPC_INS_VMULUWM = 1336;;
+let _PPC_INS_VNAND = 1337;;
+let _PPC_INS_VNCIPHER = 1338;;
+let _PPC_INS_VNCIPHERLAST = 1339;;
+let _PPC_INS_VNEGD = 1340;;
+let _PPC_INS_VNEGW = 1341;;
+let _PPC_INS_VNMSUBFP = 1342;;
+let _PPC_INS_VNOR = 1343;;
+let _PPC_INS_VNOT = 1344;;
+let _PPC_INS_VOR = 1345;;
+let _PPC_INS_VORC = 1346;;
+let _PPC_INS_VPERM = 1347;;
+let _PPC_INS_VPERMR = 1348;;
+let _PPC_INS_VPERMXOR = 1349;;
+let _PPC_INS_VPKPX = 1350;;
+let _PPC_INS_VPKSDSS = 1351;;
+let _PPC_INS_VPKSDUS = 1352;;
+let _PPC_INS_VPKSHSS = 1353;;
+let _PPC_INS_VPKSHUS = 1354;;
+let _PPC_INS_VPKSWSS = 1355;;
+let _PPC_INS_VPKSWUS = 1356;;
+let _PPC_INS_VPKUDUM = 1357;;
+let _PPC_INS_VPKUDUS = 1358;;
+let _PPC_INS_VPKUHUM = 1359;;
+let _PPC_INS_VPKUHUS = 1360;;
+let _PPC_INS_VPKUWUM = 1361;;
+let _PPC_INS_VPKUWUS = 1362;;
+let _PPC_INS_VPMSUMB = 1363;;
+let _PPC_INS_VPMSUMD = 1364;;
+let _PPC_INS_VPMSUMH = 1365;;
+let _PPC_INS_VPMSUMW = 1366;;
+let _PPC_INS_VPOPCNTB = 1367;;
+let _PPC_INS_VPOPCNTD = 1368;;
+let _PPC_INS_VPOPCNTH = 1369;;
+let _PPC_INS_VPOPCNTW = 1370;;
+let _PPC_INS_VPRTYBD = 1371;;
+let _PPC_INS_VPRTYBQ = 1372;;
+let _PPC_INS_VPRTYBW = 1373;;
+let _PPC_INS_VREFP = 1374;;
+let _PPC_INS_VRFIM = 1375;;
+let _PPC_INS_VRFIN = 1376;;
+let _PPC_INS_VRFIP = 1377;;
+let _PPC_INS_VRFIZ = 1378;;
+let _PPC_INS_VRLB = 1379;;
+let _PPC_INS_VRLD = 1380;;
+let _PPC_INS_VRLDMI = 1381;;
+let _PPC_INS_VRLDNM = 1382;;
+let _PPC_INS_VRLH = 1383;;
+let _PPC_INS_VRLW = 1384;;
+let _PPC_INS_VRLWMI = 1385;;
+let _PPC_INS_VRLWNM = 1386;;
+let _PPC_INS_VRSQRTEFP = 1387;;
+let _PPC_INS_VSBOX = 1388;;
+let _PPC_INS_VSEL = 1389;;
+let _PPC_INS_VSHASIGMAD = 1390;;
+let _PPC_INS_VSHASIGMAW = 1391;;
+let _PPC_INS_VSL = 1392;;
+let _PPC_INS_VSLB = 1393;;
+let _PPC_INS_VSLD = 1394;;
+let _PPC_INS_VSLDOI = 1395;;
+let _PPC_INS_VSLH = 1396;;
+let _PPC_INS_VSLO = 1397;;
+let _PPC_INS_VSLV = 1398;;
+let _PPC_INS_VSLW = 1399;;
+let _PPC_INS_VSPLTB = 1400;;
+let _PPC_INS_VSPLTH = 1401;;
+let _PPC_INS_VSPLTISB = 1402;;
+let _PPC_INS_VSPLTISH = 1403;;
+let _PPC_INS_VSPLTISW = 1404;;
+let _PPC_INS_VSPLTW = 1405;;
+let _PPC_INS_VSR = 1406;;
+let _PPC_INS_VSRAB = 1407;;
+let _PPC_INS_VSRAD = 1408;;
+let _PPC_INS_VSRAH = 1409;;
+let _PPC_INS_VSRAW = 1410;;
+let _PPC_INS_VSRB = 1411;;
+let _PPC_INS_VSRD = 1412;;
+let _PPC_INS_VSRH = 1413;;
+let _PPC_INS_VSRO = 1414;;
+let _PPC_INS_VSRV = 1415;;
+let _PPC_INS_VSRW = 1416;;
+let _PPC_INS_VSUBCUQ = 1417;;
+let _PPC_INS_VSUBCUW = 1418;;
+let _PPC_INS_VSUBECUQ = 1419;;
+let _PPC_INS_VSUBEUQM = 1420;;
+let _PPC_INS_VSUBFP = 1421;;
+let _PPC_INS_VSUBSBS = 1422;;
+let _PPC_INS_VSUBSHS = 1423;;
+let _PPC_INS_VSUBSWS = 1424;;
+let _PPC_INS_VSUBUBM = 1425;;
+let _PPC_INS_VSUBUBS = 1426;;
+let _PPC_INS_VSUBUDM = 1427;;
+let _PPC_INS_VSUBUHM = 1428;;
+let _PPC_INS_VSUBUHS = 1429;;
+let _PPC_INS_VSUBUQM = 1430;;
+let _PPC_INS_VSUBUWM = 1431;;
+let _PPC_INS_VSUBUWS = 1432;;
+let _PPC_INS_VSUM2SWS = 1433;;
+let _PPC_INS_VSUM4SBS = 1434;;
+let _PPC_INS_VSUM4SHS = 1435;;
+let _PPC_INS_VSUM4UBS = 1436;;
+let _PPC_INS_VSUMSWS = 1437;;
+let _PPC_INS_VUPKHPX = 1438;;
+let _PPC_INS_VUPKHSB = 1439;;
+let _PPC_INS_VUPKHSH = 1440;;
+let _PPC_INS_VUPKHSW = 1441;;
+let _PPC_INS_VUPKLPX = 1442;;
+let _PPC_INS_VUPKLSB = 1443;;
+let _PPC_INS_VUPKLSH = 1444;;
+let _PPC_INS_VUPKLSW = 1445;;
+let _PPC_INS_VXOR = 1446;;
+let _PPC_INS_WAIT = 1447;;
+let _PPC_INS_WAITIMPL = 1448;;
+let _PPC_INS_WAITRSV = 1449;;
+let _PPC_INS_WRTEE = 1450;;
+let _PPC_INS_WRTEEI = 1451;;
+let _PPC_INS_XNOP = 1452;;
+let _PPC_INS_XOR = 1453;;
+let _PPC_INS_XORI = 1454;;
+let _PPC_INS_XORIS = 1455;;
+let _PPC_INS_XSABSDP = 1456;;
+let _PPC_INS_XSABSQP = 1457;;
+let _PPC_INS_XSADDDP = 1458;;
+let _PPC_INS_XSADDQP = 1459;;
+let _PPC_INS_XSADDQPO = 1460;;
+let _PPC_INS_XSADDSP = 1461;;
+let _PPC_INS_XSCMPEQDP = 1462;;
+let _PPC_INS_XSCMPEXPDP = 1463;;
+let _PPC_INS_XSCMPEXPQP = 1464;;
+let _PPC_INS_XSCMPGEDP = 1465;;
+let _PPC_INS_XSCMPGTDP = 1466;;
+let _PPC_INS_XSCMPODP = 1467;;
+let _PPC_INS_XSCMPOQP = 1468;;
+let _PPC_INS_XSCMPUDP = 1469;;
+let _PPC_INS_XSCMPUQP = 1470;;
+let _PPC_INS_XSCPSGNDP = 1471;;
+let _PPC_INS_XSCPSGNQP = 1472;;
+let _PPC_INS_XSCVDPHP = 1473;;
+let _PPC_INS_XSCVDPQP = 1474;;
+let _PPC_INS_XSCVDPSP = 1475;;
+let _PPC_INS_XSCVDPSPN = 1476;;
+let _PPC_INS_XSCVDPSXDS = 1477;;
+let _PPC_INS_XSCVDPSXWS = 1478;;
+let _PPC_INS_XSCVDPUXDS = 1479;;
+let _PPC_INS_XSCVDPUXWS = 1480;;
+let _PPC_INS_XSCVHPDP = 1481;;
+let _PPC_INS_XSCVQPDP = 1482;;
+let _PPC_INS_XSCVQPDPO = 1483;;
+let _PPC_INS_XSCVQPSDZ = 1484;;
+let _PPC_INS_XSCVQPSWZ = 1485;;
+let _PPC_INS_XSCVQPUDZ = 1486;;
+let _PPC_INS_XSCVQPUWZ = 1487;;
+let _PPC_INS_XSCVSDQP = 1488;;
+let _PPC_INS_XSCVSPDP = 1489;;
+let _PPC_INS_XSCVSPDPN = 1490;;
+let _PPC_INS_XSCVSXDDP = 1491;;
+let _PPC_INS_XSCVSXDSP = 1492;;
+let _PPC_INS_XSCVUDQP = 1493;;
+let _PPC_INS_XSCVUXDDP = 1494;;
+let _PPC_INS_XSCVUXDSP = 1495;;
+let _PPC_INS_XSDIVDP = 1496;;
+let _PPC_INS_XSDIVQP = 1497;;
+let _PPC_INS_XSDIVQPO = 1498;;
+let _PPC_INS_XSDIVSP = 1499;;
+let _PPC_INS_XSIEXPDP = 1500;;
+let _PPC_INS_XSIEXPQP = 1501;;
+let _PPC_INS_XSMADDADP = 1502;;
+let _PPC_INS_XSMADDASP = 1503;;
+let _PPC_INS_XSMADDMDP = 1504;;
+let _PPC_INS_XSMADDMSP = 1505;;
+let _PPC_INS_XSMADDQP = 1506;;
+let _PPC_INS_XSMADDQPO = 1507;;
+let _PPC_INS_XSMAXCDP = 1508;;
+let _PPC_INS_XSMAXDP = 1509;;
+let _PPC_INS_XSMAXJDP = 1510;;
+let _PPC_INS_XSMINCDP = 1511;;
+let _PPC_INS_XSMINDP = 1512;;
+let _PPC_INS_XSMINJDP = 1513;;
+let _PPC_INS_XSMSUBADP = 1514;;
+let _PPC_INS_XSMSUBASP = 1515;;
+let _PPC_INS_XSMSUBMDP = 1516;;
+let _PPC_INS_XSMSUBMSP = 1517;;
+let _PPC_INS_XSMSUBQP = 1518;;
+let _PPC_INS_XSMSUBQPO = 1519;;
+let _PPC_INS_XSMULDP = 1520;;
+let _PPC_INS_XSMULQP = 1521;;
+let _PPC_INS_XSMULQPO = 1522;;
+let _PPC_INS_XSMULSP = 1523;;
+let _PPC_INS_XSNABSDP = 1524;;
+let _PPC_INS_XSNABSQP = 1525;;
+let _PPC_INS_XSNEGDP = 1526;;
+let _PPC_INS_XSNEGQP = 1527;;
+let _PPC_INS_XSNMADDADP = 1528;;
+let _PPC_INS_XSNMADDASP = 1529;;
+let _PPC_INS_XSNMADDMDP = 1530;;
+let _PPC_INS_XSNMADDMSP = 1531;;
+let _PPC_INS_XSNMADDQP = 1532;;
+let _PPC_INS_XSNMADDQPO = 1533;;
+let _PPC_INS_XSNMSUBADP = 1534;;
+let _PPC_INS_XSNMSUBASP = 1535;;
+let _PPC_INS_XSNMSUBMDP = 1536;;
+let _PPC_INS_XSNMSUBMSP = 1537;;
+let _PPC_INS_XSNMSUBQP = 1538;;
+let _PPC_INS_XSNMSUBQPO = 1539;;
+let _PPC_INS_XSRDPI = 1540;;
+let _PPC_INS_XSRDPIC = 1541;;
+let _PPC_INS_XSRDPIM = 1542;;
+let _PPC_INS_XSRDPIP = 1543;;
+let _PPC_INS_XSRDPIZ = 1544;;
+let _PPC_INS_XSREDP = 1545;;
+let _PPC_INS_XSRESP = 1546;;
+let _PPC_INS_XSRQPI = 1547;;
+let _PPC_INS_XSRQPIX = 1548;;
+let _PPC_INS_XSRQPXP = 1549;;
+let _PPC_INS_XSRSP = 1550;;
+let _PPC_INS_XSRSQRTEDP = 1551;;
+let _PPC_INS_XSRSQRTESP = 1552;;
+let _PPC_INS_XSSQRTDP = 1553;;
+let _PPC_INS_XSSQRTQP = 1554;;
+let _PPC_INS_XSSQRTQPO = 1555;;
+let _PPC_INS_XSSQRTSP = 1556;;
+let _PPC_INS_XSSUBDP = 1557;;
+let _PPC_INS_XSSUBQP = 1558;;
+let _PPC_INS_XSSUBQPO = 1559;;
+let _PPC_INS_XSSUBSP = 1560;;
+let _PPC_INS_XSTDIVDP = 1561;;
+let _PPC_INS_XSTSQRTDP = 1562;;
+let _PPC_INS_XSTSTDCDP = 1563;;
+let _PPC_INS_XSTSTDCQP = 1564;;
+let _PPC_INS_XSTSTDCSP = 1565;;
+let _PPC_INS_XSXEXPDP = 1566;;
+let _PPC_INS_XSXEXPQP = 1567;;
+let _PPC_INS_XSXSIGDP = 1568;;
+let _PPC_INS_XSXSIGQP = 1569;;
+let _PPC_INS_XVABSDP = 1570;;
+let _PPC_INS_XVABSSP = 1571;;
+let _PPC_INS_XVADDDP = 1572;;
+let _PPC_INS_XVADDSP = 1573;;
+let _PPC_INS_XVCMPEQDP = 1574;;
+let _PPC_INS_XVCMPEQSP = 1575;;
+let _PPC_INS_XVCMPGEDP = 1576;;
+let _PPC_INS_XVCMPGESP = 1577;;
+let _PPC_INS_XVCMPGTDP = 1578;;
+let _PPC_INS_XVCMPGTSP = 1579;;
+let _PPC_INS_XVCPSGNDP = 1580;;
+let _PPC_INS_XVCPSGNSP = 1581;;
+let _PPC_INS_XVCVDPSP = 1582;;
+let _PPC_INS_XVCVDPSXDS = 1583;;
+let _PPC_INS_XVCVDPSXWS = 1584;;
+let _PPC_INS_XVCVDPUXDS = 1585;;
+let _PPC_INS_XVCVDPUXWS = 1586;;
+let _PPC_INS_XVCVHPSP = 1587;;
+let _PPC_INS_XVCVSPDP = 1588;;
+let _PPC_INS_XVCVSPHP = 1589;;
+let _PPC_INS_XVCVSPSXDS = 1590;;
+let _PPC_INS_XVCVSPSXWS = 1591;;
+let _PPC_INS_XVCVSPUXDS = 1592;;
+let _PPC_INS_XVCVSPUXWS = 1593;;
+let _PPC_INS_XVCVSXDDP = 1594;;
+let _PPC_INS_XVCVSXDSP = 1595;;
+let _PPC_INS_XVCVSXWDP = 1596;;
+let _PPC_INS_XVCVSXWSP = 1597;;
+let _PPC_INS_XVCVUXDDP = 1598;;
+let _PPC_INS_XVCVUXDSP = 1599;;
+let _PPC_INS_XVCVUXWDP = 1600;;
+let _PPC_INS_XVCVUXWSP = 1601;;
+let _PPC_INS_XVDIVDP = 1602;;
+let _PPC_INS_XVDIVSP = 1603;;
+let _PPC_INS_XVIEXPDP = 1604;;
+let _PPC_INS_XVIEXPSP = 1605;;
+let _PPC_INS_XVMADDADP = 1606;;
+let _PPC_INS_XVMADDASP = 1607;;
+let _PPC_INS_XVMADDMDP = 1608;;
+let _PPC_INS_XVMADDMSP = 1609;;
+let _PPC_INS_XVMAXDP = 1610;;
+let _PPC_INS_XVMAXSP = 1611;;
+let _PPC_INS_XVMINDP = 1612;;
+let _PPC_INS_XVMINSP = 1613;;
+let _PPC_INS_XVMOVDP = 1614;;
+let _PPC_INS_XVMOVSP = 1615;;
+let _PPC_INS_XVMSUBADP = 1616;;
+let _PPC_INS_XVMSUBASP = 1617;;
+let _PPC_INS_XVMSUBMDP = 1618;;
+let _PPC_INS_XVMSUBMSP = 1619;;
+let _PPC_INS_XVMULDP = 1620;;
+let _PPC_INS_XVMULSP = 1621;;
+let _PPC_INS_XVNABSDP = 1622;;
+let _PPC_INS_XVNABSSP = 1623;;
+let _PPC_INS_XVNEGDP = 1624;;
+let _PPC_INS_XVNEGSP = 1625;;
+let _PPC_INS_XVNMADDADP = 1626;;
+let _PPC_INS_XVNMADDASP = 1627;;
+let _PPC_INS_XVNMADDMDP = 1628;;
+let _PPC_INS_XVNMADDMSP = 1629;;
+let _PPC_INS_XVNMSUBADP = 1630;;
+let _PPC_INS_XVNMSUBASP = 1631;;
+let _PPC_INS_XVNMSUBMDP = 1632;;
+let _PPC_INS_XVNMSUBMSP = 1633;;
+let _PPC_INS_XVRDPI = 1634;;
+let _PPC_INS_XVRDPIC = 1635;;
+let _PPC_INS_XVRDPIM = 1636;;
+let _PPC_INS_XVRDPIP = 1637;;
+let _PPC_INS_XVRDPIZ = 1638;;
+let _PPC_INS_XVREDP = 1639;;
+let _PPC_INS_XVRESP = 1640;;
+let _PPC_INS_XVRSPI = 1641;;
+let _PPC_INS_XVRSPIC = 1642;;
+let _PPC_INS_XVRSPIM = 1643;;
+let _PPC_INS_XVRSPIP = 1644;;
+let _PPC_INS_XVRSPIZ = 1645;;
+let _PPC_INS_XVRSQRTEDP = 1646;;
+let _PPC_INS_XVRSQRTESP = 1647;;
+let _PPC_INS_XVSQRTDP = 1648;;
+let _PPC_INS_XVSQRTSP = 1649;;
+let _PPC_INS_XVSUBDP = 1650;;
+let _PPC_INS_XVSUBSP = 1651;;
+let _PPC_INS_XVTDIVDP = 1652;;
+let _PPC_INS_XVTDIVSP = 1653;;
+let _PPC_INS_XVTSQRTDP = 1654;;
+let _PPC_INS_XVTSQRTSP = 1655;;
+let _PPC_INS_XVTSTDCDP = 1656;;
+let _PPC_INS_XVTSTDCSP = 1657;;
+let _PPC_INS_XVXEXPDP = 1658;;
+let _PPC_INS_XVXEXPSP = 1659;;
+let _PPC_INS_XVXSIGDP = 1660;;
+let _PPC_INS_XVXSIGSP = 1661;;
+let _PPC_INS_XXBRD = 1662;;
+let _PPC_INS_XXBRH = 1663;;
+let _PPC_INS_XXBRQ = 1664;;
+let _PPC_INS_XXBRW = 1665;;
+let _PPC_INS_XXEXTRACTUW = 1666;;
+let _PPC_INS_XXINSERTW = 1667;;
+let _PPC_INS_XXLAND = 1668;;
+let _PPC_INS_XXLANDC = 1669;;
+let _PPC_INS_XXLEQV = 1670;;
+let _PPC_INS_XXLNAND = 1671;;
+let _PPC_INS_XXLNOR = 1672;;
+let _PPC_INS_XXLOR = 1673;;
+let _PPC_INS_XXLORC = 1674;;
+let _PPC_INS_XXLXOR = 1675;;
+let _PPC_INS_XXMRGHD = 1676;;
+let _PPC_INS_XXMRGHW = 1677;;
+let _PPC_INS_XXMRGLD = 1678;;
+let _PPC_INS_XXMRGLW = 1679;;
+let _PPC_INS_XXPERM = 1680;;
+let _PPC_INS_XXPERMDI = 1681;;
+let _PPC_INS_XXPERMR = 1682;;
+let _PPC_INS_XXSEL = 1683;;
+let _PPC_INS_XXSLDWI = 1684;;
+let _PPC_INS_XXSPLTD = 1685;;
+let _PPC_INS_XXSPLTIB = 1686;;
+let _PPC_INS_XXSPLTW = 1687;;
+let _PPC_INS_XXSWAPD = 1688;;
+let _PPC_INS_ENDING = 1689;;
+
+let _PPC_GRP_INVALID = 0;;
+let _PPC_GRP_JUMP = 1;;
+let _PPC_GRP_ALTIVEC = 128;;
+let _PPC_GRP_MODE32 = 129;;
+let _PPC_GRP_MODE64 = 130;;
+let _PPC_GRP_BOOKE = 131;;
+let _PPC_GRP_NOTBOOKE = 132;;
+let _PPC_GRP_SPE = 133;;
+let _PPC_GRP_VSX = 134;;
+let _PPC_GRP_E500 = 135;;
+let _PPC_GRP_PPC4XX = 136;;
+let _PPC_GRP_PPC6XX = 137;;
+let _PPC_GRP_ICBT = 138;;
+let _PPC_GRP_P8ALTIVEC = 139;;
+let _PPC_GRP_P8VECTOR = 140;;
+let _PPC_GRP_QPX = 141;;
+let _PPC_GRP_ENDING = 142;;
diff --git a/capstone/bindings/ocaml/sparc.ml b/capstone/bindings/ocaml/sparc.ml
new file mode 100644
index 000000000..17df4b387
--- /dev/null
+++ b/capstone/bindings/ocaml/sparc.ml
@@ -0,0 +1,27 @@
+(* Capstone Disassembly Engine
+ * By Guillaume Jeanne <guillaume.jeanne@ensimag.fr>, 2014> *)
+
+open Sparc_const
+
+type sparc_op_mem = {
+ base: int;
+ index: int;
+ disp: int;
+}
+
+type sparc_op_value =
+ | SPARC_OP_INVALID of int
+ | SPARC_OP_REG of int
+ | SPARC_OP_IMM of int
+ | SPARC_OP_MEM of sparc_op_mem
+
+type sparc_op = {
+ value: sparc_op_value;
+}
+
+type cs_sparc = {
+ cc: int;
+ hint: int;
+ operands: sparc_op array;
+}
+
diff --git a/capstone/bindings/ocaml/sparc_const.ml b/capstone/bindings/ocaml/sparc_const.ml
new file mode 100644
index 000000000..000dbfebd
--- /dev/null
+++ b/capstone/bindings/ocaml/sparc_const.ml
@@ -0,0 +1,429 @@
+(* For Capstone Engine. AUTO-GENERATED FILE, DO NOT EDIT [sparc_const.ml] *)
+
+let _SPARC_CC_INVALID = 0;;
+let _SPARC_CC_ICC_A = 8+256;;
+let _SPARC_CC_ICC_N = 0+256;;
+let _SPARC_CC_ICC_NE = 9+256;;
+let _SPARC_CC_ICC_E = 1+256;;
+let _SPARC_CC_ICC_G = 10+256;;
+let _SPARC_CC_ICC_LE = 2+256;;
+let _SPARC_CC_ICC_GE = 11+256;;
+let _SPARC_CC_ICC_L = 3+256;;
+let _SPARC_CC_ICC_GU = 12+256;;
+let _SPARC_CC_ICC_LEU = 4+256;;
+let _SPARC_CC_ICC_CC = 13+256;;
+let _SPARC_CC_ICC_CS = 5+256;;
+let _SPARC_CC_ICC_POS = 14+256;;
+let _SPARC_CC_ICC_NEG = 6+256;;
+let _SPARC_CC_ICC_VC = 15+256;;
+let _SPARC_CC_ICC_VS = 7+256;;
+let _SPARC_CC_FCC_A = 8+16+256;;
+let _SPARC_CC_FCC_N = 0+16+256;;
+let _SPARC_CC_FCC_U = 7+16+256;;
+let _SPARC_CC_FCC_G = 6+16+256;;
+let _SPARC_CC_FCC_UG = 5+16+256;;
+let _SPARC_CC_FCC_L = 4+16+256;;
+let _SPARC_CC_FCC_UL = 3+16+256;;
+let _SPARC_CC_FCC_LG = 2+16+256;;
+let _SPARC_CC_FCC_NE = 1+16+256;;
+let _SPARC_CC_FCC_E = 9+16+256;;
+let _SPARC_CC_FCC_UE = 10+16+256;;
+let _SPARC_CC_FCC_GE = 11+16+256;;
+let _SPARC_CC_FCC_UGE = 12+16+256;;
+let _SPARC_CC_FCC_LE = 13+16+256;;
+let _SPARC_CC_FCC_ULE = 14+16+256;;
+let _SPARC_CC_FCC_O = 15+16+256;;
+
+let _SPARC_HINT_INVALID = 0;;
+let _SPARC_HINT_A = 1 lsl 0;;
+let _SPARC_HINT_PT = 1 lsl 1;;
+let _SPARC_HINT_PN = 1 lsl 2;;
+
+let _SPARC_OP_INVALID = 0;;
+let _SPARC_OP_REG = 1;;
+let _SPARC_OP_IMM = 2;;
+let _SPARC_OP_MEM = 3;;
+
+let _SPARC_REG_INVALID = 0;;
+let _SPARC_REG_F0 = 1;;
+let _SPARC_REG_F1 = 2;;
+let _SPARC_REG_F2 = 3;;
+let _SPARC_REG_F3 = 4;;
+let _SPARC_REG_F4 = 5;;
+let _SPARC_REG_F5 = 6;;
+let _SPARC_REG_F6 = 7;;
+let _SPARC_REG_F7 = 8;;
+let _SPARC_REG_F8 = 9;;
+let _SPARC_REG_F9 = 10;;
+let _SPARC_REG_F10 = 11;;
+let _SPARC_REG_F11 = 12;;
+let _SPARC_REG_F12 = 13;;
+let _SPARC_REG_F13 = 14;;
+let _SPARC_REG_F14 = 15;;
+let _SPARC_REG_F15 = 16;;
+let _SPARC_REG_F16 = 17;;
+let _SPARC_REG_F17 = 18;;
+let _SPARC_REG_F18 = 19;;
+let _SPARC_REG_F19 = 20;;
+let _SPARC_REG_F20 = 21;;
+let _SPARC_REG_F21 = 22;;
+let _SPARC_REG_F22 = 23;;
+let _SPARC_REG_F23 = 24;;
+let _SPARC_REG_F24 = 25;;
+let _SPARC_REG_F25 = 26;;
+let _SPARC_REG_F26 = 27;;
+let _SPARC_REG_F27 = 28;;
+let _SPARC_REG_F28 = 29;;
+let _SPARC_REG_F29 = 30;;
+let _SPARC_REG_F30 = 31;;
+let _SPARC_REG_F31 = 32;;
+let _SPARC_REG_F32 = 33;;
+let _SPARC_REG_F34 = 34;;
+let _SPARC_REG_F36 = 35;;
+let _SPARC_REG_F38 = 36;;
+let _SPARC_REG_F40 = 37;;
+let _SPARC_REG_F42 = 38;;
+let _SPARC_REG_F44 = 39;;
+let _SPARC_REG_F46 = 40;;
+let _SPARC_REG_F48 = 41;;
+let _SPARC_REG_F50 = 42;;
+let _SPARC_REG_F52 = 43;;
+let _SPARC_REG_F54 = 44;;
+let _SPARC_REG_F56 = 45;;
+let _SPARC_REG_F58 = 46;;
+let _SPARC_REG_F60 = 47;;
+let _SPARC_REG_F62 = 48;;
+let _SPARC_REG_FCC0 = 49;;
+let _SPARC_REG_FCC1 = 50;;
+let _SPARC_REG_FCC2 = 51;;
+let _SPARC_REG_FCC3 = 52;;
+let _SPARC_REG_FP = 53;;
+let _SPARC_REG_G0 = 54;;
+let _SPARC_REG_G1 = 55;;
+let _SPARC_REG_G2 = 56;;
+let _SPARC_REG_G3 = 57;;
+let _SPARC_REG_G4 = 58;;
+let _SPARC_REG_G5 = 59;;
+let _SPARC_REG_G6 = 60;;
+let _SPARC_REG_G7 = 61;;
+let _SPARC_REG_I0 = 62;;
+let _SPARC_REG_I1 = 63;;
+let _SPARC_REG_I2 = 64;;
+let _SPARC_REG_I3 = 65;;
+let _SPARC_REG_I4 = 66;;
+let _SPARC_REG_I5 = 67;;
+let _SPARC_REG_I7 = 68;;
+let _SPARC_REG_ICC = 69;;
+let _SPARC_REG_L0 = 70;;
+let _SPARC_REG_L1 = 71;;
+let _SPARC_REG_L2 = 72;;
+let _SPARC_REG_L3 = 73;;
+let _SPARC_REG_L4 = 74;;
+let _SPARC_REG_L5 = 75;;
+let _SPARC_REG_L6 = 76;;
+let _SPARC_REG_L7 = 77;;
+let _SPARC_REG_O0 = 78;;
+let _SPARC_REG_O1 = 79;;
+let _SPARC_REG_O2 = 80;;
+let _SPARC_REG_O3 = 81;;
+let _SPARC_REG_O4 = 82;;
+let _SPARC_REG_O5 = 83;;
+let _SPARC_REG_O7 = 84;;
+let _SPARC_REG_SP = 85;;
+let _SPARC_REG_Y = 86;;
+let _SPARC_REG_XCC = 87;;
+let _SPARC_REG_ENDING = 88;;
+let _SPARC_REG_O6 = _SPARC_REG_SP;;
+let _SPARC_REG_I6 = _SPARC_REG_FP;;
+
+let _SPARC_INS_INVALID = 0;;
+let _SPARC_INS_ADDCC = 1;;
+let _SPARC_INS_ADDX = 2;;
+let _SPARC_INS_ADDXCC = 3;;
+let _SPARC_INS_ADDXC = 4;;
+let _SPARC_INS_ADDXCCC = 5;;
+let _SPARC_INS_ADD = 6;;
+let _SPARC_INS_ALIGNADDR = 7;;
+let _SPARC_INS_ALIGNADDRL = 8;;
+let _SPARC_INS_ANDCC = 9;;
+let _SPARC_INS_ANDNCC = 10;;
+let _SPARC_INS_ANDN = 11;;
+let _SPARC_INS_AND = 12;;
+let _SPARC_INS_ARRAY16 = 13;;
+let _SPARC_INS_ARRAY32 = 14;;
+let _SPARC_INS_ARRAY8 = 15;;
+let _SPARC_INS_B = 16;;
+let _SPARC_INS_JMP = 17;;
+let _SPARC_INS_BMASK = 18;;
+let _SPARC_INS_FB = 19;;
+let _SPARC_INS_BRGEZ = 20;;
+let _SPARC_INS_BRGZ = 21;;
+let _SPARC_INS_BRLEZ = 22;;
+let _SPARC_INS_BRLZ = 23;;
+let _SPARC_INS_BRNZ = 24;;
+let _SPARC_INS_BRZ = 25;;
+let _SPARC_INS_BSHUFFLE = 26;;
+let _SPARC_INS_CALL = 27;;
+let _SPARC_INS_CASX = 28;;
+let _SPARC_INS_CAS = 29;;
+let _SPARC_INS_CMASK16 = 30;;
+let _SPARC_INS_CMASK32 = 31;;
+let _SPARC_INS_CMASK8 = 32;;
+let _SPARC_INS_CMP = 33;;
+let _SPARC_INS_EDGE16 = 34;;
+let _SPARC_INS_EDGE16L = 35;;
+let _SPARC_INS_EDGE16LN = 36;;
+let _SPARC_INS_EDGE16N = 37;;
+let _SPARC_INS_EDGE32 = 38;;
+let _SPARC_INS_EDGE32L = 39;;
+let _SPARC_INS_EDGE32LN = 40;;
+let _SPARC_INS_EDGE32N = 41;;
+let _SPARC_INS_EDGE8 = 42;;
+let _SPARC_INS_EDGE8L = 43;;
+let _SPARC_INS_EDGE8LN = 44;;
+let _SPARC_INS_EDGE8N = 45;;
+let _SPARC_INS_FABSD = 46;;
+let _SPARC_INS_FABSQ = 47;;
+let _SPARC_INS_FABSS = 48;;
+let _SPARC_INS_FADDD = 49;;
+let _SPARC_INS_FADDQ = 50;;
+let _SPARC_INS_FADDS = 51;;
+let _SPARC_INS_FALIGNDATA = 52;;
+let _SPARC_INS_FAND = 53;;
+let _SPARC_INS_FANDNOT1 = 54;;
+let _SPARC_INS_FANDNOT1S = 55;;
+let _SPARC_INS_FANDNOT2 = 56;;
+let _SPARC_INS_FANDNOT2S = 57;;
+let _SPARC_INS_FANDS = 58;;
+let _SPARC_INS_FCHKSM16 = 59;;
+let _SPARC_INS_FCMPD = 60;;
+let _SPARC_INS_FCMPEQ16 = 61;;
+let _SPARC_INS_FCMPEQ32 = 62;;
+let _SPARC_INS_FCMPGT16 = 63;;
+let _SPARC_INS_FCMPGT32 = 64;;
+let _SPARC_INS_FCMPLE16 = 65;;
+let _SPARC_INS_FCMPLE32 = 66;;
+let _SPARC_INS_FCMPNE16 = 67;;
+let _SPARC_INS_FCMPNE32 = 68;;
+let _SPARC_INS_FCMPQ = 69;;
+let _SPARC_INS_FCMPS = 70;;
+let _SPARC_INS_FDIVD = 71;;
+let _SPARC_INS_FDIVQ = 72;;
+let _SPARC_INS_FDIVS = 73;;
+let _SPARC_INS_FDMULQ = 74;;
+let _SPARC_INS_FDTOI = 75;;
+let _SPARC_INS_FDTOQ = 76;;
+let _SPARC_INS_FDTOS = 77;;
+let _SPARC_INS_FDTOX = 78;;
+let _SPARC_INS_FEXPAND = 79;;
+let _SPARC_INS_FHADDD = 80;;
+let _SPARC_INS_FHADDS = 81;;
+let _SPARC_INS_FHSUBD = 82;;
+let _SPARC_INS_FHSUBS = 83;;
+let _SPARC_INS_FITOD = 84;;
+let _SPARC_INS_FITOQ = 85;;
+let _SPARC_INS_FITOS = 86;;
+let _SPARC_INS_FLCMPD = 87;;
+let _SPARC_INS_FLCMPS = 88;;
+let _SPARC_INS_FLUSHW = 89;;
+let _SPARC_INS_FMEAN16 = 90;;
+let _SPARC_INS_FMOVD = 91;;
+let _SPARC_INS_FMOVQ = 92;;
+let _SPARC_INS_FMOVRDGEZ = 93;;
+let _SPARC_INS_FMOVRQGEZ = 94;;
+let _SPARC_INS_FMOVRSGEZ = 95;;
+let _SPARC_INS_FMOVRDGZ = 96;;
+let _SPARC_INS_FMOVRQGZ = 97;;
+let _SPARC_INS_FMOVRSGZ = 98;;
+let _SPARC_INS_FMOVRDLEZ = 99;;
+let _SPARC_INS_FMOVRQLEZ = 100;;
+let _SPARC_INS_FMOVRSLEZ = 101;;
+let _SPARC_INS_FMOVRDLZ = 102;;
+let _SPARC_INS_FMOVRQLZ = 103;;
+let _SPARC_INS_FMOVRSLZ = 104;;
+let _SPARC_INS_FMOVRDNZ = 105;;
+let _SPARC_INS_FMOVRQNZ = 106;;
+let _SPARC_INS_FMOVRSNZ = 107;;
+let _SPARC_INS_FMOVRDZ = 108;;
+let _SPARC_INS_FMOVRQZ = 109;;
+let _SPARC_INS_FMOVRSZ = 110;;
+let _SPARC_INS_FMOVS = 111;;
+let _SPARC_INS_FMUL8SUX16 = 112;;
+let _SPARC_INS_FMUL8ULX16 = 113;;
+let _SPARC_INS_FMUL8X16 = 114;;
+let _SPARC_INS_FMUL8X16AL = 115;;
+let _SPARC_INS_FMUL8X16AU = 116;;
+let _SPARC_INS_FMULD = 117;;
+let _SPARC_INS_FMULD8SUX16 = 118;;
+let _SPARC_INS_FMULD8ULX16 = 119;;
+let _SPARC_INS_FMULQ = 120;;
+let _SPARC_INS_FMULS = 121;;
+let _SPARC_INS_FNADDD = 122;;
+let _SPARC_INS_FNADDS = 123;;
+let _SPARC_INS_FNAND = 124;;
+let _SPARC_INS_FNANDS = 125;;
+let _SPARC_INS_FNEGD = 126;;
+let _SPARC_INS_FNEGQ = 127;;
+let _SPARC_INS_FNEGS = 128;;
+let _SPARC_INS_FNHADDD = 129;;
+let _SPARC_INS_FNHADDS = 130;;
+let _SPARC_INS_FNOR = 131;;
+let _SPARC_INS_FNORS = 132;;
+let _SPARC_INS_FNOT1 = 133;;
+let _SPARC_INS_FNOT1S = 134;;
+let _SPARC_INS_FNOT2 = 135;;
+let _SPARC_INS_FNOT2S = 136;;
+let _SPARC_INS_FONE = 137;;
+let _SPARC_INS_FONES = 138;;
+let _SPARC_INS_FOR = 139;;
+let _SPARC_INS_FORNOT1 = 140;;
+let _SPARC_INS_FORNOT1S = 141;;
+let _SPARC_INS_FORNOT2 = 142;;
+let _SPARC_INS_FORNOT2S = 143;;
+let _SPARC_INS_FORS = 144;;
+let _SPARC_INS_FPACK16 = 145;;
+let _SPARC_INS_FPACK32 = 146;;
+let _SPARC_INS_FPACKFIX = 147;;
+let _SPARC_INS_FPADD16 = 148;;
+let _SPARC_INS_FPADD16S = 149;;
+let _SPARC_INS_FPADD32 = 150;;
+let _SPARC_INS_FPADD32S = 151;;
+let _SPARC_INS_FPADD64 = 152;;
+let _SPARC_INS_FPMERGE = 153;;
+let _SPARC_INS_FPSUB16 = 154;;
+let _SPARC_INS_FPSUB16S = 155;;
+let _SPARC_INS_FPSUB32 = 156;;
+let _SPARC_INS_FPSUB32S = 157;;
+let _SPARC_INS_FQTOD = 158;;
+let _SPARC_INS_FQTOI = 159;;
+let _SPARC_INS_FQTOS = 160;;
+let _SPARC_INS_FQTOX = 161;;
+let _SPARC_INS_FSLAS16 = 162;;
+let _SPARC_INS_FSLAS32 = 163;;
+let _SPARC_INS_FSLL16 = 164;;
+let _SPARC_INS_FSLL32 = 165;;
+let _SPARC_INS_FSMULD = 166;;
+let _SPARC_INS_FSQRTD = 167;;
+let _SPARC_INS_FSQRTQ = 168;;
+let _SPARC_INS_FSQRTS = 169;;
+let _SPARC_INS_FSRA16 = 170;;
+let _SPARC_INS_FSRA32 = 171;;
+let _SPARC_INS_FSRC1 = 172;;
+let _SPARC_INS_FSRC1S = 173;;
+let _SPARC_INS_FSRC2 = 174;;
+let _SPARC_INS_FSRC2S = 175;;
+let _SPARC_INS_FSRL16 = 176;;
+let _SPARC_INS_FSRL32 = 177;;
+let _SPARC_INS_FSTOD = 178;;
+let _SPARC_INS_FSTOI = 179;;
+let _SPARC_INS_FSTOQ = 180;;
+let _SPARC_INS_FSTOX = 181;;
+let _SPARC_INS_FSUBD = 182;;
+let _SPARC_INS_FSUBQ = 183;;
+let _SPARC_INS_FSUBS = 184;;
+let _SPARC_INS_FXNOR = 185;;
+let _SPARC_INS_FXNORS = 186;;
+let _SPARC_INS_FXOR = 187;;
+let _SPARC_INS_FXORS = 188;;
+let _SPARC_INS_FXTOD = 189;;
+let _SPARC_INS_FXTOQ = 190;;
+let _SPARC_INS_FXTOS = 191;;
+let _SPARC_INS_FZERO = 192;;
+let _SPARC_INS_FZEROS = 193;;
+let _SPARC_INS_JMPL = 194;;
+let _SPARC_INS_LDD = 195;;
+let _SPARC_INS_LD = 196;;
+let _SPARC_INS_LDQ = 197;;
+let _SPARC_INS_LDSB = 198;;
+let _SPARC_INS_LDSH = 199;;
+let _SPARC_INS_LDSW = 200;;
+let _SPARC_INS_LDUB = 201;;
+let _SPARC_INS_LDUH = 202;;
+let _SPARC_INS_LDX = 203;;
+let _SPARC_INS_LZCNT = 204;;
+let _SPARC_INS_MEMBAR = 205;;
+let _SPARC_INS_MOVDTOX = 206;;
+let _SPARC_INS_MOV = 207;;
+let _SPARC_INS_MOVRGEZ = 208;;
+let _SPARC_INS_MOVRGZ = 209;;
+let _SPARC_INS_MOVRLEZ = 210;;
+let _SPARC_INS_MOVRLZ = 211;;
+let _SPARC_INS_MOVRNZ = 212;;
+let _SPARC_INS_MOVRZ = 213;;
+let _SPARC_INS_MOVSTOSW = 214;;
+let _SPARC_INS_MOVSTOUW = 215;;
+let _SPARC_INS_MULX = 216;;
+let _SPARC_INS_NOP = 217;;
+let _SPARC_INS_ORCC = 218;;
+let _SPARC_INS_ORNCC = 219;;
+let _SPARC_INS_ORN = 220;;
+let _SPARC_INS_OR = 221;;
+let _SPARC_INS_PDIST = 222;;
+let _SPARC_INS_PDISTN = 223;;
+let _SPARC_INS_POPC = 224;;
+let _SPARC_INS_RD = 225;;
+let _SPARC_INS_RESTORE = 226;;
+let _SPARC_INS_RETT = 227;;
+let _SPARC_INS_SAVE = 228;;
+let _SPARC_INS_SDIVCC = 229;;
+let _SPARC_INS_SDIVX = 230;;
+let _SPARC_INS_SDIV = 231;;
+let _SPARC_INS_SETHI = 232;;
+let _SPARC_INS_SHUTDOWN = 233;;
+let _SPARC_INS_SIAM = 234;;
+let _SPARC_INS_SLLX = 235;;
+let _SPARC_INS_SLL = 236;;
+let _SPARC_INS_SMULCC = 237;;
+let _SPARC_INS_SMUL = 238;;
+let _SPARC_INS_SRAX = 239;;
+let _SPARC_INS_SRA = 240;;
+let _SPARC_INS_SRLX = 241;;
+let _SPARC_INS_SRL = 242;;
+let _SPARC_INS_STBAR = 243;;
+let _SPARC_INS_STB = 244;;
+let _SPARC_INS_STD = 245;;
+let _SPARC_INS_ST = 246;;
+let _SPARC_INS_STH = 247;;
+let _SPARC_INS_STQ = 248;;
+let _SPARC_INS_STX = 249;;
+let _SPARC_INS_SUBCC = 250;;
+let _SPARC_INS_SUBX = 251;;
+let _SPARC_INS_SUBXCC = 252;;
+let _SPARC_INS_SUB = 253;;
+let _SPARC_INS_SWAP = 254;;
+let _SPARC_INS_TADDCCTV = 255;;
+let _SPARC_INS_TADDCC = 256;;
+let _SPARC_INS_T = 257;;
+let _SPARC_INS_TSUBCCTV = 258;;
+let _SPARC_INS_TSUBCC = 259;;
+let _SPARC_INS_UDIVCC = 260;;
+let _SPARC_INS_UDIVX = 261;;
+let _SPARC_INS_UDIV = 262;;
+let _SPARC_INS_UMULCC = 263;;
+let _SPARC_INS_UMULXHI = 264;;
+let _SPARC_INS_UMUL = 265;;
+let _SPARC_INS_UNIMP = 266;;
+let _SPARC_INS_FCMPED = 267;;
+let _SPARC_INS_FCMPEQ = 268;;
+let _SPARC_INS_FCMPES = 269;;
+let _SPARC_INS_WR = 270;;
+let _SPARC_INS_XMULX = 271;;
+let _SPARC_INS_XMULXHI = 272;;
+let _SPARC_INS_XNORCC = 273;;
+let _SPARC_INS_XNOR = 274;;
+let _SPARC_INS_XORCC = 275;;
+let _SPARC_INS_XOR = 276;;
+let _SPARC_INS_RET = 277;;
+let _SPARC_INS_RETL = 278;;
+let _SPARC_INS_ENDING = 279;;
+
+let _SPARC_GRP_INVALID = 0;;
+let _SPARC_GRP_JUMP = 1;;
+let _SPARC_GRP_HARDQUAD = 128;;
+let _SPARC_GRP_V9 = 129;;
+let _SPARC_GRP_VIS = 130;;
+let _SPARC_GRP_VIS2 = 131;;
+let _SPARC_GRP_VIS3 = 132;;
+let _SPARC_GRP_32BIT = 133;;
+let _SPARC_GRP_64BIT = 134;;
+let _SPARC_GRP_ENDING = 135;;
diff --git a/capstone/bindings/ocaml/systemz.ml b/capstone/bindings/ocaml/systemz.ml
new file mode 100644
index 000000000..755bf5d79
--- /dev/null
+++ b/capstone/bindings/ocaml/systemz.ml
@@ -0,0 +1,27 @@
+(* Capstone Disassembly Engine
+ * By Guillaume Jeanne <guillaume.jeanne@ensimag.fr>, 2014> *)
+
+open Sysz_const
+
+type sysz_op_mem = {
+ base: int;
+ index: int;
+ length: int64;
+ disp: int64;
+}
+
+type sysz_op_value =
+ | SYSZ_OP_INVALID of int
+ | SYSZ_OP_REG of int
+ | SYSZ_OP_ACREG of int
+ | SYSZ_OP_IMM of int
+ | SYSZ_OP_MEM of sysz_op_mem
+
+type sysz_op = {
+ value: sysz_op_value;
+}
+
+type cs_sysz = {
+ cc: int;
+ operands: sysz_op array;
+}
diff --git a/capstone/bindings/ocaml/sysz_const.ml b/capstone/bindings/ocaml/sysz_const.ml
new file mode 100644
index 000000000..e738b5c26
--- /dev/null
+++ b/capstone/bindings/ocaml/sysz_const.ml
@@ -0,0 +1,2523 @@
+(* For Capstone Engine. AUTO-GENERATED FILE, DO NOT EDIT [sysz_const.ml] *)
+
+let _SYSZ_CC_INVALID = 0;;
+let _SYSZ_CC_O = 1;;
+let _SYSZ_CC_H = 2;;
+let _SYSZ_CC_NLE = 3;;
+let _SYSZ_CC_L = 4;;
+let _SYSZ_CC_NHE = 5;;
+let _SYSZ_CC_LH = 6;;
+let _SYSZ_CC_NE = 7;;
+let _SYSZ_CC_E = 8;;
+let _SYSZ_CC_NLH = 9;;
+let _SYSZ_CC_HE = 10;;
+let _SYSZ_CC_NL = 11;;
+let _SYSZ_CC_LE = 12;;
+let _SYSZ_CC_NH = 13;;
+let _SYSZ_CC_NO = 14;;
+
+let _SYSZ_OP_INVALID = 0;;
+let _SYSZ_OP_REG = 1;;
+let _SYSZ_OP_IMM = 2;;
+let _SYSZ_OP_MEM = 3;;
+let _SYSZ_OP_ACREG = 64;;
+
+let _SYSZ_REG_INVALID = 0;;
+let _SYSZ_REG_0 = 1;;
+let _SYSZ_REG_1 = 2;;
+let _SYSZ_REG_2 = 3;;
+let _SYSZ_REG_3 = 4;;
+let _SYSZ_REG_4 = 5;;
+let _SYSZ_REG_5 = 6;;
+let _SYSZ_REG_6 = 7;;
+let _SYSZ_REG_7 = 8;;
+let _SYSZ_REG_8 = 9;;
+let _SYSZ_REG_9 = 10;;
+let _SYSZ_REG_10 = 11;;
+let _SYSZ_REG_11 = 12;;
+let _SYSZ_REG_12 = 13;;
+let _SYSZ_REG_13 = 14;;
+let _SYSZ_REG_14 = 15;;
+let _SYSZ_REG_15 = 16;;
+let _SYSZ_REG_CC = 17;;
+let _SYSZ_REG_F0 = 18;;
+let _SYSZ_REG_F1 = 19;;
+let _SYSZ_REG_F2 = 20;;
+let _SYSZ_REG_F3 = 21;;
+let _SYSZ_REG_F4 = 22;;
+let _SYSZ_REG_F5 = 23;;
+let _SYSZ_REG_F6 = 24;;
+let _SYSZ_REG_F7 = 25;;
+let _SYSZ_REG_F8 = 26;;
+let _SYSZ_REG_F9 = 27;;
+let _SYSZ_REG_F10 = 28;;
+let _SYSZ_REG_F11 = 29;;
+let _SYSZ_REG_F12 = 30;;
+let _SYSZ_REG_F13 = 31;;
+let _SYSZ_REG_F14 = 32;;
+let _SYSZ_REG_F15 = 33;;
+let _SYSZ_REG_R0L = 34;;
+let _SYSZ_REG_A0 = 35;;
+let _SYSZ_REG_A1 = 36;;
+let _SYSZ_REG_A2 = 37;;
+let _SYSZ_REG_A3 = 38;;
+let _SYSZ_REG_A4 = 39;;
+let _SYSZ_REG_A5 = 40;;
+let _SYSZ_REG_A6 = 41;;
+let _SYSZ_REG_A7 = 42;;
+let _SYSZ_REG_A8 = 43;;
+let _SYSZ_REG_A9 = 44;;
+let _SYSZ_REG_A10 = 45;;
+let _SYSZ_REG_A11 = 46;;
+let _SYSZ_REG_A12 = 47;;
+let _SYSZ_REG_A13 = 48;;
+let _SYSZ_REG_A14 = 49;;
+let _SYSZ_REG_A15 = 50;;
+let _SYSZ_REG_C0 = 51;;
+let _SYSZ_REG_C1 = 52;;
+let _SYSZ_REG_C2 = 53;;
+let _SYSZ_REG_C3 = 54;;
+let _SYSZ_REG_C4 = 55;;
+let _SYSZ_REG_C5 = 56;;
+let _SYSZ_REG_C6 = 57;;
+let _SYSZ_REG_C7 = 58;;
+let _SYSZ_REG_C8 = 59;;
+let _SYSZ_REG_C9 = 60;;
+let _SYSZ_REG_C10 = 61;;
+let _SYSZ_REG_C11 = 62;;
+let _SYSZ_REG_C12 = 63;;
+let _SYSZ_REG_C13 = 64;;
+let _SYSZ_REG_C14 = 65;;
+let _SYSZ_REG_C15 = 66;;
+let _SYSZ_REG_V0 = 67;;
+let _SYSZ_REG_V1 = 68;;
+let _SYSZ_REG_V2 = 69;;
+let _SYSZ_REG_V3 = 70;;
+let _SYSZ_REG_V4 = 71;;
+let _SYSZ_REG_V5 = 72;;
+let _SYSZ_REG_V6 = 73;;
+let _SYSZ_REG_V7 = 74;;
+let _SYSZ_REG_V8 = 75;;
+let _SYSZ_REG_V9 = 76;;
+let _SYSZ_REG_V10 = 77;;
+let _SYSZ_REG_V11 = 78;;
+let _SYSZ_REG_V12 = 79;;
+let _SYSZ_REG_V13 = 80;;
+let _SYSZ_REG_V14 = 81;;
+let _SYSZ_REG_V15 = 82;;
+let _SYSZ_REG_V16 = 83;;
+let _SYSZ_REG_V17 = 84;;
+let _SYSZ_REG_V18 = 85;;
+let _SYSZ_REG_V19 = 86;;
+let _SYSZ_REG_V20 = 87;;
+let _SYSZ_REG_V21 = 88;;
+let _SYSZ_REG_V22 = 89;;
+let _SYSZ_REG_V23 = 90;;
+let _SYSZ_REG_V24 = 91;;
+let _SYSZ_REG_V25 = 92;;
+let _SYSZ_REG_V26 = 93;;
+let _SYSZ_REG_V27 = 94;;
+let _SYSZ_REG_V28 = 95;;
+let _SYSZ_REG_V29 = 96;;
+let _SYSZ_REG_V30 = 97;;
+let _SYSZ_REG_V31 = 98;;
+let _SYSZ_REG_F16 = 99;;
+let _SYSZ_REG_F17 = 100;;
+let _SYSZ_REG_F18 = 101;;
+let _SYSZ_REG_F19 = 102;;
+let _SYSZ_REG_F20 = 103;;
+let _SYSZ_REG_F21 = 104;;
+let _SYSZ_REG_F22 = 105;;
+let _SYSZ_REG_F23 = 106;;
+let _SYSZ_REG_F24 = 107;;
+let _SYSZ_REG_F25 = 108;;
+let _SYSZ_REG_F26 = 109;;
+let _SYSZ_REG_F27 = 110;;
+let _SYSZ_REG_F28 = 111;;
+let _SYSZ_REG_F29 = 112;;
+let _SYSZ_REG_F30 = 113;;
+let _SYSZ_REG_F31 = 114;;
+let _SYSZ_REG_F0Q = 115;;
+let _SYSZ_REG_F4Q = 116;;
+let _SYSZ_REG_ENDING = 117;;
+
+let _SYSZ_INS_INVALID = 0;;
+let _SYSZ_INS_A = 1;;
+let _SYSZ_INS_ADB = 2;;
+let _SYSZ_INS_ADBR = 3;;
+let _SYSZ_INS_AEB = 4;;
+let _SYSZ_INS_AEBR = 5;;
+let _SYSZ_INS_AFI = 6;;
+let _SYSZ_INS_AG = 7;;
+let _SYSZ_INS_AGF = 8;;
+let _SYSZ_INS_AGFI = 9;;
+let _SYSZ_INS_AGFR = 10;;
+let _SYSZ_INS_AGHI = 11;;
+let _SYSZ_INS_AGHIK = 12;;
+let _SYSZ_INS_AGR = 13;;
+let _SYSZ_INS_AGRK = 14;;
+let _SYSZ_INS_AGSI = 15;;
+let _SYSZ_INS_AH = 16;;
+let _SYSZ_INS_AHI = 17;;
+let _SYSZ_INS_AHIK = 18;;
+let _SYSZ_INS_AHY = 19;;
+let _SYSZ_INS_AIH = 20;;
+let _SYSZ_INS_AL = 21;;
+let _SYSZ_INS_ALC = 22;;
+let _SYSZ_INS_ALCG = 23;;
+let _SYSZ_INS_ALCGR = 24;;
+let _SYSZ_INS_ALCR = 25;;
+let _SYSZ_INS_ALFI = 26;;
+let _SYSZ_INS_ALG = 27;;
+let _SYSZ_INS_ALGF = 28;;
+let _SYSZ_INS_ALGFI = 29;;
+let _SYSZ_INS_ALGFR = 30;;
+let _SYSZ_INS_ALGHSIK = 31;;
+let _SYSZ_INS_ALGR = 32;;
+let _SYSZ_INS_ALGRK = 33;;
+let _SYSZ_INS_ALHSIK = 34;;
+let _SYSZ_INS_ALR = 35;;
+let _SYSZ_INS_ALRK = 36;;
+let _SYSZ_INS_ALY = 37;;
+let _SYSZ_INS_AR = 38;;
+let _SYSZ_INS_ARK = 39;;
+let _SYSZ_INS_ASI = 40;;
+let _SYSZ_INS_AXBR = 41;;
+let _SYSZ_INS_AY = 42;;
+let _SYSZ_INS_BCR = 43;;
+let _SYSZ_INS_BRC = 44;;
+let _SYSZ_INS_BRCL = 45;;
+let _SYSZ_INS_CGIJ = 46;;
+let _SYSZ_INS_CGRJ = 47;;
+let _SYSZ_INS_CIJ = 48;;
+let _SYSZ_INS_CLGIJ = 49;;
+let _SYSZ_INS_CLGRJ = 50;;
+let _SYSZ_INS_CLIJ = 51;;
+let _SYSZ_INS_CLRJ = 52;;
+let _SYSZ_INS_CRJ = 53;;
+let _SYSZ_INS_BER = 54;;
+let _SYSZ_INS_JE = 55;;
+let _SYSZ_INS_JGE = 56;;
+let _SYSZ_INS_LOCE = 57;;
+let _SYSZ_INS_LOCGE = 58;;
+let _SYSZ_INS_LOCGRE = 59;;
+let _SYSZ_INS_LOCRE = 60;;
+let _SYSZ_INS_STOCE = 61;;
+let _SYSZ_INS_STOCGE = 62;;
+let _SYSZ_INS_BHR = 63;;
+let _SYSZ_INS_BHER = 64;;
+let _SYSZ_INS_JHE = 65;;
+let _SYSZ_INS_JGHE = 66;;
+let _SYSZ_INS_LOCHE = 67;;
+let _SYSZ_INS_LOCGHE = 68;;
+let _SYSZ_INS_LOCGRHE = 69;;
+let _SYSZ_INS_LOCRHE = 70;;
+let _SYSZ_INS_STOCHE = 71;;
+let _SYSZ_INS_STOCGHE = 72;;
+let _SYSZ_INS_JH = 73;;
+let _SYSZ_INS_JGH = 74;;
+let _SYSZ_INS_LOCH = 75;;
+let _SYSZ_INS_LOCGH = 76;;
+let _SYSZ_INS_LOCGRH = 77;;
+let _SYSZ_INS_LOCRH = 78;;
+let _SYSZ_INS_STOCH = 79;;
+let _SYSZ_INS_STOCGH = 80;;
+let _SYSZ_INS_CGIJNLH = 81;;
+let _SYSZ_INS_CGRJNLH = 82;;
+let _SYSZ_INS_CIJNLH = 83;;
+let _SYSZ_INS_CLGIJNLH = 84;;
+let _SYSZ_INS_CLGRJNLH = 85;;
+let _SYSZ_INS_CLIJNLH = 86;;
+let _SYSZ_INS_CLRJNLH = 87;;
+let _SYSZ_INS_CRJNLH = 88;;
+let _SYSZ_INS_CGIJE = 89;;
+let _SYSZ_INS_CGRJE = 90;;
+let _SYSZ_INS_CIJE = 91;;
+let _SYSZ_INS_CLGIJE = 92;;
+let _SYSZ_INS_CLGRJE = 93;;
+let _SYSZ_INS_CLIJE = 94;;
+let _SYSZ_INS_CLRJE = 95;;
+let _SYSZ_INS_CRJE = 96;;
+let _SYSZ_INS_CGIJNLE = 97;;
+let _SYSZ_INS_CGRJNLE = 98;;
+let _SYSZ_INS_CIJNLE = 99;;
+let _SYSZ_INS_CLGIJNLE = 100;;
+let _SYSZ_INS_CLGRJNLE = 101;;
+let _SYSZ_INS_CLIJNLE = 102;;
+let _SYSZ_INS_CLRJNLE = 103;;
+let _SYSZ_INS_CRJNLE = 104;;
+let _SYSZ_INS_CGIJH = 105;;
+let _SYSZ_INS_CGRJH = 106;;
+let _SYSZ_INS_CIJH = 107;;
+let _SYSZ_INS_CLGIJH = 108;;
+let _SYSZ_INS_CLGRJH = 109;;
+let _SYSZ_INS_CLIJH = 110;;
+let _SYSZ_INS_CLRJH = 111;;
+let _SYSZ_INS_CRJH = 112;;
+let _SYSZ_INS_CGIJNL = 113;;
+let _SYSZ_INS_CGRJNL = 114;;
+let _SYSZ_INS_CIJNL = 115;;
+let _SYSZ_INS_CLGIJNL = 116;;
+let _SYSZ_INS_CLGRJNL = 117;;
+let _SYSZ_INS_CLIJNL = 118;;
+let _SYSZ_INS_CLRJNL = 119;;
+let _SYSZ_INS_CRJNL = 120;;
+let _SYSZ_INS_CGIJHE = 121;;
+let _SYSZ_INS_CGRJHE = 122;;
+let _SYSZ_INS_CIJHE = 123;;
+let _SYSZ_INS_CLGIJHE = 124;;
+let _SYSZ_INS_CLGRJHE = 125;;
+let _SYSZ_INS_CLIJHE = 126;;
+let _SYSZ_INS_CLRJHE = 127;;
+let _SYSZ_INS_CRJHE = 128;;
+let _SYSZ_INS_CGIJNHE = 129;;
+let _SYSZ_INS_CGRJNHE = 130;;
+let _SYSZ_INS_CIJNHE = 131;;
+let _SYSZ_INS_CLGIJNHE = 132;;
+let _SYSZ_INS_CLGRJNHE = 133;;
+let _SYSZ_INS_CLIJNHE = 134;;
+let _SYSZ_INS_CLRJNHE = 135;;
+let _SYSZ_INS_CRJNHE = 136;;
+let _SYSZ_INS_CGIJL = 137;;
+let _SYSZ_INS_CGRJL = 138;;
+let _SYSZ_INS_CIJL = 139;;
+let _SYSZ_INS_CLGIJL = 140;;
+let _SYSZ_INS_CLGRJL = 141;;
+let _SYSZ_INS_CLIJL = 142;;
+let _SYSZ_INS_CLRJL = 143;;
+let _SYSZ_INS_CRJL = 144;;
+let _SYSZ_INS_CGIJNH = 145;;
+let _SYSZ_INS_CGRJNH = 146;;
+let _SYSZ_INS_CIJNH = 147;;
+let _SYSZ_INS_CLGIJNH = 148;;
+let _SYSZ_INS_CLGRJNH = 149;;
+let _SYSZ_INS_CLIJNH = 150;;
+let _SYSZ_INS_CLRJNH = 151;;
+let _SYSZ_INS_CRJNH = 152;;
+let _SYSZ_INS_CGIJLE = 153;;
+let _SYSZ_INS_CGRJLE = 154;;
+let _SYSZ_INS_CIJLE = 155;;
+let _SYSZ_INS_CLGIJLE = 156;;
+let _SYSZ_INS_CLGRJLE = 157;;
+let _SYSZ_INS_CLIJLE = 158;;
+let _SYSZ_INS_CLRJLE = 159;;
+let _SYSZ_INS_CRJLE = 160;;
+let _SYSZ_INS_CGIJNE = 161;;
+let _SYSZ_INS_CGRJNE = 162;;
+let _SYSZ_INS_CIJNE = 163;;
+let _SYSZ_INS_CLGIJNE = 164;;
+let _SYSZ_INS_CLGRJNE = 165;;
+let _SYSZ_INS_CLIJNE = 166;;
+let _SYSZ_INS_CLRJNE = 167;;
+let _SYSZ_INS_CRJNE = 168;;
+let _SYSZ_INS_CGIJLH = 169;;
+let _SYSZ_INS_CGRJLH = 170;;
+let _SYSZ_INS_CIJLH = 171;;
+let _SYSZ_INS_CLGIJLH = 172;;
+let _SYSZ_INS_CLGRJLH = 173;;
+let _SYSZ_INS_CLIJLH = 174;;
+let _SYSZ_INS_CLRJLH = 175;;
+let _SYSZ_INS_CRJLH = 176;;
+let _SYSZ_INS_BLR = 177;;
+let _SYSZ_INS_BLER = 178;;
+let _SYSZ_INS_JLE = 179;;
+let _SYSZ_INS_JGLE = 180;;
+let _SYSZ_INS_LOCLE = 181;;
+let _SYSZ_INS_LOCGLE = 182;;
+let _SYSZ_INS_LOCGRLE = 183;;
+let _SYSZ_INS_LOCRLE = 184;;
+let _SYSZ_INS_STOCLE = 185;;
+let _SYSZ_INS_STOCGLE = 186;;
+let _SYSZ_INS_BLHR = 187;;
+let _SYSZ_INS_JLH = 188;;
+let _SYSZ_INS_JGLH = 189;;
+let _SYSZ_INS_LOCLH = 190;;
+let _SYSZ_INS_LOCGLH = 191;;
+let _SYSZ_INS_LOCGRLH = 192;;
+let _SYSZ_INS_LOCRLH = 193;;
+let _SYSZ_INS_STOCLH = 194;;
+let _SYSZ_INS_STOCGLH = 195;;
+let _SYSZ_INS_JL = 196;;
+let _SYSZ_INS_JGL = 197;;
+let _SYSZ_INS_LOCL = 198;;
+let _SYSZ_INS_LOCGL = 199;;
+let _SYSZ_INS_LOCGRL = 200;;
+let _SYSZ_INS_LOCRL = 201;;
+let _SYSZ_INS_LOC = 202;;
+let _SYSZ_INS_LOCG = 203;;
+let _SYSZ_INS_LOCGR = 204;;
+let _SYSZ_INS_LOCR = 205;;
+let _SYSZ_INS_STOCL = 206;;
+let _SYSZ_INS_STOCGL = 207;;
+let _SYSZ_INS_BNER = 208;;
+let _SYSZ_INS_JNE = 209;;
+let _SYSZ_INS_JGNE = 210;;
+let _SYSZ_INS_LOCNE = 211;;
+let _SYSZ_INS_LOCGNE = 212;;
+let _SYSZ_INS_LOCGRNE = 213;;
+let _SYSZ_INS_LOCRNE = 214;;
+let _SYSZ_INS_STOCNE = 215;;
+let _SYSZ_INS_STOCGNE = 216;;
+let _SYSZ_INS_BNHR = 217;;
+let _SYSZ_INS_BNHER = 218;;
+let _SYSZ_INS_JNHE = 219;;
+let _SYSZ_INS_JGNHE = 220;;
+let _SYSZ_INS_LOCNHE = 221;;
+let _SYSZ_INS_LOCGNHE = 222;;
+let _SYSZ_INS_LOCGRNHE = 223;;
+let _SYSZ_INS_LOCRNHE = 224;;
+let _SYSZ_INS_STOCNHE = 225;;
+let _SYSZ_INS_STOCGNHE = 226;;
+let _SYSZ_INS_JNH = 227;;
+let _SYSZ_INS_JGNH = 228;;
+let _SYSZ_INS_LOCNH = 229;;
+let _SYSZ_INS_LOCGNH = 230;;
+let _SYSZ_INS_LOCGRNH = 231;;
+let _SYSZ_INS_LOCRNH = 232;;
+let _SYSZ_INS_STOCNH = 233;;
+let _SYSZ_INS_STOCGNH = 234;;
+let _SYSZ_INS_BNLR = 235;;
+let _SYSZ_INS_BNLER = 236;;
+let _SYSZ_INS_JNLE = 237;;
+let _SYSZ_INS_JGNLE = 238;;
+let _SYSZ_INS_LOCNLE = 239;;
+let _SYSZ_INS_LOCGNLE = 240;;
+let _SYSZ_INS_LOCGRNLE = 241;;
+let _SYSZ_INS_LOCRNLE = 242;;
+let _SYSZ_INS_STOCNLE = 243;;
+let _SYSZ_INS_STOCGNLE = 244;;
+let _SYSZ_INS_BNLHR = 245;;
+let _SYSZ_INS_JNLH = 246;;
+let _SYSZ_INS_JGNLH = 247;;
+let _SYSZ_INS_LOCNLH = 248;;
+let _SYSZ_INS_LOCGNLH = 249;;
+let _SYSZ_INS_LOCGRNLH = 250;;
+let _SYSZ_INS_LOCRNLH = 251;;
+let _SYSZ_INS_STOCNLH = 252;;
+let _SYSZ_INS_STOCGNLH = 253;;
+let _SYSZ_INS_JNL = 254;;
+let _SYSZ_INS_JGNL = 255;;
+let _SYSZ_INS_LOCNL = 256;;
+let _SYSZ_INS_LOCGNL = 257;;
+let _SYSZ_INS_LOCGRNL = 258;;
+let _SYSZ_INS_LOCRNL = 259;;
+let _SYSZ_INS_STOCNL = 260;;
+let _SYSZ_INS_STOCGNL = 261;;
+let _SYSZ_INS_BNOR = 262;;
+let _SYSZ_INS_JNO = 263;;
+let _SYSZ_INS_JGNO = 264;;
+let _SYSZ_INS_LOCNO = 265;;
+let _SYSZ_INS_LOCGNO = 266;;
+let _SYSZ_INS_LOCGRNO = 267;;
+let _SYSZ_INS_LOCRNO = 268;;
+let _SYSZ_INS_STOCNO = 269;;
+let _SYSZ_INS_STOCGNO = 270;;
+let _SYSZ_INS_BOR = 271;;
+let _SYSZ_INS_JO = 272;;
+let _SYSZ_INS_JGO = 273;;
+let _SYSZ_INS_LOCO = 274;;
+let _SYSZ_INS_LOCGO = 275;;
+let _SYSZ_INS_LOCGRO = 276;;
+let _SYSZ_INS_LOCRO = 277;;
+let _SYSZ_INS_STOCO = 278;;
+let _SYSZ_INS_STOCGO = 279;;
+let _SYSZ_INS_STOC = 280;;
+let _SYSZ_INS_STOCG = 281;;
+let _SYSZ_INS_BASR = 282;;
+let _SYSZ_INS_BR = 283;;
+let _SYSZ_INS_BRAS = 284;;
+let _SYSZ_INS_BRASL = 285;;
+let _SYSZ_INS_J = 286;;
+let _SYSZ_INS_JG = 287;;
+let _SYSZ_INS_BRCT = 288;;
+let _SYSZ_INS_BRCTG = 289;;
+let _SYSZ_INS_C = 290;;
+let _SYSZ_INS_CDB = 291;;
+let _SYSZ_INS_CDBR = 292;;
+let _SYSZ_INS_CDFBR = 293;;
+let _SYSZ_INS_CDGBR = 294;;
+let _SYSZ_INS_CDLFBR = 295;;
+let _SYSZ_INS_CDLGBR = 296;;
+let _SYSZ_INS_CEB = 297;;
+let _SYSZ_INS_CEBR = 298;;
+let _SYSZ_INS_CEFBR = 299;;
+let _SYSZ_INS_CEGBR = 300;;
+let _SYSZ_INS_CELFBR = 301;;
+let _SYSZ_INS_CELGBR = 302;;
+let _SYSZ_INS_CFDBR = 303;;
+let _SYSZ_INS_CFEBR = 304;;
+let _SYSZ_INS_CFI = 305;;
+let _SYSZ_INS_CFXBR = 306;;
+let _SYSZ_INS_CG = 307;;
+let _SYSZ_INS_CGDBR = 308;;
+let _SYSZ_INS_CGEBR = 309;;
+let _SYSZ_INS_CGF = 310;;
+let _SYSZ_INS_CGFI = 311;;
+let _SYSZ_INS_CGFR = 312;;
+let _SYSZ_INS_CGFRL = 313;;
+let _SYSZ_INS_CGH = 314;;
+let _SYSZ_INS_CGHI = 315;;
+let _SYSZ_INS_CGHRL = 316;;
+let _SYSZ_INS_CGHSI = 317;;
+let _SYSZ_INS_CGR = 318;;
+let _SYSZ_INS_CGRL = 319;;
+let _SYSZ_INS_CGXBR = 320;;
+let _SYSZ_INS_CH = 321;;
+let _SYSZ_INS_CHF = 322;;
+let _SYSZ_INS_CHHSI = 323;;
+let _SYSZ_INS_CHI = 324;;
+let _SYSZ_INS_CHRL = 325;;
+let _SYSZ_INS_CHSI = 326;;
+let _SYSZ_INS_CHY = 327;;
+let _SYSZ_INS_CIH = 328;;
+let _SYSZ_INS_CL = 329;;
+let _SYSZ_INS_CLC = 330;;
+let _SYSZ_INS_CLFDBR = 331;;
+let _SYSZ_INS_CLFEBR = 332;;
+let _SYSZ_INS_CLFHSI = 333;;
+let _SYSZ_INS_CLFI = 334;;
+let _SYSZ_INS_CLFXBR = 335;;
+let _SYSZ_INS_CLG = 336;;
+let _SYSZ_INS_CLGDBR = 337;;
+let _SYSZ_INS_CLGEBR = 338;;
+let _SYSZ_INS_CLGF = 339;;
+let _SYSZ_INS_CLGFI = 340;;
+let _SYSZ_INS_CLGFR = 341;;
+let _SYSZ_INS_CLGFRL = 342;;
+let _SYSZ_INS_CLGHRL = 343;;
+let _SYSZ_INS_CLGHSI = 344;;
+let _SYSZ_INS_CLGR = 345;;
+let _SYSZ_INS_CLGRL = 346;;
+let _SYSZ_INS_CLGXBR = 347;;
+let _SYSZ_INS_CLHF = 348;;
+let _SYSZ_INS_CLHHSI = 349;;
+let _SYSZ_INS_CLHRL = 350;;
+let _SYSZ_INS_CLI = 351;;
+let _SYSZ_INS_CLIH = 352;;
+let _SYSZ_INS_CLIY = 353;;
+let _SYSZ_INS_CLR = 354;;
+let _SYSZ_INS_CLRL = 355;;
+let _SYSZ_INS_CLST = 356;;
+let _SYSZ_INS_CLY = 357;;
+let _SYSZ_INS_CPSDR = 358;;
+let _SYSZ_INS_CR = 359;;
+let _SYSZ_INS_CRL = 360;;
+let _SYSZ_INS_CS = 361;;
+let _SYSZ_INS_CSG = 362;;
+let _SYSZ_INS_CSY = 363;;
+let _SYSZ_INS_CXBR = 364;;
+let _SYSZ_INS_CXFBR = 365;;
+let _SYSZ_INS_CXGBR = 366;;
+let _SYSZ_INS_CXLFBR = 367;;
+let _SYSZ_INS_CXLGBR = 368;;
+let _SYSZ_INS_CY = 369;;
+let _SYSZ_INS_DDB = 370;;
+let _SYSZ_INS_DDBR = 371;;
+let _SYSZ_INS_DEB = 372;;
+let _SYSZ_INS_DEBR = 373;;
+let _SYSZ_INS_DL = 374;;
+let _SYSZ_INS_DLG = 375;;
+let _SYSZ_INS_DLGR = 376;;
+let _SYSZ_INS_DLR = 377;;
+let _SYSZ_INS_DSG = 378;;
+let _SYSZ_INS_DSGF = 379;;
+let _SYSZ_INS_DSGFR = 380;;
+let _SYSZ_INS_DSGR = 381;;
+let _SYSZ_INS_DXBR = 382;;
+let _SYSZ_INS_EAR = 383;;
+let _SYSZ_INS_FIDBR = 384;;
+let _SYSZ_INS_FIDBRA = 385;;
+let _SYSZ_INS_FIEBR = 386;;
+let _SYSZ_INS_FIEBRA = 387;;
+let _SYSZ_INS_FIXBR = 388;;
+let _SYSZ_INS_FIXBRA = 389;;
+let _SYSZ_INS_FLOGR = 390;;
+let _SYSZ_INS_IC = 391;;
+let _SYSZ_INS_ICY = 392;;
+let _SYSZ_INS_IIHF = 393;;
+let _SYSZ_INS_IIHH = 394;;
+let _SYSZ_INS_IIHL = 395;;
+let _SYSZ_INS_IILF = 396;;
+let _SYSZ_INS_IILH = 397;;
+let _SYSZ_INS_IILL = 398;;
+let _SYSZ_INS_IPM = 399;;
+let _SYSZ_INS_L = 400;;
+let _SYSZ_INS_LA = 401;;
+let _SYSZ_INS_LAA = 402;;
+let _SYSZ_INS_LAAG = 403;;
+let _SYSZ_INS_LAAL = 404;;
+let _SYSZ_INS_LAALG = 405;;
+let _SYSZ_INS_LAN = 406;;
+let _SYSZ_INS_LANG = 407;;
+let _SYSZ_INS_LAO = 408;;
+let _SYSZ_INS_LAOG = 409;;
+let _SYSZ_INS_LARL = 410;;
+let _SYSZ_INS_LAX = 411;;
+let _SYSZ_INS_LAXG = 412;;
+let _SYSZ_INS_LAY = 413;;
+let _SYSZ_INS_LB = 414;;
+let _SYSZ_INS_LBH = 415;;
+let _SYSZ_INS_LBR = 416;;
+let _SYSZ_INS_LCDBR = 417;;
+let _SYSZ_INS_LCEBR = 418;;
+let _SYSZ_INS_LCGFR = 419;;
+let _SYSZ_INS_LCGR = 420;;
+let _SYSZ_INS_LCR = 421;;
+let _SYSZ_INS_LCXBR = 422;;
+let _SYSZ_INS_LD = 423;;
+let _SYSZ_INS_LDEB = 424;;
+let _SYSZ_INS_LDEBR = 425;;
+let _SYSZ_INS_LDGR = 426;;
+let _SYSZ_INS_LDR = 427;;
+let _SYSZ_INS_LDXBR = 428;;
+let _SYSZ_INS_LDXBRA = 429;;
+let _SYSZ_INS_LDY = 430;;
+let _SYSZ_INS_LE = 431;;
+let _SYSZ_INS_LEDBR = 432;;
+let _SYSZ_INS_LEDBRA = 433;;
+let _SYSZ_INS_LER = 434;;
+let _SYSZ_INS_LEXBR = 435;;
+let _SYSZ_INS_LEXBRA = 436;;
+let _SYSZ_INS_LEY = 437;;
+let _SYSZ_INS_LFH = 438;;
+let _SYSZ_INS_LG = 439;;
+let _SYSZ_INS_LGB = 440;;
+let _SYSZ_INS_LGBR = 441;;
+let _SYSZ_INS_LGDR = 442;;
+let _SYSZ_INS_LGF = 443;;
+let _SYSZ_INS_LGFI = 444;;
+let _SYSZ_INS_LGFR = 445;;
+let _SYSZ_INS_LGFRL = 446;;
+let _SYSZ_INS_LGH = 447;;
+let _SYSZ_INS_LGHI = 448;;
+let _SYSZ_INS_LGHR = 449;;
+let _SYSZ_INS_LGHRL = 450;;
+let _SYSZ_INS_LGR = 451;;
+let _SYSZ_INS_LGRL = 452;;
+let _SYSZ_INS_LH = 453;;
+let _SYSZ_INS_LHH = 454;;
+let _SYSZ_INS_LHI = 455;;
+let _SYSZ_INS_LHR = 456;;
+let _SYSZ_INS_LHRL = 457;;
+let _SYSZ_INS_LHY = 458;;
+let _SYSZ_INS_LLC = 459;;
+let _SYSZ_INS_LLCH = 460;;
+let _SYSZ_INS_LLCR = 461;;
+let _SYSZ_INS_LLGC = 462;;
+let _SYSZ_INS_LLGCR = 463;;
+let _SYSZ_INS_LLGF = 464;;
+let _SYSZ_INS_LLGFR = 465;;
+let _SYSZ_INS_LLGFRL = 466;;
+let _SYSZ_INS_LLGH = 467;;
+let _SYSZ_INS_LLGHR = 468;;
+let _SYSZ_INS_LLGHRL = 469;;
+let _SYSZ_INS_LLH = 470;;
+let _SYSZ_INS_LLHH = 471;;
+let _SYSZ_INS_LLHR = 472;;
+let _SYSZ_INS_LLHRL = 473;;
+let _SYSZ_INS_LLIHF = 474;;
+let _SYSZ_INS_LLIHH = 475;;
+let _SYSZ_INS_LLIHL = 476;;
+let _SYSZ_INS_LLILF = 477;;
+let _SYSZ_INS_LLILH = 478;;
+let _SYSZ_INS_LLILL = 479;;
+let _SYSZ_INS_LMG = 480;;
+let _SYSZ_INS_LNDBR = 481;;
+let _SYSZ_INS_LNEBR = 482;;
+let _SYSZ_INS_LNGFR = 483;;
+let _SYSZ_INS_LNGR = 484;;
+let _SYSZ_INS_LNR = 485;;
+let _SYSZ_INS_LNXBR = 486;;
+let _SYSZ_INS_LPDBR = 487;;
+let _SYSZ_INS_LPEBR = 488;;
+let _SYSZ_INS_LPGFR = 489;;
+let _SYSZ_INS_LPGR = 490;;
+let _SYSZ_INS_LPR = 491;;
+let _SYSZ_INS_LPXBR = 492;;
+let _SYSZ_INS_LR = 493;;
+let _SYSZ_INS_LRL = 494;;
+let _SYSZ_INS_LRV = 495;;
+let _SYSZ_INS_LRVG = 496;;
+let _SYSZ_INS_LRVGR = 497;;
+let _SYSZ_INS_LRVR = 498;;
+let _SYSZ_INS_LT = 499;;
+let _SYSZ_INS_LTDBR = 500;;
+let _SYSZ_INS_LTEBR = 501;;
+let _SYSZ_INS_LTG = 502;;
+let _SYSZ_INS_LTGF = 503;;
+let _SYSZ_INS_LTGFR = 504;;
+let _SYSZ_INS_LTGR = 505;;
+let _SYSZ_INS_LTR = 506;;
+let _SYSZ_INS_LTXBR = 507;;
+let _SYSZ_INS_LXDB = 508;;
+let _SYSZ_INS_LXDBR = 509;;
+let _SYSZ_INS_LXEB = 510;;
+let _SYSZ_INS_LXEBR = 511;;
+let _SYSZ_INS_LXR = 512;;
+let _SYSZ_INS_LY = 513;;
+let _SYSZ_INS_LZDR = 514;;
+let _SYSZ_INS_LZER = 515;;
+let _SYSZ_INS_LZXR = 516;;
+let _SYSZ_INS_MADB = 517;;
+let _SYSZ_INS_MADBR = 518;;
+let _SYSZ_INS_MAEB = 519;;
+let _SYSZ_INS_MAEBR = 520;;
+let _SYSZ_INS_MDB = 521;;
+let _SYSZ_INS_MDBR = 522;;
+let _SYSZ_INS_MDEB = 523;;
+let _SYSZ_INS_MDEBR = 524;;
+let _SYSZ_INS_MEEB = 525;;
+let _SYSZ_INS_MEEBR = 526;;
+let _SYSZ_INS_MGHI = 527;;
+let _SYSZ_INS_MH = 528;;
+let _SYSZ_INS_MHI = 529;;
+let _SYSZ_INS_MHY = 530;;
+let _SYSZ_INS_MLG = 531;;
+let _SYSZ_INS_MLGR = 532;;
+let _SYSZ_INS_MS = 533;;
+let _SYSZ_INS_MSDB = 534;;
+let _SYSZ_INS_MSDBR = 535;;
+let _SYSZ_INS_MSEB = 536;;
+let _SYSZ_INS_MSEBR = 537;;
+let _SYSZ_INS_MSFI = 538;;
+let _SYSZ_INS_MSG = 539;;
+let _SYSZ_INS_MSGF = 540;;
+let _SYSZ_INS_MSGFI = 541;;
+let _SYSZ_INS_MSGFR = 542;;
+let _SYSZ_INS_MSGR = 543;;
+let _SYSZ_INS_MSR = 544;;
+let _SYSZ_INS_MSY = 545;;
+let _SYSZ_INS_MVC = 546;;
+let _SYSZ_INS_MVGHI = 547;;
+let _SYSZ_INS_MVHHI = 548;;
+let _SYSZ_INS_MVHI = 549;;
+let _SYSZ_INS_MVI = 550;;
+let _SYSZ_INS_MVIY = 551;;
+let _SYSZ_INS_MVST = 552;;
+let _SYSZ_INS_MXBR = 553;;
+let _SYSZ_INS_MXDB = 554;;
+let _SYSZ_INS_MXDBR = 555;;
+let _SYSZ_INS_N = 556;;
+let _SYSZ_INS_NC = 557;;
+let _SYSZ_INS_NG = 558;;
+let _SYSZ_INS_NGR = 559;;
+let _SYSZ_INS_NGRK = 560;;
+let _SYSZ_INS_NI = 561;;
+let _SYSZ_INS_NIHF = 562;;
+let _SYSZ_INS_NIHH = 563;;
+let _SYSZ_INS_NIHL = 564;;
+let _SYSZ_INS_NILF = 565;;
+let _SYSZ_INS_NILH = 566;;
+let _SYSZ_INS_NILL = 567;;
+let _SYSZ_INS_NIY = 568;;
+let _SYSZ_INS_NR = 569;;
+let _SYSZ_INS_NRK = 570;;
+let _SYSZ_INS_NY = 571;;
+let _SYSZ_INS_O = 572;;
+let _SYSZ_INS_OC = 573;;
+let _SYSZ_INS_OG = 574;;
+let _SYSZ_INS_OGR = 575;;
+let _SYSZ_INS_OGRK = 576;;
+let _SYSZ_INS_OI = 577;;
+let _SYSZ_INS_OIHF = 578;;
+let _SYSZ_INS_OIHH = 579;;
+let _SYSZ_INS_OIHL = 580;;
+let _SYSZ_INS_OILF = 581;;
+let _SYSZ_INS_OILH = 582;;
+let _SYSZ_INS_OILL = 583;;
+let _SYSZ_INS_OIY = 584;;
+let _SYSZ_INS_OR = 585;;
+let _SYSZ_INS_ORK = 586;;
+let _SYSZ_INS_OY = 587;;
+let _SYSZ_INS_PFD = 588;;
+let _SYSZ_INS_PFDRL = 589;;
+let _SYSZ_INS_RISBG = 590;;
+let _SYSZ_INS_RISBHG = 591;;
+let _SYSZ_INS_RISBLG = 592;;
+let _SYSZ_INS_RLL = 593;;
+let _SYSZ_INS_RLLG = 594;;
+let _SYSZ_INS_RNSBG = 595;;
+let _SYSZ_INS_ROSBG = 596;;
+let _SYSZ_INS_RXSBG = 597;;
+let _SYSZ_INS_S = 598;;
+let _SYSZ_INS_SDB = 599;;
+let _SYSZ_INS_SDBR = 600;;
+let _SYSZ_INS_SEB = 601;;
+let _SYSZ_INS_SEBR = 602;;
+let _SYSZ_INS_SG = 603;;
+let _SYSZ_INS_SGF = 604;;
+let _SYSZ_INS_SGFR = 605;;
+let _SYSZ_INS_SGR = 606;;
+let _SYSZ_INS_SGRK = 607;;
+let _SYSZ_INS_SH = 608;;
+let _SYSZ_INS_SHY = 609;;
+let _SYSZ_INS_SL = 610;;
+let _SYSZ_INS_SLB = 611;;
+let _SYSZ_INS_SLBG = 612;;
+let _SYSZ_INS_SLBR = 613;;
+let _SYSZ_INS_SLFI = 614;;
+let _SYSZ_INS_SLG = 615;;
+let _SYSZ_INS_SLBGR = 616;;
+let _SYSZ_INS_SLGF = 617;;
+let _SYSZ_INS_SLGFI = 618;;
+let _SYSZ_INS_SLGFR = 619;;
+let _SYSZ_INS_SLGR = 620;;
+let _SYSZ_INS_SLGRK = 621;;
+let _SYSZ_INS_SLL = 622;;
+let _SYSZ_INS_SLLG = 623;;
+let _SYSZ_INS_SLLK = 624;;
+let _SYSZ_INS_SLR = 625;;
+let _SYSZ_INS_SLRK = 626;;
+let _SYSZ_INS_SLY = 627;;
+let _SYSZ_INS_SQDB = 628;;
+let _SYSZ_INS_SQDBR = 629;;
+let _SYSZ_INS_SQEB = 630;;
+let _SYSZ_INS_SQEBR = 631;;
+let _SYSZ_INS_SQXBR = 632;;
+let _SYSZ_INS_SR = 633;;
+let _SYSZ_INS_SRA = 634;;
+let _SYSZ_INS_SRAG = 635;;
+let _SYSZ_INS_SRAK = 636;;
+let _SYSZ_INS_SRK = 637;;
+let _SYSZ_INS_SRL = 638;;
+let _SYSZ_INS_SRLG = 639;;
+let _SYSZ_INS_SRLK = 640;;
+let _SYSZ_INS_SRST = 641;;
+let _SYSZ_INS_ST = 642;;
+let _SYSZ_INS_STC = 643;;
+let _SYSZ_INS_STCH = 644;;
+let _SYSZ_INS_STCY = 645;;
+let _SYSZ_INS_STD = 646;;
+let _SYSZ_INS_STDY = 647;;
+let _SYSZ_INS_STE = 648;;
+let _SYSZ_INS_STEY = 649;;
+let _SYSZ_INS_STFH = 650;;
+let _SYSZ_INS_STG = 651;;
+let _SYSZ_INS_STGRL = 652;;
+let _SYSZ_INS_STH = 653;;
+let _SYSZ_INS_STHH = 654;;
+let _SYSZ_INS_STHRL = 655;;
+let _SYSZ_INS_STHY = 656;;
+let _SYSZ_INS_STMG = 657;;
+let _SYSZ_INS_STRL = 658;;
+let _SYSZ_INS_STRV = 659;;
+let _SYSZ_INS_STRVG = 660;;
+let _SYSZ_INS_STY = 661;;
+let _SYSZ_INS_SXBR = 662;;
+let _SYSZ_INS_SY = 663;;
+let _SYSZ_INS_TM = 664;;
+let _SYSZ_INS_TMHH = 665;;
+let _SYSZ_INS_TMHL = 666;;
+let _SYSZ_INS_TMLH = 667;;
+let _SYSZ_INS_TMLL = 668;;
+let _SYSZ_INS_TMY = 669;;
+let _SYSZ_INS_X = 670;;
+let _SYSZ_INS_XC = 671;;
+let _SYSZ_INS_XG = 672;;
+let _SYSZ_INS_XGR = 673;;
+let _SYSZ_INS_XGRK = 674;;
+let _SYSZ_INS_XI = 675;;
+let _SYSZ_INS_XIHF = 676;;
+let _SYSZ_INS_XILF = 677;;
+let _SYSZ_INS_XIY = 678;;
+let _SYSZ_INS_XR = 679;;
+let _SYSZ_INS_XRK = 680;;
+let _SYSZ_INS_XY = 681;;
+let _SYSZ_INS_AD = 682;;
+let _SYSZ_INS_ADR = 683;;
+let _SYSZ_INS_ADTR = 684;;
+let _SYSZ_INS_ADTRA = 685;;
+let _SYSZ_INS_AE = 686;;
+let _SYSZ_INS_AER = 687;;
+let _SYSZ_INS_AGH = 688;;
+let _SYSZ_INS_AHHHR = 689;;
+let _SYSZ_INS_AHHLR = 690;;
+let _SYSZ_INS_ALGSI = 691;;
+let _SYSZ_INS_ALHHHR = 692;;
+let _SYSZ_INS_ALHHLR = 693;;
+let _SYSZ_INS_ALSI = 694;;
+let _SYSZ_INS_ALSIH = 695;;
+let _SYSZ_INS_ALSIHN = 696;;
+let _SYSZ_INS_AP = 697;;
+let _SYSZ_INS_AU = 698;;
+let _SYSZ_INS_AUR = 699;;
+let _SYSZ_INS_AW = 700;;
+let _SYSZ_INS_AWR = 701;;
+let _SYSZ_INS_AXR = 702;;
+let _SYSZ_INS_AXTR = 703;;
+let _SYSZ_INS_AXTRA = 704;;
+let _SYSZ_INS_B = 705;;
+let _SYSZ_INS_BAKR = 706;;
+let _SYSZ_INS_BAL = 707;;
+let _SYSZ_INS_BALR = 708;;
+let _SYSZ_INS_BAS = 709;;
+let _SYSZ_INS_BASSM = 710;;
+let _SYSZ_INS_BC = 711;;
+let _SYSZ_INS_BCT = 712;;
+let _SYSZ_INS_BCTG = 713;;
+let _SYSZ_INS_BCTGR = 714;;
+let _SYSZ_INS_BCTR = 715;;
+let _SYSZ_INS_BE = 716;;
+let _SYSZ_INS_BH = 717;;
+let _SYSZ_INS_BHE = 718;;
+let _SYSZ_INS_BI = 719;;
+let _SYSZ_INS_BIC = 720;;
+let _SYSZ_INS_BIE = 721;;
+let _SYSZ_INS_BIH = 722;;
+let _SYSZ_INS_BIHE = 723;;
+let _SYSZ_INS_BIL = 724;;
+let _SYSZ_INS_BILE = 725;;
+let _SYSZ_INS_BILH = 726;;
+let _SYSZ_INS_BIM = 727;;
+let _SYSZ_INS_BINE = 728;;
+let _SYSZ_INS_BINH = 729;;
+let _SYSZ_INS_BINHE = 730;;
+let _SYSZ_INS_BINL = 731;;
+let _SYSZ_INS_BINLE = 732;;
+let _SYSZ_INS_BINLH = 733;;
+let _SYSZ_INS_BINM = 734;;
+let _SYSZ_INS_BINO = 735;;
+let _SYSZ_INS_BINP = 736;;
+let _SYSZ_INS_BINZ = 737;;
+let _SYSZ_INS_BIO = 738;;
+let _SYSZ_INS_BIP = 739;;
+let _SYSZ_INS_BIZ = 740;;
+let _SYSZ_INS_BL = 741;;
+let _SYSZ_INS_BLE = 742;;
+let _SYSZ_INS_BLH = 743;;
+let _SYSZ_INS_BM = 744;;
+let _SYSZ_INS_BMR = 745;;
+let _SYSZ_INS_BNE = 746;;
+let _SYSZ_INS_BNH = 747;;
+let _SYSZ_INS_BNHE = 748;;
+let _SYSZ_INS_BNL = 749;;
+let _SYSZ_INS_BNLE = 750;;
+let _SYSZ_INS_BNLH = 751;;
+let _SYSZ_INS_BNM = 752;;
+let _SYSZ_INS_BNMR = 753;;
+let _SYSZ_INS_BNO = 754;;
+let _SYSZ_INS_BNP = 755;;
+let _SYSZ_INS_BNPR = 756;;
+let _SYSZ_INS_BNZ = 757;;
+let _SYSZ_INS_BNZR = 758;;
+let _SYSZ_INS_BO = 759;;
+let _SYSZ_INS_BP = 760;;
+let _SYSZ_INS_BPP = 761;;
+let _SYSZ_INS_BPR = 762;;
+let _SYSZ_INS_BPRP = 763;;
+let _SYSZ_INS_BRCTH = 764;;
+let _SYSZ_INS_BRXH = 765;;
+let _SYSZ_INS_BRXHG = 766;;
+let _SYSZ_INS_BRXLE = 767;;
+let _SYSZ_INS_BRXLG = 768;;
+let _SYSZ_INS_BSA = 769;;
+let _SYSZ_INS_BSG = 770;;
+let _SYSZ_INS_BSM = 771;;
+let _SYSZ_INS_BXH = 772;;
+let _SYSZ_INS_BXHG = 773;;
+let _SYSZ_INS_BXLE = 774;;
+let _SYSZ_INS_BXLEG = 775;;
+let _SYSZ_INS_BZ = 776;;
+let _SYSZ_INS_BZR = 777;;
+let _SYSZ_INS_CD = 778;;
+let _SYSZ_INS_CDFBRA = 779;;
+let _SYSZ_INS_CDFR = 780;;
+let _SYSZ_INS_CDFTR = 781;;
+let _SYSZ_INS_CDGBRA = 782;;
+let _SYSZ_INS_CDGR = 783;;
+let _SYSZ_INS_CDGTR = 784;;
+let _SYSZ_INS_CDGTRA = 785;;
+let _SYSZ_INS_CDLFTR = 786;;
+let _SYSZ_INS_CDLGTR = 787;;
+let _SYSZ_INS_CDPT = 788;;
+let _SYSZ_INS_CDR = 789;;
+let _SYSZ_INS_CDS = 790;;
+let _SYSZ_INS_CDSG = 791;;
+let _SYSZ_INS_CDSTR = 792;;
+let _SYSZ_INS_CDSY = 793;;
+let _SYSZ_INS_CDTR = 794;;
+let _SYSZ_INS_CDUTR = 795;;
+let _SYSZ_INS_CDZT = 796;;
+let _SYSZ_INS_CE = 797;;
+let _SYSZ_INS_CEDTR = 798;;
+let _SYSZ_INS_CEFBRA = 799;;
+let _SYSZ_INS_CEFR = 800;;
+let _SYSZ_INS_CEGBRA = 801;;
+let _SYSZ_INS_CEGR = 802;;
+let _SYSZ_INS_CER = 803;;
+let _SYSZ_INS_CEXTR = 804;;
+let _SYSZ_INS_CFC = 805;;
+let _SYSZ_INS_CFDBRA = 806;;
+let _SYSZ_INS_CFDR = 807;;
+let _SYSZ_INS_CFDTR = 808;;
+let _SYSZ_INS_CFEBRA = 809;;
+let _SYSZ_INS_CFER = 810;;
+let _SYSZ_INS_CFXBRA = 811;;
+let _SYSZ_INS_CFXR = 812;;
+let _SYSZ_INS_CFXTR = 813;;
+let _SYSZ_INS_CGDBRA = 814;;
+let _SYSZ_INS_CGDR = 815;;
+let _SYSZ_INS_CGDTR = 816;;
+let _SYSZ_INS_CGDTRA = 817;;
+let _SYSZ_INS_CGEBRA = 818;;
+let _SYSZ_INS_CGER = 819;;
+let _SYSZ_INS_CGIB = 820;;
+let _SYSZ_INS_CGIBE = 821;;
+let _SYSZ_INS_CGIBH = 822;;
+let _SYSZ_INS_CGIBHE = 823;;
+let _SYSZ_INS_CGIBL = 824;;
+let _SYSZ_INS_CGIBLE = 825;;
+let _SYSZ_INS_CGIBLH = 826;;
+let _SYSZ_INS_CGIBNE = 827;;
+let _SYSZ_INS_CGIBNH = 828;;
+let _SYSZ_INS_CGIBNHE = 829;;
+let _SYSZ_INS_CGIBNL = 830;;
+let _SYSZ_INS_CGIBNLE = 831;;
+let _SYSZ_INS_CGIBNLH = 832;;
+let _SYSZ_INS_CGIT = 833;;
+let _SYSZ_INS_CGITE = 834;;
+let _SYSZ_INS_CGITH = 835;;
+let _SYSZ_INS_CGITHE = 836;;
+let _SYSZ_INS_CGITL = 837;;
+let _SYSZ_INS_CGITLE = 838;;
+let _SYSZ_INS_CGITLH = 839;;
+let _SYSZ_INS_CGITNE = 840;;
+let _SYSZ_INS_CGITNH = 841;;
+let _SYSZ_INS_CGITNHE = 842;;
+let _SYSZ_INS_CGITNL = 843;;
+let _SYSZ_INS_CGITNLE = 844;;
+let _SYSZ_INS_CGITNLH = 845;;
+let _SYSZ_INS_CGRB = 846;;
+let _SYSZ_INS_CGRBE = 847;;
+let _SYSZ_INS_CGRBH = 848;;
+let _SYSZ_INS_CGRBHE = 849;;
+let _SYSZ_INS_CGRBL = 850;;
+let _SYSZ_INS_CGRBLE = 851;;
+let _SYSZ_INS_CGRBLH = 852;;
+let _SYSZ_INS_CGRBNE = 853;;
+let _SYSZ_INS_CGRBNH = 854;;
+let _SYSZ_INS_CGRBNHE = 855;;
+let _SYSZ_INS_CGRBNL = 856;;
+let _SYSZ_INS_CGRBNLE = 857;;
+let _SYSZ_INS_CGRBNLH = 858;;
+let _SYSZ_INS_CGRT = 859;;
+let _SYSZ_INS_CGRTE = 860;;
+let _SYSZ_INS_CGRTH = 861;;
+let _SYSZ_INS_CGRTHE = 862;;
+let _SYSZ_INS_CGRTL = 863;;
+let _SYSZ_INS_CGRTLE = 864;;
+let _SYSZ_INS_CGRTLH = 865;;
+let _SYSZ_INS_CGRTNE = 866;;
+let _SYSZ_INS_CGRTNH = 867;;
+let _SYSZ_INS_CGRTNHE = 868;;
+let _SYSZ_INS_CGRTNL = 869;;
+let _SYSZ_INS_CGRTNLE = 870;;
+let _SYSZ_INS_CGRTNLH = 871;;
+let _SYSZ_INS_CGXBRA = 872;;
+let _SYSZ_INS_CGXR = 873;;
+let _SYSZ_INS_CGXTR = 874;;
+let _SYSZ_INS_CGXTRA = 875;;
+let _SYSZ_INS_CHHR = 876;;
+let _SYSZ_INS_CHLR = 877;;
+let _SYSZ_INS_CIB = 878;;
+let _SYSZ_INS_CIBE = 879;;
+let _SYSZ_INS_CIBH = 880;;
+let _SYSZ_INS_CIBHE = 881;;
+let _SYSZ_INS_CIBL = 882;;
+let _SYSZ_INS_CIBLE = 883;;
+let _SYSZ_INS_CIBLH = 884;;
+let _SYSZ_INS_CIBNE = 885;;
+let _SYSZ_INS_CIBNH = 886;;
+let _SYSZ_INS_CIBNHE = 887;;
+let _SYSZ_INS_CIBNL = 888;;
+let _SYSZ_INS_CIBNLE = 889;;
+let _SYSZ_INS_CIBNLH = 890;;
+let _SYSZ_INS_CIT = 891;;
+let _SYSZ_INS_CITE = 892;;
+let _SYSZ_INS_CITH = 893;;
+let _SYSZ_INS_CITHE = 894;;
+let _SYSZ_INS_CITL = 895;;
+let _SYSZ_INS_CITLE = 896;;
+let _SYSZ_INS_CITLH = 897;;
+let _SYSZ_INS_CITNE = 898;;
+let _SYSZ_INS_CITNH = 899;;
+let _SYSZ_INS_CITNHE = 900;;
+let _SYSZ_INS_CITNL = 901;;
+let _SYSZ_INS_CITNLE = 902;;
+let _SYSZ_INS_CITNLH = 903;;
+let _SYSZ_INS_CKSM = 904;;
+let _SYSZ_INS_CLCL = 905;;
+let _SYSZ_INS_CLCLE = 906;;
+let _SYSZ_INS_CLCLU = 907;;
+let _SYSZ_INS_CLFDTR = 908;;
+let _SYSZ_INS_CLFIT = 909;;
+let _SYSZ_INS_CLFITE = 910;;
+let _SYSZ_INS_CLFITH = 911;;
+let _SYSZ_INS_CLFITHE = 912;;
+let _SYSZ_INS_CLFITL = 913;;
+let _SYSZ_INS_CLFITLE = 914;;
+let _SYSZ_INS_CLFITLH = 915;;
+let _SYSZ_INS_CLFITNE = 916;;
+let _SYSZ_INS_CLFITNH = 917;;
+let _SYSZ_INS_CLFITNHE = 918;;
+let _SYSZ_INS_CLFITNL = 919;;
+let _SYSZ_INS_CLFITNLE = 920;;
+let _SYSZ_INS_CLFITNLH = 921;;
+let _SYSZ_INS_CLFXTR = 922;;
+let _SYSZ_INS_CLGDTR = 923;;
+let _SYSZ_INS_CLGIB = 924;;
+let _SYSZ_INS_CLGIBE = 925;;
+let _SYSZ_INS_CLGIBH = 926;;
+let _SYSZ_INS_CLGIBHE = 927;;
+let _SYSZ_INS_CLGIBL = 928;;
+let _SYSZ_INS_CLGIBLE = 929;;
+let _SYSZ_INS_CLGIBLH = 930;;
+let _SYSZ_INS_CLGIBNE = 931;;
+let _SYSZ_INS_CLGIBNH = 932;;
+let _SYSZ_INS_CLGIBNHE = 933;;
+let _SYSZ_INS_CLGIBNL = 934;;
+let _SYSZ_INS_CLGIBNLE = 935;;
+let _SYSZ_INS_CLGIBNLH = 936;;
+let _SYSZ_INS_CLGIT = 937;;
+let _SYSZ_INS_CLGITE = 938;;
+let _SYSZ_INS_CLGITH = 939;;
+let _SYSZ_INS_CLGITHE = 940;;
+let _SYSZ_INS_CLGITL = 941;;
+let _SYSZ_INS_CLGITLE = 942;;
+let _SYSZ_INS_CLGITLH = 943;;
+let _SYSZ_INS_CLGITNE = 944;;
+let _SYSZ_INS_CLGITNH = 945;;
+let _SYSZ_INS_CLGITNHE = 946;;
+let _SYSZ_INS_CLGITNL = 947;;
+let _SYSZ_INS_CLGITNLE = 948;;
+let _SYSZ_INS_CLGITNLH = 949;;
+let _SYSZ_INS_CLGRB = 950;;
+let _SYSZ_INS_CLGRBE = 951;;
+let _SYSZ_INS_CLGRBH = 952;;
+let _SYSZ_INS_CLGRBHE = 953;;
+let _SYSZ_INS_CLGRBL = 954;;
+let _SYSZ_INS_CLGRBLE = 955;;
+let _SYSZ_INS_CLGRBLH = 956;;
+let _SYSZ_INS_CLGRBNE = 957;;
+let _SYSZ_INS_CLGRBNH = 958;;
+let _SYSZ_INS_CLGRBNHE = 959;;
+let _SYSZ_INS_CLGRBNL = 960;;
+let _SYSZ_INS_CLGRBNLE = 961;;
+let _SYSZ_INS_CLGRBNLH = 962;;
+let _SYSZ_INS_CLGRT = 963;;
+let _SYSZ_INS_CLGRTE = 964;;
+let _SYSZ_INS_CLGRTH = 965;;
+let _SYSZ_INS_CLGRTHE = 966;;
+let _SYSZ_INS_CLGRTL = 967;;
+let _SYSZ_INS_CLGRTLE = 968;;
+let _SYSZ_INS_CLGRTLH = 969;;
+let _SYSZ_INS_CLGRTNE = 970;;
+let _SYSZ_INS_CLGRTNH = 971;;
+let _SYSZ_INS_CLGRTNHE = 972;;
+let _SYSZ_INS_CLGRTNL = 973;;
+let _SYSZ_INS_CLGRTNLE = 974;;
+let _SYSZ_INS_CLGRTNLH = 975;;
+let _SYSZ_INS_CLGT = 976;;
+let _SYSZ_INS_CLGTE = 977;;
+let _SYSZ_INS_CLGTH = 978;;
+let _SYSZ_INS_CLGTHE = 979;;
+let _SYSZ_INS_CLGTL = 980;;
+let _SYSZ_INS_CLGTLE = 981;;
+let _SYSZ_INS_CLGTLH = 982;;
+let _SYSZ_INS_CLGTNE = 983;;
+let _SYSZ_INS_CLGTNH = 984;;
+let _SYSZ_INS_CLGTNHE = 985;;
+let _SYSZ_INS_CLGTNL = 986;;
+let _SYSZ_INS_CLGTNLE = 987;;
+let _SYSZ_INS_CLGTNLH = 988;;
+let _SYSZ_INS_CLGXTR = 989;;
+let _SYSZ_INS_CLHHR = 990;;
+let _SYSZ_INS_CLHLR = 991;;
+let _SYSZ_INS_CLIB = 992;;
+let _SYSZ_INS_CLIBE = 993;;
+let _SYSZ_INS_CLIBH = 994;;
+let _SYSZ_INS_CLIBHE = 995;;
+let _SYSZ_INS_CLIBL = 996;;
+let _SYSZ_INS_CLIBLE = 997;;
+let _SYSZ_INS_CLIBLH = 998;;
+let _SYSZ_INS_CLIBNE = 999;;
+let _SYSZ_INS_CLIBNH = 1000;;
+let _SYSZ_INS_CLIBNHE = 1001;;
+let _SYSZ_INS_CLIBNL = 1002;;
+let _SYSZ_INS_CLIBNLE = 1003;;
+let _SYSZ_INS_CLIBNLH = 1004;;
+let _SYSZ_INS_CLM = 1005;;
+let _SYSZ_INS_CLMH = 1006;;
+let _SYSZ_INS_CLMY = 1007;;
+let _SYSZ_INS_CLRB = 1008;;
+let _SYSZ_INS_CLRBE = 1009;;
+let _SYSZ_INS_CLRBH = 1010;;
+let _SYSZ_INS_CLRBHE = 1011;;
+let _SYSZ_INS_CLRBL = 1012;;
+let _SYSZ_INS_CLRBLE = 1013;;
+let _SYSZ_INS_CLRBLH = 1014;;
+let _SYSZ_INS_CLRBNE = 1015;;
+let _SYSZ_INS_CLRBNH = 1016;;
+let _SYSZ_INS_CLRBNHE = 1017;;
+let _SYSZ_INS_CLRBNL = 1018;;
+let _SYSZ_INS_CLRBNLE = 1019;;
+let _SYSZ_INS_CLRBNLH = 1020;;
+let _SYSZ_INS_CLRT = 1021;;
+let _SYSZ_INS_CLRTE = 1022;;
+let _SYSZ_INS_CLRTH = 1023;;
+let _SYSZ_INS_CLRTHE = 1024;;
+let _SYSZ_INS_CLRTL = 1025;;
+let _SYSZ_INS_CLRTLE = 1026;;
+let _SYSZ_INS_CLRTLH = 1027;;
+let _SYSZ_INS_CLRTNE = 1028;;
+let _SYSZ_INS_CLRTNH = 1029;;
+let _SYSZ_INS_CLRTNHE = 1030;;
+let _SYSZ_INS_CLRTNL = 1031;;
+let _SYSZ_INS_CLRTNLE = 1032;;
+let _SYSZ_INS_CLRTNLH = 1033;;
+let _SYSZ_INS_CLT = 1034;;
+let _SYSZ_INS_CLTE = 1035;;
+let _SYSZ_INS_CLTH = 1036;;
+let _SYSZ_INS_CLTHE = 1037;;
+let _SYSZ_INS_CLTL = 1038;;
+let _SYSZ_INS_CLTLE = 1039;;
+let _SYSZ_INS_CLTLH = 1040;;
+let _SYSZ_INS_CLTNE = 1041;;
+let _SYSZ_INS_CLTNH = 1042;;
+let _SYSZ_INS_CLTNHE = 1043;;
+let _SYSZ_INS_CLTNL = 1044;;
+let _SYSZ_INS_CLTNLE = 1045;;
+let _SYSZ_INS_CLTNLH = 1046;;
+let _SYSZ_INS_CMPSC = 1047;;
+let _SYSZ_INS_CP = 1048;;
+let _SYSZ_INS_CPDT = 1049;;
+let _SYSZ_INS_CPXT = 1050;;
+let _SYSZ_INS_CPYA = 1051;;
+let _SYSZ_INS_CRB = 1052;;
+let _SYSZ_INS_CRBE = 1053;;
+let _SYSZ_INS_CRBH = 1054;;
+let _SYSZ_INS_CRBHE = 1055;;
+let _SYSZ_INS_CRBL = 1056;;
+let _SYSZ_INS_CRBLE = 1057;;
+let _SYSZ_INS_CRBLH = 1058;;
+let _SYSZ_INS_CRBNE = 1059;;
+let _SYSZ_INS_CRBNH = 1060;;
+let _SYSZ_INS_CRBNHE = 1061;;
+let _SYSZ_INS_CRBNL = 1062;;
+let _SYSZ_INS_CRBNLE = 1063;;
+let _SYSZ_INS_CRBNLH = 1064;;
+let _SYSZ_INS_CRDTE = 1065;;
+let _SYSZ_INS_CRT = 1066;;
+let _SYSZ_INS_CRTE = 1067;;
+let _SYSZ_INS_CRTH = 1068;;
+let _SYSZ_INS_CRTHE = 1069;;
+let _SYSZ_INS_CRTL = 1070;;
+let _SYSZ_INS_CRTLE = 1071;;
+let _SYSZ_INS_CRTLH = 1072;;
+let _SYSZ_INS_CRTNE = 1073;;
+let _SYSZ_INS_CRTNH = 1074;;
+let _SYSZ_INS_CRTNHE = 1075;;
+let _SYSZ_INS_CRTNL = 1076;;
+let _SYSZ_INS_CRTNLE = 1077;;
+let _SYSZ_INS_CRTNLH = 1078;;
+let _SYSZ_INS_CSCH = 1079;;
+let _SYSZ_INS_CSDTR = 1080;;
+let _SYSZ_INS_CSP = 1081;;
+let _SYSZ_INS_CSPG = 1082;;
+let _SYSZ_INS_CSST = 1083;;
+let _SYSZ_INS_CSXTR = 1084;;
+let _SYSZ_INS_CU12 = 1085;;
+let _SYSZ_INS_CU14 = 1086;;
+let _SYSZ_INS_CU21 = 1087;;
+let _SYSZ_INS_CU24 = 1088;;
+let _SYSZ_INS_CU41 = 1089;;
+let _SYSZ_INS_CU42 = 1090;;
+let _SYSZ_INS_CUDTR = 1091;;
+let _SYSZ_INS_CUSE = 1092;;
+let _SYSZ_INS_CUTFU = 1093;;
+let _SYSZ_INS_CUUTF = 1094;;
+let _SYSZ_INS_CUXTR = 1095;;
+let _SYSZ_INS_CVB = 1096;;
+let _SYSZ_INS_CVBG = 1097;;
+let _SYSZ_INS_CVBY = 1098;;
+let _SYSZ_INS_CVD = 1099;;
+let _SYSZ_INS_CVDG = 1100;;
+let _SYSZ_INS_CVDY = 1101;;
+let _SYSZ_INS_CXFBRA = 1102;;
+let _SYSZ_INS_CXFR = 1103;;
+let _SYSZ_INS_CXFTR = 1104;;
+let _SYSZ_INS_CXGBRA = 1105;;
+let _SYSZ_INS_CXGR = 1106;;
+let _SYSZ_INS_CXGTR = 1107;;
+let _SYSZ_INS_CXGTRA = 1108;;
+let _SYSZ_INS_CXLFTR = 1109;;
+let _SYSZ_INS_CXLGTR = 1110;;
+let _SYSZ_INS_CXPT = 1111;;
+let _SYSZ_INS_CXR = 1112;;
+let _SYSZ_INS_CXSTR = 1113;;
+let _SYSZ_INS_CXTR = 1114;;
+let _SYSZ_INS_CXUTR = 1115;;
+let _SYSZ_INS_CXZT = 1116;;
+let _SYSZ_INS_CZDT = 1117;;
+let _SYSZ_INS_CZXT = 1118;;
+let _SYSZ_INS_D = 1119;;
+let _SYSZ_INS_DD = 1120;;
+let _SYSZ_INS_DDR = 1121;;
+let _SYSZ_INS_DDTR = 1122;;
+let _SYSZ_INS_DDTRA = 1123;;
+let _SYSZ_INS_DE = 1124;;
+let _SYSZ_INS_DER = 1125;;
+let _SYSZ_INS_DIAG = 1126;;
+let _SYSZ_INS_DIDBR = 1127;;
+let _SYSZ_INS_DIEBR = 1128;;
+let _SYSZ_INS_DP = 1129;;
+let _SYSZ_INS_DR = 1130;;
+let _SYSZ_INS_DXR = 1131;;
+let _SYSZ_INS_DXTR = 1132;;
+let _SYSZ_INS_DXTRA = 1133;;
+let _SYSZ_INS_ECAG = 1134;;
+let _SYSZ_INS_ECCTR = 1135;;
+let _SYSZ_INS_ECPGA = 1136;;
+let _SYSZ_INS_ECTG = 1137;;
+let _SYSZ_INS_ED = 1138;;
+let _SYSZ_INS_EDMK = 1139;;
+let _SYSZ_INS_EEDTR = 1140;;
+let _SYSZ_INS_EEXTR = 1141;;
+let _SYSZ_INS_EFPC = 1142;;
+let _SYSZ_INS_EPAIR = 1143;;
+let _SYSZ_INS_EPAR = 1144;;
+let _SYSZ_INS_EPCTR = 1145;;
+let _SYSZ_INS_EPSW = 1146;;
+let _SYSZ_INS_EREG = 1147;;
+let _SYSZ_INS_EREGG = 1148;;
+let _SYSZ_INS_ESAIR = 1149;;
+let _SYSZ_INS_ESAR = 1150;;
+let _SYSZ_INS_ESDTR = 1151;;
+let _SYSZ_INS_ESEA = 1152;;
+let _SYSZ_INS_ESTA = 1153;;
+let _SYSZ_INS_ESXTR = 1154;;
+let _SYSZ_INS_ETND = 1155;;
+let _SYSZ_INS_EX = 1156;;
+let _SYSZ_INS_EXRL = 1157;;
+let _SYSZ_INS_FIDR = 1158;;
+let _SYSZ_INS_FIDTR = 1159;;
+let _SYSZ_INS_FIER = 1160;;
+let _SYSZ_INS_FIXR = 1161;;
+let _SYSZ_INS_FIXTR = 1162;;
+let _SYSZ_INS_HDR = 1163;;
+let _SYSZ_INS_HER = 1164;;
+let _SYSZ_INS_HSCH = 1165;;
+let _SYSZ_INS_IAC = 1166;;
+let _SYSZ_INS_ICM = 1167;;
+let _SYSZ_INS_ICMH = 1168;;
+let _SYSZ_INS_ICMY = 1169;;
+let _SYSZ_INS_IDTE = 1170;;
+let _SYSZ_INS_IEDTR = 1171;;
+let _SYSZ_INS_IEXTR = 1172;;
+let _SYSZ_INS_IPK = 1173;;
+let _SYSZ_INS_IPTE = 1174;;
+let _SYSZ_INS_IRBM = 1175;;
+let _SYSZ_INS_ISKE = 1176;;
+let _SYSZ_INS_IVSK = 1177;;
+let _SYSZ_INS_JGM = 1178;;
+let _SYSZ_INS_JGNM = 1179;;
+let _SYSZ_INS_JGNP = 1180;;
+let _SYSZ_INS_JGNZ = 1181;;
+let _SYSZ_INS_JGP = 1182;;
+let _SYSZ_INS_JGZ = 1183;;
+let _SYSZ_INS_JM = 1184;;
+let _SYSZ_INS_JNM = 1185;;
+let _SYSZ_INS_JNP = 1186;;
+let _SYSZ_INS_JNZ = 1187;;
+let _SYSZ_INS_JP = 1188;;
+let _SYSZ_INS_JZ = 1189;;
+let _SYSZ_INS_KDB = 1190;;
+let _SYSZ_INS_KDBR = 1191;;
+let _SYSZ_INS_KDTR = 1192;;
+let _SYSZ_INS_KEB = 1193;;
+let _SYSZ_INS_KEBR = 1194;;
+let _SYSZ_INS_KIMD = 1195;;
+let _SYSZ_INS_KLMD = 1196;;
+let _SYSZ_INS_KM = 1197;;
+let _SYSZ_INS_KMA = 1198;;
+let _SYSZ_INS_KMAC = 1199;;
+let _SYSZ_INS_KMC = 1200;;
+let _SYSZ_INS_KMCTR = 1201;;
+let _SYSZ_INS_KMF = 1202;;
+let _SYSZ_INS_KMO = 1203;;
+let _SYSZ_INS_KXBR = 1204;;
+let _SYSZ_INS_KXTR = 1205;;
+let _SYSZ_INS_LAE = 1206;;
+let _SYSZ_INS_LAEY = 1207;;
+let _SYSZ_INS_LAM = 1208;;
+let _SYSZ_INS_LAMY = 1209;;
+let _SYSZ_INS_LASP = 1210;;
+let _SYSZ_INS_LAT = 1211;;
+let _SYSZ_INS_LCBB = 1212;;
+let _SYSZ_INS_LCCTL = 1213;;
+let _SYSZ_INS_LCDFR = 1214;;
+let _SYSZ_INS_LCDR = 1215;;
+let _SYSZ_INS_LCER = 1216;;
+let _SYSZ_INS_LCTL = 1217;;
+let _SYSZ_INS_LCTLG = 1218;;
+let _SYSZ_INS_LCXR = 1219;;
+let _SYSZ_INS_LDE = 1220;;
+let _SYSZ_INS_LDER = 1221;;
+let _SYSZ_INS_LDETR = 1222;;
+let _SYSZ_INS_LDXR = 1223;;
+let _SYSZ_INS_LDXTR = 1224;;
+let _SYSZ_INS_LEDR = 1225;;
+let _SYSZ_INS_LEDTR = 1226;;
+let _SYSZ_INS_LEXR = 1227;;
+let _SYSZ_INS_LFAS = 1228;;
+let _SYSZ_INS_LFHAT = 1229;;
+let _SYSZ_INS_LFPC = 1230;;
+let _SYSZ_INS_LGAT = 1231;;
+let _SYSZ_INS_LGG = 1232;;
+let _SYSZ_INS_LGSC = 1233;;
+let _SYSZ_INS_LLGFAT = 1234;;
+let _SYSZ_INS_LLGFSG = 1235;;
+let _SYSZ_INS_LLGT = 1236;;
+let _SYSZ_INS_LLGTAT = 1237;;
+let _SYSZ_INS_LLGTR = 1238;;
+let _SYSZ_INS_LLZRGF = 1239;;
+let _SYSZ_INS_LM = 1240;;
+let _SYSZ_INS_LMD = 1241;;
+let _SYSZ_INS_LMH = 1242;;
+let _SYSZ_INS_LMY = 1243;;
+let _SYSZ_INS_LNDFR = 1244;;
+let _SYSZ_INS_LNDR = 1245;;
+let _SYSZ_INS_LNER = 1246;;
+let _SYSZ_INS_LNXR = 1247;;
+let _SYSZ_INS_LOCFH = 1248;;
+let _SYSZ_INS_LOCFHE = 1249;;
+let _SYSZ_INS_LOCFHH = 1250;;
+let _SYSZ_INS_LOCFHHE = 1251;;
+let _SYSZ_INS_LOCFHL = 1252;;
+let _SYSZ_INS_LOCFHLE = 1253;;
+let _SYSZ_INS_LOCFHLH = 1254;;
+let _SYSZ_INS_LOCFHM = 1255;;
+let _SYSZ_INS_LOCFHNE = 1256;;
+let _SYSZ_INS_LOCFHNH = 1257;;
+let _SYSZ_INS_LOCFHNHE = 1258;;
+let _SYSZ_INS_LOCFHNL = 1259;;
+let _SYSZ_INS_LOCFHNLE = 1260;;
+let _SYSZ_INS_LOCFHNLH = 1261;;
+let _SYSZ_INS_LOCFHNM = 1262;;
+let _SYSZ_INS_LOCFHNO = 1263;;
+let _SYSZ_INS_LOCFHNP = 1264;;
+let _SYSZ_INS_LOCFHNZ = 1265;;
+let _SYSZ_INS_LOCFHO = 1266;;
+let _SYSZ_INS_LOCFHP = 1267;;
+let _SYSZ_INS_LOCFHR = 1268;;
+let _SYSZ_INS_LOCFHRE = 1269;;
+let _SYSZ_INS_LOCFHRH = 1270;;
+let _SYSZ_INS_LOCFHRHE = 1271;;
+let _SYSZ_INS_LOCFHRL = 1272;;
+let _SYSZ_INS_LOCFHRLE = 1273;;
+let _SYSZ_INS_LOCFHRLH = 1274;;
+let _SYSZ_INS_LOCFHRM = 1275;;
+let _SYSZ_INS_LOCFHRNE = 1276;;
+let _SYSZ_INS_LOCFHRNH = 1277;;
+let _SYSZ_INS_LOCFHRNHE = 1278;;
+let _SYSZ_INS_LOCFHRNL = 1279;;
+let _SYSZ_INS_LOCFHRNLE = 1280;;
+let _SYSZ_INS_LOCFHRNLH = 1281;;
+let _SYSZ_INS_LOCFHRNM = 1282;;
+let _SYSZ_INS_LOCFHRNO = 1283;;
+let _SYSZ_INS_LOCFHRNP = 1284;;
+let _SYSZ_INS_LOCFHRNZ = 1285;;
+let _SYSZ_INS_LOCFHRO = 1286;;
+let _SYSZ_INS_LOCFHRP = 1287;;
+let _SYSZ_INS_LOCFHRZ = 1288;;
+let _SYSZ_INS_LOCFHZ = 1289;;
+let _SYSZ_INS_LOCGHI = 1290;;
+let _SYSZ_INS_LOCGHIE = 1291;;
+let _SYSZ_INS_LOCGHIH = 1292;;
+let _SYSZ_INS_LOCGHIHE = 1293;;
+let _SYSZ_INS_LOCGHIL = 1294;;
+let _SYSZ_INS_LOCGHILE = 1295;;
+let _SYSZ_INS_LOCGHILH = 1296;;
+let _SYSZ_INS_LOCGHIM = 1297;;
+let _SYSZ_INS_LOCGHINE = 1298;;
+let _SYSZ_INS_LOCGHINH = 1299;;
+let _SYSZ_INS_LOCGHINHE = 1300;;
+let _SYSZ_INS_LOCGHINL = 1301;;
+let _SYSZ_INS_LOCGHINLE = 1302;;
+let _SYSZ_INS_LOCGHINLH = 1303;;
+let _SYSZ_INS_LOCGHINM = 1304;;
+let _SYSZ_INS_LOCGHINO = 1305;;
+let _SYSZ_INS_LOCGHINP = 1306;;
+let _SYSZ_INS_LOCGHINZ = 1307;;
+let _SYSZ_INS_LOCGHIO = 1308;;
+let _SYSZ_INS_LOCGHIP = 1309;;
+let _SYSZ_INS_LOCGHIZ = 1310;;
+let _SYSZ_INS_LOCGM = 1311;;
+let _SYSZ_INS_LOCGNM = 1312;;
+let _SYSZ_INS_LOCGNP = 1313;;
+let _SYSZ_INS_LOCGNZ = 1314;;
+let _SYSZ_INS_LOCGP = 1315;;
+let _SYSZ_INS_LOCGRM = 1316;;
+let _SYSZ_INS_LOCGRNM = 1317;;
+let _SYSZ_INS_LOCGRNP = 1318;;
+let _SYSZ_INS_LOCGRNZ = 1319;;
+let _SYSZ_INS_LOCGRP = 1320;;
+let _SYSZ_INS_LOCGRZ = 1321;;
+let _SYSZ_INS_LOCGZ = 1322;;
+let _SYSZ_INS_LOCHHI = 1323;;
+let _SYSZ_INS_LOCHHIE = 1324;;
+let _SYSZ_INS_LOCHHIH = 1325;;
+let _SYSZ_INS_LOCHHIHE = 1326;;
+let _SYSZ_INS_LOCHHIL = 1327;;
+let _SYSZ_INS_LOCHHILE = 1328;;
+let _SYSZ_INS_LOCHHILH = 1329;;
+let _SYSZ_INS_LOCHHIM = 1330;;
+let _SYSZ_INS_LOCHHINE = 1331;;
+let _SYSZ_INS_LOCHHINH = 1332;;
+let _SYSZ_INS_LOCHHINHE = 1333;;
+let _SYSZ_INS_LOCHHINL = 1334;;
+let _SYSZ_INS_LOCHHINLE = 1335;;
+let _SYSZ_INS_LOCHHINLH = 1336;;
+let _SYSZ_INS_LOCHHINM = 1337;;
+let _SYSZ_INS_LOCHHINO = 1338;;
+let _SYSZ_INS_LOCHHINP = 1339;;
+let _SYSZ_INS_LOCHHINZ = 1340;;
+let _SYSZ_INS_LOCHHIO = 1341;;
+let _SYSZ_INS_LOCHHIP = 1342;;
+let _SYSZ_INS_LOCHHIZ = 1343;;
+let _SYSZ_INS_LOCHI = 1344;;
+let _SYSZ_INS_LOCHIE = 1345;;
+let _SYSZ_INS_LOCHIH = 1346;;
+let _SYSZ_INS_LOCHIHE = 1347;;
+let _SYSZ_INS_LOCHIL = 1348;;
+let _SYSZ_INS_LOCHILE = 1349;;
+let _SYSZ_INS_LOCHILH = 1350;;
+let _SYSZ_INS_LOCHIM = 1351;;
+let _SYSZ_INS_LOCHINE = 1352;;
+let _SYSZ_INS_LOCHINH = 1353;;
+let _SYSZ_INS_LOCHINHE = 1354;;
+let _SYSZ_INS_LOCHINL = 1355;;
+let _SYSZ_INS_LOCHINLE = 1356;;
+let _SYSZ_INS_LOCHINLH = 1357;;
+let _SYSZ_INS_LOCHINM = 1358;;
+let _SYSZ_INS_LOCHINO = 1359;;
+let _SYSZ_INS_LOCHINP = 1360;;
+let _SYSZ_INS_LOCHINZ = 1361;;
+let _SYSZ_INS_LOCHIO = 1362;;
+let _SYSZ_INS_LOCHIP = 1363;;
+let _SYSZ_INS_LOCHIZ = 1364;;
+let _SYSZ_INS_LOCM = 1365;;
+let _SYSZ_INS_LOCNM = 1366;;
+let _SYSZ_INS_LOCNP = 1367;;
+let _SYSZ_INS_LOCNZ = 1368;;
+let _SYSZ_INS_LOCP = 1369;;
+let _SYSZ_INS_LOCRM = 1370;;
+let _SYSZ_INS_LOCRNM = 1371;;
+let _SYSZ_INS_LOCRNP = 1372;;
+let _SYSZ_INS_LOCRNZ = 1373;;
+let _SYSZ_INS_LOCRP = 1374;;
+let _SYSZ_INS_LOCRZ = 1375;;
+let _SYSZ_INS_LOCZ = 1376;;
+let _SYSZ_INS_LPCTL = 1377;;
+let _SYSZ_INS_LPD = 1378;;
+let _SYSZ_INS_LPDFR = 1379;;
+let _SYSZ_INS_LPDG = 1380;;
+let _SYSZ_INS_LPDR = 1381;;
+let _SYSZ_INS_LPER = 1382;;
+let _SYSZ_INS_LPP = 1383;;
+let _SYSZ_INS_LPQ = 1384;;
+let _SYSZ_INS_LPSW = 1385;;
+let _SYSZ_INS_LPSWE = 1386;;
+let _SYSZ_INS_LPTEA = 1387;;
+let _SYSZ_INS_LPXR = 1388;;
+let _SYSZ_INS_LRA = 1389;;
+let _SYSZ_INS_LRAG = 1390;;
+let _SYSZ_INS_LRAY = 1391;;
+let _SYSZ_INS_LRDR = 1392;;
+let _SYSZ_INS_LRER = 1393;;
+let _SYSZ_INS_LRVH = 1394;;
+let _SYSZ_INS_LSCTL = 1395;;
+let _SYSZ_INS_LTDR = 1396;;
+let _SYSZ_INS_LTDTR = 1397;;
+let _SYSZ_INS_LTER = 1398;;
+let _SYSZ_INS_LTXR = 1399;;
+let _SYSZ_INS_LTXTR = 1400;;
+let _SYSZ_INS_LURA = 1401;;
+let _SYSZ_INS_LURAG = 1402;;
+let _SYSZ_INS_LXD = 1403;;
+let _SYSZ_INS_LXDR = 1404;;
+let _SYSZ_INS_LXDTR = 1405;;
+let _SYSZ_INS_LXE = 1406;;
+let _SYSZ_INS_LXER = 1407;;
+let _SYSZ_INS_LZRF = 1408;;
+let _SYSZ_INS_LZRG = 1409;;
+let _SYSZ_INS_M = 1410;;
+let _SYSZ_INS_MAD = 1411;;
+let _SYSZ_INS_MADR = 1412;;
+let _SYSZ_INS_MAE = 1413;;
+let _SYSZ_INS_MAER = 1414;;
+let _SYSZ_INS_MAY = 1415;;
+let _SYSZ_INS_MAYH = 1416;;
+let _SYSZ_INS_MAYHR = 1417;;
+let _SYSZ_INS_MAYL = 1418;;
+let _SYSZ_INS_MAYLR = 1419;;
+let _SYSZ_INS_MAYR = 1420;;
+let _SYSZ_INS_MC = 1421;;
+let _SYSZ_INS_MD = 1422;;
+let _SYSZ_INS_MDE = 1423;;
+let _SYSZ_INS_MDER = 1424;;
+let _SYSZ_INS_MDR = 1425;;
+let _SYSZ_INS_MDTR = 1426;;
+let _SYSZ_INS_MDTRA = 1427;;
+let _SYSZ_INS_ME = 1428;;
+let _SYSZ_INS_MEE = 1429;;
+let _SYSZ_INS_MEER = 1430;;
+let _SYSZ_INS_MER = 1431;;
+let _SYSZ_INS_MFY = 1432;;
+let _SYSZ_INS_MG = 1433;;
+let _SYSZ_INS_MGH = 1434;;
+let _SYSZ_INS_MGRK = 1435;;
+let _SYSZ_INS_ML = 1436;;
+let _SYSZ_INS_MLR = 1437;;
+let _SYSZ_INS_MP = 1438;;
+let _SYSZ_INS_MR = 1439;;
+let _SYSZ_INS_MSC = 1440;;
+let _SYSZ_INS_MSCH = 1441;;
+let _SYSZ_INS_MSD = 1442;;
+let _SYSZ_INS_MSDR = 1443;;
+let _SYSZ_INS_MSE = 1444;;
+let _SYSZ_INS_MSER = 1445;;
+let _SYSZ_INS_MSGC = 1446;;
+let _SYSZ_INS_MSGRKC = 1447;;
+let _SYSZ_INS_MSRKC = 1448;;
+let _SYSZ_INS_MSTA = 1449;;
+let _SYSZ_INS_MVCDK = 1450;;
+let _SYSZ_INS_MVCIN = 1451;;
+let _SYSZ_INS_MVCK = 1452;;
+let _SYSZ_INS_MVCL = 1453;;
+let _SYSZ_INS_MVCLE = 1454;;
+let _SYSZ_INS_MVCLU = 1455;;
+let _SYSZ_INS_MVCOS = 1456;;
+let _SYSZ_INS_MVCP = 1457;;
+let _SYSZ_INS_MVCS = 1458;;
+let _SYSZ_INS_MVCSK = 1459;;
+let _SYSZ_INS_MVN = 1460;;
+let _SYSZ_INS_MVO = 1461;;
+let _SYSZ_INS_MVPG = 1462;;
+let _SYSZ_INS_MVZ = 1463;;
+let _SYSZ_INS_MXD = 1464;;
+let _SYSZ_INS_MXDR = 1465;;
+let _SYSZ_INS_MXR = 1466;;
+let _SYSZ_INS_MXTR = 1467;;
+let _SYSZ_INS_MXTRA = 1468;;
+let _SYSZ_INS_MY = 1469;;
+let _SYSZ_INS_MYH = 1470;;
+let _SYSZ_INS_MYHR = 1471;;
+let _SYSZ_INS_MYL = 1472;;
+let _SYSZ_INS_MYLR = 1473;;
+let _SYSZ_INS_MYR = 1474;;
+let _SYSZ_INS_NIAI = 1475;;
+let _SYSZ_INS_NTSTG = 1476;;
+let _SYSZ_INS_PACK = 1477;;
+let _SYSZ_INS_PALB = 1478;;
+let _SYSZ_INS_PC = 1479;;
+let _SYSZ_INS_PCC = 1480;;
+let _SYSZ_INS_PCKMO = 1481;;
+let _SYSZ_INS_PFMF = 1482;;
+let _SYSZ_INS_PFPO = 1483;;
+let _SYSZ_INS_PGIN = 1484;;
+let _SYSZ_INS_PGOUT = 1485;;
+let _SYSZ_INS_PKA = 1486;;
+let _SYSZ_INS_PKU = 1487;;
+let _SYSZ_INS_PLO = 1488;;
+let _SYSZ_INS_POPCNT = 1489;;
+let _SYSZ_INS_PPA = 1490;;
+let _SYSZ_INS_PPNO = 1491;;
+let _SYSZ_INS_PR = 1492;;
+let _SYSZ_INS_PRNO = 1493;;
+let _SYSZ_INS_PT = 1494;;
+let _SYSZ_INS_PTF = 1495;;
+let _SYSZ_INS_PTFF = 1496;;
+let _SYSZ_INS_PTI = 1497;;
+let _SYSZ_INS_PTLB = 1498;;
+let _SYSZ_INS_QADTR = 1499;;
+let _SYSZ_INS_QAXTR = 1500;;
+let _SYSZ_INS_QCTRI = 1501;;
+let _SYSZ_INS_QSI = 1502;;
+let _SYSZ_INS_RCHP = 1503;;
+let _SYSZ_INS_RISBGN = 1504;;
+let _SYSZ_INS_RP = 1505;;
+let _SYSZ_INS_RRBE = 1506;;
+let _SYSZ_INS_RRBM = 1507;;
+let _SYSZ_INS_RRDTR = 1508;;
+let _SYSZ_INS_RRXTR = 1509;;
+let _SYSZ_INS_RSCH = 1510;;
+let _SYSZ_INS_SAC = 1511;;
+let _SYSZ_INS_SACF = 1512;;
+let _SYSZ_INS_SAL = 1513;;
+let _SYSZ_INS_SAM24 = 1514;;
+let _SYSZ_INS_SAM31 = 1515;;
+let _SYSZ_INS_SAM64 = 1516;;
+let _SYSZ_INS_SAR = 1517;;
+let _SYSZ_INS_SCCTR = 1518;;
+let _SYSZ_INS_SCHM = 1519;;
+let _SYSZ_INS_SCK = 1520;;
+let _SYSZ_INS_SCKC = 1521;;
+let _SYSZ_INS_SCKPF = 1522;;
+let _SYSZ_INS_SD = 1523;;
+let _SYSZ_INS_SDR = 1524;;
+let _SYSZ_INS_SDTR = 1525;;
+let _SYSZ_INS_SDTRA = 1526;;
+let _SYSZ_INS_SE = 1527;;
+let _SYSZ_INS_SER = 1528;;
+let _SYSZ_INS_SFASR = 1529;;
+let _SYSZ_INS_SFPC = 1530;;
+let _SYSZ_INS_SGH = 1531;;
+let _SYSZ_INS_SHHHR = 1532;;
+let _SYSZ_INS_SHHLR = 1533;;
+let _SYSZ_INS_SIE = 1534;;
+let _SYSZ_INS_SIGA = 1535;;
+let _SYSZ_INS_SIGP = 1536;;
+let _SYSZ_INS_SLA = 1537;;
+let _SYSZ_INS_SLAG = 1538;;
+let _SYSZ_INS_SLAK = 1539;;
+let _SYSZ_INS_SLDA = 1540;;
+let _SYSZ_INS_SLDL = 1541;;
+let _SYSZ_INS_SLDT = 1542;;
+let _SYSZ_INS_SLHHHR = 1543;;
+let _SYSZ_INS_SLHHLR = 1544;;
+let _SYSZ_INS_SLXT = 1545;;
+let _SYSZ_INS_SP = 1546;;
+let _SYSZ_INS_SPCTR = 1547;;
+let _SYSZ_INS_SPKA = 1548;;
+let _SYSZ_INS_SPM = 1549;;
+let _SYSZ_INS_SPT = 1550;;
+let _SYSZ_INS_SPX = 1551;;
+let _SYSZ_INS_SQD = 1552;;
+let _SYSZ_INS_SQDR = 1553;;
+let _SYSZ_INS_SQE = 1554;;
+let _SYSZ_INS_SQER = 1555;;
+let _SYSZ_INS_SQXR = 1556;;
+let _SYSZ_INS_SRDA = 1557;;
+let _SYSZ_INS_SRDL = 1558;;
+let _SYSZ_INS_SRDT = 1559;;
+let _SYSZ_INS_SRNM = 1560;;
+let _SYSZ_INS_SRNMB = 1561;;
+let _SYSZ_INS_SRNMT = 1562;;
+let _SYSZ_INS_SRP = 1563;;
+let _SYSZ_INS_SRSTU = 1564;;
+let _SYSZ_INS_SRXT = 1565;;
+let _SYSZ_INS_SSAIR = 1566;;
+let _SYSZ_INS_SSAR = 1567;;
+let _SYSZ_INS_SSCH = 1568;;
+let _SYSZ_INS_SSKE = 1569;;
+let _SYSZ_INS_SSM = 1570;;
+let _SYSZ_INS_STAM = 1571;;
+let _SYSZ_INS_STAMY = 1572;;
+let _SYSZ_INS_STAP = 1573;;
+let _SYSZ_INS_STCK = 1574;;
+let _SYSZ_INS_STCKC = 1575;;
+let _SYSZ_INS_STCKE = 1576;;
+let _SYSZ_INS_STCKF = 1577;;
+let _SYSZ_INS_STCM = 1578;;
+let _SYSZ_INS_STCMH = 1579;;
+let _SYSZ_INS_STCMY = 1580;;
+let _SYSZ_INS_STCPS = 1581;;
+let _SYSZ_INS_STCRW = 1582;;
+let _SYSZ_INS_STCTG = 1583;;
+let _SYSZ_INS_STCTL = 1584;;
+let _SYSZ_INS_STFL = 1585;;
+let _SYSZ_INS_STFLE = 1586;;
+let _SYSZ_INS_STFPC = 1587;;
+let _SYSZ_INS_STGSC = 1588;;
+let _SYSZ_INS_STIDP = 1589;;
+let _SYSZ_INS_STM = 1590;;
+let _SYSZ_INS_STMH = 1591;;
+let _SYSZ_INS_STMY = 1592;;
+let _SYSZ_INS_STNSM = 1593;;
+let _SYSZ_INS_STOCFH = 1594;;
+let _SYSZ_INS_STOCFHE = 1595;;
+let _SYSZ_INS_STOCFHH = 1596;;
+let _SYSZ_INS_STOCFHHE = 1597;;
+let _SYSZ_INS_STOCFHL = 1598;;
+let _SYSZ_INS_STOCFHLE = 1599;;
+let _SYSZ_INS_STOCFHLH = 1600;;
+let _SYSZ_INS_STOCFHM = 1601;;
+let _SYSZ_INS_STOCFHNE = 1602;;
+let _SYSZ_INS_STOCFHNH = 1603;;
+let _SYSZ_INS_STOCFHNHE = 1604;;
+let _SYSZ_INS_STOCFHNL = 1605;;
+let _SYSZ_INS_STOCFHNLE = 1606;;
+let _SYSZ_INS_STOCFHNLH = 1607;;
+let _SYSZ_INS_STOCFHNM = 1608;;
+let _SYSZ_INS_STOCFHNO = 1609;;
+let _SYSZ_INS_STOCFHNP = 1610;;
+let _SYSZ_INS_STOCFHNZ = 1611;;
+let _SYSZ_INS_STOCFHO = 1612;;
+let _SYSZ_INS_STOCFHP = 1613;;
+let _SYSZ_INS_STOCFHZ = 1614;;
+let _SYSZ_INS_STOCGM = 1615;;
+let _SYSZ_INS_STOCGNM = 1616;;
+let _SYSZ_INS_STOCGNP = 1617;;
+let _SYSZ_INS_STOCGNZ = 1618;;
+let _SYSZ_INS_STOCGP = 1619;;
+let _SYSZ_INS_STOCGZ = 1620;;
+let _SYSZ_INS_STOCM = 1621;;
+let _SYSZ_INS_STOCNM = 1622;;
+let _SYSZ_INS_STOCNP = 1623;;
+let _SYSZ_INS_STOCNZ = 1624;;
+let _SYSZ_INS_STOCP = 1625;;
+let _SYSZ_INS_STOCZ = 1626;;
+let _SYSZ_INS_STOSM = 1627;;
+let _SYSZ_INS_STPQ = 1628;;
+let _SYSZ_INS_STPT = 1629;;
+let _SYSZ_INS_STPX = 1630;;
+let _SYSZ_INS_STRAG = 1631;;
+let _SYSZ_INS_STRVH = 1632;;
+let _SYSZ_INS_STSCH = 1633;;
+let _SYSZ_INS_STSI = 1634;;
+let _SYSZ_INS_STURA = 1635;;
+let _SYSZ_INS_STURG = 1636;;
+let _SYSZ_INS_SU = 1637;;
+let _SYSZ_INS_SUR = 1638;;
+let _SYSZ_INS_SVC = 1639;;
+let _SYSZ_INS_SW = 1640;;
+let _SYSZ_INS_SWR = 1641;;
+let _SYSZ_INS_SXR = 1642;;
+let _SYSZ_INS_SXTR = 1643;;
+let _SYSZ_INS_SXTRA = 1644;;
+let _SYSZ_INS_TABORT = 1645;;
+let _SYSZ_INS_TAM = 1646;;
+let _SYSZ_INS_TAR = 1647;;
+let _SYSZ_INS_TB = 1648;;
+let _SYSZ_INS_TBDR = 1649;;
+let _SYSZ_INS_TBEDR = 1650;;
+let _SYSZ_INS_TBEGIN = 1651;;
+let _SYSZ_INS_TBEGINC = 1652;;
+let _SYSZ_INS_TCDB = 1653;;
+let _SYSZ_INS_TCEB = 1654;;
+let _SYSZ_INS_TCXB = 1655;;
+let _SYSZ_INS_TDCDT = 1656;;
+let _SYSZ_INS_TDCET = 1657;;
+let _SYSZ_INS_TDCXT = 1658;;
+let _SYSZ_INS_TDGDT = 1659;;
+let _SYSZ_INS_TDGET = 1660;;
+let _SYSZ_INS_TDGXT = 1661;;
+let _SYSZ_INS_TEND = 1662;;
+let _SYSZ_INS_THDER = 1663;;
+let _SYSZ_INS_THDR = 1664;;
+let _SYSZ_INS_TP = 1665;;
+let _SYSZ_INS_TPI = 1666;;
+let _SYSZ_INS_TPROT = 1667;;
+let _SYSZ_INS_TR = 1668;;
+let _SYSZ_INS_TRACE = 1669;;
+let _SYSZ_INS_TRACG = 1670;;
+let _SYSZ_INS_TRAP2 = 1671;;
+let _SYSZ_INS_TRAP4 = 1672;;
+let _SYSZ_INS_TRE = 1673;;
+let _SYSZ_INS_TROO = 1674;;
+let _SYSZ_INS_TROT = 1675;;
+let _SYSZ_INS_TRT = 1676;;
+let _SYSZ_INS_TRTE = 1677;;
+let _SYSZ_INS_TRTO = 1678;;
+let _SYSZ_INS_TRTR = 1679;;
+let _SYSZ_INS_TRTRE = 1680;;
+let _SYSZ_INS_TRTT = 1681;;
+let _SYSZ_INS_TS = 1682;;
+let _SYSZ_INS_TSCH = 1683;;
+let _SYSZ_INS_UNPK = 1684;;
+let _SYSZ_INS_UNPKA = 1685;;
+let _SYSZ_INS_UNPKU = 1686;;
+let _SYSZ_INS_UPT = 1687;;
+let _SYSZ_INS_VA = 1688;;
+let _SYSZ_INS_VAB = 1689;;
+let _SYSZ_INS_VAC = 1690;;
+let _SYSZ_INS_VACC = 1691;;
+let _SYSZ_INS_VACCB = 1692;;
+let _SYSZ_INS_VACCC = 1693;;
+let _SYSZ_INS_VACCCQ = 1694;;
+let _SYSZ_INS_VACCF = 1695;;
+let _SYSZ_INS_VACCG = 1696;;
+let _SYSZ_INS_VACCH = 1697;;
+let _SYSZ_INS_VACCQ = 1698;;
+let _SYSZ_INS_VACQ = 1699;;
+let _SYSZ_INS_VAF = 1700;;
+let _SYSZ_INS_VAG = 1701;;
+let _SYSZ_INS_VAH = 1702;;
+let _SYSZ_INS_VAP = 1703;;
+let _SYSZ_INS_VAQ = 1704;;
+let _SYSZ_INS_VAVG = 1705;;
+let _SYSZ_INS_VAVGB = 1706;;
+let _SYSZ_INS_VAVGF = 1707;;
+let _SYSZ_INS_VAVGG = 1708;;
+let _SYSZ_INS_VAVGH = 1709;;
+let _SYSZ_INS_VAVGL = 1710;;
+let _SYSZ_INS_VAVGLB = 1711;;
+let _SYSZ_INS_VAVGLF = 1712;;
+let _SYSZ_INS_VAVGLG = 1713;;
+let _SYSZ_INS_VAVGLH = 1714;;
+let _SYSZ_INS_VBPERM = 1715;;
+let _SYSZ_INS_VCDG = 1716;;
+let _SYSZ_INS_VCDGB = 1717;;
+let _SYSZ_INS_VCDLG = 1718;;
+let _SYSZ_INS_VCDLGB = 1719;;
+let _SYSZ_INS_VCEQ = 1720;;
+let _SYSZ_INS_VCEQB = 1721;;
+let _SYSZ_INS_VCEQBS = 1722;;
+let _SYSZ_INS_VCEQF = 1723;;
+let _SYSZ_INS_VCEQFS = 1724;;
+let _SYSZ_INS_VCEQG = 1725;;
+let _SYSZ_INS_VCEQGS = 1726;;
+let _SYSZ_INS_VCEQH = 1727;;
+let _SYSZ_INS_VCEQHS = 1728;;
+let _SYSZ_INS_VCGD = 1729;;
+let _SYSZ_INS_VCGDB = 1730;;
+let _SYSZ_INS_VCH = 1731;;
+let _SYSZ_INS_VCHB = 1732;;
+let _SYSZ_INS_VCHBS = 1733;;
+let _SYSZ_INS_VCHF = 1734;;
+let _SYSZ_INS_VCHFS = 1735;;
+let _SYSZ_INS_VCHG = 1736;;
+let _SYSZ_INS_VCHGS = 1737;;
+let _SYSZ_INS_VCHH = 1738;;
+let _SYSZ_INS_VCHHS = 1739;;
+let _SYSZ_INS_VCHL = 1740;;
+let _SYSZ_INS_VCHLB = 1741;;
+let _SYSZ_INS_VCHLBS = 1742;;
+let _SYSZ_INS_VCHLF = 1743;;
+let _SYSZ_INS_VCHLFS = 1744;;
+let _SYSZ_INS_VCHLG = 1745;;
+let _SYSZ_INS_VCHLGS = 1746;;
+let _SYSZ_INS_VCHLH = 1747;;
+let _SYSZ_INS_VCHLHS = 1748;;
+let _SYSZ_INS_VCKSM = 1749;;
+let _SYSZ_INS_VCLGD = 1750;;
+let _SYSZ_INS_VCLGDB = 1751;;
+let _SYSZ_INS_VCLZ = 1752;;
+let _SYSZ_INS_VCLZB = 1753;;
+let _SYSZ_INS_VCLZF = 1754;;
+let _SYSZ_INS_VCLZG = 1755;;
+let _SYSZ_INS_VCLZH = 1756;;
+let _SYSZ_INS_VCP = 1757;;
+let _SYSZ_INS_VCTZ = 1758;;
+let _SYSZ_INS_VCTZB = 1759;;
+let _SYSZ_INS_VCTZF = 1760;;
+let _SYSZ_INS_VCTZG = 1761;;
+let _SYSZ_INS_VCTZH = 1762;;
+let _SYSZ_INS_VCVB = 1763;;
+let _SYSZ_INS_VCVBG = 1764;;
+let _SYSZ_INS_VCVD = 1765;;
+let _SYSZ_INS_VCVDG = 1766;;
+let _SYSZ_INS_VDP = 1767;;
+let _SYSZ_INS_VEC = 1768;;
+let _SYSZ_INS_VECB = 1769;;
+let _SYSZ_INS_VECF = 1770;;
+let _SYSZ_INS_VECG = 1771;;
+let _SYSZ_INS_VECH = 1772;;
+let _SYSZ_INS_VECL = 1773;;
+let _SYSZ_INS_VECLB = 1774;;
+let _SYSZ_INS_VECLF = 1775;;
+let _SYSZ_INS_VECLG = 1776;;
+let _SYSZ_INS_VECLH = 1777;;
+let _SYSZ_INS_VERIM = 1778;;
+let _SYSZ_INS_VERIMB = 1779;;
+let _SYSZ_INS_VERIMF = 1780;;
+let _SYSZ_INS_VERIMG = 1781;;
+let _SYSZ_INS_VERIMH = 1782;;
+let _SYSZ_INS_VERLL = 1783;;
+let _SYSZ_INS_VERLLB = 1784;;
+let _SYSZ_INS_VERLLF = 1785;;
+let _SYSZ_INS_VERLLG = 1786;;
+let _SYSZ_INS_VERLLH = 1787;;
+let _SYSZ_INS_VERLLV = 1788;;
+let _SYSZ_INS_VERLLVB = 1789;;
+let _SYSZ_INS_VERLLVF = 1790;;
+let _SYSZ_INS_VERLLVG = 1791;;
+let _SYSZ_INS_VERLLVH = 1792;;
+let _SYSZ_INS_VESL = 1793;;
+let _SYSZ_INS_VESLB = 1794;;
+let _SYSZ_INS_VESLF = 1795;;
+let _SYSZ_INS_VESLG = 1796;;
+let _SYSZ_INS_VESLH = 1797;;
+let _SYSZ_INS_VESLV = 1798;;
+let _SYSZ_INS_VESLVB = 1799;;
+let _SYSZ_INS_VESLVF = 1800;;
+let _SYSZ_INS_VESLVG = 1801;;
+let _SYSZ_INS_VESLVH = 1802;;
+let _SYSZ_INS_VESRA = 1803;;
+let _SYSZ_INS_VESRAB = 1804;;
+let _SYSZ_INS_VESRAF = 1805;;
+let _SYSZ_INS_VESRAG = 1806;;
+let _SYSZ_INS_VESRAH = 1807;;
+let _SYSZ_INS_VESRAV = 1808;;
+let _SYSZ_INS_VESRAVB = 1809;;
+let _SYSZ_INS_VESRAVF = 1810;;
+let _SYSZ_INS_VESRAVG = 1811;;
+let _SYSZ_INS_VESRAVH = 1812;;
+let _SYSZ_INS_VESRL = 1813;;
+let _SYSZ_INS_VESRLB = 1814;;
+let _SYSZ_INS_VESRLF = 1815;;
+let _SYSZ_INS_VESRLG = 1816;;
+let _SYSZ_INS_VESRLH = 1817;;
+let _SYSZ_INS_VESRLV = 1818;;
+let _SYSZ_INS_VESRLVB = 1819;;
+let _SYSZ_INS_VESRLVF = 1820;;
+let _SYSZ_INS_VESRLVG = 1821;;
+let _SYSZ_INS_VESRLVH = 1822;;
+let _SYSZ_INS_VFA = 1823;;
+let _SYSZ_INS_VFADB = 1824;;
+let _SYSZ_INS_VFAE = 1825;;
+let _SYSZ_INS_VFAEB = 1826;;
+let _SYSZ_INS_VFAEBS = 1827;;
+let _SYSZ_INS_VFAEF = 1828;;
+let _SYSZ_INS_VFAEFS = 1829;;
+let _SYSZ_INS_VFAEH = 1830;;
+let _SYSZ_INS_VFAEHS = 1831;;
+let _SYSZ_INS_VFAEZB = 1832;;
+let _SYSZ_INS_VFAEZBS = 1833;;
+let _SYSZ_INS_VFAEZF = 1834;;
+let _SYSZ_INS_VFAEZFS = 1835;;
+let _SYSZ_INS_VFAEZH = 1836;;
+let _SYSZ_INS_VFAEZHS = 1837;;
+let _SYSZ_INS_VFASB = 1838;;
+let _SYSZ_INS_VFCE = 1839;;
+let _SYSZ_INS_VFCEDB = 1840;;
+let _SYSZ_INS_VFCEDBS = 1841;;
+let _SYSZ_INS_VFCESB = 1842;;
+let _SYSZ_INS_VFCESBS = 1843;;
+let _SYSZ_INS_VFCH = 1844;;
+let _SYSZ_INS_VFCHDB = 1845;;
+let _SYSZ_INS_VFCHDBS = 1846;;
+let _SYSZ_INS_VFCHE = 1847;;
+let _SYSZ_INS_VFCHEDB = 1848;;
+let _SYSZ_INS_VFCHEDBS = 1849;;
+let _SYSZ_INS_VFCHESB = 1850;;
+let _SYSZ_INS_VFCHESBS = 1851;;
+let _SYSZ_INS_VFCHSB = 1852;;
+let _SYSZ_INS_VFCHSBS = 1853;;
+let _SYSZ_INS_VFD = 1854;;
+let _SYSZ_INS_VFDDB = 1855;;
+let _SYSZ_INS_VFDSB = 1856;;
+let _SYSZ_INS_VFEE = 1857;;
+let _SYSZ_INS_VFEEB = 1858;;
+let _SYSZ_INS_VFEEBS = 1859;;
+let _SYSZ_INS_VFEEF = 1860;;
+let _SYSZ_INS_VFEEFS = 1861;;
+let _SYSZ_INS_VFEEH = 1862;;
+let _SYSZ_INS_VFEEHS = 1863;;
+let _SYSZ_INS_VFEEZB = 1864;;
+let _SYSZ_INS_VFEEZBS = 1865;;
+let _SYSZ_INS_VFEEZF = 1866;;
+let _SYSZ_INS_VFEEZFS = 1867;;
+let _SYSZ_INS_VFEEZH = 1868;;
+let _SYSZ_INS_VFEEZHS = 1869;;
+let _SYSZ_INS_VFENE = 1870;;
+let _SYSZ_INS_VFENEB = 1871;;
+let _SYSZ_INS_VFENEBS = 1872;;
+let _SYSZ_INS_VFENEF = 1873;;
+let _SYSZ_INS_VFENEFS = 1874;;
+let _SYSZ_INS_VFENEH = 1875;;
+let _SYSZ_INS_VFENEHS = 1876;;
+let _SYSZ_INS_VFENEZB = 1877;;
+let _SYSZ_INS_VFENEZBS = 1878;;
+let _SYSZ_INS_VFENEZF = 1879;;
+let _SYSZ_INS_VFENEZFS = 1880;;
+let _SYSZ_INS_VFENEZH = 1881;;
+let _SYSZ_INS_VFENEZHS = 1882;;
+let _SYSZ_INS_VFI = 1883;;
+let _SYSZ_INS_VFIDB = 1884;;
+let _SYSZ_INS_VFISB = 1885;;
+let _SYSZ_INS_VFKEDB = 1886;;
+let _SYSZ_INS_VFKEDBS = 1887;;
+let _SYSZ_INS_VFKESB = 1888;;
+let _SYSZ_INS_VFKESBS = 1889;;
+let _SYSZ_INS_VFKHDB = 1890;;
+let _SYSZ_INS_VFKHDBS = 1891;;
+let _SYSZ_INS_VFKHEDB = 1892;;
+let _SYSZ_INS_VFKHEDBS = 1893;;
+let _SYSZ_INS_VFKHESB = 1894;;
+let _SYSZ_INS_VFKHESBS = 1895;;
+let _SYSZ_INS_VFKHSB = 1896;;
+let _SYSZ_INS_VFKHSBS = 1897;;
+let _SYSZ_INS_VFLCDB = 1898;;
+let _SYSZ_INS_VFLCSB = 1899;;
+let _SYSZ_INS_VFLL = 1900;;
+let _SYSZ_INS_VFLLS = 1901;;
+let _SYSZ_INS_VFLNDB = 1902;;
+let _SYSZ_INS_VFLNSB = 1903;;
+let _SYSZ_INS_VFLPDB = 1904;;
+let _SYSZ_INS_VFLPSB = 1905;;
+let _SYSZ_INS_VFLR = 1906;;
+let _SYSZ_INS_VFLRD = 1907;;
+let _SYSZ_INS_VFM = 1908;;
+let _SYSZ_INS_VFMA = 1909;;
+let _SYSZ_INS_VFMADB = 1910;;
+let _SYSZ_INS_VFMASB = 1911;;
+let _SYSZ_INS_VFMAX = 1912;;
+let _SYSZ_INS_VFMAXDB = 1913;;
+let _SYSZ_INS_VFMAXSB = 1914;;
+let _SYSZ_INS_VFMDB = 1915;;
+let _SYSZ_INS_VFMIN = 1916;;
+let _SYSZ_INS_VFMINDB = 1917;;
+let _SYSZ_INS_VFMINSB = 1918;;
+let _SYSZ_INS_VFMS = 1919;;
+let _SYSZ_INS_VFMSB = 1920;;
+let _SYSZ_INS_VFMSDB = 1921;;
+let _SYSZ_INS_VFMSSB = 1922;;
+let _SYSZ_INS_VFNMA = 1923;;
+let _SYSZ_INS_VFNMADB = 1924;;
+let _SYSZ_INS_VFNMASB = 1925;;
+let _SYSZ_INS_VFNMS = 1926;;
+let _SYSZ_INS_VFNMSDB = 1927;;
+let _SYSZ_INS_VFNMSSB = 1928;;
+let _SYSZ_INS_VFPSO = 1929;;
+let _SYSZ_INS_VFPSODB = 1930;;
+let _SYSZ_INS_VFPSOSB = 1931;;
+let _SYSZ_INS_VFS = 1932;;
+let _SYSZ_INS_VFSDB = 1933;;
+let _SYSZ_INS_VFSQ = 1934;;
+let _SYSZ_INS_VFSQDB = 1935;;
+let _SYSZ_INS_VFSQSB = 1936;;
+let _SYSZ_INS_VFSSB = 1937;;
+let _SYSZ_INS_VFTCI = 1938;;
+let _SYSZ_INS_VFTCIDB = 1939;;
+let _SYSZ_INS_VFTCISB = 1940;;
+let _SYSZ_INS_VGBM = 1941;;
+let _SYSZ_INS_VGEF = 1942;;
+let _SYSZ_INS_VGEG = 1943;;
+let _SYSZ_INS_VGFM = 1944;;
+let _SYSZ_INS_VGFMA = 1945;;
+let _SYSZ_INS_VGFMAB = 1946;;
+let _SYSZ_INS_VGFMAF = 1947;;
+let _SYSZ_INS_VGFMAG = 1948;;
+let _SYSZ_INS_VGFMAH = 1949;;
+let _SYSZ_INS_VGFMB = 1950;;
+let _SYSZ_INS_VGFMF = 1951;;
+let _SYSZ_INS_VGFMG = 1952;;
+let _SYSZ_INS_VGFMH = 1953;;
+let _SYSZ_INS_VGM = 1954;;
+let _SYSZ_INS_VGMB = 1955;;
+let _SYSZ_INS_VGMF = 1956;;
+let _SYSZ_INS_VGMG = 1957;;
+let _SYSZ_INS_VGMH = 1958;;
+let _SYSZ_INS_VISTR = 1959;;
+let _SYSZ_INS_VISTRB = 1960;;
+let _SYSZ_INS_VISTRBS = 1961;;
+let _SYSZ_INS_VISTRF = 1962;;
+let _SYSZ_INS_VISTRFS = 1963;;
+let _SYSZ_INS_VISTRH = 1964;;
+let _SYSZ_INS_VISTRHS = 1965;;
+let _SYSZ_INS_VL = 1966;;
+let _SYSZ_INS_VLBB = 1967;;
+let _SYSZ_INS_VLC = 1968;;
+let _SYSZ_INS_VLCB = 1969;;
+let _SYSZ_INS_VLCF = 1970;;
+let _SYSZ_INS_VLCG = 1971;;
+let _SYSZ_INS_VLCH = 1972;;
+let _SYSZ_INS_VLDE = 1973;;
+let _SYSZ_INS_VLDEB = 1974;;
+let _SYSZ_INS_VLEB = 1975;;
+let _SYSZ_INS_VLED = 1976;;
+let _SYSZ_INS_VLEDB = 1977;;
+let _SYSZ_INS_VLEF = 1978;;
+let _SYSZ_INS_VLEG = 1979;;
+let _SYSZ_INS_VLEH = 1980;;
+let _SYSZ_INS_VLEIB = 1981;;
+let _SYSZ_INS_VLEIF = 1982;;
+let _SYSZ_INS_VLEIG = 1983;;
+let _SYSZ_INS_VLEIH = 1984;;
+let _SYSZ_INS_VLGV = 1985;;
+let _SYSZ_INS_VLGVB = 1986;;
+let _SYSZ_INS_VLGVF = 1987;;
+let _SYSZ_INS_VLGVG = 1988;;
+let _SYSZ_INS_VLGVH = 1989;;
+let _SYSZ_INS_VLIP = 1990;;
+let _SYSZ_INS_VLL = 1991;;
+let _SYSZ_INS_VLLEZ = 1992;;
+let _SYSZ_INS_VLLEZB = 1993;;
+let _SYSZ_INS_VLLEZF = 1994;;
+let _SYSZ_INS_VLLEZG = 1995;;
+let _SYSZ_INS_VLLEZH = 1996;;
+let _SYSZ_INS_VLLEZLF = 1997;;
+let _SYSZ_INS_VLM = 1998;;
+let _SYSZ_INS_VLP = 1999;;
+let _SYSZ_INS_VLPB = 2000;;
+let _SYSZ_INS_VLPF = 2001;;
+let _SYSZ_INS_VLPG = 2002;;
+let _SYSZ_INS_VLPH = 2003;;
+let _SYSZ_INS_VLR = 2004;;
+let _SYSZ_INS_VLREP = 2005;;
+let _SYSZ_INS_VLREPB = 2006;;
+let _SYSZ_INS_VLREPF = 2007;;
+let _SYSZ_INS_VLREPG = 2008;;
+let _SYSZ_INS_VLREPH = 2009;;
+let _SYSZ_INS_VLRL = 2010;;
+let _SYSZ_INS_VLRLR = 2011;;
+let _SYSZ_INS_VLVG = 2012;;
+let _SYSZ_INS_VLVGB = 2013;;
+let _SYSZ_INS_VLVGF = 2014;;
+let _SYSZ_INS_VLVGG = 2015;;
+let _SYSZ_INS_VLVGH = 2016;;
+let _SYSZ_INS_VLVGP = 2017;;
+let _SYSZ_INS_VMAE = 2018;;
+let _SYSZ_INS_VMAEB = 2019;;
+let _SYSZ_INS_VMAEF = 2020;;
+let _SYSZ_INS_VMAEH = 2021;;
+let _SYSZ_INS_VMAH = 2022;;
+let _SYSZ_INS_VMAHB = 2023;;
+let _SYSZ_INS_VMAHF = 2024;;
+let _SYSZ_INS_VMAHH = 2025;;
+let _SYSZ_INS_VMAL = 2026;;
+let _SYSZ_INS_VMALB = 2027;;
+let _SYSZ_INS_VMALE = 2028;;
+let _SYSZ_INS_VMALEB = 2029;;
+let _SYSZ_INS_VMALEF = 2030;;
+let _SYSZ_INS_VMALEH = 2031;;
+let _SYSZ_INS_VMALF = 2032;;
+let _SYSZ_INS_VMALH = 2033;;
+let _SYSZ_INS_VMALHB = 2034;;
+let _SYSZ_INS_VMALHF = 2035;;
+let _SYSZ_INS_VMALHH = 2036;;
+let _SYSZ_INS_VMALHW = 2037;;
+let _SYSZ_INS_VMALO = 2038;;
+let _SYSZ_INS_VMALOB = 2039;;
+let _SYSZ_INS_VMALOF = 2040;;
+let _SYSZ_INS_VMALOH = 2041;;
+let _SYSZ_INS_VMAO = 2042;;
+let _SYSZ_INS_VMAOB = 2043;;
+let _SYSZ_INS_VMAOF = 2044;;
+let _SYSZ_INS_VMAOH = 2045;;
+let _SYSZ_INS_VME = 2046;;
+let _SYSZ_INS_VMEB = 2047;;
+let _SYSZ_INS_VMEF = 2048;;
+let _SYSZ_INS_VMEH = 2049;;
+let _SYSZ_INS_VMH = 2050;;
+let _SYSZ_INS_VMHB = 2051;;
+let _SYSZ_INS_VMHF = 2052;;
+let _SYSZ_INS_VMHH = 2053;;
+let _SYSZ_INS_VML = 2054;;
+let _SYSZ_INS_VMLB = 2055;;
+let _SYSZ_INS_VMLE = 2056;;
+let _SYSZ_INS_VMLEB = 2057;;
+let _SYSZ_INS_VMLEF = 2058;;
+let _SYSZ_INS_VMLEH = 2059;;
+let _SYSZ_INS_VMLF = 2060;;
+let _SYSZ_INS_VMLH = 2061;;
+let _SYSZ_INS_VMLHB = 2062;;
+let _SYSZ_INS_VMLHF = 2063;;
+let _SYSZ_INS_VMLHH = 2064;;
+let _SYSZ_INS_VMLHW = 2065;;
+let _SYSZ_INS_VMLO = 2066;;
+let _SYSZ_INS_VMLOB = 2067;;
+let _SYSZ_INS_VMLOF = 2068;;
+let _SYSZ_INS_VMLOH = 2069;;
+let _SYSZ_INS_VMN = 2070;;
+let _SYSZ_INS_VMNB = 2071;;
+let _SYSZ_INS_VMNF = 2072;;
+let _SYSZ_INS_VMNG = 2073;;
+let _SYSZ_INS_VMNH = 2074;;
+let _SYSZ_INS_VMNL = 2075;;
+let _SYSZ_INS_VMNLB = 2076;;
+let _SYSZ_INS_VMNLF = 2077;;
+let _SYSZ_INS_VMNLG = 2078;;
+let _SYSZ_INS_VMNLH = 2079;;
+let _SYSZ_INS_VMO = 2080;;
+let _SYSZ_INS_VMOB = 2081;;
+let _SYSZ_INS_VMOF = 2082;;
+let _SYSZ_INS_VMOH = 2083;;
+let _SYSZ_INS_VMP = 2084;;
+let _SYSZ_INS_VMRH = 2085;;
+let _SYSZ_INS_VMRHB = 2086;;
+let _SYSZ_INS_VMRHF = 2087;;
+let _SYSZ_INS_VMRHG = 2088;;
+let _SYSZ_INS_VMRHH = 2089;;
+let _SYSZ_INS_VMRL = 2090;;
+let _SYSZ_INS_VMRLB = 2091;;
+let _SYSZ_INS_VMRLF = 2092;;
+let _SYSZ_INS_VMRLG = 2093;;
+let _SYSZ_INS_VMRLH = 2094;;
+let _SYSZ_INS_VMSL = 2095;;
+let _SYSZ_INS_VMSLG = 2096;;
+let _SYSZ_INS_VMSP = 2097;;
+let _SYSZ_INS_VMX = 2098;;
+let _SYSZ_INS_VMXB = 2099;;
+let _SYSZ_INS_VMXF = 2100;;
+let _SYSZ_INS_VMXG = 2101;;
+let _SYSZ_INS_VMXH = 2102;;
+let _SYSZ_INS_VMXL = 2103;;
+let _SYSZ_INS_VMXLB = 2104;;
+let _SYSZ_INS_VMXLF = 2105;;
+let _SYSZ_INS_VMXLG = 2106;;
+let _SYSZ_INS_VMXLH = 2107;;
+let _SYSZ_INS_VN = 2108;;
+let _SYSZ_INS_VNC = 2109;;
+let _SYSZ_INS_VNN = 2110;;
+let _SYSZ_INS_VNO = 2111;;
+let _SYSZ_INS_VNX = 2112;;
+let _SYSZ_INS_VO = 2113;;
+let _SYSZ_INS_VOC = 2114;;
+let _SYSZ_INS_VONE = 2115;;
+let _SYSZ_INS_VPDI = 2116;;
+let _SYSZ_INS_VPERM = 2117;;
+let _SYSZ_INS_VPK = 2118;;
+let _SYSZ_INS_VPKF = 2119;;
+let _SYSZ_INS_VPKG = 2120;;
+let _SYSZ_INS_VPKH = 2121;;
+let _SYSZ_INS_VPKLS = 2122;;
+let _SYSZ_INS_VPKLSF = 2123;;
+let _SYSZ_INS_VPKLSFS = 2124;;
+let _SYSZ_INS_VPKLSG = 2125;;
+let _SYSZ_INS_VPKLSGS = 2126;;
+let _SYSZ_INS_VPKLSH = 2127;;
+let _SYSZ_INS_VPKLSHS = 2128;;
+let _SYSZ_INS_VPKS = 2129;;
+let _SYSZ_INS_VPKSF = 2130;;
+let _SYSZ_INS_VPKSFS = 2131;;
+let _SYSZ_INS_VPKSG = 2132;;
+let _SYSZ_INS_VPKSGS = 2133;;
+let _SYSZ_INS_VPKSH = 2134;;
+let _SYSZ_INS_VPKSHS = 2135;;
+let _SYSZ_INS_VPKZ = 2136;;
+let _SYSZ_INS_VPOPCT = 2137;;
+let _SYSZ_INS_VPOPCTB = 2138;;
+let _SYSZ_INS_VPOPCTF = 2139;;
+let _SYSZ_INS_VPOPCTG = 2140;;
+let _SYSZ_INS_VPOPCTH = 2141;;
+let _SYSZ_INS_VPSOP = 2142;;
+let _SYSZ_INS_VREP = 2143;;
+let _SYSZ_INS_VREPB = 2144;;
+let _SYSZ_INS_VREPF = 2145;;
+let _SYSZ_INS_VREPG = 2146;;
+let _SYSZ_INS_VREPH = 2147;;
+let _SYSZ_INS_VREPI = 2148;;
+let _SYSZ_INS_VREPIB = 2149;;
+let _SYSZ_INS_VREPIF = 2150;;
+let _SYSZ_INS_VREPIG = 2151;;
+let _SYSZ_INS_VREPIH = 2152;;
+let _SYSZ_INS_VRP = 2153;;
+let _SYSZ_INS_VS = 2154;;
+let _SYSZ_INS_VSB = 2155;;
+let _SYSZ_INS_VSBCBI = 2156;;
+let _SYSZ_INS_VSBCBIQ = 2157;;
+let _SYSZ_INS_VSBI = 2158;;
+let _SYSZ_INS_VSBIQ = 2159;;
+let _SYSZ_INS_VSCBI = 2160;;
+let _SYSZ_INS_VSCBIB = 2161;;
+let _SYSZ_INS_VSCBIF = 2162;;
+let _SYSZ_INS_VSCBIG = 2163;;
+let _SYSZ_INS_VSCBIH = 2164;;
+let _SYSZ_INS_VSCBIQ = 2165;;
+let _SYSZ_INS_VSCEF = 2166;;
+let _SYSZ_INS_VSCEG = 2167;;
+let _SYSZ_INS_VSDP = 2168;;
+let _SYSZ_INS_VSEG = 2169;;
+let _SYSZ_INS_VSEGB = 2170;;
+let _SYSZ_INS_VSEGF = 2171;;
+let _SYSZ_INS_VSEGH = 2172;;
+let _SYSZ_INS_VSEL = 2173;;
+let _SYSZ_INS_VSF = 2174;;
+let _SYSZ_INS_VSG = 2175;;
+let _SYSZ_INS_VSH = 2176;;
+let _SYSZ_INS_VSL = 2177;;
+let _SYSZ_INS_VSLB = 2178;;
+let _SYSZ_INS_VSLDB = 2179;;
+let _SYSZ_INS_VSP = 2180;;
+let _SYSZ_INS_VSQ = 2181;;
+let _SYSZ_INS_VSRA = 2182;;
+let _SYSZ_INS_VSRAB = 2183;;
+let _SYSZ_INS_VSRL = 2184;;
+let _SYSZ_INS_VSRLB = 2185;;
+let _SYSZ_INS_VSRP = 2186;;
+let _SYSZ_INS_VST = 2187;;
+let _SYSZ_INS_VSTEB = 2188;;
+let _SYSZ_INS_VSTEF = 2189;;
+let _SYSZ_INS_VSTEG = 2190;;
+let _SYSZ_INS_VSTEH = 2191;;
+let _SYSZ_INS_VSTL = 2192;;
+let _SYSZ_INS_VSTM = 2193;;
+let _SYSZ_INS_VSTRC = 2194;;
+let _SYSZ_INS_VSTRCB = 2195;;
+let _SYSZ_INS_VSTRCBS = 2196;;
+let _SYSZ_INS_VSTRCF = 2197;;
+let _SYSZ_INS_VSTRCFS = 2198;;
+let _SYSZ_INS_VSTRCH = 2199;;
+let _SYSZ_INS_VSTRCHS = 2200;;
+let _SYSZ_INS_VSTRCZB = 2201;;
+let _SYSZ_INS_VSTRCZBS = 2202;;
+let _SYSZ_INS_VSTRCZF = 2203;;
+let _SYSZ_INS_VSTRCZFS = 2204;;
+let _SYSZ_INS_VSTRCZH = 2205;;
+let _SYSZ_INS_VSTRCZHS = 2206;;
+let _SYSZ_INS_VSTRL = 2207;;
+let _SYSZ_INS_VSTRLR = 2208;;
+let _SYSZ_INS_VSUM = 2209;;
+let _SYSZ_INS_VSUMB = 2210;;
+let _SYSZ_INS_VSUMG = 2211;;
+let _SYSZ_INS_VSUMGF = 2212;;
+let _SYSZ_INS_VSUMGH = 2213;;
+let _SYSZ_INS_VSUMH = 2214;;
+let _SYSZ_INS_VSUMQ = 2215;;
+let _SYSZ_INS_VSUMQF = 2216;;
+let _SYSZ_INS_VSUMQG = 2217;;
+let _SYSZ_INS_VTM = 2218;;
+let _SYSZ_INS_VTP = 2219;;
+let _SYSZ_INS_VUPH = 2220;;
+let _SYSZ_INS_VUPHB = 2221;;
+let _SYSZ_INS_VUPHF = 2222;;
+let _SYSZ_INS_VUPHH = 2223;;
+let _SYSZ_INS_VUPKZ = 2224;;
+let _SYSZ_INS_VUPL = 2225;;
+let _SYSZ_INS_VUPLB = 2226;;
+let _SYSZ_INS_VUPLF = 2227;;
+let _SYSZ_INS_VUPLH = 2228;;
+let _SYSZ_INS_VUPLHB = 2229;;
+let _SYSZ_INS_VUPLHF = 2230;;
+let _SYSZ_INS_VUPLHH = 2231;;
+let _SYSZ_INS_VUPLHW = 2232;;
+let _SYSZ_INS_VUPLL = 2233;;
+let _SYSZ_INS_VUPLLB = 2234;;
+let _SYSZ_INS_VUPLLF = 2235;;
+let _SYSZ_INS_VUPLLH = 2236;;
+let _SYSZ_INS_VX = 2237;;
+let _SYSZ_INS_VZERO = 2238;;
+let _SYSZ_INS_WCDGB = 2239;;
+let _SYSZ_INS_WCDLGB = 2240;;
+let _SYSZ_INS_WCGDB = 2241;;
+let _SYSZ_INS_WCLGDB = 2242;;
+let _SYSZ_INS_WFADB = 2243;;
+let _SYSZ_INS_WFASB = 2244;;
+let _SYSZ_INS_WFAXB = 2245;;
+let _SYSZ_INS_WFC = 2246;;
+let _SYSZ_INS_WFCDB = 2247;;
+let _SYSZ_INS_WFCEDB = 2248;;
+let _SYSZ_INS_WFCEDBS = 2249;;
+let _SYSZ_INS_WFCESB = 2250;;
+let _SYSZ_INS_WFCESBS = 2251;;
+let _SYSZ_INS_WFCEXB = 2252;;
+let _SYSZ_INS_WFCEXBS = 2253;;
+let _SYSZ_INS_WFCHDB = 2254;;
+let _SYSZ_INS_WFCHDBS = 2255;;
+let _SYSZ_INS_WFCHEDB = 2256;;
+let _SYSZ_INS_WFCHEDBS = 2257;;
+let _SYSZ_INS_WFCHESB = 2258;;
+let _SYSZ_INS_WFCHESBS = 2259;;
+let _SYSZ_INS_WFCHEXB = 2260;;
+let _SYSZ_INS_WFCHEXBS = 2261;;
+let _SYSZ_INS_WFCHSB = 2262;;
+let _SYSZ_INS_WFCHSBS = 2263;;
+let _SYSZ_INS_WFCHXB = 2264;;
+let _SYSZ_INS_WFCHXBS = 2265;;
+let _SYSZ_INS_WFCSB = 2266;;
+let _SYSZ_INS_WFCXB = 2267;;
+let _SYSZ_INS_WFDDB = 2268;;
+let _SYSZ_INS_WFDSB = 2269;;
+let _SYSZ_INS_WFDXB = 2270;;
+let _SYSZ_INS_WFIDB = 2271;;
+let _SYSZ_INS_WFISB = 2272;;
+let _SYSZ_INS_WFIXB = 2273;;
+let _SYSZ_INS_WFK = 2274;;
+let _SYSZ_INS_WFKDB = 2275;;
+let _SYSZ_INS_WFKEDB = 2276;;
+let _SYSZ_INS_WFKEDBS = 2277;;
+let _SYSZ_INS_WFKESB = 2278;;
+let _SYSZ_INS_WFKESBS = 2279;;
+let _SYSZ_INS_WFKEXB = 2280;;
+let _SYSZ_INS_WFKEXBS = 2281;;
+let _SYSZ_INS_WFKHDB = 2282;;
+let _SYSZ_INS_WFKHDBS = 2283;;
+let _SYSZ_INS_WFKHEDB = 2284;;
+let _SYSZ_INS_WFKHEDBS = 2285;;
+let _SYSZ_INS_WFKHESB = 2286;;
+let _SYSZ_INS_WFKHESBS = 2287;;
+let _SYSZ_INS_WFKHEXB = 2288;;
+let _SYSZ_INS_WFKHEXBS = 2289;;
+let _SYSZ_INS_WFKHSB = 2290;;
+let _SYSZ_INS_WFKHSBS = 2291;;
+let _SYSZ_INS_WFKHXB = 2292;;
+let _SYSZ_INS_WFKHXBS = 2293;;
+let _SYSZ_INS_WFKSB = 2294;;
+let _SYSZ_INS_WFKXB = 2295;;
+let _SYSZ_INS_WFLCDB = 2296;;
+let _SYSZ_INS_WFLCSB = 2297;;
+let _SYSZ_INS_WFLCXB = 2298;;
+let _SYSZ_INS_WFLLD = 2299;;
+let _SYSZ_INS_WFLLS = 2300;;
+let _SYSZ_INS_WFLNDB = 2301;;
+let _SYSZ_INS_WFLNSB = 2302;;
+let _SYSZ_INS_WFLNXB = 2303;;
+let _SYSZ_INS_WFLPDB = 2304;;
+let _SYSZ_INS_WFLPSB = 2305;;
+let _SYSZ_INS_WFLPXB = 2306;;
+let _SYSZ_INS_WFLRD = 2307;;
+let _SYSZ_INS_WFLRX = 2308;;
+let _SYSZ_INS_WFMADB = 2309;;
+let _SYSZ_INS_WFMASB = 2310;;
+let _SYSZ_INS_WFMAXB = 2311;;
+let _SYSZ_INS_WFMAXDB = 2312;;
+let _SYSZ_INS_WFMAXSB = 2313;;
+let _SYSZ_INS_WFMAXXB = 2314;;
+let _SYSZ_INS_WFMDB = 2315;;
+let _SYSZ_INS_WFMINDB = 2316;;
+let _SYSZ_INS_WFMINSB = 2317;;
+let _SYSZ_INS_WFMINXB = 2318;;
+let _SYSZ_INS_WFMSB = 2319;;
+let _SYSZ_INS_WFMSDB = 2320;;
+let _SYSZ_INS_WFMSSB = 2321;;
+let _SYSZ_INS_WFMSXB = 2322;;
+let _SYSZ_INS_WFMXB = 2323;;
+let _SYSZ_INS_WFNMADB = 2324;;
+let _SYSZ_INS_WFNMASB = 2325;;
+let _SYSZ_INS_WFNMAXB = 2326;;
+let _SYSZ_INS_WFNMSDB = 2327;;
+let _SYSZ_INS_WFNMSSB = 2328;;
+let _SYSZ_INS_WFNMSXB = 2329;;
+let _SYSZ_INS_WFPSODB = 2330;;
+let _SYSZ_INS_WFPSOSB = 2331;;
+let _SYSZ_INS_WFPSOXB = 2332;;
+let _SYSZ_INS_WFSDB = 2333;;
+let _SYSZ_INS_WFSQDB = 2334;;
+let _SYSZ_INS_WFSQSB = 2335;;
+let _SYSZ_INS_WFSQXB = 2336;;
+let _SYSZ_INS_WFSSB = 2337;;
+let _SYSZ_INS_WFSXB = 2338;;
+let _SYSZ_INS_WFTCIDB = 2339;;
+let _SYSZ_INS_WFTCISB = 2340;;
+let _SYSZ_INS_WFTCIXB = 2341;;
+let _SYSZ_INS_WLDEB = 2342;;
+let _SYSZ_INS_WLEDB = 2343;;
+let _SYSZ_INS_XSCH = 2344;;
+let _SYSZ_INS_ZAP = 2345;;
+let _SYSZ_INS_ENDING = 2346;;
+
+let _SYSZ_GRP_INVALID = 0;;
+let _SYSZ_GRP_JUMP = 1;;
+let _SYSZ_GRP_DISTINCTOPS = 128;;
+let _SYSZ_GRP_FPEXTENSION = 129;;
+let _SYSZ_GRP_HIGHWORD = 130;;
+let _SYSZ_GRP_INTERLOCKEDACCESS1 = 131;;
+let _SYSZ_GRP_LOADSTOREONCOND = 132;;
+let _SYSZ_GRP_DFPPACKEDCONVERSION = 133;;
+let _SYSZ_GRP_DFPZONEDCONVERSION = 134;;
+let _SYSZ_GRP_ENHANCEDDAT2 = 135;;
+let _SYSZ_GRP_EXECUTIONHINT = 136;;
+let _SYSZ_GRP_GUARDEDSTORAGE = 137;;
+let _SYSZ_GRP_INSERTREFERENCEBITSMULTIPLE = 138;;
+let _SYSZ_GRP_LOADANDTRAP = 139;;
+let _SYSZ_GRP_LOADANDZERORIGHTMOSTBYTE = 140;;
+let _SYSZ_GRP_LOADSTOREONCOND2 = 141;;
+let _SYSZ_GRP_MESSAGESECURITYASSIST3 = 142;;
+let _SYSZ_GRP_MESSAGESECURITYASSIST4 = 143;;
+let _SYSZ_GRP_MESSAGESECURITYASSIST5 = 144;;
+let _SYSZ_GRP_MESSAGESECURITYASSIST7 = 145;;
+let _SYSZ_GRP_MESSAGESECURITYASSIST8 = 146;;
+let _SYSZ_GRP_MISCELLANEOUSEXTENSIONS = 147;;
+let _SYSZ_GRP_MISCELLANEOUSEXTENSIONS2 = 148;;
+let _SYSZ_GRP_NOVECTOR = 149;;
+let _SYSZ_GRP_POPULATIONCOUNT = 150;;
+let _SYSZ_GRP_PROCESSORASSIST = 151;;
+let _SYSZ_GRP_RESETREFERENCEBITSMULTIPLE = 152;;
+let _SYSZ_GRP_TRANSACTIONALEXECUTION = 153;;
+let _SYSZ_GRP_VECTOR = 154;;
+let _SYSZ_GRP_VECTORENHANCEMENTS1 = 155;;
+let _SYSZ_GRP_VECTORPACKEDDECIMAL = 156;;
+let _SYSZ_GRP_ENDING = 157;;
diff --git a/capstone/bindings/ocaml/test_arm.ml b/capstone/bindings/ocaml/test_arm.ml
new file mode 100644
index 000000000..27d95ec14
--- /dev/null
+++ b/capstone/bindings/ocaml/test_arm.ml
@@ -0,0 +1,105 @@
+(* Capstone Disassembly Engine
+* By Nguyen Anh Quynh <aquynh@gmail.com>, 2013-2014 *)
+
+open Printf
+open Capstone
+open Arm
+open Arm_const
+
+
+let print_string_hex comment str =
+ printf "%s" comment;
+ for i = 0 to (Array.length str - 1) do
+ printf "0x%02x " str.(i)
+ done;
+ printf "\n"
+
+
+let _ARM_CODE = "\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";;
+let _ARM_CODE2 = "\xd1\xe8\x00\xf0\xf0\x24\x04\x07\x1f\x3c\xf2\xc0\x00\x00\x4f\xf0\x00\x01\x46\x6c";;
+let _THUMB_CODE2 = "\x4f\xf0\x00\x01\xbd\xe8\x00\x88\xd1\xe8\x00\xf0";;
+let _THUMB_CODE = "\x70\x47\xeb\x46\x83\xb0\xc9\x68\x1f\xb1";;
+
+
+let all_tests = [
+ (CS_ARCH_ARM, [CS_MODE_ARM], _ARM_CODE, "ARM");
+ (CS_ARCH_ARM, [CS_MODE_THUMB], _THUMB_CODE, "Thumb");
+ (CS_ARCH_ARM, [CS_MODE_THUMB], _ARM_CODE2, "Thumb-mixed");
+ (CS_ARCH_ARM, [CS_MODE_THUMB], _THUMB_CODE2, "Thumb-2");
+];;
+
+
+let print_op handle i op =
+ ( match op.value with
+ | ARM_OP_INVALID _ -> (); (* this would never happens *)
+ | ARM_OP_REG reg -> printf "\t\top[%d]: REG = %s\n" i (cs_reg_name handle reg);
+ | ARM_OP_CIMM imm -> printf "\t\top[%d]: C-IMM = %u\n" i imm;
+ | ARM_OP_PIMM imm -> printf "\t\top[%d]: P-IMM = %u\n" i imm;
+ | ARM_OP_IMM imm -> printf "\t\top[%d]: IMM = 0x%x\n" i imm;
+ | ARM_OP_FP fp -> printf "\t\top[%d]: FP = %f\n" i fp;
+ | ARM_OP_MEM mem -> ( printf "\t\top[%d]: MEM\n" i;
+ if mem.base != 0 then
+ printf "\t\t\toperands[%u].mem.base: REG = %s\n" i (cs_reg_name handle mem.base);
+ if mem.index != 0 then
+ printf "\t\t\toperands[%u].mem.index: REG = %s\n" i (cs_reg_name handle mem.index);
+ if mem.scale != 1 then
+ printf "\t\t\toperands[%u].mem.scale: %d\n" i mem.scale;
+ if mem.disp != 0 then
+ printf "\t\t\toperands[%u].mem.disp: 0x%x\n" i mem.disp;
+ if mem.lshift != 0 then
+ printf "\t\t\toperands[%u].mem.lshift: 0x%x\n" i mem.lshift;
+ );
+ | ARM_OP_SETEND sd -> printf "\t\top[%d]: SETEND = %u\n" i sd;
+ );
+
+ if op.shift.shift_type != _ARM_SFT_INVALID && op.shift.shift_value > 0 then
+ printf "\t\t\tShift: type = %u, value = %u\n"
+ op.shift.shift_type op.shift.shift_value;
+ ();;
+
+
+let print_detail handle insn =
+ match insn.arch with
+ | CS_INFO_ARM arm -> (
+ if arm.cc != _ARM_CC_AL && arm.cc != _ARM_CC_INVALID then
+ printf "\tCode condition: %u\n" arm.cc;
+
+ if arm.update_flags then
+ printf "\tUpdate-flags: True\n";
+
+ if arm.writeback then
+ printf "\tWriteback: True\n";
+
+ (* print all operands info (type & value) *)
+ if (Array.length arm.operands) > 0 then (
+ printf "\top_count: %d\n" (Array.length arm.operands);
+ Array.iteri (print_op handle) arm.operands;
+ );
+ printf "\n";
+ );
+ | _ -> ();
+ ;;
+
+
+let print_insn handle insn =
+ printf "0x%x\t%s\t%s\n" insn.address insn.mnemonic insn.op_str;
+ print_detail handle insn
+
+
+let print_arch x =
+ let (arch, mode, code, comment) = x in
+ let handle = cs_open arch mode in
+ let err = cs_option handle CS_OPT_DETAIL _CS_OPT_ON in
+ match err with
+ | _ -> ();
+ let insns = cs_disasm handle code 0x1000L 0L in
+ printf "*************\n";
+ printf "Platform: %s\n" comment;
+ List.iter (print_insn handle) insns;
+ match cs_close handle with
+ | 0 -> ();
+ | _ -> printf "Failed to close handle";
+ ;;
+
+
+List.iter print_arch all_tests;;
diff --git a/capstone/bindings/ocaml/test_arm64.ml b/capstone/bindings/ocaml/test_arm64.ml
new file mode 100644
index 000000000..8ec39c637
--- /dev/null
+++ b/capstone/bindings/ocaml/test_arm64.ml
@@ -0,0 +1,101 @@
+(* Capstone Disassembly Engine
+* By Nguyen Anh Quynh <aquynh@gmail.com>, 2013-2014 *)
+
+open Printf
+open Capstone
+open Arm64
+open Arm64_const
+
+
+let print_string_hex comment str =
+ printf "%s" comment;
+ for i = 0 to (Array.length str - 1) do
+ printf "0x%02x " str.(i)
+ done;
+ printf "\n"
+
+
+let _ARM64_CODE = "\x21\x7c\x02\x9b\x21\x7c\x00\x53\x00\x40\x21\x4b\xe1\x0b\x40\xb9\x20\x04\x81\xda\x20\x08\x02\x8b";;
+
+let all_tests = [
+ (CS_ARCH_ARM64, [CS_MODE_ARM], _ARM64_CODE, "ARM-64");
+];;
+
+let print_op handle i op =
+ ( match op.value with
+ | ARM64_OP_INVALID _ -> (); (* this would never happens *)
+ | ARM64_OP_REG reg -> printf "\t\top[%d]: REG = %s\n" i (cs_reg_name handle reg);
+ | ARM64_OP_CIMM imm -> printf "\t\top[%d]: C-IMM = %u\n" i imm;
+ | ARM64_OP_IMM imm -> printf "\t\top[%d]: IMM = 0x%x\n" i imm;
+ | ARM64_OP_FP fp -> printf "\t\top[%d]: FP = %f\n" i fp;
+ | ARM64_OP_MEM mem -> ( printf "\t\top[%d]: MEM\n" i;
+ if mem.base != 0 then
+ printf "\t\t\toperands[%u].mem.base: REG = %s\n" i (cs_reg_name handle mem.base);
+ if mem.index != 0 then
+ printf "\t\t\toperands[%u].mem.index: REG = %s\n" i (cs_reg_name handle mem.index);
+ if mem.disp != 0 then
+ printf "\t\t\toperands[%u].mem.disp: 0x%x\n" i mem.disp;
+ );
+ | ARM64_OP_REG_MRS reg -> printf "\t\top[%d]: REG_MRS = %u\n" i reg;
+ | ARM64_OP_REG_MSR reg -> printf "\t\top[%d]: REG_MSR = %u\n" i reg;
+ | ARM64_OP_PSTATE v -> printf "\t\top[%d]: PSTATE = %u\n" i v;
+ | ARM64_OP_SYS v -> printf "\t\top[%d]: SYS = %u\n" i v;
+ | ARM64_OP_PREFETCH v -> printf "\t\top[%d]: PREFETCH = %u\n" i v;
+ | ARM64_OP_BARRIER v -> printf "\t\top[%d]: BARRIER = %u\n" i v;
+ );
+
+ if op.shift.shift_type != _ARM64_SFT_INVALID && op.shift.shift_value > 0 then
+ printf "\t\t\tShift: type = %u, value = %u\n"
+ op.shift.shift_type op.shift.shift_value;
+ if op.ext != _ARM64_EXT_INVALID then
+ printf "\t\t\tExt: %u\n" op.ext;
+
+ ();;
+
+
+let print_detail handle insn =
+ match insn.arch with
+ | CS_INFO_ARM64 arm64 -> (
+ if arm64.cc != _ARM64_CC_AL && arm64.cc != _ARM64_CC_INVALID then
+ printf "\tCode condition: %u\n" arm64.cc;
+
+ if arm64.update_flags then
+ printf "\tUpdate-flags: True\n";
+
+ if arm64.writeback then
+ printf "\tWriteback: True\n";
+
+ (* print all operands info (type & value) *)
+ if (Array.length arm64.operands) > 0 then (
+ printf "\top_count: %d\n" (Array.length arm64.operands);
+ Array.iteri (print_op handle) arm64.operands;
+ );
+ printf "\n";
+ )
+ | _ -> ();
+ ;;
+
+
+let print_insn handle insn =
+ printf "0x%x\t%s\t%s\n" insn.address insn.mnemonic insn.op_str;
+ print_detail handle insn
+
+
+let print_arch x =
+ let (arch, mode, code, comment) = x in
+ let handle = cs_open arch mode in
+ let err = cs_option handle CS_OPT_DETAIL _CS_OPT_ON in
+ match err with
+ | _ -> ();
+ let insns = cs_disasm handle code 0x1000L 0L in
+ printf "*************\n";
+ printf "Platform: %s\n" comment;
+ List.iter (print_insn handle) insns;
+ match cs_close handle with
+ | 0 -> ();
+ | _ -> printf "Failed to close handle";
+ ;;
+
+
+
+List.iter print_arch all_tests;;
diff --git a/capstone/bindings/ocaml/test_basic.ml b/capstone/bindings/ocaml/test_basic.ml
new file mode 100644
index 000000000..80ad1e4c0
--- /dev/null
+++ b/capstone/bindings/ocaml/test_basic.ml
@@ -0,0 +1,67 @@
+(* Capstone Disassembly Engine
+ * By Nguyen Anh Quynh <aquynh@gmail.com>, 2013-2014 *)
+
+open Printf
+open List
+open Capstone
+
+let _X86_CODE16 = "\x8d\x4c\x32\x08\x01\xd8\x81\xc6\x34\x12\x00\x00";;
+let _X86_CODE32 = "\x8d\x4c\x32\x08\x01\xd8\x81\xc6\x34\x12\x00\x00";;
+let _X86_CODE64 = "\x55\x48\x8b\x05\xb8\x13\x00\x00";;
+let _ARM_CODE = "\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";;
+let _ARM_CODE2 = "\x10\xf1\x10\xe7\x11\xf2\x31\xe7\xdc\xa1\x2e\xf3\xe8\x4e\x62\xf3";;
+let _THUMB_CODE = "\x70\x47\xeb\x46\x83\xb0\xc9\x68";;
+let _THUMB_CODE2 = "\x4f\xf0\x00\x01\xbd\xe8\x00\x88";;
+let _MIPS_CODE = "\x0C\x10\x00\x97\x00\x00\x00\x00\x24\x02\x00\x0c\x8f\xa2\x00\x00\x34\x21\x34\x56";;
+let _MIPS_CODE2 = "\x56\x34\x21\x34\xc2\x17\x01\x00";;
+let _ARM64_CODE = "\x21\x7c\x02\x9b\x21\x7c\x00\x53\x00\x40\x21\x4b\xe1\x0b\x40\xb9";;
+let _PPC_CODE = "\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";;
+let _SPARC_CODE = "\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";;
+let _SPARCV9_CODE = "\x81\xa8\x0a\x24\x89\xa0\x10\x20\x89\xa0\x1a\x60\x89\xa0\x00\xe0";;
+let _SYSZ_CODE = "\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";;
+let _XCORE_CODE = "\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";;
+
+let all_tests = [
+ (CS_ARCH_X86, [CS_MODE_16], _X86_CODE16, "X86 16bit (Intel syntax)", 0L);
+ (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)", 0L);
+ (CS_ARCH_X86, [CS_MODE_64], _X86_CODE64, "X86 64 (Intel syntax)", 0L);
+ (CS_ARCH_ARM, [CS_MODE_ARM], _ARM_CODE, "ARM", 0L);
+ (CS_ARCH_ARM, [CS_MODE_ARM], _ARM_CODE2, "ARM: Cortex-A15 + NEON", 0L);
+ (CS_ARCH_ARM, [CS_MODE_THUMB], _THUMB_CODE, "THUMB", 0L);
+ (CS_ARCH_ARM, [CS_MODE_THUMB], _THUMB_CODE2, "THUMB-2", 0L);
+ (CS_ARCH_ARM64, [CS_MODE_ARM], _ARM64_CODE, "ARM-64", 0L);
+ (CS_ARCH_MIPS, [CS_MODE_MIPS32; CS_MODE_BIG_ENDIAN], _MIPS_CODE, "MIPS-32 (Big-endian)", 0L);
+ (CS_ARCH_MIPS, [CS_MODE_MIPS64; CS_MODE_LITTLE_ENDIAN], _MIPS_CODE2, "MIPS-64-EL (Little-endian)", 0L);
+ (CS_ARCH_PPC, [CS_MODE_BIG_ENDIAN], _PPC_CODE, "PPC-64", 0L);
+ (CS_ARCH_PPC, [CS_MODE_BIG_ENDIAN], _PPC_CODE, "PPC-64, print register with number only", 0L);
+ (CS_ARCH_SPARC, [CS_MODE_BIG_ENDIAN], _SPARC_CODE, "Sparc", 0L);
+ (CS_ARCH_SPARC, [CS_MODE_BIG_ENDIAN; CS_MODE_V9], _SPARCV9_CODE, "SparcV9", 0L);
+ (CS_ARCH_SYSZ, [CS_MODE_LITTLE_ENDIAN], _SYSZ_CODE, "SystemZ", 0L);
+ (CS_ARCH_XCORE, [CS_MODE_LITTLE_ENDIAN], _XCORE_CODE, "XCore", 0L);
+];;
+
+
+let print_insn insn =
+ printf "0x%x\t%s\t%s\n" insn.address insn.mnemonic insn.op_str;;
+
+let print_arch x =
+ let (arch, mode, code, comment, syntax) = x in
+ let handle = cs_open arch mode in (
+ if syntax != 0L then (
+ let err = cs_option handle CS_OPT_SYNTAX syntax in
+ match err with
+ | _ -> ();
+ );
+ let insns = cs_disasm handle code 0x1000L 0L in (
+ printf "*************\n";
+ printf "Platform: %s\n" comment;
+ List.iter print_insn insns;
+ );
+ match cs_close handle with
+ | 0 -> ();
+ | _ -> printf "Failed to close handle";
+ );;
+
+
+List.iter print_arch all_tests;;
diff --git a/capstone/bindings/ocaml/test_detail.ml b/capstone/bindings/ocaml/test_detail.ml
new file mode 100644
index 000000000..3f0fea0dd
--- /dev/null
+++ b/capstone/bindings/ocaml/test_detail.ml
@@ -0,0 +1,87 @@
+(* Capstone Disassembly Engine
+ * By Nguyen Anh Quynh <aquynh@gmail.com>, 2013-2014 *)
+
+open Printf
+open List
+open Capstone
+
+let _X86_CODE16 = "\x8d\x4c\x32\x08\x01\xd8\x81\xc6\x34\x12\x00\x00";;
+let _X86_CODE32 = "\x8d\x4c\x32\x08\x01\xd8\x81\xc6\x34\x12\x00\x00";;
+let _X86_CODE64 = "\x55\x48\x8b\x05\xb8\x13\x00\x00";;
+let _ARM_CODE = "\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";;
+let _ARM_CODE2 = "\x10\xf1\x10\xe7\x11\xf2\x31\xe7\xdc\xa1\x2e\xf3\xe8\x4e\x62\xf3";;
+let _THUMB_CODE = "\x70\x47\xeb\x46\x83\xb0\xc9\x68";;
+let _THUMB_CODE2 = "\x4f\xf0\x00\x01\xbd\xe8\x00\x88";;
+let _MIPS_CODE = "\x0C\x10\x00\x97\x00\x00\x00\x00\x24\x02\x00\x0c\x8f\xa2\x00\x00\x34\x21\x34\x56";;
+let _MIPS_CODE2 = "\x56\x34\x21\x34\xc2\x17\x01\x00";;
+let _ARM64_CODE = "\x21\x7c\x02\x9b\x21\x7c\x00\x53\x00\x40\x21\x4b\xe1\x0b\x40\xb9";;
+let _PPC_CODE = "\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";;
+let _SPARC_CODE = "\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";;
+let _SPARCV9_CODE = "\x81\xa8\x0a\x24\x89\xa0\x10\x20\x89\xa0\x1a\x60\x89\xa0\x00\xe0";;
+let _SYSZ_CODE = "\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";;
+let _XCORE_CODE = "\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";;
+
+let all_tests = [
+ (CS_ARCH_X86, [CS_MODE_16], _X86_CODE16, "X86 16bit (Intel syntax)", 0);
+ (CS_ARCH_X86, [CS_MODE_32], _X86_CODE32, "X86 32bit (ATT syntax)", 0);
+ (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_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_PPC, [CS_MODE_64; CS_MODE_BIG_ENDIAN], _PPC_CODE, "PPC-64", 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, [CS_MODE_LITTLE_ENDIAN], _SYSZ_CODE, "SystemZ", 0);
+ (CS_ARCH_XCORE, [CS_MODE_LITTLE_ENDIAN], _XCORE_CODE, "XCore", 0);
+];;
+
+
+let print_detail handle insn =
+ (* print immediate operands *)
+ if (Array.length insn.regs_read) > 0 then begin
+ printf "\tImplicit registers read: ";
+ Array.iter (fun x -> printf "%s "(cs_reg_name handle x)) insn.regs_read;
+ printf "\n";
+ end;
+
+ if (Array.length insn.regs_write) > 0 then begin
+ printf "\tImplicit registers written: ";
+ Array.iter (fun x -> printf "%s "(cs_reg_name handle x)) insn.regs_write;
+ printf "\n";
+ end;
+
+ if (Array.length insn.groups) > 0 then begin
+ printf "\tThis instruction belongs to groups: ";
+ Array.iter (printf "%u ") insn.groups;
+ printf "\n";
+ end;
+ printf "\n";;
+
+
+let print_insn handle insn =
+ printf "0x%x\t%s\t%s\n" insn.address insn.mnemonic insn.op_str;
+ print_detail handle insn
+
+
+let print_arch x =
+ let (arch, mode, code, comment, syntax) = x in
+ let handle = cs_open arch mode in
+ let err = cs_option handle CS_OPT_DETAIL _CS_OPT_ON in
+ match err with
+ | _ -> ();
+ let insns = cs_disasm handle code 0x1000L 0L in
+ printf "*************\n";
+ printf "Platform: %s\n" comment;
+ List.iter (print_insn handle) insns;
+ match cs_close handle with
+ | 0 -> ();
+ | _ -> printf "Failed to close handle";
+ ;;
+
+
+List.iter print_arch all_tests;;
diff --git a/capstone/bindings/ocaml/test_m680x.ml b/capstone/bindings/ocaml/test_m680x.ml
new file mode 100644
index 000000000..e728fa3ff
--- /dev/null
+++ b/capstone/bindings/ocaml/test_m680x.ml
@@ -0,0 +1,167 @@
+(* Capstone Disassembly Engine
+* M680X Backend by Wolfgang Schwotzer <wolfgang.schwotzer@gmx.net> 2017 *)
+
+open Printf
+open Capstone
+open M680x
+open M680x_const
+
+
+let print_char_hex ch =
+ printf " 0x%02x" (Char.code ch)
+
+let print_int_hex_short value =
+ printf "%02x" value
+
+let print_string_hex comment str =
+ printf "%s" comment;
+ String.iter print_char_hex str;
+ printf "\n"
+
+let print_array_hex_short arr =
+ Array.iter print_int_hex_short arr
+
+let s_access = [
+ "UNCHANGED"; "READ"; "WRITE"; "READ | WRITE" ];;
+
+let _M6800_CODE = "\x01\x09\x36\x64\x7f\x74\x10\x00\x90\x10\xA4\x10\xb6\x10\x00\x39";;
+let _M6801_CODE = "\x04\x05\x3c\x3d\x38\x93\x10\xec\x10\xed\x10\x39";;
+let _M6805_CODE = "\x04\x7f\x00\x17\x22\x28\x00\x2e\x00\x40\x42\x5a\x70\x8e\x97\x9c\xa0\x15\xad\x00\xc3\x10\x00\xda\x12\x34\xe5\x7f\xfe";;
+let _M6808_CODE = "\x31\x22\x00\x35\x22\x45\x10\x00\x4b\x00\x51\x10\x52\x5e\x22\x62\x65\x12\x34\x72\x84\x85\x86\x87\x8a\x8b\x8c\x94\x95\xa7\x10\xaf\x10\x9e\x60\x7f\x9e\x6b\x7f\x00\x9e\xd6\x10\x00\x9e\xe6\x7f";;
+let _HD6301_CODE = "\x6b\x10\x00\x71\x10\x00\x72\x10\x10\x39";;
+let _M6809_CODE = "\x06\x10\x19\x1a\x55\x1e\x01\x23\xe9\x31\x06\x34\x55\xa6\x81\xa7\x89\x7f\xff\xa6\x9d\x10\x00\xa7\x91\xa6\x9f\x10\x00\x11\xac\x99\x10\x00\x39\xA6\x07\xA6\x27\xA6\x47\xA6\x67\xA6\x0F\xA6\x10\xA6\x80\xA6\x81\xA6\x82\xA6\x83\xA6\x84\xA6\x85\xA6\x86\xA6\x88\x7F\xA6\x88\x80\xA6\x89\x7F\xFF\xA6\x89\x80\x00\xA6\x8B\xA6\x8C\x10\xA6\x8D\x10\x00\xA6\x91\xA6\x93\xA6\x94\xA6\x95\xA6\x96\xA6\x98\x7F\xA6\x98\x80\xA6\x99\x7F\xFF\xA6\x99\x80\x00\xA6\x9B\xA6\x9C\x10\xA6\x9D\x10\x00\xA6\x9F\x10\x00";;
+let _HD6309_CODE = "\x01\x10\x10\x62\x10\x10\x7b\x10\x10\x00\xcd\x49\x96\x02\xd2\x10\x30\x23\x10\x38\x10\x3b\x10\x53\x10\x5d\x11\x30\x43\x10\x11\x37\x25\x10\x11\x38\x12\x11\x39\x23\x11\x3b\x34\x11\x8e\x10\x00\x11\xaf\x10\x11\xab\x10\x11\xf6\x80\x00";;
+let _M6811_CODE = "\x02\x03\x12\x7f\x10\x00\x13\x99\x08\x00\x14\x7f\x02\x15\x7f\x01\x1e\x7f\x20\x00\x8f\xcf\x18\x08\x18\x30\x18\x3c\x18\x67\x18\x8c\x10\x00\x18\x8f\x18\xce\x10\x00\x18\xff\x10\x00\x1a\xa3\x7f\x1a\xac\x1a\xee\x7f\x1a\xef\x7f\xcd\xac\x7f";;
+let _CPU12_CODE = "\x00\x04\x01\x00\x0c\x00\x80\x0e\x00\x80\x00\x11\x1e\x10\x00\x80\x00\x3b\x4a\x10\x00\x04\x4b\x01\x04\x4f\x7f\x80\x00\x8f\x10\x00\xb7\x52\xb7\xb1\xa6\x67\xa6\xfe\xa6\xf7\x18\x02\xe2\x30\x39\xe2\x10\x00\x18\x0c\x30\x39\x10\x00\x18\x11\x18\x12\x10\x00\x18\x19\x00\x18\x1e\x00\x18\x3e\x18\x3f\x00";;
+let _HCS08_CODE = "\x32\x10\x00\x9e\xae\x9e\xce\x7f\x9e\xbe\x10\x00\x9e\xfe\x7f\x3e\x10\x00\x9e\xf3\x7f\x96\x10\x00\x9e\xff\x7f\x82";;
+
+let bit_set value mask =
+ value land mask != 0
+
+let all_tests = [
+ (CS_ARCH_M680X, [CS_MODE_M680X_6301], _HD6301_CODE, "M680X_HD6301");
+ (CS_ARCH_M680X, [CS_MODE_M680X_6309], _HD6309_CODE, "M680X_HD6309");
+ (CS_ARCH_M680X, [CS_MODE_M680X_6800], _M6800_CODE, "M680X_M6800");
+ (CS_ARCH_M680X, [CS_MODE_M680X_6801], _M6801_CODE, "M680X_M6801");
+ (CS_ARCH_M680X, [CS_MODE_M680X_6805], _M6805_CODE, "M680X_M68HC05");
+ (CS_ARCH_M680X, [CS_MODE_M680X_6808], _M6808_CODE, "M680X_M68HC08");
+ (CS_ARCH_M680X, [CS_MODE_M680X_6809], _M6809_CODE, "M680X_M6809");
+ (CS_ARCH_M680X, [CS_MODE_M680X_6811], _M6811_CODE, "M680X_M68HC11");
+ (CS_ARCH_M680X, [CS_MODE_M680X_CPU12], _CPU12_CODE, "M680X_CPU12");
+ (CS_ARCH_M680X, [CS_MODE_M680X_HCS08], _HCS08_CODE, "M680X_HCS08");
+];;
+
+let print_inc_dec inc_dec is_post = (
+ printf "\t\t\t";
+ if is_post then printf "post" else printf "pre";
+ if inc_dec > 0 then
+ printf " increment: %d\n" inc_dec
+ else
+ printf " decrement: %d\n" (abs inc_dec);
+ );
+ ();;
+
+let print_op handle flags i op =
+ ( match op.value with
+ | M680X_OP_INVALID _ -> (); (* this would never happens *)
+ | M680X_OP_REGISTER reg -> (
+ printf "\t\toperands[%d].type: REGISTER = %s" i (cs_reg_name handle reg);
+ if (((i == 0) && (bit_set flags _M680X_FIRST_OP_IN_MNEM)) ||
+ ((i == 1) && (bit_set flags _M680X_SECOND_OP_IN_MNEM))) then
+ printf " (in mnemonic)";
+ printf "\n";
+ );
+ | M680X_OP_IMMEDIATE imm ->
+ printf "\t\toperands[%d].type: IMMEDIATE = #%d\n" i imm;
+ | M680X_OP_DIRECT direct_addr ->
+ printf "\t\toperands[%d].type: DIRECT = 0x%02x\n" i direct_addr;
+ | M680X_OP_EXTENDED ext -> (
+ printf "\t\toperands[%d].type: EXTENDED " i;
+ if ext.indirect then
+ printf "INDIRECT";
+ printf " = 0x%04x\n" ext.addr_ext;
+ );
+ | M680X_OP_RELATIVE rel ->
+ printf "\t\toperands[%d].type: RELATIVE = 0x%04x\n" i rel.addr_rel;
+ | M680X_OP_INDEXED idx -> (
+ printf "\t\toperands[%d].type: INDEXED" i;
+ if (bit_set idx.flags _M680X_IDX_INDIRECT) then
+ printf " INDIRECT";
+ printf "\n";
+ if idx.base_reg != _M680X_REG_INVALID then
+ printf "\t\t\tbase register: %s\n" (cs_reg_name handle idx.base_reg);
+ if idx.offset_reg != _M680X_REG_INVALID then
+ printf "\t\t\toffset register: %s\n" (cs_reg_name handle idx.offset_reg);
+ if idx.offset_bits != 0 && idx.offset_reg == 0 && idx.inc_dec == 0 then begin
+ printf "\t\t\toffset: %d\n" idx.offset;
+ if idx.base_reg == _M680X_REG_PC then
+ printf "\t\t\toffset address: 0x%x\n" idx.offset_addr;
+ printf "\t\t\toffset bits: %u\n" idx.offset_bits;
+ end;
+ if idx.inc_dec != 0 then
+ print_inc_dec idx.inc_dec (bit_set idx.flags _M680X_IDX_POST_INC_DEC);
+ );
+ | M680X_OP_CONSTANT const_val ->
+ printf "\t\toperands[%d].type: CONSTANT = %d\n" i const_val;
+ );
+
+ if op.size != 0 then
+ printf "\t\t\tsize: %d\n" op.size;
+ if op.access != _CS_AC_INVALID then
+ printf "\t\t\taccess: %s\n" (List.nth s_access op.access);
+ ();;
+
+
+let print_detail handle insn =
+ match insn.arch with
+ | CS_INFO_M680X m680x -> (
+ (* print all operands info (type & value) *)
+ if (Array.length m680x.operands) > 0 then (
+ printf "\top_count: %d\n" (Array.length m680x.operands);
+ Array.iteri (print_op handle m680x.flags) m680x.operands;
+ );
+ );
+ | _ -> ();
+ ;;
+
+let print_reg handle reg =
+ printf " %s" (cs_reg_name handle reg)
+
+let print_insn handle insn =
+ printf "0x%04x:\t" insn.address;
+ print_array_hex_short insn.bytes;
+ printf "\t%s\t%s\n" insn.mnemonic insn.op_str;
+ print_detail handle insn;
+ if (Array.length insn.regs_read) > 0 then begin
+ printf "\tRegisters read:";
+ Array.iter (print_reg handle) insn.regs_read;
+ printf "\n";
+ end;
+ if (Array.length insn.regs_write) > 0 then begin
+ printf "\tRegisters modified:";
+ Array.iter (print_reg handle) insn.regs_write;
+ printf "\n";
+ end;
+ if (Array.length insn.groups) > 0 then
+ printf "\tgroups_count: %d\n" (Array.length insn.groups);
+ printf "\n"
+
+let print_arch x =
+ let (arch, mode, code, comment) = x in
+ let handle = cs_open arch mode in
+ let err = cs_option handle CS_OPT_DETAIL _CS_OPT_ON in
+ match err with
+ | _ -> ();
+ let insns = cs_disasm handle code 0x1000L 0L in
+ printf "********************\n";
+ printf "Platform: %s\n" comment;
+ print_string_hex "Code: " code;
+ printf "Disasm:\n";
+ List.iter (print_insn handle) insns;
+ match cs_close handle with
+ | 0 -> ();
+ | _ -> printf "Failed to close handle";
+ ;;
+
+List.iter print_arch all_tests;;
+
diff --git a/capstone/bindings/ocaml/test_mips.ml b/capstone/bindings/ocaml/test_mips.ml
new file mode 100644
index 000000000..aef940be9
--- /dev/null
+++ b/capstone/bindings/ocaml/test_mips.ml
@@ -0,0 +1,75 @@
+(* Capstone Disassembly Engine
+* By Nguyen Anh Quynh <aquynh@gmail.com>, 2013-2014 *)
+
+open Printf
+open Capstone
+open Mips
+
+
+let print_string_hex comment str =
+ printf "%s" comment;
+ for i = 0 to (Array.length str - 1) do
+ printf "0x%02x " str.(i)
+ done;
+ printf "\n"
+
+
+let _MIPS_CODE = "\x0C\x10\x00\x97\x00\x00\x00\x00\x24\x02\x00\x0c\x8f\xa2\x00\x00\x34\x21\x34\x56";;
+let _MIPS_CODE2 = "\x56\x34\x21\x34\xc2\x17\x01\x00";;
+
+let all_tests = [
+ (CS_ARCH_MIPS, [CS_MODE_MIPS32; CS_MODE_BIG_ENDIAN], _MIPS_CODE, "MIPS-32 (Big-endian)");
+ (CS_ARCH_MIPS, [CS_MODE_MIPS64; CS_MODE_LITTLE_ENDIAN], _MIPS_CODE2, "MIPS-64-EL (Little-endian)");
+];;
+
+let print_op handle i op =
+ ( match op.value with
+ | MIPS_OP_INVALID _ -> (); (* this would never happens *)
+ | MIPS_OP_REG reg -> printf "\t\top[%d]: REG = %s\n" i (cs_reg_name handle reg);
+ | MIPS_OP_IMM imm -> printf "\t\top[%d]: IMM = 0x%x\n" i imm;
+ | MIPS_OP_MEM mem -> ( printf "\t\top[%d]: MEM\n" i;
+ if mem.base != 0 then
+ printf "\t\t\toperands[%u].mem.base: REG = %s\n" i (cs_reg_name handle mem.base);
+ if mem.disp != 0 then
+ printf "\t\t\toperands[%u].mem.disp: 0x%x\n" i mem.disp;
+ );
+ );
+ ();;
+
+
+let print_detail handle insn =
+ match insn.arch with
+ | CS_INFO_MIPS mips -> (
+ (* print all operands info (type & value) *)
+ if (Array.length mips.operands) > 0 then (
+ printf "\top_count: %d\n" (Array.length mips.operands);
+ Array.iteri (print_op handle) mips.operands;
+ );
+ printf "\n";
+ );
+ | _ -> ();
+ ;;
+
+
+let print_insn handle insn =
+ printf "0x%x\t%s\t%s\n" insn.address insn.mnemonic insn.op_str;
+ print_detail handle insn
+
+
+let print_arch x =
+ let (arch, mode, code, comment) = x in
+ let handle = cs_open arch mode in
+ let err = cs_option handle CS_OPT_DETAIL _CS_OPT_ON in
+ match err with
+ | _ -> ();
+ let insns = cs_disasm handle code 0x1000L 0L in
+ printf "*************\n";
+ printf "Platform: %s\n" comment;
+ List.iter (print_insn handle) insns;
+ match cs_close handle with
+ | 0 -> ();
+ | _ -> printf "Failed to close handle";
+ ;;
+
+
+List.iter print_arch all_tests;;
diff --git a/capstone/bindings/ocaml/test_ppc.ml b/capstone/bindings/ocaml/test_ppc.ml
new file mode 100644
index 000000000..e5e3acbff
--- /dev/null
+++ b/capstone/bindings/ocaml/test_ppc.ml
@@ -0,0 +1,81 @@
+(* Capstone Disassembly Engine
+* By Guillaume Jeanne <guillaume.jeanne@ensimag.fr>, 2014> *)
+
+open Printf
+open Capstone
+open Ppc
+
+
+let print_string_hex comment str =
+ printf "%s" comment;
+ for i = 0 to (Array.length str - 1) do
+ printf "0x%02x " str.(i)
+ done;
+ printf "\n"
+
+
+let _PPC_CODE = "\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";;
+
+let all_tests = [
+ (CS_ARCH_PPC, [CS_MODE_64; CS_MODE_BIG_ENDIAN], _PPC_CODE, "PPC-64");
+];;
+
+let print_op handle i op =
+ ( match op.value with
+ | PPC_OP_INVALID _ -> (); (* this would never happens *)
+ | PPC_OP_REG reg -> printf "\t\top[%d]: REG = %s\n" i (cs_reg_name handle reg);
+ | PPC_OP_IMM imm -> printf "\t\top[%d]: IMM = 0x%x\n" i imm;
+ | PPC_OP_MEM mem -> ( printf "\t\top[%d]: MEM\n" i;
+ if mem.base != 0 then
+ printf "\t\t\toperands[%u].mem.base: REG = %s\n" i (cs_reg_name handle mem.base);
+ if mem.disp != 0 then
+ printf "\t\t\toperands[%u].mem.disp: 0x%x\n" i mem.disp;
+ );
+ | PPC_OP_CRX crx -> ( printf "\t\top[%d]: CRX\n" i;
+ if crx.scale != 0 then
+ printf "\t\t\toperands[%u].crx.scale = %u\n" i crx.scale;
+ if crx.reg != 0 then
+ printf "\t\t\toperands[%u].crx.reg = %s\n" i (cs_reg_name handle crx.reg);
+ if crx.cond != 0 then
+ printf "\t\t\toperands[%u].crx.cond = 0x%x\n" i crx.cond;
+ );
+ );
+ ();;
+
+
+let print_detail handle insn =
+ match insn.arch with
+ | CS_INFO_PPC ppc -> (
+ (* print all operands info (type & value) *)
+ if (Array.length ppc.operands) > 0 then (
+ printf "\top_count: %d\n" (Array.length ppc.operands);
+ Array.iteri (print_op handle) ppc.operands;
+ );
+ printf "\n";
+ );
+ | _ -> ();
+ ;;
+
+
+let print_insn handle insn =
+ printf "0x%x\t%s\t%s\n" insn.address insn.mnemonic insn.op_str;
+ print_detail handle insn
+
+
+let print_arch x =
+ let (arch, mode, code, comment) = x in
+ let handle = cs_open arch mode in
+ let err = cs_option handle CS_OPT_DETAIL _CS_OPT_ON in
+ match err with
+ | _ -> ();
+ let insns = cs_disasm handle code 0x1000L 0L in
+ printf "*************\n";
+ printf "Platform: %s\n" comment;
+ List.iter (print_insn handle) insns;
+ match cs_close handle with
+ | 0 -> ();
+ | _ -> printf "Failed to close handle";
+ ;;
+
+
+List.iter print_arch all_tests;;
diff --git a/capstone/bindings/ocaml/test_sparc.ml b/capstone/bindings/ocaml/test_sparc.ml
new file mode 100644
index 000000000..671f12110
--- /dev/null
+++ b/capstone/bindings/ocaml/test_sparc.ml
@@ -0,0 +1,79 @@
+(* Capstone Disassembly Engine
+* By Guillaume Jeanne <guillaume.jeanne@ensimag.fr>, 2014> *)
+
+open Printf
+open Capstone
+open Sparc
+
+
+let print_string_hex comment str =
+ printf "%s" comment;
+ for i = 0 to (Array.length str - 1) do
+ printf "0x%02x " str.(i)
+ done;
+ printf "\n"
+
+
+let _SPARC_CODE = "\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";;
+let _SPARCV9_CODE = "\x81\xa8\x0a\x24\x89\xa0\x10\x20\x89\xa0\x1a\x60\x89\xa0\x00\xe0";;
+
+
+let all_tests = [
+ (CS_ARCH_SPARC, [CS_MODE_BIG_ENDIAN], _SPARC_CODE, "Sparc");
+ (CS_ARCH_SPARC, [CS_MODE_BIG_ENDIAN; CS_MODE_V9], _SPARCV9_CODE, "SparcV9");
+];;
+
+let print_op handle i op =
+ ( match op.value with
+ | SPARC_OP_INVALID _ -> (); (* this would never happens *)
+ | SPARC_OP_REG reg -> printf "\t\top[%d]: REG = %s\n" i (cs_reg_name handle reg);
+ | SPARC_OP_IMM imm -> printf "\t\top[%d]: IMM = 0x%x\n" i imm;
+ | SPARC_OP_MEM mem -> ( printf "\t\top[%d]: MEM\n" i;
+ if mem.base != 0 then
+ printf "\t\t\toperands[%u].mem.base: REG = %s\n" i (cs_reg_name handle mem.base);
+ if mem.index != 0 then
+ printf "\t\t\toperands[%u].mem.index: 0x%x\n" i mem.index;
+ if mem.disp != 0 then
+ printf "\t\t\toperands[%u].mem.disp: 0x%x\n" i mem.disp;
+ );
+ );
+
+ ();;
+
+
+let print_detail handle insn =
+ match insn.arch with
+ | CS_INFO_SPARC sparc -> (
+ (* print all operands info (type & value) *)
+ if (Array.length sparc.operands) > 0 then (
+ printf "\top_count: %d\n" (Array.length sparc.operands);
+ Array.iteri (print_op handle) sparc.operands;
+ );
+ printf "\n";
+ );
+ | _ -> ();
+ ;;
+
+
+let print_insn handle insn =
+ printf "0x%x\t%s\t%s\n" insn.address insn.mnemonic insn.op_str;
+ print_detail handle insn
+
+
+let print_arch x =
+ let (arch, mode, code, comment) = x in
+ let handle = cs_open arch mode in
+ let err = cs_option handle CS_OPT_DETAIL _CS_OPT_ON in
+ match err with
+ | _ -> ();
+ let insns = cs_disasm handle code 0x1000L 0L in
+ printf "*************\n";
+ printf "Platform: %s\n" comment;
+ List.iter (print_insn handle) insns;
+ match cs_close handle with
+ | 0 -> ();
+ | _ -> printf "Failed to close handle";
+ ;;
+
+
+List.iter print_arch all_tests;;
diff --git a/capstone/bindings/ocaml/test_systemz.ml b/capstone/bindings/ocaml/test_systemz.ml
new file mode 100644
index 000000000..8f5dbe5c2
--- /dev/null
+++ b/capstone/bindings/ocaml/test_systemz.ml
@@ -0,0 +1,80 @@
+(* Capstone Disassembly Engine
+* By Guillaume Jeanne <guillaume.jeanne@ensimag.fr>, 2014> *)
+
+open Printf
+open Capstone
+open Systemz
+
+
+let print_string_hex comment str =
+ printf "%s" comment;
+ for i = 0 to (Array.length str - 1) do
+ printf "0x%02x " str.(i)
+ done;
+ printf "\n"
+
+
+let _SYSZ_CODE = "\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";;
+
+
+
+let all_tests = [
+ (CS_ARCH_SYSZ, [CS_MODE_LITTLE_ENDIAN], _SYSZ_CODE, "SystemZ");
+];;
+
+let print_op handle i op =
+ ( match op.value with
+ | SYSZ_OP_INVALID _ -> (); (* this would never happens *)
+ | SYSZ_OP_REG reg -> printf "\t\top[%d]: REG = %s\n" i (cs_reg_name handle reg);
+ | SYSZ_OP_ACREG reg -> printf "\t\top[%d]: ACREG = %u\n" i reg;
+ | SYSZ_OP_IMM imm -> printf "\t\top[%d]: IMM = 0x%x\n" i imm;
+ | SYSZ_OP_MEM mem -> ( printf "\t\top[%d]: MEM\n" i;
+ if mem.base != 0 then
+ printf "\t\t\toperands[%u].mem.base: REG = %s\n" i (cs_reg_name handle mem.base);
+ if mem.index != 0 then
+ printf "\t\t\toperands[%u].mem.index: 0x%x\n" i mem.index;
+ if mem.length != 0L then
+ printf "\t\t\toperands[%u].mem.length: 0x%Lx\n" i mem.length;
+ if mem.disp != 0L then
+ printf "\t\t\toperands[%u].mem.disp: 0x%Lx\n" i mem.disp;
+ );
+ );
+ ();;
+
+
+let print_detail handle insn =
+ match insn.arch with
+ | CS_INFO_SYSZ sysz -> (
+ (* print all operands info (type & value) *)
+ if (Array.length sysz.operands) > 0 then (
+ printf "\top_count: %d\n" (Array.length sysz.operands);
+ Array.iteri (print_op handle) sysz.operands;
+ );
+ printf "\n";
+ );
+ | _ -> ();
+ ;;
+
+
+let print_insn handle insn =
+ printf "0x%x\t%s\t%s\n" insn.address insn.mnemonic insn.op_str;
+ print_detail handle insn
+
+
+let print_arch x =
+ let (arch, mode, code, comment) = x in
+ let handle = cs_open arch mode in
+ let err = cs_option handle CS_OPT_DETAIL _CS_OPT_ON in
+ match err with
+ | _ -> ();
+ let insns = cs_disasm handle code 0x1000L 0L in
+ printf "*************\n";
+ printf "Platform: %s\n" comment;
+ List.iter (print_insn handle) insns;
+ match cs_close handle with
+ | 0 -> ();
+ | _ -> printf "Failed to close handle";
+ ;;
+
+
+List.iter print_arch all_tests;;
diff --git a/capstone/bindings/ocaml/test_x86.ml b/capstone/bindings/ocaml/test_x86.ml
new file mode 100644
index 000000000..d35bf0f01
--- /dev/null
+++ b/capstone/bindings/ocaml/test_x86.ml
@@ -0,0 +1,117 @@
+(* Capstone Disassembly Engine
+* By Nguyen Anh Quynh <aquynh@gmail.com>, 2013-2014 *)
+
+open Printf
+open Capstone
+open X86
+open X86_const
+
+
+let print_string_hex comment str =
+ printf "%s" comment;
+ for i = 0 to (Array.length str - 1) do
+ printf "0x%02x " str.(i)
+ done;
+ printf "\n"
+
+
+let _X86_CODE16 = "\x8d\x4c\x32\x08\x01\xd8\x81\xc6\x34\x12\x00\x00";;
+let _X86_CODE32 = "\x8d\x4c\x32\x08\x01\xd8\x81\xc6\x34\x12\x00\x00";;
+let _X86_CODE64 = "\x55\x48\x8b\x05\xb8\x13\x00\x00";;
+
+
+let all_tests = [
+ (CS_ARCH_X86, [CS_MODE_16], _X86_CODE16, "X86 16bit (Intel syntax)", 0L);
+ (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)", 0L);
+ (CS_ARCH_X86, [CS_MODE_64], _X86_CODE64, "X86 64 (Intel syntax)", 0L);
+];;
+
+let print_op handle i op =
+ ( match op.value with
+ | X86_OP_INVALID _ -> (); (* this would never happens *)
+ | X86_OP_REG reg -> printf "\t\top[%d]: REG = %s [sz=%d]\n" i (cs_reg_name handle reg) op.size;
+ | X86_OP_IMM imm -> printf "\t\top[%d]: IMM = 0x%x [sz=%d]\n" i imm op.size;
+ | X86_OP_MEM mem -> ( printf "\t\top[%d]: MEM [sz=%d]\n" i op.size;
+ if mem.base != 0 then
+ printf "\t\t\toperands[%u].mem.base: REG = %s\n" i (cs_reg_name handle mem.base);
+ if mem.index != 0 then
+ printf "\t\t\toperands[%u].mem.index: REG = %s\n" i (cs_reg_name handle mem.index);
+ if mem.scale != 1 then
+ printf "\t\t\toperands[%u].mem.scale: %d\n" i mem.scale;
+ if mem.disp != 0 then
+ printf "\t\t\toperands[%u].mem.disp: 0x%x\n" i mem.disp;
+ );
+ );
+ ();;
+
+
+let print_detail handle mode insn =
+ match insn.arch with
+ | CS_INFO_X86 x86 -> (
+ print_string_hex "\tPrefix: " x86.prefix;
+
+ (* print instruction's opcode *)
+ print_string_hex "\tOpcode: " x86.opcode;
+
+ (* print operand's size, address size, displacement size & immediate size *)
+ printf "\taddr_size: %u\n" x86.addr_size;
+
+ (* print modRM byte *)
+ printf "\tmodrm: 0x%x\n" x86.modrm;
+
+ (* print displacement value *)
+ if x86.disp != 0 then
+ printf "\tdisp: 0x%x\n" x86.disp;
+
+ (* SIB is invalid in 16-bit mode *)
+ if not (List.mem CS_MODE_16 mode) then (
+ (* print SIB byte *)
+ printf "\tsib: 0x%x\n" x86.sib;
+
+ (* print sib index/scale/base (if applicable) *)
+ if x86.sib_index != _X86_REG_INVALID then
+ printf "\tsib_index: %s, sib_scale: %u, sib_base: %s\n"
+ (cs_reg_name handle x86.sib_index)
+ x86.sib_scale
+ (cs_reg_name handle x86.sib_base);
+ );
+
+ (* print all operands info (type & value) *)
+ if (Array.length x86.operands) > 0 then (
+ printf "\top_count: %d\n" (Array.length x86.operands);
+ Array.iteri (print_op handle) x86.operands;
+ );
+ printf "\n";
+ );
+ | _ -> ();
+ ;;
+
+
+let print_insn handle mode insn =
+ printf "0x%x\t%s\t%s\n" insn.address insn.mnemonic insn.op_str;
+ print_detail handle mode insn
+
+
+let print_arch x =
+ let (arch, mode, code, comment, syntax) = x in
+ let handle = cs_open arch mode in (
+ if syntax != 0L then (
+ let err = cs_option handle CS_OPT_SYNTAX syntax in
+ match err with
+ | _ -> ();
+ );
+ let err = cs_option handle CS_OPT_DETAIL _CS_OPT_ON in
+ match err with
+ | _ -> ();
+ let insns = cs_disasm handle code 0x1000L 0L in (
+ printf "*************\n";
+ printf "Platform: %s\n" comment;
+ List.iter (print_insn handle mode) insns;
+ );
+ match cs_close handle with
+ | 0 -> ();
+ | _ -> printf "Failed to close handle";
+ );;
+
+List.iter print_arch all_tests;;
diff --git a/capstone/bindings/ocaml/test_xcore.ml b/capstone/bindings/ocaml/test_xcore.ml
new file mode 100644
index 000000000..984ebb67c
--- /dev/null
+++ b/capstone/bindings/ocaml/test_xcore.ml
@@ -0,0 +1,78 @@
+(* Capstone Disassembly Engine
+* By Guillaume Jeanne <guillaume.jeanne@ensimag.fr>, 2014> *)
+
+open Printf
+open Capstone
+open Xcore
+
+
+let print_string_hex comment str =
+ printf "%s" comment;
+ for i = 0 to (Array.length str - 1) do
+ printf "0x%02x " str.(i)
+ done;
+ printf "\n"
+
+
+let _XCORE_CODE = "\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";;
+
+let all_tests = [
+ (CS_ARCH_XCORE, [CS_MODE_LITTLE_ENDIAN], _XCORE_CODE, "XCore");
+];;
+
+let print_op handle i op =
+ ( match op.value with
+ | XCORE_OP_INVALID _ -> (); (* this would never happens *)
+ | XCORE_OP_REG reg -> printf "\t\top[%d]: REG = %s\n" i (cs_reg_name handle reg);
+ | XCORE_OP_IMM imm -> printf "\t\top[%d]: IMM = 0x%x\n" i imm;
+ | XCORE_OP_MEM mem -> ( printf "\t\top[%d]: MEM\n" i;
+ if mem.base != 0 then
+ printf "\t\t\toperands[%u].mem.base: REG = %s\n" i (cs_reg_name handle mem.base);
+ if mem.index != 0 then
+ printf "\t\t\toperands[%u].mem.index: 0x%x\n" i mem.index;
+ if mem.disp != 0 then
+ printf "\t\t\toperands[%u].mem.disp: 0x%x\n" i mem.disp;
+ if mem.direct != 0 then
+ printf "\t\t\toperands[%u].mem.direct: 0x%x\n" i mem.direct;
+ );
+ );
+
+ ();;
+
+
+let print_detail handle insn =
+ match insn.arch with
+ | CS_INFO_XCORE xcore -> (
+ (* print all operands info (type & value) *)
+ if (Array.length xcore.operands) > 0 then (
+ printf "\top_count: %d\n" (Array.length xcore.operands);
+ Array.iteri (print_op handle) xcore.operands;
+ );
+ printf "\n";
+ );
+ | _ -> ();
+ ;;
+
+
+let print_insn handle insn =
+ printf "0x%x\t%s\t%s\n" insn.address insn.mnemonic insn.op_str;
+ print_detail handle insn
+
+
+let print_arch x =
+ let (arch, mode, code, comment) = x in
+ let handle = cs_open arch mode in
+ let err = cs_option handle CS_OPT_DETAIL _CS_OPT_ON in
+ match err with
+ | _ -> ();
+ let insns = cs_disasm handle code 0x1000L 0L in
+ printf "*************\n";
+ printf "Platform: %s\n" comment;
+ List.iter (print_insn handle) insns;
+ match cs_close handle with
+ | 0 -> ();
+ | _ -> printf "Failed to close handle";
+ ;;
+
+
+List.iter print_arch all_tests;;
diff --git a/capstone/bindings/ocaml/tms320c64x_const.ml b/capstone/bindings/ocaml/tms320c64x_const.ml
new file mode 100644
index 000000000..53a4440e8
--- /dev/null
+++ b/capstone/bindings/ocaml/tms320c64x_const.ml
@@ -0,0 +1,277 @@
+(* For Capstone Engine. AUTO-GENERATED FILE, DO NOT EDIT [tms320c64x_const.ml] *)
+
+let _TMS320C64X_OP_INVALID = 0;;
+let _TMS320C64X_OP_REG = 1;;
+let _TMS320C64X_OP_IMM = 2;;
+let _TMS320C64X_OP_MEM = 3;;
+let _TMS320C64X_OP_REGPAIR = 64;;
+
+let _TMS320C64X_MEM_DISP_INVALID = 0;;
+let _TMS320C64X_MEM_DISP_CONSTANT = 1;;
+let _TMS320C64X_MEM_DISP_REGISTER = 2;;
+
+let _TMS320C64X_MEM_DIR_INVALID = 0;;
+let _TMS320C64X_MEM_DIR_FW = 1;;
+let _TMS320C64X_MEM_DIR_BW = 2;;
+
+let _TMS320C64X_MEM_MOD_INVALID = 0;;
+let _TMS320C64X_MEM_MOD_NO = 1;;
+let _TMS320C64X_MEM_MOD_PRE = 2;;
+let _TMS320C64X_MEM_MOD_POST = 3;;
+
+let _TMS320C64X_REG_INVALID = 0;;
+let _TMS320C64X_REG_AMR = 1;;
+let _TMS320C64X_REG_CSR = 2;;
+let _TMS320C64X_REG_DIER = 3;;
+let _TMS320C64X_REG_DNUM = 4;;
+let _TMS320C64X_REG_ECR = 5;;
+let _TMS320C64X_REG_GFPGFR = 6;;
+let _TMS320C64X_REG_GPLYA = 7;;
+let _TMS320C64X_REG_GPLYB = 8;;
+let _TMS320C64X_REG_ICR = 9;;
+let _TMS320C64X_REG_IER = 10;;
+let _TMS320C64X_REG_IERR = 11;;
+let _TMS320C64X_REG_ILC = 12;;
+let _TMS320C64X_REG_IRP = 13;;
+let _TMS320C64X_REG_ISR = 14;;
+let _TMS320C64X_REG_ISTP = 15;;
+let _TMS320C64X_REG_ITSR = 16;;
+let _TMS320C64X_REG_NRP = 17;;
+let _TMS320C64X_REG_NTSR = 18;;
+let _TMS320C64X_REG_REP = 19;;
+let _TMS320C64X_REG_RILC = 20;;
+let _TMS320C64X_REG_SSR = 21;;
+let _TMS320C64X_REG_TSCH = 22;;
+let _TMS320C64X_REG_TSCL = 23;;
+let _TMS320C64X_REG_TSR = 24;;
+let _TMS320C64X_REG_A0 = 25;;
+let _TMS320C64X_REG_A1 = 26;;
+let _TMS320C64X_REG_A2 = 27;;
+let _TMS320C64X_REG_A3 = 28;;
+let _TMS320C64X_REG_A4 = 29;;
+let _TMS320C64X_REG_A5 = 30;;
+let _TMS320C64X_REG_A6 = 31;;
+let _TMS320C64X_REG_A7 = 32;;
+let _TMS320C64X_REG_A8 = 33;;
+let _TMS320C64X_REG_A9 = 34;;
+let _TMS320C64X_REG_A10 = 35;;
+let _TMS320C64X_REG_A11 = 36;;
+let _TMS320C64X_REG_A12 = 37;;
+let _TMS320C64X_REG_A13 = 38;;
+let _TMS320C64X_REG_A14 = 39;;
+let _TMS320C64X_REG_A15 = 40;;
+let _TMS320C64X_REG_A16 = 41;;
+let _TMS320C64X_REG_A17 = 42;;
+let _TMS320C64X_REG_A18 = 43;;
+let _TMS320C64X_REG_A19 = 44;;
+let _TMS320C64X_REG_A20 = 45;;
+let _TMS320C64X_REG_A21 = 46;;
+let _TMS320C64X_REG_A22 = 47;;
+let _TMS320C64X_REG_A23 = 48;;
+let _TMS320C64X_REG_A24 = 49;;
+let _TMS320C64X_REG_A25 = 50;;
+let _TMS320C64X_REG_A26 = 51;;
+let _TMS320C64X_REG_A27 = 52;;
+let _TMS320C64X_REG_A28 = 53;;
+let _TMS320C64X_REG_A29 = 54;;
+let _TMS320C64X_REG_A30 = 55;;
+let _TMS320C64X_REG_A31 = 56;;
+let _TMS320C64X_REG_B0 = 57;;
+let _TMS320C64X_REG_B1 = 58;;
+let _TMS320C64X_REG_B2 = 59;;
+let _TMS320C64X_REG_B3 = 60;;
+let _TMS320C64X_REG_B4 = 61;;
+let _TMS320C64X_REG_B5 = 62;;
+let _TMS320C64X_REG_B6 = 63;;
+let _TMS320C64X_REG_B7 = 64;;
+let _TMS320C64X_REG_B8 = 65;;
+let _TMS320C64X_REG_B9 = 66;;
+let _TMS320C64X_REG_B10 = 67;;
+let _TMS320C64X_REG_B11 = 68;;
+let _TMS320C64X_REG_B12 = 69;;
+let _TMS320C64X_REG_B13 = 70;;
+let _TMS320C64X_REG_B14 = 71;;
+let _TMS320C64X_REG_B15 = 72;;
+let _TMS320C64X_REG_B16 = 73;;
+let _TMS320C64X_REG_B17 = 74;;
+let _TMS320C64X_REG_B18 = 75;;
+let _TMS320C64X_REG_B19 = 76;;
+let _TMS320C64X_REG_B20 = 77;;
+let _TMS320C64X_REG_B21 = 78;;
+let _TMS320C64X_REG_B22 = 79;;
+let _TMS320C64X_REG_B23 = 80;;
+let _TMS320C64X_REG_B24 = 81;;
+let _TMS320C64X_REG_B25 = 82;;
+let _TMS320C64X_REG_B26 = 83;;
+let _TMS320C64X_REG_B27 = 84;;
+let _TMS320C64X_REG_B28 = 85;;
+let _TMS320C64X_REG_B29 = 86;;
+let _TMS320C64X_REG_B30 = 87;;
+let _TMS320C64X_REG_B31 = 88;;
+let _TMS320C64X_REG_PCE1 = 89;;
+let _TMS320C64X_REG_ENDING = 90;;
+let _TMS320C64X_REG_EFR = _TMS320C64X_REG_ECR;;
+let _TMS320C64X_REG_IFR = _TMS320C64X_REG_ISR;;
+
+let _TMS320C64X_INS_INVALID = 0;;
+let _TMS320C64X_INS_ABS = 1;;
+let _TMS320C64X_INS_ABS2 = 2;;
+let _TMS320C64X_INS_ADD = 3;;
+let _TMS320C64X_INS_ADD2 = 4;;
+let _TMS320C64X_INS_ADD4 = 5;;
+let _TMS320C64X_INS_ADDAB = 6;;
+let _TMS320C64X_INS_ADDAD = 7;;
+let _TMS320C64X_INS_ADDAH = 8;;
+let _TMS320C64X_INS_ADDAW = 9;;
+let _TMS320C64X_INS_ADDK = 10;;
+let _TMS320C64X_INS_ADDKPC = 11;;
+let _TMS320C64X_INS_ADDU = 12;;
+let _TMS320C64X_INS_AND = 13;;
+let _TMS320C64X_INS_ANDN = 14;;
+let _TMS320C64X_INS_AVG2 = 15;;
+let _TMS320C64X_INS_AVGU4 = 16;;
+let _TMS320C64X_INS_B = 17;;
+let _TMS320C64X_INS_BDEC = 18;;
+let _TMS320C64X_INS_BITC4 = 19;;
+let _TMS320C64X_INS_BNOP = 20;;
+let _TMS320C64X_INS_BPOS = 21;;
+let _TMS320C64X_INS_CLR = 22;;
+let _TMS320C64X_INS_CMPEQ = 23;;
+let _TMS320C64X_INS_CMPEQ2 = 24;;
+let _TMS320C64X_INS_CMPEQ4 = 25;;
+let _TMS320C64X_INS_CMPGT = 26;;
+let _TMS320C64X_INS_CMPGT2 = 27;;
+let _TMS320C64X_INS_CMPGTU4 = 28;;
+let _TMS320C64X_INS_CMPLT = 29;;
+let _TMS320C64X_INS_CMPLTU = 30;;
+let _TMS320C64X_INS_DEAL = 31;;
+let _TMS320C64X_INS_DOTP2 = 32;;
+let _TMS320C64X_INS_DOTPN2 = 33;;
+let _TMS320C64X_INS_DOTPNRSU2 = 34;;
+let _TMS320C64X_INS_DOTPRSU2 = 35;;
+let _TMS320C64X_INS_DOTPSU4 = 36;;
+let _TMS320C64X_INS_DOTPU4 = 37;;
+let _TMS320C64X_INS_EXT = 38;;
+let _TMS320C64X_INS_EXTU = 39;;
+let _TMS320C64X_INS_GMPGTU = 40;;
+let _TMS320C64X_INS_GMPY4 = 41;;
+let _TMS320C64X_INS_LDB = 42;;
+let _TMS320C64X_INS_LDBU = 43;;
+let _TMS320C64X_INS_LDDW = 44;;
+let _TMS320C64X_INS_LDH = 45;;
+let _TMS320C64X_INS_LDHU = 46;;
+let _TMS320C64X_INS_LDNDW = 47;;
+let _TMS320C64X_INS_LDNW = 48;;
+let _TMS320C64X_INS_LDW = 49;;
+let _TMS320C64X_INS_LMBD = 50;;
+let _TMS320C64X_INS_MAX2 = 51;;
+let _TMS320C64X_INS_MAXU4 = 52;;
+let _TMS320C64X_INS_MIN2 = 53;;
+let _TMS320C64X_INS_MINU4 = 54;;
+let _TMS320C64X_INS_MPY = 55;;
+let _TMS320C64X_INS_MPY2 = 56;;
+let _TMS320C64X_INS_MPYH = 57;;
+let _TMS320C64X_INS_MPYHI = 58;;
+let _TMS320C64X_INS_MPYHIR = 59;;
+let _TMS320C64X_INS_MPYHL = 60;;
+let _TMS320C64X_INS_MPYHLU = 61;;
+let _TMS320C64X_INS_MPYHSLU = 62;;
+let _TMS320C64X_INS_MPYHSU = 63;;
+let _TMS320C64X_INS_MPYHU = 64;;
+let _TMS320C64X_INS_MPYHULS = 65;;
+let _TMS320C64X_INS_MPYHUS = 66;;
+let _TMS320C64X_INS_MPYLH = 67;;
+let _TMS320C64X_INS_MPYLHU = 68;;
+let _TMS320C64X_INS_MPYLI = 69;;
+let _TMS320C64X_INS_MPYLIR = 70;;
+let _TMS320C64X_INS_MPYLSHU = 71;;
+let _TMS320C64X_INS_MPYLUHS = 72;;
+let _TMS320C64X_INS_MPYSU = 73;;
+let _TMS320C64X_INS_MPYSU4 = 74;;
+let _TMS320C64X_INS_MPYU = 75;;
+let _TMS320C64X_INS_MPYU4 = 76;;
+let _TMS320C64X_INS_MPYUS = 77;;
+let _TMS320C64X_INS_MVC = 78;;
+let _TMS320C64X_INS_MVD = 79;;
+let _TMS320C64X_INS_MVK = 80;;
+let _TMS320C64X_INS_MVKL = 81;;
+let _TMS320C64X_INS_MVKLH = 82;;
+let _TMS320C64X_INS_NOP = 83;;
+let _TMS320C64X_INS_NORM = 84;;
+let _TMS320C64X_INS_OR = 85;;
+let _TMS320C64X_INS_PACK2 = 86;;
+let _TMS320C64X_INS_PACKH2 = 87;;
+let _TMS320C64X_INS_PACKH4 = 88;;
+let _TMS320C64X_INS_PACKHL2 = 89;;
+let _TMS320C64X_INS_PACKL4 = 90;;
+let _TMS320C64X_INS_PACKLH2 = 91;;
+let _TMS320C64X_INS_ROTL = 92;;
+let _TMS320C64X_INS_SADD = 93;;
+let _TMS320C64X_INS_SADD2 = 94;;
+let _TMS320C64X_INS_SADDU4 = 95;;
+let _TMS320C64X_INS_SADDUS2 = 96;;
+let _TMS320C64X_INS_SAT = 97;;
+let _TMS320C64X_INS_SET = 98;;
+let _TMS320C64X_INS_SHFL = 99;;
+let _TMS320C64X_INS_SHL = 100;;
+let _TMS320C64X_INS_SHLMB = 101;;
+let _TMS320C64X_INS_SHR = 102;;
+let _TMS320C64X_INS_SHR2 = 103;;
+let _TMS320C64X_INS_SHRMB = 104;;
+let _TMS320C64X_INS_SHRU = 105;;
+let _TMS320C64X_INS_SHRU2 = 106;;
+let _TMS320C64X_INS_SMPY = 107;;
+let _TMS320C64X_INS_SMPY2 = 108;;
+let _TMS320C64X_INS_SMPYH = 109;;
+let _TMS320C64X_INS_SMPYHL = 110;;
+let _TMS320C64X_INS_SMPYLH = 111;;
+let _TMS320C64X_INS_SPACK2 = 112;;
+let _TMS320C64X_INS_SPACKU4 = 113;;
+let _TMS320C64X_INS_SSHL = 114;;
+let _TMS320C64X_INS_SSHVL = 115;;
+let _TMS320C64X_INS_SSHVR = 116;;
+let _TMS320C64X_INS_SSUB = 117;;
+let _TMS320C64X_INS_STB = 118;;
+let _TMS320C64X_INS_STDW = 119;;
+let _TMS320C64X_INS_STH = 120;;
+let _TMS320C64X_INS_STNDW = 121;;
+let _TMS320C64X_INS_STNW = 122;;
+let _TMS320C64X_INS_STW = 123;;
+let _TMS320C64X_INS_SUB = 124;;
+let _TMS320C64X_INS_SUB2 = 125;;
+let _TMS320C64X_INS_SUB4 = 126;;
+let _TMS320C64X_INS_SUBAB = 127;;
+let _TMS320C64X_INS_SUBABS4 = 128;;
+let _TMS320C64X_INS_SUBAH = 129;;
+let _TMS320C64X_INS_SUBAW = 130;;
+let _TMS320C64X_INS_SUBC = 131;;
+let _TMS320C64X_INS_SUBU = 132;;
+let _TMS320C64X_INS_SWAP4 = 133;;
+let _TMS320C64X_INS_UNPKHU4 = 134;;
+let _TMS320C64X_INS_UNPKLU4 = 135;;
+let _TMS320C64X_INS_XOR = 136;;
+let _TMS320C64X_INS_XPND2 = 137;;
+let _TMS320C64X_INS_XPND4 = 138;;
+let _TMS320C64X_INS_IDLE = 139;;
+let _TMS320C64X_INS_MV = 140;;
+let _TMS320C64X_INS_NEG = 141;;
+let _TMS320C64X_INS_NOT = 142;;
+let _TMS320C64X_INS_SWAP2 = 143;;
+let _TMS320C64X_INS_ZERO = 144;;
+let _TMS320C64X_INS_ENDING = 145;;
+
+let _TMS320C64X_GRP_INVALID = 0;;
+let _TMS320C64X_GRP_JUMP = 1;;
+let _TMS320C64X_GRP_FUNIT_D = 128;;
+let _TMS320C64X_GRP_FUNIT_L = 129;;
+let _TMS320C64X_GRP_FUNIT_M = 130;;
+let _TMS320C64X_GRP_FUNIT_S = 131;;
+let _TMS320C64X_GRP_FUNIT_NO = 132;;
+let _TMS320C64X_GRP_ENDING = 133;;
+
+let _TMS320C64X_FUNIT_INVALID = 0;;
+let _TMS320C64X_FUNIT_D = 1;;
+let _TMS320C64X_FUNIT_L = 2;;
+let _TMS320C64X_FUNIT_M = 3;;
+let _TMS320C64X_FUNIT_S = 4;;
+let _TMS320C64X_FUNIT_NO = 5;;
diff --git a/capstone/bindings/ocaml/wasm_const.ml b/capstone/bindings/ocaml/wasm_const.ml
new file mode 100644
index 000000000..760917dc1
--- /dev/null
+++ b/capstone/bindings/ocaml/wasm_const.ml
@@ -0,0 +1,191 @@
+(* For Capstone Engine. AUTO-GENERATED FILE, DO NOT EDIT [wasm_const.ml] *)
+
+let _WASM_OP_INVALID = 0;;
+let _WASM_OP_NONE = 1;;
+let _WASM_OP_INT7 = 2;;
+let _WASM_OP_VARUINT32 = 3;;
+let _WASM_OP_VARUINT64 = 4;;
+let _WASM_OP_UINT32 = 5;;
+let _WASM_OP_UINT64 = 6;;
+let _WASM_OP_IMM = 7;;
+let _WASM_OP_BRTABLE = 8;;
+let _WASM_INS_UNREACHABLE = 0x0;;
+let _WASM_INS_NOP = 0x1;;
+let _WASM_INS_BLOCK = 0x2;;
+let _WASM_INS_LOOP = 0x3;;
+let _WASM_INS_IF = 0x4;;
+let _WASM_INS_ELSE = 0x5;;
+let _WASM_INS_END = 0xb;;
+let _WASM_INS_BR = 0xc;;
+let _WASM_INS_BR_IF = 0xd;;
+let _WASM_INS_BR_TABLE = 0xe;;
+let _WASM_INS_RETURN = 0xf;;
+let _WASM_INS_CALL = 0x10;;
+let _WASM_INS_CALL_INDIRECT = 0x11;;
+let _WASM_INS_DROP = 0x1a;;
+let _WASM_INS_SELECT = 0x1b;;
+let _WASM_INS_GET_LOCAL = 0x20;;
+let _WASM_INS_SET_LOCAL = 0x21;;
+let _WASM_INS_TEE_LOCAL = 0x22;;
+let _WASM_INS_GET_GLOBAL = 0x23;;
+let _WASM_INS_SET_GLOBAL = 0x24;;
+let _WASM_INS_I32_LOAD = 0x28;;
+let _WASM_INS_I64_LOAD = 0x29;;
+let _WASM_INS_F32_LOAD = 0x2a;;
+let _WASM_INS_F64_LOAD = 0x2b;;
+let _WASM_INS_I32_LOAD8_S = 0x2c;;
+let _WASM_INS_I32_LOAD8_U = 0x2d;;
+let _WASM_INS_I32_LOAD16_S = 0x2e;;
+let _WASM_INS_I32_LOAD16_U = 0x2f;;
+let _WASM_INS_I64_LOAD8_S = 0x30;;
+let _WASM_INS_I64_LOAD8_U = 0x31;;
+let _WASM_INS_I64_LOAD16_S = 0x32;;
+let _WASM_INS_I64_LOAD16_U = 0x33;;
+let _WASM_INS_I64_LOAD32_S = 0x34;;
+let _WASM_INS_I64_LOAD32_U = 0x35;;
+let _WASM_INS_I32_STORE = 0x36;;
+let _WASM_INS_I64_STORE = 0x37;;
+let _WASM_INS_F32_STORE = 0x38;;
+let _WASM_INS_F64_STORE = 0x39;;
+let _WASM_INS_I32_STORE8 = 0x3a;;
+let _WASM_INS_I32_STORE16 = 0x3b;;
+let _WASM_INS_I64_STORE8 = 0x3c;;
+let _WASM_INS_I64_STORE16 = 0x3d;;
+let _WASM_INS_I64_STORE32 = 0x3e;;
+let _WASM_INS_CURRENT_MEMORY = 0x3f;;
+let _WASM_INS_GROW_MEMORY = 0x40;;
+let _WASM_INS_I32_CONST = 0x41;;
+let _WASM_INS_I64_CONST = 0x42;;
+let _WASM_INS_F32_CONST = 0x43;;
+let _WASM_INS_F64_CONST = 0x44;;
+let _WASM_INS_I32_EQZ = 0x45;;
+let _WASM_INS_I32_EQ = 0x46;;
+let _WASM_INS_I32_NE = 0x47;;
+let _WASM_INS_I32_LT_S = 0x48;;
+let _WASM_INS_I32_LT_U = 0x49;;
+let _WASM_INS_I32_GT_S = 0x4a;;
+let _WASM_INS_I32_GT_U = 0x4b;;
+let _WASM_INS_I32_LE_S = 0x4c;;
+let _WASM_INS_I32_LE_U = 0x4d;;
+let _WASM_INS_I32_GE_S = 0x4e;;
+let _WASM_INS_I32_GE_U = 0x4f;;
+let _WASM_INS_I64_EQZ = 0x50;;
+let _WASM_INS_I64_EQ = 0x51;;
+let _WASM_INS_I64_NE = 0x52;;
+let _WASM_INS_I64_LT_S = 0x53;;
+let _WASM_INS_I64_LT_U = 0x54;;
+let _WASM_INS_I64_GT_U = 0x56;;
+let _WASM_INS_I64_LE_S = 0x57;;
+let _WASM_INS_I64_LE_U = 0x58;;
+let _WASM_INS_I64_GE_S = 0x59;;
+let _WASM_INS_I64_GE_U = 0x5a;;
+let _WASM_INS_F32_EQ = 0x5b;;
+let _WASM_INS_F32_NE = 0x5c;;
+let _WASM_INS_F32_LT = 0x5d;;
+let _WASM_INS_F32_GT = 0x5e;;
+let _WASM_INS_F32_LE = 0x5f;;
+let _WASM_INS_F32_GE = 0x60;;
+let _WASM_INS_F64_EQ = 0x61;;
+let _WASM_INS_F64_NE = 0x62;;
+let _WASM_INS_F64_LT = 0x63;;
+let _WASM_INS_F64_GT = 0x64;;
+let _WASM_INS_F64_LE = 0x65;;
+let _WASM_INS_F64_GE = 0x66;;
+let _WASM_INS_I32_CLZ = 0x67;;
+let _WASM_INS_I32_CTZ = 0x68;;
+let _WASM_INS_I32_POPCNT = 0x69;;
+let _WASM_INS_I32_ADD = 0x6a;;
+let _WASM_INS_I32_SUB = 0x6b;;
+let _WASM_INS_I32_MUL = 0x6c;;
+let _WASM_INS_I32_DIV_S = 0x6d;;
+let _WASM_INS_I32_DIV_U = 0x6e;;
+let _WASM_INS_I32_REM_S = 0x6f;;
+let _WASM_INS_I32_REM_U = 0x70;;
+let _WASM_INS_I32_AND = 0x71;;
+let _WASM_INS_I32_OR = 0x72;;
+let _WASM_INS_I32_XOR = 0x73;;
+let _WASM_INS_I32_SHL = 0x74;;
+let _WASM_INS_I32_SHR_S = 0x75;;
+let _WASM_INS_I32_SHR_U = 0x76;;
+let _WASM_INS_I32_ROTL = 0x77;;
+let _WASM_INS_I32_ROTR = 0x78;;
+let _WASM_INS_I64_CLZ = 0x79;;
+let _WASM_INS_I64_CTZ = 0x7a;;
+let _WASM_INS_I64_POPCNT = 0x7b;;
+let _WASM_INS_I64_ADD = 0x7c;;
+let _WASM_INS_I64_SUB = 0x7d;;
+let _WASM_INS_I64_MUL = 0x7e;;
+let _WASM_INS_I64_DIV_S = 0x7f;;
+let _WASM_INS_I64_DIV_U = 0x80;;
+let _WASM_INS_I64_REM_S = 0x81;;
+let _WASM_INS_I64_REM_U = 0x82;;
+let _WASM_INS_I64_AND = 0x83;;
+let _WASM_INS_I64_OR = 0x84;;
+let _WASM_INS_I64_XOR = 0x85;;
+let _WASM_INS_I64_SHL = 0x86;;
+let _WASM_INS_I64_SHR_S = 0x87;;
+let _WASM_INS_I64_SHR_U = 0x88;;
+let _WASM_INS_I64_ROTL = 0x89;;
+let _WASM_INS_I64_ROTR = 0x8a;;
+let _WASM_INS_F32_ABS = 0x8b;;
+let _WASM_INS_F32_NEG = 0x8c;;
+let _WASM_INS_F32_CEIL = 0x8d;;
+let _WASM_INS_F32_FLOOR = 0x8e;;
+let _WASM_INS_F32_TRUNC = 0x8f;;
+let _WASM_INS_F32_NEAREST = 0x90;;
+let _WASM_INS_F32_SQRT = 0x91;;
+let _WASM_INS_F32_ADD = 0x92;;
+let _WASM_INS_F32_SUB = 0x93;;
+let _WASM_INS_F32_MUL = 0x94;;
+let _WASM_INS_F32_DIV = 0x95;;
+let _WASM_INS_F32_MIN = 0x96;;
+let _WASM_INS_F32_MAX = 0x97;;
+let _WASM_INS_F32_COPYSIGN = 0x98;;
+let _WASM_INS_F64_ABS = 0x99;;
+let _WASM_INS_F64_NEG = 0x9a;;
+let _WASM_INS_F64_CEIL = 0x9b;;
+let _WASM_INS_F64_FLOOR = 0x9c;;
+let _WASM_INS_F64_TRUNC = 0x9d;;
+let _WASM_INS_F64_NEAREST = 0x9e;;
+let _WASM_INS_F64_SQRT = 0x9f;;
+let _WASM_INS_F64_ADD = 0xa0;;
+let _WASM_INS_F64_SUB = 0xa1;;
+let _WASM_INS_F64_MUL = 0xa2;;
+let _WASM_INS_F64_DIV = 0xa3;;
+let _WASM_INS_F64_MIN = 0xa4;;
+let _WASM_INS_F64_MAX = 0xa5;;
+let _WASM_INS_F64_COPYSIGN = 0xa6;;
+let _WASM_INS_I32_WARP_I64 = 0xa7;;
+let _WASM_INS_I32_TRUNC_U_F32 = 0xa9;;
+let _WASM_INS_I32_TRUNC_S_F64 = 0xaa;;
+let _WASM_INS_I32_TRUNC_U_F64 = 0xab;;
+let _WASM_INS_I64_EXTEND_S_I32 = 0xac;;
+let _WASM_INS_I64_EXTEND_U_I32 = 0xad;;
+let _WASM_INS_I64_TRUNC_S_F32 = 0xae;;
+let _WASM_INS_I64_TRUNC_U_F32 = 0xaf;;
+let _WASM_INS_I64_TRUNC_S_F64 = 0xb0;;
+let _WASM_INS_I64_TRUNC_U_F64 = 0xb1;;
+let _WASM_INS_F32_CONVERT_S_I32 = 0xb2;;
+let _WASM_INS_F32_CONVERT_U_I32 = 0xb3;;
+let _WASM_INS_F32_CONVERT_S_I64 = 0xb4;;
+let _WASM_INS_F32_CONVERT_U_I64 = 0xb5;;
+let _WASM_INS_F32_DEMOTE_F64 = 0xb6;;
+let _WASM_INS_F64_CONVERT_S_I32 = 0xb7;;
+let _WASM_INS_F64_CONVERT_U_I32 = 0xb8;;
+let _WASM_INS_F64_CONVERT_S_I64 = 0xb9;;
+let _WASM_INS_F64_CONVERT_U_I64 = 0xba;;
+let _WASM_INS_F64_PROMOTE_F32 = 0xbb;;
+let _WASM_INS_I32_REINTERPRET_F32 = 0xbc;;
+let _WASM_INS_I64_REINTERPRET_F64 = 0xbd;;
+let _WASM_INS_F32_REINTERPRET_I32 = 0xbe;;
+let _WASM_INS_F64_REINTERPRET_I64 = 0xbf;;
+let _WASM_INS_INVALID = 512;;
+let _WASM_INS_ENDING = 513;;
+
+let _WASM_GRP_INVALID = 0;;
+let _WASM_GRP_NUMBERIC = 8;;
+let _WASM_GRP_PARAMETRIC = 9;;
+let _WASM_GRP_VARIABLE = 10;;
+let _WASM_GRP_MEMORY = 11;;
+let _WASM_GRP_CONTROL = 12;;
+let _WASM_GRP_ENDING = 13;;
diff --git a/capstone/bindings/ocaml/x86.ml b/capstone/bindings/ocaml/x86.ml
new file mode 100644
index 000000000..9e97794cf
--- /dev/null
+++ b/capstone/bindings/ocaml/x86.ml
@@ -0,0 +1,47 @@
+(* Capstone Disassembly Engine
+ * By Nguyen Anh Quynh <aquynh@gmail.com>, 2013-2014 *)
+
+open X86_const
+
+(* architecture specific info of instruction *)
+type x86_op_mem = {
+ segment: int;
+ base: int;
+ index: int;
+ scale: int;
+ disp: int;
+}
+
+type x86_op_value =
+ | X86_OP_INVALID of int
+ | X86_OP_REG of int
+ | X86_OP_IMM of int
+ | X86_OP_MEM of x86_op_mem
+
+type x86_op = {
+ value: x86_op_value;
+ size: int;
+ access: int;
+ avx_bcast: int;
+ avx_zero_opmask: int;
+}
+
+type cs_x86 = {
+ prefix: int array;
+ opcode: int array;
+ rex: int;
+ addr_size: int;
+ modrm: int;
+ sib: int;
+ disp: int;
+ sib_index: int;
+ sib_scale: int;
+ sib_base: int;
+ xop_cc: int;
+ sse_cc: int;
+ avx_cc: int;
+ avx_sae: int;
+ avx_rm: int;
+ eflags: int;
+ operands: x86_op array;
+}
diff --git a/capstone/bindings/ocaml/x86_const.ml b/capstone/bindings/ocaml/x86_const.ml
new file mode 100644
index 000000000..bfd7b99cb
--- /dev/null
+++ b/capstone/bindings/ocaml/x86_const.ml
@@ -0,0 +1,1989 @@
+(* For Capstone Engine. AUTO-GENERATED FILE, DO NOT EDIT [x86_const.ml] *)
+
+let _X86_REG_INVALID = 0;;
+let _X86_REG_AH = 1;;
+let _X86_REG_AL = 2;;
+let _X86_REG_AX = 3;;
+let _X86_REG_BH = 4;;
+let _X86_REG_BL = 5;;
+let _X86_REG_BP = 6;;
+let _X86_REG_BPL = 7;;
+let _X86_REG_BX = 8;;
+let _X86_REG_CH = 9;;
+let _X86_REG_CL = 10;;
+let _X86_REG_CS = 11;;
+let _X86_REG_CX = 12;;
+let _X86_REG_DH = 13;;
+let _X86_REG_DI = 14;;
+let _X86_REG_DIL = 15;;
+let _X86_REG_DL = 16;;
+let _X86_REG_DS = 17;;
+let _X86_REG_DX = 18;;
+let _X86_REG_EAX = 19;;
+let _X86_REG_EBP = 20;;
+let _X86_REG_EBX = 21;;
+let _X86_REG_ECX = 22;;
+let _X86_REG_EDI = 23;;
+let _X86_REG_EDX = 24;;
+let _X86_REG_EFLAGS = 25;;
+let _X86_REG_EIP = 26;;
+let _X86_REG_EIZ = 27;;
+let _X86_REG_ES = 28;;
+let _X86_REG_ESI = 29;;
+let _X86_REG_ESP = 30;;
+let _X86_REG_FPSW = 31;;
+let _X86_REG_FS = 32;;
+let _X86_REG_GS = 33;;
+let _X86_REG_IP = 34;;
+let _X86_REG_RAX = 35;;
+let _X86_REG_RBP = 36;;
+let _X86_REG_RBX = 37;;
+let _X86_REG_RCX = 38;;
+let _X86_REG_RDI = 39;;
+let _X86_REG_RDX = 40;;
+let _X86_REG_RIP = 41;;
+let _X86_REG_RIZ = 42;;
+let _X86_REG_RSI = 43;;
+let _X86_REG_RSP = 44;;
+let _X86_REG_SI = 45;;
+let _X86_REG_SIL = 46;;
+let _X86_REG_SP = 47;;
+let _X86_REG_SPL = 48;;
+let _X86_REG_SS = 49;;
+let _X86_REG_CR0 = 50;;
+let _X86_REG_CR1 = 51;;
+let _X86_REG_CR2 = 52;;
+let _X86_REG_CR3 = 53;;
+let _X86_REG_CR4 = 54;;
+let _X86_REG_CR5 = 55;;
+let _X86_REG_CR6 = 56;;
+let _X86_REG_CR7 = 57;;
+let _X86_REG_CR8 = 58;;
+let _X86_REG_CR9 = 59;;
+let _X86_REG_CR10 = 60;;
+let _X86_REG_CR11 = 61;;
+let _X86_REG_CR12 = 62;;
+let _X86_REG_CR13 = 63;;
+let _X86_REG_CR14 = 64;;
+let _X86_REG_CR15 = 65;;
+let _X86_REG_DR0 = 66;;
+let _X86_REG_DR1 = 67;;
+let _X86_REG_DR2 = 68;;
+let _X86_REG_DR3 = 69;;
+let _X86_REG_DR4 = 70;;
+let _X86_REG_DR5 = 71;;
+let _X86_REG_DR6 = 72;;
+let _X86_REG_DR7 = 73;;
+let _X86_REG_DR8 = 74;;
+let _X86_REG_DR9 = 75;;
+let _X86_REG_DR10 = 76;;
+let _X86_REG_DR11 = 77;;
+let _X86_REG_DR12 = 78;;
+let _X86_REG_DR13 = 79;;
+let _X86_REG_DR14 = 80;;
+let _X86_REG_DR15 = 81;;
+let _X86_REG_FP0 = 82;;
+let _X86_REG_FP1 = 83;;
+let _X86_REG_FP2 = 84;;
+let _X86_REG_FP3 = 85;;
+let _X86_REG_FP4 = 86;;
+let _X86_REG_FP5 = 87;;
+let _X86_REG_FP6 = 88;;
+let _X86_REG_FP7 = 89;;
+let _X86_REG_K0 = 90;;
+let _X86_REG_K1 = 91;;
+let _X86_REG_K2 = 92;;
+let _X86_REG_K3 = 93;;
+let _X86_REG_K4 = 94;;
+let _X86_REG_K5 = 95;;
+let _X86_REG_K6 = 96;;
+let _X86_REG_K7 = 97;;
+let _X86_REG_MM0 = 98;;
+let _X86_REG_MM1 = 99;;
+let _X86_REG_MM2 = 100;;
+let _X86_REG_MM3 = 101;;
+let _X86_REG_MM4 = 102;;
+let _X86_REG_MM5 = 103;;
+let _X86_REG_MM6 = 104;;
+let _X86_REG_MM7 = 105;;
+let _X86_REG_R8 = 106;;
+let _X86_REG_R9 = 107;;
+let _X86_REG_R10 = 108;;
+let _X86_REG_R11 = 109;;
+let _X86_REG_R12 = 110;;
+let _X86_REG_R13 = 111;;
+let _X86_REG_R14 = 112;;
+let _X86_REG_R15 = 113;;
+let _X86_REG_ST0 = 114;;
+let _X86_REG_ST1 = 115;;
+let _X86_REG_ST2 = 116;;
+let _X86_REG_ST3 = 117;;
+let _X86_REG_ST4 = 118;;
+let _X86_REG_ST5 = 119;;
+let _X86_REG_ST6 = 120;;
+let _X86_REG_ST7 = 121;;
+let _X86_REG_XMM0 = 122;;
+let _X86_REG_XMM1 = 123;;
+let _X86_REG_XMM2 = 124;;
+let _X86_REG_XMM3 = 125;;
+let _X86_REG_XMM4 = 126;;
+let _X86_REG_XMM5 = 127;;
+let _X86_REG_XMM6 = 128;;
+let _X86_REG_XMM7 = 129;;
+let _X86_REG_XMM8 = 130;;
+let _X86_REG_XMM9 = 131;;
+let _X86_REG_XMM10 = 132;;
+let _X86_REG_XMM11 = 133;;
+let _X86_REG_XMM12 = 134;;
+let _X86_REG_XMM13 = 135;;
+let _X86_REG_XMM14 = 136;;
+let _X86_REG_XMM15 = 137;;
+let _X86_REG_XMM16 = 138;;
+let _X86_REG_XMM17 = 139;;
+let _X86_REG_XMM18 = 140;;
+let _X86_REG_XMM19 = 141;;
+let _X86_REG_XMM20 = 142;;
+let _X86_REG_XMM21 = 143;;
+let _X86_REG_XMM22 = 144;;
+let _X86_REG_XMM23 = 145;;
+let _X86_REG_XMM24 = 146;;
+let _X86_REG_XMM25 = 147;;
+let _X86_REG_XMM26 = 148;;
+let _X86_REG_XMM27 = 149;;
+let _X86_REG_XMM28 = 150;;
+let _X86_REG_XMM29 = 151;;
+let _X86_REG_XMM30 = 152;;
+let _X86_REG_XMM31 = 153;;
+let _X86_REG_YMM0 = 154;;
+let _X86_REG_YMM1 = 155;;
+let _X86_REG_YMM2 = 156;;
+let _X86_REG_YMM3 = 157;;
+let _X86_REG_YMM4 = 158;;
+let _X86_REG_YMM5 = 159;;
+let _X86_REG_YMM6 = 160;;
+let _X86_REG_YMM7 = 161;;
+let _X86_REG_YMM8 = 162;;
+let _X86_REG_YMM9 = 163;;
+let _X86_REG_YMM10 = 164;;
+let _X86_REG_YMM11 = 165;;
+let _X86_REG_YMM12 = 166;;
+let _X86_REG_YMM13 = 167;;
+let _X86_REG_YMM14 = 168;;
+let _X86_REG_YMM15 = 169;;
+let _X86_REG_YMM16 = 170;;
+let _X86_REG_YMM17 = 171;;
+let _X86_REG_YMM18 = 172;;
+let _X86_REG_YMM19 = 173;;
+let _X86_REG_YMM20 = 174;;
+let _X86_REG_YMM21 = 175;;
+let _X86_REG_YMM22 = 176;;
+let _X86_REG_YMM23 = 177;;
+let _X86_REG_YMM24 = 178;;
+let _X86_REG_YMM25 = 179;;
+let _X86_REG_YMM26 = 180;;
+let _X86_REG_YMM27 = 181;;
+let _X86_REG_YMM28 = 182;;
+let _X86_REG_YMM29 = 183;;
+let _X86_REG_YMM30 = 184;;
+let _X86_REG_YMM31 = 185;;
+let _X86_REG_ZMM0 = 186;;
+let _X86_REG_ZMM1 = 187;;
+let _X86_REG_ZMM2 = 188;;
+let _X86_REG_ZMM3 = 189;;
+let _X86_REG_ZMM4 = 190;;
+let _X86_REG_ZMM5 = 191;;
+let _X86_REG_ZMM6 = 192;;
+let _X86_REG_ZMM7 = 193;;
+let _X86_REG_ZMM8 = 194;;
+let _X86_REG_ZMM9 = 195;;
+let _X86_REG_ZMM10 = 196;;
+let _X86_REG_ZMM11 = 197;;
+let _X86_REG_ZMM12 = 198;;
+let _X86_REG_ZMM13 = 199;;
+let _X86_REG_ZMM14 = 200;;
+let _X86_REG_ZMM15 = 201;;
+let _X86_REG_ZMM16 = 202;;
+let _X86_REG_ZMM17 = 203;;
+let _X86_REG_ZMM18 = 204;;
+let _X86_REG_ZMM19 = 205;;
+let _X86_REG_ZMM20 = 206;;
+let _X86_REG_ZMM21 = 207;;
+let _X86_REG_ZMM22 = 208;;
+let _X86_REG_ZMM23 = 209;;
+let _X86_REG_ZMM24 = 210;;
+let _X86_REG_ZMM25 = 211;;
+let _X86_REG_ZMM26 = 212;;
+let _X86_REG_ZMM27 = 213;;
+let _X86_REG_ZMM28 = 214;;
+let _X86_REG_ZMM29 = 215;;
+let _X86_REG_ZMM30 = 216;;
+let _X86_REG_ZMM31 = 217;;
+let _X86_REG_R8B = 218;;
+let _X86_REG_R9B = 219;;
+let _X86_REG_R10B = 220;;
+let _X86_REG_R11B = 221;;
+let _X86_REG_R12B = 222;;
+let _X86_REG_R13B = 223;;
+let _X86_REG_R14B = 224;;
+let _X86_REG_R15B = 225;;
+let _X86_REG_R8D = 226;;
+let _X86_REG_R9D = 227;;
+let _X86_REG_R10D = 228;;
+let _X86_REG_R11D = 229;;
+let _X86_REG_R12D = 230;;
+let _X86_REG_R13D = 231;;
+let _X86_REG_R14D = 232;;
+let _X86_REG_R15D = 233;;
+let _X86_REG_R8W = 234;;
+let _X86_REG_R9W = 235;;
+let _X86_REG_R10W = 236;;
+let _X86_REG_R11W = 237;;
+let _X86_REG_R12W = 238;;
+let _X86_REG_R13W = 239;;
+let _X86_REG_R14W = 240;;
+let _X86_REG_R15W = 241;;
+let _X86_REG_BND0 = 242;;
+let _X86_REG_BND1 = 243;;
+let _X86_REG_BND2 = 244;;
+let _X86_REG_BND3 = 245;;
+let _X86_REG_ENDING = 246;;
+let _X86_EFLAGS_MODIFY_AF = 1 lsl 0;;
+let _X86_EFLAGS_MODIFY_CF = 1 lsl 1;;
+let _X86_EFLAGS_MODIFY_SF = 1 lsl 2;;
+let _X86_EFLAGS_MODIFY_ZF = 1 lsl 3;;
+let _X86_EFLAGS_MODIFY_PF = 1 lsl 4;;
+let _X86_EFLAGS_MODIFY_OF = 1 lsl 5;;
+let _X86_EFLAGS_MODIFY_TF = 1 lsl 6;;
+let _X86_EFLAGS_MODIFY_IF = 1 lsl 7;;
+let _X86_EFLAGS_MODIFY_DF = 1 lsl 8;;
+let _X86_EFLAGS_MODIFY_NT = 1 lsl 9;;
+let _X86_EFLAGS_MODIFY_RF = 1 lsl 10;;
+let _X86_EFLAGS_PRIOR_OF = 1 lsl 11;;
+let _X86_EFLAGS_PRIOR_SF = 1 lsl 12;;
+let _X86_EFLAGS_PRIOR_ZF = 1 lsl 13;;
+let _X86_EFLAGS_PRIOR_AF = 1 lsl 14;;
+let _X86_EFLAGS_PRIOR_PF = 1 lsl 15;;
+let _X86_EFLAGS_PRIOR_CF = 1 lsl 16;;
+let _X86_EFLAGS_PRIOR_TF = 1 lsl 17;;
+let _X86_EFLAGS_PRIOR_IF = 1 lsl 18;;
+let _X86_EFLAGS_PRIOR_DF = 1 lsl 19;;
+let _X86_EFLAGS_PRIOR_NT = 1 lsl 20;;
+let _X86_EFLAGS_RESET_OF = 1 lsl 21;;
+let _X86_EFLAGS_RESET_CF = 1 lsl 22;;
+let _X86_EFLAGS_RESET_DF = 1 lsl 23;;
+let _X86_EFLAGS_RESET_IF = 1 lsl 24;;
+let _X86_EFLAGS_RESET_SF = 1 lsl 25;;
+let _X86_EFLAGS_RESET_AF = 1 lsl 26;;
+let _X86_EFLAGS_RESET_TF = 1 lsl 27;;
+let _X86_EFLAGS_RESET_NT = 1 lsl 28;;
+let _X86_EFLAGS_RESET_PF = 1 lsl 29;;
+let _X86_EFLAGS_SET_CF = 1 lsl 30;;
+let _X86_EFLAGS_SET_DF = 1 lsl 31;;
+let _X86_EFLAGS_SET_IF = 1 lsl 32;;
+let _X86_EFLAGS_TEST_OF = 1 lsl 33;;
+let _X86_EFLAGS_TEST_SF = 1 lsl 34;;
+let _X86_EFLAGS_TEST_ZF = 1 lsl 35;;
+let _X86_EFLAGS_TEST_PF = 1 lsl 36;;
+let _X86_EFLAGS_TEST_CF = 1 lsl 37;;
+let _X86_EFLAGS_TEST_NT = 1 lsl 38;;
+let _X86_EFLAGS_TEST_DF = 1 lsl 39;;
+let _X86_EFLAGS_UNDEFINED_OF = 1 lsl 40;;
+let _X86_EFLAGS_UNDEFINED_SF = 1 lsl 41;;
+let _X86_EFLAGS_UNDEFINED_ZF = 1 lsl 42;;
+let _X86_EFLAGS_UNDEFINED_PF = 1 lsl 43;;
+let _X86_EFLAGS_UNDEFINED_AF = 1 lsl 44;;
+let _X86_EFLAGS_UNDEFINED_CF = 1 lsl 45;;
+let _X86_EFLAGS_RESET_RF = 1 lsl 46;;
+let _X86_EFLAGS_TEST_RF = 1 lsl 47;;
+let _X86_EFLAGS_TEST_IF = 1 lsl 48;;
+let _X86_EFLAGS_TEST_TF = 1 lsl 49;;
+let _X86_EFLAGS_TEST_AF = 1 lsl 50;;
+let _X86_EFLAGS_RESET_ZF = 1 lsl 51;;
+let _X86_EFLAGS_SET_OF = 1 lsl 52;;
+let _X86_EFLAGS_SET_SF = 1 lsl 53;;
+let _X86_EFLAGS_SET_ZF = 1 lsl 54;;
+let _X86_EFLAGS_SET_AF = 1 lsl 55;;
+let _X86_EFLAGS_SET_PF = 1 lsl 56;;
+let _X86_EFLAGS_RESET_0F = 1 lsl 57;;
+let _X86_EFLAGS_RESET_AC = 1 lsl 58;;
+let _X86_FPU_FLAGS_MODIFY_C0 = 1 lsl 0;;
+let _X86_FPU_FLAGS_MODIFY_C1 = 1 lsl 1;;
+let _X86_FPU_FLAGS_MODIFY_C2 = 1 lsl 2;;
+let _X86_FPU_FLAGS_MODIFY_C3 = 1 lsl 3;;
+let _X86_FPU_FLAGS_RESET_C0 = 1 lsl 4;;
+let _X86_FPU_FLAGS_RESET_C1 = 1 lsl 5;;
+let _X86_FPU_FLAGS_RESET_C2 = 1 lsl 6;;
+let _X86_FPU_FLAGS_RESET_C3 = 1 lsl 7;;
+let _X86_FPU_FLAGS_SET_C0 = 1 lsl 8;;
+let _X86_FPU_FLAGS_SET_C1 = 1 lsl 9;;
+let _X86_FPU_FLAGS_SET_C2 = 1 lsl 10;;
+let _X86_FPU_FLAGS_SET_C3 = 1 lsl 11;;
+let _X86_FPU_FLAGS_UNDEFINED_C0 = 1 lsl 12;;
+let _X86_FPU_FLAGS_UNDEFINED_C1 = 1 lsl 13;;
+let _X86_FPU_FLAGS_UNDEFINED_C2 = 1 lsl 14;;
+let _X86_FPU_FLAGS_UNDEFINED_C3 = 1 lsl 15;;
+let _X86_FPU_FLAGS_TEST_C0 = 1 lsl 16;;
+let _X86_FPU_FLAGS_TEST_C1 = 1 lsl 17;;
+let _X86_FPU_FLAGS_TEST_C2 = 1 lsl 18;;
+let _X86_FPU_FLAGS_TEST_C3 = 1 lsl 19;;
+
+let _X86_OP_INVALID = 0;;
+let _X86_OP_REG = 1;;
+let _X86_OP_IMM = 2;;
+let _X86_OP_MEM = 3;;
+
+let _X86_XOP_CC_INVALID = 0;;
+let _X86_XOP_CC_LT = 1;;
+let _X86_XOP_CC_LE = 2;;
+let _X86_XOP_CC_GT = 3;;
+let _X86_XOP_CC_GE = 4;;
+let _X86_XOP_CC_EQ = 5;;
+let _X86_XOP_CC_NEQ = 6;;
+let _X86_XOP_CC_FALSE = 7;;
+let _X86_XOP_CC_TRUE = 8;;
+
+let _X86_AVX_BCAST_INVALID = 0;;
+let _X86_AVX_BCAST_2 = 1;;
+let _X86_AVX_BCAST_4 = 2;;
+let _X86_AVX_BCAST_8 = 3;;
+let _X86_AVX_BCAST_16 = 4;;
+
+let _X86_SSE_CC_INVALID = 0;;
+let _X86_SSE_CC_EQ = 1;;
+let _X86_SSE_CC_LT = 2;;
+let _X86_SSE_CC_LE = 3;;
+let _X86_SSE_CC_UNORD = 4;;
+let _X86_SSE_CC_NEQ = 5;;
+let _X86_SSE_CC_NLT = 6;;
+let _X86_SSE_CC_NLE = 7;;
+let _X86_SSE_CC_ORD = 8;;
+
+let _X86_AVX_CC_INVALID = 0;;
+let _X86_AVX_CC_EQ = 1;;
+let _X86_AVX_CC_LT = 2;;
+let _X86_AVX_CC_LE = 3;;
+let _X86_AVX_CC_UNORD = 4;;
+let _X86_AVX_CC_NEQ = 5;;
+let _X86_AVX_CC_NLT = 6;;
+let _X86_AVX_CC_NLE = 7;;
+let _X86_AVX_CC_ORD = 8;;
+let _X86_AVX_CC_EQ_UQ = 9;;
+let _X86_AVX_CC_NGE = 10;;
+let _X86_AVX_CC_NGT = 11;;
+let _X86_AVX_CC_FALSE = 12;;
+let _X86_AVX_CC_NEQ_OQ = 13;;
+let _X86_AVX_CC_GE = 14;;
+let _X86_AVX_CC_GT = 15;;
+let _X86_AVX_CC_TRUE = 16;;
+let _X86_AVX_CC_EQ_OS = 17;;
+let _X86_AVX_CC_LT_OQ = 18;;
+let _X86_AVX_CC_LE_OQ = 19;;
+let _X86_AVX_CC_UNORD_S = 20;;
+let _X86_AVX_CC_NEQ_US = 21;;
+let _X86_AVX_CC_NLT_UQ = 22;;
+let _X86_AVX_CC_NLE_UQ = 23;;
+let _X86_AVX_CC_ORD_S = 24;;
+let _X86_AVX_CC_EQ_US = 25;;
+let _X86_AVX_CC_NGE_UQ = 26;;
+let _X86_AVX_CC_NGT_UQ = 27;;
+let _X86_AVX_CC_FALSE_OS = 28;;
+let _X86_AVX_CC_NEQ_OS = 29;;
+let _X86_AVX_CC_GE_OQ = 30;;
+let _X86_AVX_CC_GT_OQ = 31;;
+let _X86_AVX_CC_TRUE_US = 32;;
+
+let _X86_AVX_RM_INVALID = 0;;
+let _X86_AVX_RM_RN = 1;;
+let _X86_AVX_RM_RD = 2;;
+let _X86_AVX_RM_RU = 3;;
+let _X86_AVX_RM_RZ = 4;;
+let _X86_PREFIX_LOCK = 0xf0;;
+let _X86_PREFIX_REP = 0xf3;;
+let _X86_PREFIX_REPE = 0xf3;;
+let _X86_PREFIX_REPNE = 0xf2;;
+let _X86_PREFIX_CS = 0x2e;;
+let _X86_PREFIX_SS = 0x36;;
+let _X86_PREFIX_DS = 0x3e;;
+let _X86_PREFIX_ES = 0x26;;
+let _X86_PREFIX_FS = 0x64;;
+let _X86_PREFIX_GS = 0x65;;
+let _X86_PREFIX_OPSIZE = 0x66;;
+let _X86_PREFIX_ADDRSIZE = 0x67;;
+
+let _X86_INS_INVALID = 0;;
+let _X86_INS_AAA = 1;;
+let _X86_INS_AAD = 2;;
+let _X86_INS_AAM = 3;;
+let _X86_INS_AAS = 4;;
+let _X86_INS_FABS = 5;;
+let _X86_INS_ADC = 6;;
+let _X86_INS_ADCX = 7;;
+let _X86_INS_ADD = 8;;
+let _X86_INS_ADDPD = 9;;
+let _X86_INS_ADDPS = 10;;
+let _X86_INS_ADDSD = 11;;
+let _X86_INS_ADDSS = 12;;
+let _X86_INS_ADDSUBPD = 13;;
+let _X86_INS_ADDSUBPS = 14;;
+let _X86_INS_FADD = 15;;
+let _X86_INS_FIADD = 16;;
+let _X86_INS_ADOX = 17;;
+let _X86_INS_AESDECLAST = 18;;
+let _X86_INS_AESDEC = 19;;
+let _X86_INS_AESENCLAST = 20;;
+let _X86_INS_AESENC = 21;;
+let _X86_INS_AESIMC = 22;;
+let _X86_INS_AESKEYGENASSIST = 23;;
+let _X86_INS_AND = 24;;
+let _X86_INS_ANDN = 25;;
+let _X86_INS_ANDNPD = 26;;
+let _X86_INS_ANDNPS = 27;;
+let _X86_INS_ANDPD = 28;;
+let _X86_INS_ANDPS = 29;;
+let _X86_INS_ARPL = 30;;
+let _X86_INS_BEXTR = 31;;
+let _X86_INS_BLCFILL = 32;;
+let _X86_INS_BLCI = 33;;
+let _X86_INS_BLCIC = 34;;
+let _X86_INS_BLCMSK = 35;;
+let _X86_INS_BLCS = 36;;
+let _X86_INS_BLENDPD = 37;;
+let _X86_INS_BLENDPS = 38;;
+let _X86_INS_BLENDVPD = 39;;
+let _X86_INS_BLENDVPS = 40;;
+let _X86_INS_BLSFILL = 41;;
+let _X86_INS_BLSI = 42;;
+let _X86_INS_BLSIC = 43;;
+let _X86_INS_BLSMSK = 44;;
+let _X86_INS_BLSR = 45;;
+let _X86_INS_BNDCL = 46;;
+let _X86_INS_BNDCN = 47;;
+let _X86_INS_BNDCU = 48;;
+let _X86_INS_BNDLDX = 49;;
+let _X86_INS_BNDMK = 50;;
+let _X86_INS_BNDMOV = 51;;
+let _X86_INS_BNDSTX = 52;;
+let _X86_INS_BOUND = 53;;
+let _X86_INS_BSF = 54;;
+let _X86_INS_BSR = 55;;
+let _X86_INS_BSWAP = 56;;
+let _X86_INS_BT = 57;;
+let _X86_INS_BTC = 58;;
+let _X86_INS_BTR = 59;;
+let _X86_INS_BTS = 60;;
+let _X86_INS_BZHI = 61;;
+let _X86_INS_CALL = 62;;
+let _X86_INS_CBW = 63;;
+let _X86_INS_CDQ = 64;;
+let _X86_INS_CDQE = 65;;
+let _X86_INS_FCHS = 66;;
+let _X86_INS_CLAC = 67;;
+let _X86_INS_CLC = 68;;
+let _X86_INS_CLD = 69;;
+let _X86_INS_CLDEMOTE = 70;;
+let _X86_INS_CLFLUSH = 71;;
+let _X86_INS_CLFLUSHOPT = 72;;
+let _X86_INS_CLGI = 73;;
+let _X86_INS_CLI = 74;;
+let _X86_INS_CLRSSBSY = 75;;
+let _X86_INS_CLTS = 76;;
+let _X86_INS_CLWB = 77;;
+let _X86_INS_CLZERO = 78;;
+let _X86_INS_CMC = 79;;
+let _X86_INS_CMOVA = 80;;
+let _X86_INS_CMOVAE = 81;;
+let _X86_INS_CMOVB = 82;;
+let _X86_INS_CMOVBE = 83;;
+let _X86_INS_FCMOVBE = 84;;
+let _X86_INS_FCMOVB = 85;;
+let _X86_INS_CMOVE = 86;;
+let _X86_INS_FCMOVE = 87;;
+let _X86_INS_CMOVG = 88;;
+let _X86_INS_CMOVGE = 89;;
+let _X86_INS_CMOVL = 90;;
+let _X86_INS_CMOVLE = 91;;
+let _X86_INS_FCMOVNBE = 92;;
+let _X86_INS_FCMOVNB = 93;;
+let _X86_INS_CMOVNE = 94;;
+let _X86_INS_FCMOVNE = 95;;
+let _X86_INS_CMOVNO = 96;;
+let _X86_INS_CMOVNP = 97;;
+let _X86_INS_FCMOVNU = 98;;
+let _X86_INS_FCMOVNP = 99;;
+let _X86_INS_CMOVNS = 100;;
+let _X86_INS_CMOVO = 101;;
+let _X86_INS_CMOVP = 102;;
+let _X86_INS_FCMOVU = 103;;
+let _X86_INS_CMOVS = 104;;
+let _X86_INS_CMP = 105;;
+let _X86_INS_CMPPD = 106;;
+let _X86_INS_CMPPS = 107;;
+let _X86_INS_CMPSB = 108;;
+let _X86_INS_CMPSD = 109;;
+let _X86_INS_CMPSQ = 110;;
+let _X86_INS_CMPSS = 111;;
+let _X86_INS_CMPSW = 112;;
+let _X86_INS_CMPXCHG16B = 113;;
+let _X86_INS_CMPXCHG = 114;;
+let _X86_INS_CMPXCHG8B = 115;;
+let _X86_INS_COMISD = 116;;
+let _X86_INS_COMISS = 117;;
+let _X86_INS_FCOMP = 118;;
+let _X86_INS_FCOMPI = 119;;
+let _X86_INS_FCOMI = 120;;
+let _X86_INS_FCOM = 121;;
+let _X86_INS_FCOS = 122;;
+let _X86_INS_CPUID = 123;;
+let _X86_INS_CQO = 124;;
+let _X86_INS_CRC32 = 125;;
+let _X86_INS_CVTDQ2PD = 126;;
+let _X86_INS_CVTDQ2PS = 127;;
+let _X86_INS_CVTPD2DQ = 128;;
+let _X86_INS_CVTPD2PS = 129;;
+let _X86_INS_CVTPS2DQ = 130;;
+let _X86_INS_CVTPS2PD = 131;;
+let _X86_INS_CVTSD2SI = 132;;
+let _X86_INS_CVTSD2SS = 133;;
+let _X86_INS_CVTSI2SD = 134;;
+let _X86_INS_CVTSI2SS = 135;;
+let _X86_INS_CVTSS2SD = 136;;
+let _X86_INS_CVTSS2SI = 137;;
+let _X86_INS_CVTTPD2DQ = 138;;
+let _X86_INS_CVTTPS2DQ = 139;;
+let _X86_INS_CVTTSD2SI = 140;;
+let _X86_INS_CVTTSS2SI = 141;;
+let _X86_INS_CWD = 142;;
+let _X86_INS_CWDE = 143;;
+let _X86_INS_DAA = 144;;
+let _X86_INS_DAS = 145;;
+let _X86_INS_DATA16 = 146;;
+let _X86_INS_DEC = 147;;
+let _X86_INS_DIV = 148;;
+let _X86_INS_DIVPD = 149;;
+let _X86_INS_DIVPS = 150;;
+let _X86_INS_FDIVR = 151;;
+let _X86_INS_FIDIVR = 152;;
+let _X86_INS_FDIVRP = 153;;
+let _X86_INS_DIVSD = 154;;
+let _X86_INS_DIVSS = 155;;
+let _X86_INS_FDIV = 156;;
+let _X86_INS_FIDIV = 157;;
+let _X86_INS_FDIVP = 158;;
+let _X86_INS_DPPD = 159;;
+let _X86_INS_DPPS = 160;;
+let _X86_INS_ENCLS = 161;;
+let _X86_INS_ENCLU = 162;;
+let _X86_INS_ENCLV = 163;;
+let _X86_INS_ENDBR32 = 164;;
+let _X86_INS_ENDBR64 = 165;;
+let _X86_INS_ENTER = 166;;
+let _X86_INS_EXTRACTPS = 167;;
+let _X86_INS_EXTRQ = 168;;
+let _X86_INS_F2XM1 = 169;;
+let _X86_INS_LCALL = 170;;
+let _X86_INS_LJMP = 171;;
+let _X86_INS_JMP = 172;;
+let _X86_INS_FBLD = 173;;
+let _X86_INS_FBSTP = 174;;
+let _X86_INS_FCOMPP = 175;;
+let _X86_INS_FDECSTP = 176;;
+let _X86_INS_FDISI8087_NOP = 177;;
+let _X86_INS_FEMMS = 178;;
+let _X86_INS_FENI8087_NOP = 179;;
+let _X86_INS_FFREE = 180;;
+let _X86_INS_FFREEP = 181;;
+let _X86_INS_FICOM = 182;;
+let _X86_INS_FICOMP = 183;;
+let _X86_INS_FINCSTP = 184;;
+let _X86_INS_FLDCW = 185;;
+let _X86_INS_FLDENV = 186;;
+let _X86_INS_FLDL2E = 187;;
+let _X86_INS_FLDL2T = 188;;
+let _X86_INS_FLDLG2 = 189;;
+let _X86_INS_FLDLN2 = 190;;
+let _X86_INS_FLDPI = 191;;
+let _X86_INS_FNCLEX = 192;;
+let _X86_INS_FNINIT = 193;;
+let _X86_INS_FNOP = 194;;
+let _X86_INS_FNSTCW = 195;;
+let _X86_INS_FNSTSW = 196;;
+let _X86_INS_FPATAN = 197;;
+let _X86_INS_FSTPNCE = 198;;
+let _X86_INS_FPREM = 199;;
+let _X86_INS_FPREM1 = 200;;
+let _X86_INS_FPTAN = 201;;
+let _X86_INS_FRNDINT = 202;;
+let _X86_INS_FRSTOR = 203;;
+let _X86_INS_FNSAVE = 204;;
+let _X86_INS_FSCALE = 205;;
+let _X86_INS_FSETPM = 206;;
+let _X86_INS_FSINCOS = 207;;
+let _X86_INS_FNSTENV = 208;;
+let _X86_INS_FXAM = 209;;
+let _X86_INS_FXRSTOR = 210;;
+let _X86_INS_FXRSTOR64 = 211;;
+let _X86_INS_FXSAVE = 212;;
+let _X86_INS_FXSAVE64 = 213;;
+let _X86_INS_FXTRACT = 214;;
+let _X86_INS_FYL2X = 215;;
+let _X86_INS_FYL2XP1 = 216;;
+let _X86_INS_GETSEC = 217;;
+let _X86_INS_GF2P8AFFINEINVQB = 218;;
+let _X86_INS_GF2P8AFFINEQB = 219;;
+let _X86_INS_GF2P8MULB = 220;;
+let _X86_INS_HADDPD = 221;;
+let _X86_INS_HADDPS = 222;;
+let _X86_INS_HLT = 223;;
+let _X86_INS_HSUBPD = 224;;
+let _X86_INS_HSUBPS = 225;;
+let _X86_INS_IDIV = 226;;
+let _X86_INS_FILD = 227;;
+let _X86_INS_IMUL = 228;;
+let _X86_INS_IN = 229;;
+let _X86_INS_INC = 230;;
+let _X86_INS_INCSSPD = 231;;
+let _X86_INS_INCSSPQ = 232;;
+let _X86_INS_INSB = 233;;
+let _X86_INS_INSERTPS = 234;;
+let _X86_INS_INSERTQ = 235;;
+let _X86_INS_INSD = 236;;
+let _X86_INS_INSW = 237;;
+let _X86_INS_INT = 238;;
+let _X86_INS_INT1 = 239;;
+let _X86_INS_INT3 = 240;;
+let _X86_INS_INTO = 241;;
+let _X86_INS_INVD = 242;;
+let _X86_INS_INVEPT = 243;;
+let _X86_INS_INVLPG = 244;;
+let _X86_INS_INVLPGA = 245;;
+let _X86_INS_INVPCID = 246;;
+let _X86_INS_INVVPID = 247;;
+let _X86_INS_IRET = 248;;
+let _X86_INS_IRETD = 249;;
+let _X86_INS_IRETQ = 250;;
+let _X86_INS_FISTTP = 251;;
+let _X86_INS_FIST = 252;;
+let _X86_INS_FISTP = 253;;
+let _X86_INS_JAE = 254;;
+let _X86_INS_JA = 255;;
+let _X86_INS_JBE = 256;;
+let _X86_INS_JB = 257;;
+let _X86_INS_JCXZ = 258;;
+let _X86_INS_JECXZ = 259;;
+let _X86_INS_JE = 260;;
+let _X86_INS_JGE = 261;;
+let _X86_INS_JG = 262;;
+let _X86_INS_JLE = 263;;
+let _X86_INS_JL = 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_KADDB = 273;;
+let _X86_INS_KADDD = 274;;
+let _X86_INS_KADDQ = 275;;
+let _X86_INS_KADDW = 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_KTESTB = 309;;
+let _X86_INS_KTESTD = 310;;
+let _X86_INS_KTESTQ = 311;;
+let _X86_INS_KTESTW = 312;;
+let _X86_INS_KUNPCKBW = 313;;
+let _X86_INS_KUNPCKDQ = 314;;
+let _X86_INS_KUNPCKWD = 315;;
+let _X86_INS_KXNORB = 316;;
+let _X86_INS_KXNORD = 317;;
+let _X86_INS_KXNORQ = 318;;
+let _X86_INS_KXNORW = 319;;
+let _X86_INS_KXORB = 320;;
+let _X86_INS_KXORD = 321;;
+let _X86_INS_KXORQ = 322;;
+let _X86_INS_KXORW = 323;;
+let _X86_INS_LAHF = 324;;
+let _X86_INS_LAR = 325;;
+let _X86_INS_LDDQU = 326;;
+let _X86_INS_LDMXCSR = 327;;
+let _X86_INS_LDS = 328;;
+let _X86_INS_FLDZ = 329;;
+let _X86_INS_FLD1 = 330;;
+let _X86_INS_FLD = 331;;
+let _X86_INS_LEA = 332;;
+let _X86_INS_LEAVE = 333;;
+let _X86_INS_LES = 334;;
+let _X86_INS_LFENCE = 335;;
+let _X86_INS_LFS = 336;;
+let _X86_INS_LGDT = 337;;
+let _X86_INS_LGS = 338;;
+let _X86_INS_LIDT = 339;;
+let _X86_INS_LLDT = 340;;
+let _X86_INS_LLWPCB = 341;;
+let _X86_INS_LMSW = 342;;
+let _X86_INS_LOCK = 343;;
+let _X86_INS_LODSB = 344;;
+let _X86_INS_LODSD = 345;;
+let _X86_INS_LODSQ = 346;;
+let _X86_INS_LODSW = 347;;
+let _X86_INS_LOOP = 348;;
+let _X86_INS_LOOPE = 349;;
+let _X86_INS_LOOPNE = 350;;
+let _X86_INS_RETF = 351;;
+let _X86_INS_RETFQ = 352;;
+let _X86_INS_LSL = 353;;
+let _X86_INS_LSS = 354;;
+let _X86_INS_LTR = 355;;
+let _X86_INS_LWPINS = 356;;
+let _X86_INS_LWPVAL = 357;;
+let _X86_INS_LZCNT = 358;;
+let _X86_INS_MASKMOVDQU = 359;;
+let _X86_INS_MAXPD = 360;;
+let _X86_INS_MAXPS = 361;;
+let _X86_INS_MAXSD = 362;;
+let _X86_INS_MAXSS = 363;;
+let _X86_INS_MFENCE = 364;;
+let _X86_INS_MINPD = 365;;
+let _X86_INS_MINPS = 366;;
+let _X86_INS_MINSD = 367;;
+let _X86_INS_MINSS = 368;;
+let _X86_INS_CVTPD2PI = 369;;
+let _X86_INS_CVTPI2PD = 370;;
+let _X86_INS_CVTPI2PS = 371;;
+let _X86_INS_CVTPS2PI = 372;;
+let _X86_INS_CVTTPD2PI = 373;;
+let _X86_INS_CVTTPS2PI = 374;;
+let _X86_INS_EMMS = 375;;
+let _X86_INS_MASKMOVQ = 376;;
+let _X86_INS_MOVD = 377;;
+let _X86_INS_MOVQ = 378;;
+let _X86_INS_MOVDQ2Q = 379;;
+let _X86_INS_MOVNTQ = 380;;
+let _X86_INS_MOVQ2DQ = 381;;
+let _X86_INS_PABSB = 382;;
+let _X86_INS_PABSD = 383;;
+let _X86_INS_PABSW = 384;;
+let _X86_INS_PACKSSDW = 385;;
+let _X86_INS_PACKSSWB = 386;;
+let _X86_INS_PACKUSWB = 387;;
+let _X86_INS_PADDB = 388;;
+let _X86_INS_PADDD = 389;;
+let _X86_INS_PADDQ = 390;;
+let _X86_INS_PADDSB = 391;;
+let _X86_INS_PADDSW = 392;;
+let _X86_INS_PADDUSB = 393;;
+let _X86_INS_PADDUSW = 394;;
+let _X86_INS_PADDW = 395;;
+let _X86_INS_PALIGNR = 396;;
+let _X86_INS_PANDN = 397;;
+let _X86_INS_PAND = 398;;
+let _X86_INS_PAVGB = 399;;
+let _X86_INS_PAVGW = 400;;
+let _X86_INS_PCMPEQB = 401;;
+let _X86_INS_PCMPEQD = 402;;
+let _X86_INS_PCMPEQW = 403;;
+let _X86_INS_PCMPGTB = 404;;
+let _X86_INS_PCMPGTD = 405;;
+let _X86_INS_PCMPGTW = 406;;
+let _X86_INS_PEXTRW = 407;;
+let _X86_INS_PHADDD = 408;;
+let _X86_INS_PHADDSW = 409;;
+let _X86_INS_PHADDW = 410;;
+let _X86_INS_PHSUBD = 411;;
+let _X86_INS_PHSUBSW = 412;;
+let _X86_INS_PHSUBW = 413;;
+let _X86_INS_PINSRW = 414;;
+let _X86_INS_PMADDUBSW = 415;;
+let _X86_INS_PMADDWD = 416;;
+let _X86_INS_PMAXSW = 417;;
+let _X86_INS_PMAXUB = 418;;
+let _X86_INS_PMINSW = 419;;
+let _X86_INS_PMINUB = 420;;
+let _X86_INS_PMOVMSKB = 421;;
+let _X86_INS_PMULHRSW = 422;;
+let _X86_INS_PMULHUW = 423;;
+let _X86_INS_PMULHW = 424;;
+let _X86_INS_PMULLW = 425;;
+let _X86_INS_PMULUDQ = 426;;
+let _X86_INS_POR = 427;;
+let _X86_INS_PSADBW = 428;;
+let _X86_INS_PSHUFB = 429;;
+let _X86_INS_PSHUFW = 430;;
+let _X86_INS_PSIGNB = 431;;
+let _X86_INS_PSIGND = 432;;
+let _X86_INS_PSIGNW = 433;;
+let _X86_INS_PSLLD = 434;;
+let _X86_INS_PSLLQ = 435;;
+let _X86_INS_PSLLW = 436;;
+let _X86_INS_PSRAD = 437;;
+let _X86_INS_PSRAW = 438;;
+let _X86_INS_PSRLD = 439;;
+let _X86_INS_PSRLQ = 440;;
+let _X86_INS_PSRLW = 441;;
+let _X86_INS_PSUBB = 442;;
+let _X86_INS_PSUBD = 443;;
+let _X86_INS_PSUBQ = 444;;
+let _X86_INS_PSUBSB = 445;;
+let _X86_INS_PSUBSW = 446;;
+let _X86_INS_PSUBUSB = 447;;
+let _X86_INS_PSUBUSW = 448;;
+let _X86_INS_PSUBW = 449;;
+let _X86_INS_PUNPCKHBW = 450;;
+let _X86_INS_PUNPCKHDQ = 451;;
+let _X86_INS_PUNPCKHWD = 452;;
+let _X86_INS_PUNPCKLBW = 453;;
+let _X86_INS_PUNPCKLDQ = 454;;
+let _X86_INS_PUNPCKLWD = 455;;
+let _X86_INS_PXOR = 456;;
+let _X86_INS_MONITORX = 457;;
+let _X86_INS_MONITOR = 458;;
+let _X86_INS_MONTMUL = 459;;
+let _X86_INS_MOV = 460;;
+let _X86_INS_MOVABS = 461;;
+let _X86_INS_MOVAPD = 462;;
+let _X86_INS_MOVAPS = 463;;
+let _X86_INS_MOVBE = 464;;
+let _X86_INS_MOVDDUP = 465;;
+let _X86_INS_MOVDIR64B = 466;;
+let _X86_INS_MOVDIRI = 467;;
+let _X86_INS_MOVDQA = 468;;
+let _X86_INS_MOVDQU = 469;;
+let _X86_INS_MOVHLPS = 470;;
+let _X86_INS_MOVHPD = 471;;
+let _X86_INS_MOVHPS = 472;;
+let _X86_INS_MOVLHPS = 473;;
+let _X86_INS_MOVLPD = 474;;
+let _X86_INS_MOVLPS = 475;;
+let _X86_INS_MOVMSKPD = 476;;
+let _X86_INS_MOVMSKPS = 477;;
+let _X86_INS_MOVNTDQA = 478;;
+let _X86_INS_MOVNTDQ = 479;;
+let _X86_INS_MOVNTI = 480;;
+let _X86_INS_MOVNTPD = 481;;
+let _X86_INS_MOVNTPS = 482;;
+let _X86_INS_MOVNTSD = 483;;
+let _X86_INS_MOVNTSS = 484;;
+let _X86_INS_MOVSB = 485;;
+let _X86_INS_MOVSD = 486;;
+let _X86_INS_MOVSHDUP = 487;;
+let _X86_INS_MOVSLDUP = 488;;
+let _X86_INS_MOVSQ = 489;;
+let _X86_INS_MOVSS = 490;;
+let _X86_INS_MOVSW = 491;;
+let _X86_INS_MOVSX = 492;;
+let _X86_INS_MOVSXD = 493;;
+let _X86_INS_MOVUPD = 494;;
+let _X86_INS_MOVUPS = 495;;
+let _X86_INS_MOVZX = 496;;
+let _X86_INS_MPSADBW = 497;;
+let _X86_INS_MUL = 498;;
+let _X86_INS_MULPD = 499;;
+let _X86_INS_MULPS = 500;;
+let _X86_INS_MULSD = 501;;
+let _X86_INS_MULSS = 502;;
+let _X86_INS_MULX = 503;;
+let _X86_INS_FMUL = 504;;
+let _X86_INS_FIMUL = 505;;
+let _X86_INS_FMULP = 506;;
+let _X86_INS_MWAITX = 507;;
+let _X86_INS_MWAIT = 508;;
+let _X86_INS_NEG = 509;;
+let _X86_INS_NOP = 510;;
+let _X86_INS_NOT = 511;;
+let _X86_INS_OR = 512;;
+let _X86_INS_ORPD = 513;;
+let _X86_INS_ORPS = 514;;
+let _X86_INS_OUT = 515;;
+let _X86_INS_OUTSB = 516;;
+let _X86_INS_OUTSD = 517;;
+let _X86_INS_OUTSW = 518;;
+let _X86_INS_PACKUSDW = 519;;
+let _X86_INS_PAUSE = 520;;
+let _X86_INS_PAVGUSB = 521;;
+let _X86_INS_PBLENDVB = 522;;
+let _X86_INS_PBLENDW = 523;;
+let _X86_INS_PCLMULQDQ = 524;;
+let _X86_INS_PCMPEQQ = 525;;
+let _X86_INS_PCMPESTRI = 526;;
+let _X86_INS_PCMPESTRM = 527;;
+let _X86_INS_PCMPGTQ = 528;;
+let _X86_INS_PCMPISTRI = 529;;
+let _X86_INS_PCMPISTRM = 530;;
+let _X86_INS_PCONFIG = 531;;
+let _X86_INS_PDEP = 532;;
+let _X86_INS_PEXT = 533;;
+let _X86_INS_PEXTRB = 534;;
+let _X86_INS_PEXTRD = 535;;
+let _X86_INS_PEXTRQ = 536;;
+let _X86_INS_PF2ID = 537;;
+let _X86_INS_PF2IW = 538;;
+let _X86_INS_PFACC = 539;;
+let _X86_INS_PFADD = 540;;
+let _X86_INS_PFCMPEQ = 541;;
+let _X86_INS_PFCMPGE = 542;;
+let _X86_INS_PFCMPGT = 543;;
+let _X86_INS_PFMAX = 544;;
+let _X86_INS_PFMIN = 545;;
+let _X86_INS_PFMUL = 546;;
+let _X86_INS_PFNACC = 547;;
+let _X86_INS_PFPNACC = 548;;
+let _X86_INS_PFRCPIT1 = 549;;
+let _X86_INS_PFRCPIT2 = 550;;
+let _X86_INS_PFRCP = 551;;
+let _X86_INS_PFRSQIT1 = 552;;
+let _X86_INS_PFRSQRT = 553;;
+let _X86_INS_PFSUBR = 554;;
+let _X86_INS_PFSUB = 555;;
+let _X86_INS_PHMINPOSUW = 556;;
+let _X86_INS_PI2FD = 557;;
+let _X86_INS_PI2FW = 558;;
+let _X86_INS_PINSRB = 559;;
+let _X86_INS_PINSRD = 560;;
+let _X86_INS_PINSRQ = 561;;
+let _X86_INS_PMAXSB = 562;;
+let _X86_INS_PMAXSD = 563;;
+let _X86_INS_PMAXUD = 564;;
+let _X86_INS_PMAXUW = 565;;
+let _X86_INS_PMINSB = 566;;
+let _X86_INS_PMINSD = 567;;
+let _X86_INS_PMINUD = 568;;
+let _X86_INS_PMINUW = 569;;
+let _X86_INS_PMOVSXBD = 570;;
+let _X86_INS_PMOVSXBQ = 571;;
+let _X86_INS_PMOVSXBW = 572;;
+let _X86_INS_PMOVSXDQ = 573;;
+let _X86_INS_PMOVSXWD = 574;;
+let _X86_INS_PMOVSXWQ = 575;;
+let _X86_INS_PMOVZXBD = 576;;
+let _X86_INS_PMOVZXBQ = 577;;
+let _X86_INS_PMOVZXBW = 578;;
+let _X86_INS_PMOVZXDQ = 579;;
+let _X86_INS_PMOVZXWD = 580;;
+let _X86_INS_PMOVZXWQ = 581;;
+let _X86_INS_PMULDQ = 582;;
+let _X86_INS_PMULHRW = 583;;
+let _X86_INS_PMULLD = 584;;
+let _X86_INS_POP = 585;;
+let _X86_INS_POPAW = 586;;
+let _X86_INS_POPAL = 587;;
+let _X86_INS_POPCNT = 588;;
+let _X86_INS_POPF = 589;;
+let _X86_INS_POPFD = 590;;
+let _X86_INS_POPFQ = 591;;
+let _X86_INS_PREFETCH = 592;;
+let _X86_INS_PREFETCHNTA = 593;;
+let _X86_INS_PREFETCHT0 = 594;;
+let _X86_INS_PREFETCHT1 = 595;;
+let _X86_INS_PREFETCHT2 = 596;;
+let _X86_INS_PREFETCHW = 597;;
+let _X86_INS_PREFETCHWT1 = 598;;
+let _X86_INS_PSHUFD = 599;;
+let _X86_INS_PSHUFHW = 600;;
+let _X86_INS_PSHUFLW = 601;;
+let _X86_INS_PSLLDQ = 602;;
+let _X86_INS_PSRLDQ = 603;;
+let _X86_INS_PSWAPD = 604;;
+let _X86_INS_PTEST = 605;;
+let _X86_INS_PTWRITE = 606;;
+let _X86_INS_PUNPCKHQDQ = 607;;
+let _X86_INS_PUNPCKLQDQ = 608;;
+let _X86_INS_PUSH = 609;;
+let _X86_INS_PUSHAW = 610;;
+let _X86_INS_PUSHAL = 611;;
+let _X86_INS_PUSHF = 612;;
+let _X86_INS_PUSHFD = 613;;
+let _X86_INS_PUSHFQ = 614;;
+let _X86_INS_RCL = 615;;
+let _X86_INS_RCPPS = 616;;
+let _X86_INS_RCPSS = 617;;
+let _X86_INS_RCR = 618;;
+let _X86_INS_RDFSBASE = 619;;
+let _X86_INS_RDGSBASE = 620;;
+let _X86_INS_RDMSR = 621;;
+let _X86_INS_RDPID = 622;;
+let _X86_INS_RDPKRU = 623;;
+let _X86_INS_RDPMC = 624;;
+let _X86_INS_RDRAND = 625;;
+let _X86_INS_RDSEED = 626;;
+let _X86_INS_RDSSPD = 627;;
+let _X86_INS_RDSSPQ = 628;;
+let _X86_INS_RDTSC = 629;;
+let _X86_INS_RDTSCP = 630;;
+let _X86_INS_REPNE = 631;;
+let _X86_INS_REP = 632;;
+let _X86_INS_RET = 633;;
+let _X86_INS_REX64 = 634;;
+let _X86_INS_ROL = 635;;
+let _X86_INS_ROR = 636;;
+let _X86_INS_RORX = 637;;
+let _X86_INS_ROUNDPD = 638;;
+let _X86_INS_ROUNDPS = 639;;
+let _X86_INS_ROUNDSD = 640;;
+let _X86_INS_ROUNDSS = 641;;
+let _X86_INS_RSM = 642;;
+let _X86_INS_RSQRTPS = 643;;
+let _X86_INS_RSQRTSS = 644;;
+let _X86_INS_RSTORSSP = 645;;
+let _X86_INS_SAHF = 646;;
+let _X86_INS_SAL = 647;;
+let _X86_INS_SALC = 648;;
+let _X86_INS_SAR = 649;;
+let _X86_INS_SARX = 650;;
+let _X86_INS_SAVEPREVSSP = 651;;
+let _X86_INS_SBB = 652;;
+let _X86_INS_SCASB = 653;;
+let _X86_INS_SCASD = 654;;
+let _X86_INS_SCASQ = 655;;
+let _X86_INS_SCASW = 656;;
+let _X86_INS_SETAE = 657;;
+let _X86_INS_SETA = 658;;
+let _X86_INS_SETBE = 659;;
+let _X86_INS_SETB = 660;;
+let _X86_INS_SETE = 661;;
+let _X86_INS_SETGE = 662;;
+let _X86_INS_SETG = 663;;
+let _X86_INS_SETLE = 664;;
+let _X86_INS_SETL = 665;;
+let _X86_INS_SETNE = 666;;
+let _X86_INS_SETNO = 667;;
+let _X86_INS_SETNP = 668;;
+let _X86_INS_SETNS = 669;;
+let _X86_INS_SETO = 670;;
+let _X86_INS_SETP = 671;;
+let _X86_INS_SETSSBSY = 672;;
+let _X86_INS_SETS = 673;;
+let _X86_INS_SFENCE = 674;;
+let _X86_INS_SGDT = 675;;
+let _X86_INS_SHA1MSG1 = 676;;
+let _X86_INS_SHA1MSG2 = 677;;
+let _X86_INS_SHA1NEXTE = 678;;
+let _X86_INS_SHA1RNDS4 = 679;;
+let _X86_INS_SHA256MSG1 = 680;;
+let _X86_INS_SHA256MSG2 = 681;;
+let _X86_INS_SHA256RNDS2 = 682;;
+let _X86_INS_SHL = 683;;
+let _X86_INS_SHLD = 684;;
+let _X86_INS_SHLX = 685;;
+let _X86_INS_SHR = 686;;
+let _X86_INS_SHRD = 687;;
+let _X86_INS_SHRX = 688;;
+let _X86_INS_SHUFPD = 689;;
+let _X86_INS_SHUFPS = 690;;
+let _X86_INS_SIDT = 691;;
+let _X86_INS_FSIN = 692;;
+let _X86_INS_SKINIT = 693;;
+let _X86_INS_SLDT = 694;;
+let _X86_INS_SLWPCB = 695;;
+let _X86_INS_SMSW = 696;;
+let _X86_INS_SQRTPD = 697;;
+let _X86_INS_SQRTPS = 698;;
+let _X86_INS_SQRTSD = 699;;
+let _X86_INS_SQRTSS = 700;;
+let _X86_INS_FSQRT = 701;;
+let _X86_INS_STAC = 702;;
+let _X86_INS_STC = 703;;
+let _X86_INS_STD = 704;;
+let _X86_INS_STGI = 705;;
+let _X86_INS_STI = 706;;
+let _X86_INS_STMXCSR = 707;;
+let _X86_INS_STOSB = 708;;
+let _X86_INS_STOSD = 709;;
+let _X86_INS_STOSQ = 710;;
+let _X86_INS_STOSW = 711;;
+let _X86_INS_STR = 712;;
+let _X86_INS_FST = 713;;
+let _X86_INS_FSTP = 714;;
+let _X86_INS_SUB = 715;;
+let _X86_INS_SUBPD = 716;;
+let _X86_INS_SUBPS = 717;;
+let _X86_INS_FSUBR = 718;;
+let _X86_INS_FISUBR = 719;;
+let _X86_INS_FSUBRP = 720;;
+let _X86_INS_SUBSD = 721;;
+let _X86_INS_SUBSS = 722;;
+let _X86_INS_FSUB = 723;;
+let _X86_INS_FISUB = 724;;
+let _X86_INS_FSUBP = 725;;
+let _X86_INS_SWAPGS = 726;;
+let _X86_INS_SYSCALL = 727;;
+let _X86_INS_SYSENTER = 728;;
+let _X86_INS_SYSEXIT = 729;;
+let _X86_INS_SYSEXITQ = 730;;
+let _X86_INS_SYSRET = 731;;
+let _X86_INS_SYSRETQ = 732;;
+let _X86_INS_T1MSKC = 733;;
+let _X86_INS_TEST = 734;;
+let _X86_INS_TPAUSE = 735;;
+let _X86_INS_FTST = 736;;
+let _X86_INS_TZCNT = 737;;
+let _X86_INS_TZMSK = 738;;
+let _X86_INS_UCOMISD = 739;;
+let _X86_INS_UCOMISS = 740;;
+let _X86_INS_FUCOMPI = 741;;
+let _X86_INS_FUCOMI = 742;;
+let _X86_INS_FUCOMPP = 743;;
+let _X86_INS_FUCOMP = 744;;
+let _X86_INS_FUCOM = 745;;
+let _X86_INS_UD0 = 746;;
+let _X86_INS_UD1 = 747;;
+let _X86_INS_UD2 = 748;;
+let _X86_INS_UMONITOR = 749;;
+let _X86_INS_UMWAIT = 750;;
+let _X86_INS_UNPCKHPD = 751;;
+let _X86_INS_UNPCKHPS = 752;;
+let _X86_INS_UNPCKLPD = 753;;
+let _X86_INS_UNPCKLPS = 754;;
+let _X86_INS_V4FMADDPS = 755;;
+let _X86_INS_V4FMADDSS = 756;;
+let _X86_INS_V4FNMADDPS = 757;;
+let _X86_INS_V4FNMADDSS = 758;;
+let _X86_INS_VADDPD = 759;;
+let _X86_INS_VADDPS = 760;;
+let _X86_INS_VADDSD = 761;;
+let _X86_INS_VADDSS = 762;;
+let _X86_INS_VADDSUBPD = 763;;
+let _X86_INS_VADDSUBPS = 764;;
+let _X86_INS_VAESDECLAST = 765;;
+let _X86_INS_VAESDEC = 766;;
+let _X86_INS_VAESENCLAST = 767;;
+let _X86_INS_VAESENC = 768;;
+let _X86_INS_VAESIMC = 769;;
+let _X86_INS_VAESKEYGENASSIST = 770;;
+let _X86_INS_VALIGND = 771;;
+let _X86_INS_VALIGNQ = 772;;
+let _X86_INS_VANDNPD = 773;;
+let _X86_INS_VANDNPS = 774;;
+let _X86_INS_VANDPD = 775;;
+let _X86_INS_VANDPS = 776;;
+let _X86_INS_VBLENDMPD = 777;;
+let _X86_INS_VBLENDMPS = 778;;
+let _X86_INS_VBLENDPD = 779;;
+let _X86_INS_VBLENDPS = 780;;
+let _X86_INS_VBLENDVPD = 781;;
+let _X86_INS_VBLENDVPS = 782;;
+let _X86_INS_VBROADCASTF128 = 783;;
+let _X86_INS_VBROADCASTF32X2 = 784;;
+let _X86_INS_VBROADCASTF32X4 = 785;;
+let _X86_INS_VBROADCASTF32X8 = 786;;
+let _X86_INS_VBROADCASTF64X2 = 787;;
+let _X86_INS_VBROADCASTF64X4 = 788;;
+let _X86_INS_VBROADCASTI128 = 789;;
+let _X86_INS_VBROADCASTI32X2 = 790;;
+let _X86_INS_VBROADCASTI32X4 = 791;;
+let _X86_INS_VBROADCASTI32X8 = 792;;
+let _X86_INS_VBROADCASTI64X2 = 793;;
+let _X86_INS_VBROADCASTI64X4 = 794;;
+let _X86_INS_VBROADCASTSD = 795;;
+let _X86_INS_VBROADCASTSS = 796;;
+let _X86_INS_VCMP = 797;;
+let _X86_INS_VCMPPD = 798;;
+let _X86_INS_VCMPPS = 799;;
+let _X86_INS_VCMPSD = 800;;
+let _X86_INS_VCMPSS = 801;;
+let _X86_INS_VCOMISD = 802;;
+let _X86_INS_VCOMISS = 803;;
+let _X86_INS_VCOMPRESSPD = 804;;
+let _X86_INS_VCOMPRESSPS = 805;;
+let _X86_INS_VCVTDQ2PD = 806;;
+let _X86_INS_VCVTDQ2PS = 807;;
+let _X86_INS_VCVTPD2DQ = 808;;
+let _X86_INS_VCVTPD2PS = 809;;
+let _X86_INS_VCVTPD2QQ = 810;;
+let _X86_INS_VCVTPD2UDQ = 811;;
+let _X86_INS_VCVTPD2UQQ = 812;;
+let _X86_INS_VCVTPH2PS = 813;;
+let _X86_INS_VCVTPS2DQ = 814;;
+let _X86_INS_VCVTPS2PD = 815;;
+let _X86_INS_VCVTPS2PH = 816;;
+let _X86_INS_VCVTPS2QQ = 817;;
+let _X86_INS_VCVTPS2UDQ = 818;;
+let _X86_INS_VCVTPS2UQQ = 819;;
+let _X86_INS_VCVTQQ2PD = 820;;
+let _X86_INS_VCVTQQ2PS = 821;;
+let _X86_INS_VCVTSD2SI = 822;;
+let _X86_INS_VCVTSD2SS = 823;;
+let _X86_INS_VCVTSD2USI = 824;;
+let _X86_INS_VCVTSI2SD = 825;;
+let _X86_INS_VCVTSI2SS = 826;;
+let _X86_INS_VCVTSS2SD = 827;;
+let _X86_INS_VCVTSS2SI = 828;;
+let _X86_INS_VCVTSS2USI = 829;;
+let _X86_INS_VCVTTPD2DQ = 830;;
+let _X86_INS_VCVTTPD2QQ = 831;;
+let _X86_INS_VCVTTPD2UDQ = 832;;
+let _X86_INS_VCVTTPD2UQQ = 833;;
+let _X86_INS_VCVTTPS2DQ = 834;;
+let _X86_INS_VCVTTPS2QQ = 835;;
+let _X86_INS_VCVTTPS2UDQ = 836;;
+let _X86_INS_VCVTTPS2UQQ = 837;;
+let _X86_INS_VCVTTSD2SI = 838;;
+let _X86_INS_VCVTTSD2USI = 839;;
+let _X86_INS_VCVTTSS2SI = 840;;
+let _X86_INS_VCVTTSS2USI = 841;;
+let _X86_INS_VCVTUDQ2PD = 842;;
+let _X86_INS_VCVTUDQ2PS = 843;;
+let _X86_INS_VCVTUQQ2PD = 844;;
+let _X86_INS_VCVTUQQ2PS = 845;;
+let _X86_INS_VCVTUSI2SD = 846;;
+let _X86_INS_VCVTUSI2SS = 847;;
+let _X86_INS_VDBPSADBW = 848;;
+let _X86_INS_VDIVPD = 849;;
+let _X86_INS_VDIVPS = 850;;
+let _X86_INS_VDIVSD = 851;;
+let _X86_INS_VDIVSS = 852;;
+let _X86_INS_VDPPD = 853;;
+let _X86_INS_VDPPS = 854;;
+let _X86_INS_VERR = 855;;
+let _X86_INS_VERW = 856;;
+let _X86_INS_VEXP2PD = 857;;
+let _X86_INS_VEXP2PS = 858;;
+let _X86_INS_VEXPANDPD = 859;;
+let _X86_INS_VEXPANDPS = 860;;
+let _X86_INS_VEXTRACTF128 = 861;;
+let _X86_INS_VEXTRACTF32X4 = 862;;
+let _X86_INS_VEXTRACTF32X8 = 863;;
+let _X86_INS_VEXTRACTF64X2 = 864;;
+let _X86_INS_VEXTRACTF64X4 = 865;;
+let _X86_INS_VEXTRACTI128 = 866;;
+let _X86_INS_VEXTRACTI32X4 = 867;;
+let _X86_INS_VEXTRACTI32X8 = 868;;
+let _X86_INS_VEXTRACTI64X2 = 869;;
+let _X86_INS_VEXTRACTI64X4 = 870;;
+let _X86_INS_VEXTRACTPS = 871;;
+let _X86_INS_VFIXUPIMMPD = 872;;
+let _X86_INS_VFIXUPIMMPS = 873;;
+let _X86_INS_VFIXUPIMMSD = 874;;
+let _X86_INS_VFIXUPIMMSS = 875;;
+let _X86_INS_VFMADD132PD = 876;;
+let _X86_INS_VFMADD132PS = 877;;
+let _X86_INS_VFMADD132SD = 878;;
+let _X86_INS_VFMADD132SS = 879;;
+let _X86_INS_VFMADD213PD = 880;;
+let _X86_INS_VFMADD213PS = 881;;
+let _X86_INS_VFMADD213SD = 882;;
+let _X86_INS_VFMADD213SS = 883;;
+let _X86_INS_VFMADD231PD = 884;;
+let _X86_INS_VFMADD231PS = 885;;
+let _X86_INS_VFMADD231SD = 886;;
+let _X86_INS_VFMADD231SS = 887;;
+let _X86_INS_VFMADDPD = 888;;
+let _X86_INS_VFMADDPS = 889;;
+let _X86_INS_VFMADDSD = 890;;
+let _X86_INS_VFMADDSS = 891;;
+let _X86_INS_VFMADDSUB132PD = 892;;
+let _X86_INS_VFMADDSUB132PS = 893;;
+let _X86_INS_VFMADDSUB213PD = 894;;
+let _X86_INS_VFMADDSUB213PS = 895;;
+let _X86_INS_VFMADDSUB231PD = 896;;
+let _X86_INS_VFMADDSUB231PS = 897;;
+let _X86_INS_VFMADDSUBPD = 898;;
+let _X86_INS_VFMADDSUBPS = 899;;
+let _X86_INS_VFMSUB132PD = 900;;
+let _X86_INS_VFMSUB132PS = 901;;
+let _X86_INS_VFMSUB132SD = 902;;
+let _X86_INS_VFMSUB132SS = 903;;
+let _X86_INS_VFMSUB213PD = 904;;
+let _X86_INS_VFMSUB213PS = 905;;
+let _X86_INS_VFMSUB213SD = 906;;
+let _X86_INS_VFMSUB213SS = 907;;
+let _X86_INS_VFMSUB231PD = 908;;
+let _X86_INS_VFMSUB231PS = 909;;
+let _X86_INS_VFMSUB231SD = 910;;
+let _X86_INS_VFMSUB231SS = 911;;
+let _X86_INS_VFMSUBADD132PD = 912;;
+let _X86_INS_VFMSUBADD132PS = 913;;
+let _X86_INS_VFMSUBADD213PD = 914;;
+let _X86_INS_VFMSUBADD213PS = 915;;
+let _X86_INS_VFMSUBADD231PD = 916;;
+let _X86_INS_VFMSUBADD231PS = 917;;
+let _X86_INS_VFMSUBADDPD = 918;;
+let _X86_INS_VFMSUBADDPS = 919;;
+let _X86_INS_VFMSUBPD = 920;;
+let _X86_INS_VFMSUBPS = 921;;
+let _X86_INS_VFMSUBSD = 922;;
+let _X86_INS_VFMSUBSS = 923;;
+let _X86_INS_VFNMADD132PD = 924;;
+let _X86_INS_VFNMADD132PS = 925;;
+let _X86_INS_VFNMADD132SD = 926;;
+let _X86_INS_VFNMADD132SS = 927;;
+let _X86_INS_VFNMADD213PD = 928;;
+let _X86_INS_VFNMADD213PS = 929;;
+let _X86_INS_VFNMADD213SD = 930;;
+let _X86_INS_VFNMADD213SS = 931;;
+let _X86_INS_VFNMADD231PD = 932;;
+let _X86_INS_VFNMADD231PS = 933;;
+let _X86_INS_VFNMADD231SD = 934;;
+let _X86_INS_VFNMADD231SS = 935;;
+let _X86_INS_VFNMADDPD = 936;;
+let _X86_INS_VFNMADDPS = 937;;
+let _X86_INS_VFNMADDSD = 938;;
+let _X86_INS_VFNMADDSS = 939;;
+let _X86_INS_VFNMSUB132PD = 940;;
+let _X86_INS_VFNMSUB132PS = 941;;
+let _X86_INS_VFNMSUB132SD = 942;;
+let _X86_INS_VFNMSUB132SS = 943;;
+let _X86_INS_VFNMSUB213PD = 944;;
+let _X86_INS_VFNMSUB213PS = 945;;
+let _X86_INS_VFNMSUB213SD = 946;;
+let _X86_INS_VFNMSUB213SS = 947;;
+let _X86_INS_VFNMSUB231PD = 948;;
+let _X86_INS_VFNMSUB231PS = 949;;
+let _X86_INS_VFNMSUB231SD = 950;;
+let _X86_INS_VFNMSUB231SS = 951;;
+let _X86_INS_VFNMSUBPD = 952;;
+let _X86_INS_VFNMSUBPS = 953;;
+let _X86_INS_VFNMSUBSD = 954;;
+let _X86_INS_VFNMSUBSS = 955;;
+let _X86_INS_VFPCLASSPD = 956;;
+let _X86_INS_VFPCLASSPS = 957;;
+let _X86_INS_VFPCLASSSD = 958;;
+let _X86_INS_VFPCLASSSS = 959;;
+let _X86_INS_VFRCZPD = 960;;
+let _X86_INS_VFRCZPS = 961;;
+let _X86_INS_VFRCZSD = 962;;
+let _X86_INS_VFRCZSS = 963;;
+let _X86_INS_VGATHERDPD = 964;;
+let _X86_INS_VGATHERDPS = 965;;
+let _X86_INS_VGATHERPF0DPD = 966;;
+let _X86_INS_VGATHERPF0DPS = 967;;
+let _X86_INS_VGATHERPF0QPD = 968;;
+let _X86_INS_VGATHERPF0QPS = 969;;
+let _X86_INS_VGATHERPF1DPD = 970;;
+let _X86_INS_VGATHERPF1DPS = 971;;
+let _X86_INS_VGATHERPF1QPD = 972;;
+let _X86_INS_VGATHERPF1QPS = 973;;
+let _X86_INS_VGATHERQPD = 974;;
+let _X86_INS_VGATHERQPS = 975;;
+let _X86_INS_VGETEXPPD = 976;;
+let _X86_INS_VGETEXPPS = 977;;
+let _X86_INS_VGETEXPSD = 978;;
+let _X86_INS_VGETEXPSS = 979;;
+let _X86_INS_VGETMANTPD = 980;;
+let _X86_INS_VGETMANTPS = 981;;
+let _X86_INS_VGETMANTSD = 982;;
+let _X86_INS_VGETMANTSS = 983;;
+let _X86_INS_VGF2P8AFFINEINVQB = 984;;
+let _X86_INS_VGF2P8AFFINEQB = 985;;
+let _X86_INS_VGF2P8MULB = 986;;
+let _X86_INS_VHADDPD = 987;;
+let _X86_INS_VHADDPS = 988;;
+let _X86_INS_VHSUBPD = 989;;
+let _X86_INS_VHSUBPS = 990;;
+let _X86_INS_VINSERTF128 = 991;;
+let _X86_INS_VINSERTF32X4 = 992;;
+let _X86_INS_VINSERTF32X8 = 993;;
+let _X86_INS_VINSERTF64X2 = 994;;
+let _X86_INS_VINSERTF64X4 = 995;;
+let _X86_INS_VINSERTI128 = 996;;
+let _X86_INS_VINSERTI32X4 = 997;;
+let _X86_INS_VINSERTI32X8 = 998;;
+let _X86_INS_VINSERTI64X2 = 999;;
+let _X86_INS_VINSERTI64X4 = 1000;;
+let _X86_INS_VINSERTPS = 1001;;
+let _X86_INS_VLDDQU = 1002;;
+let _X86_INS_VLDMXCSR = 1003;;
+let _X86_INS_VMASKMOVDQU = 1004;;
+let _X86_INS_VMASKMOVPD = 1005;;
+let _X86_INS_VMASKMOVPS = 1006;;
+let _X86_INS_VMAXPD = 1007;;
+let _X86_INS_VMAXPS = 1008;;
+let _X86_INS_VMAXSD = 1009;;
+let _X86_INS_VMAXSS = 1010;;
+let _X86_INS_VMCALL = 1011;;
+let _X86_INS_VMCLEAR = 1012;;
+let _X86_INS_VMFUNC = 1013;;
+let _X86_INS_VMINPD = 1014;;
+let _X86_INS_VMINPS = 1015;;
+let _X86_INS_VMINSD = 1016;;
+let _X86_INS_VMINSS = 1017;;
+let _X86_INS_VMLAUNCH = 1018;;
+let _X86_INS_VMLOAD = 1019;;
+let _X86_INS_VMMCALL = 1020;;
+let _X86_INS_VMOVQ = 1021;;
+let _X86_INS_VMOVAPD = 1022;;
+let _X86_INS_VMOVAPS = 1023;;
+let _X86_INS_VMOVDDUP = 1024;;
+let _X86_INS_VMOVD = 1025;;
+let _X86_INS_VMOVDQA32 = 1026;;
+let _X86_INS_VMOVDQA64 = 1027;;
+let _X86_INS_VMOVDQA = 1028;;
+let _X86_INS_VMOVDQU16 = 1029;;
+let _X86_INS_VMOVDQU32 = 1030;;
+let _X86_INS_VMOVDQU64 = 1031;;
+let _X86_INS_VMOVDQU8 = 1032;;
+let _X86_INS_VMOVDQU = 1033;;
+let _X86_INS_VMOVHLPS = 1034;;
+let _X86_INS_VMOVHPD = 1035;;
+let _X86_INS_VMOVHPS = 1036;;
+let _X86_INS_VMOVLHPS = 1037;;
+let _X86_INS_VMOVLPD = 1038;;
+let _X86_INS_VMOVLPS = 1039;;
+let _X86_INS_VMOVMSKPD = 1040;;
+let _X86_INS_VMOVMSKPS = 1041;;
+let _X86_INS_VMOVNTDQA = 1042;;
+let _X86_INS_VMOVNTDQ = 1043;;
+let _X86_INS_VMOVNTPD = 1044;;
+let _X86_INS_VMOVNTPS = 1045;;
+let _X86_INS_VMOVSD = 1046;;
+let _X86_INS_VMOVSHDUP = 1047;;
+let _X86_INS_VMOVSLDUP = 1048;;
+let _X86_INS_VMOVSS = 1049;;
+let _X86_INS_VMOVUPD = 1050;;
+let _X86_INS_VMOVUPS = 1051;;
+let _X86_INS_VMPSADBW = 1052;;
+let _X86_INS_VMPTRLD = 1053;;
+let _X86_INS_VMPTRST = 1054;;
+let _X86_INS_VMREAD = 1055;;
+let _X86_INS_VMRESUME = 1056;;
+let _X86_INS_VMRUN = 1057;;
+let _X86_INS_VMSAVE = 1058;;
+let _X86_INS_VMULPD = 1059;;
+let _X86_INS_VMULPS = 1060;;
+let _X86_INS_VMULSD = 1061;;
+let _X86_INS_VMULSS = 1062;;
+let _X86_INS_VMWRITE = 1063;;
+let _X86_INS_VMXOFF = 1064;;
+let _X86_INS_VMXON = 1065;;
+let _X86_INS_VORPD = 1066;;
+let _X86_INS_VORPS = 1067;;
+let _X86_INS_VP4DPWSSDS = 1068;;
+let _X86_INS_VP4DPWSSD = 1069;;
+let _X86_INS_VPABSB = 1070;;
+let _X86_INS_VPABSD = 1071;;
+let _X86_INS_VPABSQ = 1072;;
+let _X86_INS_VPABSW = 1073;;
+let _X86_INS_VPACKSSDW = 1074;;
+let _X86_INS_VPACKSSWB = 1075;;
+let _X86_INS_VPACKUSDW = 1076;;
+let _X86_INS_VPACKUSWB = 1077;;
+let _X86_INS_VPADDB = 1078;;
+let _X86_INS_VPADDD = 1079;;
+let _X86_INS_VPADDQ = 1080;;
+let _X86_INS_VPADDSB = 1081;;
+let _X86_INS_VPADDSW = 1082;;
+let _X86_INS_VPADDUSB = 1083;;
+let _X86_INS_VPADDUSW = 1084;;
+let _X86_INS_VPADDW = 1085;;
+let _X86_INS_VPALIGNR = 1086;;
+let _X86_INS_VPANDD = 1087;;
+let _X86_INS_VPANDND = 1088;;
+let _X86_INS_VPANDNQ = 1089;;
+let _X86_INS_VPANDN = 1090;;
+let _X86_INS_VPANDQ = 1091;;
+let _X86_INS_VPAND = 1092;;
+let _X86_INS_VPAVGB = 1093;;
+let _X86_INS_VPAVGW = 1094;;
+let _X86_INS_VPBLENDD = 1095;;
+let _X86_INS_VPBLENDMB = 1096;;
+let _X86_INS_VPBLENDMD = 1097;;
+let _X86_INS_VPBLENDMQ = 1098;;
+let _X86_INS_VPBLENDMW = 1099;;
+let _X86_INS_VPBLENDVB = 1100;;
+let _X86_INS_VPBLENDW = 1101;;
+let _X86_INS_VPBROADCASTB = 1102;;
+let _X86_INS_VPBROADCASTD = 1103;;
+let _X86_INS_VPBROADCASTMB2Q = 1104;;
+let _X86_INS_VPBROADCASTMW2D = 1105;;
+let _X86_INS_VPBROADCASTQ = 1106;;
+let _X86_INS_VPBROADCASTW = 1107;;
+let _X86_INS_VPCLMULQDQ = 1108;;
+let _X86_INS_VPCMOV = 1109;;
+let _X86_INS_VPCMP = 1110;;
+let _X86_INS_VPCMPB = 1111;;
+let _X86_INS_VPCMPD = 1112;;
+let _X86_INS_VPCMPEQB = 1113;;
+let _X86_INS_VPCMPEQD = 1114;;
+let _X86_INS_VPCMPEQQ = 1115;;
+let _X86_INS_VPCMPEQW = 1116;;
+let _X86_INS_VPCMPESTRI = 1117;;
+let _X86_INS_VPCMPESTRM = 1118;;
+let _X86_INS_VPCMPGTB = 1119;;
+let _X86_INS_VPCMPGTD = 1120;;
+let _X86_INS_VPCMPGTQ = 1121;;
+let _X86_INS_VPCMPGTW = 1122;;
+let _X86_INS_VPCMPISTRI = 1123;;
+let _X86_INS_VPCMPISTRM = 1124;;
+let _X86_INS_VPCMPQ = 1125;;
+let _X86_INS_VPCMPUB = 1126;;
+let _X86_INS_VPCMPUD = 1127;;
+let _X86_INS_VPCMPUQ = 1128;;
+let _X86_INS_VPCMPUW = 1129;;
+let _X86_INS_VPCMPW = 1130;;
+let _X86_INS_VPCOM = 1131;;
+let _X86_INS_VPCOMB = 1132;;
+let _X86_INS_VPCOMD = 1133;;
+let _X86_INS_VPCOMPRESSB = 1134;;
+let _X86_INS_VPCOMPRESSD = 1135;;
+let _X86_INS_VPCOMPRESSQ = 1136;;
+let _X86_INS_VPCOMPRESSW = 1137;;
+let _X86_INS_VPCOMQ = 1138;;
+let _X86_INS_VPCOMUB = 1139;;
+let _X86_INS_VPCOMUD = 1140;;
+let _X86_INS_VPCOMUQ = 1141;;
+let _X86_INS_VPCOMUW = 1142;;
+let _X86_INS_VPCOMW = 1143;;
+let _X86_INS_VPCONFLICTD = 1144;;
+let _X86_INS_VPCONFLICTQ = 1145;;
+let _X86_INS_VPDPBUSDS = 1146;;
+let _X86_INS_VPDPBUSD = 1147;;
+let _X86_INS_VPDPWSSDS = 1148;;
+let _X86_INS_VPDPWSSD = 1149;;
+let _X86_INS_VPERM2F128 = 1150;;
+let _X86_INS_VPERM2I128 = 1151;;
+let _X86_INS_VPERMB = 1152;;
+let _X86_INS_VPERMD = 1153;;
+let _X86_INS_VPERMI2B = 1154;;
+let _X86_INS_VPERMI2D = 1155;;
+let _X86_INS_VPERMI2PD = 1156;;
+let _X86_INS_VPERMI2PS = 1157;;
+let _X86_INS_VPERMI2Q = 1158;;
+let _X86_INS_VPERMI2W = 1159;;
+let _X86_INS_VPERMIL2PD = 1160;;
+let _X86_INS_VPERMILPD = 1161;;
+let _X86_INS_VPERMIL2PS = 1162;;
+let _X86_INS_VPERMILPS = 1163;;
+let _X86_INS_VPERMPD = 1164;;
+let _X86_INS_VPERMPS = 1165;;
+let _X86_INS_VPERMQ = 1166;;
+let _X86_INS_VPERMT2B = 1167;;
+let _X86_INS_VPERMT2D = 1168;;
+let _X86_INS_VPERMT2PD = 1169;;
+let _X86_INS_VPERMT2PS = 1170;;
+let _X86_INS_VPERMT2Q = 1171;;
+let _X86_INS_VPERMT2W = 1172;;
+let _X86_INS_VPERMW = 1173;;
+let _X86_INS_VPEXPANDB = 1174;;
+let _X86_INS_VPEXPANDD = 1175;;
+let _X86_INS_VPEXPANDQ = 1176;;
+let _X86_INS_VPEXPANDW = 1177;;
+let _X86_INS_VPEXTRB = 1178;;
+let _X86_INS_VPEXTRD = 1179;;
+let _X86_INS_VPEXTRQ = 1180;;
+let _X86_INS_VPEXTRW = 1181;;
+let _X86_INS_VPGATHERDD = 1182;;
+let _X86_INS_VPGATHERDQ = 1183;;
+let _X86_INS_VPGATHERQD = 1184;;
+let _X86_INS_VPGATHERQQ = 1185;;
+let _X86_INS_VPHADDBD = 1186;;
+let _X86_INS_VPHADDBQ = 1187;;
+let _X86_INS_VPHADDBW = 1188;;
+let _X86_INS_VPHADDDQ = 1189;;
+let _X86_INS_VPHADDD = 1190;;
+let _X86_INS_VPHADDSW = 1191;;
+let _X86_INS_VPHADDUBD = 1192;;
+let _X86_INS_VPHADDUBQ = 1193;;
+let _X86_INS_VPHADDUBW = 1194;;
+let _X86_INS_VPHADDUDQ = 1195;;
+let _X86_INS_VPHADDUWD = 1196;;
+let _X86_INS_VPHADDUWQ = 1197;;
+let _X86_INS_VPHADDWD = 1198;;
+let _X86_INS_VPHADDWQ = 1199;;
+let _X86_INS_VPHADDW = 1200;;
+let _X86_INS_VPHMINPOSUW = 1201;;
+let _X86_INS_VPHSUBBW = 1202;;
+let _X86_INS_VPHSUBDQ = 1203;;
+let _X86_INS_VPHSUBD = 1204;;
+let _X86_INS_VPHSUBSW = 1205;;
+let _X86_INS_VPHSUBWD = 1206;;
+let _X86_INS_VPHSUBW = 1207;;
+let _X86_INS_VPINSRB = 1208;;
+let _X86_INS_VPINSRD = 1209;;
+let _X86_INS_VPINSRQ = 1210;;
+let _X86_INS_VPINSRW = 1211;;
+let _X86_INS_VPLZCNTD = 1212;;
+let _X86_INS_VPLZCNTQ = 1213;;
+let _X86_INS_VPMACSDD = 1214;;
+let _X86_INS_VPMACSDQH = 1215;;
+let _X86_INS_VPMACSDQL = 1216;;
+let _X86_INS_VPMACSSDD = 1217;;
+let _X86_INS_VPMACSSDQH = 1218;;
+let _X86_INS_VPMACSSDQL = 1219;;
+let _X86_INS_VPMACSSWD = 1220;;
+let _X86_INS_VPMACSSWW = 1221;;
+let _X86_INS_VPMACSWD = 1222;;
+let _X86_INS_VPMACSWW = 1223;;
+let _X86_INS_VPMADCSSWD = 1224;;
+let _X86_INS_VPMADCSWD = 1225;;
+let _X86_INS_VPMADD52HUQ = 1226;;
+let _X86_INS_VPMADD52LUQ = 1227;;
+let _X86_INS_VPMADDUBSW = 1228;;
+let _X86_INS_VPMADDWD = 1229;;
+let _X86_INS_VPMASKMOVD = 1230;;
+let _X86_INS_VPMASKMOVQ = 1231;;
+let _X86_INS_VPMAXSB = 1232;;
+let _X86_INS_VPMAXSD = 1233;;
+let _X86_INS_VPMAXSQ = 1234;;
+let _X86_INS_VPMAXSW = 1235;;
+let _X86_INS_VPMAXUB = 1236;;
+let _X86_INS_VPMAXUD = 1237;;
+let _X86_INS_VPMAXUQ = 1238;;
+let _X86_INS_VPMAXUW = 1239;;
+let _X86_INS_VPMINSB = 1240;;
+let _X86_INS_VPMINSD = 1241;;
+let _X86_INS_VPMINSQ = 1242;;
+let _X86_INS_VPMINSW = 1243;;
+let _X86_INS_VPMINUB = 1244;;
+let _X86_INS_VPMINUD = 1245;;
+let _X86_INS_VPMINUQ = 1246;;
+let _X86_INS_VPMINUW = 1247;;
+let _X86_INS_VPMOVB2M = 1248;;
+let _X86_INS_VPMOVD2M = 1249;;
+let _X86_INS_VPMOVDB = 1250;;
+let _X86_INS_VPMOVDW = 1251;;
+let _X86_INS_VPMOVM2B = 1252;;
+let _X86_INS_VPMOVM2D = 1253;;
+let _X86_INS_VPMOVM2Q = 1254;;
+let _X86_INS_VPMOVM2W = 1255;;
+let _X86_INS_VPMOVMSKB = 1256;;
+let _X86_INS_VPMOVQ2M = 1257;;
+let _X86_INS_VPMOVQB = 1258;;
+let _X86_INS_VPMOVQD = 1259;;
+let _X86_INS_VPMOVQW = 1260;;
+let _X86_INS_VPMOVSDB = 1261;;
+let _X86_INS_VPMOVSDW = 1262;;
+let _X86_INS_VPMOVSQB = 1263;;
+let _X86_INS_VPMOVSQD = 1264;;
+let _X86_INS_VPMOVSQW = 1265;;
+let _X86_INS_VPMOVSWB = 1266;;
+let _X86_INS_VPMOVSXBD = 1267;;
+let _X86_INS_VPMOVSXBQ = 1268;;
+let _X86_INS_VPMOVSXBW = 1269;;
+let _X86_INS_VPMOVSXDQ = 1270;;
+let _X86_INS_VPMOVSXWD = 1271;;
+let _X86_INS_VPMOVSXWQ = 1272;;
+let _X86_INS_VPMOVUSDB = 1273;;
+let _X86_INS_VPMOVUSDW = 1274;;
+let _X86_INS_VPMOVUSQB = 1275;;
+let _X86_INS_VPMOVUSQD = 1276;;
+let _X86_INS_VPMOVUSQW = 1277;;
+let _X86_INS_VPMOVUSWB = 1278;;
+let _X86_INS_VPMOVW2M = 1279;;
+let _X86_INS_VPMOVWB = 1280;;
+let _X86_INS_VPMOVZXBD = 1281;;
+let _X86_INS_VPMOVZXBQ = 1282;;
+let _X86_INS_VPMOVZXBW = 1283;;
+let _X86_INS_VPMOVZXDQ = 1284;;
+let _X86_INS_VPMOVZXWD = 1285;;
+let _X86_INS_VPMOVZXWQ = 1286;;
+let _X86_INS_VPMULDQ = 1287;;
+let _X86_INS_VPMULHRSW = 1288;;
+let _X86_INS_VPMULHUW = 1289;;
+let _X86_INS_VPMULHW = 1290;;
+let _X86_INS_VPMULLD = 1291;;
+let _X86_INS_VPMULLQ = 1292;;
+let _X86_INS_VPMULLW = 1293;;
+let _X86_INS_VPMULTISHIFTQB = 1294;;
+let _X86_INS_VPMULUDQ = 1295;;
+let _X86_INS_VPOPCNTB = 1296;;
+let _X86_INS_VPOPCNTD = 1297;;
+let _X86_INS_VPOPCNTQ = 1298;;
+let _X86_INS_VPOPCNTW = 1299;;
+let _X86_INS_VPORD = 1300;;
+let _X86_INS_VPORQ = 1301;;
+let _X86_INS_VPOR = 1302;;
+let _X86_INS_VPPERM = 1303;;
+let _X86_INS_VPROLD = 1304;;
+let _X86_INS_VPROLQ = 1305;;
+let _X86_INS_VPROLVD = 1306;;
+let _X86_INS_VPROLVQ = 1307;;
+let _X86_INS_VPRORD = 1308;;
+let _X86_INS_VPRORQ = 1309;;
+let _X86_INS_VPRORVD = 1310;;
+let _X86_INS_VPRORVQ = 1311;;
+let _X86_INS_VPROTB = 1312;;
+let _X86_INS_VPROTD = 1313;;
+let _X86_INS_VPROTQ = 1314;;
+let _X86_INS_VPROTW = 1315;;
+let _X86_INS_VPSADBW = 1316;;
+let _X86_INS_VPSCATTERDD = 1317;;
+let _X86_INS_VPSCATTERDQ = 1318;;
+let _X86_INS_VPSCATTERQD = 1319;;
+let _X86_INS_VPSCATTERQQ = 1320;;
+let _X86_INS_VPSHAB = 1321;;
+let _X86_INS_VPSHAD = 1322;;
+let _X86_INS_VPSHAQ = 1323;;
+let _X86_INS_VPSHAW = 1324;;
+let _X86_INS_VPSHLB = 1325;;
+let _X86_INS_VPSHLDD = 1326;;
+let _X86_INS_VPSHLDQ = 1327;;
+let _X86_INS_VPSHLDVD = 1328;;
+let _X86_INS_VPSHLDVQ = 1329;;
+let _X86_INS_VPSHLDVW = 1330;;
+let _X86_INS_VPSHLDW = 1331;;
+let _X86_INS_VPSHLD = 1332;;
+let _X86_INS_VPSHLQ = 1333;;
+let _X86_INS_VPSHLW = 1334;;
+let _X86_INS_VPSHRDD = 1335;;
+let _X86_INS_VPSHRDQ = 1336;;
+let _X86_INS_VPSHRDVD = 1337;;
+let _X86_INS_VPSHRDVQ = 1338;;
+let _X86_INS_VPSHRDVW = 1339;;
+let _X86_INS_VPSHRDW = 1340;;
+let _X86_INS_VPSHUFBITQMB = 1341;;
+let _X86_INS_VPSHUFB = 1342;;
+let _X86_INS_VPSHUFD = 1343;;
+let _X86_INS_VPSHUFHW = 1344;;
+let _X86_INS_VPSHUFLW = 1345;;
+let _X86_INS_VPSIGNB = 1346;;
+let _X86_INS_VPSIGND = 1347;;
+let _X86_INS_VPSIGNW = 1348;;
+let _X86_INS_VPSLLDQ = 1349;;
+let _X86_INS_VPSLLD = 1350;;
+let _X86_INS_VPSLLQ = 1351;;
+let _X86_INS_VPSLLVD = 1352;;
+let _X86_INS_VPSLLVQ = 1353;;
+let _X86_INS_VPSLLVW = 1354;;
+let _X86_INS_VPSLLW = 1355;;
+let _X86_INS_VPSRAD = 1356;;
+let _X86_INS_VPSRAQ = 1357;;
+let _X86_INS_VPSRAVD = 1358;;
+let _X86_INS_VPSRAVQ = 1359;;
+let _X86_INS_VPSRAVW = 1360;;
+let _X86_INS_VPSRAW = 1361;;
+let _X86_INS_VPSRLDQ = 1362;;
+let _X86_INS_VPSRLD = 1363;;
+let _X86_INS_VPSRLQ = 1364;;
+let _X86_INS_VPSRLVD = 1365;;
+let _X86_INS_VPSRLVQ = 1366;;
+let _X86_INS_VPSRLVW = 1367;;
+let _X86_INS_VPSRLW = 1368;;
+let _X86_INS_VPSUBB = 1369;;
+let _X86_INS_VPSUBD = 1370;;
+let _X86_INS_VPSUBQ = 1371;;
+let _X86_INS_VPSUBSB = 1372;;
+let _X86_INS_VPSUBSW = 1373;;
+let _X86_INS_VPSUBUSB = 1374;;
+let _X86_INS_VPSUBUSW = 1375;;
+let _X86_INS_VPSUBW = 1376;;
+let _X86_INS_VPTERNLOGD = 1377;;
+let _X86_INS_VPTERNLOGQ = 1378;;
+let _X86_INS_VPTESTMB = 1379;;
+let _X86_INS_VPTESTMD = 1380;;
+let _X86_INS_VPTESTMQ = 1381;;
+let _X86_INS_VPTESTMW = 1382;;
+let _X86_INS_VPTESTNMB = 1383;;
+let _X86_INS_VPTESTNMD = 1384;;
+let _X86_INS_VPTESTNMQ = 1385;;
+let _X86_INS_VPTESTNMW = 1386;;
+let _X86_INS_VPTEST = 1387;;
+let _X86_INS_VPUNPCKHBW = 1388;;
+let _X86_INS_VPUNPCKHDQ = 1389;;
+let _X86_INS_VPUNPCKHQDQ = 1390;;
+let _X86_INS_VPUNPCKHWD = 1391;;
+let _X86_INS_VPUNPCKLBW = 1392;;
+let _X86_INS_VPUNPCKLDQ = 1393;;
+let _X86_INS_VPUNPCKLQDQ = 1394;;
+let _X86_INS_VPUNPCKLWD = 1395;;
+let _X86_INS_VPXORD = 1396;;
+let _X86_INS_VPXORQ = 1397;;
+let _X86_INS_VPXOR = 1398;;
+let _X86_INS_VRANGEPD = 1399;;
+let _X86_INS_VRANGEPS = 1400;;
+let _X86_INS_VRANGESD = 1401;;
+let _X86_INS_VRANGESS = 1402;;
+let _X86_INS_VRCP14PD = 1403;;
+let _X86_INS_VRCP14PS = 1404;;
+let _X86_INS_VRCP14SD = 1405;;
+let _X86_INS_VRCP14SS = 1406;;
+let _X86_INS_VRCP28PD = 1407;;
+let _X86_INS_VRCP28PS = 1408;;
+let _X86_INS_VRCP28SD = 1409;;
+let _X86_INS_VRCP28SS = 1410;;
+let _X86_INS_VRCPPS = 1411;;
+let _X86_INS_VRCPSS = 1412;;
+let _X86_INS_VREDUCEPD = 1413;;
+let _X86_INS_VREDUCEPS = 1414;;
+let _X86_INS_VREDUCESD = 1415;;
+let _X86_INS_VREDUCESS = 1416;;
+let _X86_INS_VRNDSCALEPD = 1417;;
+let _X86_INS_VRNDSCALEPS = 1418;;
+let _X86_INS_VRNDSCALESD = 1419;;
+let _X86_INS_VRNDSCALESS = 1420;;
+let _X86_INS_VROUNDPD = 1421;;
+let _X86_INS_VROUNDPS = 1422;;
+let _X86_INS_VROUNDSD = 1423;;
+let _X86_INS_VROUNDSS = 1424;;
+let _X86_INS_VRSQRT14PD = 1425;;
+let _X86_INS_VRSQRT14PS = 1426;;
+let _X86_INS_VRSQRT14SD = 1427;;
+let _X86_INS_VRSQRT14SS = 1428;;
+let _X86_INS_VRSQRT28PD = 1429;;
+let _X86_INS_VRSQRT28PS = 1430;;
+let _X86_INS_VRSQRT28SD = 1431;;
+let _X86_INS_VRSQRT28SS = 1432;;
+let _X86_INS_VRSQRTPS = 1433;;
+let _X86_INS_VRSQRTSS = 1434;;
+let _X86_INS_VSCALEFPD = 1435;;
+let _X86_INS_VSCALEFPS = 1436;;
+let _X86_INS_VSCALEFSD = 1437;;
+let _X86_INS_VSCALEFSS = 1438;;
+let _X86_INS_VSCATTERDPD = 1439;;
+let _X86_INS_VSCATTERDPS = 1440;;
+let _X86_INS_VSCATTERPF0DPD = 1441;;
+let _X86_INS_VSCATTERPF0DPS = 1442;;
+let _X86_INS_VSCATTERPF0QPD = 1443;;
+let _X86_INS_VSCATTERPF0QPS = 1444;;
+let _X86_INS_VSCATTERPF1DPD = 1445;;
+let _X86_INS_VSCATTERPF1DPS = 1446;;
+let _X86_INS_VSCATTERPF1QPD = 1447;;
+let _X86_INS_VSCATTERPF1QPS = 1448;;
+let _X86_INS_VSCATTERQPD = 1449;;
+let _X86_INS_VSCATTERQPS = 1450;;
+let _X86_INS_VSHUFF32X4 = 1451;;
+let _X86_INS_VSHUFF64X2 = 1452;;
+let _X86_INS_VSHUFI32X4 = 1453;;
+let _X86_INS_VSHUFI64X2 = 1454;;
+let _X86_INS_VSHUFPD = 1455;;
+let _X86_INS_VSHUFPS = 1456;;
+let _X86_INS_VSQRTPD = 1457;;
+let _X86_INS_VSQRTPS = 1458;;
+let _X86_INS_VSQRTSD = 1459;;
+let _X86_INS_VSQRTSS = 1460;;
+let _X86_INS_VSTMXCSR = 1461;;
+let _X86_INS_VSUBPD = 1462;;
+let _X86_INS_VSUBPS = 1463;;
+let _X86_INS_VSUBSD = 1464;;
+let _X86_INS_VSUBSS = 1465;;
+let _X86_INS_VTESTPD = 1466;;
+let _X86_INS_VTESTPS = 1467;;
+let _X86_INS_VUCOMISD = 1468;;
+let _X86_INS_VUCOMISS = 1469;;
+let _X86_INS_VUNPCKHPD = 1470;;
+let _X86_INS_VUNPCKHPS = 1471;;
+let _X86_INS_VUNPCKLPD = 1472;;
+let _X86_INS_VUNPCKLPS = 1473;;
+let _X86_INS_VXORPD = 1474;;
+let _X86_INS_VXORPS = 1475;;
+let _X86_INS_VZEROALL = 1476;;
+let _X86_INS_VZEROUPPER = 1477;;
+let _X86_INS_WAIT = 1478;;
+let _X86_INS_WBINVD = 1479;;
+let _X86_INS_WBNOINVD = 1480;;
+let _X86_INS_WRFSBASE = 1481;;
+let _X86_INS_WRGSBASE = 1482;;
+let _X86_INS_WRMSR = 1483;;
+let _X86_INS_WRPKRU = 1484;;
+let _X86_INS_WRSSD = 1485;;
+let _X86_INS_WRSSQ = 1486;;
+let _X86_INS_WRUSSD = 1487;;
+let _X86_INS_WRUSSQ = 1488;;
+let _X86_INS_XABORT = 1489;;
+let _X86_INS_XACQUIRE = 1490;;
+let _X86_INS_XADD = 1491;;
+let _X86_INS_XBEGIN = 1492;;
+let _X86_INS_XCHG = 1493;;
+let _X86_INS_FXCH = 1494;;
+let _X86_INS_XCRYPTCBC = 1495;;
+let _X86_INS_XCRYPTCFB = 1496;;
+let _X86_INS_XCRYPTCTR = 1497;;
+let _X86_INS_XCRYPTECB = 1498;;
+let _X86_INS_XCRYPTOFB = 1499;;
+let _X86_INS_XEND = 1500;;
+let _X86_INS_XGETBV = 1501;;
+let _X86_INS_XLATB = 1502;;
+let _X86_INS_XOR = 1503;;
+let _X86_INS_XORPD = 1504;;
+let _X86_INS_XORPS = 1505;;
+let _X86_INS_XRELEASE = 1506;;
+let _X86_INS_XRSTOR = 1507;;
+let _X86_INS_XRSTOR64 = 1508;;
+let _X86_INS_XRSTORS = 1509;;
+let _X86_INS_XRSTORS64 = 1510;;
+let _X86_INS_XSAVE = 1511;;
+let _X86_INS_XSAVE64 = 1512;;
+let _X86_INS_XSAVEC = 1513;;
+let _X86_INS_XSAVEC64 = 1514;;
+let _X86_INS_XSAVEOPT = 1515;;
+let _X86_INS_XSAVEOPT64 = 1516;;
+let _X86_INS_XSAVES = 1517;;
+let _X86_INS_XSAVES64 = 1518;;
+let _X86_INS_XSETBV = 1519;;
+let _X86_INS_XSHA1 = 1520;;
+let _X86_INS_XSHA256 = 1521;;
+let _X86_INS_XSTORE = 1522;;
+let _X86_INS_XTEST = 1523;;
+let _X86_INS_ENDING = 1524;;
+
+let _X86_GRP_INVALID = 0;;
+let _X86_GRP_JUMP = 1;;
+let _X86_GRP_CALL = 2;;
+let _X86_GRP_RET = 3;;
+let _X86_GRP_INT = 4;;
+let _X86_GRP_IRET = 5;;
+let _X86_GRP_PRIVILEGE = 6;;
+let _X86_GRP_BRANCH_RELATIVE = 7;;
+let _X86_GRP_VM = 128;;
+let _X86_GRP_3DNOW = 129;;
+let _X86_GRP_AES = 130;;
+let _X86_GRP_ADX = 131;;
+let _X86_GRP_AVX = 132;;
+let _X86_GRP_AVX2 = 133;;
+let _X86_GRP_AVX512 = 134;;
+let _X86_GRP_BMI = 135;;
+let _X86_GRP_BMI2 = 136;;
+let _X86_GRP_CMOV = 137;;
+let _X86_GRP_F16C = 138;;
+let _X86_GRP_FMA = 139;;
+let _X86_GRP_FMA4 = 140;;
+let _X86_GRP_FSGSBASE = 141;;
+let _X86_GRP_HLE = 142;;
+let _X86_GRP_MMX = 143;;
+let _X86_GRP_MODE32 = 144;;
+let _X86_GRP_MODE64 = 145;;
+let _X86_GRP_RTM = 146;;
+let _X86_GRP_SHA = 147;;
+let _X86_GRP_SSE1 = 148;;
+let _X86_GRP_SSE2 = 149;;
+let _X86_GRP_SSE3 = 150;;
+let _X86_GRP_SSE41 = 151;;
+let _X86_GRP_SSE42 = 152;;
+let _X86_GRP_SSE4A = 153;;
+let _X86_GRP_SSSE3 = 154;;
+let _X86_GRP_PCLMUL = 155;;
+let _X86_GRP_XOP = 156;;
+let _X86_GRP_CDI = 157;;
+let _X86_GRP_ERI = 158;;
+let _X86_GRP_TBM = 159;;
+let _X86_GRP_16BITMODE = 160;;
+let _X86_GRP_NOT64BITMODE = 161;;
+let _X86_GRP_SGX = 162;;
+let _X86_GRP_DQI = 163;;
+let _X86_GRP_BWI = 164;;
+let _X86_GRP_PFI = 165;;
+let _X86_GRP_VLX = 166;;
+let _X86_GRP_SMAP = 167;;
+let _X86_GRP_NOVLX = 168;;
+let _X86_GRP_FPU = 169;;
+let _X86_GRP_ENDING = 170;;
diff --git a/capstone/bindings/ocaml/xcore.ml b/capstone/bindings/ocaml/xcore.ml
new file mode 100644
index 000000000..ee993c137
--- /dev/null
+++ b/capstone/bindings/ocaml/xcore.ml
@@ -0,0 +1,26 @@
+(* Capstone Disassembly Engine
+ * By Guillaume Jeanne <guillaume.jeanne@ensimag.fr>, 2014> *)
+
+open Xcore_const
+
+type xcore_op_mem = {
+ base: int;
+ index: int;
+ disp: int;
+ direct: int;
+}
+
+type xcore_op_value =
+ | XCORE_OP_INVALID of int
+ | XCORE_OP_REG of int
+ | XCORE_OP_IMM of int
+ | XCORE_OP_MEM of xcore_op_mem
+
+type xcore_op = {
+ value: xcore_op_value;
+}
+
+type cs_xcore = {
+ operands: xcore_op array;
+}
+
diff --git a/capstone/bindings/ocaml/xcore_const.ml b/capstone/bindings/ocaml/xcore_const.ml
new file mode 100644
index 000000000..f32dd4ae4
--- /dev/null
+++ b/capstone/bindings/ocaml/xcore_const.ml
@@ -0,0 +1,161 @@
+(* For Capstone Engine. AUTO-GENERATED FILE, DO NOT EDIT [xcore_const.ml] *)
+
+let _XCORE_OP_INVALID = 0;;
+let _XCORE_OP_REG = 1;;
+let _XCORE_OP_IMM = 2;;
+let _XCORE_OP_MEM = 3;;
+
+let _XCORE_REG_INVALID = 0;;
+let _XCORE_REG_CP = 1;;
+let _XCORE_REG_DP = 2;;
+let _XCORE_REG_LR = 3;;
+let _XCORE_REG_SP = 4;;
+let _XCORE_REG_R0 = 5;;
+let _XCORE_REG_R1 = 6;;
+let _XCORE_REG_R2 = 7;;
+let _XCORE_REG_R3 = 8;;
+let _XCORE_REG_R4 = 9;;
+let _XCORE_REG_R5 = 10;;
+let _XCORE_REG_R6 = 11;;
+let _XCORE_REG_R7 = 12;;
+let _XCORE_REG_R8 = 13;;
+let _XCORE_REG_R9 = 14;;
+let _XCORE_REG_R10 = 15;;
+let _XCORE_REG_R11 = 16;;
+let _XCORE_REG_PC = 17;;
+let _XCORE_REG_SCP = 18;;
+let _XCORE_REG_SSR = 19;;
+let _XCORE_REG_ET = 20;;
+let _XCORE_REG_ED = 21;;
+let _XCORE_REG_SED = 22;;
+let _XCORE_REG_KEP = 23;;
+let _XCORE_REG_KSP = 24;;
+let _XCORE_REG_ID = 25;;
+let _XCORE_REG_ENDING = 26;;
+
+let _XCORE_INS_INVALID = 0;;
+let _XCORE_INS_ADD = 1;;
+let _XCORE_INS_ANDNOT = 2;;
+let _XCORE_INS_AND = 3;;
+let _XCORE_INS_ASHR = 4;;
+let _XCORE_INS_BAU = 5;;
+let _XCORE_INS_BITREV = 6;;
+let _XCORE_INS_BLA = 7;;
+let _XCORE_INS_BLAT = 8;;
+let _XCORE_INS_BL = 9;;
+let _XCORE_INS_BF = 10;;
+let _XCORE_INS_BT = 11;;
+let _XCORE_INS_BU = 12;;
+let _XCORE_INS_BRU = 13;;
+let _XCORE_INS_BYTEREV = 14;;
+let _XCORE_INS_CHKCT = 15;;
+let _XCORE_INS_CLRE = 16;;
+let _XCORE_INS_CLRPT = 17;;
+let _XCORE_INS_CLRSR = 18;;
+let _XCORE_INS_CLZ = 19;;
+let _XCORE_INS_CRC8 = 20;;
+let _XCORE_INS_CRC32 = 21;;
+let _XCORE_INS_DCALL = 22;;
+let _XCORE_INS_DENTSP = 23;;
+let _XCORE_INS_DGETREG = 24;;
+let _XCORE_INS_DIVS = 25;;
+let _XCORE_INS_DIVU = 26;;
+let _XCORE_INS_DRESTSP = 27;;
+let _XCORE_INS_DRET = 28;;
+let _XCORE_INS_ECALLF = 29;;
+let _XCORE_INS_ECALLT = 30;;
+let _XCORE_INS_EDU = 31;;
+let _XCORE_INS_EEF = 32;;
+let _XCORE_INS_EET = 33;;
+let _XCORE_INS_EEU = 34;;
+let _XCORE_INS_ENDIN = 35;;
+let _XCORE_INS_ENTSP = 36;;
+let _XCORE_INS_EQ = 37;;
+let _XCORE_INS_EXTDP = 38;;
+let _XCORE_INS_EXTSP = 39;;
+let _XCORE_INS_FREER = 40;;
+let _XCORE_INS_FREET = 41;;
+let _XCORE_INS_GETD = 42;;
+let _XCORE_INS_GET = 43;;
+let _XCORE_INS_GETN = 44;;
+let _XCORE_INS_GETR = 45;;
+let _XCORE_INS_GETSR = 46;;
+let _XCORE_INS_GETST = 47;;
+let _XCORE_INS_GETTS = 48;;
+let _XCORE_INS_INCT = 49;;
+let _XCORE_INS_INIT = 50;;
+let _XCORE_INS_INPW = 51;;
+let _XCORE_INS_INSHR = 52;;
+let _XCORE_INS_INT = 53;;
+let _XCORE_INS_IN = 54;;
+let _XCORE_INS_KCALL = 55;;
+let _XCORE_INS_KENTSP = 56;;
+let _XCORE_INS_KRESTSP = 57;;
+let _XCORE_INS_KRET = 58;;
+let _XCORE_INS_LADD = 59;;
+let _XCORE_INS_LD16S = 60;;
+let _XCORE_INS_LD8U = 61;;
+let _XCORE_INS_LDA16 = 62;;
+let _XCORE_INS_LDAP = 63;;
+let _XCORE_INS_LDAW = 64;;
+let _XCORE_INS_LDC = 65;;
+let _XCORE_INS_LDW = 66;;
+let _XCORE_INS_LDIVU = 67;;
+let _XCORE_INS_LMUL = 68;;
+let _XCORE_INS_LSS = 69;;
+let _XCORE_INS_LSUB = 70;;
+let _XCORE_INS_LSU = 71;;
+let _XCORE_INS_MACCS = 72;;
+let _XCORE_INS_MACCU = 73;;
+let _XCORE_INS_MJOIN = 74;;
+let _XCORE_INS_MKMSK = 75;;
+let _XCORE_INS_MSYNC = 76;;
+let _XCORE_INS_MUL = 77;;
+let _XCORE_INS_NEG = 78;;
+let _XCORE_INS_NOT = 79;;
+let _XCORE_INS_OR = 80;;
+let _XCORE_INS_OUTCT = 81;;
+let _XCORE_INS_OUTPW = 82;;
+let _XCORE_INS_OUTSHR = 83;;
+let _XCORE_INS_OUTT = 84;;
+let _XCORE_INS_OUT = 85;;
+let _XCORE_INS_PEEK = 86;;
+let _XCORE_INS_REMS = 87;;
+let _XCORE_INS_REMU = 88;;
+let _XCORE_INS_RETSP = 89;;
+let _XCORE_INS_SETCLK = 90;;
+let _XCORE_INS_SET = 91;;
+let _XCORE_INS_SETC = 92;;
+let _XCORE_INS_SETD = 93;;
+let _XCORE_INS_SETEV = 94;;
+let _XCORE_INS_SETN = 95;;
+let _XCORE_INS_SETPSC = 96;;
+let _XCORE_INS_SETPT = 97;;
+let _XCORE_INS_SETRDY = 98;;
+let _XCORE_INS_SETSR = 99;;
+let _XCORE_INS_SETTW = 100;;
+let _XCORE_INS_SETV = 101;;
+let _XCORE_INS_SEXT = 102;;
+let _XCORE_INS_SHL = 103;;
+let _XCORE_INS_SHR = 104;;
+let _XCORE_INS_SSYNC = 105;;
+let _XCORE_INS_ST16 = 106;;
+let _XCORE_INS_ST8 = 107;;
+let _XCORE_INS_STW = 108;;
+let _XCORE_INS_SUB = 109;;
+let _XCORE_INS_SYNCR = 110;;
+let _XCORE_INS_TESTCT = 111;;
+let _XCORE_INS_TESTLCL = 112;;
+let _XCORE_INS_TESTWCT = 113;;
+let _XCORE_INS_TSETMR = 114;;
+let _XCORE_INS_START = 115;;
+let _XCORE_INS_WAITEF = 116;;
+let _XCORE_INS_WAITET = 117;;
+let _XCORE_INS_WAITEU = 118;;
+let _XCORE_INS_XOR = 119;;
+let _XCORE_INS_ZEXT = 120;;
+let _XCORE_INS_ENDING = 121;;
+
+let _XCORE_GRP_INVALID = 0;;
+let _XCORE_GRP_JUMP = 1;;
+let _XCORE_GRP_ENDING = 2;;
diff --git a/capstone/bindings/powershell/Capstone/Capstone.Format.ps1xml b/capstone/bindings/powershell/Capstone/Capstone.Format.ps1xml
new file mode 100644
index 000000000..1c9ab0f62
--- /dev/null
+++ b/capstone/bindings/powershell/Capstone/Capstone.Format.ps1xml
@@ -0,0 +1,157 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<Configuration>
+ <DefaultSettings>
+ <EnumerableExpansions>
+ <EnumerableExpansion>
+ <Expand>Both</Expand>
+ </EnumerableExpansion>
+ </EnumerableExpansions>
+ </DefaultSettings>
+ <ViewDefinitions>
+ <View>
+ <Name>CapstoneDisassemblyViewSimple</Name>
+ <ViewSelectedBy>
+ <TypeName>CapstoneDisassembly.Simple</TypeName>
+ </ViewSelectedBy>
+ <ListControl>
+ <ListEntries>
+ <ListEntry>
+ <ListItems>
+ <ListItem>
+ <PropertyName>Address</PropertyName>
+ <FormatString>0x{0:X}</FormatString>
+ </ListItem>
+ <ListItem>
+ <PropertyName>Instruction</PropertyName>
+ </ListItem>
+ </ListItems>
+ </ListEntry>
+ </ListEntries>
+ </ListControl>
+ </View>
+ <View>
+ <Name>CapstoneDisassemblyViewSimple</Name>
+ <ViewSelectedBy>
+ <TypeName>CapstoneDisassembly.Simple</TypeName>
+ </ViewSelectedBy>
+ <TableControl>
+ <TableHeaders>
+ <TableColumnHeader>
+ <Label>Address</Label>
+ </TableColumnHeader>
+ <TableColumnHeader>
+ <Label>Instruction</Label>
+ </TableColumnHeader>
+ </TableHeaders>
+ <TableRowEntries>
+ <TableRowEntry>
+ <TableColumnItems>
+ <TableColumnItem>
+ <PropertyName>Address</PropertyName>
+ <FormatString>0x{0:x}</FormatString>
+ </TableColumnItem>
+ <TableColumnItem>
+ <PropertyName>Instruction</PropertyName>
+ </TableColumnItem>
+ </TableColumnItems>
+ </TableRowEntry>
+ </TableRowEntries>
+ </TableControl>
+ </View>
+ <View>
+ <Name>CapstoneDisassemblyViewDetailed</Name>
+ <ViewSelectedBy>
+ <TypeName>CapstoneDisassembly.Detailed</TypeName>
+ </ViewSelectedBy>
+ <ListControl>
+ <ListEntries>
+ <ListEntry>
+ <ListItems>
+ <ListItem>
+ <PropertyName>Address</PropertyName>
+ <FormatString>0x{0:X}</FormatString>
+ </ListItem>
+ <ListItem>
+ <PropertyName>Mnemonic</PropertyName>
+ </ListItem>
+ <ListItem>
+ <PropertyName>Operands</PropertyName>
+ </ListItem>
+ <ListItem>
+ <PropertyName>Bytes</PropertyName>
+ </ListItem>
+ <ListItem>
+ <PropertyName>Size</PropertyName>
+ </ListItem>
+ <ListItem>
+ <PropertyName>RegRead</PropertyName>
+ </ListItem>
+ <ListItem>
+ <PropertyName>RegWrite</PropertyName>
+ </ListItem>
+ </ListItems>
+ </ListEntry>
+ </ListEntries>
+ </ListControl>
+ </View>
+ <View>
+ <Name>CapstoneDisassemblyViewDetailed</Name>
+ <ViewSelectedBy>
+ <TypeName>CapstoneDisassembly.Detailed</TypeName>
+ </ViewSelectedBy>
+ <TableControl>
+ <TableHeaders>
+ <TableColumnHeader>
+ <Label>Address</Label>
+ </TableColumnHeader>
+ <TableColumnHeader>
+ <Label>Mnemonic</Label>
+ </TableColumnHeader>
+ <TableColumnHeader>
+ <Label>Operands</Label>
+ </TableColumnHeader>
+ <TableColumnHeader>
+ <Label>Bytes</Label>
+ </TableColumnHeader>
+ <TableColumnHeader>
+ <Label>Size</Label>
+ </TableColumnHeader>
+ <TableColumnHeader>
+ <Label>RegRead</Label>
+ </TableColumnHeader>
+ <TableColumnHeader>
+ <Label>RegWrite</Label>
+ </TableColumnHeader>
+ </TableHeaders>
+ <TableRowEntries>
+ <TableRowEntry>
+ <TableColumnItems>
+ <TableColumnItem>
+ <PropertyName>Address</PropertyName>
+ <FormatString>0x{0:x}</FormatString>
+ </TableColumnItem>
+ <TableColumnItem>
+ <PropertyName>Mnemonic</PropertyName>
+ </TableColumnItem>
+ <TableColumnItem>
+ <PropertyName>Operands</PropertyName>
+ </TableColumnItem>
+ <TableColumnItem>
+ <PropertyName>Bytes</PropertyName>
+ </TableColumnItem>
+ <TableColumnItem>
+ <PropertyName>Size</PropertyName>
+ </TableColumnItem>
+ <TableColumnItem>
+ <PropertyName>RegRead</PropertyName>
+ </TableColumnItem>
+ <TableColumnItem>
+ <PropertyName>RegWrite</PropertyName>
+ </TableColumnItem>
+ </TableColumnItems>
+ </TableRowEntry>
+ </TableRowEntries>
+ </TableControl>
+ </View>
+ </ViewDefinitions>
+</Configuration> \ No newline at end of file
diff --git a/capstone/bindings/powershell/Capstone/Capstone.psd1 b/capstone/bindings/powershell/Capstone/Capstone.psd1
new file mode 100755
index 000000000..4224b0421
--- /dev/null
+++ b/capstone/bindings/powershell/Capstone/Capstone.psd1
@@ -0,0 +1,118 @@
+#
+# Module manifest for module 'Capstone'
+#
+
+@{
+
+# Script module or binary module file associated with this manifest.
+ModuleToProcess = 'Capstone.psm1'
+
+# Version number of this module.
+ModuleVersion = '0.0.0.2'
+
+# Supported PSEditions
+# CompatiblePSEditions = @()
+
+# ID used to uniquely identify this module
+GUID = 'd34db33f-9958-436d-a2d8-a77844a2bda5'
+
+# Author of this module
+Author = 'Ruben Boonen, beatcracker'
+
+# Company or vendor of this module
+# CompanyName = 'Unknown'
+
+# Copyright statement for this module
+Copyright = 'BSD 3-Clause'
+
+# Description of the functionality provided by this module
+Description = 'Capstone Engine Binding Module'
+
+# Minimum version of the Windows PowerShell engine required by this module
+PowerShellVersion = '2.0'
+
+# Name of the Windows PowerShell host required by this module
+# PowerShellHostName = ''
+
+# Minimum version of the Windows PowerShell host required by this module
+# PowerShellHostVersion = ''
+
+# Minimum version of Microsoft .NET Framework required by this module. This prerequisite is valid for the PowerShell Desktop edition only.
+# DotNetFrameworkVersion = ''
+
+# Minimum version of the common language runtime (CLR) required by this module. This prerequisite is valid for the PowerShell Desktop edition only.
+# CLRVersion = ''
+
+# Processor architecture (None, X86, Amd64) required by this module
+# ProcessorArchitecture = ''
+
+# Modules that must be imported into the global environment prior to importing this module
+# RequiredModules = @()
+
+# Assemblies that must be loaded prior to importing this module
+# RequiredAssemblies = @()
+
+# Script files (.ps1) that are run in the caller's environment prior to importing this module.
+# ScriptsToProcess = @()
+
+# Type files (.ps1xml) to be loaded when importing this module
+# TypesToProcess = @()
+
+# Format files (.ps1xml) to be loaded when importing this module
+FormatsToProcess = 'Capstone.Format.ps1xml'
+
+# Modules to import as nested modules of the module specified in RootModule/ModuleToProcess
+# NestedModules = @()
+
+# Functions to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no functions to export.
+FunctionsToExport = 'Get-CapstoneVersion', 'Get-CapstoneDisassembly'
+
+# Cmdlets to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no cmdlets to export.
+CmdletsToExport = @()
+
+# Variables to export from this module
+VariablesToExport = @()
+
+# Aliases to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no aliases to export.
+AliasesToExport = @()
+
+# DSC resources to export from this module
+# DscResourcesToExport = @()
+
+# List of all modules packaged with this module
+# ModuleList = @()
+
+# List of all files packaged with this module
+# FileList = @()
+
+# Private data to pass to the module specified in RootModule/ModuleToProcess. This may also contain a PSData hashtable with additional module metadata used by PowerShell.
+PrivateData = @{
+
+ PSData = @{
+
+ # Tags applied to this module. These help with module discovery in online galleries.
+ # Tags = @()
+
+ # A URL to the license for this module.
+ # LicenseUri = ''
+
+ # A URL to the main website for this project.
+ # ProjectUri = ''
+
+ # A URL to an icon representing this module.
+ # IconUri = ''
+
+ # ReleaseNotes of this module
+ # ReleaseNotes = ''
+
+ } # End of PSData hashtable
+
+} # End of PrivateData hashtable
+
+# HelpInfo URI of this module
+# HelpInfoURI = ''
+
+# Default prefix for commands exported from this module. Override the default prefix using Import-Module -Prefix.
+# DefaultCommandPrefix = ''
+
+} \ No newline at end of file
diff --git a/capstone/bindings/powershell/Capstone/Capstone.psm1 b/capstone/bindings/powershell/Capstone/Capstone.psm1
new file mode 100755
index 000000000..ba50143a8
--- /dev/null
+++ b/capstone/bindings/powershell/Capstone/Capstone.psm1
@@ -0,0 +1,500 @@
+<#
+.SYNOPSIS
+ Get Capstone version as Version object
+#>
+function Get-CapstoneVersion {
+ $Version = [System.BitConverter]::GetBytes(
+ [Capstone]::cs_version($null, $null)
+ )
+
+ New-Object -TypeName version -ArgumentList @(
+ $Version[1]
+ $Version[0]
+ 0
+ 0
+ )
+}
+
+<#
+.SYNOPSIS
+ Create C# bindings for capstone.dll
+
+.PARAMETER DllPath
+ Path to capstone.dll
+#>
+function Initialize-Capstone {
+ [CmdletBinding()]
+ Param (
+ [Parameter(Mandatory = $true)]
+ [ValidateScript( {
+ try {
+ Test-Path -Path $_ -PathType Leaf -ErrorAction Stop
+ } catch {
+ throw "Capstone DLL is missing: $DllPath"
+ }
+ })]
+ [ValidateNotNullOrEmpty()]
+ [string]$DllPath
+ )
+
+ # Escape path for use in inline C#
+ $DllPath = $DllPath.Replace('\', '\\')
+
+ # Inline C# to parse the unmanaged capstone DLL
+ # http://stackoverflow.com/questions/16552801/how-do-i-conditionally-add-a-class-with-add-type-typedefinition-if-it-isnt-add
+ if (-not ([System.Management.Automation.PSTypeName]'Capstone').Type) {
+ Add-Type -TypeDefinition @"
+ using System;
+ using System.Diagnostics;
+ using System.Runtime.InteropServices;
+ using System.Security.Principal;
+
+ [StructLayout(LayoutKind.Sequential)]
+ public struct cs_insn
+ {
+ public uint id;
+ public ulong address;
+ public ushort size;
+ [MarshalAs(UnmanagedType.ByValArray, SizeConst = 24)]
+ public byte[] bytes;
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
+ public string mnemonic;
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 160)]
+ public string operands;
+ public IntPtr detail;
+ }
+
+ /// Partial, only architecture-independent internal data
+ [StructLayout(LayoutKind.Sequential)]
+ public struct cs_detail
+ {
+ [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
+ public byte[] regs_read;
+ public byte regs_read_count;
+ [MarshalAs(UnmanagedType.ByValArray, SizeConst = 20)]
+ public byte[] regs_write;
+ public byte regs_write_count;
+ [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
+ public byte[] groups;
+ public byte groups_count;
+ }
+
+ public enum cs_err : int
+ {
+ CS_ERR_OK = 0, /// No error: everything was fine
+ CS_ERR_MEM, /// Out-Of-Memory error: cs_open(), cs_disasm(), cs_disasm_iter()
+ CS_ERR_ARCH, /// Unsupported architecture: cs_open()
+ CS_ERR_HANDLE, /// Invalid handle: cs_op_count(), cs_op_index()
+ CS_ERR_CSH, /// Invalid csh argument: cs_close(), cs_errno(), cs_option()
+ CS_ERR_MODE, /// Invalid/unsupported mode: cs_open()
+ CS_ERR_OPTION, /// Invalid/unsupported option: cs_option()
+ CS_ERR_DETAIL, /// Information is unavailable because detail option is OFF
+ CS_ERR_MEMSETUP, /// Dynamic memory management uninitialized (see CS_OPT_MEM)
+ CS_ERR_VERSION, /// Unsupported version (bindings)
+ CS_ERR_DIET, /// Access irrelevant data in "diet" engine
+ CS_ERR_SKIPDATA, /// Access irrelevant data for "data" instruction in SKIPDATA mode
+ CS_ERR_X86_ATT, /// X86 AT&T syntax is unsupported (opt-out at compile time)
+ CS_ERR_X86_INTEL, /// X86 Intel syntax is unsupported (opt-out at compile time)
+ }
+ public enum cs_arch : int
+ {
+ CS_ARCH_ARM = 0, /// ARM architecture (including Thumb, Thumb-2)
+ CS_ARCH_ARM64, /// ARM-64, also called AArch64
+ CS_ARCH_MIPS, /// Mips architecture
+ CS_ARCH_X86, /// X86 architecture (including x86 & x86-64)
+ CS_ARCH_PPC, /// PowerPC architecture
+ CS_ARCH_SPARC, /// Sparc architecture
+ CS_ARCH_SYSZ, /// SystemZ architecture
+ CS_ARCH_XCORE, /// XCore architecture
+ CS_ARCH_MAX,
+ CS_ARCH_ALL = 0xFFFF, /// All architectures - for cs_support()
+ }
+ public enum cs_mode : int
+ {
+ CS_MODE_LITTLE_ENDIAN = 0, /// little-endian mode (default mode)
+ CS_MODE_ARM = 0, /// 32-bit ARM
+ CS_MODE_16 = 1 << 1, /// 16-bit mode (X86)
+ CS_MODE_32 = 1 << 2, /// 32-bit mode (X86)
+ CS_MODE_64 = 1 << 3, /// 64-bit mode (X86, PPC)
+ CS_MODE_THUMB = 1 << 4, /// ARM's Thumb mode, including Thumb-2
+ CS_MODE_MCLASS = 1 << 5, /// ARM's Cortex-M series
+ CS_MODE_V8 = 1 << 6, /// ARMv8 A32 encodings for ARM
+ CS_MODE_MICRO = 1 << 4, /// MicroMips mode (MIPS)
+ CS_MODE_MIPS3 = 1 << 5, /// Mips III ISA
+ CS_MODE_MIPS32R6 = 1 << 6, /// Mips32r6 ISA
+ CS_MODE_MIPSGP64 = 1 << 7, /// General Purpose Registers are 64-bit wide (MIPS)
+ CS_MODE_V9 = 1 << 4, /// SparcV9 mode (Sparc)
+ CS_MODE_BIG_ENDIAN = 1 << 31, /// big-endian mode
+ CS_MODE_MIPS32 = CS_MODE_32, /// Mips32 ISA (Mips)
+ CS_MODE_MIPS64 = CS_MODE_64, /// Mips64 ISA (Mips)
+ }
+
+ public static class Capstone
+ {
+ [DllImport("$DllPath")]
+ public static extern cs_err cs_open(
+ cs_arch arch,
+ cs_mode mode,
+ ref IntPtr handle);
+
+ [DllImport("$DllPath")]
+ public static extern UInt32 cs_disasm(
+ IntPtr handle,
+ byte[] code,
+ int code_size,
+ ulong address,
+ int count,
+ ref IntPtr insn);
+
+ [DllImport("$DllPath")]
+ public static extern bool cs_free(
+ IntPtr insn,
+ int count);
+
+ [DllImport("$DllPath")]
+ public static extern cs_err cs_close(
+ ref IntPtr handle);
+
+ [DllImport("$DllPath")]
+ public static extern cs_err cs_option(
+ IntPtr handle,
+ int type,
+ int value);
+
+ [DllImport("$DllPath", CallingConvention = CallingConvention.Cdecl)]
+ public static extern IntPtr cs_reg_name(
+ IntPtr handle,
+ uint reg_id);
+
+ [DllImport("$DllPath")]
+ public static extern int cs_version(
+ uint major,
+ uint minor);
+ }
+"@
+ } else {
+ Write-Verbose 'C# bindings are already compiled'
+ }
+}
+
+function Get-CapstoneDisassembly {
+<#
+.SYNOPSIS
+ Powershell wrapper for Capstone (using inline C#).
+
+.DESCRIPTION
+ Author: Ruben Boonen (@FuzzySec), @beatcracker
+ License: BSD 3-Clause
+ Required Dependencies: None
+ Optional Dependencies: None
+
+.PARAMETER Architecture
+ Architecture type.
+
+.PARAMETER Mode
+ Mode type.
+
+.PARAMETER Bytes
+ Byte array to be disassembled.
+
+.PARAMETER Syntax
+ Syntax for output assembly.
+
+.PARAMETER Address
+ Assign address for the first instruction to be disassembled.
+
+.PARAMETER Detailed
+ Return detailed output.
+
+.PARAMETER Version
+ Print ASCII version banner.
+
+.EXAMPLE
+
+ C:\PS> $Bytes = [byte[]] @( 0x10, 0xf1, 0x10, 0xe7, 0x11, 0xf2, 0x31, 0xe7, 0xdc, 0xa1, 0x2e, 0xf3, 0xe8, 0x4e, 0x62, 0xf3 )
+ C:\PS> Get-CapstoneDisassembly -Architecture CS_ARCH_ARM -Mode CS_MODE_ARM -Bytes $Bytes
+
+ Address : 0x100000
+ Instruction : sdiv r0, r0, r1
+
+ Address : 0x100004
+ Instruction : udiv r1, r1, r2
+
+ Address : 0x100008
+ Instruction : vbit q5, q15, q6
+
+ Address : 0x10000C
+ Instruction : vcgt.f32 q10, q9, q12
+
+.EXAMPLE
+
+ # Detailed mode & ATT syntax
+ C:\PS> $Bytes = [byte[]] @( 0xB8, 0x0A, 0x00, 0x00, 0x00, 0xF7, 0xF3 )
+ C:\PS> Get-CapstoneDisassembly -Architecture CS_ARCH_X86 -Mode CS_MODE_32 -Bytes $Bytes -Syntax ATT -Detailed
+
+ Address : 0x100000
+ Mnemonic : movl
+ Operands : $0xa, %eax
+ Bytes : {184, 10, 0, 0...}
+ Size : 5
+ RegRead :
+ RegWrite :
+
+ Address : 0x100005
+ Mnemonic : divl
+ Operands : %ebx
+ Bytes : {247, 243}
+ Size : 2
+ RegRead : {eax, edx}
+ RegWrite : {eax, edx, eflags}
+
+.EXAMPLE
+
+ # Get-CapstoneDisassembly emits objects
+ C:\PS> $Bytes = [byte[]] @( 0xB8, 0x0A, 0x00, 0x00, 0x00, 0xF7, 0xF3 )
+ C:\PS> $Object = Get-CapstoneDisassembly -Architecture CS_ARCH_X86 -Mode CS_MODE_32 -Bytes $Bytes -Detailed
+ C:\PS> $Object | Select-Object -Property Size, Mnemonic, Operands
+
+ Size Mnemonic Operands
+ ---- -------- --------
+ 5 mov eax, 0xa
+ 2 div ebx
+#>
+ [CmdletBinding(DefaultParameterSetName = 'Capstone')]
+ Param (
+ [Parameter(ParameterSetName = 'Capstone', Mandatory = $true)]
+ [ValidateSet(
+ 'CS_ARCH_ARM',
+ 'CS_ARCH_ARM64',
+ 'CS_ARCH_MIPS',
+ 'CS_ARCH_X86',
+ 'CS_ARCH_PPC',
+ 'CS_ARCH_SPARC',
+ 'CS_ARCH_SYSZ',
+ 'CS_ARCH_XCORE',
+ 'CS_ARCH_MAX',
+ 'CS_ARCH_ALL'
+ )]
+ [string]$Architecture,
+
+ [Parameter(ParameterSetName = 'Capstone', Mandatory = $true)]
+ [ValidateSet(
+ 'CS_MODE_LITTLE_ENDIAN',
+ 'CS_MODE_ARM',
+ 'CS_MODE_16',
+ 'CS_MODE_32',
+ 'CS_MODE_64',
+ 'CS_MODE_THUMB',
+ 'CS_MODE_MCLASS',
+ 'CS_MODE_V8',
+ 'CS_MODE_MICRO',
+ 'CS_MODE_MIPS3',
+ 'CS_MODE_MIPS32R6',
+ 'CS_MODE_MIPSGP64',
+ 'CS_MODE_V9',
+ 'CS_MODE_BIG_ENDIAN',
+ 'CS_MODE_MIPS32',
+ 'CS_MODE_MIPS64'
+ )]
+ [string]$Mode,
+
+ [Parameter(ParameterSetName = 'Capstone', Mandatory = $true)]
+ [ValidateNotNullOrEmpty()]
+ [byte[]]$Bytes,
+
+ [Parameter(ParameterSetName = 'Capstone')]
+ [ValidateSet(
+ 'Intel',
+ 'ATT'
+ )]
+ [string]$Syntax = 'Intel',
+
+ [Parameter(ParameterSetName = 'Capstone')]
+ [uint64]$Address = 0x100000,
+
+ [Parameter(ParameterSetName = 'Capstone')]
+ [switch]$Detailed,
+
+ [Parameter(ParameterSetName = 'Version')]
+ [switch]$Version
+ )
+
+ if ($Version) {
+ $Banner = @'
+
+ (((;
+ (; "((((\
+ ;((((((; "((((;
+ ((((""\(((( "((((
+ ((((" ((\ "(((( "(((\
+ ;(((/ ((((((( "(((( \(((
+ ((((" (((* "(((( \(((;"(((\
+ ((((";((("/(( \(((;"(((\"(((\
+ (((( (((( ((((" "(((\ ((() (((\
+ ;((("(((( (((* **"" ((()"(((;
+ (((" ((( (((( ((((((((((((((:*(((
+ (((( (((*)((( ********"""" ;;(((((;
+ (((* ((( (((((((((((((((((((((*"" (
+ ((("(((( """***********"""" ;;(((((
+ "" (((((((((((((((((((((((((((*""
+ """****(((((****"""
+
+ -=[Capstone Engine v{0}]=-
+
+'@ -f (Get-CapstoneVersion).ToString(2)
+ # Mmm ASCII version banner!
+ return $Banner
+ }
+
+ # Disasm Handle
+ $DisAsmHandle = [System.IntPtr]::Zero
+
+ # Initialize Capstone with cs_open()
+ $CallResult = [Capstone]::cs_open($Architecture, $Mode, [ref]$DisAsmHandle)
+ if ($CallResult -ne 'CS_ERR_OK') {
+ if ($CallResult -eq 'CS_ERR_MODE') {
+ throw "Invalid Architecture/Mode combination: $Architecture/$Mode"
+ } else {
+ throw "cs_open error: $CallResult"
+ }
+ }
+
+ # Set disassembly syntax
+ #---
+ # cs_opt_type -> CS_OPT_SYNTAX = 1
+ #---
+ # cs_opt_value -> CS_OPT_SYNTAX_INTEL = 1
+ # -> CS_OPT_SYNTAX_ATT = 2
+ if ($Syntax -eq 'Intel') {
+ $CS_OPT_SYNTAX = 1
+ } else {
+ $CS_OPT_SYNTAX = 2
+ }
+
+ $CallResult = [Capstone]::cs_option($DisAsmHandle, 1, $CS_OPT_SYNTAX)
+ if ($CallResult -ne 'CS_ERR_OK') {
+ $CallResult = [Capstone]::cs_close([ref]$DisAsmHandle)
+ throw "cs_option error: $CallResult"
+ }
+
+ # Set disassembly detail
+ #---
+ # cs_opt_type -> CS_OPT_DETAIL = 2
+ #---
+ # cs_opt_value -> CS_OPT_ON = 3
+ # -> CS_OPT_OFF = 0
+ if ($Detailed) {
+ $CS_OPT = 3
+ } else {
+ $CS_OPT = 0
+ }
+
+ $CallResult = [Capstone]::cs_option($DisAsmHandle, 2, $CS_OPT)
+ if ($CallResult -ne 'CS_ERR_OK') {
+ $CallResult = [Capstone]::cs_close([ref]$DisAsmHandle)
+ throw "cs_option error: $CallResult"
+ }
+
+ # Out Buffer Handle
+ $InsnHandle = [System.IntPtr]::Zero
+
+ # Disassemble bytes
+ $Count = [Capstone]::cs_disasm($DisAsmHandle, $Bytes, $Bytes.Count, $Address, 0, [ref]$InsnHandle)
+
+ if ($Count -gt 0) {
+ # Result struct
+ $cs_insn = if ($PSVersionTable.PSVersion.Major -gt 2) {
+ [cs_insn]@{}
+ } else {
+ New-Object -TypeName cs_insn
+ }
+
+ $cs_insn_size = [System.Runtime.InteropServices.Marshal]::SizeOf($cs_insn)
+ $cs_insn = $cs_insn.GetType()
+
+ # Result detail struct
+ $cs_detail = if ($PSVersionTable.PSVersion.Major -gt 2) {
+ [cs_detail]@{}
+ } else {
+ New-Object -TypeName cs_detail
+ }
+ $cs_detail = $cs_detail.GetType()
+
+ # Result buffer offset
+ $BuffOffset = $InsnHandle.ToInt64()
+
+ for ($i = 0 ; $i -lt $Count ; $i++) {
+ # Cast Offset to cs_insn
+ $Cast = [System.Runtime.InteropServices.Marshal]::PtrToStructure([System.Intptr]$BuffOffset, [type]$cs_insn)
+
+ if ($CS_OPT -eq 0) {
+ $Disassembly = @{
+ Address = $Cast.address
+ Instruction = '{0} {1}' -f $Cast.mnemonic, $Cast.operands
+ }
+
+ if ($PSVersionTable.PSVersion.Major -gt 2) {
+ # Add TypeName for PS formatting and output result
+ $Disassembly.PSTypeName ='CapstoneDisassembly.Simple'
+ [pscustomobject]$Disassembly
+ } else {
+ $Disassembly = New-Object -TypeName PSObject -Property $Disassembly
+ # Add TypeName for PS formatting and output result
+ $Disassembly.PSObject.TypeNames.Insert(0, 'CapstoneDisassembly.Simple')
+ $Disassembly
+ }
+ } else {
+ $DetailCast = [System.Runtime.InteropServices.Marshal]::PtrToStructure($Cast.detail, [type]$cs_detail)
+ if ($DetailCast.regs_read_count -gt 0) {
+ $RegRead = for ($r = 0 ; $r -lt $DetailCast.regs_read_count ; $r++) {
+ $NamePointer = [Capstone]::cs_reg_name($DisAsmHandle, $DetailCast.regs_read[$r])
+ [System.Runtime.InteropServices.Marshal]::PtrToStringAnsi($NamePointer)
+ }
+ }
+
+ if ($DetailCast.regs_write_count -gt 0) {
+ $RegWrite = for ($r = 0 ; $r -lt $DetailCast.regs_write_count ; $r++) {
+ $NamePointer = [Capstone]::cs_reg_name($DisAsmHandle, $DetailCast.regs_write[$r])
+ [System.Runtime.InteropServices.Marshal]::PtrToStringAnsi($NamePointer)
+ }
+ }
+
+ $Disassembly = @{
+ Address = $Cast.address
+ Mnemonic = $Cast.mnemonic
+ Operands = $Cast.operands
+ Bytes = $Cast.bytes[0..($Cast.size - 1)]
+ Size = $Cast.size
+ RegRead = $RegRead
+ RegWrite = $RegWrite
+ }
+
+ if ($PSVersionTable.PSVersion.Major -gt 2) {
+ # Add TypeName for PS formatting and output result
+ $Disassembly.PSTypeName = 'CapstoneDisassembly.Detailed'
+ [pscustomobject]$Disassembly
+ } else {
+ $Disassembly = New-Object -TypeName PSObject -Property $Disassembly
+ # Add TypeName for PS formatting and output result
+ $Disassembly.PSObject.TypeNames.Insert(0, 'CapstoneDisassembly.Detailed')
+ $Disassembly
+ }
+ }
+ $BuffOffset = $BuffOffset + $cs_insn_size
+ }
+ } else {
+ $CallResult = [Capstone]::cs_close([ref]$DisAsmHandle)
+ throw 'Disassembly Failed'
+ }
+
+ # Free Buffer Handle
+ $CallResult = [Capstone]::cs_free($InsnHandle, $Count)
+}
+
+#region Init
+
+Initialize-Capstone -DllPath (
+ Join-Path -Path $PSScriptRoot -ChildPath 'Lib\Capstone\capstone.dll'
+) -ErrorAction Stop
+
+#endregion \ No newline at end of file
diff --git a/capstone/bindings/powershell/Capstone/Lib/Capstone/.gitignore b/capstone/bindings/powershell/Capstone/Lib/Capstone/.gitignore
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/capstone/bindings/powershell/Capstone/Lib/Capstone/.gitignore
diff --git a/capstone/bindings/powershell/README.md b/capstone/bindings/powershell/README.md
new file mode 100755
index 000000000..1197a318f
--- /dev/null
+++ b/capstone/bindings/powershell/README.md
@@ -0,0 +1,30 @@
+This documentation explains how to install & use the PowerShell binding for Capstone.
+
+
+Install
+------
+
+Compile the relevant version (x86/x64) of `capstone.dll` and place it in
+`./Capstone/Lib/Capstone/`.
+
+Alternatively, pre-compiled DLL’s can be obtained from the Capstone homepage
+at http://capstone-engine.org/download
+
+
+Usage
+-----
+
+To use the PowerShell binding, the entire Capstone folder should be added to
+one of the PowerShell module directories:
+
+ # Global PSModulePath path
+ %Windir%\System32\WindowsPowerShell\v1.0\Modules
+
+ # User PSModulePath path
+ %UserProfile%\Documents\WindowsPowerShell\Modules
+
+Once this is done the module can be initialized by typing “Import-Module Capstone”
+in a new PowerShell terminal. Further information on the usage of the binding
+can be obtained with the following command:
+
+ Get-Help Get-CapstoneDisassembly -Full \ No newline at end of file
diff --git a/capstone/bindings/python/.gitignore b/capstone/bindings/python/.gitignore
new file mode 100644
index 000000000..61178e6a1
--- /dev/null
+++ b/capstone/bindings/python/.gitignore
@@ -0,0 +1,9 @@
+MANIFEST
+dist/
+src/
+capstone/lib
+capstone/include
+pyx/lib
+pyx/include
+pyx/*.c
+pyx/*.pyx
diff --git a/capstone/bindings/python/BUILDING.txt b/capstone/bindings/python/BUILDING.txt
new file mode 100644
index 000000000..e527b153e
--- /dev/null
+++ b/capstone/bindings/python/BUILDING.txt
@@ -0,0 +1,77 @@
+0. This documentation explains how to install the Python bindings for Capstone
+ from source. If you want to install it from a PyPi package (recommended if
+ you are on Windows), see README.txt.
+
+1. To install Capstone and the Python bindings on *nix, run the command below:
+
+ $ sudo make install
+
+ To install Capstone for Python 3, run the command below:
+ (Note: this requires python3 installed in your machine)
+
+ $ sudo make install3
+
+ To control the install destination, set the DESTDIR environment variable.
+
+2. For better Python performance, install cython-based binding with:
+
+ $ sudo make install_cython
+
+ Note that this requires Cython installed first. To install Cython, see
+ below.
+
+3. To install Cython, you have to ensure that the header files
+ and the static library for Python are installed beforehand.
+
+ E.g. on Ubuntu, do:
+
+ $ sudo apt-get install python-dev
+
+ Depending on if you already have pip or easy_install installed, install
+ Cython with either:
+
+ $ sudo pip install cython
+ or:
+ $ sudo easy_install cython
+
+ NOTE: Depending on your distribution you might also be able to
+ install the required Cython version using your repository.
+
+ E.g. on Ubuntu, do:
+
+ $ sudo apt-get install cython
+
+ However, our cython-based binding requires Cython version 0.19 or newer,
+ but sometimes distributions only provide older version. Make sure to
+ verify the current installed version before going into section 2 above.
+
+ E.g, on Ubuntu, you can verify the current Cython version with:
+
+ $ apt-cache policy cython
+
+ Which should at least print version 0.19
+
+4. This directory contains some test code to show how to use the Capstone API.
+
+- test_basic.py
+ This code shows the most simple form of API where we only want to get basic
+ information out of disassembled instruction, such as address, mnemonic and
+ operand string.
+
+- test_lite.py
+ Similarly to test_basic.py, but this code shows how to use disasm_lite(), a lighter
+ method to disassemble binary. Unlike disasm() API (used by test_basic.py), which returns
+ CsInsn objects, this API just returns tuples of (address, size, mnemonic, op_str).
+
+ The main reason for using this API is better performance: disasm_lite() is at least
+ 20% faster than disasm(). Memory usage is also less. So if you just need basic
+ information out of disassembler, use disasm_lite() instead of disasm().
+
+- test_detail.py:
+ This code shows how to access to architecture-neutral information in disassembled
+ instructions, such as implicit registers read/written, or groups of instructions
+ that this instruction belong to.
+
+- test_<arch>.py
+ These code show how to access architecture-specific information for each
+ architecture.
diff --git a/capstone/bindings/python/LICENSE.TXT b/capstone/bindings/python/LICENSE.TXT
new file mode 100644
index 000000000..0dabdc749
--- /dev/null
+++ b/capstone/bindings/python/LICENSE.TXT
@@ -0,0 +1,31 @@
+This is the software license for Capstone disassembly framework.
+Capstone has been designed & implemented by Nguyen Anh Quynh <aquynh@gmail.com>
+
+See http://www.capstone-engine.org for further information.
+
+Copyright (c) 2013, COSEINC.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+* Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+* Neither the name of the developer(s) nor the names of its
+ contributors may be used to endorse or promote products derived from this
+ software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
diff --git a/capstone/bindings/python/MANIFEST.in b/capstone/bindings/python/MANIFEST.in
new file mode 100644
index 000000000..98776c7d9
--- /dev/null
+++ b/capstone/bindings/python/MANIFEST.in
@@ -0,0 +1,5 @@
+recursive-include src *
+include LICENSE.TXT
+include README.txt
+include BUILDING.txt
+include Makefile
diff --git a/capstone/bindings/python/Makefile b/capstone/bindings/python/Makefile
new file mode 100644
index 000000000..07f7e5230
--- /dev/null
+++ b/capstone/bindings/python/Makefile
@@ -0,0 +1,82 @@
+PYTHON2 ?= python
+PYTHON3 ?= python3
+
+.PHONY: gen_const install install3 install_cython sdist sdist3 bdist bdist3 clean check
+
+gen_const:
+ cd .. && $(PYTHON2) const_generator.py python
+
+install:
+ rm -rf src/
+ if test -n "${DESTDIR}"; then \
+ $(PYTHON2) setup.py build install --root="${DESTDIR}"; \
+ else \
+ $(PYTHON2) setup.py build install; \
+ fi
+
+install3:
+ rm -rf src/
+ if test -n "${DESTDIR}"; then \
+ $(PYTHON3) setup.py build install --root="${DESTDIR}"; \
+ else \
+ $(PYTHON3) setup.py build install; \
+ fi
+
+# NOTE: Newer cython can be installed by: sudo pip install --upgrade cython
+install_cython:
+ rm -rf src/
+ if test -n "${DESTDIR}"; then \
+ $(PYTHON2) setup_cython.py build install --root="${DESTDIR}"; \
+ else \
+ $(PYTHON2) setup_cython.py build install; \
+ fi
+
+install3_cython:
+ rm -rf src/
+ if test -n "${DESTDIR}"; then \
+ $(PYTHON3) setup_cython.py build install --root="${DESTDIR}"; \
+ else \
+ $(PYTHON3) setup_cython.py build install; \
+ fi
+
+# build & upload PyPi package with source code of the core
+sdist:
+ rm -rf src/ dist/
+ $(PYTHON2) setup.py sdist register upload
+
+# build & upload PyPi package with source code of the core
+sdist3:
+ rm -rf src/ dist/
+ $(PYTHON3) setup.py sdist register upload
+
+# build & upload PyPi package with prebuilt core
+bdist:
+ rm -rf src/ dist/
+ $(PYTHON2) setup.py bdist_wheel register upload
+
+# build & upload PyPi package with prebuilt core
+bdist3:
+ rm -rf src/ dist/
+ $(PYTHON3) setup.py bdist_wheel register upload
+
+clean:
+ rm -rf build/ src/ dist/ *.egg-info
+ rm -rf capstone/lib capstone/include pyx/lib pyx/include
+ rm -f pyx/*.c pyx/__init__.py
+ for f in capstone/*.py; do rm -f pyx/$$(basename $$f)x; done
+ rm -f MANIFEST
+ rm -f *.pyc capstone/*.pyc
+
+
+TESTS = test_basic.py test_detail.py test_arm.py test_arm64.py test_m68k.py test_mips.py
+TESTS += test_ppc.py test_sparc.py test_systemz.py test_x86.py test_xcore.py test_tms320c64x.py
+TESTS += test_m680x.py test_skipdata.py test_mos65xx.py test_bpf.py test_riscv.py
+TESTS += test_evm.py
+
+check:
+ @for t in $(TESTS); do \
+ echo Check $$t ... ; \
+ ./$$t > /dev/null; \
+ if [ $$? -eq 0 ]; then echo OK; else echo FAILED; exit 1; fi \
+ done
+
diff --git a/capstone/bindings/python/README.txt b/capstone/bindings/python/README.txt
new file mode 100644
index 000000000..69e36bbbb
--- /dev/null
+++ b/capstone/bindings/python/README.txt
@@ -0,0 +1,65 @@
+To install Capstone, you should run `pip install capstone`.
+
+If you would like to build Capstone with just the source distribution, without
+pip, just run `python setup.py install` in the folder with setup.py in it.
+
+In order to use this source distribution, you will need an environment that can
+compile C code. On Linux, this is usually easy, but on Windows, this involves
+installing Visual Studio and using the "Developer Command Prompt" to perform the
+installation. See BUILDING.txt for more information.
+
+By default, attempting to install the python bindings will trigger a build of
+the capstone native core. If this is undesirable for whatever reason, for
+instance, you already have a globally installed copy of libcapstone, you may
+inhibit the build by setting the environment variable LIBCAPSTONE_PATH. The
+exact value is not checked, just setting it will inhibit the build. During
+execution, this variable may be set to the path of a directory containing a
+specific version of libcapstone you would like to use.
+
+If you don't want to build your own copy of Capstone, you can use a precompiled
+binary distribution from PyPI. Saying `pip install capstone` should
+automatically obtain an appropriate copy for your system. If it does not, please
+open an issue at https://github.com/aquynh/capstone and tag @rhelmot - she
+will fix this, probably!
+
+--------------------------------------------------------------------------------
+
+Capstone is a disassembly framework with the target of becoming the ultimate
+disasm engine for binary analysis and reversing in the security community.
+
+Created by Nguyen Anh Quynh, then developed and maintained by a small community,
+Capstone offers some unparalleled features:
+
+- Support multiple hardware architectures: ARM, ARM64 (ARMv8), Mips, PPC, Sparc,
+ SystemZ, XCore and X86 (including X86_64).
+
+- Having clean/simple/lightweight/intuitive architecture-neutral API.
+
+- Provide details on disassembled instruction (called “decomposer” by others).
+
+- Provide semantics of the disassembled instruction, such as list of implicit
+ registers read & written.
+
+- Implemented in pure C language, with lightweight wrappers for C++, C#, Go,
+ Java, NodeJS, Ocaml, Python, Ruby & Vala ready (available in main code,
+ or provided externally by the community).
+
+- Native support for all popular platforms: Windows, Mac OSX, iOS, Android,
+ Linux, *BSD, Solaris, etc.
+
+- Thread-safe by design.
+
+- Special support for embedding into firmware or OS kernel.
+
+- High performance & suitable for malware analysis (capable of handling various
+ X86 malware tricks).
+
+- Distributed under the open source BSD license.
+
+Further information is available at http://www.capstone-engine.org
+
+
+[License]
+
+This project is released under the BSD license. If you redistribute the binary
+or source code of Capstone, please attach file LICENSE.TXT with your products.
diff --git a/capstone/bindings/python/capstone/arm.py b/capstone/bindings/python/capstone/arm.py
new file mode 100644
index 000000000..4ed902efa
--- /dev/null
+++ b/capstone/bindings/python/capstone/arm.py
@@ -0,0 +1,82 @@
+# Capstone Python bindings, by Nguyen Anh Quynnh <aquynh@gmail.com>
+
+import ctypes
+from . import copy_ctypes_list
+from .arm_const import *
+
+# define the API
+class ArmOpMem(ctypes.Structure):
+ _fields_ = (
+ ('base', ctypes.c_uint),
+ ('index', ctypes.c_uint),
+ ('scale', ctypes.c_int),
+ ('disp', ctypes.c_int),
+ ('lshift', ctypes.c_int),
+ )
+
+class ArmOpShift(ctypes.Structure):
+ _fields_ = (
+ ('type', ctypes.c_uint),
+ ('value', ctypes.c_uint),
+ )
+
+class ArmOpValue(ctypes.Union):
+ _fields_ = (
+ ('reg', ctypes.c_uint),
+ ('imm', ctypes.c_int32),
+ ('fp', ctypes.c_double),
+ ('mem', ArmOpMem),
+ ('setend', ctypes.c_int),
+ )
+
+class ArmOp(ctypes.Structure):
+ _fields_ = (
+ ('vector_index', ctypes.c_int),
+ ('shift', ArmOpShift),
+ ('type', ctypes.c_uint),
+ ('value', ArmOpValue),
+ ('subtracted', ctypes.c_bool),
+ ('access', ctypes.c_uint8),
+ ('neon_lane', ctypes.c_int8),
+ )
+
+ @property
+ def imm(self):
+ return self.value.imm
+
+ @property
+ def reg(self):
+ return self.value.reg
+
+ @property
+ def fp(self):
+ return self.value.fp
+
+ @property
+ def mem(self):
+ return self.value.mem
+
+ @property
+ def setend(self):
+ return self.value.setend
+
+
+class CsArm(ctypes.Structure):
+ _fields_ = (
+ ('usermode', ctypes.c_bool),
+ ('vector_size', ctypes.c_int),
+ ('vector_data', ctypes.c_int),
+ ('cps_mode', ctypes.c_int),
+ ('cps_flag', ctypes.c_int),
+ ('cc', ctypes.c_uint),
+ ('update_flags', ctypes.c_bool),
+ ('writeback', ctypes.c_bool),
+ ('mem_barrier', ctypes.c_int),
+ ('op_count', ctypes.c_uint8),
+ ('operands', ArmOp * 36),
+ )
+
+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_ctypes_list(a.operands[:a.op_count]))
+
diff --git a/capstone/bindings/python/capstone/arm64.py b/capstone/bindings/python/capstone/arm64.py
new file mode 100644
index 000000000..ffd2469fe
--- /dev/null
+++ b/capstone/bindings/python/capstone/arm64.py
@@ -0,0 +1,89 @@
+# Capstone Python bindings, by Nguyen Anh Quynnh <aquynh@gmail.com>
+
+import ctypes
+from . import copy_ctypes_list
+from .arm64_const import *
+
+# define the API
+class Arm64OpMem(ctypes.Structure):
+ _fields_ = (
+ ('base', ctypes.c_uint),
+ ('index', ctypes.c_uint),
+ ('disp', ctypes.c_int32),
+ )
+
+class Arm64OpShift(ctypes.Structure):
+ _fields_ = (
+ ('type', ctypes.c_uint),
+ ('value', ctypes.c_uint),
+ )
+
+class Arm64OpValue(ctypes.Union):
+ _fields_ = (
+ ('reg', ctypes.c_uint),
+ ('imm', ctypes.c_int64),
+ ('fp', ctypes.c_double),
+ ('mem', Arm64OpMem),
+ ('pstate', ctypes.c_int),
+ ('sys', ctypes.c_uint),
+ ('prefetch', ctypes.c_int),
+ ('barrier', ctypes.c_int),
+ )
+
+class Arm64Op(ctypes.Structure):
+ _fields_ = (
+ ('vector_index', ctypes.c_int),
+ ('vas', ctypes.c_int),
+ ('shift', Arm64OpShift),
+ ('ext', ctypes.c_uint),
+ ('type', ctypes.c_uint),
+ ('value', Arm64OpValue),
+ ('access', ctypes.c_uint8),
+ )
+
+ @property
+ def imm(self):
+ return self.value.imm
+
+ @property
+ def reg(self):
+ return self.value.reg
+
+ @property
+ def fp(self):
+ return self.value.fp
+
+ @property
+ def mem(self):
+ return self.value.mem
+
+ @property
+ def pstate(self):
+ return self.value.pstate
+
+ @property
+ def sys(self):
+ return self.value.sys
+
+ @property
+ def prefetch(self):
+ return self.value.prefetch
+
+ @property
+ def barrier(self):
+ return self.value.barrier
+
+
+
+class CsArm64(ctypes.Structure):
+ _fields_ = (
+ ('cc', ctypes.c_uint),
+ ('update_flags', ctypes.c_bool),
+ ('writeback', ctypes.c_bool),
+ ('op_count', ctypes.c_uint8),
+ ('operands', Arm64Op * 8),
+ )
+
+def get_arch_info(a):
+ return (a.cc, a.update_flags, a.writeback, copy_ctypes_list(a.operands[:a.op_count]))
+
diff --git a/capstone/bindings/python/capstone/arm64_const.py b/capstone/bindings/python/capstone/arm64_const.py
new file mode 100644
index 000000000..b05792834
--- /dev/null
+++ b/capstone/bindings/python/capstone/arm64_const.py
@@ -0,0 +1,2249 @@
+# For Capstone Engine. AUTO-GENERATED FILE, DO NOT EDIT [arm64_const.py]
+
+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_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_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
+
+ARM64_SYSREG_INVALID = 0
+ARM64_SYSREG_MDCCSR_EL0 = 0x9808
+ARM64_SYSREG_DBGDTRRX_EL0 = 0x9828
+ARM64_SYSREG_MDRAR_EL1 = 0x8080
+ARM64_SYSREG_OSLSR_EL1 = 0x808C
+ARM64_SYSREG_DBGAUTHSTATUS_EL1 = 0x83F6
+ARM64_SYSREG_PMCEID0_EL0 = 0xDCE6
+ARM64_SYSREG_PMCEID1_EL0 = 0xDCE7
+ARM64_SYSREG_MIDR_EL1 = 0xC000
+ARM64_SYSREG_CCSIDR_EL1 = 0xC800
+ARM64_SYSREG_CCSIDR2_EL1 = 0xC802
+ARM64_SYSREG_CLIDR_EL1 = 0xC801
+ARM64_SYSREG_CTR_EL0 = 0xD801
+ARM64_SYSREG_MPIDR_EL1 = 0xC005
+ARM64_SYSREG_REVIDR_EL1 = 0xC006
+ARM64_SYSREG_AIDR_EL1 = 0xC807
+ARM64_SYSREG_DCZID_EL0 = 0xD807
+ARM64_SYSREG_ID_PFR0_EL1 = 0xC008
+ARM64_SYSREG_ID_PFR1_EL1 = 0xC009
+ARM64_SYSREG_ID_DFR0_EL1 = 0xC00A
+ARM64_SYSREG_ID_AFR0_EL1 = 0xC00B
+ARM64_SYSREG_ID_MMFR0_EL1 = 0xC00C
+ARM64_SYSREG_ID_MMFR1_EL1 = 0xC00D
+ARM64_SYSREG_ID_MMFR2_EL1 = 0xC00E
+ARM64_SYSREG_ID_MMFR3_EL1 = 0xC00F
+ARM64_SYSREG_ID_ISAR0_EL1 = 0xC010
+ARM64_SYSREG_ID_ISAR1_EL1 = 0xC011
+ARM64_SYSREG_ID_ISAR2_EL1 = 0xC012
+ARM64_SYSREG_ID_ISAR3_EL1 = 0xC013
+ARM64_SYSREG_ID_ISAR4_EL1 = 0xC014
+ARM64_SYSREG_ID_ISAR5_EL1 = 0xC015
+ARM64_SYSREG_ID_ISAR6_EL1 = 0xC017
+ARM64_SYSREG_ID_AA64PFR0_EL1 = 0xC020
+ARM64_SYSREG_ID_AA64PFR1_EL1 = 0xC021
+ARM64_SYSREG_ID_AA64DFR0_EL1 = 0xC028
+ARM64_SYSREG_ID_AA64DFR1_EL1 = 0xC029
+ARM64_SYSREG_ID_AA64AFR0_EL1 = 0xC02C
+ARM64_SYSREG_ID_AA64AFR1_EL1 = 0xC02D
+ARM64_SYSREG_ID_AA64ISAR0_EL1 = 0xC030
+ARM64_SYSREG_ID_AA64ISAR1_EL1 = 0xC031
+ARM64_SYSREG_ID_AA64MMFR0_EL1 = 0xC038
+ARM64_SYSREG_ID_AA64MMFR1_EL1 = 0xC039
+ARM64_SYSREG_ID_AA64MMFR2_EL1 = 0xC03A
+ARM64_SYSREG_MVFR0_EL1 = 0xC018
+ARM64_SYSREG_MVFR1_EL1 = 0xC019
+ARM64_SYSREG_MVFR2_EL1 = 0xC01A
+ARM64_SYSREG_RVBAR_EL1 = 0xC601
+ARM64_SYSREG_RVBAR_EL2 = 0xE601
+ARM64_SYSREG_RVBAR_EL3 = 0xF601
+ARM64_SYSREG_ISR_EL1 = 0xC608
+ARM64_SYSREG_CNTPCT_EL0 = 0xDF01
+ARM64_SYSREG_CNTVCT_EL0 = 0xDF02
+ARM64_SYSREG_ID_MMFR4_EL1 = 0xC016
+ARM64_SYSREG_TRCSTATR = 0x8818
+ARM64_SYSREG_TRCIDR8 = 0x8806
+ARM64_SYSREG_TRCIDR9 = 0x880E
+ARM64_SYSREG_TRCIDR10 = 0x8816
+ARM64_SYSREG_TRCIDR11 = 0x881E
+ARM64_SYSREG_TRCIDR12 = 0x8826
+ARM64_SYSREG_TRCIDR13 = 0x882E
+ARM64_SYSREG_TRCIDR0 = 0x8847
+ARM64_SYSREG_TRCIDR1 = 0x884F
+ARM64_SYSREG_TRCIDR2 = 0x8857
+ARM64_SYSREG_TRCIDR3 = 0x885F
+ARM64_SYSREG_TRCIDR4 = 0x8867
+ARM64_SYSREG_TRCIDR5 = 0x886F
+ARM64_SYSREG_TRCIDR6 = 0x8877
+ARM64_SYSREG_TRCIDR7 = 0x887F
+ARM64_SYSREG_TRCOSLSR = 0x888C
+ARM64_SYSREG_TRCPDSR = 0x88AC
+ARM64_SYSREG_TRCDEVAFF0 = 0x8BD6
+ARM64_SYSREG_TRCDEVAFF1 = 0x8BDE
+ARM64_SYSREG_TRCLSR = 0x8BEE
+ARM64_SYSREG_TRCAUTHSTATUS = 0x8BF6
+ARM64_SYSREG_TRCDEVARCH = 0x8BFE
+ARM64_SYSREG_TRCDEVID = 0x8B97
+ARM64_SYSREG_TRCDEVTYPE = 0x8B9F
+ARM64_SYSREG_TRCPIDR4 = 0x8BA7
+ARM64_SYSREG_TRCPIDR5 = 0x8BAF
+ARM64_SYSREG_TRCPIDR6 = 0x8BB7
+ARM64_SYSREG_TRCPIDR7 = 0x8BBF
+ARM64_SYSREG_TRCPIDR0 = 0x8BC7
+ARM64_SYSREG_TRCPIDR1 = 0x8BCF
+ARM64_SYSREG_TRCPIDR2 = 0x8BD7
+ARM64_SYSREG_TRCPIDR3 = 0x8BDF
+ARM64_SYSREG_TRCCIDR0 = 0x8BE7
+ARM64_SYSREG_TRCCIDR1 = 0x8BEF
+ARM64_SYSREG_TRCCIDR2 = 0x8BF7
+ARM64_SYSREG_TRCCIDR3 = 0x8BFF
+ARM64_SYSREG_ICC_IAR1_EL1 = 0xC660
+ARM64_SYSREG_ICC_IAR0_EL1 = 0xC640
+ARM64_SYSREG_ICC_HPPIR1_EL1 = 0xC662
+ARM64_SYSREG_ICC_HPPIR0_EL1 = 0xC642
+ARM64_SYSREG_ICC_RPR_EL1 = 0xC65B
+ARM64_SYSREG_ICH_VTR_EL2 = 0xE659
+ARM64_SYSREG_ICH_EISR_EL2 = 0xE65B
+ARM64_SYSREG_ICH_ELRSR_EL2 = 0xE65D
+ARM64_SYSREG_ID_AA64ZFR0_EL1 = 0xC024
+ARM64_SYSREG_LORID_EL1 = 0xC527
+ARM64_SYSREG_ERRIDR_EL1 = 0xC298
+ARM64_SYSREG_ERXFR_EL1 = 0xC2A0
+ARM64_SYSREG_DBGDTRTX_EL0 = 0x9828
+ARM64_SYSREG_OSLAR_EL1 = 0x8084
+ARM64_SYSREG_PMSWINC_EL0 = 0xDCE4
+ARM64_SYSREG_TRCOSLAR = 0x8884
+ARM64_SYSREG_TRCLAR = 0x8BE6
+ARM64_SYSREG_ICC_EOIR1_EL1 = 0xC661
+ARM64_SYSREG_ICC_EOIR0_EL1 = 0xC641
+ARM64_SYSREG_ICC_DIR_EL1 = 0xC659
+ARM64_SYSREG_ICC_SGI1R_EL1 = 0xC65D
+ARM64_SYSREG_ICC_ASGI1R_EL1 = 0xC65E
+ARM64_SYSREG_ICC_SGI0R_EL1 = 0xC65F
+ARM64_SYSREG_OSDTRRX_EL1 = 0x8002
+ARM64_SYSREG_OSDTRTX_EL1 = 0x801A
+ARM64_SYSREG_TEECR32_EL1 = 0x9000
+ARM64_SYSREG_MDCCINT_EL1 = 0x8010
+ARM64_SYSREG_MDSCR_EL1 = 0x8012
+ARM64_SYSREG_DBGDTR_EL0 = 0x9820
+ARM64_SYSREG_OSECCR_EL1 = 0x8032
+ARM64_SYSREG_DBGVCR32_EL2 = 0xA038
+ARM64_SYSREG_DBGBVR0_EL1 = 0x8004
+ARM64_SYSREG_DBGBVR1_EL1 = 0x800C
+ARM64_SYSREG_DBGBVR2_EL1 = 0x8014
+ARM64_SYSREG_DBGBVR3_EL1 = 0x801C
+ARM64_SYSREG_DBGBVR4_EL1 = 0x8024
+ARM64_SYSREG_DBGBVR5_EL1 = 0x802C
+ARM64_SYSREG_DBGBVR6_EL1 = 0x8034
+ARM64_SYSREG_DBGBVR7_EL1 = 0x803C
+ARM64_SYSREG_DBGBVR8_EL1 = 0x8044
+ARM64_SYSREG_DBGBVR9_EL1 = 0x804C
+ARM64_SYSREG_DBGBVR10_EL1 = 0x8054
+ARM64_SYSREG_DBGBVR11_EL1 = 0x805C
+ARM64_SYSREG_DBGBVR12_EL1 = 0x8064
+ARM64_SYSREG_DBGBVR13_EL1 = 0x806C
+ARM64_SYSREG_DBGBVR14_EL1 = 0x8074
+ARM64_SYSREG_DBGBVR15_EL1 = 0x807C
+ARM64_SYSREG_DBGBCR0_EL1 = 0x8005
+ARM64_SYSREG_DBGBCR1_EL1 = 0x800D
+ARM64_SYSREG_DBGBCR2_EL1 = 0x8015
+ARM64_SYSREG_DBGBCR3_EL1 = 0x801D
+ARM64_SYSREG_DBGBCR4_EL1 = 0x8025
+ARM64_SYSREG_DBGBCR5_EL1 = 0x802D
+ARM64_SYSREG_DBGBCR6_EL1 = 0x8035
+ARM64_SYSREG_DBGBCR7_EL1 = 0x803D
+ARM64_SYSREG_DBGBCR8_EL1 = 0x8045
+ARM64_SYSREG_DBGBCR9_EL1 = 0x804D
+ARM64_SYSREG_DBGBCR10_EL1 = 0x8055
+ARM64_SYSREG_DBGBCR11_EL1 = 0x805D
+ARM64_SYSREG_DBGBCR12_EL1 = 0x8065
+ARM64_SYSREG_DBGBCR13_EL1 = 0x806D
+ARM64_SYSREG_DBGBCR14_EL1 = 0x8075
+ARM64_SYSREG_DBGBCR15_EL1 = 0x807D
+ARM64_SYSREG_DBGWVR0_EL1 = 0x8006
+ARM64_SYSREG_DBGWVR1_EL1 = 0x800E
+ARM64_SYSREG_DBGWVR2_EL1 = 0x8016
+ARM64_SYSREG_DBGWVR3_EL1 = 0x801E
+ARM64_SYSREG_DBGWVR4_EL1 = 0x8026
+ARM64_SYSREG_DBGWVR5_EL1 = 0x802E
+ARM64_SYSREG_DBGWVR6_EL1 = 0x8036
+ARM64_SYSREG_DBGWVR7_EL1 = 0x803E
+ARM64_SYSREG_DBGWVR8_EL1 = 0x8046
+ARM64_SYSREG_DBGWVR9_EL1 = 0x804E
+ARM64_SYSREG_DBGWVR10_EL1 = 0x8056
+ARM64_SYSREG_DBGWVR11_EL1 = 0x805E
+ARM64_SYSREG_DBGWVR12_EL1 = 0x8066
+ARM64_SYSREG_DBGWVR13_EL1 = 0x806E
+ARM64_SYSREG_DBGWVR14_EL1 = 0x8076
+ARM64_SYSREG_DBGWVR15_EL1 = 0x807E
+ARM64_SYSREG_DBGWCR0_EL1 = 0x8007
+ARM64_SYSREG_DBGWCR1_EL1 = 0x800F
+ARM64_SYSREG_DBGWCR2_EL1 = 0x8017
+ARM64_SYSREG_DBGWCR3_EL1 = 0x801F
+ARM64_SYSREG_DBGWCR4_EL1 = 0x8027
+ARM64_SYSREG_DBGWCR5_EL1 = 0x802F
+ARM64_SYSREG_DBGWCR6_EL1 = 0x8037
+ARM64_SYSREG_DBGWCR7_EL1 = 0x803F
+ARM64_SYSREG_DBGWCR8_EL1 = 0x8047
+ARM64_SYSREG_DBGWCR9_EL1 = 0x804F
+ARM64_SYSREG_DBGWCR10_EL1 = 0x8057
+ARM64_SYSREG_DBGWCR11_EL1 = 0x805F
+ARM64_SYSREG_DBGWCR12_EL1 = 0x8067
+ARM64_SYSREG_DBGWCR13_EL1 = 0x806F
+ARM64_SYSREG_DBGWCR14_EL1 = 0x8077
+ARM64_SYSREG_DBGWCR15_EL1 = 0x807F
+ARM64_SYSREG_TEEHBR32_EL1 = 0x9080
+ARM64_SYSREG_OSDLR_EL1 = 0x809C
+ARM64_SYSREG_DBGPRCR_EL1 = 0x80A4
+ARM64_SYSREG_DBGCLAIMSET_EL1 = 0x83C6
+ARM64_SYSREG_DBGCLAIMCLR_EL1 = 0x83CE
+ARM64_SYSREG_CSSELR_EL1 = 0xD000
+ARM64_SYSREG_VPIDR_EL2 = 0xE000
+ARM64_SYSREG_VMPIDR_EL2 = 0xE005
+ARM64_SYSREG_CPACR_EL1 = 0xC082
+ARM64_SYSREG_SCTLR_EL1 = 0xC080
+ARM64_SYSREG_SCTLR_EL2 = 0xE080
+ARM64_SYSREG_SCTLR_EL3 = 0xF080
+ARM64_SYSREG_ACTLR_EL1 = 0xC081
+ARM64_SYSREG_ACTLR_EL2 = 0xE081
+ARM64_SYSREG_ACTLR_EL3 = 0xF081
+ARM64_SYSREG_HCR_EL2 = 0xE088
+ARM64_SYSREG_SCR_EL3 = 0xF088
+ARM64_SYSREG_MDCR_EL2 = 0xE089
+ARM64_SYSREG_SDER32_EL3 = 0xF089
+ARM64_SYSREG_CPTR_EL2 = 0xE08A
+ARM64_SYSREG_CPTR_EL3 = 0xF08A
+ARM64_SYSREG_HSTR_EL2 = 0xE08B
+ARM64_SYSREG_HACR_EL2 = 0xE08F
+ARM64_SYSREG_MDCR_EL3 = 0xF099
+ARM64_SYSREG_TTBR0_EL1 = 0xC100
+ARM64_SYSREG_TTBR0_EL2 = 0xE100
+ARM64_SYSREG_TTBR0_EL3 = 0xF100
+ARM64_SYSREG_TTBR1_EL1 = 0xC101
+ARM64_SYSREG_TCR_EL1 = 0xC102
+ARM64_SYSREG_TCR_EL2 = 0xE102
+ARM64_SYSREG_TCR_EL3 = 0xF102
+ARM64_SYSREG_VTTBR_EL2 = 0xE108
+ARM64_SYSREG_VTCR_EL2 = 0xE10A
+ARM64_SYSREG_DACR32_EL2 = 0xE180
+ARM64_SYSREG_SPSR_EL1 = 0xC200
+ARM64_SYSREG_SPSR_EL2 = 0xE200
+ARM64_SYSREG_SPSR_EL3 = 0xF200
+ARM64_SYSREG_ELR_EL1 = 0xC201
+ARM64_SYSREG_ELR_EL2 = 0xE201
+ARM64_SYSREG_ELR_EL3 = 0xF201
+ARM64_SYSREG_SP_EL0 = 0xC208
+ARM64_SYSREG_SP_EL1 = 0xE208
+ARM64_SYSREG_SP_EL2 = 0xF208
+ARM64_SYSREG_SPSEL = 0xC210
+ARM64_SYSREG_NZCV = 0xDA10
+ARM64_SYSREG_DAIF = 0xDA11
+ARM64_SYSREG_CURRENTEL = 0xC212
+ARM64_SYSREG_SPSR_IRQ = 0xE218
+ARM64_SYSREG_SPSR_ABT = 0xE219
+ARM64_SYSREG_SPSR_UND = 0xE21A
+ARM64_SYSREG_SPSR_FIQ = 0xE21B
+ARM64_SYSREG_FPCR = 0xDA20
+ARM64_SYSREG_FPSR = 0xDA21
+ARM64_SYSREG_DSPSR_EL0 = 0xDA28
+ARM64_SYSREG_DLR_EL0 = 0xDA29
+ARM64_SYSREG_IFSR32_EL2 = 0xE281
+ARM64_SYSREG_AFSR0_EL1 = 0xC288
+ARM64_SYSREG_AFSR0_EL2 = 0xE288
+ARM64_SYSREG_AFSR0_EL3 = 0xF288
+ARM64_SYSREG_AFSR1_EL1 = 0xC289
+ARM64_SYSREG_AFSR1_EL2 = 0xE289
+ARM64_SYSREG_AFSR1_EL3 = 0xF289
+ARM64_SYSREG_ESR_EL1 = 0xC290
+ARM64_SYSREG_ESR_EL2 = 0xE290
+ARM64_SYSREG_ESR_EL3 = 0xF290
+ARM64_SYSREG_FPEXC32_EL2 = 0xE298
+ARM64_SYSREG_FAR_EL1 = 0xC300
+ARM64_SYSREG_FAR_EL2 = 0xE300
+ARM64_SYSREG_FAR_EL3 = 0xF300
+ARM64_SYSREG_HPFAR_EL2 = 0xE304
+ARM64_SYSREG_PAR_EL1 = 0xC3A0
+ARM64_SYSREG_PMCR_EL0 = 0xDCE0
+ARM64_SYSREG_PMCNTENSET_EL0 = 0xDCE1
+ARM64_SYSREG_PMCNTENCLR_EL0 = 0xDCE2
+ARM64_SYSREG_PMOVSCLR_EL0 = 0xDCE3
+ARM64_SYSREG_PMSELR_EL0 = 0xDCE5
+ARM64_SYSREG_PMCCNTR_EL0 = 0xDCE8
+ARM64_SYSREG_PMXEVTYPER_EL0 = 0xDCE9
+ARM64_SYSREG_PMXEVCNTR_EL0 = 0xDCEA
+ARM64_SYSREG_PMUSERENR_EL0 = 0xDCF0
+ARM64_SYSREG_PMINTENSET_EL1 = 0xC4F1
+ARM64_SYSREG_PMINTENCLR_EL1 = 0xC4F2
+ARM64_SYSREG_PMOVSSET_EL0 = 0xDCF3
+ARM64_SYSREG_MAIR_EL1 = 0xC510
+ARM64_SYSREG_MAIR_EL2 = 0xE510
+ARM64_SYSREG_MAIR_EL3 = 0xF510
+ARM64_SYSREG_AMAIR_EL1 = 0xC518
+ARM64_SYSREG_AMAIR_EL2 = 0xE518
+ARM64_SYSREG_AMAIR_EL3 = 0xF518
+ARM64_SYSREG_VBAR_EL1 = 0xC600
+ARM64_SYSREG_VBAR_EL2 = 0xE600
+ARM64_SYSREG_VBAR_EL3 = 0xF600
+ARM64_SYSREG_RMR_EL1 = 0xC602
+ARM64_SYSREG_RMR_EL2 = 0xE602
+ARM64_SYSREG_RMR_EL3 = 0xF602
+ARM64_SYSREG_CONTEXTIDR_EL1 = 0xC681
+ARM64_SYSREG_TPIDR_EL0 = 0xDE82
+ARM64_SYSREG_TPIDR_EL2 = 0xE682
+ARM64_SYSREG_TPIDR_EL3 = 0xF682
+ARM64_SYSREG_TPIDRRO_EL0 = 0xDE83
+ARM64_SYSREG_TPIDR_EL1 = 0xC684
+ARM64_SYSREG_CNTFRQ_EL0 = 0xDF00
+ARM64_SYSREG_CNTVOFF_EL2 = 0xE703
+ARM64_SYSREG_CNTKCTL_EL1 = 0xC708
+ARM64_SYSREG_CNTHCTL_EL2 = 0xE708
+ARM64_SYSREG_CNTP_TVAL_EL0 = 0xDF10
+ARM64_SYSREG_CNTHP_TVAL_EL2 = 0xE710
+ARM64_SYSREG_CNTPS_TVAL_EL1 = 0xFF10
+ARM64_SYSREG_CNTP_CTL_EL0 = 0xDF11
+ARM64_SYSREG_CNTHP_CTL_EL2 = 0xE711
+ARM64_SYSREG_CNTPS_CTL_EL1 = 0xFF11
+ARM64_SYSREG_CNTP_CVAL_EL0 = 0xDF12
+ARM64_SYSREG_CNTHP_CVAL_EL2 = 0xE712
+ARM64_SYSREG_CNTPS_CVAL_EL1 = 0xFF12
+ARM64_SYSREG_CNTV_TVAL_EL0 = 0xDF18
+ARM64_SYSREG_CNTV_CTL_EL0 = 0xDF19
+ARM64_SYSREG_CNTV_CVAL_EL0 = 0xDF1A
+ARM64_SYSREG_PMEVCNTR0_EL0 = 0xDF40
+ARM64_SYSREG_PMEVCNTR1_EL0 = 0xDF41
+ARM64_SYSREG_PMEVCNTR2_EL0 = 0xDF42
+ARM64_SYSREG_PMEVCNTR3_EL0 = 0xDF43
+ARM64_SYSREG_PMEVCNTR4_EL0 = 0xDF44
+ARM64_SYSREG_PMEVCNTR5_EL0 = 0xDF45
+ARM64_SYSREG_PMEVCNTR6_EL0 = 0xDF46
+ARM64_SYSREG_PMEVCNTR7_EL0 = 0xDF47
+ARM64_SYSREG_PMEVCNTR8_EL0 = 0xDF48
+ARM64_SYSREG_PMEVCNTR9_EL0 = 0xDF49
+ARM64_SYSREG_PMEVCNTR10_EL0 = 0xDF4A
+ARM64_SYSREG_PMEVCNTR11_EL0 = 0xDF4B
+ARM64_SYSREG_PMEVCNTR12_EL0 = 0xDF4C
+ARM64_SYSREG_PMEVCNTR13_EL0 = 0xDF4D
+ARM64_SYSREG_PMEVCNTR14_EL0 = 0xDF4E
+ARM64_SYSREG_PMEVCNTR15_EL0 = 0xDF4F
+ARM64_SYSREG_PMEVCNTR16_EL0 = 0xDF50
+ARM64_SYSREG_PMEVCNTR17_EL0 = 0xDF51
+ARM64_SYSREG_PMEVCNTR18_EL0 = 0xDF52
+ARM64_SYSREG_PMEVCNTR19_EL0 = 0xDF53
+ARM64_SYSREG_PMEVCNTR20_EL0 = 0xDF54
+ARM64_SYSREG_PMEVCNTR21_EL0 = 0xDF55
+ARM64_SYSREG_PMEVCNTR22_EL0 = 0xDF56
+ARM64_SYSREG_PMEVCNTR23_EL0 = 0xDF57
+ARM64_SYSREG_PMEVCNTR24_EL0 = 0xDF58
+ARM64_SYSREG_PMEVCNTR25_EL0 = 0xDF59
+ARM64_SYSREG_PMEVCNTR26_EL0 = 0xDF5A
+ARM64_SYSREG_PMEVCNTR27_EL0 = 0xDF5B
+ARM64_SYSREG_PMEVCNTR28_EL0 = 0xDF5C
+ARM64_SYSREG_PMEVCNTR29_EL0 = 0xDF5D
+ARM64_SYSREG_PMEVCNTR30_EL0 = 0xDF5E
+ARM64_SYSREG_PMCCFILTR_EL0 = 0xDF7F
+ARM64_SYSREG_PMEVTYPER0_EL0 = 0xDF60
+ARM64_SYSREG_PMEVTYPER1_EL0 = 0xDF61
+ARM64_SYSREG_PMEVTYPER2_EL0 = 0xDF62
+ARM64_SYSREG_PMEVTYPER3_EL0 = 0xDF63
+ARM64_SYSREG_PMEVTYPER4_EL0 = 0xDF64
+ARM64_SYSREG_PMEVTYPER5_EL0 = 0xDF65
+ARM64_SYSREG_PMEVTYPER6_EL0 = 0xDF66
+ARM64_SYSREG_PMEVTYPER7_EL0 = 0xDF67
+ARM64_SYSREG_PMEVTYPER8_EL0 = 0xDF68
+ARM64_SYSREG_PMEVTYPER9_EL0 = 0xDF69
+ARM64_SYSREG_PMEVTYPER10_EL0 = 0xDF6A
+ARM64_SYSREG_PMEVTYPER11_EL0 = 0xDF6B
+ARM64_SYSREG_PMEVTYPER12_EL0 = 0xDF6C
+ARM64_SYSREG_PMEVTYPER13_EL0 = 0xDF6D
+ARM64_SYSREG_PMEVTYPER14_EL0 = 0xDF6E
+ARM64_SYSREG_PMEVTYPER15_EL0 = 0xDF6F
+ARM64_SYSREG_PMEVTYPER16_EL0 = 0xDF70
+ARM64_SYSREG_PMEVTYPER17_EL0 = 0xDF71
+ARM64_SYSREG_PMEVTYPER18_EL0 = 0xDF72
+ARM64_SYSREG_PMEVTYPER19_EL0 = 0xDF73
+ARM64_SYSREG_PMEVTYPER20_EL0 = 0xDF74
+ARM64_SYSREG_PMEVTYPER21_EL0 = 0xDF75
+ARM64_SYSREG_PMEVTYPER22_EL0 = 0xDF76
+ARM64_SYSREG_PMEVTYPER23_EL0 = 0xDF77
+ARM64_SYSREG_PMEVTYPER24_EL0 = 0xDF78
+ARM64_SYSREG_PMEVTYPER25_EL0 = 0xDF79
+ARM64_SYSREG_PMEVTYPER26_EL0 = 0xDF7A
+ARM64_SYSREG_PMEVTYPER27_EL0 = 0xDF7B
+ARM64_SYSREG_PMEVTYPER28_EL0 = 0xDF7C
+ARM64_SYSREG_PMEVTYPER29_EL0 = 0xDF7D
+ARM64_SYSREG_PMEVTYPER30_EL0 = 0xDF7E
+ARM64_SYSREG_TRCPRGCTLR = 0x8808
+ARM64_SYSREG_TRCPROCSELR = 0x8810
+ARM64_SYSREG_TRCCONFIGR = 0x8820
+ARM64_SYSREG_TRCAUXCTLR = 0x8830
+ARM64_SYSREG_TRCEVENTCTL0R = 0x8840
+ARM64_SYSREG_TRCEVENTCTL1R = 0x8848
+ARM64_SYSREG_TRCSTALLCTLR = 0x8858
+ARM64_SYSREG_TRCTSCTLR = 0x8860
+ARM64_SYSREG_TRCSYNCPR = 0x8868
+ARM64_SYSREG_TRCCCCTLR = 0x8870
+ARM64_SYSREG_TRCBBCTLR = 0x8878
+ARM64_SYSREG_TRCTRACEIDR = 0x8801
+ARM64_SYSREG_TRCQCTLR = 0x8809
+ARM64_SYSREG_TRCVICTLR = 0x8802
+ARM64_SYSREG_TRCVIIECTLR = 0x880A
+ARM64_SYSREG_TRCVISSCTLR = 0x8812
+ARM64_SYSREG_TRCVIPCSSCTLR = 0x881A
+ARM64_SYSREG_TRCVDCTLR = 0x8842
+ARM64_SYSREG_TRCVDSACCTLR = 0x884A
+ARM64_SYSREG_TRCVDARCCTLR = 0x8852
+ARM64_SYSREG_TRCSEQEVR0 = 0x8804
+ARM64_SYSREG_TRCSEQEVR1 = 0x880C
+ARM64_SYSREG_TRCSEQEVR2 = 0x8814
+ARM64_SYSREG_TRCSEQRSTEVR = 0x8834
+ARM64_SYSREG_TRCSEQSTR = 0x883C
+ARM64_SYSREG_TRCEXTINSELR = 0x8844
+ARM64_SYSREG_TRCCNTRLDVR0 = 0x8805
+ARM64_SYSREG_TRCCNTRLDVR1 = 0x880D
+ARM64_SYSREG_TRCCNTRLDVR2 = 0x8815
+ARM64_SYSREG_TRCCNTRLDVR3 = 0x881D
+ARM64_SYSREG_TRCCNTCTLR0 = 0x8825
+ARM64_SYSREG_TRCCNTCTLR1 = 0x882D
+ARM64_SYSREG_TRCCNTCTLR2 = 0x8835
+ARM64_SYSREG_TRCCNTCTLR3 = 0x883D
+ARM64_SYSREG_TRCCNTVR0 = 0x8845
+ARM64_SYSREG_TRCCNTVR1 = 0x884D
+ARM64_SYSREG_TRCCNTVR2 = 0x8855
+ARM64_SYSREG_TRCCNTVR3 = 0x885D
+ARM64_SYSREG_TRCIMSPEC0 = 0x8807
+ARM64_SYSREG_TRCIMSPEC1 = 0x880F
+ARM64_SYSREG_TRCIMSPEC2 = 0x8817
+ARM64_SYSREG_TRCIMSPEC3 = 0x881F
+ARM64_SYSREG_TRCIMSPEC4 = 0x8827
+ARM64_SYSREG_TRCIMSPEC5 = 0x882F
+ARM64_SYSREG_TRCIMSPEC6 = 0x8837
+ARM64_SYSREG_TRCIMSPEC7 = 0x883F
+ARM64_SYSREG_TRCRSCTLR2 = 0x8890
+ARM64_SYSREG_TRCRSCTLR3 = 0x8898
+ARM64_SYSREG_TRCRSCTLR4 = 0x88A0
+ARM64_SYSREG_TRCRSCTLR5 = 0x88A8
+ARM64_SYSREG_TRCRSCTLR6 = 0x88B0
+ARM64_SYSREG_TRCRSCTLR7 = 0x88B8
+ARM64_SYSREG_TRCRSCTLR8 = 0x88C0
+ARM64_SYSREG_TRCRSCTLR9 = 0x88C8
+ARM64_SYSREG_TRCRSCTLR10 = 0x88D0
+ARM64_SYSREG_TRCRSCTLR11 = 0x88D8
+ARM64_SYSREG_TRCRSCTLR12 = 0x88E0
+ARM64_SYSREG_TRCRSCTLR13 = 0x88E8
+ARM64_SYSREG_TRCRSCTLR14 = 0x88F0
+ARM64_SYSREG_TRCRSCTLR15 = 0x88F8
+ARM64_SYSREG_TRCRSCTLR16 = 0x8881
+ARM64_SYSREG_TRCRSCTLR17 = 0x8889
+ARM64_SYSREG_TRCRSCTLR18 = 0x8891
+ARM64_SYSREG_TRCRSCTLR19 = 0x8899
+ARM64_SYSREG_TRCRSCTLR20 = 0x88A1
+ARM64_SYSREG_TRCRSCTLR21 = 0x88A9
+ARM64_SYSREG_TRCRSCTLR22 = 0x88B1
+ARM64_SYSREG_TRCRSCTLR23 = 0x88B9
+ARM64_SYSREG_TRCRSCTLR24 = 0x88C1
+ARM64_SYSREG_TRCRSCTLR25 = 0x88C9
+ARM64_SYSREG_TRCRSCTLR26 = 0x88D1
+ARM64_SYSREG_TRCRSCTLR27 = 0x88D9
+ARM64_SYSREG_TRCRSCTLR28 = 0x88E1
+ARM64_SYSREG_TRCRSCTLR29 = 0x88E9
+ARM64_SYSREG_TRCRSCTLR30 = 0x88F1
+ARM64_SYSREG_TRCRSCTLR31 = 0x88F9
+ARM64_SYSREG_TRCSSCCR0 = 0x8882
+ARM64_SYSREG_TRCSSCCR1 = 0x888A
+ARM64_SYSREG_TRCSSCCR2 = 0x8892
+ARM64_SYSREG_TRCSSCCR3 = 0x889A
+ARM64_SYSREG_TRCSSCCR4 = 0x88A2
+ARM64_SYSREG_TRCSSCCR5 = 0x88AA
+ARM64_SYSREG_TRCSSCCR6 = 0x88B2
+ARM64_SYSREG_TRCSSCCR7 = 0x88BA
+ARM64_SYSREG_TRCSSCSR0 = 0x88C2
+ARM64_SYSREG_TRCSSCSR1 = 0x88CA
+ARM64_SYSREG_TRCSSCSR2 = 0x88D2
+ARM64_SYSREG_TRCSSCSR3 = 0x88DA
+ARM64_SYSREG_TRCSSCSR4 = 0x88E2
+ARM64_SYSREG_TRCSSCSR5 = 0x88EA
+ARM64_SYSREG_TRCSSCSR6 = 0x88F2
+ARM64_SYSREG_TRCSSCSR7 = 0x88FA
+ARM64_SYSREG_TRCSSPCICR0 = 0x8883
+ARM64_SYSREG_TRCSSPCICR1 = 0x888B
+ARM64_SYSREG_TRCSSPCICR2 = 0x8893
+ARM64_SYSREG_TRCSSPCICR3 = 0x889B
+ARM64_SYSREG_TRCSSPCICR4 = 0x88A3
+ARM64_SYSREG_TRCSSPCICR5 = 0x88AB
+ARM64_SYSREG_TRCSSPCICR6 = 0x88B3
+ARM64_SYSREG_TRCSSPCICR7 = 0x88BB
+ARM64_SYSREG_TRCPDCR = 0x88A4
+ARM64_SYSREG_TRCACVR0 = 0x8900
+ARM64_SYSREG_TRCACVR1 = 0x8910
+ARM64_SYSREG_TRCACVR2 = 0x8920
+ARM64_SYSREG_TRCACVR3 = 0x8930
+ARM64_SYSREG_TRCACVR4 = 0x8940
+ARM64_SYSREG_TRCACVR5 = 0x8950
+ARM64_SYSREG_TRCACVR6 = 0x8960
+ARM64_SYSREG_TRCACVR7 = 0x8970
+ARM64_SYSREG_TRCACVR8 = 0x8901
+ARM64_SYSREG_TRCACVR9 = 0x8911
+ARM64_SYSREG_TRCACVR10 = 0x8921
+ARM64_SYSREG_TRCACVR11 = 0x8931
+ARM64_SYSREG_TRCACVR12 = 0x8941
+ARM64_SYSREG_TRCACVR13 = 0x8951
+ARM64_SYSREG_TRCACVR14 = 0x8961
+ARM64_SYSREG_TRCACVR15 = 0x8971
+ARM64_SYSREG_TRCACATR0 = 0x8902
+ARM64_SYSREG_TRCACATR1 = 0x8912
+ARM64_SYSREG_TRCACATR2 = 0x8922
+ARM64_SYSREG_TRCACATR3 = 0x8932
+ARM64_SYSREG_TRCACATR4 = 0x8942
+ARM64_SYSREG_TRCACATR5 = 0x8952
+ARM64_SYSREG_TRCACATR6 = 0x8962
+ARM64_SYSREG_TRCACATR7 = 0x8972
+ARM64_SYSREG_TRCACATR8 = 0x8903
+ARM64_SYSREG_TRCACATR9 = 0x8913
+ARM64_SYSREG_TRCACATR10 = 0x8923
+ARM64_SYSREG_TRCACATR11 = 0x8933
+ARM64_SYSREG_TRCACATR12 = 0x8943
+ARM64_SYSREG_TRCACATR13 = 0x8953
+ARM64_SYSREG_TRCACATR14 = 0x8963
+ARM64_SYSREG_TRCACATR15 = 0x8973
+ARM64_SYSREG_TRCDVCVR0 = 0x8904
+ARM64_SYSREG_TRCDVCVR1 = 0x8924
+ARM64_SYSREG_TRCDVCVR2 = 0x8944
+ARM64_SYSREG_TRCDVCVR3 = 0x8964
+ARM64_SYSREG_TRCDVCVR4 = 0x8905
+ARM64_SYSREG_TRCDVCVR5 = 0x8925
+ARM64_SYSREG_TRCDVCVR6 = 0x8945
+ARM64_SYSREG_TRCDVCVR7 = 0x8965
+ARM64_SYSREG_TRCDVCMR0 = 0x8906
+ARM64_SYSREG_TRCDVCMR1 = 0x8926
+ARM64_SYSREG_TRCDVCMR2 = 0x8946
+ARM64_SYSREG_TRCDVCMR3 = 0x8966
+ARM64_SYSREG_TRCDVCMR4 = 0x8907
+ARM64_SYSREG_TRCDVCMR5 = 0x8927
+ARM64_SYSREG_TRCDVCMR6 = 0x8947
+ARM64_SYSREG_TRCDVCMR7 = 0x8967
+ARM64_SYSREG_TRCCIDCVR0 = 0x8980
+ARM64_SYSREG_TRCCIDCVR1 = 0x8990
+ARM64_SYSREG_TRCCIDCVR2 = 0x89A0
+ARM64_SYSREG_TRCCIDCVR3 = 0x89B0
+ARM64_SYSREG_TRCCIDCVR4 = 0x89C0
+ARM64_SYSREG_TRCCIDCVR5 = 0x89D0
+ARM64_SYSREG_TRCCIDCVR6 = 0x89E0
+ARM64_SYSREG_TRCCIDCVR7 = 0x89F0
+ARM64_SYSREG_TRCVMIDCVR0 = 0x8981
+ARM64_SYSREG_TRCVMIDCVR1 = 0x8991
+ARM64_SYSREG_TRCVMIDCVR2 = 0x89A1
+ARM64_SYSREG_TRCVMIDCVR3 = 0x89B1
+ARM64_SYSREG_TRCVMIDCVR4 = 0x89C1
+ARM64_SYSREG_TRCVMIDCVR5 = 0x89D1
+ARM64_SYSREG_TRCVMIDCVR6 = 0x89E1
+ARM64_SYSREG_TRCVMIDCVR7 = 0x89F1
+ARM64_SYSREG_TRCCIDCCTLR0 = 0x8982
+ARM64_SYSREG_TRCCIDCCTLR1 = 0x898A
+ARM64_SYSREG_TRCVMIDCCTLR0 = 0x8992
+ARM64_SYSREG_TRCVMIDCCTLR1 = 0x899A
+ARM64_SYSREG_TRCITCTRL = 0x8B84
+ARM64_SYSREG_TRCCLAIMSET = 0x8BC6
+ARM64_SYSREG_TRCCLAIMCLR = 0x8BCE
+ARM64_SYSREG_ICC_BPR1_EL1 = 0xC663
+ARM64_SYSREG_ICC_BPR0_EL1 = 0xC643
+ARM64_SYSREG_ICC_PMR_EL1 = 0xC230
+ARM64_SYSREG_ICC_CTLR_EL1 = 0xC664
+ARM64_SYSREG_ICC_CTLR_EL3 = 0xF664
+ARM64_SYSREG_ICC_SRE_EL1 = 0xC665
+ARM64_SYSREG_ICC_SRE_EL2 = 0xE64D
+ARM64_SYSREG_ICC_SRE_EL3 = 0xF665
+ARM64_SYSREG_ICC_IGRPEN0_EL1 = 0xC666
+ARM64_SYSREG_ICC_IGRPEN1_EL1 = 0xC667
+ARM64_SYSREG_ICC_IGRPEN1_EL3 = 0xF667
+ARM64_SYSREG_ICC_SEIEN_EL1 = 0xC668
+ARM64_SYSREG_ICC_AP0R0_EL1 = 0xC644
+ARM64_SYSREG_ICC_AP0R1_EL1 = 0xC645
+ARM64_SYSREG_ICC_AP0R2_EL1 = 0xC646
+ARM64_SYSREG_ICC_AP0R3_EL1 = 0xC647
+ARM64_SYSREG_ICC_AP1R0_EL1 = 0xC648
+ARM64_SYSREG_ICC_AP1R1_EL1 = 0xC649
+ARM64_SYSREG_ICC_AP1R2_EL1 = 0xC64A
+ARM64_SYSREG_ICC_AP1R3_EL1 = 0xC64B
+ARM64_SYSREG_ICH_AP0R0_EL2 = 0xE640
+ARM64_SYSREG_ICH_AP0R1_EL2 = 0xE641
+ARM64_SYSREG_ICH_AP0R2_EL2 = 0xE642
+ARM64_SYSREG_ICH_AP0R3_EL2 = 0xE643
+ARM64_SYSREG_ICH_AP1R0_EL2 = 0xE648
+ARM64_SYSREG_ICH_AP1R1_EL2 = 0xE649
+ARM64_SYSREG_ICH_AP1R2_EL2 = 0xE64A
+ARM64_SYSREG_ICH_AP1R3_EL2 = 0xE64B
+ARM64_SYSREG_ICH_HCR_EL2 = 0xE658
+ARM64_SYSREG_ICH_MISR_EL2 = 0xE65A
+ARM64_SYSREG_ICH_VMCR_EL2 = 0xE65F
+ARM64_SYSREG_ICH_VSEIR_EL2 = 0xE64C
+ARM64_SYSREG_ICH_LR0_EL2 = 0xE660
+ARM64_SYSREG_ICH_LR1_EL2 = 0xE661
+ARM64_SYSREG_ICH_LR2_EL2 = 0xE662
+ARM64_SYSREG_ICH_LR3_EL2 = 0xE663
+ARM64_SYSREG_ICH_LR4_EL2 = 0xE664
+ARM64_SYSREG_ICH_LR5_EL2 = 0xE665
+ARM64_SYSREG_ICH_LR6_EL2 = 0xE666
+ARM64_SYSREG_ICH_LR7_EL2 = 0xE667
+ARM64_SYSREG_ICH_LR8_EL2 = 0xE668
+ARM64_SYSREG_ICH_LR9_EL2 = 0xE669
+ARM64_SYSREG_ICH_LR10_EL2 = 0xE66A
+ARM64_SYSREG_ICH_LR11_EL2 = 0xE66B
+ARM64_SYSREG_ICH_LR12_EL2 = 0xE66C
+ARM64_SYSREG_ICH_LR13_EL2 = 0xE66D
+ARM64_SYSREG_ICH_LR14_EL2 = 0xE66E
+ARM64_SYSREG_ICH_LR15_EL2 = 0xE66F
+ARM64_SYSREG_PAN = 0xC213
+ARM64_SYSREG_LORSA_EL1 = 0xC520
+ARM64_SYSREG_LOREA_EL1 = 0xC521
+ARM64_SYSREG_LORN_EL1 = 0xC522
+ARM64_SYSREG_LORC_EL1 = 0xC523
+ARM64_SYSREG_TTBR1_EL2 = 0xE101
+ARM64_SYSREG_CONTEXTIDR_EL2 = 0xE681
+ARM64_SYSREG_CNTHV_TVAL_EL2 = 0xE718
+ARM64_SYSREG_CNTHV_CVAL_EL2 = 0xE71A
+ARM64_SYSREG_CNTHV_CTL_EL2 = 0xE719
+ARM64_SYSREG_SCTLR_EL12 = 0xE880
+ARM64_SYSREG_CPACR_EL12 = 0xE882
+ARM64_SYSREG_TTBR0_EL12 = 0xE900
+ARM64_SYSREG_TTBR1_EL12 = 0xE901
+ARM64_SYSREG_TCR_EL12 = 0xE902
+ARM64_SYSREG_AFSR0_EL12 = 0xEA88
+ARM64_SYSREG_AFSR1_EL12 = 0xEA89
+ARM64_SYSREG_ESR_EL12 = 0xEA90
+ARM64_SYSREG_FAR_EL12 = 0xEB00
+ARM64_SYSREG_MAIR_EL12 = 0xED10
+ARM64_SYSREG_AMAIR_EL12 = 0xED18
+ARM64_SYSREG_VBAR_EL12 = 0xEE00
+ARM64_SYSREG_CONTEXTIDR_EL12 = 0xEE81
+ARM64_SYSREG_CNTKCTL_EL12 = 0xEF08
+ARM64_SYSREG_CNTP_TVAL_EL02 = 0xEF10
+ARM64_SYSREG_CNTP_CTL_EL02 = 0xEF11
+ARM64_SYSREG_CNTP_CVAL_EL02 = 0xEF12
+ARM64_SYSREG_CNTV_TVAL_EL02 = 0xEF18
+ARM64_SYSREG_CNTV_CTL_EL02 = 0xEF19
+ARM64_SYSREG_CNTV_CVAL_EL02 = 0xEF1A
+ARM64_SYSREG_SPSR_EL12 = 0xEA00
+ARM64_SYSREG_ELR_EL12 = 0xEA01
+ARM64_SYSREG_UAO = 0xC214
+ARM64_SYSREG_PMBLIMITR_EL1 = 0xC4D0
+ARM64_SYSREG_PMBPTR_EL1 = 0xC4D1
+ARM64_SYSREG_PMBSR_EL1 = 0xC4D3
+ARM64_SYSREG_PMBIDR_EL1 = 0xC4D7
+ARM64_SYSREG_PMSCR_EL2 = 0xE4C8
+ARM64_SYSREG_PMSCR_EL12 = 0xECC8
+ARM64_SYSREG_PMSCR_EL1 = 0xC4C8
+ARM64_SYSREG_PMSICR_EL1 = 0xC4CA
+ARM64_SYSREG_PMSIRR_EL1 = 0xC4CB
+ARM64_SYSREG_PMSFCR_EL1 = 0xC4CC
+ARM64_SYSREG_PMSEVFR_EL1 = 0xC4CD
+ARM64_SYSREG_PMSLATFR_EL1 = 0xC4CE
+ARM64_SYSREG_PMSIDR_EL1 = 0xC4CF
+ARM64_SYSREG_ERRSELR_EL1 = 0xC299
+ARM64_SYSREG_ERXCTLR_EL1 = 0xC2A1
+ARM64_SYSREG_ERXSTATUS_EL1 = 0xC2A2
+ARM64_SYSREG_ERXADDR_EL1 = 0xC2A3
+ARM64_SYSREG_ERXMISC0_EL1 = 0xC2A8
+ARM64_SYSREG_ERXMISC1_EL1 = 0xC2A9
+ARM64_SYSREG_DISR_EL1 = 0xC609
+ARM64_SYSREG_VDISR_EL2 = 0xE609
+ARM64_SYSREG_VSESR_EL2 = 0xE293
+ARM64_SYSREG_APIAKEYLO_EL1 = 0xC108
+ARM64_SYSREG_APIAKEYHI_EL1 = 0xC109
+ARM64_SYSREG_APIBKEYLO_EL1 = 0xC10A
+ARM64_SYSREG_APIBKEYHI_EL1 = 0xC10B
+ARM64_SYSREG_APDAKEYLO_EL1 = 0xC110
+ARM64_SYSREG_APDAKEYHI_EL1 = 0xC111
+ARM64_SYSREG_APDBKEYLO_EL1 = 0xC112
+ARM64_SYSREG_APDBKEYHI_EL1 = 0xC113
+ARM64_SYSREG_APGAKEYLO_EL1 = 0xC118
+ARM64_SYSREG_APGAKEYHI_EL1 = 0xC119
+ARM64_SYSREG_VSTCR_EL2 = 0xE132
+ARM64_SYSREG_VSTTBR_EL2 = 0xE130
+ARM64_SYSREG_CNTHVS_TVAL_EL2 = 0xE720
+ARM64_SYSREG_CNTHVS_CVAL_EL2 = 0xE722
+ARM64_SYSREG_CNTHVS_CTL_EL2 = 0xE721
+ARM64_SYSREG_CNTHPS_TVAL_EL2 = 0xE728
+ARM64_SYSREG_CNTHPS_CVAL_EL2 = 0xE72A
+ARM64_SYSREG_CNTHPS_CTL_EL2 = 0xE729
+ARM64_SYSREG_SDER32_EL2 = 0xE099
+ARM64_SYSREG_ERXPFGCTL_EL1 = 0xC2A5
+ARM64_SYSREG_ERXPFGCDN_EL1 = 0xC2A6
+ARM64_SYSREG_ERXTS_EL1 = 0xC2AF
+ARM64_SYSREG_ERXMISC2_EL1 = 0xC2AA
+ARM64_SYSREG_ERXMISC3_EL1 = 0xC2AB
+ARM64_SYSREG_ERXPFGF_EL1 = 0xC2A4
+ARM64_SYSREG_MPAM0_EL1 = 0xC529
+ARM64_SYSREG_MPAM1_EL1 = 0xC528
+ARM64_SYSREG_MPAM2_EL2 = 0xE528
+ARM64_SYSREG_MPAM3_EL3 = 0xF528
+ARM64_SYSREG_MPAM1_EL12 = 0xED28
+ARM64_SYSREG_MPAMHCR_EL2 = 0xE520
+ARM64_SYSREG_MPAMVPMV_EL2 = 0xE521
+ARM64_SYSREG_MPAMVPM0_EL2 = 0xE530
+ARM64_SYSREG_MPAMVPM1_EL2 = 0xE531
+ARM64_SYSREG_MPAMVPM2_EL2 = 0xE532
+ARM64_SYSREG_MPAMVPM3_EL2 = 0xE533
+ARM64_SYSREG_MPAMVPM4_EL2 = 0xE534
+ARM64_SYSREG_MPAMVPM5_EL2 = 0xE535
+ARM64_SYSREG_MPAMVPM6_EL2 = 0xE536
+ARM64_SYSREG_MPAMVPM7_EL2 = 0xE537
+ARM64_SYSREG_MPAMIDR_EL1 = 0xC524
+ARM64_SYSREG_AMCR_EL0 = 0xDE90
+ARM64_SYSREG_AMCFGR_EL0 = 0xDE91
+ARM64_SYSREG_AMCGCR_EL0 = 0xDE92
+ARM64_SYSREG_AMUSERENR_EL0 = 0xDE93
+ARM64_SYSREG_AMCNTENCLR0_EL0 = 0xDE94
+ARM64_SYSREG_AMCNTENSET0_EL0 = 0xDE95
+ARM64_SYSREG_AMEVCNTR00_EL0 = 0xDEA0
+ARM64_SYSREG_AMEVCNTR01_EL0 = 0xDEA1
+ARM64_SYSREG_AMEVCNTR02_EL0 = 0xDEA2
+ARM64_SYSREG_AMEVCNTR03_EL0 = 0xDEA3
+ARM64_SYSREG_AMEVTYPER00_EL0 = 0xDEB0
+ARM64_SYSREG_AMEVTYPER01_EL0 = 0xDEB1
+ARM64_SYSREG_AMEVTYPER02_EL0 = 0xDEB2
+ARM64_SYSREG_AMEVTYPER03_EL0 = 0xDEB3
+ARM64_SYSREG_AMCNTENCLR1_EL0 = 0xDE98
+ARM64_SYSREG_AMCNTENSET1_EL0 = 0xDE99
+ARM64_SYSREG_AMEVCNTR10_EL0 = 0xDEE0
+ARM64_SYSREG_AMEVCNTR11_EL0 = 0xDEE1
+ARM64_SYSREG_AMEVCNTR12_EL0 = 0xDEE2
+ARM64_SYSREG_AMEVCNTR13_EL0 = 0xDEE3
+ARM64_SYSREG_AMEVCNTR14_EL0 = 0xDEE4
+ARM64_SYSREG_AMEVCNTR15_EL0 = 0xDEE5
+ARM64_SYSREG_AMEVCNTR16_EL0 = 0xDEE6
+ARM64_SYSREG_AMEVCNTR17_EL0 = 0xDEE7
+ARM64_SYSREG_AMEVCNTR18_EL0 = 0xDEE8
+ARM64_SYSREG_AMEVCNTR19_EL0 = 0xDEE9
+ARM64_SYSREG_AMEVCNTR110_EL0 = 0xDEEA
+ARM64_SYSREG_AMEVCNTR111_EL0 = 0xDEEB
+ARM64_SYSREG_AMEVCNTR112_EL0 = 0xDEEC
+ARM64_SYSREG_AMEVCNTR113_EL0 = 0xDEED
+ARM64_SYSREG_AMEVCNTR114_EL0 = 0xDEEE
+ARM64_SYSREG_AMEVCNTR115_EL0 = 0xDEEF
+ARM64_SYSREG_AMEVTYPER10_EL0 = 0xDEF0
+ARM64_SYSREG_AMEVTYPER11_EL0 = 0xDEF1
+ARM64_SYSREG_AMEVTYPER12_EL0 = 0xDEF2
+ARM64_SYSREG_AMEVTYPER13_EL0 = 0xDEF3
+ARM64_SYSREG_AMEVTYPER14_EL0 = 0xDEF4
+ARM64_SYSREG_AMEVTYPER15_EL0 = 0xDEF5
+ARM64_SYSREG_AMEVTYPER16_EL0 = 0xDEF6
+ARM64_SYSREG_AMEVTYPER17_EL0 = 0xDEF7
+ARM64_SYSREG_AMEVTYPER18_EL0 = 0xDEF8
+ARM64_SYSREG_AMEVTYPER19_EL0 = 0xDEF9
+ARM64_SYSREG_AMEVTYPER110_EL0 = 0xDEFA
+ARM64_SYSREG_AMEVTYPER111_EL0 = 0xDEFB
+ARM64_SYSREG_AMEVTYPER112_EL0 = 0xDEFC
+ARM64_SYSREG_AMEVTYPER113_EL0 = 0xDEFD
+ARM64_SYSREG_AMEVTYPER114_EL0 = 0xDEFE
+ARM64_SYSREG_AMEVTYPER115_EL0 = 0xDEFF
+ARM64_SYSREG_TRFCR_EL1 = 0xC091
+ARM64_SYSREG_TRFCR_EL2 = 0xE091
+ARM64_SYSREG_TRFCR_EL12 = 0xE891
+ARM64_SYSREG_DIT = 0xDA15
+ARM64_SYSREG_VNCR_EL2 = 0xE110
+ARM64_SYSREG_ZCR_EL1 = 0xC090
+ARM64_SYSREG_ZCR_EL2 = 0xE090
+ARM64_SYSREG_ZCR_EL3 = 0xF090
+ARM64_SYSREG_ZCR_EL12 = 0xE890
+ARM64_SYSREG_CPM_IOACC_CTL_EL3 = 0xFF90
+
+ARM64_PSTATE_INVALID = 0
+ARM64_PSTATE_SPSEL = 0x05
+ARM64_PSTATE_DAIFSET = 0x1e
+ARM64_PSTATE_DAIFCLR = 0x1f
+ARM64_PSTATE_PAN = 0x4
+ARM64_PSTATE_UAO = 0x3
+ARM64_PSTATE_DIT = 0x1a
+
+ARM64_VAS_INVALID = 0
+ARM64_VAS_16B = 1
+ARM64_VAS_8B = 2
+ARM64_VAS_4B = 3
+ARM64_VAS_1B = 4
+ARM64_VAS_8H = 5
+ARM64_VAS_4H = 6
+ARM64_VAS_2H = 7
+ARM64_VAS_1H = 8
+ARM64_VAS_4S = 9
+ARM64_VAS_2S = 10
+ARM64_VAS_1S = 11
+ARM64_VAS_2D = 12
+ARM64_VAS_1D = 13
+ARM64_VAS_1Q = 14
+
+ARM64_BARRIER_INVALID = 0
+ARM64_BARRIER_OSHLD = 0x1
+ARM64_BARRIER_OSHST = 0x2
+ARM64_BARRIER_OSH = 0x3
+ARM64_BARRIER_NSHLD = 0x5
+ARM64_BARRIER_NSHST = 0x6
+ARM64_BARRIER_NSH = 0x7
+ARM64_BARRIER_ISHLD = 0x9
+ARM64_BARRIER_ISHST = 0xa
+ARM64_BARRIER_ISH = 0xb
+ARM64_BARRIER_LD = 0xd
+ARM64_BARRIER_ST = 0xe
+ARM64_BARRIER_SY = 0xf
+
+ARM64_OP_INVALID = 0
+ARM64_OP_REG = 1
+ARM64_OP_IMM = 2
+ARM64_OP_MEM = 3
+ARM64_OP_FP = 4
+ARM64_OP_CIMM = 64
+ARM64_OP_REG_MRS = 65
+ARM64_OP_REG_MSR = 66
+ARM64_OP_PSTATE = 67
+ARM64_OP_SYS = 68
+ARM64_OP_PREFETCH = 69
+ARM64_OP_BARRIER = 70
+
+ARM64_TLBI_INVALID = 0
+ARM64_TLBI_IPAS2E1IS = 1
+ARM64_TLBI_IPAS2LE1IS = 2
+ARM64_TLBI_VMALLE1IS = 3
+ARM64_TLBI_ALLE2IS = 4
+ARM64_TLBI_ALLE3IS = 5
+ARM64_TLBI_VAE1IS = 6
+ARM64_TLBI_VAE2IS = 7
+ARM64_TLBI_VAE3IS = 8
+ARM64_TLBI_ASIDE1IS = 9
+ARM64_TLBI_VAAE1IS = 10
+ARM64_TLBI_ALLE1IS = 11
+ARM64_TLBI_VALE1IS = 12
+ARM64_TLBI_VALE2IS = 13
+ARM64_TLBI_VALE3IS = 14
+ARM64_TLBI_VMALLS12E1IS = 15
+ARM64_TLBI_VAALE1IS = 16
+ARM64_TLBI_IPAS2E1 = 17
+ARM64_TLBI_IPAS2LE1 = 18
+ARM64_TLBI_VMALLE1 = 19
+ARM64_TLBI_ALLE2 = 20
+ARM64_TLBI_ALLE3 = 21
+ARM64_TLBI_VAE1 = 22
+ARM64_TLBI_VAE2 = 23
+ARM64_TLBI_VAE3 = 24
+ARM64_TLBI_ASIDE1 = 25
+ARM64_TLBI_VAAE1 = 26
+ARM64_TLBI_ALLE1 = 27
+ARM64_TLBI_VALE1 = 28
+ARM64_TLBI_VALE2 = 29
+ARM64_TLBI_VALE3 = 30
+ARM64_TLBI_VMALLS12E1 = 31
+ARM64_TLBI_VAALE1 = 32
+ARM64_TLBI_VMALLE1OS = 33
+ARM64_TLBI_VAE1OS = 34
+ARM64_TLBI_ASIDE1OS = 35
+ARM64_TLBI_VAAE1OS = 36
+ARM64_TLBI_VALE1OS = 37
+ARM64_TLBI_VAALE1OS = 38
+ARM64_TLBI_IPAS2E1OS = 39
+ARM64_TLBI_IPAS2LE1OS = 40
+ARM64_TLBI_VAE2OS = 41
+ARM64_TLBI_VALE2OS = 42
+ARM64_TLBI_VMALLS12E1OS = 43
+ARM64_TLBI_VAE3OS = 44
+ARM64_TLBI_VALE3OS = 45
+ARM64_TLBI_ALLE2OS = 46
+ARM64_TLBI_ALLE1OS = 47
+ARM64_TLBI_ALLE3OS = 48
+ARM64_TLBI_RVAE1 = 49
+ARM64_TLBI_RVAAE1 = 50
+ARM64_TLBI_RVALE1 = 51
+ARM64_TLBI_RVAALE1 = 52
+ARM64_TLBI_RVAE1IS = 53
+ARM64_TLBI_RVAAE1IS = 54
+ARM64_TLBI_RVALE1IS = 55
+ARM64_TLBI_RVAALE1IS = 56
+ARM64_TLBI_RVAE1OS = 57
+ARM64_TLBI_RVAAE1OS = 58
+ARM64_TLBI_RVALE1OS = 59
+ARM64_TLBI_RVAALE1OS = 60
+ARM64_TLBI_RIPAS2E1IS = 61
+ARM64_TLBI_RIPAS2LE1IS = 62
+ARM64_TLBI_RIPAS2E1 = 63
+ARM64_TLBI_RIPAS2LE1 = 64
+ARM64_TLBI_RIPAS2E1OS = 65
+ARM64_TLBI_RIPAS2LE1OS = 66
+ARM64_TLBI_RVAE2 = 67
+ARM64_TLBI_RVALE2 = 68
+ARM64_TLBI_RVAE2IS = 69
+ARM64_TLBI_RVALE2IS = 70
+ARM64_TLBI_RVAE2OS = 71
+ARM64_TLBI_RVALE2OS = 72
+ARM64_TLBI_RVAE3 = 73
+ARM64_TLBI_RVALE3 = 74
+ARM64_TLBI_RVAE3IS = 75
+ARM64_TLBI_RVALE3IS = 76
+ARM64_TLBI_RVAE3OS = 77
+ARM64_TLBI_RVALE3OS = 78
+ARM64_AT_S1E1R = 79
+ARM64_AT_S1E2R = 80
+ARM64_AT_S1E3R = 81
+ARM64_AT_S1E1W = 82
+ARM64_AT_S1E2W = 83
+ARM64_AT_S1E3W = 84
+ARM64_AT_S1E0R = 85
+ARM64_AT_S1E0W = 86
+ARM64_AT_S12E1R = 87
+ARM64_AT_S12E1W = 88
+ARM64_AT_S12E0R = 89
+ARM64_AT_S12E0W = 90
+ARM64_AT_S1E1RP = 91
+ARM64_AT_S1E1WP = 92
+
+ARM64_DC_INVALID = 0
+ARM64_DC_ZVA = 1
+ARM64_DC_IVAC = 2
+ARM64_DC_ISW = 3
+ARM64_DC_CVAC = 4
+ARM64_DC_CSW = 5
+ARM64_DC_CVAU = 6
+ARM64_DC_CIVAC = 7
+ARM64_DC_CISW = 8
+ARM64_DC_CVAP = 9
+
+ARM64_IC_INVALID = 0
+ARM64_IC_IALLUIS = 1
+ARM64_IC_IALLU = 2
+ARM64_IC_IVAU = 3
+
+ARM64_PRFM_INVALID = 0
+ARM64_PRFM_PLDL1KEEP = 0x00+1
+ARM64_PRFM_PLDL1STRM = 0x01+1
+ARM64_PRFM_PLDL2KEEP = 0x02+1
+ARM64_PRFM_PLDL2STRM = 0x03+1
+ARM64_PRFM_PLDL3KEEP = 0x04+1
+ARM64_PRFM_PLDL3STRM = 0x05+1
+ARM64_PRFM_PLIL1KEEP = 0x08+1
+ARM64_PRFM_PLIL1STRM = 0x09+1
+ARM64_PRFM_PLIL2KEEP = 0x0a+1
+ARM64_PRFM_PLIL2STRM = 0x0b+1
+ARM64_PRFM_PLIL3KEEP = 0x0c+1
+ARM64_PRFM_PLIL3STRM = 0x0d+1
+ARM64_PRFM_PSTL1KEEP = 0x10+1
+ARM64_PRFM_PSTL1STRM = 0x11+1
+ARM64_PRFM_PSTL2KEEP = 0x12+1
+ARM64_PRFM_PSTL2STRM = 0x13+1
+ARM64_PRFM_PSTL3KEEP = 0x14+1
+ARM64_PRFM_PSTL3STRM = 0x15+1
+
+ARM64_REG_INVALID = 0
+ARM64_REG_FFR = 1
+ARM64_REG_FP = 2
+ARM64_REG_LR = 3
+ARM64_REG_NZCV = 4
+ARM64_REG_SP = 5
+ARM64_REG_WSP = 6
+ARM64_REG_WZR = 7
+ARM64_REG_XZR = 8
+ARM64_REG_B0 = 9
+ARM64_REG_B1 = 10
+ARM64_REG_B2 = 11
+ARM64_REG_B3 = 12
+ARM64_REG_B4 = 13
+ARM64_REG_B5 = 14
+ARM64_REG_B6 = 15
+ARM64_REG_B7 = 16
+ARM64_REG_B8 = 17
+ARM64_REG_B9 = 18
+ARM64_REG_B10 = 19
+ARM64_REG_B11 = 20
+ARM64_REG_B12 = 21
+ARM64_REG_B13 = 22
+ARM64_REG_B14 = 23
+ARM64_REG_B15 = 24
+ARM64_REG_B16 = 25
+ARM64_REG_B17 = 26
+ARM64_REG_B18 = 27
+ARM64_REG_B19 = 28
+ARM64_REG_B20 = 29
+ARM64_REG_B21 = 30
+ARM64_REG_B22 = 31
+ARM64_REG_B23 = 32
+ARM64_REG_B24 = 33
+ARM64_REG_B25 = 34
+ARM64_REG_B26 = 35
+ARM64_REG_B27 = 36
+ARM64_REG_B28 = 37
+ARM64_REG_B29 = 38
+ARM64_REG_B30 = 39
+ARM64_REG_B31 = 40
+ARM64_REG_D0 = 41
+ARM64_REG_D1 = 42
+ARM64_REG_D2 = 43
+ARM64_REG_D3 = 44
+ARM64_REG_D4 = 45
+ARM64_REG_D5 = 46
+ARM64_REG_D6 = 47
+ARM64_REG_D7 = 48
+ARM64_REG_D8 = 49
+ARM64_REG_D9 = 50
+ARM64_REG_D10 = 51
+ARM64_REG_D11 = 52
+ARM64_REG_D12 = 53
+ARM64_REG_D13 = 54
+ARM64_REG_D14 = 55
+ARM64_REG_D15 = 56
+ARM64_REG_D16 = 57
+ARM64_REG_D17 = 58
+ARM64_REG_D18 = 59
+ARM64_REG_D19 = 60
+ARM64_REG_D20 = 61
+ARM64_REG_D21 = 62
+ARM64_REG_D22 = 63
+ARM64_REG_D23 = 64
+ARM64_REG_D24 = 65
+ARM64_REG_D25 = 66
+ARM64_REG_D26 = 67
+ARM64_REG_D27 = 68
+ARM64_REG_D28 = 69
+ARM64_REG_D29 = 70
+ARM64_REG_D30 = 71
+ARM64_REG_D31 = 72
+ARM64_REG_H0 = 73
+ARM64_REG_H1 = 74
+ARM64_REG_H2 = 75
+ARM64_REG_H3 = 76
+ARM64_REG_H4 = 77
+ARM64_REG_H5 = 78
+ARM64_REG_H6 = 79
+ARM64_REG_H7 = 80
+ARM64_REG_H8 = 81
+ARM64_REG_H9 = 82
+ARM64_REG_H10 = 83
+ARM64_REG_H11 = 84
+ARM64_REG_H12 = 85
+ARM64_REG_H13 = 86
+ARM64_REG_H14 = 87
+ARM64_REG_H15 = 88
+ARM64_REG_H16 = 89
+ARM64_REG_H17 = 90
+ARM64_REG_H18 = 91
+ARM64_REG_H19 = 92
+ARM64_REG_H20 = 93
+ARM64_REG_H21 = 94
+ARM64_REG_H22 = 95
+ARM64_REG_H23 = 96
+ARM64_REG_H24 = 97
+ARM64_REG_H25 = 98
+ARM64_REG_H26 = 99
+ARM64_REG_H27 = 100
+ARM64_REG_H28 = 101
+ARM64_REG_H29 = 102
+ARM64_REG_H30 = 103
+ARM64_REG_H31 = 104
+ARM64_REG_P0 = 105
+ARM64_REG_P1 = 106
+ARM64_REG_P2 = 107
+ARM64_REG_P3 = 108
+ARM64_REG_P4 = 109
+ARM64_REG_P5 = 110
+ARM64_REG_P6 = 111
+ARM64_REG_P7 = 112
+ARM64_REG_P8 = 113
+ARM64_REG_P9 = 114
+ARM64_REG_P10 = 115
+ARM64_REG_P11 = 116
+ARM64_REG_P12 = 117
+ARM64_REG_P13 = 118
+ARM64_REG_P14 = 119
+ARM64_REG_P15 = 120
+ARM64_REG_Q0 = 121
+ARM64_REG_Q1 = 122
+ARM64_REG_Q2 = 123
+ARM64_REG_Q3 = 124
+ARM64_REG_Q4 = 125
+ARM64_REG_Q5 = 126
+ARM64_REG_Q6 = 127
+ARM64_REG_Q7 = 128
+ARM64_REG_Q8 = 129
+ARM64_REG_Q9 = 130
+ARM64_REG_Q10 = 131
+ARM64_REG_Q11 = 132
+ARM64_REG_Q12 = 133
+ARM64_REG_Q13 = 134
+ARM64_REG_Q14 = 135
+ARM64_REG_Q15 = 136
+ARM64_REG_Q16 = 137
+ARM64_REG_Q17 = 138
+ARM64_REG_Q18 = 139
+ARM64_REG_Q19 = 140
+ARM64_REG_Q20 = 141
+ARM64_REG_Q21 = 142
+ARM64_REG_Q22 = 143
+ARM64_REG_Q23 = 144
+ARM64_REG_Q24 = 145
+ARM64_REG_Q25 = 146
+ARM64_REG_Q26 = 147
+ARM64_REG_Q27 = 148
+ARM64_REG_Q28 = 149
+ARM64_REG_Q29 = 150
+ARM64_REG_Q30 = 151
+ARM64_REG_Q31 = 152
+ARM64_REG_S0 = 153
+ARM64_REG_S1 = 154
+ARM64_REG_S2 = 155
+ARM64_REG_S3 = 156
+ARM64_REG_S4 = 157
+ARM64_REG_S5 = 158
+ARM64_REG_S6 = 159
+ARM64_REG_S7 = 160
+ARM64_REG_S8 = 161
+ARM64_REG_S9 = 162
+ARM64_REG_S10 = 163
+ARM64_REG_S11 = 164
+ARM64_REG_S12 = 165
+ARM64_REG_S13 = 166
+ARM64_REG_S14 = 167
+ARM64_REG_S15 = 168
+ARM64_REG_S16 = 169
+ARM64_REG_S17 = 170
+ARM64_REG_S18 = 171
+ARM64_REG_S19 = 172
+ARM64_REG_S20 = 173
+ARM64_REG_S21 = 174
+ARM64_REG_S22 = 175
+ARM64_REG_S23 = 176
+ARM64_REG_S24 = 177
+ARM64_REG_S25 = 178
+ARM64_REG_S26 = 179
+ARM64_REG_S27 = 180
+ARM64_REG_S28 = 181
+ARM64_REG_S29 = 182
+ARM64_REG_S30 = 183
+ARM64_REG_S31 = 184
+ARM64_REG_W0 = 185
+ARM64_REG_W1 = 186
+ARM64_REG_W2 = 187
+ARM64_REG_W3 = 188
+ARM64_REG_W4 = 189
+ARM64_REG_W5 = 190
+ARM64_REG_W6 = 191
+ARM64_REG_W7 = 192
+ARM64_REG_W8 = 193
+ARM64_REG_W9 = 194
+ARM64_REG_W10 = 195
+ARM64_REG_W11 = 196
+ARM64_REG_W12 = 197
+ARM64_REG_W13 = 198
+ARM64_REG_W14 = 199
+ARM64_REG_W15 = 200
+ARM64_REG_W16 = 201
+ARM64_REG_W17 = 202
+ARM64_REG_W18 = 203
+ARM64_REG_W19 = 204
+ARM64_REG_W20 = 205
+ARM64_REG_W21 = 206
+ARM64_REG_W22 = 207
+ARM64_REG_W23 = 208
+ARM64_REG_W24 = 209
+ARM64_REG_W25 = 210
+ARM64_REG_W26 = 211
+ARM64_REG_W27 = 212
+ARM64_REG_W28 = 213
+ARM64_REG_W29 = 214
+ARM64_REG_W30 = 215
+ARM64_REG_X0 = 216
+ARM64_REG_X1 = 217
+ARM64_REG_X2 = 218
+ARM64_REG_X3 = 219
+ARM64_REG_X4 = 220
+ARM64_REG_X5 = 221
+ARM64_REG_X6 = 222
+ARM64_REG_X7 = 223
+ARM64_REG_X8 = 224
+ARM64_REG_X9 = 225
+ARM64_REG_X10 = 226
+ARM64_REG_X11 = 227
+ARM64_REG_X12 = 228
+ARM64_REG_X13 = 229
+ARM64_REG_X14 = 230
+ARM64_REG_X15 = 231
+ARM64_REG_X16 = 232
+ARM64_REG_X17 = 233
+ARM64_REG_X18 = 234
+ARM64_REG_X19 = 235
+ARM64_REG_X20 = 236
+ARM64_REG_X21 = 237
+ARM64_REG_X22 = 238
+ARM64_REG_X23 = 239
+ARM64_REG_X24 = 240
+ARM64_REG_X25 = 241
+ARM64_REG_X26 = 242
+ARM64_REG_X27 = 243
+ARM64_REG_X28 = 244
+ARM64_REG_Z0 = 245
+ARM64_REG_Z1 = 246
+ARM64_REG_Z2 = 247
+ARM64_REG_Z3 = 248
+ARM64_REG_Z4 = 249
+ARM64_REG_Z5 = 250
+ARM64_REG_Z6 = 251
+ARM64_REG_Z7 = 252
+ARM64_REG_Z8 = 253
+ARM64_REG_Z9 = 254
+ARM64_REG_Z10 = 255
+ARM64_REG_Z11 = 256
+ARM64_REG_Z12 = 257
+ARM64_REG_Z13 = 258
+ARM64_REG_Z14 = 259
+ARM64_REG_Z15 = 260
+ARM64_REG_Z16 = 261
+ARM64_REG_Z17 = 262
+ARM64_REG_Z18 = 263
+ARM64_REG_Z19 = 264
+ARM64_REG_Z20 = 265
+ARM64_REG_Z21 = 266
+ARM64_REG_Z22 = 267
+ARM64_REG_Z23 = 268
+ARM64_REG_Z24 = 269
+ARM64_REG_Z25 = 270
+ARM64_REG_Z26 = 271
+ARM64_REG_Z27 = 272
+ARM64_REG_Z28 = 273
+ARM64_REG_Z29 = 274
+ARM64_REG_Z30 = 275
+ARM64_REG_Z31 = 276
+ARM64_REG_V0 = 277
+ARM64_REG_V1 = 278
+ARM64_REG_V2 = 279
+ARM64_REG_V3 = 280
+ARM64_REG_V4 = 281
+ARM64_REG_V5 = 282
+ARM64_REG_V6 = 283
+ARM64_REG_V7 = 284
+ARM64_REG_V8 = 285
+ARM64_REG_V9 = 286
+ARM64_REG_V10 = 287
+ARM64_REG_V11 = 288
+ARM64_REG_V12 = 289
+ARM64_REG_V13 = 290
+ARM64_REG_V14 = 291
+ARM64_REG_V15 = 292
+ARM64_REG_V16 = 293
+ARM64_REG_V17 = 294
+ARM64_REG_V18 = 295
+ARM64_REG_V19 = 296
+ARM64_REG_V20 = 297
+ARM64_REG_V21 = 298
+ARM64_REG_V22 = 299
+ARM64_REG_V23 = 300
+ARM64_REG_V24 = 301
+ARM64_REG_V25 = 302
+ARM64_REG_V26 = 303
+ARM64_REG_V27 = 304
+ARM64_REG_V28 = 305
+ARM64_REG_V29 = 306
+ARM64_REG_V30 = 307
+ARM64_REG_V31 = 308
+ARM64_REG_ENDING = 309
+ARM64_REG_IP0 = ARM64_REG_X16
+ARM64_REG_IP1 = ARM64_REG_X17
+ARM64_REG_X29 = ARM64_REG_FP
+ARM64_REG_X30 = ARM64_REG_LR
+
+ARM64_INS_INVALID = 0
+ARM64_INS_ABS = 1
+ARM64_INS_ADC = 2
+ARM64_INS_ADCS = 3
+ARM64_INS_ADD = 4
+ARM64_INS_ADDHN = 5
+ARM64_INS_ADDHN2 = 6
+ARM64_INS_ADDP = 7
+ARM64_INS_ADDPL = 8
+ARM64_INS_ADDS = 9
+ARM64_INS_ADDV = 10
+ARM64_INS_ADDVL = 11
+ARM64_INS_ADR = 12
+ARM64_INS_ADRP = 13
+ARM64_INS_AESD = 14
+ARM64_INS_AESE = 15
+ARM64_INS_AESIMC = 16
+ARM64_INS_AESMC = 17
+ARM64_INS_AND = 18
+ARM64_INS_ANDS = 19
+ARM64_INS_ANDV = 20
+ARM64_INS_ASR = 21
+ARM64_INS_ASRD = 22
+ARM64_INS_ASRR = 23
+ARM64_INS_ASRV = 24
+ARM64_INS_AUTDA = 25
+ARM64_INS_AUTDB = 26
+ARM64_INS_AUTDZA = 27
+ARM64_INS_AUTDZB = 28
+ARM64_INS_AUTIA = 29
+ARM64_INS_AUTIA1716 = 30
+ARM64_INS_AUTIASP = 31
+ARM64_INS_AUTIAZ = 32
+ARM64_INS_AUTIB = 33
+ARM64_INS_AUTIB1716 = 34
+ARM64_INS_AUTIBSP = 35
+ARM64_INS_AUTIBZ = 36
+ARM64_INS_AUTIZA = 37
+ARM64_INS_AUTIZB = 38
+ARM64_INS_B = 39
+ARM64_INS_BCAX = 40
+ARM64_INS_BFM = 41
+ARM64_INS_BIC = 42
+ARM64_INS_BICS = 43
+ARM64_INS_BIF = 44
+ARM64_INS_BIT = 45
+ARM64_INS_BL = 46
+ARM64_INS_BLR = 47
+ARM64_INS_BLRAA = 48
+ARM64_INS_BLRAAZ = 49
+ARM64_INS_BLRAB = 50
+ARM64_INS_BLRABZ = 51
+ARM64_INS_BR = 52
+ARM64_INS_BRAA = 53
+ARM64_INS_BRAAZ = 54
+ARM64_INS_BRAB = 55
+ARM64_INS_BRABZ = 56
+ARM64_INS_BRK = 57
+ARM64_INS_BRKA = 58
+ARM64_INS_BRKAS = 59
+ARM64_INS_BRKB = 60
+ARM64_INS_BRKBS = 61
+ARM64_INS_BRKN = 62
+ARM64_INS_BRKNS = 63
+ARM64_INS_BRKPA = 64
+ARM64_INS_BRKPAS = 65
+ARM64_INS_BRKPB = 66
+ARM64_INS_BRKPBS = 67
+ARM64_INS_BSL = 68
+ARM64_INS_CAS = 69
+ARM64_INS_CASA = 70
+ARM64_INS_CASAB = 71
+ARM64_INS_CASAH = 72
+ARM64_INS_CASAL = 73
+ARM64_INS_CASALB = 74
+ARM64_INS_CASALH = 75
+ARM64_INS_CASB = 76
+ARM64_INS_CASH = 77
+ARM64_INS_CASL = 78
+ARM64_INS_CASLB = 79
+ARM64_INS_CASLH = 80
+ARM64_INS_CASP = 81
+ARM64_INS_CASPA = 82
+ARM64_INS_CASPAL = 83
+ARM64_INS_CASPL = 84
+ARM64_INS_CBNZ = 85
+ARM64_INS_CBZ = 86
+ARM64_INS_CCMN = 87
+ARM64_INS_CCMP = 88
+ARM64_INS_CFINV = 89
+ARM64_INS_CINC = 90
+ARM64_INS_CINV = 91
+ARM64_INS_CLASTA = 92
+ARM64_INS_CLASTB = 93
+ARM64_INS_CLREX = 94
+ARM64_INS_CLS = 95
+ARM64_INS_CLZ = 96
+ARM64_INS_CMEQ = 97
+ARM64_INS_CMGE = 98
+ARM64_INS_CMGT = 99
+ARM64_INS_CMHI = 100
+ARM64_INS_CMHS = 101
+ARM64_INS_CMLE = 102
+ARM64_INS_CMLO = 103
+ARM64_INS_CMLS = 104
+ARM64_INS_CMLT = 105
+ARM64_INS_CMN = 106
+ARM64_INS_CMP = 107
+ARM64_INS_CMPEQ = 108
+ARM64_INS_CMPGE = 109
+ARM64_INS_CMPGT = 110
+ARM64_INS_CMPHI = 111
+ARM64_INS_CMPHS = 112
+ARM64_INS_CMPLE = 113
+ARM64_INS_CMPLO = 114
+ARM64_INS_CMPLS = 115
+ARM64_INS_CMPLT = 116
+ARM64_INS_CMPNE = 117
+ARM64_INS_CMTST = 118
+ARM64_INS_CNEG = 119
+ARM64_INS_CNOT = 120
+ARM64_INS_CNT = 121
+ARM64_INS_CNTB = 122
+ARM64_INS_CNTD = 123
+ARM64_INS_CNTH = 124
+ARM64_INS_CNTP = 125
+ARM64_INS_CNTW = 126
+ARM64_INS_COMPACT = 127
+ARM64_INS_CPY = 128
+ARM64_INS_CRC32B = 129
+ARM64_INS_CRC32CB = 130
+ARM64_INS_CRC32CH = 131
+ARM64_INS_CRC32CW = 132
+ARM64_INS_CRC32CX = 133
+ARM64_INS_CRC32H = 134
+ARM64_INS_CRC32W = 135
+ARM64_INS_CRC32X = 136
+ARM64_INS_CSDB = 137
+ARM64_INS_CSEL = 138
+ARM64_INS_CSET = 139
+ARM64_INS_CSETM = 140
+ARM64_INS_CSINC = 141
+ARM64_INS_CSINV = 142
+ARM64_INS_CSNEG = 143
+ARM64_INS_CTERMEQ = 144
+ARM64_INS_CTERMNE = 145
+ARM64_INS_DCPS1 = 146
+ARM64_INS_DCPS2 = 147
+ARM64_INS_DCPS3 = 148
+ARM64_INS_DECB = 149
+ARM64_INS_DECD = 150
+ARM64_INS_DECH = 151
+ARM64_INS_DECP = 152
+ARM64_INS_DECW = 153
+ARM64_INS_DMB = 154
+ARM64_INS_DRPS = 155
+ARM64_INS_DSB = 156
+ARM64_INS_DUP = 157
+ARM64_INS_DUPM = 158
+ARM64_INS_EON = 159
+ARM64_INS_EOR = 160
+ARM64_INS_EOR3 = 161
+ARM64_INS_EORS = 162
+ARM64_INS_EORV = 163
+ARM64_INS_ERET = 164
+ARM64_INS_ERETAA = 165
+ARM64_INS_ERETAB = 166
+ARM64_INS_ESB = 167
+ARM64_INS_EXT = 168
+ARM64_INS_EXTR = 169
+ARM64_INS_FABD = 170
+ARM64_INS_FABS = 171
+ARM64_INS_FACGE = 172
+ARM64_INS_FACGT = 173
+ARM64_INS_FACLE = 174
+ARM64_INS_FACLT = 175
+ARM64_INS_FADD = 176
+ARM64_INS_FADDA = 177
+ARM64_INS_FADDP = 178
+ARM64_INS_FADDV = 179
+ARM64_INS_FCADD = 180
+ARM64_INS_FCCMP = 181
+ARM64_INS_FCCMPE = 182
+ARM64_INS_FCMEQ = 183
+ARM64_INS_FCMGE = 184
+ARM64_INS_FCMGT = 185
+ARM64_INS_FCMLA = 186
+ARM64_INS_FCMLE = 187
+ARM64_INS_FCMLT = 188
+ARM64_INS_FCMNE = 189
+ARM64_INS_FCMP = 190
+ARM64_INS_FCMPE = 191
+ARM64_INS_FCMUO = 192
+ARM64_INS_FCPY = 193
+ARM64_INS_FCSEL = 194
+ARM64_INS_FCVT = 195
+ARM64_INS_FCVTAS = 196
+ARM64_INS_FCVTAU = 197
+ARM64_INS_FCVTL = 198
+ARM64_INS_FCVTL2 = 199
+ARM64_INS_FCVTMS = 200
+ARM64_INS_FCVTMU = 201
+ARM64_INS_FCVTN = 202
+ARM64_INS_FCVTN2 = 203
+ARM64_INS_FCVTNS = 204
+ARM64_INS_FCVTNU = 205
+ARM64_INS_FCVTPS = 206
+ARM64_INS_FCVTPU = 207
+ARM64_INS_FCVTXN = 208
+ARM64_INS_FCVTXN2 = 209
+ARM64_INS_FCVTZS = 210
+ARM64_INS_FCVTZU = 211
+ARM64_INS_FDIV = 212
+ARM64_INS_FDIVR = 213
+ARM64_INS_FDUP = 214
+ARM64_INS_FEXPA = 215
+ARM64_INS_FJCVTZS = 216
+ARM64_INS_FMAD = 217
+ARM64_INS_FMADD = 218
+ARM64_INS_FMAX = 219
+ARM64_INS_FMAXNM = 220
+ARM64_INS_FMAXNMP = 221
+ARM64_INS_FMAXNMV = 222
+ARM64_INS_FMAXP = 223
+ARM64_INS_FMAXV = 224
+ARM64_INS_FMIN = 225
+ARM64_INS_FMINNM = 226
+ARM64_INS_FMINNMP = 227
+ARM64_INS_FMINNMV = 228
+ARM64_INS_FMINP = 229
+ARM64_INS_FMINV = 230
+ARM64_INS_FMLA = 231
+ARM64_INS_FMLS = 232
+ARM64_INS_FMOV = 233
+ARM64_INS_FMSB = 234
+ARM64_INS_FMSUB = 235
+ARM64_INS_FMUL = 236
+ARM64_INS_FMULX = 237
+ARM64_INS_FNEG = 238
+ARM64_INS_FNMAD = 239
+ARM64_INS_FNMADD = 240
+ARM64_INS_FNMLA = 241
+ARM64_INS_FNMLS = 242
+ARM64_INS_FNMSB = 243
+ARM64_INS_FNMSUB = 244
+ARM64_INS_FNMUL = 245
+ARM64_INS_FRECPE = 246
+ARM64_INS_FRECPS = 247
+ARM64_INS_FRECPX = 248
+ARM64_INS_FRINTA = 249
+ARM64_INS_FRINTI = 250
+ARM64_INS_FRINTM = 251
+ARM64_INS_FRINTN = 252
+ARM64_INS_FRINTP = 253
+ARM64_INS_FRINTX = 254
+ARM64_INS_FRINTZ = 255
+ARM64_INS_FRSQRTE = 256
+ARM64_INS_FRSQRTS = 257
+ARM64_INS_FSCALE = 258
+ARM64_INS_FSQRT = 259
+ARM64_INS_FSUB = 260
+ARM64_INS_FSUBR = 261
+ARM64_INS_FTMAD = 262
+ARM64_INS_FTSMUL = 263
+ARM64_INS_FTSSEL = 264
+ARM64_INS_HINT = 265
+ARM64_INS_HLT = 266
+ARM64_INS_HVC = 267
+ARM64_INS_INCB = 268
+ARM64_INS_INCD = 269
+ARM64_INS_INCH = 270
+ARM64_INS_INCP = 271
+ARM64_INS_INCW = 272
+ARM64_INS_INDEX = 273
+ARM64_INS_INS = 274
+ARM64_INS_INSR = 275
+ARM64_INS_ISB = 276
+ARM64_INS_LASTA = 277
+ARM64_INS_LASTB = 278
+ARM64_INS_LD1 = 279
+ARM64_INS_LD1B = 280
+ARM64_INS_LD1D = 281
+ARM64_INS_LD1H = 282
+ARM64_INS_LD1R = 283
+ARM64_INS_LD1RB = 284
+ARM64_INS_LD1RD = 285
+ARM64_INS_LD1RH = 286
+ARM64_INS_LD1RQB = 287
+ARM64_INS_LD1RQD = 288
+ARM64_INS_LD1RQH = 289
+ARM64_INS_LD1RQW = 290
+ARM64_INS_LD1RSB = 291
+ARM64_INS_LD1RSH = 292
+ARM64_INS_LD1RSW = 293
+ARM64_INS_LD1RW = 294
+ARM64_INS_LD1SB = 295
+ARM64_INS_LD1SH = 296
+ARM64_INS_LD1SW = 297
+ARM64_INS_LD1W = 298
+ARM64_INS_LD2 = 299
+ARM64_INS_LD2B = 300
+ARM64_INS_LD2D = 301
+ARM64_INS_LD2H = 302
+ARM64_INS_LD2R = 303
+ARM64_INS_LD2W = 304
+ARM64_INS_LD3 = 305
+ARM64_INS_LD3B = 306
+ARM64_INS_LD3D = 307
+ARM64_INS_LD3H = 308
+ARM64_INS_LD3R = 309
+ARM64_INS_LD3W = 310
+ARM64_INS_LD4 = 311
+ARM64_INS_LD4B = 312
+ARM64_INS_LD4D = 313
+ARM64_INS_LD4H = 314
+ARM64_INS_LD4R = 315
+ARM64_INS_LD4W = 316
+ARM64_INS_LDADD = 317
+ARM64_INS_LDADDA = 318
+ARM64_INS_LDADDAB = 319
+ARM64_INS_LDADDAH = 320
+ARM64_INS_LDADDAL = 321
+ARM64_INS_LDADDALB = 322
+ARM64_INS_LDADDALH = 323
+ARM64_INS_LDADDB = 324
+ARM64_INS_LDADDH = 325
+ARM64_INS_LDADDL = 326
+ARM64_INS_LDADDLB = 327
+ARM64_INS_LDADDLH = 328
+ARM64_INS_LDAPR = 329
+ARM64_INS_LDAPRB = 330
+ARM64_INS_LDAPRH = 331
+ARM64_INS_LDAPUR = 332
+ARM64_INS_LDAPURB = 333
+ARM64_INS_LDAPURH = 334
+ARM64_INS_LDAPURSB = 335
+ARM64_INS_LDAPURSH = 336
+ARM64_INS_LDAPURSW = 337
+ARM64_INS_LDAR = 338
+ARM64_INS_LDARB = 339
+ARM64_INS_LDARH = 340
+ARM64_INS_LDAXP = 341
+ARM64_INS_LDAXR = 342
+ARM64_INS_LDAXRB = 343
+ARM64_INS_LDAXRH = 344
+ARM64_INS_LDCLR = 345
+ARM64_INS_LDCLRA = 346
+ARM64_INS_LDCLRAB = 347
+ARM64_INS_LDCLRAH = 348
+ARM64_INS_LDCLRAL = 349
+ARM64_INS_LDCLRALB = 350
+ARM64_INS_LDCLRALH = 351
+ARM64_INS_LDCLRB = 352
+ARM64_INS_LDCLRH = 353
+ARM64_INS_LDCLRL = 354
+ARM64_INS_LDCLRLB = 355
+ARM64_INS_LDCLRLH = 356
+ARM64_INS_LDEOR = 357
+ARM64_INS_LDEORA = 358
+ARM64_INS_LDEORAB = 359
+ARM64_INS_LDEORAH = 360
+ARM64_INS_LDEORAL = 361
+ARM64_INS_LDEORALB = 362
+ARM64_INS_LDEORALH = 363
+ARM64_INS_LDEORB = 364
+ARM64_INS_LDEORH = 365
+ARM64_INS_LDEORL = 366
+ARM64_INS_LDEORLB = 367
+ARM64_INS_LDEORLH = 368
+ARM64_INS_LDFF1B = 369
+ARM64_INS_LDFF1D = 370
+ARM64_INS_LDFF1H = 371
+ARM64_INS_LDFF1SB = 372
+ARM64_INS_LDFF1SH = 373
+ARM64_INS_LDFF1SW = 374
+ARM64_INS_LDFF1W = 375
+ARM64_INS_LDLAR = 376
+ARM64_INS_LDLARB = 377
+ARM64_INS_LDLARH = 378
+ARM64_INS_LDNF1B = 379
+ARM64_INS_LDNF1D = 380
+ARM64_INS_LDNF1H = 381
+ARM64_INS_LDNF1SB = 382
+ARM64_INS_LDNF1SH = 383
+ARM64_INS_LDNF1SW = 384
+ARM64_INS_LDNF1W = 385
+ARM64_INS_LDNP = 386
+ARM64_INS_LDNT1B = 387
+ARM64_INS_LDNT1D = 388
+ARM64_INS_LDNT1H = 389
+ARM64_INS_LDNT1W = 390
+ARM64_INS_LDP = 391
+ARM64_INS_LDPSW = 392
+ARM64_INS_LDR = 393
+ARM64_INS_LDRAA = 394
+ARM64_INS_LDRAB = 395
+ARM64_INS_LDRB = 396
+ARM64_INS_LDRH = 397
+ARM64_INS_LDRSB = 398
+ARM64_INS_LDRSH = 399
+ARM64_INS_LDRSW = 400
+ARM64_INS_LDSET = 401
+ARM64_INS_LDSETA = 402
+ARM64_INS_LDSETAB = 403
+ARM64_INS_LDSETAH = 404
+ARM64_INS_LDSETAL = 405
+ARM64_INS_LDSETALB = 406
+ARM64_INS_LDSETALH = 407
+ARM64_INS_LDSETB = 408
+ARM64_INS_LDSETH = 409
+ARM64_INS_LDSETL = 410
+ARM64_INS_LDSETLB = 411
+ARM64_INS_LDSETLH = 412
+ARM64_INS_LDSMAX = 413
+ARM64_INS_LDSMAXA = 414
+ARM64_INS_LDSMAXAB = 415
+ARM64_INS_LDSMAXAH = 416
+ARM64_INS_LDSMAXAL = 417
+ARM64_INS_LDSMAXALB = 418
+ARM64_INS_LDSMAXALH = 419
+ARM64_INS_LDSMAXB = 420
+ARM64_INS_LDSMAXH = 421
+ARM64_INS_LDSMAXL = 422
+ARM64_INS_LDSMAXLB = 423
+ARM64_INS_LDSMAXLH = 424
+ARM64_INS_LDSMIN = 425
+ARM64_INS_LDSMINA = 426
+ARM64_INS_LDSMINAB = 427
+ARM64_INS_LDSMINAH = 428
+ARM64_INS_LDSMINAL = 429
+ARM64_INS_LDSMINALB = 430
+ARM64_INS_LDSMINALH = 431
+ARM64_INS_LDSMINB = 432
+ARM64_INS_LDSMINH = 433
+ARM64_INS_LDSMINL = 434
+ARM64_INS_LDSMINLB = 435
+ARM64_INS_LDSMINLH = 436
+ARM64_INS_LDTR = 437
+ARM64_INS_LDTRB = 438
+ARM64_INS_LDTRH = 439
+ARM64_INS_LDTRSB = 440
+ARM64_INS_LDTRSH = 441
+ARM64_INS_LDTRSW = 442
+ARM64_INS_LDUMAX = 443
+ARM64_INS_LDUMAXA = 444
+ARM64_INS_LDUMAXAB = 445
+ARM64_INS_LDUMAXAH = 446
+ARM64_INS_LDUMAXAL = 447
+ARM64_INS_LDUMAXALB = 448
+ARM64_INS_LDUMAXALH = 449
+ARM64_INS_LDUMAXB = 450
+ARM64_INS_LDUMAXH = 451
+ARM64_INS_LDUMAXL = 452
+ARM64_INS_LDUMAXLB = 453
+ARM64_INS_LDUMAXLH = 454
+ARM64_INS_LDUMIN = 455
+ARM64_INS_LDUMINA = 456
+ARM64_INS_LDUMINAB = 457
+ARM64_INS_LDUMINAH = 458
+ARM64_INS_LDUMINAL = 459
+ARM64_INS_LDUMINALB = 460
+ARM64_INS_LDUMINALH = 461
+ARM64_INS_LDUMINB = 462
+ARM64_INS_LDUMINH = 463
+ARM64_INS_LDUMINL = 464
+ARM64_INS_LDUMINLB = 465
+ARM64_INS_LDUMINLH = 466
+ARM64_INS_LDUR = 467
+ARM64_INS_LDURB = 468
+ARM64_INS_LDURH = 469
+ARM64_INS_LDURSB = 470
+ARM64_INS_LDURSH = 471
+ARM64_INS_LDURSW = 472
+ARM64_INS_LDXP = 473
+ARM64_INS_LDXR = 474
+ARM64_INS_LDXRB = 475
+ARM64_INS_LDXRH = 476
+ARM64_INS_LSL = 477
+ARM64_INS_LSLR = 478
+ARM64_INS_LSLV = 479
+ARM64_INS_LSR = 480
+ARM64_INS_LSRR = 481
+ARM64_INS_LSRV = 482
+ARM64_INS_MAD = 483
+ARM64_INS_MADD = 484
+ARM64_INS_MLA = 485
+ARM64_INS_MLS = 486
+ARM64_INS_MNEG = 487
+ARM64_INS_MOV = 488
+ARM64_INS_MOVI = 489
+ARM64_INS_MOVK = 490
+ARM64_INS_MOVN = 491
+ARM64_INS_MOVPRFX = 492
+ARM64_INS_MOVS = 493
+ARM64_INS_MOVZ = 494
+ARM64_INS_MRS = 495
+ARM64_INS_MSB = 496
+ARM64_INS_MSR = 497
+ARM64_INS_MSUB = 498
+ARM64_INS_MUL = 499
+ARM64_INS_MVN = 500
+ARM64_INS_MVNI = 501
+ARM64_INS_NAND = 502
+ARM64_INS_NANDS = 503
+ARM64_INS_NEG = 504
+ARM64_INS_NEGS = 505
+ARM64_INS_NGC = 506
+ARM64_INS_NGCS = 507
+ARM64_INS_NOP = 508
+ARM64_INS_NOR = 509
+ARM64_INS_NORS = 510
+ARM64_INS_NOT = 511
+ARM64_INS_NOTS = 512
+ARM64_INS_ORN = 513
+ARM64_INS_ORNS = 514
+ARM64_INS_ORR = 515
+ARM64_INS_ORRS = 516
+ARM64_INS_ORV = 517
+ARM64_INS_PACDA = 518
+ARM64_INS_PACDB = 519
+ARM64_INS_PACDZA = 520
+ARM64_INS_PACDZB = 521
+ARM64_INS_PACGA = 522
+ARM64_INS_PACIA = 523
+ARM64_INS_PACIA1716 = 524
+ARM64_INS_PACIASP = 525
+ARM64_INS_PACIAZ = 526
+ARM64_INS_PACIB = 527
+ARM64_INS_PACIB1716 = 528
+ARM64_INS_PACIBSP = 529
+ARM64_INS_PACIBZ = 530
+ARM64_INS_PACIZA = 531
+ARM64_INS_PACIZB = 532
+ARM64_INS_PFALSE = 533
+ARM64_INS_PFIRST = 534
+ARM64_INS_PMUL = 535
+ARM64_INS_PMULL = 536
+ARM64_INS_PMULL2 = 537
+ARM64_INS_PNEXT = 538
+ARM64_INS_PRFB = 539
+ARM64_INS_PRFD = 540
+ARM64_INS_PRFH = 541
+ARM64_INS_PRFM = 542
+ARM64_INS_PRFUM = 543
+ARM64_INS_PRFW = 544
+ARM64_INS_PSB = 545
+ARM64_INS_PTEST = 546
+ARM64_INS_PTRUE = 547
+ARM64_INS_PTRUES = 548
+ARM64_INS_PUNPKHI = 549
+ARM64_INS_PUNPKLO = 550
+ARM64_INS_RADDHN = 551
+ARM64_INS_RADDHN2 = 552
+ARM64_INS_RAX1 = 553
+ARM64_INS_RBIT = 554
+ARM64_INS_RDFFR = 555
+ARM64_INS_RDFFRS = 556
+ARM64_INS_RDVL = 557
+ARM64_INS_RET = 558
+ARM64_INS_RETAA = 559
+ARM64_INS_RETAB = 560
+ARM64_INS_REV = 561
+ARM64_INS_REV16 = 562
+ARM64_INS_REV32 = 563
+ARM64_INS_REV64 = 564
+ARM64_INS_REVB = 565
+ARM64_INS_REVH = 566
+ARM64_INS_REVW = 567
+ARM64_INS_RMIF = 568
+ARM64_INS_ROR = 569
+ARM64_INS_RORV = 570
+ARM64_INS_RSHRN = 571
+ARM64_INS_RSHRN2 = 572
+ARM64_INS_RSUBHN = 573
+ARM64_INS_RSUBHN2 = 574
+ARM64_INS_SABA = 575
+ARM64_INS_SABAL = 576
+ARM64_INS_SABAL2 = 577
+ARM64_INS_SABD = 578
+ARM64_INS_SABDL = 579
+ARM64_INS_SABDL2 = 580
+ARM64_INS_SADALP = 581
+ARM64_INS_SADDL = 582
+ARM64_INS_SADDL2 = 583
+ARM64_INS_SADDLP = 584
+ARM64_INS_SADDLV = 585
+ARM64_INS_SADDV = 586
+ARM64_INS_SADDW = 587
+ARM64_INS_SADDW2 = 588
+ARM64_INS_SBC = 589
+ARM64_INS_SBCS = 590
+ARM64_INS_SBFM = 591
+ARM64_INS_SCVTF = 592
+ARM64_INS_SDIV = 593
+ARM64_INS_SDIVR = 594
+ARM64_INS_SDOT = 595
+ARM64_INS_SEL = 596
+ARM64_INS_SETF16 = 597
+ARM64_INS_SETF8 = 598
+ARM64_INS_SETFFR = 599
+ARM64_INS_SEV = 600
+ARM64_INS_SEVL = 601
+ARM64_INS_SHA1C = 602
+ARM64_INS_SHA1H = 603
+ARM64_INS_SHA1M = 604
+ARM64_INS_SHA1P = 605
+ARM64_INS_SHA1SU0 = 606
+ARM64_INS_SHA1SU1 = 607
+ARM64_INS_SHA256H = 608
+ARM64_INS_SHA256H2 = 609
+ARM64_INS_SHA256SU0 = 610
+ARM64_INS_SHA256SU1 = 611
+ARM64_INS_SHA512H = 612
+ARM64_INS_SHA512H2 = 613
+ARM64_INS_SHA512SU0 = 614
+ARM64_INS_SHA512SU1 = 615
+ARM64_INS_SHADD = 616
+ARM64_INS_SHL = 617
+ARM64_INS_SHLL = 618
+ARM64_INS_SHLL2 = 619
+ARM64_INS_SHRN = 620
+ARM64_INS_SHRN2 = 621
+ARM64_INS_SHSUB = 622
+ARM64_INS_SLI = 623
+ARM64_INS_SM3PARTW1 = 624
+ARM64_INS_SM3PARTW2 = 625
+ARM64_INS_SM3SS1 = 626
+ARM64_INS_SM3TT1A = 627
+ARM64_INS_SM3TT1B = 628
+ARM64_INS_SM3TT2A = 629
+ARM64_INS_SM3TT2B = 630
+ARM64_INS_SM4E = 631
+ARM64_INS_SM4EKEY = 632
+ARM64_INS_SMADDL = 633
+ARM64_INS_SMAX = 634
+ARM64_INS_SMAXP = 635
+ARM64_INS_SMAXV = 636
+ARM64_INS_SMC = 637
+ARM64_INS_SMIN = 638
+ARM64_INS_SMINP = 639
+ARM64_INS_SMINV = 640
+ARM64_INS_SMLAL = 641
+ARM64_INS_SMLAL2 = 642
+ARM64_INS_SMLSL = 643
+ARM64_INS_SMLSL2 = 644
+ARM64_INS_SMNEGL = 645
+ARM64_INS_SMOV = 646
+ARM64_INS_SMSUBL = 647
+ARM64_INS_SMULH = 648
+ARM64_INS_SMULL = 649
+ARM64_INS_SMULL2 = 650
+ARM64_INS_SPLICE = 651
+ARM64_INS_SQABS = 652
+ARM64_INS_SQADD = 653
+ARM64_INS_SQDECB = 654
+ARM64_INS_SQDECD = 655
+ARM64_INS_SQDECH = 656
+ARM64_INS_SQDECP = 657
+ARM64_INS_SQDECW = 658
+ARM64_INS_SQDMLAL = 659
+ARM64_INS_SQDMLAL2 = 660
+ARM64_INS_SQDMLSL = 661
+ARM64_INS_SQDMLSL2 = 662
+ARM64_INS_SQDMULH = 663
+ARM64_INS_SQDMULL = 664
+ARM64_INS_SQDMULL2 = 665
+ARM64_INS_SQINCB = 666
+ARM64_INS_SQINCD = 667
+ARM64_INS_SQINCH = 668
+ARM64_INS_SQINCP = 669
+ARM64_INS_SQINCW = 670
+ARM64_INS_SQNEG = 671
+ARM64_INS_SQRDMLAH = 672
+ARM64_INS_SQRDMLSH = 673
+ARM64_INS_SQRDMULH = 674
+ARM64_INS_SQRSHL = 675
+ARM64_INS_SQRSHRN = 676
+ARM64_INS_SQRSHRN2 = 677
+ARM64_INS_SQRSHRUN = 678
+ARM64_INS_SQRSHRUN2 = 679
+ARM64_INS_SQSHL = 680
+ARM64_INS_SQSHLU = 681
+ARM64_INS_SQSHRN = 682
+ARM64_INS_SQSHRN2 = 683
+ARM64_INS_SQSHRUN = 684
+ARM64_INS_SQSHRUN2 = 685
+ARM64_INS_SQSUB = 686
+ARM64_INS_SQXTN = 687
+ARM64_INS_SQXTN2 = 688
+ARM64_INS_SQXTUN = 689
+ARM64_INS_SQXTUN2 = 690
+ARM64_INS_SRHADD = 691
+ARM64_INS_SRI = 692
+ARM64_INS_SRSHL = 693
+ARM64_INS_SRSHR = 694
+ARM64_INS_SRSRA = 695
+ARM64_INS_SSHL = 696
+ARM64_INS_SSHLL = 697
+ARM64_INS_SSHLL2 = 698
+ARM64_INS_SSHR = 699
+ARM64_INS_SSRA = 700
+ARM64_INS_SSUBL = 701
+ARM64_INS_SSUBL2 = 702
+ARM64_INS_SSUBW = 703
+ARM64_INS_SSUBW2 = 704
+ARM64_INS_ST1 = 705
+ARM64_INS_ST1B = 706
+ARM64_INS_ST1D = 707
+ARM64_INS_ST1H = 708
+ARM64_INS_ST1W = 709
+ARM64_INS_ST2 = 710
+ARM64_INS_ST2B = 711
+ARM64_INS_ST2D = 712
+ARM64_INS_ST2H = 713
+ARM64_INS_ST2W = 714
+ARM64_INS_ST3 = 715
+ARM64_INS_ST3B = 716
+ARM64_INS_ST3D = 717
+ARM64_INS_ST3H = 718
+ARM64_INS_ST3W = 719
+ARM64_INS_ST4 = 720
+ARM64_INS_ST4B = 721
+ARM64_INS_ST4D = 722
+ARM64_INS_ST4H = 723
+ARM64_INS_ST4W = 724
+ARM64_INS_STADD = 725
+ARM64_INS_STADDB = 726
+ARM64_INS_STADDH = 727
+ARM64_INS_STADDL = 728
+ARM64_INS_STADDLB = 729
+ARM64_INS_STADDLH = 730
+ARM64_INS_STCLR = 731
+ARM64_INS_STCLRB = 732
+ARM64_INS_STCLRH = 733
+ARM64_INS_STCLRL = 734
+ARM64_INS_STCLRLB = 735
+ARM64_INS_STCLRLH = 736
+ARM64_INS_STEOR = 737
+ARM64_INS_STEORB = 738
+ARM64_INS_STEORH = 739
+ARM64_INS_STEORL = 740
+ARM64_INS_STEORLB = 741
+ARM64_INS_STEORLH = 742
+ARM64_INS_STLLR = 743
+ARM64_INS_STLLRB = 744
+ARM64_INS_STLLRH = 745
+ARM64_INS_STLR = 746
+ARM64_INS_STLRB = 747
+ARM64_INS_STLRH = 748
+ARM64_INS_STLUR = 749
+ARM64_INS_STLURB = 750
+ARM64_INS_STLURH = 751
+ARM64_INS_STLXP = 752
+ARM64_INS_STLXR = 753
+ARM64_INS_STLXRB = 754
+ARM64_INS_STLXRH = 755
+ARM64_INS_STNP = 756
+ARM64_INS_STNT1B = 757
+ARM64_INS_STNT1D = 758
+ARM64_INS_STNT1H = 759
+ARM64_INS_STNT1W = 760
+ARM64_INS_STP = 761
+ARM64_INS_STR = 762
+ARM64_INS_STRB = 763
+ARM64_INS_STRH = 764
+ARM64_INS_STSET = 765
+ARM64_INS_STSETB = 766
+ARM64_INS_STSETH = 767
+ARM64_INS_STSETL = 768
+ARM64_INS_STSETLB = 769
+ARM64_INS_STSETLH = 770
+ARM64_INS_STSMAX = 771
+ARM64_INS_STSMAXB = 772
+ARM64_INS_STSMAXH = 773
+ARM64_INS_STSMAXL = 774
+ARM64_INS_STSMAXLB = 775
+ARM64_INS_STSMAXLH = 776
+ARM64_INS_STSMIN = 777
+ARM64_INS_STSMINB = 778
+ARM64_INS_STSMINH = 779
+ARM64_INS_STSMINL = 780
+ARM64_INS_STSMINLB = 781
+ARM64_INS_STSMINLH = 782
+ARM64_INS_STTR = 783
+ARM64_INS_STTRB = 784
+ARM64_INS_STTRH = 785
+ARM64_INS_STUMAX = 786
+ARM64_INS_STUMAXB = 787
+ARM64_INS_STUMAXH = 788
+ARM64_INS_STUMAXL = 789
+ARM64_INS_STUMAXLB = 790
+ARM64_INS_STUMAXLH = 791
+ARM64_INS_STUMIN = 792
+ARM64_INS_STUMINB = 793
+ARM64_INS_STUMINH = 794
+ARM64_INS_STUMINL = 795
+ARM64_INS_STUMINLB = 796
+ARM64_INS_STUMINLH = 797
+ARM64_INS_STUR = 798
+ARM64_INS_STURB = 799
+ARM64_INS_STURH = 800
+ARM64_INS_STXP = 801
+ARM64_INS_STXR = 802
+ARM64_INS_STXRB = 803
+ARM64_INS_STXRH = 804
+ARM64_INS_SUB = 805
+ARM64_INS_SUBHN = 806
+ARM64_INS_SUBHN2 = 807
+ARM64_INS_SUBR = 808
+ARM64_INS_SUBS = 809
+ARM64_INS_SUNPKHI = 810
+ARM64_INS_SUNPKLO = 811
+ARM64_INS_SUQADD = 812
+ARM64_INS_SVC = 813
+ARM64_INS_SWP = 814
+ARM64_INS_SWPA = 815
+ARM64_INS_SWPAB = 816
+ARM64_INS_SWPAH = 817
+ARM64_INS_SWPAL = 818
+ARM64_INS_SWPALB = 819
+ARM64_INS_SWPALH = 820
+ARM64_INS_SWPB = 821
+ARM64_INS_SWPH = 822
+ARM64_INS_SWPL = 823
+ARM64_INS_SWPLB = 824
+ARM64_INS_SWPLH = 825
+ARM64_INS_SXTB = 826
+ARM64_INS_SXTH = 827
+ARM64_INS_SXTL = 828
+ARM64_INS_SXTL2 = 829
+ARM64_INS_SXTW = 830
+ARM64_INS_SYS = 831
+ARM64_INS_SYSL = 832
+ARM64_INS_TBL = 833
+ARM64_INS_TBNZ = 834
+ARM64_INS_TBX = 835
+ARM64_INS_TBZ = 836
+ARM64_INS_TRN1 = 837
+ARM64_INS_TRN2 = 838
+ARM64_INS_TSB = 839
+ARM64_INS_TST = 840
+ARM64_INS_UABA = 841
+ARM64_INS_UABAL = 842
+ARM64_INS_UABAL2 = 843
+ARM64_INS_UABD = 844
+ARM64_INS_UABDL = 845
+ARM64_INS_UABDL2 = 846
+ARM64_INS_UADALP = 847
+ARM64_INS_UADDL = 848
+ARM64_INS_UADDL2 = 849
+ARM64_INS_UADDLP = 850
+ARM64_INS_UADDLV = 851
+ARM64_INS_UADDV = 852
+ARM64_INS_UADDW = 853
+ARM64_INS_UADDW2 = 854
+ARM64_INS_UBFM = 855
+ARM64_INS_UCVTF = 856
+ARM64_INS_UDIV = 857
+ARM64_INS_UDIVR = 858
+ARM64_INS_UDOT = 859
+ARM64_INS_UHADD = 860
+ARM64_INS_UHSUB = 861
+ARM64_INS_UMADDL = 862
+ARM64_INS_UMAX = 863
+ARM64_INS_UMAXP = 864
+ARM64_INS_UMAXV = 865
+ARM64_INS_UMIN = 866
+ARM64_INS_UMINP = 867
+ARM64_INS_UMINV = 868
+ARM64_INS_UMLAL = 869
+ARM64_INS_UMLAL2 = 870
+ARM64_INS_UMLSL = 871
+ARM64_INS_UMLSL2 = 872
+ARM64_INS_UMNEGL = 873
+ARM64_INS_UMOV = 874
+ARM64_INS_UMSUBL = 875
+ARM64_INS_UMULH = 876
+ARM64_INS_UMULL = 877
+ARM64_INS_UMULL2 = 878
+ARM64_INS_UQADD = 879
+ARM64_INS_UQDECB = 880
+ARM64_INS_UQDECD = 881
+ARM64_INS_UQDECH = 882
+ARM64_INS_UQDECP = 883
+ARM64_INS_UQDECW = 884
+ARM64_INS_UQINCB = 885
+ARM64_INS_UQINCD = 886
+ARM64_INS_UQINCH = 887
+ARM64_INS_UQINCP = 888
+ARM64_INS_UQINCW = 889
+ARM64_INS_UQRSHL = 890
+ARM64_INS_UQRSHRN = 891
+ARM64_INS_UQRSHRN2 = 892
+ARM64_INS_UQSHL = 893
+ARM64_INS_UQSHRN = 894
+ARM64_INS_UQSHRN2 = 895
+ARM64_INS_UQSUB = 896
+ARM64_INS_UQXTN = 897
+ARM64_INS_UQXTN2 = 898
+ARM64_INS_URECPE = 899
+ARM64_INS_URHADD = 900
+ARM64_INS_URSHL = 901
+ARM64_INS_URSHR = 902
+ARM64_INS_URSQRTE = 903
+ARM64_INS_URSRA = 904
+ARM64_INS_USHL = 905
+ARM64_INS_USHLL = 906
+ARM64_INS_USHLL2 = 907
+ARM64_INS_USHR = 908
+ARM64_INS_USQADD = 909
+ARM64_INS_USRA = 910
+ARM64_INS_USUBL = 911
+ARM64_INS_USUBL2 = 912
+ARM64_INS_USUBW = 913
+ARM64_INS_USUBW2 = 914
+ARM64_INS_UUNPKHI = 915
+ARM64_INS_UUNPKLO = 916
+ARM64_INS_UXTB = 917
+ARM64_INS_UXTH = 918
+ARM64_INS_UXTL = 919
+ARM64_INS_UXTL2 = 920
+ARM64_INS_UXTW = 921
+ARM64_INS_UZP1 = 922
+ARM64_INS_UZP2 = 923
+ARM64_INS_WFE = 924
+ARM64_INS_WFI = 925
+ARM64_INS_WHILELE = 926
+ARM64_INS_WHILELO = 927
+ARM64_INS_WHILELS = 928
+ARM64_INS_WHILELT = 929
+ARM64_INS_WRFFR = 930
+ARM64_INS_XAR = 931
+ARM64_INS_XPACD = 932
+ARM64_INS_XPACI = 933
+ARM64_INS_XPACLRI = 934
+ARM64_INS_XTN = 935
+ARM64_INS_XTN2 = 936
+ARM64_INS_YIELD = 937
+ARM64_INS_ZIP1 = 938
+ARM64_INS_ZIP2 = 939
+ARM64_INS_SBFIZ = 940
+ARM64_INS_UBFIZ = 941
+ARM64_INS_SBFX = 942
+ARM64_INS_UBFX = 943
+ARM64_INS_BFI = 944
+ARM64_INS_BFXIL = 945
+ARM64_INS_IC = 946
+ARM64_INS_DC = 947
+ARM64_INS_AT = 948
+ARM64_INS_TLBI = 949
+ARM64_INS_ENDING = 950
+
+ARM64_GRP_INVALID = 0
+ARM64_GRP_JUMP = 1
+ARM64_GRP_CALL = 2
+ARM64_GRP_RET = 3
+ARM64_GRP_INT = 4
+ARM64_GRP_PRIVILEGE = 6
+ARM64_GRP_BRANCH_RELATIVE = 7
+ARM64_GRP_CRYPTO = 128
+ARM64_GRP_FPARMV8 = 129
+ARM64_GRP_NEON = 130
+ARM64_GRP_CRC = 131
+ARM64_GRP_AES = 132
+ARM64_GRP_DOTPROD = 133
+ARM64_GRP_FULLFP16 = 134
+ARM64_GRP_LSE = 135
+ARM64_GRP_RCPC = 136
+ARM64_GRP_RDM = 137
+ARM64_GRP_SHA2 = 138
+ARM64_GRP_SHA3 = 139
+ARM64_GRP_SM4 = 140
+ARM64_GRP_SVE = 141
+ARM64_GRP_V8_1A = 142
+ARM64_GRP_V8_3A = 143
+ARM64_GRP_V8_4A = 144
+ARM64_GRP_ENDING = 145
diff --git a/capstone/bindings/python/capstone/arm_const.py b/capstone/bindings/python/capstone/arm_const.py
new file mode 100644
index 000000000..4395f80e2
--- /dev/null
+++ b/capstone/bindings/python/capstone/arm_const.py
@@ -0,0 +1,830 @@
+# For Capstone Engine. AUTO-GENERATED FILE, DO NOT EDIT [arm_const.py]
+
+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_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
+
+ARM_SYSREG_INVALID = 0
+ARM_SYSREG_SPSR_C = 1
+ARM_SYSREG_SPSR_X = 2
+ARM_SYSREG_SPSR_S = 4
+ARM_SYSREG_SPSR_F = 8
+ARM_SYSREG_CPSR_C = 16
+ARM_SYSREG_CPSR_X = 32
+ARM_SYSREG_CPSR_S = 64
+ARM_SYSREG_CPSR_F = 128
+ARM_SYSREG_APSR = 256
+ARM_SYSREG_APSR_G = 257
+ARM_SYSREG_APSR_NZCVQ = 258
+ARM_SYSREG_APSR_NZCVQG = 259
+ARM_SYSREG_IAPSR = 260
+ARM_SYSREG_IAPSR_G = 261
+ARM_SYSREG_IAPSR_NZCVQG = 262
+ARM_SYSREG_IAPSR_NZCVQ = 263
+ARM_SYSREG_EAPSR = 264
+ARM_SYSREG_EAPSR_G = 265
+ARM_SYSREG_EAPSR_NZCVQG = 266
+ARM_SYSREG_EAPSR_NZCVQ = 267
+ARM_SYSREG_XPSR = 268
+ARM_SYSREG_XPSR_G = 269
+ARM_SYSREG_XPSR_NZCVQG = 270
+ARM_SYSREG_XPSR_NZCVQ = 271
+ARM_SYSREG_IPSR = 272
+ARM_SYSREG_EPSR = 273
+ARM_SYSREG_IEPSR = 274
+ARM_SYSREG_MSP = 275
+ARM_SYSREG_PSP = 276
+ARM_SYSREG_PRIMASK = 277
+ARM_SYSREG_BASEPRI = 278
+ARM_SYSREG_BASEPRI_MAX = 279
+ARM_SYSREG_FAULTMASK = 280
+ARM_SYSREG_CONTROL = 281
+ARM_SYSREG_MSPLIM = 282
+ARM_SYSREG_PSPLIM = 283
+ARM_SYSREG_MSP_NS = 284
+ARM_SYSREG_PSP_NS = 285
+ARM_SYSREG_MSPLIM_NS = 286
+ARM_SYSREG_PSPLIM_NS = 287
+ARM_SYSREG_PRIMASK_NS = 288
+ARM_SYSREG_BASEPRI_NS = 289
+ARM_SYSREG_FAULTMASK_NS = 290
+ARM_SYSREG_CONTROL_NS = 291
+ARM_SYSREG_SP_NS = 292
+ARM_SYSREG_R8_USR = 293
+ARM_SYSREG_R9_USR = 294
+ARM_SYSREG_R10_USR = 295
+ARM_SYSREG_R11_USR = 296
+ARM_SYSREG_R12_USR = 297
+ARM_SYSREG_SP_USR = 298
+ARM_SYSREG_LR_USR = 299
+ARM_SYSREG_R8_FIQ = 300
+ARM_SYSREG_R9_FIQ = 301
+ARM_SYSREG_R10_FIQ = 302
+ARM_SYSREG_R11_FIQ = 303
+ARM_SYSREG_R12_FIQ = 304
+ARM_SYSREG_SP_FIQ = 305
+ARM_SYSREG_LR_FIQ = 306
+ARM_SYSREG_LR_IRQ = 307
+ARM_SYSREG_SP_IRQ = 308
+ARM_SYSREG_LR_SVC = 309
+ARM_SYSREG_SP_SVC = 310
+ARM_SYSREG_LR_ABT = 311
+ARM_SYSREG_SP_ABT = 312
+ARM_SYSREG_LR_UND = 313
+ARM_SYSREG_SP_UND = 314
+ARM_SYSREG_LR_MON = 315
+ARM_SYSREG_SP_MON = 316
+ARM_SYSREG_ELR_HYP = 317
+ARM_SYSREG_SP_HYP = 318
+ARM_SYSREG_SPSR_FIQ = 319
+ARM_SYSREG_SPSR_IRQ = 320
+ARM_SYSREG_SPSR_SVC = 321
+ARM_SYSREG_SPSR_ABT = 322
+ARM_SYSREG_SPSR_UND = 323
+ARM_SYSREG_SPSR_MON = 324
+ARM_SYSREG_SPSR_HYP = 325
+
+ARM_MB_INVALID = 0
+ARM_MB_RESERVED_0 = 1
+ARM_MB_OSHLD = 2
+ARM_MB_OSHST = 3
+ARM_MB_OSH = 4
+ARM_MB_RESERVED_4 = 5
+ARM_MB_NSHLD = 6
+ARM_MB_NSHST = 7
+ARM_MB_NSH = 8
+ARM_MB_RESERVED_8 = 9
+ARM_MB_ISHLD = 10
+ARM_MB_ISHST = 11
+ARM_MB_ISH = 12
+ARM_MB_RESERVED_12 = 13
+ARM_MB_LD = 14
+ARM_MB_ST = 15
+ARM_MB_SY = 16
+
+ARM_OP_INVALID = 0
+ARM_OP_REG = 1
+ARM_OP_IMM = 2
+ARM_OP_MEM = 3
+ARM_OP_FP = 4
+ARM_OP_CIMM = 64
+ARM_OP_PIMM = 65
+ARM_OP_SETEND = 66
+ARM_OP_SYSREG = 67
+
+ARM_SETEND_INVALID = 0
+ARM_SETEND_BE = 1
+ARM_SETEND_LE = 2
+
+ARM_CPSMODE_INVALID = 0
+ARM_CPSMODE_IE = 2
+ARM_CPSMODE_ID = 3
+
+ARM_CPSFLAG_INVALID = 0
+ARM_CPSFLAG_F = 1
+ARM_CPSFLAG_I = 2
+ARM_CPSFLAG_A = 4
+ARM_CPSFLAG_NONE = 16
+
+ARM_VECTORDATA_INVALID = 0
+ARM_VECTORDATA_I8 = 1
+ARM_VECTORDATA_I16 = 2
+ARM_VECTORDATA_I32 = 3
+ARM_VECTORDATA_I64 = 4
+ARM_VECTORDATA_S8 = 5
+ARM_VECTORDATA_S16 = 6
+ARM_VECTORDATA_S32 = 7
+ARM_VECTORDATA_S64 = 8
+ARM_VECTORDATA_U8 = 9
+ARM_VECTORDATA_U16 = 10
+ARM_VECTORDATA_U32 = 11
+ARM_VECTORDATA_U64 = 12
+ARM_VECTORDATA_P8 = 13
+ARM_VECTORDATA_F16 = 14
+ARM_VECTORDATA_F32 = 15
+ARM_VECTORDATA_F64 = 16
+ARM_VECTORDATA_F16F64 = 17
+ARM_VECTORDATA_F64F16 = 18
+ARM_VECTORDATA_F32F16 = 19
+ARM_VECTORDATA_F16F32 = 20
+ARM_VECTORDATA_F64F32 = 21
+ARM_VECTORDATA_F32F64 = 22
+ARM_VECTORDATA_S32F32 = 23
+ARM_VECTORDATA_U32F32 = 24
+ARM_VECTORDATA_F32S32 = 25
+ARM_VECTORDATA_F32U32 = 26
+ARM_VECTORDATA_F64S16 = 27
+ARM_VECTORDATA_F32S16 = 28
+ARM_VECTORDATA_F64S32 = 29
+ARM_VECTORDATA_S16F64 = 30
+ARM_VECTORDATA_S16F32 = 31
+ARM_VECTORDATA_S32F64 = 32
+ARM_VECTORDATA_U16F64 = 33
+ARM_VECTORDATA_U16F32 = 34
+ARM_VECTORDATA_U32F64 = 35
+ARM_VECTORDATA_F64U16 = 36
+ARM_VECTORDATA_F32U16 = 37
+ARM_VECTORDATA_F64U32 = 38
+ARM_VECTORDATA_F16U16 = 39
+ARM_VECTORDATA_U16F16 = 40
+ARM_VECTORDATA_F16U32 = 41
+ARM_VECTORDATA_U32F16 = 42
+
+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_MVFR2 = 49
+ARM_REG_Q0 = 50
+ARM_REG_Q1 = 51
+ARM_REG_Q2 = 52
+ARM_REG_Q3 = 53
+ARM_REG_Q4 = 54
+ARM_REG_Q5 = 55
+ARM_REG_Q6 = 56
+ARM_REG_Q7 = 57
+ARM_REG_Q8 = 58
+ARM_REG_Q9 = 59
+ARM_REG_Q10 = 60
+ARM_REG_Q11 = 61
+ARM_REG_Q12 = 62
+ARM_REG_Q13 = 63
+ARM_REG_Q14 = 64
+ARM_REG_Q15 = 65
+ARM_REG_R0 = 66
+ARM_REG_R1 = 67
+ARM_REG_R2 = 68
+ARM_REG_R3 = 69
+ARM_REG_R4 = 70
+ARM_REG_R5 = 71
+ARM_REG_R6 = 72
+ARM_REG_R7 = 73
+ARM_REG_R8 = 74
+ARM_REG_R9 = 75
+ARM_REG_R10 = 76
+ARM_REG_R11 = 77
+ARM_REG_R12 = 78
+ARM_REG_S0 = 79
+ARM_REG_S1 = 80
+ARM_REG_S2 = 81
+ARM_REG_S3 = 82
+ARM_REG_S4 = 83
+ARM_REG_S5 = 84
+ARM_REG_S6 = 85
+ARM_REG_S7 = 86
+ARM_REG_S8 = 87
+ARM_REG_S9 = 88
+ARM_REG_S10 = 89
+ARM_REG_S11 = 90
+ARM_REG_S12 = 91
+ARM_REG_S13 = 92
+ARM_REG_S14 = 93
+ARM_REG_S15 = 94
+ARM_REG_S16 = 95
+ARM_REG_S17 = 96
+ARM_REG_S18 = 97
+ARM_REG_S19 = 98
+ARM_REG_S20 = 99
+ARM_REG_S21 = 100
+ARM_REG_S22 = 101
+ARM_REG_S23 = 102
+ARM_REG_S24 = 103
+ARM_REG_S25 = 104
+ARM_REG_S26 = 105
+ARM_REG_S27 = 106
+ARM_REG_S28 = 107
+ARM_REG_S29 = 108
+ARM_REG_S30 = 109
+ARM_REG_S31 = 110
+ARM_REG_ENDING = 111
+ARM_REG_R13 = ARM_REG_SP
+ARM_REG_R14 = ARM_REG_LR
+ARM_REG_R15 = ARM_REG_PC
+ARM_REG_SB = ARM_REG_R9
+ARM_REG_SL = ARM_REG_R10
+ARM_REG_FP = ARM_REG_R11
+ARM_REG_IP = ARM_REG_R12
+
+ARM_INS_INVALID = 0
+ARM_INS_ADC = 1
+ARM_INS_ADD = 2
+ARM_INS_ADDW = 3
+ARM_INS_ADR = 4
+ARM_INS_AESD = 5
+ARM_INS_AESE = 6
+ARM_INS_AESIMC = 7
+ARM_INS_AESMC = 8
+ARM_INS_AND = 9
+ARM_INS_ASR = 10
+ARM_INS_B = 11
+ARM_INS_BFC = 12
+ARM_INS_BFI = 13
+ARM_INS_BIC = 14
+ARM_INS_BKPT = 15
+ARM_INS_BL = 16
+ARM_INS_BLX = 17
+ARM_INS_BLXNS = 18
+ARM_INS_BX = 19
+ARM_INS_BXJ = 20
+ARM_INS_BXNS = 21
+ARM_INS_CBNZ = 22
+ARM_INS_CBZ = 23
+ARM_INS_CDP = 24
+ARM_INS_CDP2 = 25
+ARM_INS_CLREX = 26
+ARM_INS_CLZ = 27
+ARM_INS_CMN = 28
+ARM_INS_CMP = 29
+ARM_INS_CPS = 30
+ARM_INS_CRC32B = 31
+ARM_INS_CRC32CB = 32
+ARM_INS_CRC32CH = 33
+ARM_INS_CRC32CW = 34
+ARM_INS_CRC32H = 35
+ARM_INS_CRC32W = 36
+ARM_INS_CSDB = 37
+ARM_INS_DBG = 38
+ARM_INS_DCPS1 = 39
+ARM_INS_DCPS2 = 40
+ARM_INS_DCPS3 = 41
+ARM_INS_DFB = 42
+ARM_INS_DMB = 43
+ARM_INS_DSB = 44
+ARM_INS_EOR = 45
+ARM_INS_ERET = 46
+ARM_INS_ESB = 47
+ARM_INS_FADDD = 48
+ARM_INS_FADDS = 49
+ARM_INS_FCMPZD = 50
+ARM_INS_FCMPZS = 51
+ARM_INS_FCONSTD = 52
+ARM_INS_FCONSTS = 53
+ARM_INS_FLDMDBX = 54
+ARM_INS_FLDMIAX = 55
+ARM_INS_FMDHR = 56
+ARM_INS_FMDLR = 57
+ARM_INS_FMSTAT = 58
+ARM_INS_FSTMDBX = 59
+ARM_INS_FSTMIAX = 60
+ARM_INS_FSUBD = 61
+ARM_INS_FSUBS = 62
+ARM_INS_HINT = 63
+ARM_INS_HLT = 64
+ARM_INS_HVC = 65
+ARM_INS_ISB = 66
+ARM_INS_IT = 67
+ARM_INS_LDA = 68
+ARM_INS_LDAB = 69
+ARM_INS_LDAEX = 70
+ARM_INS_LDAEXB = 71
+ARM_INS_LDAEXD = 72
+ARM_INS_LDAEXH = 73
+ARM_INS_LDAH = 74
+ARM_INS_LDC = 75
+ARM_INS_LDC2 = 76
+ARM_INS_LDC2L = 77
+ARM_INS_LDCL = 78
+ARM_INS_LDM = 79
+ARM_INS_LDMDA = 80
+ARM_INS_LDMDB = 81
+ARM_INS_LDMIB = 82
+ARM_INS_LDR = 83
+ARM_INS_LDRB = 84
+ARM_INS_LDRBT = 85
+ARM_INS_LDRD = 86
+ARM_INS_LDREX = 87
+ARM_INS_LDREXB = 88
+ARM_INS_LDREXD = 89
+ARM_INS_LDREXH = 90
+ARM_INS_LDRH = 91
+ARM_INS_LDRHT = 92
+ARM_INS_LDRSB = 93
+ARM_INS_LDRSBT = 94
+ARM_INS_LDRSH = 95
+ARM_INS_LDRSHT = 96
+ARM_INS_LDRT = 97
+ARM_INS_LSL = 98
+ARM_INS_LSR = 99
+ARM_INS_MCR = 100
+ARM_INS_MCR2 = 101
+ARM_INS_MCRR = 102
+ARM_INS_MCRR2 = 103
+ARM_INS_MLA = 104
+ARM_INS_MLS = 105
+ARM_INS_MOV = 106
+ARM_INS_MOVS = 107
+ARM_INS_MOVT = 108
+ARM_INS_MOVW = 109
+ARM_INS_MRC = 110
+ARM_INS_MRC2 = 111
+ARM_INS_MRRC = 112
+ARM_INS_MRRC2 = 113
+ARM_INS_MRS = 114
+ARM_INS_MSR = 115
+ARM_INS_MUL = 116
+ARM_INS_MVN = 117
+ARM_INS_NEG = 118
+ARM_INS_NOP = 119
+ARM_INS_ORN = 120
+ARM_INS_ORR = 121
+ARM_INS_PKHBT = 122
+ARM_INS_PKHTB = 123
+ARM_INS_PLD = 124
+ARM_INS_PLDW = 125
+ARM_INS_PLI = 126
+ARM_INS_POP = 127
+ARM_INS_PUSH = 128
+ARM_INS_QADD = 129
+ARM_INS_QADD16 = 130
+ARM_INS_QADD8 = 131
+ARM_INS_QASX = 132
+ARM_INS_QDADD = 133
+ARM_INS_QDSUB = 134
+ARM_INS_QSAX = 135
+ARM_INS_QSUB = 136
+ARM_INS_QSUB16 = 137
+ARM_INS_QSUB8 = 138
+ARM_INS_RBIT = 139
+ARM_INS_REV = 140
+ARM_INS_REV16 = 141
+ARM_INS_REVSH = 142
+ARM_INS_RFEDA = 143
+ARM_INS_RFEDB = 144
+ARM_INS_RFEIA = 145
+ARM_INS_RFEIB = 146
+ARM_INS_ROR = 147
+ARM_INS_RRX = 148
+ARM_INS_RSB = 149
+ARM_INS_RSC = 150
+ARM_INS_SADD16 = 151
+ARM_INS_SADD8 = 152
+ARM_INS_SASX = 153
+ARM_INS_SBC = 154
+ARM_INS_SBFX = 155
+ARM_INS_SDIV = 156
+ARM_INS_SEL = 157
+ARM_INS_SETEND = 158
+ARM_INS_SETPAN = 159
+ARM_INS_SEV = 160
+ARM_INS_SEVL = 161
+ARM_INS_SG = 162
+ARM_INS_SHA1C = 163
+ARM_INS_SHA1H = 164
+ARM_INS_SHA1M = 165
+ARM_INS_SHA1P = 166
+ARM_INS_SHA1SU0 = 167
+ARM_INS_SHA1SU1 = 168
+ARM_INS_SHA256H = 169
+ARM_INS_SHA256H2 = 170
+ARM_INS_SHA256SU0 = 171
+ARM_INS_SHA256SU1 = 172
+ARM_INS_SHADD16 = 173
+ARM_INS_SHADD8 = 174
+ARM_INS_SHASX = 175
+ARM_INS_SHSAX = 176
+ARM_INS_SHSUB16 = 177
+ARM_INS_SHSUB8 = 178
+ARM_INS_SMC = 179
+ARM_INS_SMLABB = 180
+ARM_INS_SMLABT = 181
+ARM_INS_SMLAD = 182
+ARM_INS_SMLADX = 183
+ARM_INS_SMLAL = 184
+ARM_INS_SMLALBB = 185
+ARM_INS_SMLALBT = 186
+ARM_INS_SMLALD = 187
+ARM_INS_SMLALDX = 188
+ARM_INS_SMLALTB = 189
+ARM_INS_SMLALTT = 190
+ARM_INS_SMLATB = 191
+ARM_INS_SMLATT = 192
+ARM_INS_SMLAWB = 193
+ARM_INS_SMLAWT = 194
+ARM_INS_SMLSD = 195
+ARM_INS_SMLSDX = 196
+ARM_INS_SMLSLD = 197
+ARM_INS_SMLSLDX = 198
+ARM_INS_SMMLA = 199
+ARM_INS_SMMLAR = 200
+ARM_INS_SMMLS = 201
+ARM_INS_SMMLSR = 202
+ARM_INS_SMMUL = 203
+ARM_INS_SMMULR = 204
+ARM_INS_SMUAD = 205
+ARM_INS_SMUADX = 206
+ARM_INS_SMULBB = 207
+ARM_INS_SMULBT = 208
+ARM_INS_SMULL = 209
+ARM_INS_SMULTB = 210
+ARM_INS_SMULTT = 211
+ARM_INS_SMULWB = 212
+ARM_INS_SMULWT = 213
+ARM_INS_SMUSD = 214
+ARM_INS_SMUSDX = 215
+ARM_INS_SRSDA = 216
+ARM_INS_SRSDB = 217
+ARM_INS_SRSIA = 218
+ARM_INS_SRSIB = 219
+ARM_INS_SSAT = 220
+ARM_INS_SSAT16 = 221
+ARM_INS_SSAX = 222
+ARM_INS_SSUB16 = 223
+ARM_INS_SSUB8 = 224
+ARM_INS_STC = 225
+ARM_INS_STC2 = 226
+ARM_INS_STC2L = 227
+ARM_INS_STCL = 228
+ARM_INS_STL = 229
+ARM_INS_STLB = 230
+ARM_INS_STLEX = 231
+ARM_INS_STLEXB = 232
+ARM_INS_STLEXD = 233
+ARM_INS_STLEXH = 234
+ARM_INS_STLH = 235
+ARM_INS_STM = 236
+ARM_INS_STMDA = 237
+ARM_INS_STMDB = 238
+ARM_INS_STMIB = 239
+ARM_INS_STR = 240
+ARM_INS_STRB = 241
+ARM_INS_STRBT = 242
+ARM_INS_STRD = 243
+ARM_INS_STREX = 244
+ARM_INS_STREXB = 245
+ARM_INS_STREXD = 246
+ARM_INS_STREXH = 247
+ARM_INS_STRH = 248
+ARM_INS_STRHT = 249
+ARM_INS_STRT = 250
+ARM_INS_SUB = 251
+ARM_INS_SUBS = 252
+ARM_INS_SUBW = 253
+ARM_INS_SVC = 254
+ARM_INS_SWP = 255
+ARM_INS_SWPB = 256
+ARM_INS_SXTAB = 257
+ARM_INS_SXTAB16 = 258
+ARM_INS_SXTAH = 259
+ARM_INS_SXTB = 260
+ARM_INS_SXTB16 = 261
+ARM_INS_SXTH = 262
+ARM_INS_TBB = 263
+ARM_INS_TBH = 264
+ARM_INS_TEQ = 265
+ARM_INS_TRAP = 266
+ARM_INS_TSB = 267
+ARM_INS_TST = 268
+ARM_INS_TT = 269
+ARM_INS_TTA = 270
+ARM_INS_TTAT = 271
+ARM_INS_TTT = 272
+ARM_INS_UADD16 = 273
+ARM_INS_UADD8 = 274
+ARM_INS_UASX = 275
+ARM_INS_UBFX = 276
+ARM_INS_UDF = 277
+ARM_INS_UDIV = 278
+ARM_INS_UHADD16 = 279
+ARM_INS_UHADD8 = 280
+ARM_INS_UHASX = 281
+ARM_INS_UHSAX = 282
+ARM_INS_UHSUB16 = 283
+ARM_INS_UHSUB8 = 284
+ARM_INS_UMAAL = 285
+ARM_INS_UMLAL = 286
+ARM_INS_UMULL = 287
+ARM_INS_UQADD16 = 288
+ARM_INS_UQADD8 = 289
+ARM_INS_UQASX = 290
+ARM_INS_UQSAX = 291
+ARM_INS_UQSUB16 = 292
+ARM_INS_UQSUB8 = 293
+ARM_INS_USAD8 = 294
+ARM_INS_USADA8 = 295
+ARM_INS_USAT = 296
+ARM_INS_USAT16 = 297
+ARM_INS_USAX = 298
+ARM_INS_USUB16 = 299
+ARM_INS_USUB8 = 300
+ARM_INS_UXTAB = 301
+ARM_INS_UXTAB16 = 302
+ARM_INS_UXTAH = 303
+ARM_INS_UXTB = 304
+ARM_INS_UXTB16 = 305
+ARM_INS_UXTH = 306
+ARM_INS_VABA = 307
+ARM_INS_VABAL = 308
+ARM_INS_VABD = 309
+ARM_INS_VABDL = 310
+ARM_INS_VABS = 311
+ARM_INS_VACGE = 312
+ARM_INS_VACGT = 313
+ARM_INS_VACLE = 314
+ARM_INS_VACLT = 315
+ARM_INS_VADD = 316
+ARM_INS_VADDHN = 317
+ARM_INS_VADDL = 318
+ARM_INS_VADDW = 319
+ARM_INS_VAND = 320
+ARM_INS_VBIC = 321
+ARM_INS_VBIF = 322
+ARM_INS_VBIT = 323
+ARM_INS_VBSL = 324
+ARM_INS_VCADD = 325
+ARM_INS_VCEQ = 326
+ARM_INS_VCGE = 327
+ARM_INS_VCGT = 328
+ARM_INS_VCLE = 329
+ARM_INS_VCLS = 330
+ARM_INS_VCLT = 331
+ARM_INS_VCLZ = 332
+ARM_INS_VCMLA = 333
+ARM_INS_VCMP = 334
+ARM_INS_VCMPE = 335
+ARM_INS_VCNT = 336
+ARM_INS_VCVT = 337
+ARM_INS_VCVTA = 338
+ARM_INS_VCVTB = 339
+ARM_INS_VCVTM = 340
+ARM_INS_VCVTN = 341
+ARM_INS_VCVTP = 342
+ARM_INS_VCVTR = 343
+ARM_INS_VCVTT = 344
+ARM_INS_VDIV = 345
+ARM_INS_VDUP = 346
+ARM_INS_VEOR = 347
+ARM_INS_VEXT = 348
+ARM_INS_VFMA = 349
+ARM_INS_VFMS = 350
+ARM_INS_VFNMA = 351
+ARM_INS_VFNMS = 352
+ARM_INS_VHADD = 353
+ARM_INS_VHSUB = 354
+ARM_INS_VINS = 355
+ARM_INS_VJCVT = 356
+ARM_INS_VLD1 = 357
+ARM_INS_VLD2 = 358
+ARM_INS_VLD3 = 359
+ARM_INS_VLD4 = 360
+ARM_INS_VLDMDB = 361
+ARM_INS_VLDMIA = 362
+ARM_INS_VLDR = 363
+ARM_INS_VLLDM = 364
+ARM_INS_VLSTM = 365
+ARM_INS_VMAX = 366
+ARM_INS_VMAXNM = 367
+ARM_INS_VMIN = 368
+ARM_INS_VMINNM = 369
+ARM_INS_VMLA = 370
+ARM_INS_VMLAL = 371
+ARM_INS_VMLS = 372
+ARM_INS_VMLSL = 373
+ARM_INS_VMOV = 374
+ARM_INS_VMOVL = 375
+ARM_INS_VMOVN = 376
+ARM_INS_VMOVX = 377
+ARM_INS_VMRS = 378
+ARM_INS_VMSR = 379
+ARM_INS_VMUL = 380
+ARM_INS_VMULL = 381
+ARM_INS_VMVN = 382
+ARM_INS_VNEG = 383
+ARM_INS_VNMLA = 384
+ARM_INS_VNMLS = 385
+ARM_INS_VNMUL = 386
+ARM_INS_VORN = 387
+ARM_INS_VORR = 388
+ARM_INS_VPADAL = 389
+ARM_INS_VPADD = 390
+ARM_INS_VPADDL = 391
+ARM_INS_VPMAX = 392
+ARM_INS_VPMIN = 393
+ARM_INS_VPOP = 394
+ARM_INS_VPUSH = 395
+ARM_INS_VQABS = 396
+ARM_INS_VQADD = 397
+ARM_INS_VQDMLAL = 398
+ARM_INS_VQDMLSL = 399
+ARM_INS_VQDMULH = 400
+ARM_INS_VQDMULL = 401
+ARM_INS_VQMOVN = 402
+ARM_INS_VQMOVUN = 403
+ARM_INS_VQNEG = 404
+ARM_INS_VQRDMLAH = 405
+ARM_INS_VQRDMLSH = 406
+ARM_INS_VQRDMULH = 407
+ARM_INS_VQRSHL = 408
+ARM_INS_VQRSHRN = 409
+ARM_INS_VQRSHRUN = 410
+ARM_INS_VQSHL = 411
+ARM_INS_VQSHLU = 412
+ARM_INS_VQSHRN = 413
+ARM_INS_VQSHRUN = 414
+ARM_INS_VQSUB = 415
+ARM_INS_VRADDHN = 416
+ARM_INS_VRECPE = 417
+ARM_INS_VRECPS = 418
+ARM_INS_VREV16 = 419
+ARM_INS_VREV32 = 420
+ARM_INS_VREV64 = 421
+ARM_INS_VRHADD = 422
+ARM_INS_VRINTA = 423
+ARM_INS_VRINTM = 424
+ARM_INS_VRINTN = 425
+ARM_INS_VRINTP = 426
+ARM_INS_VRINTR = 427
+ARM_INS_VRINTX = 428
+ARM_INS_VRINTZ = 429
+ARM_INS_VRSHL = 430
+ARM_INS_VRSHR = 431
+ARM_INS_VRSHRN = 432
+ARM_INS_VRSQRTE = 433
+ARM_INS_VRSQRTS = 434
+ARM_INS_VRSRA = 435
+ARM_INS_VRSUBHN = 436
+ARM_INS_VSDOT = 437
+ARM_INS_VSELEQ = 438
+ARM_INS_VSELGE = 439
+ARM_INS_VSELGT = 440
+ARM_INS_VSELVS = 441
+ARM_INS_VSHL = 442
+ARM_INS_VSHLL = 443
+ARM_INS_VSHR = 444
+ARM_INS_VSHRN = 445
+ARM_INS_VSLI = 446
+ARM_INS_VSQRT = 447
+ARM_INS_VSRA = 448
+ARM_INS_VSRI = 449
+ARM_INS_VST1 = 450
+ARM_INS_VST2 = 451
+ARM_INS_VST3 = 452
+ARM_INS_VST4 = 453
+ARM_INS_VSTMDB = 454
+ARM_INS_VSTMIA = 455
+ARM_INS_VSTR = 456
+ARM_INS_VSUB = 457
+ARM_INS_VSUBHN = 458
+ARM_INS_VSUBL = 459
+ARM_INS_VSUBW = 460
+ARM_INS_VSWP = 461
+ARM_INS_VTBL = 462
+ARM_INS_VTBX = 463
+ARM_INS_VTRN = 464
+ARM_INS_VTST = 465
+ARM_INS_VUDOT = 466
+ARM_INS_VUZP = 467
+ARM_INS_VZIP = 468
+ARM_INS_WFE = 469
+ARM_INS_WFI = 470
+ARM_INS_YIELD = 471
+ARM_INS_ENDING = 472
+
+ARM_GRP_INVALID = 0
+ARM_GRP_JUMP = 1
+ARM_GRP_CALL = 2
+ARM_GRP_INT = 4
+ARM_GRP_PRIVILEGE = 6
+ARM_GRP_BRANCH_RELATIVE = 7
+ARM_GRP_CRYPTO = 128
+ARM_GRP_DATABARRIER = 129
+ARM_GRP_DIVIDE = 130
+ARM_GRP_FPARMV8 = 131
+ARM_GRP_MULTPRO = 132
+ARM_GRP_NEON = 133
+ARM_GRP_T2EXTRACTPACK = 134
+ARM_GRP_THUMB2DSP = 135
+ARM_GRP_TRUSTZONE = 136
+ARM_GRP_V4T = 137
+ARM_GRP_V5T = 138
+ARM_GRP_V5TE = 139
+ARM_GRP_V6 = 140
+ARM_GRP_V6T2 = 141
+ARM_GRP_V7 = 142
+ARM_GRP_V8 = 143
+ARM_GRP_VFP2 = 144
+ARM_GRP_VFP3 = 145
+ARM_GRP_VFP4 = 146
+ARM_GRP_ARM = 147
+ARM_GRP_MCLASS = 148
+ARM_GRP_NOTMCLASS = 149
+ARM_GRP_THUMB = 150
+ARM_GRP_THUMB1ONLY = 151
+ARM_GRP_THUMB2 = 152
+ARM_GRP_PREV8 = 153
+ARM_GRP_FPVMLX = 154
+ARM_GRP_MULOPS = 155
+ARM_GRP_CRC = 156
+ARM_GRP_DPVFP = 157
+ARM_GRP_V6M = 158
+ARM_GRP_VIRTUALIZATION = 159
+ARM_GRP_ENDING = 160
diff --git a/capstone/bindings/python/capstone/bpf.py b/capstone/bindings/python/capstone/bpf.py
new file mode 100644
index 000000000..d6263bd3e
--- /dev/null
+++ b/capstone/bindings/python/capstone/bpf.py
@@ -0,0 +1,69 @@
+# Capstone Python bindings
+# BPF by david942j <david942j@gmail.com>, 2019
+
+import ctypes
+from . import copy_ctypes_list
+from .bpf_const import *
+
+class BPFOpMem(ctypes.Structure):
+ _fields_ = (
+ ('base', ctypes.c_uint8),
+ ('disp', ctypes.c_int32),
+ )
+
+class BPFOpValue(ctypes.Union):
+ _fields_ = (
+ ('reg', ctypes.c_uint8),
+ ('imm', ctypes.c_uint64),
+ ('off', ctypes.c_uint32),
+ ('mem', BPFOpMem),
+ ('mmem', ctypes.c_uint32),
+ ('msh', ctypes.c_uint32),
+ ('ext', ctypes.c_uint32),
+ )
+
+class BPFOp(ctypes.Structure):
+ _fields_ = (
+ ('type', ctypes.c_uint),
+ ('value', BPFOpValue),
+ ('access', ctypes.c_uint8),
+ )
+
+ @property
+ def reg(self):
+ return self.value.reg
+
+ @property
+ def imm(self):
+ return self.value.imm
+
+ @property
+ def off(self):
+ return self.value.off
+
+ @property
+ def mem(self):
+ return self.value.mem
+
+ @property
+ def mmem(self):
+ return self.value.mmem
+
+ @property
+ def msh(self):
+ return self.value.msh
+
+ @property
+ def ext(self):
+ return self.value.ext
+
+
+class CsBPF(ctypes.Structure):
+ _fields_ = (
+ ('op_count', ctypes.c_uint8),
+ ('operands', BPFOp * 4),
+ )
+
+def get_arch_info(a):
+ return (copy_ctypes_list(a.operands[:a.op_count]))
+
diff --git a/capstone/bindings/python/capstone/bpf_const.py b/capstone/bindings/python/capstone/bpf_const.py
new file mode 100644
index 000000000..51dadb42c
--- /dev/null
+++ b/capstone/bindings/python/capstone/bpf_const.py
@@ -0,0 +1,113 @@
+# For Capstone Engine. AUTO-GENERATED FILE, DO NOT EDIT [bpf_const.py]
+
+BPF_OP_INVALID = 0
+BPF_OP_REG = 1
+BPF_OP_IMM = 2
+BPF_OP_OFF = 3
+BPF_OP_MEM = 4
+BPF_OP_MMEM = 5
+BPF_OP_MSH = 6
+BPF_OP_EXT = 7
+
+BPF_REG_INVALID = 0
+BPF_REG_A = 1
+BPF_REG_X = 2
+BPF_REG_R0 = 3
+BPF_REG_R1 = 4
+BPF_REG_R2 = 5
+BPF_REG_R3 = 6
+BPF_REG_R4 = 7
+BPF_REG_R5 = 8
+BPF_REG_R6 = 9
+BPF_REG_R7 = 10
+BPF_REG_R8 = 11
+BPF_REG_R9 = 12
+BPF_REG_R10 = 13
+BPF_REG_ENDING = 14
+
+BPF_EXT_INVALID = 0
+BPF_EXT_LEN = 1
+
+BPF_INS_INVALID = 0
+BPF_INS_ADD = 1
+BPF_INS_SUB = 2
+BPF_INS_MUL = 3
+BPF_INS_DIV = 4
+BPF_INS_OR = 5
+BPF_INS_AND = 6
+BPF_INS_LSH = 7
+BPF_INS_RSH = 8
+BPF_INS_NEG = 9
+BPF_INS_MOD = 10
+BPF_INS_XOR = 11
+BPF_INS_MOV = 12
+BPF_INS_ARSH = 13
+BPF_INS_ADD64 = 14
+BPF_INS_SUB64 = 15
+BPF_INS_MUL64 = 16
+BPF_INS_DIV64 = 17
+BPF_INS_OR64 = 18
+BPF_INS_AND64 = 19
+BPF_INS_LSH64 = 20
+BPF_INS_RSH64 = 21
+BPF_INS_NEG64 = 22
+BPF_INS_MOD64 = 23
+BPF_INS_XOR64 = 24
+BPF_INS_MOV64 = 25
+BPF_INS_ARSH64 = 26
+BPF_INS_LE16 = 27
+BPF_INS_LE32 = 28
+BPF_INS_LE64 = 29
+BPF_INS_BE16 = 30
+BPF_INS_BE32 = 31
+BPF_INS_BE64 = 32
+BPF_INS_LDW = 33
+BPF_INS_LDH = 34
+BPF_INS_LDB = 35
+BPF_INS_LDDW = 36
+BPF_INS_LDXW = 37
+BPF_INS_LDXH = 38
+BPF_INS_LDXB = 39
+BPF_INS_LDXDW = 40
+BPF_INS_STW = 41
+BPF_INS_STH = 42
+BPF_INS_STB = 43
+BPF_INS_STDW = 44
+BPF_INS_STXW = 45
+BPF_INS_STXH = 46
+BPF_INS_STXB = 47
+BPF_INS_STXDW = 48
+BPF_INS_XADDW = 49
+BPF_INS_XADDDW = 50
+BPF_INS_JMP = 51
+BPF_INS_JEQ = 52
+BPF_INS_JGT = 53
+BPF_INS_JGE = 54
+BPF_INS_JSET = 55
+BPF_INS_JNE = 56
+BPF_INS_JSGT = 57
+BPF_INS_JSGE = 58
+BPF_INS_CALL = 59
+BPF_INS_EXIT = 60
+BPF_INS_JLT = 61
+BPF_INS_JLE = 62
+BPF_INS_JSLT = 63
+BPF_INS_JSLE = 64
+BPF_INS_RET = 65
+BPF_INS_TAX = 66
+BPF_INS_TXA = 67
+BPF_INS_ENDING = 68
+BPF_INS_LD = BPF_INS_LDW
+BPF_INS_LDX = BPF_INS_LDXW
+BPF_INS_ST = BPF_INS_STW
+BPF_INS_STX = BPF_INS_STXW
+
+BPF_GRP_INVALID = 0
+BPF_GRP_LOAD = 1
+BPF_GRP_STORE = 2
+BPF_GRP_ALU = 3
+BPF_GRP_JUMP = 4
+BPF_GRP_CALL = 5
+BPF_GRP_RETURN = 6
+BPF_GRP_MISC = 7
+BPF_GRP_ENDING = 8
diff --git a/capstone/bindings/python/capstone/evm.py b/capstone/bindings/python/capstone/evm.py
new file mode 100644
index 000000000..5ddec6aba
--- /dev/null
+++ b/capstone/bindings/python/capstone/evm.py
@@ -0,0 +1,17 @@
+# Capstone Python bindings, by Nguyen Anh Quynnh <aquynh@gmail.com>
+
+import ctypes
+from . import copy_ctypes_list
+from .evm_const import *
+
+# define the API
+class CsEvm(ctypes.Structure):
+ _fields_ = (
+ ('pop', ctypes.c_byte),
+ ('push', ctypes.c_byte),
+ ('fee', ctypes.c_uint),
+ )
+
+def get_arch_info(a):
+ return (a.pop, a.push, a.fee)
+
diff --git a/capstone/bindings/python/capstone/evm_const.py b/capstone/bindings/python/capstone/evm_const.py
new file mode 100644
index 000000000..6bd0e5af3
--- /dev/null
+++ b/capstone/bindings/python/capstone/evm_const.py
@@ -0,0 +1,151 @@
+# For Capstone Engine. AUTO-GENERATED FILE, DO NOT EDIT [evm_const.py]
+
+EVM_INS_STOP = 0
+EVM_INS_ADD = 1
+EVM_INS_MUL = 2
+EVM_INS_SUB = 3
+EVM_INS_DIV = 4
+EVM_INS_SDIV = 5
+EVM_INS_MOD = 6
+EVM_INS_SMOD = 7
+EVM_INS_ADDMOD = 8
+EVM_INS_MULMOD = 9
+EVM_INS_EXP = 10
+EVM_INS_SIGNEXTEND = 11
+EVM_INS_LT = 16
+EVM_INS_GT = 17
+EVM_INS_SLT = 18
+EVM_INS_SGT = 19
+EVM_INS_EQ = 20
+EVM_INS_ISZERO = 21
+EVM_INS_AND = 22
+EVM_INS_OR = 23
+EVM_INS_XOR = 24
+EVM_INS_NOT = 25
+EVM_INS_BYTE = 26
+EVM_INS_SHA3 = 32
+EVM_INS_ADDRESS = 48
+EVM_INS_BALANCE = 49
+EVM_INS_ORIGIN = 50
+EVM_INS_CALLER = 51
+EVM_INS_CALLVALUE = 52
+EVM_INS_CALLDATALOAD = 53
+EVM_INS_CALLDATASIZE = 54
+EVM_INS_CALLDATACOPY = 55
+EVM_INS_CODESIZE = 56
+EVM_INS_CODECOPY = 57
+EVM_INS_GASPRICE = 58
+EVM_INS_EXTCODESIZE = 59
+EVM_INS_EXTCODECOPY = 60
+EVM_INS_RETURNDATASIZE = 61
+EVM_INS_RETURNDATACOPY = 62
+EVM_INS_BLOCKHASH = 64
+EVM_INS_COINBASE = 65
+EVM_INS_TIMESTAMP = 66
+EVM_INS_NUMBER = 67
+EVM_INS_DIFFICULTY = 68
+EVM_INS_GASLIMIT = 69
+EVM_INS_POP = 80
+EVM_INS_MLOAD = 81
+EVM_INS_MSTORE = 82
+EVM_INS_MSTORE8 = 83
+EVM_INS_SLOAD = 84
+EVM_INS_SSTORE = 85
+EVM_INS_JUMP = 86
+EVM_INS_JUMPI = 87
+EVM_INS_PC = 88
+EVM_INS_MSIZE = 89
+EVM_INS_GAS = 90
+EVM_INS_JUMPDEST = 91
+EVM_INS_PUSH1 = 96
+EVM_INS_PUSH2 = 97
+EVM_INS_PUSH3 = 98
+EVM_INS_PUSH4 = 99
+EVM_INS_PUSH5 = 100
+EVM_INS_PUSH6 = 101
+EVM_INS_PUSH7 = 102
+EVM_INS_PUSH8 = 103
+EVM_INS_PUSH9 = 104
+EVM_INS_PUSH10 = 105
+EVM_INS_PUSH11 = 106
+EVM_INS_PUSH12 = 107
+EVM_INS_PUSH13 = 108
+EVM_INS_PUSH14 = 109
+EVM_INS_PUSH15 = 110
+EVM_INS_PUSH16 = 111
+EVM_INS_PUSH17 = 112
+EVM_INS_PUSH18 = 113
+EVM_INS_PUSH19 = 114
+EVM_INS_PUSH20 = 115
+EVM_INS_PUSH21 = 116
+EVM_INS_PUSH22 = 117
+EVM_INS_PUSH23 = 118
+EVM_INS_PUSH24 = 119
+EVM_INS_PUSH25 = 120
+EVM_INS_PUSH26 = 121
+EVM_INS_PUSH27 = 122
+EVM_INS_PUSH28 = 123
+EVM_INS_PUSH29 = 124
+EVM_INS_PUSH30 = 125
+EVM_INS_PUSH31 = 126
+EVM_INS_PUSH32 = 127
+EVM_INS_DUP1 = 128
+EVM_INS_DUP2 = 129
+EVM_INS_DUP3 = 130
+EVM_INS_DUP4 = 131
+EVM_INS_DUP5 = 132
+EVM_INS_DUP6 = 133
+EVM_INS_DUP7 = 134
+EVM_INS_DUP8 = 135
+EVM_INS_DUP9 = 136
+EVM_INS_DUP10 = 137
+EVM_INS_DUP11 = 138
+EVM_INS_DUP12 = 139
+EVM_INS_DUP13 = 140
+EVM_INS_DUP14 = 141
+EVM_INS_DUP15 = 142
+EVM_INS_DUP16 = 143
+EVM_INS_SWAP1 = 144
+EVM_INS_SWAP2 = 145
+EVM_INS_SWAP3 = 146
+EVM_INS_SWAP4 = 147
+EVM_INS_SWAP5 = 148
+EVM_INS_SWAP6 = 149
+EVM_INS_SWAP7 = 150
+EVM_INS_SWAP8 = 151
+EVM_INS_SWAP9 = 152
+EVM_INS_SWAP10 = 153
+EVM_INS_SWAP11 = 154
+EVM_INS_SWAP12 = 155
+EVM_INS_SWAP13 = 156
+EVM_INS_SWAP14 = 157
+EVM_INS_SWAP15 = 158
+EVM_INS_SWAP16 = 159
+EVM_INS_LOG0 = 160
+EVM_INS_LOG1 = 161
+EVM_INS_LOG2 = 162
+EVM_INS_LOG3 = 163
+EVM_INS_LOG4 = 164
+EVM_INS_CREATE = 240
+EVM_INS_CALL = 241
+EVM_INS_CALLCODE = 242
+EVM_INS_RETURN = 243
+EVM_INS_DELEGATECALL = 244
+EVM_INS_CALLBLACKBOX = 245
+EVM_INS_STATICCALL = 250
+EVM_INS_REVERT = 253
+EVM_INS_SUICIDE = 255
+EVM_INS_INVALID = 512
+EVM_INS_ENDING = 513
+
+EVM_GRP_INVALID = 0
+EVM_GRP_JUMP = 1
+EVM_GRP_MATH = 8
+EVM_GRP_STACK_WRITE = 9
+EVM_GRP_STACK_READ = 10
+EVM_GRP_MEM_WRITE = 11
+EVM_GRP_MEM_READ = 12
+EVM_GRP_STORE_WRITE = 13
+EVM_GRP_STORE_READ = 14
+EVM_GRP_HALT = 15
+EVM_GRP_ENDING = 16
diff --git a/capstone/bindings/python/capstone/m680x.py b/capstone/bindings/python/capstone/m680x.py
new file mode 100644
index 000000000..dae21be45
--- /dev/null
+++ b/capstone/bindings/python/capstone/m680x.py
@@ -0,0 +1,88 @@
+# Capstone Python bindings, by Wolfgang Schwotzer <wolfgang.schwotzer@gmx.net>
+
+import ctypes
+from . import copy_ctypes_list
+from .m680x_const import *
+
+# define the API
+class M680xOpIdx(ctypes.Structure):
+ _fields_ = (
+ ('base_reg', ctypes.c_uint),
+ ('offset_reg', ctypes.c_uint),
+ ('offset', ctypes.c_int16),
+ ('offset_addr', ctypes.c_uint16),
+ ('offset_bits', ctypes.c_uint8),
+ ('inc_dec', ctypes.c_int8),
+ ('flags', ctypes.c_uint8),
+ )
+
+class M680xOpRel(ctypes.Structure):
+ _fields_ = (
+ ('address', ctypes.c_uint16),
+ ('offset', ctypes.c_int16),
+ )
+
+class M680xOpExt(ctypes.Structure):
+ _fields_ = (
+ ('address', ctypes.c_uint16),
+ ('indirect', ctypes.c_bool),
+ )
+
+class M680xOpValue(ctypes.Union):
+ _fields_ = (
+ ('imm', ctypes.c_int32),
+ ('reg', ctypes.c_uint),
+ ('idx', M680xOpIdx),
+ ('rel', M680xOpRel),
+ ('ext', M680xOpExt),
+ ('direct_addr', ctypes.c_uint8),
+ ('const_val', ctypes.c_uint8),
+ )
+
+class M680xOp(ctypes.Structure):
+ _fields_ = (
+ ('type', ctypes.c_uint),
+ ('value', M680xOpValue),
+ ('size', ctypes.c_uint8),
+ ('access', ctypes.c_uint8),
+ )
+
+ @property
+ def imm(self):
+ return self.value.imm
+
+ @property
+ def reg(self):
+ return self.value.reg
+
+ @property
+ def idx(self):
+ return self.value.idx
+
+ @property
+ def rel(self):
+ return self.value.rel
+
+ @property
+ def ext(self):
+ return self.value.ext
+
+ @property
+ def direct_addr(self):
+ return self.value.direct_addr
+
+ @property
+ def const_val(self):
+ return self.value.const_val
+
+
+class CsM680x(ctypes.Structure):
+ _fields_ = (
+ ('flags', ctypes.c_uint8),
+ ('op_count', ctypes.c_uint8),
+ ('operands', M680xOp * 9),
+ )
+
+def get_arch_info(a):
+ return (a.flags, copy_ctypes_list(a.operands[:a.op_count]))
+
diff --git a/capstone/bindings/python/capstone/m680x_const.py b/capstone/bindings/python/capstone/m680x_const.py
new file mode 100644
index 000000000..2ed71ab5d
--- /dev/null
+++ b/capstone/bindings/python/capstone/m680x_const.py
@@ -0,0 +1,415 @@
+# For Capstone Engine. AUTO-GENERATED FILE, DO NOT EDIT [m680x_const.py]
+M680X_OPERAND_COUNT = 9
+
+M680X_REG_INVALID = 0
+M680X_REG_A = 1
+M680X_REG_B = 2
+M680X_REG_E = 3
+M680X_REG_F = 4
+M680X_REG_0 = 5
+M680X_REG_D = 6
+M680X_REG_W = 7
+M680X_REG_CC = 8
+M680X_REG_DP = 9
+M680X_REG_MD = 10
+M680X_REG_HX = 11
+M680X_REG_H = 12
+M680X_REG_X = 13
+M680X_REG_Y = 14
+M680X_REG_S = 15
+M680X_REG_U = 16
+M680X_REG_V = 17
+M680X_REG_Q = 18
+M680X_REG_PC = 19
+M680X_REG_TMP2 = 20
+M680X_REG_TMP3 = 21
+M680X_REG_ENDING = 22
+
+M680X_OP_INVALID = 0
+M680X_OP_REGISTER = 1
+M680X_OP_IMMEDIATE = 2
+M680X_OP_INDEXED = 3
+M680X_OP_EXTENDED = 4
+M680X_OP_DIRECT = 5
+M680X_OP_RELATIVE = 6
+M680X_OP_CONSTANT = 7
+
+M680X_OFFSET_NONE = 0
+M680X_OFFSET_BITS_5 = 5
+M680X_OFFSET_BITS_8 = 8
+M680X_OFFSET_BITS_9 = 9
+M680X_OFFSET_BITS_16 = 16
+M680X_IDX_INDIRECT = 1
+M680X_IDX_NO_COMMA = 2
+M680X_IDX_POST_INC_DEC = 4
+
+M680X_GRP_INVALID = 0
+M680X_GRP_JUMP = 1
+M680X_GRP_CALL = 2
+M680X_GRP_RET = 3
+M680X_GRP_INT = 4
+M680X_GRP_IRET = 5
+M680X_GRP_PRIV = 6
+M680X_GRP_BRAREL = 7
+M680X_GRP_ENDING = 8
+M680X_FIRST_OP_IN_MNEM = 1
+M680X_SECOND_OP_IN_MNEM = 2
+
+M680X_INS_INVLD = 0
+M680X_INS_ABA = 1
+M680X_INS_ABX = 2
+M680X_INS_ABY = 3
+M680X_INS_ADC = 4
+M680X_INS_ADCA = 5
+M680X_INS_ADCB = 6
+M680X_INS_ADCD = 7
+M680X_INS_ADCR = 8
+M680X_INS_ADD = 9
+M680X_INS_ADDA = 10
+M680X_INS_ADDB = 11
+M680X_INS_ADDD = 12
+M680X_INS_ADDE = 13
+M680X_INS_ADDF = 14
+M680X_INS_ADDR = 15
+M680X_INS_ADDW = 16
+M680X_INS_AIM = 17
+M680X_INS_AIS = 18
+M680X_INS_AIX = 19
+M680X_INS_AND = 20
+M680X_INS_ANDA = 21
+M680X_INS_ANDB = 22
+M680X_INS_ANDCC = 23
+M680X_INS_ANDD = 24
+M680X_INS_ANDR = 25
+M680X_INS_ASL = 26
+M680X_INS_ASLA = 27
+M680X_INS_ASLB = 28
+M680X_INS_ASLD = 29
+M680X_INS_ASR = 30
+M680X_INS_ASRA = 31
+M680X_INS_ASRB = 32
+M680X_INS_ASRD = 33
+M680X_INS_ASRX = 34
+M680X_INS_BAND = 35
+M680X_INS_BCC = 36
+M680X_INS_BCLR = 37
+M680X_INS_BCS = 38
+M680X_INS_BEOR = 39
+M680X_INS_BEQ = 40
+M680X_INS_BGE = 41
+M680X_INS_BGND = 42
+M680X_INS_BGT = 43
+M680X_INS_BHCC = 44
+M680X_INS_BHCS = 45
+M680X_INS_BHI = 46
+M680X_INS_BIAND = 47
+M680X_INS_BIEOR = 48
+M680X_INS_BIH = 49
+M680X_INS_BIL = 50
+M680X_INS_BIOR = 51
+M680X_INS_BIT = 52
+M680X_INS_BITA = 53
+M680X_INS_BITB = 54
+M680X_INS_BITD = 55
+M680X_INS_BITMD = 56
+M680X_INS_BLE = 57
+M680X_INS_BLS = 58
+M680X_INS_BLT = 59
+M680X_INS_BMC = 60
+M680X_INS_BMI = 61
+M680X_INS_BMS = 62
+M680X_INS_BNE = 63
+M680X_INS_BOR = 64
+M680X_INS_BPL = 65
+M680X_INS_BRCLR = 66
+M680X_INS_BRSET = 67
+M680X_INS_BRA = 68
+M680X_INS_BRN = 69
+M680X_INS_BSET = 70
+M680X_INS_BSR = 71
+M680X_INS_BVC = 72
+M680X_INS_BVS = 73
+M680X_INS_CALL = 74
+M680X_INS_CBA = 75
+M680X_INS_CBEQ = 76
+M680X_INS_CBEQA = 77
+M680X_INS_CBEQX = 78
+M680X_INS_CLC = 79
+M680X_INS_CLI = 80
+M680X_INS_CLR = 81
+M680X_INS_CLRA = 82
+M680X_INS_CLRB = 83
+M680X_INS_CLRD = 84
+M680X_INS_CLRE = 85
+M680X_INS_CLRF = 86
+M680X_INS_CLRH = 87
+M680X_INS_CLRW = 88
+M680X_INS_CLRX = 89
+M680X_INS_CLV = 90
+M680X_INS_CMP = 91
+M680X_INS_CMPA = 92
+M680X_INS_CMPB = 93
+M680X_INS_CMPD = 94
+M680X_INS_CMPE = 95
+M680X_INS_CMPF = 96
+M680X_INS_CMPR = 97
+M680X_INS_CMPS = 98
+M680X_INS_CMPU = 99
+M680X_INS_CMPW = 100
+M680X_INS_CMPX = 101
+M680X_INS_CMPY = 102
+M680X_INS_COM = 103
+M680X_INS_COMA = 104
+M680X_INS_COMB = 105
+M680X_INS_COMD = 106
+M680X_INS_COME = 107
+M680X_INS_COMF = 108
+M680X_INS_COMW = 109
+M680X_INS_COMX = 110
+M680X_INS_CPD = 111
+M680X_INS_CPHX = 112
+M680X_INS_CPS = 113
+M680X_INS_CPX = 114
+M680X_INS_CPY = 115
+M680X_INS_CWAI = 116
+M680X_INS_DAA = 117
+M680X_INS_DBEQ = 118
+M680X_INS_DBNE = 119
+M680X_INS_DBNZ = 120
+M680X_INS_DBNZA = 121
+M680X_INS_DBNZX = 122
+M680X_INS_DEC = 123
+M680X_INS_DECA = 124
+M680X_INS_DECB = 125
+M680X_INS_DECD = 126
+M680X_INS_DECE = 127
+M680X_INS_DECF = 128
+M680X_INS_DECW = 129
+M680X_INS_DECX = 130
+M680X_INS_DES = 131
+M680X_INS_DEX = 132
+M680X_INS_DEY = 133
+M680X_INS_DIV = 134
+M680X_INS_DIVD = 135
+M680X_INS_DIVQ = 136
+M680X_INS_EDIV = 137
+M680X_INS_EDIVS = 138
+M680X_INS_EIM = 139
+M680X_INS_EMACS = 140
+M680X_INS_EMAXD = 141
+M680X_INS_EMAXM = 142
+M680X_INS_EMIND = 143
+M680X_INS_EMINM = 144
+M680X_INS_EMUL = 145
+M680X_INS_EMULS = 146
+M680X_INS_EOR = 147
+M680X_INS_EORA = 148
+M680X_INS_EORB = 149
+M680X_INS_EORD = 150
+M680X_INS_EORR = 151
+M680X_INS_ETBL = 152
+M680X_INS_EXG = 153
+M680X_INS_FDIV = 154
+M680X_INS_IBEQ = 155
+M680X_INS_IBNE = 156
+M680X_INS_IDIV = 157
+M680X_INS_IDIVS = 158
+M680X_INS_ILLGL = 159
+M680X_INS_INC = 160
+M680X_INS_INCA = 161
+M680X_INS_INCB = 162
+M680X_INS_INCD = 163
+M680X_INS_INCE = 164
+M680X_INS_INCF = 165
+M680X_INS_INCW = 166
+M680X_INS_INCX = 167
+M680X_INS_INS = 168
+M680X_INS_INX = 169
+M680X_INS_INY = 170
+M680X_INS_JMP = 171
+M680X_INS_JSR = 172
+M680X_INS_LBCC = 173
+M680X_INS_LBCS = 174
+M680X_INS_LBEQ = 175
+M680X_INS_LBGE = 176
+M680X_INS_LBGT = 177
+M680X_INS_LBHI = 178
+M680X_INS_LBLE = 179
+M680X_INS_LBLS = 180
+M680X_INS_LBLT = 181
+M680X_INS_LBMI = 182
+M680X_INS_LBNE = 183
+M680X_INS_LBPL = 184
+M680X_INS_LBRA = 185
+M680X_INS_LBRN = 186
+M680X_INS_LBSR = 187
+M680X_INS_LBVC = 188
+M680X_INS_LBVS = 189
+M680X_INS_LDA = 190
+M680X_INS_LDAA = 191
+M680X_INS_LDAB = 192
+M680X_INS_LDB = 193
+M680X_INS_LDBT = 194
+M680X_INS_LDD = 195
+M680X_INS_LDE = 196
+M680X_INS_LDF = 197
+M680X_INS_LDHX = 198
+M680X_INS_LDMD = 199
+M680X_INS_LDQ = 200
+M680X_INS_LDS = 201
+M680X_INS_LDU = 202
+M680X_INS_LDW = 203
+M680X_INS_LDX = 204
+M680X_INS_LDY = 205
+M680X_INS_LEAS = 206
+M680X_INS_LEAU = 207
+M680X_INS_LEAX = 208
+M680X_INS_LEAY = 209
+M680X_INS_LSL = 210
+M680X_INS_LSLA = 211
+M680X_INS_LSLB = 212
+M680X_INS_LSLD = 213
+M680X_INS_LSLX = 214
+M680X_INS_LSR = 215
+M680X_INS_LSRA = 216
+M680X_INS_LSRB = 217
+M680X_INS_LSRD = 218
+M680X_INS_LSRW = 219
+M680X_INS_LSRX = 220
+M680X_INS_MAXA = 221
+M680X_INS_MAXM = 222
+M680X_INS_MEM = 223
+M680X_INS_MINA = 224
+M680X_INS_MINM = 225
+M680X_INS_MOV = 226
+M680X_INS_MOVB = 227
+M680X_INS_MOVW = 228
+M680X_INS_MUL = 229
+M680X_INS_MULD = 230
+M680X_INS_NEG = 231
+M680X_INS_NEGA = 232
+M680X_INS_NEGB = 233
+M680X_INS_NEGD = 234
+M680X_INS_NEGX = 235
+M680X_INS_NOP = 236
+M680X_INS_NSA = 237
+M680X_INS_OIM = 238
+M680X_INS_ORA = 239
+M680X_INS_ORAA = 240
+M680X_INS_ORAB = 241
+M680X_INS_ORB = 242
+M680X_INS_ORCC = 243
+M680X_INS_ORD = 244
+M680X_INS_ORR = 245
+M680X_INS_PSHA = 246
+M680X_INS_PSHB = 247
+M680X_INS_PSHC = 248
+M680X_INS_PSHD = 249
+M680X_INS_PSHH = 250
+M680X_INS_PSHS = 251
+M680X_INS_PSHSW = 252
+M680X_INS_PSHU = 253
+M680X_INS_PSHUW = 254
+M680X_INS_PSHX = 255
+M680X_INS_PSHY = 256
+M680X_INS_PULA = 257
+M680X_INS_PULB = 258
+M680X_INS_PULC = 259
+M680X_INS_PULD = 260
+M680X_INS_PULH = 261
+M680X_INS_PULS = 262
+M680X_INS_PULSW = 263
+M680X_INS_PULU = 264
+M680X_INS_PULUW = 265
+M680X_INS_PULX = 266
+M680X_INS_PULY = 267
+M680X_INS_REV = 268
+M680X_INS_REVW = 269
+M680X_INS_ROL = 270
+M680X_INS_ROLA = 271
+M680X_INS_ROLB = 272
+M680X_INS_ROLD = 273
+M680X_INS_ROLW = 274
+M680X_INS_ROLX = 275
+M680X_INS_ROR = 276
+M680X_INS_RORA = 277
+M680X_INS_RORB = 278
+M680X_INS_RORD = 279
+M680X_INS_RORW = 280
+M680X_INS_RORX = 281
+M680X_INS_RSP = 282
+M680X_INS_RTC = 283
+M680X_INS_RTI = 284
+M680X_INS_RTS = 285
+M680X_INS_SBA = 286
+M680X_INS_SBC = 287
+M680X_INS_SBCA = 288
+M680X_INS_SBCB = 289
+M680X_INS_SBCD = 290
+M680X_INS_SBCR = 291
+M680X_INS_SEC = 292
+M680X_INS_SEI = 293
+M680X_INS_SEV = 294
+M680X_INS_SEX = 295
+M680X_INS_SEXW = 296
+M680X_INS_SLP = 297
+M680X_INS_STA = 298
+M680X_INS_STAA = 299
+M680X_INS_STAB = 300
+M680X_INS_STB = 301
+M680X_INS_STBT = 302
+M680X_INS_STD = 303
+M680X_INS_STE = 304
+M680X_INS_STF = 305
+M680X_INS_STOP = 306
+M680X_INS_STHX = 307
+M680X_INS_STQ = 308
+M680X_INS_STS = 309
+M680X_INS_STU = 310
+M680X_INS_STW = 311
+M680X_INS_STX = 312
+M680X_INS_STY = 313
+M680X_INS_SUB = 314
+M680X_INS_SUBA = 315
+M680X_INS_SUBB = 316
+M680X_INS_SUBD = 317
+M680X_INS_SUBE = 318
+M680X_INS_SUBF = 319
+M680X_INS_SUBR = 320
+M680X_INS_SUBW = 321
+M680X_INS_SWI = 322
+M680X_INS_SWI2 = 323
+M680X_INS_SWI3 = 324
+M680X_INS_SYNC = 325
+M680X_INS_TAB = 326
+M680X_INS_TAP = 327
+M680X_INS_TAX = 328
+M680X_INS_TBA = 329
+M680X_INS_TBEQ = 330
+M680X_INS_TBL = 331
+M680X_INS_TBNE = 332
+M680X_INS_TEST = 333
+M680X_INS_TFM = 334
+M680X_INS_TFR = 335
+M680X_INS_TIM = 336
+M680X_INS_TPA = 337
+M680X_INS_TST = 338
+M680X_INS_TSTA = 339
+M680X_INS_TSTB = 340
+M680X_INS_TSTD = 341
+M680X_INS_TSTE = 342
+M680X_INS_TSTF = 343
+M680X_INS_TSTW = 344
+M680X_INS_TSTX = 345
+M680X_INS_TSX = 346
+M680X_INS_TSY = 347
+M680X_INS_TXA = 348
+M680X_INS_TXS = 349
+M680X_INS_TYS = 350
+M680X_INS_WAI = 351
+M680X_INS_WAIT = 352
+M680X_INS_WAV = 353
+M680X_INS_WAVR = 354
+M680X_INS_XGDX = 355
+M680X_INS_XGDY = 356
+M680X_INS_ENDING = 357
diff --git a/capstone/bindings/python/capstone/m68k.py b/capstone/bindings/python/capstone/m68k.py
new file mode 100644
index 000000000..9cc893654
--- /dev/null
+++ b/capstone/bindings/python/capstone/m68k.py
@@ -0,0 +1,96 @@
+# Capstone Python bindings, by Nicolas PLANEL <nplanel@gmail.com>
+
+import ctypes
+from . import copy_ctypes_list
+from .m68k_const import *
+
+# define the API
+class M68KOpMem(ctypes.Structure):
+ _fields_ = (
+ ('base_reg', ctypes.c_uint),
+ ('index_reg', ctypes.c_uint),
+ ('in_base_reg', ctypes.c_uint),
+ ('in_disp', ctypes.c_uint),
+ ('out_disp', ctypes.c_uint),
+ ('disp', ctypes.c_short),
+ ('scale', ctypes.c_ubyte),
+ ('bitfield', ctypes.c_ubyte),
+ ('width', ctypes.c_ubyte),
+ ('offset', ctypes.c_ubyte),
+ ('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),
+ )
+
+class M68KOpBrDisp(ctypes.Structure):
+ _fields_ = (
+ ('disp', ctypes.c_int),
+ ('disp_size', ctypes.c_ubyte),
+ )
+
+class M68KOp(ctypes.Structure):
+ _fields_ = (
+ ('value', M68KOpValue),
+ ('mem', M68KOpMem),
+ ('br_disp', M68KOpBrDisp),
+ ('register_bits', ctypes.c_uint),
+ ('type', ctypes.c_uint),
+ ('address_mode', ctypes.c_uint),
+ )
+
+ @property
+ def imm(self):
+ return self.value.imm
+
+ @property
+ def dimm(self):
+ return self.value.dimm
+
+ @property
+ def simm(self):
+ return self.value.simm
+
+ @property
+ def reg(self):
+ return self.value.reg
+
+ @property
+ def mem(self):
+ return self.mem
+
+ @property
+ def register_bits(self):
+ return self.register_bits
+
+class M68KOpSize(ctypes.Structure):
+ _fields_ = (
+ ('type', ctypes.c_uint),
+ ('size', ctypes.c_uint),
+ )
+
+ def get(a):
+ return copy_ctypes_list(type, size)
+
+class CsM68K(ctypes.Structure):
+ M68K_OPERAND_COUNT = 4
+ _fields_ = (
+ ('operands', M68KOp * M68K_OPERAND_COUNT),
+ ('op_size', M68KOpSize),
+ ('op_count', ctypes.c_uint8),
+ )
+
+def get_arch_info(a):
+ return (copy_ctypes_list(a.operands[:a.op_count]), a.op_size)
diff --git a/capstone/bindings/python/capstone/m68k_const.py b/capstone/bindings/python/capstone/m68k_const.py
new file mode 100644
index 000000000..39f54184c
--- /dev/null
+++ b/capstone/bindings/python/capstone/m68k_const.py
@@ -0,0 +1,485 @@
+# For Capstone Engine. AUTO-GENERATED FILE, DO NOT EDIT [m68k_const.py]
+M68K_OPERAND_COUNT = 4
+
+M68K_REG_INVALID = 0
+M68K_REG_D0 = 1
+M68K_REG_D1 = 2
+M68K_REG_D2 = 3
+M68K_REG_D3 = 4
+M68K_REG_D4 = 5
+M68K_REG_D5 = 6
+M68K_REG_D6 = 7
+M68K_REG_D7 = 8
+M68K_REG_A0 = 9
+M68K_REG_A1 = 10
+M68K_REG_A2 = 11
+M68K_REG_A3 = 12
+M68K_REG_A4 = 13
+M68K_REG_A5 = 14
+M68K_REG_A6 = 15
+M68K_REG_A7 = 16
+M68K_REG_FP0 = 17
+M68K_REG_FP1 = 18
+M68K_REG_FP2 = 19
+M68K_REG_FP3 = 20
+M68K_REG_FP4 = 21
+M68K_REG_FP5 = 22
+M68K_REG_FP6 = 23
+M68K_REG_FP7 = 24
+M68K_REG_PC = 25
+M68K_REG_SR = 26
+M68K_REG_CCR = 27
+M68K_REG_SFC = 28
+M68K_REG_DFC = 29
+M68K_REG_USP = 30
+M68K_REG_VBR = 31
+M68K_REG_CACR = 32
+M68K_REG_CAAR = 33
+M68K_REG_MSP = 34
+M68K_REG_ISP = 35
+M68K_REG_TC = 36
+M68K_REG_ITT0 = 37
+M68K_REG_ITT1 = 38
+M68K_REG_DTT0 = 39
+M68K_REG_DTT1 = 40
+M68K_REG_MMUSR = 41
+M68K_REG_URP = 42
+M68K_REG_SRP = 43
+M68K_REG_FPCR = 44
+M68K_REG_FPSR = 45
+M68K_REG_FPIAR = 46
+M68K_REG_ENDING = 47
+
+M68K_AM_NONE = 0
+M68K_AM_REG_DIRECT_DATA = 1
+M68K_AM_REG_DIRECT_ADDR = 2
+M68K_AM_REGI_ADDR = 3
+M68K_AM_REGI_ADDR_POST_INC = 4
+M68K_AM_REGI_ADDR_PRE_DEC = 5
+M68K_AM_REGI_ADDR_DISP = 6
+M68K_AM_AREGI_INDEX_8_BIT_DISP = 7
+M68K_AM_AREGI_INDEX_BASE_DISP = 8
+M68K_AM_MEMI_POST_INDEX = 9
+M68K_AM_MEMI_PRE_INDEX = 10
+M68K_AM_PCI_DISP = 11
+M68K_AM_PCI_INDEX_8_BIT_DISP = 12
+M68K_AM_PCI_INDEX_BASE_DISP = 13
+M68K_AM_PC_MEMI_POST_INDEX = 14
+M68K_AM_PC_MEMI_PRE_INDEX = 15
+M68K_AM_ABSOLUTE_DATA_SHORT = 16
+M68K_AM_ABSOLUTE_DATA_LONG = 17
+M68K_AM_IMMEDIATE = 18
+M68K_AM_BRANCH_DISPLACEMENT = 19
+
+M68K_OP_INVALID = 0
+M68K_OP_REG = 1
+M68K_OP_IMM = 2
+M68K_OP_MEM = 3
+M68K_OP_FP_SINGLE = 4
+M68K_OP_FP_DOUBLE = 5
+M68K_OP_REG_BITS = 6
+M68K_OP_REG_PAIR = 7
+M68K_OP_BR_DISP = 8
+
+M68K_OP_BR_DISP_SIZE_INVALID = 0
+M68K_OP_BR_DISP_SIZE_BYTE = 1
+M68K_OP_BR_DISP_SIZE_WORD = 2
+M68K_OP_BR_DISP_SIZE_LONG = 4
+
+M68K_CPU_SIZE_NONE = 0
+M68K_CPU_SIZE_BYTE = 1
+M68K_CPU_SIZE_WORD = 2
+M68K_CPU_SIZE_LONG = 4
+
+M68K_FPU_SIZE_NONE = 0
+M68K_FPU_SIZE_SINGLE = 4
+M68K_FPU_SIZE_DOUBLE = 8
+M68K_FPU_SIZE_EXTENDED = 12
+
+M68K_SIZE_TYPE_INVALID = 0
+M68K_SIZE_TYPE_CPU = 1
+M68K_SIZE_TYPE_FPU = 2
+
+M68K_INS_INVALID = 0
+M68K_INS_ABCD = 1
+M68K_INS_ADD = 2
+M68K_INS_ADDA = 3
+M68K_INS_ADDI = 4
+M68K_INS_ADDQ = 5
+M68K_INS_ADDX = 6
+M68K_INS_AND = 7
+M68K_INS_ANDI = 8
+M68K_INS_ASL = 9
+M68K_INS_ASR = 10
+M68K_INS_BHS = 11
+M68K_INS_BLO = 12
+M68K_INS_BHI = 13
+M68K_INS_BLS = 14
+M68K_INS_BCC = 15
+M68K_INS_BCS = 16
+M68K_INS_BNE = 17
+M68K_INS_BEQ = 18
+M68K_INS_BVC = 19
+M68K_INS_BVS = 20
+M68K_INS_BPL = 21
+M68K_INS_BMI = 22
+M68K_INS_BGE = 23
+M68K_INS_BLT = 24
+M68K_INS_BGT = 25
+M68K_INS_BLE = 26
+M68K_INS_BRA = 27
+M68K_INS_BSR = 28
+M68K_INS_BCHG = 29
+M68K_INS_BCLR = 30
+M68K_INS_BSET = 31
+M68K_INS_BTST = 32
+M68K_INS_BFCHG = 33
+M68K_INS_BFCLR = 34
+M68K_INS_BFEXTS = 35
+M68K_INS_BFEXTU = 36
+M68K_INS_BFFFO = 37
+M68K_INS_BFINS = 38
+M68K_INS_BFSET = 39
+M68K_INS_BFTST = 40
+M68K_INS_BKPT = 41
+M68K_INS_CALLM = 42
+M68K_INS_CAS = 43
+M68K_INS_CAS2 = 44
+M68K_INS_CHK = 45
+M68K_INS_CHK2 = 46
+M68K_INS_CLR = 47
+M68K_INS_CMP = 48
+M68K_INS_CMPA = 49
+M68K_INS_CMPI = 50
+M68K_INS_CMPM = 51
+M68K_INS_CMP2 = 52
+M68K_INS_CINVL = 53
+M68K_INS_CINVP = 54
+M68K_INS_CINVA = 55
+M68K_INS_CPUSHL = 56
+M68K_INS_CPUSHP = 57
+M68K_INS_CPUSHA = 58
+M68K_INS_DBT = 59
+M68K_INS_DBF = 60
+M68K_INS_DBHI = 61
+M68K_INS_DBLS = 62
+M68K_INS_DBCC = 63
+M68K_INS_DBCS = 64
+M68K_INS_DBNE = 65
+M68K_INS_DBEQ = 66
+M68K_INS_DBVC = 67
+M68K_INS_DBVS = 68
+M68K_INS_DBPL = 69
+M68K_INS_DBMI = 70
+M68K_INS_DBGE = 71
+M68K_INS_DBLT = 72
+M68K_INS_DBGT = 73
+M68K_INS_DBLE = 74
+M68K_INS_DBRA = 75
+M68K_INS_DIVS = 76
+M68K_INS_DIVSL = 77
+M68K_INS_DIVU = 78
+M68K_INS_DIVUL = 79
+M68K_INS_EOR = 80
+M68K_INS_EORI = 81
+M68K_INS_EXG = 82
+M68K_INS_EXT = 83
+M68K_INS_EXTB = 84
+M68K_INS_FABS = 85
+M68K_INS_FSABS = 86
+M68K_INS_FDABS = 87
+M68K_INS_FACOS = 88
+M68K_INS_FADD = 89
+M68K_INS_FSADD = 90
+M68K_INS_FDADD = 91
+M68K_INS_FASIN = 92
+M68K_INS_FATAN = 93
+M68K_INS_FATANH = 94
+M68K_INS_FBF = 95
+M68K_INS_FBEQ = 96
+M68K_INS_FBOGT = 97
+M68K_INS_FBOGE = 98
+M68K_INS_FBOLT = 99
+M68K_INS_FBOLE = 100
+M68K_INS_FBOGL = 101
+M68K_INS_FBOR = 102
+M68K_INS_FBUN = 103
+M68K_INS_FBUEQ = 104
+M68K_INS_FBUGT = 105
+M68K_INS_FBUGE = 106
+M68K_INS_FBULT = 107
+M68K_INS_FBULE = 108
+M68K_INS_FBNE = 109
+M68K_INS_FBT = 110
+M68K_INS_FBSF = 111
+M68K_INS_FBSEQ = 112
+M68K_INS_FBGT = 113
+M68K_INS_FBGE = 114
+M68K_INS_FBLT = 115
+M68K_INS_FBLE = 116
+M68K_INS_FBGL = 117
+M68K_INS_FBGLE = 118
+M68K_INS_FBNGLE = 119
+M68K_INS_FBNGL = 120
+M68K_INS_FBNLE = 121
+M68K_INS_FBNLT = 122
+M68K_INS_FBNGE = 123
+M68K_INS_FBNGT = 124
+M68K_INS_FBSNE = 125
+M68K_INS_FBST = 126
+M68K_INS_FCMP = 127
+M68K_INS_FCOS = 128
+M68K_INS_FCOSH = 129
+M68K_INS_FDBF = 130
+M68K_INS_FDBEQ = 131
+M68K_INS_FDBOGT = 132
+M68K_INS_FDBOGE = 133
+M68K_INS_FDBOLT = 134
+M68K_INS_FDBOLE = 135
+M68K_INS_FDBOGL = 136
+M68K_INS_FDBOR = 137
+M68K_INS_FDBUN = 138
+M68K_INS_FDBUEQ = 139
+M68K_INS_FDBUGT = 140
+M68K_INS_FDBUGE = 141
+M68K_INS_FDBULT = 142
+M68K_INS_FDBULE = 143
+M68K_INS_FDBNE = 144
+M68K_INS_FDBT = 145
+M68K_INS_FDBSF = 146
+M68K_INS_FDBSEQ = 147
+M68K_INS_FDBGT = 148
+M68K_INS_FDBGE = 149
+M68K_INS_FDBLT = 150
+M68K_INS_FDBLE = 151
+M68K_INS_FDBGL = 152
+M68K_INS_FDBGLE = 153
+M68K_INS_FDBNGLE = 154
+M68K_INS_FDBNGL = 155
+M68K_INS_FDBNLE = 156
+M68K_INS_FDBNLT = 157
+M68K_INS_FDBNGE = 158
+M68K_INS_FDBNGT = 159
+M68K_INS_FDBSNE = 160
+M68K_INS_FDBST = 161
+M68K_INS_FDIV = 162
+M68K_INS_FSDIV = 163
+M68K_INS_FDDIV = 164
+M68K_INS_FETOX = 165
+M68K_INS_FETOXM1 = 166
+M68K_INS_FGETEXP = 167
+M68K_INS_FGETMAN = 168
+M68K_INS_FINT = 169
+M68K_INS_FINTRZ = 170
+M68K_INS_FLOG10 = 171
+M68K_INS_FLOG2 = 172
+M68K_INS_FLOGN = 173
+M68K_INS_FLOGNP1 = 174
+M68K_INS_FMOD = 175
+M68K_INS_FMOVE = 176
+M68K_INS_FSMOVE = 177
+M68K_INS_FDMOVE = 178
+M68K_INS_FMOVECR = 179
+M68K_INS_FMOVEM = 180
+M68K_INS_FMUL = 181
+M68K_INS_FSMUL = 182
+M68K_INS_FDMUL = 183
+M68K_INS_FNEG = 184
+M68K_INS_FSNEG = 185
+M68K_INS_FDNEG = 186
+M68K_INS_FNOP = 187
+M68K_INS_FREM = 188
+M68K_INS_FRESTORE = 189
+M68K_INS_FSAVE = 190
+M68K_INS_FSCALE = 191
+M68K_INS_FSGLDIV = 192
+M68K_INS_FSGLMUL = 193
+M68K_INS_FSIN = 194
+M68K_INS_FSINCOS = 195
+M68K_INS_FSINH = 196
+M68K_INS_FSQRT = 197
+M68K_INS_FSSQRT = 198
+M68K_INS_FDSQRT = 199
+M68K_INS_FSF = 200
+M68K_INS_FSBEQ = 201
+M68K_INS_FSOGT = 202
+M68K_INS_FSOGE = 203
+M68K_INS_FSOLT = 204
+M68K_INS_FSOLE = 205
+M68K_INS_FSOGL = 206
+M68K_INS_FSOR = 207
+M68K_INS_FSUN = 208
+M68K_INS_FSUEQ = 209
+M68K_INS_FSUGT = 210
+M68K_INS_FSUGE = 211
+M68K_INS_FSULT = 212
+M68K_INS_FSULE = 213
+M68K_INS_FSNE = 214
+M68K_INS_FST = 215
+M68K_INS_FSSF = 216
+M68K_INS_FSSEQ = 217
+M68K_INS_FSGT = 218
+M68K_INS_FSGE = 219
+M68K_INS_FSLT = 220
+M68K_INS_FSLE = 221
+M68K_INS_FSGL = 222
+M68K_INS_FSGLE = 223
+M68K_INS_FSNGLE = 224
+M68K_INS_FSNGL = 225
+M68K_INS_FSNLE = 226
+M68K_INS_FSNLT = 227
+M68K_INS_FSNGE = 228
+M68K_INS_FSNGT = 229
+M68K_INS_FSSNE = 230
+M68K_INS_FSST = 231
+M68K_INS_FSUB = 232
+M68K_INS_FSSUB = 233
+M68K_INS_FDSUB = 234
+M68K_INS_FTAN = 235
+M68K_INS_FTANH = 236
+M68K_INS_FTENTOX = 237
+M68K_INS_FTRAPF = 238
+M68K_INS_FTRAPEQ = 239
+M68K_INS_FTRAPOGT = 240
+M68K_INS_FTRAPOGE = 241
+M68K_INS_FTRAPOLT = 242
+M68K_INS_FTRAPOLE = 243
+M68K_INS_FTRAPOGL = 244
+M68K_INS_FTRAPOR = 245
+M68K_INS_FTRAPUN = 246
+M68K_INS_FTRAPUEQ = 247
+M68K_INS_FTRAPUGT = 248
+M68K_INS_FTRAPUGE = 249
+M68K_INS_FTRAPULT = 250
+M68K_INS_FTRAPULE = 251
+M68K_INS_FTRAPNE = 252
+M68K_INS_FTRAPT = 253
+M68K_INS_FTRAPSF = 254
+M68K_INS_FTRAPSEQ = 255
+M68K_INS_FTRAPGT = 256
+M68K_INS_FTRAPGE = 257
+M68K_INS_FTRAPLT = 258
+M68K_INS_FTRAPLE = 259
+M68K_INS_FTRAPGL = 260
+M68K_INS_FTRAPGLE = 261
+M68K_INS_FTRAPNGLE = 262
+M68K_INS_FTRAPNGL = 263
+M68K_INS_FTRAPNLE = 264
+M68K_INS_FTRAPNLT = 265
+M68K_INS_FTRAPNGE = 266
+M68K_INS_FTRAPNGT = 267
+M68K_INS_FTRAPSNE = 268
+M68K_INS_FTRAPST = 269
+M68K_INS_FTST = 270
+M68K_INS_FTWOTOX = 271
+M68K_INS_HALT = 272
+M68K_INS_ILLEGAL = 273
+M68K_INS_JMP = 274
+M68K_INS_JSR = 275
+M68K_INS_LEA = 276
+M68K_INS_LINK = 277
+M68K_INS_LPSTOP = 278
+M68K_INS_LSL = 279
+M68K_INS_LSR = 280
+M68K_INS_MOVE = 281
+M68K_INS_MOVEA = 282
+M68K_INS_MOVEC = 283
+M68K_INS_MOVEM = 284
+M68K_INS_MOVEP = 285
+M68K_INS_MOVEQ = 286
+M68K_INS_MOVES = 287
+M68K_INS_MOVE16 = 288
+M68K_INS_MULS = 289
+M68K_INS_MULU = 290
+M68K_INS_NBCD = 291
+M68K_INS_NEG = 292
+M68K_INS_NEGX = 293
+M68K_INS_NOP = 294
+M68K_INS_NOT = 295
+M68K_INS_OR = 296
+M68K_INS_ORI = 297
+M68K_INS_PACK = 298
+M68K_INS_PEA = 299
+M68K_INS_PFLUSH = 300
+M68K_INS_PFLUSHA = 301
+M68K_INS_PFLUSHAN = 302
+M68K_INS_PFLUSHN = 303
+M68K_INS_PLOADR = 304
+M68K_INS_PLOADW = 305
+M68K_INS_PLPAR = 306
+M68K_INS_PLPAW = 307
+M68K_INS_PMOVE = 308
+M68K_INS_PMOVEFD = 309
+M68K_INS_PTESTR = 310
+M68K_INS_PTESTW = 311
+M68K_INS_PULSE = 312
+M68K_INS_REMS = 313
+M68K_INS_REMU = 314
+M68K_INS_RESET = 315
+M68K_INS_ROL = 316
+M68K_INS_ROR = 317
+M68K_INS_ROXL = 318
+M68K_INS_ROXR = 319
+M68K_INS_RTD = 320
+M68K_INS_RTE = 321
+M68K_INS_RTM = 322
+M68K_INS_RTR = 323
+M68K_INS_RTS = 324
+M68K_INS_SBCD = 325
+M68K_INS_ST = 326
+M68K_INS_SF = 327
+M68K_INS_SHI = 328
+M68K_INS_SLS = 329
+M68K_INS_SCC = 330
+M68K_INS_SHS = 331
+M68K_INS_SCS = 332
+M68K_INS_SLO = 333
+M68K_INS_SNE = 334
+M68K_INS_SEQ = 335
+M68K_INS_SVC = 336
+M68K_INS_SVS = 337
+M68K_INS_SPL = 338
+M68K_INS_SMI = 339
+M68K_INS_SGE = 340
+M68K_INS_SLT = 341
+M68K_INS_SGT = 342
+M68K_INS_SLE = 343
+M68K_INS_STOP = 344
+M68K_INS_SUB = 345
+M68K_INS_SUBA = 346
+M68K_INS_SUBI = 347
+M68K_INS_SUBQ = 348
+M68K_INS_SUBX = 349
+M68K_INS_SWAP = 350
+M68K_INS_TAS = 351
+M68K_INS_TRAP = 352
+M68K_INS_TRAPV = 353
+M68K_INS_TRAPT = 354
+M68K_INS_TRAPF = 355
+M68K_INS_TRAPHI = 356
+M68K_INS_TRAPLS = 357
+M68K_INS_TRAPCC = 358
+M68K_INS_TRAPHS = 359
+M68K_INS_TRAPCS = 360
+M68K_INS_TRAPLO = 361
+M68K_INS_TRAPNE = 362
+M68K_INS_TRAPEQ = 363
+M68K_INS_TRAPVC = 364
+M68K_INS_TRAPVS = 365
+M68K_INS_TRAPPL = 366
+M68K_INS_TRAPMI = 367
+M68K_INS_TRAPGE = 368
+M68K_INS_TRAPLT = 369
+M68K_INS_TRAPGT = 370
+M68K_INS_TRAPLE = 371
+M68K_INS_TST = 372
+M68K_INS_UNLK = 373
+M68K_INS_UNPK = 374
+M68K_INS_ENDING = 375
+
+M68K_GRP_INVALID = 0
+M68K_GRP_JUMP = 1
+M68K_GRP_RET = 3
+M68K_GRP_IRET = 5
+M68K_GRP_BRANCH_RELATIVE = 7
+M68K_GRP_ENDING = 8
diff --git a/capstone/bindings/python/capstone/mips.py b/capstone/bindings/python/capstone/mips.py
new file mode 100644
index 000000000..44513d252
--- /dev/null
+++ b/capstone/bindings/python/capstone/mips.py
@@ -0,0 +1,48 @@
+# Capstone Python bindings, by Nguyen Anh Quynnh <aquynh@gmail.com>
+
+import ctypes
+from . import copy_ctypes_list
+from .mips_const import *
+
+# define the API
+class MipsOpMem(ctypes.Structure):
+ _fields_ = (
+ ('base', ctypes.c_uint),
+ ('disp', ctypes.c_int64),
+ )
+
+class MipsOpValue(ctypes.Union):
+ _fields_ = (
+ ('reg', ctypes.c_uint),
+ ('imm', ctypes.c_int64),
+ ('mem', MipsOpMem),
+ )
+
+class MipsOp(ctypes.Structure):
+ _fields_ = (
+ ('type', ctypes.c_uint),
+ ('value', MipsOpValue),
+ )
+
+ @property
+ def imm(self):
+ return self.value.imm
+
+ @property
+ def reg(self):
+ return self.value.reg
+
+ @property
+ def mem(self):
+ return self.value.mem
+
+
+class CsMips(ctypes.Structure):
+ _fields_ = (
+ ('op_count', ctypes.c_uint8),
+ ('operands', MipsOp * 10),
+ )
+
+def get_arch_info(a):
+ return copy_ctypes_list(a.operands[:a.op_count])
+
diff --git a/capstone/bindings/python/capstone/mips_const.py b/capstone/bindings/python/capstone/mips_const.py
new file mode 100644
index 000000000..af2f2094b
--- /dev/null
+++ b/capstone/bindings/python/capstone/mips_const.py
@@ -0,0 +1,861 @@
+# For Capstone Engine. AUTO-GENERATED FILE, DO NOT EDIT [mips_const.py]
+
+MIPS_OP_INVALID = 0
+MIPS_OP_REG = 1
+MIPS_OP_IMM = 2
+MIPS_OP_MEM = 3
+
+MIPS_REG_INVALID = 0
+MIPS_REG_PC = 1
+MIPS_REG_0 = 2
+MIPS_REG_1 = 3
+MIPS_REG_2 = 4
+MIPS_REG_3 = 5
+MIPS_REG_4 = 6
+MIPS_REG_5 = 7
+MIPS_REG_6 = 8
+MIPS_REG_7 = 9
+MIPS_REG_8 = 10
+MIPS_REG_9 = 11
+MIPS_REG_10 = 12
+MIPS_REG_11 = 13
+MIPS_REG_12 = 14
+MIPS_REG_13 = 15
+MIPS_REG_14 = 16
+MIPS_REG_15 = 17
+MIPS_REG_16 = 18
+MIPS_REG_17 = 19
+MIPS_REG_18 = 20
+MIPS_REG_19 = 21
+MIPS_REG_20 = 22
+MIPS_REG_21 = 23
+MIPS_REG_22 = 24
+MIPS_REG_23 = 25
+MIPS_REG_24 = 26
+MIPS_REG_25 = 27
+MIPS_REG_26 = 28
+MIPS_REG_27 = 29
+MIPS_REG_28 = 30
+MIPS_REG_29 = 31
+MIPS_REG_30 = 32
+MIPS_REG_31 = 33
+MIPS_REG_DSPCCOND = 34
+MIPS_REG_DSPCARRY = 35
+MIPS_REG_DSPEFI = 36
+MIPS_REG_DSPOUTFLAG = 37
+MIPS_REG_DSPOUTFLAG16_19 = 38
+MIPS_REG_DSPOUTFLAG20 = 39
+MIPS_REG_DSPOUTFLAG21 = 40
+MIPS_REG_DSPOUTFLAG22 = 41
+MIPS_REG_DSPOUTFLAG23 = 42
+MIPS_REG_DSPPOS = 43
+MIPS_REG_DSPSCOUNT = 44
+MIPS_REG_AC0 = 45
+MIPS_REG_AC1 = 46
+MIPS_REG_AC2 = 47
+MIPS_REG_AC3 = 48
+MIPS_REG_CC0 = 49
+MIPS_REG_CC1 = 50
+MIPS_REG_CC2 = 51
+MIPS_REG_CC3 = 52
+MIPS_REG_CC4 = 53
+MIPS_REG_CC5 = 54
+MIPS_REG_CC6 = 55
+MIPS_REG_CC7 = 56
+MIPS_REG_F0 = 57
+MIPS_REG_F1 = 58
+MIPS_REG_F2 = 59
+MIPS_REG_F3 = 60
+MIPS_REG_F4 = 61
+MIPS_REG_F5 = 62
+MIPS_REG_F6 = 63
+MIPS_REG_F7 = 64
+MIPS_REG_F8 = 65
+MIPS_REG_F9 = 66
+MIPS_REG_F10 = 67
+MIPS_REG_F11 = 68
+MIPS_REG_F12 = 69
+MIPS_REG_F13 = 70
+MIPS_REG_F14 = 71
+MIPS_REG_F15 = 72
+MIPS_REG_F16 = 73
+MIPS_REG_F17 = 74
+MIPS_REG_F18 = 75
+MIPS_REG_F19 = 76
+MIPS_REG_F20 = 77
+MIPS_REG_F21 = 78
+MIPS_REG_F22 = 79
+MIPS_REG_F23 = 80
+MIPS_REG_F24 = 81
+MIPS_REG_F25 = 82
+MIPS_REG_F26 = 83
+MIPS_REG_F27 = 84
+MIPS_REG_F28 = 85
+MIPS_REG_F29 = 86
+MIPS_REG_F30 = 87
+MIPS_REG_F31 = 88
+MIPS_REG_FCC0 = 89
+MIPS_REG_FCC1 = 90
+MIPS_REG_FCC2 = 91
+MIPS_REG_FCC3 = 92
+MIPS_REG_FCC4 = 93
+MIPS_REG_FCC5 = 94
+MIPS_REG_FCC6 = 95
+MIPS_REG_FCC7 = 96
+MIPS_REG_W0 = 97
+MIPS_REG_W1 = 98
+MIPS_REG_W2 = 99
+MIPS_REG_W3 = 100
+MIPS_REG_W4 = 101
+MIPS_REG_W5 = 102
+MIPS_REG_W6 = 103
+MIPS_REG_W7 = 104
+MIPS_REG_W8 = 105
+MIPS_REG_W9 = 106
+MIPS_REG_W10 = 107
+MIPS_REG_W11 = 108
+MIPS_REG_W12 = 109
+MIPS_REG_W13 = 110
+MIPS_REG_W14 = 111
+MIPS_REG_W15 = 112
+MIPS_REG_W16 = 113
+MIPS_REG_W17 = 114
+MIPS_REG_W18 = 115
+MIPS_REG_W19 = 116
+MIPS_REG_W20 = 117
+MIPS_REG_W21 = 118
+MIPS_REG_W22 = 119
+MIPS_REG_W23 = 120
+MIPS_REG_W24 = 121
+MIPS_REG_W25 = 122
+MIPS_REG_W26 = 123
+MIPS_REG_W27 = 124
+MIPS_REG_W28 = 125
+MIPS_REG_W29 = 126
+MIPS_REG_W30 = 127
+MIPS_REG_W31 = 128
+MIPS_REG_HI = 129
+MIPS_REG_LO = 130
+MIPS_REG_P0 = 131
+MIPS_REG_P1 = 132
+MIPS_REG_P2 = 133
+MIPS_REG_MPL0 = 134
+MIPS_REG_MPL1 = 135
+MIPS_REG_MPL2 = 136
+MIPS_REG_ENDING = 137
+MIPS_REG_ZERO = MIPS_REG_0
+MIPS_REG_AT = MIPS_REG_1
+MIPS_REG_V0 = MIPS_REG_2
+MIPS_REG_V1 = MIPS_REG_3
+MIPS_REG_A0 = MIPS_REG_4
+MIPS_REG_A1 = MIPS_REG_5
+MIPS_REG_A2 = MIPS_REG_6
+MIPS_REG_A3 = MIPS_REG_7
+MIPS_REG_T0 = MIPS_REG_8
+MIPS_REG_T1 = MIPS_REG_9
+MIPS_REG_T2 = MIPS_REG_10
+MIPS_REG_T3 = MIPS_REG_11
+MIPS_REG_T4 = MIPS_REG_12
+MIPS_REG_T5 = MIPS_REG_13
+MIPS_REG_T6 = MIPS_REG_14
+MIPS_REG_T7 = MIPS_REG_15
+MIPS_REG_S0 = MIPS_REG_16
+MIPS_REG_S1 = MIPS_REG_17
+MIPS_REG_S2 = MIPS_REG_18
+MIPS_REG_S3 = MIPS_REG_19
+MIPS_REG_S4 = MIPS_REG_20
+MIPS_REG_S5 = MIPS_REG_21
+MIPS_REG_S6 = MIPS_REG_22
+MIPS_REG_S7 = MIPS_REG_23
+MIPS_REG_T8 = MIPS_REG_24
+MIPS_REG_T9 = MIPS_REG_25
+MIPS_REG_K0 = MIPS_REG_26
+MIPS_REG_K1 = MIPS_REG_27
+MIPS_REG_GP = MIPS_REG_28
+MIPS_REG_SP = MIPS_REG_29
+MIPS_REG_FP = MIPS_REG_30
+MIPS_REG_S8 = MIPS_REG_30
+MIPS_REG_RA = MIPS_REG_31
+MIPS_REG_HI0 = MIPS_REG_AC0
+MIPS_REG_HI1 = MIPS_REG_AC1
+MIPS_REG_HI2 = MIPS_REG_AC2
+MIPS_REG_HI3 = MIPS_REG_AC3
+MIPS_REG_LO0 = MIPS_REG_HI0
+MIPS_REG_LO1 = MIPS_REG_HI1
+MIPS_REG_LO2 = MIPS_REG_HI2
+MIPS_REG_LO3 = MIPS_REG_HI3
+
+MIPS_INS_INVALID = 0
+MIPS_INS_ABSQ_S = 1
+MIPS_INS_ADD = 2
+MIPS_INS_ADDIUPC = 3
+MIPS_INS_ADDIUR1SP = 4
+MIPS_INS_ADDIUR2 = 5
+MIPS_INS_ADDIUS5 = 6
+MIPS_INS_ADDIUSP = 7
+MIPS_INS_ADDQH = 8
+MIPS_INS_ADDQH_R = 9
+MIPS_INS_ADDQ = 10
+MIPS_INS_ADDQ_S = 11
+MIPS_INS_ADDSC = 12
+MIPS_INS_ADDS_A = 13
+MIPS_INS_ADDS_S = 14
+MIPS_INS_ADDS_U = 15
+MIPS_INS_ADDU16 = 16
+MIPS_INS_ADDUH = 17
+MIPS_INS_ADDUH_R = 18
+MIPS_INS_ADDU = 19
+MIPS_INS_ADDU_S = 20
+MIPS_INS_ADDVI = 21
+MIPS_INS_ADDV = 22
+MIPS_INS_ADDWC = 23
+MIPS_INS_ADD_A = 24
+MIPS_INS_ADDI = 25
+MIPS_INS_ADDIU = 26
+MIPS_INS_ALIGN = 27
+MIPS_INS_ALUIPC = 28
+MIPS_INS_AND = 29
+MIPS_INS_AND16 = 30
+MIPS_INS_ANDI16 = 31
+MIPS_INS_ANDI = 32
+MIPS_INS_APPEND = 33
+MIPS_INS_ASUB_S = 34
+MIPS_INS_ASUB_U = 35
+MIPS_INS_AUI = 36
+MIPS_INS_AUIPC = 37
+MIPS_INS_AVER_S = 38
+MIPS_INS_AVER_U = 39
+MIPS_INS_AVE_S = 40
+MIPS_INS_AVE_U = 41
+MIPS_INS_B16 = 42
+MIPS_INS_BADDU = 43
+MIPS_INS_BAL = 44
+MIPS_INS_BALC = 45
+MIPS_INS_BALIGN = 46
+MIPS_INS_BBIT0 = 47
+MIPS_INS_BBIT032 = 48
+MIPS_INS_BBIT1 = 49
+MIPS_INS_BBIT132 = 50
+MIPS_INS_BC = 51
+MIPS_INS_BC0F = 52
+MIPS_INS_BC0FL = 53
+MIPS_INS_BC0T = 54
+MIPS_INS_BC0TL = 55
+MIPS_INS_BC1EQZ = 56
+MIPS_INS_BC1F = 57
+MIPS_INS_BC1FL = 58
+MIPS_INS_BC1NEZ = 59
+MIPS_INS_BC1T = 60
+MIPS_INS_BC1TL = 61
+MIPS_INS_BC2EQZ = 62
+MIPS_INS_BC2F = 63
+MIPS_INS_BC2FL = 64
+MIPS_INS_BC2NEZ = 65
+MIPS_INS_BC2T = 66
+MIPS_INS_BC2TL = 67
+MIPS_INS_BC3F = 68
+MIPS_INS_BC3FL = 69
+MIPS_INS_BC3T = 70
+MIPS_INS_BC3TL = 71
+MIPS_INS_BCLRI = 72
+MIPS_INS_BCLR = 73
+MIPS_INS_BEQ = 74
+MIPS_INS_BEQC = 75
+MIPS_INS_BEQL = 76
+MIPS_INS_BEQZ16 = 77
+MIPS_INS_BEQZALC = 78
+MIPS_INS_BEQZC = 79
+MIPS_INS_BGEC = 80
+MIPS_INS_BGEUC = 81
+MIPS_INS_BGEZ = 82
+MIPS_INS_BGEZAL = 83
+MIPS_INS_BGEZALC = 84
+MIPS_INS_BGEZALL = 85
+MIPS_INS_BGEZALS = 86
+MIPS_INS_BGEZC = 87
+MIPS_INS_BGEZL = 88
+MIPS_INS_BGTZ = 89
+MIPS_INS_BGTZALC = 90
+MIPS_INS_BGTZC = 91
+MIPS_INS_BGTZL = 92
+MIPS_INS_BINSLI = 93
+MIPS_INS_BINSL = 94
+MIPS_INS_BINSRI = 95
+MIPS_INS_BINSR = 96
+MIPS_INS_BITREV = 97
+MIPS_INS_BITSWAP = 98
+MIPS_INS_BLEZ = 99
+MIPS_INS_BLEZALC = 100
+MIPS_INS_BLEZC = 101
+MIPS_INS_BLEZL = 102
+MIPS_INS_BLTC = 103
+MIPS_INS_BLTUC = 104
+MIPS_INS_BLTZ = 105
+MIPS_INS_BLTZAL = 106
+MIPS_INS_BLTZALC = 107
+MIPS_INS_BLTZALL = 108
+MIPS_INS_BLTZALS = 109
+MIPS_INS_BLTZC = 110
+MIPS_INS_BLTZL = 111
+MIPS_INS_BMNZI = 112
+MIPS_INS_BMNZ = 113
+MIPS_INS_BMZI = 114
+MIPS_INS_BMZ = 115
+MIPS_INS_BNE = 116
+MIPS_INS_BNEC = 117
+MIPS_INS_BNEGI = 118
+MIPS_INS_BNEG = 119
+MIPS_INS_BNEL = 120
+MIPS_INS_BNEZ16 = 121
+MIPS_INS_BNEZALC = 122
+MIPS_INS_BNEZC = 123
+MIPS_INS_BNVC = 124
+MIPS_INS_BNZ = 125
+MIPS_INS_BOVC = 126
+MIPS_INS_BPOSGE32 = 127
+MIPS_INS_BREAK = 128
+MIPS_INS_BREAK16 = 129
+MIPS_INS_BSELI = 130
+MIPS_INS_BSEL = 131
+MIPS_INS_BSETI = 132
+MIPS_INS_BSET = 133
+MIPS_INS_BZ = 134
+MIPS_INS_BEQZ = 135
+MIPS_INS_B = 136
+MIPS_INS_BNEZ = 137
+MIPS_INS_BTEQZ = 138
+MIPS_INS_BTNEZ = 139
+MIPS_INS_CACHE = 140
+MIPS_INS_CEIL = 141
+MIPS_INS_CEQI = 142
+MIPS_INS_CEQ = 143
+MIPS_INS_CFC1 = 144
+MIPS_INS_CFCMSA = 145
+MIPS_INS_CINS = 146
+MIPS_INS_CINS32 = 147
+MIPS_INS_CLASS = 148
+MIPS_INS_CLEI_S = 149
+MIPS_INS_CLEI_U = 150
+MIPS_INS_CLE_S = 151
+MIPS_INS_CLE_U = 152
+MIPS_INS_CLO = 153
+MIPS_INS_CLTI_S = 154
+MIPS_INS_CLTI_U = 155
+MIPS_INS_CLT_S = 156
+MIPS_INS_CLT_U = 157
+MIPS_INS_CLZ = 158
+MIPS_INS_CMPGDU = 159
+MIPS_INS_CMPGU = 160
+MIPS_INS_CMPU = 161
+MIPS_INS_CMP = 162
+MIPS_INS_COPY_S = 163
+MIPS_INS_COPY_U = 164
+MIPS_INS_CTC1 = 165
+MIPS_INS_CTCMSA = 166
+MIPS_INS_CVT = 167
+MIPS_INS_C = 168
+MIPS_INS_CMPI = 169
+MIPS_INS_DADD = 170
+MIPS_INS_DADDI = 171
+MIPS_INS_DADDIU = 172
+MIPS_INS_DADDU = 173
+MIPS_INS_DAHI = 174
+MIPS_INS_DALIGN = 175
+MIPS_INS_DATI = 176
+MIPS_INS_DAUI = 177
+MIPS_INS_DBITSWAP = 178
+MIPS_INS_DCLO = 179
+MIPS_INS_DCLZ = 180
+MIPS_INS_DDIV = 181
+MIPS_INS_DDIVU = 182
+MIPS_INS_DERET = 183
+MIPS_INS_DEXT = 184
+MIPS_INS_DEXTM = 185
+MIPS_INS_DEXTU = 186
+MIPS_INS_DI = 187
+MIPS_INS_DINS = 188
+MIPS_INS_DINSM = 189
+MIPS_INS_DINSU = 190
+MIPS_INS_DIV = 191
+MIPS_INS_DIVU = 192
+MIPS_INS_DIV_S = 193
+MIPS_INS_DIV_U = 194
+MIPS_INS_DLSA = 195
+MIPS_INS_DMFC0 = 196
+MIPS_INS_DMFC1 = 197
+MIPS_INS_DMFC2 = 198
+MIPS_INS_DMOD = 199
+MIPS_INS_DMODU = 200
+MIPS_INS_DMTC0 = 201
+MIPS_INS_DMTC1 = 202
+MIPS_INS_DMTC2 = 203
+MIPS_INS_DMUH = 204
+MIPS_INS_DMUHU = 205
+MIPS_INS_DMUL = 206
+MIPS_INS_DMULT = 207
+MIPS_INS_DMULTU = 208
+MIPS_INS_DMULU = 209
+MIPS_INS_DOTP_S = 210
+MIPS_INS_DOTP_U = 211
+MIPS_INS_DPADD_S = 212
+MIPS_INS_DPADD_U = 213
+MIPS_INS_DPAQX_SA = 214
+MIPS_INS_DPAQX_S = 215
+MIPS_INS_DPAQ_SA = 216
+MIPS_INS_DPAQ_S = 217
+MIPS_INS_DPAU = 218
+MIPS_INS_DPAX = 219
+MIPS_INS_DPA = 220
+MIPS_INS_DPOP = 221
+MIPS_INS_DPSQX_SA = 222
+MIPS_INS_DPSQX_S = 223
+MIPS_INS_DPSQ_SA = 224
+MIPS_INS_DPSQ_S = 225
+MIPS_INS_DPSUB_S = 226
+MIPS_INS_DPSUB_U = 227
+MIPS_INS_DPSU = 228
+MIPS_INS_DPSX = 229
+MIPS_INS_DPS = 230
+MIPS_INS_DROTR = 231
+MIPS_INS_DROTR32 = 232
+MIPS_INS_DROTRV = 233
+MIPS_INS_DSBH = 234
+MIPS_INS_DSHD = 235
+MIPS_INS_DSLL = 236
+MIPS_INS_DSLL32 = 237
+MIPS_INS_DSLLV = 238
+MIPS_INS_DSRA = 239
+MIPS_INS_DSRA32 = 240
+MIPS_INS_DSRAV = 241
+MIPS_INS_DSRL = 242
+MIPS_INS_DSRL32 = 243
+MIPS_INS_DSRLV = 244
+MIPS_INS_DSUB = 245
+MIPS_INS_DSUBU = 246
+MIPS_INS_EHB = 247
+MIPS_INS_EI = 248
+MIPS_INS_ERET = 249
+MIPS_INS_EXT = 250
+MIPS_INS_EXTP = 251
+MIPS_INS_EXTPDP = 252
+MIPS_INS_EXTPDPV = 253
+MIPS_INS_EXTPV = 254
+MIPS_INS_EXTRV_RS = 255
+MIPS_INS_EXTRV_R = 256
+MIPS_INS_EXTRV_S = 257
+MIPS_INS_EXTRV = 258
+MIPS_INS_EXTR_RS = 259
+MIPS_INS_EXTR_R = 260
+MIPS_INS_EXTR_S = 261
+MIPS_INS_EXTR = 262
+MIPS_INS_EXTS = 263
+MIPS_INS_EXTS32 = 264
+MIPS_INS_ABS = 265
+MIPS_INS_FADD = 266
+MIPS_INS_FCAF = 267
+MIPS_INS_FCEQ = 268
+MIPS_INS_FCLASS = 269
+MIPS_INS_FCLE = 270
+MIPS_INS_FCLT = 271
+MIPS_INS_FCNE = 272
+MIPS_INS_FCOR = 273
+MIPS_INS_FCUEQ = 274
+MIPS_INS_FCULE = 275
+MIPS_INS_FCULT = 276
+MIPS_INS_FCUNE = 277
+MIPS_INS_FCUN = 278
+MIPS_INS_FDIV = 279
+MIPS_INS_FEXDO = 280
+MIPS_INS_FEXP2 = 281
+MIPS_INS_FEXUPL = 282
+MIPS_INS_FEXUPR = 283
+MIPS_INS_FFINT_S = 284
+MIPS_INS_FFINT_U = 285
+MIPS_INS_FFQL = 286
+MIPS_INS_FFQR = 287
+MIPS_INS_FILL = 288
+MIPS_INS_FLOG2 = 289
+MIPS_INS_FLOOR = 290
+MIPS_INS_FMADD = 291
+MIPS_INS_FMAX_A = 292
+MIPS_INS_FMAX = 293
+MIPS_INS_FMIN_A = 294
+MIPS_INS_FMIN = 295
+MIPS_INS_MOV = 296
+MIPS_INS_FMSUB = 297
+MIPS_INS_FMUL = 298
+MIPS_INS_MUL = 299
+MIPS_INS_NEG = 300
+MIPS_INS_FRCP = 301
+MIPS_INS_FRINT = 302
+MIPS_INS_FRSQRT = 303
+MIPS_INS_FSAF = 304
+MIPS_INS_FSEQ = 305
+MIPS_INS_FSLE = 306
+MIPS_INS_FSLT = 307
+MIPS_INS_FSNE = 308
+MIPS_INS_FSOR = 309
+MIPS_INS_FSQRT = 310
+MIPS_INS_SQRT = 311
+MIPS_INS_FSUB = 312
+MIPS_INS_SUB = 313
+MIPS_INS_FSUEQ = 314
+MIPS_INS_FSULE = 315
+MIPS_INS_FSULT = 316
+MIPS_INS_FSUNE = 317
+MIPS_INS_FSUN = 318
+MIPS_INS_FTINT_S = 319
+MIPS_INS_FTINT_U = 320
+MIPS_INS_FTQ = 321
+MIPS_INS_FTRUNC_S = 322
+MIPS_INS_FTRUNC_U = 323
+MIPS_INS_HADD_S = 324
+MIPS_INS_HADD_U = 325
+MIPS_INS_HSUB_S = 326
+MIPS_INS_HSUB_U = 327
+MIPS_INS_ILVEV = 328
+MIPS_INS_ILVL = 329
+MIPS_INS_ILVOD = 330
+MIPS_INS_ILVR = 331
+MIPS_INS_INS = 332
+MIPS_INS_INSERT = 333
+MIPS_INS_INSV = 334
+MIPS_INS_INSVE = 335
+MIPS_INS_J = 336
+MIPS_INS_JAL = 337
+MIPS_INS_JALR = 338
+MIPS_INS_JALRS16 = 339
+MIPS_INS_JALRS = 340
+MIPS_INS_JALS = 341
+MIPS_INS_JALX = 342
+MIPS_INS_JIALC = 343
+MIPS_INS_JIC = 344
+MIPS_INS_JR = 345
+MIPS_INS_JR16 = 346
+MIPS_INS_JRADDIUSP = 347
+MIPS_INS_JRC = 348
+MIPS_INS_JALRC = 349
+MIPS_INS_LB = 350
+MIPS_INS_LBU16 = 351
+MIPS_INS_LBUX = 352
+MIPS_INS_LBU = 353
+MIPS_INS_LD = 354
+MIPS_INS_LDC1 = 355
+MIPS_INS_LDC2 = 356
+MIPS_INS_LDC3 = 357
+MIPS_INS_LDI = 358
+MIPS_INS_LDL = 359
+MIPS_INS_LDPC = 360
+MIPS_INS_LDR = 361
+MIPS_INS_LDXC1 = 362
+MIPS_INS_LH = 363
+MIPS_INS_LHU16 = 364
+MIPS_INS_LHX = 365
+MIPS_INS_LHU = 366
+MIPS_INS_LI16 = 367
+MIPS_INS_LL = 368
+MIPS_INS_LLD = 369
+MIPS_INS_LSA = 370
+MIPS_INS_LUXC1 = 371
+MIPS_INS_LUI = 372
+MIPS_INS_LW = 373
+MIPS_INS_LW16 = 374
+MIPS_INS_LWC1 = 375
+MIPS_INS_LWC2 = 376
+MIPS_INS_LWC3 = 377
+MIPS_INS_LWL = 378
+MIPS_INS_LWM16 = 379
+MIPS_INS_LWM32 = 380
+MIPS_INS_LWPC = 381
+MIPS_INS_LWP = 382
+MIPS_INS_LWR = 383
+MIPS_INS_LWUPC = 384
+MIPS_INS_LWU = 385
+MIPS_INS_LWX = 386
+MIPS_INS_LWXC1 = 387
+MIPS_INS_LWXS = 388
+MIPS_INS_LI = 389
+MIPS_INS_MADD = 390
+MIPS_INS_MADDF = 391
+MIPS_INS_MADDR_Q = 392
+MIPS_INS_MADDU = 393
+MIPS_INS_MADDV = 394
+MIPS_INS_MADD_Q = 395
+MIPS_INS_MAQ_SA = 396
+MIPS_INS_MAQ_S = 397
+MIPS_INS_MAXA = 398
+MIPS_INS_MAXI_S = 399
+MIPS_INS_MAXI_U = 400
+MIPS_INS_MAX_A = 401
+MIPS_INS_MAX = 402
+MIPS_INS_MAX_S = 403
+MIPS_INS_MAX_U = 404
+MIPS_INS_MFC0 = 405
+MIPS_INS_MFC1 = 406
+MIPS_INS_MFC2 = 407
+MIPS_INS_MFHC1 = 408
+MIPS_INS_MFHI = 409
+MIPS_INS_MFLO = 410
+MIPS_INS_MINA = 411
+MIPS_INS_MINI_S = 412
+MIPS_INS_MINI_U = 413
+MIPS_INS_MIN_A = 414
+MIPS_INS_MIN = 415
+MIPS_INS_MIN_S = 416
+MIPS_INS_MIN_U = 417
+MIPS_INS_MOD = 418
+MIPS_INS_MODSUB = 419
+MIPS_INS_MODU = 420
+MIPS_INS_MOD_S = 421
+MIPS_INS_MOD_U = 422
+MIPS_INS_MOVE = 423
+MIPS_INS_MOVEP = 424
+MIPS_INS_MOVF = 425
+MIPS_INS_MOVN = 426
+MIPS_INS_MOVT = 427
+MIPS_INS_MOVZ = 428
+MIPS_INS_MSUB = 429
+MIPS_INS_MSUBF = 430
+MIPS_INS_MSUBR_Q = 431
+MIPS_INS_MSUBU = 432
+MIPS_INS_MSUBV = 433
+MIPS_INS_MSUB_Q = 434
+MIPS_INS_MTC0 = 435
+MIPS_INS_MTC1 = 436
+MIPS_INS_MTC2 = 437
+MIPS_INS_MTHC1 = 438
+MIPS_INS_MTHI = 439
+MIPS_INS_MTHLIP = 440
+MIPS_INS_MTLO = 441
+MIPS_INS_MTM0 = 442
+MIPS_INS_MTM1 = 443
+MIPS_INS_MTM2 = 444
+MIPS_INS_MTP0 = 445
+MIPS_INS_MTP1 = 446
+MIPS_INS_MTP2 = 447
+MIPS_INS_MUH = 448
+MIPS_INS_MUHU = 449
+MIPS_INS_MULEQ_S = 450
+MIPS_INS_MULEU_S = 451
+MIPS_INS_MULQ_RS = 452
+MIPS_INS_MULQ_S = 453
+MIPS_INS_MULR_Q = 454
+MIPS_INS_MULSAQ_S = 455
+MIPS_INS_MULSA = 456
+MIPS_INS_MULT = 457
+MIPS_INS_MULTU = 458
+MIPS_INS_MULU = 459
+MIPS_INS_MULV = 460
+MIPS_INS_MUL_Q = 461
+MIPS_INS_MUL_S = 462
+MIPS_INS_NLOC = 463
+MIPS_INS_NLZC = 464
+MIPS_INS_NMADD = 465
+MIPS_INS_NMSUB = 466
+MIPS_INS_NOR = 467
+MIPS_INS_NORI = 468
+MIPS_INS_NOT16 = 469
+MIPS_INS_NOT = 470
+MIPS_INS_OR = 471
+MIPS_INS_OR16 = 472
+MIPS_INS_ORI = 473
+MIPS_INS_PACKRL = 474
+MIPS_INS_PAUSE = 475
+MIPS_INS_PCKEV = 476
+MIPS_INS_PCKOD = 477
+MIPS_INS_PCNT = 478
+MIPS_INS_PICK = 479
+MIPS_INS_POP = 480
+MIPS_INS_PRECEQU = 481
+MIPS_INS_PRECEQ = 482
+MIPS_INS_PRECEU = 483
+MIPS_INS_PRECRQU_S = 484
+MIPS_INS_PRECRQ = 485
+MIPS_INS_PRECRQ_RS = 486
+MIPS_INS_PRECR = 487
+MIPS_INS_PRECR_SRA = 488
+MIPS_INS_PRECR_SRA_R = 489
+MIPS_INS_PREF = 490
+MIPS_INS_PREPEND = 491
+MIPS_INS_RADDU = 492
+MIPS_INS_RDDSP = 493
+MIPS_INS_RDHWR = 494
+MIPS_INS_REPLV = 495
+MIPS_INS_REPL = 496
+MIPS_INS_RINT = 497
+MIPS_INS_ROTR = 498
+MIPS_INS_ROTRV = 499
+MIPS_INS_ROUND = 500
+MIPS_INS_SAT_S = 501
+MIPS_INS_SAT_U = 502
+MIPS_INS_SB = 503
+MIPS_INS_SB16 = 504
+MIPS_INS_SC = 505
+MIPS_INS_SCD = 506
+MIPS_INS_SD = 507
+MIPS_INS_SDBBP = 508
+MIPS_INS_SDBBP16 = 509
+MIPS_INS_SDC1 = 510
+MIPS_INS_SDC2 = 511
+MIPS_INS_SDC3 = 512
+MIPS_INS_SDL = 513
+MIPS_INS_SDR = 514
+MIPS_INS_SDXC1 = 515
+MIPS_INS_SEB = 516
+MIPS_INS_SEH = 517
+MIPS_INS_SELEQZ = 518
+MIPS_INS_SELNEZ = 519
+MIPS_INS_SEL = 520
+MIPS_INS_SEQ = 521
+MIPS_INS_SEQI = 522
+MIPS_INS_SH = 523
+MIPS_INS_SH16 = 524
+MIPS_INS_SHF = 525
+MIPS_INS_SHILO = 526
+MIPS_INS_SHILOV = 527
+MIPS_INS_SHLLV = 528
+MIPS_INS_SHLLV_S = 529
+MIPS_INS_SHLL = 530
+MIPS_INS_SHLL_S = 531
+MIPS_INS_SHRAV = 532
+MIPS_INS_SHRAV_R = 533
+MIPS_INS_SHRA = 534
+MIPS_INS_SHRA_R = 535
+MIPS_INS_SHRLV = 536
+MIPS_INS_SHRL = 537
+MIPS_INS_SLDI = 538
+MIPS_INS_SLD = 539
+MIPS_INS_SLL = 540
+MIPS_INS_SLL16 = 541
+MIPS_INS_SLLI = 542
+MIPS_INS_SLLV = 543
+MIPS_INS_SLT = 544
+MIPS_INS_SLTI = 545
+MIPS_INS_SLTIU = 546
+MIPS_INS_SLTU = 547
+MIPS_INS_SNE = 548
+MIPS_INS_SNEI = 549
+MIPS_INS_SPLATI = 550
+MIPS_INS_SPLAT = 551
+MIPS_INS_SRA = 552
+MIPS_INS_SRAI = 553
+MIPS_INS_SRARI = 554
+MIPS_INS_SRAR = 555
+MIPS_INS_SRAV = 556
+MIPS_INS_SRL = 557
+MIPS_INS_SRL16 = 558
+MIPS_INS_SRLI = 559
+MIPS_INS_SRLRI = 560
+MIPS_INS_SRLR = 561
+MIPS_INS_SRLV = 562
+MIPS_INS_SSNOP = 563
+MIPS_INS_ST = 564
+MIPS_INS_SUBQH = 565
+MIPS_INS_SUBQH_R = 566
+MIPS_INS_SUBQ = 567
+MIPS_INS_SUBQ_S = 568
+MIPS_INS_SUBSUS_U = 569
+MIPS_INS_SUBSUU_S = 570
+MIPS_INS_SUBS_S = 571
+MIPS_INS_SUBS_U = 572
+MIPS_INS_SUBU16 = 573
+MIPS_INS_SUBUH = 574
+MIPS_INS_SUBUH_R = 575
+MIPS_INS_SUBU = 576
+MIPS_INS_SUBU_S = 577
+MIPS_INS_SUBVI = 578
+MIPS_INS_SUBV = 579
+MIPS_INS_SUXC1 = 580
+MIPS_INS_SW = 581
+MIPS_INS_SW16 = 582
+MIPS_INS_SWC1 = 583
+MIPS_INS_SWC2 = 584
+MIPS_INS_SWC3 = 585
+MIPS_INS_SWL = 586
+MIPS_INS_SWM16 = 587
+MIPS_INS_SWM32 = 588
+MIPS_INS_SWP = 589
+MIPS_INS_SWR = 590
+MIPS_INS_SWXC1 = 591
+MIPS_INS_SYNC = 592
+MIPS_INS_SYNCI = 593
+MIPS_INS_SYSCALL = 594
+MIPS_INS_TEQ = 595
+MIPS_INS_TEQI = 596
+MIPS_INS_TGE = 597
+MIPS_INS_TGEI = 598
+MIPS_INS_TGEIU = 599
+MIPS_INS_TGEU = 600
+MIPS_INS_TLBP = 601
+MIPS_INS_TLBR = 602
+MIPS_INS_TLBWI = 603
+MIPS_INS_TLBWR = 604
+MIPS_INS_TLT = 605
+MIPS_INS_TLTI = 606
+MIPS_INS_TLTIU = 607
+MIPS_INS_TLTU = 608
+MIPS_INS_TNE = 609
+MIPS_INS_TNEI = 610
+MIPS_INS_TRUNC = 611
+MIPS_INS_V3MULU = 612
+MIPS_INS_VMM0 = 613
+MIPS_INS_VMULU = 614
+MIPS_INS_VSHF = 615
+MIPS_INS_WAIT = 616
+MIPS_INS_WRDSP = 617
+MIPS_INS_WSBH = 618
+MIPS_INS_XOR = 619
+MIPS_INS_XOR16 = 620
+MIPS_INS_XORI = 621
+
+# some alias instructions
+MIPS_INS_NOP = 622
+MIPS_INS_NEGU = 623
+
+# special instructions
+MIPS_INS_JALR_HB = 624
+MIPS_INS_JR_HB = 625
+MIPS_INS_ENDING = 626
+
+MIPS_GRP_INVALID = 0
+MIPS_GRP_JUMP = 1
+MIPS_GRP_CALL = 2
+MIPS_GRP_RET = 3
+MIPS_GRP_INT = 4
+MIPS_GRP_IRET = 5
+MIPS_GRP_PRIVILEGE = 6
+MIPS_GRP_BRANCH_RELATIVE = 7
+MIPS_GRP_BITCOUNT = 128
+MIPS_GRP_DSP = 129
+MIPS_GRP_DSPR2 = 130
+MIPS_GRP_FPIDX = 131
+MIPS_GRP_MSA = 132
+MIPS_GRP_MIPS32R2 = 133
+MIPS_GRP_MIPS64 = 134
+MIPS_GRP_MIPS64R2 = 135
+MIPS_GRP_SEINREG = 136
+MIPS_GRP_STDENC = 137
+MIPS_GRP_SWAP = 138
+MIPS_GRP_MICROMIPS = 139
+MIPS_GRP_MIPS16MODE = 140
+MIPS_GRP_FP64BIT = 141
+MIPS_GRP_NONANSFPMATH = 142
+MIPS_GRP_NOTFP64BIT = 143
+MIPS_GRP_NOTINMICROMIPS = 144
+MIPS_GRP_NOTNACL = 145
+MIPS_GRP_NOTMIPS32R6 = 146
+MIPS_GRP_NOTMIPS64R6 = 147
+MIPS_GRP_CNMIPS = 148
+MIPS_GRP_MIPS32 = 149
+MIPS_GRP_MIPS32R6 = 150
+MIPS_GRP_MIPS64R6 = 151
+MIPS_GRP_MIPS2 = 152
+MIPS_GRP_MIPS3 = 153
+MIPS_GRP_MIPS3_32 = 154
+MIPS_GRP_MIPS3_32R2 = 155
+MIPS_GRP_MIPS4_32 = 156
+MIPS_GRP_MIPS4_32R2 = 157
+MIPS_GRP_MIPS5_32R2 = 158
+MIPS_GRP_GP32BIT = 159
+MIPS_GRP_GP64BIT = 160
+MIPS_GRP_ENDING = 161
diff --git a/capstone/bindings/python/capstone/mos65xx.py b/capstone/bindings/python/capstone/mos65xx.py
new file mode 100644
index 000000000..11b3462a5
--- /dev/null
+++ b/capstone/bindings/python/capstone/mos65xx.py
@@ -0,0 +1,45 @@
+# Capstone Python bindings, by Nguyen Anh Quynnh <aquynh@gmail.com>
+
+import ctypes
+from . import copy_ctypes_list
+from .mos65xx_const import *
+
+# define the API
+class MOS65xxOpValue(ctypes.Union):
+ _fields_ = (
+ ('reg', ctypes.c_uint),
+ ('imm', ctypes.c_uint8),
+ ('mem', ctypes.c_uint16),
+ )
+
+class MOS65xxOp(ctypes.Structure):
+ _fields_ = (
+ ('type', ctypes.c_uint),
+ ('value', MOS65xxOpValue),
+ )
+
+ @property
+ def imm(self):
+ return self.value.imm
+
+ @property
+ def reg(self):
+ return self.value.reg
+
+ @property
+ def mem(self):
+ return self.value.mem
+
+
+class CsMOS65xx(ctypes.Structure):
+ _fields_ = (
+ ('am', ctypes.c_uint),
+ ('modifies_flags', ctypes.c_uint8),
+ ('op_count', ctypes.c_uint8),
+ ('operands', MOS65xxOp * 3),
+ )
+
+def get_arch_info(a):
+ return (a.am, a.modifies_flags, copy_ctypes_list(a.operands[:a.op_count]))
+
+
diff --git a/capstone/bindings/python/capstone/mos65xx_const.py b/capstone/bindings/python/capstone/mos65xx_const.py
new file mode 100644
index 000000000..44c807a38
--- /dev/null
+++ b/capstone/bindings/python/capstone/mos65xx_const.py
@@ -0,0 +1,152 @@
+# For Capstone Engine. AUTO-GENERATED FILE, DO NOT EDIT [mos65xx_const.py]
+
+MOS65XX_REG_INVALID = 0
+MOS65XX_REG_ACC = 1
+MOS65XX_REG_X = 2
+MOS65XX_REG_Y = 3
+MOS65XX_REG_P = 4
+MOS65XX_REG_SP = 5
+MOS65XX_REG_DP = 6
+MOS65XX_REG_B = 7
+MOS65XX_REG_K = 8
+MOS65XX_REG_ENDING = 9
+
+MOS65XX_AM_NONE = 0
+MOS65XX_AM_IMP = 1
+MOS65XX_AM_ACC = 2
+MOS65XX_AM_IMM = 3
+MOS65XX_AM_REL = 4
+MOS65XX_AM_INT = 5
+MOS65XX_AM_BLOCK = 6
+MOS65XX_AM_ZP = 7
+MOS65XX_AM_ZP_X = 8
+MOS65XX_AM_ZP_Y = 9
+MOS65XX_AM_ZP_REL = 10
+MOS65XX_AM_ZP_IND = 11
+MOS65XX_AM_ZP_X_IND = 12
+MOS65XX_AM_ZP_IND_Y = 13
+MOS65XX_AM_ZP_IND_LONG = 14
+MOS65XX_AM_ZP_IND_LONG_Y = 15
+MOS65XX_AM_ABS = 16
+MOS65XX_AM_ABS_X = 17
+MOS65XX_AM_ABS_Y = 18
+MOS65XX_AM_ABS_IND = 19
+MOS65XX_AM_ABS_X_IND = 20
+MOS65XX_AM_ABS_IND_LONG = 21
+MOS65XX_AM_ABS_LONG = 22
+MOS65XX_AM_ABS_LONG_X = 23
+MOS65XX_AM_SR = 24
+MOS65XX_AM_SR_IND_Y = 25
+
+MOS65XX_INS_INVALID = 0
+MOS65XX_INS_ADC = 1
+MOS65XX_INS_AND = 2
+MOS65XX_INS_ASL = 3
+MOS65XX_INS_BBR = 4
+MOS65XX_INS_BBS = 5
+MOS65XX_INS_BCC = 6
+MOS65XX_INS_BCS = 7
+MOS65XX_INS_BEQ = 8
+MOS65XX_INS_BIT = 9
+MOS65XX_INS_BMI = 10
+MOS65XX_INS_BNE = 11
+MOS65XX_INS_BPL = 12
+MOS65XX_INS_BRA = 13
+MOS65XX_INS_BRK = 14
+MOS65XX_INS_BRL = 15
+MOS65XX_INS_BVC = 16
+MOS65XX_INS_BVS = 17
+MOS65XX_INS_CLC = 18
+MOS65XX_INS_CLD = 19
+MOS65XX_INS_CLI = 20
+MOS65XX_INS_CLV = 21
+MOS65XX_INS_CMP = 22
+MOS65XX_INS_COP = 23
+MOS65XX_INS_CPX = 24
+MOS65XX_INS_CPY = 25
+MOS65XX_INS_DEC = 26
+MOS65XX_INS_DEX = 27
+MOS65XX_INS_DEY = 28
+MOS65XX_INS_EOR = 29
+MOS65XX_INS_INC = 30
+MOS65XX_INS_INX = 31
+MOS65XX_INS_INY = 32
+MOS65XX_INS_JML = 33
+MOS65XX_INS_JMP = 34
+MOS65XX_INS_JSL = 35
+MOS65XX_INS_JSR = 36
+MOS65XX_INS_LDA = 37
+MOS65XX_INS_LDX = 38
+MOS65XX_INS_LDY = 39
+MOS65XX_INS_LSR = 40
+MOS65XX_INS_MVN = 41
+MOS65XX_INS_MVP = 42
+MOS65XX_INS_NOP = 43
+MOS65XX_INS_ORA = 44
+MOS65XX_INS_PEA = 45
+MOS65XX_INS_PEI = 46
+MOS65XX_INS_PER = 47
+MOS65XX_INS_PHA = 48
+MOS65XX_INS_PHB = 49
+MOS65XX_INS_PHD = 50
+MOS65XX_INS_PHK = 51
+MOS65XX_INS_PHP = 52
+MOS65XX_INS_PHX = 53
+MOS65XX_INS_PHY = 54
+MOS65XX_INS_PLA = 55
+MOS65XX_INS_PLB = 56
+MOS65XX_INS_PLD = 57
+MOS65XX_INS_PLP = 58
+MOS65XX_INS_PLX = 59
+MOS65XX_INS_PLY = 60
+MOS65XX_INS_REP = 61
+MOS65XX_INS_RMB = 62
+MOS65XX_INS_ROL = 63
+MOS65XX_INS_ROR = 64
+MOS65XX_INS_RTI = 65
+MOS65XX_INS_RTL = 66
+MOS65XX_INS_RTS = 67
+MOS65XX_INS_SBC = 68
+MOS65XX_INS_SEC = 69
+MOS65XX_INS_SED = 70
+MOS65XX_INS_SEI = 71
+MOS65XX_INS_SEP = 72
+MOS65XX_INS_SMB = 73
+MOS65XX_INS_STA = 74
+MOS65XX_INS_STP = 75
+MOS65XX_INS_STX = 76
+MOS65XX_INS_STY = 77
+MOS65XX_INS_STZ = 78
+MOS65XX_INS_TAX = 79
+MOS65XX_INS_TAY = 80
+MOS65XX_INS_TCD = 81
+MOS65XX_INS_TCS = 82
+MOS65XX_INS_TDC = 83
+MOS65XX_INS_TRB = 84
+MOS65XX_INS_TSB = 85
+MOS65XX_INS_TSC = 86
+MOS65XX_INS_TSX = 87
+MOS65XX_INS_TXA = 88
+MOS65XX_INS_TXS = 89
+MOS65XX_INS_TXY = 90
+MOS65XX_INS_TYA = 91
+MOS65XX_INS_TYX = 92
+MOS65XX_INS_WAI = 93
+MOS65XX_INS_WDM = 94
+MOS65XX_INS_XBA = 95
+MOS65XX_INS_XCE = 96
+MOS65XX_INS_ENDING = 97
+
+MOS65XX_GRP_INVALID = 0
+MOS65XX_GRP_JUMP = 1
+MOS65XX_GRP_CALL = 2
+MOS65XX_GRP_RET = 3
+MOS65XX_GRP_INT = 4
+MOS65XX_GRP_IRET = 5
+MOS65XX_GRP_BRANCH_RELATIVE = 6
+MOS65XX_GRP_ENDING = 7
+
+MOS65XX_OP_INVALID = 0
+MOS65XX_OP_REG = 1
+MOS65XX_OP_IMM = 2
+MOS65XX_OP_MEM = 3
diff --git a/capstone/bindings/python/capstone/ppc.py b/capstone/bindings/python/capstone/ppc.py
new file mode 100644
index 000000000..6ab177db1
--- /dev/null
+++ b/capstone/bindings/python/capstone/ppc.py
@@ -0,0 +1,63 @@
+# Capstone Python bindings, by Nguyen Anh Quynnh <aquynh@gmail.com>
+
+import ctypes
+from . import copy_ctypes_list
+from .ppc_const import *
+
+# define the API
+class PpcOpMem(ctypes.Structure):
+ _fields_ = (
+ ('base', ctypes.c_uint),
+ ('disp', ctypes.c_int32),
+ )
+
+class PpcOpCrx(ctypes.Structure):
+ _fields_ = (
+ ('scale', ctypes.c_uint),
+ ('reg', ctypes.c_uint),
+ ('cond', ctypes.c_uint),
+ )
+
+class PpcOpValue(ctypes.Union):
+ _fields_ = (
+ ('reg', ctypes.c_uint),
+ ('imm', ctypes.c_int64),
+ ('mem', PpcOpMem),
+ ('crx', PpcOpCrx),
+ )
+
+class PpcOp(ctypes.Structure):
+ _fields_ = (
+ ('type', ctypes.c_uint),
+ ('value', PpcOpValue),
+ )
+
+ @property
+ def imm(self):
+ return self.value.imm
+
+ @property
+ def reg(self):
+ return self.value.reg
+
+ @property
+ def mem(self):
+ return self.value.mem
+
+ @property
+ def crx(self):
+ return self.value.crx
+
+
+class CsPpc(ctypes.Structure):
+ _fields_ = (
+ ('bc', ctypes.c_uint),
+ ('bh', ctypes.c_uint),
+ ('update_cr0', ctypes.c_bool),
+ ('op_count', ctypes.c_uint8),
+ ('operands', PpcOp * 8),
+ )
+
+def get_arch_info(a):
+ return (a.bc, a.bh, a.update_cr0, copy_ctypes_list(a.operands[:a.op_count]))
+
diff --git a/capstone/bindings/python/capstone/ppc_const.py b/capstone/bindings/python/capstone/ppc_const.py
new file mode 100644
index 000000000..d2cf70301
--- /dev/null
+++ b/capstone/bindings/python/capstone/ppc_const.py
@@ -0,0 +1,1976 @@
+# For Capstone Engine. AUTO-GENERATED FILE, DO NOT EDIT [ppc_const.py]
+
+PPC_BC_INVALID = 0
+PPC_BC_LT = (0<<5)|12
+PPC_BC_LE = (1<<5)|4
+PPC_BC_EQ = (2<<5)|12
+PPC_BC_GE = (0<<5)|4
+PPC_BC_GT = (1<<5)|12
+PPC_BC_NE = (2<<5)|4
+PPC_BC_UN = (3<<5)|12
+PPC_BC_NU = (3<<5)|4
+PPC_BC_SO = (4<<5)|12
+PPC_BC_NS = (4<<5)|4
+
+PPC_BH_INVALID = 0
+PPC_BH_PLUS = 1
+PPC_BH_MINUS = 2
+
+PPC_OP_INVALID = 0
+PPC_OP_REG = 1
+PPC_OP_IMM = 2
+PPC_OP_MEM = 3
+PPC_OP_CRX = 64
+
+PPC_REG_INVALID = 0
+PPC_REG_CARRY = 2
+PPC_REG_CTR = 3
+PPC_REG_LR = 5
+PPC_REG_RM = 6
+PPC_REG_VRSAVE = 8
+PPC_REG_XER = 9
+PPC_REG_ZERO = 10
+PPC_REG_CR0 = 12
+PPC_REG_CR1 = 13
+PPC_REG_CR2 = 14
+PPC_REG_CR3 = 15
+PPC_REG_CR4 = 16
+PPC_REG_CR5 = 17
+PPC_REG_CR6 = 18
+PPC_REG_CR7 = 19
+PPC_REG_CTR8 = 20
+PPC_REG_F0 = 21
+PPC_REG_F1 = 22
+PPC_REG_F2 = 23
+PPC_REG_F3 = 24
+PPC_REG_F4 = 25
+PPC_REG_F5 = 26
+PPC_REG_F6 = 27
+PPC_REG_F7 = 28
+PPC_REG_F8 = 29
+PPC_REG_F9 = 30
+PPC_REG_F10 = 31
+PPC_REG_F11 = 32
+PPC_REG_F12 = 33
+PPC_REG_F13 = 34
+PPC_REG_F14 = 35
+PPC_REG_F15 = 36
+PPC_REG_F16 = 37
+PPC_REG_F17 = 38
+PPC_REG_F18 = 39
+PPC_REG_F19 = 40
+PPC_REG_F20 = 41
+PPC_REG_F21 = 42
+PPC_REG_F22 = 43
+PPC_REG_F23 = 44
+PPC_REG_F24 = 45
+PPC_REG_F25 = 46
+PPC_REG_F26 = 47
+PPC_REG_F27 = 48
+PPC_REG_F28 = 49
+PPC_REG_F29 = 50
+PPC_REG_F30 = 51
+PPC_REG_F31 = 52
+PPC_REG_LR8 = 54
+PPC_REG_Q0 = 55
+PPC_REG_Q1 = 56
+PPC_REG_Q2 = 57
+PPC_REG_Q3 = 58
+PPC_REG_Q4 = 59
+PPC_REG_Q5 = 60
+PPC_REG_Q6 = 61
+PPC_REG_Q7 = 62
+PPC_REG_Q8 = 63
+PPC_REG_Q9 = 64
+PPC_REG_Q10 = 65
+PPC_REG_Q11 = 66
+PPC_REG_Q12 = 67
+PPC_REG_Q13 = 68
+PPC_REG_Q14 = 69
+PPC_REG_Q15 = 70
+PPC_REG_Q16 = 71
+PPC_REG_Q17 = 72
+PPC_REG_Q18 = 73
+PPC_REG_Q19 = 74
+PPC_REG_Q20 = 75
+PPC_REG_Q21 = 76
+PPC_REG_Q22 = 77
+PPC_REG_Q23 = 78
+PPC_REG_Q24 = 79
+PPC_REG_Q25 = 80
+PPC_REG_Q26 = 81
+PPC_REG_Q27 = 82
+PPC_REG_Q28 = 83
+PPC_REG_Q29 = 84
+PPC_REG_Q30 = 85
+PPC_REG_Q31 = 86
+PPC_REG_R0 = 87
+PPC_REG_R1 = 88
+PPC_REG_R2 = 89
+PPC_REG_R3 = 90
+PPC_REG_R4 = 91
+PPC_REG_R5 = 92
+PPC_REG_R6 = 93
+PPC_REG_R7 = 94
+PPC_REG_R8 = 95
+PPC_REG_R9 = 96
+PPC_REG_R10 = 97
+PPC_REG_R11 = 98
+PPC_REG_R12 = 99
+PPC_REG_R13 = 100
+PPC_REG_R14 = 101
+PPC_REG_R15 = 102
+PPC_REG_R16 = 103
+PPC_REG_R17 = 104
+PPC_REG_R18 = 105
+PPC_REG_R19 = 106
+PPC_REG_R20 = 107
+PPC_REG_R21 = 108
+PPC_REG_R22 = 109
+PPC_REG_R23 = 110
+PPC_REG_R24 = 111
+PPC_REG_R25 = 112
+PPC_REG_R26 = 113
+PPC_REG_R27 = 114
+PPC_REG_R28 = 115
+PPC_REG_R29 = 116
+PPC_REG_R30 = 117
+PPC_REG_R31 = 118
+PPC_REG_V0 = 151
+PPC_REG_V1 = 152
+PPC_REG_V2 = 153
+PPC_REG_V3 = 154
+PPC_REG_V4 = 155
+PPC_REG_V5 = 156
+PPC_REG_V6 = 157
+PPC_REG_V7 = 158
+PPC_REG_V8 = 159
+PPC_REG_V9 = 160
+PPC_REG_V10 = 161
+PPC_REG_V11 = 162
+PPC_REG_V12 = 163
+PPC_REG_V13 = 164
+PPC_REG_V14 = 165
+PPC_REG_V15 = 166
+PPC_REG_V16 = 167
+PPC_REG_V17 = 168
+PPC_REG_V18 = 169
+PPC_REG_V19 = 170
+PPC_REG_V20 = 171
+PPC_REG_V21 = 172
+PPC_REG_V22 = 173
+PPC_REG_V23 = 174
+PPC_REG_V24 = 175
+PPC_REG_V25 = 176
+PPC_REG_V26 = 177
+PPC_REG_V27 = 178
+PPC_REG_V28 = 179
+PPC_REG_V29 = 180
+PPC_REG_V30 = 181
+PPC_REG_V31 = 182
+PPC_REG_VS0 = 215
+PPC_REG_VS1 = 216
+PPC_REG_VS2 = 217
+PPC_REG_VS3 = 218
+PPC_REG_VS4 = 219
+PPC_REG_VS5 = 220
+PPC_REG_VS6 = 221
+PPC_REG_VS7 = 222
+PPC_REG_VS8 = 223
+PPC_REG_VS9 = 224
+PPC_REG_VS10 = 225
+PPC_REG_VS11 = 226
+PPC_REG_VS12 = 227
+PPC_REG_VS13 = 228
+PPC_REG_VS14 = 229
+PPC_REG_VS15 = 230
+PPC_REG_VS16 = 231
+PPC_REG_VS17 = 232
+PPC_REG_VS18 = 233
+PPC_REG_VS19 = 234
+PPC_REG_VS20 = 235
+PPC_REG_VS21 = 236
+PPC_REG_VS22 = 237
+PPC_REG_VS23 = 238
+PPC_REG_VS24 = 239
+PPC_REG_VS25 = 240
+PPC_REG_VS26 = 241
+PPC_REG_VS27 = 242
+PPC_REG_VS28 = 243
+PPC_REG_VS29 = 244
+PPC_REG_VS30 = 245
+PPC_REG_VS31 = 246
+PPC_REG_VS32 = 247
+PPC_REG_VS33 = 248
+PPC_REG_VS34 = 249
+PPC_REG_VS35 = 250
+PPC_REG_VS36 = 251
+PPC_REG_VS37 = 252
+PPC_REG_VS38 = 253
+PPC_REG_VS39 = 254
+PPC_REG_VS40 = 255
+PPC_REG_VS41 = 256
+PPC_REG_VS42 = 257
+PPC_REG_VS43 = 258
+PPC_REG_VS44 = 259
+PPC_REG_VS45 = 260
+PPC_REG_VS46 = 261
+PPC_REG_VS47 = 262
+PPC_REG_VS48 = 263
+PPC_REG_VS49 = 264
+PPC_REG_VS50 = 265
+PPC_REG_VS51 = 266
+PPC_REG_VS52 = 267
+PPC_REG_VS53 = 268
+PPC_REG_VS54 = 269
+PPC_REG_VS55 = 270
+PPC_REG_VS56 = 271
+PPC_REG_VS57 = 272
+PPC_REG_VS58 = 273
+PPC_REG_VS59 = 274
+PPC_REG_VS60 = 275
+PPC_REG_VS61 = 276
+PPC_REG_VS62 = 277
+PPC_REG_VS63 = 278
+PPC_REG_CR0EQ = 312
+PPC_REG_CR1EQ = 313
+PPC_REG_CR2EQ = 314
+PPC_REG_CR3EQ = 315
+PPC_REG_CR4EQ = 316
+PPC_REG_CR5EQ = 317
+PPC_REG_CR6EQ = 318
+PPC_REG_CR7EQ = 319
+PPC_REG_CR0GT = 320
+PPC_REG_CR1GT = 321
+PPC_REG_CR2GT = 322
+PPC_REG_CR3GT = 323
+PPC_REG_CR4GT = 324
+PPC_REG_CR5GT = 325
+PPC_REG_CR6GT = 326
+PPC_REG_CR7GT = 327
+PPC_REG_CR0LT = 328
+PPC_REG_CR1LT = 329
+PPC_REG_CR2LT = 330
+PPC_REG_CR3LT = 331
+PPC_REG_CR4LT = 332
+PPC_REG_CR5LT = 333
+PPC_REG_CR6LT = 334
+PPC_REG_CR7LT = 335
+PPC_REG_CR0UN = 336
+PPC_REG_CR1UN = 337
+PPC_REG_CR2UN = 338
+PPC_REG_CR3UN = 339
+PPC_REG_CR4UN = 340
+PPC_REG_CR5UN = 341
+PPC_REG_CR6UN = 342
+PPC_REG_CR7UN = 343
+PPC_REG_ENDING = 344
+
+PPC_INS_INVALID = 0
+PPC_INS_ADD = 1
+PPC_INS_ADDC = 2
+PPC_INS_ADDE = 3
+PPC_INS_ADDI = 4
+PPC_INS_ADDIC = 5
+PPC_INS_ADDIS = 6
+PPC_INS_ADDME = 7
+PPC_INS_ADDPCIS = 8
+PPC_INS_ADDZE = 9
+PPC_INS_AND = 10
+PPC_INS_ANDC = 11
+PPC_INS_ANDI = 12
+PPC_INS_ANDIS = 13
+PPC_INS_ATTN = 14
+PPC_INS_B = 15
+PPC_INS_BA = 16
+PPC_INS_BC = 17
+PPC_INS_BCA = 18
+PPC_INS_BCCTR = 19
+PPC_INS_BCCTRL = 20
+PPC_INS_BCDCFN = 21
+PPC_INS_BCDCFSQ = 22
+PPC_INS_BCDCFZ = 23
+PPC_INS_BCDCPSGN = 24
+PPC_INS_BCDCTN = 25
+PPC_INS_BCDCTSQ = 26
+PPC_INS_BCDCTZ = 27
+PPC_INS_BCDS = 28
+PPC_INS_BCDSETSGN = 29
+PPC_INS_BCDSR = 30
+PPC_INS_BCDTRUNC = 31
+PPC_INS_BCDUS = 32
+PPC_INS_BCDUTRUNC = 33
+PPC_INS_BCL = 34
+PPC_INS_BCLA = 35
+PPC_INS_BCLR = 36
+PPC_INS_BCLRL = 37
+PPC_INS_BCTR = 38
+PPC_INS_BCTRL = 39
+PPC_INS_BDNZ = 40
+PPC_INS_BDNZA = 41
+PPC_INS_BDNZF = 42
+PPC_INS_BDNZFA = 43
+PPC_INS_BDNZFL = 44
+PPC_INS_BDNZFLA = 45
+PPC_INS_BDNZFLR = 46
+PPC_INS_BDNZFLRL = 47
+PPC_INS_BDNZL = 48
+PPC_INS_BDNZLA = 49
+PPC_INS_BDNZLR = 50
+PPC_INS_BDNZLRL = 51
+PPC_INS_BDNZT = 52
+PPC_INS_BDNZTA = 53
+PPC_INS_BDNZTL = 54
+PPC_INS_BDNZTLA = 55
+PPC_INS_BDNZTLR = 56
+PPC_INS_BDNZTLRL = 57
+PPC_INS_BDZ = 58
+PPC_INS_BDZA = 59
+PPC_INS_BDZF = 60
+PPC_INS_BDZFA = 61
+PPC_INS_BDZFL = 62
+PPC_INS_BDZFLA = 63
+PPC_INS_BDZFLR = 64
+PPC_INS_BDZFLRL = 65
+PPC_INS_BDZL = 66
+PPC_INS_BDZLA = 67
+PPC_INS_BDZLR = 68
+PPC_INS_BDZLRL = 69
+PPC_INS_BDZT = 70
+PPC_INS_BDZTA = 71
+PPC_INS_BDZTL = 72
+PPC_INS_BDZTLA = 73
+PPC_INS_BDZTLR = 74
+PPC_INS_BDZTLRL = 75
+PPC_INS_BEQ = 76
+PPC_INS_BEQA = 77
+PPC_INS_BEQCTR = 78
+PPC_INS_BEQCTRL = 79
+PPC_INS_BEQL = 80
+PPC_INS_BEQLA = 81
+PPC_INS_BEQLR = 82
+PPC_INS_BEQLRL = 83
+PPC_INS_BF = 84
+PPC_INS_BFA = 85
+PPC_INS_BFCTR = 86
+PPC_INS_BFCTRL = 87
+PPC_INS_BFL = 88
+PPC_INS_BFLA = 89
+PPC_INS_BFLR = 90
+PPC_INS_BFLRL = 91
+PPC_INS_BGE = 92
+PPC_INS_BGEA = 93
+PPC_INS_BGECTR = 94
+PPC_INS_BGECTRL = 95
+PPC_INS_BGEL = 96
+PPC_INS_BGELA = 97
+PPC_INS_BGELR = 98
+PPC_INS_BGELRL = 99
+PPC_INS_BGT = 100
+PPC_INS_BGTA = 101
+PPC_INS_BGTCTR = 102
+PPC_INS_BGTCTRL = 103
+PPC_INS_BGTL = 104
+PPC_INS_BGTLA = 105
+PPC_INS_BGTLR = 106
+PPC_INS_BGTLRL = 107
+PPC_INS_BL = 108
+PPC_INS_BLA = 109
+PPC_INS_BLE = 110
+PPC_INS_BLEA = 111
+PPC_INS_BLECTR = 112
+PPC_INS_BLECTRL = 113
+PPC_INS_BLEL = 114
+PPC_INS_BLELA = 115
+PPC_INS_BLELR = 116
+PPC_INS_BLELRL = 117
+PPC_INS_BLR = 118
+PPC_INS_BLRL = 119
+PPC_INS_BLT = 120
+PPC_INS_BLTA = 121
+PPC_INS_BLTCTR = 122
+PPC_INS_BLTCTRL = 123
+PPC_INS_BLTL = 124
+PPC_INS_BLTLA = 125
+PPC_INS_BLTLR = 126
+PPC_INS_BLTLRL = 127
+PPC_INS_BNE = 128
+PPC_INS_BNEA = 129
+PPC_INS_BNECTR = 130
+PPC_INS_BNECTRL = 131
+PPC_INS_BNEL = 132
+PPC_INS_BNELA = 133
+PPC_INS_BNELR = 134
+PPC_INS_BNELRL = 135
+PPC_INS_BNG = 136
+PPC_INS_BNGA = 137
+PPC_INS_BNGCTR = 138
+PPC_INS_BNGCTRL = 139
+PPC_INS_BNGL = 140
+PPC_INS_BNGLA = 141
+PPC_INS_BNGLR = 142
+PPC_INS_BNGLRL = 143
+PPC_INS_BNL = 144
+PPC_INS_BNLA = 145
+PPC_INS_BNLCTR = 146
+PPC_INS_BNLCTRL = 147
+PPC_INS_BNLL = 148
+PPC_INS_BNLLA = 149
+PPC_INS_BNLLR = 150
+PPC_INS_BNLLRL = 151
+PPC_INS_BNS = 152
+PPC_INS_BNSA = 153
+PPC_INS_BNSCTR = 154
+PPC_INS_BNSCTRL = 155
+PPC_INS_BNSL = 156
+PPC_INS_BNSLA = 157
+PPC_INS_BNSLR = 158
+PPC_INS_BNSLRL = 159
+PPC_INS_BNU = 160
+PPC_INS_BNUA = 161
+PPC_INS_BNUCTR = 162
+PPC_INS_BNUCTRL = 163
+PPC_INS_BNUL = 164
+PPC_INS_BNULA = 165
+PPC_INS_BNULR = 166
+PPC_INS_BNULRL = 167
+PPC_INS_BPERMD = 168
+PPC_INS_BRINC = 169
+PPC_INS_BSO = 170
+PPC_INS_BSOA = 171
+PPC_INS_BSOCTR = 172
+PPC_INS_BSOCTRL = 173
+PPC_INS_BSOL = 174
+PPC_INS_BSOLA = 175
+PPC_INS_BSOLR = 176
+PPC_INS_BSOLRL = 177
+PPC_INS_BT = 178
+PPC_INS_BTA = 179
+PPC_INS_BTCTR = 180
+PPC_INS_BTCTRL = 181
+PPC_INS_BTL = 182
+PPC_INS_BTLA = 183
+PPC_INS_BTLR = 184
+PPC_INS_BTLRL = 185
+PPC_INS_BUN = 186
+PPC_INS_BUNA = 187
+PPC_INS_BUNCTR = 188
+PPC_INS_BUNCTRL = 189
+PPC_INS_BUNL = 190
+PPC_INS_BUNLA = 191
+PPC_INS_BUNLR = 192
+PPC_INS_BUNLRL = 193
+PPC_INS_CLRBHRB = 194
+PPC_INS_CLRLDI = 195
+PPC_INS_CLRLSLDI = 196
+PPC_INS_CLRLSLWI = 197
+PPC_INS_CLRLWI = 198
+PPC_INS_CLRRDI = 199
+PPC_INS_CLRRWI = 200
+PPC_INS_CMP = 201
+PPC_INS_CMPB = 202
+PPC_INS_CMPD = 203
+PPC_INS_CMPDI = 204
+PPC_INS_CMPEQB = 205
+PPC_INS_CMPI = 206
+PPC_INS_CMPL = 207
+PPC_INS_CMPLD = 208
+PPC_INS_CMPLDI = 209
+PPC_INS_CMPLI = 210
+PPC_INS_CMPLW = 211
+PPC_INS_CMPLWI = 212
+PPC_INS_CMPRB = 213
+PPC_INS_CMPW = 214
+PPC_INS_CMPWI = 215
+PPC_INS_CNTLZD = 216
+PPC_INS_CNTLZW = 217
+PPC_INS_CNTTZD = 218
+PPC_INS_CNTTZW = 219
+PPC_INS_COPY = 220
+PPC_INS_COPY_FIRST = 221
+PPC_INS_CP_ABORT = 222
+PPC_INS_CRAND = 223
+PPC_INS_CRANDC = 224
+PPC_INS_CRCLR = 225
+PPC_INS_CREQV = 226
+PPC_INS_CRMOVE = 227
+PPC_INS_CRNAND = 228
+PPC_INS_CRNOR = 229
+PPC_INS_CRNOT = 230
+PPC_INS_CROR = 231
+PPC_INS_CRORC = 232
+PPC_INS_CRSET = 233
+PPC_INS_CRXOR = 234
+PPC_INS_DARN = 235
+PPC_INS_DCBA = 236
+PPC_INS_DCBF = 237
+PPC_INS_DCBFEP = 238
+PPC_INS_DCBFL = 239
+PPC_INS_DCBFLP = 240
+PPC_INS_DCBI = 241
+PPC_INS_DCBST = 242
+PPC_INS_DCBSTEP = 243
+PPC_INS_DCBT = 244
+PPC_INS_DCBTCT = 245
+PPC_INS_DCBTDS = 246
+PPC_INS_DCBTEP = 247
+PPC_INS_DCBTST = 248
+PPC_INS_DCBTSTCT = 249
+PPC_INS_DCBTSTDS = 250
+PPC_INS_DCBTSTEP = 251
+PPC_INS_DCBTSTT = 252
+PPC_INS_DCBTT = 253
+PPC_INS_DCBZ = 254
+PPC_INS_DCBZEP = 255
+PPC_INS_DCBZL = 256
+PPC_INS_DCBZLEP = 257
+PPC_INS_DCCCI = 258
+PPC_INS_DCI = 259
+PPC_INS_DIVD = 260
+PPC_INS_DIVDE = 261
+PPC_INS_DIVDEU = 262
+PPC_INS_DIVDU = 263
+PPC_INS_DIVW = 264
+PPC_INS_DIVWE = 265
+PPC_INS_DIVWEU = 266
+PPC_INS_DIVWU = 267
+PPC_INS_DSS = 268
+PPC_INS_DSSALL = 269
+PPC_INS_DST = 270
+PPC_INS_DSTST = 271
+PPC_INS_DSTSTT = 272
+PPC_INS_DSTT = 273
+PPC_INS_EFDABS = 274
+PPC_INS_EFDADD = 275
+PPC_INS_EFDCFS = 276
+PPC_INS_EFDCFSF = 277
+PPC_INS_EFDCFSI = 278
+PPC_INS_EFDCFSID = 279
+PPC_INS_EFDCFUF = 280
+PPC_INS_EFDCFUI = 281
+PPC_INS_EFDCFUID = 282
+PPC_INS_EFDCMPEQ = 283
+PPC_INS_EFDCMPGT = 284
+PPC_INS_EFDCMPLT = 285
+PPC_INS_EFDCTSF = 286
+PPC_INS_EFDCTSI = 287
+PPC_INS_EFDCTSIDZ = 288
+PPC_INS_EFDCTSIZ = 289
+PPC_INS_EFDCTUF = 290
+PPC_INS_EFDCTUI = 291
+PPC_INS_EFDCTUIDZ = 292
+PPC_INS_EFDCTUIZ = 293
+PPC_INS_EFDDIV = 294
+PPC_INS_EFDMUL = 295
+PPC_INS_EFDNABS = 296
+PPC_INS_EFDNEG = 297
+PPC_INS_EFDSUB = 298
+PPC_INS_EFDTSTEQ = 299
+PPC_INS_EFDTSTGT = 300
+PPC_INS_EFDTSTLT = 301
+PPC_INS_EFSABS = 302
+PPC_INS_EFSADD = 303
+PPC_INS_EFSCFD = 304
+PPC_INS_EFSCFSF = 305
+PPC_INS_EFSCFSI = 306
+PPC_INS_EFSCFUF = 307
+PPC_INS_EFSCFUI = 308
+PPC_INS_EFSCMPEQ = 309
+PPC_INS_EFSCMPGT = 310
+PPC_INS_EFSCMPLT = 311
+PPC_INS_EFSCTSF = 312
+PPC_INS_EFSCTSI = 313
+PPC_INS_EFSCTSIZ = 314
+PPC_INS_EFSCTUF = 315
+PPC_INS_EFSCTUI = 316
+PPC_INS_EFSCTUIZ = 317
+PPC_INS_EFSDIV = 318
+PPC_INS_EFSMUL = 319
+PPC_INS_EFSNABS = 320
+PPC_INS_EFSNEG = 321
+PPC_INS_EFSSUB = 322
+PPC_INS_EFSTSTEQ = 323
+PPC_INS_EFSTSTGT = 324
+PPC_INS_EFSTSTLT = 325
+PPC_INS_EIEIO = 326
+PPC_INS_EQV = 327
+PPC_INS_EVABS = 328
+PPC_INS_EVADDIW = 329
+PPC_INS_EVADDSMIAAW = 330
+PPC_INS_EVADDSSIAAW = 331
+PPC_INS_EVADDUMIAAW = 332
+PPC_INS_EVADDUSIAAW = 333
+PPC_INS_EVADDW = 334
+PPC_INS_EVAND = 335
+PPC_INS_EVANDC = 336
+PPC_INS_EVCMPEQ = 337
+PPC_INS_EVCMPGTS = 338
+PPC_INS_EVCMPGTU = 339
+PPC_INS_EVCMPLTS = 340
+PPC_INS_EVCMPLTU = 341
+PPC_INS_EVCNTLSW = 342
+PPC_INS_EVCNTLZW = 343
+PPC_INS_EVDIVWS = 344
+PPC_INS_EVDIVWU = 345
+PPC_INS_EVEQV = 346
+PPC_INS_EVEXTSB = 347
+PPC_INS_EVEXTSH = 348
+PPC_INS_EVFSABS = 349
+PPC_INS_EVFSADD = 350
+PPC_INS_EVFSCFSF = 351
+PPC_INS_EVFSCFSI = 352
+PPC_INS_EVFSCFUF = 353
+PPC_INS_EVFSCFUI = 354
+PPC_INS_EVFSCMPEQ = 355
+PPC_INS_EVFSCMPGT = 356
+PPC_INS_EVFSCMPLT = 357
+PPC_INS_EVFSCTSF = 358
+PPC_INS_EVFSCTSI = 359
+PPC_INS_EVFSCTSIZ = 360
+PPC_INS_EVFSCTUI = 361
+PPC_INS_EVFSDIV = 362
+PPC_INS_EVFSMUL = 363
+PPC_INS_EVFSNABS = 364
+PPC_INS_EVFSNEG = 365
+PPC_INS_EVFSSUB = 366
+PPC_INS_EVFSTSTEQ = 367
+PPC_INS_EVFSTSTGT = 368
+PPC_INS_EVFSTSTLT = 369
+PPC_INS_EVLDD = 370
+PPC_INS_EVLDDX = 371
+PPC_INS_EVLDH = 372
+PPC_INS_EVLDHX = 373
+PPC_INS_EVLDW = 374
+PPC_INS_EVLDWX = 375
+PPC_INS_EVLHHESPLAT = 376
+PPC_INS_EVLHHESPLATX = 377
+PPC_INS_EVLHHOSSPLAT = 378
+PPC_INS_EVLHHOSSPLATX = 379
+PPC_INS_EVLHHOUSPLAT = 380
+PPC_INS_EVLHHOUSPLATX = 381
+PPC_INS_EVLWHE = 382
+PPC_INS_EVLWHEX = 383
+PPC_INS_EVLWHOS = 384
+PPC_INS_EVLWHOSX = 385
+PPC_INS_EVLWHOU = 386
+PPC_INS_EVLWHOUX = 387
+PPC_INS_EVLWHSPLAT = 388
+PPC_INS_EVLWHSPLATX = 389
+PPC_INS_EVLWWSPLAT = 390
+PPC_INS_EVLWWSPLATX = 391
+PPC_INS_EVMERGEHI = 392
+PPC_INS_EVMERGEHILO = 393
+PPC_INS_EVMERGELO = 394
+PPC_INS_EVMERGELOHI = 395
+PPC_INS_EVMHEGSMFAA = 396
+PPC_INS_EVMHEGSMFAN = 397
+PPC_INS_EVMHEGSMIAA = 398
+PPC_INS_EVMHEGSMIAN = 399
+PPC_INS_EVMHEGUMIAA = 400
+PPC_INS_EVMHEGUMIAN = 401
+PPC_INS_EVMHESMF = 402
+PPC_INS_EVMHESMFA = 403
+PPC_INS_EVMHESMFAAW = 404
+PPC_INS_EVMHESMFANW = 405
+PPC_INS_EVMHESMI = 406
+PPC_INS_EVMHESMIA = 407
+PPC_INS_EVMHESMIAAW = 408
+PPC_INS_EVMHESMIANW = 409
+PPC_INS_EVMHESSF = 410
+PPC_INS_EVMHESSFA = 411
+PPC_INS_EVMHESSFAAW = 412
+PPC_INS_EVMHESSFANW = 413
+PPC_INS_EVMHESSIAAW = 414
+PPC_INS_EVMHESSIANW = 415
+PPC_INS_EVMHEUMI = 416
+PPC_INS_EVMHEUMIA = 417
+PPC_INS_EVMHEUMIAAW = 418
+PPC_INS_EVMHEUMIANW = 419
+PPC_INS_EVMHEUSIAAW = 420
+PPC_INS_EVMHEUSIANW = 421
+PPC_INS_EVMHOGSMFAA = 422
+PPC_INS_EVMHOGSMFAN = 423
+PPC_INS_EVMHOGSMIAA = 424
+PPC_INS_EVMHOGSMIAN = 425
+PPC_INS_EVMHOGUMIAA = 426
+PPC_INS_EVMHOGUMIAN = 427
+PPC_INS_EVMHOSMF = 428
+PPC_INS_EVMHOSMFA = 429
+PPC_INS_EVMHOSMFAAW = 430
+PPC_INS_EVMHOSMFANW = 431
+PPC_INS_EVMHOSMI = 432
+PPC_INS_EVMHOSMIA = 433
+PPC_INS_EVMHOSMIAAW = 434
+PPC_INS_EVMHOSMIANW = 435
+PPC_INS_EVMHOSSF = 436
+PPC_INS_EVMHOSSFA = 437
+PPC_INS_EVMHOSSFAAW = 438
+PPC_INS_EVMHOSSFANW = 439
+PPC_INS_EVMHOSSIAAW = 440
+PPC_INS_EVMHOSSIANW = 441
+PPC_INS_EVMHOUMI = 442
+PPC_INS_EVMHOUMIA = 443
+PPC_INS_EVMHOUMIAAW = 444
+PPC_INS_EVMHOUMIANW = 445
+PPC_INS_EVMHOUSIAAW = 446
+PPC_INS_EVMHOUSIANW = 447
+PPC_INS_EVMRA = 448
+PPC_INS_EVMWHSMF = 449
+PPC_INS_EVMWHSMFA = 450
+PPC_INS_EVMWHSMI = 451
+PPC_INS_EVMWHSMIA = 452
+PPC_INS_EVMWHSSF = 453
+PPC_INS_EVMWHSSFA = 454
+PPC_INS_EVMWHUMI = 455
+PPC_INS_EVMWHUMIA = 456
+PPC_INS_EVMWLSMIAAW = 457
+PPC_INS_EVMWLSMIANW = 458
+PPC_INS_EVMWLSSIAAW = 459
+PPC_INS_EVMWLSSIANW = 460
+PPC_INS_EVMWLUMI = 461
+PPC_INS_EVMWLUMIA = 462
+PPC_INS_EVMWLUMIAAW = 463
+PPC_INS_EVMWLUMIANW = 464
+PPC_INS_EVMWLUSIAAW = 465
+PPC_INS_EVMWLUSIANW = 466
+PPC_INS_EVMWSMF = 467
+PPC_INS_EVMWSMFA = 468
+PPC_INS_EVMWSMFAA = 469
+PPC_INS_EVMWSMFAN = 470
+PPC_INS_EVMWSMI = 471
+PPC_INS_EVMWSMIA = 472
+PPC_INS_EVMWSMIAA = 473
+PPC_INS_EVMWSMIAN = 474
+PPC_INS_EVMWSSF = 475
+PPC_INS_EVMWSSFA = 476
+PPC_INS_EVMWSSFAA = 477
+PPC_INS_EVMWSSFAN = 478
+PPC_INS_EVMWUMI = 479
+PPC_INS_EVMWUMIA = 480
+PPC_INS_EVMWUMIAA = 481
+PPC_INS_EVMWUMIAN = 482
+PPC_INS_EVNAND = 483
+PPC_INS_EVNEG = 484
+PPC_INS_EVNOR = 485
+PPC_INS_EVOR = 486
+PPC_INS_EVORC = 487
+PPC_INS_EVRLW = 488
+PPC_INS_EVRLWI = 489
+PPC_INS_EVRNDW = 490
+PPC_INS_EVSEL = 491
+PPC_INS_EVSLW = 492
+PPC_INS_EVSLWI = 493
+PPC_INS_EVSPLATFI = 494
+PPC_INS_EVSPLATI = 495
+PPC_INS_EVSRWIS = 496
+PPC_INS_EVSRWIU = 497
+PPC_INS_EVSRWS = 498
+PPC_INS_EVSRWU = 499
+PPC_INS_EVSTDD = 500
+PPC_INS_EVSTDDX = 501
+PPC_INS_EVSTDH = 502
+PPC_INS_EVSTDHX = 503
+PPC_INS_EVSTDW = 504
+PPC_INS_EVSTDWX = 505
+PPC_INS_EVSTWHE = 506
+PPC_INS_EVSTWHEX = 507
+PPC_INS_EVSTWHO = 508
+PPC_INS_EVSTWHOX = 509
+PPC_INS_EVSTWWE = 510
+PPC_INS_EVSTWWEX = 511
+PPC_INS_EVSTWWO = 512
+PPC_INS_EVSTWWOX = 513
+PPC_INS_EVSUBFSMIAAW = 514
+PPC_INS_EVSUBFSSIAAW = 515
+PPC_INS_EVSUBFUMIAAW = 516
+PPC_INS_EVSUBFUSIAAW = 517
+PPC_INS_EVSUBFW = 518
+PPC_INS_EVSUBIFW = 519
+PPC_INS_EVXOR = 520
+PPC_INS_EXTLDI = 521
+PPC_INS_EXTLWI = 522
+PPC_INS_EXTRDI = 523
+PPC_INS_EXTRWI = 524
+PPC_INS_EXTSB = 525
+PPC_INS_EXTSH = 526
+PPC_INS_EXTSW = 527
+PPC_INS_EXTSWSLI = 528
+PPC_INS_FABS = 529
+PPC_INS_FADD = 530
+PPC_INS_FADDS = 531
+PPC_INS_FCFID = 532
+PPC_INS_FCFIDS = 533
+PPC_INS_FCFIDU = 534
+PPC_INS_FCFIDUS = 535
+PPC_INS_FCMPU = 536
+PPC_INS_FCPSGN = 537
+PPC_INS_FCTID = 538
+PPC_INS_FCTIDU = 539
+PPC_INS_FCTIDUZ = 540
+PPC_INS_FCTIDZ = 541
+PPC_INS_FCTIW = 542
+PPC_INS_FCTIWU = 543
+PPC_INS_FCTIWUZ = 544
+PPC_INS_FCTIWZ = 545
+PPC_INS_FDIV = 546
+PPC_INS_FDIVS = 547
+PPC_INS_FMADD = 548
+PPC_INS_FMADDS = 549
+PPC_INS_FMR = 550
+PPC_INS_FMSUB = 551
+PPC_INS_FMSUBS = 552
+PPC_INS_FMUL = 553
+PPC_INS_FMULS = 554
+PPC_INS_FNABS = 555
+PPC_INS_FNEG = 556
+PPC_INS_FNMADD = 557
+PPC_INS_FNMADDS = 558
+PPC_INS_FNMSUB = 559
+PPC_INS_FNMSUBS = 560
+PPC_INS_FRE = 561
+PPC_INS_FRES = 562
+PPC_INS_FRIM = 563
+PPC_INS_FRIN = 564
+PPC_INS_FRIP = 565
+PPC_INS_FRIZ = 566
+PPC_INS_FRSP = 567
+PPC_INS_FRSQRTE = 568
+PPC_INS_FRSQRTES = 569
+PPC_INS_FSEL = 570
+PPC_INS_FSQRT = 571
+PPC_INS_FSQRTS = 572
+PPC_INS_FSUB = 573
+PPC_INS_FSUBS = 574
+PPC_INS_FTDIV = 575
+PPC_INS_FTSQRT = 576
+PPC_INS_HRFID = 577
+PPC_INS_ICBI = 578
+PPC_INS_ICBIEP = 579
+PPC_INS_ICBLC = 580
+PPC_INS_ICBLQ = 581
+PPC_INS_ICBT = 582
+PPC_INS_ICBTLS = 583
+PPC_INS_ICCCI = 584
+PPC_INS_ICI = 585
+PPC_INS_INSLWI = 586
+PPC_INS_INSRDI = 587
+PPC_INS_INSRWI = 588
+PPC_INS_ISEL = 589
+PPC_INS_ISYNC = 590
+PPC_INS_LA = 591
+PPC_INS_LBARX = 592
+PPC_INS_LBEPX = 593
+PPC_INS_LBZ = 594
+PPC_INS_LBZCIX = 595
+PPC_INS_LBZU = 596
+PPC_INS_LBZUX = 597
+PPC_INS_LBZX = 598
+PPC_INS_LD = 599
+PPC_INS_LDARX = 600
+PPC_INS_LDAT = 601
+PPC_INS_LDBRX = 602
+PPC_INS_LDCIX = 603
+PPC_INS_LDMX = 604
+PPC_INS_LDU = 605
+PPC_INS_LDUX = 606
+PPC_INS_LDX = 607
+PPC_INS_LFD = 608
+PPC_INS_LFDEPX = 609
+PPC_INS_LFDU = 610
+PPC_INS_LFDUX = 611
+PPC_INS_LFDX = 612
+PPC_INS_LFIWAX = 613
+PPC_INS_LFIWZX = 614
+PPC_INS_LFS = 615
+PPC_INS_LFSU = 616
+PPC_INS_LFSUX = 617
+PPC_INS_LFSX = 618
+PPC_INS_LHA = 619
+PPC_INS_LHARX = 620
+PPC_INS_LHAU = 621
+PPC_INS_LHAUX = 622
+PPC_INS_LHAX = 623
+PPC_INS_LHBRX = 624
+PPC_INS_LHEPX = 625
+PPC_INS_LHZ = 626
+PPC_INS_LHZCIX = 627
+PPC_INS_LHZU = 628
+PPC_INS_LHZUX = 629
+PPC_INS_LHZX = 630
+PPC_INS_LI = 631
+PPC_INS_LIS = 632
+PPC_INS_LMW = 633
+PPC_INS_LNIA = 634
+PPC_INS_LSWI = 635
+PPC_INS_LVEBX = 636
+PPC_INS_LVEHX = 637
+PPC_INS_LVEWX = 638
+PPC_INS_LVSL = 639
+PPC_INS_LVSR = 640
+PPC_INS_LVX = 641
+PPC_INS_LVXL = 642
+PPC_INS_LWA = 643
+PPC_INS_LWARX = 644
+PPC_INS_LWAT = 645
+PPC_INS_LWAUX = 646
+PPC_INS_LWAX = 647
+PPC_INS_LWBRX = 648
+PPC_INS_LWEPX = 649
+PPC_INS_LWSYNC = 650
+PPC_INS_LWZ = 651
+PPC_INS_LWZCIX = 652
+PPC_INS_LWZU = 653
+PPC_INS_LWZUX = 654
+PPC_INS_LWZX = 655
+PPC_INS_LXSD = 656
+PPC_INS_LXSDX = 657
+PPC_INS_LXSIBZX = 658
+PPC_INS_LXSIHZX = 659
+PPC_INS_LXSIWAX = 660
+PPC_INS_LXSIWZX = 661
+PPC_INS_LXSSP = 662
+PPC_INS_LXSSPX = 663
+PPC_INS_LXV = 664
+PPC_INS_LXVB16X = 665
+PPC_INS_LXVD2X = 666
+PPC_INS_LXVDSX = 667
+PPC_INS_LXVH8X = 668
+PPC_INS_LXVL = 669
+PPC_INS_LXVLL = 670
+PPC_INS_LXVW4X = 671
+PPC_INS_LXVWSX = 672
+PPC_INS_LXVX = 673
+PPC_INS_MADDHD = 674
+PPC_INS_MADDHDU = 675
+PPC_INS_MADDLD = 676
+PPC_INS_MBAR = 677
+PPC_INS_MCRF = 678
+PPC_INS_MCRFS = 679
+PPC_INS_MCRXRX = 680
+PPC_INS_MFAMR = 681
+PPC_INS_MFASR = 682
+PPC_INS_MFBHRBE = 683
+PPC_INS_MFBR0 = 684
+PPC_INS_MFBR1 = 685
+PPC_INS_MFBR2 = 686
+PPC_INS_MFBR3 = 687
+PPC_INS_MFBR4 = 688
+PPC_INS_MFBR5 = 689
+PPC_INS_MFBR6 = 690
+PPC_INS_MFBR7 = 691
+PPC_INS_MFCFAR = 692
+PPC_INS_MFCR = 693
+PPC_INS_MFCTR = 694
+PPC_INS_MFDAR = 695
+PPC_INS_MFDBATL = 696
+PPC_INS_MFDBATU = 697
+PPC_INS_MFDCCR = 698
+PPC_INS_MFDCR = 699
+PPC_INS_MFDEAR = 700
+PPC_INS_MFDEC = 701
+PPC_INS_MFDSCR = 702
+PPC_INS_MFDSISR = 703
+PPC_INS_MFESR = 704
+PPC_INS_MFFPRD = 705
+PPC_INS_MFFS = 706
+PPC_INS_MFFSCDRN = 707
+PPC_INS_MFFSCDRNI = 708
+PPC_INS_MFFSCE = 709
+PPC_INS_MFFSCRN = 710
+PPC_INS_MFFSCRNI = 711
+PPC_INS_MFFSL = 712
+PPC_INS_MFIBATL = 713
+PPC_INS_MFIBATU = 714
+PPC_INS_MFICCR = 715
+PPC_INS_MFLR = 716
+PPC_INS_MFMSR = 717
+PPC_INS_MFOCRF = 718
+PPC_INS_MFPID = 719
+PPC_INS_MFPMR = 720
+PPC_INS_MFPVR = 721
+PPC_INS_MFRTCL = 722
+PPC_INS_MFRTCU = 723
+PPC_INS_MFSDR1 = 724
+PPC_INS_MFSPEFSCR = 725
+PPC_INS_MFSPR = 726
+PPC_INS_MFSPRG = 727
+PPC_INS_MFSPRG0 = 728
+PPC_INS_MFSPRG1 = 729
+PPC_INS_MFSPRG2 = 730
+PPC_INS_MFSPRG3 = 731
+PPC_INS_MFSPRG4 = 732
+PPC_INS_MFSPRG5 = 733
+PPC_INS_MFSPRG6 = 734
+PPC_INS_MFSPRG7 = 735
+PPC_INS_MFSR = 736
+PPC_INS_MFSRIN = 737
+PPC_INS_MFSRR0 = 738
+PPC_INS_MFSRR1 = 739
+PPC_INS_MFSRR2 = 740
+PPC_INS_MFSRR3 = 741
+PPC_INS_MFTB = 742
+PPC_INS_MFTBHI = 743
+PPC_INS_MFTBL = 744
+PPC_INS_MFTBLO = 745
+PPC_INS_MFTBU = 746
+PPC_INS_MFTCR = 747
+PPC_INS_MFVRD = 748
+PPC_INS_MFVRSAVE = 749
+PPC_INS_MFVSCR = 750
+PPC_INS_MFVSRD = 751
+PPC_INS_MFVSRLD = 752
+PPC_INS_MFVSRWZ = 753
+PPC_INS_MFXER = 754
+PPC_INS_MODSD = 755
+PPC_INS_MODSW = 756
+PPC_INS_MODUD = 757
+PPC_INS_MODUW = 758
+PPC_INS_MR = 759
+PPC_INS_MSGSYNC = 760
+PPC_INS_MSYNC = 761
+PPC_INS_MTAMR = 762
+PPC_INS_MTASR = 763
+PPC_INS_MTBR0 = 764
+PPC_INS_MTBR1 = 765
+PPC_INS_MTBR2 = 766
+PPC_INS_MTBR3 = 767
+PPC_INS_MTBR4 = 768
+PPC_INS_MTBR5 = 769
+PPC_INS_MTBR6 = 770
+PPC_INS_MTBR7 = 771
+PPC_INS_MTCFAR = 772
+PPC_INS_MTCR = 773
+PPC_INS_MTCRF = 774
+PPC_INS_MTCTR = 775
+PPC_INS_MTDAR = 776
+PPC_INS_MTDBATL = 777
+PPC_INS_MTDBATU = 778
+PPC_INS_MTDCCR = 779
+PPC_INS_MTDCR = 780
+PPC_INS_MTDEAR = 781
+PPC_INS_MTDEC = 782
+PPC_INS_MTDSCR = 783
+PPC_INS_MTDSISR = 784
+PPC_INS_MTESR = 785
+PPC_INS_MTFSB0 = 786
+PPC_INS_MTFSB1 = 787
+PPC_INS_MTFSF = 788
+PPC_INS_MTFSFI = 789
+PPC_INS_MTIBATL = 790
+PPC_INS_MTIBATU = 791
+PPC_INS_MTICCR = 792
+PPC_INS_MTLR = 793
+PPC_INS_MTMSR = 794
+PPC_INS_MTMSRD = 795
+PPC_INS_MTOCRF = 796
+PPC_INS_MTPID = 797
+PPC_INS_MTPMR = 798
+PPC_INS_MTSDR1 = 799
+PPC_INS_MTSPEFSCR = 800
+PPC_INS_MTSPR = 801
+PPC_INS_MTSPRG = 802
+PPC_INS_MTSPRG0 = 803
+PPC_INS_MTSPRG1 = 804
+PPC_INS_MTSPRG2 = 805
+PPC_INS_MTSPRG3 = 806
+PPC_INS_MTSPRG4 = 807
+PPC_INS_MTSPRG5 = 808
+PPC_INS_MTSPRG6 = 809
+PPC_INS_MTSPRG7 = 810
+PPC_INS_MTSR = 811
+PPC_INS_MTSRIN = 812
+PPC_INS_MTSRR0 = 813
+PPC_INS_MTSRR1 = 814
+PPC_INS_MTSRR2 = 815
+PPC_INS_MTSRR3 = 816
+PPC_INS_MTTBHI = 817
+PPC_INS_MTTBL = 818
+PPC_INS_MTTBLO = 819
+PPC_INS_MTTBU = 820
+PPC_INS_MTTCR = 821
+PPC_INS_MTVRSAVE = 822
+PPC_INS_MTVSCR = 823
+PPC_INS_MTVSRD = 824
+PPC_INS_MTVSRDD = 825
+PPC_INS_MTVSRWA = 826
+PPC_INS_MTVSRWS = 827
+PPC_INS_MTVSRWZ = 828
+PPC_INS_MTXER = 829
+PPC_INS_MULHD = 830
+PPC_INS_MULHDU = 831
+PPC_INS_MULHW = 832
+PPC_INS_MULHWU = 833
+PPC_INS_MULLD = 834
+PPC_INS_MULLI = 835
+PPC_INS_MULLW = 836
+PPC_INS_NAND = 837
+PPC_INS_NAP = 838
+PPC_INS_NEG = 839
+PPC_INS_NOP = 840
+PPC_INS_NOR = 841
+PPC_INS_NOT = 842
+PPC_INS_OR = 843
+PPC_INS_ORC = 844
+PPC_INS_ORI = 845
+PPC_INS_ORIS = 846
+PPC_INS_PASTE = 847
+PPC_INS_PASTE_LAST = 848
+PPC_INS_POPCNTB = 849
+PPC_INS_POPCNTD = 850
+PPC_INS_POPCNTW = 851
+PPC_INS_PTESYNC = 852
+PPC_INS_QVALIGNI = 853
+PPC_INS_QVESPLATI = 854
+PPC_INS_QVFABS = 855
+PPC_INS_QVFADD = 856
+PPC_INS_QVFADDS = 857
+PPC_INS_QVFAND = 858
+PPC_INS_QVFANDC = 859
+PPC_INS_QVFCFID = 860
+PPC_INS_QVFCFIDS = 861
+PPC_INS_QVFCFIDU = 862
+PPC_INS_QVFCFIDUS = 863
+PPC_INS_QVFCLR = 864
+PPC_INS_QVFCMPEQ = 865
+PPC_INS_QVFCMPGT = 866
+PPC_INS_QVFCMPLT = 867
+PPC_INS_QVFCPSGN = 868
+PPC_INS_QVFCTFB = 869
+PPC_INS_QVFCTID = 870
+PPC_INS_QVFCTIDU = 871
+PPC_INS_QVFCTIDUZ = 872
+PPC_INS_QVFCTIDZ = 873
+PPC_INS_QVFCTIW = 874
+PPC_INS_QVFCTIWU = 875
+PPC_INS_QVFCTIWUZ = 876
+PPC_INS_QVFCTIWZ = 877
+PPC_INS_QVFEQU = 878
+PPC_INS_QVFLOGICAL = 879
+PPC_INS_QVFMADD = 880
+PPC_INS_QVFMADDS = 881
+PPC_INS_QVFMR = 882
+PPC_INS_QVFMSUB = 883
+PPC_INS_QVFMSUBS = 884
+PPC_INS_QVFMUL = 885
+PPC_INS_QVFMULS = 886
+PPC_INS_QVFNABS = 887
+PPC_INS_QVFNAND = 888
+PPC_INS_QVFNEG = 889
+PPC_INS_QVFNMADD = 890
+PPC_INS_QVFNMADDS = 891
+PPC_INS_QVFNMSUB = 892
+PPC_INS_QVFNMSUBS = 893
+PPC_INS_QVFNOR = 894
+PPC_INS_QVFNOT = 895
+PPC_INS_QVFOR = 896
+PPC_INS_QVFORC = 897
+PPC_INS_QVFPERM = 898
+PPC_INS_QVFRE = 899
+PPC_INS_QVFRES = 900
+PPC_INS_QVFRIM = 901
+PPC_INS_QVFRIN = 902
+PPC_INS_QVFRIP = 903
+PPC_INS_QVFRIZ = 904
+PPC_INS_QVFRSP = 905
+PPC_INS_QVFRSQRTE = 906
+PPC_INS_QVFRSQRTES = 907
+PPC_INS_QVFSEL = 908
+PPC_INS_QVFSET = 909
+PPC_INS_QVFSUB = 910
+PPC_INS_QVFSUBS = 911
+PPC_INS_QVFTSTNAN = 912
+PPC_INS_QVFXMADD = 913
+PPC_INS_QVFXMADDS = 914
+PPC_INS_QVFXMUL = 915
+PPC_INS_QVFXMULS = 916
+PPC_INS_QVFXOR = 917
+PPC_INS_QVFXXCPNMADD = 918
+PPC_INS_QVFXXCPNMADDS = 919
+PPC_INS_QVFXXMADD = 920
+PPC_INS_QVFXXMADDS = 921
+PPC_INS_QVFXXNPMADD = 922
+PPC_INS_QVFXXNPMADDS = 923
+PPC_INS_QVGPCI = 924
+PPC_INS_QVLFCDUX = 925
+PPC_INS_QVLFCDUXA = 926
+PPC_INS_QVLFCDX = 927
+PPC_INS_QVLFCDXA = 928
+PPC_INS_QVLFCSUX = 929
+PPC_INS_QVLFCSUXA = 930
+PPC_INS_QVLFCSX = 931
+PPC_INS_QVLFCSXA = 932
+PPC_INS_QVLFDUX = 933
+PPC_INS_QVLFDUXA = 934
+PPC_INS_QVLFDX = 935
+PPC_INS_QVLFDXA = 936
+PPC_INS_QVLFIWAX = 937
+PPC_INS_QVLFIWAXA = 938
+PPC_INS_QVLFIWZX = 939
+PPC_INS_QVLFIWZXA = 940
+PPC_INS_QVLFSUX = 941
+PPC_INS_QVLFSUXA = 942
+PPC_INS_QVLFSX = 943
+PPC_INS_QVLFSXA = 944
+PPC_INS_QVLPCLDX = 945
+PPC_INS_QVLPCLSX = 946
+PPC_INS_QVLPCRDX = 947
+PPC_INS_QVLPCRSX = 948
+PPC_INS_QVSTFCDUX = 949
+PPC_INS_QVSTFCDUXA = 950
+PPC_INS_QVSTFCDUXI = 951
+PPC_INS_QVSTFCDUXIA = 952
+PPC_INS_QVSTFCDX = 953
+PPC_INS_QVSTFCDXA = 954
+PPC_INS_QVSTFCDXI = 955
+PPC_INS_QVSTFCDXIA = 956
+PPC_INS_QVSTFCSUX = 957
+PPC_INS_QVSTFCSUXA = 958
+PPC_INS_QVSTFCSUXI = 959
+PPC_INS_QVSTFCSUXIA = 960
+PPC_INS_QVSTFCSX = 961
+PPC_INS_QVSTFCSXA = 962
+PPC_INS_QVSTFCSXI = 963
+PPC_INS_QVSTFCSXIA = 964
+PPC_INS_QVSTFDUX = 965
+PPC_INS_QVSTFDUXA = 966
+PPC_INS_QVSTFDUXI = 967
+PPC_INS_QVSTFDUXIA = 968
+PPC_INS_QVSTFDX = 969
+PPC_INS_QVSTFDXA = 970
+PPC_INS_QVSTFDXI = 971
+PPC_INS_QVSTFDXIA = 972
+PPC_INS_QVSTFIWX = 973
+PPC_INS_QVSTFIWXA = 974
+PPC_INS_QVSTFSUX = 975
+PPC_INS_QVSTFSUXA = 976
+PPC_INS_QVSTFSUXI = 977
+PPC_INS_QVSTFSUXIA = 978
+PPC_INS_QVSTFSX = 979
+PPC_INS_QVSTFSXA = 980
+PPC_INS_QVSTFSXI = 981
+PPC_INS_QVSTFSXIA = 982
+PPC_INS_RFCI = 983
+PPC_INS_RFDI = 984
+PPC_INS_RFEBB = 985
+PPC_INS_RFI = 986
+PPC_INS_RFID = 987
+PPC_INS_RFMCI = 988
+PPC_INS_RLDCL = 989
+PPC_INS_RLDCR = 990
+PPC_INS_RLDIC = 991
+PPC_INS_RLDICL = 992
+PPC_INS_RLDICR = 993
+PPC_INS_RLDIMI = 994
+PPC_INS_RLWIMI = 995
+PPC_INS_RLWINM = 996
+PPC_INS_RLWNM = 997
+PPC_INS_ROTLD = 998
+PPC_INS_ROTLDI = 999
+PPC_INS_ROTLW = 1000
+PPC_INS_ROTLWI = 1001
+PPC_INS_ROTRDI = 1002
+PPC_INS_ROTRWI = 1003
+PPC_INS_SC = 1004
+PPC_INS_SETB = 1005
+PPC_INS_SLBIA = 1006
+PPC_INS_SLBIE = 1007
+PPC_INS_SLBIEG = 1008
+PPC_INS_SLBMFEE = 1009
+PPC_INS_SLBMFEV = 1010
+PPC_INS_SLBMTE = 1011
+PPC_INS_SLBSYNC = 1012
+PPC_INS_SLD = 1013
+PPC_INS_SLDI = 1014
+PPC_INS_SLW = 1015
+PPC_INS_SLWI = 1016
+PPC_INS_SRAD = 1017
+PPC_INS_SRADI = 1018
+PPC_INS_SRAW = 1019
+PPC_INS_SRAWI = 1020
+PPC_INS_SRD = 1021
+PPC_INS_SRDI = 1022
+PPC_INS_SRW = 1023
+PPC_INS_SRWI = 1024
+PPC_INS_STB = 1025
+PPC_INS_STBCIX = 1026
+PPC_INS_STBCX = 1027
+PPC_INS_STBEPX = 1028
+PPC_INS_STBU = 1029
+PPC_INS_STBUX = 1030
+PPC_INS_STBX = 1031
+PPC_INS_STD = 1032
+PPC_INS_STDAT = 1033
+PPC_INS_STDBRX = 1034
+PPC_INS_STDCIX = 1035
+PPC_INS_STDCX = 1036
+PPC_INS_STDU = 1037
+PPC_INS_STDUX = 1038
+PPC_INS_STDX = 1039
+PPC_INS_STFD = 1040
+PPC_INS_STFDEPX = 1041
+PPC_INS_STFDU = 1042
+PPC_INS_STFDUX = 1043
+PPC_INS_STFDX = 1044
+PPC_INS_STFIWX = 1045
+PPC_INS_STFS = 1046
+PPC_INS_STFSU = 1047
+PPC_INS_STFSUX = 1048
+PPC_INS_STFSX = 1049
+PPC_INS_STH = 1050
+PPC_INS_STHBRX = 1051
+PPC_INS_STHCIX = 1052
+PPC_INS_STHCX = 1053
+PPC_INS_STHEPX = 1054
+PPC_INS_STHU = 1055
+PPC_INS_STHUX = 1056
+PPC_INS_STHX = 1057
+PPC_INS_STMW = 1058
+PPC_INS_STOP = 1059
+PPC_INS_STSWI = 1060
+PPC_INS_STVEBX = 1061
+PPC_INS_STVEHX = 1062
+PPC_INS_STVEWX = 1063
+PPC_INS_STVX = 1064
+PPC_INS_STVXL = 1065
+PPC_INS_STW = 1066
+PPC_INS_STWAT = 1067
+PPC_INS_STWBRX = 1068
+PPC_INS_STWCIX = 1069
+PPC_INS_STWCX = 1070
+PPC_INS_STWEPX = 1071
+PPC_INS_STWU = 1072
+PPC_INS_STWUX = 1073
+PPC_INS_STWX = 1074
+PPC_INS_STXSD = 1075
+PPC_INS_STXSDX = 1076
+PPC_INS_STXSIBX = 1077
+PPC_INS_STXSIHX = 1078
+PPC_INS_STXSIWX = 1079
+PPC_INS_STXSSP = 1080
+PPC_INS_STXSSPX = 1081
+PPC_INS_STXV = 1082
+PPC_INS_STXVB16X = 1083
+PPC_INS_STXVD2X = 1084
+PPC_INS_STXVH8X = 1085
+PPC_INS_STXVL = 1086
+PPC_INS_STXVLL = 1087
+PPC_INS_STXVW4X = 1088
+PPC_INS_STXVX = 1089
+PPC_INS_SUB = 1090
+PPC_INS_SUBC = 1091
+PPC_INS_SUBF = 1092
+PPC_INS_SUBFC = 1093
+PPC_INS_SUBFE = 1094
+PPC_INS_SUBFIC = 1095
+PPC_INS_SUBFME = 1096
+PPC_INS_SUBFZE = 1097
+PPC_INS_SUBI = 1098
+PPC_INS_SUBIC = 1099
+PPC_INS_SUBIS = 1100
+PPC_INS_SUBPCIS = 1101
+PPC_INS_SYNC = 1102
+PPC_INS_TABORT = 1103
+PPC_INS_TABORTDC = 1104
+PPC_INS_TABORTDCI = 1105
+PPC_INS_TABORTWC = 1106
+PPC_INS_TABORTWCI = 1107
+PPC_INS_TBEGIN = 1108
+PPC_INS_TCHECK = 1109
+PPC_INS_TD = 1110
+PPC_INS_TDEQ = 1111
+PPC_INS_TDEQI = 1112
+PPC_INS_TDGE = 1113
+PPC_INS_TDGEI = 1114
+PPC_INS_TDGT = 1115
+PPC_INS_TDGTI = 1116
+PPC_INS_TDI = 1117
+PPC_INS_TDLE = 1118
+PPC_INS_TDLEI = 1119
+PPC_INS_TDLGE = 1120
+PPC_INS_TDLGEI = 1121
+PPC_INS_TDLGT = 1122
+PPC_INS_TDLGTI = 1123
+PPC_INS_TDLLE = 1124
+PPC_INS_TDLLEI = 1125
+PPC_INS_TDLLT = 1126
+PPC_INS_TDLLTI = 1127
+PPC_INS_TDLNG = 1128
+PPC_INS_TDLNGI = 1129
+PPC_INS_TDLNL = 1130
+PPC_INS_TDLNLI = 1131
+PPC_INS_TDLT = 1132
+PPC_INS_TDLTI = 1133
+PPC_INS_TDNE = 1134
+PPC_INS_TDNEI = 1135
+PPC_INS_TDNG = 1136
+PPC_INS_TDNGI = 1137
+PPC_INS_TDNL = 1138
+PPC_INS_TDNLI = 1139
+PPC_INS_TDU = 1140
+PPC_INS_TDUI = 1141
+PPC_INS_TEND = 1142
+PPC_INS_TLBIA = 1143
+PPC_INS_TLBIE = 1144
+PPC_INS_TLBIEL = 1145
+PPC_INS_TLBIVAX = 1146
+PPC_INS_TLBLD = 1147
+PPC_INS_TLBLI = 1148
+PPC_INS_TLBRE = 1149
+PPC_INS_TLBREHI = 1150
+PPC_INS_TLBRELO = 1151
+PPC_INS_TLBSX = 1152
+PPC_INS_TLBSYNC = 1153
+PPC_INS_TLBWE = 1154
+PPC_INS_TLBWEHI = 1155
+PPC_INS_TLBWELO = 1156
+PPC_INS_TRAP = 1157
+PPC_INS_TRECHKPT = 1158
+PPC_INS_TRECLAIM = 1159
+PPC_INS_TSR = 1160
+PPC_INS_TW = 1161
+PPC_INS_TWEQ = 1162
+PPC_INS_TWEQI = 1163
+PPC_INS_TWGE = 1164
+PPC_INS_TWGEI = 1165
+PPC_INS_TWGT = 1166
+PPC_INS_TWGTI = 1167
+PPC_INS_TWI = 1168
+PPC_INS_TWLE = 1169
+PPC_INS_TWLEI = 1170
+PPC_INS_TWLGE = 1171
+PPC_INS_TWLGEI = 1172
+PPC_INS_TWLGT = 1173
+PPC_INS_TWLGTI = 1174
+PPC_INS_TWLLE = 1175
+PPC_INS_TWLLEI = 1176
+PPC_INS_TWLLT = 1177
+PPC_INS_TWLLTI = 1178
+PPC_INS_TWLNG = 1179
+PPC_INS_TWLNGI = 1180
+PPC_INS_TWLNL = 1181
+PPC_INS_TWLNLI = 1182
+PPC_INS_TWLT = 1183
+PPC_INS_TWLTI = 1184
+PPC_INS_TWNE = 1185
+PPC_INS_TWNEI = 1186
+PPC_INS_TWNG = 1187
+PPC_INS_TWNGI = 1188
+PPC_INS_TWNL = 1189
+PPC_INS_TWNLI = 1190
+PPC_INS_TWU = 1191
+PPC_INS_TWUI = 1192
+PPC_INS_VABSDUB = 1193
+PPC_INS_VABSDUH = 1194
+PPC_INS_VABSDUW = 1195
+PPC_INS_VADDCUQ = 1196
+PPC_INS_VADDCUW = 1197
+PPC_INS_VADDECUQ = 1198
+PPC_INS_VADDEUQM = 1199
+PPC_INS_VADDFP = 1200
+PPC_INS_VADDSBS = 1201
+PPC_INS_VADDSHS = 1202
+PPC_INS_VADDSWS = 1203
+PPC_INS_VADDUBM = 1204
+PPC_INS_VADDUBS = 1205
+PPC_INS_VADDUDM = 1206
+PPC_INS_VADDUHM = 1207
+PPC_INS_VADDUHS = 1208
+PPC_INS_VADDUQM = 1209
+PPC_INS_VADDUWM = 1210
+PPC_INS_VADDUWS = 1211
+PPC_INS_VAND = 1212
+PPC_INS_VANDC = 1213
+PPC_INS_VAVGSB = 1214
+PPC_INS_VAVGSH = 1215
+PPC_INS_VAVGSW = 1216
+PPC_INS_VAVGUB = 1217
+PPC_INS_VAVGUH = 1218
+PPC_INS_VAVGUW = 1219
+PPC_INS_VBPERMD = 1220
+PPC_INS_VBPERMQ = 1221
+PPC_INS_VCFSX = 1222
+PPC_INS_VCFUX = 1223
+PPC_INS_VCIPHER = 1224
+PPC_INS_VCIPHERLAST = 1225
+PPC_INS_VCLZB = 1226
+PPC_INS_VCLZD = 1227
+PPC_INS_VCLZH = 1228
+PPC_INS_VCLZLSBB = 1229
+PPC_INS_VCLZW = 1230
+PPC_INS_VCMPBFP = 1231
+PPC_INS_VCMPEQFP = 1232
+PPC_INS_VCMPEQUB = 1233
+PPC_INS_VCMPEQUD = 1234
+PPC_INS_VCMPEQUH = 1235
+PPC_INS_VCMPEQUW = 1236
+PPC_INS_VCMPGEFP = 1237
+PPC_INS_VCMPGTFP = 1238
+PPC_INS_VCMPGTSB = 1239
+PPC_INS_VCMPGTSD = 1240
+PPC_INS_VCMPGTSH = 1241
+PPC_INS_VCMPGTSW = 1242
+PPC_INS_VCMPGTUB = 1243
+PPC_INS_VCMPGTUD = 1244
+PPC_INS_VCMPGTUH = 1245
+PPC_INS_VCMPGTUW = 1246
+PPC_INS_VCMPNEB = 1247
+PPC_INS_VCMPNEH = 1248
+PPC_INS_VCMPNEW = 1249
+PPC_INS_VCMPNEZB = 1250
+PPC_INS_VCMPNEZH = 1251
+PPC_INS_VCMPNEZW = 1252
+PPC_INS_VCTSXS = 1253
+PPC_INS_VCTUXS = 1254
+PPC_INS_VCTZB = 1255
+PPC_INS_VCTZD = 1256
+PPC_INS_VCTZH = 1257
+PPC_INS_VCTZLSBB = 1258
+PPC_INS_VCTZW = 1259
+PPC_INS_VEQV = 1260
+PPC_INS_VEXPTEFP = 1261
+PPC_INS_VEXTRACTD = 1262
+PPC_INS_VEXTRACTUB = 1263
+PPC_INS_VEXTRACTUH = 1264
+PPC_INS_VEXTRACTUW = 1265
+PPC_INS_VEXTSB2D = 1266
+PPC_INS_VEXTSB2W = 1267
+PPC_INS_VEXTSH2D = 1268
+PPC_INS_VEXTSH2W = 1269
+PPC_INS_VEXTSW2D = 1270
+PPC_INS_VEXTUBLX = 1271
+PPC_INS_VEXTUBRX = 1272
+PPC_INS_VEXTUHLX = 1273
+PPC_INS_VEXTUHRX = 1274
+PPC_INS_VEXTUWLX = 1275
+PPC_INS_VEXTUWRX = 1276
+PPC_INS_VGBBD = 1277
+PPC_INS_VINSERTB = 1278
+PPC_INS_VINSERTD = 1279
+PPC_INS_VINSERTH = 1280
+PPC_INS_VINSERTW = 1281
+PPC_INS_VLOGEFP = 1282
+PPC_INS_VMADDFP = 1283
+PPC_INS_VMAXFP = 1284
+PPC_INS_VMAXSB = 1285
+PPC_INS_VMAXSD = 1286
+PPC_INS_VMAXSH = 1287
+PPC_INS_VMAXSW = 1288
+PPC_INS_VMAXUB = 1289
+PPC_INS_VMAXUD = 1290
+PPC_INS_VMAXUH = 1291
+PPC_INS_VMAXUW = 1292
+PPC_INS_VMHADDSHS = 1293
+PPC_INS_VMHRADDSHS = 1294
+PPC_INS_VMINFP = 1295
+PPC_INS_VMINSB = 1296
+PPC_INS_VMINSD = 1297
+PPC_INS_VMINSH = 1298
+PPC_INS_VMINSW = 1299
+PPC_INS_VMINUB = 1300
+PPC_INS_VMINUD = 1301
+PPC_INS_VMINUH = 1302
+PPC_INS_VMINUW = 1303
+PPC_INS_VMLADDUHM = 1304
+PPC_INS_VMR = 1305
+PPC_INS_VMRGEW = 1306
+PPC_INS_VMRGHB = 1307
+PPC_INS_VMRGHH = 1308
+PPC_INS_VMRGHW = 1309
+PPC_INS_VMRGLB = 1310
+PPC_INS_VMRGLH = 1311
+PPC_INS_VMRGLW = 1312
+PPC_INS_VMRGOW = 1313
+PPC_INS_VMSUMMBM = 1314
+PPC_INS_VMSUMSHM = 1315
+PPC_INS_VMSUMSHS = 1316
+PPC_INS_VMSUMUBM = 1317
+PPC_INS_VMSUMUHM = 1318
+PPC_INS_VMSUMUHS = 1319
+PPC_INS_VMUL10CUQ = 1320
+PPC_INS_VMUL10ECUQ = 1321
+PPC_INS_VMUL10EUQ = 1322
+PPC_INS_VMUL10UQ = 1323
+PPC_INS_VMULESB = 1324
+PPC_INS_VMULESH = 1325
+PPC_INS_VMULESW = 1326
+PPC_INS_VMULEUB = 1327
+PPC_INS_VMULEUH = 1328
+PPC_INS_VMULEUW = 1329
+PPC_INS_VMULOSB = 1330
+PPC_INS_VMULOSH = 1331
+PPC_INS_VMULOSW = 1332
+PPC_INS_VMULOUB = 1333
+PPC_INS_VMULOUH = 1334
+PPC_INS_VMULOUW = 1335
+PPC_INS_VMULUWM = 1336
+PPC_INS_VNAND = 1337
+PPC_INS_VNCIPHER = 1338
+PPC_INS_VNCIPHERLAST = 1339
+PPC_INS_VNEGD = 1340
+PPC_INS_VNEGW = 1341
+PPC_INS_VNMSUBFP = 1342
+PPC_INS_VNOR = 1343
+PPC_INS_VNOT = 1344
+PPC_INS_VOR = 1345
+PPC_INS_VORC = 1346
+PPC_INS_VPERM = 1347
+PPC_INS_VPERMR = 1348
+PPC_INS_VPERMXOR = 1349
+PPC_INS_VPKPX = 1350
+PPC_INS_VPKSDSS = 1351
+PPC_INS_VPKSDUS = 1352
+PPC_INS_VPKSHSS = 1353
+PPC_INS_VPKSHUS = 1354
+PPC_INS_VPKSWSS = 1355
+PPC_INS_VPKSWUS = 1356
+PPC_INS_VPKUDUM = 1357
+PPC_INS_VPKUDUS = 1358
+PPC_INS_VPKUHUM = 1359
+PPC_INS_VPKUHUS = 1360
+PPC_INS_VPKUWUM = 1361
+PPC_INS_VPKUWUS = 1362
+PPC_INS_VPMSUMB = 1363
+PPC_INS_VPMSUMD = 1364
+PPC_INS_VPMSUMH = 1365
+PPC_INS_VPMSUMW = 1366
+PPC_INS_VPOPCNTB = 1367
+PPC_INS_VPOPCNTD = 1368
+PPC_INS_VPOPCNTH = 1369
+PPC_INS_VPOPCNTW = 1370
+PPC_INS_VPRTYBD = 1371
+PPC_INS_VPRTYBQ = 1372
+PPC_INS_VPRTYBW = 1373
+PPC_INS_VREFP = 1374
+PPC_INS_VRFIM = 1375
+PPC_INS_VRFIN = 1376
+PPC_INS_VRFIP = 1377
+PPC_INS_VRFIZ = 1378
+PPC_INS_VRLB = 1379
+PPC_INS_VRLD = 1380
+PPC_INS_VRLDMI = 1381
+PPC_INS_VRLDNM = 1382
+PPC_INS_VRLH = 1383
+PPC_INS_VRLW = 1384
+PPC_INS_VRLWMI = 1385
+PPC_INS_VRLWNM = 1386
+PPC_INS_VRSQRTEFP = 1387
+PPC_INS_VSBOX = 1388
+PPC_INS_VSEL = 1389
+PPC_INS_VSHASIGMAD = 1390
+PPC_INS_VSHASIGMAW = 1391
+PPC_INS_VSL = 1392
+PPC_INS_VSLB = 1393
+PPC_INS_VSLD = 1394
+PPC_INS_VSLDOI = 1395
+PPC_INS_VSLH = 1396
+PPC_INS_VSLO = 1397
+PPC_INS_VSLV = 1398
+PPC_INS_VSLW = 1399
+PPC_INS_VSPLTB = 1400
+PPC_INS_VSPLTH = 1401
+PPC_INS_VSPLTISB = 1402
+PPC_INS_VSPLTISH = 1403
+PPC_INS_VSPLTISW = 1404
+PPC_INS_VSPLTW = 1405
+PPC_INS_VSR = 1406
+PPC_INS_VSRAB = 1407
+PPC_INS_VSRAD = 1408
+PPC_INS_VSRAH = 1409
+PPC_INS_VSRAW = 1410
+PPC_INS_VSRB = 1411
+PPC_INS_VSRD = 1412
+PPC_INS_VSRH = 1413
+PPC_INS_VSRO = 1414
+PPC_INS_VSRV = 1415
+PPC_INS_VSRW = 1416
+PPC_INS_VSUBCUQ = 1417
+PPC_INS_VSUBCUW = 1418
+PPC_INS_VSUBECUQ = 1419
+PPC_INS_VSUBEUQM = 1420
+PPC_INS_VSUBFP = 1421
+PPC_INS_VSUBSBS = 1422
+PPC_INS_VSUBSHS = 1423
+PPC_INS_VSUBSWS = 1424
+PPC_INS_VSUBUBM = 1425
+PPC_INS_VSUBUBS = 1426
+PPC_INS_VSUBUDM = 1427
+PPC_INS_VSUBUHM = 1428
+PPC_INS_VSUBUHS = 1429
+PPC_INS_VSUBUQM = 1430
+PPC_INS_VSUBUWM = 1431
+PPC_INS_VSUBUWS = 1432
+PPC_INS_VSUM2SWS = 1433
+PPC_INS_VSUM4SBS = 1434
+PPC_INS_VSUM4SHS = 1435
+PPC_INS_VSUM4UBS = 1436
+PPC_INS_VSUMSWS = 1437
+PPC_INS_VUPKHPX = 1438
+PPC_INS_VUPKHSB = 1439
+PPC_INS_VUPKHSH = 1440
+PPC_INS_VUPKHSW = 1441
+PPC_INS_VUPKLPX = 1442
+PPC_INS_VUPKLSB = 1443
+PPC_INS_VUPKLSH = 1444
+PPC_INS_VUPKLSW = 1445
+PPC_INS_VXOR = 1446
+PPC_INS_WAIT = 1447
+PPC_INS_WAITIMPL = 1448
+PPC_INS_WAITRSV = 1449
+PPC_INS_WRTEE = 1450
+PPC_INS_WRTEEI = 1451
+PPC_INS_XNOP = 1452
+PPC_INS_XOR = 1453
+PPC_INS_XORI = 1454
+PPC_INS_XORIS = 1455
+PPC_INS_XSABSDP = 1456
+PPC_INS_XSABSQP = 1457
+PPC_INS_XSADDDP = 1458
+PPC_INS_XSADDQP = 1459
+PPC_INS_XSADDQPO = 1460
+PPC_INS_XSADDSP = 1461
+PPC_INS_XSCMPEQDP = 1462
+PPC_INS_XSCMPEXPDP = 1463
+PPC_INS_XSCMPEXPQP = 1464
+PPC_INS_XSCMPGEDP = 1465
+PPC_INS_XSCMPGTDP = 1466
+PPC_INS_XSCMPODP = 1467
+PPC_INS_XSCMPOQP = 1468
+PPC_INS_XSCMPUDP = 1469
+PPC_INS_XSCMPUQP = 1470
+PPC_INS_XSCPSGNDP = 1471
+PPC_INS_XSCPSGNQP = 1472
+PPC_INS_XSCVDPHP = 1473
+PPC_INS_XSCVDPQP = 1474
+PPC_INS_XSCVDPSP = 1475
+PPC_INS_XSCVDPSPN = 1476
+PPC_INS_XSCVDPSXDS = 1477
+PPC_INS_XSCVDPSXWS = 1478
+PPC_INS_XSCVDPUXDS = 1479
+PPC_INS_XSCVDPUXWS = 1480
+PPC_INS_XSCVHPDP = 1481
+PPC_INS_XSCVQPDP = 1482
+PPC_INS_XSCVQPDPO = 1483
+PPC_INS_XSCVQPSDZ = 1484
+PPC_INS_XSCVQPSWZ = 1485
+PPC_INS_XSCVQPUDZ = 1486
+PPC_INS_XSCVQPUWZ = 1487
+PPC_INS_XSCVSDQP = 1488
+PPC_INS_XSCVSPDP = 1489
+PPC_INS_XSCVSPDPN = 1490
+PPC_INS_XSCVSXDDP = 1491
+PPC_INS_XSCVSXDSP = 1492
+PPC_INS_XSCVUDQP = 1493
+PPC_INS_XSCVUXDDP = 1494
+PPC_INS_XSCVUXDSP = 1495
+PPC_INS_XSDIVDP = 1496
+PPC_INS_XSDIVQP = 1497
+PPC_INS_XSDIVQPO = 1498
+PPC_INS_XSDIVSP = 1499
+PPC_INS_XSIEXPDP = 1500
+PPC_INS_XSIEXPQP = 1501
+PPC_INS_XSMADDADP = 1502
+PPC_INS_XSMADDASP = 1503
+PPC_INS_XSMADDMDP = 1504
+PPC_INS_XSMADDMSP = 1505
+PPC_INS_XSMADDQP = 1506
+PPC_INS_XSMADDQPO = 1507
+PPC_INS_XSMAXCDP = 1508
+PPC_INS_XSMAXDP = 1509
+PPC_INS_XSMAXJDP = 1510
+PPC_INS_XSMINCDP = 1511
+PPC_INS_XSMINDP = 1512
+PPC_INS_XSMINJDP = 1513
+PPC_INS_XSMSUBADP = 1514
+PPC_INS_XSMSUBASP = 1515
+PPC_INS_XSMSUBMDP = 1516
+PPC_INS_XSMSUBMSP = 1517
+PPC_INS_XSMSUBQP = 1518
+PPC_INS_XSMSUBQPO = 1519
+PPC_INS_XSMULDP = 1520
+PPC_INS_XSMULQP = 1521
+PPC_INS_XSMULQPO = 1522
+PPC_INS_XSMULSP = 1523
+PPC_INS_XSNABSDP = 1524
+PPC_INS_XSNABSQP = 1525
+PPC_INS_XSNEGDP = 1526
+PPC_INS_XSNEGQP = 1527
+PPC_INS_XSNMADDADP = 1528
+PPC_INS_XSNMADDASP = 1529
+PPC_INS_XSNMADDMDP = 1530
+PPC_INS_XSNMADDMSP = 1531
+PPC_INS_XSNMADDQP = 1532
+PPC_INS_XSNMADDQPO = 1533
+PPC_INS_XSNMSUBADP = 1534
+PPC_INS_XSNMSUBASP = 1535
+PPC_INS_XSNMSUBMDP = 1536
+PPC_INS_XSNMSUBMSP = 1537
+PPC_INS_XSNMSUBQP = 1538
+PPC_INS_XSNMSUBQPO = 1539
+PPC_INS_XSRDPI = 1540
+PPC_INS_XSRDPIC = 1541
+PPC_INS_XSRDPIM = 1542
+PPC_INS_XSRDPIP = 1543
+PPC_INS_XSRDPIZ = 1544
+PPC_INS_XSREDP = 1545
+PPC_INS_XSRESP = 1546
+PPC_INS_XSRQPI = 1547
+PPC_INS_XSRQPIX = 1548
+PPC_INS_XSRQPXP = 1549
+PPC_INS_XSRSP = 1550
+PPC_INS_XSRSQRTEDP = 1551
+PPC_INS_XSRSQRTESP = 1552
+PPC_INS_XSSQRTDP = 1553
+PPC_INS_XSSQRTQP = 1554
+PPC_INS_XSSQRTQPO = 1555
+PPC_INS_XSSQRTSP = 1556
+PPC_INS_XSSUBDP = 1557
+PPC_INS_XSSUBQP = 1558
+PPC_INS_XSSUBQPO = 1559
+PPC_INS_XSSUBSP = 1560
+PPC_INS_XSTDIVDP = 1561
+PPC_INS_XSTSQRTDP = 1562
+PPC_INS_XSTSTDCDP = 1563
+PPC_INS_XSTSTDCQP = 1564
+PPC_INS_XSTSTDCSP = 1565
+PPC_INS_XSXEXPDP = 1566
+PPC_INS_XSXEXPQP = 1567
+PPC_INS_XSXSIGDP = 1568
+PPC_INS_XSXSIGQP = 1569
+PPC_INS_XVABSDP = 1570
+PPC_INS_XVABSSP = 1571
+PPC_INS_XVADDDP = 1572
+PPC_INS_XVADDSP = 1573
+PPC_INS_XVCMPEQDP = 1574
+PPC_INS_XVCMPEQSP = 1575
+PPC_INS_XVCMPGEDP = 1576
+PPC_INS_XVCMPGESP = 1577
+PPC_INS_XVCMPGTDP = 1578
+PPC_INS_XVCMPGTSP = 1579
+PPC_INS_XVCPSGNDP = 1580
+PPC_INS_XVCPSGNSP = 1581
+PPC_INS_XVCVDPSP = 1582
+PPC_INS_XVCVDPSXDS = 1583
+PPC_INS_XVCVDPSXWS = 1584
+PPC_INS_XVCVDPUXDS = 1585
+PPC_INS_XVCVDPUXWS = 1586
+PPC_INS_XVCVHPSP = 1587
+PPC_INS_XVCVSPDP = 1588
+PPC_INS_XVCVSPHP = 1589
+PPC_INS_XVCVSPSXDS = 1590
+PPC_INS_XVCVSPSXWS = 1591
+PPC_INS_XVCVSPUXDS = 1592
+PPC_INS_XVCVSPUXWS = 1593
+PPC_INS_XVCVSXDDP = 1594
+PPC_INS_XVCVSXDSP = 1595
+PPC_INS_XVCVSXWDP = 1596
+PPC_INS_XVCVSXWSP = 1597
+PPC_INS_XVCVUXDDP = 1598
+PPC_INS_XVCVUXDSP = 1599
+PPC_INS_XVCVUXWDP = 1600
+PPC_INS_XVCVUXWSP = 1601
+PPC_INS_XVDIVDP = 1602
+PPC_INS_XVDIVSP = 1603
+PPC_INS_XVIEXPDP = 1604
+PPC_INS_XVIEXPSP = 1605
+PPC_INS_XVMADDADP = 1606
+PPC_INS_XVMADDASP = 1607
+PPC_INS_XVMADDMDP = 1608
+PPC_INS_XVMADDMSP = 1609
+PPC_INS_XVMAXDP = 1610
+PPC_INS_XVMAXSP = 1611
+PPC_INS_XVMINDP = 1612
+PPC_INS_XVMINSP = 1613
+PPC_INS_XVMOVDP = 1614
+PPC_INS_XVMOVSP = 1615
+PPC_INS_XVMSUBADP = 1616
+PPC_INS_XVMSUBASP = 1617
+PPC_INS_XVMSUBMDP = 1618
+PPC_INS_XVMSUBMSP = 1619
+PPC_INS_XVMULDP = 1620
+PPC_INS_XVMULSP = 1621
+PPC_INS_XVNABSDP = 1622
+PPC_INS_XVNABSSP = 1623
+PPC_INS_XVNEGDP = 1624
+PPC_INS_XVNEGSP = 1625
+PPC_INS_XVNMADDADP = 1626
+PPC_INS_XVNMADDASP = 1627
+PPC_INS_XVNMADDMDP = 1628
+PPC_INS_XVNMADDMSP = 1629
+PPC_INS_XVNMSUBADP = 1630
+PPC_INS_XVNMSUBASP = 1631
+PPC_INS_XVNMSUBMDP = 1632
+PPC_INS_XVNMSUBMSP = 1633
+PPC_INS_XVRDPI = 1634
+PPC_INS_XVRDPIC = 1635
+PPC_INS_XVRDPIM = 1636
+PPC_INS_XVRDPIP = 1637
+PPC_INS_XVRDPIZ = 1638
+PPC_INS_XVREDP = 1639
+PPC_INS_XVRESP = 1640
+PPC_INS_XVRSPI = 1641
+PPC_INS_XVRSPIC = 1642
+PPC_INS_XVRSPIM = 1643
+PPC_INS_XVRSPIP = 1644
+PPC_INS_XVRSPIZ = 1645
+PPC_INS_XVRSQRTEDP = 1646
+PPC_INS_XVRSQRTESP = 1647
+PPC_INS_XVSQRTDP = 1648
+PPC_INS_XVSQRTSP = 1649
+PPC_INS_XVSUBDP = 1650
+PPC_INS_XVSUBSP = 1651
+PPC_INS_XVTDIVDP = 1652
+PPC_INS_XVTDIVSP = 1653
+PPC_INS_XVTSQRTDP = 1654
+PPC_INS_XVTSQRTSP = 1655
+PPC_INS_XVTSTDCDP = 1656
+PPC_INS_XVTSTDCSP = 1657
+PPC_INS_XVXEXPDP = 1658
+PPC_INS_XVXEXPSP = 1659
+PPC_INS_XVXSIGDP = 1660
+PPC_INS_XVXSIGSP = 1661
+PPC_INS_XXBRD = 1662
+PPC_INS_XXBRH = 1663
+PPC_INS_XXBRQ = 1664
+PPC_INS_XXBRW = 1665
+PPC_INS_XXEXTRACTUW = 1666
+PPC_INS_XXINSERTW = 1667
+PPC_INS_XXLAND = 1668
+PPC_INS_XXLANDC = 1669
+PPC_INS_XXLEQV = 1670
+PPC_INS_XXLNAND = 1671
+PPC_INS_XXLNOR = 1672
+PPC_INS_XXLOR = 1673
+PPC_INS_XXLORC = 1674
+PPC_INS_XXLXOR = 1675
+PPC_INS_XXMRGHD = 1676
+PPC_INS_XXMRGHW = 1677
+PPC_INS_XXMRGLD = 1678
+PPC_INS_XXMRGLW = 1679
+PPC_INS_XXPERM = 1680
+PPC_INS_XXPERMDI = 1681
+PPC_INS_XXPERMR = 1682
+PPC_INS_XXSEL = 1683
+PPC_INS_XXSLDWI = 1684
+PPC_INS_XXSPLTD = 1685
+PPC_INS_XXSPLTIB = 1686
+PPC_INS_XXSPLTW = 1687
+PPC_INS_XXSWAPD = 1688
+PPC_INS_ENDING = 1689
+
+PPC_GRP_INVALID = 0
+PPC_GRP_JUMP = 1
+PPC_GRP_ALTIVEC = 128
+PPC_GRP_MODE32 = 129
+PPC_GRP_MODE64 = 130
+PPC_GRP_BOOKE = 131
+PPC_GRP_NOTBOOKE = 132
+PPC_GRP_SPE = 133
+PPC_GRP_VSX = 134
+PPC_GRP_E500 = 135
+PPC_GRP_PPC4XX = 136
+PPC_GRP_PPC6XX = 137
+PPC_GRP_ICBT = 138
+PPC_GRP_P8ALTIVEC = 139
+PPC_GRP_P8VECTOR = 140
+PPC_GRP_QPX = 141
+PPC_GRP_ENDING = 142
diff --git a/capstone/bindings/python/capstone/riscv.py b/capstone/bindings/python/capstone/riscv.py
new file mode 100644
index 000000000..6e33a75f7
--- /dev/null
+++ b/capstone/bindings/python/capstone/riscv.py
@@ -0,0 +1,49 @@
+# Capstone Python bindings, by Nguyen Anh Quynnh <aquynh@gmail.com>
+
+import ctypes
+from . import copy_ctypes_list
+from .riscv_const import *
+
+# define the API
+class RISCVOpMem(ctypes.Structure):
+ _fields_ = (
+ ('base', ctypes.c_uint8),
+ ('disp', ctypes.c_int64),
+ )
+
+class RISCVOpValue(ctypes.Union):
+ _fields_ = (
+ ('reg', ctypes.c_uint),
+ ('imm', ctypes.c_int64),
+ ('mem', RISCVOpMem),
+ )
+
+class RISCVOp(ctypes.Structure):
+ _fields_ = (
+ ('type', ctypes.c_uint),
+ ('value', RISCVOpValue),
+ )
+
+ @property
+ def imm(self):
+ return self.value.imm
+
+ @property
+ def reg(self):
+ return self.value.reg
+
+ @property
+ def mem(self):
+ return self.value.mem
+
+
+class CsRISCV(ctypes.Structure):
+ _fields_ = (
+ ('need_effective_addr', ctypes.c_bool),
+ ('op_count', ctypes.c_uint8),
+ ('operands', RISCVOp * 8),
+ )
+
+def get_arch_info(a):
+ return (copy_ctypes_list(a.operands[:a.op_count]))
+
diff --git a/capstone/bindings/python/capstone/riscv_const.py b/capstone/bindings/python/capstone/riscv_const.py
new file mode 100644
index 000000000..811d965ba
--- /dev/null
+++ b/capstone/bindings/python/capstone/riscv_const.py
@@ -0,0 +1,449 @@
+# For Capstone Engine. AUTO-GENERATED FILE, DO NOT EDIT [riscv_const.py]
+
+# Operand type for instruction's operands
+
+RISCV_OP_INVALID = 0
+RISCV_OP_REG = 1
+RISCV_OP_IMM = 2
+RISCV_OP_MEM = 3
+
+# RISCV registers
+
+RISCV_REG_INVALID = 0
+
+# General purpose registers
+RISCV_REG_X0 = 1
+RISCV_REG_ZERO = RISCV_REG_X0
+RISCV_REG_X1 = 2
+RISCV_REG_RA = RISCV_REG_X1
+RISCV_REG_X2 = 3
+RISCV_REG_SP = RISCV_REG_X2
+RISCV_REG_X3 = 4
+RISCV_REG_GP = RISCV_REG_X3
+RISCV_REG_X4 = 5
+RISCV_REG_TP = RISCV_REG_X4
+RISCV_REG_X5 = 6
+RISCV_REG_T0 = RISCV_REG_X5
+RISCV_REG_X6 = 7
+RISCV_REG_T1 = RISCV_REG_X6
+RISCV_REG_X7 = 8
+RISCV_REG_T2 = RISCV_REG_X7
+RISCV_REG_X8 = 9
+RISCV_REG_S0 = RISCV_REG_X8
+RISCV_REG_FP = RISCV_REG_X8
+RISCV_REG_X9 = 10
+RISCV_REG_S1 = RISCV_REG_X9
+RISCV_REG_X10 = 11
+RISCV_REG_A0 = RISCV_REG_X10
+RISCV_REG_X11 = 12
+RISCV_REG_A1 = RISCV_REG_X11
+RISCV_REG_X12 = 13
+RISCV_REG_A2 = RISCV_REG_X12
+RISCV_REG_X13 = 14
+RISCV_REG_A3 = RISCV_REG_X13
+RISCV_REG_X14 = 15
+RISCV_REG_A4 = RISCV_REG_X14
+RISCV_REG_X15 = 16
+RISCV_REG_A5 = RISCV_REG_X15
+RISCV_REG_X16 = 17
+RISCV_REG_A6 = RISCV_REG_X16
+RISCV_REG_X17 = 18
+RISCV_REG_A7 = RISCV_REG_X17
+RISCV_REG_X18 = 19
+RISCV_REG_S2 = RISCV_REG_X18
+RISCV_REG_X19 = 20
+RISCV_REG_S3 = RISCV_REG_X19
+RISCV_REG_X20 = 21
+RISCV_REG_S4 = RISCV_REG_X20
+RISCV_REG_X21 = 22
+RISCV_REG_S5 = RISCV_REG_X21
+RISCV_REG_X22 = 23
+RISCV_REG_S6 = RISCV_REG_X22
+RISCV_REG_X23 = 24
+RISCV_REG_S7 = RISCV_REG_X23
+RISCV_REG_X24 = 25
+RISCV_REG_S8 = RISCV_REG_X24
+RISCV_REG_X25 = 26
+RISCV_REG_S9 = RISCV_REG_X25
+RISCV_REG_X26 = 27
+RISCV_REG_S10 = RISCV_REG_X26
+RISCV_REG_X27 = 28
+RISCV_REG_S11 = RISCV_REG_X27
+RISCV_REG_X28 = 29
+RISCV_REG_T3 = RISCV_REG_X28
+RISCV_REG_X29 = 30
+RISCV_REG_T4 = RISCV_REG_X29
+RISCV_REG_X30 = 31
+RISCV_REG_T5 = RISCV_REG_X30
+RISCV_REG_X31 = 32
+RISCV_REG_T6 = RISCV_REG_X31
+
+# Floating-point registers
+RISCV_REG_F0_32 = 33
+RISCV_REG_F0_64 = 34
+RISCV_REG_F1_32 = 35
+RISCV_REG_F1_64 = 36
+RISCV_REG_F2_32 = 37
+RISCV_REG_F2_64 = 38
+RISCV_REG_F3_32 = 39
+RISCV_REG_F3_64 = 40
+RISCV_REG_F4_32 = 41
+RISCV_REG_F4_64 = 42
+RISCV_REG_F5_32 = 43
+RISCV_REG_F5_64 = 44
+RISCV_REG_F6_32 = 45
+RISCV_REG_F6_64 = 46
+RISCV_REG_F7_32 = 47
+RISCV_REG_F7_64 = 48
+RISCV_REG_F8_32 = 49
+RISCV_REG_F8_64 = 50
+RISCV_REG_F9_32 = 51
+RISCV_REG_F9_64 = 52
+RISCV_REG_F10_32 = 53
+RISCV_REG_F10_64 = 54
+RISCV_REG_F11_32 = 55
+RISCV_REG_F11_64 = 56
+RISCV_REG_F12_32 = 57
+RISCV_REG_F12_64 = 58
+RISCV_REG_F13_32 = 59
+RISCV_REG_F13_64 = 60
+RISCV_REG_F14_32 = 61
+RISCV_REG_F14_64 = 62
+RISCV_REG_F15_32 = 63
+RISCV_REG_F15_64 = 64
+RISCV_REG_F16_32 = 65
+RISCV_REG_F16_64 = 66
+RISCV_REG_F17_32 = 67
+RISCV_REG_F17_64 = 68
+RISCV_REG_F18_32 = 69
+RISCV_REG_F18_64 = 70
+RISCV_REG_F19_32 = 71
+RISCV_REG_F19_64 = 72
+RISCV_REG_F20_32 = 73
+RISCV_REG_F20_64 = 74
+RISCV_REG_F21_32 = 75
+RISCV_REG_F21_64 = 76
+RISCV_REG_F22_32 = 77
+RISCV_REG_F22_64 = 78
+RISCV_REG_F23_32 = 79
+RISCV_REG_F23_64 = 80
+RISCV_REG_F24_32 = 81
+RISCV_REG_F24_64 = 82
+RISCV_REG_F25_32 = 83
+RISCV_REG_F25_64 = 84
+RISCV_REG_F26_32 = 85
+RISCV_REG_F26_64 = 86
+RISCV_REG_F27_32 = 87
+RISCV_REG_F27_64 = 88
+RISCV_REG_F28_32 = 89
+RISCV_REG_F28_64 = 90
+RISCV_REG_F29_32 = 91
+RISCV_REG_F29_64 = 92
+RISCV_REG_F30_32 = 93
+RISCV_REG_F30_64 = 94
+RISCV_REG_F31_32 = 95
+RISCV_REG_F31_64 = 96
+RISCV_REG_ENDING = 97
+
+# RISCV instruction
+
+RISCV_INS_INVALID = 0
+RISCV_INS_ADD = 1
+RISCV_INS_ADDI = 2
+RISCV_INS_ADDIW = 3
+RISCV_INS_ADDW = 4
+RISCV_INS_AMOADD_D = 5
+RISCV_INS_AMOADD_D_AQ = 6
+RISCV_INS_AMOADD_D_AQ_RL = 7
+RISCV_INS_AMOADD_D_RL = 8
+RISCV_INS_AMOADD_W = 9
+RISCV_INS_AMOADD_W_AQ = 10
+RISCV_INS_AMOADD_W_AQ_RL = 11
+RISCV_INS_AMOADD_W_RL = 12
+RISCV_INS_AMOAND_D = 13
+RISCV_INS_AMOAND_D_AQ = 14
+RISCV_INS_AMOAND_D_AQ_RL = 15
+RISCV_INS_AMOAND_D_RL = 16
+RISCV_INS_AMOAND_W = 17
+RISCV_INS_AMOAND_W_AQ = 18
+RISCV_INS_AMOAND_W_AQ_RL = 19
+RISCV_INS_AMOAND_W_RL = 20
+RISCV_INS_AMOMAXU_D = 21
+RISCV_INS_AMOMAXU_D_AQ = 22
+RISCV_INS_AMOMAXU_D_AQ_RL = 23
+RISCV_INS_AMOMAXU_D_RL = 24
+RISCV_INS_AMOMAXU_W = 25
+RISCV_INS_AMOMAXU_W_AQ = 26
+RISCV_INS_AMOMAXU_W_AQ_RL = 27
+RISCV_INS_AMOMAXU_W_RL = 28
+RISCV_INS_AMOMAX_D = 29
+RISCV_INS_AMOMAX_D_AQ = 30
+RISCV_INS_AMOMAX_D_AQ_RL = 31
+RISCV_INS_AMOMAX_D_RL = 32
+RISCV_INS_AMOMAX_W = 33
+RISCV_INS_AMOMAX_W_AQ = 34
+RISCV_INS_AMOMAX_W_AQ_RL = 35
+RISCV_INS_AMOMAX_W_RL = 36
+RISCV_INS_AMOMINU_D = 37
+RISCV_INS_AMOMINU_D_AQ = 38
+RISCV_INS_AMOMINU_D_AQ_RL = 39
+RISCV_INS_AMOMINU_D_RL = 40
+RISCV_INS_AMOMINU_W = 41
+RISCV_INS_AMOMINU_W_AQ = 42
+RISCV_INS_AMOMINU_W_AQ_RL = 43
+RISCV_INS_AMOMINU_W_RL = 44
+RISCV_INS_AMOMIN_D = 45
+RISCV_INS_AMOMIN_D_AQ = 46
+RISCV_INS_AMOMIN_D_AQ_RL = 47
+RISCV_INS_AMOMIN_D_RL = 48
+RISCV_INS_AMOMIN_W = 49
+RISCV_INS_AMOMIN_W_AQ = 50
+RISCV_INS_AMOMIN_W_AQ_RL = 51
+RISCV_INS_AMOMIN_W_RL = 52
+RISCV_INS_AMOOR_D = 53
+RISCV_INS_AMOOR_D_AQ = 54
+RISCV_INS_AMOOR_D_AQ_RL = 55
+RISCV_INS_AMOOR_D_RL = 56
+RISCV_INS_AMOOR_W = 57
+RISCV_INS_AMOOR_W_AQ = 58
+RISCV_INS_AMOOR_W_AQ_RL = 59
+RISCV_INS_AMOOR_W_RL = 60
+RISCV_INS_AMOSWAP_D = 61
+RISCV_INS_AMOSWAP_D_AQ = 62
+RISCV_INS_AMOSWAP_D_AQ_RL = 63
+RISCV_INS_AMOSWAP_D_RL = 64
+RISCV_INS_AMOSWAP_W = 65
+RISCV_INS_AMOSWAP_W_AQ = 66
+RISCV_INS_AMOSWAP_W_AQ_RL = 67
+RISCV_INS_AMOSWAP_W_RL = 68
+RISCV_INS_AMOXOR_D = 69
+RISCV_INS_AMOXOR_D_AQ = 70
+RISCV_INS_AMOXOR_D_AQ_RL = 71
+RISCV_INS_AMOXOR_D_RL = 72
+RISCV_INS_AMOXOR_W = 73
+RISCV_INS_AMOXOR_W_AQ = 74
+RISCV_INS_AMOXOR_W_AQ_RL = 75
+RISCV_INS_AMOXOR_W_RL = 76
+RISCV_INS_AND = 77
+RISCV_INS_ANDI = 78
+RISCV_INS_AUIPC = 79
+RISCV_INS_BEQ = 80
+RISCV_INS_BGE = 81
+RISCV_INS_BGEU = 82
+RISCV_INS_BLT = 83
+RISCV_INS_BLTU = 84
+RISCV_INS_BNE = 85
+RISCV_INS_CSRRC = 86
+RISCV_INS_CSRRCI = 87
+RISCV_INS_CSRRS = 88
+RISCV_INS_CSRRSI = 89
+RISCV_INS_CSRRW = 90
+RISCV_INS_CSRRWI = 91
+RISCV_INS_C_ADD = 92
+RISCV_INS_C_ADDI = 93
+RISCV_INS_C_ADDI16SP = 94
+RISCV_INS_C_ADDI4SPN = 95
+RISCV_INS_C_ADDIW = 96
+RISCV_INS_C_ADDW = 97
+RISCV_INS_C_AND = 98
+RISCV_INS_C_ANDI = 99
+RISCV_INS_C_BEQZ = 100
+RISCV_INS_C_BNEZ = 101
+RISCV_INS_C_EBREAK = 102
+RISCV_INS_C_FLD = 103
+RISCV_INS_C_FLDSP = 104
+RISCV_INS_C_FLW = 105
+RISCV_INS_C_FLWSP = 106
+RISCV_INS_C_FSD = 107
+RISCV_INS_C_FSDSP = 108
+RISCV_INS_C_FSW = 109
+RISCV_INS_C_FSWSP = 110
+RISCV_INS_C_J = 111
+RISCV_INS_C_JAL = 112
+RISCV_INS_C_JALR = 113
+RISCV_INS_C_JR = 114
+RISCV_INS_C_LD = 115
+RISCV_INS_C_LDSP = 116
+RISCV_INS_C_LI = 117
+RISCV_INS_C_LUI = 118
+RISCV_INS_C_LW = 119
+RISCV_INS_C_LWSP = 120
+RISCV_INS_C_MV = 121
+RISCV_INS_C_NOP = 122
+RISCV_INS_C_OR = 123
+RISCV_INS_C_SD = 124
+RISCV_INS_C_SDSP = 125
+RISCV_INS_C_SLLI = 126
+RISCV_INS_C_SRAI = 127
+RISCV_INS_C_SRLI = 128
+RISCV_INS_C_SUB = 129
+RISCV_INS_C_SUBW = 130
+RISCV_INS_C_SW = 131
+RISCV_INS_C_SWSP = 132
+RISCV_INS_C_UNIMP = 133
+RISCV_INS_C_XOR = 134
+RISCV_INS_DIV = 135
+RISCV_INS_DIVU = 136
+RISCV_INS_DIVUW = 137
+RISCV_INS_DIVW = 138
+RISCV_INS_EBREAK = 139
+RISCV_INS_ECALL = 140
+RISCV_INS_FADD_D = 141
+RISCV_INS_FADD_S = 142
+RISCV_INS_FCLASS_D = 143
+RISCV_INS_FCLASS_S = 144
+RISCV_INS_FCVT_D_L = 145
+RISCV_INS_FCVT_D_LU = 146
+RISCV_INS_FCVT_D_S = 147
+RISCV_INS_FCVT_D_W = 148
+RISCV_INS_FCVT_D_WU = 149
+RISCV_INS_FCVT_LU_D = 150
+RISCV_INS_FCVT_LU_S = 151
+RISCV_INS_FCVT_L_D = 152
+RISCV_INS_FCVT_L_S = 153
+RISCV_INS_FCVT_S_D = 154
+RISCV_INS_FCVT_S_L = 155
+RISCV_INS_FCVT_S_LU = 156
+RISCV_INS_FCVT_S_W = 157
+RISCV_INS_FCVT_S_WU = 158
+RISCV_INS_FCVT_WU_D = 159
+RISCV_INS_FCVT_WU_S = 160
+RISCV_INS_FCVT_W_D = 161
+RISCV_INS_FCVT_W_S = 162
+RISCV_INS_FDIV_D = 163
+RISCV_INS_FDIV_S = 164
+RISCV_INS_FENCE = 165
+RISCV_INS_FENCE_I = 166
+RISCV_INS_FENCE_TSO = 167
+RISCV_INS_FEQ_D = 168
+RISCV_INS_FEQ_S = 169
+RISCV_INS_FLD = 170
+RISCV_INS_FLE_D = 171
+RISCV_INS_FLE_S = 172
+RISCV_INS_FLT_D = 173
+RISCV_INS_FLT_S = 174
+RISCV_INS_FLW = 175
+RISCV_INS_FMADD_D = 176
+RISCV_INS_FMADD_S = 177
+RISCV_INS_FMAX_D = 178
+RISCV_INS_FMAX_S = 179
+RISCV_INS_FMIN_D = 180
+RISCV_INS_FMIN_S = 181
+RISCV_INS_FMSUB_D = 182
+RISCV_INS_FMSUB_S = 183
+RISCV_INS_FMUL_D = 184
+RISCV_INS_FMUL_S = 185
+RISCV_INS_FMV_D_X = 186
+RISCV_INS_FMV_W_X = 187
+RISCV_INS_FMV_X_D = 188
+RISCV_INS_FMV_X_W = 189
+RISCV_INS_FNMADD_D = 190
+RISCV_INS_FNMADD_S = 191
+RISCV_INS_FNMSUB_D = 192
+RISCV_INS_FNMSUB_S = 193
+RISCV_INS_FSD = 194
+RISCV_INS_FSGNJN_D = 195
+RISCV_INS_FSGNJN_S = 196
+RISCV_INS_FSGNJX_D = 197
+RISCV_INS_FSGNJX_S = 198
+RISCV_INS_FSGNJ_D = 199
+RISCV_INS_FSGNJ_S = 200
+RISCV_INS_FSQRT_D = 201
+RISCV_INS_FSQRT_S = 202
+RISCV_INS_FSUB_D = 203
+RISCV_INS_FSUB_S = 204
+RISCV_INS_FSW = 205
+RISCV_INS_JAL = 206
+RISCV_INS_JALR = 207
+RISCV_INS_LB = 208
+RISCV_INS_LBU = 209
+RISCV_INS_LD = 210
+RISCV_INS_LH = 211
+RISCV_INS_LHU = 212
+RISCV_INS_LR_D = 213
+RISCV_INS_LR_D_AQ = 214
+RISCV_INS_LR_D_AQ_RL = 215
+RISCV_INS_LR_D_RL = 216
+RISCV_INS_LR_W = 217
+RISCV_INS_LR_W_AQ = 218
+RISCV_INS_LR_W_AQ_RL = 219
+RISCV_INS_LR_W_RL = 220
+RISCV_INS_LUI = 221
+RISCV_INS_LW = 222
+RISCV_INS_LWU = 223
+RISCV_INS_MRET = 224
+RISCV_INS_MUL = 225
+RISCV_INS_MULH = 226
+RISCV_INS_MULHSU = 227
+RISCV_INS_MULHU = 228
+RISCV_INS_MULW = 229
+RISCV_INS_OR = 230
+RISCV_INS_ORI = 231
+RISCV_INS_REM = 232
+RISCV_INS_REMU = 233
+RISCV_INS_REMUW = 234
+RISCV_INS_REMW = 235
+RISCV_INS_SB = 236
+RISCV_INS_SC_D = 237
+RISCV_INS_SC_D_AQ = 238
+RISCV_INS_SC_D_AQ_RL = 239
+RISCV_INS_SC_D_RL = 240
+RISCV_INS_SC_W = 241
+RISCV_INS_SC_W_AQ = 242
+RISCV_INS_SC_W_AQ_RL = 243
+RISCV_INS_SC_W_RL = 244
+RISCV_INS_SD = 245
+RISCV_INS_SFENCE_VMA = 246
+RISCV_INS_SH = 247
+RISCV_INS_SLL = 248
+RISCV_INS_SLLI = 249
+RISCV_INS_SLLIW = 250
+RISCV_INS_SLLW = 251
+RISCV_INS_SLT = 252
+RISCV_INS_SLTI = 253
+RISCV_INS_SLTIU = 254
+RISCV_INS_SLTU = 255
+RISCV_INS_SRA = 256
+RISCV_INS_SRAI = 257
+RISCV_INS_SRAIW = 258
+RISCV_INS_SRAW = 259
+RISCV_INS_SRET = 260
+RISCV_INS_SRL = 261
+RISCV_INS_SRLI = 262
+RISCV_INS_SRLIW = 263
+RISCV_INS_SRLW = 264
+RISCV_INS_SUB = 265
+RISCV_INS_SUBW = 266
+RISCV_INS_SW = 267
+RISCV_INS_UNIMP = 268
+RISCV_INS_URET = 269
+RISCV_INS_WFI = 270
+RISCV_INS_XOR = 271
+RISCV_INS_XORI = 272
+RISCV_INS_ENDING = 273
+
+# Group of RISCV instructions
+
+RISCV_GRP_INVALID = 0
+RISCV_GRP_JUMP = 1
+RISCV_GRP_ISRV32 = 128
+RISCV_GRP_ISRV64 = 129
+RISCV_GRP_HASSTDEXTA = 130
+RISCV_GRP_HASSTDEXTC = 131
+RISCV_GRP_HASSTDEXTD = 132
+RISCV_GRP_HASSTDEXTF = 133
+RISCV_GRP_HASSTDEXTM = 134
+RISCV_GRP_ISRVA = 135
+RISCV_GRP_ISRVC = 136
+RISCV_GRP_ISRVD = 137
+RISCV_GRP_ISRVCD = 138
+RISCV_GRP_ISRVF = 139
+RISCV_GRP_ISRV32C = 140
+RISCV_GRP_ISRV32CF = 141
+RISCV_GRP_ISRVM = 142
+RISCV_GRP_ISRV64A = 143
+RISCV_GRP_ISRV64C = 144
+RISCV_GRP_ISRV64D = 145
+RISCV_GRP_ISRV64F = 146
+RISCV_GRP_ISRV64M = 147
+RISCV_GRP_ENDING = 148
diff --git a/capstone/bindings/python/capstone/sparc.py b/capstone/bindings/python/capstone/sparc.py
new file mode 100644
index 000000000..1c536ff05
--- /dev/null
+++ b/capstone/bindings/python/capstone/sparc.py
@@ -0,0 +1,51 @@
+# Capstone Python bindings, by Nguyen Anh Quynnh <aquynh@gmail.com>
+
+import ctypes
+from . import copy_ctypes_list
+from .sparc_const import *
+
+# define the API
+class SparcOpMem(ctypes.Structure):
+ _fields_ = (
+ ('base', ctypes.c_uint8),
+ ('index', ctypes.c_uint8),
+ ('disp', ctypes.c_int32),
+ )
+
+class SparcOpValue(ctypes.Union):
+ _fields_ = (
+ ('reg', ctypes.c_uint),
+ ('imm', ctypes.c_int64),
+ ('mem', SparcOpMem),
+ )
+
+class SparcOp(ctypes.Structure):
+ _fields_ = (
+ ('type', ctypes.c_uint),
+ ('value', SparcOpValue),
+ )
+
+ @property
+ def imm(self):
+ return self.value.imm
+
+ @property
+ def reg(self):
+ return self.value.reg
+
+ @property
+ def mem(self):
+ return self.value.mem
+
+
+class CsSparc(ctypes.Structure):
+ _fields_ = (
+ ('cc', ctypes.c_uint),
+ ('hint', ctypes.c_uint),
+ ('op_count', ctypes.c_uint8),
+ ('operands', SparcOp * 4),
+ )
+
+def get_arch_info(a):
+ return (a.cc, a.hint, copy_ctypes_list(a.operands[:a.op_count]))
+
diff --git a/capstone/bindings/python/capstone/sparc_const.py b/capstone/bindings/python/capstone/sparc_const.py
new file mode 100644
index 000000000..6187691f8
--- /dev/null
+++ b/capstone/bindings/python/capstone/sparc_const.py
@@ -0,0 +1,429 @@
+# For Capstone Engine. AUTO-GENERATED FILE, DO NOT EDIT [sparc_const.py]
+
+SPARC_CC_INVALID = 0
+SPARC_CC_ICC_A = 8+256
+SPARC_CC_ICC_N = 0+256
+SPARC_CC_ICC_NE = 9+256
+SPARC_CC_ICC_E = 1+256
+SPARC_CC_ICC_G = 10+256
+SPARC_CC_ICC_LE = 2+256
+SPARC_CC_ICC_GE = 11+256
+SPARC_CC_ICC_L = 3+256
+SPARC_CC_ICC_GU = 12+256
+SPARC_CC_ICC_LEU = 4+256
+SPARC_CC_ICC_CC = 13+256
+SPARC_CC_ICC_CS = 5+256
+SPARC_CC_ICC_POS = 14+256
+SPARC_CC_ICC_NEG = 6+256
+SPARC_CC_ICC_VC = 15+256
+SPARC_CC_ICC_VS = 7+256
+SPARC_CC_FCC_A = 8+16+256
+SPARC_CC_FCC_N = 0+16+256
+SPARC_CC_FCC_U = 7+16+256
+SPARC_CC_FCC_G = 6+16+256
+SPARC_CC_FCC_UG = 5+16+256
+SPARC_CC_FCC_L = 4+16+256
+SPARC_CC_FCC_UL = 3+16+256
+SPARC_CC_FCC_LG = 2+16+256
+SPARC_CC_FCC_NE = 1+16+256
+SPARC_CC_FCC_E = 9+16+256
+SPARC_CC_FCC_UE = 10+16+256
+SPARC_CC_FCC_GE = 11+16+256
+SPARC_CC_FCC_UGE = 12+16+256
+SPARC_CC_FCC_LE = 13+16+256
+SPARC_CC_FCC_ULE = 14+16+256
+SPARC_CC_FCC_O = 15+16+256
+
+SPARC_HINT_INVALID = 0
+SPARC_HINT_A = 1<<0
+SPARC_HINT_PT = 1<<1
+SPARC_HINT_PN = 1<<2
+
+SPARC_OP_INVALID = 0
+SPARC_OP_REG = 1
+SPARC_OP_IMM = 2
+SPARC_OP_MEM = 3
+
+SPARC_REG_INVALID = 0
+SPARC_REG_F0 = 1
+SPARC_REG_F1 = 2
+SPARC_REG_F2 = 3
+SPARC_REG_F3 = 4
+SPARC_REG_F4 = 5
+SPARC_REG_F5 = 6
+SPARC_REG_F6 = 7
+SPARC_REG_F7 = 8
+SPARC_REG_F8 = 9
+SPARC_REG_F9 = 10
+SPARC_REG_F10 = 11
+SPARC_REG_F11 = 12
+SPARC_REG_F12 = 13
+SPARC_REG_F13 = 14
+SPARC_REG_F14 = 15
+SPARC_REG_F15 = 16
+SPARC_REG_F16 = 17
+SPARC_REG_F17 = 18
+SPARC_REG_F18 = 19
+SPARC_REG_F19 = 20
+SPARC_REG_F20 = 21
+SPARC_REG_F21 = 22
+SPARC_REG_F22 = 23
+SPARC_REG_F23 = 24
+SPARC_REG_F24 = 25
+SPARC_REG_F25 = 26
+SPARC_REG_F26 = 27
+SPARC_REG_F27 = 28
+SPARC_REG_F28 = 29
+SPARC_REG_F29 = 30
+SPARC_REG_F30 = 31
+SPARC_REG_F31 = 32
+SPARC_REG_F32 = 33
+SPARC_REG_F34 = 34
+SPARC_REG_F36 = 35
+SPARC_REG_F38 = 36
+SPARC_REG_F40 = 37
+SPARC_REG_F42 = 38
+SPARC_REG_F44 = 39
+SPARC_REG_F46 = 40
+SPARC_REG_F48 = 41
+SPARC_REG_F50 = 42
+SPARC_REG_F52 = 43
+SPARC_REG_F54 = 44
+SPARC_REG_F56 = 45
+SPARC_REG_F58 = 46
+SPARC_REG_F60 = 47
+SPARC_REG_F62 = 48
+SPARC_REG_FCC0 = 49
+SPARC_REG_FCC1 = 50
+SPARC_REG_FCC2 = 51
+SPARC_REG_FCC3 = 52
+SPARC_REG_FP = 53
+SPARC_REG_G0 = 54
+SPARC_REG_G1 = 55
+SPARC_REG_G2 = 56
+SPARC_REG_G3 = 57
+SPARC_REG_G4 = 58
+SPARC_REG_G5 = 59
+SPARC_REG_G6 = 60
+SPARC_REG_G7 = 61
+SPARC_REG_I0 = 62
+SPARC_REG_I1 = 63
+SPARC_REG_I2 = 64
+SPARC_REG_I3 = 65
+SPARC_REG_I4 = 66
+SPARC_REG_I5 = 67
+SPARC_REG_I7 = 68
+SPARC_REG_ICC = 69
+SPARC_REG_L0 = 70
+SPARC_REG_L1 = 71
+SPARC_REG_L2 = 72
+SPARC_REG_L3 = 73
+SPARC_REG_L4 = 74
+SPARC_REG_L5 = 75
+SPARC_REG_L6 = 76
+SPARC_REG_L7 = 77
+SPARC_REG_O0 = 78
+SPARC_REG_O1 = 79
+SPARC_REG_O2 = 80
+SPARC_REG_O3 = 81
+SPARC_REG_O4 = 82
+SPARC_REG_O5 = 83
+SPARC_REG_O7 = 84
+SPARC_REG_SP = 85
+SPARC_REG_Y = 86
+SPARC_REG_XCC = 87
+SPARC_REG_ENDING = 88
+SPARC_REG_O6 = SPARC_REG_SP
+SPARC_REG_I6 = SPARC_REG_FP
+
+SPARC_INS_INVALID = 0
+SPARC_INS_ADDCC = 1
+SPARC_INS_ADDX = 2
+SPARC_INS_ADDXCC = 3
+SPARC_INS_ADDXC = 4
+SPARC_INS_ADDXCCC = 5
+SPARC_INS_ADD = 6
+SPARC_INS_ALIGNADDR = 7
+SPARC_INS_ALIGNADDRL = 8
+SPARC_INS_ANDCC = 9
+SPARC_INS_ANDNCC = 10
+SPARC_INS_ANDN = 11
+SPARC_INS_AND = 12
+SPARC_INS_ARRAY16 = 13
+SPARC_INS_ARRAY32 = 14
+SPARC_INS_ARRAY8 = 15
+SPARC_INS_B = 16
+SPARC_INS_JMP = 17
+SPARC_INS_BMASK = 18
+SPARC_INS_FB = 19
+SPARC_INS_BRGEZ = 20
+SPARC_INS_BRGZ = 21
+SPARC_INS_BRLEZ = 22
+SPARC_INS_BRLZ = 23
+SPARC_INS_BRNZ = 24
+SPARC_INS_BRZ = 25
+SPARC_INS_BSHUFFLE = 26
+SPARC_INS_CALL = 27
+SPARC_INS_CASX = 28
+SPARC_INS_CAS = 29
+SPARC_INS_CMASK16 = 30
+SPARC_INS_CMASK32 = 31
+SPARC_INS_CMASK8 = 32
+SPARC_INS_CMP = 33
+SPARC_INS_EDGE16 = 34
+SPARC_INS_EDGE16L = 35
+SPARC_INS_EDGE16LN = 36
+SPARC_INS_EDGE16N = 37
+SPARC_INS_EDGE32 = 38
+SPARC_INS_EDGE32L = 39
+SPARC_INS_EDGE32LN = 40
+SPARC_INS_EDGE32N = 41
+SPARC_INS_EDGE8 = 42
+SPARC_INS_EDGE8L = 43
+SPARC_INS_EDGE8LN = 44
+SPARC_INS_EDGE8N = 45
+SPARC_INS_FABSD = 46
+SPARC_INS_FABSQ = 47
+SPARC_INS_FABSS = 48
+SPARC_INS_FADDD = 49
+SPARC_INS_FADDQ = 50
+SPARC_INS_FADDS = 51
+SPARC_INS_FALIGNDATA = 52
+SPARC_INS_FAND = 53
+SPARC_INS_FANDNOT1 = 54
+SPARC_INS_FANDNOT1S = 55
+SPARC_INS_FANDNOT2 = 56
+SPARC_INS_FANDNOT2S = 57
+SPARC_INS_FANDS = 58
+SPARC_INS_FCHKSM16 = 59
+SPARC_INS_FCMPD = 60
+SPARC_INS_FCMPEQ16 = 61
+SPARC_INS_FCMPEQ32 = 62
+SPARC_INS_FCMPGT16 = 63
+SPARC_INS_FCMPGT32 = 64
+SPARC_INS_FCMPLE16 = 65
+SPARC_INS_FCMPLE32 = 66
+SPARC_INS_FCMPNE16 = 67
+SPARC_INS_FCMPNE32 = 68
+SPARC_INS_FCMPQ = 69
+SPARC_INS_FCMPS = 70
+SPARC_INS_FDIVD = 71
+SPARC_INS_FDIVQ = 72
+SPARC_INS_FDIVS = 73
+SPARC_INS_FDMULQ = 74
+SPARC_INS_FDTOI = 75
+SPARC_INS_FDTOQ = 76
+SPARC_INS_FDTOS = 77
+SPARC_INS_FDTOX = 78
+SPARC_INS_FEXPAND = 79
+SPARC_INS_FHADDD = 80
+SPARC_INS_FHADDS = 81
+SPARC_INS_FHSUBD = 82
+SPARC_INS_FHSUBS = 83
+SPARC_INS_FITOD = 84
+SPARC_INS_FITOQ = 85
+SPARC_INS_FITOS = 86
+SPARC_INS_FLCMPD = 87
+SPARC_INS_FLCMPS = 88
+SPARC_INS_FLUSHW = 89
+SPARC_INS_FMEAN16 = 90
+SPARC_INS_FMOVD = 91
+SPARC_INS_FMOVQ = 92
+SPARC_INS_FMOVRDGEZ = 93
+SPARC_INS_FMOVRQGEZ = 94
+SPARC_INS_FMOVRSGEZ = 95
+SPARC_INS_FMOVRDGZ = 96
+SPARC_INS_FMOVRQGZ = 97
+SPARC_INS_FMOVRSGZ = 98
+SPARC_INS_FMOVRDLEZ = 99
+SPARC_INS_FMOVRQLEZ = 100
+SPARC_INS_FMOVRSLEZ = 101
+SPARC_INS_FMOVRDLZ = 102
+SPARC_INS_FMOVRQLZ = 103
+SPARC_INS_FMOVRSLZ = 104
+SPARC_INS_FMOVRDNZ = 105
+SPARC_INS_FMOVRQNZ = 106
+SPARC_INS_FMOVRSNZ = 107
+SPARC_INS_FMOVRDZ = 108
+SPARC_INS_FMOVRQZ = 109
+SPARC_INS_FMOVRSZ = 110
+SPARC_INS_FMOVS = 111
+SPARC_INS_FMUL8SUX16 = 112
+SPARC_INS_FMUL8ULX16 = 113
+SPARC_INS_FMUL8X16 = 114
+SPARC_INS_FMUL8X16AL = 115
+SPARC_INS_FMUL8X16AU = 116
+SPARC_INS_FMULD = 117
+SPARC_INS_FMULD8SUX16 = 118
+SPARC_INS_FMULD8ULX16 = 119
+SPARC_INS_FMULQ = 120
+SPARC_INS_FMULS = 121
+SPARC_INS_FNADDD = 122
+SPARC_INS_FNADDS = 123
+SPARC_INS_FNAND = 124
+SPARC_INS_FNANDS = 125
+SPARC_INS_FNEGD = 126
+SPARC_INS_FNEGQ = 127
+SPARC_INS_FNEGS = 128
+SPARC_INS_FNHADDD = 129
+SPARC_INS_FNHADDS = 130
+SPARC_INS_FNOR = 131
+SPARC_INS_FNORS = 132
+SPARC_INS_FNOT1 = 133
+SPARC_INS_FNOT1S = 134
+SPARC_INS_FNOT2 = 135
+SPARC_INS_FNOT2S = 136
+SPARC_INS_FONE = 137
+SPARC_INS_FONES = 138
+SPARC_INS_FOR = 139
+SPARC_INS_FORNOT1 = 140
+SPARC_INS_FORNOT1S = 141
+SPARC_INS_FORNOT2 = 142
+SPARC_INS_FORNOT2S = 143
+SPARC_INS_FORS = 144
+SPARC_INS_FPACK16 = 145
+SPARC_INS_FPACK32 = 146
+SPARC_INS_FPACKFIX = 147
+SPARC_INS_FPADD16 = 148
+SPARC_INS_FPADD16S = 149
+SPARC_INS_FPADD32 = 150
+SPARC_INS_FPADD32S = 151
+SPARC_INS_FPADD64 = 152
+SPARC_INS_FPMERGE = 153
+SPARC_INS_FPSUB16 = 154
+SPARC_INS_FPSUB16S = 155
+SPARC_INS_FPSUB32 = 156
+SPARC_INS_FPSUB32S = 157
+SPARC_INS_FQTOD = 158
+SPARC_INS_FQTOI = 159
+SPARC_INS_FQTOS = 160
+SPARC_INS_FQTOX = 161
+SPARC_INS_FSLAS16 = 162
+SPARC_INS_FSLAS32 = 163
+SPARC_INS_FSLL16 = 164
+SPARC_INS_FSLL32 = 165
+SPARC_INS_FSMULD = 166
+SPARC_INS_FSQRTD = 167
+SPARC_INS_FSQRTQ = 168
+SPARC_INS_FSQRTS = 169
+SPARC_INS_FSRA16 = 170
+SPARC_INS_FSRA32 = 171
+SPARC_INS_FSRC1 = 172
+SPARC_INS_FSRC1S = 173
+SPARC_INS_FSRC2 = 174
+SPARC_INS_FSRC2S = 175
+SPARC_INS_FSRL16 = 176
+SPARC_INS_FSRL32 = 177
+SPARC_INS_FSTOD = 178
+SPARC_INS_FSTOI = 179
+SPARC_INS_FSTOQ = 180
+SPARC_INS_FSTOX = 181
+SPARC_INS_FSUBD = 182
+SPARC_INS_FSUBQ = 183
+SPARC_INS_FSUBS = 184
+SPARC_INS_FXNOR = 185
+SPARC_INS_FXNORS = 186
+SPARC_INS_FXOR = 187
+SPARC_INS_FXORS = 188
+SPARC_INS_FXTOD = 189
+SPARC_INS_FXTOQ = 190
+SPARC_INS_FXTOS = 191
+SPARC_INS_FZERO = 192
+SPARC_INS_FZEROS = 193
+SPARC_INS_JMPL = 194
+SPARC_INS_LDD = 195
+SPARC_INS_LD = 196
+SPARC_INS_LDQ = 197
+SPARC_INS_LDSB = 198
+SPARC_INS_LDSH = 199
+SPARC_INS_LDSW = 200
+SPARC_INS_LDUB = 201
+SPARC_INS_LDUH = 202
+SPARC_INS_LDX = 203
+SPARC_INS_LZCNT = 204
+SPARC_INS_MEMBAR = 205
+SPARC_INS_MOVDTOX = 206
+SPARC_INS_MOV = 207
+SPARC_INS_MOVRGEZ = 208
+SPARC_INS_MOVRGZ = 209
+SPARC_INS_MOVRLEZ = 210
+SPARC_INS_MOVRLZ = 211
+SPARC_INS_MOVRNZ = 212
+SPARC_INS_MOVRZ = 213
+SPARC_INS_MOVSTOSW = 214
+SPARC_INS_MOVSTOUW = 215
+SPARC_INS_MULX = 216
+SPARC_INS_NOP = 217
+SPARC_INS_ORCC = 218
+SPARC_INS_ORNCC = 219
+SPARC_INS_ORN = 220
+SPARC_INS_OR = 221
+SPARC_INS_PDIST = 222
+SPARC_INS_PDISTN = 223
+SPARC_INS_POPC = 224
+SPARC_INS_RD = 225
+SPARC_INS_RESTORE = 226
+SPARC_INS_RETT = 227
+SPARC_INS_SAVE = 228
+SPARC_INS_SDIVCC = 229
+SPARC_INS_SDIVX = 230
+SPARC_INS_SDIV = 231
+SPARC_INS_SETHI = 232
+SPARC_INS_SHUTDOWN = 233
+SPARC_INS_SIAM = 234
+SPARC_INS_SLLX = 235
+SPARC_INS_SLL = 236
+SPARC_INS_SMULCC = 237
+SPARC_INS_SMUL = 238
+SPARC_INS_SRAX = 239
+SPARC_INS_SRA = 240
+SPARC_INS_SRLX = 241
+SPARC_INS_SRL = 242
+SPARC_INS_STBAR = 243
+SPARC_INS_STB = 244
+SPARC_INS_STD = 245
+SPARC_INS_ST = 246
+SPARC_INS_STH = 247
+SPARC_INS_STQ = 248
+SPARC_INS_STX = 249
+SPARC_INS_SUBCC = 250
+SPARC_INS_SUBX = 251
+SPARC_INS_SUBXCC = 252
+SPARC_INS_SUB = 253
+SPARC_INS_SWAP = 254
+SPARC_INS_TADDCCTV = 255
+SPARC_INS_TADDCC = 256
+SPARC_INS_T = 257
+SPARC_INS_TSUBCCTV = 258
+SPARC_INS_TSUBCC = 259
+SPARC_INS_UDIVCC = 260
+SPARC_INS_UDIVX = 261
+SPARC_INS_UDIV = 262
+SPARC_INS_UMULCC = 263
+SPARC_INS_UMULXHI = 264
+SPARC_INS_UMUL = 265
+SPARC_INS_UNIMP = 266
+SPARC_INS_FCMPED = 267
+SPARC_INS_FCMPEQ = 268
+SPARC_INS_FCMPES = 269
+SPARC_INS_WR = 270
+SPARC_INS_XMULX = 271
+SPARC_INS_XMULXHI = 272
+SPARC_INS_XNORCC = 273
+SPARC_INS_XNOR = 274
+SPARC_INS_XORCC = 275
+SPARC_INS_XOR = 276
+SPARC_INS_RET = 277
+SPARC_INS_RETL = 278
+SPARC_INS_ENDING = 279
+
+SPARC_GRP_INVALID = 0
+SPARC_GRP_JUMP = 1
+SPARC_GRP_HARDQUAD = 128
+SPARC_GRP_V9 = 129
+SPARC_GRP_VIS = 130
+SPARC_GRP_VIS2 = 131
+SPARC_GRP_VIS3 = 132
+SPARC_GRP_32BIT = 133
+SPARC_GRP_64BIT = 134
+SPARC_GRP_ENDING = 135
diff --git a/capstone/bindings/python/capstone/systemz.py b/capstone/bindings/python/capstone/systemz.py
new file mode 100644
index 000000000..398018b25
--- /dev/null
+++ b/capstone/bindings/python/capstone/systemz.py
@@ -0,0 +1,51 @@
+# Capstone Python bindings, by Nguyen Anh Quynnh <aquynh@gmail.com>
+
+import ctypes
+from . import copy_ctypes_list
+from .sysz_const import *
+
+# define the API
+class SyszOpMem(ctypes.Structure):
+ _fields_ = (
+ ('base', ctypes.c_uint8),
+ ('index', ctypes.c_uint8),
+ ('length', ctypes.c_uint64),
+ ('disp', ctypes.c_int64),
+ )
+
+class SyszOpValue(ctypes.Union):
+ _fields_ = (
+ ('reg', ctypes.c_uint),
+ ('imm', ctypes.c_int64),
+ ('mem', SyszOpMem),
+ )
+
+class SyszOp(ctypes.Structure):
+ _fields_ = (
+ ('type', ctypes.c_uint),
+ ('value', SyszOpValue),
+ )
+
+ @property
+ def imm(self):
+ return self.value.imm
+
+ @property
+ def reg(self):
+ return self.value.reg
+
+ @property
+ def mem(self):
+ return self.value.mem
+
+
+class CsSysz(ctypes.Structure):
+ _fields_ = (
+ ('cc', ctypes.c_uint),
+ ('op_count', ctypes.c_uint8),
+ ('operands', SyszOp * 6),
+ )
+
+def get_arch_info(a):
+ return (a.cc, copy_ctypes_list(a.operands[:a.op_count]))
+
diff --git a/capstone/bindings/python/capstone/sysz_const.py b/capstone/bindings/python/capstone/sysz_const.py
new file mode 100644
index 000000000..e2e9cdd4b
--- /dev/null
+++ b/capstone/bindings/python/capstone/sysz_const.py
@@ -0,0 +1,2523 @@
+# For Capstone Engine. AUTO-GENERATED FILE, DO NOT EDIT [sysz_const.py]
+
+SYSZ_CC_INVALID = 0
+SYSZ_CC_O = 1
+SYSZ_CC_H = 2
+SYSZ_CC_NLE = 3
+SYSZ_CC_L = 4
+SYSZ_CC_NHE = 5
+SYSZ_CC_LH = 6
+SYSZ_CC_NE = 7
+SYSZ_CC_E = 8
+SYSZ_CC_NLH = 9
+SYSZ_CC_HE = 10
+SYSZ_CC_NL = 11
+SYSZ_CC_LE = 12
+SYSZ_CC_NH = 13
+SYSZ_CC_NO = 14
+
+SYSZ_OP_INVALID = 0
+SYSZ_OP_REG = 1
+SYSZ_OP_IMM = 2
+SYSZ_OP_MEM = 3
+SYSZ_OP_ACREG = 64
+
+SYSZ_REG_INVALID = 0
+SYSZ_REG_0 = 1
+SYSZ_REG_1 = 2
+SYSZ_REG_2 = 3
+SYSZ_REG_3 = 4
+SYSZ_REG_4 = 5
+SYSZ_REG_5 = 6
+SYSZ_REG_6 = 7
+SYSZ_REG_7 = 8
+SYSZ_REG_8 = 9
+SYSZ_REG_9 = 10
+SYSZ_REG_10 = 11
+SYSZ_REG_11 = 12
+SYSZ_REG_12 = 13
+SYSZ_REG_13 = 14
+SYSZ_REG_14 = 15
+SYSZ_REG_15 = 16
+SYSZ_REG_CC = 17
+SYSZ_REG_F0 = 18
+SYSZ_REG_F1 = 19
+SYSZ_REG_F2 = 20
+SYSZ_REG_F3 = 21
+SYSZ_REG_F4 = 22
+SYSZ_REG_F5 = 23
+SYSZ_REG_F6 = 24
+SYSZ_REG_F7 = 25
+SYSZ_REG_F8 = 26
+SYSZ_REG_F9 = 27
+SYSZ_REG_F10 = 28
+SYSZ_REG_F11 = 29
+SYSZ_REG_F12 = 30
+SYSZ_REG_F13 = 31
+SYSZ_REG_F14 = 32
+SYSZ_REG_F15 = 33
+SYSZ_REG_R0L = 34
+SYSZ_REG_A0 = 35
+SYSZ_REG_A1 = 36
+SYSZ_REG_A2 = 37
+SYSZ_REG_A3 = 38
+SYSZ_REG_A4 = 39
+SYSZ_REG_A5 = 40
+SYSZ_REG_A6 = 41
+SYSZ_REG_A7 = 42
+SYSZ_REG_A8 = 43
+SYSZ_REG_A9 = 44
+SYSZ_REG_A10 = 45
+SYSZ_REG_A11 = 46
+SYSZ_REG_A12 = 47
+SYSZ_REG_A13 = 48
+SYSZ_REG_A14 = 49
+SYSZ_REG_A15 = 50
+SYSZ_REG_C0 = 51
+SYSZ_REG_C1 = 52
+SYSZ_REG_C2 = 53
+SYSZ_REG_C3 = 54
+SYSZ_REG_C4 = 55
+SYSZ_REG_C5 = 56
+SYSZ_REG_C6 = 57
+SYSZ_REG_C7 = 58
+SYSZ_REG_C8 = 59
+SYSZ_REG_C9 = 60
+SYSZ_REG_C10 = 61
+SYSZ_REG_C11 = 62
+SYSZ_REG_C12 = 63
+SYSZ_REG_C13 = 64
+SYSZ_REG_C14 = 65
+SYSZ_REG_C15 = 66
+SYSZ_REG_V0 = 67
+SYSZ_REG_V1 = 68
+SYSZ_REG_V2 = 69
+SYSZ_REG_V3 = 70
+SYSZ_REG_V4 = 71
+SYSZ_REG_V5 = 72
+SYSZ_REG_V6 = 73
+SYSZ_REG_V7 = 74
+SYSZ_REG_V8 = 75
+SYSZ_REG_V9 = 76
+SYSZ_REG_V10 = 77
+SYSZ_REG_V11 = 78
+SYSZ_REG_V12 = 79
+SYSZ_REG_V13 = 80
+SYSZ_REG_V14 = 81
+SYSZ_REG_V15 = 82
+SYSZ_REG_V16 = 83
+SYSZ_REG_V17 = 84
+SYSZ_REG_V18 = 85
+SYSZ_REG_V19 = 86
+SYSZ_REG_V20 = 87
+SYSZ_REG_V21 = 88
+SYSZ_REG_V22 = 89
+SYSZ_REG_V23 = 90
+SYSZ_REG_V24 = 91
+SYSZ_REG_V25 = 92
+SYSZ_REG_V26 = 93
+SYSZ_REG_V27 = 94
+SYSZ_REG_V28 = 95
+SYSZ_REG_V29 = 96
+SYSZ_REG_V30 = 97
+SYSZ_REG_V31 = 98
+SYSZ_REG_F16 = 99
+SYSZ_REG_F17 = 100
+SYSZ_REG_F18 = 101
+SYSZ_REG_F19 = 102
+SYSZ_REG_F20 = 103
+SYSZ_REG_F21 = 104
+SYSZ_REG_F22 = 105
+SYSZ_REG_F23 = 106
+SYSZ_REG_F24 = 107
+SYSZ_REG_F25 = 108
+SYSZ_REG_F26 = 109
+SYSZ_REG_F27 = 110
+SYSZ_REG_F28 = 111
+SYSZ_REG_F29 = 112
+SYSZ_REG_F30 = 113
+SYSZ_REG_F31 = 114
+SYSZ_REG_F0Q = 115
+SYSZ_REG_F4Q = 116
+SYSZ_REG_ENDING = 117
+
+SYSZ_INS_INVALID = 0
+SYSZ_INS_A = 1
+SYSZ_INS_ADB = 2
+SYSZ_INS_ADBR = 3
+SYSZ_INS_AEB = 4
+SYSZ_INS_AEBR = 5
+SYSZ_INS_AFI = 6
+SYSZ_INS_AG = 7
+SYSZ_INS_AGF = 8
+SYSZ_INS_AGFI = 9
+SYSZ_INS_AGFR = 10
+SYSZ_INS_AGHI = 11
+SYSZ_INS_AGHIK = 12
+SYSZ_INS_AGR = 13
+SYSZ_INS_AGRK = 14
+SYSZ_INS_AGSI = 15
+SYSZ_INS_AH = 16
+SYSZ_INS_AHI = 17
+SYSZ_INS_AHIK = 18
+SYSZ_INS_AHY = 19
+SYSZ_INS_AIH = 20
+SYSZ_INS_AL = 21
+SYSZ_INS_ALC = 22
+SYSZ_INS_ALCG = 23
+SYSZ_INS_ALCGR = 24
+SYSZ_INS_ALCR = 25
+SYSZ_INS_ALFI = 26
+SYSZ_INS_ALG = 27
+SYSZ_INS_ALGF = 28
+SYSZ_INS_ALGFI = 29
+SYSZ_INS_ALGFR = 30
+SYSZ_INS_ALGHSIK = 31
+SYSZ_INS_ALGR = 32
+SYSZ_INS_ALGRK = 33
+SYSZ_INS_ALHSIK = 34
+SYSZ_INS_ALR = 35
+SYSZ_INS_ALRK = 36
+SYSZ_INS_ALY = 37
+SYSZ_INS_AR = 38
+SYSZ_INS_ARK = 39
+SYSZ_INS_ASI = 40
+SYSZ_INS_AXBR = 41
+SYSZ_INS_AY = 42
+SYSZ_INS_BCR = 43
+SYSZ_INS_BRC = 44
+SYSZ_INS_BRCL = 45
+SYSZ_INS_CGIJ = 46
+SYSZ_INS_CGRJ = 47
+SYSZ_INS_CIJ = 48
+SYSZ_INS_CLGIJ = 49
+SYSZ_INS_CLGRJ = 50
+SYSZ_INS_CLIJ = 51
+SYSZ_INS_CLRJ = 52
+SYSZ_INS_CRJ = 53
+SYSZ_INS_BER = 54
+SYSZ_INS_JE = 55
+SYSZ_INS_JGE = 56
+SYSZ_INS_LOCE = 57
+SYSZ_INS_LOCGE = 58
+SYSZ_INS_LOCGRE = 59
+SYSZ_INS_LOCRE = 60
+SYSZ_INS_STOCE = 61
+SYSZ_INS_STOCGE = 62
+SYSZ_INS_BHR = 63
+SYSZ_INS_BHER = 64
+SYSZ_INS_JHE = 65
+SYSZ_INS_JGHE = 66
+SYSZ_INS_LOCHE = 67
+SYSZ_INS_LOCGHE = 68
+SYSZ_INS_LOCGRHE = 69
+SYSZ_INS_LOCRHE = 70
+SYSZ_INS_STOCHE = 71
+SYSZ_INS_STOCGHE = 72
+SYSZ_INS_JH = 73
+SYSZ_INS_JGH = 74
+SYSZ_INS_LOCH = 75
+SYSZ_INS_LOCGH = 76
+SYSZ_INS_LOCGRH = 77
+SYSZ_INS_LOCRH = 78
+SYSZ_INS_STOCH = 79
+SYSZ_INS_STOCGH = 80
+SYSZ_INS_CGIJNLH = 81
+SYSZ_INS_CGRJNLH = 82
+SYSZ_INS_CIJNLH = 83
+SYSZ_INS_CLGIJNLH = 84
+SYSZ_INS_CLGRJNLH = 85
+SYSZ_INS_CLIJNLH = 86
+SYSZ_INS_CLRJNLH = 87
+SYSZ_INS_CRJNLH = 88
+SYSZ_INS_CGIJE = 89
+SYSZ_INS_CGRJE = 90
+SYSZ_INS_CIJE = 91
+SYSZ_INS_CLGIJE = 92
+SYSZ_INS_CLGRJE = 93
+SYSZ_INS_CLIJE = 94
+SYSZ_INS_CLRJE = 95
+SYSZ_INS_CRJE = 96
+SYSZ_INS_CGIJNLE = 97
+SYSZ_INS_CGRJNLE = 98
+SYSZ_INS_CIJNLE = 99
+SYSZ_INS_CLGIJNLE = 100
+SYSZ_INS_CLGRJNLE = 101
+SYSZ_INS_CLIJNLE = 102
+SYSZ_INS_CLRJNLE = 103
+SYSZ_INS_CRJNLE = 104
+SYSZ_INS_CGIJH = 105
+SYSZ_INS_CGRJH = 106
+SYSZ_INS_CIJH = 107
+SYSZ_INS_CLGIJH = 108
+SYSZ_INS_CLGRJH = 109
+SYSZ_INS_CLIJH = 110
+SYSZ_INS_CLRJH = 111
+SYSZ_INS_CRJH = 112
+SYSZ_INS_CGIJNL = 113
+SYSZ_INS_CGRJNL = 114
+SYSZ_INS_CIJNL = 115
+SYSZ_INS_CLGIJNL = 116
+SYSZ_INS_CLGRJNL = 117
+SYSZ_INS_CLIJNL = 118
+SYSZ_INS_CLRJNL = 119
+SYSZ_INS_CRJNL = 120
+SYSZ_INS_CGIJHE = 121
+SYSZ_INS_CGRJHE = 122
+SYSZ_INS_CIJHE = 123
+SYSZ_INS_CLGIJHE = 124
+SYSZ_INS_CLGRJHE = 125
+SYSZ_INS_CLIJHE = 126
+SYSZ_INS_CLRJHE = 127
+SYSZ_INS_CRJHE = 128
+SYSZ_INS_CGIJNHE = 129
+SYSZ_INS_CGRJNHE = 130
+SYSZ_INS_CIJNHE = 131
+SYSZ_INS_CLGIJNHE = 132
+SYSZ_INS_CLGRJNHE = 133
+SYSZ_INS_CLIJNHE = 134
+SYSZ_INS_CLRJNHE = 135
+SYSZ_INS_CRJNHE = 136
+SYSZ_INS_CGIJL = 137
+SYSZ_INS_CGRJL = 138
+SYSZ_INS_CIJL = 139
+SYSZ_INS_CLGIJL = 140
+SYSZ_INS_CLGRJL = 141
+SYSZ_INS_CLIJL = 142
+SYSZ_INS_CLRJL = 143
+SYSZ_INS_CRJL = 144
+SYSZ_INS_CGIJNH = 145
+SYSZ_INS_CGRJNH = 146
+SYSZ_INS_CIJNH = 147
+SYSZ_INS_CLGIJNH = 148
+SYSZ_INS_CLGRJNH = 149
+SYSZ_INS_CLIJNH = 150
+SYSZ_INS_CLRJNH = 151
+SYSZ_INS_CRJNH = 152
+SYSZ_INS_CGIJLE = 153
+SYSZ_INS_CGRJLE = 154
+SYSZ_INS_CIJLE = 155
+SYSZ_INS_CLGIJLE = 156
+SYSZ_INS_CLGRJLE = 157
+SYSZ_INS_CLIJLE = 158
+SYSZ_INS_CLRJLE = 159
+SYSZ_INS_CRJLE = 160
+SYSZ_INS_CGIJNE = 161
+SYSZ_INS_CGRJNE = 162
+SYSZ_INS_CIJNE = 163
+SYSZ_INS_CLGIJNE = 164
+SYSZ_INS_CLGRJNE = 165
+SYSZ_INS_CLIJNE = 166
+SYSZ_INS_CLRJNE = 167
+SYSZ_INS_CRJNE = 168
+SYSZ_INS_CGIJLH = 169
+SYSZ_INS_CGRJLH = 170
+SYSZ_INS_CIJLH = 171
+SYSZ_INS_CLGIJLH = 172
+SYSZ_INS_CLGRJLH = 173
+SYSZ_INS_CLIJLH = 174
+SYSZ_INS_CLRJLH = 175
+SYSZ_INS_CRJLH = 176
+SYSZ_INS_BLR = 177
+SYSZ_INS_BLER = 178
+SYSZ_INS_JLE = 179
+SYSZ_INS_JGLE = 180
+SYSZ_INS_LOCLE = 181
+SYSZ_INS_LOCGLE = 182
+SYSZ_INS_LOCGRLE = 183
+SYSZ_INS_LOCRLE = 184
+SYSZ_INS_STOCLE = 185
+SYSZ_INS_STOCGLE = 186
+SYSZ_INS_BLHR = 187
+SYSZ_INS_JLH = 188
+SYSZ_INS_JGLH = 189
+SYSZ_INS_LOCLH = 190
+SYSZ_INS_LOCGLH = 191
+SYSZ_INS_LOCGRLH = 192
+SYSZ_INS_LOCRLH = 193
+SYSZ_INS_STOCLH = 194
+SYSZ_INS_STOCGLH = 195
+SYSZ_INS_JL = 196
+SYSZ_INS_JGL = 197
+SYSZ_INS_LOCL = 198
+SYSZ_INS_LOCGL = 199
+SYSZ_INS_LOCGRL = 200
+SYSZ_INS_LOCRL = 201
+SYSZ_INS_LOC = 202
+SYSZ_INS_LOCG = 203
+SYSZ_INS_LOCGR = 204
+SYSZ_INS_LOCR = 205
+SYSZ_INS_STOCL = 206
+SYSZ_INS_STOCGL = 207
+SYSZ_INS_BNER = 208
+SYSZ_INS_JNE = 209
+SYSZ_INS_JGNE = 210
+SYSZ_INS_LOCNE = 211
+SYSZ_INS_LOCGNE = 212
+SYSZ_INS_LOCGRNE = 213
+SYSZ_INS_LOCRNE = 214
+SYSZ_INS_STOCNE = 215
+SYSZ_INS_STOCGNE = 216
+SYSZ_INS_BNHR = 217
+SYSZ_INS_BNHER = 218
+SYSZ_INS_JNHE = 219
+SYSZ_INS_JGNHE = 220
+SYSZ_INS_LOCNHE = 221
+SYSZ_INS_LOCGNHE = 222
+SYSZ_INS_LOCGRNHE = 223
+SYSZ_INS_LOCRNHE = 224
+SYSZ_INS_STOCNHE = 225
+SYSZ_INS_STOCGNHE = 226
+SYSZ_INS_JNH = 227
+SYSZ_INS_JGNH = 228
+SYSZ_INS_LOCNH = 229
+SYSZ_INS_LOCGNH = 230
+SYSZ_INS_LOCGRNH = 231
+SYSZ_INS_LOCRNH = 232
+SYSZ_INS_STOCNH = 233
+SYSZ_INS_STOCGNH = 234
+SYSZ_INS_BNLR = 235
+SYSZ_INS_BNLER = 236
+SYSZ_INS_JNLE = 237
+SYSZ_INS_JGNLE = 238
+SYSZ_INS_LOCNLE = 239
+SYSZ_INS_LOCGNLE = 240
+SYSZ_INS_LOCGRNLE = 241
+SYSZ_INS_LOCRNLE = 242
+SYSZ_INS_STOCNLE = 243
+SYSZ_INS_STOCGNLE = 244
+SYSZ_INS_BNLHR = 245
+SYSZ_INS_JNLH = 246
+SYSZ_INS_JGNLH = 247
+SYSZ_INS_LOCNLH = 248
+SYSZ_INS_LOCGNLH = 249
+SYSZ_INS_LOCGRNLH = 250
+SYSZ_INS_LOCRNLH = 251
+SYSZ_INS_STOCNLH = 252
+SYSZ_INS_STOCGNLH = 253
+SYSZ_INS_JNL = 254
+SYSZ_INS_JGNL = 255
+SYSZ_INS_LOCNL = 256
+SYSZ_INS_LOCGNL = 257
+SYSZ_INS_LOCGRNL = 258
+SYSZ_INS_LOCRNL = 259
+SYSZ_INS_STOCNL = 260
+SYSZ_INS_STOCGNL = 261
+SYSZ_INS_BNOR = 262
+SYSZ_INS_JNO = 263
+SYSZ_INS_JGNO = 264
+SYSZ_INS_LOCNO = 265
+SYSZ_INS_LOCGNO = 266
+SYSZ_INS_LOCGRNO = 267
+SYSZ_INS_LOCRNO = 268
+SYSZ_INS_STOCNO = 269
+SYSZ_INS_STOCGNO = 270
+SYSZ_INS_BOR = 271
+SYSZ_INS_JO = 272
+SYSZ_INS_JGO = 273
+SYSZ_INS_LOCO = 274
+SYSZ_INS_LOCGO = 275
+SYSZ_INS_LOCGRO = 276
+SYSZ_INS_LOCRO = 277
+SYSZ_INS_STOCO = 278
+SYSZ_INS_STOCGO = 279
+SYSZ_INS_STOC = 280
+SYSZ_INS_STOCG = 281
+SYSZ_INS_BASR = 282
+SYSZ_INS_BR = 283
+SYSZ_INS_BRAS = 284
+SYSZ_INS_BRASL = 285
+SYSZ_INS_J = 286
+SYSZ_INS_JG = 287
+SYSZ_INS_BRCT = 288
+SYSZ_INS_BRCTG = 289
+SYSZ_INS_C = 290
+SYSZ_INS_CDB = 291
+SYSZ_INS_CDBR = 292
+SYSZ_INS_CDFBR = 293
+SYSZ_INS_CDGBR = 294
+SYSZ_INS_CDLFBR = 295
+SYSZ_INS_CDLGBR = 296
+SYSZ_INS_CEB = 297
+SYSZ_INS_CEBR = 298
+SYSZ_INS_CEFBR = 299
+SYSZ_INS_CEGBR = 300
+SYSZ_INS_CELFBR = 301
+SYSZ_INS_CELGBR = 302
+SYSZ_INS_CFDBR = 303
+SYSZ_INS_CFEBR = 304
+SYSZ_INS_CFI = 305
+SYSZ_INS_CFXBR = 306
+SYSZ_INS_CG = 307
+SYSZ_INS_CGDBR = 308
+SYSZ_INS_CGEBR = 309
+SYSZ_INS_CGF = 310
+SYSZ_INS_CGFI = 311
+SYSZ_INS_CGFR = 312
+SYSZ_INS_CGFRL = 313
+SYSZ_INS_CGH = 314
+SYSZ_INS_CGHI = 315
+SYSZ_INS_CGHRL = 316
+SYSZ_INS_CGHSI = 317
+SYSZ_INS_CGR = 318
+SYSZ_INS_CGRL = 319
+SYSZ_INS_CGXBR = 320
+SYSZ_INS_CH = 321
+SYSZ_INS_CHF = 322
+SYSZ_INS_CHHSI = 323
+SYSZ_INS_CHI = 324
+SYSZ_INS_CHRL = 325
+SYSZ_INS_CHSI = 326
+SYSZ_INS_CHY = 327
+SYSZ_INS_CIH = 328
+SYSZ_INS_CL = 329
+SYSZ_INS_CLC = 330
+SYSZ_INS_CLFDBR = 331
+SYSZ_INS_CLFEBR = 332
+SYSZ_INS_CLFHSI = 333
+SYSZ_INS_CLFI = 334
+SYSZ_INS_CLFXBR = 335
+SYSZ_INS_CLG = 336
+SYSZ_INS_CLGDBR = 337
+SYSZ_INS_CLGEBR = 338
+SYSZ_INS_CLGF = 339
+SYSZ_INS_CLGFI = 340
+SYSZ_INS_CLGFR = 341
+SYSZ_INS_CLGFRL = 342
+SYSZ_INS_CLGHRL = 343
+SYSZ_INS_CLGHSI = 344
+SYSZ_INS_CLGR = 345
+SYSZ_INS_CLGRL = 346
+SYSZ_INS_CLGXBR = 347
+SYSZ_INS_CLHF = 348
+SYSZ_INS_CLHHSI = 349
+SYSZ_INS_CLHRL = 350
+SYSZ_INS_CLI = 351
+SYSZ_INS_CLIH = 352
+SYSZ_INS_CLIY = 353
+SYSZ_INS_CLR = 354
+SYSZ_INS_CLRL = 355
+SYSZ_INS_CLST = 356
+SYSZ_INS_CLY = 357
+SYSZ_INS_CPSDR = 358
+SYSZ_INS_CR = 359
+SYSZ_INS_CRL = 360
+SYSZ_INS_CS = 361
+SYSZ_INS_CSG = 362
+SYSZ_INS_CSY = 363
+SYSZ_INS_CXBR = 364
+SYSZ_INS_CXFBR = 365
+SYSZ_INS_CXGBR = 366
+SYSZ_INS_CXLFBR = 367
+SYSZ_INS_CXLGBR = 368
+SYSZ_INS_CY = 369
+SYSZ_INS_DDB = 370
+SYSZ_INS_DDBR = 371
+SYSZ_INS_DEB = 372
+SYSZ_INS_DEBR = 373
+SYSZ_INS_DL = 374
+SYSZ_INS_DLG = 375
+SYSZ_INS_DLGR = 376
+SYSZ_INS_DLR = 377
+SYSZ_INS_DSG = 378
+SYSZ_INS_DSGF = 379
+SYSZ_INS_DSGFR = 380
+SYSZ_INS_DSGR = 381
+SYSZ_INS_DXBR = 382
+SYSZ_INS_EAR = 383
+SYSZ_INS_FIDBR = 384
+SYSZ_INS_FIDBRA = 385
+SYSZ_INS_FIEBR = 386
+SYSZ_INS_FIEBRA = 387
+SYSZ_INS_FIXBR = 388
+SYSZ_INS_FIXBRA = 389
+SYSZ_INS_FLOGR = 390
+SYSZ_INS_IC = 391
+SYSZ_INS_ICY = 392
+SYSZ_INS_IIHF = 393
+SYSZ_INS_IIHH = 394
+SYSZ_INS_IIHL = 395
+SYSZ_INS_IILF = 396
+SYSZ_INS_IILH = 397
+SYSZ_INS_IILL = 398
+SYSZ_INS_IPM = 399
+SYSZ_INS_L = 400
+SYSZ_INS_LA = 401
+SYSZ_INS_LAA = 402
+SYSZ_INS_LAAG = 403
+SYSZ_INS_LAAL = 404
+SYSZ_INS_LAALG = 405
+SYSZ_INS_LAN = 406
+SYSZ_INS_LANG = 407
+SYSZ_INS_LAO = 408
+SYSZ_INS_LAOG = 409
+SYSZ_INS_LARL = 410
+SYSZ_INS_LAX = 411
+SYSZ_INS_LAXG = 412
+SYSZ_INS_LAY = 413
+SYSZ_INS_LB = 414
+SYSZ_INS_LBH = 415
+SYSZ_INS_LBR = 416
+SYSZ_INS_LCDBR = 417
+SYSZ_INS_LCEBR = 418
+SYSZ_INS_LCGFR = 419
+SYSZ_INS_LCGR = 420
+SYSZ_INS_LCR = 421
+SYSZ_INS_LCXBR = 422
+SYSZ_INS_LD = 423
+SYSZ_INS_LDEB = 424
+SYSZ_INS_LDEBR = 425
+SYSZ_INS_LDGR = 426
+SYSZ_INS_LDR = 427
+SYSZ_INS_LDXBR = 428
+SYSZ_INS_LDXBRA = 429
+SYSZ_INS_LDY = 430
+SYSZ_INS_LE = 431
+SYSZ_INS_LEDBR = 432
+SYSZ_INS_LEDBRA = 433
+SYSZ_INS_LER = 434
+SYSZ_INS_LEXBR = 435
+SYSZ_INS_LEXBRA = 436
+SYSZ_INS_LEY = 437
+SYSZ_INS_LFH = 438
+SYSZ_INS_LG = 439
+SYSZ_INS_LGB = 440
+SYSZ_INS_LGBR = 441
+SYSZ_INS_LGDR = 442
+SYSZ_INS_LGF = 443
+SYSZ_INS_LGFI = 444
+SYSZ_INS_LGFR = 445
+SYSZ_INS_LGFRL = 446
+SYSZ_INS_LGH = 447
+SYSZ_INS_LGHI = 448
+SYSZ_INS_LGHR = 449
+SYSZ_INS_LGHRL = 450
+SYSZ_INS_LGR = 451
+SYSZ_INS_LGRL = 452
+SYSZ_INS_LH = 453
+SYSZ_INS_LHH = 454
+SYSZ_INS_LHI = 455
+SYSZ_INS_LHR = 456
+SYSZ_INS_LHRL = 457
+SYSZ_INS_LHY = 458
+SYSZ_INS_LLC = 459
+SYSZ_INS_LLCH = 460
+SYSZ_INS_LLCR = 461
+SYSZ_INS_LLGC = 462
+SYSZ_INS_LLGCR = 463
+SYSZ_INS_LLGF = 464
+SYSZ_INS_LLGFR = 465
+SYSZ_INS_LLGFRL = 466
+SYSZ_INS_LLGH = 467
+SYSZ_INS_LLGHR = 468
+SYSZ_INS_LLGHRL = 469
+SYSZ_INS_LLH = 470
+SYSZ_INS_LLHH = 471
+SYSZ_INS_LLHR = 472
+SYSZ_INS_LLHRL = 473
+SYSZ_INS_LLIHF = 474
+SYSZ_INS_LLIHH = 475
+SYSZ_INS_LLIHL = 476
+SYSZ_INS_LLILF = 477
+SYSZ_INS_LLILH = 478
+SYSZ_INS_LLILL = 479
+SYSZ_INS_LMG = 480
+SYSZ_INS_LNDBR = 481
+SYSZ_INS_LNEBR = 482
+SYSZ_INS_LNGFR = 483
+SYSZ_INS_LNGR = 484
+SYSZ_INS_LNR = 485
+SYSZ_INS_LNXBR = 486
+SYSZ_INS_LPDBR = 487
+SYSZ_INS_LPEBR = 488
+SYSZ_INS_LPGFR = 489
+SYSZ_INS_LPGR = 490
+SYSZ_INS_LPR = 491
+SYSZ_INS_LPXBR = 492
+SYSZ_INS_LR = 493
+SYSZ_INS_LRL = 494
+SYSZ_INS_LRV = 495
+SYSZ_INS_LRVG = 496
+SYSZ_INS_LRVGR = 497
+SYSZ_INS_LRVR = 498
+SYSZ_INS_LT = 499
+SYSZ_INS_LTDBR = 500
+SYSZ_INS_LTEBR = 501
+SYSZ_INS_LTG = 502
+SYSZ_INS_LTGF = 503
+SYSZ_INS_LTGFR = 504
+SYSZ_INS_LTGR = 505
+SYSZ_INS_LTR = 506
+SYSZ_INS_LTXBR = 507
+SYSZ_INS_LXDB = 508
+SYSZ_INS_LXDBR = 509
+SYSZ_INS_LXEB = 510
+SYSZ_INS_LXEBR = 511
+SYSZ_INS_LXR = 512
+SYSZ_INS_LY = 513
+SYSZ_INS_LZDR = 514
+SYSZ_INS_LZER = 515
+SYSZ_INS_LZXR = 516
+SYSZ_INS_MADB = 517
+SYSZ_INS_MADBR = 518
+SYSZ_INS_MAEB = 519
+SYSZ_INS_MAEBR = 520
+SYSZ_INS_MDB = 521
+SYSZ_INS_MDBR = 522
+SYSZ_INS_MDEB = 523
+SYSZ_INS_MDEBR = 524
+SYSZ_INS_MEEB = 525
+SYSZ_INS_MEEBR = 526
+SYSZ_INS_MGHI = 527
+SYSZ_INS_MH = 528
+SYSZ_INS_MHI = 529
+SYSZ_INS_MHY = 530
+SYSZ_INS_MLG = 531
+SYSZ_INS_MLGR = 532
+SYSZ_INS_MS = 533
+SYSZ_INS_MSDB = 534
+SYSZ_INS_MSDBR = 535
+SYSZ_INS_MSEB = 536
+SYSZ_INS_MSEBR = 537
+SYSZ_INS_MSFI = 538
+SYSZ_INS_MSG = 539
+SYSZ_INS_MSGF = 540
+SYSZ_INS_MSGFI = 541
+SYSZ_INS_MSGFR = 542
+SYSZ_INS_MSGR = 543
+SYSZ_INS_MSR = 544
+SYSZ_INS_MSY = 545
+SYSZ_INS_MVC = 546
+SYSZ_INS_MVGHI = 547
+SYSZ_INS_MVHHI = 548
+SYSZ_INS_MVHI = 549
+SYSZ_INS_MVI = 550
+SYSZ_INS_MVIY = 551
+SYSZ_INS_MVST = 552
+SYSZ_INS_MXBR = 553
+SYSZ_INS_MXDB = 554
+SYSZ_INS_MXDBR = 555
+SYSZ_INS_N = 556
+SYSZ_INS_NC = 557
+SYSZ_INS_NG = 558
+SYSZ_INS_NGR = 559
+SYSZ_INS_NGRK = 560
+SYSZ_INS_NI = 561
+SYSZ_INS_NIHF = 562
+SYSZ_INS_NIHH = 563
+SYSZ_INS_NIHL = 564
+SYSZ_INS_NILF = 565
+SYSZ_INS_NILH = 566
+SYSZ_INS_NILL = 567
+SYSZ_INS_NIY = 568
+SYSZ_INS_NR = 569
+SYSZ_INS_NRK = 570
+SYSZ_INS_NY = 571
+SYSZ_INS_O = 572
+SYSZ_INS_OC = 573
+SYSZ_INS_OG = 574
+SYSZ_INS_OGR = 575
+SYSZ_INS_OGRK = 576
+SYSZ_INS_OI = 577
+SYSZ_INS_OIHF = 578
+SYSZ_INS_OIHH = 579
+SYSZ_INS_OIHL = 580
+SYSZ_INS_OILF = 581
+SYSZ_INS_OILH = 582
+SYSZ_INS_OILL = 583
+SYSZ_INS_OIY = 584
+SYSZ_INS_OR = 585
+SYSZ_INS_ORK = 586
+SYSZ_INS_OY = 587
+SYSZ_INS_PFD = 588
+SYSZ_INS_PFDRL = 589
+SYSZ_INS_RISBG = 590
+SYSZ_INS_RISBHG = 591
+SYSZ_INS_RISBLG = 592
+SYSZ_INS_RLL = 593
+SYSZ_INS_RLLG = 594
+SYSZ_INS_RNSBG = 595
+SYSZ_INS_ROSBG = 596
+SYSZ_INS_RXSBG = 597
+SYSZ_INS_S = 598
+SYSZ_INS_SDB = 599
+SYSZ_INS_SDBR = 600
+SYSZ_INS_SEB = 601
+SYSZ_INS_SEBR = 602
+SYSZ_INS_SG = 603
+SYSZ_INS_SGF = 604
+SYSZ_INS_SGFR = 605
+SYSZ_INS_SGR = 606
+SYSZ_INS_SGRK = 607
+SYSZ_INS_SH = 608
+SYSZ_INS_SHY = 609
+SYSZ_INS_SL = 610
+SYSZ_INS_SLB = 611
+SYSZ_INS_SLBG = 612
+SYSZ_INS_SLBR = 613
+SYSZ_INS_SLFI = 614
+SYSZ_INS_SLG = 615
+SYSZ_INS_SLBGR = 616
+SYSZ_INS_SLGF = 617
+SYSZ_INS_SLGFI = 618
+SYSZ_INS_SLGFR = 619
+SYSZ_INS_SLGR = 620
+SYSZ_INS_SLGRK = 621
+SYSZ_INS_SLL = 622
+SYSZ_INS_SLLG = 623
+SYSZ_INS_SLLK = 624
+SYSZ_INS_SLR = 625
+SYSZ_INS_SLRK = 626
+SYSZ_INS_SLY = 627
+SYSZ_INS_SQDB = 628
+SYSZ_INS_SQDBR = 629
+SYSZ_INS_SQEB = 630
+SYSZ_INS_SQEBR = 631
+SYSZ_INS_SQXBR = 632
+SYSZ_INS_SR = 633
+SYSZ_INS_SRA = 634
+SYSZ_INS_SRAG = 635
+SYSZ_INS_SRAK = 636
+SYSZ_INS_SRK = 637
+SYSZ_INS_SRL = 638
+SYSZ_INS_SRLG = 639
+SYSZ_INS_SRLK = 640
+SYSZ_INS_SRST = 641
+SYSZ_INS_ST = 642
+SYSZ_INS_STC = 643
+SYSZ_INS_STCH = 644
+SYSZ_INS_STCY = 645
+SYSZ_INS_STD = 646
+SYSZ_INS_STDY = 647
+SYSZ_INS_STE = 648
+SYSZ_INS_STEY = 649
+SYSZ_INS_STFH = 650
+SYSZ_INS_STG = 651
+SYSZ_INS_STGRL = 652
+SYSZ_INS_STH = 653
+SYSZ_INS_STHH = 654
+SYSZ_INS_STHRL = 655
+SYSZ_INS_STHY = 656
+SYSZ_INS_STMG = 657
+SYSZ_INS_STRL = 658
+SYSZ_INS_STRV = 659
+SYSZ_INS_STRVG = 660
+SYSZ_INS_STY = 661
+SYSZ_INS_SXBR = 662
+SYSZ_INS_SY = 663
+SYSZ_INS_TM = 664
+SYSZ_INS_TMHH = 665
+SYSZ_INS_TMHL = 666
+SYSZ_INS_TMLH = 667
+SYSZ_INS_TMLL = 668
+SYSZ_INS_TMY = 669
+SYSZ_INS_X = 670
+SYSZ_INS_XC = 671
+SYSZ_INS_XG = 672
+SYSZ_INS_XGR = 673
+SYSZ_INS_XGRK = 674
+SYSZ_INS_XI = 675
+SYSZ_INS_XIHF = 676
+SYSZ_INS_XILF = 677
+SYSZ_INS_XIY = 678
+SYSZ_INS_XR = 679
+SYSZ_INS_XRK = 680
+SYSZ_INS_XY = 681
+SYSZ_INS_AD = 682
+SYSZ_INS_ADR = 683
+SYSZ_INS_ADTR = 684
+SYSZ_INS_ADTRA = 685
+SYSZ_INS_AE = 686
+SYSZ_INS_AER = 687
+SYSZ_INS_AGH = 688
+SYSZ_INS_AHHHR = 689
+SYSZ_INS_AHHLR = 690
+SYSZ_INS_ALGSI = 691
+SYSZ_INS_ALHHHR = 692
+SYSZ_INS_ALHHLR = 693
+SYSZ_INS_ALSI = 694
+SYSZ_INS_ALSIH = 695
+SYSZ_INS_ALSIHN = 696
+SYSZ_INS_AP = 697
+SYSZ_INS_AU = 698
+SYSZ_INS_AUR = 699
+SYSZ_INS_AW = 700
+SYSZ_INS_AWR = 701
+SYSZ_INS_AXR = 702
+SYSZ_INS_AXTR = 703
+SYSZ_INS_AXTRA = 704
+SYSZ_INS_B = 705
+SYSZ_INS_BAKR = 706
+SYSZ_INS_BAL = 707
+SYSZ_INS_BALR = 708
+SYSZ_INS_BAS = 709
+SYSZ_INS_BASSM = 710
+SYSZ_INS_BC = 711
+SYSZ_INS_BCT = 712
+SYSZ_INS_BCTG = 713
+SYSZ_INS_BCTGR = 714
+SYSZ_INS_BCTR = 715
+SYSZ_INS_BE = 716
+SYSZ_INS_BH = 717
+SYSZ_INS_BHE = 718
+SYSZ_INS_BI = 719
+SYSZ_INS_BIC = 720
+SYSZ_INS_BIE = 721
+SYSZ_INS_BIH = 722
+SYSZ_INS_BIHE = 723
+SYSZ_INS_BIL = 724
+SYSZ_INS_BILE = 725
+SYSZ_INS_BILH = 726
+SYSZ_INS_BIM = 727
+SYSZ_INS_BINE = 728
+SYSZ_INS_BINH = 729
+SYSZ_INS_BINHE = 730
+SYSZ_INS_BINL = 731
+SYSZ_INS_BINLE = 732
+SYSZ_INS_BINLH = 733
+SYSZ_INS_BINM = 734
+SYSZ_INS_BINO = 735
+SYSZ_INS_BINP = 736
+SYSZ_INS_BINZ = 737
+SYSZ_INS_BIO = 738
+SYSZ_INS_BIP = 739
+SYSZ_INS_BIZ = 740
+SYSZ_INS_BL = 741
+SYSZ_INS_BLE = 742
+SYSZ_INS_BLH = 743
+SYSZ_INS_BM = 744
+SYSZ_INS_BMR = 745
+SYSZ_INS_BNE = 746
+SYSZ_INS_BNH = 747
+SYSZ_INS_BNHE = 748
+SYSZ_INS_BNL = 749
+SYSZ_INS_BNLE = 750
+SYSZ_INS_BNLH = 751
+SYSZ_INS_BNM = 752
+SYSZ_INS_BNMR = 753
+SYSZ_INS_BNO = 754
+SYSZ_INS_BNP = 755
+SYSZ_INS_BNPR = 756
+SYSZ_INS_BNZ = 757
+SYSZ_INS_BNZR = 758
+SYSZ_INS_BO = 759
+SYSZ_INS_BP = 760
+SYSZ_INS_BPP = 761
+SYSZ_INS_BPR = 762
+SYSZ_INS_BPRP = 763
+SYSZ_INS_BRCTH = 764
+SYSZ_INS_BRXH = 765
+SYSZ_INS_BRXHG = 766
+SYSZ_INS_BRXLE = 767
+SYSZ_INS_BRXLG = 768
+SYSZ_INS_BSA = 769
+SYSZ_INS_BSG = 770
+SYSZ_INS_BSM = 771
+SYSZ_INS_BXH = 772
+SYSZ_INS_BXHG = 773
+SYSZ_INS_BXLE = 774
+SYSZ_INS_BXLEG = 775
+SYSZ_INS_BZ = 776
+SYSZ_INS_BZR = 777
+SYSZ_INS_CD = 778
+SYSZ_INS_CDFBRA = 779
+SYSZ_INS_CDFR = 780
+SYSZ_INS_CDFTR = 781
+SYSZ_INS_CDGBRA = 782
+SYSZ_INS_CDGR = 783
+SYSZ_INS_CDGTR = 784
+SYSZ_INS_CDGTRA = 785
+SYSZ_INS_CDLFTR = 786
+SYSZ_INS_CDLGTR = 787
+SYSZ_INS_CDPT = 788
+SYSZ_INS_CDR = 789
+SYSZ_INS_CDS = 790
+SYSZ_INS_CDSG = 791
+SYSZ_INS_CDSTR = 792
+SYSZ_INS_CDSY = 793
+SYSZ_INS_CDTR = 794
+SYSZ_INS_CDUTR = 795
+SYSZ_INS_CDZT = 796
+SYSZ_INS_CE = 797
+SYSZ_INS_CEDTR = 798
+SYSZ_INS_CEFBRA = 799
+SYSZ_INS_CEFR = 800
+SYSZ_INS_CEGBRA = 801
+SYSZ_INS_CEGR = 802
+SYSZ_INS_CER = 803
+SYSZ_INS_CEXTR = 804
+SYSZ_INS_CFC = 805
+SYSZ_INS_CFDBRA = 806
+SYSZ_INS_CFDR = 807
+SYSZ_INS_CFDTR = 808
+SYSZ_INS_CFEBRA = 809
+SYSZ_INS_CFER = 810
+SYSZ_INS_CFXBRA = 811
+SYSZ_INS_CFXR = 812
+SYSZ_INS_CFXTR = 813
+SYSZ_INS_CGDBRA = 814
+SYSZ_INS_CGDR = 815
+SYSZ_INS_CGDTR = 816
+SYSZ_INS_CGDTRA = 817
+SYSZ_INS_CGEBRA = 818
+SYSZ_INS_CGER = 819
+SYSZ_INS_CGIB = 820
+SYSZ_INS_CGIBE = 821
+SYSZ_INS_CGIBH = 822
+SYSZ_INS_CGIBHE = 823
+SYSZ_INS_CGIBL = 824
+SYSZ_INS_CGIBLE = 825
+SYSZ_INS_CGIBLH = 826
+SYSZ_INS_CGIBNE = 827
+SYSZ_INS_CGIBNH = 828
+SYSZ_INS_CGIBNHE = 829
+SYSZ_INS_CGIBNL = 830
+SYSZ_INS_CGIBNLE = 831
+SYSZ_INS_CGIBNLH = 832
+SYSZ_INS_CGIT = 833
+SYSZ_INS_CGITE = 834
+SYSZ_INS_CGITH = 835
+SYSZ_INS_CGITHE = 836
+SYSZ_INS_CGITL = 837
+SYSZ_INS_CGITLE = 838
+SYSZ_INS_CGITLH = 839
+SYSZ_INS_CGITNE = 840
+SYSZ_INS_CGITNH = 841
+SYSZ_INS_CGITNHE = 842
+SYSZ_INS_CGITNL = 843
+SYSZ_INS_CGITNLE = 844
+SYSZ_INS_CGITNLH = 845
+SYSZ_INS_CGRB = 846
+SYSZ_INS_CGRBE = 847
+SYSZ_INS_CGRBH = 848
+SYSZ_INS_CGRBHE = 849
+SYSZ_INS_CGRBL = 850
+SYSZ_INS_CGRBLE = 851
+SYSZ_INS_CGRBLH = 852
+SYSZ_INS_CGRBNE = 853
+SYSZ_INS_CGRBNH = 854
+SYSZ_INS_CGRBNHE = 855
+SYSZ_INS_CGRBNL = 856
+SYSZ_INS_CGRBNLE = 857
+SYSZ_INS_CGRBNLH = 858
+SYSZ_INS_CGRT = 859
+SYSZ_INS_CGRTE = 860
+SYSZ_INS_CGRTH = 861
+SYSZ_INS_CGRTHE = 862
+SYSZ_INS_CGRTL = 863
+SYSZ_INS_CGRTLE = 864
+SYSZ_INS_CGRTLH = 865
+SYSZ_INS_CGRTNE = 866
+SYSZ_INS_CGRTNH = 867
+SYSZ_INS_CGRTNHE = 868
+SYSZ_INS_CGRTNL = 869
+SYSZ_INS_CGRTNLE = 870
+SYSZ_INS_CGRTNLH = 871
+SYSZ_INS_CGXBRA = 872
+SYSZ_INS_CGXR = 873
+SYSZ_INS_CGXTR = 874
+SYSZ_INS_CGXTRA = 875
+SYSZ_INS_CHHR = 876
+SYSZ_INS_CHLR = 877
+SYSZ_INS_CIB = 878
+SYSZ_INS_CIBE = 879
+SYSZ_INS_CIBH = 880
+SYSZ_INS_CIBHE = 881
+SYSZ_INS_CIBL = 882
+SYSZ_INS_CIBLE = 883
+SYSZ_INS_CIBLH = 884
+SYSZ_INS_CIBNE = 885
+SYSZ_INS_CIBNH = 886
+SYSZ_INS_CIBNHE = 887
+SYSZ_INS_CIBNL = 888
+SYSZ_INS_CIBNLE = 889
+SYSZ_INS_CIBNLH = 890
+SYSZ_INS_CIT = 891
+SYSZ_INS_CITE = 892
+SYSZ_INS_CITH = 893
+SYSZ_INS_CITHE = 894
+SYSZ_INS_CITL = 895
+SYSZ_INS_CITLE = 896
+SYSZ_INS_CITLH = 897
+SYSZ_INS_CITNE = 898
+SYSZ_INS_CITNH = 899
+SYSZ_INS_CITNHE = 900
+SYSZ_INS_CITNL = 901
+SYSZ_INS_CITNLE = 902
+SYSZ_INS_CITNLH = 903
+SYSZ_INS_CKSM = 904
+SYSZ_INS_CLCL = 905
+SYSZ_INS_CLCLE = 906
+SYSZ_INS_CLCLU = 907
+SYSZ_INS_CLFDTR = 908
+SYSZ_INS_CLFIT = 909
+SYSZ_INS_CLFITE = 910
+SYSZ_INS_CLFITH = 911
+SYSZ_INS_CLFITHE = 912
+SYSZ_INS_CLFITL = 913
+SYSZ_INS_CLFITLE = 914
+SYSZ_INS_CLFITLH = 915
+SYSZ_INS_CLFITNE = 916
+SYSZ_INS_CLFITNH = 917
+SYSZ_INS_CLFITNHE = 918
+SYSZ_INS_CLFITNL = 919
+SYSZ_INS_CLFITNLE = 920
+SYSZ_INS_CLFITNLH = 921
+SYSZ_INS_CLFXTR = 922
+SYSZ_INS_CLGDTR = 923
+SYSZ_INS_CLGIB = 924
+SYSZ_INS_CLGIBE = 925
+SYSZ_INS_CLGIBH = 926
+SYSZ_INS_CLGIBHE = 927
+SYSZ_INS_CLGIBL = 928
+SYSZ_INS_CLGIBLE = 929
+SYSZ_INS_CLGIBLH = 930
+SYSZ_INS_CLGIBNE = 931
+SYSZ_INS_CLGIBNH = 932
+SYSZ_INS_CLGIBNHE = 933
+SYSZ_INS_CLGIBNL = 934
+SYSZ_INS_CLGIBNLE = 935
+SYSZ_INS_CLGIBNLH = 936
+SYSZ_INS_CLGIT = 937
+SYSZ_INS_CLGITE = 938
+SYSZ_INS_CLGITH = 939
+SYSZ_INS_CLGITHE = 940
+SYSZ_INS_CLGITL = 941
+SYSZ_INS_CLGITLE = 942
+SYSZ_INS_CLGITLH = 943
+SYSZ_INS_CLGITNE = 944
+SYSZ_INS_CLGITNH = 945
+SYSZ_INS_CLGITNHE = 946
+SYSZ_INS_CLGITNL = 947
+SYSZ_INS_CLGITNLE = 948
+SYSZ_INS_CLGITNLH = 949
+SYSZ_INS_CLGRB = 950
+SYSZ_INS_CLGRBE = 951
+SYSZ_INS_CLGRBH = 952
+SYSZ_INS_CLGRBHE = 953
+SYSZ_INS_CLGRBL = 954
+SYSZ_INS_CLGRBLE = 955
+SYSZ_INS_CLGRBLH = 956
+SYSZ_INS_CLGRBNE = 957
+SYSZ_INS_CLGRBNH = 958
+SYSZ_INS_CLGRBNHE = 959
+SYSZ_INS_CLGRBNL = 960
+SYSZ_INS_CLGRBNLE = 961
+SYSZ_INS_CLGRBNLH = 962
+SYSZ_INS_CLGRT = 963
+SYSZ_INS_CLGRTE = 964
+SYSZ_INS_CLGRTH = 965
+SYSZ_INS_CLGRTHE = 966
+SYSZ_INS_CLGRTL = 967
+SYSZ_INS_CLGRTLE = 968
+SYSZ_INS_CLGRTLH = 969
+SYSZ_INS_CLGRTNE = 970
+SYSZ_INS_CLGRTNH = 971
+SYSZ_INS_CLGRTNHE = 972
+SYSZ_INS_CLGRTNL = 973
+SYSZ_INS_CLGRTNLE = 974
+SYSZ_INS_CLGRTNLH = 975
+SYSZ_INS_CLGT = 976
+SYSZ_INS_CLGTE = 977
+SYSZ_INS_CLGTH = 978
+SYSZ_INS_CLGTHE = 979
+SYSZ_INS_CLGTL = 980
+SYSZ_INS_CLGTLE = 981
+SYSZ_INS_CLGTLH = 982
+SYSZ_INS_CLGTNE = 983
+SYSZ_INS_CLGTNH = 984
+SYSZ_INS_CLGTNHE = 985
+SYSZ_INS_CLGTNL = 986
+SYSZ_INS_CLGTNLE = 987
+SYSZ_INS_CLGTNLH = 988
+SYSZ_INS_CLGXTR = 989
+SYSZ_INS_CLHHR = 990
+SYSZ_INS_CLHLR = 991
+SYSZ_INS_CLIB = 992
+SYSZ_INS_CLIBE = 993
+SYSZ_INS_CLIBH = 994
+SYSZ_INS_CLIBHE = 995
+SYSZ_INS_CLIBL = 996
+SYSZ_INS_CLIBLE = 997
+SYSZ_INS_CLIBLH = 998
+SYSZ_INS_CLIBNE = 999
+SYSZ_INS_CLIBNH = 1000
+SYSZ_INS_CLIBNHE = 1001
+SYSZ_INS_CLIBNL = 1002
+SYSZ_INS_CLIBNLE = 1003
+SYSZ_INS_CLIBNLH = 1004
+SYSZ_INS_CLM = 1005
+SYSZ_INS_CLMH = 1006
+SYSZ_INS_CLMY = 1007
+SYSZ_INS_CLRB = 1008
+SYSZ_INS_CLRBE = 1009
+SYSZ_INS_CLRBH = 1010
+SYSZ_INS_CLRBHE = 1011
+SYSZ_INS_CLRBL = 1012
+SYSZ_INS_CLRBLE = 1013
+SYSZ_INS_CLRBLH = 1014
+SYSZ_INS_CLRBNE = 1015
+SYSZ_INS_CLRBNH = 1016
+SYSZ_INS_CLRBNHE = 1017
+SYSZ_INS_CLRBNL = 1018
+SYSZ_INS_CLRBNLE = 1019
+SYSZ_INS_CLRBNLH = 1020
+SYSZ_INS_CLRT = 1021
+SYSZ_INS_CLRTE = 1022
+SYSZ_INS_CLRTH = 1023
+SYSZ_INS_CLRTHE = 1024
+SYSZ_INS_CLRTL = 1025
+SYSZ_INS_CLRTLE = 1026
+SYSZ_INS_CLRTLH = 1027
+SYSZ_INS_CLRTNE = 1028
+SYSZ_INS_CLRTNH = 1029
+SYSZ_INS_CLRTNHE = 1030
+SYSZ_INS_CLRTNL = 1031
+SYSZ_INS_CLRTNLE = 1032
+SYSZ_INS_CLRTNLH = 1033
+SYSZ_INS_CLT = 1034
+SYSZ_INS_CLTE = 1035
+SYSZ_INS_CLTH = 1036
+SYSZ_INS_CLTHE = 1037
+SYSZ_INS_CLTL = 1038
+SYSZ_INS_CLTLE = 1039
+SYSZ_INS_CLTLH = 1040
+SYSZ_INS_CLTNE = 1041
+SYSZ_INS_CLTNH = 1042
+SYSZ_INS_CLTNHE = 1043
+SYSZ_INS_CLTNL = 1044
+SYSZ_INS_CLTNLE = 1045
+SYSZ_INS_CLTNLH = 1046
+SYSZ_INS_CMPSC = 1047
+SYSZ_INS_CP = 1048
+SYSZ_INS_CPDT = 1049
+SYSZ_INS_CPXT = 1050
+SYSZ_INS_CPYA = 1051
+SYSZ_INS_CRB = 1052
+SYSZ_INS_CRBE = 1053
+SYSZ_INS_CRBH = 1054
+SYSZ_INS_CRBHE = 1055
+SYSZ_INS_CRBL = 1056
+SYSZ_INS_CRBLE = 1057
+SYSZ_INS_CRBLH = 1058
+SYSZ_INS_CRBNE = 1059
+SYSZ_INS_CRBNH = 1060
+SYSZ_INS_CRBNHE = 1061
+SYSZ_INS_CRBNL = 1062
+SYSZ_INS_CRBNLE = 1063
+SYSZ_INS_CRBNLH = 1064
+SYSZ_INS_CRDTE = 1065
+SYSZ_INS_CRT = 1066
+SYSZ_INS_CRTE = 1067
+SYSZ_INS_CRTH = 1068
+SYSZ_INS_CRTHE = 1069
+SYSZ_INS_CRTL = 1070
+SYSZ_INS_CRTLE = 1071
+SYSZ_INS_CRTLH = 1072
+SYSZ_INS_CRTNE = 1073
+SYSZ_INS_CRTNH = 1074
+SYSZ_INS_CRTNHE = 1075
+SYSZ_INS_CRTNL = 1076
+SYSZ_INS_CRTNLE = 1077
+SYSZ_INS_CRTNLH = 1078
+SYSZ_INS_CSCH = 1079
+SYSZ_INS_CSDTR = 1080
+SYSZ_INS_CSP = 1081
+SYSZ_INS_CSPG = 1082
+SYSZ_INS_CSST = 1083
+SYSZ_INS_CSXTR = 1084
+SYSZ_INS_CU12 = 1085
+SYSZ_INS_CU14 = 1086
+SYSZ_INS_CU21 = 1087
+SYSZ_INS_CU24 = 1088
+SYSZ_INS_CU41 = 1089
+SYSZ_INS_CU42 = 1090
+SYSZ_INS_CUDTR = 1091
+SYSZ_INS_CUSE = 1092
+SYSZ_INS_CUTFU = 1093
+SYSZ_INS_CUUTF = 1094
+SYSZ_INS_CUXTR = 1095
+SYSZ_INS_CVB = 1096
+SYSZ_INS_CVBG = 1097
+SYSZ_INS_CVBY = 1098
+SYSZ_INS_CVD = 1099
+SYSZ_INS_CVDG = 1100
+SYSZ_INS_CVDY = 1101
+SYSZ_INS_CXFBRA = 1102
+SYSZ_INS_CXFR = 1103
+SYSZ_INS_CXFTR = 1104
+SYSZ_INS_CXGBRA = 1105
+SYSZ_INS_CXGR = 1106
+SYSZ_INS_CXGTR = 1107
+SYSZ_INS_CXGTRA = 1108
+SYSZ_INS_CXLFTR = 1109
+SYSZ_INS_CXLGTR = 1110
+SYSZ_INS_CXPT = 1111
+SYSZ_INS_CXR = 1112
+SYSZ_INS_CXSTR = 1113
+SYSZ_INS_CXTR = 1114
+SYSZ_INS_CXUTR = 1115
+SYSZ_INS_CXZT = 1116
+SYSZ_INS_CZDT = 1117
+SYSZ_INS_CZXT = 1118
+SYSZ_INS_D = 1119
+SYSZ_INS_DD = 1120
+SYSZ_INS_DDR = 1121
+SYSZ_INS_DDTR = 1122
+SYSZ_INS_DDTRA = 1123
+SYSZ_INS_DE = 1124
+SYSZ_INS_DER = 1125
+SYSZ_INS_DIAG = 1126
+SYSZ_INS_DIDBR = 1127
+SYSZ_INS_DIEBR = 1128
+SYSZ_INS_DP = 1129
+SYSZ_INS_DR = 1130
+SYSZ_INS_DXR = 1131
+SYSZ_INS_DXTR = 1132
+SYSZ_INS_DXTRA = 1133
+SYSZ_INS_ECAG = 1134
+SYSZ_INS_ECCTR = 1135
+SYSZ_INS_ECPGA = 1136
+SYSZ_INS_ECTG = 1137
+SYSZ_INS_ED = 1138
+SYSZ_INS_EDMK = 1139
+SYSZ_INS_EEDTR = 1140
+SYSZ_INS_EEXTR = 1141
+SYSZ_INS_EFPC = 1142
+SYSZ_INS_EPAIR = 1143
+SYSZ_INS_EPAR = 1144
+SYSZ_INS_EPCTR = 1145
+SYSZ_INS_EPSW = 1146
+SYSZ_INS_EREG = 1147
+SYSZ_INS_EREGG = 1148
+SYSZ_INS_ESAIR = 1149
+SYSZ_INS_ESAR = 1150
+SYSZ_INS_ESDTR = 1151
+SYSZ_INS_ESEA = 1152
+SYSZ_INS_ESTA = 1153
+SYSZ_INS_ESXTR = 1154
+SYSZ_INS_ETND = 1155
+SYSZ_INS_EX = 1156
+SYSZ_INS_EXRL = 1157
+SYSZ_INS_FIDR = 1158
+SYSZ_INS_FIDTR = 1159
+SYSZ_INS_FIER = 1160
+SYSZ_INS_FIXR = 1161
+SYSZ_INS_FIXTR = 1162
+SYSZ_INS_HDR = 1163
+SYSZ_INS_HER = 1164
+SYSZ_INS_HSCH = 1165
+SYSZ_INS_IAC = 1166
+SYSZ_INS_ICM = 1167
+SYSZ_INS_ICMH = 1168
+SYSZ_INS_ICMY = 1169
+SYSZ_INS_IDTE = 1170
+SYSZ_INS_IEDTR = 1171
+SYSZ_INS_IEXTR = 1172
+SYSZ_INS_IPK = 1173
+SYSZ_INS_IPTE = 1174
+SYSZ_INS_IRBM = 1175
+SYSZ_INS_ISKE = 1176
+SYSZ_INS_IVSK = 1177
+SYSZ_INS_JGM = 1178
+SYSZ_INS_JGNM = 1179
+SYSZ_INS_JGNP = 1180
+SYSZ_INS_JGNZ = 1181
+SYSZ_INS_JGP = 1182
+SYSZ_INS_JGZ = 1183
+SYSZ_INS_JM = 1184
+SYSZ_INS_JNM = 1185
+SYSZ_INS_JNP = 1186
+SYSZ_INS_JNZ = 1187
+SYSZ_INS_JP = 1188
+SYSZ_INS_JZ = 1189
+SYSZ_INS_KDB = 1190
+SYSZ_INS_KDBR = 1191
+SYSZ_INS_KDTR = 1192
+SYSZ_INS_KEB = 1193
+SYSZ_INS_KEBR = 1194
+SYSZ_INS_KIMD = 1195
+SYSZ_INS_KLMD = 1196
+SYSZ_INS_KM = 1197
+SYSZ_INS_KMA = 1198
+SYSZ_INS_KMAC = 1199
+SYSZ_INS_KMC = 1200
+SYSZ_INS_KMCTR = 1201
+SYSZ_INS_KMF = 1202
+SYSZ_INS_KMO = 1203
+SYSZ_INS_KXBR = 1204
+SYSZ_INS_KXTR = 1205
+SYSZ_INS_LAE = 1206
+SYSZ_INS_LAEY = 1207
+SYSZ_INS_LAM = 1208
+SYSZ_INS_LAMY = 1209
+SYSZ_INS_LASP = 1210
+SYSZ_INS_LAT = 1211
+SYSZ_INS_LCBB = 1212
+SYSZ_INS_LCCTL = 1213
+SYSZ_INS_LCDFR = 1214
+SYSZ_INS_LCDR = 1215
+SYSZ_INS_LCER = 1216
+SYSZ_INS_LCTL = 1217
+SYSZ_INS_LCTLG = 1218
+SYSZ_INS_LCXR = 1219
+SYSZ_INS_LDE = 1220
+SYSZ_INS_LDER = 1221
+SYSZ_INS_LDETR = 1222
+SYSZ_INS_LDXR = 1223
+SYSZ_INS_LDXTR = 1224
+SYSZ_INS_LEDR = 1225
+SYSZ_INS_LEDTR = 1226
+SYSZ_INS_LEXR = 1227
+SYSZ_INS_LFAS = 1228
+SYSZ_INS_LFHAT = 1229
+SYSZ_INS_LFPC = 1230
+SYSZ_INS_LGAT = 1231
+SYSZ_INS_LGG = 1232
+SYSZ_INS_LGSC = 1233
+SYSZ_INS_LLGFAT = 1234
+SYSZ_INS_LLGFSG = 1235
+SYSZ_INS_LLGT = 1236
+SYSZ_INS_LLGTAT = 1237
+SYSZ_INS_LLGTR = 1238
+SYSZ_INS_LLZRGF = 1239
+SYSZ_INS_LM = 1240
+SYSZ_INS_LMD = 1241
+SYSZ_INS_LMH = 1242
+SYSZ_INS_LMY = 1243
+SYSZ_INS_LNDFR = 1244
+SYSZ_INS_LNDR = 1245
+SYSZ_INS_LNER = 1246
+SYSZ_INS_LNXR = 1247
+SYSZ_INS_LOCFH = 1248
+SYSZ_INS_LOCFHE = 1249
+SYSZ_INS_LOCFHH = 1250
+SYSZ_INS_LOCFHHE = 1251
+SYSZ_INS_LOCFHL = 1252
+SYSZ_INS_LOCFHLE = 1253
+SYSZ_INS_LOCFHLH = 1254
+SYSZ_INS_LOCFHM = 1255
+SYSZ_INS_LOCFHNE = 1256
+SYSZ_INS_LOCFHNH = 1257
+SYSZ_INS_LOCFHNHE = 1258
+SYSZ_INS_LOCFHNL = 1259
+SYSZ_INS_LOCFHNLE = 1260
+SYSZ_INS_LOCFHNLH = 1261
+SYSZ_INS_LOCFHNM = 1262
+SYSZ_INS_LOCFHNO = 1263
+SYSZ_INS_LOCFHNP = 1264
+SYSZ_INS_LOCFHNZ = 1265
+SYSZ_INS_LOCFHO = 1266
+SYSZ_INS_LOCFHP = 1267
+SYSZ_INS_LOCFHR = 1268
+SYSZ_INS_LOCFHRE = 1269
+SYSZ_INS_LOCFHRH = 1270
+SYSZ_INS_LOCFHRHE = 1271
+SYSZ_INS_LOCFHRL = 1272
+SYSZ_INS_LOCFHRLE = 1273
+SYSZ_INS_LOCFHRLH = 1274
+SYSZ_INS_LOCFHRM = 1275
+SYSZ_INS_LOCFHRNE = 1276
+SYSZ_INS_LOCFHRNH = 1277
+SYSZ_INS_LOCFHRNHE = 1278
+SYSZ_INS_LOCFHRNL = 1279
+SYSZ_INS_LOCFHRNLE = 1280
+SYSZ_INS_LOCFHRNLH = 1281
+SYSZ_INS_LOCFHRNM = 1282
+SYSZ_INS_LOCFHRNO = 1283
+SYSZ_INS_LOCFHRNP = 1284
+SYSZ_INS_LOCFHRNZ = 1285
+SYSZ_INS_LOCFHRO = 1286
+SYSZ_INS_LOCFHRP = 1287
+SYSZ_INS_LOCFHRZ = 1288
+SYSZ_INS_LOCFHZ = 1289
+SYSZ_INS_LOCGHI = 1290
+SYSZ_INS_LOCGHIE = 1291
+SYSZ_INS_LOCGHIH = 1292
+SYSZ_INS_LOCGHIHE = 1293
+SYSZ_INS_LOCGHIL = 1294
+SYSZ_INS_LOCGHILE = 1295
+SYSZ_INS_LOCGHILH = 1296
+SYSZ_INS_LOCGHIM = 1297
+SYSZ_INS_LOCGHINE = 1298
+SYSZ_INS_LOCGHINH = 1299
+SYSZ_INS_LOCGHINHE = 1300
+SYSZ_INS_LOCGHINL = 1301
+SYSZ_INS_LOCGHINLE = 1302
+SYSZ_INS_LOCGHINLH = 1303
+SYSZ_INS_LOCGHINM = 1304
+SYSZ_INS_LOCGHINO = 1305
+SYSZ_INS_LOCGHINP = 1306
+SYSZ_INS_LOCGHINZ = 1307
+SYSZ_INS_LOCGHIO = 1308
+SYSZ_INS_LOCGHIP = 1309
+SYSZ_INS_LOCGHIZ = 1310
+SYSZ_INS_LOCGM = 1311
+SYSZ_INS_LOCGNM = 1312
+SYSZ_INS_LOCGNP = 1313
+SYSZ_INS_LOCGNZ = 1314
+SYSZ_INS_LOCGP = 1315
+SYSZ_INS_LOCGRM = 1316
+SYSZ_INS_LOCGRNM = 1317
+SYSZ_INS_LOCGRNP = 1318
+SYSZ_INS_LOCGRNZ = 1319
+SYSZ_INS_LOCGRP = 1320
+SYSZ_INS_LOCGRZ = 1321
+SYSZ_INS_LOCGZ = 1322
+SYSZ_INS_LOCHHI = 1323
+SYSZ_INS_LOCHHIE = 1324
+SYSZ_INS_LOCHHIH = 1325
+SYSZ_INS_LOCHHIHE = 1326
+SYSZ_INS_LOCHHIL = 1327
+SYSZ_INS_LOCHHILE = 1328
+SYSZ_INS_LOCHHILH = 1329
+SYSZ_INS_LOCHHIM = 1330
+SYSZ_INS_LOCHHINE = 1331
+SYSZ_INS_LOCHHINH = 1332
+SYSZ_INS_LOCHHINHE = 1333
+SYSZ_INS_LOCHHINL = 1334
+SYSZ_INS_LOCHHINLE = 1335
+SYSZ_INS_LOCHHINLH = 1336
+SYSZ_INS_LOCHHINM = 1337
+SYSZ_INS_LOCHHINO = 1338
+SYSZ_INS_LOCHHINP = 1339
+SYSZ_INS_LOCHHINZ = 1340
+SYSZ_INS_LOCHHIO = 1341
+SYSZ_INS_LOCHHIP = 1342
+SYSZ_INS_LOCHHIZ = 1343
+SYSZ_INS_LOCHI = 1344
+SYSZ_INS_LOCHIE = 1345
+SYSZ_INS_LOCHIH = 1346
+SYSZ_INS_LOCHIHE = 1347
+SYSZ_INS_LOCHIL = 1348
+SYSZ_INS_LOCHILE = 1349
+SYSZ_INS_LOCHILH = 1350
+SYSZ_INS_LOCHIM = 1351
+SYSZ_INS_LOCHINE = 1352
+SYSZ_INS_LOCHINH = 1353
+SYSZ_INS_LOCHINHE = 1354
+SYSZ_INS_LOCHINL = 1355
+SYSZ_INS_LOCHINLE = 1356
+SYSZ_INS_LOCHINLH = 1357
+SYSZ_INS_LOCHINM = 1358
+SYSZ_INS_LOCHINO = 1359
+SYSZ_INS_LOCHINP = 1360
+SYSZ_INS_LOCHINZ = 1361
+SYSZ_INS_LOCHIO = 1362
+SYSZ_INS_LOCHIP = 1363
+SYSZ_INS_LOCHIZ = 1364
+SYSZ_INS_LOCM = 1365
+SYSZ_INS_LOCNM = 1366
+SYSZ_INS_LOCNP = 1367
+SYSZ_INS_LOCNZ = 1368
+SYSZ_INS_LOCP = 1369
+SYSZ_INS_LOCRM = 1370
+SYSZ_INS_LOCRNM = 1371
+SYSZ_INS_LOCRNP = 1372
+SYSZ_INS_LOCRNZ = 1373
+SYSZ_INS_LOCRP = 1374
+SYSZ_INS_LOCRZ = 1375
+SYSZ_INS_LOCZ = 1376
+SYSZ_INS_LPCTL = 1377
+SYSZ_INS_LPD = 1378
+SYSZ_INS_LPDFR = 1379
+SYSZ_INS_LPDG = 1380
+SYSZ_INS_LPDR = 1381
+SYSZ_INS_LPER = 1382
+SYSZ_INS_LPP = 1383
+SYSZ_INS_LPQ = 1384
+SYSZ_INS_LPSW = 1385
+SYSZ_INS_LPSWE = 1386
+SYSZ_INS_LPTEA = 1387
+SYSZ_INS_LPXR = 1388
+SYSZ_INS_LRA = 1389
+SYSZ_INS_LRAG = 1390
+SYSZ_INS_LRAY = 1391
+SYSZ_INS_LRDR = 1392
+SYSZ_INS_LRER = 1393
+SYSZ_INS_LRVH = 1394
+SYSZ_INS_LSCTL = 1395
+SYSZ_INS_LTDR = 1396
+SYSZ_INS_LTDTR = 1397
+SYSZ_INS_LTER = 1398
+SYSZ_INS_LTXR = 1399
+SYSZ_INS_LTXTR = 1400
+SYSZ_INS_LURA = 1401
+SYSZ_INS_LURAG = 1402
+SYSZ_INS_LXD = 1403
+SYSZ_INS_LXDR = 1404
+SYSZ_INS_LXDTR = 1405
+SYSZ_INS_LXE = 1406
+SYSZ_INS_LXER = 1407
+SYSZ_INS_LZRF = 1408
+SYSZ_INS_LZRG = 1409
+SYSZ_INS_M = 1410
+SYSZ_INS_MAD = 1411
+SYSZ_INS_MADR = 1412
+SYSZ_INS_MAE = 1413
+SYSZ_INS_MAER = 1414
+SYSZ_INS_MAY = 1415
+SYSZ_INS_MAYH = 1416
+SYSZ_INS_MAYHR = 1417
+SYSZ_INS_MAYL = 1418
+SYSZ_INS_MAYLR = 1419
+SYSZ_INS_MAYR = 1420
+SYSZ_INS_MC = 1421
+SYSZ_INS_MD = 1422
+SYSZ_INS_MDE = 1423
+SYSZ_INS_MDER = 1424
+SYSZ_INS_MDR = 1425
+SYSZ_INS_MDTR = 1426
+SYSZ_INS_MDTRA = 1427
+SYSZ_INS_ME = 1428
+SYSZ_INS_MEE = 1429
+SYSZ_INS_MEER = 1430
+SYSZ_INS_MER = 1431
+SYSZ_INS_MFY = 1432
+SYSZ_INS_MG = 1433
+SYSZ_INS_MGH = 1434
+SYSZ_INS_MGRK = 1435
+SYSZ_INS_ML = 1436
+SYSZ_INS_MLR = 1437
+SYSZ_INS_MP = 1438
+SYSZ_INS_MR = 1439
+SYSZ_INS_MSC = 1440
+SYSZ_INS_MSCH = 1441
+SYSZ_INS_MSD = 1442
+SYSZ_INS_MSDR = 1443
+SYSZ_INS_MSE = 1444
+SYSZ_INS_MSER = 1445
+SYSZ_INS_MSGC = 1446
+SYSZ_INS_MSGRKC = 1447
+SYSZ_INS_MSRKC = 1448
+SYSZ_INS_MSTA = 1449
+SYSZ_INS_MVCDK = 1450
+SYSZ_INS_MVCIN = 1451
+SYSZ_INS_MVCK = 1452
+SYSZ_INS_MVCL = 1453
+SYSZ_INS_MVCLE = 1454
+SYSZ_INS_MVCLU = 1455
+SYSZ_INS_MVCOS = 1456
+SYSZ_INS_MVCP = 1457
+SYSZ_INS_MVCS = 1458
+SYSZ_INS_MVCSK = 1459
+SYSZ_INS_MVN = 1460
+SYSZ_INS_MVO = 1461
+SYSZ_INS_MVPG = 1462
+SYSZ_INS_MVZ = 1463
+SYSZ_INS_MXD = 1464
+SYSZ_INS_MXDR = 1465
+SYSZ_INS_MXR = 1466
+SYSZ_INS_MXTR = 1467
+SYSZ_INS_MXTRA = 1468
+SYSZ_INS_MY = 1469
+SYSZ_INS_MYH = 1470
+SYSZ_INS_MYHR = 1471
+SYSZ_INS_MYL = 1472
+SYSZ_INS_MYLR = 1473
+SYSZ_INS_MYR = 1474
+SYSZ_INS_NIAI = 1475
+SYSZ_INS_NTSTG = 1476
+SYSZ_INS_PACK = 1477
+SYSZ_INS_PALB = 1478
+SYSZ_INS_PC = 1479
+SYSZ_INS_PCC = 1480
+SYSZ_INS_PCKMO = 1481
+SYSZ_INS_PFMF = 1482
+SYSZ_INS_PFPO = 1483
+SYSZ_INS_PGIN = 1484
+SYSZ_INS_PGOUT = 1485
+SYSZ_INS_PKA = 1486
+SYSZ_INS_PKU = 1487
+SYSZ_INS_PLO = 1488
+SYSZ_INS_POPCNT = 1489
+SYSZ_INS_PPA = 1490
+SYSZ_INS_PPNO = 1491
+SYSZ_INS_PR = 1492
+SYSZ_INS_PRNO = 1493
+SYSZ_INS_PT = 1494
+SYSZ_INS_PTF = 1495
+SYSZ_INS_PTFF = 1496
+SYSZ_INS_PTI = 1497
+SYSZ_INS_PTLB = 1498
+SYSZ_INS_QADTR = 1499
+SYSZ_INS_QAXTR = 1500
+SYSZ_INS_QCTRI = 1501
+SYSZ_INS_QSI = 1502
+SYSZ_INS_RCHP = 1503
+SYSZ_INS_RISBGN = 1504
+SYSZ_INS_RP = 1505
+SYSZ_INS_RRBE = 1506
+SYSZ_INS_RRBM = 1507
+SYSZ_INS_RRDTR = 1508
+SYSZ_INS_RRXTR = 1509
+SYSZ_INS_RSCH = 1510
+SYSZ_INS_SAC = 1511
+SYSZ_INS_SACF = 1512
+SYSZ_INS_SAL = 1513
+SYSZ_INS_SAM24 = 1514
+SYSZ_INS_SAM31 = 1515
+SYSZ_INS_SAM64 = 1516
+SYSZ_INS_SAR = 1517
+SYSZ_INS_SCCTR = 1518
+SYSZ_INS_SCHM = 1519
+SYSZ_INS_SCK = 1520
+SYSZ_INS_SCKC = 1521
+SYSZ_INS_SCKPF = 1522
+SYSZ_INS_SD = 1523
+SYSZ_INS_SDR = 1524
+SYSZ_INS_SDTR = 1525
+SYSZ_INS_SDTRA = 1526
+SYSZ_INS_SE = 1527
+SYSZ_INS_SER = 1528
+SYSZ_INS_SFASR = 1529
+SYSZ_INS_SFPC = 1530
+SYSZ_INS_SGH = 1531
+SYSZ_INS_SHHHR = 1532
+SYSZ_INS_SHHLR = 1533
+SYSZ_INS_SIE = 1534
+SYSZ_INS_SIGA = 1535
+SYSZ_INS_SIGP = 1536
+SYSZ_INS_SLA = 1537
+SYSZ_INS_SLAG = 1538
+SYSZ_INS_SLAK = 1539
+SYSZ_INS_SLDA = 1540
+SYSZ_INS_SLDL = 1541
+SYSZ_INS_SLDT = 1542
+SYSZ_INS_SLHHHR = 1543
+SYSZ_INS_SLHHLR = 1544
+SYSZ_INS_SLXT = 1545
+SYSZ_INS_SP = 1546
+SYSZ_INS_SPCTR = 1547
+SYSZ_INS_SPKA = 1548
+SYSZ_INS_SPM = 1549
+SYSZ_INS_SPT = 1550
+SYSZ_INS_SPX = 1551
+SYSZ_INS_SQD = 1552
+SYSZ_INS_SQDR = 1553
+SYSZ_INS_SQE = 1554
+SYSZ_INS_SQER = 1555
+SYSZ_INS_SQXR = 1556
+SYSZ_INS_SRDA = 1557
+SYSZ_INS_SRDL = 1558
+SYSZ_INS_SRDT = 1559
+SYSZ_INS_SRNM = 1560
+SYSZ_INS_SRNMB = 1561
+SYSZ_INS_SRNMT = 1562
+SYSZ_INS_SRP = 1563
+SYSZ_INS_SRSTU = 1564
+SYSZ_INS_SRXT = 1565
+SYSZ_INS_SSAIR = 1566
+SYSZ_INS_SSAR = 1567
+SYSZ_INS_SSCH = 1568
+SYSZ_INS_SSKE = 1569
+SYSZ_INS_SSM = 1570
+SYSZ_INS_STAM = 1571
+SYSZ_INS_STAMY = 1572
+SYSZ_INS_STAP = 1573
+SYSZ_INS_STCK = 1574
+SYSZ_INS_STCKC = 1575
+SYSZ_INS_STCKE = 1576
+SYSZ_INS_STCKF = 1577
+SYSZ_INS_STCM = 1578
+SYSZ_INS_STCMH = 1579
+SYSZ_INS_STCMY = 1580
+SYSZ_INS_STCPS = 1581
+SYSZ_INS_STCRW = 1582
+SYSZ_INS_STCTG = 1583
+SYSZ_INS_STCTL = 1584
+SYSZ_INS_STFL = 1585
+SYSZ_INS_STFLE = 1586
+SYSZ_INS_STFPC = 1587
+SYSZ_INS_STGSC = 1588
+SYSZ_INS_STIDP = 1589
+SYSZ_INS_STM = 1590
+SYSZ_INS_STMH = 1591
+SYSZ_INS_STMY = 1592
+SYSZ_INS_STNSM = 1593
+SYSZ_INS_STOCFH = 1594
+SYSZ_INS_STOCFHE = 1595
+SYSZ_INS_STOCFHH = 1596
+SYSZ_INS_STOCFHHE = 1597
+SYSZ_INS_STOCFHL = 1598
+SYSZ_INS_STOCFHLE = 1599
+SYSZ_INS_STOCFHLH = 1600
+SYSZ_INS_STOCFHM = 1601
+SYSZ_INS_STOCFHNE = 1602
+SYSZ_INS_STOCFHNH = 1603
+SYSZ_INS_STOCFHNHE = 1604
+SYSZ_INS_STOCFHNL = 1605
+SYSZ_INS_STOCFHNLE = 1606
+SYSZ_INS_STOCFHNLH = 1607
+SYSZ_INS_STOCFHNM = 1608
+SYSZ_INS_STOCFHNO = 1609
+SYSZ_INS_STOCFHNP = 1610
+SYSZ_INS_STOCFHNZ = 1611
+SYSZ_INS_STOCFHO = 1612
+SYSZ_INS_STOCFHP = 1613
+SYSZ_INS_STOCFHZ = 1614
+SYSZ_INS_STOCGM = 1615
+SYSZ_INS_STOCGNM = 1616
+SYSZ_INS_STOCGNP = 1617
+SYSZ_INS_STOCGNZ = 1618
+SYSZ_INS_STOCGP = 1619
+SYSZ_INS_STOCGZ = 1620
+SYSZ_INS_STOCM = 1621
+SYSZ_INS_STOCNM = 1622
+SYSZ_INS_STOCNP = 1623
+SYSZ_INS_STOCNZ = 1624
+SYSZ_INS_STOCP = 1625
+SYSZ_INS_STOCZ = 1626
+SYSZ_INS_STOSM = 1627
+SYSZ_INS_STPQ = 1628
+SYSZ_INS_STPT = 1629
+SYSZ_INS_STPX = 1630
+SYSZ_INS_STRAG = 1631
+SYSZ_INS_STRVH = 1632
+SYSZ_INS_STSCH = 1633
+SYSZ_INS_STSI = 1634
+SYSZ_INS_STURA = 1635
+SYSZ_INS_STURG = 1636
+SYSZ_INS_SU = 1637
+SYSZ_INS_SUR = 1638
+SYSZ_INS_SVC = 1639
+SYSZ_INS_SW = 1640
+SYSZ_INS_SWR = 1641
+SYSZ_INS_SXR = 1642
+SYSZ_INS_SXTR = 1643
+SYSZ_INS_SXTRA = 1644
+SYSZ_INS_TABORT = 1645
+SYSZ_INS_TAM = 1646
+SYSZ_INS_TAR = 1647
+SYSZ_INS_TB = 1648
+SYSZ_INS_TBDR = 1649
+SYSZ_INS_TBEDR = 1650
+SYSZ_INS_TBEGIN = 1651
+SYSZ_INS_TBEGINC = 1652
+SYSZ_INS_TCDB = 1653
+SYSZ_INS_TCEB = 1654
+SYSZ_INS_TCXB = 1655
+SYSZ_INS_TDCDT = 1656
+SYSZ_INS_TDCET = 1657
+SYSZ_INS_TDCXT = 1658
+SYSZ_INS_TDGDT = 1659
+SYSZ_INS_TDGET = 1660
+SYSZ_INS_TDGXT = 1661
+SYSZ_INS_TEND = 1662
+SYSZ_INS_THDER = 1663
+SYSZ_INS_THDR = 1664
+SYSZ_INS_TP = 1665
+SYSZ_INS_TPI = 1666
+SYSZ_INS_TPROT = 1667
+SYSZ_INS_TR = 1668
+SYSZ_INS_TRACE = 1669
+SYSZ_INS_TRACG = 1670
+SYSZ_INS_TRAP2 = 1671
+SYSZ_INS_TRAP4 = 1672
+SYSZ_INS_TRE = 1673
+SYSZ_INS_TROO = 1674
+SYSZ_INS_TROT = 1675
+SYSZ_INS_TRT = 1676
+SYSZ_INS_TRTE = 1677
+SYSZ_INS_TRTO = 1678
+SYSZ_INS_TRTR = 1679
+SYSZ_INS_TRTRE = 1680
+SYSZ_INS_TRTT = 1681
+SYSZ_INS_TS = 1682
+SYSZ_INS_TSCH = 1683
+SYSZ_INS_UNPK = 1684
+SYSZ_INS_UNPKA = 1685
+SYSZ_INS_UNPKU = 1686
+SYSZ_INS_UPT = 1687
+SYSZ_INS_VA = 1688
+SYSZ_INS_VAB = 1689
+SYSZ_INS_VAC = 1690
+SYSZ_INS_VACC = 1691
+SYSZ_INS_VACCB = 1692
+SYSZ_INS_VACCC = 1693
+SYSZ_INS_VACCCQ = 1694
+SYSZ_INS_VACCF = 1695
+SYSZ_INS_VACCG = 1696
+SYSZ_INS_VACCH = 1697
+SYSZ_INS_VACCQ = 1698
+SYSZ_INS_VACQ = 1699
+SYSZ_INS_VAF = 1700
+SYSZ_INS_VAG = 1701
+SYSZ_INS_VAH = 1702
+SYSZ_INS_VAP = 1703
+SYSZ_INS_VAQ = 1704
+SYSZ_INS_VAVG = 1705
+SYSZ_INS_VAVGB = 1706
+SYSZ_INS_VAVGF = 1707
+SYSZ_INS_VAVGG = 1708
+SYSZ_INS_VAVGH = 1709
+SYSZ_INS_VAVGL = 1710
+SYSZ_INS_VAVGLB = 1711
+SYSZ_INS_VAVGLF = 1712
+SYSZ_INS_VAVGLG = 1713
+SYSZ_INS_VAVGLH = 1714
+SYSZ_INS_VBPERM = 1715
+SYSZ_INS_VCDG = 1716
+SYSZ_INS_VCDGB = 1717
+SYSZ_INS_VCDLG = 1718
+SYSZ_INS_VCDLGB = 1719
+SYSZ_INS_VCEQ = 1720
+SYSZ_INS_VCEQB = 1721
+SYSZ_INS_VCEQBS = 1722
+SYSZ_INS_VCEQF = 1723
+SYSZ_INS_VCEQFS = 1724
+SYSZ_INS_VCEQG = 1725
+SYSZ_INS_VCEQGS = 1726
+SYSZ_INS_VCEQH = 1727
+SYSZ_INS_VCEQHS = 1728
+SYSZ_INS_VCGD = 1729
+SYSZ_INS_VCGDB = 1730
+SYSZ_INS_VCH = 1731
+SYSZ_INS_VCHB = 1732
+SYSZ_INS_VCHBS = 1733
+SYSZ_INS_VCHF = 1734
+SYSZ_INS_VCHFS = 1735
+SYSZ_INS_VCHG = 1736
+SYSZ_INS_VCHGS = 1737
+SYSZ_INS_VCHH = 1738
+SYSZ_INS_VCHHS = 1739
+SYSZ_INS_VCHL = 1740
+SYSZ_INS_VCHLB = 1741
+SYSZ_INS_VCHLBS = 1742
+SYSZ_INS_VCHLF = 1743
+SYSZ_INS_VCHLFS = 1744
+SYSZ_INS_VCHLG = 1745
+SYSZ_INS_VCHLGS = 1746
+SYSZ_INS_VCHLH = 1747
+SYSZ_INS_VCHLHS = 1748
+SYSZ_INS_VCKSM = 1749
+SYSZ_INS_VCLGD = 1750
+SYSZ_INS_VCLGDB = 1751
+SYSZ_INS_VCLZ = 1752
+SYSZ_INS_VCLZB = 1753
+SYSZ_INS_VCLZF = 1754
+SYSZ_INS_VCLZG = 1755
+SYSZ_INS_VCLZH = 1756
+SYSZ_INS_VCP = 1757
+SYSZ_INS_VCTZ = 1758
+SYSZ_INS_VCTZB = 1759
+SYSZ_INS_VCTZF = 1760
+SYSZ_INS_VCTZG = 1761
+SYSZ_INS_VCTZH = 1762
+SYSZ_INS_VCVB = 1763
+SYSZ_INS_VCVBG = 1764
+SYSZ_INS_VCVD = 1765
+SYSZ_INS_VCVDG = 1766
+SYSZ_INS_VDP = 1767
+SYSZ_INS_VEC = 1768
+SYSZ_INS_VECB = 1769
+SYSZ_INS_VECF = 1770
+SYSZ_INS_VECG = 1771
+SYSZ_INS_VECH = 1772
+SYSZ_INS_VECL = 1773
+SYSZ_INS_VECLB = 1774
+SYSZ_INS_VECLF = 1775
+SYSZ_INS_VECLG = 1776
+SYSZ_INS_VECLH = 1777
+SYSZ_INS_VERIM = 1778
+SYSZ_INS_VERIMB = 1779
+SYSZ_INS_VERIMF = 1780
+SYSZ_INS_VERIMG = 1781
+SYSZ_INS_VERIMH = 1782
+SYSZ_INS_VERLL = 1783
+SYSZ_INS_VERLLB = 1784
+SYSZ_INS_VERLLF = 1785
+SYSZ_INS_VERLLG = 1786
+SYSZ_INS_VERLLH = 1787
+SYSZ_INS_VERLLV = 1788
+SYSZ_INS_VERLLVB = 1789
+SYSZ_INS_VERLLVF = 1790
+SYSZ_INS_VERLLVG = 1791
+SYSZ_INS_VERLLVH = 1792
+SYSZ_INS_VESL = 1793
+SYSZ_INS_VESLB = 1794
+SYSZ_INS_VESLF = 1795
+SYSZ_INS_VESLG = 1796
+SYSZ_INS_VESLH = 1797
+SYSZ_INS_VESLV = 1798
+SYSZ_INS_VESLVB = 1799
+SYSZ_INS_VESLVF = 1800
+SYSZ_INS_VESLVG = 1801
+SYSZ_INS_VESLVH = 1802
+SYSZ_INS_VESRA = 1803
+SYSZ_INS_VESRAB = 1804
+SYSZ_INS_VESRAF = 1805
+SYSZ_INS_VESRAG = 1806
+SYSZ_INS_VESRAH = 1807
+SYSZ_INS_VESRAV = 1808
+SYSZ_INS_VESRAVB = 1809
+SYSZ_INS_VESRAVF = 1810
+SYSZ_INS_VESRAVG = 1811
+SYSZ_INS_VESRAVH = 1812
+SYSZ_INS_VESRL = 1813
+SYSZ_INS_VESRLB = 1814
+SYSZ_INS_VESRLF = 1815
+SYSZ_INS_VESRLG = 1816
+SYSZ_INS_VESRLH = 1817
+SYSZ_INS_VESRLV = 1818
+SYSZ_INS_VESRLVB = 1819
+SYSZ_INS_VESRLVF = 1820
+SYSZ_INS_VESRLVG = 1821
+SYSZ_INS_VESRLVH = 1822
+SYSZ_INS_VFA = 1823
+SYSZ_INS_VFADB = 1824
+SYSZ_INS_VFAE = 1825
+SYSZ_INS_VFAEB = 1826
+SYSZ_INS_VFAEBS = 1827
+SYSZ_INS_VFAEF = 1828
+SYSZ_INS_VFAEFS = 1829
+SYSZ_INS_VFAEH = 1830
+SYSZ_INS_VFAEHS = 1831
+SYSZ_INS_VFAEZB = 1832
+SYSZ_INS_VFAEZBS = 1833
+SYSZ_INS_VFAEZF = 1834
+SYSZ_INS_VFAEZFS = 1835
+SYSZ_INS_VFAEZH = 1836
+SYSZ_INS_VFAEZHS = 1837
+SYSZ_INS_VFASB = 1838
+SYSZ_INS_VFCE = 1839
+SYSZ_INS_VFCEDB = 1840
+SYSZ_INS_VFCEDBS = 1841
+SYSZ_INS_VFCESB = 1842
+SYSZ_INS_VFCESBS = 1843
+SYSZ_INS_VFCH = 1844
+SYSZ_INS_VFCHDB = 1845
+SYSZ_INS_VFCHDBS = 1846
+SYSZ_INS_VFCHE = 1847
+SYSZ_INS_VFCHEDB = 1848
+SYSZ_INS_VFCHEDBS = 1849
+SYSZ_INS_VFCHESB = 1850
+SYSZ_INS_VFCHESBS = 1851
+SYSZ_INS_VFCHSB = 1852
+SYSZ_INS_VFCHSBS = 1853
+SYSZ_INS_VFD = 1854
+SYSZ_INS_VFDDB = 1855
+SYSZ_INS_VFDSB = 1856
+SYSZ_INS_VFEE = 1857
+SYSZ_INS_VFEEB = 1858
+SYSZ_INS_VFEEBS = 1859
+SYSZ_INS_VFEEF = 1860
+SYSZ_INS_VFEEFS = 1861
+SYSZ_INS_VFEEH = 1862
+SYSZ_INS_VFEEHS = 1863
+SYSZ_INS_VFEEZB = 1864
+SYSZ_INS_VFEEZBS = 1865
+SYSZ_INS_VFEEZF = 1866
+SYSZ_INS_VFEEZFS = 1867
+SYSZ_INS_VFEEZH = 1868
+SYSZ_INS_VFEEZHS = 1869
+SYSZ_INS_VFENE = 1870
+SYSZ_INS_VFENEB = 1871
+SYSZ_INS_VFENEBS = 1872
+SYSZ_INS_VFENEF = 1873
+SYSZ_INS_VFENEFS = 1874
+SYSZ_INS_VFENEH = 1875
+SYSZ_INS_VFENEHS = 1876
+SYSZ_INS_VFENEZB = 1877
+SYSZ_INS_VFENEZBS = 1878
+SYSZ_INS_VFENEZF = 1879
+SYSZ_INS_VFENEZFS = 1880
+SYSZ_INS_VFENEZH = 1881
+SYSZ_INS_VFENEZHS = 1882
+SYSZ_INS_VFI = 1883
+SYSZ_INS_VFIDB = 1884
+SYSZ_INS_VFISB = 1885
+SYSZ_INS_VFKEDB = 1886
+SYSZ_INS_VFKEDBS = 1887
+SYSZ_INS_VFKESB = 1888
+SYSZ_INS_VFKESBS = 1889
+SYSZ_INS_VFKHDB = 1890
+SYSZ_INS_VFKHDBS = 1891
+SYSZ_INS_VFKHEDB = 1892
+SYSZ_INS_VFKHEDBS = 1893
+SYSZ_INS_VFKHESB = 1894
+SYSZ_INS_VFKHESBS = 1895
+SYSZ_INS_VFKHSB = 1896
+SYSZ_INS_VFKHSBS = 1897
+SYSZ_INS_VFLCDB = 1898
+SYSZ_INS_VFLCSB = 1899
+SYSZ_INS_VFLL = 1900
+SYSZ_INS_VFLLS = 1901
+SYSZ_INS_VFLNDB = 1902
+SYSZ_INS_VFLNSB = 1903
+SYSZ_INS_VFLPDB = 1904
+SYSZ_INS_VFLPSB = 1905
+SYSZ_INS_VFLR = 1906
+SYSZ_INS_VFLRD = 1907
+SYSZ_INS_VFM = 1908
+SYSZ_INS_VFMA = 1909
+SYSZ_INS_VFMADB = 1910
+SYSZ_INS_VFMASB = 1911
+SYSZ_INS_VFMAX = 1912
+SYSZ_INS_VFMAXDB = 1913
+SYSZ_INS_VFMAXSB = 1914
+SYSZ_INS_VFMDB = 1915
+SYSZ_INS_VFMIN = 1916
+SYSZ_INS_VFMINDB = 1917
+SYSZ_INS_VFMINSB = 1918
+SYSZ_INS_VFMS = 1919
+SYSZ_INS_VFMSB = 1920
+SYSZ_INS_VFMSDB = 1921
+SYSZ_INS_VFMSSB = 1922
+SYSZ_INS_VFNMA = 1923
+SYSZ_INS_VFNMADB = 1924
+SYSZ_INS_VFNMASB = 1925
+SYSZ_INS_VFNMS = 1926
+SYSZ_INS_VFNMSDB = 1927
+SYSZ_INS_VFNMSSB = 1928
+SYSZ_INS_VFPSO = 1929
+SYSZ_INS_VFPSODB = 1930
+SYSZ_INS_VFPSOSB = 1931
+SYSZ_INS_VFS = 1932
+SYSZ_INS_VFSDB = 1933
+SYSZ_INS_VFSQ = 1934
+SYSZ_INS_VFSQDB = 1935
+SYSZ_INS_VFSQSB = 1936
+SYSZ_INS_VFSSB = 1937
+SYSZ_INS_VFTCI = 1938
+SYSZ_INS_VFTCIDB = 1939
+SYSZ_INS_VFTCISB = 1940
+SYSZ_INS_VGBM = 1941
+SYSZ_INS_VGEF = 1942
+SYSZ_INS_VGEG = 1943
+SYSZ_INS_VGFM = 1944
+SYSZ_INS_VGFMA = 1945
+SYSZ_INS_VGFMAB = 1946
+SYSZ_INS_VGFMAF = 1947
+SYSZ_INS_VGFMAG = 1948
+SYSZ_INS_VGFMAH = 1949
+SYSZ_INS_VGFMB = 1950
+SYSZ_INS_VGFMF = 1951
+SYSZ_INS_VGFMG = 1952
+SYSZ_INS_VGFMH = 1953
+SYSZ_INS_VGM = 1954
+SYSZ_INS_VGMB = 1955
+SYSZ_INS_VGMF = 1956
+SYSZ_INS_VGMG = 1957
+SYSZ_INS_VGMH = 1958
+SYSZ_INS_VISTR = 1959
+SYSZ_INS_VISTRB = 1960
+SYSZ_INS_VISTRBS = 1961
+SYSZ_INS_VISTRF = 1962
+SYSZ_INS_VISTRFS = 1963
+SYSZ_INS_VISTRH = 1964
+SYSZ_INS_VISTRHS = 1965
+SYSZ_INS_VL = 1966
+SYSZ_INS_VLBB = 1967
+SYSZ_INS_VLC = 1968
+SYSZ_INS_VLCB = 1969
+SYSZ_INS_VLCF = 1970
+SYSZ_INS_VLCG = 1971
+SYSZ_INS_VLCH = 1972
+SYSZ_INS_VLDE = 1973
+SYSZ_INS_VLDEB = 1974
+SYSZ_INS_VLEB = 1975
+SYSZ_INS_VLED = 1976
+SYSZ_INS_VLEDB = 1977
+SYSZ_INS_VLEF = 1978
+SYSZ_INS_VLEG = 1979
+SYSZ_INS_VLEH = 1980
+SYSZ_INS_VLEIB = 1981
+SYSZ_INS_VLEIF = 1982
+SYSZ_INS_VLEIG = 1983
+SYSZ_INS_VLEIH = 1984
+SYSZ_INS_VLGV = 1985
+SYSZ_INS_VLGVB = 1986
+SYSZ_INS_VLGVF = 1987
+SYSZ_INS_VLGVG = 1988
+SYSZ_INS_VLGVH = 1989
+SYSZ_INS_VLIP = 1990
+SYSZ_INS_VLL = 1991
+SYSZ_INS_VLLEZ = 1992
+SYSZ_INS_VLLEZB = 1993
+SYSZ_INS_VLLEZF = 1994
+SYSZ_INS_VLLEZG = 1995
+SYSZ_INS_VLLEZH = 1996
+SYSZ_INS_VLLEZLF = 1997
+SYSZ_INS_VLM = 1998
+SYSZ_INS_VLP = 1999
+SYSZ_INS_VLPB = 2000
+SYSZ_INS_VLPF = 2001
+SYSZ_INS_VLPG = 2002
+SYSZ_INS_VLPH = 2003
+SYSZ_INS_VLR = 2004
+SYSZ_INS_VLREP = 2005
+SYSZ_INS_VLREPB = 2006
+SYSZ_INS_VLREPF = 2007
+SYSZ_INS_VLREPG = 2008
+SYSZ_INS_VLREPH = 2009
+SYSZ_INS_VLRL = 2010
+SYSZ_INS_VLRLR = 2011
+SYSZ_INS_VLVG = 2012
+SYSZ_INS_VLVGB = 2013
+SYSZ_INS_VLVGF = 2014
+SYSZ_INS_VLVGG = 2015
+SYSZ_INS_VLVGH = 2016
+SYSZ_INS_VLVGP = 2017
+SYSZ_INS_VMAE = 2018
+SYSZ_INS_VMAEB = 2019
+SYSZ_INS_VMAEF = 2020
+SYSZ_INS_VMAEH = 2021
+SYSZ_INS_VMAH = 2022
+SYSZ_INS_VMAHB = 2023
+SYSZ_INS_VMAHF = 2024
+SYSZ_INS_VMAHH = 2025
+SYSZ_INS_VMAL = 2026
+SYSZ_INS_VMALB = 2027
+SYSZ_INS_VMALE = 2028
+SYSZ_INS_VMALEB = 2029
+SYSZ_INS_VMALEF = 2030
+SYSZ_INS_VMALEH = 2031
+SYSZ_INS_VMALF = 2032
+SYSZ_INS_VMALH = 2033
+SYSZ_INS_VMALHB = 2034
+SYSZ_INS_VMALHF = 2035
+SYSZ_INS_VMALHH = 2036
+SYSZ_INS_VMALHW = 2037
+SYSZ_INS_VMALO = 2038
+SYSZ_INS_VMALOB = 2039
+SYSZ_INS_VMALOF = 2040
+SYSZ_INS_VMALOH = 2041
+SYSZ_INS_VMAO = 2042
+SYSZ_INS_VMAOB = 2043
+SYSZ_INS_VMAOF = 2044
+SYSZ_INS_VMAOH = 2045
+SYSZ_INS_VME = 2046
+SYSZ_INS_VMEB = 2047
+SYSZ_INS_VMEF = 2048
+SYSZ_INS_VMEH = 2049
+SYSZ_INS_VMH = 2050
+SYSZ_INS_VMHB = 2051
+SYSZ_INS_VMHF = 2052
+SYSZ_INS_VMHH = 2053
+SYSZ_INS_VML = 2054
+SYSZ_INS_VMLB = 2055
+SYSZ_INS_VMLE = 2056
+SYSZ_INS_VMLEB = 2057
+SYSZ_INS_VMLEF = 2058
+SYSZ_INS_VMLEH = 2059
+SYSZ_INS_VMLF = 2060
+SYSZ_INS_VMLH = 2061
+SYSZ_INS_VMLHB = 2062
+SYSZ_INS_VMLHF = 2063
+SYSZ_INS_VMLHH = 2064
+SYSZ_INS_VMLHW = 2065
+SYSZ_INS_VMLO = 2066
+SYSZ_INS_VMLOB = 2067
+SYSZ_INS_VMLOF = 2068
+SYSZ_INS_VMLOH = 2069
+SYSZ_INS_VMN = 2070
+SYSZ_INS_VMNB = 2071
+SYSZ_INS_VMNF = 2072
+SYSZ_INS_VMNG = 2073
+SYSZ_INS_VMNH = 2074
+SYSZ_INS_VMNL = 2075
+SYSZ_INS_VMNLB = 2076
+SYSZ_INS_VMNLF = 2077
+SYSZ_INS_VMNLG = 2078
+SYSZ_INS_VMNLH = 2079
+SYSZ_INS_VMO = 2080
+SYSZ_INS_VMOB = 2081
+SYSZ_INS_VMOF = 2082
+SYSZ_INS_VMOH = 2083
+SYSZ_INS_VMP = 2084
+SYSZ_INS_VMRH = 2085
+SYSZ_INS_VMRHB = 2086
+SYSZ_INS_VMRHF = 2087
+SYSZ_INS_VMRHG = 2088
+SYSZ_INS_VMRHH = 2089
+SYSZ_INS_VMRL = 2090
+SYSZ_INS_VMRLB = 2091
+SYSZ_INS_VMRLF = 2092
+SYSZ_INS_VMRLG = 2093
+SYSZ_INS_VMRLH = 2094
+SYSZ_INS_VMSL = 2095
+SYSZ_INS_VMSLG = 2096
+SYSZ_INS_VMSP = 2097
+SYSZ_INS_VMX = 2098
+SYSZ_INS_VMXB = 2099
+SYSZ_INS_VMXF = 2100
+SYSZ_INS_VMXG = 2101
+SYSZ_INS_VMXH = 2102
+SYSZ_INS_VMXL = 2103
+SYSZ_INS_VMXLB = 2104
+SYSZ_INS_VMXLF = 2105
+SYSZ_INS_VMXLG = 2106
+SYSZ_INS_VMXLH = 2107
+SYSZ_INS_VN = 2108
+SYSZ_INS_VNC = 2109
+SYSZ_INS_VNN = 2110
+SYSZ_INS_VNO = 2111
+SYSZ_INS_VNX = 2112
+SYSZ_INS_VO = 2113
+SYSZ_INS_VOC = 2114
+SYSZ_INS_VONE = 2115
+SYSZ_INS_VPDI = 2116
+SYSZ_INS_VPERM = 2117
+SYSZ_INS_VPK = 2118
+SYSZ_INS_VPKF = 2119
+SYSZ_INS_VPKG = 2120
+SYSZ_INS_VPKH = 2121
+SYSZ_INS_VPKLS = 2122
+SYSZ_INS_VPKLSF = 2123
+SYSZ_INS_VPKLSFS = 2124
+SYSZ_INS_VPKLSG = 2125
+SYSZ_INS_VPKLSGS = 2126
+SYSZ_INS_VPKLSH = 2127
+SYSZ_INS_VPKLSHS = 2128
+SYSZ_INS_VPKS = 2129
+SYSZ_INS_VPKSF = 2130
+SYSZ_INS_VPKSFS = 2131
+SYSZ_INS_VPKSG = 2132
+SYSZ_INS_VPKSGS = 2133
+SYSZ_INS_VPKSH = 2134
+SYSZ_INS_VPKSHS = 2135
+SYSZ_INS_VPKZ = 2136
+SYSZ_INS_VPOPCT = 2137
+SYSZ_INS_VPOPCTB = 2138
+SYSZ_INS_VPOPCTF = 2139
+SYSZ_INS_VPOPCTG = 2140
+SYSZ_INS_VPOPCTH = 2141
+SYSZ_INS_VPSOP = 2142
+SYSZ_INS_VREP = 2143
+SYSZ_INS_VREPB = 2144
+SYSZ_INS_VREPF = 2145
+SYSZ_INS_VREPG = 2146
+SYSZ_INS_VREPH = 2147
+SYSZ_INS_VREPI = 2148
+SYSZ_INS_VREPIB = 2149
+SYSZ_INS_VREPIF = 2150
+SYSZ_INS_VREPIG = 2151
+SYSZ_INS_VREPIH = 2152
+SYSZ_INS_VRP = 2153
+SYSZ_INS_VS = 2154
+SYSZ_INS_VSB = 2155
+SYSZ_INS_VSBCBI = 2156
+SYSZ_INS_VSBCBIQ = 2157
+SYSZ_INS_VSBI = 2158
+SYSZ_INS_VSBIQ = 2159
+SYSZ_INS_VSCBI = 2160
+SYSZ_INS_VSCBIB = 2161
+SYSZ_INS_VSCBIF = 2162
+SYSZ_INS_VSCBIG = 2163
+SYSZ_INS_VSCBIH = 2164
+SYSZ_INS_VSCBIQ = 2165
+SYSZ_INS_VSCEF = 2166
+SYSZ_INS_VSCEG = 2167
+SYSZ_INS_VSDP = 2168
+SYSZ_INS_VSEG = 2169
+SYSZ_INS_VSEGB = 2170
+SYSZ_INS_VSEGF = 2171
+SYSZ_INS_VSEGH = 2172
+SYSZ_INS_VSEL = 2173
+SYSZ_INS_VSF = 2174
+SYSZ_INS_VSG = 2175
+SYSZ_INS_VSH = 2176
+SYSZ_INS_VSL = 2177
+SYSZ_INS_VSLB = 2178
+SYSZ_INS_VSLDB = 2179
+SYSZ_INS_VSP = 2180
+SYSZ_INS_VSQ = 2181
+SYSZ_INS_VSRA = 2182
+SYSZ_INS_VSRAB = 2183
+SYSZ_INS_VSRL = 2184
+SYSZ_INS_VSRLB = 2185
+SYSZ_INS_VSRP = 2186
+SYSZ_INS_VST = 2187
+SYSZ_INS_VSTEB = 2188
+SYSZ_INS_VSTEF = 2189
+SYSZ_INS_VSTEG = 2190
+SYSZ_INS_VSTEH = 2191
+SYSZ_INS_VSTL = 2192
+SYSZ_INS_VSTM = 2193
+SYSZ_INS_VSTRC = 2194
+SYSZ_INS_VSTRCB = 2195
+SYSZ_INS_VSTRCBS = 2196
+SYSZ_INS_VSTRCF = 2197
+SYSZ_INS_VSTRCFS = 2198
+SYSZ_INS_VSTRCH = 2199
+SYSZ_INS_VSTRCHS = 2200
+SYSZ_INS_VSTRCZB = 2201
+SYSZ_INS_VSTRCZBS = 2202
+SYSZ_INS_VSTRCZF = 2203
+SYSZ_INS_VSTRCZFS = 2204
+SYSZ_INS_VSTRCZH = 2205
+SYSZ_INS_VSTRCZHS = 2206
+SYSZ_INS_VSTRL = 2207
+SYSZ_INS_VSTRLR = 2208
+SYSZ_INS_VSUM = 2209
+SYSZ_INS_VSUMB = 2210
+SYSZ_INS_VSUMG = 2211
+SYSZ_INS_VSUMGF = 2212
+SYSZ_INS_VSUMGH = 2213
+SYSZ_INS_VSUMH = 2214
+SYSZ_INS_VSUMQ = 2215
+SYSZ_INS_VSUMQF = 2216
+SYSZ_INS_VSUMQG = 2217
+SYSZ_INS_VTM = 2218
+SYSZ_INS_VTP = 2219
+SYSZ_INS_VUPH = 2220
+SYSZ_INS_VUPHB = 2221
+SYSZ_INS_VUPHF = 2222
+SYSZ_INS_VUPHH = 2223
+SYSZ_INS_VUPKZ = 2224
+SYSZ_INS_VUPL = 2225
+SYSZ_INS_VUPLB = 2226
+SYSZ_INS_VUPLF = 2227
+SYSZ_INS_VUPLH = 2228
+SYSZ_INS_VUPLHB = 2229
+SYSZ_INS_VUPLHF = 2230
+SYSZ_INS_VUPLHH = 2231
+SYSZ_INS_VUPLHW = 2232
+SYSZ_INS_VUPLL = 2233
+SYSZ_INS_VUPLLB = 2234
+SYSZ_INS_VUPLLF = 2235
+SYSZ_INS_VUPLLH = 2236
+SYSZ_INS_VX = 2237
+SYSZ_INS_VZERO = 2238
+SYSZ_INS_WCDGB = 2239
+SYSZ_INS_WCDLGB = 2240
+SYSZ_INS_WCGDB = 2241
+SYSZ_INS_WCLGDB = 2242
+SYSZ_INS_WFADB = 2243
+SYSZ_INS_WFASB = 2244
+SYSZ_INS_WFAXB = 2245
+SYSZ_INS_WFC = 2246
+SYSZ_INS_WFCDB = 2247
+SYSZ_INS_WFCEDB = 2248
+SYSZ_INS_WFCEDBS = 2249
+SYSZ_INS_WFCESB = 2250
+SYSZ_INS_WFCESBS = 2251
+SYSZ_INS_WFCEXB = 2252
+SYSZ_INS_WFCEXBS = 2253
+SYSZ_INS_WFCHDB = 2254
+SYSZ_INS_WFCHDBS = 2255
+SYSZ_INS_WFCHEDB = 2256
+SYSZ_INS_WFCHEDBS = 2257
+SYSZ_INS_WFCHESB = 2258
+SYSZ_INS_WFCHESBS = 2259
+SYSZ_INS_WFCHEXB = 2260
+SYSZ_INS_WFCHEXBS = 2261
+SYSZ_INS_WFCHSB = 2262
+SYSZ_INS_WFCHSBS = 2263
+SYSZ_INS_WFCHXB = 2264
+SYSZ_INS_WFCHXBS = 2265
+SYSZ_INS_WFCSB = 2266
+SYSZ_INS_WFCXB = 2267
+SYSZ_INS_WFDDB = 2268
+SYSZ_INS_WFDSB = 2269
+SYSZ_INS_WFDXB = 2270
+SYSZ_INS_WFIDB = 2271
+SYSZ_INS_WFISB = 2272
+SYSZ_INS_WFIXB = 2273
+SYSZ_INS_WFK = 2274
+SYSZ_INS_WFKDB = 2275
+SYSZ_INS_WFKEDB = 2276
+SYSZ_INS_WFKEDBS = 2277
+SYSZ_INS_WFKESB = 2278
+SYSZ_INS_WFKESBS = 2279
+SYSZ_INS_WFKEXB = 2280
+SYSZ_INS_WFKEXBS = 2281
+SYSZ_INS_WFKHDB = 2282
+SYSZ_INS_WFKHDBS = 2283
+SYSZ_INS_WFKHEDB = 2284
+SYSZ_INS_WFKHEDBS = 2285
+SYSZ_INS_WFKHESB = 2286
+SYSZ_INS_WFKHESBS = 2287
+SYSZ_INS_WFKHEXB = 2288
+SYSZ_INS_WFKHEXBS = 2289
+SYSZ_INS_WFKHSB = 2290
+SYSZ_INS_WFKHSBS = 2291
+SYSZ_INS_WFKHXB = 2292
+SYSZ_INS_WFKHXBS = 2293
+SYSZ_INS_WFKSB = 2294
+SYSZ_INS_WFKXB = 2295
+SYSZ_INS_WFLCDB = 2296
+SYSZ_INS_WFLCSB = 2297
+SYSZ_INS_WFLCXB = 2298
+SYSZ_INS_WFLLD = 2299
+SYSZ_INS_WFLLS = 2300
+SYSZ_INS_WFLNDB = 2301
+SYSZ_INS_WFLNSB = 2302
+SYSZ_INS_WFLNXB = 2303
+SYSZ_INS_WFLPDB = 2304
+SYSZ_INS_WFLPSB = 2305
+SYSZ_INS_WFLPXB = 2306
+SYSZ_INS_WFLRD = 2307
+SYSZ_INS_WFLRX = 2308
+SYSZ_INS_WFMADB = 2309
+SYSZ_INS_WFMASB = 2310
+SYSZ_INS_WFMAXB = 2311
+SYSZ_INS_WFMAXDB = 2312
+SYSZ_INS_WFMAXSB = 2313
+SYSZ_INS_WFMAXXB = 2314
+SYSZ_INS_WFMDB = 2315
+SYSZ_INS_WFMINDB = 2316
+SYSZ_INS_WFMINSB = 2317
+SYSZ_INS_WFMINXB = 2318
+SYSZ_INS_WFMSB = 2319
+SYSZ_INS_WFMSDB = 2320
+SYSZ_INS_WFMSSB = 2321
+SYSZ_INS_WFMSXB = 2322
+SYSZ_INS_WFMXB = 2323
+SYSZ_INS_WFNMADB = 2324
+SYSZ_INS_WFNMASB = 2325
+SYSZ_INS_WFNMAXB = 2326
+SYSZ_INS_WFNMSDB = 2327
+SYSZ_INS_WFNMSSB = 2328
+SYSZ_INS_WFNMSXB = 2329
+SYSZ_INS_WFPSODB = 2330
+SYSZ_INS_WFPSOSB = 2331
+SYSZ_INS_WFPSOXB = 2332
+SYSZ_INS_WFSDB = 2333
+SYSZ_INS_WFSQDB = 2334
+SYSZ_INS_WFSQSB = 2335
+SYSZ_INS_WFSQXB = 2336
+SYSZ_INS_WFSSB = 2337
+SYSZ_INS_WFSXB = 2338
+SYSZ_INS_WFTCIDB = 2339
+SYSZ_INS_WFTCISB = 2340
+SYSZ_INS_WFTCIXB = 2341
+SYSZ_INS_WLDEB = 2342
+SYSZ_INS_WLEDB = 2343
+SYSZ_INS_XSCH = 2344
+SYSZ_INS_ZAP = 2345
+SYSZ_INS_ENDING = 2346
+
+SYSZ_GRP_INVALID = 0
+SYSZ_GRP_JUMP = 1
+SYSZ_GRP_DISTINCTOPS = 128
+SYSZ_GRP_FPEXTENSION = 129
+SYSZ_GRP_HIGHWORD = 130
+SYSZ_GRP_INTERLOCKEDACCESS1 = 131
+SYSZ_GRP_LOADSTOREONCOND = 132
+SYSZ_GRP_DFPPACKEDCONVERSION = 133
+SYSZ_GRP_DFPZONEDCONVERSION = 134
+SYSZ_GRP_ENHANCEDDAT2 = 135
+SYSZ_GRP_EXECUTIONHINT = 136
+SYSZ_GRP_GUARDEDSTORAGE = 137
+SYSZ_GRP_INSERTREFERENCEBITSMULTIPLE = 138
+SYSZ_GRP_LOADANDTRAP = 139
+SYSZ_GRP_LOADANDZERORIGHTMOSTBYTE = 140
+SYSZ_GRP_LOADSTOREONCOND2 = 141
+SYSZ_GRP_MESSAGESECURITYASSIST3 = 142
+SYSZ_GRP_MESSAGESECURITYASSIST4 = 143
+SYSZ_GRP_MESSAGESECURITYASSIST5 = 144
+SYSZ_GRP_MESSAGESECURITYASSIST7 = 145
+SYSZ_GRP_MESSAGESECURITYASSIST8 = 146
+SYSZ_GRP_MISCELLANEOUSEXTENSIONS = 147
+SYSZ_GRP_MISCELLANEOUSEXTENSIONS2 = 148
+SYSZ_GRP_NOVECTOR = 149
+SYSZ_GRP_POPULATIONCOUNT = 150
+SYSZ_GRP_PROCESSORASSIST = 151
+SYSZ_GRP_RESETREFERENCEBITSMULTIPLE = 152
+SYSZ_GRP_TRANSACTIONALEXECUTION = 153
+SYSZ_GRP_VECTOR = 154
+SYSZ_GRP_VECTORENHANCEMENTS1 = 155
+SYSZ_GRP_VECTORPACKEDDECIMAL = 156
+SYSZ_GRP_ENDING = 157
diff --git a/capstone/bindings/python/capstone/tms320c64x.py b/capstone/bindings/python/capstone/tms320c64x.py
new file mode 100644
index 000000000..1323dc37c
--- /dev/null
+++ b/capstone/bindings/python/capstone/tms320c64x.py
@@ -0,0 +1,66 @@
+# Capstone Python bindings, by Fotis Loukos <me@fotisl.com>
+
+import ctypes, copy
+from .tms320c64x_const import *
+
+# define the API
+class TMS320C64xOpMem(ctypes.Structure):
+ _fields_ = (
+ ('base', ctypes.c_int),
+ ('disp', ctypes.c_int),
+ ('unit', ctypes.c_int),
+ ('scaled', ctypes.c_int),
+ ('disptype', ctypes.c_int),
+ ('direction', ctypes.c_int),
+ ('modify', ctypes.c_int),
+ )
+
+class TMS320C64xOpValue(ctypes.Union):
+ _fields_ = (
+ ('reg', ctypes.c_uint),
+ ('imm', ctypes.c_int32),
+ ('mem', TMS320C64xOpMem),
+ )
+
+class TMS320C64xCondition(ctypes.Structure):
+ _fields_ = (
+ ('reg', ctypes.c_uint),
+ ('zero', ctypes.c_uint),
+ )
+
+class TMS320C64xFunctionalUnit(ctypes.Structure):
+ _fields_ = (
+ ('unit', ctypes.c_uint),
+ ('side', ctypes.c_uint),
+ ('crosspath', ctypes.c_uint),
+ )
+
+class TMS320C64xOp(ctypes.Structure):
+ _fields_ = (
+ ('type', ctypes.c_uint),
+ ('value', TMS320C64xOpValue),
+ )
+
+ @property
+ def imm(self):
+ return self.value.imm
+
+ @property
+ def reg(self):
+ return self.value.reg
+
+ @property
+ def mem(self):
+ return self.value.mem
+
+class CsTMS320C64x(ctypes.Structure):
+ _fields_ = (
+ ('op_count', ctypes.c_uint8),
+ ('operands', TMS320C64xOp * 8),
+ ('condition', TMS320C64xCondition),
+ ('funit', TMS320C64xFunctionalUnit),
+ ('parallel', ctypes.c_uint),
+ )
+
+def get_arch_info(a):
+ return (a.condition, a.funit, a.parallel, copy.deepcopy(a.operands[:a.op_count]))
diff --git a/capstone/bindings/python/capstone/tms320c64x_const.py b/capstone/bindings/python/capstone/tms320c64x_const.py
new file mode 100644
index 000000000..7f8daaeb6
--- /dev/null
+++ b/capstone/bindings/python/capstone/tms320c64x_const.py
@@ -0,0 +1,277 @@
+# For Capstone Engine. AUTO-GENERATED FILE, DO NOT EDIT [tms320c64x_const.py]
+
+TMS320C64X_OP_INVALID = 0
+TMS320C64X_OP_REG = 1
+TMS320C64X_OP_IMM = 2
+TMS320C64X_OP_MEM = 3
+TMS320C64X_OP_REGPAIR = 64
+
+TMS320C64X_MEM_DISP_INVALID = 0
+TMS320C64X_MEM_DISP_CONSTANT = 1
+TMS320C64X_MEM_DISP_REGISTER = 2
+
+TMS320C64X_MEM_DIR_INVALID = 0
+TMS320C64X_MEM_DIR_FW = 1
+TMS320C64X_MEM_DIR_BW = 2
+
+TMS320C64X_MEM_MOD_INVALID = 0
+TMS320C64X_MEM_MOD_NO = 1
+TMS320C64X_MEM_MOD_PRE = 2
+TMS320C64X_MEM_MOD_POST = 3
+
+TMS320C64X_REG_INVALID = 0
+TMS320C64X_REG_AMR = 1
+TMS320C64X_REG_CSR = 2
+TMS320C64X_REG_DIER = 3
+TMS320C64X_REG_DNUM = 4
+TMS320C64X_REG_ECR = 5
+TMS320C64X_REG_GFPGFR = 6
+TMS320C64X_REG_GPLYA = 7
+TMS320C64X_REG_GPLYB = 8
+TMS320C64X_REG_ICR = 9
+TMS320C64X_REG_IER = 10
+TMS320C64X_REG_IERR = 11
+TMS320C64X_REG_ILC = 12
+TMS320C64X_REG_IRP = 13
+TMS320C64X_REG_ISR = 14
+TMS320C64X_REG_ISTP = 15
+TMS320C64X_REG_ITSR = 16
+TMS320C64X_REG_NRP = 17
+TMS320C64X_REG_NTSR = 18
+TMS320C64X_REG_REP = 19
+TMS320C64X_REG_RILC = 20
+TMS320C64X_REG_SSR = 21
+TMS320C64X_REG_TSCH = 22
+TMS320C64X_REG_TSCL = 23
+TMS320C64X_REG_TSR = 24
+TMS320C64X_REG_A0 = 25
+TMS320C64X_REG_A1 = 26
+TMS320C64X_REG_A2 = 27
+TMS320C64X_REG_A3 = 28
+TMS320C64X_REG_A4 = 29
+TMS320C64X_REG_A5 = 30
+TMS320C64X_REG_A6 = 31
+TMS320C64X_REG_A7 = 32
+TMS320C64X_REG_A8 = 33
+TMS320C64X_REG_A9 = 34
+TMS320C64X_REG_A10 = 35
+TMS320C64X_REG_A11 = 36
+TMS320C64X_REG_A12 = 37
+TMS320C64X_REG_A13 = 38
+TMS320C64X_REG_A14 = 39
+TMS320C64X_REG_A15 = 40
+TMS320C64X_REG_A16 = 41
+TMS320C64X_REG_A17 = 42
+TMS320C64X_REG_A18 = 43
+TMS320C64X_REG_A19 = 44
+TMS320C64X_REG_A20 = 45
+TMS320C64X_REG_A21 = 46
+TMS320C64X_REG_A22 = 47
+TMS320C64X_REG_A23 = 48
+TMS320C64X_REG_A24 = 49
+TMS320C64X_REG_A25 = 50
+TMS320C64X_REG_A26 = 51
+TMS320C64X_REG_A27 = 52
+TMS320C64X_REG_A28 = 53
+TMS320C64X_REG_A29 = 54
+TMS320C64X_REG_A30 = 55
+TMS320C64X_REG_A31 = 56
+TMS320C64X_REG_B0 = 57
+TMS320C64X_REG_B1 = 58
+TMS320C64X_REG_B2 = 59
+TMS320C64X_REG_B3 = 60
+TMS320C64X_REG_B4 = 61
+TMS320C64X_REG_B5 = 62
+TMS320C64X_REG_B6 = 63
+TMS320C64X_REG_B7 = 64
+TMS320C64X_REG_B8 = 65
+TMS320C64X_REG_B9 = 66
+TMS320C64X_REG_B10 = 67
+TMS320C64X_REG_B11 = 68
+TMS320C64X_REG_B12 = 69
+TMS320C64X_REG_B13 = 70
+TMS320C64X_REG_B14 = 71
+TMS320C64X_REG_B15 = 72
+TMS320C64X_REG_B16 = 73
+TMS320C64X_REG_B17 = 74
+TMS320C64X_REG_B18 = 75
+TMS320C64X_REG_B19 = 76
+TMS320C64X_REG_B20 = 77
+TMS320C64X_REG_B21 = 78
+TMS320C64X_REG_B22 = 79
+TMS320C64X_REG_B23 = 80
+TMS320C64X_REG_B24 = 81
+TMS320C64X_REG_B25 = 82
+TMS320C64X_REG_B26 = 83
+TMS320C64X_REG_B27 = 84
+TMS320C64X_REG_B28 = 85
+TMS320C64X_REG_B29 = 86
+TMS320C64X_REG_B30 = 87
+TMS320C64X_REG_B31 = 88
+TMS320C64X_REG_PCE1 = 89
+TMS320C64X_REG_ENDING = 90
+TMS320C64X_REG_EFR = TMS320C64X_REG_ECR
+TMS320C64X_REG_IFR = TMS320C64X_REG_ISR
+
+TMS320C64X_INS_INVALID = 0
+TMS320C64X_INS_ABS = 1
+TMS320C64X_INS_ABS2 = 2
+TMS320C64X_INS_ADD = 3
+TMS320C64X_INS_ADD2 = 4
+TMS320C64X_INS_ADD4 = 5
+TMS320C64X_INS_ADDAB = 6
+TMS320C64X_INS_ADDAD = 7
+TMS320C64X_INS_ADDAH = 8
+TMS320C64X_INS_ADDAW = 9
+TMS320C64X_INS_ADDK = 10
+TMS320C64X_INS_ADDKPC = 11
+TMS320C64X_INS_ADDU = 12
+TMS320C64X_INS_AND = 13
+TMS320C64X_INS_ANDN = 14
+TMS320C64X_INS_AVG2 = 15
+TMS320C64X_INS_AVGU4 = 16
+TMS320C64X_INS_B = 17
+TMS320C64X_INS_BDEC = 18
+TMS320C64X_INS_BITC4 = 19
+TMS320C64X_INS_BNOP = 20
+TMS320C64X_INS_BPOS = 21
+TMS320C64X_INS_CLR = 22
+TMS320C64X_INS_CMPEQ = 23
+TMS320C64X_INS_CMPEQ2 = 24
+TMS320C64X_INS_CMPEQ4 = 25
+TMS320C64X_INS_CMPGT = 26
+TMS320C64X_INS_CMPGT2 = 27
+TMS320C64X_INS_CMPGTU4 = 28
+TMS320C64X_INS_CMPLT = 29
+TMS320C64X_INS_CMPLTU = 30
+TMS320C64X_INS_DEAL = 31
+TMS320C64X_INS_DOTP2 = 32
+TMS320C64X_INS_DOTPN2 = 33
+TMS320C64X_INS_DOTPNRSU2 = 34
+TMS320C64X_INS_DOTPRSU2 = 35
+TMS320C64X_INS_DOTPSU4 = 36
+TMS320C64X_INS_DOTPU4 = 37
+TMS320C64X_INS_EXT = 38
+TMS320C64X_INS_EXTU = 39
+TMS320C64X_INS_GMPGTU = 40
+TMS320C64X_INS_GMPY4 = 41
+TMS320C64X_INS_LDB = 42
+TMS320C64X_INS_LDBU = 43
+TMS320C64X_INS_LDDW = 44
+TMS320C64X_INS_LDH = 45
+TMS320C64X_INS_LDHU = 46
+TMS320C64X_INS_LDNDW = 47
+TMS320C64X_INS_LDNW = 48
+TMS320C64X_INS_LDW = 49
+TMS320C64X_INS_LMBD = 50
+TMS320C64X_INS_MAX2 = 51
+TMS320C64X_INS_MAXU4 = 52
+TMS320C64X_INS_MIN2 = 53
+TMS320C64X_INS_MINU4 = 54
+TMS320C64X_INS_MPY = 55
+TMS320C64X_INS_MPY2 = 56
+TMS320C64X_INS_MPYH = 57
+TMS320C64X_INS_MPYHI = 58
+TMS320C64X_INS_MPYHIR = 59
+TMS320C64X_INS_MPYHL = 60
+TMS320C64X_INS_MPYHLU = 61
+TMS320C64X_INS_MPYHSLU = 62
+TMS320C64X_INS_MPYHSU = 63
+TMS320C64X_INS_MPYHU = 64
+TMS320C64X_INS_MPYHULS = 65
+TMS320C64X_INS_MPYHUS = 66
+TMS320C64X_INS_MPYLH = 67
+TMS320C64X_INS_MPYLHU = 68
+TMS320C64X_INS_MPYLI = 69
+TMS320C64X_INS_MPYLIR = 70
+TMS320C64X_INS_MPYLSHU = 71
+TMS320C64X_INS_MPYLUHS = 72
+TMS320C64X_INS_MPYSU = 73
+TMS320C64X_INS_MPYSU4 = 74
+TMS320C64X_INS_MPYU = 75
+TMS320C64X_INS_MPYU4 = 76
+TMS320C64X_INS_MPYUS = 77
+TMS320C64X_INS_MVC = 78
+TMS320C64X_INS_MVD = 79
+TMS320C64X_INS_MVK = 80
+TMS320C64X_INS_MVKL = 81
+TMS320C64X_INS_MVKLH = 82
+TMS320C64X_INS_NOP = 83
+TMS320C64X_INS_NORM = 84
+TMS320C64X_INS_OR = 85
+TMS320C64X_INS_PACK2 = 86
+TMS320C64X_INS_PACKH2 = 87
+TMS320C64X_INS_PACKH4 = 88
+TMS320C64X_INS_PACKHL2 = 89
+TMS320C64X_INS_PACKL4 = 90
+TMS320C64X_INS_PACKLH2 = 91
+TMS320C64X_INS_ROTL = 92
+TMS320C64X_INS_SADD = 93
+TMS320C64X_INS_SADD2 = 94
+TMS320C64X_INS_SADDU4 = 95
+TMS320C64X_INS_SADDUS2 = 96
+TMS320C64X_INS_SAT = 97
+TMS320C64X_INS_SET = 98
+TMS320C64X_INS_SHFL = 99
+TMS320C64X_INS_SHL = 100
+TMS320C64X_INS_SHLMB = 101
+TMS320C64X_INS_SHR = 102
+TMS320C64X_INS_SHR2 = 103
+TMS320C64X_INS_SHRMB = 104
+TMS320C64X_INS_SHRU = 105
+TMS320C64X_INS_SHRU2 = 106
+TMS320C64X_INS_SMPY = 107
+TMS320C64X_INS_SMPY2 = 108
+TMS320C64X_INS_SMPYH = 109
+TMS320C64X_INS_SMPYHL = 110
+TMS320C64X_INS_SMPYLH = 111
+TMS320C64X_INS_SPACK2 = 112
+TMS320C64X_INS_SPACKU4 = 113
+TMS320C64X_INS_SSHL = 114
+TMS320C64X_INS_SSHVL = 115
+TMS320C64X_INS_SSHVR = 116
+TMS320C64X_INS_SSUB = 117
+TMS320C64X_INS_STB = 118
+TMS320C64X_INS_STDW = 119
+TMS320C64X_INS_STH = 120
+TMS320C64X_INS_STNDW = 121
+TMS320C64X_INS_STNW = 122
+TMS320C64X_INS_STW = 123
+TMS320C64X_INS_SUB = 124
+TMS320C64X_INS_SUB2 = 125
+TMS320C64X_INS_SUB4 = 126
+TMS320C64X_INS_SUBAB = 127
+TMS320C64X_INS_SUBABS4 = 128
+TMS320C64X_INS_SUBAH = 129
+TMS320C64X_INS_SUBAW = 130
+TMS320C64X_INS_SUBC = 131
+TMS320C64X_INS_SUBU = 132
+TMS320C64X_INS_SWAP4 = 133
+TMS320C64X_INS_UNPKHU4 = 134
+TMS320C64X_INS_UNPKLU4 = 135
+TMS320C64X_INS_XOR = 136
+TMS320C64X_INS_XPND2 = 137
+TMS320C64X_INS_XPND4 = 138
+TMS320C64X_INS_IDLE = 139
+TMS320C64X_INS_MV = 140
+TMS320C64X_INS_NEG = 141
+TMS320C64X_INS_NOT = 142
+TMS320C64X_INS_SWAP2 = 143
+TMS320C64X_INS_ZERO = 144
+TMS320C64X_INS_ENDING = 145
+
+TMS320C64X_GRP_INVALID = 0
+TMS320C64X_GRP_JUMP = 1
+TMS320C64X_GRP_FUNIT_D = 128
+TMS320C64X_GRP_FUNIT_L = 129
+TMS320C64X_GRP_FUNIT_M = 130
+TMS320C64X_GRP_FUNIT_S = 131
+TMS320C64X_GRP_FUNIT_NO = 132
+TMS320C64X_GRP_ENDING = 133
+
+TMS320C64X_FUNIT_INVALID = 0
+TMS320C64X_FUNIT_D = 1
+TMS320C64X_FUNIT_L = 2
+TMS320C64X_FUNIT_M = 3
+TMS320C64X_FUNIT_S = 4
+TMS320C64X_FUNIT_NO = 5
diff --git a/capstone/bindings/python/capstone/wasm_const.py b/capstone/bindings/python/capstone/wasm_const.py
new file mode 100644
index 000000000..eaa078d43
--- /dev/null
+++ b/capstone/bindings/python/capstone/wasm_const.py
@@ -0,0 +1,191 @@
+# For Capstone Engine. AUTO-GENERATED FILE, DO NOT EDIT [wasm_const.py]
+
+WASM_OP_INVALID = 0
+WASM_OP_NONE = 1
+WASM_OP_INT7 = 2
+WASM_OP_VARUINT32 = 3
+WASM_OP_VARUINT64 = 4
+WASM_OP_UINT32 = 5
+WASM_OP_UINT64 = 6
+WASM_OP_IMM = 7
+WASM_OP_BRTABLE = 8
+WASM_INS_UNREACHABLE = 0x0
+WASM_INS_NOP = 0x1
+WASM_INS_BLOCK = 0x2
+WASM_INS_LOOP = 0x3
+WASM_INS_IF = 0x4
+WASM_INS_ELSE = 0x5
+WASM_INS_END = 0xb
+WASM_INS_BR = 0xc
+WASM_INS_BR_IF = 0xd
+WASM_INS_BR_TABLE = 0xe
+WASM_INS_RETURN = 0xf
+WASM_INS_CALL = 0x10
+WASM_INS_CALL_INDIRECT = 0x11
+WASM_INS_DROP = 0x1a
+WASM_INS_SELECT = 0x1b
+WASM_INS_GET_LOCAL = 0x20
+WASM_INS_SET_LOCAL = 0x21
+WASM_INS_TEE_LOCAL = 0x22
+WASM_INS_GET_GLOBAL = 0x23
+WASM_INS_SET_GLOBAL = 0x24
+WASM_INS_I32_LOAD = 0x28
+WASM_INS_I64_LOAD = 0x29
+WASM_INS_F32_LOAD = 0x2a
+WASM_INS_F64_LOAD = 0x2b
+WASM_INS_I32_LOAD8_S = 0x2c
+WASM_INS_I32_LOAD8_U = 0x2d
+WASM_INS_I32_LOAD16_S = 0x2e
+WASM_INS_I32_LOAD16_U = 0x2f
+WASM_INS_I64_LOAD8_S = 0x30
+WASM_INS_I64_LOAD8_U = 0x31
+WASM_INS_I64_LOAD16_S = 0x32
+WASM_INS_I64_LOAD16_U = 0x33
+WASM_INS_I64_LOAD32_S = 0x34
+WASM_INS_I64_LOAD32_U = 0x35
+WASM_INS_I32_STORE = 0x36
+WASM_INS_I64_STORE = 0x37
+WASM_INS_F32_STORE = 0x38
+WASM_INS_F64_STORE = 0x39
+WASM_INS_I32_STORE8 = 0x3a
+WASM_INS_I32_STORE16 = 0x3b
+WASM_INS_I64_STORE8 = 0x3c
+WASM_INS_I64_STORE16 = 0x3d
+WASM_INS_I64_STORE32 = 0x3e
+WASM_INS_CURRENT_MEMORY = 0x3f
+WASM_INS_GROW_MEMORY = 0x40
+WASM_INS_I32_CONST = 0x41
+WASM_INS_I64_CONST = 0x42
+WASM_INS_F32_CONST = 0x43
+WASM_INS_F64_CONST = 0x44
+WASM_INS_I32_EQZ = 0x45
+WASM_INS_I32_EQ = 0x46
+WASM_INS_I32_NE = 0x47
+WASM_INS_I32_LT_S = 0x48
+WASM_INS_I32_LT_U = 0x49
+WASM_INS_I32_GT_S = 0x4a
+WASM_INS_I32_GT_U = 0x4b
+WASM_INS_I32_LE_S = 0x4c
+WASM_INS_I32_LE_U = 0x4d
+WASM_INS_I32_GE_S = 0x4e
+WASM_INS_I32_GE_U = 0x4f
+WASM_INS_I64_EQZ = 0x50
+WASM_INS_I64_EQ = 0x51
+WASM_INS_I64_NE = 0x52
+WASM_INS_I64_LT_S = 0x53
+WASM_INS_I64_LT_U = 0x54
+WASM_INS_I64_GT_U = 0x56
+WASM_INS_I64_LE_S = 0x57
+WASM_INS_I64_LE_U = 0x58
+WASM_INS_I64_GE_S = 0x59
+WASM_INS_I64_GE_U = 0x5a
+WASM_INS_F32_EQ = 0x5b
+WASM_INS_F32_NE = 0x5c
+WASM_INS_F32_LT = 0x5d
+WASM_INS_F32_GT = 0x5e
+WASM_INS_F32_LE = 0x5f
+WASM_INS_F32_GE = 0x60
+WASM_INS_F64_EQ = 0x61
+WASM_INS_F64_NE = 0x62
+WASM_INS_F64_LT = 0x63
+WASM_INS_F64_GT = 0x64
+WASM_INS_F64_LE = 0x65
+WASM_INS_F64_GE = 0x66
+WASM_INS_I32_CLZ = 0x67
+WASM_INS_I32_CTZ = 0x68
+WASM_INS_I32_POPCNT = 0x69
+WASM_INS_I32_ADD = 0x6a
+WASM_INS_I32_SUB = 0x6b
+WASM_INS_I32_MUL = 0x6c
+WASM_INS_I32_DIV_S = 0x6d
+WASM_INS_I32_DIV_U = 0x6e
+WASM_INS_I32_REM_S = 0x6f
+WASM_INS_I32_REM_U = 0x70
+WASM_INS_I32_AND = 0x71
+WASM_INS_I32_OR = 0x72
+WASM_INS_I32_XOR = 0x73
+WASM_INS_I32_SHL = 0x74
+WASM_INS_I32_SHR_S = 0x75
+WASM_INS_I32_SHR_U = 0x76
+WASM_INS_I32_ROTL = 0x77
+WASM_INS_I32_ROTR = 0x78
+WASM_INS_I64_CLZ = 0x79
+WASM_INS_I64_CTZ = 0x7a
+WASM_INS_I64_POPCNT = 0x7b
+WASM_INS_I64_ADD = 0x7c
+WASM_INS_I64_SUB = 0x7d
+WASM_INS_I64_MUL = 0x7e
+WASM_INS_I64_DIV_S = 0x7f
+WASM_INS_I64_DIV_U = 0x80
+WASM_INS_I64_REM_S = 0x81
+WASM_INS_I64_REM_U = 0x82
+WASM_INS_I64_AND = 0x83
+WASM_INS_I64_OR = 0x84
+WASM_INS_I64_XOR = 0x85
+WASM_INS_I64_SHL = 0x86
+WASM_INS_I64_SHR_S = 0x87
+WASM_INS_I64_SHR_U = 0x88
+WASM_INS_I64_ROTL = 0x89
+WASM_INS_I64_ROTR = 0x8a
+WASM_INS_F32_ABS = 0x8b
+WASM_INS_F32_NEG = 0x8c
+WASM_INS_F32_CEIL = 0x8d
+WASM_INS_F32_FLOOR = 0x8e
+WASM_INS_F32_TRUNC = 0x8f
+WASM_INS_F32_NEAREST = 0x90
+WASM_INS_F32_SQRT = 0x91
+WASM_INS_F32_ADD = 0x92
+WASM_INS_F32_SUB = 0x93
+WASM_INS_F32_MUL = 0x94
+WASM_INS_F32_DIV = 0x95
+WASM_INS_F32_MIN = 0x96
+WASM_INS_F32_MAX = 0x97
+WASM_INS_F32_COPYSIGN = 0x98
+WASM_INS_F64_ABS = 0x99
+WASM_INS_F64_NEG = 0x9a
+WASM_INS_F64_CEIL = 0x9b
+WASM_INS_F64_FLOOR = 0x9c
+WASM_INS_F64_TRUNC = 0x9d
+WASM_INS_F64_NEAREST = 0x9e
+WASM_INS_F64_SQRT = 0x9f
+WASM_INS_F64_ADD = 0xa0
+WASM_INS_F64_SUB = 0xa1
+WASM_INS_F64_MUL = 0xa2
+WASM_INS_F64_DIV = 0xa3
+WASM_INS_F64_MIN = 0xa4
+WASM_INS_F64_MAX = 0xa5
+WASM_INS_F64_COPYSIGN = 0xa6
+WASM_INS_I32_WARP_I64 = 0xa7
+WASM_INS_I32_TRUNC_U_F32 = 0xa9
+WASM_INS_I32_TRUNC_S_F64 = 0xaa
+WASM_INS_I32_TRUNC_U_F64 = 0xab
+WASM_INS_I64_EXTEND_S_I32 = 0xac
+WASM_INS_I64_EXTEND_U_I32 = 0xad
+WASM_INS_I64_TRUNC_S_F32 = 0xae
+WASM_INS_I64_TRUNC_U_F32 = 0xaf
+WASM_INS_I64_TRUNC_S_F64 = 0xb0
+WASM_INS_I64_TRUNC_U_F64 = 0xb1
+WASM_INS_F32_CONVERT_S_I32 = 0xb2
+WASM_INS_F32_CONVERT_U_I32 = 0xb3
+WASM_INS_F32_CONVERT_S_I64 = 0xb4
+WASM_INS_F32_CONVERT_U_I64 = 0xb5
+WASM_INS_F32_DEMOTE_F64 = 0xb6
+WASM_INS_F64_CONVERT_S_I32 = 0xb7
+WASM_INS_F64_CONVERT_U_I32 = 0xb8
+WASM_INS_F64_CONVERT_S_I64 = 0xb9
+WASM_INS_F64_CONVERT_U_I64 = 0xba
+WASM_INS_F64_PROMOTE_F32 = 0xbb
+WASM_INS_I32_REINTERPRET_F32 = 0xbc
+WASM_INS_I64_REINTERPRET_F64 = 0xbd
+WASM_INS_F32_REINTERPRET_I32 = 0xbe
+WASM_INS_F64_REINTERPRET_I64 = 0xbf
+WASM_INS_INVALID = 512
+WASM_INS_ENDING = 513
+
+WASM_GRP_INVALID = 0
+WASM_GRP_NUMBERIC = 8
+WASM_GRP_PARAMETRIC = 9
+WASM_GRP_VARIABLE = 10
+WASM_GRP_MEMORY = 11
+WASM_GRP_CONTROL = 12
+WASM_GRP_ENDING = 13
diff --git a/capstone/bindings/python/capstone/x86.py b/capstone/bindings/python/capstone/x86.py
new file mode 100644
index 000000000..63bcd9922
--- /dev/null
+++ b/capstone/bindings/python/capstone/x86.py
@@ -0,0 +1,85 @@
+# Capstone Python bindings, by Nguyen Anh Quynnh <aquynh@gmail.com>
+
+import ctypes
+from . import copy_ctypes_list
+from .x86_const import *
+
+# define the API
+class X86OpMem(ctypes.Structure):
+ _fields_ = (
+ ('segment', ctypes.c_uint),
+ ('base', ctypes.c_uint),
+ ('index', ctypes.c_uint),
+ ('scale', ctypes.c_int),
+ ('disp', ctypes.c_int64),
+ )
+
+class X86OpValue(ctypes.Union):
+ _fields_ = (
+ ('reg', ctypes.c_uint),
+ ('imm', ctypes.c_int64),
+ ('mem', X86OpMem),
+ )
+
+class X86Op(ctypes.Structure):
+ _fields_ = (
+ ('type', ctypes.c_uint),
+ ('value', X86OpValue),
+ ('size', ctypes.c_uint8),
+ ('access', ctypes.c_uint8),
+ ('avx_bcast', ctypes.c_uint),
+ ('avx_zero_opmask', ctypes.c_bool),
+ )
+
+ @property
+ def imm(self):
+ return self.value.imm
+
+ @property
+ def reg(self):
+ return self.value.reg
+
+ @property
+ def mem(self):
+ return self.value.mem
+
+
+class CsX86Encoding(ctypes.Structure):
+ _fields_ = (
+ ('modrm_offset', ctypes.c_uint8),
+ ('disp_offset', ctypes.c_uint8),
+ ('disp_size', ctypes.c_uint8),
+ ('imm_offset', ctypes.c_uint8),
+ ('imm_size', ctypes.c_uint8),
+ )
+
+class CsX86(ctypes.Structure):
+ _fields_ = (
+ ('prefix', ctypes.c_uint8 * 4),
+ ('opcode', ctypes.c_uint8 * 4),
+ ('rex', ctypes.c_uint8),
+ ('addr_size', ctypes.c_uint8),
+ ('modrm', ctypes.c_uint8),
+ ('sib', ctypes.c_uint8),
+ ('disp', ctypes.c_int64),
+ ('sib_index', ctypes.c_uint),
+ ('sib_scale', ctypes.c_int8),
+ ('sib_base', ctypes.c_uint),
+ ('xop_cc', ctypes.c_uint),
+ ('sse_cc', ctypes.c_uint),
+ ('avx_cc', ctypes.c_uint),
+ ('avx_sae', ctypes.c_bool),
+ ('avx_rm', ctypes.c_uint),
+ ('eflags', ctypes.c_uint64),
+ ('op_count', ctypes.c_uint8),
+ ('operands', X86Op * 8),
+ ('encoding', CsX86Encoding),
+ )
+
+def get_arch_info(a):
+ 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, \
+ a.encoding.modrm_offset, a.encoding.disp_offset, a.encoding.disp_size, a.encoding.imm_offset, a.encoding.imm_size, \
+ copy_ctypes_list(a.operands[:a.op_count]))
+
diff --git a/capstone/bindings/python/capstone/x86_const.py b/capstone/bindings/python/capstone/x86_const.py
new file mode 100644
index 000000000..a1d339635
--- /dev/null
+++ b/capstone/bindings/python/capstone/x86_const.py
@@ -0,0 +1,1989 @@
+# For Capstone Engine. AUTO-GENERATED FILE, DO NOT EDIT [x86_const.py]
+
+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_EFLAGS = 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_DR8 = 74
+X86_REG_DR9 = 75
+X86_REG_DR10 = 76
+X86_REG_DR11 = 77
+X86_REG_DR12 = 78
+X86_REG_DR13 = 79
+X86_REG_DR14 = 80
+X86_REG_DR15 = 81
+X86_REG_FP0 = 82
+X86_REG_FP1 = 83
+X86_REG_FP2 = 84
+X86_REG_FP3 = 85
+X86_REG_FP4 = 86
+X86_REG_FP5 = 87
+X86_REG_FP6 = 88
+X86_REG_FP7 = 89
+X86_REG_K0 = 90
+X86_REG_K1 = 91
+X86_REG_K2 = 92
+X86_REG_K3 = 93
+X86_REG_K4 = 94
+X86_REG_K5 = 95
+X86_REG_K6 = 96
+X86_REG_K7 = 97
+X86_REG_MM0 = 98
+X86_REG_MM1 = 99
+X86_REG_MM2 = 100
+X86_REG_MM3 = 101
+X86_REG_MM4 = 102
+X86_REG_MM5 = 103
+X86_REG_MM6 = 104
+X86_REG_MM7 = 105
+X86_REG_R8 = 106
+X86_REG_R9 = 107
+X86_REG_R10 = 108
+X86_REG_R11 = 109
+X86_REG_R12 = 110
+X86_REG_R13 = 111
+X86_REG_R14 = 112
+X86_REG_R15 = 113
+X86_REG_ST0 = 114
+X86_REG_ST1 = 115
+X86_REG_ST2 = 116
+X86_REG_ST3 = 117
+X86_REG_ST4 = 118
+X86_REG_ST5 = 119
+X86_REG_ST6 = 120
+X86_REG_ST7 = 121
+X86_REG_XMM0 = 122
+X86_REG_XMM1 = 123
+X86_REG_XMM2 = 124
+X86_REG_XMM3 = 125
+X86_REG_XMM4 = 126
+X86_REG_XMM5 = 127
+X86_REG_XMM6 = 128
+X86_REG_XMM7 = 129
+X86_REG_XMM8 = 130
+X86_REG_XMM9 = 131
+X86_REG_XMM10 = 132
+X86_REG_XMM11 = 133
+X86_REG_XMM12 = 134
+X86_REG_XMM13 = 135
+X86_REG_XMM14 = 136
+X86_REG_XMM15 = 137
+X86_REG_XMM16 = 138
+X86_REG_XMM17 = 139
+X86_REG_XMM18 = 140
+X86_REG_XMM19 = 141
+X86_REG_XMM20 = 142
+X86_REG_XMM21 = 143
+X86_REG_XMM22 = 144
+X86_REG_XMM23 = 145
+X86_REG_XMM24 = 146
+X86_REG_XMM25 = 147
+X86_REG_XMM26 = 148
+X86_REG_XMM27 = 149
+X86_REG_XMM28 = 150
+X86_REG_XMM29 = 151
+X86_REG_XMM30 = 152
+X86_REG_XMM31 = 153
+X86_REG_YMM0 = 154
+X86_REG_YMM1 = 155
+X86_REG_YMM2 = 156
+X86_REG_YMM3 = 157
+X86_REG_YMM4 = 158
+X86_REG_YMM5 = 159
+X86_REG_YMM6 = 160
+X86_REG_YMM7 = 161
+X86_REG_YMM8 = 162
+X86_REG_YMM9 = 163
+X86_REG_YMM10 = 164
+X86_REG_YMM11 = 165
+X86_REG_YMM12 = 166
+X86_REG_YMM13 = 167
+X86_REG_YMM14 = 168
+X86_REG_YMM15 = 169
+X86_REG_YMM16 = 170
+X86_REG_YMM17 = 171
+X86_REG_YMM18 = 172
+X86_REG_YMM19 = 173
+X86_REG_YMM20 = 174
+X86_REG_YMM21 = 175
+X86_REG_YMM22 = 176
+X86_REG_YMM23 = 177
+X86_REG_YMM24 = 178
+X86_REG_YMM25 = 179
+X86_REG_YMM26 = 180
+X86_REG_YMM27 = 181
+X86_REG_YMM28 = 182
+X86_REG_YMM29 = 183
+X86_REG_YMM30 = 184
+X86_REG_YMM31 = 185
+X86_REG_ZMM0 = 186
+X86_REG_ZMM1 = 187
+X86_REG_ZMM2 = 188
+X86_REG_ZMM3 = 189
+X86_REG_ZMM4 = 190
+X86_REG_ZMM5 = 191
+X86_REG_ZMM6 = 192
+X86_REG_ZMM7 = 193
+X86_REG_ZMM8 = 194
+X86_REG_ZMM9 = 195
+X86_REG_ZMM10 = 196
+X86_REG_ZMM11 = 197
+X86_REG_ZMM12 = 198
+X86_REG_ZMM13 = 199
+X86_REG_ZMM14 = 200
+X86_REG_ZMM15 = 201
+X86_REG_ZMM16 = 202
+X86_REG_ZMM17 = 203
+X86_REG_ZMM18 = 204
+X86_REG_ZMM19 = 205
+X86_REG_ZMM20 = 206
+X86_REG_ZMM21 = 207
+X86_REG_ZMM22 = 208
+X86_REG_ZMM23 = 209
+X86_REG_ZMM24 = 210
+X86_REG_ZMM25 = 211
+X86_REG_ZMM26 = 212
+X86_REG_ZMM27 = 213
+X86_REG_ZMM28 = 214
+X86_REG_ZMM29 = 215
+X86_REG_ZMM30 = 216
+X86_REG_ZMM31 = 217
+X86_REG_R8B = 218
+X86_REG_R9B = 219
+X86_REG_R10B = 220
+X86_REG_R11B = 221
+X86_REG_R12B = 222
+X86_REG_R13B = 223
+X86_REG_R14B = 224
+X86_REG_R15B = 225
+X86_REG_R8D = 226
+X86_REG_R9D = 227
+X86_REG_R10D = 228
+X86_REG_R11D = 229
+X86_REG_R12D = 230
+X86_REG_R13D = 231
+X86_REG_R14D = 232
+X86_REG_R15D = 233
+X86_REG_R8W = 234
+X86_REG_R9W = 235
+X86_REG_R10W = 236
+X86_REG_R11W = 237
+X86_REG_R12W = 238
+X86_REG_R13W = 239
+X86_REG_R14W = 240
+X86_REG_R15W = 241
+X86_REG_BND0 = 242
+X86_REG_BND1 = 243
+X86_REG_BND2 = 244
+X86_REG_BND3 = 245
+X86_REG_ENDING = 246
+X86_EFLAGS_MODIFY_AF = 1<<0
+X86_EFLAGS_MODIFY_CF = 1<<1
+X86_EFLAGS_MODIFY_SF = 1<<2
+X86_EFLAGS_MODIFY_ZF = 1<<3
+X86_EFLAGS_MODIFY_PF = 1<<4
+X86_EFLAGS_MODIFY_OF = 1<<5
+X86_EFLAGS_MODIFY_TF = 1<<6
+X86_EFLAGS_MODIFY_IF = 1<<7
+X86_EFLAGS_MODIFY_DF = 1<<8
+X86_EFLAGS_MODIFY_NT = 1<<9
+X86_EFLAGS_MODIFY_RF = 1<<10
+X86_EFLAGS_PRIOR_OF = 1<<11
+X86_EFLAGS_PRIOR_SF = 1<<12
+X86_EFLAGS_PRIOR_ZF = 1<<13
+X86_EFLAGS_PRIOR_AF = 1<<14
+X86_EFLAGS_PRIOR_PF = 1<<15
+X86_EFLAGS_PRIOR_CF = 1<<16
+X86_EFLAGS_PRIOR_TF = 1<<17
+X86_EFLAGS_PRIOR_IF = 1<<18
+X86_EFLAGS_PRIOR_DF = 1<<19
+X86_EFLAGS_PRIOR_NT = 1<<20
+X86_EFLAGS_RESET_OF = 1<<21
+X86_EFLAGS_RESET_CF = 1<<22
+X86_EFLAGS_RESET_DF = 1<<23
+X86_EFLAGS_RESET_IF = 1<<24
+X86_EFLAGS_RESET_SF = 1<<25
+X86_EFLAGS_RESET_AF = 1<<26
+X86_EFLAGS_RESET_TF = 1<<27
+X86_EFLAGS_RESET_NT = 1<<28
+X86_EFLAGS_RESET_PF = 1<<29
+X86_EFLAGS_SET_CF = 1<<30
+X86_EFLAGS_SET_DF = 1<<31
+X86_EFLAGS_SET_IF = 1<<32
+X86_EFLAGS_TEST_OF = 1<<33
+X86_EFLAGS_TEST_SF = 1<<34
+X86_EFLAGS_TEST_ZF = 1<<35
+X86_EFLAGS_TEST_PF = 1<<36
+X86_EFLAGS_TEST_CF = 1<<37
+X86_EFLAGS_TEST_NT = 1<<38
+X86_EFLAGS_TEST_DF = 1<<39
+X86_EFLAGS_UNDEFINED_OF = 1<<40
+X86_EFLAGS_UNDEFINED_SF = 1<<41
+X86_EFLAGS_UNDEFINED_ZF = 1<<42
+X86_EFLAGS_UNDEFINED_PF = 1<<43
+X86_EFLAGS_UNDEFINED_AF = 1<<44
+X86_EFLAGS_UNDEFINED_CF = 1<<45
+X86_EFLAGS_RESET_RF = 1<<46
+X86_EFLAGS_TEST_RF = 1<<47
+X86_EFLAGS_TEST_IF = 1<<48
+X86_EFLAGS_TEST_TF = 1<<49
+X86_EFLAGS_TEST_AF = 1<<50
+X86_EFLAGS_RESET_ZF = 1<<51
+X86_EFLAGS_SET_OF = 1<<52
+X86_EFLAGS_SET_SF = 1<<53
+X86_EFLAGS_SET_ZF = 1<<54
+X86_EFLAGS_SET_AF = 1<<55
+X86_EFLAGS_SET_PF = 1<<56
+X86_EFLAGS_RESET_0F = 1<<57
+X86_EFLAGS_RESET_AC = 1<<58
+X86_FPU_FLAGS_MODIFY_C0 = 1<<0
+X86_FPU_FLAGS_MODIFY_C1 = 1<<1
+X86_FPU_FLAGS_MODIFY_C2 = 1<<2
+X86_FPU_FLAGS_MODIFY_C3 = 1<<3
+X86_FPU_FLAGS_RESET_C0 = 1<<4
+X86_FPU_FLAGS_RESET_C1 = 1<<5
+X86_FPU_FLAGS_RESET_C2 = 1<<6
+X86_FPU_FLAGS_RESET_C3 = 1<<7
+X86_FPU_FLAGS_SET_C0 = 1<<8
+X86_FPU_FLAGS_SET_C1 = 1<<9
+X86_FPU_FLAGS_SET_C2 = 1<<10
+X86_FPU_FLAGS_SET_C3 = 1<<11
+X86_FPU_FLAGS_UNDEFINED_C0 = 1<<12
+X86_FPU_FLAGS_UNDEFINED_C1 = 1<<13
+X86_FPU_FLAGS_UNDEFINED_C2 = 1<<14
+X86_FPU_FLAGS_UNDEFINED_C3 = 1<<15
+X86_FPU_FLAGS_TEST_C0 = 1<<16
+X86_FPU_FLAGS_TEST_C1 = 1<<17
+X86_FPU_FLAGS_TEST_C2 = 1<<18
+X86_FPU_FLAGS_TEST_C3 = 1<<19
+
+X86_OP_INVALID = 0
+X86_OP_REG = 1
+X86_OP_IMM = 2
+X86_OP_MEM = 3
+
+X86_XOP_CC_INVALID = 0
+X86_XOP_CC_LT = 1
+X86_XOP_CC_LE = 2
+X86_XOP_CC_GT = 3
+X86_XOP_CC_GE = 4
+X86_XOP_CC_EQ = 5
+X86_XOP_CC_NEQ = 6
+X86_XOP_CC_FALSE = 7
+X86_XOP_CC_TRUE = 8
+
+X86_AVX_BCAST_INVALID = 0
+X86_AVX_BCAST_2 = 1
+X86_AVX_BCAST_4 = 2
+X86_AVX_BCAST_8 = 3
+X86_AVX_BCAST_16 = 4
+
+X86_SSE_CC_INVALID = 0
+X86_SSE_CC_EQ = 1
+X86_SSE_CC_LT = 2
+X86_SSE_CC_LE = 3
+X86_SSE_CC_UNORD = 4
+X86_SSE_CC_NEQ = 5
+X86_SSE_CC_NLT = 6
+X86_SSE_CC_NLE = 7
+X86_SSE_CC_ORD = 8
+
+X86_AVX_CC_INVALID = 0
+X86_AVX_CC_EQ = 1
+X86_AVX_CC_LT = 2
+X86_AVX_CC_LE = 3
+X86_AVX_CC_UNORD = 4
+X86_AVX_CC_NEQ = 5
+X86_AVX_CC_NLT = 6
+X86_AVX_CC_NLE = 7
+X86_AVX_CC_ORD = 8
+X86_AVX_CC_EQ_UQ = 9
+X86_AVX_CC_NGE = 10
+X86_AVX_CC_NGT = 11
+X86_AVX_CC_FALSE = 12
+X86_AVX_CC_NEQ_OQ = 13
+X86_AVX_CC_GE = 14
+X86_AVX_CC_GT = 15
+X86_AVX_CC_TRUE = 16
+X86_AVX_CC_EQ_OS = 17
+X86_AVX_CC_LT_OQ = 18
+X86_AVX_CC_LE_OQ = 19
+X86_AVX_CC_UNORD_S = 20
+X86_AVX_CC_NEQ_US = 21
+X86_AVX_CC_NLT_UQ = 22
+X86_AVX_CC_NLE_UQ = 23
+X86_AVX_CC_ORD_S = 24
+X86_AVX_CC_EQ_US = 25
+X86_AVX_CC_NGE_UQ = 26
+X86_AVX_CC_NGT_UQ = 27
+X86_AVX_CC_FALSE_OS = 28
+X86_AVX_CC_NEQ_OS = 29
+X86_AVX_CC_GE_OQ = 30
+X86_AVX_CC_GT_OQ = 31
+X86_AVX_CC_TRUE_US = 32
+
+X86_AVX_RM_INVALID = 0
+X86_AVX_RM_RN = 1
+X86_AVX_RM_RD = 2
+X86_AVX_RM_RU = 3
+X86_AVX_RM_RZ = 4
+X86_PREFIX_LOCK = 0xf0
+X86_PREFIX_REP = 0xf3
+X86_PREFIX_REPE = 0xf3
+X86_PREFIX_REPNE = 0xf2
+X86_PREFIX_CS = 0x2e
+X86_PREFIX_SS = 0x36
+X86_PREFIX_DS = 0x3e
+X86_PREFIX_ES = 0x26
+X86_PREFIX_FS = 0x64
+X86_PREFIX_GS = 0x65
+X86_PREFIX_OPSIZE = 0x66
+X86_PREFIX_ADDRSIZE = 0x67
+
+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_ADOX = 17
+X86_INS_AESDECLAST = 18
+X86_INS_AESDEC = 19
+X86_INS_AESENCLAST = 20
+X86_INS_AESENC = 21
+X86_INS_AESIMC = 22
+X86_INS_AESKEYGENASSIST = 23
+X86_INS_AND = 24
+X86_INS_ANDN = 25
+X86_INS_ANDNPD = 26
+X86_INS_ANDNPS = 27
+X86_INS_ANDPD = 28
+X86_INS_ANDPS = 29
+X86_INS_ARPL = 30
+X86_INS_BEXTR = 31
+X86_INS_BLCFILL = 32
+X86_INS_BLCI = 33
+X86_INS_BLCIC = 34
+X86_INS_BLCMSK = 35
+X86_INS_BLCS = 36
+X86_INS_BLENDPD = 37
+X86_INS_BLENDPS = 38
+X86_INS_BLENDVPD = 39
+X86_INS_BLENDVPS = 40
+X86_INS_BLSFILL = 41
+X86_INS_BLSI = 42
+X86_INS_BLSIC = 43
+X86_INS_BLSMSK = 44
+X86_INS_BLSR = 45
+X86_INS_BNDCL = 46
+X86_INS_BNDCN = 47
+X86_INS_BNDCU = 48
+X86_INS_BNDLDX = 49
+X86_INS_BNDMK = 50
+X86_INS_BNDMOV = 51
+X86_INS_BNDSTX = 52
+X86_INS_BOUND = 53
+X86_INS_BSF = 54
+X86_INS_BSR = 55
+X86_INS_BSWAP = 56
+X86_INS_BT = 57
+X86_INS_BTC = 58
+X86_INS_BTR = 59
+X86_INS_BTS = 60
+X86_INS_BZHI = 61
+X86_INS_CALL = 62
+X86_INS_CBW = 63
+X86_INS_CDQ = 64
+X86_INS_CDQE = 65
+X86_INS_FCHS = 66
+X86_INS_CLAC = 67
+X86_INS_CLC = 68
+X86_INS_CLD = 69
+X86_INS_CLDEMOTE = 70
+X86_INS_CLFLUSH = 71
+X86_INS_CLFLUSHOPT = 72
+X86_INS_CLGI = 73
+X86_INS_CLI = 74
+X86_INS_CLRSSBSY = 75
+X86_INS_CLTS = 76
+X86_INS_CLWB = 77
+X86_INS_CLZERO = 78
+X86_INS_CMC = 79
+X86_INS_CMOVA = 80
+X86_INS_CMOVAE = 81
+X86_INS_CMOVB = 82
+X86_INS_CMOVBE = 83
+X86_INS_FCMOVBE = 84
+X86_INS_FCMOVB = 85
+X86_INS_CMOVE = 86
+X86_INS_FCMOVE = 87
+X86_INS_CMOVG = 88
+X86_INS_CMOVGE = 89
+X86_INS_CMOVL = 90
+X86_INS_CMOVLE = 91
+X86_INS_FCMOVNBE = 92
+X86_INS_FCMOVNB = 93
+X86_INS_CMOVNE = 94
+X86_INS_FCMOVNE = 95
+X86_INS_CMOVNO = 96
+X86_INS_CMOVNP = 97
+X86_INS_FCMOVNU = 98
+X86_INS_FCMOVNP = 99
+X86_INS_CMOVNS = 100
+X86_INS_CMOVO = 101
+X86_INS_CMOVP = 102
+X86_INS_FCMOVU = 103
+X86_INS_CMOVS = 104
+X86_INS_CMP = 105
+X86_INS_CMPPD = 106
+X86_INS_CMPPS = 107
+X86_INS_CMPSB = 108
+X86_INS_CMPSD = 109
+X86_INS_CMPSQ = 110
+X86_INS_CMPSS = 111
+X86_INS_CMPSW = 112
+X86_INS_CMPXCHG16B = 113
+X86_INS_CMPXCHG = 114
+X86_INS_CMPXCHG8B = 115
+X86_INS_COMISD = 116
+X86_INS_COMISS = 117
+X86_INS_FCOMP = 118
+X86_INS_FCOMPI = 119
+X86_INS_FCOMI = 120
+X86_INS_FCOM = 121
+X86_INS_FCOS = 122
+X86_INS_CPUID = 123
+X86_INS_CQO = 124
+X86_INS_CRC32 = 125
+X86_INS_CVTDQ2PD = 126
+X86_INS_CVTDQ2PS = 127
+X86_INS_CVTPD2DQ = 128
+X86_INS_CVTPD2PS = 129
+X86_INS_CVTPS2DQ = 130
+X86_INS_CVTPS2PD = 131
+X86_INS_CVTSD2SI = 132
+X86_INS_CVTSD2SS = 133
+X86_INS_CVTSI2SD = 134
+X86_INS_CVTSI2SS = 135
+X86_INS_CVTSS2SD = 136
+X86_INS_CVTSS2SI = 137
+X86_INS_CVTTPD2DQ = 138
+X86_INS_CVTTPS2DQ = 139
+X86_INS_CVTTSD2SI = 140
+X86_INS_CVTTSS2SI = 141
+X86_INS_CWD = 142
+X86_INS_CWDE = 143
+X86_INS_DAA = 144
+X86_INS_DAS = 145
+X86_INS_DATA16 = 146
+X86_INS_DEC = 147
+X86_INS_DIV = 148
+X86_INS_DIVPD = 149
+X86_INS_DIVPS = 150
+X86_INS_FDIVR = 151
+X86_INS_FIDIVR = 152
+X86_INS_FDIVRP = 153
+X86_INS_DIVSD = 154
+X86_INS_DIVSS = 155
+X86_INS_FDIV = 156
+X86_INS_FIDIV = 157
+X86_INS_FDIVP = 158
+X86_INS_DPPD = 159
+X86_INS_DPPS = 160
+X86_INS_ENCLS = 161
+X86_INS_ENCLU = 162
+X86_INS_ENCLV = 163
+X86_INS_ENDBR32 = 164
+X86_INS_ENDBR64 = 165
+X86_INS_ENTER = 166
+X86_INS_EXTRACTPS = 167
+X86_INS_EXTRQ = 168
+X86_INS_F2XM1 = 169
+X86_INS_LCALL = 170
+X86_INS_LJMP = 171
+X86_INS_JMP = 172
+X86_INS_FBLD = 173
+X86_INS_FBSTP = 174
+X86_INS_FCOMPP = 175
+X86_INS_FDECSTP = 176
+X86_INS_FDISI8087_NOP = 177
+X86_INS_FEMMS = 178
+X86_INS_FENI8087_NOP = 179
+X86_INS_FFREE = 180
+X86_INS_FFREEP = 181
+X86_INS_FICOM = 182
+X86_INS_FICOMP = 183
+X86_INS_FINCSTP = 184
+X86_INS_FLDCW = 185
+X86_INS_FLDENV = 186
+X86_INS_FLDL2E = 187
+X86_INS_FLDL2T = 188
+X86_INS_FLDLG2 = 189
+X86_INS_FLDLN2 = 190
+X86_INS_FLDPI = 191
+X86_INS_FNCLEX = 192
+X86_INS_FNINIT = 193
+X86_INS_FNOP = 194
+X86_INS_FNSTCW = 195
+X86_INS_FNSTSW = 196
+X86_INS_FPATAN = 197
+X86_INS_FSTPNCE = 198
+X86_INS_FPREM = 199
+X86_INS_FPREM1 = 200
+X86_INS_FPTAN = 201
+X86_INS_FRNDINT = 202
+X86_INS_FRSTOR = 203
+X86_INS_FNSAVE = 204
+X86_INS_FSCALE = 205
+X86_INS_FSETPM = 206
+X86_INS_FSINCOS = 207
+X86_INS_FNSTENV = 208
+X86_INS_FXAM = 209
+X86_INS_FXRSTOR = 210
+X86_INS_FXRSTOR64 = 211
+X86_INS_FXSAVE = 212
+X86_INS_FXSAVE64 = 213
+X86_INS_FXTRACT = 214
+X86_INS_FYL2X = 215
+X86_INS_FYL2XP1 = 216
+X86_INS_GETSEC = 217
+X86_INS_GF2P8AFFINEINVQB = 218
+X86_INS_GF2P8AFFINEQB = 219
+X86_INS_GF2P8MULB = 220
+X86_INS_HADDPD = 221
+X86_INS_HADDPS = 222
+X86_INS_HLT = 223
+X86_INS_HSUBPD = 224
+X86_INS_HSUBPS = 225
+X86_INS_IDIV = 226
+X86_INS_FILD = 227
+X86_INS_IMUL = 228
+X86_INS_IN = 229
+X86_INS_INC = 230
+X86_INS_INCSSPD = 231
+X86_INS_INCSSPQ = 232
+X86_INS_INSB = 233
+X86_INS_INSERTPS = 234
+X86_INS_INSERTQ = 235
+X86_INS_INSD = 236
+X86_INS_INSW = 237
+X86_INS_INT = 238
+X86_INS_INT1 = 239
+X86_INS_INT3 = 240
+X86_INS_INTO = 241
+X86_INS_INVD = 242
+X86_INS_INVEPT = 243
+X86_INS_INVLPG = 244
+X86_INS_INVLPGA = 245
+X86_INS_INVPCID = 246
+X86_INS_INVVPID = 247
+X86_INS_IRET = 248
+X86_INS_IRETD = 249
+X86_INS_IRETQ = 250
+X86_INS_FISTTP = 251
+X86_INS_FIST = 252
+X86_INS_FISTP = 253
+X86_INS_JAE = 254
+X86_INS_JA = 255
+X86_INS_JBE = 256
+X86_INS_JB = 257
+X86_INS_JCXZ = 258
+X86_INS_JECXZ = 259
+X86_INS_JE = 260
+X86_INS_JGE = 261
+X86_INS_JG = 262
+X86_INS_JLE = 263
+X86_INS_JL = 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_KADDB = 273
+X86_INS_KADDD = 274
+X86_INS_KADDQ = 275
+X86_INS_KADDW = 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_KTESTB = 309
+X86_INS_KTESTD = 310
+X86_INS_KTESTQ = 311
+X86_INS_KTESTW = 312
+X86_INS_KUNPCKBW = 313
+X86_INS_KUNPCKDQ = 314
+X86_INS_KUNPCKWD = 315
+X86_INS_KXNORB = 316
+X86_INS_KXNORD = 317
+X86_INS_KXNORQ = 318
+X86_INS_KXNORW = 319
+X86_INS_KXORB = 320
+X86_INS_KXORD = 321
+X86_INS_KXORQ = 322
+X86_INS_KXORW = 323
+X86_INS_LAHF = 324
+X86_INS_LAR = 325
+X86_INS_LDDQU = 326
+X86_INS_LDMXCSR = 327
+X86_INS_LDS = 328
+X86_INS_FLDZ = 329
+X86_INS_FLD1 = 330
+X86_INS_FLD = 331
+X86_INS_LEA = 332
+X86_INS_LEAVE = 333
+X86_INS_LES = 334
+X86_INS_LFENCE = 335
+X86_INS_LFS = 336
+X86_INS_LGDT = 337
+X86_INS_LGS = 338
+X86_INS_LIDT = 339
+X86_INS_LLDT = 340
+X86_INS_LLWPCB = 341
+X86_INS_LMSW = 342
+X86_INS_LOCK = 343
+X86_INS_LODSB = 344
+X86_INS_LODSD = 345
+X86_INS_LODSQ = 346
+X86_INS_LODSW = 347
+X86_INS_LOOP = 348
+X86_INS_LOOPE = 349
+X86_INS_LOOPNE = 350
+X86_INS_RETF = 351
+X86_INS_RETFQ = 352
+X86_INS_LSL = 353
+X86_INS_LSS = 354
+X86_INS_LTR = 355
+X86_INS_LWPINS = 356
+X86_INS_LWPVAL = 357
+X86_INS_LZCNT = 358
+X86_INS_MASKMOVDQU = 359
+X86_INS_MAXPD = 360
+X86_INS_MAXPS = 361
+X86_INS_MAXSD = 362
+X86_INS_MAXSS = 363
+X86_INS_MFENCE = 364
+X86_INS_MINPD = 365
+X86_INS_MINPS = 366
+X86_INS_MINSD = 367
+X86_INS_MINSS = 368
+X86_INS_CVTPD2PI = 369
+X86_INS_CVTPI2PD = 370
+X86_INS_CVTPI2PS = 371
+X86_INS_CVTPS2PI = 372
+X86_INS_CVTTPD2PI = 373
+X86_INS_CVTTPS2PI = 374
+X86_INS_EMMS = 375
+X86_INS_MASKMOVQ = 376
+X86_INS_MOVD = 377
+X86_INS_MOVQ = 378
+X86_INS_MOVDQ2Q = 379
+X86_INS_MOVNTQ = 380
+X86_INS_MOVQ2DQ = 381
+X86_INS_PABSB = 382
+X86_INS_PABSD = 383
+X86_INS_PABSW = 384
+X86_INS_PACKSSDW = 385
+X86_INS_PACKSSWB = 386
+X86_INS_PACKUSWB = 387
+X86_INS_PADDB = 388
+X86_INS_PADDD = 389
+X86_INS_PADDQ = 390
+X86_INS_PADDSB = 391
+X86_INS_PADDSW = 392
+X86_INS_PADDUSB = 393
+X86_INS_PADDUSW = 394
+X86_INS_PADDW = 395
+X86_INS_PALIGNR = 396
+X86_INS_PANDN = 397
+X86_INS_PAND = 398
+X86_INS_PAVGB = 399
+X86_INS_PAVGW = 400
+X86_INS_PCMPEQB = 401
+X86_INS_PCMPEQD = 402
+X86_INS_PCMPEQW = 403
+X86_INS_PCMPGTB = 404
+X86_INS_PCMPGTD = 405
+X86_INS_PCMPGTW = 406
+X86_INS_PEXTRW = 407
+X86_INS_PHADDD = 408
+X86_INS_PHADDSW = 409
+X86_INS_PHADDW = 410
+X86_INS_PHSUBD = 411
+X86_INS_PHSUBSW = 412
+X86_INS_PHSUBW = 413
+X86_INS_PINSRW = 414
+X86_INS_PMADDUBSW = 415
+X86_INS_PMADDWD = 416
+X86_INS_PMAXSW = 417
+X86_INS_PMAXUB = 418
+X86_INS_PMINSW = 419
+X86_INS_PMINUB = 420
+X86_INS_PMOVMSKB = 421
+X86_INS_PMULHRSW = 422
+X86_INS_PMULHUW = 423
+X86_INS_PMULHW = 424
+X86_INS_PMULLW = 425
+X86_INS_PMULUDQ = 426
+X86_INS_POR = 427
+X86_INS_PSADBW = 428
+X86_INS_PSHUFB = 429
+X86_INS_PSHUFW = 430
+X86_INS_PSIGNB = 431
+X86_INS_PSIGND = 432
+X86_INS_PSIGNW = 433
+X86_INS_PSLLD = 434
+X86_INS_PSLLQ = 435
+X86_INS_PSLLW = 436
+X86_INS_PSRAD = 437
+X86_INS_PSRAW = 438
+X86_INS_PSRLD = 439
+X86_INS_PSRLQ = 440
+X86_INS_PSRLW = 441
+X86_INS_PSUBB = 442
+X86_INS_PSUBD = 443
+X86_INS_PSUBQ = 444
+X86_INS_PSUBSB = 445
+X86_INS_PSUBSW = 446
+X86_INS_PSUBUSB = 447
+X86_INS_PSUBUSW = 448
+X86_INS_PSUBW = 449
+X86_INS_PUNPCKHBW = 450
+X86_INS_PUNPCKHDQ = 451
+X86_INS_PUNPCKHWD = 452
+X86_INS_PUNPCKLBW = 453
+X86_INS_PUNPCKLDQ = 454
+X86_INS_PUNPCKLWD = 455
+X86_INS_PXOR = 456
+X86_INS_MONITORX = 457
+X86_INS_MONITOR = 458
+X86_INS_MONTMUL = 459
+X86_INS_MOV = 460
+X86_INS_MOVABS = 461
+X86_INS_MOVAPD = 462
+X86_INS_MOVAPS = 463
+X86_INS_MOVBE = 464
+X86_INS_MOVDDUP = 465
+X86_INS_MOVDIR64B = 466
+X86_INS_MOVDIRI = 467
+X86_INS_MOVDQA = 468
+X86_INS_MOVDQU = 469
+X86_INS_MOVHLPS = 470
+X86_INS_MOVHPD = 471
+X86_INS_MOVHPS = 472
+X86_INS_MOVLHPS = 473
+X86_INS_MOVLPD = 474
+X86_INS_MOVLPS = 475
+X86_INS_MOVMSKPD = 476
+X86_INS_MOVMSKPS = 477
+X86_INS_MOVNTDQA = 478
+X86_INS_MOVNTDQ = 479
+X86_INS_MOVNTI = 480
+X86_INS_MOVNTPD = 481
+X86_INS_MOVNTPS = 482
+X86_INS_MOVNTSD = 483
+X86_INS_MOVNTSS = 484
+X86_INS_MOVSB = 485
+X86_INS_MOVSD = 486
+X86_INS_MOVSHDUP = 487
+X86_INS_MOVSLDUP = 488
+X86_INS_MOVSQ = 489
+X86_INS_MOVSS = 490
+X86_INS_MOVSW = 491
+X86_INS_MOVSX = 492
+X86_INS_MOVSXD = 493
+X86_INS_MOVUPD = 494
+X86_INS_MOVUPS = 495
+X86_INS_MOVZX = 496
+X86_INS_MPSADBW = 497
+X86_INS_MUL = 498
+X86_INS_MULPD = 499
+X86_INS_MULPS = 500
+X86_INS_MULSD = 501
+X86_INS_MULSS = 502
+X86_INS_MULX = 503
+X86_INS_FMUL = 504
+X86_INS_FIMUL = 505
+X86_INS_FMULP = 506
+X86_INS_MWAITX = 507
+X86_INS_MWAIT = 508
+X86_INS_NEG = 509
+X86_INS_NOP = 510
+X86_INS_NOT = 511
+X86_INS_OR = 512
+X86_INS_ORPD = 513
+X86_INS_ORPS = 514
+X86_INS_OUT = 515
+X86_INS_OUTSB = 516
+X86_INS_OUTSD = 517
+X86_INS_OUTSW = 518
+X86_INS_PACKUSDW = 519
+X86_INS_PAUSE = 520
+X86_INS_PAVGUSB = 521
+X86_INS_PBLENDVB = 522
+X86_INS_PBLENDW = 523
+X86_INS_PCLMULQDQ = 524
+X86_INS_PCMPEQQ = 525
+X86_INS_PCMPESTRI = 526
+X86_INS_PCMPESTRM = 527
+X86_INS_PCMPGTQ = 528
+X86_INS_PCMPISTRI = 529
+X86_INS_PCMPISTRM = 530
+X86_INS_PCONFIG = 531
+X86_INS_PDEP = 532
+X86_INS_PEXT = 533
+X86_INS_PEXTRB = 534
+X86_INS_PEXTRD = 535
+X86_INS_PEXTRQ = 536
+X86_INS_PF2ID = 537
+X86_INS_PF2IW = 538
+X86_INS_PFACC = 539
+X86_INS_PFADD = 540
+X86_INS_PFCMPEQ = 541
+X86_INS_PFCMPGE = 542
+X86_INS_PFCMPGT = 543
+X86_INS_PFMAX = 544
+X86_INS_PFMIN = 545
+X86_INS_PFMUL = 546
+X86_INS_PFNACC = 547
+X86_INS_PFPNACC = 548
+X86_INS_PFRCPIT1 = 549
+X86_INS_PFRCPIT2 = 550
+X86_INS_PFRCP = 551
+X86_INS_PFRSQIT1 = 552
+X86_INS_PFRSQRT = 553
+X86_INS_PFSUBR = 554
+X86_INS_PFSUB = 555
+X86_INS_PHMINPOSUW = 556
+X86_INS_PI2FD = 557
+X86_INS_PI2FW = 558
+X86_INS_PINSRB = 559
+X86_INS_PINSRD = 560
+X86_INS_PINSRQ = 561
+X86_INS_PMAXSB = 562
+X86_INS_PMAXSD = 563
+X86_INS_PMAXUD = 564
+X86_INS_PMAXUW = 565
+X86_INS_PMINSB = 566
+X86_INS_PMINSD = 567
+X86_INS_PMINUD = 568
+X86_INS_PMINUW = 569
+X86_INS_PMOVSXBD = 570
+X86_INS_PMOVSXBQ = 571
+X86_INS_PMOVSXBW = 572
+X86_INS_PMOVSXDQ = 573
+X86_INS_PMOVSXWD = 574
+X86_INS_PMOVSXWQ = 575
+X86_INS_PMOVZXBD = 576
+X86_INS_PMOVZXBQ = 577
+X86_INS_PMOVZXBW = 578
+X86_INS_PMOVZXDQ = 579
+X86_INS_PMOVZXWD = 580
+X86_INS_PMOVZXWQ = 581
+X86_INS_PMULDQ = 582
+X86_INS_PMULHRW = 583
+X86_INS_PMULLD = 584
+X86_INS_POP = 585
+X86_INS_POPAW = 586
+X86_INS_POPAL = 587
+X86_INS_POPCNT = 588
+X86_INS_POPF = 589
+X86_INS_POPFD = 590
+X86_INS_POPFQ = 591
+X86_INS_PREFETCH = 592
+X86_INS_PREFETCHNTA = 593
+X86_INS_PREFETCHT0 = 594
+X86_INS_PREFETCHT1 = 595
+X86_INS_PREFETCHT2 = 596
+X86_INS_PREFETCHW = 597
+X86_INS_PREFETCHWT1 = 598
+X86_INS_PSHUFD = 599
+X86_INS_PSHUFHW = 600
+X86_INS_PSHUFLW = 601
+X86_INS_PSLLDQ = 602
+X86_INS_PSRLDQ = 603
+X86_INS_PSWAPD = 604
+X86_INS_PTEST = 605
+X86_INS_PTWRITE = 606
+X86_INS_PUNPCKHQDQ = 607
+X86_INS_PUNPCKLQDQ = 608
+X86_INS_PUSH = 609
+X86_INS_PUSHAW = 610
+X86_INS_PUSHAL = 611
+X86_INS_PUSHF = 612
+X86_INS_PUSHFD = 613
+X86_INS_PUSHFQ = 614
+X86_INS_RCL = 615
+X86_INS_RCPPS = 616
+X86_INS_RCPSS = 617
+X86_INS_RCR = 618
+X86_INS_RDFSBASE = 619
+X86_INS_RDGSBASE = 620
+X86_INS_RDMSR = 621
+X86_INS_RDPID = 622
+X86_INS_RDPKRU = 623
+X86_INS_RDPMC = 624
+X86_INS_RDRAND = 625
+X86_INS_RDSEED = 626
+X86_INS_RDSSPD = 627
+X86_INS_RDSSPQ = 628
+X86_INS_RDTSC = 629
+X86_INS_RDTSCP = 630
+X86_INS_REPNE = 631
+X86_INS_REP = 632
+X86_INS_RET = 633
+X86_INS_REX64 = 634
+X86_INS_ROL = 635
+X86_INS_ROR = 636
+X86_INS_RORX = 637
+X86_INS_ROUNDPD = 638
+X86_INS_ROUNDPS = 639
+X86_INS_ROUNDSD = 640
+X86_INS_ROUNDSS = 641
+X86_INS_RSM = 642
+X86_INS_RSQRTPS = 643
+X86_INS_RSQRTSS = 644
+X86_INS_RSTORSSP = 645
+X86_INS_SAHF = 646
+X86_INS_SAL = 647
+X86_INS_SALC = 648
+X86_INS_SAR = 649
+X86_INS_SARX = 650
+X86_INS_SAVEPREVSSP = 651
+X86_INS_SBB = 652
+X86_INS_SCASB = 653
+X86_INS_SCASD = 654
+X86_INS_SCASQ = 655
+X86_INS_SCASW = 656
+X86_INS_SETAE = 657
+X86_INS_SETA = 658
+X86_INS_SETBE = 659
+X86_INS_SETB = 660
+X86_INS_SETE = 661
+X86_INS_SETGE = 662
+X86_INS_SETG = 663
+X86_INS_SETLE = 664
+X86_INS_SETL = 665
+X86_INS_SETNE = 666
+X86_INS_SETNO = 667
+X86_INS_SETNP = 668
+X86_INS_SETNS = 669
+X86_INS_SETO = 670
+X86_INS_SETP = 671
+X86_INS_SETSSBSY = 672
+X86_INS_SETS = 673
+X86_INS_SFENCE = 674
+X86_INS_SGDT = 675
+X86_INS_SHA1MSG1 = 676
+X86_INS_SHA1MSG2 = 677
+X86_INS_SHA1NEXTE = 678
+X86_INS_SHA1RNDS4 = 679
+X86_INS_SHA256MSG1 = 680
+X86_INS_SHA256MSG2 = 681
+X86_INS_SHA256RNDS2 = 682
+X86_INS_SHL = 683
+X86_INS_SHLD = 684
+X86_INS_SHLX = 685
+X86_INS_SHR = 686
+X86_INS_SHRD = 687
+X86_INS_SHRX = 688
+X86_INS_SHUFPD = 689
+X86_INS_SHUFPS = 690
+X86_INS_SIDT = 691
+X86_INS_FSIN = 692
+X86_INS_SKINIT = 693
+X86_INS_SLDT = 694
+X86_INS_SLWPCB = 695
+X86_INS_SMSW = 696
+X86_INS_SQRTPD = 697
+X86_INS_SQRTPS = 698
+X86_INS_SQRTSD = 699
+X86_INS_SQRTSS = 700
+X86_INS_FSQRT = 701
+X86_INS_STAC = 702
+X86_INS_STC = 703
+X86_INS_STD = 704
+X86_INS_STGI = 705
+X86_INS_STI = 706
+X86_INS_STMXCSR = 707
+X86_INS_STOSB = 708
+X86_INS_STOSD = 709
+X86_INS_STOSQ = 710
+X86_INS_STOSW = 711
+X86_INS_STR = 712
+X86_INS_FST = 713
+X86_INS_FSTP = 714
+X86_INS_SUB = 715
+X86_INS_SUBPD = 716
+X86_INS_SUBPS = 717
+X86_INS_FSUBR = 718
+X86_INS_FISUBR = 719
+X86_INS_FSUBRP = 720
+X86_INS_SUBSD = 721
+X86_INS_SUBSS = 722
+X86_INS_FSUB = 723
+X86_INS_FISUB = 724
+X86_INS_FSUBP = 725
+X86_INS_SWAPGS = 726
+X86_INS_SYSCALL = 727
+X86_INS_SYSENTER = 728
+X86_INS_SYSEXIT = 729
+X86_INS_SYSEXITQ = 730
+X86_INS_SYSRET = 731
+X86_INS_SYSRETQ = 732
+X86_INS_T1MSKC = 733
+X86_INS_TEST = 734
+X86_INS_TPAUSE = 735
+X86_INS_FTST = 736
+X86_INS_TZCNT = 737
+X86_INS_TZMSK = 738
+X86_INS_UCOMISD = 739
+X86_INS_UCOMISS = 740
+X86_INS_FUCOMPI = 741
+X86_INS_FUCOMI = 742
+X86_INS_FUCOMPP = 743
+X86_INS_FUCOMP = 744
+X86_INS_FUCOM = 745
+X86_INS_UD0 = 746
+X86_INS_UD1 = 747
+X86_INS_UD2 = 748
+X86_INS_UMONITOR = 749
+X86_INS_UMWAIT = 750
+X86_INS_UNPCKHPD = 751
+X86_INS_UNPCKHPS = 752
+X86_INS_UNPCKLPD = 753
+X86_INS_UNPCKLPS = 754
+X86_INS_V4FMADDPS = 755
+X86_INS_V4FMADDSS = 756
+X86_INS_V4FNMADDPS = 757
+X86_INS_V4FNMADDSS = 758
+X86_INS_VADDPD = 759
+X86_INS_VADDPS = 760
+X86_INS_VADDSD = 761
+X86_INS_VADDSS = 762
+X86_INS_VADDSUBPD = 763
+X86_INS_VADDSUBPS = 764
+X86_INS_VAESDECLAST = 765
+X86_INS_VAESDEC = 766
+X86_INS_VAESENCLAST = 767
+X86_INS_VAESENC = 768
+X86_INS_VAESIMC = 769
+X86_INS_VAESKEYGENASSIST = 770
+X86_INS_VALIGND = 771
+X86_INS_VALIGNQ = 772
+X86_INS_VANDNPD = 773
+X86_INS_VANDNPS = 774
+X86_INS_VANDPD = 775
+X86_INS_VANDPS = 776
+X86_INS_VBLENDMPD = 777
+X86_INS_VBLENDMPS = 778
+X86_INS_VBLENDPD = 779
+X86_INS_VBLENDPS = 780
+X86_INS_VBLENDVPD = 781
+X86_INS_VBLENDVPS = 782
+X86_INS_VBROADCASTF128 = 783
+X86_INS_VBROADCASTF32X2 = 784
+X86_INS_VBROADCASTF32X4 = 785
+X86_INS_VBROADCASTF32X8 = 786
+X86_INS_VBROADCASTF64X2 = 787
+X86_INS_VBROADCASTF64X4 = 788
+X86_INS_VBROADCASTI128 = 789
+X86_INS_VBROADCASTI32X2 = 790
+X86_INS_VBROADCASTI32X4 = 791
+X86_INS_VBROADCASTI32X8 = 792
+X86_INS_VBROADCASTI64X2 = 793
+X86_INS_VBROADCASTI64X4 = 794
+X86_INS_VBROADCASTSD = 795
+X86_INS_VBROADCASTSS = 796
+X86_INS_VCMP = 797
+X86_INS_VCMPPD = 798
+X86_INS_VCMPPS = 799
+X86_INS_VCMPSD = 800
+X86_INS_VCMPSS = 801
+X86_INS_VCOMISD = 802
+X86_INS_VCOMISS = 803
+X86_INS_VCOMPRESSPD = 804
+X86_INS_VCOMPRESSPS = 805
+X86_INS_VCVTDQ2PD = 806
+X86_INS_VCVTDQ2PS = 807
+X86_INS_VCVTPD2DQ = 808
+X86_INS_VCVTPD2PS = 809
+X86_INS_VCVTPD2QQ = 810
+X86_INS_VCVTPD2UDQ = 811
+X86_INS_VCVTPD2UQQ = 812
+X86_INS_VCVTPH2PS = 813
+X86_INS_VCVTPS2DQ = 814
+X86_INS_VCVTPS2PD = 815
+X86_INS_VCVTPS2PH = 816
+X86_INS_VCVTPS2QQ = 817
+X86_INS_VCVTPS2UDQ = 818
+X86_INS_VCVTPS2UQQ = 819
+X86_INS_VCVTQQ2PD = 820
+X86_INS_VCVTQQ2PS = 821
+X86_INS_VCVTSD2SI = 822
+X86_INS_VCVTSD2SS = 823
+X86_INS_VCVTSD2USI = 824
+X86_INS_VCVTSI2SD = 825
+X86_INS_VCVTSI2SS = 826
+X86_INS_VCVTSS2SD = 827
+X86_INS_VCVTSS2SI = 828
+X86_INS_VCVTSS2USI = 829
+X86_INS_VCVTTPD2DQ = 830
+X86_INS_VCVTTPD2QQ = 831
+X86_INS_VCVTTPD2UDQ = 832
+X86_INS_VCVTTPD2UQQ = 833
+X86_INS_VCVTTPS2DQ = 834
+X86_INS_VCVTTPS2QQ = 835
+X86_INS_VCVTTPS2UDQ = 836
+X86_INS_VCVTTPS2UQQ = 837
+X86_INS_VCVTTSD2SI = 838
+X86_INS_VCVTTSD2USI = 839
+X86_INS_VCVTTSS2SI = 840
+X86_INS_VCVTTSS2USI = 841
+X86_INS_VCVTUDQ2PD = 842
+X86_INS_VCVTUDQ2PS = 843
+X86_INS_VCVTUQQ2PD = 844
+X86_INS_VCVTUQQ2PS = 845
+X86_INS_VCVTUSI2SD = 846
+X86_INS_VCVTUSI2SS = 847
+X86_INS_VDBPSADBW = 848
+X86_INS_VDIVPD = 849
+X86_INS_VDIVPS = 850
+X86_INS_VDIVSD = 851
+X86_INS_VDIVSS = 852
+X86_INS_VDPPD = 853
+X86_INS_VDPPS = 854
+X86_INS_VERR = 855
+X86_INS_VERW = 856
+X86_INS_VEXP2PD = 857
+X86_INS_VEXP2PS = 858
+X86_INS_VEXPANDPD = 859
+X86_INS_VEXPANDPS = 860
+X86_INS_VEXTRACTF128 = 861
+X86_INS_VEXTRACTF32X4 = 862
+X86_INS_VEXTRACTF32X8 = 863
+X86_INS_VEXTRACTF64X2 = 864
+X86_INS_VEXTRACTF64X4 = 865
+X86_INS_VEXTRACTI128 = 866
+X86_INS_VEXTRACTI32X4 = 867
+X86_INS_VEXTRACTI32X8 = 868
+X86_INS_VEXTRACTI64X2 = 869
+X86_INS_VEXTRACTI64X4 = 870
+X86_INS_VEXTRACTPS = 871
+X86_INS_VFIXUPIMMPD = 872
+X86_INS_VFIXUPIMMPS = 873
+X86_INS_VFIXUPIMMSD = 874
+X86_INS_VFIXUPIMMSS = 875
+X86_INS_VFMADD132PD = 876
+X86_INS_VFMADD132PS = 877
+X86_INS_VFMADD132SD = 878
+X86_INS_VFMADD132SS = 879
+X86_INS_VFMADD213PD = 880
+X86_INS_VFMADD213PS = 881
+X86_INS_VFMADD213SD = 882
+X86_INS_VFMADD213SS = 883
+X86_INS_VFMADD231PD = 884
+X86_INS_VFMADD231PS = 885
+X86_INS_VFMADD231SD = 886
+X86_INS_VFMADD231SS = 887
+X86_INS_VFMADDPD = 888
+X86_INS_VFMADDPS = 889
+X86_INS_VFMADDSD = 890
+X86_INS_VFMADDSS = 891
+X86_INS_VFMADDSUB132PD = 892
+X86_INS_VFMADDSUB132PS = 893
+X86_INS_VFMADDSUB213PD = 894
+X86_INS_VFMADDSUB213PS = 895
+X86_INS_VFMADDSUB231PD = 896
+X86_INS_VFMADDSUB231PS = 897
+X86_INS_VFMADDSUBPD = 898
+X86_INS_VFMADDSUBPS = 899
+X86_INS_VFMSUB132PD = 900
+X86_INS_VFMSUB132PS = 901
+X86_INS_VFMSUB132SD = 902
+X86_INS_VFMSUB132SS = 903
+X86_INS_VFMSUB213PD = 904
+X86_INS_VFMSUB213PS = 905
+X86_INS_VFMSUB213SD = 906
+X86_INS_VFMSUB213SS = 907
+X86_INS_VFMSUB231PD = 908
+X86_INS_VFMSUB231PS = 909
+X86_INS_VFMSUB231SD = 910
+X86_INS_VFMSUB231SS = 911
+X86_INS_VFMSUBADD132PD = 912
+X86_INS_VFMSUBADD132PS = 913
+X86_INS_VFMSUBADD213PD = 914
+X86_INS_VFMSUBADD213PS = 915
+X86_INS_VFMSUBADD231PD = 916
+X86_INS_VFMSUBADD231PS = 917
+X86_INS_VFMSUBADDPD = 918
+X86_INS_VFMSUBADDPS = 919
+X86_INS_VFMSUBPD = 920
+X86_INS_VFMSUBPS = 921
+X86_INS_VFMSUBSD = 922
+X86_INS_VFMSUBSS = 923
+X86_INS_VFNMADD132PD = 924
+X86_INS_VFNMADD132PS = 925
+X86_INS_VFNMADD132SD = 926
+X86_INS_VFNMADD132SS = 927
+X86_INS_VFNMADD213PD = 928
+X86_INS_VFNMADD213PS = 929
+X86_INS_VFNMADD213SD = 930
+X86_INS_VFNMADD213SS = 931
+X86_INS_VFNMADD231PD = 932
+X86_INS_VFNMADD231PS = 933
+X86_INS_VFNMADD231SD = 934
+X86_INS_VFNMADD231SS = 935
+X86_INS_VFNMADDPD = 936
+X86_INS_VFNMADDPS = 937
+X86_INS_VFNMADDSD = 938
+X86_INS_VFNMADDSS = 939
+X86_INS_VFNMSUB132PD = 940
+X86_INS_VFNMSUB132PS = 941
+X86_INS_VFNMSUB132SD = 942
+X86_INS_VFNMSUB132SS = 943
+X86_INS_VFNMSUB213PD = 944
+X86_INS_VFNMSUB213PS = 945
+X86_INS_VFNMSUB213SD = 946
+X86_INS_VFNMSUB213SS = 947
+X86_INS_VFNMSUB231PD = 948
+X86_INS_VFNMSUB231PS = 949
+X86_INS_VFNMSUB231SD = 950
+X86_INS_VFNMSUB231SS = 951
+X86_INS_VFNMSUBPD = 952
+X86_INS_VFNMSUBPS = 953
+X86_INS_VFNMSUBSD = 954
+X86_INS_VFNMSUBSS = 955
+X86_INS_VFPCLASSPD = 956
+X86_INS_VFPCLASSPS = 957
+X86_INS_VFPCLASSSD = 958
+X86_INS_VFPCLASSSS = 959
+X86_INS_VFRCZPD = 960
+X86_INS_VFRCZPS = 961
+X86_INS_VFRCZSD = 962
+X86_INS_VFRCZSS = 963
+X86_INS_VGATHERDPD = 964
+X86_INS_VGATHERDPS = 965
+X86_INS_VGATHERPF0DPD = 966
+X86_INS_VGATHERPF0DPS = 967
+X86_INS_VGATHERPF0QPD = 968
+X86_INS_VGATHERPF0QPS = 969
+X86_INS_VGATHERPF1DPD = 970
+X86_INS_VGATHERPF1DPS = 971
+X86_INS_VGATHERPF1QPD = 972
+X86_INS_VGATHERPF1QPS = 973
+X86_INS_VGATHERQPD = 974
+X86_INS_VGATHERQPS = 975
+X86_INS_VGETEXPPD = 976
+X86_INS_VGETEXPPS = 977
+X86_INS_VGETEXPSD = 978
+X86_INS_VGETEXPSS = 979
+X86_INS_VGETMANTPD = 980
+X86_INS_VGETMANTPS = 981
+X86_INS_VGETMANTSD = 982
+X86_INS_VGETMANTSS = 983
+X86_INS_VGF2P8AFFINEINVQB = 984
+X86_INS_VGF2P8AFFINEQB = 985
+X86_INS_VGF2P8MULB = 986
+X86_INS_VHADDPD = 987
+X86_INS_VHADDPS = 988
+X86_INS_VHSUBPD = 989
+X86_INS_VHSUBPS = 990
+X86_INS_VINSERTF128 = 991
+X86_INS_VINSERTF32X4 = 992
+X86_INS_VINSERTF32X8 = 993
+X86_INS_VINSERTF64X2 = 994
+X86_INS_VINSERTF64X4 = 995
+X86_INS_VINSERTI128 = 996
+X86_INS_VINSERTI32X4 = 997
+X86_INS_VINSERTI32X8 = 998
+X86_INS_VINSERTI64X2 = 999
+X86_INS_VINSERTI64X4 = 1000
+X86_INS_VINSERTPS = 1001
+X86_INS_VLDDQU = 1002
+X86_INS_VLDMXCSR = 1003
+X86_INS_VMASKMOVDQU = 1004
+X86_INS_VMASKMOVPD = 1005
+X86_INS_VMASKMOVPS = 1006
+X86_INS_VMAXPD = 1007
+X86_INS_VMAXPS = 1008
+X86_INS_VMAXSD = 1009
+X86_INS_VMAXSS = 1010
+X86_INS_VMCALL = 1011
+X86_INS_VMCLEAR = 1012
+X86_INS_VMFUNC = 1013
+X86_INS_VMINPD = 1014
+X86_INS_VMINPS = 1015
+X86_INS_VMINSD = 1016
+X86_INS_VMINSS = 1017
+X86_INS_VMLAUNCH = 1018
+X86_INS_VMLOAD = 1019
+X86_INS_VMMCALL = 1020
+X86_INS_VMOVQ = 1021
+X86_INS_VMOVAPD = 1022
+X86_INS_VMOVAPS = 1023
+X86_INS_VMOVDDUP = 1024
+X86_INS_VMOVD = 1025
+X86_INS_VMOVDQA32 = 1026
+X86_INS_VMOVDQA64 = 1027
+X86_INS_VMOVDQA = 1028
+X86_INS_VMOVDQU16 = 1029
+X86_INS_VMOVDQU32 = 1030
+X86_INS_VMOVDQU64 = 1031
+X86_INS_VMOVDQU8 = 1032
+X86_INS_VMOVDQU = 1033
+X86_INS_VMOVHLPS = 1034
+X86_INS_VMOVHPD = 1035
+X86_INS_VMOVHPS = 1036
+X86_INS_VMOVLHPS = 1037
+X86_INS_VMOVLPD = 1038
+X86_INS_VMOVLPS = 1039
+X86_INS_VMOVMSKPD = 1040
+X86_INS_VMOVMSKPS = 1041
+X86_INS_VMOVNTDQA = 1042
+X86_INS_VMOVNTDQ = 1043
+X86_INS_VMOVNTPD = 1044
+X86_INS_VMOVNTPS = 1045
+X86_INS_VMOVSD = 1046
+X86_INS_VMOVSHDUP = 1047
+X86_INS_VMOVSLDUP = 1048
+X86_INS_VMOVSS = 1049
+X86_INS_VMOVUPD = 1050
+X86_INS_VMOVUPS = 1051
+X86_INS_VMPSADBW = 1052
+X86_INS_VMPTRLD = 1053
+X86_INS_VMPTRST = 1054
+X86_INS_VMREAD = 1055
+X86_INS_VMRESUME = 1056
+X86_INS_VMRUN = 1057
+X86_INS_VMSAVE = 1058
+X86_INS_VMULPD = 1059
+X86_INS_VMULPS = 1060
+X86_INS_VMULSD = 1061
+X86_INS_VMULSS = 1062
+X86_INS_VMWRITE = 1063
+X86_INS_VMXOFF = 1064
+X86_INS_VMXON = 1065
+X86_INS_VORPD = 1066
+X86_INS_VORPS = 1067
+X86_INS_VP4DPWSSDS = 1068
+X86_INS_VP4DPWSSD = 1069
+X86_INS_VPABSB = 1070
+X86_INS_VPABSD = 1071
+X86_INS_VPABSQ = 1072
+X86_INS_VPABSW = 1073
+X86_INS_VPACKSSDW = 1074
+X86_INS_VPACKSSWB = 1075
+X86_INS_VPACKUSDW = 1076
+X86_INS_VPACKUSWB = 1077
+X86_INS_VPADDB = 1078
+X86_INS_VPADDD = 1079
+X86_INS_VPADDQ = 1080
+X86_INS_VPADDSB = 1081
+X86_INS_VPADDSW = 1082
+X86_INS_VPADDUSB = 1083
+X86_INS_VPADDUSW = 1084
+X86_INS_VPADDW = 1085
+X86_INS_VPALIGNR = 1086
+X86_INS_VPANDD = 1087
+X86_INS_VPANDND = 1088
+X86_INS_VPANDNQ = 1089
+X86_INS_VPANDN = 1090
+X86_INS_VPANDQ = 1091
+X86_INS_VPAND = 1092
+X86_INS_VPAVGB = 1093
+X86_INS_VPAVGW = 1094
+X86_INS_VPBLENDD = 1095
+X86_INS_VPBLENDMB = 1096
+X86_INS_VPBLENDMD = 1097
+X86_INS_VPBLENDMQ = 1098
+X86_INS_VPBLENDMW = 1099
+X86_INS_VPBLENDVB = 1100
+X86_INS_VPBLENDW = 1101
+X86_INS_VPBROADCASTB = 1102
+X86_INS_VPBROADCASTD = 1103
+X86_INS_VPBROADCASTMB2Q = 1104
+X86_INS_VPBROADCASTMW2D = 1105
+X86_INS_VPBROADCASTQ = 1106
+X86_INS_VPBROADCASTW = 1107
+X86_INS_VPCLMULQDQ = 1108
+X86_INS_VPCMOV = 1109
+X86_INS_VPCMP = 1110
+X86_INS_VPCMPB = 1111
+X86_INS_VPCMPD = 1112
+X86_INS_VPCMPEQB = 1113
+X86_INS_VPCMPEQD = 1114
+X86_INS_VPCMPEQQ = 1115
+X86_INS_VPCMPEQW = 1116
+X86_INS_VPCMPESTRI = 1117
+X86_INS_VPCMPESTRM = 1118
+X86_INS_VPCMPGTB = 1119
+X86_INS_VPCMPGTD = 1120
+X86_INS_VPCMPGTQ = 1121
+X86_INS_VPCMPGTW = 1122
+X86_INS_VPCMPISTRI = 1123
+X86_INS_VPCMPISTRM = 1124
+X86_INS_VPCMPQ = 1125
+X86_INS_VPCMPUB = 1126
+X86_INS_VPCMPUD = 1127
+X86_INS_VPCMPUQ = 1128
+X86_INS_VPCMPUW = 1129
+X86_INS_VPCMPW = 1130
+X86_INS_VPCOM = 1131
+X86_INS_VPCOMB = 1132
+X86_INS_VPCOMD = 1133
+X86_INS_VPCOMPRESSB = 1134
+X86_INS_VPCOMPRESSD = 1135
+X86_INS_VPCOMPRESSQ = 1136
+X86_INS_VPCOMPRESSW = 1137
+X86_INS_VPCOMQ = 1138
+X86_INS_VPCOMUB = 1139
+X86_INS_VPCOMUD = 1140
+X86_INS_VPCOMUQ = 1141
+X86_INS_VPCOMUW = 1142
+X86_INS_VPCOMW = 1143
+X86_INS_VPCONFLICTD = 1144
+X86_INS_VPCONFLICTQ = 1145
+X86_INS_VPDPBUSDS = 1146
+X86_INS_VPDPBUSD = 1147
+X86_INS_VPDPWSSDS = 1148
+X86_INS_VPDPWSSD = 1149
+X86_INS_VPERM2F128 = 1150
+X86_INS_VPERM2I128 = 1151
+X86_INS_VPERMB = 1152
+X86_INS_VPERMD = 1153
+X86_INS_VPERMI2B = 1154
+X86_INS_VPERMI2D = 1155
+X86_INS_VPERMI2PD = 1156
+X86_INS_VPERMI2PS = 1157
+X86_INS_VPERMI2Q = 1158
+X86_INS_VPERMI2W = 1159
+X86_INS_VPERMIL2PD = 1160
+X86_INS_VPERMILPD = 1161
+X86_INS_VPERMIL2PS = 1162
+X86_INS_VPERMILPS = 1163
+X86_INS_VPERMPD = 1164
+X86_INS_VPERMPS = 1165
+X86_INS_VPERMQ = 1166
+X86_INS_VPERMT2B = 1167
+X86_INS_VPERMT2D = 1168
+X86_INS_VPERMT2PD = 1169
+X86_INS_VPERMT2PS = 1170
+X86_INS_VPERMT2Q = 1171
+X86_INS_VPERMT2W = 1172
+X86_INS_VPERMW = 1173
+X86_INS_VPEXPANDB = 1174
+X86_INS_VPEXPANDD = 1175
+X86_INS_VPEXPANDQ = 1176
+X86_INS_VPEXPANDW = 1177
+X86_INS_VPEXTRB = 1178
+X86_INS_VPEXTRD = 1179
+X86_INS_VPEXTRQ = 1180
+X86_INS_VPEXTRW = 1181
+X86_INS_VPGATHERDD = 1182
+X86_INS_VPGATHERDQ = 1183
+X86_INS_VPGATHERQD = 1184
+X86_INS_VPGATHERQQ = 1185
+X86_INS_VPHADDBD = 1186
+X86_INS_VPHADDBQ = 1187
+X86_INS_VPHADDBW = 1188
+X86_INS_VPHADDDQ = 1189
+X86_INS_VPHADDD = 1190
+X86_INS_VPHADDSW = 1191
+X86_INS_VPHADDUBD = 1192
+X86_INS_VPHADDUBQ = 1193
+X86_INS_VPHADDUBW = 1194
+X86_INS_VPHADDUDQ = 1195
+X86_INS_VPHADDUWD = 1196
+X86_INS_VPHADDUWQ = 1197
+X86_INS_VPHADDWD = 1198
+X86_INS_VPHADDWQ = 1199
+X86_INS_VPHADDW = 1200
+X86_INS_VPHMINPOSUW = 1201
+X86_INS_VPHSUBBW = 1202
+X86_INS_VPHSUBDQ = 1203
+X86_INS_VPHSUBD = 1204
+X86_INS_VPHSUBSW = 1205
+X86_INS_VPHSUBWD = 1206
+X86_INS_VPHSUBW = 1207
+X86_INS_VPINSRB = 1208
+X86_INS_VPINSRD = 1209
+X86_INS_VPINSRQ = 1210
+X86_INS_VPINSRW = 1211
+X86_INS_VPLZCNTD = 1212
+X86_INS_VPLZCNTQ = 1213
+X86_INS_VPMACSDD = 1214
+X86_INS_VPMACSDQH = 1215
+X86_INS_VPMACSDQL = 1216
+X86_INS_VPMACSSDD = 1217
+X86_INS_VPMACSSDQH = 1218
+X86_INS_VPMACSSDQL = 1219
+X86_INS_VPMACSSWD = 1220
+X86_INS_VPMACSSWW = 1221
+X86_INS_VPMACSWD = 1222
+X86_INS_VPMACSWW = 1223
+X86_INS_VPMADCSSWD = 1224
+X86_INS_VPMADCSWD = 1225
+X86_INS_VPMADD52HUQ = 1226
+X86_INS_VPMADD52LUQ = 1227
+X86_INS_VPMADDUBSW = 1228
+X86_INS_VPMADDWD = 1229
+X86_INS_VPMASKMOVD = 1230
+X86_INS_VPMASKMOVQ = 1231
+X86_INS_VPMAXSB = 1232
+X86_INS_VPMAXSD = 1233
+X86_INS_VPMAXSQ = 1234
+X86_INS_VPMAXSW = 1235
+X86_INS_VPMAXUB = 1236
+X86_INS_VPMAXUD = 1237
+X86_INS_VPMAXUQ = 1238
+X86_INS_VPMAXUW = 1239
+X86_INS_VPMINSB = 1240
+X86_INS_VPMINSD = 1241
+X86_INS_VPMINSQ = 1242
+X86_INS_VPMINSW = 1243
+X86_INS_VPMINUB = 1244
+X86_INS_VPMINUD = 1245
+X86_INS_VPMINUQ = 1246
+X86_INS_VPMINUW = 1247
+X86_INS_VPMOVB2M = 1248
+X86_INS_VPMOVD2M = 1249
+X86_INS_VPMOVDB = 1250
+X86_INS_VPMOVDW = 1251
+X86_INS_VPMOVM2B = 1252
+X86_INS_VPMOVM2D = 1253
+X86_INS_VPMOVM2Q = 1254
+X86_INS_VPMOVM2W = 1255
+X86_INS_VPMOVMSKB = 1256
+X86_INS_VPMOVQ2M = 1257
+X86_INS_VPMOVQB = 1258
+X86_INS_VPMOVQD = 1259
+X86_INS_VPMOVQW = 1260
+X86_INS_VPMOVSDB = 1261
+X86_INS_VPMOVSDW = 1262
+X86_INS_VPMOVSQB = 1263
+X86_INS_VPMOVSQD = 1264
+X86_INS_VPMOVSQW = 1265
+X86_INS_VPMOVSWB = 1266
+X86_INS_VPMOVSXBD = 1267
+X86_INS_VPMOVSXBQ = 1268
+X86_INS_VPMOVSXBW = 1269
+X86_INS_VPMOVSXDQ = 1270
+X86_INS_VPMOVSXWD = 1271
+X86_INS_VPMOVSXWQ = 1272
+X86_INS_VPMOVUSDB = 1273
+X86_INS_VPMOVUSDW = 1274
+X86_INS_VPMOVUSQB = 1275
+X86_INS_VPMOVUSQD = 1276
+X86_INS_VPMOVUSQW = 1277
+X86_INS_VPMOVUSWB = 1278
+X86_INS_VPMOVW2M = 1279
+X86_INS_VPMOVWB = 1280
+X86_INS_VPMOVZXBD = 1281
+X86_INS_VPMOVZXBQ = 1282
+X86_INS_VPMOVZXBW = 1283
+X86_INS_VPMOVZXDQ = 1284
+X86_INS_VPMOVZXWD = 1285
+X86_INS_VPMOVZXWQ = 1286
+X86_INS_VPMULDQ = 1287
+X86_INS_VPMULHRSW = 1288
+X86_INS_VPMULHUW = 1289
+X86_INS_VPMULHW = 1290
+X86_INS_VPMULLD = 1291
+X86_INS_VPMULLQ = 1292
+X86_INS_VPMULLW = 1293
+X86_INS_VPMULTISHIFTQB = 1294
+X86_INS_VPMULUDQ = 1295
+X86_INS_VPOPCNTB = 1296
+X86_INS_VPOPCNTD = 1297
+X86_INS_VPOPCNTQ = 1298
+X86_INS_VPOPCNTW = 1299
+X86_INS_VPORD = 1300
+X86_INS_VPORQ = 1301
+X86_INS_VPOR = 1302
+X86_INS_VPPERM = 1303
+X86_INS_VPROLD = 1304
+X86_INS_VPROLQ = 1305
+X86_INS_VPROLVD = 1306
+X86_INS_VPROLVQ = 1307
+X86_INS_VPRORD = 1308
+X86_INS_VPRORQ = 1309
+X86_INS_VPRORVD = 1310
+X86_INS_VPRORVQ = 1311
+X86_INS_VPROTB = 1312
+X86_INS_VPROTD = 1313
+X86_INS_VPROTQ = 1314
+X86_INS_VPROTW = 1315
+X86_INS_VPSADBW = 1316
+X86_INS_VPSCATTERDD = 1317
+X86_INS_VPSCATTERDQ = 1318
+X86_INS_VPSCATTERQD = 1319
+X86_INS_VPSCATTERQQ = 1320
+X86_INS_VPSHAB = 1321
+X86_INS_VPSHAD = 1322
+X86_INS_VPSHAQ = 1323
+X86_INS_VPSHAW = 1324
+X86_INS_VPSHLB = 1325
+X86_INS_VPSHLDD = 1326
+X86_INS_VPSHLDQ = 1327
+X86_INS_VPSHLDVD = 1328
+X86_INS_VPSHLDVQ = 1329
+X86_INS_VPSHLDVW = 1330
+X86_INS_VPSHLDW = 1331
+X86_INS_VPSHLD = 1332
+X86_INS_VPSHLQ = 1333
+X86_INS_VPSHLW = 1334
+X86_INS_VPSHRDD = 1335
+X86_INS_VPSHRDQ = 1336
+X86_INS_VPSHRDVD = 1337
+X86_INS_VPSHRDVQ = 1338
+X86_INS_VPSHRDVW = 1339
+X86_INS_VPSHRDW = 1340
+X86_INS_VPSHUFBITQMB = 1341
+X86_INS_VPSHUFB = 1342
+X86_INS_VPSHUFD = 1343
+X86_INS_VPSHUFHW = 1344
+X86_INS_VPSHUFLW = 1345
+X86_INS_VPSIGNB = 1346
+X86_INS_VPSIGND = 1347
+X86_INS_VPSIGNW = 1348
+X86_INS_VPSLLDQ = 1349
+X86_INS_VPSLLD = 1350
+X86_INS_VPSLLQ = 1351
+X86_INS_VPSLLVD = 1352
+X86_INS_VPSLLVQ = 1353
+X86_INS_VPSLLVW = 1354
+X86_INS_VPSLLW = 1355
+X86_INS_VPSRAD = 1356
+X86_INS_VPSRAQ = 1357
+X86_INS_VPSRAVD = 1358
+X86_INS_VPSRAVQ = 1359
+X86_INS_VPSRAVW = 1360
+X86_INS_VPSRAW = 1361
+X86_INS_VPSRLDQ = 1362
+X86_INS_VPSRLD = 1363
+X86_INS_VPSRLQ = 1364
+X86_INS_VPSRLVD = 1365
+X86_INS_VPSRLVQ = 1366
+X86_INS_VPSRLVW = 1367
+X86_INS_VPSRLW = 1368
+X86_INS_VPSUBB = 1369
+X86_INS_VPSUBD = 1370
+X86_INS_VPSUBQ = 1371
+X86_INS_VPSUBSB = 1372
+X86_INS_VPSUBSW = 1373
+X86_INS_VPSUBUSB = 1374
+X86_INS_VPSUBUSW = 1375
+X86_INS_VPSUBW = 1376
+X86_INS_VPTERNLOGD = 1377
+X86_INS_VPTERNLOGQ = 1378
+X86_INS_VPTESTMB = 1379
+X86_INS_VPTESTMD = 1380
+X86_INS_VPTESTMQ = 1381
+X86_INS_VPTESTMW = 1382
+X86_INS_VPTESTNMB = 1383
+X86_INS_VPTESTNMD = 1384
+X86_INS_VPTESTNMQ = 1385
+X86_INS_VPTESTNMW = 1386
+X86_INS_VPTEST = 1387
+X86_INS_VPUNPCKHBW = 1388
+X86_INS_VPUNPCKHDQ = 1389
+X86_INS_VPUNPCKHQDQ = 1390
+X86_INS_VPUNPCKHWD = 1391
+X86_INS_VPUNPCKLBW = 1392
+X86_INS_VPUNPCKLDQ = 1393
+X86_INS_VPUNPCKLQDQ = 1394
+X86_INS_VPUNPCKLWD = 1395
+X86_INS_VPXORD = 1396
+X86_INS_VPXORQ = 1397
+X86_INS_VPXOR = 1398
+X86_INS_VRANGEPD = 1399
+X86_INS_VRANGEPS = 1400
+X86_INS_VRANGESD = 1401
+X86_INS_VRANGESS = 1402
+X86_INS_VRCP14PD = 1403
+X86_INS_VRCP14PS = 1404
+X86_INS_VRCP14SD = 1405
+X86_INS_VRCP14SS = 1406
+X86_INS_VRCP28PD = 1407
+X86_INS_VRCP28PS = 1408
+X86_INS_VRCP28SD = 1409
+X86_INS_VRCP28SS = 1410
+X86_INS_VRCPPS = 1411
+X86_INS_VRCPSS = 1412
+X86_INS_VREDUCEPD = 1413
+X86_INS_VREDUCEPS = 1414
+X86_INS_VREDUCESD = 1415
+X86_INS_VREDUCESS = 1416
+X86_INS_VRNDSCALEPD = 1417
+X86_INS_VRNDSCALEPS = 1418
+X86_INS_VRNDSCALESD = 1419
+X86_INS_VRNDSCALESS = 1420
+X86_INS_VROUNDPD = 1421
+X86_INS_VROUNDPS = 1422
+X86_INS_VROUNDSD = 1423
+X86_INS_VROUNDSS = 1424
+X86_INS_VRSQRT14PD = 1425
+X86_INS_VRSQRT14PS = 1426
+X86_INS_VRSQRT14SD = 1427
+X86_INS_VRSQRT14SS = 1428
+X86_INS_VRSQRT28PD = 1429
+X86_INS_VRSQRT28PS = 1430
+X86_INS_VRSQRT28SD = 1431
+X86_INS_VRSQRT28SS = 1432
+X86_INS_VRSQRTPS = 1433
+X86_INS_VRSQRTSS = 1434
+X86_INS_VSCALEFPD = 1435
+X86_INS_VSCALEFPS = 1436
+X86_INS_VSCALEFSD = 1437
+X86_INS_VSCALEFSS = 1438
+X86_INS_VSCATTERDPD = 1439
+X86_INS_VSCATTERDPS = 1440
+X86_INS_VSCATTERPF0DPD = 1441
+X86_INS_VSCATTERPF0DPS = 1442
+X86_INS_VSCATTERPF0QPD = 1443
+X86_INS_VSCATTERPF0QPS = 1444
+X86_INS_VSCATTERPF1DPD = 1445
+X86_INS_VSCATTERPF1DPS = 1446
+X86_INS_VSCATTERPF1QPD = 1447
+X86_INS_VSCATTERPF1QPS = 1448
+X86_INS_VSCATTERQPD = 1449
+X86_INS_VSCATTERQPS = 1450
+X86_INS_VSHUFF32X4 = 1451
+X86_INS_VSHUFF64X2 = 1452
+X86_INS_VSHUFI32X4 = 1453
+X86_INS_VSHUFI64X2 = 1454
+X86_INS_VSHUFPD = 1455
+X86_INS_VSHUFPS = 1456
+X86_INS_VSQRTPD = 1457
+X86_INS_VSQRTPS = 1458
+X86_INS_VSQRTSD = 1459
+X86_INS_VSQRTSS = 1460
+X86_INS_VSTMXCSR = 1461
+X86_INS_VSUBPD = 1462
+X86_INS_VSUBPS = 1463
+X86_INS_VSUBSD = 1464
+X86_INS_VSUBSS = 1465
+X86_INS_VTESTPD = 1466
+X86_INS_VTESTPS = 1467
+X86_INS_VUCOMISD = 1468
+X86_INS_VUCOMISS = 1469
+X86_INS_VUNPCKHPD = 1470
+X86_INS_VUNPCKHPS = 1471
+X86_INS_VUNPCKLPD = 1472
+X86_INS_VUNPCKLPS = 1473
+X86_INS_VXORPD = 1474
+X86_INS_VXORPS = 1475
+X86_INS_VZEROALL = 1476
+X86_INS_VZEROUPPER = 1477
+X86_INS_WAIT = 1478
+X86_INS_WBINVD = 1479
+X86_INS_WBNOINVD = 1480
+X86_INS_WRFSBASE = 1481
+X86_INS_WRGSBASE = 1482
+X86_INS_WRMSR = 1483
+X86_INS_WRPKRU = 1484
+X86_INS_WRSSD = 1485
+X86_INS_WRSSQ = 1486
+X86_INS_WRUSSD = 1487
+X86_INS_WRUSSQ = 1488
+X86_INS_XABORT = 1489
+X86_INS_XACQUIRE = 1490
+X86_INS_XADD = 1491
+X86_INS_XBEGIN = 1492
+X86_INS_XCHG = 1493
+X86_INS_FXCH = 1494
+X86_INS_XCRYPTCBC = 1495
+X86_INS_XCRYPTCFB = 1496
+X86_INS_XCRYPTCTR = 1497
+X86_INS_XCRYPTECB = 1498
+X86_INS_XCRYPTOFB = 1499
+X86_INS_XEND = 1500
+X86_INS_XGETBV = 1501
+X86_INS_XLATB = 1502
+X86_INS_XOR = 1503
+X86_INS_XORPD = 1504
+X86_INS_XORPS = 1505
+X86_INS_XRELEASE = 1506
+X86_INS_XRSTOR = 1507
+X86_INS_XRSTOR64 = 1508
+X86_INS_XRSTORS = 1509
+X86_INS_XRSTORS64 = 1510
+X86_INS_XSAVE = 1511
+X86_INS_XSAVE64 = 1512
+X86_INS_XSAVEC = 1513
+X86_INS_XSAVEC64 = 1514
+X86_INS_XSAVEOPT = 1515
+X86_INS_XSAVEOPT64 = 1516
+X86_INS_XSAVES = 1517
+X86_INS_XSAVES64 = 1518
+X86_INS_XSETBV = 1519
+X86_INS_XSHA1 = 1520
+X86_INS_XSHA256 = 1521
+X86_INS_XSTORE = 1522
+X86_INS_XTEST = 1523
+X86_INS_ENDING = 1524
+
+X86_GRP_INVALID = 0
+X86_GRP_JUMP = 1
+X86_GRP_CALL = 2
+X86_GRP_RET = 3
+X86_GRP_INT = 4
+X86_GRP_IRET = 5
+X86_GRP_PRIVILEGE = 6
+X86_GRP_BRANCH_RELATIVE = 7
+X86_GRP_VM = 128
+X86_GRP_3DNOW = 129
+X86_GRP_AES = 130
+X86_GRP_ADX = 131
+X86_GRP_AVX = 132
+X86_GRP_AVX2 = 133
+X86_GRP_AVX512 = 134
+X86_GRP_BMI = 135
+X86_GRP_BMI2 = 136
+X86_GRP_CMOV = 137
+X86_GRP_F16C = 138
+X86_GRP_FMA = 139
+X86_GRP_FMA4 = 140
+X86_GRP_FSGSBASE = 141
+X86_GRP_HLE = 142
+X86_GRP_MMX = 143
+X86_GRP_MODE32 = 144
+X86_GRP_MODE64 = 145
+X86_GRP_RTM = 146
+X86_GRP_SHA = 147
+X86_GRP_SSE1 = 148
+X86_GRP_SSE2 = 149
+X86_GRP_SSE3 = 150
+X86_GRP_SSE41 = 151
+X86_GRP_SSE42 = 152
+X86_GRP_SSE4A = 153
+X86_GRP_SSSE3 = 154
+X86_GRP_PCLMUL = 155
+X86_GRP_XOP = 156
+X86_GRP_CDI = 157
+X86_GRP_ERI = 158
+X86_GRP_TBM = 159
+X86_GRP_16BITMODE = 160
+X86_GRP_NOT64BITMODE = 161
+X86_GRP_SGX = 162
+X86_GRP_DQI = 163
+X86_GRP_BWI = 164
+X86_GRP_PFI = 165
+X86_GRP_VLX = 166
+X86_GRP_SMAP = 167
+X86_GRP_NOVLX = 168
+X86_GRP_FPU = 169
+X86_GRP_ENDING = 170
diff --git a/capstone/bindings/python/capstone/xcore.py b/capstone/bindings/python/capstone/xcore.py
new file mode 100644
index 000000000..ec95b78bc
--- /dev/null
+++ b/capstone/bindings/python/capstone/xcore.py
@@ -0,0 +1,50 @@
+# Capstone Python bindings, by Nguyen Anh Quynnh <aquynh@gmail.com>
+
+import ctypes
+from . import copy_ctypes_list
+from .xcore_const import *
+
+# define the API
+class XcoreOpMem(ctypes.Structure):
+ _fields_ = (
+ ('base', ctypes.c_uint8),
+ ('index', ctypes.c_uint8),
+ ('disp', ctypes.c_int32),
+ ('direct', ctypes.c_int),
+ )
+
+class XcoreOpValue(ctypes.Union):
+ _fields_ = (
+ ('reg', ctypes.c_uint),
+ ('imm', ctypes.c_int32),
+ ('mem', XcoreOpMem),
+ )
+
+class XcoreOp(ctypes.Structure):
+ _fields_ = (
+ ('type', ctypes.c_uint),
+ ('value', XcoreOpValue),
+ )
+
+ @property
+ def imm(self):
+ return self.value.imm
+
+ @property
+ def reg(self):
+ return self.value.reg
+
+ @property
+ def mem(self):
+ return self.value.mem
+
+
+class CsXcore(ctypes.Structure):
+ _fields_ = (
+ ('op_count', ctypes.c_uint8),
+ ('operands', XcoreOp * 8),
+ )
+
+def get_arch_info(a):
+ return (copy_ctypes_list(a.operands[:a.op_count]))
+
diff --git a/capstone/bindings/python/capstone/xcore_const.py b/capstone/bindings/python/capstone/xcore_const.py
new file mode 100644
index 000000000..f1b74855d
--- /dev/null
+++ b/capstone/bindings/python/capstone/xcore_const.py
@@ -0,0 +1,161 @@
+# For Capstone Engine. AUTO-GENERATED FILE, DO NOT EDIT [xcore_const.py]
+
+XCORE_OP_INVALID = 0
+XCORE_OP_REG = 1
+XCORE_OP_IMM = 2
+XCORE_OP_MEM = 3
+
+XCORE_REG_INVALID = 0
+XCORE_REG_CP = 1
+XCORE_REG_DP = 2
+XCORE_REG_LR = 3
+XCORE_REG_SP = 4
+XCORE_REG_R0 = 5
+XCORE_REG_R1 = 6
+XCORE_REG_R2 = 7
+XCORE_REG_R3 = 8
+XCORE_REG_R4 = 9
+XCORE_REG_R5 = 10
+XCORE_REG_R6 = 11
+XCORE_REG_R7 = 12
+XCORE_REG_R8 = 13
+XCORE_REG_R9 = 14
+XCORE_REG_R10 = 15
+XCORE_REG_R11 = 16
+XCORE_REG_PC = 17
+XCORE_REG_SCP = 18
+XCORE_REG_SSR = 19
+XCORE_REG_ET = 20
+XCORE_REG_ED = 21
+XCORE_REG_SED = 22
+XCORE_REG_KEP = 23
+XCORE_REG_KSP = 24
+XCORE_REG_ID = 25
+XCORE_REG_ENDING = 26
+
+XCORE_INS_INVALID = 0
+XCORE_INS_ADD = 1
+XCORE_INS_ANDNOT = 2
+XCORE_INS_AND = 3
+XCORE_INS_ASHR = 4
+XCORE_INS_BAU = 5
+XCORE_INS_BITREV = 6
+XCORE_INS_BLA = 7
+XCORE_INS_BLAT = 8
+XCORE_INS_BL = 9
+XCORE_INS_BF = 10
+XCORE_INS_BT = 11
+XCORE_INS_BU = 12
+XCORE_INS_BRU = 13
+XCORE_INS_BYTEREV = 14
+XCORE_INS_CHKCT = 15
+XCORE_INS_CLRE = 16
+XCORE_INS_CLRPT = 17
+XCORE_INS_CLRSR = 18
+XCORE_INS_CLZ = 19
+XCORE_INS_CRC8 = 20
+XCORE_INS_CRC32 = 21
+XCORE_INS_DCALL = 22
+XCORE_INS_DENTSP = 23
+XCORE_INS_DGETREG = 24
+XCORE_INS_DIVS = 25
+XCORE_INS_DIVU = 26
+XCORE_INS_DRESTSP = 27
+XCORE_INS_DRET = 28
+XCORE_INS_ECALLF = 29
+XCORE_INS_ECALLT = 30
+XCORE_INS_EDU = 31
+XCORE_INS_EEF = 32
+XCORE_INS_EET = 33
+XCORE_INS_EEU = 34
+XCORE_INS_ENDIN = 35
+XCORE_INS_ENTSP = 36
+XCORE_INS_EQ = 37
+XCORE_INS_EXTDP = 38
+XCORE_INS_EXTSP = 39
+XCORE_INS_FREER = 40
+XCORE_INS_FREET = 41
+XCORE_INS_GETD = 42
+XCORE_INS_GET = 43
+XCORE_INS_GETN = 44
+XCORE_INS_GETR = 45
+XCORE_INS_GETSR = 46
+XCORE_INS_GETST = 47
+XCORE_INS_GETTS = 48
+XCORE_INS_INCT = 49
+XCORE_INS_INIT = 50
+XCORE_INS_INPW = 51
+XCORE_INS_INSHR = 52
+XCORE_INS_INT = 53
+XCORE_INS_IN = 54
+XCORE_INS_KCALL = 55
+XCORE_INS_KENTSP = 56
+XCORE_INS_KRESTSP = 57
+XCORE_INS_KRET = 58
+XCORE_INS_LADD = 59
+XCORE_INS_LD16S = 60
+XCORE_INS_LD8U = 61
+XCORE_INS_LDA16 = 62
+XCORE_INS_LDAP = 63
+XCORE_INS_LDAW = 64
+XCORE_INS_LDC = 65
+XCORE_INS_LDW = 66
+XCORE_INS_LDIVU = 67
+XCORE_INS_LMUL = 68
+XCORE_INS_LSS = 69
+XCORE_INS_LSUB = 70
+XCORE_INS_LSU = 71
+XCORE_INS_MACCS = 72
+XCORE_INS_MACCU = 73
+XCORE_INS_MJOIN = 74
+XCORE_INS_MKMSK = 75
+XCORE_INS_MSYNC = 76
+XCORE_INS_MUL = 77
+XCORE_INS_NEG = 78
+XCORE_INS_NOT = 79
+XCORE_INS_OR = 80
+XCORE_INS_OUTCT = 81
+XCORE_INS_OUTPW = 82
+XCORE_INS_OUTSHR = 83
+XCORE_INS_OUTT = 84
+XCORE_INS_OUT = 85
+XCORE_INS_PEEK = 86
+XCORE_INS_REMS = 87
+XCORE_INS_REMU = 88
+XCORE_INS_RETSP = 89
+XCORE_INS_SETCLK = 90
+XCORE_INS_SET = 91
+XCORE_INS_SETC = 92
+XCORE_INS_SETD = 93
+XCORE_INS_SETEV = 94
+XCORE_INS_SETN = 95
+XCORE_INS_SETPSC = 96
+XCORE_INS_SETPT = 97
+XCORE_INS_SETRDY = 98
+XCORE_INS_SETSR = 99
+XCORE_INS_SETTW = 100
+XCORE_INS_SETV = 101
+XCORE_INS_SEXT = 102
+XCORE_INS_SHL = 103
+XCORE_INS_SHR = 104
+XCORE_INS_SSYNC = 105
+XCORE_INS_ST16 = 106
+XCORE_INS_ST8 = 107
+XCORE_INS_STW = 108
+XCORE_INS_SUB = 109
+XCORE_INS_SYNCR = 110
+XCORE_INS_TESTCT = 111
+XCORE_INS_TESTLCL = 112
+XCORE_INS_TESTWCT = 113
+XCORE_INS_TSETMR = 114
+XCORE_INS_START = 115
+XCORE_INS_WAITEF = 116
+XCORE_INS_WAITET = 117
+XCORE_INS_WAITEU = 118
+XCORE_INS_XOR = 119
+XCORE_INS_ZEXT = 120
+XCORE_INS_ENDING = 121
+
+XCORE_GRP_INVALID = 0
+XCORE_GRP_JUMP = 1
+XCORE_GRP_ENDING = 2
diff --git a/capstone/bindings/python/prebuilt/.gitkeep b/capstone/bindings/python/prebuilt/.gitkeep
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/capstone/bindings/python/prebuilt/.gitkeep
diff --git a/capstone/bindings/python/pyx/README b/capstone/bindings/python/pyx/README
new file mode 100644
index 000000000..2b8862015
--- /dev/null
+++ b/capstone/bindings/python/pyx/README
@@ -0,0 +1 @@
+This directory contains Cython files.
diff --git a/capstone/bindings/python/pyx/ccapstone.pxd b/capstone/bindings/python/pyx/ccapstone.pxd
new file mode 100644
index 000000000..8b163f2f6
--- /dev/null
+++ b/capstone/bindings/python/pyx/ccapstone.pxd
@@ -0,0 +1,72 @@
+# By Dang Hoang Vu <danghvu@gmail.com>, 2014
+
+from libcpp cimport bool
+from libc.stdint cimport uint8_t, uint64_t, uint16_t
+
+cdef extern from "<capstone/capstone.h>":
+
+ ctypedef size_t csh
+
+ ctypedef enum cs_mode:
+ pass
+
+ ctypedef enum cs_arch:
+ pass
+
+ ctypedef struct cs_detail:
+ pass
+
+ ctypedef struct cs_insn:
+ unsigned int id
+ uint64_t address
+ uint16_t size
+ uint8_t bytes[24]
+ char mnemonic[32]
+ char op_str[160]
+ cs_detail *detail
+
+ ctypedef enum cs_err:
+ pass
+
+ ctypedef enum cs_opt_type:
+ pass
+
+ unsigned int cs_version(int *major, int *minor)
+
+ bool cs_support(int arch)
+
+ cs_err cs_open(cs_arch arch, cs_mode mode, csh *handle)
+
+ cs_err cs_close(csh *handle)
+
+ cs_err cs_errno(csh handle)
+
+ size_t cs_disasm(csh handle,
+ const uint8_t *code, size_t code_size,
+ uint64_t address,
+ size_t count,
+ cs_insn **insn)
+
+ cs_err cs_option(csh handle, cs_opt_type type, size_t value)
+
+ void cs_free(cs_insn *insn, size_t count)
+
+ const char *cs_reg_name(csh handle, unsigned int reg_id)
+
+ const char *cs_insn_name(csh handle, unsigned int insn_id)
+
+ const char *cs_group_name(csh handle, unsigned int group_id)
+
+ bool cs_insn_group(csh handle, cs_insn *insn, unsigned int group_id)
+
+ bool cs_reg_read(csh handle, cs_insn *insn, unsigned int reg_id)
+
+ bool cs_reg_write(csh handle, cs_insn *insn, unsigned int reg_id)
+
+ int cs_op_count(csh handle, cs_insn *insn, unsigned int op_type)
+
+ cs_err cs_regs_access(csh handle, cs_insn *insn, uint16_t *regs_read, uint8_t *read_count, uint16_t *regs_write, uint8_t *write_count)
+
+ int cs_op_index(csh handle, cs_insn *insn, unsigned int op_type,
+ unsigned int position)
+
diff --git a/capstone/bindings/python/setup.py b/capstone/bindings/python/setup.py
new file mode 100755
index 000000000..55934b5e0
--- /dev/null
+++ b/capstone/bindings/python/setup.py
@@ -0,0 +1,233 @@
+#!/usr/bin/env python
+
+import glob
+import os
+import shutil
+import sys
+import platform
+
+from distutils import log
+from setuptools import setup
+from distutils.util import get_platform
+from distutils.command.build import build
+from distutils.command.sdist import sdist
+from setuptools.command.bdist_egg import bdist_egg
+
+SYSTEM = sys.platform
+
+# adapted from commit e504b81 of Nguyen Tan Cong
+# Reference: https://docs.python.org/2/library/platform.html#cross-platform
+IS_64BITS = sys.maxsize > 2**32
+
+# are we building from the repository or from a source distribution?
+ROOT_DIR = os.path.dirname(os.path.realpath(__file__))
+LIBS_DIR = os.path.join(ROOT_DIR, 'capstone', 'lib')
+HEADERS_DIR = os.path.join(ROOT_DIR, 'capstone', 'include')
+SRC_DIR = os.path.join(ROOT_DIR, 'src')
+BUILD_DIR = SRC_DIR if os.path.exists(SRC_DIR) else os.path.join(ROOT_DIR, '../..')
+
+# Parse version from pkgconfig.mk
+VERSION_DATA = {}
+with open(os.path.join(BUILD_DIR, 'pkgconfig.mk')) as fp:
+ lines = fp.readlines()
+ for line in lines:
+ line = line.strip()
+ if len(line) == 0:
+ continue
+ if line.startswith('#'):
+ continue
+ if '=' not in line:
+ continue
+
+ k, v = line.split('=', 1)
+ k = k.strip()
+ v = v.strip()
+ if len(k) == 0 or len(v) == 0:
+ continue
+ VERSION_DATA[k] = v
+
+if 'PKG_MAJOR' not in VERSION_DATA or \
+ 'PKG_MINOR' not in VERSION_DATA or \
+ 'PKG_EXTRA' not in VERSION_DATA:
+ raise Exception("Malformed pkgconfig.mk")
+
+if 'PKG_TAG' in VERSION_DATA:
+ VERSION = '{PKG_MAJOR}.{PKG_MINOR}.{PKG_EXTRA}.{PKG_TAG}'.format(**VERSION_DATA)
+else:
+ VERSION = '{PKG_MAJOR}.{PKG_MINOR}.{PKG_EXTRA}'.format(**VERSION_DATA)
+
+if SYSTEM == 'darwin':
+ VERSIONED_LIBRARY_FILE = "libcapstone.{PKG_MAJOR}.dylib".format(**VERSION_DATA)
+ LIBRARY_FILE = "libcapstone.dylib"
+ STATIC_LIBRARY_FILE = 'libcapstone.a'
+elif SYSTEM in ('win32', 'cygwin'):
+ VERSIONED_LIBRARY_FILE = "capstone.dll"
+ LIBRARY_FILE = "capstone.dll"
+ STATIC_LIBRARY_FILE = None
+else:
+ VERSIONED_LIBRARY_FILE = "libcapstone.so.{PKG_MAJOR}".format(**VERSION_DATA)
+ LIBRARY_FILE = "libcapstone.so"
+ STATIC_LIBRARY_FILE = 'libcapstone.a'
+
+def clean_bins():
+ shutil.rmtree(LIBS_DIR, ignore_errors=True)
+ shutil.rmtree(HEADERS_DIR, ignore_errors=True)
+
+def copy_sources():
+ """Copy the C sources into the source directory.
+ This rearranges the source files under the python distribution
+ directory.
+ """
+ src = []
+
+ try:
+ shutil.rmtree("src/")
+ except (IOError, OSError):
+ pass
+
+ shutil.copytree(os.path.join(BUILD_DIR, "arch"), os.path.join(SRC_DIR, "arch"))
+ shutil.copytree(os.path.join(BUILD_DIR, "include"), os.path.join(SRC_DIR, "include"))
+
+ src.extend(glob.glob(os.path.join(BUILD_DIR, "*.[ch]")))
+ src.extend(glob.glob(os.path.join(BUILD_DIR, "*.mk")))
+
+ src.extend(glob.glob(os.path.join(BUILD_DIR, "Makefile")))
+ src.extend(glob.glob(os.path.join(BUILD_DIR, "LICENSE*")))
+ src.extend(glob.glob(os.path.join(BUILD_DIR, "README")))
+ src.extend(glob.glob(os.path.join(BUILD_DIR, "*.TXT")))
+ src.extend(glob.glob(os.path.join(BUILD_DIR, "RELEASE_NOTES")))
+ src.extend(glob.glob(os.path.join(BUILD_DIR, "make.sh")))
+ src.extend(glob.glob(os.path.join(BUILD_DIR, "CMakeLists.txt")))
+ src.extend(glob.glob(os.path.join(BUILD_DIR, "pkgconfig.mk")))
+
+ for filename in src:
+ outpath = os.path.join(SRC_DIR, os.path.basename(filename))
+ log.info("%s -> %s" % (filename, outpath))
+ shutil.copy(filename, outpath)
+
+def build_libraries():
+ """
+ Prepare the capstone directory for a binary distribution or installation.
+ Builds shared libraries and copies header files.
+
+ Will use a src/ dir if one exists in the current directory, otherwise assumes it's in the repo
+ """
+ cwd = os.getcwd()
+ clean_bins()
+ os.mkdir(HEADERS_DIR)
+ os.mkdir(LIBS_DIR)
+
+ # copy public headers
+ shutil.copytree(os.path.join(BUILD_DIR, 'include', 'capstone'), os.path.join(HEADERS_DIR, 'capstone'))
+
+ # if prebuilt libraries are available, use those and cancel build
+ if os.path.exists(os.path.join(ROOT_DIR, 'prebuilt', LIBRARY_FILE)) and \
+ (not STATIC_LIBRARY_FILE or os.path.exists(os.path.join(ROOT_DIR, 'prebuilt', STATIC_LIBRARY_FILE))):
+ shutil.copy(os.path.join(ROOT_DIR, 'prebuilt', LIBRARY_FILE), LIBS_DIR)
+ if STATIC_LIBRARY_FILE is not None:
+ shutil.copy(os.path.join(ROOT_DIR, 'prebuilt', STATIC_LIBRARY_FILE), LIBS_DIR)
+ return
+
+ os.chdir(BUILD_DIR)
+
+ # platform description refers at https://docs.python.org/2/library/sys.html#sys.platform
+ if SYSTEM == "win32":
+ # Windows build: this process requires few things:
+ # - CMake + MSVC installed
+ # - Run this command in an environment setup for MSVC
+ if not os.path.exists("build"): os.mkdir("build")
+ os.chdir("build")
+ # Do not build tests & static library
+ os.system('cmake -DCMAKE_BUILD_TYPE=RELEASE -DCAPSTONE_BUILD_TESTS=0 -DCAPSTONE_BUILD_STATIC=0 -G "NMake Makefiles" ..')
+ os.system("nmake")
+ else: # Unix incl. cygwin
+ os.system("CAPSTONE_BUILD_CORE_ONLY=yes bash ./make.sh")
+
+ shutil.copy(VERSIONED_LIBRARY_FILE, os.path.join(LIBS_DIR, LIBRARY_FILE))
+
+ # only copy static library if it exists (it's a build option)
+ if STATIC_LIBRARY_FILE and os.path.exists(STATIC_LIBRARY_FILE):
+ shutil.copy(STATIC_LIBRARY_FILE, LIBS_DIR)
+ os.chdir(cwd)
+
+
+class custom_sdist(sdist):
+ def run(self):
+ clean_bins()
+ copy_sources()
+ return sdist.run(self)
+
+
+class custom_build(build):
+ def run(self):
+ if 'LIBCAPSTONE_PATH' in os.environ:
+ log.info('Skipping building C extensions since LIBCAPSTONE_PATH is set')
+ else:
+ log.info('Building C extensions')
+ build_libraries()
+ return build.run(self)
+
+
+class custom_bdist_egg(bdist_egg):
+ def run(self):
+ self.run_command('build')
+ return bdist_egg.run(self)
+
+def dummy_src():
+ return []
+
+cmdclass = {}
+cmdclass['build'] = custom_build
+cmdclass['sdist'] = custom_sdist
+cmdclass['bdist_egg'] = custom_bdist_egg
+
+try:
+ from setuptools.command.develop import develop
+ class custom_develop(develop):
+ def run(self):
+ log.info("Building C extensions")
+ build_libraries()
+ return develop.run(self)
+
+ cmdclass['develop'] = custom_develop
+except ImportError:
+ print("Proper 'develop' support unavailable.")
+
+if 'bdist_wheel' in sys.argv and '--plat-name' not in sys.argv:
+ idx = sys.argv.index('bdist_wheel') + 1
+ sys.argv.insert(idx, '--plat-name')
+ name = get_platform()
+ if 'linux' in name:
+ # linux_* platform tags are disallowed because the python ecosystem is fubar
+ # linux builds should be built in the centos 5 vm for maximum compatibility
+ # see https://github.com/pypa/manylinux
+ # see also https://github.com/angr/angr-dev/blob/master/bdist.sh
+ sys.argv.insert(idx + 1, 'manylinux1_' + platform.machine())
+ else:
+ # https://www.python.org/dev/peps/pep-0425/
+ sys.argv.insert(idx + 1, name.replace('.', '_').replace('-', '_'))
+
+setup(
+ provides=['capstone'],
+ packages=['capstone'],
+ name='capstone',
+ version=VERSION,
+ author='Nguyen Anh Quynh',
+ author_email='aquynh@gmail.com',
+ description='Capstone disassembly engine',
+ url='http://www.capstone-engine.org',
+ python_requires='>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*',
+ classifiers=[
+ 'License :: OSI Approved :: BSD License',
+ 'Programming Language :: Python :: 2',
+ 'Programming Language :: Python :: 2.7',
+ 'Programming Language :: Python :: 3',
+ ],
+ requires=['ctypes'],
+ cmdclass=cmdclass,
+ zip_safe=True,
+ include_package_data=True,
+ package_data={
+ "capstone": ["lib/*", "include/capstone/*"],
+ }
+)
diff --git a/capstone/bindings/python/setup_cython.py b/capstone/bindings/python/setup_cython.py
new file mode 100644
index 000000000..d36769a02
--- /dev/null
+++ b/capstone/bindings/python/setup_cython.py
@@ -0,0 +1,144 @@
+import os
+import sys
+import shutil
+
+from distutils import log
+from distutils.core import setup
+from distutils.extension import Extension
+from distutils.command.build import build
+from Cython.Distutils import build_ext
+
+SYSTEM = sys.platform
+VERSION = '4.0.0'
+
+# adapted from commit e504b81 of Nguyen Tan Cong
+# Reference: https://docs.python.org/2/library/platform.html#cross-platform
+IS_64BITS = sys.maxsize > 2**32
+
+# are we building from the repository or from a source distribution?
+ROOT_DIR = os.path.dirname(os.path.realpath(__file__))
+LIBS_DIR = os.path.join(ROOT_DIR, 'pyx', 'lib')
+HEADERS_DIR = os.path.join(ROOT_DIR, 'pyx', 'include')
+SRC_DIR = os.path.join(ROOT_DIR, 'src')
+BUILD_DIR = SRC_DIR if os.path.exists(SRC_DIR) else os.path.join(ROOT_DIR, '../..')
+PYPACKAGE_DIR = os.path.join(ROOT_DIR, 'capstone')
+CYPACKAGE_DIR = os.path.join(ROOT_DIR, 'pyx')
+
+if SYSTEM == 'darwin':
+ VERSIONED_LIBRARY_FILE = "libcapstone.4.dylib"
+ LIBRARY_FILE = "libcapstone.dylib"
+ STATIC_LIBRARY_FILE = 'libcapstone.a'
+elif SYSTEM in ('win32', 'cygwin'):
+ VERSIONED_LIBRARY_FILE = "capstone.dll"
+ LIBRARY_FILE = "capstone.dll"
+ STATIC_LIBRARY_FILE = None
+else:
+ VERSIONED_LIBRARY_FILE = "libcapstone.so.4"
+ LIBRARY_FILE = "libcapstone.so"
+ STATIC_LIBRARY_FILE = 'libcapstone.a'
+
+compile_args = ['-O3', '-fomit-frame-pointer', '-I' + HEADERS_DIR]
+link_args = ['-L' + LIBS_DIR]
+
+ext_module_names = ['arm', 'arm_const', 'arm64', 'arm64_const', 'm68k', 'm68k_const', 'm680x', 'm680x_const', 'mips', 'mips_const', 'ppc', 'ppc_const', 'x86', 'x86_const', 'sparc', 'sparc_const', 'systemz', 'sysz_const', 'xcore', 'xcore_const', 'tms320c64x', 'tms320c64x_const', 'evm', 'evm_const' ]
+
+ext_modules = [Extension("capstone.ccapstone",
+ ["pyx/ccapstone.pyx"],
+ libraries=["capstone"],
+ extra_compile_args=compile_args,
+ extra_link_args=link_args)]
+ext_modules += [Extension("capstone.%s" % name,
+ ["pyx/%s.pyx" % name],
+ extra_compile_args=compile_args,
+ extra_link_args=link_args)
+ for name in ext_module_names]
+
+def clean_bins():
+ shutil.rmtree(LIBS_DIR, ignore_errors=True)
+ shutil.rmtree(HEADERS_DIR, ignore_errors=True)
+
+def copy_pysources():
+ for fname in os.listdir(PYPACKAGE_DIR):
+ if not fname.endswith('.py'):
+ continue
+
+ if fname == '__init__.py':
+ shutil.copy(os.path.join(PYPACKAGE_DIR, fname), os.path.join(CYPACKAGE_DIR, fname))
+ else:
+ shutil.copy(os.path.join(PYPACKAGE_DIR, fname), os.path.join(CYPACKAGE_DIR, fname + 'x'))
+
+def build_libraries():
+ """
+ Prepare the capstone directory for a binary distribution or installation.
+ Builds shared libraries and copies header files.
+
+ Will use a src/ dir if one exists in the current directory, otherwise assumes it's in the repo
+ """
+ cwd = os.getcwd()
+ clean_bins()
+ os.mkdir(HEADERS_DIR)
+ os.mkdir(LIBS_DIR)
+
+ # copy public headers
+ shutil.copytree(os.path.join(BUILD_DIR, 'include', 'capstone'), os.path.join(HEADERS_DIR, 'capstone'))
+
+ os.chdir(BUILD_DIR)
+
+ # platform description refers at https://docs.python.org/2/library/sys.html#sys.platform
+ if SYSTEM == "win32":
+ # Windows build: this process requires few things:
+ # - CMake + MSVC installed
+ # - Run this command in an environment setup for MSVC
+ if not os.path.exists("build"): os.mkdir("build")
+ os.chdir("build")
+ # Do not build tests & static library
+ os.system('cmake -DCMAKE_BUILD_TYPE=RELEASE -DCAPSTONE_BUILD_TESTS=0 -DCAPSTONE_BUILD_STATIC=0 -G "NMake Makefiles" ..')
+ os.system("nmake")
+ else: # Unix incl. cygwin
+ os.system("CAPSTONE_BUILD_CORE_ONLY=yes bash ./make.sh")
+
+ shutil.copy(VERSIONED_LIBRARY_FILE, os.path.join(LIBS_DIR, LIBRARY_FILE))
+ if STATIC_LIBRARY_FILE: shutil.copy(STATIC_LIBRARY_FILE, LIBS_DIR)
+ os.chdir(cwd)
+
+
+class custom_build(build):
+ def run(self):
+ log.info('Copying python sources')
+ copy_pysources()
+ log.info('Building C extensions')
+ build_libraries()
+ return build.run(self)
+
+# clean package directory first
+#import os.path, shutil, sys
+#for f in sys.path:
+# if f.endswith('packages'):
+# pkgdir = os.path.join(f, 'capstone')
+# #print(pkgdir)
+# try:
+# shutil.rmtree(pkgdir)
+# except:
+# pass
+
+setup(
+ provides = ['capstone'],
+ package_dir = {'capstone' : 'pyx'},
+ packages = ['capstone'],
+ name = 'capstone',
+ version = VERSION,
+ cmdclass = {'build_ext': build_ext, 'build': custom_build},
+ ext_modules = ext_modules,
+ author = 'Nguyen Anh Quynh',
+ author_email = 'aquynh@gmail.com',
+ description = 'Capstone disassembly engine',
+ url = 'http://www.capstone-engine.org',
+ classifiers = [
+ 'License :: OSI Approved :: BSD License',
+ 'Programming Language :: Python :: 2',
+ ],
+ include_package_data=True,
+ package_data={
+ "capstone": ["lib/*", "include/capstone/*"],
+ }
+)
diff --git a/capstone/bindings/python/test_all.py b/capstone/bindings/python/test_all.py
new file mode 100755
index 000000000..a01fc6598
--- /dev/null
+++ b/capstone/bindings/python/test_all.py
@@ -0,0 +1,24 @@
+#!/usr/bin/env python
+
+import test_basic, test_arm, test_arm64, test_detail, test_lite, test_m68k, test_mips, \
+ test_ppc, test_x86, test_skipdata, test_sparc, test_systemz, test_tms320c64x, test_customized_mnem, \
+ test_m680x, test_mos65xx, test_xcore, test_riscv
+
+test_basic.test_class()
+test_arm.test_class()
+test_arm64.test_class()
+test_detail.test_class()
+test_lite.test_class()
+test_m68k.test_class()
+test_mips.test_class()
+test_mos65xx.test_class()
+test_ppc.test_class()
+test_sparc.test_class()
+test_systemz.test_class()
+test_x86.test_class()
+test_tms320c64x.test_class()
+test_m680x.test_class()
+test_skipdata.test_class()
+test_customized_mnem.test()
+test_xcore.test_class()
+test_riscv.test_class()
diff --git a/capstone/bindings/python/test_arm.py b/capstone/bindings/python/test_arm.py
new file mode 100755
index 000000000..8f11ce433
--- /dev/null
+++ b/capstone/bindings/python/test_arm.py
@@ -0,0 +1,151 @@
+#!/usr/bin/env python
+
+# Capstone Python bindings, by Nguyen Anh Quynnh <aquynh@gmail.com>
+
+from __future__ import print_function
+from capstone import *
+from capstone.arm import *
+from xprint import to_hex, to_x_32
+
+
+ARM_CODE = b"\x86\x48\x60\xf4\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\x00\x02\x01\xf1\x05\x40\xd0\xe8\xf4\x80\x00\x00"
+ARM_CODE2 = b"\xd1\xe8\x00\xf0\xf0\x24\x04\x07\x1f\x3c\xf2\xc0\x00\x00\x4f\xf0\x00\x01\x46\x6c"
+THUMB_CODE = b"\x70\x47\x00\xf0\x10\xe8\xeb\x46\x83\xb0\xc9\x68\x1f\xb1\x30\xbf\xaf\xf3\x20\x84\x52\xf8\x23\xf0"
+THUMB_CODE2 = b"\x4f\xf0\x00\x01\xbd\xe8\x00\x88\xd1\xe8\x00\xf0\x18\xbf\xad\xbf\xf3\xff\x0b\x0c\x86\xf3\x00\x89\x80\xf3\x00\x8c\x4f\xfa\x99\xf6\xd0\xff\xa2\x01"
+THUMB_MCLASS = b"\xef\xf3\x02\x80"
+ARMV8 = b"\xe0\x3b\xb2\xee\x42\x00\x01\xe1\x51\xf0\x7f\xf5"
+
+all_tests = (
+ (CS_ARCH_ARM, CS_MODE_ARM, ARM_CODE, "ARM", None),
+ (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", None),
+ (CS_ARCH_ARM, CS_MODE_ARM + CS_MODE_V8, ARMV8, "Arm-V8", None),
+ )
+
+
+def print_insn_detail(insn):
+ # print address, mnemonic and operands
+ print("0x%x:\t%s\t%s" % (insn.address, insn.mnemonic, insn.op_str))
+
+ # "data" instruction generated by SKIPDATA option has no detail
+ if insn.id == 0:
+ return
+
+ if len(insn.operands) > 0:
+ print("\top_count: %u" % len(insn.operands))
+ c = 0
+ for i in insn.operands:
+ if i.type == ARM_OP_REG:
+ print("\t\toperands[%u].type: REG = %s" % (c, insn.reg_name(i.reg)))
+ if i.type == ARM_OP_IMM:
+ print("\t\toperands[%u].type: IMM = 0x%s" % (c, to_x_32(i.imm)))
+ if i.type == ARM_OP_PIMM:
+ print("\t\toperands[%u].type: P-IMM = %u" % (c, i.imm))
+ if i.type == ARM_OP_CIMM:
+ print("\t\toperands[%u].type: C-IMM = %u" % (c, i.imm))
+ if i.type == ARM_OP_FP:
+ print("\t\toperands[%u].type: FP = %f" % (c, i.fp))
+ if i.type == ARM_OP_SYSREG:
+ print("\t\toperands[%u].type: SYSREG = %u" % (c, i.reg))
+ if i.type == ARM_OP_SETEND:
+ if i.setend == ARM_SETEND_BE:
+ print("\t\toperands[%u].type: SETEND = be" % c)
+ else:
+ print("\t\toperands[%u].type: SETEND = le" % c)
+ if i.type == ARM_OP_MEM:
+ print("\t\toperands[%u].type: MEM" % c)
+ if i.mem.base != 0:
+ print("\t\t\toperands[%u].mem.base: REG = %s" \
+ % (c, insn.reg_name(i.mem.base)))
+ if i.mem.index != 0:
+ print("\t\t\toperands[%u].mem.index: REG = %s" \
+ % (c, insn.reg_name(i.mem.index)))
+ if i.mem.scale != 1:
+ print("\t\t\toperands[%u].mem.scale: %u" \
+ % (c, i.mem.scale))
+ if i.mem.disp != 0:
+ print("\t\t\toperands[%u].mem.disp: 0x%s" \
+ % (c, to_x_32(i.mem.disp)))
+ if i.mem.lshift != 0:
+ print("\t\t\toperands[%u].mem.lshift: 0x%s" \
+ % (c, to_x_32(i.mem.lshift)))
+
+ if i.neon_lane != -1:
+ print("\t\toperands[%u].neon_lane = %u" % (c, i.neon_lane))
+
+ if i.access == CS_AC_READ:
+ print("\t\toperands[%u].access: READ\n" % (c))
+ elif i.access == CS_AC_WRITE:
+ print("\t\toperands[%u].access: WRITE\n" % (c))
+ elif i.access == CS_AC_READ | CS_AC_WRITE:
+ print("\t\toperands[%u].access: READ | WRITE\n" % (c))
+
+ if i.shift.type != ARM_SFT_INVALID and i.shift.value:
+ print("\t\t\tShift: %u = %u" \
+ % (i.shift.type, i.shift.value))
+ if i.vector_index != -1:
+ print("\t\t\toperands[%u].vector_index = %u" %(c, i.vector_index))
+ if i.subtracted:
+ print("\t\t\toperands[%u].subtracted = True" %c)
+
+ c += 1
+
+ if insn.update_flags:
+ print("\tUpdate-flags: True")
+ if insn.writeback:
+ print("\tWrite-back: True")
+ if not insn.cc in [ARM_CC_AL, ARM_CC_INVALID]:
+ print("\tCode condition: %u" % insn.cc)
+ if insn.cps_mode:
+ print("\tCPSI-mode: %u" %(insn.cps_mode))
+ if insn.cps_flag:
+ print("\tCPSI-flag: %u" %(insn.cps_flag))
+ if insn.vector_data:
+ print("\tVector-data: %u" %(insn.vector_data))
+ if insn.vector_size:
+ print("\tVector-size: %u" %(insn.vector_size))
+ if insn.usermode:
+ print("\tUser-mode: True")
+ if insn.mem_barrier:
+ print("\tMemory-barrier: %u" %(insn.mem_barrier))
+
+ (regs_read, regs_write) = insn.regs_access()
+
+ if len(regs_read) > 0:
+ print("\tRegisters read:", end="")
+ for r in regs_read:
+ print(" %s" %(insn.reg_name(r)), end="")
+ print("")
+
+ if len(regs_write) > 0:
+ print("\tRegisters modified:", end="")
+ for r in regs_write:
+ print(" %s" %(insn.reg_name(r)), end="")
+ print("")
+
+
+# ## Test class Cs
+def test_class():
+
+ for (arch, mode, code, comment, syntax) in all_tests:
+ print("*" * 16)
+ print("Platform: %s" % comment)
+ print("Code: %s" % to_hex(code))
+ print("Disasm:")
+
+ try:
+ md = Cs(arch, mode)
+ if syntax is not None:
+ md.syntax = syntax
+ md.detail = True
+ for insn in md.disasm(code, 0x80001000):
+ print_insn_detail(insn)
+ print ()
+ except CsError as e:
+ print("ERROR: %s" % e)
+
+
+if __name__ == '__main__':
+ test_class()
diff --git a/capstone/bindings/python/test_arm64.py b/capstone/bindings/python/test_arm64.py
new file mode 100755
index 000000000..6addbaeb3
--- /dev/null
+++ b/capstone/bindings/python/test_arm64.py
@@ -0,0 +1,126 @@
+#!/usr/bin/env python
+
+# Capstone Python bindings, by Nguyen Anh Quynnh <aquynh@gmail.com>
+
+from __future__ import print_function
+from capstone import *
+from capstone.arm64 import *
+from xprint import to_hex, to_x
+
+
+ARM64_CODE = b"\x09\x00\x38\xd5\xbf\x40\x00\xd5\x0c\x05\x13\xd5\x20\x50\x02\x0e\x20\xe4\x3d\x0f\x00\x18\xa0\x5f\xa2\x00\xae\x9e\x9f\x37\x03\xd5\xbf\x33\x03\xd5\xdf\x3f\x03\xd5\x21\x7c\x02\x9b\x21\x7c\x00\x53\x00\x40\x21\x4b\xe1\x0b\x40\xb9\x20\x04\x81\xda\x20\x08\x02\x8b\x10\x5b\xe8\x3c"
+
+all_tests = (
+ (CS_ARCH_ARM64, CS_MODE_ARM, ARM64_CODE, "ARM-64"),
+ )
+
+
+def print_insn_detail(insn):
+ # print address, mnemonic and operands
+ print("0x%x:\t%s\t%s" % (insn.address, insn.mnemonic, insn.op_str))
+
+ # "data" instruction generated by SKIPDATA option has no detail
+ if insn.id == 0:
+ return
+
+ if len(insn.operands) > 0:
+ print("\top_count: %u" % len(insn.operands))
+ c = -1
+ for i in insn.operands:
+ c += 1
+ if i.type == ARM64_OP_REG:
+ print("\t\toperands[%u].type: REG = %s" % (c, insn.reg_name(i.reg)))
+ if i.type == ARM64_OP_IMM:
+ print("\t\toperands[%u].type: IMM = 0x%s" % (c, to_x(i.imm)))
+ if i.type == ARM64_OP_CIMM:
+ print("\t\toperands[%u].type: C-IMM = %u" % (c, i.imm))
+ if i.type == ARM64_OP_FP:
+ print("\t\toperands[%u].type: FP = %f" % (c, i.fp))
+ if i.type == ARM64_OP_MEM:
+ print("\t\toperands[%u].type: MEM" % c)
+ if i.mem.base != 0:
+ print("\t\t\toperands[%u].mem.base: REG = %s" \
+ % (c, insn.reg_name(i.mem.base)))
+ if i.mem.index != 0:
+ print("\t\t\toperands[%u].mem.index: REG = %s" \
+ % (c, insn.reg_name(i.mem.index)))
+ if i.mem.disp != 0:
+ print("\t\t\toperands[%u].mem.disp: 0x%s" \
+ % (c, to_x(i.mem.disp)))
+ if i.type == ARM64_OP_REG_MRS:
+ print("\t\toperands[%u].type: REG_MRS = 0x%x" % (c, i.reg))
+ if i.type == ARM64_OP_REG_MSR:
+ print("\t\toperands[%u].type: REG_MSR = 0x%x" % (c, i.reg))
+ if i.type == ARM64_OP_PSTATE:
+ print("\t\toperands[%u].type: PSTATE = 0x%x" % (c, i.pstate))
+ if i.type == ARM64_OP_SYS:
+ print("\t\toperands[%u].type: SYS = 0x%x" % (c, i.sys))
+ if i.type == ARM64_OP_PREFETCH:
+ print("\t\toperands[%u].type: PREFETCH = 0x%x" % (c, i.prefetch))
+ if i.type == ARM64_OP_BARRIER:
+ print("\t\toperands[%u].type: BARRIER = 0x%x" % (c, i.barrier))
+
+ if i.shift.type != ARM64_SFT_INVALID and i.shift.value:
+ print("\t\t\tShift: type = %u, value = %u" % (i.shift.type, i.shift.value))
+
+ if i.ext != ARM64_EXT_INVALID:
+ print("\t\t\tExt: %u" % i.ext)
+
+ if i.vas != ARM64_VAS_INVALID:
+ print("\t\t\tVector Arrangement Specifier: 0x%x" % i.vas)
+
+ if i.vector_index != -1:
+ print("\t\t\tVector Index: %u" % i.vector_index)
+
+ if i.access == CS_AC_READ:
+ print("\t\toperands[%u].access: READ\n" % (c))
+ elif i.access == CS_AC_WRITE:
+ print("\t\toperands[%u].access: WRITE\n" % (c))
+ elif i.access == CS_AC_READ | CS_AC_WRITE:
+ print("\t\toperands[%u].access: READ | WRITE\n" % (c))
+
+
+ if insn.writeback:
+ print("\tWrite-back: True")
+ if not insn.cc in [ARM64_CC_AL, ARM64_CC_INVALID]:
+ print("\tCode-condition: %u" % insn.cc)
+ if insn.update_flags:
+ print("\tUpdate-flags: True")
+
+ (regs_read, regs_write) = insn.regs_access()
+
+ if len(regs_read) > 0:
+ print("\tRegisters read:", end="")
+ for r in regs_read:
+ print(" %s" %(insn.reg_name(r)), end="")
+ print("")
+
+ if len(regs_write) > 0:
+ print("\tRegisters modified:", end="")
+ for r in regs_write:
+ print(" %s" %(insn.reg_name(r)), end="")
+ print("")
+
+
+# ## Test class Cs
+def test_class():
+
+ for (arch, mode, code, comment) in all_tests:
+ print("*" * 16)
+ print("Platform: %s" % comment)
+ print("Code: %s" % to_hex(code))
+ print("Disasm:")
+
+ try:
+ md = Cs(arch, mode)
+ md.detail = True
+ for insn in md.disasm(code, 0x2c):
+ print_insn_detail(insn)
+ print ()
+ print("0x%x:\n" % (insn.address + insn.size))
+ except CsError as e:
+ print("ERROR: %s" % e)
+
+
+if __name__ == '__main__':
+ test_class()
diff --git a/capstone/bindings/python/test_basic.py b/capstone/bindings/python/test_basic.py
new file mode 100755
index 000000000..22007c565
--- /dev/null
+++ b/capstone/bindings/python/test_basic.py
@@ -0,0 +1,112 @@
+#!/usr/bin/env python
+# Capstone Python bindings, by Nguyen Anh Quynnh <aquynh@gmail.com>
+
+from __future__ import print_function
+from capstone import *
+import binascii
+import sys
+
+from xprint import to_hex
+
+_python3 = sys.version_info.major == 3
+
+
+X86_CODE16 = 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"
+TMS320C64X_CODE = b"\x01\xac\x88\x40\x81\xac\x88\x43\x00\x00\x00\x00\x02\x90\x32\x96\x02\x80\x46\x9e\x05\x3c\x83\xe6\x0b\x0c\x8b\x24"
+M680X_CODE = b"\x06\x10\x19\x1a\x55\x1e\x01\x23\xe9\x31\x06\x34\x55\xa6\x81\xa7\x89\x7f\xff\xa6\x9d\x10\x00\xa7\x91\xa6\x9f\x10\x00\x11\xac\x99\x10\x00\x39"
+RISCV_CODE32 = b"\x37\x34\x00\x00\x97\x82\x00\x00\xef\x00\x80\x00\xef\xf0\x1f\xff\xe7\x00\x45\x00\xe7\x00\xc0\xff\x63\x05\x41\x00\xe3\x9d\x61\xfe\x63\xca\x93\x00\x63\x53\xb5\x00\x63\x65\xd6\x00\x63\x76\xf7\x00\x03\x88\x18\x00\x03\x99\x49\x00\x03\xaa\x6a\x00\x03\xcb\x2b\x01\x03\xdc\x8c\x01\x23\x86\xad\x03\x23\x9a\xce\x03\x23\x8f\xef\x01\x93\x00\xe0\x00\x13\xa1\x01\x01\x13\xb2\x02\x7d\x13\xc3\x03\xdd\x13\xe4\xc4\x12\x13\xf5\x85\x0c\x13\x96\xe6\x01\x13\xd7\x97\x01\x13\xd8\xf8\x40\x33\x89\x49\x01\xb3\x0a\x7b\x41\x33\xac\xac\x01\xb3\x3d\xde\x01\x33\xd2\x62\x40\xb3\x43\x94\x00\x33\xe5\xc5\x00\xb3\x76\xf7\x00\xb3\x54\x39\x01\xb3\x50\x31\x00\x33\x9f\x0f\x00"
+RISCV_CODE64 = b"\x13\x04\xa8\x7a"
+
+
+all_tests = (
+ (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)", 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),
+ (CS_ARCH_TMS320C64X, 0, TMS320C64X_CODE, "TMS320C64x", None),
+ (CS_ARCH_M680X, CS_MODE_M680X_6809, M680X_CODE, "M680X_M6809", None),
+ (CS_ARCH_RISCV, CS_MODE_RISCV32, RISCV_CODE32, "riscv32", None),
+ (CS_ARCH_RISCV, CS_MODE_RISCV64, RISCV_CODE64, "riscv64", None),
+)
+
+# ## Test cs_disasm_quick()
+def test_cs_disasm_quick():
+ for arch, mode, code, comment, syntax in all_tests:
+ print('*' * 40)
+ print("Platform: %s" % comment)
+ print("Disasm:"),
+ print(to_hex(code))
+ for insn in cs_disasm_quick(arch, mode, code, 0x1000):
+ print("0x%x:\t%s\t%s" % (insn.address, insn.mnemonic, insn.op_str))
+ print()
+
+
+# ## Test class Cs
+def test_class():
+ for arch, mode, code, comment, syntax in all_tests:
+ print('*' * 16)
+ print("Platform: %s" % comment)
+ print("Code: %s" % to_hex(code))
+ print("Disasm:")
+
+ try:
+ md = Cs(arch, mode)
+
+ if syntax is not None:
+ md.syntax = syntax
+
+ for insn in md.disasm(code, 0x1000):
+ # bytes = binascii.hexlify(insn.bytes)
+ # print("0x%x:\t%s\t%s\t// hex-code: %s" %(insn.address, insn.mnemonic, insn.op_str, bytes))
+ print("0x%x:\t%s\t%s" % (insn.address, insn.mnemonic, insn.op_str))
+
+ print("0x%x:" % (insn.address + insn.size))
+ print()
+ except CsError as e:
+ print("ERROR: %s" % e)
+
+
+# test_cs_disasm_quick()
+# print ("*" * 40)
+if __name__ == '__main__':
+ test_class()
diff --git a/capstone/bindings/python/test_bpf.py b/capstone/bindings/python/test_bpf.py
new file mode 100755
index 000000000..4df7f3599
--- /dev/null
+++ b/capstone/bindings/python/test_bpf.py
@@ -0,0 +1,92 @@
+#!/usr/bin/env python
+
+# Capstone Python bindings
+# BPF tests by david942j <david942j@gmail.com>, 2019
+
+from __future__ import print_function
+from capstone import *
+from capstone.bpf import *
+from xprint import to_hex, to_x_32
+
+
+CBPF_CODE = b"\x94\x09\x00\x00\x37\x13\x03\x00\x87\x00\x00\x00\x00\x00\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x16\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00"
+EBPF_CODE = b"\x97\x09\x00\x00\x37\x13\x03\x00\xdc\x02\x00\x00\x20\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\xdb\x3a\x00\x01\x00\x00\x00\x00\x84\x02\x00\x00\x00\x00\x00\x00\x6d\x33\x17\x02\x00\x00\x00\x00"
+
+all_tests = (
+ (CS_ARCH_BPF, CS_MODE_LITTLE_ENDIAN | CS_MODE_BPF_CLASSIC, CBPF_CODE, "cBPF Le", None),
+ (CS_ARCH_BPF, CS_MODE_LITTLE_ENDIAN | CS_MODE_BPF_EXTENDED, EBPF_CODE, "eBPF Le", None),
+ )
+
+ext_name = {}
+ext_name[BPF_EXT_LEN] = '#len'
+
+def print_insn_detail(insn):
+ # print address, mnemonic and operands
+ print("0x%x:\t%s\t%s" % (insn.address, insn.mnemonic, insn.op_str))
+
+ # "data" instruction generated by SKIPDATA option has no detail
+ if insn.id == 0:
+ return
+
+ if len(insn.groups) > 0:
+ print('\tGroups: ' + ' '.join(map(lambda g: insn.group_name(g), insn.groups)))
+
+ print("\tOperand count: %u" % len(insn.operands))
+ for c, op in enumerate(insn.operands):
+ print("\t\toperands[%u].type: " % c, end='')
+ if op.type == BPF_OP_REG:
+ print("REG = " + insn.reg_name(op.reg))
+ elif op.type == BPF_OP_IMM:
+ print("IMM = " + hex(op.imm)[:-1])
+ elif op.type == BPF_OP_OFF:
+ print("OFF = +0x" + to_x_32(op.off))
+ elif op.type == BPF_OP_MEM:
+ print("MEM")
+ if op.mem.base != 0:
+ print("\t\t\toperands[%u].mem.base: REG = %s" \
+ % (c, insn.reg_name(op.mem.base)))
+ print("\t\t\toperands[%u].mem.disp: 0x%s" \
+ % (c, to_x_32(op.mem.disp)))
+ elif op.type == BPF_OP_MMEM:
+ print("MMEM = 0x" + to_x_32(op.mmem))
+ elif op.type == BPF_OP_MSH:
+ print("MSH = 4*([0x%s]&0xf)" % to_x_32(op.msh))
+ elif op.type == BPF_OP_EXT:
+ print("EXT = " + ext_name[op.ext])
+
+ (regs_read, regs_write) = insn.regs_access()
+
+ if len(regs_read) > 0:
+ print("\tRegisters read:", end="")
+ for r in regs_read:
+ print(" %s" % insn.reg_name(r), end="")
+ print("")
+
+ if len(regs_write) > 0:
+ print("\tRegisters modified:", end="")
+ for r in regs_write:
+ print(" %s" % insn.reg_name(r), end="")
+ print("")
+
+def test_class():
+
+ for (arch, mode, code, comment, syntax) in all_tests:
+ print("*" * 16)
+ print("Platform: %s" % comment)
+ print("Code: %s" % to_hex(code))
+ print("Disasm:")
+
+ try:
+ md = Cs(arch, mode)
+ if syntax is not None:
+ md.syntax = syntax
+ md.detail = True
+ for insn in md.disasm(code, 0x0):
+ print_insn_detail(insn)
+ print ()
+ except CsError as e:
+ print("ERROR: %s" % e)
+
+
+if __name__ == '__main__':
+ test_class()
diff --git a/capstone/bindings/python/test_customized_mnem.py b/capstone/bindings/python/test_customized_mnem.py
new file mode 100755
index 000000000..a09cc727f
--- /dev/null
+++ b/capstone/bindings/python/test_customized_mnem.py
@@ -0,0 +1,40 @@
+#!/usr/bin/env python
+
+# Capstone Python bindings, by Nguyen Anh Quynnh <aquynh@gmail.com>
+
+from __future__ import print_function
+from capstone import *
+from capstone.x86 import *
+from xprint import to_hex
+
+
+X86_CODE32 = b"\x75\x01"
+
+
+def print_insn(md, code):
+ print("%s\t" % to_hex(code, False), end="")
+
+ for insn in md.disasm(code, 0x1000):
+ print("\t%s\t%s\n" % (insn.mnemonic, insn.op_str))
+
+
+def test():
+ try:
+ md = Cs(CS_ARCH_X86, CS_MODE_32)
+
+ print("Disassemble X86 code with default instruction mnemonic")
+ print_insn(md, X86_CODE32)
+
+ print("Now customize engine to change mnemonic from 'JNE' to 'JNZ'")
+ md.mnemonic_setup(X86_INS_JNE, "jnz")
+ print_insn(md, X86_CODE32)
+
+ print("Reset engine to use the default mnemonic")
+ md.mnemonic_setup(X86_INS_JNE, None)
+ print_insn(md, X86_CODE32)
+ except CsError as e:
+ print("ERROR: %s" % e)
+
+
+if __name__ == '__main__':
+ test()
diff --git a/capstone/bindings/python/test_detail.py b/capstone/bindings/python/test_detail.py
new file mode 100755
index 000000000..e7cc6a882
--- /dev/null
+++ b/capstone/bindings/python/test_detail.py
@@ -0,0 +1,108 @@
+#!/usr/bin/env python
+
+# Capstone Python bindings, by Nguyen Anh Quynnh <aquynh@gmail.com>
+from __future__ import print_function
+from capstone import *
+
+
+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_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"
+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"\x09\x00\x38\xd5\xbf\x40\x00\xd5\x0c\x05\x13\xd5\x20\x50\x02\x0e\x20\xe4\x3d\x0f\x00\x18\xa0\x5f\xa2\x00\xae\x9e\x9f\x37\x03\xd5\xbf\x33\x03\xd5\xdf\x3f\x03\xd5\x21\x7c\x02\x9b\x21\x7c\x00\x53\x00\x40\x21\x4b\xe1\x0b\x40\xb9\x20\x04\x81\xda\x20\x08\x02\x8b\x10\x5b\xe8\x3c"
+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"
+M680X_CODE = b"\x06\x10\x19\x1a\x55\x1e\x01\x23\xe9\x31\x06\x34\x55\xa6\x81\xa7\x89\x7f\xff\xa6\x9d\x10\x00\xa7\x91\xa6\x9f\x10\x00\x11\xac\x99\x10\x00\x39"
+
+all_tests = (
+ (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)", 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),
+ (CS_ARCH_M680X, CS_MODE_M680X_6809, M680X_CODE, "M680X_M6809", None),
+)
+
+
+def print_detail(insn):
+ print("0x%x:\t%s\t%s // insn-ID: %u, insn-mnem: %s" \
+ % (insn.address, insn.mnemonic, insn.op_str, insn.id, \
+ insn.insn_name()))
+
+ # "data" instruction generated by SKIPDATA option has no detail
+ if insn.id == 0:
+ return
+
+ if len(insn.regs_read) > 0:
+ print("\tImplicit registers read: ", end=''),
+ for m in insn.regs_read:
+ print("%s " % insn.reg_name(m), end=''),
+ print()
+
+ if len(insn.regs_write) > 0:
+ print("\tImplicit registers modified: ", end=''),
+ for m in insn.regs_write:
+ print("%s " % insn.reg_name(m), end=''),
+ print()
+
+ if len(insn.groups) > 0:
+ print("\tThis instruction belongs to groups: ", end=''),
+ for m in insn.groups:
+ print("%s " % insn.group_name(m), end=''),
+ print()
+
+
+# ## Test class Cs
+def test_class():
+ for (arch, mode, code, comment, syntax) in all_tests:
+ print('*' * 40)
+ print("Platform: %s" % comment)
+ print("Disasm:")
+
+ try:
+ md = Cs(arch, mode)
+ md.detail = True
+
+ if syntax is not None:
+ md.syntax = syntax
+
+ for insn in md.disasm(code, 0x1000):
+ print_detail(insn)
+
+ print()
+ except CsError as e:
+ print("ERROR: %s" % e)
+
+if __name__ == '__main__':
+ test_class()
diff --git a/capstone/bindings/python/test_evm.py b/capstone/bindings/python/test_evm.py
new file mode 100755
index 000000000..81f646423
--- /dev/null
+++ b/capstone/bindings/python/test_evm.py
@@ -0,0 +1,29 @@
+#!/usr/bin/env python
+
+# Capstone Python bindings, by Nguyen Anh Quynnh <aquynh@gmail.com>
+
+from __future__ import print_function
+from capstone import *
+from xprint import to_hex
+
+CODE = "\x60\x61\x50"
+cs = Cs(CS_ARCH_EVM, 0)
+cs.detail = True
+
+print("Platform: EVM")
+print("Code: %s" %to_hex(CODE))
+print("Disasm:")
+
+for i in cs.disasm(CODE, 0x80001000):
+ print("0x%x:\t%s\t%s" %(i.address, i.mnemonic, i.op_str))
+ if i.pop > 0:
+ print("\tPop: %u" %i.pop)
+ if i.push > 0:
+ print("\tPush: %u" %i.push)
+ if i.fee > 0:
+ print("\tGas fee: %u" %i.fee)
+ if len(i.groups) > 0:
+ print("\tGroups: ", end=''),
+ for m in i.groups:
+ print("%s " % i.group_name(m), end=''),
+ print()
diff --git a/capstone/bindings/python/test_lite.py b/capstone/bindings/python/test_lite.py
new file mode 100755
index 000000000..41b16cadd
--- /dev/null
+++ b/capstone/bindings/python/test_lite.py
@@ -0,0 +1,99 @@
+#!/usr/bin/env python
+
+# Capstone Python bindings, by Nguyen Anh Quynnh <aquynh@gmail.com>
+from __future__ import print_function
+from capstone import *
+from xprint import to_hex
+
+
+X86_CODE16 = 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"
+M680X_CODE = b"\x06\x10\x19\x1a\x55\x1e\x01\x23\xe9\x31\x06\x34\x55\xa6\x81\xa7\x89\x7f\xff\xa6\x9d\x10\x00\xa7\x91\xa6\x9f\x10\x00\x11\xac\x99\x10\x00\x39"
+
+all_tests = (
+ (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)", 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),
+ (CS_ARCH_M680X, CS_MODE_M680X_6809, M680X_CODE, "M680X_M6809", None),
+ )
+
+
+# ## Test cs_disasm_quick()
+def test_cs_disasm_quick():
+ for (arch, mode, code, comment, syntax) in all_tests:
+ print('*' * 40)
+ print("Platform: %s" % comment)
+ print("Disasm:"),
+ print(to_hex(code))
+ for (addr, size, mnemonic, op_str) in cs_disasm_lite(arch, mode, code, 0x1000):
+ print("0x%x:\t%s\t%s" % (addr, mnemonic, op_str))
+ print()
+
+
+# ## Test class Cs
+def test_class():
+ for (arch, mode, code, comment, syntax) in all_tests:
+ print('*' * 16)
+ print("Platform: %s" % comment)
+ print("Code: %s" % to_hex(code))
+ print("Disasm:")
+
+ try:
+ md = Cs(arch, mode)
+
+ if syntax is not None:
+ md.syntax = syntax
+
+ for (addr, size, mnemonic, op_str) in md.disasm_lite(code, 0x1000):
+ print("0x%x:\t%s\t%s" % (addr, mnemonic, op_str))
+
+ print("0x%x:" % (addr + size))
+ print()
+ except CsError as e:
+ print("ERROR: %s" % e)
+
+
+# test_cs_disasm_quick()
+# print "*" * 40
+if __name__ == '__main__':
+ test_class()
diff --git a/capstone/bindings/python/test_m680x.py b/capstone/bindings/python/test_m680x.py
new file mode 100755
index 000000000..efe28a3dc
--- /dev/null
+++ b/capstone/bindings/python/test_m680x.py
@@ -0,0 +1,159 @@
+#!/usr/bin/env python
+
+# Capstone Python bindings, by Wolfgang Schwotzer <wolfgang.schwotzer@gmx.net>
+
+from __future__ import print_function
+import sys
+from capstone import *
+from capstone.m680x import *
+_python3 = sys.version_info.major == 3
+
+
+s_access = (
+ "UNCHANGED", "READ", "WRITE", "READ | WRITE",
+ )
+
+M6800_CODE = b"\x01\x09\x36\x64\x7f\x74\x10\x00\x90\x10\xA4\x10\xb6\x10\x00\x39"
+
+M6801_CODE = b"\x04\x05\x3c\x3d\x38\x93\x10\xec\x10\xed\x10\x39"
+M6805_CODE = b"\x04\x7f\x00\x17\x22\x28\x00\x2e\x00\x40\x42\x5a\x70\x8e\x97\x9c\xa0\x15\xad\x00\xc3\x10\x00\xda\x12\x34\xe5\x7f\xfe"
+M6808_CODE = b"\x31\x22\x00\x35\x22\x45\x10\x00\x4b\x00\x51\x10\x52\x5e\x22\x62\x65\x12\x34\x72\x84\x85\x86\x87\x8a\x8b\x8c\x94\x95\xa7\x10\xaf\x10\x9e\x60\x7f\x9e\x6b\x7f\x00\x9e\xd6\x10\x00\x9e\xe6\x7f"
+HCS08_CODE = b"\x32\x10\x00\x9e\xae\x9e\xce\x7f\x9e\xbe\x10\x00\x9e\xfe\x7f\x3e\x10\x00\x9e\xf3\x7f\x96\x10\x00\x9e\xff\x7f\x82"
+HD6301_CODE = b"\x6b\x10\x00\x71\x10\x00\x72\x10\x10\x39"
+M6809_CODE = b"\x06\x10\x19\x1a\x55\x1e\x01\x23\xe9\x31\x06\x34\x55\xa6\x81\xa7\x89\x7f\xff\xa6\x9d\x10\x00\xa7\x91\xa6\x9f\x10\x00\x11\xac\x99\x10\x00\x39\xA6\x07\xA6\x27\xA6\x47\xA6\x67\xA6\x0F\xA6\x10\xA6\x80\xA6\x81\xA6\x82\xA6\x83\xA6\x84\xA6\x85\xA6\x86\xA6\x88\x7F\xA6\x88\x80\xA6\x89\x7F\xFF\xA6\x89\x80\x00\xA6\x8B\xA6\x8C\x10\xA6\x8D\x10\x00\xA6\x91\xA6\x93\xA6\x94\xA6\x95\xA6\x96\xA6\x98\x7F\xA6\x98\x80\xA6\x99\x7F\xFF\xA6\x99\x80\x00\xA6\x9B\xA6\x9C\x10\xA6\x9D\x10\x00\xA6\x9F\x10\x00"
+M6811_CODE = b"\x02\x03\x12\x7f\x10\x00\x13\x99\x08\x00\x14\x7f\x02\x15\x7f\x01\x1e\x7f\x20\x00\x8f\xcf\x18\x08\x18\x30\x18\x3c\x18\x67\x18\x8c\x10\x00\x18\x8f\x18\xce\x10\x00\x18\xff\x10\x00\x1a\xa3\x7f\x1a\xac\x1a\xee\x7f\x1a\xef\x7f\xcd\xac\x7f"
+CPU12_CODE = b"\x00\x04\x01\x00\x0c\x00\x80\x0e\x00\x80\x00\x11\x1e\x10\x00\x80\x00\x3b\x4a\x10\x00\x04\x4b\x01\x04\x4f\x7f\x80\x00\x8f\x10\x00\xb7\x52\xb7\xb1\xa6\x67\xa6\xfe\xa6\xf7\x18\x02\xe2\x30\x39\xe2\x10\x00\x18\x0c\x30\x39\x10\x00\x18\x11\x18\x12\x10\x00\x18\x19\x00\x18\x1e\x00\x18\x3e\x18\x3f\x00"
+HD6309_CODE = b"\x01\x10\x10\x62\x10\x10\x7b\x10\x10\x00\xcd\x49\x96\x02\xd2\x10\x30\x23\x10\x38\x10\x3b\x10\x53\x10\x5d\x11\x30\x43\x10\x11\x37\x25\x10\x11\x38\x12\x11\x39\x23\x11\x3b\x34\x11\x8e\x10\x00\x11\xaf\x10\x11\xab\x10\x11\xf6\x80\x00"
+
+all_tests = (
+ (CS_ARCH_M680X, CS_MODE_M680X_6301, HD6301_CODE, "M680X_HD6301", None),
+ (CS_ARCH_M680X, CS_MODE_M680X_6309, HD6309_CODE, "M680X_HD6309", None),
+ (CS_ARCH_M680X, CS_MODE_M680X_6800, M6800_CODE, "M680X_M6800", None),
+ (CS_ARCH_M680X, CS_MODE_M680X_6801, M6801_CODE, "M680X_M6801", None),
+ (CS_ARCH_M680X, CS_MODE_M680X_6805, M6805_CODE, "M680X_M68HC05", None),
+ (CS_ARCH_M680X, CS_MODE_M680X_6808, M6808_CODE, "M680X_M68HC08", None),
+ (CS_ARCH_M680X, CS_MODE_M680X_6809, M6809_CODE, "M680X_M6809", None),
+ (CS_ARCH_M680X, CS_MODE_M680X_6811, M6811_CODE, "M680X_M68HC11", None),
+ (CS_ARCH_M680X, CS_MODE_M680X_CPU12, CPU12_CODE, "M680X_CPU12", None),
+ (CS_ARCH_M680X, CS_MODE_M680X_HCS08, HCS08_CODE, "M680X_HCS08", None),
+ )
+
+# print hex dump from string all upper case
+def to_hex_uc(string):
+ if _python3:
+ return " ".join("0x%02x" % c for c in string)
+ else:
+ return " ".join("0x%02x" % ord(c) for c in string)
+
+# print short hex dump from byte array all upper case
+def to_hex_short_uc(byte_array):
+ return "".join("%02x" % b for b in byte_array)
+
+def print_insn_detail(insn):
+ # print address, mnemonic and operands
+ #print("0x%x:\t%s\t%s\t%s" % (insn.address, binascii.hexlify(bytearray(insn.bytes)), \
+ print("0x%04x: %s\t%s\t%s" % (insn.address, to_hex_short_uc(insn.bytes), \
+ insn.mnemonic, insn.op_str))
+
+ # "data" instruction generated by SKIPDATA option has no detail
+ if insn.id == 0:
+ return
+
+ if len(insn.operands) > 0:
+ print("\top_count: %u" % len(insn.operands))
+ c = 0
+ for i in insn.operands:
+ if i.type == M680X_OP_REGISTER:
+ comment = "";
+ if (((c == 0) and (insn.flags & M680X_FIRST_OP_IN_MNEM)) or
+ ((c == 1) and (insn.flags & M680X_SECOND_OP_IN_MNEM))):
+ comment = " (in mnemonic)";
+ print("\t\toperands[%u].type: REGISTER = %s%s" % (c,
+ insn.reg_name(i.reg), comment))
+ if i.type == M680X_OP_CONSTANT:
+ print("\t\toperands[%u].type: CONSTANT = %u" % (c, i.const_val))
+ if i.type == M680X_OP_IMMEDIATE:
+ print("\t\toperands[%u].type: IMMEDIATE = #%d" % (c, i.imm))
+ if i.type == M680X_OP_DIRECT:
+ print("\t\toperands[%u].type: DIRECT = 0x%02x" % (c, i.direct_addr))
+ if i.type == M680X_OP_EXTENDED:
+ if i.ext.indirect:
+ indirect = "INDIRECT"
+ else:
+ indirect = ""
+ print("\t\toperands[%u].type: EXTENDED %s = 0x%04x" % (c, indirect, i.ext.address))
+ if i.type == M680X_OP_RELATIVE:
+ print("\t\toperands[%u].type: RELATIVE = 0x%04x" % (c, i.rel.address))
+ if i.type == M680X_OP_INDEXED:
+ if (i.idx.flags & M680X_IDX_INDIRECT):
+ indirect = " INDIRECT"
+ else:
+ indirect = ""
+ print("\t\toperands[%u].type: INDEXED%s" % (c, indirect))
+ if i.idx.base_reg != M680X_REG_INVALID:
+ print("\t\t\tbase register: %s" % insn.reg_name(i.idx.base_reg))
+ if i.idx.offset_reg != M680X_REG_INVALID:
+ print("\t\t\toffset register: %s" % insn.reg_name(i.idx.offset_reg))
+ if (i.idx.offset_bits != 0) and (i.idx.offset_reg == M680X_REG_INVALID) and (i.idx.inc_dec == 0):
+ print("\t\t\toffset: %u" % i.idx.offset)
+ if i.idx.base_reg == M680X_REG_PC:
+ print("\t\t\toffset address: 0x%04x" % i.idx.offset_addr)
+ print("\t\t\toffset bits: %u" % i.idx.offset_bits)
+ if i.idx.inc_dec != 0:
+ if i.idx.flags & M680X_IDX_POST_INC_DEC:
+ s_post_pre = "post"
+ else:
+ s_post_pre = "pre"
+ if i.idx.inc_dec > 0:
+ s_inc_dec = "increment"
+ else:
+ s_inc_dec = "decrement"
+ print("\t\t\t%s %s: %d" %
+ (s_post_pre, s_inc_dec, abs(i.idx.inc_dec)))
+ if (i.size != 0):
+ print("\t\t\tsize: %d" % i.size)
+ if (i.access != CS_AC_INVALID):
+ print("\t\t\taccess: %s" % s_access[i.access])
+
+ c += 1
+
+ (regs_read, regs_write) = insn.regs_access()
+
+ if len(regs_read) > 0:
+ print("\tRegisters read:", end="")
+ for r in regs_read:
+ print(" %s" %(insn.reg_name(r)), end="")
+ print("")
+
+ if len(regs_write) > 0:
+ print("\tRegisters modified:", end="")
+ for r in regs_write:
+ print(" %s" %(insn.reg_name(r)), end="")
+ print("")
+
+ if len(insn.groups) > 0:
+ print("\tgroups_count: %u" % len(insn.groups))
+
+# ## Test class Cs
+def test_class():
+
+ for (arch, mode, code, comment, syntax) in all_tests:
+ print("*" * 20)
+ print("Platform: %s" % comment)
+ print("Code: %s" % to_hex_uc(code))
+ print("Disasm:")
+
+ try:
+ md = Cs(arch, mode)
+ if syntax is not None:
+ md.syntax = syntax
+ md.detail = True
+ for insn in md.disasm(code, 0x1000):
+ print_insn_detail(insn)
+ print ()
+ except CsError as e:
+ print("ERROR: %s" % e)
+
+
+if __name__ == '__main__':
+ test_class()
diff --git a/capstone/bindings/python/test_m68k.py b/capstone/bindings/python/test_m68k.py
new file mode 100755
index 000000000..557369cca
--- /dev/null
+++ b/capstone/bindings/python/test_m68k.py
@@ -0,0 +1,120 @@
+#!/usr/bin/env python
+
+# Capstone Python bindings, by Nicolas PLANEL <nplanel@gmail.com>
+from __future__ import print_function
+from capstone import *
+from capstone.m68k import *
+from xprint import to_hex, to_x
+
+M68K_CODE = b"\x4c\x00\x54\x04\x48\xe7\xe0\x30\x4c\xdf\x0c\x07\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_M68K, CS_MODE_BIG_ENDIAN | CS_MODE_M68K_040, M68K_CODE, "M68K"),
+)
+
+s_addressing_modes = {
+ 0: "<invalid mode>",
+
+ 1: "Register Direct - Data",
+ 2: "Register Direct - Address",
+
+ 3: "Register Indirect - Address",
+ 4: "Register Indirect - Address with Postincrement",
+ 5: "Register Indirect - Address with Predecrement",
+ 6: "Register Indirect - Address with Displacement",
+
+ 7: "Address Register Indirect With Index - 8-bit displacement",
+ 8: "Address Register Indirect With Index - Base displacement",
+
+ 9: "Memory indirect - Postindex",
+ 10: "Memory indirect - Preindex",
+
+ 11: "Program Counter Indirect - with Displacement",
+
+ 12: "Program Counter Indirect with Index - with 8-Bit Displacement",
+ 13: "Program Counter Indirect with Index - with Base Displacement",
+
+ 14: "Program Counter Memory Indirect - Postindexed",
+ 15: "Program Counter Memory Indirect - Preindexed",
+
+ 16: "Absolute Data Addressing - Short",
+ 17: "Absolute Data Addressing - Long",
+ 18: "Immediate value",
+
+ 19: "Branch Displacement",
+}
+
+def print_read_write_regs(insn):
+ for m in insn.regs_read:
+ print("\treading from reg: %s" % insn.reg_name(m))
+
+ for m in insn.regs_write:
+ print("\twriting to reg: %s" % insn.reg_name(m))
+
+def print_insn_detail(insn):
+ if len(insn.operands) > 0:
+ print("\top_count: %u" % (len(insn.operands)))
+ print("\tgroups_count: %u" % len(insn.groups))
+
+ print_read_write_regs(insn)
+
+ 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)))
+ elif op.type == M68K_OP_IMM:
+ print("\t\toperands[%u].type: IMM = 0x%x" % (i, op.imm & 0xffffffff))
+ 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)))
+ if op.mem.index_reg != M68K_REG_INVALID:
+ print("\t\t\toperands[%u].mem.index: REG = %s" % (i, insn.reg_name(op.mem.index_reg)))
+ mem_index_str = "w"
+ if op.mem.index_size > 0:
+ mem_index_str = "l"
+ print("\t\t\toperands[%u].mem.index: size = %s" % (i, mem_index_str))
+ if op.mem.disp != 0:
+ print("\t\t\toperands[%u].mem.disp: 0x%x" % (i, op.mem.disp))
+ 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)
+ elif op.type == M68K_OP_BR_DISP:
+ print("\t\toperands[%u].br_disp.disp: 0x%x" % (i, op.br_disp.disp))
+ print("\t\toperands[%u].br_disp.disp_size: %d" % (i, op.br_disp.disp_size))
+ print()
+
+# ## Test class Cs
+def test_class():
+ address = 0x01000
+ for (arch, mode, code, comment) in all_tests:
+ print("*" * 16)
+ print("Platform: %s" % comment)
+ print("Code: %s " % to_hex(code))
+ print("Disasm:")
+
+ try:
+ md = Cs(arch, mode)
+ md.detail = True
+ last_address = 0
+ for insn in md.disasm(code, address):
+ last_address = insn.address + insn.size
+ print("0x%x:\t%s\t%s" % (insn.address, insn.mnemonic, insn.op_str))
+ print_insn_detail(insn)
+ print("0x%x:\n" % (last_address))
+
+ except CsError as e:
+ print("ERROR: %s" % e.__str__())
+
+if __name__ == '__main__':
+ test_class()
+
+
+
+
+
diff --git a/capstone/bindings/python/test_mips.py b/capstone/bindings/python/test_mips.py
new file mode 100755
index 000000000..976380c2d
--- /dev/null
+++ b/capstone/bindings/python/test_mips.py
@@ -0,0 +1,71 @@
+#!/usr/bin/env python
+
+# Capstone Python bindings, by Nguyen Anh Quynnh <aquynh@gmail.com>
+from __future__ import print_function
+from capstone import *
+from capstone.mips import *
+from xprint import to_hex, to_x
+
+
+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"
+
+all_tests = (
+ (CS_ARCH_MIPS, CS_MODE_MIPS32 + CS_MODE_BIG_ENDIAN, MIPS_CODE, "MIPS-32 (Big-endian)"),
+ (CS_ARCH_MIPS, CS_MODE_MIPS64 + CS_MODE_LITTLE_ENDIAN, MIPS_CODE2, "MIPS-64-EL (Little-endian)"),
+ (CS_ARCH_MIPS, CS_MODE_MIPS32R6 + CS_MODE_MICRO + CS_MODE_BIG_ENDIAN, MIPS_32R6M, "MIPS-32R6 | Micro (Big-endian)"),
+ (CS_ARCH_MIPS, CS_MODE_MIPS32R6 + CS_MODE_BIG_ENDIAN, MIPS_32R6, "MIPS-32R6 (Big-endian)"),
+)
+
+
+def print_insn_detail(insn):
+ # print address, mnemonic and operands
+ print("0x%x:\t%s\t%s" % (insn.address, insn.mnemonic, insn.op_str))
+
+ # "data" instruction generated by SKIPDATA option has no detail
+ if insn.id == 0:
+ return
+
+ if len(insn.operands) > 0:
+ print("\top_count: %u" % len(insn.operands))
+ c = -1
+ for i in insn.operands:
+ c += 1
+ if i.type == MIPS_OP_REG:
+ print("\t\toperands[%u].type: REG = %s" % (c, insn.reg_name(i.reg)))
+ if i.type == MIPS_OP_IMM:
+ print("\t\toperands[%u].type: IMM = 0x%s" % (c, to_x(i.imm)))
+ if i.type == MIPS_OP_MEM:
+ print("\t\toperands[%u].type: MEM" % c)
+ if i.mem.base != 0:
+ print("\t\t\toperands[%u].mem.base: REG = %s" \
+ % (c, insn.reg_name(i.mem.base)))
+ if i.mem.disp != 0:
+ print("\t\t\toperands[%u].mem.disp: 0x%s" \
+ % (c, to_x(i.mem.disp)))
+
+
+# ## Test class Cs
+def test_class():
+ for (arch, mode, code, comment) in all_tests:
+ print("*" * 16)
+ print("Platform: %s" % comment)
+ print("Code: %s" % to_hex(code))
+ print("Disasm:")
+
+ try:
+ md = Cs(arch, mode)
+ md.detail = True
+ for insn in md.disasm(code, 0x1000):
+ print_insn_detail(insn)
+ print()
+
+ print("0x%x:\n" % (insn.address + insn.size))
+ except CsError as e:
+ print("ERROR: %s" % e)
+
+
+if __name__ == '__main__':
+ test_class()
diff --git a/capstone/bindings/python/test_mos65xx.py b/capstone/bindings/python/test_mos65xx.py
new file mode 100755
index 000000000..5b667b1f0
--- /dev/null
+++ b/capstone/bindings/python/test_mos65xx.py
@@ -0,0 +1,83 @@
+#!/usr/bin/env python
+
+# Capstone Python bindings, by Sebastian Macke <Sebastian Macke>
+from __future__ import print_function
+from capstone import *
+from capstone.mos65xx import *
+from xprint import to_hex, to_x
+
+MOS65XX_CODE = b"\x0d\x34\x12\x00\x81\x65\x6c\x01\x00\x85\xFF\x10\x00\x19\x42\x42\x00\x49\x42"
+
+address_modes=[
+ "No address mode",
+ "implied",
+ "accumulator",
+ "immediate value",
+ "relative",
+ "interrupt signature",
+ "block move",
+ "zero page",
+ "zero page indexed with x",
+ "zero page indexed with y",
+ "relative bit branch",
+ "zero page indirect",
+ "zero page indexed with x indirect",
+ "zero page indirect indexed with y",
+ "zero page indirect long",
+ "zero page indirect long indexed with y",
+ "absolute",
+ "absolute indexed with x",
+ "absolute indexed with y",
+ "absolute indirect",
+ "absolute indexed with x indirect",
+ "absolute indirect long",
+ "absolute long",
+ "absolute long indexed with x",
+ "stack relative",
+ "stack relative indirect indexed with y",
+];
+
+
+def print_insn_detail(insn):
+ # print address, mnemonic and operands
+ print("0x%x:\t%s\t%s" % (insn.address, insn.mnemonic, insn.op_str))
+
+ # "data" instruction generated by SKIPDATA option has no detail
+ if insn.id == 0:
+ return
+ print("\taddress mode: %s" % (address_modes[insn.am]))
+ print("\tmodifies flags: %s" % ('true' if insn.modifies_flags != 0 else 'false'))
+ if len(insn.operands) > 0:
+ print("\top_count: %u" % len(insn.operands))
+ c = -1
+ for i in insn.operands:
+ c += 1
+ if i.type == MOS65XX_OP_REG:
+ print("\t\toperands[%u].type: REG = %s" % (c, insn.reg_name(i.reg)))
+ if i.type == MOS65XX_OP_IMM:
+ print("\t\toperands[%u].type: IMM = 0x%s" % (c, to_x(i.imm)))
+ if i.type == MOS65XX_OP_MEM:
+ print("\t\toperands[%u].type: MEM = 0x%s" % (c, to_x(i.mem)))
+
+
+# ## Test class Cs
+def test_class():
+ print("*" * 16)
+ print("Platform: %s" % "MOS65XX")
+ print("Code: %s" % to_hex(MOS65XX_CODE))
+ print("Disasm:")
+
+ try:
+ md = Cs(CS_ARCH_MOS65XX, 0)
+ md.detail = True
+ for insn in md.disasm(MOS65XX_CODE, 0x1000):
+ print_insn_detail(insn)
+ print()
+
+ print("0x%x:\n" % (insn.address + insn.size))
+ except CsError as e:
+ print("ERROR: %s" % e)
+
+
+if __name__ == '__main__':
+ test_class()
diff --git a/capstone/bindings/python/test_ppc.py b/capstone/bindings/python/test_ppc.py
new file mode 100755
index 000000000..1a069bac2
--- /dev/null
+++ b/capstone/bindings/python/test_ppc.py
@@ -0,0 +1,83 @@
+#!/usr/bin/env python
+
+# Capstone Python bindings, by Nguyen Anh Quynnh <aquynh@gmail.com>
+from __future__ import print_function
+from capstone import *
+from capstone.ppc import *
+from xprint import to_hex, to_x_32
+
+PPC_CODE = b"\x43\x20\x0c\x07\x41\x56\xff\x17\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\x40\x82\x00\x14"
+PPC_CODE2 = b"\x10\x60\x2a\x10\x10\x64\x28\x88\x7c\x4a\x5d\x0f"
+
+all_tests = (
+ (CS_ARCH_PPC, CS_MODE_BIG_ENDIAN, PPC_CODE, "PPC-64"),
+ (CS_ARCH_PPC, CS_MODE_BIG_ENDIAN + CS_MODE_QPX, PPC_CODE2, "PPC-64 + QPX"),
+ )
+
+
+def print_insn_detail(insn):
+ # print address, mnemonic and operands
+ print("0x%x:\t%s\t%s" % (insn.address, insn.mnemonic, insn.op_str))
+
+ # "data" instruction generated by SKIPDATA option has no detail
+ if insn.id == 0:
+ return
+
+ if len(insn.operands) > 0:
+ print("\top_count: %u" % len(insn.operands))
+ c = 0
+ for i in insn.operands:
+ if i.type == PPC_OP_REG:
+ print("\t\toperands[%u].type: REG = %s" % (c, insn.reg_name(i.reg)))
+ if i.type == PPC_OP_IMM:
+ print("\t\toperands[%u].type: IMM = 0x%s" % (c, to_x_32(i.imm)))
+ if i.type == PPC_OP_MEM:
+ print("\t\toperands[%u].type: MEM" % c)
+ if i.mem.base != 0:
+ print("\t\t\toperands[%u].mem.base: REG = %s" \
+ % (c, insn.reg_name(i.mem.base)))
+ if i.mem.disp != 0:
+ print("\t\t\toperands[%u].mem.disp: 0x%s" \
+ % (c, to_x_32(i.mem.disp)))
+ if i.type == PPC_OP_CRX:
+ print("\t\toperands[%u].type: CRX" % c)
+ print("\t\t\toperands[%u].crx.scale: = %u" \
+ % (c, i.crx.scale))
+ if i.crx.reg != 0:
+ print("\t\t\toperands[%u].crx.reg: REG = %s" \
+ % (c, insn.reg_name(i.crx.reg)))
+ if i.crx.cond != 0:
+ print("\t\t\toperands[%u].crx.cond: 0x%x" \
+ % (c, i.crx.cond))
+ c += 1
+
+ if insn.bc:
+ print("\tBranch code: %u" % insn.bc)
+ if insn.bh:
+ print("\tBranch hint: %u" % insn.bh)
+ if insn.update_cr0:
+ print("\tUpdate-CR0: True")
+
+
+# ## Test class Cs
+def test_class():
+
+ for (arch, mode, code, comment) in all_tests:
+ print("*" * 16)
+ print("Platform: %s" % comment)
+ print("Code: %s" % to_hex(code))
+ print("Disasm:")
+
+ try:
+ md = Cs(arch, mode)
+ md.detail = True
+ for insn in md.disasm(code, 0x1000):
+ print_insn_detail(insn)
+ print ()
+ print("0x%x:\n" % (insn.address + insn.size))
+ except CsError as e:
+ print("ERROR: %s" % e)
+
+
+if __name__ == '__main__':
+ test_class()
diff --git a/capstone/bindings/python/test_riscv.py b/capstone/bindings/python/test_riscv.py
new file mode 100755
index 000000000..21bd03cf2
--- /dev/null
+++ b/capstone/bindings/python/test_riscv.py
@@ -0,0 +1,67 @@
+#!/usr/bin/env python
+
+# Capstone Python bindings, by Nguyen Anh Quynnh <aquynh@gmail.com>
+
+from __future__ import print_function
+from capstone import *
+from capstone.riscv import *
+from xprint import to_x, to_hex
+
+RISCV_CODE32 = b"\x37\x34\x00\x00\x97\x82\x00\x00\xef\x00\x80\x00\xef\xf0\x1f\xff\xe7\x00\x45\x00\xe7\x00\xc0\xff\x63\x05\x41\x00\xe3\x9d\x61\xfe\x63\xca\x93\x00\x63\x53\xb5\x00\x63\x65\xd6\x00\x63\x76\xf7\x00\x03\x88\x18\x00\x03\x99\x49\x00\x03\xaa\x6a\x00\x03\xcb\x2b\x01\x03\xdc\x8c\x01\x23\x86\xad\x03\x23\x9a\xce\x03\x23\x8f\xef\x01\x93\x00\xe0\x00\x13\xa1\x01\x01\x13\xb2\x02\x7d\x13\xc3\x03\xdd\x13\xe4\xc4\x12\x13\xf5\x85\x0c\x13\x96\xe6\x01\x13\xd7\x97\x01\x13\xd8\xf8\x40\x33\x89\x49\x01\xb3\x0a\x7b\x41\x33\xac\xac\x01\xb3\x3d\xde\x01\x33\xd2\x62\x40\xb3\x43\x94\x00\x33\xe5\xc5\x00\xb3\x76\xf7\x00\xb3\x54\x39\x01\xb3\x50\x31\x00\x33\x9f\x0f\x00"
+RISCV_CODE64 = b"\x13\x04\xa8\x7a"
+
+all_tests = (
+ (CS_ARCH_RISCV, CS_MODE_RISCV32, RISCV_CODE32, "riscv32"),
+ (CS_ARCH_RISCV, CS_MODE_RISCV64, RISCV_CODE64, "riscv64"),
+)
+
+
+def print_insn_detail(insn):
+ # print address, mnemonic and operands
+ print("0x%x:\t%s\t%s" % (insn.address, insn.mnemonic, insn.op_str))
+
+ # "data" instruction generated by SKIPDATA option has no detail
+ if insn.id == 0:
+ return
+
+ if len(insn.operands) > 0:
+ print("\top_count: %u" % len(insn.operands))
+ c = 0
+ for i in insn.operands:
+ if i.type == RISCV_OP_REG:
+ print("\t\toperands[%u].type: REG = %s" % (c, insn.reg_name(i.reg)))
+ if i.type == RISCV_OP_IMM:
+ print("\t\toperands[%u].type: IMM = 0x%s" % (c, to_x(i.imm)))
+ if i.type == RISCV_OP_MEM:
+ print("\t\toperands[%u].type: MEM" % c)
+ if i.mem.base != 0:
+ print("\t\t\toperands[%u].mem.base: REG = %s" \
+ % (c, insn.reg_name(i.mem.base)))
+ if i.mem.disp != 0:
+ print("\t\t\toperands[%u].mem.disp: 0x%s" \
+ % (c, to_x(i.mem.disp)))
+ c += 1
+
+
+# ## Test class Cs
+def test_class():
+
+ for (arch, mode, code, comment) in all_tests:
+ print("*" * 16)
+ print("Platform: %s" %comment)
+ print("Code: %s" % to_hex(code))
+ print("Disasm:")
+
+ try:
+ md = Cs(arch, mode)
+ md.detail = True
+ for insn in md.disasm(code, 0x1000):
+ print_insn_detail(insn)
+ print ()
+ print("0x%x:\n" % (insn.address + insn.size))
+ except CsError as e:
+ print("ERROR: %s" %e)
+
+
+if __name__ == '__main__':
+ test_class()
diff --git a/capstone/bindings/python/test_skipdata.py b/capstone/bindings/python/test_skipdata.py
new file mode 100755
index 000000000..726a086dd
--- /dev/null
+++ b/capstone/bindings/python/test_skipdata.py
@@ -0,0 +1,73 @@
+#!/usr/bin/env python
+
+# Capstone Python bindings, by Nguyen Anh Quynnh <aquynh@gmail.com>
+
+from __future__ import print_function
+from capstone import *
+import binascii
+from xprint import to_hex
+
+
+X86_CODE32 = b"\x8d\x4c\x32\x08\x01\xd8\x81\xc6\x34\x12\x00\x00\x00\x91\x92"
+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)", None),
+ (CS_ARCH_ARM, CS_MODE_ARM, RANDOM_CODE, "Arm", None),
+)
+
+
+# Sample callback for SKIPDATA option
+def testcb(buffer, size, offset, userdata):
+ # always skip 2 bytes of data
+ return 2
+
+
+# ## Test class Cs
+def test_class():
+ for (arch, mode, code, comment, syntax) in all_tests:
+ print('*' * 16)
+ print("Platform: %s" %comment)
+ print("Code: %s" % to_hex(code))
+ print("Disasm:")
+
+ try:
+ md = Cs(arch, mode)
+
+ if syntax is not None:
+ md.syntax = syntax
+
+ md.skipdata = True
+
+ # Default "data" instruction's name is ".byte". To rename it to "db", just use
+ # the code below.
+ md.skipdata_setup = ("db", None, None)
+
+ # NOTE: This example ignores SKIPDATA's callback (first None) & user_data (second None)
+ # Can also use dedicated setter
+ #md.skipdata_mnem = 'db'
+
+ # To customize the SKIPDATA callback, use the line below.
+ #md.skipdata_setup = (".db", testcb, None)
+
+ # Or use dedicated setter with custom parameter
+ #md.skipdata_callback = (testcb, 42)
+
+ # Or provide just a function
+ #md.skipdata_callback = testcb
+ # Note that reading this property will always return a tuple
+ #assert md.skipdata_callback == (testcb, None)
+
+ for insn in md.disasm(code, 0x1000):
+ #bytes = binascii.hexlify(insn.bytes)
+ #print("0x%x:\t%s\t%s\t// hex-code: %s" %(insn.address, insn.mnemonic, insn.op_str, bytes))
+ print("0x%x:\t%s\t%s" % (insn.address, insn.mnemonic, insn.op_str))
+
+ print("0x%x:" % (insn.address + insn.size))
+ print
+ except CsError as e:
+ print("ERROR: %s" % e)
+
+
+if __name__ == '__main__':
+ test_class()
diff --git a/capstone/bindings/python/test_sparc.py b/capstone/bindings/python/test_sparc.py
new file mode 100755
index 000000000..96fae5bd2
--- /dev/null
+++ b/capstone/bindings/python/test_sparc.py
@@ -0,0 +1,75 @@
+#!/usr/bin/env python
+
+# Capstone Python bindings, by Nguyen Anh Quynnh <aquynh@gmail.com>
+
+from __future__ import print_function
+from capstone import *
+from capstone.sparc import *
+from xprint import to_hex, to_x_32
+
+
+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"
+
+all_tests = (
+ (CS_ARCH_SPARC, CS_MODE_BIG_ENDIAN, SPARC_CODE, "Sparc"),
+ (CS_ARCH_SPARC, CS_MODE_BIG_ENDIAN+CS_MODE_V9, SPARCV9_CODE, "SparcV9"),
+)
+
+
+def print_insn_detail(insn):
+ # print address, mnemonic and operands
+ print("0x%x:\t%s\t%s" % (insn.address, insn.mnemonic, insn.op_str))
+
+ # "data" instruction generated by SKIPDATA option has no detail
+ if insn.id == 0:
+ return
+
+ if len(insn.operands) > 0:
+ print("\top_count: %u" % len(insn.operands))
+ c = 0
+ for i in insn.operands:
+ if i.type == SPARC_OP_REG:
+ print("\t\toperands[%u].type: REG = %s" % (c, insn.reg_name(i.reg)))
+ if i.type == SPARC_OP_IMM:
+ print("\t\toperands[%u].type: IMM = 0x%s" % (c, to_x_32(i.imm)))
+ if i.type == SPARC_OP_MEM:
+ print("\t\toperands[%u].type: MEM" % c)
+ if i.mem.base != 0:
+ print("\t\t\toperands[%u].mem.base: REG = %s" \
+ % (c, insn.reg_name(i.mem.base)))
+ if i.mem.index != 0:
+ print("\t\t\toperands[%u].mem.index: REG = %s" \
+ % (c, insn.reg_name(i.mem.index)))
+ if i.mem.disp != 0:
+ print("\t\t\toperands[%u].mem.disp: 0x%s" \
+ % (c, to_x_32(i.mem.disp)))
+ c += 1
+
+ if insn.cc:
+ print("\tCode condition: %u" % insn.cc)
+ if insn.hint:
+ print("\tHint code: %u" % insn.hint)
+
+
+# ## Test class Cs
+def test_class():
+ for (arch, mode, code, comment) in all_tests:
+ print("*" * 16)
+ print("Platform: %s" % comment)
+ print("Code: %s" % to_hex(code))
+ print("Disasm:")
+
+ try:
+ md = Cs(arch, mode)
+ md.detail = True
+ for insn in md.disasm(code, 0x1000):
+ print_insn_detail(insn)
+ print ()
+ print("0x%x:\n" % (insn.address + insn.size))
+ except CsError as e:
+ print("ERROR: %s" %e)
+
+
+if __name__ == '__main__':
+ test_class()
diff --git a/capstone/bindings/python/test_systemz.py b/capstone/bindings/python/test_systemz.py
new file mode 100755
index 000000000..ca9deb729
--- /dev/null
+++ b/capstone/bindings/python/test_systemz.py
@@ -0,0 +1,77 @@
+#!/usr/bin/env python
+
+# Capstone Python bindings, by Nguyen Anh Quynnh <aquynh@gmail.com>
+
+from __future__ import print_function
+from capstone import *
+from capstone.systemz import *
+from xprint import to_x, to_hex
+
+
+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\xec\x18\x00\x00\xc1\x7f"
+
+all_tests = (
+ (CS_ARCH_SYSZ, 0, SYSZ_CODE, "SystemZ"),
+)
+
+
+def print_insn_detail(insn):
+ # print address, mnemonic and operands
+ print("0x%x:\t%s\t%s" % (insn.address, insn.mnemonic, insn.op_str))
+
+ # "data" instruction generated by SKIPDATA option has no detail
+ if insn.id == 0:
+ return
+
+ if len(insn.operands) > 0:
+ print("\top_count: %u" % len(insn.operands))
+ c = 0
+ for i in insn.operands:
+ if i.type == SYSZ_OP_REG:
+ print("\t\toperands[%u].type: REG = %s" % (c, insn.reg_name(i.reg)))
+ if i.type == SYSZ_OP_ACREG:
+ print("\t\toperands[%u].type: ACREG = %u" % (c, i.reg))
+ if i.type == SYSZ_OP_IMM:
+ print("\t\toperands[%u].type: IMM = 0x%s" % (c, to_x(i.imm)))
+ if i.type == SYSZ_OP_MEM:
+ print("\t\toperands[%u].type: MEM" % c)
+ if i.mem.base != 0:
+ print("\t\t\toperands[%u].mem.base: REG = %s" \
+ % (c, insn.reg_name(i.mem.base)))
+ if i.mem.index != 0:
+ print("\t\t\toperands[%u].mem.index: REG = %s" \
+ % (c, insn.reg_name(i.mem.index)))
+ if i.mem.length != 0:
+ print("\t\t\toperands[%u].mem.length: 0x%s" \
+ % (c, to_x(i.mem.length)))
+ if i.mem.disp != 0:
+ print("\t\t\toperands[%u].mem.disp: 0x%s" \
+ % (c, to_x(i.mem.disp)))
+ c += 1
+
+ if insn.cc:
+ print("\tConditional code: %u" % insn.cc)
+
+
+# ## Test class Cs
+def test_class():
+
+ for (arch, mode, code, comment) in all_tests:
+ print("*" * 16)
+ print("Platform: %s" %comment)
+ print("Code: %s" % to_hex(code))
+ print("Disasm:")
+
+ try:
+ md = Cs(arch, mode)
+ md.detail = True
+ for insn in md.disasm(code, 0x1000):
+ print_insn_detail(insn)
+ print ()
+ print("0x%x:\n" % (insn.address + insn.size))
+ except CsError as e:
+ print("ERROR: %s" %e)
+
+
+if __name__ == '__main__':
+ test_class()
diff --git a/capstone/bindings/python/test_tms320c64x.py b/capstone/bindings/python/test_tms320c64x.py
new file mode 100755
index 000000000..4960401c4
--- /dev/null
+++ b/capstone/bindings/python/test_tms320c64x.py
@@ -0,0 +1,93 @@
+#!/usr/bin/env python
+
+# Capstone Python bindings, by Fotis Loukos <me@fotisl.com>
+
+from __future__ import print_function
+from capstone import *
+from capstone.tms320c64x import *
+from xprint import to_x, to_hex, to_x_32
+
+
+TMS320C64X_CODE = b"\x01\xac\x88\x40\x81\xac\x88\x43\x00\x00\x00\x00\x02\x90\x32\x96\x02\x80\x46\x9e\x05\x3c\x83\xe6\x0b\x0c\x8b\x24"
+
+all_tests = (
+ (CS_ARCH_TMS320C64X, 0, TMS320C64X_CODE, "TMS320C64x"),
+)
+
+
+def print_insn_detail(insn):
+ # print address, mnemonic and operands
+ print("0x%x:\t%s\t%s" % (insn.address, insn.mnemonic, insn.op_str))
+
+ # "data" instruction generated by SKIPDATA option has no detail
+ if insn.id == 0:
+ return
+
+ if len(insn.operands) > 0:
+ print("\top_count: %u" % len(insn.operands))
+ c = 0
+ for i in insn.operands:
+ if i.type == TMS320C64X_OP_REG:
+ print("\t\toperands[%u].type: REG = %s" % (c, insn.reg_name(i.reg)))
+ if i.type == TMS320C64X_OP_IMM:
+ print("\t\toperands[%u].type: IMM = 0x%s" % (c, to_x(i.imm)))
+ if i.type == TMS320C64X_OP_MEM:
+ print("\t\toperands[%u].type: MEM" % c)
+ if i.mem.base != 0:
+ print("\t\t\toperands[%u].mem.base: REG = %s" \
+ % (c, insn.reg_name(i.mem.base)))
+ if i.mem.disptype == TMS320C64X_MEM_DISP_INVALID:
+ print("\t\t\toperands[%u].mem.disptype: Invalid" % (c))
+ print("\t\t\toperands[%u].mem.disp: 0x%s" \
+ % (c, to_x(i.mem.disp)))
+ if i.mem.disptype == TMS320C64X_MEM_DISP_CONSTANT:
+ print("\t\t\toperands[%u].mem.disptype: Constant" % (c))
+ print("\t\t\toperands[%u].mem.disp: 0x%s" \
+ % (c, to_x(i.mem.disp)))
+ if i.mem.disptype == TMS320C64X_MEM_DISP_REGISTER:
+ print("\t\t\toperands[%u].mem.disptype: Register" % (c))
+ print("\t\t\toperands[%u].mem.disp: %s" \
+ % (c, insn.reg_name(i.mem.disp)))
+ print("\t\t\toperands[%u].mem.unit: %u" % (c, i.mem.unit))
+ if i.mem.direction == TMS320C64X_MEM_DIR_INVALID:
+ print("\t\t\toperands[%u].mem.direction: Invalid" % (c))
+ if i.mem.direction == TMS320C64X_MEM_DIR_FW:
+ print("\t\t\toperands[%u].mem.direction: Forward" % (c))
+ if i.mem.direction == TMS320C64X_MEM_DIR_BW:
+ print("\t\t\toperands[%u].mem.direction: Backward" % (c))
+ if i.mem.modify == TMS320C64X_MEM_MOD_INVALID:
+ print("\t\t\toperands[%u].mem.modify: Invalid" % (c))
+ if i.mem.modify == TMS320C64X_MEM_MOD_NO:
+ print("\t\t\toperands[%u].mem.modify: No" % (c))
+ if i.mem.modify == TMS320C64X_MEM_MOD_PRE:
+ print("\t\t\toperands[%u].mem.modify: Pre" % (c))
+ if i.mem.modify == TMS320C64X_MEM_MOD_POST:
+ print("\t\t\toperands[%u].mem.modify: Post" % (c))
+ print("\t\t\toperands[%u].mem.scaled: %u" % (c, i.mem.scaled))
+ if i.type == TMS320C64X_OP_REGPAIR:
+ print("\t\toperands[%u].type: REGPAIR = %s:%s" % (c, insn.reg_name(i.reg + 1), insn.reg_name(i.reg)))
+ c += 1
+
+
+# ## Test class Cs
+def test_class():
+
+ for (arch, mode, code, comment) in all_tests:
+ print("*" * 16)
+ print("Platform: %s" %comment)
+ print("Code: %s" % to_hex(code))
+ print("Disasm:")
+
+ try:
+ md = Cs(arch, mode)
+ md.detail = True
+ for insn in md.disasm(code, 0x1000):
+ print_insn_detail(insn)
+ print ()
+ print("0x%x:\n" % (insn.address + insn.size))
+ except CsError as e:
+ print("ERROR: %s" %e)
+
+
+if __name__ == '__main__':
+ test_class()
diff --git a/capstone/bindings/python/test_x86.py b/capstone/bindings/python/test_x86.py
new file mode 100755
index 000000000..2dd74a176
--- /dev/null
+++ b/capstone/bindings/python/test_x86.py
@@ -0,0 +1,292 @@
+#!/usr/bin/env python
+
+# Capstone Python bindings, by Nguyen Anh Quynnh <aquynh@gmail.com>
+from __future__ import print_function
+from capstone import *
+from capstone.x86 import *
+from xprint import to_hex, to_x, to_x_32
+
+
+X86_CODE64 = b"\x55\x48\x8b\x05\xb8\x13\x00\x00\xe9\xea\xbe\xad\xde\xff\x25\x23\x01\x00\x00\xe8\xdf\xbe\xad\xde\x74\xff"
+X86_CODE16 = 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\x66\xe9\xb8\x00\x00\x00\x67\xff\xa0\x23\x01\x00\x00\x66\xe8\xcb\x00\x00\x00\x74\xfc"
+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\xe9\xea\xbe\xad\xde\xff\xa0\x23\x01\x00\x00\xe8\xdf\xbe\xad\xde\x74\xff"
+
+all_tests = (
+ (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)", None),
+ (CS_ARCH_X86, CS_MODE_64, X86_CODE64, "X86 64 (Intel syntax)", None),
+ )
+
+
+def get_eflag_name(eflag):
+ if eflag == X86_EFLAGS_UNDEFINED_OF:
+ return "UNDEF_OF"
+ elif eflag == X86_EFLAGS_UNDEFINED_SF:
+ return "UNDEF_SF"
+ elif eflag == X86_EFLAGS_UNDEFINED_ZF:
+ return "UNDEF_ZF"
+ elif eflag == X86_EFLAGS_MODIFY_AF:
+ return "MOD_AF"
+ elif eflag == X86_EFLAGS_UNDEFINED_PF:
+ return "UNDEF_PF"
+ elif eflag == X86_EFLAGS_MODIFY_CF:
+ return "MOD_CF"
+ elif eflag == X86_EFLAGS_MODIFY_SF:
+ return "MOD_SF"
+ elif eflag == X86_EFLAGS_MODIFY_ZF:
+ return "MOD_ZF"
+ elif eflag == X86_EFLAGS_UNDEFINED_AF:
+ return "UNDEF_AF"
+ elif eflag == X86_EFLAGS_MODIFY_PF:
+ return "MOD_PF"
+ elif eflag == X86_EFLAGS_UNDEFINED_CF:
+ return "UNDEF_CF"
+ elif eflag == X86_EFLAGS_MODIFY_OF:
+ return "MOD_OF"
+ elif eflag == X86_EFLAGS_RESET_OF:
+ return "RESET_OF"
+ elif eflag == X86_EFLAGS_RESET_CF:
+ return "RESET_CF"
+ elif eflag == X86_EFLAGS_RESET_DF:
+ return "RESET_DF"
+ elif eflag == X86_EFLAGS_RESET_IF:
+ return "RESET_IF"
+ elif eflag == X86_EFLAGS_TEST_OF:
+ return "TEST_OF"
+ elif eflag == X86_EFLAGS_TEST_SF:
+ return "TEST_SF"
+ elif eflag == X86_EFLAGS_TEST_ZF:
+ return "TEST_ZF"
+ elif eflag == X86_EFLAGS_TEST_PF:
+ return "TEST_PF"
+ elif eflag == X86_EFLAGS_TEST_CF:
+ return "TEST_CF"
+ elif eflag == X86_EFLAGS_RESET_SF:
+ return "RESET_SF"
+ elif eflag == X86_EFLAGS_RESET_AF:
+ return "RESET_AF"
+ elif eflag == X86_EFLAGS_RESET_TF:
+ return "RESET_TF"
+ elif eflag == X86_EFLAGS_RESET_NT:
+ return "RESET_NT"
+ elif eflag == X86_EFLAGS_PRIOR_OF:
+ return "PRIOR_OF"
+ elif eflag == X86_EFLAGS_PRIOR_SF:
+ return "PRIOR_SF"
+ elif eflag == X86_EFLAGS_PRIOR_ZF:
+ return "PRIOR_ZF"
+ elif eflag == X86_EFLAGS_PRIOR_AF:
+ return "PRIOR_AF"
+ elif eflag == X86_EFLAGS_PRIOR_PF:
+ return "PRIOR_PF"
+ elif eflag == X86_EFLAGS_PRIOR_CF:
+ return "PRIOR_CF"
+ elif eflag == X86_EFLAGS_PRIOR_TF:
+ return "PRIOR_TF"
+ elif eflag == X86_EFLAGS_PRIOR_IF:
+ return "PRIOR_IF"
+ elif eflag == X86_EFLAGS_PRIOR_DF:
+ return "PRIOR_DF"
+ elif eflag == X86_EFLAGS_TEST_NT:
+ return "TEST_NT"
+ elif eflag == X86_EFLAGS_TEST_DF:
+ return "TEST_DF"
+ elif eflag == X86_EFLAGS_RESET_PF:
+ return "RESET_PF"
+ elif eflag == X86_EFLAGS_PRIOR_NT:
+ return "PRIOR_NT"
+ elif eflag == X86_EFLAGS_MODIFY_TF:
+ return "MOD_TF"
+ elif eflag == X86_EFLAGS_MODIFY_IF:
+ return "MOD_IF"
+ elif eflag == X86_EFLAGS_MODIFY_DF:
+ return "MOD_DF"
+ elif eflag == X86_EFLAGS_MODIFY_NT:
+ return "MOD_NT"
+ elif eflag == X86_EFLAGS_MODIFY_RF:
+ return "MOD_RF"
+ elif eflag == X86_EFLAGS_SET_CF:
+ return "SET_CF"
+ elif eflag == X86_EFLAGS_SET_DF:
+ return "SET_DF"
+ elif eflag == X86_EFLAGS_SET_IF:
+ return "SET_IF"
+ else:
+ return None
+
+
+def print_insn_detail(mode, insn):
+ def print_string_hex(comment, str):
+ print(comment, end=' '),
+ for c in str:
+ print("0x%02x " % c, end=''),
+ print()
+
+ # print address, mnemonic and operands
+ print("0x%x:\t%s\t%s" % (insn.address, insn.mnemonic, insn.op_str))
+
+ # "data" instruction generated by SKIPDATA option has no detail
+ if insn.id == 0:
+ return
+
+ # print instruction prefix
+ print_string_hex("\tPrefix:", insn.prefix)
+
+ # print instruction's opcode
+ print_string_hex("\tOpcode:", insn.opcode)
+
+ # print operand's REX prefix (non-zero value is relavant for x86_64 instructions)
+ print("\trex: 0x%x" % (insn.rex))
+
+ # print operand's address size
+ print("\taddr_size: %u" % (insn.addr_size))
+
+ # print modRM byte
+ print("\tmodrm: 0x%x" % (insn.modrm))
+
+ # print modRM offset
+ if insn.modrm_offset != 0:
+ print("\tmodrm_offset: 0x%x" % (insn.modrm_offset))
+
+ # print displacement value
+ print("\tdisp: 0x%s" % to_x_32(insn.disp))
+
+ # print displacement offset (offset into instruction bytes)
+ if insn.disp_offset != 0:
+ print("\tdisp_offset: 0x%x" % (insn.disp_offset))
+
+ # print displacement size
+ if insn.disp_size != 0:
+ print("\tdisp_size: 0x%x" % (insn.disp_size))
+
+ # SIB is not available in 16-bit mode
+ if (mode & CS_MODE_16 == 0):
+ # print SIB byte
+ print("\tsib: 0x%x" % (insn.sib))
+ if (insn.sib):
+ if insn.sib_base != 0:
+ print("\t\tsib_base: %s" % (insn.reg_name(insn.sib_base)))
+ if insn.sib_index != 0:
+ print("\t\tsib_index: %s" % (insn.reg_name(insn.sib_index)))
+ if insn.sib_scale != 0:
+ print("\t\tsib_scale: %d" % (insn.sib_scale))
+
+ # XOP CC type
+ if insn.xop_cc != X86_XOP_CC_INVALID:
+ print("\txop_cc: %u" % (insn.xop_cc))
+
+ # SSE CC type
+ if insn.sse_cc != X86_SSE_CC_INVALID:
+ print("\tsse_cc: %u" % (insn.sse_cc))
+
+ # AVX CC type
+ if insn.avx_cc != X86_AVX_CC_INVALID:
+ print("\tavx_cc: %u" % (insn.avx_cc))
+
+ # AVX Suppress All Exception
+ if insn.avx_sae:
+ print("\tavx_sae: TRUE")
+
+ # AVX Rounding Mode type
+ if insn.avx_rm != X86_AVX_RM_INVALID:
+ print("\tavx_rm: %u" % (insn.avx_rm))
+
+ count = insn.op_count(X86_OP_IMM)
+ if count > 0:
+ print("\timm_count: %u" % count)
+ for i in range(count):
+ op = insn.op_find(X86_OP_IMM, i + 1)
+ print("\t\timms[%u]: 0x%s" % (i + 1, to_x(op.imm)))
+ if insn.imm_offset != 0:
+ print("\timm_offset: 0x%x" % (insn.imm_offset))
+ if insn.imm_size != 0:
+ print("\timm_size: 0x%x" % (insn.imm_size))
+
+ if len(insn.operands) > 0:
+ print("\top_count: %u" % len(insn.operands))
+ c = -1
+ for i in insn.operands:
+ c += 1
+ if i.type == X86_OP_REG:
+ print("\t\toperands[%u].type: REG = %s" % (c, insn.reg_name(i.reg)))
+ if i.type == X86_OP_IMM:
+ print("\t\toperands[%u].type: IMM = 0x%s" % (c, to_x(i.imm)))
+ if i.type == X86_OP_MEM:
+ print("\t\toperands[%u].type: MEM" % c)
+ if i.mem.segment != 0:
+ print("\t\t\toperands[%u].mem.segment: REG = %s" % (c, insn.reg_name(i.mem.segment)))
+ if i.mem.base != 0:
+ print("\t\t\toperands[%u].mem.base: REG = %s" % (c, insn.reg_name(i.mem.base)))
+ if i.mem.index != 0:
+ print("\t\t\toperands[%u].mem.index: REG = %s" % (c, insn.reg_name(i.mem.index)))
+ if i.mem.scale != 1:
+ print("\t\t\toperands[%u].mem.scale: %u" % (c, i.mem.scale))
+ if i.mem.disp != 0:
+ print("\t\t\toperands[%u].mem.disp: 0x%s" % (c, to_x(i.mem.disp)))
+
+ # AVX broadcast type
+ if i.avx_bcast != X86_AVX_BCAST_INVALID:
+ print("\t\toperands[%u].avx_bcast: %u" % (c, i.avx_bcast))
+
+ # AVX zero opmask {z}
+ if i.avx_zero_opmask:
+ print("\t\toperands[%u].avx_zero_opmask: TRUE" % (c))
+
+ print("\t\toperands[%u].size: %u" % (c, i.size))
+
+ if i.access == CS_AC_READ:
+ print("\t\toperands[%u].access: READ\n" % (c))
+ elif i.access == CS_AC_WRITE:
+ print("\t\toperands[%u].access: WRITE\n" % (c))
+ elif i.access == CS_AC_READ | CS_AC_WRITE:
+ print("\t\toperands[%u].access: READ | WRITE\n" % (c))
+
+ (regs_read, regs_write) = insn.regs_access()
+
+ if len(regs_read) > 0:
+ print("\tRegisters read:", end="")
+ for r in regs_read:
+ print(" %s" %(insn.reg_name(r)), end="")
+ print("")
+
+ if len(regs_write) > 0:
+ print("\tRegisters modified:", end="")
+ for r in regs_write:
+ print(" %s" %(insn.reg_name(r)), end="")
+ print("")
+
+ if insn.eflags:
+ updated_flags = []
+ for i in range(0,46):
+ if insn.eflags & (1 << i):
+ updated_flags.append(get_eflag_name(1 << i))
+ print("\tEFLAGS: %s" % (','.join(p for p in updated_flags)))
+
+
+# ## Test class Cs
+def test_class():
+
+ for (arch, mode, code, comment, syntax) in all_tests:
+ print("*" * 16)
+ print("Platform: %s" % comment)
+ print("Code: %s" % to_hex(code))
+ print("Disasm:")
+
+ try:
+ md = Cs(arch, mode)
+ md.detail = True
+
+ if syntax is not None:
+ md.syntax = syntax
+
+ for insn in md.disasm(code, 0x1000):
+ print_insn_detail(mode, insn)
+ print ()
+ print ("0x%x:\n" % (insn.address + insn.size))
+ except CsError as e:
+ print("ERROR: %s" % e)
+
+
+if __name__ == '__main__':
+ test_class()
diff --git a/capstone/bindings/python/test_xcore.py b/capstone/bindings/python/test_xcore.py
new file mode 100755
index 000000000..0460a6d41
--- /dev/null
+++ b/capstone/bindings/python/test_xcore.py
@@ -0,0 +1,71 @@
+#!/usr/bin/env python
+
+# Capstone Python bindings, by Nguyen Anh Quynnh <aquynh@gmail.com>
+
+from __future__ import print_function
+from capstone import *
+from capstone.xcore import *
+from xprint import to_x, to_hex
+
+
+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\x09\xfd\xec\xa7"
+
+all_tests = (
+ (CS_ARCH_XCORE, 0, XCORE_CODE, "XCore"),
+)
+
+
+def print_insn_detail(insn):
+ # print address, mnemonic and operands
+ print("0x%x:\t%s\t%s" % (insn.address, insn.mnemonic, insn.op_str))
+
+ # "data" instruction generated by SKIPDATA option has no detail
+ if insn.id == 0:
+ return
+
+ if len(insn.operands) > 0:
+ print("\top_count: %u" % len(insn.operands))
+ c = 0
+ for i in insn.operands:
+ if i.type == XCORE_OP_REG:
+ print("\t\toperands[%u].type: REG = %s" % (c, insn.reg_name(i.reg)))
+ if i.type == XCORE_OP_IMM:
+ print("\t\toperands[%u].type: IMM = 0x%s" % (c, to_x(i.imm)))
+ if i.type == XCORE_OP_MEM:
+ print("\t\toperands[%u].type: MEM" % c)
+ if i.mem.base != 0:
+ print("\t\t\toperands[%u].mem.base: REG = %s" \
+ % (c, insn.reg_name(i.mem.base)))
+ if i.mem.index != 0:
+ print("\t\t\toperands[%u].mem.index: REG = %s" \
+ % (c, insn.reg_name(i.mem.index)))
+ if i.mem.disp != 0:
+ print("\t\t\toperands[%u].mem.disp: 0x%s" \
+ % (c, to_x(i.mem.disp)))
+ if i.mem.direct != 1:
+ print("\t\t\toperands[%u].mem.direct: -1" % c)
+ c += 1
+
+
+# ## Test class Cs
+def test_class():
+
+ for (arch, mode, code, comment) in all_tests:
+ print("*" * 16)
+ print("Platform: %s" %comment)
+ print("Code: %s" % to_hex(code))
+ print("Disasm:")
+
+ try:
+ md = Cs(arch, mode)
+ md.detail = True
+ for insn in md.disasm(code, 0x1000):
+ print_insn_detail(insn)
+ print ()
+ print("0x%x:\n" % (insn.address + insn.size))
+ except CsError as e:
+ print("ERROR: %s" %e)
+
+
+if __name__ == '__main__':
+ test_class()
diff --git a/capstone/bindings/python/xprint.py b/capstone/bindings/python/xprint.py
new file mode 100755
index 000000000..70affaca5
--- /dev/null
+++ b/capstone/bindings/python/xprint.py
@@ -0,0 +1,41 @@
+#!/usr/bin/env python
+# Capstone Python bindings, by Nguyen Anh Quynnh <aquynh@gmail.com>
+
+from __future__ import print_function
+import sys
+_python3 = sys.version_info.major == 3
+
+
+def to_hex(s, prefix_0x = True):
+ if _python3:
+ if prefix_0x:
+ return " ".join("0x{0:02x}".format(c) for c in s) # <-- Python 3 is OK
+ else:
+ return " ".join("{0:02x}".format(c) for c in s) # <-- Python 3 is OK
+ else:
+ if prefix_0x:
+ return " ".join("0x{0:02x}".format(ord(c)) for c in s)
+ else:
+ return " ".join("{0:02x}".format(ord(c)) for c in s)
+
+def to_hex2(s):
+ if _python3:
+ r = "".join("{0:02x}".format(c) for c in s) # <-- Python 3 is OK
+ else:
+ r = "".join("{0:02x}".format(ord(c)) for c in s)
+ while r[0] == '0': r = r[1:]
+ return r
+
+def to_x(s):
+ from struct import pack
+ if not s: return '0'
+ x = pack(">q", s)
+ while x[0] in ('\0', 0): x = x[1:]
+ return to_hex2(x)
+
+def to_x_32(s):
+ from struct import pack
+ if not s: return '0'
+ x = pack(">i", s)
+ while x[0] in ('\0', 0): x = x[1:]
+ return to_hex2(x)
diff --git a/capstone/bindings/vb6/CDisassembler.cls b/capstone/bindings/vb6/CDisassembler.cls
new file mode 100644
index 000000000..c390d58cb
--- /dev/null
+++ b/capstone/bindings/vb6/CDisassembler.cls
@@ -0,0 +1,153 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+ Persistable = 0 'NotPersistable
+ DataBindingBehavior = 0 'vbNone
+ DataSourceBehavior = 0 'vbNone
+ MTSTransactionMode = 0 'NotAnMTSObject
+END
+Attribute VB_Name = "CDisassembler"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = True
+Attribute VB_PredeclaredId = False
+Attribute VB_Exposed = False
+Option Explicit
+
+'Capstone Disassembly Engine bindings for VB6
+'Contributed by FireEye FLARE Team
+'Author: David Zimmer <david.zimmer@fireeye.com>, <dzzie@yahoo.com>
+'License: Apache
+'Copyright: FireEye 2017
+
+
+'NOTE: the VB code was built and tested against Capstone v3.0 rc4
+' if the capstone C structures change, the VB code will have to
+' be adjusted to match!
+'
+' instructions details are currently only implemented for x86
+
+Public arch As cs_arch
+Public mode As cs_mode
+Public hCapstone As Long
+Public hLib As Long
+
+Public version As String
+Public vMajor As Long
+Public vMinor As Long
+
+Public errMsg As String
+Public lastErr As cs_err
+
+Private Function CheckPath(pth As String) As Long
+
+ Dim hCap As Long, capPth As String, shimPth As String
+
+ shimPth = pth & "\vbCapstone.dll"
+ capPth = pth & "\capstone.dll"
+
+ If Not FileExists(shimPth) Then Exit Function
+
+ hCap = LoadLibrary(capPth)
+ If hCap = 0 Then hCap = LoadLibrary("capstone.dll")
+ If hCap = 0 Then errMsg = "Could not find capstone.dll"
+
+ CheckPath = LoadLibrary(shimPth)
+ 'If CheckPath = 0 Then MsgBox Err.LastDllError
+
+End Function
+
+Public Function init(arch As cs_arch, mode As cs_mode, Optional enableDetails As Boolean = False) As Boolean
+
+ errMsg = Empty
+ hLib = GetModuleHandle("vbCapstone.dll")
+
+ If hLib = 0 Then hLib = CheckPath(App.path & "\bin\")
+ If hLib = 0 Then hLib = CheckPath(App.path & "\")
+ If hLib = 0 Then hLib = CheckPath(App.path & "\..\")
+ If hLib = 0 Then hLib = LoadLibrary("vbCapstone.dll")
+
+ If hLib = 0 Then
+ errMsg = errMsg & " Could not load vbCapstone.dll"
+ Exit Function
+ End If
+
+ Me.arch = arch
+ Me.mode = mode
+
+ cs_version vMajor, vMinor
+ version = vMajor & "." & vMinor
+
+ If cs_support(arch) = 0 Then
+ errMsg = "specified architecture not supported"
+ Exit Function
+ End If
+
+ Dim handle As Long 'in vb class a public var is actually a property get/set can not use as byref to api..
+ lastErr = cs_open(arch, mode, handle)
+ If lastErr <> CS_ERR_OK Then
+ errMsg = err2str(lastErr)
+ Exit Function
+ End If
+
+ hCapstone = handle
+ If enableDetails Then 'vb bindings currently only support details for x86
+ If arch = CS_ARCH_X86 Then
+ cs_option handle, CS_OPT_DETAIL, CS_OPT_ON
+ End If
+ End If
+
+ init = True
+
+End Function
+
+'base is a variant and currently accepts the following input types:
+' x64 number held as currency type (ex. makeCur(&haabbccdd, &h11223344) )
+' int/long value (ex. &h1000 or 12345)
+' numeric string or 0x/&h prefixed hex string (ex. "12345", "0x1200", "&haabbccdd")
+Function disasm(ByVal base, code() As Byte, Optional count As Long = 0) As Collection
+
+ Dim c As Long
+ Dim instAry As Long
+ Dim ret As New Collection
+ Dim ci As CInstruction
+ Dim i As Long
+ Dim address As Currency
+
+ On Error Resume Next
+
+ Set disasm = ret
+
+ If TypeName(base) = "Currency" Then
+ address = base
+ Else
+ If TypeName(base) = "String" Then base = Replace(Trim(base), "0x", "&h")
+ address = lng2Cur(CLng(base))
+ If Err.Number <> 0 Then
+ errMsg = "Could not convert base address to long"
+ Exit Function
+ End If
+ End If
+
+ c = cs_disasm(Me.hCapstone, code(0), UBound(code) + 1, address, count, instAry)
+ If c = 0 Then Exit Function
+
+ For i = 0 To c - 1
+ Set ci = New CInstruction
+ ci.LoadInstruction instAry, i, Me
+ ret.Add ci
+ Next
+
+ cs_free instAry, c
+
+End Function
+
+
+Private Sub Class_Terminate()
+ Dim msg As String
+ If DEBUG_DUMP Then
+ msg = "CDissembler.Terminate " & Hex(hCapstone)
+ If hCapstone <> 0 Then lastErr = cs_close(hCapstone)
+ Debug.Print msg & " : " & lastErr
+ End If
+End Sub
+
diff --git a/capstone/bindings/vb6/CInstDetails.cls b/capstone/bindings/vb6/CInstDetails.cls
new file mode 100644
index 000000000..9495f7fc1
--- /dev/null
+++ b/capstone/bindings/vb6/CInstDetails.cls
@@ -0,0 +1,119 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+ Persistable = 0 'NotPersistable
+ DataBindingBehavior = 0 'vbNone
+ DataSourceBehavior = 0 'vbNone
+ MTSTransactionMode = 0 'NotAnMTSObject
+END
+Attribute VB_Name = "CInstDetails"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = True
+Attribute VB_PredeclaredId = False
+Attribute VB_Exposed = False
+Option Explicit
+'Capstone Disassembly Engine bindings for VB6
+'Contributed by FireEye FLARE Team
+'Author: David Zimmer <david.zimmer@fireeye.com>, <dzzie@yahoo.com>
+'License: Apache
+'Copyright: FireEye 2017
+
+'Public Type cs_detail
+' regs_read(0 To 15) As Byte ' list of implicit registers read by this insn UNSIGNED
+' regs_read_count As Byte ' number of implicit registers read by this insn UNSIGNED
+' regs_write(0 To 19) As Byte ' list of implicit registers modified by this insn UNSIGNED
+' regs_write_count As Byte ' number of implicit registers modified by this insn UNSIGNED
+' groups(0 To 7) As Byte ' list of group this instruction belong to UNSIGNED
+' groups_count As Byte ' number of groups this insn belongs to UNSIGNED
+'
+' // Architecture-specific instruction info
+' union {
+' cs_x86 x86; // X86 architecture, including 16-bit, 32-bit & 64-bit mode
+' cs_arm64 arm64; // ARM64 architecture (aka AArch64)
+' cs_arm arm; // ARM architecture (including Thumb/Thumb2)
+' cs_mips mips; // MIPS architecture
+' cs_ppc ppc; // PowerPC architecture
+' cs_sparc sparc; // Sparc architecture
+' cs_sysz sysz; // SystemZ architecture
+' cs_xcore xcore; // XCore architecture
+' };
+'} cs_detail;
+
+Public regRead As New Collection
+Public regWritten As New Collection
+Public groups As New Collection
+Public parent As CDisassembler
+
+'this will be set to a class of the specific instruction info type by architecture..
+Public info As Object
+
+Private m_raw() As Byte
+
+Function toString() As String
+
+ On Error Resume Next
+
+ Dim ret() As String
+ Dim v, tmp
+
+ push ret, "Instruction details: "
+ push ret, String(40, "-")
+
+ If DEBUG_DUMP Then
+ push ret, "Raw: "
+ push ret, HexDump(m_raw)
+ End If
+
+ push ret, "Registers Read: " & regRead.count & IIf(regRead.count > 0, " Values: " & col2Str(regRead), Empty)
+ push ret, "Registers Written: " & regWritten.count & IIf(regWritten.count > 0, " Values: " & col2Str(regWritten), Empty)
+ push ret, "Groups: " & groups.count & IIf(groups.count > 0, " Values: " & col2Str(groups), Empty)
+
+ 'it is expected that each CXXInst class implements a toString() method..if not we catch the error anyway..
+ If Not info Is Nothing Then
+ push ret, info.toString()
+ End If
+
+ toString = Join(ret, vbCrLf)
+
+End Function
+
+Friend Sub LoadDetails(lpDetails As Long, parent As CDisassembler)
+
+ Dim cd As cs_detail
+ Dim i As Long
+ Dim x86 As CX86Inst
+
+ Set Me.parent = parent
+
+ 'vbdef only contains up to the groups_count field..
+ CopyMemory ByVal VarPtr(cd), ByVal lpDetails, LenB(cd)
+
+ If DEBUG_DUMP Then
+ ReDim m_raw(LenB(cd))
+ CopyMemory ByVal VarPtr(m_raw(0)), ByVal lpDetails, LenB(cd)
+ End If
+
+ For i = 1 To cd.regs_read_count
+ regRead.Add cd.regs_read(i - 1)
+ Next
+
+ For i = 1 To cd.regs_write_count
+ regWritten.Add cd.regs_write(i - 1)
+ Next
+
+ For i = 1 To cd.groups_count
+ groups.Add cd.groups(i - 1)
+ Next
+
+ Const align = 5
+
+ 'each arch needs its own CxxInstr class implemented here...
+ If parent.arch = CS_ARCH_X86 Then
+ Set x86 = New CX86Inst
+ x86.LoadDetails lpDetails + LenB(cd) + align, parent
+ Set info = x86
+ End If
+
+
+
+End Sub
diff --git a/capstone/bindings/vb6/CInstruction.cls b/capstone/bindings/vb6/CInstruction.cls
new file mode 100644
index 000000000..6c9bcc4ff
--- /dev/null
+++ b/capstone/bindings/vb6/CInstruction.cls
@@ -0,0 +1,133 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+ Persistable = 0 'NotPersistable
+ DataBindingBehavior = 0 'vbNone
+ DataSourceBehavior = 0 'vbNone
+ MTSTransactionMode = 0 'NotAnMTSObject
+END
+Attribute VB_Name = "CInstruction"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = True
+Attribute VB_PredeclaredId = False
+Attribute VB_Exposed = False
+Option Explicit
+
+'Capstone Disassembly Engine bindings for VB6
+'Contributed by FireEye FLARE Team
+'Author: David Zimmer <david.zimmer@fireeye.com>, <dzzie@yahoo.com>
+'License: Apache
+'Copyright: FireEye 2017
+
+
+'Public Type cs_insn
+' ' Instruction ID (basically a numeric ID for the instruction mnemonic)
+' ' Find the instruction id in the '[ARCH]_insn' enum in the header file
+' ' of corresponding architecture, such as 'arm_insn' in arm.h for ARM,
+' ' 'x86_insn' in x86.h for X86, etc...
+' ' available even when CS_OPT_DETAIL = CS_OPT_OFF
+' ' NOTE: in Skipdata mode, "data" instruction has 0 for this id field. UNSIGNED
+' id As Long '
+' align As Long 'not sure why it needs this..but it does..
+' address As Currency ' Address (EIP) of this instruction available even when CS_OPT_DETAIL = CS_OPT_OFF UNSIGNED
+' size As Integer ' Size of this instruction available even when CS_OPT_DETAIL = CS_OPT_OFF UNSIGNED
+' bytes(0 To 23) As Byte ' Machine bytes of this instruction, with number of bytes indicated by @size above available even when CS_OPT_DETAIL = CS_OPT_OFF
+' mnemonic(0 To 31) As Byte ' Ascii text of instruction mnemonic available even when CS_OPT_DETAIL = CS_OPT_OFF
+' op_str(0 To 159) As Byte ' Ascii text of instruction operands available even when CS_OPT_DETAIL = CS_OPT_OFF
+'
+' ' Pointer to cs_detail.
+' ' NOTE: detail pointer is only valid when both requirements below are met:
+' ' (1) CS_OP_DETAIL = CS_OPT_ON
+' ' (2) Engine is not in Skipdata mode (CS_OP_SKIPDATA option set to CS_OPT_ON)
+' ' NOTE 2: when in Skipdata mode, or when detail mode is OFF, even if this pointer
+' ' is not NULL, its content is still irrelevant.
+' lpDetail As Long ' points to a cs_detail structure NOTE: only available when CS_OPT_DETAIL = CS_OPT_ON
+'
+'End Type
+
+Public ID As Long
+Public address As Currency
+Public size As Long
+Private m_bytes() As Byte
+Public instruction As String
+Public operand As String
+Public lpDetails As Long
+Public parent As CDisassembler
+
+Public details As CInstDetails 'may be null
+
+Property Get bytes() As Byte()
+ bytes = Me.bytes()
+End Property
+
+Property Get byteDump(Optional padding = 15) As String
+ Dim b As String, i As Long
+ For i = 0 To UBound(m_bytes)
+ b = b & hhex(m_bytes(i)) & " "
+ Next
+ byteDump = rpad(b, padding)
+End Property
+
+Property Get text() As String
+
+ text = cur2str(address) & " " & byteDump & " " & instruction & " " & operand
+
+End Property
+
+Function toString() As String
+
+ Dim r() As String
+
+ push r, "CInstruction: "
+ push r, String(40, "-")
+ push r, "Id: " & Hex(ID)
+ push r, "address: " & cur2str(address)
+ push r, "size: " & Hex(size)
+ push r, "bytes: " & byteDump()
+ push r, "instruction: " & instruction
+ push r, "operand: " & operand
+ push r, "lpDetails: " & Hex(lpDetails)
+
+ If Not details Is Nothing Then
+ push r, details.toString()
+ End If
+
+ toString = Join(r, vbCrLf)
+
+End Function
+
+Friend Sub LoadInstruction(instAry As Long, index As Long, parent As CDisassembler)
+
+ Dim inst As cs_insn
+ Dim i As Long
+
+ getInstruction instAry, index, VarPtr(inst), LenB(inst)
+
+ ID = inst.ID
+ address = inst.address
+ size = inst.size
+ lpDetails = inst.lpDetail
+ Set Me.parent = parent
+
+ m_bytes() = inst.bytes
+ ReDim Preserve m_bytes(size - 1)
+
+ For i = 0 To UBound(inst.mnemonic)
+ If inst.mnemonic(i) = 0 Then Exit For
+ instruction = instruction & Chr(inst.mnemonic(i))
+ Next
+
+ For i = 0 To UBound(inst.op_str)
+ If inst.op_str(i) = 0 Then Exit For
+ operand = operand & Chr(inst.op_str(i))
+ Next
+
+ If lpDetails = 0 Then Exit Sub
+ Set details = New CInstDetails
+ details.LoadDetails lpDetails, parent
+
+End Sub
+
+
+
+
diff --git a/capstone/bindings/vb6/CX86Inst.cls b/capstone/bindings/vb6/CX86Inst.cls
new file mode 100644
index 000000000..daf7dd5b8
--- /dev/null
+++ b/capstone/bindings/vb6/CX86Inst.cls
@@ -0,0 +1,197 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+ Persistable = 0 'NotPersistable
+ DataBindingBehavior = 0 'vbNone
+ DataSourceBehavior = 0 'vbNone
+ MTSTransactionMode = 0 'NotAnMTSObject
+END
+Attribute VB_Name = "CX86Inst"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = True
+Attribute VB_PredeclaredId = False
+Attribute VB_Exposed = False
+Option Explicit
+
+'Capstone Disassembly Engine bindings for VB6
+'Contributed by FireEye FLARE Team
+'Author: David Zimmer <david.zimmer@fireeye.com>, <dzzie@yahoo.com>
+'License: Apache
+'Copyright: FireEye 2017
+
+
+'// Instruction structure sizeof() = 432 bytes
+'typedef struct cs_x86 {
+' // Instruction prefix, which can be up to 4 bytes.
+' // A prefix byte gets value 0 when irrelevant.
+' // prefix[0] indicates REP/REPNE/LOCK prefix (See X86_PREFIX_REP/REPNE/LOCK above)
+' // prefix[1] indicates segment override (irrelevant for x86_64):
+' // See X86_PREFIX_CS/SS/DS/ES/FS/GS above.
+' // prefix[2] indicates operand-size override (X86_PREFIX_OPSIZE)
+' // prefix[3] indicates address-size override (X86_PREFIX_ADDRSIZE)
+' uint8_t prefix[4];
+'
+' // Instruction opcode, wich can be from 1 to 4 bytes in size.
+' // This contains VEX opcode as well.
+' // An trailing opcode byte gets value 0 when irrelevant.
+' uint8_t opcode[4];
+'
+' // REX prefix: only a non-zero value is relavant for x86_64
+' uint8_t rex;
+'
+' // Address size, which can be overrided with above prefix[5].
+' uint8_t addr_size;
+'
+' // ModR/M byte
+' uint8_t modrm;
+'
+' // SIB value, or 0 when irrelevant.
+' uint8_t sib;
+'
+' // Displacement value, or 0 when irrelevant.
+' int32_t disp;
+'
+' /* SIB state */
+' // SIB index register, or X86_REG_INVALID when irrelevant.
+' x86_reg sib_index;
+' // SIB scale. only applicable if sib_index is relavant.
+' int8_t sib_scale;
+' // SIB base register, or X86_REG_INVALID when irrelevant.
+' x86_reg sib_base;
+'
+' // SSE Code Condition
+' x86_sse_cc sse_cc;
+'
+' // AVX Code Condition
+' x86_avx_cc avx_cc;
+'
+' // AVX Suppress all Exception
+' bool avx_sae;
+'
+' // AVX static rounding mode
+' x86_avx_rm avx_rm;
+'
+' // Number of operands of this instruction,
+' // or 0 when instruction has no operand.
+' uint8_t op_count;
+'
+' cs_x86_op operands[8]; // operands for this instruction.
+'} cs_x86;
+
+Private m_prefix() As Byte
+Private m_opcode() As Byte
+Public rex As Byte
+Public addr_size As Byte
+Public modrm As Byte
+Public sib As Byte
+Public disp As Long
+Public sib_index As x86_reg
+Public sib_scale As Byte
+Public sib_base As x86_reg
+Public sse_cc As x86_sse_cc
+Public avx_cc As x86_avx_cc
+Public avx_sae As Boolean
+Public avx_rm As x86_avx_rm
+Public operands As New Collection
+
+Public parent As CDisassembler
+Private hEngine As Long
+Private m_raw() As Byte
+
+Property Get prefix() As Byte()
+ prefix = m_prefix
+End Property
+
+Property Get opcode() As Byte()
+ opcode = m_opcode
+End Property
+
+Function toString() As String
+
+ Dim r() As String
+ Dim o As CX86Operand
+
+ push r, "X86 Instruction Details:"
+ push r, String(40, "-")
+
+ If DEBUG_DUMP Then
+ push r, "Raw: "
+ push r, HexDump(m_raw)
+ End If
+
+ push r, "Prefix: " & b2Str(m_prefix)
+ push r, "OpCode: " & b2Str(m_opcode)
+ push r, "Rex: " & rex
+ push r, "addr_size: " & addr_size
+ push r, "modrm: " & Hex(modrm)
+ push r, "disp: " & Hex(disp)
+
+ If parent.mode <> CS_MODE_16 Then
+ push r, "sib: " & Hex(sib)
+ push r, "sib_index: " & regName(hEngine, sib_index)
+ push r, "sib_scale: " & Hex(sib_scale)
+ push r, "sib_base: " & regName(hEngine, sib_base)
+ End If
+
+ If sse_cc <> 0 Then push r, "sse_cc: " & x86_sse_cc2str(sse_cc)
+ If avx_cc <> 0 Then push r, "avx_cc: " & x86_avx_cc2str(avx_cc)
+ If avx_sae <> 0 Then push r, "avx_sae: " & avx_sae
+ If avx_rm <> 0 Then push r, "avx_rm: " & x86_avx_rm2str(avx_rm)
+
+ push r, "Operands: " & operands.count
+
+ For Each o In operands
+ push r, String(40, "-")
+ push r, o.toString
+ Next
+
+ toString = Join(r, vbCrLf)
+
+End Function
+
+Friend Sub LoadDetails(lpStruct As Long, parent As CDisassembler)
+
+ Dim cs As cs_x86
+ Dim o As CX86Operand
+ Dim ptr As Long
+ Dim i As Long
+
+ Const sizeOfx86Operand = 48
+
+ Set Me.parent = parent
+ hEngine = parent.hCapstone
+
+ CopyMemory ByVal VarPtr(cs), ByVal lpStruct, LenB(cs)
+
+ If DEBUG_DUMP Then
+ ReDim m_raw(LenB(cs))
+ CopyMemory ByVal VarPtr(m_raw(0)), ByVal lpStruct, LenB(cs)
+ End If
+
+ Me.rex = cs.rex
+ Me.addr_size = cs.addr_size
+ Me.modrm = cs.modrm
+ Me.sib = cs.sib
+ Me.disp = cs.disp
+ Me.sib_index = cs.sib_index
+ Me.sib_scale = cs.sib_scale
+ Me.sib_base = cs.sib_base
+ Me.sse_cc = cs.sse_cc
+ Me.avx_cc = cs.avx_cc
+ Me.avx_sae = cs.avx_sae
+ Me.avx_rm = cs.avx_rm
+ m_prefix = cs.prefix
+ m_opcode = cs.opcode
+
+ ptr = lpStruct + LenB(cs) 'we dont include the operands in our vb struct..
+ For i = 1 To cs.op_count
+ Set o = New CX86Operand
+ o.LoadDetails ptr, hEngine
+ operands.Add o
+ ptr = ptr + sizeOfx86Operand
+ Next
+
+
+
+End Sub
+
diff --git a/capstone/bindings/vb6/CX86OpMem.cls b/capstone/bindings/vb6/CX86OpMem.cls
new file mode 100644
index 000000000..d867c1a68
--- /dev/null
+++ b/capstone/bindings/vb6/CX86OpMem.cls
@@ -0,0 +1,28 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+ Persistable = 0 'NotPersistable
+ DataBindingBehavior = 0 'vbNone
+ DataSourceBehavior = 0 'vbNone
+ MTSTransactionMode = 0 'NotAnMTSObject
+END
+Attribute VB_Name = "CX86OpMem"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = True
+Attribute VB_PredeclaredId = False
+Attribute VB_Exposed = False
+Option Explicit
+
+'Capstone Disassembly Engine bindings for VB6
+'Contributed by FireEye FLARE Team
+'Author: David Zimmer <david.zimmer@fireeye.com>, <dzzie@yahoo.com>
+'License: Apache
+'Copyright: FireEye 2017
+
+
+Public segment As Long ' segment register (or X86_REG_INVALID if irrelevant) UNSIGNED
+Public base As Long ' base register (or X86_REG_INVALID if irrelevant) UNSIGNED
+Public index As Long ' index register (or X86_REG_INVALID if irrelevant) UNSIGNED
+Public scale_ As Long ' scale for index register
+Public disp As Currency ' displacement value
+
diff --git a/capstone/bindings/vb6/CX86Operand.cls b/capstone/bindings/vb6/CX86Operand.cls
new file mode 100644
index 000000000..ed3c5432c
--- /dev/null
+++ b/capstone/bindings/vb6/CX86Operand.cls
@@ -0,0 +1,202 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+ Persistable = 0 'NotPersistable
+ DataBindingBehavior = 0 'vbNone
+ DataSourceBehavior = 0 'vbNone
+ MTSTransactionMode = 0 'NotAnMTSObject
+END
+Attribute VB_Name = "CX86Operand"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = True
+Attribute VB_PredeclaredId = False
+Attribute VB_Exposed = False
+Option Explicit
+
+'Capstone Disassembly Engine bindings for VB6
+'Contributed by FireEye FLARE Team
+'Author: David Zimmer <david.zimmer@fireeye.com>, <dzzie@yahoo.com>
+'License: Apache
+'Copyright: FireEye 2017
+
+
+'// Instruction operand sizeof() reports 48 bytes
+'typedef struct cs_x86_op {
+' x86_op_type type; // operand type
+'
+' union {
+' x86_reg reg; // register value for REG operand
+' int64_t imm; // immediate value for IMM operand
+' double fp; // floating point value for FP operand
+' x86_op_mem mem; // base/index/scale/disp value for MEM operand (24bytes max)
+' };
+'
+' // size of this operand (in bytes).
+' uint8_t size;
+'
+' // AVX broadcast type, or 0 if irrelevant
+' x86_avx_bcast avx_bcast;
+'
+' // AVX zero opmask {z}
+' bool avx_zero_opmask;
+'} cs_x86_op;
+
+'Instruction's operand referring to memory
+'This is associated with X86_OP_MEM operand type above
+'Public Type x86_op_mem
+' segment As Long ' segment register (or X86_REG_INVALID if irrelevant) UNSIGNED
+' base As Long ' base register (or X86_REG_INVALID if irrelevant) UNSIGNED
+' index As Long ' index register (or X86_REG_INVALID if irrelevant) UNSIGNED
+' scale As Long ' scale for index register
+' disp As Currency ' displacement value
+'End Type
+
+'this shows the alignment padding used by compiler..
+' cs_x86_op op;
+' op.type = (x86_op_type)1;
+' op.reg = (x86_reg)2;
+' op.avx_bcast = (x86_avx_bcast)3;
+' op.avx_zero_opmask = 4;
+' op.size = 0xaa;
+' printf("&cs_x86_op = %x", &op);
+' _asm int 3
+'
+'
+'0x0012FF34 01 00 00 00 cc cc cc cc 02 00 00 00 cc cc cc cc ........
+'0x0012FF44 cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc
+'0x0012FF54 aa cc cc cc 03 00 00 00 01 cc cc cc cc cc cc cc .....
+
+Public optype As x86_op_type
+Public size As Byte
+Public avx_bcast As x86_avx_bcast
+Public avx_zero_opmask As Boolean
+
+'only one of the following will be set based on type
+Public reg As x86_reg
+Public fp As Currency
+Public imm As Currency
+Public mem As CX86OpMem
+
+Private hEngine As Long
+Private m_raw() As Byte
+
+Function toString() As String
+
+ Dim ret() As String
+
+ push ret, "X86 Operand:"
+ push ret, String(45, "-")
+
+ If DEBUG_DUMP Then
+ push ret, "Raw: "
+ push ret, HexDump(m_raw)
+ End If
+
+ push ret, "Type: " & opStr()
+ push ret, "Size: " & size
+ If avx_bcast <> 0 Then push ret, "BCast: " & bcastStr()
+ If avx_zero_opmask Then push ret, "AvxOpMask: " & avx_zero_opmask
+
+ If optype = X86_OP_FP Then
+ push ret, "FP: " & cur2str(fp)
+ ElseIf optype = X86_OP_IMM Then
+ push ret, "IMM: " & cur2str(imm)
+ ElseIf optype = x86_op_mem Then
+ If mem.base <> 0 Then push ret, "Base: " & regName(hEngine, mem.base)
+ If mem.index <> 0 Then push ret, "Index: " & regName(hEngine, mem.index)
+ If mem.scale_ <> 1 Then push ret, "Scale: " & Hex(mem.scale_)
+ If mem.segment <> 0 Then push ret, "Seg: " & regName(hEngine, mem.segment)
+ If mem.disp <> 0 Then push ret, "Disp: " & cur2str(mem.disp)
+ ElseIf optype = X86_OP_REG Then
+ push ret, "Reg: " & regName(hEngine, reg)
+ End If
+
+ toString = Join(ret, vbCrLf)
+
+End Function
+
+Function opStr() As String
+
+ If optype = X86_OP_FP Then opStr = "X86_OP_FP"
+ If optype = x86_op_mem Then opStr = "x86_op_mem"
+ If optype = X86_OP_IMM Then opStr = "X86_OP_IMM"
+ If optype = X86_OP_REG Then opStr = "X86_OP_REG"
+ If optype = X86_OP_INVALID Then opStr = "X86_OP_INVALID"
+
+ If Len(opStr) = 0 Then
+ opStr = "Error: " & Hex(optype)
+ ElseIf DEBUG_DUMP Then
+ opStr = opStr & " (" & Hex(optype) & ")"
+ End If
+
+End Function
+
+Function bcastStr() As String
+ Dim r As String
+
+ If avx_bcast = X86_AVX_BCAST_INVALID Then r = "X86_AVX_BCAST_INVALID"
+ If avx_bcast = X86_AVX_BCAST_2 Then r = "X86_AVX_BCAST_2"
+ If avx_bcast = X86_AVX_BCAST_4 Then r = "X86_AVX_BCAST_4"
+ If avx_bcast = X86_AVX_BCAST_8 Then r = "X86_AVX_BCAST_8"
+ If avx_bcast = X86_AVX_BCAST_16 Then r = "X86_AVX_BCAST_16"
+
+ If Len(r) = 0 Then
+ r = "Unknown: " & Hex(avx_bcast)
+ ElseIf DEBUG_DUMP Then
+ r = r & " (" & Hex(avx_bcast) & ")"
+ End If
+
+ bcastStr = r
+End Function
+
+
+Friend Sub LoadDetails(lpStruct As Long, hCapstone As Long)
+
+ Dim opMem As x86_op_mem
+ Dim ptr As Long
+
+ Const align4 = 4
+ Const align3 = 3
+
+ hEngine = hCapstone
+
+ If DEBUG_DUMP Then
+ ReDim m_raw(48)
+ CopyMemory ByVal VarPtr(m_raw(0)), ByVal lpStruct, 48
+ End If
+
+ optype = readLng(lpStruct)
+ ptr = lpStruct + 4 + align4
+
+ If optype = X86_OP_FP Then
+ fp = readCur(ptr)
+ ElseIf optype = X86_OP_IMM Then
+ imm = readCur(ptr)
+ ElseIf optype = x86_op_mem Then
+ CopyMemory ByVal VarPtr(opMem), ByVal ptr, LenB(opMem)
+ Set mem = New CX86OpMem
+ mem.base = opMem.base
+ mem.disp = opMem.disp
+ mem.index = opMem.index
+ mem.scale_ = opMem.scale
+ mem.segment = opMem.segment
+ ElseIf optype = X86_OP_REG Then
+ reg = readLng(ptr)
+ End If
+
+ ptr = ptr + LenB(opMem)
+
+ size = readByte(ptr)
+ ptr = ptr + 1 + align3
+
+ avx_bcast = readLng(ptr)
+ ptr = ptr + 4
+
+ avx_zero_opmask = (readByte(ptr) = 1)
+
+End Sub
+
+Private Sub Class_Terminate()
+ 'looks like everything is freeing up ok
+ 'Debug.Print "Cx86Operand.Terminate"
+End Sub
diff --git a/capstone/bindings/vb6/Form1.frm b/capstone/bindings/vb6/Form1.frm
new file mode 100644
index 000000000..df71dbeb8
--- /dev/null
+++ b/capstone/bindings/vb6/Form1.frm
@@ -0,0 +1,275 @@
+VERSION 5.00
+Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "mscomctl.ocx"
+Begin VB.Form Form1
+ Caption = "VB6 Bindings for Capstone Disassembly Engine - Contributed by FireEye FLARE Team"
+ ClientHeight = 7290
+ ClientLeft = 60
+ ClientTop = 345
+ ClientWidth = 10275
+ LinkTopic = "Form1"
+ ScaleHeight = 7290
+ ScaleWidth = 10275
+ StartUpPosition = 2 'CenterScreen
+ Begin VB.CommandButton Command2
+ Caption = "Save"
+ Height = 375
+ Left = 8760
+ TabIndex = 8
+ Top = 120
+ Width = 1455
+ End
+ Begin VB.CommandButton Command1
+ Caption = " Arm 64"
+ Height = 375
+ Index = 4
+ Left = 6840
+ TabIndex = 7
+ Top = 120
+ Width = 1455
+ End
+ Begin VB.CommandButton Command1
+ Caption = "Arm"
+ Height = 375
+ Index = 3
+ Left = 5160
+ TabIndex = 6
+ Top = 120
+ Width = 1455
+ End
+ Begin VB.CommandButton Command1
+ Caption = "x86 64bit"
+ Height = 375
+ Index = 2
+ Left = 3480
+ TabIndex = 5
+ Top = 120
+ Width = 1455
+ End
+ Begin VB.CommandButton Command1
+ Caption = "x86 16bit"
+ Height = 375
+ Index = 0
+ Left = 120
+ TabIndex = 4
+ Top = 120
+ Width = 1455
+ End
+ Begin VB.CommandButton Command1
+ Caption = "x86 32bit"
+ Height = 375
+ Index = 1
+ Left = 1800
+ TabIndex = 3
+ Top = 120
+ Width = 1455
+ End
+ Begin MSComctlLib.ListView lv
+ Height = 2415
+ Left = 120
+ TabIndex = 2
+ Top = 1440
+ Width = 10095
+ _ExtentX = 17806
+ _ExtentY = 4260
+ View = 3
+ LabelEdit = 1
+ LabelWrap = -1 'True
+ HideSelection = 0 'False
+ FullRowSelect = -1 'True
+ _Version = 393217
+ ForeColor = -2147483640
+ BackColor = -2147483643
+ BorderStyle = 1
+ Appearance = 1
+ BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851}
+ Name = "Courier"
+ Size = 9.75
+ Charset = 0
+ Weight = 400
+ Underline = 0 'False
+ Italic = 0 'False
+ Strikethrough = 0 'False
+ EndProperty
+ NumItems = 1
+ BeginProperty ColumnHeader(1) {BDD1F052-858B-11D1-B16A-00C0F0283628}
+ Object.Width = 2540
+ EndProperty
+ End
+ Begin VB.ListBox List1
+ BeginProperty Font
+ Name = "Courier"
+ Size = 9.75
+ Charset = 0
+ Weight = 400
+ Underline = 0 'False
+ Italic = 0 'False
+ Strikethrough = 0 'False
+ EndProperty
+ Height = 840
+ Left = 120
+ TabIndex = 1
+ Top = 600
+ Width = 10095
+ End
+ Begin VB.TextBox Text1
+ BeginProperty Font
+ Name = "Courier"
+ Size = 9.75
+ Charset = 0
+ Weight = 400
+ Underline = 0 'False
+ Italic = 0 'False
+ Strikethrough = 0 'False
+ EndProperty
+ Height = 3375
+ Left = 120
+ MultiLine = -1 'True
+ ScrollBars = 3 'Both
+ TabIndex = 0
+ Text = "Form1.frx":0000
+ Top = 3840
+ Width = 10095
+ End
+End
+Attribute VB_Name = "Form1"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = False
+Option Explicit
+
+'Capstone Disassembly Engine bindings for VB6
+'Contributed by FireEye FLARE Team
+'Author: David Zimmer <david.zimmer@fireeye.com>, <dzzie@yahoo.com>
+'License: Apache
+'Copyright: FireEye 2017
+
+Dim cap As CDisassembler
+Dim lastSample As Long
+
+Private Sub Command1_Click(index As Integer)
+
+ Dim code() As Byte, arch As cs_arch, mode As cs_mode
+ lastSample = index
+
+ Const x86_code32 As String = "\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"
+ Const X86_CODE16 As String = "\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"
+ Const X86_CODE64 As String = "\x55\x48\x8b\x05\xb8\x13\x00\x00"
+ Const ARM_CODE As String = "\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\x00\x02\x01\xf1\x05\x40\xd0\xe8\xf4\x80\x00\x00"
+ Const ARM64_CODE As String = "\x09\x00\x38\xd5\xbf\x40\x00\xd5\x0c\x05\x13\xd5\x20\x50\x02\x0e\x20\xe4\x3d\x0f\x00\x18\xa0\x5f\xa2\x00\xae\x9e\x9f\x37\x03\xd5\xbf\x33\x03\xd5\xdf\x3f\x03\xd5\x21\x7c\x02\x9b\x21\x7c\x00\x53\x00\x40\x21\x4b\xe1\x0b\x40\xb9\x20\x04\x81\xda\x20\x08\x02\x8b\x10\x5b\xe8\x3c"
+
+ Select Case index
+ Case 0:
+ arch = CS_ARCH_X86
+ mode = CS_MODE_16
+ code = toBytes(X86_CODE16)
+ Case 1:
+ arch = CS_ARCH_X86
+ mode = CS_MODE_32
+ code = toBytes(x86_code32)
+ Case 2:
+ arch = CS_ARCH_X86
+ mode = CS_MODE_64
+ code = toBytes(X86_CODE64)
+
+ Case 3:
+ arch = CS_ARCH_ARM
+ mode = CS_MODE_ARM
+ code = toBytes(ARM_CODE)
+
+ Case 4:
+ arch = CS_ARCH_ARM64
+ mode = CS_MODE_ARM
+ code = toBytes(ARM64_CODE)
+ End Select
+
+
+ test code, arch, mode
+
+End Sub
+
+Private Sub test(code() As Byte, arch As cs_arch, mode As cs_mode)
+
+
+ Dim ret As Collection
+ Dim ci As CInstruction
+ Dim li As ListItem
+
+ clearForm
+ If Not cap Is Nothing Then Set cap = Nothing
+
+ Set cap = New CDisassembler
+
+ If Not cap.init(arch, mode, True) Then
+ List1.AddItem "Failed to init engine: " & cap.errMsg
+ Exit Sub
+ End If
+
+ List1.AddItem "Capstone loaded @ 0x" & Hex(cap.hLib)
+ List1.AddItem "hEngine: 0x" & Hex(cap.hCapstone)
+ List1.AddItem "Version: " & cap.version
+
+ If cap.vMajor < 3 Then
+ List1.AddItem "Sample requires Capstone v3+"
+ Exit Sub
+ End If
+
+ Set ret = cap.disasm(&H1000, code)
+
+ For Each ci In ret
+ Set li = lv.ListItems.Add(, , ci.text)
+ Set li.Tag = ci
+ Next
+
+End Sub
+
+Private Sub Command2_Click()
+
+ Dim fName() As String
+ Dim fPath As String
+ Dim t() As String
+ Dim li As ListItem
+ Dim ci As CInstruction
+
+ On Error Resume Next
+
+ If lastSample = -1 Then
+ MsgBox "Run a test first..."
+ Exit Sub
+ End If
+
+ fName = Split("16b,32b,64b,Arm,Arm64", ",")
+
+ fPath = App.path & "\vb" & fName(lastSample) & "Test.txt"
+ If FileExists(fPath) Then Kill fPath
+
+ For Each li In lv.ListItems
+ push t, li.text
+ Set ci = li.Tag
+ push t, ci.toString()
+ push t, String(60, "-")
+ Next
+
+ WriteFile fPath, Join(t, vbCrLf)
+
+ MsgBox FileLen(fPath) & " bytes saved to: " & vbCrLf & vbCrLf & fPath
+
+End Sub
+
+Private Sub lv_ItemClick(ByVal Item As MSComctlLib.ListItem)
+ Dim ci As CInstruction
+ Set ci = Item.Tag
+ Text1 = ci.toString()
+End Sub
+
+Function clearForm()
+ List1.Clear
+ lv.ListItems.Clear
+ Text1 = Empty
+End Function
+
+Private Sub Form_Load()
+ lv.ColumnHeaders(1).Width = lv.Width
+ clearForm
+ lastSample = -1
+End Sub
diff --git a/capstone/bindings/vb6/Form1.frx b/capstone/bindings/vb6/Form1.frx
new file mode 100644
index 000000000..da8c0d9d6
--- /dev/null
+++ b/capstone/bindings/vb6/Form1.frx
@@ -0,0 +1 @@
+Text1 \ No newline at end of file
diff --git a/capstone/bindings/vb6/Module1.bas b/capstone/bindings/vb6/Module1.bas
new file mode 100644
index 000000000..fcb566348
--- /dev/null
+++ b/capstone/bindings/vb6/Module1.bas
@@ -0,0 +1,635 @@
+Attribute VB_Name = "mCapStone"
+Option Explicit
+
+'Capstone Disassembly Engine bindings for VB6
+'Contributed by FireEye FLARE Team
+'Author: David Zimmer <david.zimmer@fireeye.com>, <dzzie@yahoo.com>
+'License: Apache
+'Copyright: FireEye 2017
+
+'todo: cs_disasm_iter / skipdata
+
+'this is for my vb code and how much info it spits out in tostring methods..
+Global Const DEBUG_DUMP = 0
+
+'Architecture type
+Public Enum cs_arch
+ CS_ARCH_ARM = 0 ' ARM architecture (including Thumb, Thumb-2)
+ CS_ARCH_ARM64 ' ARM-64, also called AArch64
+ CS_ARCH_MIPS ' Mips architecture
+ CS_ARCH_X86 ' X86 architecture (including x86 & x86-64)
+ CS_ARCH_PPC ' PowerPC architecture
+ CS_ARCH_SPARC ' Sparc architecture
+ CS_ARCH_SYSZ ' SystemZ architecture
+ CS_ARCH_XCORE ' XCore architecture
+ CS_ARCH_MAX
+ CS_ARCH_ALL = &HFFFF ' All architectures - for cs_support()
+End Enum
+
+Public Enum cs_mode
+ CS_MODE_LITTLE_ENDIAN = 0 ' little-endian mode (default mode)
+ CS_MODE_ARM = 0 ' 32-bit ARM
+ CS_MODE_16 = 2 ' 16-bit mode (X86)
+ CS_MODE_32 = 4 ' 32-bit mode (X86)
+ CS_MODE_64 = 8 ' 64-bit mode (X86, PPC)
+ CS_MODE_THUMB = 16 ' ARM's Thumb mode, including Thumb-2
+ CS_MODE_MCLASS = 32 ' ARM's Cortex-M series
+ CS_MODE_V8 = 64 ' ARMv8 A32 encodings for ARM
+ CS_MODE_MICRO = 16 ' MicroMips mode (MIPS)
+ CS_MODE_MIPS3 = 32 ' Mips III ISA
+ CS_MODE_MIPS32R6 = 64 ' Mips32r6 ISA
+ CS_MODE_MIPSGP64 = 128 ' General Purpose Registers are 64-bit wide (MIPS)
+ CS_MODE_V9 = 16 ' SparcV9 mode (Sparc)
+ CS_MODE_BIG_ENDIAN = &H80000000 ' big-endian mode
+ CS_MODE_MIPS32 = CS_MODE_32 ' Mips32 ISA (Mips)
+ CS_MODE_MIPS64 = CS_MODE_64 ' Mips64 ISA (Mips)
+End Enum
+
+'Runtime option for the disassembled engine
+Public Enum cs_opt_type
+ CS_OPT_SYNTAX = 1 ' 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
+ CS_OPT_SKIPDATA ' Skip data when disassembling. Then engine is in SKIPDATA mode.
+ CS_OPT_SKIPDATA_SETUP ' Setup user-defined function for SKIPDATA option
+End Enum
+
+
+'Runtime option value (associated with option type above)
+Public Enum cs_opt_value
+ CS_OPT_OFF = 0 ' Turn OFF an option - default option of CS_OPT_DETAIL, CS_OPT_SKIPDATA.
+ CS_OPT_ON = 3 ' Turn ON an option (CS_OPT_DETAIL, CS_OPT_SKIPDATA).
+ CS_OPT_SYNTAX_DEFAULT = 0 ' Default asm syntax (CS_OPT_SYNTAX).
+ CS_OPT_SYNTAX_INTEL ' X86 Intel asm syntax - default on X86 (CS_OPT_SYNTAX).
+ CS_OPT_SYNTAX_ATT ' X86 ATT asm syntax (CS_OPT_SYNTAX).
+ CS_OPT_SYNTAX_NOREGNAME ' Prints register name with only number (CS_OPT_SYNTAX)
+End Enum
+
+'Common instruction operand types - to be consistent across all architectures.
+Public Enum cs_op_type
+ CS_OP_INVALID = 0 ' uninitialized/invalid operand.
+ CS_OP_REG ' Register operand.
+ CS_OP_IMM ' Immediate operand.
+ CS_OP_MEM ' Memory operand.
+ CS_OP_FP ' Floating-Point operand.
+End Enum
+
+'Common instruction groups - to be consistent across all architectures.
+Public Enum cs_group_type
+ CS_GRP_INVALID = 0 ' uninitialized/invalid group.
+ CS_GRP_JUMP ' all jump instructions (conditional+direct+indirect jumps)
+ CS_GRP_CALL ' all call instructions
+ CS_GRP_RET ' all return instructions
+ CS_GRP_INT ' all interrupt instructions (int+syscall)
+ CS_GRP_IRET ' all interrupt return instructions
+End Enum
+
+
+'NOTE: All information in cs_detail is only available when CS_OPT_DETAIL = CS_OPT_ON
+Public Type cs_detail
+ regs_read(0 To 15) As Byte ' list of implicit registers read by this insn UNSIGNED
+ regs_read_count As Byte ' number of implicit registers read by this insn UNSIGNED
+ regs_write(0 To 19) As Byte ' list of implicit registers modified by this insn UNSIGNED
+ regs_write_count As Byte ' number of implicit registers modified by this insn UNSIGNED
+ groups(0 To 7) As Byte ' list of group this instruction belong to UNSIGNED
+ groups_count As Byte ' number of groups this insn belongs to UNSIGNED
+End Type
+
+'typedef struct cs_detail {
+' uint8_t regs_read[16]; // list of implicit registers read by this insn
+' uint8_t regs_read_count; // number of implicit registers read by this insn
+'
+' uint8_t regs_write[20]; // list of implicit registers modified by this insn
+' uint8_t regs_write_count; // number of implicit registers modified by this insn
+'
+' uint8_t groups[8]; // list of group this instruction belong to
+' uint8_t groups_count; // number of groups this insn belongs to
+'
+' // Architecture-specific instruction info
+' union {
+' cs_x86 x86; // X86 architecture, including 16-bit, 32-bit & 64-bit mode
+' cs_arm64 arm64; // ARM64 architecture (aka AArch64)
+' cs_arm arm; // ARM architecture (including Thumb/Thumb2)
+' cs_mips mips; // MIPS architecture
+' cs_ppc ppc; // PowerPC architecture
+' cs_sparc sparc; // Sparc architecture
+' cs_sysz sysz; // SystemZ architecture
+' cs_xcore xcore; // XCore architecture
+' };
+'} cs_detail;
+
+'Detail information of disassembled instruction
+Public Type cs_insn
+ ' Instruction ID (basically a numeric ID for the instruction mnemonic)
+ ' Find the instruction id in the '[ARCH]_insn' enum in the header file
+ ' of corresponding architecture, such as 'arm_insn' in arm.h for ARM,
+ ' 'x86_insn' in x86.h for X86, etc...
+ ' available even when CS_OPT_DETAIL = CS_OPT_OFF
+ ' NOTE: in Skipdata mode, "data" instruction has 0 for this id field. UNSIGNED
+ ID As Long '
+ align As Long 'not sure why it needs this..but it does..
+ address As Currency ' Address (EIP) of this instruction available even when CS_OPT_DETAIL = CS_OPT_OFF UNSIGNED
+ size As Integer ' Size of this instruction available even when CS_OPT_DETAIL = CS_OPT_OFF UNSIGNED
+ bytes(0 To 23) As Byte ' Machine bytes of this instruction, with number of bytes indicated by @size above available even when CS_OPT_DETAIL = CS_OPT_OFF
+ mnemonic(0 To 31) As Byte ' Ascii text of instruction mnemonic available even when CS_OPT_DETAIL = CS_OPT_OFF
+ op_str(0 To 159) As Byte ' Ascii text of instruction operands available even when CS_OPT_DETAIL = CS_OPT_OFF
+
+ ' Pointer to cs_detail.
+ ' NOTE: detail pointer is only valid when both requirements below are met:
+ ' (1) CS_OP_DETAIL = CS_OPT_ON
+ ' (2) Engine is not in Skipdata mode (CS_OP_SKIPDATA option set to CS_OPT_ON)
+ ' NOTE 2: when in Skipdata mode, or when detail mode is OFF, even if this pointer
+ ' is not NULL, its content is still irrelevant.
+ lpDetail As Long ' points to a cs_detail structure NOTE: only available when CS_OPT_DETAIL = CS_OPT_ON
+
+End Type
+
+'All type of errors encountered by Capstone API.
+'These are values returned by cs_errno()
+Public Enum cs_err
+ CS_ERR_OK = 0 ' No error: everything was fine
+ CS_ERR_MEM ' Out-Of-Memory error: cs_open(), cs_disasm(), cs_disasm_iter()
+ CS_ERR_ARCH ' Unsupported architecture: cs_open()
+ CS_ERR_HANDLE ' Invalid handle: cs_op_count(), cs_op_index()
+ CS_ERR_CSH ' Invalid csh argument: cs_close(), cs_errno(), cs_option()
+ CS_ERR_MODE ' Invalid/unsupported mode: cs_open()
+ CS_ERR_OPTION ' Invalid/unsupported option: cs_option()
+ CS_ERR_DETAIL ' Information is unavailable because detail option is OFF
+ CS_ERR_MEMSETUP ' Dynamic memory management uninitialized (see CS_OPT_MEM)
+ CS_ERR_VERSION ' Unsupported version (bindings)
+ CS_ERR_DIET ' Access irrelevant data in "diet" engine
+ CS_ERR_SKIPDATA ' Access irrelevant data for "data" instruction in SKIPDATA mode
+ CS_ERR_X86_ATT ' X86 AT&T syntax is unsupported (opt-out at compile time)
+ CS_ERR_X86_INTEL ' X86 Intel syntax is unsupported (opt-out at compile time)
+End Enum
+
+
+'/*
+' Return combined API version & major and minor version numbers.
+'
+' @major: major number of API version
+' @minor: minor number of API version
+'
+' @return hexical number as (major << 8 | minor), which encodes both
+' major & minor versions.
+' NOTE: This returned value can be compared with version number made
+' with macro CS_MAKE_VERSION
+'
+' For example, second API version would return 1 in @major, and 1 in @minor
+' The return value would be 0x0101
+'
+' NOTE: if you only care about returned value, but not major and minor values,
+' set both @major & @minor arguments to NULL.
+'*/
+'CAPSTONE_EXPORT
+'unsigned int cs_version(int *major, int *minor);
+Public Declare Function cs_version Lib "vbCapstone.dll" Alias "bs_version" (ByRef major As Long, ByRef minor As Long) As Long
+
+
+
+'
+'/*
+' This API can be used to either ask for archs supported by this library,
+' or check to see if the library was compile with 'diet' option (or called
+' in 'diet' mode).
+'
+' To check if a particular arch is supported by this library, set @query to
+' arch mode (CS_ARCH_* value).
+' To verify if this library supports all the archs, use CS_ARCH_ALL.
+'
+' To check if this library is in 'diet' mode, set @query to CS_SUPPORT_DIET.
+'
+' @return True if this library supports the given arch, or in 'diet' mode.
+'*/
+'CAPSTONE_EXPORT
+'bool cs_support(int query);
+Public Declare Function cs_support Lib "vbCapstone.dll" Alias "bs_support" (ByVal query As Long) As Long
+
+
+
+'/*
+' Initialize CS handle: this must be done before any usage of CS.
+'
+' @arch: architecture type (CS_ARCH_*)
+' @mode: hardware mode. This is combined of CS_MODE_*
+' @handle: pointer to handle, which will be updated at return time
+'
+' @return CS_ERR_OK on success, or other value on failure (refer to cs_err enum
+' for detailed error).
+'*/
+'CAPSTONE_EXPORT
+'cs_err cs_open(cs_arch arch, cs_mode mode, csh *handle);
+Public Declare Function cs_open Lib "vbCapstone.dll" Alias "bs_open" (ByVal arch As cs_arch, ByVal mode As cs_mode, ByRef hEngine As Long) As cs_err
+
+
+'/*
+' Close CS handle: MUST do to release the handle when it is not used anymore.
+' NOTE: this must be only called when there is no longer usage of Capstone,
+' not even access to cs_insn array. The reason is the this API releases some
+' cached memory, thus access to any Capstone API after cs_close() might crash
+' your application.
+'
+' In fact,this API invalidate @handle by ZERO out its value (i.e *handle = 0).
+'
+' @handle: pointer to a handle returned by cs_open()
+'
+' @return CS_ERR_OK on success, or other value on failure (refer to cs_err enum
+' for detailed error).
+'*/
+'CAPSTONE_EXPORT
+'cs_err cs_close(csh *handle);
+Public Declare Function cs_close Lib "vbCapstone.dll" Alias "bs_close" (ByRef hEngine As Long) As cs_err
+
+
+
+'/*
+' Set option for disassembling engine at runtime
+'
+' @handle: handle returned by cs_open()
+' @type: type of option to be set
+' @value: option value corresponding with @type
+'
+' @return: CS_ERR_OK on success, or other value on failure.
+' Refer to cs_err enum for detailed error.
+'
+' NOTE: in the case of CS_OPT_MEM, handle's value can be anything,
+' so that cs_option(handle, CS_OPT_MEM, value) can (i.e must) be called
+' even before cs_open()
+'*/
+'CAPSTONE_EXPORT
+'cs_err cs_option(csh handle, cs_opt_type type, size_t value);
+Public Declare Function cs_option Lib "vbCapstone.dll" Alias "bs_option" (ByVal hEngine As Long, ByVal typ As cs_opt_type, ByVal size As Long) As cs_err
+
+
+
+'/*
+' Report the last error number when some API function fail.
+' Like glibc's errno, cs_errno might not retain its old value once accessed.
+'
+' @handle: handle returned by cs_open()
+'
+' @return: error code of cs_err enum type (CS_ERR_*, see above)
+'*/
+'CAPSTONE_EXPORT
+'cs_err cs_errno(csh handle);
+Public Declare Function cs_errno Lib "vbCapstone.dll" Alias "bs_errno" (ByVal hEngine As Long) As cs_err
+
+'
+'/*
+' Return a string describing given error code.
+'
+' @code: error code (see CS_ERR_* above)
+'
+' @return: returns a pointer to a string that describes the error code
+' passed in the argument @code
+'*/
+'CAPSTONE_EXPORT
+'const char *cs_strerror(cs_err code);
+Public Declare Function cs_strerror Lib "vbCapstone.dll" Alias "bs_strerror" (ByVal errCode As cs_err) As Long
+
+
+'/*
+' Disassemble binary code, given the code buffer, size, address and number
+' of instructions to be decoded.
+' This API dynamically allocate memory to contain disassembled instruction.
+' Resulting instructions will be put into @*insn
+'
+' NOTE 1: this API will automatically determine memory needed to contain
+' output disassembled instructions in @insn.
+'
+' NOTE 2: caller must free the allocated memory itself to avoid memory leaking.
+'
+' NOTE 3: for system with scarce memory to be dynamically allocated such as
+' OS kernel or firmware, the API cs_disasm_iter() might be a better choice than
+' cs_disasm(). The reason is that with cs_disasm(), based on limited available
+' memory, we have to calculate in advance how many instructions to be disassembled,
+' which complicates things. This is especially troublesome for the case @count=0,
+' when cs_disasm() runs uncontrollably (until either end of input buffer, or
+' when it encounters an invalid instruction).
+'
+' @handle: handle returned by cs_open()
+' @code: buffer containing raw binary code to be disassembled.
+' @code_size: size of the above code buffer.
+' @address: address of the first instruction in given raw code buffer.
+' @insn: array of instructions filled in by this API.
+' NOTE: @insn will be allocated by this function, and should be freed
+' with cs_free() API.
+' @count: number of instructions to be disassembled, or 0 to get all of them
+'
+' @return: the number of successfully disassembled instructions,
+' or 0 if this function failed to disassemble the given code
+'
+' On failure, call cs_errno() for error code.
+'*/
+'CAPSTONE_EXPORT
+'size_t cs_disasm(
+' csh handle,
+' const uint8_t *code,
+' size_t code_size,
+' uint64_t address,
+' size_t count,
+' cs_insn **insn
+');
+Public Declare Function cs_disasm Lib "vbCapstone.dll" Alias "bs_disasm" ( _
+ ByVal hEngine As Long, _
+ ByRef code As Byte, _
+ ByVal size As Long, _
+ ByVal address As Currency, _
+ ByVal count As Long, _
+ ByRef instAryPtr As Long _
+) As Long
+
+'this proto also lets use byte() to get a dump easily..
+Public Declare Sub getInstruction Lib "vbCapstone.dll" (ByVal hInstrAry As Long, ByVal index As Long, ByVal insPtr As Long, ByVal size As Long)
+
+
+'/*
+' Deprecated function - to be retired in the next version!
+' Use cs_disasm() instead of cs_disasm_ex()
+'*/
+'CAPSTONE_EXPORT
+'CAPSTONE_DEPRECATED
+'size_t cs_disasm_ex(csh handle,
+' const uint8_t *code, size_t code_size,
+' uint64_t address,
+' size_t count,
+' cs_insn **insn);
+
+
+
+'/*
+' Free memory allocated by cs_malloc() or cs_disasm() (argument @insn)
+'
+' @insn: pointer returned by @insn argument in cs_disasm() or cs_malloc()
+' @count: number of cs_insn structures returned by cs_disasm(), or 1
+' to free memory allocated by cs_malloc().
+'*/
+'CAPSTONE_EXPORT
+'void cs_free(cs_insn *insn, size_t count);
+Public Declare Sub cs_free Lib "vbCapstone.dll" Alias "bs_free" (ByVal instr As Long, ByVal count As Long)
+
+
+'
+'/*
+' Allocate memory for 1 instruction to be used by cs_disasm_iter().
+'
+' @handle: handle returned by cs_open()
+'
+' NOTE: when no longer in use, you can reclaim the memory allocated for
+' this instruction with cs_free(insn, 1)
+'*/
+'CAPSTONE_EXPORT
+'cs_insn *cs_malloc(csh handle);
+Public Declare Function cs_malloc Lib "vbCapstone.dll" Alias "bs_malloc" (ByVal handle As Long) As Long
+
+
+
+'/*
+' Fast API to disassemble binary code, given the code buffer, size, address
+' and number of instructions to be decoded.
+' This API puts the resulting instruction into a given cache in @insn.
+' See tests/test_iter.c for sample code demonstrating this API.
+'
+' NOTE 1: this API will update @code, @size & @address to point to the next
+' instruction in the input buffer. Therefore, it is convenient to use
+' cs_disasm_iter() inside a loop to quickly iterate all the instructions.
+' While decoding one instruction at a time can also be achieved with
+' cs_disasm(count=1), some benchmarks shown that cs_disasm_iter() can be 30%
+' faster on random input.
+'
+' NOTE 2: the cache in @insn can be created with cs_malloc() API.
+'
+' NOTE 3: for system with scarce memory to be dynamically allocated such as
+' OS kernel or firmware, this API is recommended over cs_disasm(), which
+' allocates memory based on the number of instructions to be disassembled.
+' The reason is that with cs_disasm(), based on limited available memory,
+' we have to calculate in advance how many instructions to be disassembled,
+' which complicates things. This is especially troublesome for the case
+' @count=0, when cs_disasm() runs uncontrollably (until either end of input
+' buffer, or when it encounters an invalid instruction).
+'
+' @handle: handle returned by cs_open()
+' @code: buffer containing raw binary code to be disassembled
+' @code_size: size of above code
+' @address: address of the first insn in given raw code buffer
+' @insn: pointer to instruction to be filled in by this API.
+'
+' @return: true if this API successfully decode 1 instruction,
+' or false otherwise.
+'
+' On failure, call cs_errno() for error code.
+'*/
+'CAPSTONE_EXPORT
+'bool cs_disasm_iter(csh handle, const uint8_t **code, size_t *size, uint64_t *address, cs_insn *insn);
+
+
+
+'/*
+' Return friendly name of register in a string.
+' Find the instruction id from header file of corresponding architecture (arm.h for ARM,
+' x86.h for X86, ...)
+'
+' WARN: when in 'diet' mode, this API is irrelevant because engine does not
+' store register name.
+'
+' @handle: handle returned by cs_open()
+' @reg_id: register id
+'
+' @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);
+Public Declare Function cs_reg_name Lib "vbCapstone.dll" Alias "bs_reg_name" (ByVal handle As Long, ByVal regID As Long) As Long
+
+
+
+
+'/*
+' Return friendly name of an instruction in a string.
+' Find the instruction id from header file of corresponding architecture (arm.h for ARM, x86.h for X86, ...)
+'
+' WARN: when in 'diet' mode, this API is irrelevant because the engine does not
+' store instruction name.
+'
+' @handle: handle returned by cs_open()
+' @insn_id: instruction id
+'
+' @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);
+Public Declare Function cs_insn_name Lib "vbCapstone.dll" Alias "bs_insn_name" (ByVal handle As Long, ByVal insn_id As Long) As Long
+
+
+
+
+'/*
+' Return friendly name of a group id (that an instruction can belong to)
+' Find the group id from header file of corresponding architecture (arm.h for ARM, x86.h for X86, ...)
+'
+' WARN: when in 'diet' mode, this API is irrelevant because the engine does not
+' store group name.
+'
+' @handle: handle returned by cs_open()
+' @group_id: group id
+'
+' @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);
+Public Declare Function cs_group_name Lib "vbCapstone.dll" Alias "bs_group_name" (ByVal handle As Long, ByVal group_id As Long) As Long
+
+
+
+'/*
+' Check if a disassembled instruction belong to a particular group.
+' Find the group id from header file of corresponding architecture (arm.h for ARM, x86.h for X86, ...)
+' Internally, this simply verifies if @group_id matches any member of insn->groups array.
+'
+' NOTE: this API is only valid when detail option is ON (which is OFF by default).
+'
+' WARN: when in 'diet' mode, this API is irrelevant because the engine does not
+' update @groups array.
+'
+' @handle: handle returned by cs_open()
+' @insn: disassembled instruction structure received from cs_disasm() or cs_disasm_iter()
+' @group_id: group that you want to check if this instruction belong to.
+'
+' @return: true if this instruction indeed belongs to the given group, or false otherwise.
+'*/
+'CAPSTONE_EXPORT
+'bool cs_insn_group(csh handle, const cs_insn *insn, unsigned int group_id);
+Public Declare Function cs_insn_group Lib "vbCapstone.dll" Alias "bs_insn_group" (ByVal handle As Long, ByVal instruction As Long, ByVal group_id As Long) As Long
+
+
+
+'/*
+' Check if a disassembled instruction IMPLICITLY used a particular register.
+' Find the register id from header file of corresponding architecture (arm.h for ARM, x86.h for X86, ...)
+' Internally, this simply verifies if @reg_id matches any member of insn->regs_read array.
+'
+' NOTE: this API is only valid when detail option is ON (which is OFF by default)
+'
+' WARN: when in 'diet' mode, this API is irrelevant because the engine does not
+' update @regs_read array.
+'
+' @insn: disassembled instruction structure received from cs_disasm() or cs_disasm_iter()
+' @reg_id: register that you want to check if this instruction used it.
+'
+' @return: true if this instruction indeed implicitly used the given register, or false otherwise.
+'*/
+'CAPSTONE_EXPORT
+'bool cs_reg_read(csh handle, const cs_insn *insn, unsigned int reg_id);
+Public Declare Function cs_reg_read Lib "vbCapstone.dll" Alias "bs_reg_read" (ByVal handle As Long, ByVal instruction As Long, ByVal reg_id As Long) As Long
+
+
+
+'/*
+' Check if a disassembled instruction IMPLICITLY modified a particular register.
+' Find the register id from header file of corresponding architecture (arm.h for ARM, x86.h for X86, ...)
+' Internally, this simply verifies if @reg_id matches any member of insn->regs_write array.
+'
+' NOTE: this API is only valid when detail option is ON (which is OFF by default)
+'
+' WARN: when in 'diet' mode, this API is irrelevant because the engine does not
+' update @regs_write array.
+'
+' @insn: disassembled instruction structure received from cs_disasm() or cs_disasm_iter()
+' @reg_id: register that you want to check if this instruction modified it.
+'
+' @return: true if this instruction indeed implicitly modified the given register, or false otherwise.
+'*/
+'CAPSTONE_EXPORT
+'bool cs_reg_write(csh handle, const cs_insn *insn, unsigned int reg_id);
+Public Declare Function cs_reg_write Lib "vbCapstone.dll" Alias "bs_reg_write" (ByVal handle As Long, ByVal instruction As Long, ByVal reg_id As Long) As Long
+
+
+
+'/*
+' Count the number of operands of a given type.
+' Find the operand type in header file of corresponding architecture (arm.h for ARM, x86.h for X86, ...)
+'
+' NOTE: this API is only valid when detail option is ON (which is OFF by default)
+'
+' @handle: handle returned by cs_open()
+' @insn: disassembled instruction structure received from cs_disasm() or cs_disasm_iter()
+' @op_type: Operand type to be found.
+'
+' @return: number of operands of given type @op_type in instruction @insn,
+' or -1 on failure.
+'*/
+'CAPSTONE_EXPORT
+'int cs_op_count(csh handle, const cs_insn *insn, unsigned int op_type);
+Public Declare Function cs_op_count Lib "vbCapstone.dll" Alias "bs_op_count" (ByVal handle As Long, ByVal instruction As Long, ByVal op_type As Long) As Long
+
+
+
+'/*
+' Retrieve the position of operand of given type in <arch>.operands[] array.
+' Later, the operand can be accessed using the returned position.
+' Find the operand type in header file of corresponding architecture (arm.h for ARM, x86.h for X86, ...)
+'
+' NOTE: this API is only valid when detail option is ON (which is OFF by default)
+'
+' @handle: handle returned by cs_open()
+' @insn: disassembled instruction structure received from cs_disasm() or cs_disasm_iter()
+' @op_type: Operand type to be found.
+' @position: position of the operand to be found. This must be in the range
+' [1, cs_op_count(handle, insn, op_type)]
+'
+' @return: index of operand of given type @op_type in <arch>.operands[] array
+' in instruction @insn, or -1 on failure.
+'*/
+'CAPSTONE_EXPORT
+'int cs_op_index(csh handle, const cs_insn *insn, unsigned int op_type, unsigned int position);
+Public Declare Function cs_op_index Lib "vbCapstone.dll" Alias "bs_op_index" (ByVal handle As Long, ByVal instruction As Long, ByVal op_type As Long, ByVal position As Long) As Long
+
+
+
+Private Declare Function lstrcpy Lib "kernel32" Alias "lstrcpyA" (ByVal lpString1 As String, ByVal lpString2 As String) As Long
+Private Declare Function lstrlen Lib "kernel32" Alias "lstrlenA" (ByVal lpString As Long) As Long
+
+Function cstr2vb(lpStr As Long) As String
+
+ Dim length As Long
+ Dim buf() As Byte
+
+ If lpStr = 0 Then Exit Function
+
+ length = lstrlen(lpStr)
+ If length < 1 Then Exit Function
+
+ ReDim buf(1 To length)
+ CopyMemory buf(1), ByVal lpStr, length
+
+ cstr2vb = StrConv(buf, vbUnicode, &H409)
+
+End Function
+
+Function err2str(e As cs_err) As String
+ Dim lpStr As Long
+ lpStr = cs_strerror(e)
+ err2str = cstr2vb(lpStr)
+End Function
+
+Function regName(hEngine As Long, regID As Long) As String
+ Dim lpStr As Long
+ lpStr = cs_reg_name(hEngine, regID)
+ regName = cstr2vb(lpStr)
+ If Len(regName) = 0 Or DEBUG_DUMP Then regName = regName & " (" & Hex(regID) & ")"
+End Function
+
+Function insnName(hEngine As Long, insnID As Long) As String
+ Dim lpStr As Long
+ lpStr = cs_insn_name(hEngine, insnID)
+ insnName = cstr2vb(lpStr)
+ If Len(insnName) = 0 Or DEBUG_DUMP Then insnName = insnName & " (" & Hex(insnID) & ")"
+End Function
+
+Function groupName(hEngine As Long, groupID As Long) As String
+ Dim lpStr As Long
+ lpStr = cs_group_name(hEngine, groupID)
+ groupName = cstr2vb(lpStr)
+ If Len(groupName) = 0 Or DEBUG_DUMP Then groupName = groupName & " (" & Hex(groupID) & ")"
+End Function
diff --git a/capstone/bindings/vb6/Project1.vbp b/capstone/bindings/vb6/Project1.vbp
new file mode 100644
index 000000000..249657a6e
--- /dev/null
+++ b/capstone/bindings/vb6/Project1.vbp
@@ -0,0 +1,46 @@
+Type=Exe
+Reference=*\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\WINDOWS\system32\stdole2.tlb#OLE Automation
+Form=Form1.frm
+Module=mCapStone; Module1.bas
+Module=mx86; mx86.bas
+Module=mMisc; mMisc.bas
+Class=CInstruction; CInstruction.cls
+Class=CInstDetails; CInstDetails.cls
+Class=CDisassembler; CDisassembler.cls
+Object={831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0; mscomctl.ocx
+Class=CX86Inst; CX86Inst.cls
+Class=CX86Operand; CX86Operand.cls
+Class=CX86OpMem; CX86OpMem.cls
+Startup="Form1"
+ExeName32="Project1.exe"
+Command32=""
+Name="Project1"
+HelpContextID="0"
+CompatibleMode="0"
+MajorVer=1
+MinorVer=0
+RevisionVer=0
+AutoIncrementVer=0
+ServerSupportFiles=0
+VersionCompanyName="sandsprite"
+CompilationType=0
+OptimizationType=0
+FavorPentiumPro(tm)=0
+CodeViewDebugInfo=0
+NoAliasing=0
+BoundsCheck=0
+OverflowCheck=0
+FlPointCheck=0
+FDIVCheck=0
+UnroundedFP=0
+StartMode=0
+Unattended=0
+Retained=0
+ThreadPerObject=0
+MaxNumberOfThreads=1
+
+[MS Transaction Server]
+AutoRefresh=1
+
+[fastBuild]
+fullPath=%ap%\bin\demo.exe
diff --git a/capstone/bindings/vb6/Project1.vbw b/capstone/bindings/vb6/Project1.vbw
new file mode 100644
index 000000000..0db503ff4
--- /dev/null
+++ b/capstone/bindings/vb6/Project1.vbw
@@ -0,0 +1,10 @@
+Form1 = 110, 110, 1233, 906, , 88, 88, 1116, 749, C
+mCapStone = 22, 22, 1050, 683,
+mx86 = 88, 88, 1040, 757,
+mMisc = 66, 66, 1094, 727,
+CInstruction = 0, 0, 0, 0, C
+CInstDetails = 132, 132, 1084, 801, C
+CDisassembler = 44, 44, 1229, 809,
+CX86Inst = 154, 154, 1106, 823, C
+CX86Operand = 176, 176, 1128, 845, C
+CX86OpMem = 198, 198, 1150, 867, C
diff --git a/capstone/bindings/vb6/README.txt b/capstone/bindings/vb6/README.txt
new file mode 100644
index 000000000..aca836afc
--- /dev/null
+++ b/capstone/bindings/vb6/README.txt
@@ -0,0 +1,30 @@
+
+Capstone Disassembly Engine bindings for VB6
+Contributed by FireEye FLARE Team
+Author: David Zimmer <david.zimmer@fireeye.com>, <dzzie@yahoo.com>
+License: Apache
+Copyright: FireEye 2017
+
+This is a sample for using the capstone disassembly engine with VB6.
+
+All of the capstone API are implemented, so this lib supports basic
+disassembly of all of the processor architectures that capstone implements.
+
+In the vb code, full instruction details are currently only supported for
+the x86 processor family.
+
+This sample was built against Capstone 3.0 rc4. Note that if the capstone
+structures change in the future this code will have to be adjusted to match.
+
+The vbCapstone.dll is written in C. Project files are provided for VS2008.
+It is a small shim to give VB6 access to a stdcall API to access capstone.
+You could also modify capstone itself so its exports were stdcall.
+
+The C project has an additional include directory set to ./../../include/
+for <capstone.h>. This is for the /capstone/bindings/vb6/ directory structure
+
+
+
+
+
+
diff --git a/capstone/bindings/vb6/mMisc.bas b/capstone/bindings/vb6/mMisc.bas
new file mode 100644
index 000000000..2ccb1308e
--- /dev/null
+++ b/capstone/bindings/vb6/mMisc.bas
@@ -0,0 +1,385 @@
+Attribute VB_Name = "mMisc"
+Option Explicit
+
+'These are old library functions
+
+Private Type Bit64Currency
+ value As Currency
+End Type
+
+Private Type Bit64Integer
+ LowValue As Long
+ HighValue As Long
+End Type
+
+Global Const LANG_US = &H409
+
+Public Declare Function LoadLibrary Lib "kernel32" Alias "LoadLibraryA" (ByVal lpLibFileName As String) As Long
+Public Declare Function FreeLibrary Lib "kernel32" (ByVal hLibModule As Long) As Long
+Public Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal length As Long)
+Public Declare Function GetProcAddress Lib "kernel32" (ByVal hModule As Long, ByVal lpProcName As String) As Long
+Public Declare Function GetModuleHandle Lib "kernel32" Alias "GetModuleHandleA" (ByVal lpModuleName As String) As Long
+Public Declare Function SetDllDirectory Lib "kernel32" Alias "SetDllDirectoryA" (ByVal lpPathName As String) As Long
+
+Function makeCur(high As Long, low As Long) As Currency
+ Dim c As Bit64Currency
+ Dim dl As Bit64Integer
+ dl.LowValue = low
+ dl.HighValue = high
+ LSet c = dl
+ makeCur = c.value
+End Function
+
+Function lng2Cur(v As Long) As Currency
+ Dim c As Bit64Currency
+ Dim dl As Bit64Integer
+ dl.LowValue = v
+ dl.HighValue = 0
+ LSet c = dl
+ lng2Cur = c.value
+End Function
+
+Function cur2str(v As Currency) As String
+ Dim c As Bit64Currency
+ Dim dl As Bit64Integer
+ c.value = v
+ LSet dl = c
+ If dl.HighValue = 0 Then
+ cur2str = Right("00000000" & Hex(dl.LowValue), 8)
+ Else
+ cur2str = Right("00000000" & Hex(dl.HighValue), 8) & "`" & Right("00000000" & Hex(dl.LowValue), 8)
+ End If
+End Function
+
+Function x64StrToCur(ByVal str As String) As Currency
+
+ str = Replace(Trim(str), "0x", "")
+ str = Replace(str, " ", "")
+ str = Replace(str, "`", "")
+
+ Dim low As String, high As String
+ Dim c As Bit64Currency
+ Dim dl As Bit64Integer
+
+ low = VBA.Right(str, 8)
+ dl.LowValue = CLng("&h" & low)
+
+ If Len(str) > 8 Then
+ high = Mid(str, 1, Len(str) - 8)
+ dl.HighValue = CLng("&h" & high)
+ End If
+
+ LSet c = dl
+ x64StrToCur = c.value
+
+End Function
+
+Function cur2lng(v As Currency) As Long
+ Dim c As Bit64Currency
+ Dim dl As Bit64Integer
+ c.value = v
+ LSet dl = c
+ cur2lng = dl.LowValue
+End Function
+
+Function readLng(offset As Long) As Long
+ Dim tmp As Long
+ CopyMemory ByVal VarPtr(tmp), ByVal offset, 4
+ readLng = tmp
+End Function
+
+Function readByte(offset As Long) As Byte
+ Dim tmp As Byte
+ CopyMemory ByVal VarPtr(tmp), ByVal offset, 1
+ readByte = tmp
+End Function
+
+Function readCur(offset As Long) As Currency
+ Dim tmp As Currency
+ CopyMemory ByVal VarPtr(tmp), ByVal offset, 8
+ readCur = tmp
+End Function
+
+Function col2Str(c As Collection, Optional emptyVal = "") As String
+ Dim v, tmp As String
+
+ If c.count = 0 Then
+ col2Str = emptyVal
+ Else
+ For Each v In c
+ col2Str = col2Str & hhex(v) & ", "
+ Next
+ col2Str = Mid(col2Str, 1, Len(col2Str) - 2)
+ End If
+
+End Function
+
+Function regCol2Str(hEngine As Long, c As Collection) As String
+ Dim v, tmp As String
+
+ If c.count = 0 Then Exit Function
+
+ For Each v In c
+ regCol2Str = regCol2Str & regName(hEngine, CLng(v)) & ", "
+ Next
+ regCol2Str = Mid(regCol2Str, 1, Len(regCol2Str) - 2)
+
+End Function
+
+
+
+Function b2Str(b() As Byte) As String
+ Dim i As Long
+
+ If AryIsEmpty(b) Then
+ b2Str = "Empty"
+ Else
+ For i = 0 To UBound(b)
+ b2Str = b2Str & hhex(b(i)) & " "
+ Next
+ b2Str = Trim(b2Str)
+ End If
+
+End Function
+
+
+
+Function AryIsEmpty(ary) As Boolean
+ Dim i As Long
+
+ On Error GoTo oops
+ i = UBound(ary) '<- throws error if not initalized
+ AryIsEmpty = False
+ Exit Function
+oops: AryIsEmpty = True
+End Function
+
+Public Function toBytes(ByVal hexstr, Optional strRet As Boolean = False)
+
+'supports:
+'11 22 33 44 spaced hex chars
+'11223344 run together hex strings
+'11,22,33,44 csv hex
+'\x11,0x22 misc C source rips
+'
+'ignores common C source prefixes, operators, delimiters, and whitespace
+'
+'not supported
+'1,2,3,4 all hex chars are must have two chars even if delimited
+'
+'a version which supports more formats is here:
+' https://github.com/dzzie/libs/blob/master/dzrt/globals.cls
+
+ Dim ret As String, x As String, str As String
+ Dim r() As Byte, b As Byte, b1 As Byte
+ Dim foundDecimal As Boolean, tmp, i, a, a2
+ Dim pos As Long, marker As String
+
+ On Error GoTo nope
+
+ str = Replace(hexstr, vbCr, Empty)
+ str = Replace(str, vbLf, Empty)
+ str = Replace(str, vbTab, Empty)
+ str = Replace(str, Chr(0), Empty)
+ str = Replace(str, "{", Empty)
+ str = Replace(str, "}", Empty)
+ str = Replace(str, ";", Empty)
+ str = Replace(str, "+", Empty)
+ str = Replace(str, """""", Empty)
+ str = Replace(str, "'", Empty)
+ str = Replace(str, " ", Empty)
+ str = Replace(str, "0x", Empty)
+ str = Replace(str, "\x", Empty)
+ str = Replace(str, ",", Empty)
+
+ For i = 1 To Len(str) Step 2
+ x = Mid(str, i, 2)
+ If Not isHexChar(x, b) Then Exit Function
+ bpush r(), b
+ Next
+
+ If strRet Then
+ toBytes = StrConv(r, vbUnicode, LANG_US)
+ Else
+ toBytes = r
+ End If
+
+nope:
+End Function
+
+Private Sub bpush(bAry() As Byte, b As Byte) 'this modifies parent ary object
+ On Error GoTo init
+ Dim x As Long
+
+ x = UBound(bAry) '<-throws Error If Not initalized
+ ReDim Preserve bAry(UBound(bAry) + 1)
+ bAry(UBound(bAry)) = b
+
+ Exit Sub
+
+init:
+ ReDim bAry(0)
+ bAry(0) = b
+
+End Sub
+
+Sub push(ary, value) 'this modifies parent ary object
+ On Error GoTo init
+ Dim x
+
+ x = UBound(ary)
+ ReDim Preserve ary(x + 1)
+
+ If IsObject(value) Then
+ Set ary(x + 1) = value
+ Else
+ ary(x + 1) = value
+ End If
+
+ Exit Sub
+init:
+ ReDim ary(0)
+ If IsObject(value) Then
+ Set ary(0) = value
+ Else
+ ary(0) = value
+ End If
+End Sub
+
+
+Public Function isHexChar(hexValue As String, Optional b As Byte) As Boolean
+ On Error Resume Next
+ Dim v As Long
+
+ If Len(hexValue) = 0 Then GoTo nope
+ If Len(hexValue) > 2 Then GoTo nope 'expecting hex char code like FF or 90
+
+ v = CLng("&h" & hexValue)
+ If Err.Number <> 0 Then GoTo nope 'invalid hex code
+
+ b = CByte(v)
+ If Err.Number <> 0 Then GoTo nope 'shouldnt happen.. > 255 cant be with len() <=2 ?
+
+ isHexChar = True
+
+ Exit Function
+nope:
+ Err.Clear
+ isHexChar = False
+End Function
+
+Function hhex(b) As String
+ hhex = Right("00" & Hex(b), 2)
+End Function
+
+Function rpad(x, i, Optional c = " ")
+ rpad = Left(x & String(i, c), i)
+End Function
+
+Function HexDump(bAryOrStrData, Optional hexOnly = 0, Optional ByVal startAt As Long = 1, Optional ByVal length As Long = -1) As String
+ Dim s() As String, chars As String, tmp As String
+ On Error Resume Next
+ Dim ary() As Byte
+ Dim offset As Long
+ Const LANG_US = &H409
+ Dim i As Long, tt, h, x
+
+ offset = 0
+
+ If TypeName(bAryOrStrData) = "Byte()" Then
+ ary() = bAryOrStrData
+ Else
+ ary = StrConv(CStr(bAryOrStrData), vbFromUnicode, LANG_US)
+ End If
+
+ If startAt < 1 Then startAt = 1
+ If length < 1 Then length = -1
+
+ While startAt Mod 16 <> 0
+ startAt = startAt - 1
+ Wend
+
+ startAt = startAt + 1
+
+ chars = " "
+ For i = startAt To UBound(ary) + 1
+ tt = Hex(ary(i - 1))
+ If Len(tt) = 1 Then tt = "0" & tt
+ tmp = tmp & tt & " "
+ x = ary(i - 1)
+ 'chars = chars & IIf((x > 32 And x < 127) Or x > 191, Chr(x), ".") 'x > 191 causes \x0 problems on non us systems... asc(chr(x)) = 0
+ chars = chars & IIf((x > 32 And x < 127), Chr(x), ".")
+ If i > 1 And i Mod 16 = 0 Then
+ h = Hex(offset)
+ While Len(h) < 6: h = "0" & h: Wend
+ If hexOnly = 0 Then
+ push s, h & " " & tmp & chars
+ Else
+ push s, tmp
+ End If
+ offset = offset + 16
+ tmp = Empty
+ chars = " "
+ End If
+ If length <> -1 Then
+ length = length - 1
+ If length = 0 Then Exit For
+ End If
+ Next
+
+ 'if read length was not mod 16=0 then
+ 'we have part of line to account for
+ If tmp <> Empty Then
+ If hexOnly = 0 Then
+ h = Hex(offset)
+ While Len(h) < 6: h = "0" & h: Wend
+ h = h & " " & tmp
+ While Len(h) <= 56: h = h & " ": Wend
+ push s, h & chars
+ Else
+ push s, tmp
+ End If
+ End If
+
+ HexDump = Join(s, vbCrLf)
+
+ If hexOnly <> 0 Then
+ HexDump = Replace(HexDump, " ", "")
+ HexDump = Replace(HexDump, vbCrLf, "")
+ End If
+
+End Function
+
+
+
+Function FileExists(path As String) As Boolean
+ On Error GoTo hell
+
+ If Len(path) = 0 Then Exit Function
+ If Right(path, 1) = "\" Then Exit Function
+ If Dir(path, vbHidden Or vbNormal Or vbReadOnly Or vbSystem) <> "" Then FileExists = True
+
+ Exit Function
+hell: FileExists = False
+End Function
+
+Sub WriteFile(path, it)
+ Dim f
+ f = FreeFile
+ Open path For Output As #f
+ Print #f, it
+ Close f
+End Sub
+
+Function GetParentFolder(path) As String
+ Dim tmp() As String, ub As Long
+ On Error Resume Next
+ tmp = Split(path, "\")
+ ub = tmp(UBound(tmp))
+ If Err.Number = 0 Then
+ GetParentFolder = Replace(Join(tmp, "\"), "\" & ub, "")
+ Else
+ GetParentFolder = path
+ End If
+End Function
+
diff --git a/capstone/bindings/vb6/mx86.bas b/capstone/bindings/vb6/mx86.bas
new file mode 100644
index 000000000..aa073ad65
--- /dev/null
+++ b/capstone/bindings/vb6/mx86.bas
@@ -0,0 +1,1868 @@
+Attribute VB_Name = "mx86"
+Option Explicit
+
+'Capstone Disassembly Engine bindings for VB6
+'Contributed by FireEye FLARE Team
+'Author: David Zimmer <david.zimmer@fireeye.com>, <dzzie@yahoo.com>
+'License: Apache
+'Copyright: FireEye 2017
+
+
+Enum x86_reg
+ X86_REG_INVALID = 0
+ X86_REG_AH
+ X86_REG_AL
+ X86_REG_AX
+ X86_REG_BH
+ X86_REG_BL
+ X86_REG_BP
+ X86_REG_BPL
+ X86_REG_BX
+ X86_REG_CH
+ X86_REG_CL
+ X86_REG_CS
+ X86_REG_CX
+ X86_REG_DH
+ X86_REG_DI
+ X86_REG_DIL
+ X86_REG_DL
+ X86_REG_DS
+ X86_REG_DX
+ X86_REG_EAX
+ X86_REG_EBP
+ X86_REG_EBX
+ X86_REG_ECX
+ X86_REG_EDI
+ X86_REG_EDX
+ X86_REG_EFLAGS
+ X86_REG_EIP
+ X86_REG_EIZ
+ X86_REG_ES
+ X86_REG_ESI
+ X86_REG_ESP
+ X86_REG_FPSW
+ X86_REG_FS
+ X86_REG_GS
+ X86_REG_IP
+ X86_REG_RAX
+ X86_REG_RBP
+ X86_REG_RBX
+ X86_REG_RCX
+ X86_REG_RDI
+ X86_REG_RDX
+ X86_REG_RIP
+ X86_REG_RIZ
+ X86_REG_RSI
+ X86_REG_RSP
+ X86_REG_SI
+ X86_REG_SIL
+ X86_REG_SP
+ X86_REG_SPL
+ X86_REG_SS
+ X86_REG_CR0
+ X86_REG_CR1
+ X86_REG_CR2
+ X86_REG_CR3
+ X86_REG_CR4
+ X86_REG_CR5
+ X86_REG_CR6
+ X86_REG_CR7
+ X86_REG_CR8
+ X86_REG_CR9
+ X86_REG_CR10
+ X86_REG_CR11
+ X86_REG_CR12
+ X86_REG_CR13
+ X86_REG_CR14
+ X86_REG_CR15
+ X86_REG_DR0
+ X86_REG_DR1
+ X86_REG_DR2
+ X86_REG_DR3
+ X86_REG_DR4
+ X86_REG_DR5
+ X86_REG_DR6
+ X86_REG_DR7
+ X86_REG_FP0
+ X86_REG_FP1
+ X86_REG_FP2
+ X86_REG_FP3
+ X86_REG_FP4
+ X86_REG_FP5
+ X86_REG_FP6
+ X86_REG_FP7
+ X86_REG_K0
+ X86_REG_K1
+ X86_REG_K2
+ X86_REG_K3
+ X86_REG_K4
+ X86_REG_K5
+ X86_REG_K6
+ X86_REG_K7
+ X86_REG_MM0
+ X86_REG_MM1
+ X86_REG_MM2
+ X86_REG_MM3
+ X86_REG_MM4
+ X86_REG_MM5
+ X86_REG_MM6
+ X86_REG_MM7
+ X86_REG_R8
+ X86_REG_R9
+ X86_REG_R10
+ X86_REG_R11
+ X86_REG_R12
+ X86_REG_R13
+ X86_REG_R14
+ X86_REG_R15
+ X86_REG_ST0
+ X86_REG_ST1
+ X86_REG_ST2
+ X86_REG_ST3
+ X86_REG_ST4
+ X86_REG_ST5
+ X86_REG_ST6
+ X86_REG_ST7
+ X86_REG_XMM0
+ X86_REG_XMM1
+ X86_REG_XMM2
+ X86_REG_XMM3
+ X86_REG_XMM4
+ X86_REG_XMM5
+ X86_REG_XMM6
+ X86_REG_XMM7
+ X86_REG_XMM8
+ X86_REG_XMM9
+ X86_REG_XMM10
+ X86_REG_XMM11
+ X86_REG_XMM12
+ X86_REG_XMM13
+ X86_REG_XMM14
+ X86_REG_XMM15
+ X86_REG_XMM16
+ X86_REG_XMM17
+ X86_REG_XMM18
+ X86_REG_XMM19
+ X86_REG_XMM20
+ X86_REG_XMM21
+ X86_REG_XMM22
+ X86_REG_XMM23
+ X86_REG_XMM24
+ X86_REG_XMM25
+ X86_REG_XMM26
+ X86_REG_XMM27
+ X86_REG_XMM28
+ X86_REG_XMM29
+ X86_REG_XMM30
+ X86_REG_XMM31
+ X86_REG_YMM0
+ X86_REG_YMM1
+ X86_REG_YMM2
+ X86_REG_YMM3
+ X86_REG_YMM4
+ X86_REG_YMM5
+ X86_REG_YMM6
+ X86_REG_YMM7
+ X86_REG_YMM8
+ X86_REG_YMM9
+ X86_REG_YMM10
+ X86_REG_YMM11
+ X86_REG_YMM12
+ X86_REG_YMM13
+ X86_REG_YMM14
+ X86_REG_YMM15
+ X86_REG_YMM16
+ X86_REG_YMM17
+ X86_REG_YMM18
+ X86_REG_YMM19
+ X86_REG_YMM20
+ X86_REG_YMM21
+ X86_REG_YMM22
+ X86_REG_YMM23
+ X86_REG_YMM24
+ X86_REG_YMM25
+ X86_REG_YMM26
+ X86_REG_YMM27
+ X86_REG_YMM28
+ X86_REG_YMM29
+ X86_REG_YMM30
+ X86_REG_YMM31
+ X86_REG_ZMM0
+ X86_REG_ZMM1
+ X86_REG_ZMM2
+ X86_REG_ZMM3
+ X86_REG_ZMM4
+ X86_REG_ZMM5
+ X86_REG_ZMM6
+ X86_REG_ZMM7
+ X86_REG_ZMM8
+ X86_REG_ZMM9
+ X86_REG_ZMM10
+ X86_REG_ZMM11
+ X86_REG_ZMM12
+ X86_REG_ZMM13
+ X86_REG_ZMM14
+ X86_REG_ZMM15
+ X86_REG_ZMM16
+ X86_REG_ZMM17
+ X86_REG_ZMM18
+ X86_REG_ZMM19
+ X86_REG_ZMM20
+ X86_REG_ZMM21
+ X86_REG_ZMM22
+ X86_REG_ZMM23
+ X86_REG_ZMM24
+ X86_REG_ZMM25
+ X86_REG_ZMM26
+ X86_REG_ZMM27
+ X86_REG_ZMM28
+ X86_REG_ZMM29
+ X86_REG_ZMM30
+ X86_REG_ZMM31
+ X86_REG_R8B
+ X86_REG_R9B
+ X86_REG_R10B
+ X86_REG_R11B
+ X86_REG_R12B
+ X86_REG_R13B
+ X86_REG_R14B
+ X86_REG_R15B
+ X86_REG_R8D
+ X86_REG_R9D
+ X86_REG_R10D
+ X86_REG_R11D
+ X86_REG_R12D
+ X86_REG_R13D
+ X86_REG_R14D
+ X86_REG_R15D
+ X86_REG_R8W
+ X86_REG_R9W
+ X86_REG_R10W
+ X86_REG_R11W
+ X86_REG_R12W
+ X86_REG_R13W
+ X86_REG_R14W
+ X86_REG_R15W
+ X86_REG_ENDING ' <-- mark the end of the list of registers
+End Enum
+
+'Operand type for instruction's operands
+Enum x86_op_type
+ X86_OP_INVALID = 0 'CS_OP_INVALID (Uninitialized).
+ X86_OP_REG 'CS_OP_REG (Register operand).
+ X86_OP_IMM 'CS_OP_IMM (Immediate operand).
+ x86_op_mem 'CS_OP_MEM (Memory operand).
+ X86_OP_FP 'CS_OP_FP (Floating-Point operand).
+End Enum
+
+'AVX broadcast type
+Public Enum x86_avx_bcast
+ X86_AVX_BCAST_INVALID = 0 ' Uninitialized.
+ X86_AVX_BCAST_2 ' AVX512 broadcast type {1to2}
+ X86_AVX_BCAST_4 ' AVX512 broadcast type {1to4}
+ X86_AVX_BCAST_8 ' AVX512 broadcast type {1to8}
+ X86_AVX_BCAST_16 ' AVX512 broadcast type {1to16}
+End Enum
+
+
+'SSE Code Condition type
+Public Enum x86_sse_cc
+ X86_SSE_CC_INVALID = 0 ' Uninitialized.
+ X86_SSE_CC_EQ
+ X86_SSE_CC_LT
+ X86_SSE_CC_LE
+ X86_SSE_CC_UNORD
+ X86_SSE_CC_NEQ
+ X86_SSE_CC_NLT
+ X86_SSE_CC_NLE
+ X86_SSE_CC_ORD
+ X86_SSE_CC_EQ_UQ
+ X86_SSE_CC_NGE
+ X86_SSE_CC_NGT
+ X86_SSE_CC_FALSE
+ X86_SSE_CC_NEQ_OQ
+ X86_SSE_CC_GE
+ X86_SSE_CC_GT
+ X86_SSE_CC_TRUE
+End Enum
+
+'AVX Code Condition type
+Public Enum x86_avx_cc
+ X86_AVX_CC_INVALID = 0 ' Uninitialized.
+ X86_AVX_CC_EQ
+ X86_AVX_CC_LT
+ X86_AVX_CC_LE
+ X86_AVX_CC_UNORD
+ X86_AVX_CC_NEQ
+ X86_AVX_CC_NLT
+ X86_AVX_CC_NLE
+ X86_AVX_CC_ORD
+ X86_AVX_CC_EQ_UQ
+ X86_AVX_CC_NGE
+ X86_AVX_CC_NGT
+ X86_AVX_CC_FALSE
+ X86_AVX_CC_NEQ_OQ
+ X86_AVX_CC_GE
+ X86_AVX_CC_GT
+ X86_AVX_CC_TRUE
+ X86_AVX_CC_EQ_OS
+ X86_AVX_CC_LT_OQ
+ X86_AVX_CC_LE_OQ
+ X86_AVX_CC_UNORD_S
+ X86_AVX_CC_NEQ_US
+ X86_AVX_CC_NLT_UQ
+ X86_AVX_CC_NLE_UQ
+ X86_AVX_CC_ORD_S
+ X86_AVX_CC_EQ_US
+ X86_AVX_CC_NGE_UQ
+ X86_AVX_CC_NGT_UQ
+ X86_AVX_CC_FALSE_OS
+ X86_AVX_CC_NEQ_OS
+ X86_AVX_CC_GE_OQ
+ X86_AVX_CC_GT_OQ
+ X86_AVX_CC_TRUE_US
+End Enum
+
+'AVX static rounding mode type
+Public Enum x86_avx_rm
+ X86_AVX_RM_INVALID = 0 ' Uninitialized.
+ X86_AVX_RM_RN ' Round to nearest
+ X86_AVX_RM_RD ' Round down
+ X86_AVX_RM_RU ' Round up
+ X86_AVX_RM_RZ ' Round toward zero
+End Enum
+
+'Instruction prefixes - to be used in cs_x86.prefix[]
+Public Enum x86_prefix
+ X86_PREFIX_LOCK = &HF0 ' lock (cs_x86.prefix[0]
+ X86_PREFIX_REP = &HF3 ' rep (cs_x86.prefix[0]
+ X86_PREFIX_REPNE = &HF2 ' repne (cs_x86.prefix[0]
+ X86_PREFIX_CS = &H2E ' segment override CS (cs_x86.prefix[1]
+ X86_PREFIX_SS = &H36 ' segment override SS (cs_x86.prefix[1]
+ X86_PREFIX_DS = &H3E ' segment override DS (cs_x86.prefix[1]
+ X86_PREFIX_ES = &H26 ' segment override ES (cs_x86.prefix[1]
+ X86_PREFIX_FS = &H64 ' segment override FS (cs_x86.prefix[1]
+ X86_PREFIX_GS = &H65 ' segment override GS (cs_x86.prefix[1]
+ X86_PREFIX_OPSIZE = &H66 ' operand-size override (cs_x86.prefix[2]
+ X86_PREFIX_ADDRSIZE = &H67 ' address-size override (cs_x86.prefix[3]
+End Enum
+
+'Instruction's operand referring to memory
+'This is associated with X86_OP_MEM operand type above
+Public Type x86_op_mem
+ segment As Long ' segment register (or X86_REG_INVALID if irrelevant) UNSIGNED
+ base As Long ' base register (or X86_REG_INVALID if irrelevant) UNSIGNED
+ index As Long ' index register (or X86_REG_INVALID if irrelevant) UNSIGNED
+ scale As Long ' scale for index register
+ disp As Currency ' displacement value
+End Type
+
+'Instruction operand 48 bytes
+'typedef struct cs_x86_op {
+' x86_op_type type; // operand type
+' union {
+' x86_reg reg; // register value for REG operand
+' int64_t imm; // immediate value for IMM operand
+' double fp; // floating point value for FP operand
+' x86_op_mem mem; // base/index/scale/disp value for MEM operand
+' };
+'
+' // size of this operand (in bytes).
+' uint8_t size;
+'
+' // AVX broadcast type, or 0 if irrelevant
+' x86_avx_bcast avx_bcast;
+'
+' // AVX zero opmask {z}
+' bool avx_zero_opmask;
+'} cs_x86_op;
+
+'Instruction structure
+Public Type cs_x86
+ ' Instruction prefix, which can be up to 4 bytes.
+ ' A prefix byte gets value 0 when irrelevant.
+ ' prefix[0] indicates REP/REPNE/LOCK prefix (See X86_PREFIX_REP/REPNE/LOCK above)
+ ' prefix[1] indicates segment override (irrelevant for x86_64):
+ ' See X86_PREFIX_CS/SS/DS/ES/FS/GS above.
+ ' prefix[2] indicates operand-size override (X86_PREFIX_OPSIZE)
+ ' prefix[3] indicates address-size override (X86_PREFIX_ADDRSIZE)
+ prefix(0 To 3) As Byte ' UNSIGNED
+
+ ' Instruction opcode, wich can be from 1 to 4 bytes in size.
+ ' This contains VEX opcode as well.
+ ' An trailing opcode byte gets value 0 when irrelevant.
+ opcode(0 To 3) As Byte ' UNSIGNED
+
+ rex As Byte ' REX prefix: only a non-zero value is relavant for x86_64 UNSIGNED
+ addr_size As Byte ' Address size, which can be overrided with above prefix[5]. UNSIGNED
+ modrm As Byte ' ModR/M byte UNSIGNED
+ sib As Byte ' SIB value, or 0 when irrelevant. UNSIGNED
+ disp As Long ' Displacement value, or 0 when irrelevant.
+ sib_index As x86_reg ' SIB index register, or X86_REG_INVALID when irrelevant.
+ sib_scale As Byte ' SIB scale. only applicable if sib_index is relavant.
+ sib_base As x86_reg ' SIB base register, or X86_REG_INVALID when irrelevant.
+ sse_cc As x86_sse_cc ' SSE Code Condition
+ avx_cc As x86_avx_cc ' AVX Code Condition
+ avx_sae As Byte ' AVX Suppress all Exception
+ avx_rm As x86_avx_rm ' AVX static rounding mode
+ op_count As Byte ' Number of operands of this instruction, or 0 when instruction has no operand.UNSIGNED
+
+ 'operands(0 To 7) As cs_x86_op ' operands for this instruction.
+ 'opBuf(0 To 383) As Byte
+
+End Type
+
+'X86 instructions
+Public Enum x86_insn
+ X86_INS_INVALID = 0
+ X86_INS_AAA
+ X86_INS_AAD
+ X86_INS_AAM
+ X86_INS_AAS
+ X86_INS_FABS
+ X86_INS_ADC
+ X86_INS_ADCX
+ X86_INS_ADD
+ X86_INS_ADDPD
+ X86_INS_ADDPS
+ X86_INS_ADDSD
+ X86_INS_ADDSS
+ X86_INS_ADDSUBPD
+ X86_INS_ADDSUBPS
+ X86_INS_FADD
+ X86_INS_FIADD
+ X86_INS_FADDP
+ X86_INS_ADOX
+ X86_INS_AESDECLAST
+ X86_INS_AESDEC
+ X86_INS_AESENCLAST
+ X86_INS_AESENC
+ X86_INS_AESIMC
+ X86_INS_AESKEYGENASSIST
+ X86_INS_AND
+ X86_INS_ANDN
+ X86_INS_ANDNPD
+ X86_INS_ANDNPS
+ X86_INS_ANDPD
+ X86_INS_ANDPS
+ X86_INS_ARPL
+ X86_INS_BEXTR
+ X86_INS_BLCFILL
+ X86_INS_BLCI
+ X86_INS_BLCIC
+ X86_INS_BLCMSK
+ X86_INS_BLCS
+ X86_INS_BLENDPD
+ X86_INS_BLENDPS
+ X86_INS_BLENDVPD
+ X86_INS_BLENDVPS
+ X86_INS_BLSFILL
+ X86_INS_BLSI
+ X86_INS_BLSIC
+ X86_INS_BLSMSK
+ X86_INS_BLSR
+ X86_INS_BOUND
+ X86_INS_BSF
+ X86_INS_BSR
+ X86_INS_BSWAP
+ X86_INS_BT
+ X86_INS_BTC
+ X86_INS_BTR
+ X86_INS_BTS
+ X86_INS_BZHI
+ X86_INS_CALL
+ X86_INS_CBW
+ X86_INS_CDQ
+ X86_INS_CDQE
+ X86_INS_FCHS
+ X86_INS_CLAC
+ X86_INS_CLC
+ X86_INS_CLD
+ X86_INS_CLFLUSH
+ X86_INS_CLGI
+ X86_INS_CLI
+ X86_INS_CLTS
+ X86_INS_CMC
+ X86_INS_CMOVA
+ X86_INS_CMOVAE
+ X86_INS_CMOVB
+ X86_INS_CMOVBE
+ X86_INS_FCMOVBE
+ X86_INS_FCMOVB
+ X86_INS_CMOVE
+ X86_INS_FCMOVE
+ X86_INS_CMOVG
+ X86_INS_CMOVGE
+ X86_INS_CMOVL
+ X86_INS_CMOVLE
+ X86_INS_FCMOVNBE
+ X86_INS_FCMOVNB
+ X86_INS_CMOVNE
+ X86_INS_FCMOVNE
+ X86_INS_CMOVNO
+ X86_INS_CMOVNP
+ X86_INS_FCMOVNU
+ X86_INS_CMOVNS
+ X86_INS_CMOVO
+ X86_INS_CMOVP
+ 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
+ X86_INS_CMPXCHG8B
+ X86_INS_COMISD
+ X86_INS_COMISS
+ X86_INS_FCOMP
+ X86_INS_FCOMPI
+ X86_INS_FCOMI
+ X86_INS_FCOM
+ X86_INS_FCOS
+ X86_INS_CPUID
+ X86_INS_CQO
+ X86_INS_CRC32
+ X86_INS_CVTDQ2PD
+ X86_INS_CVTDQ2PS
+ X86_INS_CVTPD2DQ
+ X86_INS_CVTPD2PS
+ X86_INS_CVTPS2DQ
+ X86_INS_CVTPS2PD
+ X86_INS_CVTSD2SI
+ X86_INS_CVTSD2SS
+ X86_INS_CVTSI2SD
+ X86_INS_CVTSI2SS
+ X86_INS_CVTSS2SD
+ X86_INS_CVTSS2SI
+ X86_INS_CVTTPD2DQ
+ X86_INS_CVTTPS2DQ
+ X86_INS_CVTTSD2SI
+ X86_INS_CVTTSS2SI
+ X86_INS_CWD
+ X86_INS_CWDE
+ X86_INS_DAA
+ X86_INS_DAS
+ X86_INS_DATA16
+ X86_INS_DEC
+ X86_INS_DIV
+ X86_INS_DIVPD
+ X86_INS_DIVPS
+ X86_INS_FDIVR
+ X86_INS_FIDIVR
+ X86_INS_FDIVRP
+ X86_INS_DIVSD
+ X86_INS_DIVSS
+ X86_INS_FDIV
+ X86_INS_FIDIV
+ X86_INS_FDIVP
+ X86_INS_DPPD
+ X86_INS_DPPS
+ X86_INS_RET
+ X86_INS_ENCLS
+ X86_INS_ENCLU
+ X86_INS_ENTER
+ X86_INS_EXTRACTPS
+ X86_INS_EXTRQ
+ X86_INS_F2XM1
+ X86_INS_LCALL
+ X86_INS_LJMP
+ X86_INS_FBLD
+ X86_INS_FBSTP
+ X86_INS_FCOMPP
+ X86_INS_FDECSTP
+ X86_INS_FEMMS
+ X86_INS_FFREE
+ X86_INS_FICOM
+ X86_INS_FICOMP
+ X86_INS_FINCSTP
+ X86_INS_FLDCW
+ X86_INS_FLDENV
+ X86_INS_FLDL2E
+ X86_INS_FLDL2T
+ X86_INS_FLDLG2
+ X86_INS_FLDLN2
+ X86_INS_FLDPI
+ X86_INS_FNCLEX
+ X86_INS_FNINIT
+ X86_INS_FNOP
+ X86_INS_FNSTCW
+ X86_INS_FNSTSW
+ X86_INS_FPATAN
+ X86_INS_FPREM
+ X86_INS_FPREM1
+ X86_INS_FPTAN
+ X86_INS_FRNDINT
+ X86_INS_FRSTOR
+ X86_INS_FNSAVE
+ X86_INS_FSCALE
+ X86_INS_FSETPM
+ X86_INS_FSINCOS
+ X86_INS_FNSTENV
+ X86_INS_FXAM
+ X86_INS_FXRSTOR
+ X86_INS_FXRSTOR64
+ X86_INS_FXSAVE
+ X86_INS_FXSAVE64
+ X86_INS_FXTRACT
+ X86_INS_FYL2X
+ X86_INS_FYL2XP1
+ X86_INS_MOVAPD
+ X86_INS_MOVAPS
+ X86_INS_ORPD
+ X86_INS_ORPS
+ X86_INS_VMOVAPD
+ X86_INS_VMOVAPS
+ X86_INS_XORPD
+ X86_INS_XORPS
+ X86_INS_GETSEC
+ X86_INS_HADDPD
+ X86_INS_HADDPS
+ X86_INS_HLT
+ X86_INS_HSUBPD
+ X86_INS_HSUBPS
+ X86_INS_IDIV
+ X86_INS_FILD
+ X86_INS_IMUL
+ X86_INS_IN
+ X86_INS_INC
+ X86_INS_INSB
+ X86_INS_INSERTPS
+ X86_INS_INSERTQ
+ X86_INS_INSD
+ X86_INS_INSW
+ X86_INS_INT
+ X86_INS_INT1
+ X86_INS_INT3
+ X86_INS_INTO
+ X86_INS_INVD
+ X86_INS_INVEPT
+ X86_INS_INVLPG
+ X86_INS_INVLPGA
+ X86_INS_INVPCID
+ X86_INS_INVVPID
+ X86_INS_IRET
+ X86_INS_IRETD
+ X86_INS_IRETQ
+ X86_INS_FISTTP
+ X86_INS_FIST
+ X86_INS_FISTP
+ X86_INS_UCOMISD
+ X86_INS_UCOMISS
+ X86_INS_VCMP
+ X86_INS_VCOMISD
+ X86_INS_VCOMISS
+ X86_INS_VCVTSD2SS
+ X86_INS_VCVTSI2SD
+ X86_INS_VCVTSI2SS
+ X86_INS_VCVTSS2SD
+ X86_INS_VCVTTSD2SI
+ X86_INS_VCVTTSD2USI
+ X86_INS_VCVTTSS2SI
+ X86_INS_VCVTTSS2USI
+ X86_INS_VCVTUSI2SD
+ X86_INS_VCVTUSI2SS
+ X86_INS_VUCOMISD
+ X86_INS_VUCOMISS
+ X86_INS_JAE
+ X86_INS_JA
+ X86_INS_JBE
+ X86_INS_JB
+ X86_INS_JCXZ
+ X86_INS_JECXZ
+ X86_INS_JE
+ X86_INS_JGE
+ X86_INS_JG
+ X86_INS_JLE
+ X86_INS_JL
+ X86_INS_JMP
+ X86_INS_JNE
+ X86_INS_JNO
+ X86_INS_JNP
+ X86_INS_JNS
+ X86_INS_JO
+ X86_INS_JP
+ X86_INS_JRCXZ
+ X86_INS_JS
+ X86_INS_KANDB
+ X86_INS_KANDD
+ X86_INS_KANDNB
+ X86_INS_KANDND
+ X86_INS_KANDNQ
+ X86_INS_KANDNW
+ X86_INS_KANDQ
+ X86_INS_KANDW
+ X86_INS_KMOVB
+ X86_INS_KMOVD
+ X86_INS_KMOVQ
+ X86_INS_KMOVW
+ X86_INS_KNOTB
+ X86_INS_KNOTD
+ X86_INS_KNOTQ
+ X86_INS_KNOTW
+ X86_INS_KORB
+ X86_INS_KORD
+ X86_INS_KORQ
+ X86_INS_KORTESTW
+ X86_INS_KORW
+ X86_INS_KSHIFTLW
+ X86_INS_KSHIFTRW
+ X86_INS_KUNPCKBW
+ X86_INS_KXNORB
+ X86_INS_KXNORD
+ X86_INS_KXNORQ
+ X86_INS_KXNORW
+ X86_INS_KXORB
+ X86_INS_KXORD
+ X86_INS_KXORQ
+ X86_INS_KXORW
+ X86_INS_LAHF
+ X86_INS_LAR
+ X86_INS_LDDQU
+ X86_INS_LDMXCSR
+ X86_INS_LDS
+ X86_INS_FLDZ
+ X86_INS_FLD1
+ X86_INS_FLD
+ X86_INS_LEA
+ X86_INS_LEAVE
+ X86_INS_LES
+ X86_INS_LFENCE
+ X86_INS_LFS
+ X86_INS_LGDT
+ X86_INS_LGS
+ X86_INS_LIDT
+ X86_INS_LLDT
+ X86_INS_LMSW
+ X86_INS_OR
+ X86_INS_SUB
+ X86_INS_XOR
+ X86_INS_LODSB
+ X86_INS_LODSD
+ X86_INS_LODSQ
+ X86_INS_LODSW
+ X86_INS_LOOP
+ X86_INS_LOOPE
+ X86_INS_LOOPNE
+ X86_INS_RETF
+ X86_INS_RETFQ
+ X86_INS_LSL
+ X86_INS_LSS
+ X86_INS_LTR
+ X86_INS_XADD
+ X86_INS_LZCNT
+ X86_INS_MASKMOVDQU
+ X86_INS_MAXPD
+ X86_INS_MAXPS
+ X86_INS_MAXSD
+ X86_INS_MAXSS
+ X86_INS_MFENCE
+ X86_INS_MINPD
+ X86_INS_MINPS
+ X86_INS_MINSD
+ X86_INS_MINSS
+ X86_INS_CVTPD2PI
+ X86_INS_CVTPI2PD
+ X86_INS_CVTPI2PS
+ X86_INS_CVTPS2PI
+ X86_INS_CVTTPD2PI
+ X86_INS_CVTTPS2PI
+ X86_INS_EMMS
+ X86_INS_MASKMOVQ
+ X86_INS_MOVD
+ X86_INS_MOVDQ2Q
+ X86_INS_MOVNTQ
+ X86_INS_MOVQ2DQ
+ X86_INS_MOVQ
+ X86_INS_PABSB
+ X86_INS_PABSD
+ X86_INS_PABSW
+ X86_INS_PACKSSDW
+ X86_INS_PACKSSWB
+ X86_INS_PACKUSWB
+ X86_INS_PADDB
+ X86_INS_PADDD
+ X86_INS_PADDQ
+ X86_INS_PADDSB
+ X86_INS_PADDSW
+ X86_INS_PADDUSB
+ X86_INS_PADDUSW
+ X86_INS_PADDW
+ X86_INS_PALIGNR
+ X86_INS_PANDN
+ X86_INS_PAND
+ X86_INS_PAVGB
+ X86_INS_PAVGW
+ X86_INS_PCMPEQB
+ X86_INS_PCMPEQD
+ X86_INS_PCMPEQW
+ X86_INS_PCMPGTB
+ X86_INS_PCMPGTD
+ X86_INS_PCMPGTW
+ X86_INS_PEXTRW
+ X86_INS_PHADDSW
+ X86_INS_PHADDW
+ X86_INS_PHADDD
+ X86_INS_PHSUBD
+ X86_INS_PHSUBSW
+ X86_INS_PHSUBW
+ X86_INS_PINSRW
+ X86_INS_PMADDUBSW
+ X86_INS_PMADDWD
+ X86_INS_PMAXSW
+ X86_INS_PMAXUB
+ X86_INS_PMINSW
+ X86_INS_PMINUB
+ X86_INS_PMOVMSKB
+ X86_INS_PMULHRSW
+ X86_INS_PMULHUW
+ X86_INS_PMULHW
+ X86_INS_PMULLW
+ X86_INS_PMULUDQ
+ X86_INS_POR
+ X86_INS_PSADBW
+ X86_INS_PSHUFB
+ X86_INS_PSHUFW
+ X86_INS_PSIGNB
+ X86_INS_PSIGND
+ X86_INS_PSIGNW
+ X86_INS_PSLLD
+ X86_INS_PSLLQ
+ X86_INS_PSLLW
+ X86_INS_PSRAD
+ X86_INS_PSRAW
+ X86_INS_PSRLD
+ X86_INS_PSRLQ
+ X86_INS_PSRLW
+ X86_INS_PSUBB
+ X86_INS_PSUBD
+ X86_INS_PSUBQ
+ X86_INS_PSUBSB
+ X86_INS_PSUBSW
+ X86_INS_PSUBUSB
+ X86_INS_PSUBUSW
+ X86_INS_PSUBW
+ X86_INS_PUNPCKHBW
+ X86_INS_PUNPCKHDQ
+ X86_INS_PUNPCKHWD
+ X86_INS_PUNPCKLBW
+ X86_INS_PUNPCKLDQ
+ X86_INS_PUNPCKLWD
+ X86_INS_PXOR
+ X86_INS_MONITOR
+ X86_INS_MONTMUL
+ X86_INS_MOV
+ X86_INS_MOVABS
+ X86_INS_MOVBE
+ X86_INS_MOVDDUP
+ X86_INS_MOVDQA
+ X86_INS_MOVDQU
+ X86_INS_MOVHLPS
+ X86_INS_MOVHPD
+ X86_INS_MOVHPS
+ X86_INS_MOVLHPS
+ X86_INS_MOVLPD
+ X86_INS_MOVLPS
+ X86_INS_MOVMSKPD
+ X86_INS_MOVMSKPS
+ X86_INS_MOVNTDQA
+ X86_INS_MOVNTDQ
+ X86_INS_MOVNTI
+ X86_INS_MOVNTPD
+ X86_INS_MOVNTPS
+ X86_INS_MOVNTSD
+ X86_INS_MOVNTSS
+ X86_INS_MOVSB
+ X86_INS_MOVSD
+ X86_INS_MOVSHDUP
+ X86_INS_MOVSLDUP
+ X86_INS_MOVSQ
+ X86_INS_MOVSS
+ X86_INS_MOVSW
+ X86_INS_MOVSX
+ X86_INS_MOVSXD
+ X86_INS_MOVUPD
+ X86_INS_MOVUPS
+ X86_INS_MOVZX
+ X86_INS_MPSADBW
+ X86_INS_MUL
+ X86_INS_MULPD
+ X86_INS_MULPS
+ X86_INS_MULSD
+ X86_INS_MULSS
+ X86_INS_MULX
+ X86_INS_FMUL
+ X86_INS_FIMUL
+ X86_INS_FMULP
+ X86_INS_MWAIT
+ X86_INS_NEG
+ X86_INS_NOP
+ X86_INS_NOT
+ X86_INS_OUT
+ X86_INS_OUTSB
+ X86_INS_OUTSD
+ X86_INS_OUTSW
+ X86_INS_PACKUSDW
+ X86_INS_PAUSE
+ X86_INS_PAVGUSB
+ X86_INS_PBLENDVB
+ X86_INS_PBLENDW
+ X86_INS_PCLMULQDQ
+ X86_INS_PCMPEQQ
+ X86_INS_PCMPESTRI
+ X86_INS_PCMPESTRM
+ X86_INS_PCMPGTQ
+ X86_INS_PCMPISTRI
+ X86_INS_PCMPISTRM
+ X86_INS_PDEP
+ X86_INS_PEXT
+ X86_INS_PEXTRB
+ X86_INS_PEXTRD
+ X86_INS_PEXTRQ
+ X86_INS_PF2ID
+ X86_INS_PF2IW
+ X86_INS_PFACC
+ X86_INS_PFADD
+ X86_INS_PFCMPEQ
+ X86_INS_PFCMPGE
+ X86_INS_PFCMPGT
+ X86_INS_PFMAX
+ X86_INS_PFMIN
+ X86_INS_PFMUL
+ X86_INS_PFNACC
+ X86_INS_PFPNACC
+ X86_INS_PFRCPIT1
+ X86_INS_PFRCPIT2
+ X86_INS_PFRCP
+ X86_INS_PFRSQIT1
+ X86_INS_PFRSQRT
+ X86_INS_PFSUBR
+ X86_INS_PFSUB
+ X86_INS_PHMINPOSUW
+ X86_INS_PI2FD
+ X86_INS_PI2FW
+ X86_INS_PINSRB
+ X86_INS_PINSRD
+ X86_INS_PINSRQ
+ X86_INS_PMAXSB
+ X86_INS_PMAXSD
+ X86_INS_PMAXUD
+ X86_INS_PMAXUW
+ X86_INS_PMINSB
+ X86_INS_PMINSD
+ X86_INS_PMINUD
+ X86_INS_PMINUW
+ X86_INS_PMOVSXBD
+ X86_INS_PMOVSXBQ
+ X86_INS_PMOVSXBW
+ X86_INS_PMOVSXDQ
+ X86_INS_PMOVSXWD
+ X86_INS_PMOVSXWQ
+ X86_INS_PMOVZXBD
+ X86_INS_PMOVZXBQ
+ X86_INS_PMOVZXBW
+ X86_INS_PMOVZXDQ
+ X86_INS_PMOVZXWD
+ X86_INS_PMOVZXWQ
+ X86_INS_PMULDQ
+ X86_INS_PMULHRW
+ X86_INS_PMULLD
+ X86_INS_POP
+ X86_INS_POPAW
+ X86_INS_POPAL
+ X86_INS_POPCNT
+ X86_INS_POPF
+ X86_INS_POPFD
+ X86_INS_POPFQ
+ X86_INS_PREFETCH
+ X86_INS_PREFETCHNTA
+ X86_INS_PREFETCHT0
+ X86_INS_PREFETCHT1
+ X86_INS_PREFETCHT2
+ X86_INS_PREFETCHW
+ X86_INS_PSHUFD
+ X86_INS_PSHUFHW
+ X86_INS_PSHUFLW
+ X86_INS_PSLLDQ
+ X86_INS_PSRLDQ
+ X86_INS_PSWAPD
+ X86_INS_PTEST
+ X86_INS_PUNPCKHQDQ
+ X86_INS_PUNPCKLQDQ
+ X86_INS_PUSH
+ X86_INS_PUSHAW
+ X86_INS_PUSHAL
+ X86_INS_PUSHF
+ X86_INS_PUSHFD
+ X86_INS_PUSHFQ
+ X86_INS_RCL
+ X86_INS_RCPPS
+ X86_INS_RCPSS
+ X86_INS_RCR
+ X86_INS_RDFSBASE
+ X86_INS_RDGSBASE
+ X86_INS_RDMSR
+ X86_INS_RDPMC
+ X86_INS_RDRAND
+ X86_INS_RDSEED
+ X86_INS_RDTSC
+ X86_INS_RDTSCP
+ X86_INS_ROL
+ X86_INS_ROR
+ X86_INS_RORX
+ X86_INS_ROUNDPD
+ X86_INS_ROUNDPS
+ X86_INS_ROUNDSD
+ X86_INS_ROUNDSS
+ X86_INS_RSM
+ X86_INS_RSQRTPS
+ X86_INS_RSQRTSS
+ X86_INS_SAHF
+ X86_INS_SAL
+ X86_INS_SALC
+ X86_INS_SAR
+ X86_INS_SARX
+ X86_INS_SBB
+ X86_INS_SCASB
+ X86_INS_SCASD
+ X86_INS_SCASQ
+ X86_INS_SCASW
+ X86_INS_SETAE
+ X86_INS_SETA
+ X86_INS_SETBE
+ X86_INS_SETB
+ X86_INS_SETE
+ X86_INS_SETGE
+ X86_INS_SETG
+ X86_INS_SETLE
+ X86_INS_SETL
+ X86_INS_SETNE
+ X86_INS_SETNO
+ X86_INS_SETNP
+ X86_INS_SETNS
+ X86_INS_SETO
+ X86_INS_SETP
+ X86_INS_SETS
+ X86_INS_SFENCE
+ X86_INS_SGDT
+ X86_INS_SHA1MSG1
+ X86_INS_SHA1MSG2
+ X86_INS_SHA1NEXTE
+ X86_INS_SHA1RNDS4
+ X86_INS_SHA256MSG1
+ X86_INS_SHA256MSG2
+ X86_INS_SHA256RNDS2
+ X86_INS_SHL
+ X86_INS_SHLD
+ X86_INS_SHLX
+ X86_INS_SHR
+ X86_INS_SHRD
+ X86_INS_SHRX
+ X86_INS_SHUFPD
+ X86_INS_SHUFPS
+ X86_INS_SIDT
+ X86_INS_FSIN
+ X86_INS_SKINIT
+ X86_INS_SLDT
+ X86_INS_SMSW
+ X86_INS_SQRTPD
+ X86_INS_SQRTPS
+ X86_INS_SQRTSD
+ X86_INS_SQRTSS
+ X86_INS_FSQRT
+ X86_INS_STAC
+ X86_INS_STC
+ X86_INS_STD
+ X86_INS_STGI
+ X86_INS_STI
+ X86_INS_STMXCSR
+ X86_INS_STOSB
+ X86_INS_STOSD
+ X86_INS_STOSQ
+ X86_INS_STOSW
+ X86_INS_STR
+ X86_INS_FST
+ X86_INS_FSTP
+ X86_INS_FSTPNCE
+ X86_INS_SUBPD
+ X86_INS_SUBPS
+ X86_INS_FSUBR
+ X86_INS_FISUBR
+ X86_INS_FSUBRP
+ X86_INS_SUBSD
+ X86_INS_SUBSS
+ X86_INS_FSUB
+ X86_INS_FISUB
+ X86_INS_FSUBP
+ X86_INS_SWAPGS
+ X86_INS_SYSCALL
+ X86_INS_SYSENTER
+ X86_INS_SYSEXIT
+ X86_INS_SYSRET
+ X86_INS_T1MSKC
+ X86_INS_TEST
+ X86_INS_UD2
+ X86_INS_FTST
+ X86_INS_TZCNT
+ X86_INS_TZMSK
+ X86_INS_FUCOMPI
+ X86_INS_FUCOMI
+ X86_INS_FUCOMPP
+ X86_INS_FUCOMP
+ X86_INS_FUCOM
+ X86_INS_UD2B
+ X86_INS_UNPCKHPD
+ X86_INS_UNPCKHPS
+ X86_INS_UNPCKLPD
+ X86_INS_UNPCKLPS
+ X86_INS_VADDPD
+ X86_INS_VADDPS
+ X86_INS_VADDSD
+ X86_INS_VADDSS
+ X86_INS_VADDSUBPD
+ X86_INS_VADDSUBPS
+ X86_INS_VAESDECLAST
+ X86_INS_VAESDEC
+ X86_INS_VAESENCLAST
+ X86_INS_VAESENC
+ X86_INS_VAESIMC
+ X86_INS_VAESKEYGENASSIST
+ X86_INS_VALIGND
+ X86_INS_VALIGNQ
+ X86_INS_VANDNPD
+ X86_INS_VANDNPS
+ X86_INS_VANDPD
+ X86_INS_VANDPS
+ X86_INS_VBLENDMPD
+ X86_INS_VBLENDMPS
+ X86_INS_VBLENDPD
+ X86_INS_VBLENDPS
+ X86_INS_VBLENDVPD
+ X86_INS_VBLENDVPS
+ X86_INS_VBROADCASTF128
+ X86_INS_VBROADCASTI128
+ X86_INS_VBROADCASTI32X4
+ X86_INS_VBROADCASTI64X4
+ X86_INS_VBROADCASTSD
+ X86_INS_VBROADCASTSS
+ X86_INS_VCMPPD
+ X86_INS_VCMPPS
+ X86_INS_VCMPSD
+ X86_INS_VCMPSS
+ X86_INS_VCVTDQ2PD
+ X86_INS_VCVTDQ2PS
+ X86_INS_VCVTPD2DQX
+ X86_INS_VCVTPD2DQ
+ X86_INS_VCVTPD2PSX
+ X86_INS_VCVTPD2PS
+ X86_INS_VCVTPD2UDQ
+ X86_INS_VCVTPH2PS
+ X86_INS_VCVTPS2DQ
+ X86_INS_VCVTPS2PD
+ X86_INS_VCVTPS2PH
+ X86_INS_VCVTPS2UDQ
+ X86_INS_VCVTSD2SI
+ X86_INS_VCVTSD2USI
+ X86_INS_VCVTSS2SI
+ X86_INS_VCVTSS2USI
+ X86_INS_VCVTTPD2DQX
+ X86_INS_VCVTTPD2DQ
+ X86_INS_VCVTTPD2UDQ
+ X86_INS_VCVTTPS2DQ
+ X86_INS_VCVTTPS2UDQ
+ X86_INS_VCVTUDQ2PD
+ X86_INS_VCVTUDQ2PS
+ X86_INS_VDIVPD
+ X86_INS_VDIVPS
+ X86_INS_VDIVSD
+ X86_INS_VDIVSS
+ X86_INS_VDPPD
+ X86_INS_VDPPS
+ X86_INS_VERR
+ X86_INS_VERW
+ X86_INS_VEXTRACTF128
+ X86_INS_VEXTRACTF32X4
+ X86_INS_VEXTRACTF64X4
+ X86_INS_VEXTRACTI128
+ X86_INS_VEXTRACTI32X4
+ X86_INS_VEXTRACTI64X4
+ X86_INS_VEXTRACTPS
+ X86_INS_VFMADD132PD
+ X86_INS_VFMADD132PS
+ X86_INS_VFMADD213PD
+ X86_INS_VFMADD213PS
+ X86_INS_VFMADDPD
+ X86_INS_VFMADD231PD
+ X86_INS_VFMADDPS
+ X86_INS_VFMADD231PS
+ X86_INS_VFMADDSD
+ X86_INS_VFMADD213SD
+ X86_INS_VFMADD132SD
+ X86_INS_VFMADD231SD
+ X86_INS_VFMADDSS
+ X86_INS_VFMADD213SS
+ X86_INS_VFMADD132SS
+ X86_INS_VFMADD231SS
+ X86_INS_VFMADDSUB132PD
+ X86_INS_VFMADDSUB132PS
+ X86_INS_VFMADDSUB213PD
+ X86_INS_VFMADDSUB213PS
+ X86_INS_VFMADDSUBPD
+ X86_INS_VFMADDSUB231PD
+ X86_INS_VFMADDSUBPS
+ X86_INS_VFMADDSUB231PS
+ X86_INS_VFMSUB132PD
+ X86_INS_VFMSUB132PS
+ X86_INS_VFMSUB213PD
+ X86_INS_VFMSUB213PS
+ X86_INS_VFMSUBADD132PD
+ X86_INS_VFMSUBADD132PS
+ X86_INS_VFMSUBADD213PD
+ X86_INS_VFMSUBADD213PS
+ X86_INS_VFMSUBADDPD
+ X86_INS_VFMSUBADD231PD
+ X86_INS_VFMSUBADDPS
+ X86_INS_VFMSUBADD231PS
+ X86_INS_VFMSUBPD
+ X86_INS_VFMSUB231PD
+ X86_INS_VFMSUBPS
+ X86_INS_VFMSUB231PS
+ X86_INS_VFMSUBSD
+ X86_INS_VFMSUB213SD
+ X86_INS_VFMSUB132SD
+ X86_INS_VFMSUB231SD
+ X86_INS_VFMSUBSS
+ X86_INS_VFMSUB213SS
+ X86_INS_VFMSUB132SS
+ X86_INS_VFMSUB231SS
+ X86_INS_VFNMADD132PD
+ X86_INS_VFNMADD132PS
+ X86_INS_VFNMADD213PD
+ X86_INS_VFNMADD213PS
+ X86_INS_VFNMADDPD
+ X86_INS_VFNMADD231PD
+ X86_INS_VFNMADDPS
+ X86_INS_VFNMADD231PS
+ X86_INS_VFNMADDSD
+ X86_INS_VFNMADD213SD
+ X86_INS_VFNMADD132SD
+ X86_INS_VFNMADD231SD
+ X86_INS_VFNMADDSS
+ X86_INS_VFNMADD213SS
+ X86_INS_VFNMADD132SS
+ X86_INS_VFNMADD231SS
+ X86_INS_VFNMSUB132PD
+ X86_INS_VFNMSUB132PS
+ X86_INS_VFNMSUB213PD
+ X86_INS_VFNMSUB213PS
+ X86_INS_VFNMSUBPD
+ X86_INS_VFNMSUB231PD
+ X86_INS_VFNMSUBPS
+ X86_INS_VFNMSUB231PS
+ X86_INS_VFNMSUBSD
+ X86_INS_VFNMSUB213SD
+ X86_INS_VFNMSUB132SD
+ X86_INS_VFNMSUB231SD
+ X86_INS_VFNMSUBSS
+ X86_INS_VFNMSUB213SS
+ X86_INS_VFNMSUB132SS
+ X86_INS_VFNMSUB231SS
+ X86_INS_VFRCZPD
+ X86_INS_VFRCZPS
+ X86_INS_VFRCZSD
+ X86_INS_VFRCZSS
+ X86_INS_VORPD
+ X86_INS_VORPS
+ X86_INS_VXORPD
+ X86_INS_VXORPS
+ X86_INS_VGATHERDPD
+ X86_INS_VGATHERDPS
+ X86_INS_VGATHERPF0DPD
+ X86_INS_VGATHERPF0DPS
+ X86_INS_VGATHERPF0QPD
+ X86_INS_VGATHERPF0QPS
+ X86_INS_VGATHERPF1DPD
+ X86_INS_VGATHERPF1DPS
+ X86_INS_VGATHERPF1QPD
+ X86_INS_VGATHERPF1QPS
+ X86_INS_VGATHERQPD
+ X86_INS_VGATHERQPS
+ X86_INS_VHADDPD
+ X86_INS_VHADDPS
+ X86_INS_VHSUBPD
+ X86_INS_VHSUBPS
+ X86_INS_VINSERTF128
+ X86_INS_VINSERTF32X4
+ X86_INS_VINSERTF64X4
+ X86_INS_VINSERTI128
+ X86_INS_VINSERTI32X4
+ X86_INS_VINSERTI64X4
+ X86_INS_VINSERTPS
+ X86_INS_VLDDQU
+ X86_INS_VLDMXCSR
+ X86_INS_VMASKMOVDQU
+ X86_INS_VMASKMOVPD
+ X86_INS_VMASKMOVPS
+ X86_INS_VMAXPD
+ X86_INS_VMAXPS
+ X86_INS_VMAXSD
+ X86_INS_VMAXSS
+ X86_INS_VMCALL
+ X86_INS_VMCLEAR
+ X86_INS_VMFUNC
+ X86_INS_VMINPD
+ X86_INS_VMINPS
+ X86_INS_VMINSD
+ X86_INS_VMINSS
+ X86_INS_VMLAUNCH
+ X86_INS_VMLOAD
+ X86_INS_VMMCALL
+ X86_INS_VMOVQ
+ X86_INS_VMOVDDUP
+ X86_INS_VMOVD
+ X86_INS_VMOVDQA32
+ X86_INS_VMOVDQA64
+ X86_INS_VMOVDQA
+ X86_INS_VMOVDQU16
+ X86_INS_VMOVDQU32
+ X86_INS_VMOVDQU64
+ X86_INS_VMOVDQU8
+ X86_INS_VMOVDQU
+ X86_INS_VMOVHLPS
+ X86_INS_VMOVHPD
+ X86_INS_VMOVHPS
+ X86_INS_VMOVLHPS
+ X86_INS_VMOVLPD
+ X86_INS_VMOVLPS
+ X86_INS_VMOVMSKPD
+ X86_INS_VMOVMSKPS
+ X86_INS_VMOVNTDQA
+ X86_INS_VMOVNTDQ
+ X86_INS_VMOVNTPD
+ X86_INS_VMOVNTPS
+ X86_INS_VMOVSD
+ X86_INS_VMOVSHDUP
+ X86_INS_VMOVSLDUP
+ X86_INS_VMOVSS
+ X86_INS_VMOVUPD
+ X86_INS_VMOVUPS
+ X86_INS_VMPSADBW
+ X86_INS_VMPTRLD
+ X86_INS_VMPTRST
+ X86_INS_VMREAD
+ X86_INS_VMRESUME
+ X86_INS_VMRUN
+ X86_INS_VMSAVE
+ X86_INS_VMULPD
+ X86_INS_VMULPS
+ X86_INS_VMULSD
+ X86_INS_VMULSS
+ X86_INS_VMWRITE
+ X86_INS_VMXOFF
+ X86_INS_VMXON
+ X86_INS_VPABSB
+ X86_INS_VPABSD
+ X86_INS_VPABSQ
+ X86_INS_VPABSW
+ X86_INS_VPACKSSDW
+ X86_INS_VPACKSSWB
+ X86_INS_VPACKUSDW
+ X86_INS_VPACKUSWB
+ X86_INS_VPADDB
+ X86_INS_VPADDD
+ X86_INS_VPADDQ
+ X86_INS_VPADDSB
+ X86_INS_VPADDSW
+ X86_INS_VPADDUSB
+ X86_INS_VPADDUSW
+ X86_INS_VPADDW
+ X86_INS_VPALIGNR
+ X86_INS_VPANDD
+ X86_INS_VPANDND
+ X86_INS_VPANDNQ
+ X86_INS_VPANDN
+ X86_INS_VPANDQ
+ X86_INS_VPAND
+ X86_INS_VPAVGB
+ X86_INS_VPAVGW
+ X86_INS_VPBLENDD
+ X86_INS_VPBLENDMD
+ X86_INS_VPBLENDMQ
+ X86_INS_VPBLENDVB
+ X86_INS_VPBLENDW
+ X86_INS_VPBROADCASTB
+ X86_INS_VPBROADCASTD
+ X86_INS_VPBROADCASTMB2Q
+ X86_INS_VPBROADCASTMW2D
+ X86_INS_VPBROADCASTQ
+ X86_INS_VPBROADCASTW
+ X86_INS_VPCLMULQDQ
+ X86_INS_VPCMOV
+ X86_INS_VPCMP
+ X86_INS_VPCMPD
+ X86_INS_VPCMPEQB
+ X86_INS_VPCMPEQD
+ X86_INS_VPCMPEQQ
+ X86_INS_VPCMPEQW
+ X86_INS_VPCMPESTRI
+ X86_INS_VPCMPESTRM
+ X86_INS_VPCMPGTB
+ X86_INS_VPCMPGTD
+ X86_INS_VPCMPGTQ
+ X86_INS_VPCMPGTW
+ X86_INS_VPCMPISTRI
+ X86_INS_VPCMPISTRM
+ X86_INS_VPCMPQ
+ X86_INS_VPCMPUD
+ X86_INS_VPCMPUQ
+ X86_INS_VPCOMB
+ X86_INS_VPCOMD
+ X86_INS_VPCOMQ
+ X86_INS_VPCOMUB
+ X86_INS_VPCOMUD
+ X86_INS_VPCOMUQ
+ X86_INS_VPCOMUW
+ X86_INS_VPCOMW
+ X86_INS_VPCONFLICTD
+ X86_INS_VPCONFLICTQ
+ X86_INS_VPERM2F128
+ X86_INS_VPERM2I128
+ X86_INS_VPERMD
+ X86_INS_VPERMI2D
+ X86_INS_VPERMI2PD
+ X86_INS_VPERMI2PS
+ X86_INS_VPERMI2Q
+ X86_INS_VPERMIL2PD
+ X86_INS_VPERMIL2PS
+ X86_INS_VPERMILPD
+ X86_INS_VPERMILPS
+ X86_INS_VPERMPD
+ X86_INS_VPERMPS
+ X86_INS_VPERMQ
+ X86_INS_VPERMT2D
+ X86_INS_VPERMT2PD
+ X86_INS_VPERMT2PS
+ X86_INS_VPERMT2Q
+ X86_INS_VPEXTRB
+ X86_INS_VPEXTRD
+ X86_INS_VPEXTRQ
+ X86_INS_VPEXTRW
+ X86_INS_VPGATHERDD
+ X86_INS_VPGATHERDQ
+ X86_INS_VPGATHERQD
+ X86_INS_VPGATHERQQ
+ X86_INS_VPHADDBD
+ X86_INS_VPHADDBQ
+ X86_INS_VPHADDBW
+ X86_INS_VPHADDDQ
+ X86_INS_VPHADDD
+ X86_INS_VPHADDSW
+ X86_INS_VPHADDUBD
+ X86_INS_VPHADDUBQ
+ X86_INS_VPHADDUBW
+ X86_INS_VPHADDUDQ
+ X86_INS_VPHADDUWD
+ X86_INS_VPHADDUWQ
+ X86_INS_VPHADDWD
+ X86_INS_VPHADDWQ
+ X86_INS_VPHADDW
+ X86_INS_VPHMINPOSUW
+ X86_INS_VPHSUBBW
+ X86_INS_VPHSUBDQ
+ X86_INS_VPHSUBD
+ X86_INS_VPHSUBSW
+ X86_INS_VPHSUBWD
+ X86_INS_VPHSUBW
+ X86_INS_VPINSRB
+ X86_INS_VPINSRD
+ X86_INS_VPINSRQ
+ X86_INS_VPINSRW
+ X86_INS_VPLZCNTD
+ X86_INS_VPLZCNTQ
+ X86_INS_VPMACSDD
+ X86_INS_VPMACSDQH
+ X86_INS_VPMACSDQL
+ X86_INS_VPMACSSDD
+ X86_INS_VPMACSSDQH
+ X86_INS_VPMACSSDQL
+ X86_INS_VPMACSSWD
+ X86_INS_VPMACSSWW
+ X86_INS_VPMACSWD
+ X86_INS_VPMACSWW
+ X86_INS_VPMADCSSWD
+ X86_INS_VPMADCSWD
+ X86_INS_VPMADDUBSW
+ X86_INS_VPMADDWD
+ X86_INS_VPMASKMOVD
+ X86_INS_VPMASKMOVQ
+ X86_INS_VPMAXSB
+ X86_INS_VPMAXSD
+ X86_INS_VPMAXSQ
+ X86_INS_VPMAXSW
+ X86_INS_VPMAXUB
+ X86_INS_VPMAXUD
+ X86_INS_VPMAXUQ
+ X86_INS_VPMAXUW
+ X86_INS_VPMINSB
+ X86_INS_VPMINSD
+ X86_INS_VPMINSQ
+ X86_INS_VPMINSW
+ X86_INS_VPMINUB
+ X86_INS_VPMINUD
+ X86_INS_VPMINUQ
+ X86_INS_VPMINUW
+ X86_INS_VPMOVDB
+ X86_INS_VPMOVDW
+ X86_INS_VPMOVMSKB
+ X86_INS_VPMOVQB
+ X86_INS_VPMOVQD
+ X86_INS_VPMOVQW
+ X86_INS_VPMOVSDB
+ X86_INS_VPMOVSDW
+ X86_INS_VPMOVSQB
+ X86_INS_VPMOVSQD
+ X86_INS_VPMOVSQW
+ X86_INS_VPMOVSXBD
+ X86_INS_VPMOVSXBQ
+ X86_INS_VPMOVSXBW
+ X86_INS_VPMOVSXDQ
+ X86_INS_VPMOVSXWD
+ X86_INS_VPMOVSXWQ
+ X86_INS_VPMOVUSDB
+ X86_INS_VPMOVUSDW
+ X86_INS_VPMOVUSQB
+ X86_INS_VPMOVUSQD
+ X86_INS_VPMOVUSQW
+ X86_INS_VPMOVZXBD
+ X86_INS_VPMOVZXBQ
+ X86_INS_VPMOVZXBW
+ X86_INS_VPMOVZXDQ
+ X86_INS_VPMOVZXWD
+ X86_INS_VPMOVZXWQ
+ X86_INS_VPMULDQ
+ X86_INS_VPMULHRSW
+ X86_INS_VPMULHUW
+ X86_INS_VPMULHW
+ X86_INS_VPMULLD
+ X86_INS_VPMULLW
+ X86_INS_VPMULUDQ
+ X86_INS_VPORD
+ X86_INS_VPORQ
+ X86_INS_VPOR
+ X86_INS_VPPERM
+ X86_INS_VPROTB
+ X86_INS_VPROTD
+ X86_INS_VPROTQ
+ X86_INS_VPROTW
+ X86_INS_VPSADBW
+ X86_INS_VPSCATTERDD
+ X86_INS_VPSCATTERDQ
+ X86_INS_VPSCATTERQD
+ X86_INS_VPSCATTERQQ
+ X86_INS_VPSHAB
+ X86_INS_VPSHAD
+ X86_INS_VPSHAQ
+ X86_INS_VPSHAW
+ X86_INS_VPSHLB
+ X86_INS_VPSHLD
+ X86_INS_VPSHLQ
+ X86_INS_VPSHLW
+ X86_INS_VPSHUFB
+ X86_INS_VPSHUFD
+ X86_INS_VPSHUFHW
+ X86_INS_VPSHUFLW
+ X86_INS_VPSIGNB
+ X86_INS_VPSIGND
+ X86_INS_VPSIGNW
+ X86_INS_VPSLLDQ
+ X86_INS_VPSLLD
+ X86_INS_VPSLLQ
+ X86_INS_VPSLLVD
+ X86_INS_VPSLLVQ
+ X86_INS_VPSLLW
+ X86_INS_VPSRAD
+ X86_INS_VPSRAQ
+ X86_INS_VPSRAVD
+ X86_INS_VPSRAVQ
+ X86_INS_VPSRAW
+ X86_INS_VPSRLDQ
+ X86_INS_VPSRLD
+ X86_INS_VPSRLQ
+ X86_INS_VPSRLVD
+ X86_INS_VPSRLVQ
+ X86_INS_VPSRLW
+ X86_INS_VPSUBB
+ X86_INS_VPSUBD
+ X86_INS_VPSUBQ
+ X86_INS_VPSUBSB
+ X86_INS_VPSUBSW
+ X86_INS_VPSUBUSB
+ X86_INS_VPSUBUSW
+ X86_INS_VPSUBW
+ X86_INS_VPTESTMD
+ X86_INS_VPTESTMQ
+ X86_INS_VPTESTNMD
+ X86_INS_VPTESTNMQ
+ X86_INS_VPTEST
+ X86_INS_VPUNPCKHBW
+ X86_INS_VPUNPCKHDQ
+ X86_INS_VPUNPCKHQDQ
+ X86_INS_VPUNPCKHWD
+ X86_INS_VPUNPCKLBW
+ X86_INS_VPUNPCKLDQ
+ X86_INS_VPUNPCKLQDQ
+ X86_INS_VPUNPCKLWD
+ X86_INS_VPXORD
+ X86_INS_VPXORQ
+ X86_INS_VPXOR
+ X86_INS_VRCP14PD
+ X86_INS_VRCP14PS
+ X86_INS_VRCP14SD
+ X86_INS_VRCP14SS
+ X86_INS_VRCP28PD
+ X86_INS_VRCP28PS
+ X86_INS_VRCP28SD
+ X86_INS_VRCP28SS
+ X86_INS_VRCPPS
+ X86_INS_VRCPSS
+ X86_INS_VRNDSCALEPD
+ X86_INS_VRNDSCALEPS
+ X86_INS_VRNDSCALESD
+ X86_INS_VRNDSCALESS
+ X86_INS_VROUNDPD
+ X86_INS_VROUNDPS
+ X86_INS_VROUNDSD
+ X86_INS_VROUNDSS
+ X86_INS_VRSQRT14PD
+ X86_INS_VRSQRT14PS
+ X86_INS_VRSQRT14SD
+ X86_INS_VRSQRT14SS
+ X86_INS_VRSQRT28PD
+ X86_INS_VRSQRT28PS
+ X86_INS_VRSQRT28SD
+ X86_INS_VRSQRT28SS
+ X86_INS_VRSQRTPS
+ X86_INS_VRSQRTSS
+ X86_INS_VSCATTERDPD
+ X86_INS_VSCATTERDPS
+ X86_INS_VSCATTERPF0DPD
+ X86_INS_VSCATTERPF0DPS
+ X86_INS_VSCATTERPF0QPD
+ X86_INS_VSCATTERPF0QPS
+ X86_INS_VSCATTERPF1DPD
+ X86_INS_VSCATTERPF1DPS
+ X86_INS_VSCATTERPF1QPD
+ X86_INS_VSCATTERPF1QPS
+ X86_INS_VSCATTERQPD
+ X86_INS_VSCATTERQPS
+ X86_INS_VSHUFPD
+ X86_INS_VSHUFPS
+ X86_INS_VSQRTPD
+ X86_INS_VSQRTPS
+ X86_INS_VSQRTSD
+ X86_INS_VSQRTSS
+ X86_INS_VSTMXCSR
+ X86_INS_VSUBPD
+ X86_INS_VSUBPS
+ X86_INS_VSUBSD
+ X86_INS_VSUBSS
+ X86_INS_VTESTPD
+ X86_INS_VTESTPS
+ X86_INS_VUNPCKHPD
+ X86_INS_VUNPCKHPS
+ X86_INS_VUNPCKLPD
+ X86_INS_VUNPCKLPS
+ X86_INS_VZEROALL
+ X86_INS_VZEROUPPER
+ X86_INS_WAIT
+ X86_INS_WBINVD
+ X86_INS_WRFSBASE
+ X86_INS_WRGSBASE
+ X86_INS_WRMSR
+ X86_INS_XABORT
+ X86_INS_XACQUIRE
+ X86_INS_XBEGIN
+ X86_INS_XCHG
+ X86_INS_FXCH
+ X86_INS_XCRYPTCBC
+ X86_INS_XCRYPTCFB
+ X86_INS_XCRYPTCTR
+ X86_INS_XCRYPTECB
+ X86_INS_XCRYPTOFB
+ X86_INS_XEND
+ X86_INS_XGETBV
+ X86_INS_XLATB
+ X86_INS_XRELEASE
+ X86_INS_XRSTOR
+ X86_INS_XRSTOR64
+ X86_INS_XSAVE
+ X86_INS_XSAVE64
+ X86_INS_XSAVEOPT
+ X86_INS_XSAVEOPT64
+ X86_INS_XSETBV
+ X86_INS_XSHA1
+ X86_INS_XSHA256
+ X86_INS_XSTORE
+ X86_INS_XTEST
+ X86_INS_ENDING ' mark the end of the list of insn
+End Enum
+
+'Group of X86 instructions
+Public Enum x86_insn_group
+ X86_GRP_INVALID = 0 ' = CS_GRP_INVALID
+
+ ' > Generic groups '
+ X86_GRP_JUMP 'all jump instructions (conditional+direct+indirect jumps) = CS_GRP_JUMP
+ X86_GRP_CALL 'all call instructions = CS_GRP_CALL
+ X86_GRP_RET ' all return instructions = CS_GRP_RET
+ X86_GRP_INT 'all interrupt instructions (int+syscall) = CS_GRP_INT
+ X86_GRP_IRET 'all interrupt return instructions = CS_GRP_IRET
+
+ ' > Architecture-specific groups
+ X86_GRP_VM = 128 ' all virtualization instructions (VT-x + AMD-V)
+ X86_GRP_3DNOW
+ X86_GRP_AES
+ X86_GRP_ADX
+ X86_GRP_AVX
+ X86_GRP_AVX2
+ X86_GRP_AVX512
+ X86_GRP_BMI
+ X86_GRP_BMI2
+ X86_GRP_CMOV
+ X86_GRP_F16C
+ X86_GRP_FMA
+ X86_GRP_FMA4
+ X86_GRP_FSGSBASE
+ X86_GRP_HLE
+ X86_GRP_MMX
+ X86_GRP_MODE32
+ X86_GRP_MODE64
+ X86_GRP_RTM
+ X86_GRP_SHA
+ X86_GRP_SSE1
+ X86_GRP_SSE2
+ X86_GRP_SSE3
+ X86_GRP_SSE41
+ X86_GRP_SSE42
+ X86_GRP_SSE4A
+ X86_GRP_SSSE3
+ X86_GRP_PCLMUL
+ X86_GRP_XOP
+ X86_GRP_CDI
+ X86_GRP_ERI
+ X86_GRP_TBM
+ X86_GRP_16BITMODE
+ X86_GRP_NOT64BITMODE
+ X86_GRP_SGX
+ X86_GRP_DQI
+ X86_GRP_BWI
+ X86_GRP_PFI
+ X86_GRP_VLX
+ X86_GRP_SMAP
+ X86_GRP_NOVLX
+ X86_GRP_ENDING
+End Enum
+
+
+
+Function x86_sse_cc2str(v As x86_sse_cc) As String
+ Dim r As String
+ If v = X86_SSE_CC_INVALID Then r = "X86_SSE_CC_INVALID"
+ If v = X86_SSE_CC_EQ Then r = "X86_SSE_CC_EQ"
+ If v = X86_SSE_CC_LT Then r = "X86_SSE_CC_LT"
+ If v = X86_SSE_CC_LE Then r = "X86_SSE_CC_LE"
+ If v = X86_SSE_CC_UNORD Then r = "X86_SSE_CC_UNORD"
+ If v = X86_SSE_CC_NEQ Then r = "X86_SSE_CC_NEQ"
+ If v = X86_SSE_CC_NLT Then r = "X86_SSE_CC_NLT"
+ If v = X86_SSE_CC_NLE Then r = "X86_SSE_CC_NLE"
+ If v = X86_SSE_CC_ORD Then r = "X86_SSE_CC_ORD"
+ If v = X86_SSE_CC_EQ_UQ Then r = "X86_SSE_CC_EQ_UQ"
+ If v = X86_SSE_CC_NGE Then r = "X86_SSE_CC_NGE"
+ If v = X86_SSE_CC_NGT Then r = "X86_SSE_CC_NGT"
+ If v = X86_SSE_CC_FALSE Then r = "X86_SSE_CC_FALSE"
+ If v = X86_SSE_CC_NEQ_OQ Then r = "X86_SSE_CC_NEQ_OQ"
+ If v = X86_SSE_CC_GE Then r = "X86_SSE_CC_GE"
+ If v = X86_SSE_CC_GT Then r = "X86_SSE_CC_GT"
+ If v = X86_SSE_CC_TRUE Then r = "X86_SSE_CC_TRUE"
+
+ If Len(r) = 0 Then
+ r = "Unknown: " & Hex(v)
+ ElseIf DEBUG_DUMP Then
+ r = r & " (" & Hex(v) & ")"
+ End If
+
+ x86_sse_cc2str = r
+
+End Function
+
+Function x86_avx_cc2str(v As x86_avx_cc) As String
+ Dim r As String
+ If v = X86_AVX_CC_INVALID Then r = "X86_AVX_CC_INVALID"
+ If v = X86_AVX_CC_EQ Then r = "X86_AVX_CC_EQ"
+ If v = X86_AVX_CC_LT Then r = "X86_AVX_CC_LT"
+ If v = X86_AVX_CC_LE Then r = "X86_AVX_CC_LE"
+ If v = X86_AVX_CC_UNORD Then r = "X86_AVX_CC_UNORD"
+ If v = X86_AVX_CC_NEQ Then r = "X86_AVX_CC_NEQ"
+ If v = X86_AVX_CC_NLT Then r = "X86_AVX_CC_NLT"
+ If v = X86_AVX_CC_NLE Then r = "X86_AVX_CC_NLE"
+ If v = X86_AVX_CC_ORD Then r = "X86_AVX_CC_ORD"
+ If v = X86_AVX_CC_EQ_UQ Then r = "X86_AVX_CC_EQ_UQ"
+ If v = X86_AVX_CC_NGE Then r = "X86_AVX_CC_NGE"
+ If v = X86_AVX_CC_NGT Then r = "X86_AVX_CC_NGT"
+ If v = X86_AVX_CC_FALSE Then r = "X86_AVX_CC_FALSE"
+ If v = X86_AVX_CC_NEQ_OQ Then r = "X86_AVX_CC_NEQ_OQ"
+ If v = X86_AVX_CC_GE Then r = "X86_AVX_CC_GE"
+ If v = X86_AVX_CC_GT Then r = "X86_AVX_CC_GT"
+ If v = X86_AVX_CC_TRUE Then r = "X86_AVX_CC_TRUE"
+ If v = X86_AVX_CC_EQ_OS Then r = "X86_AVX_CC_EQ_OS"
+ If v = X86_AVX_CC_LT_OQ Then r = "X86_AVX_CC_LT_OQ"
+ If v = X86_AVX_CC_LE_OQ Then r = "X86_AVX_CC_LE_OQ"
+ If v = X86_AVX_CC_UNORD_S Then r = "X86_AVX_CC_UNORD_S"
+ If v = X86_AVX_CC_NEQ_US Then r = "X86_AVX_CC_NEQ_US"
+ If v = X86_AVX_CC_NLT_UQ Then r = "X86_AVX_CC_NLT_UQ"
+ If v = X86_AVX_CC_NLE_UQ Then r = "X86_AVX_CC_NLE_UQ"
+ If v = X86_AVX_CC_ORD_S Then r = "X86_AVX_CC_ORD_S"
+ If v = X86_AVX_CC_EQ_US Then r = "X86_AVX_CC_EQ_US"
+ If v = X86_AVX_CC_NGE_UQ Then r = "X86_AVX_CC_NGE_UQ"
+ If v = X86_AVX_CC_NGT_UQ Then r = "X86_AVX_CC_NGT_UQ"
+ If v = X86_AVX_CC_FALSE_OS Then r = "X86_AVX_CC_FALSE_OS"
+ If v = X86_AVX_CC_NEQ_OS Then r = "X86_AVX_CC_NEQ_OS"
+ If v = X86_AVX_CC_GE_OQ Then r = "X86_AVX_CC_GE_OQ"
+ If v = X86_AVX_CC_GT_OQ Then r = "X86_AVX_CC_GT_OQ"
+ If v = X86_AVX_CC_TRUE_US Then r = "X86_AVX_CC_TRUE_US"
+
+ If Len(r) = 0 Then
+ r = "Unknown: " & Hex(v)
+ ElseIf DEBUG_DUMP Then
+ r = r & " (" & Hex(v) & ")"
+ End If
+
+ x86_avx_cc2str = r
+
+End Function
+
+
+Function x86_avx_rm2str(v As x86_avx_rm) As String
+ Dim r As String
+
+ If v = X86_AVX_RM_INVALID Then r = "X86_AVX_RM_INVALID"
+ If v = X86_AVX_RM_RN Then r = "X86_AVX_RM_RN"
+ If v = X86_AVX_RM_RD Then r = "X86_AVX_RM_RD"
+ If v = X86_AVX_RM_RU Then r = "X86_AVX_RM_RU"
+ If v = X86_AVX_RM_RZ Then r = "X86_AVX_RM_RZ"
+
+ If Len(r) = 0 Then
+ r = "Unknown: " & Hex(v)
+ ElseIf DEBUG_DUMP Then
+ r = r & " (" & Hex(v) & ")"
+ End If
+
+ x86_avx_rm2str = r
+End Function
+
+
diff --git a/capstone/bindings/vb6/screenshot.png b/capstone/bindings/vb6/screenshot.png
new file mode 100644
index 000000000..3780f6702
--- /dev/null
+++ b/capstone/bindings/vb6/screenshot.png
Binary files differ
diff --git a/capstone/bindings/vb6/vbCapstone.cpp b/capstone/bindings/vb6/vbCapstone.cpp
new file mode 100644
index 000000000..90ee1654d
--- /dev/null
+++ b/capstone/bindings/vb6/vbCapstone.cpp
@@ -0,0 +1,119 @@
+/*
+ Capstone Disassembly Engine bindings for VB6
+ Contributed by FireEye FLARE Team
+ Author: David Zimmer <david.zimmer@fireeye.com>, <dzzie@yahoo.com>
+ License: Apache
+ Copyright: FireEye 2017
+
+ This dll is a small stdcall shim so VB6 can access the capstone API
+*/
+
+#include <stdio.h>
+#include <conio.h>
+#include <string.h>
+
+#include <capstone.h>
+#pragma comment(lib, "capstone.lib")
+
+#define EXPORT comment(linker, "/EXPORT:"__FUNCTION__"="__FUNCDNAME__)
+
+unsigned int __stdcall bs_version(int *major, int *minor){
+#pragma EXPORT
+ return cs_version(major,minor);
+}
+
+bool __stdcall bs_support(int query){
+#pragma EXPORT
+ return cs_support(query);
+}
+
+cs_err __stdcall bs_open(cs_arch arch, cs_mode mode, csh *handle){
+#pragma EXPORT
+ return cs_open(arch, mode, handle);
+}
+
+cs_err __stdcall bs_close(csh *handle){
+#pragma EXPORT
+ return cs_close(handle);
+}
+
+cs_err __stdcall bs_option(csh handle, cs_opt_type type, size_t value){
+#pragma EXPORT
+ return cs_option(handle, type, value);
+}
+
+cs_err __stdcall bs_errno(csh handle){
+#pragma EXPORT
+ return cs_errno(handle);
+}
+
+const char* __stdcall bs_strerror(cs_err code){
+#pragma EXPORT
+ return cs_strerror(code);
+}
+
+size_t __stdcall bs_disasm(csh handle, const uint8_t *code, size_t code_size, uint64_t address, size_t count, cs_insn **insn){
+#pragma EXPORT
+ return cs_disasm(handle, code, code_size, address, count, insn);
+}
+
+void __stdcall getInstruction(cs_insn *insn, uint32_t index, void* curInst, uint32_t bufSize){
+#pragma EXPORT
+ memcpy(curInst, (void*)&insn[index], bufSize); //size lets us get a partial version of whatever we have implemented in the vbstruct...
+}
+
+const char* __stdcall bs_reg_name(csh handle, unsigned int reg_id){
+#pragma EXPORT
+ return cs_reg_name(handle, reg_id);
+}
+
+void __stdcall bs_free(cs_insn *insn, size_t count){
+#pragma EXPORT
+ return cs_free(insn, count);
+}
+
+cs_insn* __stdcall bs_malloc(csh handle){
+#pragma EXPORT
+ return cs_malloc(handle);
+}
+
+
+int __stdcall bs_op_index(csh handle, const cs_insn *insn, unsigned int op_type, unsigned int position){
+#pragma EXPORT
+ return cs_op_index(handle,insn,op_type,position);
+}
+
+int __stdcall bs_op_count(csh handle, const cs_insn *insn, unsigned int op_type){
+#pragma EXPORT
+ return cs_op_count(handle,insn,op_type);
+}
+
+bool __stdcall bs_reg_write(csh handle, const cs_insn *insn, unsigned int reg_id){
+#pragma EXPORT
+ return cs_reg_write(handle,insn,reg_id);
+}
+
+bool __stdcall bs_reg_read(csh handle, const cs_insn *insn, unsigned int reg_id){
+#pragma EXPORT
+ return cs_reg_read(handle,insn,reg_id);
+}
+
+bool __stdcall bs_insn_group(csh handle, const cs_insn *insn, unsigned int group_id){
+#pragma EXPORT
+ return cs_insn_group(handle,insn,group_id);
+}
+
+const char* __stdcall bcs_group_name(csh handle, unsigned int group_id){
+#pragma EXPORT
+ return cs_group_name(handle,group_id);
+}
+
+const char* __stdcall bs_insn_name(csh handle, unsigned int insn_id){
+#pragma EXPORT
+ return cs_insn_name(handle,insn_id);
+}
+
+bool __stdcall bs_disasm_iter(csh handle, const uint8_t **code, size_t *size, uint64_t *address, cs_insn *insn){
+#pragma EXPORT
+ return cs_disasm_iter(handle, code, size, address, insn);
+}
diff --git a/capstone/bindings/vb6/vbCapstone.sln b/capstone/bindings/vb6/vbCapstone.sln
new file mode 100644
index 000000000..8451d6027
--- /dev/null
+++ b/capstone/bindings/vb6/vbCapstone.sln
@@ -0,0 +1,20 @@
+
+Microsoft Visual Studio Solution File, Format Version 10.00
+# Visual Studio 2008
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vbCapstone", "vbCapstone.vcproj", "{B693CA7B-8B91-4413-AAED-14F1947F012A}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Win32 = Debug|Win32
+ Release|Win32 = Release|Win32
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {B693CA7B-8B91-4413-AAED-14F1947F012A}.Debug|Win32.ActiveCfg = Debug|Win32
+ {B693CA7B-8B91-4413-AAED-14F1947F012A}.Debug|Win32.Build.0 = Debug|Win32
+ {B693CA7B-8B91-4413-AAED-14F1947F012A}.Release|Win32.ActiveCfg = Release|Win32
+ {B693CA7B-8B91-4413-AAED-14F1947F012A}.Release|Win32.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/capstone/bindings/vb6/vbCapstone.vcproj b/capstone/bindings/vb6/vbCapstone.vcproj
new file mode 100644
index 000000000..3085c8e7d
--- /dev/null
+++ b/capstone/bindings/vb6/vbCapstone.vcproj
@@ -0,0 +1,182 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="vbCapstone"
+ ProjectGUID="{B693CA7B-8B91-4413-AAED-14F1947F012A}"
+ RootNamespace="yy"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="196613"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+ IntermediateDirectory="$(ConfigurationName)"
+ ConfigurationType="2"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="./../../include/"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="./vbCapstone.dll"
+ LinkIncremental="2"
+ GenerateManifest="false"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ EmbedManifest="false"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+ IntermediateDirectory="$(ConfigurationName)"
+ ConfigurationType="2"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ EnableIntrinsicFunctions="true"
+ AdditionalIncludeDirectories="./../../include/"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="./vbCapstone.dll"
+ LinkIncremental="1"
+ GenerateManifest="false"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <File
+ RelativePath=".\vbCapstone.cpp"
+ >
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>