Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!wuarchive!sdd.hp.com!spool.mu.edu!news.cs.indiana.edu!ux1.cso.uiuc.edu!usenet From: tmkk@uiuc.edu (K. Khan) Newsgroups: comp.databases Subject: Re: Clipper 5.01 error message Message-ID: <1991May15.204041.1153@ux1.cso.uiuc.edu> Date: 15 May 91 20:40:41 GMT References: <1991May15.163013.27831@gmuvax2.gmu.edu> <1991May13.223912.1975@gmuvax2.gmu.edu> <1991May14.211635.9711@ux1.cso.uiuc.edu> Sender: usenet@ux1.cso.uiuc.edu (News) Organization: University of Illinois at Urbana Lines: 44 In article <1991May15.163013.27831@gmuvax2.gmu.edu> mhovan@gmuvax2.gmu.edu (Mike Hovan) writes: > > >Somebody somewhere wrote: > >>In article <1991May13.223912.1975@gmuvax2.gmu.edu> mhovan@gmuvax2.gmu.edu (Mike Hovan) writes: >>> >>> >>> 650: Processor Stack Fault >>> Again, it looks like something to do with stack >>> overflow. >> >>Correct. This is, however, not a limitation of DOS as you speculate a > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >>little later in your message. Rather, it is the stack for the Clipper >>program itself. > > I understand that it is the Clipper stack overflowing. But I >still hold that it is an operating system problem (DOS SUCKS), a "Real" >operating system would allow an (semi-) infinite stack. The stack segment(s) used by your program have nothing to do with DOS. The stack segment is defined by the processor's SS register, which points to the start of a stack segment 64K bytes in size. the SP register is used as an offset into the stack segment for the top of the stack. Since the stack segment starting address is kept in a register, it's possible to have multiple stack segments simply by loading a new value into SS at run time. Thus, the only limit on the effective stack size is the size of memory (as well as the skill of the programmer attempting to code these sorts of stack manipulations ;-) Thus, stacks can be manipulated independent of DOS. Since it is possible to write programs with multiple stack segments which run under DOS, this is clearly a limitation of the COMPILER, not of DOS itself (i.e. Clipper doesn't bother with all the hairy calculation necessary to use multiple stack segments). I do, however, agree with you that DOS is not a "real" operating system. ;-) > Another thing to try if you like seeing error messages (and we >must, we own clipper) ;-)