Article View: net.micro.pc
Article #6568Re: More info on porting MicroEmacs 3.5
From: jrv
Date: Fri, 16 May 1986 13:23
Date: Fri, 16 May 1986 13:23
35 lines
2377 bytes
2377 bytes
Whether you can gain anything by compiling in "medium" model will depend
on just what is meant by "medium". There are two classes of information
in the program: data and code. These can independently be selected to use
offset only or segment/offset addressing which makes a total of 4
combinations. The Lattice C compiler gives you 4 memory options so that
you can mix things as needed. If the "medium" model on the MS C compiler
is large CODE and small DATA then your comment is correct. Everything
which is data must fit into one 64k segment. The code for MicroEMACS is
not large enough to warrant large code space addressing.
With the Lattice compiler the D model (small code, large data) is the best
one to use. However, static data size could become a problem. The Lattice
compiler has the requirement that all static data must exist in one 64k
segment (no if ands or buts). Large data model only buys you something
if you dynamically allocate memory storage. Any memory which is obtained
this way comes from outside of the static data segment so you have all of
memory to play with. MicroEMACS allocates buffer storage for files
dynamically using malloc() allowing it to go beyond the 64k limit.
I have a very small amount of experience with MS C (Microsoft right?).
One feature that I vaguely remember is a command line switch which allows
you to place static data in many segments. The option specified a value
and if the data item being declared was larger than that value it was
placed into its own segment rather than the common data segment. This is
a nice feature if you have a lot of static data. I appologize if my memory
of this option is totally contorted.
Jim Vallino
Siemens Research and Technology Lab.
Princeton, NJ
{allegra,ihnp4,seismo,philabs}!princeton!siemens!jrv
Technical Details
Message-ID:
<23900019@siemens.UUCP>Path:
arc1-ca.pugleaf.net!utzoo!linus!philabs!cmcl2!harvard!caip!princeton!siemens!jrvReferences:
<2628@yale.UUCP>Show Full Headers
Complete Article Headers
Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: arc1-ca.pugleaf.net!utzoo!linus!philabs!cmcl2!harvard!caip!princeton!siemens!jrv From: jrv@siemens.UUCP Newsgroups: net.micro.pc Subject: Re: More info on porting MicroEmacs 3.5 Message-ID: <23900019@siemens.UUCP> Date: Fri, 16-May-86 09:23:00 EDT Article-I.D.: siemens.23900019 Posted: Fri May 16 09:23:00 1986 Date-Received: Mon, 19-May-86 01:53:22 EDT References: <2628@yale.UUCP> Lines: 35 Nf-ID: #R:yale:-262800:siemens:23900019:000:1798 Nf-From: siemens!jrv May 16 09:23:00 1986