TOPS-20 Operating System

TOPS-20 command parser is called EXEC. EXEC features built in help, command recognition and completion. If you are new to TOPS-20, try the tops20 command when you LOGIN for an interactive tutorial.

Command Description
CTRL-C Interrupts or quits a job (see reenter)
CTRL-F Try this to show command completion
CTRL-T Prints job status
<ESCAPE> Try this to show completion and guide words
CONTINUE Continues a suspended or quit job
DIR DIRECTORY listing (see vdir)
EMACS The EMACS editor - Try 'TEACH-EMACS'
FINGER Display who is logged in or details on a specific user
HELP The HELP system - Try 'HELP GAMES'
INFO INFORMATION about various subsystems
KJOB KILL JOB - With out args will log you out
LOGIN Login to a user account
LOGOUT Logout from the system, see KJOB
REENTER re-enters a suspended or quit job
SYSTAT System Status - Shows running jobs
VDIR Verbose Directory listing

The directory structure is hierarchical and some notable directories also include logical names. To see a complete list of defined LOGICAL-NAMES type INFORMATION LOGICAL-NAMES ALL or inf log a

Directory Name Logical Name Description
<DOCUMENTATION> DOC: Various Documentation
<HELP> HLP: The HELP system
<SUBSYS> SYS: Subsystem utilities and user programs
<SYSTEM> SYSTEM: The SYSTEM directory - The Monitor and system configuration live here
<UNSUPPORTED> UNS: 3rd party programs such as games

PROGRAMMING EXAMPLES USING “COMPILE”, “LOAD” and “SAVE” COMMANDS

TOPS-20 supports many programming languages using a standard COMPILE/LOAD/SAVE model. TOPS-20 is very helpful using command recognition and DWIM (Do What I Mean) without having to completely type out everything. Here are few simple examples to get started:

FORTRAN-77

NOTE: This formatting is punched card style - The first 5 and 6th columns are special

    @copy TTY: test.for                             ;A simple way to enter in TEXT from the terminal
     TTY: => TEST.FOR.1
    
             PROGRAM TEST                           ;Declare the name of the program
    
             WRITE (5, 10)                          ;OUTPUT to the terminal (UNIT 5) at line 10
    10       FORMAT(' TESTING 1 2 3!')              ;FORMAT the text for OUTPUT
    
             END                                    ;END the program
    ^Z                                              ;CTRL-Z closes the file
    @type test.for                                  ;TYPE the test.for file and verify
             PROGRAM TEST
    
             WRITE (5, 10)
    10       FORMAT(' TESTING 1 2 3!')
          
             END
    @compile test                                   ;COMPILE the file TEST
    FORTRAN: TEST                                   ;COMPILE determined TEST is a FORTRAN program
    TEST  	                                      ;TEST is now written out as a .REL file
    @load test                                      ;LOAD the file (or EXECUTE TEST to LOAD and RUN)
    LINK:	Loading
    @save test                                      ;SAVE the loaded program to a .EXE file
     TEST.EXE.1 Saved
    @v test.*
          
       LS:<SMJ.FORTRAN>
     TEST.EXE.1;P775200         6 3072(36)    6-May-2020 15:42:13 SMJ       
       .FOR.1;P775200           1 71(7)       6-May-2020 15:41:09 SMJ       
       .REL.1;P775200           1 93(36)      6-May-2020 15:41:46 SMJ       
          
     Total of 8 pages in 3 files
     
     @<smj.fortran>test                             ;Run the .EXE file
     TESTING 1 2 3!
     CPU time 0.09   Elapsed time 0.19

For an excellent summary to get started with FORTRAN on TOPS-20, check out http://wiki.twenex.org/doku.php?id=tutorials:fortran

MACRO-20

MACRO is the assembler on TOPS-20. Here is a simple example of a Hello World in MACRO

     @COPY TTY:hello.mac                             ;A simple way to enter text into a file
     title hello                                      
     
     entry output
     search uuosym
     
     hello:	asciz /Hello there.
     
     /
     output:	outstr hello
     	monrt.
     	end output
     ^Z
     
     @type hello.mac
     title hello
     
     entry output
     search uuosym
     
     hello:	asciz /Hello there.
     
     /
     output:	outstr hello
     	monrt.
     	end output
     @compile hello
     MACRO:	hello
     
     EXIT
     @load hello
     LINK:	Loading
     @save hello
      HELLO.EXE.1 Saved
     @<smj>hello
     Hello there.

Visit our repository for User Documentation (archived)‚ for Online Systems‚ for formal user and reference manual.