Jameco Electronics 3000 User Manual

Page of 349
User’s Manual
31
ded applications. Some applications may require large data arrays or tables that will 
require additional data memory. For this purpose Dynamic C supports a type of extended 
data memory that allows the use of additional data memory, even extending far beyond a 
megabyte.
Requirements for stack memory depend on the type of application and particularly 
whether preemptive multitasking is used. If preemptive multitasking is used, then each 
task requires its own stack. Since the stack has its own segment in 16-bit address space, it 
is easy to use available RAM memory to support a large number of stacks. When a pre-
emptive change of context takes place, the STACKSEG register can be changed to map 
the stack segment to the portion of RAM memory that contains the stack associated with 
the new task that is to be run. Normally the stack segment is 4K, which is typically large 
enough to provide space for several (typically four) stacks. It is possible to enlarge the 
stack segment if stacks larger than 4K are needed. If only one stack is needed, then it is 
possible to eliminate the stack segment entirely and place the single stack in the data seg-
ment. This option is attractive for systems with only 32K of RAM that don’t need multiple 
stacks.