STACKS= (CONFIG.SYS Command)

                                                         Compatibility: 2.0+ 
 Purpose: Allocates additional stack space for DOS.  If you see the
          message...
                Internal Stack Failure
                System Halted
          ...then you should put a STACKS= statement in CONFIG.SYS

  Syntax: STACKS= n,s

█▌Parameters▐█

        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)

█▌TECH Notes▐█

  ■ DOS typically intercepts interrupts 02H, 08H-0eH, 72H-74H, and 76H-77H
    (see Interrupts and BIOS Services) which handle IRQs.

    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
    interrupts.

   ■ 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.

See Also: CONFIG.SYS Commands
                                    -♦-