projects
/
unix-history
/ blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
tags
|
clone url
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
blame
|
history
|
raw
|
HEAD
speedup by doing cmpc3 then locc; reduce chance for bogus page fault
[unix-history]
/
usr
/
src
/
lib
/
libc
/
vax
/
string
/
strcpy.s
/* strcpy.s 4.3 84/11/07 */
/*
* Copy string s2 over top of s1.
* Return base of s1.
*
* char *
* strcpy(s1, s2)
* char *s1, *s2;
*/
#include "DEFS.h"
ENTRY(strcpy, R6)
movl 4(ap), r3 # r3 = s1
movl 8(ap), r6 # r6 = s2
1:
locc $0,$65535,(r6) # find length of s2
bneq 2f
movc3 $65535,(r6),(r3)# copy full block
movl r1,r6
jbr 1b
2:
subl2 r6,r1 # calculate length
incl r1
movc3 r1,(r6),(r3) # copy remainder
movl 4(ap),r0 # return base of s1
ret