1 /*****************************************************************************
2 *
3 * Portable uPD7810/11, 7810H/11H, 78C10/C11/C14 disassembler
4 * Copyright (c) 2001 Juergen Buchmueller, all rights reserved.
5 *
6 * NS20030112: added 7807.
7 *
8 *****************************************************************************/
9
10 #include <stdio.h>
11
12 #ifdef MAME_DEBUG
13 #include "driver.h"
14 #include "mamedbg.h"
15 #include "upd7810.h"
16
17 struct dasm_s {
18 UINT8 token;
19 const void *args;
20 UINT8 oplen;
21 UINT8 cycles;
22 };
23
24 enum
25 {
26 illegal=1,
27 ACI,
28 ADC,
29 ADCW,
30 ADCX,
31 ADD,
32 ADDNC,
33 ADDNCW,
34 ADDNCX,
35 ADDW,
36 ADDX,
37 ADI,
38 ADINC,
39 ANA,
40 ANAW,
41 ANAX,
42 AND,
43 ANI,
44 ANIW,
45 BIT,
46 BLOCK,
47 CALB,
48 CALF,
49 CALL,
50 CALT,
51 CLC,
52 CLR, /* 7807 */
53 CMC, /* 7807 */
54 DAA,
55 DADC,
56 DADD,
57 DADDNC,
58 DAN,
59 DCR,
60 DCRW,
61 DCX,
62 DEQ,
63 DGT,
64 DI,
65 DIV,
66 DLT,
67 DMOV,
68 DNE,
69 DOFF,
70 DON,
71 DOR,
72 DRLL,
73 DRLR,
74 DSBB,
75 DSLL,
76 DSLR,
77 DSUB,
78 DSUBNB,
79 DXR,
80 EADD,
81 EI,
82 EQA,
83 EQAW,
84 EQAX,
85 EQI,
86 EQIW,
87 ESUB,
88 EXA,
89 EXH,
90 EXX,
91 EXR, /* 7807 */
92 GTA,
93 GTAW,
94 GTAX,
95 GTI,
96 GTIW,
97 HALT,
98 INR,
99 INRW,
100 INX,
101 JB,
102 JEA,
103 JMP,
104 JR,
105 JRE,
106 LBCD,
107 LDAW,
108 LDAX,
109 LDEAX,
110 LDED,
111 LHLD,
112 LSPD,
113 LTA,
114 LTAW,
115 LTAX,
116 LTI,
117 LTIW,
118 LXI,
119 MOV,
120 MUL,
121 MVI,
122 MVIW,
123 MVIX,
124 NEA,
125 NEAW,
126 NEAX,
127 NEGA,
128 NEI,
129 NEIW,
130 NOP,
131 NOT, /* 7807 */
132 OFFA,
133 OFFAW,
134 OFFAX,
135 OFFI,
136 OFFIW,
137 ONA,
138 ONAW,
139 ONAX,
140 ONI,
141 ONIW,
142 OR, /* 7807 */
143 ORA,
144 ORAW,
145 ORAX,
146 ORI,
147 ORIW,
148 POP,
149 PUSH,
150 RET,
151 RETI,
152 RETS,
153 RLD,
154 RLL,
155 RLR,
156 RRD,
157 SBB,
158 SBBW,
159 SBBX,
160 SBCD,
161 SBI,
162 SDED,
163 SETB, /* 7807 */
164 SHLD,
165 SK,
166 SKIT,
167 SKN,
168 SKNIT,
169 SLL,
170 SLLC,
171 SLR,
172 SLRC,
173 SOFTI,
174 SSPD,
175 STAW,
176 STAX,
177 STC,
178 STEAX,
179 STOP,
180 SUB,
181 SUBNB,
182 SUBNBW,
183 SUBNBX,
184 SUBW,
185 SUBX,
186 SUI,
187 SUINB,
188 TABLE,
189 XOR, /* 7807 */
190 XRA,
191 XRAW,
192 XRAX,
193 XRI
194 };
195
196 static const char* token[] =
197 {
198 "",
199 "illegal",
200 "ACI",
201 "ADC",
202 "ADCW",
203 "ADCX",
204 "ADD",
205 "ADDNC",
206 "ADDNCW",
207 "ADDNCX",
208 "ADDW",
209 "ADDX",
210 "ADI",
211 "ADINC",
212 "ANA",
213 "ANAW",
214 "ANAX",
215 "AND",
216 "ANI",
217 "ANIW",
218 "BIT",
219 "BLOCK",
220 "CALB",
221 "CALF",
222 "CALL",
223 "CALT",
224 "CLC",
225 "CLR", /* 7807 */
226 "CMC", /* 7807 */
227 "DAA",
228 "DADC",
229 "DADD",
230 "DADDNC",
231 "DAN",
232 "DCR",
233 "DCRW",
234 "DCX",
235 "DEQ",
236 "DGT",
237 "DI",
238 "DIV",
239 "DLT",
240 "DMOV",
241 "DNE",
242 "DOFF",
243 "DON",
244 "DOR",
245 "DRLL",
246 "DRLR",
247 "DSBB",
248 "DSLL",
249 "DSLR",
250 "DSUB",
251 "DSUBNB",
252 "DXR",
253 "EADD",
254 "EI",
255 "EQA",
256 "EQAW",
257 "EQAX",
258 "EQI",
259 "EQIW",
260 "ESUB",
261 "EXA",
262 "EXH",
263 "EXX",
264 "EXR", /* 7807 */
265 "GTA",
266 "GTAW",
267 "GTAX",
268 "GTI",
269 "GTIW",
270 "HALT",
271 "INR",
272 "INRW",
273 "INX",
274 "JB",
275 "JEA",
276 "JMP",
277 "JR",
278 "JRE",
279 "LBCD",
280 "LDAW",
281 "LDAX",
282 "LDEAX",
283 "LDED",
284 "LHLD",
285 "LSPD",
286 "LTA",
287 "LTAW",
288 "LTAX",
289 "LTI",
290 "LTIW",
291 "LXI",
292 "MOV",
293 "MUL",
294 "MVI",
295 "MVIW",
296 "MVIX",
297 "NEA",
298 "NEAW",
299 "NEAX",
300 "NEGA",
301 "NEI",
302 "NEIW",
303 "NOP",
304 "NOT", /* 7807 */
305 "OFFA",
306 "OFFAW",
307 "OFFAX",
308 "OFFI",
309 "OFFIW",
310 "ONA",
311 "ONAW",
312 "ONAX",
313 "ONI",
314 "ONIW",
315 "OR", /* 7807 */
316 "ORA",
317 "ORAW",
318 "ORAX",
319 "ORI",
320 "ORIW",
321 "POP",
322 "PUSH",
323 "RET",
324 "RETI",
325 "RETS",
326 "RLD",
327 "RLL",
328 "RLR",
329 "RRD",
330 "SBB",
331 "SBBW",
332 "SBBX",
333 "SBCD",
334 "SBI",
335 "SDED",
336 "SETB", /* 7807 */
337 "SHLD",
338 "SK",
339 "SKIT",
340 "SKN",
341 "SKNIT",
342 "SLL",
343 "SLLC",
344 "SLR",
345 "SLRC",
346 "SOFTI",
347 "SSPD",
348 "STAW",
349 "STAX",
350 "STC",
351 "STEAX",
352 "STOP",
353 "SUB",
354 "SUBNB",
355 "SUBNBW",
356 "SUBNBX",
357 "SUBW",
358 "SUBX",
359 "SUI",
360 "SUINB",
361 "TABLE",
362 "XOR", /* 7807 */
363 "XRA",
364 "XRAW",
365 "XRAX",
366 "XRI"
367 };
368
369
370 /* prefix 48 */
371 static struct dasm_s dasm48_7810[256] =
372 {
373 {illegal,0, 2, 8}, /* 00: 0100 1000 0000 0000 */
374 {SLRC,"A", 2, 8}, /* 01: 0100 1000 0000 0001 */
375 {SLRC,"B", 2, 8}, /* 02: 0100 1000 0000 0010 */
376 {SLRC,"C", 2, 8}, /* 03: 0100 1000 0000 0011 */
377 {illegal,0, 2, 8}, /* 04: 0100 1000 0000 0100 */
378 {SLLC,"A", 2, 8}, /* 05: 0100 1000 0000 0101 */
379 {SLLC,"B", 2, 8}, /* 06: 0100 1000 0000 0110 */
380 {SLLC,"C", 2, 8}, /* 07: 0100 1000 0000 0111 */
381 {SK,"NV", 2, 8}, /* 08: 0100 1000 0000 1000 */
382 {illegal,0, 2, 8}, /* 09: 0100 1000 0000 1001 */
383 {SK,"CY", 2, 8}, /* 0a: 0100 1000 0000 1010 */
384 {SK,"HC", 2, 8}, /* 0b: 0100 1000 0000 1011 */
385 {SK,"Z", 2, 8}, /* 0c: 0100 1000 0000 1100 */
386 {illegal,0, 2, 8}, /* 0d: 0100 1000 0000 1101 */
387 {illegal,0, 2, 8}, /* 0e: 0100 1000 0000 1110 */
388 {illegal,0, 2, 8}, /* 0f: 0100 1000 0000 1111 */
389
390 {illegal,0, 2, 8}, /* 10: 0100 1000 0001 0000 */
391 {illegal,0, 2, 8}, /* 11: 0100 1000 0001 0001 */
392 {illegal,0, 2, 8}, /* 12: 0100 1000 0001 0010 */
393 {illegal,0, 2, 8}, /* 13: 0100 1000 0001 0011 */
394 {illegal,0, 2, 8}, /* 14: 0100 1000 0001 0100 */
395 {illegal,0, 2, 8}, /* 15: 0100 1000 0001 0101 */
396 {illegal,0, 2, 8}, /* 16: 0100 1000 0001 0110 */
397 {illegal,0, 2, 8}, /* 17: 0100 1000 0001 0111 */
398 {SKN,"NV", 2, 8}, /* 18: 0100 1000 0001 1000 */
399 {illegal,0, 2, 8}, /* 19: 0100 1000 0001 1001 */
400 {SKN,"CY", 2, 8}, /* 1a: 0100 1000 0001 1010 */
401 {SKN,"HC", 2, 8}, /* 1b: 0100 1000 0001 1011 */
402 {SKN,"Z", 2, 8}, /* 1c: 0100 1000 0001 1100 */
403 {illegal,0, 2, 8}, /* 1d: 0100 1000 0001 1101 */
404 {illegal,0, 2, 8}, /* 1e: 0100 1000 0001 1110 */
405 {illegal,0, 2, 8}, /* 1f: 0100 1000 0001 1111 */
406
407 {illegal,0, 2, 8}, /* 20: 0100 1000 0010 0000 */
408 {SLR,"A", 2, 8}, /* 21: 0100 1000 0010 0001 */
409 {SLR,"B", 2, 8}, /* 22: 0100 1000 0010 0010 */
410 {SLR,"C", 2, 8}, /* 23: 0100 1000 0010 0011 */
411 {illegal,0, 2, 8}, /* 24: 0100 1000 0010 0100 */
412 {SLL,"A", 2, 8}, /* 25: 0100 1000 0010 0101 */
413 {SLL,"B", 2, 8}, /* 26: 0100 1000 0010 0110 */
414 {SLL,"C", 2, 8}, /* 27: 0100 1000 0010 0111 */
415 {JEA,0, 2, 8}, /* 28: 0100 1000 0010 1000 */
416 {CALB,0, 2,17}, /* 29: 0100 1000 0010 1001 */
417 {CLC,0, 2, 8}, /* 2a: 0100 1000 0010 1010 */
418 {STC,0, 2, 8}, /* 2b: 0100 1000 0010 1011 */
419 {illegal,0, 2,32}, /* 2c: 0100 1000 0010 1100 */
420 {MUL,"A", 2,32}, /* 2d: 0100 1000 0010 1101 */
421 {MUL,"B", 2,32}, /* 2e: 0100 1000 0010 1110 */
422 {MUL,"C", 2,32}, /* 2f: 0100 1000 0010 1111 */
423
424 {illegal,0, 2, 8}, /* 30: 0100 1000 0011 0000 */
425 {RLR,"A", 2, 8}, /* 31: 0100 1000 0011 0001 */
426 {RLR,"B", 2, 8}, /* 32: 0100 1000 0011 0010 */
427 {RLR,"C", 2, 8}, /* 33: 0100 1000 0011 0011 */
428 {illegal,0, 2, 8}, /* 34: 0100 1000 0011 0100 */
429 {RLL,"A", 2, 8}, /* 35: 0100 1000 0011 0101 */
430 {RLL,"B", 2, 8}, /* 36: 0100 1000 0011 0110 */
431 {RLL,"C", 2, 8}, /* 37: 0100 1000 0011 0111 */
432 {RLD,0, 2,17}, /* 38: 0100 1000 0011 1000 */
433 {RRD,0, 2,17}, /* 39: 0100 1000 0011 1001 */
434 {NEGA,0, 2, 8}, /* 3a: 0100 1000 0011 1010 */
435 {HALT,0, 2,12}, /* 3b: 0100 1000 0011 1011 */
436 {illegal,0, 2,59}, /* 3c: 0100 1000 0011 1100 */
437 {DIV,"A", 2,59}, /* 3d: 0100 1000 0011 1101 */
438 {DIV,"B", 2,59}, /* 3e: 0100 1000 0011 1110 */
439 {DIV,"C", 2,59}, /* 3f: 0100 1000 0011 1111 */
440
441 {SKIT,"NMI", 2, 8}, /* 40: 0100 1000 0100 0000 */
442 {SKIT,"FT0", 2, 8}, /* 41: 0100 1000 0100 0001 */
443 {SKIT,"FT1", 2, 8}, /* 42: 0100 1000 0100 0010 */
444 {SKIT,"F1", 2, 8}, /* 43: 0100 1000 0100 0011 */
445 {SKIT,"F2", 2, 8}, /* 44: 0100 1000 0100 0100 */
446 {SKIT,"FE0", 2, 8}, /* 45: 0100 1000 0100 0101 */
447 {SKIT,"FE1", 2, 8}, /* 46: 0100 1000 0100 0110 */
448 {SKIT,"FEIN", 2, 8}, /* 47: 0100 1000 0100 0111 */
449 {SKIT,"FAD", 2, 8}, /* 48: 0100 1000 0100 1000 */
450 {SKIT,"FSR", 2, 8}, /* 49: 0100 1000 0100 1001 */
451 {SKIT,"FST", 2, 8}, /* 4a: 0100 1000 0100 1010 */
452 {SKIT,"ER", 2, 8}, /* 4b: 0100 1000 0100 1011 */
453 {SKIT,"OV", 2, 8}, /* 4c: 0100 1000 0100 1100 */
454 {illegal,0, 2, 8}, /* 4d: 0100 1000 0100 1101 */
455 {illegal,0, 2, 8}, /* 4e: 0100 1000 0100 1110 */
456 {illegal,0, 2, 8}, /* 4f: 0100 1000 0100 1111 */
457
458 {SKIT,"AN4", 2, 8}, /* 50: 0100 1000 0101 0000 */
459 {SKIT,"AN5", 2, 8}, /* 51: 0100 1000 0101 0001 */
460 {SKIT,"AN6", 2, 8}, /* 52: 0100 1000 0101 0010 */
461 {SKIT,"AN7", 2, 8}, /* 53: 0100 1000 0101 0011 */
462 {SKIT,"SB", 2, 8}, /* 54: 0100 1000 0101 0100 */
463 {illegal,0, 2, 8}, /* 55: 0100 1000 0101 0101 */
464 {illegal,0, 2, 8}, /* 56: 0100 1000 0101 0110 */
465 {illegal,0, 2, 8}, /* 57: 0100 1000 0101 0111 */
466 {illegal,0, 2, 8}, /* 58: 0100 1000 0101 1000 */
467 {illegal,0, 2, 8}, /* 59: 0100 1000 0101 1001 */
468 {illegal,0, 2, 8}, /* 5a: 0100 1000 0101 1010 */
469 {illegal,0, 2, 8}, /* 5b: 0100 1000 0101 1011 */
470 {illegal,0, 2, 8}, /* 5c: 0100 1000 0101 1100 */
471 {illegal,0, 2, 8}, /* 5d: 0100 1000 0101 1101 */
472 {illegal,0, 2, 8}, /* 5e: 0100 1000 0101 1110 */
473 {illegal,0, 2, 8}, /* 5f: 0100 1000 0101 1111 */
474
475 {SKNIT,"NMI", 2, 8}, /* 60: 0100 1000 0110 0000 */
476 {SKNIT,"FT0", 2, 8}, /* 61: 0100 1000 0110 0001 */
477 {SKNIT,"FT1", 2, 8}, /* 62: 0100 1000 0110 0010 */
478 {SKNIT,"F1", 2, 8}, /* 63: 0100 1000 0110 0011 */
479 {SKNIT,"F2", 2, 8}, /* 64: 0100 1000 0110 0100 */
480 {SKNIT,"FE0", 2, 8}, /* 65: 0100 1000 0110 0101 */
481 {SKNIT,"FE1", 2, 8}, /* 66: 0100 1000 0110 0110 */
482 {SKNIT,"FEIN", 2, 8}, /* 67: 0100 1000 0110 0111 */
483 {SKNIT,"FAD", 2, 8}, /* 68: 0100 1000 0110 1000 */
484 {SKNIT,"FSR", 2, 8}, /* 69: 0100 1000 0110 1001 */
485 {SKNIT,"FST", 2, 8}, /* 6a: 0100 1000 0110 1010 */
486 {SKNIT,"ER", 2, 8}, /* 6b: 0100 1000 0110 1011 */
487 {SKNIT,"OV", 2, 8}, /* 6c: 0100 1000 0110 1100 */
488 {illegal,0, 2, 8}, /* 6d: 0100 1000 0110 1101 */
489 {illegal,0, 2, 8}, /* 6e: 0100 1000 0110 1110 */
490 {illegal,0, 2, 8}, /* 6f: 0100 1000 0110 1111 */
491
492 {SKNIT,"AN4", 2, 8}, /* 70: 0100 1000 0111 0000 */
493 {SKNIT,"AN5", 2, 8}, /* 71: 0100 1000 0111 0001 */
494 {SKNIT,"AN6", 2, 8}, /* 72: 0100 1000 0111 0010 */
495 {SKNIT,"AN7", 2, 8}, /* 73: 0100 1000 0111 0011 */
496 {SKNIT,"SB", 2, 8}, /* 74: 0100 1000 0111 0100 */
497 {illegal,0, 2, 8}, /* 75: 0100 1000 0111 0101 */
498 {illegal,0, 2, 8}, /* 76: 0100 1000 0111 0110 */
499 {illegal,0, 2, 8}, /* 77: 0100 1000 0111 0111 */
500 {illegal,0, 2, 8}, /* 78: 0100 1000 0111 1000 */
501 {illegal,0, 2, 8}, /* 79: 0100 1000 0111 1001 */
502 {illegal,0, 2, 8}, /* 7a: 0100 1000 0111 1010 */
503 {illegal,0, 2, 8}, /* 7b: 0100 1000 0111 1011 */
504 {illegal,0, 2, 8}, /* 7c: 0100 1000 0111 1100 */
505 {illegal,0, 2, 8}, /* 7d: 0100 1000 0111 1101 */
506 {illegal,0, 2, 8}, /* 7e: 0100 1000 0111 1110 */
507 {illegal,0, 2, 8}, /* 7f: 0100 1000 0111 1111 */
508
509 {illegal,0, 2, 8}, /* 80: 0100 1000 1000 0000 */
510 {illegal,0, 2, 8}, /* 81: 0100 1000 1000 0001 */
511 {LDEAX,"(DE)", 2,14}, /* 82: 0100 1000 1000 0010 */
512 {LDEAX,"(HL)", 2,14}, /* 83: 0100 1000 1000 0011 */
513 {LDEAX,"(DE++)", 2,14}, /* 84: 0100 1000 1000 0100 */
514 {LDEAX,"(HL++)", 2,14}, /* 85: 0100 1000 1000 0101 */
515 {illegal,0, 2, 8}, /* 86: 0100 1000 1000 0110 */
516 {illegal,0, 2, 8}, /* 87: 0100 1000 1000 0111 */
517 {illegal,0, 2, 8}, /* 88: 0100 1000 1000 1000 */
518 {illegal,0, 2, 8}, /* 89: 0100 1000 1000 1001 */
519 {illegal,0, 2, 8}, /* 8a: 0100 1000 1000 1010 */
520 {LDEAX,"(DE+%b)",3,20}, /* 8b: 0100 1000 1000 1011 xxxx xxxx */
521 {LDEAX,"(HL+A)", 2,20}, /* 8c: 0100 1000 1000 1100 */
522 {LDEAX,"(HL+B)", 2,20}, /* 8d: 0100 1000 1000 1101 */
523 {LDEAX,"(HL+EA)",2,20}, /* 8e: 0100 1000 1000 1110 */
524 {LDEAX,"(HL+%b)",3,20}, /* 8f: 0100 1000 1000 1111 xxxx xxxx */
525
526 {illegal,0, 2, 8}, /* 90: 0100 1000 1000 0000 */
527 {illegal,0, 2, 8}, /* 91: 0100 1000 1000 0001 */
528 {STEAX,"(DE)", 2,14}, /* 92: 0100 1000 1000 0010 */
529 {STEAX,"(HL)", 2,14}, /* 93: 0100 1000 1000 0011 */
530 {STEAX,"(DE++)", 2,14}, /* 94: 0100 1000 1000 0100 */
531 {STEAX,"(HL++)", 2,14}, /* 95: 0100 1000 1000 0101 */
532 {illegal,0, 2, 8}, /* 96: 0100 1000 1000 0110 */
533 {illegal,0, 2, 8}, /* 97: 0100 1000 1000 0111 */
534 {illegal,0, 2, 8}, /* 98: 0100 1000 1000 1000 */
535 {illegal,0, 2, 8}, /* 99: 0100 1000 1000 1001 */
536 {illegal,0, 2, 8}, /* 9a: 0100 1000 1000 1010 */
537 {STEAX,"(DE+%b)",3,20}, /* 9b: 0100 1000 1000 1011 xxxx xxxx */
538 {STEAX,"(HL+A)", 2,20}, /* 9c: 0100 1000 1000 1100 */
539 {STEAX,"(HL+B)", 2,20}, /* 9d: 0100 1000 1000 1101 */
540 {STEAX,"(HL+EA)",2,20}, /* 9e: 0100 1000 1000 1110 */
541 {STEAX,"(HL+%b)",3,20}, /* 9f: 0100 1000 1000 1111 xxxx xxxx */
542
543 {DSLR,"EA", 2, 8}, /* a0: 0100 1000 1010 0000 */
544 {illegal,0, 2, 8}, /* a1: 0100 1000 1010 0001 */
545 {illegal,0, 2, 8}, /* a2: 0100 1000 1010 0010 */
546 {illegal,0, 2, 8}, /* a3: 0100 1000 1010 0011 */
547 {DSLL,"EA", 2, 8}, /* a4: 0100 1000 1010 0100 */
548 {illegal,0, 2, 8}, /* a5: 0100 1000 1010 0101 */
549 {illegal,0, 2, 8}, /* a6: 0100 1000 1010 0110 */
550 {illegal,0, 2, 8}, /* a7: 0100 1000 1010 0111 */
551 {TABLE,0, 2,17}, /* a8: 0100 1000 1010 1000 */
552 {illegal,0, 2, 8}, /* a9: 0100 1000 1010 1001 */
553 {illegal,0, 2, 8}, /* aa: 0100 1000 1010 1010 */
554 {illegal,0, 2, 8}, /* ab: 0100 1000 1010 1011 */
555 {illegal,0, 2, 8}, /* ac: 0100 1000 1010 1100 */
556 {illegal,0, 2, 8}, /* ad: 0100 1000 1010 1101 */
557 {illegal,0, 2, 8}, /* ae: 0100 1000 1010 1110 */
558 {illegal,0, 2, 8}, /* af: 0100 1000 1010 1111 */
559
560 {DRLR,"EA", 2, 8}, /* b0: 0100 1000 1011 0000 */
561 {illegal,0, 2, 8}, /* b1: 0100 1000 1011 0001 */
562 {illegal,0, 2, 8}, /* b2: 0100 1000 1011 0010 */
563 {illegal,0, 2, 8}, /* b3: 0100 1000 1011 0011 */
564 {DRLL,"EA", 2, 8}, /* b4: 0100 1000 1011 0100 */
565 {illegal,0, 2, 8}, /* b5: 0100 1000 1011 0101 */
566 {illegal,0, 2, 8}, /* b6: 0100 1000 1011 0110 */
567 {illegal,0, 2, 8}, /* b7: 0100 1000 1011 0111 */
568 {illegal,0, 2, 8}, /* b8: 0100 1000 1011 1000 */
569 {illegal,0, 2, 8}, /* b9: 0100 1000 1011 1001 */
570 {illegal,0, 2, 8}, /* ba: 0100 1000 1011 1010 */
571 {STOP,0, 2,12}, /* bb: 0100 1000 1011 1011 */ /* 7810 */
572 {illegal,0, 2, 8}, /* bc: 0100 1000 1011 1100 */
573 {illegal,0, 2, 8}, /* bd: 0100 1000 1011 1101 */
574 {illegal,0, 2, 8}, /* be: 0100 1000 1011 1110 */
575 {illegal,0, 2, 8}, /* bf: 0100 1000 1011 1111 */
576
577 {DMOV,"EA,ECNT", 2,14}, /* c0: 0100 1000 1100 0000 */
578 {DMOV,"EA,ECPT", 2,14}, /* c1: 0100 1000 1100 0001 */ /* 7810 */
579 {illegal,0, 2, 8}, /* c2: 0100 1000 1100 0010 */
580 {illegal,0, 2, 8}, /* c3: 0100 1000 1100 0011 */
581 {illegal,0, 2, 8}, /* c4: 0100 1000 1100 0100 */
582 {illegal,0, 2, 8}, /* c5: 0100 1000 1100 0101 */
583 {illegal,0, 2, 8}, /* c6: 0100 1000 1100 0110 */
584 {illegal,0, 2, 8}, /* c7: 0100 1000 1100 0111 */
585 {illegal,0, 2, 8}, /* c8: 0100 1000 1100 1000 */
586 {illegal,0, 2, 8}, /* c9: 0100 1000 1100 1001 */
587 {illegal,0, 2, 8}, /* ca: 0100 1000 1100 1010 */
588 {illegal,0, 2, 8}, /* cb: 0100 1000 1100 1011 */
589 {illegal,0, 2, 8}, /* cc: 0100 1000 1100 1100 */
590 {illegal,0, 2, 8}, /* cd: 0100 1000 1100 1101 */
591 {illegal,0, 2, 8}, /* ce: 0100 1000 1100 1110 */
592 {illegal,0, 2, 8}, /* cf: 0100 1000 1100 1111 */
593
594 {illegal,0, 2, 8}, /* d0: 0100 1000 1101 0000 */
595 {illegal,0, 2, 8}, /* d1: 0100 1000 1101 0001 */
596 {DMOV,"ETM0,EA", 2,14}, /* d2: 0100 1000 1101 0010 */
597 {DMOV,"ETM1,EA", 2,14}, /* d3: 0100 1000 1101 0011 */
598 {illegal,0, 2, 8}, /* d4: 0100 1000 1101 0100 */
599 {illegal,0, 2, 8}, /* d5: 0100 1000 1101 0101 */
600 {illegal,0, 2, 8}, /* d6: 0100 1000 1101 0110 */
601 {illegal,0, 2, 8}, /* d7: 0100 1000 1101 0111 */
602 {illegal,0, 2, 8}, /* d8: 0100 1000 1101 1000 */
603 {illegal,0, 2, 8}, /* d9: 0100 1000 1101 1001 */
604 {illegal,0, 2, 8}, /* da: 0100 1000 1101 1010 */
605 {illegal,0, 2, 8}, /* db: 0100 1000 1101 1011 */
606 {illegal,0, 2, 8}, /* dc: 0100 1000 1101 1100 */
607 {illegal,0, 2, 8}, /* dd: 0100 1000 1101 1101 */
608 {illegal,0, 2, 8}, /* de: 0100 1000 1101 1110 */
609 {illegal,0, 2, 8}, /* df: 0100 1000 1101 1111 */
610
611 {illegal,0, 2, 8}, /* e0: 0100 1000 1110 0000 */
612 {illegal,0, 2, 8}, /* e1: 0100 1000 1110 0001 */
613 {illegal,0, 2, 8}, /* e2: 0100 1000 1110 0010 */
614 {illegal,0, 2, 8}, /* e3: 0100 1000 1110 0011 */
615 {illegal,0, 2, 8}, /* e4: 0100 1000 1110 0100 */
616 {illegal,0, 2, 8}, /* e5: 0100 1000 1110 0101 */
617 {illegal,0, 2, 8}, /* e6: 0100 1000 1110 0110 */
618 {illegal,0, 2, 8}, /* e7: 0100 1000 1110 0111 */
619 {illegal,0, 2, 8}, /* e8: 0100 1000 1110 1000 */
620 {illegal,0, 2, 8}, /* e9: 0100 1000 1110 1001 */
621 {illegal,0, 2, 8}, /* ea: 0100 1000 1110 1010 */
622 {illegal,0, 2, 8}, /* eb: 0100 1000 1110 1011 */
623 {illegal,0, 2, 8}, /* ec: 0100 1000 1110 1100 */
624 {illegal,0, 2, 8}, /* ed: 0100 1000 1110 1101 */
625 {illegal,0, 2, 8}, /* ee: 0100 1000 1110 1110 */
626 {illegal,0, 2, 8}, /* ef: 0100 1000 1110 1111 */
627
628 {illegal,0, 2, 8}, /* f0: 0100 1000 1111 0000 */
629 {illegal,0, 2, 8}, /* f1: 0100 1000 1111 0001 */
630 {illegal,0, 2, 8}, /* f2: 0100 1000 1111 0010 */
631 {illegal,0, 2, 8}, /* f3: 0100 1000 1111 0011 */
632 {illegal,0, 2, 8}, /* f4: 0100 1000 1111 0100 */
633 {illegal,0, 2, 8}, /* f5: 0100 1000 1111 0101 */
634 {illegal,0, 2, 8}, /* f6: 0100 1000 1111 0110 */
635 {illegal,0, 2, 8}, /* f7: 0100 1000 1111 0111 */
636 {illegal,0, 2, 8}, /* f8: 0100 1000 1111 1000 */
637 {illegal,0, 2, 8}, /* f9: 0100 1000 1111 1001 */
638 {illegal,0, 2, 8}, /* fa: 0100 1000 1111 1010 */
639 {illegal,0, 2, 8}, /* fb: 0100 1000 1111 1011 */
640 {illegal,0, 2, 8}, /* fc: 0100 1000 1111 1100 */
641 {illegal,0, 2, 8}, /* fd: 0100 1000 1111 1101 */
642 {illegal,0, 2, 8}, /* fe: 0100 1000 1111 1110 */
643 {illegal,0, 2, 8} /* ff: 0100 1000 1111 1111 */
644 };
645
646 static struct dasm_s dasm48_7807[256] =
647 {
648 {illegal,0, 2, 8}, /* 00: 0100 1000 0000 0000 */
649 {SLRC,"A", 2, 8}, /* 01: 0100 1000 0000 0001 */
650 {SLRC,"B", 2, 8}, /* 02: 0100 1000 0000 0010 */
651 {SLRC,"C", 2, 8}, /* 03: 0100 1000 0000 0011 */
652 {illegal,0, 2, 8}, /* 04: 0100 1000 0000 0100 */
653 {SLLC,"A", 2, 8}, /* 05: 0100 1000 0000 0101 */
654 {SLLC,"B", 2, 8}, /* 06: 0100 1000 0000 0110 */
655 {SLLC,"C", 2, 8}, /* 07: 0100 1000 0000 0111 */
656 {SK,"NV", 2, 8}, /* 08: 0100 1000 0000 1000 */
657 {illegal,0, 2, 8}, /* 09: 0100 1000 0000 1001 */
658 {SK,"CY", 2, 8}, /* 0a: 0100 1000 0000 1010 */
659 {SK,"HC", 2, 8}, /* 0b: 0100 1000 0000 1011 */
660 {SK,"Z", 2, 8}, /* 0c: 0100 1000 0000 1100 */
661 {illegal,0, 2, 8}, /* 0d: 0100 1000 0000 1101 */
662 {illegal,0, 2, 8}, /* 0e: 0100 1000 0000 1110 */
663 {illegal,0, 2, 8}, /* 0f: 0100 1000 0000 1111 */
664
665 {illegal,0, 2, 8}, /* 10: 0100 1000 0001 0000 */
666 {illegal,0, 2, 8}, /* 11: 0100 1000 0001 0001 */
667 {illegal,0, 2, 8}, /* 12: 0100 1000 0001 0010 */
668 {illegal,0, 2, 8}, /* 13: 0100 1000 0001 0011 */
669 {illegal,0, 2, 8}, /* 14: 0100 1000 0001 0100 */
670 {illegal,0, 2, 8}, /* 15: 0100 1000 0001 0101 */
671 {illegal,0, 2, 8}, /* 16: 0100 1000 0001 0110 */
672 {illegal,0, 2, 8}, /* 17: 0100 1000 0001 0111 */
673 {SKN,"NV", 2, 8}, /* 18: 0100 1000 0001 1000 */
674 {illegal,0, 2, 8}, /* 19: 0100 1000 0001 1001 */
675 {SKN,"CY", 2, 8}, /* 1a: 0100 1000 0001 1010 */
676 {SKN,"HC", 2, 8}, /* 1b: 0100 1000 0001 1011 */
677 {SKN,"Z", 2, 8}, /* 1c: 0100 1000 0001 1100 */
678 {illegal,0, 2, 8}, /* 1d: 0100 1000 0001 1101 */
679 {illegal,0, 2, 8}, /* 1e: 0100 1000 0001 1110 */
680 {illegal,0, 2, 8}, /* 1f: 0100 1000 0001 1111 */
681
682 {illegal,0, 2, 8}, /* 20: 0100 1000 0010 0000 */
683 {SLR,"A", 2, 8}, /* 21: 0100 1000 0010 0001 */
684 {SLR,"B", 2, 8}, /* 22: 0100 1000 0010 0010 */
685 {SLR,"C", 2, 8}, /* 23: 0100 1000 0010 0011 */
686 {illegal,0, 2, 8}, /* 24: 0100 1000 0010 0100 */
687 {SLL,"A", 2, 8}, /* 25: 0100 1000 0010 0101 */
688 {SLL,"B", 2, 8}, /* 26: 0100 1000 0010 0110 */
689 {SLL,"C", 2, 8}, /* 27: 0100 1000 0010 0111 */
690 {JEA,0, 2, 8}, /* 28: 0100 1000 0010 1000 */
691 {CALB,0, 2,17}, /* 29: 0100 1000 0010 1001 */
692 {CLC,0, 2, 8}, /* 2a: 0100 1000 0010 1010 */
693 {STC,0, 2, 8}, /* 2b: 0100 1000 0010 1011 */
694 {illegal,0, 2,32}, /* 2c: 0100 1000 0010 1100 */
695 {MUL,"A", 2,32}, /* 2d: 0100 1000 0010 1101 */
696 {MUL,"B", 2,32}, /* 2e: 0100 1000 0010 1110 */
697 {MUL,"C", 2,32}, /* 2f: 0100 1000 0010 1111 */
698
699 {illegal,0, 2, 8}, /* 30: 0100 1000 0011 0000 */
700 {RLR,"A", 2, 8}, /* 31: 0100 1000 0011 0001 */
701 {RLR,"B", 2, 8}, /* 32: 0100 1000 0011 0010 */
702 {RLR,"C", 2, 8}, /* 33: 0100 1000 0011 0011 */
703 {illegal,0, 2, 8}, /* 34: 0100 1000 0011 0100 */
704 {RLL,"A", 2, 8}, /* 35: 0100 1000 0011 0101 */
705 {RLL,"B", 2, 8}, /* 36: 0100 1000 0011 0110 */
706 {RLL,"C", 2, 8}, /* 37: 0100 1000 0011 0111 */
707 {RLD,0, 2,17}, /* 38: 0100 1000 0011 1000 */
708 {RRD,0, 2,17}, /* 39: 0100 1000 0011 1001 */
709 {NEGA,0, 2, 8}, /* 3a: 0100 1000 0011 1010 */
710 {HALT,0, 2,12}, /* 3b: 0100 1000 0011 1011 */
711 {illegal,0, 2,59}, /* 3c: 0100 1000 0011 1100 */
712 {DIV,"A", 2,59}, /* 3d: 0100 1000 0011 1101 */
713 {DIV,"B", 2,59}, /* 3e: 0100 1000 0011 1110 */
714 {DIV,"C", 2,59}, /* 3f: 0100 1000 0011 1111 */
715
716 {SKIT,"NMI", 2, 8}, /* 40: 0100 1000 0100 0000 */
717 {SKIT,"FT0", 2, 8}, /* 41: 0100 1000 0100 0001 */
718 {SKIT,"FT1", 2, 8}, /* 42: 0100 1000 0100 0010 */
719 {SKIT,"F1", 2, 8}, /* 43: 0100 1000 0100 0011 */
720 {SKIT,"F2", 2, 8}, /* 44: 0100 1000 0100 0100 */
721 {SKIT,"FE0", 2, 8}, /* 45: 0100 1000 0100 0101 */
722 {SKIT,"FE1", 2, 8}, /* 46: 0100 1000 0100 0110 */
723 {SKIT,"FEIN", 2, 8}, /* 47: 0100 1000 0100 0111 */
724 {SKIT,"FAD", 2, 8}, /* 48: 0100 1000 0100 1000 */
725 {SKIT,"FSR", 2, 8}, /* 49: 0100 1000 0100 1001 */
726 {SKIT,"FST", 2, 8}, /* 4a: 0100 1000 0100 1010 */
727 {SKIT,"ER", 2, 8}, /* 4b: 0100 1000 0100 1011 */
728 {SKIT,"OV", 2, 8}, /* 4c: 0100 1000 0100 1100 */
729 {illegal,0, 2, 8}, /* 4d: 0100 1000 0100 1101 */
730 {illegal,0, 2, 8}, /* 4e: 0100 1000 0100 1110 */
731 {illegal,0, 2, 8}, /* 4f: 0100 1000 0100 1111 */
732
733 {SKIT,"AN4", 2, 8}, /* 50: 0100 1000 0101 0000 */
734 {SKIT,"AN5", 2, 8}, /* 51: 0100 1000 0101 0001 */
735 {SKIT,"AN6", 2, 8}, /* 52: 0100 1000 0101 0010 */
736 {SKIT,"AN7", 2, 8}, /* 53: 0100 1000 0101 0011 */
737 {SKIT,"SB", 2, 8}, /* 54: 0100 1000 0101 0100 */
738 {illegal,0, 2, 8}, /* 55: 0100 1000 0101 0101 */
739 {illegal,0, 2, 8}, /* 56: 0100 1000 0101 0110 */
740 {illegal,0, 2, 8}, /* 57: 0100 1000 0101 0111 */
741 {illegal,0, 2, 8}, /* 58: 0100 1000 0101 1000 */
742 {illegal,0, 2, 8}, /* 59: 0100 1000 0101 1001 */
743 {illegal,0, 2, 8}, /* 5a: 0100 1000 0101 1010 */
744 {illegal,0, 2, 8}, /* 5b: 0100 1000 0101 1011 */
745 {illegal,0, 2, 8}, /* 5c: 0100 1000 0101 1100 */
746 {illegal,0, 2, 8}, /* 5d: 0100 1000 0101 1101 */
747 {illegal,0, 2, 8}, /* 5e: 0100 1000 0101 1110 */
748 {illegal,0, 2, 8}, /* 5f: 0100 1000 0101 1111 */
749
750 {SKNIT,"NMI", 2, 8}, /* 60: 0100 1000 0110 0000 */
751 {SKNIT,"FT0", 2, 8}, /* 61: 0100 1000 0110 0001 */
752 {SKNIT,"FT1", 2, 8}, /* 62: 0100 1000 0110 0010 */
753 {SKNIT,"F1", 2, 8}, /* 63: 0100 1000 0110 0011 */
754 {SKNIT,"F2", 2, 8}, /* 64: 0100 1000 0110 0100 */
755 {SKNIT,"FE0", 2, 8}, /* 65: 0100 1000 0110 0101 */
756 {SKNIT,"FE1", 2, 8}, /* 66: 0100 1000 0110 0110 */
757 {SKNIT,"FEIN", 2, 8}, /* 67: 0100 1000 0110 0111 */
758 {SKNIT,"FAD", 2, 8}, /* 68: 0100 1000 0110 1000 */
759 {SKNIT,"FSR", 2, 8}, /* 69: 0100 1000 0110 1001 */
760 {SKNIT,"FST", 2, 8}, /* 6a: 0100 1000 0110 1010 */
761 {SKNIT,"ER", 2, 8}, /* 6b: 0100 1000 0110 1011 */
762 {SKNIT,"OV", 2, 8}, /* 6c: 0100 1000 0110 1100 */
763 {illegal,0, 2, 8}, /* 6d: 0100 1000 0110 1101 */
764 {illegal,0, 2, 8}, /* 6e: 0100 1000 0110 1110 */
765 {illegal,0, 2, 8}, /* 6f: 0100 1000 0110 1111 */
766
767 {SKNIT,"AN4", 2, 8}, /* 70: 0100 1000 0111 0000 */
768 {SKNIT,"AN5", 2, 8}, /* 71: 0100 1000 0111 0001 */
769 {SKNIT,"AN6", 2, 8}, /* 72: 0100 1000 0111 0010 */
770 {SKNIT,"AN7", 2, 8}, /* 73: 0100 1000 0111 0011 */
771 {SKNIT,"SB", 2, 8}, /* 74: 0100 1000 0111 0100 */
772 {illegal,0, 2, 8}, /* 75: 0100 1000 0111 0101 */
773 {illegal,0, 2, 8}, /* 76: 0100 1000 0111 0110 */
774 {illegal,0, 2, 8}, /* 77: 0100 1000 0111 0111 */
775 {illegal,0, 2, 8}, /* 78: 0100 1000 0111 1000 */
776 {illegal,0, 2, 8}, /* 79: 0100 1000 0111 1001 */
777 {illegal,0, 2, 8}, /* 7a: 0100 1000 0111 1010 */
778 {illegal,0, 2, 8}, /* 7b: 0100 1000 0111 1011 */
779 {illegal,0, 2, 8}, /* 7c: 0100 1000 0111 1100 */
780 {illegal,0, 2, 8}, /* 7d: 0100 1000 0111 1101 */
781 {illegal,0, 2, 8}, /* 7e: 0100 1000 0111 1110 */
782 {illegal,0, 2, 8}, /* 7f: 0100 1000 0111 1111 */
783
784 {illegal,0, 2, 8}, /* 80: 0100 1000 1000 0000 */
785 {illegal,0, 2, 8}, /* 81: 0100 1000 1000 0001 */
786 {LDEAX,"(DE)", 2,14}, /* 82: 0100 1000 1000 0010 */
787 {LDEAX,"(HL)", 2,14}, /* 83: 0100 1000 1000 0011 */
788 {LDEAX,"(DE++)", 2,14}, /* 84: 0100 1000 1000 0100 */
789 {LDEAX,"(HL++)", 2,14}, /* 85: 0100 1000 1000 0101 */
790 {illegal,0, 2, 8}, /* 86: 0100 1000 1000 0110 */
791 {illegal,0, 2, 8}, /* 87: 0100 1000 1000 0111 */
792 {illegal,0, 2, 8}, /* 88: 0100 1000 1000 1000 */
793 {illegal,0, 2, 8}, /* 89: 0100 1000 1000 1001 */
794 {illegal,0, 2, 8}, /* 8a: 0100 1000 1000 1010 */
795 {LDEAX,"(DE+%b)",3,20}, /* 8b: 0100 1000 1000 1011 xxxx xxxx */
796 {LDEAX,"(HL+A)", 2,20}, /* 8c: 0100 1000 1000 1100 */
797 {LDEAX,"(HL+B)", 2,20}, /* 8d: 0100 1000 1000 1101 */
798 {LDEAX,"(HL+EA)",2,20}, /* 8e: 0100 1000 1000 1110 */
799 {LDEAX,"(HL+%b)",3,20}, /* 8f: 0100 1000 1000 1111 xxxx xxxx */
800
801 {illegal,0, 2, 8}, /* 90: 0100 1000 1000 0000 */
802 {illegal,0, 2, 8}, /* 91: 0100 1000 1000 0001 */
803 {STEAX,"(DE)", 2,14}, /* 92: 0100 1000 1000 0010 */
804 {STEAX,"(HL)", 2,14}, /* 93: 0100 1000 1000 0011 */
805 {STEAX,"(DE++)", 2,14}, /* 94: 0100 1000 1000 0100 */
806 {STEAX,"(HL++)", 2,14}, /* 95: 0100 1000 1000 0101 */
807 {illegal,0, 2, 8}, /* 96: 0100 1000 1000 0110 */
808 {illegal,0, 2, 8}, /* 97: 0100 1000 1000 0111 */
809 {illegal,0, 2, 8}, /* 98: 0100 1000 1000 1000 */
810 {illegal,0, 2, 8}, /* 99: 0100 1000 1000 1001 */
811 {illegal,0, 2, 8}, /* 9a: 0100 1000 1000 1010 */
812 {STEAX,"(DE+%b)",3,20}, /* 9b: 0100 1000 1000 1011 xxxx xxxx */
813 {STEAX,"(HL+A)", 2,20}, /* 9c: 0100 1000 1000 1100 */
814 {STEAX,"(HL+B)", 2,20}, /* 9d: 0100 1000 1000 1101 */
815 {STEAX,"(HL+EA)",2,20}, /* 9e: 0100 1000 1000 1110 */
816 {STEAX,"(HL+%b)",3,20}, /* 9f: 0100 1000 1000 1111 xxxx xxxx */
817
818 {DSLR,"EA", 2, 8}, /* a0: 0100 1000 1010 0000 */
819 {illegal,0, 2, 8}, /* a1: 0100 1000 1010 0001 */
820 {illegal,0, 2, 8}, /* a2: 0100 1000 1010 0010 */
821 {illegal,0, 2, 8}, /* a3: 0100 1000 1010 0011 */
822 {DSLL,"EA", 2, 8}, /* a4: 0100 1000 1010 0100 */
823 {illegal,0, 2, 8}, /* a5: 0100 1000 1010 0101 */
824 {illegal,0, 2, 8}, /* a6: 0100 1000 1010 0110 */
825 {illegal,0, 2, 8}, /* a7: 0100 1000 1010 0111 */
826 {TABLE,0, 2,17}, /* a8: 0100 1000 1010 1000 */
827 {illegal,0, 2, 8}, /* a9: 0100 1000 1010 1001 */
828 {CMC,0, 2, 8}, /* aa: 0100 1000 1010 1010 */ /* 7807 */
829 {illegal,0, 2, 8}, /* ab: 0100 1000 1010 1011 */
830 {EXA,0, 2, 8}, /* ac: 0100 1000 1010 1100 */ /* 7807 */
831 {EXR,0, 2, 8}, /* ad: 0100 1000 1010 1101 */ /* 7807 */
832 {EXH,0, 2, 8}, /* ae: 0100 1000 1010 1110 */ /* 7807 */
833 {EXX,0, 2, 8}, /* af: 0100 1000 1010 1111 */ /* 7807 */
834
835 {DRLR,"EA", 2, 8}, /* b0: 0100 1000 1011 0000 */
836 {illegal,0, 2, 8}, /* b1: 0100 1000 1011 0001 */
837 {illegal,0, 2, 8}, /* b2: 0100 1000 1011 0010 */
838 {illegal,0, 2, 8}, /* b3: 0100 1000 1011 0011 */
839 {DRLL,"EA", 2, 8}, /* b4: 0100 1000 1011 0100 */
840 {illegal,0, 2, 8}, /* b5: 0100 1000 1011 0101 */
841 {illegal,0, 2, 8}, /* b6: 0100 1000 1011 0110 */
842 {illegal,0, 2, 8}, /* b7: 0100 1000 1011 0111 */
843 {illegal,0, 2, 8}, /* b8: 0100 1000 1011 1000 */
844 {illegal,0, 2, 8}, /* b9: 0100 1000 1011 1001 */
845 {illegal,0, 2, 8}, /* ba: 0100 1000 1011 1010 */
846 {illegal,0, 2, 8}, /* bb: 0100 1000 1011 1011 */
847 {illegal,0, 2, 8}, /* bc: 0100 1000 1011 1100 */
848 {illegal,0, 2, 8}, /* bd: 0100 1000 1011 1101 */
849 {illegal,0, 2, 8}, /* be: 0100 1000 1011 1110 */
850 {illegal,0, 2, 8}, /* bf: 0100 1000 1011 1111 */
851
852 {DMOV,"EA,ECNT", 2,14}, /* c0: 0100 1000 1100 0000 */
853 {DMOV,"EA,ECPT0",2,14}, /* c1: 0100 1000 1100 0001 */ /* 7807 */
854 {DMOV,"EA,ECPT1",2,14}, /* c2: 0100 1000 1100 0010 */ /* 7807 */
855 {illegal,0, 2, 8}, /* c3: 0100 1000 1100 0011 */
856 {illegal,0, 2, 8}, /* c4: 0100 1000 1100 0100 */
857 {illegal,0, 2, 8}, /* c5: 0100 1000 1100 0101 */
858 {illegal,0, 2, 8}, /* c6: 0100 1000 1100 0110 */
859 {illegal,0, 2, 8}, /* c7: 0100 1000 1100 0111 */
860 {illegal,0, 2, 8}, /* c8: 0100 1000 1100 1000 */
861 {illegal,0, 2, 8}, /* c9: 0100 1000 1100 1001 */
862 {illegal,0, 2, 8}, /* ca: 0100 1000 1100 1010 */
863 {illegal,0, 2, 8}, /* cb: 0100 1000 1100 1011 */
864 {illegal,0, 2, 8}, /* cc: 0100 1000 1100 1100 */
865 {illegal,0, 2, 8}, /* cd: 0100 1000 1100 1101 */
866 {illegal,0, 2, 8}, /* ce: 0100 1000 1100 1110 */
867 {illegal,0, 2, 8}, /* cf: 0100 1000 1100 1111 */
868
869 {illegal,0, 2, 8}, /* d0: 0100 1000 1101 0000 */
870 {illegal,0, 2, 8}, /* d1: 0100 1000 1101 0001 */
871 {DMOV,"ETM0,EA", 2,14}, /* d2: 0100 1000 1101 0010 */
872 {DMOV,"ETM1,EA", 2,14}, /* d3: 0100 1000 1101 0011 */
873 {illegal,0, 2, 8}, /* d4: 0100 1000 1101 0100 */
874 {illegal,0, 2, 8}, /* d5: 0100 1000 1101 0101 */
875 {illegal,0, 2, 8}, /* d6: 0100 1000 1101 0110 */
876 {illegal,0, 2, 8}, /* d7: 0100 1000 1101 0111 */
877 {illegal,0, 2, 8}, /* d8: 0100 1000 1101 1000 */
878 {illegal,0, 2, 8}, /* d9: 0100 1000 1101 1001 */
879 {illegal,0, 2, 8}, /* da: 0100 1000 1101 1010 */
880 {illegal,0, 2, 8}, /* db: 0100 1000 1101 1011 */
881 {illegal,0, 2, 8}, /* dc: 0100 1000 1101 1100 */
882 {illegal,0, 2, 8}, /* dd: 0100 1000 1101 1101 */
883 {illegal,0, 2, 8}, /* de: 0100 1000 1101 1110 */
884 {illegal,0, 2, 8}, /* df: 0100 1000 1101 1111 */
885
886 {illegal,0, 2, 8}, /* e0: 0100 1000 1110 0000 */
887 {illegal,0, 2, 8}, /* e1: 0100 1000 1110 0001 */
888 {illegal,0, 2, 8}, /* e2: 0100 1000 1110 0010 */
889 {illegal,0, 2, 8}, /* e3: 0100 1000 1110 0011 */
890 {illegal,0, 2, 8}, /* e4: 0100 1000 1110 0100 */
891 {illegal,0, 2, 8}, /* e5: 0100 1000 1110 0101 */
892 {illegal,0, 2, 8}, /* e6: 0100 1000 1110 0110 */
893 {illegal,0, 2, 8}, /* e7: 0100 1000 1110 0111 */
894 {illegal,0, 2, 8}, /* e8: 0100 1000 1110 1000 */
895 {illegal,0, 2, 8}, /* e9: 0100 1000 1110 1001 */
896 {illegal,0, 2, 8}, /* ea: 0100 1000 1110 1010 */
897 {illegal,0, 2, 8}, /* eb: 0100 1000 1110 1011 */
898 {illegal,0, 2, 8}, /* ec: 0100 1000 1110 1100 */
899 {illegal,0, 2, 8}, /* ed: 0100 1000 1110 1101 */
900 {illegal,0, 2, 8}, /* ee: 0100 1000 1110 1110 */
901 {illegal,0, 2, 8}, /* ef: 0100 1000 1110 1111 */
902
903 {illegal,0, 2, 8}, /* f0: 0100 1000 1111 0000 */
904 {illegal,0, 2, 8}, /* f1: 0100 1000 1111 0001 */
905 {illegal,0, 2, 8}, /* f2: 0100 1000 1111 0010 */
906 {illegal,0, 2, 8}, /* f3: 0100 1000 1111 0011 */
907 {illegal,0, 2, 8}, /* f4: 0100 1000 1111 0100 */
908 {illegal,0, 2, 8}, /* f5: 0100 1000 1111 0101 */
909 {illegal,0, 2, 8}, /* f6: 0100 1000 1111 0110 */
910 {illegal,0, 2, 8}, /* f7: 0100 1000 1111 0111 */
911 {illegal,0, 2, 8}, /* f8: 0100 1000 1111 1000 */
912 {illegal,0, 2, 8}, /* f9: 0100 1000 1111 1001 */
913 {illegal,0, 2, 8}, /* fa: 0100 1000 1111 1010 */
914 {illegal,0, 2, 8}, /* fb: 0100 1000 1111 1011 */
915 {illegal,0, 2, 8}, /* fc: 0100 1000 1111 1100 */
916 {illegal,0, 2, 8}, /* fd: 0100 1000 1111 1101 */
917 {illegal,0, 2, 8}, /* fe: 0100 1000 1111 1110 */
918 {illegal,0, 2, 8} /* ff: 0100 1000 1111 1111 */
919 };
920
921 /* prefix 4C */
922 static struct dasm_s dasm4C_7810[256] =
923 {
924 {illegal,0, 2, 8}, /* 00: 0100 1100 0000 0000 */
925 {illegal,0, 2, 8}, /* 01: 0100 1100 0000 0001 */
926 {illegal,0, 2, 8}, /* 02: 0100 1100 0000 0010 */
927 {illegal,0, 2, 8}, /* 03: 0100 1100 0000 0011 */
928 {illegal,0, 2, 8}, /* 04: 0100 1100 0000 0100 */
929 {illegal,0, 2, 8}, /* 05: 0100 1100 0000 0101 */
930 {illegal,0, 2, 8}, /* 06: 0100 1100 0000 0110 */
931 {illegal,0, 2, 8}, /* 07: 0100 1100 0000 0111 */
932 {illegal,0, 2, 8}, /* 08: 0100 1100 0000 1000 */
933 {illegal,0, 2, 8}, /* 09: 0100 1100 0000 1001 */
934 {illegal,0, 2, 8}, /* 0a: 0100 1100 0000 1010 */
935 {illegal,0, 2, 8}, /* 0b: 0100 1100 0000 1011 */
936 {illegal,0, 2, 8}, /* 0c: 0100 1100 0000 1100 */
937 {illegal,0, 2, 8}, /* 0d: 0100 1100 0000 1101 */
938 {illegal,0, 2, 8}, /* 0e: 0100 1100 0000 1110 */
939 {illegal,0, 2, 8}, /* 0f: 0100 1100 0000 1111 */
940
941 {illegal,0, 2, 8}, /* 10: 0100 1100 0001 0000 */
942 {illegal,0, 2, 8}, /* 11: 0100 1100 0001 0001 */
943 {illegal,0, 2, 8}, /* 12: 0100 1100 0001 0010 */
944 {illegal,0, 2, 8}, /* 13: 0100 1100 0001 0011 */
945 {illegal,0, 2, 8}, /* 14: 0100 1100 0001 0100 */
946 {illegal,0, 2, 8}, /* 15: 0100 1100 0001 0101 */
947 {illegal,0, 2, 8}, /* 16: 0100 1100 0001 0110 */
948 {illegal,0, 2, 8}, /* 17: 0100 1100 0001 0111 */
949 {illegal,0, 2, 8}, /* 18: 0100 1100 0001 1000 */
950 {illegal,0, 2, 8}, /* 19: 0100 1100 0001 1001 */
951 {illegal,0, 2, 8}, /* 1a: 0100 1100 0001 1010 */
952 {illegal,0, 2, 8}, /* 1b: 0100 1100 0001 1011 */
953 {illegal,0, 2, 8}, /* 1c: 0100 1100 0001 1100 */
954 {illegal,0, 2, 8}, /* 1d: 0100 1100 0001 1101 */
955 {illegal,0, 2, 8}, /* 1e: 0100 1100 0001 1110 */
956 {illegal,0, 2, 8}, /* 1f: 0100 1100 0001 1111 */
957
958 {illegal,0, 2, 8}, /* 20: 0100 1100 0010 0000 */
959 {illegal,0, 2, 8}, /* 21: 0100 1100 0010 0001 */
960 {illegal,0, 2, 8}, /* 22: 0100 1100 0010 0010 */
961 {illegal,0, 2, 8}, /* 23: 0100 1100 0010 0011 */
962 {illegal,0, 2, 8}, /* 24: 0100 1100 0010 0100 */
963 {illegal,0, 2, 8}, /* 25: 0100 1100 0010 0101 */
964 {illegal,0, 2, 8}, /* 26: 0100 1100 0010 0110 */
965 {illegal,0, 2, 8}, /* 27: 0100 1100 0010 0111 */
966 {illegal,0, 2, 8}, /* 28: 0100 1100 0010 1000 */
967 {illegal,0, 2, 8}, /* 29: 0100 1100 0010 1001 */
968 {illegal,0, 2, 8}, /* 2a: 0100 1100 0010 1010 */
969 {illegal,0, 2, 8}, /* 2b: 0100 1100 0010 1011 */
970 {illegal,0, 2, 8}, /* 2c: 0100 1100 0010 1100 */
971 {illegal,0, 2, 8}, /* 2d: 0100 1100 0010 1101 */
972 {illegal,0, 2, 8}, /* 2e: 0100 1100 0010 1110 */
973 {illegal,0, 2, 8}, /* 2f: 0100 1100 0010 1111 */
974
975 {illegal,0, 2, 8}, /* 30: 0100 1100 0011 0000 */
976 {illegal,0, 2, 8}, /* 31: 0100 1100 0011 0001 */
977 {illegal,0, 2, 8}, /* 32: 0100 1100 0011 0010 */
978 {illegal,0, 2, 8}, /* 33: 0100 1100 0011 0011 */
979 {illegal,0, 2, 8}, /* 34: 0100 1100 0011 0100 */
980 {illegal,0, 2, 8}, /* 35: 0100 1100 0011 0101 */
981 {illegal,0, 2, 8}, /* 36: 0100 1100 0011 0110 */
982 {illegal,0, 2, 8}, /* 37: 0100 1100 0011 0111 */
983 {illegal,0, 2, 8}, /* 38: 0100 1100 0011 1000 */
984 {illegal,0, 2, 8}, /* 39: 0100 1100 0011 1001 */
985 {illegal,0, 2, 8}, /* 3a: 0100 1100 0011 1010 */
986 {illegal,0, 2, 8}, /* 3b: 0100 1100 0011 1011 */
987 {illegal,0, 2, 8}, /* 3c: 0100 1100 0011 1100 */
988 {illegal,0, 2, 8}, /* 3d: 0100 1100 0011 1101 */
989 {illegal,0, 2, 8}, /* 3e: 0100 1100 0011 1110 */
990 {illegal,0, 2, 8}, /* 3f: 0100 1100 0011 1111 */
991
992 {illegal,0, 2, 8}, /* 40: 0100 1100 0100 0000 */
993 {illegal,0, 2, 8}, /* 41: 0100 1100 0100 0001 */
994 {illegal,0, 2, 8}, /* 42: 0100 1100 0100 0010 */
995 {illegal,0, 2, 8}, /* 43: 0100 1100 0100 0011 */
996 {illegal,0, 2, 8}, /* 44: 0100 1100 0100 0100 */
997 {illegal,0, 2, 8}, /* 45: 0100 1100 0100 0101 */
998 {illegal,0, 2, 8}, /* 46: 0100 1100 0100 0110 */
999 {illegal,0, 2, 8}, /* 47: 0100 1100 0100 0111 */
1000 {illegal,0, 2, 8}, /* 48: 0100 1100 0100 1000 */
1001 {illegal,0, 2, 8}, /* 49: 0100 1100 0100 1001 */
1002 {illegal,0, 2, 8}, /* 4a: 0100 1100 0100 1010 */
1003 {illegal,0, 2, 8}, /* 4b: 0100 1100 0100 1011 */
1004 {illegal,0, 2, 8}, /* 4c: 0100 1100 0100 1100 */
1005 {illegal,0, 2, 8}, /* 4d: 0100 1100 0100 1101 */
1006 {illegal,0, 2, 8}, /* 4e: 0100 1100 0100 1110 */
1007 {illegal,0, 2, 8}, /* 4f: 0100 1100 0100 1111 */
1008
1009 {illegal,0, 2, 8}, /* 50: 0100 1100 0101 0000 */
1010 {illegal,0, 2, 8}, /* 51: 0100 1100 0101 0001 */
1011 {illegal,0, 2, 8}, /* 52: 0100 1100 0101 0010 */
1012 {illegal,0, 2, 8}, /* 53: 0100 1100 0101 0011 */
1013 {illegal,0, 2, 8}, /* 54: 0100 1100 0101 0100 */
1014 {illegal,0, 2, 8}, /* 55: 0100 1100 0101 0101 */
1015 {illegal,0, 2, 8}, /* 56: 0100 1100 0101 0110 */
1016 {illegal,0, 2, 8}, /* 57: 0100 1100 0101 0111 */
1017 {illegal,0, 2, 8}, /* 58: 0100 1100 0101 1000 */
1018 {illegal,0, 2, 8}, /* 59: 0100 1100 0101 1001 */
1019 {illegal,0, 2, 8}, /* 5a: 0100 1100 0101 1010 */
1020 {illegal,0, 2, 8}, /* 5b: 0100 1100 0101 1011 */
1021 {illegal,0, 2, 8}, /* 5c: 0100 1100 0101 1100 */
1022 {illegal,0, 2, 8}, /* 5d: 0100 1100 0101 1101 */
1023 {illegal,0, 2, 8}, /* 5e: 0100 1100 0101 1110 */
1024 {illegal,0, 2, 8}, /* 5f: 0100 1100 0101 1111 */
1025
1026 {illegal,0, 2, 8}, /* 60: 0100 1100 0110 0000 */
1027 {illegal,0, 2, 8}, /* 61: 0100 1100 0110 0001 */
1028 {illegal,0, 2, 8}, /* 62: 0100 1100 0110 0010 */
1029 {illegal,0, 2, 8}, /* 63: 0100 1100 0110 0011 */
1030 {illegal,0, 2, 8}, /* 64: 0100 1100 0110 0100 */
1031 {illegal,0, 2, 8}, /* 65: 0100 1100 0110 0101 */
1032 {illegal,0, 2, 8}, /* 66: 0100 1100 0110 0110 */
1033 {illegal,0, 2, 8}, /* 67: 0100 1100 0110 0111 */
1034 {illegal,0, 2, 8}, /* 68: 0100 1100 0110 1000 */
1035 {illegal,0, 2, 8}, /* 69: 0100 1100 0110 1001 */
1036 {illegal,0, 2, 8}, /* 6a: 0100 1100 0110 1010 */
1037 {illegal,0, 2, 8}, /* 6b: 0100 1100 0110 1011 */
1038 {illegal,0, 2, 8}, /* 6c: 0100 1100 0110 1100 */
1039 {illegal,0, 2, 8}, /* 6d: 0100 1100 0110 1101 */
1040 {illegal,0, 2, 8}, /* 6e: 0100 1100 0110 1110 */
1041 {illegal,0, 2, 8}, /* 6f: 0100 1100 0110 1111 */
1042
1043 {illegal,0, 2, 8}, /* 70: 0100 1100 0111 0000 */
1044 {illegal,0, 2, 8}, /* 71: 0100 1100 0111 0001 */
1045 {illegal,0, 2, 8}, /* 72: 0100 1100 0111 0010 */
1046 {illegal,0, 2, 8}, /* 73: 0100 1100 0111 0011 */
1047 {illegal,0, 2, 8}, /* 74: 0100 1100 0111 0100 */
1048 {illegal,0, 2, 8}, /* 75: 0100 1100 0111 0101 */
1049 {illegal,0, 2, 8}, /* 76: 0100 1100 0111 0110 */
1050 {illegal,0, 2, 8}, /* 77: 0100 1100 0111 0111 */
1051 {illegal,0, 2, 8}, /* 78: 0100 1100 0111 1000 */
1052 {illegal,0, 2, 8}, /* 79: 0100 1100 0111 1001 */
1053 {illegal,0, 2, 8}, /* 7a: 0100 1100 0111 1010 */
1054 {illegal,0, 2, 8}, /* 7b: 0100 1100 0111 1011 */
1055 {illegal,0, 2, 8}, /* 7c: 0100 1100 0111 1100 */
1056 {illegal,0, 2, 8}, /* 7d: 0100 1100 0111 1101 */
1057 {illegal,0, 2, 8}, /* 7e: 0100 1100 0111 1110 */
1058 {illegal,0, 2, 8}, /* 7f: 0100 1100 0111 1111 */
1059
1060 {illegal,0, 2, 8}, /* 80: 0100 1100 1000 0000 */
1061 {illegal,0, 2, 8}, /* 81: 0100 1100 1000 0001 */
1062 {illegal,0, 2, 8}, /* 82: 0100 1100 1000 0010 */
1063 {illegal,0, 2, 8}, /* 83: 0100 1100 1000 0011 */
1064 {illegal,0, 2, 8}, /* 84: 0100 1100 1000 0100 */
1065 {illegal,0, 2, 8}, /* 85: 0100 1100 1000 0101 */
1066 {illegal,0, 2, 8}, /* 86: 0100 1100 1000 0110 */
1067 {illegal,0, 2, 8}, /* 87: 0100 1100 1000 0111 */
1068 {illegal,0, 2, 8}, /* 88: 0100 1100 1000 1000 */
1069 {illegal,0, 2, 8}, /* 89: 0100 1100 1000 1001 */
1070 {illegal,0, 2, 8}, /* 8a: 0100 1100 1000 1010 */
1071 {illegal,0, 2, 8}, /* 8b: 0100 1100 1000 1011 */
1072 {illegal,0, 2, 8}, /* 8c: 0100 1100 1000 1100 */
1073 {illegal,0, 2, 8}, /* 8d: 0100 1100 1000 1101 */
1074 {illegal,0, 2, 8}, /* 8e: 0100 1100 1000 1110 */
1075 {illegal,0, 2, 8}, /* 8f: 0100 1100 1000 1111 */
1076
1077 {illegal,0, 2, 8}, /* 90: 0100 1100 1001 0000 */
1078 {illegal,0, 2, 8}, /* 91: 0100 1100 1001 0001 */
1079 {illegal,0, 2, 8}, /* 92: 0100 1100 1001 0010 */
1080 {illegal,0, 2, 8}, /* 93: 0100 1100 1001 0011 */
1081 {illegal,0, 2, 8}, /* 94: 0100 1100 1001 0100 */
1082 {illegal,0, 2, 8}, /* 95: 0100 1100 1001 0101 */
1083 {illegal,0, 2, 8}, /* 96: 0100 1100 1001 0110 */
1084 {illegal,0, 2, 8}, /* 97: 0100 1100 1001 0111 */
1085 {illegal,0, 2, 8}, /* 98: 0100 1100 1001 1000 */
1086 {illegal,0, 2, 8}, /* 99: 0100 1100 1001 1001 */
1087 {illegal,0, 2, 8}, /* 9a: 0100 1100 1001 1010 */
1088 {illegal,0, 2, 8}, /* 9b: 0100 1100 1001 1011 */
1089 {illegal,0, 2, 8}, /* 9c: 0100 1100 1001 1100 */
1090 {illegal,0, 2, 8}, /* 9d: 0100 1100 1001 1101 */
1091 {illegal,0, 2, 8}, /* 9e: 0100 1100 1001 1110 */
1092 {illegal,0, 2, 8}, /* 9f: 0100 1100 1001 1111 */
1093
1094 {illegal,0, 2, 8}, /* a0: 0100 1100 1010 0000 */
1095 {illegal,0, 2, 8}, /* a1: 0100 1100 1010 0001 */
1096 {illegal,0, 2, 8}, /* a2: 0100 1100 1010 0010 */
1097 {illegal,0, 2, 8}, /* a3: 0100 1100 1010 0011 */
1098 {illegal,0, 2, 8}, /* a4: 0100 1100 1010 0100 */
1099 {illegal,0, 2, 8}, /* a5: 0100 1100 1010 0101 */
1100 {illegal,0, 2, 8}, /* a6: 0100 1100 1010 0110 */
1101 {illegal,0, 2, 8}, /* a7: 0100 1100 1010 0111 */
1102 {illegal,0, 2, 8}, /* a8: 0100 1100 1010 1000 */
1103 {illegal,0, 2, 8}, /* a9: 0100 1100 1010 1001 */
1104 {illegal,0, 2, 8}, /* aa: 0100 1100 1010 1010 */
1105 {illegal,0, 2, 8}, /* ab: 0100 1100 1010 1011 */
1106 {illegal,0, 2, 8}, /* ac: 0100 1100 1010 1100 */
1107 {illegal,0, 2, 8}, /* ad: 0100 1100 1010 1101 */
1108 {illegal,0, 2, 8}, /* ae: 0100 1100 1010 1110 */
1109 {illegal,0, 2, 8}, /* af: 0100 1100 1010 1111 */
1110
1111 {illegal,0, 2, 8}, /* b0: 0100 1100 1011 0000 */
1112 {illegal,0, 2, 8}, /* b1: 0100 1100 1011 0001 */
1113 {illegal,0, 2, 8}, /* b2: 0100 1100 1011 0010 */
1114 {illegal,0, 2, 8}, /* b3: 0100 1100 1011 0011 */
1115 {illegal,0, 2, 8}, /* b4: 0100 1100 1011 0100 */
1116 {illegal,0, 2, 8}, /* b5: 0100 1100 1011 0101 */
1117 {illegal,0, 2, 8}, /* b6: 0100 1100 1011 0110 */
1118 {illegal,0, 2, 8}, /* b7: 0100 1100 1011 0111 */
1119 {illegal,0, 2, 8}, /* b8: 0100 1100 1011 1000 */
1120 {illegal,0, 2, 8}, /* b9: 0100 1100 1011 1001 */
1121 {illegal,0, 2, 8}, /* ba: 0100 1100 1011 1010 */
1122 {illegal,0, 2, 8}, /* bb: 0100 1100 1011 1011 */
1123 {illegal,0, 2, 8}, /* bc: 0100 1100 1011 1100 */
1124 {illegal,0, 2, 8}, /* bd: 0100 1100 1011 1101 */
1125 {illegal,0, 2, 8}, /* be: 0100 1100 1011 1110 */
1126 {illegal,0, 2, 8}, /* bf: 0100 1100 1011 1111 */
1127
1128 {MOV,"A,PA", 2,10}, /* c0: 0100 1100 1100 0000 */
1129 {MOV,"A,PB", 2,10}, /* c1: 0100 1100 1100 0001 */
1130 {MOV,"A,PC", 2,10}, /* c2: 0100 1100 1100 0010 */
1131 {MOV,"A,PD", 2,10}, /* c3: 0100 1100 1100 0011 */
1132 {illegal,0, 2,10}, /* c4: 0100 1100 1100 0100 */
1133 {MOV,"A,PF", 2,10}, /* c5: 0100 1100 1100 0101 */
1134 {MOV,"A,MKH", 2,10}, /* c6: 0100 1100 1100 0110 */
1135 {MOV,"A,MKL", 2,10}, /* c7: 0100 1100 1100 0111 */
1136 {MOV,"A,ANM", 2,10}, /* c8: 0100 1100 1100 1000 */ /* 7810 */
1137 {MOV,"A,SMH", 2,10}, /* c9: 0100 1100 1100 1001 */
1138 {illegal,0, 2,10}, /* ca: 0100 1100 1100 1010 */
1139 {MOV,"A,EOM", 2,10}, /* cb: 0100 1100 1100 1011 */
1140 {illegal,0, 2,10}, /* cc: 0100 1100 1100 1100 */
1141 {MOV,"A,TMM", 2,10}, /* cd: 0100 1100 1100 1101 */
1142 {illegal,0, 2,10}, /* ce: 0100 1100 1100 1110 */
1143 {illegal,0, 2,10}, /* cf: 0100 1100 1100 1111 */
1144
1145 {illegal,0, 2,10}, /* d0: 0100 1100 1101 0000 */
1146 {illegal,0, 2,10}, /* d1: 0100 1100 1101 0001 */
1147 {illegal,0, 2,10}, /* d2: 0100 1100 1101 0010 */
1148 {illegal,0, 2,10}, /* d3: 0100 1100 1101 0011 */
1149 {illegal,0, 2,10}, /* d4: 0100 1100 1101 0100 */
1150 {illegal,0, 2,10}, /* d5: 0100 1100 1101 0101 */
1151 {illegal,0, 2,10}, /* d6: 0100 1100 1101 0110 */
1152 {illegal,0, 2,10}, /* d7: 0100 1100 1101 0111 */
1153 {illegal,0, 2,10}, /* d8: 0100 1100 1101 1000 */
1154 {MOV,"A,RXB", 2,10}, /* d9: 0100 1100 1101 1001 */
1155 {illegal,0, 2,10}, /* da: 0100 1100 1101 1010 */
1156 {illegal,0, 2,10}, /* db: 0100 1100 1101 1011 */
1157 {illegal,0, 2,10}, /* dc: 0100 1100 1101 1100 */
1158 {illegal,0, 2,10}, /* dd: 0100 1100 1101 1101 */
1159 {illegal,0, 2,10}, /* de: 0100 1100 1101 1110 */
1160 {illegal,0, 2,10}, /* df: 0100 1100 1101 1111 */
1161
1162 {MOV,"A,CR0", 2,10}, /* e0: 0100 1100 1110 0000 */ /* 7810 */
1163 {MOV,"A,CR1", 2,10}, /* e1: 0100 1100 1110 0001 */ /* 7810 */
1164 {MOV,"A,CR2", 2,10}, /* e2: 0100 1100 1110 0010 */ /* 7810 */
1165 {MOV,"A,CR3", 2,10}, /* e3: 0100 1100 1110 0011 */ /* 7810 */
1166 {illegal,0, 2,10}, /* e4: 0100 1100 1110 0100 */
1167 {illegal,0, 2,10}, /* e5: 0100 1100 1110 0101 */
1168 {illegal,0, 2,10}, /* e6: 0100 1100 1110 0110 */
1169 {illegal,0, 2,10}, /* e7: 0100 1100 1110 0111 */
1170 {illegal,0, 2,10}, /* e8: 0100 1100 1110 1000 */
1171 {illegal,0, 2,10}, /* e9: 0100 1100 1110 1001 */
1172 {illegal,0, 2,10}, /* ea: 0100 1100 1110 1010 */
1173 {illegal,0, 2,10}, /* eb: 0100 1100 1110 1011 */
1174 {illegal,0, 2,10}, /* ec: 0100 1100 1110 1100 */
1175 {illegal,0, 2,10}, /* ed: 0100 1100 1110 1101 */
1176 {illegal,0, 2,10}, /* ee: 0100 1100 1110 1110 */
1177 {illegal,0, 2,10}, /* ef: 0100 1100 1110 1111 */
1178
1179 {illegal,0, 2,10}, /* f0: 0100 1100 1111 0000 */
1180 {illegal,0, 2,10}, /* f1: 0100 1100 1111 0001 */
1181 {illegal,0, 2,10}, /* f2: 0100 1100 1111 0010 */
1182 {illegal,0, 2,10}, /* f3: 0100 1100 1111 0011 */
1183 {illegal,0, 2,10}, /* f4: 0100 1100 1111 0100 */
1184 {illegal,0, 2,10}, /* f5: 0100 1100 1111 0101 */
1185 {illegal,0, 2,10}, /* f6: 0100 1100 1111 0110 */
1186 {illegal,0, 2,10}, /* f7: 0100 1100 1111 0111 */
1187 {illegal,0, 2,10}, /* f8: 0100 1100 1111 1000 */
1188 {illegal,0, 2,10}, /* f9: 0100 1100 1111 1001 */
1189 {illegal,0, 2,10}, /* fa: 0100 1100 1111 1010 */
1190 {illegal,0, 2,10}, /* fb: 0100 1100 1111 1011 */
1191 {illegal,0, 2,10}, /* fc: 0100 1100 1111 1100 */
1192 {illegal,0, 2,10}, /* fd: 0100 1100 1111 1101 */
1193 {illegal,0, 2,10}, /* fe: 0100 1100 1111 1110 */
1194 {illegal,0, 2,10} /* ff: 0100 1100 1111 1111 */
1195 };
1196
1197 static struct dasm_s dasm4C_7807[256] =
1198 {
1199 {illegal,0, 2, 8}, /* 00: 0100 1100 0000 0000 */
1200 {illegal,0, 2, 8}, /* 01: 0100 1100 0000 0001 */
1201 {illegal,0, 2, 8}, /* 02: 0100 1100 0000 0010 */
1202 {illegal,0, 2, 8}, /* 03: 0100 1100 0000 0011 */
1203 {illegal,0, 2, 8}, /* 04: 0100 1100 0000 0100 */
1204 {illegal,0, 2, 8}, /* 05: 0100 1100 0000 0101 */
1205 {illegal,0, 2, 8}, /* 06: 0100 1100 0000 0110 */
1206 {illegal,0, 2, 8}, /* 07: 0100 1100 0000 0111 */
1207 {illegal,0, 2, 8}, /* 08: 0100 1100 0000 1000 */
1208 {illegal,0, 2, 8}, /* 09: 0100 1100 0000 1001 */
1209 {illegal,0, 2, 8}, /* 0a: 0100 1100 0000 1010 */
1210 {illegal,0, 2, 8}, /* 0b: 0100 1100 0000 1011 */
1211 {illegal,0, 2, 8}, /* 0c: 0100 1100 0000 1100 */
1212 {illegal,0, 2, 8}, /* 0d: 0100 1100 0000 1101 */
1213 {illegal,0, 2, 8}, /* 0e: 0100 1100 0000 1110 */
1214 {illegal,0, 2, 8}, /* 0f: 0100 1100 0000 1111 */
1215
1216 {illegal,0, 2, 8}, /* 10: 0100 1100 0001 0000 */
1217 {illegal,0, 2, 8}, /* 11: 0100 1100 0001 0001 */
1218 {illegal,0, 2, 8}, /* 12: 0100 1100 0001 0010 */
1219 {illegal,0, 2, 8}, /* 13: 0100 1100 0001 0011 */
1220 {illegal,0, 2, 8}, /* 14: 0100 1100 0001 0100 */
1221 {illegal,0, 2, 8}, /* 15: 0100 1100 0001 0101 */
1222 {illegal,0, 2, 8}, /* 16: 0100 1100 0001 0110 */
1223 {illegal,0, 2, 8}, /* 17: 0100 1100 0001 0111 */
1224 {illegal,0, 2, 8}, /* 18: 0100 1100 0001 1000 */
1225 {illegal,0, 2, 8}, /* 19: 0100 1100 0001 1001 */
1226 {illegal,0, 2, 8}, /* 1a: 0100 1100 0001 1010 */
1227 {illegal,0, 2, 8}, /* 1b: 0100 1100 0001 1011 */
1228 {illegal,0, 2, 8}, /* 1c: 0100 1100 0001 1100 */
1229 {illegal,0, 2, 8}, /* 1d: 0100 1100 0001 1101 */
1230 {illegal,0, 2, 8}, /* 1e: 0100 1100 0001 1110 */
1231 {illegal,0, 2, 8}, /* 1f: 0100 1100 0001 1111 */
1232
1233 {illegal,0, 2, 8}, /* 20: 0100 1100 0010 0000 */
1234 {illegal,0, 2, 8}, /* 21: 0100 1100 0010 0001 */
1235 {illegal,0, 2, 8}, /* 22: 0100 1100 0010 0010 */
1236 {illegal,0, 2, 8}, /* 23: 0100 1100 0010 0011 */
1237 {illegal,0, 2, 8}, /* 24: 0100 1100 0010 0100 */
1238 {illegal,0, 2, 8}, /* 25: 0100 1100 0010 0101 */
1239 {illegal,0, 2, 8}, /* 26: 0100 1100 0010 0110 */
1240 {illegal,0, 2, 8}, /* 27: 0100 1100 0010 0111 */
1241 {illegal,0, 2, 8}, /* 28: 0100 1100 0010 1000 */
1242 {illegal,0, 2, 8}, /* 29: 0100 1100 0010 1001 */
1243 {illegal,0, 2, 8}, /* 2a: 0100 1100 0010 1010 */
1244 {illegal,0, 2, 8}, /* 2b: 0100 1100 0010 1011 */
1245 {illegal,0, 2, 8}, /* 2c: 0100 1100 0010 1100 */
1246 {illegal,0, 2, 8}, /* 2d: 0100 1100 0010 1101 */
1247 {illegal,0, 2, 8}, /* 2e: 0100 1100 0010 1110 */
1248 {illegal,0, 2, 8}, /* 2f: 0100 1100 0010 1111 */
1249
1250 {illegal,0, 2, 8}, /* 30: 0100 1100 0011 0000 */
1251 {illegal,0, 2, 8}, /* 31: 0100 1100 0011 0001 */
1252 {illegal,0, 2, 8}, /* 32: 0100 1100 0011 0010 */
1253 {illegal,0, 2, 8}, /* 33: 0100 1100 0011 0011 */
1254 {illegal,0, 2, 8}, /* 34: 0100 1100 0011 0100 */
1255 {illegal,0, 2, 8}, /* 35: 0100 1100 0011 0101 */
1256 {illegal,0, 2, 8}, /* 36: 0100 1100 0011 0110 */
1257 {illegal,0, 2, 8}, /* 37: 0100 1100 0011 0111 */
1258 {illegal,0, 2, 8}, /* 38: 0100 1100 0011 1000 */
1259 {illegal,0, 2, 8}, /* 39: 0100 1100 0011 1001 */
1260 {illegal,0, 2, 8}, /* 3a: 0100 1100 0011 1010 */
1261 {illegal,0, 2, 8}, /* 3b: 0100 1100 0011 1011 */
1262 {illegal,0, 2, 8}, /* 3c: 0100 1100 0011 1100 */
1263 {illegal,0, 2, 8}, /* 3d: 0100 1100 0011 1101 */
1264 {illegal,0, 2, 8}, /* 3e: 0100 1100 0011 1110 */
1265 {illegal,0, 2, 8}, /* 3f: 0100 1100 0011 1111 */
1266
1267 {illegal,0, 2, 8}, /* 40: 0100 1100 0100 0000 */
1268 {illegal,0, 2, 8}, /* 41: 0100 1100 0100 0001 */
1269 {illegal,0, 2, 8}, /* 42: 0100 1100 0100 0010 */
1270 {illegal,0, 2, 8}, /* 43: 0100 1100 0100 0011 */
1271 {illegal,0, 2, 8}, /* 44: 0100 1100 0100 0100 */
1272 {illegal,0, 2, 8}, /* 45: 0100 1100 0100 0101 */
1273 {illegal,0, 2, 8}, /* 46: 0100 1100 0100 0110 */
1274 {illegal,0, 2, 8}, /* 47: 0100 1100 0100 0111 */
1275 {illegal,0, 2, 8}, /* 48: 0100 1100 0100 1000 */
1276 {illegal,0, 2, 8}, /* 49: 0100 1100 0100 1001 */
1277 {illegal,0, 2, 8}, /* 4a: 0100 1100 0100 1010 */
1278 {illegal,0, 2, 8}, /* 4b: 0100 1100 0100 1011 */
1279 {illegal,0, 2, 8}, /* 4c: 0100 1100 0100 1100 */
1280 {illegal,0, 2, 8}, /* 4d: 0100 1100 0100 1101 */
1281 {illegal,0, 2, 8}, /* 4e: 0100 1100 0100 1110 */
1282 {illegal,0, 2, 8}, /* 4f: 0100 1100 0100 1111 */
1283
1284 {illegal,0, 2, 8}, /* 50: 0100 1100 0101 0000 */
1285 {illegal,0, 2, 8}, /* 51: 0100 1100 0101 0001 */
1286 {illegal,0, 2, 8}, /* 52: 0100 1100 0101 0010 */
1287 {illegal,0, 2, 8}, /* 53: 0100 1100 0101 0011 */
1288 {illegal,0, 2, 8}, /* 54: 0100 1100 0101 0100 */
1289 {illegal,0, 2, 8}, /* 55: 0100 1100 0101 0101 */
1290 {illegal,0, 2, 8}, /* 56: 0100 1100 0101 0110 */
1291 {illegal,0, 2, 8}, /* 57: 0100 1100 0101 0111 */
1292 {illegal,0, 2, 8}, /* 58: 0100 1100 0101 1000 */
1293 {illegal,0, 2, 8}, /* 59: 0100 1100 0101 1001 */
1294 {illegal,0, 2, 8}, /* 5a: 0100 1100 0101 1010 */
1295 {illegal,0, 2, 8}, /* 5b: 0100 1100 0101 1011 */
1296 {illegal,0, 2, 8}, /* 5c: 0100 1100 0101 1100 */
1297 {illegal,0, 2, 8}, /* 5d: 0100 1100 0101 1101 */
1298 {illegal,0, 2, 8}, /* 5e: 0100 1100 0101 1110 */
1299 {illegal,0, 2, 8}, /* 5f: 0100 1100 0101 1111 */
1300
1301 {illegal,0, 2, 8}, /* 60: 0100 1100 0110 0000 */
1302 {illegal,0, 2, 8}, /* 61: 0100 1100 0110 0001 */
1303 {illegal,0, 2, 8}, /* 62: 0100 1100 0110 0010 */
1304 {illegal,0, 2, 8}, /* 63: 0100 1100 0110 0011 */
1305 {illegal,0, 2, 8}, /* 64: 0100 1100 0110 0100 */
1306 {illegal,0, 2, 8}, /* 65: 0100 1100 0110 0101 */
1307 {illegal,0, 2, 8}, /* 66: 0100 1100 0110 0110 */
1308 {illegal,0, 2, 8}, /* 67: 0100 1100 0110 0111 */
1309 {illegal,0, 2, 8}, /* 68: 0100 1100 0110 1000 */
1310 {illegal,0, 2, 8}, /* 69: 0100 1100 0110 1001 */
1311 {illegal,0, 2, 8}, /* 6a: 0100 1100 0110 1010 */
1312 {illegal,0, 2, 8}, /* 6b: 0100 1100 0110 1011 */
1313 {illegal,0, 2, 8}, /* 6c: 0100 1100 0110 1100 */
1314 {illegal,0, 2, 8}, /* 6d: 0100 1100 0110 1101 */
1315 {illegal,0, 2, 8}, /* 6e: 0100 1100 0110 1110 */
1316 {illegal,0, 2, 8}, /* 6f: 0100 1100 0110 1111 */
1317
1318 {illegal,0, 2, 8}, /* 70: 0100 1100 0111 0000 */
1319 {illegal,0, 2, 8}, /* 71: 0100 1100 0111 0001 */
1320 {illegal,0, 2, 8}, /* 72: 0100 1100 0111 0010 */
1321 {illegal,0, 2, 8}, /* 73: 0100 1100 0111 0011 */
1322 {illegal,0, 2, 8}, /* 74: 0100 1100 0111 0100 */
1323 {illegal,0, 2, 8}, /* 75: 0100 1100 0111 0101 */
1324 {illegal,0, 2, 8}, /* 76: 0100 1100 0111 0110 */
1325 {illegal,0, 2, 8}, /* 77: 0100 1100 0111 0111 */
1326 {illegal,0, 2, 8}, /* 78: 0100 1100 0111 1000 */
1327 {illegal,0, 2, 8}, /* 79: 0100 1100 0111 1001 */
1328 {illegal,0, 2, 8}, /* 7a: 0100 1100 0111 1010 */
1329 {illegal,0, 2, 8}, /* 7b: 0100 1100 0111 1011 */
1330 {illegal,0, 2, 8}, /* 7c: 0100 1100 0111 1100 */
1331 {illegal,0, 2, 8}, /* 7d: 0100 1100 0111 1101 */
1332 {illegal,0, 2, 8}, /* 7e: 0100 1100 0111 1110 */
1333 {illegal,0, 2, 8}, /* 7f: 0100 1100 0111 1111 */
1334
1335 {illegal,0, 2, 8}, /* 80: 0100 1100 1000 0000 */
1336 {illegal,0, 2, 8}, /* 81: 0100 1100 1000 0001 */
1337 {illegal,0, 2, 8}, /* 82: 0100 1100 1000 0010 */
1338 {illegal,0, 2, 8}, /* 83: 0100 1100 1000 0011 */
1339 {illegal,0, 2, 8}, /* 84: 0100 1100 1000 0100 */
1340 {illegal,0, 2, 8}, /* 85: 0100 1100 1000 0101 */
1341 {illegal,0, 2, 8}, /* 86: 0100 1100 1000 0110 */
1342 {illegal,0, 2, 8}, /* 87: 0100 1100 1000 0111 */
1343 {illegal,0, 2, 8}, /* 88: 0100 1100 1000 1000 */
1344 {illegal,0, 2, 8}, /* 89: 0100 1100 1000 1001 */
1345 {illegal,0, 2, 8}, /* 8a: 0100 1100 1000 1010 */
1346 {illegal,0, 2, 8}, /* 8b: 0100 1100 1000 1011 */
1347 {illegal,0, 2, 8}, /* 8c: 0100 1100 1000 1100 */
1348 {illegal,0, 2, 8}, /* 8d: 0100 1100 1000 1101 */
1349 {illegal,0, 2, 8}, /* 8e: 0100 1100 1000 1110 */
1350 {illegal,0, 2, 8}, /* 8f: 0100 1100 1000 1111 */
1351
1352 {illegal,0, 2, 8}, /* 90: 0100 1100 1001 0000 */
1353 {illegal,0, 2, 8}, /* 91: 0100 1100 1001 0001 */
1354 {illegal,0, 2, 8}, /* 92: 0100 1100 1001 0010 */
1355 {illegal,0, 2, 8}, /* 93: 0100 1100 1001 0011 */
1356 {illegal,0, 2, 8}, /* 94: 0100 1100 1001 0100 */
1357 {illegal,0, 2, 8}, /* 95: 0100 1100 1001 0101 */
1358 {illegal,0, 2, 8}, /* 96: 0100 1100 1001 0110 */
1359 {illegal,0, 2, 8}, /* 97: 0100 1100 1001 0111 */
1360 {illegal,0, 2, 8}, /* 98: 0100 1100 1001 1000 */
1361 {illegal,0, 2, 8}, /* 99: 0100 1100 1001 1001 */
1362 {illegal,0, 2, 8}, /* 9a: 0100 1100 1001 1010 */
1363 {illegal,0, 2, 8}, /* 9b: 0100 1100 1001 1011 */
1364 {illegal,0, 2, 8}, /* 9c: 0100 1100 1001 1100 */
1365 {illegal,0, 2, 8}, /* 9d: 0100 1100 1001 1101 */
1366 {illegal,0, 2, 8}, /* 9e: 0100 1100 1001 1110 */
1367 {illegal,0, 2, 8}, /* 9f: 0100 1100 1001 1111 */
1368
1369 {illegal,0, 2, 8}, /* a0: 0100 1100 1010 0000 */
1370 {illegal,0, 2, 8}, /* a1: 0100 1100 1010 0001 */
1371 {illegal,0, 2, 8}, /* a2: 0100 1100 1010 0010 */
1372 {illegal,0, 2, 8}, /* a3: 0100 1100 1010 0011 */
1373 {illegal,0, 2, 8}, /* a4: 0100 1100 1010 0100 */
1374 {illegal,0, 2, 8}, /* a5: 0100 1100 1010 0101 */
1375 {illegal,0, 2, 8}, /* a6: 0100 1100 1010 0110 */
1376 {illegal,0, 2, 8}, /* a7: 0100 1100 1010 0111 */
1377 {illegal,0, 2, 8}, /* a8: 0100 1100 1010 1000 */
1378 {illegal,0, 2, 8}, /* a9: 0100 1100 1010 1001 */
1379 {illegal,0, 2, 8}, /* aa: 0100 1100 1010 1010 */
1380 {illegal,0, 2, 8}, /* ab: 0100 1100 1010 1011 */
1381 {illegal,0, 2, 8}, /* ac: 0100 1100 1010 1100 */
1382 {illegal,0, 2, 8}, /* ad: 0100 1100 1010 1101 */
1383 {illegal,0, 2, 8}, /* ae: 0100 1100 1010 1110 */
1384 {illegal,0, 2, 8}, /* af: 0100 1100 1010 1111 */
1385
1386 {illegal,0, 2, 8}, /* b0: 0100 1100 1011 0000 */
1387 {illegal,0, 2, 8}, /* b1: 0100 1100 1011 0001 */
1388 {illegal,0, 2, 8}, /* b2: 0100 1100 1011 0010 */
1389 {illegal,0, 2, 8}, /* b3: 0100 1100 1011 0011 */
1390 {illegal,0, 2, 8}, /* b4: 0100 1100 1011 0100 */
1391 {illegal,0, 2, 8}, /* b5: 0100 1100 1011 0101 */
1392 {illegal,0, 2, 8}, /* b6: 0100 1100 1011 0110 */
1393 {illegal,0, 2, 8}, /* b7: 0100 1100 1011 0111 */
1394 {illegal,0, 2, 8}, /* b8: 0100 1100 1011 1000 */
1395 {illegal,0, 2, 8}, /* b9: 0100 1100 1011 1001 */
1396 {illegal,0, 2, 8}, /* ba: 0100 1100 1011 1010 */
1397 {illegal,0, 2, 8}, /* bb: 0100 1100 1011 1011 */
1398 {illegal,0, 2, 8}, /* bc: 0100 1100 1011 1100 */
1399 {illegal,0, 2, 8}, /* bd: 0100 1100 1011 1101 */
1400 {illegal,0, 2, 8}, /* be: 0100 1100 1011 1110 */
1401 {illegal,0, 2, 8}, /* bf: 0100 1100 1011 1111 */
1402
1403 {MOV,"A,PA", 2,10}, /* c0: 0100 1100 1100 0000 */
1404 {MOV,"A,PB", 2,10}, /* c1: 0100 1100 1100 0001 */
1405 {MOV,"A,PC", 2,10}, /* c2: 0100 1100 1100 0010 */
1406 {MOV,"A,PD", 2,10}, /* c3: 0100 1100 1100 0011 */
1407 {illegal,0, 2,10}, /* c4: 0100 1100 1100 0100 */
1408 {MOV,"A,PF", 2,10}, /* c5: 0100 1100 1100 0101 */
1409 {MOV,"A,MKH", 2,10}, /* c6: 0100 1100 1100 0110 */
1410 {MOV,"A,MKL", 2,10}, /* c7: 0100 1100 1100 0111 */
1411 {illegal,0, 2,10}, /* c8: 0100 1100 1100 1000 */
1412 {MOV,"A,SMH", 2,10}, /* c9: 0100 1100 1100 1001 */
1413 {illegal,0, 2,10}, /* ca: 0100 1100 1100 1010 */
1414 {MOV,"A,EOM", 2,10}, /* cb: 0100 1100 1100 1011 */
1415 {illegal,0, 2,10}, /* cc: 0100 1100 1100 1100 */
1416 {MOV,"A,TMM", 2,10}, /* cd: 0100 1100 1100 1101 */
1417 {MOV,"A,PT", 2,10}, /* ce: 0100 1100 1100 1110 */ /* 7807 */
1418 {illegal,0, 2,10}, /* cf: 0100 1100 1100 1111 */
1419
1420 {illegal,0, 2,10}, /* d0: 0100 1100 1101 0000 */
1421 {illegal,0, 2,10}, /* d1: 0100 1100 1101 0001 */
1422 {illegal,0, 2,10}, /* d2: 0100 1100 1101 0010 */
1423 {illegal,0, 2,10}, /* d3: 0100 1100 1101 0011 */
1424 {illegal,0, 2,10}, /* d4: 0100 1100 1101 0100 */
1425 {illegal,0, 2,10}, /* d5: 0100 1100 1101 0101 */
1426 {illegal,0, 2,10}, /* d6: 0100 1100 1101 0110 */
1427 {illegal,0, 2,10}, /* d7: 0100 1100 1101 0111 */
1428 {illegal,0, 2,10}, /* d8: 0100 1100 1101 1000 */
1429 {MOV,"A,RXB", 2,10}, /* d9: 0100 1100 1101 1001 */
1430 {illegal,0, 2,10}, /* da: 0100 1100 1101 1010 */
1431 {illegal,0, 2,10}, /* db: 0100 1100 1101 1011 */
1432 {illegal,0, 2,10}, /* dc: 0100 1100 1101 1100 */
1433 {illegal,0, 2,10}, /* dd: 0100 1100 1101 1101 */
1434 {illegal,0, 2,10}, /* de: 0100 1100 1101 1110 */
1435 {illegal,0, 2,10}, /* df: 0100 1100 1101 1111 */
1436
1437 {illegal,0, 2,10}, /* e0: 0100 1100 1110 0000 */
1438 {illegal,0, 2,10}, /* e1: 0100 1100 1110 0001 */
1439 {illegal,0, 2,10}, /* e2: 0100 1100 1110 0010 */
1440 {illegal,0, 2,10}, /* e3: 0100 1100 1110 0011 */
1441 {illegal,0, 2,10}, /* e4: 0100 1100 1110 0100 */
1442 {illegal,0, 2,10}, /* e5: 0100 1100 1110 0101 */
1443 {illegal,0, 2,10}, /* e6: 0100 1100 1110 0110 */
1444 {illegal,0, 2,10}, /* e7: 0100 1100 1110 0111 */
1445 {illegal,0, 2,10}, /* e8: 0100 1100 1110 1000 */
1446 {illegal,0, 2,10}, /* e9: 0100 1100 1110 1001 */
1447 {illegal,0, 2,10}, /* ea: 0100 1100 1110 1010 */
1448 {illegal,0, 2,10}, /* eb: 0100 1100 1110 1011 */
1449 {illegal,0, 2,10}, /* ec: 0100 1100 1110 1100 */
1450 {illegal,0, 2,10}, /* ed: 0100 1100 1110 1101 */
1451 {illegal,0, 2,10}, /* ee: 0100 1100 1110 1110 */
1452 {illegal,0, 2,10}, /* ef: 0100 1100 1110 1111 */
1453
1454 {illegal,0, 2,10}, /* f0: 0100 1100 1111 0000 */
1455 {illegal,0, 2,10}, /* f1: 0100 1100 1111 0001 */
1456 {illegal,0, 2,10}, /* f2: 0100 1100 1111 0010 */
1457 {illegal,0, 2,10}, /* f3: 0100 1100 1111 0011 */
1458 {illegal,0, 2,10}, /* f4: 0100 1100 1111 0100 */
1459 {illegal,0, 2,10}, /* f5: 0100 1100 1111 0101 */
1460 {illegal,0, 2,10}, /* f6: 0100 1100 1111 0110 */
1461 {illegal,0, 2,10}, /* f7: 0100 1100 1111 0111 */
1462 {illegal,0, 2,10}, /* f8: 0100 1100 1111 1000 */
1463 {illegal,0, 2,10}, /* f9: 0100 1100 1111 1001 */
1464 {illegal,0, 2,10}, /* fa: 0100 1100 1111 1010 */
1465 {illegal,0, 2,10}, /* fb: 0100 1100 1111 1011 */
1466 {illegal,0, 2,10}, /* fc: 0100 1100 1111 1100 */
1467 {illegal,0, 2,10}, /* fd: 0100 1100 1111 1101 */
1468 {illegal,0, 2,10}, /* fe: 0100 1100 1111 1110 */
1469 {illegal,0, 2,10} /* ff: 0100 1100 1111 1111 */
1470 };
1471
1472 /* prefix 4D */
1473 static struct dasm_s dasm4D_7810[256] =
1474 {
1475 {illegal,0, 2, 8}, /* 00: 0100 1101 0000 0000 */
1476 {illegal,0, 2, 8}, /* 01: 0100 1101 0000 0001 */
1477 {illegal,0, 2, 8}, /* 02: 0100 1101 0000 0010 */
1478 {illegal,0, 2, 8}, /* 03: 0100 1101 0000 0011 */
1479 {illegal,0, 2, 8}, /* 04: 0100 1101 0000 0100 */
1480 {illegal,0, 2, 8}, /* 05: 0100 1101 0000 0101 */
1481 {illegal,0, 2, 8}, /* 06: 0100 1101 0000 0110 */
1482 {illegal,0, 2, 8}, /* 07: 0100 1101 0000 0111 */
1483 {illegal,0, 2, 8}, /* 08: 0100 1101 0000 1000 */
1484 {illegal,0, 2, 8}, /* 09: 0100 1101 0000 1001 */
1485 {illegal,0, 2, 8}, /* 0a: 0100 1101 0000 1010 */
1486 {illegal,0, 2, 8}, /* 0b: 0100 1101 0000 1011 */
1487 {illegal,0, 2, 8}, /* 0c: 0100 1101 0000 1100 */
1488 {illegal,0, 2, 8}, /* 0d: 0100 1101 0000 1101 */
1489 {illegal,0, 2, 8}, /* 0e: 0100 1101 0000 1110 */
1490 {illegal,0, 2, 8}, /* 0f: 0100 1101 0000 1111 */
1491
1492 {illegal,0, 2, 8}, /* 10: 0100 1101 0001 0000 */
1493 {illegal,0, 2, 8}, /* 11: 0100 1101 0001 0001 */
1494 {illegal,0, 2, 8}, /* 12: 0100 1101 0001 0010 */
1495 {illegal,0, 2, 8}, /* 13: 0100 1101 0001 0011 */
1496 {illegal,0, 2, 8}, /* 14: 0100 1101 0001 0100 */
1497 {illegal,0, 2, 8}, /* 15: 0100 1101 0001 0101 */
1498 {illegal,0, 2, 8}, /* 16: 0100 1101 0001 0110 */
1499 {illegal,0, 2, 8}, /* 17: 0100 1101 0001 0111 */
1500 {illegal,0, 2, 8}, /* 18: 0100 1101 0001 1000 */
1501 {illegal,0, 2, 8}, /* 19: 0100 1101 0001 1001 */
1502 {illegal,0, 2, 8}, /* 1a: 0100 1101 0001 1010 */
1503 {illegal,0, 2, 8}, /* 1b: 0100 1101 0001 1011 */
1504 {illegal,0, 2, 8}, /* 1c: 0100 1101 0001 1100 */
1505 {illegal,0, 2, 8}, /* 1d: 0100 1101 0001 1101 */
1506 {illegal,0, 2, 8}, /* 1e: 0100 1101 0001 1110 */
1507 {illegal,0, 2, 8}, /* 1f: 0100 1101 0001 1111 */
1508
1509 {illegal,0, 2, 8}, /* 20: 0100 1101 0010 0000 */
1510 {illegal,0, 2, 8}, /* 21: 0100 1101 0010 0001 */
1511 {illegal,0, 2, 8}, /* 22: 0100 1101 0010 0010 */
1512 {illegal,0, 2, 8}, /* 23: 0100 1101 0010 0011 */
1513 {illegal,0, 2, 8}, /* 24: 0100 1101 0010 0100 */
1514 {illegal,0, 2, 8}, /* 25: 0100 1101 0010 0101 */
1515 {illegal,0, 2, 8}, /* 26: 0100 1101 0010 0110 */
1516 {illegal,0, 2, 8}, /* 27: 0100 1101 0010 0111 */
1517 {illegal,0, 2, 8}, /* 28: 0100 1101 0010 1000 */
1518 {illegal,0, 2, 8}, /* 29: 0100 1101 0010 1001 */
1519 {illegal,0, 2, 8}, /* 2a: 0100 1101 0010 1010 */
1520 {illegal,0, 2, 8}, /* 2b: 0100 1101 0010 1011 */
1521 {illegal,0, 2, 8}, /* 2c: 0100 1101 0010 1100 */
1522 {illegal,0, 2, 8}, /* 2d: 0100 1101 0010 1101 */
1523 {illegal,0, 2, 8}, /* 2e: 0100 1101 0010 1110 */
1524 {illegal,0, 2, 8}, /* 2f: 0100 1101 0010 1111 */
1525
1526 {illegal,0, 2, 8}, /* 30: 0100 1101 0011 0000 */
1527 {illegal,0, 2, 8}, /* 31: 0100 1101 0011 0001 */
1528 {illegal,0, 2, 8}, /* 32: 0100 1101 0011 0010 */
1529 {illegal,0, 2, 8}, /* 33: 0100 1101 0011 0011 */
1530 {illegal,0, 2, 8}, /* 34: 0100 1101 0011 0100 */
1531 {illegal,0, 2, 8}, /* 35: 0100 1101 0011 0101 */
1532 {illegal,0, 2, 8}, /* 36: 0100 1101 0011 0110 */
1533 {illegal,0, 2, 8}, /* 37: 0100 1101 0011 0111 */
1534 {illegal,0, 2, 8}, /* 38: 0100 1101 0011 1000 */
1535 {illegal,0, 2, 8}, /* 39: 0100 1101 0011 1001 */
1536 {illegal,0, 2, 8}, /* 3a: 0100 1101 0011 1010 */
1537 {illegal,0, 2, 8}, /* 3b: 0100 1101 0011 1011 */
1538 {illegal,0, 2, 8}, /* 3c: 0100 1101 0011 1100 */
1539 {illegal,0, 2, 8}, /* 3d: 0100 1101 0011 1101 */
1540 {illegal,0, 2, 8}, /* 3e: 0100 1101 0011 1110 */
1541 {illegal,0, 2, 8}, /* 3f: 0100 1101 0011 1111 */
1542
1543 {illegal,0, 2, 8}, /* 40: 0100 1101 0100 0000 */
1544 {illegal,0, 2, 8}, /* 41: 0100 1101 0100 0001 */
1545 {illegal,0, 2, 8}, /* 42: 0100 1101 0100 0010 */
1546 {illegal,0, 2, 8}, /* 43: 0100 1101 0100 0011 */
1547 {illegal,0, 2, 8}, /* 44: 0100 1101 0100 0100 */
1548 {illegal,0, 2, 8}, /* 45: 0100 1101 0100 0101 */
1549 {illegal,0, 2, 8}, /* 46: 0100 1101 0100 0110 */
1550 {illegal,0, 2, 8}, /* 47: 0100 1101 0100 0111 */
1551 {illegal,0, 2, 8}, /* 48: 0100 1101 0100 1000 */
1552 {illegal,0, 2, 8}, /* 49: 0100 1101 0100 1001 */
1553 {illegal,0, 2, 8}, /* 4a: 0100 1101 0100 1010 */
1554 {illegal,0, 2, 8}, /* 4b: 0100 1101 0100 1011 */
1555 {illegal,0, 2, 8}, /* 4c: 0100 1101 0100 1100 */
1556 {illegal,0, 2, 8}, /* 4d: 0100 1101 0100 1101 */
1557 {illegal,0, 2, 8}, /* 4e: 0100 1101 0100 1110 */
1558 {illegal,0, 2, 8}, /* 4f: 0100 1101 0100 1111 */
1559
1560 {illegal,0, 2, 8}, /* 50: 0100 1101 0101 0000 */
1561 {illegal,0, 2, 8}, /* 51: 0100 1101 0101 0001 */
1562 {illegal,0, 2, 8}, /* 52: 0100 1101 0101 0010 */
1563 {illegal,0, 2, 8}, /* 53: 0100 1101 0101 0011 */
1564 {illegal,0, 2, 8}, /* 54: 0100 1101 0101 0100 */
1565 {illegal,0, 2, 8}, /* 55: 0100 1101 0101 0101 */
1566 {illegal,0, 2, 8}, /* 56: 0100 1101 0101 0110 */
1567 {illegal,0, 2, 8}, /* 57: 0100 1101 0101 0111 */
1568 {illegal,0, 2, 8}, /* 58: 0100 1101 0101 1000 */
1569 {illegal,0, 2, 8}, /* 59: 0100 1101 0101 1001 */
1570 {illegal,0, 2, 8}, /* 5a: 0100 1101 0101 1010 */
1571 {illegal,0, 2, 8}, /* 5b: 0100 1101 0101 1011 */
1572 {illegal,0, 2, 8}, /* 5c: 0100 1101 0101 1100 */
1573 {illegal,0, 2, 8}, /* 5d: 0100 1101 0101 1101 */
1574 {illegal,0, 2, 8}, /* 5e: 0100 1101 0101 1110 */
1575 {illegal,0, 2, 8}, /* 5f: 0100 1101 0101 1111 */
1576
1577 {illegal,0, 2, 8}, /* 60: 0100 1101 0110 0000 */
1578 {illegal,0, 2, 8}, /* 61: 0100 1101 0110 0001 */
1579 {illegal,0, 2, 8}, /* 62: 0100 1101 0110 0010 */
1580 {illegal,0, 2, 8}, /* 63: 0100 1101 0110 0011 */
1581 {illegal,0, 2, 8}, /* 64: 0100 1101 0110 0100 */
1582 {illegal,0, 2, 8}, /* 65: 0100 1101 0110 0101 */
1583 {illegal,0, 2, 8}, /* 66: 0100 1101 0110 0110 */
1584 {illegal,0, 2, 8}, /* 67: 0100 1101 0110 0111 */
1585 {illegal,0, 2, 8}, /* 68: 0100 1101 0110 1000 */
1586 {illegal,0, 2, 8}, /* 69: 0100 1101 0110 1001 */
1587 {illegal,0, 2, 8}, /* 6a: 0100 1101 0110 1010 */
1588 {illegal,0, 2, 8}, /* 6b: 0100 1101 0110 1011 */
1589 {illegal,0, 2, 8}, /* 6c: 0100 1101 0110 1100 */
1590 {illegal,0, 2, 8}, /* 6d: 0100 1101 0110 1101 */
1591 {illegal,0, 2, 8}, /* 6e: 0100 1101 0110 1110 */
1592 {illegal,0, 2, 8}, /* 6f: 0100 1101 0110 1111 */
1593
1594 {illegal,0, 2, 8}, /* 70: 0100 1101 0111 0000 */
1595 {illegal,0, 2, 8}, /* 71: 0100 1101 0111 0001 */
1596 {illegal,0, 2, 8}, /* 72: 0100 1101 0111 0010 */
1597 {illegal,0, 2, 8}, /* 73: 0100 1101 0111 0011 */
1598 {illegal,0, 2, 8}, /* 74: 0100 1101 0111 0100 */
1599 {illegal,0, 2, 8}, /* 75: 0100 1101 0111 0101 */
1600 {illegal,0, 2, 8}, /* 76: 0100 1101 0111 0110 */
1601 {illegal,0, 2, 8}, /* 77: 0100 1101 0111 0111 */
1602 {illegal,0, 2, 8}, /* 78: 0100 1101 0111 1000 */
1603 {illegal,0, 2, 8}, /* 79: 0100 1101 0111 1001 */
1604 {illegal,0, 2, 8}, /* 7a: 0100 1101 0111 1010 */
1605 {illegal,0, 2, 8}, /* 7b: 0100 1101 0111 1011 */
1606 {illegal,0, 2, 8}, /* 7c: 0100 1101 0111 1100 */
1607 {illegal,0, 2, 8}, /* 7d: 0100 1101 0111 1101 */
1608 {illegal,0, 2, 8}, /* 7e: 0100 1101 0111 1110 */
1609 {illegal,0, 2, 8}, /* 7f: 0100 1101 0111 1111 */
1610
1611 {illegal,0, 2, 8}, /* 80: 0100 1101 1000 0000 */
1612 {illegal,0, 2, 8}, /* 81: 0100 1101 1000 0001 */
1613 {illegal,0, 2, 8}, /* 82: 0100 1101 1000 0010 */
1614 {illegal,0, 2, 8}, /* 83: 0100 1101 1000 0011 */
1615 {illegal,0, 2, 8}, /* 84: 0100 1101 1000 0100 */
1616 {illegal,0, 2, 8}, /* 85: 0100 1101 1000 0101 */
1617 {illegal,0, 2, 8}, /* 86: 0100 1101 1000 0110 */
1618 {illegal,0, 2, 8}, /* 87: 0100 1101 1000 0111 */
1619 {illegal,0, 2, 8}, /* 88: 0100 1101 1000 1000 */
1620 {illegal,0, 2, 8}, /* 89: 0100 1101 1000 1001 */
1621 {illegal,0, 2, 8}, /* 8a: 0100 1101 1000 1010 */
1622 {illegal,0, 2, 8}, /* 8b: 0100 1101 1000 1011 */
1623 {illegal,0, 2, 8}, /* 8c: 0100 1101 1000 1100 */
1624 {illegal,0, 2, 8}, /* 8d: 0100 1101 1000 1101 */
1625 {illegal,0, 2, 8}, /* 8e: 0100 1101 1000 1110 */
1626 {illegal,0, 2, 8}, /* 8f: 0100 1101 1000 1111 */
1627
1628 {illegal,0, 2, 8}, /* 90: 0100 1101 1001 0000 */
1629 {illegal,0, 2, 8}, /* 91: 0100 1101 1001 0001 */
1630 {illegal,0, 2, 8}, /* 92: 0100 1101 1001 0010 */
1631 {illegal,0, 2, 8}, /* 93: 0100 1101 1001 0011 */
1632 {illegal,0, 2, 8}, /* 94: 0100 1101 1001 0100 */
1633 {illegal,0, 2, 8}, /* 95: 0100 1101 1001 0101 */
1634 {illegal,0, 2, 8}, /* 96: 0100 1101 1001 0110 */
1635 {illegal,0, 2, 8}, /* 97: 0100 1101 1001 0111 */
1636 {illegal,0, 2, 8}, /* 98: 0100 1101 1001 1000 */
1637 {illegal,0, 2, 8}, /* 99: 0100 1101 1001 1001 */
1638 {illegal,0, 2, 8}, /* 9a: 0100 1101 1001 1010 */
1639 {illegal,0, 2, 8}, /* 9b: 0100 1101 1001 1011 */
1640 {illegal,0, 2, 8}, /* 9c: 0100 1101 1001 1100 */
1641 {illegal,0, 2, 8}, /* 9d: 0100 1101 1001 1101 */
1642 {illegal,0, 2, 8}, /* 9e: 0100 1101 1001 1110 */
1643 {illegal,0, 2, 8}, /* 9f: 0100 1101 1001 1111 */
1644
1645 {illegal,0, 2, 8}, /* a0: 0100 1101 1010 0000 */
1646 {illegal,0, 2, 8}, /* a1: 0100 1101 1010 0001 */
1647 {illegal,0, 2, 8}, /* a2: 0100 1101 1010 0010 */
1648 {illegal,0, 2, 8}, /* a3: 0100 1101 1010 0011 */
1649 {illegal,0, 2, 8}, /* a4: 0100 1101 1010 0100 */
1650 {illegal,0, 2, 8}, /* a5: 0100 1101 1010 0101 */
1651 {illegal,0, 2, 8}, /* a6: 0100 1101 1010 0110 */
1652 {illegal,0, 2, 8}, /* a7: 0100 1101 1010 0111 */
1653 {illegal,0, 2, 8}, /* a8: 0100 1101 1010 1000 */
1654 {illegal,0, 2, 8}, /* a9: 0100 1101 1010 1001 */
1655 {illegal,0, 2, 8}, /* aa: 0100 1101 1010 1010 */
1656 {illegal,0, 2, 8}, /* ab: 0100 1101 1010 1011 */
1657 {illegal,0, 2, 8}, /* ac: 0100 1101 1010 1100 */
1658 {illegal,0, 2, 8}, /* ad: 0100 1101 1010 1101 */
1659 {illegal,0, 2, 8}, /* ae: 0100 1101 1010 1110 */
1660 {illegal,0, 2, 8}, /* af: 0100 1101 1010 1111 */
1661
1662 {illegal,0, 2, 8}, /* b0: 0100 1101 1011 0000 */
1663 {illegal,0, 2, 8}, /* b1: 0100 1101 1011 0001 */
1664 {illegal,0, 2, 8}, /* b2: 0100 1101 1011 0010 */
1665 {illegal,0, 2, 8}, /* b3: 0100 1101 1011 0011 */
1666 {illegal,0, 2, 8}, /* b4: 0100 1101 1011 0100 */
1667 {illegal,0, 2, 8}, /* b5: 0100 1101 1011 0101 */
1668 {illegal,0, 2, 8}, /* b6: 0100 1101 1011 0110 */
1669 {illegal,0, 2, 8}, /* b7: 0100 1101 1011 0111 */
1670 {illegal,0, 2, 8}, /* b8: 0100 1101 1011 1000 */
1671 {illegal,0, 2, 8}, /* b9: 0100 1101 1011 1001 */
1672 {illegal,0, 2, 8}, /* ba: 0100 1101 1011 1010 */
1673 {illegal,0, 2, 8}, /* bb: 0100 1101 1011 1011 */
1674 {illegal,0, 2, 8}, /* bc: 0100 1101 1011 1100 */
1675 {illegal,0, 2, 8}, /* bd: 0100 1101 1011 1101 */
1676 {illegal,0, 2, 8}, /* be: 0100 1101 1011 1110 */
1677 {illegal,0, 2, 8}, /* bf: 0100 1101 1011 1111 */
1678
1679 {MOV,"PA,A", 2,10}, /* c0: 0100 1101 1100 0000 */
1680 {MOV,"PB,A", 2,10}, /* c1: 0100 1101 1100 0001 */
1681 {MOV,"PC,A", 2,10}, /* c2: 0100 1101 1100 0010 */
1682 {MOV,"PD,A", 2,10}, /* c3: 0100 1101 1100 0011 */
1683 {illegal,0, 2,10}, /* c4: 0100 1101 1100 0100 */
1684 {MOV,"PF,A", 2,10}, /* c5: 0100 1101 1100 0101 */
1685 {MOV,"MKH,A", 2,10}, /* c6: 0100 1101 1100 0110 */
1686 {MOV,"MKL,A", 2,10}, /* c7: 0100 1101 1100 0111 */
1687 {MOV,"ANM,A", 2,10}, /* c8: 0100 1101 1100 1000 */ /* 7810 */
1688 {MOV,"SMH,A", 2,10}, /* c9: 0100 1101 1100 1001 */
1689 {MOV,"SML,A", 2,10}, /* ca: 0100 1101 1100 1010 */
1690 {MOV,"EOM,A", 2,10}, /* cb: 0100 1101 1100 1011 */
1691 {MOV,"ETMM,A", 2,10}, /* cc: 0100 1101 1100 1100 */
1692 {MOV,"TMM,A", 2,10}, /* cd: 0100 1101 1100 1101 */
1693 {illegal,0, 2,10}, /* ce: 0100 1101 1100 1110 */
1694 {illegal,0, 2,10}, /* cf: 0100 1101 1100 1111 */
1695
1696 {MOV,"MM,A", 2,10}, /* d0: 0100 1101 1101 0000 */
1697 {MOV,"MCC,A", 2,10}, /* d1: 0100 1101 1101 0001 */
1698 {MOV,"MA,A", 2,10}, /* d2: 0100 1101 1101 0010 */
1699 {MOV,"MB,A", 2,10}, /* d3: 0100 1101 1101 0011 */
1700 {MOV,"MC,A", 2,10}, /* d4: 0100 1101 1101 0100 */
1701 {illegal,0, 2,10}, /* d5: 0100 1101 1101 0101 */
1702 {illegal,0, 2,10}, /* d6: 0100 1101 1101 0110 */
1703 {MOV,"MF,A", 2,10}, /* d7: 0100 1101 1101 0111 */
1704 {MOV,"TXB,A", 2,10}, /* d8: 0100 1101 1101 1000 */
1705 {illegal,0, 2,10}, /* d9: 0100 1101 1101 1001 */
1706 {MOV,"TM0,A", 2,10}, /* da: 0100 1101 1101 1010 */
1707 {MOV,"TM1,A", 2,10}, /* db: 0100 1101 1101 1011 */
1708 {illegal,0, 2,10}, /* dc: 0100 1101 1101 1100 */
1709 {illegal,0, 2,10}, /* dd: 0100 1101 1101 1101 */
1710 {illegal,0, 2,10}, /* de: 0100 1101 1101 1110 */
1711 {illegal,0, 2,10}, /* df: 0100 1101 1101 1111 */
1712
1713 {illegal,0, 2,10}, /* e0: 0100 1101 1110 0000 */
1714 {illegal,0, 2,10}, /* e1: 0100 1101 1110 0001 */
1715 {illegal,0, 2,10}, /* e2: 0100 1101 1110 0010 */
1716 {illegal,0, 2,10}, /* e3: 0100 1101 1110 0011 */
1717 {illegal,0, 2,10}, /* e4: 0100 1101 1110 0100 */
1718 {illegal,0, 2,10}, /* e5: 0100 1101 1110 0101 */
1719 {illegal,0, 2,10}, /* e6: 0100 1101 1110 0110 */
1720 {illegal,0, 2,10}, /* e7: 0100 1101 1110 0111 */
1721 {MOV,"ZCM,A", 2,10}, /* e8: 0100 1101 1110 1000 */ /* 7810 */
1722 {illegal,0, 2,10}, /* e9: 0100 1101 1110 1001 */
1723 {illegal,0, 2,10}, /* ea: 0100 1101 1110 1010 */
1724 {illegal,0, 2,10}, /* eb: 0100 1101 1110 1011 */
1725 {illegal,0, 2,10}, /* ec: 0100 1101 1110 1100 */
1726 {illegal,0, 2,10}, /* ed: 0100 1101 1110 1101 */
1727 {illegal,0, 2,10}, /* ee: 0100 1101 1110 1110 */
1728 {illegal,0, 2,10}, /* ef: 0100 1101 1110 1111 */
1729
1730 {illegal,0, 2,10}, /* f0: 0100 1101 1111 0000 */
1731 {illegal,0, 2,10}, /* f1: 0100 1101 1111 0001 */
1732 {illegal,0, 2,10}, /* f2: 0100 1101 1111 0010 */
1733 {illegal,0, 2,10}, /* f3: 0100 1101 1111 0011 */
1734 {illegal,0, 2,10}, /* f4: 0100 1101 1111 0100 */
1735 {illegal,0, 2,10}, /* f5: 0100 1101 1111 0101 */
1736 {illegal,0, 2,10}, /* f6: 0100 1101 1111 0110 */
1737 {illegal,0, 2,10}, /* f7: 0100 1101 1111 0111 */
1738 {illegal,0, 2,10}, /* f8: 0100 1101 1111 1000 */
1739 {illegal,0, 2,10}, /* f9: 0100 1101 1111 1001 */
1740 {illegal,0, 2,10}, /* fa: 0100 1101 1111 1010 */
1741 {illegal,0, 2,10}, /* fb: 0100 1101 1111 1011 */
1742 {illegal,0, 2,10}, /* fc: 0100 1101 1111 1100 */
1743 {illegal,0, 2,10}, /* fd: 0100 1101 1111 1101 */
1744 {illegal,0, 2,10}, /* fe: 0100 1101 1111 1110 */
1745 {illegal,0, 2,10} /* ff: 0100 1101 1111 1111 */
1746 };
1747
1748 static struct dasm_s dasm4D_7807[256] =
1749 {
1750 {illegal,0, 2, 8}, /* 00: 0100 1101 0000 0000 */
1751 {illegal,0, 2, 8}, /* 01: 0100 1101 0000 0001 */
1752 {illegal,0, 2, 8}, /* 02: 0100 1101 0000 0010 */
1753 {illegal,0, 2, 8}, /* 03: 0100 1101 0000 0011 */
1754 {illegal,0, 2, 8}, /* 04: 0100 1101 0000 0100 */
1755 {illegal,0, 2, 8}, /* 05: 0100 1101 0000 0101 */
1756 {illegal,0, 2, 8}, /* 06: 0100 1101 0000 0110 */
1757 {illegal,0, 2, 8}, /* 07: 0100 1101 0000 0111 */
1758 {illegal,0, 2, 8}, /* 08: 0100 1101 0000 1000 */
1759 {illegal,0, 2, 8}, /* 09: 0100 1101 0000 1001 */
1760 {illegal,0, 2, 8}, /* 0a: 0100 1101 0000 1010 */
1761 {illegal,0, 2, 8}, /* 0b: 0100 1101 0000 1011 */
1762 {illegal,0, 2, 8}, /* 0c: 0100 1101 0000 1100 */
1763 {illegal,0, 2, 8}, /* 0d: 0100 1101 0000 1101 */
1764 {illegal,0, 2, 8}, /* 0e: 0100 1101 0000 1110 */
1765 {illegal,0, 2, 8}, /* 0f: 0100 1101 0000 1111 */
1766
1767 {illegal,0, 2, 8}, /* 10: 0100 1101 0001 0000 */
1768 {illegal,0, 2, 8}, /* 11: 0100 1101 0001 0001 */
1769 {illegal,0, 2, 8}, /* 12: 0100 1101 0001 0010 */
1770 {illegal,0, 2, 8}, /* 13: 0100 1101 0001 0011 */
1771 {illegal,0, 2, 8}, /* 14: 0100 1101 0001 0100 */
1772 {illegal,0, 2, 8}, /* 15: 0100 1101 0001 0101 */
1773 {illegal,0, 2, 8}, /* 16: 0100 1101 0001 0110 */
1774 {illegal,0, 2, 8}, /* 17: 0100 1101 0001 0111 */
1775 {illegal,0, 2, 8}, /* 18: 0100 1101 0001 1000 */
1776 {illegal,0, 2, 8}, /* 19: 0100 1101 0001 1001 */
1777 {illegal,0, 2, 8}, /* 1a: 0100 1101 0001 1010 */
1778 {illegal,0, 2, 8}, /* 1b: 0100 1101 0001 1011 */
1779 {illegal,0, 2, 8}, /* 1c: 0100 1101 0001 1100 */
1780 {illegal,0, 2, 8}, /* 1d: 0100 1101 0001 1101 */
1781 {illegal,0, 2, 8}, /* 1e: 0100 1101 0001 1110 */
1782 {illegal,0, 2, 8}, /* 1f: 0100 1101 0001 1111 */
1783
1784 {illegal,0, 2, 8}, /* 20: 0100 1101 0010 0000 */
1785 {illegal,0, 2, 8}, /* 21: 0100 1101 0010 0001 */
1786 {illegal,0, 2, 8}, /* 22: 0100 1101 0010 0010 */
1787 {illegal,0, 2, 8}, /* 23: 0100 1101 0010 0011 */
1788 {illegal,0, 2, 8}, /* 24: 0100 1101 0010 0100 */
1789 {illegal,0, 2, 8}, /* 25: 0100 1101 0010 0101 */
1790 {illegal,0, 2, 8}, /* 26: 0100 1101 0010 0110 */
1791 {illegal,0, 2, 8}, /* 27: 0100 1101 0010 0111 */
1792 {illegal,0, 2, 8}, /* 28: 0100 1101 0010 1000 */
1793 {illegal,0, 2, 8}, /* 29: 0100 1101 0010 1001 */
1794 {illegal,0, 2, 8}, /* 2a: 0100 1101 0010 1010 */
1795 {illegal,0, 2, 8}, /* 2b: 0100 1101 0010 1011 */
1796 {illegal,0, 2, 8}, /* 2c: 0100 1101 0010 1100 */
1797 {illegal,0, 2, 8}, /* 2d: 0100 1101 0010 1101 */
1798 {illegal,0, 2, 8}, /* 2e: 0100 1101 0010 1110 */
1799 {illegal,0, 2, 8}, /* 2f: 0100 1101 0010 1111 */
1800
1801 {illegal,0, 2, 8}, /* 30: 0100 1101 0011 0000 */
1802 {illegal,0, 2, 8}, /* 31: 0100 1101 0011 0001 */
1803 {illegal,0, 2, 8}, /* 32: 0100 1101 0011 0010 */
1804 {illegal,0, 2, 8}, /* 33: 0100 1101 0011 0011 */
1805 {illegal,0, 2, 8}, /* 34: 0100 1101 0011 0100 */
1806 {illegal,0, 2, 8}, /* 35: 0100 1101 0011 0101 */
1807 {illegal,0, 2, 8}, /* 36: 0100 1101 0011 0110 */
1808 {illegal,0, 2, 8}, /* 37: 0100 1101 0011 0111 */
1809 {illegal,0, 2, 8}, /* 38: 0100 1101 0011 1000 */
1810 {illegal,0, 2, 8}, /* 39: 0100 1101 0011 1001 */
1811 {illegal,0, 2, 8}, /* 3a: 0100 1101 0011 1010 */
1812 {illegal,0, 2, 8}, /* 3b: 0100 1101 0011 1011 */
1813 {illegal,0, 2, 8}, /* 3c: 0100 1101 0011 1100 */
1814 {illegal,0, 2, 8}, /* 3d: 0100 1101 0011 1101 */
1815 {illegal,0, 2, 8}, /* 3e: 0100 1101 0011 1110 */
1816 {illegal,0, 2, 8}, /* 3f: 0100 1101 0011 1111 */
1817
1818 {illegal,0, 2, 8}, /* 40: 0100 1101 0100 0000 */
1819 {illegal,0, 2, 8}, /* 41: 0100 1101 0100 0001 */
1820 {illegal,0, 2, 8}, /* 42: 0100 1101 0100 0010 */
1821 {illegal,0, 2, 8}, /* 43: 0100 1101 0100 0011 */
1822 {illegal,0, 2, 8}, /* 44: 0100 1101 0100 0100 */
1823 {illegal,0, 2, 8}, /* 45: 0100 1101 0100 0101 */
1824 {illegal,0, 2, 8}, /* 46: 0100 1101 0100 0110 */
1825 {illegal,0, 2, 8}, /* 47: 0100 1101 0100 0111 */
1826 {illegal,0, 2, 8}, /* 48: 0100 1101 0100 1000 */
1827 {illegal,0, 2, 8}, /* 49: 0100 1101 0100 1001 */
1828 {illegal,0, 2, 8}, /* 4a: 0100 1101 0100 1010 */
1829 {illegal,0, 2, 8}, /* 4b: 0100 1101 0100 1011 */
1830 {illegal,0, 2, 8}, /* 4c: 0100 1101 0100 1100 */
1831 {illegal,0, 2, 8}, /* 4d: 0100 1101 0100 1101 */
1832 {illegal,0, 2, 8}, /* 4e: 0100 1101 0100 1110 */
1833 {illegal,0, 2, 8}, /* 4f: 0100 1101 0100 1111 */
1834
1835 {illegal,0, 2, 8}, /* 50: 0100 1101 0101 0000 */
1836 {illegal,0, 2, 8}, /* 51: 0100 1101 0101 0001 */
1837 {illegal,0, 2, 8}, /* 52: 0100 1101 0101 0010 */
1838 {illegal,0, 2, 8}, /* 53: 0100 1101 0101 0011 */
1839 {illegal,0, 2, 8}, /* 54: 0100 1101 0101 0100 */
1840 {illegal,0, 2, 8}, /* 55: 0100 1101 0101 0101 */
1841 {illegal,0, 2, 8}, /* 56: 0100 1101 0101 0110 */
1842 {illegal,0, 2, 8}, /* 57: 0100 1101 0101 0111 */
1843 {illegal,0, 2, 8}, /* 58: 0100 1101 0101 1000 */
1844 {illegal,0, 2, 8}, /* 59: 0100 1101 0101 1001 */
1845 {illegal,0, 2, 8}, /* 5a: 0100 1101 0101 1010 */
1846 {illegal,0, 2, 8}, /* 5b: 0100 1101 0101 1011 */
1847 {illegal,0, 2, 8}, /* 5c: 0100 1101 0101 1100 */
1848 {illegal,0, 2, 8}, /* 5d: 0100 1101 0101 1101 */
1849 {illegal,0, 2, 8}, /* 5e: 0100 1101 0101 1110 */
1850 {illegal,0, 2, 8}, /* 5f: 0100 1101 0101 1111 */
1851
1852 {illegal,0, 2, 8}, /* 60: 0100 1101 0110 0000 */
1853 {illegal,0, 2, 8}, /* 61: 0100 1101 0110 0001 */
1854 {illegal,0, 2, 8}, /* 62: 0100 1101 0110 0010 */
1855 {illegal,0, 2, 8}, /* 63: 0100 1101 0110 0011 */
1856 {illegal,0, 2, 8}, /* 64: 0100 1101 0110 0100 */
1857 {illegal,0, 2, 8}, /* 65: 0100 1101 0110 0101 */
1858 {illegal,0, 2, 8}, /* 66: 0100 1101 0110 0110 */
1859 {illegal,0, 2, 8}, /* 67: 0100 1101 0110 0111 */
1860 {illegal,0, 2, 8}, /* 68: 0100 1101 0110 1000 */
1861 {illegal,0, 2, 8}, /* 69: 0100 1101 0110 1001 */
1862 {illegal,0, 2, 8}, /* 6a: 0100 1101 0110 1010 */
1863 {illegal,0, 2, 8}, /* 6b: 0100 1101 0110 1011 */
1864 {illegal,0, 2, 8}, /* 6c: 0100 1101 0110 1100 */
1865 {illegal,0, 2, 8}, /* 6d: 0100 1101 0110 1101 */
1866 {illegal,0, 2, 8}, /* 6e: 0100 1101 0110 1110 */
1867 {illegal,0, 2, 8}, /* 6f: 0100 1101 0110 1111 */
1868
1869 {illegal,0, 2, 8}, /* 70: 0100 1101 0111 0000 */
1870 {illegal,0, 2, 8}, /* 71: 0100 1101 0111 0001 */
1871 {illegal,0, 2, 8}, /* 72: 0100 1101 0111 0010 */
1872 {illegal,0, 2, 8}, /* 73: 0100 1101 0111 0011 */
1873 {illegal,0, 2, 8}, /* 74: 0100 1101 0111 0100 */
1874 {illegal,0, 2, 8}, /* 75: 0100 1101 0111 0101 */
1875 {illegal,0, 2, 8}, /* 76: 0100 1101 0111 0110 */
1876 {illegal,0, 2, 8}, /* 77: 0100 1101 0111 0111 */
1877 {illegal,0, 2, 8}, /* 78: 0100 1101 0111 1000 */
1878 {illegal,0, 2, 8}, /* 79: 0100 1101 0111 1001 */
1879 {illegal,0, 2, 8}, /* 7a: 0100 1101 0111 1010 */
1880 {illegal,0, 2, 8}, /* 7b: 0100 1101 0111 1011 */
1881 {illegal,0, 2, 8}, /* 7c: 0100 1101 0111 1100 */
1882 {illegal,0, 2, 8}, /* 7d: 0100 1101 0111 1101 */
1883 {illegal,0, 2, 8}, /* 7e: 0100 1101 0111 1110 */
1884 {illegal,0, 2, 8}, /* 7f: 0100 1101 0111 1111 */
1885
1886 {illegal,0, 2, 8}, /* 80: 0100 1101 1000 0000 */
1887 {illegal,0, 2, 8}, /* 81: 0100 1101 1000 0001 */
1888 {illegal,0, 2, 8}, /* 82: 0100 1101 1000 0010 */
1889 {illegal,0, 2, 8}, /* 83: 0100 1101 1000 0011 */
1890 {illegal,0, 2, 8}, /* 84: 0100 1101 1000 0100 */
1891 {illegal,0, 2, 8}, /* 85: 0100 1101 1000 0101 */
1892 {illegal,0, 2, 8}, /* 86: 0100 1101 1000 0110 */
1893 {illegal,0, 2, 8}, /* 87: 0100 1101 1000 0111 */
1894 {illegal,0, 2, 8}, /* 88: 0100 1101 1000 1000 */
1895 {illegal,0, 2, 8}, /* 89: 0100 1101 1000 1001 */
1896 {illegal,0, 2, 8}, /* 8a: 0100 1101 1000 1010 */
1897 {illegal,0, 2, 8}, /* 8b: 0100 1101 1000 1011 */
1898 {illegal,0, 2, 8}, /* 8c: 0100 1101 1000 1100 */
1899 {illegal,0, 2, 8}, /* 8d: 0100 1101 1000 1101 */
1900 {illegal,0, 2, 8}, /* 8e: 0100 1101 1000 1110 */
1901 {illegal,0, 2, 8}, /* 8f: 0100 1101 1000 1111 */
1902
1903 {illegal,0, 2, 8}, /* 90: 0100 1101 1001 0000 */
1904 {illegal,0, 2, 8}, /* 91: 0100 1101 1001 0001 */
1905 {illegal,0, 2, 8}, /* 92: 0100 1101 1001 0010 */
1906 {illegal,0, 2, 8}, /* 93: 0100 1101 1001 0011 */
1907 {illegal,0, 2, 8}, /* 94: 0100 1101 1001 0100 */
1908 {illegal,0, 2, 8}, /* 95: 0100 1101 1001 0101 */
1909 {illegal,0, 2, 8}, /* 96: 0100 1101 1001 0110 */
1910 {illegal,0, 2, 8}, /* 97: 0100 1101 1001 0111 */
1911 {illegal,0, 2, 8}, /* 98: 0100 1101 1001 1000 */
1912 {illegal,0, 2, 8}, /* 99: 0100 1101 1001 1001 */
1913 {illegal,0, 2, 8}, /* 9a: 0100 1101 1001 1010 */
1914 {illegal,0, 2, 8}, /* 9b: 0100 1101 1001 1011 */
1915 {illegal,0, 2, 8}, /* 9c: 0100 1101 1001 1100 */
1916 {illegal,0, 2, 8}, /* 9d: 0100 1101 1001 1101 */
1917 {illegal,0, 2, 8}, /* 9e: 0100 1101 1001 1110 */
1918 {illegal,0, 2, 8}, /* 9f: 0100 1101 1001 1111 */
1919
1920 {illegal,0, 2, 8}, /* a0: 0100 1101 1010 0000 */
1921 {illegal,0, 2, 8}, /* a1: 0100 1101 1010 0001 */
1922 {illegal,0, 2, 8}, /* a2: 0100 1101 1010 0010 */
1923 {illegal,0, 2, 8}, /* a3: 0100 1101 1010 0011 */
1924 {illegal,0, 2, 8}, /* a4: 0100 1101 1010 0100 */
1925 {illegal,0, 2, 8}, /* a5: 0100 1101 1010 0101 */
1926 {illegal,0, 2, 8}, /* a6: 0100 1101 1010 0110 */
1927 {illegal,0, 2, 8}, /* a7: 0100 1101 1010 0111 */
1928 {illegal,0, 2, 8}, /* a8: 0100 1101 1010 1000 */
1929 {illegal,0, 2, 8}, /* a9: 0100 1101 1010 1001 */
1930 {illegal,0, 2, 8}, /* aa: 0100 1101 1010 1010 */
1931 {illegal,0, 2, 8}, /* ab: 0100 1101 1010 1011 */
1932 {illegal,0, 2, 8}, /* ac: 0100 1101 1010 1100 */
1933 {illegal,0, 2, 8}, /* ad: 0100 1101 1010 1101 */
1934 {illegal,0, 2, 8}, /* ae: 0100 1101 1010 1110 */
1935 {illegal,0, 2, 8}, /* af: 0100 1101 1010 1111 */
1936
1937 {illegal,0, 2, 8}, /* b0: 0100 1101 1011 0000 */
1938 {illegal,0, 2, 8}, /* b1: 0100 1101 1011 0001 */
1939 {illegal,0, 2, 8}, /* b2: 0100 1101 1011 0010 */
1940 {illegal,0, 2, 8}, /* b3: 0100 1101 1011 0011 */
1941 {illegal,0, 2, 8}, /* b4: 0100 1101 1011 0100 */
1942 {illegal,0, 2, 8}, /* b5: 0100 1101 1011 0101 */
1943 {illegal,0, 2, 8}, /* b6: 0100 1101 1011 0110 */
1944 {illegal,0, 2, 8}, /* b7: 0100 1101 1011 0111 */
1945 {illegal,0, 2, 8}, /* b8: 0100 1101 1011 1000 */
1946 {illegal,0, 2, 8}, /* b9: 0100 1101 1011 1001 */
1947 {illegal,0, 2, 8}, /* ba: 0100 1101 1011 1010 */
1948 {illegal,0, 2, 8}, /* bb: 0100 1101 1011 1011 */
1949 {illegal,0, 2, 8}, /* bc: 0100 1101 1011 1100 */
1950 {illegal,0, 2, 8}, /* bd: 0100 1101 1011 1101 */
1951 {illegal,0, 2, 8}, /* be: 0100 1101 1011 1110 */
1952 {illegal,0, 2, 8}, /* bf: 0100 1101 1011 1111 */
1953
1954 {MOV,"PA,A", 2,10}, /* c0: 0100 1101 1100 0000 */
1955 {MOV,"PB,A", 2,10}, /* c1: 0100 1101 1100 0001 */
1956 {MOV,"PC,A", 2,10}, /* c2: 0100 1101 1100 0010 */
1957 {MOV,"PD,A", 2,10}, /* c3: 0100 1101 1100 0011 */
1958 {illegal,0, 2,10}, /* c4: 0100 1101 1100 0100 */
1959 {MOV,"PF,A", 2,10}, /* c5: 0100 1101 1100 0101 */
1960 {MOV,"MKH,A", 2,10}, /* c6: 0100 1101 1100 0110 */
1961 {MOV,"MKL,A", 2,10}, /* c7: 0100 1101 1100 0111 */
1962 {illegal,0, 2,10}, /* c8: 0100 1101 1100 1000 */
1963 {MOV,"SMH,A", 2,10}, /* c9: 0100 1101 1100 1001 */
1964 {MOV,"SML,A", 2,10}, /* ca: 0100 1101 1100 1010 */
1965 {MOV,"EOM,A", 2,10}, /* cb: 0100 1101 1100 1011 */
1966 {MOV,"ETMM,A", 2,10}, /* cc: 0100 1101 1100 1100 */
1967 {MOV,"TMM,A", 2,10}, /* cd: 0100 1101 1100 1101 */
1968 {illegal,0, 2,10}, /* ce: 0100 1101 1100 1110 */
1969 {illegal,0, 2,10}, /* cf: 0100 1101 1100 1111 */
1970
1971 {MOV,"MM,A", 2,10}, /* d0: 0100 1101 1101 0000 */
1972 {MOV,"MCC,A", 2,10}, /* d1: 0100 1101 1101 0001 */
1973 {MOV,"MA,A", 2,10}, /* d2: 0100 1101 1101 0010 */
1974 {MOV,"MB,A", 2,10}, /* d3: 0100 1101 1101 0011 */
1975 {MOV,"MC,A", 2,10}, /* d4: 0100 1101 1101 0100 */
1976 {illegal,0, 2,10}, /* d5: 0100 1101 1101 0101 */
1977 {illegal,0, 2,10}, /* d6: 0100 1101 1101 0110 */
1978 {MOV,"MF,A", 2,10}, /* d7: 0100 1101 1101 0111 */
1979 {MOV,"TXB,A", 2,10}, /* d8: 0100 1101 1101 1000 */
1980 {illegal,0, 2,10}, /* d9: 0100 1101 1101 1001 */
1981 {MOV,"TM0,A", 2,10}, /* da: 0100 1101 1101 1010 */
1982 {MOV,"TM1,A", 2,10}, /* db: 0100 1101 1101 1011 */
1983 {illegal,0, 2,10}, /* dc: 0100 1101 1101 1100 */
1984 {illegal,0, 2,10}, /* dd: 0100 1101 1101 1101 */
1985 {illegal,0, 2,10}, /* de: 0100 1101 1101 1110 */
1986 {illegal,0, 2,10}, /* df: 0100 1101 1101 1111 */
1987
1988 {illegal,0, 2,10}, /* e0: 0100 1101 1110 0000 */
1989 {illegal,0, 2,10}, /* e1: 0100 1101 1110 0001 */
1990 {illegal,0, 2,10}, /* e2: 0100 1101 1110 0010 */
1991 {illegal,0, 2,10}, /* e3: 0100 1101 1110 0011 */
1992 {illegal,0, 2,10}, /* e4: 0100 1101 1110 0100 */
1993 {MOV,"MT,A", 2,10}, /* e5: 0100 1101 1110 0101 */ /* 7807 */
1994 {illegal,0, 2,10}, /* e6: 0100 1101 1110 0110 */
1995 {illegal,0, 2,10}, /* e7: 0100 1101 1110 0111 */
1996 {illegal,0, 2,10}, /* e8: 0100 1101 1110 1000 */
1997 {illegal,0, 2,10}, /* e9: 0100 1101 1110 1001 */
1998 {illegal,0, 2,10}, /* ea: 0100 1101 1110 1010 */
1999 {illegal,0, 2,10}, /* eb: 0100 1101 1110 1011 */
2000 {illegal,0, 2,10}, /* ec: 0100 1101 1110 1100 */
2001 {illegal,0, 2,10}, /* ed: 0100 1101 1110 1101 */
2002 {illegal,0, 2,10}, /* ee: 0100 1101 1110 1110 */
2003 {illegal,0, 2,10}, /* ef: 0100 1101 1110 1111 */
2004
2005 {illegal,0, 2,10}, /* f0: 0100 1101 1111 0000 */
2006 {illegal,0, 2,10}, /* f1: 0100 1101 1111 0001 */
2007 {illegal,0, 2,10}, /* f2: 0100 1101 1111 0010 */
2008 {illegal,0, 2,10}, /* f3: 0100 1101 1111 0011 */
2009 {illegal,0, 2,10}, /* f4: 0100 1101 1111 0100 */
2010 {illegal,0, 2,10}, /* f5: 0100 1101 1111 0101 */
2011 {illegal,0, 2,10}, /* f6: 0100 1101 1111 0110 */
2012 {illegal,0, 2,10}, /* f7: 0100 1101 1111 0111 */
2013 {illegal,0, 2,10}, /* f8: 0100 1101 1111 1000 */
2014 {illegal,0, 2,10}, /* f9: 0100 1101 1111 1001 */
2015 {illegal,0, 2,10}, /* fa: 0100 1101 1111 1010 */
2016 {illegal,0, 2,10}, /* fb: 0100 1101 1111 1011 */
2017 {illegal,0, 2,10}, /* fc: 0100 1101 1111 1100 */
2018 {illegal,0, 2,10}, /* fd: 0100 1101 1111 1101 */
2019 {illegal,0, 2,10}, /* fe: 0100 1101 1111 1110 */
2020 {illegal,0, 2,10} /* ff: 0100 1101 1111 1111 */
2021 };
2022
2023 /* prefix 60 */
2024 static struct dasm_s dasm60[256] =
2025 {
2026 {illegal,0, 2, 8}, /* 00: 0110 0000 0000 0000 */
2027 {illegal,0, 2, 8}, /* 01: 0110 0000 0000 0001 */
2028 {illegal,0, 2, 8}, /* 02: 0110 0000 0000 0010 */
2029 {illegal,0, 2, 8}, /* 03: 0110 0000 0000 0011 */
2030 {illegal,0, 2, 8}, /* 04: 0110 0000 0000 0100 */
2031 {illegal,0, 2, 8}, /* 05: 0110 0000 0000 0101 */
2032 {illegal,0, 2, 8}, /* 06: 0110 0000 0000 0110 */
2033 {illegal,0, 2, 8}, /* 07: 0110 0000 0000 0111 */
2034 {ANA,"V,A", 2, 8}, /* 08: 0110 0000 0000 1000 */
2035 {ANA,"A,A", 2, 8}, /* 09: 0110 0000 0000 1001 */
2036 {ANA,"B,A", 2, 8}, /* 0a: 0110 0000 0000 1010 */
2037 {ANA,"C,A", 2, 8}, /* 0b: 0110 0000 0000 1011 */
2038 {ANA,"D,A", 2, 8}, /* 0c: 0110 0000 0000 1100 */
2039 {ANA,"E,A", 2, 8}, /* 0d: 0110 0000 0000 1101 */
2040 {ANA,"H,A", 2, 8}, /* 0e: 0110 0000 0000 1110 */
2041 {ANA,"L,A", 2, 8}, /* 0f: 0110 0000 0000 1111 */
2042
2043 {XRA,"V,A", 2, 8}, /* 10: 0110 0000 0001 0000 */
2044 {XRA,"A,A", 2, 8}, /* 11: 0110 0000 0001 0001 */
2045 {XRA,"B,A", 2, 8}, /* 12: 0110 0000 0001 0010 */
2046 {XRA,"C,A", 2, 8}, /* 13: 0110 0000 0001 0011 */
2047 {XRA,"D,A", 2, 8}, /* 14: 0110 0000 0001 0100 */
2048 {XRA,"E,A", 2, 8}, /* 15: 0110 0000 0001 0101 */
2049 {XRA,"H,A", 2, 8}, /* 16: 0110 0000 0001 0110 */
2050 {XRA,"L,A", 2, 8}, /* 17: 0110 0000 0001 0111 */
2051 {ORA,"V,A", 2, 8}, /* 18: 0110 0000 0001 1000 */
2052 {ORA,"A,A", 2, 8}, /* 19: 0110 0000 0001 1001 */
2053 {ORA,"B,A", 2, 8}, /* 1a: 0110 0000 0001 1010 */
2054 {ORA,"C,A", 2, 8}, /* 1b: 0110 0000 0001 1011 */
2055 {ORA,"D,A", 2, 8}, /* 1c: 0110 0000 0001 1100 */
2056 {ORA,"E,A", 2, 8}, /* 1d: 0110 0000 0001 1101 */
2057 {ORA,"H,A", 2, 8}, /* 1e: 0110 0000 0001 1110 */
2058 {ORA,"L,A", 2, 8}, /* 1f: 0110 0000 0001 1111 */
2059
2060 {ADDNC,"V,A", 2, 8}, /* 20: 0110 0000 0010 0000 */
2061 {ADDNC,"A,A", 2, 8}, /* 21: 0110 0000 0010 0001 */
2062 {ADDNC,"B,A", 2, 8}, /* 22: 0110 0000 0010 0010 */
2063 {ADDNC,"C,A", 2, 8}, /* 23: 0110 0000 0010 0011 */
2064 {ADDNC,"D,A", 2, 8}, /* 24: 0110 0000 0010 0100 */
2065 {ADDNC,"E,A", 2, 8}, /* 25: 0110 0000 0010 0101 */
2066 {ADDNC,"H,A", 2, 8}, /* 26: 0110 0000 0010 0110 */
2067 {ADDNC,"L,A", 2, 8}, /* 27: 0110 0000 0010 0111 */
2068 {GTA,"V,A", 2, 8}, /* 28: 0110 0000 0010 1000 */
2069 {GTA,"A,A", 2, 8}, /* 29: 0110 0000 0010 1001 */
2070 {GTA,"B,A", 2, 8}, /* 2a: 0110 0000 0010 1010 */
2071 {GTA,"C,A", 2, 8}, /* 2b: 0110 0000 0010 1011 */
2072 {GTA,"D,A", 2, 8}, /* 2c: 0110 0000 0010 1100 */
2073 {GTA,"E,A", 2, 8}, /* 2d: 0110 0000 0010 1101 */
2074 {GTA,"H,A", 2, 8}, /* 2e: 0110 0000 0010 1110 */
2075 {GTA,"L,A", 2, 8}, /* 2f: 0110 0000 0010 1111 */
2076
2077 {SUBNB,"V,A", 2, 8}, /* 30: 0110 0000 0011 0000 */
2078 {SUBNB,"A,A", 2, 8}, /* 31: 0110 0000 0011 0001 */
2079 {SUBNB,"B,A", 2, 8}, /* 32: 0110 0000 0011 0010 */
2080 {SUBNB,"C,A", 2, 8}, /* 33: 0110 0000 0011 0011 */
2081 {SUBNB,"D,A", 2, 8}, /* 34: 0110 0000 0011 0100 */
2082 {SUBNB,"E,A", 2, 8}, /* 35: 0110 0000 0011 0101 */
2083 {SUBNB,"H,A", 2, 8}, /* 36: 0110 0000 0011 0110 */
2084 {SUBNB,"L,A", 2, 8}, /* 37: 0110 0000 0011 0111 */
2085 {LTA,"V,A", 2, 8}, /* 38: 0110 0000 0011 1000 */
2086 {LTA,"A,A", 2, 8}, /* 39: 0110 0000 0011 1001 */
2087 {LTA,"B,A", 2, 8}, /* 3a: 0110 0000 0011 1010 */
2088 {LTA,"C,A", 2, 8}, /* 3b: 0110 0000 0011 1011 */
2089 {LTA,"D,A", 2, 8}, /* 3c: 0110 0000 0011 1100 */
2090 {LTA,"E,A", 2, 8}, /* 3d: 0110 0000 0011 1101 */
2091 {LTA,"H,A", 2, 8}, /* 3e: 0110 0000 0011 1110 */
2092 {LTA,"L,A", 2, 8}, /* 3f: 0110 0000 0011 1111 */
2093
2094 {ADD,"V,A", 2, 8}, /* 40: 0110 0000 0100 0000 */
2095 {ADD,"A,A", 2, 8}, /* 41: 0110 0000 0100 0001 */
2096 {ADD,"B,A", 2, 8}, /* 42: 0110 0000 0100 0010 */
2097 {ADD,"C,A", 2, 8}, /* 43: 0110 0000 0100 0011 */
2098 {ADD,"D,A", 2, 8}, /* 44: 0110 0000 0100 0100 */
2099 {ADD,"E,A", 2, 8}, /* 45: 0110 0000 0100 0101 */
2100 {ADD,"H,A", 2, 8}, /* 46: 0110 0000 0100 0110 */
2101 {ADD,"L,A", 2, 8}, /* 47: 0110 0000 0100 0111 */
2102 {illegal,0, 2, 8}, /* 48: 0110 0000 0100 1000 */
2103 {illegal,0, 2, 8}, /* 49: 0110 0000 0100 1001 */
2104 {illegal,0, 2, 8}, /* 4a: 0110 0000 0100 1010 */
2105 {illegal,0, 2, 8}, /* 4b: 0110 0000 0100 1011 */
2106 {illegal,0, 2, 8}, /* 4c: 0110 0000 0100 1100 */
2107 {illegal,0, 2, 8}, /* 4d: 0110 0000 0100 1101 */
2108 {illegal,0, 2, 8}, /* 4e: 0110 0000 0100 1110 */
2109 {illegal,0, 2, 8}, /* 4f: 0110 0000 0100 1111 */
2110
2111 {ADC,"V,A", 2, 8}, /* 50: 0110 0000 0101 0000 */
2112 {ADC,"A,A", 2, 8}, /* 51: 0110 0000 0101 0001 */
2113 {ADC,"B,A", 2, 8}, /* 52: 0110 0000 0101 0010 */
2114 {ADC,"C,A", 2, 8}, /* 53: 0110 0000 0101 0011 */
2115 {ADC,"D,A", 2, 8}, /* 54: 0110 0000 0101 0100 */
2116 {ADC,"E,A", 2, 8}, /* 55: 0110 0000 0101 0101 */
2117 {ADC,"H,A", 2, 8}, /* 56: 0110 0000 0101 0110 */
2118 {ADC,"L,A", 2, 8}, /* 57: 0110 0000 0101 0111 */
2119 {illegal,0, 2, 8}, /* 58: 0110 0000 0101 1000 */
2120 {illegal,0, 2, 8}, /* 59: 0110 0000 0101 1001 */
2121 {illegal,0, 2, 8}, /* 5a: 0110 0000 0101 1010 */
2122 {illegal,0, 2, 8}, /* 5b: 0110 0000 0101 1011 */
2123 {illegal,0, 2, 8}, /* 5c: 0110 0000 0101 1100 */
2124 {illegal,0, 2, 8}, /* 5d: 0110 0000 0101 1101 */
2125 {illegal,0, 2, 8}, /* 5e: 0110 0000 0101 1110 */
2126 {illegal,0, 2, 8}, /* 5f: 0110 0000 0101 1111 */
2127
2128 {SUB,"V,A", 2, 8}, /* 60: 0110 0000 0110 0000 */
2129 {SUB,"A,A", 2, 8}, /* 61: 0110 0000 0110 0001 */
2130 {SUB,"B,A", 2, 8}, /* 62: 0110 0000 0110 0010 */
2131 {SUB,"C,A", 2, 8}, /* 63: 0110 0000 0110 0011 */
2132 {SUB,"D,A", 2, 8}, /* 64: 0110 0000 0110 0100 */
2133 {SUB,"E,A", 2, 8}, /* 65: 0110 0000 0110 0101 */
2134 {SUB,"H,A", 2, 8}, /* 66: 0110 0000 0110 0110 */
2135 {SUB,"L,A", 2, 8}, /* 67: 0110 0000 0110 0111 */
2136 {NEA,"V,A", 2, 8}, /* 68: 0110 0000 0110 1000 */
2137 {NEA,"A,A", 2, 8}, /* 69: 0110 0000 0110 1001 */
2138 {NEA,"B,A", 2, 8}, /* 6a: 0110 0000 0110 1010 */
2139 {NEA,"C,A", 2, 8}, /* 6b: 0110 0000 0110 1011 */
2140 {NEA,"D,A", 2, 8}, /* 6c: 0110 0000 0110 1100 */
2141 {NEA,"E,A", 2, 8}, /* 6d: 0110 0000 0110 1101 */
2142 {NEA,"H,A", 2, 8}, /* 6e: 0110 0000 0110 1110 */
2143 {NEA,"L,A", 2, 8}, /* 6f: 0110 0000 0110 1111 */
2144
2145 {SBB,"V,A", 2, 8}, /* 70: 0110 0000 0111 0000 */
2146 {SBB,"A,A", 2, 8}, /* 71: 0110 0000 0111 0001 */
2147 {SBB,"B,A", 2, 8}, /* 72: 0110 0000 0111 0010 */
2148 {SBB,"C,A", 2, 8}, /* 73: 0110 0000 0111 0011 */
2149 {SBB,"D,A", 2, 8}, /* 74: 0110 0000 0111 0100 */
2150 {SBB,"E,A", 2, 8}, /* 75: 0110 0000 0111 0101 */
2151 {SBB,"H,A", 2, 8}, /* 76: 0110 0000 0111 0110 */
2152 {SBB,"L,A", 2, 8}, /* 77: 0110 0000 0111 0111 */
2153 {EQA,"V,A", 2, 8}, /* 78: 0110 0000 0111 1000 */
2154 {EQA,"A,A", 2, 8}, /* 79: 0110 0000 0111 1001 */
2155 {EQA,"B,A", 2, 8}, /* 7a: 0110 0000 0111 1010 */
2156 {EQA,"C,A", 2, 8}, /* 7b: 0110 0000 0111 1011 */
2157 {EQA,"D,A", 2, 8}, /* 7c: 0110 0000 0111 1100 */
2158 {EQA,"E,A", 2, 8}, /* 7d: 0110 0000 0111 1101 */
2159 {EQA,"H,A", 2, 8}, /* 7e: 0110 0000 0111 1110 */
2160 {EQA,"L,A", 2, 8}, /* 7f: 0110 0000 0111 1111 */
2161
2162 {illegal,0, 2, 8}, /* 80: 0110 0000 1000 0000 */
2163 {illegal,0, 2, 8}, /* 81: 0110 0000 1000 0001 */
2164 {illegal,0, 2, 8}, /* 82: 0110 0000 1000 0010 */
2165 {illegal,0, 2, 8}, /* 83: 0110 0000 1000 0011 */
2166 {illegal,0, 2, 8}, /* 84: 0110 0000 1000 0100 */
2167 {illegal,0, 2, 8}, /* 85: 0110 0000 1000 0101 */
2168 {illegal,0, 2, 8}, /* 86: 0110 0000 1000 0110 */
2169 {illegal,0, 2, 8}, /* 87: 0110 0000 1000 0111 */
2170 {ANA,"A,V", 2, 8}, /* 88: 0110 0000 1000 1000 */
2171 {ANA,"A,A", 2, 8}, /* 89: 0110 0000 1000 1001 */
2172 {ANA,"A,B", 2, 8}, /* 8a: 0110 0000 1000 1010 */
2173 {ANA,"A,C", 2, 8}, /* 8b: 0110 0000 1000 1011 */
2174 {ANA,"A,D", 2, 8}, /* 8c: 0110 0000 1000 1100 */
2175 {ANA,"A,E", 2, 8}, /* 8d: 0110 0000 1000 1101 */
2176 {ANA,"A,H", 2, 8}, /* 8e: 0110 0000 1000 1110 */
2177 {ANA,"A,L", 2, 8}, /* 8f: 0110 0000 1000 1111 */
2178
2179 {XRA,"A,V", 2, 8}, /* 90: 0110 0000 1001 0000 */
2180 {XRA,"A,A", 2, 8}, /* 91: 0110 0000 1001 0001 */
2181 {XRA,"A,B", 2, 8}, /* 92: 0110 0000 1001 0010 */
2182 {XRA,"A,C", 2, 8}, /* 93: 0110 0000 1001 0011 */
2183 {XRA,"A,D", 2, 8}, /* 94: 0110 0000 1001 0100 */
2184 {XRA,"A,E", 2, 8}, /* 95: 0110 0000 1001 0101 */
2185 {XRA,"A,H", 2, 8}, /* 96: 0110 0000 1001 0110 */
2186 {XRA,"A,L", 2, 8}, /* 97: 0110 0000 1001 0111 */
2187 {ORA,"A,V", 2, 8}, /* 98: 0110 0000 1001 1000 */
2188 {ORA,"A,A", 2, 8}, /* 99: 0110 0000 1001 1001 */
2189 {ORA,"A,B", 2, 8}, /* 9a: 0110 0000 1001 1010 */
2190 {ORA,"A,C", 2, 8}, /* 9b: 0110 0000 1001 1011 */
2191 {ORA,"A,D", 2, 8}, /* 9c: 0110 0000 1001 1100 */
2192 {ORA,"A,E", 2, 8}, /* 9d: 0110 0000 1001 1101 */
2193 {ORA,"A,H", 2, 8}, /* 9e: 0110 0000 1001 1110 */
2194 {ORA,"A,L", 2, 8}, /* 9f: 0110 0000 1001 1111 */
2195
2196 {ADDNC,"A,V", 2, 8}, /* a0: 0110 0000 1010 0000 */
2197 {ADDNC,"A,A", 2, 8}, /* a1: 0110 0000 1010 0001 */
2198 {ADDNC,"A,B", 2, 8}, /* a2: 0110 0000 1010 0010 */
2199 {ADDNC,"A,C", 2, 8}, /* a3: 0110 0000 1010 0011 */
2200 {ADDNC,"A,D", 2, 8}, /* a4: 0110 0000 1010 0100 */
2201 {ADDNC,"A,E", 2, 8}, /* a5: 0110 0000 1010 0101 */
2202 {ADDNC,"A,H", 2, 8}, /* a6: 0110 0000 1010 0110 */
2203 {ADDNC,"A,L", 2, 8}, /* a7: 0110 0000 1010 0111 */
2204 {GTA,"A,V", 2, 8}, /* a8: 0110 0000 1010 1000 */
2205 {GTA,"A,A", 2, 8}, /* a9: 0110 0000 1010 1001 */
2206 {GTA,"A,B", 2, 8}, /* aa: 0110 0000 1010 1010 */
2207 {GTA,"A,C", 2, 8}, /* ab: 0110 0000 1010 1011 */
2208 {GTA,"A,D", 2, 8}, /* ac: 0110 0000 1010 1100 */
2209 {GTA,"A,E", 2, 8}, /* ad: 0110 0000 1010 1101 */
2210 {GTA,"A,H", 2, 8}, /* ae: 0110 0000 1010 1110 */
2211 {GTA,"A,L", 2, 8}, /* af: 0110 0000 1010 1111 */
2212
2213 {SUBNB,"A,V", 2, 8}, /* b0: 0110 0000 1011 0000 */
2214 {SUBNB,"A,A", 2, 8}, /* b1: 0110 0000 1011 0001 */
2215 {SUBNB,"A,B", 2, 8}, /* b2: 0110 0000 1011 0010 */
2216 {SUBNB,"A,C", 2, 8}, /* b3: 0110 0000 1011 0011 */
2217 {SUBNB,"A,D", 2, 8}, /* b4: 0110 0000 1011 0100 */
2218 {SUBNB,"A,E", 2, 8}, /* b5: 0110 0000 1011 0101 */
2219 {SUBNB,"A,H", 2, 8}, /* b6: 0110 0000 1011 0110 */
2220 {SUBNB,"A,L", 2, 8}, /* b7: 0110 0000 1011 0111 */
2221 {LTA,"A,V", 2, 8}, /* b8: 0110 0000 1011 1000 */
2222 {LTA,"A,A", 2, 8}, /* b9: 0110 0000 1011 1001 */
2223 {LTA,"A,B", 2, 8}, /* ba: 0110 0000 1011 1010 */
2224 {LTA,"A,C", 2, 8}, /* bb: 0110 0000 1011 1011 */
2225 {LTA,"A,D", 2, 8}, /* bc: 0110 0000 1011 1100 */
2226 {LTA,"A,E", 2, 8}, /* bd: 0110 0000 1011 1101 */
2227 {LTA,"A,H", 2, 8}, /* be: 0110 0000 1011 1110 */
2228 {LTA,"A,L", 2, 8}, /* bf: 0110 0000 1011 1111 */
2229
2230 {ADD,"A,V", 2, 8}, /* c0: 0110 0000 1100 0000 */
2231 {ADD,"A,A", 2, 8}, /* c1: 0110 0000 1100 0001 */
2232 {ADD,"A,B", 2, 8}, /* c2: 0110 0000 1100 0010 */
2233 {ADD,"A,C", 2, 8}, /* c3: 0110 0000 1100 0011 */
2234 {ADD,"A,D", 2, 8}, /* c4: 0110 0000 1100 0100 */
2235 {ADD,"A,E", 2, 8}, /* c5: 0110 0000 1100 0101 */
2236 {ADD,"A,H", 2, 8}, /* c6: 0110 0000 1100 0110 */
2237 {ADD,"A,L", 2, 8}, /* c7: 0110 0000 1100 0111 */
2238 {ONA,"A,V", 2, 8}, /* c8: 0110 0000 1100 1000 */
2239 {ONA,"A,A", 2, 8}, /* c9: 0110 0000 1100 1001 */
2240 {ONA,"A,B", 2, 8}, /* ca: 0110 0000 1100 1010 */
2241 {ONA,"A,C", 2, 8}, /* cb: 0110 0000 1100 1011 */
2242 {ONA,"A,D", 2, 8}, /* cc: 0110 0000 1100 1100 */
2243 {ONA,"A,E", 2, 8}, /* cd: 0110 0000 1100 1101 */
2244 {ONA,"A,H", 2, 8}, /* ce: 0110 0000 1100 1110 */
2245 {ONA,"A,L", 2, 8}, /* cf: 0110 0000 1100 1111 */
2246
2247 {ADC,"A,V", 2, 8}, /* d0: 0110 0000 1101 0000 */
2248 {ADC,"A,A", 2, 8}, /* d1: 0110 0000 1101 0001 */
2249 {ADC,"A,B", 2, 8}, /* d2: 0110 0000 1101 0010 */
2250 {ADC,"A,C", 2, 8}, /* d3: 0110 0000 1101 0011 */
2251 {ADC,"A,D", 2, 8}, /* d4: 0110 0000 1101 0100 */
2252 {ADC,"A,E", 2, 8}, /* d5: 0110 0000 1101 0101 */
2253 {ADC,"A,H", 2, 8}, /* d6: 0110 0000 1101 0110 */
2254 {ADC,"A,L", 2, 8}, /* d7: 0110 0000 1101 0111 */
2255 {OFFA,"A,V", 2, 8}, /* d8: 0110 0000 1101 1000 */
2256 {OFFA,"A,A", 2, 8}, /* d9: 0110 0000 1101 1001 */
2257 {OFFA,"A,B", 2, 8}, /* da: 0110 0000 1101 1010 */
2258 {OFFA,"A,C", 2, 8}, /* db: 0110 0000 1101 1011 */
2259 {OFFA,"A,D", 2, 8}, /* dc: 0110 0000 1101 1100 */
2260 {OFFA,"A,E", 2, 8}, /* dd: 0110 0000 1101 1101 */
2261 {OFFA,"A,H", 2, 8}, /* de: 0110 0000 1101 1110 */
2262 {OFFA,"A,L", 2, 8}, /* df: 0110 0000 1101 1111 */
2263
2264 {SUB,"A,V", 2, 8}, /* e0: 0110 0000 1110 0000 */
2265 {SUB,"A,A", 2, 8}, /* e1: 0110 0000 1110 0001 */
2266 {SUB,"A,B", 2, 8}, /* e2: 0110 0000 1110 0010 */
2267 {SUB,"A,C", 2, 8}, /* e3: 0110 0000 1110 0011 */
2268 {SUB,"A,D", 2, 8}, /* e4: 0110 0000 1110 0100 */
2269 {SUB,"A,E", 2, 8}, /* e5: 0110 0000 1110 0101 */
2270 {SUB,"A,H", 2, 8}, /* e6: 0110 0000 1110 0110 */
2271 {SUB,"A,L", 2, 8}, /* e7: 0110 0000 1110 0111 */
2272 {NEA,"A,V", 2, 8}, /* e8: 0110 0000 1110 1000 */
2273 {NEA,"A,A", 2, 8}, /* e9: 0110 0000 1110 1001 */
2274 {NEA,"A,B", 2, 8}, /* ea: 0110 0000 1110 1010 */
2275 {NEA,"A,C", 2, 8}, /* eb: 0110 0000 1110 1011 */
2276 {NEA,"A,D", 2, 8}, /* ec: 0110 0000 1110 1100 */
2277 {NEA,"A,E", 2, 8}, /* ed: 0110 0000 1110 1101 */
2278 {NEA,"A,H", 2, 8}, /* ee: 0110 0000 1110 1110 */
2279 {NEA,"A,L", 2, 8}, /* ef: 0110 0000 1110 1111 */
2280
2281 {SBB,"A,V", 2, 8}, /* f0: 0110 0000 1111 0000 */
2282 {SBB,"A,A", 2, 8}, /* f1: 0110 0000 1111 0001 */
2283 {SBB,"A,B", 2, 8}, /* f2: 0110 0000 1111 0010 */
2284 {SBB,"A,C", 2, 8}, /* f3: 0110 0000 1111 0011 */
2285 {SBB,"A,D", 2, 8}, /* f4: 0110 0000 1111 0100 */
2286 {SBB,"A,E", 2, 8}, /* f5: 0110 0000 1111 0101 */
2287 {SBB,"A,H", 2, 8}, /* f6: 0110 0000 1111 0110 */
2288 {SBB,"A,L", 2, 8}, /* f7: 0110 0000 1111 0111 */
2289 {EQA,"A,V", 2, 8}, /* f8: 0110 0000 1111 1000 */
2290 {EQA,"A,A", 2, 8}, /* f9: 0110 0000 1111 1001 */
2291 {EQA,"A,B", 2, 8}, /* fa: 0110 0000 1111 1010 */
2292 {EQA,"A,C", 2, 8}, /* fb: 0110 0000 1111 1011 */
2293 {EQA,"A,D", 2, 8}, /* fc: 0110 0000 1111 1100 */
2294 {EQA,"A,E", 2, 8}, /* fd: 0110 0000 1111 1101 */
2295 {EQA,"A,H", 2, 8}, /* fe: 0110 0000 1111 1110 */
2296 {EQA,"A,L", 2, 8} /* ff: 0110 0000 1111 1111 */
2297 };
2298
2299 /* prefix 64 */
2300 static struct dasm_s dasm64_7810[256] =
2301 {
2302 {MVI,"PA,%b", 3,14}, /* 00: 0110 0100 0000 0000 xxxx xxxx */
2303 {MVI,"PB,%b", 3,14}, /* 01: 0110 0100 0000 0001 xxxx xxxx */
2304 {MVI,"PC,%b", 3,14}, /* 02: 0110 0100 0000 0010 xxxx xxxx */
2305 {MVI,"PD,%b", 3,14}, /* 03: 0110 0100 0000 0011 xxxx xxxx */
2306 {illegal,0, 3,14}, /* 04: 0110 0100 0000 0100 xxxx xxxx */
2307 {MVI,"PF,%b", 3,14}, /* 05: 0110 0100 0000 0101 xxxx xxxx */
2308 {MVI,"MKH,%b", 3,14}, /* 06: 0110 0100 0000 0110 xxxx xxxx */
2309 {MVI,"MKL,%b", 3,14}, /* 07: 0110 0100 0000 0111 xxxx xxxx */
2310 {ANI,"PA,%b", 3,20}, /* 08: 0110 0100 0000 1000 xxxx xxxx */
2311 {ANI,"PB,%b", 3,20}, /* 09: 0110 0100 0000 1001 xxxx xxxx */
2312 {ANI,"PC,%b", 3,20}, /* 0a: 0110 0100 0000 1010 xxxx xxxx */
2313 {ANI,"PD,%b", 3,20}, /* 0b: 0110 0100 0000 1011 xxxx xxxx */
2314 {illegal,0, 3,20}, /* 0c: 0110 0100 0000 1100 xxxx xxxx */
2315 {ANI,"PF,%b", 3,20}, /* 0d: 0110 0100 0000 1101 xxxx xxxx */
2316 {ANI,"MKH,%b", 3,20}, /* 0e: 0110 0100 0000 1110 xxxx xxxx */
2317 {ANI,"MKL,%b", 3,20}, /* 0f: 0110 0100 0000 1111 xxxx xxxx */
2318
2319 {XRI,"PA,%b", 3,20}, /* 10: 0110 0100 0001 0000 xxxx xxxx */
2320 {XRI,"PB,%b", 3,20}, /* 11: 0110 0100 0001 0001 xxxx xxxx */
2321 {XRI,"PC,%b", 3,20}, /* 12: 0110 0100 0001 0010 xxxx xxxx */
2322 {XRI,"PD,%b", 3,20}, /* 13: 0110 0100 0001 0011 xxxx xxxx */
2323 {illegal,0, 3,20}, /* 14: 0110 0100 0001 0100 xxxx xxxx */
2324 {XRI,"PF,%b", 3,20}, /* 15: 0110 0100 0001 0101 xxxx xxxx */
2325 {XRI,"MKH,%b", 3,20}, /* 16: 0110 0100 0001 0110 xxxx xxxx */
2326 {XRI,"MKL,%b", 3,20}, /* 17: 0110 0100 0001 0111 xxxx xxxx */
2327 {ORI,"PA,%b", 3,20}, /* 18: 0110 0100 0001 1000 xxxx xxxx */
2328 {ORI,"PB,%b", 3,20}, /* 19: 0110 0100 0001 1001 xxxx xxxx */
2329 {ORI,"PC,%b", 3,20}, /* 1a: 0110 0100 0001 1010 xxxx xxxx */
2330 {ORI,"PD,%b", 3,20}, /* 1b: 0110 0100 0001 1011 xxxx xxxx */
2331 {illegal,0, 3,20}, /* 1c: 0110 0100 0001 1100 xxxx xxxx */
2332 {ORI,"PF,%b", 3,20}, /* 1d: 0110 0100 0001 1101 xxxx xxxx */
2333 {ORI,"MKH,%b", 3,20}, /* 1e: 0110 0100 0001 1110 xxxx xxxx */
2334 {ORI,"MKL,%b", 3,20}, /* 1f: 0110 0100 0001 1111 xxxx xxxx */
2335
2336 {ADINC,"PA,%b", 3,20}, /* 20: 0110 0100 0010 0000 xxxx xxxx */
2337 {ADINC,"PB,%b", 3,20}, /* 21: 0110 0100 0010 0001 xxxx xxxx */
2338 {ADINC,"PC,%b", 3,20}, /* 22: 0110 0100 0010 0010 xxxx xxxx */
2339 {ADINC,"PD,%b", 3,20}, /* 23: 0110 0100 0010 0011 xxxx xxxx */
2340 {illegal,0, 3,20}, /* 24: 0110 0100 0010 0100 xxxx xxxx */
2341 {ADINC,"PF,%b", 3,20}, /* 25: 0110 0100 0010 0101 xxxx xxxx */
2342 {ADINC,"MKH,%b", 3,20}, /* 26: 0110 0100 0010 0110 xxxx xxxx */
2343 {ADINC,"MKL,%b", 3,20}, /* 27: 0110 0100 0010 0111 xxxx xxxx */
2344 {GTI,"PA,%b", 3,20}, /* 28: 0110 0100 0010 1000 xxxx xxxx */
2345 {GTI,"PB,%b", 3,20}, /* 29: 0110 0100 0010 1001 xxxx xxxx */
2346 {GTI,"PC,%b", 3,20}, /* 2a: 0110 0100 0010 1010 xxxx xxxx */
2347 {GTI,"PD,%b", 3,20}, /* 2b: 0110 0100 0010 1011 xxxx xxxx */
2348 {illegal,0, 3,20}, /* 2c: 0110 0100 0010 1100 xxxx xxxx */
2349 {GTI,"PF,%b", 3,20}, /* 2d: 0110 0100 0010 1101 xxxx xxxx */
2350 {GTI,"MKH,%b", 3,20}, /* 2e: 0110 0100 0010 1110 xxxx xxxx */
2351 {GTI,"MKL,%b", 3,20}, /* 2f: 0110 0100 0010 1111 xxxx xxxx */
2352
2353 {SUINB,"PA,%b", 3,20}, /* 30: 0110 0100 0011 0000 xxxx xxxx */
2354 {SUINB,"PB,%b", 3,20}, /* 31: 0110 0100 0011 0001 xxxx xxxx */
2355 {SUINB,"PC,%b", 3,20}, /* 32: 0110 0100 0011 0010 xxxx xxxx */
2356 {SUINB,"PD,%b", 3,20}, /* 33: 0110 0100 0011 0011 xxxx xxxx */
2357 {illegal,0, 3,20}, /* 34: 0110 0100 0011 0100 xxxx xxxx */
2358 {SUINB,"PF,%b", 3,20}, /* 35: 0110 0100 0011 0101 xxxx xxxx */
2359 {SUINB,"MKH,%b", 3,20}, /* 36: 0110 0100 0011 0110 xxxx xxxx */
2360 {SUINB,"MKL,%b", 3,20}, /* 37: 0110 0100 0011 0111 xxxx xxxx */
2361 {LTI,"PA,%b", 3,20}, /* 38: 0110 0100 0011 1000 xxxx xxxx */
2362 {LTI,"PB,%b", 3,20}, /* 39: 0110 0100 0011 1001 xxxx xxxx */
2363 {LTI,"PC,%b", 3,20}, /* 3a: 0110 0100 0011 1010 xxxx xxxx */
2364 {LTI,"PD,%b", 3,20}, /* 3b: 0110 0100 0011 1011 xxxx xxxx */
2365 {illegal,0, 3,20}, /* 3c: 0110 0100 0011 1100 xxxx xxxx */
2366 {LTI,"PF,%b", 3,20}, /* 3d: 0110 0100 0011 1101 xxxx xxxx */
2367 {LTI,"MKH,%b", 3,20}, /* 3e: 0110 0100 0011 1110 xxxx xxxx */
2368 {LTI,"MKL,%b", 3,20}, /* 3f: 0110 0100 0011 1111 xxxx xxxx */
2369
2370 {ADI,"PA,%b", 3,20}, /* 40: 0110 0100 0100 0000 xxxx xxxx */
2371 {ADI,"PB,%b", 3,20}, /* 41: 0110 0100 0100 0001 xxxx xxxx */
2372 {ADI,"PC,%b", 3,20}, /* 42: 0110 0100 0100 0010 xxxx xxxx */
2373 {ADI,"PD,%b", 3,20}, /* 43: 0110 0100 0100 0011 xxxx xxxx */
2374 {illegal,0, 3,20}, /* 44: 0110 0100 0100 0100 xxxx xxxx */
2375 {ADI,"PF,%b", 3,20}, /* 45: 0110 0100 0100 0101 xxxx xxxx */
2376 {ADI,"MKH,%b", 3,20}, /* 46: 0110 0100 0100 0110 xxxx xxxx */
2377 {ADI,"MKL,%b", 3,20}, /* 47: 0110 0100 0100 0111 xxxx xxxx */
2378 {ONI,"PA,%b", 3,20}, /* 48: 0110 0100 0100 1000 xxxx xxxx */
2379 {ONI,"PB,%b", 3,20}, /* 49: 0110 0100 0100 1001 xxxx xxxx */
2380 {ONI,"PC,%b", 3,20}, /* 4a: 0110 0100 0100 1010 xxxx xxxx */
2381 {ONI,"PD,%b", 3,20}, /* 4b: 0110 0100 0100 1011 xxxx xxxx */
2382 {illegal,0, 3,20}, /* 4c: 0110 0100 0100 1100 xxxx xxxx */
2383 {ONI,"PF,%b", 3,20}, /* 4d: 0110 0100 0100 1101 xxxx xxxx */
2384 {ONI,"MKH,%b", 3,20}, /* 4e: 0110 0100 0100 1110 xxxx xxxx */
2385 {ONI,"MKL,%b", 3,20}, /* 4f: 0110 0100 0100 1111 xxxx xxxx */
2386
2387 {ACI,"PA,%b", 3,20}, /* 50: 0110 0100 0101 0000 xxxx xxxx */
2388 {ACI,"PB,%b", 3,20}, /* 51: 0110 0100 0101 0001 xxxx xxxx */
2389 {ACI,"PC,%b", 3,20}, /* 52: 0110 0100 0101 0010 xxxx xxxx */
2390 {ACI,"PD,%b", 3,20}, /* 53: 0110 0100 0101 0011 xxxx xxxx */
2391 {illegal,0, 3,20}, /* 54: 0110 0100 0101 0100 xxxx xxxx */
2392 {ACI,"PF,%b", 3,20}, /* 55: 0110 0100 0101 0101 xxxx xxxx */
2393 {ACI,"MKH,%b", 3,20}, /* 56: 0110 0100 0101 0110 xxxx xxxx */
2394 {ACI,"MKL,%b", 3,20}, /* 57: 0110 0100 0101 0111 xxxx xxxx */
2395 {OFFI,"PA,%b", 3,20}, /* 58: 0110 0100 0101 1000 xxxx xxxx */
2396 {OFFI,"PB,%b", 3,20}, /* 59: 0110 0100 0101 1001 xxxx xxxx */
2397 {OFFI,"PC,%b", 3,20}, /* 5a: 0110 0100 0101 1010 xxxx xxxx */
2398 {OFFI,"PD,%b", 3,20}, /* 5b: 0110 0100 0101 1011 xxxx xxxx */
2399 {illegal,0, 3,20}, /* 5c: 0110 0100 0101 1100 xxxx xxxx */
2400 {OFFI,"PF,%b", 3,20}, /* 5d: 0110 0100 0101 1101 xxxx xxxx */
2401 {OFFI,"MKH,%b", 3,20}, /* 5e: 0110 0100 0101 1110 xxxx xxxx */
2402 {OFFI,"MKL,%b", 3,20}, /* 5f: 0110 0100 0101 1111 xxxx xxxx */
2403
2404 {SUI,"PA,%b", 3,20}, /* 60: 0110 0100 0110 0000 xxxx xxxx */
2405 {SUI,"PB,%b", 3,20}, /* 61: 0110 0100 0110 0001 xxxx xxxx */
2406 {SUI,"PC,%b", 3,20}, /* 62: 0110 0100 0110 0010 xxxx xxxx */
2407 {SUI,"PD,%b", 3,20}, /* 63: 0110 0100 0110 0011 xxxx xxxx */
2408 {illegal,0, 3,20}, /* 64: 0110 0100 0110 0100 xxxx xxxx */
2409 {SUI,"PF,%b", 3,20}, /* 65: 0110 0100 0110 0101 xxxx xxxx */
2410 {SUI,"MKH,%b", 3,20}, /* 66: 0110 0100 0110 0110 xxxx xxxx */
2411 {SUI,"MKL,%b", 3,20}, /* 67: 0110 0100 0110 0111 xxxx xxxx */
2412 {NEI,"PA,%b", 3,20}, /* 68: 0110 0100 0110 1000 xxxx xxxx */
2413 {NEI,"PB,%b", 3,20}, /* 69: 0110 0100 0110 1001 xxxx xxxx */
2414 {NEI,"PC,%b", 3,20}, /* 6a: 0110 0100 0110 1010 xxxx xxxx */
2415 {NEI,"PD,%b", 3,20}, /* 6b: 0110 0100 0110 1011 xxxx xxxx */
2416 {illegal,0, 3,20}, /* 6c: 0110 0100 0110 1100 xxxx xxxx */
2417 {NEI,"PF,%b", 3,20}, /* 6d: 0110 0100 0110 1101 xxxx xxxx */
2418 {NEI,"MKH,%b", 3,20}, /* 6e: 0110 0100 0110 1110 xxxx xxxx */
2419 {NEI,"MKL,%b", 3,20}, /* 6f: 0110 0100 0110 1111 xxxx xxxx */
2420
2421 {SBI,"PA,%b", 3,20}, /* 70: 0110 0100 0111 0000 xxxx xxxx */
2422 {SBI,"PB,%b", 3,20}, /* 71: 0110 0100 0111 0001 xxxx xxxx */
2423 {SBI,"PC,%b", 3,20}, /* 72: 0110 0100 0111 0010 xxxx xxxx */
2424 {SBI,"PD,%b", 3,20}, /* 73: 0110 0100 0111 0011 xxxx xxxx */
2425 {illegal,0, 3,20}, /* 74: 0110 0100 0111 0100 xxxx xxxx */
2426 {SBI,"PF,%b", 3,20}, /* 75: 0110 0100 0111 0101 xxxx xxxx */
2427 {SBI,"MKH,%b", 3,20}, /* 76: 0110 0100 0111 0110 xxxx xxxx */
2428 {SBI,"MKL,%b", 3,20}, /* 77: 0110 0100 0111 0111 xxxx xxxx */
2429 {EQI,"PA,%b", 3,20}, /* 78: 0110 0100 0111 1000 xxxx xxxx */
2430 {EQI,"PB,%b", 3,20}, /* 79: 0110 0100 0111 1001 xxxx xxxx */
2431 {EQI,"PC,%b", 3,20}, /* 7a: 0110 0100 0111 1010 xxxx xxxx */
2432 {EQI,"PD,%b", 3,20}, /* 7b: 0110 0100 0111 1011 xxxx xxxx */
2433 {illegal,0, 3,20}, /* 7c: 0110 0100 0111 1100 xxxx xxxx */
2434 {EQI,"PF,%b", 3,20}, /* 7d: 0110 0100 0111 1101 xxxx xxxx */
2435 {EQI,"MKH,%b", 3,20}, /* 7e: 0110 0100 0111 1110 xxxx xxxx */
2436 {EQI,"MKL,%b", 3,20}, /* 7f: 0110 0100 0111 1111 xxxx xxxx */
2437
2438 {MVI,"ANM,%b", 3,14}, /* 80: 0110 0100 1000 0000 xxxx xxxx */ /* 7810 */
2439 {MVI,"SMH,%b", 3,14}, /* 81: 0110 0100 1000 0001 xxxx xxxx */
2440 {illegal,0, 3,14}, /* 82: 0110 0100 1000 0010 xxxx xxxx */
2441 {MVI,"EOM,%b", 3,14}, /* 83: 0110 0100 1000 0011 xxxx xxxx */
2442 {illegal,0, 3,14}, /* 84: 0110 0100 1000 0100 xxxx xxxx */
2443 {MVI,"TMM,%b", 3,14}, /* 85: 0110 0100 1000 0101 xxxx xxxx */
2444 {illegal,0, 3,14}, /* 86: 0110 0100 1000 0110 xxxx xxxx */
2445 {illegal,0, 3,14}, /* 87: 0110 0100 1000 0111 xxxx xxxx */
2446 {ANI,"ANM,%b", 3,20}, /* 88: 0110 0100 1000 1000 xxxx xxxx */ /* 7810 */
2447 {ANI,"SMH,%b", 3,20}, /* 89: 0110 0100 1000 1001 xxxx xxxx */
2448 {illegal,0, 3,20}, /* 8a: 0110 0100 1000 1010 xxxx xxxx */
2449 {ANI,"EOM,%b", 3,20}, /* 8b: 0110 0100 1000 1011 xxxx xxxx */
2450 {illegal,0, 3,20}, /* 8c: 0110 0100 1000 1100 xxxx xxxx */
2451 {ANI,"TMM,%b", 3,20}, /* 8d: 0110 0100 1000 1101 xxxx xxxx */
2452 {illegal,0, 3,20}, /* 8e: 0110 0100 1000 1110 xxxx xxxx */
2453 {illegal,0, 3,20}, /* 8f: 0110 0100 1000 1111 xxxx xxxx */
2454
2455 {XRI,"ANM,%b", 3,20}, /* 90: 0110 0100 1001 0000 xxxx xxxx */ /* 7810 */
2456 {XRI,"SMH,%b", 3,20}, /* 91: 0110 0100 1001 0001 xxxx xxxx */
2457 {illegal,0, 3,20}, /* 92: 0110 0100 1001 0010 xxxx xxxx */
2458 {XRI,"EOM,%b", 3,20}, /* 93: 0110 0100 1001 0011 xxxx xxxx */
2459 {illegal,0, 3,20}, /* 94: 0110 0100 1001 0100 xxxx xxxx */
2460 {XRI,"TMM,%b", 3,20}, /* 95: 0110 0100 1001 0101 xxxx xxxx */
2461 {illegal,0, 3,20}, /* 96: 0110 0100 1001 0110 xxxx xxxx */
2462 {illegal,0, 3,20}, /* 97: 0110 0100 1001 0111 xxxx xxxx */
2463 {ORI,"ANM,%b", 3,20}, /* 98: 0110 0100 1001 1000 xxxx xxxx */ /* 7810 */
2464 {ORI,"SMH,%b", 3,20}, /* 99: 0110 0100 1001 1001 xxxx xxxx */
2465 {illegal,0, 3,20}, /* 9a: 0110 0100 1001 1010 xxxx xxxx */
2466 {ORI,"EOM,%b", 3,20}, /* 9b: 0110 0100 1001 1011 xxxx xxxx */
2467 {illegal,0, 3,20}, /* 9c: 0110 0100 1001 1100 xxxx xxxx */
2468 {ORI,"TMM,%b", 3,20}, /* 9d: 0110 0100 1001 1101 xxxx xxxx */
2469 {illegal,0, 3,20}, /* 9e: 0110 0100 1001 1110 xxxx xxxx */
2470 {illegal,0, 3,20}, /* 9f: 0110 0100 1001 1111 xxxx xxxx */
2471
2472 {ADINC,"ANM,%b", 3,20}, /* a0: 0110 0100 1010 0000 xxxx xxxx */ /* 7810 */
2473 {ADINC,"SMH,%b", 3,20}, /* a1: 0110 0100 1010 0001 xxxx xxxx */
2474 {illegal,0, 3,20}, /* a2: 0110 0100 1010 0010 xxxx xxxx */
2475 {ADINC,"EOM,%b", 3,20}, /* a3: 0110 0100 1010 0011 xxxx xxxx */
2476 {illegal,0, 3,20}, /* a4: 0110 0100 1010 0100 xxxx xxxx */
2477 {ADINC,"TMM,%b", 3,20}, /* a5: 0110 0100 1010 0101 xxxx xxxx */
2478 {illegal,0, 3,20}, /* a6: 0110 0100 1010 0110 xxxx xxxx */
2479 {illegal,0, 3,20}, /* a7: 0110 0100 1010 0111 xxxx xxxx */
2480 {GTI,"ANM,%b", 3,20}, /* a8: 0110 0100 1010 1000 xxxx xxxx */ /* 7810 */
2481 {GTI,"SMH,%b", 3,20}, /* a9: 0110 0100 1010 1001 xxxx xxxx */
2482 {illegal,0, 3,20}, /* aa: 0110 0100 1010 1010 xxxx xxxx */
2483 {GTI,"EOM,%b", 3,20}, /* ab: 0110 0100 1010 1011 xxxx xxxx */
2484 {illegal,0, 3,20}, /* ac: 0110 0100 1010 1100 xxxx xxxx */
2485 {GTI,"TMM,%b", 3,20}, /* ad: 0110 0100 1010 1101 xxxx xxxx */
2486 {illegal,0, 3,20}, /* ae: 0110 0100 1010 1110 xxxx xxxx */
2487 {illegal,0, 3,20}, /* af: 0110 0100 1010 1111 xxxx xxxx */
2488
2489 {SUINB,"ANM,%b", 3,20}, /* b0: 0110 0100 1011 0000 xxxx xxxx */ /* 7810 */
2490 {SUINB,"SMH,%b", 3,20}, /* b1: 0110 0100 1011 0001 xxxx xxxx */
2491 {illegal,0, 3,20}, /* b2: 0110 0100 1011 0010 xxxx xxxx */
2492 {SUINB,"EOM,%b", 3,20}, /* b3: 0110 0100 1011 0011 xxxx xxxx */
2493 {illegal,0, 3,20}, /* b4: 0110 0100 1011 0100 xxxx xxxx */
2494 {SUINB,"TMM,%b", 3,20}, /* b5: 0110 0100 1011 0101 xxxx xxxx */
2495 {illegal,0, 3,20}, /* b6: 0110 0100 1011 0110 xxxx xxxx */
2496 {illegal,0, 3,20}, /* b7: 0110 0100 1011 0111 xxxx xxxx */
2497 {LTI,"ANM,%b", 3,20}, /* b8: 0110 0100 1011 1000 xxxx xxxx */ /* 7810 */
2498 {LTI,"SMH,%b", 3,20}, /* b9: 0110 0100 1011 1001 xxxx xxxx */
2499 {illegal,0, 3,20}, /* ba: 0110 0100 1011 1010 xxxx xxxx */
2500 {LTI,"EOM,%b", 3,20}, /* bb: 0110 0100 1011 1011 xxxx xxxx */
2501 {illegal,0, 3,20}, /* bc: 0110 0100 1011 1100 xxxx xxxx */
2502 {LTI,"TMM,%b", 3,20}, /* bd: 0110 0100 1011 1101 xxxx xxxx */
2503 {illegal,0, 3,20}, /* be: 0110 0100 1011 1110 xxxx xxxx */
2504 {illegal,0, 3,20}, /* bf: 0110 0100 1011 1111 xxxx xxxx */
2505
2506 {ADI,"ANM,%b", 3,20}, /* c0: 0110 0100 1100 0000 xxxx xxxx */ /* 7810 */
2507 {ADI,"SMH,%b", 3,20}, /* c1: 0110 0100 1100 0001 xxxx xxxx */
2508 {illegal,0, 3,20}, /* c2: 0110 0100 1100 0010 xxxx xxxx */
2509 {ADI,"EOM,%b", 3,20}, /* c3: 0110 0100 1100 0011 xxxx xxxx */
2510 {illegal,0, 3,20}, /* c4: 0110 0100 1100 0100 xxxx xxxx */
2511 {ADI,"TMM,%b", 3,20}, /* c5: 0110 0100 1100 0101 xxxx xxxx */
2512 {illegal,0, 3,20}, /* c6: 0110 0100 1100 0110 xxxx xxxx */
2513 {illegal,0, 3,20}, /* c7: 0110 0100 1100 0111 xxxx xxxx */
2514 {ONI,"ANM,%b", 3,20}, /* c8: 0110 0100 1100 1000 xxxx xxxx */ /* 7810 */
2515 {ONI,"SMH,%b", 3,20}, /* c9: 0110 0100 1100 1001 xxxx xxxx */
2516 {illegal,0, 3,20}, /* ca: 0110 0100 1100 1010 xxxx xxxx */
2517 {ONI,"EOM,%b", 3,20}, /* cb: 0110 0100 1100 1011 xxxx xxxx */
2518 {illegal,0, 3,20}, /* cc: 0110 0100 1100 1100 xxxx xxxx */
2519 {ONI,"TMM,%b", 3,20}, /* cd: 0110 0100 1100 1101 xxxx xxxx */
2520 {illegal,0, 3,20}, /* ce: 0110 0100 1100 1110 xxxx xxxx */
2521 {illegal,0, 3,20}, /* cf: 0110 0100 1100 1111 xxxx xxxx */
2522
2523 {ACI,"ANM,%b", 3,20}, /* d0: 0110 0100 1101 0000 xxxx xxxx */ /* 7810 */
2524 {ACI,"SMH,%b", 3,20}, /* d1: 0110 0100 1101 0001 xxxx xxxx */
2525 {illegal,0, 3,20}, /* d2: 0110 0100 1101 0010 xxxx xxxx */
2526 {ACI,"EOM,%b", 3,20}, /* d3: 0110 0100 1101 0011 xxxx xxxx */
2527 {illegal,0, 3,20}, /* d4: 0110 0100 1101 0100 xxxx xxxx */
2528 {ACI,"TMM,%b", 3,20}, /* d5: 0110 0100 1101 0101 xxxx xxxx */
2529 {illegal,0, 3,20}, /* d6: 0110 0100 1101 0110 xxxx xxxx */
2530 {illegal,0, 3,20}, /* d7: 0110 0100 1101 0111 xxxx xxxx */
2531 {OFFI,"ANM,%b", 3,20}, /* d8: 0110 0100 1101 1000 xxxx xxxx */ /* 7810 */
2532 {OFFI,"SMH,%b", 3,20}, /* d9: 0110 0100 1101 1001 xxxx xxxx */
2533 {illegal,0, 3,20}, /* da: 0110 0100 1101 1010 xxxx xxxx */
2534 {OFFI,"EOM,%b", 3,20}, /* db: 0110 0100 1101 1011 xxxx xxxx */
2535 {illegal,0, 3,20}, /* dc: 0110 0100 1101 1100 xxxx xxxx */
2536 {OFFI,"TMM,%b", 3,20}, /* dd: 0110 0100 1101 1101 xxxx xxxx */
2537 {illegal,0, 3,20}, /* de: 0110 0100 1101 1110 xxxx xxxx */
2538 {illegal,0, 3,20}, /* df: 0110 0100 1101 1111 xxxx xxxx */
2539
2540 {SUI,"ANM,%b", 3,20}, /* e0: 0110 0100 1110 0000 xxxx xxxx */ /* 7810 */
2541 {SUI,"SMH,%b", 3,20}, /* e1: 0110 0100 1110 0001 xxxx xxxx */
2542 {illegal,0, 3,20}, /* e2: 0110 0100 1110 0010 xxxx xxxx */
2543 {SUI,"EOM,%b", 3,20}, /* e3: 0110 0100 1110 0011 xxxx xxxx */
2544 {illegal,0, 3,20}, /* e4: 0110 0100 1110 0100 xxxx xxxx */
2545 {SUI,"TMM,%b", 3,20}, /* e5: 0110 0100 1110 0101 xxxx xxxx */
2546 {illegal,0, 3,20}, /* e6: 0110 0100 1110 0110 xxxx xxxx */
2547 {illegal,0, 3,20}, /* e7: 0110 0100 1110 0111 xxxx xxxx */
2548 {NEI,"ANM,%b", 3,20}, /* e8: 0110 0100 1110 1000 xxxx xxxx */ /* 7810 */
2549 {NEI,"SMH,%b", 3,20}, /* e9: 0110 0100 1110 1001 xxxx xxxx */
2550 {illegal,0, 3,20}, /* ea: 0110 0100 1110 1010 xxxx xxxx */
2551 {NEI,"EOM,%b", 3,20}, /* eb: 0110 0100 1110 1011 xxxx xxxx */
2552 {illegal,0, 3,20}, /* ec: 0110 0100 1110 1100 xxxx xxxx */
2553 {NEI,"TMM,%b", 3,20}, /* ed: 0110 0100 1110 1101 xxxx xxxx */
2554 {illegal,0, 3,20}, /* ee: 0110 0100 1110 1110 xxxx xxxx */
2555 {illegal,0, 3,20}, /* ef: 0110 0100 1110 1111 xxxx xxxx */
2556
2557 {SBI,"ANM,%b", 3,20}, /* f0: 0110 0100 1111 0000 xxxx xxxx */ /* 7810 */
2558 {SBI,"SMH,%b", 3,20}, /* f1: 0110 0100 1111 0001 xxxx xxxx */
2559 {illegal,0, 3,20}, /* f2: 0110 0100 1111 0010 xxxx xxxx */
2560 {SBI,"EOM,%b", 3,20}, /* f3: 0110 0100 1111 0011 xxxx xxxx */
2561 {illegal,0, 3,20}, /* f4: 0110 0100 1111 0100 xxxx xxxx */
2562 {SBI,"TMM,%b", 3,20}, /* f5: 0110 0100 1111 0101 xxxx xxxx */
2563 {illegal,0, 3,20}, /* f6: 0110 0100 1111 0110 xxxx xxxx */
2564 {illegal,0, 3,20}, /* f7: 0110 0100 1111 0111 xxxx xxxx */
2565 {EQI,"ANM,%b", 3,20}, /* f8: 0110 0100 1111 1000 xxxx xxxx */ /* 7810 */
2566 {EQI,"SMH,%b", 3,20}, /* f9: 0110 0100 1111 1001 xxxx xxxx */
2567 {illegal,0, 3,20}, /* fa: 0110 0100 1111 1010 xxxx xxxx */
2568 {EQI,"EOM,%b", 3,20}, /* fb: 0110 0100 1111 1011 xxxx xxxx */
2569 {illegal,0, 3,20}, /* fc: 0110 0100 1111 1100 xxxx xxxx */
2570 {EQI,"TMM,%b", 3,20}, /* fd: 0110 0100 1111 1101 xxxx xxxx */
2571 {illegal,0, 3,20}, /* fe: 0110 0100 1111 1110 xxxx xxxx */
2572 {illegal,0, 3,20} /* ff: 0110 0100 1111 1111 xxxx xxxx */
2573 };
2574
2575 static struct dasm_s dasm64_7807[256] =
2576 {
2577 {MVI,"PA,%b", 3,14}, /* 00: 0110 0100 0000 0000 xxxx xxxx */
2578 {MVI,"PB,%b", 3,14}, /* 01: 0110 0100 0000 0001 xxxx xxxx */
2579 {MVI,"PC,%b", 3,14}, /* 02: 0110 0100 0000 0010 xxxx xxxx */
2580 {MVI,"PD,%b", 3,14}, /* 03: 0110 0100 0000 0011 xxxx xxxx */
2581 {illegal,0, 3,14}, /* 04: 0110 0100 0000 0100 xxxx xxxx */
2582 {MVI,"PF,%b", 3,14}, /* 05: 0110 0100 0000 0101 xxxx xxxx */
2583 {MVI,"MKH,%b", 3,14}, /* 06: 0110 0100 0000 0110 xxxx xxxx */
2584 {MVI,"MKL,%b", 3,14}, /* 07: 0110 0100 0000 0111 xxxx xxxx */
2585 {ANI,"PA,%b", 3,20}, /* 08: 0110 0100 0000 1000 xxxx xxxx */
2586 {ANI,"PB,%b", 3,20}, /* 09: 0110 0100 0000 1001 xxxx xxxx */
2587 {ANI,"PC,%b", 3,20}, /* 0a: 0110 0100 0000 1010 xxxx xxxx */
2588 {ANI,"PD,%b", 3,20}, /* 0b: 0110 0100 0000 1011 xxxx xxxx */
2589 {illegal,0, 3,20}, /* 0c: 0110 0100 0000 1100 xxxx xxxx */
2590 {ANI,"PF,%b", 3,20}, /* 0d: 0110 0100 0000 1101 xxxx xxxx */
2591 {ANI,"MKH,%b", 3,20}, /* 0e: 0110 0100 0000 1110 xxxx xxxx */
2592 {ANI,"MKL,%b", 3,20}, /* 0f: 0110 0100 0000 1111 xxxx xxxx */
2593
2594 {XRI,"PA,%b", 3,20}, /* 10: 0110 0100 0001 0000 xxxx xxxx */
2595 {XRI,"PB,%b", 3,20}, /* 11: 0110 0100 0001 0001 xxxx xxxx */
2596 {XRI,"PC,%b", 3,20}, /* 12: 0110 0100 0001 0010 xxxx xxxx */
2597 {XRI,"PD,%b", 3,20}, /* 13: 0110 0100 0001 0011 xxxx xxxx */
2598 {illegal,0, 3,20}, /* 14: 0110 0100 0001 0100 xxxx xxxx */
2599 {XRI,"PF,%b", 3,20}, /* 15: 0110 0100 0001 0101 xxxx xxxx */
2600 {XRI,"MKH,%b", 3,20}, /* 16: 0110 0100 0001 0110 xxxx xxxx */
2601 {XRI,"MKL,%b", 3,20}, /* 17: 0110 0100 0001 0111 xxxx xxxx */
2602 {ORI,"PA,%b", 3,20}, /* 18: 0110 0100 0001 1000 xxxx xxxx */
2603 {ORI,"PB,%b", 3,20}, /* 19: 0110 0100 0001 1001 xxxx xxxx */
2604 {ORI,"PC,%b", 3,20}, /* 1a: 0110 0100 0001 1010 xxxx xxxx */
2605 {ORI,"PD,%b", 3,20}, /* 1b: 0110 0100 0001 1011 xxxx xxxx */
2606 {illegal,0, 3,20}, /* 1c: 0110 0100 0001 1100 xxxx xxxx */
2607 {ORI,"PF,%b", 3,20}, /* 1d: 0110 0100 0001 1101 xxxx xxxx */
2608 {ORI,"MKH,%b", 3,20}, /* 1e: 0110 0100 0001 1110 xxxx xxxx */
2609 {ORI,"MKL,%b", 3,20}, /* 1f: 0110 0100 0001 1111 xxxx xxxx */
2610
2611 {ADINC,"PA,%b", 3,20}, /* 20: 0110 0100 0010 0000 xxxx xxxx */
2612 {ADINC,"PB,%b", 3,20}, /* 21: 0110 0100 0010 0001 xxxx xxxx */
2613 {ADINC,"PC,%b", 3,20}, /* 22: 0110 0100 0010 0010 xxxx xxxx */
2614 {ADINC,"PD,%b", 3,20}, /* 23: 0110 0100 0010 0011 xxxx xxxx */
2615 {illegal,0, 3,20}, /* 24: 0110 0100 0010 0100 xxxx xxxx */
2616 {ADINC,"PF,%b", 3,20}, /* 25: 0110 0100 0010 0101 xxxx xxxx */
2617 {ADINC,"MKH,%b", 3,20}, /* 26: 0110 0100 0010 0110 xxxx xxxx */
2618 {ADINC,"MKL,%b", 3,20}, /* 27: 0110 0100 0010 0111 xxxx xxxx */
2619 {GTI,"PA,%b", 3,20}, /* 28: 0110 0100 0010 1000 xxxx xxxx */
2620 {GTI,"PB,%b", 3,20}, /* 29: 0110 0100 0010 1001 xxxx xxxx */
2621 {GTI,"PC,%b", 3,20}, /* 2a: 0110 0100 0010 1010 xxxx xxxx */
2622 {GTI,"PD,%b", 3,20}, /* 2b: 0110 0100 0010 1011 xxxx xxxx */
2623 {illegal,0, 3,20}, /* 2c: 0110 0100 0010 1100 xxxx xxxx */
2624 {GTI,"PF,%b", 3,20}, /* 2d: 0110 0100 0010 1101 xxxx xxxx */
2625 {GTI,"MKH,%b", 3,20}, /* 2e: 0110 0100 0010 1110 xxxx xxxx */
2626 {GTI,"MKL,%b", 3,20}, /* 2f: 0110 0100 0010 1111 xxxx xxxx */
2627
2628 {SUINB,"PA,%b", 3,20}, /* 30: 0110 0100 0011 0000 xxxx xxxx */
2629 {SUINB,"PB,%b", 3,20}, /* 31: 0110 0100 0011 0001 xxxx xxxx */
2630 {SUINB,"PC,%b", 3,20}, /* 32: 0110 0100 0011 0010 xxxx xxxx */
2631 {SUINB,"PD,%b", 3,20}, /* 33: 0110 0100 0011 0011 xxxx xxxx */
2632 {illegal,0, 3,20}, /* 34: 0110 0100 0011 0100 xxxx xxxx */
2633 {SUINB,"PF,%b", 3,20}, /* 35: 0110 0100 0011 0101 xxxx xxxx */
2634 {SUINB,"MKH,%b", 3,20}, /* 36: 0110 0100 0011 0110 xxxx xxxx */
2635 {SUINB,"MKL,%b", 3,20}, /* 37: 0110 0100 0011 0111 xxxx xxxx */
2636 {LTI,"PA,%b", 3,20}, /* 38: 0110 0100 0011 1000 xxxx xxxx */
2637 {LTI,"PB,%b", 3,20}, /* 39: 0110 0100 0011 1001 xxxx xxxx */
2638 {LTI,"PC,%b", 3,20}, /* 3a: 0110 0100 0011 1010 xxxx xxxx */
2639 {LTI,"PD,%b", 3,20}, /* 3b: 0110 0100 0011 1011 xxxx xxxx */
2640 {illegal,0, 3,20}, /* 3c: 0110 0100 0011 1100 xxxx xxxx */
2641 {LTI,"PF,%b", 3,20}, /* 3d: 0110 0100 0011 1101 xxxx xxxx */
2642 {LTI,"MKH,%b", 3,20}, /* 3e: 0110 0100 0011 1110 xxxx xxxx */
2643 {LTI,"MKL,%b", 3,20}, /* 3f: 0110 0100 0011 1111 xxxx xxxx */
2644
2645 {ADI,"PA,%b", 3,20}, /* 40: 0110 0100 0100 0000 xxxx xxxx */
2646 {ADI,"PB,%b", 3,20}, /* 41: 0110 0100 0100 0001 xxxx xxxx */
2647 {ADI,"PC,%b", 3,20}, /* 42: 0110 0100 0100 0010 xxxx xxxx */
2648 {ADI,"PD,%b", 3,20}, /* 43: 0110 0100 0100 0011 xxxx xxxx */
2649 {illegal,0, 3,20}, /* 44: 0110 0100 0100 0100 xxxx xxxx */
2650 {ADI,"PF,%b", 3,20}, /* 45: 0110 0100 0100 0101 xxxx xxxx */
2651 {ADI,"MKH,%b", 3,20}, /* 46: 0110 0100 0100 0110 xxxx xxxx */
2652 {ADI,"MKL,%b", 3,20}, /* 47: 0110 0100 0100 0111 xxxx xxxx */
2653 {ONI,"PA,%b", 3,20}, /* 48: 0110 0100 0100 1000 xxxx xxxx */
2654 {ONI,"PB,%b", 3,20}, /* 49: 0110 0100 0100 1001 xxxx xxxx */
2655 {ONI,"PC,%b", 3,20}, /* 4a: 0110 0100 0100 1010 xxxx xxxx */
2656 {ONI,"PD,%b", 3,20}, /* 4b: 0110 0100 0100 1011 xxxx xxxx */
2657 {illegal,0, 3,20}, /* 4c: 0110 0100 0100 1100 xxxx xxxx */
2658 {ONI,"PF,%b", 3,20}, /* 4d: 0110 0100 0100 1101 xxxx xxxx */
2659 {ONI,"MKH,%b", 3,20}, /* 4e: 0110 0100 0100 1110 xxxx xxxx */
2660 {ONI,"MKL,%b", 3,20}, /* 4f: 0110 0100 0100 1111 xxxx xxxx */
2661
2662 {ACI,"PA,%b", 3,20}, /* 50: 0110 0100 0101 0000 xxxx xxxx */
2663 {ACI,"PB,%b", 3,20}, /* 51: 0110 0100 0101 0001 xxxx xxxx */
2664 {ACI,"PC,%b", 3,20}, /* 52: 0110 0100 0101 0010 xxxx xxxx */
2665 {ACI,"PD,%b", 3,20}, /* 53: 0110 0100 0101 0011 xxxx xxxx */
2666 {illegal,0, 3,20}, /* 54: 0110 0100 0101 0100 xxxx xxxx */
2667 {ACI,"PF,%b", 3,20}, /* 55: 0110 0100 0101 0101 xxxx xxxx */
2668 {ACI,"MKH,%b", 3,20}, /* 56: 0110 0100 0101 0110 xxxx xxxx */
2669 {ACI,"MKL,%b", 3,20}, /* 57: 0110 0100 0101 0111 xxxx xxxx */
2670 {OFFI,"PA,%b", 3,20}, /* 58: 0110 0100 0101 1000 xxxx xxxx */
2671 {OFFI,"PB,%b", 3,20}, /* 59: 0110 0100 0101 1001 xxxx xxxx */
2672 {OFFI,"PC,%b", 3,20}, /* 5a: 0110 0100 0101 1010 xxxx xxxx */
2673 {OFFI,"PD,%b", 3,20}, /* 5b: 0110 0100 0101 1011 xxxx xxxx */
2674 {illegal,0, 3,20}, /* 5c: 0110 0100 0101 1100 xxxx xxxx */
2675 {OFFI,"PF,%b", 3,20}, /* 5d: 0110 0100 0101 1101 xxxx xxxx */
2676 {OFFI,"MKH,%b", 3,20}, /* 5e: 0110 0100 0101 1110 xxxx xxxx */
2677 {OFFI,"MKL,%b", 3,20}, /* 5f: 0110 0100 0101 1111 xxxx xxxx */
2678
2679 {SUI,"PA,%b", 3,20}, /* 60: 0110 0100 0110 0000 xxxx xxxx */
2680 {SUI,"PB,%b", 3,20}, /* 61: 0110 0100 0110 0001 xxxx xxxx */
2681 {SUI,"PC,%b", 3,20}, /* 62: 0110 0100 0110 0010 xxxx xxxx */
2682 {SUI,"PD,%b", 3,20}, /* 63: 0110 0100 0110 0011 xxxx xxxx */
2683 {illegal,0, 3,20}, /* 64: 0110 0100 0110 0100 xxxx xxxx */
2684 {SUI,"PF,%b", 3,20}, /* 65: 0110 0100 0110 0101 xxxx xxxx */
2685 {SUI,"MKH,%b", 3,20}, /* 66: 0110 0100 0110 0110 xxxx xxxx */
2686 {SUI,"MKL,%b", 3,20}, /* 67: 0110 0100 0110 0111 xxxx xxxx */
2687 {NEI,"PA,%b", 3,20}, /* 68: 0110 0100 0110 1000 xxxx xxxx */
2688 {NEI,"PB,%b", 3,20}, /* 69: 0110 0100 0110 1001 xxxx xxxx */
2689 {NEI,"PC,%b", 3,20}, /* 6a: 0110 0100 0110 1010 xxxx xxxx */
2690 {NEI,"PD,%b", 3,20}, /* 6b: 0110 0100 0110 1011 xxxx xxxx */
2691 {illegal,0, 3,20}, /* 6c: 0110 0100 0110 1100 xxxx xxxx */
2692 {NEI,"PF,%b", 3,20}, /* 6d: 0110 0100 0110 1101 xxxx xxxx */
2693 {NEI,"MKH,%b", 3,20}, /* 6e: 0110 0100 0110 1110 xxxx xxxx */
2694 {NEI,"MKL,%b", 3,20}, /* 6f: 0110 0100 0110 1111 xxxx xxxx */
2695
2696 {SBI,"PA,%b", 3,20}, /* 70: 0110 0100 0111 0000 xxxx xxxx */
2697 {SBI,"PB,%b", 3,20}, /* 71: 0110 0100 0111 0001 xxxx xxxx */
2698 {SBI,"PC,%b", 3,20}, /* 72: 0110 0100 0111 0010 xxxx xxxx */
2699 {SBI,"PD,%b", 3,20}, /* 73: 0110 0100 0111 0011 xxxx xxxx */
2700 {illegal,0, 3,20}, /* 74: 0110 0100 0111 0100 xxxx xxxx */
2701 {SBI,"PF,%b", 3,20}, /* 75: 0110 0100 0111 0101 xxxx xxxx */
2702 {SBI,"MKH,%b", 3,20}, /* 76: 0110 0100 0111 0110 xxxx xxxx */
2703 {SBI,"MKL,%b", 3,20}, /* 77: 0110 0100 0111 0111 xxxx xxxx */
2704 {EQI,"PA,%b", 3,20}, /* 78: 0110 0100 0111 1000 xxxx xxxx */
2705 {EQI,"PB,%b", 3,20}, /* 79: 0110 0100 0111 1001 xxxx xxxx */
2706 {EQI,"PC,%b", 3,20}, /* 7a: 0110 0100 0111 1010 xxxx xxxx */
2707 {EQI,"PD,%b", 3,20}, /* 7b: 0110 0100 0111 1011 xxxx xxxx */
2708 {illegal,0, 3,20}, /* 7c: 0110 0100 0111 1100 xxxx xxxx */
2709 {EQI,"PF,%b", 3,20}, /* 7d: 0110 0100 0111 1101 xxxx xxxx */
2710 {EQI,"MKH,%b", 3,20}, /* 7e: 0110 0100 0111 1110 xxxx xxxx */
2711 {EQI,"MKL,%b", 3,20}, /* 7f: 0110 0100 0111 1111 xxxx xxxx */
2712
2713 {illegal,0, 3,20}, /* 80: 0110 0100 1000 0000 xxxx xxxx */
2714 {MVI,"SMH,%b", 3,14}, /* 81: 0110 0100 1000 0001 xxxx xxxx */
2715 {illegal,0, 3,14}, /* 82: 0110 0100 1000 0010 xxxx xxxx */
2716 {MVI,"EOM,%b", 3,14}, /* 83: 0110 0100 1000 0011 xxxx xxxx */
2717 {illegal,0, 3,14}, /* 84: 0110 0100 1000 0100 xxxx xxxx */
2718 {MVI,"TMM,%b", 3,14}, /* 85: 0110 0100 1000 0101 xxxx xxxx */
2719 {illegal,0, 3,14}, /* 86: 0110 0100 1000 0110 xxxx xxxx */
2720 {illegal,0, 3,14}, /* 87: 0110 0100 1000 0111 xxxx xxxx */
2721 {illegal,0, 3,20}, /* 88: 0110 0100 1000 1000 xxxx xxxx */
2722 {ANI,"SMH,%b", 3,20}, /* 89: 0110 0100 1000 1001 xxxx xxxx */
2723 {illegal,0, 3,20}, /* 8a: 0110 0100 1000 1010 xxxx xxxx */
2724 {ANI,"EOM,%b", 3,20}, /* 8b: 0110 0100 1000 1011 xxxx xxxx */
2725 {illegal,0, 3,20}, /* 8c: 0110 0100 1000 1100 xxxx xxxx */
2726 {ANI,"TMM,%b", 3,20}, /* 8d: 0110 0100 1000 1101 xxxx xxxx */
2727 {illegal,0, 3,20}, /* 8e: 0110 0100 1000 1110 xxxx xxxx */
2728 {illegal,0, 3,20}, /* 8f: 0110 0100 1000 1111 xxxx xxxx */
2729
2730 {illegal,0, 3,20}, /* 90: 0110 0100 1001 0000 xxxx xxxx */
2731 {XRI,"SMH,%b", 3,20}, /* 91: 0110 0100 1001 0001 xxxx xxxx */
2732 {illegal,0, 3,20}, /* 92: 0110 0100 1001 0010 xxxx xxxx */
2733 {XRI,"EOM,%b", 3,20}, /* 93: 0110 0100 1001 0011 xxxx xxxx */
2734 {illegal,0, 3,20}, /* 94: 0110 0100 1001 0100 xxxx xxxx */
2735 {XRI,"TMM,%b", 3,20}, /* 95: 0110 0100 1001 0101 xxxx xxxx */
2736 {illegal,0, 3,20}, /* 96: 0110 0100 1001 0110 xxxx xxxx */
2737 {illegal,0, 3,20}, /* 97: 0110 0100 1001 0111 xxxx xxxx */
2738 {illegal,0, 3,20}, /* 98: 0110 0100 1001 1000 xxxx xxxx */
2739 {ORI,"SMH,%b", 3,20}, /* 99: 0110 0100 1001 1001 xxxx xxxx */
2740 {illegal,0, 3,20}, /* 9a: 0110 0100 1001 1010 xxxx xxxx */
2741 {ORI,"EOM,%b", 3,20}, /* 9b: 0110 0100 1001 1011 xxxx xxxx */
2742 {illegal,0, 3,20}, /* 9c: 0110 0100 1001 1100 xxxx xxxx */
2743 {ORI,"TMM,%b", 3,20}, /* 9d: 0110 0100 1001 1101 xxxx xxxx */
2744 {illegal,0, 3,20}, /* 9e: 0110 0100 1001 1110 xxxx xxxx */
2745 {illegal,0, 3,20}, /* 9f: 0110 0100 1001 1111 xxxx xxxx */
2746
2747 {illegal,0, 3,20}, /* a0: 0110 0100 1010 0000 xxxx xxxx */
2748 {ADINC,"SMH,%b", 3,20}, /* a1: 0110 0100 1010 0001 xxxx xxxx */
2749 {illegal,0, 3,20}, /* a2: 0110 0100 1010 0010 xxxx xxxx */
2750 {ADINC,"EOM,%b", 3,20}, /* a3: 0110 0100 1010 0011 xxxx xxxx */
2751 {illegal,0, 3,20}, /* a4: 0110 0100 1010 0100 xxxx xxxx */
2752 {ADINC,"TMM,%b", 3,20}, /* a5: 0110 0100 1010 0101 xxxx xxxx */
2753 {illegal,0, 3,20}, /* a6: 0110 0100 1010 0110 xxxx xxxx */
2754 {illegal,0, 3,20}, /* a7: 0110 0100 1010 0111 xxxx xxxx */
2755 {illegal,0, 3,20}, /* a8: 0110 0100 1010 1000 xxxx xxxx */
2756 {GTI,"SMH,%b", 3,20}, /* a9: 0110 0100 1010 1001 xxxx xxxx */
2757 {illegal,0, 3,20}, /* aa: 0110 0100 1010 1010 xxxx xxxx */
2758 {GTI,"EOM,%b", 3,20}, /* ab: 0110 0100 1010 1011 xxxx xxxx */
2759 {illegal,0, 3,20}, /* ac: 0110 0100 1010 1100 xxxx xxxx */
2760 {GTI,"TMM,%b", 3,20}, /* ad: 0110 0100 1010 1101 xxxx xxxx */
2761 {GTI,"PT,%b", 3,20}, /* ae: 0110 0100 1010 1110 xxxx xxxx */
2762 {illegal,0, 3,20}, /* af: 0110 0100 1010 1111 xxxx xxxx */
2763
2764 {illegal,0, 3,20}, /* b0: 0110 0100 1011 0000 xxxx xxxx */
2765 {SUINB,"SMH,%b", 3,20}, /* b1: 0110 0100 1011 0001 xxxx xxxx */
2766 {illegal,0, 3,20}, /* b2: 0110 0100 1011 0010 xxxx xxxx */
2767 {SUINB,"EOM,%b", 3,20}, /* b3: 0110 0100 1011 0011 xxxx xxxx */
2768 {illegal,0, 3,20}, /* b4: 0110 0100 1011 0100 xxxx xxxx */
2769 {SUINB,"TMM,%b", 3,20}, /* b5: 0110 0100 1011 0101 xxxx xxxx */
2770 {illegal,0, 3,20}, /* b6: 0110 0100 1011 0110 xxxx xxxx */
2771 {illegal,0, 3,20}, /* b7: 0110 0100 1011 0111 xxxx xxxx */
2772 {illegal,0, 3,20}, /* b8: 0110 0100 1011 1000 xxxx xxxx */
2773 {LTI,"SMH,%b", 3,20}, /* b9: 0110 0100 1011 1001 xxxx xxxx */
2774 {illegal,0, 3,20}, /* ba: 0110 0100 1011 1010 xxxx xxxx */
2775 {LTI,"EOM,%b", 3,20}, /* bb: 0110 0100 1011 1011 xxxx xxxx */
2776 {illegal,0, 3,20}, /* bc: 0110 0100 1011 1100 xxxx xxxx */
2777 {LTI,"TMM,%b", 3,20}, /* bd: 0110 0100 1011 1101 xxxx xxxx */
2778 {LTI,"PT,%b", 3,20}, /* be: 0110 0100 1011 1110 xxxx xxxx */
2779 {illegal,0, 3,20}, /* bf: 0110 0100 1011 1111 xxxx xxxx */
2780
2781 {illegal,0, 3,20}, /* c0: 0110 0100 1100 0000 xxxx xxxx */
2782 {ADI,"SMH,%b", 3,20}, /* c1: 0110 0100 1100 0001 xxxx xxxx */
2783 {illegal,0, 3,20}, /* c2: 0110 0100 1100 0010 xxxx xxxx */
2784 {ADI,"EOM,%b", 3,20}, /* c3: 0110 0100 1100 0011 xxxx xxxx */
2785 {illegal,0, 3,20}, /* c4: 0110 0100 1100 0100 xxxx xxxx */
2786 {ADI,"TMM,%b", 3,20}, /* c5: 0110 0100 1100 0101 xxxx xxxx */
2787 {illegal,0, 3,20}, /* c6: 0110 0100 1100 0110 xxxx xxxx */
2788 {illegal,0, 3,20}, /* c7: 0110 0100 1100 0111 xxxx xxxx */
2789 {illegal,0, 3,20}, /* c8: 0110 0100 1100 1000 xxxx xxxx */
2790 {ONI,"SMH,%b", 3,20}, /* c9: 0110 0100 1100 1001 xxxx xxxx */
2791 {illegal,0, 3,20}, /* ca: 0110 0100 1100 1010 xxxx xxxx */
2792 {ONI,"EOM,%b", 3,20}, /* cb: 0110 0100 1100 1011 xxxx xxxx */
2793 {illegal,0, 3,20}, /* cc: 0110 0100 1100 1100 xxxx xxxx */
2794 {ONI,"TMM,%b", 3,20}, /* cd: 0110 0100 1100 1101 xxxx xxxx */
2795 {ONI,"PT,%b", 3,20}, /* ce: 0110 0100 1100 1110 xxxx xxxx */
2796 {illegal,0, 3,20}, /* cf: 0110 0100 1100 1111 xxxx xxxx */
2797
2798 {illegal,0, 3,20}, /* d0: 0110 0100 1101 0000 xxxx xxxx */
2799 {ACI,"SMH,%b", 3,20}, /* d1: 0110 0100 1101 0001 xxxx xxxx */
2800 {illegal,0, 3,20}, /* d2: 0110 0100 1101 0010 xxxx xxxx */
2801 {ACI,"EOM,%b", 3,20}, /* d3: 0110 0100 1101 0011 xxxx xxxx */
2802 {illegal,0, 3,20}, /* d4: 0110 0100 1101 0100 xxxx xxxx */
2803 {ACI,"TMM,%b", 3,20}, /* d5: 0110 0100 1101 0101 xxxx xxxx */
2804 {illegal,0, 3,20}, /* d6: 0110 0100 1101 0110 xxxx xxxx */
2805 {illegal,0, 3,20}, /* d7: 0110 0100 1101 0111 xxxx xxxx */
2806 {illegal,0, 3,20}, /* d8: 0110 0100 1101 1000 xxxx xxxx */
2807 {OFFI,"SMH,%b", 3,20}, /* d9: 0110 0100 1101 1001 xxxx xxxx */
2808 {illegal,0, 3,20}, /* da: 0110 0100 1101 1010 xxxx xxxx */
2809 {OFFI,"EOM,%b", 3,20}, /* db: 0110 0100 1101 1011 xxxx xxxx */
2810 {illegal,0, 3,20}, /* dc: 0110 0100 1101 1100 xxxx xxxx */
2811 {OFFI,"TMM,%b", 3,20}, /* dd: 0110 0100 1101 1101 xxxx xxxx */
2812 {OFFI,"PT,%b", 3,20}, /* de: 0110 0100 1101 1110 xxxx xxxx */
2813 {illegal,0, 3,20}, /* df: 0110 0100 1101 1111 xxxx xxxx */
2814
2815 {illegal,0, 3,20}, /* e0: 0110 0100 1110 0000 xxxx xxxx */
2816 {SUI,"SMH,%b", 3,20}, /* e1: 0110 0100 1110 0001 xxxx xxxx */
2817 {illegal,0, 3,20}, /* e2: 0110 0100 1110 0010 xxxx xxxx */
2818 {SUI,"EOM,%b", 3,20}, /* e3: 0110 0100 1110 0011 xxxx xxxx */
2819 {illegal,0, 3,20}, /* e4: 0110 0100 1110 0100 xxxx xxxx */
2820 {SUI,"TMM,%b", 3,20}, /* e5: 0110 0100 1110 0101 xxxx xxxx */
2821 {illegal,0, 3,20}, /* e6: 0110 0100 1110 0110 xxxx xxxx */
2822 {illegal,0, 3,20}, /* e7: 0110 0100 1110 0111 xxxx xxxx */
2823 {illegal,0, 3,20}, /* e8: 0110 0100 1110 1000 xxxx xxxx */
2824 {NEI,"SMH,%b", 3,20}, /* e9: 0110 0100 1110 1001 xxxx xxxx */
2825 {illegal,0, 3,20}, /* ea: 0110 0100 1110 1010 xxxx xxxx */
2826 {NEI,"EOM,%b", 3,20}, /* eb: 0110 0100 1110 1011 xxxx xxxx */
2827 {illegal,0, 3,20}, /* ec: 0110 0100 1110 1100 xxxx xxxx */
2828 {NEI,"TMM,%b", 3,20}, /* ed: 0110 0100 1110 1101 xxxx xxxx */
2829 {NEI,"PT,%b", 3,20}, /* ee: 0110 0100 1110 1110 xxxx xxxx */
2830 {illegal,0, 3,20}, /* ef: 0110 0100 1110 1111 xxxx xxxx */
2831
2832 {illegal,0, 3,20}, /* f0: 0110 0100 1111 0000 xxxx xxxx */
2833 {SBI,"SMH,%b", 3,20}, /* f1: 0110 0100 1111 0001 xxxx xxxx */
2834 {illegal,0, 3,20}, /* f2: 0110 0100 1111 0010 xxxx xxxx */
2835 {SBI,"EOM,%b", 3,20}, /* f3: 0110 0100 1111 0011 xxxx xxxx */
2836 {illegal,0, 3,20}, /* f4: 0110 0100 1111 0100 xxxx xxxx */
2837 {SBI,"TMM,%b", 3,20}, /* f5: 0110 0100 1111 0101 xxxx xxxx */
2838 {illegal,0, 3,20}, /* f6: 0110 0100 1111 0110 xxxx xxxx */
2839 {illegal,0, 3,20}, /* f7: 0110 0100 1111 0111 xxxx xxxx */
2840 {illegal,0, 3,20}, /* f8: 0110 0100 1111 1000 xxxx xxxx */
2841 {EQI,"SMH,%b", 3,20}, /* f9: 0110 0100 1111 1001 xxxx xxxx */
2842 {illegal,0, 3,20}, /* fa: 0110 0100 1111 1010 xxxx xxxx */
2843 {EQI,"EOM,%b", 3,20}, /* fb: 0110 0100 1111 1011 xxxx xxxx */
2844 {illegal,0, 3,20}, /* fc: 0110 0100 1111 1100 xxxx xxxx */
2845 {EQI,"TMM,%b", 3,20}, /* fd: 0110 0100 1111 1101 xxxx xxxx */
2846 {EQI,"PT,%b", 3,20}, /* fe: 0110 0100 1111 1110 xxxx xxxx */
2847 {illegal,0, 3,20} /* ff: 0110 0100 1111 1111 xxxx xxxx */
2848 };
2849
2850 /* prefix 70 */
2851 static struct dasm_s dasm70[256] =
2852 {
2853 {illegal,0, 2, 8}, /* 00: 0111 0000 0000 0000 */
2854 {illegal,0, 2, 8}, /* 01: 0111 0000 0000 0001 */
2855 {illegal,0, 2, 8}, /* 02: 0111 0000 0000 0010 */
2856 {illegal,0, 2, 8}, /* 03: 0111 0000 0000 0011 */
2857 {illegal,0, 2, 8}, /* 04: 0111 0000 0000 0100 */
2858 {illegal,0, 2, 8}, /* 05: 0111 0000 0000 0101 */
2859 {illegal,0, 2, 8}, /* 06: 0111 0000 0000 0110 */
2860 {illegal,0, 2, 8}, /* 07: 0111 0000 0000 0111 */
2861 {illegal,0, 2, 8}, /* 08: 0111 0000 0000 1000 */
2862 {illegal,0, 2, 8}, /* 09: 0111 0000 0000 1001 */
2863 {illegal,0, 2, 8}, /* 0a: 0111 0000 0000 1010 */
2864 {illegal,0, 2, 8}, /* 0b: 0111 0000 0000 1011 */
2865 {illegal,0, 2, 8}, /* 0c: 0111 0000 0000 1100 */
2866 {illegal,0, 2, 8}, /* 0d: 0111 0000 0000 1101 */
2867 {SSPD,"%w", 4,20}, /* 0e: 0111 0000 0000 1110 llll llll hhhh hhhh */
2868 {LSPD,"%w", 4,20}, /* 0f: 0111 0000 0000 1111 llll llll hhhh hhhh */
2869
2870 {illegal,0, 2, 8}, /* 10: 0111 0000 0001 0000 */
2871 {illegal,0, 2, 8}, /* 11: 0111 0000 0001 0001 */
2872 {illegal,0, 2, 8}, /* 12: 0111 0000 0001 0010 */
2873 {illegal,0, 2, 8}, /* 13: 0111 0000 0001 0011 */
2874 {illegal,0, 2, 8}, /* 14: 0111 0000 0001 0100 */
2875 {illegal,0, 2, 8}, /* 15: 0111 0000 0001 0101 */
2876 {illegal,0, 2, 8}, /* 16: 0111 0000 0001 0110 */
2877 {illegal,0, 2, 8}, /* 17: 0111 0000 0001 0111 */
2878 {illegal,0, 2, 8}, /* 18: 0111 0000 0001 1000 */
2879 {illegal,0, 2, 8}, /* 19: 0111 0000 0001 1001 */
2880 {illegal,0, 2, 8}, /* 1a: 0111 0000 0001 1010 */
2881 {illegal,0, 2, 8}, /* 1b: 0111 0000 0001 1011 */
2882 {illegal,0, 2, 8}, /* 1c: 0111 0000 0001 1100 */
2883 {illegal,0, 2, 8}, /* 1d: 0111 0000 0001 1101 */
2884 {SBCD,"%w", 4,20}, /* 1e: 0111 0000 0001 1110 llll llll hhhh hhhh */
2885 {LBCD,"%w", 4,20}, /* 1f: 0111 0000 0001 1111 llll llll hhhh hhhh */
2886
2887 {illegal,0, 2, 8}, /* 20: 0111 0000 0010 0000 */
2888 {illegal,0, 2, 8}, /* 21: 0111 0000 0010 0001 */
2889 {illegal,0, 2, 8}, /* 22: 0111 0000 0010 0010 */
2890 {illegal,0, 2, 8}, /* 23: 0111 0000 0010 0011 */
2891 {illegal,0, 2, 8}, /* 24: 0111 0000 0010 0100 */
2892 {illegal,0, 2, 8}, /* 25: 0111 0000 0010 0101 */
2893 {illegal,0, 2, 8}, /* 26: 0111 0000 0010 0110 */
2894 {illegal,0, 2, 8}, /* 27: 0111 0000 0010 0111 */
2895 {illegal,0, 2, 8}, /* 28: 0111 0000 0010 1000 */
2896 {illegal,0, 2, 8}, /* 29: 0111 0000 0010 1001 */
2897 {illegal,0, 2, 8}, /* 2a: 0111 0000 0010 1010 */
2898 {illegal,0, 2, 8}, /* 2b: 0111 0000 0010 1011 */
2899 {illegal,0, 2, 8}, /* 2c: 0111 0000 0010 1100 */
2900 {illegal,0, 2, 8}, /* 2d: 0111 0000 0010 1101 */
2901 {SDED,"%w", 4,20}, /* 2e: 0111 0000 0010 1110 llll llll hhhh hhhh */
2902 {LDED,"%w", 4,20}, /* 2f: 0111 0000 0010 1111 llll llll hhhh hhhh */
2903
2904 {illegal,0, 2, 8}, /* 30: 0111 0000 0011 0000 */
2905 {illegal,0, 2, 8}, /* 31: 0111 0000 0011 0001 */
2906 {illegal,0, 2, 8}, /* 32: 0111 0000 0011 0010 */
2907 {illegal,0, 2, 8}, /* 33: 0111 0000 0011 0011 */
2908 {illegal,0, 2, 8}, /* 34: 0111 0000 0011 0100 */
2909 {illegal,0, 2, 8}, /* 35: 0111 0000 0011 0101 */
2910 {illegal,0, 2, 8}, /* 36: 0111 0000 0011 0110 */
2911 {illegal,0, 2, 8}, /* 37: 0111 0000 0011 0111 */
2912 {illegal,0, 2, 8}, /* 38: 0111 0000 0011 1000 */
2913 {illegal,0, 2, 8}, /* 39: 0111 0000 0011 1001 */
2914 {illegal,0, 2, 8}, /* 3a: 0111 0000 0011 1010 */
2915 {illegal,0, 2, 8}, /* 3b: 0111 0000 0011 1011 */
2916 {illegal,0, 2, 8}, /* 3c: 0111 0000 0011 1100 */
2917 {illegal,0, 2, 8}, /* 3d: 0111 0000 0011 1101 */
2918 {SHLD,"%w", 4,20}, /* 3e: 0111 0000 0011 1110 llll llll hhhh hhhh */
2919 {LHLD,"%w", 4,20}, /* 3f: 0111 0000 0011 1111 llll llll hhhh hhhh */
2920
2921 {EADD,"EA,V", 2,11}, /* 40: 0111 0000 0100 0000 */
2922 {EADD,"EA,A", 2,11}, /* 41: 0111 0000 0100 0001 */
2923 {EADD,"EA,B", 2,11}, /* 42: 0111 0000 0100 0010 */
2924 {EADD,"EA,C", 2,11}, /* 43: 0111 0000 0100 0011 */
2925 {illegal,0, 2, 8}, /* 44: 0111 0000 0100 0100 */
2926 {illegal,0, 2, 8}, /* 45: 0111 0000 0100 0101 */
2927 {illegal,0, 2, 8}, /* 46: 0111 0000 0100 0110 */
2928 {illegal,0, 2, 8}, /* 47: 0111 0000 0100 0111 */
2929 {illegal,0, 2, 8}, /* 48: 0111 0000 0100 1000 */
2930 {illegal,0, 2, 8}, /* 49: 0111 0000 0100 1001 */
2931 {illegal,0, 2, 8}, /* 4a: 0111 0000 0100 1010 */
2932 {illegal,0, 2, 8}, /* 4b: 0111 0000 0100 1011 */
2933 {illegal,0, 2, 8}, /* 4c: 0111 0000 0100 1100 */
2934 {illegal,0, 2, 8}, /* 4d: 0111 0000 0100 1101 */
2935 {illegal,0, 2, 8}, /* 4e: 0111 0000 0100 1110 */
2936 {illegal,0, 2, 8}, /* 4f: 0111 0000 0100 1111 */
2937
2938 {illegal,0, 2, 8}, /* 50: 0111 0000 0101 0000 */
2939 {illegal,0, 2, 8}, /* 51: 0111 0000 0101 0001 */
2940 {illegal,0, 2, 8}, /* 52: 0111 0000 0101 0010 */
2941 {illegal,0, 2, 8}, /* 53: 0111 0000 0101 0011 */
2942 {illegal,0, 2, 8}, /* 54: 0111 0000 0101 0100 */
2943 {illegal,0, 2, 8}, /* 55: 0111 0000 0101 0101 */
2944 {illegal,0, 2, 8}, /* 56: 0111 0000 0101 0110 */
2945 {illegal,0, 2, 8}, /* 57: 0111 0000 0101 0111 */
2946 {illegal,0, 2, 8}, /* 58: 0111 0000 0101 1000 */
2947 {illegal,0, 2, 8}, /* 59: 0111 0000 0101 1001 */
2948 {illegal,0, 2, 8}, /* 5a: 0111 0000 0101 1010 */
2949 {illegal,0, 2, 8}, /* 5b: 0111 0000 0101 1011 */
2950 {illegal,0, 2, 8}, /* 5c: 0111 0000 0101 1100 */
2951 {illegal,0, 2, 8}, /* 5d: 0111 0000 0101 1101 */
2952 {illegal,0, 2, 8}, /* 5e: 0111 0000 0101 1110 */
2953 {illegal,0, 2, 8}, /* 5f: 0111 0000 0101 1111 */
2954
2955 {ESUB,"EA,V", 2,11}, /* 60: 0111 0000 0110 0000 */
2956 {ESUB,"EA,A", 2,11}, /* 61: 0111 0000 0110 0001 */
2957 {ESUB,"EA,B", 2,11}, /* 62: 0111 0000 0110 0010 */
2958 {ESUB,"EA,C", 2,11}, /* 63: 0111 0000 0110 0011 */
2959 {illegal,0, 2, 8}, /* 64: 0111 0000 0110 0100 */
2960 {illegal,0, 2, 8}, /* 65: 0111 0000 0110 0101 */
2961 {illegal,0, 2, 8}, /* 66: 0111 0000 0110 0110 */
2962 {illegal,0, 2, 8}, /* 67: 0111 0000 0110 0111 */
2963 {MOV,"V,(%w)", 4,17}, /* 68: 0111 0000 0110 1000 llll llll hhhh hhhh */
2964 {MOV,"A,(%w)", 4,17}, /* 69: 0111 0000 0110 1001 llll llll hhhh hhhh */
2965 {MOV,"B,(%w)", 4,17}, /* 6a: 0111 0000 0110 1010 llll llll hhhh hhhh */
2966 {MOV,"C,(%w)", 4,17}, /* 6b: 0111 0000 0110 1011 llll llll hhhh hhhh */
2967 {MOV,"D,(%w)", 4,17}, /* 6c: 0111 0000 0110 1100 llll llll hhhh hhhh */
2968 {MOV,"E,(%w)", 4,17}, /* 6d: 0111 0000 0110 1101 llll llll hhhh hhhh */
2969 {MOV,"H,(%w)", 4,17}, /* 6e: 0111 0000 0110 1110 llll llll hhhh hhhh */
2970 {MOV,"L,(%w)", 4,17}, /* 6f: 0111 0000 0110 1111 llll llll hhhh hhhh */
2971
2972 {illegal,0, 2, 8}, /* 70: 0111 0000 0111 0000 */
2973 {illegal,0, 2, 8}, /* 71: 0111 0000 0111 0001 */
2974 {illegal,0, 2, 8}, /* 72: 0111 0000 0111 0010 */
2975 {illegal,0, 2, 8}, /* 73: 0111 0000 0111 0011 */
2976 {illegal,0, 2, 8}, /* 74: 0111 0000 0111 0100 */
2977 {illegal,0, 2, 8}, /* 75: 0111 0000 0111 0101 */
2978 {illegal,0, 2, 8}, /* 76: 0111 0000 0111 0110 */
2979 {illegal,0, 2, 8}, /* 77: 0111 0000 0111 0111 */
2980 {MOV,"(%w),V", 4,17}, /* 78: 0111 0000 0111 1000 llll llll hhhh hhhh */
2981 {MOV,"(%w),A", 4,17}, /* 79: 0111 0000 0111 1001 llll llll hhhh hhhh */
2982 {MOV,"(%w),B", 4,17}, /* 7a: 0111 0000 0111 1010 llll llll hhhh hhhh */
2983 {MOV,"(%w),C", 4,17}, /* 7b: 0111 0000 0111 1011 llll llll hhhh hhhh */
2984 {MOV,"(%w),D", 4,17}, /* 7c: 0111 0000 0111 1100 llll llll hhhh hhhh */
2985 {MOV,"(%w),E", 4,17}, /* 7d: 0111 0000 0111 1101 llll llll hhhh hhhh */
2986 {MOV,"(%w),H", 4,17}, /* 7e: 0111 0000 0111 1110 llll llll hhhh hhhh */
2987 {MOV,"(%w),L", 4,17}, /* 7f: 0111 0000 0111 1111 llll llll hhhh hhhh */
2988
2989 {illegal,0, 2, 8}, /* 80: 0111 0000 1000 0000 */
2990 {illegal,0, 2, 8}, /* 81: 0111 0000 1000 0001 */
2991 {illegal,0, 2, 8}, /* 82: 0111 0000 1000 0010 */
2992 {illegal,0, 2, 8}, /* 83: 0111 0000 1000 0011 */
2993 {illegal,0, 2, 8}, /* 84: 0111 0000 1000 0100 */
2994 {illegal,0, 2, 8}, /* 85: 0111 0000 1000 0101 */
2995 {illegal,0, 2, 8}, /* 86: 0111 0000 1000 0110 */
2996 {illegal,0, 2, 8}, /* 87: 0111 0000 1000 0111 */
2997 {illegal,0, 2,11}, /* 88: 0111 0000 1000 1000 */
2998 {ANAX,"(BC)", 2,11}, /* 89: 0111 0000 1000 1001 */
2999 {ANAX,"(DE)", 2,11}, /* 8a: 0111 0000 1000 1010 */
3000 {ANAX,"(HL)", 2,11}, /* 8b: 0111 0000 1000 1011 */
3001 {ANAX,"(DE+)", 2,11}, /* 8c: 0111 0000 1000 1100 */
3002 {ANAX,"(HL+)", 2,11}, /* 8d: 0111 0000 1000 1101 */
3003 {ANAX,"(DE-)", 2,11}, /* 8e: 0111 0000 1000 1110 */
3004 {ANAX,"(HL-)", 2,11}, /* 8f: 0111 0000 1000 1111 */
3005
3006 {illegal,0, 2,11}, /* 90: 0111 0000 1001 0000 */
3007 {XRAX,"(BC)", 2,11}, /* 91: 0111 0000 1001 0001 */
3008 {XRAX,"(DE)", 2,11}, /* 92: 0111 0000 1001 0010 */
3009 {XRAX,"(HL)", 2,11}, /* 93: 0111 0000 1001 0011 */
3010 {XRAX,"(DE+)", 2,11}, /* 94: 0111 0000 1001 0100 */
3011 {XRAX,"(HL+)", 2,11}, /* 95: 0111 0000 1001 0101 */
3012 {XRAX,"(DE-)", 2,11}, /* 96: 0111 0000 1001 0110 */
3013 {XRAX,"(HL-)", 2,11}, /* 97: 0111 0000 1001 0111 */
3014 {illegal,0, 2, 8}, /* 98: 0111 0000 1001 1000 */
3015 {ORAX,"(BC)", 2, 8}, /* 99: 0111 0000 1001 1001 */
3016 {ORAX,"(DE)", 2, 8}, /* 9a: 0111 0000 1001 1010 */
3017 {ORAX,"(HL)", 2, 8}, /* 9b: 0111 0000 1001 1011 */
3018 {ORAX,"(DE+)", 2, 8}, /* 9c: 0111 0000 1001 1100 */
3019 {ORAX,"(HL+)", 2, 8}, /* 9d: 0111 0000 1001 1101 */
3020 {ORAX,"(DE-)", 2, 8}, /* 9e: 0111 0000 1001 1110 */
3021 {ORAX,"(HL-)", 2, 8}, /* 9f: 0111 0000 1001 1111 */
3022
3023 {illegal,0, 2,11}, /* a0: 0111 0000 1010 0000 */
3024 {ADDNCX,"(BC)", 2,11}, /* a1: 0111 0000 1010 0001 */
3025 {ADDNCX,"(DE)", 2,11}, /* a2: 0111 0000 1010 0010 */
3026 {ADDNCX,"(HL)", 2,11}, /* a3: 0111 0000 1010 0011 */
3027 {ADDNCX,"(DE+)", 2,11}, /* a4: 0111 0000 1010 0100 */
3028 {ADDNCX,"(HL+)", 2,11}, /* a5: 0111 0000 1010 0101 */
3029 {ADDNCX,"(DE-)", 2,11}, /* a6: 0111 0000 1010 0110 */
3030 {ADDNCX,"(HL-)", 2,11}, /* a7: 0111 0000 1010 0111 */
3031 {illegal,0, 2,11}, /* a8: 0111 0000 1010 1000 */
3032 {GTAX,"(BC)", 2,11}, /* a9: 0111 0000 1010 1001 */
3033 {GTAX,"(DE)", 2,11}, /* aa: 0111 0000 1010 1010 */
3034 {GTAX,"(HL)", 2,11}, /* ab: 0111 0000 1010 1011 */
3035 {GTAX,"(DE+)", 2,11}, /* ac: 0111 0000 1010 1100 */
3036 {GTAX,"(HL+)", 2,11}, /* ad: 0111 0000 1010 1101 */
3037 {GTAX,"(DE-)", 2,11}, /* ae: 0111 0000 1010 1110 */
3038 {GTAX,"(HL-)", 2,11}, /* af: 0111 0000 1010 1111 */
3039
3040 {illegal,0, 2,11}, /* b0: 0111 0000 1011 0000 */
3041 {SUBNBX,"(BC)", 2,11}, /* b1: 0111 0000 1011 0001 */
3042 {SUBNBX,"(DE)", 2,11}, /* b2: 0111 0000 1011 0010 */
3043 {SUBNBX,"(HL)", 2,11}, /* b3: 0111 0000 1011 0011 */
3044 {SUBNBX,"(DE+)", 2,11}, /* b4: 0111 0000 1011 0100 */
3045 {SUBNBX,"(HL+)", 2,11}, /* b5: 0111 0000 1011 0101 */
3046 {SUBNBX,"(DE-)", 2,11}, /* b6: 0111 0000 1011 0110 */
3047 {SUBNBX,"(HL-)", 2,11}, /* b7: 0111 0000 1011 0111 */
3048 {illegal,0, 2,11}, /* b8: 0111 0000 1011 1000 */
3049 {LTAX,"(BC)", 2,11}, /* b9: 0111 0000 1011 1001 */
3050 {LTAX,"(DE)", 2,11}, /* ba: 0111 0000 1011 1010 */
3051 {LTAX,"(HL)", 2,11}, /* bb: 0111 0000 1011 1011 */
3052 {LTAX,"(DE+)", 2,11}, /* bc: 0111 0000 1011 1100 */
3053 {LTAX,"(HL+)", 2,11}, /* bd: 0111 0000 1011 1101 */
3054 {LTAX,"(DE-)", 2,11}, /* be: 0111 0000 1011 1110 */
3055 {LTAX,"(HL-)", 2,11}, /* bf: 0111 0000 1011 1111 */
3056
3057 {illegal,0, 2,11}, /* c0: 0111 0000 1100 0000 */
3058 {ADDX,"(BC)", 2,11}, /* c1: 0111 0000 1100 0001 */
3059 {ADDX,"(DE)", 2,11}, /* c2: 0111 0000 1100 0010 */
3060 {ADDX,"(HL)", 2,11}, /* c3: 0111 0000 1100 0011 */
3061 {ADDX,"(DE+)", 2,11}, /* c4: 0111 0000 1100 0100 */
3062 {ADDX,"(HL+)", 2,11}, /* c5: 0111 0000 1100 0101 */
3063 {ADDX,"(DE-)", 2,11}, /* c6: 0111 0000 1100 0110 */
3064 {ADDX,"(HL-)", 2,11}, /* c7: 0111 0000 1100 0111 */
3065 {illegal,0, 2,11}, /* c8: 0111 0000 1100 1000 */
3066 {ONAX,"(BC)", 2,11}, /* c9: 0111 0000 1100 1001 */
3067 {ONAX,"(DE)", 2,11}, /* ca: 0111 0000 1100 1010 */
3068 {ONAX,"(HL)", 2,11}, /* cb: 0111 0000 1100 1011 */
3069 {ONAX,"(DE+)", 2,11}, /* cc: 0111 0000 1100 1100 */
3070 {ONAX,"(HL+)", 2,11}, /* cd: 0111 0000 1100 1101 */
3071 {ONAX,"(DE-)", 2,11}, /* ce: 0111 0000 1100 1110 */
3072 {ONAX,"(HL-)", 2,11}, /* cf: 0111 0000 1100 1111 */
3073
3074 {illegal,0, 2,11}, /* d0: 0111 0000 1101 0000 */
3075 {ADCX,"(BC)", 2,11}, /* d1: 0111 0000 1101 0001 */
3076 {ADCX,"(DE)", 2,11}, /* d2: 0111 0000 1101 0010 */
3077 {ADCX,"(HL)", 2,11}, /* d3: 0111 0000 1101 0011 */
3078 {ADCX,"(DE+)", 2,11}, /* d4: 0111 0000 1101 0100 */
3079 {ADCX,"(HL+)", 2,11}, /* d5: 0111 0000 1101 0101 */
3080 {ADCX,"(DE-)", 2,11}, /* d6: 0111 0000 1101 0110 */
3081 {ADCX,"(HL-)", 2,11}, /* d7: 0111 0000 1101 0111 */
3082 {illegal,0, 2,11}, /* d8: 0111 0000 1101 1000 */
3083 {OFFAX,"(BC)", 2,11}, /* d9: 0111 0000 1101 1001 */
3084 {OFFAX,"(DE)", 2,11}, /* da: 0111 0000 1101 1010 */
3085 {OFFAX,"(HL)", 2,11}, /* db: 0111 0000 1101 1011 */
3086 {OFFAX,"(DE+)", 2,11}, /* dc: 0111 0000 1101 1100 */
3087 {OFFAX,"(HL+)", 2,11}, /* dd: 0111 0000 1101 1101 */
3088 {OFFAX,"(DE-)", 2,11}, /* de: 0111 0000 1101 1110 */
3089 {OFFAX,"(HL-)", 2,11}, /* df: 0111 0000 1101 1111 */
3090
3091 {illegal,0, 2,11}, /* e0: 0111 0000 1110 0000 */
3092 {SUBX,"(BC)", 2,11}, /* e1: 0111 0000 1110 0001 */
3093 {SUBX,"(DE)", 2,11}, /* e2: 0111 0000 1110 0010 */
3094 {SUBX,"(HL)", 2,11}, /* e3: 0111 0000 1110 0011 */
3095 {SUBX,"(DE+)", 2,11}, /* e4: 0111 0000 1110 0100 */
3096 {SUBX,"(HL+)", 2,11}, /* e5: 0111 0000 1110 0101 */
3097 {SUBX,"(DE-)", 2,11}, /* e6: 0111 0000 1110 0110 */
3098 {SUBX,"(HL-)", 2,11}, /* e7: 0111 0000 1110 0111 */
3099 {illegal,0, 2,11}, /* e8: 0111 0000 1110 1000 */
3100 {NEAX,"(BC)", 2,11}, /* e9: 0111 0000 1110 1001 */
3101 {NEAX,"(DE)", 2,11}, /* ea: 0111 0000 1110 1010 */
3102 {NEAX,"(HL)", 2,11}, /* eb: 0111 0000 1110 1011 */
3103 {NEAX,"(DE+)", 2,11}, /* ec: 0111 0000 1110 1100 */
3104 {NEAX,"(HL+)", 2,11}, /* ed: 0111 0000 1110 1101 */
3105 {NEAX,"(DE-)", 2,11}, /* ee: 0111 0000 1110 1110 */
3106 {NEAX,"(HL-)", 2,11}, /* ef: 0111 0000 1110 1111 */
3107
3108 {illegal,0, 2,11}, /* f0: 0111 0000 1111 0000 */
3109 {SBBX,"(BC)", 2,11}, /* f1: 0111 0000 1111 0001 */
3110 {SBBX,"(DE)", 2,11}, /* f2: 0111 0000 1111 0010 */
3111 {SBBX,"(HL)", 2,11}, /* f3: 0111 0000 1111 0011 */
3112 {SBBX,"(DE+)", 2,11}, /* f4: 0111 0000 1111 0100 */
3113 {SBBX,"(HL+)", 2,11}, /* f5: 0111 0000 1111 0101 */
3114 {SBBX,"(DE-)", 2,11}, /* f6: 0111 0000 1111 0110 */
3115 {SBBX,"(HL-)", 2,11}, /* f7: 0111 0000 1111 0111 */
3116 {illegal,0, 2,11}, /* f8: 0111 0000 1111 1000 */
3117 {EQAX,"(BC)", 2,11}, /* f9: 0111 0000 1111 1001 */
3118 {EQAX,"(DE)", 2,11}, /* fa: 0111 0000 1111 1010 */
3119 {EQAX,"(HL)", 2,11}, /* fb: 0111 0000 1111 1011 */
3120 {EQAX,"(DE+)", 2,11}, /* fc: 0111 0000 1111 1100 */
3121 {EQAX,"(HL+)", 2,11}, /* fd: 0111 0000 1111 1101 */
3122 {EQAX,"(DE-)", 2,11}, /* fe: 0111 0000 1111 1110 */
3123 {EQAX,"(HL-)", 2,11} /* ff: 0111 0000 1111 1111 */
3124 };
3125
3126 /* prefix 74 */
3127 static struct dasm_s dasm74[256] =
3128 {
3129 {illegal,0, 2, 8}, /* 00: 0111 0100 0000 0000 */
3130 {illegal,0, 2, 8}, /* 01: 0111 0100 0000 0001 */
3131 {illegal,0, 2, 8}, /* 02: 0111 0100 0000 0010 */
3132 {illegal,0, 2, 8}, /* 03: 0111 0100 0000 0011 */
3133 {illegal,0, 2, 8}, /* 04: 0111 0100 0000 0100 */
3134 {illegal,0, 2, 8}, /* 05: 0111 0100 0000 0101 */
3135 {illegal,0, 2, 8}, /* 06: 0111 0100 0000 0110 */
3136 {illegal,0, 2, 8}, /* 07: 0111 0100 0000 0111 */
3137 {ANI,"V,%b", 3,11}, /* 08: 0111 0100 0000 1000 xxxx xxxx */
3138 {ANI,"A,%b", 3,11}, /* 09: 0111 0100 0000 1001 xxxx xxxx */
3139 {ANI,"B,%b", 3,11}, /* 0a: 0111 0100 0000 1010 xxxx xxxx */
3140 {ANI,"C,%b", 3,11}, /* 0b: 0111 0100 0000 1011 xxxx xxxx */
3141 {ANI,"D,%b", 3,11}, /* 0c: 0111 0100 0000 1100 xxxx xxxx */
3142 {ANI,"E,%b", 3,11}, /* 0d: 0111 0100 0000 1101 xxxx xxxx */
3143 {ANI,"H,%b", 3,11}, /* 0e: 0111 0100 0000 1110 xxxx xxxx */
3144 {ANI,"L,%b", 3,11}, /* 0f: 0111 0100 0000 1111 xxxx xxxx */
3145
3146 {XRI,"V,%b", 3,11}, /* 10: 0111 0100 0001 0000 xxxx xxxx */
3147 {XRI,"A,%b", 3,11}, /* 11: 0111 0100 0001 0001 xxxx xxxx */
3148 {XRI,"B,%b", 3,11}, /* 12: 0111 0100 0001 0010 xxxx xxxx */
3149 {XRI,"C,%b", 3,11}, /* 13: 0111 0100 0001 0011 xxxx xxxx */
3150 {XRI,"D,%b", 3,11}, /* 14: 0111 0100 0001 0100 xxxx xxxx */
3151 {XRI,"E,%b", 3,11}, /* 15: 0111 0100 0001 0101 xxxx xxxx */
3152 {XRI,"H,%b", 3,11}, /* 16: 0111 0100 0001 0110 xxxx xxxx */
3153 {XRI,"L,%b", 3,11}, /* 17: 0111 0100 0001 0111 xxxx xxxx */
3154 {ORI,"V,%b", 3,11}, /* 18: 0111 0100 0001 1000 xxxx xxxx */
3155 {ORI,"A,%b", 3,11}, /* 19: 0111 0100 0001 1001 xxxx xxxx */
3156 {ORI,"B,%b", 3,11}, /* 1a: 0111 0100 0001 1010 xxxx xxxx */
3157 {ORI,"C,%b", 3,11}, /* 1b: 0111 0100 0001 1011 xxxx xxxx */
3158 {ORI,"D,%b", 3,11}, /* 1c: 0111 0100 0001 1100 xxxx xxxx */
3159 {ORI,"E,%b", 3,11}, /* 1d: 0111 0100 0001 1101 xxxx xxxx */
3160 {ORI,"H,%b", 3,11}, /* 1e: 0111 0100 0001 1110 xxxx xxxx */
3161 {ORI,"L,%b", 3,11}, /* 1f: 0111 0100 0001 1111 xxxx xxxx */
3162
3163 {ADINC,"V,%b", 3,11}, /* 20: 0111 0100 0010 0000 xxxx xxxx */
3164 {ADINC,"A,%b", 3,11}, /* 21: 0111 0100 0010 0001 xxxx xxxx */
3165 {ADINC,"B,%b", 3,11}, /* 22: 0111 0100 0010 0010 xxxx xxxx */
3166 {ADINC,"C,%b", 3,11}, /* 23: 0111 0100 0010 0011 xxxx xxxx */
3167 {ADINC,"D,%b", 3,11}, /* 24: 0111 0100 0010 0100 xxxx xxxx */
3168 {ADINC,"E,%b", 3,11}, /* 25: 0111 0100 0010 0101 xxxx xxxx */
3169 {ADINC,"H,%b", 3,11}, /* 26: 0111 0100 0010 0110 xxxx xxxx */
3170 {ADINC,"L,%b", 3,11}, /* 27: 0111 0100 0010 0111 xxxx xxxx */
3171 {GTI,"V,%b", 3,11}, /* 28: 0111 0100 0010 1000 xxxx xxxx */
3172 {GTI,"A,%b", 3,11}, /* 29: 0111 0100 0010 1001 xxxx xxxx */
3173 {GTI,"B,%b", 3,11}, /* 2a: 0111 0100 0010 1010 xxxx xxxx */
3174 {GTI,"C,%b", 3,11}, /* 2b: 0111 0100 0010 1011 xxxx xxxx */
3175 {GTI,"D,%b", 3,11}, /* 2c: 0111 0100 0010 1100 xxxx xxxx */
3176 {GTI,"E,%b", 3,11}, /* 2d: 0111 0100 0010 1101 xxxx xxxx */
3177 {GTI,"H,%b", 3,11}, /* 2e: 0111 0100 0010 1110 xxxx xxxx */
3178 {GTI,"L,%b", 3,11}, /* 2f: 0111 0100 0010 1111 xxxx xxxx */
3179
3180 {SUINB,"V,%b", 3,11}, /* 30: 0111 0100 0011 0000 xxxx xxxx */
3181 {SUINB,"A,%b", 3,11}, /* 31: 0111 0100 0011 0001 xxxx xxxx */
3182 {SUINB,"B,%b", 3,11}, /* 32: 0111 0100 0011 0010 xxxx xxxx */
3183 {SUINB,"C,%b", 3,11}, /* 33: 0111 0100 0011 0011 xxxx xxxx */
3184 {SUINB,"D,%b", 3,11}, /* 34: 0111 0100 0011 0100 xxxx xxxx */
3185 {SUINB,"E,%b", 3,11}, /* 35: 0111 0100 0011 0101 xxxx xxxx */
3186 {SUINB,"H,%b", 3,11}, /* 36: 0111 0100 0011 0110 xxxx xxxx */
3187 {SUINB,"L,%b", 3,11}, /* 37: 0111 0100 0011 0111 xxxx xxxx */
3188 {LTI,"V,%b", 3,11}, /* 38: 0111 0100 0011 1000 xxxx xxxx */
3189 {LTI,"A,%b", 3,11}, /* 39: 0111 0100 0011 1001 xxxx xxxx */
3190 {LTI,"B,%b", 3,11}, /* 3a: 0111 0100 0011 1010 xxxx xxxx */
3191 {LTI,"C,%b", 3,11}, /* 3b: 0111 0100 0011 1011 xxxx xxxx */
3192 {LTI,"D,%b", 3,11}, /* 3c: 0111 0100 0011 1100 xxxx xxxx */
3193 {LTI,"E,%b", 3,11}, /* 3d: 0111 0100 0011 1101 xxxx xxxx */
3194 {LTI,"H,%b", 3,11}, /* 3e: 0111 0100 0011 1110 xxxx xxxx */
3195 {LTI,"L,%b", 3,11}, /* 3f: 0111 0100 0011 1111 xxxx xxxx */
3196
3197 {ADI,"V,%b", 3,11}, /* 40: 0111 0100 0100 0000 xxxx xxxx */
3198 {ADI,"A,%b", 3,11}, /* 41: 0111 0100 0100 0001 xxxx xxxx */
3199 {ADI,"B,%b", 3,11}, /* 42: 0111 0100 0100 0010 xxxx xxxx */
3200 {ADI,"C,%b", 3,11}, /* 43: 0111 0100 0100 0011 xxxx xxxx */
3201 {ADI,"D,%b", 3,11}, /* 44: 0111 0100 0100 0100 xxxx xxxx */
3202 {ADI,"E,%b", 3,11}, /* 45: 0111 0100 0100 0101 xxxx xxxx */
3203 {ADI,"H,%b", 3,11}, /* 46: 0111 0100 0100 0110 xxxx xxxx */
3204 {ADI,"L,%b", 3,11}, /* 47: 0111 0100 0100 0111 xxxx xxxx */
3205 {ONI,"V,%b", 3,11}, /* 48: 0111 0100 0100 1000 xxxx xxxx */
3206 {ONI,"A,%b", 3,11}, /* 49: 0111 0100 0100 1001 xxxx xxxx */
3207 {ONI,"B,%b", 3,11}, /* 4a: 0111 0100 0100 1010 xxxx xxxx */
3208 {ONI,"C,%b", 3,11}, /* 4b: 0111 0100 0100 1011 xxxx xxxx */
3209 {ONI,"D,%b", 3,11}, /* 4c: 0111 0100 0100 1100 xxxx xxxx */
3210 {ONI,"E,%b", 3,11}, /* 4d: 0111 0100 0100 1101 xxxx xxxx */
3211 {ONI,"H,%b", 3,11}, /* 4e: 0111 0100 0100 1110 xxxx xxxx */
3212 {ONI,"L,%b", 3,11}, /* 4f: 0111 0100 0100 1111 xxxx xxxx */
3213
3214 {ACI,"V,%b", 3,11}, /* 50: 0111 0100 0101 0000 xxxx xxxx */
3215 {ACI,"A,%b", 3,11}, /* 51: 0111 0100 0101 0001 xxxx xxxx */
3216 {ACI,"B,%b", 3,11}, /* 52: 0111 0100 0101 0010 xxxx xxxx */
3217 {ACI,"C,%b", 3,11}, /* 53: 0111 0100 0101 0011 xxxx xxxx */
3218 {ACI,"D,%b", 3,11}, /* 54: 0111 0100 0101 0100 xxxx xxxx */
3219 {ACI,"E,%b", 3,11}, /* 55: 0111 0100 0101 0101 xxxx xxxx */
3220 {ACI,"H,%b", 3,11}, /* 56: 0111 0100 0101 0110 xxxx xxxx */
3221 {ACI,"L,%b", 3,11}, /* 57: 0111 0100 0101 0111 xxxx xxxx */
3222 {OFFI,"V,%b", 3,11}, /* 58: 0111 0100 0101 1000 xxxx xxxx */
3223 {OFFI,"A,%b", 3,11}, /* 59: 0111 0100 0101 1001 xxxx xxxx */
3224 {OFFI,"B,%b", 3,11}, /* 5a: 0111 0100 0101 1010 xxxx xxxx */
3225 {OFFI,"C,%b", 3,11}, /* 5b: 0111 0100 0101 1011 xxxx xxxx */
3226 {OFFI,"D,%b", 3,11}, /* 5c: 0111 0100 0101 1100 xxxx xxxx */
3227 {OFFI,"E,%b", 3,11}, /* 5d: 0111 0100 0101 1101 xxxx xxxx */
3228 {OFFI,"H,%b", 3,11}, /* 5e: 0111 0100 0101 1110 xxxx xxxx */
3229 {OFFI,"L,%b", 3,11}, /* 5f: 0111 0100 0101 1111 xxxx xxxx */
3230
3231 {SUI,"V,%b", 3,11}, /* 60: 0111 0100 0110 0000 xxxx xxxx */
3232 {SUI,"A,%b", 3,11}, /* 61: 0111 0100 0110 0001 xxxx xxxx */
3233 {SUI,"B,%b", 3,11}, /* 62: 0111 0100 0110 0010 xxxx xxxx */
3234 {SUI,"C,%b", 3,11}, /* 63: 0111 0100 0110 0011 xxxx xxxx */
3235 {SUI,"D,%b", 3,11}, /* 64: 0111 0100 0110 0100 xxxx xxxx */
3236 {SUI,"E,%b", 3,11}, /* 65: 0111 0100 0110 0101 xxxx xxxx */
3237 {SUI,"H,%b", 3,11}, /* 66: 0111 0100 0110 0110 xxxx xxxx */
3238 {SUI,"L,%b", 3,11}, /* 67: 0111 0100 0110 0111 xxxx xxxx */
3239 {NEI,"V,%b", 3,11}, /* 68: 0111 0100 0110 1000 xxxx xxxx */
3240 {NEI,"A,%b", 3,11}, /* 69: 0111 0100 0110 1001 xxxx xxxx */
3241 {NEI,"B,%b", 3,11}, /* 6a: 0111 0100 0110 1010 xxxx xxxx */
3242 {NEI,"C,%b", 3,11}, /* 6b: 0111 0100 0110 1011 xxxx xxxx */
3243 {NEI,"D,%b", 3,11}, /* 6c: 0111 0100 0110 1100 xxxx xxxx */
3244 {NEI,"E,%b", 3,11}, /* 6d: 0111 0100 0110 1101 xxxx xxxx */
3245 {NEI,"H,%b", 3,11}, /* 6e: 0111 0100 0110 1110 xxxx xxxx */
3246 {NEI,"L,%b", 3,11}, /* 6f: 0111 0100 0110 1111 xxxx xxxx */
3247
3248 {SBI,"V,%b", 3,11}, /* 70: 0111 0100 0111 0000 xxxx xxxx */
3249 {SBI,"A,%b", 3,11}, /* 71: 0111 0100 0111 0001 xxxx xxxx */
3250 {SBI,"B,%b", 3,11}, /* 72: 0111 0100 0111 0010 xxxx xxxx */
3251 {SBI,"C,%b", 3,11}, /* 73: 0111 0100 0111 0011 xxxx xxxx */
3252 {SBI,"D,%b", 3,11}, /* 74: 0111 0100 0111 0100 xxxx xxxx */
3253 {SBI,"E,%b", 3,11}, /* 75: 0111 0100 0111 0101 xxxx xxxx */
3254 {SBI,"H,%b", 3,11}, /* 76: 0111 0100 0111 0110 xxxx xxxx */
3255 {SBI,"L,%b", 3,11}, /* 77: 0111 0100 0111 0111 xxxx xxxx */
3256 {EQI,"V,%b", 3,11}, /* 78: 0111 0100 0111 1000 xxxx xxxx */
3257 {EQI,"A,%b", 3,11}, /* 79: 0111 0100 0111 1001 xxxx xxxx */
3258 {EQI,"B,%b", 3,11}, /* 7a: 0111 0100 0111 1010 xxxx xxxx */
3259 {EQI,"C,%b", 3,11}, /* 7b: 0111 0100 0111 1011 xxxx xxxx */
3260 {EQI,"D,%b", 3,11}, /* 7c: 0111 0100 0111 1100 xxxx xxxx */
3261 {EQI,"E,%b", 3,11}, /* 7d: 0111 0100 0111 1101 xxxx xxxx */
3262 {EQI,"H,%b", 3,11}, /* 7e: 0111 0100 0111 1110 xxxx xxxx */
3263 {EQI,"L,%b", 3,11}, /* 7f: 0111 0100 0111 1111 xxxx xxxx */
3264
3265 {illegal,0, 2, 8}, /* 80: 0111 0100 1000 0000 */
3266 {illegal,0, 2, 8}, /* 81: 0111 0100 1000 0001 */
3267 {illegal,0, 2, 8}, /* 82: 0111 0100 1000 0010 */
3268 {illegal,0, 2, 8}, /* 83: 0111 0100 1000 0011 */
3269 {illegal,0, 2, 8}, /* 84: 0111 0100 1000 0100 */
3270 {illegal,0, 2, 8}, /* 85: 0111 0100 1000 0101 */
3271 {illegal,0, 2, 8}, /* 86: 0111 0100 1000 0110 */
3272 {illegal,0, 2, 8}, /* 87: 0111 0100 1000 0111 */
3273 {ANAW,"%a", 3,14}, /* 88: 0111 0100 1000 1000 oooo oooo */
3274 {illegal,0, 2, 8}, /* 89: 0111 0100 1000 1001 */
3275 {illegal,0, 2, 8}, /* 8a: 0111 0100 1000 1010 */
3276 {illegal,0, 2, 8}, /* 8b: 0111 0100 1000 1011 */
3277 {illegal,0, 2, 8}, /* 8c: 0111 0100 1000 1100 */
3278 {DAN,"EA,BC", 2,11}, /* 8d: 0111 0100 1000 1101 */
3279 {DAN,"EA,DE", 2,11}, /* 8e: 0111 0100 1000 1110 */
3280 {DAN,"EA,HL", 2,11}, /* 8f: 0111 0100 1000 1111 */
3281
3282 {XRAW,"%a", 3,14}, /* 90: 0111 0100 1001 0000 oooo oooo */
3283 {illegal,0, 2, 8}, /* 91: 0111 0100 1001 0001 */
3284 {illegal,0, 2, 8}, /* 92: 0111 0100 1001 0010 */
3285 {illegal,0, 2, 8}, /* 93: 0111 0100 1001 0011 */
3286 {illegal,0, 2, 8}, /* 94: 0111 0100 1001 0100 */
3287 {DXR,"EA,BC", 2,11}, /* 95: 0111 0100 1001 0101 */
3288 {DXR,"EA,DE", 2,11}, /* 96: 0111 0100 1001 0110 */
3289 {DXR,"EA,HL", 2,11}, /* 97: 0111 0100 1001 0111 */
3290 {ORAW,"%a", 3,14}, /* 98: 0111 0100 1001 1000 oooo oooo */
3291 {illegal,0, 2, 8}, /* 99: 0111 0100 1001 1001 */
3292 {illegal,0, 2, 8}, /* 9a: 0111 0100 1001 1010 */
3293 {illegal,0, 2, 8}, /* 9b: 0111 0100 1001 1011 */
3294 {illegal,0, 2, 8}, /* 9c: 0111 0100 1001 1100 */
3295 {DOR,"EA,BC", 2,11}, /* 9d: 0111 0100 1001 1101 */
3296 {DOR,"EA,DE", 2,11}, /* 9e: 0111 0100 1001 1110 */
3297 {DOR,"EA,HL", 2,11}, /* 9f: 0111 0100 1001 1111 */
3298
3299 {ADDNCW,"%a", 3,14}, /* a0: 0111 0100 1010 0000 oooo oooo */
3300 {illegal,0, 2, 8}, /* a1: 0111 0100 1010 0001 */
3301 {illegal,0, 2, 8}, /* a2: 0111 0100 1010 0010 */
3302 {illegal,0, 2, 8}, /* a3: 0111 0100 1010 0011 */
3303 {illegal,0, 2, 8}, /* a4: 0111 0100 1010 0100 */
3304 {DADDNC,"EA,BC", 2,11}, /* a5: 0111 0100 1010 0101 */
3305 {DADDNC,"EA,DE", 2,11}, /* a6: 0111 0100 1010 0110 */
3306 {DADDNC,"EA,HL", 2,11}, /* a7: 0111 0100 1010 0111 */
3307 {GTAW,"%a", 3,14}, /* a8: 0111 0100 1010 1000 oooo oooo */
3308 {illegal,0, 2, 8}, /* a9: 0111 0100 1010 1001 */
3309 {illegal,0, 2, 8}, /* aa: 0111 0100 1010 1010 */
3310 {illegal,0, 2, 8}, /* ab: 0111 0100 1010 1011 */
3311 {illegal,0, 2, 8}, /* ac: 0111 0100 1010 1100 */
3312 {DGT,"EA,BC", 2,11}, /* ad: 0111 0100 1010 1101 */
3313 {DGT,"EA,DE", 2,11}, /* ae: 0111 0100 1010 1110 */
3314 {DGT,"EA,HL", 2,11}, /* af: 0111 0100 1010 1111 */
3315
3316 {SUBNBW,"%a", 3,14}, /* b0: 0111 0100 1011 0000 oooo oooo */
3317 {illegal,0, 2, 8}, /* b1: 0111 0100 1011 0001 */
3318 {illegal,0, 2, 8}, /* b2: 0111 0100 1011 0010 */
3319 {illegal,0, 2, 8}, /* b3: 0111 0100 1011 0011 */
3320 {illegal,0, 2, 8}, /* b4: 0111 0100 1011 0100 */
3321 {DSUBNB,"EA,BC", 2,11}, /* b5: 0111 0100 1011 0101 */
3322 {DSUBNB,"EA,DE", 2,11}, /* b6: 0111 0100 1011 0110 */
3323 {DSUBNB,"EA,HL", 2,11}, /* b7: 0111 0100 1011 0111 */
3324 {LTAW,"%a", 3,14}, /* b8: 0111 0100 1011 1000 oooo oooo */
3325 {illegal,0, 2, 8}, /* b9: 0111 0100 1011 1001 */
3326 {illegal,0, 2, 8}, /* ba: 0111 0100 1011 1010 */
3327 {illegal,0, 2, 8}, /* bb: 0111 0100 1011 1011 */
3328 {illegal,0, 2, 8}, /* bc: 0111 0100 1011 1100 */
3329 {DLT,"EA,BC", 2,11}, /* bd: 0111 0100 1011 1101 */
3330 {DLT,"EA,DE", 2,11}, /* be: 0111 0100 1011 1110 */
3331 {DLT,"EA,HL", 2,11}, /* bf: 0111 0100 1011 1111 */
3332
3333 {ADDW,"%a", 3,14}, /* c0: 0111 0100 1100 0000 oooo oooo */
3334 {illegal,0, 2, 8}, /* c1: 0111 0100 1100 0001 */
3335 {illegal,0, 2, 8}, /* c2: 0111 0100 1100 0010 */
3336 {illegal,0, 2, 8}, /* c3: 0111 0100 1100 0011 */
3337 {illegal,0, 2, 8}, /* c4: 0111 0100 1100 0100 */
3338 {DADD,"EA,BC", 2,11}, /* c5: 0111 0100 1100 0101 */
3339 {DADD,"EA,DE", 2,11}, /* c6: 0111 0100 1100 0110 */
3340 {DADD,"EA,HL", 2,11}, /* c7: 0111 0100 1100 0111 */
3341 {ONAW,"%a", 3,14}, /* c8: 0111 0100 1100 1000 oooo oooo */
3342 {illegal,0, 2, 8}, /* c9: 0111 0100 1100 1001 */
3343 {illegal,0, 2, 8}, /* ca: 0111 0100 1100 1010 */
3344 {illegal,0, 2, 8}, /* cb: 0111 0100 1100 1011 */
3345 {illegal,0, 2, 8}, /* cc: 0111 0100 1100 1100 */
3346 {DON,"EA,BC", 2,11}, /* cd: 0111 0100 1100 1101 */
3347 {DON,"EA,DE", 2,11}, /* ce: 0111 0100 1100 1110 */
3348 {DON,"EA,HL", 2,11}, /* cf: 0111 0100 1100 1111 */
3349
3350 {ADCW,"%a", 3,14}, /* d0: 0111 0100 1101 0000 oooo oooo */
3351 {illegal,0, 2, 8}, /* d1: 0111 0100 1101 0001 */
3352 {illegal,0, 2, 8}, /* d2: 0111 0100 1101 0010 */
3353 {illegal,0, 2, 8}, /* d3: 0111 0100 1101 0011 */
3354 {illegal,0, 2, 8}, /* d4: 0111 0100 1101 0100 */
3355 {DADC,"EA,BC", 2,11}, /* d5: 0111 0100 1101 0101 */
3356 {DADC,"EA,DE", 2,11}, /* d6: 0111 0100 1101 0110 */
3357 {DADC,"EA,HL", 2,11}, /* d7: 0111 0100 1101 0111 */
3358 {OFFAW,"%a", 3,14}, /* d8: 0111 0100 1101 1000 oooo oooo */
3359 {illegal,0, 2, 8}, /* d9: 0111 0100 1101 1001 */
3360 {illegal,0, 2, 8}, /* da: 0111 0100 1101 1010 */
3361 {illegal,0, 2, 8}, /* db: 0111 0100 1101 1011 */
3362 {illegal,0, 2, 8}, /* dc: 0111 0100 1101 1100 */
3363 {DOFF,"EA,BC", 2,11}, /* dd: 0111 0100 1101 1101 */
3364 {DOFF,"EA,DE", 2,11}, /* de: 0111 0100 1101 1110 */
3365 {DOFF,"EA,HL", 2,11}, /* df: 0111 0100 1101 1111 */
3366
3367 {SUBW,"%a", 3,14}, /* e0: 0111 0100 1110 0000 oooo oooo */
3368 {illegal,0, 2, 8}, /* e1: 0111 0100 1110 0001 */
3369 {illegal,0, 2, 8}, /* e2: 0111 0100 1110 0010 */
3370 {illegal,0, 2, 8}, /* e3: 0111 0100 1110 0011 */
3371 {illegal,0, 2, 8}, /* e4: 0111 0100 1110 0100 */
3372 {DSUB,"EA,BC", 2,11}, /* e5: 0111 0100 1110 0101 */
3373 {DSUB,"EA,DE", 2,11}, /* e6: 0111 0100 1110 0110 */
3374 {DSUB,"EA,HL", 2,11}, /* e7: 0111 0100 1110 0111 */
3375 {NEAW,"%a", 3,14}, /* e8: 0111 0100 1110 1000 oooo oooo */
3376 {illegal,0, 2, 8}, /* e9: 0111 0100 1110 1001 */
3377 {illegal,0, 2, 8}, /* ea: 0111 0100 1110 1010 */
3378 {illegal,0, 2, 8}, /* eb: 0111 0100 1110 1011 */
3379 {illegal,0, 2, 8}, /* ec: 0111 0100 1110 1100 */
3380 {DNE,"EA,BC", 2,11}, /* ed: 0111 0100 1110 1101 */
3381 {DNE,"EA,DE", 2,11}, /* ee: 0111 0100 1110 1110 */
3382 {DNE,"EA,HL", 2,11}, /* ef: 0111 0100 1110 1111 */
3383
3384 {SBBW,"%a", 3,14}, /* f0: 0111 0100 1111 0000 oooo oooo */
3385 {illegal,0, 2, 8}, /* f1: 0111 0100 1111 0001 */
3386 {illegal,0, 2, 8}, /* f2: 0111 0100 1111 0010 */
3387 {illegal,0, 2, 8}, /* f3: 0111 0100 1111 0011 */
3388 {illegal,0, 2, 8}, /* f4: 0111 0100 1111 0100 */
3389 {DSBB,"EA,BC", 2,11}, /* f5: 0111 0100 1111 0101 */
3390 {DSBB,"EA,DE", 2,11}, /* f6: 0111 0100 1111 0110 */
3391 {DSBB,"EA,HL", 2,11}, /* f7: 0111 0100 1111 0111 */
3392 {EQAW,"%a", 3,14}, /* f8: 0111 0100 1111 1000 oooo oooo */
3393 {illegal,0, 2, 8}, /* f9: 0111 0100 1111 1001 */
3394 {illegal,0, 2, 8}, /* fa: 0111 0100 1111 1010 */
3395 {illegal,0, 2, 8}, /* fb: 0111 0100 1111 1011 */
3396 {illegal,0, 2, 8}, /* fc: 0111 0100 1111 1100 */
3397 {DEQ,"EA,BC", 2,11}, /* fd: 0111 0100 1111 1101 */
3398 {DEQ,"EA,DE", 2,11}, /* fe: 0111 0100 1111 1110 */
3399 {DEQ,"EA,HL", 2,11} /* ff: 0111 0100 1111 1111 */
3400 };
3401
3402 /* main opcodes */
3403 static struct dasm_s dasmXX_7810[256] =
3404 {
3405 {NOP,0, 1, 4}, /* 00: 0000 0000 */
3406 {LDAW,"%a", 2,10}, /* 01: 0000 0001 oooo oooo */
3407 {INX,"SP", 1, 7}, /* 02: 0000 0010 */
3408 {DCX,"SP", 1, 7}, /* 03: 0000 0011 */
3409 {LXI,"SP,%w", 3,10}, /* 04: 0000 0100 llll llll hhhh hhhh */
3410 {ANIW,"%a,%b", 3,19}, /* 05: 0000 0101 oooo oooo xxxx xxxx */
3411 {illegal,0, 1, 4}, /* 06: */
3412 {ANI,"A,%b", 2, 7}, /* 07: 0000 0111 xxxx xxxx */
3413 {MOV,"A,EAH", 1, 4}, /* 08: 0000 1000 */
3414 {MOV,"A,EAL", 1, 4}, /* 09: 0000 1001 */
3415 {MOV,"A,B", 1, 4}, /* 0a: 0000 1010 */
3416 {MOV,"A,C", 1, 4}, /* 0b: 0000 1011 */
3417 {MOV,"A,D", 1, 4}, /* 0c: 0000 1100 */
3418 {MOV,"A,E", 1, 4}, /* 0d: 0000 1101 */
3419 {MOV,"A,H", 1, 4}, /* 0e: 0000 1110 */
3420 {MOV,"A,L", 1, 4}, /* 0f: 0000 1111 */
3421
3422 {EXA,0, 1, 4}, /* 10: 0001 0000 */ /* 7810 */
3423 {EXX,0, 1, 4}, /* 11: 0001 0001 */ /* 7810 */
3424 {INX,"BC", 1, 7}, /* 12: 0001 0010 */
3425 {DCX,"BC", 1, 7}, /* 13: 0001 0011 */
3426 {LXI,"BC,%w", 3,10}, /* 14: 0001 0100 llll llll hhhh hhhh */
3427 {ORIW,"%a,%b", 3,19}, /* 15: 0001 0101 oooo oooo xxxx xxxx */
3428 {XRI,"A,%b", 2, 7}, /* 16: 0001 0110 xxxx xxxx */
3429 {ORI,"A,%b", 2, 7}, /* 17: 0001 0111 xxxx xxxx */
3430 {MOV,"EAH,A", 1, 4}, /* 18: 0001 1000 */
3431 {MOV,"EAL,A", 1, 4}, /* 19: 0001 1001 */
3432 {MOV,"B,A", 1, 4}, /* 1a: 0001 1010 */
3433 {MOV,"C,A", 1, 4}, /* 1b: 0001 1011 */
3434 {MOV,"D,A", 1, 4}, /* 1c: 0001 1100 */
3435 {MOV,"E,A", 1, 4}, /* 1d: 0001 1101 */
3436 {MOV,"H,A", 1, 4}, /* 1e: 0001 1110 */
3437 {MOV,"L,A", 1, 4}, /* 1f: 0001 1111 */
3438
3439 {INRW,"%a", 2,16}, /* 20: 0010 0000 oooo oooo */
3440 {JB,0, 1, 4}, /* 21: 0010 0001 */
3441 {INX,"DE", 1, 7}, /* 22: 0010 0010 */
3442 {DCX,"DE", 1, 7}, /* 23: 0010 0011 */
3443 {LXI,"DE,%w", 3,10}, /* 24: 0010 0100 llll llll hhhh hhhh */
3444 {GTIW,"%a,%b", 3,19}, /* 25: 0010 0101 oooo oooo xxxx xxxx */
3445 {ADINC,"A,%b", 2, 7}, /* 26: 0010 0110 xxxx xxxx */
3446 {GTI,"A,%b", 2, 7}, /* 27: 0010 0111 xxxx xxxx */
3447 {illegal,0, 1, 4}, /* 28: 0010 1000 */
3448 {LDAX,"(BC)", 1, 7}, /* 29: 0010 1001 */
3449 {LDAX,"(DE)", 1, 7}, /* 2a: 0010 1010 */
3450 {LDAX,"(HL)", 1, 7}, /* 2b: 0010 1011 */
3451 {LDAX,"(DE+)", 1, 7}, /* 2c: 0010 1100 */
3452 {LDAX,"(HL+)", 1, 7}, /* 2d: 0010 1101 */
3453 {LDAX,"(DE-)", 1, 7}, /* 2e: 0010 1110 */
3454 {LDAX,"(HL-)", 1, 7}, /* 2f: 0010 1111 */
3455
3456 {DCRW,"%a", 2,16}, /* 30: 0011 0000 oooo oooo */
3457 {BLOCK,0, 1,13}, /* 31: 0011 0001 */ /* 7810 */
3458 {INX,"HL", 1, 7}, /* 32: 0011 0010 */
3459 {DCX,"HL", 1, 7}, /* 33: 0011 0011 */
3460 {LXI,"HL,%w", 3,10}, /* 34: 0011 0100 llll llll hhhh hhhh */
3461 {LTIW,"%a,%b", 3,19}, /* 35: 0011 0101 oooo oooo xxxx xxxx */
3462 {SUINB,"A,%b", 2, 7}, /* 36: 0011 0110 xxxx xxxx */
3463 {LTI,"A,%b", 2, 7}, /* 37: 0011 0111 xxxx xxxx */
3464 {illegal,0, 1, 4}, /* 38: */
3465 {STAX,"(BC)", 1, 7}, /* 39: 0011 1001 */
3466 {STAX,"(DE)", 1, 7}, /* 3a: 0011 1010 */
3467 {STAX,"(HL)", 1, 7}, /* 3b: 0011 1011 */
3468 {STAX,"(DE+)", 1, 7}, /* 3c: 0011 1100 */
3469 {STAX,"(HL+)", 1, 7}, /* 3d: 0011 1101 */
3470 {STAX,"(DE-)", 1, 7}, /* 3e: 0011 1110 */
3471 {STAX,"(HL-)", 1, 7}, /* 3f: 0011 1111 */
3472
3473 {CALL,"%w", 3,16}, /* 40: 0100 0000 llll llll hhhh hhhh */
3474 {INR,"A", 1, 4}, /* 41: 0100 0001 */
3475 {INR,"B", 1, 4}, /* 42: 0100 0010 */
3476 {INR,"C", 1, 4}, /* 43: 0100 0011 */
3477 {LXI,"EA,%w", 3,10}, /* 44: 0100 0100 llll llll hhhh hhhh */
3478 {ONIW,"%a,%b", 3,19}, /* 45: 0100 0101 oooo oooo xxxx xxxx */
3479 {ADI,"A,%b", 2, 7}, /* 46: 0100 0110 xxxx xxxx */
3480 {ONI,"A,%b", 2, 7}, /* 47: 0100 0111 xxxx xxxx */
3481 {0,dasm48_7810, 0, 0}, /* 48: prefix */
3482 {MVIX,"BC,%b", 2,10}, /* 49: 0100 1001 xxxx xxxx */
3483 {MVIX,"DE,%b", 2,10}, /* 4a: 0100 1010 xxxx xxxx */
3484 {MVIX,"HL,%b", 2,10}, /* 4b: 0100 1011 xxxx xxxx */
3485 {0,dasm4C_7810, 0, 0}, /* 4c: prefix */
3486 {0,dasm4D_7810, 0, 0}, /* 4d: prefix */
3487 {JRE,"%d", 2,10}, /* 4e: 0100 111d dddd dddd */
3488 {JRE,"%d", 2,10}, /* 4f: 0100 111d dddd dddd */
3489
3490 {EXH,0, 1, 4}, /* 50: 0101 0000 */ /* 7810 */
3491 {DCR,"A", 1, 4}, /* 51: 0101 0001 */
3492 {DCR,"B", 1, 4}, /* 52: 0101 0010 */
3493 {DCR,"C", 1, 4}, /* 53: 0101 0011 */
3494 {JMP,"%w", 3,10}, /* 54: 0101 0100 llll llll hhhh hhhh */
3495 {OFFIW,"%a,%b", 3,19}, /* 55: 0101 0101 oooo oooo xxxx xxxx */
3496 {ACI,"A,%b", 2, 7}, /* 56: 0101 0110 xxxx xxxx */
3497 {OFFI,"A,%b", 2, 7}, /* 57: 0101 0111 xxxx xxxx */
3498 {BIT,"0,%a", 2,10}, /* 58: 0101 1000 oooo oooo */ /* 7810 */
3499 {BIT,"1,%a", 2,10}, /* 59: 0101 1001 oooo oooo */ /* 7810 */
3500 {BIT,"2,%a", 2,10}, /* 5a: 0101 1010 oooo oooo */ /* 7810 */
3501 {BIT,"3,%a", 2,10}, /* 5b: 0101 1011 oooo oooo */ /* 7810 */
3502 {BIT,"4,%a", 2,10}, /* 5c: 0101 1100 oooo oooo */ /* 7810 */
3503 {BIT,"5,%a", 2,10}, /* 5d: 0101 1101 oooo oooo */ /* 7810 */
3504 {BIT,"6,%a", 2,10}, /* 5e: 0101 1110 oooo oooo */ /* 7810 */
3505 {BIT,"7,%a", 2,10}, /* 5f: 0101 1111 oooo oooo */ /* 7810 */
3506
3507 {0,dasm60, 0, 0}, /* 60: prefix */
3508 {DAA,0, 1, 4}, /* 61: 0110 0001 */
3509 {RETI,0, 1,13}, /* 62: 0110 0010 */
3510 {STAW,"%a", 2,10}, /* 63: 0110 0011 oooo oooo */
3511 {0,dasm64_7810, 0, 0}, /* 64: prefix */
3512 {NEIW,"%a,%b", 3,19}, /* 65: 0110 0101 oooo oooo xxxx xxxx */
3513 {SUI,"A,%b", 2, 7}, /* 66: 0110 0110 xxxx xxxx */
3514 {NEI,"A,%b", 2, 7}, /* 67: 0110 0111 xxxx xxxx */
3515 {MVI,"V,%b", 2, 7}, /* 68: 0110 1000 xxxx xxxx */
3516 {MVI,"A,%b", 2, 7}, /* 69: 0110 1001 xxxx xxxx */
3517 {MVI,"B,%b", 2, 7}, /* 6a: 0110 1010 xxxx xxxx */
3518 {MVI,"C,%b", 2, 7}, /* 6b: 0110 1011 xxxx xxxx */
3519 {MVI,"D,%b", 2, 7}, /* 6c: 0110 1100 xxxx xxxx */
3520 {MVI,"E,%b", 2, 7}, /* 6d: 0110 1101 xxxx xxxx */
3521 {MVI,"H,%b", 2, 7}, /* 6e: 0110 1110 xxxx xxxx */
3522 {MVI,"L,%b", 2, 7}, /* 6f: 0110 1111 xxxx xxxx */
3523
3524 {0,dasm70, 0, 0}, /* 70: prefix */
3525 {MVIW,"%a,%b", 3,13}, /* 71: 0111 0001 oooo oooo xxxx xxxx */
3526 {SOFTI,0, 1,16}, /* 72: 0111 0010 */
3527 {illegal,0, 1, 0}, /* 73: */
3528 {0,dasm74, 0, 0}, /* 74: prefix */
3529 {EQIW,"%a,%b", 3,19}, /* 75: 0111 0101 oooo oooo xxxx xxxx */
3530 {SBI,"A,%b", 2, 7}, /* 76: 0111 0110 xxxx xxxx */
3531 {EQI,"A,%b", 2, 7}, /* 77: 0111 0111 xxxx xxxx */
3532 {CALF,"%f", 2,13}, /* 78: 0111 1ddd dddd dddd */
3533 {CALF,"%f", 2,13}, /* 79: 0111 1ddd dddd dddd */
3534 {CALF,"%f", 2,13}, /* 7a: 0111 1ddd dddd dddd */
3535 {CALF,"%f", 2,13}, /* 7b: 0111 1ddd dddd dddd */
3536 {CALF,"%f", 2,13}, /* 7c: 0111 1ddd dddd dddd */
3537 {CALF,"%f", 2,13}, /* 7d: 0111 1ddd dddd dddd */
3538 {CALF,"%f", 2,13}, /* 7e: 0111 1ddd dddd dddd */
3539 {CALF,"%f", 2,13}, /* 7f: 0111 1ddd dddd dddd */
3540
3541 {CALT,"%t", 1,16}, /* 80: 100t tttt */
3542 {CALT,"%t", 1,16}, /* 81: 100t tttt */
3543 {CALT,"%t", 1,16}, /* 82: 100t tttt */
3544 {CALT,"%t", 1,16}, /* 83: 100t tttt */
3545 {CALT,"%t", 1,16}, /* 84: 100t tttt */
3546 {CALT,"%t", 1,16}, /* 85: 100t tttt */
3547 {CALT,"%t", 1,16}, /* 86: 100t tttt */
3548 {CALT,"%t", 1,16}, /* 87: 100t tttt */
3549 {CALT,"%t", 1,16}, /* 88: 100t tttt */
3550 {CALT,"%t", 1,16}, /* 89: 100t tttt */
3551 {CALT,"%t", 1,16}, /* 8a: 100t tttt */
3552 {CALT,"%t", 1,16}, /* 8b: 100t tttt */
3553 {CALT,"%t", 1,16}, /* 8c: 100t tttt */
3554 {CALT,"%t", 1,16}, /* 8d: 100t tttt */
3555 {CALT,"%t", 1,16}, /* 8e: 100t tttt */
3556 {CALT,"%t", 1,16}, /* 8f: 100t tttt */
3557
3558 {CALT,"%t", 1,16}, /* 90: 100t tttt */
3559 {CALT,"%t", 1,16}, /* 91: 100t tttt */
3560 {CALT,"%t", 1,16}, /* 92: 100t tttt */
3561 {CALT,"%t", 1,16}, /* 93: 100t tttt */
3562 {CALT,"%t", 1,16}, /* 94: 100t tttt */
3563 {CALT,"%t", 1,16}, /* 95: 100t tttt */
3564 {CALT,"%t", 1,16}, /* 96: 100t tttt */
3565 {CALT,"%t", 1,16}, /* 97: 100t tttt */
3566 {CALT,"%t", 1,16}, /* 98: 100t tttt */
3567 {CALT,"%t", 1,16}, /* 99: 100t tttt */
3568 {CALT,"%t", 1,16}, /* 9a: 100t tttt */
3569 {CALT,"%t", 1,16}, /* 9b: 100t tttt */
3570 {CALT,"%t", 1,16}, /* 9c: 100t tttt */
3571 {CALT,"%t", 1,16}, /* 9d: 100t tttt */
3572 {CALT,"%t", 1,16}, /* 9e: 100t tttt */
3573 {CALT,"%t", 1,16}, /* 9f: 100t tttt */
3574
3575 {POP,"VA", 1,10}, /* a0: 1010 0000 */
3576 {POP,"BC", 1,10}, /* a1: 1010 0001 */
3577 {POP,"DE", 1,10}, /* a2: 1010 0010 */
3578 {POP,"HL", 1,10}, /* a3: 1010 0011 */
3579 {POP,"EA", 1,10}, /* a4: 1010 0100 */
3580 {DMOV,"EA,BC", 1, 4}, /* a5: 1010 0101 */
3581 {DMOV,"EA,DE", 1, 4}, /* a6: 1010 0110 */
3582 {DMOV,"EA,HL", 1, 4}, /* a7: 1010 0111 */
3583 {INX,"EA", 1, 7}, /* a8: 1010 1000 */
3584 {DCX,"EA", 1, 7}, /* a9: 1010 1001 */
3585 {EI,0, 1, 4}, /* aa: 1010 1010 */
3586 {LDAX,"(DE+%b)", 2,13}, /* ab: 1010 1011 dddd dddd */
3587 {LDAX,"(HL+A)", 1,13}, /* ac: 1010 1100 */
3588 {LDAX,"(HL+B)", 1,13}, /* ad: 1010 1101 */
3589 {LDAX,"(HL+EA)", 1,13}, /* ae: 1010 1110 */
3590 {LDAX,"(HL+%b)", 2,13}, /* af: 1010 1111 dddd dddd */
3591
3592 {PUSH,"VA", 1,13}, /* b0: 1011 0000 */
3593 {PUSH,"BC", 1,13}, /* b1: 1011 0001 */
3594 {PUSH,"DE", 1,13}, /* b2: 1011 0010 */
3595 {PUSH,"HL", 1,13}, /* b3: 1011 0011 */
3596 {PUSH,"EA", 1,13}, /* b4: 1011 0100 */
3597 {DMOV,"BC,EA", 1, 4}, /* b5: 1011 0101 */
3598 {DMOV,"DE,EA", 1, 4}, /* b6: 1011 0110 */
3599 {DMOV,"HL,EA", 1, 4}, /* b7: 1011 0111 */
3600 {RET,0, 1,10}, /* b8: 1011 1000 */
3601 {RETS,0, 1,10}, /* b9: 1011 1001 */
3602 {DI,0, 1, 4}, /* ba: 1011 1010 */
3603 {STAX,"(DE+%b)", 2,13}, /* bb: 1011 1011 dddd dddd */
3604 {STAX,"(HL+A)", 1,13}, /* bc: 1011 1100 */
3605 {STAX,"(HL+B)", 1,13}, /* bd: 1011 1101 */
3606 {STAX,"(HL+EA)", 1,13}, /* be: 1011 1110 */
3607 {STAX,"(HL+%b)", 2,13}, /* bf: 1011 1111 dddd dddd */
3608
3609 {JR,"%o", 1,10}, /* c0: 11oo oooo */
3610 {JR,"%o", 1,10}, /* c1: 11oo oooo */
3611 {JR,"%o", 1,10}, /* c2: 11oo oooo */
3612 {JR,"%o", 1,10}, /* c3: 11oo oooo */
3613 {JR,"%o", 1,10}, /* c4: 11oo oooo */
3614 {JR,"%o", 1,10}, /* c5: 11oo oooo */
3615 {JR,"%o", 1,10}, /* c6: 11oo oooo */
3616 {JR,"%o", 1,10}, /* c7: 11oo oooo */
3617 {JR,"%o", 1,10}, /* c8: 11oo oooo */
3618 {JR,"%o", 1,10}, /* c9: 11oo oooo */
3619 {JR,"%o", 1,10}, /* ca: 11oo oooo */
3620 {JR,"%o", 1,10}, /* cb: 11oo oooo */
3621 {JR,"%o", 1,10}, /* cc: 11oo oooo */
3622 {JR,"%o", 1,10}, /* cd: 11oo oooo */
3623 {JR,"%o", 1,10}, /* ce: 11oo oooo */
3624 {JR,"%o", 1,10}, /* cf: 11oo oooo */
3625
3626 {JR,"%o", 1,10}, /* d0: 11oo oooo */
3627 {JR,"%o", 1,10}, /* d1: 11oo oooo */
3628 {JR,"%o", 1,10}, /* d2: 11oo oooo */
3629 {JR,"%o", 1,10}, /* d3: 11oo oooo */
3630 {JR,"%o", 1,10}, /* d4: 11oo oooo */
3631 {JR,"%o", 1,10}, /* d5: 11oo oooo */
3632 {JR,"%o", 1,10}, /* d6: 11oo oooo */
3633 {JR,"%o", 1,10}, /* d7: 11oo oooo */
3634 {JR,"%o", 1,10}, /* d8: 11oo oooo */
3635 {JR,"%o", 1,10}, /* d9: 11oo oooo */
3636 {JR,"%o", 1,10}, /* da: 11oo oooo */
3637 {JR,"%o", 1,10}, /* db: 11oo oooo */
3638 {JR,"%o", 1,10}, /* dc: 11oo oooo */
3639 {JR,"%o", 1,10}, /* dd: 11oo oooo */
3640 {JR,"%o", 1,10}, /* de: 11oo oooo */
3641 {JR,"%o", 1,10}, /* df: 11oo oooo */
3642
3643 {JR,"%o", 1,10}, /* e0: 11oo oooo */
3644 {JR,"%o", 1,10}, /* e1: 11oo oooo */
3645 {JR,"%o", 1,10}, /* e2: 11oo oooo */
3646 {JR,"%o", 1,10}, /* e3: 11oo oooo */
3647 {JR,"%o", 1,10}, /* e4: 11oo oooo */
3648 {JR,"%o", 1,10}, /* e5: 11oo oooo */
3649 {JR,"%o", 1,10}, /* e6: 11oo oooo */
3650 {JR,"%o", 1,10}, /* e7: 11oo oooo */
3651 {JR,"%o", 1,10}, /* e8: 11oo oooo */
3652 {JR,"%o", 1,10}, /* e9: 11oo oooo */
3653 {JR,"%o", 1,10}, /* ea: 11oo oooo */
3654 {JR,"%o", 1,10}, /* eb: 11oo oooo */
3655 {JR,"%o", 1,10}, /* ec: 11oo oooo */
3656 {JR,"%o", 1,10}, /* ed: 11oo oooo */
3657 {JR,"%o", 1,10}, /* ee: 11oo oooo */
3658 {JR,"%o", 1,10}, /* ef: 11oo oooo */
3659
3660 {JR,"%o", 1,10}, /* f0: 11oo oooo */
3661 {JR,"%o", 1,10}, /* f1: 11oo oooo */
3662 {JR,"%o", 1,10}, /* f2: 11oo oooo */
3663 {JR,"%o", 1,10}, /* f3: 11oo oooo */
3664 {JR,"%o", 1,10}, /* f4: 11oo oooo */
3665 {JR,"%o", 1,10}, /* f5: 11oo oooo */
3666 {JR,"%o", 1,10}, /* f6: 11oo oooo */
3667 {JR,"%o", 1,10}, /* f7: 11oo oooo */
3668 {JR,"%o", 1,10}, /* f8: 11oo oooo */
3669 {JR,"%o", 1,10}, /* f9: 11oo oooo */
3670 {JR,"%o", 1,10}, /* fa: 11oo oooo */
3671 {JR,"%o", 1,10}, /* fb: 11oo oooo */
3672 {JR,"%o", 1,10}, /* fc: 11oo oooo */
3673 {JR,"%o", 1,10}, /* fd: 11oo oooo */
3674 {JR,"%o", 1,10}, /* fe: 11oo oooo */
3675 {JR,"%o", 1,10} /* ff: 11oo oooo */
3676 };
3677
3678 static struct dasm_s dasmXX_7807[256] =
3679 {
3680 {NOP,0, 1, 4}, /* 00: 0000 0000 */
3681 {LDAW,"%a", 2,10}, /* 01: 0000 0001 oooo oooo */
3682 {INX,"SP", 1, 7}, /* 02: 0000 0010 */
3683 {DCX,"SP", 1, 7}, /* 03: 0000 0011 */
3684 {LXI,"SP,%w", 3,10}, /* 04: 0000 0100 llll llll hhhh hhhh */
3685 {ANIW,"%a,%b", 3,19}, /* 05: 0000 0101 oooo oooo xxxx xxxx */
3686 {illegal,0, 1, 4}, /* 06: */
3687 {ANI,"A,%b", 2, 7}, /* 07: 0000 0111 xxxx xxxx */
3688 {MOV,"A,EAH", 1, 4}, /* 08: 0000 1000 */
3689 {MOV,"A,EAL", 1, 4}, /* 09: 0000 1001 */
3690 {MOV,"A,B", 1, 4}, /* 0a: 0000 1010 */
3691 {MOV,"A,C", 1, 4}, /* 0b: 0000 1011 */
3692 {MOV,"A,D", 1, 4}, /* 0c: 0000 1100 */
3693 {MOV,"A,E", 1, 4}, /* 0d: 0000 1101 */
3694 {MOV,"A,H", 1, 4}, /* 0e: 0000 1110 */
3695 {MOV,"A,L", 1, 4}, /* 0f: 0000 1111 */
3696
3697 {BLOCK,"D+", 1,13}, /* 10: 0001 0000 */ /* 7807 */
3698 {BLOCK,"D-", 1,13}, /* 11: 0001 0001 */ /* 7807 */
3699 {INX,"BC", 1, 7}, /* 12: 0001 0010 */
3700 {DCX,"BC", 1, 7}, /* 13: 0001 0011 */
3701 {LXI,"BC,%w", 3,10}, /* 14: 0001 0100 llll llll hhhh hhhh */
3702 {ORIW,"%a,%b", 3,19}, /* 15: 0001 0101 oooo oooo xxxx xxxx */
3703 {XRI,"A,%b", 2, 7}, /* 16: 0001 0110 xxxx xxxx */
3704 {ORI,"A,%b", 2, 7}, /* 17: 0001 0111 xxxx xxxx */
3705 {MOV,"EAH,A", 1, 4}, /* 18: 0001 1000 */
3706 {MOV,"EAL,A", 1, 4}, /* 19: 0001 1001 */
3707 {MOV,"B,A", 1, 4}, /* 1a: 0001 1010 */
3708 {MOV,"C,A", 1, 4}, /* 1b: 0001 1011 */
3709 {MOV,"D,A", 1, 4}, /* 1c: 0001 1100 */
3710 {MOV,"E,A", 1, 4}, /* 1d: 0001 1101 */
3711 {MOV,"H,A", 1, 4}, /* 1e: 0001 1110 */
3712 {MOV,"L,A", 1, 4}, /* 1f: 0001 1111 */
3713
3714 {INRW,"%a", 2,16}, /* 20: 0010 0000 oooo oooo */
3715 {JB,0, 1, 4}, /* 21: 0010 0001 */
3716 {INX,"DE", 1, 7}, /* 22: 0010 0010 */
3717 {DCX,"DE", 1, 7}, /* 23: 0010 0011 */
3718 {LXI,"DE,%w", 3,10}, /* 24: 0010 0100 llll llll hhhh hhhh */
3719 {GTIW,"%a,%b", 3,19}, /* 25: 0010 0101 oooo oooo xxxx xxxx */
3720 {ADINC,"A,%b", 2, 7}, /* 26: 0010 0110 xxxx xxxx */
3721 {GTI,"A,%b", 2, 7}, /* 27: 0010 0111 xxxx xxxx */
3722 {illegal,0, 1, 4}, /* 28: 0010 1000 */
3723 {LDAX,"(BC)", 1, 7}, /* 29: 0010 1001 */
3724 {LDAX,"(DE)", 1, 7}, /* 2a: 0010 1010 */
3725 {LDAX,"(HL)", 1, 7}, /* 2b: 0010 1011 */
3726 {LDAX,"(DE+)", 1, 7}, /* 2c: 0010 1100 */
3727 {LDAX,"(HL+)", 1, 7}, /* 2d: 0010 1101 */
3728 {LDAX,"(DE-)", 1, 7}, /* 2e: 0010 1110 */
3729 {LDAX,"(HL-)", 1, 7}, /* 2f: 0010 1111 */
3730
3731 {DCRW,"%a", 2,16}, /* 30: 0011 0000 oooo oooo */
3732 {AND,"CY,%i", 2,10}, /* 31: 0011 0001 bbbb bbbb */ /* 7807 */
3733 {INX,"HL", 1, 7}, /* 32: 0011 0010 */
3734 {DCX,"HL", 1, 7}, /* 33: 0011 0011 */
3735 {LXI,"HL,%w", 3,10}, /* 34: 0011 0100 llll llll hhhh hhhh */
3736 {LTIW,"%a,%b", 3,19}, /* 35: 0011 0101 oooo oooo xxxx xxxx */
3737 {SUINB,"A,%b", 2, 7}, /* 36: 0011 0110 xxxx xxxx */
3738 {LTI,"A,%b", 2, 7}, /* 37: 0011 0111 xxxx xxxx */
3739 {illegal,0, 1, 4}, /* 38: */
3740 {STAX,"(BC)", 1, 7}, /* 39: 0011 1001 */
3741 {STAX,"(DE)", 1, 7}, /* 3a: 0011 1010 */
3742 {STAX,"(HL)", 1, 7}, /* 3b: 0011 1011 */
3743 {STAX,"(DE+)", 1, 7}, /* 3c: 0011 1100 */
3744 {STAX,"(HL+)", 1, 7}, /* 3d: 0011 1101 */
3745 {STAX,"(DE-)", 1, 7}, /* 3e: 0011 1110 */
3746 {STAX,"(HL-)", 1, 7}, /* 3f: 0011 1111 */
3747
3748 {CALL,"%w", 3,16}, /* 40: 0100 0000 llll llll hhhh hhhh */
3749 {INR,"A", 1, 4}, /* 41: 0100 0001 */
3750 {INR,"B", 1, 4}, /* 42: 0100 0010 */
3751 {INR,"C", 1, 4}, /* 43: 0100 0011 */
3752 {LXI,"EA,%w", 3,10}, /* 44: 0100 0100 llll llll hhhh hhhh */
3753 {ONIW,"%a,%b", 3,19}, /* 45: 0100 0101 oooo oooo xxxx xxxx */
3754 {ADI,"A,%b", 2, 7}, /* 46: 0100 0110 xxxx xxxx */
3755 {ONI,"A,%b", 2, 7}, /* 47: 0100 0111 xxxx xxxx */
3756 {0,dasm48_7807, 0, 0}, /* 48: prefix */
3757 {MVIX,"BC,%b", 2,10}, /* 49: 0100 1001 xxxx xxxx */
3758 {MVIX,"DE,%b", 2,10}, /* 4a: 0100 1010 xxxx xxxx */
3759 {MVIX,"HL,%b", 2,10}, /* 4b: 0100 1011 xxxx xxxx */
3760 {0,dasm4C_7807, 0, 0}, /* 4c: prefix */
3761 {0,dasm4D_7807, 0, 0}, /* 4d: prefix */
3762 {JRE,"%d", 2,10}, /* 4e: 0100 111d dddd dddd */
3763 {JRE,"%d", 2,10}, /* 4f: 0100 111d dddd dddd */
3764 {SKN,"%i", 2,10}, /* 50: 0101 0000 bbbb bbbb */ /* 7807 */
3765 {DCR,"A", 1, 4}, /* 51: 0101 0001 */
3766 {DCR,"B", 1, 4}, /* 52: 0101 0010 */
3767 {DCR,"C", 1, 4}, /* 53: 0101 0011 */
3768 {JMP,"%w", 3,10}, /* 54: 0101 0100 llll llll hhhh hhhh */
3769 {OFFIW,"%a,%b", 3,19}, /* 55: 0101 0101 oooo oooo xxxx xxxx */
3770 {ACI,"A,%b", 2, 7}, /* 56: 0101 0110 xxxx xxxx */
3771 {OFFI,"A,%b", 2, 7}, /* 57: 0101 0111 xxxx xxxx */
3772 {SETB,"%i", 2,13}, /* 58: 0101 1000 bbbb bbbb */ /* 7807 */
3773 {NOT,"%i", 2,13}, /* 59: 0101 1001 bbbb bbbb */ /* 7807 */
3774 {MOV,"%i,CY", 2,13}, /* 5a: 0101 1010 bbbb bbbb */ /* 7807 */
3775 {CLR,"%i", 2,13}, /* 5b: 0101 1011 bbbb bbbb */ /* 7807 */
3776 {OR,"CY,%i", 2,10}, /* 5c: 0101 1100 bbbb bbbb */ /* 7807 */
3777 {SK,"%i", 2,10}, /* 5d: 0101 1101 bbbb bbbb */ /* 7807 */
3778 {XOR,"CY,%i", 2,10}, /* 5e: 0101 1110 bbbb bbbb */ /* 7807 */
3779 {MOV,"CY,%i", 2,10}, /* 5f: 0101 1111 bbbb bbbb */ /* 7807 */
3780
3781 {0,dasm60, 0, 0}, /* 60: prefix */
3782 {DAA,0, 1, 4}, /* 61: 0110 0001 */
3783 {RETI,0, 1,13}, /* 62: 0110 0010 */
3784 {STAW,"%a", 2,10}, /* 63: 0110 0011 oooo oooo */
3785 {0,dasm64_7807, 0, 0}, /* 64: prefix */
3786 {NEIW,"%a,%b", 3,19}, /* 65: 0110 0101 oooo oooo xxxx xxxx */
3787 {SUI,"A,%b", 2, 7}, /* 66: 0110 0110 xxxx xxxx */
3788 {NEI,"A,%b", 2, 7}, /* 67: 0110 0111 xxxx xxxx */
3789 {MVI,"V,%b", 2, 7}, /* 68: 0110 1000 xxxx xxxx */
3790 {MVI,"A,%b", 2, 7}, /* 69: 0110 1001 xxxx xxxx */
3791 {MVI,"B,%b", 2, 7}, /* 6a: 0110 1010 xxxx xxxx */
3792 {MVI,"C,%b", 2, 7}, /* 6b: 0110 1011 xxxx xxxx */
3793 {MVI,"D,%b", 2, 7}, /* 6c: 0110 1100 xxxx xxxx */
3794 {MVI,"E,%b", 2, 7}, /* 6d: 0110 1101 xxxx xxxx */
3795 {MVI,"H,%b", 2, 7}, /* 6e: 0110 1110 xxxx xxxx */
3796 {MVI,"L,%b", 2, 7}, /* 6f: 0110 1111 xxxx xxxx */
3797
3798 {0,dasm70, 0, 0}, /* 70: prefix */
3799 {MVIW,"%a,%b", 3,13}, /* 71: 0111 0001 oooo oooo xxxx xxxx */
3800 {SOFTI,0, 1,16}, /* 72: 0111 0010 */
3801 {illegal,0, 1, 0}, /* 73: */
3802 {0,dasm74, 0, 0}, /* 74: prefix */
3803 {EQIW,"%a,%b", 3,19}, /* 75: 0111 0101 oooo oooo xxxx xxxx */
3804 {SBI,"A,%b", 2, 7}, /* 76: 0111 0110 xxxx xxxx */
3805 {EQI,"A,%b", 2, 7}, /* 77: 0111 0111 xxxx xxxx */
3806 {CALF,"%f", 2,13}, /* 78: 0111 1ddd dddd dddd */
3807 {CALF,"%f", 2,13}, /* 79: 0111 1ddd dddd dddd */
3808 {CALF,"%f", 2,13}, /* 7a: 0111 1ddd dddd dddd */
3809 {CALF,"%f", 2,13}, /* 7b: 0111 1ddd dddd dddd */
3810 {CALF,"%f", 2,13}, /* 7c: 0111 1ddd dddd dddd */
3811 {CALF,"%f", 2,13}, /* 7d: 0111 1ddd dddd dddd */
3812 {CALF,"%f", 2,13}, /* 7e: 0111 1ddd dddd dddd */
3813 {CALF,"%f", 2,13}, /* 7f: 0111 1ddd dddd dddd */
3814
3815 {CALT,"%t", 1,16}, /* 80: 100t tttt */
3816 {CALT,"%t", 1,16}, /* 81: 100t tttt */
3817 {CALT,"%t", 1,16}, /* 82: 100t tttt */
3818 {CALT,"%t", 1,16}, /* 83: 100t tttt */
3819 {CALT,"%t", 1,16}, /* 84: 100t tttt */
3820 {CALT,"%t", 1,16}, /* 85: 100t tttt */
3821 {CALT,"%t", 1,16}, /* 86: 100t tttt */
3822 {CALT,"%t", 1,16}, /* 87: 100t tttt */
3823 {CALT,"%t", 1,16}, /* 88: 100t tttt */
3824 {CALT,"%t", 1,16}, /* 89: 100t tttt */
3825 {CALT,"%t", 1,16}, /* 8a: 100t tttt */
3826 {CALT,"%t", 1,16}, /* 8b: 100t tttt */
3827 {CALT,"%t", 1,16}, /* 8c: 100t tttt */
3828 {CALT,"%t", 1,16}, /* 8d: 100t tttt */
3829 {CALT,"%t", 1,16}, /* 8e: 100t tttt */
3830 {CALT,"%t", 1,16}, /* 8f: 100t tttt */
3831
3832 {CALT,"%t", 1,16}, /* 90: 100t tttt */
3833 {CALT,"%t", 1,16}, /* 91: 100t tttt */
3834 {CALT,"%t", 1,16}, /* 92: 100t tttt */
3835 {CALT,"%t", 1,16}, /* 93: 100t tttt */
3836 {CALT,"%t", 1,16}, /* 94: 100t tttt */
3837 {CALT,"%t", 1,16}, /* 95: 100t tttt */
3838 {CALT,"%t", 1,16}, /* 96: 100t tttt */
3839 {CALT,"%t", 1,16}, /* 97: 100t tttt */
3840 {CALT,"%t", 1,16}, /* 98: 100t tttt */
3841 {CALT,"%t", 1,16}, /* 99: 100t tttt */
3842 {CALT,"%t", 1,16}, /* 9a: 100t tttt */
3843 {CALT,"%t", 1,16}, /* 9b: 100t tttt */
3844 {CALT,"%t", 1,16}, /* 9c: 100t tttt */
3845 {CALT,"%t", 1,16}, /* 9d: 100t tttt */
3846 {CALT,"%t", 1,16}, /* 9e: 100t tttt */
3847 {CALT,"%t", 1,16}, /* 9f: 100t tttt */
3848
3849 {POP,"VA", 1,10}, /* a0: 1010 0000 */
3850 {POP,"BC", 1,10}, /* a1: 1010 0001 */
3851 {POP,"DE", 1,10}, /* a2: 1010 0010 */
3852 {POP,"HL", 1,10}, /* a3: 1010 0011 */
3853 {POP,"EA", 1,10}, /* a4: 1010 0100 */
3854 {DMOV,"EA,BC", 1, 4}, /* a5: 1010 0101 */
3855 {DMOV,"EA,DE", 1, 4}, /* a6: 1010 0110 */
3856 {DMOV,"EA,HL", 1, 4}, /* a7: 1010 0111 */
3857 {INX,"EA", 1, 7}, /* a8: 1010 1000 */
3858 {DCX,"EA", 1, 7}, /* a9: 1010 1001 */
3859 {EI,0, 1, 4}, /* aa: 1010 1010 */
3860 {LDAX,"(DE+%b)", 2,13}, /* ab: 1010 1011 dddd dddd */
3861 {LDAX,"(HL+A)", 1,13}, /* ac: 1010 1100 */
3862 {LDAX,"(HL+B)", 1,13}, /* ad: 1010 1101 */
3863 {LDAX,"(HL+EA)", 1,13}, /* ae: 1010 1110 */
3864 {LDAX,"(HL+%b)", 2,13}, /* af: 1010 1111 dddd dddd */
3865
3866 {PUSH,"VA", 1,13}, /* b0: 1011 0000 */
3867 {PUSH,"BC", 1,13}, /* b1: 1011 0001 */
3868 {PUSH,"DE", 1,13}, /* b2: 1011 0010 */
3869 {PUSH,"HL", 1,13}, /* b3: 1011 0011 */
3870 {PUSH,"EA", 1,13}, /* b4: 1011 0100 */
3871 {DMOV,"BC,EA", 1, 4}, /* b5: 1011 0101 */
3872 {DMOV,"DE,EA", 1, 4}, /* b6: 1011 0110 */
3873 {DMOV,"HL,EA", 1, 4}, /* b7: 1011 0111 */
3874 {RET,0, 1,10}, /* b8: 1011 1000 */
3875 {RETS,0, 1,10}, /* b9: 1011 1001 */
3876 {DI,0, 1, 4}, /* ba: 1011 1010 */
3877 {STAX,"(DE+%b)", 2,13}, /* bb: 1011 1011 dddd dddd */
3878 {STAX,"(HL+A)", 1,13}, /* bc: 1011 1100 */
3879 {STAX,"(HL+B)", 1,13}, /* bd: 1011 1101 */
3880 {STAX,"(HL+EA)", 1,13}, /* be: 1011 1110 */
3881 {STAX,"(HL+%b)", 2,13}, /* bf: 1011 1111 dddd dddd */
3882
3883 {JR,"%o", 1,10}, /* c0: 11oo oooo */
3884 {JR,"%o", 1,10}, /* c1: 11oo oooo */
3885 {JR,"%o", 1,10}, /* c2: 11oo oooo */
3886 {JR,"%o", 1,10}, /* c3: 11oo oooo */
3887 {JR,"%o", 1,10}, /* c4: 11oo oooo */
3888 {JR,"%o", 1,10}, /* c5: 11oo oooo */
3889 {JR,"%o", 1,10}, /* c6: 11oo oooo */
3890 {JR,"%o", 1,10}, /* c7: 11oo oooo */
3891 {JR,"%o", 1,10}, /* c8: 11oo oooo */
3892 {JR,"%o", 1,10}, /* c9: 11oo oooo */
3893 {JR,"%o", 1,10}, /* ca: 11oo oooo */
3894 {JR,"%o", 1,10}, /* cb: 11oo oooo */
3895 {JR,"%o", 1,10}, /* cc: 11oo oooo */
3896 {JR,"%o", 1,10}, /* cd: 11oo oooo */
3897 {JR,"%o", 1,10}, /* ce: 11oo oooo */
3898 {JR,"%o", 1,10}, /* cf: 11oo oooo */
3899
3900 {JR,"%o", 1,10}, /* d0: 11oo oooo */
3901 {JR,"%o", 1,10}, /* d1: 11oo oooo */
3902 {JR,"%o", 1,10}, /* d2: 11oo oooo */
3903 {JR,"%o", 1,10}, /* d3: 11oo oooo */
3904 {JR,"%o", 1,10}, /* d4: 11oo oooo */
3905 {JR,"%o", 1,10}, /* d5: 11oo oooo */
3906 {JR,"%o", 1,10}, /* d6: 11oo oooo */
3907 {JR,"%o", 1,10}, /* d7: 11oo oooo */
3908 {JR,"%o", 1,10}, /* d8: 11oo oooo */
3909 {JR,"%o", 1,10}, /* d9: 11oo oooo */
3910 {JR,"%o", 1,10}, /* da: 11oo oooo */
3911 {JR,"%o", 1,10}, /* db: 11oo oooo */
3912 {JR,"%o", 1,10}, /* dc: 11oo oooo */
3913 {JR,"%o", 1,10}, /* dd: 11oo oooo */
3914 {JR,"%o", 1,10}, /* de: 11oo oooo */
3915 {JR,"%o", 1,10}, /* df: 11oo oooo */
3916
3917 {JR,"%o", 1,10}, /* e0: 11oo oooo */
3918 {JR,"%o", 1,10}, /* e1: 11oo oooo */
3919 {JR,"%o", 1,10}, /* e2: 11oo oooo */
3920 {JR,"%o", 1,10}, /* e3: 11oo oooo */
3921 {JR,"%o", 1,10}, /* e4: 11oo oooo */
3922 {JR,"%o", 1,10}, /* e5: 11oo oooo */
3923 {JR,"%o", 1,10}, /* e6: 11oo oooo */
3924 {JR,"%o", 1,10}, /* e7: 11oo oooo */
3925 {JR,"%o", 1,10}, /* e8: 11oo oooo */
3926 {JR,"%o", 1,10}, /* e9: 11oo oooo */
3927 {JR,"%o", 1,10}, /* ea: 11oo oooo */
3928 {JR,"%o", 1,10}, /* eb: 11oo oooo */
3929 {JR,"%o", 1,10}, /* ec: 11oo oooo */
3930 {JR,"%o", 1,10}, /* ed: 11oo oooo */
3931 {JR,"%o", 1,10}, /* ee: 11oo oooo */
3932 {JR,"%o", 1,10}, /* ef: 11oo oooo */
3933
3934 {JR,"%o", 1,10}, /* f0: 11oo oooo */
3935 {JR,"%o", 1,10}, /* f1: 11oo oooo */
3936 {JR,"%o", 1,10}, /* f2: 11oo oooo */
3937 {JR,"%o", 1,10}, /* f3: 11oo oooo */
3938 {JR,"%o", 1,10}, /* f4: 11oo oooo */
3939 {JR,"%o", 1,10}, /* f5: 11oo oooo */
3940 {JR,"%o", 1,10}, /* f6: 11oo oooo */
3941 {JR,"%o", 1,10}, /* f7: 11oo oooo */
3942 {JR,"%o", 1,10}, /* f8: 11oo oooo */
3943 {JR,"%o", 1,10}, /* f9: 11oo oooo */
3944 {JR,"%o", 1,10}, /* fa: 11oo oooo */
3945 {JR,"%o", 1,10}, /* fb: 11oo oooo */
3946 {JR,"%o", 1,10}, /* fc: 11oo oooo */
3947 {JR,"%o", 1,10}, /* fd: 11oo oooo */
3948 {JR,"%o", 1,10}, /* fe: 11oo oooo */
3949 {JR,"%o", 1,10} /* ff: 11oo oooo */
3950 };
3951
3952
3953 /* register names for bit manipulation instructions */
3954 const char *regname[32] =
3955 {
3956 "illegal", "illegal", "illegal", "illegal",
3957 "illegal", "illegal", "illegal", "illegal",
3958 "illegal", "illegal", "illegal", "illegal",
3959 "illegal", "illegal", "illegal", "illegal",
3960 "PA", "PB", "PC", "PD",
3961 "illegal", "PF", "MKH", "MKL",
3962 "illegal", "SMH", "illegal", "EOM",
3963 "illegal", "TMM", "PT", "illegal"
3964 };
3965
upd7810_get_reg(int reg)3966 static unsigned upd7810_get_reg(int reg) { union cpuinfo info; upd7810_get_info(CPUINFO_INT_REGISTER + (reg), &info); return info.i; }
3967
Dasm(char * buffer,unsigned pc,struct dasm_s * dasmXX)3968 unsigned Dasm( char *buffer, unsigned pc, struct dasm_s *dasmXX )
3969 {
3970 UINT8 op = cpu_readop(pc++), op2, t;
3971 int offset;
3972 unsigned l, ea;
3973 const char *symbol;
3974 const char *a;
3975
3976 t = dasmXX[op].token;
3977 a = dasmXX[op].args;
3978 l = dasmXX[op].oplen;
3979
3980 /* 0 token means prefix opcode (use table from args) */
3981 if (0 == t)
3982 {
3983 struct dasm_s *p_dasm = (struct dasm_s *)a;
3984
3985 op2 = cpu_readop(pc++);
3986 t = p_dasm[op2].token;
3987 a = p_dasm[op2].args;
3988 l = p_dasm[op2].oplen;
3989 }
3990
3991 buffer += sprintf(buffer, "%-8.8s", token[t]);
3992
3993 while (a && *a)
3994 {
3995 if ('%' == *a)
3996 {
3997 a++;
3998 switch (*a)
3999 {
4000 case 'a': /* address V * 256 + offset */
4001 op2 = cpu_readop_arg(pc++);
4002 ea = upd7810_get_reg(UPD7810_V) * 256 + op2;
4003 symbol = set_ea_info(0, ea, EA_UINT8, EA_MEM_RD);
4004 buffer += sprintf(buffer, "%s", symbol);
4005 break;
4006 case 'b': /* immediate byte */
4007 ea = cpu_readop_arg(pc++);
4008 symbol = set_ea_info(1, ea, EA_UINT8, EA_VALUE);
4009 buffer += sprintf(buffer, "%s", symbol);
4010 break;
4011 case 'w': /* immediate word */
4012 ea = cpu_readop_arg(pc++);
4013 ea += cpu_readop_arg(pc++) << 8;
4014 symbol = set_ea_info(1, ea, EA_UINT16, EA_VALUE);
4015 buffer += sprintf(buffer, "%s", symbol);
4016 break;
4017 case 'd': /* JRE address */
4018 op2 = cpu_readop(pc++);
4019 offset = (op & 1) ? -(256 - op2): + op2;
4020 symbol = set_ea_info(0, pc - 2, offset + 2, EA_REL_PC);
4021 buffer += sprintf(buffer, "%s", symbol);
4022 break;
4023 case 't': /* CALT address */
4024 ea = 0x80 + 2 * (op & 0x1f);
4025 symbol = set_ea_info(0, ea, EA_DEFAULT, EA_ABS_PC);
4026 buffer += sprintf(buffer, "(%s)", symbol);
4027 break;
4028 case 'f': /* CALF address */
4029 op2 = cpu_readop(pc++);
4030 ea = 0x800 + 0x100 * (op & 0x07) + op2;
4031 symbol = set_ea_info(0, ea, EA_DEFAULT, EA_ABS_PC);
4032 buffer += sprintf(buffer, "%s", symbol);
4033 break;
4034 case 'o': /* JR offset */
4035 op2 = cpu_readop(pc++);
4036 offset = (INT8)(op << 2) >> 2;
4037 symbol = set_ea_info(0, pc - 2, offset + 1, EA_REL_PC);
4038 buffer += sprintf(buffer, "%s", symbol);
4039 break;
4040 case 'i': /* bit manipulation */
4041 op2 = cpu_readop(pc++);
4042 buffer += sprintf(buffer, "%s,%d", regname[op2 & 0x1f], op2 >> 5);
4043 break;
4044 default:
4045 *buffer++ = *a;
4046 }
4047 }
4048 else
4049 *buffer++ = *a;
4050 a++;
4051 }
4052 *buffer = '\0';
4053
4054 return l;
4055 }
4056
Dasm7810(char * buffer,unsigned pc)4057 unsigned Dasm7810( char *buffer, unsigned pc )
4058 {
4059 return Dasm( buffer, pc, dasmXX_7810 );
4060 }
4061
Dasm7807(char * buffer,unsigned pc)4062 unsigned Dasm7807( char *buffer, unsigned pc )
4063 {
4064 return Dasm( buffer, pc, dasmXX_7807 );
4065 }
4066
4067 #endif /* MAME_DEBUG */
4068
4069