DO DON'T NOTE -------------------------------------------------------------------------- MOVEQ #n,Dx (4,2) = MOVE.L #n,Dx (12,6) n is between -128 & 127 ADD.W Dx,Dx (4,2) = LSL.W #1,Dx (8,2) ADD.W Dx,Dx ADD.W Dx,Dx (8,4) = LSL.W #2,Dx (10,2) each shift takes 2 cycles! ADD.L Dx,Dx (8,2) = LSL.L #1,Dx (10,2) each shift takes 2 cycles! MOVEQ #0,Dx (4,2) = CLR.L Dx (6,2) = CLR.W Dx (4,2) Only clears a word! LEA n(Ax),Ax (8,4) = ADD.W #n,Ax (12,4) n is between -32767 & 32768 = ADD.L #n,Ax (16,6) Use ADDQ.L when n bet. 1 & 8! SUB.L Ax,Ax (8,2) = MOVE.L #0,Ax (12,6) Can't use CLR with A regs! OR.W #$4000,Dx (8,4) = BSET #14,Dx (12,4) AND.W #$EF,Dx (8,4) = BCLR #4,Dx (14,4) BCLR is slower?! EOR.W #$800,Dx (8,4) = BCHG #11,Dx (12,4) MOVEQ #1,Dx SWAP Dx (8,4) = MOVE.L #$10000,Dx (12,6) MOVE.W n(PC),Dx (12,4) = MOVE.W n,Dx (16,6) Add 4 cycles for .L MOVE.B Dx,-(A7) MOVE.W (A7)+,Dx (16,4) = LSL.W #8,Dx (22,2) Only works with A7! MOVE.B n(PC),-(A7) MOVE.B n(PC),Dx General usage is even faster MOVE.W (A7)+,Dx (24,4) = LSL.W #8,Dx (34,6) as you can see! BRA n (10,4) BSR n This is a common mistake done = RTS (34,6) at the end of a routine. MOVE.L (A7)+,D1 MOVE.L (A7)+,D2 (24,4) = MOVEM.L (A7)+,D1-D2 (28,4) MOVEQ #15,D1 MOVE.W D0,D1 A common situation in bob AND.W D0,D1 (8,4) = AND.W #15,D1 (12,6) routines! LSR.W #4,D0 LSR.W #3,D0 Another common situation in ADD.W D0,D0 (18,4) = AND.B #$FE,D0 (20,6) bob rutines! ROR.W #4,D0 (14,2) MOVEQ #12,D1 Shift instructions can only = LSL.W D1,D0 (34,4) shift from 1 to 8 times or when used in immediate LSL.W #8,D0 mode hence the convoluted LSL.W #4,D0 (36,4) methods here. MOVEQ #0,D0 = MOVE.W #$100-1,d1 CLR is an inefficient MOVE.W #$100-1,d1 loop: instruction when used with loop: CLR.L (A0)+ memory! For some strange MOVE.L D0,(A0)+ DBF D1,loop reason it actually reads DBF D1,loop (7180,10) (5648,12) the destination operand before it clears it?!?! MOVE.W #$100-1,D1 so this is why you shouldn't loop: use CLR with I/O devices MOVE.L #0,(A0)+ that may be affected by the DBF D1,loop (7692,14) read