lattice C
04-Apr-88 00:19:13
Sb: #117279-lattice C
Fm: Scott Ballantyne 70066,603
To: Steve Ahlstrom 76703,2006
This message turned up in search, but its forum couldn’t be identified from the original transcript, so it may not be linked into its thread.
Well, I disagree, movmem() is also in the library, BTW. A typical
implementation of strcpy() on a 68000 would be
lab: move.b (a0)+,(a1)+
bne.s lab
This compares favorably with:
lab move.b (a0)+,(a1)+
dbra d0,lab
which also restricts you to copies less than 64k in size. You could do
something like:
move.l d0,d1
swap d1
bra lab2
lab move.b (a0)+,(a1)+
lab2 dbra d0,lab
dbra d1,lab
which would be quite quick, but I still maintain strcpy() as shown above
compares favorably with the dbra versions of memcpy(), especially if you
add in the extra instructions needed for stuffing a null at the end on the
return.