===== TOPS-20 Operating System ===== TOPS-20 command parser is called EXEC. EXEC features built in help, command recognition and completion. If you are [[:twenex.org_-_sdf_public_access_twenex |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 | | | 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** ^ | | DOC: | Various Documentation | | | HLP: | The HELP system | | | SYS: | Subsystem utilities and user programs | | | SYSTEM: | The SYSTEM directory - The Monitor and system configuration live here | | | 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: 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 @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 @hello Hello there. Visit our repository for //[[https://web.archive.org/web/20240426225029/https://www.livingcomputers.org/Computer-Collection/Online-Systems/User-Documentation.aspx |User Documentation]] (archived)//‚ for //Online Systems//‚ for formal user and reference manual.