Sets up areas in memory called "Interrupt Stacks" to store interrupts from hardware to prevent MS-Dos being overwhelmed by multiple devices simultaneously demanding processor action.

The STACKS and STACKSHIGH commands can only be invoked from Config.sys.


To load the interrupt stacks in conventional memory:

To load the interrupt stacks in upper memory:
nThe number of stacks. n can be from 8 to 64 or 0. The default is 9.
sThe size (in bytes) of each stack. s can be 32 to 512 or 0 (if n is 0). The default is 256.


On receiving a hardware interrupt, MS-Dos stores the information in one of the interrupt stacks (if available) until it can be processed by the CPU. Many programs include their own stack areas and do not require those provided in the STACKS command. Often STACKS can be set at 0,0 (saving some memory) without problems. However, if a machine becomes unstable with STACKS=0,0 then the default values should be used.

If STACKS are not set at 0,0 and either "Stack Overflow" or "Exception Error 12" error message is displayed, the number and/or size of the stacks should be increased.

If DOS is used to manage the upper memory blocks (it usually is), the default values for STACKS are automatically loaded into the HMA. ie. the line
is invoked without needing to be explicitly stated.

This page last revised:
December 9, 1999.