z80tab.inc 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494
  1. { don't edit, this file is generated from z80ins.dat; to regenerate, run 'make insdat' in the compiler directory }
  2. (
  3. (
  4. opcode : A_None;
  5. ops : 0;
  6. optypes : (OT_NONE,OT_NONE);
  7. code : 'void';
  8. flags : 0
  9. ),
  10. (
  11. opcode : A_ADC;
  12. ops : 2;
  13. optypes : (OT_REG8_A,OT_REG8);
  14. code : '%10001rrr';
  15. flags : 0
  16. ),
  17. (
  18. opcode : A_ADC;
  19. ops : 2;
  20. optypes : (OT_REG8_A,OT_IMM8);
  21. code : '$CE,n';
  22. flags : 0
  23. ),
  24. (
  25. opcode : A_ADC;
  26. ops : 2;
  27. optypes : (OT_REG8_A,OT_REF_HL);
  28. code : '$8E';
  29. flags : 0
  30. ),
  31. (
  32. opcode : A_ADC;
  33. ops : 2;
  34. optypes : (OT_REG8_A,OT_REF_IX_d);
  35. code : '$DD,$8E,d';
  36. flags : 0
  37. ),
  38. (
  39. opcode : A_ADC;
  40. ops : 2;
  41. optypes : (OT_REG8_A,OT_REF_IY_d);
  42. code : '$FD,$8E,d';
  43. flags : 0
  44. ),
  45. (
  46. opcode : A_ADC;
  47. ops : 2;
  48. optypes : (OT_REG16_HL,OT_REG16_BC_DE_HL_SP);
  49. code : '$ED,%01dd1010';
  50. flags : 0
  51. ),
  52. (
  53. opcode : A_ADD;
  54. ops : 2;
  55. optypes : (OT_REG8_A,OT_REG8);
  56. code : '%10000rrr';
  57. flags : 0
  58. ),
  59. (
  60. opcode : A_ADD;
  61. ops : 2;
  62. optypes : (OT_REG8_A,OT_IMM8);
  63. code : '$C6,n';
  64. flags : 0
  65. ),
  66. (
  67. opcode : A_ADD;
  68. ops : 2;
  69. optypes : (OT_REG8_A,OT_REF_HL);
  70. code : '$86';
  71. flags : 0
  72. ),
  73. (
  74. opcode : A_ADD;
  75. ops : 2;
  76. optypes : (OT_REG8_A,OT_REF_IX_d);
  77. code : '$DD,$86,d';
  78. flags : 0
  79. ),
  80. (
  81. opcode : A_ADD;
  82. ops : 2;
  83. optypes : (OT_REG8_A,OT_REF_IY_d);
  84. code : '$FD,$86,d';
  85. flags : 0
  86. ),
  87. (
  88. opcode : A_ADD;
  89. ops : 2;
  90. optypes : (OT_REG16_HL,OT_REG16_BC_DE_HL_SP);
  91. code : '%00dd1001';
  92. flags : 0
  93. ),
  94. (
  95. opcode : A_ADD;
  96. ops : 2;
  97. optypes : (OT_REG16_IX,OT_REG16_BC_DE_IX_SP);
  98. code : '$DD,%00pp1001';
  99. flags : 0
  100. ),
  101. (
  102. opcode : A_ADD;
  103. ops : 2;
  104. optypes : (OT_REG16_IY,OT_REG16_BC_DE_IY_SP);
  105. code : '$FD,%00rr1001';
  106. flags : 0
  107. ),
  108. (
  109. opcode : A_AND;
  110. ops : 2;
  111. optypes : (OT_REG8_A,OT_REG8);
  112. code : '%10100rrr';
  113. flags : 0
  114. ),
  115. (
  116. opcode : A_AND;
  117. ops : 2;
  118. optypes : (OT_REG8_A,OT_IMM8);
  119. code : '$E6,n';
  120. flags : 0
  121. ),
  122. (
  123. opcode : A_AND;
  124. ops : 2;
  125. optypes : (OT_REG8_A,OT_REF_HL);
  126. code : '$A6';
  127. flags : 0
  128. ),
  129. (
  130. opcode : A_AND;
  131. ops : 2;
  132. optypes : (OT_REG8_A,OT_REF_IX_d);
  133. code : '$DD,$A6,d';
  134. flags : 0
  135. ),
  136. (
  137. opcode : A_AND;
  138. ops : 2;
  139. optypes : (OT_REG8_A,OT_REF_IY_d);
  140. code : '$FD,$A6,d';
  141. flags : 0
  142. ),
  143. (
  144. opcode : A_BIT;
  145. ops : 2;
  146. optypes : (OT_IMM3,OT_REG8);
  147. code : '$CB,%01bbbrrr';
  148. flags : 0
  149. ),
  150. (
  151. opcode : A_BIT;
  152. ops : 2;
  153. optypes : (OT_IMM3,OT_REF_HL);
  154. code : '$CB,%01bbb110';
  155. flags : 0
  156. ),
  157. (
  158. opcode : A_BIT;
  159. ops : 2;
  160. optypes : (OT_IMM3,OT_REF_IX_d);
  161. code : '$DD,$CB,d,%01bbb110';
  162. flags : 0
  163. ),
  164. (
  165. opcode : A_BIT;
  166. ops : 2;
  167. optypes : (OT_IMM3,OT_REF_IY_d);
  168. code : '$FD,$CB,d,%01bbb110';
  169. flags : 0
  170. ),
  171. (
  172. opcode : A_CALL;
  173. ops : 1;
  174. optypes : (OT_IMM16,OT_NONE);
  175. code : '$CD,nn';
  176. flags : 0
  177. ),
  178. (
  179. opcode : A_CALL;
  180. ops : 2;
  181. optypes : (OT_COND,OT_IMM16);
  182. code : '%11ccc100,nn';
  183. flags : 0
  184. ),
  185. (
  186. opcode : A_CCF;
  187. ops : 0;
  188. optypes : (OT_NONE,OT_NONE);
  189. code : '$3F';
  190. flags : 0
  191. ),
  192. (
  193. opcode : A_CP;
  194. ops : 2;
  195. optypes : (OT_REG8_A,OT_REG8);
  196. code : '%10111rrr';
  197. flags : 0
  198. ),
  199. (
  200. opcode : A_CP;
  201. ops : 2;
  202. optypes : (OT_REG8_A,OT_IMM8);
  203. code : '$FE,n';
  204. flags : 0
  205. ),
  206. (
  207. opcode : A_CP;
  208. ops : 2;
  209. optypes : (OT_REG8_A,OT_REF_HL);
  210. code : '$BE';
  211. flags : 0
  212. ),
  213. (
  214. opcode : A_CP;
  215. ops : 2;
  216. optypes : (OT_REG8_A,OT_REF_IX_d);
  217. code : '$DD,$BE,d';
  218. flags : 0
  219. ),
  220. (
  221. opcode : A_CP;
  222. ops : 2;
  223. optypes : (OT_REG8_A,OT_REF_IY_d);
  224. code : '$FD,$BE,d';
  225. flags : 0
  226. ),
  227. (
  228. opcode : A_CPD;
  229. ops : 0;
  230. optypes : (OT_NONE,OT_NONE);
  231. code : '$ED,$A9';
  232. flags : 0
  233. ),
  234. (
  235. opcode : A_CPDR;
  236. ops : 0;
  237. optypes : (OT_NONE,OT_NONE);
  238. code : '$ED,$B9';
  239. flags : 0
  240. ),
  241. (
  242. opcode : A_CPI;
  243. ops : 0;
  244. optypes : (OT_NONE,OT_NONE);
  245. code : '$ED,$A1';
  246. flags : 0
  247. ),
  248. (
  249. opcode : A_CPIR;
  250. ops : 0;
  251. optypes : (OT_NONE,OT_NONE);
  252. code : '$ED,$B1';
  253. flags : 0
  254. ),
  255. (
  256. opcode : A_CPL;
  257. ops : 0;
  258. optypes : (OT_NONE,OT_NONE);
  259. code : '$2F';
  260. flags : 0
  261. ),
  262. (
  263. opcode : A_DAA;
  264. ops : 0;
  265. optypes : (OT_NONE,OT_NONE);
  266. code : '$27';
  267. flags : 0
  268. ),
  269. (
  270. opcode : A_DEC;
  271. ops : 1;
  272. optypes : (OT_REG8,OT_NONE);
  273. code : '%00rrr101';
  274. flags : 0
  275. ),
  276. (
  277. opcode : A_DEC;
  278. ops : 1;
  279. optypes : (OT_REF_HL,OT_NONE);
  280. code : '$35';
  281. flags : 0
  282. ),
  283. (
  284. opcode : A_DEC;
  285. ops : 1;
  286. optypes : (OT_REF_IX_d,OT_NONE);
  287. code : '$DD,$35,d';
  288. flags : 0
  289. ),
  290. (
  291. opcode : A_DEC;
  292. ops : 1;
  293. optypes : (OT_REF_IY_d,OT_NONE);
  294. code : '$FD,$35,d';
  295. flags : 0
  296. ),
  297. (
  298. opcode : A_DEC;
  299. ops : 1;
  300. optypes : (OT_REG16_BC_DE_HL_SP,OT_NONE);
  301. code : '%00dd1011';
  302. flags : 0
  303. ),
  304. (
  305. opcode : A_DEC;
  306. ops : 1;
  307. optypes : (OT_REG16_IX,OT_NONE);
  308. code : '$DD,$2B';
  309. flags : 0
  310. ),
  311. (
  312. opcode : A_DEC;
  313. ops : 1;
  314. optypes : (OT_REG16_IY,OT_NONE);
  315. code : '$FD,$2B';
  316. flags : 0
  317. ),
  318. (
  319. opcode : A_DI;
  320. ops : 0;
  321. optypes : (OT_NONE,OT_NONE);
  322. code : '$F3';
  323. flags : 0
  324. ),
  325. (
  326. opcode : A_DJNZ;
  327. ops : 1;
  328. optypes : (OT_RELJMP8,OT_NONE);
  329. code : '$10,e';
  330. flags : 0
  331. ),
  332. (
  333. opcode : A_EI;
  334. ops : 0;
  335. optypes : (OT_NONE,OT_NONE);
  336. code : '$FB';
  337. flags : 0
  338. ),
  339. (
  340. opcode : A_EX;
  341. ops : 2;
  342. optypes : (OT_REG16_DE,OT_REG16_HL);
  343. code : '$EB';
  344. flags : 0
  345. ),
  346. (
  347. opcode : A_EX;
  348. ops : 2;
  349. optypes : (OT_REG16_AF,OT_REG16_AF_);
  350. code : '$08';
  351. flags : 0
  352. ),
  353. (
  354. opcode : A_EX;
  355. ops : 2;
  356. optypes : (OT_REF_SP,OT_REG16_HL);
  357. code : '$E3';
  358. flags : 0
  359. ),
  360. (
  361. opcode : A_EX;
  362. ops : 2;
  363. optypes : (OT_REF_SP,OT_REG16_IX);
  364. code : '$DD,$E3';
  365. flags : 0
  366. ),
  367. (
  368. opcode : A_EX;
  369. ops : 2;
  370. optypes : (OT_REF_SP,OT_REG16_IY);
  371. code : '$FD,$E3';
  372. flags : 0
  373. ),
  374. (
  375. opcode : A_EXX;
  376. ops : 0;
  377. optypes : (OT_NONE,OT_NONE);
  378. code : '$D9';
  379. flags : 0
  380. ),
  381. (
  382. opcode : A_HALT;
  383. ops : 0;
  384. optypes : (OT_NONE,OT_NONE);
  385. code : '$76';
  386. flags : 0
  387. ),
  388. (
  389. opcode : A_IM;
  390. ops : 1;
  391. optypes : (OT_IMM_VAL0,OT_NONE);
  392. code : '$ED,$46';
  393. flags : 0
  394. ),
  395. (
  396. opcode : A_IM;
  397. ops : 1;
  398. optypes : (OT_IMM_VAL1,OT_NONE);
  399. code : '$ED,$56';
  400. flags : 0
  401. ),
  402. (
  403. opcode : A_IM;
  404. ops : 1;
  405. optypes : (OT_IMM_VAL2,OT_NONE);
  406. code : '$ED,$5E';
  407. flags : 0
  408. ),
  409. (
  410. opcode : A_IN;
  411. ops : 2;
  412. optypes : (OT_REG8_A,OT_IMM_PORT);
  413. code : '$DB,n';
  414. flags : 0
  415. ),
  416. (
  417. opcode : A_IN;
  418. ops : 2;
  419. optypes : (OT_REG8,OT_REG8_C_PORT);
  420. code : '$ED,%01rrr000';
  421. flags : 0
  422. ),
  423. (
  424. opcode : A_INC;
  425. ops : 1;
  426. optypes : (OT_REG8,OT_NONE);
  427. code : '%00rrr100';
  428. flags : 0
  429. ),
  430. (
  431. opcode : A_INC;
  432. ops : 1;
  433. optypes : (OT_REF_HL,OT_NONE);
  434. code : '$34';
  435. flags : 0
  436. ),
  437. (
  438. opcode : A_INC;
  439. ops : 1;
  440. optypes : (OT_REF_IX_d,OT_NONE);
  441. code : '$DD,$34,d';
  442. flags : 0
  443. ),
  444. (
  445. opcode : A_INC;
  446. ops : 1;
  447. optypes : (OT_REF_IY_d,OT_NONE);
  448. code : '$FD,$34,d';
  449. flags : 0
  450. ),
  451. (
  452. opcode : A_INC;
  453. ops : 1;
  454. optypes : (OT_REG16_BC_DE_HL_SP,OT_NONE);
  455. code : '%00dd0011';
  456. flags : 0
  457. ),
  458. (
  459. opcode : A_INC;
  460. ops : 1;
  461. optypes : (OT_REG16_IX,OT_NONE);
  462. code : '$DD,$23';
  463. flags : 0
  464. ),
  465. (
  466. opcode : A_INC;
  467. ops : 1;
  468. optypes : (OT_REG16_IY,OT_NONE);
  469. code : '$FD,$23';
  470. flags : 0
  471. ),
  472. (
  473. opcode : A_IND;
  474. ops : 0;
  475. optypes : (OT_NONE,OT_NONE);
  476. code : '$ED,$AA';
  477. flags : 0
  478. ),
  479. (
  480. opcode : A_INDR;
  481. ops : 0;
  482. optypes : (OT_NONE,OT_NONE);
  483. code : '$ED,$BA';
  484. flags : 0
  485. ),
  486. (
  487. opcode : A_INI;
  488. ops : 0;
  489. optypes : (OT_NONE,OT_NONE);
  490. code : '$ED,$A2';
  491. flags : 0
  492. ),
  493. (
  494. opcode : A_INIR;
  495. ops : 0;
  496. optypes : (OT_NONE,OT_NONE);
  497. code : '$ED,$B2';
  498. flags : 0
  499. ),
  500. (
  501. opcode : A_JP;
  502. ops : 1;
  503. optypes : (OT_IMM16,OT_NONE);
  504. code : '$C3,nn';
  505. flags : 0
  506. ),
  507. (
  508. opcode : A_JP;
  509. ops : 2;
  510. optypes : (OT_COND,OT_IMM16);
  511. code : '%11ccc010,nn';
  512. flags : 0
  513. ),
  514. (
  515. opcode : A_JP;
  516. ops : 1;
  517. optypes : (OT_REF_HL,OT_NONE);
  518. code : '$E9';
  519. flags : 0
  520. ),
  521. (
  522. opcode : A_JP;
  523. ops : 1;
  524. optypes : (OT_REF_IX,OT_NONE);
  525. code : '$DD,$E9';
  526. flags : 0
  527. ),
  528. (
  529. opcode : A_JP;
  530. ops : 1;
  531. optypes : (OT_REF_IY,OT_NONE);
  532. code : '$FD,$E9';
  533. flags : 0
  534. ),
  535. (
  536. opcode : A_JR;
  537. ops : 1;
  538. optypes : (OT_RELJMP8,OT_NONE);
  539. code : '$18,e';
  540. flags : 0
  541. ),
  542. (
  543. opcode : A_JR;
  544. ops : 2;
  545. optypes : (OT_COND_C,OT_RELJMP8);
  546. code : '$38,e';
  547. flags : 0
  548. ),
  549. (
  550. opcode : A_JR;
  551. ops : 2;
  552. optypes : (OT_COND_NC,OT_RELJMP8);
  553. code : '$30,e';
  554. flags : 0
  555. ),
  556. (
  557. opcode : A_JR;
  558. ops : 2;
  559. optypes : (OT_COND_Z,OT_RELJMP8);
  560. code : '$28,e';
  561. flags : 0
  562. ),
  563. (
  564. opcode : A_JR;
  565. ops : 2;
  566. optypes : (OT_COND_NZ,OT_RELJMP8);
  567. code : '$20,e';
  568. flags : 0
  569. ),
  570. (
  571. opcode : A_JRJP;
  572. ops : 1;
  573. optypes : (OT_RELJMP8,OT_NONE);
  574. code : '$18,e';
  575. flags : 0
  576. ),
  577. (
  578. opcode : A_JRJP;
  579. ops : 2;
  580. optypes : (OT_COND_C,OT_RELJMP8);
  581. code : '$38,e';
  582. flags : 0
  583. ),
  584. (
  585. opcode : A_JRJP;
  586. ops : 2;
  587. optypes : (OT_COND_NC,OT_RELJMP8);
  588. code : '$30,e';
  589. flags : 0
  590. ),
  591. (
  592. opcode : A_JRJP;
  593. ops : 2;
  594. optypes : (OT_COND_Z,OT_RELJMP8);
  595. code : '$28,e';
  596. flags : 0
  597. ),
  598. (
  599. opcode : A_JRJP;
  600. ops : 2;
  601. optypes : (OT_COND_NZ,OT_RELJMP8);
  602. code : '$20,e';
  603. flags : 0
  604. ),
  605. (
  606. opcode : A_JRJP;
  607. ops : 1;
  608. optypes : (OT_IMM16,OT_NONE);
  609. code : '$C3,nn';
  610. flags : 0
  611. ),
  612. (
  613. opcode : A_JRJP;
  614. ops : 2;
  615. optypes : (OT_COND,OT_IMM16);
  616. code : '%11ccc010,nn';
  617. flags : 0
  618. ),
  619. (
  620. opcode : A_JRJP;
  621. ops : 1;
  622. optypes : (OT_REF_HL,OT_NONE);
  623. code : '$E9';
  624. flags : 0
  625. ),
  626. (
  627. opcode : A_JRJP;
  628. ops : 1;
  629. optypes : (OT_REF_IX,OT_NONE);
  630. code : '$DD,$E9';
  631. flags : 0
  632. ),
  633. (
  634. opcode : A_JRJP;
  635. ops : 1;
  636. optypes : (OT_REF_IY,OT_NONE);
  637. code : '$FD,$E9';
  638. flags : 0
  639. ),
  640. (
  641. opcode : A_LD;
  642. ops : 2;
  643. optypes : (OT_REG8,OT_REG8);
  644. code : '%01rrrr''r''r''';
  645. flags : 0
  646. ),
  647. (
  648. opcode : A_LD;
  649. ops : 2;
  650. optypes : (OT_REG8,OT_IMM8);
  651. code : '%00rrr110,n';
  652. flags : 0
  653. ),
  654. (
  655. opcode : A_LD;
  656. ops : 2;
  657. optypes : (OT_REG8,OT_REF_HL);
  658. code : '%01rrr110';
  659. flags : 0
  660. ),
  661. (
  662. opcode : A_LD;
  663. ops : 2;
  664. optypes : (OT_REG8,OT_REF_IX_d);
  665. code : '$DD,%01rrr110,d';
  666. flags : 0
  667. ),
  668. (
  669. opcode : A_LD;
  670. ops : 2;
  671. optypes : (OT_REG8,OT_REF_IY_d);
  672. code : '$FD,%01rrr110,d';
  673. flags : 0
  674. ),
  675. (
  676. opcode : A_LD;
  677. ops : 2;
  678. optypes : (OT_REF_HL,OT_REG8);
  679. code : '%01110rrr';
  680. flags : 0
  681. ),
  682. (
  683. opcode : A_LD;
  684. ops : 2;
  685. optypes : (OT_REF_IX_d,OT_REG8);
  686. code : '$DD,%01110rrr,d';
  687. flags : 0
  688. ),
  689. (
  690. opcode : A_LD;
  691. ops : 2;
  692. optypes : (OT_REF_IY_d,OT_REG8);
  693. code : '$FD,%01110rrr,d';
  694. flags : 0
  695. ),
  696. (
  697. opcode : A_LD;
  698. ops : 2;
  699. optypes : (OT_REF_HL,OT_IMM8);
  700. code : '$36,n';
  701. flags : 0
  702. ),
  703. (
  704. opcode : A_LD;
  705. ops : 2;
  706. optypes : (OT_REF_IX_d,OT_IMM8);
  707. code : '$DD,$36,d,n';
  708. flags : 0
  709. ),
  710. (
  711. opcode : A_LD;
  712. ops : 2;
  713. optypes : (OT_REF_IY_d,OT_IMM8);
  714. code : '$FD,$36,d,n';
  715. flags : 0
  716. ),
  717. (
  718. opcode : A_LD;
  719. ops : 2;
  720. optypes : (OT_REG8_A,OT_REF_BC);
  721. code : '$0A';
  722. flags : 0
  723. ),
  724. (
  725. opcode : A_LD;
  726. ops : 2;
  727. optypes : (OT_REG8_A,OT_REF_DE);
  728. code : '$1A';
  729. flags : 0
  730. ),
  731. (
  732. opcode : A_LD;
  733. ops : 2;
  734. optypes : (OT_REG8_A,OT_REF_ADDR16);
  735. code : '$3A,nn';
  736. flags : 0
  737. ),
  738. (
  739. opcode : A_LD;
  740. ops : 2;
  741. optypes : (OT_REF_BC,OT_REG8_A);
  742. code : '$02';
  743. flags : 0
  744. ),
  745. (
  746. opcode : A_LD;
  747. ops : 2;
  748. optypes : (OT_REF_DE,OT_REG8_A);
  749. code : '$12';
  750. flags : 0
  751. ),
  752. (
  753. opcode : A_LD;
  754. ops : 2;
  755. optypes : (OT_REF_ADDR16,OT_REG8_A);
  756. code : '$32,nn';
  757. flags : 0
  758. ),
  759. (
  760. opcode : A_LD;
  761. ops : 2;
  762. optypes : (OT_REG8_A,OT_REG8_I);
  763. code : '$ED,$57';
  764. flags : 0
  765. ),
  766. (
  767. opcode : A_LD;
  768. ops : 2;
  769. optypes : (OT_REG8_A,OT_REG8_R);
  770. code : '$ED,$5F';
  771. flags : 0
  772. ),
  773. (
  774. opcode : A_LD;
  775. ops : 2;
  776. optypes : (OT_REG8_I,OT_REG8_A);
  777. code : '$ED,$47';
  778. flags : 0
  779. ),
  780. (
  781. opcode : A_LD;
  782. ops : 2;
  783. optypes : (OT_REG8_R,OT_REG8_A);
  784. code : '$ED,$4F';
  785. flags : 0
  786. ),
  787. (
  788. opcode : A_LD;
  789. ops : 2;
  790. optypes : (OT_REG16_BC_DE_HL_SP,OT_IMM16);
  791. code : '%00dd0001,nn';
  792. flags : 0
  793. ),
  794. (
  795. opcode : A_LD;
  796. ops : 2;
  797. optypes : (OT_REG16_IX,OT_IMM16);
  798. code : '$DD,$21,nn';
  799. flags : 0
  800. ),
  801. (
  802. opcode : A_LD;
  803. ops : 2;
  804. optypes : (OT_REG16_IY,OT_IMM16);
  805. code : '$FD,$21,nn';
  806. flags : 0
  807. ),
  808. (
  809. opcode : A_LD;
  810. ops : 2;
  811. optypes : (OT_REG16_HL,OT_REF_ADDR16);
  812. code : '$2A,nn';
  813. flags : 0
  814. ),
  815. (
  816. opcode : A_LD;
  817. ops : 2;
  818. optypes : (OT_REG16_BC_DE_HL_SP,OT_REF_ADDR16);
  819. code : '$ED,%01dd1011,nn';
  820. flags : 0
  821. ),
  822. (
  823. opcode : A_LD;
  824. ops : 2;
  825. optypes : (OT_REG16_IX,OT_REF_ADDR16);
  826. code : '$DD,$2A,nn';
  827. flags : 0
  828. ),
  829. (
  830. opcode : A_LD;
  831. ops : 2;
  832. optypes : (OT_REG16_IY,OT_REF_ADDR16);
  833. code : '$FD,$2A,nn';
  834. flags : 0
  835. ),
  836. (
  837. opcode : A_LD;
  838. ops : 2;
  839. optypes : (OT_REF_ADDR16,OT_REG16_HL);
  840. code : '$22,nn';
  841. flags : 0
  842. ),
  843. (
  844. opcode : A_LD;
  845. ops : 2;
  846. optypes : (OT_REF_ADDR16,OT_REG16_BC_DE_HL_SP);
  847. code : '$ED,%01dd0011,nn';
  848. flags : 0
  849. ),
  850. (
  851. opcode : A_LD;
  852. ops : 2;
  853. optypes : (OT_REF_ADDR16,OT_REG16_IX);
  854. code : '$DD,$22,nn';
  855. flags : 0
  856. ),
  857. (
  858. opcode : A_LD;
  859. ops : 2;
  860. optypes : (OT_REF_ADDR16,OT_REG16_IY);
  861. code : '$FD,$22,nn';
  862. flags : 0
  863. ),
  864. (
  865. opcode : A_LD;
  866. ops : 2;
  867. optypes : (OT_REG16_SP,OT_REG16_HL);
  868. code : '$F9';
  869. flags : 0
  870. ),
  871. (
  872. opcode : A_LD;
  873. ops : 2;
  874. optypes : (OT_REG16_SP,OT_REG16_IX);
  875. code : '$DD,$F9';
  876. flags : 0
  877. ),
  878. (
  879. opcode : A_LD;
  880. ops : 2;
  881. optypes : (OT_REG16_SP,OT_REG16_IY);
  882. code : '$FD,$F9';
  883. flags : 0
  884. ),
  885. (
  886. opcode : A_LDD;
  887. ops : 0;
  888. optypes : (OT_NONE,OT_NONE);
  889. code : '$ED,$A8';
  890. flags : 0
  891. ),
  892. (
  893. opcode : A_LDDR;
  894. ops : 0;
  895. optypes : (OT_NONE,OT_NONE);
  896. code : '$ED,$B8';
  897. flags : 0
  898. ),
  899. (
  900. opcode : A_LDI;
  901. ops : 0;
  902. optypes : (OT_NONE,OT_NONE);
  903. code : '$ED,$A0';
  904. flags : 0
  905. ),
  906. (
  907. opcode : A_LDIR;
  908. ops : 0;
  909. optypes : (OT_NONE,OT_NONE);
  910. code : '$ED,$B0';
  911. flags : 0
  912. ),
  913. (
  914. opcode : A_NEG;
  915. ops : 0;
  916. optypes : (OT_NONE,OT_NONE);
  917. code : '$ED,$44';
  918. flags : 0
  919. ),
  920. (
  921. opcode : A_NOP;
  922. ops : 0;
  923. optypes : (OT_NONE,OT_NONE);
  924. code : '$00';
  925. flags : 0
  926. ),
  927. (
  928. opcode : A_OR;
  929. ops : 2;
  930. optypes : (OT_REG8_A,OT_REG8);
  931. code : '%10110rrr';
  932. flags : 0
  933. ),
  934. (
  935. opcode : A_OR;
  936. ops : 2;
  937. optypes : (OT_REG8_A,OT_IMM8);
  938. code : '$F6,n';
  939. flags : 0
  940. ),
  941. (
  942. opcode : A_OR;
  943. ops : 2;
  944. optypes : (OT_REG8_A,OT_REF_HL);
  945. code : '$B6';
  946. flags : 0
  947. ),
  948. (
  949. opcode : A_OR;
  950. ops : 2;
  951. optypes : (OT_REG8_A,OT_REF_IX_d);
  952. code : '$DD,$B6,d';
  953. flags : 0
  954. ),
  955. (
  956. opcode : A_OR;
  957. ops : 2;
  958. optypes : (OT_REG8_A,OT_REF_IY_d);
  959. code : '$FD,$B6,d';
  960. flags : 0
  961. ),
  962. (
  963. opcode : A_OTDR;
  964. ops : 0;
  965. optypes : (OT_NONE,OT_NONE);
  966. code : '$ED,$BB';
  967. flags : 0
  968. ),
  969. (
  970. opcode : A_OTIR;
  971. ops : 0;
  972. optypes : (OT_NONE,OT_NONE);
  973. code : '$ED,$B3';
  974. flags : 0
  975. ),
  976. (
  977. opcode : A_OUT;
  978. ops : 2;
  979. optypes : (OT_IMM_PORT,OT_REG8_A);
  980. code : '$D3,n';
  981. flags : 0
  982. ),
  983. (
  984. opcode : A_OUT;
  985. ops : 2;
  986. optypes : (OT_REG8_C_PORT,OT_REG8);
  987. code : '$ED,%01rrr001';
  988. flags : 0
  989. ),
  990. (
  991. opcode : A_OUTD;
  992. ops : 0;
  993. optypes : (OT_NONE,OT_NONE);
  994. code : '$ED,$AB';
  995. flags : 0
  996. ),
  997. (
  998. opcode : A_OUTI;
  999. ops : 0;
  1000. optypes : (OT_NONE,OT_NONE);
  1001. code : '$ED,$A3';
  1002. flags : 0
  1003. ),
  1004. (
  1005. opcode : A_POP;
  1006. ops : 1;
  1007. optypes : (OT_REG16_BC_DE_HL_AF,OT_NONE);
  1008. code : '%11qq0001';
  1009. flags : 0
  1010. ),
  1011. (
  1012. opcode : A_POP;
  1013. ops : 1;
  1014. optypes : (OT_REG16_IX,OT_NONE);
  1015. code : '$DD,$E1';
  1016. flags : 0
  1017. ),
  1018. (
  1019. opcode : A_POP;
  1020. ops : 1;
  1021. optypes : (OT_REG16_IY,OT_NONE);
  1022. code : '$FD,$E1';
  1023. flags : 0
  1024. ),
  1025. (
  1026. opcode : A_PUSH;
  1027. ops : 1;
  1028. optypes : (OT_REG16_BC_DE_HL_AF,OT_NONE);
  1029. code : '%11qq0101';
  1030. flags : 0
  1031. ),
  1032. (
  1033. opcode : A_PUSH;
  1034. ops : 1;
  1035. optypes : (OT_REG16_IX,OT_NONE);
  1036. code : '$DD,$E5';
  1037. flags : 0
  1038. ),
  1039. (
  1040. opcode : A_PUSH;
  1041. ops : 1;
  1042. optypes : (OT_REG16_IY,OT_NONE);
  1043. code : '$FD,$E5';
  1044. flags : 0
  1045. ),
  1046. (
  1047. opcode : A_RES;
  1048. ops : 2;
  1049. optypes : (OT_IMM3,OT_REG8);
  1050. code : '$CB,%10bbbrrr';
  1051. flags : 0
  1052. ),
  1053. (
  1054. opcode : A_RES;
  1055. ops : 2;
  1056. optypes : (OT_IMM3,OT_REF_HL);
  1057. code : '$CB,%10bbb110';
  1058. flags : 0
  1059. ),
  1060. (
  1061. opcode : A_RES;
  1062. ops : 2;
  1063. optypes : (OT_IMM3,OT_REF_IX_d);
  1064. code : '$DD,$CB,d,%10bbb110';
  1065. flags : 0
  1066. ),
  1067. (
  1068. opcode : A_RES;
  1069. ops : 2;
  1070. optypes : (OT_IMM3,OT_REF_IY_d);
  1071. code : '$FD,$CB,d,%10bbb110';
  1072. flags : 0
  1073. ),
  1074. (
  1075. opcode : A_RET;
  1076. ops : 0;
  1077. optypes : (OT_NONE,OT_NONE);
  1078. code : '$C9';
  1079. flags : 0
  1080. ),
  1081. (
  1082. opcode : A_RET;
  1083. ops : 1;
  1084. optypes : (OT_COND,OT_NONE);
  1085. code : '%11ccc000';
  1086. flags : 0
  1087. ),
  1088. (
  1089. opcode : A_RETI;
  1090. ops : 0;
  1091. optypes : (OT_NONE,OT_NONE);
  1092. code : '$ED,$4D';
  1093. flags : 0
  1094. ),
  1095. (
  1096. opcode : A_RETN;
  1097. ops : 0;
  1098. optypes : (OT_NONE,OT_NONE);
  1099. code : '$ED,$45';
  1100. flags : 0
  1101. ),
  1102. (
  1103. opcode : A_RL;
  1104. ops : 1;
  1105. optypes : (OT_REG8,OT_NONE);
  1106. code : '$CB,%00010rrr';
  1107. flags : 0
  1108. ),
  1109. (
  1110. opcode : A_RL;
  1111. ops : 1;
  1112. optypes : (OT_REF_HL,OT_NONE);
  1113. code : '$CB,$16';
  1114. flags : 0
  1115. ),
  1116. (
  1117. opcode : A_RL;
  1118. ops : 1;
  1119. optypes : (OT_REF_IX_d,OT_NONE);
  1120. code : '$DD,$CB,d,$16';
  1121. flags : 0
  1122. ),
  1123. (
  1124. opcode : A_RL;
  1125. ops : 1;
  1126. optypes : (OT_REF_IY_d,OT_NONE);
  1127. code : '$FD,$CB,d,$16';
  1128. flags : 0
  1129. ),
  1130. (
  1131. opcode : A_RLA;
  1132. ops : 0;
  1133. optypes : (OT_NONE,OT_NONE);
  1134. code : '$17';
  1135. flags : 0
  1136. ),
  1137. (
  1138. opcode : A_RLC;
  1139. ops : 1;
  1140. optypes : (OT_REG8,OT_NONE);
  1141. code : '$CB,%00000rrr';
  1142. flags : 0
  1143. ),
  1144. (
  1145. opcode : A_RLC;
  1146. ops : 1;
  1147. optypes : (OT_REF_HL,OT_NONE);
  1148. code : '$CB,$06';
  1149. flags : 0
  1150. ),
  1151. (
  1152. opcode : A_RLC;
  1153. ops : 1;
  1154. optypes : (OT_REF_IX_d,OT_NONE);
  1155. code : '$DD,$CB,d,$06';
  1156. flags : 0
  1157. ),
  1158. (
  1159. opcode : A_RLC;
  1160. ops : 1;
  1161. optypes : (OT_REF_IY_d,OT_NONE);
  1162. code : '$FD,$CB,d,$06';
  1163. flags : 0
  1164. ),
  1165. (
  1166. opcode : A_RLCA;
  1167. ops : 0;
  1168. optypes : (OT_NONE,OT_NONE);
  1169. code : '$07';
  1170. flags : 0
  1171. ),
  1172. (
  1173. opcode : A_RLD;
  1174. ops : 0;
  1175. optypes : (OT_NONE,OT_NONE);
  1176. code : '$ED,$6F';
  1177. flags : 0
  1178. ),
  1179. (
  1180. opcode : A_RR;
  1181. ops : 1;
  1182. optypes : (OT_REG8,OT_NONE);
  1183. code : '$CB,%00001rrr';
  1184. flags : 0
  1185. ),
  1186. (
  1187. opcode : A_RR;
  1188. ops : 1;
  1189. optypes : (OT_REF_HL,OT_NONE);
  1190. code : '$CB,$1E';
  1191. flags : 0
  1192. ),
  1193. (
  1194. opcode : A_RR;
  1195. ops : 1;
  1196. optypes : (OT_REF_IX_d,OT_NONE);
  1197. code : '$DD,$CB,d,$1E';
  1198. flags : 0
  1199. ),
  1200. (
  1201. opcode : A_RR;
  1202. ops : 1;
  1203. optypes : (OT_REF_IY_d,OT_NONE);
  1204. code : '$FD,$CB,d,$1E';
  1205. flags : 0
  1206. ),
  1207. (
  1208. opcode : A_RRA;
  1209. ops : 0;
  1210. optypes : (OT_NONE,OT_NONE);
  1211. code : '$1F';
  1212. flags : 0
  1213. ),
  1214. (
  1215. opcode : A_RRC;
  1216. ops : 1;
  1217. optypes : (OT_REG8,OT_NONE);
  1218. code : '$CB,%00001rrr';
  1219. flags : 0
  1220. ),
  1221. (
  1222. opcode : A_RRC;
  1223. ops : 1;
  1224. optypes : (OT_REF_HL,OT_NONE);
  1225. code : '$CB,$0E';
  1226. flags : 0
  1227. ),
  1228. (
  1229. opcode : A_RRC;
  1230. ops : 1;
  1231. optypes : (OT_REF_IX_d,OT_NONE);
  1232. code : '$DD,$CB,d,$0E';
  1233. flags : 0
  1234. ),
  1235. (
  1236. opcode : A_RRC;
  1237. ops : 1;
  1238. optypes : (OT_REF_IY_d,OT_NONE);
  1239. code : '$FD,$CB,d,$0E';
  1240. flags : 0
  1241. ),
  1242. (
  1243. opcode : A_RRCA;
  1244. ops : 0;
  1245. optypes : (OT_NONE,OT_NONE);
  1246. code : '$0F';
  1247. flags : 0
  1248. ),
  1249. (
  1250. opcode : A_RRD;
  1251. ops : 0;
  1252. optypes : (OT_NONE,OT_NONE);
  1253. code : '$ED,$67';
  1254. flags : 0
  1255. ),
  1256. (
  1257. opcode : A_RST;
  1258. ops : 1;
  1259. optypes : (OT_IMM_RST,OT_NONE);
  1260. code : '%11ppp111';
  1261. flags : 0
  1262. ),
  1263. (
  1264. opcode : A_SBC;
  1265. ops : 2;
  1266. optypes : (OT_REG8_A,OT_REG8);
  1267. code : '%10011rrr';
  1268. flags : 0
  1269. ),
  1270. (
  1271. opcode : A_SBC;
  1272. ops : 2;
  1273. optypes : (OT_REG8_A,OT_IMM8);
  1274. code : '$DE,n';
  1275. flags : 0
  1276. ),
  1277. (
  1278. opcode : A_SBC;
  1279. ops : 2;
  1280. optypes : (OT_REG8_A,OT_REF_HL);
  1281. code : '$9E';
  1282. flags : 0
  1283. ),
  1284. (
  1285. opcode : A_SBC;
  1286. ops : 2;
  1287. optypes : (OT_REG8_A,OT_REF_IX_d);
  1288. code : '$DD,$9E,d';
  1289. flags : 0
  1290. ),
  1291. (
  1292. opcode : A_SBC;
  1293. ops : 2;
  1294. optypes : (OT_REG8_A,OT_REF_IY_d);
  1295. code : '$FD,$9E,d';
  1296. flags : 0
  1297. ),
  1298. (
  1299. opcode : A_SBC;
  1300. ops : 2;
  1301. optypes : (OT_REG16_HL,OT_REG16_BC_DE_HL_SP);
  1302. code : '$ED,%01dd0010';
  1303. flags : 0
  1304. ),
  1305. (
  1306. opcode : A_SCF;
  1307. ops : 0;
  1308. optypes : (OT_NONE,OT_NONE);
  1309. code : '$37';
  1310. flags : 0
  1311. ),
  1312. (
  1313. opcode : A_SET;
  1314. ops : 2;
  1315. optypes : (OT_IMM3,OT_REG8);
  1316. code : '$CB,%11bbbrrr';
  1317. flags : 0
  1318. ),
  1319. (
  1320. opcode : A_SET;
  1321. ops : 2;
  1322. optypes : (OT_IMM3,OT_REF_HL);
  1323. code : '$CB,%11bbb110';
  1324. flags : 0
  1325. ),
  1326. (
  1327. opcode : A_SET;
  1328. ops : 2;
  1329. optypes : (OT_IMM3,OT_REF_IX_d);
  1330. code : '$DD,$CB,d,%11bbb110';
  1331. flags : 0
  1332. ),
  1333. (
  1334. opcode : A_SET;
  1335. ops : 2;
  1336. optypes : (OT_IMM3,OT_REF_IY_d);
  1337. code : '$FD,$CB,d,%11bbb110';
  1338. flags : 0
  1339. ),
  1340. (
  1341. opcode : A_SLA;
  1342. ops : 1;
  1343. optypes : (OT_REG8,OT_NONE);
  1344. code : '$CB,%00100rrr';
  1345. flags : 0
  1346. ),
  1347. (
  1348. opcode : A_SLA;
  1349. ops : 1;
  1350. optypes : (OT_REF_HL,OT_NONE);
  1351. code : '$CB,$26';
  1352. flags : 0
  1353. ),
  1354. (
  1355. opcode : A_SLA;
  1356. ops : 1;
  1357. optypes : (OT_REF_IX_d,OT_NONE);
  1358. code : '$DD,$CB,d,$26';
  1359. flags : 0
  1360. ),
  1361. (
  1362. opcode : A_SLA;
  1363. ops : 1;
  1364. optypes : (OT_REF_IY_d,OT_NONE);
  1365. code : '$FD,$CB,d,$26';
  1366. flags : 0
  1367. ),
  1368. (
  1369. opcode : A_SRA;
  1370. ops : 1;
  1371. optypes : (OT_REG8,OT_NONE);
  1372. code : '$CB,%00101rrr';
  1373. flags : 0
  1374. ),
  1375. (
  1376. opcode : A_SRA;
  1377. ops : 1;
  1378. optypes : (OT_REF_HL,OT_NONE);
  1379. code : '$CB,$2E';
  1380. flags : 0
  1381. ),
  1382. (
  1383. opcode : A_SRA;
  1384. ops : 1;
  1385. optypes : (OT_REF_IX_d,OT_NONE);
  1386. code : '$DD,$CB,d,$2E';
  1387. flags : 0
  1388. ),
  1389. (
  1390. opcode : A_SRA;
  1391. ops : 1;
  1392. optypes : (OT_REF_IY_d,OT_NONE);
  1393. code : '$FD,$CB,d,$2E';
  1394. flags : 0
  1395. ),
  1396. (
  1397. opcode : A_SRL;
  1398. ops : 1;
  1399. optypes : (OT_REG8,OT_NONE);
  1400. code : '$CB,%00111rrr';
  1401. flags : 0
  1402. ),
  1403. (
  1404. opcode : A_SRL;
  1405. ops : 1;
  1406. optypes : (OT_REF_HL,OT_NONE);
  1407. code : '$CB,$3E';
  1408. flags : 0
  1409. ),
  1410. (
  1411. opcode : A_SRL;
  1412. ops : 1;
  1413. optypes : (OT_REF_IX_d,OT_NONE);
  1414. code : '$DD,$CB,d,$3E';
  1415. flags : 0
  1416. ),
  1417. (
  1418. opcode : A_SRL;
  1419. ops : 1;
  1420. optypes : (OT_REF_IY_d,OT_NONE);
  1421. code : '$FD,$CB,d,$3E';
  1422. flags : 0
  1423. ),
  1424. (
  1425. opcode : A_SUB;
  1426. ops : 2;
  1427. optypes : (OT_REG8_A,OT_REG8);
  1428. code : '%10010rrr';
  1429. flags : 0
  1430. ),
  1431. (
  1432. opcode : A_SUB;
  1433. ops : 2;
  1434. optypes : (OT_REG8_A,OT_IMM8);
  1435. code : '$D6,n';
  1436. flags : 0
  1437. ),
  1438. (
  1439. opcode : A_SUB;
  1440. ops : 2;
  1441. optypes : (OT_REG8_A,OT_REF_HL);
  1442. code : '$96';
  1443. flags : 0
  1444. ),
  1445. (
  1446. opcode : A_SUB;
  1447. ops : 2;
  1448. optypes : (OT_REG8_A,OT_REF_IX_d);
  1449. code : '$DD,$96,d';
  1450. flags : 0
  1451. ),
  1452. (
  1453. opcode : A_SUB;
  1454. ops : 2;
  1455. optypes : (OT_REG8_A,OT_REF_IY_d);
  1456. code : '$FD,$96,d';
  1457. flags : 0
  1458. ),
  1459. (
  1460. opcode : A_XOR;
  1461. ops : 2;
  1462. optypes : (OT_REG8_A,OT_REG8);
  1463. code : '%10101rrr';
  1464. flags : 0
  1465. ),
  1466. (
  1467. opcode : A_XOR;
  1468. ops : 2;
  1469. optypes : (OT_REG8_A,OT_IMM8);
  1470. code : '$EE,n';
  1471. flags : 0
  1472. ),
  1473. (
  1474. opcode : A_XOR;
  1475. ops : 2;
  1476. optypes : (OT_REG8_A,OT_REF_HL);
  1477. code : '$AE';
  1478. flags : 0
  1479. ),
  1480. (
  1481. opcode : A_XOR;
  1482. ops : 2;
  1483. optypes : (OT_REG8_A,OT_REF_IX_d);
  1484. code : '$DD,$AE,d';
  1485. flags : 0
  1486. ),
  1487. (
  1488. opcode : A_XOR;
  1489. ops : 2;
  1490. optypes : (OT_REG8_A,OT_REF_IY_d);
  1491. code : '$FD,$AE,d';
  1492. flags : 0
  1493. )
  1494. );