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