The USERSTACKDPP3 directive changes compiler assumptions about accesses to the user stack area and affects the address generation of far, huge, and xhuge pointers. By default, the user stack is located in the NDATA memory class and is accessed using DPP2. The USERSTACKDPP3 directive allows you to locate the user stack in the IDATA or SDATA memory classes which are accessed using DPP3. When relocating the user stack, some changes must be made to the definition of the ?C_USERSTACK section in the startup code (STARTUP.A66 or START167.A66) as follows.
?C_USERSTACK SECTION DATA PUBLIC 'IDATA'
or
?C_USERSTACK SECTION DATA PUBLIC 'SDATA'
In addition, you must change the following line:
MOV R0,#DPP2:?C_USERSTKTOP
to:
MOV R0,#DPP3:?C_USERSTKTOP
|