~ubuntu-branches/ubuntu/karmic/xmame/karmic

« back to all changes in this revision

Viewing changes to src/cpu/m68000/m68k_in.c

  • Committer: Bazaar Package Importer
  • Author(s): Bruno Barrera C.
  • Date: 2007-02-16 10:06:54 UTC
  • mfrom: (2.1.5 edgy)
  • Revision ID: james.westby@ubuntu.com-20070216100654-iztas2cl47k5j039
Tags: 0.106-2
* Added Italian debconf templates translation. (closes: #382672)
* Added German debconf templates translation. (closes: #396610)
* Added Japanese debconf templates translation. (closes: #400011)
* Added Portuguese debconf templates translation. (closes: #409960)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/*
2
2
must fix:
3
 
        callm
4
 
        chk
 
3
    callm
 
4
    chk
5
5
*/
6
6
/* ======================================================================== */
7
7
/* ========================= LICENSING & COPYRIGHT ======================== */
125
125
 
126
126
#include "m68kops.h"
127
127
 
128
 
#define NUM_CPU_TYPES 3
 
128
#define NUM_CPU_TYPES 4
129
129
 
130
130
void  (*m68ki_instruction_jump_table[0x10000])(void); /* opcode handler jump table */
131
131
unsigned char m68ki_cycles[NUM_CPU_TYPES][0x10000]; /* Cycles used by CPU type */
143
143
/* Opcode handler table */
144
144
static opcode_handler_struct m68k_opcode_handler_table[] =
145
145
{
146
 
/*   function                      mask    match    000  010  020 */
 
146
/*   function                      mask    match    000  010  020  040 */
147
147
 
148
148
 
149
149
 
150
150
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
151
151
M68KMAKE_TABLE_FOOTER
152
152
 
153
 
        {0, 0, 0, {0, 0, 0}}
 
153
        {0, 0, 0, {0, 0, 0, 0}}
154
154
};
155
155
 
156
156
 
205
205
                                m68ki_instruction_jump_table[instr] = ostruct->opcode_handler;
206
206
                                for(k=0;k<NUM_CPU_TYPES;k++)
207
207
                                        m68ki_cycles[k][instr] = ostruct->cycles[k];
208
 
                                if((instr & 0xf000) == 0xe000 && (!(instr & 0x20)))
209
 
                                        m68ki_cycles[0][instr] = m68ki_cycles[1][instr] = ostruct->cycles[k] + ((((j-1)&7)+1)<<1);
210
208
                        }
211
209
                }
212
210
                ostruct++;
261
259
M68KMAKE_OPCODE_HANDLER_HEADER
262
260
 
263
261
#include "m68kcpu.h"
 
262
extern void m68040_fpu_op0(void);
 
263
extern void m68040_fpu_op1(void);
264
264
 
265
265
/* ======================================================================== */
266
266
/* ========================= INSTRUCTION HANDLERS ========================= */
350
350
 
351
351
 
352
352
 
353
 
              spec  spec                    allowed ea  mode   cpu cycles
354
 
name    size  proc   ea   bit pattern       A+-DXWLdxI  0 1 2  000 010 020  comments
355
 
======  ====  ====  ====  ================  ==========  = = =  === === ===  =============
 
353
              spec  spec                    allowed ea  mode     cpu cycles
 
354
name    size  proc   ea   bit pattern       A+-DXWLdxI  0 1 2 4  000 010 020 040  comments
 
355
======  ====  ====  ====  ================  ==========  = = = =  === === === === =============
356
356
M68KMAKE_TABLE_START
357
 
1010       0  .     .     1010............  ..........  U U U    4   4   4
358
 
1111       0  .     .     1111............  ..........  U U U    4   4   4
359
 
abcd       8  rr    .     1100...100000...  ..........  U U U    6   6   4
360
 
abcd       8  mm    ax7   1100111100001...  ..........  U U U   18  18  16
361
 
abcd       8  mm    ay7   1100...100001111  ..........  U U U   18  18  16
362
 
abcd       8  mm    axy7  1100111100001111  ..........  U U U   18  18  16
363
 
abcd       8  mm    .     1100...100001...  ..........  U U U   18  18  16
364
 
add        8  er    d     1101...000000...  ..........  U U U    4   4   2
365
 
add        8  er    .     1101...000......  A+-DXWLdxI  U U U    4   4   2
366
 
add       16  er    d     1101...001000...  ..........  U U U    4   4   2
367
 
add       16  er    a     1101...001001...  ..........  U U U    4   4   2
368
 
add       16  er    .     1101...001......  A+-DXWLdxI  U U U    4   4   2
369
 
add       32  er    d     1101...010000...  ..........  U U U    6   6   2
370
 
add       32  er    a     1101...010001...  ..........  U U U    6   6   2
371
 
add       32  er    .     1101...010......  A+-DXWLdxI  U U U    6   6   2
372
 
add        8  re    .     1101...100......  A+-DXWL...  U U U    8   8   4
373
 
add       16  re    .     1101...101......  A+-DXWL...  U U U    8   8   4
374
 
add       32  re    .     1101...110......  A+-DXWL...  U U U   12  12   4
375
 
adda      16  .     d     1101...011000...  ..........  U U U    8   8   2
376
 
adda      16  .     a     1101...011001...  ..........  U U U    8   8   2
377
 
adda      16  .     .     1101...011......  A+-DXWLdxI  U U U    8   8   2
378
 
adda      32  .     d     1101...111000...  ..........  U U U    6   6   2
379
 
adda      32  .     a     1101...111001...  ..........  U U U    6   6   2
380
 
adda      32  .     .     1101...111......  A+-DXWLdxI  U U U    6   6   2
381
 
addi       8  .     d     0000011000000...  ..........  U U U    8   8   2
382
 
addi       8  .     .     0000011000......  A+-DXWL...  U U U   12  12   4
383
 
addi      16  .     d     0000011001000...  ..........  U U U    8   8   2
384
 
addi      16  .     .     0000011001......  A+-DXWL...  U U U   12  12   4
385
 
addi      32  .     d     0000011010000...  ..........  U U U   16  14   2
386
 
addi      32  .     .     0000011010......  A+-DXWL...  U U U   20  20   4
387
 
addq       8  .     d     0101...000000...  ..........  U U U    4   4   2
388
 
addq       8  .     .     0101...000......  A+-DXWL...  U U U    8   8   4
389
 
addq      16  .     d     0101...001000...  ..........  U U U    4   4   2
390
 
addq      16  .     a     0101...001001...  ..........  U U U    4   4   2
391
 
addq      16  .     .     0101...001......  A+-DXWL...  U U U    8   8   4
392
 
addq      32  .     d     0101...010000...  ..........  U U U    8   8   2
393
 
addq      32  .     a     0101...010001...  ..........  U U U    8   8   2
394
 
addq      32  .     .     0101...010......  A+-DXWL...  U U U   12  12   4
395
 
addx       8  rr    .     1101...100000...  ..........  U U U    4   4   2
396
 
addx      16  rr    .     1101...101000...  ..........  U U U    4   4   2
397
 
addx      32  rr    .     1101...110000...  ..........  U U U    8   6   2
398
 
addx       8  mm    ax7   1101111100001...  ..........  U U U   18  18  12
399
 
addx       8  mm    ay7   1101...100001111  ..........  U U U   18  18  12
400
 
addx       8  mm    axy7  1101111100001111  ..........  U U U   18  18  12
401
 
addx       8  mm    .     1101...100001...  ..........  U U U   18  18  12
402
 
addx      16  mm    .     1101...101001...  ..........  U U U   18  18  12
403
 
addx      32  mm    .     1101...110001...  ..........  U U U   30  30  12
404
 
and        8  er    d     1100...000000...  ..........  U U U    4   4   2
405
 
and        8  er    .     1100...000......  A+-DXWLdxI  U U U    4   4   2
406
 
and       16  er    d     1100...001000...  ..........  U U U    4   4   2
407
 
and       16  er    .     1100...001......  A+-DXWLdxI  U U U    4   4   2
408
 
and       32  er    d     1100...010000...  ..........  U U U    6   6   2
409
 
and       32  er    .     1100...010......  A+-DXWLdxI  U U U    6   6   2
410
 
and        8  re    .     1100...100......  A+-DXWL...  U U U    8   8   4
411
 
and       16  re    .     1100...101......  A+-DXWL...  U U U    8   8   4
412
 
and       32  re    .     1100...110......  A+-DXWL...  U U U   12  12   4
413
 
andi      16  toc   .     0000001000111100  ..........  U U U   20  16  12
414
 
andi      16  tos   .     0000001001111100  ..........  S S S   20  16  12
415
 
andi       8  .     d     0000001000000...  ..........  U U U    8   8   2
416
 
andi       8  .     .     0000001000......  A+-DXWL...  U U U   12  12   4
417
 
andi      16  .     d     0000001001000...  ..........  U U U    8   8   2
418
 
andi      16  .     .     0000001001......  A+-DXWL...  U U U   12  12   4
419
 
andi      32  .     d     0000001010000...  ..........  U U U   14  14   2
420
 
andi      32  .     .     0000001010......  A+-DXWL...  U U U   20  20   4
421
 
asr        8  s     .     1110...000000...  ..........  U U U    6   6   6
422
 
asr       16  s     .     1110...001000...  ..........  U U U    6   6   6
423
 
asr       32  s     .     1110...010000...  ..........  U U U    8   8   6
424
 
asr        8  r     .     1110...000100...  ..........  U U U    6   6   6
425
 
asr       16  r     .     1110...001100...  ..........  U U U    6   6   6
426
 
asr       32  r     .     1110...010100...  ..........  U U U    8   8   6
427
 
asr       16  .     .     1110000011......  A+-DXWL...  U U U    8   8   5
428
 
asl        8  s     .     1110...100000...  ..........  U U U    6   6   8
429
 
asl       16  s     .     1110...101000...  ..........  U U U    6   6   8
430
 
asl       32  s     .     1110...110000...  ..........  U U U    8   8   8
431
 
asl        8  r     .     1110...100100...  ..........  U U U    6   6   8
432
 
asl       16  r     .     1110...101100...  ..........  U U U    6   6   8
433
 
asl       32  r     .     1110...110100...  ..........  U U U    8   8   8
434
 
asl       16  .     .     1110000111......  A+-DXWL...  U U U    8   8   6
435
 
bcc        8  .     .     0110............  ..........  U U U    8   8   6
436
 
bcc       16  .     .     0110....00000000  ..........  U U U   10  10   6
437
 
bcc       32  .     .     0110....11111111  ..........  . . U    .   .   6
438
 
bchg       8  r     .     0000...101......  A+-DXWL...  U U U    8   8   4
439
 
bchg      32  r     d     0000...101000...  ..........  U U U    8   8   4
440
 
bchg       8  s     .     0000100001......  A+-DXWL...  U U U   12  12   4
441
 
bchg      32  s     d     0000100001000...  ..........  U U U   12  12   4
442
 
bclr       8  r     .     0000...110......  A+-DXWL...  U U U    8  10   4
443
 
bclr      32  r     d     0000...110000...  ..........  U U U   10  10   4
444
 
bclr       8  s     .     0000100010......  A+-DXWL...  U U U   12  12   4
445
 
bclr      32  s     d     0000100010000...  ..........  U U U   14  14   4
446
 
bfchg     32  .     d     1110101011000...  ..........  . . U    .   .  12  timing not quite correct
447
 
bfchg     32  .     .     1110101011......  A..DXWL...  . . U    .   .  20
448
 
bfclr     32  .     d     1110110011000...  ..........  . . U    .   .  12
449
 
bfclr     32  .     .     1110110011......  A..DXWL...  . . U    .   .  20
450
 
bfexts    32  .     d     1110101111000...  ..........  . . U    .   .   8
451
 
bfexts    32  .     .     1110101111......  A..DXWLdx.  . . U    .   .  15
452
 
bfextu    32  .     d     1110100111000...  ..........  . . U    .   .   8
453
 
bfextu    32  .     .     1110100111......  A..DXWLdx.  . . U    .   .  15
454
 
bfffo     32  .     d     1110110111000...  ..........  . . U    .   .  18
455
 
bfffo     32  .     .     1110110111......  A..DXWLdx.  . . U    .   .  28
456
 
bfins     32  .     d     1110111111000...  ..........  . . U    .   .  10
457
 
bfins     32  .     .     1110111111......  A..DXWL...  . . U    .   .  17
458
 
bfset     32  .     d     1110111011000...  ..........  . . U    .   .  12
459
 
bfset     32  .     .     1110111011......  A..DXWL...  . . U    .   .  20
460
 
bftst     32  .     d     1110100011000...  ..........  . . U    .   .   6
461
 
bftst     32  .     .     1110100011......  A..DXWLdx.  . . U    .   .  13
462
 
bkpt       0  .     .     0100100001001...  ..........  . U U    .  10  10
463
 
bra        8  .     .     01100000........  ..........  U U U   10  10  10
464
 
bra       16  .     .     0110000000000000  ..........  U U U   10  10  10
465
 
bra       32  .     .     0110000011111111  ..........  U U U    .   .  10
466
 
bset      32  r     d     0000...111000...  ..........  U U U    8   8   4
467
 
bset       8  r     .     0000...111......  A+-DXWL...  U U U    8   8   4
468
 
bset       8  s     .     0000100011......  A+-DXWL...  U U U   12  12   4
469
 
bset      32  s     d     0000100011000...  ..........  U U U   12  12   4
470
 
bsr        8  .     .     01100001........  ..........  U U U   18  18   7
471
 
bsr       16  .     .     0110000100000000  ..........  U U U   18  18   7
472
 
bsr       32  .     .     0110000111111111  ..........  . . U    .   .   7
473
 
btst       8  r     .     0000...100......  A+-DXWLdxI  U U U    4   4   4
474
 
btst      32  r     d     0000...100000...  ..........  U U U    6   6   4
475
 
btst       8  s     .     0000100000......  A+-DXWLdx.  U U U    8   8   4
476
 
btst      32  s     d     0000100000000...  ..........  U U U   10  10   4
477
 
callm     32  .     .     0000011011......  A..DXWLdx.  . . U    .   .  60  not properly emulated
478
 
cas        8  .     .     0000101011......  A+-DXWL...  . . U    .   .  12
479
 
cas       16  .     .     0000110011......  A+-DXWL...  . . U    .   .  12
480
 
cas       32  .     .     0000111011......  A+-DXWL...  . . U    .   .  12
481
 
cas2      16  .     .     0000110011111100  ..........  . . U    .   .  12
482
 
cas2      32  .     .     0000111011111100  ..........  . . U    .   .  12
483
 
chk       16  .     d     0100...110000...  ..........  U U U   10   8   8
484
 
chk       16  .     .     0100...110......  A+-DXWLdxI  U U U   10   8   8
485
 
chk       32  .     d     0100...100000...  ..........  . . U    .   .   8
486
 
chk       32  .     .     0100...100......  A+-DXWLdxI  . . U    .   .   8
487
 
chk2cmp2   8  .     pcdi  0000000011111010  ..........  . . U    .   .  23
488
 
chk2cmp2   8  .     pcix  0000000011111011  ..........  . . U    .   .  23
489
 
chk2cmp2   8  .     .     0000000011......  A..DXWL...  . . U    .   .  18
490
 
chk2cmp2  16  .     pcdi  0000001011111010  ..........  . . U    .   .  23
491
 
chk2cmp2  16  .     pcix  0000001011111011  ..........  . . U    .   .  23
492
 
chk2cmp2  16  .     .     0000001011......  A..DXWL...  . . U    .   .  18
493
 
chk2cmp2  32  .     pcdi  0000010011111010  ..........  . . U    .   .  23
494
 
chk2cmp2  32  .     pcix  0000010011111011  ..........  . . U    .   .  23
495
 
chk2cmp2  32  .     .     0000010011......  A..DXWL...  . . U    .   .  18
496
 
clr        8  .     d     0100001000000...  ..........  U U U    4   4   2
497
 
clr        8  .     .     0100001000......  A+-DXWL...  U U U    8   4   4
498
 
clr       16  .     d     0100001001000...  ..........  U U U    4   4   2
499
 
clr       16  .     .     0100001001......  A+-DXWL...  U U U    8   4   4
500
 
clr       32  .     d     0100001010000...  ..........  U U U    6   6   2
501
 
clr       32  .     .     0100001010......  A+-DXWL...  U U U   12   6   4
502
 
cmp        8  .     d     1011...000000...  ..........  U U U    4   4   2
503
 
cmp        8  .     .     1011...000......  A+-DXWLdxI  U U U    4   4   2
504
 
cmp       16  .     d     1011...001000...  ..........  U U U    4   4   2
505
 
cmp       16  .     a     1011...001001...  ..........  U U U    4   4   2
506
 
cmp       16  .     .     1011...001......  A+-DXWLdxI  U U U    4   4   2
507
 
cmp       32  .     d     1011...010000...  ..........  U U U    6   6   2
508
 
cmp       32  .     a     1011...010001...  ..........  U U U    6   6   2
509
 
cmp       32  .     .     1011...010......  A+-DXWLdxI  U U U    6   6   2
510
 
cmpa      16  .     d     1011...011000...  ..........  U U U    6   6   4
511
 
cmpa      16  .     a     1011...011001...  ..........  U U U    6   6   4
512
 
cmpa      16  .     .     1011...011......  A+-DXWLdxI  U U U    6   6   4
513
 
cmpa      32  .     d     1011...111000...  ..........  U U U    6   6   4
514
 
cmpa      32  .     a     1011...111001...  ..........  U U U    6   6   4
515
 
cmpa      32  .     .     1011...111......  A+-DXWLdxI  U U U    6   6   4
516
 
cmpi       8  .     d     0000110000000...  ..........  U U U    8   8   2
517
 
cmpi       8  .     .     0000110000......  A+-DXWL...  U U U    8   8   2
518
 
cmpi       8  .     pcdi  0000110000111010  ..........  . . U    .   .   7
519
 
cmpi       8  .     pcix  0000110000111011  ..........  . . U    .   .   9
520
 
cmpi      16  .     d     0000110001000...  ..........  U U U    8   8   2
521
 
cmpi      16  .     .     0000110001......  A+-DXWL...  U U U    8   8   2
522
 
cmpi      16  .     pcdi  0000110001111010  ..........  . . U    .   .   7
523
 
cmpi      16  .     pcix  0000110001111011  ..........  . . U    .   .   9
524
 
cmpi      32  .     d     0000110010000...  ..........  U U U   14  12   2
525
 
cmpi      32  .     .     0000110010......  A+-DXWL...  U U U   12  12   2
526
 
cmpi      32  .     pcdi  0000110010111010  ..........  . . U    .   .   7
527
 
cmpi      32  .     pcix  0000110010111011  ..........  . . U    .   .   9
528
 
cmpm       8  .     ax7   1011111100001...  ..........  U U U   12  12   9
529
 
cmpm       8  .     ay7   1011...100001111  ..........  U U U   12  12   9
530
 
cmpm       8  .     axy7  1011111100001111  ..........  U U U   12  12   9
531
 
cmpm       8  .     .     1011...100001...  ..........  U U U   12  12   9
532
 
cmpm      16  .     .     1011...101001...  ..........  U U U   12  12   9
533
 
cmpm      32  .     .     1011...110001...  ..........  U U U   20  20   9
534
 
cpbcc     32  .     .     1111...01.......  ..........  . . U    .   .   4  unemulated
535
 
cpdbcc    32  .     .     1111...001001...  ..........  . . U    .   .   4  unemulated
536
 
cpgen     32  .     .     1111...000......  ..........  . . U    .   .   4  unemulated
537
 
cpscc     32  .     .     1111...001......  ..........  . . U    .   .   4  unemulated
538
 
cptrapcc  32  .     .     1111...001111...  ..........  . . U    .   .   4  unemulated
539
 
dbt       16  .     .     0101000011001...  ..........  U U U   12  12   6
540
 
dbf       16  .     .     0101000111001...  ..........  U U U   14  14   6
541
 
dbcc      16  .     .     0101....11001...  ..........  U U U   12  12   6
542
 
divs      16  .     d     1000...111000...  ..........  U U U  158 122  56
543
 
divs      16  .     .     1000...111......  A+-DXWLdxI  U U U  158 122  56
544
 
divu      16  .     d     1000...011000...  ..........  U U U  140 108  44
545
 
divu      16  .     .     1000...011......  A+-DXWLdxI  U U U  140 108  44
546
 
divl      32  .     d     0100110001000...  ..........  . . U    .   .  84
547
 
divl      32  .     .     0100110001......  A+-DXWLdxI  . . U    .   .  84
548
 
eor        8  .     d     1011...100000...  ..........  U U U    4   4   2
549
 
eor        8  .     .     1011...100......  A+-DXWL...  U U U    8   8   4
550
 
eor       16  .     d     1011...101000...  ..........  U U U    4   4   2
551
 
eor       16  .     .     1011...101......  A+-DXWL...  U U U    8   8   4
552
 
eor       32  .     d     1011...110000...  ..........  U U U    8   6   2
553
 
eor       32  .     .     1011...110......  A+-DXWL...  U U U   12  12   4
554
 
eori      16  toc   .     0000101000111100  ..........  U U U   20  16  12
555
 
eori      16  tos   .     0000101001111100  ..........  S S S   20  16  12
556
 
eori       8  .     d     0000101000000...  ..........  U U U    8   8   2
557
 
eori       8  .     .     0000101000......  A+-DXWL...  U U U   12  12   4
558
 
eori      16  .     d     0000101001000...  ..........  U U U    8   8   2
559
 
eori      16  .     .     0000101001......  A+-DXWL...  U U U   12  12   4
560
 
eori      32  .     d     0000101010000...  ..........  U U U   16  14   2
561
 
eori      32  .     .     0000101010......  A+-DXWL...  U U U   20  20   4
562
 
exg       32  dd    .     1100...101000...  ..........  U U U    6   6   2
563
 
exg       32  aa    .     1100...101001...  ..........  U U U    6   6   2
564
 
exg       32  da    .     1100...110001...  ..........  U U U    6   6   2
565
 
ext       16  .     .     0100100010000...  ..........  U U U    4   4   4
566
 
ext       32  .     .     0100100011000...  ..........  U U U    4   4   4
567
 
extb      32  .     .     0100100111000...  ..........  . . U    .   .   4
568
 
illegal    0  .     .     0100101011111100  ..........  U U U    4   4   4
569
 
jmp       32  .     .     0100111011......  A..DXWLdx.  U U U    4   4   0
570
 
jsr       32  .     .     0100111010......  A..DXWLdx.  U U U   12  12   0
571
 
lea       32  .     .     0100...111......  A..DXWLdx.  U U U    0   0   2
572
 
link      16  .     a7    0100111001010111  ..........  U U U   16  16   5
573
 
link      16  .     .     0100111001010...  ..........  U U U   16  16   5
574
 
link      32  .     a7    0100100000001111  ..........  . . U    .   .   6
575
 
link      32  .     .     0100100000001...  ..........  . . U    .   .   6
576
 
lsr        8  s     .     1110...000001...  ..........  U U U    6   6   4
577
 
lsr       16  s     .     1110...001001...  ..........  U U U    6   6   4
578
 
lsr       32  s     .     1110...010001...  ..........  U U U    8   8   4
579
 
lsr        8  r     .     1110...000101...  ..........  U U U    6   6   6
580
 
lsr       16  r     .     1110...001101...  ..........  U U U    6   6   6
581
 
lsr       32  r     .     1110...010101...  ..........  U U U    8   8   6
582
 
lsr       16  .     .     1110001011......  A+-DXWL...  U U U    8   8   5
583
 
lsl        8  s     .     1110...100001...  ..........  U U U    6   6   4
584
 
lsl       16  s     .     1110...101001...  ..........  U U U    6   6   4
585
 
lsl       32  s     .     1110...110001...  ..........  U U U    8   8   4
586
 
lsl        8  r     .     1110...100101...  ..........  U U U    6   6   6
587
 
lsl       16  r     .     1110...101101...  ..........  U U U    6   6   6
588
 
lsl       32  r     .     1110...110101...  ..........  U U U    8   8   6
589
 
lsl       16  .     .     1110001111......  A+-DXWL...  U U U    8   8   5
590
 
move       8  d     d     0001...000000...  ..........  U U U    4   4   2
591
 
move       8  d     .     0001...000......  A+-DXWLdxI  U U U    4   4   2
592
 
move       8  ai    d     0001...010000...  ..........  U U U    8   8   4
593
 
move       8  ai    .     0001...010......  A+-DXWLdxI  U U U    8   8   4
594
 
move       8  pi    d     0001...011000...  ..........  U U U    8   8   4
595
 
move       8  pi    .     0001...011......  A+-DXWLdxI  U U U    8   8   4
596
 
move       8  pi7   d     0001111011000...  ..........  U U U    8   8   4
597
 
move       8  pi7   .     0001111011......  A+-DXWLdxI  U U U    8   8   4
598
 
move       8  pd    d     0001...100000...  ..........  U U U    8   8   5
599
 
move       8  pd    .     0001...100......  A+-DXWLdxI  U U U    8   8   5
600
 
move       8  pd7   d     0001111100000...  ..........  U U U    8   8   5
601
 
move       8  pd7   .     0001111100......  A+-DXWLdxI  U U U    8   8   5
602
 
move       8  di    d     0001...101000...  ..........  U U U   12  12   5
603
 
move       8  di    .     0001...101......  A+-DXWLdxI  U U U   12  12   5
604
 
move       8  ix    d     0001...110000...  ..........  U U U   14  14   7
605
 
move       8  ix    .     0001...110......  A+-DXWLdxI  U U U   14  14   7
606
 
move       8  aw    d     0001000111000...  ..........  U U U   12  12   4
607
 
move       8  aw    .     0001000111......  A+-DXWLdxI  U U U   12  12   4
608
 
move       8  al    d     0001001111000...  ..........  U U U   16  16   6
609
 
move       8  al    .     0001001111......  A+-DXWLdxI  U U U   16  16   6
610
 
move      16  d     d     0011...000000...  ..........  U U U    4   4   2
611
 
move      16  d     a     0011...000001...  ..........  U U U    4   4   2
612
 
move      16  d     .     0011...000......  A+-DXWLdxI  U U U    4   4   2
613
 
move      16  ai    d     0011...010000...  ..........  U U U    8   8   4
614
 
move      16  ai    a     0011...010001...  ..........  U U U    8   8   4
615
 
move      16  ai    .     0011...010......  A+-DXWLdxI  U U U    8   8   4
616
 
move      16  pi    d     0011...011000...  ..........  U U U    8   8   4
617
 
move      16  pi    a     0011...011001...  ..........  U U U    8   8   4
618
 
move      16  pi    .     0011...011......  A+-DXWLdxI  U U U    8   8   4
619
 
move      16  pd    d     0011...100000...  ..........  U U U    8   8   5
620
 
move      16  pd    a     0011...100001...  ..........  U U U    8   8   5
621
 
move      16  pd    .     0011...100......  A+-DXWLdxI  U U U    8   8   5
622
 
move      16  di    d     0011...101000...  ..........  U U U   12  12   5
623
 
move      16  di    a     0011...101001...  ..........  U U U   12  12   5
624
 
move      16  di    .     0011...101......  A+-DXWLdxI  U U U   12  12   5
625
 
move      16  ix    d     0011...110000...  ..........  U U U   14  14   7
626
 
move      16  ix    a     0011...110001...  ..........  U U U   14  14   7
627
 
move      16  ix    .     0011...110......  A+-DXWLdxI  U U U   14  14   7
628
 
move      16  aw    d     0011000111000...  ..........  U U U   12  12   4
629
 
move      16  aw    a     0011000111001...  ..........  U U U   12  12   4
630
 
move      16  aw    .     0011000111......  A+-DXWLdxI  U U U   12  12   4
631
 
move      16  al    d     0011001111000...  ..........  U U U   16  16   6
632
 
move      16  al    a     0011001111001...  ..........  U U U   16  16   6
633
 
move      16  al    .     0011001111......  A+-DXWLdxI  U U U   16  16   6
634
 
move      32  d     d     0010...000000...  ..........  U U U    4   4   2
635
 
move      32  d     a     0010...000001...  ..........  U U U    4   4   2
636
 
move      32  d     .     0010...000......  A+-DXWLdxI  U U U    4   4   2
637
 
move      32  ai    d     0010...010000...  ..........  U U U   12  12   4
638
 
move      32  ai    a     0010...010001...  ..........  U U U   12  12   4
639
 
move      32  ai    .     0010...010......  A+-DXWLdxI  U U U   12  12   4
640
 
move      32  pi    d     0010...011000...  ..........  U U U   12  12   4
641
 
move      32  pi    a     0010...011001...  ..........  U U U   12  12   4
642
 
move      32  pi    .     0010...011......  A+-DXWLdxI  U U U   12  12   4
643
 
move      32  pd    d     0010...100000...  ..........  U U U   12  14   5
644
 
move      32  pd    a     0010...100001...  ..........  U U U   12  14   5
645
 
move      32  pd    .     0010...100......  A+-DXWLdxI  U U U   12  14   5
646
 
move      32  di    d     0010...101000...  ..........  U U U   16  16   5
647
 
move      32  di    a     0010...101001...  ..........  U U U   16  16   5
648
 
move      32  di    .     0010...101......  A+-DXWLdxI  U U U   16  16   5
649
 
move      32  ix    d     0010...110000...  ..........  U U U   18  18   7
650
 
move      32  ix    a     0010...110001...  ..........  U U U   18  18   7
651
 
move      32  ix    .     0010...110......  A+-DXWLdxI  U U U   18  18   7
652
 
move      32  aw    d     0010000111000...  ..........  U U U   16  16   4
653
 
move      32  aw    a     0010000111001...  ..........  U U U   16  16   4
654
 
move      32  aw    .     0010000111......  A+-DXWLdxI  U U U   16  16   4
655
 
move      32  al    d     0010001111000...  ..........  U U U   20  20   6
656
 
move      32  al    a     0010001111001...  ..........  U U U   20  20   6
657
 
move      32  al    .     0010001111......  A+-DXWLdxI  U U U   20  20   6
658
 
movea     16  .     d     0011...001000...  ..........  U U U    4   4   2
659
 
movea     16  .     a     0011...001001...  ..........  U U U    4   4   2
660
 
movea     16  .     .     0011...001......  A+-DXWLdxI  U U U    4   4   2
661
 
movea     32  .     d     0010...001000...  ..........  U U U    4   4   2
662
 
movea     32  .     a     0010...001001...  ..........  U U U    4   4   2
663
 
movea     32  .     .     0010...001......  A+-DXWLdxI  U U U    4   4   2
664
 
move      16  frc   d     0100001011000...  ..........  . U U    .   4   4
665
 
move      16  frc   .     0100001011......  A+-DXWL...  . U U    .   8   4
666
 
move      16  toc   d     0100010011000...  ..........  U U U   12  12   4
667
 
move      16  toc   .     0100010011......  A+-DXWLdxI  U U U   12  12   4
668
 
move      16  frs   d     0100000011000...  ..........  U S S    6   4   8 U only for 000
669
 
move      16  frs   .     0100000011......  A+-DXWL...  U S S    8   8   8 U only for 000
670
 
move      16  tos   d     0100011011000...  ..........  S S S   12  12   8
671
 
move      16  tos   .     0100011011......  A+-DXWLdxI  S S S   12  12   8
672
 
move      32  fru   .     0100111001101...  ..........  S S S    4   6   2
673
 
move      32  tou   .     0100111001100...  ..........  S S S    4   6   2
674
 
movec     32  cr    .     0100111001111010  ..........  . S S    .  12   6
675
 
movec     32  rc    .     0100111001111011  ..........  . S S    .  10  12
676
 
movem     16  re    pd    0100100010100...  ..........  U U U    8   8   4
677
 
movem     16  re    .     0100100010......  A..DXWL...  U U U    8   8   4
678
 
movem     32  re    pd    0100100011100...  ..........  U U U    8   8   4
679
 
movem     32  re    .     0100100011......  A..DXWL...  U U U    8   8   4
680
 
movem     16  er    pi    0100110010011...  ..........  U U U   12  12   8
681
 
movem     16  er    pcdi  0100110010111010  ..........  U U U   16  16   9
682
 
movem     16  er    pcix  0100110010111011  ..........  U U U   18  18  11
683
 
movem     16  er    .     0100110010......  A..DXWL...  U U U   12  12   8
684
 
movem     32  er    pi    0100110011011...  ..........  U U U   12  12   8
685
 
movem     32  er    pcdi  0100110011111010  ..........  U U U   16  16   9
686
 
movem     32  er    pcix  0100110011111011  ..........  U U U   18  18  11
687
 
movem     32  er    .     0100110011......  A..DXWL...  U U U   12  12   8
688
 
movep     16  er    .     0000...100001...  ..........  U U U   16  16  12
689
 
movep     32  er    .     0000...101001...  ..........  U U U   24  24  18
690
 
movep     16  re    .     0000...110001...  ..........  U U U   16  16  11
691
 
movep     32  re    .     0000...111001...  ..........  U U U   24  24  17
692
 
moveq     32  .     .     0111...0........  ..........  U U U    4   4   2
693
 
moves      8  .     .     0000111000......  A+-DXWL...  . S S    .  14   5
694
 
moves     16  .     .     0000111001......  A+-DXWL...  . S S    .  14   5
695
 
moves     32  .     .     0000111010......  A+-DXWL...  . S S    .  16   5
696
 
muls      16  .     d     1100...111000...  ..........  U U U   54  32  27
697
 
muls      16  .     .     1100...111......  A+-DXWLdxI  U U U   54  32  27
698
 
mulu      16  .     d     1100...011000...  ..........  U U U   54  30  27
699
 
mulu      16  .     .     1100...011......  A+-DXWLdxI  U U U   54  30  27
700
 
mull      32  .     d     0100110000000...  ..........  . . U    .   .  43
701
 
mull      32  .     .     0100110000......  A+-DXWLdxI  . . U    .   .  43
702
 
nbcd       8  .     d     0100100000000...  ..........  U U U    6   6   6
703
 
nbcd       8  .     .     0100100000......  A+-DXWL...  U U U    8   8   6
704
 
neg        8  .     d     0100010000000...  ..........  U U U    4   4   2
705
 
neg        8  .     .     0100010000......  A+-DXWL...  U U U    8   8   4
706
 
neg       16  .     d     0100010001000...  ..........  U U U    4   4   2
707
 
neg       16  .     .     0100010001......  A+-DXWL...  U U U    8   8   4
708
 
neg       32  .     d     0100010010000...  ..........  U U U    6   6   2
709
 
neg       32  .     .     0100010010......  A+-DXWL...  U U U   12  12   4
710
 
negx       8  .     d     0100000000000...  ..........  U U U    4   4   2
711
 
negx       8  .     .     0100000000......  A+-DXWL...  U U U    8   8   4
712
 
negx      16  .     d     0100000001000...  ..........  U U U    4   4   2
713
 
negx      16  .     .     0100000001......  A+-DXWL...  U U U    8   8   4
714
 
negx      32  .     d     0100000010000...  ..........  U U U    6   6   2
715
 
negx      32  .     .     0100000010......  A+-DXWL...  U U U   12  12   4
716
 
nop        0  .     .     0100111001110001  ..........  U U U    4   4   2
717
 
not        8  .     d     0100011000000...  ..........  U U U    4   4   2
718
 
not        8  .     .     0100011000......  A+-DXWL...  U U U    8   8   4
719
 
not       16  .     d     0100011001000...  ..........  U U U    4   4   2
720
 
not       16  .     .     0100011001......  A+-DXWL...  U U U    8   8   4
721
 
not       32  .     d     0100011010000...  ..........  U U U    6   6   2
722
 
not       32  .     .     0100011010......  A+-DXWL...  U U U   12  12   4
723
 
or         8  er    d     1000...000000...  ..........  U U U    4   4   2
724
 
or         8  er    .     1000...000......  A+-DXWLdxI  U U U    4   4   2
725
 
or        16  er    d     1000...001000...  ..........  U U U    4   4   2
726
 
or        16  er    .     1000...001......  A+-DXWLdxI  U U U    4   4   2
727
 
or        32  er    d     1000...010000...  ..........  U U U    6   6   2
728
 
or        32  er    .     1000...010......  A+-DXWLdxI  U U U    6   6   2
729
 
or         8  re    .     1000...100......  A+-DXWL...  U U U    8   8   4
730
 
or        16  re    .     1000...101......  A+-DXWL...  U U U    8   8   4
731
 
or        32  re    .     1000...110......  A+-DXWL...  U U U   12  12   4
732
 
ori       16  toc   .     0000000000111100  ..........  U U U   20  16  12
733
 
ori       16  tos   .     0000000001111100  ..........  S S S   20  16  12
734
 
ori        8  .     d     0000000000000...  ..........  U U U    8   8   2
735
 
ori        8  .     .     0000000000......  A+-DXWL...  U U U   12  12   4
736
 
ori       16  .     d     0000000001000...  ..........  U U U    8   8   2
737
 
ori       16  .     .     0000000001......  A+-DXWL...  U U U   12  12   4
738
 
ori       32  .     d     0000000010000...  ..........  U U U   16  14   2
739
 
ori       32  .     .     0000000010......  A+-DXWL...  U U U   20  20   4
740
 
pack      16  rr    .     1000...101000...  ..........  . . U    .   .   6
741
 
pack      16  mm    ax7   1000111101001...  ..........  . . U    .   .  13
742
 
pack      16  mm    ay7   1000...101001111  ..........  . . U    .   .  13
743
 
pack      16  mm    axy7  1000111101001111  ..........  . . U    .   .  13
744
 
pack      16  mm    .     1000...101001...  ..........  . . U    .   .  13
745
 
pea       32  .     .     0100100001......  A..DXWLdx.  U U U    6   6   5
746
 
reset      0  .     .     0100111001110000  ..........  S S S    0   0   0
747
 
ror        8  s     .     1110...000011...  ..........  U U U    6   6   8
748
 
ror       16  s     .     1110...001011...  ..........  U U U    6   6   8
749
 
ror       32  s     .     1110...010011...  ..........  U U U    8   8   8
750
 
ror        8  r     .     1110...000111...  ..........  U U U    6   6   8
751
 
ror       16  r     .     1110...001111...  ..........  U U U    6   6   8
752
 
ror       32  r     .     1110...010111...  ..........  U U U    8   8   8
753
 
ror       16  .     .     1110011011......  A+-DXWL...  U U U    8   8   7
754
 
rol        8  s     .     1110...100011...  ..........  U U U    6   6   8
755
 
rol       16  s     .     1110...101011...  ..........  U U U    6   6   8
756
 
rol       32  s     .     1110...110011...  ..........  U U U    8   8   8
757
 
rol        8  r     .     1110...100111...  ..........  U U U    6   6   8
758
 
rol       16  r     .     1110...101111...  ..........  U U U    6   6   8
759
 
rol       32  r     .     1110...110111...  ..........  U U U    8   8   8
760
 
rol       16  .     .     1110011111......  A+-DXWL...  U U U    8   8   7
761
 
roxr       8  s     .     1110...000010...  ..........  U U U    6   6  12
762
 
roxr      16  s     .     1110...001010...  ..........  U U U    6   6  12
763
 
roxr      32  s     .     1110...010010...  ..........  U U U    8   8  12
764
 
roxr       8  r     .     1110...000110...  ..........  U U U    6   6  12
765
 
roxr      16  r     .     1110...001110...  ..........  U U U    6   6  12
766
 
roxr      32  r     .     1110...010110...  ..........  U U U    8   8  12
767
 
roxr      16  .     .     1110010011......  A+-DXWL...  U U U    8   8   5
768
 
roxl       8  s     .     1110...100010...  ..........  U U U    6   6  12
769
 
roxl      16  s     .     1110...101010...  ..........  U U U    6   6  12
770
 
roxl      32  s     .     1110...110010...  ..........  U U U    8   8  12
771
 
roxl       8  r     .     1110...100110...  ..........  U U U    6   6  12
772
 
roxl      16  r     .     1110...101110...  ..........  U U U    6   6  12
773
 
roxl      32  r     .     1110...110110...  ..........  U U U    8   8  12
774
 
roxl      16  .     .     1110010111......  A+-DXWL...  U U U    8   8   5
775
 
rtd       32  .     .     0100111001110100  ..........  . U U    .  16  10
776
 
rte       32  .     .     0100111001110011  ..........  S S S   20  24  20  bus fault not emulated
777
 
rtm       32  .     .     000001101100....  ..........  . . U    .   .  19  not properly emulated
778
 
rtr       32  .     .     0100111001110111  ..........  U U U   20  20  14
779
 
rts       32  .     .     0100111001110101  ..........  U U U   16  16  10
780
 
sbcd       8  rr    .     1000...100000...  ..........  U U U    6   6   4
781
 
sbcd       8  mm    ax7   1000111100001...  ..........  U U U   18  18  16
782
 
sbcd       8  mm    ay7   1000...100001111  ..........  U U U   18  18  16
783
 
sbcd       8  mm    axy7  1000111100001111  ..........  U U U   18  18  16
784
 
sbcd       8  mm    .     1000...100001...  ..........  U U U   18  18  16
785
 
st         8  .     d     0101000011000...  ..........  U U U    6   4   4
786
 
st         8  .     .     0101000011......  A+-DXWL...  U U U    8   8   6
787
 
sf         8  .     d     0101000111000...  ..........  U U U    4   4   4
788
 
sf         8  .     .     0101000111......  A+-DXWL...  U U U    8   8   6
789
 
scc        8  .     d     0101....11000...  ..........  U U U    4   4   4
790
 
scc        8  .     .     0101....11......  A+-DXWL...  U U U    8   8   6
791
 
stop       0  .     .     0100111001110010  ..........  S S S    4   4   8
792
 
sub        8  er    d     1001...000000...  ..........  U U U    4   4   2
793
 
sub        8  er    .     1001...000......  A+-DXWLdxI  U U U    4   4   2
794
 
sub       16  er    d     1001...001000...  ..........  U U U    4   4   2
795
 
sub       16  er    a     1001...001001...  ..........  U U U    4   4   2
796
 
sub       16  er    .     1001...001......  A+-DXWLdxI  U U U    4   4   2
797
 
sub       32  er    d     1001...010000...  ..........  U U U    6   6   2
798
 
sub       32  er    a     1001...010001...  ..........  U U U    6   6   2
799
 
sub       32  er    .     1001...010......  A+-DXWLdxI  U U U    6   6   2
800
 
sub        8  re    .     1001...100......  A+-DXWL...  U U U    8   8   4
801
 
sub       16  re    .     1001...101......  A+-DXWL...  U U U    8   8   4
802
 
sub       32  re    .     1001...110......  A+-DXWL...  U U U   12  12   4
803
 
suba      16  .     d     1001...011000...  ..........  U U U    8   8   2
804
 
suba      16  .     a     1001...011001...  ..........  U U U    8   8   2
805
 
suba      16  .     .     1001...011......  A+-DXWLdxI  U U U    8   8   2
806
 
suba      32  .     d     1001...111000...  ..........  U U U    6   6   2
807
 
suba      32  .     a     1001...111001...  ..........  U U U    6   6   2
808
 
suba      32  .     .     1001...111......  A+-DXWLdxI  U U U    6   6   2
809
 
subi       8  .     d     0000010000000...  ..........  U U U    8   8   2
810
 
subi       8  .     .     0000010000......  A+-DXWL...  U U U   12  12   4
811
 
subi      16  .     d     0000010001000...  ..........  U U U    8   8   2
812
 
subi      16  .     .     0000010001......  A+-DXWL...  U U U   12  12   4
813
 
subi      32  .     d     0000010010000...  ..........  U U U   16  14   2
814
 
subi      32  .     .     0000010010......  A+-DXWL...  U U U   20  20   4
815
 
subq       8  .     d     0101...100000...  ..........  U U U    4   4   2
816
 
subq       8  .     .     0101...100......  A+-DXWL...  U U U    8   8   4
817
 
subq      16  .     d     0101...101000...  ..........  U U U    4   4   2
818
 
subq      16  .     a     0101...101001...  ..........  U U U    8   4   2
819
 
subq      16  .     .     0101...101......  A+-DXWL...  U U U    8   8   4
820
 
subq      32  .     d     0101...110000...  ..........  U U U    8   8   2
821
 
subq      32  .     a     0101...110001...  ..........  U U U    8   8   2
822
 
subq      32  .     .     0101...110......  A+-DXWL...  U U U   12  12   4
823
 
subx       8  rr    .     1001...100000...  ..........  U U U    4   4   2
824
 
subx      16  rr    .     1001...101000...  ..........  U U U    4   4   2
825
 
subx      32  rr    .     1001...110000...  ..........  U U U    8   6   2
826
 
subx       8  mm    ax7   1001111100001...  ..........  U U U   18  18  12
827
 
subx       8  mm    ay7   1001...100001111  ..........  U U U   18  18  12
828
 
subx       8  mm    axy7  1001111100001111  ..........  U U U   18  18  12
829
 
subx       8  mm    .     1001...100001...  ..........  U U U   18  18  12
830
 
subx      16  mm    .     1001...101001...  ..........  U U U   18  18  12
831
 
subx      32  mm    .     1001...110001...  ..........  U U U   30  30  12
832
 
swap      32  .     .     0100100001000...  ..........  U U U    4   4   4
833
 
tas        8  .     d     0100101011000...  ..........  U U U    4   4   4
834
 
tas        8  .     .     0100101011......  A+-DXWL...  U U U   14  14  12
835
 
trap       0  .     .     010011100100....  ..........  U U U    4   4   4
836
 
trapt      0  .     .     0101000011111100  ..........  . . U    .   .   4
837
 
trapt     16  .     .     0101000011111010  ..........  . . U    .   .   6
838
 
trapt     32  .     .     0101000011111011  ..........  . . U    .   .   8
839
 
trapf      0  .     .     0101000111111100  ..........  . . U    .   .   4
840
 
trapf     16  .     .     0101000111111010  ..........  . . U    .   .   6
841
 
trapf     32  .     .     0101000111111011  ..........  . . U    .   .   8
842
 
trapcc     0  .     .     0101....11111100  ..........  . . U    .   .   4
843
 
trapcc    16  .     .     0101....11111010  ..........  . . U    .   .   6
844
 
trapcc    32  .     .     0101....11111011  ..........  . . U    .   .   8
845
 
trapv      0  .     .     0100111001110110  ..........  U U U    4   4   4
846
 
tst        8  .     d     0100101000000...  ..........  U U U    4   4   2
847
 
tst        8  .     .     0100101000......  A+-DXWL...  U U U    4   4   2
848
 
tst        8  .     pcdi  0100101000111010  ..........  . . U    .   .   7
849
 
tst        8  .     pcix  0100101000111011  ..........  . . U    .   .   9
850
 
tst        8  .     i     0100101000111100  ..........  . . U    .   .   6
851
 
tst       16  .     d     0100101001000...  ..........  U U U    4   4   2
852
 
tst       16  .     a     0100101001001...  ..........  . . U    .   .   2
853
 
tst       16  .     .     0100101001......  A+-DXWL...  U U U    4   4   2
854
 
tst       16  .     pcdi  0100101001111010  ..........  . . U    .   .   7
855
 
tst       16  .     pcix  0100101001111011  ..........  . . U    .   .   9
856
 
tst       16  .     i     0100101001111100  ..........  . . U    .   .   6
857
 
tst       32  .     d     0100101010000...  ..........  U U U    4   4   2
858
 
tst       32  .     a     0100101010001...  ..........  . . U    .   .   2
859
 
tst       32  .     .     0100101010......  A+-DXWL...  U U U    4   4   2
860
 
tst       32  .     pcdi  0100101010111010  ..........  . . U    .   .   7
861
 
tst       32  .     pcix  0100101010111011  ..........  . . U    .   .   9
862
 
tst       32  .     i     0100101010111100  ..........  . . U    .   .   6
863
 
unlk      32  .     a7    0100111001011111  ..........  U U U   12  12   6
864
 
unlk      32  .     .     0100111001011...  ..........  U U U   12  12   6
865
 
unpk      16  rr    .     1000...110000...  ..........  . . U    .   .   8
866
 
unpk      16  mm    ax7   1000111110001...  ..........  . . U    .   .  13
867
 
unpk      16  mm    ay7   1000...110001111  ..........  . . U    .   .  13
868
 
unpk      16  mm    axy7  1000111110001111  ..........  . . U    .   .  13
869
 
unpk      16  mm    .     1000...110001...  ..........  . . U    .   .  13
 
357
1010       0  .     .     1010............  ..........  U U U U   4   4   4   4
 
358
1111       0  .     .     1111............  ..........  U U U U   4   4   4   4
 
359
040fpu0   32  .     .     11110010........  ..........  . . . U   .   .   .   0
 
360
040fpu1   32  .     .     11110011........  ..........  . . . U   .   .   .   0
 
361
abcd       8  rr    .     1100...100000...  ..........  U U U U   6   6   4   4
 
362
abcd       8  mm    ax7   1100111100001...  ..........  U U U U  18  18  16  16
 
363
abcd       8  mm    ay7   1100...100001111  ..........  U U U U  18  18  16  16
 
364
abcd       8  mm    axy7  1100111100001111  ..........  U U U U  18  18  16  16
 
365
abcd       8  mm    .     1100...100001...  ..........  U U U U  18  18  16  16
 
366
add        8  er    d     1101...000000...  ..........  U U U U   4   4   2   2
 
367
add        8  er    .     1101...000......  A+-DXWLdxI  U U U U   4   4   2   2
 
368
add       16  er    d     1101...001000...  ..........  U U U U   4   4   2   2
 
369
add       16  er    a     1101...001001...  ..........  U U U U   4   4   2   2
 
370
add       16  er    .     1101...001......  A+-DXWLdxI  U U U U   4   4   2   2
 
371
add       32  er    d     1101...010000...  ..........  U U U U   6   6   2   2
 
372
add       32  er    a     1101...010001...  ..........  U U U U   6   6   2   2
 
373
add       32  er    .     1101...010......  A+-DXWLdxI  U U U U   6   6   2   2
 
374
add        8  re    .     1101...100......  A+-DXWL...  U U U U   8   8   4   4
 
375
add       16  re    .     1101...101......  A+-DXWL...  U U U U   8   8   4   4
 
376
add       32  re    .     1101...110......  A+-DXWL...  U U U U  12  12   4   4
 
377
adda      16  .     d     1101...011000...  ..........  U U U U   8   8   2   2
 
378
adda      16  .     a     1101...011001...  ..........  U U U U   8   8   2   2
 
379
adda      16  .     .     1101...011......  A+-DXWLdxI  U U U U   8   8   2   2
 
380
adda      32  .     d     1101...111000...  ..........  U U U U   6   6   2   2
 
381
adda      32  .     a     1101...111001...  ..........  U U U U   6   6   2   2
 
382
adda      32  .     .     1101...111......  A+-DXWLdxI  U U U U   6   6   2   2
 
383
addi       8  .     d     0000011000000...  ..........  U U U U   8   8   2   2
 
384
addi       8  .     .     0000011000......  A+-DXWL...  U U U U  12  12   4   4
 
385
addi      16  .     d     0000011001000...  ..........  U U U U   8   8   2   2
 
386
addi      16  .     .     0000011001......  A+-DXWL...  U U U U  12  12   4   4
 
387
addi      32  .     d     0000011010000...  ..........  U U U U  16  14   2   2
 
388
addi      32  .     .     0000011010......  A+-DXWL...  U U U U  20  20   4   4
 
389
addq       8  .     d     0101...000000...  ..........  U U U U   4   4   2   2
 
390
addq       8  .     .     0101...000......  A+-DXWL...  U U U U   8   8   4   4
 
391
addq      16  .     d     0101...001000...  ..........  U U U U   4   4   2   2
 
392
addq      16  .     a     0101...001001...  ..........  U U U U   4   4   2   2
 
393
addq      16  .     .     0101...001......  A+-DXWL...  U U U U   8   8   4   4
 
394
addq      32  .     d     0101...010000...  ..........  U U U U   8   8   2   2
 
395
addq      32  .     a     0101...010001...  ..........  U U U U   8   8   2   2
 
396
addq      32  .     .     0101...010......  A+-DXWL...  U U U U  12  12   4   4
 
397
addx       8  rr    .     1101...100000...  ..........  U U U U   4   4   2   2
 
398
addx      16  rr    .     1101...101000...  ..........  U U U U   4   4   2   2
 
399
addx      32  rr    .     1101...110000...  ..........  U U U U   8   6   2   2
 
400
addx       8  mm    ax7   1101111100001...  ..........  U U U U  18  18  12  12
 
401
addx       8  mm    ay7   1101...100001111  ..........  U U U U  18  18  12  12
 
402
addx       8  mm    axy7  1101111100001111  ..........  U U U U  18  18  12  12
 
403
addx       8  mm    .     1101...100001...  ..........  U U U U  18  18  12  12
 
404
addx      16  mm    .     1101...101001...  ..........  U U U U  18  18  12  12
 
405
addx      32  mm    .     1101...110001...  ..........  U U U U  30  30  12  12
 
406
and        8  er    d     1100...000000...  ..........  U U U U   4   4   2   2
 
407
and        8  er    .     1100...000......  A+-DXWLdxI  U U U U   4   4   2   2
 
408
and       16  er    d     1100...001000...  ..........  U U U U   4   4   2   2
 
409
and       16  er    .     1100...001......  A+-DXWLdxI  U U U U   4   4   2   2
 
410
and       32  er    d     1100...010000...  ..........  U U U U   6   6   2   2
 
411
and       32  er    .     1100...010......  A+-DXWLdxI  U U U U   6   6   2   2
 
412
and        8  re    .     1100...100......  A+-DXWL...  U U U U   8   8   4   4
 
413
and       16  re    .     1100...101......  A+-DXWL...  U U U U   8   8   4   4
 
414
and       32  re    .     1100...110......  A+-DXWL...  U U U U  12  12   4   4
 
415
andi      16  toc   .     0000001000111100  ..........  U U U U  20  16  12  12
 
416
andi      16  tos   .     0000001001111100  ..........  S S S S  20  16  12  12
 
417
andi       8  .     d     0000001000000...  ..........  U U U U   8   8   2   2
 
418
andi       8  .     .     0000001000......  A+-DXWL...  U U U U  12  12   4   4
 
419
andi      16  .     d     0000001001000...  ..........  U U U U   8   8   2   2
 
420
andi      16  .     .     0000001001......  A+-DXWL...  U U U U  12  12   4   4
 
421
andi      32  .     d     0000001010000...  ..........  U U U U  14  14   2   2
 
422
andi      32  .     .     0000001010......  A+-DXWL...  U U U U  20  20   4   4
 
423
asr        8  s     .     1110...000000...  ..........  U U U U   6   6   6   6
 
424
asr       16  s     .     1110...001000...  ..........  U U U U   6   6   6   6
 
425
asr       32  s     .     1110...010000...  ..........  U U U U   8   8   6   6
 
426
asr        8  r     .     1110...000100...  ..........  U U U U   6   6   6   6
 
427
asr       16  r     .     1110...001100...  ..........  U U U U   6   6   6   6
 
428
asr       32  r     .     1110...010100...  ..........  U U U U   8   8   6   6
 
429
asr       16  .     .     1110000011......  A+-DXWL...  U U U U   8   8   5   5
 
430
asl        8  s     .     1110...100000...  ..........  U U U U   6   6   8   8
 
431
asl       16  s     .     1110...101000...  ..........  U U U U   6   6   8   8
 
432
asl       32  s     .     1110...110000...  ..........  U U U U   8   8   8   8
 
433
asl        8  r     .     1110...100100...  ..........  U U U U   6   6   8   8
 
434
asl       16  r     .     1110...101100...  ..........  U U U U   6   6   8   8
 
435
asl       32  r     .     1110...110100...  ..........  U U U U   8   8   8   8
 
436
asl       16  .     .     1110000111......  A+-DXWL...  U U U U   8   8   6   6
 
437
bcc        8  .     .     0110............  ..........  U U U U  10  10   6   6
 
438
bcc       16  .     .     0110....00000000  ..........  U U U U  10  10   6   6
 
439
bcc       32  .     .     0110....11111111  ..........  U U U U  10  10   6   6
 
440
bchg       8  r     .     0000...101......  A+-DXWL...  U U U U   8   8   4   4
 
441
bchg      32  r     d     0000...101000...  ..........  U U U U   8   8   4   4
 
442
bchg       8  s     .     0000100001......  A+-DXWL...  U U U U  12  12   4   4
 
443
bchg      32  s     d     0000100001000...  ..........  U U U U  12  12   4   4
 
444
bclr       8  r     .     0000...110......  A+-DXWL...  U U U U   8  10   4   4
 
445
bclr      32  r     d     0000...110000...  ..........  U U U U  10  10   4   4
 
446
bclr       8  s     .     0000100010......  A+-DXWL...  U U U U  12  12   4   4
 
447
bclr      32  s     d     0000100010000...  ..........  U U U U  14  14   4   4
 
448
bfchg     32  .     d     1110101011000...  ..........  . . U U   .   .  12  12  timing not quite correct
 
449
bfchg     32  .     .     1110101011......  A..DXWL...  . . U U   .   .  20  20
 
450
bfclr     32  .     d     1110110011000...  ..........  . . U U   .   .  12  12
 
451
bfclr     32  .     .     1110110011......  A..DXWL...  . . U U   .   .  20  20
 
452
bfexts    32  .     d     1110101111000...  ..........  . . U U   .   .   8   8
 
453
bfexts    32  .     .     1110101111......  A..DXWLdx.  . . U U   .   .  15  15
 
454
bfextu    32  .     d     1110100111000...  ..........  . . U U   .   .   8   8
 
455
bfextu    32  .     .     1110100111......  A..DXWLdx.  . . U U   .   .  15  15
 
456
bfffo     32  .     d     1110110111000...  ..........  . . U U   .   .  18  18
 
457
bfffo     32  .     .     1110110111......  A..DXWLdx.  . . U U   .   .  28  28
 
458
bfins     32  .     d     1110111111000...  ..........  . . U U   .   .  10  10
 
459
bfins     32  .     .     1110111111......  A..DXWL...  . . U U   .   .  17  17
 
460
bfset     32  .     d     1110111011000...  ..........  . . U U   .   .  12  12
 
461
bfset     32  .     .     1110111011......  A..DXWL...  . . U U   .   .  20  20
 
462
bftst     32  .     d     1110100011000...  ..........  . . U U   .   .   6   6
 
463
bftst     32  .     .     1110100011......  A..DXWLdx.  . . U U   .   .  13  13
 
464
bkpt       0  .     .     0100100001001...  ..........  . U U U   .  10  10  10
 
465
bra        8  .     .     01100000........  ..........  U U U U  10  10  10  10
 
466
bra       16  .     .     0110000000000000  ..........  U U U U  10  10  10  10
 
467
bra       32  .     .     0110000011111111  ..........  U U U U  10  10  10  10
 
468
bset      32  r     d     0000...111000...  ..........  U U U U   8   8   4   4
 
469
bset       8  r     .     0000...111......  A+-DXWL...  U U U U   8   8   4   4
 
470
bset       8  s     .     0000100011......  A+-DXWL...  U U U U  12  12   4   4
 
471
bset      32  s     d     0000100011000...  ..........  U U U U  12  12   4   4
 
472
bsr        8  .     .     01100001........  ..........  U U U U  18  18   7   7
 
473
bsr       16  .     .     0110000100000000  ..........  U U U U  18  18   7   7
 
474
bsr       32  .     .     0110000111111111  ..........  U U U U  18  18   7   7
 
475
btst       8  r     .     0000...100......  A+-DXWLdxI  U U U U   4   4   4   4
 
476
btst      32  r     d     0000...100000...  ..........  U U U U   6   6   4   4
 
477
btst       8  s     .     0000100000......  A+-DXWLdx.  U U U U   8   8   4   4
 
478
btst      32  s     d     0000100000000...  ..........  U U U U  10  10   4   4
 
479
callm     32  .     .     0000011011......  A..DXWLdx.  . . U U   .   .  60  60  not properly emulated
 
480
cas        8  .     .     0000101011......  A+-DXWL...  . . U U   .   .  12  12
 
481
cas       16  .     .     0000110011......  A+-DXWL...  . . U U   .   .  12  12
 
482
cas       32  .     .     0000111011......  A+-DXWL...  . . U U   .   .  12  12
 
483
cas2      16  .     .     0000110011111100  ..........  . . U U   .   .  12  12
 
484
cas2      32  .     .     0000111011111100  ..........  . . U U   .   .  12  12
 
485
chk       16  .     d     0100...110000...  ..........  U U U U  10   8   8   8
 
486
chk       16  .     .     0100...110......  A+-DXWLdxI  U U U U  10   8   8   8
 
487
chk       32  .     d     0100...100000...  ..........  . . U U   .   .   8   8
 
488
chk       32  .     .     0100...100......  A+-DXWLdxI  . . U U   .   .   8   8
 
489
chk2cmp2   8  .     pcdi  0000000011111010  ..........  . . U U   .   .  23  23
 
490
chk2cmp2   8  .     pcix  0000000011111011  ..........  . . U U   .   .  23  23
 
491
chk2cmp2   8  .     .     0000000011......  A..DXWL...  . . U U   .   .  18  18
 
492
chk2cmp2  16  .     pcdi  0000001011111010  ..........  . . U U   .   .  23  23
 
493
chk2cmp2  16  .     pcix  0000001011111011  ..........  . . U U   .   .  23  23
 
494
chk2cmp2  16  .     .     0000001011......  A..DXWL...  . . U U   .   .  18  18
 
495
chk2cmp2  32  .     pcdi  0000010011111010  ..........  . . U U   .   .  23  23
 
496
chk2cmp2  32  .     pcix  0000010011111011  ..........  . . U U   .   .  23  23
 
497
chk2cmp2  32  .     .     0000010011......  A..DXWL...  . . U U   .   .  18  18
 
498
clr        8  .     d     0100001000000...  ..........  U U U U   4   4   2   2
 
499
clr        8  .     .     0100001000......  A+-DXWL...  U U U U   8   4   4   4
 
500
clr       16  .     d     0100001001000...  ..........  U U U U   4   4   2   2
 
501
clr       16  .     .     0100001001......  A+-DXWL...  U U U U   8   4   4   4
 
502
clr       32  .     d     0100001010000...  ..........  U U U U   6   6   2   2
 
503
clr       32  .     .     0100001010......  A+-DXWL...  U U U U  12   6   4   4
 
504
cmp        8  .     d     1011...000000...  ..........  U U U U   4   4   2   2
 
505
cmp        8  .     .     1011...000......  A+-DXWLdxI  U U U U   4   4   2   2
 
506
cmp       16  .     d     1011...001000...  ..........  U U U U   4   4   2   2
 
507
cmp       16  .     a     1011...001001...  ..........  U U U U   4   4   2   2
 
508
cmp       16  .     .     1011...001......  A+-DXWLdxI  U U U U   4   4   2   2
 
509
cmp       32  .     d     1011...010000...  ..........  U U U U   6   6   2   2
 
510
cmp       32  .     a     1011...010001...  ..........  U U U U   6   6   2   2
 
511
cmp       32  .     .     1011...010......  A+-DXWLdxI  U U U U   6   6   2   2
 
512
cmpa      16  .     d     1011...011000...  ..........  U U U U   6   6   4   4
 
513
cmpa      16  .     a     1011...011001...  ..........  U U U U   6   6   4   4
 
514
cmpa      16  .     .     1011...011......  A+-DXWLdxI  U U U U   6   6   4   4
 
515
cmpa      32  .     d     1011...111000...  ..........  U U U U   6   6   4   4
 
516
cmpa      32  .     a     1011...111001...  ..........  U U U U   6   6   4   4
 
517
cmpa      32  .     .     1011...111......  A+-DXWLdxI  U U U U   6   6   4   4
 
518
cmpi       8  .     d     0000110000000...  ..........  U U U U   8   8   2   2
 
519
cmpi       8  .     .     0000110000......  A+-DXWL...  U U U U   8   8   2   2
 
520
cmpi       8  .     pcdi  0000110000111010  ..........  . . U U   .   .   7   7
 
521
cmpi       8  .     pcix  0000110000111011  ..........  . . U U   .   .   9   9
 
522
cmpi      16  .     d     0000110001000...  ..........  U U U U   8   8   2   2
 
523
cmpi      16  .     .     0000110001......  A+-DXWL...  U U U U   8   8   2   2
 
524
cmpi      16  .     pcdi  0000110001111010  ..........  . . U U   .   .   7   7
 
525
cmpi      16  .     pcix  0000110001111011  ..........  . . U U   .   .   9   9
 
526
cmpi      32  .     d     0000110010000...  ..........  U U U U  14  12   2   2
 
527
cmpi      32  .     .     0000110010......  A+-DXWL...  U U U U  12  12   2   2
 
528
cmpi      32  .     pcdi  0000110010111010  ..........  . . U U   .   .   7   7
 
529
cmpi      32  .     pcix  0000110010111011  ..........  . . U U   .   .   9   9
 
530
cmpm       8  .     ax7   1011111100001...  ..........  U U U U  12  12   9   9
 
531
cmpm       8  .     ay7   1011...100001111  ..........  U U U U  12  12   9   9
 
532
cmpm       8  .     axy7  1011111100001111  ..........  U U U U  12  12   9   9
 
533
cmpm       8  .     .     1011...100001...  ..........  U U U U  12  12   9   9
 
534
cmpm      16  .     .     1011...101001...  ..........  U U U U  12  12   9   9
 
535
cmpm      32  .     .     1011...110001...  ..........  U U U U  20  20   9   9
 
536
cpbcc     32  .     .     1111...01.......  ..........  . . U .   .   .   4   .  unemulated
 
537
cpdbcc    32  .     .     1111...001001...  ..........  . . U .   .   .   4   .  unemulated
 
538
cpgen     32  .     .     1111...000......  ..........  . . U .   .   .   4   .  unemulated
 
539
cpscc     32  .     .     1111...001......  ..........  . . U .   .   .   4   .  unemulated
 
540
cptrapcc  32  .     .     1111...001111...  ..........  . . U .   .   .   4   .  unemulated
 
541
dbt       16  .     .     0101000011001...  ..........  U U U U  12  12   6   6
 
542
dbf       16  .     .     0101000111001...  ..........  U U U U  12  12   6   6
 
543
dbcc      16  .     .     0101....11001...  ..........  U U U U  12  12   6   6
 
544
divs      16  .     d     1000...111000...  ..........  U U U U 158 122  56  56
 
545
divs      16  .     .     1000...111......  A+-DXWLdxI  U U U U 158 122  56  56
 
546
divu      16  .     d     1000...011000...  ..........  U U U U 140 108  44  44
 
547
divu      16  .     .     1000...011......  A+-DXWLdxI  U U U U 140 108  44  44
 
548
divl      32  .     d     0100110001000...  ..........  . . U U   .   .  84  84
 
549
divl      32  .     .     0100110001......  A+-DXWLdxI  . . U U   .   .  84  84
 
550
eor        8  .     d     1011...100000...  ..........  U U U U   4   4   2   2
 
551
eor        8  .     .     1011...100......  A+-DXWL...  U U U U   8   8   4   4
 
552
eor       16  .     d     1011...101000...  ..........  U U U U   4   4   2   2
 
553
eor       16  .     .     1011...101......  A+-DXWL...  U U U U   8   8   4   4
 
554
eor       32  .     d     1011...110000...  ..........  U U U U   8   6   2   2
 
555
eor       32  .     .     1011...110......  A+-DXWL...  U U U U  12  12   4   4
 
556
eori      16  toc   .     0000101000111100  ..........  U U U U  20  16  12  12
 
557
eori      16  tos   .     0000101001111100  ..........  S S S S  20  16  12  12
 
558
eori       8  .     d     0000101000000...  ..........  U U U U   8   8   2   2
 
559
eori       8  .     .     0000101000......  A+-DXWL...  U U U U  12  12   4   4
 
560
eori      16  .     d     0000101001000...  ..........  U U U U   8   8   2   2
 
561
eori      16  .     .     0000101001......  A+-DXWL...  U U U U  12  12   4   4
 
562
eori      32  .     d     0000101010000...  ..........  U U U U  16  14   2   2
 
563
eori      32  .     .     0000101010......  A+-DXWL...  U U U U  20  20   4   4
 
564
exg       32  dd    .     1100...101000...  ..........  U U U U   6   6   2   2
 
565
exg       32  aa    .     1100...101001...  ..........  U U U U   6   6   2   2
 
566
exg       32  da    .     1100...110001...  ..........  U U U U   6   6   2   2
 
567
ext       16  .     .     0100100010000...  ..........  U U U U   4   4   4   4
 
568
ext       32  .     .     0100100011000...  ..........  U U U U   4   4   4   4
 
569
extb      32  .     .     0100100111000...  ..........  . . U U   .   .   4   4
 
570
illegal    0  .     .     0100101011111100  ..........  U U U U   4   4   4   4
 
571
jmp       32  .     .     0100111011......  A..DXWLdx.  U U U U   4   4   0   0
 
572
jsr       32  .     .     0100111010......  A..DXWLdx.  U U U U  12  12   0   0
 
573
lea       32  .     .     0100...111......  A..DXWLdx.  U U U U   0   0   2   2
 
574
link      16  .     a7    0100111001010111  ..........  U U U U  16  16   5   5
 
575
link      16  .     .     0100111001010...  ..........  U U U U  16  16   5   5
 
576
link      32  .     a7    0100100000001111  ..........  . . U U   .   .   6   6
 
577
link      32  .     .     0100100000001...  ..........  . . U U   .   .   6   6
 
578
lsr        8  s     .     1110...000001...  ..........  U U U U   6   6   4   4
 
579
lsr       16  s     .     1110...001001...  ..........  U U U U   6   6   4   4
 
580
lsr       32  s     .     1110...010001...  ..........  U U U U   8   8   4   4
 
581
lsr        8  r     .     1110...000101...  ..........  U U U U   6   6   6   6
 
582
lsr       16  r     .     1110...001101...  ..........  U U U U   6   6   6   6
 
583
lsr       32  r     .     1110...010101...  ..........  U U U U   8   8   6   6
 
584
lsr       16  .     .     1110001011......  A+-DXWL...  U U U U   8   8   5   5
 
585
lsl        8  s     .     1110...100001...  ..........  U U U U   6   6   4   4
 
586
lsl       16  s     .     1110...101001...  ..........  U U U U   6   6   4   4
 
587
lsl       32  s     .     1110...110001...  ..........  U U U U   8   8   4   4
 
588
lsl        8  r     .     1110...100101...  ..........  U U U U   6   6   6   6
 
589
lsl       16  r     .     1110...101101...  ..........  U U U U   6   6   6   6
 
590
lsl       32  r     .     1110...110101...  ..........  U U U U   8   8   6   6
 
591
lsl       16  .     .     1110001111......  A+-DXWL...  U U U U   8   8   5   5
 
592
move       8  d     d     0001...000000...  ..........  U U U U   4   4   2   2
 
593
move       8  d     .     0001...000......  A+-DXWLdxI  U U U U   4   4   2   2
 
594
move       8  ai    d     0001...010000...  ..........  U U U U   8   8   4   4
 
595
move       8  ai    .     0001...010......  A+-DXWLdxI  U U U U   8   8   4   4
 
596
move       8  pi    d     0001...011000...  ..........  U U U U   8   8   4   4
 
597
move       8  pi    .     0001...011......  A+-DXWLdxI  U U U U   8   8   4   4
 
598
move       8  pi7   d     0001111011000...  ..........  U U U U   8   8   4   4
 
599
move       8  pi7   .     0001111011......  A+-DXWLdxI  U U U U   8   8   4   4
 
600
move       8  pd    d     0001...100000...  ..........  U U U U   8   8   5   5
 
601
move       8  pd    .     0001...100......  A+-DXWLdxI  U U U U   8   8   5   5
 
602
move       8  pd7   d     0001111100000...  ..........  U U U U   8   8   5   5
 
603
move       8  pd7   .     0001111100......  A+-DXWLdxI  U U U U   8   8   5   5
 
604
move       8  di    d     0001...101000...  ..........  U U U U  12  12   5   5
 
605
move       8  di    .     0001...101......  A+-DXWLdxI  U U U U  12  12   5   5
 
606
move       8  ix    d     0001...110000...  ..........  U U U U  14  14   7   7
 
607
move       8  ix    .     0001...110......  A+-DXWLdxI  U U U U  14  14   7   7
 
608
move       8  aw    d     0001000111000...  ..........  U U U U  12  12   4   4
 
609
move       8  aw    .     0001000111......  A+-DXWLdxI  U U U U  12  12   4   4
 
610
move       8  al    d     0001001111000...  ..........  U U U U  16  16   6   6
 
611
move       8  al    .     0001001111......  A+-DXWLdxI  U U U U  16  16   6   6
 
612
move      16  d     d     0011...000000...  ..........  U U U U   4   4   2   2
 
613
move      16  d     a     0011...000001...  ..........  U U U U   4   4   2   2
 
614
move      16  d     .     0011...000......  A+-DXWLdxI  U U U U   4   4   2   2
 
615
move      16  ai    d     0011...010000...  ..........  U U U U   8   8   4   4
 
616
move      16  ai    a     0011...010001...  ..........  U U U U   8   8   4   4
 
617
move      16  ai    .     0011...010......  A+-DXWLdxI  U U U U   8   8   4   4
 
618
move      16  pi    d     0011...011000...  ..........  U U U U   8   8   4   4
 
619
move      16  pi    a     0011...011001...  ..........  U U U U   8   8   4   4
 
620
move      16  pi    .     0011...011......  A+-DXWLdxI  U U U U   8   8   4   4
 
621
move      16  pd    d     0011...100000...  ..........  U U U U   8   8   5   5
 
622
move      16  pd    a     0011...100001...  ..........  U U U U   8   8   5   5
 
623
move      16  pd    .     0011...100......  A+-DXWLdxI  U U U U   8   8   5   5
 
624
move      16  di    d     0011...101000...  ..........  U U U U  12  12   5   5
 
625
move      16  di    a     0011...101001...  ..........  U U U U  12  12   5   5
 
626
move      16  di    .     0011...101......  A+-DXWLdxI  U U U U  12  12   5   5
 
627
move      16  ix    d     0011...110000...  ..........  U U U U  14  14   7   7
 
628
move      16  ix    a     0011...110001...  ..........  U U U U  14  14   7   7
 
629
move      16  ix    .     0011...110......  A+-DXWLdxI  U U U U  14  14   7   7
 
630
move      16  aw    d     0011000111000...  ..........  U U U U  12  12   4   4
 
631
move      16  aw    a     0011000111001...  ..........  U U U U  12  12   4   4
 
632
move      16  aw    .     0011000111......  A+-DXWLdxI  U U U U  12  12   4   4
 
633
move      16  al    d     0011001111000...  ..........  U U U U  16  16   6   6
 
634
move      16  al    a     0011001111001...  ..........  U U U U  16  16   6   6
 
635
move      16  al    .     0011001111......  A+-DXWLdxI  U U U U  16  16   6   6
 
636
move      32  d     d     0010...000000...  ..........  U U U U   4   4   2   2
 
637
move      32  d     a     0010...000001...  ..........  U U U U   4   4   2   2
 
638
move      32  d     .     0010...000......  A+-DXWLdxI  U U U U   4   4   2   2
 
639
move      32  ai    d     0010...010000...  ..........  U U U U  12  12   4   4
 
640
move      32  ai    a     0010...010001...  ..........  U U U U  12  12   4   4
 
641
move      32  ai    .     0010...010......  A+-DXWLdxI  U U U U  12  12   4   4
 
642
move      32  pi    d     0010...011000...  ..........  U U U U  12  12   4   4
 
643
move      32  pi    a     0010...011001...  ..........  U U U U  12  12   4   4
 
644
move      32  pi    .     0010...011......  A+-DXWLdxI  U U U U  12  12   4   4
 
645
move      32  pd    d     0010...100000...  ..........  U U U U  12  14   5   5
 
646
move      32  pd    a     0010...100001...  ..........  U U U U  12  14   5   5
 
647
move      32  pd    .     0010...100......  A+-DXWLdxI  U U U U  12  14   5   5
 
648
move      32  di    d     0010...101000...  ..........  U U U U  16  16   5   5
 
649
move      32  di    a     0010...101001...  ..........  U U U U  16  16   5   5
 
650
move      32  di    .     0010...101......  A+-DXWLdxI  U U U U  16  16   5   5
 
651
move      32  ix    d     0010...110000...  ..........  U U U U  18  18   7   7
 
652
move      32  ix    a     0010...110001...  ..........  U U U U  18  18   7   7
 
653
move      32  ix    .     0010...110......  A+-DXWLdxI  U U U U  18  18   7   7
 
654
move      32  aw    d     0010000111000...  ..........  U U U U  16  16   4   4
 
655
move      32  aw    a     0010000111001...  ..........  U U U U  16  16   4   4
 
656
move      32  aw    .     0010000111......  A+-DXWLdxI  U U U U  16  16   4   4
 
657
move      32  al    d     0010001111000...  ..........  U U U U  20  20   6   6
 
658
move      32  al    a     0010001111001...  ..........  U U U U  20  20   6   6
 
659
move      32  al    .     0010001111......  A+-DXWLdxI  U U U U  20  20   6   6
 
660
movea     16  .     d     0011...001000...  ..........  U U U U   4   4   2   2
 
661
movea     16  .     a     0011...001001...  ..........  U U U U   4   4   2   2
 
662
movea     16  .     .     0011...001......  A+-DXWLdxI  U U U U   4   4   2   2
 
663
movea     32  .     d     0010...001000...  ..........  U U U U   4   4   2   2
 
664
movea     32  .     a     0010...001001...  ..........  U U U U   4   4   2   2
 
665
movea     32  .     .     0010...001......  A+-DXWLdxI  U U U U   4   4   2   2
 
666
move      16  frc   d     0100001011000...  ..........  . U U U   .   4   4   4
 
667
move      16  frc   .     0100001011......  A+-DXWL...  . U U U   .   8   4   4
 
668
move      16  toc   d     0100010011000...  ..........  U U U U  12  12   4   4
 
669
move      16  toc   .     0100010011......  A+-DXWLdxI  U U U U  12  12   4   4
 
670
move      16  frs   d     0100000011000...  ..........  U S S S   6   4   8   8  U only for 000
 
671
move      16  frs   .     0100000011......  A+-DXWL...  U S S S   8   8   8   8  U only for 000
 
672
move      16  tos   d     0100011011000...  ..........  S S S S  12  12   8   8
 
673
move      16  tos   .     0100011011......  A+-DXWLdxI  S S S S  12  12   8   8
 
674
move      32  fru   .     0100111001101...  ..........  S S S S   4   6   2   2
 
675
move      32  tou   .     0100111001100...  ..........  S S S S   4   6   2   2
 
676
movec     32  cr    .     0100111001111010  ..........  . S S S   .  12   6   6
 
677
movec     32  rc    .     0100111001111011  ..........  . S S S   .  10  12  12
 
678
movem     16  re    pd    0100100010100...  ..........  U U U U   8   8   4   4
 
679
movem     16  re    .     0100100010......  A..DXWL...  U U U U   8   8   4   4
 
680
movem     32  re    pd    0100100011100...  ..........  U U U U   8   8   4   4
 
681
movem     32  re    .     0100100011......  A..DXWL...  U U U U   8   8   4   4
 
682
movem     16  er    pi    0100110010011...  ..........  U U U U  12  12   8   8
 
683
movem     16  er    pcdi  0100110010111010  ..........  U U U U  16  16   9   9
 
684
movem     16  er    pcix  0100110010111011  ..........  U U U U  18  18  11  11
 
685
movem     16  er    .     0100110010......  A..DXWL...  U U U U  12  12   8   8
 
686
movem     32  er    pi    0100110011011...  ..........  U U U U  12  12   8   8
 
687
movem     32  er    pcdi  0100110011111010  ..........  U U U U  16  16   9   9
 
688
movem     32  er    pcix  0100110011111011  ..........  U U U U  18  18  11  11
 
689
movem     32  er    .     0100110011......  A..DXWL...  U U U U  12  12   8   8
 
690
movep     16  er    .     0000...100001...  ..........  U U U U  16  16  12  12
 
691
movep     32  er    .     0000...101001...  ..........  U U U U  24  24  18  18
 
692
movep     16  re    .     0000...110001...  ..........  U U U U  16  16  11  11
 
693
movep     32  re    .     0000...111001...  ..........  U U U U  24  24  17  17
 
694
moveq     32  .     .     0111...0........  ..........  U U U U   4   4   2   2
 
695
moves      8  .     .     0000111000......  A+-DXWL...  . S S S   .  14   5   5
 
696
moves     16  .     .     0000111001......  A+-DXWL...  . S S S   .  14   5   5
 
697
moves     32  .     .     0000111010......  A+-DXWL...  . S S S   .  16   5   5
 
698
move16    32  .     .     1111011000100...  ..........  . . . U   .   .   .   4  TODO: correct timing
 
699
muls      16  .     d     1100...111000...  ..........  U U U U  54  32  27  27
 
700
muls      16  .     .     1100...111......  A+-DXWLdxI  U U U U  54  32  27  27
 
701
mulu      16  .     d     1100...011000...  ..........  U U U U  54  30  27  27
 
702
mulu      16  .     .     1100...011......  A+-DXWLdxI  U U U U  54  30  27  27
 
703
mull      32  .     d     0100110000000...  ..........  . . U U   .   .  43  43
 
704
mull      32  .     .     0100110000......  A+-DXWLdxI  . . U U   .   .  43  43
 
705
nbcd       8  .     d     0100100000000...  ..........  U U U U   6   6   6   6
 
706
nbcd       8  .     .     0100100000......  A+-DXWL...  U U U U   8   8   6   6
 
707
neg        8  .     d     0100010000000...  ..........  U U U U   4   4   2   2
 
708
neg        8  .     .     0100010000......  A+-DXWL...  U U U U   8   8   4   4
 
709
neg       16  .     d     0100010001000...  ..........  U U U U   4   4   2   2
 
710
neg       16  .     .     0100010001......  A+-DXWL...  U U U U   8   8   4   4
 
711
neg       32  .     d     0100010010000...  ..........  U U U U   6   6   2   2
 
712
neg       32  .     .     0100010010......  A+-DXWL...  U U U U  12  12   4   4
 
713
negx       8  .     d     0100000000000...  ..........  U U U U   4   4   2   2
 
714
negx       8  .     .     0100000000......  A+-DXWL...  U U U U   8   8   4   4
 
715
negx      16  .     d     0100000001000...  ..........  U U U U   4   4   2   2
 
716
negx      16  .     .     0100000001......  A+-DXWL...  U U U U   8   8   4   4
 
717
negx      32  .     d     0100000010000...  ..........  U U U U   6   6   2   2
 
718
negx      32  .     .     0100000010......  A+-DXWL...  U U U U  12  12   4   4
 
719
nop        0  .     .     0100111001110001  ..........  U U U U   4   4   2   2
 
720
not        8  .     d     0100011000000...  ..........  U U U U   4   4   2   2
 
721
not        8  .     .     0100011000......  A+-DXWL...  U U U U   8   8   4   4
 
722
not       16  .     d     0100011001000...  ..........  U U U U   4   4   2   2
 
723
not       16  .     .     0100011001......  A+-DXWL...  U U U U   8   8   4   4
 
724
not       32  .     d     0100011010000...  ..........  U U U U   6   6   2   2
 
725
not       32  .     .     0100011010......  A+-DXWL...  U U U U  12  12   4   4
 
726
or         8  er    d     1000...000000...  ..........  U U U U   4   4   2   2
 
727
or         8  er    .     1000...000......  A+-DXWLdxI  U U U U   4   4   2   2
 
728
or        16  er    d     1000...001000...  ..........  U U U U   4   4   2   2
 
729
or        16  er    .     1000...001......  A+-DXWLdxI  U U U U   4   4   2   2
 
730
or        32  er    d     1000...010000...  ..........  U U U U   6   6   2   2
 
731
or        32  er    .     1000...010......  A+-DXWLdxI  U U U U   6   6   2   2
 
732
or         8  re    .     1000...100......  A+-DXWL...  U U U U   8   8   4   4
 
733
or        16  re    .     1000...101......  A+-DXWL...  U U U U   8   8   4   4
 
734
or        32  re    .     1000...110......  A+-DXWL...  U U U U  12  12   4   4
 
735
ori       16  toc   .     0000000000111100  ..........  U U U U  20  16  12  12
 
736
ori       16  tos   .     0000000001111100  ..........  S S S S  20  16  12  12
 
737
ori        8  .     d     0000000000000...  ..........  U U U U   8   8   2   2
 
738
ori        8  .     .     0000000000......  A+-DXWL...  U U U U  12  12   4   4
 
739
ori       16  .     d     0000000001000...  ..........  U U U U   8   8   2   2
 
740
ori       16  .     .     0000000001......  A+-DXWL...  U U U U  12  12   4   4
 
741
ori       32  .     d     0000000010000...  ..........  U U U U  16  14   2   2
 
742
ori       32  .     .     0000000010......  A+-DXWL...  U U U U  20  20   4   4
 
743
pack      16  rr    .     1000...101000...  ..........  . . U U   .   .   6   6
 
744
pack      16  mm    ax7   1000111101001...  ..........  . . U U   .   .  13  13
 
745
pack      16  mm    ay7   1000...101001111  ..........  . . U U   .   .  13  13
 
746
pack      16  mm    axy7  1000111101001111  ..........  . . U U   .   .  13  13
 
747
pack      16  mm    .     1000...101001...  ..........  . . U U   .   .  13  13
 
748
pea       32  .     .     0100100001......  A..DXWLdx.  U U U U   6   6   5   5
 
749
pflush    32  .     .     1111010100011000  ..........  . . . S   .   .   .   4   TODO: correct timing
 
750
reset      0  .     .     0100111001110000  ..........  S S S S   0   0   0   0
 
751
ror        8  s     .     1110...000011...  ..........  U U U U   6   6   8   8
 
752
ror       16  s     .     1110...001011...  ..........  U U U U   6   6   8   8
 
753
ror       32  s     .     1110...010011...  ..........  U U U U   8   8   8   8
 
754
ror        8  r     .     1110...000111...  ..........  U U U U   6   6   8   8
 
755
ror       16  r     .     1110...001111...  ..........  U U U U   6   6   8   8
 
756
ror       32  r     .     1110...010111...  ..........  U U U U   8   8   8   8
 
757
ror       16  .     .     1110011011......  A+-DXWL...  U U U U   8   8   7   7
 
758
rol        8  s     .     1110...100011...  ..........  U U U U   6   6   8   8
 
759
rol       16  s     .     1110...101011...  ..........  U U U U   6   6   8   8
 
760
rol       32  s     .     1110...110011...  ..........  U U U U   8   8   8   8
 
761
rol        8  r     .     1110...100111...  ..........  U U U U   6   6   8   8
 
762
rol       16  r     .     1110...101111...  ..........  U U U U   6   6   8   8
 
763
rol       32  r     .     1110...110111...  ..........  U U U U   8   8   8   8
 
764
rol       16  .     .     1110011111......  A+-DXWL...  U U U U   8   8   7   7
 
765
roxr       8  s     .     1110...000010...  ..........  U U U U   6   6  12  12
 
766
roxr      16  s     .     1110...001010...  ..........  U U U U   6   6  12  12
 
767
roxr      32  s     .     1110...010010...  ..........  U U U U   8   8  12  12
 
768
roxr       8  r     .     1110...000110...  ..........  U U U U   6   6  12  12
 
769
roxr      16  r     .     1110...001110...  ..........  U U U U   6   6  12  12
 
770
roxr      32  r     .     1110...010110...  ..........  U U U U   8   8  12  12
 
771
roxr      16  .     .     1110010011......  A+-DXWL...  U U U U   8   8   5   5
 
772
roxl       8  s     .     1110...100010...  ..........  U U U U   6   6  12  12
 
773
roxl      16  s     .     1110...101010...  ..........  U U U U   6   6  12  12
 
774
roxl      32  s     .     1110...110010...  ..........  U U U U   8   8  12  12
 
775
roxl       8  r     .     1110...100110...  ..........  U U U U   6   6  12  12
 
776
roxl      16  r     .     1110...101110...  ..........  U U U U   6   6  12  12
 
777
roxl      32  r     .     1110...110110...  ..........  U U U U   8   8  12  12
 
778
roxl      16  .     .     1110010111......  A+-DXWL...  U U U U   8   8   5   5
 
779
rtd       32  .     .     0100111001110100  ..........  . U U U   .  16  10  10
 
780
rte       32  .     .     0100111001110011  ..........  S S S S  20  24  20  20  bus fault not emulated
 
781
rtm       32  .     .     000001101100....  ..........  . . U U   .   .  19  19  not properly emulated
 
782
rtr       32  .     .     0100111001110111  ..........  U U U U  20  20  14  14
 
783
rts       32  .     .     0100111001110101  ..........  U U U U  16  16  10  10
 
784
sbcd       8  rr    .     1000...100000...  ..........  U U U U   6   6   4   4
 
785
sbcd       8  mm    ax7   1000111100001...  ..........  U U U U  18  18  16  16
 
786
sbcd       8  mm    ay7   1000...100001111  ..........  U U U U  18  18  16  16
 
787
sbcd       8  mm    axy7  1000111100001111  ..........  U U U U  18  18  16  16
 
788
sbcd       8  mm    .     1000...100001...  ..........  U U U U  18  18  16  16
 
789
st         8  .     d     0101000011000...  ..........  U U U U   6   4   4   4
 
790
st         8  .     .     0101000011......  A+-DXWL...  U U U U   8   8   6   6
 
791
sf         8  .     d     0101000111000...  ..........  U U U U   4   4   4   4
 
792
sf         8  .     .     0101000111......  A+-DXWL...  U U U U   8   8   6   6
 
793
scc        8  .     d     0101....11000...  ..........  U U U U   4   4   4   4
 
794
scc        8  .     .     0101....11......  A+-DXWL...  U U U U   8   8   6   6
 
795
stop       0  .     .     0100111001110010  ..........  S S S S   4   4   8   8
 
796
sub        8  er    d     1001...000000...  ..........  U U U U   4   4   2   2
 
797
sub        8  er    .     1001...000......  A+-DXWLdxI  U U U U   4   4   2   2
 
798
sub       16  er    d     1001...001000...  ..........  U U U U   4   4   2   2
 
799
sub       16  er    a     1001...001001...  ..........  U U U U   4   4   2   2
 
800
sub       16  er    .     1001...001......  A+-DXWLdxI  U U U U   4   4   2   2
 
801
sub       32  er    d     1001...010000...  ..........  U U U U   6   6   2   2
 
802
sub       32  er    a     1001...010001...  ..........  U U U U   6   6   2   2
 
803
sub       32  er    .     1001...010......  A+-DXWLdxI  U U U U   6   6   2   2
 
804
sub        8  re    .     1001...100......  A+-DXWL...  U U U U   8   8   4   4
 
805
sub       16  re    .     1001...101......  A+-DXWL...  U U U U   8   8   4   4
 
806
sub       32  re    .     1001...110......  A+-DXWL...  U U U U  12  12   4   4
 
807
suba      16  .     d     1001...011000...  ..........  U U U U   8   8   2   2
 
808
suba      16  .     a     1001...011001...  ..........  U U U U   8   8   2   2
 
809
suba      16  .     .     1001...011......  A+-DXWLdxI  U U U U   8   8   2   2
 
810
suba      32  .     d     1001...111000...  ..........  U U U U   6   6   2   2
 
811
suba      32  .     a     1001...111001...  ..........  U U U U   6   6   2   2
 
812
suba      32  .     .     1001...111......  A+-DXWLdxI  U U U U   6   6   2   2
 
813
subi       8  .     d     0000010000000...  ..........  U U U U   8   8   2   2
 
814
subi       8  .     .     0000010000......  A+-DXWL...  U U U U  12  12   4   4
 
815
subi      16  .     d     0000010001000...  ..........  U U U U   8   8   2   2
 
816
subi      16  .     .     0000010001......  A+-DXWL...  U U U U  12  12   4   4
 
817
subi      32  .     d     0000010010000...  ..........  U U U U  16  14   2   2
 
818
subi      32  .     .     0000010010......  A+-DXWL...  U U U U  20  20   4   4
 
819
subq       8  .     d     0101...100000...  ..........  U U U U   4   4   2   2
 
820
subq       8  .     .     0101...100......  A+-DXWL...  U U U U   8   8   4   4
 
821
subq      16  .     d     0101...101000...  ..........  U U U U   4   4   2   2
 
822
subq      16  .     a     0101...101001...  ..........  U U U U   8   4   2   2
 
823
subq      16  .     .     0101...101......  A+-DXWL...  U U U U   8   8   4   4
 
824
subq      32  .     d     0101...110000...  ..........  U U U U   8   8   2   2
 
825
subq      32  .     a     0101...110001...  ..........  U U U U   8   8   2   2
 
826
subq      32  .     .     0101...110......  A+-DXWL...  U U U U  12  12   4   4
 
827
subx       8  rr    .     1001...100000...  ..........  U U U U   4   4   2   2
 
828
subx      16  rr    .     1001...101000...  ..........  U U U U   4   4   2   2
 
829
subx      32  rr    .     1001...110000...  ..........  U U U U   8   6   2   2
 
830
subx       8  mm    ax7   1001111100001...  ..........  U U U U  18  18  12  12
 
831
subx       8  mm    ay7   1001...100001111  ..........  U U U U  18  18  12  12
 
832
subx       8  mm    axy7  1001111100001111  ..........  U U U U  18  18  12  12
 
833
subx       8  mm    .     1001...100001...  ..........  U U U U  18  18  12  12
 
834
subx      16  mm    .     1001...101001...  ..........  U U U U  18  18  12  12
 
835
subx      32  mm    .     1001...110001...  ..........  U U U U  30  30  12  12
 
836
swap      32  .     .     0100100001000...  ..........  U U U U   4   4   4   4
 
837
tas        8  .     d     0100101011000...  ..........  U U U U   4   4   4   4
 
838
tas        8  .     .     0100101011......  A+-DXWL...  U U U U  14  14  12  12
 
839
trap       0  .     .     010011100100....  ..........  U U U U   4   4   4   4
 
840
trapt      0  .     .     0101000011111100  ..........  . . U U   .   .   4   4
 
841
trapt     16  .     .     0101000011111010  ..........  . . U U   .   .   6   6
 
842
trapt     32  .     .     0101000011111011  ..........  . . U U   .   .   8   8
 
843
trapf      0  .     .     0101000111111100  ..........  . . U U   .   .   4   4
 
844
trapf     16  .     .     0101000111111010  ..........  . . U U   .   .   6   6
 
845
trapf     32  .     .     0101000111111011  ..........  . . U U   .   .   8   8
 
846
trapcc     0  .     .     0101....11111100  ..........  . . U U   .   .   4   4
 
847
trapcc    16  .     .     0101....11111010  ..........  . . U U   .   .   6   6
 
848
trapcc    32  .     .     0101....11111011  ..........  . . U U   .   .   8   8
 
849
trapv      0  .     .     0100111001110110  ..........  U U U U   4   4   4   4
 
850
tst        8  .     d     0100101000000...  ..........  U U U U   4   4   2   2
 
851
tst        8  .     .     0100101000......  A+-DXWL...  U U U U   4   4   2   2
 
852
tst        8  .     pcdi  0100101000111010  ..........  . . U U   .   .   7   7
 
853
tst        8  .     pcix  0100101000111011  ..........  . . U U   .   .   9   9
 
854
tst        8  .     i     0100101000111100  ..........  . . U U   .   .   6   6
 
855
tst       16  .     d     0100101001000...  ..........  U U U U   4   4   2   2
 
856
tst       16  .     a     0100101001001...  ..........  . . U U   .   .   2   2
 
857
tst       16  .     .     0100101001......  A+-DXWL...  U U U U   4   4   2   2
 
858
tst       16  .     pcdi  0100101001111010  ..........  . . U U   .   .   7   7
 
859
tst       16  .     pcix  0100101001111011  ..........  . . U U   .   .   9   9
 
860
tst       16  .     i     0100101001111100  ..........  . . U U   .   .   6   6
 
861
tst       32  .     d     0100101010000...  ..........  U U U U   4   4   2   2
 
862
tst       32  .     a     0100101010001...  ..........  . . U U   .   .   2   2
 
863
tst       32  .     .     0100101010......  A+-DXWL...  U U U U   4   4   2   2
 
864
tst       32  .     pcdi  0100101010111010  ..........  . . U U   .   .   7   7
 
865
tst       32  .     pcix  0100101010111011  ..........  . . U U   .   .   9   9
 
866
tst       32  .     i     0100101010111100  ..........  . . U U   .   .   6   6
 
867
unlk      32  .     a7    0100111001011111  ..........  U U U U  12  12   6   6
 
868
unlk      32  .     .     0100111001011...  ..........  U U U U  12  12   6   6
 
869
unpk      16  rr    .     1000...110000...  ..........  . . U U   .   .   8   8
 
870
unpk      16  mm    ax7   1000111110001...  ..........  . . U U   .   .  13  13
 
871
unpk      16  mm    ay7   1000...110001111  ..........  . . U U   .   .  13  13
 
872
unpk      16  mm    axy7  1000111110001111  ..........  . . U U   .   .  13  13
 
873
unpk      16  mm    .     1000...110001...  ..........  . . U U   .   .  13  13
870
874
 
871
875
 
872
876
 
885
889
}
886
890
 
887
891
 
 
892
M68KMAKE_OP(040fpu0, 32, ., .)
 
893
{
 
894
        if(CPU_TYPE_IS_040_PLUS(CPU_TYPE))
 
895
        {
 
896
                m68040_fpu_op0();
 
897
                return;
 
898
        }
 
899
        m68ki_exception_1111();
 
900
}
 
901
 
 
902
 
 
903
M68KMAKE_OP(040fpu1, 32, ., .)
 
904
{
 
905
        if(CPU_TYPE_IS_040_PLUS(CPU_TYPE))
 
906
        {
 
907
                m68040_fpu_op1();
 
908
                return;
 
909
        }
 
910
        m68ki_exception_1111();
 
911
}
 
912
 
 
913
 
 
914
 
888
915
M68KMAKE_OP(abcd, 8, rr, .)
889
916
{
890
917
        uint* r_dst = &DX;
2275
2302
                REG_PC += 4;
2276
2303
                return;
2277
2304
        }
2278
 
        m68ki_exception_illegal();
 
2305
        else
 
2306
        {
 
2307
                if(M68KMAKE_CC)
 
2308
                {
 
2309
                        m68ki_trace_t0();                          /* auto-disable (see m68kcpu.h) */
 
2310
                        m68ki_branch_8(MASK_OUT_ABOVE_8(REG_IR));
 
2311
                        return;
 
2312
                }
 
2313
                USE_CYCLES(CYC_BCC_NOTAKE_B);
 
2314
        }
2279
2315
}
2280
2316
 
2281
2317
 
3119
3155
                        USE_ALL_CYCLES();
3120
3156
                return;
3121
3157
        }
3122
 
        m68ki_exception_illegal();
 
3158
        else
 
3159
        {
 
3160
                m68ki_trace_t0();                                  /* auto-disable (see m68kcpu.h) */
 
3161
                m68ki_branch_8(MASK_OUT_ABOVE_8(REG_IR));
 
3162
                if(REG_PC == REG_PPC)
 
3163
                        USE_ALL_CYCLES();
 
3164
        }
3123
3165
}
3124
3166
 
3125
3167
 
3194
3236
                m68ki_branch_32(offset);
3195
3237
                return;
3196
3238
        }
3197
 
        m68ki_exception_illegal();
 
3239
        else
 
3240
        {
 
3241
                m68ki_trace_t0();                                  /* auto-disable (see m68kcpu.h) */
 
3242
                m68ki_push_32(REG_PC);
 
3243
                m68ki_branch_8(MASK_OUT_ABOVE_8(REG_IR));
 
3244
        }
3198
3245
}
3199
3246
 
3200
3247
 
4172
4219
        uint dst = DY;
4173
4220
        uint res = dst - src;
4174
4221
 
 
4222
        m68ki_cmpild_callback(src, REG_IR & 7);            /* auto-disable (see m68kcpu.h) */
 
4223
 
4175
4224
        FLAG_N = NFLAG_32(res);
4176
4225
        FLAG_Z = MASK_OUT_ABOVE_32(res);
4177
4226
        FLAG_V = VFLAG_SUB_32(src, dst, res);
4389
4438
                REG_PC -= 2;
4390
4439
                m68ki_trace_t0();                          /* auto-disable (see m68kcpu.h) */
4391
4440
                m68ki_branch_16(offset);
 
4441
                USE_CYCLES(CYC_DBCC_F_NOEXP);
4392
4442
                return;
4393
4443
        }
4394
4444
        REG_PC += 2;
 
4445
        USE_CYCLES(CYC_DBCC_F_EXP);
4395
4446
}
4396
4447
 
4397
4448
 
6801
6852
                                }
6802
6853
                                m68ki_exception_illegal();
6803
6854
                                return;
 
6855
                        case 0x003:                             /* TC */
 
6856
                                if(CPU_TYPE_IS_040_PLUS(CPU_TYPE))
 
6857
                                {
 
6858
                                        /* TODO */
 
6859
                                        return;
 
6860
                                }
 
6861
                                m68ki_exception_illegal();
 
6862
                                return;
 
6863
                        case 0x004:                             /* ITT0 */
 
6864
                                if(CPU_TYPE_IS_040_PLUS(CPU_TYPE))
 
6865
                                {
 
6866
                                        /* TODO */
 
6867
                                        return;
 
6868
                                }
 
6869
                                m68ki_exception_illegal();
 
6870
                                return;
 
6871
                        case 0x005:                             /* ITT1 */
 
6872
                                if(CPU_TYPE_IS_040_PLUS(CPU_TYPE))
 
6873
                                {
 
6874
                                        /* TODO */
 
6875
                                        return;
 
6876
                                }
 
6877
                                m68ki_exception_illegal();
 
6878
                                return;
 
6879
                        case 0x006:                             /* DTT0 */
 
6880
                                if(CPU_TYPE_IS_040_PLUS(CPU_TYPE))
 
6881
                                {
 
6882
                                        /* TODO */
 
6883
                                        return;
 
6884
                                }
 
6885
                                m68ki_exception_illegal();
 
6886
                                return;
 
6887
                        case 0x007:                             /* DTT1 */
 
6888
                                if(CPU_TYPE_IS_040_PLUS(CPU_TYPE))
 
6889
                                {
 
6890
                                        /* TODO */
 
6891
                                        return;
 
6892
                                }
 
6893
                                m68ki_exception_illegal();
 
6894
                                return;
 
6895
                        case 0x805:                             /* MMUSR */
 
6896
                                if(CPU_TYPE_IS_040_PLUS(CPU_TYPE))
 
6897
                                {
 
6898
                                        /* TODO */
 
6899
                                        return;
 
6900
                                }
 
6901
                                m68ki_exception_illegal();
 
6902
                                return;
 
6903
                        case 0x806:                             /* URP */
 
6904
                                if(CPU_TYPE_IS_040_PLUS(CPU_TYPE))
 
6905
                                {
 
6906
                                        /* TODO */
 
6907
                                        return;
 
6908
                                }
 
6909
                                m68ki_exception_illegal();
 
6910
                                return;
 
6911
                        case 0x807:                             /* SRP */
 
6912
                                if(CPU_TYPE_IS_040_PLUS(CPU_TYPE))
 
6913
                                {
 
6914
                                        /* TODO */
 
6915
                                        return;
 
6916
                                }
 
6917
                                m68ki_exception_illegal();
 
6918
                                return;
6804
6919
                        default:
6805
6920
                                m68ki_exception_illegal();
6806
6921
                                return;
6879
6994
                                }
6880
6995
                                m68ki_exception_illegal();
6881
6996
                                return;
 
6997
                        case 0x003:                     /* TC */
 
6998
                                if (CPU_TYPE_IS_040_PLUS(CPU_TYPE))
 
6999
                                {
 
7000
                                        /* TODO */
 
7001
                                        return;
 
7002
                                }
 
7003
                                m68ki_exception_illegal();
 
7004
                                return;
 
7005
                        case 0x004:                     /* ITT0 */
 
7006
                                if (CPU_TYPE_IS_040_PLUS(CPU_TYPE))
 
7007
                                {
 
7008
                                        /* TODO */
 
7009
                                        return;
 
7010
                                }
 
7011
                                m68ki_exception_illegal();
 
7012
                                return;
 
7013
                        case 0x005:                     /* ITT1 */
 
7014
                                if (CPU_TYPE_IS_040_PLUS(CPU_TYPE))
 
7015
                                {
 
7016
                                        /* TODO */
 
7017
                                        return;
 
7018
                                }
 
7019
                                m68ki_exception_illegal();
 
7020
                                return;
 
7021
                        case 0x006:                     /* DTT0 */
 
7022
                                if (CPU_TYPE_IS_040_PLUS(CPU_TYPE))
 
7023
                                {
 
7024
                                        /* TODO */
 
7025
                                        return;
 
7026
                                }
 
7027
                                m68ki_exception_illegal();
 
7028
                                return;
 
7029
                        case 0x007:                     /* DTT1 */
 
7030
                                if (CPU_TYPE_IS_040_PLUS(CPU_TYPE))
 
7031
                                {
 
7032
                                        /* TODO */
 
7033
                                        return;
 
7034
                                }
 
7035
                                m68ki_exception_illegal();
 
7036
                                return;
 
7037
                        case 0x805:                     /* MMUSR */
 
7038
                                if (CPU_TYPE_IS_040_PLUS(CPU_TYPE))
 
7039
                                {
 
7040
                                        /* TODO */
 
7041
                                        return;
 
7042
                                }
 
7043
                                m68ki_exception_illegal();
 
7044
                                return;
 
7045
                        case 0x806:                     /* URP */
 
7046
                                if (CPU_TYPE_IS_040_PLUS(CPU_TYPE))
 
7047
                                {
 
7048
                                        /* TODO */
 
7049
                                        return;
 
7050
                                }
 
7051
                                m68ki_exception_illegal();
 
7052
                                return;
 
7053
                        case 0x807:                     /* SRP */
 
7054
                                if (CPU_TYPE_IS_040_PLUS(CPU_TYPE))
 
7055
                                {
 
7056
                                        /* TODO */
 
7057
                                        return;
 
7058
                                }
 
7059
                                m68ki_exception_illegal();
 
7060
                                return;
6882
7061
                        default:
6883
7062
                                m68ki_exception_illegal();
6884
7063
                                return;
7274
7453
}
7275
7454
 
7276
7455
 
 
7456
M68KMAKE_OP(move16, 32, ., .)
 
7457
{
 
7458
        UINT16 w2 = OPER_I_16();
 
7459
        int ax = REG_IR & 7;
 
7460
        int ay = (w2 >> 12) & 7;
 
7461
 
 
7462
        m68ki_write_32(REG_A[ay],    m68ki_read_32(REG_A[ax]));
 
7463
        m68ki_write_32(REG_A[ay]+4,  m68ki_read_32(REG_A[ax]+4));
 
7464
        m68ki_write_32(REG_A[ay]+8,  m68ki_read_32(REG_A[ax]+8));
 
7465
        m68ki_write_32(REG_A[ay]+12, m68ki_read_32(REG_A[ax]+12));
 
7466
 
 
7467
        REG_A[ax] += 16;
 
7468
        REG_A[ay] += 16;
 
7469
}
 
7470
 
 
7471
 
7277
7472
M68KMAKE_OP(muls, 16, ., d)
7278
7473
{
7279
7474
        uint* r_dst = &DX;
8213
8408
}
8214
8409
 
8215
8410
 
 
8411
M68KMAKE_OP(pflush, 32, ., .)
 
8412
{
 
8413
        if(CPU_TYPE_IS_040_PLUS(CPU_TYPE))
 
8414
        {
 
8415
                /* Nothing to do, unless address translation cache is emulated */
 
8416
                return;
 
8417
        }
 
8418
        m68ki_exception_illegal();
 
8419
}
 
8420
 
 
8421
 
8216
8422
M68KMAKE_OP(reset, 0, ., .)
8217
8423
{
8218
8424
        if(FLAG_S)
9022
9228
                uint new_pc;
9023
9229
                uint format_word;
9024
9230
 
 
9231
                m68ki_rte_callback();              /* auto-disable (see m68kcpu.h) */
9025
9232
                m68ki_trace_t0();                          /* auto-disable (see m68kcpu.h) */
9026
9233
 
9027
9234
                if(CPU_TYPE_IS_000(CPU_TYPE))
9135
9342
        uint dst = *r_dst;
9136
9343
        uint res = LOW_NIBBLE(dst) - LOW_NIBBLE(src) - XFLAG_AS_1();
9137
9344
 
9138
 
/*      FLAG_V = ~res;    Undefined V behavior    */
 
9345
/*  FLAG_V = ~res;    Undefined V behavior    */
9139
9346
        FLAG_V = VFLAG_CLEAR;   /* Undefined in Motorola's M68000PM/AD rev.1 and safer to assume cleared. */
9140
9347
 
9141
9348
        if(res > 9)
9152
9359
 
9153
9360
        res = MASK_OUT_ABOVE_8(res);
9154
9361
 
9155
 
/*      FLAG_V &= res;    Undefined V behavior part II    */
9156
 
/*      FLAG_N = NFLAG_8(res);    Undefined N behavior    */
 
9362
/*  FLAG_V &= res;    Undefined V behavior part II    */
 
9363
/*  FLAG_N = NFLAG_8(res);    Undefined N behavior    */
9157
9364
        FLAG_Z |= res;
9158
9365
 
9159
9366
        *r_dst = MASK_OUT_BELOW_8(*r_dst) | res;
9167
9374
        uint dst = m68ki_read_8(ea);
9168
9375
        uint res = LOW_NIBBLE(dst) - LOW_NIBBLE(src) - XFLAG_AS_1();
9169
9376
 
9170
 
/*      FLAG_V = ~res;    Undefined V behavior    */
 
9377
/*  FLAG_V = ~res;    Undefined V behavior    */
9171
9378
        FLAG_V = VFLAG_CLEAR;   /* Undefined in Motorola's M68000PM/AD rev.1 and safer to return zero. */
9172
9379
 
9173
9380
        if(res > 9)
9184
9391
 
9185
9392
        res = MASK_OUT_ABOVE_8(res);
9186
9393
 
9187
 
/*      FLAG_V &= res;    Undefined V behavior part II    */
9188
 
/*      FLAG_N = NFLAG_8(res);    Undefined N behavior    */
 
9394
/*  FLAG_V &= res;    Undefined V behavior part II    */
 
9395
/*  FLAG_N = NFLAG_8(res);    Undefined N behavior    */
9189
9396
        FLAG_Z |= res;
9190
9397
 
9191
9398
        m68ki_write_8(ea, res);
9199
9406
        uint dst = m68ki_read_8(ea);
9200
9407
        uint res = LOW_NIBBLE(dst) - LOW_NIBBLE(src) - XFLAG_AS_1();
9201
9408
 
9202
 
/*      FLAG_V = ~res;    Undefined V behavior    */
 
9409
/*  FLAG_V = ~res;    Undefined V behavior    */
9203
9410
        FLAG_V = VFLAG_CLEAR;   /* Undefined in Motorola's M68000PM/AD rev.1 and safer to return zero. */
9204
9411
 
9205
9412
        if(res > 9)
9216
9423
 
9217
9424
        res = MASK_OUT_ABOVE_8(res);
9218
9425
 
9219
 
/*      FLAG_V &= res;    Undefined V behavior part II    */
9220
 
/*      FLAG_N = NFLAG_8(res);    Undefined N behavior    */
 
9426
/*  FLAG_V &= res;    Undefined V behavior part II    */
 
9427
/*  FLAG_N = NFLAG_8(res);    Undefined N behavior    */
9221
9428
        FLAG_Z |= res;
9222
9429
 
9223
9430
        m68ki_write_8(ea, res);
9231
9438
        uint dst = m68ki_read_8(ea);
9232
9439
        uint res = LOW_NIBBLE(dst) - LOW_NIBBLE(src) - XFLAG_AS_1();
9233
9440
 
9234
 
/*      FLAG_V = ~res;    Undefined V behavior    */
 
9441
/*  FLAG_V = ~res;    Undefined V behavior    */
9235
9442
        FLAG_V = VFLAG_CLEAR;   /* Undefined in Motorola's M68000PM/AD rev.1 and safer to return zero. */
9236
9443
 
9237
9444
        if(res > 9)
9248
9455
 
9249
9456
        res = MASK_OUT_ABOVE_8(res);
9250
9457
 
9251
 
/*      FLAG_V &= res;    Undefined V behavior part II    */
9252
 
/*      FLAG_N = NFLAG_8(res);    Undefined N behavior    */
 
9458
/*  FLAG_V &= res;    Undefined V behavior part II    */
 
9459
/*  FLAG_N = NFLAG_8(res);    Undefined N behavior    */
9253
9460
        FLAG_Z |= res;
9254
9461
 
9255
9462
        m68ki_write_8(ea, res);
9263
9470
        uint dst = m68ki_read_8(ea);
9264
9471
        uint res = LOW_NIBBLE(dst) - LOW_NIBBLE(src) - XFLAG_AS_1();
9265
9472
 
9266
 
/*      FLAG_V = ~res;    Undefined V behavior    */
 
9473
/*  FLAG_V = ~res;    Undefined V behavior    */
9267
9474
        FLAG_V = VFLAG_CLEAR;   /* Undefined in Motorola's M68000PM/AD rev.1 and safer to return zero. */
9268
9475
 
9269
9476
        if(res > 9)
9280
9487
 
9281
9488
        res = MASK_OUT_ABOVE_8(res);
9282
9489
 
9283
 
/*      FLAG_V &= res;    Undefined V behavior part II    */
9284
 
/*      FLAG_N = NFLAG_8(res);    Undefined N behavior    */
 
9490
/*  FLAG_V &= res;    Undefined V behavior part II    */
 
9491
/*  FLAG_N = NFLAG_8(res);    Undefined N behavior    */
9285
9492
        FLAG_Z |= res;
9286
9493
 
9287
9494
        m68ki_write_8(ea, res);