masscomp@soma.bcm.tmc.edu (Stan Barber, Moderator) (06/19/87)
Here are a revised version of bcopy with a version of bzero. Please be sure to let me know if I have made a mistake in my assembler! Stan Barber #! /bin/sh # This is a shell archive, meaning: # 1. Remove everything above the #! /bin/sh line. # 2. Save the resulting text in a file. # 3. Execute the file with /bin/sh (not csh) to create: # bcopy.s # bzero.s # This archive created: Thu Jun 18 17:31:04 1987 # By: Stan Barber, Moderator (Masscomp Users' Society) export PATH; PATH=/bin:/usr/bin:$PATH echo shar: "extracting 'bcopy.s'" '(714 characters)' if test -f 'bcopy.s' then echo shar: "will not over-write existing file 'bcopy.s'" else sed 's/^ X//' << \SHAR_EOF > 'bcopy.s' X| bcopy X| call from c just like the X| regular bcopy library routine. X| hopefully this one is much faster X| X| $Header: bcopy.s,v 1.3 87/06/18 17:24:38 sim Exp $ X| X| $Log: bcopy.s,v $ X| Revision 1.3 87/06/18 17:24:38 sim X| cleaned up and commented X| X| By Stan Barber X| Copyright 1987 Stan Barber X| All Right Reserved. This code may be distributed freely X| as long as this copyright notice remains intact. X| X| X| X| X .text X | bcopy.s X .globl _bcopy X_bcopy: link.w a6,#0 X | X move.l (8,a6),a0 | load first pointer into a0 X move.l (12,a6),a1 | load second pointer into a1 X move.l (16,a6),d0 | load counter into d0 X cmp.w #1,d0 X blt _bcp2 X_bcp1: move.b (a0)+,(a1)+ X dbra d0,_bcp1 X_bcp2: unlk a6 X rts X .data X .bss SHAR_EOF if test 714 -ne "`wc -c < 'bcopy.s'`" then echo shar: "error transmitting 'bcopy.s'" '(should have been 714 characters)' fi fi echo shar: "extracting 'bzero.s'" '(824 characters)' if test -f 'bzero.s' then echo shar: "will not over-write existing file 'bzero.s'" else sed 's/^ X//' << \SHAR_EOF > 'bzero.s' X| bzero X| call from c just like the X| regular bzero library routine. X| hopefully this one is much faster X| X| $Header: bzero.s,v 1.2 87/06/18 17:24:24 sim Exp $ X| X| $Log: bzero.s,v $ X| Revision 1.2 87/06/18 17:24:24 sim X| cleaned up and commented X| X| Revision 1.1 87/06/18 17:19:45 sim X| Initial revision X| X| By Stan Barber X| Copyright 1987 Stan Barber X| All Right Reserved. This code may be distributed freely X| as long as this copyright notice remains intact. X| X| X| X .text X | bzero.s X .globl _bzero X_bzero: link.w a6,#0 X | X move.l (8,a6),a0 | load first pointer into a0 X move.l (12,a6),d0 | load counter into d0 X cmp.w #1,d0 | is the counter less than 1? X blt _bzr2 | if yes, return X_bzr1: clr.b (a0)+ | clear each byte X dbra d0,_bzr1 | until the counter is zero X_bzr2: unlk a6 | return X rts X .data X .bss SHAR_EOF if test 824 -ne "`wc -c < 'bzero.s'`" then echo shar: "error transmitting 'bzero.s'" '(should have been 824 characters)' fi fi exit 0 # End of shell archive