Compatibility: 2.0+

 Purpose: Allocates additional stack space for DOS.  If you see the


                Internal Stack Failure

                System Halted

          ...then you should put a STACKS= statement in CONFIG.SYS

  Syntax: STACKS= n,s


        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


   ■ 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