Purpose: Allocates additional stack space for DOS. If you see the
...then you should put a STACKS= statement in CONFIG.SYS
n is the number of stacks to allocate (0-64; default=9)
s is the size (in bytes) of each stack (32-512; default=128)
DOS typically intercepts interrupts 02H, 08H-0eH, 72H-74H, and 76H-77H
When one of these interrupts occurs, DOS points SS:SP to an internal
data area; that is, it switches stacks. This is supposed to minimize
the chance of a hardware interrupt overflowing an application's stack.
Note: DOS only performs stack switching when n is greater than 8.
STACKS=0,0 saves about 1K of conventional memory (but it may cause
problems when running communications software or other interrupt-
intensive applications, or when running poorly-written software that
supplies insufficient internal stack space for handling external
A worst-case scenario -- such as an interrupt interrupting an
interrupt, which itself is interrupted (etc.) -- can cause a stack
overflow. If that happens, you should fall back to the default stack
settings or even increase them.