You've already forked ultrasm64-2
mirror of
https://github.com/HackerN64/ultrasm64-2.git
synced 2026-01-21 10:38:08 -08:00
Add mem functions
This commit is contained in:
13
lib/src/libgcc/memcmp.c
Normal file
13
lib/src/libgcc/memcmp.c
Normal file
@@ -0,0 +1,13 @@
|
||||
/* Public domain. */
|
||||
#include <ultra64.h>
|
||||
|
||||
int memcmp(const void *str1, const void *str2, size_t count) {
|
||||
const unsigned char *s1 = str1;
|
||||
const unsigned char *s2 = str2;
|
||||
|
||||
while (count-- > 0) {
|
||||
if (*s1++ != *s2++)
|
||||
return s1[-1] < s2[-1] ? -1 : 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
17
lib/src/libgcc/memmove.c
Normal file
17
lib/src/libgcc/memmove.c
Normal file
@@ -0,0 +1,17 @@
|
||||
/* Public domain. */
|
||||
#include <ultra64.h>
|
||||
|
||||
void *memmove(void *dest, const void *src, size_t len) {
|
||||
char *d = dest;
|
||||
const char *s = src;
|
||||
if (d < s)
|
||||
while (len--)
|
||||
*d++ = *s++;
|
||||
else {
|
||||
char *lasts = (char *) s + (len - 1);
|
||||
char *lastd = (char *) d + (len - 1);
|
||||
while (len--)
|
||||
*lastd-- = *lasts--;
|
||||
}
|
||||
return dest;
|
||||
}
|
||||
9
lib/src/libgcc/memset.c
Normal file
9
lib/src/libgcc/memset.c
Normal file
@@ -0,0 +1,9 @@
|
||||
/* Public domain. */
|
||||
#include <ultra64.h>
|
||||
|
||||
void *memset(void *dest, int val, size_t len) {
|
||||
unsigned char *ptr = dest;
|
||||
while (len-- > 0)
|
||||
*ptr++ = val;
|
||||
return dest;
|
||||
}
|
||||
Reference in New Issue
Block a user