home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga ACS 1998 #4
/
amigaacscoverdisc1998-041998.iso
/
utilities
/
commercialdemos
/
warpup-warpos2
/
warprace
/
modsrc
/
memory
/
copy
/
wordcopy.s
< prev
Wrap
Text File
|
1997-09-24
|
4KB
|
151 lines
incdir include:
incdir lvo:
incdir powerasm:source/powerpc_lib/warprace/
** '(C) Copyright 1997 Haage & Partner Computer GmbH'
** All Rights Reserved
include exec/memory.i
include powerpc/powerpc.i
include warprace.i
include exec_lib.i
xref PPCCopy
xref _LinkerDB
xdef _PowerPCBase
xdef ErrParams
VERSION = 1
REVISION = 0
REVISIONCOUNT = 1
MEMSIZE = 256*1024
MEMLOOP = 256
mc68020
section "",code
start
movem.l d1-a6,-(sp)
lea _LinkerDB,a4
cmp.l #WR_ID,d0
beq.b .go
movem.l (sp)+,d1-a6
moveq #0,d0
rts
.go
move.l a0,a2
move.l WRI_POWERPCBASE(a2),_PowerPCBase
move.l $4.w,_SysBase
tst WRI_68K(a2)
bne .notPPC
move.l a2,a0
RUNPOWERPC PPCCopy
lea Err_Mem,a5
tst.l d0
beq.w .error
bra.w .done
.notPPC
move.l #MEMSIZE*2+32,d0
move.l d0,ErrParams
move.l #MEMF_PUBLIC,d1
CALLEXEC AllocVec
lea Err_Mem,a5
move.l d0,_Memory
add.l #31,d0
and.l #$ffffffe0,d0
move.l d0,d6
tst.l d0
beq.w .error
move.l d6,d5
add.l #MEMSIZE,d6
move.l d5,a0
move.l d6,a1
bsr WordCopy
move.l WRI_STARTTIMER_68K(a2),a1
jsr (a1)
move #MEMLOOP-1,d4
.loop
move.l d5,a0
move.l d6,a1
bsr WordCopy
dbra d4,.loop
move.l WRI_STOPTIMER_68K(a2),a1
jsr (a1)
.done
move.l #MEMSIZE*MEMLOOP,d2
mulu.l #1000000,d1:d2
divu.l d0,d1:d2
move.l d2,Result
move.l d2,d1
moveq #20,d0
asr.l d0,d2
move.l d2,ResultParams
and.l #$fffff,d1
mulu #100,d1
asr.l d0,d1
move.l d1,ResultParams+4
move.l #STATUS_SUCCESS,Status
move.l _Memory,a1
CALLEXEC FreeVec
bra.b .end
.error
move.l a5,ErrStr
move.l #STATUS_ERROR,Status
.end
move.l #WRO,d0
movem.l (sp)+,d1-a6
rts
WordCopy
move.l #(MEMSIZE>>5)-1,d3
.copy
rept 16
move (a0)+,(a1)+
endr
dbra d3,.copy
rts
section "",data
WRO
dc.l ModName
dc.l Short
dc.l Description
dc.l Author
dc.l VERSION
dc.l REVISION
dc.l REVISIONCOUNT
dc.l 0
Result
dc.l 0
dc.l RES_BYTESPERSEC
dc.l ResultString
dc.l ResultParams
Status
dc.l 0
ErrStr
dc.l 0
dc.l ErrParams
dc.l 0
ModName dc.b "WordCopy",0
Short dc.b "Memory test: Word copy operation (FAST -> FAST)",0
Description dc.b "This program copies a large block of memory from FAST-RAM\n"
dc.b "to FAST-RAM using word copy statements",0
Author dc.b "Sam Jordan",0
ResultString dc.b "Memory performance: %ld.%02ld MB/s",0
Err_Mem dc.b "Failed to allocate %ld bytes of memory",0
section "",bss
ds.b 32
_SysBase ds.l 1
_PowerPCBase ds.l 1
_Memory ds.l 1
ResultParams ds.l 2
ErrParams ds.l 1
ds.b 32