Gavin_Eadie%UMich-MTS@sri-unix.UUCP (07/13/83)
This, from the University of Michigan bulletin board CRLT:MICROS ...
-----
Item 526 13:57 Jul12/83 51 lines
John Lees
Microsoft MS-DOS FORTRAN Version 3.10
We (Center for Political Studies, ISR) now have our copy of
Microsoft's FORTRAN 3.10. We obtained our copy from Microware in
Kingston, MA, phoning in a P.O. number on Monday and receiving
the order by Federal Express on Tuesday.
The compiler comes in a plastic box containing: user's guide
(128pp) and reference manual(210pp), quick reference guide,
registration materials, Microsoft catalog, and 5 single sided
disks. The compiler requires 160k (system + 140k) minimum.
This is a three pass compiler, although the third pass is
optional and only generates an assembler listing. Two libraries
are included: a version that works only with the 8087, and an
"emulator" version that works with or without the 8087 (if it
finds the 8087 it dynamically modifies itself to use the
coprocessor; else it emulates the 8087). Linkers are included
for DOS 1.x and DOS 2.x.
Each source file compiled can have a 64k code space. Each named
COMMON can be up to 64k in size. Stack, heap, temporaries,
constants, blank COMMON, and miscellaneous variables end up in
the data segment (64k max). ES is used to address data in named
COMMON, so you'll pay a penalty loading ES if you have more than
one named COMMON, but this can be minimized with careful design.
The linkers do NOT support overlays, but you can at least use
all your available memory.
The Microsoft manual contains a great deal of information about
the workings of the compiler, the runtime support, and the
MS-DOS interface. ASM source is supplied for the execution
control module that begins and ends programs, and dummy modules
are supplied to replace the file system, error system, and real
number system if you need to make your load modules as small as
possible. (The compiler is written in MS-Pascal. Reference is
made to an article "Native-code Compilers are Portable and Fast"
in the May 14 issue of Electronic Design.)
This is a strict FTN-77 compiler *unless* you supply the
$NOTSTRICT metacommand. $NOTSTRICT allows: character expressions
to be assigned to non-character variables, comparison of
character and non-character expressions, character and
non-character variables in the same COMMON, EQUIVALENCE of
character and non- character variables, and initialization of
non-character variables with character constants. In other
words, you can actually use character data!
We haven't started using this compiler yet, but if it generates
efficient code and lives up to the manual, I think we've finally
found a decent FORTRAN compiler for the MS-DOS environment. (Or
the 8086 environment in general. This compiler appears to be
identical to the FORTRAN compiler in release 8.0 of CTOS from
Convergent Technologies. I don't know if it's available for the
Burroughs B-20.)
Now if we can only find a C compiler with similar capabilities,
we'll be cooking with gas. (The Microsoft catalog now lists a C
compiler, but it's just Lattice C with no 8087 support and no
extended addressing.)
-----
Gavin Eadie, Gavin_Eadie%UMICH-MTS.MAILNET@MIT-MULTICS
University of Michigan Computing Center
1075 Beal Avenue, Ann Arbor, Mich 48109