To run LINK-80, type L80 followed by a carriage return. Link-80 will return
the prompt "*" indicating that it is ready to accept commands. Each command
to LINK-80 consists of a string of filenames and switches, separated by
commas.
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 will load or search (see /S below) the
specified files. After LINK finishes this process, it will list all symbols
that remained undefined followed by an asterisk.
Example:
*TESTPROG
DATA 0100 0200
LABEL1 (label1 is undefined)
DATA 0100 0300
*LABEL1
*/G (starts execution - see below)
Typically, to execute a FORTRAN and/or COBOL program subroutines, the user
types the list of filenames followed by /G (begin execution). Before
execution begins, LINK-80 will always search the system library (FORLIB.REL
or COBLIB.REL) to satisfy any unresolved external references. If the user
wishes to first search libraries of his own, he should append the filenames
that are followed by /S to the end of the loader command string.
2.1.2 LINK-80 Switches
------- --------
A number of switches may be given in the LINK-80 command string to specify
actions affecting the loading process. Each switch must be preceded by
a slash (/). These switches are:
SWITCH ACTION
------ ------
R Reset. Put loader back in its initial state. Use /R if
loaded the wrong file by mistake and want to restart.
/R takes effect as soon as it is encountered in a command
string.
E or E:Name Exit LINK-80 and return to the Operating System. The system
library will be searched on the current disk to satisfy any
existing undefined globals. The optional form E:Name (where
Name is a global symbol previously defined in one of the
modules) uses Name for the start address of the program.
Use /E to load a program and exit back to the monitor.
G or G:Name Start execution of the program as soon as the current command
line has been interpreted. The system library will be searched
on the current disk to resolve existing undefined globals
(external references) if they exist. Before execution begins,
LINK-80 prints three numbers and a BEGIN EXECUTION message.
The three numbers are the start address, the address of the
next available byte, and the number of 256-byte pages used.
The optional form G:Name (as with /E above) uses Name for
the start address of the program.
N If a FILENAME/N is specified, the program will be saved on disk
under the selected name (with a default extension of .COM for
CP/M) when a /E or /G is done. A jump to the start of the
program is inserted if needed so the program can run properly
(at 100H for CP/M).
P and D /P and /D allow the origin(s) to be set for the NEXT program
loaded. /P and /D take effect when seen (not deferred), and
they have NO effect on programs already loaded. The form is
P:ADDRESS> or /D:ADDRESS>, where ADDRESS> is the desired
origin in the current typeout radix. (Default radix for
non-MITS versions is hex. /O sets radix to octal; /H for hex.)
LINK-80 does a default /P:LINK origin>+3 (i.e., 103H for CP/M
and 4003H for ISIS) to leave room for the jump to the start
address.
NOTE: Do not use /P or /D to load programs or data into the
locations of the loader's jump to the start address (100h to
102h for CP/M and 2800h to 2802h for DTC), unless it is to
load the start of the program there. If programs or data are
loaded into these locations, the jump will not be generated.
If no /D is given, data areas are loaded before program areas
for each module. If a /D is given, all Data and Common areas
are loaded starting at the data origin and the program area
at the program origin.
Example:
-------
*/P:200,F00
Data 200 300
*/R
*/P:200 /D:400,F00
Data 400 480
Program 200 280
U List the origin and end of the program and data area and all
undefined globals as soon as the current command line has been
interpreted. The program information is only printed if a /D
has been done. Otherwise, the program is stored in the data
area.
M List the origin and end of the program and data area, all
defined globals and their values, and all undefined globals
followed by an asterisk. The program information is only
printed if a /D has been done. Otherwise, the program is
stored in the data area.
S Search the filename immediately preceding the /S in the
command line to satisfy any undefined globals.