Equinox 68000 cycle table

TIME OF THE INSTRUCTIONS
OF THE MC 68000 USING ATARI STF SHIFTER
BY EQUNIOX

A bit HTML-ified by Evil/DHS
Original Equinox ASCII-version here.

Table of contents:
  1. move [byte/word]
  2. move [long]
  3. add/sub [byte/word]
  4. add/sub [long]
  5. and/or [byte/word]
  6. and/or [long]
  7. Cmp (byte and word)
  8. Cmp (longword)
  9. Eor (byte and word)
  10. Eor (longword)
  11. Addq, subq, moveq, movep
  12. Clr, nbcd, neg, negx, not, tas, tst, scc, true, false
  13. Addx, subx, adbcd, sbcd
  14. Bchg, btst, bset, bclr
  15. Jmp, jsr, bsr, lea, movem
  16. Asl, asr, lsl, lsr, rol, ror, roxl, roxr
  17. Move to sr, ccr
  18. Eor to ccr & sr, reset, rte, rtr, rts, stop, swap, trap, trav
  19. Bra, bcs, dbra, dbf, dbeq

move [byte/word]

SourceDestination
Dn An (An) (An)+ -(An) d(An) d(An,Dn) xxx.W xxx.L
Dn 4 4 8 8 8 12 16 12 16
An 4 4 8 8 8 12 16 12 16
(An) 8 8 12 12 12 16 20 16 20
(An)+ 8 8 12 12 12 16 20 16 20
-(An) 12 12 16 16 16 20 24 20 24
d(An) 12 12 16 16 16 20 24 20 24
d(An,Dn) 16 16 20 20 20 24 28 24 28
xxx.W 12 12 16 16 16 20 24 20 24
xxx.L 16 16 20 20 20 24 28 24 28
d(Pc) 12 12 16 16 16 20 24 20 24
d(Pc,Dn) 16 16 20 20 20 24 28 24 28
#xxx 8 8 12 12 12 16 20 16 20

move [long]

SourceDestination
Dn An (An) (An)+ -(An) d(An) d(An,Dn) xxx.W xxx.L
Dn 4 4 12 12 12 16 20 16 20
An 4 4 12 12 12 16 20 16 20
(An) 12 12 20 20 20 24 28 24 28
(An)+ 12 12 20 20 20 24 28 24 28
-(An) 16 16 24 24 24 28 32 28 32
d(An) 16 16 24 24 24 28 32 28 32
d(An,Dn) 20 20 28 28 28 32 36 32 36
xxx.W 16 16 24 24 24 28 32 28 32
xxx.L 20 20 28 28 28 32 36 32 36
d(Pc) 16 16 24 24 24 28 32 28 32
d(Pc,Dn) 20 20 28 28 28 32 36 32 36
#xxx 12 12 20 20 20 24 28 24 28

add/sub [byte/word]

SourceDestination
Dn An (An) -(An) d(An) d(An,Dn) xxx.W xxx.L
Dn 4 8 12 16 16 20 16 20
An 4 8 - - - - - -
(An)+ 8 12 - - - - - -
-(An) 12 16 - - - - - -
d(An) 12 16 - - - - - -
d(An,Dn) 16 20 - - - - - -
xxx.W 12 16 - - - - - -
xxx.L 16 20 - - - - - -
d(Pc)W 12 16 - - - - - -
d(Pc,Dn) 16 20 - - - - - -
#xxx 8 12 16 20 20 24 20 24

add/sub [long]

SourceDestination
Dn An (An) -(An) d(An) d(An,Dn) xxx.W xxx.L
Dn 8 8 20 24 24 28 24 28
An 8 8 - - - - - -
(An)+ 16 16 - - - - - -
-(An) 20 20 - - - - - -
d(An) 20 20 - - - - - -
d(An,Dn) 16 20 - - - - - -
xxx.W 20 20 - - - - - -
xxx.L 24 24 - - - - - -
d(Pc) 20 20 - - - - - -
d(Pc,Dn) 24 24 - - - - - -
#xxx 16 16 28 32 32 36 32 36

and/or [byte/word]

SourceDestination
Dn An (An) -(An) d(An) d(An,Dn) xxx.W xxx.L
Dn 4 - 12 16 16 20 16 20
An - - - - - - - -
(An)+ 8 - - - - - - -
-(An) 12 - - - - - - -
d(An) 12 - - - - - - -
d(An,Dn) 16 - - - - - - -
xxx.W 12 - - - - - - -
xxx.L 16 - - - - - - -
d(Pc) 12 - - - - - - -
d(Pc,Dn) 16 - - - - - - -
#xxx 8 - 16 20 20 24 20 24

and/or [long]

SourceDestination
Dn An (An) -(An) d(An) d(An,Dn) xxx.W xxx.L
Dn 8 - 20 24 24 28 24 28
An - - - - - - - -
(An)+ 16 - - - - - - -
-(An) 20 - - - - - - -
d(An) 20 - - - - - - -
d(An,Dn) 24 - - - - - - -
xxx.W 20 - - - - - - -
xxx.L 24 - - - - - - -
d(Pc) 20 - - - - - - -
d(Pc,Dn) 24 - - - - - - -
#xxx 16 - 28 32 32 36 32 36

cmp [byte/word]

SourceDestination
Dn An (An)+ -(An) d(An) d(An,Dn) xxx.W xxx.L
Dn 4 8 - - - - - -
An 4 5 - - - - - -
(An)+ 8 12 12 - - - - -
-(An) 12 16 - - - - - -
d(An) 12 16 - - - - - -
d(An,Dn) 16 20 - - - - - -
xxx.W 12 16 - - - - - -
xxx.L 16 20 - - - - - -
d(Pc) 12 16 - - - - - -
d(Pc,Dn) 16 20 - - - - - -
#xxx 8 12 12 16 16 20 16 20

cmp [long]

SourceDestination
Dn An (An)+ -(An) d(An) d(An,Dn) xxx.W xxx.L
Dn 8 8 - - - - - -
An 8 8 - - - - - -
(An)+ 16 16 - - - - - -
-(An) 20 20 - - - - - -
d(An) 20 20 - - - - - -
d(An,Dn) 24 24 - - - - - -
xxx.W 20 20 - - - - - -
xxx.L 24 24 - - - - - -
d(Pc) 20 20 - - - - - -
d(Pc,Dn) 24 24 - - - - - -
#xxx 16 16 20 24 24 28 24 28

eor [byte/word]

SourceDestination
Dn An (An) -(An) d(An) d(An,Dn) xxx.W xxx.L
Dn 4 - 12 16 16 20 16 20
An - - - - - - - -
(An)+ - - 12 - - - - -
-(An) - - - - - - - -
d(An) - - - - - - - -
d(An,Dn) - - - - - - - -
xxx.W - - - - - - - -
xxx.L - - - - - - - -
d(Pc) - - - - - - - -
d(Pc,Dn) - - - - - - - -
#xxx 8 - 16 20 20 24 20 24

eor [long]

SourceDestination
Dn An (An) -(An) d(An) d(An,Dn) xxx.W xxx.L
Dn 8 - 20 24 24 28 24 28
An - - - - - - - -
(An)+ - - - - - - - -
-(An) - - - - - - - -
d(An) - - - - - - - -
d(An,Dn) - - - - - - - -
xxx.W - - - - - - - -
xxx.L - - - - - - - -
d(Pc) - - - - - - - -
d(Pc,Dn) - - - - - - - -
#xxx 16 - 28 32 32 36 32 36

Addq, subq, moveq, movep

SourceDestination
Dn An (An) -(An) d(An) d(An,Dn) xxx.W xxx.L
Addq.w #xxx 4 8 12 16 16 20 16 20
Addq.l #xxx 8 8 20 24 24 28 24 28
Subq.w #xxx 4 8 12 16 16 20 16 20
Subq.l #xxx 8 8 20 24 24 28 24 28
Moveq #xxx 4 - - - - - - -
Movep.w Dn - - - - 16 - - -
Movep.w (An) 16 - - - - - - -
Movep.l Dn - - - - 24 - - -
Movep.l (An) 24 - - - - - - -

Clr, nbcd, neg, negx, not, tas, tst, scc, true, false

Destination
Dn An (An) -(An) d(An) d(An,Dn) xxx.W xxx.L
Clr.w 4 - 12 16 16 20 16 20
Clr.l 8 - 20 24 24 28 24 28
Nbcd.b 8 - 12 16 16 20 16 20
Neg.w 4 - 12 16 16 20 16 20
Neg.l 8 - 20 24 24 28 24 28
Negx.w 4 - 12 16 16 20 16 20
Negx.l 8 - 20 24 24 28 24 28
Not.w 4 - 12 16 16 20 16 20
Not.l 8 - 20 24 24 28 24 28
Tas.b 4 - 16 20 20 24 20 24
Tst.w 4 - 8 12 12 16 12 16
Tst.l 4 - 12 16 16 20 16 20
 
Scc Likewise for:
-Scs, -Smi, -Seq, -Shi, -Sls, -Spl, -Svs, -Svc, -Sge, -Slt, -Sgt, -Sne, -Sle, -Slo, -Shs
True 8 - 12 16 16 20 16 20
False 4 - 12 16 16 20 16 20

Addx, subx, abcd, sbcd

SourceDestination
Dn -(An)
Addx.w Dn 4 -
Addx.w -(an) - 20
Addx.l Dn 8 -
Addx.l -(an) - 32
Subx.w Dn 4 -
Subx.w -(an) - 20
Subx.l Dn 8 -
Subx.l -(an) - 32
Adcd.b Dn 8 -
Adcd.b -(An) - 20
Sbcd.b Dn 8 -
Sbcd.b -(An) - 20

Bchg, btst, bset, bclr

SourceDestination
Dn An (An) -(An) d(An) d(An,Dn) xxx.W xxx.L
Bchg Dn 8 - 12 16 16 20 16 20
Bchg #xxx 12 - 16 20 20 24 20 24
Btst Dn 8 - 8 12 12 16 12 16
Btst #xxx 12 - 12 16 16 20 16 20
Bset Dn 8 - 16 16 16 20 16 20
Bset #xxx 12 - 20 20 20 24 20 24
Bclr Dn X1 - 16 16 16 20 16 20
Bclr #xxx X2 - 20 20 20 24 20 24
X1:
if 0<=|Dn|<16 [32] => 8 cycles
if 16<=|Dn|<32 [32] => 12 cycles

X2:
if 0<=|xx|<16 [32] => 12 cycles
if 16<=|xx|<32 [32] => 16 cycle

[ ] means modulo.

Jmp, jsr, lea, pea, movem

Destination
(An) (An)+ -(An) d(An) d(An,Dn)xxx.W xxx.L d(Pc) d(Pc,Dn)
Jmp 8 - - 12 16 8 12 12 16
Jsr 16 - - 20 24 16 20 20 24
Lea 4 - - 8 18 8 12 8 16
Pea 12 - - 16 24 16 20 16 24
Movem.w 8+4n - 8+4n 12+4n 16+4n 12+4n 16+4n - -
Movem.l 8+8n - 8+8n 12+8n 16+8n 12+8n 16+8n - -
Source
(An) (An)+ -(An) d(An) d(An,Dn)xxx.W xxx.L d(Pc) d(Pc,Dn)
Movem.w 12+4n 12+4n - 16+4n 20+4n 16+4n 20+4n - -
Movem.l 12+8n 12+8n - 16+8n 20+8n 16+8n 20+8n - -
Bsr label -> 20 cycles

Asl, asr, lsl, lsr, rol, ror, roxl, roxr

SourceDestination
Dn
Asl.w Dn if n is even => 8+2n [64]
if n is uneven => 8+2(n-1) [64]
Asl.l Dn if n is even => 8+2n [64]
if n is uneven => 8+2(n+1) [64]
Asl.w #nnn if n is even => 8+2n
if n is uneven => 8+2(n-1)
Asl.l #nnn if n is even => 8+2n
if n is uneven => 8+2(n+1)
(An) (An)+ -(An) d(An) d(An,Dn)xxx.W xxx.L
Asl 12 12 16 16 20 16 20
Likewise for asr, lsl, lsr, rol, ror, roxl, roxr

Move to sr, ccr

   ---------------------------------------------------------------------------
  | Destination     |                      Source                             |
  |-----------------|---------------------------------------------------------|
  |                 |Dn|(An)|d(An)|-(An)|d(An,Dn)|x.w|x.l|d(Pc)|d(Pc,Dn)| #xxx|
  | ----------------|--|----|-----|-----|--------|---|---|-----|--------|-----|
  | Move to sr      |12| 16 |  20 |  20 |   24   | 20| 24|  20 |   24   |  16 |
  | ----------------|--|----|-----|-----|--------|---|---|-----|--------|-----|
  | Move to ccr     |12| 16 |  20 |  20 |   24   | 20| 24|  20 |   24   |  16 |
  |-----------------|---------------------------------------------------------|
  | Source          |                    Destination                          |
  |-----------------|---------------------------------------------------------|
  |                 |  Dn  | (An) | -(An) | d(An) | d(An,Dn) | xxx.w | xxx.l  |
  |-----------------|------|------|-------|-------|----------|-------|--------|
  | Move from sr to |   8  |  12  |   16  |   16  |     20   |   16  |   20   |
  |-----------------|------|------|-------|-------|----------|-------|--------|
  | St              |   8  |  12  |   16  |   16  |     20   |   16  |   20   |
  |-----------------|------|------|-------|-------|----------|-------|--------|
  | Sf              |   4  |  12  |   16  |   16  |     20   |   16  |   20   |
   ---------------------------------------------------------------------------

Eor to ccr & sr, reset, rte, rtr, rts, stop, swap, trap, trav

 ---------------------------------------------------------------------------
| Eor #xxx,ccr     | 20               | Move usp,An      |  4               |
|------------------|------------------|------------------|------------------|
| Eor #xxx,sr      | 20               | Move An,usp      |  4               |
|------------------|------------------|------------------|------------------|
| Reset            |                  | Link An,#xxx     |                  |
|------------------|------------------|------------------|------------------|
| Rte              | 20               | And #xxx,ccr     | 20               |
|------------------|------------------|------------------|------------------|
| Rtr              | 20               | And #xxx,sr      | 20               |
|------------------|------------------|------------------|------------------|
| Rts              | 16               | Exg Dn,Dn        |  8               |
|------------------|------------------|------------------|------------------|
| Stop #xxx        |                  | Exg An,An        |  8               |
|------------------|------------------|------------------|------------------|
| Swap             |  4               | Exg Dn,An        |  8               |
|------------------|------------------|------------------|------------------|
| Trap #xx         |                  | Exg An,Dn        |  8               |
|------------------|------------------|------------------|------------------|
| Trapv            |  4               | Ext.w Dn         |  4               |
|------------------|------------------|------------------|------------------|
| Unlk An          |                  | Ext.l Dn         |  4               |
|------------------|------------------|------------------|------------------|
| Nop              |  4               | Illegal          |                  |
|------------------|------------------|------------------|------------------|
| Or #xxx,ccr      | 20               | Bus error        | 116              |
|------------------|------------------|------------------|------------------|
| Or #xxx,sr       | 20               |                  |                  |
 --------------------------------------------------------------------------- 

Bra, bcs, dbra, dbf, dbeq

 ---------------------------------------------------------------------------
| Instruction       | Taken | Not taken | Taken (short) | Not taken (short) |
|-------------------|-------|-----------|---------------|-------------------|
| Bra               |   12  |      *    |       12      |        *          |
|-------------------|-------|-----------|---------------|-------------------|
| Bcs               |   12  |     12    |       12      |        8          |
|-------------------|-------------------------------------------------------|
|                   | likewise for Bcc,Bmi,Bhi,Bls,Bpl,Beq,Bgt,Bvs,Bvc,Bge  |
|                   |              Blt,Blo,Ble,Bhs,Bne                      |
|-------------------|-------------------------------------------------------|
| Instruction       |       Taken             |         Not taken           |
|-------------------|-------------------------|-----------------------------|
| Dbra              |       16+12n            |           *                 |
|-------------------|-------------------------|-----------------------------|
| Dbf               |       16+12n            |           *                 |
|-------------------|-------------------------|-----------------------------|
| Dbeq              |       16+12n            |          12                 |
|-------------------|-------------------------------------------------------|
|                   | likewise for Dbcc,Dbmi,Dbhi,Dbls,Dbpl,Dbgt,Dbvs,Dbvc  |
|                   |              Dblt,Dblo,Dble,Dbhs,Dbne,Dbge,Dbcs       |
 ---------------------------------------------------------------------------
SOME CYCLES CAN CHANGE,IT DEPENDS OF THE DESTINATION'S ADDRESS.
PERHAPS THERE ARE SOME ERRORS BUT IT'S BETTER LIKE NOTHING!
THIS CYCLE'S TABLE IS NOT A PUBLIC DOMAIN.YOU CAN'T SELL IT!
IF YOU WANT SELL IT PLEASE CONTACT US:
Mr TANGUY
POSTE RESTANTE PRINCIPALE
92250 LA GARENNE-COLOMBES
FRANCE

CYCLE'S TABLE, COPYRIGHT(C) EQUINOX 1990, AUGUST.
ALL RIGHTS RESERVED.