asm_insts.cpp 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585
  1. //
  2. //This is generated code - do not modify!!!!!
  3. //
  4. #include "..\std.h"
  5. #include "insts.h"
  6. Inst insts[]={
  7. "aaa",NONE,NONE,0,"\x1\x37",
  8. "aas",NONE,NONE,0,"\x1\x3F",
  9. "aad",NONE,NONE,0,"\x2\xD5\x0A",
  10. 0,IMM,NONE,IB,"\x1\xD5",
  11. "aam",NONE,NONE,0,"\x2\xD4\x0A",
  12. 0,IMM,NONE,IB,"\x1\xD4",
  13. "adc",AL,IMM8,IB,"\x1\x14",
  14. 0,AX,IMM16,O16|IW,"\x1\x15",
  15. 0,EAX,IMM32,O32|ID,"\x1\x15",
  16. 0,R_M8,REG8,_R,"\x1\x10",
  17. 0,R_M16,REG16,O16|_R,"\x1\x11",
  18. 0,R_M32,REG32,O32|_R,"\x1\x11",
  19. 0,REG8,R_M8,_R,"\x1\x12",
  20. 0,REG16,R_M16,O16|_R,"\x1\x13",
  21. 0,REG32,R_M32,O32|_R,"\x1\x13",
  22. 0,R_M8,IMM8,_2|IB,"\x1\x80",
  23. 0,R_M16,IMM16,O16|_2|IW,"\x1\x81",
  24. 0,R_M32,IMM32,O32|_2|ID,"\x1\x81",
  25. 0,R_M16,IMM8,O16|_2|IB,"\x1\x83",
  26. 0,R_M32,IMM8,O32|_2|IB,"\x1\x83",
  27. "add",AL,IMM8,IB,"\x1\x04",
  28. 0,AX,IMM16,O16|IW,"\x1\x05",
  29. 0,EAX,IMM32,O32|ID,"\x1\x05",
  30. 0,R_M8,REG8,_R,"\x1\x00",
  31. 0,R_M16,REG16,O16|_R,"\x1\x01",
  32. 0,R_M32,REG32,O32|_R,"\x1\x01",
  33. 0,REG8,R_M8,_R,"\x1\x02",
  34. 0,REG16,R_M16,O16|_R,"\x1\x03",
  35. 0,REG32,R_M32,O32|_R,"\x1\x03",
  36. 0,R_M8,IMM8,_0|IB,"\x1\x80",
  37. 0,R_M16,IMM16,O16|_0|IW,"\x1\x81",
  38. 0,R_M32,IMM32,O32|_0|ID,"\x1\x81",
  39. 0,R_M16,IMM8,O16|_0|IB,"\x1\x83",
  40. 0,R_M32,IMM8,O32|_0|IB,"\x1\x83",
  41. "and",AL,IMM8,IB,"\x1\x24",
  42. 0,AX,IMM16,O16|IW,"\x1\x25",
  43. 0,EAX,IMM32,O32|ID,"\x1\x25",
  44. 0,R_M8,REG8,_R,"\x1\x20",
  45. 0,R_M16,REG16,O16|_R,"\x1\x21",
  46. 0,R_M32,REG32,O32|_R,"\x1\x21",
  47. 0,REG8,R_M8,_R,"\x1\x22",
  48. 0,REG16,R_M16,O16|_R,"\x1\x23",
  49. 0,REG32,R_M32,O32|_R,"\x1\x23",
  50. 0,R_M8,IMM8,_4|IB,"\x1\x80",
  51. 0,R_M16,IMM16,O16|_4|IW,"\x1\x81",
  52. 0,R_M32,IMM32,O32|_4|ID,"\x1\x81",
  53. 0,R_M16,IMM8,O16|_4|IB,"\x1\x83",
  54. 0,R_M32,IMM8,O32|_4|IB,"\x1\x83",
  55. "arpl",R_M16,REG16,_R,"\x1\x63",
  56. "bound",REG16,MEM,O16|_R,"\x1\x62",
  57. 0,REG32,MEM,O32|_R,"\x1\x62",
  58. "bsf",REG16,R_M16,O16|_R,"\x2\x0F\xBC",
  59. 0,REG32,R_M32,O32|_R,"\x2\x0F\xBC",
  60. "bsr",REG16,R_M16,O16|_R,"\x2\x0F\xBD",
  61. 0,REG32,R_M32,O32|_R,"\x2\x0F\xBD",
  62. "bswap",REG32,NONE,O32|PLUSREG,"\x2\x0F\xC8",
  63. "bt",R_M16,REG16,O16|_R,"\x2\x0F\xA3",
  64. 0,R_M32,REG32,O32|_R,"\x2\x0F\xA3",
  65. 0,R_M16,IMM8,O16|_4|IB,"\x2\x0F\xBA",
  66. 0,R_M32,IMM8,O32|_4|IB,"\x2\x0F\xBA",
  67. "btc",R_M16,REG16,O16|_R,"\x2\x0F\xBB",
  68. 0,R_M32,REG32,O32|_R,"\x2\x0F\xBB",
  69. 0,R_M16,IMM8,O16|_7|IB,"\x2\x0F\xBA",
  70. 0,R_M32,IMM8,O32|_7|IB,"\x2\x0F\xBA",
  71. "btr",R_M16,REG16,O16|_R,"\x2\x0F\xB3",
  72. 0,R_M32,REG32,O32|_R,"\x2\x0F\xB3",
  73. 0,R_M16,IMM8,O16|_6|IB,"\x2\x0F\xBA",
  74. 0,R_M32,IMM8,O32|_6|IB,"\x2\x0F\xBA",
  75. "bts",R_M16,REG16,O16|_R,"\x2\x0F\xAB",
  76. 0,R_M32,REG32,O32|_R,"\x2\x0F\xAB",
  77. 0,R_M16,IMM,O16|_5|IB,"\x2\x0F\xBA",
  78. 0,R_M32,IMM,O32|_5|IB,"\x2\x0F\xBA",
  79. "call",IMM,NONE,RW_RD,"\x1\xE8",
  80. 0,R_M16,NONE,O16|_2,"\x1\xFF",
  81. 0,R_M32,NONE,O32|_2,"\x1\xFF",
  82. "cbw",NONE,NONE,O16,"\x1\x98",
  83. "cwd",NONE,NONE,O16,"\x1\x99",
  84. "cdq",NONE,NONE,O32,"\x1\x99",
  85. "cwde",NONE,NONE,O32,"\x1\x98",
  86. "clc",NONE,NONE,0,"\x1\xF8",
  87. "cld",NONE,NONE,0,"\x1\xFC",
  88. "cli",NONE,NONE,0,"\x1\xFA",
  89. "clts",NONE,NONE,0,"\x2\x0F\x06",
  90. "cmc",NONE,NONE,0,"\x1\xF5",
  91. "cmovcc",REG16,R_M16,O16|PLUSCC|_R,"\x2\x0F\x40",
  92. 0,REG32,R_M32,O32|PLUSCC|_R,"\x2\x0F\x40",
  93. "cmp",AL,IMM8,IB,"\x1\x3C",
  94. 0,AX,IMM16,O16|IW,"\x1\x3D",
  95. 0,EAX,IMM32,O32|ID,"\x1\x3D",
  96. 0,R_M8,REG8,_R,"\x1\x38",
  97. 0,R_M16,REG16,O16|_R,"\x1\x39",
  98. 0,R_M32,REG32,O32|_R,"\x1\x39",
  99. 0,REG8,R_M8,_R,"\x1\x3A",
  100. 0,REG16,R_M16,O16|_R,"\x1\x3B",
  101. 0,REG32,R_M32,O32|_R,"\x1\x3B",
  102. 0,R_M8,IMM8,_7|IB,"\x1\x80",
  103. 0,R_M16,IMM16,O16|_7|IW,"\x1\x81",
  104. 0,R_M32,IMM32,O32|_7|ID,"\x1\x81",
  105. 0,R_M16,IMM8,O16|_7|IB,"\x1\x83",
  106. 0,R_M32,IMM8,O32|_7|IB,"\x1\x83",
  107. "cmpsb",NONE,NONE,0,"\x1\xA6",
  108. "cmpsw",NONE,NONE,O16,"\x1\xA7",
  109. "cmpsd",NONE,NONE,O32,"\x1\xA7",
  110. "cmpxchg",R_M8,REG8,_R,"\x2\x0F\xB0",
  111. 0,R_M16,REG16,O16|_R,"\x2\x0F\xB1",
  112. 0,R_M32,REG32,O32|_R,"\x2\x0F\xB1",
  113. "cmpxchg486",R_M8,REG8,_R,"\x2\x0F\xA6",
  114. 0,R_M16,REG16,O16|_R,"\x2\x0F\xA7",
  115. 0,R_M32,REG32,O32|_R,"\x2\x0F\xA7",
  116. "cmpxchg8b",MEM,NONE,_1,"\x2\x0F\xC7",
  117. "cpuid",NONE,NONE,0,"\x2\x0F\xA2",
  118. "daa",NONE,NONE,0,"\x1\x27",
  119. "das",NONE,NONE,0,"\x1\x2F",
  120. "dec",REG16,NONE,O16|PLUSREG,"\x1\x48",
  121. 0,REG32,NONE,O32|PLUSREG,"\x1\x48",
  122. 0,R_M8,NONE,_1,"\x1\xFE",
  123. 0,R_M16,NONE,O16|_1,"\x1\xFF",
  124. 0,R_M32,NONE,O32|_1,"\x1\xFF",
  125. "div",R_M8,NONE,_6,"\x1\xF6",
  126. 0,R_M16,NONE,O16|_6,"\x1\xF7",
  127. 0,R_M32,NONE,O32|_6,"\x1\xF7",
  128. "emms",NONE,NONE,0,"\x2\x0F\x77",
  129. "enter",IMM,IMM,IW|IB,"\x1\xC8",
  130. "f2xm1",NONE,NONE,0,"\x2\xD9\xF0",
  131. "fabs",NONE,NONE,0,"\x2\xD9\xE1",
  132. "fadd",MEM32,NONE,_0,"\x1\xD8",
  133. 0,FPUREG,NONE,PLUSREG,"\x2\xD8\xC0",
  134. 0,ST0,FPUREG,PLUSREG,"\x2\xD8\xC0",
  135. 0,FPUREG,ST0,PLUSREG,"\x2\xDC\xC0",
  136. "faddp",FPUREG,NONE,PLUSREG,"\x2\xDE\xC0",
  137. 0,FPUREG,ST0,PLUSREG,"\x2\xDE\xC0",
  138. "fchs",NONE,NONE,0,"\x2\xD9\xE0",
  139. "fclex",NONE,NONE,0,"\x4\x9B\xDB\xE2",
  140. "fnclex",NONE,NONE,0,"\x2\xDB\xE2",
  141. "fcmovb",FPUREG,NONE,PLUSREG,"\x2\xDA\xC0",
  142. 0,ST0,FPUREG,PLUSREG,"\x2\xDA\xC0",
  143. "fcmovbe",FPUREG,NONE,PLUSREG,"\x2\xDA\xD0",
  144. 0,ST0,FPUREG,PLUSREG,"\x2\xDA\xD0",
  145. "fcmove",FPUREG,NONE,PLUSREG,"\x2\xDA\xC8",
  146. 0,ST0,FPUREG,PLUSREG,"\x2\xDA\xC8",
  147. "fcmovnb",FPUREG,NONE,PLUSREG,"\x2\xDB\xC0",
  148. 0,ST0,FPUREG,PLUSREG,"\x2\xDB\xC0",
  149. "fcmovnbe",FPUREG,NONE,PLUSREG,"\x2\xDB\xD0",
  150. 0,ST0,FPUREG,PLUSREG,"\x2\xDB\xD0",
  151. "fcmovne",FPUREG,NONE,PLUSREG,"\x2\xDB\xC8",
  152. 0,ST0,FPUREG,PLUSREG,"\x2\xDB\xC8",
  153. "fcmovnu",FPUREG,NONE,PLUSREG,"\x2\xDB\xD8",
  154. 0,ST0,FPUREG,PLUSREG,"\x2\xDB\xD8",
  155. "fcmovu",FPUREG,NONE,PLUSREG,"\x2\xDA\xD8",
  156. 0,ST0,FPUREG,PLUSREG,"\x2\xDA\xD8",
  157. "fcom",MEM32,NONE,_2,"\x1\xD8",
  158. 0,FPUREG,NONE,PLUSREG,"\x2\xD8\xD0",
  159. 0,ST0,FPUREG,PLUSREG,"\x2\xD8\xD0",
  160. "fcomp",MEM32,NONE,_3,"\x1\xD8",
  161. 0,FPUREG,NONE,PLUSREG,"\x2\xD8\xD8",
  162. 0,ST0,FPUREG,PLUSREG,"\x2\xD8\xD8",
  163. "fcompp",NONE,NONE,0,"\x2\xDE\xD9",
  164. "fcomi",FPUREG,NONE,PLUSREG,"\x2\xDB\xF0",
  165. 0,ST0,FPUREG,PLUSREG,"\x2\xDB\xF0",
  166. "fcomip",FPUREG,NONE,PLUSREG,"\x2\xDF\xF0",
  167. 0,ST0,FPUREG,PLUSREG,"\x2\xDF\xF0",
  168. "fcos",NONE,NONE,0,"\x2\xD9\xFF",
  169. "fdecstp",NONE,NONE,0,"\x2\xD9\xF6",
  170. "fdisi",NONE,NONE,0,"\x4\x9B\xDB\xE1",
  171. "fndisi",NONE,NONE,0,"\x2\xDB\xE1",
  172. "feni",NONE,NONE,0,"\x4\x9B\xDB\xE0",
  173. "fneni",NONE,NONE,0,"\x2\xDB\xE0",
  174. "fdiv",MEM32,NONE,_6,"\x1\xD8",
  175. 0,FPUREG,NONE,PLUSREG,"\x2\xD8\xF0",
  176. 0,ST0,FPUREG,PLUSREG,"\x2\xD8\xF0",
  177. 0,FPUREG,ST0,PLUSREG,"\x2\xDC\xF8",
  178. "fdivr",MEM32,NONE,_0,"\x1\xD8",
  179. 0,FPUREG,NONE,PLUSREG,"\x2\xD8\xF8",
  180. 0,ST0,FPUREG,PLUSREG,"\x2\xD8\xF8",
  181. 0,FPUREG,ST0,PLUSREG,"\x2\xDC\xF0",
  182. "fdivp",FPUREG,NONE,PLUSREG,"\x2\xDE\xF8",
  183. 0,FPUREG,ST0,PLUSREG,"\x2\xDE\xF8",
  184. "fdivrp",FPUREG,NONE,PLUSREG,"\x2\xDE\xF0",
  185. 0,FPUREG,ST0,PLUSREG,"\x2\xDE\xF0",
  186. "ffree",FPUREG,NONE,PLUSREG,"\x2\xDD\xC0",
  187. "fiadd",MEM16,NONE,_0,"\x1\xDE",
  188. 0,MEM32,NONE,_0,"\x1\xDA",
  189. "ficom",MEM16,NONE,_2,"\x1\xDE",
  190. 0,MEM32,NONE,_2,"\x1\xDA",
  191. "ficomp",MEM16,NONE,_3,"\x1\xDE",
  192. 0,MEM32,NONE,_3,"\x1\xDA",
  193. "fidiv",MEM16,NONE,_6,"\x1\xDE",
  194. 0,MEM32,NONE,_6,"\x1\xDA",
  195. "fidivr",MEM16,NONE,_0,"\x1\xDE",
  196. 0,MEM32,NONE,_0,"\x1\xDA",
  197. "fild",MEM16,NONE,_0,"\x1\xDF",
  198. 0,MEM32,NONE,_0,"\x1\xDB",
  199. "fist",MEM16,NONE,_2,"\x1\xDF",
  200. 0,MEM32,NONE,_2,"\x1\xDB",
  201. "fistp",MEM16,NONE,_3,"\x1\xDF",
  202. 0,MEM32,NONE,_3,"\x1\xDB",
  203. "fimul",MEM16,NONE,_1,"\x1\xDE",
  204. 0,MEM32,NONE,_1,"\x1\xDA",
  205. "fincstp",NONE,NONE,0,"\x2\xD9\xF7",
  206. "finit",NONE,NONE,0,"\x4\x9B\xDB\xE3",
  207. "fninit",NONE,NONE,0,"\x2\xDB\xE3",
  208. "fisub",MEM16,NONE,_4,"\x1\xDE",
  209. 0,MEM32,NONE,_4,"\x1\xDA",
  210. "fisubr",MEM16,NONE,_5,"\x1\xDE",
  211. 0,MEM32,NONE,_5,"\x1\xDA",
  212. "fld",MEM32,NONE,_0,"\x1\xD9",
  213. 0,FPUREG,NONE,PLUSREG,"\x2\xD9\xC0",
  214. "fld1",NONE,NONE,0,"\x2\xD9\xE8",
  215. "fldl2e",NONE,NONE,0,"\x2\xD9\xEA",
  216. "fldl2t",NONE,NONE,0,"\x2\xD9\xE9",
  217. "fldlg2",NONE,NONE,0,"\x2\xD9\xEC",
  218. "fldln2",NONE,NONE,0,"\x2\xD9\xED",
  219. "fldpi",NONE,NONE,0,"\x2\xD9\xEB",
  220. "fldz",NONE,NONE,0,"\x2\xD9\xEE",
  221. "fldcw",MEM16,NONE,_5,"\x1\xD9",
  222. "fldenv",MEM,NONE,_4,"\x1\xD9",
  223. "fmul",MEM32,NONE,_1,"\x1\xD8",
  224. 0,FPUREG,NONE,PLUSREG,"\x2\xD8\xC8",
  225. 0,ST0,FPUREG,PLUSREG,"\x2\xD8\xC8",
  226. 0,FPUREG,ST0,PLUSREG,"\x2\xDC\xC8",
  227. "fmulp",FPUREG,NONE,PLUSREG,"\x2\xDE\xC8",
  228. 0,FPUREG,ST0,PLUSREG,"\x2\xDE\xC8",
  229. "fnop",NONE,NONE,0,"\x2\xD9\xD0",
  230. "fpatan",NONE,NONE,0,"\x2\xD9\xF3",
  231. "fptan",NONE,NONE,0,"\x2\xD9\xF2",
  232. "fprem",NONE,NONE,0,"\x2\xD9\xF8",
  233. "fprem1",NONE,NONE,0,"\x2\xD9\xF5",
  234. "frndint",NONE,NONE,0,"\x2\xD9\xFC",
  235. "fsave",MEM,NONE,_6,"\x2\x9B\xDD",
  236. "fnsave",MEM,NONE,_6,"\x1\xDD",
  237. "frstor",MEM,NONE,_4,"\x1\xDD",
  238. "fscale",NONE,NONE,0,"\x2\xD9\xFD",
  239. "fsetpm",NONE,NONE,0,"\x2\xDB\xE4",
  240. "fsin",NONE,NONE,0,"\x2\xD9\xFE",
  241. "fsincos",NONE,NONE,0,"\x2\xD9\xFB",
  242. "fsqrt",NONE,NONE,0,"\x2\xD9\xFA",
  243. "fst",MEM32,NONE,_2,"\x1\xD9",
  244. 0,FPUREG,NONE,PLUSREG,"\x2\xDD\xD0",
  245. "fstp",MEM32,NONE,_3,"\x1\xD9",
  246. 0,FPUREG,NONE,PLUSREG,"\x2\xDD\xD8",
  247. "fstcw",MEM16,NONE,_0,"\x2\x9B\xD9",
  248. "fnstcw",MEM16,NONE,_0,"\x1\xD9",
  249. "fstenv",MEM,NONE,_6,"\x2\x9B\xD9",
  250. "fnstenv",MEM,NONE,_6,"\x1\xD9",
  251. "fstsw",MEM16,NONE,_0,"\x2\x9B\xDD",
  252. 0,AX,NONE,0,"\x4\x9B\xDF\xE0",
  253. "fnstsw",MEM16,NONE,_0,"\x1\xDD",
  254. 0,AX,NONE,0,"\x2\xDF\xE0",
  255. "fsub",MEM32,NONE,_4,"\x1\xD8",
  256. 0,FPUREG,NONE,PLUSREG,"\x2\xD8\xE0",
  257. 0,ST0,FPUREG,PLUSREG,"\x2\xD8\xE0",
  258. 0,FPUREG,ST0,PLUSREG,"\x2\xDC\xE8",
  259. "fsubr",MEM32,NONE,_5,"\x1\xD8",
  260. 0,FPUREG,NONE,PLUSREG,"\x2\xD8\xE8",
  261. 0,ST0,FPUREG,PLUSREG,"\x2\xD8\xE8",
  262. 0,FPUREG,ST0,PLUSREG,"\x2\xDC\xE0",
  263. "fsubp",FPUREG,NONE,PLUSREG,"\x2\xDE\xE8",
  264. 0,FPUREG,ST0,PLUSREG,"\x2\xDE\xE8",
  265. "fsubrp",FPUREG,NONE,PLUSREG,"\x2\xDE\xE0",
  266. 0,FPUREG,ST0,PLUSREG,"\x2\xDE\xE0",
  267. "ftst",NONE,NONE,0,"\x2\xD9\xE4",
  268. "fucom",FPUREG,NONE,PLUSREG,"\x2\xDD\xE0",
  269. 0,ST0,FPUREG,PLUSREG,"\x2\xDD\xE0",
  270. "fucomp",FPUREG,NONE,PLUSREG,"\x2\xDD\xE8",
  271. 0,ST0,FPUREG,PLUSREG,"\x2\xDD\xE8",
  272. "fucompp",NONE,NONE,0,"\x2\xDA\xE9",
  273. "fucomi",FPUREG,NONE,PLUSREG,"\x2\xDB\xE8",
  274. 0,ST0,FPUREG,PLUSREG,"\x2\xDB\xE8",
  275. "fucomip",FPUREG,NONE,PLUSREG,"\x2\xDF\xE8",
  276. 0,ST0,FPUREG,PLUSREG,"\x2\xDF\xE8",
  277. "fxam",NONE,NONE,0,"\x2\xD9\xE5",
  278. "fxch",NONE,NONE,0,"\x2\xD9\xC9",
  279. 0,FPUREG,NONE,PLUSREG,"\x2\xD9\xC8",
  280. 0,FPUREG,ST0,PLUSREG,"\x2\xD9\xC8",
  281. 0,ST0,FPUREG,PLUSREG,"\x2\xD9\xC8",
  282. "fxtract",NONE,NONE,0,"\x2\xD9\xF4",
  283. "fyl2x",NONE,NONE,0,"\x2\xD9\xF1",
  284. "fyl2xp1",NONE,NONE,0,"\x2\xD9\xF9",
  285. "hlt",NONE,NONE,0,"\x1\xF4",
  286. "ibts",R_M16,REG16,O16|_R,"\x2\x0F\xA7",
  287. 0,R_M32,REG32,O32|_R,"\x2\x0F\xA7",
  288. "idiv",R_M8,NONE,_7,"\x1\xF6",
  289. 0,R_M16,NONE,O16|_7,"\x1\xF7",
  290. 0,R_M32,NONE,O32|_7,"\x1\xF7",
  291. "imul",R_M8,NONE,_5,"\x1\xF6",
  292. 0,R_M16,NONE,O16|_5,"\x1\xF7",
  293. 0,R_M32,NONE,O32|_5,"\x1\xF7",
  294. 0,REG16,R_M16,O16|_R,"\x2\x0F\xAF",
  295. 0,REG32,R_M32,O32|_R,"\x2\x0F\xAF",
  296. 0,REG16,IMM8,O16|_R|IB,"\x1\x6B",
  297. 0,REG16,IMM16,O16|_R|IW,"\x1\x69",
  298. 0,REG32,IMM8,O32|_R|IB,"\x1\x6B",
  299. 0,REG32,IMM32,O32|_R|ID,"\x1\x69",
  300. "in",AL,IMM8,IB,"\x1\xE4",
  301. 0,AX,IMM8,O16|IB,"\x1\xE5",
  302. 0,EAX,IMM8,O32|IB,"\x1\xE5",
  303. "inc",REG16,NONE,O16|PLUSREG,"\x1\x40",
  304. 0,REG32,NONE,O32|PLUSREG,"\x1\x40",
  305. 0,R_M8,NONE,_0,"\x1\xFE",
  306. 0,R_M16,NONE,O16|_0,"\x1\xFF",
  307. 0,R_M32,NONE,O32|_0,"\x1\xFF",
  308. "insb",NONE,NONE,0,"\x1\x6C",
  309. "insw",NONE,NONE,O16,"\x1\x6D",
  310. "insd",NONE,NONE,O32,"\x1\x6D",
  311. "int",IMM8,NONE,IB,"\x1\xCD",
  312. "int1",NONE,NONE,0,"\x1\xF1",
  313. "icebp",NONE,NONE,0,"\x1\xF1",
  314. "int01",NONE,NONE,0,"\x1\xF1",
  315. "int3",NONE,NONE,0,"\x1\xCC",
  316. "into",NONE,NONE,0,"\x1\xCE",
  317. "invd",NONE,NONE,0,"\x2\x0F\x08",
  318. "invlpg",MEM,NONE,_0,"\x2\x0F\x01",
  319. "iret",NONE,NONE,0,"\x1\xCF",
  320. "iretw",NONE,NONE,O16,"\x1\xCF",
  321. "iretd",NONE,NONE,O32,"\x1\xCF",
  322. "jmp",IMM,NONE,RW_RD,"\x1\xE9",
  323. 0,R_M16,NONE,O16|_4,"\x1\xFF",
  324. 0,R_M32,NONE,O32|_4,"\x1\xFF",
  325. "lahf",NONE,NONE,0,"\x1\x9F",
  326. "lar",REG16,R_M16,O16|_R,"\x2\x0F\x02",
  327. 0,REG32,R_M32,O32|_R,"\x2\x0F\x02",
  328. "lds",REG16,MEM,O16|_R,"\x1\xC5",
  329. 0,REG32,MEM,O32|_R,"\x1\xC5",
  330. "les",REG16,MEM,O16|_R,"\x1\xC4",
  331. 0,REG32,MEM,O32|_R,"\x1\xC4",
  332. "lfs",REG16,MEM,O16|_R,"\x2\x0F\xB4",
  333. 0,REG32,MEM,O32|_R,"\x2\x0F\xB4",
  334. "lgs",REG16,MEM,O16|_R,"\x2\x0F\xB5",
  335. 0,REG32,MEM,O32|_R,"\x2\x0F\xB5",
  336. "lss",REG16,MEM,O16|_R,"\x2\x0F\xB2",
  337. 0,REG32,MEM,O32|_R,"\x2\x0F\xB2",
  338. "lea",REG16,MEM,O16|_R,"\x1\x8D",
  339. 0,REG32,MEM,O32|_R,"\x1\x8D",
  340. "leave",NONE,NONE,0,"\x1\xC9",
  341. "lgdt",MEM,NONE,_2,"\x2\x0F\x01",
  342. "lidt",MEM,NONE,_3,"\x2\x0F\x01",
  343. "lldt",R_M16,NONE,_2,"\x2\x0F\x00",
  344. "lmsw",R_M16,NONE,_6,"\x2\x0F\x01",
  345. "loadall",NONE,NONE,0,"\x2\x0F\x07",
  346. "loadall286",NONE,NONE,0,"\x2\x0F\x05",
  347. "lodsb",NONE,NONE,0,"\x1\xAC",
  348. "lodsw",NONE,NONE,O16,"\x1\xAD",
  349. "lodsd",NONE,NONE,O32,"\x1\xAD",
  350. "lsl",REG16,R_M16,O16|_R,"\x2\x0F\x03",
  351. 0,REG32,R_M32,O32|_R,"\x2\x0F\x03",
  352. "ltr",R_M16,NONE,_3,"\x2\x0F\x00",
  353. "mov",R_M8,REG8,_R,"\x1\x88",
  354. 0,R_M16,REG16,O16|_R,"\x1\x89",
  355. 0,R_M32,REG32,O32|_R,"\x1\x89",
  356. 0,REG8,R_M8,_R,"\x1\x8A",
  357. 0,REG16,R_M16,O16|_R,"\x1\x8B",
  358. 0,REG32,R_M32,O32|_R,"\x1\x8B",
  359. 0,REG8,IMM8,PLUSREG|IB,"\x1\xB0",
  360. 0,REG16,IMM16,O16|PLUSREG|IW,"\x1\xB8",
  361. 0,REG32,IMM32,O32|PLUSREG|ID,"\x1\xB8",
  362. 0,R_M8,IMM8,_0|IB,"\x1\xC6",
  363. 0,R_M16,IMM16,O16|_0|IW,"\x1\xC7",
  364. 0,R_M32,IMM32,O32|_0|ID,"\x1\xC7",
  365. "movsb",NONE,NONE,0,"\x1\xA4",
  366. "movsw",NONE,NONE,O16,"\x1\xA5",
  367. "movsd",NONE,NONE,O32,"\x1\xA5",
  368. "movsx",REG16,R_M8,O16|_R,"\x2\x0F\xBE",
  369. 0,REG32,R_M8,O32|_R,"\x2\x0F\xBE",
  370. 0,REG32,R_M16,O32|_R,"\x2\x0F\xBF",
  371. "movzx",REG16,R_M8,O16|_R,"\x2\x0F\xB6",
  372. 0,REG32,R_M8,O32|_R,"\x2\x0F\xB6",
  373. 0,REG32,R_M16,O32|_R,"\x2\x0F\xB7",
  374. "mul",R_M8,NONE,_4,"\x1\xF6",
  375. 0,R_M16,NONE,O16|_4,"\x1\xF7",
  376. 0,R_M32,NONE,O32|_4,"\x1\xF7",
  377. "neg",R_M8,NONE,_3,"\x1\xF6",
  378. 0,R_M16,NONE,O16|_3,"\x1\xF7",
  379. 0,R_M32,NONE,O32|_3,"\x1\xF7",
  380. "not",R_M8,NONE,_2,"\x1\xF6",
  381. 0,R_M16,NONE,O16|_2,"\x1\xF7",
  382. 0,R_M32,NONE,O32|_2,"\x1\xF7",
  383. "nop",NONE,NONE,0,"\x1\x90",
  384. "or",AL,IMM8,IB,"\x1\x0C",
  385. 0,AX,IMM16,O16|IW,"\x1\x0D",
  386. 0,EAX,IMM32,O32|ID,"\x1\x0D",
  387. 0,R_M8,REG8,_R,"\x1\x08",
  388. 0,R_M16,REG16,O16|_R,"\x1\x09",
  389. 0,R_M32,REG32,O32|_R,"\x1\x09",
  390. 0,REG8,R_M8,_R,"\x1\x0A",
  391. 0,REG16,R_M16,O16|_R,"\x1\x0B",
  392. 0,REG32,R_M32,O32|_R,"\x1\x0B",
  393. 0,R_M8,IMM8,_1|IB,"\x1\x80",
  394. 0,R_M16,IMM16,O16|_1|IW,"\x1\x81",
  395. 0,R_M32,IMM32,O32|_1|ID,"\x1\x81",
  396. 0,R_M16,IMM8,O16|_1|IB,"\x1\x83",
  397. 0,R_M32,IMM8,O32|_1|IB,"\x1\x83",
  398. "out",IMM8,AL,IB,"\x1\xE6",
  399. 0,IMM8,AX,O16|IB,"\x1\xE7",
  400. 0,IMM8,EAX,O32|IB,"\x1\xE7",
  401. "outsb",NONE,NONE,0,"\x1\x6E",
  402. "outsw",NONE,NONE,O16,"\x1\x6F",
  403. "outsd",NONE,NONE,O32,"\x1\x6F",
  404. "pop",REG16,NONE,O16|PLUSREG,"\x1\x58",
  405. 0,REG32,NONE,O32|PLUSREG,"\x1\x58",
  406. 0,R_M16,NONE,O16|_0,"\x1\x8F",
  407. 0,R_M32,NONE,O32|_0,"\x1\x8F",
  408. "popa",NONE,NONE,0,"\x1\x61",
  409. "popaw",NONE,NONE,O16,"\x1\x61",
  410. "popad",NONE,NONE,O32,"\x1\x61",
  411. "popf",NONE,NONE,0,"\x1\x9D",
  412. "popfw",NONE,NONE,O16,"\x1\x9D",
  413. "popfd",NONE,NONE,O32,"\x1\x9D",
  414. "push",REG16,NONE,O16|PLUSREG,"\x1\x50",
  415. 0,REG32,NONE,O32|PLUSREG,"\x1\x50",
  416. 0,R_M16,NONE,O16|_6,"\x1\xFF",
  417. 0,R_M32,NONE,O32|_6,"\x1\xFF",
  418. 0,IMM8,NONE,IB,"\x1\x6A",
  419. 0,IMM16,NONE,O16|IW,"\x1\x68",
  420. 0,IMM32,NONE,O32|ID,"\x1\x68",
  421. "pusha",NONE,NONE,0,"\x1\x60",
  422. "pushad",NONE,NONE,O32,"\x1\x60",
  423. "pushaw",NONE,NONE,O16,"\x1\x60",
  424. "pushf",NONE,NONE,0,"\x1\x9C",
  425. "pushfd",NONE,NONE,O32,"\x1\x9C",
  426. "pushfw",NONE,NONE,O16,"\x1\x9C",
  427. "rcl",R_M8,CL,_2,"\x1\xD2",
  428. 0,R_M8,IMM8,_2|IB,"\x1\xC0",
  429. 0,R_M16,CL,O16|_2,"\x1\xD3",
  430. 0,R_M16,IMM8,O16|_2|IB,"\x1\xC1",
  431. 0,R_M32,CL,O32|_2,"\x1\xD3",
  432. 0,R_M32,IMM8,O32|_2|IB,"\x1\xC1",
  433. "rcr",R_M8,CL,_3,"\x1\xD2",
  434. 0,R_M8,IMM8,_3|IB,"\x1\xC0",
  435. 0,R_M16,CL,O16|_3,"\x1\xD3",
  436. 0,R_M16,IMM8,O16|_3|IB,"\x1\xC1",
  437. 0,R_M32,CL,O32|_3,"\x1\xD3",
  438. 0,R_M32,IMM8,O32|_3|IB,"\x1\xC1",
  439. "rdmsr",NONE,NONE,0,"\x2\x0F\x32",
  440. "rdpmc",NONE,NONE,0,"\x2\x0F\x33",
  441. "rdtsc",NONE,NONE,0,"\x2\x0F\x31",
  442. "ret",NONE,NONE,0,"\x1\xC3",
  443. 0,IMM16,NONE,IW,"\x1\xC2",
  444. "retf",NONE,NONE,0,"\x1\xCB",
  445. 0,IMM16,NONE,IW,"\x1\xCA",
  446. "retn",NONE,NONE,0,"\x1\xC3",
  447. 0,IMM16,NONE,IW,"\x1\xC2",
  448. "rol",R_M8,CL,_0,"\x1\xD2",
  449. 0,R_M8,IMM8,_0|IB,"\x1\xC0",
  450. 0,R_M16,CL,O16|_0,"\x1\xD3",
  451. 0,R_M16,IMM8,O16|_0|IB,"\x1\xC1",
  452. 0,R_M32,CL,O32|_0,"\x1\xD3",
  453. 0,R_M32,IMM8,O32|_0|IB,"\x1\xC1",
  454. "ror",R_M8,CL,_1,"\x1\xD2",
  455. 0,R_M8,IMM8,_1|IB,"\x1\xC0",
  456. 0,R_M16,CL,O16|_1,"\x1\xD3",
  457. 0,R_M16,IMM8,O16|_1|IB,"\x1\xC1",
  458. 0,R_M32,CL,O32|_1,"\x1\xD3",
  459. 0,R_M32,IMM8,O32|_1|IB,"\x1\xC1",
  460. "rsm",NONE,NONE,0,"\x2\x0F\xAA",
  461. "sahf",NONE,NONE,0,"\x1\x9E",
  462. "sal",R_M8,CL,_4,"\x1\xD2",
  463. 0,R_M8,IMM8,_4|IB,"\x1\xC0",
  464. 0,R_M16,CL,O16|_4,"\x1\xD3",
  465. 0,R_M16,IMM8,O16|_4|IB,"\x1\xC1",
  466. 0,R_M32,CL,O32|_4,"\x1\xD3",
  467. 0,R_M32,IMM8,O32|_4|IB,"\x1\xC1",
  468. "sar",R_M8,CL,_7,"\x1\xD2",
  469. 0,R_M8,IMM8,_7|IB,"\x1\xC0",
  470. 0,R_M16,CL,O16|_7,"\x1\xD3",
  471. 0,R_M16,IMM8,O16|_7|IB,"\x1\xC1",
  472. 0,R_M32,CL,O32|_7,"\x1\xD3",
  473. 0,R_M32,IMM8,O32|_7|IB,"\x1\xC1",
  474. "salc",NONE,NONE,0,"\x1\xD6",
  475. "sbb",AL,IMM8,IB,"\x1\x1C",
  476. 0,AX,IMM16,O16|IW,"\x1\x1D",
  477. 0,EAX,IMM32,O32|ID,"\x1\x1D",
  478. 0,R_M8,REG8,_R,"\x1\x18",
  479. 0,R_M16,REG16,O16|_R,"\x1\x19",
  480. 0,R_M32,REG32,O32|_R,"\x1\x19",
  481. 0,REG8,R_M8,_R,"\x1\x1A",
  482. 0,REG16,R_M16,O16|_R,"\x1\x1B",
  483. 0,REG32,R_M32,O32|_R,"\x1\x1B",
  484. 0,R_M8,IMM8,_3|IB,"\x1\x80",
  485. 0,R_M16,IMM16,O16|_3|IW,"\x1\x81",
  486. 0,R_M32,IMM32,O32|_3|ID,"\x1\x81",
  487. 0,R_M16,IMM8,O16|_3|IB,"\x1\x83",
  488. 0,R_M32,IMM8,O32|_3|IB,"\x1\x83",
  489. "scasb",NONE,NONE,0,"\x1\xAE",
  490. "scasw",NONE,NONE,O16,"\x1\xAF",
  491. "scasd",NONE,NONE,O32,"\x1\xAF",
  492. "sgdt",MEM,NONE,_0,"\x2\x0F\x01",
  493. "sidt",MEM,NONE,_1,"\x2\x0F\x01",
  494. "sldt",R_M16,NONE,_0,"\x2\x0F\x00",
  495. "shl",R_M8,CL,_4,"\x1\xD2",
  496. 0,R_M8,IMM8,_4|IB,"\x1\xC0",
  497. 0,R_M16,CL,O16|_4,"\x1\xD3",
  498. 0,R_M16,IMM8,O16|_4|IB,"\x1\xC1",
  499. 0,R_M32,CL,O32|_4,"\x1\xD3",
  500. 0,R_M32,IMM8,O32|_4|IB,"\x1\xC1",
  501. "shr",R_M8,CL,_5,"\x1\xD2",
  502. 0,R_M8,IMM8,_5|IB,"\x1\xC0",
  503. 0,R_M16,CL,O16|_5,"\x1\xD3",
  504. 0,R_M16,IMM8,O16|_5|IB,"\x1\xC1",
  505. 0,R_M32,CL,O32|_5,"\x1\xD3",
  506. 0,R_M32,IMM8,O32|_5|IB,"\x1\xC1",
  507. "smi",NONE,NONE,0,"\x1\xF1",
  508. "smsw",R_M16,NONE,_4,"\x2\x0F\x01",
  509. "stc",NONE,NONE,0,"\x1\xF9",
  510. "std",NONE,NONE,0,"\x1\xFD",
  511. "sti",NONE,NONE,0,"\x1\xFB",
  512. "stosb",NONE,NONE,0,"\x1\xAA",
  513. "stosw",NONE,NONE,O16,"\x1\xAB",
  514. "stosd",NONE,NONE,O32,"\x1\xAB",
  515. "str",R_M16,NONE,_1,"\x2\x0F\x00",
  516. "sub",AL,IMM8,IB,"\x1\x2C",
  517. 0,AX,IMM16,O16|IW,"\x1\x2D",
  518. 0,EAX,IMM32,O32|ID,"\x1\x2D",
  519. 0,R_M8,REG8,_R,"\x1\x28",
  520. 0,R_M16,REG16,O16|_R,"\x1\x29",
  521. 0,R_M32,REG32,O32|_R,"\x1\x29",
  522. 0,REG8,R_M8,_R,"\x1\x2A",
  523. 0,REG16,R_M16,O16|_R,"\x1\x2B",
  524. 0,REG32,R_M32,O32|_R,"\x1\x2B",
  525. 0,R_M8,IMM8,_5|IB,"\x1\x80",
  526. 0,R_M16,IMM16,O16|_5|IW,"\x1\x81",
  527. 0,R_M32,IMM32,O32|_5|ID,"\x1\x81",
  528. 0,R_M16,IMM8,O16|_5|IB,"\x1\x83",
  529. 0,R_M32,IMM8,O32|_5|IB,"\x1\x83",
  530. "test",AL,IMM8,IB,"\x1\xA8",
  531. 0,AX,IMM16,O16|IW,"\x1\xA9",
  532. 0,EAX,IMM32,O32|ID,"\x1\xA9",
  533. 0,R_M8,REG8,_R,"\x1\x84",
  534. 0,R_M16,REG16,O16|_R,"\x1\x85",
  535. 0,R_M32,REG32,O32|_R,"\x1\x85",
  536. 0,R_M8,IMM8,_7|IB,"\x1\xF6",
  537. 0,R_M16,IMM16,O16|_7|IW,"\x1\xF7",
  538. 0,R_M32,IMM32,O32|_7|ID,"\x1\xF7",
  539. "umov",R_M8,REG8,_R,"\x2\x0F\x10",
  540. 0,R_M16,REG16,O16|_R,"\x2\x0F\x11",
  541. 0,R_M32,REG32,O32|_R,"\x2\x0F\x11",
  542. 0,REG8,R_M8,_R,"\x2\x0F\x12",
  543. 0,REG16,R_M16,O16|_R,"\x2\x0F\x13",
  544. 0,REG32,R_M32,O32|_R,"\x2\x0F\x13",
  545. "verr",R_M16,NONE,_4,"\x2\x0F\x00",
  546. "verw",R_M16,NONE,_5,"\x2\x0F\x00",
  547. "wait",NONE,NONE,0,"\x1\x9B",
  548. "wbinvd",NONE,NONE,0,"\x2\x0F\x09",
  549. "wrmsr",NONE,NONE,0,"\x2\x0F\x30",
  550. "xadd",R_M8,REG8,_R,"\x2\x0F\xC0",
  551. 0,R_M16,REG16,O16|_R,"\x2\x0F\xC1",
  552. 0,R_M32,REG32,O32|_R,"\x2\x0F\xC1",
  553. "xbts",REG16,R_M16,O16|_R,"\x2\x0F\xA6",
  554. 0,REG32,R_M32,O32|_R,"\x2\x0F\xA6",
  555. "xchg",REG8,R_M8,_R,"\x1\x86",
  556. 0,REG16,R_M8,O16|_R,"\x1\x87",
  557. 0,REG32,R_M32,O32|_R,"\x1\x87",
  558. 0,R_M8,REG8,_R,"\x1\x86",
  559. 0,R_M16,REG16,O16|_R,"\x1\x87",
  560. 0,R_M32,REG32,O32|_R,"\x1\x87",
  561. 0,AX,REG16,O16|PLUSREG,"\x1\x90",
  562. 0,EAX,REG32,O32|PLUSREG,"\x1\x90",
  563. 0,REG16,AX,O16|PLUSREG,"\x1\x90",
  564. 0,REG32,EAX,O32|PLUSREG,"\x1\x90",
  565. "xlatb",NONE,NONE,0,"\x1\xD7",
  566. "xor",AL,IMM8,IB,"\x1\x34",
  567. 0,AX,IMM16,O16|IW,"\x1\x35",
  568. 0,EAX,IMM32,O32|ID,"\x1\x35",
  569. 0,R_M8,REG8,_R,"\x1\x30",
  570. 0,R_M16,REG16,O16|_R,"\x1\x31",
  571. 0,R_M32,REG32,O32|_R,"\x1\x31",
  572. 0,REG8,R_M8,_R,"\x1\x32",
  573. 0,REG16,R_M16,O16|_R,"\x1\x33",
  574. 0,REG32,R_M32,O32|_R,"\x1\x33",
  575. 0,R_M8,IMM8,_6|IB,"\x1\x80",
  576. 0,R_M16,IMM16,O16|_6|IW,"\x1\x81",
  577. 0,R_M32,IMM32,O32|_6|ID,"\x1\x81",
  578. 0,R_M16,IMM8,O16|_6|IB,"\x1\x83",
  579. 0,R_M32,IMM8,O32|_6|IB,"\x1\x83",
  580. "",0,0,0,0
  581. };