home *** CD-ROM | disk | FTP | other *** search
- type
- PLowData = ^TLowData;
- TLowData = record {Data structure stored by TP at DSeg:10}
- pStackTop : Word; {Lowest allowable offset for the stack}
- pStackBot : Word; {Highest offset for the stack}
- pStackMin : Word; {Lowest detected value of SP}
- end;
-
- procedure FillStack;
- var P : PLowData;
- begin
- P := Ptr(DSeg, 10);
- FillChar(Mem[SSeg:P^.pStackTop],P^.pStackBot-P^.pStackTop-32,$AA);
- end;
-
- function FreeStack : Word;
- var P : PLowData; S : Word;
- begin
- P := Ptr(DSeg, 10);
- S := P^.pStackTop;
- while Mem[SSeg:S] = $AA do inc(S);
- FreeStack := S-P^.pStackTop;
- end;
-
- function TPFreeStack : Word;
- var P : PLowData;
- begin
- P := Ptr(DSeg, 10);
- TPFreeStack := P^.pStackMin-P^.pStackTop;
- end;