Name | Addresses | Size | Usage |
Soft Stack | [GG+1->TT] |
software stack, grows upward to top of memory | |
Globals | [PP+1->GG] |
global variables | |
Scratch | [22->PP] |
SCRATCH_SIZE-20 | returned value area |
FP aux | [14-21] |
8 | auxiliary zone for FP routines |
Registers | [2->13] |
12 | _r0,_r1,_r2,_r3,_r4,_r5 pseudo-registers |
C18_errno |
[1->1] |
1 | reserved by libraries |
IT mask | [0->0] |
1 | reserved by RTL |
There is currently no reserved zone to implement a heap for dynamic memory allocation (ie: malloc(), free() and so on). However such a zone could be obviously implemented at the end of physical memory, and must expand from top (high addresses) to bottom.