1*47942Sbostic/*- 2*47942Sbostic * Copyright (c) 1991 The Regents of the University of California. 3*47942Sbostic * All rights reserved. 4*47942Sbostic * 5*47942Sbostic * This code is derived from software contributed to Berkeley by 6*47942Sbostic * Computer Consoles Inc. 7*47942Sbostic * 8*47942Sbostic * %sccs.include.proprietary.c% 9*47942Sbostic */ 1029958Smckusick 11*47942Sbostic#ifndef lint 12*47942Sbostic .asciz "@(#)s_copy_s.s 5.2 (Berkeley) 04/12/91" 13*47942Sbostic#endif /* not lint */ 14*47942Sbostic 1529958Smckusick.data 1629958Smckusick.text 1729958SmckusickLL0:.align 1 1829958Smckusick.globl _s_copy 1929958Smckusick.set MASK__,0x1004 /* save r2, r12 */ 2029958Smckusick.data 2129958Smckusick.text 2229958Smckusick_s_copy:.word MASK__ 2329958Smckusickmovl 4(fp),r1 /* dest addr */ 2429958Smckusickmovl 8(fp),r0 /* src addr */ 2529958Smckusickmovl 12(fp),r12 /* dest length */ 2629958Smckusickcmpl r12,16(fp) /* if (ldest <= lsrc) */ 2729958Smckusickjgtr L16 2829958Smckusickmovl r12, r2 /* copy according to ldest */ 2929958Smckusickmovs3 3029958Smckusickret 3129958SmckusickL16: /* else */ 3229958Smckusickmovl 16(fp),r2 /* copy according to lsrc */ 3329958Smckusickmovs3 3429958Smckusickaddl2 4(fp),r12 /* and pad with spaces */ 3529958SmckusickL20:movb $32,(r1) 3629958Smckusickincl r1 3729958Smckusickcmpl r1,r12 3829958Smckusickjlssu L20 3929958Smckusickret 4029958Smckusick 41