Returns the system stack and heap parameters.
The values returned are typically those used by the C library during initialization. For a
debug hardware unit, such as RVI or DSTREAM, the values returned are the image location and
the top of memory.
The C library can override these values.
The host debugger determines the actual values to return by
using the top_of_memory
debugger variable.
Entry
On entry, R1
contains the address of a
pointer to a four-word data block. The contents of the data block
are filled by the function. The following example shows the structure
of the data block and return values.
struct block {
int heap_base;
int heap_limit;
int stack_base;
int stack_limit;
};
struct block *mem_block, info;
mem_block = &info;
AngelSWI(SYS_HEAPINFO, (unsigned) &mem_block);
Note
If word one of the data block has the value zero, the C library
replaces the zero with Image$$ZI$$Limit
. This
value corresponds to the top of the data region in the memory map.
Return
On exit, R1
contains the address of the
pointer to the structure.
If one of the values in the structure is 0, the system was
unable to calculate the real value.