home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fish 'n' More 2
/
fishmore-publicdomainlibraryvol.ii1991xetec.iso
/
disks
/
disk447.lzh
/
DFC
/
FastRoutines.a
< prev
next >
Wrap
Text File
|
1991-02-02
|
1KB
|
56 lines
CSECT text,0,,1,2
;
; This routine is a fast machine-language block move, that moves
; exactly one block of data. Do not change TRACKSIZE and expect
; this still to work!
;
XDEF fcpy
XDEF fcmp
fcpy:
; source is in A0, dest in A1
movem.l a0-a6/d0-d7,-(a7)
move.l #43,d0
lsdf:
movem.l (a0)+,a2-a6/d1-d7
movem.l a2-a6/d1-d7,(a1)
add.w #48,a1
movem.l (a0)+,a2-a6/d1-d7
movem.l a2-a6/d1-d7,(a1)
add.w #48,a1
movem.l (a0)+,a2-a6/d1-d7
movem.l a2-a6/d1-d7,(a1)
add.w #48,a1
movem.l (a0)+,a2-a6/d1-d7
movem.l a2-a6/d1-d7,(a1)
add.w #48,a1
movem.l (a0)+,a2-a6/d1-d7
movem.l a2-a6/d1-d7,(a1)
add.w #48,a1
movem.l (a0)+,a2-a5
movem.l a2-a5,(a1)
add.w #16,a1
dbra d0,lsdf
movem.l (a7)+,a0-a6/d0-d7
rts
;
; Another fast assembly language routine for verifying a buffer. This
; routine returns 0 if the two buffers are the same, and something else
; otherwise.
;
fcmp:
; source is in A0, dest in A1;
movem.l a0/a1,-(a7)
move.l #2815,d0
alsdf:
cmp.l (a0)+,(a1)+
dbne d0,alsdf
addq.w #1,d0
ext.l d0
movem.l (a7)+,a0/a1
rts