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,531 @@
1
+ #ifndef CAPSTONE_RISCV_H
2
+ #define CAPSTONE_RISCV_H
3
+
4
+ /* Capstone Disassembly Engine */
5
+ /* RISC-V Backend By Rodrigo Cortes Porto <porto703@gmail.com> &
6
+ Shawn Chang <citypw@gmail.com>, HardenedLinux@2018 */
7
+
8
+ #ifdef __cplusplus
9
+ extern "C" {
10
+ #endif
11
+
12
+ #if !defined(_MSC_VER) || !defined(_KERNEL_MODE)
13
+ #include <stdint.h>
14
+ #endif
15
+
16
+ #include "platform.h"
17
+
18
+ // GCC MIPS toolchain has a default macro called "mips" which breaks
19
+ // compilation
20
+ //#undef riscv
21
+
22
+ #ifdef _MSC_VER
23
+ #pragma warning(disable:4201)
24
+ #endif
25
+
26
+ //> Operand type for instruction's operands
27
+ typedef enum riscv_op_type {
28
+ RISCV_OP_INVALID = 0, // = CS_OP_INVALID (Uninitialized).
29
+ RISCV_OP_REG, // = CS_OP_REG (Register operand).
30
+ RISCV_OP_IMM, // = CS_OP_IMM (Immediate operand).
31
+ RISCV_OP_MEM, // = CS_OP_MEM (Memory operand).
32
+ } riscv_op_type;
33
+
34
+ // Instruction's operand referring to memory
35
+ // This is associated with RISCV_OP_MEM operand type above
36
+ typedef struct riscv_op_mem {
37
+ unsigned int base; // base register
38
+ int64_t disp; // displacement/offset value
39
+ } riscv_op_mem;
40
+
41
+ // Instruction operand
42
+ typedef struct cs_riscv_op {
43
+ riscv_op_type type; // operand type
44
+ union {
45
+ unsigned int reg; // register value for REG operand
46
+ int64_t imm; // immediate value for IMM operand
47
+ riscv_op_mem mem; // base/disp value for MEM operand
48
+ };
49
+ } cs_riscv_op;
50
+
51
+ // Instruction structure
52
+ typedef struct cs_riscv {
53
+ // Does this instruction need effective address or not.
54
+ bool need_effective_addr;
55
+ // Number of operands of this instruction,
56
+ // or 0 when instruction has no operand.
57
+ uint8_t op_count;
58
+ cs_riscv_op operands[8]; // operands for this instruction.
59
+ } cs_riscv;
60
+
61
+ //> RISCV registers
62
+ typedef enum riscv_reg {
63
+ RISCV_REG_INVALID = 0,
64
+ //> General purpose registers
65
+ RISCV_REG_X0, // "zero"
66
+ RISCV_REG_ZERO = RISCV_REG_X0, // "zero"
67
+ RISCV_REG_X1, // "ra"
68
+ RISCV_REG_RA = RISCV_REG_X1, // "ra"
69
+ RISCV_REG_X2, // "sp"
70
+ RISCV_REG_SP = RISCV_REG_X2, // "sp"
71
+ RISCV_REG_X3, // "gp"
72
+ RISCV_REG_GP = RISCV_REG_X3, // "gp"
73
+ RISCV_REG_X4, // "tp"
74
+ RISCV_REG_TP = RISCV_REG_X4, // "tp"
75
+ RISCV_REG_X5, // "t0"
76
+ RISCV_REG_T0 = RISCV_REG_X5, // "t0"
77
+ RISCV_REG_X6, // "t1"
78
+ RISCV_REG_T1 = RISCV_REG_X6, // "t1"
79
+ RISCV_REG_X7, // "t2"
80
+ RISCV_REG_T2 = RISCV_REG_X7, // "t2"
81
+ RISCV_REG_X8, // "s0/fp"
82
+ RISCV_REG_S0 = RISCV_REG_X8, // "s0"
83
+ RISCV_REG_FP = RISCV_REG_X8, // "fp"
84
+ RISCV_REG_X9, // "s1"
85
+ RISCV_REG_S1 = RISCV_REG_X9, // "s1"
86
+ RISCV_REG_X10, // "a0"
87
+ RISCV_REG_A0 = RISCV_REG_X10, // "a0"
88
+ RISCV_REG_X11, // "a1"
89
+ RISCV_REG_A1 = RISCV_REG_X11, // "a1"
90
+ RISCV_REG_X12, // "a2"
91
+ RISCV_REG_A2 = RISCV_REG_X12, // "a2"
92
+ RISCV_REG_X13, // "a3"
93
+ RISCV_REG_A3 = RISCV_REG_X13, // "a3"
94
+ RISCV_REG_X14, // "a4"
95
+ RISCV_REG_A4 = RISCV_REG_X14, // "a4"
96
+ RISCV_REG_X15, // "a5"
97
+ RISCV_REG_A5 = RISCV_REG_X15, // "a5"
98
+ RISCV_REG_X16, // "a6"
99
+ RISCV_REG_A6 = RISCV_REG_X16, // "a6"
100
+ RISCV_REG_X17, // "a7"
101
+ RISCV_REG_A7 = RISCV_REG_X17, // "a7"
102
+ RISCV_REG_X18, // "s2"
103
+ RISCV_REG_S2 = RISCV_REG_X18, // "s2"
104
+ RISCV_REG_X19, // "s3"
105
+ RISCV_REG_S3 = RISCV_REG_X19, // "s3"
106
+ RISCV_REG_X20, // "s4"
107
+ RISCV_REG_S4 = RISCV_REG_X20, // "s4"
108
+ RISCV_REG_X21, // "s5"
109
+ RISCV_REG_S5 = RISCV_REG_X21, // "s5"
110
+ RISCV_REG_X22, // "s6"
111
+ RISCV_REG_S6 = RISCV_REG_X22, // "s6"
112
+ RISCV_REG_X23, // "s7"
113
+ RISCV_REG_S7 = RISCV_REG_X23, // "s7"
114
+ RISCV_REG_X24, // "s8"
115
+ RISCV_REG_S8 = RISCV_REG_X24, // "s8"
116
+ RISCV_REG_X25, // "s9"
117
+ RISCV_REG_S9 = RISCV_REG_X25, // "s9"
118
+ RISCV_REG_X26, // "s10"
119
+ RISCV_REG_S10 = RISCV_REG_X26, // "s10"
120
+ RISCV_REG_X27, // "s11"
121
+ RISCV_REG_S11 = RISCV_REG_X27, // "s11"
122
+ RISCV_REG_X28, // "t3"
123
+ RISCV_REG_T3 = RISCV_REG_X28, // "t3"
124
+ RISCV_REG_X29, // "t4"
125
+ RISCV_REG_T4 = RISCV_REG_X29, // "t4"
126
+ RISCV_REG_X30, // "t5"
127
+ RISCV_REG_T5 = RISCV_REG_X30, // "t5"
128
+ RISCV_REG_X31, // "t6"
129
+ RISCV_REG_T6 = RISCV_REG_X31, // "t6"
130
+
131
+ //> Floating-point registers
132
+ RISCV_REG_F0_32, // "ft0"
133
+ RISCV_REG_F0_64, // "ft0"
134
+ RISCV_REG_F1_32, // "ft1"
135
+ RISCV_REG_F1_64, // "ft1"
136
+ RISCV_REG_F2_32, // "ft2"
137
+ RISCV_REG_F2_64, // "ft2"
138
+ RISCV_REG_F3_32, // "ft3"
139
+ RISCV_REG_F3_64, // "ft3"
140
+ RISCV_REG_F4_32, // "ft4"
141
+ RISCV_REG_F4_64, // "ft4"
142
+ RISCV_REG_F5_32, // "ft5"
143
+ RISCV_REG_F5_64, // "ft5"
144
+ RISCV_REG_F6_32, // "ft6"
145
+ RISCV_REG_F6_64, // "ft6"
146
+ RISCV_REG_F7_32, // "ft7"
147
+ RISCV_REG_F7_64, // "ft7"
148
+ RISCV_REG_F8_32, // "fs0"
149
+ RISCV_REG_F8_64, // "fs0"
150
+ RISCV_REG_F9_32, // "fs1"
151
+ RISCV_REG_F9_64, // "fs1"
152
+ RISCV_REG_F10_32, // "fa0"
153
+ RISCV_REG_F10_64, // "fa0"
154
+ RISCV_REG_F11_32, // "fa1"
155
+ RISCV_REG_F11_64, // "fa1"
156
+ RISCV_REG_F12_32, // "fa2"
157
+ RISCV_REG_F12_64, // "fa2"
158
+ RISCV_REG_F13_32, // "fa3"
159
+ RISCV_REG_F13_64, // "fa3"
160
+ RISCV_REG_F14_32, // "fa4"
161
+ RISCV_REG_F14_64, // "fa4"
162
+ RISCV_REG_F15_32, // "fa5"
163
+ RISCV_REG_F15_64, // "fa5"
164
+ RISCV_REG_F16_32, // "fa6"
165
+ RISCV_REG_F16_64, // "fa6"
166
+ RISCV_REG_F17_32, // "fa7"
167
+ RISCV_REG_F17_64, // "fa7"
168
+ RISCV_REG_F18_32, // "fs2"
169
+ RISCV_REG_F18_64, // "fs2"
170
+ RISCV_REG_F19_32, // "fs3"
171
+ RISCV_REG_F19_64, // "fs3"
172
+ RISCV_REG_F20_32, // "fs4"
173
+ RISCV_REG_F20_64, // "fs4"
174
+ RISCV_REG_F21_32, // "fs5"
175
+ RISCV_REG_F21_64, // "fs5"
176
+ RISCV_REG_F22_32, // "fs6"
177
+ RISCV_REG_F22_64, // "fs6"
178
+ RISCV_REG_F23_32, // "fs7"
179
+ RISCV_REG_F23_64, // "fs7"
180
+ RISCV_REG_F24_32, // "fs8"
181
+ RISCV_REG_F24_64, // "fs8"
182
+ RISCV_REG_F25_32, // "fs9"
183
+ RISCV_REG_F25_64, // "fs9"
184
+ RISCV_REG_F26_32, // "fs10"
185
+ RISCV_REG_F26_64, // "fs10"
186
+ RISCV_REG_F27_32, // "fs11"
187
+ RISCV_REG_F27_64, // "fs11"
188
+ RISCV_REG_F28_32, // "ft8"
189
+ RISCV_REG_F28_64, // "ft8"
190
+ RISCV_REG_F29_32, // "ft9"
191
+ RISCV_REG_F29_64, // "ft9"
192
+ RISCV_REG_F30_32, // "ft10"
193
+ RISCV_REG_F30_64, // "ft10"
194
+ RISCV_REG_F31_32, // "ft11"
195
+ RISCV_REG_F31_64, // "ft11"
196
+
197
+ RISCV_REG_ENDING, // <-- mark the end of the list or registers
198
+ } riscv_reg;
199
+
200
+ //> RISCV instruction
201
+ typedef enum riscv_insn {
202
+ RISCV_INS_INVALID = 0,
203
+
204
+ RISCV_INS_ADD,
205
+ RISCV_INS_ADDI,
206
+ RISCV_INS_ADDIW,
207
+ RISCV_INS_ADDW,
208
+ RISCV_INS_AMOADD_D,
209
+ RISCV_INS_AMOADD_D_AQ,
210
+ RISCV_INS_AMOADD_D_AQ_RL,
211
+ RISCV_INS_AMOADD_D_RL,
212
+ RISCV_INS_AMOADD_W,
213
+ RISCV_INS_AMOADD_W_AQ,
214
+ RISCV_INS_AMOADD_W_AQ_RL,
215
+ RISCV_INS_AMOADD_W_RL,
216
+ RISCV_INS_AMOAND_D,
217
+ RISCV_INS_AMOAND_D_AQ,
218
+ RISCV_INS_AMOAND_D_AQ_RL,
219
+ RISCV_INS_AMOAND_D_RL,
220
+ RISCV_INS_AMOAND_W,
221
+ RISCV_INS_AMOAND_W_AQ,
222
+ RISCV_INS_AMOAND_W_AQ_RL,
223
+ RISCV_INS_AMOAND_W_RL,
224
+ RISCV_INS_AMOMAXU_D,
225
+ RISCV_INS_AMOMAXU_D_AQ,
226
+ RISCV_INS_AMOMAXU_D_AQ_RL,
227
+ RISCV_INS_AMOMAXU_D_RL,
228
+ RISCV_INS_AMOMAXU_W,
229
+ RISCV_INS_AMOMAXU_W_AQ,
230
+ RISCV_INS_AMOMAXU_W_AQ_RL,
231
+ RISCV_INS_AMOMAXU_W_RL,
232
+ RISCV_INS_AMOMAX_D,
233
+ RISCV_INS_AMOMAX_D_AQ,
234
+ RISCV_INS_AMOMAX_D_AQ_RL,
235
+ RISCV_INS_AMOMAX_D_RL,
236
+ RISCV_INS_AMOMAX_W,
237
+ RISCV_INS_AMOMAX_W_AQ,
238
+ RISCV_INS_AMOMAX_W_AQ_RL,
239
+ RISCV_INS_AMOMAX_W_RL,
240
+ RISCV_INS_AMOMINU_D,
241
+ RISCV_INS_AMOMINU_D_AQ,
242
+ RISCV_INS_AMOMINU_D_AQ_RL,
243
+ RISCV_INS_AMOMINU_D_RL,
244
+ RISCV_INS_AMOMINU_W,
245
+ RISCV_INS_AMOMINU_W_AQ,
246
+ RISCV_INS_AMOMINU_W_AQ_RL,
247
+ RISCV_INS_AMOMINU_W_RL,
248
+ RISCV_INS_AMOMIN_D,
249
+ RISCV_INS_AMOMIN_D_AQ,
250
+ RISCV_INS_AMOMIN_D_AQ_RL,
251
+ RISCV_INS_AMOMIN_D_RL,
252
+ RISCV_INS_AMOMIN_W,
253
+ RISCV_INS_AMOMIN_W_AQ,
254
+ RISCV_INS_AMOMIN_W_AQ_RL,
255
+ RISCV_INS_AMOMIN_W_RL,
256
+ RISCV_INS_AMOOR_D,
257
+ RISCV_INS_AMOOR_D_AQ,
258
+ RISCV_INS_AMOOR_D_AQ_RL,
259
+ RISCV_INS_AMOOR_D_RL,
260
+ RISCV_INS_AMOOR_W,
261
+ RISCV_INS_AMOOR_W_AQ,
262
+ RISCV_INS_AMOOR_W_AQ_RL,
263
+ RISCV_INS_AMOOR_W_RL,
264
+ RISCV_INS_AMOSWAP_D,
265
+ RISCV_INS_AMOSWAP_D_AQ,
266
+ RISCV_INS_AMOSWAP_D_AQ_RL,
267
+ RISCV_INS_AMOSWAP_D_RL,
268
+ RISCV_INS_AMOSWAP_W,
269
+ RISCV_INS_AMOSWAP_W_AQ,
270
+ RISCV_INS_AMOSWAP_W_AQ_RL,
271
+ RISCV_INS_AMOSWAP_W_RL,
272
+ RISCV_INS_AMOXOR_D,
273
+ RISCV_INS_AMOXOR_D_AQ,
274
+ RISCV_INS_AMOXOR_D_AQ_RL,
275
+ RISCV_INS_AMOXOR_D_RL,
276
+ RISCV_INS_AMOXOR_W,
277
+ RISCV_INS_AMOXOR_W_AQ,
278
+ RISCV_INS_AMOXOR_W_AQ_RL,
279
+ RISCV_INS_AMOXOR_W_RL,
280
+ RISCV_INS_AND,
281
+ RISCV_INS_ANDI,
282
+ RISCV_INS_AUIPC,
283
+ RISCV_INS_BEQ,
284
+ RISCV_INS_BGE,
285
+ RISCV_INS_BGEU,
286
+ RISCV_INS_BLT,
287
+ RISCV_INS_BLTU,
288
+ RISCV_INS_BNE,
289
+ RISCV_INS_CSRRC,
290
+ RISCV_INS_CSRRCI,
291
+ RISCV_INS_CSRRS,
292
+ RISCV_INS_CSRRSI,
293
+ RISCV_INS_CSRRW,
294
+ RISCV_INS_CSRRWI,
295
+ RISCV_INS_C_ADD,
296
+ RISCV_INS_C_ADDI,
297
+ RISCV_INS_C_ADDI16SP,
298
+ RISCV_INS_C_ADDI4SPN,
299
+ RISCV_INS_C_ADDIW,
300
+ RISCV_INS_C_ADDW,
301
+ RISCV_INS_C_AND,
302
+ RISCV_INS_C_ANDI,
303
+ RISCV_INS_C_BEQZ,
304
+ RISCV_INS_C_BNEZ,
305
+ RISCV_INS_C_EBREAK,
306
+ RISCV_INS_C_FLD,
307
+ RISCV_INS_C_FLDSP,
308
+ RISCV_INS_C_FLW,
309
+ RISCV_INS_C_FLWSP,
310
+ RISCV_INS_C_FSD,
311
+ RISCV_INS_C_FSDSP,
312
+ RISCV_INS_C_FSW,
313
+ RISCV_INS_C_FSWSP,
314
+ RISCV_INS_C_J,
315
+ RISCV_INS_C_JAL,
316
+ RISCV_INS_C_JALR,
317
+ RISCV_INS_C_JR,
318
+ RISCV_INS_C_LD,
319
+ RISCV_INS_C_LDSP,
320
+ RISCV_INS_C_LI,
321
+ RISCV_INS_C_LUI,
322
+ RISCV_INS_C_LW,
323
+ RISCV_INS_C_LWSP,
324
+ RISCV_INS_C_MV,
325
+ RISCV_INS_C_NOP,
326
+ RISCV_INS_C_OR,
327
+ RISCV_INS_C_SD,
328
+ RISCV_INS_C_SDSP,
329
+ RISCV_INS_C_SLLI,
330
+ RISCV_INS_C_SRAI,
331
+ RISCV_INS_C_SRLI,
332
+ RISCV_INS_C_SUB,
333
+ RISCV_INS_C_SUBW,
334
+ RISCV_INS_C_SW,
335
+ RISCV_INS_C_SWSP,
336
+ RISCV_INS_C_UNIMP,
337
+ RISCV_INS_C_XOR,
338
+ RISCV_INS_DIV,
339
+ RISCV_INS_DIVU,
340
+ RISCV_INS_DIVUW,
341
+ RISCV_INS_DIVW,
342
+ RISCV_INS_EBREAK,
343
+ RISCV_INS_ECALL,
344
+ RISCV_INS_FADD_D,
345
+ RISCV_INS_FADD_S,
346
+ RISCV_INS_FCLASS_D,
347
+ RISCV_INS_FCLASS_S,
348
+ RISCV_INS_FCVT_D_L,
349
+ RISCV_INS_FCVT_D_LU,
350
+ RISCV_INS_FCVT_D_S,
351
+ RISCV_INS_FCVT_D_W,
352
+ RISCV_INS_FCVT_D_WU,
353
+ RISCV_INS_FCVT_LU_D,
354
+ RISCV_INS_FCVT_LU_S,
355
+ RISCV_INS_FCVT_L_D,
356
+ RISCV_INS_FCVT_L_S,
357
+ RISCV_INS_FCVT_S_D,
358
+ RISCV_INS_FCVT_S_L,
359
+ RISCV_INS_FCVT_S_LU,
360
+ RISCV_INS_FCVT_S_W,
361
+ RISCV_INS_FCVT_S_WU,
362
+ RISCV_INS_FCVT_WU_D,
363
+ RISCV_INS_FCVT_WU_S,
364
+ RISCV_INS_FCVT_W_D,
365
+ RISCV_INS_FCVT_W_S,
366
+ RISCV_INS_FDIV_D,
367
+ RISCV_INS_FDIV_S,
368
+ RISCV_INS_FENCE,
369
+ RISCV_INS_FENCE_I,
370
+ RISCV_INS_FENCE_TSO,
371
+ RISCV_INS_FEQ_D,
372
+ RISCV_INS_FEQ_S,
373
+ RISCV_INS_FLD,
374
+ RISCV_INS_FLE_D,
375
+ RISCV_INS_FLE_S,
376
+ RISCV_INS_FLT_D,
377
+ RISCV_INS_FLT_S,
378
+ RISCV_INS_FLW,
379
+ RISCV_INS_FMADD_D,
380
+ RISCV_INS_FMADD_S,
381
+ RISCV_INS_FMAX_D,
382
+ RISCV_INS_FMAX_S,
383
+ RISCV_INS_FMIN_D,
384
+ RISCV_INS_FMIN_S,
385
+ RISCV_INS_FMSUB_D,
386
+ RISCV_INS_FMSUB_S,
387
+ RISCV_INS_FMUL_D,
388
+ RISCV_INS_FMUL_S,
389
+ RISCV_INS_FMV_D_X,
390
+ RISCV_INS_FMV_W_X,
391
+ RISCV_INS_FMV_X_D,
392
+ RISCV_INS_FMV_X_W,
393
+ RISCV_INS_FNMADD_D,
394
+ RISCV_INS_FNMADD_S,
395
+ RISCV_INS_FNMSUB_D,
396
+ RISCV_INS_FNMSUB_S,
397
+ RISCV_INS_FSD,
398
+ RISCV_INS_FSGNJN_D,
399
+ RISCV_INS_FSGNJN_S,
400
+ RISCV_INS_FSGNJX_D,
401
+ RISCV_INS_FSGNJX_S,
402
+ RISCV_INS_FSGNJ_D,
403
+ RISCV_INS_FSGNJ_S,
404
+ RISCV_INS_FSQRT_D,
405
+ RISCV_INS_FSQRT_S,
406
+ RISCV_INS_FSUB_D,
407
+ RISCV_INS_FSUB_S,
408
+ RISCV_INS_FSW,
409
+ RISCV_INS_JAL,
410
+ RISCV_INS_JALR,
411
+ RISCV_INS_LB,
412
+ RISCV_INS_LBU,
413
+ RISCV_INS_LD,
414
+ RISCV_INS_LH,
415
+ RISCV_INS_LHU,
416
+ RISCV_INS_LR_D,
417
+ RISCV_INS_LR_D_AQ,
418
+ RISCV_INS_LR_D_AQ_RL,
419
+ RISCV_INS_LR_D_RL,
420
+ RISCV_INS_LR_W,
421
+ RISCV_INS_LR_W_AQ,
422
+ RISCV_INS_LR_W_AQ_RL,
423
+ RISCV_INS_LR_W_RL,
424
+ RISCV_INS_LUI,
425
+ RISCV_INS_LW,
426
+ RISCV_INS_LWU,
427
+ RISCV_INS_MRET,
428
+ RISCV_INS_MUL,
429
+ RISCV_INS_MULH,
430
+ RISCV_INS_MULHSU,
431
+ RISCV_INS_MULHU,
432
+ RISCV_INS_MULW,
433
+ RISCV_INS_OR,
434
+ RISCV_INS_ORI,
435
+ RISCV_INS_REM,
436
+ RISCV_INS_REMU,
437
+ RISCV_INS_REMUW,
438
+ RISCV_INS_REMW,
439
+ RISCV_INS_SB,
440
+ RISCV_INS_SC_D,
441
+ RISCV_INS_SC_D_AQ,
442
+ RISCV_INS_SC_D_AQ_RL,
443
+ RISCV_INS_SC_D_RL,
444
+ RISCV_INS_SC_W,
445
+ RISCV_INS_SC_W_AQ,
446
+ RISCV_INS_SC_W_AQ_RL,
447
+ RISCV_INS_SC_W_RL,
448
+ RISCV_INS_SD,
449
+ RISCV_INS_SFENCE_VMA,
450
+ RISCV_INS_SH,
451
+ RISCV_INS_SLL,
452
+ RISCV_INS_SLLI,
453
+ RISCV_INS_SLLIW,
454
+ RISCV_INS_SLLW,
455
+ RISCV_INS_SLT,
456
+ RISCV_INS_SLTI,
457
+ RISCV_INS_SLTIU,
458
+ RISCV_INS_SLTU,
459
+ RISCV_INS_SRA,
460
+ RISCV_INS_SRAI,
461
+ RISCV_INS_SRAIW,
462
+ RISCV_INS_SRAW,
463
+ RISCV_INS_SRET,
464
+ RISCV_INS_SRL,
465
+ RISCV_INS_SRLI,
466
+ RISCV_INS_SRLIW,
467
+ RISCV_INS_SRLW,
468
+ RISCV_INS_SUB,
469
+ RISCV_INS_SUBW,
470
+ RISCV_INS_SW,
471
+ RISCV_INS_UNIMP,
472
+ RISCV_INS_URET,
473
+ RISCV_INS_WFI,
474
+ RISCV_INS_XOR,
475
+ RISCV_INS_XORI,
476
+
477
+ RISCV_INS_ENDING,
478
+ } riscv_insn;
479
+
480
+ //> Group of RISCV instructions
481
+ typedef enum riscv_insn_group {
482
+ RISCV_GRP_INVALID = 0, ///< = CS_GRP_INVALID
483
+
484
+ // Generic groups
485
+ // all jump instructions (conditional+direct+indirect jumps)
486
+ RISCV_GRP_JUMP, ///< = CS_GRP_JUMP
487
+ // all call instructions
488
+ RISCV_GRP_CALL, ///< = CS_GRP_CALL
489
+ // all return instructions
490
+ RISCV_GRP_RET, ///< = CS_GRP_RET
491
+ // all interrupt instructions (int+syscall)
492
+ RISCV_GRP_INT, ///< = CS_GRP_INT
493
+ // all interrupt return instructions
494
+ RISCV_GRP_IRET, ///< = CS_GRP_IRET
495
+ // all privileged instructions
496
+ RISCV_GRP_PRIVILEGE, ///< = CS_GRP_PRIVILEGE
497
+ // all relative branching instructions
498
+ RISCV_GRP_BRANCH_RELATIVE, ///< = CS_GRP_BRANCH_RELATIVE
499
+
500
+ // Architecture-specific groups
501
+ RISCV_GRP_ISRV32 = 128,
502
+ RISCV_GRP_ISRV64,
503
+ RISCV_GRP_HASSTDEXTA,
504
+ RISCV_GRP_HASSTDEXTC,
505
+ RISCV_GRP_HASSTDEXTD,
506
+ RISCV_GRP_HASSTDEXTF,
507
+ RISCV_GRP_HASSTDEXTM,
508
+ /*
509
+ RISCV_GRP_ISRVA,
510
+ RISCV_GRP_ISRVC,
511
+ RISCV_GRP_ISRVD,
512
+ RISCV_GRP_ISRVCD,
513
+ RISCV_GRP_ISRVF,
514
+ RISCV_GRP_ISRV32C,
515
+ RISCV_GRP_ISRV32CF,
516
+ RISCV_GRP_ISRVM,
517
+ RISCV_GRP_ISRV64A,
518
+ RISCV_GRP_ISRV64C,
519
+ RISCV_GRP_ISRV64D,
520
+ RISCV_GRP_ISRV64F,
521
+ RISCV_GRP_ISRV64M,
522
+ */
523
+ RISCV_GRP_ENDING,
524
+ } riscv_insn_group;
525
+
526
+ #ifdef __cplusplus
527
+ }
528
+ #endif
529
+
530
+ #endif
531
+