home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!news.tek.com!vice!bobbe
- From: bobbe@vice.ICO.TEK.COM (Robert Beauchaine)
- Newsgroups: comp.lang.pascal
- Subject: Re: Creating a TSR
- Message-ID: <10974@vice.ICO.TEK.COM>
- Date: 16 Dec 92 20:32:41 GMT
- References: <ByyHw1.2vx@pcuf.fi> <Hendrik.Klompmaker.27.724459150@beheer.zod.wau.nl> <BzD80L.KHr@news.cso.uiuc.edu>
- Organization: Tektronix, Inc., Beaverton, OR.
- Lines: 31
-
- In article <BzD80L.KHr@news.cso.uiuc.edu> amead@s.psych.uiuc.edu (Alan Mead) writes:
- >Hendrik.Klompmaker@beheer.zod.wau.nl (Hendrik Klompmaker) writes:
- >
- >If you are really interested in HOW to write a TSR (as opposed to just
- >getting the job done), then I have a few bits of code. The problem
- >(which I'll only sketch) is rather more complex than you seemed to
- >think. DOS and some of the BIOS is NON-REENTRANT, meaning that if you
- >call, a function twice (once by some application and the second time by
- >you TSR that "pops-up" over the first app) the second call overwrites
- >information neccessary for the first call to return. Thus after your
- >TSR reliquishes control, execution resumes at some random point in
- >memory and chaos ensues.
-
- For the best discussion I've ever seen on this subject, find a
- copy of _Turbo_Pascal_Advanced_Programmer's_Guide_. It addresses
- every part of TSR programming, including stack switching,
- reentrancy, unloading, checking for a running copy, etc.
-
- I know the book is out of print, but if you can find a used copy,
- it's worth this single chapter alone. Lot's of other good stuff,
- too.
-
-
- /\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
-
- Bob Beauchaine bobbe@vice.ICO.TEK.COM
-
- C: The language that combines the power of assembly language with the
- flexibility of assembly language.
-
- Real friends don't let friends use UNIX.
-