🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: net.micro.pc
Article #6568

Re: More info on porting MicroEmacs 3.5

#6568
From: jrv
Date: Fri, 16 May 1986 13:23
35 lines
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!jrv
References: <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