instr.h 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545
  1. /****************************************************************************
  2. * *
  3. * Third Year Project *
  4. * *
  5. * An IBM PC Emulator *
  6. * For Unix and X Windows *
  7. * *
  8. * By David Hedley *
  9. * *
  10. * *
  11. * This program is Copyrighted. Consult the file COPYRIGHT for more details *
  12. * *
  13. ****************************************************************************/
  14. /* This is INSTR.H It contains the functions corresponding to each individual
  15. instruction in the 80x86 set */
  16. /*
  17. added 186 instruction by Tomoyuki 'ZRY' Nakano
  18. */
  19. #ifndef INSTR_H
  20. #define INSTR_H
  21. #ifdef __cplusplus
  22. extern "C" {
  23. #endif
  24. static INLINE2 void i_add_br8(void);
  25. static INLINE2 void i_add_wr16(void);
  26. static INLINE2 void i_add_r8b(void);
  27. static INLINE2 void i_add_r16w(void);
  28. static INLINE2 void i_add_ald8(void);
  29. static INLINE2 void i_add_axd16(void);
  30. static INLINE2 void i_push_es(void);
  31. static INLINE2 void i_pop_es(void);
  32. static INLINE2 void i_or_br8(void);
  33. static INLINE2 void i_or_r8b(void);
  34. static INLINE2 void i_or_wr16(void);
  35. static INLINE2 void i_or_r16w(void);
  36. static INLINE2 void i_or_ald8(void);
  37. static INLINE2 void i_or_axd16(void);
  38. static INLINE2 void i_push_cs(void);
  39. static INLINE2 void i_adc_br8(void);
  40. static INLINE2 void i_adc_wr16(void);
  41. static INLINE2 void i_adc_r8b(void);
  42. static INLINE2 void i_adc_r16w(void);
  43. static INLINE2 void i_adc_ald8(void);
  44. static INLINE2 void i_adc_axd16(void);
  45. static INLINE2 void i_push_ss(void);
  46. static INLINE2 void i_pop_ss(void);
  47. static INLINE2 void i_sbb_br8(void);
  48. static INLINE2 void i_sbb_wr16(void);
  49. static INLINE2 void i_sbb_r8b(void);
  50. static INLINE2 void i_sbb_r16w(void);
  51. static INLINE2 void i_sbb_ald8(void);
  52. static INLINE2 void i_sbb_axd16(void);
  53. static INLINE2 void i_push_ds(void);
  54. static INLINE2 void i_pop_ds(void);
  55. static INLINE2 void i_and_br8(void);
  56. static INLINE2 void i_and_r8b(void);
  57. static INLINE2 void i_and_wr16(void);
  58. static INLINE2 void i_and_r16w(void);
  59. static INLINE2 void i_and_ald8(void);
  60. static INLINE2 void i_and_axd16(void);
  61. static INLINE2 void i_es(void);
  62. static INLINE2 void i_daa(void);
  63. static INLINE2 void i_sub_br8(void);
  64. static INLINE2 void i_sub_wr16(void);
  65. static INLINE2 void i_sub_r8b(void);
  66. static INLINE2 void i_sub_r16w(void);
  67. static INLINE2 void i_sub_ald8(void);
  68. static INLINE2 void i_sub_axd16(void);
  69. static INLINE2 void i_cs(void);
  70. static INLINE2 void i_xor_br8(void);
  71. static INLINE2 void i_xor_r8b(void);
  72. static INLINE2 void i_xor_wr16(void);
  73. static INLINE2 void i_xor_r16w(void);
  74. static INLINE2 void i_xor_ald8(void);
  75. static INLINE2 void i_xor_axd16(void);
  76. static INLINE2 void i_ss(void);
  77. static INLINE2 void i_cmp_br8(void);
  78. static INLINE2 void i_cmp_wr16(void);
  79. static INLINE2 void i_cmp_r8b(void);
  80. static INLINE2 void i_cmp_r16w(void);
  81. static INLINE2 void i_cmp_ald8(void);
  82. static INLINE2 void i_cmp_axd16(void);
  83. static INLINE2 void i_ds(void);
  84. static INLINE2 void i_inc_ax(void);
  85. static INLINE2 void i_inc_cx(void);
  86. static INLINE2 void i_inc_dx(void);
  87. static INLINE2 void i_inc_bx(void);
  88. static INLINE2 void i_inc_sp(void);
  89. static INLINE2 void i_inc_bp(void);
  90. static INLINE2 void i_inc_si(void);
  91. static INLINE2 void i_inc_di(void);
  92. static INLINE2 void i_dec_ax(void);
  93. static INLINE2 void i_dec_cx(void);
  94. static INLINE2 void i_dec_dx(void);
  95. static INLINE2 void i_dec_bx(void);
  96. static INLINE2 void i_dec_sp(void);
  97. static INLINE2 void i_dec_bp(void);
  98. static INLINE2 void i_dec_si(void);
  99. static INLINE2 void i_dec_di(void);
  100. static INLINE2 void i_push_ax(void);
  101. static INLINE2 void i_push_cx(void);
  102. static INLINE2 void i_push_dx(void);
  103. static INLINE2 void i_push_bx(void);
  104. static INLINE2 void i_push_sp(void);
  105. static INLINE2 void i_push_bp(void);
  106. static INLINE2 void i_push_si(void);
  107. static INLINE2 void i_push_di(void);
  108. static INLINE2 void i_pop_ax(void);
  109. static INLINE2 void i_pop_cx(void);
  110. static INLINE2 void i_pop_dx(void);
  111. static INLINE2 void i_pop_bx(void);
  112. static INLINE2 void i_pop_sp(void);
  113. static INLINE2 void i_pop_bp(void);
  114. static INLINE2 void i_pop_si(void);
  115. static INLINE2 void i_pop_di(void);
  116. static INLINE2 void i_jo(void);
  117. static INLINE2 void i_jno(void);
  118. static INLINE2 void i_jb(void);
  119. static INLINE2 void i_jnb(void);
  120. static INLINE2 void i_jz(void);
  121. static INLINE2 void i_jnz(void);
  122. static INLINE2 void i_jbe(void);
  123. static INLINE2 void i_jnbe(void);
  124. static INLINE2 void i_js(void);
  125. static INLINE2 void i_jns(void);
  126. static INLINE2 void i_jp(void);
  127. static INLINE2 void i_jnp(void);
  128. static INLINE2 void i_jl(void);
  129. static INLINE2 void i_jnl(void);
  130. static INLINE2 void i_jle(void);
  131. static INLINE2 void i_jnle(void);
  132. static INLINE2 void i_80pre(void);
  133. static INLINE2 void i_81pre(void);
  134. static INLINE2 void i_83pre(void);
  135. static INLINE2 void i_test_br8(void);
  136. static INLINE2 void i_test_wr16(void);
  137. static INLINE2 void i_xchg_br8(void);
  138. static INLINE2 void i_xchg_wr16(void);
  139. static INLINE2 void i_mov_br8(void);
  140. static INLINE2 void i_mov_r8b(void);
  141. static INLINE2 void i_mov_wr16(void);
  142. static INLINE2 void i_mov_r16w(void);
  143. static INLINE2 void i_mov_wsreg(void);
  144. static INLINE2 void i_lea(void);
  145. static INLINE2 void i_mov_sregw(void);
  146. static INLINE2 void i_notdone(void);
  147. static INLINE2 void i_popw(void);
  148. static INLINE2 void i_nop(void);
  149. static INLINE2 void i_xchg_axcx(void);
  150. static INLINE2 void i_xchg_axdx(void);
  151. static INLINE2 void i_xchg_axbx(void);
  152. static INLINE2 void i_xchg_axsp(void);
  153. static INLINE2 void i_xchg_axbp(void);
  154. static INLINE2 void i_xchg_axsi(void);
  155. static INLINE2 void i_xchg_axdi(void);
  156. static INLINE2 void i_cbw(void);
  157. static INLINE2 void i_cwd(void);
  158. static INLINE2 void i_call_far(void);
  159. static INLINE2 void i_pushf(void);
  160. static INLINE2 void i_popf(void);
  161. static INLINE2 void i_sahf(void);
  162. static INLINE2 void i_lahf(void);
  163. static INLINE2 void i_mov_aldisp(void);
  164. static INLINE2 void i_mov_axdisp(void);
  165. static INLINE2 void i_mov_dispal(void);
  166. static INLINE2 void i_mov_dispax(void);
  167. static INLINE2 void i_movsb(void);
  168. static INLINE2 void i_movsw(void);
  169. static INLINE2 void i_cmpsb(void);
  170. static INLINE2 void i_cmpsw(void);
  171. static INLINE2 void i_test_ald8(void);
  172. static INLINE2 void i_test_axd16(void);
  173. static INLINE2 void i_stosb(void);
  174. static INLINE2 void i_stosw(void);
  175. static INLINE2 void i_lodsb(void);
  176. static INLINE2 void i_lodsw(void);
  177. static INLINE2 void i_scasb(void);
  178. static INLINE2 void i_scasw(void);
  179. static INLINE2 void i_mov_ald8(void);
  180. static INLINE2 void i_mov_cld8(void);
  181. static INLINE2 void i_mov_dld8(void);
  182. static INLINE2 void i_mov_bld8(void);
  183. static INLINE2 void i_mov_ahd8(void);
  184. static INLINE2 void i_mov_chd8(void);
  185. static INLINE2 void i_mov_dhd8(void);
  186. static INLINE2 void i_mov_bhd8(void);
  187. static INLINE2 void i_mov_axd16(void);
  188. static INLINE2 void i_mov_cxd16(void);
  189. static INLINE2 void i_mov_dxd16(void);
  190. static INLINE2 void i_mov_bxd16(void);
  191. static INLINE2 void i_mov_spd16(void);
  192. static INLINE2 void i_mov_bpd16(void);
  193. static INLINE2 void i_mov_sid16(void);
  194. static INLINE2 void i_mov_did16(void);
  195. static INLINE2 void i_ret_d16(void);
  196. static INLINE2 void i_ret(void);
  197. static INLINE2 void i_les_dw(void);
  198. static INLINE2 void i_lds_dw(void);
  199. static INLINE2 void i_mov_bd8(void);
  200. static INLINE2 void i_mov_wd16(void);
  201. static INLINE2 void i_retf_d16(void);
  202. static INLINE2 void i_retf(void);
  203. static INLINE2 void i_int3(void);
  204. static INLINE2 void i_int(void);
  205. static INLINE2 void i_into(void);
  206. static INLINE2 void i_iret(void);
  207. static INLINE2 void i_d0pre(void);
  208. static INLINE2 void i_d1pre(void);
  209. static INLINE2 void i_d2pre(void);
  210. static INLINE2 void i_d3pre(void);
  211. static INLINE2 void i_aam(void);
  212. static INLINE2 void i_aad(void);
  213. static INLINE2 void i_xlat(void);
  214. static INLINE2 void i_escape(void);
  215. static INLINE2 void i_loopne(void);
  216. static INLINE2 void i_loope(void);
  217. static INLINE2 void i_loop(void);
  218. static INLINE2 void i_jcxz(void);
  219. static INLINE2 void i_inal(void);
  220. static INLINE2 void i_inax(void);
  221. static INLINE2 void i_outal(void);
  222. static INLINE2 void i_outax(void);
  223. static INLINE2 void i_call_d16(void);
  224. static INLINE2 void i_jmp_d16(void);
  225. static INLINE2 void i_jmp_far(void);
  226. static INLINE2 void i_jmp_d8(void);
  227. static INLINE2 void i_inaldx(void);
  228. static INLINE2 void i_inaxdx(void);
  229. static INLINE2 void i_outdxal(void);
  230. static INLINE2 void i_outdxax(void);
  231. static INLINE2 void i_lock(void);
  232. static INLINE2 void i_repne(void);
  233. static INLINE2 void i_repe(void);
  234. static INLINE2 void i_cmc(void);
  235. static INLINE2 void i_f6pre(void);
  236. static INLINE2 void i_f7pre(void);
  237. static INLINE2 void i_clc(void);
  238. static INLINE2 void i_stc(void);
  239. static INLINE2 void i_cli(void);
  240. static INLINE2 void i_sti(void);
  241. static INLINE2 void i_cld(void);
  242. static INLINE2 void i_std(void);
  243. static INLINE2 void i_fepre(void);
  244. static INLINE2 void i_ffpre(void);
  245. static INLINE2 void i_wait(void);
  246. static INLINE2 void i_gobios(void);
  247. /*
  248. i186 instruction
  249. */
  250. static INLINE2 void i_pusha(void);
  251. static INLINE2 void i_popa(void);
  252. static INLINE2 void i_bound(void);
  253. static INLINE2 void i_push_d16(void);
  254. static INLINE2 void i_imul_d16(void);
  255. static INLINE2 void i_push_d8(void);
  256. static INLINE2 void i_imul_d8(void);
  257. static INLINE2 void i_rotshft_bd8(void);
  258. static INLINE2 void i_rotshft_wd8(void);
  259. static INLINE2 void i_enter(void);
  260. static INLINE2 void i_leave(void);
  261. static INLINE2 void i_insb(void);
  262. static INLINE2 void i_insw(void);
  263. static INLINE2 void i_outsb(void);
  264. static INLINE2 void i_outsw(void);
  265. static INLINE2 void i_das(void);
  266. static INLINE2 void i_aas(void);
  267. void (*instruction[256])(void) =
  268. {
  269. i_add_br8, /* 0x00 */
  270. i_add_wr16, /* 0x01 */
  271. i_add_r8b, /* 0x02 */
  272. i_add_r16w, /* 0x03 */
  273. i_add_ald8, /* 0x04 */
  274. i_add_axd16, /* 0x05 */
  275. i_push_es, /* 0x06 */
  276. i_pop_es, /* 0x07 */
  277. i_or_br8, /* 0x08 */
  278. i_or_wr16, /* 0x09 */
  279. i_or_r8b, /* 0x0a */
  280. i_or_r16w, /* 0x0b */
  281. i_or_ald8, /* 0x0c */
  282. i_or_axd16, /* 0x0d */
  283. i_push_cs, /* 0x0e */
  284. i_notdone,
  285. i_adc_br8, /* 0x10 */
  286. i_adc_wr16, /* 0x11 */
  287. i_adc_r8b, /* 0x12 */
  288. i_adc_r16w, /* 0x13 */
  289. i_adc_ald8, /* 0x14 */
  290. i_adc_axd16, /* 0x15 */
  291. i_push_ss, /* 0x16 */
  292. i_pop_ss, /* 0x17 */
  293. i_sbb_br8, /* 0x18 */
  294. i_sbb_wr16, /* 0x19 */
  295. i_sbb_r8b, /* 0x1a */
  296. i_sbb_r16w, /* 0x1b */
  297. i_sbb_ald8, /* 0x1c */
  298. i_sbb_axd16, /* 0x1d */
  299. i_push_ds, /* 0x1e */
  300. i_pop_ds, /* 0x1f */
  301. i_and_br8, /* 0x20 */
  302. i_and_wr16, /* 0x21 */
  303. i_and_r8b, /* 0x22 */
  304. i_and_r16w, /* 0x23 */
  305. i_and_ald8, /* 0x24 */
  306. i_and_axd16, /* 0x25 */
  307. i_es, /* 0x26 */
  308. i_daa, /* 0x27 */
  309. i_sub_br8, /* 0x28 */
  310. i_sub_wr16, /* 0x29 */
  311. i_sub_r8b, /* 0x2a */
  312. i_sub_r16w, /* 0x2b */
  313. i_sub_ald8, /* 0x2c */
  314. i_sub_axd16, /* 0x2d */
  315. i_cs, /* 0x2e */
  316. i_das, /* 0x2f */
  317. i_xor_br8, /* 0x30 */
  318. i_xor_wr16, /* 0x31 */
  319. i_xor_r8b, /* 0x32 */
  320. i_xor_r16w, /* 0x33 */
  321. i_xor_ald8, /* 0x34 */
  322. i_xor_axd16, /* 0x35 */
  323. i_ss, /* 0x36 */
  324. i_notdone,
  325. i_cmp_br8, /* 0x38 */
  326. i_cmp_wr16, /* 0x39 */
  327. i_cmp_r8b, /* 0x3a */
  328. i_cmp_r16w, /* 0x3b */
  329. i_cmp_ald8, /* 0x3c */
  330. i_cmp_axd16, /* 0x3d */
  331. i_ds, /* 0x3e */
  332. i_aas, /* 0x3f */
  333. i_inc_ax, /* 0x40 */
  334. i_inc_cx, /* 0x41 */
  335. i_inc_dx, /* 0x42 */
  336. i_inc_bx, /* 0x43 */
  337. i_inc_sp, /* 0x44 */
  338. i_inc_bp, /* 0x45 */
  339. i_inc_si, /* 0x46 */
  340. i_inc_di, /* 0x47 */
  341. i_dec_ax, /* 0x48 */
  342. i_dec_cx, /* 0x49 */
  343. i_dec_dx, /* 0x4a */
  344. i_dec_bx, /* 0x4b */
  345. i_dec_sp, /* 0x4c */
  346. i_dec_bp, /* 0x4d */
  347. i_dec_si, /* 0x4e */
  348. i_dec_di, /* 0x4f */
  349. i_push_ax, /* 0x50 */
  350. i_push_cx, /* 0x51 */
  351. i_push_dx, /* 0x52 */
  352. i_push_bx, /* 0x53 */
  353. i_push_sp, /* 0x54 */
  354. i_push_bp, /* 0x55 */
  355. i_push_si, /* 0x56 */
  356. i_push_di, /* 0x57 */
  357. i_pop_ax, /* 0x58 */
  358. i_pop_cx, /* 0x59 */
  359. i_pop_dx, /* 0x5a */
  360. i_pop_bx, /* 0x5b */
  361. i_pop_sp, /* 0x5c */
  362. i_pop_bp, /* 0x5d */
  363. i_pop_si, /* 0x5e */
  364. i_pop_di, /* 0x5f */
  365. i_pusha, /* 0x60 added */
  366. i_popa, /* 0x61 added */
  367. i_bound, /* 0x62 added */
  368. i_notdone, /* 0x63 */
  369. i_notdone, /* 0x64 */
  370. i_notdone, /* 0x65 */
  371. i_notdone, /* 0x66 */
  372. i_notdone, /* 0x67 */
  373. i_push_d16, /* 0x68 added */
  374. i_imul_d16, /* 0x69 added */
  375. i_push_d8, /* 0x6a added */
  376. i_imul_d8, /* 0x6b added */
  377. i_insb, /* 0x6c added */
  378. i_insw, /* 0x6d added */
  379. i_outsb, /* 0x6e added */
  380. i_outsw, /* 0x6f added */
  381. i_jo, /* 0x70 */
  382. i_jno, /* 0x71 */
  383. i_jb, /* 0x72 */
  384. i_jnb, /* 0x73 */
  385. i_jz, /* 0x74 */
  386. i_jnz, /* 0x75 */
  387. i_jbe, /* 0x76 */
  388. i_jnbe, /* 0x77 */
  389. i_js, /* 0x78 */
  390. i_jns, /* 0x79 */
  391. i_jp, /* 0x7a */
  392. i_jnp, /* 0x7b */
  393. i_jl, /* 0x7c */
  394. i_jnl, /* 0x7d */
  395. i_jle, /* 0x7e */
  396. i_jnle, /* 0x7f */
  397. i_80pre, /* 0x80 */
  398. i_81pre, /* 0x81 */
  399. i_notdone,
  400. i_83pre, /* 0x83 */
  401. i_test_br8, /* 0x84 */
  402. i_test_wr16, /* 0x85 */
  403. i_xchg_br8, /* 0x86 */
  404. i_xchg_wr16, /* 0x87 */
  405. i_mov_br8, /* 0x88 */
  406. i_mov_wr16, /* 0x89 */
  407. i_mov_r8b, /* 0x8a */
  408. i_mov_r16w, /* 0x8b */
  409. i_mov_wsreg, /* 0x8c */
  410. i_lea, /* 0x8d */
  411. i_mov_sregw, /* 0x8e */
  412. i_popw, /* 0x8f */
  413. i_nop, /* 0x90 */
  414. i_xchg_axcx, /* 0x91 */
  415. i_xchg_axdx, /* 0x92 */
  416. i_xchg_axbx, /* 0x93 */
  417. i_xchg_axsp, /* 0x94 */
  418. i_xchg_axbp, /* 0x95 */
  419. i_xchg_axsi, /* 0x97 */
  420. i_xchg_axdi, /* 0x97 */
  421. i_cbw, /* 0x98 */
  422. i_cwd, /* 0x99 */
  423. i_call_far, /* 0x9a */
  424. i_wait, /* 0x9b */
  425. i_pushf, /* 0x9c */
  426. i_popf, /* 0x9d */
  427. i_sahf, /* 0x9e */
  428. i_lahf, /* 0x9f */
  429. i_mov_aldisp, /* 0xa0 */
  430. i_mov_axdisp, /* 0xa1 */
  431. i_mov_dispal, /* 0xa2 */
  432. i_mov_dispax, /* 0xa3 */
  433. i_movsb, /* 0xa4 */
  434. i_movsw, /* 0xa5 */
  435. i_cmpsb, /* 0xa6 */
  436. i_cmpsw, /* 0xa7 */
  437. i_test_ald8, /* 0xa8 */
  438. i_test_axd16, /* 0xa9 */
  439. i_stosb, /* 0xaa */
  440. i_stosw, /* 0xab */
  441. i_lodsb, /* 0xac */
  442. i_lodsw, /* 0xad */
  443. i_scasb, /* 0xae */
  444. i_scasw, /* 0xaf */
  445. i_mov_ald8, /* 0xb0 */
  446. i_mov_cld8, /* 0xb1 */
  447. i_mov_dld8, /* 0xb2 */
  448. i_mov_bld8, /* 0xb3 */
  449. i_mov_ahd8, /* 0xb4 */
  450. i_mov_chd8, /* 0xb5 */
  451. i_mov_dhd8, /* 0xb6 */
  452. i_mov_bhd8, /* 0xb7 */
  453. i_mov_axd16, /* 0xb8 */
  454. i_mov_cxd16, /* 0xb9 */
  455. i_mov_dxd16, /* 0xba */
  456. i_mov_bxd16, /* 0xbb */
  457. i_mov_spd16, /* 0xbc */
  458. i_mov_bpd16, /* 0xbd */
  459. i_mov_sid16, /* 0xbe */
  460. i_mov_did16, /* 0xbf */
  461. i_rotshft_bd8, /* 0xc0 added */
  462. i_rotshft_wd8, /* 0xc1 added */
  463. i_ret_d16, /* 0xc2 */
  464. i_ret, /* 0xc3 */
  465. i_les_dw, /* 0xc4 */
  466. i_lds_dw, /* 0xc5 */
  467. i_mov_bd8, /* 0xc6 */
  468. i_mov_wd16, /* 0xc7 */
  469. i_enter, /* 0xc8 added */
  470. i_leave, /* 0xc9 added */
  471. i_retf_d16, /* 0xca */
  472. i_retf, /* 0xcb */
  473. i_int3, /* 0xcc */
  474. i_int, /* 0xcd */
  475. i_into, /* 0xce */
  476. i_iret, /* 0xcf */
  477. i_d0pre, /* 0xd0 */
  478. i_d1pre, /* 0xd1 */
  479. i_d2pre, /* 0xd2 */
  480. i_d3pre, /* 0xd3 */
  481. i_aam, /* 0xd4 */
  482. i_aad, /* 0xd5 */
  483. i_notdone,
  484. i_xlat, /* 0xd7 */
  485. i_escape, /* 0xd8 */
  486. i_escape, /* 0xd9 */
  487. i_escape, /* 0xda */
  488. i_escape, /* 0xdb */
  489. i_escape, /* 0xdc */
  490. i_escape, /* 0xdd */
  491. i_escape, /* 0xde */
  492. i_escape, /* 0xdf */
  493. i_loopne, /* 0xe0 */
  494. i_loope, /* 0xe1 */
  495. i_loop, /* 0xe2 */
  496. i_jcxz, /* 0xe3 */
  497. i_inal, /* 0xe4 */
  498. i_inax, /* 0xe5 */
  499. i_outal, /* 0xe6 */
  500. i_outax, /* 0xe7 */
  501. i_call_d16, /* 0xe8 */
  502. i_jmp_d16, /* 0xe9 */
  503. i_jmp_far, /* 0xea */
  504. i_jmp_d8, /* 0xeb */
  505. i_inaldx, /* 0xec */
  506. i_inaxdx, /* 0xed */
  507. i_outdxal, /* 0xee */
  508. i_outdxax, /* 0xef */
  509. i_lock, /* 0xf0 */
  510. i_gobios, /* 0xf1 */
  511. i_repne, /* 0xf2 */
  512. i_repe, /* 0xf3 */
  513. i_notdone,
  514. i_cmc, /* 0xf5 */
  515. i_f6pre, /* 0xf6 */
  516. i_f7pre, /* 0xf7 */
  517. i_clc, /* 0xf8 */
  518. i_stc, /* 0xf9 */
  519. i_cli, /* 0xfa */
  520. i_sti, /* 0xfb */
  521. i_cld, /* 0xfc */
  522. i_std, /* 0xfd */
  523. i_fepre, /* 0xfe */
  524. i_ffpre /* 0xff */
  525. };
  526. #ifdef __cplusplus
  527. }
  528. #endif
  529. #endif