37 lines
828 B
C
37 lines
828 B
C
/*----------------*\
|
|
|Nanite OS |
|
|
|Copyright (C) 2024|
|
|
|Tyler McGurrin |
|
|
\*----------------*/
|
|
#include "memory.h"
|
|
|
|
void* memcpy(void* dst, const void* src, uint16_t num) {
|
|
uint8_t* u8Dst = (uint8_t *)dst;
|
|
const uint8_t* u8Src = (const uint8_t *)src;
|
|
|
|
for (uint16_t i = 0; i < num; i++)
|
|
u8Dst[i] = u8Src[i];
|
|
|
|
return dst;
|
|
}
|
|
|
|
void* memset (void * ptr, int value, uint16_t num) {
|
|
uint8_t* u8Ptr = (uint8_t *)ptr;
|
|
|
|
for (uint16_t i = 0; i < num; i++)
|
|
u8Ptr[i] = (uint8_t)value;
|
|
|
|
return ptr;
|
|
}
|
|
|
|
int memcmp(const void* ptr1, const void * ptr2, uint16_t num) {
|
|
const uint8_t* u8Ptr1 = (const uint8_t *)ptr1;
|
|
const uint8_t* u8Ptr2 = (const uint8_t *)ptr2;
|
|
|
|
for (uint16_t i = 0; i < num; i++)
|
|
if (u8Ptr1[i] != u8Ptr2[i])
|
|
return 1;
|
|
|
|
return 0;
|
|
}
|