instructions_0f.h 44 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000
  1. #pragma once
  2. #include <stdint.h>
  3. #include "shared.h"
  4. #include "cpu.h"
  5. #include "instructions.h"
  6. #define DEFINE_MODRM_INSTR_READ16(name, fun) \
  7. void name ## _mem(int32_t addr, int32_t r) { int32_t ___ = safe_read16(addr); fun; } \
  8. void name ## _reg(int32_t r1, int32_t r) { int32_t ___ = read_reg16(r1); fun; }
  9. #define DEFINE_MODRM_INSTR_READ32(name, fun) \
  10. void name ## _mem(int32_t addr, int32_t r) { int32_t ___ = safe_read32s(addr); fun; } \
  11. void name ## _reg(int32_t r1, int32_t r) { int32_t ___ = read_reg32(r1); fun; }
  12. #define DEFINE_MODRM_INSTR_IMM_READ_WRITE_16(name, fun) \
  13. void name ## _mem(int32_t addr, int32_t r, int32_t imm) { SAFE_READ_WRITE16(addr, fun) } \
  14. void name ## _reg(int32_t r1, int32_t r, int32_t imm) { int32_t ___ = read_reg16(r1); write_reg16(r1, fun); }
  15. #define DEFINE_MODRM_INSTR_IMM_READ_WRITE_32(name, fun) \
  16. void name ## _mem(int32_t addr, int32_t r, int32_t imm) { SAFE_READ_WRITE32(addr, fun) } \
  17. void name ## _reg(int32_t r1, int32_t r, int32_t imm) { int32_t ___ = read_reg32(r1); write_reg32(r1, fun); }
  18. #define DEFINE_MODRM_INSTR_READ_WRITE_8(name, fun) \
  19. void name ## _mem(int32_t addr, int32_t r) { SAFE_READ_WRITE8(addr, fun) } \
  20. void name ## _reg(int32_t r1, int32_t r) { int32_t ___ = read_reg8(r1); write_reg8(r1, fun); }
  21. #define DEFINE_MODRM_INSTR_READ_WRITE_16(name, fun) \
  22. void name ## _mem(int32_t addr, int32_t r) { SAFE_READ_WRITE16(addr, fun) } \
  23. void name ## _reg(int32_t r1, int32_t r) { int32_t ___ = read_reg16(r1); write_reg16(r1, fun); }
  24. #define DEFINE_MODRM_INSTR_READ_WRITE_32(name, fun) \
  25. void name ## _mem(int32_t addr, int32_t r) { SAFE_READ_WRITE32(addr, fun) } \
  26. void name ## _reg(int32_t r1, int32_t r) { int32_t ___ = read_reg32(r1); write_reg32(r1, fun); }
  27. #define DEFINE_SSE_SPLIT(name, mem_fn, reg_fn) \
  28. void name ## _reg(int32_t r1, int32_t r2) { name(reg_fn(r1), r2); } \
  29. void name ## _mem(int32_t addr, int32_t r) { name(mem_fn(addr), r); } \
  30. #define DEFINE_SSE_SPLIT_IMM(name, mem_fn, reg_fn) \
  31. void name ## _reg(int32_t r1, int32_t r2, int32_t imm) { name(reg_fn(r1), r2, imm); } \
  32. void name ## _mem(int32_t addr, int32_t r, int32_t imm) { name(mem_fn(addr), r, imm); } \
  33. #define DEFINE_SSE_SPLIT_WRITE(name, mem_fn, reg_fn) \
  34. void name ## _reg(int32_t r1, int32_t r2) { reg_fn(r1, name(r2)); } \
  35. void name ## _mem(int32_t addr, int32_t r) { mem_fn(addr, name(r)); } \
  36. void instr_0F00_0_mem(int32_t addr);
  37. void instr_0F00_0_reg(int32_t r);
  38. void instr_0F00_1_mem(int32_t addr);
  39. void instr_0F00_1_reg(int32_t r);
  40. void instr_0F00_2_mem(int32_t addr);
  41. void instr_0F00_2_reg(int32_t r);
  42. void instr_0F00_3_mem(int32_t addr);
  43. void instr_0F00_3_reg(int32_t r);
  44. void instr_0F00_4_mem(int32_t addr);
  45. void instr_0F00_4_reg(int32_t r);
  46. void instr_0F00_5_mem(int32_t addr);
  47. void instr_0F00_5_reg(int32_t r);
  48. void instr_0F01_0_reg(int32_t r);
  49. void instr_0F01_0_mem(int32_t addr);
  50. void instr_0F01_1_reg(int32_t r);
  51. void instr_0F01_1_mem(int32_t addr);
  52. void instr_0F01_2_reg(int32_t r);
  53. void instr_0F01_2_mem(int32_t addr);
  54. void instr_0F01_3_reg(int32_t r);
  55. void instr_0F01_3_mem(int32_t addr);
  56. void instr_0F01_4_reg(int32_t r);
  57. void instr_0F01_4_mem(int32_t addr);
  58. void lmsw(int32_t new_cr0);
  59. void instr_0F01_6_reg(int32_t r);
  60. void instr_0F01_6_mem(int32_t addr);
  61. void instr_0F01_7_reg(int32_t r);
  62. void instr_0F01_7_mem(int32_t addr);
  63. void instr16_0F02_mem(int32_t addr, int32_t r);
  64. void instr16_0F02_reg(int32_t r1, int32_t r);
  65. void instr32_0F02_mem(int32_t addr, int32_t r);
  66. void instr32_0F02_reg(int32_t r1, int32_t r);
  67. void instr16_0F03_mem(int32_t addr, int32_t r);
  68. void instr16_0F03_reg(int32_t r1, int32_t r);
  69. void instr32_0F03_mem(int32_t addr, int32_t r);
  70. void instr32_0F03_reg(int32_t r1, int32_t r);
  71. void instr_0F04(void);
  72. void instr_0F05(void);
  73. void instr_0F06(void);
  74. void instr_0F07(void);
  75. void instr_0F08(void);
  76. void instr_0F09(void);
  77. void instr_0F0A(void);
  78. void instr_0F0B(void);
  79. void instr_0F0C(void);
  80. void instr_0F0D(void);
  81. void instr_0F0E(void);
  82. void instr_0F0F(void);
  83. void instr_0F10(union reg128 source, int32_t r);
  84. void instr_0F10_reg(int32_t r1, int32_t r2);
  85. void instr_0F10_mem(int32_t addr, int32_t r);
  86. void instr_F30F10_reg(int32_t r1, int32_t r2);
  87. void instr_F30F10_mem(int32_t addr, int32_t r);
  88. void instr_660F10(union reg128 source, int32_t r);
  89. void instr_660F10_reg(int32_t r1, int32_t r2);
  90. void instr_660F10_mem(int32_t addr, int32_t r);
  91. void instr_F20F10_reg(int32_t r1, int32_t r2);
  92. void instr_F20F10_mem(int32_t addr, int32_t r);
  93. void instr_0F11_reg(int32_t r1, int32_t r2);
  94. void instr_0F11_mem(int32_t addr, int32_t r);
  95. void instr_F30F11_reg(int32_t rm_dest, int32_t reg_src);
  96. void instr_F30F11_mem(int32_t addr, int32_t r);
  97. void instr_660F11_reg(int32_t r1, int32_t r2);
  98. void instr_660F11_mem(int32_t addr, int32_t r);
  99. void instr_F20F11_reg(int32_t r1, int32_t r2);
  100. void instr_F20F11_mem(int32_t addr, int32_t r);
  101. void instr_0F12_mem(int32_t addr, int32_t r);
  102. void instr_0F12_reg(int32_t r1, int32_t r2);
  103. void instr_660F12_reg(int32_t r1, int32_t r);
  104. void instr_660F12_mem(int32_t addr, int32_t r);
  105. void instr_F20F12_mem(int32_t addr, int32_t r);
  106. void instr_F20F12_reg(int32_t r1, int32_t r2);
  107. void instr_F30F12_mem(int32_t addr, int32_t r);
  108. void instr_F30F12_reg(int32_t r1, int32_t r2);
  109. void instr_0F13_mem(int32_t addr, int32_t r);
  110. void instr_0F13_reg(int32_t r1, int32_t r2);
  111. void instr_660F13_reg(int32_t r1, int32_t r);
  112. void instr_660F13_mem(int32_t addr, int32_t r);
  113. void instr_0F14(union reg64 source, int32_t r);
  114. void instr_0F14_reg(int32_t r1, int32_t r2);
  115. void instr_0F14_mem(int32_t addr, int32_t r);
  116. void instr_660F14(union reg64 source, int32_t r);
  117. void instr_660F14_reg(int32_t r1, int32_t r2);
  118. void instr_660F14_mem(int32_t addr, int32_t r);
  119. void instr_0F15(union reg128 source, int32_t r);
  120. void instr_0F15_reg(int32_t r1, int32_t r2);
  121. void instr_0F15_mem(int32_t addr, int32_t r);
  122. void instr_660F15(union reg128 source, int32_t r);
  123. void instr_660F15_reg(int32_t r1, int32_t r2);
  124. void instr_660F15_mem(int32_t addr, int32_t r);
  125. void instr_0F16_mem(int32_t addr, int32_t r);
  126. void instr_0F16_reg(int32_t r1, int32_t r2);
  127. void instr_660F16_mem(int32_t addr, int32_t r);
  128. void instr_660F16_reg(int32_t r1, int32_t r2);
  129. void instr_0F17_mem(int32_t addr, int32_t r);
  130. void instr_0F17_reg(int32_t r1, int32_t r2);
  131. void instr_660F17_mem(int32_t addr, int32_t r);
  132. void instr_660F17_reg(int32_t r1, int32_t r2);
  133. void instr_0F18_reg(int32_t r1, int32_t r2);
  134. void instr_0F18_mem(int32_t addr, int32_t r);
  135. void instr_0F19(void);
  136. void instr_0F1A(void);
  137. void instr_0F1B(void);
  138. void instr_0F1C(void);
  139. void instr_0F1D(void);
  140. void instr_0F1E(void);
  141. void instr_0F1F_reg(int32_t r1, int32_t r2);
  142. void instr_0F1F_mem(int32_t addr, int32_t r);
  143. void instr_0F20(int32_t r, int32_t creg);
  144. void instr_0F21(int32_t r, int32_t dreg_index);
  145. void instr_0F22(int32_t r, int32_t creg);
  146. void instr_0F23(int32_t r, int32_t dreg_index);
  147. void instr_0F24(void);
  148. void instr_0F25(void);
  149. void instr_0F26(void);
  150. void instr_0F27(void);
  151. void instr_0F28(union reg128 source, int32_t r);
  152. void instr_0F28_reg(int32_t r1, int32_t r2);
  153. void instr_0F28_mem(int32_t addr, int32_t r);
  154. void instr_660F28(union reg128 source, int32_t r);
  155. void instr_660F28_reg(int32_t r1, int32_t r2);
  156. void instr_660F28_mem(int32_t addr, int32_t r);
  157. void instr_0F29_mem(int32_t addr, int32_t r);
  158. void instr_0F29_reg(int32_t r1, int32_t r2);
  159. void instr_660F29_mem(int32_t addr, int32_t r);
  160. void instr_660F29_reg(int32_t r1, int32_t r2);
  161. void instr_0F2A(void);
  162. void instr_0F2B_reg(int32_t r1, int32_t r2);
  163. void instr_0F2B_mem(int32_t addr, int32_t r);
  164. void instr_660F2B_reg(int32_t r1, int32_t r2);
  165. void instr_660F2B_mem(int32_t addr, int32_t r);
  166. void instr_0F2C_mem(int32_t addr, int32_t r);
  167. void instr_0F2C_reg(int32_t r1, int32_t r2);
  168. void instr_660F2C_mem(int32_t addr, int32_t r);
  169. void instr_660F2C_reg(int32_t r1, int32_t r2);
  170. void instr_F20F2C(union reg64 source, int32_t r);
  171. void instr_F20F2C_reg(int32_t r1, int32_t r2);
  172. void instr_F20F2C_mem(int32_t addr, int32_t r);
  173. void instr_F30F2C_mem(int32_t addr, int32_t r);
  174. void instr_F30F2C_reg(int32_t r1, int32_t r2);
  175. void instr_0F2D(void);
  176. void instr_0F2E(void);
  177. void instr_0F2F(void);
  178. void instr_0F30(void);
  179. void instr_0F31(void);
  180. void instr_0F32(void);
  181. void instr_0F33(void);
  182. void instr_0F34(void);
  183. void instr_0F35(void);
  184. void instr_0F36(void);
  185. void instr_0F37(void);
  186. void instr_0F38(void);
  187. void instr_0F39(void);
  188. void instr_0F3A(void);
  189. void instr_0F3B(void);
  190. void instr_0F3C(void);
  191. void instr_0F3D(void);
  192. void instr_0F3E(void);
  193. void instr_0F3F(void);
  194. void instr16_0F40_mem(int32_t addr, int32_t r);
  195. void instr16_0F40_reg(int32_t r1, int32_t r);
  196. void instr32_0F40_mem(int32_t addr, int32_t r);
  197. void instr32_0F40_reg(int32_t r1, int32_t r);
  198. void instr16_0F41_mem(int32_t addr, int32_t r);
  199. void instr16_0F41_reg(int32_t r1, int32_t r);
  200. void instr32_0F41_mem(int32_t addr, int32_t r);
  201. void instr32_0F41_reg(int32_t r1, int32_t r);
  202. void instr16_0F42_mem(int32_t addr, int32_t r);
  203. void instr16_0F42_reg(int32_t r1, int32_t r);
  204. void instr32_0F42_mem(int32_t addr, int32_t r);
  205. void instr32_0F42_reg(int32_t r1, int32_t r);
  206. void instr16_0F43_mem(int32_t addr, int32_t r);
  207. void instr16_0F43_reg(int32_t r1, int32_t r);
  208. void instr32_0F43_mem(int32_t addr, int32_t r);
  209. void instr32_0F43_reg(int32_t r1, int32_t r);
  210. void instr16_0F44_mem(int32_t addr, int32_t r);
  211. void instr16_0F44_reg(int32_t r1, int32_t r);
  212. void instr32_0F44_mem(int32_t addr, int32_t r);
  213. void instr32_0F44_reg(int32_t r1, int32_t r);
  214. void instr16_0F45_mem(int32_t addr, int32_t r);
  215. void instr16_0F45_reg(int32_t r1, int32_t r);
  216. void instr32_0F45_mem(int32_t addr, int32_t r);
  217. void instr32_0F45_reg(int32_t r1, int32_t r);
  218. void instr16_0F46_mem(int32_t addr, int32_t r);
  219. void instr16_0F46_reg(int32_t r1, int32_t r);
  220. void instr32_0F46_mem(int32_t addr, int32_t r);
  221. void instr32_0F46_reg(int32_t r1, int32_t r);
  222. void instr16_0F47_mem(int32_t addr, int32_t r);
  223. void instr16_0F47_reg(int32_t r1, int32_t r);
  224. void instr32_0F47_mem(int32_t addr, int32_t r);
  225. void instr32_0F47_reg(int32_t r1, int32_t r);
  226. void instr16_0F48_mem(int32_t addr, int32_t r);
  227. void instr16_0F48_reg(int32_t r1, int32_t r);
  228. void instr32_0F48_mem(int32_t addr, int32_t r);
  229. void instr32_0F48_reg(int32_t r1, int32_t r);
  230. void instr16_0F49_mem(int32_t addr, int32_t r);
  231. void instr16_0F49_reg(int32_t r1, int32_t r);
  232. void instr32_0F49_mem(int32_t addr, int32_t r);
  233. void instr32_0F49_reg(int32_t r1, int32_t r);
  234. void instr16_0F4A_mem(int32_t addr, int32_t r);
  235. void instr16_0F4A_reg(int32_t r1, int32_t r);
  236. void instr32_0F4A_mem(int32_t addr, int32_t r);
  237. void instr32_0F4A_reg(int32_t r1, int32_t r);
  238. void instr16_0F4B_mem(int32_t addr, int32_t r);
  239. void instr16_0F4B_reg(int32_t r1, int32_t r);
  240. void instr32_0F4B_mem(int32_t addr, int32_t r);
  241. void instr32_0F4B_reg(int32_t r1, int32_t r);
  242. void instr16_0F4C_mem(int32_t addr, int32_t r);
  243. void instr16_0F4C_reg(int32_t r1, int32_t r);
  244. void instr32_0F4C_mem(int32_t addr, int32_t r);
  245. void instr32_0F4C_reg(int32_t r1, int32_t r);
  246. void instr16_0F4D_mem(int32_t addr, int32_t r);
  247. void instr16_0F4D_reg(int32_t r1, int32_t r);
  248. void instr32_0F4D_mem(int32_t addr, int32_t r);
  249. void instr32_0F4D_reg(int32_t r1, int32_t r);
  250. void instr16_0F4E_mem(int32_t addr, int32_t r);
  251. void instr16_0F4E_reg(int32_t r1, int32_t r);
  252. void instr32_0F4E_mem(int32_t addr, int32_t r);
  253. void instr32_0F4E_reg(int32_t r1, int32_t r);
  254. void instr16_0F4F_mem(int32_t addr, int32_t r);
  255. void instr16_0F4F_reg(int32_t r1, int32_t r);
  256. void instr32_0F4F_mem(int32_t addr, int32_t r);
  257. void instr32_0F4F_reg(int32_t r1, int32_t r);
  258. void instr_0F50_reg(int32_t r1, int32_t r2);
  259. void instr_0F50_mem(int32_t addr, int32_t r1);
  260. void instr_660F50_reg(int32_t r1, int32_t r2);
  261. void instr_660F50_mem(int32_t addr, int32_t r1);
  262. void instr_0F51(void);
  263. void instr_0F52(void);
  264. void instr_0F53(void);
  265. void instr_0F54(union reg128 source, int32_t r);
  266. void instr_0F54_reg(int32_t r1, int32_t r2);
  267. void instr_0F54_mem(int32_t addr, int32_t r);
  268. void instr_660F54(union reg128 source, int32_t r);
  269. void instr_660F54_reg(int32_t r1, int32_t r2);
  270. void instr_660F54_mem(int32_t addr, int32_t r);
  271. void instr_0F55(union reg128 source, int32_t r);
  272. void instr_0F55_reg(int32_t r1, int32_t r2);
  273. void instr_0F55_mem(int32_t addr, int32_t r);
  274. void instr_660F55(union reg128 source, int32_t r);
  275. void instr_660F55_reg(int32_t r1, int32_t r2);
  276. void instr_660F55_mem(int32_t addr, int32_t r);
  277. void instr_0F56(union reg128 source, int32_t r);
  278. void instr_0F56_reg(int32_t r1, int32_t r2);
  279. void instr_0F56_mem(int32_t addr, int32_t r);
  280. void instr_660F56(union reg128 source, int32_t r);
  281. void instr_660F56_reg(int32_t r1, int32_t r2);
  282. void instr_660F56_mem(int32_t addr, int32_t r);
  283. void instr_0F57(union reg128 source, int32_t r);
  284. void instr_0F57_reg(int32_t r1, int32_t r2);
  285. void instr_0F57_mem(int32_t addr, int32_t r);
  286. void instr_660F57(union reg128 source, int32_t r);
  287. void instr_660F57_reg(int32_t r1, int32_t r2);
  288. void instr_660F57_mem(int32_t addr, int32_t r);
  289. void instr_0F58(void);
  290. void instr_0F59(void);
  291. void instr_0F5A(void);
  292. void instr_0F5B(void);
  293. void instr_0F5C(void);
  294. void instr_0F5D(void);
  295. void instr_0F5E(void);
  296. void instr_0F5F(void);
  297. void instr_0F60(int32_t source, int32_t r);
  298. void instr_0F60_reg(int32_t r1, int32_t r2);
  299. void instr_0F60_mem(int32_t addr, int32_t r);
  300. void instr_660F60(union reg64 source, int32_t r);
  301. void instr_660F60_reg(int32_t r1, int32_t r2);
  302. void instr_660F60_mem(int32_t addr, int32_t r);
  303. void instr_0F61(int32_t source, int32_t r);
  304. void instr_0F61_reg(int32_t r1, int32_t r2);
  305. void instr_0F61_mem(int32_t addr, int32_t r);
  306. void instr_660F61(union reg64 source, int32_t r);
  307. void instr_660F61_reg(int32_t r1, int32_t r2);
  308. void instr_660F61_mem(int32_t addr, int32_t r);
  309. void instr_0F62(int32_t source, int32_t r);
  310. void instr_0F62_reg(int32_t r1, int32_t r2);
  311. void instr_0F62_mem(int32_t addr, int32_t r);
  312. void instr_660F62(union reg128 source, int32_t r);
  313. void instr_660F62_reg(int32_t r1, int32_t r2);
  314. void instr_660F62_mem(int32_t addr, int32_t r);
  315. void instr_0F63(union reg64 source, int32_t r);
  316. void instr_0F63_reg(int32_t r1, int32_t r2);
  317. void instr_0F63_mem(int32_t addr, int32_t r);
  318. void instr_660F63(union reg128 source, int32_t r);
  319. void instr_660F63_reg(int32_t r1, int32_t r2);
  320. void instr_660F63_mem(int32_t addr, int32_t r);
  321. void instr_0F64(union reg64 source, int32_t r);
  322. void instr_0F64_reg(int32_t r1, int32_t r2);
  323. void instr_0F64_mem(int32_t addr, int32_t r);
  324. void instr_660F64(union reg128 source, int32_t r);
  325. void instr_660F64_reg(int32_t r1, int32_t r2);
  326. void instr_660F64_mem(int32_t addr, int32_t r);
  327. void instr_0F65(union reg64 source, int32_t r);
  328. void instr_0F65_reg(int32_t r1, int32_t r2);
  329. void instr_0F65_mem(int32_t addr, int32_t r);
  330. void instr_660F65(union reg128 source, int32_t r);
  331. void instr_660F65_reg(int32_t r1, int32_t r2);
  332. void instr_660F65_mem(int32_t addr, int32_t r);
  333. void instr_0F66(union reg64 source, int32_t r);
  334. void instr_0F66_reg(int32_t r1, int32_t r2);
  335. void instr_0F66_mem(int32_t addr, int32_t r);
  336. void instr_660F66(union reg128 source, int32_t r);
  337. void instr_660F66_reg(int32_t r1, int32_t r2);
  338. void instr_660F66_mem(int32_t addr, int32_t r);
  339. void instr_0F67(union reg64 source, int32_t r);
  340. void instr_0F67_reg(int32_t r1, int32_t r2);
  341. void instr_0F67_mem(int32_t addr, int32_t r);
  342. void instr_660F67(union reg128 source, int32_t r);
  343. void instr_660F67_reg(int32_t r1, int32_t r2);
  344. void instr_660F67_mem(int32_t addr, int32_t r);
  345. void instr_0F68(union reg64 source, int32_t r);
  346. void instr_0F68_reg(int32_t r1, int32_t r2);
  347. void instr_0F68_mem(int32_t addr, int32_t r);
  348. void instr_660F68(union reg128 source, int32_t r);
  349. void instr_660F68_reg(int32_t r1, int32_t r2);
  350. void instr_660F68_mem(int32_t addr, int32_t r);
  351. void instr_0F69(union reg64 source, int32_t r);
  352. void instr_0F69_reg(int32_t r1, int32_t r2);
  353. void instr_0F69_mem(int32_t addr, int32_t r);
  354. void instr_660F69(union reg128 source, int32_t r);
  355. void instr_660F69_reg(int32_t r1, int32_t r2);
  356. void instr_660F69_mem(int32_t addr, int32_t r);
  357. void instr_0F6A(union reg64 source, int32_t r);
  358. void instr_0F6A_reg(int32_t r1, int32_t r2);
  359. void instr_0F6A_mem(int32_t addr, int32_t r);
  360. void instr_660F6A(union reg128 source, int32_t r);
  361. void instr_660F6A_reg(int32_t r1, int32_t r2);
  362. void instr_660F6A_mem(int32_t addr, int32_t r);
  363. void instr_0F6B(union reg64 source, int32_t r);
  364. void instr_0F6B_reg(int32_t r1, int32_t r2);
  365. void instr_0F6B_mem(int32_t addr, int32_t r);
  366. void instr_660F6B(union reg128 source, int32_t r);
  367. void instr_660F6B_reg(int32_t r1, int32_t r2);
  368. void instr_660F6B_mem(int32_t addr, int32_t r);
  369. void instr_0F6C_mem(int32_t addr, int32_t r);
  370. void instr_0F6C_reg(int32_t r1, int32_t r2);
  371. void instr_660F6C(union reg128 source, int32_t r);
  372. void instr_660F6C_reg(int32_t r1, int32_t r2);
  373. void instr_660F6C_mem(int32_t addr, int32_t r);
  374. void instr_0F6D_mem(int32_t addr, int32_t r);
  375. void instr_0F6D_reg(int32_t r1, int32_t r2);
  376. void instr_660F6D(union reg128 source, int32_t r);
  377. void instr_660F6D_reg(int32_t r1, int32_t r2);
  378. void instr_660F6D_mem(int32_t addr, int32_t r);
  379. void instr_0F6E(int32_t source, int32_t r);
  380. void instr_0F6E_reg(int32_t r1, int32_t r2);
  381. void instr_0F6E_mem(int32_t addr, int32_t r);
  382. void instr_660F6E(int32_t source, int32_t r);
  383. void instr_660F6E_reg(int32_t r1, int32_t r2);
  384. void instr_660F6E_mem(int32_t addr, int32_t r);
  385. void instr_0F6F(union reg64 source, int32_t r);
  386. void instr_0F6F_reg(int32_t r1, int32_t r2);
  387. void instr_0F6F_mem(int32_t addr, int32_t r);
  388. void instr_660F6F(union reg128 source, int32_t r);
  389. void instr_660F6F_reg(int32_t r1, int32_t r2);
  390. void instr_660F6F_mem(int32_t addr, int32_t r);
  391. void instr_F30F6F(union reg128 source, int32_t r);
  392. void instr_F30F6F_reg(int32_t r1, int32_t r2);
  393. void instr_F30F6F_mem(int32_t addr, int32_t r);
  394. void instr_0F70(union reg64 source, int32_t r, int32_t imm8);
  395. void instr_0F70_reg(int32_t r1, int32_t r2, int32_t imm);
  396. void instr_0F70_mem(int32_t addr, int32_t r, int32_t imm);
  397. void instr_660F70(union reg128 source, int32_t r, int32_t imm8);
  398. void instr_660F70_reg(int32_t r1, int32_t r2, int32_t imm);
  399. void instr_660F70_mem(int32_t addr, int32_t r, int32_t imm);
  400. void instr_F20F70(union reg128 source, int32_t r, int32_t imm8);
  401. void instr_F20F70_reg(int32_t r1, int32_t r2, int32_t imm);
  402. void instr_F20F70_mem(int32_t addr, int32_t r, int32_t imm);
  403. void instr_F30F70(union reg128 source, int32_t r, int32_t imm8);
  404. void instr_F30F70_reg(int32_t r1, int32_t r2, int32_t imm);
  405. void instr_F30F70_mem(int32_t addr, int32_t r, int32_t imm);
  406. void instr_0F71_2_mem(int32_t addr, int32_t r);
  407. void instr_0F71_4_mem(int32_t addr, int32_t r);
  408. void instr_0F71_6_mem(int32_t addr, int32_t r);
  409. void instr_0F71_2_reg(int32_t r, int32_t imm8);
  410. void instr_0F71_4_reg(int32_t r, int32_t imm8);
  411. void instr_0F71_6_reg(int32_t r, int32_t imm8);
  412. void instr_660F71_2_mem(int32_t addr, int32_t r);
  413. void instr_660F71_4_mem(int32_t addr, int32_t r);
  414. void instr_660F71_6_mem(int32_t addr, int32_t r);
  415. void instr_660F71_2_reg(int32_t r, int32_t imm8);
  416. void instr_660F71_4_reg(int32_t r, int32_t imm8);
  417. void instr_660F71_6_reg(int32_t r, int32_t imm8);
  418. void instr_0F72_2_mem(int32_t addr, int32_t r);
  419. void instr_0F72_4_mem(int32_t addr, int32_t r);
  420. void instr_0F72_6_mem(int32_t addr, int32_t r);
  421. void instr_0F72_2_reg(int32_t r, int32_t imm8);
  422. void instr_0F72_4_reg(int32_t r, int32_t imm8);
  423. void instr_0F72_6_reg(int32_t r, int32_t imm8);
  424. void instr_660F72_2_mem(int32_t addr, int32_t r);
  425. void instr_660F72_4_mem(int32_t addr, int32_t r);
  426. void instr_660F72_6_mem(int32_t addr, int32_t r);
  427. void instr_660F72_2_reg(int32_t r, int32_t imm8);
  428. void instr_660F72_4_reg(int32_t r, int32_t imm8);
  429. void instr_660F72_6_reg(int32_t r, int32_t imm8);
  430. void instr_0F73_2_mem(int32_t addr, int32_t r);
  431. void instr_0F73_3_mem(int32_t addr, int32_t r);
  432. void instr_0F73_3_reg(int32_t addr, int32_t r);
  433. void instr_0F73_6_mem(int32_t addr, int32_t r);
  434. void instr_0F73_7_mem(int32_t addr, int32_t r);
  435. void instr_0F73_7_reg(int32_t addr, int32_t r);
  436. void instr_0F73_2_reg(int32_t r, int32_t imm8);
  437. void instr_0F73_6_reg(int32_t r, int32_t imm8);
  438. void instr_660F73_2_mem(int32_t addr, int32_t r);
  439. void instr_660F73_3_mem(int32_t addr, int32_t r);
  440. void instr_660F73_6_mem(int32_t addr, int32_t r);
  441. void instr_660F73_7_mem(int32_t addr, int32_t r);
  442. void instr_660F73_2_reg(int32_t r, int32_t imm8);
  443. void instr_660F73_3_reg(int32_t r, int32_t imm8);
  444. void instr_660F73_6_reg(int32_t r, int32_t imm8);
  445. void instr_660F73_7_reg(int32_t r, int32_t imm8);
  446. void instr_0F74(union reg64 source, int32_t r);
  447. void instr_0F74_reg(int32_t r1, int32_t r2);
  448. void instr_0F74_mem(int32_t addr, int32_t r);
  449. void instr_660F74(union reg128 source, int32_t r);
  450. void instr_660F74_reg(int32_t r1, int32_t r2);
  451. void instr_660F74_mem(int32_t addr, int32_t r);
  452. void instr_0F75(union reg64 source, int32_t r);
  453. void instr_0F75_reg(int32_t r1, int32_t r2);
  454. void instr_0F75_mem(int32_t addr, int32_t r);
  455. void instr_660F75(union reg128 source, int32_t r);
  456. void instr_660F75_reg(int32_t r1, int32_t r2);
  457. void instr_660F75_mem(int32_t addr, int32_t r);
  458. void instr_0F76(union reg64 source, int32_t r);
  459. void instr_0F76_reg(int32_t r1, int32_t r2);
  460. void instr_0F76_mem(int32_t addr, int32_t r);
  461. void instr_660F76(union reg128 source, int32_t r);
  462. void instr_660F76_reg(int32_t r1, int32_t r2);
  463. void instr_660F76_mem(int32_t addr, int32_t r);
  464. void instr_0F77(void);
  465. void instr_0F78(void);
  466. void instr_0F79(void);
  467. void instr_0F7A(void);
  468. void instr_0F7B(void);
  469. void instr_0F7C(void);
  470. void instr_0F7D(void);
  471. int32_t instr_0F7E(int32_t r);
  472. void instr_0F7E_reg(int32_t r1, int32_t r2);
  473. void instr_0F7E_mem(int32_t addr, int32_t r);
  474. int32_t instr_660F7E(int32_t r);
  475. void instr_660F7E_reg(int32_t r1, int32_t r2);
  476. void instr_660F7E_mem(int32_t addr, int32_t r);
  477. void instr_F30F7E_mem(int32_t addr, int32_t r);
  478. void instr_F30F7E_reg(int32_t r1, int32_t r2);
  479. void instr_0F7F_mem(int32_t addr, int32_t r);
  480. void instr_0F7F_reg(int32_t r1, int32_t r2);
  481. void instr_660F7F_mem(int32_t addr, int32_t r);
  482. void instr_660F7F_reg(int32_t r1, int32_t r2);
  483. void instr_F30F7F_mem(int32_t addr, int32_t r);
  484. void instr_F30F7F_reg(int32_t r1, int32_t r2);
  485. void instr16_0F80(int32_t imm);
  486. void instr32_0F80(int32_t imm);
  487. void instr16_0F81(int32_t imm);
  488. void instr32_0F81(int32_t imm);
  489. void instr16_0F82(int32_t imm);
  490. void instr32_0F82(int32_t imm);
  491. void instr16_0F83(int32_t imm);
  492. void instr32_0F83(int32_t imm);
  493. void instr16_0F84(int32_t imm);
  494. void instr32_0F84(int32_t imm);
  495. void instr16_0F85(int32_t imm);
  496. void instr32_0F85(int32_t imm);
  497. void instr16_0F86(int32_t imm);
  498. void instr32_0F86(int32_t imm);
  499. void instr16_0F87(int32_t imm);
  500. void instr32_0F87(int32_t imm);
  501. void instr16_0F88(int32_t imm);
  502. void instr32_0F88(int32_t imm);
  503. void instr16_0F89(int32_t imm);
  504. void instr32_0F89(int32_t imm);
  505. void instr16_0F8A(int32_t imm);
  506. void instr32_0F8A(int32_t imm);
  507. void instr16_0F8B(int32_t imm);
  508. void instr32_0F8B(int32_t imm);
  509. void instr16_0F8C(int32_t imm);
  510. void instr32_0F8C(int32_t imm);
  511. void instr16_0F8D(int32_t imm);
  512. void instr32_0F8D(int32_t imm);
  513. void instr16_0F8E(int32_t imm);
  514. void instr32_0F8E(int32_t imm);
  515. void instr16_0F8F(int32_t imm);
  516. void instr32_0F8F(int32_t imm);
  517. void instr_0F90_reg(int32_t r, int32_t unused);
  518. void instr_0F91_reg(int32_t r, int32_t unused);
  519. void instr_0F92_reg(int32_t r, int32_t unused);
  520. void instr_0F93_reg(int32_t r, int32_t unused);
  521. void instr_0F94_reg(int32_t r, int32_t unused);
  522. void instr_0F95_reg(int32_t r, int32_t unused);
  523. void instr_0F96_reg(int32_t r, int32_t unused);
  524. void instr_0F97_reg(int32_t r, int32_t unused);
  525. void instr_0F98_reg(int32_t r, int32_t unused);
  526. void instr_0F99_reg(int32_t r, int32_t unused);
  527. void instr_0F9A_reg(int32_t r, int32_t unused);
  528. void instr_0F9B_reg(int32_t r, int32_t unused);
  529. void instr_0F9C_reg(int32_t r, int32_t unused);
  530. void instr_0F9D_reg(int32_t r, int32_t unused);
  531. void instr_0F9E_reg(int32_t r, int32_t unused);
  532. void instr_0F9F_reg(int32_t r, int32_t unused);
  533. void instr_0F90_mem(int32_t addr, int32_t unused);
  534. void instr_0F91_mem(int32_t addr, int32_t unused);
  535. void instr_0F92_mem(int32_t addr, int32_t unused);
  536. void instr_0F93_mem(int32_t addr, int32_t unused);
  537. void instr_0F94_mem(int32_t addr, int32_t unused);
  538. void instr_0F95_mem(int32_t addr, int32_t unused);
  539. void instr_0F96_mem(int32_t addr, int32_t unused);
  540. void instr_0F97_mem(int32_t addr, int32_t unused);
  541. void instr_0F98_mem(int32_t addr, int32_t unused);
  542. void instr_0F99_mem(int32_t addr, int32_t unused);
  543. void instr_0F9A_mem(int32_t addr, int32_t unused);
  544. void instr_0F9B_mem(int32_t addr, int32_t unused);
  545. void instr_0F9C_mem(int32_t addr, int32_t unused);
  546. void instr_0F9D_mem(int32_t addr, int32_t unused);
  547. void instr_0F9E_mem(int32_t addr, int32_t unused);
  548. void instr_0F9F_mem(int32_t addr, int32_t unused);
  549. void instr16_0FA0(void);
  550. void instr32_0FA0(void);
  551. void instr16_0FA1(void);
  552. void instr32_0FA1(void);
  553. void instr_0FA2(void);
  554. void instr16_0FA3_reg(int32_t r1, int32_t r2);
  555. void instr16_0FA3_mem(int32_t addr, int32_t r);
  556. void instr32_0FA3_reg(int32_t r1, int32_t r2);
  557. void instr32_0FA3_mem(int32_t addr, int32_t r);
  558. void instr16_0FA4_mem(int32_t addr, int32_t r, int32_t imm);
  559. void instr16_0FA4_reg(int32_t r1, int32_t r, int32_t imm);
  560. void instr32_0FA4_mem(int32_t addr, int32_t r, int32_t imm);
  561. void instr32_0FA4_reg(int32_t r1, int32_t r, int32_t imm);
  562. void instr16_0FA5_mem(int32_t addr, int32_t r);
  563. void instr16_0FA5_reg(int32_t r1, int32_t r);
  564. void instr32_0FA5_mem(int32_t addr, int32_t r);
  565. void instr32_0FA5_reg(int32_t r1, int32_t r);
  566. void instr_0FA6(void);
  567. void instr_0FA7(void);
  568. void instr16_0FA8(void);
  569. void instr32_0FA8(void);
  570. void instr16_0FA9(void);
  571. void instr32_0FA9(void);
  572. void instr_0FAA(void);
  573. void instr16_0FAB_reg(int32_t r1, int32_t r2);
  574. void instr16_0FAB_mem(int32_t addr, int32_t r);
  575. void instr32_0FAB_reg(int32_t r1, int32_t r2);
  576. void instr32_0FAB_mem(int32_t addr, int32_t r);
  577. void instr16_0FAC_mem(int32_t addr, int32_t r, int32_t imm);
  578. void instr16_0FAC_reg(int32_t r1, int32_t r, int32_t imm);
  579. void instr32_0FAC_mem(int32_t addr, int32_t r, int32_t imm);
  580. void instr32_0FAC_reg(int32_t r1, int32_t r, int32_t imm);
  581. void instr16_0FAD_mem(int32_t addr, int32_t r);
  582. void instr16_0FAD_reg(int32_t r1, int32_t r);
  583. void instr32_0FAD_mem(int32_t addr, int32_t r);
  584. void instr32_0FAD_reg(int32_t r1, int32_t r);
  585. void instr_0FAE_0_reg(int32_t r);
  586. void instr_0FAE_0_mem(int32_t addr);
  587. void instr_0FAE_1_reg(int32_t r);
  588. void instr_0FAE_1_mem(int32_t addr);
  589. void instr_0FAE_2_reg(int32_t r);
  590. void instr_0FAE_2_mem(int32_t addr);
  591. void instr_0FAE_3_reg(int32_t r);
  592. void instr_0FAE_3_mem(int32_t addr);
  593. void instr_0FAE_4_reg(int32_t r);
  594. void instr_0FAE_4_mem(int32_t addr);
  595. void instr_0FAE_5_reg(int32_t r);
  596. void instr_0FAE_5_mem(int32_t addr);
  597. void instr_0FAE_6_reg(int32_t r);
  598. void instr_0FAE_6_mem(int32_t addr);
  599. void instr_0FAE_7_reg(int32_t r);
  600. void instr_0FAE_7_mem(int32_t addr);
  601. void instr16_0FAF_mem(int32_t addr, int32_t r);
  602. void instr16_0FAF_reg(int32_t r1, int32_t r);
  603. void instr32_0FAF_mem(int32_t addr, int32_t r);
  604. void instr32_0FAF_reg(int32_t r1, int32_t r);
  605. void instr_0FB0_reg(int32_t r1, int32_t r2);
  606. void instr_0FB0_mem(int32_t addr, int32_t r);
  607. void instr16_0FB1_reg(int32_t r1, int32_t r2);
  608. void instr16_0FB1_mem(int32_t addr, int32_t r);
  609. void instr32_0FB1_reg(int32_t r1, int32_t r2);
  610. void instr32_0FB1_mem(int32_t addr, int32_t r);
  611. void instr16_0FB2_reg(int32_t unused, int32_t unused2);
  612. void instr16_0FB2_mem(int32_t addr, int32_t r);
  613. void instr32_0FB2_reg(int32_t unused, int32_t unused2);
  614. void instr32_0FB2_mem(int32_t addr, int32_t r);
  615. void instr16_0FB3_reg(int32_t r1, int32_t r2);
  616. void instr16_0FB3_mem(int32_t addr, int32_t r);
  617. void instr32_0FB3_reg(int32_t r1, int32_t r2);
  618. void instr32_0FB3_mem(int32_t addr, int32_t r);
  619. void instr16_0FB4_reg(int32_t unused, int32_t unused2);
  620. void instr16_0FB4_mem(int32_t addr, int32_t r);
  621. void instr32_0FB4_reg(int32_t unused, int32_t unused2);
  622. void instr32_0FB4_mem(int32_t addr, int32_t r);
  623. void instr16_0FB5_reg(int32_t unused, int32_t unused2);
  624. void instr16_0FB5_mem(int32_t addr, int32_t r);
  625. void instr32_0FB5_reg(int32_t unused, int32_t unused2);
  626. void instr32_0FB5_mem(int32_t addr, int32_t r);
  627. void instr16_0FB6_mem(int32_t addr, int32_t r);
  628. void instr16_0FB6_reg(int32_t r1, int32_t r);
  629. void instr32_0FB6_mem(int32_t addr, int32_t r);
  630. void instr32_0FB6_reg(int32_t r1, int32_t r);
  631. void instr16_0FB7_mem(int32_t addr, int32_t r);
  632. void instr16_0FB7_reg(int32_t r1, int32_t r);
  633. void instr32_0FB7_mem(int32_t addr, int32_t r);
  634. void instr32_0FB7_reg(int32_t r1, int32_t r);
  635. void instr16_0FB8_reg(int32_t r1, int32_t r2);
  636. void instr16_0FB8_mem(int32_t addr, int32_t r);
  637. void instr16_F30FB8_mem(int32_t addr, int32_t r);
  638. void instr16_F30FB8_reg(int32_t r1, int32_t r);
  639. void instr32_0FB8_reg(int32_t r1, int32_t r2);
  640. void instr32_0FB8_mem(int32_t addr, int32_t r);
  641. void instr32_F30FB8_mem(int32_t addr, int32_t r);
  642. void instr32_F30FB8_reg(int32_t r1, int32_t r);
  643. void instr_0FB9(void);
  644. void instr16_0FBA_4_reg(int32_t r, int32_t imm);
  645. void instr16_0FBA_4_mem(int32_t addr, int32_t imm);
  646. void instr16_0FBA_5_reg(int32_t r, int32_t imm);
  647. void instr16_0FBA_5_mem(int32_t addr, int32_t imm);
  648. void instr16_0FBA_6_reg(int32_t r, int32_t imm);
  649. void instr16_0FBA_6_mem(int32_t addr, int32_t imm);
  650. void instr16_0FBA_7_reg(int32_t r, int32_t imm);
  651. void instr16_0FBA_7_mem(int32_t addr, int32_t imm);
  652. void instr32_0FBA_4_reg(int32_t r, int32_t imm);
  653. void instr32_0FBA_4_mem(int32_t addr, int32_t imm);
  654. void instr32_0FBA_5_reg(int32_t r, int32_t imm);
  655. void instr32_0FBA_5_mem(int32_t addr, int32_t imm);
  656. void instr32_0FBA_6_reg(int32_t r, int32_t imm);
  657. void instr32_0FBA_6_mem(int32_t addr, int32_t imm);
  658. void instr32_0FBA_7_reg(int32_t r, int32_t imm);
  659. void instr32_0FBA_7_mem(int32_t addr, int32_t imm);
  660. void instr16_0FBB_reg(int32_t r1, int32_t r2);
  661. void instr16_0FBB_mem(int32_t addr, int32_t r);
  662. void instr32_0FBB_reg(int32_t r1, int32_t r2);
  663. void instr32_0FBB_mem(int32_t addr, int32_t r);
  664. void instr16_0FBC_mem(int32_t addr, int32_t r);
  665. void instr16_0FBC_reg(int32_t r1, int32_t r);
  666. void instr32_0FBC_mem(int32_t addr, int32_t r);
  667. void instr32_0FBC_reg(int32_t r1, int32_t r);
  668. void instr16_0FBD_mem(int32_t addr, int32_t r);
  669. void instr16_0FBD_reg(int32_t r1, int32_t r);
  670. void instr32_0FBD_mem(int32_t addr, int32_t r);
  671. void instr32_0FBD_reg(int32_t r1, int32_t r);
  672. void instr16_0FBE_mem(int32_t addr, int32_t r);
  673. void instr16_0FBE_reg(int32_t r1, int32_t r);
  674. void instr32_0FBE_mem(int32_t addr, int32_t r);
  675. void instr32_0FBE_reg(int32_t r1, int32_t r);
  676. void instr16_0FBF_mem(int32_t addr, int32_t r);
  677. void instr16_0FBF_reg(int32_t r1, int32_t r);
  678. void instr32_0FBF_mem(int32_t addr, int32_t r);
  679. void instr32_0FBF_reg(int32_t r1, int32_t r);
  680. void instr_0FC0_mem(int32_t addr, int32_t r);
  681. void instr_0FC0_reg(int32_t r1, int32_t r);
  682. void instr16_0FC1_mem(int32_t addr, int32_t r);
  683. void instr16_0FC1_reg(int32_t r1, int32_t r);
  684. void instr32_0FC1_mem(int32_t addr, int32_t r);
  685. void instr32_0FC1_reg(int32_t r1, int32_t r);
  686. void instr_0FC2(void);
  687. void instr_0FC3_reg(int32_t r1, int32_t r2);
  688. void instr_0FC3_mem(int32_t addr, int32_t r);
  689. void instr_0FC4(int32_t source, int32_t r, int32_t imm8);
  690. void instr_0FC4_reg(int32_t r1, int32_t r2, int32_t imm);
  691. void instr_0FC4_mem(int32_t addr, int32_t r, int32_t imm);
  692. void instr_660FC4(int32_t source, int32_t r, int32_t imm8);
  693. void instr_660FC4_reg(int32_t r1, int32_t r2, int32_t imm);
  694. void instr_660FC4_mem(int32_t addr, int32_t r, int32_t imm);
  695. void instr_0FC5_mem(int32_t addr, int32_t r, int32_t imm8);
  696. void instr_0FC5_reg(int32_t r1, int32_t r2, int32_t imm8);
  697. void instr_660FC5_mem(int32_t addr, int32_t r, int32_t imm8);
  698. void instr_660FC5_reg(int32_t r1, int32_t r2, int32_t imm8);
  699. void instr_0FC6(void);
  700. void instr_0FC7_1_reg(int32_t r);
  701. void instr_0FC7_1_mem(int32_t addr);
  702. void instr_0FC7_6_reg(int32_t r);
  703. void instr_0FC7_6_mem(int32_t addr);
  704. void instr_0FC8(void);
  705. void instr_0FC9(void);
  706. void instr_0FCA(void);
  707. void instr_0FCB(void);
  708. void instr_0FCC(void);
  709. void instr_0FCD(void);
  710. void instr_0FCE(void);
  711. void instr_0FCF(void);
  712. void instr_0FD0(void);
  713. void instr_0FD1(union reg64 source, int32_t r);
  714. void instr_0FD1_reg(int32_t r1, int32_t r2);
  715. void instr_0FD1_mem(int32_t addr, int32_t r);
  716. void instr_660FD1(union reg128 source, int32_t r);
  717. void instr_660FD1_reg(int32_t r1, int32_t r2);
  718. void instr_660FD1_mem(int32_t addr, int32_t r);
  719. void instr_0FD2(union reg64 source, int32_t r);
  720. void instr_0FD2_reg(int32_t r1, int32_t r2);
  721. void instr_0FD2_mem(int32_t addr, int32_t r);
  722. void instr_660FD2(union reg128 source, int32_t r);
  723. void instr_660FD2_reg(int32_t r1, int32_t r2);
  724. void instr_660FD2_mem(int32_t addr, int32_t r);
  725. void instr_0FD3(union reg64 source, int32_t r);
  726. void instr_0FD3_reg(int32_t r1, int32_t r2);
  727. void instr_0FD3_mem(int32_t addr, int32_t r);
  728. void instr_660FD3(union reg128 source, int32_t r);
  729. void instr_660FD3_reg(int32_t r1, int32_t r2);
  730. void instr_660FD3_mem(int32_t addr, int32_t r);
  731. void instr_0FD4(union reg64 source, int32_t r);
  732. void instr_0FD4_reg(int32_t r1, int32_t r2);
  733. void instr_0FD4_mem(int32_t addr, int32_t r);
  734. void instr_660FD4(union reg128 source, int32_t r);
  735. void instr_660FD4_reg(int32_t r1, int32_t r2);
  736. void instr_660FD4_mem(int32_t addr, int32_t r);
  737. void instr_0FD5(union reg64 source, int32_t r);
  738. void instr_0FD5_reg(int32_t r1, int32_t r2);
  739. void instr_0FD5_mem(int32_t addr, int32_t r);
  740. void instr_660FD5(union reg128 source, int32_t r);
  741. void instr_660FD5_reg(int32_t r1, int32_t r2);
  742. void instr_660FD5_mem(int32_t addr, int32_t r);
  743. void instr_0FD6_mem(int32_t addr, int32_t r);
  744. void instr_0FD6_reg(int32_t r1, int32_t r2);
  745. void instr_660FD6_mem(int32_t addr, int32_t r);
  746. void instr_660FD6_reg(int32_t r1, int32_t r2);
  747. void instr_F20FD6_mem(int32_t addr, int32_t r);
  748. void instr_F20FD6_reg(int32_t r1, int32_t r2);
  749. void instr_F30FD6_mem(int32_t addr, int32_t r);
  750. void instr_F30FD6_reg(int32_t r1, int32_t r2);
  751. void instr_0FD7_mem(int32_t addr, int32_t r);
  752. void instr_0FD7_reg(int32_t r1, int32_t r2);
  753. void instr_660FD7_mem(int32_t addr, int32_t r);
  754. void instr_660FD7_reg(int32_t r1, int32_t r2);
  755. void instr_0FD8(union reg64 source, int32_t r);
  756. void instr_0FD8_reg(int32_t r1, int32_t r2);
  757. void instr_0FD8_mem(int32_t addr, int32_t r);
  758. void instr_660FD8(union reg128 source, int32_t r);
  759. void instr_660FD8_reg(int32_t r1, int32_t r2);
  760. void instr_660FD8_mem(int32_t addr, int32_t r);
  761. void instr_0FD9(union reg64 source, int32_t r);
  762. void instr_0FD9_reg(int32_t r1, int32_t r2);
  763. void instr_0FD9_mem(int32_t addr, int32_t r);
  764. void instr_660FD9(union reg128 source, int32_t r);
  765. void instr_660FD9_reg(int32_t r1, int32_t r2);
  766. void instr_660FD9_mem(int32_t addr, int32_t r);
  767. void instr_0FDA(union reg64 source, int32_t r);
  768. void instr_0FDA_reg(int32_t r1, int32_t r2);
  769. void instr_0FDA_mem(int32_t addr, int32_t r);
  770. void instr_660FDA(union reg128 source, int32_t r);
  771. void instr_660FDA_reg(int32_t r1, int32_t r2);
  772. void instr_660FDA_mem(int32_t addr, int32_t r);
  773. void instr_0FDB(union reg64 source, int32_t r);
  774. void instr_0FDB_reg(int32_t r1, int32_t r2);
  775. void instr_0FDB_mem(int32_t addr, int32_t r);
  776. void instr_660FDB(union reg128 source, int32_t r);
  777. void instr_660FDB_reg(int32_t r1, int32_t r2);
  778. void instr_660FDB_mem(int32_t addr, int32_t r);
  779. void instr_0FDC(union reg64 source, int32_t r);
  780. void instr_0FDC_reg(int32_t r1, int32_t r2);
  781. void instr_0FDC_mem(int32_t addr, int32_t r);
  782. void instr_660FDC(union reg128 source, int32_t r);
  783. void instr_660FDC_reg(int32_t r1, int32_t r2);
  784. void instr_660FDC_mem(int32_t addr, int32_t r);
  785. void instr_0FDD(union reg64 source, int32_t r);
  786. void instr_0FDD_reg(int32_t r1, int32_t r2);
  787. void instr_0FDD_mem(int32_t addr, int32_t r);
  788. void instr_660FDD(union reg128 source, int32_t r);
  789. void instr_660FDD_reg(int32_t r1, int32_t r2);
  790. void instr_660FDD_mem(int32_t addr, int32_t r);
  791. void instr_0FDE(union reg64 source, int32_t r);
  792. void instr_0FDE_reg(int32_t r1, int32_t r2);
  793. void instr_0FDE_mem(int32_t addr, int32_t r);
  794. void instr_660FDE(union reg128 source, int32_t r);
  795. void instr_660FDE_reg(int32_t r1, int32_t r2);
  796. void instr_660FDE_mem(int32_t addr, int32_t r);
  797. void instr_0FDF(union reg64 source, int32_t r);
  798. void instr_0FDF_reg(int32_t r1, int32_t r2);
  799. void instr_0FDF_mem(int32_t addr, int32_t r);
  800. void instr_660FDF(union reg128 source, int32_t r);
  801. void instr_660FDF_reg(int32_t r1, int32_t r2);
  802. void instr_660FDF_mem(int32_t addr, int32_t r);
  803. void instr_0FE0(union reg64 source, int32_t r);
  804. void instr_0FE0_reg(int32_t r1, int32_t r2);
  805. void instr_0FE0_mem(int32_t addr, int32_t r);
  806. void instr_660FE0(union reg128 source, int32_t r);
  807. void instr_660FE0_reg(int32_t r1, int32_t r2);
  808. void instr_660FE0_mem(int32_t addr, int32_t r);
  809. void instr_0FE1(union reg64 source, int32_t r);
  810. void instr_0FE1_reg(int32_t r1, int32_t r2);
  811. void instr_0FE1_mem(int32_t addr, int32_t r);
  812. void instr_660FE1(union reg128 source, int32_t r);
  813. void instr_660FE1_reg(int32_t r1, int32_t r2);
  814. void instr_660FE1_mem(int32_t addr, int32_t r);
  815. void instr_0FE2(union reg64 source, int32_t r);
  816. void instr_0FE2_reg(int32_t r1, int32_t r2);
  817. void instr_0FE2_mem(int32_t addr, int32_t r);
  818. void instr_660FE2(union reg128 source, int32_t r);
  819. void instr_660FE2_reg(int32_t r1, int32_t r2);
  820. void instr_660FE2_mem(int32_t addr, int32_t r);
  821. void instr_0FE3(union reg64 source, int32_t r);
  822. void instr_0FE3_reg(int32_t r1, int32_t r2);
  823. void instr_0FE3_mem(int32_t addr, int32_t r);
  824. void instr_660FE3(union reg128 source, int32_t r);
  825. void instr_660FE3_reg(int32_t r1, int32_t r2);
  826. void instr_660FE3_mem(int32_t addr, int32_t r);
  827. void instr_0FE4(union reg64 source, int32_t r);
  828. void instr_0FE4_reg(int32_t r1, int32_t r2);
  829. void instr_0FE4_mem(int32_t addr, int32_t r);
  830. void instr_660FE4(union reg128 source, int32_t r);
  831. void instr_660FE4_reg(int32_t r1, int32_t r2);
  832. void instr_660FE4_mem(int32_t addr, int32_t r);
  833. void instr_0FE5(union reg64 source, int32_t r);
  834. void instr_0FE5_reg(int32_t r1, int32_t r2);
  835. void instr_0FE5_mem(int32_t addr, int32_t r);
  836. void instr_660FE5(union reg128 source, int32_t r);
  837. void instr_660FE5_reg(int32_t r1, int32_t r2);
  838. void instr_660FE5_mem(int32_t addr, int32_t r);
  839. void instr_0FE6_mem(int32_t addr, int32_t r);
  840. void instr_0FE6_reg(int32_t r1, int32_t r2);
  841. void instr_660FE6_mem(int32_t addr, int32_t r);
  842. void instr_660FE6_reg(int32_t r1, int32_t r2);
  843. void instr_F20FE6_mem(int32_t addr, int32_t r);
  844. void instr_F20FE6_reg(int32_t r1, int32_t r2);
  845. void instr_F30FE6_mem(int32_t addr, int32_t r);
  846. void instr_F30FE6_reg(int32_t r1, int32_t r2);
  847. void instr_0FE7_mem(int32_t addr, int32_t r);
  848. void instr_0FE7_reg(int32_t r1, int32_t r2);
  849. void instr_660FE7_reg(int32_t r1, int32_t r2);
  850. void instr_660FE7_mem(int32_t addr, int32_t r);
  851. void instr_0FE8(union reg64 source, int32_t r);
  852. void instr_0FE8_reg(int32_t r1, int32_t r2);
  853. void instr_0FE8_mem(int32_t addr, int32_t r);
  854. void instr_660FE8(union reg128 source, int32_t r);
  855. void instr_660FE8_reg(int32_t r1, int32_t r2);
  856. void instr_660FE8_mem(int32_t addr, int32_t r);
  857. void instr_0FE9(union reg64 source, int32_t r);
  858. void instr_0FE9_reg(int32_t r1, int32_t r2);
  859. void instr_0FE9_mem(int32_t addr, int32_t r);
  860. void instr_660FE9(union reg128 source, int32_t r);
  861. void instr_660FE9_reg(int32_t r1, int32_t r2);
  862. void instr_660FE9_mem(int32_t addr, int32_t r);
  863. void instr_0FEA(union reg64 source, int32_t r);
  864. void instr_0FEA_reg(int32_t r1, int32_t r2);
  865. void instr_0FEA_mem(int32_t addr, int32_t r);
  866. void instr_660FEA(union reg128 source, int32_t r);
  867. void instr_660FEA_reg(int32_t r1, int32_t r2);
  868. void instr_660FEA_mem(int32_t addr, int32_t r);
  869. void instr_0FEB(union reg64 source, int32_t r);
  870. void instr_0FEB_reg(int32_t r1, int32_t r2);
  871. void instr_0FEB_mem(int32_t addr, int32_t r);
  872. void instr_660FEB(union reg128 source, int32_t r);
  873. void instr_660FEB_reg(int32_t r1, int32_t r2);
  874. void instr_660FEB_mem(int32_t addr, int32_t r);
  875. void instr_0FEC(union reg64 source, int32_t r);
  876. void instr_0FEC_reg(int32_t r1, int32_t r2);
  877. void instr_0FEC_mem(int32_t addr, int32_t r);
  878. void instr_660FEC(union reg128 source, int32_t r);
  879. void instr_660FEC_reg(int32_t r1, int32_t r2);
  880. void instr_660FEC_mem(int32_t addr, int32_t r);
  881. void instr_0FED(union reg64 source, int32_t r);
  882. void instr_0FED_reg(int32_t r1, int32_t r2);
  883. void instr_0FED_mem(int32_t addr, int32_t r);
  884. void instr_660FED(union reg128 source, int32_t r);
  885. void instr_660FED_reg(int32_t r1, int32_t r2);
  886. void instr_660FED_mem(int32_t addr, int32_t r);
  887. void instr_0FEE(union reg64 source, int32_t r);
  888. void instr_0FEE_reg(int32_t r1, int32_t r2);
  889. void instr_0FEE_mem(int32_t addr, int32_t r);
  890. void instr_660FEE(union reg128 source, int32_t r);
  891. void instr_660FEE_reg(int32_t r1, int32_t r2);
  892. void instr_660FEE_mem(int32_t addr, int32_t r);
  893. void instr_0FEF(union reg64 source, int32_t r);
  894. void instr_0FEF_reg(int32_t r1, int32_t r2);
  895. void instr_0FEF_mem(int32_t addr, int32_t r);
  896. void instr_660FEF(union reg128 source, int32_t r);
  897. void instr_660FEF_reg(int32_t r1, int32_t r2);
  898. void instr_660FEF_mem(int32_t addr, int32_t r);
  899. void instr_0FF0(void);
  900. void instr_0FF1(union reg64 source, int32_t r);
  901. void instr_0FF1_reg(int32_t r1, int32_t r2);
  902. void instr_0FF1_mem(int32_t addr, int32_t r);
  903. void instr_660FF1(union reg128 source, int32_t r);
  904. void instr_660FF1_reg(int32_t r1, int32_t r2);
  905. void instr_660FF1_mem(int32_t addr, int32_t r);
  906. void instr_0FF2(union reg64 source, int32_t r);
  907. void instr_0FF2_reg(int32_t r1, int32_t r2);
  908. void instr_0FF2_mem(int32_t addr, int32_t r);
  909. void instr_660FF2(union reg128 source, int32_t r);
  910. void instr_660FF2_reg(int32_t r1, int32_t r2);
  911. void instr_660FF2_mem(int32_t addr, int32_t r);
  912. void instr_0FF3(union reg64 source, int32_t r);
  913. void instr_0FF3_reg(int32_t r1, int32_t r2);
  914. void instr_0FF3_mem(int32_t addr, int32_t r);
  915. void instr_660FF3(union reg128 source, int32_t r);
  916. void instr_660FF3_reg(int32_t r1, int32_t r2);
  917. void instr_660FF3_mem(int32_t addr, int32_t r);
  918. void instr_0FF4(union reg64 source, int32_t r);
  919. void instr_0FF4_reg(int32_t r1, int32_t r2);
  920. void instr_0FF4_mem(int32_t addr, int32_t r);
  921. void instr_660FF4(union reg128 source, int32_t r);
  922. void instr_660FF4_reg(int32_t r1, int32_t r2);
  923. void instr_660FF4_mem(int32_t addr, int32_t r);
  924. void instr_0FF5(union reg64 source, int32_t r);
  925. void instr_0FF5_reg(int32_t r1, int32_t r2);
  926. void instr_0FF5_mem(int32_t addr, int32_t r);
  927. void instr_660FF5(union reg128 source, int32_t r);
  928. void instr_660FF5_reg(int32_t r1, int32_t r2);
  929. void instr_660FF5_mem(int32_t addr, int32_t r);
  930. void instr_0FF6(union reg64 source, int32_t r);
  931. void instr_0FF6_reg(int32_t r1, int32_t r2);
  932. void instr_0FF6_mem(int32_t addr, int32_t r);
  933. void instr_660FF6(union reg128 source, int32_t r);
  934. void instr_660FF6_reg(int32_t r1, int32_t r2);
  935. void instr_660FF6_mem(int32_t addr, int32_t r);
  936. void instr_0FF7_mem(int32_t addr, int32_t r);
  937. void instr_0FF7_reg(int32_t r1, int32_t r2);
  938. void instr_660FF7_mem(int32_t addr, int32_t r);
  939. void instr_660FF7_reg(int32_t r1, int32_t r2);
  940. void instr_0FF8(union reg64 source, int32_t r);
  941. void instr_0FF8_reg(int32_t r1, int32_t r2);
  942. void instr_0FF8_mem(int32_t addr, int32_t r);
  943. void instr_660FF8(union reg128 source, int32_t r);
  944. void instr_660FF8_reg(int32_t r1, int32_t r2);
  945. void instr_660FF8_mem(int32_t addr, int32_t r);
  946. void instr_0FF9(union reg64 source, int32_t r);
  947. void instr_0FF9_reg(int32_t r1, int32_t r2);
  948. void instr_0FF9_mem(int32_t addr, int32_t r);
  949. void instr_660FF9(union reg128 source, int32_t r);
  950. void instr_660FF9_reg(int32_t r1, int32_t r2);
  951. void instr_660FF9_mem(int32_t addr, int32_t r);
  952. void instr_0FFA(union reg64 source, int32_t r);
  953. void instr_0FFA_reg(int32_t r1, int32_t r2);
  954. void instr_0FFA_mem(int32_t addr, int32_t r);
  955. void instr_660FFA(union reg128 source, int32_t r);
  956. void instr_660FFA_reg(int32_t r1, int32_t r2);
  957. void instr_660FFA_mem(int32_t addr, int32_t r);
  958. void instr_0FFB(union reg64 source, int32_t r);
  959. void instr_0FFB_reg(int32_t r1, int32_t r2);
  960. void instr_0FFB_mem(int32_t addr, int32_t r);
  961. void instr_660FFB(union reg128 source, int32_t r);
  962. void instr_660FFB_reg(int32_t r1, int32_t r2);
  963. void instr_660FFB_mem(int32_t addr, int32_t r);
  964. void instr_0FFC(union reg64 source, int32_t r);
  965. void instr_0FFC_reg(int32_t r1, int32_t r2);
  966. void instr_0FFC_mem(int32_t addr, int32_t r);
  967. void instr_660FFC(union reg128 source, int32_t r);
  968. void instr_660FFC_reg(int32_t r1, int32_t r2);
  969. void instr_660FFC_mem(int32_t addr, int32_t r);
  970. void instr_0FFD(union reg64 source, int32_t r);
  971. void instr_0FFD_reg(int32_t r1, int32_t r2);
  972. void instr_0FFD_mem(int32_t addr, int32_t r);
  973. void instr_660FFD(union reg128 source, int32_t r);
  974. void instr_660FFD_reg(int32_t r1, int32_t r2);
  975. void instr_660FFD_mem(int32_t addr, int32_t r);
  976. void instr_0FFE(union reg64 source, int32_t r);
  977. void instr_0FFE_reg(int32_t r1, int32_t r2);
  978. void instr_0FFE_mem(int32_t addr, int32_t r);
  979. void instr_660FFE(union reg128 source, int32_t r);
  980. void instr_660FFE_reg(int32_t r1, int32_t r2);
  981. void instr_660FFE_mem(int32_t addr, int32_t r);
  982. void instr_0FFF(void);
  983. void run_instruction0f_16(int32_t opcode);
  984. void run_instruction0f_32(int32_t opcode);