CYCLES.TXT
Jump to navigation
Jump to search
SHIZUKA is pleased to present this 68000 cycle table created in two evening sessions with the valuable help of: craft2 (stedi) hard drive (wow, the speed) "68000 instruction guide, vol 2 by NACHTMANN at PUBLITRONIC" please distribute this table without modifying the header effective address calculation b/w l dn 0 0 an 0 0 (an) 4 8 (an)+ 4 8 -(an) 6 10 d16(an) 8 12 d8(an,xi) 10 14 abs.w 8 12 abs.l 12 16 d16(pc) 8 12 d8(pc,x1) 10 14 imm 4 8 move.b and move.w dn an (an) (an)+ -(an) d16(an) d8(an,xi) abs.w abs.l dn 4 4 8 8 8 12 14 12 16 an 4 4 8 8 8 12 14 12 16 (an) 8 8 12 12 12 16 18 16 20 (an)+ 8 8 12 12 12 16 18 16 20 -(an) 10 10 14 14 14 18 20 18 22 d16(an) 12 12 16 16 16 20 22 20 24 d8(an,xi) 14 14 18 18 18 22 24 22 26 abs.w 12 12 16 16 16 20 22 20 24 abs.l 16 16 20 20 20 24 26 24 28 d16(pc) 12 12 16 16 16 20 22 20 24 d8(pc,x1) 14 14 18 18 18 22 24 22 26 imm 8 8 12 12 12 16 18 16 20 move.l dn an (an) (an)+ -(an) d16(an) d8(an,xi) abs.w abs.l dn 4 4 12 12 12 16 18 16 20 an 4 4 12 12 12 16 18 16 20 (an) 12 12 20 20 20 24 26 24 28 (an)+ 12 12 20 20 20 24 26 24 28 -(an) 14 14 22 22 22 26 28 26 30 d16(an) 16 16 24 24 24 28 30 28 32 d8(an,xi) 18 18 26 26 26 30 32 30 34 abs.w 16 16 24 24 24 28 30 28 32 abs.l 20 20 28 28 28 32 34 32 36 d16(pc) 16 16 24 24 24 28 30 28 32 d8(pc,x1) 18 18 26 26 26 30 32 30 34 imm 12 12 20 20 20 24 26 24 28 op(ea),an op(ea),dn op dn,(m) add.b - 4+ 8+ add.w 8+ 4+ 8+ add.l 6+& 6+& 12+ and.b - 4+ 8+ and.w - 4+ 8+ and.l - 6+& 12+ cmp.b - 4+ - cmp.w 6+ 4+ - cmp.l 6+ 6+ - divs - 158+* - divu - 140+* - eor.b - 4+ 8+ eor.w - 4+ 8+ eor.l - 8+ 12+ muls - 70+* - mulu - 70+* - or.b - 4+ 8+ or.w - 4+ 8+ or.l - 6+& 12+ sub.b - 4+ 8+ sub.w 8+ 4+ 8+ sub.l 6+& 6+& 12+ + = add the time for calculating the effective address & = add 2 clock cycles for modes an dn and immediate * = maximum duration op #,dn op #,an op #,m addi.b 8 - 12+ addi.w 8 - 12+ addi.l 16 - 20+ addq.b 4 - 8+ addq.w 4 8 8+ addq.l 8 8 12+ andi.b 8 - 12+ andi.w 8 - 12+ andi.l 16 - 20+ cmpi.b 8 - 8+ cmpi.w 8 - 8+ cmpi.l 14 - 12+ eori.b 8 - 12+ eori.w 8 - 12+ eori.l 16 - 20+ moveq 4 - - ori.b 8 - 12+ ori.w 8 - 12+ ori.l 16 - 20+ subi.b 8 - 12+ subi.w 8 - 12+ subi.l 16 - 20+ subq.b 4 - 8+ subq.w 4 8 8+ subq.l 8 8 12+ + = add the time for calculating the effective address register memory clr.b 4 8+ clr.w 4 8+ clr.l 6 12+ nbcd 6 8+ neg.b 4 8+ neg.w 4 8+ neg.l 6 12+ negx.b 4 8+ negx.w 4 8+ negx.l 6 12+ not.b 4 8+ not.w 4 8+ not.l 6 12+ scc (cc=0) 4 8+ scc (cc=1) 6 8+ tas 4 10+ tst.b 4 4+ tst.w 4 4+ tst.l 4 4+ + = add the time for calculating the effective address registers memory asr.b & asl.b 6+2n asr.w & asl.w 6+2n 8+ asr.l & asl.l 8+2n lsr.b & lsl.b 6+2n lsr.w & lsl.w 6+2n 8+ lsr.l & lsl.l 8+2n ror.b & rol.b 6+2n ror.w & rol.w 6+2n 8+ ror.l & rol.l 8+2n roxr.b & roxl.b 6+2n roxr.w & roxl.w 6+2n 8+ roxr.l & roxl.l 8+2n + = add the time for calculating the effective address n is the number of successive rotations or shifts dynamic dynamic static static register memory register memory bchg.b - 8+ - 12+ bchg.l 8* - 12* - bclr.b - 8+ - 12+ bclr.l 10* - 14* - bset.b - 8+ - 12+ bset.l 8* - 12* - btst.b - 4+ - 8+ btst.l 6 - 10 - + = add the time for calculating the effective address * = maximum duration branching no executed branching bcc.s 10 8 bcc.l 10 12 bra.s 10 - bra.l 10 - bsr.s 18 - bsr.l 18 - dbcc cc=1 - 12 dbcc cc=0 10 14 (an) (an)+ -(an) 16(an) d8(an,xi) abs.w abs.l d16(pc) d8(pc,xi) jmp 8 - - 10 14 10 12 10 14 jsr 16 - - 18 22 18 20 18 22 lea 4 - - 8 12 8 12 8 12 pea 12 - - 16 20 16 20 16 20 movem.w 12+4n 12+4n - 16+4n 18+4n 16+4n 20+4n 16+4n 18+4n (m->r) movem.l 12+8n 12+8n - 16+8n 18+8n 16+8n 20+8n 16+8n 18+8n (m->r) movem.w 8+4n - 8+4n 12+4n 14+4n 12+4n 16+4n - - (r->m) movem.l 8+8n - 8+8n 12+8n 14+8n 12+8n 16+8n - - (r->m) n is the number of register transfers to be performed op dn,dn op m,m addx.b 4 18 addx.w 4 18 addx.l 8 30 cmpm.b - 12 cmpm.w - 12 cmpm.l - 20 subx.b 4 18 subx.w 4 18 subx.l 8 30 abcd 6 18 sbcd 6 18 68000 68000 r->m m->r movep.w 16 16 movep.l 24 24 68000 68000 register memory andi to ccr 20 - andi to sr 20 - chk (without trap) 10 - eori to ccr 20 - eori to sr 20 - exg 6 - ext 4 - link 16 - move to ccr 12 12& move to sr 12 12& move from sr 6 8& move usp 4 - nop 4 - ori to ccr 20 - ori to sr 20 - reset 132 - rte 20 - rtr 20 - rts 16 - stop 4 - swap 4 - trapv (without trap) 4 - unlk 12 - & = add the time for calculating the effective address 68000 address error 50 bus error 50 chk instruction 44+* illegal instruction 34 interruption 44# privilege violation 34 trace 34 trap 38 trapvs 34 + add the time for calculating the effective address * maximum duration # 4 clock cycles included for the interruption cycle
Back to ASM_Tutorial