[comp.sys.m68k] ASSEMBLY MOVE/CLEAR/SET/COMPARE ROUTINES

egisin@watmath.waterloo.edu (Eric Gisin) (08/23/88)

In article <8808180442.AA08547@cory.Berkeley.EDU>, dillon@CORY.BERKELEY.EDU (Matt Dillon) writes:
> In an article I write:
> :copying 12 long words with movem (a0)+,regs; movem regs,(a1); add.l Rn,a1"
> : takes 242 cycles on the 68000,
> :while 12 successive "move.l (a0)+, (a1)+" takes 240 cycles.
> :(timings derived from Motorola'a 68000 manual)
> :when copying fewer words, move.l is even better.
> 
> 				* BULL SHIT *
> 
> 	The motorola manual states the following for movem.l:
> 
> 	movem M->R, long:  (An)+:   12 + 8n clock cycles
> 	movem R->M, long:  (An):     8 + 8n clock cycles
> 	add.l D0,A1:		     8      clock cycles
> 
> 	Total clocks to move 12 longwords of data from source to destination
> 	in an ascending copy is:  220 clock cycles
>  [asks where I got my information]

Third edition of the Motorola 16-bit microprocessor user's manual.
It is dated 1982. On page 203, movem r->m (long) is 8+10n cycles.
I guess my sources are obsolete.

Anyone know when this changed to 8+8n cycles?

mitch@Stride.COM (Thomas Mitchell) (08/26/88)

In article <20499@watmath.waterloo.edu> egisin@watmath.waterloo.edu (Eric Gisin) writes:
>In article <8808180442.AA08547@cory.Berkeley.EDU>, dillon@CORY.BERKELEY.EDU (Matt Dillon) writes:
>> In an article I write:
>> :copying 12 long words with movem (a0)+,regs; movem regs,(a1); add.l Rn,a1"
>> 	The motorola manual states the following for movem.l:
>> 
>> 	movem M->R, long:  (An)+:   12 + 8n clock cycles
>> 	movem R->M, long:  (An):     8 + 8n clock cycles
>> 	add.l D0,A1:		     8      clock cycles
>> 
>> 	Total clocks to move 12 longwords of data from source to destination
>> 	in an ascending copy is:  220 clock cycles
>
>Third edition of the Motorola 16-bit microprocessor user's manual.
>It is dated 1982. On page 203, movem r->m (long) is 8+10n cycles.
>I guess my sources are obsolete.
>
>Anyone know when this changed to 8+8n cycles?
             ^^^^^^^^^^^^^^^^^^^^^^^^^

This is a better question than at first looked!

From A PRELIMINARY copy Original Issue: Sept 1, 1979
Of the MC68000 16-bit Microprocessor Users Manual page D-6
 	movem M->R, long:  (An)+:    6 + 4n clock cycles**
 	movem R->M, long:  (An):     4 + 4n clock cycles**
	** internal cycles (1 internal=2 clock input cycles)

From the third edition 1982
Of the MC68000 16-bit Microprocessor Users Manual page 203
 	movem M->R, long:  (An)+:   12 + 8n clock cycles
 	movem R->M, long:  (An):     8 +10n clock cycles

From the fourth edition 1984
Of the MC68000 16/32-bit Microprocessor Users Manual page 214
 	movem M->R, long:  (An)+:   12 + 8n clock cycles
 	movem R->M, long:  (An):     8 + 8n clock cycles

A Dec 1982 manual on the 68010 and an Oct 1985 man on th 68000
hold with movem.l R->M (An):     8 + 8n clock cycles.


mitch
-- 
Thomas P. Mitchell (mitch@stride1.Stride.COM)
Phone: (702)322-6868	TWX: 910-395-6073	FAX: (702)322-7975
MicroSage Computer Systems Inc.
Opinions expressed are probably mine.