files
kolibrios/programs/develop/ktcc/libc.obj/source/string/memcpy.c
Andrew 42e77931bf
Some checks failed
Build system / Check kernel codestyle (pull_request) Successful in 25s
Build system / Build (pull_request) Failing after 27s
develop/ktcc: Post-SVN tidy
- Move source code from `trunk` into program root directory.
- Update build files.
2025-05-24 11:48:18 +01:00

19 lines
465 B
C

#include <string.h>
void* memcpy(void* _dest, const void* _src, size_t _n)
{
int d0, d1, d2;
__asm__ __volatile__(
"rep ; movsl\n\t"
"testb $2,%b4\n\t"
"je 1f\n\t"
"movsw\n"
"1:\ttestb $1,%b4\n\t"
"je 2f\n\t"
"movsb\n"
"2:"
: "=&c"(d0), "=&D"(d1), "=&S"(d2)
: "0"(_n / 4), "q"(_n), "1"((long)_dest), "2"((long)_src)
: "memory");
return (_dest);
}