2.1.1 LINK-80 Command Strings ------- ------- ------- 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. objdev1:filename.ext/switch1,objdev2:filename.ext/s,.... 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. END OF FILE S Search the fi