mirror of
https://github.com/SerenityOS/serenity
synced 2024-10-08 17:09:41 +00:00
Make the kernel's memset do a "rep stosb" because.
This commit is contained in:
parent
9bc7b128b2
commit
fa6029eed0
|
@ -18,12 +18,17 @@ void strcpy(char* dest, const char *src)
|
|||
while ((*dest++ = *src++) != '\0');
|
||||
}
|
||||
|
||||
void* memset(void* dest, byte c, dword n)
|
||||
void* memset(void* dest_ptr, byte c, dword n)
|
||||
{
|
||||
byte *bdest = (byte *)dest;
|
||||
for (; n; --n)
|
||||
*(bdest++) = c;
|
||||
return dest;
|
||||
dword dest = (dword)dest_ptr;
|
||||
asm volatile(
|
||||
"cld\n"
|
||||
"rep stosb\n"
|
||||
: "=D" (dest), "=c" (n)
|
||||
: "0" (dest), "1" (n), "a" (c)
|
||||
: "cc", "memory"
|
||||
);
|
||||
return dest_ptr;
|
||||
}
|
||||
|
||||
char* strrchr(const char* str, int ch)
|
||||
|
|
Loading…
Reference in a new issue