1 #include <klibc/string.h>
2 #include <lunaix/compiler.h>
5 memcpy(void* dest, const void* src, unsigned long num)
12 "ldrb x0, [%[src], %[l]] \n"
13 "strb x0, [%[dest], %[l]] \n"
14 "sub %[l], %[l], %0 \n"
28 memset(void* ptr, int value, unsigned long num)
32 "strb %[val], [%[dest], %[l]] \n"
33 "sub %[l], %[l], %0 \n"
47 strlen(const char* str)
49 unsigned long register _c asm("x0");
54 "ldrb x1, [%[ptr], %0] \n"
69 strnlen(const char* str, unsigned long max_len)
71 unsigned long register _c asm("x0");
76 "ldrb x1, [%[ptr], %0] \n"
78 "sub x2, %[len], %0 \n"