[net.micro.pc] More on Microsoft Fortran 3.10

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