home *** CD-ROM | disk | FTP | other *** search
/ PC Shareware 1996 December / PC_Shareware-1996-12.iso / windows / spectrum / sources / ivars.h < prev    next >
Encoding:
C/C++ Source or Header  |  1996-05-23  |  48.8 KB  |  1,855 lines

  1.  
  2. /* IVars.c : Instruction tables -- pointers to functions.
  3.  *
  4.  * Copyright 1996 Rui Fernando Ferreira Ribeiro.
  5.  *
  6.  * This program is free software; you can redistribute it and/or modify
  7.  * it under the terms of the GNU General Public License as published by
  8.  * the Free Software Foundation; either version 2 of the License, or
  9.  * (at your option) any later version.
  10.  *
  11.  * This program is distributed in the hope that it will be useful,
  12.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14.  * GNU General Public License for more details.
  15.  *
  16.  * You should have received a copy of the GNU General Public License
  17.  * along with this program; if not, write to the Free Software
  18.  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  19.  */
  20.  
  21. /* aprox. 1500 opcodes.
  22.             20 duplicates (10+10 w/ IX e IY extensions)  ]
  23. */
  24.  
  25. /* Funcoes de execucao */
  26. static void execute_IX();
  27. static void execute_IY();
  28. static void execute_CB();
  29. static void execute_IXCB();
  30. static void execute_IYCB();
  31. static void execute_ED();
  32.  
  33. /* arrays of pointers to functions */
  34. static void (*instruc_tabl[256])() =
  35. {
  36. /* 00 */   nop         ,
  37. /* 01 */   ld_bc_nn    ,
  38. /* 02 */   ld_pbc_a    ,
  39. /* 03 */   inc_bc      ,
  40. /* 04 */   inc_b       ,
  41. /* 05 */   dec_b       ,
  42. /* 06 */   ld_b_n      ,
  43. /* 07 */   rlca        ,
  44. /* 08 */   ex_af_af2   ,
  45. /* 09 */   add_hl_bc   ,
  46. /* 0A */   ld_a_pbc    ,
  47. /* 0B */   dec_bc      ,
  48. /* 0C */   inc_c       ,
  49. /* 0D */   dec_c       ,
  50. /* 0E */   ld_c_n      ,
  51. /* 0F */   rrca        ,
  52. /* 10 */   djnz_e      ,
  53. /* 11 */   ld_de_nn    ,
  54. /* 12 */   ld_pde_a    ,
  55. /* 13 */   inc_de      ,
  56. /* 14 */   inc_d       ,
  57. /* 15 */   dec_d       ,
  58. /* 16 */   ld_d_n      ,
  59. /* 17 */   rla         ,
  60. /* 18 */   jr_e        ,
  61. /* 19 */   add_hl_de   ,
  62. /* 1A */   ld_a_pde    ,
  63. /* 1B */   dec_de      ,
  64. /* 1C */   inc_e       ,
  65. /* 1D */   dec_e       ,
  66. /* 1E */   ld_e_n      ,
  67. /* 1F */   rra         ,
  68. /* 20 */   jr_nz_e     ,
  69. /* 21 */   ld_hl_nn    ,
  70. /* 22 */   ld_pnn_hl   ,
  71. /* 23 */   inc_hl      ,
  72. /* 24 */   inc_h       ,
  73. /* 25 */   dec_h       ,
  74. /* 26 */   ld_h_n      ,
  75. /* 27 */   daa         ,
  76. /* 28 */   jr_z_e      ,
  77. /* 29 */   add_hl_hl   ,
  78. /* 2A */   ld_hl_pnn   ,
  79. /* 2B */   dec_hl      ,
  80. /* 2C */   inc_l       ,
  81. /* 2D */   dec_l       ,
  82. /* 2E */   ld_l_n      ,
  83. /* 2F */   cpl         ,
  84. /* 30 */   jr_nc_e     ,
  85. /* 31 */   ld_sp_nn    ,
  86. /* 32 */   ld_pnn_a    ,
  87. /* 33 */   inc_sp      ,
  88. /* 34 */   inc_phl     ,
  89. /* 35 */   dec_phl     ,
  90. /* 36 */   ld_phl_n    ,
  91. /* 37 */   scf         ,
  92. /* 38 */   jr_c_e      ,
  93. /* 39 */   add_hl_sp   ,
  94. /* 3A */   ld_a_pnn    ,
  95. /* 3B */   dec_sp      ,
  96. /* 3C */   inc_a       ,
  97. /* 3D */   dec_a       ,
  98. /* 3E */   ld_a_n      ,
  99. /* 3F */   ccf         ,
  100. /* 40 */   ld_b_b      ,
  101. /* 41 */   ld_b_c      ,
  102. /* 42 */   ld_b_d      ,
  103. /* 43 */   ld_b_e      ,
  104. /* 44 */   ld_b_h      ,
  105. /* 45 */   ld_b_l      ,
  106. /* 46 */   ld_b_phl    ,
  107. /* 47 */   ld_b_a      ,
  108. /* 48 */   ld_c_b      ,
  109. /* 49 */   ld_c_c      ,
  110. /* 4A */   ld_c_d      ,
  111. /* 4B */   ld_c_e      ,
  112. /* 4C */   ld_c_h      ,
  113. /* 4D */   ld_c_l      ,
  114. /* 4E */   ld_c_phl    ,
  115. /* 4F */   ld_c_a      ,
  116. /* 50 */   ld_d_b      ,
  117. /* 51 */   ld_d_c      ,
  118. /* 52 */   ld_d_d      ,
  119. /* 53 */   ld_d_e      ,
  120. /* 54 */   ld_d_h      ,
  121. /* 55 */   ld_d_l      ,
  122. /* 56 */   ld_d_phl    ,
  123. /* 57 */   ld_d_a      ,
  124. /* 58 */   ld_e_b      ,
  125. /* 59 */   ld_e_c      ,
  126. /* 5A */   ld_e_d      ,
  127. /* 5B */   ld_e_e      ,
  128. /* 5C */   ld_e_h      ,
  129. /* 5D */   ld_e_l      ,
  130. /* 5E */   ld_e_phl    ,
  131. /* 5F */   ld_e_a      ,
  132. /* 60 */   ld_h_b      ,
  133. /* 61 */   ld_h_c      ,
  134. /* 62 */   ld_h_d      ,
  135. /* 63 */   ld_h_e      ,
  136. /* 64 */   ld_h_h      ,
  137. /* 65 */   ld_h_l      ,
  138. /* 66 */   ld_h_phl    ,
  139. /* 67 */   ld_h_a      ,
  140. /* 68 */   ld_l_b      ,
  141. /* 69 */   ld_l_c      ,
  142. /* 6A */   ld_l_d      ,
  143. /* 6B */   ld_l_e      ,
  144. /* 6C */   ld_l_h      ,
  145. /* 6D */   ld_l_l      ,
  146. /* 6E */   ld_l_phl    ,
  147. /* 6F */   ld_l_a      ,
  148. /* 70 */   ld_phl_b    ,
  149. /* 71 */   ld_phl_c    ,
  150. /* 72 */   ld_phl_d    ,
  151. /* 73 */   ld_phl_e    ,
  152. /* 74 */   ld_phl_h    ,
  153. /* 75 */   ld_phl_l    ,
  154. /* 76 */   halt        ,
  155. /* 77 */   ld_phl_a    ,
  156. /* 78 */   ld_a_b      ,
  157. /* 79 */   ld_a_c      ,
  158. /* 7A */   ld_a_d      ,
  159. /* 7B */   ld_a_e      ,
  160. /* 7C */   ld_a_h      ,
  161. /* 7D */   ld_a_l      ,
  162. /* 7E */   ld_a_phl    ,
  163. /* 7F */   ld_a_a      ,
  164. /* 80 */   add_a_b     ,
  165. /* 81 */   add_a_c     ,
  166. /* 82 */   add_a_d     ,
  167. /* 83 */   add_a_e     ,
  168. /* 84 */   add_a_h     ,
  169. /* 85 */   add_a_l     ,
  170. /* 86 */   add_a_phl   ,
  171. /* 87 */   add_a_a     ,
  172. /* 88 */   adc_a_b     ,
  173. /* 89 */   adc_a_c     ,
  174. /* 8A */   adc_a_d     ,
  175. /* 8B */   adc_a_e     ,
  176. /* 8C */   adc_a_h     ,
  177. /* 8D */   adc_a_l     ,
  178. /* 8E */   adc_a_phl   ,
  179. /* 8F */   adc_a_a     ,
  180. /* 90 */   sub_b       ,
  181. /* 91 */   sub_c       ,
  182. /* 92 */   sub_d       ,
  183. /* 93 */   sub_e       ,
  184. /* 94 */   sub_h       ,
  185. /* 95 */   sub_l       ,
  186. /* 96 */   sub_phl     ,
  187. /* 97 */   sub_a       ,
  188. /* 98 */   sbc_a_b     ,
  189. /* 99 */   sbc_a_c     ,
  190. /* 9A */   sbc_a_d     ,
  191. /* 9B */   sbc_a_e     ,
  192. /* 9C */   sbc_a_h     ,
  193. /* 9D */   sbc_a_l     ,
  194. /* 9E */   sbc_a_phl   ,
  195. /* 9F */   sbc_a_a     ,
  196. /* A0 */   and_b       ,
  197. /* A1 */   and_c       ,
  198. /* A2 */   and_d       ,
  199. /* A3 */   and_e       ,
  200. /* A4 */   and_h       ,
  201. /* A5 */   and_l       ,
  202. /* A6 */   and_phl     ,
  203. /* A7 */   and_a       ,
  204. /* A8 */   xor_b       ,
  205. /* A9 */   xor_c       ,
  206. /* AA */   xor_d       ,
  207. /* AB */   xor_e       ,
  208. /* AC */   xor_h       ,
  209. /* AD */   xor_l       ,
  210. /* AE */   xor_phl     ,
  211. /* AF */   xor_a       ,
  212. /* B0 */   or_b        ,
  213. /* B1 */   or_c        ,
  214. /* B2 */   or_d        ,
  215. /* B3 */   or_e        ,
  216. /* B4 */   or_h        ,
  217. /* B5 */   or_l        ,
  218. /* B6 */   or_phl      ,
  219. /* B7 */   or_a        ,
  220. /* B8 */   cp_b        ,
  221. /* B9 */   cp_c        ,
  222. /* BA */   cp_d        ,
  223. /* BB */   cp_e        ,
  224. /* BC */   cp_h        ,
  225. /* BD */   cp_l        ,
  226. /* BE */   cp_phl      ,
  227. /* BF */   cp_a        ,
  228. /* C0 */   ret_nz      ,
  229. /* C1 */   pop_bc      ,
  230. /* C2 */   jp_nz_nn    ,
  231. /* C3 */   jp_nn       ,
  232. /* C4 */   call_nz_nn  ,
  233. /* C5 */   push_bc     ,
  234. /* C6 */   add_a_n     ,
  235. /* C7 */   rst_0       ,
  236. /* C8 */   ret_z       ,
  237. /* C9 */   ret         ,
  238. /* CA */   jp_z_nn     ,
  239. /* CB */   execute_CB  ,
  240. /* CC */   call_z_nn   ,
  241. /* CD */   call_nn     ,
  242. /* CE */   adc_a_n     ,
  243. /* CF */   rst_8       ,
  244. /* D0 */   ret_nc      ,
  245. /* D1 */   pop_de      ,
  246. /* D2 */   jp_nc_nn    ,
  247. /* D3 */   out_pn_a    ,
  248. /* D4 */   call_nc_nn  ,
  249. /* D5 */   push_de     ,
  250. /* D6 */   sub_n       ,
  251. /* D7 */   rst_10      ,
  252. /* D8 */   ret_c       ,
  253. /* D9 */   exx         ,
  254. /* DA */   jp_c_nn     ,
  255. /* DB */   in_a_pn     ,
  256. /* DC */   call_c_nn   ,
  257. /* DD */   execute_IX  ,
  258. /* DE */   sbc_a_n     ,
  259. /* DF */   rst_18      ,
  260. /* E0 */   ret_po      ,
  261. /* E1 */   pop_hl      ,
  262. /* E2 */   jp_po_nn    ,
  263. /* E3 */   ex_psp_hl   ,
  264. /* E4 */   call_po_nn  ,
  265. /* E5 */   push_hl     ,
  266. /* E6 */   and_n       ,
  267. /* E7 */   rst_20      ,
  268. /* E8 */   ret_pe      ,
  269. /* E9 */   jp_hl       ,
  270. /* EA */   jp_pe_nn    ,
  271. /* EB */   ex_de_hl    ,
  272. /* EC */   call_pe_nn  ,
  273. /* ED */   execute_ED  ,
  274. /* EE */   xor_n       ,
  275. /* EF */   rst_28      ,
  276. /* F0 */   ret_p       ,
  277. /* F1 */   pop_af      ,
  278. /* F2 */   jp_p_nn     ,
  279. /* F3 */   di          ,
  280. /* F4 */   call_p_nn   ,
  281. /* F5 */   push_af     ,
  282. /* F6 */   or_n        ,
  283. /* F7 */   rst_30      ,
  284. /* F8 */   ret_m       ,
  285. /* F9 */   ld_sp_hl    ,
  286. /* FA */   jp_m_nn     ,
  287. /* FB */   ei          ,
  288. /* FC */   call_m_nn   ,
  289. /* FD */   execute_IY  ,
  290. /* FE */   cp_n        ,
  291. /* FF */   rst_38
  292. };
  293.  
  294. static void (*instruc_tablIX[256])() =
  295. {
  296. /* 00 */   dummyIX     ,
  297. /* 01 */   dummyIX     ,
  298. /* 02 */   dummyIX     ,
  299. /* 03 */   dummyIX     ,
  300. /* 04 */   dummyIX     ,
  301. /* 05 */   dummyIX     ,
  302. /* 06 */   dummyIX     ,
  303. /* 07 */   dummyIX     ,
  304. /* 08 */   dummyIX     ,
  305. /* 09 */   add_ix_bc   ,
  306. /* 0A */   dummyIX     ,
  307. /* 0B */   dummyIX     ,
  308. /* 0C */   dummyIX     ,
  309. /* 0D */   dummyIX     ,
  310. /* 0E */   dummyIX     ,
  311. /* 0F */   dummyIX     ,
  312. /* 10 */   dummyIX     ,
  313. /* 11 */   dummyIX     ,
  314. /* 12 */   dummyIX     ,
  315. /* 13 */   dummyIX     ,
  316. /* 14 */   dummyIX     ,
  317. /* 15 */   dummyIX     ,
  318. /* 16 */   dummyIX     ,
  319. /* 17 */   dummyIX     ,
  320. /* 18 */   dummyIX     ,
  321. /* 19 */   add_ix_de   ,
  322. /* 1A */   dummyIX     ,
  323. /* 1B */   dummyIX     ,
  324. /* 1C */   dummyIX     ,
  325. /* 1D */   dummyIX     ,
  326. /* 1E */   dummyIX     ,
  327. /* 1F */   dummyIX     ,
  328. /* 20 */   dummyIX     ,
  329. /* 21 */   ld_ix_nn    ,
  330. /* 22 */   ld_pnn_ix   ,
  331. /* 23 */   inc_ix      ,
  332. /* 24 */   inc_Ix      ,
  333. /* 25 */   dec_Ix      ,
  334. /* 26 */   ld_Ix_n     ,
  335. /* 27 */   dummyIX     ,
  336. /* 28 */   dummyIX     ,
  337. /* 29 */   add_ix_ix   ,
  338. /* 2A */   ld_ix_pnn   ,
  339. /* 2B */   dec_ix      ,
  340. /* 2C */   inc_iX      ,
  341. /* 2D */   dec_iX      ,
  342. /* 2E */   ld_iX_n     ,
  343. /* 2F */   dummyIX     ,
  344. /* 30 */   dummyIX     ,
  345. /* 31 */   dummyIX     ,
  346. /* 32 */   dummyIX     ,
  347. /* 33 */   dummyIX     ,
  348. /* 34 */   inc_pix     ,
  349. /* 35 */   dec_pix     ,
  350. /* 36 */   ld_pix_n    ,
  351. /* 37 */   dummyIX     ,
  352. /* 38 */   dummyIX     ,
  353. /* 39 */   add_ix_sp   ,
  354. /* 3A */   dummyIX     ,
  355. /* 3B */   dummyIX     ,
  356. /* 3C */   dummyIX     ,
  357. /* 3D */   dummyIX     ,
  358. /* 3E */   dummyIX     ,
  359. /* 3F */   dummyIX     ,
  360. /* 40 */   dummyIX     ,
  361. /* 41 */   dummyIX     ,
  362. /* 42 */   dummyIX     ,
  363. /* 43 */   dummyIX     ,
  364. /* 44 */   ld_b_Ix     ,
  365. /* 45 */   ld_b_iX     ,
  366. /* 46 */   ld_b_pix    ,
  367. /* 47 */   dummyIX     ,
  368. /* 48 */   dummyIX     ,
  369. /* 49 */   dummyIX     ,
  370. /* 4A */   dummyIX     ,
  371. /* 4B */   dummyIX     ,
  372. /* 4C */   ld_c_Ix     ,
  373. /* 4D */   ld_c_iX     ,
  374. /* 4E */   ld_c_pix    ,
  375. /* 4F */   dummyIX     ,
  376. /* 50 */   dummyIX     ,
  377. /* 51 */   dummyIX     ,
  378. /* 52 */   dummyIX     ,
  379. /* 53 */   dummyIX     ,
  380. /* 54 */   ld_d_Ix     ,
  381. /* 55 */   ld_d_iX     ,
  382. /* 56 */   ld_d_pix    ,
  383. /* 57 */   dummyIX     ,
  384. /* 58 */   dummyIX     ,
  385. /* 59 */   dummyIX     ,
  386. /* 5A */   dummyIX     ,
  387. /* 5B */   dummyIX     ,
  388. /* 5C */   ld_e_Ix     ,
  389. /* 5D */   ld_e_iX     ,
  390. /* 5E */   ld_e_pix    ,
  391. /* 5F */   dummyIX     ,
  392. /* 60 */   ld_Ix_b     ,
  393. /* 61 */   ld_Ix_c     ,
  394. /* 62 */   ld_Ix_d     ,
  395. /* 63 */   ld_Ix_e     ,
  396. /* 64 */   ld_Ix_Ix    ,
  397. /* 65 */   ld_Ix_iX    ,
  398. /* 66 */   ld_h_pix    ,
  399. /* 67 */   ld_Ix_a     ,
  400. /* 68 */   ld_iX_b     ,
  401. /* 69 */   ld_iX_c     ,
  402. /* 6A */   ld_iX_d     ,
  403. /* 6B */   ld_iX_e     ,
  404. /* 6C */   ld_iX_Ix    ,
  405. /* 6D */   ld_iX_iX    ,
  406. /* 6E */   ld_l_pix    ,
  407. /* 6F */   ld_iX_a     ,
  408. /* 70 */   ld_pix_b    ,
  409. /* 71 */   ld_pix_c    ,
  410. /* 72 */   ld_pix_d    ,
  411. /* 73 */   ld_pix_e    ,
  412. /* 74 */   ld_pix_h    ,
  413. /* 75 */   ld_pix_l    ,
  414. /* 76 */   dummyIX     ,
  415. /* 77 */   ld_pix_a    ,
  416. /* 78 */   dummyIX     ,
  417. /* 79 */   dummyIX     ,
  418. /* 7A */   dummyIX     ,
  419. /* 7B */   dummyIX     ,
  420. /* 7C */   ld_a_Ix     ,
  421. /* 7D */   ld_a_iX     ,
  422. /* 7E */   ld_a_pix    ,
  423. /* 7F */   dummyIX     ,
  424. /* 80 */   dummyIX     ,
  425. /* 81 */   dummyIX     ,
  426. /* 82 */   dummyIX     ,
  427. /* 83 */   dummyIX     ,
  428. /* 84 */   add_a_Ix    ,
  429. /* 85 */   add_a_iX    ,
  430. /* 86 */   add_a_pix   ,
  431. /* 87 */   dummyIX     ,
  432. /* 88 */   dummyIX     ,
  433. /* 89 */   dummyIX     ,
  434. /* 8A */   dummyIX     ,
  435. /* 8B */   dummyIX     ,
  436. /* 8C */   adc_a_Ix    ,
  437. /* 8D */   adc_a_iX    ,
  438. /* 8E */   adc_a_pix   ,
  439. /* 8F */   dummyIX     ,
  440. /* 90 */   dummyIX     ,
  441. /* 91 */   dummyIX     ,
  442. /* 92 */   dummyIX     ,
  443. /* 93 */   dummyIX     ,
  444. /* 94 */   sub_Ix      ,
  445. /* 95 */   sub_iX      ,
  446. /* 96 */   sub_pix     ,
  447. /* 97 */   dummyIX     ,
  448. /* 98 */   dummyIX     ,
  449. /* 99 */   dummyIX     ,
  450. /* 9A */   dummyIX     ,
  451. /* 9B */   dummyIX     ,
  452. /* 9C */   sbc_a_Ix    ,
  453. /* 9D */   sbc_a_iX    ,
  454. /* 9E */   sbc_a_pix   ,
  455. /* 9F */   dummyIX     ,
  456. /* A0 */   dummyIX     ,
  457. /* A1 */   dummyIX     ,
  458. /* A2 */   dummyIX     ,
  459. /* A3 */   dummyIX     ,
  460. /* A4 */   and_Ix      ,
  461. /* A5 */   and_iX      ,
  462. /* A6 */   and_pix     ,
  463. /* A7 */   dummyIX     ,
  464. /* A8 */   dummyIX     ,
  465. /* A9 */   dummyIX     ,
  466. /* AA */   dummyIX     ,
  467. /* AB */   dummyIX     ,
  468. /* AC */   xor_Ix      ,
  469. /* AD */   xor_iX      ,
  470. /* AE */   xor_pix     ,
  471. /* AF */   dummyIX     ,
  472. /* B0 */   dummyIX     ,
  473. /* B1 */   dummyIX     ,
  474. /* B2 */   dummyIX     ,
  475. /* B3 */   dummyIX     ,
  476. /* B4 */   or_Ix       ,
  477. /* B5 */   or_iX       ,
  478. /* B6 */   or_pix      ,
  479. /* B7 */   dummyIX     ,
  480. /* B8 */   dummyIX     ,
  481. /* B9 */   dummyIX     ,
  482. /* BA */   dummyIX     ,
  483. /* BB */   dummyIX     ,
  484. /* BC */   cp_Ix       ,
  485. /* BD */   cp_iX       ,
  486. /* BE */   cp_pix      ,
  487. /* BF */   dummyIX     ,
  488. /* C0 */   dummyIX     ,
  489. /* C1 */   dummyIX     ,
  490. /* C2 */   dummyIX     ,
  491. /* C3 */   dummyIX     ,
  492. /* C4 */   dummyIX     ,
  493. /* C5 */   dummyIX     ,
  494. /* C6 */   dummyIX     ,
  495. /* C7 */   dummyIX     ,
  496. /* C8 */   dummyIX     ,
  497. /* C9 */   dummyIX     ,
  498. /* CA */   dummyIX     ,
  499. /* CB */   execute_IXCB,
  500. /* CC */   dummyIX     ,
  501. /* CD */   dummyIX     ,
  502. /* CE */   dummyIX     ,
  503. /* CF */   dummyIX     ,
  504. /* D0 */   dummyIX     ,
  505. /* D1 */   dummyIX     ,
  506. /* D2 */   dummyIX     ,
  507. /* D3 */   dummyIX     ,
  508. /* D4 */   dummyIX     ,
  509. /* D5 */   dummyIX     ,
  510. /* D6 */   dummyIX     ,
  511. /* D7 */   dummyIX     ,
  512. /* D8 */   dummyIX     ,
  513. /* D9 */   dummyIX     ,
  514. /* DA */   dummyIX     ,
  515. /* DB */   dummyIX     ,
  516. /* DC */   dummyIX     ,
  517. /* DD */   dummyIX     ,
  518. /* DE */   dummyIX     ,
  519. /* DF */   dummyIX     ,
  520. /* E0 */   dummyIX     ,
  521. /* E1 */   pop_ix      ,
  522. /* E2 */   dummyIX     ,
  523. /* E3 */   ex_psp_ix   ,
  524. /* E4 */   dummyIX     ,
  525. /* E5 */   push_ix     ,
  526. /* E6 */   dummyIX     ,
  527. /* E7 */   dummyIX     ,
  528. /* E8 */   dummyIX     ,
  529. /* E9 */   jp_ix       ,
  530. /* EA */   dummyIX     ,
  531. /* EB */   ex_de_ix    ,
  532. /* EC */   dummyIX     ,
  533. /* ED */   dummyIX     ,
  534. /* EE */   dummyIX     ,
  535. /* EF */   dummyIX     ,
  536. /* F0 */   dummyIX     ,
  537. /* F1 */   dummyIX     ,
  538. /* F2 */   dummyIX     ,
  539. /* F3 */   dummyIX     ,
  540. /* F4 */   dummyIX     ,
  541. /* F5 */   dummyIX     ,
  542. /* F6 */   dummyIX     ,
  543. /* F7 */   dummyIX     ,
  544. /* F8 */   dummyIX     ,
  545. /* F9 */   ld_sp_ix    ,
  546. /* FA */   dummyIX     ,
  547. /* FB */   dummyIX     ,
  548. /* FC */   dummyIX     ,
  549. /* FD */   dummyIX     ,
  550. /* FE */   dummyIX     ,
  551. /* FF */   dummyIX
  552. };
  553.  
  554. static void (*instruc_tablIY[256])() =
  555. {
  556. /* 00 */   dummyIY     ,
  557. /* 01 */   dummyIY     ,
  558. /* 02 */   dummyIY     ,
  559. /* 03 */   dummyIY     ,
  560. /* 04 */   dummyIY     ,
  561. /* 05 */   dummyIY     ,
  562. /* 06 */   dummyIY     ,
  563. /* 07 */   dummyIY     ,
  564. /* 08 */   dummyIY     ,
  565. /* 09 */   add_iy_bc   ,
  566. /* 0A */   dummyIY     ,
  567. /* 0B */   dummyIY     ,
  568. /* 0C */   dummyIY     ,
  569. /* 0D */   dummyIY     ,
  570. /* 0E */   dummyIY     ,
  571. /* 0F */   dummyIY     ,
  572. /* 10 */   dummyIY     ,
  573. /* 11 */   dummyIY     ,
  574. /* 12 */   dummyIY     ,
  575. /* 13 */   dummyIY     ,
  576. /* 14 */   dummyIY     ,
  577. /* 15 */   dummyIY     ,
  578. /* 16 */   dummyIY     ,
  579. /* 17 */   dummyIY     ,
  580. /* 18 */   dummyIY     ,
  581. /* 19 */   add_iy_de   ,
  582. /* 1A */   dummyIY     ,
  583. /* 1B */   dummyIY     ,
  584. /* 1C */   dummyIY     ,
  585. /* 1D */   dummyIY     ,
  586. /* 1E */   dummyIY     ,
  587. /* 1F */   dummyIY     ,
  588. /* 20 */   dummyIY     ,
  589. /* 21 */   ld_iy_nn    ,
  590. /* 22 */   ld_pnn_iy   ,
  591. /* 23 */   inc_iy      ,
  592. /* 24 */   inc_Iy      ,
  593. /* 25 */   dec_Iy      ,
  594. /* 26 */   ld_Iy_n     ,
  595. /* 27 */   dummyIY     ,
  596. /* 28 */   dummyIY     ,
  597. /* 29 */   add_iy_iy   ,
  598. /* 2A */   ld_iy_pnn   ,
  599. /* 2B */   dec_iy      ,
  600. /* 2C */   inc_iY      ,
  601. /* 2D */   dec_iY      ,
  602. /* 2E */   ld_iY_n     ,
  603. /* 2F */   dummyIY     ,
  604. /* 30 */   dummyIY     ,
  605. /* 31 */   dummyIY     ,
  606. /* 32 */   dummyIY     ,
  607. /* 33 */   dummyIY     ,
  608. /* 34 */   inc_piy     ,
  609. /* 35 */   dec_piy     ,
  610. /* 36 */   ld_piy_n    ,
  611. /* 37 */   dummyIY     ,
  612. /* 38 */   dummyIY     ,
  613. /* 39 */   add_iy_sp   ,
  614. /* 3A */   dummyIY     ,
  615. /* 3B */   dummyIY     ,
  616. /* 3C */   dummyIY     ,
  617. /* 3D */   dummyIY     ,
  618. /* 3E */   dummyIY     ,
  619. /* 3F */   dummyIY     ,
  620. /* 40 */   dummyIY     ,
  621. /* 41 */   dummyIY     ,
  622. /* 42 */   dummyIY     ,
  623. /* 43 */   dummyIY     ,
  624. /* 44 */   ld_b_Iy     ,
  625. /* 45 */   ld_b_iY     ,
  626. /* 46 */   ld_b_piy    ,
  627. /* 47 */   dummyIY     ,
  628. /* 48 */   dummyIY     ,
  629. /* 49 */   dummyIY     ,
  630. /* 4A */   dummyIY     ,
  631. /* 4B */   dummyIY     ,
  632. /* 4C */   ld_c_Iy     ,
  633. /* 4D */   ld_c_iY     ,
  634. /* 4E */   ld_c_piy    ,
  635. /* 4F */   dummyIY     ,
  636. /* 50 */   dummyIY     ,
  637. /* 51 */   dummyIY     ,
  638. /* 52 */   dummyIY     ,
  639. /* 53 */   dummyIY     ,
  640. /* 54 */   ld_d_Iy     ,
  641. /* 55 */   ld_d_iY     ,
  642. /* 56 */   ld_d_piy    ,
  643. /* 57 */   dummyIY     ,
  644. /* 58 */   dummyIY     ,
  645. /* 59 */   dummyIY     ,
  646. /* 5A */   dummyIY     ,
  647. /* 5B */   dummyIY     ,
  648. /* 5C */   ld_e_Iy     ,
  649. /* 5D */   ld_e_iY     ,
  650. /* 5E */   ld_e_piy    ,
  651. /* 5F */   dummyIY     ,
  652. /* 60 */   ld_Iy_b     ,
  653. /* 61 */   ld_Iy_c     ,
  654. /* 62 */   ld_Iy_d     ,
  655. /* 63 */   ld_Iy_e     ,
  656. /* 64 */   ld_Iy_Iy    ,
  657. /* 65 */   ld_Iy_iY    ,
  658. /* 66 */   ld_h_piy    ,
  659. /* 67 */   ld_Iy_a     ,
  660. /* 68 */   ld_iY_b     ,
  661. /* 69 */   ld_iY_c     ,
  662. /* 6A */   ld_iY_d     ,
  663. /* 6B */   ld_iY_e     ,
  664. /* 6C */   ld_iY_Iy    ,
  665. /* 6D */   ld_iY_iY    ,
  666. /* 6E */   ld_l_piy    ,
  667. /* 6F */   ld_iY_a     ,
  668. /* 70 */   ld_piy_b    ,
  669. /* 71 */   ld_piy_c    ,
  670. /* 72 */   ld_piy_d    ,
  671. /* 73 */   ld_piy_e    ,
  672. /* 74 */   ld_piy_h    ,
  673. /* 75 */   ld_piy_l    ,
  674. /* 76 */   dummyIY     ,
  675. /* 77 */   ld_piy_a    ,
  676. /* 78 */   dummyIY     ,
  677. /* 79 */   dummyIY     ,
  678. /* 7A */   dummyIY     ,
  679. /* 7B */   dummyIY     ,
  680. /* 7C */   ld_a_Iy     ,
  681. /* 7D */   ld_a_iY     ,
  682. /* 7E */   ld_a_piy    ,
  683. /* 7F */   dummyIY     ,
  684. /* 80 */   dummyIY     ,
  685. /* 81 */   dummyIY     ,
  686. /* 82 */   dummyIY     ,
  687. /* 83 */   dummyIY     ,
  688. /* 84 */   add_a_Iy    ,
  689. /* 85 */   add_a_iY    ,
  690. /* 86 */   add_a_piy   ,
  691. /* 87 */   dummyIY     ,
  692. /* 88 */   dummyIY     ,
  693. /* 89 */   dummyIY     ,
  694. /* 8A */   dummyIY     ,
  695. /* 8B */   dummyIY     ,
  696. /* 8C */   adc_a_Iy    ,
  697. /* 8D */   adc_a_iY    ,
  698. /* 8E */   adc_a_piy   ,
  699. /* 8F */   dummyIY     ,
  700. /* 90 */   dummyIY     ,
  701. /* 91 */   dummyIY     ,
  702. /* 92 */   dummyIY     ,
  703. /* 93 */   dummyIY     ,
  704. /* 94 */   sub_Iy      ,
  705. /* 95 */   sub_iY      ,
  706. /* 96 */   sub_piy     ,
  707. /* 97 */   dummyIY     ,
  708. /* 98 */   dummyIY     ,
  709. /* 99 */   dummyIY     ,
  710. /* 9A */   dummyIY     ,
  711. /* 9B */   dummyIY     ,
  712. /* 9C */   sbc_a_Iy    ,
  713. /* 9D */   sbc_a_iY    ,
  714. /* 9E */   sbc_a_piy   ,
  715. /* 9F */   dummyIY     ,
  716. /* A0 */   dummyIY     ,
  717. /* A1 */   dummyIY     ,
  718. /* A2 */   dummyIY     ,
  719. /* A3 */   dummyIY     ,
  720. /* A4 */   and_Iy      ,
  721. /* A5 */   and_iY      ,
  722. /* A6 */   and_piy     ,
  723. /* A7 */   dummyIY     ,
  724. /* A8 */   dummyIY     ,
  725. /* A9 */   dummyIY     ,
  726. /* AA */   dummyIY     ,
  727. /* AB */   dummyIY     ,
  728. /* AC */   xor_Iy      ,
  729. /* AD */   xor_iY      ,
  730. /* AE */   xor_piy     ,
  731. /* AF */   dummyIY     ,
  732. /* B0 */   dummyIY     ,
  733. /* B1 */   dummyIY     ,
  734. /* B2 */   dummyIY     ,
  735. /* B3 */   dummyIY     ,
  736. /* B4 */   or_Iy       ,
  737. /* B5 */   or_iY       ,
  738. /* B6 */   or_piy      ,
  739. /* B7 */   dummyIY     ,
  740. /* B8 */   dummyIY     ,
  741. /* B9 */   dummyIY     ,
  742. /* BA */   dummyIY     ,
  743. /* BB */   dummyIY     ,
  744. /* BC */   cp_Iy       ,
  745. /* BD */   cp_iY       ,
  746. /* BE */   cp_piy      ,
  747. /* BF */   dummyIY     ,
  748. /* C0 */   dummyIY     ,
  749. /* C1 */   dummyIY     ,
  750. /* C2 */   dummyIY     ,
  751. /* C3 */   dummyIY     ,
  752. /* C4 */   dummyIY     ,
  753. /* C5 */   dummyIY     ,
  754. /* C6 */   dummyIY     ,
  755. /* C7 */   dummyIY     ,
  756. /* C8 */   dummyIY     ,
  757. /* C9 */   dummyIY     ,
  758. /* CA */   dummyIY     ,
  759. /* CB */   execute_IYCB,
  760. /* CC */   dummyIY     ,
  761. /* CD */   dummyIY     ,
  762. /* CE */   dummyIY     ,
  763. /* CF */   dummyIY     ,
  764. /* D0 */   dummyIY     ,
  765. /* D1 */   dummyIY     ,
  766. /* D2 */   dummyIY     ,
  767. /* D3 */   dummyIY     ,
  768. /* D4 */   dummyIY     ,
  769. /* D5 */   dummyIY     ,
  770. /* D6 */   dummyIY     ,
  771. /* D7 */   dummyIY     ,
  772. /* D8 */   dummyIY     ,
  773. /* D9 */   dummyIY     ,
  774. /* DA */   dummyIY     ,
  775. /* DB */   dummyIY     ,
  776. /* DC */   dummyIY     ,
  777. /* DD */   dummyIY     ,
  778. /* DE */   dummyIY     ,
  779. /* DF */   dummyIY     ,
  780. /* E0 */   dummyIY     ,
  781. /* E1 */   pop_iy      ,
  782. /* E2 */   dummyIY     ,
  783. /* E3 */   ex_psp_iy   ,
  784. /* E4 */   dummyIY     ,
  785. /* E5 */   push_iy     ,
  786. /* E6 */   dummyIY     ,
  787. /* E7 */   dummyIY     ,
  788. /* E8 */   dummyIY     ,
  789. /* E9 */   jp_iy       ,
  790. /* EA */   dummyIY     ,
  791. /* EB */   ex_de_iy    ,
  792. /* EC */   dummyIY     ,
  793. /* ED */   dummyIY     ,
  794. /* EE */   dummyIY     ,
  795. /* EF */   dummyIY     ,
  796. /* F0 */   dummyIY     ,
  797. /* F1 */   dummyIY     ,
  798. /* F2 */   dummyIY     ,
  799. /* F3 */   dummyIY     ,
  800. /* F4 */   dummyIY     ,
  801. /* F5 */   dummyIY     ,
  802. /* F6 */   dummyIY     ,
  803. /* F7 */   dummyIY     ,
  804. /* F8 */   dummyIY     ,
  805. /* F9 */   ld_sp_iy    ,
  806. /* FA */   dummyIY     ,
  807. /* FB */   dummyIY     ,
  808. /* FC */   dummyIY     ,
  809. /* FD */   dummyIY     ,
  810. /* FE */   dummyIY     ,
  811. /* FF */   dummyIY
  812. };
  813.  
  814. static void (*instruc_tablCB[256])() =
  815. {
  816. /* 00 */   rlc_b       ,
  817. /* 01 */   rlc_c       ,
  818. /* 02 */   rlc_d       ,
  819. /* 03 */   rlc_e       ,
  820. /* 04 */   rlc_h       ,
  821. /* 05 */   rlc_l       ,
  822. /* 06 */   rlc_phl     ,
  823. /* 07 */   rlc_a       ,
  824. /* 08 */   rrc_b       ,
  825. /* 09 */   rrc_c       ,
  826. /* 0A */   rrc_d       ,
  827. /* 0B */   rrc_e       ,
  828. /* 0C */   rrc_h       ,
  829. /* 0D */   rrc_l       ,
  830. /* 0E */   rrc_phl     ,
  831. /* 0F */   rrc_a       ,
  832. /* 10 */   rl_b        ,
  833. /* 11 */   rl_c        ,
  834. /* 12 */   rl_d        ,
  835. /* 13 */   rl_e        ,
  836. /* 14 */   rl_h        ,
  837. /* 15 */   rl_l        ,
  838. /* 16 */   rl_phl      ,
  839. /* 17 */   rl_a        ,
  840. /* 18 */   rr_b        ,
  841. /* 19 */   rr_c        ,
  842. /* 1A */   rr_d        ,
  843. /* 1B */   rr_e        ,
  844. /* 1C */   rr_h        ,
  845. /* 1D */   rr_l        ,
  846. /* 1E */   rr_phl      ,
  847. /* 1F */   rr_a        ,
  848. /* 20 */   sla_b       ,
  849. /* 21 */   sla_c       ,
  850. /* 22 */   sla_d       ,
  851. /* 23 */   sla_e       ,
  852. /* 24 */   sla_h       ,
  853. /* 25 */   sla_l       ,
  854. /* 26 */   sla_phl     ,
  855. /* 27 */   sla_a       ,
  856. /* 28 */   sra_b       ,
  857. /* 29 */   sra_c       ,
  858. /* 2A */   sra_d       ,
  859. /* 2B */   sra_e       ,
  860. /* 2C */   sra_h       ,
  861. /* 2D */   sra_l       ,
  862. /* 2E */   sra_phl     ,
  863. /* 2F */   sra_a       ,
  864. /* 30 */   sll_b       ,
  865. /* 31 */   sll_c       ,
  866. /* 32 */   sll_d       ,
  867. /* 33 */   sll_e       ,
  868. /* 34 */   sll_h       ,
  869. /* 35 */   sll_l       ,
  870. /* 36 */   sll_phl     ,
  871. /* 37 */   sll_a       ,
  872. /* 38 */   srl_b       ,
  873. /* 39 */   srl_c       ,
  874. /* 3A */   srl_d       ,
  875. /* 3B */   srl_e       ,
  876. /* 3C */   srl_h       ,
  877. /* 3D */   srl_l       ,
  878. /* 3E */   srl_phl     ,
  879. /* 3F */   srl_a       ,
  880. /* 40 */   bit_0_b     ,
  881. /* 41 */   bit_0_c     ,
  882. /* 42 */   bit_0_d     ,
  883. /* 43 */   bit_0_e     ,
  884. /* 44 */   bit_0_h     ,
  885. /* 45 */   bit_0_l     ,
  886. /* 46 */   bit_0_phl   ,
  887. /* 47 */   bit_0_a     ,
  888. /* 48 */   bit_1_b     ,
  889. /* 49 */   bit_1_c     ,
  890. /* 4A */   bit_1_d     ,
  891. /* 4B */   bit_1_e     ,
  892. /* 4C */   bit_1_h     ,
  893. /* 4D */   bit_1_l     ,
  894. /* 4E */   bit_1_phl   ,
  895. /* 4F */   bit_1_a     ,
  896. /* 50 */   bit_2_b     ,
  897. /* 51 */   bit_2_c     ,
  898. /* 52 */   bit_2_d     ,
  899. /* 53 */   bit_2_e     ,
  900. /* 54 */   bit_2_h     ,
  901. /* 55 */   bit_2_l     ,
  902. /* 56 */   bit_2_phl   ,
  903. /* 57 */   bit_2_a     ,
  904. /* 58 */   bit_3_b     ,
  905. /* 59 */   bit_3_c     ,
  906. /* 5A */   bit_3_d     ,
  907. /* 5B */   bit_3_e     ,
  908. /* 5C */   bit_3_h     ,
  909. /* 5D */   bit_3_l     ,
  910. /* 5E */   bit_3_phl   ,
  911. /* 5F */   bit_3_a     ,
  912. /* 60 */   bit_4_b     ,
  913. /* 61 */   bit_4_c     ,
  914. /* 62 */   bit_4_d     ,
  915. /* 63 */   bit_4_e     ,
  916. /* 64 */   bit_4_h     ,
  917. /* 65 */   bit_4_l     ,
  918. /* 66 */   bit_4_phl   ,
  919. /* 67 */   bit_4_a     ,
  920. /* 68 */   bit_5_b     ,
  921. /* 69 */   bit_5_c     ,
  922. /* 6A */   bit_5_d     ,
  923. /* 6B */   bit_5_e     ,
  924. /* 6C */   bit_5_h     ,
  925. /* 6D */   bit_5_l     ,
  926. /* 6E */   bit_5_phl   ,
  927. /* 6F */   bit_5_a     ,
  928. /* 70 */   bit_6_b     ,
  929. /* 71 */   bit_6_c     ,
  930. /* 72 */   bit_6_d     ,
  931. /* 73 */   bit_6_e     ,
  932. /* 74 */   bit_6_h     ,
  933. /* 75 */   bit_6_l     ,
  934. /* 76 */   bit_6_phl   ,
  935. /* 77 */   bit_6_a     ,
  936. /* 78 */   bit_7_b     ,
  937. /* 79 */   bit_7_c     ,
  938. /* 7A */   bit_7_d     ,
  939. /* 7B */   bit_7_e     ,
  940. /* 7C */   bit_7_h     ,
  941. /* 7D */   bit_7_l     ,
  942. /* 7E */   bit_7_phl   ,
  943. /* 7F */   bit_7_a     ,
  944. /* 80 */   res_0_b     ,
  945. /* 81 */   res_0_c     ,
  946. /* 82 */   res_0_d     ,
  947. /* 83 */   res_0_e     ,
  948. /* 84 */   res_0_h     ,
  949. /* 85 */   res_0_l     ,
  950. /* 86 */   res_0_phl   ,
  951. /* 87 */   res_0_a     ,
  952. /* 88 */   res_1_b     ,
  953. /* 89 */   res_1_c     ,
  954. /* 8A */   res_1_d     ,
  955. /* 8B */   res_1_e     ,
  956. /* 8C */   res_1_h     ,
  957. /* 8D */   res_1_l     ,
  958. /* 8E */   res_1_phl   ,
  959. /* 8F */   res_1_a     ,
  960. /* 90 */   res_2_b     ,
  961. /* 91 */   res_2_c     ,
  962. /* 92 */   res_2_d     ,
  963. /* 93 */   res_2_e     ,
  964. /* 94 */   res_2_h     ,
  965. /* 95 */   res_2_l     ,
  966. /* 96 */   res_2_phl   ,
  967. /* 97 */   res_2_a     ,
  968. /* 98 */   res_3_b     ,
  969. /* 99 */   res_3_c     ,
  970. /* 9A */   res_3_d     ,
  971. /* 9B */   res_3_e     ,
  972. /* 9C */   res_3_h     ,
  973. /* 9D */   res_3_l     ,
  974. /* 9E */   res_3_phl   ,
  975. /* 9F */   res_3_a     ,
  976. /* A0 */   res_4_b     ,
  977. /* A1 */   res_4_c     ,
  978. /* A2 */   res_4_d     ,
  979. /* A3 */   res_4_e     ,
  980. /* A4 */   res_4_h     ,
  981. /* A5 */   res_4_l     ,
  982. /* A6 */   res_4_phl   ,
  983. /* A7 */   res_4_a     ,
  984. /* A8 */   res_5_b     ,
  985. /* A9 */   res_5_c     ,
  986. /* AA */   res_5_d     ,
  987. /* AB */   res_5_e     ,
  988. /* AC */   res_5_h     ,
  989. /* AD */   res_5_l     ,
  990. /* AE */   res_5_phl   ,
  991. /* AF */   res_5_a     ,
  992. /* B0 */   res_6_b     ,
  993. /* B1 */   res_6_c     ,
  994. /* B2 */   res_6_d     ,
  995. /* B3 */   res_6_e     ,
  996. /* B4 */   res_6_h     ,
  997. /* B5 */   res_6_l     ,
  998. /* B6 */   res_6_phl   ,
  999. /* B7 */   res_6_a     ,
  1000. /* B8 */   res_7_b     ,
  1001. /* B9 */   res_7_c     ,
  1002. /* BA */   res_7_d     ,
  1003. /* BB */   res_7_e     ,
  1004. /* BC */   res_7_h     ,
  1005. /* BD */   res_7_l     ,
  1006. /* BE */   res_7_phl   ,
  1007. /* BF */   res_7_a     ,
  1008. /* C0 */   set_0_b     ,
  1009. /* C1 */   set_0_c     ,
  1010. /* C2 */   set_0_d     ,
  1011. /* C3 */   set_0_e     ,
  1012. /* C4 */   set_0_h     ,
  1013. /* C5 */   set_0_l     ,
  1014. /* C6 */   set_0_phl   ,
  1015. /* C7 */   set_0_a     ,
  1016. /* C8 */   set_1_b     ,
  1017. /* C9 */   set_1_c     ,
  1018. /* CA */   set_1_d     ,
  1019. /* CB */   set_1_e     ,
  1020. /* CC */   set_1_h     ,
  1021. /* CD */   set_1_l     ,
  1022. /* CE */   set_1_phl   ,
  1023. /* CF */   set_1_a     ,
  1024. /* D0 */   set_2_b     ,
  1025. /* D1 */   set_2_c     ,
  1026. /* D2 */   set_2_d     ,
  1027. /* D3 */   set_2_e     ,
  1028. /* D4 */   set_2_h     ,
  1029. /* D5 */   set_2_l     ,
  1030. /* D6 */   set_2_phl   ,
  1031. /* D7 */   set_2_a     ,
  1032. /* D8 */   set_3_b     ,
  1033. /* D9 */   set_3_c     ,
  1034. /* DA */   set_3_d     ,
  1035. /* DB */   set_3_e     ,
  1036. /* DC */   set_3_h     ,
  1037. /* DD */   set_3_l     ,
  1038. /* DE */   set_3_phl   ,
  1039. /* DF */   set_3_a     ,
  1040. /* E0 */   set_4_b     ,
  1041. /* E1 */   set_4_c     ,
  1042. /* E2 */   set_4_d     ,
  1043. /* E3 */   set_4_e     ,
  1044. /* E4 */   set_4_h     ,
  1045. /* E5 */   set_4_l     ,
  1046. /* E6 */   set_4_phl   ,
  1047. /* E7 */   set_4_a     ,
  1048. /* E8 */   set_5_b     ,
  1049. /* E9 */   set_5_c     ,
  1050. /* EA */   set_5_d     ,
  1051. /* EB */   set_5_e     ,
  1052. /* EC */   set_5_h     ,
  1053. /* ED */   set_5_l     ,
  1054. /* EE */   set_5_phl   ,
  1055. /* EF */   set_5_a     ,
  1056. /* F0 */   set_6_b     ,
  1057. /* F1 */   set_6_c     ,
  1058. /* F2 */   set_6_d     ,
  1059. /* F3 */   set_6_e     ,
  1060. /* F4 */   set_6_h     ,
  1061. /* F5 */   set_6_l     ,
  1062. /* F6 */   set_6_phl   ,
  1063. /* F7 */   set_6_a     ,
  1064. /* F8 */   set_7_b     ,
  1065. /* F9 */   set_7_c     ,
  1066. /* FA */   set_7_d     ,
  1067. /* FB */   set_7_e     ,
  1068. /* FC */   set_7_h     ,
  1069. /* FD */   set_7_l     ,
  1070. /* FE */   set_7_phl   ,
  1071. /* FF */   set_7_a
  1072. };
  1073.  
  1074. static void (*instruc_tablIXCB[256])() =
  1075. {
  1076. /* 00 */   rlc_pixb    ,
  1077. /* 01 */   rlc_pixc    ,
  1078. /* 02 */   rlc_pixd    ,
  1079. /* 03 */   rlc_pixe    ,
  1080. /* 04 */   rlc_Ix      ,  /* ?? */
  1081. /* 05 */   rlc_iX      ,  /* ?? */
  1082. /* 06 */   rlc_pix     ,
  1083. /* 07 */   rlc_pixa    ,
  1084. /* 08 */   rrc_pixb    ,
  1085. /* 09 */   rrc_pixc    ,
  1086. /* 0A */   rrc_pixd    ,
  1087. /* 0B */   rrc_pixe    ,
  1088. /* 0C */   rrc_Ix      ,  /* ?? */
  1089. /* 0D */   rrc_iX      ,  /* ?? */
  1090. /* 0E */   rrc_pix     ,
  1091. /* 0F */   rrc_pixa    ,
  1092. /* 10 */   rl_pixb     ,
  1093. /* 11 */   rl_pixc     ,
  1094. /* 12 */   rl_pixd     ,
  1095. /* 13 */   rl_pixe     ,
  1096. /* 14 */   rl_Ix       ,  /* ?? */
  1097. /* 15 */   rl_iX       ,  /* ?? */
  1098. /* 16 */   rl_pix      ,
  1099. /* 17 */   rl_pixa     ,
  1100. /* 18 */   rr_pixb     ,
  1101. /* 19 */   rr_pixc     ,
  1102. /* 1A */   rr_pixd     ,
  1103. /* 1B */   rr_pixe     ,
  1104. /* 1C */   rr_Ix       ,  /* ?? */
  1105. /* 1D */   rr_iX       ,  /* ?? */
  1106. /* 1E */   rr_pix      ,
  1107. /* 1F */   rr_pixa     ,
  1108. /* 20 */   sla_pixb    ,
  1109. /* 21 */   sla_pixc    ,
  1110. /* 22 */   sla_pixd    ,
  1111. /* 23 */   sla_pixe    ,
  1112. /* 24 */   sla_Ix      ,  /* ?? */
  1113. /* 25 */   sla_iX      ,  /* ?? */
  1114. /* 26 */   sla_pix     ,
  1115. /* 27 */   sla_pixa    ,
  1116. /* 28 */   sra_pixb    ,
  1117. /* 29 */   sra_pixc    ,
  1118. /* 2A */   sra_pixd    ,
  1119. /* 2B */   sra_pixe    ,
  1120. /* 2C */   sra_Ix      ,  /* ?? */
  1121. /* 2D */   sra_iX      ,  /* ?? */
  1122. /* 2E */   sra_pix     ,
  1123. /* 2F */   sra_pixa    ,
  1124. /* 30 */   sll_pixb    ,
  1125. /* 31 */   sll_pixc    ,
  1126. /* 32 */   sll_pixd    ,
  1127. /* 33 */   sll_pixe    ,
  1128. /* 34 */   sll_Ix      ,  /* ?? */
  1129. /* 35 */   sll_iX      ,  /* ?? */
  1130. /* 36 */   sll_pix     ,
  1131. /* 37 */   sll_pixa    ,
  1132. /* 38 */   srl_pixb    ,
  1133. /* 39 */   srl_pixc    ,
  1134. /* 3A */   srl_pixd    ,
  1135. /* 3B */   srl_pixe    ,
  1136. /* 3C */   srl_Ix      ,  /* ?? */
  1137. /* 3D */   srl_iX      ,  /* ?? */
  1138. /* 3E */   srl_pix     ,
  1139. /* 3F */   srl_pixa    ,
  1140. /* 40 */   bit_0_pix   ,
  1141. /* 41 */   bit_0_pix   ,
  1142. /* 42 */   bit_0_pix   ,
  1143. /* 43 */   bit_0_pix   ,
  1144. /* 44 */   bit_0_Ix    ,    /* ?? */
  1145. /* 45 */   bit_0_iX    ,    /* ?? */
  1146. /* 46 */   bit_0_pix   ,
  1147. /* 47 */   bit_0_pix   ,
  1148. /* 48 */   bit_1_pix   ,
  1149. /* 49 */   bit_1_pix   ,
  1150. /* 4A */   bit_1_pix   ,
  1151. /* 4B */   bit_1_pix   ,
  1152. /* 4C */   bit_1_Ix    ,    /* ?? */
  1153. /* 4D */   bit_1_iX    ,  /* ?? */
  1154. /* 4E */   bit_1_pix   ,
  1155. /* 4F */   bit_1_pix   ,
  1156. /* 50 */   bit_2_pix   ,
  1157. /* 51 */   bit_2_pix   ,
  1158. /* 52 */   bit_2_pix   ,
  1159. /* 53 */   bit_2_pix   ,
  1160. /* 54 */   bit_2_Ix    ,  /* ?? */
  1161. /* 55 */   bit_2_iX    ,  /* ?? */
  1162. /* 56 */   bit_2_pix   ,
  1163. /* 57 */   bit_2_pix   ,
  1164. /* 58 */   bit_3_pix   ,
  1165. /* 59 */   bit_3_pix   ,
  1166. /* 5A */   bit_3_pix   ,
  1167. /* 5B */   bit_3_pix   ,
  1168. /* 5C */   bit_3_Ix    ,  /* ?? */
  1169. /* 5D */   bit_3_iX    ,  /* ?? */
  1170. /* 5E */   bit_3_pix   ,
  1171. /* 5F */   bit_3_pix   ,
  1172. /* 60 */   bit_4_pix   ,
  1173. /* 61 */   bit_4_pix   ,
  1174. /* 62 */   bit_4_pix   ,
  1175. /* 63 */   bit_4_pix   ,
  1176. /* 64 */   bit_4_Ix    ,  /* ?? */
  1177. /* 65 */   bit_4_iX    ,  /* ?? */
  1178. /* 66 */   bit_4_pix   ,
  1179. /* 67 */   bit_4_pix   ,
  1180. /* 68 */   bit_5_pix   ,
  1181. /* 69 */   bit_5_pix   ,
  1182. /* 6A */   bit_5_pix   ,
  1183. /* 6B */   bit_5_pix   ,
  1184. /* 6C */   bit_5_Ix    ,  /* ?? */
  1185. /* 6D */   bit_5_iX    ,  /* ?? */
  1186. /* 6E */   bit_5_pix   ,
  1187. /* 6F */   bit_5_pix   ,
  1188. /* 70 */   bit_6_pix   ,
  1189. /* 71 */   bit_6_pix   ,
  1190. /* 72 */   bit_6_pix   ,
  1191. /* 73 */   bit_6_pix   ,
  1192. /* 74 */   bit_6_Ix    ,  /* ?? */
  1193. /* 75 */   bit_6_iX    ,  /* ?? */
  1194. /* 76 */   bit_6_pix   ,
  1195. /* 77 */   bit_6_pix   ,
  1196. /* 78 */   bit_7_pix   ,
  1197. /* 79 */   bit_7_pix   ,
  1198. /* 7A */   bit_7_pix   ,
  1199. /* 7B */   bit_7_pix   ,
  1200. /* 7C */   bit_7_Ix    ,  /* ?? */
  1201. /* 7D */   bit_7_iX    ,  /* ?? */
  1202. /* 7E */   bit_7_pix   ,
  1203. /* 7F */   bit_7_pix   ,
  1204. /* 80 */   res_0_pixb  ,
  1205. /* 81 */   res_0_pixc  ,
  1206. /* 82 */   res_0_pixd  ,
  1207. /* 83 */   res_0_pixe  ,
  1208. /* 84 */   res_0_Ix    ,  /* ?? */
  1209. /* 85 */   res_0_iX    ,  /* ?? */
  1210. /* 86 */   res_0_pix   ,
  1211. /* 87 */   res_0_pixa  ,
  1212. /* 88 */   res_1_pixb  ,
  1213. /* 89 */   res_1_pixc  ,
  1214. /* 8A */   res_1_pixd  ,
  1215. /* 8B */   res_1_pixe  ,
  1216. /* 8C */   res_1_Ix    ,  /* ?? */
  1217. /* 8D */   res_1_iX    ,  /* ?? */
  1218. /* 8E */   res_1_pix   ,
  1219. /* 8F */   res_1_pixa  ,
  1220. /* 90 */   res_2_pixb  ,
  1221. /* 91 */   res_2_pixc  ,
  1222. /* 92 */   res_2_pixd  ,
  1223. /* 93 */   res_2_pixe  ,
  1224. /* 94 */   res_2_Ix    ,  /* ?? */
  1225. /* 95 */   res_2_iX    ,  /* ?? */
  1226. /* 96 */   res_2_pix   ,
  1227. /* 97 */   res_2_pixa  ,
  1228. /* 98 */   res_3_pixb  ,
  1229. /* 99 */   res_3_pixc  ,
  1230. /* 9A */   res_3_pixd  ,
  1231. /* 9B */   res_3_pixe  ,
  1232. /* 9C */   res_3_Ix    ,  /* ?? */
  1233. /* 9D */   res_3_iX    ,  /* ?? */
  1234. /* 9E */   res_3_pix   ,
  1235. /* 9F */   res_3_pixa  ,
  1236. /* A0 */   res_4_pixb  ,
  1237. /* A1 */   res_4_pixc  ,
  1238. /* A2 */   res_4_pixd  ,
  1239. /* A3 */   res_4_pixe  ,
  1240. /* A4 */   res_4_Ix    ,  /* ?? */
  1241. /* A5 */   res_4_iX    ,  /* ?? */
  1242. /* A6 */   res_4_pix   ,
  1243. /* A7 */   res_4_pixa  ,
  1244. /* A8 */   res_5_pixb  ,
  1245. /* A9 */   res_5_pixc  ,
  1246. /* AA */   res_5_pixd  ,
  1247. /* AB */   res_5_pixe  ,
  1248. /* AC */   res_5_Ix    ,  /* ?? */
  1249. /* AD */   res_5_iX    ,  /* ?? */
  1250. /* AE */   res_5_pix   ,
  1251. /* AF */   res_5_pixa  ,
  1252. /* B0 */   res_6_pixb  ,
  1253. /* B1 */   res_6_pixc  ,
  1254. /* B2 */   res_6_pixd  ,
  1255. /* B3 */   res_6_pixe  ,
  1256. /* B4 */   res_6_Ix    ,  /* ?? */
  1257. /* B5 */   res_6_iX    ,  /* ?? */
  1258. /* B6 */   res_6_pix   ,
  1259. /* B7 */   res_6_pixa  ,
  1260. /* B8 */   res_7_pixb  ,
  1261. /* B9 */   res_7_pixc  ,
  1262. /* BA */   res_7_pixd  ,
  1263. /* BB */   res_7_pixe  ,
  1264. /* BC */   res_7_Ix    ,  /* ?? */
  1265. /* BD */   res_7_iX    ,  /* ?? */
  1266. /* BE */   res_7_pix   ,
  1267. /* BF */   res_7_pixa  ,
  1268. /* C0 */   set_0_pixb  ,
  1269. /* C1 */   set_0_pixc  ,
  1270. /* C2 */   set_0_pixd  ,
  1271. /* C3 */   set_0_pixe  ,
  1272. /* C4 */   set_0_Ix    ,  /* ?? */
  1273. /* C5 */   set_0_iX    ,  /* ?? */
  1274. /* C6 */   set_0_pix   ,
  1275. /* C7 */   set_0_pixa  ,
  1276. /* C8 */   set_1_pixb  ,
  1277. /* C9 */   set_1_pixc  ,
  1278. /* CA */   set_1_pixd  ,
  1279. /* CB */   set_1_pixe  ,
  1280. /* CC */   set_1_Ix    ,  /* ?? */
  1281. /* CD */   set_1_iX    ,  /* ?? */
  1282. /* CE */   set_1_pix   ,
  1283. /* CF */   set_1_pixa  ,
  1284. /* D0 */   set_2_pixb  ,
  1285. /* D1 */   set_2_pixc  ,
  1286. /* D2 */   set_2_pixd  ,
  1287. /* D3 */   set_2_pixe  ,
  1288. /* D4 */   set_2_Ix    ,  /* ?? */
  1289. /* D5 */   set_2_iX    ,  /* ?? */
  1290. /* D6 */   set_2_pix   ,
  1291. /* D7 */   set_2_pixa  ,
  1292. /* D8 */   set_3_pixb  ,
  1293. /* D9 */   set_3_pixc  ,
  1294. /* DA */   set_3_pixd  ,
  1295. /* DB */   set_3_pixe  ,
  1296. /* DC */   set_3_Ix    ,  /* ?? */
  1297. /* DD */   set_3_iX    ,  /* ?? */
  1298. /* DE */   set_3_pix   ,
  1299. /* DF */   set_3_pixa  ,
  1300. /* E0 */   set_4_pixb  ,
  1301. /* E1 */   set_4_pixc  ,
  1302. /* E2 */   set_4_pixd  ,
  1303. /* E3 */   set_4_pixe  ,
  1304. /* E4 */   set_4_Ix    ,
  1305. /* E5 */   set_4_iX    ,
  1306. /* E6 */   set_4_pix   ,
  1307. /* E7 */   set_4_pixa  ,
  1308. /* E8 */   set_5_pixb  ,
  1309. /* E9 */   set_5_pixc  ,
  1310. /* EA */   set_5_pixd  ,
  1311. /* EB */   set_5_pixe  ,
  1312. /* EC */   set_5_Ix    ,  /* ?? */
  1313. /* ED */   set_5_iX    ,  /* ?? */
  1314. /* EE */   set_5_pix   ,
  1315. /* EF */   set_5_pixa  ,
  1316. /* F0 */   set_6_pixb  ,
  1317. /* F1 */   set_6_pixc  ,
  1318. /* F2 */   set_6_pixd  ,
  1319. /* F3 */   set_6_pixe  ,
  1320. /* F4 */   set_6_Ix    ,  /* ?? */
  1321. /* F5 */   set_6_iX    ,  /* ?? */
  1322. /* F6 */   set_6_pix   ,
  1323. /* F7 */   set_6_pixa  ,
  1324. /* F8 */   set_7_pixb  ,
  1325. /* F9 */   set_7_pixc  ,
  1326. /* FA */   set_7_pixd  ,
  1327. /* FB */   set_7_pixe  ,
  1328. /* FC */   set_7_Ix    ,  /* ?? */
  1329. /* FD */   set_7_iX    ,  /* ?? */
  1330. /* FE */   set_7_pix   ,
  1331. /* FF */   set_7_pixa
  1332. };
  1333.  
  1334. static void (*instruc_tablIYCB[256])() =
  1335. {
  1336. /* 00 */   rlc_piyb    ,
  1337. /* 01 */   rlc_piyc    ,
  1338. /* 02 */   rlc_piyd    ,
  1339. /* 03 */   rlc_piye    ,
  1340. /* 04 */   rlc_Iy      ,  /* ?? */
  1341. /* 05 */   rlc_iY      ,  /* ?? */
  1342. /* 06 */   rlc_piy     ,
  1343. /* 07 */   rlc_piya    ,
  1344. /* 08 */   rrc_piyb    ,
  1345. /* 09 */   rrc_piyc    ,
  1346. /* 0A */   rrc_piyd    ,
  1347. /* 0B */   rrc_piye    ,
  1348. /* 0C */   rrc_Iy      ,  /* ?? */
  1349. /* 0D */   rrc_iY      ,  /* ?? */
  1350. /* 0E */   rrc_piy     ,
  1351. /* 0F */   rrc_piya    ,
  1352. /* 10 */   rl_piyb     ,
  1353. /* 11 */   rl_piyc     ,
  1354. /* 12 */   rl_piyd     ,
  1355. /* 13 */   rl_piye     ,
  1356. /* 14 */   rl_Iy       ,  /* ?? */
  1357. /* 15 */   rl_iY       ,  /* ?? */
  1358. /* 16 */   rl_piy      ,
  1359. /* 17 */   rl_piya     ,
  1360. /* 18 */   rr_piyb     ,
  1361. /* 19 */   rr_piyc     ,
  1362. /* 1A */   rr_piyd     ,
  1363. /* 1B */   rr_piye     ,
  1364. /* 1C */   rr_Iy       ,  /* ?? */
  1365. /* 1D */   rr_iY       ,  /* ?? */
  1366. /* 1E */   rr_piy      ,
  1367. /* 1F */   rr_piya     ,
  1368. /* 20 */   sla_piyb    ,
  1369. /* 21 */   sla_piyc    ,
  1370. /* 22 */   sla_piyd    ,
  1371. /* 23 */   sla_piye    ,
  1372. /* 24 */   sla_Iy      ,  /* ?? */
  1373. /* 25 */   sla_iY      ,  /* ?? */
  1374. /* 26 */   sla_piy     ,
  1375. /* 27 */   sla_piya    ,
  1376. /* 28 */   sra_piyb    ,
  1377. /* 29 */   sra_piyc    ,
  1378. /* 2A */   sra_piyd    ,
  1379. /* 2B */   sra_piye    ,
  1380. /* 2C */   sra_Iy      ,  /* ?? */
  1381. /* 2D */   sra_iY      ,  /* ?? */
  1382. /* 2E */   sra_piy     ,
  1383. /* 2F */   sra_piya    ,
  1384. /* 30 */   sll_piyb    ,
  1385. /* 31 */   sll_piyc    ,
  1386. /* 32 */   sll_piyd    ,
  1387. /* 33 */   sll_piye    ,
  1388. /* 34 */   sll_Iy      ,  /* ?? */
  1389. /* 35 */   sll_iY      ,  /* ?? */
  1390. /* 36 */   sll_piy     ,
  1391. /* 37 */   sll_piya    ,
  1392. /* 38 */   srl_piyb    ,
  1393. /* 39 */   srl_piyc    ,
  1394. /* 3A */   srl_piyd    ,
  1395. /* 3B */   srl_piye    ,
  1396. /* 3C */   srl_Iy      ,  /* ?? */
  1397. /* 3D */   srl_iY      ,  /* ?? */
  1398. /* 3E */   srl_piy     ,
  1399. /* 3F */   srl_piya    ,
  1400. /* 40 */   bit_0_piy   ,
  1401. /* 41 */   bit_0_piy   ,
  1402. /* 42 */   bit_0_piy   ,
  1403. /* 43 */   bit_0_piy   ,
  1404. /* 44 */   bit_0_Iy    ,  /* ?? */
  1405. /* 45 */   bit_0_iY    ,  /* ?? */
  1406. /* 46 */   bit_0_piy   ,
  1407. /* 47 */   bit_0_piy   ,
  1408. /* 48 */   bit_1_piy   ,
  1409. /* 49 */   bit_1_piy   ,
  1410. /* 4A */   bit_1_piy   ,
  1411. /* 4B */   bit_1_piy   ,
  1412. /* 4C */   bit_1_Iy    ,  /* ?? */
  1413. /* 4D */   bit_1_iY    ,  /* ?? */
  1414. /* 4E */   bit_1_piy   ,
  1415. /* 4F */   bit_1_piy   ,
  1416. /* 50 */   bit_2_piy   ,
  1417. /* 51 */   bit_2_piy   ,
  1418. /* 52 */   bit_2_piy   ,
  1419. /* 53 */   bit_2_piy   ,
  1420. /* 54 */   bit_2_Iy    ,  /* ?? */
  1421. /* 55 */   bit_2_iY    ,  /* ?? */
  1422. /* 56 */   bit_2_piy   ,
  1423. /* 57 */   bit_2_piy   ,
  1424. /* 58 */   bit_3_piy   ,
  1425. /* 59 */   bit_3_piy   ,
  1426. /* 5A */   bit_3_piy   ,
  1427. /* 5B */   bit_3_piy   ,
  1428. /* 5C */   bit_3_Iy    ,  /* ?? */
  1429. /* 5D */   bit_3_iY    ,  /* ?? */
  1430. /* 5E */   bit_3_piy   ,
  1431. /* 5F */   bit_3_piy   ,
  1432. /* 60 */   bit_4_piy   ,
  1433. /* 61 */   bit_4_piy   ,
  1434. /* 62 */   bit_4_piy   ,
  1435. /* 63 */   bit_4_piy   ,
  1436. /* 64 */   bit_4_Iy    ,  /* ?? */
  1437. /* 65 */   bit_4_iY    ,  /* ?? */
  1438. /* 66 */   bit_4_piy   ,
  1439. /* 67 */   bit_4_piy   ,
  1440. /* 68 */   bit_5_piy   ,
  1441. /* 69 */   bit_5_piy   ,
  1442. /* 6A */   bit_5_piy   ,
  1443. /* 6B */   bit_5_piy   ,
  1444. /* 6C */   bit_5_Iy    ,  /* ?? */
  1445. /* 6D */   bit_5_iY    ,  /* ?? */
  1446. /* 6E */   bit_5_piy   ,
  1447. /* 6F */   bit_5_piy   ,
  1448. /* 70 */   bit_6_piy   ,
  1449. /* 71 */   bit_6_piy   ,
  1450. /* 72 */   bit_6_piy   ,
  1451. /* 73 */   bit_6_piy   ,
  1452. /* 74 */   bit_6_Iy    ,  /* ?? */
  1453. /* 75 */   bit_6_iY    ,  /* ?? */
  1454. /* 76 */   bit_6_piy   ,
  1455. /* 77 */   bit_6_piy   ,
  1456. /* 78 */   bit_7_piy   ,
  1457. /* 79 */   bit_7_piy   ,
  1458. /* 7A */   bit_7_piy   ,
  1459. /* 7B */   bit_7_piy   ,
  1460. /* 7C */   bit_7_Iy    ,  /* ?? */
  1461. /* 7D */   bit_7_iY    ,  /* ?? */
  1462. /* 7E */   bit_7_piy   ,
  1463. /* 7F */   bit_7_piy   ,
  1464. /* 80 */   res_0_piyb  ,
  1465. /* 81 */   res_0_piyc  ,
  1466. /* 82 */   res_0_piyd  ,
  1467. /* 83 */   res_0_piye  ,
  1468. /* 84 */   res_0_Iy    ,  /* ?? */
  1469. /* 85 */   res_0_iY    ,  /* ?? */
  1470. /* 86 */   res_0_piy   ,
  1471. /* 87 */   res_0_piya  ,
  1472. /* 88 */   res_1_piyb  ,
  1473. /* 89 */   res_1_piyc  ,
  1474. /* 8A */   res_1_piyd  ,
  1475. /* 8B */   res_1_piye  ,
  1476. /* 8C */   res_1_Iy    ,  /* ?? */
  1477. /* 8D */   res_1_iY    ,  /* ?? */
  1478. /* 8E */   res_1_piy   ,
  1479. /* 8F */   res_1_piya  ,
  1480. /* 90 */   res_2_piyb  ,
  1481. /* 91 */   res_2_piyc  ,
  1482. /* 92 */   res_2_piyd  ,
  1483. /* 93 */   res_2_piye  ,
  1484. /* 94 */   res_2_Iy    ,  /* ?? */
  1485. /* 95 */   res_2_iY    ,  /* ?? */
  1486. /* 96 */   res_2_piy   ,
  1487. /* 97 */   res_2_piya  ,
  1488. /* 98 */   res_3_piyb  ,
  1489. /* 99 */   res_3_piyc  ,
  1490. /* 9A */   res_3_piyd  ,
  1491. /* 9B */   res_3_piye  ,
  1492. /* 9C */   res_3_Iy    ,  /* ?? */
  1493. /* 9D */   res_3_iY    ,  /* ?? */
  1494. /* 9E */   res_3_piy   ,
  1495. /* 9F */   res_3_piya  ,
  1496. /* A0 */   res_4_piyb  ,
  1497. /* A1 */   res_4_piyc  ,
  1498. /* A2 */   res_4_piyd  ,
  1499. /* A3 */   res_4_piye  ,
  1500. /* A4 */   res_4_Iy    ,  /* ?? */
  1501. /* A5 */   res_4_iY    ,  /* ?? */
  1502. /* A6 */   res_4_piy   ,
  1503. /* A7 */   res_4_piya  ,
  1504. /* A8 */   res_5_piyb  ,
  1505. /* A9 */   res_5_piyc  ,
  1506. /* AA */   res_5_piyd  ,
  1507. /* AB */   res_5_piye  ,
  1508. /* AC */   res_5_Iy    ,  /* ?? */
  1509. /* AD */   res_5_iY    ,  /* ?? */
  1510. /* AE */   res_5_piy   ,
  1511. /* AF */   res_5_piya  ,
  1512. /* B0 */   res_6_piyb  ,
  1513. /* B1 */   res_6_piyc  ,
  1514. /* B2 */   res_6_piyd  ,
  1515. /* B3 */   res_6_piye  ,
  1516. /* B4 */   res_6_Iy    ,  /* ?? */
  1517. /* B5 */   res_6_iY    ,  /* ?? */
  1518. /* B6 */   res_6_piy   ,
  1519. /* B7 */   res_6_piya  ,
  1520. /* B8 */   res_7_piyb  ,
  1521. /* B9 */   res_7_piyc  ,
  1522. /* BA */   res_7_piyd  ,
  1523. /* BB */   res_7_piye  ,
  1524. /* BC */   res_7_Iy    ,  /* ?? */
  1525. /* BD */   res_7_iY    ,  /* ?? */
  1526. /* BE */   res_7_piy   ,
  1527. /* BF */   res_7_piya  ,
  1528. /* C0 */   set_0_piyb  ,
  1529. /* C1 */   set_0_piyc  ,
  1530. /* C2 */   set_0_piyd  ,
  1531. /* C3 */   set_0_piye  ,
  1532. /* C4 */   set_0_Iy    ,  /* ?? */
  1533. /* C5 */   set_0_iY    ,  /* ?? */
  1534. /* C6 */   set_0_piy   ,
  1535. /* C7 */   set_0_piya  ,
  1536. /* C8 */   set_1_piyb  ,
  1537. /* C9 */   set_1_piyc  ,
  1538. /* CA */   set_1_piyd  ,
  1539. /* CB */   set_1_piye  ,
  1540. /* CC */   set_1_Iy    ,  /* ?? */
  1541. /* CD */   set_1_iY    ,  /* ?? */
  1542. /* CE */   set_1_piy   ,
  1543. /* CF */   set_1_piya  ,
  1544. /* D0 */   set_2_piyb  ,
  1545. /* D1 */   set_2_piyc  ,
  1546. /* D2 */   set_2_piyd  ,
  1547. /* D3 */   set_2_piye  ,
  1548. /* D4 */   set_2_Iy    ,  /* ?? */
  1549. /* D5 */   set_2_iY    ,  /* ?? */
  1550. /* D6 */   set_2_piy   ,
  1551. /* D7 */   set_2_piya  ,
  1552. /* D8 */   set_3_piyb  ,
  1553. /* D9 */   set_3_piyc  ,
  1554. /* DA */   set_3_piyd  ,
  1555. /* DB */   set_3_piye  ,
  1556. /* DC */   set_3_Iy    ,  /* ?? */
  1557. /* DD */   set_3_iY    ,  /* ?? */
  1558. /* DE */   set_3_piy   ,
  1559. /* DF */   set_3_piya  ,
  1560. /* E0 */   set_4_piyb  ,
  1561. /* E1 */   set_4_piyc  ,
  1562. /* E2 */   set_4_piyd  ,
  1563. /* E3 */   set_4_piye  ,
  1564. /* E4 */   set_4_Iy    ,
  1565. /* E5 */   set_4_iY    ,
  1566. /* E6 */   set_4_piy   ,
  1567. /* E7 */   set_4_piya  ,
  1568. /* E8 */   set_5_piyb  ,
  1569. /* E9 */   set_5_piyc  ,
  1570. /* EA */   set_5_piyd  ,
  1571. /* EB */   set_5_piye  ,
  1572. /* EC */   set_5_Iy    ,  /* ?? */
  1573. /* ED */   set_5_iY    ,  /* ?? */
  1574. /* EE */   set_5_piy   ,
  1575. /* EF */   set_5_piya  ,
  1576. /* F0 */   set_6_piyb  ,
  1577. /* F1 */   set_6_piyc  ,
  1578. /* F2 */   set_6_piyd  ,
  1579. /* F3 */   set_6_piye  ,
  1580. /* F4 */   set_6_Iy    ,  /* ?? */
  1581. /* F5 */   set_6_iY    ,  /* ?? */
  1582. /* F6 */   set_6_piy   ,
  1583. /* F7 */   set_6_piya  ,
  1584. /* F8 */   set_7_piyb  ,
  1585. /* F9 */   set_7_piyc  ,
  1586. /* FA */   set_7_piyd  ,
  1587. /* FB */   set_7_piye  ,
  1588. /* FC */   set_7_Iy    ,  /* ?? */
  1589. /* FD */   set_7_iY    ,  /* ?? */
  1590. /* FE */   set_7_piy   ,
  1591. /* FF */   set_7_piya
  1592. };
  1593.  
  1594. static void (*instruc_tablED[256])() =
  1595. {
  1596. /* 00 */   dummyED     ,
  1597. /* 01 */   dummyED     ,
  1598. /* 02 */   dummyED     ,
  1599. /* 03 */   dummyED     ,
  1600. /* 04 */   dummyED     ,
  1601. /* 05 */   dummyED     ,
  1602. /* 06 */   dummyED     ,
  1603. /* 07 */   dummyED     ,
  1604. /* 08 */   dummyED     ,
  1605. /* 09 */   dummyED     ,
  1606. /* 0A */   dummyED     ,
  1607. /* 0B */   dummyED     ,
  1608. /* 0C */   dummyED     ,
  1609. /* 0D */   dummyED     ,
  1610. /* 0E */   dummyED     ,
  1611. /* 0F */   dummyED     ,
  1612. /* 10 */   dummyED     ,
  1613. /* 11 */   dummyED     ,
  1614. /* 12 */   dummyED     ,
  1615. /* 13 */   dummyED     ,
  1616. /* 14 */   dummyED     ,
  1617. /* 15 */   dummyED     ,
  1618. /* 16 */   dummyED     ,
  1619. /* 17 */   dummyED     ,
  1620. /* 18 */   dummyED     ,
  1621. /* 19 */   dummyED     ,
  1622. /* 1A */   dummyED     ,
  1623. /* 1B */   dummyED     ,
  1624. /* 1C */   dummyED     ,
  1625. /* 1D */   dummyED     ,
  1626. /* 1E */   dummyED     ,
  1627. /* 1F */   dummyED     ,
  1628. /* 20 */   dummyED     ,
  1629. /* 21 */   dummyED     ,
  1630. /* 22 */   dummyED     ,
  1631. /* 23 */   dummyED     ,
  1632. /* 24 */   dummyED     ,
  1633. /* 25 */   dummyED     ,
  1634. /* 26 */   dummyED     ,
  1635. /* 27 */   dummyED     ,
  1636. /* 28 */   dummyED     ,
  1637. /* 29 */   dummyED     ,
  1638. /* 2A */   dummyED     ,
  1639. /* 2B */   dummyED     ,
  1640. /* 2C */   dummyED     ,
  1641. /* 2D */   dummyED     ,
  1642. /* 2E */   dummyED     ,
  1643. /* 2F */   dummyED     ,
  1644. /* 30 */   dummyED     ,
  1645. /* 31 */   dummyED     ,
  1646. /* 32 */   dummyED     ,
  1647. /* 33 */   dummyED     ,
  1648. /* 34 */   dummyED     ,
  1649. /* 35 */   dummyED     ,
  1650. /* 36 */   dummyED     ,
  1651. /* 37 */   dummyED     ,
  1652. /* 38 */   dummyED     ,
  1653. /* 39 */   dummyED     ,
  1654. /* 3A */   dummyED     ,
  1655. /* 3B */   dummyED     ,
  1656. /* 3C */   dummyED     ,
  1657. /* 3D */   dummyED     ,
  1658. /* 3E */   dummyED     ,
  1659. /* 3F */   dummyED     ,
  1660. /* 40 */   in_b_pc     ,
  1661. /* 41 */   out_pc_b    ,
  1662. /* 42 */   sbc_hl_bc   ,
  1663. /* 43 */   ld_pnn_bc   ,
  1664. /* 44 */   neg         ,
  1665. /* 45 */   retn        ,
  1666. /* 46 */   im_0        ,
  1667. /* 47 */   ld_i_a      ,
  1668. /* 48 */   in_c_pc     ,
  1669. /* 49 */   out_pc_c    ,
  1670. /* 4A */   adc_hl_bc   ,
  1671. /* 4B */   ld_bc_pnn   ,
  1672. /* 4C */   neg         ,   /* Undocumented by Zilog */
  1673. /* 4D */   reti        ,
  1674. /* 4E */   im_0        ,   /* Undocumented by Zilog */
  1675. /* 4F */   ld_r_a      ,
  1676. /* 50 */   in_d_pc     ,
  1677. /* 51 */   out_pc_d    ,
  1678. /* 52 */   sbc_hl_de   ,
  1679. /* 53 */   ld_pnn_de   ,
  1680. /* 54 */   neg         ,   /* Undocumented by Zilog */
  1681. /* 55 */   retn /*ret*/,   /* Undocumented by Zilog */
  1682. /* 56 */   im_1        ,
  1683. /* 57 */   ld_a_i      ,
  1684. /* 58 */   in_e_pc     ,
  1685. /* 59 */   out_pc_e    ,
  1686. /* 5A */   adc_hl_de   ,
  1687. /* 5B */   ld_de_pnn   ,
  1688. /* 5C */   neg         ,   /* Undocumented by Zilog */
  1689. /* 5D */   retn /*ret*/,   /* Undocumented by Zilog */
  1690. /* 5E */   im_2        ,
  1691. /* 5F */   ld_a_r      ,
  1692. /* 60 */   in_h_pc     ,
  1693. /* 61 */   out_pc_h    ,
  1694. /* 62 */   sbc_hl_hl   ,
  1695. /* 63 */   ld_pnn_hlED ,   /* Undocumented by Zilog */
  1696. /* 64 */   neg         ,   /* Undocumented by Zilog */
  1697. /* 65 */   retn /*ret*/,   /* Undocumented by Zilog */
  1698. /* 66 */   im_0        ,   /* Undocumented by Zilog */
  1699. /* 67 */   rrd         ,
  1700. /* 68 */   in_l_pc     ,
  1701. /* 69 */   out_pc_l    ,
  1702. /* 6A */   adc_hl_hl   ,
  1703. /* 6B */   ld_hl_pnnED ,   /* Undocumented by Zilog */
  1704. /* 6C */   neg         ,   /* Undocumented by Zilog */
  1705. /* 6D */   retn /*ret*/,   /* Undocumented by Zilog */
  1706. /* 6E */   im_0        ,   /* Undocumented by Zilog */
  1707. /* 6F */   rld         ,
  1708. /* 70 */   in_f_pc     ,   /* Undocumented by Zilog */
  1709. /* 71 */   out_pc_f    ,   /* Undocumented by Zilog */
  1710. /* 72 */   sbc_hl_sp   ,
  1711. /* 73 */   ld_pnn_sp   ,
  1712. /* 74 */   neg         ,   /* Undocumented by Zilog */
  1713. /* 75 */   retn /*ret*/,   /* Undocumented by Zilog */
  1714. /* 76 */   im_1        ,   /* Undocumented by Zilog */
  1715. /* 77 */   dummyED     ,
  1716. /* 78 */   in_a_pc     ,
  1717. /* 79 */   out_pc_a    ,
  1718. /* 7A */   adc_hl_sp   ,
  1719. /* 7B */   ld_sp_pnn   ,
  1720. /* 7C */   neg         ,   /* Undocumented by Zilog */
  1721. /* 7D */   retn /*ret*/,   /* Undocumented by Zilog */
  1722. /* 7E */   im_2        ,   /* Undocumented by Zilog */
  1723. /* 7F */   dummyED     ,
  1724. /* 80 */   dummyED     ,
  1725. /* 81 */   dummyED     ,
  1726. /* 82 */   dummyED     ,
  1727. /* 83 */   dummyED     ,
  1728. /* 84 */   dummyED     ,
  1729. /* 85 */   dummyED     ,
  1730. /* 86 */   dummyED     ,
  1731. /* 87 */   dummyED     ,
  1732. /* 88 */   dummyED     ,
  1733. /* 89 */   dummyED     ,
  1734. /* 8A */   dummyED     ,
  1735. /* 8B */   dummyED     ,
  1736. /* 8C */   dummyED     ,
  1737. /* 8D */   dummyED     ,
  1738. /* 8E */   dummyED     ,
  1739. /* 8F */   dummyED     ,
  1740. /* 90 */   dummyED     ,
  1741. /* 91 */   dummyED     ,
  1742. /* 92 */   dummyED     ,
  1743. /* 93 */   dummyED     ,
  1744. /* 94 */   dummyED     ,
  1745. /* 95 */   dummyED     ,
  1746. /* 96 */   dummyED     ,
  1747. /* 97 */   dummyED     ,
  1748. /* 98 */   dummyED     ,
  1749. /* 99 */   dummyED     ,
  1750. /* 9A */   dummyED     ,
  1751. /* 9B */   dummyED     ,
  1752. /* 9C */   dummyED     ,
  1753. /* 9D */   dummyED     ,
  1754. /* 9E */   dummyED     ,
  1755. /* 9F */   dummyED     ,
  1756. /* A0 */   ldi         ,
  1757. /* A1 */   cpi         ,
  1758. /* A2 */   ini         ,
  1759. /* A3 */   outi        ,
  1760. /* A4 */   dummyED     ,
  1761. /* A5 */   dummyED     ,
  1762. /* A6 */   dummyED     ,
  1763. /* A7 */   dummyED     ,
  1764. /* A8 */   ldd         ,
  1765. /* A9 */   cpd         ,
  1766. /* AA */   ind         ,
  1767. /* AB */   outd        ,
  1768. /* AC */   dummyED     ,
  1769. /* AD */   dummyED     ,
  1770. /* AE */   dummyED     ,
  1771. /* AF */   dummyED     ,
  1772. /* B0 */   ldir        ,
  1773. /* B1 */   cpir        ,
  1774. /* B2 */   inir        ,
  1775. /* B3 */   otir        ,
  1776. /* B4 */   dummyED     ,
  1777. /* B5 */   dummyED     ,
  1778. /* B6 */   dummyED     ,
  1779. /* B7 */   dummyED     ,
  1780. /* B8 */   lddr        ,
  1781. /* B9 */   cpdr        ,
  1782. /* BA */   indr        ,
  1783. /* BB */   otdr        ,
  1784. /* BC */   dummyED     ,
  1785. /* BD */   dummyED     ,
  1786. /* BE */   dummyED     ,
  1787. /* BF */   dummyED     ,
  1788. /* C0 */   dummyED     ,
  1789. /* C1 */   dummyED     ,
  1790. /* C2 */   dummyED     ,
  1791. /* C3 */   dummyED     ,
  1792. /* C4 */   dummyED     ,
  1793. /* C5 */   dummyED     ,
  1794. /* C6 */   dummyED     ,
  1795. /* C7 */   dummyED     ,
  1796. /* C8 */   dummyED     ,
  1797. /* C9 */   dummyED     ,
  1798. /* CA */   dummyED     ,
  1799. /* CB */   dummyED     ,
  1800. /* CC */   dummyED     ,
  1801. /* CD */   dummyED     ,
  1802. /* CE */   dummyED     ,
  1803. /* CF */   dummyED     ,
  1804. /* D0 */   dummyED     ,
  1805. /* D1 */   dummyED     ,
  1806. /* D2 */   dummyED     ,
  1807. /* D3 */   dummyED     ,
  1808. /* D4 */   dummyED     ,
  1809. /* D5 */   dummyED     ,
  1810. /* D6 */   dummyED     ,
  1811. /* D7 */   dummyED     ,
  1812. /* D8 */   dummyED     ,
  1813. /* D9 */   dummyED     ,
  1814. /* DA */   dummyED     ,
  1815. /* DB */   dummyED     ,
  1816. /* DC */   dummyED     ,
  1817. /* DD */   dummyED     ,
  1818. /* DE */   dummyED     ,
  1819. /* DF */   dummyED     ,
  1820. /* E0 */   dummyED     ,
  1821. /* E1 */   dummyED     ,
  1822. /* E2 */   dummyED     ,
  1823. /* E3 */   dummyED     ,
  1824. /* E4 */   dummyED     ,
  1825. /* E5 */   dummyED     ,
  1826. /* E6 */   dummyED     ,
  1827. /* E7 */   dummyED     ,
  1828. /* E8 */   dummyED     ,
  1829. /* E9 */   dummyED     ,
  1830. /* EA */   dummyED     ,
  1831. /* EB */   dummyED     ,
  1832. /* EC */   dummyED     ,
  1833. /* ED */   dummyED     ,
  1834. /* EE */   dummyED     ,
  1835. /* EF */   dummyED     ,
  1836. /* F0 */   dummyED     ,
  1837. /* F1 */   dummyED     ,
  1838. /* F2 */   dummyED     ,
  1839. /* F3 */   dummyED     ,
  1840. /* F4 */   dummyED     ,
  1841. /* F5 */   dummyED     ,
  1842. /* F6 */   dummyED     ,
  1843. /* F7 */   dummyED     ,
  1844. /* F8 */   dummyED     ,
  1845. /* F9 */   dummyED     ,
  1846. /* FA */   dummyED     ,
  1847. /* FB */   level_loader_trap,
  1848. /* FC */   dummyED     ,
  1849. /* FD */   dummyED     ,
  1850. /* FE */   dummyED     ,
  1851. /* FF */   dummyED
  1852. };
  1853.  
  1854. /* EOF: IVars.H */
  1855.