home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CP/M
/
CPM_CDROM.iso
/
cpmhelp
/
fortran.hlp
< prev
next >
Wrap
Text File
|
1994-07-27
|
7KB
|
160 lines
Invoking FORTRAN-80 and MACRO-80
FORTRAN-80 Compilation Switches
FORTRAN-80 Library Subroutines
FORTRAN-80 Logical Device Assignments
Invoking LINK-80
LINK-80 Switches
Creating a FORTRAN-80 .COM File
:Invoking FORTRAN-80 and MACRO-80
The FORTRAN-80 compiler and the MACRO-80 assembler, named F80 and M80
respectively, are invoked in a similar fashion. In both cases, the name of
the program is given followed by an argument list. This argument list is
of the general form --
obj-dev:filename.ext,list-dev:filename.ext=
source-dev:filename.ext
These symbols are defined as follows --
obj-dev: The device on which the object program is to be written.
list-dev: The device on which the program listing is written.
source-dev: The device from which the source program input to
FORTRAN-80 or MACRO-80 is obtained.
filename.ext: The filename and filename extension of the object
program file, the listing file, and the source program file.
The default extensions are --
FOR FORTRAN-80 Source File
MAC MACRO-80 Source File
PRN Print (Listing) File
REL Relocatable Object File
COM Absolute Object File ORGed to 100H
The specifications for either the object file, the listing file, or
both may be omitted. If neither a listing file nor an object file is
desired, place only a comma to the left of the equal sign. If the names of
the object file and the listing file are omitted, the default is the name
of the source file. Logical CP/M devices may be specified as follows --
A:, B: Disk Drives (Only A: or B:)
HSR: High Speed Reader
LST: Line Printer
TTY: Teletype or CRT
Examples --
A>F80
*=TEST
Compile the program TEST.FOR and place the object in TEST.REL
*,TTY:=TEST
Compile the program TEST.FOR and list the program on the
terminal. No object is generated.
*TESTOBJ=TEST.FOR
Compile the program TEST.FOR and put object in TESTOBJ.REL
*TEST,TEST=TEST
Compile TEST.FOR, and put object in TEST.REL and listing in
TEST.PRN
*,=TEST.FOR
Compile TEST.FOR but produce no object or listing file. Useful
for checking for errors.
In all cases, the * is the prompt from FORTRAN-80. The indicated
operations may also be performed by typing 'F80' followed by the option,
like 'F80 =TEST'.
Refer to the 'FORTRAN-80 User's Manual', Copyright 1977, by Microsoft.
:FORTRAN-80: FORTRAN-80 Compilation Switches
A number of different switches may be given in the command string that
will affect the format of the listing file. Each switch should be preceded
by a slash (/):
Switch Function
------ --------
O Print all listing addresses in octal
H Print all listing addresses in hexadecimal (default)
N Do not list generated code
R Force generation of an object file
L Force generation of a listing file
P Each /P allocates an extra 100 bytes of runtime stack space
M Specifies to the compiler that the generated code should be in a
form which can be loaded into ROM.
:FORTRAN-80: FORTRAN-80 Library Subroutines
The standard library (FORLIB.REL) includes the following subroutines
and functions --
ABS IABS DABS AINT INT IDINT
AMOD MOD AMAX0 AMAX1 MAX0 MAX1
DMAX1 AMIN0 AMIN1 MIN0 MIN1 DMIN1
FLOAT IFIX SIGN ISIGN DSIGN DIM
IDIM SNGL DBLE EXP DEXP ALOG
DLOG ALOG10 DLOG10 SIN DSIN COS
DCOS TANH SQRT DSQRT ATAN DATAN
ATAN2 DATAN2 DMOD PEEK POKE INP
OUT
:FORTRAN-80: FORTRAN-80 Logical Device Assignments
LUN* Device
---- ------
1,3,4,5 Preassigned to CON:
2 Preassigned to LST:
6-10 Preassigned to Disk Files (Reassignable)
11-255 User-Assignable
* LUN = Logical Unit Number
:LINK-80: Invoking LINK-80
Each command to LINK-80 consists of a number of filenames and switches
separated by commas --
obj-dev1:filename.ext/sw1,obj-dev2:filename.ext, ...
If the input device for a file is omitted, the default is the
currently logged disk. If the extension of a file is omitted, the default
is .REL. After each line is typed, LINK-80 will load or search the
specified files, and, when finished, it will list all symbols that remain
undefined followed by an asterisk. LINK-80 is invoked by the program name
'L80'.
LINK-80 can be used to generate a .COM file of a FORTRAN-80 program.
This can be done by typing --
L80 program/E
LINK-80 will respond with a string of the form --
[aaaa bbbb nn]
The user may then create the .COM file by typing --
SAVE nn program.COM
:LINK-80: LINK-80 Switches
The following are the switches for LINK-80. As for FORTRAN-80, these
switches are preceeded by a slash (/).
Switch Function
------ --------
R Reset. Initialize loader.
E,E:name Exit LINK-80. FORLIB.REL will be searched to satisfy existing
undefined references. If 'name' is specified, the value of this
symbol is used as the start address of the program.
G,G:name Go. Start execution of program. FORLIB.REL will be searched to
satisfy any existing undefined references.
U List all undefined references.
M Map. List all defined references and their values; all undefined
references are followed by an asterisk.
S Search. Search the file specified before this switch to satisfy
references.
N If a filename/N is specified, the program will be saved on disk
under the selected name with a default extension of .COM.
P and D See Addenda to Section 2 of documentation.
Three numbers are specified after the /E and /G switches are executed.
They are given in the form --
[aaaa bbbb nn]
aaaa - start address of program
bbbb - address of next available byte
nn - number of 256-byte pages used
:Creating a FORTRAN-80 .COM File
There are two basic ways to create a .COM file of a FORTRAN-80
program. For example, to generate PROG.COM from PROG.FOR, proceed in one
of the following ways --
I. Using SAVE
F80 =PROG
L80 PROG/E
[aaaa bbbb nn] -- response from LINK-80 (necessary data)
SAVE nn PROG.COM
II. Using /N LINK-80 Switch
F80 =PROG
L80 PROG/E,PROG/N