kolibrios/programs/emulator/kwine/lib/stdlib.c

46 lines
779 B
C
Raw Normal View History

unsigned long int __rnd_next = 1;
int rand(void) // RAND_MAX assumed to be 32767
{
__rnd_next = __rnd_next * 1103515245 + 12345;
return (unsigned int)(__rnd_next/65536) % 32768;
}
void srand(unsigned int seed)
{
__rnd_next = seed;
}
void *malloc(size_t size)
{
void *val;
__asm__ __volatile__(
"int $0x40"
:"=a"(val)
:"a"(68),"b"(12),"c"(size));
return val;
}
int free(void *mem)
{
int val;
__asm__ __volatile__(
"int $0x40"
:"=a"(val)
:"a"(68),"b"(13),"c"(mem));
return val;
}
void* realloc(void *mem, size_t size)
{
void *val;
__asm__ __volatile__(
"int $0x40"
:"=a"(val)
:"a"(68),"b"(20),"c"(size),"d"(mem)
:"memory");
return val;
};