Jeff Erwin said the following on 10/15/2008 1:32 PM:
>
> I'm confused. I have V4 of the "resident" compiler, that is, the one
> that runs on an MDS Series II or MDS-800. Those machines had either an
> 8080 or an 8085 cpu. I'm putting in a very small screen shot below of
> the files. Hopefully this is ok for the list. It shows that there are
> 6 overlay files to this compiler. It is not one monolithic executable.
> Are you sure you aren't talking about the PL/M-86 compiler that runs on
> an MDS Series III? That one is 8086-based.
>
> If, indeed, you have an 8080-based compiler for PL/M-80 that is one
> large file, I would like to see that. It is new to me.
>
I think we are both right, although I am guilt of not being clearer. The
earlier versions required two executables, plm81 and plm82. Version 4 went
to a single executable with 7 overlays, plm80.ov0 to plm80.ov6. I think
this is what you are seeing. It isn't really 'one big executable' so I
misspoke. If you see the overlays, you have version 4.
The source for CPM (2.2 I think) seems to be in the PLM80 v4 format, I am
picking up a lot of the specifics from there, but if you can find the actual
docs...!
Thanks for looking.
By the way, your boss was right to be wary of National Semi in those days,
the management of the group creating Starplex was pretty squirrely. I
stayed a year out of school before I was hired by INtel and moved to
Oregon. Intel was a $300M company when I went there!
Jeff
Well, I hope this discussion isn't getting boring for the rest of the
list, but I still think you are referring to a different compiler. When
you mentioned PLM81 and PLM82 that made me think of the cross-compiler
that was written in Fortran and ran on mainframes. We had that when I
started writing in PL/M-80, and it definitely was different, in syntax,
than the "resident" compiler than Intel released for the MDS. I have no
way to prove my hunch because all I have now is the resident MDS-based
software. I do have the syntax manual for that compiler somewhere, but
that would take a major excavation, I'm afraid, to locate.
From memory, the cross compiler did NOT have the DATA construct because
it made code that went into ROM. DATA was a way to initialize variables
at load time of the executable. It assumed you were disk-based and
loaded the executable from a drive just prior to execution. If you were
running a program from ROM there is no "load time" per se. If you
wanted to initialize variables you had to do it programmatically.
I just looked in my V3.0/V3.1 compiler operator's manual (the C suffix
version of 9800300) and it lists the same file list as V4.0 with the
exception of overlay files from OV0 through OV4 only. Two fewer overlay
files. And from memory, the version 2 was similar. I probably have all
these versions of executables on 8" floppies.
I'd have to dig through my 8" floppies to find the actual compiler, but
I'm sure I have it.
I will see what I can do to scan the syntax manual if you want. That is
the manual number 9800268B. But it is NOT version-specific. Only the
compiler operator's manual is version-specific.
Dave