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.