Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | Download | RSS feed

  1. /*=====================================================================
  2.   tables.h   -> Header file containing the defines for Z80 opcodes.
  3.  
  4.  This program is free software; you can redistribute it and/or modify
  5.  it under the terms of the GNU General Public License as published by
  6.  the Free Software Foundation; either version 2 of the License, or
  7.  (at your option) any later version.
  8.  
  9.  This program is distributed in the hope that it will be useful,
  10.  but WITHOUT ANY WARRANTY; without even the implied warranty of
  11.  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  12.  GNU General Public License for more details.
  13.  
  14.  You should have received a copy of the GNU General Public License
  15.  along with this program; if not, write to the Free Software
  16.  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  17.  
  18.  Copyright (c) 2000 Santiago Romero Iglesias.
  19.  Email: sromero@escomposlinux.org
  20.  ======================================================================*/
  21.  
  22. #ifndef TABLES_H
  23. #define TABLES_H
  24.  
  25. /*--- One byte opcodes: ----------------------------------------------*/
  26. #define  NOP           0
  27. #define  LD_BC_NN      1
  28. #define  LD_xBC_A      2
  29. #define  INC_BC        3
  30. #define  INC_B         4
  31. #define  DEC_B         5
  32. #define  LD_B_N        6
  33. #define  RLCA          7
  34. #define  EX_AF_AF      8
  35. #define  ADD_HL_BC     9
  36. #define  LD_A_xBC      10
  37. #define  DEC_BC        11
  38. #define  INC_C         12
  39. #define  DEC_C         13
  40. #define  LD_C_N        14
  41. #define  RRCA          15
  42. #define  DJNZ          16
  43. #define  LD_DE_NN      17
  44. #define  LD_xDE_A      18
  45. #define  INC_DE        19
  46. #define  INC_D         20
  47. #define  DEC_D         21
  48. #define  LD_D_N        22
  49. #define  RLA           23
  50. #define  JR            24
  51. #define  ADD_HL_DE     25
  52. #define  LD_A_xDE      26
  53. #define  DEC_DE        27
  54. #define  INC_E         28
  55. #define  DEC_E         29
  56. #define  LD_E_N        30
  57. #define  RRA           31
  58. #define  JR_NZ         32
  59. #define  LD_HL_NN      33
  60. #define  LD_xNN_HL     34
  61. #define  INC_HL        35
  62. #define  INC_H         36
  63. #define  DEC_H         37
  64. #define  LD_H_N        38
  65. #define  DAA           39
  66. #define  JR_Z          40
  67. #define  ADD_HL_HL     41
  68. #define  LD_HL_xNN     42
  69. #define  DEC_HL        43
  70. #define  INC_L         44
  71. #define  DEC_L         45
  72. #define  LD_L_N        46
  73. #define  CPL           47
  74. #define  JR_NC         48
  75. #define  LD_SP_NN      49
  76. #define  LD_xNN_A      50
  77. #define  INC_SP        51
  78. #define  INC_xHL       52
  79. #define  DEC_xHL       53
  80. #define  LD_xHL_N      54
  81. #define  SCF           55
  82. #define  JR_C          56
  83. #define  ADD_HL_SP     57
  84. #define  LD_A_xNN      58
  85. #define  DEC_SP        59
  86. #define  INC_A         60
  87. #define  DEC_A         61
  88. #define  LD_A_N        62
  89. #define  CCF           63
  90. #define  LD_B_B        64
  91. #define  LD_B_C        65
  92. #define  LD_B_D        66
  93. #define  LD_B_E        67
  94. #define  LD_B_H        68
  95. #define  LD_B_L        69
  96. #define  LD_B_xHL      70
  97. #define  LD_B_A        71
  98. #define  LD_C_B        72
  99. #define  LD_C_C        73
  100. #define  LD_C_D        74
  101. #define  LD_C_E        75
  102. #define  LD_C_H        76
  103. #define  LD_C_L        77
  104. #define  LD_C_xHL      78
  105. #define  LD_C_A        79
  106. #define  LD_D_B        80
  107. #define  LD_D_C        81
  108. #define  LD_D_D        82
  109. #define  LD_D_E        83
  110. #define  LD_D_H        84
  111. #define  LD_D_L        85
  112. #define  LD_D_xHL      86
  113. #define  LD_D_A        87
  114. #define  LD_E_B        88
  115. #define  LD_E_C        89
  116. #define  LD_E_D        90
  117. #define  LD_E_E        91
  118. #define  LD_E_H        92
  119. #define  LD_E_L        93
  120. #define  LD_E_xHL      94
  121. #define  LD_E_A        95
  122. #define  LD_H_B        96
  123. #define  LD_H_C        97
  124. #define  LD_H_D        98
  125. #define  LD_H_E        99
  126. #define  LD_H_H        100
  127. #define  LD_H_L        101
  128. #define  LD_H_xHL      102
  129. #define  LD_H_A        103
  130. #define  LD_L_B        104
  131. #define  LD_L_C        105
  132. #define  LD_L_D        106
  133. #define  LD_L_E        107
  134. #define  LD_L_H        108
  135. #define  LD_L_L        109
  136. #define  LD_L_xHL      110
  137. #define  LD_L_A        111
  138. #define  LD_xHL_B      112
  139. #define  LD_xHL_C      113
  140. #define  LD_xHL_D      114
  141. #define  LD_xHL_E      115
  142. #define  LD_xHL_H      116
  143. #define  LD_xHL_L      117
  144. #define  HALT          118
  145. #define  LD_xHL_A      119
  146. #define  LD_A_B        120
  147. #define  LD_A_C        121
  148. #define  LD_A_D        122
  149. #define  LD_A_E        123
  150. #define  LD_A_H        124
  151. #define  LD_A_L        125
  152. #define  LD_A_xHL      126
  153. #define  LD_A_A        127
  154. #define  ADD_B         128
  155. #define  ADD_C         129
  156. #define  ADD_D         130
  157. #define  ADD_E         131
  158. #define  ADD_H         132
  159. #define  ADD_L         133
  160. #define  ADD_xHL       134
  161. #define  ADD_A         135
  162. #define  ADC_B         136
  163. #define  ADC_C         137
  164. #define  ADC_D         138
  165. #define  ADC_E         139
  166. #define  ADC_H         140
  167. #define  ADC_L         141
  168. #define  ADC_xHL       142
  169. #define  ADC_A         143
  170. #define  SUB_B         144
  171. #define  SUB_C         145
  172. #define  SUB_D         146
  173. #define  SUB_E         147
  174. #define  SUB_H         148
  175. #define  SUB_L         149
  176. #define  SUB_xHL       150
  177. #define  SUB_A         151
  178. #define  SBC_B         152
  179. #define  SBC_C         153
  180. #define  SBC_D         154
  181. #define  SBC_E         155
  182. #define  SBC_H         156
  183. #define  SBC_L         157
  184. #define  SBC_xHL       158
  185. #define  SBC_A         159
  186. #define  AND_B         160
  187. #define  AND_C         161
  188. #define  AND_D         162
  189. #define  AND_E         163
  190. #define  AND_H         164
  191. #define  AND_L         165
  192. #define  AND_xHL       166
  193. #define  AND_A         167
  194. #define  XOR_B         168
  195. #define  XOR_C         169
  196. #define  XOR_D         170
  197. #define  XOR_E         171
  198. #define  XOR_H         172
  199. #define  XOR_L         173
  200. #define  XOR_xHL       174
  201. #define  XOR_A         175
  202. #define  OR_B          176
  203. #define  OR_C          177
  204. #define  OR_D          178
  205. #define  OR_E          179
  206. #define  OR_H          180
  207. #define  OR_L          181
  208. #define  OR_xHL        182
  209. #define  OR_A          183
  210. #define  CP_B          184
  211. #define  CP_C          185
  212. #define  CP_D          186
  213. #define  CP_E          187
  214. #define  CP_H          188
  215. #define  CP_L          189
  216. #define  CP_xHL        190
  217. #define  CP_A          191
  218. #define  RET_NZ        192
  219. #define  POP_BC        193
  220. #define  JP_NZ         194
  221. #define  JP            195
  222. #define  CALL_NZ       196
  223. #define  PUSH_BC       197
  224. #define  ADD_N         198
  225. #define  RST_00        199
  226. #define  RET_Z         200
  227. #define  RET           201
  228. #define  JP_Z          202
  229. #define  PREFIX_CB     203
  230. #define  CALL_Z        204
  231. #define  CALL          205
  232. #define  ADC_N         206
  233. #define  RST_08        207
  234. #define  RET_NC        208
  235. #define  POP_DE        209
  236. #define  JP_NC         210
  237. #define  OUT_N_A       211
  238. #define  CALL_NC       212
  239. #define  PUSH_DE       213
  240. #define  SUB_N         214
  241. #define  RST_10        215
  242. #define  RET_C         216
  243. #define  EXX           217
  244. #define  JP_C          218
  245. #define  IN_A_N        219
  246. #define  CALL_C        220
  247. #define  PREFIX_DD     221
  248. #define  SBC_N         222
  249. #define  RST_18        223
  250. #define  RET_PO        224
  251. #define  POP_HL        225
  252. #define  JP_PO         226
  253. #define  EX_HL_xSP     227
  254. #define  CALL_PO       228
  255. #define  PUSH_HL       229
  256. #define  AND_N         230
  257. #define  RST_20        231
  258. #define  RET_PE        232
  259. #define  JP_xHL        233
  260. #define  JP_PE         234
  261. #define  EX_DE_HL      235
  262. #define  CALL_PE       236
  263. #define  PREFIX_ED     237
  264. #define  XOR_N         238
  265. #define  RST_28        239
  266. #define  RET_P         240
  267. #define  POP_AF        241
  268. #define  JP_P          242
  269. #define  DI            243
  270. #define  CALL_P        244
  271. #define  PUSH_AF       245
  272. #define  OR_N          246
  273. #define  RST_30        247
  274. #define  RET_M         248
  275. #define  LD_SP_HL      249
  276. #define  JP_M          250
  277. #define  EI            251
  278. #define  CALL_M        252
  279. #define  PREFIX_FD     253
  280. #define  CP_N          254
  281. #define  RST_38        255
  282.  
  283.  
  284.  
  285. /*--- CB Prefix opcodes: ---------------------------------------------*/
  286. #define  RLC_B         0
  287. #define  RLC_C         1
  288. #define  RLC_D         2
  289. #define  RLC_E         3
  290. #define  RLC_H         4
  291. #define  RLC_L         5
  292. #define  RLC_xHL       6
  293. #define  RLC_A         7
  294. #define  RRC_B         8
  295. #define  RRC_C         9
  296. #define  RRC_D         10
  297. #define  RRC_E         11
  298. #define  RRC_H         12
  299. #define  RRC_L         13
  300. #define  RRC_xHL       14
  301. #define  RRC_A         15
  302. #define  RL_B          16
  303. #define  RL_C          17
  304. #define  RL_D          18
  305. #define  RL_E          19
  306. #define  RL_H          20
  307. #define  RL_L          21
  308. #define  RL_xHL        22
  309. #define  RL_A          23
  310. #define  RR_B          24
  311. #define  RR_C          25
  312. #define  RR_D          26
  313. #define  RR_E          27
  314. #define  RR_H          28
  315. #define  RR_L          29
  316. #define  RR_xHL        30
  317. #define  RR_A          31
  318. #define  SLA_B         32
  319. #define  SLA_C         33
  320. #define  SLA_D         34
  321. #define  SLA_E         35
  322. #define  SLA_H         36
  323. #define  SLA_L         37
  324. #define  SLA_xHL       38
  325. #define  SLA_A         39
  326. #define  SRA_B         40
  327. #define  SRA_C         41
  328. #define  SRA_D         42
  329. #define  SRA_E         43
  330. #define  SRA_H         44
  331. #define  SRA_L         45
  332. #define  SRA_xHL       46
  333. #define  SRA_A         47
  334. #define  SLL_B         48
  335. #define  SLL_C         49
  336. #define  SLL_D         50
  337. #define  SLL_E         51
  338. #define  SLL_H         52
  339. #define  SLL_L         53
  340. #define  SLL_xHL       54
  341. #define  SLL_A         55
  342. #define  SRL_B         56
  343. #define  SRL_C         57
  344. #define  SRL_D         58
  345. #define  SRL_E         59
  346. #define  SRL_H         60
  347. #define  SRL_L         61
  348. #define  SRL_xHL       62
  349. #define  SRL_A         63
  350. #define  BIT_0_B       64
  351. #define  BIT_0_C       65
  352. #define  BIT_0_D       66
  353. #define  BIT_0_E       67
  354. #define  BIT_0_H       68
  355. #define  BIT_0_L       69
  356. #define  BIT_0_xHL     70
  357. #define  BIT_0_A       71
  358. #define  BIT_1_B       72
  359. #define  BIT_1_C       73
  360. #define  BIT_1_D       74
  361. #define  BIT_1_E       75
  362. #define  BIT_1_H       76
  363. #define  BIT_1_L       77
  364. #define  BIT_1_xHL     78
  365. #define  BIT_1_A       79
  366. #define  BIT_2_B       80
  367. #define  BIT_2_C       81
  368. #define  BIT_2_D       82
  369. #define  BIT_2_E       83
  370. #define  BIT_2_H       84
  371. #define  BIT_2_L       85
  372. #define  BIT_2_xHL     86
  373. #define  BIT_2_A       87
  374. #define  BIT_3_B       88
  375. #define  BIT_3_C       89
  376. #define  BIT_3_D       90
  377. #define  BIT_3_E       91
  378. #define  BIT_3_H       92
  379. #define  BIT_3_L       93
  380. #define  BIT_3_xHL     94
  381. #define  BIT_3_A       95
  382. #define  BIT_4_B       96
  383. #define  BIT_4_C       97
  384. #define  BIT_4_D       98
  385. #define  BIT_4_E       99
  386. #define  BIT_4_H       100
  387. #define  BIT_4_L       101
  388. #define  BIT_4_xHL     102
  389. #define  BIT_4_A       103
  390. #define  BIT_5_B       104
  391. #define  BIT_5_C       105
  392. #define  BIT_5_D       106
  393. #define  BIT_5_E       107
  394. #define  BIT_5_H       108
  395. #define  BIT_5_L       109
  396. #define  BIT_5_xHL     110
  397. #define  BIT_5_A       111
  398. #define  BIT_6_B       112
  399. #define  BIT_6_C       113
  400. #define  BIT_6_D       114
  401. #define  BIT_6_E       115
  402. #define  BIT_6_H       116
  403. #define  BIT_6_L       117
  404. #define  BIT_6_xHL     118
  405. #define  BIT_6_A       119
  406. #define  BIT_7_B       120
  407. #define  BIT_7_C       121
  408. #define  BIT_7_D       122
  409. #define  BIT_7_E       123
  410. #define  BIT_7_H       124
  411. #define  BIT_7_L       125
  412. #define  BIT_7_xHL     126
  413. #define  BIT_7_A       127
  414. #define  RES_0_B       128
  415. #define  RES_0_C       129
  416. #define  RES_0_D       130
  417. #define  RES_0_E       131
  418. #define  RES_0_H       132
  419. #define  RES_0_L       133
  420. #define  RES_0_xHL     134
  421. #define  RES_0_A       135
  422. #define  RES_1_B       136
  423. #define  RES_1_C       137
  424. #define  RES_1_D       138
  425. #define  RES_1_E       139
  426. #define  RES_1_H       140
  427. #define  RES_1_L       141
  428. #define  RES_1_xHL     142
  429. #define  RES_1_A       143
  430. #define  RES_2_B       144
  431. #define  RES_2_C       145
  432. #define  RES_2_D       146
  433. #define  RES_2_E       147
  434. #define  RES_2_H       148
  435. #define  RES_2_L       149
  436. #define  RES_2_xHL     150
  437. #define  RES_2_A       151
  438. #define  RES_3_B       152
  439. #define  RES_3_C       153
  440. #define  RES_3_D       154
  441. #define  RES_3_E       155
  442. #define  RES_3_H       156
  443. #define  RES_3_L       157
  444. #define  RES_3_xHL     158
  445. #define  RES_3_A       159
  446. #define  RES_4_B       160
  447. #define  RES_4_C       161
  448. #define  RES_4_D       162
  449. #define  RES_4_E       163
  450. #define  RES_4_H       164
  451. #define  RES_4_L       165
  452. #define  RES_4_xHL     166
  453. #define  RES_4_A       167
  454. #define  RES_5_B       168
  455. #define  RES_5_C       169
  456. #define  RES_5_D       170
  457. #define  RES_5_E       171
  458. #define  RES_5_H       172
  459. #define  RES_5_L       173
  460. #define  RES_5_xHL     174
  461. #define  RES_5_A       175
  462. #define  RES_6_B       176
  463. #define  RES_6_C       177
  464. #define  RES_6_D       178
  465. #define  RES_6_E       179
  466. #define  RES_6_H       180
  467. #define  RES_6_L       181
  468. #define  RES_6_xHL     182
  469. #define  RES_6_A       183
  470. #define  RES_7_B       184
  471. #define  RES_7_C       185
  472. #define  RES_7_D       186
  473. #define  RES_7_E       187
  474. #define  RES_7_H       188
  475. #define  RES_7_L       189
  476. #define  RES_7_xHL     190
  477. #define  RES_7_A       191
  478. #define  SET_0_B       192
  479. #define  SET_0_C       193
  480. #define  SET_0_D       194
  481. #define  SET_0_E       195
  482. #define  SET_0_H       196
  483. #define  SET_0_L       197
  484. #define  SET_0_xHL     198
  485. #define  SET_0_A       199
  486. #define  SET_1_B       200
  487. #define  SET_1_C       201
  488. #define  SET_1_D       202
  489. #define  SET_1_E       203
  490. #define  SET_1_H       204
  491. #define  SET_1_L       205
  492. #define  SET_1_xHL     206
  493. #define  SET_1_A       207
  494. #define  SET_2_B       208
  495. #define  SET_2_C       209
  496. #define  SET_2_D       210
  497. #define  SET_2_E       211
  498. #define  SET_2_H       212
  499. #define  SET_2_L       213
  500. #define  SET_2_xHL     214
  501. #define  SET_2_A       215
  502. #define  SET_3_B       216
  503. #define  SET_3_C       217
  504. #define  SET_3_D       218
  505. #define  SET_3_E       219
  506. #define  SET_3_H       220
  507. #define  SET_3_L       221
  508. #define  SET_3_xHL     222
  509. #define  SET_3_A       223
  510. #define  SET_4_B       224
  511. #define  SET_4_C       225
  512. #define  SET_4_D       226
  513. #define  SET_4_E       227
  514. #define  SET_4_H       228
  515. #define  SET_4_L       229
  516. #define  SET_4_xHL     230
  517. #define  SET_4_A       231
  518. #define  SET_5_B       232
  519. #define  SET_5_C       233
  520. #define  SET_5_D       234
  521. #define  SET_5_E       235
  522. #define  SET_5_H       236
  523. #define  SET_5_L       237
  524. #define  SET_5_xHL     238
  525. #define  SET_5_A       239
  526. #define  SET_6_B       240
  527. #define  SET_6_C       241
  528. #define  SET_6_D       242
  529. #define  SET_6_E       243
  530. #define  SET_6_H       244
  531. #define  SET_6_L       245
  532. #define  SET_6_xHL     246
  533. #define  SET_6_A       247
  534. #define  SET_7_B       248
  535. #define  SET_7_C       249
  536. #define  SET_7_D       250
  537. #define  SET_7_E       251
  538. #define  SET_7_H       252
  539. #define  SET_7_L       253
  540. #define  SET_7_xHL     254
  541. #define  SET_7_A       255
  542.  
  543.  
  544. /*--- ED opcodes: ----------------------------------------------------*/
  545. #define  IN_B_xC       64
  546. #define  OUT_xC_B      65
  547. #define  SBC_HL_BC     66
  548. #define  LD_xNNe_BC    67
  549. #define  NEG           68
  550. #define  RETN          69
  551. #define  IM_0          70
  552. #define  LD_I_A        71
  553. #define  IN_C_xC       72
  554. #define  OUT_xC_C      73
  555. #define  ADC_HL_BC     74
  556. #define  LD_BC_xNNe    75
  557. #define  ED_4C         76       /* * NEG */
  558. #define  RETI          77
  559. #define  ED_4E         78       /* * IM 0/1 */
  560. #define  LD_R_A        79
  561. #define  IN_D_xC       80
  562. #define  OUT_xC_D      81
  563. #define  SBC_HL_DE     82
  564. #define  LD_xNNe_DE    83
  565. #define  ED_54         84       /* * NEG */
  566. #define  ED_55         85       /* * RET */
  567. #define  IM_1          86
  568. #define  LD_A_I        87
  569. #define  IN_E_xC       88
  570. #define  OUT_xC_E      89
  571. #define  ADC_HL_DE     90
  572. #define  LD_DE_xNNe    91
  573. #define  ED_5C         92       /* * NEG */
  574. #define  ED_5D         93       /* * RET */
  575. #define  IM_2          94
  576. #define  LD_A_R        95
  577. #define  IN_H_xC       96
  578. #define  OUT_xC_H      97
  579. #define  SBC_HL_HL     98
  580. #define  LD_xNNe_HL    99
  581. #define  ED_64         100      /* * NEG */
  582. #define  ED_65         101      /* * RET */
  583. #define  ED_66         102      /* * IM 0 */
  584. #define  RRD           103
  585. #define  IN_L_xC       104
  586. #define  OUT_xC_L      105
  587. #define  ADC_HL_HL     106
  588. #define  LD_HL_xNNe    107
  589. #define  ED_6C         108      /* * NEG */
  590. #define  ED_6D         109      /* * RET */
  591. #define  ED_6E         110      /* * IM 0 */
  592. #define  RLD           111
  593. #define  IN_F_xC       112
  594. #define  ED_71         113      /* * OUT (C), 0 */
  595. #define  SBC_HL_SP     114
  596. #define  LD_xNNe_SP    115
  597. #define  ED_74         116      /* * NEG */
  598. #define  ED_75         117      /* * RET */
  599. #define  ED_76         118      /* * IM 1 */
  600. #define  ED_77         119      /* * NOP */
  601. #define  IN_A_xC       120
  602. #define  OUT_xC_A      121
  603. #define  ADC_HL_SP     122
  604. #define  LD_SP_xNNe    123
  605. #define  ED_7C         124      /* * NEG */
  606. #define  ED_7D         125      /* * RET */
  607. #define  ED_7E         126      /* * IM 2 */
  608. #define  ED_7F         127      /* * NOP */
  609. #define  LDI           160
  610. #define  CPI           161
  611. #define  INI           162
  612. #define  OUTI          163
  613. #define  LDD           168
  614. #define  CPD           169
  615. #define  IND           170
  616. #define  OUTD          171
  617. #define  LDIR          176
  618. #define  CPIR          177
  619. #define  INIR          178
  620. #define  OTIR          179
  621. #define  LDDR          184
  622. #define  CPDR          185
  623. #define  INDR          186
  624. #define  OTDR          187
  625. #define  ED_FE         254
  626.  
  627.  
  628. /*--- DD xx opcodes: -------------------------------------------------*/
  629. /* Those are the DD xx opcodes where HL is treated as IX + a
  630.    signed byte displacement n when required:  DD opcode n:            */
  631.  
  632. /*--- FD xx opcodes: -------------------------------------------------*/
  633. /* Those are the FD xx opcodes where HL is treated as IY + a
  634.    signed byte displacement n when required:  FD opcode n:            */
  635.  
  636. #define  ADD_IXY_BC     9
  637. #define  ADD_IXY_DE     25
  638. #define  LD_IXY_NN      33
  639. #define  LD_xNN_IXY     34
  640. #define  INC_IXY        35
  641. #define  INC_IXYh       36
  642. #define  DEC_IXYh       37
  643. #define  LD_IXYh_N      38
  644. #define  ADD_IXY_IXY    41
  645. #define  LD_IXY_xNN     42
  646. #define  DEC_IXY        43
  647. #define  INC_IXYl       44
  648. #define  DEC_IXYl       45
  649. #define  LD_IXYl_N      46
  650. #define  INC_xIXY       52
  651. #define  DEC_xIXY       53
  652. #define  LD_xIXY_N      54
  653. #define  ADD_IXY_SP     57
  654. #define  LD_B_IXYh      68
  655. #define  LD_B_IXYl      69
  656. #define  LD_B_xIXY      70
  657. #define  LD_C_IXYh      76
  658. #define  LD_C_IXYl      77
  659. #define  LD_C_xIXY      78
  660. #define  LD_D_IXYh      84
  661. #define  LD_D_IXYl      85
  662. #define  LD_D_xIXY      86
  663. #define  LD_E_IXYh      92
  664. #define  LD_E_IXYl      93
  665. #define  LD_E_xIXY      94
  666. #define  LD_IXYh_B      96
  667. #define  LD_IXYh_C      97
  668. #define  LD_IXYh_D      98
  669. #define  LD_IXYh_E      99
  670. #define  LD_IXYh_IXYh   100
  671. #define  LD_IXYh_IXYl   101
  672. #define  LD_H_xIXY      102
  673. #define  LD_IXYh_A      103
  674. #define  LD_IXYl_B      104
  675. #define  LD_IXYl_C      105
  676. #define  LD_IXYl_D      106
  677. #define  LD_IXYl_E      107
  678. #define  LD_IXYl_IXYh   108
  679. #define  LD_IXYl_IXYl   109
  680. #define  LD_L_xIXY      110
  681. #define  LD_IXYl_A      111
  682. #define  LD_xIXY_B      112
  683. #define  LD_xIXY_C      113
  684. #define  LD_xIXY_D      114
  685. #define  LD_xIXY_E      115
  686. #define  LD_xIXY_H      116
  687. #define  LD_xIXY_L      117
  688. #define  LD_xIXY_A      119
  689. #define  LD_A_IXYh      124
  690. #define  LD_A_IXYl      125
  691. #define  LD_A_xIXY      126
  692. #define  ADD_IXYh       132
  693. #define  ADD_IXYl       133
  694. #define  ADD_xIXY       134
  695. #define  ADC_IXYh       140
  696. #define  ADC_IXYl       141
  697. #define  ADC_xIXY       142
  698. #define  SUB_IXYh       148
  699. #define  SUB_IXYl       149
  700. #define  SUB_xIXY       150
  701. #define  SBC_IXYh       156
  702. #define  SBC_IXYl       157
  703. #define  SBC_xIXY       158
  704. #define  AND_IXYh       164
  705. #define  AND_IXYl       165
  706. #define  AND_xIXY       166
  707. #define  XOR_IXYh       172
  708. #define  XOR_IXYl       173
  709. #define  XOR_xIXY       174
  710. #define  OR_IXYh        180
  711. #define  OR_IXYl        181
  712. #define  OR_xIXY        182
  713. #define  CP_IXYh        188
  714. #define  CP_IXYl        189
  715. #define  CP_xIXY        190
  716. #define  POP_IXY        225
  717. #define  EX_IXY_xSP     227
  718. #define  PUSH_IXY       229
  719. #define  JP_IXY         233
  720. #define  LD_SP_IXY      249
  721.  
  722.  
  723.  
  724.  
  725. /*--- DD CB Prefix opcodes: ------------------------------------------*/
  726. /* Those are the CB xx opcodes where HL is treated as IX + a
  727.    signed byte displacement n:  DD CB n opcode:                       */
  728. /*--- FD CB Prefix opcodes: ------------------------------------------*/
  729. /* Those are the CB xx opcodes where HL is treated as IY + a
  730.    signed byte displacement n:  FD CB n opcode:                       */
  731.  
  732. #define  RLC_IXYh       4
  733. #define  RLC_IXYl       5
  734. #define  RLC_xIXY       6
  735. #define  RRC_IXYh       12
  736. #define  RRC_IXYl       13
  737. #define  RRC_xIXY       14
  738. #define  RL_IXYh        20
  739. #define  RL_IXYl        21
  740. #define  RL_xIXY        22
  741. #define  RR_IXYh        28
  742. #define  RR_IXYl        29
  743. #define  RR_xIXY        30
  744. #define  SLA_IXYh       36
  745. #define  SLA_IXYl       37
  746. #define  SLA_xIXY       38
  747. #define  SRA_IXYh       44
  748. #define  SRA_IXYl       45
  749. #define  SRA_xIXY       46
  750. #define  SLL_IXYh       52
  751. #define  SLL_IXYl       53
  752. #define  SLL_xIXY       54
  753. #define  SRL_IXYh       60
  754. #define  SRL_IXYl       61
  755. #define  SRL_xIXY       62
  756. #define  BIT_0_IXYh     68
  757. #define  BIT_0_IXYl     69
  758. #define  BIT_0_xIXY     70
  759. #define  BIT_1_IXYh     76
  760. #define  BIT_1_IXYl     77
  761. #define  BIT_1_xIXY     78
  762. #define  BIT_2_IXYh     84
  763. #define  BIT_2_IXYl     85
  764. #define  BIT_2_xIXY     86
  765. #define  BIT_3_IXYh     92
  766. #define  BIT_3_IXYl     93
  767. #define  BIT_3_xIXY     94
  768. #define  BIT_4_IXYh     100
  769. #define  BIT_4_IXYl     101
  770. #define  BIT_4_xIXY     102
  771. #define  BIT_5_IXYh     108
  772. #define  BIT_5_IXYl     109
  773. #define  BIT_5_xIXY     110
  774. #define  BIT_6_IXYh     116
  775. #define  BIT_6_IXYl     117
  776. #define  BIT_6_xIXY     118
  777. #define  BIT_7_IXYh     124
  778. #define  BIT_7_IXYl     125
  779. #define  BIT_7_xIXY     126
  780. #define  RES_0_IXYh     132
  781. #define  RES_0_IXYl     133
  782. #define  RES_0_xIXY     134
  783. #define  RES_1_IXYh     140
  784. #define  RES_1_IXYl     141
  785. #define  RES_1_xIXY     142
  786. #define  RES_2_IXYh     148
  787. #define  RES_2_IXYl     149
  788. #define  RES_2_xIXY     150
  789. #define  RES_3_IXYh     156
  790. #define  RES_3_IXYl     157
  791. #define  RES_3_xIXY     158
  792. #define  RES_4_IXYh     164
  793. #define  RES_4_IXYl     165
  794. #define  RES_4_xIXY     166
  795. #define  RES_5_IXYh     172
  796. #define  RES_5_IXYl     173
  797. #define  RES_5_xIXY     174
  798. #define  RES_6_IXYh     180
  799. #define  RES_6_IXYl     181
  800. #define  RES_6_xIXY     182
  801. #define  RES_7_IXYh     188
  802. #define  RES_7_IXYl     189
  803. #define  RES_7_xIXY     190
  804. #define  SET_0_IXYh     196
  805. #define  SET_0_IXYl     197
  806. #define  SET_0_xIXY     198
  807. #define  SET_1_IXYh     204
  808. #define  SET_1_IXYl     205
  809. #define  SET_1_xIXY     206
  810. #define  SET_2_IXYh     212
  811. #define  SET_2_IXYl     213
  812. #define  SET_2_xIXY     214
  813. #define  SET_3_IXYh     220
  814. #define  SET_3_IXYl     221
  815. #define  SET_3_xIXY     222
  816. #define  SET_4_IXYh     228
  817. #define  SET_4_IXYl     229
  818. #define  SET_4_xIXY     230
  819. #define  SET_5_IXYh     236
  820. #define  SET_5_IXYl     237
  821. #define  SET_5_xIXY     238
  822. #define  SET_6_IXYh     244
  823. #define  SET_6_IXYl     245
  824. #define  SET_6_xIXY     246
  825. #define  SET_7_IXYh     252
  826. #define  SET_7_IXYl     253
  827. #define  SET_7_xIXY     254
  828.  
  829. #endif
  830.