hexcore-capstone 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (332) hide show
  1. package/LICENSE +26 -0
  2. package/README.md +191 -0
  3. package/binding.gyp +168 -0
  4. package/deps/capstone/LEB128.h +38 -0
  5. package/deps/capstone/MCDisassembler.h +14 -0
  6. package/deps/capstone/MCFixedLenDisassembler.h +32 -0
  7. package/deps/capstone/MCInst.c +270 -0
  8. package/deps/capstone/MCInst.h +165 -0
  9. package/deps/capstone/MCInstrDesc.c +41 -0
  10. package/deps/capstone/MCInstrDesc.h +167 -0
  11. package/deps/capstone/MCRegisterInfo.c +151 -0
  12. package/deps/capstone/MCRegisterInfo.h +116 -0
  13. package/deps/capstone/Mapping.c +254 -0
  14. package/deps/capstone/Mapping.h +174 -0
  15. package/deps/capstone/MathExtras.h +442 -0
  16. package/deps/capstone/SStream.c +181 -0
  17. package/deps/capstone/SStream.h +40 -0
  18. package/deps/capstone/arch/AArch64/AArch64AddressingModes.h +945 -0
  19. package/deps/capstone/arch/AArch64/AArch64BaseInfo.c +77 -0
  20. package/deps/capstone/arch/AArch64/AArch64BaseInfo.h +585 -0
  21. package/deps/capstone/arch/AArch64/AArch64Disassembler.c +2280 -0
  22. package/deps/capstone/arch/AArch64/AArch64Disassembler.h +18 -0
  23. package/deps/capstone/arch/AArch64/AArch64GenAsmWriter.inc +26589 -0
  24. package/deps/capstone/arch/AArch64/AArch64GenDisassemblerTables.inc +27322 -0
  25. package/deps/capstone/arch/AArch64/AArch64GenInstrInfo.inc +13194 -0
  26. package/deps/capstone/arch/AArch64/AArch64GenRegisterInfo.inc +3814 -0
  27. package/deps/capstone/arch/AArch64/AArch64GenRegisterName.inc +714 -0
  28. package/deps/capstone/arch/AArch64/AArch64GenRegisterV.inc +673 -0
  29. package/deps/capstone/arch/AArch64/AArch64GenSubtargetInfo.inc +229 -0
  30. package/deps/capstone/arch/AArch64/AArch64GenSystemOperands.inc +2863 -0
  31. package/deps/capstone/arch/AArch64/AArch64GenSystemOperands_enum.inc +21 -0
  32. package/deps/capstone/arch/AArch64/AArch64InstPrinter.c +3029 -0
  33. package/deps/capstone/arch/AArch64/AArch64InstPrinter.h +28 -0
  34. package/deps/capstone/arch/AArch64/AArch64Mapping.c +883 -0
  35. package/deps/capstone/arch/AArch64/AArch64Mapping.h +43 -0
  36. package/deps/capstone/arch/AArch64/AArch64MappingInsn.inc +37790 -0
  37. package/deps/capstone/arch/AArch64/AArch64MappingInsnName.inc +1282 -0
  38. package/deps/capstone/arch/AArch64/AArch64MappingInsnOp.inc +26994 -0
  39. package/deps/capstone/arch/AArch64/AArch64Module.c +44 -0
  40. package/deps/capstone/arch/AArch64/AArch64Module.h +12 -0
  41. package/deps/capstone/arch/ARM/ARMAddressingModes.h +698 -0
  42. package/deps/capstone/arch/ARM/ARMBaseInfo.h +486 -0
  43. package/deps/capstone/arch/ARM/ARMDisassembler.c +5763 -0
  44. package/deps/capstone/arch/ARM/ARMDisassembler.h +18 -0
  45. package/deps/capstone/arch/ARM/ARMGenAsmWriter.inc +9545 -0
  46. package/deps/capstone/arch/ARM/ARMGenDisassemblerTables.inc +15185 -0
  47. package/deps/capstone/arch/ARM/ARMGenInstrInfo.inc +6632 -0
  48. package/deps/capstone/arch/ARM/ARMGenRegisterInfo.inc +2102 -0
  49. package/deps/capstone/arch/ARM/ARMGenRegisterName.inc +231 -0
  50. package/deps/capstone/arch/ARM/ARMGenRegisterName_digit.inc +231 -0
  51. package/deps/capstone/arch/ARM/ARMGenSubtargetInfo.inc +162 -0
  52. package/deps/capstone/arch/ARM/ARMGenSystemRegister.inc +270 -0
  53. package/deps/capstone/arch/ARM/ARMInstPrinter.c +3364 -0
  54. package/deps/capstone/arch/ARM/ARMInstPrinter.h +43 -0
  55. package/deps/capstone/arch/ARM/ARMMapping.c +551 -0
  56. package/deps/capstone/arch/ARM/ARMMapping.h +40 -0
  57. package/deps/capstone/arch/ARM/ARMMappingInsn.inc +18772 -0
  58. package/deps/capstone/arch/ARM/ARMMappingInsnName.inc +475 -0
  59. package/deps/capstone/arch/ARM/ARMMappingInsnOp.inc +10729 -0
  60. package/deps/capstone/arch/ARM/ARMModule.c +63 -0
  61. package/deps/capstone/arch/ARM/ARMModule.h +12 -0
  62. package/deps/capstone/arch/BPF/BPFConstants.h +88 -0
  63. package/deps/capstone/arch/BPF/BPFDisassembler.c +464 -0
  64. package/deps/capstone/arch/BPF/BPFDisassembler.h +27 -0
  65. package/deps/capstone/arch/BPF/BPFInstPrinter.c +285 -0
  66. package/deps/capstone/arch/BPF/BPFInstPrinter.h +16 -0
  67. package/deps/capstone/arch/BPF/BPFMapping.c +513 -0
  68. package/deps/capstone/arch/BPF/BPFMapping.h +21 -0
  69. package/deps/capstone/arch/BPF/BPFModule.c +34 -0
  70. package/deps/capstone/arch/BPF/BPFModule.h +12 -0
  71. package/deps/capstone/arch/EVM/EVMDisassembler.c +379 -0
  72. package/deps/capstone/arch/EVM/EVMDisassembler.h +12 -0
  73. package/deps/capstone/arch/EVM/EVMInstPrinter.c +20 -0
  74. package/deps/capstone/arch/EVM/EVMInstPrinter.h +17 -0
  75. package/deps/capstone/arch/EVM/EVMMapping.c +344 -0
  76. package/deps/capstone/arch/EVM/EVMMapping.h +8 -0
  77. package/deps/capstone/arch/EVM/EVMMappingInsn.inc +259 -0
  78. package/deps/capstone/arch/EVM/EVMModule.c +33 -0
  79. package/deps/capstone/arch/EVM/EVMModule.h +12 -0
  80. package/deps/capstone/arch/M680X/M680XDisassembler.c +2307 -0
  81. package/deps/capstone/arch/M680X/M680XDisassembler.h +17 -0
  82. package/deps/capstone/arch/M680X/M680XDisassemblerInternals.h +57 -0
  83. package/deps/capstone/arch/M680X/M680XInstPrinter.c +360 -0
  84. package/deps/capstone/arch/M680X/M680XInstPrinter.h +25 -0
  85. package/deps/capstone/arch/M680X/M680XModule.c +77 -0
  86. package/deps/capstone/arch/M680X/M680XModule.h +12 -0
  87. package/deps/capstone/arch/M680X/cpu12.inc +335 -0
  88. package/deps/capstone/arch/M680X/hcs08.inc +60 -0
  89. package/deps/capstone/arch/M680X/hd6301.inc +15 -0
  90. package/deps/capstone/arch/M680X/hd6309.inc +259 -0
  91. package/deps/capstone/arch/M680X/insn_props.inc +367 -0
  92. package/deps/capstone/arch/M680X/m6800.inc +277 -0
  93. package/deps/capstone/arch/M680X/m6801.inc +39 -0
  94. package/deps/capstone/arch/M680X/m6805.inc +277 -0
  95. package/deps/capstone/arch/M680X/m6808.inc +91 -0
  96. package/deps/capstone/arch/M680X/m6809.inc +352 -0
  97. package/deps/capstone/arch/M680X/m6811.inc +105 -0
  98. package/deps/capstone/arch/M68K/M68KDisassembler.c +3668 -0
  99. package/deps/capstone/arch/M68K/M68KDisassembler.h +30 -0
  100. package/deps/capstone/arch/M68K/M68KInstPrinter.c +387 -0
  101. package/deps/capstone/arch/M68K/M68KInstPrinter.h +21 -0
  102. package/deps/capstone/arch/M68K/M68KInstructionTable.inc +65540 -0
  103. package/deps/capstone/arch/M68K/M68KModule.c +42 -0
  104. package/deps/capstone/arch/M68K/M68KModule.h +12 -0
  105. package/deps/capstone/arch/MOS65XX/MOS65XXDisassembler.c +544 -0
  106. package/deps/capstone/arch/MOS65XX/MOS65XXDisassembler.h +22 -0
  107. package/deps/capstone/arch/MOS65XX/MOS65XXDisassemblerInternals.h +23 -0
  108. package/deps/capstone/arch/MOS65XX/MOS65XXModule.c +79 -0
  109. package/deps/capstone/arch/MOS65XX/MOS65XXModule.h +12 -0
  110. package/deps/capstone/arch/MOS65XX/instruction_info.inc +106 -0
  111. package/deps/capstone/arch/MOS65XX/m6502.inc +256 -0
  112. package/deps/capstone/arch/MOS65XX/m65816.inc +256 -0
  113. package/deps/capstone/arch/MOS65XX/m65c02.inc +256 -0
  114. package/deps/capstone/arch/MOS65XX/mw65c02.inc +256 -0
  115. package/deps/capstone/arch/Mips/MipsDisassembler.c +1794 -0
  116. package/deps/capstone/arch/Mips/MipsDisassembler.h +16 -0
  117. package/deps/capstone/arch/Mips/MipsGenAsmWriter.inc +5725 -0
  118. package/deps/capstone/arch/Mips/MipsGenDisassemblerTables.inc +6942 -0
  119. package/deps/capstone/arch/Mips/MipsGenInstrInfo.inc +1805 -0
  120. package/deps/capstone/arch/Mips/MipsGenRegisterInfo.inc +1679 -0
  121. package/deps/capstone/arch/Mips/MipsGenSubtargetInfo.inc +52 -0
  122. package/deps/capstone/arch/Mips/MipsInstPrinter.c +424 -0
  123. package/deps/capstone/arch/Mips/MipsInstPrinter.h +25 -0
  124. package/deps/capstone/arch/Mips/MipsMapping.c +1070 -0
  125. package/deps/capstone/arch/Mips/MipsMapping.h +25 -0
  126. package/deps/capstone/arch/Mips/MipsMappingInsn.inc +9315 -0
  127. package/deps/capstone/arch/Mips/MipsModule.c +52 -0
  128. package/deps/capstone/arch/Mips/MipsModule.h +12 -0
  129. package/deps/capstone/arch/PowerPC/PPCDisassembler.c +627 -0
  130. package/deps/capstone/arch/PowerPC/PPCDisassembler.h +17 -0
  131. package/deps/capstone/arch/PowerPC/PPCGenAsmWriter.inc +11451 -0
  132. package/deps/capstone/arch/PowerPC/PPCGenDisassemblerTables.inc +6886 -0
  133. package/deps/capstone/arch/PowerPC/PPCGenInstrInfo.inc +4772 -0
  134. package/deps/capstone/arch/PowerPC/PPCGenRegisterInfo.inc +1122 -0
  135. package/deps/capstone/arch/PowerPC/PPCGenRegisterName.inc +278 -0
  136. package/deps/capstone/arch/PowerPC/PPCGenSubtargetInfo.inc +90 -0
  137. package/deps/capstone/arch/PowerPC/PPCInstPrinter.c +1238 -0
  138. package/deps/capstone/arch/PowerPC/PPCInstPrinter.h +15 -0
  139. package/deps/capstone/arch/PowerPC/PPCMapping.c +570 -0
  140. package/deps/capstone/arch/PowerPC/PPCMapping.h +40 -0
  141. package/deps/capstone/arch/PowerPC/PPCMappingInsn.inc +13220 -0
  142. package/deps/capstone/arch/PowerPC/PPCMappingInsnName.inc +1731 -0
  143. package/deps/capstone/arch/PowerPC/PPCModule.c +45 -0
  144. package/deps/capstone/arch/PowerPC/PPCModule.h +12 -0
  145. package/deps/capstone/arch/PowerPC/PPCPredicates.h +62 -0
  146. package/deps/capstone/arch/RISCV/RISCVBaseInfo.h +106 -0
  147. package/deps/capstone/arch/RISCV/RISCVDisassembler.c +433 -0
  148. package/deps/capstone/arch/RISCV/RISCVDisassembler.h +18 -0
  149. package/deps/capstone/arch/RISCV/RISCVGenAsmWriter.inc +2651 -0
  150. package/deps/capstone/arch/RISCV/RISCVGenDisassemblerTables.inc +1776 -0
  151. package/deps/capstone/arch/RISCV/RISCVGenInsnNameMaps.inc +275 -0
  152. package/deps/capstone/arch/RISCV/RISCVGenInstrInfo.inc +470 -0
  153. package/deps/capstone/arch/RISCV/RISCVGenRegisterInfo.inc +426 -0
  154. package/deps/capstone/arch/RISCV/RISCVGenSubtargetInfo.inc +33 -0
  155. package/deps/capstone/arch/RISCV/RISCVInstPrinter.c +447 -0
  156. package/deps/capstone/arch/RISCV/RISCVInstPrinter.h +24 -0
  157. package/deps/capstone/arch/RISCV/RISCVMapping.c +366 -0
  158. package/deps/capstone/arch/RISCV/RISCVMapping.h +22 -0
  159. package/deps/capstone/arch/RISCV/RISCVMappingInsn.inc +1635 -0
  160. package/deps/capstone/arch/RISCV/RISCVModule.c +42 -0
  161. package/deps/capstone/arch/RISCV/RISCVModule.h +12 -0
  162. package/deps/capstone/arch/SH/SHDisassembler.c +2221 -0
  163. package/deps/capstone/arch/SH/SHDisassembler.h +19 -0
  164. package/deps/capstone/arch/SH/SHInsnTable.inc +66 -0
  165. package/deps/capstone/arch/SH/SHInstPrinter.c +438 -0
  166. package/deps/capstone/arch/SH/SHInstPrinter.h +23 -0
  167. package/deps/capstone/arch/SH/SHModule.c +39 -0
  168. package/deps/capstone/arch/SH/SHModule.h +12 -0
  169. package/deps/capstone/arch/SH/mktable.rb +390 -0
  170. package/deps/capstone/arch/Sparc/Sparc.h +63 -0
  171. package/deps/capstone/arch/Sparc/SparcDisassembler.c +500 -0
  172. package/deps/capstone/arch/Sparc/SparcDisassembler.h +17 -0
  173. package/deps/capstone/arch/Sparc/SparcGenAsmWriter.inc +5709 -0
  174. package/deps/capstone/arch/Sparc/SparcGenDisassemblerTables.inc +2028 -0
  175. package/deps/capstone/arch/Sparc/SparcGenInstrInfo.inc +514 -0
  176. package/deps/capstone/arch/Sparc/SparcGenRegisterInfo.inc +451 -0
  177. package/deps/capstone/arch/Sparc/SparcGenSubtargetInfo.inc +27 -0
  178. package/deps/capstone/arch/Sparc/SparcInstPrinter.c +446 -0
  179. package/deps/capstone/arch/Sparc/SparcInstPrinter.h +17 -0
  180. package/deps/capstone/arch/Sparc/SparcMapping.c +665 -0
  181. package/deps/capstone/arch/Sparc/SparcMapping.h +34 -0
  182. package/deps/capstone/arch/Sparc/SparcMappingInsn.inc +2643 -0
  183. package/deps/capstone/arch/Sparc/SparcModule.c +45 -0
  184. package/deps/capstone/arch/Sparc/SparcModule.h +12 -0
  185. package/deps/capstone/arch/SystemZ/SystemZDisassembler.c +484 -0
  186. package/deps/capstone/arch/SystemZ/SystemZDisassembler.h +17 -0
  187. package/deps/capstone/arch/SystemZ/SystemZGenAsmWriter.inc +11575 -0
  188. package/deps/capstone/arch/SystemZ/SystemZGenDisassemblerTables.inc +10262 -0
  189. package/deps/capstone/arch/SystemZ/SystemZGenInsnNameMaps.inc +2348 -0
  190. package/deps/capstone/arch/SystemZ/SystemZGenInstrInfo.inc +2820 -0
  191. package/deps/capstone/arch/SystemZ/SystemZGenRegisterInfo.inc +741 -0
  192. package/deps/capstone/arch/SystemZ/SystemZGenSubtargetInfo.inc +49 -0
  193. package/deps/capstone/arch/SystemZ/SystemZInstPrinter.c +433 -0
  194. package/deps/capstone/arch/SystemZ/SystemZInstPrinter.h +15 -0
  195. package/deps/capstone/arch/SystemZ/SystemZMCTargetDesc.c +195 -0
  196. package/deps/capstone/arch/SystemZ/SystemZMCTargetDesc.h +51 -0
  197. package/deps/capstone/arch/SystemZ/SystemZMapping.c +479 -0
  198. package/deps/capstone/arch/SystemZ/SystemZMapping.h +23 -0
  199. package/deps/capstone/arch/SystemZ/SystemZMappingInsn.inc +14175 -0
  200. package/deps/capstone/arch/SystemZ/SystemZModule.c +44 -0
  201. package/deps/capstone/arch/SystemZ/SystemZModule.h +12 -0
  202. package/deps/capstone/arch/TMS320C64x/TMS320C64xDisassembler.c +628 -0
  203. package/deps/capstone/arch/TMS320C64x/TMS320C64xDisassembler.h +19 -0
  204. package/deps/capstone/arch/TMS320C64x/TMS320C64xGenAsmWriter.inc +684 -0
  205. package/deps/capstone/arch/TMS320C64x/TMS320C64xGenDisassemblerTables.inc +1352 -0
  206. package/deps/capstone/arch/TMS320C64x/TMS320C64xGenInstrInfo.inc +298 -0
  207. package/deps/capstone/arch/TMS320C64x/TMS320C64xGenRegisterInfo.inc +277 -0
  208. package/deps/capstone/arch/TMS320C64x/TMS320C64xInstPrinter.c +572 -0
  209. package/deps/capstone/arch/TMS320C64x/TMS320C64xInstPrinter.h +15 -0
  210. package/deps/capstone/arch/TMS320C64x/TMS320C64xMapping.c +1926 -0
  211. package/deps/capstone/arch/TMS320C64x/TMS320C64xMapping.h +26 -0
  212. package/deps/capstone/arch/TMS320C64x/TMS320C64xModule.c +39 -0
  213. package/deps/capstone/arch/TMS320C64x/TMS320C64xModule.h +12 -0
  214. package/deps/capstone/arch/TriCore/TriCore.td +134 -0
  215. package/deps/capstone/arch/TriCore/TriCoreCallingConv.td +61 -0
  216. package/deps/capstone/arch/TriCore/TriCoreDisassembler.c +1655 -0
  217. package/deps/capstone/arch/TriCore/TriCoreDisassembler.h +18 -0
  218. package/deps/capstone/arch/TriCore/TriCoreGenAsmWriter.inc +3691 -0
  219. package/deps/capstone/arch/TriCore/TriCoreGenCSFeatureName.inc +22 -0
  220. package/deps/capstone/arch/TriCore/TriCoreGenCSMappingInsn.inc +8938 -0
  221. package/deps/capstone/arch/TriCore/TriCoreGenCSMappingInsnName.inc +404 -0
  222. package/deps/capstone/arch/TriCore/TriCoreGenCSMappingInsnOp.inc +7994 -0
  223. package/deps/capstone/arch/TriCore/TriCoreGenCSOpGroup.inc +32 -0
  224. package/deps/capstone/arch/TriCore/TriCoreGenDisassemblerTables.inc +4044 -0
  225. package/deps/capstone/arch/TriCore/TriCoreGenInstrInfo.inc +2693 -0
  226. package/deps/capstone/arch/TriCore/TriCoreGenRegisterInfo.inc +295 -0
  227. package/deps/capstone/arch/TriCore/TriCoreGenSubtargetInfo.inc +40 -0
  228. package/deps/capstone/arch/TriCore/TriCoreInstPrinter.c +488 -0
  229. package/deps/capstone/arch/TriCore/TriCoreInstrFormats.td +773 -0
  230. package/deps/capstone/arch/TriCore/TriCoreInstrInfo.td +1873 -0
  231. package/deps/capstone/arch/TriCore/TriCoreLinkage.h +21 -0
  232. package/deps/capstone/arch/TriCore/TriCoreMapping.c +241 -0
  233. package/deps/capstone/arch/TriCore/TriCoreMapping.h +32 -0
  234. package/deps/capstone/arch/TriCore/TriCoreModule.c +44 -0
  235. package/deps/capstone/arch/TriCore/TriCoreModule.h +11 -0
  236. package/deps/capstone/arch/TriCore/TriCoreRegisterInfo.td +153 -0
  237. package/deps/capstone/arch/WASM/WASMDisassembler.c +1009 -0
  238. package/deps/capstone/arch/WASM/WASMDisassembler.h +12 -0
  239. package/deps/capstone/arch/WASM/WASMInstPrinter.c +47 -0
  240. package/deps/capstone/arch/WASM/WASMInstPrinter.h +18 -0
  241. package/deps/capstone/arch/WASM/WASMMapping.c +333 -0
  242. package/deps/capstone/arch/WASM/WASMMapping.h +9 -0
  243. package/deps/capstone/arch/WASM/WASMModule.c +33 -0
  244. package/deps/capstone/arch/WASM/WASMModule.h +12 -0
  245. package/deps/capstone/arch/X86/X86ATTInstPrinter.c +997 -0
  246. package/deps/capstone/arch/X86/X86BaseInfo.h +50 -0
  247. package/deps/capstone/arch/X86/X86Disassembler.c +1033 -0
  248. package/deps/capstone/arch/X86/X86Disassembler.h +28 -0
  249. package/deps/capstone/arch/X86/X86DisassemblerDecoder.c +2358 -0
  250. package/deps/capstone/arch/X86/X86DisassemblerDecoder.h +725 -0
  251. package/deps/capstone/arch/X86/X86DisassemblerDecoderCommon.h +483 -0
  252. package/deps/capstone/arch/X86/X86GenAsmWriter.inc +49199 -0
  253. package/deps/capstone/arch/X86/X86GenAsmWriter1.inc +33196 -0
  254. package/deps/capstone/arch/X86/X86GenAsmWriter1_reduce.inc +2531 -0
  255. package/deps/capstone/arch/X86/X86GenAsmWriter_reduce.inc +2855 -0
  256. package/deps/capstone/arch/X86/X86GenDisassemblerTables.inc +112961 -0
  257. package/deps/capstone/arch/X86/X86GenDisassemblerTables2.inc +102151 -0
  258. package/deps/capstone/arch/X86/X86GenDisassemblerTables_reduce.inc +28047 -0
  259. package/deps/capstone/arch/X86/X86GenDisassemblerTables_reduce2.inc +18827 -0
  260. package/deps/capstone/arch/X86/X86GenInstrInfo.inc +15158 -0
  261. package/deps/capstone/arch/X86/X86GenInstrInfo_reduce.inc +1564 -0
  262. package/deps/capstone/arch/X86/X86GenRegisterInfo.inc +1549 -0
  263. package/deps/capstone/arch/X86/X86GenRegisterName.inc +292 -0
  264. package/deps/capstone/arch/X86/X86GenRegisterName1.inc +291 -0
  265. package/deps/capstone/arch/X86/X86ImmSize.inc +335 -0
  266. package/deps/capstone/arch/X86/X86InstPrinter.h +26 -0
  267. package/deps/capstone/arch/X86/X86InstPrinterCommon.c +116 -0
  268. package/deps/capstone/arch/X86/X86InstPrinterCommon.h +16 -0
  269. package/deps/capstone/arch/X86/X86IntelInstPrinter.c +1061 -0
  270. package/deps/capstone/arch/X86/X86Lookup16.inc +16874 -0
  271. package/deps/capstone/arch/X86/X86Lookup16_reduce.inc +2308 -0
  272. package/deps/capstone/arch/X86/X86Mapping.c +2266 -0
  273. package/deps/capstone/arch/X86/X86Mapping.h +96 -0
  274. package/deps/capstone/arch/X86/X86MappingInsn.inc +105977 -0
  275. package/deps/capstone/arch/X86/X86MappingInsnName.inc +1527 -0
  276. package/deps/capstone/arch/X86/X86MappingInsnName_reduce.inc +348 -0
  277. package/deps/capstone/arch/X86/X86MappingInsnOp.inc +75700 -0
  278. package/deps/capstone/arch/X86/X86MappingInsnOp_reduce.inc +7729 -0
  279. package/deps/capstone/arch/X86/X86MappingInsn_reduce.inc +10819 -0
  280. package/deps/capstone/arch/X86/X86MappingReg.inc +280 -0
  281. package/deps/capstone/arch/X86/X86Module.c +94 -0
  282. package/deps/capstone/arch/X86/X86Module.h +12 -0
  283. package/deps/capstone/arch/XCore/XCoreDisassembler.c +794 -0
  284. package/deps/capstone/arch/XCore/XCoreDisassembler.h +17 -0
  285. package/deps/capstone/arch/XCore/XCoreGenAsmWriter.inc +772 -0
  286. package/deps/capstone/arch/XCore/XCoreGenDisassemblerTables.inc +853 -0
  287. package/deps/capstone/arch/XCore/XCoreGenInstrInfo.inc +267 -0
  288. package/deps/capstone/arch/XCore/XCoreGenRegisterInfo.inc +110 -0
  289. package/deps/capstone/arch/XCore/XCoreInstPrinter.c +250 -0
  290. package/deps/capstone/arch/XCore/XCoreInstPrinter.h +18 -0
  291. package/deps/capstone/arch/XCore/XCoreMapping.c +297 -0
  292. package/deps/capstone/arch/XCore/XCoreMapping.h +26 -0
  293. package/deps/capstone/arch/XCore/XCoreMappingInsn.inc +1287 -0
  294. package/deps/capstone/arch/XCore/XCoreModule.c +41 -0
  295. package/deps/capstone/arch/XCore/XCoreModule.h +12 -0
  296. package/deps/capstone/cs.c +1664 -0
  297. package/deps/capstone/cs_priv.h +101 -0
  298. package/deps/capstone/cs_simple_types.h +886 -0
  299. package/deps/capstone/include/capstone/arm.h +991 -0
  300. package/deps/capstone/include/capstone/arm64.h +3159 -0
  301. package/deps/capstone/include/capstone/bpf.h +209 -0
  302. package/deps/capstone/include/capstone/capstone.h +875 -0
  303. package/deps/capstone/include/capstone/evm.h +188 -0
  304. package/deps/capstone/include/capstone/m680x.h +537 -0
  305. package/deps/capstone/include/capstone/m68k.h +613 -0
  306. package/deps/capstone/include/capstone/mips.h +956 -0
  307. package/deps/capstone/include/capstone/mos65xx.h +204 -0
  308. package/deps/capstone/include/capstone/platform.h +122 -0
  309. package/deps/capstone/include/capstone/ppc.h +2108 -0
  310. package/deps/capstone/include/capstone/riscv.h +531 -0
  311. package/deps/capstone/include/capstone/sh.h +465 -0
  312. package/deps/capstone/include/capstone/sparc.h +520 -0
  313. package/deps/capstone/include/capstone/systemz.h +2601 -0
  314. package/deps/capstone/include/capstone/tms320c64x.h +359 -0
  315. package/deps/capstone/include/capstone/tricore.h +567 -0
  316. package/deps/capstone/include/capstone/wasm.h +250 -0
  317. package/deps/capstone/include/capstone/x86.h +1986 -0
  318. package/deps/capstone/include/capstone/xcore.h +235 -0
  319. package/deps/capstone/include/platform.h +110 -0
  320. package/deps/capstone/include/windowsce/intrin.h +12 -0
  321. package/deps/capstone/include/windowsce/stdint.h +133 -0
  322. package/deps/capstone/utils.c +140 -0
  323. package/deps/capstone/utils.h +54 -0
  324. package/index.d.ts +448 -0
  325. package/index.js +64 -0
  326. package/index.mjs +25 -0
  327. package/package.json +82 -0
  328. package/prebuilds/win32-x64/hexcore-capstone.node +0 -0
  329. package/src/capstone_wrapper.cpp +910 -0
  330. package/src/capstone_wrapper.h +147 -0
  331. package/src/disasm_async_worker.h +215 -0
  332. package/src/main.cpp +145 -0
@@ -0,0 +1,956 @@
1
+ #ifndef CAPSTONE_MIPS_H
2
+ #define CAPSTONE_MIPS_H
3
+
4
+ /* Capstone Disassembly Engine */
5
+ /* By Nguyen Anh Quynh <aquynh@gmail.com>, 2013-2015 */
6
+
7
+ #ifdef __cplusplus
8
+ extern "C" {
9
+ #endif
10
+
11
+ #include "platform.h"
12
+
13
+ // GCC MIPS toolchain has a default macro called "mips" which breaks
14
+ // compilation
15
+ #undef mips
16
+
17
+ #ifdef _MSC_VER
18
+ #pragma warning(disable:4201)
19
+ #endif
20
+
21
+ /// Operand type for instruction's operands
22
+ typedef enum mips_op_type {
23
+ MIPS_OP_INVALID = 0, ///< = CS_OP_INVALID (Uninitialized).
24
+ MIPS_OP_REG, ///< = CS_OP_REG (Register operand).
25
+ MIPS_OP_IMM, ///< = CS_OP_IMM (Immediate operand).
26
+ MIPS_OP_MEM, ///< = CS_OP_MEM (Memory operand).
27
+ } mips_op_type;
28
+
29
+ /// MIPS registers
30
+ typedef enum mips_reg {
31
+ MIPS_REG_INVALID = 0,
32
+ // General purpose registers
33
+ MIPS_REG_PC,
34
+
35
+ MIPS_REG_0,
36
+ MIPS_REG_1,
37
+ MIPS_REG_2,
38
+ MIPS_REG_3,
39
+ MIPS_REG_4,
40
+ MIPS_REG_5,
41
+ MIPS_REG_6,
42
+ MIPS_REG_7,
43
+ MIPS_REG_8,
44
+ MIPS_REG_9,
45
+ MIPS_REG_10,
46
+ MIPS_REG_11,
47
+ MIPS_REG_12,
48
+ MIPS_REG_13,
49
+ MIPS_REG_14,
50
+ MIPS_REG_15,
51
+ MIPS_REG_16,
52
+ MIPS_REG_17,
53
+ MIPS_REG_18,
54
+ MIPS_REG_19,
55
+ MIPS_REG_20,
56
+ MIPS_REG_21,
57
+ MIPS_REG_22,
58
+ MIPS_REG_23,
59
+ MIPS_REG_24,
60
+ MIPS_REG_25,
61
+ MIPS_REG_26,
62
+ MIPS_REG_27,
63
+ MIPS_REG_28,
64
+ MIPS_REG_29,
65
+ MIPS_REG_30,
66
+ MIPS_REG_31,
67
+
68
+ // DSP registers
69
+ MIPS_REG_DSPCCOND,
70
+ MIPS_REG_DSPCARRY,
71
+ MIPS_REG_DSPEFI,
72
+ MIPS_REG_DSPOUTFLAG,
73
+ MIPS_REG_DSPOUTFLAG16_19,
74
+ MIPS_REG_DSPOUTFLAG20,
75
+ MIPS_REG_DSPOUTFLAG21,
76
+ MIPS_REG_DSPOUTFLAG22,
77
+ MIPS_REG_DSPOUTFLAG23,
78
+ MIPS_REG_DSPPOS,
79
+ MIPS_REG_DSPSCOUNT,
80
+
81
+ // ACC registers
82
+ MIPS_REG_AC0,
83
+ MIPS_REG_AC1,
84
+ MIPS_REG_AC2,
85
+ MIPS_REG_AC3,
86
+
87
+ // COP registers
88
+ MIPS_REG_CC0,
89
+ MIPS_REG_CC1,
90
+ MIPS_REG_CC2,
91
+ MIPS_REG_CC3,
92
+ MIPS_REG_CC4,
93
+ MIPS_REG_CC5,
94
+ MIPS_REG_CC6,
95
+ MIPS_REG_CC7,
96
+
97
+ // FPU registers
98
+ MIPS_REG_F0,
99
+ MIPS_REG_F1,
100
+ MIPS_REG_F2,
101
+ MIPS_REG_F3,
102
+ MIPS_REG_F4,
103
+ MIPS_REG_F5,
104
+ MIPS_REG_F6,
105
+ MIPS_REG_F7,
106
+ MIPS_REG_F8,
107
+ MIPS_REG_F9,
108
+ MIPS_REG_F10,
109
+ MIPS_REG_F11,
110
+ MIPS_REG_F12,
111
+ MIPS_REG_F13,
112
+ MIPS_REG_F14,
113
+ MIPS_REG_F15,
114
+ MIPS_REG_F16,
115
+ MIPS_REG_F17,
116
+ MIPS_REG_F18,
117
+ MIPS_REG_F19,
118
+ MIPS_REG_F20,
119
+ MIPS_REG_F21,
120
+ MIPS_REG_F22,
121
+ MIPS_REG_F23,
122
+ MIPS_REG_F24,
123
+ MIPS_REG_F25,
124
+ MIPS_REG_F26,
125
+ MIPS_REG_F27,
126
+ MIPS_REG_F28,
127
+ MIPS_REG_F29,
128
+ MIPS_REG_F30,
129
+ MIPS_REG_F31,
130
+
131
+ MIPS_REG_FCC0,
132
+ MIPS_REG_FCC1,
133
+ MIPS_REG_FCC2,
134
+ MIPS_REG_FCC3,
135
+ MIPS_REG_FCC4,
136
+ MIPS_REG_FCC5,
137
+ MIPS_REG_FCC6,
138
+ MIPS_REG_FCC7,
139
+
140
+ // AFPR128
141
+ MIPS_REG_W0,
142
+ MIPS_REG_W1,
143
+ MIPS_REG_W2,
144
+ MIPS_REG_W3,
145
+ MIPS_REG_W4,
146
+ MIPS_REG_W5,
147
+ MIPS_REG_W6,
148
+ MIPS_REG_W7,
149
+ MIPS_REG_W8,
150
+ MIPS_REG_W9,
151
+ MIPS_REG_W10,
152
+ MIPS_REG_W11,
153
+ MIPS_REG_W12,
154
+ MIPS_REG_W13,
155
+ MIPS_REG_W14,
156
+ MIPS_REG_W15,
157
+ MIPS_REG_W16,
158
+ MIPS_REG_W17,
159
+ MIPS_REG_W18,
160
+ MIPS_REG_W19,
161
+ MIPS_REG_W20,
162
+ MIPS_REG_W21,
163
+ MIPS_REG_W22,
164
+ MIPS_REG_W23,
165
+ MIPS_REG_W24,
166
+ MIPS_REG_W25,
167
+ MIPS_REG_W26,
168
+ MIPS_REG_W27,
169
+ MIPS_REG_W28,
170
+ MIPS_REG_W29,
171
+ MIPS_REG_W30,
172
+ MIPS_REG_W31,
173
+
174
+ MIPS_REG_HI,
175
+ MIPS_REG_LO,
176
+
177
+ MIPS_REG_P0,
178
+ MIPS_REG_P1,
179
+ MIPS_REG_P2,
180
+
181
+ MIPS_REG_MPL0,
182
+ MIPS_REG_MPL1,
183
+ MIPS_REG_MPL2,
184
+
185
+ MIPS_REG_ENDING, // <-- mark the end of the list or registers
186
+
187
+ // alias registers
188
+ MIPS_REG_ZERO = MIPS_REG_0,
189
+ MIPS_REG_AT = MIPS_REG_1,
190
+ MIPS_REG_V0 = MIPS_REG_2,
191
+ MIPS_REG_V1 = MIPS_REG_3,
192
+ MIPS_REG_A0 = MIPS_REG_4,
193
+ MIPS_REG_A1 = MIPS_REG_5,
194
+ MIPS_REG_A2 = MIPS_REG_6,
195
+ MIPS_REG_A3 = MIPS_REG_7,
196
+ MIPS_REG_T0 = MIPS_REG_8,
197
+ MIPS_REG_T1 = MIPS_REG_9,
198
+ MIPS_REG_T2 = MIPS_REG_10,
199
+ MIPS_REG_T3 = MIPS_REG_11,
200
+ MIPS_REG_T4 = MIPS_REG_12,
201
+ MIPS_REG_T5 = MIPS_REG_13,
202
+ MIPS_REG_T6 = MIPS_REG_14,
203
+ MIPS_REG_T7 = MIPS_REG_15,
204
+ MIPS_REG_S0 = MIPS_REG_16,
205
+ MIPS_REG_S1 = MIPS_REG_17,
206
+ MIPS_REG_S2 = MIPS_REG_18,
207
+ MIPS_REG_S3 = MIPS_REG_19,
208
+ MIPS_REG_S4 = MIPS_REG_20,
209
+ MIPS_REG_S5 = MIPS_REG_21,
210
+ MIPS_REG_S6 = MIPS_REG_22,
211
+ MIPS_REG_S7 = MIPS_REG_23,
212
+ MIPS_REG_T8 = MIPS_REG_24,
213
+ MIPS_REG_T9 = MIPS_REG_25,
214
+ MIPS_REG_K0 = MIPS_REG_26,
215
+ MIPS_REG_K1 = MIPS_REG_27,
216
+ MIPS_REG_GP = MIPS_REG_28,
217
+ MIPS_REG_SP = MIPS_REG_29,
218
+ MIPS_REG_FP = MIPS_REG_30, MIPS_REG_S8 = MIPS_REG_30,
219
+ MIPS_REG_RA = MIPS_REG_31,
220
+
221
+ MIPS_REG_HI0 = MIPS_REG_AC0,
222
+ MIPS_REG_HI1 = MIPS_REG_AC1,
223
+ MIPS_REG_HI2 = MIPS_REG_AC2,
224
+ MIPS_REG_HI3 = MIPS_REG_AC3,
225
+
226
+ MIPS_REG_LO0 = MIPS_REG_HI0,
227
+ MIPS_REG_LO1 = MIPS_REG_HI1,
228
+ MIPS_REG_LO2 = MIPS_REG_HI2,
229
+ MIPS_REG_LO3 = MIPS_REG_HI3,
230
+ } mips_reg;
231
+
232
+ /// Instruction's operand referring to memory
233
+ /// This is associated with MIPS_OP_MEM operand type above
234
+ typedef struct mips_op_mem {
235
+ mips_reg base; ///< base register
236
+ int64_t disp; ///< displacement/offset value
237
+ } mips_op_mem;
238
+
239
+ /// Instruction operand
240
+ typedef struct cs_mips_op {
241
+ mips_op_type type; ///< operand type
242
+ union {
243
+ mips_reg reg; ///< register id for REG operand
244
+ int64_t imm; ///< immediate value for IMM operand
245
+ mips_op_mem mem; ///< base/index/scale/disp value for MEM operand
246
+ };
247
+ } cs_mips_op;
248
+
249
+ /// Instruction structure
250
+ typedef struct cs_mips {
251
+ /// Number of operands of this instruction,
252
+ /// or 0 when instruction has no operand.
253
+ uint8_t op_count;
254
+ cs_mips_op operands[10]; ///< operands for this instruction.
255
+ } cs_mips;
256
+
257
+ /// MIPS instruction
258
+ typedef enum mips_insn {
259
+ MIPS_INS_INVALID = 0,
260
+
261
+ MIPS_INS_ABSQ_S,
262
+ MIPS_INS_ADD,
263
+ MIPS_INS_ADDIUPC,
264
+ MIPS_INS_ADDIUR1SP,
265
+ MIPS_INS_ADDIUR2,
266
+ MIPS_INS_ADDIUS5,
267
+ MIPS_INS_ADDIUSP,
268
+ MIPS_INS_ADDQH,
269
+ MIPS_INS_ADDQH_R,
270
+ MIPS_INS_ADDQ,
271
+ MIPS_INS_ADDQ_S,
272
+ MIPS_INS_ADDSC,
273
+ MIPS_INS_ADDS_A,
274
+ MIPS_INS_ADDS_S,
275
+ MIPS_INS_ADDS_U,
276
+ MIPS_INS_ADDU16,
277
+ MIPS_INS_ADDUH,
278
+ MIPS_INS_ADDUH_R,
279
+ MIPS_INS_ADDU,
280
+ MIPS_INS_ADDU_S,
281
+ MIPS_INS_ADDVI,
282
+ MIPS_INS_ADDV,
283
+ MIPS_INS_ADDWC,
284
+ MIPS_INS_ADD_A,
285
+ MIPS_INS_ADDI,
286
+ MIPS_INS_ADDIU,
287
+ MIPS_INS_ALIGN,
288
+ MIPS_INS_ALUIPC,
289
+ MIPS_INS_AND,
290
+ MIPS_INS_AND16,
291
+ MIPS_INS_ANDI16,
292
+ MIPS_INS_ANDI,
293
+ MIPS_INS_APPEND,
294
+ MIPS_INS_ASUB_S,
295
+ MIPS_INS_ASUB_U,
296
+ MIPS_INS_AUI,
297
+ MIPS_INS_AUIPC,
298
+ MIPS_INS_AVER_S,
299
+ MIPS_INS_AVER_U,
300
+ MIPS_INS_AVE_S,
301
+ MIPS_INS_AVE_U,
302
+ MIPS_INS_B16,
303
+ MIPS_INS_BADDU,
304
+ MIPS_INS_BAL,
305
+ MIPS_INS_BALC,
306
+ MIPS_INS_BALIGN,
307
+ MIPS_INS_BBIT0,
308
+ MIPS_INS_BBIT032,
309
+ MIPS_INS_BBIT1,
310
+ MIPS_INS_BBIT132,
311
+ MIPS_INS_BC,
312
+ MIPS_INS_BC0F,
313
+ MIPS_INS_BC0FL,
314
+ MIPS_INS_BC0T,
315
+ MIPS_INS_BC0TL,
316
+ MIPS_INS_BC1EQZ,
317
+ MIPS_INS_BC1F,
318
+ MIPS_INS_BC1FL,
319
+ MIPS_INS_BC1NEZ,
320
+ MIPS_INS_BC1T,
321
+ MIPS_INS_BC1TL,
322
+ MIPS_INS_BC2EQZ,
323
+ MIPS_INS_BC2F,
324
+ MIPS_INS_BC2FL,
325
+ MIPS_INS_BC2NEZ,
326
+ MIPS_INS_BC2T,
327
+ MIPS_INS_BC2TL,
328
+ MIPS_INS_BC3F,
329
+ MIPS_INS_BC3FL,
330
+ MIPS_INS_BC3T,
331
+ MIPS_INS_BC3TL,
332
+ MIPS_INS_BCLRI,
333
+ MIPS_INS_BCLR,
334
+ MIPS_INS_BEQ,
335
+ MIPS_INS_BEQC,
336
+ MIPS_INS_BEQL,
337
+ MIPS_INS_BEQZ16,
338
+ MIPS_INS_BEQZALC,
339
+ MIPS_INS_BEQZC,
340
+ MIPS_INS_BGEC,
341
+ MIPS_INS_BGEUC,
342
+ MIPS_INS_BGEZ,
343
+ MIPS_INS_BGEZAL,
344
+ MIPS_INS_BGEZALC,
345
+ MIPS_INS_BGEZALL,
346
+ MIPS_INS_BGEZALS,
347
+ MIPS_INS_BGEZC,
348
+ MIPS_INS_BGEZL,
349
+ MIPS_INS_BGTZ,
350
+ MIPS_INS_BGTZALC,
351
+ MIPS_INS_BGTZC,
352
+ MIPS_INS_BGTZL,
353
+ MIPS_INS_BINSLI,
354
+ MIPS_INS_BINSL,
355
+ MIPS_INS_BINSRI,
356
+ MIPS_INS_BINSR,
357
+ MIPS_INS_BITREV,
358
+ MIPS_INS_BITSWAP,
359
+ MIPS_INS_BLEZ,
360
+ MIPS_INS_BLEZALC,
361
+ MIPS_INS_BLEZC,
362
+ MIPS_INS_BLEZL,
363
+ MIPS_INS_BLTC,
364
+ MIPS_INS_BLTUC,
365
+ MIPS_INS_BLTZ,
366
+ MIPS_INS_BLTZAL,
367
+ MIPS_INS_BLTZALC,
368
+ MIPS_INS_BLTZALL,
369
+ MIPS_INS_BLTZALS,
370
+ MIPS_INS_BLTZC,
371
+ MIPS_INS_BLTZL,
372
+ MIPS_INS_BMNZI,
373
+ MIPS_INS_BMNZ,
374
+ MIPS_INS_BMZI,
375
+ MIPS_INS_BMZ,
376
+ MIPS_INS_BNE,
377
+ MIPS_INS_BNEC,
378
+ MIPS_INS_BNEGI,
379
+ MIPS_INS_BNEG,
380
+ MIPS_INS_BNEL,
381
+ MIPS_INS_BNEZ16,
382
+ MIPS_INS_BNEZALC,
383
+ MIPS_INS_BNEZC,
384
+ MIPS_INS_BNVC,
385
+ MIPS_INS_BNZ,
386
+ MIPS_INS_BOVC,
387
+ MIPS_INS_BPOSGE32,
388
+ MIPS_INS_BREAK,
389
+ MIPS_INS_BREAK16,
390
+ MIPS_INS_BSELI,
391
+ MIPS_INS_BSEL,
392
+ MIPS_INS_BSETI,
393
+ MIPS_INS_BSET,
394
+ MIPS_INS_BZ,
395
+ MIPS_INS_BEQZ,
396
+ MIPS_INS_B,
397
+ MIPS_INS_BNEZ,
398
+ MIPS_INS_BTEQZ,
399
+ MIPS_INS_BTNEZ,
400
+ MIPS_INS_CACHE,
401
+ MIPS_INS_CEIL,
402
+ MIPS_INS_CEQI,
403
+ MIPS_INS_CEQ,
404
+ MIPS_INS_CFC1,
405
+ MIPS_INS_CFCMSA,
406
+ MIPS_INS_CINS,
407
+ MIPS_INS_CINS32,
408
+ MIPS_INS_CLASS,
409
+ MIPS_INS_CLEI_S,
410
+ MIPS_INS_CLEI_U,
411
+ MIPS_INS_CLE_S,
412
+ MIPS_INS_CLE_U,
413
+ MIPS_INS_CLO,
414
+ MIPS_INS_CLTI_S,
415
+ MIPS_INS_CLTI_U,
416
+ MIPS_INS_CLT_S,
417
+ MIPS_INS_CLT_U,
418
+ MIPS_INS_CLZ,
419
+ MIPS_INS_CMPGDU,
420
+ MIPS_INS_CMPGU,
421
+ MIPS_INS_CMPU,
422
+ MIPS_INS_CMP,
423
+ MIPS_INS_COPY_S,
424
+ MIPS_INS_COPY_U,
425
+ MIPS_INS_CTC1,
426
+ MIPS_INS_CTCMSA,
427
+ MIPS_INS_CVT,
428
+ MIPS_INS_C,
429
+ MIPS_INS_CMPI,
430
+ MIPS_INS_DADD,
431
+ MIPS_INS_DADDI,
432
+ MIPS_INS_DADDIU,
433
+ MIPS_INS_DADDU,
434
+ MIPS_INS_DAHI,
435
+ MIPS_INS_DALIGN,
436
+ MIPS_INS_DATI,
437
+ MIPS_INS_DAUI,
438
+ MIPS_INS_DBITSWAP,
439
+ MIPS_INS_DCLO,
440
+ MIPS_INS_DCLZ,
441
+ MIPS_INS_DDIV,
442
+ MIPS_INS_DDIVU,
443
+ MIPS_INS_DERET,
444
+ MIPS_INS_DEXT,
445
+ MIPS_INS_DEXTM,
446
+ MIPS_INS_DEXTU,
447
+ MIPS_INS_DI,
448
+ MIPS_INS_DINS,
449
+ MIPS_INS_DINSM,
450
+ MIPS_INS_DINSU,
451
+ MIPS_INS_DIV,
452
+ MIPS_INS_DIVU,
453
+ MIPS_INS_DIV_S,
454
+ MIPS_INS_DIV_U,
455
+ MIPS_INS_DLSA,
456
+ MIPS_INS_DMFC0,
457
+ MIPS_INS_DMFC1,
458
+ MIPS_INS_DMFC2,
459
+ MIPS_INS_DMOD,
460
+ MIPS_INS_DMODU,
461
+ MIPS_INS_DMTC0,
462
+ MIPS_INS_DMTC1,
463
+ MIPS_INS_DMTC2,
464
+ MIPS_INS_DMUH,
465
+ MIPS_INS_DMUHU,
466
+ MIPS_INS_DMUL,
467
+ MIPS_INS_DMULT,
468
+ MIPS_INS_DMULTU,
469
+ MIPS_INS_DMULU,
470
+ MIPS_INS_DOTP_S,
471
+ MIPS_INS_DOTP_U,
472
+ MIPS_INS_DPADD_S,
473
+ MIPS_INS_DPADD_U,
474
+ MIPS_INS_DPAQX_SA,
475
+ MIPS_INS_DPAQX_S,
476
+ MIPS_INS_DPAQ_SA,
477
+ MIPS_INS_DPAQ_S,
478
+ MIPS_INS_DPAU,
479
+ MIPS_INS_DPAX,
480
+ MIPS_INS_DPA,
481
+ MIPS_INS_DPOP,
482
+ MIPS_INS_DPSQX_SA,
483
+ MIPS_INS_DPSQX_S,
484
+ MIPS_INS_DPSQ_SA,
485
+ MIPS_INS_DPSQ_S,
486
+ MIPS_INS_DPSUB_S,
487
+ MIPS_INS_DPSUB_U,
488
+ MIPS_INS_DPSU,
489
+ MIPS_INS_DPSX,
490
+ MIPS_INS_DPS,
491
+ MIPS_INS_DROTR,
492
+ MIPS_INS_DROTR32,
493
+ MIPS_INS_DROTRV,
494
+ MIPS_INS_DSBH,
495
+ MIPS_INS_DSHD,
496
+ MIPS_INS_DSLL,
497
+ MIPS_INS_DSLL32,
498
+ MIPS_INS_DSLLV,
499
+ MIPS_INS_DSRA,
500
+ MIPS_INS_DSRA32,
501
+ MIPS_INS_DSRAV,
502
+ MIPS_INS_DSRL,
503
+ MIPS_INS_DSRL32,
504
+ MIPS_INS_DSRLV,
505
+ MIPS_INS_DSUB,
506
+ MIPS_INS_DSUBU,
507
+ MIPS_INS_EHB,
508
+ MIPS_INS_EI,
509
+ MIPS_INS_ERET,
510
+ MIPS_INS_EXT,
511
+ MIPS_INS_EXTP,
512
+ MIPS_INS_EXTPDP,
513
+ MIPS_INS_EXTPDPV,
514
+ MIPS_INS_EXTPV,
515
+ MIPS_INS_EXTRV_RS,
516
+ MIPS_INS_EXTRV_R,
517
+ MIPS_INS_EXTRV_S,
518
+ MIPS_INS_EXTRV,
519
+ MIPS_INS_EXTR_RS,
520
+ MIPS_INS_EXTR_R,
521
+ MIPS_INS_EXTR_S,
522
+ MIPS_INS_EXTR,
523
+ MIPS_INS_EXTS,
524
+ MIPS_INS_EXTS32,
525
+ MIPS_INS_ABS,
526
+ MIPS_INS_FADD,
527
+ MIPS_INS_FCAF,
528
+ MIPS_INS_FCEQ,
529
+ MIPS_INS_FCLASS,
530
+ MIPS_INS_FCLE,
531
+ MIPS_INS_FCLT,
532
+ MIPS_INS_FCNE,
533
+ MIPS_INS_FCOR,
534
+ MIPS_INS_FCUEQ,
535
+ MIPS_INS_FCULE,
536
+ MIPS_INS_FCULT,
537
+ MIPS_INS_FCUNE,
538
+ MIPS_INS_FCUN,
539
+ MIPS_INS_FDIV,
540
+ MIPS_INS_FEXDO,
541
+ MIPS_INS_FEXP2,
542
+ MIPS_INS_FEXUPL,
543
+ MIPS_INS_FEXUPR,
544
+ MIPS_INS_FFINT_S,
545
+ MIPS_INS_FFINT_U,
546
+ MIPS_INS_FFQL,
547
+ MIPS_INS_FFQR,
548
+ MIPS_INS_FILL,
549
+ MIPS_INS_FLOG2,
550
+ MIPS_INS_FLOOR,
551
+ MIPS_INS_FMADD,
552
+ MIPS_INS_FMAX_A,
553
+ MIPS_INS_FMAX,
554
+ MIPS_INS_FMIN_A,
555
+ MIPS_INS_FMIN,
556
+ MIPS_INS_MOV,
557
+ MIPS_INS_FMSUB,
558
+ MIPS_INS_FMUL,
559
+ MIPS_INS_MUL,
560
+ MIPS_INS_NEG,
561
+ MIPS_INS_FRCP,
562
+ MIPS_INS_FRINT,
563
+ MIPS_INS_FRSQRT,
564
+ MIPS_INS_FSAF,
565
+ MIPS_INS_FSEQ,
566
+ MIPS_INS_FSLE,
567
+ MIPS_INS_FSLT,
568
+ MIPS_INS_FSNE,
569
+ MIPS_INS_FSOR,
570
+ MIPS_INS_FSQRT,
571
+ MIPS_INS_SQRT,
572
+ MIPS_INS_FSUB,
573
+ MIPS_INS_SUB,
574
+ MIPS_INS_FSUEQ,
575
+ MIPS_INS_FSULE,
576
+ MIPS_INS_FSULT,
577
+ MIPS_INS_FSUNE,
578
+ MIPS_INS_FSUN,
579
+ MIPS_INS_FTINT_S,
580
+ MIPS_INS_FTINT_U,
581
+ MIPS_INS_FTQ,
582
+ MIPS_INS_FTRUNC_S,
583
+ MIPS_INS_FTRUNC_U,
584
+ MIPS_INS_HADD_S,
585
+ MIPS_INS_HADD_U,
586
+ MIPS_INS_HSUB_S,
587
+ MIPS_INS_HSUB_U,
588
+ MIPS_INS_ILVEV,
589
+ MIPS_INS_ILVL,
590
+ MIPS_INS_ILVOD,
591
+ MIPS_INS_ILVR,
592
+ MIPS_INS_INS,
593
+ MIPS_INS_INSERT,
594
+ MIPS_INS_INSV,
595
+ MIPS_INS_INSVE,
596
+ MIPS_INS_J,
597
+ MIPS_INS_JAL,
598
+ MIPS_INS_JALR,
599
+ MIPS_INS_JALRS16,
600
+ MIPS_INS_JALRS,
601
+ MIPS_INS_JALS,
602
+ MIPS_INS_JALX,
603
+ MIPS_INS_JIALC,
604
+ MIPS_INS_JIC,
605
+ MIPS_INS_JR,
606
+ MIPS_INS_JR16,
607
+ MIPS_INS_JRADDIUSP,
608
+ MIPS_INS_JRC,
609
+ MIPS_INS_JALRC,
610
+ MIPS_INS_LB,
611
+ MIPS_INS_LBU16,
612
+ MIPS_INS_LBUX,
613
+ MIPS_INS_LBU,
614
+ MIPS_INS_LD,
615
+ MIPS_INS_LDC1,
616
+ MIPS_INS_LDC2,
617
+ MIPS_INS_LDC3,
618
+ MIPS_INS_LDI,
619
+ MIPS_INS_LDL,
620
+ MIPS_INS_LDPC,
621
+ MIPS_INS_LDR,
622
+ MIPS_INS_LDXC1,
623
+ MIPS_INS_LH,
624
+ MIPS_INS_LHU16,
625
+ MIPS_INS_LHX,
626
+ MIPS_INS_LHU,
627
+ MIPS_INS_LI16,
628
+ MIPS_INS_LL,
629
+ MIPS_INS_LLD,
630
+ MIPS_INS_LSA,
631
+ MIPS_INS_LUXC1,
632
+ MIPS_INS_LUI,
633
+ MIPS_INS_LW,
634
+ MIPS_INS_LW16,
635
+ MIPS_INS_LWC1,
636
+ MIPS_INS_LWC2,
637
+ MIPS_INS_LWC3,
638
+ MIPS_INS_LWL,
639
+ MIPS_INS_LWM16,
640
+ MIPS_INS_LWM32,
641
+ MIPS_INS_LWPC,
642
+ MIPS_INS_LWP,
643
+ MIPS_INS_LWR,
644
+ MIPS_INS_LWUPC,
645
+ MIPS_INS_LWU,
646
+ MIPS_INS_LWX,
647
+ MIPS_INS_LWXC1,
648
+ MIPS_INS_LWXS,
649
+ MIPS_INS_LI,
650
+ MIPS_INS_MADD,
651
+ MIPS_INS_MADDF,
652
+ MIPS_INS_MADDR_Q,
653
+ MIPS_INS_MADDU,
654
+ MIPS_INS_MADDV,
655
+ MIPS_INS_MADD_Q,
656
+ MIPS_INS_MAQ_SA,
657
+ MIPS_INS_MAQ_S,
658
+ MIPS_INS_MAXA,
659
+ MIPS_INS_MAXI_S,
660
+ MIPS_INS_MAXI_U,
661
+ MIPS_INS_MAX_A,
662
+ MIPS_INS_MAX,
663
+ MIPS_INS_MAX_S,
664
+ MIPS_INS_MAX_U,
665
+ MIPS_INS_MFC0,
666
+ MIPS_INS_MFC1,
667
+ MIPS_INS_MFC2,
668
+ MIPS_INS_MFHC1,
669
+ MIPS_INS_MFHI,
670
+ MIPS_INS_MFLO,
671
+ MIPS_INS_MINA,
672
+ MIPS_INS_MINI_S,
673
+ MIPS_INS_MINI_U,
674
+ MIPS_INS_MIN_A,
675
+ MIPS_INS_MIN,
676
+ MIPS_INS_MIN_S,
677
+ MIPS_INS_MIN_U,
678
+ MIPS_INS_MOD,
679
+ MIPS_INS_MODSUB,
680
+ MIPS_INS_MODU,
681
+ MIPS_INS_MOD_S,
682
+ MIPS_INS_MOD_U,
683
+ MIPS_INS_MOVE,
684
+ MIPS_INS_MOVEP,
685
+ MIPS_INS_MOVF,
686
+ MIPS_INS_MOVN,
687
+ MIPS_INS_MOVT,
688
+ MIPS_INS_MOVZ,
689
+ MIPS_INS_MSUB,
690
+ MIPS_INS_MSUBF,
691
+ MIPS_INS_MSUBR_Q,
692
+ MIPS_INS_MSUBU,
693
+ MIPS_INS_MSUBV,
694
+ MIPS_INS_MSUB_Q,
695
+ MIPS_INS_MTC0,
696
+ MIPS_INS_MTC1,
697
+ MIPS_INS_MTC2,
698
+ MIPS_INS_MTHC1,
699
+ MIPS_INS_MTHI,
700
+ MIPS_INS_MTHLIP,
701
+ MIPS_INS_MTLO,
702
+ MIPS_INS_MTM0,
703
+ MIPS_INS_MTM1,
704
+ MIPS_INS_MTM2,
705
+ MIPS_INS_MTP0,
706
+ MIPS_INS_MTP1,
707
+ MIPS_INS_MTP2,
708
+ MIPS_INS_MUH,
709
+ MIPS_INS_MUHU,
710
+ MIPS_INS_MULEQ_S,
711
+ MIPS_INS_MULEU_S,
712
+ MIPS_INS_MULQ_RS,
713
+ MIPS_INS_MULQ_S,
714
+ MIPS_INS_MULR_Q,
715
+ MIPS_INS_MULSAQ_S,
716
+ MIPS_INS_MULSA,
717
+ MIPS_INS_MULT,
718
+ MIPS_INS_MULTU,
719
+ MIPS_INS_MULU,
720
+ MIPS_INS_MULV,
721
+ MIPS_INS_MUL_Q,
722
+ MIPS_INS_MUL_S,
723
+ MIPS_INS_NLOC,
724
+ MIPS_INS_NLZC,
725
+ MIPS_INS_NMADD,
726
+ MIPS_INS_NMSUB,
727
+ MIPS_INS_NOR,
728
+ MIPS_INS_NORI,
729
+ MIPS_INS_NOT16,
730
+ MIPS_INS_NOT,
731
+ MIPS_INS_OR,
732
+ MIPS_INS_OR16,
733
+ MIPS_INS_ORI,
734
+ MIPS_INS_PACKRL,
735
+ MIPS_INS_PAUSE,
736
+ MIPS_INS_PCKEV,
737
+ MIPS_INS_PCKOD,
738
+ MIPS_INS_PCNT,
739
+ MIPS_INS_PICK,
740
+ MIPS_INS_POP,
741
+ MIPS_INS_PRECEQU,
742
+ MIPS_INS_PRECEQ,
743
+ MIPS_INS_PRECEU,
744
+ MIPS_INS_PRECRQU_S,
745
+ MIPS_INS_PRECRQ,
746
+ MIPS_INS_PRECRQ_RS,
747
+ MIPS_INS_PRECR,
748
+ MIPS_INS_PRECR_SRA,
749
+ MIPS_INS_PRECR_SRA_R,
750
+ MIPS_INS_PREF,
751
+ MIPS_INS_PREPEND,
752
+ MIPS_INS_RADDU,
753
+ MIPS_INS_RDDSP,
754
+ MIPS_INS_RDHWR,
755
+ MIPS_INS_REPLV,
756
+ MIPS_INS_REPL,
757
+ MIPS_INS_RINT,
758
+ MIPS_INS_ROTR,
759
+ MIPS_INS_ROTRV,
760
+ MIPS_INS_ROUND,
761
+ MIPS_INS_SAT_S,
762
+ MIPS_INS_SAT_U,
763
+ MIPS_INS_SB,
764
+ MIPS_INS_SB16,
765
+ MIPS_INS_SC,
766
+ MIPS_INS_SCD,
767
+ MIPS_INS_SD,
768
+ MIPS_INS_SDBBP,
769
+ MIPS_INS_SDBBP16,
770
+ MIPS_INS_SDC1,
771
+ MIPS_INS_SDC2,
772
+ MIPS_INS_SDC3,
773
+ MIPS_INS_SDL,
774
+ MIPS_INS_SDR,
775
+ MIPS_INS_SDXC1,
776
+ MIPS_INS_SEB,
777
+ MIPS_INS_SEH,
778
+ MIPS_INS_SELEQZ,
779
+ MIPS_INS_SELNEZ,
780
+ MIPS_INS_SEL,
781
+ MIPS_INS_SEQ,
782
+ MIPS_INS_SEQI,
783
+ MIPS_INS_SH,
784
+ MIPS_INS_SH16,
785
+ MIPS_INS_SHF,
786
+ MIPS_INS_SHILO,
787
+ MIPS_INS_SHILOV,
788
+ MIPS_INS_SHLLV,
789
+ MIPS_INS_SHLLV_S,
790
+ MIPS_INS_SHLL,
791
+ MIPS_INS_SHLL_S,
792
+ MIPS_INS_SHRAV,
793
+ MIPS_INS_SHRAV_R,
794
+ MIPS_INS_SHRA,
795
+ MIPS_INS_SHRA_R,
796
+ MIPS_INS_SHRLV,
797
+ MIPS_INS_SHRL,
798
+ MIPS_INS_SLDI,
799
+ MIPS_INS_SLD,
800
+ MIPS_INS_SLL,
801
+ MIPS_INS_SLL16,
802
+ MIPS_INS_SLLI,
803
+ MIPS_INS_SLLV,
804
+ MIPS_INS_SLT,
805
+ MIPS_INS_SLTI,
806
+ MIPS_INS_SLTIU,
807
+ MIPS_INS_SLTU,
808
+ MIPS_INS_SNE,
809
+ MIPS_INS_SNEI,
810
+ MIPS_INS_SPLATI,
811
+ MIPS_INS_SPLAT,
812
+ MIPS_INS_SRA,
813
+ MIPS_INS_SRAI,
814
+ MIPS_INS_SRARI,
815
+ MIPS_INS_SRAR,
816
+ MIPS_INS_SRAV,
817
+ MIPS_INS_SRL,
818
+ MIPS_INS_SRL16,
819
+ MIPS_INS_SRLI,
820
+ MIPS_INS_SRLRI,
821
+ MIPS_INS_SRLR,
822
+ MIPS_INS_SRLV,
823
+ MIPS_INS_SSNOP,
824
+ MIPS_INS_ST,
825
+ MIPS_INS_SUBQH,
826
+ MIPS_INS_SUBQH_R,
827
+ MIPS_INS_SUBQ,
828
+ MIPS_INS_SUBQ_S,
829
+ MIPS_INS_SUBSUS_U,
830
+ MIPS_INS_SUBSUU_S,
831
+ MIPS_INS_SUBS_S,
832
+ MIPS_INS_SUBS_U,
833
+ MIPS_INS_SUBU16,
834
+ MIPS_INS_SUBUH,
835
+ MIPS_INS_SUBUH_R,
836
+ MIPS_INS_SUBU,
837
+ MIPS_INS_SUBU_S,
838
+ MIPS_INS_SUBVI,
839
+ MIPS_INS_SUBV,
840
+ MIPS_INS_SUXC1,
841
+ MIPS_INS_SW,
842
+ MIPS_INS_SW16,
843
+ MIPS_INS_SWC1,
844
+ MIPS_INS_SWC2,
845
+ MIPS_INS_SWC3,
846
+ MIPS_INS_SWL,
847
+ MIPS_INS_SWM16,
848
+ MIPS_INS_SWM32,
849
+ MIPS_INS_SWP,
850
+ MIPS_INS_SWR,
851
+ MIPS_INS_SWXC1,
852
+ MIPS_INS_SYNC,
853
+ MIPS_INS_SYNCI,
854
+ MIPS_INS_SYSCALL,
855
+ MIPS_INS_TEQ,
856
+ MIPS_INS_TEQI,
857
+ MIPS_INS_TGE,
858
+ MIPS_INS_TGEI,
859
+ MIPS_INS_TGEIU,
860
+ MIPS_INS_TGEU,
861
+ MIPS_INS_TLBP,
862
+ MIPS_INS_TLBR,
863
+ MIPS_INS_TLBWI,
864
+ MIPS_INS_TLBWR,
865
+ MIPS_INS_TLT,
866
+ MIPS_INS_TLTI,
867
+ MIPS_INS_TLTIU,
868
+ MIPS_INS_TLTU,
869
+ MIPS_INS_TNE,
870
+ MIPS_INS_TNEI,
871
+ MIPS_INS_TRUNC,
872
+ MIPS_INS_V3MULU,
873
+ MIPS_INS_VMM0,
874
+ MIPS_INS_VMULU,
875
+ MIPS_INS_VSHF,
876
+ MIPS_INS_WAIT,
877
+ MIPS_INS_WRDSP,
878
+ MIPS_INS_WSBH,
879
+ MIPS_INS_XOR,
880
+ MIPS_INS_XOR16,
881
+ MIPS_INS_XORI,
882
+
883
+ //> some alias instructions
884
+ MIPS_INS_NOP,
885
+ MIPS_INS_NEGU,
886
+
887
+ //> special instructions
888
+ MIPS_INS_JALR_HB, // jump and link with Hazard Barrier
889
+ MIPS_INS_JR_HB, // jump register with Hazard Barrier
890
+
891
+ MIPS_INS_ENDING,
892
+ } mips_insn;
893
+
894
+ /// Group of MIPS instructions
895
+ typedef enum mips_insn_group {
896
+ MIPS_GRP_INVALID = 0, ///< = CS_GRP_INVALID
897
+
898
+ // Generic groups
899
+ // all jump instructions (conditional+direct+indirect jumps)
900
+ MIPS_GRP_JUMP, ///< = CS_GRP_JUMP
901
+ // all call instructions
902
+ MIPS_GRP_CALL, ///< = CS_GRP_CALL
903
+ // all return instructions
904
+ MIPS_GRP_RET, ///< = CS_GRP_RET
905
+ // all interrupt instructions (int+syscall)
906
+ MIPS_GRP_INT, ///< = CS_GRP_INT
907
+ // all interrupt return instructions
908
+ MIPS_GRP_IRET, ///< = CS_GRP_IRET
909
+ // all privileged instructions
910
+ MIPS_GRP_PRIVILEGE, ///< = CS_GRP_PRIVILEGE
911
+ // all relative branching instructions
912
+ MIPS_GRP_BRANCH_RELATIVE, ///< = CS_GRP_BRANCH_RELATIVE
913
+
914
+ // Architecture-specific groups
915
+ MIPS_GRP_BITCOUNT = 128,
916
+ MIPS_GRP_DSP,
917
+ MIPS_GRP_DSPR2,
918
+ MIPS_GRP_FPIDX,
919
+ MIPS_GRP_MSA,
920
+ MIPS_GRP_MIPS32R2,
921
+ MIPS_GRP_MIPS64,
922
+ MIPS_GRP_MIPS64R2,
923
+ MIPS_GRP_SEINREG,
924
+ MIPS_GRP_STDENC,
925
+ MIPS_GRP_SWAP,
926
+ MIPS_GRP_MICROMIPS,
927
+ MIPS_GRP_MIPS16MODE,
928
+ MIPS_GRP_FP64BIT,
929
+ MIPS_GRP_NONANSFPMATH,
930
+ MIPS_GRP_NOTFP64BIT,
931
+ MIPS_GRP_NOTINMICROMIPS,
932
+ MIPS_GRP_NOTNACL,
933
+ MIPS_GRP_NOTMIPS32R6,
934
+ MIPS_GRP_NOTMIPS64R6,
935
+ MIPS_GRP_CNMIPS,
936
+ MIPS_GRP_MIPS32,
937
+ MIPS_GRP_MIPS32R6,
938
+ MIPS_GRP_MIPS64R6,
939
+ MIPS_GRP_MIPS2,
940
+ MIPS_GRP_MIPS3,
941
+ MIPS_GRP_MIPS3_32,
942
+ MIPS_GRP_MIPS3_32R2,
943
+ MIPS_GRP_MIPS4_32,
944
+ MIPS_GRP_MIPS4_32R2,
945
+ MIPS_GRP_MIPS5_32R2,
946
+ MIPS_GRP_GP32BIT,
947
+ MIPS_GRP_GP64BIT,
948
+
949
+ MIPS_GRP_ENDING,
950
+ } mips_insn_group;
951
+
952
+ #ifdef __cplusplus
953
+ }
954
+ #endif
955
+
956
+ #endif