diff options
Diffstat (limited to 'strings/memset.c')
-rw-r--r-- | strings/memset.c | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/strings/memset.c b/strings/memset.c new file mode 100644 index 00000000000..57c8fea5ebe --- /dev/null +++ b/strings/memset.c @@ -0,0 +1,35 @@ +/* File : memset.c + Author : Richard A. O'Keefe. + Updated: 25 May 1984 + Defines: memset() + + memset(dst, chr, len) + fills the memory area dst[0..len-1] with len bytes all equal to chr. + The result is dst. See also bfill(), which has no return value and + puts the last two arguments the other way around. + + Note: the VAX assembly code version can only handle 0 <= len < 2^16. + It is presented for your interest and amusement. +*/ + +#include "strings.h" + +#if VaxAsm + +char *memset(char *dst,int chr, int len) +{ + asm("movc5 $0,*4(ap),8(ap),12(ap),*4(ap)"); + return dst; +} + +#else ~VaxAsm + +char *memset(char *dst, register pchar chr, register int len) +{ + register char *d; + + for (d = dst; --len >= 0; *d++ = chr) ; + return dst; +} + +#endif VaxAsm |