Article View: comp.os.msdos.programmer
Article #5255Relocating Data Segment to High Memory
From: Stephen C. Trier
Date: Sat, 16 Mar 1991 21:20
Date: Sat, 16 Mar 1991 21:20
23 lines
1632 bytes
1632 bytes
Our PC/IP software here uses a TSR for TCP/IP support, eating about
88K of conventional memory. I'd like to add an option to move part
of this into XMS memory. Since the kernel is small model, with about
60K used in its data segment, it seems that I could move the data
segment into the 64K High Memory Area with code like the following:
Request the HMA
Copy all but first 16 bytes of DS into the HMA
Point DS and SS at the HMA
Execute TSR call, reserving only enough space for CS
Then, when it comes time to unload the TSR, I release the HMA and
the code segment, in that order. Can I assume that the A20 line
will remain enabled, so that I can access the data segment in an
interrupt handler?
Does this make sense? Am I missing anything critical? It seems too
simple to be DOS! :-)
--
Stephen Trier Case Western Reserve University
Work: trier@cwlim.ins.cwru.edu Information Network Services
Home: sct@seldon.clv.oh.us %% Any opinions above are my own. %%
Technical Details
Message-ID:
<1991Mar16.212058.23907@usenet.ins.cwru.edu>Path:
arc1-ca.pugleaf.net!utzoo!news-server.csri.toronto.edu!cs.utexas.edu!asuvax!ncar!gatech!usenet.ins.cwru.edu!cwlim!trierReferences:
<9103162053.AA02053@samadams.Princeton.EDU>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!news-server.csri.toronto.edu!cs.utexas.edu!asuvax!ncar!gatech!usenet.ins.cwru.edu!cwlim!trier From: trier@cwlim.INS.CWRU.Edu (Stephen C. Trier) Newsgroups: comp.os.msdos.programmer Subject: Relocating Data Segment to High Memory Message-ID: <1991Mar16.212058.23907@usenet.ins.cwru.edu> Date: 16 Mar 91 21:20:58 GMT References: <9103162053.AA02053@samadams.Princeton.EDU> Sender: news@usenet.ins.cwru.edu Reply-To: trier@po.CWRU.Edu Organization: Case Western Reserve Univ. Cleveland, Ohio, (USA) Lines: 24 Nntp-Posting-Host: cwlim.ins.cwru.edu