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

                                    -*-