TOPS-20 Commands Reference Manual

LOAD

Loads your program into memory, compiling the source file first if necessary.

Format

@LOAD (FROM) /switch(es) source/switch(es) object,...

where:

switches are keywords chosen from the list below, indicating your choice of LOAD command options. They have different effects depending on their position in the command line: placed before all files in the command, they act as defaults for all; otherwise they affect only the nearest preceding file.

Defaults are shown in the list of switches

source is the file specification of the source program. The filename must be of 6 or fewer characters, and the file type of 3 or fewer characters; you cannot use a generation number. This argument is not necessary if you supply an object filespec.
object is the file specification of the object program. The filename must be of 6 or fewer characters, and the file type must be .REL; you cannot use a generation number. This argument is not necessary if you supply a source filespec.

Default (if you give neither source nor object filespecs) - last filespecs and associated switches you gave in a LOAD-class command

Summary of LOAD Command Switches (defaults in boldface)
/10-BLISS
/36-BLISS
/68-COBOL
/74-COBOL
/ABORT
/ALGOL
/BINARY
/COBOL
/COMPILE
/CREF
/CROSS-REFERENCE
/DDT
/DEBUG
/FAIL
/FLAG-NON-STANDARD
/FORTRAN
/LANGUAGE-SWITCHES:"switch(es)"
/LIBRARY
/LIST
/MAC
/MACHINE-CODE
/MACRO
/MAP
/NOBINARY
/NOCOMPILE
/NOCREF
/NOCROSS-REFERENCE
/NODEBUG
/NOFLAG-NON-STANDARD
/NOLIBRARY
/NOLIST
/NOMACHINE-CODE
/NOOPTIMIZE
/NOSEARCH
/NOSTAY
/NOSYMBOLS
/NOWARNINGS
/OPTIMIZE
/PASCAL
/RELOCATABLE
/SAIL
/SEARCH
/SIMULA
/SNOBOL
/STAY
/SYMBOLS
/WARNINGS
LOAD Command Switches
/10-BLISS

compiles the file using the BLISS-10 compiler.

Default for files of type .B10 and .BLI

/36-BLISS

compiles the file using the BLISS-36 compiler.

Default for files of type .B36

/68-COBOL

compiles the file using the COBOL-68 compiler.

Default for files of type .C68 or .68C

/74-COBOL

compiles the file using the COBOL-74 compiler.

Default for files of type .C74 or .74C

/ABORT stops a compile if a fatal error is detected and returns your terminal to TOPS-20 command level.
/ALGOL

compiles the file using the ALGOL compiler.

Default for files of type .ALG

/BINARY

allows generation of an object (binary) file for each source file given.

Default

/COBOL

compiles the file using the COBOL compiler, either COBOL-68 or COBOL-74, that your installation has stored in the file SYS:COBOL.EXE.

Default for files of type .CBL

/COMPILE forces compilation of the source file even if a current object file already exists. Use this switch along with a /LIST or /CREF switch to obtain listings when you have current object files.
/CREF same as /CROSS-REFERENCE.
/CROSS-REFERENCE creates a file containing cross-reference information for each compilation. The file name is that of the object file; the file type is .CRF. Use the CREF command to obtain a listing of the file. (For COBOL files, the switch automatically produces a cross-reference listing.) See the TOPS-20 User Utilities Guide for more information about the CREF program.
/DDT loads the DDT debugging program along with your object file.
/DEBUG produces an object file containing debugging information beyond that usually provided during a compilation (for use with FORTRAN programs only, and only if you have not given the /OPTIMIZE switch).
/FAIL

compiles the file using the FAIL compiler.

Default for files of type .FAI

/FLAG-NON-STANDARD indicates nonstandard syntax in file.
/FORTRAN

compiles the file using the FORTRAN compiler.

Default in the absence of a standard source file type and a language switch

Default for files of type .FOR

/LANGUAGE-SWITCHES:"/switch(es)" passes the specified switches to the compiler that will process the file(s) to which the switch applies. You must include the switches in double quotation marks (" ").
/LIBRARY same as /SEARCH.
/LIST prints a line printer listing of the program in ASCII format. The name of this listing is the filename of the object file. The /CREF switch overrides /LIST when they both apply to the same file.
/MAC same as /MACRO.
/MACHINE-CODE produces a file containing the generated machine code. The filename is that of the object file; the file type is .LST. For high-level languages.
/MACRO

assembles the file using the MACRO assembler.

Default for files of type .MAC

/MAP produces a loader map and stores it in the file object.MAP, where object is the name of the module containing the start address; or (if no start address) nnnLNK.MAP, where nnn is your job number.
/NOBINARY prevents generation of an object (binary) file. Use this switch along with /LIST or /CREF to allow these switches to take effect without producing a new object file.
/NOCOMPILE

prevents compilation if the associated object file is current; otherwise it forces compilation. Cancels the /COMPILE or /RELOCATABLE switch.

Default

/NOCREF same as /NOCROSS-REFERENCE.
/NOCROSS-REFERENCE

prevents the creation of a cross-reference file.

Default

/NODEBUG

excludes special debugging information from your object file.

Default

/NOFLAG-NON-STANDARD

prevents the flagging of non-standard syntax in the file.

Default

/NOLIBRARY same as /NOSEARCH.
/NOLIST

prevents a line printer listing of the program.

Default

/NOMACHINE-CODE

prevents generation of a file containing machine code.

Default

/NOOPTIMIZE

prevents the generation of a globally optimized object file (for FORTRAN programs only).

Default

/NOSEARCH

requires all modules in the object file library (the file accompanied by this switch in the command line) to be loaded even if they are not called by your program. Cancels the /SEARCH switch.

Default

/NOSTAY stops the compiler from being placed in a background fork. Use when /STAY is set as a default for the compiler.
/NOSYMBOLS prevents a symbol table from being loaded along with the object file.
/NOWARNINGS prevents display of warnings for nonfatal errors.
/OPTIMIZE calls for generation of a globally optimized object file, that is, one that runs as quickly as possible (for FORTRAN programs only, and only if you do not also give the /DEBUG switch).
/PASCAL

compiles the file using the PASCAL compiler.

Default for files of type .PAS

/RELOCATABLE

identifies the input file as an object file (regardless of its extension) and prevents compilation of the source file, /RELOCATABLE switch forcing use of an existing object file even if the object file is out of date.

Default for files of type .REL

/SAIL

compiles the file using the SAIL compiler.

Default for files of type .SAI

/SEARCH requires that the object file library (the file accompanied by this switch in the command line) be searched for modules called by your program or by a program subroutine. Only these modules are loaded, along with modules called from the system libraries, which are always searched.
/SIMULA

compiles the file using the SIMULA compiler.

Default for files of type .SIM

/SNOBOL

compiles the file using the SNOBOL compiler.

Default for files of type .SNO

/STAY returns your terminal to TOPS-20 command level so that you can perform other work while the system continues to load your program. You immediately receive the TOPS-20 prompt (@ or $), and can then issue any user command. Be careful not to send incorrect data to programs expecting terminal input. (Refer to the CONTINUE command, Restrictions: Programs Competing for Terminal Input. This switch saves you from having to: issue a ^T to make sure loading has begun; give a ^C to halt the job; and issue a CONTINUE /STAY command to remain at command level during loading.
/SYMBOLS

loads a symbol table along with the object file (helpful for debugging a program).

Default

/WARNINGS

displays warnings for nonfatal errors.

Default

Characteristics

Compiling New Sources Only

Before loading programs, the system ordinarily compiles any specified source (and only those sources) whose write date is more recent than that of the object file of the same name. You can override this action with the /COMPILE or /RELOCATABLE switch.

Using Standard File Types

If you specify source files with standard types (.FOR, .MAC, for example) in a LOAD command, the system automatically calls the appropriate compiler when compilation is necessary. If you specify source files by filename only, the system searches your connected directory for a file of this name and a standard type. To load programs from sources that have nonstandard file types, give a switch to indicate the proper compiler (/FORTRAN, /MACRO, /COBOL, or /ALGOL). A switch will take precedence over a standard file type if they indicate different languages. If no compiler is indicated with either a switch or a standard file type, the FORTRAN compiler is used.

Default Switches Not Passed to Compiler

Only switches specified in a LOAD-class command are passed to the compiler; default switches are not passed. Instead, the system assumes that the defaults for the compiler are the same as the defaults for the LOAD-class command.

Hints

Commas Between Filespecs

If you give two or more filespecs separated by commas as arguments to LOAD, the loaded programs exist in memory at the same time and will operate as a single program. You can use this feature to substitute one module for another under varying conditions or for different applications.

Plus Signs Between Filespecs

If you give two or more source filespecs separated by plus signs (+) as arguments to LOAD, they are compiled together as if they were a single file. Their object module is stored under any filename given as the "object" argument of the command, or (if none) under the last filename in the group and file type .REL.

Indirect Files as Arguments

You can store arguments (source and object filespecs, switches) of a LOAD command in an indirect file, and specify them by typing an at sign (@) and its filespec as a LOAD command argument.

Establishing Default Arguments with the SET Command

You can issue the SET DEFAULT COMPILE-SWITCHES command to set up default global arguments to the LOAD command. Insert this SET command in your COMAND.CMD file to change your own defaults permanently.

Running Link Directly

The LOAD command automatically runs LINK, the system's linking loader, but if you require more control of the loading process you can run LINK directly. See the TOPS-20 LINK Reference Manual.

Using GET Instead of LOAD

If you have used the SAVE command to save your programs in executable format, you can use the GET command instead of LOAD to place them in memory. This is a faster and less expensive means of loading programs into memory.

Wildcards Illegal with LOAD

The LOAD command does not accept wildcard characters (* and %) in a file specification.

Warning - Generation Numbers, Long Filespecs

You must not give generation numbers when specifying source or object files; the system automatically uses the highest generation. Also, most compilers require filenames of 6 or fewer characters and file types of 3 or fewer characters.

Related Commands

COMPILE, EXECUTE, and DEBUG other LOAD-class commands for performing related functions
SAVE for saving the loaded program in an .EXE file
START for starting the loaded program
SET DEFAULT COMPILE-SWITCHES for establishing default switches for LOAD-class commands
INFORMATION DEFAULTS COMPILE-SWITCHES for examining default switches established for LOAD-class commands

Examples

  1. Load an object file into memory.
    @LOAD LSTSQ.REL
    LINK:   LOADING
    
    EXIT
    
  2. Load the same program, allowing the system to update the object file if necessary.
    @LOAD LSTSQ/FORTRAN
    FORTRAN: LSTSQ
    MAIN.
    LINK:   LOADING
    
    EXIT
    
  3. Load a MACRO program and request a loader map or memory map. (Notice the filename of this map.)
    @LOAD TEST2/MAP
    MACRO:  FT
    LINK:   LOADING
    
    EXIT
    @TDIRECTORY
                    WRITE
    
       PS:<LATTA>
     FT.MAP.1        6-APR-85 15:23:17
     TEST2.REL
    
  4. Load a COBOL program, forcing a new compilation that includes only the required modules. Request a map.
    @LOAD /MAP TEST1/COMPILE, COBLIB/SEARCH
    COBOL:  DBL     [TEST1.CBL]
    LINK:   LOADING
    
    EXIT
    
  5. Compile a program. Then load it, requesting a cross-reference listing this time. Finally, save the program in executable format.
    @COMPILE TEST1/COBOL
    COBOL:  DBL     [TEST1.CBL]
    @LOAD /COMPILE/CREF
    COBOL:  DBL     [TEST1.CBL]
    LINK:   LOADING
    
    EXIT
    @SAVE
     TEST1.EXE.1 SAVED
    
  6. Combine two FORTRAN sources into an object program under a new name. Start this program.
    @LOAD LSTSQ+ABRR REGRES
    FORTRAN: LSTSQ
    MAIN.
    MAIN.
    LINK:   LOADING
    
    EXIT
    @START
    
  7. Create an indirect file, and use it to load several modules at once. Request cross-reference files, then give the CREF command to turn these into listings.
    @CREATE SERVTT.CMD
    INPUT: PS:SERVTT.CMD.1
    00100   HJRAD/COMPILE, FORLIB/SEARCH
    00200   HJVTT/COMPILE, FORLIB/SEARCH
    00300   HJINI/RELOCATABLE
    00400   $
    *E
    
    [SERVTT.CMD.1]
    @LOAD /CREF @SERVTT.CMD
    FORTRAN:HJRAD
    MAIN.
    FORTRAN: HJVTT
    MAIN.
    LINK:   LOADING
    
    EXIT
    @CREF
    CREF:   HJRAD
    CREF:   HJVTT
    @