You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

35 lines
731 B

unsigned int global_heap_start = 0;
unsigned int global_heap_end = 0;
unsigned int global_heap_next = 0;
void* malloc(num_bytes);
int set_heap_settings(param_start, param_end);
unsigned int get_heap_next();
void* malloc(num_bytes)
int num_bytes;
{
unsigned int allocated_pointer = global_heap_next;
global_heap_next = global_heap_next + num_bytes;
if (global_heap_next > global_heap_end)
{
return 0; /* No more memory */
}
return allocated_pointer;
}
int set_heap_settings(param_start, param_end)
unsigned int param_start;
unsigned int param_end;
{
global_heap_start = param_start;
global_heap_next = param_start;
global_heap_end = param_end;
return 0;
}
unsigned int get_heap_next()
{
return global_heap_next;
}