|
|
1.1 root 1: case (0x0000 >> 6):
2: // %0000_000000_mmmrrr ORI.B #<imm>,<ea>
3: // %0000_000000_111100 ORI.B #<imm>,CCR
4: OP_FUNC(ori_b);
5: break;
6: case (0x0040 >> 6):
7: // %0000_000001_mmmrrr ORI.W #<imm>,<ea>
8: // %0000_000001_111100 ORI.W #<imm>,SR
9: OP_FUNC(ori_w);
10: break;
11: case (0x0080 >> 6):
12: // %0000_000010_mmmrrr ORI.L #<imm>,<ea>
13: OP_FUNC(ori_l);
14: break;
15: case (0x00c0 >> 6):
16: // %0000_000011_mmmrrr CMP2/CHK2.B <ea>,Rn
17: OP_FUNC(cmp2chk2_b);
18: break;
19: case (0x0100 >> 6):
20: case (0x0300 >> 6):
21: case (0x0500 >> 6):
22: case (0x0700 >> 6):
23: case (0x0900 >> 6):
24: case (0x0b00 >> 6):
25: case (0x0d00 >> 6):
26: case (0x0f00 >> 6):
27: // %0000_xxx100_000yyy BTST.L Dx,Dy
28: // %0000_xxx100_001yyy MOVEP.W (d,Ay),Dx
29: // %0000_xxx100_mmmrrr BTST.B Dx,<ea>
30: OP_FUNC(btst_dn_ea);
31: break;
32: case (0x0140 >> 6):
33: case (0x0340 >> 6):
34: case (0x0540 >> 6):
35: case (0x0740 >> 6):
36: case (0x0940 >> 6):
37: case (0x0b40 >> 6):
38: case (0x0d40 >> 6):
39: case (0x0f40 >> 6):
40: // %0000_xxx101_000yyy BCHG.L Dx,Dy
41: // %0000_xxx101_001yyy MOVEP.L (d,Ay),Dx
42: // %0000_xxx101_mmmrrr BCHG.B Dx,<ea>
43: OP_FUNC(bchg_dn_ea);
44: break;
45: case (0x0180 >> 6):
46: case (0x0380 >> 6):
47: case (0x0580 >> 6):
48: case (0x0780 >> 6):
49: case (0x0980 >> 6):
50: case (0x0b80 >> 6):
51: case (0x0d80 >> 6):
52: case (0x0f80 >> 6):
53: // %0000_xxx110_000yyy BCLR.L Dx,Dy
54: // %0000_xxx110_001yyy MOVEP.W Dx,(d,Ay)
55: // %0000_xxx110_mmmrrr BCLR.B Dx,<ea>
56: OP_FUNC(bclr_dn_ea);
57: break;
58: case (0x01c0 >> 6):
59: case (0x03c0 >> 6):
60: case (0x05c0 >> 6):
61: case (0x07c0 >> 6):
62: case (0x09c0 >> 6):
63: case (0x0bc0 >> 6):
64: case (0x0dc0 >> 6):
65: case (0x0fc0 >> 6):
66: // %0000_xxx111_000yyy BSET.L Dx,Dy
67: // %0000_xxx111_001yyy MOVEP.L Dx,(d,Ay)
68: // %0000_xxx111_mmmrrr BSET.B Dx,<ea>
69: OP_FUNC(bset_dn_ea);
70: break;
71: case (0x0200 >> 6):
72: // %0000_001000_mmmrrr ANDI.B #<imm>,<ea>
73: // %0000_001000_111100 ANDI.B #<imm>,CCR
74: OP_FUNC(andi_b);
75: break;
76: case (0x0240 >> 6):
77: // %0000_001001_mmmrrr ANDI.W #<imm>,<ea>
78: // %0000_001001_111100 ANDI.W #<imm>,SR
79: OP_FUNC(andi_w);
80: break;
81: case (0x0280 >> 6):
82: // %0000_001010_mmmrrr ANDI.L #<imm>,<ea>
83: OP_FUNC(andi_l);
84: break;
85: case (0x02c0 >> 6):
86: // %0000_001011_mmmrrr CMP2/CHK2.W <ea>,Rn
87: OP_FUNC(cmp2chk2_w);
88: break;
89: case (0x0400 >> 6):
90: // %0000_010000_mmmrrr SUBI.B #<imm>,<ea>
91: OP_FUNC(subi_b);
92: break;
93: case (0x0440 >> 6):
94: // %0000_010001_mmmrrr SUBI.W #<imm>,<ea>
95: OP_FUNC(subi_w);
96: break;
97: case (0x0480 >> 6):
98: // %0000_010010_mmmrrr SUBI.L #<imm>,<ea>
99: OP_FUNC(subi_l);
100: break;
101: case (0x04c0 >> 6):
102: // %0000_010011_mmmrrr CMP2/CHK2.L <ea>,Rn
103: OP_FUNC(cmp2chk2_l);
104: break;
105: case (0x0600 >> 6):
106: // %0000_011000_mmmrrr ADDI.B #<imm>,<ea>
107: OP_FUNC(addi_b);
108: break;
109: case (0x0640 >> 6):
110: // %0000_011001_mmmrrr ADDI.W #<imm>,<ea>
111: OP_FUNC(addi_w);
112: break;
113: case (0x0680 >> 6):
114: // %0000_011010_mmmrrr ADDI.L #<imm>,<ea>
115: OP_FUNC(addi_l);
116: break;
1.1.1.2 root 117: case (0x06c0 >> 6):
118: // %0000_011011_00nnnn RTM Rn
119: // %0000_011011_mmmrrr CALLM #<imm>,<ea>
120: OP_FUNC(callm);
121: break;
1.1 root 122: case (0x0800 >> 6):
123: // %0000_100000_000yyy BTST.L #<imm>,Dy
124: // %0000_100000_mmmrrr BTST.B #<imm>,<ea>
125: OP_FUNC(btst_imm_ea);
126: break;
127: case (0x0840 >> 6):
128: // %0000_100001_000yyy BCHG.L #<imm>,Dy
129: // %0000_100001_mmmrrr BCHG.B #<imm>,<ea>
130: OP_FUNC(bchg_imm_ea);
131: break;
132: case (0x0880 >> 6):
133: // %0000_100010_000yyy BCLR.L #<imm>,Dy
134: // %0000_100010_mmmrrr BCLR.B #<imm>,<ea>
135: OP_FUNC(bclr_imm_ea);
136: break;
137: case (0x08c0 >> 6):
138: // %0000_100011_000yyy BSET.L #<imm>,Dy
139: // %0000_100011_mmmrrr BSET.B #<imm>,<ea>
140: OP_FUNC(bset_imm_ea);
141: break;
142: case (0x0a00 >> 6):
143: // %0000_101000_mmmrrr EORI.B #<imm>,<ea>
144: // %0000_101000_111100 EORI.B #<imm>,CCR
145: OP_FUNC(eori_b);
146: break;
147: case (0x0a40 >> 6):
148: // %0000_101001_mmmrrr EORI.W #<imm>,<ea>
149: // %0000_101001_111100 EORI.W #<imm>,SR
150: OP_FUNC(eori_w);
151: break;
152: case (0x0a80 >> 6):
153: // %0000_101010_mmmrrr EORI.L #<imm>,<ea>
154: OP_FUNC(eori_l);
155: break;
156: case (0x0ac0 >> 6):
157: // %0000_101011_mmmrrr CAS.B Dc,Du,<ea>
158: OP_FUNC(cas_b);
159: break;
160: case (0x0c00 >> 6):
161: // %0000_110000_mmmrrr CMPI.B #<imm>,<ea>
162: OP_FUNC(cmpi_b);
163: break;
164: case (0x0c40 >> 6):
165: // %0000_110001_mmmrrr CMPI.W #<imm>,<ea>
166: OP_FUNC(cmpi_w);
167: break;
168: case (0x0c80 >> 6):
169: // %0000_110010_mmmrrr CMPI.L #<imm>,<ea>
170: OP_FUNC(cmpi_l);
171: break;
172: case (0x0cc0 >> 6):
173: // %0000_110011_mmmrrr CAS.W Dc,Du,<ea>
174: // %0000_110011_111100 CAS2.W Dc1:Dc2,Du1:Du2,(Rn1):(Rn2)
175: OP_FUNC(cas_w);
176: break;
177: case (0x0e00 >> 6):
178: // %0000_111000_mmmrrr MOVES.B <ea>,Rn
179: // %0000_111000_mmmrrr MOVES.B Rn,<ea>
180: OP_FUNC(moves_b);
181: break;
182: case (0x0e40 >> 6):
183: // %0000_111001_mmmrrr MOVES.W <ea>,Rn
184: // %0000_111001_mmmrrr MOVES.W Rn,<ea>
185: OP_FUNC(moves_w);
186: break;
187: case (0x0e80 >> 6):
188: // %0000_111010_mmmrrr MOVES.L <ea>,Rn
189: // %0000_111010_mmmrrr MOVES.L Rn,<ea>
190: OP_FUNC(moves_l);
191: break;
192: case (0x0ec0 >> 6):
193: // %0000_111011_mmmrrr CAS.L Dc,Du,<ea>
194: // %0000_111011_111100 CAS2.L Dc1:Dc2,Du1:Du2,(Rn1):(Rn2)
195: OP_FUNC(cas_l);
196: break;
197: case (0x1000 >> 6):
198: case (0x1200 >> 6):
199: case (0x1400 >> 6):
200: case (0x1600 >> 6):
201: case (0x1800 >> 6):
202: case (0x1a00 >> 6):
203: case (0x1c00 >> 6):
204: case (0x1e00 >> 6):
205: // %0001_xxx000_mmmrrr MOVE.B <ea>,Dx
206: OP_FUNC(move_b_ea_dn);
207: break;
208: case (0x1080 >> 6):
209: case (0x1280 >> 6):
210: case (0x1480 >> 6):
211: case (0x1680 >> 6):
212: case (0x1880 >> 6):
213: case (0x1a80 >> 6):
214: case (0x1c80 >> 6):
215: case (0x1e80 >> 6):
216: // %0001_xxx010_mmmrrr MOVE.B <ea>,(Ax)
217: OP_FUNC(move_b_ea_anin);
218: break;
219: case (0x10c0 >> 6):
220: case (0x12c0 >> 6):
221: case (0x14c0 >> 6):
222: case (0x16c0 >> 6):
223: case (0x18c0 >> 6):
224: case (0x1ac0 >> 6):
225: case (0x1cc0 >> 6):
226: case (0x1ec0 >> 6):
227: // %0001_xxx011_mmmrrr MOVE.B <ea>,(Ax)+
228: OP_FUNC(move_b_ea_anpi);
229: break;
230: case (0x1100 >> 6):
231: case (0x1300 >> 6):
232: case (0x1500 >> 6):
233: case (0x1700 >> 6):
234: case (0x1900 >> 6):
235: case (0x1b00 >> 6):
236: case (0x1d00 >> 6):
237: case (0x1f00 >> 6):
238: // %0001_xxx100_mmmrrr MOVE.B <ea>,-(Ax)
239: OP_FUNC(move_b_ea_anpd);
240: break;
241: case (0x1140 >> 6):
242: case (0x1340 >> 6):
243: case (0x1540 >> 6):
244: case (0x1740 >> 6):
245: case (0x1940 >> 6):
246: case (0x1b40 >> 6):
247: case (0x1d40 >> 6):
248: case (0x1f40 >> 6):
249: // %0001_xxx101_mmmrrr MOVE.B <ea>,d16(Ax)
250: OP_FUNC(move_b_ea_andi);
251: break;
252: case (0x1180 >> 6):
253: case (0x1380 >> 6):
254: case (0x1580 >> 6):
255: case (0x1780 >> 6):
256: case (0x1980 >> 6):
257: case (0x1b80 >> 6):
258: case (0x1d80 >> 6):
259: case (0x1f80 >> 6):
260: // %0001_xxx110_mmmrrr MOVE.B <ea>,(Ax,IX)
261: OP_FUNC(move_b_ea_anix);
262: break;
263: case (0x11c0 >> 6):
264: // %0001_000111_mmmrrr MOVE.B <ea>,Abs.W
265: OP_FUNC(move_b_ea_absw);
266: break;
267: case (0x13c0 >> 6):
268: // %0001_001111_mmmrrr MOVE.B <ea>,Abs.L
269: OP_FUNC(move_b_ea_absl);
270: break;
271: case (0x2000 >> 6):
272: case (0x2200 >> 6):
273: case (0x2400 >> 6):
274: case (0x2600 >> 6):
275: case (0x2800 >> 6):
276: case (0x2a00 >> 6):
277: case (0x2c00 >> 6):
278: case (0x2e00 >> 6):
279: // %0010_xxx000_mmmrrr MOVE.L <ea>,Dx
280: OP_FUNC(move_l_ea_dn);
281: break;
282: case (0x2040 >> 6):
283: case (0x2240 >> 6):
284: case (0x2440 >> 6):
285: case (0x2640 >> 6):
286: case (0x2840 >> 6):
287: case (0x2a40 >> 6):
288: case (0x2c40 >> 6):
289: case (0x2e40 >> 6):
290: // %0010_xxx001_mmmrrr MOVEA.L <ea>,Ax
291: OP_FUNC(movea_l);
292: break;
293: case (0x2080 >> 6):
294: case (0x2280 >> 6):
295: case (0x2480 >> 6):
296: case (0x2680 >> 6):
297: case (0x2880 >> 6):
298: case (0x2a80 >> 6):
299: case (0x2c80 >> 6):
300: case (0x2e80 >> 6):
301: // %0010_xxx010_mmmrrr MOVE.L <ea>,(Ax)
302: OP_FUNC(move_l_ea_anin);
303: break;
304: case (0x20c0 >> 6):
305: case (0x22c0 >> 6):
306: case (0x24c0 >> 6):
307: case (0x26c0 >> 6):
308: case (0x28c0 >> 6):
309: case (0x2ac0 >> 6):
310: case (0x2cc0 >> 6):
311: case (0x2ec0 >> 6):
312: // %0010_xxx011_mmmrrr MOVE.L <ea>,(Ax)+
313: OP_FUNC(move_l_ea_anpi);
314: break;
315: case (0x2100 >> 6):
316: case (0x2300 >> 6):
317: case (0x2500 >> 6):
318: case (0x2700 >> 6):
319: case (0x2900 >> 6):
320: case (0x2b00 >> 6):
321: case (0x2d00 >> 6):
322: case (0x2f00 >> 6):
323: // %0010_xxx100_mmmrrr MOVE.L <ea>,-(Ax)
324: OP_FUNC(move_l_ea_anpd);
325: break;
326: case (0x2140 >> 6):
327: case (0x2340 >> 6):
328: case (0x2540 >> 6):
329: case (0x2740 >> 6):
330: case (0x2940 >> 6):
331: case (0x2b40 >> 6):
332: case (0x2d40 >> 6):
333: case (0x2f40 >> 6):
334: // %0010_xxx101_mmmrrr MOVE.L <ea>,d16(Ax)
335: OP_FUNC(move_l_ea_andi);
336: break;
337: case (0x2180 >> 6):
338: case (0x2380 >> 6):
339: case (0x2580 >> 6):
340: case (0x2780 >> 6):
341: case (0x2980 >> 6):
342: case (0x2b80 >> 6):
343: case (0x2d80 >> 6):
344: case (0x2f80 >> 6):
345: // %0010_xxx110_mmmrrr MOVE.L <ea>,(Ax,IX)
346: OP_FUNC(move_l_ea_anix);
347: break;
348: case (0x21c0 >> 6):
349: // %0010_000111_mmmrrr MOVE.L <ea>,Abs.W
350: OP_FUNC(move_l_ea_absw);
351: break;
352: case (0x23c0 >> 6):
353: // %0010_001111_mmmrrr MOVE.L <ea>,Abs.L
354: OP_FUNC(move_l_ea_absl);
355: break;
356: case (0x3000 >> 6):
357: case (0x3200 >> 6):
358: case (0x3400 >> 6):
359: case (0x3600 >> 6):
360: case (0x3800 >> 6):
361: case (0x3a00 >> 6):
362: case (0x3c00 >> 6):
363: case (0x3e00 >> 6):
364: // %0011_xxx000_mmmrrr MOVE.W <ea>,Dx
365: OP_FUNC(move_w_ea_dn);
366: break;
367: case (0x3040 >> 6):
368: case (0x3240 >> 6):
369: case (0x3440 >> 6):
370: case (0x3640 >> 6):
371: case (0x3840 >> 6):
372: case (0x3a40 >> 6):
373: case (0x3c40 >> 6):
374: case (0x3e40 >> 6):
375: // %0011_xxx001_mmmrrr MOVEA.W <ea>,Ax
376: OP_FUNC(movea_w);
377: break;
378: case (0x3080 >> 6):
379: case (0x3280 >> 6):
380: case (0x3480 >> 6):
381: case (0x3680 >> 6):
382: case (0x3880 >> 6):
383: case (0x3a80 >> 6):
384: case (0x3c80 >> 6):
385: case (0x3e80 >> 6):
386: // %0011_xxx010_mmmrrr MOVE.W <ea>,(Ax)
387: OP_FUNC(move_w_ea_anin);
388: break;
389: case (0x30c0 >> 6):
390: case (0x32c0 >> 6):
391: case (0x34c0 >> 6):
392: case (0x36c0 >> 6):
393: case (0x38c0 >> 6):
394: case (0x3ac0 >> 6):
395: case (0x3cc0 >> 6):
396: case (0x3ec0 >> 6):
397: // %0011_xxx011_mmmrrr MOVE.W <ea>,(Ax)+
398: OP_FUNC(move_w_ea_anpi);
399: break;
400: case (0x3100 >> 6):
401: case (0x3300 >> 6):
402: case (0x3500 >> 6):
403: case (0x3700 >> 6):
404: case (0x3900 >> 6):
405: case (0x3b00 >> 6):
406: case (0x3d00 >> 6):
407: case (0x3f00 >> 6):
408: // %0011_xxx100_mmmrrr MOVE.W <ea>,-(Ax)
409: OP_FUNC(move_w_ea_anpd);
410: break;
411: case (0x3140 >> 6):
412: case (0x3340 >> 6):
413: case (0x3540 >> 6):
414: case (0x3740 >> 6):
415: case (0x3940 >> 6):
416: case (0x3b40 >> 6):
417: case (0x3d40 >> 6):
418: case (0x3f40 >> 6):
419: // %0011_xxx101_mmmrrr MOVE.W <ea>,d16(Ax)
420: OP_FUNC(move_w_ea_andi);
421: break;
422: case (0x3180 >> 6):
423: case (0x3380 >> 6):
424: case (0x3580 >> 6):
425: case (0x3780 >> 6):
426: case (0x3980 >> 6):
427: case (0x3b80 >> 6):
428: case (0x3d80 >> 6):
429: case (0x3f80 >> 6):
430: // %0011_xxx110_mmmrrr MOVE.W <ea>,(Ax,IX)
431: OP_FUNC(move_w_ea_anix);
432: break;
433: case (0x31c0 >> 6):
434: // %0011_000111_mmmrrr MOVE.W <ea>,Abs.W
435: OP_FUNC(move_w_ea_absw);
436: break;
437: case (0x33c0 >> 6):
438: // %0011_001111_mmmrrr MOVE.W <ea>,Abs.L
439: OP_FUNC(move_w_ea_absl);
440: break;
441: case (0x4000 >> 6):
442: // %0100_000000_mmmrrr NEGX.B <ea>
443: OP_FUNC(negx_b);
444: break;
445: case (0x4040 >> 6):
446: // %0100_000001_mmmrrr NEGX.W <ea>
447: OP_FUNC(negx_w);
448: break;
449: case (0x4080 >> 6):
450: // %0100_000010_mmmrrr NEGX.L <ea>
451: OP_FUNC(negx_l);
452: break;
453: case (0x40c0 >> 6):
454: // %0100_000011_mmmrrr MOVE.W SR,<ea>
455: OP_FUNC(move_sr_ea);
456: break;
457: case (0x4100 >> 6):
458: case (0x4300 >> 6):
459: case (0x4500 >> 6):
460: case (0x4700 >> 6):
461: case (0x4900 >> 6):
462: case (0x4b00 >> 6):
463: case (0x4d00 >> 6):
464: case (0x4f00 >> 6):
465: // %0100_xxx100_mmmrrr CHK.L <ea>,Dx
466: OP_FUNC(chk_l);
467: break;
468: case (0x4180 >> 6):
469: case (0x4380 >> 6):
470: case (0x4580 >> 6):
471: case (0x4780 >> 6):
472: case (0x4980 >> 6):
473: case (0x4b80 >> 6):
474: case (0x4d80 >> 6):
475: case (0x4f80 >> 6):
476: // %0100_xxx110_mmmrrr CHK.W <ea>,Dx
477: OP_FUNC(chk_w);
478: break;
479: case (0x41c0 >> 6):
480: case (0x43c0 >> 6):
481: case (0x45c0 >> 6):
482: case (0x47c0 >> 6):
483: case (0x49c0 >> 6):
484: case (0x4bc0 >> 6):
485: case (0x4dc0 >> 6):
486: case (0x4fc0 >> 6):
487: // %0100_xxx111_mmmrrr LEA.L <ea>,Ax
488: // %0100_100111_000yyy EXTB.L Dy
489: OP_FUNC(lea);
490: break;
491: case (0x4200 >> 6):
492: // %0100_001000_mmmrrr CLR.B <ea>
493: OP_FUNC(clr_b);
494: break;
495: case (0x4240 >> 6):
496: // %0100_001001_mmmrrr CLR.W <ea>
497: OP_FUNC(clr_w);
498: break;
499: case (0x4280 >> 6):
500: // %0100_001010_mmmrrr CLR.L <ea>
501: OP_FUNC(clr_l);
502: break;
503: case (0x42c0 >> 6):
504: // %0100_001011_mmmrrr MOVE.W CCR,<ea>
505: OP_FUNC(move_ccr_ea);
506: break;
507: case (0x4400 >> 6):
508: // %0100_010000_mmmrrr NEG.B <ea>
509: OP_FUNC(neg_b);
510: break;
511: case (0x4440 >> 6):
512: // %0100_010001_mmmrrr NEG.W <ea>
513: OP_FUNC(neg_w);
514: break;
515: case (0x4480 >> 6):
516: // %0100_010010_mmmrrr NEG.L <ea>
517: OP_FUNC(neg_l);
518: break;
519: case (0x44c0 >> 6):
520: // %0100_010011_mmmrrr MOVE.W <ea>,CCR
521: OP_FUNC(move_ea_ccr);
522: break;
523: case (0x4600 >> 6):
524: // %0100_011000_mmmrrr NOT.B <ea>
525: OP_FUNC(not_b);
526: break;
527: case (0x4640 >> 6):
528: // %0100_011001_mmmrrr NOT.W <ea>
529: OP_FUNC(not_w);
530: break;
531: case (0x4680 >> 6):
532: // %0100_011010_mmmrrr NOT.L <ea>
533: OP_FUNC(not_l);
534: break;
535: case (0x46c0 >> 6):
536: // %0100_011011_mmmrrr MOVE.W <ea>,SR
537: OP_FUNC(move_ea_sr);
538: break;
539: case (0x4800 >> 6):
540: // %0100_100000_mmmrrr NBCD.B <ea>
541: // %0100_100000_001yyy LINK.L Ay,#<imm>
542: OP_FUNC(nbcd);
543: break;
544: case (0x4840 >> 6):
545: // %0100_100001_000yyy SWAP.W Dy
546: // %0100_100001_001nnn BKPT #<imm>
547: // %0100_100001_mmmrrr PEA.L <ea>
548: OP_FUNC(pea);
549: break;
550: case (0x4880 >> 6):
551: // %0100_100010_000yyy EXT.W Dy
552: // %0100_100010_mmmrrr MOVEM.W <list>,<ea>
553: OP_FUNC(movem_w_mem);
554: break;
555: case (0x48c0 >> 6):
556: // %0100_100011_000yyy EXT.L Dy
557: // %0100_100011_mmmrrr MOVEM.L <list>,<ea>
558: OP_FUNC(movem_l_mem);
559: break;
560: case (0x4a00 >> 6):
561: // %0100_101000_mmmrrr TST.B <ea>
562: OP_FUNC(tst_b);
563: break;
564: case (0x4a40 >> 6):
565: // %0100_101001_mmmrrr TST.W <ea>
566: OP_FUNC(tst_w);
567: break;
568: case (0x4a80 >> 6):
569: // %0100_101010_mmmrrr TST.L <ea>
570: OP_FUNC(tst_l);
571: break;
572: case (0x4ac0 >> 6):
573: // %0100_101011_mmmrrr TAS.B <ea>
574: // %0100_101011_111100 ILLEGAL
575: OP_FUNC(tas);
576: break;
577: case (0x4c00 >> 6):
578: // %0100_110000_mmmrrr MUL{U,S}.L <ea>,Dl
579: OP_FUNC(mul);
580: break;
581: case (0x4c40 >> 6):
582: // %0100_110001_mmmrrr DIV{U,UL,S,SL}.L <ea>,Dq
583: OP_FUNC(div);
584: break;
585: case (0x4c80 >> 6):
586: // %0100_110010_mmmrrr MOVEM.W <ea>,<list>
587: OP_FUNC(movem_w);
588: break;
589: case (0x4cc0 >> 6):
590: // %0100_110011_mmmrrr MOVEM.L <ea>,<list>
591: OP_FUNC(movem_l);
592: break;
593: case (0x4e40 >> 6):
594: // %0100_111001_00nnnn TRAP #<vector>
595: // %0100_111001_010yyy LINK.W Ay,#<imm>
596: // %0100_111001_011yyy UNLK Ay
597: // %0100_111001_100yyy MOVE.L Ay,USP
598: // %0100_111001_101yyy MOVE.L USP,Ay
599: // %0100_111001_110000 RESET
600: // %0100_111001_110001 NOP
601: // %0100_111001_110010 STOP #<imm>
602: // %0100_111001_110011 RTE
603: // %0100_111001_110100 RTD #<imm>
604: // %0100_111001_110101 RTS
605: // %0100_111001_110110 TRAPV
606: // %0100_111001_110111 RTR
607: // %0100_111001_111010 MOVEC.L Rc,Rn
608: // %0100_111001_111011 MOVEC.L Rn,Rc
609: OP_FUNC(trap);
610: break;
611: case (0x4e80 >> 6):
612: // %0100_111010_mmmrrr JSR <ea>
613: OP_FUNC(jsr);
614: break;
615: case (0x4ec0 >> 6):
616: // %0100_111011_mmmrrr JMP <ea>
617: OP_FUNC(jmp);
618: break;
619: case (0x5000 >> 6):
620: case (0x5200 >> 6):
621: case (0x5400 >> 6):
622: case (0x5600 >> 6):
623: case (0x5800 >> 6):
624: case (0x5a00 >> 6):
625: case (0x5c00 >> 6):
626: case (0x5e00 >> 6):
627: // %0101_qqq000_mmmrrr ADDQ.B #qqq,<ea>
628: OP_FUNC(addq_b);
629: break;
630: case (0x5040 >> 6):
631: case (0x5240 >> 6):
632: case (0x5440 >> 6):
633: case (0x5640 >> 6):
634: case (0x5840 >> 6):
635: case (0x5a40 >> 6):
636: case (0x5c40 >> 6):
637: case (0x5e40 >> 6):
638: // %0101_qqq001_mmmrrr ADDQ.W #qqq,<ea>
639: // %0101_qqq001_001yyy ADDQ.W #qqq,Ay (.Lと等価)
640: OP_FUNC(addq_w);
641: break;
642: case (0x5080 >> 6):
643: case (0x5280 >> 6):
644: case (0x5480 >> 6):
645: case (0x5680 >> 6):
646: case (0x5880 >> 6):
647: case (0x5a80 >> 6):
648: case (0x5c80 >> 6):
649: case (0x5e80 >> 6):
650: // %0101_qqq010_mmmrrr ADDQ.L #qqq,<ea>
651: // %0101_qqq010_001yyy ADDQ.L #qqq,Ay
652: OP_FUNC(addq_l);
653: break;
654: case (0x50c0 >> 6):
1.1.1.3 ! root 655: case (0x51c0 >> 6):
! 656: case (0x52c0 >> 6):
! 657: case (0x53c0 >> 6):
! 658: case (0x54c0 >> 6):
! 659: case (0x55c0 >> 6):
! 660: case (0x56c0 >> 6):
! 661: case (0x57c0 >> 6):
! 662: case (0x58c0 >> 6):
! 663: case (0x59c0 >> 6):
! 664: case (0x5ac0 >> 6):
! 665: case (0x5bc0 >> 6):
! 666: case (0x5cc0 >> 6):
! 667: case (0x5dc0 >> 6):
! 668: case (0x5ec0 >> 6):
! 669: case (0x5fc0 >> 6):
! 670: // %0101_cccc11_mmmrrr Scc.B <ea>
! 671: // %0101_cccc11_001yyy DBcc.W Dy,<label>
! 672: // %0101_cccc11_111010 TRAPcc.W #<imm>
! 673: // %0101_cccc11_111011 TRAPcc.L #<imm>
! 674: // %0101_cccc11_111100 TRAPcc
! 675: // %0101_000111_001yyy DBRA.W Dy,<label>
! 676: OP_FUNC(scc);
1.1 root 677: break;
678: case (0x5100 >> 6):
679: case (0x5300 >> 6):
680: case (0x5500 >> 6):
681: case (0x5700 >> 6):
682: case (0x5900 >> 6):
683: case (0x5b00 >> 6):
684: case (0x5d00 >> 6):
685: case (0x5f00 >> 6):
686: // %0101_qqq100_mmmrrr SUBQ.B #qqq,<ea>
687: OP_FUNC(subq_b);
688: break;
689: case (0x5140 >> 6):
690: case (0x5340 >> 6):
691: case (0x5540 >> 6):
692: case (0x5740 >> 6):
693: case (0x5940 >> 6):
694: case (0x5b40 >> 6):
695: case (0x5d40 >> 6):
696: case (0x5f40 >> 6):
697: // %0101_qqq101_mmmrrr SUBQ.W #qqq,<ea>
698: // %0101_qqq101_001yyy SUBQ.W #qqq,Ay (.Lと等価)
699: OP_FUNC(subq_w);
700: break;
701: case (0x5180 >> 6):
702: case (0x5380 >> 6):
703: case (0x5580 >> 6):
704: case (0x5780 >> 6):
705: case (0x5980 >> 6):
706: case (0x5b80 >> 6):
707: case (0x5d80 >> 6):
708: case (0x5f80 >> 6):
709: // %0101_qqq110_mmmrrr SUBQ.L #qqq,<ea>
710: // %0101_qqq110_001yyy SUBQ.L #qqq,Ay
711: OP_FUNC(subq_l);
712: break;
713: case (0x6000 >> 6):
714: case (0x6040 >> 6):
715: case (0x6080 >> 6):
716: case (0x60c0 >> 6):
717: // %0110_000000_000000 BRA.W <label>
718: // %0110_0000nn_nnnnnn BRA.B <label>
719: // %0110_000011_111111 BRA.L <label>
720: OP_FUNC(bra);
721: break;
722: case (0x6100 >> 6):
723: case (0x6140 >> 6):
724: case (0x6180 >> 6):
725: case (0x61c0 >> 6):
726: // %0110_000100_000000 BSR.W <label>
727: // %0110_0001nn_nnnnnn BSR.B <label>
728: // %0110_000111_111111 BSR.L <label>
729: OP_FUNC(bsr);
730: break;
731: case (0x6200 >> 6):
732: case (0x6240 >> 6):
733: case (0x6280 >> 6):
734: case (0x62c0 >> 6):
735: case (0x6300 >> 6):
736: case (0x6340 >> 6):
737: case (0x6380 >> 6):
738: case (0x63c0 >> 6):
739: case (0x6400 >> 6):
740: case (0x6440 >> 6):
741: case (0x6480 >> 6):
742: case (0x64c0 >> 6):
743: case (0x6500 >> 6):
744: case (0x6540 >> 6):
745: case (0x6580 >> 6):
746: case (0x65c0 >> 6):
747: case (0x6600 >> 6):
748: case (0x6640 >> 6):
749: case (0x6680 >> 6):
750: case (0x66c0 >> 6):
751: case (0x6700 >> 6):
752: case (0x6740 >> 6):
753: case (0x6780 >> 6):
754: case (0x67c0 >> 6):
755: case (0x6800 >> 6):
756: case (0x6840 >> 6):
757: case (0x6880 >> 6):
758: case (0x68c0 >> 6):
759: case (0x6900 >> 6):
760: case (0x6940 >> 6):
761: case (0x6980 >> 6):
762: case (0x69c0 >> 6):
763: case (0x6a00 >> 6):
764: case (0x6a40 >> 6):
765: case (0x6a80 >> 6):
766: case (0x6ac0 >> 6):
767: case (0x6b00 >> 6):
768: case (0x6b40 >> 6):
769: case (0x6b80 >> 6):
770: case (0x6bc0 >> 6):
771: case (0x6c00 >> 6):
772: case (0x6c40 >> 6):
773: case (0x6c80 >> 6):
774: case (0x6cc0 >> 6):
775: case (0x6d00 >> 6):
776: case (0x6d40 >> 6):
777: case (0x6d80 >> 6):
778: case (0x6dc0 >> 6):
779: case (0x6e00 >> 6):
780: case (0x6e40 >> 6):
781: case (0x6e80 >> 6):
782: case (0x6ec0 >> 6):
783: case (0x6f00 >> 6):
784: case (0x6f40 >> 6):
785: case (0x6f80 >> 6):
786: case (0x6fc0 >> 6):
1.1.1.3 ! root 787: // %0110_cccc00_000000 Bcc.W <label>
! 788: // %0110_ccccnn_nnnnnn Bcc.B <label>
! 789: // %0110_cccc11_111111 Bcc.L <label>
! 790: OP_FUNC(bcc);
1.1 root 791: break;
792: case (0x7000 >> 6):
793: case (0x7040 >> 6):
794: case (0x7080 >> 6):
795: case (0x70c0 >> 6):
796: case (0x7200 >> 6):
797: case (0x7240 >> 6):
798: case (0x7280 >> 6):
799: case (0x72c0 >> 6):
800: case (0x7400 >> 6):
801: case (0x7440 >> 6):
802: case (0x7480 >> 6):
803: case (0x74c0 >> 6):
804: case (0x7600 >> 6):
805: case (0x7640 >> 6):
806: case (0x7680 >> 6):
807: case (0x76c0 >> 6):
808: case (0x7800 >> 6):
809: case (0x7840 >> 6):
810: case (0x7880 >> 6):
811: case (0x78c0 >> 6):
812: case (0x7a00 >> 6):
813: case (0x7a40 >> 6):
814: case (0x7a80 >> 6):
815: case (0x7ac0 >> 6):
816: case (0x7c00 >> 6):
817: case (0x7c40 >> 6):
818: case (0x7c80 >> 6):
819: case (0x7cc0 >> 6):
820: case (0x7e00 >> 6):
821: case (0x7e40 >> 6):
822: case (0x7e80 >> 6):
823: case (0x7ec0 >> 6):
824: // %0111_xxx0nn_nnnnnn MOVEQ.L #<imm>,Dx
825: OP_FUNC(moveq);
826: break;
827: case (0x8000 >> 6):
828: case (0x8200 >> 6):
829: case (0x8400 >> 6):
830: case (0x8600 >> 6):
831: case (0x8800 >> 6):
832: case (0x8a00 >> 6):
833: case (0x8c00 >> 6):
834: case (0x8e00 >> 6):
835: // %1000_xxx000_mmmrrr OR.B <ea>,Dx
836: OP_FUNC(or_b_ea_dn);
837: break;
838: case (0x8040 >> 6):
839: case (0x8240 >> 6):
840: case (0x8440 >> 6):
841: case (0x8640 >> 6):
842: case (0x8840 >> 6):
843: case (0x8a40 >> 6):
844: case (0x8c40 >> 6):
845: case (0x8e40 >> 6):
846: // %1000_xxx001_mmmrrr OR.W <ea>,Dx
847: OP_FUNC(or_w_ea_dn);
848: break;
849: case (0x8080 >> 6):
850: case (0x8280 >> 6):
851: case (0x8480 >> 6):
852: case (0x8680 >> 6):
853: case (0x8880 >> 6):
854: case (0x8a80 >> 6):
855: case (0x8c80 >> 6):
856: case (0x8e80 >> 6):
857: // %1000_xxx010_mmmrrr OR.L <ea>,Dx
858: OP_FUNC(or_l_ea_dn);
859: break;
860: case (0x80c0 >> 6):
861: case (0x82c0 >> 6):
862: case (0x84c0 >> 6):
863: case (0x86c0 >> 6):
864: case (0x88c0 >> 6):
865: case (0x8ac0 >> 6):
866: case (0x8cc0 >> 6):
867: case (0x8ec0 >> 6):
868: // %1000_xxx011_mmmrrr DIVU.W <ea>,Dx
869: OP_FUNC(divu_w);
870: break;
871: case (0x8100 >> 6):
872: case (0x8300 >> 6):
873: case (0x8500 >> 6):
874: case (0x8700 >> 6):
875: case (0x8900 >> 6):
876: case (0x8b00 >> 6):
877: case (0x8d00 >> 6):
878: case (0x8f00 >> 6):
879: // %1000_xxx100_000yyy SBCD.B Dy,Dx
880: // %1000_xxx100_001yyy SBCD.B -(Ay),-(Ax)
881: // %1000_xxx100_mmmrrr OR.B Dx,<ea>
882: OP_FUNC(or_b_dn_ea);
883: break;
884: case (0x8140 >> 6):
885: case (0x8340 >> 6):
886: case (0x8540 >> 6):
887: case (0x8740 >> 6):
888: case (0x8940 >> 6):
889: case (0x8b40 >> 6):
890: case (0x8d40 >> 6):
891: case (0x8f40 >> 6):
892: // %1000_xxx101_000yyy PACK Dy,Dx,#<imm>
893: // %1000_xxx101_001yyy PACK -(Ay),-(Ax),#<imm>
894: // %1000_xxx101_mmmrrr OR.W Dx,<ea>
895: OP_FUNC(or_w_dn_ea);
896: break;
897: case (0x8180 >> 6):
898: case (0x8380 >> 6):
899: case (0x8580 >> 6):
900: case (0x8780 >> 6):
901: case (0x8980 >> 6):
902: case (0x8b80 >> 6):
903: case (0x8d80 >> 6):
904: case (0x8f80 >> 6):
905: // %1000_xxx110_000yyy UNPK Dy,Dx,#<imm>
906: // %1000_xxx110_001yyy UNPK -(Ay),-(Ax),#<imm>
907: // %1000_xxx110_mmmrrr OR.L Dx,<ea>
908: OP_FUNC(or_l_dn_ea);
909: break;
910: case (0x81c0 >> 6):
911: case (0x83c0 >> 6):
912: case (0x85c0 >> 6):
913: case (0x87c0 >> 6):
914: case (0x89c0 >> 6):
915: case (0x8bc0 >> 6):
916: case (0x8dc0 >> 6):
917: case (0x8fc0 >> 6):
918: // %1000_xxx111_mmmrrr DIVS.W <ea>,Dx
919: OP_FUNC(divs_w);
920: break;
921: case (0x9000 >> 6):
922: case (0x9200 >> 6):
923: case (0x9400 >> 6):
924: case (0x9600 >> 6):
925: case (0x9800 >> 6):
926: case (0x9a00 >> 6):
927: case (0x9c00 >> 6):
928: case (0x9e00 >> 6):
929: // %1001_xxx000_mmmrrr SUB.B <ea>,Dx
930: OP_FUNC(sub_b_ea_dn);
931: break;
932: case (0x9040 >> 6):
933: case (0x9240 >> 6):
934: case (0x9440 >> 6):
935: case (0x9640 >> 6):
936: case (0x9840 >> 6):
937: case (0x9a40 >> 6):
938: case (0x9c40 >> 6):
939: case (0x9e40 >> 6):
940: // %1001_xxx001_mmmrrr SUB.W <ea>,Dx
941: OP_FUNC(sub_w_ea_dn);
942: break;
943: case (0x9080 >> 6):
944: case (0x9280 >> 6):
945: case (0x9480 >> 6):
946: case (0x9680 >> 6):
947: case (0x9880 >> 6):
948: case (0x9a80 >> 6):
949: case (0x9c80 >> 6):
950: case (0x9e80 >> 6):
951: // %1001_xxx010_mmmrrr SUB.L <ea>,Dx
952: OP_FUNC(sub_l_ea_dn);
953: break;
954: case (0x90c0 >> 6):
955: case (0x92c0 >> 6):
956: case (0x94c0 >> 6):
957: case (0x96c0 >> 6):
958: case (0x98c0 >> 6):
959: case (0x9ac0 >> 6):
960: case (0x9cc0 >> 6):
961: case (0x9ec0 >> 6):
962: // %1001_xxx011_mmmrrr SUBA.W <ea>,Ax
963: OP_FUNC(suba_w);
964: break;
965: case (0x9100 >> 6):
966: case (0x9300 >> 6):
967: case (0x9500 >> 6):
968: case (0x9700 >> 6):
969: case (0x9900 >> 6):
970: case (0x9b00 >> 6):
971: case (0x9d00 >> 6):
972: case (0x9f00 >> 6):
973: // %1001_xxx100_000yyy SUBX.B Dy,Dx
974: // %1001_xxx100_001yyy SUBX.B -(Ay),-(Ax)
975: // %1001_xxx100_mmmrrr SUB.B Dx,<ea>
976: OP_FUNC(sub_b_dn_ea);
977: break;
978: case (0x9140 >> 6):
979: case (0x9340 >> 6):
980: case (0x9540 >> 6):
981: case (0x9740 >> 6):
982: case (0x9940 >> 6):
983: case (0x9b40 >> 6):
984: case (0x9d40 >> 6):
985: case (0x9f40 >> 6):
986: // %1001_xxx101_000yyy SUBX.W Dy,Dx
987: // %1001_xxx101_001yyy SUBX.W -(Ay),-(Ax)
988: // %1001_xxx101_mmmrrr SUB.W Dx,<ea>
989: OP_FUNC(sub_w_dn_ea);
990: break;
991: case (0x9180 >> 6):
992: case (0x9380 >> 6):
993: case (0x9580 >> 6):
994: case (0x9780 >> 6):
995: case (0x9980 >> 6):
996: case (0x9b80 >> 6):
997: case (0x9d80 >> 6):
998: case (0x9f80 >> 6):
999: // %1001_xxx110_000yyy SUBX.L Dy,Dx
1000: // %1001_xxx110_001yyy SUBX.L -(Ay),-(Ax)
1001: // %1001_xxx110_mmmrrr SUB.L Dx,<ea>
1002: OP_FUNC(sub_l_dn_ea);
1003: break;
1004: case (0x91c0 >> 6):
1005: case (0x93c0 >> 6):
1006: case (0x95c0 >> 6):
1007: case (0x97c0 >> 6):
1008: case (0x99c0 >> 6):
1009: case (0x9bc0 >> 6):
1010: case (0x9dc0 >> 6):
1011: case (0x9fc0 >> 6):
1012: // %1001_xxx111_mmmrrr SUBA.L <ea>,Ax
1013: OP_FUNC(suba_l);
1014: break;
1015: case (0xa000 >> 6):
1016: case (0xa040 >> 6):
1017: case (0xa080 >> 6):
1018: case (0xa0c0 >> 6):
1019: case (0xa100 >> 6):
1020: case (0xa140 >> 6):
1021: case (0xa180 >> 6):
1022: case (0xa1c0 >> 6):
1023: case (0xa200 >> 6):
1024: case (0xa240 >> 6):
1025: case (0xa280 >> 6):
1026: case (0xa2c0 >> 6):
1027: case (0xa300 >> 6):
1028: case (0xa340 >> 6):
1029: case (0xa380 >> 6):
1030: case (0xa3c0 >> 6):
1031: case (0xa400 >> 6):
1032: case (0xa440 >> 6):
1033: case (0xa480 >> 6):
1034: case (0xa4c0 >> 6):
1035: case (0xa500 >> 6):
1036: case (0xa540 >> 6):
1037: case (0xa580 >> 6):
1038: case (0xa5c0 >> 6):
1039: case (0xa600 >> 6):
1040: case (0xa640 >> 6):
1041: case (0xa680 >> 6):
1042: case (0xa6c0 >> 6):
1043: case (0xa700 >> 6):
1044: case (0xa740 >> 6):
1045: case (0xa780 >> 6):
1046: case (0xa7c0 >> 6):
1047: case (0xa800 >> 6):
1048: case (0xa840 >> 6):
1049: case (0xa880 >> 6):
1050: case (0xa8c0 >> 6):
1051: case (0xa900 >> 6):
1052: case (0xa940 >> 6):
1053: case (0xa980 >> 6):
1054: case (0xa9c0 >> 6):
1055: case (0xaa00 >> 6):
1056: case (0xaa40 >> 6):
1057: case (0xaa80 >> 6):
1058: case (0xaac0 >> 6):
1059: case (0xab00 >> 6):
1060: case (0xab40 >> 6):
1061: case (0xab80 >> 6):
1062: case (0xabc0 >> 6):
1063: case (0xac00 >> 6):
1064: case (0xac40 >> 6):
1065: case (0xac80 >> 6):
1066: case (0xacc0 >> 6):
1067: case (0xad00 >> 6):
1068: case (0xad40 >> 6):
1069: case (0xad80 >> 6):
1070: case (0xadc0 >> 6):
1071: case (0xae00 >> 6):
1072: case (0xae40 >> 6):
1073: case (0xae80 >> 6):
1074: case (0xaec0 >> 6):
1075: case (0xaf00 >> 6):
1076: case (0xaf40 >> 6):
1077: case (0xaf80 >> 6):
1078: case (0xafc0 >> 6):
1079: // %1010_nnnnnn_nnnnnn A-Line
1080: OP_FUNC(aline);
1081: break;
1082: case (0xb000 >> 6):
1083: case (0xb200 >> 6):
1084: case (0xb400 >> 6):
1085: case (0xb600 >> 6):
1086: case (0xb800 >> 6):
1087: case (0xba00 >> 6):
1088: case (0xbc00 >> 6):
1089: case (0xbe00 >> 6):
1090: // %1011_xxx000_mmmrrr CMP.B <ea>,Dx
1091: OP_FUNC(cmp_b);
1092: break;
1093: case (0xb040 >> 6):
1094: case (0xb240 >> 6):
1095: case (0xb440 >> 6):
1096: case (0xb640 >> 6):
1097: case (0xb840 >> 6):
1098: case (0xba40 >> 6):
1099: case (0xbc40 >> 6):
1100: case (0xbe40 >> 6):
1101: // %1011_xxx001_mmmrrr CMP.W <ea>,Dx
1102: OP_FUNC(cmp_w);
1103: break;
1104: case (0xb080 >> 6):
1105: case (0xb280 >> 6):
1106: case (0xb480 >> 6):
1107: case (0xb680 >> 6):
1108: case (0xb880 >> 6):
1109: case (0xba80 >> 6):
1110: case (0xbc80 >> 6):
1111: case (0xbe80 >> 6):
1112: // %1011_xxx010_mmmrrr CMP.L <ea>,Dx
1113: OP_FUNC(cmp_l);
1114: break;
1115: case (0xb0c0 >> 6):
1116: case (0xb2c0 >> 6):
1117: case (0xb4c0 >> 6):
1118: case (0xb6c0 >> 6):
1119: case (0xb8c0 >> 6):
1120: case (0xbac0 >> 6):
1121: case (0xbcc0 >> 6):
1122: case (0xbec0 >> 6):
1123: // %1011_xxx011_mmmrrr CMPA.W <ea>,Ax
1124: OP_FUNC(cmpa_w);
1125: break;
1126: case (0xb100 >> 6):
1127: case (0xb300 >> 6):
1128: case (0xb500 >> 6):
1129: case (0xb700 >> 6):
1130: case (0xb900 >> 6):
1131: case (0xbb00 >> 6):
1132: case (0xbd00 >> 6):
1133: case (0xbf00 >> 6):
1134: // %1011_xxx100_mmmrrr EOR.B Dx,<ea>
1135: // %1011_xxx100_001yyy CMPM.B (Ay)+,(Ax)+
1136: OP_FUNC(eor_b);
1137: break;
1138: case (0xb140 >> 6):
1139: case (0xb340 >> 6):
1140: case (0xb540 >> 6):
1141: case (0xb740 >> 6):
1142: case (0xb940 >> 6):
1143: case (0xbb40 >> 6):
1144: case (0xbd40 >> 6):
1145: case (0xbf40 >> 6):
1146: // %1011_xxx101_mmmrrr EOR.W Dx,<ea>
1147: // %1011_xxx101_001yyy CMPM.W (Ay)+,(Ax)+
1148: OP_FUNC(eor_w);
1149: break;
1150: case (0xb180 >> 6):
1151: case (0xb380 >> 6):
1152: case (0xb580 >> 6):
1153: case (0xb780 >> 6):
1154: case (0xb980 >> 6):
1155: case (0xbb80 >> 6):
1156: case (0xbd80 >> 6):
1157: case (0xbf80 >> 6):
1158: // %1011_xxx110_mmmrrr EOR.L Dx,<ea>
1159: // %1011_xxx110_001yyy CMPM.L (Ay)+,(Ax)+
1160: OP_FUNC(eor_l);
1161: break;
1162: case (0xb1c0 >> 6):
1163: case (0xb3c0 >> 6):
1164: case (0xb5c0 >> 6):
1165: case (0xb7c0 >> 6):
1166: case (0xb9c0 >> 6):
1167: case (0xbbc0 >> 6):
1168: case (0xbdc0 >> 6):
1169: case (0xbfc0 >> 6):
1170: // %1011_xxx111_mmmrrr CMPA.L <ea>,Ax
1171: OP_FUNC(cmpa_l);
1172: break;
1173: case (0xc000 >> 6):
1174: case (0xc200 >> 6):
1175: case (0xc400 >> 6):
1176: case (0xc600 >> 6):
1177: case (0xc800 >> 6):
1178: case (0xca00 >> 6):
1179: case (0xcc00 >> 6):
1180: case (0xce00 >> 6):
1181: // %1100_xxx000_mmmrrr AND.B <ea>,Dx
1182: OP_FUNC(and_b_ea_dn);
1183: break;
1184: case (0xc040 >> 6):
1185: case (0xc240 >> 6):
1186: case (0xc440 >> 6):
1187: case (0xc640 >> 6):
1188: case (0xc840 >> 6):
1189: case (0xca40 >> 6):
1190: case (0xcc40 >> 6):
1191: case (0xce40 >> 6):
1192: // %1100_xxx001_mmmrrr AND.W <ea>,Dx
1193: OP_FUNC(and_w_ea_dn);
1194: break;
1195: case (0xc080 >> 6):
1196: case (0xc280 >> 6):
1197: case (0xc480 >> 6):
1198: case (0xc680 >> 6):
1199: case (0xc880 >> 6):
1200: case (0xca80 >> 6):
1201: case (0xcc80 >> 6):
1202: case (0xce80 >> 6):
1203: // %1100_xxx010_mmmrrr AND.L <ea>,Dx
1204: OP_FUNC(and_l_ea_dn);
1205: break;
1206: case (0xc0c0 >> 6):
1207: case (0xc2c0 >> 6):
1208: case (0xc4c0 >> 6):
1209: case (0xc6c0 >> 6):
1210: case (0xc8c0 >> 6):
1211: case (0xcac0 >> 6):
1212: case (0xccc0 >> 6):
1213: case (0xcec0 >> 6):
1214: // %1100_xxx011_mmmrrr MULU.W <ea>,Dx
1215: OP_FUNC(mulu_w);
1216: break;
1217: case (0xc100 >> 6):
1218: case (0xc300 >> 6):
1219: case (0xc500 >> 6):
1220: case (0xc700 >> 6):
1221: case (0xc900 >> 6):
1222: case (0xcb00 >> 6):
1223: case (0xcd00 >> 6):
1224: case (0xcf00 >> 6):
1225: // %1100_xxx100_000yyy ABCD.B Dy,Dx
1226: // %1100_xxx100_001yyy ABCD.B -(Ay),-(Ax)
1227: // %1100_xxx100_mmmrrr AND.B Dx,<ea>
1228: OP_FUNC(and_b_dn_ea);
1229: break;
1230: case (0xc140 >> 6):
1231: case (0xc340 >> 6):
1232: case (0xc540 >> 6):
1233: case (0xc740 >> 6):
1234: case (0xc940 >> 6):
1235: case (0xcb40 >> 6):
1236: case (0xcd40 >> 6):
1237: case (0xcf40 >> 6):
1238: // %1100_xxx101_000yyy EXG.L Dx,Dy
1239: // %1100_xxx101_001yyy EXG.L Ax,Ay
1240: // %1100_xxx101_mmmrrr AND.W Dx,<ea>
1241: OP_FUNC(and_w_dn_ea);
1242: break;
1243: case (0xc180 >> 6):
1244: case (0xc380 >> 6):
1245: case (0xc580 >> 6):
1246: case (0xc780 >> 6):
1247: case (0xc980 >> 6):
1248: case (0xcb80 >> 6):
1249: case (0xcd80 >> 6):
1250: case (0xcf80 >> 6):
1251: // %1100_xxx110_001yyy EXG.L Dx,Ay
1252: // %1100_xxx110_mmmrrr AND.L Dx,<ea>
1253: OP_FUNC(and_l_dn_ea);
1254: break;
1255: case (0xc1c0 >> 6):
1256: case (0xc3c0 >> 6):
1257: case (0xc5c0 >> 6):
1258: case (0xc7c0 >> 6):
1259: case (0xc9c0 >> 6):
1260: case (0xcbc0 >> 6):
1261: case (0xcdc0 >> 6):
1262: case (0xcfc0 >> 6):
1263: // %1100_xxx111_mmmrrr MULS.W <ea>,Dx
1264: OP_FUNC(muls_w);
1265: break;
1266: case (0xd000 >> 6):
1267: case (0xd200 >> 6):
1268: case (0xd400 >> 6):
1269: case (0xd600 >> 6):
1270: case (0xd800 >> 6):
1271: case (0xda00 >> 6):
1272: case (0xdc00 >> 6):
1273: case (0xde00 >> 6):
1274: // %1101_xxx000_mmmrrr ADD.B <ea>,Dx
1275: OP_FUNC(add_b_ea_dn);
1276: break;
1277: case (0xd040 >> 6):
1278: case (0xd240 >> 6):
1279: case (0xd440 >> 6):
1280: case (0xd640 >> 6):
1281: case (0xd840 >> 6):
1282: case (0xda40 >> 6):
1283: case (0xdc40 >> 6):
1284: case (0xde40 >> 6):
1285: // %1101_xxx001_mmmrrr ADD.W <ea>,Dx
1286: OP_FUNC(add_w_ea_dn);
1287: break;
1288: case (0xd080 >> 6):
1289: case (0xd280 >> 6):
1290: case (0xd480 >> 6):
1291: case (0xd680 >> 6):
1292: case (0xd880 >> 6):
1293: case (0xda80 >> 6):
1294: case (0xdc80 >> 6):
1295: case (0xde80 >> 6):
1296: // %1101_xxx010_mmmrrr ADD.L <ea>,Dx
1297: OP_FUNC(add_l_ea_dn);
1298: break;
1299: case (0xd0c0 >> 6):
1300: case (0xd2c0 >> 6):
1301: case (0xd4c0 >> 6):
1302: case (0xd6c0 >> 6):
1303: case (0xd8c0 >> 6):
1304: case (0xdac0 >> 6):
1305: case (0xdcc0 >> 6):
1306: case (0xdec0 >> 6):
1307: // %1101_xxx011_mmmrrr ADDA.W <ea>,Ax
1308: OP_FUNC(adda_w);
1309: break;
1310: case (0xd100 >> 6):
1311: case (0xd300 >> 6):
1312: case (0xd500 >> 6):
1313: case (0xd700 >> 6):
1314: case (0xd900 >> 6):
1315: case (0xdb00 >> 6):
1316: case (0xdd00 >> 6):
1317: case (0xdf00 >> 6):
1318: // %1101_xxx100_000yyy ADDX.B Dy,Dx
1319: // %1101_xxx100_001yyy ADDX.B -(Ay),-(Ax)
1320: // %1101_xxx100_mmmrrr ADD.B Dx,<ea>
1321: OP_FUNC(add_b_dn_ea);
1322: break;
1323: case (0xd140 >> 6):
1324: case (0xd340 >> 6):
1325: case (0xd540 >> 6):
1326: case (0xd740 >> 6):
1327: case (0xd940 >> 6):
1328: case (0xdb40 >> 6):
1329: case (0xdd40 >> 6):
1330: case (0xdf40 >> 6):
1331: // %1101_xxx101_000yyy ADDX.W Dy,Dx
1332: // %1101_xxx101_001yyy ADDX.W -(Ay),-(Ax)
1333: // %1101_xxx101_mmmrrr ADD.W Dx,<ea>
1334: OP_FUNC(add_w_dn_ea);
1335: break;
1336: case (0xd180 >> 6):
1337: case (0xd380 >> 6):
1338: case (0xd580 >> 6):
1339: case (0xd780 >> 6):
1340: case (0xd980 >> 6):
1341: case (0xdb80 >> 6):
1342: case (0xdd80 >> 6):
1343: case (0xdf80 >> 6):
1344: // %1101_xxx110_000yyy ADDX.L Dy,Dx
1345: // %1101_xxx110_001yyy ADDX.L -(Ay),-(Ax)
1346: // %1101_xxx110_mmmrrr ADD.L Dx,<ea>
1347: OP_FUNC(add_l_dn_ea);
1348: break;
1349: case (0xd1c0 >> 6):
1350: case (0xd3c0 >> 6):
1351: case (0xd5c0 >> 6):
1352: case (0xd7c0 >> 6):
1353: case (0xd9c0 >> 6):
1354: case (0xdbc0 >> 6):
1355: case (0xddc0 >> 6):
1356: case (0xdfc0 >> 6):
1357: // %1101_xxx111_mmmrrr ADDA.L <ea>,Ax
1358: OP_FUNC(adda_l);
1359: break;
1360: case (0xe000 >> 6):
1361: case (0xe200 >> 6):
1362: case (0xe400 >> 6):
1363: case (0xe600 >> 6):
1364: case (0xe800 >> 6):
1365: case (0xea00 >> 6):
1366: case (0xec00 >> 6):
1367: case (0xee00 >> 6):
1368: // %1110_qqq000_000yyy ASR.B #qqq,Dy
1369: // %1110_qqq000_001yyy LSR.B #qqq,Dy
1370: // %1110_qqq000_010yyy ROXR.B #qqq,Dy
1371: // %1110_qqq000_011yyy ROR.B #qqq,Dy
1372: // %1110_xxx000_100yyy ASR.B Dx,Dy
1373: // %1110_xxx000_101yyy LSR.B Dx,Dy
1374: // %1110_xxx000_110yyy ROXR.B Dx,Dy
1375: // %1110_xxx000_111yyy ROR.B Dx,Dy
1376: OP_FUNC(asr_b_imm);
1377: break;
1378: case (0xe040 >> 6):
1379: case (0xe240 >> 6):
1380: case (0xe440 >> 6):
1381: case (0xe640 >> 6):
1382: case (0xe840 >> 6):
1383: case (0xea40 >> 6):
1384: case (0xec40 >> 6):
1385: case (0xee40 >> 6):
1386: // %1110_qqq001_000yyy ASR.W #qqq,Dy
1387: // %1110_qqq001_001yyy LSR.W #qqq,Dy
1388: // %1110_qqq001_010yyy ROXR.W #qqq,Dy
1389: // %1110_qqq001_011yyy ROR.W #qqq,Dy
1390: // %1110_xxx001_100yyy ASR.W Dx,Dy
1391: // %1110_xxx001_101yyy LSR.W Dx,Dy
1392: // %1110_xxx001_110yyy ROXR.W Dx,Dy
1393: // %1110_xxx001_111yyy ROR.W Dx,Dy
1394: OP_FUNC(asr_w_imm);
1395: break;
1396: case (0xe080 >> 6):
1397: case (0xe280 >> 6):
1398: case (0xe480 >> 6):
1399: case (0xe680 >> 6):
1400: case (0xe880 >> 6):
1401: case (0xea80 >> 6):
1402: case (0xec80 >> 6):
1403: case (0xee80 >> 6):
1404: // %1110_qqq010_000yyy ASR.L #qqq,Dy
1405: // %1110_qqq010_001yyy LSR.L #qqq,Dy
1406: // %1110_qqq010_010yyy ROXR.L #qqq,Dy
1407: // %1110_qqq010_011yyy ROR.L #qqq,Dy
1408: // %1110_xxx010_100yyy ASR.L Dx,Dy
1409: // %1110_xxx010_101yyy LSR.L Dx,Dy
1410: // %1110_xxx010_110yyy ROXR.L Dx,Dy
1411: // %1110_xxx010_111yyy ROR.L Dx,Dy
1412: OP_FUNC(asr_l_imm);
1413: break;
1414: case (0xe0c0 >> 6):
1415: // %1110_000011_mmmrrr ASR.W <ea>
1416: OP_FUNC(asr_w);
1417: break;
1418: case (0xe100 >> 6):
1419: case (0xe300 >> 6):
1420: case (0xe500 >> 6):
1421: case (0xe700 >> 6):
1422: case (0xe900 >> 6):
1423: case (0xeb00 >> 6):
1424: case (0xed00 >> 6):
1425: case (0xef00 >> 6):
1426: // %1110_qqq100_000yyy ASL.B #qqq,Dy
1427: // %1110_qqq100_001yyy LSL.B #qqq,Dy
1428: // %1110_qqq100_010yyy ROXL.B #qqq,Dy
1429: // %1110_qqq100_011yyy ROL.B #qqq,Dy
1430: // %1110_xxx100_100yyy ASL.B Dx,Dy
1431: // %1110_xxx100_101yyy LSL.B Dx,Dy
1432: // %1110_xxx100_110yyy ROXL.B Dx,Dy
1433: // %1110_xxx100_111yyy ROL.B Dx,Dy
1434: OP_FUNC(asl_b_imm);
1435: break;
1436: case (0xe140 >> 6):
1437: case (0xe340 >> 6):
1438: case (0xe540 >> 6):
1439: case (0xe740 >> 6):
1440: case (0xe940 >> 6):
1441: case (0xeb40 >> 6):
1442: case (0xed40 >> 6):
1443: case (0xef40 >> 6):
1444: // %1110_qqq101_000yyy ASL.W #qqq,Dy
1445: // %1110_qqq101_001yyy LSL.W #qqq,Dy
1446: // %1110_qqq101_010yyy ROXL.W #qqq,Dy
1447: // %1110_qqq101_011yyy ROL.W #qqq,Dy
1448: // %1110_xxx101_100yyy ASL.W Dx,Dy
1449: // %1110_xxx101_101yyy LSL.W Dx,Dy
1450: // %1110_xxx101_110yyy ROXL.W Dx,Dy
1451: // %1110_xxx101_111yyy ROL.W Dx,Dy
1452: OP_FUNC(asl_w_imm);
1453: break;
1454: case (0xe180 >> 6):
1455: case (0xe380 >> 6):
1456: case (0xe580 >> 6):
1457: case (0xe780 >> 6):
1458: case (0xe980 >> 6):
1459: case (0xeb80 >> 6):
1460: case (0xed80 >> 6):
1461: case (0xef80 >> 6):
1462: // %1110_qqq110_000yyy ASL.L #qqq,Dy
1463: // %1110_qqq110_001yyy LSL.L #qqq,Dy
1464: // %1110_qqq110_010yyy ROXL.L #qqq,Dy
1465: // %1110_qqq110_011yyy ROL.L #qqq,Dy
1466: // %1110_xxx110_100yyy ASL.L Dx,Dy
1467: // %1110_xxx110_101yyy LSL.L Dx,Dy
1468: // %1110_xxx110_110yyy ROXL.L Dx,Dy
1469: // %1110_xxx110_111yyy ROL.L Dx,Dy
1470: OP_FUNC(asl_l_imm);
1471: break;
1472: case (0xe1c0 >> 6):
1473: // %1110_000111_mmmrrr ASL.W <ea>
1474: OP_FUNC(asl_w);
1475: break;
1476: case (0xe2c0 >> 6):
1477: // %1110_001011_mmmrrr LSR.W <ea>
1478: OP_FUNC(lsr_w);
1479: break;
1480: case (0xe3c0 >> 6):
1481: // %1110_001111_mmmrrr LSL.W <ea>
1482: OP_FUNC(lsl_w);
1483: break;
1484: case (0xe4c0 >> 6):
1485: // %1110_010011_mmmrrr ROXR.W <ea>
1486: OP_FUNC(roxr_w);
1487: break;
1488: case (0xe5c0 >> 6):
1489: // %1110_010111_mmmrrr ROXL.W <ea>
1490: OP_FUNC(roxl_w);
1491: break;
1492: case (0xe6c0 >> 6):
1493: // %1110_011011_mmmrrr ROR.W <ea>
1494: OP_FUNC(ror_w);
1495: break;
1496: case (0xe7c0 >> 6):
1497: // %1110_011111_mmmrrr ROL.W <ea>
1498: OP_FUNC(rol_w);
1499: break;
1500: case (0xe8c0 >> 6):
1501: // %1110_100011_mmmrrr BFTST <ea>{#o:#w}
1502: OP_FUNC(bftst);
1503: break;
1504: case (0xe9c0 >> 6):
1505: // %1110_100111_mmmrrr BFEXTU <ea>{#o:#w},Dn
1506: OP_FUNC(bfextu);
1507: break;
1508: case (0xeac0 >> 6):
1509: // %1110_101011_mmmrrr BFCHG <ea>{#o:#w}
1510: OP_FUNC(bfchg);
1511: break;
1512: case (0xebc0 >> 6):
1513: // %1110_101111_mmmrrr BFEXTS <ea>{#o:#w},Dn
1514: OP_FUNC(bfexts);
1515: break;
1516: case (0xecc0 >> 6):
1517: // %1110_110011_mmmrrr BFCLR <ea>{#o:#w}
1518: OP_FUNC(bfclr);
1519: break;
1520: case (0xedc0 >> 6):
1521: // %1110_110111_mmmrrr BFFFO <ea>{#o:#w},Dn
1522: OP_FUNC(bfffo);
1523: break;
1524: case (0xeec0 >> 6):
1525: // %1110_111011_mmmrrr BFSET <ea>{#o:#w}
1526: OP_FUNC(bfset);
1527: break;
1528: case (0xefc0 >> 6):
1529: // %1110_111111_mmmrrr BFINS Dn,<ea>{#o:#w}
1530: OP_FUNC(bfins);
1531: break;
1532: case (0xf000 >> 6):
1533: case (0xf040 >> 6):
1534: case (0xf080 >> 6):
1535: case (0xf0c0 >> 6):
1536: case (0xf100 >> 6):
1537: case (0xf140 >> 6):
1538: case (0xf180 >> 6):
1539: case (0xf1c0 >> 6):
1540: // %1111_000nnn_nnnnnn MMU_OP
1541: OP_FUNC(mmuop);
1542: break;
1543: case (0xf200 >> 6):
1544: // %1111_001000_nnnnnn FPGEN
1545: OP_FUNC(fpgen);
1546: break;
1547: case (0xf240 >> 6):
1548: // %1111_001001_nnnnnn FScc.B <ea>
1549: // %1111_001001_001yyy FDBcc Dy,<label>
1550: // %1111_001001_111010 FTRAPcc.W #<imm>
1551: // %1111_001001_111011 FTRAPcc.L #<imm>
1552: // %1111_001001_111100 FTRAPcc
1553: OP_FUNC(fxcc);
1554: break;
1555: case (0xf280 >> 6):
1556: // %1111_001010_nnnnnn FBcc.W <label>
1557: OP_FUNC(fbcc_w);
1558: break;
1559: case (0xf2c0 >> 6):
1560: // %1111_001011_nnnnnn FBcc.L <label>
1561: OP_FUNC(fbcc_l);
1562: break;
1563: case (0xf300 >> 6):
1564: // %1111_001100_nnnnnn FSAVE <ea>
1565: OP_FUNC(fsave);
1566: break;
1567: case (0xf340 >> 6):
1568: // %1111_001101_nnnnnn FRESTORE <ea>
1569: OP_FUNC(frestore);
1570: break;
1571: case (0xf380 >> 6):
1572: case (0xf3c0 >> 6):
1573: case (0xf400 >> 6):
1574: case (0xf440 >> 6):
1575: case (0xf480 >> 6):
1576: case (0xf4c0 >> 6):
1577: case (0xf500 >> 6):
1578: case (0xf540 >> 6):
1579: case (0xf580 >> 6):
1580: case (0xf5c0 >> 6):
1581: case (0xf600 >> 6):
1582: case (0xf640 >> 6):
1583: case (0xf680 >> 6):
1584: case (0xf6c0 >> 6):
1585: case (0xf700 >> 6):
1586: case (0xf740 >> 6):
1587: case (0xf780 >> 6):
1588: case (0xf7c0 >> 6):
1589: case (0xf800 >> 6):
1590: case (0xf840 >> 6):
1591: case (0xf880 >> 6):
1592: case (0xf8c0 >> 6):
1593: case (0xf900 >> 6):
1594: case (0xf940 >> 6):
1595: case (0xf980 >> 6):
1596: case (0xf9c0 >> 6):
1597: case (0xfa00 >> 6):
1598: case (0xfa40 >> 6):
1599: case (0xfa80 >> 6):
1600: case (0xfac0 >> 6):
1601: case (0xfb00 >> 6):
1602: case (0xfb40 >> 6):
1603: case (0xfb80 >> 6):
1604: case (0xfbc0 >> 6):
1605: case (0xfc00 >> 6):
1606: case (0xfc40 >> 6):
1607: case (0xfc80 >> 6):
1608: case (0xfcc0 >> 6):
1609: case (0xfd00 >> 6):
1610: case (0xfd40 >> 6):
1611: case (0xfd80 >> 6):
1612: case (0xfdc0 >> 6):
1613: case (0xfe00 >> 6):
1614: case (0xfe40 >> 6):
1615: case (0xfe80 >> 6):
1616: case (0xfec0 >> 6):
1617: case (0xff00 >> 6):
1618: case (0xff40 >> 6):
1619: case (0xff80 >> 6):
1620: case (0xffc0 >> 6):
1621: // %1111_nnnnnn_nnnnnn F-Line
1622: OP_FUNC(fline);
1623: break;
1624: case (0x1040 >> 6):
1625: case (0x1240 >> 6):
1626: case (0x1440 >> 6):
1627: case (0x15c0 >> 6):
1628: case (0x1640 >> 6):
1629: case (0x17c0 >> 6):
1630: case (0x1840 >> 6):
1631: case (0x19c0 >> 6):
1632: case (0x1a40 >> 6):
1633: case (0x1bc0 >> 6):
1634: case (0x1c40 >> 6):
1635: case (0x1dc0 >> 6):
1636: case (0x1e40 >> 6):
1637: case (0x1fc0 >> 6):
1638: case (0x25c0 >> 6):
1639: case (0x27c0 >> 6):
1640: case (0x29c0 >> 6):
1641: case (0x2bc0 >> 6):
1642: case (0x2dc0 >> 6):
1643: case (0x2fc0 >> 6):
1644: case (0x35c0 >> 6):
1645: case (0x37c0 >> 6):
1646: case (0x39c0 >> 6):
1647: case (0x3bc0 >> 6):
1648: case (0x3dc0 >> 6):
1649: case (0x3fc0 >> 6):
1650: case (0x4140 >> 6):
1651: case (0x4340 >> 6):
1652: case (0x4540 >> 6):
1653: case (0x4740 >> 6):
1654: case (0x4940 >> 6):
1655: case (0x4b40 >> 6):
1656: case (0x4d40 >> 6):
1657: case (0x4e00 >> 6):
1658: case (0x4f40 >> 6):
1659: case (0x7100 >> 6):
1660: case (0x7140 >> 6):
1661: case (0x7180 >> 6):
1662: case (0x71c0 >> 6):
1663: case (0x7300 >> 6):
1664: case (0x7340 >> 6):
1665: case (0x7380 >> 6):
1666: case (0x73c0 >> 6):
1667: case (0x7500 >> 6):
1668: case (0x7540 >> 6):
1669: case (0x7580 >> 6):
1670: case (0x75c0 >> 6):
1671: case (0x7700 >> 6):
1672: case (0x7740 >> 6):
1673: case (0x7780 >> 6):
1674: case (0x77c0 >> 6):
1675: case (0x7900 >> 6):
1676: case (0x7940 >> 6):
1677: case (0x7980 >> 6):
1678: case (0x79c0 >> 6):
1679: case (0x7b00 >> 6):
1680: case (0x7b40 >> 6):
1681: case (0x7b80 >> 6):
1682: case (0x7bc0 >> 6):
1683: case (0x7d00 >> 6):
1684: case (0x7d40 >> 6):
1685: case (0x7d80 >> 6):
1686: case (0x7dc0 >> 6):
1687: case (0x7f00 >> 6):
1688: case (0x7f40 >> 6):
1689: case (0x7f80 >> 6):
1690: case (0x7fc0 >> 6):
1691: OP_FUNC(illegal);
1692: break;
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.