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,390 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ out = Array.new(256, "NULL");
4
+ code_list = <<EOF
5
+ MOV_i #imm,Rn 1110nnnniiiiiiii
6
+ MOV.W @(disp*,PC),Rn 1001nnnndddddddd
7
+ MOV.L @(disp*,PC),Rn 1101nnnndddddddd
8
+ MOV Rm,Rn 0110nnnnmmmm0011
9
+ MOV.B Rm,@Rn 0010nnnnmmmm0000
10
+ MOV.W Rm,@Rn 0010nnnnmmmm0001
11
+ MOV.L Rm,@Rn 0010nnnnmmmm0010
12
+ MOV.B @Rm,Rn 0110nnnnmmmm0000
13
+ MOV.W @Rm,Rn 0110nnnnmmmm0001
14
+ MOV.L @Rm,Rn 0110nnnnmmmm0010
15
+ MOV.B Rm,@-Rn 0010nnnnmmmm0100
16
+ MOV.W Rm,@-Rn 0010nnnnmmmm0101
17
+ MOV.L Rm,@-Rn 0010nnnnmmmm0110
18
+ MOV.B @Rm+,Rn 0110nnnnmmmm0100
19
+ MOV.W @Rm+,Rn 0110nnnnmmmm0101
20
+ MOV.L @Rm+,Rn 0110nnnnmmmm0110
21
+ MOV.B R0,@(disp*,Rn) 10000000nnnndddd
22
+ MOV.W R0,@(disp*,Rn) 10000001nnnndddd
23
+ MOV.L Rm,@(disp*,Rn) 0001nnnnmmmmdddd
24
+ MOV.B @(disp*,Rm),R0 10000100mmmmdddd
25
+ MOV.W @(disp*,Rm),R0 10000101mmmmdddd
26
+ MOV.L @(disp*,Rm),Rn 0101nnnnmmmmdddd
27
+ MOV.B Rm,@(R0,Rn) 0000nnnnmmmm0100
28
+ MOV.W Rm,@(R0,Rn) 0000nnnnmmmm0101
29
+ MOV.L Rm,@(R0,Rn) 0000nnnnmmmm0110
30
+ MOV.B @(R0,Rm),Rn 0000nnnnmmmm1100
31
+ MOV.W @(R0,Rm),Rn 0000nnnnmmmm1101
32
+ MOV.L @(R0,Rm),Rn 0000nnnnmmmm1110
33
+ MOV.B R0,@(disp*,GBR) 11000000dddddddd
34
+ MOV.W R0,@(disp*,GBR) 11000001dddddddd
35
+ MOV.L R0,@(disp*,GBR) 11000010dddddddd
36
+ MOV.B @(disp*,GBR),R0 11000100dddddddd
37
+ MOV.W @(disp*,GBR),R0 11000101dddddddd
38
+ MOV.L @(disp*,GBR),R0 11000110dddddddd
39
+ MOVA @(disp*,PC),R0 11000111dddddddd
40
+ MOVCO.L R0,@Rn 0000nnnn01110011
41
+ MOVLI.L @Rm,R0 0000mmmm01100011
42
+ MOVUA.L @Rm,R0 0100mmmm10101001
43
+ MOVUA.L @Rm+,R0 0100mmmm11101001
44
+ MOVT Rn 0000nnnn00101001
45
+ SWAP.B Rm,Rn 0110nnnnmmmm1000
46
+ SWAP.W Rm,Rn 0110nnnnmmmm1001
47
+ XTRCT Rm,Rn 0010nnnnmmmm1101
48
+ ADD_r Rm,Rn 0011nnnnmmmm1100
49
+ ADD_i #imm,Rn 0111nnnniiiiiiii
50
+ ADDC Rm,Rn 0011nnnnmmmm1110
51
+ ADDV Rm,Rn 0011nnnnmmmm1111
52
+ CMP/EQ #imm,R0 10001000iiiiiiii
53
+ CMP/EQ Rm,Rn 0011nnnnmmmm0000
54
+ CMP/HS Rm,Rn 0011nnnnmmmm0010
55
+ CMP/GE Rm,Rn 0011nnnnmmmm0011
56
+ CMP/HI Rm,Rn 0011nnnnmmmm0110
57
+ CMP/GT Rm,Rn 0011nnnnmmmm0111
58
+ CMP/PZ Rn 0100nnnn00010001
59
+ CMP/PL Rn 0100nnnn00010101
60
+ CMP/STR Rm,Rn 0010nnnnmmmm1100
61
+ DIV1 Rm,Rn 0011nnnnmmmm0100
62
+ DIV0S Rm,Rn 0010nnnnmmmm0111
63
+ DIV0U 0000000000011001
64
+ DMULS.L Rm,Rn 0011nnnnmmmm1101
65
+ DMULU.L Rm,Rn 0011nnnnmmmm0101
66
+ DT Rn 0100nnnn00010000
67
+ EXTS.B Rm,Rn 0110nnnnmmmm1110
68
+ EXTS.W Rm,Rn 0110nnnnmmmm1111
69
+ EXTU.B Rm,Rn 0110nnnnmmmm1100
70
+ EXTU.W Rm,Rn 0110nnnnmmmm1101
71
+ MAC.L @Rm+,@Rn+ 0000nnnnmmmm1111
72
+ MAC.W @Rm+,@Rn+ 0100nnnnmmmm1111
73
+ MUL.L Rm,Rn 0000nnnnmmmm0111
74
+ MULS.W Rm,Rn 0010nnnnmmmm1111
75
+ MULU.W Rm,Rn 0010nnnnmmmm1110
76
+ NEG Rm,Rn 0110nnnnmmmm1011
77
+ NEGC Rm,Rn 0110nnnnmmmm1010
78
+ SUB Rm,Rn 0011nnnnmmmm1000
79
+ SUBC Rm,Rn 0011nnnnmmmm1010
80
+ SUBV Rm,Rn 0011nnnnmmmm1011
81
+ AND Rm,Rn 0010nnnnmmmm1001
82
+ AND_i #imm,R0 11001001iiiiiiii
83
+ AND.B #imm,@(R0,GBR) 11001101iiiiiiii
84
+ NOT Rm,Rn 0110nnnnmmmm0111
85
+ OR Rm,Rn 0010nnnnmmmm1011
86
+ OR_i #imm,R0 11001011iiiiiiii
87
+ OR.B #imm,@(R0,GBR) 11001111iiiiiiii
88
+ TAS.B @Rn 0100nnnn00011011
89
+ TST Rm,Rn 0010nnnnmmmm1000
90
+ TST_i #imm,R0 11001000iiiiiiii
91
+ TST.B #imm,@(R0,GBR) 11001100iiiiiiii
92
+ XOR Rm,Rn 0010nnnnmmmm1010
93
+ XOR_i #imm,R0 11001010iiiiiiii
94
+ XOR.B #imm,@(R0,GBR) 11001110iiiiiiii
95
+ ROTL Rn 0100nnnn00000100
96
+ ROTR Rn 0100nnnn00000101
97
+ ROTCL Rn 0100nnnn00100100
98
+ ROTCR Rn 0100nnnn00100101
99
+ SHAD Rm,Rn 0100nnnnmmmm1100
100
+ SHAL Rn 0100nnnn00100000
101
+ SHAR Rn 0100nnnn00100001
102
+ SHLD Rm,Rn 0100nnnnmmmm1101
103
+ SHLL Rn 0100nnnn00000000
104
+ SHLR Rn 0100nnnn00000001
105
+ SHLL2 Rn 0100nnnn00001000
106
+ SHLR2 Rn 0100nnnn00001001
107
+ SHLL8 Rn 0100nnnn00011000
108
+ SHLR8 Rn 0100nnnn00011001
109
+ SHLL16 Rn 0100nnnn00101000
110
+ SHLR16 Rn 0100nnnn00101001
111
+ BF label 10001011dddddddd
112
+ BF/S label 10001111dddddddd
113
+ BT label 10001001dddddddd
114
+ BT/S label 10001101dddddddd
115
+ BRA label 1010dddddddddddd
116
+ BRAF Rn 0000nnnn00100011
117
+ BSR label 1011dddddddddddd
118
+ BSRF Rn 0000nnnn00000011
119
+ JMP @Rn 0100nnnn00101011
120
+ JSR @Rn 0100nnnn00001011
121
+ RTS 0000000000001011
122
+ CLRMAC 0000000000101000
123
+ CLRS 0000000001001000
124
+ CLRT 0000000000001000
125
+ ICBI @Rn 0000nnnn11100011
126
+ LDC Rm,SR 0100mmmm00001110
127
+ LDC Rm,GBR 0100mmmm00011110
128
+ LDC Rm,VBR 0100mmmm00101110
129
+ LDC Rm,SGR 0100mmmm00111010
130
+ LDC Rm,SSR 0100mmmm00111110
131
+ LDC Rm,SPC 0100mmmm01001110
132
+ LDC Rm,DBR 0100mmmm11111010
133
+ LDC Rm,Rn_BANK 0100mmmm1nnn1110
134
+ LDC.L @Rm+,SR 0100mmmm00000111
135
+ LDC.L @Rm+,GBR 0100mmmm00010111
136
+ LDC.L @Rm+,VBR 0100mmmm00100111
137
+ LDC.L @Rm+,SGR 0100mmmm00110110
138
+ LDC.L @Rm+,SSR 0100mmmm00110111
139
+ LDC.L @Rm+,SPC 0100mmmm01000111
140
+ LDC.L @Rm+,DBR 0100mmmm11110110
141
+ LDC.L @Rm+,Rn_BANK 0100mmmm1nnn0111
142
+ LDS Rm,MACH 0100mmmm00001010
143
+ LDS Rm,MACL 0100mmmm00011010
144
+ LDS Rm,PR 0100mmmm00101010
145
+ LDS.L @Rm+,MACH 0100mmmm00000110
146
+ LDS.L @Rm+,MACL 0100mmmm00010110
147
+ LDS.L @Rm+,PR 0100mmmm00100110
148
+ LDTLB 0000000000111000
149
+ MOVCA.L R0,@Rn 0000nnnn11000011
150
+ NOP 0000000000001001
151
+ OCBI @Rn 0000nnnn10010011
152
+ OCBP @Rn 0000nnnn10100011
153
+ OCBWB @Rn 0000nnnn10110011
154
+ PREF @Rn 0000nnnn10000011
155
+ PREFI @Rn 0000nnnn11010011
156
+ RTE 0000000000101011
157
+ SETS 0000000001011000
158
+ SETT 0000000000011000
159
+ SLEEP 0000000000011011
160
+ STC SR,Rn 0000nnnn00000010
161
+ STC GBR,Rn 0000nnnn00010010
162
+ STC VBR,Rn 0000nnnn00100010
163
+ STC SSR,Rn 0000nnnn00110010
164
+ STC SPC,Rn 0000nnnn01000010
165
+ STC SGR,Rn 0000nnnn00111010
166
+ STC DBR,Rn 0000nnnn11111010
167
+ STC Rm_BANK,Rn 0000nnnn1mmm0010
168
+ STC.L SR,@-Rn 0100nnnn00000011
169
+ STC.L GBR,@-Rn 0100nnnn00010011
170
+ STC.L VBR,@-Rn 0100nnnn00100011
171
+ STC.L SSR,@-Rn 0100nnnn00110011
172
+ STC.L SPC,@-Rn 0100nnnn01000011
173
+ STC.L SGR,@-Rn 0100nnnn00110010
174
+ STC.L DBR,@-Rn 0100nnnn11110010
175
+ STC.L Rm_BANK,@-Rn 0100nnnn1mmm0011
176
+ STS MACH,Rn 0000nnnn00001010
177
+ STS MACL,Rn 0000nnnn00011010
178
+ STS PR,Rn 0000nnnn00101010
179
+ STS.L MACH,@-Rn 0100nnnn00000010
180
+ STS.L MACL,@-Rn 0100nnnn00010010
181
+ STS.L PR,@-Rn 0100nnnn00100010
182
+ SYNCO 0000000010101011
183
+ TRAPA #imm 11000011iiiiiiii
184
+ FLDI0 FRn 1111nnnn10001101
185
+ FLDI1 FRn 1111nnnn10011101
186
+ FMOV FRm,FRn 1111nnnnmmmm1100
187
+ FMOV.S @Rm,FRn 1111nnnnmmmm1000
188
+ FMOV.S @(R0,Rm),FRn 1111nnnnmmmm0110
189
+ FMOV.S @Rm+,FRn 1111nnnnmmmm1001
190
+ FMOV.S FRm,@Rn 1111nnnnmmmm1010
191
+ FMOV.S FRm,@-Rn 1111nnnnmmmm1011
192
+ FMOV.S FRm,@(R0,Rn) 1111nnnnmmmm0111
193
+ FMOV DRm,DRn 1111nnn0mmm01100
194
+ FMOV @Rm,DRn 1111nnn0mmmm1000
195
+ FMOV @(R0,Rm),DRn 1111nnn0mmmm0110
196
+ FMOV @Rm+,DRn 1111nnn0mmmm1001
197
+ FMOV DRm,@Rn 1111nnnnmmm01010
198
+ FMOV DRm,@-Rn 1111nnnnmmm01011
199
+ FMOV DRm,@(R0,Rn) 1111nnnnmmm00111
200
+ FLDS FRm,FPUL 1111mmmm00011101
201
+ FSTS FPUL,FRn 1111nnnn00001101
202
+ FABS FRn 1111nnnn01011101
203
+ FADD FRm,FRn 1111nnnnmmmm0000
204
+ FCMP/EQ FRm,FRn 1111nnnnmmmm0100
205
+ FCMP/GT FRm,FRn 1111nnnnmmmm0101
206
+ FDIV FRm,FRn 1111nnnnmmmm0011
207
+ FLOAT FPUL,FRn 1111nnnn00101101
208
+ FMAC FR0,FRm,FRn 1111nnnnmmmm1110
209
+ FMUL FRm,FRn 1111nnnnmmmm0010
210
+ FNEG FRn 1111nnnn01001101
211
+ FSQRT FRn 1111nnnn01101101
212
+ FSUB FRm,FRn 1111nnnnmmmm0001
213
+ FTRC FRm,FPUL 1111mmmm00111101
214
+ FABS DRn 1111nnn001011101
215
+ FADD DRm,DRn 1111nnn0mmm00000
216
+ FCMP/EQ DRm,DRn 1111nnn0mmm00100
217
+ FCMP/GT DRm,DRn 1111nnn0mmm00101
218
+ FDIV DRm,DRn 1111nnn0mmm00011
219
+ FCNVDS DRm,FPUL 1111mmm010111101
220
+ FCNVSD FPUL,DRn 1111nnn010101101
221
+ FLOAT FPUL,DRn 1111nnn000101101
222
+ FMUL DRm,DRn 1111nnn0mmm00010
223
+ FNEG DRn 1111nnn001001101
224
+ FSQRT DRn 1111nnn001101101
225
+ FSUB DRm,DRn 1111nnn0mmm00001
226
+ FTRC DRm,FPUL 1111mmm000111101
227
+ LDS Rm,FPSCR 0100mmmm01101010
228
+ LDS Rm,FPUL 0100mmmm01011010
229
+ LDS.L @Rm+,FPSCR 0100mmmm01100110
230
+ LDS.L @Rm+,FPUL 0100mmmm01010110
231
+ STS FPSCR,Rn 0000nnnn01101010
232
+ STS FPUL,Rn 0000nnnn01011010
233
+ STS.L FPSCR,@-Rn 0100nnnn01100010
234
+ STS.L FPUL,@-Rn 0100nnnn01010010
235
+ FMOV DRm,XDn 1111nnn1mmm01100
236
+ FMOV XDm,DRn 1111nnn0mmm11100
237
+ FMOV XDm,XDn 1111nnn1mmm11100
238
+ FMOV @Rm,XDn 1111nnn1mmmm1000
239
+ FMOV @Rm+,XDn 1111nnn1mmmm1001
240
+ FMOV @(R0,Rm),XDn 1111nnn1mmmm0110
241
+ FMOV XDm,@Rn 1111nnnnmmm11010
242
+ FMOV XDm,@-Rn 1111nnnnmmm11011
243
+ FMOV XDm,@(R0,Rn) 1111nnnnmmm10111
244
+ FIPR FVm,FVn 1111nnmm11101101
245
+ FTRV XMTRX,FVn 1111nn0111111101
246
+ FRCHG 1111101111111101
247
+ FSCHG 1111001111111101
248
+ FPCHG 1111011111111101
249
+ FSRRA FRn 1111nnnn01111101
250
+ FSCA FPUL,DRn 1111nnn011111101
251
+ MOV.B R0,@Rn+ 0100nnnn10001011
252
+ MOV.W R0,@Rn+ 0100nnnn10011011
253
+ MOV.L R0,@Rn+ 0100nnnn10101011
254
+ MOV.B @-Rm,R0 0100mmmm11001011
255
+ MOV.W @-Rm,R0 0100mmmm11011011
256
+ MOV.L @-Rm,R0 0100mmmm11101011
257
+ MOV.B Rm,@(disp12,Rn) 0011nnnnmmmm00010000dddddddddddd
258
+ MOV.W Rm,@(disp12,Rn) 0011nnnnmmmm00010001dddddddddddd
259
+ MOV.L Rm,@(disp12,Rn) 0011nnnnmmmm00010010dddddddddddd
260
+ MOV.B @(disp12,Rm),Rn 0011nnnnmmmm00010100dddddddddddd
261
+ MOV.W @(disp12,Rm),Rn 0011nnnnmmmm00010101dddddddddddd
262
+ MOV.L @(disp12,Rm),Rn 0011nnnnmmmm00010110dddddddddddd
263
+ MOVI20 #imm20,Rn 0000nnnniiii0000iiiiiiiiiiiiiiii
264
+ MOVI20S #imm20,Rn 0000nnnniiii0001iiiiiiiiiiiiiiii
265
+ MOVML.L Rm,@-R15 0100mmmm11110001
266
+ MOVML.L @R15+,Rn 0100nnnn11110101
267
+ MOVMU.L Rm,@-R15 0100mmmm11110000
268
+ MOVMU.L @R15+,Rn 0100nnnn11110100
269
+ MOVRT Rn 0000nnnn00111001
270
+ MOVU.B @(disp12,Rm),Rn 0011nnnnmmmm00011000dddddddddddd
271
+ MOVU.W @(disp12,Rm),Rn 0011nnnnmmmm00011001dddddddddddd
272
+ NOTT 0000000001101000
273
+ CLIPS.B Rn 0100nnnn10010001
274
+ CLIPS.W Rn 0100nnnn10010101
275
+ CLIPU.B Rn 0100nnnn10000001
276
+ CLIPU.W Rn 0100nnnn10000101
277
+ DIVS R0,Rn 0100nnnn10010100
278
+ DIVU R0,Rn 0100nnnn10000100
279
+ MULR R0,Rn 0100nnnn10000000
280
+ JSR/N @Rm 0100mmmm01001011
281
+ JSR/N @@(disp8,TBR) 10000011dddddddd
282
+ RTS/N 0000000001101011
283
+ RTV/N Rm 0000mmmm01111011
284
+ LDBANK @Rm,R0 0100mmmm11100101
285
+ LDC Rm,TBR 0100mmmm01001010
286
+ RESBANK 0000000001011011
287
+ STBANK R0,@Rn 0100nnnn11100001
288
+ STC TBR,Rn 0000nnnn01001010
289
+ FMOV.S @(disp12,Rm),FRn 0011nnnnmmmm00010111dddddddddddd
290
+ FMOV.D @(disp12,Rm),DRn 0011nnn0mmmm00010111dddddddddddd
291
+ FMOV.S FRm,@(disp12,Rn) 0011nnnnmmmm00010011dddddddddddd
292
+ FMOV.D DRm,@(disp12,Rn) 0011nnnnmmm000010011dddddddddddd
293
+ FMOV.S FRm,@(disp12,Rn) 0011nnnnmmmm00010011dddddddddddd
294
+ FMOV.D DRm,@(disp12,Rn) 0011nnnnmmm000010011dddddddddddd
295
+ BAND.B #imm3,@(disp12,Rn) 0011nnnn0iii10010100dddddddddddd
296
+ BANDNOT.B #imm3,@(disp12,Rn) 0011nnnn0iii10011100dddddddddddd
297
+ BCLR.B #imm3,@(disp12,Rn) 0011nnnn0iii10010000dddddddddddd
298
+ BCLR #imm3,Rn 10000110nnnn0iii
299
+ BLD.B #imm3,@(disp12,Rn) 0011nnnn0iii10010011dddddddddddd
300
+ BLD #imm3,Rn 10000111nnnn1iii
301
+ BLDNOT.B #imm3,@(disp12,Rn) 0011nnnn0iii10011011dddddddddddd
302
+ BOR.B #imm3,@(disp12,Rn) 0011nnnn0iii10010101dddddddddddd
303
+ BORNOT.B #imm3,@(disp12,Rn) 0011nnnn0iii10011101dddddddddddd
304
+ BSET.B #imm3,@(disp12,Rn) 0011nnnn0iii10010001dddddddddddd
305
+ BSET #imm3,Rn 10000110nnnn1iii
306
+ BST.B #imm3,@(disp12,Rn) 0011nnnn0iii10010010dddddddddddd
307
+ BST #imm3,Rn 10000111nnnn0iii
308
+ BXOR.B #imm3,@(disp12,Rn) 0011nnnn0iii10010110dddddddddddd
309
+ LDRE @(disp,PC) 10001110dddddddd
310
+ LDRS @(disp,PC) 10001100dddddddd
311
+ SETRC Rm 0100mmmm00010100
312
+ SETRC #imm 10000010iiiiiiii
313
+ LDRC #imm 10001010iiiiiiii
314
+ EOF
315
+
316
+ code_list.each_line { |line|
317
+ l = line.split
318
+ l[2] = l[1] if (l.length < 3)
319
+ if l[2].length > 16 then
320
+ l[2] = l[2][0..15]
321
+ end
322
+ if l[2][0..3].to_i(2) < 8 || l[2][0..3].to_i(2) == 15 then
323
+ b = l[2][0..3] + l[2][12..15]
324
+ else
325
+ b = l[2][0..7]
326
+ end
327
+ if b =~ /^\d+$/ then
328
+ no = b.to_i(2)
329
+ if no == 0x00 || no == 0x01 || no == 0x31 || no == 0x39 then
330
+ # SH2A 32bit instructions prefix
331
+ next
332
+ end
333
+ next if out[no] == "op" + l[0]
334
+ if (no >= 0x20 && no <= 0x22) || (no >= 0x60 && no <= 0x62)then
335
+ l[0] = "MOV_rind"
336
+ end
337
+ if no >= 0x24 && no <= 0x26 then
338
+ l[0] = "MOV_rpd"
339
+ end
340
+ if no >= 0x64 && no <= 0x66 then
341
+ l[0] = "MOV_rpi"
342
+ end
343
+ if no == 0x80 || no == 0x81 || no == 0x84 || no == 0x85 then
344
+ l[0] = "MOV_BW_dsp"
345
+ end
346
+ if no == 0x88 then
347
+ l[0] = "CMP_EQi"
348
+ end
349
+ if no == 0xc0 || no == 0xc1 || no == 0xc2 || no == 0xc4 || no == 0xc5 || no == 0xc6 then
350
+ l[0] = "MOV_gbr"
351
+ end
352
+ if out[no] == "NULL" then
353
+ out[no] = "op" + l[0]
354
+ else
355
+ hi = b.to_i(2) / 16
356
+ lo = b.to_i(2) % 16
357
+ if (hi < 0x8) || (hi >= 0x0f) then
358
+ out[no] = "op" + hi.to_s(16) + "xx" + lo.to_s(16)
359
+ else
360
+ out[no] = "op" + hi.to_s(16) + lo.to_s(16) + "xx"
361
+ end
362
+ end
363
+ else
364
+ n = (l[2][0..3].to_i(2)) * 16
365
+ if n != 0x80 && n != 0xc0 then
366
+ if n == 0x10 || n == 0x50 then
367
+ l[0] = "MOV_L_dsp"
368
+ end
369
+ if n == 0x90 || n == 0xd0 then
370
+ l[0] = "MOV_pc"
371
+ end
372
+ 16.times { |i|
373
+ out[n + i] = "op" + l[0]
374
+ }
375
+ end
376
+ end
377
+ }
378
+ code = 0
379
+ print "bool (*decode[])(uint16_t code, uint64_t address, MCInst *MI, cs_mode mode, sh_info *info, cs_detail *detail) = {\n"
380
+ (256 / 8).times { |i|
381
+ bit = "0000000" + code.to_s(2)
382
+ print "\t/// ", bit[-8,8], "\n\t"
383
+ 8.times { |j|
384
+ o = out[i * 8 + j].gsub(/[\.\/]/, '_')
385
+ print o, ", "
386
+ code = code.succ
387
+ }
388
+ print "\n"
389
+ }
390
+ print "};\n"
@@ -0,0 +1,63 @@
1
+ //===-- Sparc.h - Top-level interface for Sparc representation --*- C++ -*-===//
2
+ //
3
+ // The LLVM Compiler Infrastructure
4
+ //
5
+ // This file is distributed under the University of Illinois Open Source
6
+ // License. See LICENSE.TXT for details.
7
+ //
8
+ //===----------------------------------------------------------------------===//
9
+ //
10
+ // This file contains the entry points for global functions defined in the LLVM
11
+ // Sparc back-end.
12
+ //
13
+ //===----------------------------------------------------------------------===//
14
+
15
+ /* Capstone Disassembly Engine */
16
+ /* By Nguyen Anh Quynh <aquynh@gmail.com>, 2013-2015 */
17
+
18
+ #ifndef CS_SPARC_TARGET_SPARC_H
19
+ #define CS_SPARC_TARGET_SPARC_H
20
+
21
+ #include "capstone/sparc.h"
22
+
23
+ inline static const char *SPARCCondCodeToString(sparc_cc CC)
24
+ {
25
+ switch (CC) {
26
+ default: return NULL; // unreachable
27
+ case SPARC_CC_ICC_A: return "a";
28
+ case SPARC_CC_ICC_N: return "n";
29
+ case SPARC_CC_ICC_NE: return "ne";
30
+ case SPARC_CC_ICC_E: return "e";
31
+ case SPARC_CC_ICC_G: return "g";
32
+ case SPARC_CC_ICC_LE: return "le";
33
+ case SPARC_CC_ICC_GE: return "ge";
34
+ case SPARC_CC_ICC_L: return "l";
35
+ case SPARC_CC_ICC_GU: return "gu";
36
+ case SPARC_CC_ICC_LEU: return "leu";
37
+ case SPARC_CC_ICC_CC: return "cc";
38
+ case SPARC_CC_ICC_CS: return "cs";
39
+ case SPARC_CC_ICC_POS: return "pos";
40
+ case SPARC_CC_ICC_NEG: return "neg";
41
+ case SPARC_CC_ICC_VC: return "vc";
42
+ case SPARC_CC_ICC_VS: return "vs";
43
+
44
+ case SPARC_CC_FCC_A: return "a";
45
+ case SPARC_CC_FCC_N: return "n";
46
+ case SPARC_CC_FCC_U: return "u";
47
+ case SPARC_CC_FCC_G: return "g";
48
+ case SPARC_CC_FCC_UG: return "ug";
49
+ case SPARC_CC_FCC_L: return "l";
50
+ case SPARC_CC_FCC_UL: return "ul";
51
+ case SPARC_CC_FCC_LG: return "lg";
52
+ case SPARC_CC_FCC_NE: return "ne";
53
+ case SPARC_CC_FCC_E: return "e";
54
+ case SPARC_CC_FCC_UE: return "ue";
55
+ case SPARC_CC_FCC_GE: return "ge";
56
+ case SPARC_CC_FCC_UGE: return "uge";
57
+ case SPARC_CC_FCC_LE: return "le";
58
+ case SPARC_CC_FCC_ULE: return "ule";
59
+ case SPARC_CC_FCC_O: return "o";
60
+ }
61
+ }
62
+
63
+ #endif