1 // license:BSD-3-Clause
2 // copyright-holders:Frank Palazzolo
3 #include "emu.h"
4 #include "1610dasm.h"
5 
opcode_alignment() const6 u32 cp1610_disassembler::opcode_alignment() const
7 {
8 	return 1;
9 }
10 
disassemble(std::ostream & stream,offs_t pc,const data_buffer & opcodes,const data_buffer & params)11 offs_t cp1610_disassembler::disassemble(std::ostream &stream, offs_t pc, const data_buffer &opcodes, const data_buffer &params)
12 {
13 	uint16_t oprom16[4]={ opcodes.r16(pc), opcodes.r16(pc+1), opcodes.r16(pc+2), opcodes.r16(pc+3) };
14 	uint16_t op = oprom16[0]; uint16_t subop;
15 	uint16_t ea, ea1, ea2;
16 	unsigned size = 1;
17 //  const char *sym, *sym2;
18 
19 	switch( op )
20 	{
21 	/* opcode  bitmask */
22 	case 0x00: /* 0 000 000 000 */
23 //      sym = set_ea_info( 0, 12, EA_UINT8, EA_ZPG_RD );
24 		util::stream_format(stream, "HLT");
25 		break;
26 	case 0x001: /* 0 000 000 001 */
27 		subop = oprom16[1];
28 		switch (subop & 0x3f8)
29 		{
30 			case 0x280: /* 1 010 000 xxx */
31 			case 0x288: /* 1 010 001 xxx */
32 			case 0x290: /* 1 010 010 xxx */
33 			case 0x298: /* 1 010 011 xxx */
34 			case 0x2a0: /* 1 010 100 xxx */
35 			case 0x2a8: /* 1 010 101 xxx */
36 			case 0x2b0: /* 1 010 110 xxx */
37 				util::stream_format(stream, "MVI@ (R%01d), R%01d",(subop&0x38)>>3,subop&7);
38 				size += 1;
39 				break;
40 			case 0x2b8: /* 1 010 111 xxx */
41 				ea1 = oprom16[2];
42 				ea2 = oprom16[3];
43 				ea = ((ea2&0xff)<<8) | (ea1&0xff);
44 				util::stream_format(stream, "MVII #%04X, R%01d",ea,subop&7);
45 				size += 3;
46 				break;
47 			case 0x2c0: /* 1 011 000 xxx */
48 			case 0x2c8: /* 1 011 001 xxx */
49 			case 0x2d0: /* 1 011 010 xxx */
50 			case 0x2d8: /* 1 011 011 xxx */
51 			case 0x2e0: /* 1 011 100 xxx */
52 			case 0x2e8: /* 1 011 101 xxx */
53 			case 0x2f0: /* 1 011 110 xxx */
54 				util::stream_format(stream, "ADD@ (R%01d), R%01d",(subop&0x38)>>3,subop&7);
55 				size += 1;
56 				break;
57 			case 0x2f8: /* 1 011 111 xxx */
58 				ea1 = oprom16[2];
59 				ea2 = oprom16[3];
60 				ea = ((ea2&0xff)<<8) | (ea1&0xff);
61 				util::stream_format(stream, "ADDI #%04X, R%01d",ea,subop&7);
62 				size += 3;
63 				break;
64 			case 0x300: /* 1 100 000 xxx */
65 			case 0x308: /* 1 100 001 xxx */
66 			case 0x310: /* 1 100 010 xxx */
67 			case 0x318: /* 1 100 011 xxx */
68 			case 0x320: /* 1 100 100 xxx */
69 			case 0x328: /* 1 100 101 xxx */
70 			case 0x330: /* 1 100 110 xxx */
71 				util::stream_format(stream, "SUB@ (R%01d), R%01d",(subop&0x38)>>3,subop&7);
72 				size += 1;
73 				break;
74 			case 0x338: /* 1 100 111 xxx */
75 				ea1 = oprom16[2];
76 				ea2 = oprom16[3];
77 				ea = ((ea2&0xff)<<8) | (ea1&0xff);
78 				util::stream_format(stream, "SUBI #%04X, R%01d",ea,subop&7);
79 				size += 3;
80 				break;
81 			case 0x340: /* 1 101 000 xxx */
82 			case 0x348: /* 1 101 001 xxx */
83 			case 0x350: /* 1 101 010 xxx */
84 			case 0x358: /* 1 101 011 xxx */
85 			case 0x360: /* 1 101 100 xxx */
86 			case 0x368: /* 1 101 101 xxx */
87 			case 0x370: /* 1 101 110 xxx */
88 				util::stream_format(stream, "CMP@ (R%01d), R%01d",(subop&0x38)>>3,subop&7);
89 				size += 1;
90 				break;
91 			case 0x378: /* 1 101 111 xxx */
92 				ea1 = oprom16[2];
93 				ea2 = oprom16[3];
94 				ea = ((ea2&0xff)<<8) | (ea1&0xff);
95 				util::stream_format(stream, "CMPI #%04X, R%01d",ea,subop&7);
96 				size += 3;
97 				break;
98 			case 0x380: /* 1 110 000 xxx */
99 			case 0x388: /* 1 110 001 xxx */
100 			case 0x390: /* 1 110 010 xxx */
101 			case 0x398: /* 1 110 011 xxx */
102 			case 0x3a0: /* 1 110 100 xxx */
103 			case 0x3a8: /* 1 110 101 xxx */
104 			case 0x3b0: /* 1 110 110 xxx */
105 				util::stream_format(stream, "AND@ (R%01d), R%01d",(subop&0x38)>>3,subop&7);
106 				size += 1;
107 				break;
108 			case 0x3b8: /* 1 110 111 xxx */
109 				ea1 = oprom16[2];
110 				ea2 = oprom16[3];
111 				ea = ((ea2&0xff)<<8) | (ea1&0xff);
112 				util::stream_format(stream, "ANDI #%04X, R%01d",ea,subop&7);
113 				size += 3;
114 				break;
115 			case 0x3c0: /* 1 111 000 xxx */
116 			case 0x3c8: /* 1 111 001 xxx */
117 			case 0x3d0: /* 1 111 010 xxx */
118 			case 0x3d8: /* 1 111 011 xxx */
119 			case 0x3e0: /* 1 111 100 xxx */
120 			case 0x3e8: /* 1 111 101 xxx */
121 			case 0x3f0: /* 1 111 110 xxx */
122 				util::stream_format(stream, "XOR@ (R%01d), R%01d",(subop&0x38)>>3,subop&7);
123 				size += 1;
124 				break;
125 			case 0x3f8: /* 1 111 111 xxx */
126 				ea1 = oprom16[2];
127 				ea2 = oprom16[3];
128 				ea = ((ea2&0xff)<<8) | (ea1&0xff);
129 				util::stream_format(stream, "XORI #%04X, R%01d",ea,subop&7);
130 				size += 3;
131 				break;
132 			default:
133 				size += 1;
134 				util::stream_format(stream, "SDBD ????");
135 		}
136 		break;
137 	case 0x002: /* 0 000 000 010 */
138 		util::stream_format(stream, "EIS");
139 		break;
140 	case 0x003: /* 0 000 000 011 */
141 		util::stream_format(stream, "DIS");
142 		break;
143 	case 0x004: /* 0 000 000 100 */
144 		size += 2;
145 		ea1 = oprom16[1];
146 		ea2 = oprom16[2];
147 		ea = ((ea1<<8)&0xfc00) + (ea2&0x3ff);
148 		if ((ea1&0x300) == 0x300)
149 		{
150 			//?? set direct address
151 			switch(ea1 & 0x03)
152 			{
153 				case 0:
154 					util::stream_format(stream, "J    %04X",ea);
155 					break;
156 				case 1:
157 					util::stream_format(stream, "JE   %04X",ea);
158 					break;
159 				case 2:
160 					util::stream_format(stream, "JD   %04X",ea);
161 					break;
162 				case 3:
163 					util::stream_format(stream, "????");
164 					break;
165 			}
166 		}
167 		else
168 		{
169 			//?? set R?, return address
170 			switch(ea1 & 0x03)
171 			{
172 				case 0:
173 					util::stream_format(stream, "JSR  R%01d,%04X",((ea1&0x300)>>8)+4,ea);
174 					break;
175 				case 1:
176 					util::stream_format(stream, "JSRE R%01d,%04X",((ea1&0x300)>>8)+4,ea);
177 					break;
178 				case 2:
179 					util::stream_format(stream, "JSRD R%01d,%04X",((ea1&0x300)>>8)+4,ea);
180 					break;
181 				case 3:
182 					util::stream_format(stream, "????");
183 					break;
184 			}
185 		}
186 		break;
187 	case 0x005: /* 0 000 000 101 */
188 		util::stream_format(stream, "TCI");
189 		break;
190 	case 0x006: /* 0 000 000 110 */
191 		util::stream_format(stream, "CLRC");
192 		break;
193 	case 0x007: /* 0 000 000 111 */
194 		util::stream_format(stream, "SETC");
195 		break;
196 	case 0x008: /* 0 000 001 000 */
197 	case 0x009: /* 0 000 001 001 */
198 	case 0x00a: /* 0 000 001 010 */
199 	case 0x00b: /* 0 000 001 011 */
200 	case 0x00c: /* 0 000 001 100 */
201 	case 0x00d: /* 0 000 001 101 */
202 	case 0x00e: /* 0 000 001 110 */
203 	case 0x00f: /* 0 000 001 111 */
204 		util::stream_format(stream, "INCR R%01d",op&0x7);
205 		break;
206 	case 0x010: /* 0 000 010 000 */
207 	case 0x011: /* 0 000 010 001 */
208 	case 0x012: /* 0 000 010 010 */
209 	case 0x013: /* 0 000 010 011 */
210 	case 0x014: /* 0 000 010 100 */
211 	case 0x015: /* 0 000 010 101 */
212 	case 0x016: /* 0 000 010 110 */
213 	case 0x017: /* 0 000 010 111 */
214 		util::stream_format(stream, "DECR R%01d",op&0x7);
215 		break;
216 	case 0x018: /* 0 000 011 000 */
217 	case 0x019: /* 0 000 011 001 */
218 	case 0x01a: /* 0 000 011 010 */
219 	case 0x01b: /* 0 000 011 011 */
220 	case 0x01c: /* 0 000 011 100 */
221 	case 0x01d: /* 0 000 011 101 */
222 	case 0x01e: /* 0 000 011 110 */
223 	case 0x01f: /* 0 000 011 111 */
224 		util::stream_format(stream, "COMR R%01d",op&0x7);
225 		break;
226 	case 0x020: /* 0 000 100 000 */
227 	case 0x021: /* 0 000 100 001 */
228 	case 0x022: /* 0 000 100 010 */
229 	case 0x023: /* 0 000 100 011 */
230 	case 0x024: /* 0 000 100 100 */
231 	case 0x025: /* 0 000 100 101 */
232 	case 0x026: /* 0 000 100 110 */
233 	case 0x027: /* 0 000 100 111 */
234 		util::stream_format(stream, "NEGR R%01d",op&0x7);
235 		break;
236 	case 0x028: /* 0 000 101 000 */
237 	case 0x029: /* 0 000 101 001 */
238 	case 0x02a: /* 0 000 101 010 */
239 	case 0x02b: /* 0 000 101 011 */
240 	case 0x02c: /* 0 000 101 100 */
241 	case 0x02d: /* 0 000 101 101 */
242 	case 0x02e: /* 0 000 101 110 */
243 	case 0x02f: /* 0 000 101 111 */
244 		util::stream_format(stream, "ADCR R%01d",op&0x7);
245 		break;
246 	case 0x030: /* 0 000 110 000 */
247 	case 0x031: /* 0 000 110 001 */
248 	case 0x032: /* 0 000 110 010 */
249 	case 0x033: /* 0 000 110 011 */
250 		util::stream_format(stream, "GSWD R%01d",op&0x3);
251 		break;
252 	case 0x034: /* 0 000 110 100 */
253 	case 0x035: /* 0 000 110 101 */
254 		util::stream_format(stream, "NOP (%01d)",op&0x1); //???
255 		break;
256 	case 0x036: /* 0 000 110 110 */
257 	case 0x037: /* 0 000 110 111 */
258 		util::stream_format(stream, "SIN");
259 		break;
260 	case 0x038: /* 0 000 111 000 */
261 	case 0x039: /* 0 000 111 001 */
262 	case 0x03a: /* 0 000 111 010 */
263 	case 0x03b: /* 0 000 111 011 */
264 	case 0x03c: /* 0 000 111 100 */
265 	case 0x03d: /* 0 000 111 101 */
266 	case 0x03e: /* 0 000 111 110 */
267 	case 0x03f: /* 0 000 111 111 */
268 		util::stream_format(stream, "RSWD R%01d",op&0x7);
269 		break;
270 	case 0x040: /* 0 001 000 000 */
271 	case 0x041: /* 0 001 000 001 */
272 	case 0x042: /* 0 001 000 010 */
273 	case 0x043: /* 0 001 000 011 */
274 		util::stream_format(stream, "SWAP R%01d,1",op&0x3);
275 		break;
276 	case 0x044: /* 0 001 000 100 */
277 	case 0x045: /* 0 001 000 101 */
278 	case 0x046: /* 0 001 000 110 */
279 	case 0x047: /* 0 001 000 111 */
280 		util::stream_format(stream, "SWAP R%01d,2",op&0x3);
281 		break;
282 	case 0x048: /* 0 001 001 000 */
283 	case 0x049: /* 0 001 001 001 */
284 	case 0x04a: /* 0 001 001 010 */
285 	case 0x04b: /* 0 001 001 011 */
286 		util::stream_format(stream, "SLL  R%01d,1",op&0x3);
287 		break;
288 	case 0x04c: /* 0 001 001 100 */
289 	case 0x04d: /* 0 001 001 101 */
290 	case 0x04e: /* 0 001 001 110 */
291 	case 0x04f: /* 0 001 001 111 */
292 		util::stream_format(stream, "SLL  R%01d,2",op&0x3);
293 		break;
294 	case 0x050: /* 0 001 010 000 */
295 	case 0x051: /* 0 001 010 001 */
296 	case 0x052: /* 0 001 010 010 */
297 	case 0x053: /* 0 001 010 011 */
298 		util::stream_format(stream, "RLC  R%01d,1",op&0x3);
299 		break;
300 	case 0x054: /* 0 001 010 100 */
301 	case 0x055: /* 0 001 010 101 */
302 	case 0x056: /* 0 001 010 110 */
303 	case 0x057: /* 0 001 010 111 */
304 		util::stream_format(stream, "RLC  R%01d,2",op&0x3);
305 		break;
306 	case 0x058: /* 0 001 011 000 */
307 	case 0x059: /* 0 001 011 001 */
308 	case 0x05a: /* 0 001 011 010 */
309 	case 0x05b: /* 0 001 011 011 */
310 		util::stream_format(stream, "SLLC R%01d,1",op&0x3);
311 		break;
312 	case 0x05c: /* 0 001 011 100 */
313 	case 0x05d: /* 0 001 011 101 */
314 	case 0x05e: /* 0 001 011 110 */
315 	case 0x05f: /* 0 001 011 111 */
316 		util::stream_format(stream, "SLLC R%01d,2",op&0x3);
317 		break;
318 	case 0x060: /* 0 001 100 000 */
319 	case 0x061: /* 0 001 100 001 */
320 	case 0x062: /* 0 001 100 010 */
321 	case 0x063: /* 0 001 100 011 */
322 		util::stream_format(stream, "SLR  R%01d,1",op&0x3);
323 		break;
324 	case 0x064: /* 0 001 100 100 */
325 	case 0x065: /* 0 001 100 101 */
326 	case 0x066: /* 0 001 100 110 */
327 	case 0x067: /* 0 001 100 111 */
328 		util::stream_format(stream, "SLR  R%01d,2",op&0x3);
329 		break;
330 	case 0x068: /* 0 001 101 000 */
331 	case 0x069: /* 0 001 101 001 */
332 	case 0x06a: /* 0 001 101 010 */
333 	case 0x06b: /* 0 001 101 011 */
334 		util::stream_format(stream, "SAR  R%01d,1",op&0x3);
335 		break;
336 	case 0x06c: /* 0 001 101 100 */
337 	case 0x06d: /* 0 001 101 101 */
338 	case 0x06e: /* 0 001 101 110 */
339 	case 0x06f: /* 0 001 101 111 */
340 		util::stream_format(stream, "SAR  R%01d,2",op&0x3);
341 		break;
342 	case 0x070: /* 0 001 110 000 */
343 	case 0x071: /* 0 001 110 001 */
344 	case 0x072: /* 0 001 110 010 */
345 	case 0x073: /* 0 001 110 011 */
346 		util::stream_format(stream, "RRC  R%01d,1",op&0x3);
347 		break;
348 	case 0x074: /* 0 001 110 100 */
349 	case 0x075: /* 0 001 110 101 */
350 	case 0x076: /* 0 001 110 110 */
351 	case 0x077: /* 0 001 110 111 */
352 		util::stream_format(stream, "RRC  R%01d,2",op&0x3);
353 		break;
354 	case 0x078: /* 0 001 111 000 */
355 	case 0x079: /* 0 001 111 001 */
356 	case 0x07a: /* 0 001 111 010 */
357 	case 0x07b: /* 0 001 111 011 */
358 		util::stream_format(stream, "SARC R%01d,1",op&0x3);
359 		break;
360 	case 0x07c: /* 0 001 111 100 */
361 	case 0x07d: /* 0 001 111 101 */
362 	case 0x07e: /* 0 001 111 110 */
363 	case 0x07f: /* 0 001 111 111 */
364 		util::stream_format(stream, "SARC R%01d,2",op&0x3);
365 		break;
366 	case 0x080: /* 0 010 000 000 */
367 	case 0x089: /* 0 010 001 001 */
368 	case 0x092: /* 0 010 010 010 */
369 	case 0x09b: /* 0 010 011 011 */
370 	case 0x0a4: /* 0 010 100 100 */
371 	case 0x0ad: /* 0 010 101 101 */
372 	case 0x0b6: /* 0 010 110 110 */
373 	case 0x0bf: /* 0 010 111 111 */
374 		util::stream_format(stream, "TSTR R%01d",op&0x7);
375 		break;
376 	case 0x087: /* 0 010 000 111 */
377 	case 0x08f: /* 0 010 001 111 */
378 	case 0x097: /* 0 010 010 111 */
379 	case 0x09f: /* 0 010 011 111 */
380 	case 0x0a7: /* 0 010 100 111 */
381 	case 0x0af: /* 0 010 101 111 */
382 	case 0x0b7: /* 0 010 110 111 */
383 		util::stream_format(stream, "JR   R%01d",(op&0x38)>>3);
384 		break;
385 	case 0x081: /* 0 010 000 001 */
386 	case 0x082: /* 0 010 000 010 */
387 	case 0x083: /* 0 010 000 011 */
388 	case 0x084: /* 0 010 000 100 */
389 	case 0x085: /* 0 010 000 101 */
390 	case 0x086: /* 0 010 000 110 */
391 	case 0x088: /* 0 010 001 000 */
392 	case 0x08a: /* 0 010 001 010 */
393 	case 0x08b: /* 0 010 001 011 */
394 	case 0x08c: /* 0 010 001 100 */
395 	case 0x08d: /* 0 010 001 101 */
396 	case 0x08e: /* 0 010 001 110 */
397 	case 0x090: /* 0 010 010 000 */
398 	case 0x091: /* 0 010 010 001 */
399 	case 0x093: /* 0 010 010 011 */
400 	case 0x094: /* 0 010 010 100 */
401 	case 0x095: /* 0 010 010 101 */
402 	case 0x096: /* 0 010 010 110 */
403 	case 0x098: /* 0 010 011 000 */
404 	case 0x099: /* 0 010 011 001 */
405 	case 0x09a: /* 0 010 011 010 */
406 	case 0x09c: /* 0 010 011 100 */
407 	case 0x09d: /* 0 010 011 101 */
408 	case 0x09e: /* 0 010 011 110 */
409 	case 0x0a0: /* 0 010 100 000 */
410 	case 0x0a1: /* 0 010 100 001 */
411 	case 0x0a2: /* 0 010 100 010 */
412 	case 0x0a3: /* 0 010 100 011 */
413 	case 0x0a5: /* 0 010 100 101 */
414 	case 0x0a6: /* 0 010 100 110 */
415 	case 0x0a8: /* 0 010 101 000 */
416 	case 0x0a9: /* 0 010 101 001 */
417 	case 0x0aa: /* 0 010 101 010 */
418 	case 0x0ab: /* 0 010 101 011 */
419 	case 0x0ac: /* 0 010 101 100 */
420 	case 0x0ae: /* 0 010 101 110 */
421 	case 0x0b0: /* 0 010 110 000 */
422 	case 0x0b1: /* 0 010 110 001 */
423 	case 0x0b2: /* 0 010 110 010 */
424 	case 0x0b3: /* 0 010 110 011 */
425 	case 0x0b4: /* 0 010 110 100 */
426 	case 0x0b5: /* 0 010 110 101 */
427 	case 0x0b8: /* 0 010 111 000 */
428 	case 0x0b9: /* 0 010 111 001 */
429 	case 0x0ba: /* 0 010 111 010 */
430 	case 0x0bb: /* 0 010 111 011 */
431 	case 0x0bc: /* 0 010 111 100 */
432 	case 0x0bd: /* 0 010 111 101 */
433 	case 0x0be: /* 0 010 111 110 */
434 		util::stream_format(stream, "MOVR R%01d,R%01d",(op&0x38)>>3,op&0x7);
435 		break;
436 	case 0x0c0: /* 0 011 000 000 */
437 	case 0x0c1: /* 0 011 000 001 */
438 	case 0x0c2: /* 0 011 000 010 */
439 	case 0x0c3: /* 0 011 000 011 */
440 	case 0x0c4: /* 0 011 000 100 */
441 	case 0x0c5: /* 0 011 000 101 */
442 	case 0x0c6: /* 0 011 000 110 */
443 	case 0x0c7: /* 0 011 000 111 */
444 	case 0x0c8: /* 0 011 001 000 */
445 	case 0x0c9: /* 0 011 001 001 */
446 	case 0x0ca: /* 0 011 001 010 */
447 	case 0x0cb: /* 0 011 001 011 */
448 	case 0x0cc: /* 0 011 001 100 */
449 	case 0x0cd: /* 0 011 001 101 */
450 	case 0x0ce: /* 0 011 001 110 */
451 	case 0x0cf: /* 0 011 001 111 */
452 	case 0x0d0: /* 0 011 010 000 */
453 	case 0x0d1: /* 0 011 010 001 */
454 	case 0x0d2: /* 0 011 010 010 */
455 	case 0x0d3: /* 0 011 010 011 */
456 	case 0x0d4: /* 0 011 010 100 */
457 	case 0x0d5: /* 0 011 010 101 */
458 	case 0x0d6: /* 0 011 010 110 */
459 	case 0x0d7: /* 0 011 010 111 */
460 	case 0x0d8: /* 0 011 011 000 */
461 	case 0x0d9: /* 0 011 011 001 */
462 	case 0x0da: /* 0 011 011 010 */
463 	case 0x0db: /* 0 011 011 011 */
464 	case 0x0dc: /* 0 011 011 100 */
465 	case 0x0dd: /* 0 011 011 101 */
466 	case 0x0de: /* 0 011 011 110 */
467 	case 0x0df: /* 0 011 011 111 */
468 	case 0x0e0: /* 0 011 100 000 */
469 	case 0x0e1: /* 0 011 100 001 */
470 	case 0x0e2: /* 0 011 100 010 */
471 	case 0x0e3: /* 0 011 100 011 */
472 	case 0x0e4: /* 0 011 100 100 */
473 	case 0x0e5: /* 0 011 100 101 */
474 	case 0x0e6: /* 0 011 100 110 */
475 	case 0x0e7: /* 0 011 100 111 */
476 	case 0x0e8: /* 0 011 101 000 */
477 	case 0x0e9: /* 0 011 101 001 */
478 	case 0x0ea: /* 0 011 101 010 */
479 	case 0x0eb: /* 0 011 101 011 */
480 	case 0x0ec: /* 0 011 101 100 */
481 	case 0x0ed: /* 0 011 101 101 */
482 	case 0x0ee: /* 0 011 101 110 */
483 	case 0x0ef: /* 0 011 101 111 */
484 	case 0x0f0: /* 0 011 110 000 */
485 	case 0x0f1: /* 0 011 110 001 */
486 	case 0x0f2: /* 0 011 110 010 */
487 	case 0x0f3: /* 0 011 110 011 */
488 	case 0x0f4: /* 0 011 110 100 */
489 	case 0x0f5: /* 0 011 110 101 */
490 	case 0x0f6: /* 0 011 110 110 */
491 	case 0x0f7: /* 0 011 110 111 */
492 	case 0x0f8: /* 0 011 111 000 */
493 	case 0x0f9: /* 0 011 111 001 */
494 	case 0x0fa: /* 0 011 111 010 */
495 	case 0x0fb: /* 0 011 111 011 */
496 	case 0x0fc: /* 0 011 111 100 */
497 	case 0x0fd: /* 0 011 111 101 */
498 	case 0x0fe: /* 0 011 111 110 */
499 	case 0x0ff: /* 0 011 111 111 */
500 		util::stream_format(stream, "ADDR R%01d,R%01d",(op&0x38)>>3,op&7);
501 		break;
502 	case 0x100: /* 0 100 000 000 */
503 	case 0x101: /* 0 100 000 001 */
504 	case 0x102: /* 0 100 000 010 */
505 	case 0x103: /* 0 100 000 011 */
506 	case 0x104: /* 0 100 000 100 */
507 	case 0x105: /* 0 100 000 101 */
508 	case 0x106: /* 0 100 000 110 */
509 	case 0x107: /* 0 100 000 111 */
510 	case 0x108: /* 0 100 001 000 */
511 	case 0x109: /* 0 100 001 001 */
512 	case 0x10a: /* 0 100 001 010 */
513 	case 0x10b: /* 0 100 001 011 */
514 	case 0x10c: /* 0 100 001 100 */
515 	case 0x10d: /* 0 100 001 101 */
516 	case 0x10e: /* 0 100 001 110 */
517 	case 0x10f: /* 0 100 001 111 */
518 	case 0x110: /* 0 100 010 000 */
519 	case 0x111: /* 0 100 010 001 */
520 	case 0x112: /* 0 100 010 010 */
521 	case 0x113: /* 0 100 010 011 */
522 	case 0x114: /* 0 100 010 100 */
523 	case 0x115: /* 0 100 010 101 */
524 	case 0x116: /* 0 100 010 110 */
525 	case 0x117: /* 0 100 010 111 */
526 	case 0x118: /* 0 100 011 000 */
527 	case 0x119: /* 0 100 011 001 */
528 	case 0x11a: /* 0 100 011 010 */
529 	case 0x11b: /* 0 100 011 011 */
530 	case 0x11c: /* 0 100 011 100 */
531 	case 0x11d: /* 0 100 011 101 */
532 	case 0x11e: /* 0 100 011 110 */
533 	case 0x11f: /* 0 100 011 111 */
534 	case 0x120: /* 0 100 100 000 */
535 	case 0x121: /* 0 100 100 001 */
536 	case 0x122: /* 0 100 100 010 */
537 	case 0x123: /* 0 100 100 011 */
538 	case 0x124: /* 0 100 100 100 */
539 	case 0x125: /* 0 100 100 101 */
540 	case 0x126: /* 0 100 100 110 */
541 	case 0x127: /* 0 100 100 111 */
542 	case 0x128: /* 0 100 101 000 */
543 	case 0x129: /* 0 100 101 001 */
544 	case 0x12a: /* 0 100 101 010 */
545 	case 0x12b: /* 0 100 101 011 */
546 	case 0x12c: /* 0 100 101 100 */
547 	case 0x12d: /* 0 100 101 101 */
548 	case 0x12e: /* 0 100 101 110 */
549 	case 0x12f: /* 0 100 101 111 */
550 	case 0x130: /* 0 100 110 000 */
551 	case 0x131: /* 0 100 110 001 */
552 	case 0x132: /* 0 100 110 010 */
553 	case 0x133: /* 0 100 110 011 */
554 	case 0x134: /* 0 100 110 100 */
555 	case 0x135: /* 0 100 110 101 */
556 	case 0x136: /* 0 100 110 110 */
557 	case 0x137: /* 0 100 110 111 */
558 	case 0x138: /* 0 100 111 000 */
559 	case 0x139: /* 0 100 111 001 */
560 	case 0x13a: /* 0 100 111 010 */
561 	case 0x13b: /* 0 100 111 011 */
562 	case 0x13c: /* 0 100 111 100 */
563 	case 0x13d: /* 0 100 111 101 */
564 	case 0x13e: /* 0 100 111 110 */
565 	case 0x13f: /* 0 100 111 111 */
566 		util::stream_format(stream, "SUBR R%01d,R%01d",(op&0x38)>>3,op&7);
567 		break;
568 	case 0x140: /* 0 101 000 000 */
569 	case 0x141: /* 0 101 000 001 */
570 	case 0x142: /* 0 101 000 010 */
571 	case 0x143: /* 0 101 000 011 */
572 	case 0x144: /* 0 101 000 100 */
573 	case 0x145: /* 0 101 000 101 */
574 	case 0x146: /* 0 101 000 110 */
575 	case 0x147: /* 0 101 000 111 */
576 	case 0x148: /* 0 101 001 000 */
577 	case 0x149: /* 0 101 001 001 */
578 	case 0x14a: /* 0 101 001 010 */
579 	case 0x14b: /* 0 101 001 011 */
580 	case 0x14c: /* 0 101 001 100 */
581 	case 0x14d: /* 0 101 001 101 */
582 	case 0x14e: /* 0 101 001 110 */
583 	case 0x14f: /* 0 101 001 111 */
584 	case 0x150: /* 0 101 010 000 */
585 	case 0x151: /* 0 101 010 001 */
586 	case 0x152: /* 0 101 010 010 */
587 	case 0x153: /* 0 101 010 011 */
588 	case 0x154: /* 0 101 010 100 */
589 	case 0x155: /* 0 101 010 101 */
590 	case 0x156: /* 0 101 010 110 */
591 	case 0x157: /* 0 101 010 111 */
592 	case 0x158: /* 0 101 011 000 */
593 	case 0x159: /* 0 101 011 001 */
594 	case 0x15a: /* 0 101 011 010 */
595 	case 0x15b: /* 0 101 011 011 */
596 	case 0x15c: /* 0 101 011 100 */
597 	case 0x15d: /* 0 101 011 101 */
598 	case 0x15e: /* 0 101 011 110 */
599 	case 0x15f: /* 0 101 011 111 */
600 	case 0x160: /* 0 101 100 000 */
601 	case 0x161: /* 0 101 100 001 */
602 	case 0x162: /* 0 101 100 010 */
603 	case 0x163: /* 0 101 100 011 */
604 	case 0x164: /* 0 101 100 100 */
605 	case 0x165: /* 0 101 100 101 */
606 	case 0x166: /* 0 101 100 110 */
607 	case 0x167: /* 0 101 100 111 */
608 	case 0x168: /* 0 101 101 000 */
609 	case 0x169: /* 0 101 101 001 */
610 	case 0x16a: /* 0 101 101 010 */
611 	case 0x16b: /* 0 101 101 011 */
612 	case 0x16c: /* 0 101 101 100 */
613 	case 0x16d: /* 0 101 101 101 */
614 	case 0x16e: /* 0 101 101 110 */
615 	case 0x16f: /* 0 101 101 111 */
616 	case 0x170: /* 0 101 110 000 */
617 	case 0x171: /* 0 101 110 001 */
618 	case 0x172: /* 0 101 110 010 */
619 	case 0x173: /* 0 101 110 011 */
620 	case 0x174: /* 0 101 110 100 */
621 	case 0x175: /* 0 101 110 101 */
622 	case 0x176: /* 0 101 110 110 */
623 	case 0x177: /* 0 101 110 111 */
624 	case 0x178: /* 0 101 111 000 */
625 	case 0x179: /* 0 101 111 001 */
626 	case 0x17a: /* 0 101 111 010 */
627 	case 0x17b: /* 0 101 111 011 */
628 	case 0x17c: /* 0 101 111 100 */
629 	case 0x17d: /* 0 101 111 101 */
630 	case 0x17e: /* 0 101 111 110 */
631 	case 0x17f: /* 0 101 111 111 */
632 		util::stream_format(stream, "CMPR R%01d,R%01d",(op&0x38)>>3,op&7);
633 		break;
634 	case 0x180: /* 0 110 000 000 */
635 	case 0x181: /* 0 110 000 001 */
636 	case 0x182: /* 0 110 000 010 */
637 	case 0x183: /* 0 110 000 011 */
638 	case 0x184: /* 0 110 000 100 */
639 	case 0x185: /* 0 110 000 101 */
640 	case 0x186: /* 0 110 000 110 */
641 	case 0x187: /* 0 110 000 111 */
642 	case 0x188: /* 0 110 001 000 */
643 	case 0x189: /* 0 110 001 001 */
644 	case 0x18a: /* 0 110 001 010 */
645 	case 0x18b: /* 0 110 001 011 */
646 	case 0x18c: /* 0 110 001 100 */
647 	case 0x18d: /* 0 110 001 101 */
648 	case 0x18e: /* 0 110 001 110 */
649 	case 0x18f: /* 0 110 001 111 */
650 	case 0x190: /* 0 110 010 000 */
651 	case 0x191: /* 0 110 010 001 */
652 	case 0x192: /* 0 110 010 010 */
653 	case 0x193: /* 0 110 010 011 */
654 	case 0x194: /* 0 110 010 100 */
655 	case 0x195: /* 0 110 010 101 */
656 	case 0x196: /* 0 110 010 110 */
657 	case 0x197: /* 0 110 010 111 */
658 	case 0x198: /* 0 110 011 000 */
659 	case 0x199: /* 0 110 011 001 */
660 	case 0x19a: /* 0 110 011 010 */
661 	case 0x19b: /* 0 110 011 011 */
662 	case 0x19c: /* 0 110 011 100 */
663 	case 0x19d: /* 0 110 011 101 */
664 	case 0x19e: /* 0 110 011 110 */
665 	case 0x19f: /* 0 110 011 111 */
666 	case 0x1a0: /* 0 110 100 000 */
667 	case 0x1a1: /* 0 110 100 001 */
668 	case 0x1a2: /* 0 110 100 010 */
669 	case 0x1a3: /* 0 110 100 011 */
670 	case 0x1a4: /* 0 110 100 100 */
671 	case 0x1a5: /* 0 110 100 101 */
672 	case 0x1a6: /* 0 110 100 110 */
673 	case 0x1a7: /* 0 110 100 111 */
674 	case 0x1a8: /* 0 110 101 000 */
675 	case 0x1a9: /* 0 110 101 001 */
676 	case 0x1aa: /* 0 110 101 010 */
677 	case 0x1ab: /* 0 110 101 011 */
678 	case 0x1ac: /* 0 110 101 100 */
679 	case 0x1ad: /* 0 110 101 101 */
680 	case 0x1ae: /* 0 110 101 110 */
681 	case 0x1af: /* 0 110 101 111 */
682 	case 0x1b0: /* 0 110 110 000 */
683 	case 0x1b1: /* 0 110 110 001 */
684 	case 0x1b2: /* 0 110 110 010 */
685 	case 0x1b3: /* 0 110 110 011 */
686 	case 0x1b4: /* 0 110 110 100 */
687 	case 0x1b5: /* 0 110 110 101 */
688 	case 0x1b6: /* 0 110 110 110 */
689 	case 0x1b7: /* 0 110 110 111 */
690 	case 0x1b8: /* 0 110 111 000 */
691 	case 0x1b9: /* 0 110 111 001 */
692 	case 0x1ba: /* 0 110 111 010 */
693 	case 0x1bb: /* 0 110 111 011 */
694 	case 0x1bc: /* 0 110 111 100 */
695 	case 0x1bd: /* 0 110 111 101 */
696 	case 0x1be: /* 0 110 111 110 */
697 	case 0x1bf: /* 0 110 111 111 */
698 		util::stream_format(stream, "ANDR R%01d,R%01d",(op&0x38)>>3,op&7);
699 		break;
700 	case 0x1c0: /* 0 111 000 000 */
701 	case 0x1c9: /* 0 111 001 001 */
702 	case 0x1d2: /* 0 111 010 010 */
703 	case 0x1db: /* 0 111 011 011 */
704 	case 0x1e4: /* 0 111 100 100 */
705 	case 0x1ed: /* 0 111 101 101 */
706 	case 0x1f6: /* 0 111 110 110 */
707 	case 0x1ff: /* 0 111 111 111 */
708 		util::stream_format(stream, "CLRR R%01d",op&7);
709 		break;
710 	case 0x1c1: /* 0 111 000 001 */
711 	case 0x1c2: /* 0 111 000 010 */
712 	case 0x1c3: /* 0 111 000 011 */
713 	case 0x1c4: /* 0 111 000 100 */
714 	case 0x1c5: /* 0 111 000 101 */
715 	case 0x1c6: /* 0 111 000 110 */
716 	case 0x1c7: /* 0 111 000 111 */
717 	case 0x1c8: /* 0 111 001 000 */
718 	case 0x1ca: /* 0 111 001 010 */
719 	case 0x1cb: /* 0 111 001 011 */
720 	case 0x1cc: /* 0 111 001 100 */
721 	case 0x1cd: /* 0 111 001 101 */
722 	case 0x1ce: /* 0 111 001 110 */
723 	case 0x1cf: /* 0 111 001 111 */
724 	case 0x1d0: /* 0 111 010 000 */
725 	case 0x1d1: /* 0 111 010 001 */
726 	case 0x1d3: /* 0 111 010 011 */
727 	case 0x1d4: /* 0 111 010 100 */
728 	case 0x1d5: /* 0 111 010 101 */
729 	case 0x1d6: /* 0 111 010 110 */
730 	case 0x1d7: /* 0 111 010 111 */
731 	case 0x1d8: /* 0 111 011 000 */
732 	case 0x1d9: /* 0 111 011 001 */
733 	case 0x1da: /* 0 111 011 010 */
734 	case 0x1dc: /* 0 111 011 100 */
735 	case 0x1dd: /* 0 111 011 101 */
736 	case 0x1de: /* 0 111 011 110 */
737 	case 0x1df: /* 0 111 011 111 */
738 	case 0x1e0: /* 0 111 100 000 */
739 	case 0x1e1: /* 0 111 100 001 */
740 	case 0x1e2: /* 0 111 100 010 */
741 	case 0x1e3: /* 0 111 100 011 */
742 	case 0x1e5: /* 0 111 100 101 */
743 	case 0x1e6: /* 0 111 100 110 */
744 	case 0x1e7: /* 0 111 100 111 */
745 	case 0x1e8: /* 0 111 101 000 */
746 	case 0x1e9: /* 0 111 101 001 */
747 	case 0x1ea: /* 0 111 101 010 */
748 	case 0x1eb: /* 0 111 101 011 */
749 	case 0x1ec: /* 0 111 101 100 */
750 	case 0x1ee: /* 0 111 101 110 */
751 	case 0x1ef: /* 0 111 101 111 */
752 	case 0x1f0: /* 0 111 110 000 */
753 	case 0x1f1: /* 0 111 110 001 */
754 	case 0x1f2: /* 0 111 110 010 */
755 	case 0x1f3: /* 0 111 110 011 */
756 	case 0x1f4: /* 0 111 110 100 */
757 	case 0x1f5: /* 0 111 110 101 */
758 	case 0x1f7: /* 0 111 110 111 */
759 	case 0x1f8: /* 0 111 111 000 */
760 	case 0x1f9: /* 0 111 111 001 */
761 	case 0x1fa: /* 0 111 111 010 */
762 	case 0x1fb: /* 0 111 111 011 */
763 	case 0x1fc: /* 0 111 111 100 */
764 	case 0x1fd: /* 0 111 111 101 */
765 	case 0x1fe: /* 0 111 111 110 */
766 		util::stream_format(stream, "XORR R%01d,R%01d",(op&0x38)>>3,op&7);
767 		break;
768 	case 0x200: /* 1 000 000 000 */
769 		size += 1;
770 		ea = oprom16[1];
771 		util::stream_format(stream, "B    %04X",pc+2+ea);
772 		break;
773 	case 0x201: /* 1 000 000 001 */
774 		size += 1;
775 		ea = oprom16[1];
776 		util::stream_format(stream, "BC   %04X",pc+2+ea);
777 		break;
778 	case 0x202: /* 1 000 000 010 */
779 		size += 1;
780 		ea = oprom16[1];
781 		util::stream_format(stream, "BOV  %04X",pc+2+ea);
782 		break;
783 	case 0x203: /* 1 000 000 011 */
784 		size += 1;
785 		ea = oprom16[1];
786 		util::stream_format(stream, "BPL  %04X",pc+2+ea);
787 		break;
788 	case 0x204: /* 1 000 000 100 */
789 		size += 1;
790 		ea = oprom16[1];
791 		util::stream_format(stream, "BZE  %04X",pc+2+ea);
792 		break;
793 	case 0x205: /* 1 000 000 101 */
794 		size += 1;
795 		ea = oprom16[1];
796 		util::stream_format(stream, "BLT  %04X",pc+2+ea);
797 		break;
798 	case 0x206: /* 1 000 000 110 */
799 		size += 1;
800 		ea = oprom16[1];
801 		util::stream_format(stream, "BLE  %04X",pc+2+ea);
802 		break;
803 	case 0x207: /* 1 000 000 111 */
804 		size += 1;
805 		ea = oprom16[1];
806 		util::stream_format(stream, "BUSC %04X",pc+2+ea);
807 		break;
808 	case 0x208: /* 1 000 001 000 */
809 		size += 1;
810 		ea = oprom16[1];
811 		util::stream_format(stream, "NOPP %04X",pc+2+ea);
812 		break;
813 	case 0x209: /* 1 000 001 001 */
814 		size += 1;
815 		ea = oprom16[1];
816 		util::stream_format(stream, "BNC  %04X",pc+2+ea);
817 		break;
818 	case 0x20a: /* 1 000 001 010 */
819 		size += 1;
820 		ea = oprom16[1];
821 		util::stream_format(stream, "BNOV %04X",pc+2+ea);
822 		break;
823 	case 0x20b: /* 1 000 001 011 */
824 		size += 1;
825 		ea = oprom16[1];
826 		util::stream_format(stream, "BMI  %04X",pc+2+ea);
827 		break;
828 	case 0x20c: /* 1 000 001 100 */
829 		size += 1;
830 		ea = oprom16[1];
831 		util::stream_format(stream, "BNZE %04X",pc+2+ea);
832 		break;
833 	case 0x20d: /* 1 000 001 101 */
834 		size += 1;
835 		ea = oprom16[1];
836 		util::stream_format(stream, "BGE  %04X",pc+2+ea);
837 		break;
838 	case 0x20e: /* 1 000 001 110 */
839 		size += 1;
840 		ea = oprom16[1];
841 		util::stream_format(stream, "BGT  %04X",pc+2+ea);
842 		break;
843 	case 0x20f: /* 1 000 001 111 */
844 		size += 1;
845 		ea = oprom16[1];
846 		util::stream_format(stream, "BESC %04X",pc+2+ea);
847 		break;
848 	case 0x210: /* 1 000 010 000 */
849 	case 0x211: /* 1 000 010 001 */
850 	case 0x212: /* 1 000 010 010 */
851 	case 0x213: /* 1 000 010 011 */
852 	case 0x214: /* 1 000 010 100 */
853 	case 0x215: /* 1 000 010 101 */
854 	case 0x216: /* 1 000 010 110 */
855 	case 0x217: /* 1 000 010 111 */
856 	case 0x218: /* 1 000 011 000 */
857 	case 0x219: /* 1 000 011 001 */
858 	case 0x21a: /* 1 000 011 010 */
859 	case 0x21b: /* 1 000 011 011 */
860 	case 0x21c: /* 1 000 011 100 */
861 	case 0x21d: /* 1 000 011 101 */
862 	case 0x21e: /* 1 000 011 110 */
863 	case 0x21f: /* 1 000 011 111 */
864 		size += 1;
865 		ea = oprom16[1];
866 		util::stream_format(stream, "BEXT %04X,%01X",pc+2+ea,op&0x0f);
867 		break;
868 	case 0x220: /* 1 000 100 000 */
869 		size += 1;
870 		ea = oprom16[1];
871 		util::stream_format(stream, "B    %04X",pc+1-ea);
872 		break;
873 	case 0x221: /* 1 000 100 001 */
874 		size += 1;
875 		ea = oprom16[1];
876 		util::stream_format(stream, "BC   %04X",pc+1-ea);
877 		break;
878 	case 0x222: /* 1 000 100 010 */
879 		size += 1;
880 		ea = oprom16[1];
881 		util::stream_format(stream, "BOV  %04X",pc+1-ea);
882 		break;
883 	case 0x223: /* 1 000 100 011 */
884 		size += 1;
885 		ea = oprom16[1];
886 		util::stream_format(stream, "BPL  %04X",pc+1-ea);
887 		break;
888 	case 0x224: /* 1 000 100 100 */
889 		size += 1;
890 		ea = oprom16[1];
891 		util::stream_format(stream, "BZE  %04X",pc+1-ea);
892 		break;
893 	case 0x225: /* 1 000 100 101 */
894 		size += 1;
895 		ea = oprom16[1];
896 		util::stream_format(stream, "BLT  %04X",pc+1-ea);
897 		break;
898 	case 0x226: /* 1 000 100 110 */
899 		size += 1;
900 		ea = oprom16[1];
901 		util::stream_format(stream, "BLE  %04X",pc+1-ea);
902 		break;
903 	case 0x227: /* 1 000 100 111 */
904 		size += 1;
905 		ea = oprom16[1];
906 		util::stream_format(stream, "BUSC %04X",pc+1-ea);
907 		break;
908 	case 0x228: /* 1 000 101 000 */
909 		size += 1;
910 		ea = oprom16[1];
911 		util::stream_format(stream, "NOPP %04X",pc+1-ea);
912 		break;
913 	case 0x229: /* 1 000 101 001 */
914 		size += 1;
915 		ea = oprom16[1];
916 		util::stream_format(stream, "BNC  %04X",pc+1-ea);
917 		break;
918 	case 0x22a: /* 1 000 101 010 */
919 		size += 1;
920 		ea = oprom16[1];
921 		util::stream_format(stream, "BNOV %04X",pc+1-ea);
922 		break;
923 	case 0x22b: /* 1 000 101 011 */
924 		size += 1;
925 		ea = oprom16[1];
926 		util::stream_format(stream, "BMI  %04X",pc+1-ea);
927 		break;
928 	case 0x22c: /* 1 000 101 100 */
929 		size += 1;
930 		ea = oprom16[1];
931 		util::stream_format(stream, "BNZE %04X",pc+1-ea);
932 		break;
933 	case 0x22d: /* 1 000 101 101 */
934 		size += 1;
935 		ea = oprom16[1];
936 		util::stream_format(stream, "BGE  %04X",pc+1-ea);
937 		break;
938 	case 0x22e: /* 1 000 101 110 */
939 		size += 1;
940 		ea = oprom16[1];
941 		util::stream_format(stream, "BGT  %04X",pc+1-ea);
942 		break;
943 	case 0x22f: /* 1 000 101 111 */
944 		size += 1;
945 		ea = oprom16[1];
946 		util::stream_format(stream, "BESC %04X",pc+1-ea);
947 		break;
948 	case 0x230: /* 1 000 110 000 */
949 	case 0x231: /* 1 000 110 001 */
950 	case 0x232: /* 1 000 110 010 */
951 	case 0x233: /* 1 000 110 011 */
952 	case 0x234: /* 1 000 110 100 */
953 	case 0x235: /* 1 000 110 101 */
954 	case 0x236: /* 1 000 110 110 */
955 	case 0x237: /* 1 000 110 111 */
956 	case 0x238: /* 1 000 111 000 */
957 	case 0x239: /* 1 000 111 001 */
958 	case 0x23a: /* 1 000 111 010 */
959 	case 0x23b: /* 1 000 111 011 */
960 	case 0x23c: /* 1 000 111 100 */
961 	case 0x23d: /* 1 000 111 101 */
962 	case 0x23e: /* 1 000 111 110 */
963 	case 0x23f: /* 1 000 111 111 */
964 		size += 1;
965 		ea = oprom16[1];
966 		util::stream_format(stream, "BEXT %04X,%01X",pc+1-ea,op&0x0f);
967 		break;
968 	case 0x240: /* 1 001 000 000 */
969 	case 0x241: /* 1 001 000 001 */
970 	case 0x242: /* 1 001 000 010 */
971 	case 0x243: /* 1 001 000 011 */
972 	case 0x244: /* 1 001 000 100 */
973 	case 0x245: /* 1 001 000 101 */
974 	case 0x246: /* 1 001 000 110 */
975 	case 0x247: /* 1 001 000 111 */
976 		size += 1;
977 		ea = oprom16[1];
978 		util::stream_format(stream, "MVO  R%01d,(%04X)",op&0x7,ea);
979 		break;
980 	case 0x248: /* 1 001 001 000 */
981 	case 0x249: /* 1 001 001 001 */
982 	case 0x24a: /* 1 001 001 010 */
983 	case 0x24b: /* 1 001 001 011 */
984 	case 0x24c: /* 1 001 001 100 */
985 	case 0x24d: /* 1 001 001 101 */
986 	case 0x24e: /* 1 001 001 110 */
987 	case 0x24f: /* 1 001 001 111 */
988 	case 0x250: /* 1 001 010 000 */
989 	case 0x251: /* 1 001 010 001 */
990 	case 0x252: /* 1 001 010 010 */
991 	case 0x253: /* 1 001 010 011 */
992 	case 0x254: /* 1 001 010 100 */
993 	case 0x255: /* 1 001 010 101 */
994 	case 0x256: /* 1 001 010 110 */
995 	case 0x257: /* 1 001 010 111 */
996 	case 0x258: /* 1 001 011 000 */
997 	case 0x259: /* 1 001 011 001 */
998 	case 0x25a: /* 1 001 011 010 */
999 	case 0x25b: /* 1 001 011 011 */
1000 	case 0x25c: /* 1 001 011 100 */
1001 	case 0x25d: /* 1 001 011 101 */
1002 	case 0x25e: /* 1 001 011 110 */
1003 	case 0x25f: /* 1 001 011 111 */
1004 	case 0x260: /* 1 001 100 000 */
1005 	case 0x261: /* 1 001 100 001 */
1006 	case 0x262: /* 1 001 100 010 */
1007 	case 0x263: /* 1 001 100 011 */
1008 	case 0x264: /* 1 001 100 100 */
1009 	case 0x265: /* 1 001 100 101 */
1010 	case 0x266: /* 1 001 100 110 */
1011 	case 0x267: /* 1 001 100 111 */
1012 	case 0x268: /* 1 001 101 000 */
1013 	case 0x269: /* 1 001 101 001 */
1014 	case 0x26a: /* 1 001 101 010 */
1015 	case 0x26b: /* 1 001 101 011 */
1016 	case 0x26c: /* 1 001 101 100 */
1017 	case 0x26d: /* 1 001 101 101 */
1018 	case 0x26e: /* 1 001 101 110 */
1019 	case 0x26f: /* 1 001 101 111 */
1020 		util::stream_format(stream, "MVO@ R%01d,(R%01d)",op&0x7,(op&0x38)>>3);
1021 		break;
1022 	case 0x270: /* 1 001 110 000 */
1023 	case 0x271: /* 1 001 110 001 */
1024 	case 0x272: /* 1 001 110 010 */
1025 	case 0x273: /* 1 001 110 011 */
1026 	case 0x274: /* 1 001 110 100 */
1027 	case 0x275: /* 1 001 110 101 */
1028 	case 0x276: /* 1 001 110 110 */
1029 	case 0x277: /* 1 001 110 111 */
1030 		util::stream_format(stream, "PSHR R%01d",op&0x7);
1031 		break;
1032 	case 0x278: /* 1 001 111 000 */
1033 	case 0x279: /* 1 001 111 001 */
1034 	case 0x27a: /* 1 001 111 010 */
1035 	case 0x27b: /* 1 001 111 011 */
1036 	case 0x27c: /* 1 001 111 100 */
1037 	case 0x27d: /* 1 001 111 101 */
1038 	case 0x27e: /* 1 001 111 110 */
1039 	case 0x27f: /* 1 001 111 111 */
1040 		size += 1;
1041 		util::stream_format(stream, "MVOI R%01d,(%04X)",op&0x7,pc+1);
1042 		break;
1043 	case 0x280: /* 1 010 000 000 */
1044 	case 0x281: /* 1 010 000 001 */
1045 	case 0x282: /* 1 010 000 010 */
1046 	case 0x283: /* 1 010 000 011 */
1047 	case 0x284: /* 1 010 000 100 */
1048 	case 0x285: /* 1 010 000 101 */
1049 	case 0x286: /* 1 010 000 110 */
1050 	case 0x287: /* 1 010 000 111 */
1051 		size += 1;
1052 		ea = oprom16[1];
1053 		util::stream_format(stream, "MVI  (%04X),R%01d",ea,op&0x7);
1054 		break;
1055 	case 0x288: /* 1 010 001 000 */
1056 	case 0x289: /* 1 010 001 001 */
1057 	case 0x28a: /* 1 010 001 010 */
1058 	case 0x28b: /* 1 010 001 011 */
1059 	case 0x28c: /* 1 010 001 100 */
1060 	case 0x28d: /* 1 010 001 101 */
1061 	case 0x28e: /* 1 010 001 110 */
1062 	case 0x28f: /* 1 010 001 111 */
1063 	case 0x290: /* 1 010 010 000 */
1064 	case 0x291: /* 1 010 010 001 */
1065 	case 0x292: /* 1 010 010 010 */
1066 	case 0x293: /* 1 010 010 011 */
1067 	case 0x294: /* 1 010 010 100 */
1068 	case 0x295: /* 1 010 010 101 */
1069 	case 0x296: /* 1 010 010 110 */
1070 	case 0x297: /* 1 010 010 111 */
1071 	case 0x298: /* 1 010 011 000 */
1072 	case 0x299: /* 1 010 011 001 */
1073 	case 0x29a: /* 1 010 011 010 */
1074 	case 0x29b: /* 1 010 011 011 */
1075 	case 0x29c: /* 1 010 011 100 */
1076 	case 0x29d: /* 1 010 011 101 */
1077 	case 0x29e: /* 1 010 011 110 */
1078 	case 0x29f: /* 1 010 011 111 */
1079 	case 0x2a0: /* 1 010 100 000 */
1080 	case 0x2a1: /* 1 010 100 001 */
1081 	case 0x2a2: /* 1 010 100 010 */
1082 	case 0x2a3: /* 1 010 100 011 */
1083 	case 0x2a4: /* 1 010 100 100 */
1084 	case 0x2a5: /* 1 010 100 101 */
1085 	case 0x2a6: /* 1 010 100 110 */
1086 	case 0x2a7: /* 1 010 100 111 */
1087 	case 0x2a8: /* 1 010 101 000 */
1088 	case 0x2a9: /* 1 010 101 001 */
1089 	case 0x2aa: /* 1 010 101 010 */
1090 	case 0x2ab: /* 1 010 101 011 */
1091 	case 0x2ac: /* 1 010 101 100 */
1092 	case 0x2ad: /* 1 010 101 101 */
1093 	case 0x2ae: /* 1 010 101 110 */
1094 	case 0x2af: /* 1 010 101 111 */
1095 		util::stream_format(stream, "MVI@ (R%01d),R%01d",(op&0x38)>>3,op&0x7);
1096 		break;
1097 	case 0x2b0: /* 1 010 110 000 */
1098 	case 0x2b1: /* 1 010 110 001 */
1099 	case 0x2b2: /* 1 010 110 010 */
1100 	case 0x2b3: /* 1 010 110 011 */
1101 	case 0x2b4: /* 1 010 110 100 */
1102 	case 0x2b5: /* 1 010 110 101 */
1103 	case 0x2b6: /* 1 010 110 110 */
1104 	case 0x2b7: /* 1 010 110 111 */
1105 		util::stream_format(stream, "PULR R%01d",op&0x7);
1106 		break;
1107 	case 0x2b8: /* 1 010 111 000 */
1108 	case 0x2b9: /* 1 010 111 001 */
1109 	case 0x2ba: /* 1 010 111 010 */
1110 	case 0x2bb: /* 1 010 111 011 */
1111 	case 0x2bc: /* 1 010 111 100 */
1112 	case 0x2bd: /* 1 010 111 101 */
1113 	case 0x2be: /* 1 010 111 110 */
1114 	case 0x2bf: /* 1 010 111 111 */
1115 		size += 1;
1116 		ea = oprom16[1];
1117 		util::stream_format(stream, "MVII #%04X,R%01d",ea,op&0x7);
1118 		break;
1119 	case 0x2c0: /* 1 011 010 000 */
1120 	case 0x2c1: /* 1 011 010 001 */
1121 	case 0x2c2: /* 1 011 010 010 */
1122 	case 0x2c3: /* 1 011 010 011 */
1123 	case 0x2c4: /* 1 011 010 100 */
1124 	case 0x2c5: /* 1 011 010 101 */
1125 	case 0x2c6: /* 1 011 010 110 */
1126 	case 0x2c7: /* 1 011 010 111 */
1127 		size += 1;
1128 		ea = oprom16[1];
1129 		util::stream_format(stream, "ADD  (%04X),R%01d",ea,op&0x7);
1130 		break;
1131 	case 0x2c8: /* 1 011 001 000 */
1132 	case 0x2c9: /* 1 011 001 001 */
1133 	case 0x2ca: /* 1 011 001 010 */
1134 	case 0x2cb: /* 1 011 001 011 */
1135 	case 0x2cc: /* 1 011 001 100 */
1136 	case 0x2cd: /* 1 011 001 101 */
1137 	case 0x2ce: /* 1 011 001 110 */
1138 	case 0x2cf: /* 1 011 001 111 */
1139 	case 0x2d0: /* 1 011 010 000 */
1140 	case 0x2d1: /* 1 011 010 001 */
1141 	case 0x2d2: /* 1 011 010 010 */
1142 	case 0x2d3: /* 1 011 010 011 */
1143 	case 0x2d4: /* 1 011 010 100 */
1144 	case 0x2d5: /* 1 011 010 101 */
1145 	case 0x2d6: /* 1 011 010 110 */
1146 	case 0x2d7: /* 1 011 010 111 */
1147 	case 0x2d8: /* 1 011 011 000 */
1148 	case 0x2d9: /* 1 011 011 001 */
1149 	case 0x2da: /* 1 011 011 010 */
1150 	case 0x2db: /* 1 011 011 011 */
1151 	case 0x2dc: /* 1 011 011 100 */
1152 	case 0x2dd: /* 1 011 011 101 */
1153 	case 0x2de: /* 1 011 011 110 */
1154 	case 0x2df: /* 1 011 011 111 */
1155 	case 0x2e0: /* 1 011 100 000 */
1156 	case 0x2e1: /* 1 011 100 001 */
1157 	case 0x2e2: /* 1 011 100 010 */
1158 	case 0x2e3: /* 1 011 100 011 */
1159 	case 0x2e4: /* 1 011 100 100 */
1160 	case 0x2e5: /* 1 011 100 101 */
1161 	case 0x2e6: /* 1 011 100 110 */
1162 	case 0x2e7: /* 1 011 100 111 */
1163 	case 0x2e8: /* 1 011 101 000 */
1164 	case 0x2e9: /* 1 011 101 001 */
1165 	case 0x2ea: /* 1 011 101 010 */
1166 	case 0x2eb: /* 1 011 101 011 */
1167 	case 0x2ec: /* 1 011 101 100 */
1168 	case 0x2ed: /* 1 011 101 101 */
1169 	case 0x2ee: /* 1 011 101 110 */
1170 	case 0x2ef: /* 1 011 101 111 */
1171 	case 0x2f0: /* 1 011 110 000 */
1172 	case 0x2f1: /* 1 011 110 001 */
1173 	case 0x2f2: /* 1 011 110 010 */
1174 	case 0x2f3: /* 1 011 110 011 */
1175 	case 0x2f4: /* 1 011 110 100 */
1176 	case 0x2f5: /* 1 011 110 101 */
1177 	case 0x2f6: /* 1 011 110 110 */
1178 	case 0x2f7: /* 1 011 110 111 */
1179 		util::stream_format(stream, "ADD@ (R%01d),R%01d",(op&0x38)>>3,op&0x7);
1180 		break;
1181 	case 0x2f8: /* 1 011 111 000 */
1182 	case 0x2f9: /* 1 011 111 001 */
1183 	case 0x2fa: /* 1 011 111 010 */
1184 	case 0x2fb: /* 1 011 111 011 */
1185 	case 0x2fc: /* 1 011 111 100 */
1186 	case 0x2fd: /* 1 011 111 101 */
1187 	case 0x2fe: /* 1 011 111 110 */
1188 	case 0x2ff: /* 1 011 111 111 */
1189 		size += 1;
1190 		ea = oprom16[1];
1191 		util::stream_format(stream, "ADDI #%04X,R%01d",ea,op&0x7);
1192 		break;
1193 	case 0x300: /* 1 100 000 000 */
1194 	case 0x301: /* 1 100 000 001 */
1195 	case 0x302: /* 1 100 000 010 */
1196 	case 0x303: /* 1 100 000 011 */
1197 	case 0x304: /* 1 100 000 100 */
1198 	case 0x305: /* 1 100 000 101 */
1199 	case 0x306: /* 1 100 000 110 */
1200 	case 0x307: /* 1 100 000 111 */
1201 		size += 1;
1202 		ea = oprom16[1];
1203 		util::stream_format(stream, "SUB  (%04X),R%01d",ea,op&0x7);
1204 		break;
1205 	case 0x308: /* 1 100 001 000 */
1206 	case 0x309: /* 1 100 001 001 */
1207 	case 0x30a: /* 1 100 001 010 */
1208 	case 0x30b: /* 1 100 001 011 */
1209 	case 0x30c: /* 1 100 001 100 */
1210 	case 0x30d: /* 1 100 001 101 */
1211 	case 0x30e: /* 1 100 001 110 */
1212 	case 0x30f: /* 1 100 001 111 */
1213 	case 0x310: /* 1 100 010 000 */
1214 	case 0x311: /* 1 100 010 001 */
1215 	case 0x312: /* 1 100 010 010 */
1216 	case 0x313: /* 1 100 010 011 */
1217 	case 0x314: /* 1 100 010 100 */
1218 	case 0x315: /* 1 100 010 101 */
1219 	case 0x316: /* 1 100 010 110 */
1220 	case 0x317: /* 1 100 010 111 */
1221 	case 0x318: /* 1 100 011 000 */
1222 	case 0x319: /* 1 100 011 001 */
1223 	case 0x31a: /* 1 100 011 010 */
1224 	case 0x31b: /* 1 100 011 011 */
1225 	case 0x31c: /* 1 100 011 100 */
1226 	case 0x31d: /* 1 100 011 101 */
1227 	case 0x31e: /* 1 100 011 110 */
1228 	case 0x31f: /* 1 100 011 111 */
1229 	case 0x320: /* 1 100 100 000 */
1230 	case 0x321: /* 1 100 100 001 */
1231 	case 0x322: /* 1 100 100 010 */
1232 	case 0x323: /* 1 100 100 011 */
1233 	case 0x324: /* 1 100 100 100 */
1234 	case 0x325: /* 1 100 100 101 */
1235 	case 0x326: /* 1 100 100 110 */
1236 	case 0x327: /* 1 100 100 111 */
1237 	case 0x328: /* 1 100 101 000 */
1238 	case 0x329: /* 1 100 101 001 */
1239 	case 0x32a: /* 1 100 101 010 */
1240 	case 0x32b: /* 1 100 101 011 */
1241 	case 0x32c: /* 1 100 101 100 */
1242 	case 0x32d: /* 1 100 101 101 */
1243 	case 0x32e: /* 1 100 101 110 */
1244 	case 0x32f: /* 1 100 101 111 */
1245 	case 0x330: /* 1 100 110 000 */
1246 	case 0x331: /* 1 100 110 001 */
1247 	case 0x332: /* 1 100 110 010 */
1248 	case 0x333: /* 1 100 110 011 */
1249 	case 0x334: /* 1 100 110 100 */
1250 	case 0x335: /* 1 100 110 101 */
1251 	case 0x336: /* 1 100 110 110 */
1252 	case 0x337: /* 1 100 110 111 */
1253 		util::stream_format(stream, "SUB@ (R%01d),R%01d",(op&0x38)>>3,op&0x7);
1254 		break;
1255 	case 0x338: /* 1 100 111 000 */
1256 	case 0x339: /* 1 100 111 001 */
1257 	case 0x33a: /* 1 100 111 010 */
1258 	case 0x33b: /* 1 100 111 011 */
1259 	case 0x33c: /* 1 100 111 100 */
1260 	case 0x33d: /* 1 100 111 101 */
1261 	case 0x33e: /* 1 100 111 110 */
1262 	case 0x33f: /* 1 100 111 111 */
1263 		size += 1;
1264 		ea = oprom16[1];
1265 		util::stream_format(stream, "SUBI #%04X,R%01d",ea,op&0x7);
1266 		break;
1267 	case 0x340: /* 1 101 000 000 */
1268 	case 0x341: /* 1 101 000 001 */
1269 	case 0x342: /* 1 101 000 010 */
1270 	case 0x343: /* 1 101 000 011 */
1271 	case 0x344: /* 1 101 000 100 */
1272 	case 0x345: /* 1 101 000 101 */
1273 	case 0x346: /* 1 101 000 110 */
1274 	case 0x347: /* 1 101 000 111 */
1275 		size += 1;
1276 		ea = oprom16[1];
1277 		util::stream_format(stream, "CMP  (%04X),R%01d",ea,op&0x7);
1278 		break;
1279 	case 0x348: /* 1 101 001 000 */
1280 	case 0x349: /* 1 101 001 001 */
1281 	case 0x34a: /* 1 101 001 010 */
1282 	case 0x34b: /* 1 101 001 011 */
1283 	case 0x34c: /* 1 101 001 100 */
1284 	case 0x34d: /* 1 101 001 101 */
1285 	case 0x34e: /* 1 101 001 110 */
1286 	case 0x34f: /* 1 101 001 111 */
1287 	case 0x350: /* 1 101 010 000 */
1288 	case 0x351: /* 1 101 010 001 */
1289 	case 0x352: /* 1 101 010 010 */
1290 	case 0x353: /* 1 101 010 011 */
1291 	case 0x354: /* 1 101 010 100 */
1292 	case 0x355: /* 1 101 010 101 */
1293 	case 0x356: /* 1 101 010 110 */
1294 	case 0x357: /* 1 101 010 111 */
1295 	case 0x358: /* 1 101 011 000 */
1296 	case 0x359: /* 1 101 011 001 */
1297 	case 0x35a: /* 1 101 011 010 */
1298 	case 0x35b: /* 1 101 011 011 */
1299 	case 0x35c: /* 1 101 011 100 */
1300 	case 0x35d: /* 1 101 011 101 */
1301 	case 0x35e: /* 1 101 011 110 */
1302 	case 0x35f: /* 1 101 011 111 */
1303 	case 0x360: /* 1 101 100 000 */
1304 	case 0x361: /* 1 101 100 001 */
1305 	case 0x362: /* 1 101 100 010 */
1306 	case 0x363: /* 1 101 100 011 */
1307 	case 0x364: /* 1 101 100 100 */
1308 	case 0x365: /* 1 101 100 101 */
1309 	case 0x366: /* 1 101 100 110 */
1310 	case 0x367: /* 1 101 100 111 */
1311 	case 0x368: /* 1 101 101 000 */
1312 	case 0x369: /* 1 101 101 001 */
1313 	case 0x36a: /* 1 101 101 010 */
1314 	case 0x36b: /* 1 101 101 011 */
1315 	case 0x36c: /* 1 101 101 100 */
1316 	case 0x36d: /* 1 101 101 101 */
1317 	case 0x36e: /* 1 101 101 110 */
1318 	case 0x36f: /* 1 101 101 111 */
1319 	case 0x370: /* 1 101 110 000 */
1320 	case 0x371: /* 1 101 110 001 */
1321 	case 0x372: /* 1 101 110 010 */
1322 	case 0x373: /* 1 101 110 011 */
1323 	case 0x374: /* 1 101 110 100 */
1324 	case 0x375: /* 1 101 110 101 */
1325 	case 0x376: /* 1 101 110 110 */
1326 	case 0x377: /* 1 101 110 111 */
1327 		util::stream_format(stream, "CMP@ (R%01d),R%01d",(op&0x38)>>3,op&0x7);
1328 		break;
1329 	case 0x378: /* 1 101 111 000 */
1330 	case 0x379: /* 1 101 111 001 */
1331 	case 0x37a: /* 1 101 111 010 */
1332 	case 0x37b: /* 1 101 111 011 */
1333 	case 0x37c: /* 1 101 111 100 */
1334 	case 0x37d: /* 1 101 111 101 */
1335 	case 0x37e: /* 1 101 111 110 */
1336 	case 0x37f: /* 1 101 111 111 */
1337 		size += 1;
1338 		ea = oprom16[1];
1339 		util::stream_format(stream, "CMPI #%04X,R%01d",ea,op&0x7);
1340 		break;
1341 	case 0x380: /* 1 110 000 000 */
1342 	case 0x381: /* 1 110 000 001 */
1343 	case 0x382: /* 1 110 000 010 */
1344 	case 0x383: /* 1 110 000 011 */
1345 	case 0x384: /* 1 110 000 100 */
1346 	case 0x385: /* 1 110 000 101 */
1347 	case 0x386: /* 1 110 000 110 */
1348 	case 0x387: /* 1 110 000 111 */
1349 		size += 1;
1350 		ea = oprom16[1];
1351 		util::stream_format(stream, "AND  (%04X),R%01d",ea,op&0x7);
1352 		break;
1353 	case 0x388: /* 1 110 001 000 */
1354 	case 0x389: /* 1 110 001 001 */
1355 	case 0x38a: /* 1 110 001 010 */
1356 	case 0x38b: /* 1 110 001 011 */
1357 	case 0x38c: /* 1 110 001 100 */
1358 	case 0x38d: /* 1 110 001 101 */
1359 	case 0x38e: /* 1 110 001 110 */
1360 	case 0x38f: /* 1 110 001 111 */
1361 	case 0x390: /* 1 110 010 000 */
1362 	case 0x391: /* 1 110 010 001 */
1363 	case 0x392: /* 1 110 010 010 */
1364 	case 0x393: /* 1 110 010 011 */
1365 	case 0x394: /* 1 110 010 100 */
1366 	case 0x395: /* 1 110 010 101 */
1367 	case 0x396: /* 1 110 010 110 */
1368 	case 0x397: /* 1 110 010 111 */
1369 	case 0x398: /* 1 110 011 000 */
1370 	case 0x399: /* 1 110 011 001 */
1371 	case 0x39a: /* 1 110 011 010 */
1372 	case 0x39b: /* 1 110 011 011 */
1373 	case 0x39c: /* 1 110 011 100 */
1374 	case 0x39d: /* 1 110 011 101 */
1375 	case 0x39e: /* 1 110 011 110 */
1376 	case 0x39f: /* 1 110 011 111 */
1377 	case 0x3a0: /* 1 110 100 000 */
1378 	case 0x3a1: /* 1 110 100 001 */
1379 	case 0x3a2: /* 1 110 100 010 */
1380 	case 0x3a3: /* 1 110 100 011 */
1381 	case 0x3a4: /* 1 110 100 100 */
1382 	case 0x3a5: /* 1 110 100 101 */
1383 	case 0x3a6: /* 1 110 100 110 */
1384 	case 0x3a7: /* 1 110 100 111 */
1385 	case 0x3a8: /* 1 110 101 000 */
1386 	case 0x3a9: /* 1 110 101 001 */
1387 	case 0x3aa: /* 1 110 101 010 */
1388 	case 0x3ab: /* 1 110 101 011 */
1389 	case 0x3ac: /* 1 110 101 100 */
1390 	case 0x3ad: /* 1 110 101 101 */
1391 	case 0x3ae: /* 1 110 101 110 */
1392 	case 0x3af: /* 1 110 101 111 */
1393 	case 0x3b0: /* 1 110 110 000 */
1394 	case 0x3b1: /* 1 110 110 001 */
1395 	case 0x3b2: /* 1 110 110 010 */
1396 	case 0x3b3: /* 1 110 110 011 */
1397 	case 0x3b4: /* 1 110 110 100 */
1398 	case 0x3b5: /* 1 110 110 101 */
1399 	case 0x3b6: /* 1 110 110 110 */
1400 	case 0x3b7: /* 1 110 110 111 */
1401 		util::stream_format(stream, "AND@ (R%01d),R%01d",(op&0x38)>>3,op&0x7);
1402 		break;
1403 	case 0x3b8: /* 1 110 111 000 */
1404 	case 0x3b9: /* 1 110 111 001 */
1405 	case 0x3ba: /* 1 110 111 010 */
1406 	case 0x3bb: /* 1 110 111 011 */
1407 	case 0x3bc: /* 1 110 111 100 */
1408 	case 0x3bd: /* 1 110 111 101 */
1409 	case 0x3be: /* 1 110 111 110 */
1410 	case 0x3bf: /* 1 110 111 111 */
1411 		size += 1;
1412 		ea = oprom16[1];
1413 		util::stream_format(stream, "ANDI #%04X,R%01d",ea,op&0x7);
1414 		break;
1415 	case 0x3c0: /* 1 111 000 000 */
1416 	case 0x3c1: /* 1 111 000 001 */
1417 	case 0x3c2: /* 1 111 000 010 */
1418 	case 0x3c3: /* 1 111 000 011 */
1419 	case 0x3c4: /* 1 111 000 100 */
1420 	case 0x3c5: /* 1 111 000 101 */
1421 	case 0x3c6: /* 1 111 000 110 */
1422 	case 0x3c7: /* 1 111 000 111 */
1423 		size += 1;
1424 		ea = oprom16[1];
1425 		util::stream_format(stream, "XOR  (%04X),R%01d",ea,op&0x7);
1426 		break;
1427 	case 0x3c8: /* 1 111 001 000 */
1428 	case 0x3c9: /* 1 111 001 001 */
1429 	case 0x3ca: /* 1 111 001 010 */
1430 	case 0x3cb: /* 1 111 001 011 */
1431 	case 0x3cc: /* 1 111 001 100 */
1432 	case 0x3cd: /* 1 111 001 101 */
1433 	case 0x3ce: /* 1 111 001 110 */
1434 	case 0x3cf: /* 1 111 001 111 */
1435 	case 0x3d0: /* 1 111 010 000 */
1436 	case 0x3d1: /* 1 111 010 001 */
1437 	case 0x3d2: /* 1 111 010 010 */
1438 	case 0x3d3: /* 1 111 010 011 */
1439 	case 0x3d4: /* 1 111 010 100 */
1440 	case 0x3d5: /* 1 111 010 101 */
1441 	case 0x3d6: /* 1 111 010 110 */
1442 	case 0x3d7: /* 1 111 010 111 */
1443 	case 0x3d8: /* 1 111 011 000 */
1444 	case 0x3d9: /* 1 111 011 001 */
1445 	case 0x3da: /* 1 111 011 010 */
1446 	case 0x3db: /* 1 111 011 011 */
1447 	case 0x3dc: /* 1 111 011 100 */
1448 	case 0x3dd: /* 1 111 011 101 */
1449 	case 0x3de: /* 1 111 011 110 */
1450 	case 0x3df: /* 1 111 011 111 */
1451 	case 0x3e0: /* 1 111 100 000 */
1452 	case 0x3e1: /* 1 111 100 001 */
1453 	case 0x3e2: /* 1 111 100 010 */
1454 	case 0x3e3: /* 1 111 100 011 */
1455 	case 0x3e4: /* 1 111 100 100 */
1456 	case 0x3e5: /* 1 111 100 101 */
1457 	case 0x3e6: /* 1 111 100 110 */
1458 	case 0x3e7: /* 1 111 100 111 */
1459 	case 0x3e8: /* 1 111 101 000 */
1460 	case 0x3e9: /* 1 111 101 001 */
1461 	case 0x3ea: /* 1 111 101 010 */
1462 	case 0x3eb: /* 1 111 101 011 */
1463 	case 0x3ec: /* 1 111 101 100 */
1464 	case 0x3ed: /* 1 111 101 101 */
1465 	case 0x3ee: /* 1 111 101 110 */
1466 	case 0x3ef: /* 1 111 101 111 */
1467 	case 0x3f0: /* 1 111 110 000 */
1468 	case 0x3f1: /* 1 111 110 001 */
1469 	case 0x3f2: /* 1 111 110 010 */
1470 	case 0x3f3: /* 1 111 110 011 */
1471 	case 0x3f4: /* 1 111 110 100 */
1472 	case 0x3f5: /* 1 111 110 101 */
1473 	case 0x3f6: /* 1 111 110 110 */
1474 	case 0x3f7: /* 1 111 110 111 */
1475 		util::stream_format(stream, "XOR@ (R%01d),R%01d",(op&0x38)>>3,op&0x7);
1476 		break;
1477 	case 0x3f8: /* 1 111 111 000 */
1478 	case 0x3f9: /* 1 111 111 001 */
1479 	case 0x3fa: /* 1 111 111 010 */
1480 	case 0x3fb: /* 1 111 111 011 */
1481 	case 0x3fc: /* 1 111 111 100 */
1482 	case 0x3fd: /* 1 111 111 101 */
1483 	case 0x3fe: /* 1 111 111 110 */
1484 	case 0x3ff: /* 1 111 111 111 */
1485 		size += 1;
1486 		ea = oprom16[1];
1487 		util::stream_format(stream, "XORI #%04X,R%01d",ea,op&0x7);
1488 		break;
1489 	default:
1490 		util::stream_format(stream, "????");
1491 	}
1492 
1493 	return size;
1494 }
1495