Google
 

Trailing-Edge - PDP-10 Archives - tops10and20_integ_tools_v9_3-aug-86 - tools/crc/help/guide.lbr
There are no other files named guide.lbr in the archive.
E/
comeryZ\eXgALGOL2
%+XCARCHIVE<AO|)BBREAKACEJGO|>BASICOeJ%+XEBATCHb/>%+XECOBDDTtm%+XGCOBOL|%+XGCSAVEUE}iRf+DUMPERgc=%+XREDIT-PROGRAM$gv%+XTFORKGEk
uQL4;GETNGEv	+P,NFILCOM<*v%+XXFORDDT*2*o%+XYFORTRANU!
2%+XYLOGOUT_S^QSIXREMARKo2aQ[$ MACROvn%+X\MAIL ^%+X]MAKLIB"`%^%+X^PLEASEH>'%+X_REENTERXeQ[PUSH`fLQU.RDMAILp2;%+XaSTARTmP*=UNATTACHYmQ{i?SET|>P42qTRANSLATE:
tQ{ASET-ACCOUNT!/P3#FREEZE"LqPLKQSYSTAT)=JQtSPTYPEB	,Q{hSET-TRAP-FILE-OPENINGSK3SP4UNLOADEMQ|6SVDIRECTORYXsQ|;6SET-ADDRESS-BREAKa;P3
UDDT-PROGRAMeM/L%,gTARCHIVING"5LuRDIRECTORY4<fOlH~DAYTIME'"QC ENABLECPiQD\HRESETEJ:
Q[L	QDIRECTORYrredirectories  and  their  fQFOzh
     connected YMURu]ACCESS

     Your currently connected `#`Q1BACKSPACEo not change.

     In additw/QASSIGN   member of the same groups as t3O|2YCANCEL:<QRCOMPILE2v)Q}EXPUNGE\
]QL'$FDIRECTORYpi6P'
LOAD|KP2GDELETE	G&KPS\kHELPNUE	[r+QLB:CREF	aMR`
POPFY	oj{QTCFRETRIEVE	~fnQ[Q#TDIRECTORY
TUQu6SAVE
#)>P*mTAKE
.gzQt[UUNDELETE
AaQ{p#DISMOUNT
Ow+P-"MOUNT
l"M<P-ISET-LATE-CLEAR-TYPEAHEAD9^!P4TORY-ACCOUNT-DEFAULT=*P3=SET-FILE-EXPIREDH-ON-EXP-FILES>B^P3rGSET-DIRECTORY-FILE-PROTECTION-DEFAULT?!NP3EASET-DIRECTORY-GENERATION-RET-CT-DEF@oFP3JSET-FILE-ACCOUNTARCH-ON-EXP-FILESB6lP3gSET-DIRECTORY-ARCH-ON-EXP-FILESC"OP3VSET-DIRECTORY-OFF-EXP-DEFDq8P3WSET-DIRECTORY-ON-EXP-DEFF)"P3YZSET-DIRECTORY-PASSWORDGK6P3\4SET-DIRECTORY-PROTECTIONI	P3`>SET-ENTRY-VECTORL!P3b	SET-FILEM-
P3duSET-FILE-GENERATION-RET-COUNTN7uP3uSET-FILE-PROTECTIONO-gP3zSET-TRAPCLEAR-TYPEAHEADQ:P46SET-FILE-VISIBLEQNP3~~SET-FILE-RESISTRc^P3+SET-LOCATIONTA&P4SET-TRAP-JSYSVhnP4ISET-ALERTXVVP44SET-AUTOMATIC],IP4bSET-CONTROL-C-CAPABILITYv<P4	{SET-DEFAULTb2P4FSET-MAIL-WATCHfBUP4BSET-RETRIEVAL-WAITjP4lSET-TIME-LIMITl(vP47SET-TRAP-PROCEEDnFP4vSET-PAGE-ACCESSoeP4HSET-TAPErx<P4$`SET-TAPE-DENSITYs5=P4%`SET-TAPE-FORMATtrDP4)SET-TAPE-PARITYv6nP4+\SET-TAPE-RECORD-LENGTHw$'P4,lSET-TYPEOUT-MODExK*P4.,SET-UUO-SIMULATIONyv

Function

	The ADVISE c}s:P45FINFO-ARCHIVE-STATUSther user's terminal-P45FINFO-ARPANETands to his job.  The advis
@^P45GINFO-AVAILABLEo his job.


Format

6P45GINFO-BATCH-REQUESTSgument		is either a 
U0P45HINFO-COMMAND-LEVEL



Characteristic
P45HINFO-DECNET-NODESor as long as the ADVI
"}P45HINFO-DEFAULTScommands you
		give affec
	 (P45HINFO-DIRECTORY your own.


	Ending A
HP45IINFO-DISK-USAGEink that you have formed
b+P45IINFO-FILE-STATUStype CTRL/E.  This CTRL
+P45JINFO-JOB-STATUSerminal.


	Refused A
9HP45JINFO-LOGICAL-NAMESadvise a job unless i
P45KINFO-MAILreceive advice.  However, if y
P45KINFO-MEMORY-USAGEbilities enabled, you 
&2P45LINFO-MONITOR-STATISTICSs


	Advisee 
 XP45LINFO-MOUNT-REQUESTSthan one job is loog
%p)P45LINFO-OUTPUT-REQUESTScify, the system gi
,QP45MINFO-PROGRAM-STATUSnal
		numbers and a
0jAP45MINFO-PSI-STATUSom, then prints
		TTY: 
4,5P45MINFO-RETRIEVAL-REQUESTSice of terminal
6a+P45NINFO-SPOOLED-OUTPUT-ACTIONng a Pseudote
:
`P45NINFO-STRUCTUREto advise a PTY: the syst
<l%Z\eXINFO-SUBSYSTEM-STATISTICS confirm with 
AHP45OINFO-SYSTEM-STATUS


	Using CTRL/^? 
C[|P45OINFO-TAPE-PARAMETERS does not seem to w
GW3P45OINFO-TERMINAL-MODE and a VT52

		If l
I
P45PINFO-VERSIONterminals are established u
NP45PINFO-VOLUMEScommand, the VT52 may funct
Q:[P45PTERMINAL-FLAG
R8P4nPTERMINAL-FORMFEED
SMfP4nPTERMINAL-FULLDUPLEX
U4'P4nPTERMINAL-HALFDUPLEX
V[	P4nQTERMINAL-IMMEDIATE
WdvP4nQTERMINAL-INDICATE
YZP4nQTERMINAL-LA120
ZwP4nQTERMINAL-LENGTH
\YP4nRTERMINAL-LINE-HALFDUPLEX
]ggP4nRTERMINAL-LOWERCASE
^N*P4nRTERMINAL-PAGE
`x*P4nRTERMINAL-PAUSE
c"P4nSTERMINAL-RAISE
k: P4nSTERMINAL-SPEED
l[zP4nSTERMINAL-SYSTEM-DEFAULT
pUtP4nSTERMINAL-TABS
rI)P4nuTERMINAL-TYPE
srmP4nuTERMINAL-VT100
			ADVISE Command
w`-P4nuTERMINAL-VT125ommand links your termina
yBP4nvTERMINAL-WIDTH
	so that you can give c
zOP4nvTALKThe advisee can still give
	comma
{l7Qu0bKEEP
Format

	@ADVISE argument

	wh&PLKQNAMEPeithertacuser name or terminal lin


	Input>toLOtherKJoMANDS
,C132
iATTACH
PSQCD:Q=$NSET-SPOOLED-OUTPUTQ7PliQORIGINALBQE%ADVISE K&Q2APPEND/q+Q9=BUILDIKQT^CONNECT%FQ	CONTINUE+k(Q"|yCOPYD(4Q#O0DEASSIGNlG	:QCFDEFINEvQC(?DEPOSITQDDIRECTORY6!QD6^DISABLEQ1QDNLDISCARDUB
RQDQQEND-ACCESS`
jQD}JEXAMINEj~
=EXECUTExw2WQL!INFORMATION+N>QLX4LOGIN0
QT(8PRINT+,.QU0R2Y
:QU$|RECEIVE=
Q[USEG!*Q[BREWINDRKeQ\%SKIP^1+Q\:QSUBMITm\5VQszPUNCHpiR
d'MERGE
ZR
jMEOFs$R
j<SET-FILE-EPHEMERAL&)RLLERUN)@RuexALGOL Compiler


Function

     The ALGOL compiler produces object  programs  from  ALGOL  source
     programs.


Hints

     To run an ALGOL program:

     1.  Enter your source program into a file (by using EDIT).

     2.  Give the EXECUTE command  to  compile,  load  and  start  the
	 program.

     3.  If you plan to execute the program frequently, use  the  LOAD
	 command and SAVE command instead of EXECUTE.  You can now use
	 the RUN command, which is faster than EXECUTE, until you EDIT
	 the program again.


     Use the ALGDDT program to debug ALGOL programs.

     If you have a main program and assorted subroutines that  require
     special   loading,   refer  to  Section  n  which	describes  the
     LOAD-class commands.


Operation

     1.  Enter your ALGOL program into a file.

         @CREATE (FILE) SQRT.ALG
	 INPUT: SQRT.ALG.1
	 00100	 BEGIN
	 00200	 REAL X, Y;
	 00300	 WRITE ("[2C] TYPE THE VALUE OF X: [B]");
	 00400	    READ (X);
	 00500	    Y := SQRT(X);
	 00600	 WRITE ("[C] THE SQUAREROOT OF ");
	 00700	    PRINT (X,3,3);
	 00800	    WRITE (" IS ");
	 00900	    PRINT (Y,3,3);
	 01000	 END
	 01100	 $
	 *E

         [SQRT.ALG.1]
	 @

     2.  Give the EXECUTE command to run the program.

         @EXECUTE (FROM) SQRT.ALG
	 ALGOL: SQRT
	 LINK:	 Loading
	 [LNKXCT SQRT Execution]

          TYPE THE VALUE OF X: 34.889

          THE SQUAREROOT OF   34.889 IS   5.907


         END OF EXECUTION.
	 @



Characteristics

     The LOAD-class commands run the ALGOL compiler to translate  your
     ALGOL  source program, thereby destroying the contents of memory.
     Depending on the operation you request, your terminal may or  may
     not be left at TOPS-20 command level.


Examples

     The user creates and runs his ALGOL program.

        @CREATE (FILE) T.ALG
	INPUT: T.ALG.1
	00100	BEGIN
	00200	INTEGER I,J;
	00300	WRITE ("[2C] TYPE THE NUMBER: [B]");
	00400	   READ (I);
	00500	   J := 2 * I;
	00600	   WRITE ("[C] TWICE THAT NUMBER IS: ");
	00700	   PRINT (J);
	00900	END
	*E

        [T.ALG.1]
	@EXECUTE (FROM) T.ALG
	ALGOL: T
	LINK:	Loading
	[LNKXCT T Execution]
	 TYPE THE NUMBER: 345

         TWICE THAT NUMBER IS:  690

        END OF EXECUTION.
	@


     The user runs an ALGOL program with two subroutines.

        @EXECUTE (FROM) COMPAR,NEWTON,PSQRT
	ALGOL: COMPAR
	ALGOL: NEWTON
	ALGOL: PSQRT
	LINK:	Loading
	[LNKXCT COMPAR Execution]
	 TYPE A NUMBER: 4.

        END OF EXECUTION.
	@




				ARCHIVE Command


Function

	The ARCHIVE command asks that a permanent off-line copy of specified
	files be made on magnetic tape, and prevents the disk copy (if retained)
	from being modified.



Format

	@ARCHIVE (FILES) filespec,...,
	@@subcommand


	where

	filespec			is the specification of a file of which
					you want a permanent copy


	,...				means that, after commas, you can give
					more arguments of the form already shown


	@@subcommand			means that after a final comma you can
					type an optional subcommand.  The
					following subcommand is available:

					RETAIN		which causes the disk
							copies of the files
							being archived to be
							retained in your
							directory, rather than
							deleted and expunged



Output

	Whenever a file is take off line as a result of your ARCHIVE command
	(i.e., when you do not also give the RETAIN subcommand), the operator
	sends a MAIL message notifying the owner of the directory from which the
	file was taken.  For this purpose, the owner of the directory is defined
	to be the user or users whose user names appear in a file of
	specification DIRECTORY.OWNER in the directory.  If this file does not
	exist, the message is sent to MAIL.TXT in the directory.  If neither
	exists, no message is sent.



Characteristics


	Archived Files Unalterable

		You cannot change the contents of files specified in an ARCHIVE
		command once the command is given, even if the files are not
		immediately copied to tape.  This means that you cannot alter or
		add to them by using an editor or APPEND command, or overwrite
		them by using the COPY or RENAME command.  In general, files for
		which you have requested archival must not be given as the
		second filespec argument of these commands.


	Archived Files Invisible

		The files you specify in an ARCHIVE command ordinarily become
		invisible to most TOPS-20 commands as soon as the ARCHIVE
		command is given.  However, if you include the RETAIN subcommand
		when giving the ARCHIVE command, the files remain visible.  See
		Related Commands, below, for a list of commands you can use with
		invisible files.



Effect on Memory and Terminal

	The ARCHIVE command does not affect memory and leaves your terminal at
	TOPS-20 command level.


Related Commands


	CANCEL ARCHIVE				for canceling archival requests


	DELETE (with ARCHIVE subcommand)	for deleting archived files

	       (with CONTENTS-ONLY subcommand)	for deleting only the disk copy
						of files that also have a tape
						copy


	DIRECTORY (with ARCHIVE subcommand)	for requesting information on
						archived files (visible and
						invisible) only


	
	DIRECTORY (with INVISIBLE subcommand)	for requesting information on
						invisible files only



	DISCARD					for giving up the tape copy of
						on-line files


	INFORMATION ARCHIVE-STATUS		for determining if archival for
						the specified files (visible and
						invisible) has been accomplished


	RETRIEVE				for restoring off-line files
						(visible and invisible) to on-
						line status


	SET FILE INVISIBLE			for making visible files 
						invisible


	SET FILE VISIBLE			for making invisible files
						visible



Examples


	1.	Archive a file.

		@ARCHIVE ARTEST.FIL
		 ARTEST.FIL.1 [Requested]
		@


	2.	Archive a file, but keep a copy on disk.  Check the archive
		status of files.

		@ARCHIVE ARCHEK.FIL,
		@@RETAIN
		@@
		 ARCHEK.FIL.1 [Requested]
		@INFORMATION ARCHIVE-STATUS
		 ARCHEK.FIL.1 Archive requested, Retain contents
		 ARTEST.FIL.1 Archive requseted
		@





				BREAK Command


Function

     The BREAK command clears all links that have been made to or from
     your terminal.


Hints

     The TALK command establishes a link  between  your  terminal  and
     another user's terminal.


Format

	@BREAK (LINKS WITH) argument
	@

	where

	argument		is a user name or line number.  If you do not
				specify an argument, all communication links
				are broken.


Operation

     1.  Type BREA and  press  the  ESC  key;   the  system  prints  K
	 (LINKS).

         @BREAK (LINKS)

     2.  Press the RETURN key.  When the system breaks the  links,  it
	 prints an @ on your terminal.

         @BREAK (LINKS)
	 @



Characteristics

     The BREAK command:

         Is opposite in function to the TALK command, except  for  the
	 difference  that  BREAK  removes all links while TALK creates
	 only one link.

         Does not require you to be logged in to the system.

         Breaks only the links to or from your terminal.

         Gives no error message if you do not have  any  links  to  or
	 from your terminal.

         Does not change a program in memory.

         Leaves your terminal at TOPS-20 command level.


Examples

     The user breaks all the links to his terminal:

        @BREAK (LINKS)
	@



BASIC Program


Function

     BASIC runs user's programs written in the BASIC language.


Hints

     You may create program and data files with EDIT and use them with
     BASIC.  Remember to enter EU at the end of EDIT to strip the line
     numbers.


Format

     @BASIC

     READY

     command        is any valid BASIC command listed in Table n.


                               Table n
			    BASIC Commands


       CATALOG dev:
	  Prints the names and types of the files on  the  specified
	  device  or logical name.  If you do not give a device, the
	  system uses DSK:.

       DELETE range,range
	  Deletes the specified lines from your program  in  memory.
	  A  range  is	either	a  line  number  or two line numbers
	  separated by a hyphen.

       HELP
	  Prints  a  list  of	all   the   BASIC   commands   (with
	  explanations) on your terminal.

       LIST range, range
       LISTNH range, range
	  Prints the specified lines.  A range is  either  a  single
	  line	number	or  two  line numbers separated by a hyphen.
	  LISTNH prints the lines without a heading.

       MONITOR
	  Returns you to TOPS-20 command level.  If you are going to
	  give	a  command  that  clears  any  previous program from
	  memory, before giving the MONITOR command give the SAVE or
	  REPLACE  command  to	save  your  program,  or  else it is
	  destroyed and you cannot reclaim it.

       NEW name.typ
	  Places BASIC in input mode and you may  begin  entering  a
	  new  file.  To enter a line in a file, you must first type
	  the line number followed by a space and  the	contents  of
	  the line.

       OLD name.typ
	  Places the specified file in memory so you can  change  it
	  or run it.

       REPLACE name.typ
	  Replaces the existing disk file (of the specified name and
	  type) with the file currently in memory.

       RESEQUENCE n,o,i
	  Renumbers the lines in your  current	program  in  memory.
	  New  line number n replaces old line number o;  succeeding
	  lines are numbered  by  adding  i  to  the  previous	line
	  number.   If you give only n,the first line in the file is
	  changed to n and each succeeding line number is created by
	  successively adding 10.

       RUN
       RUNNH
	  Starts the program in memory.  RUNNH does  not  print  the
	  initial heading.

       SAVE
	  Saves the program in memory on disk storage.

       SCRATCH
	  Clears the current contents of memory.

       UNSAVE name.typ
	  Deletes the file with the given name and type.


Operation

     1.  Type BASIC and press the  RETURN  key;   the  system  prints
	 READY.

         @BASIC

         READY

     2.  Type any valid BASIC command, chosen from the list in  Table
	 n.

         NEW TEST.B20

         READY

     3.  When you are finished, give the MONITOR  command  to  return
	 you to TOPS-20 command level.

         MONITOR
	 @



Characteristics

     The  BASIC  program  translates  your  BASIC  programs,  thereby
     clearing  any  previous  program  from memory.  Your terminal is
     left at BASIC command level.


Examples

     The user creates a new program,  saves  it  on  disk,  runs  it,
     prints  it,  changes  a  line, replaces the previous copy of the
     program, and runs the program again.  The user  the  returns  to
     TOPS-20 command level.

     @BASIC                                     !The   user   starts
						!BASIC

     READY
     NEW TEST.BAS				!Starts inputting a
						!new file - TEST.BAS

     READY
     10 X=6.5					!Types the program
     20 Y=2.1
     30 PRINT 'THE VALUE OF THE SUM IS;";  X+Y
     40 END
     SAVE					!Saves it on disk

     READY
     RUN					!Runs it

     TEST.B20
     Tuesday, March 22, 1977 12:30:20



     THE VALUE OF THE SUM IS;  8.6



     RUNTIME:  0.09 SECS          ELAPSED TIME: 0:00:02

     READY
     LIST					!Lists the program


     TEST.B20
     Tuesday, March 22, 1977 12:30:33



     10 X=6.5
     20 Y=2.1
     30 PRINT "THE VALUE OF THE SUM IS;";  X+Y
     40 END

     READY
     MONITOR
     @



     The user recalls an  old  program,  runs  it,  then  returns  to
     TOPS-20 command level.

        @BASIC                                  !The   user   starts
						!BASIC

        READY
	OLD TEST.B20				!Gets his old program


        READY
	RUN					!And runs it

        TEST.B20
	Tuesday, March 22, 1977 12:31:52


        THE VALUE OF THE SUM IS;  8.6


        RUNTIME:  0.08 SECS          ELAPSED TIME: 0:00:01

        READY
	MONITOR 				!Then returns to
						!TOPS-20     command
						!level
	@



BATCH Commands


Function

     The Batch commands control the operation of a Batch job.


Hints

     To create a Batch job, use EDIT to enter the commands  you  would
     type on your terminal into a file.  This file is referred to as a
     Batch control file, and can also contain Batch commands (some are
     listed in Table II-2).  Each line may be preceded by a label (six
     or less alphanumeric characters followed by two colons, the first
     character	must be alphabetic).  After creating the control file,
     give the SUBMIT command to ask  the  system  to  start  the  job.
     Remember,	the system logs your job into the system, connects the
     job to your connected directory at the time you gave  the	SUBMIT
     command,	gives  the  commands  stored  in  your	BATCH.CMD  and
     COMAND.CMD files, and then starts processing your control file.

     Refer to Section 3.4 for more information on Batch jobs.


Format

     @name argument

     name           is the name of the Batch command.

     argument       is either a label or  a  character.   A  label  is
		    comprised	of  not  more  than  six  alphanumeric
		    characters.  When the label is used in a  command,
		    it	contains just the label name;  when it is used
		    at the beginning of a line to indicate a position,
		    it is followed by a double colon.  An example of a
		    label is BEGIN::.


                              Table II-2
			    Batch Commands

       @BACKTO label
	  Transfers control to the line in the control file that  is
	  preceded  by the specified label.  This labelled line must
	  be located between the  beginning  of  the  file  and  the
	  BACKTO statement.  If such a line does not occur, your job
	  is terminated.

       @ERROR character
	  Declares that an error has occurred  whenever  the  system
	  prints the given character in the first character position
	  of a line.  If you do not specify a character, the  system
	  uses ?;  if you specify a character it cannot be a control
	  character (CTRL/C, CTRL/O, etc.), an exclamation point, or
	  a semicolon.

       @GOTO label
	  Transfers control to the line in the control file that  is
	  preceded  by	the  specified	label  or  the label %FIN::,
	  whichever comes  first.   This  labeled  line  must  exist
	  between  the	GOTO  statement and the end of the file.  If
	  such a line does not occur, your job is terminated.

       @IF (condition) statement
	  Tests for the given condition and  if  that  condition  has
	  occurred  (or  is  true), executes the specified statement.
	  The statement may be a Batch command, a TOPS-20 command,  a
	  command  to  a  program,  data, or a comment.  The variable
	  condition may be either ERROR or NOERROR;  you must include
	  the parenthesis.

       @NOERROR
	  Ignores all error signals except the ?TIME  LIMIT  EXCEEDED
	  message and any Batch error.


Operation

     1.  Enter into a file the commands which form your job.

         @CREATE (FILE) TESTV.BAT
	 INPUT: TESTV.BAT.1
	 00100	 @COMPILE /CREF PRMAIN.MAC
	 00200	 @IF (ERROR) GOTO NOLUC
	 00300	 @COMPILE /CREF PRSUB.MAC
	 00400	 @IF (ERROR) GOTO NOLUC
	 00500	 @COMPILE /CREF PROUT.MAC
	 00600	 @IF (ERROR) GOTO NOLUC
	 00700	 @CREF
	 00800	 @LOAD PRMAIN,PRSUB,PROUT
	 00900	 @SAVE
	 01000	 NOLUC::@DELETE *.TMP
	 01100	 $
	 *E

         [TESTV.BAT.1]
	 @

     2.  Give the SUBMIT command to enter  the  job  into  the  Batch
	 input queue.

         @SUBMIT TESTV.BAT
	 [INP:TESTV=/SEQ:3148/TIME:00:05:00]
	 @



Output

     Refer to the description of the SUBMIT command for an explanation
     of the output from a Batch job.


Characteristics

     Batch commands can be used either in a Batch control file created
     at  your terminal or in a card deck and cannot be given from your
     terminal.


Examples

     The user creates and submits a Batch job.

        @CREATE (FILE) SUBT.CTL
	INPUT: SUBT.CTL.1
	00100	@EXECUTE LIBRAY.FOR,LIBSUB.FOR,IO.MAC
	00200	*45.
	00300	*46.
	00400	@PRINT LIBRAY.DAT
	00500	$
	*E

        [SUBT.CTL.1]

        @SUBMIT SUBT.CTL
	[INP:SUBT=/SEQ:7002/TIME:00:05:00]
	@

     The user checks to see if his Batch job is running.

        @INFORMATION (ABOUT) BATCH-REQUUESTS
	JOB	SEQ	USER
	---	---	----
	SUBT	7002	SARTINI 	 NOW RUNNING
	SYSERR	6898	SNYDER	/AFTER:14-SEP-77 23:59:59

     The user creates a control file containing a command that  has  a
     subcommand.

        @CREATE (FILE) DELGEN.CTL
	Input: DELGEN.CTL.1
	00100	@DELETE *.*
	00200	@KEEP 1
	00300	@
	00400	$
	*E

        [DELGEN.CTL.1]
	@



COBDDT Program


Function

     The COBDDT program helps you debug COBOL programs.


Hints

     You must load your program into memory along with  COBDDT.   Your
     program  must  contain  symbols,  thus  you  must	not use switch
     /NOSYMBOLS.

     If you type a CTRL/C, you may resume COBDDT execution  by  giving
     the CONTINUE command.


Format

     @DEBUG (FROM) /COBOL filespecs
     COBOL:  MAIN
     LINK:   Loading
     [LNKDEB COBDDT Execution]

     STARTING COBOL DDT

     command        is  any  valid  COBDDT  command  listed   in   the
		    following table.

     filespecs      is a list of COBOL programs.  If  the  files  have
		    the  type  .CBL,  you  do  not have to include the
		    /COBOL switch.


                              Table II-3
			   COBDDT Commands


       Commands
	  After you have given the DEBUG  command,  and  the  system
	  prints  an  asterisk,  you can give a COBDDT command.  You
	  can abbreviate each command to one letter.

       Data-names, Paragraph-names, and Section-names
	  You can  abbreviate  each  data-name,  paragraph-name,  or
	  section-name	 to   a   unique   number   of	 characters.
	  Paragraph-names  can	be   qualified	 by   section-names;
	  data-names  can  be  qualified  by higher-level data names
	  and/or  subscripted.	 The  subscripts  for  a   qualified
	  data-name   must   appear   immediately  after  the  first
	  data-name.   Section-names  and   data-names	 cannot   be
	  qualified  by  program-names because COBDDT uses the names
	  in the program specified in the MODULE command.

       ACCEPT data-name
	  Changes the  value  of  the  specified  data-item.   After
	  giving the ACCEPT command, type the data on the next line.
	  If you omit data-name, the system uses the last  name  you
	  gave in the most recent ACCEPT or DISPLAY command.

       BREAK paragraph-name
	  Sets a break point (or pause)  at  the  beginning  of  the
	  specified paragraph.	You can set twenty break points.  If
	  you are using overlays, be careful where  you  place	your
	  break points.

       CLEAR paragraph-name
	  Removes the breakpoint at the specified paragraph.  If you
	  omit	 the   paragraph   name,   the	system	removes  all
	  breakpoints.

       DISPLAY data-name
	  Prints the  value  of  a  data  item.   If  you  omit  the
	  data-name,  the  system  prints the value of the data name
	  you  specified  in  the  most  recent  ACCEPT  or  DISPLAY
	  command.

       MODULE program-name
	  Takes data names and procedure names	from  the  specified
	  program.  Normally, within a run unit containing more than
	  one program, COBDDT searches for data names and  procedure
	  names  in the current program.  The MODULE command changes
	  the current program.	All  subsequent  searches  for	data
	  names  and  procedure  names	will be within the specified
	  program until COBDDT enters the next program	in  the  run
	  unit or until you give another MODULE command.

       PROCEED n
	  Starts  execution   or   continues   execution   after   a
	  breakpoint.  If you give a number n, the program continues
	  until completion or until it reaches n occurrences of  the
	  preceding breakpoint.

       STOP
	  Stops the program and closes all  open  files.   The	STOP
	  command is equivalent to the COBOL STOP RUN statement.

       TRACE value
	  Starts or stops tracing, depending on whether you  use  ON
	  or  OFF  for value.  When tracing is on, the system prints
	  the name of each paragraph or section (enclosed in  double
	  angle brackets) as it is entered.

       WHERE
	  Prints the current location, the names of  all  paragraphs
	  at  which  you  set  breakpoints,  and the number of break
	  points which you may yet assign.


Operation

     1.  Type DEBU and press the ESC key;  the system prints G (FROM).

         @DEBUG (FROM)

     2.  If the source file specifications do  not  contain  the  file
	 type  .CBL,  type  the  /COBOL  switch  and  leave  a	space;
	 otherwise,  type   (or   use	recognition   on)   the   file
	 specifications.   The	system	will  compile  the sources (if
	 necessary), load them into memory  along  with  COBDDT,  then
	 transfer control to COBDDT.

         @DEBUG (FROM) NUMBER.CBL,SUMSUB.CBL
	 COBOL:  NUMBER
	 COBOL:  SUMSUB
	 LINK:	 Loading
	 [LNKDEB COBDDT Execution]

         STARTING COBOL DDT
	 *

     3.  Once the system prints an asterisk, you are at COBDDT command
	 level	and  you  can  give  any of the COBDDT commands listed
	 above.  In the example, the user gives  the  PROCEED  command
	 which starts execution of his program.

         *PROCEED

     4.  If your program generates an error that would normally  cause
	 abortion  of execution, the system returns control to COBDDT,
	 printing the message:

         ?ENTERING COBDDT FROM: paragraph-name
	 *

         where paragraph-name is the name of the paragraph  containing
	 the error.  You may then give any COBDDT command.



Characteristics

     The DEBUG command loads your COBOL program into memory along with
     COBDDT,  thereby clearing any previous program from memory.  Your
     terminal is left at COBDDT command level.


Restrictions

     You can use COBDDT to debug only COBOL programs.


Examples

     The user debugs his program.

        @DEBUG (FROM) COMPUT.CBL    !Load the program with COBDDT
	COBOL:	MAIN  [COMPUT.CBL]
	LINK:	Loading
	[LNKDEB COBDDT Execution]

        STARTING COBOL DDT          !COBDDT starts

        *BREAK NXT1                 !Set a breakpoint at NXT1

        *BREAK NXT2                 !And also at NXT2

        *WHERE                      !List the breakpoints

        PROGRAM NOT STARTED
	BREAK POINTS:
	<<NXT1>>
	<<NXT2>>

        18 UNUSED BREAK POINTS
	*TRACE ON		    !Enable tracing

        *PROCEED                    !Start the program
	<<ST>>			    !Execution has entered the
	-7.0E0			    ! PARAGRAPH ST.
	1.0E0
	BREAK AT  <<NXT1>>	    !The program reached a break-
				    !point
	*DISPLAY A		    !Print the value of A
	3
	*ACCEPT A		    !Change the value of A
	4
	*D A			    !Print the new value of A
	4
	*PROCEED		    !Resume execution
	<<CC>>			    !Execution has entered the
				    !PARAGRAPH CC.
	BREAK AT  <<NXT2>>	    !The program reached a break-
				    !point
	*WHERE			    !Print the current status

        PROGRAM STOPPED AT <<NXT1>>
	BREAK POINTS
	<<NXT1>>
	<<NXT2>>

        18 UNUSED BREAK POINTS
	*CLEAR NXT2		    !Remove a break point

        *PROCEED                    !Resume execution
	<<NXT3>>		    !Beginning paragraph NXT3
	<<ENDIT>>		    !Beginning paragraph ENDIT
	THE RESULT IS 4.566	    !Here is the answer

        EXIT                        !The program ends

        @



COBOL Compiler


Function

     The COBOL compiler produces object  programs  from  COBOL  source
     programs.


Hints

     To run a COBOL program:

     1.  Enter your source program into a file (by using EDIT).

     2.  Give the EXECUTE command to compile,  load,  and  start  your
	 program.

     3.  If you plan to execute the proggram frequently, use the  LOAD
	 command instead of EXECUTE.  You can now use the RUN command,
	 which is faster than EXECUTE,	until  you  EDIT  the  program
	 again.


     Use the COBDDT program to debug COBOL programs.

     If you have a main program and assorted subroutines that  require
     special  loading,	refer  to  Section  8.3  which	describes  the
     LOAD-class commands.


Operation

     1.  Enter your program into a file using EDIT.

         @CREATE (FILE) COMPUT.CBL
	 INPUT: COMPUT.CBL.1
	 00100	 ID DIVISION.
	 00200	 DATA DIVISION.
	 00300	 WORKING-STORAGE SECTION.
	 00400	 77	 F1 COMP-1 VALUE 3.
	 00500	 77	 F2 COMP-1 VALUE 4.
	 00600	 77	 F3 COMP-1.
	 00700	 PROCEDURE DIVISION.
	 00800	 DISPLAY "TYPE A NUMBER: " WITH NO ADVANCING.
	 00900	 ACCEPT F3.
	 01000	 COMPUTE F3 = 2.0 * F3.
	 01100	 DISPLAY "TWICE THAT NUMBER IS: " WITH NO ADVANCING.
	 01200	 DISPLAY F3.
	 01300	 STOP RUN.
	 01400	 $
	 *E

         [COMPUT.CBL.1]
	 @

     2.  Compile, load, and start your program.

         @EXECUTE (FROM) COMPUT.CBL
	 COBOL:  MAIN  [COMPUT.CBL]
	 LINK:	 Loading
	 [LNKXCT COMPUT EXECUTION]
	 TYPE A NUMBER: 4
	 TWICE THAT NUMBER IS 6.0E0

         EXIT
	 @



Characteristics

     The LOAD-class commands run the COBOL compiler to translate  your
     COBOL  source  program, thereby clearing any program from memory.
     Depending on the operation you request, your terminal may or  may
     not be left at TOPS-20 command level.


Restrictions

     In order  to  use  the  COBOL  compiler  you  cannot  change  the
     definition  of  the  logical  name  SYS:.	 Should you change the
     definition and try to compile a COBOL program, the system	prints
     the following message, then cancel the command:

     ?  "DSK" IS NOT THE DSK

     Remove the definition of the logical name SYS:  and  reissue  the
     command.


Examples

     The user creates and executes a COBOL program.

        @CREATE (FILE) COMPUT.CBL          !Enter the program
	Input: COMPUT.CBL.1		   !into COMPUT.CBL
	00100	ID DIVISION.
	00200	DATA DIVISION.
	00300	WORKING-STORAGE SECTION.
	00400	77	F1 COMP-1 VALUE 3.
	00500	77	F2 COMP-1 VALUE 4.
	00600	77	F3 COMP-1.
	00700	PROCEDURE DIVISION.
	00800	DISPLAY "TYPE A NUMBER: " WITH NO ADVANCING.
	00900	ACCEPT F3.
	01000	COMPUTE F3 = 2.0 * F3.
	01100	DISPLAY "TWICE THAT NUMBER IS: " WITH NO ADVANCING.
	01200	DISPLAY F3.
	01300	STOP RUN.
	01400	$
	*E

        [COMPUT.CBL.1]
	@EXECUTE (FROM) COMPUT.CBL	   !Give the EXECUTE command
	COBOL:	MAIN  [COMPUT.CBL]
	LINK:	Loading
	[LNKXCT COMPUT Execution]
	TYPE A NUMBER: 35
	TWICE THAT NUMBER IS: 7.0E1

        EXIT
	@

     The user starts debugging the NUMBER program.

        @DEBUG (FROM) NUMBER.CBL
	COBOL:	LETTER	[NUMBER.CBL]
	LINK:	Loading
	[LNKDEB COBDDT Execution]

        STARTING COBOL DDT

        *

     The user loads the main program TEST3  and  its  two  subroutines
     TEST1  and TEST2.	The program is then saved for future use so it
     can be executed by giving the RUN	command.   This  procedure  is
     highly  recommended  because  RUN uses much less time and expense
     than EXECUTE.

        @LOAD (FROM) TEST1,TEST2,TEST3
	COBOL:	TEST1	[TEST1.CBL]
	COBOL:	TEST2	[TEST2.CBL]
	COBOL:	TEST3	[TEST3.CBL]
	LINK:	Loading

        EXIT
	@SAVE
	 TEST3.EXE.1 SAVED
	@RUN (PROGRAM) TEST3

        EXIT
	@



				CSAVE command


The CSAVE command has been removed from the system as it has
become redundent. However if you wish to know the function of
the command, refer to TOPS-20 Command Reference manual.



DUMPER Program


Function

     The DUMPER program transfers one or more files between  disk  and
     magnetic tape.


Hints

     Before starting DUMPER, set the  proper  magnetic  tape  defaults
     with the system command SET TAPE.


     Before restoring files, be sure to read the  description  of  the
     RESTORE command or, for simple cases, refer to the examples.

     The following cookbook examples are at the end of this section:

     Saving/restoring your entire directory (Examples 1, 13)
     Saving/restoring a single file (Examples 2, 14)
     Saving/restoring a group of files (Examples 3, 15)
     Saving/restoring files from another directory (Examples 4, 16)
     Saving/restoring files for a TOPS-20 system (Examples 5, 17)
     Saving/restoring changed files (Examples 6, 18)
     Saving/restoring accessed files (Examples 7, 19)
     Saving/restoring modified files (Examples 8, 20)
     Saving/restoring on a second reel of tape (Examples 9, 22)
     Checking the saved files (Example 10)
     Using DUMPER in a Batch job (Example 11)
     Keeping information about saved files (Example 12)
     Restoring files changes during a certain time period (Example 21)
     Restoring files from system backup tapes (Example 23)
     Examining a tape (Example 24)
     Stopping DUMPER (Example 25)


Format

     @DUMPER

     DUMPER 3(163)

     DUMPER> command arguments

     command        is  a  DUMPER   action-command,   tape-positioning
		    command, or status-command.  Table II-7 contains a
		    list of the DUMPER commands, grouped by function.

     arguments      is a file specification,  date,  density,  parity,
		    drive  number, number, or save-set name, depending
		    on the command.

                    dates          are  in  the  form  day-month-year.
				   Type January 16, 1975 as 16-JAN-75.

                    times          are in 24-hour  format  (nn:mm:ss),
				   or  in  AM,	PM form.  Thus 9:23 in
				   the evening is either 21:23 or 9:23
				   PM.

                    filespecs
		    sources
		    destination    are	  files    in	  the	  form
				   dev:<dir>name.typ.gen.     The    *
				   wildcard character is permitted.

                    save-set name  is   a   string   of   alphanumeric
				   characters which is used as a title
				   for a save set.


                              Table II-7
			   DUMPER Commands

     ACTION-COMMANDS

          DUMPER action commands start, stop, interrupt or  continue
	  a file transfer or file check.

       CHECK (ALL MTA FILES)
	  Checks the files in the current save set to make sure that
	  they	agree  with  the files on disk.  The system prints a
	  message if the files do not agree;  refer to items 1 and 2
	  in  the  error section.  Be sure to rewind the tape to the
	  beginning of the save set before giving the CHECK command.

       CONTINUE
	  Continues  a	CHECK,	RESTORE,  SAVE	or  tape-positioning
	  command  after you have typed a CTRL/E to halt it.  If you
	  have prevented DUMPER from continuing, the  system  prints
	  ?CANNOT CONTINUE on your terminal.

       CTRL/E
	  Halts  the  action  of  a   CHECK,   RESTORE,   SAVE,   or
	  tape-positioning  command.   When the system processes the
	  CTRL/E, it prints a message, suspends the action, and then
	  prints the DUMPER prompt.

          INTERRUPTING...

          DUMPER>

          After typing CTRL/E, you may give a CONTINUE, DIRECTORIES,
	  EXIT,  FILES,  HELP,	or SILENCE command.  If you give any
	  other command, DUMPER loses the information  necessary  to
	  continue   the  action  you  halted.	 If  DUMPER  is  not
	  performing an action command, typing a CTRL/E returns  you
	  to TOPS-20 command level.

       EXIT
	  Exits immediately to TOPS-20 command level.

       HELP
	  Prints a  list  of  the  valid  DUMPER  commands  on	your
	  terminal.

       PRINT (DIRECTORY OF TAPE ONTO FILE) destination
	  Prints a directory of the entire  tape  in  the  specified
	  file.  The destination file specification defaults to TTY:
	  (your terminal).

       RESTORE (MTA FILES) source (TO) destination
	  Searches the current save set  and  copies  the  specified
	  magnetic  tape  source  file(s) to disk and gives them the
	  specified destination file specification(s).	After giving
	  a  RESTORE  command,	the tape is positioned at the end of
	  the save set.   You  may  specify  additional  source  and
	  destination  file  specifications  by separating each pair
	  with a comma.

     source         is a file specification  identifying  the  files
		    you  want copied from the tape.  You may use the
		    * and % wildcard characters to specify  a  group
		    of	files.	The system restores all the files in
		    the save set if you omit the source file.

                    Defaults:   dev:   * (the source device)
				<dir>  * (the source directory)
				name   * (all file names)
				type   * (all file types)
				gen    * (the source generation)

     destination    is a file specification  identifying  where  you
		    want  the files copied.  You may use the * and %
		    wildcard characters to  refer  to  corresponding
		    fields in the source file specification.  If you
		    omit the  destination  file  specification,  the
		    system uses the corresponding source file.

                    Defaults:   dev:   * (the source device)
				<dir>  * (the source directory)
				name   * (the source file name)
				type   * (the source file type)
				gen    * (the source generation)

     Operation

          After you give the RESTORE command, DUMPER prints a header
	  on  your  terminal  and then starts searching the tape for
	  files to restore.

          DUMPER TAPE # 1, save-set name, date

          Once DUMPER starts restoring files to disk, it prints  the
	  following message on your terminal:

          LOADING FILES INTO <directory>

          where directory specifies where the files are copied.   If
	  this	message  is  NOT  printed,  DUMPER has not found any
	  source files you specified and no files have been restored
	  to  a  directory.   Also, if you try to restore files to a
	  directory in which you are not allowed  to  create  files,
	  DUMPER  will	not  print this message or attempt restoring
	  the files.

          Give the FILES command if you want  DUMPER  to  print  the
	  file specification of each file as it is restored.

          DUMPER prints the following message if  the  save  set  is
	  continued on another reel of tape:

          END OF TAPE, MOUNT NEXT REEL
	  %FILE filespec CONTINUED ON NEXT REEL
	  TAPE (FILESPEC)

          DUMPER rewinds the current tape.  Use the  TMOUNT  command
	  to  request  a new tape, or mount the tape yourself.	When
	  the new tape is mounted,  type  the  drive  name  and  the
	  restore will continue.

                          CTRL/C

          TAPE (FILESPEC)
	  @TMOUNT (TAPE) NEXT: (VOLID) BLUE
	  [OPERATOR NOTIFIED]
	  [MTA0: ASSIGNED]
	  @CONTINUE (PROGRAM)
	  CTRL/R

          TAPE (FILESPEC) MTA0:

          DUMPER TAPE # 2,  , date

          DUMPER prints the following message when  it  reaches  the
	  end of the current save set:

          END OF SAVESET

       Restoring Files Saved From Another Directory
	  You must specicically specify the source  and  destination
	  directory  names to restore files saved from one directory
	  to another.  Refer  to  Example  16.	 For  instance,  the
	  following  command  restores	all the files saved from the
	  directory <MANUALS> to  the  user's  connected  directory,
	  <WILEY>:

          DUMPER>RESTORE (MTA FILES) <MANUALS>*.*.* (TO) <WILEY>

       Superseding Existing Files And Selecting Generation Numbers
	  Once DUMPER has found a tape file to restore to  disk,  it
	  examines the directory to see if a file with the same file
	  name and file type already exists.  If such  a  file	does
	  not  exist,  DUMPER  immediately copies the tape file to a
	  disk.

          If a disk file exists with the same  file  name  and  file
	  type	as the tape file, DUMPER restores the file according
	  to the value or the SUPERSEDE parameter.

             SUPERSEDE OLDER
			   is the default.  DUMPER restores the tape
			   file  only  if  it was created or written
			   more recently than the disk file.  If the
			   generation  number  of  the	tape file is
			   ALSO less  than  the  disk  file,  DUMPER
			   deletes  the  disk  file  and  prints the
			   message:

                           %FILE filespec DELETED WHILE SUPERSEDING

                           Note:  you can avoid trying to restore  a
			   more  recent file with a lower generation
			   number by  using  -1  as  the  generation
			   number    in    the	  destination	file
			   specification.

             SUPERSEDE ALWAYS
			   DUMPER  restores   the   file   to	disk
			   (regardless	of  its age) using a default
			   generation number one  greater  than  the
			   existing file.

             SUPERSEDE NEVER
			   DUMPER does not restore the file.

          Restoring Changed And Accessed Files
	     Refer to the description of the BEFORE, SINCE, ABEFORE,
	     ASINCE,  MBEFORE,	and  MSINCE commands described under
	     SAVE.


       SAVE (DISK FILES) source (AS) dest, source (AS) dest
	  Creates  a  save  set  containing  all  the  source  files
	  specified in the SAVE command.  The source files are saved
	  using the destination file specification.  You may use the
	  *  and  %  wildcard characters to specify groups of files.
	  You may specify additional  source  and  destination	file
	  specifications by separating each pair with a comma.

          source         is a  file  specification  identifying  the
			 files	you  want  to save.  If you omit the
			 source  file  specification  entirely,  the
			 system   saves   all	the  files  in	your
			 connected directory.

                         Defaults:  dev:   * (the source device)
				    <dir>  * (the source directory)
				    name   * (all file names)
				    type   * (all file types)
				    gen    * (the source generation)

          destination    is the file specification that is  assigned
			 to  the tape file.  The file is saved using
			 its current file specification  if  you  do
			 not give a destination file specification.

                         Defaults   dev:   * (the source device)
				    <dir>  * (the source directory)
				    name   * (the source file name)
				    type   * (the source file type)
				    gen    * (all generations)

          Operation

             When you give the SAVE command, DUMPER prints a  header
	     on your terminal and then starts the save set.


             DUMPER TAPE # 1, save-set name, date

             DUMPER prints the name of each file  you  save  if  you
	     give  the	FILES  command	before	you  give  the	SAVE
	     command.  Give the LIST command  before  you  give  the
	     SAVE command if you want a list of the files you save.

             DUMPER  rewinds  the  current  tape  and   prints   the
	     following	message  when the save set must be continued
	     on a second reel of tape:

             END OF TAPE, CONTINUE SAVE ON
	     TAPE (FILESPEC)

             Type a CTRL/C and give the TMOUNT command, or mount the
	     reel  yourself.   Then  type  CONTINUE (if you gave the
	     TMOUNT command), and type the drive name.

             END OF TAPE, CONTINUE SAVE ON
			     CTRL/C

             TAPE (FILESPEC)
	     @TMOUNT (TAPE) SECOND: (VOLID) GREEN
	     [Operator notified]
	     [MTA0: assigned]
	     @CONTINUE (PROGRAM)
	     CTRL/R

             TAPE (FILESPEC) MTA0:

             DUMPER TAPE # 2, , date

             When the save is  finished,  DUMPER  prints  the  total
	     number   of   files  saved  and  the  number  of  pages
	     comprising those files.

             TOTAL FILES DUMPED = 253
	     TOTAL PAGES DUMPED = 1751
	     @

          Saving Changed And Accessed Files
	     You may find it useful to save only  those  files	that
	     have  been  changed or read.  DUMPER has commands which
	     select those files.   To  save  files  that  have	been
	     changed  or  read	within	a  certain  period  use both
	     ABEFORE and ASINCE commands.

             SINCE and BEFORE      Specify files whose contents have
				   changed  (i.e., whose write dates
				   are)   after   or   before	 the
				   specified date.

             ASINCE and ABEFORE    Specify files that have been read
				   or  changed	after  or before the
				   specified date and time.

             MSINCE and MBEFORE    Specify  files  which  have  been
				   modified   after  or  before  the
				   specified date  and	time.	This
				   includes  files  created with the
				   RENAME and COPY commands.  SINCE,
				   BEFORE, ASINCE and ABEFORE do not
				   include these files.

     TAPE-POSITIONING COMMANDS

          DUMPER tape-positioning commands control the tape you have
	  specified  with  the last TAPE command or, if you have not
	  given a TAPE command, the tape  assigned  to	the  logical
	  name	MTA-DUMPER.   You  should  have previously allocated
	  these drives to your job with the TOPS-20 ASSIGN command.

       EOT
	  Skips to the end of the last save  set  on  the  tape  and
	  prints  the message:	TAPE POSITIONED AT EOT.  If any save
	  sets are encountered, the system prints the save set names
	  and the time and date that the save set was written.

       REWIND
	  Rewinds the tape to the beginning of the tape (BOT).

       SKIP (NUMBER OF SAVESETS) n
	  Skips the tape over n save sets.

       SKIP (NUMBER OF SAVESETS) 0
	  Backspaces the tape to the beginning of the  current	save
	  set.

       SKIP (NUMBER OF SAVESETS) -n
	  Backspaces the tape over n save sets.


     STATUS-COMMANDS

          DUMPER status-commands set  parameters  which  affect  the
	  operation  of  the CHECK, RESTORE and SAVE commands.	Once
	  you set a parameter, it stays in effect until  you  change
	  it or restart DUMPER.  If you want to selete only specific
	  files, use the ABEFORE, ASINCE, BEFORE,  MBEFORE,  MSINCE,
	  and  SINCE  commands.   If  you set multiple conditions, a
	  file must satisfy  all  the  conditions  in  order  to  be
	  transferred.

       ABEFORE (DATE AND TIME) date time
	  Includes only those file which were accessed	(written  or
	  read)  before  the  given  date and time.  This command is
	  useful in transferring files that were actually used,  but
	  not necessarily changed.

     ACCOUNT (OF RESTORED FILES FROM) location
	Specifies that any file being restored will get its accounts
	from  either the SYSTEM-DEFAULT or from TAPE.  Normally, the
	system uses the account that was stored  with  the  file  on
	TAPE.  The SYSTEM-DEFAULT specifies your current account.

     ASINCE (DATE AND TIME) date time
	Includes only those files which were  accessed	(written  or
	read) since the given date and time.  This command is useful
	in transferring files  that  were  actually  used,  but  not
	necessarily changed.

     BEFORE (DATE AND TIME) date time
	Includes only those files which were created or last written
	(i.e.,	whose  contents  were changed) before the given date
	and time.  This command is useful in transferring only those
	files that have changed.

     [NO] CHECKSUM (FILES) type
	Prints a checksum for  each  file  when  you  give  a  PRINT
	command  and  includes the checksum in the log file when you
	give a SAVE command.  When the checksum  of  the  disk	file
	disagrees with the checksum of the tape file, there has been
	an error in the file transfer.	DUMPER computes  a  checksum
	for  the  entire  file	when  you  use	the type SEQUENTIAL;
	DUMPER computes a checksum for each page of  the  file	when
	the  type  is  BY-PAGES.   The	SEQUENTIAL  checksum  is the
	easiest to use.

     DENSITY (OF MAGTAPE) n
	Sets the tape density to the given number of bits  per	inch
	(BPI).	 The  density  must  be  200,  556,  800,  1600,  or
	JOB-DEFAULT (set by the system command	SET  TAPE  DENSITY).
	If  you  do  not  give	the DENSITY command, DUMPER uses the
	density listed in the TOPS-20  command	INFORMATION  (ABOUT)
	TAPE-PARAMETERS.

     [NO] DIRECTORIES
	Starts (or stops, if you type NO) printing on your  terminal
	each  directory  name as the directory is saved or restored.
	Normally, the system prints each directory name.

     [NO] FILES
	Starts (or stops, if you type NO) printing on your  terminal
	each  file  specification  as the file is saved or restored.
	Normally, the system does not print each file specification.

     FORMAT (VERSION NUMBER IS) n
	Allows the system to read and write DUMPER tapes  that	were
	written  with  other  (unsupported) versions of DUMPER.  The
	default format is 2;  BBN-TENEX users should use 0  to	read
	and write tapes created by BBN-DUMPER.

     [NO] INITIAL (FILESPEC) filespec
	Starts (or stops,  if  you  type  NO)  saving  at  the	file
	identified  by	filespec.   This  is  useful  for continuing
	interrupted save sets.

       [NO] INTERCHANGE (FORMAT)
	  Starts (or stops, if you type NO) using  the	DECsystem-10
	  (TOPS10  BACKUP) interchange format in reading and writing
	  tapes.  Otherwise, DUMPER uses its own format.

       [NO] LIST (LOG INFORMATION ON FILE) filespec
	  Makes  a  list  of  the  files  transferred  in  the	file
	  identified by filespec.  The default file specification is
	  LPT:DUMPER.LOG.  If an existing file is specified,  it  is
	  appended to rather than rewritten.

       MBEFORE (DATE AND TIME) date time
	  Include only those files modified (i.e., written, created,
	  appended,  or  renamed) before the specified internal date
	  and time.

       MSINCE (DATE AND TIME) date time
	  Includes  only  those  files	modified   (i.e.,   written,
	  created,   appended,	 or  renamed)  since  the  specified
	  internal date and time.

       PARITY (OF MAGNETIC TAPE) type
	  Sets the parity of the current magnetic tape	to  EVEN  or
	  ODD.	 DUMPER  normally  uses  the  parity  listed  in the
	  TOPS-20 command INFORMATION (ABOUT) TAPE-PARAMETERS.

       PROTECTION (OF RESTORED FILES FROM) location
	  Takes the  protection  of  the  restored  files  from  the
	  SYSTEM-DEFAULT (usually 777700) or from the TAPE.

       SET TAPE-NUMBER (DECIMAL NUMBER) n
	  Sets the reel number used in	the  next  SAVE  or  RESTORE
	  command.   This is useful when you are saving or restoring
	  files on multiple reels of tape and do not want to process
	  the reels in order.

       [NO] SILENCE
	  Stops (or starts, if you type NO) printing directory names
	  and	file  specifications  as  the  files  are  saved  or
	  restored.  NO SILENCE is  equivalent	to  giving  a  FILES
	  command followed by a DIRECTORIES command.

       SINCE (DATE AND TIME) date time
	  Includes only  those	files  that  were  created  or	last
	  written  (i.e.,  whose  contents  were  changed) since the
	  specified date  and  time.   This  command  is  useful  in
	  transferring only those files that have changed.

       SSNAME save-set name
	  Identifies a save set name.  This save set name is printed
	  on your terminal whenever you save or restore files.

     SUPERSEDE condition
	Sets the condition under which DUMPER will supersede a	disk
	file  with  a  magnetic  tape file of the same file name and
	type.  Use ALWAYS when you always want to supersede the disk
	file with the tape file.

        Use NEVER when you never want to supersede  the  disk  file;
	in  this case, a file is transferred from tape only if there
	is no disk file in the directory with the same file name and
	type.

        Use OLDER when you want the tape file to supersede only disk
	files  with older write dates;	in this case, a tape file is
	transferred to disk file.  If you do not  give	a  SUPERSEDE
	command,  the  system  uses  SUPERSEDE	OLDER.	Refer to the
	RESTORE command.

     TAPE (FILESPEC) MTAn:
	Uses the specified tape for  the  file	transfers.   If  the
	drive is not available to your job, the system prints:

        ?INVALID FILESPEC, DEVICE IS NOT AVAILABLE TO THIS JOB

        Wait until you can assign a magnetic tape to your job.   You
	do  not have to give a TAPE command if you assign a magnetic
	tape device name to the logical name MTA-DUMPER.


Operation

     1.  Type DUMPER and press the  RETURN  key;   the  system  prints
	 DUMPER, its version and the prompt DUMPER>.

         @DUMPER

         DUMPER 3(163)

         DUMPER>

     2.  Give the DUMPER commands you want.  (You  must  give  a  TAPE
	 command  or assign a magnetic tape device name to the logical
	 name MTA-DUMPER before giving an action  command.)  When  you
	 are finished, give the EXIT command.

         DUMPER> TAPE (FILESPEC) MTA1:
	 DUMPER> REWIND
	 DUMPER> SSNAME TEST1
	 DUMPER> SAVE

         DUMPER TAPE # 1, TEST1, WEDNESDAY, 12-OCT-77 0958

         TOTAL FILES DUMPED = 5
	 TOTAL PAGES DUMPED = 95
	 DUMPER>EXIT
	 @


     If you want the names of the individual files printed,  give  the
     FILES command before the SAVE command.


Errors

     1.  If a file on magnetic tape does not  agree  with  a  file  on
	 disk,	the system prints the following message after you give
	 a CHECK command:

         %COMPARE ERROR, PAGE n, FILE filespec

         where n is the page in the disk file, and filespec  specifies
	 the  file  in	which  the  error occurs.  This means that the
	 actual data differs between the file on disk and the file  on
	 tape.	 Try transferring the file again, but beware that this
	 error is often caused by a  program  that  updated  the  file
	 after	you saved it on tape.  An actual example of this error
	 is:

         %COMPARE ERROR, PAGE 8, FILE DUMPER.EX3.1

     2.  The system may also print the following line:

         %DIFFERENCES IN location OF FILE filespec

         The location describes the entry in the file descriptor block
	 (refer  to the Monitor Calls Manual) that differs between the
	 two files.  (Each file has  a	file  descriptor  block  which
	 contains  information describing the history and structure of
	 the file.) The common	locations  and	the  differences  they
	 describe are listed in Table II-8.  After receiving a message
	 of this type, try transferring the file again.  If the  error
	 still occurs, contact the operator or system manager.


                              Table II-8
		 File Descriptor Block (FDB) Entries

           A difference
	   at location:  Means the files do not have the same:

           .FBCTL        -Temporary, permanent, not-to-be-saved-by
			  DUMPER, or file-class status.
	   .FBCRE	 -Dates and times they were last written.
	   .FBAUT	 -Authors name.
	   .FBBYV	 -Number of generations to retain,
			  byte size, mode of the last write, or the
			  number of pages.
	   .FBSIZ	 -Pointer to the byte beyond the
			  end-of-file.
	   .FBCRV	 -Creation date or time.
	   .FBWRT	 -Date or time they were last written
			  (modifiable by the user).
	   .FBREF	 -Date or time they were accessed by a
			  non-write operation.
	   .FBCNT	 -Count of writes or references.
	   .FBBKO	 -Contents of the DUMPER data area.
	   .FBUSW	 -Contents of the user-settable
			  data area.
	   .FBLWR	 -Last writer name.

         Examples of these errors are:

         %DIFFERENCE IN .FBREF OF FILE <MCKIE>ESQRT.ALG.14
	 %DIFFERENCE IN .FBCNT OF FILE <MCKIE>DEFER.FOR.14
	 %DIFFERENCE IN .FBREF OF FILE <MCKIE>LOGIN.CMD.2

     3.  When you are saving files on the tape, there may be bad spots
	 that do not record properly.  If the system finds an error in
	 the record that was  just  written,  it  writes  a  duplicate
	 record  immediately following the erroneous record and prints
	 the message:

         %WRITE ERROR ON TAPE, RECORD n, WRITING DUPLICATE RECORD.

         If there  are  many  errors,  try  moving  the  tape  to  the
	 beginning  of	the  save  set and saving the files again.  If
	 there are less errors, most likely your  tape	is  dirty  and
	 repeated saving will clean the tape and reduce errors.

         When you restore the files from that tape,  the  system  will
	 read  the bad record first.  Since normal reading operates at
	 higher sensitivity than write-checking,  the  system  may  be
	 able  to read a record that was previously thought to be bad.
	 If this occurs,  the  system  takes  the  second  record  and
	 ignores the duplicate record, while printing the message:

         %DUPLICATE RECORD ENCOUNTERED, RECORD 13, IGNORED.

         If there is an error  in  the  original  record,  the  system
	 prints  either  ?MTA  DATA  ERROR,  ?MTA  UNKNOWN ERROR, ?MTA
	 CHECKSUM ERROR, or another message of that type,  then  reads
	 the  next  record.   If the next record is a duplicate record
	 (two records are duplicate if their sequence numbers are  the
	 same), the system reads that record.  If the duplicate record
	 is correct, the system prints the message, RECOVERED.	If the
	 error	is  not recovered, the transfer continues after DUMPER
	 prints a message indicating the location of the bad record.

         Due to differences in inter-record gaps between tape  drives,
	 the  same  bad spot does not necessarily have to occur at the
	 same record number if the tape is being written by  different
	 drives.

     4.  Each record on  the  tape  has  a  sequence  number  somewhat
	 similar  to  an  EDIT	line  number.  When the system reads a
	 record, it makes sure that the sequence number is one greater
	 than  the last record.  If the sequence number is the same as
	 the last record, it  prints  the  message  %DUPLICATE	RECORD
	 ENCOUNTERED,  RECORD  n,  IGNORED.   If the difference is not
	 one, the  system  reads  the  record,	prints	the  following
	 message,  resets  the	internal  sequence  counter to the new
	 number and continues with  the  current  operation.   If  the
	 sequence  number  is  irregular,  you	may  receive  a second
	 message when the numbers regain their previous value.

         ?SEQUENCE ERROR, RECORD 15, CONTINUING.

     5.  If you try to use a magnetic tape and have not given  a  tape
	 command,  the	system	postpones the command and tries to use
	 the logical name MTA-DUMPER.  If that	logical  name  has  no
	 magnetic tape definition, the system prints:

         Tape specification needed,
	 TAPE (FILESPEC)

         Type the name of the magnetic tape drive you are using,  then
	 press the RETURN key.	If you have to run the PLEASE program,
	 refer to the SAVE command.

     6.  Each DUMPER tape normally starts with a tape header.  If  the
	 system  encounters  a tape without a tape header, it tries to
	 perform the specified operation and prints the message:

         %TAPE DOESN'T START WITH HEADER, CONTINUING...

         You probably  forgot  to  rewind  the  tape  before  doing  a
	 RESTORE.

     7.  If the tape drive you are using is not  on-line,  the  system
	 prints the following message if you try to access it:

         FAILED TO OPEN MTA
	 ?Device is not on-line
	 TRY AGAIN?

         Type Y or N (for yes or no) if you want to try again or  not.
	 Contact the operator if you have any questions.

     8.  If you try any command that reads the tape and if the  system
	 prints the message:

         ?DRIVE PROBABLY OFF-LINE, TYPE CR TO TRY AGAIN.

         Check with the operator to make sure that he has  placed  the
	 drive	on-line.   If  he  has, you are probably attempting to
	 read the tape at the wrong density.  Type a  CTRL/C,  restart
	 DUMPER,  then	set the proper density.  You can try different
	 densities (try 1600, 800, 556, then 200) if you cannot recall
	 the correct density to set.

     9.  If you are accessing a file and the file  is  not  available,
	 the system prints one of a variety of messages explaining why
	 you may not use the  file.   Make  sure  that	you  have  not
	 deleted  the file, or that you are not over your working disk
	 storage limit.

         ?CANNOT GET JFN FOR FILE <MCKIE>DUMPER.TXT.13;P777752;A10300 BECAUSE:
	   No such generation number

         ?CANNOT OPEN FILE <MCKIE>TRANSL.CMD.10;P777752;A10300 BECAUSE:
	   Disk quota exceeded



Output

     Whenever you give a FILES command before a SAVE  command,  DUMPER
     normally print (as it processes the SAVE command):

       -A heading,

     For each directory:
       -The directory name followed by the directory number (for
	internal system accounting)
       -A line for each file containing the file specification, date
	and time the file was last written, and the size in pages.
       -The total number of files and pages dumped from the directory.

     For the entire SAVE command:
       -The total number of files and pages dumped.


     Refer to the LIST command which controls log file output.


Characteristics

     Running the DUMPER program clears any  program  from  memory  and
     leaves  your  terminal  at DUMPER command level.  Give the DUMPER
     command EXIT to return to TOPS-20 command level.


Examples

     The examples are  divided  into  three  parts.   The  first  part
     describes	various  ways  you may save files on tape;  the second
     part shows how to restore files from tape to disk;  and the third
     part  shows  how  to  use	some  special  DUMPER  commands.  Some
     examples in the first two parts are keyed to  each  other	-  for
     instance (A) to saving and restoring an entire directory.


                                  SAVING FILES

1.   SAVING YOUR ENTIRE DIRECTORY (A)

     To save your entire directory on tape, start  DUMPER,  assign  or
     request a magnetic tape, and give the SAVE command.

     @DUMPER

     DUMPER 3(163)

     DUMPER>TAPE (FILESPEC) MTA1:
     DUMPER>REWIND
     DUMPER>SSNAME FULL SAVE
     DUMPER>SAVE (DISK FILES)

     DUMPER TAPE # 1, FULL SAVE, WEDNESDAY, 31-AUG-77 1957
     PS:<PORADA>

     TOTAL FILES DUMPED = 61
     TOTAL PAGES DUMPED = 162
     DUMPER>EXIT
     @

2.   SAVING A SINGLE FILE (B)

     To save a single file, type the name of the file after  the  SAVE
     command.

     @DUMPER

     DUMPER 3(163)

     DUMPER>TAPE (FILESPEC) MTA1:
     DUMPER>REWIND
     DUMPER>FILES
     DUMPER>SSNAME SINGLE FILE
     DUMPER>SAVE (DISK FILES) TMOUNT.TXT

     DUMPER TAPE # 1, SINGLE FILE, WEDNESDAY, 31-AUG-77 1955
     PS:<PORADA>
     TMOUNT.TXT.1 (AS) TMOUNT.TXT.1  [OK]

     TOTAL FILES DUMPED = 1
     TOTAL PAGES DUMPED = 1
     DUMPER>EXIT
     @

3.   SAVING A GROUP OF FILES (C)

     To save a group of files, use the wildcard characters % and *  in
     the file specification after the SAVE command.

     @DUMPER

     DUMPER 3(163)

     DUMPER>TAPE (FILESPEC) MTA1:
     DUMPER>REWIND
     DUMPER>FILES
     DUMPER>SSNAME ALL .FOR FILES
     DUMPER>SAVE (DISK FILES) *.FOR

     DUMPER TAPE # 1, ALL .FOR FILES, WEDNESDAY, 31-AUG-77 1955
     PS:<PORADA>
     DPEX2.FOR.3 (AS) DPEX2.FOR.3    [OK]
     DPEX3.FOR.3 (AS) DPEX3.FOR.3    [OK]
     DPEX4.FOR.2 (AS) DPEX4.FOR.2    [OK]
     DPEXP.FOR.5 (AS) DPEXP.FOR.5    [OK]
     FUN.FOR.2 (AS) FUN.FOR.2	     [OK]
     HI.FOR.2 (AS) HI.FOR.2	     [OK]
     MAIN.FOR.2 (AS) MAIN.FOR.2      [OK]
     SIND2.FOR.2 (AS) SIND2.FOR.2    [OK]
     SIND3.FOR.2 (AS) SIND3.FOR.2    [OK]
     SPEX2.FOR.2 (AS) SPEX2.FOR.2    [OK]
     SPEX3.FOR.2 (AS) SPEX3.FOR.2    [OK]
     SPEX4.FOR.2 (AS) SPEX4.FOR.2    [OK]
     SPEXP.FOR.3 (AS) SPEXP.FOR.3    [OK]
     TRIG.FOR.2 (AS) TRIG.FOR.2      [OK]
     WONDER.FOR.2 (AS) WONDER.FOR.2  [OK]

     TOTAL FILES DUMPED = 15
     TOTAL PAGES DUMPED = 15
     DUMPER>EXIT
     @

4.   SAVING FILES LOCATED IN ANOTHER DIRECTORY (D)

     To  save  files  located  in  another  directory,   include   the
     <directory>  or dev:<directory> name in the file specification in
     the SAVE command.

     @DUMPER

     DUMPER 3(163)

     DUMPER>TAPE (FILESPEC) MTA1:
     DUMPER>REWIND
     DUMPER>FILES
     DUMPER>SSNAME MANUAL FILES
     DUMPER>SAVE (DISK FILES) <MANUALS>*.FOR

     DUMPER TAPE # 1, MANUAL FILES, WEDNESDAY, 31-AUG-77 1955
     PS:<MANUALS>
     ADDEM.FOR.1 (AS) ADDEM.FOR.1    [OK]
     ADDTWO.FOR.1 (AS) ADDTWO.FOR.1  [OK]
     COMP.FOR.1 (AS) COMP.FOR.1      [OK]
     CUBIT.FOR.1 (AS) CUBIT.FOR.1    [OK]
     DIFFER.FOR.1 (AS) DIFFER.FOR.1  [OK]
     MORPAY.FOR.1 (AS) MORPAY.FOR.1  [OK]
     SMALL.FOR.1 (AS) SMALL.FOR.1    [OK]
     SUB1.FOR.1 (AS) SUB1.FOR.1      [OK]
     SUM.FOR.1 (AS) SUM.FOR.1	     [OK]
     TRYIT.FOR.1 (AS) TRYIT.FOR.1    [OK]

     TOTAL FILES DUMPED = 11
     TOTAL PAGES DUMPED = 20
     DUMPER>EXIT
     @

5.   SAVING A FILE TO BE RESTORED TO A TOPS-10 SYSTEM (E)

     To save a file so that it can  be  restored  to  a  TOPS-10  file
     system  usinG  the  TOPS-10  BACKUP program, give the INTERCHANGE
     command before you give the SAVE command.

     DUMPER

     DUMPER 3(163)

     DUMPER>TAPE (FILESPEC) MTA1:
     DUMPER>REWIND
     DUMPER>FILES
     DUMPER>SSNAME FILES FOR TOPS-10
     DUMPER>INTERCHANGE (FORMAT)
     DUMPER>SAVE (DISK FILES) *.OVL

     DUMPER TAPE # 1, FILES FOR TOPS-10, WEDNESDAY, 31-AUG-77 1956
     PS::<PORADA>
     TEST.OVL.5 (AS) TEST.OVL.5      [OK]
     TEST1.OVL.2 (AS) TEST1.OVL.2    [OK]

     TOTAL FILES DUMPED = 2
     TOTAL PAGES DUMPED = 64
     DUMPER>EXIT
     @

6.   SAVING CHANGED FILES (F)

     Use the SINCE command to save only:

        a.  Changed files,
	b.  New files, and

            The example shows how to save  all  the  files  that  were
	    changed since August 31, 1977

            @DUMPER

            DUMPER 3(163)

            DUMPER>TAPE (FILESPEC) MTA1:
	    DUMPER>REWIND
	    DUMPER>FILES
	    DUMPER>SSNAME CHANGES ON 31-AUG
	    DUMPER>SINCE (DATE AND TIME) 31-AUG-77 0:0
	    DUMPER>SAVE (DISK FILES)

            DUMPER TAPE # 1, CHANGES ON 31-AUG, WEDNESDAY, 31-AUG-77
	    1956
	    PS:<PORADA>
	    DUMPER.CTL.3 (AS) DUMPER.CTL.3 [OK]
	    DUMPER.EXA.3 (AS) DUMPER.EXA.3 [OK]
	    TMOUNT.TXT.1 (AS) TMOUNT.TXT.1 [OK]

            TOTAL FILES DUMPED = 3
	    TOTAL PAGES DUMPED = 21
	    DUMPER>EXIT
	    @

       7.   SAVING ACCESSED FILES (G)

            Give the ASINCE command to save all the  files  that  were
	    accessed in any way (read, written, appended, accessed, or
	    created).  The example shows how to  save  all  the  files
	    that  were	accessed  since  August 31, 1977.  Notice that
	    these files include all the files that  were  saved  using
	    the SINCE command.

            @DUMPER

            DUMPER 3(163)

            DUMPER>TAPE (FILESPEC) MTA1:
	    DUMPER>REWIND
	    DUMPER>FILES
	    DUMPER>SSNAME USED ON 31-AUG
	    DUMPER>ASINCE (DATE AND TIME) 31-AUG-77 0:0
	    DUMPER>SAVE (DISK FILES)

            DUMPER TAPE # 1, USED ON 31-AUG, WEDNESDAY, 31-AUG-77 1957
	    PS:<PORADA>
	    DUMPER.CTL.3 (AS) DUMPER.CTL.3 [OK]
	    DUMPER.EXA.3 (AS) DUMPER.EXA.3 [OK]
	    PLM.MAC.1 (AS) PLM.MAC.1 [OK]
	    TMOUNT.TXT.1 (AS) TMOUNT.TXT.1 [OK]

            TOTAL FILES DUMPED = 4
	    TOTAL PAGES DUMPED = 23
	    DUMPER>EXIT
	    @

       8.   SAVING MONITOR-ACCESSED FILES (H)

            Use the MSINCE command to save any files  that  have  been
	    changed  or  accessed by the monitor.  These files include
	    all the files that were saved by the SINCE command.


            @DUMPER

            DUMPER 3(163)

            DUMPER>TAPE (FILESPEC) MTA1:
	    DUMPER>REWIND
	    DUMPER>FILES
	    DUMPER>SSNAME ALL CHANGES
	    DUMPER>MSINCE (DATE AND TIME) 31-AUG-77 0:0
	    DUMPER>SAVE (DISK FILES)

            DUMPER TAPE # 1, ALL CHANGES, WEDNESDAY, 31-AUG-77 1957
	    PS:<PORADA>
	    DUMPER.CTL.3 (AS) DUMPER.CTL.3 [OK]
	    DUMPER.EXA.3 (AS) DUMPER.EXA.3 [OK]
	    MAIL.TXT.1 (AS) MAIL.TXT.1 [OK]
	    TEST.OVL.5 (AS) TEST.OVL.5 [OK]
	    TEST1.OVL.2 (AS) TEST1.OVL.2 [OK]
	    TMOUNT.TXT.1 (AS) TMOUNT.TXT.1 [OK]

            TOTAL FILES DUMPED = 6
	    TOTAL PAGES DUMPED = 86
	    DUMPER>EXIT
	    @

       9.   CONTINUING A SAVE SET ON A SECOND REEL (I)

            To continue a save onto a second reel, type a CTRL/C, give
	    a  TMOUNT  command, give a CONTINUE command, and then type
	    the logical name or tape drive number.

            @TMOUNT (TAPE) REEL1: (VOLID) GREEN
	    [OPERATOR NOTIFIED]
	    [MTA1: ASSIGNED]
	    @DUMPER

            DUMPER 3(163)

            DUMPER>TAPE (FILESPEC) REEL1:
	    DUMPER>SAVE (DISK FILES)

            DUMPER TAPE # 1, , WEDNESDAY, 31-AUG-77 2058
	    PS:<MCKIE>

            END OF TAPE, CONTINUE SAVE ON
			    CTRL/C

            TAPE (FILESPEC) ^C
	    @TMOUNT (TAPE) REEL2: (VOLID) BLUE
	    [OPERATOR NOTIFIED]
	    [MTA1: ASSIGNED]
	    @CONTINUE (PROGRAM)
	    CTRL/R

            TAPE (FILESPEC) REEL2:
	    DUMPER TAPE # 2, , WEDNESDAY, 31-AUG-77 2100

            TOTAL FILES DUMPED = 253
	    TOTAL PAGES DUMPED = 1751
	    DUMPER>EXIT
	    @

       10.  CHECKING THE SAVED FILES

            If you want to check to make sure the files are  correctly
	    saved  on  the  tape,  give  a  REWIND command and a CHECK
	    command after you give the SAVE command.   This  procedure
	    does not work if you saved the files with a different file
	    specification.

            @DUMPER

            DUMPER 3(163)

            DUMPER>TAPE (FILESPEC) MTA0:
	    DUMPER>REWIND
	    DUMPER>SSNAME COBOL PROGRAMS
	    DUMPER>SAVE (DISK FILES) *.CBL

            DUMPER TAPE # 1, COBOL PROGRAMS, THURSDAY, 1-SEP-77 2058
	    PS:<MCKIE>

            TOTAL FILES DUMPED = 4
	    TOTAL PAGES DUMPED = 5
	    DUMPER>REWIND
	    DUMPER>FILES
	    DUMPER>CHECK (ALL MTA FILES)

            DUMPER TAPE # 1, COBOL PROGRAMS, THURSDAY, 1-SEP-77 1325
	    PS:<MCKIE>COMPUT.CBL.1;P777752;A10300
	    PS:<MCKIE>NUMBER.CBL.1;P777752;A10300
	    PS:<MCKIE>STR.CBL.1;P777700;A10300
	    PS:<MCKIE>TEST3.CBL.3;P777700;A10300

            END OF SAVESET
	    DUMPER>EXIT
	    @

       11.  USING DUMPER FROM A BATCH JOB

            Place the commands you would normally type in a  file  and
	    then  submit  that	control file to the Batch system.  Use
	    the  TMOUNT  command  for  assigning  tape	drives.    The
	    following example shows the control file and the resulting
	    log file from a Batch job that  saves  the	user's	entire
	    directory.

            @TYPE (FILE) DAILY.CTL
	    00100   !BATCH JOB FOR SAVING FILES
	    00200   @TMOUNT MTA-DUMPER RED,
	    00300   @WRITE-ENABLED
	    00400   @
	    00500   @DUMPER
	    00600   *REWIND
	    00700   *SSNAME DAILY SAVE
	    00800   *LIST DAILY-SAVE.LOG
	    00900   *SAVE
	    01000   *REWIND
	    01100   *CHECK
	    01200   *EXIT
	    01300   @UNLOAD MTA-DUMPER
	    01400   @DEASSIGN MTA-DUMPER

            @SUBMIT DAILY
	    [INP:DAILY=/SEQ:3454/TIME:00:05:000]
	    @

            The log file from this job is shown  below.   Notice  that
	    the  files	DAILY.LOG  and	DAILY-SAVE.LOG	do  not  check
	    properly since they are  modified  between	the  save  and
	    check operations.

10:36:42 BAJOB   BATCON version 102(2052) running DAILY sequence 467
		 in stream 1
10:36:42 BAFIL	 Input from PS:<MCKIE>DAILY.CTL
10:36:42 BAFIL	 Output to PS:<MCKIE>DAILY.LOG
10:36:42 BASUM	 Job parameters
		 Time:00:04:00	Unique:YES  Restarting:NO  Output:NOL
10:36:42 MONTR
10:36:42 MONTR	  2102 DEVELOPMENT SYS., TOPS-20 MONITOR 2(233)
10:36:42 MONTR	 @LOGIN MCKIE 10300
10:36:43 MONTR	    JOB 26 ON TTY112 6-AUG-76 10:36
10:36:44 MONTR	  2102 DEVELOPMENT SYS., TOPS-20 MONITOR 2(233)
10:36:44 MONTR	  TOPS-20 COMMAND PROCESSOR 2(236)
10:36:44 MONTR	  USED 0:00:00 IN 0:00:00
10:36:44 MONTR	  TOPS-20: 0:00:00.2
10:36:44 MONTR	  SET UUO-SIMULATION (FOR PROGRAM)
10:36:44 MONTR	  SET NO CONTROL-C-CAPABILITY (OF PROGRAM)
10:36:45 MONTR	  END OF BATCH.CMD.2
10:36:46 MONTR	 @SET TIME-LIMIT 240
10:36:47 MONTR	 @
		 !BATCH JOB FOR SAVING FILES
10:36:47 MONTR	 @TMOUNT MTA-DUMPER RED,
10:36:47 MONTR	 @@@WRITE-ENABLED
10:36:48 MONTR	 @@@
10:36:49 MONTR	 [OPERATOR NOTIFIED]
10:42:19 MONTR	 [MTA1: ASSIGNED]
10:42:19 MONTR	 @@DUMPER
10:42:19 USER
10:42:19 USER	 DUMPER 3(163)
10:42:19 USER
10:42:19 USER	 DUMPER>*REWIND
10:42:20 USER	 DUMPER>*SSNAME DAILY SAVE
10:42:20 USER	 DUMPER>*LIST DAILY-SAVE.LOG
10:42:21 USER	 DUMPER>*SAVE
10:42:22 USER
10:42:22 USER	 DUMPER TAPE # 1, DAILY SAVE, FRIDAY, 2-SEP-77 1042
10:42:22 USER	 PS:<MCKIE>
10:42:54 USER
10:42:54 USER
10:44:54 USER	 TOTAL FILES DUMPED = 235
10:44:54 USER	 TOTAL PAGES DUMPED = 1223
10:44:55 USER	 DUMPER>*REWIND
10:44:56 USER	 DUMPER>*CHECK
10:44:56 USER
10:45:17 USER
10:45:17 USER	 DUMPER TAPE # 1, DAILY SAVE, FRIDAY, 2-SEP-77 1042
10:46:12 USER
10:46:12 USER	 %COMPARE ERROR, PAGE 0, FILE DAILY.LOG.1
10:46:12 USER	 %DIFFERENCE IN .FBCRE OF FILE DAILY.LOG.1
10:46:12 USER	 %DIFFERENCE IN .FBSIZ OF FILE DAILY.LOG.1
10:46:12 USER	 %DIFFERENCE IN .FBCRV OF FILE DAILY.LOG.1
10:46:12 USER	 %DIFFERENCE IN .FBWRT OF FILE DAILY.LOG.1
10:46:12 USER	 %DIFFERENCE IN .FBCNT OF FILE DAILY.LOG.1
10:46:13 USER
10:46:13 USER	 %COMPARE ERROR, PAGE 11, FILE DAILY-SAVE.LOG.1
10:46:13 USER	 %DIFFERENCE IN .FBCRE OF FILE DAILY-SAVE.LOG.1
10:46:13 USER	 %DIFFERENCE IN .FBSIZ OF FILE DAILY-SAVE.LOG.1
10:46:13 USER	 %DIFFERENCE IN .FBCRV OF FILE DAILY-SAVE.LOG.1
10:46:13 USER	 %DIFFERENCE IN .FBWRT OF FILE DAILY-SAVE.LOG.1
10:46:13 USER	 %DIFFERENCE IN .FBCNT OF FILE DAILY-SAVE.LOG.1
10:47:26 USER
10:47:26 USER	 END OF SAVESET
10:47:26 USER	 DUMPER>*EXIT
10:47:26 MONTR	 @@UNLOAD MTA-DUMPER
10:47:27 MONTR	 @@DEASSIGN MTA-DUMPER
10:47:28 MONTR	 @^C
10:47:29 MONTR	 LOGOUT
10:47:37 MONTR	 KILLED JOB 26, USER MCKIE, ACCOUNT 10300, TTY 112, AT
		 2-SEP-77 10:47:37
10:47:37 MONTR	 USED 0:0:45 IN 0:10:54
10:47:39 LPDAT	 [LPTLSJ LPTSPL version 102(2226) running on PDPT1,
		 2-Sep-77 10:47:39]
10:47:39 LPDAT	 [LPTSJS Starting Job DAILY, Seq #467, request created
		 at 2-Sep-77 09:47:38]

12.  KEEPING INFORMATION ABOUT SAVED FILES

     If you want to keep information about the files you have saved on
     the  tape,  give  the LIST command.  If you do not specify a file
     specification, the system automatically sends the information  to
     the line printer.

     @DUMPER

     DUMPER 3(163)

     DUMPER>TAPE (FILESPEC) MTA0:
     DUMPER>CHECKSUM (FILES) SEQUENTIAL
     DUMPER>LIST (LOG INFORMATION ON FILE) TAPE.LOG
     DUMPER>SAVE (DISK FILES) *.CBL

     DUMPER TAPE # 1, , THURSDAY, 1-SEP-77 1251
     PS:<MCKIE>

     TOTAL FILES DUMPED = 4
     TOTAL PAGES DUMPED = 5
     DUMPER>EXIT
     @TYPE (FILE) TAPE.LOG.1

     DUMPER TAPE # 1, , THURSDAY, 1-SEP-77 1251

     DIRECTORY (NUMBERS)
	  FILE		   LAST WRITE	    SIZE (PAGES)   CHECKSUM

     MCKIE (212)

          COMPUT.CBL.1     25-JAN-76 1624   1              624555
	  NUMBER.CBL.1	   25-JAN-76 1625   2		   571212
	  STR.CBL.1	   30-APR-75 0703   1		   057514
	  TEST3.CBL.3	   25-JAN-76 1612   1		   411253

          TOTAL 4 FILES, 5 PAGES

     TOTAL FILES DUMPED = 4
     TOTAL PAGES DUMPED = 5
     @


                                RESTORING FILES

13.  RESTORING YOUR ENTIRE DIRECTORY (A)

     Type just the RESTORE command to restore the files from the  tape
     to  your connected directory.  The system restores any files that
     are:

        a.  Not in your connected directory, or

        b.  Newer than an existing file with the same  file  name  and
	    file type.

     If the file specification on the tape does not specify  that  the
     file  came from your connected directory, it will not be restored
     to your connected directory.

     Use the SUPERSEDE ALWAYS command to restore all  the  files  from
     the tape regardless of their dates.

     Use the SUPERSEDE NEVER command to restore only those files  that
     have a file name and file type not found in your directory.

     @DUMPER

     DUMPER 3(163)

     DUMPER>TAPE (FILESPEC) MTA1:
     DUMPER>REWIND
     DUMPER>RESTORE (MTA FILES)

     DUMPER TAPE # 1, FULL SAVE, WEDNESDAY, 31-AUG-77 1957
     LOADING FILE(S) INTO <PORADA>

     END OF SAVESET
     DUMPER>EXIT
     @

14.  RESTORING A SINGLE FILE (B)

     Type the file specification after the RESTORE command to  restore
     a single file.

     @DUMPER

     DUMPER 3(163)

     DUMPER>TAPE (FILESPEC) MTA1:
     DUMPER>REWIND
     DUMPER>FILES
     DUMPER>RESTORE (MTA FILES) TMOUNT.TXT

     DUMPER TAPE # 1, FULL SAVE, WEDNESDAY, 31-AUG-77 1957
     LOADING FILE(S) INTO <PORADA>
     PS:<PORADA>TMOUNT.TXT.1;P777700;A10300 (TO) TMOUNT.TXT.1 [OK]

     END OF SAVESET
     DUMPER>EXIT
     @

15.  RESTORING A GROUP OF FILES (C)

     To restore a group of files use the wildcard characters % and  *,
     or separate the file specifications with commas.

     @DUMPER

     DUMPER 3(163)

     DUMPER>TAPE (FILESPEC) MTA1:
     DUMPER>REWIND
     DUMPER>FILES
     DUMPER>RESTORE (MTA FILES) *.FOR

     DUMPER TAPE # 1, FULL SAVE, WEDNESDAY, 31-AUG-77 1957
     LOADING FILE(S) INTO <PORADAPS:<PORADA>
     PS:<PORADA>DPEX2.FOR.3;P777700;A10300 (TO) DPEX2.FOR.3 [OK]
     PS:<PORADA>DPEX3.FOR.3;P777700;A10300 (TO) DPEX3.FOR.3 [OK]
     PS:<PORADA>DPEX4.FOR.2;P777700;A10300 (TO) DPEX4.FOR.2 [OK]
     PS:<PORADA>DPEXP.FOR.5;P777700;A10300 (TO) DPEXP.FOR.5 [OK]
     PS:<PORADA>FUN.FOR.2;P777700;A10300 (TO) FUN.FOR.2     [OK]
     PS:<PORADA>HI.FOR.2;P777700;A10300 (TO) HI.FOR.2	    [OK]
     PS:<PORADA>MAIN.FOR.2;P777700;A10300 (TO) MAIN.FOR.2   [OK]
     PS:<PORADA>SIND2.FOR.2;P777700;A10300 (TO) SIND2.FOR.2 [OK]
     PS:<PORADA>SIND3.FOR.2;P777700;A10300 (TO) SIND3.FOR.2 [OK]
     PS:<PORADA>SPEX2.FOR.2;P777700;A10300 (TO) SPEX2.FOR.2 [OK]
     PS:<PORADA>SPEX3.FOR.2;P777700;A10300 (TO) SPEX3.FOR.2 [OK]
     PS:<PORADA>SPEX4.FOR.2;P777700;A10300 (TO) SPEX4.FOR.2 [OK]
     PS:<PORADA>SPEXP.FOR.3;P777700;A10300 (TO) SPEXP.FOR.3 [OK]
     PS:<PORADA>TRIG.FOR.2;P777700;A10300 (TO) TRIG.FOR.2   [OK]
     PS:<PORADA>WONDER.FOR.2;P777700;A10300 (TO) WONDER.FOR.2 [OK]

     END OF SAVESET
     DUMPER>EXIT
     @

16.  RESTORING FILES SAVED FROM ANOTHER DIRECTORY (D)

     To  restore  files  saved  from  another  directory,  make   your
     directory	name  the  last  argument of the RESTORE command.  The
     example  restores	files  from  the  directory   <MANUALS>   into
     <PORADA>.	 In  this  case  some of the files being restored have
     accounts  that  are   invalid.    Thus,   the   command   ACCOUNT
     SYSTEM-DEFAULT is used.

     @DUMPER

     DUMPER 3(163)

     DUMPER>TAPE (FILESPEC) MTA1:
     DUMPER>REWIND
     DUMPER>FILES
     DUMPER>ACCOUNT (OF RESTORED FILES FROM) SYSTEM-DEFAULT
     DUMPER>RESTORE (MTA FILES) <MANUALS>*.FOR.* (TO) <PORADA>

     DUMPER TAPE # 1, , WEDNESDAY, 31-AUG-77 2034
     LOADING FILE(S) INTO <PORADA>
     PS:<MANUALS>ADDEM.FOR.1;P777700;A10300 (TO) ADDEM.FOR.1   [OK]
     PS:<MANUALS>ADDTWO.FOR.1;P777700;A10300 (TO) ADDTWO.FOR.1 [OK]
     PS:<MANUALS>COMP.FOR.1;P777700;A10300 (TO) COMP.FOR.1     [OK]
     PS:<MANUALS>CUBIT.FOR.1;P777700;A10300 (TO) CUBIT.FOR.1   [OK]
     PS:<MANUALS>DIFFER.FOR.1;P777700;A10300 (TO) DIFFER.FOR.1 [OK]
     PS:<MANUALS>MORPAY.FOR.1;P777700;A10300 (TO) MORPAY.FOR.1 [OK]
     PS:<MANUALS>SMALL.FOR.1;P777700;A10300 (TO) SMALL.FOR.1   [OK]
     PS:<MANUALS>SUB1.FOR.1;P777700;A10300 (TO) SUB1.FOR.1     [OK]
     PS:<MANUALS>SUM.FOR.1;P777700;A10300 (TO) SUM.FOR.1       [OK]
     PS:<MANUALS>TRYIT.FOR.1;P777700;A10300 (TO) TRYIT.FOR.1   [OK]

     END OF SAVESET
     DUMPER>EXIT
     @

17.  RESTORING A FILE SAVED FROM A TOPS-10 SYSTEM (E)

     To restore a file saved from a TOPS-10 system, be sure to include
     the INTERCHANGE command before your RESTORE command.

     @DUMPER

     DUMPER 3(163)

     DUMPER>TAPE (FILESPEC) MTA1:
     DUMPER>REWIND
     DUMPER>FILES
     DUMPER>INTERCHANGE (FORMAT)
     DUMPER>RESTORE (MTA FILES) <*>*.OVL.* (TO) *.TEXT

     DUMPER TAPE # 1, FILES FOR TOPS-10, WEDNESDAY, 31-AUG-77 1956
     LOADING FILE(S) INTO <PORADA>
     TEST.OVL.5 (TO) TEST.TEXT.5     [OK]
     TEST1.OVL.2 (TO) TEST1.TEXT.2   [OK]

     END OF SAVESET
     DUMPER>EXIT
     @

18.  RESTORING CHANGED FILES (F)

     Use the SINCE switch to restore only  those  files  that  changed
     after a certain date.

     @DUMPER

     DUMPER 3(163)

     DUMPER>TAPE (FILESPEC) MTA1:
     DUMPER>REWIND
     DUMPER>FILES
     DUMPER>SINCE (DATE AND TIME) 31-AUG-77 0:0
     DUMPER>RESTORE (MTA FILES)

     DUMPER TAPE # 1, FULL SAVE, WEDNESDAY, 31-AUG-77 1957
     LOADING FILE(S) INTO <PORADA>
     PS:<PORADA>DUMPER.CTL.3;P777700;A10300 (TO) DUMPER.CTL.3  [OK]
     PS:<PORADA>DUMPER.EXA.3;P777700;A10300 (TO) DUMPER.EXA.3  [OK]
     PS:<PORADA>TMOUNT.TXT.1;P777700;A10300 (TO) TMOUNT.TXT.1  [OK]

     END OF SAVESET
     DUMPER>EXIT
     @

19.  RESTORING ACCESSED FILES (G)

     Use the ASINCE command to restore  files  you  accessed  after  a
     certain date.

     @DUMPER

     DUMPER 3(163)

     DUMPER>TAPE (FILESPEC) MTA1:
     DUMPER>REWIND
     DUMPER>FILES
     DUMPER>ASINCE (DATE AND TIME) 31-AUG-77 0:0
     DUMPER>RESTORE (MTA FILES)

     DUMPER TAPE # 1, FULL SAVE, WEDNESDAY, 31-AUG-77 1957
     LOADING FILE(S) INTO <PORADA>
     PS:<PORADA>DUMPER.CTL.3;P777700;A10300 (TO) DUMPER.CTL.3  [OK]
     PS:<PORADA>DUMPER.EXA.3;P777777;A10300 (TO) DUMPER.EXA.3  [OK]
     PS:<PORADA>PLM.MAC.1;P777700;A220100 (TO) PLM.MAC.1       [OK]
     PS:<PORADA>TMOUNT.TXT.1;P777700;A10300 (TO) TMOUNT.TXT.1  [OK]

     END OF SAVESET
     DUMPER>EXIT
     @

20.  RESTORING MODIFIED FILES (H)

     Give the MSINCE command to transfer only those  files  that  were
     modified since a certain date.

     @DUMPER

     DUMPER 3(163)

     DUMPER>TAPE (FILESPEC) MTA1:
     DUMPER>REWIND
     DUMPER>FILES
     DUMPER>MSINCE (DATE AND TIME) 31-AUG-77 0:0
     DUMPER>RESTORE (MTA FILES)

     DUMPER TAPE # 1, FULL SAVE, WEDNESDAY, 31-AUG-77 1957
     LOADING FILE(S) INTO <PORADA>
     PS:<PORADA>DUMPER.CTL.3;P777700;A10300 (TO) DUMPER.CTL.3  [OK]
     PS:<PORADA>DUMPER.EXA.3;P777777;A10300 (TO) DUMPER.EXA.3  [OK]
     PS:<PORADA>MAIL.TXT.1;P770404;A1 (TO) MAIL.TXT.1	       [OK]
     PS:<PORADA>TEST.OVL.5;P777777;A10300 (TO) TEST.OVL.5      [OK]
     PS:<PORADA>TEST1.OVL.2;P777752;A10300 (TO) TEST1.OVL.2    [OK]
     PS:<PORADA>TMOUNT.TXT.1;P777700;A10300 (TO) TMOUNT.TXT.1  [OK]

     END OF SAVESET
     DUMPER>EXIT
     @

21.  RESTORING FILES CHANGED DURING A CERTAIN TIME PERIOD

     Give both the SINCE and BEFORE commands  to  restore  only  those
     files  that were changed during a certain time period.  The SINCE
     command contains  the  beginning  date  and  the  BEFORE  command
     contains  the ending date.  The example shows how to restore only
     those files that changed on January 21, 1977.

     @DUMPER

     DUMPER 3(163)

     DUMPER>TAPE (FILESPEC) MTA1:
     DUMPER>REWIND
     DUMPER>FILES
     DUMPER>SINCE (DATE AND TIME) 21-JAN-77 0:0
     DUMPER>BEFORE (DATE AND TIME) 22-JAN-77 0:0
     DUMPER>RESTORE (MTA FILES)

     DUMPER TAPE # 1, FULL SAVE, WEDNESDAY, 31-AUG-77 1957
     LOADING FILE(S) INTO <PORADA>
     PS:<PORADA>FUN.FOR.2;P777700;A10300 (TO) FUN.FOR.2     [OK]
     PS:<PORADA>FUN.MAP.1;P777700;A10300 (TO) FUN.MAP.1     [OK]
     PS:<PORADA>HI.FOR.2;P777700;A1 (TO) HI.FOR.2	    [OK]
     PS:<PORADA>WONDER.FOR.2;P777700;A10300 (TO) WONDER.FOR.2 [OK]

     END OF SAVESET
     DUMPER>EXIT
     @

22.  RESTORING FILES FROM A CONTINUED SAVE SET (I)

     To restore files when a save set is continued on a  second  reel,
     mount  the  tape (or type a CTRL/C and give the TMOUNT command to
     have the operator mount it), and then type the drive name.

     @DUMPER

     DUMPER 3(163)

     DUMPER>TAPE (FILESPEC) MTA1:
     DUMPER>RESTORE (MTA FILES) <ROMPER>*.*.* (TO) <MCKIE>*.FOO

     DUMPER TAPE # 1, , WEDNESDAY, 31-AUG-77 2116
     LOADING FILE(S) INTO <MCKIE>

     END OF TAPE, MOUNT NEXT REEL
     %FILE <ROMPER>MAKEIT.MEM.1 CONTINUED ON NEXT REEL
     TAPE (FILESPEC) MTA1:

     DUMPER TAPE # 2, , WEDNESDAY, 31-AUG-77 2116

     END OF SAVESET
     DUMPER>EXIT
     @

23.  RESTORING FILES FROM SYSTEM BACKUP TAPES

     If you accidentlly delete some files, you  may  restore  them  by
     using  your system backup tapes.  Usually the operator makes full
     saves on a weekly basis and then saves only those files that  are
     new  or  changed  on a daily basis.  Mount the full save tape and
     restore the proper files, then mount the  incremental  save  tape
     and restore the remainder.

     @DUMPER

     DUMPER 3(163)

     DUMPER>TAPE (FILESPEC) MTA1:
     DUMPER>REWIND
     DUMPER>FILES
     DUMPER>RESTORE (MTA FILES) <PORADA>

     DUMPER TAPE # 1, FULL DUMP, WEDNESDAY, 31-AUG-77 2107
     LOADING FILE(S) INTO <PORADA>
     PS:<PORADA>COMP.FOR.1;P777700;A10300 (TO) COMP.FOR.1      [OK]
     PS:<PORADA>DPEX2.FOR.3;P777700;A10300 (TO) DPEX2.FOR.3    [OK]
     PS:<PORADA>DPEX2.QOR.1;P777700;A10300 (TO) DPEX2.QOR.1    [OK]
     PS:<PORADA>EXAM1.MAC.1;P777700;A220100 (TO) EXAM1.MAC.1   [OK]
     PS:<PORADA>FIRST.FIL.1;P777700;A220100 (TO) FIRST.FIL.1   [OK]
     PS:<PORADA>FUN.FOR.2;P777700;A10300 (TO) FUN.FOR.2        [OK]
     PS:<PORADA>GTJFN.MAC.1;P777700;A220100 (TO) GTJFN.MAC.1   [OK]
     PS:<PORADA>MAIL.TXT.1;P770404;A1 (TO) MAIL.TXT.1	       [OK]
     PS:<PORADA>MAIN.FOR.2;P777700;A10300 (TO) MAIN.FOR.2      [OK]
     PS:<PORADA>PLM.MAC.1;P777700;A220100 (TO) PLM.MAC.1       [OK]
     PS:<PORADA>SECOND.FIL.1;P777700;A220100 (TO) SECOND.FIL.1 [OK]
     PS:<PORADA>SIND2.FOR.2;P777700;A10300 (TO) SIND2.FOR.2    [OK]
     PS:<PORADA>SPEX2.FOR.2;P777700;A10300 (TO) SPEX2.FOR.2    [OK]
     PS:<PORADA>SQUARE.BAS.4;P777700;A220100 (TO) SQUARE.BAS.4 [OK]
     PS:<PORADA>TEST.CMD.3;P777700;A10300 (TO) TEST.CMD.3      [OK]
     PS:<PORADA>TEST.EXE.5;P777700;A10300 (TO) TEST.EXE.5      [OK]
     PS:<PORADA>TRIG.FOR.2;P777700;A10300 (TO) TRIG.FOR.2      [OK]
     PS:<PORADA>WONDER.FOR.2;P777700;A10300 (TO) WONDER.FOR.2  [OK]

     END OF SAVESET
     DUMPER>EXIT
     @

     The user mounts the incremental tape...

     @DUMPER

     DUMPER 3(163)

     DUMPER>TAPE (FILESPEC) MTA1:
     DUMPER>FILES
     DUMPER>RESTORE (MTA FILES) <PORADA>

     DUMPER TAPE # 1, INCREMENTAL, WEDNESDAY, 31-AUG-77 2109
     LOADING FILE(S) INTO <PORADA>
     PS:<PORADA>DUMPER.CTL.3;P777700;A10300 (TO) DUMPER.CTL.3  [OK]
     PS:<PORADA>DUMPER.EXA.3;P777700;A10300 (TO) DUMPER.EXA.3  [OK]
     PS:<PORADA>TMOUNT.TXT.1;P777700;A10300 (TO) TMOUNT.TXT.1  [OK]

     END OF SAVESET
     DUMPER>EXIT
     @


                           ADDITIONAL DUMPER EXAMPLES

24.  EXAMINING A TAPE

     Give the PRINT command to print a list  of  the  files  that  are
     stored on the tape.

     @DUMPER

     DUMPER 3(163)

     DUMPER>TAPE (FILESPEC) MTA1:
     DUMPER>REWIND
     DUMPER>CHECKSUM (FILES) SEQUENTIAL
     DUMPER>PRINT (DIRECTORY OF TAPE ONTO FILE)

     DUMPER TAPE # 1, ALL CHANGES, WEDNESDAY, 31-AUG-77 1957
     FILE			LAST WRITE   SIZE (PAGES)   CHECKSUM

     DDB FOR PORADA

     PS:<PORADA>DUMPER.CTL.3   4-Aug-77 1913    1          563372
     PS:<PORADA>DUMPER.EXA.3   4-Aug-77 1936	19	   250044
     PS:<PORADA>MAIL.TXT.1     21-Jul-77 1116	1	   540237
     PS:<PORADA>TEST.OVL.5     3-Mar-77 1122	32	   565042
     PS:<PORADA>TEST1.OVL.2    26-Jan-77 1642	32	   203313
     PS:<PORADA>TMOUNT.TXT.1   4-Aug-77 1821	1	   454061

     END OF TAPE.
     ^L
     DUMPER>EXIT
     @


25.  STOPPING DUMPER

     Type CTRL/E to stop DUMPER. You can give the CONTINUE command to
     DUMPER to resume the operation you interrupted. If you interrupt
     a command and then give a command which will prevent you from
     continuing the interrupted command, DUMPER prints a message and
     gives you the alternative of aborting the offending command.

     @DUMPER

     DUMPER 3(163)

     DUMPER>TAPE (FILESPEC) MTA0:
     DUMPER>REWIND
     DUMPER>SSNAME FULL SAVE
     DUMPER>SAVE (DISK FILES)

     DUMPER TAPE # 1, FULL SAVE, THURSDAY, 1-SEP-77 1326
     PS:<MCKIE>

     CTRL/E
     INTERRUPTING...
     DUMPER>FILES
     DUMPER>CONTINUE
     008-PTYCON.TXT.1 (AS) 008-PTYCON.TXT.1	[OK]
     009-SWATCH.MEM.1 (AS) 009-SWATCH.MEM.1	[OK]
     009-SWATCH.TXT.4 (AS) 009-SWATCH.TXT.4	[OK]
     00IN.MEM.2 (AS) 00IN.MEM.2 [OK]
     00IN.RNO.2 (AS) 00IN.RNO.2 [OK]
     00TITL.MEM.4 (AS) 00TITL.MEM.4	[OK]
     00TITL.RNO.34 (AS) 00TITL.RNO.34	[OK]
     00TOC.RNO.32 (AS) 00TOC.RNO.32

     CTRL/E

     INTERRUPTING...
     DUMPER>NO FILES
     DUMPER>REWIND

     %DO YOU REALLY WANT TO ABORT YOUR INTERRUPTED COMMAND?
     YES OR NO? N
     DUMPER>CONTINUE

     TOTAL FILES DUMPED = 226
     TOTAL PAGES DUMPED = 1179
     DUMPER>EXIT
     @



EDIT-program Program


Function

     The EDIT program helps you create and edit files.  You  may  also
     use EDIT to peruse files.


Hints

     If you need a tutorial to start learning EDIT, refer  to  Getting
     Started With DECSYSTEM-20 or the EDIT Reference Manual.


Format

     @CREATE (FILE) /switches input
		or
     @EDIT (FILE) /switches input (OUTPUT AS) output


Operation

     1.  Give either the CREATE or EDIT command to start EDIT.  (Refer
	 to their individual desriptions.)

         @CREATE (FILE) TEST.FOR

     2.  If you give the CREATE command, EDIT starts  at  input  level
	 where	you  may  insert  lines  into  a  new  file.   To stop
	 inputting and move to EDIT command level, press the ESC  key.
	 The system prints an asterisk.

         INPUT: TEST.FOR.1
	 00100	       TYPE 101
	 00200	 101   FORMAT (' This is only a test!')
	 00300	 $
	 *

     3.  Once you are at EDIT command level, you may give any  one  of
	 the EDIT Commands listed in the following table.



                             Table II-10
			    EDIT Commands


     Positions and ranges
	You must specify the line or  lines  on  which	you  want  a
	command to work.  To specify a single line, type a position;
	to specify a group of  lines,  type  a	range.	 A  position
	specifies a single line and has the following format:

        line/page
	   The argument line is a line number and  page  is  a	page
	   number.   A	line  number  or  page	number is one of the
	   following:

           A positive integer less than 2^35,

           . (to indicate the current line or page),

           ^ (to indicate the first line or page), or

           * (to indicate the last line or page).


           Defaults:  If you omit the line  number,  EDIT  uses  the
	   entire  page.  If you omit the slash and the page number,
	   EDIT uses the current page.

           Examples:  300/2 specifies line 300 on page 2
		      ^/3   specifies the first line on page 3
		      ^/^   specifies the beginning of the file
		      */*   specifies the end of the file
		      /1    specifies all of page 1
		      300   specifies line 300 on the current page

        A range specifies one or more lines and is in one of the two
	following forms:

        starting-position:ending-position
	   The starting-position is the  first	line  on  which  the
	   command  will  work, the ending-position is the last line
	   on which the command will work.  Any command  that  works
	   on a range of lines will also work on a single line, thus
	   a range may also be just a single line.

           Defaults:   If  you  omit  the  page  number   from   the
	   ending-position,   EDIT  uses  tha  page  number  in  the
	   starting-position, not your current page.

           Examples:  100/1:300/3 specifies all  the  lines  between
				  100/1 and 300/3 inclusive
		      600/5:2400  specifies all  the  lines  between
				  600/5 and 2400/5

        starting-position!number
	   The starting-position is the  first	line  on  which  the
	   command  will  work.   The number specifies the number of
	   lines (including the first) on  which  the  command	will
	   work.

           Examples:  400/2!8 specifies line 400/2 and the following
			      7 lines.
		      300!5   specifies line 300 on the current page
			      and the next 4 lines.

     Arange
	Enters Alter command level for the  specified  line(s).   In
	Alter  command	level  you  give  the special Alter commands
	which allow you to edit  a  line,  character  by  character.
	When  you  are	finished editing the current line, press the
	RETURN key or type E and EDIT enters Alter mode for the next
	line,  or  returns you to EDIT command level if all lines in
	the range have been altered.

        The Alter  commands  are  listed  below.   Some  Alter  mode
	commands  are  preceded by a minus sign that is optional and
	reverses the direction of the command.	Other commands	have
	an  argument  n,  that	is  optional  and  defaults  to 1 if
	omitted.  The arguments in angle brackets (such as  <space>)
	identify a specific key you are required to press.


                            Alter Commands

        ?  Prints a list of the Alter commands.

        nCchars     Deletes n  characters,  then  lets  you  type  n
		    characters	 (or  press  the  ESC  key  to	stop
		    inserting).

        nD          Deletes the next n characters.
	-nD	    Deletes the last n characters.

        E           Ends Alter mode for the current line,  but  does
		    not print the rest of the line.

        nFc         Finds the nth occurrence of the character c.
	-nFc	    Finds the nth last occurrence of  the  character
		    c.

        nItext$     Lets you insert text, starting  at  the  current
		    position, until you press the RETURN key (to end
		    Altering the line) or the ESC key (to  end	just
		    the insert).  If you press the linefeed key, the
		    system takes  the  remainder  of  the  line  and
		    places  it at the beginning of a new line formed
		    by adding n to the current line number.  If  you
		    omit n, EDIT uses the current increment.

        J           Places the rest  of  the  current  line  at  the
		    beginning of the next line in the file.

        nKc         Deletes all  the  characters  from  the  current
		    position up to n occurrences of the character c.
	-nKc	    Deletes all  the  characters  from	the  current
		    position  back  through  n	occurrences  of  the
		    character c.

        L           Prints the rest of the line and returns  to  the
		    beginning.

        P           Prints the rest of the line and the beginning of
		    the  line  up  to  your  current position.	This
		    command  is  useful  for  viewing  the   correct
		    contents of the line after you delete some text.

        Q           Ends Alter mode for this range,  without  saving
		    the changes for this line.

        nRtext$     Deletes the next n characters, then gives  an  I
		    command.   Stop  inserting	text by pressing the
		    ESC key.

        -nRtext$    Deletes the last n characters, then gives  an  I
		    command.

        nW          Skips forward n words.

        Xtext$      Deletes  the  current  word,   then   gives   an
		    automatic I command.

        n<space>    Skips ahead n characters.
	-n<space>   Backspaces n characters.
	n<DELETE>   Backspaces n characters.

        <RETURN>    Prints the rest of the line and returns to  EDIT
		    command level.

        <TAB>       Skips to the end of the line.
	-<TAB>	    Backspaces to the beginning of the line.

        CTRL/U      Restores the original line, leaving you at Alter
		    command level.

     B (FILE) name.typ.gen
	Saves the  current  file,  but	does  not  end	the  editing
	session.   You may use recognition on the file specification
	or use the default which is a new generation  of  the  input
	file.	To  make  a  backup  file that does not contain line
	numbers, use the command name BU.  The user makes  a  backup
	file.

        *B

        [NXTONE.FOR.2]
	*

     Cposition,range
	Copies a range of lines so that the first line being  copied
	starts	at  the  specified  position.	The  user copies the
	contents of lines 600 through 3000 to just after  line	300.
	EDIT has used an increment of 1 to create the new lines.

        *C300,600:3000
	INCR=1
	*

     *Cposition (FILE) name.typ,range
	Copies a range of lines from the specified file, so that the
	first  line  being  copied starts at the specified position.
	The  user  copies  the	first  three  pages  from  the	file
	SUBS.SNO.

        *C400/2$ (FILE) SUBS.SNO./1:/3
	*

     *Cposition (FILE) name.typ/S
	Lets you search through the specified file before giving the
	range  of  lines  to  transfer.   In  this  mode,  the ready
	character is C* and you may give  F  and  P  commands  only.
	When  you are finished examining the file, give an E command
	and the system prints SOURCE LINES=.  Type  the  appropriate
	range  of  lines.  If you do not want to copy any lines, end
	search mode by giving  the  EQ	command  instead  of  the  E
	command.   The user looks at the file NUMBER.MAC then copies
	pages 3 through 5.

        *C.$ (FILE) NUMBER.MAC.1/S
	C*P^/3
	00100	;Subroutines for inputting and outputting numbers.
	C*E
	SOURCE LINES=/3:/5
	*


     Drange
	Deletes a range of lines and prints a confirming message.

        *D100:600
	6 LINES (00100/1:00600/1) DELETED
	*


     E (FILE) name.typ
	Ends the editing session and saves the results in  the	file
	name.typ.   You may add a letter after the E to perform some
	special functions:  B creates a new generation of the output
	file  rather  than generating a .Qxx file;  I inserts a line
	at the beginning of your input file which includes the	file
	specification,	date,  time, and your user name;  Q ends the
	editing session and restores the original file;   U  removes
	the line numbers (unsequences) your file.  The user ends the
	editing session and saves his file.

        *E

        [TEST.MAC.2]
	@

        The user saves his file without line numbers.

        *EU

        [NOBAD.ALG]
	@


     Fstring$range,options
	Finds  the  next  occurrence  of  the  specified  string  of
	characters and prints the line containing it.  Note that you
	press the ESC key where the $ is shown.  The user looks  for
	the first FORMAT statement on page 1.

        *FFORMAT$/1
	09200	101   FORMAT ('Input file:  ')
	*

        If you give an F command without any  arguments,  EDIT  uses
	the  arguments	to  the  last F command.  The user finds the
	next FORMAT statement.

        *F
	10400	102   FORMAT ('The file 'A10,' does not exist.')
	*

        You can print the saved arguments to an F command by  giving
	the  =STRING  command.	An F command may include the options
	and special characters described with the S command.


     G (FILE) name.typ
	Ends the editing session, saves  the  results  in  the	file
	name.typ, then executes your last COMPILE, LOAD, EXECUTE, or
	DEBUG command.	If you add the letter U to  the  G  command,
	the  system  removes  the  line numbers before executing the
	last LOAD-class command.  Refer to the	E  command  for  the
	other  letters	you  may  add.	 The  user  saves  his	file
	TEST.FOR, then the system gives his last LOAD-class command,
	which was COMPILE.

        *G

        [TEST.FOR.5]

        FORTRAN:  TEST
	MAIN.
	@


     H
	Prints a list of EDIT commands and options.


     Iposition,increment
	Lets you input a line or lines	starting  at  the  specified
	position.   The  optional increment numbers subsequent lines
	inserted with this command;  the permanent increment is  not
	affected.   To	return	to EDIT command level, press the ESC
	key.  The user inserts line 100.   Since  line	100  already
	exists, EDIT selects a line halfway between line 100 and the
	next line in the file.

        *I100
	00150	THIS IS A TEST LINE.
	*

        The user inserts line 350, then line 360.

        *I350,10
	00350	       ADDI 3,.NUMPAR
	00360	       MOVEM 3,PERMPR
	00370	$
	*

        There are a number of special functions which the I  command
	may perform:


        I<CR>
	   Starts inserting where  you	last  stopped  inserting  or
	   replacing  lines.   You  can  find  out  this location by
	   giving the =INSERT command.	The  user  starts  inserting
	   where he left off.

           *I
	   02400   T1:	  HALTF
	   02500	  JRST T1
	   02600   $
	   *


        I/page
	   Inserts a page mark at the end  of  the  specified  page,
	   then  starts  insert mode beginning with the value of the
	   START parameter (the default is 100).   The	user  starts
	   inserting lines on page 4.

           *I/3
	   00100   TOP OF PAGE 4.
	   00200   $
	   *


        Iposition!n
	   Chooses an increment which will allow  you  to  insert  n
	   lines  starting  at	the  specified	position.   The user
	   inserts 3 lines after line 100.

           *I100!3
	   00120   TEST1:  HRROI T1,MESSAGE
	   00140	   PSOUT
	   00160	   JRST RETSKP
	   00180   $
	   *


        I^
	   Inserts a line at the top of the  page,  halfway  between
	   line  0  and  the first line.  The user inserts a line at
	   the beginning of the file.

           *I^/^
	   00050   ;This is a test program.
	   *


        Jposition
	   Appends the next line in the file to the specified  line,
	   thereby  joining  the  two.	 The second line is deleted.
	   The user joins line 500 and 600.

           *P500!2
	   00500   FIRST LINE!
	   00600   SECOND LINE
	   *J500
	   *P500
	   00500   FIRST LINE!SECOND LINE
	   *


        K/page
	   Deletes the page mark between the specified page and  the
	   one	preceding  it.	 This  command deletes only the page
	   MARK, not the CONTENTS of the page.	The system may print
	   the	message %OUT OF ORDER, which tells you that the line
	   numbers are not in ascending order although your file  is
	   still  in the correct logical order.  Given the N command
	   to renumber the offending page  (refer  also  to  the  NA
	   command).   The user deletes the page mark between page 1
	   and page 2.

           *K/2
	   *

           Note that page mark 2 is the first page mark in the file,
	   thus the command K/1 is illegal.


        Lrange
	   Lists the specified range of lines on the  line  printer.
	   If  you  do not give a range, the system lists the entire
	   file.  The user lists the contents of page 1.

           *L/1
	   *


        Mposition
	   Marks the specified line as the beginning of a new  page.
	   Each  succeeding  page  number  is increased by one.  The
	   user makes line 300 the first line 2 on a new page.

           *M300
	   *


        Nincrement,range,start
	   Renumbers the specified range of lines starting with  the
	   specified  value  and  adding  the specified increment in
	   generating the line number for each succeeding line.  The
	   user  renumbers  page  1, starting with 150 and adding 10
	   for each new line number.

           *N10,/1,150
	   *

           If you do not give a starting number, the system uses the
	   increment.	The  user  renumbers page 2 starting with 50
	   and adding 50 for each new line number.

           *N50,/2
	   *

           If you do not give a  range,  the  system  renumbers  the
	   entire   file.   The  user  renumbers  the  entire  file,
	   starting with 10 and adding 10 for each new line.

           *N10
	   *

           If you do not specify an increment, the system  uses  the
	   value  of  the  INCREMENT parameter (the default is 100).
	   The user renumbers his entire file starting with 100  and
	   adding 100.

           *N
	   *

           The system assigns the starting number to the first  line
	   on  each  page and numbers each succeeding line by adding
	   the increment, unless you add  the  letter  P  to  the  N
	   command.   This  stops  the	system	from reseting to the
	   starting number at the beginning of each page.  You	will
	   find  this  command	useful	when you want to delete some
	   page marks without getting the  %OUT  OF  ORDER  message.
	   The user numbers his file sequentially starting at 10 and
	   adding 10.

           *NP10
	   *

           If you want to add an increment to a range of lines,  use
	   the	command NAincrement,range.  The user adds 5 to lines
	   100 through 400 on page 2.

           *NA5,100/2:400
	   *


        Prange,S
	   Prints the range of lines.	If  you  do  not  specify  a
	   range, the system prints a group of lines.  The number of
	   lines it prints specified by  the  value  of  the  PLINES
	   parameter  (the default is 16).  The user prints line 500
	   and the following line.

           *P500!2
	   00500   THIS IS THE FIFTH LINE.
	   00600   THIS IS THE SIXTH LINE.
	   *

           If you do not want the system to print the line  numbers,
	   include  the ,S qualifier at the end of the command.  The
	   * prompt is not reprinted until you press the RETURN  key
	   a second time.  The user prints line 500 without its line
	   number, then presses the RETURN key again to get the EDIT
	   prompt.

           *P500,S
	   THIS IS THE FIFTH LINE.

           *

           Pressing the <LF> key prints the next line in your  file;
	   pressing  the  <ESC> key prints the previous line in your
	   file.


        .position
	   Makes the specified position your current line.  The user
	   moves to the line 500 on page 4.

           *.500/4
	   *


        Rrange
	   Deletes the specified range of lines, then enters  insert
	   mode  with  the  specified  increment.  The user replaces
	   line 300.

           *R300
	   00300   THIS IS LINE 300.
	   1 LINE (00300/1) DELETED
	   *


        Sexisting$new$range,options
	   Substitutes	the  new  string  of  characters   for	 all
	   occurrences	 of   the   existing  string  of  characters
	   contained within the specified range.  The user  replaces
	   all occurences of SKIPA with JFCL on line 900.

           *SSKIPA$JFCL$900
	   00900   TEST: JFCL 0
	   *

           If you do not give a range, the S  command  performs  the
	   substitution  for  the  next  occurrence  of the existing
	   string.  Should you give the S command a second time, the
	   system performs the substitution on the rest of the file.

           *SSKIPA$JFCL$
	   05500   T5:	 JFCL 0
	   *S
	   06700   T6A:  JFCL 0
	   09400	 JFCL 0
	   *

           In addition to the options described below, ,D  lets  you
	   check  on  each substitution and ,L stops the printing of
	   each line that contains a substitution.

           You may use the  following  options  with  the  F  and  S
	   commands:


           ,E    Requires an exact match of  upper  and  lower  case
		 characters.


           ,A    Enters Alter  mode  for  each  line  on  which  the
		 characters are found.

           You  may  use  the  following  matching  and  replacement
	   characters in F and S commands if you are using the /C128
	   character set.


           Match:        '%     not
			 ')	arbitrary number of
			 '/	any character
			 '7	quote next character
			 ':	separator

                         Replacement: '" next match string
			 '*	'*n'* is n'th match string
			 '7	quote next character

           The folllowing command searches for a space  followed  by
	   any	two  characters  and  a comma, then inserts an extra
	   space beside the first.  Notice that  the  characters  '"
	   supply  the	new  string  with  the	characters that were
	   matched in the existing string.

           */C128
	   *P300
	   00300	HRRI T1,40000
	   *S '/'/,$  '"'",$.
	   00300	HRRI  T1,40000
	   */C64
	   *

           The following  command  replaces  the  word  the  at  the
	   beginning of line 900 with the word that.  Notice that '%
	   (not) '/ (any character) matches the  beginning,  or  the
	   ending, of a line.

           */C128
	   *P900
	   00900   THE NEWEST METHOD IS USEFUL.
	   *S'%'/THE$THAT$900
	   00900   THAT NEWEST METHOD IS USEFUL.
	   */C64
	   *

           The user switches the numbers before a , with the numbers
	   before a .  on line 600.  1')'/, matches 1 and any number
	   of any character until a , is reached.  ')'/ matches  all
	   the characters from the space after the comma up to the 1
	   in 1976.  1')'/6.   matches	1  and	any  number  of  any
	   character  until a .  is reached.  Now in the new string,
	   '*3'* supplies the characters  from	the  third  pattern:
	   86;	 '*2'* supplies the middle characters:	but not in ;
	   and '*1'* supplies the characters from the first pattern:
	   97.

           */C128
	   *P600
	   00600   They were known well in 1975, but not in 1866.
	   *S1')'/,')'/1')'/,$1'*3'*,'*2'*1'*1'*.$600
	   00600   They were known well in 1866, but not in 1975.
	   */C64
	   *


        Tposition,range
	   Transfers the specified range of lines so  the  first  line
	   being  transferred  starts at the specified position.  If a
	   line already exists at the specified position, EDIT creates
	   a  line  following it and tells you what increment it uses.
	   The user transfers line 300 to the line just after 100.

           *T100,300
	   INC1=50
	   *

           The lines are deleted from their  previous  position  after
	   they are transferred.


        Xrange
	   Allows you to  eXtend  the  specified  range  of  lines  by
	   printing  the  line and then giving an Alter I command.  If
	   you do not want the system to print the  line  number,  add
	   the	,S specifier at the end of the command.  The user adds
	   on to line 600.

           *X600
	   00600   T3:	 MOVEM T1,REFPNT	    ;Place in REFPNT
	   *


        ?
	   Prints a list of all the EDIT commands.


        @name.typ
	   Gives the commands stored in the specified file.  When  the
	   commands  are  processed,  EDIT prints a message.  The user
	   gives the commands in the file T.CMD.

           *@T.CMD

           %End of indirect file
	   *

     You may set the following EDIT parameters with the / command  and
     examine them with the = command.


                             Table II-11
			   EDIT Parameters

                            Default
  Name	       Set  Print    Value	     Function


    .           n     y       ---    Indicates your current position
				     in the file.
    ?		n     y       ---    /? prints the names of
				     settable switches; =? prints
				     the names of printable
				     switches.
  BAK		y     y       on     Causes creation of .Qxx backup
				     files rather than new
				     generations of the output file.
  BIG		n     y       ---    Gives the largest page number.
  C64		y     CASE    on     Causes EDIT to use the standard
				     64-character set.
  C128		y     CASE    off    Causes EDIT to use the extended
				     128-character set.
  CASE		n     CASE    ---    Prints information about the
				     character set, terminal
				     characteristics, and case.
  DECIDE	y     y       off    Sets decide mode for S
				     commands.
  ERROR 	n     y       ---    Print last error message.
  EXPERT	y     n       off    Sets expert mode, which gives
				     extended capabilities and
				     shorter error messages.
  INCREMENT	y     y       100    Sets the default increment in
				     forming new line numbers.
  INSERT	y     y       ---    Prints the location of the line
				     inserted by a I<CR> command.
  ISAVE 	n     y       off    Saves your file after you
				     have inserted n new lines,
				     n is a non-zero value of ISAVE.
  LOCATION	n     y       ---    Prints the location of the
				     first line in the buffer.
				     You may "backup" to this
				     line without using any system
				     resources overhead.
  LOWER 	y     CASE    off    In C128 mode, forces all
				     characters you type to be
				     lowercase unless preceded by an
				     apostrophe. All uppercase
				     characters are flagged on
				     output.
  NAME		y     y       ---    Specifies the output file.
  NOBAK 	y     BAK     off    Forces a new generation of the
				     output file rather than the
				     creation of a .Qxx backup file.
  NODECIDE	y     DECIDE  on     Turns decide mode off.
  NONSEPARATORS y     CASE    on     Declares %,$,. are not
				     alphanumerics.
  NONUMBER	y     n       off    Inhibits line number printing.
  NOVICE	y     n       on     Sets normal mode.
  NUMBER	y     n       on     Starts printing of line
				     numbers.
  OLD		y     n       off    Creates a backup file (.Zxx) if
				     one does not exist.
  OPTION	y     n       ---    Reads the SWITCH.INI file.
  PLINES	y     y       16     Determines the number of lines
				     printed by P<RET>.
  READONLY	y     n       off    Sets readonly mode; you cannot
				     change the file.
  RUN		y     y       LOAD   Sets the program to be run when
				     you give a G command; normally
				     is your last LOAD-class
				     command.
  SAVE		n     y       off    Causes EDIT to save your file
				     after you give every n
				     commands.
				     n is a non-zero value of SAVE.
  SEPARATORS	y     n       off    Declares %,$,. are
				     alphanumeric.
  SEQUENCE	y     n       off    Places line numbers
				     in the output file.
  START 	y     y       100    Sets the line number used to
				     start numbering files and
				     pages.
  STRING	n     y       ---    Prints the current default
				     strings for F and S commands.
  UNSEQUENCE	y UNSEQUENCE  off    Removes line numbers from the
				     output file.
  UPPER 	y     CASE    on     In C128 mode, forces all
				     characters you type to be
				     uppercase unless preceded by
				     an apostrophe. All lowercase
				     characters are flagged on
				     output.
  WINDOW	y     y   10 pages   Sets the amount of memory
				     used to store the file while
				     you are editing. Increase this
				     value if you are reading a
				     file.


Characteristics

     After the EDIT program  has  printed  either  Input:,  Edit:,  or
     Read:,  any program in memory is cleared and you are left at EDIT
     command level or EDIT input level.  To return to TOPS-20  command
     level, press the ESC key, type E, and press the RETURN key.


Examples

     The user creates a small file and replaces a line.

        @CREATE (FILE) TEST.FIL
	Input: TEST.FIL.1
	00100	This file will contain three lines: line 100
	00200	Line 300, and
	00300	Line 300.
	00400	$
	*R200
	00200	Line 200, and
	1 LINE (00200/1) DELETED
	*E

        [TEST.FIL.1]
	@

     The user edits a text file to be used with the RUNOFF program.

        @EDIT (FILE) NEWRUN.RNO
	Edit: NEWRUN.RNO.3
	*SLEVLE$LEVEL$500
	00500  THE HEADER LEVEL COMMANDS ARE ALSO VERY USEFUL.
	*E

        [NEWRUN.RNO.4]
	@



				FORK command



Function

	The FORK command specifies the process (fork) of your job to which
	TOPS-20 commands referencing specific processes apply.  It does not
	create a process.


Format

	@FORK (IS) identifier

	where

	identifier	is the process number, an octal number between 1 and
			777

			or the process name


Special Cases

	Fork 0

		If you are a user  with enabled Wheel privileges you can give
		the command, FORK 0.  This references the command processor
		(EXEC) itself.


Effect on Memory and Terminal

	The FORK command does not affect memory and leaves your terminal at
	TOPS-20 command level.



Related Commands


	INFORMATION MEMORY-USAGE		for examining memory of the
						current process

	INFORMATION PROGRAM-STATUS		for finding out the number and
						status of each process in your
						job
	INFORMATION FORK-STATUS			for finding out the name, number
						and status of each process in
						your job
	KEEP 					for preserving a process while
						other programs are run, and
						resisting being RESET
	UNKEEP					allow a process to be removed
						when another program is run

	FREEZE					stop the execution of a process
						which is running in the
						background
	CONTINUE 				continue executing a process
						optionally in the background

	RESET					clears a process from memory
						and closes its files, if any

	NAME					give the current process a name

Examples


	1.	Make the second process or your job the current process.

		@FORK 2
		@


	2.	Find out which processes exist in your job (an arrow
		(=>) indicates the current process).  Look at memory for the
		first process, then examine a particular location.  Make the
		second process current, and do the same thing there.

		@INFORMATION PROGRAM-STATUS
		Used  0:00:00 in 0:00:46
		TOPS-20: 0:00:00.6
		SET UUO-SIMULATION (FOR PROGRAM)
		SET CONTROL-C-CAPABILITY (OF PROGRAM)
		=>Fork 1: HALT at 16176, 0:00:00.3
			Fork 2: HALT at 472052, 0:00:00.0
		@INFORMATION MEMORY-USAGE
		176. pages, Entry vector loc 2061 len 3

		0	PS:<NEXT-RELEASE>BASIC.EXE.2	1	R, CW, E
		1	Private	R, W, E
		2-66	PS:<NEXT-RELEASE>BASIC.EXE.2	3-67	R, CW, E
		70-73	PS:<NEXT-RELEASE>BASIC.EXE.2	70-73	R, CW, E
		74	Private R, W, E
		.
		.
		.
		.
		.
		.
		.
		.
		.
		.
		600-637	PS:<NEXT-RELEASE>BASOTS.EXE.2	105-144	R, CW, E

		@EXAMINE 3500
		3500/	202200,1136
		@FORK 2
		@INFORMATION MEMORY-USAGE

		108. pages, Entry vector loc 401 len 24

		0	Private	R, W, E
		3-4	Private	R, W, E
		100	Private	R, W, E
		436-437	Private	R, W, E
		440-526	FORK 1	440-526	R, CW, E
		527	No page	R, CW, E
		.
		.
		.
		.
		.
		640-767	No page	R, CW, E


		@EXAMINE 3500
		3500/	0
		@

				GET Command


Function

     The GET command clears memory, then loads an executable program.


Format

     @GET (PROGRAM) filespec/switch

	where

     filespec  is the file specification of the  file  containing  the
	       executable  program.  If you do not specify a type, the
	       system assumes it is .EXE.


	switch		is /USE-SECTION:n
			Specifies the memory section (from 0 to 37 octal) into
			which your program is to be loaded.  You can use this
			switch only if your program can be contained in one
			section.

Hints

     The only type of program that you may place in  memory  with  the
     aid  of  this  command  is  an executable program.  To produce an
     executable program, first give the LOAD command to translate  the
     program  and  load  it into memory, then give the SAVE command to
     save the executable program in a file with the type .EXE.	 Thus,
     you will normally specify a file with the type .EXE when you give
     the GET command.

     After issuing the GET command,  you  may  start  the  program  by
     giving  the START command.  You may also merge another program in
     memory by giving the MERGE command.

     You can give an INFORMATION (ABOUT)  MEMORY-USAGE	command  after
     the  GET  command	to  find  out  which memory pages comprise the
     program.



Operation

     1.  Type GET and press the ESC key;  the system prints (PROGRAM).

	 @GET (PROGRAM)

     2.  Type (or use recognition on) the  file  specification;   then
	 press	the  RETURN  key.  Once your program is in memory, the
	 system prints an @.

	 @GET (PROGRAM) RTRANS.EXE.1
	 @

Characteristics

     The GET command:

	Clears memory, then inserts a new  program,  thereby  clearing
	any previous program from memory.

	Leaves your terminal at TOPS-20 command level.


Related Commands

	INFORMATION MEMORY-USAGE	for examining the contents of memory

	LOAD				for loading a source or object program
					into memory

	MERGE				for putting an executable program into
					memory without first clearing memory

	SAVE				for storing a copy of the program in
					memory in a file in executable format

	START				for starting the program in memory



Examples

     The user places the program DIFFER.EXE.2 in memory.

	@GET (PROGRAM) DIFFER.EXE.2
	@



FILCOM Program


Function

     The FILCOM program compares two files line by  line  and  outputs
     the differences between them.


Hints

     With FILCOM you may compare both ASCII files (i.e.,  normal  text
     files  and  files	containing  source  programs) and binary files
     (i.e., relocatable binary files and save files).  FILCOM compares
     ASCII  files  line  by line, but it compares binary files word by
     word.

     If you want to list a binary file,  type  the  first  input  file
     specification,  but  do not type a comma or the second input file
     specification.  Be sure that either the input file  specification
     has  a  standard  binary type (listed in Table II-13) or that you
     use the /W switch.


Special Cases

     Binary files are compared word by word, starting at word 0,  with
     the following exception:


     1.  Files with file types .SAV, .LOW, and .SVE are assumed to  be
	 executable files and are expanded before comparing.



Format

     @FILCOM

     *output.typ=input1.typ,input2.typ/switches


     output.typ is the name and type of the file that will contain the
		differences between the two input files.

                If you do not give an output file  name,  FILCOM  uses
		the second input file name (input2).  But, if you omit
		the second input file name (refer to input2.typ),  the
		output	file  name  becomes  FILCOM.   If you omit the
		output file type, it is .SCM if the  input  files  are
		ASCII  files,  or  else  .BCM  if  the input files are
		binary	files.	 If   you   omit   the	 output   file
		specification completely, the system uses TTY:.


     input1.typ is the name and type of the first input file you  want
		to compare.


     input2.typ is the name and type of the second input file you want
		to compare.

                If you omit the name of the second input file,  FILCOM
		uses  the  name  of the first input file.  If you omit
		the type of the second input  file,  FILCOM  uses  the
		type  of the first input file.	To explicitly indicate
		a null type, type a period at the end  of  the	second
		input file name.


     switches   are  the  switches  following  the  two   input   file
		specifications.   They	control  the  method  in which
		FILCOM	performs  the  comparison.   All   the	 valid
		switches are listed in Table II-13.

                If you do not use the /A, /W,  or  /X  switch,  FILCOM
		chooses  the  mode of comparison by examining the type
		of the input files.  If either one (or	both)  of  the
		input  files  has  one	of the types listed below, the
		files are compared in binary mode;  otherwise they are
		compared in ASCII mode.


                          Binary File Types

               .BAC                     .HGH                    .RMT
	       .BIN			.LOW			.RTB
	       .BUG			.MSB			.SAV
	       .CAL			.OVR			.SFD
	       .CHN			.QUE			.SHR
	       .DAE			.QUF			.SVE
	       .DCR			.REL			.SYS
	       .DMP			.RIM			.UFD
					.XPN

               If a conflict arises in  the  absence  of  defaults  or
	       switches,  the  files are assumed to be ordinary binary
	       files.


                             Table II-13
			   FILCOM Switches


  Switch  Comparison               Function


   /A     ASCII only     Compares the two input files  in  ASCII  mode
			 (i.e.,  FILCOM  treats  both files as if they
			 contain ASCII characters).   This  switch  is
			 useful  when  the  file specifications do not
			 have standard file types.  Refer to  Appendix
			 B.


   /B     ASCII only     Considers  blank  lines  in  the  comparison;
			 otherwise blank lines are ignored.


   /C     ASCII only     Ignores  comments  (all  text   on   a   line
			 following  a  semicolon)  and spacing (spaces
			 and tabs).  If one file has a line  which  is
			 entirely  a  comment and the position of that
			 line does not correspond to a comment line in
			 the  other  file,  that  line	is output as a
			 difference between the two files.


   /H     ASCII and      Prints a list of FILCOM switches on your
	  binary	 terminal.


   /nL    ASCII only     Specifies the number of lines that  terminate
			 a  match.  A match occurs when FILCOM finds n
			 successive lines that are the	same  in  both
			 files.   Once FILCOM finds a match, it prints
			 all the differences discovered since the last
			 match.  Then, FILCOM prints the first line of
			 the current match so that you know where  the
			 differences  are located.  If you do not give
			 this switch, FILCOM uses the value 3.


   /nL    Binary only    The  number  n  is  an  octal  number   which
			 specifies  the  lower	limit  where a partial
			 binary comparison will begin.	 If  you  also
			 use the /nU switch, FILCOM compares the files
			 only within these predefined limits.


   /Q     ASCII and      Prohibits FILCOM from printing the
	  binary	 actual   differences,	 only	 ?FILES    ARE
			 DIFFERENT,  if  applicable.   This  switch is
			 useful when Batch control files want to  test
			 for differences, but do not want the log file
			 filled with output.


   /U     ASCII only     Compares the files in update mode.  In update
			 mode,	the  output  file  is the second input
			 file with vertical bars inserted at the  left
			 margin  on  lines  that differ from the first
			 input file.   This  feature  is  useful  when
			 updating  a document because the changes made
			 to the latest edition are flagged with change
			 bars  in the left margin.  The latest edition
			 of the file must be typed as the second input
			 file.


   /nU    Binary only    Specifies the upper  limit  where  a  partial
			 binary  comparison  will stop.  n is an octal
			 number.  Refer to the /L switch.


   /W     Binary only    Compares the two files in binary mode without
			 expanding  the  files	first.	This switch is
			 used to compare two binary  files  that  have
			 non-standard file types.


   /X     Binary only    Expands  executable   (.SAV)   files   before
			 comparing  them  in binary mode.  This switch
			 removes  differences  resulting   from   zero
			 compression.


Operation


     1.  Type the program name FILCOM,  then  press  the  RETURN  key.
	 When the FILCOM program has started, it prints an asterisk on
	 your terminal.

         @FILCOM

         *


     2.  After the asterisk, type a command  comprised  of  an  output
	 file,	an  equals  sign,  two	input files, and any necessary
	 switches.  Press the RETURN key.  When FILCOM is finished, it
	 prints a second asterisk.  If the files are different, FILCOM
	 precedes the asterisk with the message %files	are  different
	 (if you used the /Q switch, the percent sign is replaced with
	 a question mark).

         *DIFFER.FIL=EXPONT.1,EXPONT.2
	 %files are different


     3.  After FILCOM prints the second asterisk, you can give another
	 command  to  FILCOM.	If  you  want  to  stop FILCOM, type a
	 CTRL/C.

         *^C
	 @



Output


     ASCII mode
	 The output file contains a header consisting of  the  device,
	 file  name, type, and creation date of each input file.  This
	 header is omitted if you are using update mode, that  is,  if
	 you have given the /U switch.

         File 1) DSK:EXPONT.1    created:  1052 22-AUG-1975
	 File 2) DSK:EXPONT.2	 created:  1155 22-AUG-1975

         Each time  FILCOM  encounters  differences,  it  outputs  the
	 number  of  the  file and its differences.  At the end of the
	 differences, FILCOM prints a line that is common between  the
	 two  files.  Then FILCOM prints four asterisks, the number of
	 the second file, and its differences.	Finally, FILCOM prints
	 the  common line and fourteen asterisks.  Next, FILCOM prints
	 a  second  set  of  differences,  and	so  forth  until   all
	 differences  are  printed.   In  the  following example, file
	 EXPONT.1 contains the words corresponding to  the  numbers  1
	 through  10  and EXPONT.2 contains the words corresponding to
	 the numbers  1  through  10,  but  also  includes  the  words
	 TWO-AND-A-HALF    and	 NINE-AND-A-HALF.    There   are   two
	 differences  listed:	the  first  one   is   TWO-AND-A-HALF,
	 occurring  in	EXPONT.2,  the	second one is NINE-AND-A-HALF,
	 occurring in EXPONT.2.

         @FILCOM

         *=EXPONT.1,EXPONT.2
	 File 1) DSK:EXPONT.1	 created:  1700 25-SEPT-1975
	 File 2) DSK:EXPONT.2	 created:  1618 25-SEPT-1975

         1)1     THREE
	 ****
	 2)1	 TWO-AND-A-HALF
	 2)	 THREE
	 **************
	 1)1	 TEN
	 ****
	 2)1	 NINE-AND-A-HALF
	 2)	 TEN
	 **************

         %files are different

         *

         If you give the /U switch, the system prints the second  file
	 with  vertical  bars  beside  any  lines that differ from the
	 first file.

         @FILCOM

         *=EXPONT.1,EXPONT.2/U
		 ONE
		 TWO
	 !	 TWO-AND-A-HALF
		 THREE
		 FOUR
		 FIVE
		 SIX
		 SEVEN
		 EIGHT
		 NINE
	 !	 NINE-AND-A-HALF
	 !	 TEN

         %files are different

         *


     Binary mode
	 The output file contains the same header, but FILCOM compares
	 the  two  files  word	by word.  If there is a difference, it
	 prints the word from the first file, the word from the second
	 file, then the logical exclusive OR of the two words.

         @FILCOM
	 *=A.REL,B.REL

         File 1) DSK:A.REL       created:  2221 07-SEPT-1975
				 File 2) DSK:B.REL created:  1712
	 25-SEPT-1975

         000006  000005 000002   000001 000006  000004 000004
	 000007  200000 000000	 240000 000000	040000 000000

         %files are different

         *


Characteristics

     When you start FILCOM,  any  previous  program  is  cleared  from
     memory  and  your	terminal  is  at FILCOM command level.	Type a
     CTRL/C to return to TOPS-20 command level.


Restrictions

     You may not use recognition input in typing a FILCOM command, and
     you  must	use a project-programmer number to reference a file in
     another user's directory.	Refer to  Section  5.3.1  and  Section
     5.10.


Examples

     The user compares his two FORTRAN files and places the output  in
     the file NEW.SCM.

        @FILCOM

        *NEW=ROUND1.FOR,ROUND2.FOR

        %files are different
	*C
	@

     The user compares two text files, leaving change bars next to new
     and changed lines.  Blank lines are not ignored.

        @FILCOM

        *NEWDOC.TXT=DOC1.TXT,DOC2.TXT/U/B

        %files are different
	*^C
	@

     The user prints the contents of a binary file, SUBRTN.REL.

        @FILCOM

        *PFILE=SUBRTN.REL/B

        %files are different
	*^C
	@PRINT PFILE.BCM
	[LPT:PFILE=/SEQ:1023/LIMIT:176, 1 FILE]
	@



FORDDT Program


Function

     The FORTDDT program helps you debug FORTRAN programs.


Hints

     Your object program  must  contain  symbols  to  be  successfully
     debugged  with  FORDDT  -	do not begin your debugging session by
     giving the switch /NOSYMBOLS.


Format

     @DEBUG (FROM) /FORTRAN filespecs
     FORTRAN: name
     MAIN.
     LINK:   Loading
     [LNKDEB FORDDT Execution]

     STARTING FORTRAN DDT

     >command


     filespecs           is   a   list   of   FORTRAN   programs   and
			 subroutines.	If  the  files	have  the type
			 .FOR, you do not have to include the /FORTRAN
			 switch.   If  you  want  to use line numbers,
			 perform  tracing,  include  array   dimension
			 tracing,  or examine DO loops, include /DEBUG
			 and  /COMPILE	switch	in   your   LOAD-class
			 command.


     command             is any valid FORDDT command in Table II-14.


                             Table II-14
			   FORDDT Commands


     ACCEPT variable/mode value
	Changes the value  of  the  specified  variable.   The	mode
	indicates  the format you will use to type the value.  Refer
	to the following list of the valid modes.

                       Modes For ACCEPT Values

     Mode   Meaning                               Example

     A      Left-justified ASCII characters       /MIXED/
	    enclosed in slashes. The
	    system accepts only the first
	    five characters.

     C      A complex number (two floating        1.25,79.01E-5
	    point numbers separated by
	    a comma).

     D      A double precision number.            6.2831853072

     F      A floating point number.              126.67

     I      An integer number.                    68

     O      An octal number.                      777777

     R      Right-justified ASCII                 \TRYIT\
	    characters enclosed
	    in backslashes. The system
	    accepts only the first
	    five characters.

     S      A symbolic value which uses           PSI(M)
	    the current value of the
	    variables. If M=3, the system
	    uses the value of PSI(3).


     CONTINUE n
	Continues the execution of your program after encountering a
	label  at  which  you  have  set  a  pause.   The  execution
	continues until the program finishes or  encounters  another
	pause.	If you want to ignore this pause a certain number of
	times, include a number after the  CONTINUE  command.	Then
	the  system resumes execution of the program until either it
	encounters this pause n  times	or  until  it  encounters  a
	different pause, whichever comes first.


     GROUP n list
	Sets up a string of variables which a TYPE command can refer
	to  by number rather than by name.  For example, if you give
	the command:  GROUP 1 A,B,C, you can then give	the  command
	TYPE 1 which is equivalent to TYPE A,B,C.  The number n is a
	group number from 1 to 8 and list  is  a  list	of  variable
	names separated by commas.


     LOCATE symbol
	Lists the modules in which a given symbol is  defined.	 You
	may  then  give the name of this module as an argument to an
	OPEN command.  The  symbol  n  can  be	a  variable,  array,
	statement  label,     followed	by  a line number, or FORMAT
	statement number.  If you want to locate a line  number,  be
	sure  to  include  a /DEBUG switch in the LOAD-class command
	that loads the program.


     MODE list
	Defines the default  formats  in  which  FORDDT  prints  the
	values	of  all variables.  If you give more than one value,
	they must be separated by commas.  With more than  one	mode
	set,  the  system  types out the value of a variable once in
	each mode.  The modes are:
	      Mode	      Meaning

              F               Floating point
	      D 	      Double precision
	      C 	      Complex
	      I 	      Integer
	      O 	      Octal
	      A 	      ASCII (left-justified)
	      R 	      RASCI (right-justified)

        For example, the command MODE F,A would  cause  the  command
	TYPE  X  to  print  the value of X in floating point format,
	then in left-justified ASCII format.


     OPEN name
	Opens  a  subprogram  so  that	you   may   manipulate	 the
	subprogram's  local  variables.  When you open a subprogram,
	the main program or the subprogram you previously opened  is
	automatically  closed;	you may access only global variables
	and  those  variables  defined	within	the  currently	open
	subprogram.   If you do not specify a name, the system opens
	the main program.


     PAUSE label
	Causes FORDDT to temporarily stop execution of your  program
	at  the specified label.  You may resume execution by giving
	the CONTINUE command.  You have up to 10 pauses set  at  one
	time.  The label may be a statement label, a   followed by a
	line number, or a routine entry point name.  If you want  to
	pause  at  a line number, be sure to include a /DEBUG switch
	in the LOAD-class command that loads the program.


     REMOVE label
	Removes a pause at the specified label.  If you do not	give
	a  label  and  type  the  complete  command name, the system
	removes all pauses.  The label may be a statement label, a
	followed by a line number, or a routine entry point name.


     START label
	Starts your program at the specified label which  can  be  a
	program  name  or  a   followed by a line number.  If you do
	not type a label (or if you type a program name), the system
	starts	execution at the beginning of the program.  Once you
	have started your program, you may return to FORDDT  command
	level  by encountering a breakpoint or by typing two CTRL/Cs
	followed by a DDT command.  If you want to start at  a	line
	number,  be sure to include a /DEBUG switch in the LOAD-call
	command that loads the program.


     STOP
	Terminates the execution of your program, closes all  files,
	and returns you to TOPS-20 command level.


     TYPE list
	Prints the value of one or more variable or  array  elements
	on your terminal.  The variable list is one or more variable
	names, array names, or group numbers.  You  must  precede  a
	group number with a slash.  If you do not type any arguments
	to the TYPE command, the system uses the arguments you	gave
	in the last TYPE command.

        The MODE command determines how the values are printed;   if
	you do not give a MODE command, the system prints all values
	in floating point form.


     WHAT
	Prints a list of groups and modes.


Operation


     1.  Type DEBU and press the ESC key;  the system prints G (FROM).

         @DEBUG (FROM)


     2.  If the source file specifications do  not  contain  the  file
	 type  .FOR,  type  the  /FORTRAN  switch  and	leave a space;
	 otherwise,  type   (or   use	recognition   on)   the   file
	 specification.   Include  the /DEBUG and /COMPILE switches if
	 they are necessary.  The system will compile the sources  (if
	 necessary),  load  them  into	memory along with FORDDT, then
	 transfer control to FORDDT.

         @DEBUG (FROM) MORPAY
	 FORTRAN: MORPAY
	 MORPAY.
	 LINK:	 Loading
	 [LNKDEB FORDDT Execution]

         STARTING FORTRAN DDT

         >>


     3.  Once the system prints the double angle bracket, you  are  at
	 FORDDT  command level and may give any of the commands listed
	 in the preceding table.  In the example, the user  gives  the
	 START command which starts execution of his program.

         >>START

         Once you have started your program, you may return to  FORDDT
	 command  level  by encountering a breakpoint or by typing two
	 CTRL/Cs followed by a DDT command.



Characteristics

     The DEBUG command loads your FORTRAN program  into  memory  along
     with  FORDDT,  thereby  clearing  any  program from memory.  Your
     terminal is left at FORDDT command level.


Restrictions

     You may use FORDDT to debug only FORTRAN programs.


Examples

     The user debugs his FORTRAN program.

     @DEBUG (FROM) MORPAY                  !Load the program with FORDDT
     LINK:   Loading
     [LNKDEB FORDDT Execution]

     STARTING FORTRAN DDT

     >> PAUSE 10                           !Pause at statement 10

     >> PAUSE 18                           !and at statement 18

     >>START                               !Start the program
     How much is the loan? 2500.	   !Type an amount


     What is the interest rate? 12.        !Type an interest rate
     How long (in years) is the loan? 2.   !The loan duration
     The monthly payment is: $		   117.6836900
     [Interest factor:			   21.1433850]


     PAUSE AT 10 IN MAIN PROGRAM           !Execution reached statment 10

     >>CONTINUE                            !Continue execution

     1    25.00   92.68    2407.32
     PAUSE AT 18 IN MAIN PROGRAM	   !Now statement 18

     >> REMOVE 10                          !Remove the pause at 10

     >> C                                  !Abbreviated continue
     2	  24.07   93.61    2313.71
     PAUSE AT 18 IN MAIN PROGRAM

     >> TYPE BALANC                        !Type the value of balance

     BALANC  =    2313.706

     >> TYPE PP                            !And the principal payment

     PP      =    93.61053

     >> C                                  !Continue execution

     3    23.14   94.55    2219.16
     PAUSE AT 18 IN MAIN PROGRAM

     >> GROUP 1,BALANC,PP,I                !Set up a group 1 containing
					    BALANC, PP, and I, the
					    payment number
     >> MODE F,I			   !Set the mode as floating
					    point, then integer

     >> PAUSE 18 TYPING 1                  !Type the values in group 1
					    whenever the statement 18
					    is encountered

     >> WHAT                               !Print the status of FORDDT

     OPEN SECTION: MAIN PROGRAM

     GROUP   AFTER   PAUSE
     1	     0	     18

     GROUP 1:        BALANC,PP,I

     NO ARRAY SPECIFICATIONS
     >> C				   !Continue execution

     4    22.19   95.49    2123.67
     PAUSE AT 18 IN MAIN PROGRAM

     BALANC  =    2123.667
     =	18860070242


     PP      =    95.49210
     =	18219524006

     I       =
     %FRSAPR Floating underflow 	   PC= 407713
     0.0000000
     =	4				   !When you print an integer
					    value such as I in a
					    floating point format.
     FORDDT issues a warning
     >> ACCEPT BALANC/F 0.0		   !Change the floating point
					    value of BALANC to 0.
     BALANC  =	 0.0000000

     >> C                                  !Continue execution

     5     0.00    0.00       0.00
     FINAL PAYMENT IS: $   0.00
     TOTAL PRINCIPAL IS: $   376.33
     TOTAL INTEREST IS: $    94.40
     THE END				   !The program ends

     END OF EXECUTION
     CPU TIME: 1.76  ELAPSED TIME: 12.72
     EXIT
     @
FORTRAN Compiler


Function

     The FORTRAN compiler produces object programs from FORTRAN source
     programs.


Hints

     To run a FORTRAN program:

     1.  Enter your source program into a file (by using EDIT).

     2.  Give the EXECUTE command to compile,  load,  and  start  your
	 program.

     Use the FORDDT program to debug FORTRAN programs.

     If you have a main program and assorted subroutines that required
     special   loading,   refer  to  Chapter  8  which	describes  the
     LOAD-class commands.


Operation

     1.  Enter your program into a file using EDIT.

	 @CREATE (FILE) SMALL.FOR
	 Input: SMALL.FOR.1
	 00100	      TYPE 101
	 00200	 101  FORMAT (' THIS IS A MINI FORTRAN PROGRAM.')
	 00300	      STOP
	 00400	      END
	 00500	 $
	 *E

	 [SMALL.FOR.1]
	 @

     2.  Compile, load, and start your program by giving  the  EXECUTE
	 command.

	 @EXECUTE (FROM) SMALL.FOR
	 FORTRAN: SMALL
	 MAIN.
	 LINK:	 Loading
	 [LNKXCT SMALL Execution]
	 THIS IS A MINI FORTRAN PROGRAM.
	 STOP

	 END OF EXECUTION
	 CPU TIME:  0.08 ELASPED TIME:	0.86
	 EXIT
	 @

Characteristics

     The LOAD-class commands run the  FORTRAN  compiler  to  translate
     your  FORTRAN  source  program,  thereby  clearing  any  previous
     program from memory.  Depending on  the  operation  you  request,
     your terminal may or may not be left at TOPS-20 command level.


Examples

     The user executes a FORTRAN program.

	@EXECUTE (FROM) ADDTWO.FOR	!Give the EXECUTE command
	FORTRAN: ADDTWO
	MAIN.
	LINK:	Loading
	[LNKXCT ADDTWO Execution]
	TYPE TWO NUMBERS.
	23 45				!Type two numbers
	ADDING	    23.0000000 TO     45.0000000 GIVES	  68.0000000

	END OF EXECUTION
	CPU TIME: 0.13 ELAPSED TIME: 0.72
	EXIT
	@

     The user compiles a FORTRAN program.

	@COMPILE (FROM) MORPAY.FOR
	FORTRAN: MORPAY
	MAIN.
	@

     The user combines three source programs  to  produce  one	object
     program (C.REL), then loads the object program into memory.

	@LOAD (FROM) A+B+C
	FORTRAN: A
	MAIN.
	LINK:	Loading

	EXIT
	@

     The user compiles a main program (COMP) and its  two  subroutines
     (ADDEM and DIFFER), then loads them into memory and starts them.

	@EXECUTE (FROM) COMP,ADDEM,DIFFER  !Give the EXECUTE command
	FORTRAN: COMP
	MAIN.
	FORTRAN: ADDEM
	ADDEM
	FORTRAN: DIFFER
	DIFFER
	LINK:	Loading
	[LNKXCT COMP Execution] 	   !Execution starts
	TYPE TWO NUMBERS: 78 56 	   !Type two numbers
	THE SUM IS:	134.0000000
	THE DIFFERENCE IS:	22.0000000
	STOP

	END OF EXECUTION
	CPU TIME: 0.14 ELAPSED TIME: 0.63
	EXIT
	@

			LOGOUT or BYE Command


Function

     The  LOGOUT or BYE command  expunges  deleted  files  in your
     connected  and logged-in directory,  deletes  all  ;T (temporary)
     files created during this session in your connected and logged-in
     directories,  decrements  the mount count for any SMOUNT commands
     you have given, checks disk storage allocation, ends your job and
     prints a message.  You  may also log  out  another job as long as
     it is logged in under your user name.


Format

     @LOGOUT n

     or

     @BYE n

     n	 is the job number of the job you want to log out.  If you are
	 logging  out your current job (as is the common case), do not
	 type a number. (specify n only when logging out a job other
	 than your attached job.



Operation

     1.  Type LOGO and press the ESC key;  the system prints UT.

	 @LOGOUT

	 or type BY and press the ESC key; the system prints E.

     2.  To log out your current job, press the RETURN key.  (If  your
	 connected  directory is over its disk storage allocation, the
	 system prints a message.)

	 @LOGOUT
	 KILLED JOB 13, USER LESTER, ACCOUNT 10563, TTY 45,
	   AT 16-JAN-76 20:03:01 USED 0:1:46 IN 3:44:12

     3.  If you are logging out another job, type the job  number  and
	 press the RETURN key.

	 @LOGOUT 23
	 @


Errors

     1.  If you try to log out another user's job, the system  ignores
	 the LOGOUT command and prints the message:

	 ?WHEEL OR OPERATOR CAPABILITY REQUIRED

     2.  If no user is logged in under that  job  number,  the	system
	 ignores the LOGOUT command and prints the message:

	 ?THAT JOB DOES NOT EXIST


Output

    System Use Under Current Account

	The system acknowledges a valid LOGOUT command by printing your
	job number, user name, current account, terminal number, and the
	current date and time. Then it shows the total amount of CPU time
	you used during the terminal session and the total amount of CPU
	time used under the current account and the length of time you
	were logged in under the current account and the length of time 
	you were logged in under this account.


	If you exceed your permanent disk storage allocation, the system
	prints the message:

	<directory> OVER PERMANENT STORAGE ALLOCATION BY n PAGES

	where directory is your logged-in directory and n is  the number
	of pages by which you exceeded your quota.  You should log in and
	delete and expunge enough files to get under quota.   Before  you
	log out, you can give the INFORMATION (ABOUT)  DISK-USAGE command
	to find if you are over your allocation.


Characteristics

     The LOGOUT or BYE command:

	 Clears any program from memory and expunges the deleted files
	 in  your  connected  and  logged-in directory, unless you are
	 logging out  another  job,  in  which	case  it  leaves  your
	 terminal at TOPS-20 command level.

	 Terminates any ACCESS, CONNECT and SMOUNT commands  you  have
	 given throughout your job session.


Effect on Memory and Terminal
	The LOGOUT command clears memory and leaves your terminal in the
	state before Log-in. LOGOUT n does not effect memory and leaves
	your terminal at TOPS-20 command level.

Restrictions

     You cannot log out another user's job.

     You cannot give a job number when you are logging	out  your  own
     job.


Related Commands

DETACH	  for disengaging a job from your terminal without
	  ending the job.

LOGIN	  for beginning your timesharing job.

UNATTACH  for disengaging a job from another terminal without ending the job.


Examples

     The user logs out his own job, but is  over  his  permanent  disk
     storage allocation by 5 pages.

	@LOGOUT
	 <HARDING> OVER PERMANENT STORAGE ALLOCATION BY 5 PAGES.
	KILLED JOB 36, USER HARDING, ACCOUNT 34, TTY 2,
	  AT 16-JAN-76 3:04:01 USED 0:0:23 IN 0:5:12

     The user logs out job 34 which is logged in under his user name.

	@LOGOUT 34
	@
				REMARK command


Function

        The REMARK command tells the system  to  regard  the terminal
	input that follows as comment only.

Format

        @REMARK (MODE)
        Type remark.    End with a CTRL/Z.

Characteristics

        Ending Remarks

 	Until you give a CTRL/Z, the  system merely  displays  what  you
	type  instead  of trying to interpret it as commands.

Hints

        Useful During TALK or ADVISE Session

	If  you  have  already   established contact  with another user
	by a TALK or Advise command before  giving  REMARK,  his  terminal
	will  also  display  what  you type.  Give the REMARK command
	before sending lengthy comments or  demonstrating commands that
	you don't want to take effect.

Effect on Memory and Terminal

	The REMARK command does  not  affect  memory and leaves your
	terminal at remark level.

Related Commands

        ADVISE   for sending commands to another user's job
        TALK     for sending comments to another user

Examples

        1.      Give the REMARK command.

                @REMARK

                TYPE REMARK.    END WITH CTRL/Z.

        2.      Receive a communication  link  from  another
       user.   Give  the  REMARK  command to speak with him.
       Give a CTRL/Z afterwards to end the remarks.

         @
         LINK FROM J-BLOGGS, TTY127
         @;WHAT DID YOU MAKE AT YOUR WORDWORK EVENING CLASS LAST NIGHT?
         @REMARK
         TYPE REMARK.    END WITH CTRL/Z.
         I MADE A PORTABLE.
         ;A PORTABLE WHAT?
         I DON'T KNOW - I'VE ONLY MADE THE HANDLE...
         ;HA HA.  ON YOUR BIKE...
         @BREAK
         ^Z.
         @
                        
MACRO Assembler


Function

     The MACRO assembler produces object programs  from  MACRO	source
     programs.


Hints

     A program written in the  MACRO  assembly	language  may  contain
     machine  language	instructions, assembler pseudo-ops and monitor
     calls.

     To run a MACRO program:

     1.  Enter your source program into a file (usually you  will  use
	 EDIT),

     2.  Give the EXECUTE command to assemble,	load  and  start  your
	 program.

     3.  If you do not plan to make changes to the program (EDIT)  and
	 plan  to  run	the  program often, use the LOAD, SAVE and RUN
	 commands instead of EXECUTE.

     If you have a main program and assorted subroutines that  require
     special   loading,   refer  to  Chapter  8  which	describes  the
     LOAD-class commands.  Also refer to the description of  the  LINK
     program.

     The best way to produce a listing file for a MACRO program is  to
     give  a LOAD-class command with the /CREF switch.	In addition to
     your relocatable binary program, the system then produces a  file
     with  cross-reference  information  about symbols.  Give the CREF
     command to  process  this	file  and  print  it.	Refer  to  the
     examples.


Operation

     1.  Enter your program into a file using EDIT.

	 @CREATE (FILE) TEST1.MAC
	 Input: TEST1.MAC.1
	 00100		 TITLE TEST1
	 00200		 SEARCH MONSYM
	 00300	 TEST1:  RESET
	 00400		 HRROI T1,[ASCIZ /This is only a test program!
	 00500	 /]
	 00600		 PSOUT
	 00700		 HALTF
	 00800		 END TEST1
	 00900	 $
	 *E

	 [TEST1.MAC.1]
	 @

     2.  Compile, load, and start your program.

	 @EXECUTE (FROM) TEST1.MAC
	 MACRO:  TEST1
	 LINK:	 Loading
	 [LNKXCT TEST1 EXECUTION]
	 THIS IS ONLY A TEST PROGRAM!
	 @


Characteristics

     Giving a LOAD-class command to run a  MACRO  program  clears  any
     previous  program	from memory and, depending on the command, may
     or may not leave you at TOPS-20 command level.


Examples

     The user compiles his MACRO program.

	@COMPILE (FROM) VTED
	MACRO:	VTED

	EXIT
	@

     The user compiles his program, producing a file that is  used  by
     the CREF command to produce a cross-reference listing on the line
     printer.

	@COMPILE (FROM) /CREF INOUT
	MACRO:	INOUT

	EXIT
	@CREF			      !Give the CREF command
	CREF:	INOUT
	@

     The user compiles two files to produce one source	program,  then
     loads it into memory.

	@LOAD (FROM) DEFS+PROMPT
	MACRO:	PROMPT
	LINK:	Loading

	EXIT
	@

     The user loads his main  program  (REINIT)  and  two  subroutines
     (MEMDMP  and  CONFIG)  into  memory, saves the resulting program,
     then runs the program.

	@LOAD (FROM) REINIT,MEMDMP,CONFIG
	MACRO:	REINIT
	MACRO:	MEMDMP
	MACRO:	CONFIG
	LINK:	Loading

	EXIT
	@SAVE
	 REINIT.EXE.1 SAVED
	@RUN REINIT

	NAME OF FILE TO INITIALIZE: SYMTAP.EXT.1  !NEW FILE!
	CONFIGURATION COMPLETED.

	ANOTHER FILE? NO
	[DONE!]
	@
MAIL Program


Function

     The MAIL program sends a message (commonly referred to  as  mail)
     to another user or group of users.


Special Cases

     If you have not read a message that has been sent	to  you  since
     the last time you ran RDMAIL, the system prints the line:

	  YOU HAVE A MESSAGE

     on your terminal whenever you log in to the system.

     If you are logged in at the time someone sends you a message, the
     system prints the following line on your terminal:

	  [YOU HAVE A MESSAGE FROM sender]

     (If you are refusing links, the system does not print  the  above
     message.)

     If an important new message-of-the-day has been  sent  to	SYSTEM
     since you logged in, you are notified with the message:

	  [NEW MESSAGE-OF-THE-DAY AVAILABLE]

     You can read the new SYSTEM  message  with  the  RDMAIL  program.
     Type /M to the DATE AND TIME prompt.

     You can send MAIL to a directory called REMARKS.  This  directory
     has  been	set  up  to receive complaints about any miscellaneous
     system problems you may have (e.g., your terminal is not  working
     properly  or  you	need  paper supplies).	The type of complaints
     that are sent usually do not require an immediate	response  from
     the operator.

     If you have WHEEL or OPERATOR capabilities,  you  can  also  send
     messages  to SYSTEM.  Sending a message to SYSTEM generates a new
     message-of-the-day to all users.  Type SYSTEM to the prompt  TO:.
     Note  that SYSTEM and REMARKS are the only files-only directories
     that will accept mail.


Hints

     The RDMAIL program allows you to read  new  system  messages  and
     mail sent to you by another user.

     You can type a ?  after any one of the queries (i.e.,  TO:,  CC:,
     SUBJECT:,	and MESSAGE:) and the system prints a short summary of
     what you are expected to type.

     Normally if you have a list of users  to  whom  you  are  sending
     mail,  you  must  type their user names on the line following TO:
     or CC:  (for copies to).  But, if you have a long	list  of  user
     names you can enter them into an indirect file using EDIT.  Then,
     in the place of the user names, type an at-sign and type (or  use
     recognition on) the file name and file type.  Refer to the second
     example.

     You can also send mail to yourself.  A  convenient  time  to  use
     this  facility  is  when  you are running a Batch job and want to
     know when it is done.  You can send  a  message  to  yourself  by
     including	the  MAIL  program  commands  at the end of your Batch
     control file.  After the last command in  the  control  file  has
     been  executed,  you  are notified that you have a message in the
     form:

	  [YOU HAVE A MESSAGE FROM sender]

     Sender, in this case, is  yourself.   Run	RDMAIL	to  read  your
     message.  (Refer to Examples.)


Operation

     1.  Start the program by typing (or  using  recognition  on)  the
	 name  MAIL,  then  press the RETURN key.  The system leaves a
	 blank line and prints TO:

	 @MAIL

	 TO:

     2.  Type  (or  use  recognition  on)  the	list  of  user	names;
	 separate them with commas.  If you are using an indirect file
	 (i.e., you have stored the list of user  names  in  a	file),
	 type  an  @,  then type (or use recognition on) the file name
	 and file type.  The system then prints CC:.

	 TO: HURLEY,MILLER,MURPHY,@USERS.LST
	 CC:

     3.  Type or use recognition on the user names to whom you want to
	 send  copies  of the mail.  You may use an indirect file here
	 also.	The system prints SUBJECT:.

	 CC: @MEMOS.DIR
	 SUBJECT:

     4.  Type a one-line heading for the message and press the	RETURN
	 key.	The  system  prints the second line below that prompts
	 you for your message.

	 SUBJECT: SYSTEM CHARGES
	 MESSAGE (TERMINATE WITH ESC OR CTRL/Z):

     5.  Type the message;  when  you  are  finished,  press  the  key
	 labeled ESC.

	 If you wish, you can type the message into a  file;   if  you
	 have  done  so,  at  this  time  type an @ and the file name.
	 Then, press the RETURN key.  If the mail  gets  sent  without
	 any  system  errors,  the  system prints a three-line message
	 confirming that the mail was sent.
	 MESSAGE (TERMINATE WITH ESC OR ^Z):

		 would you please send the list of new system charges
		 to the project supervisors?


					     thanks.

	 $
	 PROCESSING MAIL...
	 NO ERRORS.
	 -DONE-
	 @


Errors

     1.  No user will receive more than one copy of the  mail.	 Thus,
	 if you include a certain name once under the TO:  and another
	 time under CC:, the system prints the message:

	 %DUPLICATE NAME PURGED - user name

	 and removes the duplicate name from the  list	of  users  who
	 will receive the mail.

     2.  If there is an error sending a message to a particular  user,
	 the system prints the following error message:

	 user name NOT SENT reason

	 You should try to send the  message  again.   If  the	second
	 attempt fails, contact the operator.

     3.  If you give a non-existent user name, the system ignores that
	 name and prints the message:

	 ?ILLEGAL USER NAME - name

	 However, if you have sent mail to a list of users,  the  list
	 is printed with the illegal name deleted.

     4.  If the recipients' directory is over its working  quota,  the
	 system  refuses  to  send  the  mail and prints the following
	 message.

	 user name NOT SENT  QUOTA EXCEEDED

	 If the user is logged in, try using the TALK command.


Characteristics

     After you start the MAIL program, any previous program is cleared
     from  memory  and	your  terminal	is left at MAIL command level.
     Answer the questions, type your message, press the  ESC  key  and
     your terminal will be left at TOPS-20 command level.  If you need
     to return to TOPS-20 command level immediately, type a CTRL/C.


Restrictions

     You cannot send mail to a files-only directory (other than SYSTEM
     or REMARKS) or to a directory on a structure other than PS:.


Examples

     The user sends mail to the users COHEN, BRUCKERT, and PORADA;   a
     copy is sent to user RICHER.

	@MAIL

	TO: COHEN, BRUCKERT, PORADA
	CC: RICHER
	SUBJECT:  SYSTEM USERS
	MESSAGE (TERMINATE WITH ESC OR CTRL/Z):

	PLEASE INFORM ALL NEW USERS OF THE LOCATIONS OF THE TERMINAL
	ROOMS AND THE HOURS OF THEIR OPERATION.
	$
	PROCESSING MAIL...
	NO ERRORS.
	-DONE-
	@

     The user sends mail to two users and a list of  users  stored  in
     the  file	REST.FIL.  One user, WYMAN, occurs twice so the system
     eliminates the redundancy.

	@MAIL

	TO: MCCARTHY, TOLMAN, @REST.FIL
	CC: LEWINE, WYMAN
	%DUPLICATE NAME PURGED - WYMAN
	SUBJECT:  MAINTENANCE
	MESSAGE (TERMINATE WITH ESC OR CTRL/Z):

	PLEASE BE ADVISED THAT THE SYSTEM WILL BE DOWN FROM 0100 TO
	0300 FOR MAINTENANCE.
	$
	PROCESSING MAIL...
	NO ERRORS.
	-DONE-
	@

     The user sends a message stored in the file MACRO.CMD to the user
     ALUSIC.

	@MAIL

	TO: ALUSIC
	CC:
	SUBJECT: MACRO FILES
	MESSAGE (TERMINATE WITH ESC OR CTRL/Z):

	@MACRO.CMD.1

	PROCESSING MAIL...
	NO ERRORS.
	-DONE-
	@

     The user sends a message-of-the-day to all users of  the  system.
     This user has WHEEL or OPERATOR capabilities enabled.

	@MAIL

	TO: SYSTEM
	CC:
	SUBJECT:  NEW MANUALS
	MESSAGE (TERMINATE WITH ESC OR CTRL/Z):

	THE NEW DECSYSTEM-20 MANUALS WILL BE AVAILABLE	IN  MY	OFFICE
	AFTER 2:00 PM TODAY.
	$
	PROCESSING MAIL...
	NO ERRORS
	-DONE-
	@

The user sends MAIL to REMARKS.

	@MAIL

	TO: REMARKS
	CC:
	SUBJECT: SUPPLIES
	MESSAGE (TERMINATE WITH ESC OR CTRL/Z):

	I NEED TWO BOXES OF TERMINAL
	PAPER, SIZE 97/8 X 11.
	$
	PROCESSING MAIL...
	NO ERRORS
	-DONE-
	@

The user sends a message to inform himself when his Batch job is  done
by placing the MAIL commands in his control file.  Note that he uses a
dot (or period) for the first program command TO:.

	@CREATE (FILE) TEST.CTL
	INPUT: TEST.CTL
	00100  @FILCOM
	00200  *TEST.FOR=DIFFER.FOR,ADDEM.FOR/A
	00300  @PRINT TEST.FOR
	00400  @MAIL
	00500  *.
	00600  *
	00700  *BATCH JOB IS DONE
	00800  *^Z
	00900  $
	*E
MAKLIB Program


Function

     The MAKLIB program updates files containing one  or  more	object
     programs  and  manipulates  the  individual programs within these
     files.


Hints

     Languages that produce object programs are MACRO, FORTRAN, COBOL,
     ALGOL, and BLISS-10.

     A program can be complete, or can be just a set  of  subroutines.
     One  reason  for  collecting  a group of object programs into one
     file is to enable LINK to use the file as a library (see the LINK
     Reference Manual).  The updating process employs three files:

     1.  A master file containing the file to be updated,

     2.  A transaction file containing the object programs to be  used
	 when updating, and

     3.  An output file containing the updated file.

     All three files can be on the same device if it is DSK.


Format

     @MAKLIB
     *output dev:file.typ=master dev:file.typ/switch:(object-programs),
     transaction dev:file.typ/switch:(object-programs)

     output dev:	 is the device name or logical name  to  which
			 the updated file is written.  If you omit the
			 device,  MAKLIB  assumes   DSK:    (currently
			 connected structure).

     master dev:	 is the  device  name  or  logical  name  that
			 specifies  the  location  of  the  file to be
			 updated.  If  you  omit  the  device,	MAKLIB
			 assumes     DSK:      (currently    connected
			 structure).  To separate the master file  and
			 transaction file, use a comma.

     transaction dev:	 is the device containing the object  programs
			 that MAKLIB will use in updating.

			 Note that the default for the device is  DSK:
			 (currently connected structure).

     file.typ		 is the name and type of each file.  You  must
			 specify file names for directory devices, but
			 you may omit the types.  If you omit a  type,
			 MAKLIB  assumes it is .REL unless you include
			 the /L switch in the command string.  In this
			 case,	MAKLIB assumes the output file type is
			 .LST.

			 Project-programmer numbers appearing after  a
			 file  name  apply  to that file only.	If the
			 project-programmer number appears before  the
			 file name, it applies to all subsequent files
			 until you specify another device.

			 MAKLIB gives  the  master  file's  protection
			 number to the output file.

			 You may use the asterisk  wildcard  character
			 in input file specifications.

     (object-programs)	 are the names of programs  that  MAKLIB  will
			 use   in   updating.	 Group	 these	within
			 parentheses in the same order in  which  they
			 appear  in  the  file,  and  separate them by
			 commas.  While you are manipulating  all  the
			 programs in a file, you need specify only the
			 file name.  You may not specify program names
			 for the output file.

     /switch		 specifies  a  function  you  wish  MAKLIB  to
			 perform.   Each  function  causes the updated
			 file to be output to the specified device.


			      Table II-17
			    MAKLIB Switches


       /APPEND		 Appends the specified	object	programs  in
			 the transaction file(s) to the master file,
			 and adds these programs to the end  of  the
			 output file.

       /NOLOCAL 	 Compresses  the  master  file	by  deleting
			 local	symbols.  These symbols are included
			 in object programs primarily  because	they
			 are useful in debugging.


					    NOTE

			     Local  symbols  cannot  be  deleted
			     from  .REL files;	for these files,
			     the   /NOLOCAL   switch   will   be
			     ignored.	  Large   libraries   of
			     debugged routines, such  as  LIBOL,
			     frequently  have  the local symbols
			     deleted in order to save disk space
			     and   reduce   the  amount  of  I/O
			     required	during	  the	 loading
			     process.



       /DELETE		 Deletes the specified object programs	from
			 the master file.

       /EXIT		 Returns you to TOPS-20 command level.

       /EXTRACT 	 Extracts the specified files and/or  object
			 programs  from  the input files.  If you do
			 not specify program names, MAKLIB  extracts
			 the entire file.

       /HELP		 Types the commands and switches available.

       /INSERT		 Inserts object programs from the  specified
			 transaction  files  into  the	master file.
			 MAKLIB  inserts   the	 programs   in	 the
			 transaction  files immediately before those
			 programs specified  by  /M  in  the  master
			 file.	 A  comma  is  used  to separate the
			 transaction files.

       /INDEX		 Writes index blocks into a library file  on
			 disk.	  Indexes   cannot   be  written  on
			 magnetic tape.  Index blocks are used in  a
			 direct  access  library  search.   (See the
			 LINK Reference Manual)

       /LIST		 Lists the names of the modules that are  in
			 the MASTER file.

			 The name of the master file is the  default
			 file name for spooled output.

       /MASTER		 Specifies which programs in the master file
			 are to be used in inserting and replacing.

       /POINTS		 Lists all the entry points within an object
			 program.  These are listed across the page.
			 The name of the master file is the  default
			 file name for the spooled output.

       /REPLACE 	 Replaces the specified object	programs  in
			 the  master  file with the specified object
			 programs  in  the  transaction  file.	 The
			 number  of  replacing	programs must be the
			 same  as  the	number	of  programs  to  be
			 replaced.


Operation

     1.  Type the program name MAKLIB,	then  press  the  RETURN  key.
	 When  the  MAKLIB program has started, it prints the asterisk
	 prompt on your terminal.

	 @MAKLIB
	 *

     2.  After the asterisk, type a command  comprised	of  an	output
	 file,	an  equals  sign,  a  master  and  file, any necessary
	 switch, a colon if the switch requires one, and any necessary
	 object  programs followed by a comma.	(If the switch you use
	 requires you to specify a transaction device,	see  the  next
	 paragraph.)  Then  press  the	RETURN key.  MAKLIB prints any
	 output your switch has requested:  in this case,  a  list  of
	 programs  and their segment breaks.  When MAKLIB is finished,
	 it prints a second asterisk.

	 *TTY:=TSTLB2/LIST
	 SORT	   401745  007136
	 MAIN	   000444  001400
	 TESTER    011473  001400
	 *

	 If you have used a switch that  requires  you	to  specify  a
	 transaction  device  and/or  file,  continue  your command by
	 typing this information  after  the  comma;   then  type  any
	 necessary switch, a colon if the switch requires one, and any
	 necessary object  programs.   Press  the  RETURN  key.   When
	 MAKLIB is finished, it prints a second asterisk.

	 *LIBRY=LIBRY/MAS:TESTER, TSTBL1/INSERT:DUMP
	 *


     3.  After MAKLIB prints the second asterisk, you can give another
	 command  to  MAKLIB.	If  you  want  to  stop MAKLIB, type a
	 CTRL/C.

	 *^C
	 @


				     NOTE

	     To end a command line,  press  the  RETURN  key.	To
	     continue  the command on the next line, type a hyphen
	     on your current line and then press the RETURN key.


	 You may include comments on  the  MAKLIB  command  string  by
	 preceding  each comment with a semicolon.  MAKLIB ignores all
	 characters after the semicolon--except for escape--until  the
	 next line feed, vertical tab, or form feed character.


Characteristics

     After you start the  MAKLIB  program,  any  previous  program  is
     cleared from memory and your terminal is at MAKLIB command level.


Restrictions

     The MAKLIB program does not allow you to use recognition input in
     typing  file specifications.  File specifications may not contain
     the characters -, $, or _ and the wildcard characters are	*  and
     ?.   The  comment character is ;  instead of !.  Refer to Chapter
     5.   To  access  a  file  in  another  user's  directory,	use  a
     project-programmer number.  Refer to Section 5.3.1.


Examples

     @MAKLIB
     *TTY:=TSTLB2/LIST			!List	 the	programs    in
					!TSTLB2.REL on the terminal.
     SORT    401745  007136
     OVRLAY  402736  000544
     MAIN    000444  001400
     TESTER  011473  001400
     *LIBRY=TSTLB2,POLSTR/APP:PS	!Create a  library  containing
					!TSTLB2.REL  and the program PS
					!from  the   file   POLSTR.REL.
					!List	the   contents	of  the
					!library.

     *TTY:=LIBRY/LIST
     SORT    401745  007136
     OVRLAY  402736  000544
     MAIN    000444  001400
     TESTER  011473  001400
     PS      000414
     *LIBRY=LIBRY/MAS:(SORT,MAIN),TSTBL1/REP:EDITOR,-
					!Replace SORT with the program
					!EDITOR and replace the program
					!MAIN with the	program  INPUT.
					!List  the  entry points in the
					!new library.
     POLSTR/REP:INPUT
     *TTY:=LIBRY/POINTS
     EDITOR
     OVRLAY  GETOV.  INIOV.  LOGOV.  REMOV.  RUNOV.  .OVRLA  .OVRLU
     INPUT   INPBYT  INPUT   STRING
     TESTER  TESTER
     PS
     *LIBRY=LIBRY/MAS:TESTER,TSTBL1/INSERT:DUMP
					!Insert the program DUMP  from
					!the  file TSTBL/-.REL into the
					!library before TESTER.
     *TTY:=LIBRY/LIST
     EDITOR  000130
     OVRLAY  402736  000544
     INPUT   000043
     DUMP    000206
     TESTER  011473  001400
     PS      000414
     *LIBRY=LIBRY/DELETE:(EDITOR,OVRLAY,PS)
					!Delete  EDITOR,  OVERLAY  and
					!PS.	Delete	local  symbols.
					!Index the library.
     *LIBRY=LIBRY/NOLOC
     *LIBRY=LIBRY/INDEX
     */EXIT
     @
PLEASE Program


Function

     The PLEASE program  helps	you  communicate  with	the  operator.
     After  starting  the PLEASE program, you may communicate with the
     operator in a two-way conversation.


Hints

     To send a one-way message to the operator, type your message on a
     line,  but press the ESC key before you press the RETURN key.  If
     you use this method, you do not have to wait for the operator  to
     respond.

     If you type CTRL/T while you are running the PLEASE program,  the
     system  prints a message telling you where you are in the waiting
     list.  If the operator can  service  your	request,  the  message
     contains the text:  You are the current user.


Operation

     1.  Start the program by typing PLEASE,  then  press  the	RETURN
	 key.  The system prints WHAT IS THE OPERATOR'S ID?.

	 @PLEASE

	 WHAT IS THE OPERATOR'S ID?

     2.  Type  the  operator's	identification.   In  many  cases  the
	 operator's  ID  is  not  required.  In this case, simply type
	 PLEASE and a space and enter the text of  your  message.   If
	 the operator's identification is required, it can be obtained
	 from the system manager or  by  contacting  the  operator  in
	 person.   Most of the time, just pressing the RETURN key will
	 link your terminal with the main  operator's  terminal.   The
	 system prints ENTER TEXT:.

	 WHAT IS THE OPERATOR'S ID?

	 ENTER TEXT:

     3.  Type the message you want to send to the operator, ending the
	 first	line  by  pressing the RETURN key.  If the operator is
	 not busy, the system prints  [OPERATOR  HAS  BEEN  NOTIFIED];
	 otherwise it prints [OPERATOR IS BUSY.  PLEASE WAIT.].

	 ENTER TEXT:  HOW CAN I GET SOME MORE PAPER FOR MY TERMINAL?
	 [OPERATOR HAS BEEN NOTIFIED.]

     4.  If  you  get  the  message  [OPERATOR	HAS  BEEN  NOTIFIED.],
	 continue  typing  your message to the operator.  Whatever you
	 type is printed on the operator's terminal, and whatever  the
	 operator types is printed on your terminal.

	 When you are finished typing, press the ESC key.  The	system
	 prints  [FINISHED AT hh:mm:ss], where hh:mm:ss is the current
	 time.

	 [OPERATOR HAS BEEN NOTIFIED.]

	 DID YOU LOOK IN THE STORAGE ROOM BEHIND YOU?

	 NO, WAIT A MINUTE I'LL SEE...	OK THERE IS SOME,
	 THANKS.
	 $

	 [FINISHED AT 23:54:15]
	 @

     5.  If you get the message [OPERATOR  IS  BUSY.   PLEASE  WAIT.],
	 continue  typing;   your  message is stored inside the system
	 until the  operator  is  available.   When  the  operator  is
	 available,   he   receives   your   message   and  a  two-way
	 communication, as described in step 4,  starts.   The	system
	 prints [OPERATOR HAS BEEN NOTIFIED.] to tell you that you are
	 in two-way communication.  When you are done, press  the  ESC
	 key.  The system prints the FINISHED message.

	 [OPERATOR IS BUSY.  PLEASE WAIT.]
	 [OPERATOR HAS BEEN NOTIFIED.]
	 I LOOKED IN THE SUPPLY ROOM NEAR THE WINDOW AND
	 THERE IS NO PAPER.
	 HI.  SORRY FOR THE WAIT.  DID YOU LOOK IN THE STORAGE ROOM
	 BEHIND YOU?
	 NO, WAIT A MINUTE AND I WILL.	THANKS, ITS THERE.  BYE.
	 $
	 [FINISHED AT 23:59:10]
	 @

     6.  If the program that the operator uses to service your request
	 is not running, you will get the message:

	 ?OPERATOR JOB TO SERVICE PLEASE
	   REQUESTS IS NOT RUNNING

	 Exit the program by typing a CTRL/C and try again later.


Characteristics

     After you start the  PLEASE  program,  any  previous  program  is
     cleared  from  memory and your terminal is left at PLEASE command
     level.  Type your message and press the ESC key  to  finish;   at
     that time you are returned to TOPS-20 command level.  If you must
     return to TOPS-20 command level immediately, type a CTRL/C.


Examples

     The user sends a message to the operator  telling	him  that  his
     terminal needs a new ribbon.

	@PLEASE

	WHAT IS THE OPERATOR'S ID?

	ENTER TEXT: COULD YOU INSTALL A NEW RIBBON IN TERMINAL S/N 64?

	[OPERATOR HAS BEEN NOTIFIED]
	OK, IN ABOUT AN HOUR.
	THANKS$
	[FINISHED AT 11:04:58]
	@
				REENTER Command


Function

     The REENTER command runs the program in memory,  starting	it  at
     the reenter address specified within the entry vector.


Hints

     The REENTER command provides an easy  way	for  you  to  start  a
     program at a place other than the beginning.


Format

     @REENTER (PROGRAM)

     There are no arguments to the REENTER command.


Operation

     1.  Type REEN and press the  ESC  key;   the  system  prints  TER
	 (PROGRAM).

	 @REENTER (PROGRAM)

     2.  Press the RETURN key, the  system  restarts  the  program  in
	 memory.

	 @REENTER (PROGRAM)

	 CLOSING ALL FILES.....
	 FINISHED.

	 @


Errors

     1.  If the program does not have a reenter  address,  the	system
	 ignores the command and prints the message:

	 ?NO REENTER ADDRESS

     2.  If you do not have a program in memory,  the  system  ignores
	 the command and prints the message:

	 ?NO PROGRAM


Characteristics

	The REENTER command starts your program at the address specified
	by the second word in the program's entry vector. For most programs
	this address is contained in location 124. usually the REENTER and
	START commands start the program at the same point, but another
	re-entry point can be provided to avoid initialization procedure,
	perform error recovery, or to use the program in a different way.



Effect on Memory and Terminal

     The REENTER command  continues  the  program  in  memory  at  the
     reentry  address specified in its entry vector.  Your terminal is
     left under control of the program.


Related Commands

	GET	for placing an executable program in memory
	LOAD	for loading a source or object program into memory
	START	for entering a program at its normal entry point

Examples

     The user starts BASIC, exits to command level, gives the  DAYTIME
     command, and REENTERs BASIC.
	@BASIC

	READY, FOR HELP TYPE HELP
	MONITOR
	@DAYTIME
	 Friday, JANUARY 16, 1976 11:10
	@REENTER

	READY

				PUSH Command


Function

     The PUSH command preserves the contents of memory at the  current
     command  level  and  creates a new command level.	After creating
     the new command level the	system	prints	a  message  and  takes
     commands  from  the  file	COMAND.CMD  (if  it exists).

Format

     @PUSH (COMMAND LEVEL)

     There are no arguments to the PUSH command.


Hints

     You can type two CTRL/Cs to stop your program, then give  a  PUSH
     command  to  create  a new command level.	Run programs to create
     new files or perform other functions, then give a POP command  to
     return  to  the  original	command  level.   Then,  if you give a
     CONTINUE command, you will  resume  execution  of	your  original
     program.

     The POP command performs the exact opposite function of the  PUSH
     command.  The POP command terminates the current command level.

     Using CONTINUE STAY With PUSH
	You can use the PUSH command to run two programs at once or to
	do other work that requires more than one copy of memory.
	Simply use the CONTINUE STAY command to continue execution of
	your current program before using PUSH.  After PUSH you can run
	another program or otherwise alter memory without affecting
	memory for the first program.  See Warning, below!


Restrictions

     Number of Successive PUSH Commands
	You can give as many pairs of PUSH & POP commands as necessary
	to complete your task.  Although there is a limit to the number
	of times you can give PUSH without giving intervening POP
	commands, this limit is large enough (c.24, although smaller for
	a heavily loaded system) not to interfere with most applications


     Witheld Log-out Capability
	You can usually log out from a lower level of TOPS-20 than the
	one to which you logged in.  By doing so, you simultaneously
	conclude all processes of your job.  However, if a program
	(e.g. PTYCON) has initialised a level of the TOPS-20 command
	processor but has witheld log-out capability from it, you must
	use the POP command, followed if necessary, by a program command
	to exit from the program and return to a higher level of TOPS-20
	before you can log out.


Warning

     Competition Between Processes
	If you have two programs running at once after using CONTINUE
	STAY & PUSH commands, they may try to access the same files at
	the same time.  Or, TOPS-20 commands given at the lower level
	may be intercepted by a program running at the higher level.
	For a discussion of those possibilities, see the Restrictions
	section of the CONTINUE command description.


Operation


     1.  Type PUSH and press the ESC key;  the system prints  (COMMAND
	 LEVEL).

	 @PUSH (COMMAND LEVEL)

     2.  Press the RETURN key;	the system prints a  message  followed
	 by an @ when it has created a new command level.

	 @PUSH (COMMAND LEVEL)

	  TOPS-20 Command processor 2(236)
	 @


Errors

     1.  If another command level is not  available  from  the	system
	 resources,  the  system  ignores  your command and prints the
	 message:

	 ?INSUFFICIENT RESOURCES AVAILABLE


Characteristics

     The PUSH command preserves the contents  of  memory,  and	leaves
     your terminal at a new TOPS-20 command level with a fresh copy of
     memory.  Give the POP command to terminate this new command level
     and  return  to  the old one, restoring the preserved contents of
     memory.  The POP command destroys	the  contents  of  the	memory
     associated with the TOPS-20 command level it terminates.  You can
     not retrieve its contents after giving a POP command.


Related Commands


	CONTINUE STAY	for beginning execution of a program before giving the
			PUSH command

	POP		for returning to a previous level of TOPS-20



Examples

     The user creates a new command level.

	@PUSH (COMMAND LEVEL)

	 TOPS-20 Command processor 2(236)
	@
RDMAIL Program


Function

     The RDMAIL (for ReaDing MAIL) program prints any  messages  which
     you have received.


Hints

     If you have been sent a message since the last  time  you	logged
     in, the line:

     YOU HAVE A MESSAGE

     is printed when you log in to the system.

     If someone sends you a message  while  you  are  logged  in,  the
     system rings the terminal bell and prints the line:

     [YOU HAVE A MESSAGE FROM sender]

     on your terminal.	If  you  are  refusing	links,	you  will  not
     receive this message.

     If an important new system message of the day has been sent since
     you logged in, you are notified with the message:

	  [NEW MESSAGE-OF-THE-DAY AVAILABLE]

     You can read the new SYSTEM message with the  RDMAIL  program  by
     typing /M to the DATE AND TIME prompt.

     To send a message, run the MAIL program.


Operation


     1.  Start the program by typing (or using recognition on)	RDMAIL
	 and  then  press  the RETURN key.  The system prints DATE AND
	 TIME  (/H FOR HELP).

	 @RDMAIL
	 DATE AND TIME	(/H FOR HELP)

     2.  To receive all messages which you have not seen before,  just
	 press	the  RETURN  key.  If you want to see all the messages
	 after a certain date and time, type the date and time in  the
	 standard  TOPS-20  format  of	month/day/yr hr:min (where the
	 time is in 24-hour format).  If you type just the  date,  the
	 system  uses  a  time	of 00:01 to avoid any confusion of the
	 meaning of 0:0:0.

	 There are switches to perform special operations,  which  you
	 may type following the date and time.	The switches and their
	 functions are outlined in Table II-19.  If you omit the  date
	 when  giving  a /M, /P, or /S switch the system uses only the
	 messages you have not read.



			     Table II-19
			   RDMAIL Switches


       /A	    Prints all the  messages,  regardless  of  their
		    date.

       /H	    Prints a message outlining the  format  for  the
		    date   and	 listing  the  explanations  of  the
		    switches.

       /L	    Prints the messages on the line printer  instead
		    of your terminal.

       /M	    Instructs  RDMAIL  to   look   at	the   system
		    Message-of-the-day	file  (normally  new entries
		    from it are printed on your  terminal  when  you
		    log in), rather than your own message file.

       /P	    Peruses your mail by inhibiting the printing  of
		    each  message;   RDMAIL  prints  only the DATE:,
		    FROM:, TO:, CC:, and SUBJECT:  lines.

       /S	    Stops printing  after  each  message.   To	make
		    RDMAIL continue, press the RETURN key.

     You may add any switches together that you want;	for  instance,
     /A/P lets you peruse all your messages.

     After you type the date and time and/or any  switches  you  want,
     RDMAIL prints out the messages you requested.


     DATE AND TIME  (/H FOR HELP)
	--------

     DATE:  25-AUG-75 13:11
     FROM:  OPERATOR
     TO:  BOSACK
	-----
     SUBJECT:  MAGNETIC TAPES

     PLEASE REMOVE YOUR EXTRA MAGNETIC TAPES FROM THE OPERATOR'S TABLE
     AS SOON AS YOU CAN.

	========
     @


Output

     Each message starts with eight hyphens, then five hyphens precede
     the subject line, and eight equals end the message.


Characteristics

     When you run the RDMAIL program, any previous program is  cleared
     from  memory  and	your terminal is left at RDMAIL command level.
     Type the necessary RDMAIL command and your terminal will be  left
     at  TOPS-20  command  level.   If	you  need to return to TOPS-20
     command level immediately, type two CTRL/C's.


Examples

     The user reads all his mail since 3PM today.

	@RDMAIL
	DATE AND TIME  (/H FOR HELP) 25-AUG-75 15:00

	   --------
	DATE:  25-AUG-75 15:32
	FROM: SYSTEM-MANAGER
	TO:  BOSACK
	CC:  OPERATOR
	   -----
	SUBJECT: YOUR MAGTAPES

	PLEASE REMOVE YOUR MAGNETIC TAPES FROM THE OPERATOR'S TABLE
	IMMEDIATELY.

	   ========
	@

     The user reads the system message-of-the-day file, but only
     those messages made on or after March 2, 1976.

	@RDMAIL
	DATE AND TIME  (/H FOR HELP) 2-MAR-76 /M

	   --------
	DATE:  2-MAR-76 13:11
	FROM: IVAS
	TO: SYSTEM
	   -----
	SUBJECT: MULTIPLE GENERATIONS

	PLEASE TRY TO KEEP ONLY ONE GENERATION
	OF A FILE.   THANKS.
	   ========
	@

				START Command


Function

     The START command starts the program currently in memory.


Format

     @START (PROGRAM) location

	where

	location	is the octal address where you want the program to
			start
				Default location - the normal starting address,
						   i.e. the first word in the
						   program's entry vector


Effect on Memory & Terminal

	The START command starts the program in memory at the specified address,
	and leaves your terminal at whatever mode the program puts it in.


Related Commands

	CONTINUE	for resuming execution of a halted program in memory

	GET		for placing executable programs in memory

	LOAD		for loading source or object programs into memory

	REENTER		for starting the program in memory at its alternative
			entry point (if any)

	SAVE		for saving a loaded program in an .EXE file




Restrictions

     You may not give a START command to restart a COBOL program after
     it has already executed.  To run it again, you must reload it.


Example

     The  user	loads  and  starts  his  program.   This  example   is
     equivalent to the command EXECUTE (FROM) DUMPER.REL.

	@LOAD (FROM) DUMPER.REL
	LINK:	Loading

	EXIT
	@START (PROGRAM)
	DUMPER>
	@



				UNATTACH command


Function

	The UNATTACH command, given at one terminal, disengages another job from
	its terminal.


Format


	@UNATTACH (USER) name (JOB #) number
	Password:  password

	where

	name		is the user name of the job's number

	number		is the job number
				Default number - the only job, or only job
						 besides your current (attached)
						 job, logged in under the user
						 name you give

	password	is the associated password (not requested if you are
			currently logged in under the same user name as the job
			that you are disengaging)



Characteristics


	Log-in Not Necessary

		You do not have to be logged in to give the UNATTACH command.



Hints


	Freeing Hung Terminals

		The UNATTACH command is useful for freeing a terminal that,
		because of program of hardware errors, is no longer under
		control of the user.  The command UNATTACH n can be more
		effectivwe than LOGOUT n for this purpose.



Effect on Memory and Terminal


	The UNATTACH command does not affect memory and leaves your own terminal
	at TOPS-20 command level.  The other job is left in its current state
	(usually suspended) and the disengaged terminal is left in the state
	before log-in.


Related Commands


	ADVISE		for sending commands to another job

	ATTACH		for joining another job to you terminal

	DETACH		for disengaging your own job from its terminal



Examples


	1.	Disengage another user's job from its terminal.

		@UNATTACH A-MOLE
		Password:
		@


	2.	From a terminal on which you have not yet logged in, give the
		UNATTACH command for two of them (you must specify a job number
		for the first one so the system will know which one you mean),
		and check them with another SYSTAT command.

		@SYSTAT A-MOLE
		  28	26	EXEC	A-MOLE
		  36*	230	EXEC	A-MOLE
		  40	27	EXEC	A-MOLE
		@UNATTACH A-MOLE
		 [Attached to TTY26, confirm]
		@UNATTACH A-MOLE
		@SYSTAT A-MOLE
		  28	DET	EXEC	A-MOLE
		  36*	230	EXEC	A-MOLE
		  40	DET	EXEC	A-MOLE
		@





				SET Command


Function

     The SET command sets the value of various job parameters.


Hints

     The  INFORMATION  command  prints  the  values  of  many  of  the
     parameters you can set with the SET command.

     The TERMINAL command sets various terminal parameters  which  you
     can examine with the INFORMATION (ABOUT) TERMINAL-MODE command.


Format

     @SET argument(s) setting(s)

	where

	argument	is a keyword from the list below.

	setting		is a word or number, required to complete the meaning
			of most SET commands


		Summary of SET Command Arguments


 ACCOUNT		 ADDRESS-BREAK		  ALERT
 AUTOMATIC		 CARD-READER-INPUT-SET	  COMMAND-TRACE
 CONTROL-C-CAPABILITY	 DEFAULT		  DIRECTORY
 ENTRY-VECTOR		 FILE			  INTEGER-VARIABLE
 LATE-CLEAR-TYPEAHEAD	 LOCATION		  MAIL-WATCH
 NO			 PAGE-ACCESS		  PROGRAM
 RETRIEVAL-WAIT		 SESSION-REMARK		  SPOOLED-OUTPUT
 STRING-VARIABLE	 TAPE			  TIME-LIMIT
 TRAP			 TYPEOUT		  UUO-SIMULATION



Operation


     1.  Type SET and leave a space.

         @SET


     2.  Type (or use recognition on) the rest of the arguments to the
	 SET command, then press the RETURN key.

         @SET ACCOUNT (TO) 10400
	  Time used on previous account:  10300
	  0:00:57 in 4:31:08
	 @



Characteristics

     The SET command does not change a program in  memory  and  leaves
     your terminal at TOPS-20 command level.


Examples

     The user changes the protection of his files named TEST.

        @SET FILE PROTECTION (OF FILES) TEST.* (TO) 775500
	 TEST.EXE.1 [OK]
	 TEST.MAC.1 [OK]
	 TEST.REL.1 [OK]
	@

     The user changes the default magnetic tape density to 1600 bpi.

        @SET TAPE DENSITY (TO) 1600
	@

     The user changes his account number to 10500.

        @SET ACCOUNT (TO) 10500
	 Time used on previous account:  10300
	 0:0:22 in 1:05:02
	@
			TRANSLATE Command


The command TRANSLATE has currently been removed from use as it has
became redundent. it will be incorporated again if the need arises.
However, the function and discription of the command is as below.


Function

     The TRANSLATE command  translates  between  directory  names  and
     project-programmer numbers.


Format

     @TRANSLATE (DIRECTORY) dev:<directory> or project-programmer-number

     dev:         is the file structure that contains  the  directory.
		  You  do  not	need  to  specify the structure if the
		  currently connected structuure is used.

     <directory>  is the  directory  name  or  the  project-programmer
		  number.   If	you  type a directory name, the system
		  prints the corresponding project-programmer  number.
		  If  you type a project-programmer number, the system
		  prints the corresponding directory name.

                  You must include angle brackets around the directory
		  name.  You can use recognition on directory names.


Effect on Memory and Terminal
	The TRANSLATE command does not effect memory and leaves your
	terminal at TOPS-20 command level.


Hints

     Avoiding Project-programmer Numbers
	To avoid project-programmer numbers, define a logical name
	(of 6 or fewer characters) as the directory in question.
	Then use this logical name in place of the directory
	when giving file specifications. The system program will
	accept the logical name as a device name, and will then
	be using the correct directory.

Related Commands

	DEFINE		for defining a logical name as a directory, to
			avoid using a project-programmer number.

Operation

     1.  Type TRANSLATE and press the  ESC  key;   the  system  prints
	 (DIRECTORY).

              @TRANSLATE (DIRECTORY)


     2.  Type (or use recognition) on the directory name or  type  the
	 project-programmer  number  and press the RETURN key.	On the
	 following  line,  the	 system   prints   the	 corresponding
	 project-programmer number or directory name.

              @TRANSLATE (DIRECTORY) PS:<FORTRAN>
	      PS:<FORTRAN> (IS) PS:[4,772]


     3.  You can  translate  directory  names  and  project-programmer
	 numbers  on  different  structures by including the structure
	 name with the directory name or project-programmer number.

              @TRANSLATE (DIRECTORY) SNARK:<SARTINI>
	      SNARK:<SARTINI> (IS) SNARK:[4,23]

                                   or

              @TRANSLATE (DIRECTORY) SNARK:[4,23]
	      SNARK:[4,23] (IS) SNARK:<SARTINI>



Examples

     The user translates the project-programmer number [4,226] to  its
     corresponding directory name.
	  @TRANSLATE (DIRECTORY) [4,226]
	  PS:[4,226] (IS) PS:<BROWN>

				SET ACCOUNT Command


Function

	  Sets the account to charge for your use  of  the  computer
	  and  file  storage.


Format

     @SET ACCOUNT (TO) account (SESSION REMARK) remark


	where


	account		may consist of up to 39 alphanumeric characters.


	remark		up to 1 line of text.

FREEZE command

Function

	The FREEZE command stops a process (fork) which is running in the
	background. It has the same effect as control-C does on your current
	process. It may be continued with the CONTINUE command.
	The FREEZE command does not reset a process.

Format

	@FREEZE (FORK) identifier

	where

	identifier	is the name of a fork
			or
			the number of the fork to be "frozen"


Effect on Memory and Terminal

	The FREEZE command does not affect memory and leaves your terminal at
	TOPS-20 command level.



Related Commands


	INFORMATION MEMORY-USAGE		for examining memory of the
						current process

	INFORMATION PROGRAM-STATUS		for finding out the number and
						status of each process in your
						job
	INFORMATION FORK-STATUS			for finding out the name, number
						and status of each process in
						your job
	FORK					Set the process which is to be
						referenced by TOPS-20 commands

	KEEP					for preserving a process while
						other programs are run, and
						resisting being RESET
	UNKEEP					allow a process to be removed
						when another program is run

	CONTINUE 				continue executing a process
						optionally in the background

	RESET					clears a process from memory
						and closes its files, if any

	NAME					give a process a name


Example

        @comPILE (FROM) john.mAC /stay
        @MACRO:	John
        @iNFORMATION (ABOUT) foRK-STATUS
         => MACRO (1): Background, Running at SRCH3, 0:00:08.0
        @freEZE (FORK) mACRO
        @i fo
         => MACRO (1): Background, ^C from Running at MREADC, 0:00:08.1
        @cONTINUE (FORK) mACRO
         14:16:32  Running at GETCS3+2  Used 0:01:06.0 in 0:57:14, Load   4.46
	 :
	 :

				SYSTAT Command


Function

     The SYSTAT command prints information about the current state  of
     the system.


Format

	@SYSTAT in-line subcommands (Refer to "Hints" section below)

	  OR

	@SYSTAT,
	@@subcommand
	@@  .
	    .
	    .


	where


	@@		means that, after a comma, you can give one or more
	@@  .		subcommands on successive lines
	    .
	    .


	subcommand	is a keyword, chosen from the list below, indicating
			your choice of SYSTAT command options
				Defaults - as indicated



			SYSTAT Command Subcommands


	ALL		gives all available SYSTAT information


	CLASS		prints the scheduler class in which each job is
			running; the share of total CPU time allotted to the
			job, expressed as a decimal fraction; & the fraction of
			total CPU time actually used by the job.  A job's actual
			use may be larger than its allotted share if some jobs
			in its class are inactive; it can be larger still if
			other classes are inactive and this unused fraction of
			CPU time is being allocated among active jobs.


	CONTROLLING	prints, in the column headed CJB, the number of the
			controlling job (if any), i.e. a job owning a pseudo-
			terminal that controls the job being described; when
			used in a SYSTAT command requesting descriptions of
			particular jobs, this subcommand causes jobs controlled
			by these jobs to be described also.


	DIRECTORY	requests the name of the directory to which each job is
			connected, if not the job's log-in directory.


	HEADER		calls for a headline identifying the columns of info
			Default (unless you are requesting information
				about specific users, jobs or lines
				only; in such cases the default is NO
				HEADER)


	JOB n	        restricts output to description of job number n;  can
			be used more than once.


	LIMIT		prints any time limit set for each job


	LINE octal line number or DETACHED
			restricts output to description of the job attached to
			the given line number, or to descriptions of all
			detached jobs; cna be used more than once.


	LPT		send output to the line printer instead of to your
			terminal


	NO . (period)	eliminates the indicated category of info, when used
	   CLASS	with one of the kewords shown (. refers to your own
	   CONTROLLING	job)
	   DIRECTORY
	   HEADER
	   LIMIT
	   OPERATOR
	   STATE
	   SYSTEM
	   TIME
	   WHAT
	   WHERE
	   WHO



	OUTPUT filespec	sends the output info to the file you specify, instead
			of to your terminal
			Default filespec - SYSTAT.LST


	PROGRAM program name
			Restricts SYSTAT output to descriptions of jobs 
			using the program (or TOPS-20 command)
			specified.  The argument you supply must be 6
			or fewer characters.


	STATE	         is the state of the user's job.  It is either
			 running (RUN) or waiting for the user to type
			 some input on his terminal (TI).


	SYSTEM		begins output with system-wide info, i.e. the first 2
			lines of regular output.  If SYSTEM is the only sub-
			command given SYSTAT output is restricted to this.
			Default (unless you give subcommands requesting
				information about specific users, jobs,
				or lines only; in such cases the default
				is NO SYSTEM.)


	TIME	         is the total central processor time  the  job
			 has used.


	USER user name	is the name of the user under which  the  job
		 	is  logged  in.


	WHAT		prints the name of the program that each job is 
			running; given explicitly only with subcommand NO, to
			restrict SYSTAT output
			Default


	WHERE		prints the line number associated with each job; given
			explicitly only with the subcommand NO, to restrict
			SYSTAT output
			Default


	WHO		prints the user name under which each job is logged in;
			given explicitly only with subcommand NO, to restrict
			SYSTAT output
			Default



Characteristics

     The SYSTAT command does not change  any  program  in  memory  and
     leaves your terminal at TOPS-20 command level.

	Log-in is not necessary to give the SYSTAT command.


Hints

	Giving Subcommands as Arguments on tne Command line

	     To simplify typing, SYSTAT accepts subcommands as arguments
	     given on the same line as the command, subject to these rules:

		There will be no @@ prompt: simply type a space between
		successive subcommands & between subcommand names &
		arguments.


		To get info about 1 or more specific job numbers, give
		the numbers only; do not type JOB.


		To get info about 1 or more specific user names, give
		the names only; do not type USER.  If the user name
		coincides with a SYSTAT argument, you must use the
		subcommand mode to request info about his job.


		To get info about 1 or more specific log-in directories
		give the directory name


		To get info about your own (attached) job only, give
		a period (.) as argument.


		To get info about all other jobs logged in under your
		user name, give your user name and NO . as arguments.


		The system will not accept the OUTPUT subcommand in this
		format; use the subcommand mode instead.



Examples

     The user prints all the information about the user EIBEN.

     @SYSTAT EIBEN ALL
	2	  3  TV      TI    0:05:51	     EIBEN, <1EIBEN>
       24    7	107  STATUS  RUN   0:00:03  0:20:01  EIBEN
     @

     The user gives the SYSTAT command without any arguments.
     @SYSTAT
      WED 4-FEB-76 10:56:10  UP 1:34:36
      16+5 JOBS   LOAD AV   2.57   1.69   1.29

     JOB  LINE PROGRAM	USER
       2     3	EXEC	EIBEN
       4    14	EXEC	MILLER
       9    41	FORTRA	EKLUND
      10    43	EXEC	POTTINGER
      11    32	EXEC	CLARK
      12    73	EXEC	BROWNE
      13    50	EXEC	CONNOR
      14     4	EXEC	NOT LOGGED IN
      15    15	EXEC	KIRSCHEN
      16    61	EXEC	EDU-SERV
      19*  110	EXEC	MCKIE
      20    74	PTYCON	LIEMAN
      21    23	PTYCON	MCKIE
      22   115	EXEC	LIEMAN
      23   114	EXEC	LIEMAN
      24   107	STATUS	EIBEN
      25    10	EXEC	LEWINE

       1   101	EXEC	OPERATOR
       3   106	EXEC	OPERATOR
       5   105	OPLEAS	OPERATOR
       6   103	LPTSPL	OPERATOR
       7   104	BATCON	OPERATOR
     @
				TYPE Command


Function

     The TYPE command  prints  the  contents  of  a  file(s)  on  your
     terminal.


Format

     @TYPE (FILE) filespecs

     filespecs	    is a single file specification or a string of file
		    specifications (separated by commas) that indicate
		    the files you want printed on your terminal.


Output

     Entire Contents of Files
	In responce to the TYPE command the system prints entire contents
	of a file (up to the EOF (end-of-file) pointer), including blank
	lines and line numbers if there are any. If you specify more than
	one file, the filespec precedes the contents of each file.

Hints

     The TYPE command is useful for quickly examining the contents  of
     a file, although printing an entire file may become tiresome.  In
     the latter case, use the PRINT command to send the output to  the
     line printer which operates at a much higher speed.

     Stopping TYPE output
	If you want to stop the printing of a file, type two CTRL/Cs.
	A CTRL/O will also stop the output, but will not stop the
	processing of the command or the output, but will not stop
	the processing of the command or the acumulation of CPU
	charges. Note that a pair of CTRL/Os causes the system to 
	skip over part of the output and continue printing.




Operation

     1.  Type TYPE and press the ESC key;  the system prints (FILE).

	 @TYPE (FILE)

     2.  Type (or use recognition on) the  file  specifications,  then
	 press	the RETURN key.  The system prints the file(s) on your
	 terminal.

	 @TYPE (FILE) TRANSL.MAC.5
	 ;<MCKIE>TRANSL.MAC.5,	2-OCT-75 09:46:48, Edit by MCKIE

		 TITLE TRANSLATE

	 COMMENT \
	 1.  Translates a <directory> into a [ppn] and indicates if it
	     is files only, or

	 2.  Tr ^O...
	 @


Output

     If you type more than one file with a single  TYPE  command,  the
     system  prints  the proper file specification followed by a blank
     line, before it prints the file.


Characteristics

     The TYPE command does not change any program in memory and leaves
     your terminal at TOPS-20 command level.


Examples

     The user prints the files ONE.FIL and TWO.FIL.

	@TYPE (FILE) ONE.FIL,TWO.FIL.1
	 ONE.FIL.1

	THIS FILE HAS JUST ONE LINE!

	 TWO.FIL.1

	THIS FILE IS A LITTLE BIT BIGGER;
	IT HAS TWO LINES
	@

		SET TRAP FILE-OPENINGS Command


Function


	@SET TRAP FILE-OPENINGS

		Sends a message to your terminal when any
		program attempts to open a file.  Check with
		INFO PROGRAM-STATUS.



	@SET NO TRAP FILE-OPENINGS

		Nullifies the effects of the SET TRAP FILE-
		OPENINGS command, disabling the TOPS-20 feature
		that causes you to be notified when a program
		tries to open a file.
			Default


				UNLOAD Command

Function

     The UNLOAD command rewinds a magnetic tape until it is completely
     on the source reel, and puts the associated tape drive off line
     Use UNLOAD only for tapes mounted on drives having device names
     of the foem MTAn:.


Format

     @UNLOAD (DEVICE) dev:

     dev:	    is the magnetic tape device name in the form MTAn:
		    where n is the drive number.


Restrictions

     Unload With Open Files
	If you have given a CTRL/C to exit from a program that has opened
	a magnetic tape drive and you then gave the UNLOAD command for
	that tape drive, the system will first ask if you want to close
	the associated file. You must do so for UNLOAD to succeed, but
	you will probably be unable to continue the program from that
	point because the file will now be closed.

     Tape Drive Only
	The UNLOAD command works only for magnetic tapes.


Warning

     Cannot Access Tape again
	The UNLOAD command makes it impossible to access the tape unless
	it is reloaded by the operator.


Operation

     1.  Type UNLO and press  the  ESC	key;   the  system  prints  AD
	 (DEVICE).

	 @UNLOAD (DEVICE)

     2.  Type the magnetic tape device name followed by  a  colon  and
	 press	the  RETURN key.  The system prints an @ when the tape
	 is unloaded.

	 @UNLOAD (DEVICE) MTA0:
	 @


Errors

     1.  If the device is not on line, the system ignores the  command
	 and prints the message:

	 ?Device is not on-line

	 Use the PLEASE program to contact the operator, then  reissue
	 the command.

     2.  If you type a CTRL/C to exit from a program that  has	opened
	 the  magnetic	tape  drive,  and  then  you  give  the UNLOAD
	 command, the system prints the following message:

	      ?Device MTAn:  open on JFN m
	      %Close JFN?  YES

	 If you answer YES (or just press the RETURN key), the	system
	 closes  the  file,  prints  a confirming message, unloads the
	 tape, and leaves you at TOPS-20  command  level.   Continuing
	 the  program  that  previously  opened  the magnetic tape may
	 produce an error because the file has been closed.

	      @UNLOAD (DEVICE) MTA1:
	      ?Device MTA1:  open on JFN 3
	      %Close JFN?  YES
	       3   MTA1:   [OK]
	      @

	 If you answer NO, the	system	prints	the  message  ?Command
	 aborted...  and does not close the file or unload the tape.


Effect on Memory and Terminal

     The UNLOAD command does not change  any  program  in  memory  and
     leaves your terminal at TOPS-20 command level.


Related Commands

	DISMOUNT	for unloading tapes mounted on devices of the form MTn:
	REWIND		for rewinding a mag tape volume or tape set to its load
			point (logical beginning)


Examples

     The user unloads his tape on drive 3.

	@UNLOAD (DEVICE) MTA3:
	@
				VDIRECTORY Command


Function

     The VDIRECTORY (for verbose directory) command  prints  the  file
     specification,  protection  number,  number  of  pages, number of
     bytes (including byte size), and date and time the file was  most
     recently written.



Format

     @VDIRECTORY (OF FILES) filespecs

     filespecs	    is a list of the file specifications  about  which
		    you  want  the  information.  If you omit the file
		    specifications,  the  system  prints   information
		    about all the files in your connected directory.

Hints

     Giving  the  VDIRECTORY  command  is  exactly  like  giving   the
     DIRECTORY	command  with  the  subcommands  LENGTH,  NO  HEADING,
     PROTECTION, SIZE, and TIMES (AND DATES OF) WRITE.

     Refer to the DIRECTORY command for  more  information;   you  can
     give any of the DIRECTORY subcommands with VDIRECTORY.


Operation

     1.  Type VDIR and press the ESC key;  the	system	prints	ECTORY
	 (OF FILES).

	 @VDIRECTORY (OF FILES)

     2.  Type (or use recognition on) the file	specifications;   then
	 press	the  RETURN  key.   The  system  prints  the directory
	 information.

	 @VDIRECTORY (OF FILES) EDIT

	    <MCKIE>
	  EDIT.EXE.1;P777752	  61 31232(36)	17-NOV-75 16:32:48
	 @


Output

     The system lists the files in alphabetical order.	The  following
     information is listed for each file:

     1.  Name, type, generation number,
     2.  Protection code,
     3.  Size (in pages),
     4.  Length (in bytes) and byte size (in parentheses), and
     5.  The date and time the file was last written,
     6.  A line summarizing the total size (in pages)  and  number  of
	 the listed files.


Effect on Memory and Terminal

     The VDIRECTORY command does not change a program  in  memory  and
     leaves your terminal at TOPS-20 command level.


Examples

     The user obtains the information about all  his  files  with  the
     name DUMPER.

	@VDIRECTORY (OF FILES) DUMPER

	   <MCKIE>
	 DUMPER.MEM.2;P777752 5 12658(7)    6-NOV-75 20:28:49
	   .RNO.2;P777752     5 2389(36)   27-JUL-66 05:00:00
	   .TXT.4;P777752     4 9672(7)     6-NOV-75 19:18:30

	 TOTAL OF 14 PAGES IN 3 FILES
	@

			SET ADDRESS-BREAK Command


Function


	@SET ADDRESS-BREAK octal or symbolic memory location,
				causes the program in memory to be suspended and
	@@AFTER n		a message to be printed on your terminal when
	@@ALL			the memory location you specify is referenced
	@@EXECUTE		for the indicated operation - execute, read,
	@@NONE			write, or any of these (ALL).  With the AFTER
	@@READ			subcommand you determine how many times it must
	@@WRITE			be referenced before the address break occurs;
				with NONE you cancel address breaks for the
				specified location, just as with the SET NO
				ADDRESS-BREAK command.  Each SET ADDRESS-BREAK
				command cancels any previous address break.
				Check your current address break with
				INFORMATION ADDRESS-BREAK.
					Default subcommands - ALL, and AFTER 1


Operation

@SET ADDRESS-BREAK (AT) ? Location on which to break
@SET ADDRESS-BREAK (AT) 1627 ? Confirm with carriage return or comma to enter su
bcommands
@SET ADDRESS-BREAK (AT) 1627 ,
@@? confirm with carriage return
  or one of the following:
 AFTER	   ALL	      EXECUTE	 NONE	    READ       WRITE

DDT Program


Function

     The DDT  program  helps  you  debug  your  program  by  providing
     commands  which  control  the  execution  of  a  program, without
     reassembling or recompiling the source program.


Hints

     To use DDT, you must first load your object program into  memory,
     then  transfer  control  to  DDT.	 There are three ways of doing
     this.  The first method entails giving the  DEBUG	command  which
     produces an up-to-date object program, loads it into memory, then
     starts DDT.  (Remember to give the /DDT switch if your file  type
     is other than .ALG, .FAI, .MAC, or .SAI.).

        @DEBUG (FROM) TEST.MAC
	MACRO:	TEST
	LINK:	Loading
	[LNKDEB DDT EXECUTION]
	DDT

     The second method entails loading an object program into  memory,
     then giving the DDT command.

        @LOAD (FROM) TEST.MAC
	LINK:	Loading
	EXIT
	@DDT
	DDT

     The third method entails placing an .EXE  file  in  memory,  then
     giving the DDT command.

        @GET (PROGRAM) TEST.EXE
	@DDT
	DDT

     In all cases, once the system prints DDT, you may  give  any  DDT
     command.

     You may use DDT to change the contents of an executable  program.
     To  do  this, place the program in memory, make the changes using
     DDt, then save the altered program in a file.  You may also  save
     a program with breakpoints.  Refer to the examples.


Operation

     The following pages contain a brief description  of  how  to  use
     DDT.   You  may  give any of these commands after you have loaded
     your program with DDT using one of the methods described  in  the
     previous paragraph.


                  Opening The Symbol Table - name$:

     To open the symbol  table  of  the  program  or  module  you  are
     debugging, type the name, press the ESC key and type a colon.  If
     DDT can find the symbol table, the system prints a  tab;	if  it
     cannot  find the symbol table, it prints a U.  This should be the
     first DDT command you give.

        TRANSL$:

     The name is the name following the TITLE  statement  in  a  MACRO
     program or a FORTRAN SUBROUTINE or FUNCTION statement.


       Examining Storage Words - location/ , <TAB>, <LF>, ^, =

     To print the contents of a location in memory, type the  location
     and  a  slash.   The  system  prints  the	contents  preceded and
     followed by tabs.	A variable "location"  can  be	a  variety  of
     things   including   a   symbol  name  such  as  PNTUSR,  .   (an
     abbreviation for the current position),  a  symbol  name  and  an
     offset  such  as  PNTUSR 5 (the offset is an octal number), or an
     octal value such as 453.

        PNTUSR/  MOVE 1,6

                                  U

               If the system prints a U, it cannot find
	       the symbol name.  Check your spelling of
	       the  symbol.   You   must   retype   the
	       instruction and the symbol.  After the U
	       is printed, DDT has forgotten everything
	       you   typed   to   DDT  since  the  last
	       characters DDT typed out.  For  example,
	       if  you type MOVE A, and A is undefined,
	       which causes DDT  to  type  U,  and  you
	       meant  to  type MOVE B, you will have to
	       retype MOVE.

     If you want to examine the contents of the  address  part  (right
     half)  of	an  instruction, press the TAB key.  The system prints
     the contents  of  that  location  and  it	becomes  your  current
     location.

        INFIL/   HRROI T1,MESAGE   <TAB>
	MESAGE/   64252,,252634

     To examine the next location, press the LINEFEED key:

        MESAGE/   64252,,252634   <LF>
	MESAGE+1/   65242,,115622

     To examine the previous location, type an up-arrow:

        MESAGE+1/65242,,115622   ^
	MESAGE/   64252,,252634

     To print  the  octal  half-words  corresponding  to  the  current
     symbolic instruction, type an equals sign:

        INFIL/   HRROI T1,MESAGE  =561040,,640


          Changing Typeout Modes - $$C, $$F, $$T, $$nO, $$S

     You may change the typeout mode to print numeric constants ($$C),
     floating-point  numbers  ($$F),  ASCII  text  ($$T),  SIXBIT text
     ($$6T),  and  n-bit  bytes  ($$nO).   DDT	initially  prints  the
     symbolic  instruction  associated	with  each memory location you
     examine.  If you change the typeout mode, you can return to  this
     initial  state by typing $$S ($ means press the ESC key, not type
     a dollar-sign).  The $$C command prints numbers  in  the  current
     radix;   if you want to change the current radix, type $$nR where
     n is a decimal number specifying the radix you want.

        $$C USRFLG/   600000

        $$10R   USRFLG/   196608.

        $$F  STRSWT/   45.599999

        $$T  PRMPT/    .SPAC

        $$6T  P6BIT/   .HL 4

        $$7O  PRMPT/   56,123,120,101,103,0

        $$S  RTRANS+23/   PUSHJ P,MESOUT

     To reprint the current line in the new mode, type a semicolon.

          $$C USRFLG/ 600000 $$10R;196608.

                       Modifying Storage Words

     Once you have  examined  a  storage  word,  you  can  change  its
     contents by typing its new contents, and pressing the RETURN key.

           To enter                       Type

        An octal number - 23       The octal number -23

        A decimal number - 109     The decimal number, followed
				   by a decimal point - 109.

        Floating point number -    The floating point number,
	.0078			   optionally in E-notation:
				   7.8E-3, or .0078.

        ASCII text - HELLO         a double quote, a delimiter,
				   the text, the same delimiter -
				   "/HELLO/. The delimiter
				   may be any character not in
				   the text.

        An instruction -           The instruction - MOVEI T2,4
	MOVEI T2,4


      Setting And Removing Breakpoints - location$B, $nB/ , 0$nB

     Once you have started your program, you may want  to  stop  at  a
     particular  location.  Type two CTRL/Cs and give the DDT command.
     If you have not already opened the symbol table, open  it,  Next,
     set  a  breakpoint  at  that  location  by  typing  the location,
     pressing the ESC key and typing a B.  The	system	prints	a  tab
     when the breakpoint is set.

        TRANSL+34$B

     Whenever,  during   execution,   your   program   encounters   an
     instruction  where  you  have set a breakpoint, the system prints
     the number of the breakpoint,  two  greater-than  signs  and  the
     location.	The system has not executed the instruction containing
     the breakpoint.  To proceed from the breakpoint, type $P.

        $1B>>TRANSL+34 $P

     While at a breakpoint, you may examine  storage  words,  set  and
     remove breakpoints, and change the contents of memory.

     Each time you assign  a  breakpoint,  the  system  assigns  it  a
     number.  You can find out what location each breakpoint is set at
     by pressing the ESC key, typing the  number  of  the  breakpoint,
     typing a B and pressing the slash key.

        $1B/ TRANSL+34

     To remove a breakpoint, type a 0, press the  ESC  key,  type  the
     number  of the breakpoint and type a B.  The system prints a tab.
     The next example shows how to remove breakpoint 1.

        0$1B


            Controlling Execution - $$G, $X, $$X, $P, n$P

     To start your program, press the ESC key twice and type a G.  DDT
     starts  your  program  and its execution continues until it has a
     fatal error, the  program	terminates,  or  until	it  reaches  a
     breakpoint instruction.

        $$G

        INPUT FILE:  TEST1.FIL

        $1B>>TRANSL+34

     To continue from a breakpoint, press the ESC key and  type  a  P.
     Execution	resumes  until	the  program  finishes,  encounters an
     irrecoverable error, or reaches a breakpoint.   If  you  want  to
     procede through the breakpoint a number of times and stop the nth
     time the breakpoint is encountered, type n$P instead of just $P.

        $1B>>TRANSL+34   5$P

        OUTPUT FILE:  TEST2.DAT

        $3B>>DATA5

     To proceed through your program statement-by statement, press the
     ESC  key  and  type  an  X.  The system executes the instruction,
     prints the results of the instruction and prints the contents  of
     the next instruction to be executed and stops.

     $3B>>DATA5   ./   PUSHJ P,PUTCHR  $X

     <JMP>

     GETCHR/    MOVE GETPNT

     To proceed through an entire subroutine, press the ESC key  twice
     and type an X.

        $3B>>DATA5    $$X

        DATA5+1/   CAIN C,N


                         Leaving DDT - CTRL/Z

     To halt the debugging session, type a CTRL/Z to return to command
     level.   You may continue DDT by giving the CONTINUE command.  If
     you want to save your program with  the  modifications  you  have
     made, give the system command SAVE.


Characteristics

     After you start DDT, your terminal is at DDT command level.  Type
     a CTRL/Z to return to TOPS-20 command level.


Examples

     The user debugs a MACRO program.  Refer to Section 2.2.5  of  the
     Monitor Calls Reference Manual.

        @LOAD (FROM) FILEIO.MAC       !Load the program into memory
	MACRO:	FILEIO
	LINK:	Loading

        EXIT
	@SAVE			     !Save it for reference
	 FILEIO.EXE.1 SAVED
	@DDT			     !Start DDT
	DDT
	FILEIO$:		     !Open the symbol table
	OUTFIL$B   LOOP$B   DONE$B   !Set breakpoints at the
				     !labels OUTFIL, LOOP, and DONE
	$$G			     !Start the program
	INPUT FILE: T.FIL	     !Type the input file name
	$1B>>OUTFIL		     !Execution stops at the first
				     !breakpoint you hit
	./   HRROI 1,ZAP+12	     !Examine this location, it
				     !contains an instruction
	<TAB>			     !Press the TAB key to look at
				     !the location ZAP+12
	ZAP+12/   64251,,752650      !It must contain text
	$$T			     !Tell DDT to print ASCII
				     !characters
	./			     !Check this location again
	OUT    <LF>		     !It contains a new line and OUT
				     !Examine the next location by
				     !pressing the LF key
	ZAP+13/   PUT F    <LF>      !And the following location
	ZAP+14/   ILE:
	OUTFIL/   "R@		     !Look at the contents of OUTFIL
	$$S			     !But change to symbolic
				     !instruction printout
	./   HRROI 1,ZAP+12	     !And look again
	$P			     !Let the program continue
				     !execution
	OUTPUT FILE: O.FIL	     !Type the output file
	$2B>>LOOP		     !Execution stops at the next
				     !breakpoint
	$X			     !Execute the instruction at the
				     !current location - the system
	   1/	5   INJFN/   5	     !prints the results
	LOOP+1/   BIN	$X	     !Execute this instruction
	LOOP+2/   JUMPE 2,DONE	 =322100,,203
				     !Print the contents
				     !of this location in octal
				     !numbers
	$X			     !Then execute the instruction
	   2/	15   DONE
	LOOP+3/   MOVE 1,OUTJFN   $X
	   1/	6   OUTJFN/   6
	LOOP+4/   BOUT
	$1B/   OUTFIL		     !Find the location of the first
				     !breakpoint
	$2B/   LOOP		     !And the location of the second
	0$2B			     !Remove the breakpoint at LOOP
	$P			     !And continue execution
	$3B>>DONE		     !Execution stops at the last
				     !breakpoint
	JRST CLOSIF$X		     !Execute this instruction and
				     !continue

        [DONE]
	@


     The user places an  executable  program  in  memory,  changes  an
     instruction, then saves the altered program.

        @GET (PROGRAM) RTRANS
	@DDT
	DDT
	RTRANS$:   PUTTAB/   MOVE PT,PDLEN   MOVEM PT,PDLEN
	^Z
	@SAVE
	 RTRANS.EXE.2 SAVED
	@


     The  user  places  an  executable  program  in  memory,  sets   a
     breakpoint,   then  saves	the  program.	Whenever  the  program
     encounters the breakpoint, it will stop and wait for a $P.

        @GET (PROGRAM) RTRANS
	@DDT
	DDT
	RTRANS$:   COMDSP$B   ^Z
	@SAVE
	 RTRANS.EXE.3 SAVED
	@



			Archiving files
			---------------
	The archiving system is a method of storing files which are not used
very often on tape, allowing them to be retrieved easily for use when needed.
Archiving a file removes the file from disk, but leaves an entry in your
directory describing the file. Thus, only one simple command is needed to get
a disk copy of the file back. 

			N O T E

	Archiving is intended only for files whose contents will not change.
Once archived on tape, a file cannot be altered in any way. If your files
do not fit this category, they are not suitable for archiving.

	In the following list of commands, "file-names" stands for a single
file name, or a wilcard filename (eg *.DAT, A*.TXT), or a list of names.

	To archive a file, or group of files:
@ARCHIVE file-names

	To get the files back:
@RETRIEVE file-names

		You will be notified by electronic mail when the files are
placed on disk. Depending on the workload, it may take minutes to hours to do.
Files are not retrieved outside normal office hours.

	To find out what state your archive requests are in:
@INFORMATION ARCHIVE-STATUS file-names

	This tells you which files have been archived, which files have
been requested for archive but not yet done, and which files are in the process
of being archived. There is a time lag of one to two weeks between an archive
request and the eventual disappearance of the file to tape.

	To get a directory of your archived files:
@DIRECTORY file-names ,
@@ARCHIVE (files only)
@@

	Archived files normally do not appear in a directory listing.
If the file is on tape, the word ;OFFLINE will appear after the name. If you
currently have a copy of the file on disk, this will not appear after the name.

	To delete a disk copy of an archived file:
@DELETE file-names,
@@CONTENTS-ONLY
@@

	This leaves the copy on the tape. It just removes the disk copy.
The system will not let you do this until the file is properly archived.

	To really delete an archived file (when, for instance, you realise
the information it contains will never be any use again):
@DELETE file-names,
@@ARCHIVE (files included)
@@

	The operating system will send you mail when you delete an archived
file telling you what tapes the file is on and where. This still allows
the file to be restored with the DUMPER program if you wish, although the
RETRIEVE command no longer functions.
	Two copies of each archived file are made on separate tapes, to guard
against the possibility of accidental erasure or destruction of a tape. Thus,
archiving is a very secure and automatic system for file storage on tape.
	For shorter term storage of files, or to store files that may need
to be modified, COLLECTION is more useful. We will be implementing this
in the near future at the CRC, at which time more info will be provided.


RDIRECTORY Command - defined locally at CRC using PCL


Function

     The RDIRECTORY (for read directory) command  prints  the  file
     specification, the number of pages, and the date and time the file 
     was most recently read.


Format

     @RDIRECTORY (OF FILES BY TIME OF READ) filespecs

     filespecs	    is a list of the file specifications  about  which
		    you  want  the  information.  If you omit the file
		    specifications,  the  system  prints   information
		    about all the files in your connected directory.


Operation

     1.  Type RD and press the ESC key; the system prints IRECTORY
	 (OF FILES BY TIME OF READ).

	 @RDIRECTORY (OF FILES BY TIME OF READ) TEST*.*

     2.  Type (or use recognition on) the file	specifications;   then
	 press	the  RETURN  key.   The  system  prints  the rdirectory
	 information:-

	   PS:<A-MOLE>
		           PGS READ

	 TEST.FOR.100030    1 14-Aug-83 11:54:21
	 TEST.LBR.100016;T  1 25-Sep-85 10:32:51

	 Total of 2 pages in 2 files
	 @

Output

     The system lists the files in reverse chronological order ( i.e. the most
     recently-read files appear first ).  The  following
     information is listed for each file:

     1.  Name, type, generation number

     2.  Size (in pages)

     3.  The date and time the file was last read

     4.  A line summarizing the total size (in pages)  and  number  of
	 the listed files.


Characteristics

     The RDIRECTORY command does not change a program  in  memory  and
     leaves your terminal at TOPS-20 command level.

     The RDIRECTORY command does NOT support the use of sub-commands,
     i.e.:-

	@RD,,
	?Not confirmed - ",,"
	@


				DAYTIME Command


Function

     The DAYTIME command prints  the  day,  date,  and  time  on  your
     terminal.


Format

     @DAYTIME

     There are no arguments to the DAYTIME command.


Operation

     1.  Type DA and press the ESC key;  the system prints YTIME.

         @DAYTIME

     2.  Press the RETURN key;  the system prints the  day,  date  and
	 time.

         @DAYTIME
	  FRIDAY, JANUARY 16, 1976 9:10:06
	 @



Characteristics

     The DAYTIME command;

         Does not require you to be logged-in to the system.

         Does not change a program in memory.

         Leaves your terminal at TOPS-20 command level.


Example

     The user finds the day date and time.

         @DAYTIME
	  FRIDAY, JANUARY 16, 1976 9:11:05
	 @




			BLANK Command


Function

	The BLANK command clears your video terminal screen.  It has no effect
	on a hard copy terminal.


Format

	@BLANK (SCREEN)
	@


Characteristics

	This command moves the cursor to line 1 or the screen, providing you
	with a clean area for typing commands and receiving system output.


Effect on Memory and Terminal

	The BLANK command does not affect memory and leaves your terminal at
	TOPS-20 command level.



WDIRECTORY Command - defined locally at CRC using PCL


Function

     The WDIRECTORY (for write directory) command  prints  the  file
     specification, the number of pages, the date and time the file 
     was most recently written, the name of the file creator, and 
     the name of the most recent writer.


Format

     @WDIRECTORY (OF FILES BY TIME OF WRITE) filespecs

     filespecs	    is a list of the file specifications  about  which
		    you  want  the  information.  If you omit the file
		    specifications,  the  system  prints   information
		    about all the files in your connected directory.


Operation

     1.  Type WD and press the ESC key; the system prints IRECTORY
	 (OF FILES BY TIME OF WRITE).

	 @WDIRECTORY (OF FILES BY TIME OF WRITE) TEST*.*

     2.  Type (or use recognition on) the file	specifications;   then
	 press	the  RETURN  key.   The  system  prints  the wdirectory
	 information:-

	   PS:<J-BLOGGS>
		           PGS Write              Creator   Writer    

	 TEST.COM.100034    1 25-Sep-85 12:01:12 J-BLOGGS J-BLOGGS 
	 TEST.FOR.100030    1 14-Aug-83 11:54:21 OPERATOR J-BLOGGS 
	 TEST.LBR.100016;T  1 25-Sep-85 10:32:51 J-BLOGGS A-MOLE 

	 Total of 3 pages in 3 files
	 @

Output

     The system lists the files in reverse chronological order ( i.e. the most
     recently-written files appear first ).  The  following
     information is listed for each file:

     1.  Name, type, generation number

     2.  Size (in pages)

     3.  The date and time the file was last written

     4.  The file creator

     5.  The most-recent file writer

     6.  A line summarizing the total size (in pages)  and  number  of
	 the listed files.


Characteristics

     The WDIRECTORY command does not change a program  in  memory  and
     leaves your terminal at TOPS-20 command level.

     The WDIRECTORY command does NOT support the use of sub-commands,
     i.e.:-

	@WD,,
	?Not confirmed - ",,"
	@


				DETACH command


Function

	The DETACH command disengages your current job from your terminal.

Format

	@DETACH (AND) argument

	where

	argument		can be one of these:

				CONTINUE - directs the current program
					   to proceed, just as if you
					   had typed the CONTINUE
					   command

				REENTER -  reenters the current program,
					   just as if you had typed the
					   REENTER command

				START -    starts the current program,
					   just as if you had typed the
					   START command 

				Defaulting "argument" leaves the
				program in its present state
				(usually suspended)

Characteristics

	Effects of Detached Jobs

		Detached jobs use scarce system resources (e.g., swapping
		space, process slots, job slots) and can prevent new users
		from logging in.

Warning

	Programs Writing to the Controlling Terminal (Device TTY:)

		If a program running in a detached job attempts to write to
		device TTY:, the job will wait until it is again attached to
		a terminal.

Effect on Memory, Job, and Terminal

	The DETACH command affects your job according to the argument you
	select, and leaves your terminal disengaged from the system in
	the state before log-in.  It does not affect memory for the
	detached job.

Related Commands

	ATTACH		for joining a detached job to your terminal

	SYSTAT		for finding out which jobs are detached

	SUBMIT		for running independant jobs

	UNATTACH	for disengaging another job from its terminal

Examples

	1.	Detach your job.

		@DETACH
		 Detaching job 16

	2.	Detach your job while starting the program in memory, then
		log in again.

		@DETACH START
		 Detaching job 29

		RETURN

		Clinical Research Centre 2060 (V5.1), TOPS-20 MONITOR 5.1(5746)
		Type HELP & press RETURN if you are unsure how to proceed.
		@LOGIN (USER) J-BLOGGS (PASSWORD)
		 Job 22 on TTY44 24-Sep-85 10:09:14
		@

	3.	Log in and put a program in memory; detach the job while
		starting this program, and repeat the entire procedure.  Log
		in a third time and begin execution of a third program.
		Interrupt this execution with CTRL/C, then detach this third
		job while continuing theprogram.  Now you have three jobs
		running at once.  Instead of loggin again, attach the
		first job (specifying the job number) and verify the system's
		action.

		RETURN

		Clinical Research Centre 2060 (V5.1), TOPS-20 MONITOR 5.1(5746)
		Type HELP & press RETURN if you are unsure how to proceed.
		@LOGIN (USER) J-BLOGGS (PASSWORD)
		 Job 5 on TTY230 24-Sep-85 10:09:14
		@GET PSTAT8
		@DETACH START
		 Detaching job 5

		RETURN

		Clinical Research Centre 2060 (V5.1), TOPS-20 MONITOR 5.1(5746)
		Type HELP & press RETURN if you are unsure how to proceed.
		@LOGIN (USER) J-BLOGGS (PASSWORD)
		 Job 22 on TTY222 24-Sep-85 10:13:14
		@GET MYTEST
		@DETACH START
		 Detaching job 22

		RETURN

		Clinical Research Centre 2060 (V5.1), TOPS-20 MONITOR 5.1(5746)
		Type HELP & press RETURN if you are unsure how to proceed.
		@LOGIN (USER) J-BLOGGS (PASSWORD)
		 Job 53 on TTY222 24-Sep-85 10:15:14
		@EXECUTE MYTEST
		FORTRAN: MYTEST
		MAIN.
		LINK:	Loading
		[LNKXCT	MYTEST Execution]
		^C

		@DETACH CONTINUE
		 Detaching job 53

		RETURN

		Clinical Research Centre 2060 (V5.1), TOPS-20 MONITOR 5.1(5746)
		Type HELP & press RETURN if you are unsure how to proceed.
		@ATTACH J-BLOGGS
		?Job number required - J-BLOGGS has more than one detached job
		@ATTACH J-BLOGGS 5
		 Password:

		 Exit
		@INFORMATION JOB
		 Job 5, User J-BLOGGS, Account CRC, TTY222
		@SYSTAT J-BLOGGS
		 5*	222	EXEC	J-BLOGGS
		 22	DET	MYTEST	J-BLOGGS
		 53	DET	MYTEST	J-BLOGGS
		@

		SET SESSION-REMARK  Command


Function


	@SET SESSION-REMARK remark

		Lets you insert a note or reminder of up to 39
		characters into system accounting data.  Check
		with INFO JOB-STATUS

				ENABLE command


Function

	The ENABLE command activates any special capabilities,such as
	those of Wheel or Operator, that the system manager has given
	you.

Format

	@ENABLE (CAPABILITIES)
	$

Characteristics

	Dollar Sign Prompt

		The ENABLE command causes the system to print a dollar sign
		prompt ($), indicating enabled capabilities, in place of the
		standard at sign prompt (@).  The dollar sign prompt is
		printed after ENABLE even if you have not been granted any
		capabilities.


	Capabilities of Log-in Directory Only

		The ENABLE command activates only these capabilities that
		have been granted to the owner of your log-in directory.
		You do not receive any capabilities as a result of CONNECT
		or ACCESS commands or group memberships.

Special Cases

	Dollar Sign Prompt in Batch Jobs

		Because a dollar sign placed in the location of a TOPS-20
		prompt could be confused with a batch command, the system
		precedes the enabled prompt with a space for batch jobs.

Warning

	Disabling Capabilities Promptly

		Because your commands are much more powerful if you have
		capabilities enabled, you should disable them as soon as you
		have finished using them.  Otherwise you or a program that
		you run could accidentally damage the system.

Effect on Memory and Terminal

	The ENABLE command does not affect memory and leaves your
	terminal at TOPS-20 command level.

Related Commands

	DISABLE			for suspending any capabilities that the system
				manager has given you

	INFORMATION DIRECTORY	for finding out which capabilities, if
				any, have been granted to the owner of
				a directory.

Examples

	1.	Enable your capabilities.

		@ENABLE
		$
				RESET Command


Function

     The RESET command clears the contents of memory. By clearing the
     momory all the current process and all inferior process are terminated.


Format

     @RESET (FORK) argument

     Where argument is one of the following :-
	RETURN key	to reset all processes for which the KEEP command has
			not been given
	*		to reset all processes, including those for which the
			KEEP command has been given
	.		to reset the current process, even if "kept"

	Fork name	to reset a specific process, even if "kept"

	Fork number	to reset a specific process, even if "kept"



Special Cases

     The RESET command closes files that are  open  and  still	mapped
     into memory.

     If you try to expunge a file that is mapped into memory (you  can
     find   this   out	 by   giving   the  INFORMATION  command  with
     MEMORY-STATUS parameter), the expunge will not succeed unless you
     give a RESET command first.


Hints

     The RESET command does  not  deassign  any  input-output  devices
     which  are  assigned  to your job, nor does it change any logical
     name assignments.


Operation

     1. Type RESE and press the ESC key;  the system prints T (FORK). Press
	the  RETURN  key;  when your memory is reset the system prints
	an @.

	@RESET (FORK)
	@

Characteristics

     The RESET command clears memory for the current process and leaves your 
     terminal at TOPS-20 command level.


Related Commands

	INFORMATION FILE-STATUS		for determining which files are 
					currently open

	INFORMATION MEMORY-USAGE	for determining contents of memory

Examples

     The user clears memory and checks the contents of memory.

	@RESET (FORK)
	@INFORMATION (ABOUT) MEMORY-USAGE
	 No program
	@


QDIRECTORY Command - defined locally at CRC using PCL


Function

	The QDIRECTORY command prints the deleted file specification,
	protection number, number of pages, number of bytes (including byte 
	size), and date and time the file was most recently written.


Format

     @QDIRECTORY (OF DELETED FILES) filespecs

     filespecs	    is a list of the deleted file specifications  about  which
		    you  want  the  information.  If you omit the deleted file
		    specifications,  the  system  prints   information
		    about all the deleted files in your connected directory.


Warning

	The QDIRECTORY command gives information about DELETED files only.  If
	the connected directory has been expunged, then the deleted files cannot
	be listed using the QDIRECTORY command.


Operation

     1.  Type Q and press the ESC key;  the	system	prints	DIRECTORY
	 (OF DELETED FILES).

	 @QDIRECTORY (OF DELETED FILES)

     2.  Type (or use recognition on) the file	specifications;   then
	 press	the  RETURN  key.   The  system  prints  the directory
	 information.

	 @QDIRECTORY (OF DELETED FILES) EDIT

	    <MCKIE>
	  EDIT.EXE.1;P777752	  61 31232(36)	17-NOV-75 16:32:48
	 @


Output

     The system lists the files in alphabetical order.	The  following
     information is listed for each file:

     1.  Name, type, generation number,

     2.  Protection code,

     3.  Size (in pages),

     4.  Length (in bytes) and byte size (in parentheses), and

     5.  The date and time the file was last written,



Characteristics

     The QDIRECTORY command does not change a program  in  memory  and
     leaves your terminal at TOPS-20 command level.


Examples

     The user obtains the information about all  his  files  with  the
     name DUMPER.

	@QDIRECTORY (OF DELETED FILES) DUMPER

	   <MCKIE>
	 DUMPER.MEM.2;P777752 5 12658(7)    6-NOV-75 20:28:49
	   .RNO.2;P777752     5 2389(36)   27-JUL-66 05:00:00
	   .TXT.4;P777752     4 9672(7)     6-NOV-75 19:18:30
	@

				RUN Command


Function

	The RUN command places in memory and starts an executable program.


Format

     @RUN (PROGRAM) filespec/switch


	where


     filespec	    is the file specification of any executable program
			Default dev:<dir> - DSK:

			Default .typ - .EXE


	/switch		is	/USE-SECTION:n
				specifies the memory section (from 0 to 37
				octal) in which your program is to run.  You
				can use this switch pnly if your program can
				be contained in one section.

Hint

	It is possible to be able to run your own programs just by typing the
	program name (i.e. without using the RUN command).  This is achieved
	by including the following line in your LOGIN.CMD & BATCH.CMD files:

		DEFINE SYS: SYS:,DSK:



Characteristics

	Efficiency of RUN
		The RUN command does the work of the pair of commands GET &
		START.  It is a faster & less expensive means of executing
		programs that EXECUTE, or than LOAD & START.  Therefore you
		should store frequently-run programs in .EXE files & run them
		with this command.


Effect on Memory & Terminal

	The RUN command terminates the current process & clears its memory,
	places in memory & starts the specified program, & leaves your terminal
	at command level in the program (if any), or at TOPS-20 command level.



Related Commands

	EXECUTE		for running source or object programs

	GET		for placing an executable program in memory

	R		for running executable programs stored on SYS:

	SAVE		for saving a program in executable (.EXE) format

	START		for starting the program currently in memory


Example

Run one of your executable programs

	@RUN TESTF1.EXE



				ACCESS Command


Function

	The ACCESS command obtains ownership rights to a directory and the
	group rights of its user-group list


Format

     @ACCESS (TO DIRECTORY) dev:<directory>
     PASSWORD:password
     @


     where


      dev:           is the name of the file structure  that  contains
		     the  directory  you  are  accessing.   The ACCESS
		     command will only accept a file structure name in
		     the dev:  field.
			Default dev: - your connected structure


      <directory>    is the name of the directory you  are  accessing.
		     The brackets must be included in directory names.
		     You can use recognition  provided	you  type  the
		     left angle bracket.
			Default <directory> - the directory (on the specified
					      structure) of the same name as
					      your connected directory


      password       is the password of  the  directory  you  wish  to
		     access.   The password is not required if you own
		     the directory (you own a directory if  your  user
		     name  is  the  same as the directory name), or if
		     the  directory  protection  allows   you	access
		     without giving a password.


Hints

     Your currently connected directory and structure do not change.

     In addition to the owner  privileges  you  are  granted  for  the
     directory	you  are  ACCESSing,  you  are also considered to be a
     member of the same groups as the real owner of the directory.

	To ACCESS a directory on another structure, you should have mounted
	it with the MOUNT STRUCTURE command first.


Operation


     1.  Type ACC and press the ESC key.  The system  prints  ESS  (TO
	 DIRECTORY) .

              @ACCESS (TO DIRECTORY)


     2.  Type the file structure name and a colon.  (You do  not  have
	 to  type  the	file  structure  name if the directory you are
	 accessing is located on your currently connected structure.)

     3.  Type (or use recognition on) the directory name.   Press  the
	 RETURN key.  The system prints PASSWORD:  on the next line.

              @ACCESS (TO DIRECTORY) ACCTG:<ESTEY>
	      PASSWORD:

     4.  Type the password and press the RETURN key.  (If you own  the
	 directory or if the directory protection gives you the proper
	 access, you do not have to give a password;  just  press  the
	 RETURN  key.)	When  the  ACCESS command succeeds, the system
	 prints an @ on your terminal.

              @ACCESS (TO DIRECTORY) ACCTG:<ESTEY>
	      PASSWORD:
	      @

Errors


     1.  If you do not enter the correct password, the  system  pauses
	 and prints the message:

              ?INVALID PASSWORD

         and cancels the  command.   You  should  obtain  the  correct
	 password and reissue the command.

     2.  If you did not give the  SMOUNT  command  before  the  ACCESS
	 command  and  you  specify a non-existent file structure or a
	 file structure that is not on line,  the  system  prints  the
	 message:

              ?STRUCTURE IS NOT MOUNTED

         and cancels the command.  Check to see  if  you  entered  the
	 correct  structure  name first, i.e., spelling.  Then, if you
	 have, give the MOUNT STRUCTURE command to request that	the  structure
	 be put on line.

     3.  If you enter the structure name in an incorrect  format,  the
	 system responds:

              ?INVALID STRUCTURE NAME

         Perhaps you have omitted the brackets in the  directory  name
	 or the colon after the structure name.

     4.  If you give a non-existent directory name, the system  prints
	 the message:

              ?NO SUCH DIRECTORY

         and cancels the command.

     5.  If you attempt to given an ACCESS  command  to  a  files-only
	 directory, the system responds:

              ?DIRECTORY IS "FILES-ONLY" AND CANNOT BE ACCESSED

         If you require ownership privileges to  that  directory,  use
	 the CONNECT command.


Characteristics

     The ACCESS command:

     Leaves your terminal at TOPS-20 command level.

     Does not change any program in memory.

     Owner and group privileges  gained  through  the  ACCESS  command
     remain  in  effect until you log out, the structure is dismounted
     or you give the ACCESS command to a different  directory  on  the
     same structure or you use the END-ACCESS command.


Restrictions

     You can only give the ACCESS command to user directories.  If you
     require  owner  access to files-only directories, use the CONNECT
     command.

     If you access another directory on the public structure you give up
     your own group rights on the public structure.  These are restored
     when you give an ACCESS command for your log-in directory.



Related Commands


	CONNECT			for making a directory your connected directory

	END-ACCESS		for surrendering rights to an accessed directory

	MOUNT STRUCTURE		for making a structure available for access, and
				ensuring the continued availability of an
				accessed structure



Examples


     The  user  accesses  the  directory  <ESTEY>  on  his   currently
     connected structure.

              @ACCESS (TO DIRECTORY) <ESTEY>
	      PASSWORD:

     The user accesses directory <SMITH> on file structure ACCTG:.  He
     type  ACC,  leaves  a space, types ACCTG:<SMITH>, and presses the
     RETURN key.  On the next line, the user then types the password.

              @ACC ACCTG:<SMITH>
	      PASSWORD:

     The user gives the ACCESS command followed by his directory name,
     (here  it is <MCELMOYLE>) to eliminate his group privileges for a
     previously accessed directory.

              @ACCESS (TO DIRECTORY) <MCELMOYLE>
	      @





				BACKSPACE Command


Function

     The BACKSPACE command moves  a  magnetic  tape  backward  over  a
     specified number of files or records.


Hints

     Remember to assign the tape  drive  to  your  job  and  have  the
     operator load your tape.

     Be sure you have the correct tape parameter set (check them  with
     the  INFORMATION (ABOUT) TAPE-PARAMETERS command);  if necessary,
     give the SET TAPE command.


Format

     @BACKSPACE (DEVICE) dev:  n units

     dev:           specifies the magnetic tape you want to backspace.
		    The  device  name is in the form MTAn:  where n is
		    the drive number.

     n              is the number of files or records over  which  you
		    want to backspace.
			Default n - 1

     units          is either FILES or RECORDS.
			Default units - FILES


Operation

     1.  Type BACK and press the ESC key;  the system prints
	 SPACE (DEVICE).

         @BACKSPACE (DEVICE)

     2.  Type the device name and leave a space.

         @BACKSPACE (DEVICE) MTA2:

         If the device is not a magnetic tape, the system ignores  the
	 command and prints the message:

         ?dev:  Device is not a magtape

         where dev:  is the device name you typed.

         If you typed a non-existent device, the  system  ignores  the
	 command and prints the message:

         ?No such device

     3.  Type the number of files or records and leave a space.

         @BACKSPACE (DEVICE) MTA1:  5


         If you type a number  greater  than  67777777777(octal),  the
	 system ignores the command and prints the message:

         ?NUMBER OUT OF RANGE

     4.  Type (or use recognition on) the word FILES  or  RECORDS  and
	 press the RETURN key.

         @BACKSPACE (DEVICE) MTA1: 5 FILES
	 @



Errors

     1.  If the device is not on line, the system ignores the  command
	 and prints the message:

         ?Device is not on-line


     2.  If a tape is not mounted on the drive, the system  may  print
	 the message:

         ?Device or data error

         Use the PLEASE program to contact the operator, then  reissue
	 the command.

     3.  If you type a CTRL/C to exit from a program that  has  opened
	 the magnetic tape drive, and then give the BACKSPACE command,
	 the system prints the following message:

              ?Device MTAn: open on JFN m
	      %Close JFN? YES

         If you answer YES (or just press the RETURN key), the  system
	 closes  the file, prints a confirming message, backspaces the
	 tape, and leaves you at TOPS-20  command  level.   Continuing
	 the  program  that  previously  opened  the magnetic tape may
	 produce an error because the file has been closed.

              @BACKSPACE (DEVICE) MTA1: 3 FILES
	      ?Device MTA1: open on JFN 3
	      %Close JFN? YES
	       3   MTA1:   [OK]
	      @

         If you answer NO, the  system  prints  the  message  ?Command
	 aborted...   and  does  not  close  the file or backspace the
	 tape.

		
RECORDS Argument Used for Unlabeled Tapes Only

	You cannot BACKSPACE RECORDS on a labeled tape, because read and write
	operations for labeled tapes always move the tape to the beginning of
	a file first.



Characteristics

     The BACKSPACE command does not change any program in  memory  and
     leaves your terminal at TOPS-20 command level.


Restrictions

     The BACKSPACE command works only for magnetic tapes.



Related Commands

	SKIP		for moving a mag tape set forward

	REWIND		for backspacing a tape volume or tape set to its
			logical beginning (the beginning of the first file)



Examples

     The user backspaces his tape 3 files.

           @BACKSPACE (DEVICE) MTA2: 3 FILES
	   @

     The user backspaces MTA0:  5 records.

           @BACKSPACE (DEVICE) MTA0: 5 RECORDS
	   @




				ASSIGN Command


Function

     The ASSIGN command allocates an input-output (I/O) device for the
     exclusive	use  of  your  job.  Your job retains control over the
     device until you give a DEASSIGN command or until you log off the
     system.


Hints

     Before giving an ASSIGN command,  give  the  INFORMATION  (ABOUT)
     AVAILABLE	DEVICES  command  to  obtain  a  list of the available
     devices.  After selecting an available device,  give  the	ASSIGN
     command to allocate that device to your job.

     You can give  a  second  INFORMATION  (ABOUT)  AVAILABLE  DEVICES
     command to confirm that the device has been assigned to your job.


     Use the DEFINE command to assign a logical name to a device.


Format

     @ASSIGN (DEVICE) dev:


     dev:   specifies  the  device  that  you  want  to  assign.   The
	    standard  input/output  devices and their device names are
	    listed in Table 5-1.


Operation

     1.  Type ASSI and press  the  ESC  key;   the  system  prints  GN
	 (DEVICE).

         @ASSIGN (DEVICE)

     2.  Type the name of the device that  you  wish  to  assign  (you
	 cannot use recognition).

         @ASSIGN (DEVICE) MTA1:

     3.  Press the RETURN key.  When the device is  assigned  to  your
	 job, the system prints an @ on your terminal.

         @ASSIGN (DEVICE) MTA1:
	 @



Errors

     1.  If the device is already assigned to another job, the  system
	 prints  the  message  ?dev:   ALREADY	ASSIGNED  TO JOB n and
	 returns you to TOPS-20 command level.	If you	want  to  know
	 who is using the device, give the SYSTATn command (where n is
	 the job number).

     2.  If you have already assigned the  device  to  your  job,  the
	 system   prints   the	 message  [ALREADY  ASSIGNED  TO  YOU]
	 immediately following the ASSIGN command.



Characteristics

     The ASSIGN command does not change  any  program  in  memory  and
     leaves your terminal at TOPS-20 command level.


Restrictions


	Assigning Magnetic Tape Drives

		You can use the ASSIGN command to assign tape drives only if
		they are of the form MTAn:.  Tape device names of the form MTn:
		are logical device names only, and are assigned automatically at
		the time of MOUNT TAPE commands.


     You cannot assign structure names.  Therefore you  cannot  assign
     the  device  DSK:	(your currently connected structure).

     You cannot ASSIGN various other devices such as LPT:  and NUL:.

     Logical names cannot be assigned to devices by using  the  ASSIGN
     command;  refer to the DEFINE command.

     You cannot assign a device that is already  assigned  to  another
     job, or that you have already assigned to your job.



Related Commands


	DEASSIGN			for surrendering a previously assigned
					device


	MOUNT				for mounting a structure of magnetic
					tape set without assigning a specific
					drive


	INFORMATION AVAILABLE DEVICES	for finding out which devices can be
					assigned or have been assigned to your
					job

Examples

	1.	The user assigns magnetic tape drive number three to his job:

		@ASSIGN (DEVICE) MTA3:
		@


	2.	Find out which devices are available for timesharing use, then
		assign one to your job.

		@INFORMATION AVAILABLE DEVICES
		Devices available to this job:
		 DSK, PS, US, MELON, LPT, LPT0, LPT1, PLPT1, CDR, PCDR0, CDP,
		PCDP0, FE0-15, PTY11-61, NUL, PLT, PLT0, DCN, SRV
		Devices assigned to/opened by this job: TTY20, PTY11
		@ASSIGN PCDR0:
		@

				CANCEL Command


Function

     The CANCEL command withdraws requests made with a previous queue-class
     command


Format

	@CANCEL (REQUEST TYPE) queue (ID) identifier/switch(es)

	where

	queue		is the name of the queue, chosen from the following
			list:

			ARCHIVE		for requests made using the ARCHIVE
					command


			BATCH		for requests made using the SUBMIT 
					command


			MOUNT		for requests made using the MOUNT
					STRUCTURE or MOUNT TAPE command


			PLOT		for requests made using the PLOT
					command


			PRINT		for requests made using the PRINT 
					command


			RETRIEVE	for requests made using the RETRIEVE 
					command



	identifier	is one of the following:

				request ID number	the unique number
							assigned by the system
							to your request.  This
							is the number appearing
							under the heading "Req#"
							in the list of requests
							shown by the appropriate
							INFORMATION command (see
							Related Commands, below)
							To cancel archival
							requests, use "filespec"
							argument instead.


				jobname			the jobname of the
							request, either the
							first six characters of
							the first filename in
							the request or the argu-
							ment you supplied to a
							/JOBNAME switch when
							making the request (for
							output and batch 
							requests), or the first
							six characters of each
							filename in the request
							(for retrieval requests)
							or the first six
							characters of the
							structure alias or tape
							set name (for mount
							requests).  This is the
							name appearing under the
							heading "Name", "Req
							Name", or "Job Name" in
							the list of requests
							shown by the appropriate
							INFORMATION command (see
							Related Commands, below)


				filespec		the specification of a
							file.  Use this argument
							to cancel archival
							requests.


				Use an asterisk (*) as identifier to cancel all
				your requests in to specified queue.



	/switch		is one or more of the following switches:


				/JOBNAME: jobname	which gives you the 
							jobname of the request
							you want to cancel.  See
							Special Cases - /JOBNAME
							Switch, below


				/SEQUENCE:n		which gives the sequence
							number of the batch or
							output request you want
							to cancel.  The INFORM-
							ATION BATCH-REQUESTS or
							INFORMATION OUTPUT-
							REQUESTS command with
							the /ALL switch gives
							the sequence number
							assigned to these
							requests.  Use this
							switch in CANCEL
							commands placed within
							batch jobs: then you can
							cancel requests made
							earlier in the batch job
							even though you do not
							know the request ID
							number.



				/USER:user name		which cancels the
							specified request
							entered under the given
							user name.  Use an
							asterisk (*) both for
							request ID number and as
							argument to this switch
							to cancel all requests
							of all users in the
							specified queue.  For
							privileged users only.



Output

	When you complete a CANCEL command removing a request, the system
	responds with "[1 Job Canceled]" and makes the appropriate deletion
	from the indicated queue.  If the job is being processed, the reponse
	is "[1 Job Canceled (1 was in progress)]", but if the job is already 
	finished, it is simply "[No Jobs Killed]"


Characteristics


	Request ID or Jobname as Argument to CANCEL

		You can cancel a single queue request (those made with Queue-
	class commands - MOUNT, PLOT, PRINT, RETRIEVE, or SUBMIT) by giving
	either its request ID number or its jobname as the second argument of a
	CANCEL command.  This argument is interpreted as a request ID number
	unless it includes one or more non-numeric characters.  If the argument
	includes non-numeric characters it is interpreted as a jobname.  By
	giving a jobname as the second argument of a CANCEL command, you cancel
	all your requests of that jobname in the specified queue.  But see also
	Special Cases - /JOBANEM Switch, below.


Special Cases

	/SPOOLED-OUTPUT Switch

		You can give the special switch, /SPOOLED-OUTPUT, after the	
		PAPER-TAPE, PLOT, or PRINT argument to the CANCEL command.  By
		doing so you cause any accumulated requests in the spooler queue
		for the appropriate output device (PTP:, PLT:, or LPT:
		respectively) to be canceled, rather than filled when you log
		out.  Do not give any further arguments to a "CANCEL queue
		/SPOOLED-OUTPUT" command.


	/JOBNAME Switch

		In the singular case when you want to cancel several queue
		requests of the same jobname using a single command, and that
		jobname is purely numerical (for example, 5045), you must use
		the /JOBNAME:jobname switch as the second argument to the
		CANCEL command.  Do not also give the request ID or jobname as a
		command argument if you give the /JOBNAME:jobname switch.



Restrictions


	Cannot Cancel Filled Tape-Mount Requests

		You cannot use the CANCEL command to withdraw a MOUNT TAPE
		request once the first volume of tape has been mounted (i.e.,
		once you have received a message of the form, [setname defined
		as Mtn:]).  Use the DISMOUNT command to give up your tape
		resource in this case.  Note that the DEASSIGN or LOGOUT command
		will also dismount the tape set.


	Cannot Cancel Certain Archival Requests

		You cannot use the CANCEL command to withdraw an archival 
		request once the operator has initiated archival procedures.
		Thus, even though files remain on disk between the operator's
		first and second archive runs, you cannot cancel a request
		during this time.  If you try to cancel a request after
		archiving has begun, you receive the error message:

			?File has archive status: filename

		Note that this error does not terminate a multifile CANCEL
		ARCHIVE command (for example, CANCEL ARCHIVE *.*); the TOPS-20
		command processor continues processing each remaining filename
		in the request.  Cancel requests for these remaining files 
		are judged individually.



Related Commands


	ARCHIVE				for requesting archival of a file


	INFORMATION ARCHIVE-STATUS	for finding out the archival status of
					files


	INFORMATION BATCH-REQUESTS	for examining requests in the batch 
					input queue


	INFORMATION MOUNT-REQUESTS	for examining requests in the 
					structure- and tape-mount queue


	INFORMATION OUTPUT-REQUESTS	for examining requests in the line 
					printer, plotter, and paper tape queues


	INFORMATION RETRIEVAL REQUESTS	for examining requests in the retrieval
					queue


	MODIFY				for changing requests without removing
					them


	MOUNT				for placing requests in the structure-
					or tape-mount queue


	PLOT				for placing requests in the plot queue


	PRINT				for placing requests in the print queue


	RETRIEVE			for placing requests in the retrieval
					queue

	
	SUBMIT				for placing requests in the batch
					input queue



Examples


     1.  Cancel one of your jobs.

         @CANCEL BATCH SAMPLE
	 [1 JOB CANCELED]


     2.  Cancel one of your jobs by  using  the  sequence  number  and
	 omitting the jobname.

         @INFORMATION (ABOUT) OUTPUT-REQUESTS

         QUEUE      JOB       SEQ     LIMIT      USER

         LPT       SAMPLE     3980     1000      SARTINI
	 LPT	   SAMPLE     3990     1000	 SARTINI
	 LPT	   SAMPLE     4002     1000	 SARTINI

         @CANCEL PRINT /SEQUENCE:3990
	 [1 JOB CANCELED]





				COMPILE Command


Function

     The  COMPILE  command  translates  one  or  more  source   files,
     producing one or more object files.



Format

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


	where

	switches	are keywords chosen from the list below.
			indicationg your choice of compile 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.


     source            is the file specification of a 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.
			    Default - arguments you give in your last
			    LOAD-CLASS command




     object        is the filename you choose for the object file;
		   it must be 6 or fewer characters.
			Default - filename of source file (file type
				  is .REL)


	,...		means that, after commas, you can give more arguments
			of the form already shown



			 COMPILE Command Switches


	/68-COBOL	compiles the file using the COBOL-68 compiler
				Default for files of type .CBL

	/74-COBOL	compiles the file using the COBOL-74 compiler


       /ALGOL
	  Compiles the file using ALGOL.  This is  the	default  for
	  sources with the extension .ALG.

       /BINARY
	  Generates a binary (object) file for each source  program.
	  Normally the system generates object files, so this switch
	  is useful in reversing a global /NOBINARY switch.

       /COBOL
	  Compiles the program using COBOL-68.  This is the default for
	  sources with the extension .CBL.

       /COMPILE
	  Compiles the program regardless of whether the object file
	  is  up-to-date  or  not. use this switch along with the /LIST
	  or /CREF switch to obtain listings when you have current
	  object files. (The  /NOCOMPILE  switch  causes compilation
	  only if the object file is out-of-date).

       /CREF
	  Creates a file containing cross-reference information  for
	  each source file you compile.  The name of the file is the
	  name of the object file and the file  type  is  .CRF.
	  Use the CREF command to obtain a listing of the file.

       /DEBUG
	  Provides additional debugging information  in  the  object
	  program (For FORTRAN only, and only if you have not given
	  the /OPTIMIZE switch).

       /FORTRAN
	  Compiles the file using FORTRAN.  This is the default  for
	  sources with the extension .FOR or a nonstandard type.

       /LANGUAGE-SWITCHES:"/switch(es)"
         passes the specified switches to the compiler that will process
         the file(s) to which this switch applies.  You must include the
         switches in double quotation marks ("  ").


       /LIST
	  Prints a listing of each program you compile.  The listing
	  name	is  the  name  of  the object file.  Unless you
	  specify this switch, the system does not print  a  listing
	  of  your program.  If you also include a /CREF switch, the
	  system ignores the /LIST switch.

       /MACRO
	  Assembles the file using MACRO.  This is the	default  for
	  sources with the extension .MAC.

       /NOBINARY
	  Inhibits the generation of a binary (object)	file.	This
	  switch  is  useful along with the /CREF or /LIST switch to
	  produce listings without additionally producing an  object
	  file.

       /NOCOMPILE
	  Compiles a file only if  it  is  out-of-date.   Since  the
	  system  normally does this, the /NOCOMPILE switch is usful
	  for turning off a global /COMPILE or /RELOCATABLE switch.

       /NODEBUG
	  Omits  loading  debugging  information  with	the  program
	  (FORTRAN only).

       /NOLIST
	  Inhibits the generation of a listing file.  Normally,  the
	  system does not generate a listing file.

       /NOOPTIMIZE
	  Inhibits the generation of optimized object files (FORTRAN
	  programs only).

       /OPTIMIZE
	  Produces optimized object files (FORTRAN programs only).


       /STAY

		Returns your terminal to TOPS-20 command level so that you can 
		perform other work while the system continues to compile your 
		program.  You immediately receive the TOPS-20 prompt (@ or $)
		and can then issue any user command.  But be careful with
		commands that run programs, because those commands may clear
		memory and terminate the current process.  Also, you could
		easily send incorrect data to programs expecting terminal input.
		This switch saves you from having to: issue a ^T to make sure
		the compile has begun; give a ^C to halt compilation; and issue 
		a CONTINUE STAY command to remain at command level during
		compilation.


Characteristics

	Compiling New sources Only

		The system usually compiles only those sources for which there
		are no current object files, i.e. sources whose write dates are
		more recent than those of the object files of the same name.
		However, sources for which you supply a new object filename are
		compiled even if there are current object files.  You can always
		force compilation with the /COMPILE switch.


	Using Standard File Types

		If you specify source files with standard types (.FOR, .MAC,
		.CBL, or .ALG) in a COMPILE command, the system automatically
		calls the appropriate compile when compilation is necessary.  If
		you specify source files by filename only, the system searches
		your connected directory in the above order for a file of this
		name and a standard type.  To compile 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.


Hints

	Plus Signs Between Filespecs

		If you give two or more filespecs seperated by plus signs (+) as
		arguments to COMPILE, 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 the arguments (source and object filespecs,
		switches) of a COMPILE command in an indirect file, and specify
		them by typing an at sign (@) and its filespec as a COMPILE
		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 COMPILE command.  Insert this
		SET command in your COMAND.CMD file to change your own defaults
		permanently.



Restrictions

	Switches Assuming Compilation


		/CREF
		/DEBUG
		/LANGUAGE-SWITCHES
		/LIST
		/NODEBUG
		/NOLIST
		/NOOPTIMIZE
		/OPTIMIZE

		The above switches will not take effect unless the COMPILE
		command causes a new compilation of the relevant source file.
		See Characteristics - Compiling New Sources Only, above, for
		more information.


Effect on Memory and Terminal

	The COMPILE command clears memory and loads the appropriate compiler.
	After the compilation your terminal is left at TOPS-20 command level.


Related Commands

	LOAD, EXECUTE, and DEBUG	other LOAD-class commands for performing
					related functions



Operation

     1.  Type COMP and press the  ESC  key;   the  system  prints  ILE
	 (FROM).

	@compILE (FROM) ? one of the following:
	 /68-COBOL		/74-COBOL		/ALGOL
	 /ABORT			/BINARY			/CHECK
	 /COBOL			/COMPILE		/CREF
	 /CROSS-REFERENCE	/DDT			/DEBUG
	 /FAIL			/FLAG-NON-STANDARD	/FORTRAN
	 /LANGUAGE-SWITCHES:	/LIBRARY		/LIST
	 /MACHINE-CODE		/MACRO			/MAP
	 /NOBINARY		/NOCHECK		/NOCOMPILE
	 /NOCREF		/NOCROSS-REFERENCE	/NODEBUG
	 /NOFLAG-NON-STANDARD	/NOLIBRARY		/NOLIST
	 /NOMACHINE-CODE	/NOOPTIMIZE		/NOSEARCH
	 /NOSYMBOLS		/NOWARNINGS		/OPTIMIZE
	 /PASCAL		/RELOCATABLE		/SAIL
	 /SEARCH		/SIMULA			/SNOBOL
	 /STAY			/SYMBOLS		/WARNINGS
	  or File name
	  or "@"
	  or "%"
         @COMPILE (FROM)


     2.  Type  (or  use  recognition   on)   the   sets   of   sources
	 specifications,  object  specifications  and switches.  Press
	 the RETURN key.  The system translates the specified files.


         @COMPILE (FROM) TEST.FOR,SUB1.FOR
	 FORTRAN:  TEST
	 FORTRAN:  SUB1
	 @



Errors

     1.  If you give a command and one of the source files is missing,
	 the  system  continues  processing the command and prints the
	 message:

         %SOURCE FILE MISSING - name.typ

         where name.typ is the name and type of the source file.




Examples


	1.	The user compiles a simple MACRO program.

        @COMPILE (FROM) TRANSL.MAC
	MACRO:	TRANSL
	@



	2.	The user compiles three FORTRAN programs into one main  program,
     and the entire subroutine package TYPE2.

        @COMPILE (FROM) 1+2+3,TYPE2
	FORTRAN:  1
	MAIN.
	FORTRAN:  TYPE2
	TYPE2
	@


	3.	The user assembles a MACRO program, producing  a  cross-
	reference
     listing.

        @COMPILE (FROM) /CREF INIT.MAC+CONTRL.MAC+SUBS.MAC
	MACRO:	INIT
	MACRO:	CONTRL
	MACRO:	SUBS
	@


	4.	The user  compiles  his  programs,  using  the  arguments  in
	  an indirect file.

        @COMPILE (FROM) @TYP.CMD
	FORTRAN:  1
	MAIN.
	FORTRAN:  TYPE2
	TYPE2
	@


	5.	Compile a FORTRAN program, using a switch to indicate the proper
		compiler.  Use the /STAY switch to return immediately to TOPS-20
		command level.

		@COMPILE TEST/FORTRAN/STAY
		@PUSH
		@EDIT LOGIN.CMD


	6.	Create an indirect file, use it to compile several programs,
		forcing a compilation of the last one and storing its object
		file under a new name.


		Using an Editor, insert the following 2 lines into UPDATE.CMD:-

		/COBOL FSTQ,SNDQ,THDQ,FTHQ/COMPILE ANNUAL
		$
		
		@COMPILE @UPDATE.CMD
		COBOL:	DMN	[FSTQ.CBL]
		COBOL:	DMN	[SNTQ.CBL]
		COBOL:	DMN	[THTQ.CBL]
		COBOL:	DMN	[FTTQ.CBL]

		EXIT
		@DIRECTORY,
		@@CHRONOLOGICAL WRITE
		@@REVERSE
		@@
		 PS:<A-MOLE>
		ANNUAL.REL.1
		THDQ.REL.1
		SNDQ.REL.1
		FSTQ.REL.1
		UPDATE.CMD.1
		017CRE.TMP.100017;T
		FTHQ.CBL
		THDQ.CBL
		SNDQ.CBL
		FSTQ.CBL

		Total of 10 files
		@

				EXPUNGE Command


Function

     The EXPUNGE command erases  all  your  deleted  files  from  disk
     storage.


Format

	@EXPUNGE (DIRECTORY) dev:directory,
	@@subcommand
	@@  .
	    .
	    .

	where

	dev:<directory>			is the name of the directory you wish to
					expunge; you may use wildcard characters
					to expunge more than one directory.

					Default dev: - your connected structure

					Default <directory> - the directory (on
							      the specified
							      structure) of the
							      same name as your
							      connected
							      directory

					Defualt (if no arguments are given)
						- your connected directory

	@@				means that, after a final comma, you can
	@@  .				give one or more (optional) subcommands
	@@  .				on successive lines
	    .


	subcommand			is a key word chosen from the list below



			EXPUNGE Command Subcommands


	DELETE		deletes and expunges temporary files, i.e., those with
			the Temporary (;T) attribute, created by some system
			programs to hole interim data.  Do not use if you will
			have any further need of these files.


	PURGE		expunges all files which you have opened but not closed


	REBUILD		rebuilds the symbol table of the directory named

Output
	After a successful EXPUNGE command, the system reports the number
	of disk pages freed. If the expunged files are small, there may
	be no pages freed. Also, if deleted files are mapped, they
	will not be expunged, and so will not contribute to the number
	of pages freed. Occasionally the system will report a negative
	number. This can mean that files were being written in the directory
	during the EXPUNGE, or (especially if you include the REBUILD
	subcommand) that previous computations of directory size has not
	adequately accounted for some files, e.g files written near the
	time of a system crash and reload.




Hints


	Using the REBUILD Subcommand

		The REBUILD subcommand is not needed under usual conditions, as
		the system performs this action automatically.  Use REBUILD if
		a message is printed on your terminal advising you to rebuild
		the symbol table of a directory, or if the "Pages assigned"
		parameter reported by an INFORMATION DISK-USAGE command shows
		two page counts (one within parentheses) differing by more than
		say, two pages.  Note that in this last case REBUILD will merely
		reduce the difference, not eliminate it, expecially if the
		directory has subdirectories beneath it.


	Using the PURGE Subcommand

		The PURGE subcommand is useful mainly for removing the remains
		of files that were being created at the time of a system crash
		or a structure dismount.  Do not give it while anyone might be
		using the directory, because that user's program might be
		deprived of necessary files as a result.


     After you expunge your files, you cannot access them  again.   If
     you have inadvertently expunged a file you actually need, contact
     your operator and ask if your files  can  be  obtained  from  the
     system backup operations.

     Use the EXPUNGE command to stay under your disk storage quota.


Special Cases

	Files with the "Premanent" Attribute

		The system erases only the contents of any files that have the
		Permanent attribute (e.g., MAIL.TXT in your login directory)
		when you try to expunge them.  Their file specifications remain
		among your deleted files, and cannot be removed by TOPS-20
		commands.


Operation


     1.  Type EXP and press the  ESC  key;   the  system  prints  UNGE
	 (DIRECTORY).

         @EXPUNGE (DIRECTORY)


     2.  If you want to expunge the deleted files  in  your  connected
	 directory,  press  the  ESC key and the RETURN key.  (or just
	 press the RETURN key).  You can type a structure name	(dev:)
	 if  the  directory for which you want to expunge files is not
	 on your connected structure.	However,  you  must  have  the
	 proper  access  privileges.  Type (or use recognition on) the
	 directory name, and press the RETURN key.  The system	prints
	 the  name of the structure, the name of the directory and the
	 number of pages freed.

         @EXPUNGE (DIRECTORY) <MANUALS>
	  PS:<MANUALS> [34 PAGES FREED]
	 @



Characteristics

     The EXPUNGE command does not change any  program  in  memory  and
     leaves your terminal at TOPS-20 command level.


Restrictions

     You may not expunge deleted files in a directory to which you  do
     not have the proper access.

     If you have deleted a file and a program still has it opened, the
     system will not expunge the file.


Related Commands

	DELETE				for marking files to be lter expunged

	DIRECTORY-class commands	for obtaining lists of file specs

	INFORMATION DISK-USAGE		for finding out the size of a directory



Examples

     The user (here it is  SARTINI)  expunges  deleted  files  in  his
     connected directory.

        @EXPUNGE (DIRECTORY)
	 PS:<SARTINI> [4 PAGES FREED]
	@

     The user tries to expunge a directory to which he does  not  have
     the proper access.

        @EXPUNGE (DIRECTORY) <COHEN>
	?WHEEL or OPERATOR capabilities required - PS:<COHEN>
	@




				FDIRECTORY Command


Function

     The FDIRECTORY command prints all the information about a file or
     group  of	files.	 No  headings  are  printed  and the output is
     compressed.

	When used with magnetic tapes, the FDIRECTORY command is equivalent
	to DIRECTORY for magnetic tapes.


Hints

     Giving  the  FDIRECTORY  command  is  exactly  like  giving   the
     DIRECTORY command with the subcommands CRAM (OUTPUT), EVERYTHING,
     and NO HEADING.

     Refer to the DIRECTORY command for  more  information;   you  can
     give any of the DIRECTORY subcommands with FDIRECTORY.


Format

     @FDIRECTORY (OF FILES) filespecs


     filespecs      is a list of the file specifications  about  which
		    you  want  to obtain the information.  If you omit
		    the  file  specifications,	 the   system	prints
		    information  about all the files in your connected
		    directory.


Operation


     1.  Type FDIR and press the ESC key;  the  system  prints  ECTORY
	 (OF FILES).

         @FDIRECTORY (OF FILES)


     2.  Type (or use recognition on) the  file  specifications,  then
	 press	the  RETURN  key.   The  system  prints  the directory
	 information.

         @FDIRECTORY (OF FILES) TEST.FOR.*
	    <MCKIE>
	  TEST.FOR.4;P777752;A10300   1 15(36) 2 18-SEP-75 18:51:14
	  18-SEP-75 18:51:27 18-SEP-75 18:51:44 MCKIE MCKIE
	 @



Output

     The system lists the files in alphabetical order.  The  following
     information is listed for each file:


     1.  Name, type, generation number,


     2.  Protection number,


     3.  Account number,


     4.  Size (in pages),


     5.  Length (in bytes) and byte size (in parentheses),


     6.  File retention count,


     7.  The date and time the file was created,


     8.  The date and time the file was last written,


     9.  The date and time the file was last read,


    10.  The user who created the file,


    11.  The user who last wrote the file



     After the entries for the individual files, the system  prints  a
     line  summarizing	the  total  size  (in pages) and number of the
     listed files.


Characteristics

     The FDIRECTORY command does not change any program in memory  and
     leaves your terminal at TOPS-20 command level.


Examples

     The user obtains all the information about  any  files  with  the
     name FILEIO.

     @FDIRECTORY (OF FILES) FILEIO
	<MCKIE>
      FILEIO.EXE.2;P777752;A10300   3 2048(36) 2 20-AUG-75 15:16:25
     20-AUG-75 15:16:25 9-SEP-75 16:12:50 MCKIE MCKIE
	.MAC.55;P777752;A10300	 2 1005(36) 2 19-SEP-75 10:54:00 19-
     SEP-75 10:54:06 19-SEP-75 10:54:05 MCKIE MCKIE
	.REL.1;P777752;A10300	1 170(36) 1 16-MAY-75 02:57:16 16-MA
     7-75 02:57:16 16-MAY-75 02:57:18 MCKIE MCKIE

      TOTAL OF 6 PAGES IN 3 FILES
     @




				LOAD Command


Function

     The LOAD command places one  or  more  object  files  in  memory,
     forming a runnable program.



Format

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


	where

	switches	are keywords chosen from the list below.

     source        is one or more source file specifications preceded
		    and/or  followed  by  switches.  You must separate
		    the source files with plus signs.	No  spaces  or
		    tabs  are allowed.	If you do not give a file type
		    in a file specification, the system  looks	for  a
		    source  file with one of the standard types.

     object         is an object file specification.  If  you  do  not
		    give an object file specification, the system uses
		    the name of the last  file	in  the  corresponding
		    sources and the type .REL.


	,...		means that, after commas, you can give more arguments
			of the form already shown


Hints

     Having loaded a runnable program,	you  may  then	start  it  (by
     giving  the START command) or save it on disk (by giving the SAVE
     command).

     The INFORMATION (ABOUT) MEMORY-STATUS is useful for checking  the
     size and placement of your program in memory.

     The LOAD command runs  the  LINK  program.   Refer  to  the  LINK
     Reference Manual for more information on this program.

     If you intend to run the program often, you should use, in order,
     the  LOAD,  SAVE  and  RUN commands.  (You will find this process
     faster than loading the program each time you run it.)

	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.




Special Cases

     If you give only LOAD-command switches as	arguments  to  a  LOAD
     command,  the  system  appends the arguments you gave in the last
     LOAD-class command that contained a file  specification  or  LINK
     switch,  then executes the command.  If there are no arguments to
     recall, the system prints the message ?No saved arguments.  Refer
     to  Section  8.3.4  which describes the manner in which arguments
     are recalled.

     The system will update the object file if it is  older  than  any
     one  of  the  corresponding  source  files.  Suppose you give the
     command:

     @LOAD (FROM) NXTLAT.FOR

     If NXTLAT.REL does not exist, or if it is	older  than  the  most
     recent  NXTLAT.FOR  (i.e.,  it  has a write date before the write
     date of NXTLAT.FOR),  then  the  system  compiles	NXTLAT.FOR  to
     produce  an  up-to-date  NXTLAT.REL.  After producing NXTLAT.REL,
     the system loads it into memory.


			LOAD Command Switches


       /ALGOL
	  Compiles the file using ALGOL.  This is  the	default  for
	  sources with the extension .ALG.

       /BINARY
	  Generates a binary (object) file for each source  program.
	  Normally the system generates object files, so this switch
	  is useful in reversing a global /NOBINARY switch.

       /COBOL
	  Compiles the program using COBOL.  This is the default for
	  sources with the extension .CBL.

       /COMPILE
	  (or an object file older than any one of its source files)
	  Compiles  the  source  program  regardless  of whether the
	  object file is up-to-date or not.  The  /NOCOMPILE  switch
	  causes compilation only if the object file is out-of-date;
	  the /RELOCATABLE  switch  causes  the  system  to  use  an
	  existing  object  file, regardless of its date.  Normally,
	  the system assumes the action of the /NOCOMPILE switch.

       /CREF
	  Creates a file containing cross-reference information  for
	  each source file you compile.  The name of the file is the
	  name of the last source file and the file  type  is  .CRF.
	  Give	the CREF command to run the CREF program which reads
	  this file and prints a listing.  If the object file is not
	  out  of  data,  include  the	/COMPILE switch in your LOAD
	  command.  When a source file contains a COBOL program, the
	  system  produces  a  listing	file  (the file type is .LST
	  instead   of	 .CRF)	 containing   the    cross-reference
	  information;	 give  the PRINT command (instead of CREF to
	  print the .LST file.

       /DDT
	  Loads the DDT debugger along with the program.

       /DEBUG
	  Provides additional debugging information  in  the  object
	  program (FORTRAN only).

       /FORTRAN
	  Compiles the file using FORTRAN.  This is the default  for
	  sources with the extension .FOR or a non-standard type.

       /LIBRARY
	  Loads only the routines from	the  object  file  that  are
	  called  by  the  main  program or another subroutine.  The
	  system libraries are always searched.

       /LIST
	  Prints a listing of each program you compile.  The listing
	  name	is  the  name  of  the last source file.  Unless you
	  specify this switch, the system does not print  a  listing
	  of  your program.  If you also include a /CREF switch, the
	  system ignores the /LIST switch.

       /MACRO
	  Assembles the file using MACRO.  This is the	default  for
	  sources with the extension .MAC.

       /MAP:name.typ
	  Produces loader maps during the loading process and stores
	  them in the file name.typ.  If you do not give a file name
	  and type, the system uses nnnLNK.MAP, where  nnn  is	your
	  job  number.	 The  /MAP  switch  applies  to  the  entire
	  command, not to just one file.   If  you  use  recognition
	  input in typing the file specification, the system creates
	  a new generation of the recognized file.

       /NOBINARY
	  Inhibits the generation of a binary (object)	file.	This
	  switch  is  useful along with the /CREF or /LIST switch to
	  produce listings without additionally producing an  object
	  file.

       /NOCOMPILE
	  Compiles a file only if  it  is  out-of-date.   Since  the
	  system normally does this, the /NOCOMPILE switch is useful
	  for turning off a global /COMPILE or /RELOCATABLE switch.

       /NODEBUG
	  Omits  loading  debugging  information  with	the  program
	  (FORTRAN only).

       /NOLIST
	  Inhibits the generation of a listing file.  Normally,  the
	  system does not generate a listing file.

       /NOOPTIMIZE
	  Inhibits the generation of optimized object files (FORTRAN
	  programs only).

       /NOSEARCH
	  Loads all routines in a file, regardless  of	whether  the
	  routines  are  called  by  another  module.  Normally, the
	  system loads all the routines in an object file, therefore
	  this	switch	is  useful  in	reversing  a  global /SEARCH
	  switch.

       /NOSYMBOLS
	  Inhibits loading symbols with the program.  Normally,  the
	  system loads symbols with all programs.

       /OPTIMIZE
	  Produces optimized object files (FORTRAN programs only).

       /RELOCATABLE
	  Uses the specified object files, even though they  may  be
	  out-of-date,	or  have  extensions  other  than .REL.  For
	  example,  the  command  LOAD	FILE.FOR/REL   would   cause
	  FILE.FOR  to be treated as a relocatable file and load it.
	  It would normally be regarded as a FORTRAN source file.

       /SEARCH
	  Is identical to the /LIBRARY switch.

       /STAY

		Returns your terminal to TOPS-20 command level so that you can 
		perform other work while the system continues to compile your 
		program.  You immediately receive the TOPS-20 prompt (@ or $)
		and can then issue any user command.  But be careful with
		commands that run programs, because those commands may clear
		memory and terminate the current process.  Also, you could
		easily send incorrect data to programs expecting terminal input.
		This switch saves you from having to: issue a ^T to make sure
		the compile has begun; give a ^C to halt compilation; and issue 
		a CONTINUE STAY command to remain at command level during
		compilation.

       /SYMBOLS
	  Loads the  program  with  its  appropriate  symbol  table.
	  Normally, the system loads all programs with symbols.


Operation

     1.  Type LOAD and press the ESC key;  the system prints (FROM).

	 @LOAD (FROM)

     2.  Type  (or  use   recognition	on)   the   sets   of	source
	 specifications,  object  specifications  and switches.  Press
	 the RETURN key.  The system loads the specified files.

	 @LOAD (FROM) TEST.FOR,SUB1.FOR
	 FORTRAN: TEST
	 FORTRAN: SUB1
	 LINK:	 Loading
	 @


Errors

     1.  If you give a command and one of the source files is missing,
	 the  system  continues  processing the command and prints the
	 message:

	 %SOURCE FILE MISSING - name.typ

	 where name.typ is the name and type of the source file.


Characteristics

     The LOAD command runs the	LINK  program,	thereby  clearing  any
     previous program from memory and leaving your terminal at TOPS-20
     command level.


Examples

     The user loads a simple MACRO program.

	@LOAD (FROM) TRANSL.MAC
	MACRO:	TRANSL
	LINK:	Loading

	EXIT
	@

     The user combines three FORTRAN programs into  one  main  program
     and includes the entire subroutine package TYPE2.

	@LOAD (FROM) 1+2+3,TYPE2
	FORTRAN: 1
	MAIN.
	FORTRAN: TYPE2
	TYPE2
	LINK:	Loading

	EXIT
	@

     The user loads a MACRO  program  and  obtains  a  cross-reference
     listing.	Note that you must use the /CREF switch to receive the
     listing.

	@LOAD (FROM) /CREF INIT.MAC+CONTRL.MAC+SUBS.MAC
	MACRO:	INIT
	MACRO:	CONTRL
	MACRO:	SUBS
	LINK:	Loading

	EXIT
	@

     The user loads his programs using an indirect file.

	@LOAD (FROM) @TYP.CMD
	FORTRAN: 1
	MAIN.
	FORTRAN: TYPE2
	TYPE2
	LINK:	Loading

	EXIT
	@

     The user loads his FORTRAN programs, but loading the library file
     TYPE2 in library mode.

	@LOAD (FROM) 1+2+3,TYPE2/LIBRARY
	LINK:	Loading

	EXIT
	@




				COMPILE Command


Function

     The  COMPILE  command  translates  one  or  more  source   files,
     producing one or more object files.



			 COMPILE Command Switches


	/68-COBOL	compiles the file using the COBOL-68 compiler
				Default for files of type .CBL

	/74-COBOL	compiles the file using the COBOL-74 compiler


       /ALGOL
	  Compiles the file using ALGOL.  This is  the	default  for
	  sources with the extension .ALG.

       /BINARY
	  Generates a binary (object) file for each source  program.
	  Normally the system generates object files, so this switch
	  is useful in reversing a global /NOBINARY switch.

       /COBOL
	  Compiles the program using COBOL-68.  This is the default for
	  sources with the extension .CBL.

       /COMPILE
	  Compiles the program regardless of whether the object file
	  is  up-to-date  or  not.   The  /NOCOMPILE  switch  causes
	  compilation only if the object file is out-of-date.

       /CREF
	  Creates a file containing cross-reference information  for
	  each source file you compile.  The name of the file is the
	  name of the last source file and the file  type  is  .CRF.
	  Give	the CREF command to run the CREF program which reads
	  this file and prints a listing.  If the object file is not
	  out  of  date, include the /COMPILE switch in your COMPILE
	  command.  When a source file contains a COBOL program, the
	  system  produces  a  listing	file  (the file type is .LST
	  instead   of	 .CRF)	 containing   the    cross-reference
	  information;	 give  the  PRINT  command in the form PRINT
	  name.LST (instead of CREF) to print the .LST file.


       /DEBUG
	  Provides additional debugging information  in  the  object
	  program (FORTRAN only).

       /FORTRAN
	  Compiles the file using FORTRAN.  This is the default  for
	  sources with the extension .FOR or a nonstandard type.

       /LANGUAGE-SWITCHES:"/switch(es)"
         passes the specified switches to the compiler that will process
         the file(s) to which this switch applies.  You must include the
         switches in double quotation marks ("  ").


       /LIST
	  Prints a listing of each program you compile.  The listing
	  name	is  the  name  of  the last source file.  Unless you
	  specify this switch, the system does not print  a  listing
	  of  your program.  If you also include a /CREF switch, the
	  system ignores the /LIST switch.

       /MACRO
	  Assembles the file using MACRO.  This is the	default  for
	  sources with the extension .MAC.

       /NOBINARY
	  Inhibits the generation of a binary (object)	file.	This
	  switch  is  useful along with the /CREF or /LIST switch to
	  produce listings without additionally producing an  object
	  file.

       /NOCOMPILE
	  Compiles a file only if  it  is  out-of-date.   Since  the
	  system  normally does this, the /NOCOMPILE switch is usful
	  for turning off a global /COMPILE or /RELOCATABLE switch.

       /NODEBUG
	  Omits  loading  debugging  information  with	the  program
	  (FORTRAN only).

       /NOLIST
	  Inhibits the generation of a listing file.  Normally,  the
	  system does not generate a listing file.

       /NOOPTIMIZE
	  Inhibits the generation of optimized object files (FORTRAN
	  programs only).

       /OPTIMIZE
	  Produces optimized object files (FORTRAN programs only).



Characteristics

	Compiling New sources Only

		The system usually compiles only hose sources for which there
		are no current object files, i.e. sources whose write dates are
		more recent than those of the object files of the same name.
		However, sources for which you supply a new object filename are
		compiled even if there are current object files.  You can always
		force compilation with the /COMPILE switch.


	Using Standard File Types

		If you specify source files with standard types (.FOR, .MAC,
		.CBL, or .ALG) in a COMPILE command, the system automatically
		calls the appropriate compile when compilation is necessary.  If
		you specify source files by filename only, the system searches
		your connected directory in the above order for a file of this
		name and a standard type.  To compile 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.


Hints

	Plus Signs Between Filespecs

		If you give two or more filespecs seperated by plus signs (+) as
		arguments to COMPILE, 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 the arguments (source and object filespecs,
		switches) of a COMPILE command in an indirect file, and specify
		them by typing an at sign (@) and its filespec as a COMPILE
		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 COMPILE command.  Insert this
		SET command in your COMAND.CMD file to change your own defaults
		permanently.



Restrictions

	Switches Assuming Compilation


		/CREF
		/DEBUG
		/LANGUAGE-SWITCHES
		/LIST
		/NODEBUG
		/NOLIST
		/NOOPTIMIZE
		/OPTIMIZE

		The above switches will not take effect unless the COMPILE
		command causes a new compilation of the relevant source file.
		See Characteristics - Compiling New Sources Only, above, for
		more information.


Effect on Memory and Terminal

	The COMPILE command clears memory and loads the appropriate compiler.
	After the compilation your terminal is left at TOPS-20 command level.


Related Commands

	LOAD, EXECUTE, and DEBUG	other LOAD-class commands for performing
					related functions



Operation

     1.  Type COMP and press the  ESC  key;   the  system  prints  ILE
	 (FROM).

	@compILE (FROM) ? one of the following:
	 /68-COBOL		/74-COBOL		/ALGOL
	 /ABORT			/BINARY			/CHECK
	 /COBOL			/COMPILE		/CREF
	 /CROSS-REFERENCE	/DDT			/DEBUG
	 /FAIL			/FLAG-NON-STANDARD	/FORTRAN
	 /LANGUAGE-SWITCHES:	/LIBRARY		/LIST
	 /MACHINE-CODE		/MACRO			/MAP
	 /NOBINARY		/NOCHECK		/NOCOMPILE
	 /NOCREF		/NOCROSS-REFERENCE	/NODEBUG
	 /NOFLAG-NON-STANDARD	/NOLIBRARY		/NOLIST
	 /NOMACHINE-CODE	/NOOPTIMIZE		/NOSEARCH
	 /NOSYMBOLS		/NOWARNINGS		/OPTIMIZE
	 /PASCAL		/RELOCATABLE		/SAIL
	 /SEARCH		/SIMULA			/SNOBOL
	 /STAY			/SYMBOLS		/WARNINGS
	  or File name
	  or "@"
	  or "%"
         @COMPILE (FROM)


     2.  Type  (or  use  recognition   on)   the   sets   of   sources
	 specifications,  object  specifications  and switches.  Press
	 the RETURN key.  The system translates the specified files.


         @COMPILE (FROM) TEST.FOR,SUB1.FOR
	 FORTRAN:  TEST
	 FORTRAN:  SUB1
	 @



Errors

     1.  If you give a command and one of the source files is missing,
	 the  system  continues  processing the command and prints the
	 message:

         %SOURCE FILE MISSING - name.typ

         where name.typ is the name and type of the source file.




Examples


	1.	The user compiles a simple MACRO program.

        @COMPILE (FROM) TRANSL.MAC
	MACRO:	TRANSL
	@



	2.	The user compiles three FORTRAN programs into one main  program,
     and the entire subroutine package TYPE2.

        @COMPILE (FROM) 1+2+3,TYPE2
	FORTRAN:  1
	MAIN.
	FORTRAN:  TYPE2
	TYPE2
	@


	3.	The user assembles a MACRO program, producing  a  cross-
	reference
     listing.

        @COMPILE (FROM) /CREF INIT.MAC+CONTRL.MAC+SUBS.MAC
	MACRO:	INIT
	MACRO:	CONTRL
	MACRO:	SUBS
	@


	4.	The user  compiles  his  programs,  using  the  arguments  in
	  an indirect file.

        @COMPILE (FROM) @TYP.CMD
	FORTRAN:  1
	MAIN.
	FORTRAN:  TYPE2
	TYPE2
	@


	5.	Compile a FORTRAN program, using a switch to indicate the proper
		compiler.  Use the /STAY switch to return immediately to TOPS-20
		command level.

		@COMPILE TEST/FORTRAN/STAY
		@PUSH
		@EDIT LOGIN.CMD


	6.	Create an indirect file, use it to compile several programs,
		forcing a compilation of the last one and storing its object
		file under a new name.


		Using an Editor, insert the following 2 lines into UPDATE.CMD:-

		/COBOL FSTQ,SNDQ,THDQ,FTHQ/COMPILE ANNUAL
		$
		
		@COMPILE @UPDATE.CMD
		COBOL:	DMN	[FSTQ.CBL]
		COBOL:	DMN	[SNTQ.CBL]
		COBOL:	DMN	[THTQ.CBL]
		COBOL:	DMN	[FTTQ.CBL]

		EXIT
		@DIRECTORY,
		@@CHRONOLOGICAL WRITE
		@@REVERSE
		@@
		 PS:<A-MOLE>
		ANNUAL.REL.1
		THDQ.REL.1
		SNDQ.REL.1
		FSTQ.REL.1
		UPDATE.CMD.1
		017CRE.TMP.100017;T
		FTHQ.CBL
		THDQ.CBL
		SNDQ.CBL
		FSTQ.CBL

		Total of 10 files
		@

			   DELETE Command


Function

     The  DELETE  command  marks  a  disk  file(s)  for  eventual
     erasure.



Format

     @DELETE (FILES) filespec,...,
     @@subcommand

     where

     filespec       is a single file specification or a string of file
		    specifications (separated by commas) that indicate
		    the files to be deleted.  A file specification has
		    the form:

                    dev:<dir>name.typ.gen

                    If you omit dev:  or <dir>, the system  uses  your
		    connected  structure  and/or  directory.  You must
		    give  a  file  name.    You   can	use   wildcard
		    characters.
		    Default - .gen All generations of the specified file

     @@             means that after a final comma you can give subcommands
                    on the next line

     subcommand     is a keyword, chosen from the list below, indicating
                    your choice of DELETE command options.



                      DELETE command subcommands

     ARCHIVE
	this both deletes the disk copy (if any0 and gives up the tape copy of
	specified archive files.

     CONTENTS-ONLY
	deletes and immediately expunges only the disk copies of files that
	also have a tape copy. Note that you must use the RETRIEVE command, not
	UNDELETE, to retore such files to disk.

     DIRECTORY
	deletes and immediately expunges directory files without making their
	disk space available to the files of other users; for users with
	enabled Wheel or Operator capabilities only.

     EXPUNGE
	immediately and permanently erases the specified files from the
	directory so that UNDELETE has no effect.

     FORGET
	deletes and immediately expunges the specified fiels without making
	their disk space available to the files of other users; for users with
	enabled Wheel or Operator capabilities only.

     KEEP n

        saves the n most recent generations of the specified files while
	deleteing the rest.
	Default n = 1


Hint

     Removing open files
	If DELETE with the EXPUNGE subcommand fails to erase a file,
	it may be that some job in the system has opened it. The
	INFORMATION FILE-STATUS command tells whether your own job
	has done so. If it has, give the CLOSE or (if the file is
	mapped) RESET command before repeating DELETE and EXPUNGE.

     Recovering deleted archived files
	If you have given the DELETE command with the ARCHIVE
	subcommand to delete an archived file, and the disk copy has
	already been expunged, you may still be able to recover the
	tape copy. The operator will send a MAIL message concerning
	the discarded tape copy of the deleted file. Use this
	information, along with Hints - undoing DISCARD command
	description, to attempt recovery of the deleted file.

     Files with the 'Permanent' attribute
	The system erases only the contents of any files that have
	the 'Permanent' attribute (eg. MAIL.TXT in your log-in
	directory) when you include them in a DELETE command. Their
	file specifications remain among your deleted files, and
	cannot be removed by TOPS-20 commands.

Operation

     1.  Type DELE and press  the  ESC  key;   the  system  prints  TE
	 (FILES).

         @DELETE (FILES)

     2.  Type  (or  use  recognition  on)  the  file  specification(s)
	 (separated  by  commas)  that you want to delete;  then press
	 the RETURN key.  If you want to give  a  subcommand,  do  not
	 press the RETURN key;	proceed to step 3.

         @DELETE (FILES) ADDTWO.REL.3
	  ADDTWO.REL.3 [OK]
	 @

     3.  To give a subcommand, type a comma,  then  press  the  RETURN
	 key.  The system prints @@.

         @DELETE (FILES) *.FIL,
	 @@

     4.  Type  the  subcommand  and  press  the  RETURN  key  once  to
	 terminate  the  subcommand and a second time to terminate the
	 entire command.

         @DELETE (FILES) *.FIL,
	 @@KEEP 1
	 @@
	  SORT.FIL.3 [OK]
	  T.FIL.1 [OK]
	  TAP.FIL.2 [OK]
	 @



Output

     As the system starts to delete each  file,  it  prints  the  file
     specification  and leaves a space.  When the file is deleted, the
     system prints the success message [OK].


Characteristics

     The DELETE command does not change  any  program  in  memory  and
     leaves your terminal at TOPS-20 command level.

Examples

     The user deletes the file TEST.FIL:

        @DELETE (FILES) TEST.FIL
	 TEST.FIL.2 [OK]
	@

     The user deletes all the files with the file type .QOR:

        @DELETE (FILES) *.QOR
	 ADDEM.QOR.2 [OK]
	 RESULT.QOR.1 [OK]
	 TEST.QOR.1 [OK]
	 ZEROS.QOR.5 [OK]
	@

     The user keeps two generations of every file in his directory.

        @DELETE (FILES) *.*,
	@@KEEP 2
	@@
	 ADDTWO.REL.2 [OK]
	 NUMBER.FOR.4 [OK]
	 SQRT.ALG.1 [OK]
	@

Related commands

     DIRECTORY-class commands		for obtaining lists of file
					specifications

     DISCARD				for deleteing only the tape copy of
					on-line files

     EXPUNGE				for permanently removing deleted files

     INFORMATION DISK-USAGE		for finding out how much disk-space
					is available, and how much is
					associated with deleted files

     UNDELETE				for recovering deleted files



				HELP Command


Function

     The HELP command prints information about system features.


Format

     @HELP name

          name      is the name of the program  you  need  information
		    for (default name: HELP).

Hints

     If you want a list of features you can obtain information  about,
     type  the	HELP command followed by a question mark in place of a
     name.


     The text displayed by the HELP command are stored in system
     logical name HLP: under the name of the program and file
     type .HLP. Use the PRINT command to request your own copy.

Effect on Memory and Terminal

     The HELP command does not effect memory and leaves your terminal
     at TOPS-20 command level.


Operation


     1.  Type HELP and leave a space.

              @HELP


     2.  Type the name of the feature or a question  mark  then  press
	 the RETURN key.  The system prints the information.

              @HELP EDIT


     3.  If you want to stop the printout, type two CTRL/C's.



Errors


     1.  If the system does not have any information on the particular
	 feature, it prints the message:

              ?INVALID HELP REQUEST, TRY HELP <RET>



Examples

     The user prints information about the EDIT program.

          @HELP EDIT
	  SUMMARY OF EDIT COMMANDS
	  @



				CREF Command


Function
     The CREF command runs the CREF program, which produces
     Cross-reference listings from files of type .CRF
     (these .CRF  files  are produced by LOAD-class commands).


Format

     @CREF/switch   destinaton filespec=source filename, source filename

     where

     destinaton filespec	is the name of the file or device to
				which you want to send the processed
				contents of the .CRF file.
				All  input  files  for each command
				are combined to produce one output
				cross reference listing file.

				Default = send to line printer


     source filename		is the name of the .CRF file you want
	  			to process.
	 			Default = the names of all files of
        			type .CRF produced during the current
      				terminal session


     switches

		A       Advance magtape by one file mark (may be repeated).
		B       Backspace magtape one file mark (may be repeated).
		C       Cancel SWITCH.INI switch defaulting.
		D       Default switches a la SWITCH.INI.
		H       Help - type this text.
		K       Kill user-defined symbol table listing.
		M       Suppress user macro's, OPDEF's, etc. symbol table.
		O       List the opcodes.
		P       Preserve (i.e., don't delete) input files.
		R       Restart listing - will prompt for line number.
		S       Suppress program listing - list only symbol tables.
		W       Rewind tape.
		Z       Zero DECtape directory.


Effect om Memory and Terminal

     The CREF command runs the CREF program to  produce  the  listing,
     thereby  clearing	any  previous  program from memory, and leaves
     your terminal at TOPS-20 command level.  If you forget to precede
     the  CREF	command with the LOAD-class command containing a /CREF
     switch, the system prints an asterisk and leaves your terminal at
     CREF  command  level.  Type a CTRL/C to return to TOPS-20 command
     level.

Hints

     Preserving .CRF Files After Processing
	Give /P switch immediately after the CREF command to preserve .CRF
	files. Ordinarily they are deleted after being sent to an output
	device or copied into another file.

     Producing .CRF Files
	To create a listing of your  program,  first  give  a  LOAD-class
	command  with the /CREF switch and then give the CREF command.  A
	cross-reference listing contains your source program plus a  list
	of  all  the  symbols  in the  program  and  the locations that
	reference them.

	If you want to place the listing in a  file,  do  the  following.
	Type  R  CREF  and  press the  RETURN key;  the system prints an
	asterisk. Type the file specification of the output file, an  =,
	and the name of the .CRF file.  Press the RETURN key;  the system
	prints a message and a second *.  Type  a CTRL/C to  return  to
	TOPS-20  command level.  If you want to print this file, give the
	PRINT command.  Refer to the second example.

     Further Information
	For more detailed information about the CREF program, including
	all available switches, give the HELP CREF command.


Restrictions

     If the .CRF file is in your logged-in directory but  was  created
     before  you logged in, the system will not produce a listing file
     from it.  To produce the listing file in this case, refer to  the
     second example.


Examples

     The user produces a cross-referenced listing.

        @CREF
	CREF:	 TMAC
	@

     The user forces the production of a .CRF file, then runs the CREF
     program and keeps the file without printing it.

        @COMPILE (FROM) /COMPILE /CREF FILEIO
	MACRO:	 FILEIO

        EXIT
	@R CREF

        *FILEIO.REF=FILEIO
	[CRFXKC 3K CORE]
	*^C
	@






				POP Command


Function

     The POP command terminates the current command level and  returns
     you to the next higher level.


Format

     @POP (COMMAND LEVEL)

     There are no arguments to the POP command.



Hints

     After giving the POP command, you can give the  CONTINUE  command
     to  resume  execution  of a program you had previously stopped by
     typing two CTRL/Cs.

     The PUSH command performs the exact opposite function by creating
     a new copy of the command language.  Therefore, you can interrupt
     one program with 2  CTRL/Cs,  do  a  PUSH	command,  run  another
     program,  do  a  POP command, and successfully continue the first
     program.



Operation

     1.  Type POP and press the ESC key;  the system  prints  (COMMAND
	 LEVEL).

	 @POP (COMMAND LEVEL)

     2.  Press the RETURN key;	when the  system  has  terminated  the
	 current command level, it prints an @.

	 @POP (COMMAND LEVEL)
	 @


Characteristics

    POP the Opposite of PUSH
	You can do only and only one POP command for every previous PUSH
	command. Giving too many POP commands will cause an error message
	to be printed on your terminal (see errors).

    Job Parameters Affected by POP
	AS soon as you complete a valid POP command at some level of
	TOPS-20, you give up the copy of memory for that level of
	TOPS-20 and any program you were running. Any defaults
	established at that level (e.g., default filespecs for LOAD-
	class and EDIT-class commands, defaults specified by SET DEFAULT
	commands) are cancelled as well. If POP returns you to a higher
	level of TOPS-20, all these parameters revert to any value 
	established at that higher level.


Errors
     1.  If there is no previous level, the system ignores the command
	 and prints the message:

	 ?NO HIGHER COMMAND LEVEL



Effect on Memory and Terminal
     The POP command clears any program from  memory,  terminates  the
     current  TOPS-20  command level, and returns your terminal to the
     TOPS-20 command level from which you gave the  most  recent  PUSH
     command.  Note that this previous copy of memory is generally not
     disturbed by any command (except LOGOUT) you may give between the
     PUSH and POP commands.


Special Cases

	Returning to Other Programs with POP

		The POP command usually returns you to the level of TOPS-20
		from which you gave a pervious PUSH command.  But a few system
		programs (e.g. PTYCON and OPR) also allow you to give PUSH to
		get a new level of TOPS-20.  Giving the POP command to this
		level of TOPS-20 returns you to that program.


Related Commands


	CONTINUE		for resuming execution of a program in memory

	PUSH			for obtaining a new level of TOPS-20



Examples

     The user terminates the current command level.

	 @POP (COMMAND LEVEL)
	 @

     The user runs his compute-bound program for almost  an  hour  and
     receives  an  error  because  he has forgotten to create a simple
     file.  The user types a CTRL/C, gives the PUSH  command,  creates
     the  file,  gives	the  POP  command, and returns to the original
     TOPS-20 command level.  The user gives the  CONTINUE  command  to
     continue his program exactly where he left off.

	@RUN (PROGRAM) CHKERR

	DATA FILE: RUN54.DAT
	COMPARISON FILE: RUN20.DAT

	%FRSOPN File was not found
	Unit=1 DSK:PARAM.R20/ACCESS=SEQIN/MODE=ASCII

	Enter new file specs. End with an $ (ALT)
	*^C
	@PUSH (COMMAND LEVEL)

	 TOPS-20 Command processor 2(236)
	@CREATE (FILE) PARAM.R20
	Input: PARAM.R20.1
	00100	35 CHECKS
	00200	$
	*E

	[PARAM.R20.1]
	@POP (COMMAND LEVEL)
	@CONTINUE
	$
	STOP

	END OF EXECUTION
	CPU TIME: 36:8.94     ELAPSED TIME: 59:14.58
	EXIT
	@




				RETRIEVE Command


Function

	The RETRIEVE command restores an off-line file (magnetic tape copy of a
	file) to disk.


Format

	@RETRIEVE (FILES) filespec,...

	where

	filespec		is the specification of any off-line file
				(archived or not, visible or invisible) to which
				you have access;  you may include wildcard
				characters (% and *).

	,...			means that, after a comma, you can give more
				arguments of the form already shown


Output

	Acknowledgment of Request


		As soon as you complete a valid RETRIEVE command, the system
		responds by printing on your terminal the specification of
		each off-line file for which you requested retrieval, followed
		by [OK].


	Notice of Retrieval Sent to Requestor


		When the files for which you have requested retrieval have been
		restored to their directory on disk, a message is sent to the
		file MAIL.TXT in your log-in directory.  This message gives the
		complete specification of each retrieved file.  Read it using
		the RDMAIL or MS program.  Remember that, depending on how
		frequently your site processes retrieval requests, this message
		may not be sent until one or more days after your request.



Characteristics


	Invisibility of Retrieved Files

		If you retrieve invisible files, they will remain invisible
		(whether archived or not) when restored to disk.  Use the SET
		FILE VISIBLE command to make invisible files visible.  Until
		you do so, they will be inaccessible to most TOPS-20 commands.


Hints

	Using Retrieved Archived Files

		As long as a retrieved archived file is visible, you can inspect
		using the TYPE or PRINT command, or list its specifications
		using DIRECTORY-class commands.  However, you cannot add to it
		or change it (e.g. by using APPEND or an EDIT).  To make
		changes to a retrieved copy of an archived file, first use the
		COPY command to copy it to a new specification.  If you wish, 
		you can then request archival for this new file (using the
		ARCHIVE command) and delete the old one (using the DELETE
		command with the ARCHIVED subcommand).  You can return an
		(unchanged) on-line archived file to off-line status by using
		the DELETE command with the CONTENTS-ONLY subcommand, or
		withdraw archive status from the file (i.e. make it an ordinary
		disk file) by using the DISCARD command.


	Using Retrieved Non-archived files

		As long as a retrieved non-archived file is visible, you can
		use TOPS-20 commands with it as with any other disk file.  The
		only difference is that after any command that has changed the
		file, the tape copy of the file is no longer valid.  This means
		that you cannot give the DELETE command with the CONTENTS-ONLY
		subcommand to return the file to off-line status.


Special Cases


	Implied Retrieval Requests

		If your system has enabled the "automatic retrieval-wait"
		feature (give the INFORMATION SYSTEM-STATUS command to find out
		whether it has), and the SET RETRIEVAL-WAIT command is in 
		effect for your job, any command that attempts to use an off-
		line file will create an automatic retrieval request for that
		file.  Under these conditions, commands such as TYPE or COPY
		for which you specify off-line files will not be executed until
		those files are retrieved.  Implied retrieval requests are most
		useful to batch jobs.


Related Commands


	ARCHIVE						for requesting archival
							of specified files



	CANCEL RETRIEVE					for canceling retrieval
							requests before are
							filled


	DELETE (with CONTENTS-ONLY subcommand)		for deleting the disk
							contents only of
							retrieved (i.e. on-
							line files



	DIRECTORY (with OFFLINE subcommand)		for listing the specs
							of visible off-line
							files



	DIRECTORY (with OFFLINE  and INVISIBLE subcommands) for listing the
							specs of invisible
							off-line files



	DIRECTORY (with TIMES TAPE-WRITE subcommand)	for finding out the
							write date of the tape
							copy of files



	DISCARD						for giving up the tape
							copy of retrieved files



	INFORMATION RETRIEVAL-REQUESTS			for finding out the
							status of retrieval
							requests




Effect on Memory and Terminal


	The RETRIEVE command does not affect memory and leaves your terminal at
	TOPS-20 command level.




Examples


	1.	Retrieve an off-line file.

		@RETRIEVE BRCHIVE.TXT
		 BRCHIVE.TXT.1 [OK]
		@



	2.	Attempt to use a file.  Upon discovering that it is off-line,
		retrieve the file.  When it has been restored to your directory
		discard the tape copy of the file, and then have it printed on
		your terminal.


		@TYPE FILBRK.HLP
		 ?File is off-line:FILBRK.HLP.1
		@RETRIEVE FILBRK.HLP
		 FILBRK.HLP.1 [OK]
		     .
		     .
		     .
		@DISCARD FILBRK.HLP
		 FILBRK.HLP.1 [OK]
		@TYPE FILBRK.HLP
		!THIS IS JUST A TEST
		@



	3.	Get a listing of your archived files.  Retrieve one that is 
		off line, examine it  & return it to off-line status.


		@DIRECTORY,
		@@ARCHIVE
		@@

		 US:<A-MOLE>
		ARCHEK.FIL.1
		ARCHIVE.ALSO.1;OFFLINE
		  .NOT.1;OFFLINE
		  .TOO.1;OFFLINE
		  .ZOTH.1
		ARTEST.QUL.1
		BRCHIVE.TST.1;OFFLINE
	
		Total of 7 files
		@RETRIEVE BRCHIVE TXT
		 BRCHIVE.TXT.1 [OK]
		     .
		     .
		     .
		@TYPE BRCHIVE.TXT
		!A TEST FILE
		@DELETE BRCHIVE.TXT,
		@@CONTENTS-ONLY
		@@
		US:<A-MOLE>BRCHIVE.TXT.1 [OK]
		US:<A-MOLE>[1 page freed]
		@		  



	4.	Get an inclusive listing of off-line files, including the date
		the tape copy was written.  Retrieve three of them, and check
		the requests in the retrieval queue.  Cancel 1 or the requests.


		@DIRECTORY,
		@@OFFLINE
		@@TIMES TAPE-WRITE
		@@
		
		   PS:<A-MOLE>
				  Tape-write             
		
		 FACS.DIC.22;OFFLINE 27-Feb-85 11:12:06 
		 FACSCURRENTSYSTEM.RNO.40;OFFLINE 15-Feb-85 14:09:08 
		 FACSERRORS.CPY.1;OFFLINE 15-Feb-85 14:09:11 
		   .RNO.21;OFFLINE 15-Feb-85 14:09:13 
		 FACSNEWSYSTEM.RNO.124 27-Feb-85 11:12:08 
		
		 Total of 5 files
		@DIRECTORY,
		@@OFFLINE
		@@INVISIBLE
		@@TIMES TAPE-WRITE
		@@
		
		   PS:<A-MOLE>
				  Tape-write             
		
		 HALE1.EDGES.2;OFFLINE 31-Aug-83 10:21:57 
		 KIRSCH.EDGES.2;OFFLINE 31-Aug-83 10:22:09 
		 LAP1.EDGES.2;OFFLINE 31-Aug-83 10:22:11 
		 MAGISCAN.TXT.7;OFFLINE 27-Feb-85 11:12:11 
		 PREWIT.EDGES.2;OFFLINE 31-Aug-83 10:22:19 
		 RFELD.EDGES.2;OFFLINE 31-Aug-83 10:22:24 
		 ROBRTS.EDGES.2;OFFLINE 31-Aug-83 10:22:35 
		 SOBEL.EDGES.2;OFFLINE 31-Aug-83 10:22:37 
		
		 Total of 8 files
		@RETRIEVE FACENEWSYSTEM.RNO,LAP1.EDGES
		 FACSNEWSYSTEM.RNO.124 [OK]
		 LAP1.EDGES.2 [OK]
		@INFORMATION RETRIEVAL-REQUESTS

		RETRIEVAL QUEUE:
		 Name	Req#	Tape1	Tape2	User
		 ----	----	-----	-----	----

		FACSNE	507	5329	5520	A-MOLE
		TESTIT	505	5307	3847	PANDORA
		LAP1	508	2958	3847	A-MOLE
		RATFOR	506	3485	3958	A-USER
		
		There are 4 jobs in the Queue (None in progress)

		@CANCEL RETRIEVE 507
		[1 job canceled]
		@

				TDIRECTORY Command


Function

	The TDIRECTORY (Time-ordered DIRECTORY) command prints a list of your 
	files, ordered by the date and time the files were most recently 
	written to the least recently written.

	When used with magnetic tapes, the TDIRECTORY command is 
	equivalent to DIRECTORY for magnetic tapes.


Format

     @TDIRECTORY (OF FILES) filespecs

     filespecs	    is a list of the file specifications  about  which
		    you  want  to obtain the information.  If you omit
		    the  file  specifications,	 the   system	prints
		    information  about all the files in your connected
		    directory.

Hints

     Giving  the  TDIRECTORY  command  is  exactly  like  giving   the
     DIRECTORY	command with the subcommands CHRONOLOGICAL (BY) WRITE,
     REVERSE (SORTING), and TIMES (AND DATES OF) WRITE.  Refer to  the
     DIRECTORY	command for more information;  you can give any of the
     DIRECTORY subcommands with TDIRECTORY.



Operation

     1.  Type TDIR and press the ESC key;  the	system	prints	ECTORY
	 (OF FILES).

	 @TDIRECTORY (OF FILES)

     2.  Type (or use recognition on) the  file  specifications,  then
	 press	the  RETURN  key.   The  system  prints  the directory
	 information.

	 @TDIRECTORY (OF FILES) EDIT

	    <MCKIE>
			 WRITE

	  EDIT.EXE.1	 17-NOV-75 16:32:48
	 @


Output

     The system lists the files in the	order  of  the	most  recently
     written  file  to the least recently written file.  The following
     information is listed for each file:

     1.  Name, type, generation number,

     2.  The date and time the file was last written, and

     3.  A line summarizing the number of  listed  files  (if  greater
	 than 1).


Effect on Memory and Terminal

     The TDIRECTORY command does not change any program in memory  and
     leaves your terminal at TOPS-20 command level.


Examples

     The user obtains the information about all  his  files  with  the
     name DUMPER.

	@TDIRECTORY (OF FILES) DUMPER

	   <MCKIE>
			WRITE

	 DUMPER.MEM.2	 6-NOV-75 20:28:49
	   .TXT.4	 6-NOV-75 19:18:30
	   .RNO.2	27-JUL-66 05:00:00

	 TOTAL OF 3 FILES
	@

				SAVE Command


Function

     The SAVE command saves the program in memory in a disk file or on
     magnetic tape.



Format

     @SAVE (ON FILE) filespec (PAGES FROM) loc1 (TO) loc2, loc3, loc4, ...

	where

	filespec	is the file spec under which you want to store the
			program
				Default filespec - program name.EXE


	loc1 loc2,	are pairs of octal numbers or symbolic expressions that
	loc3 loc4,	specify the span(s) of memory pages you want to save
				Default loc1 loc2 - all assigned pages of memory
						    from 0 to the highest page
						    number of the highest
						    existing section



Hints

     After giving the LOAD command to  load  an  object  program  into
     memory,  you  may	give  the  SAVE command to store a copy of the
     resulting executable program in a disk file or on magnetic  tape.
     To  run  the  stored program, give the RUN command instead of the
     EXECUTE command.  You will notice that the RUN  command  is  much
     faster  and  cheaper  than the EXECUTE command.

     The file containing the copy of memory  is  called  an  EXE  file
     because  its  file  type  is  .EXE  and  because  it  contains an
     executable program.



Operation

     1.  Type SAVE and press the  ESC  key;   the  system  prints  (ON
	 FILE).

	 @SAVE (ON FILE)

     2.  Type (or use recognition on)  the  file  specification,  then
	 press the RETURN key.	In using recognition on the file type,
	 the system defaults the output file type  to  .EXE.   If  you
	 want  to use the default (the name of the current program and
	 the file type .EXE), press the RETURN key  without  typing  a
	 file specification.

	 @SAVE (ON FILE) TEST.EXE.1 !New file!	(PAGES FROM)
	  TEST.EXE.1 SAVED
	 @

	 The guide words (PAGES FROM) indicate a  field  which	allows
	 you to save only a portion of memory.	Generally you will not
	 have to use this portion of the command, so ignore it.



Errors

     1.  If you have no program in  memory,  the  system  ignores  the
	 command and prints the message:

	 ?No program

	 Load a program into memory using the LOAD command or the LINK
	 program.

Characteristics

     The SAVE command does not	change	the  contents  of  memory  and
     leaves your terminal at TOPS-20 command level.


Related Commands


	GET		for putting a saved into memory

	LOAD		for putting a source or object file into memory

	RUN		for running a saved program

	START		for starting the program in memory



Examples

     The user saves his program using the default file specification.

	@SAVE (ON FILE)
	 PTYCON.EXE.1 SAVED
	@

     The user saves his program, giving his own file specification.

	@SAVE (ON FILE) FINLK.EXE.2
	 FINLK.EXE.2 SAVED
	@

     The user saves the DUMPER program on magnetic tape drive 1.

	@SAVE (ON FILE) MTA1:
	 MTA1: DUMPER SAVED
	@

				TAKE Command

Function

	The TAKE command tells ths system to process TOPS-20 commands stored
	in the specified file.

Format

	@TAKE (COMMANDS FROM) filespec1 (LOGGING OUTPUT ON) filespec2,
	@@subcommand


	where

	filespec1		is the spec of the file containing the commands
				to be processed
					Default file type - .CMD

	filespec2		is the name of the file or device you want to
				receive any output of the commands.  This field
				will be removed in the next major release of
				TOPS-20.  Start to use the LOG-FILE subcommand
				(see below)
					Default filespec2 - TTY:


	@@			means that, after a comma, you can type 1 of the
				subcommands below.



	subcommand		can be 1 of these:


			ALLOW		which tells the current level
					of TOPS-20, for the remainder
					of the terminal session (not
					merely the current command), to
					continue processing a command
					file if it encounters errors


			DISALLOW	which tells the current level
					of TOPS-20, for the remainder
					of the terminal session (not
					merely the current command), to
					ignore any remaining commands
					in a command file if it 
					encounters an error in the file
						Default
	

			ECHO		which tells the system to print
					(on you terminal or in the
					specified file) the commands
					that it carries out while
					executing the current TAKE
					command.  Ordinarily only the 
					output, if any, produced by the
					commands is printed.



			NOECHO		which tells the system not to 
					print the commands
					that it carries out while
					executing the current TAKE
					command.  A final message is
					sent, however, indicating
					whether all the commands were
					executed.  See also Hints -
					Suppressing the Final Message
						Default


		LOG-FILE filespec	which tells the system to save
					the output from the current TAKE
					command in the specified file.
					Note that use of this subcommand
					in place of "filespec2" is
					optional in TOPS-20 V5;
					"filespec2" will be removed in a
					future software release, and use
						of LOG-FILE will then be
						required.


Output

	The output from a TAKE command consists of the output for each command
	in the command file you specify as argument, followed by the message
	"End of filespec" that indicates successful execution of all the
	commands in the file.



Characteristics

	Running Programs From a Command File

		If you put commands that run programs (including the PUSH
		command) int a command file, and these programs ask for
		arguments, you must be ready to type in these arguments at your
		terminal.  Only TOPS-20 commands and command arguments can be
		put into a command file executed by the TAKE command.



Hints

	Suppressing the Final Message

		If you want to suppress the final message that indicates
		successful execution of a command file by TAKE, give a TAKE
		command with no arguments as the last line of your command
		file.


Special Cases

	Nested TAKE Commands

		In the case of nested TAKE commands (those given as commands
		within command files), the destination for output of commands
		given in an inner command file will default to that specified
		or assumed for the output of commands given in the nearest
		surrounding command file.



Effect on Memory & Terminal

	The TAKE command affects memory and your terminal according to the
	commands stored in the command file you specify as argument.



Related Commands


	INFORMATION commands	(when put into a command file) for tracing the
				progress of TAKE


	LOGIN			for logging in; reads LOGIN.CMD then COMAND.CMD
				in your log-in directory.


	PUSH			for obtaining a new level of TOPS-20; reads
				COMAND.CMD in your log-in directory.


	SUBMIT			for processing command files that run programs
				and contain program commands as well as TOPS-20
				commands; reads BATCH.CMD, then COMAND.CMD in 
				your log-in directory.



Examples


	1.	Process a command file.


		@TAKE BACKUP.CMD
		 End of BACKUP.CMD.1
		@


	2.	Create a command file to report system statistics, then give
		the TAKE command with this filename as argument; send the output
		to the line printer.  Check for this listing as is it being
		printed.

		Put the following lines into file STATUS.CMD using an editor:

		INFORMATION DISK-USAGE
		INFORMATION MONITOR-STATISTICS
		INFORMATION SYSTEM-STATUS
		INFORMATION MEMORY-USAGE
		SYSTAT ALL
		$

		@TAKE STATUS LPT:
		 End of STATUS.CMD.1
		@INFORMATION OUTPUT-REQUESTS/USER
	
		Printer Queue:
		Job Name	Req#	Limit	User
		--------	----	-----	----
		 EXEC		507	   27	A-MOLE
		There is 1 Job in the Queue (None in Progress)

		@




				UNDELETE Command


Function

     The UNDELETE command restores previously DELETEd  disk  files  to
     their normal status.



Format

     @UNDELETE (FILES) filespecs

     filespecs	    is a single file specification or a string of file
		    specifications (separated by commas) that indicate
		    the files to be undeleted.	If you do not  give  a
		    generation	 number,   all	 the  files  with  the
		    specified name and type will be undeleted.


Hints

     If you use the default  for  the  UNDELETE  command,  the	system
     undeletes	all  the  available  generations  of that file.  Thus,
     after the UNDELETE command you may have more than one  generation
     of  a  file.   The  next time you create a new generation of that
     file or append to the highest generation, the system deletes  all
     but one (or the number specified by your file-retention-count, if
     it is different from one) generation(s) of that file.  (To change
     the file-retention-count, refer to the SET command;  to print the
     file-retention-count of a file, give the FDIRECTORY command.)  Be
     sure  that  a  file  you  need  is  not accidentally deleted (and
     consequently expunged).



Operation

     1.  Type UNDE and press the ESC  key;   the  system  prints  LETE
	 (FILES).

	 @UNDELETE (FILES)

     2.  Type (or use recognition on) the file specifications you want
	 undeleted,  then  press  the RETURN key.  The system prints a
	 line for each file, indicating whether it can be undeleted or
	 not.

	 @UNDELETE (FILES) T.FIL.*
	  T.FIL.2 [OK]
	  T.FIL.3 [OK]
	 @


Errors

     1.  If any one of the files you are trying to undelete  does  not
	 exist,  the  system ignores the entire command and prints one
	 of the following messages:

	 ?File not found
	 ?No such file type
	 ?No such generation number


Characteristics

     The UNDELETE command prints  no  error  message  when  it	cannot
     restore  a  set  of  files  you  have specified with the wildcard
     construction.

     The UNDELETE command does not change  a  program  in  memory  and
     leaves your terminal at TOPS-20 command level.


Restrictions

     You cannot undelete files that have been expunged (i.e., actually
     removed from disk storage).  At no time does the system guarantee
     that you can undelete a previously deleted file - it is a feature
     available	only when there is enough system disk space available.
     If your attempt to UNDELETE a file fails, ask the	operator  (via
     the  PLEASE  program)  to restore the file from the system backup
     tapes.

     If MAIL.TXT is deleted, its contents  are	immediately  expunged.
     Therefore,  a subsequent UNDELETE command to MAIL.TXT will return
     the filename but none of its contents.


Special cases

	Restoring Files Deleted With CONTENTS-ONLY Subcommand

		Any files deleted by a DELETE command with s CONTENTS-ONLY
		subcommand are immediately expunged.  You must use the RETRIEVE
		command to restore these to disk.


Related Commands

	DELETE				for deleting files

	DIRECTORY-class commands	for obtaining lists of deleted files
					(with DELETED subcommand)

	EXPUNGE				for permanently erasing deleted files

	RETRIEVE			for restoring off-line files to disk



Examples

     The user undeletes a single file.

	@UNDELETE (FILES) OUTPUT.TXT.4
	 OUTPUT.TXT.4 [OK]
	@

     The user undeletes all the files with the name T.

	@UNDELETE (FILES) T.*
	 T.MEM.4 [OK]
	 T.RNO.2 [OK]
	 T.TXT.5 [OK]
	@

				DISMOUNT Command


Function

	The DISMOUNT command gives up access to the specified structure or tape
	set.


Format

	@DISMOUNT medium (NAME) dev:  /switch(es)

	where

	medium		is one of the following:

			STRUCTURE - for dismounting file structures (disk packs)

			     TAPE - for dismounting mag tapes

	dev:		is either the structure identification (or alias), or a
			logical name referring to the tape set, e.g. the tape
			setname specified in your previous MOUNT command, or a 
			logical device name of the form MTn:.  It must be of 39
			or fewer alphanumeric characters & must be terminated by
			a colon.

	/switches	are keywords chosen from the list below, indicating 
			your choice of ISMOUNT command options.



			DISMOUNT Command Switches
		(for use with the argument STRUCTURE only)


	/NOWAIT		tells the system to return your terminal to TOPS-20 
			command level as soon as you give the DISMOUNT command
			& to send a message to your terminal when the request
			has been processed.  Otherwise, your terminal waits for
			the message.


	/REMARK:"remark"
			sends the specified remark (up to 119 characters, which
			must be enclosed in quotation marks (" ")) to the 
			operator when he/she is notified of your request.  The
			remark is sent only if you also include the /REMOVE 
			switch.


	/REMOVE		tells the operator that you want him/her to physically
			dismount the structure from the drive; makes the
			structure unavailable for further mount requests.  See
			also Hints - Action of DISMOUNT Command including
			/REMOVE Switch, below.


	/STRUCTURE-ID:structure identification
			gives the name of the structure as recorded in the 
			disk(s); used when you give some alias as argument dev:,
			above.  See Hints - Using the /STRUCTURE-ID Switch
			below.



Characteristics

	Action of DISMOUNT STRUCTURE Command

		Ordinary DISMOUNT STRUCTURE

			The DISMOUNT STRUCTURE command reduces by 1 the mount
			count of the specified structure (i.e. the number of
			users who have given a MOUNT but not a DISMOUNT command
			for the structure) if you had given a previous MOUNT
			command for it.  An ordinary DISOMUNT STRUCTURE command
			does not withdraw the structure from system use.


		Including /REMOVE Switch

			If you include the /REMOVE switch when giving the
			DISMOUNT STRUCTURE command, the specified structure is
			made unavailable for further mount requests.  The
			operator is informed of your dismount request & any
			further action depends on him/her.  If he/she denies
			your request, the structure is again made available to
			other users; if he/she grants your request, the
			structure remains unavailable for further mount requests
			& is taken offline & physically removed.  Under extreme
			conditions the operator may take a structure off line &
			physically remove it even though some users have not
			dismounted the structure.  Before doing so, he/she will
			usually send a message to such users to allow them to
			close their files.


	Action of DISMOUNT TAPE Command

		The DISMOUNT TAPE command unloads the currently mounted volume
		of the specified tape set (i.e. rewinds it completely onto its
		source reel) so that it can be physically removed by the
		operator, & returns the tape drive to the pool of available
		resources.  (Note that if the /NOUNLOAD switch was given in your
		original MOUNT command, no volumes are unloaded by the system or
		removed by the operator, even after your DISMOUNT command is
		completed.)  If a logical name (e.g the setname of the tape set)
		is used in the DISMOUNT command to specifiy the tape set, the
		system also withdraws the definition of the logical name.  Use
		DISMOUNT TAPE only for tape drives having device names of the
		form MTn:, i.e. drives obtained using the MOUNT command.  Use
		UNLOAD to unload tapes from drives having device names of the
		form MTAn:


Hints

	Omitting "medium" argument

		If the dev: argument of your DISMOUNT command will be unambig-
		uous (i.e. you do not have both a structure and a tape set
		mounted using the same device name), you need not specify the
		medium.  The shortened command, DISMOUNT dev:/switch(es), is
		sufficient.


	Using the /STRUCTURE-ID Switch

		The /STRUCTURE-ID switch gives the name of the structure as 
		recorded in the disk(s) of the pack itself, where it is used by
		the system for identification.  You may use this switch to
		dismount a structure that had been mounted using an alias
		different from its structure identification.  (See Hints - Using
		the /STRUCTURE-ID Switch, in the MOUNT command description.)


	Using INFORMATION VOLUMES before DISMOUNT TAPE

		If you give the INFORMATION VOLUMES command before dismounting
		the tape set, the system will respond with a list of the volids
		for mounted volumes, including volids for any volumes newly
		added to the set.  You should keep an up-to-date record of these
		for use with further MOUNT commands.



Effect on Memory & Terminal

	The DISMOUNT command does not affect memory &, if you have included the
	/NOWAIT switch, leaves your terminal at TOPS-20 command level.  If you
	have not given the /NOWAIT switch, your terminal waits until the system
	has processed your request, or until you give a CTRL/C to return to
	TOPS-20 command level.  This CTRL/C does not cancel your request.


Related Commands

	CANCEL		for withdrawing mount requests before they are processed

	I AVAIL DEV	for finding which tape drives (if any) have been
			assigned to your job

	I MOU		for finding out information about pending mount requests
			for structures & tape sets & currently mounted tape sets

	I STRUCTURE	for finding out info about the specified mounted
			structure, including its mount count & the names of
			users who have given the MOUNT, CONNECT, & ACCESS 
			commands for the structure

	I VOLUMES	for finding out the volids of all mounted volumes
			(including newly created volumes)of a tape set



Examples


	1.	Dismount a mag tape set you have been using.

		@DISMOUNT TAPE MT1:
		[Tape dismounted]
		@


	2.	DISMOUNT the same tape set, referring to it by its setname.

		@DISMOUNT TAPE LAT:
		[Tape dismounted, logical name LAT: deleted]
		@


	3.	Find out the volids of your tape set before dismounting it, in
		case the tape set has been extended to another volume.

		@INFORMATION VOLUMES MT2:
		Volumes of tape set LAT: LAT,00J16
		@DISMOUNT TAPE MT2:
		[Tape dismounted]
		@


	4.	Find out if you have any mount requests pending, or any
		currently mounted tape sets.  Dismount a currently mounted tape
		set (these display the actual device name in the column headed
		"Status").


		@INFORMATION MOUNT-REQUESTS/USER

		Tape/Disk Mount Queue:
		Volume     Status   Type   Write   Req Name  Req#  Job#  User
		------     ------   ----   -----   --------  ----  ----  ----  
		UNLBLD      MTA0    Tape   Locked   UNLBLD   128    55   A-MOLE
		There is 1 Request in the Queue
		@DISMOUNT TAPE UNLBLD:
		[Tape dismounted, logical name UNLBLD: deleted]
		@

				MOUNT Command

Function

	The MOUNT command requests that the specified file structure or
	magnetic tape set be made available for your job's use.


Format

	@MOUNT medium (NAME) dev:  /switch(es)

	where

	medium			is one of the following:

					STRUCTURE - for mounting file
						    structures (disk packs)

					     TAPE - for mounting magnetic
						    tapes

	dev:			is either the structure identification (or
				alias), or the tape setname.  It must be of
				six or fewer alphanumeric characters and must
				be terminated by a colon.

	/switches		are keywords, chosen from the list below,
				indicating your choice of MOUNT command options


	Summary of MOUNT Command Switches (defaults as indicated)

/CHECK-SETNAME

/DENSITY: 200
	  556
	  800
	 1600
	 6250
	 SYSTEM-DEFAULT

/DRIVE-TAPE:7-TRACK
	    9-TRACK

/LABEL-TYPE:ANSI
	    BYPASS
	    EBCDIC
	    TOPS-20
	    UNLABELED

/NEW
/NOUNLOAD
/NOWAIT
/OPERATOR
/PROTECTION:octal protection code	Default code - 770000
/READ-ONLY				Default - /READ-ONLY unless /NEW or
						  /SCRATCH specified
/REMARK:119-character remark
/SCRATCH
	NUMBER number
/START:VOLID volid			Default number - 1

/STRUCTURE-ID:structure identification
/VOLIDS:list of volids
/WRITE-ENABLED				Default - /WRITE-ENABLED if /NEW or
						  /SCRATCH specified


	The switches /NOWAIT and /REMARK are useful with either the STRUCTURE
	or TAPE medium, while /STRUCTURE-ID is for STRUCTURE only; the other
	switches are for TAPE only.


			MOUNT Command Switches


/CHECK-SETNAME				ensures that the setname of the mounted
					tapes matches the setname you specify
					as the "dev:" argument to the MOUNT
					command; otherwise an error will be
					generated.  For labeled tapes only.


/DENSITY: 200				specifies the density, in bits per inch,
	  556				at which the tape set is to be read or
	  800				written.  Densities 200 and 556 are for
	 1600				unlabeled tapes only.  SYSTEM-DEFAULT,
	 6250				one of the values shown (usually 1600),
	 SYSTEM-DEFAULT			is established at system start-up time.


/DRIVE-TYPE:7-TRACK			specifies the type of drive on which the
	    9-TRACK			tape set is to be mounted.  Labeled
					tapes must be mounted on 9-track tape
					drives.


/LABEL-TYPE:ANSI			tells the system to read and write the
	    BYPASS			tape set according to the specified
	    EBCDIC			label standard: ANSI; EBCDIC - IBM types
	    TOPS-20			(in read-only mode); TOPS-20 - a
	    UNLABELED			superset of ANSI used in TOPS-20 systems
					UNLABELED - for unlabeled tapes only.
					BYPASS (for privileged users only) lets
					you read and write any tape, labeled or
					unlabeled, without any label processing.


/NEW					tells the system that you are creating
					a new file set on an existing tape set,
					whose setname is then changed to be the
					name you specify as the dev: argument
					to the MOUNT command.  (if the tape set
					has more than one volume, remember to
					specifiy their volids using the /VOLIDS
					or /OPERATOR switch.)  The /READ-ONLY
					and /CHECK-SETNAME switches are ignored
					if present, and /WRITE-ENABLED is
					assumed.  Do not give the /START switch
					if you give /NEW.


/NOUNLOAD				asks the system not to unload a
					volume (reel) of tape from its tape
					drive when the drive is released by
					a volume switch (change of volumes
					required by a read or write operation)
					or DISMOUNT command.  Use this switch
					to facilitate processing when 
					sufficient drives are available.




/NOWAIT					tells the system  to  return  your
					terminal  to  TOPS-20 command level
					as  soon  as  you give  the  MOUNT
					command,  and  to send a message to
					your terminal when the request  has
					been processed.   Otherwise,  your
					terminal waits for the message.



/OPERATOR				asks the operator to specify to the
					system  the  volids of the tape set
					you wish to mount.  Do not  use  if
					you have given the /VOLIDS switch.



/PROTECTION:code			specifies   a   6-digit    octal
					protection  code for new volumes of
					tape written  during  the  current
					mount  request.   The owner always
					has full access to  his  tapes, so
					the first  two  digits  are always
					interpreted as  "77";  also,  user
					groups and directory groups have no
					effect  on  tape  access,  so  the
					middle   two   digits   are always
					interpreted  as  "00".  Therefore,
					although   six  digits   can   be
					specified, only the last two digits
					affect the tape's protection code.
					(If you specify only two digits, 
					these will be used as the last two
					digits of the protection code.)
					These two digits should be the sum
					of the values corresponding to the
					modes of access you want to allow,
					chosen from the following list:
					   40 - read files in the file set

					   10 - overwrite or modify files
					        in the file set

					   04 - append files to the end of
						the file set
					For tapes of label-type TOPS-20
					only.
					    Default code - 770000



/READ-ONLY				ensures that all volumes in the
					tape set will be mounted without
					write rings, to prevent accidental
					erasures
					      Default except when /NEW or
						      /SCRATCH is specified



/REMARK:"remark"			sends the specified remark (of 119
					or fewer characters, which must be
					enclosed in quotation marks ("  ))
					to the operator when he is notified
					of your mount request.  For 
					structures, the remark will be sent
					only if the structure must be put
					on line or physically mounted to
					satisfy your mount request.



/SCRATCH				same as /NEW, except that the
					volumes in the file set you create
					will be drawn from the pool of
					scratch tapes (tapes not presently
					owned by a particular user), rather
					than from volumes you specify.  Use
					this switch to create a new file 
					sent when you are not supplying the
					volumes of tape to be used.



/START:VOLID volid			tells the system which volume
					(reel) of tape to mount first when
					satisfying your request.  (You must
					also give the /VOLIDS switch,
					specifying the group of volumes you
					will be using.)  Use the NUMBER
					argument to give the order of this
					volume within the group (e.g., 1
					for first, 2 for second), or give
					the VOLID argument to repeat the
					volid explicity.  You can use this
					switch to save time and expense
					when you know which volume you will
					be using first.
					     Default - NUMBER 1



/STRUCTURE-ID:structure
              identification		gives the name of the structure as
					recorded in the disk(s); used when
					you gave an alias different from
					the structure identification as
					argument "dev:", above.  See Hints-
					Using the /STRUCTURE-ID Switch,
					below.  For priveleged users only





/VOLIDS:volid, volid,...		specifies the volids  (volume
					identifiers) of the volumes (reels)
					of tape you want to access.  These
					must be consecutive volumes, usually
					of the tape set specified as the 
					"dev:" argument to the MOUNT command.
					Although you need not specify every 
					volume in the set, any volume not
					specified will not be accessible.
					Do not use this switch if you have 
					given the /OPERATOR switch.  See also
					Characteristics - Using the /VOLIDS
					Switch, below.



/WRITE-ENABLED				ensures that all volumes in the
					tape set will be mounted with write
					rings
					     Default when /NEW or /SCRATCH
						     is specified




Characteristics


	Action of MOUNT STRUCTURE Command

	     If the Structure Has Already Been Mounted

		  If the structure for which you give the MOUNT command
		  is currently mounted, the system simply increases by 1
		  the mount count, i.e., the number of users who have
		  given the MOUNT but not the DISMOUNT command for the
		  structure, and returns your terminal to TOPS-20 command
		  level.  A structure is not ordinarily dismounted until
		  its mount count is 0.

	     If the Structure Has Not Yet Been Mounted

		  If the structure for which you give the MOUNT command
		  is not currently mounted, your request stays in the
		  mount request queue until it is acted upon by the 
		  operator or until you cancel the request.




	Setnames (File Set Identifiers)

	     The setname, or file set identifier of a set of tapes, is
	     part of the label information written into each volume of
	     the set.  It is rewritten every time the  /NEW or /SCRATCH
	     switch is included in a MOUNT command.  The "dev:" argument
	     of the MOUNT command becomes the setname in this case.  If
	     you add volumes to an existing tape set, the system uses the
	     setname of the old volumes as the setname of the new ones.

	     Using the /CHECK-SETNAME Switch

		  If you give the MOUNT command to use an existing file
	    	  set (i.e., you do not specify the /NEW or /SCRATCH
		  switch), you can give the /CHECK-SETNAME switch to be
		  sure that the setname written on the tapes matches the
		  setname you specify as the "dev:" argument to the MOUNT
		  command.  However, because more than one set of tapes
		  can have the same setname,  the /CHECK-SETNAME switch
	   	  does not ensure that the correct tape set will be 
		  mounted.  For information about ensuring that the correct
		  tapes are mounted, see Characteristics - Using the
		  /VOLIDS Switch, below.

	Volids (Volume Identifiers)

	     The volid, or volume identifier of a volume (reel) of 
	     labeled tape, is part of the label information written into
	     each volume of tape.  It is written only once, by the operator
	     during the tape's initialization procedure, and is not changed
	     during the life of the tape.  (You should also affix a paper
 	     label displaying the volid onto each reel of tape.)  You can
	     get a list of volids for previously specified or newly
	     written volumes in any mounted tape set by giving the 
	     INFORMATION VOLUMES command for that set.

	Using the /VOLIDS switch

	     If you give the MOUNT command to use an existing 
	     multi-volume tape set (i.e., you do not specify the
	     /SCRATCH switch), you can give the volid of each volume
	     you want to use an argument to the /VOLIDS switch.
	     The system ensures that the correct volumes of a 
	     labeled tape will be mounted for your job as long as
	     you use the /VOLIDS switch to specify them.  (If the
	     tape set does not consist of labeled tape, the system
	     does not ensure that the correct tapes are mounted.)
	     The volids must represent consecutive volumes and must
	     be specified in the order written (oldest first). Note
	     that in general you cannot rely on any apparent
	     alphanumerical order when specifying the volids but
	     must maintian your own list of the volids in each tape
	     set.  (See Hints - Keeping Track of Volids, below.)
	     You need not specify every volid in the tape set, but 
	     any volume not specified will not be accessible through
	     the current MOUNT command.  See also Characteristics -
	     Using the /OPERATOR Switch, and Special Cases - Single-
	     volume Tape Sets, below.

	Using the /OPERATOR switch

	     You can use the /OPERATOR switch instead of the /VOLIDS
	     switch when asking the system to mount a multi-volume
	     set of tapes.  The /OPERATOR switch sends a message to
	     the operator asking him to specify the volid of each
	     volume himself.  You must be sure to supply the 
	     operator with a list of the volids you want him to 
	     specify before giving a MOUNT command that contains the
	     /OPERATOR switch.


Hints


	Checking whether Operator is present

	     You can give the INFORMATION SYSTEM-STATUS command to find
	     out whether the operator is in attendance and can process
	     your mount request.  Even if the operator is not in 
	     attendance, your request remains valid until he returns and
	     deals with it in some way.

	Using the /STRUCTURE-ID Switch

	     The /STRUCTURE-ID switch (available only to users with
	     enabled Wheel or Operator capabilities) gives the name
	     of the structure as recorded in the disk(s)  of the
	     structure itself,  where it is used by the system for
	     identification.  Be sure that the structure identification
	     is also written with a felt-tip marker on the upper
	     surface of each disk pack, and on a gummed label on the 
	     pack cover.  Unless you give this switch, the system
	     mounts the structure with its structure identification as
	     alias.  (The alias is the name you use when specifying
	     the structure in file specifications and commands, the
	     INFORMATION STRUCTURE and INFORMATION AVAILABLE DEVICES
	     commands list structures by alias only.)  The /STRUCTURE-
	     ID switch allows an enabled Wheel or Operator to mount
	     a structure under a name different from the one recorded
	     in the structure.  Use this switch for mounting a structure
	     whose structure identification is the same as the alias
	     of a currently mounted structure.  In such cases give the
	     MOUNT STRUCTURE command with any unique alias as the "dev:"
	     argument, and specify the structure identification with the
	     /STRUCTURE-ID switch.  In subsequent file specifications and
	     commands referring to the structure,  use the alias only.

	Dummy "dev:" Arguments for Mounting Tapes

	     If you want to use different tape sets on successive
	     runnings of a single program, you can refer to those tape
	     sets as a logical name in the program, and use this logical
	     name as the "dev:" argument of your MOUNT command when
	     mounting tapes.  As long as you also specify the volid of
	     each volume of tape with the /VOLIDS switch (or use the
	     /OPERATOR switch to ask the operator to do so), you need
	     not give the actual setname of the tape set as the "dev:"
	     argument to the MOUNT command.  The system considers the
	     "dev:" argument you supply to be a logical name defined
	     as the mounted tape set.  Therefore, your program can
	     access the tape set using this logical name.

	Keeping Track of Volids

	     Unless your site has a tape cataloging facility, you must
	     keep your own record of the volids in each of your tape
	     sets.  After creating a file set on a new tape set, i.e.,
	     one not previously owned by you (by giving the MOUNT
	     command and including the /SCRATCH switch), you should 
	     give the INFORMATION VOLUMES command for the set before
	     giving the DISMOUNT command.  The system will respond by
	     printing a list at your terminal of the volids of all
	     volumes in the tape set.  Similarly, if you mount an old
	     tape set and then perform write operations, you should
	     give INFORMATION VOLUMES before giving DISMOUNT to learn
	     the volids of any volumes added to the set.  Keep an
	     ordered list of these volids in a disk file in your
	     directory, for use in subsequent MOUNT commands when you
	     give the /VOLIDS switch.

Special Cases


	Single-volume Tape Sets

	     If the tape set you want to mount consists of a single
	     volume of tape, you need not give the /VOLIDS or /OPERATOR
	     switch to specify its volid.  You can give the volid as the
	     "dev:" argument to the MOUNT command.

	Structures Unavailable for Mounting

	     If the operator has given the OPR program command, SET
	     STRUCTURE UNAVAILABLE for a specified structure, the system
	     sends an error message including the phrase, "Structure
	     unavailable for mounting" in response to subsequent MOUNT
	     commands for the structure.

Restrictions


	Using SET TAPE Commands

	     The TOPS-20 SET TAPE DENSITY and SET TAPE PARITY commands
	     are applicable to unlabeled tapes only (but see also
	     Warnings - /DENSITY Switch Has Limited Effect for Unlabeled
	     Tapes, below).  The SET TAPE FORMAT and SET TAPE RECORD-
 	     LENGTH commands are applicable to both labeled and unlabeled
	     tapes, but to labeled tapes only if they are mounted using 
	     the /LABEL-TYPE:ANSI or /LABEL-TYPE:TOPS-20 switch.
	     In addition, the files that you read from or write to such
	     a labeled type must be in 36-bit format,  and they must 
	     not have the ;FORMAT attribute as part of their specification.

Warnings


	POP Command Cancels Unsatisfied Mount Requests

	     If you have given a PUSH command to obtain a new level of
	     TOPS-20 and then give a MOUNT command within that new level,
	     a subsequent POP command will cancel your mount request.
	     However, if the specified structure or tape set has already
	     been mounted, it will remain mounted despite your POP 
	     command. 

	/DENSITY Switch Has Limited Effect for Unlabeled Tapes

	     The /DENSITY switch, when given in a MOUNT command for an
	     unlabeled tape, ensures only that your tape set will be
	     mounted on a drive that supports the specified density.
	     It does not ensure that the tape set will be read or 
	     written at this density.  To specify the density at which
	     unlabeled tapes are to be read and written, give the
	     SET TAPE DENSITY command.

Effect on Memory and Terminal

	     The MOUNT command does not affect memory, and, if you have
	     included the /NOWAIT switch, leaves your terminal at TOPS-20
	     command level.  If you have not given the /NOWAIT switch,
	     your terminal waits until the system has processed your
	     request, or until you give CTRL/C to return to TOPS-20 
	     command level.  This CTRL/C does not cancel your request.

Related Commands


	CANCEL				for withdrawing mount requests
					before they are processed.
	
	DISMOUNT			for giving up access to a
					particular tape drive or 
					disk drive

	INFORMATION AVAILABLE DEVICES	for finding out just the names
					of structures available for
					mounting (these are listed
					after DSK AND PS, and before
					the line printers (LPT, LPTO,
					etc.))


Examples


	1.	Mount a structure (is is already physically mounted).


	@MOUNT STRUCTURE MELON:
	Structure MELON: mounted
	@



	2.	Mount a structure that is not yet physically mounted.  After
		completing the command, give CTRL/Cs to return to TOPS-20
		command level.


	@MOUNT STRUCTURE CONAN:
	[Mount Request CONAN: Queued, Request-ID 205]
	[MOUNT request remaining in queue]
	^C
	@



	3.	Mount a structure, then give CTRL/Cs to return to TOPS-20
		command level and cancel the mount request.


	@MOUNT STRUCTURE CONAN:
	[Mount Request CONAN: Queued, Request-ID 136]
	[MOUNT request remaining in queue]
	^C
	@
	[1 mount request canceled]
	@



	4.	Find out what structures are available for mounting (these are
		listed after DSK and PS and before the line printers), and
		mount one of these.

	@INFORMATION AVAILABLE DEVICES
	Devices available to this job:
	 DSK, PS, US, MELON, HCCP, LPT, LPT0, LPT1, PLPT1, CDR, PCDR0, CDP, 
	PCDP0, FE0-15, PTY15-61, NUL, PLT, PLT0, DCN, SRV
	Devices assigned to/opened by this job: TTY20, PTY15
	@MOUNT STRUCTURE MELON: /NOWAIT
	Structure MELON: mounted
	@

		SET LATE-CLEAR-TYPEAHEAD  Command


Function


	@SET LATE-CLEAR-TYPEAHEAD	

		Instructs the system to disregard all terminal
		input made aftera line that causes an error &
		before the next prompt.  Check the setting for
		your current level of TOPS-20 with INFO COMMAND-
		LEVEL.




	@SET NO LATE-CLEAR-TYPEAHEAD

		Instructs the system to accept terminal input
		made after an error message is sent to your
		terminal & before the next prompt.  Check the
		setting for your current level of TOPS-20 with
		INFORMATION COMMAND-LEVEL
			Default


			SET DIRECTORY Command


Function


@SET DIRECTORY ? one of the following:
 ACCOUNT-DEFAULT		      ARCHIVE-ONLINE-EXPIRED-FILES
 FILE-PROTECTION-DEFAULT	      GENERATION-RETENTION-COUNT-DEFAULT
 NO				      OFFLINE-EXPIRATION-DEFAULT
 ONLINE-EXPIRATION-DEFAULT	      PASSWORD
 PROTECTION


		SET DIRECTORY ACCOUNT-DEFAULT  Command


Function

	Sets the account of 39 or fewer characters to charge for your terminal
	session whenever you log in to this directoru without specifying an
	account.  Check with INFO DIRECTORY.


Format

	@DIRECTORY ACCOUNT-DEFAULT dev:<directory> default account
	PASSWORD: password


		SET FILE EXPIRED Command


Function


	@SET FILE EXPIRED filespecs	

		Establishes today as the expiration date for
		the specified on-line files.  Check with
		DIRECTORY.


		SET DIRECTORY FILE-PROTECTION-DEFAULT Command


Function


       @SET DIRECTORY FILE-PROTECTION-DEFAULT (OF  DIRECTORY)  dev:<directory>
       (TO) octal code protection number
       PASSWORD:password

	  Sets a protection default on	the  files  created  in  the
	  directory.   This  default  allows  access  to these files
	  according to the protection you give.

		Default code - 777700

	SET DIRECTORY GENERATION-RETENTION-COUNT-DEFAULT Command


Function


       @SET DIRECTORY GENERATION-RETENTION-COUNT-DEFAULT  (OF  DIRECTORY)
       dev:<directory> (TO) a number
       PASSWORD:password

	  Specifies how many generations of  each  file  are  to  be
	  retained.  The valid numbers are between 0 and 63, where 0
	  means an infinite number.  The default is 1.


			SET FILE ACCOUNT Command


Function


       @SET FILE ACCOUNT (OF FILES) filespec (TO) account name

	  Charges the accounts of the specified files to  the  given
	  account.  Chech with FDIRECTORY.


	SET DIRECTORY ARCHIVE-ONLINE-EXPIRED-FILES Command


Function


	@SET DIRECTORY ARCHIVE-ONLINE-EXPIRED-FILES dev:directory

		Causes on-line files that have expired to be automatically
		archived.  Check with INFORMATION DIRECTORY.



	@SET DIRECTORY NO ARCHIVE-ONLINE-EXPIRED-FILES dev:directory

		Prevents on-line files that have expired from being
		automatically archived.

			Default


	SET DIRECTORY OFFLINE-EXPIRATION-DEFAULT Command


Function


	DIRECTORY OFFLINE-EXPIRATION-DEFAULT dev:<directory> data or +n

		Sets the tape expiration date for files that are to go off-line 
		because of archiving or migration.  If you specify "+n", the
		expiration date is n days from the date the files were moved
		off line
			Default n - 90


	SET DIRECTORY ONLINE-EXPIRATION-DEFAULT Command


Function


	DIRECTORY ONLINE-EXPIRATION-DEFAULT dev:<directory> date or +n

		Sets the disk expiration date for files that are to be created
		in the directory.  If you specify "+n", the expiration date is
		n days from the creation date.
			Default n - 60


		SET DIRECTORY PASSWORD Command


Function


       @SET DIRECTORY PASSWORD (OF DIRECTORY) dev:<directory>
       OLD PASSWORD: old password
       NEW PASSWORD: new password
       RETYPE NEW PASSWORD: new password

	  Allows you to change the password of	the  directory.   Be
	  sure you remember the new password.  Check with INFO DIRECTORY.



		SET  DIRECTORY PROTECTION Command


Function

	@SET DIRECTORY PROTECTION dev:<directory> octal protection code
	PASSWORD: password

		Establishes for the directory a protection code constructed
		(by addition) from the values shown below.  Check with INFO
		DIRECTORY.

	77	full access to the directory

	40	access to files in the directory (including expunging individual
		files), consistent with the file protection of the files.

	10	connect to the directory without giving a password, undelete
		files, expunge the entire directory, & change times, dates, &
		accounting info for files.  All other access is governed by the
		file protection of each file.

	04	create files in the directory

	00	no access to the directory

			Default code - 777700


			SET ENTRY-VECTOR Command


Function


	@SET ENTRY-VECTOR octal or symbolic		octal or symbolic length
		          memory location		from 1 to 777
				
				Lets you change the entry vector of the program
				in memory.  Check the current setting with
				INFORMATION MEMORY-USAGE
					Default length - 1



			SET FILE Command


Function

	$SET FILE ? one of the following:
	 ACCOUNT		      EPHEMERAL
	 EXPIRED		      GENERATION-RETENTION-COUNT
	 INVISIBLE		      NO
	 OFFLINE-EXPIRATION	      ONLINE-EXPIRATION
	 PROHIBIT		      PROTECTION
	 RESIST			      VISIBLE



		SET FILE GENERATION-RETENTION-COUNT Command


Function


       @SET FILE GENERATION-RETENTION-COUNT (OF FILES) FILESPECS (TO) n

	  Sets the number of generations of  a	file  that  will  be
	  kept.

		Default n - 1


		SET FILE PROTECTION Command


Function

	@SET FILE PROTECTION filespecs octal protection code


		Sets, for the specified files, a protection code constructed
		(by addition) from the values shown below.  Check with 
		FDIRECTORY.

	77	full access to the file

	40	read the file

	20	write & delete the file

	10	execute the program conatined in the file

	04	append to the file

	00	no access to the file

			Default code - 777700


			SET TRAP Command


Function

	@SET TRAP ? one of the following:
	 FILE-OPENINGS	 JSYS		  NO		   PROCEED

			SET FILE VISIBLE Command


Function



	@SET FILE VISIBLE filespecs

		Makes the specified file accessible to all
		programs and TOPS-20 commands
			Default



	@SET FILE INVISIBLE filespecs

		Makes the specified file inaccessible to
		most programs & TOPS-20 commands.


			SET FILE RESIST Command


Function


	@SET FILE RESIST filespecs	

		Offers nonprivileged users limited protection
		against migration.  The specified files will be
		forced off-line only when absolutely necessary.



	@SET FILE NO RESIST filespecs

		Cancels the effect of the SET FILE
		RESIST command.  This switch allows the
		system to move the specified files to
		off-line storage without hesitating.
			Default

			SET LOCATION Command


Function


	@SET LOCATION node name::

		Sets the DECnet network node at which your job
		is considered to be running.  Your PLEASE
		requests and MOUNT command requests are sent to
		this node, as well as any line printer output
		not directed elsewhere (e.g. by the /DESTINATION
		-NODE switch).  You must terminate the node name
		with 2 colons (::).  Check available nodes with
		INFO DECNET, & check your current setting (if
		different from your host node (log-in node)) 
		with INFO JOB-STATUS.
			Default node name - your host node


			SET TRAP JSYS  Command


Function


	@SET TRAP JSYS /ALL
			name
			number

		Causes trapping to ocuur for all or for the
		specified JSYS.  You can specify a JSYS  by its
		name or its octal value.  Check with INFO
		PROGRAM-STATUS.



	@SET NO TRAP JSYS/ALL
			     name
			     number

		Nullifies the effects of the SET TRAP JSYS
		command, disablimg the TOPS-20 feature that
		causes traps to occur whan a JSYS is executed.
					Default



			SET ALERT  Command


Function


	@SET ALERT		causes the system to buzz your terminal and type
	      date & time	a line at the specified date & time.  This line
	      time		contains the time of day & your message.  If 
	      +hh:mm		the SET AUTOMATIC command is in effect, this
	      day of week	message is sent no matter what you are doing
	      TODAY		at the terminal.  Otherwise, you are alerted
				only when your terminal is about to type a TOPS
				20 prompt.  ALert settings are erased when you
				log out.  Therefore, you should enter this
				command in your COMAND.CMD file if you want to
				be alerted in the distant future or on a regular
				basis.  Check the setting of this command with
				INFORMATION ALERTS.



	@SET NO ALERT date/time	

		Removes settings that were established with the
		SET ALERT command.  You can specify date & time
		in the same formats as with SET ALERT.  Also
		you can enter BEFORE or AFTER the date & time to
		indicate a time period in which alerts are to be
		suppressed.  If you specify no dat or time
		argument, all alert settings are erased.  This
		command takes effect when you log out.
			Default


			SET AUTOMATIC  Command


Function


	@SET AUTOMATIC (MAIL AND ALERT CHECKS)

		Allows you to be notified by the system (as a
		result of a SET ALERT or SET MAIL-WATCH command)
		whether or not your job is at TOPS-20 command
		level.  Every 5 minutes, the system checks to
		see if you should be notified.  It is
		recommended that you enter this command in the
		COMAND.CMD file to ensure coverage from the time
		you log in.



	@SET NO AUTOMATIC		

		Causes you to be alerted by the system (as a
		result of a SET ALERT or SET MAIL-WATCH command)
		only when your terminal is about to type a TOPS-
		20 prompt.
			Default



		SET CONTROL-C-CAPABILITY Command


Function


	@SET CONTROL-C-CAPABILITY (OF PROGRAM)

		Allows any program executed at the current
		command level to handle CTRL/C interrupts itself
		You cannot use this command in a batch job. 
		Check the current setting with INFORMATION
		PROGRAM-STATUS.
			Default



	@SET NO CONTROL-C-CAPABILITY

		Removes the ability of programs at the current
		level of TOPS-20 to prevent your terminal from
		returning to the TOPS-20 command processor
		whenever you type a CTRL/C.  Check the setting
		for your current level of TOPS-20 with
		INFORMATION PROGRAM-STATUS.


			SET DEFAULT Command


Function


	@SET DEFAULT COMPILE-SWITCHES
		     PLOT  /switch(es)
		     PRINT  /switch(es)
		     SUBMIT  /switch(es)
		     TAKE ALLOW
			  DISALLOW
			  ECHO
			  NO ECHO


	Sets up, as default global arguments to the command selected, the
	arguments you specify.  These arguments are switches, except for SET
	DEFAULT TAKE, which allows arguments ALLOW/DISALLOW (errors during the
	execution of a command file), ECHO, & NO ECHO.  You can specify any
	switch valid for the given command, preceding each switch with a slash
	(/).  For COMPILE-SWITCHES you must precede the switches with the file
	type (exluding the period (.)) to which you want the switches to apply;
	then the switches behave as if typed immediately after each file of this
	type.  Check current settings with INFORMATION DEFAULTS.




	@SET NO DEFAULT COMPILE-SWITCHES file type
			PLOT
			PRINT
			SUBMIT

	Nullifies all default arguments (established with a previous SET DEFAULT
	command) for the indicated command.


			SET MAIL-WATCH Command


Function


	@SET MAIL-WATCH user name

		Checks the MAIL file for the specified user
		immediately & every 5 minutes whenever your
		terminal is about to type a TOPS-20 prompt,
		& sends a message notifying you that the user
		has new mail if this file contains unread mail.
		If the SET AUTOMATIC command is in effect, this
		message is sent no matter what you are doing at
		your terminal.
			Default user name - your user name



	@SET NO MAIL-WATCH USER

		Disables periodic checking of the MAIL file
		associated with the specified user, although
		you see the notice, YOU HAVE A MESSAGE, at log-
		in time; you see [YOU HAVE A MESSAGE FROM useru]
		whenever someone sends you mail, unless you have
		given the REFUSE SYSTEM-MESSAGES or REFUSE LINKS
		command.  You can always check the status of
		your MAIL file at any time by giving the INFO
		MAIL command
			Default

			SET RETRIEVAL-WAIT Command


Function


	@SET RETRIEVAL-WAIT

		Tells the system that your job is willing to
		wait for retrieval of off-line files.  Retrieval
		is then requested implicitly whenever you or a
		program you run attempts to access off-line
		files.  Use INFO SYSTEM-STATUS to be sure that
		automatic retrieval waits are enabled for the
		system before giving this command.



	@SET NO RETRIEVAL-WAIT

		Tells the system to send an error message if
		your job attempts to use off-line files.
			Default

			SET TIME-LIMIT Command


Function


	@SET TIME-LIMIT n

		Tells the system to stop any program or terminal
		printout when the given amount of additional CPU
		time (in seconds) has been used, & to inform you
		with a fatal error message.  This command is 
		used by the batch system to limit the runtime of
		batch jobs.



	@SET NO TIME-LIMIT

		Removes any time-limit set by a previous SET
		TIME-LIMIT command.  You cannot use this command		
		in a batch job.


			SET TRAP PROCEED Command


Function


	@SET TRAP PROCEED

		Directs the system to continue a program
		after a trap has occurred as a result of a SET
		TRAP command.  Check with INFO PROGRAM-STATUS
		


	@SET TRAP NO PROCEED

		Directs the system to terminate the program
		after a trap has occurred as a result of a SET
		TRAP command.  Check with INFO PROGRAM-STATUS



			SET PAGE-ACCESS Command


Function


	@SET PAGE-ACCESS range of octal numbers	type of access

			COPY-ON-WRITE
				provides programs with private copies of the
				specified pages (e.g. 13:17, 21 specifies pages
				13 through 17 & page 21, 6 pages in all) of
				current memory whenever they try to change
				(write to) them


			EXECUTE	allows programs accessing these pages to execute
				the instructions they may contain


			NO COPY-ON-WRITE
			   WRITE
				prevents programs from performing the indicated
				operation on the specified pages


			NONEXISTENT
				removes the indicated pages from memory


			READ	permits programs to examine the indicated pages
				of memory


			WRITE	permits programs to change as well as examine
				the indicated pages


			SET TAPE Command


Function

	$SET TAPE ? one of the following:
	 DENSITY	 FORMAT		  PARITY	   RECORD-LENGTH

			SET TAPE DENSITY  Command


Function


	@SET TAPE DENSITY (TO) density

	  Declares the default density for magnetic tape operations.
	  The  valid densities are 200, 556, 800, and 1600 bpi (bits
	  per  inch).	To  return  to	the  usual   density,	type
	  SYSTEM-DEFAULT.   The  INFORMATION (ABOUT) TAPE-PARAMETERS
	  prints the current value of the density.


			SET TAPE FORMAT Command


Function


	@SET TAPE FORMAT (TO) ANSI-ASCII
			      CORE-DUMP
			      HIGH-DENSITY
			      INDUSTRY-COMPATIBLE
			      SIXBIT
			      SYSTEM-DEFAULT


	Sets the default format for magnetic tape operations. To return
	the usual format, type SYSTEM-DEFAULT.
	The  INFORMATION (ABOUT) TAPE-PARAMETERS command prints the current 
	format.


			SET TAPE PARITY Command


Function


	@SET TAPE PARITY (TO) EVEN
			      ODD

	  Sets the default parity for magnetic tape operations.  The
	  usual setting is ODD.  Check with INFO TAPE-PARAMETERS.



		SET TAPE RECORD-LENGTH Command


Function


	@SET TAPE RECORD-LENGTH (TO) bytes
	  Sets	the  default  record  length   for   magnetic	tape
	  operations.  The argument, bytes, is the decimal number of
	  bytes in a record.  Setting the record length to  a  large
	  number (such as 1000) works for most applications.


			SET TYPEOUT MODE Command


Function


	@SET TYPEOUT MODE NUMERIC
			  SYMBOLIC

		Establishes the mode in which memory addresses
		and contents are to be typed on your terminal
		in reponse, for example, to a CTRL/T or a
		command such as EXAMINE or INFORMATION.  Check
		with INFO PROGRAM-STATUS.
			Default - NUMERIC


			SET UUO-SIMULATION Command


Function


	@SET UUO-SIMULATION

		Allows the system to execute programs originally
		writeen for the TOPS-10 operating system, by
		calling the TOPS-10 compatibility package
		PA1050.EXE.  Check the current setting with INFO
		PROGRAM-STATUS.
			Default



	@SET NO UUO-SIMULATION

		Disables the feature of TOPS-20 monitor that
		makes it possible to use programs originally
		written for the TOPS-10 operating system.
		Check the current setting with INFO PROGRAM-
		STATUS.

		INFORMATION (ABOUT) ADDRESS-BREAK
		~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

	This command gives the location (in numeric or symbolic format -
depending upon previous specification of the  SET TYPOUT MODE command) and mode
of any address breaks for the program currently in memory. The address-breaks
are set with the SET ADDRESS-BREAK command.

	Address-breaks are positions in a program at which normal execution of
the program is forced to stop for debugging purposes.

		   INFORMATION (ABOUT) ALERTS
		   ~~~~~~~~~~~~~~~~~~~~~~~~~~

	This command lists the dates and times that the system is to signal you
at the terminal. The last line of the display indicates whether alerts are to
be sent unconditionally to your terminal (depending upon previous specification
of the SET AUTOMATIC command). Set alerts with the SET ALERT command.
		INFORMATION (ABOUT) ARCHIVE-STATUS filespecs
		~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

	This command prints the archive status of all specified files for which
archival has been requested or for which migration has been prohibited.

	Default filespec is *.*.* in your connected directory.
		INFORMATION (ABOUT) ARPANET
		~~~~~~~~~~~~~~~~~~~~~~~~~~~

	This command gives information about ARPANET.

	The CRC is not connected to this network, so no information is given.

		INFORMATION (ABOUT) AVAILABLE
		~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

	This command has two arguements :

@INFORMATION (ABOUT) AVAILABLE LINES

@INFORMATION (ABOUT) AVAILABLE DEVICES

	It lists the devices or terminal lines available to you or already
assigned to your job. Use ASSIGN to obtain devices (use MOUNT for structures).

	The default is DEVICES.
		INFORMATION (ABOUT) BATCH-REQUESTS
		~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	This command takes the following switches:
     /ALL   /FAST   /PROCESSING-NODE:node-name::   /USER:user-name

	It lists the jobs being processed by the batch system. The list
includes:
	- the jobname and request ID number of the request (an asterisk (*)
appears before the jobname if the job is currently being processed)
	- the scheduled run time of the request
	- the name of the user who initiated the request
	- the values of the switches /AFTER and /DEPENDENCY-COUNT, if values
were given in the original SUBMIT or subsequent MODIFY command. Use SUBMIT,
MODIFY, or CANCEL to change this list.

	The /ALL switch adds the switches /ASSISTANCE, /PRIORITY, /RESTARTABLE,
/SEQUENCE, and /UNIQUE to this list.
	/FAST eliminates the display of all switches and column headings.
	/PROCESSING-NODE specifies the DECNET network node about whose batch
jobs you want information.
	/USER restricts descriptions to jobs of the user named, and can be
given with any of the other three switches.
	The default user-name is your own.
		INFORMATON (ABOUT) COMMAND-LEVEL
		~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

	This command prints the status of the LATE-CLEAR-TYPEAHEAD parameter,
which pevents you from giving another TOPS-20 command until any error message
resulting from a prevous command has been printed. Set with
SET LATE-CLEAR-TYPEAHEAD.

		INFORMATION (ABOUT) DECNET NODES
		~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

	This command displays the DECnet network nodes accessible to your
system. The first line provides your local node name. Check your current node
with INFORMATION JOB-STATUS.
		INFORMATION (ABOUT) DEFAULTS
		~~~~~~~~~~~~~~~~~~~~~~~~~~~~

	This command takes the following arguments:

@INFORMATION (ABOUT) DEFAULTS   ALL
@INFORMATION (ABOUT) DEFAULTS   CARDS
@INFORMATION (ABOUT) DEFAULTS   COMPILE-SWITCHES
@INFORMATION (ABOUT) DEFAULTS   PAPER-TAPE
@INFORMATION (ABOUT) DEFAULTS   PLOT
@INFORMATION (ABOUT) DEFAULTS   PRINT
@INFORMATION (ABOUT) DEFAULTS   SUBMIT
@INFORMATION (ABOUT) DEFAULTS   TAKE

	It displays, in a format suitable for entering them, default arguments
established at the current level of TOPS-20 for the specified command.
	CARDS and PUNCH-TAPE refer to the PUNCH CARDS and PUNCH PAPER-TAPE
commands, respectively; COMPILE-SWITCHES refers to LOAD-class commands. The ALL
argument displays the defaults for all these categories. Set with SET DEFAULT.

	The default argument is ALL.
		INFORMATION (ABOUT) DIRECTORY dev:<directory>,
		~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	This command lists the current parameter values set for the indicated
directory by the SET DIRECTORY or BUILD commands, or by default.
	If a comma is put after the specified directory, then the following
subcommands may be specified:-
@@FAST		gives a short list of non-default values
@@VERBOSE	gives a complete list including defaults
@@NAME-ONLY	gives a listing of directory names only. The directory should
		be specified as <directory.*>, <*directory*>, or <*>.

	The categories of information include:-
The directory's password (shown only to privileged users or to owner of
superior directory). Working and permanent storage limits. Capabilities
(assigned or withheld). Whether you can establish DECnet or ARPANET network
connections. Whether expired files should be automatically archived. Directory
number. Default file protection. Default account. Directory protection. Default
number of generations maintained for files. Maximum number of subdirectories
allowed. Date and time of last login. Off-line and on-line expiration defaults.
Group memberships. User group numbers assignable to subdirectories.

	Set with SET DIRECTORY or (for subdirectories) BUILD.
	The default for the directory is your connected directory.
		INFORMATION (ABOUT) DISK-USAGE dev:<directory>
		~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

	This command prints, for the specified directory:-

- the number of pages of assigned disk storage, and the number of deleted
pages, if any

- working and permanent page limits

- total number of unused pages on the file structure containing the directory.

	The default directory is your connected directory.

	You can use percent signs and asterisks in the <directory> field (for
example, <%directory*>, <directory.*>, or <*>) to get information about all
matching directories or subdirectories.
		INFORMATION (ABOUT) FILE-STATUS octal-JFN
		~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

	This command gives, for the specified JFN (an internal number
identifying each file opening) :-

- the associated file specification
- the mode of access (Append, Execute, Read, or Write) for which the JFN is
open (or was opened last, if NOT OPENED precedes the access mode).
- special access conditions, namely DATA ERROR if an error is made in accessing
the file, or EOF if the file pointer is at the end of the file.
- if appropriate, byte pointer and byte size, which tell the number of bytes
transferred to or from the file.
- a list of devices ciurrently assigned to or opened by this job.

	But if a file has been opened by another process for its sole use, you
see only the message, "Restricted JFN".
	The default JFN is all JFNs for your job.


		INFORMATION (ABOUT) JOB-STATUS
		~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

	This command prints your :-

- job number
- user name
- connected directory (if not your log-in directory)
- account; sesson remark (if any)
- terminal number
- network node (if not your host node (log-in node))

	You can set some of these parameters with CONNECT, SET ACCOUNT,
SET LOCATION, and SET SESSION-REMARK.

		INFORMATION (ABOUT) LOGICAL-NAMES
		~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

INFORMATION (ABOUT) LOGICAL-NAMES   ALL
INFORMATION (ABOUT) LOGICAL-NAMES   JOB
INFORMATION (ABOUT) LOGICAL-NAMES   SYSTEM
INFORMATION (ABOUT) LOGICAL-NAMES   logical-name:


	This command prints the logical names and definitions which have been
established for your job, for the system, or for both; or prints the job-wide
and system wide definitons of the specified logical name. Establish and
withdraw logical names with DEFINE.

	The default is JOB.
		INFORMATION (ABOUT) MAIL user-name
		~~~~~~~~~~~~~~~~~~~~~~~~

	This command tells whether there is unread mail for the user if you
have read access to it; otherwise you see only the message,
"Mailbox protected". Send and read mail with the MS program.

	The default user-name is your own.
		INFORMATION (ABOUT) MEMORY-USAGE
		~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

	This command prints, for the current process of your job:- the number
of pages of memory assigned and the location (in numeric or symbolic format -
depending on previous specification of the SET TYPEOUT MODE command) and length
of the current program's entry vector (see with SET ENTRY-VECTOR). Then on each
succeeding line :-

- the page numbers of pages occupied by a file or program
- the file specification if the pages are file pages; the process specification
if the pages are mapped from another process; PRIVATE otherwise.
- the page numbers of file pages or process pages. If a page is mapped by
indirect pointers, the file specification is printed to which it is mapped;
"Fork n" means that these pages are mapped indirectly through another process
(process n) of the job; "No page" can mean either of these conditions, when the
destination page does not yet exist.
- the permitted accesses to the pages (set with SET PAGE-ACCESS):
		R  - read access
		W  - write access
		CW - copy-on-write access
		E  - execute access
		INFORMATION (ABOUT) MONITOR STATISTICS
		~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

	This command gives you :-
- the length of time (in hours, minutes and seconds) since the monitor was
reloaded
- an analysis of the monitor overhead time, by percentages
- the number of swap-reads and -writes
- the umber of pages of memory available to user programs
- the number of terminal wake-up (occasions when a terminal "wakes up" after
waiting for terminal input or output to finish, and of terminal interrupts
(occasions when a program is interrupted by a CTRL-C, CTRL-O, or CTRL-T (or
other, user-enabled control characters) typed at a user's terminal)
- the average time of processes in the balance set - these are runnable and
each receives a share of total CPU time) and in the remainder of the run set
(NRUN - these are waiting to be run)
- the number of seconds of CPU time given to each of the four scheduler queues
(where the leftmost listing describes the highest priority queue,for
interactive processes and the rightmost listing is for CPU-bound processes
- the allotted share and actual use of the system (expressed as a percentage of
total CPU-time) by by each class, and the 1-, 5-, and 15-minute load averages of
each class
All averages and totals are computed for the time since system start-up.
		INFORMATION (ABOUT) MOUNT-REQUESTS
		~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	This command can take the switches:- /ALL    /FAST    /USER:user-name
It prints a list, at your terminal, of pending structure-mount and tape-mount
requests, and of tape-mount requests currently being satisfied. The list
includes :-
- the volid of each volume of tape that will be mounted, or the structure
identification of each disk pack that will be mounted
- the status of each volume of tape (either the number of the tape drive in the
form MTAn, on which it is mounted, or Waiting)
- the type of request (either Disk or Tape)
- the tape density specified in the Tape-mount request
- the mode (either Enabled, if the /WRITE-ENABLED switch was specified or
assumed in the original MOUNT-TAPE command, or locked if /READ-ONLY applies) in
which each volume of tape is to be mounted
- the request number (ie. request ID number) of each request
- the number of the job that made the request
- the user-name of the owner of the job that made the request
	Use the MOUNT, CANCEL (for pending requests), and DISMOUNT (for
satisfied requests) commands to change this list.
	The /ALL switch adds the /REMARK switch and its argument if specified
in the original MOUNT command. It als adds the request name (setname) of each
tape-mount request, or or the alias of each structure-mount request. The /FAST
switch eliminates column headings and the sum of the number of requests; /USER
restricts descriptions to jobs of the user named, and can be given with either
of the other two switches. The default user-name is your own.

		INFORMATION (ABOUT) OUTPUT-REQUESTS
		~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	This command can take the switches:- /ALL  /FAST   /USER:user-name
It prints a listing, at your terminal, of the requests being sent or waiting to
be sent to an output device. The list includes:-

- the name of the queue (card punch, paper tape punch, plotter or line printer)
- the job name and request ID number of the request (an asterix (*) appears
before the jobname if the request is currently being processed)
- the output limit, in appropriate units (number of pages, minutes of plotter
time, feet of paper tape, or number of cards)
- the name of the user who initiated the request
- values of the switches /AFTER, /FORMS, and /UNIT if given non-default values
in the original PRINT, PLOT, PUNCH or subsequent MODIFY command

	Use PRINT, PLOT, PUNCH, MODIFY or CANCEL to change the list.
	The /ALL switch adds the /NOTE and /SEQUENCE switches to this list,
while the /FAST switch eliminates the display of all switches and column
headings; /USER restricts descriptions to jobs of the user named, and can be
given with either of the two switches. The default user-name is your own.
		INFORMATION (ABOUT) PROGRAM-STATUS
		~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

	This command gives the following information for the current level of
the TOPS-20 command processor (EXEC).:-

- the amount of CPU-time you have used, and total elapsed time since you logged
in
- the amount of TOPS-20 command processor time used.
- SET UUO-SIMULATION (set with SET UUO-SIMULATION) if the TOPS-10 compatibility
package is enabled to simulate TOPS-10 monitor calls issued by a program you
are running
- SET CONTROL-C-CAPABILITY (set with SET CONTROL-C-CAPABILITY) if your program
is allowed to handle CTRL-C interrupts itself
- the settings established with the SET TRAP and SET TYPEOUT commands
- a summary of the status of each process belonging to the current copy of the
TOPS-20 command processor, including total CPU-time used so far

	An arrow (=>) indicates your current process.

		INFORMATION (ABOUT) PSI-STATUS
		~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

	This command tells you :-

- whether the PSI (Programmed software interrupt) system is in use (ON) or not
(OFF)
- the memory address of the level table and of the channel table - 0 if none
was set
- the numbers of the priority levels for which there are no interrupts in
progress (1 and/or 2 and/or 3), where 1 is the highest priority
- the numbers of channels enabled (ready) to accept interrupts, and of channels
with pending interrupts

	For further discussion of the interrupt system see the TOPS-20 Monitor
Calls Reference Manual
		INFORMATION (ABOUT) RETRIEVAL-REQUESTS
		~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

	This command can take the switches:- /ALL  /FAST  /USER:user-name
It prints a list, at your terminal, of pending retrieval requests. Each file
for which you request retrieval constitutes a seperate request, even if
specified within a single RETRIEVE command. The list includes:-

- the name of the request (the first six characters of the filename)
- the request ID number
- the volids of each tape containing the file
- the name of the user who made the request

	The /ALL switch includes the complete specification (up to 49
characters of the file, while the /FAST switch eliminates column headings;
/USER restricts descriptions to requests of the user named and can be used with
either of the other two switches. The default user name is your own.

		INFORMATION (ABOUT) SPOOLED-OUTPUT-ACTION
		~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

	This command tells you whether the system processes your spooled output
requests immediately, or defers them until you log out. Set with
SET SPOOLED-OUTPUT-ACTION. You make spooled output requests not with the PLOT,
PRINT or PUNCH command (these are always processed immediately), but with a
command or program that writes files to a spooled output device (for example, a
line printer - LPT:, plotter - PLT:, or card punch - CDP:). The COPY command,
the /LIST switch for LOAD-class commands, and the LPT and OUTPUT subcommands
for the DIRECTORY-class and STSTAT commands make spooled output requests.

		INFORMATION (ABOUT) STRUCTURE dev:
		~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

	This command gives, for each structure named :-
- informaton as to whether the system performs checking operations while writing
to the swapping or data areas of the structure. The system would perform this
checking by immediately reading the data that it has just written. If the
system manager has enabled thes functions, the following lines appear at the
top of the display: "Write verification for data", and "Write verification for
swapping".
- the number of users who have mounted the structure, the number of open files
on the structure, and the number of disks in the structure.
- kind of structure, Public or Private, Domestic or Foreign (see the TPS-20
User's Guide)
- names of users who have mounted the structure
- names of users who have accessed the structure
- names of users who have connected to the structure

Use an asterix (*) for dev: to specify all mounted structures. Mount and
dismount structures with the MOUNT and DISMOUNT commands. The default dev: is
your connected structure.


		INFORMATON (ABOUT) SUBSYSTEM-STATISTICS
		~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

	This command gives, for each subsystem (any name specified by the SETSN
JSYS), the following information:-

- its name and total runtime since the system last started - SNAMES, STIMES
- the average number of page faults per second it has caused - SPFLTS
- the number of long-term waits it has caused - SNBLKS
- its avreage working-set size (the number of pages it occupies in memory) -
SSIZE
- the number of times a SETSN JSYS has been executed for it (excluding the EXEC
subsystem)

	See the TOPS-20 Monitor Calls Reference Manual for more information.

		INFORMATION (ABOUT) SYSTEM-STATUS
		~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

	This command tells you:-

- whether the operator is present
- what kinds of log-ins are allowed - local, remote, pseudo-terminal, network,
or console.
- whether accouting (assessing and recording charges for system use) is being
done
- whether account validation (checking accounts against lists of authorised
users) is enabled
- whether working set pre-loading is enabled (see System Manager's Guide and
the Software Installation Guide)
- whether tape driven allocation (automatic assignment of tape drives) is
enabled
- whether automatic file retrieval-waits (the delaying of a command's executon
until specified off-line file are (automatically) retrieved) are enabled
- the system's expiration default date for off-line files
- the current setting of the scheduler bias control
- whether class-scheduling is enabled, and, if it is enabled, the special class
(if any) for batch jobs, and the default class (if any)

		INFORMATION (ABOUT) TAPE-PARAMETERS
		~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

	This command gives the default settings of these parameters for
magnetic tapes:-

- tape density, in bits per inch
- tape parity (ODD or EVEN)
- format (ANSI-ASCII, CORE-DUMP, INDUSTRY-COMPATIBLE, or STSTEM-DEFAULT)
- tape record length, in bytes

	Set with SET TAPE.
		INFORMATION (ABOUT) TERMINAL-MODE number
		~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

	This command gives the following informatoin about the specified :-
- its type (eg. LA36, VT52, or SYSTEM-DEFAULT)
- its speed (baud rate), in bits per second
- whether it is set to receive or refuse links, advice and system messages
- whether it is set to pause in printing output when you type the pause
character, and/or at the end of each full page of output.
- the pause and continue characters that you may have set with the TERMINAL
PAUSE CHARACTER command (only if TERMINAL PAUSE END-OF-PAGE and TERMINAL PAUSE
COMMAND are in effect, and if CTRL-S and CTRL-Q were not the specified
characters)
- the length (in number of lines) and width (in number of chatacters) of its
page
- whether it is capable of printing lowercase characters, whether it is set to
raise lowercase letters you type to uppercase, and whether it will mark (flag)
capital letters with a single quotation mark (')
- whether it has a formfeed mechanism, and whether it is set to only indicate
formfeeds or to perform them
- whether it has mechanical tab stops, whether it is set to immediately echo
input you type
- whether it is operating in FULLDUPLEX or HALFDUPLEX mode
	Set with TERMINAL. The SYSTAT command displays terminal numbers.
		INFORMATION (ABOUT) VERSION
		~~~~~~~~~~~~~~~~~~~~~~~~~~~

	This command tells you:-

- the TOPS-20 operating system's name and version number
- the version of the TOPS-20 command processor in use
- the names (and versions, if any) of all programs currently in memory for
which programdata vectors (PDVs) exist and that are associated with the current
process
- the version of the UUo simulation package in use (if a TOPS-10 programis in
memory)

	The format of the version number is : a.b(c)-d
where a and b are respectively incremented for major and minor changes in the
software, c gives a rough indication of the number of times the software
component has been edited, d is a holdover from earlier versions of TOPS-20 and
is now rarely used and identifies the programmer responsible for the software
		INFORMATOIN (ABOUT) VOLUMES setname:
		~~~~~~~~~~~~~~~~~~~~~~~~~~~

	This command gives the volids of currently mounted and newly created
volumes in the specified tape set.


			TERMINAL FLAG  Command


Function


	@TERMINAL FLAG (UPPER CASE OUTPUT)

	  Instructs the system to print a  single  quote  before  it
	  prints  an  uppercase  character.   This works only if you
	  have	set  the  NO  LOWERCASE  parameter.   To  stop	 the
	  flagging,  set the NO FLAG parameter.  The system does not
	  ordinarily flag uppercase.


			TERMINAL FORMFEED Command


Function


	@TERMINAL FORMFEED (EXISTS ON TERMINAL)

	  Informs the system  that  your  terminal  has  a  formfeed
	  mechanism;   otherwise  the  system simulates formfeeds by
	  printing the correct number of blank lines if you have set
	  TERMINAL  NO	INDICATE,  or by printing an ^L you have set
	  TERMINAL INDICATE.  To inform the system that  a  formfeed
	  does not exist, set the NO FORMFEED parameter.


			TERMINAL FULLDUPLEX Command


Function


	@TERMINAL FULLDUPLEX (MODE FOR TERMINAL)

	  Instructs the system to repeat each character as you	type
	  it;	your terminal does not print what you type until the
	  system sends the character  back  to	the  terminal.	 The
	  system normally sets the FULLDUPLEX parameter.


			TERMINAL HALFDUPLEX Command


Function


	@TERMINAL HALFDUPLEX (MODE FOR TERMINAL)

	  Inhibits the system from repeating each character  as  you
	  type	it;  your terminal must print each character itself.
	  The system normally sets FULLDUPLEX parameter.


			TERMINAL IMMEDIATE Command


Function


	@TERMINAL IMMEDIATE (ECHO MODE)

	  Instructs the system to immediately echo each character as
	  you  type  it;  normally the system waits until the proper
	  program (or the command language interpreter) receives the
	  character  (i.e.,  NO  IMMEDIATE is the default).  To turn
	  off  immediate  mode	echoing,  set	the   NO   IMMEDIATE
	  parameter.	IMMEDIATE   echoing   works  only  when  the
	  FULLDUPLEX parameter is set.

			TERMINAL INDICATE Command


Function


	@TERMINAL INDICATE (FORMFEED)

	  Instructs the system to print a ^L  instead  of  advancing
	  the  proper number of lines whenever outputting a formfeed
	  (or CTRL/L).	The  system  normally  advances  the  proper
	  number of lines as in NO INDICATE.


		TERMINAL LA120 Command


Function


	@TERMINAL LA120

	  Informs  the	system	that  your  terminal  is  a  Digital
	  Equipment Corporation LA120.  The system assumes an LA120:

	  1.  Prints  lowercase   letters

	  2.  Has a line width of 132, and

	  3.  Has a page length of 66.

			TERMINAL LENGTH  Command


Function



	@TERMINAL LENGTH (OF PAGE IS) n

	  Sets the number of lines you have on a page.	If you	have
	  terminal  PAGE mode set, the system stops after printing n
	  lines and waits for you to type a CTRL/Q.  If you set  the
	  page	length to 0, the system stops printing only when you
	  type a CTRL/S;  it does not automatically stop at the  end
	  of a page.

		Default n - 66

		TERMINAL LINE-HALFDUPLEX  Command


Function


	@TERMINAL LINE-HALFDUPLEX (MODE FOR TERMINAL)

	  Inhibits the system from printing each  character  as  you
	  type it.  Same as HALFDUPLEX.


			TERMINAL LOWERCASE Command


Function


	@TERMINAL LOWERCASE (EXISTS ON TERMINAL)

	  Tells the system  that  your	terminal  handles  lowercase
	  characters  properly.   (Handling lowercase properly means
	  either printing the lowercase character  or  printing  the
	  proper  uppercase  character.)  If  your terminal does not
	  handle lowercase properly, use the NO LOWERCASE parameter.
	  When	NO  LOWERCASE  is set, the system converts lowercase
	  letters to the appropriate uppercase letters.  Also  refer
	  to the FLAG parameter and the RAISE parameter.

		Default
			TERMINAL PAGE Command


Function


	@TERMINAL PAGE (MODE) n

	  Instructs the system to stop printing whenever  it  either
	  reaches  the	end  of  a  page  or  you type a CTRL/S.  To
	  continue the printout, type a CTRL/Q.   To  set  the	page
	  length, give the number n or set the LENGTH parameter.  If
	  you set the page length to 0, the  system  stops  printing
	  only	when  you  type a CTRL/S;  it does not automatically
	  stop at the end of a page.  To turn off page mode, use the
	  NO  PAGE  parameter.	The system does not normally set the
	  page parameter.


			TERMINAL PAUSE Command


Function

	@TERMINAL PAUSE CHARACTER x y
		        END-OF-PAGE
		        COMMAND


		Instructs the system to stop sending output
		whenever it has sent a full page (END-OF-PAGE)
		or whenever you type CTRL/S (COMMAND) or x 
		(CHARACTER).

		For argument END-OF-PAGE to stop yout output,
		argument COMMAND must also be in effect.  You
		continue the output by typing CTRL/Q or the y
		parameter of the CHARACTER argument.

		For argument CHARACTER to stop your output, the
		COMMAND and END-OF-PAGE arguments must be in
		effect.  With the CHARACTER argument, ^1 you
		can continue output by typing the y parameter.
		You can specify x and y in various ways: as the
		octal ASCII code for any character or control
		key; as any printing character in double quotes
		(" "); as the word "control" followed by the
		printing representation of a control character
		in double quotation marks (e.g. CONTROL "A");
		and as the word "space" to specify the space
		bar.  If you specify x & y to be the same, or 
		if you omit y, you get a toggle effect.  You can
		specify CTRL/S & CTRL/Q as x & y parameters
		only on local terminals.  (Network terminal
		connections do not allow for CTRL/S & CTRL/Q)
		But even some local terminal require that you
		select characters other than CTRL/S & CTRL/Q
		e.g. the VT125 and the VT100 with the printer
		port option.

		The default values for x & y are CTRL/S & CTRL/Q
		for local terminals, & CTRL/A/CTRL/A for network
		terminals.  You can achieve consistency between
		local and network terminals by placing the same
		TERMINAL PAUSE CHARACTER command in your
		LOGIN.CMD files on the various TOPS-20 systems.

		To set the page length, use the TERMINAL LENGTH
		command.  If you set the page length to 0, the
		system stops sending output only when you type
		CTRL/S or the x parameter of the CHARACTER
		argument.
			Default - COMMAND	(for all
						terminal types)
						- END-OF-PAGE	(for display
						terminals)
						- CHARACTER	(for all
						terminal types)

			TERMINAL RAISE Command


Function


	@TERMINAL RAISE (TERMINAL INPUT)

	  Instructs the system to change  all  lowercase  characters
	  (which  you  type on your terminal) into the corresponding
	  uppercase character.	To revert to the  condition  of  not
	  raising input, use the NO RAISE parameter.


			TERMINAL SPEED Command


Function


	@TERMINAL SPEED (OF INPUT) rate (AND OUTPUT) rate

	  Sets the rate  at  which  your  terminal  does  input  and
	  output.   Your  installation	sets  the rate at which your
	  terminal starts at.  If you want to change that rate,  set
	  the  SPEED parameters, then change the baud rate switch on
	  your terminal.  If you do not give  an  output  speed  the
	  system  uses	the input speed.  The valid speeds are:  50,
	  75, 110, 134, 150, 200, 300, 600, 1200,  2400,  4800,  and
	  9600.   Hints:  Most hard-copy terminals run at either 110
	  or 300 baud;	display terminals usually run at  a  variety
	  of  speeds  up  to 9600 baud;  a 2741 terminal runs at 134
	  baud (actually 134.5);  the maximum speed you can use over
	  a  conventional  telephone line is 300 baud.	If you set a
	  baud rate your terminal cannot handle,  obtain  your	line
	  number  (if possible) and ask the operator to set the baud
	  rate to an appropriate value.

		TERMINAL SYSTEM-DEFAULT Command


Function


	@TERMINAL -DEFAULT

		Informs the system that your terminal has
		these characteristics (ensuring an acceptable
		minimum level of performance for all terminal
		types):

			does not have a formfeed or tab
			mechanism

			prints lowercase letters

			needs extra time to perform a carriage
			return, linefeed, tab & formfeed

			has a line width of 72

			has a page length of 66

				Default for terminal type

			TERMINAL TABS Command


Function


	@TERMINAL TABS (EXIST ON TERMINAL)

	  Informs the system that your terminal has  mechanical  tab
	  stops   every   eight   columns;   otherwise,  the  system
	  simulates the tabs  by  printing  the  correct  number  of
	  spaces.  To invoke simulation, set the NO TABS parameter.


			TERMINAL TYPE Command


Function


	@TERMINAL TYPE n

	  Instructs the system to treat your  terminal	as  terminal
	  type n.  The following table describes the characteristics
	  of the different terminal types.

	  Terminal
	  Type	    Characteristics

	   0	    Same as Model 33.
	   1	    Same as Model 35.
	   2	    Same as Model 37.
	   3	    Same as EXECUPORT and TI.
	  4-7	    Reserved for customer use.
	   8	    Same as TERMINET.  (This is the default type.)
	   9	    Has  a  TAB  and  FORMFEED	 mechanism,   prints
		    lowercase,	infinite  line	width, infinite page
		    length.
	  10	    Same as VT05.
	  11	    Same as VT50.
	  12	    Same as LA30.
	  13	    Same as VT52, except with a page length  of  30.
		    Used for a Digital Equipment Corporation GT40.
	  14	    Same as LA36.
	  15	    Same as VT52.
	  16	    VT100
	  17	    LA38
	  19-34	    reserved for cutomer use
	  35	    VT125
	  36	    VK100
			Default - 8


			TERMINAL VT100 Command


Function


	@TERMINAL VT100

	  Informs  the	system	that  your  terminal  is  a  Digital
	  Equipment Corporation VT100.  The system assumes a VT100:

	  1.  Does not have a formfeed mechanism

	  2.  Prints  lowercase   letters

	  3.  Has a line width of 80, and

	  4.  Has a page length of 24.

			TERMINAL VT125 Command


Function


	@TERMINAL VT125

	  Informs  the	system	that  your  terminal  is  a  Digital
	  Equipment Corporation VT125.  The system assumes a VT125:

	  1.  Does not have a formfeed mechanism

	  2.  Prints  lowercase   letters

	  3.  Has a line width of 80, and

	  4.  Has a page length of 24.

	  5.  Has capability of B & W graphics

			TERMINAL WIDTH Command


Function


	@TERMINAL WIDTH (OF LINE IS) n

	  Tells the system the width of your  terminal	line.	When
	  the  system prints a line longer than your terminal width,
	  it prints the first n positions, then advances a line  and
	  prints the rest.

		Default Width - 72
				TALK Command


Function

     The  TALK	command  links	your  terminal	to  another   terminal
     (referred	to  as	the  linked  terminal).   Whatever you type is
     printed on both your terminal and the linked terminal;   whatever
     a	user types on the linked terminal appears both on his terminal
     and your terminal.


Format

     @TALK (TO) identifier

     identifier is either a user name or a line number.


Characteristics

     Other job not effected
	The linkage affects only the output of the terminals;  the  input
	of the terminals is left intact.  For example, if your program is
	waiting for a command and a user types a command  on  the linked
	terminal, that  command  works only for his job, not yours - you
	see only the resulting typescript.

     Ending TAlk
	The BREAK command breaks any links you have established with  the
	TALK command.

     Refused TALK
	Ordinarily you cannot contact a user with TALK if his terminal is
	set to refuse links. In such a case your TALK command causes a
	series of CTRL/G signals at both terminals - usually ringing bells
	of high-pitched beeps. However, if you have wheel or operator
	capabilities enabled, you can talk to any user.

     Maximum of Four Terminals
	By using TALK commands you can join up to four terminals at once
	for sharing displays or printout.


Hints

     Signalling a Linked User
	Once you have established links with another user's terminal via
	the TALK command, you can get his attention by typing a series
	if CTRL/Gs. Depending on the kind of terminal he has, these will
	be reproduced as ringing bells or high-pitched beeps. This action
	can be especially usefull when establishing links with the 
	owner of a display terminal, as display terminals are silent
	in ordinary operation.

      Using TALK when Teaching
	The TALK command is useful when you  are  teaching  another  user
	about  a system feature.  By using the TALK facility, the teacher
	and pupil do not have to physically be in the same location.

     Sending Messages
	To avoid getting the message ?UNRECOGNIZED COMMAND, precede  your
	comments with an !.


Operation

     1.  Type TALK and press the ESC key;  the system prints (TO).

	 @TALK (TO)

     2.  Type a user name or a terminal number and  press  the	RETURN
	 key.	You  may use recognition in typing user names.	If you
	 type a valid user name or terminal number, the system	prints
	 a message on both terminals.

	 @TALK (TO) WATERS

	 LINK FROM MCKIE, TTY 23
	 @

     3.  If there is more than one job logged in under	a  user  name,
	 the system prints out a list of terminal numbers.  Select the
	 job you want and type the appropriate terminal number.

	 @TALK (TO) MACK
	  TTY35, EXEC
	  TTY110, BLIS10
	 TTY: 35

	 LINK FROM MCKIE, TTY 23
	 @

     4.  If  the  job  you  are  linking  to  is  logged   in	on   a
	 pseudo-terminal  (as  are Batch jobs and jobs logged in under
	 the PTYCON job controller), the system prints a message after
	 which you must press the RETURN key.  If you should link to a
	 Batch job, remember that if you type a ?  or a %,  the  Batch
	 system may interpret this as an error within the job.

	 @TALK (TO) KIRSCHEN
	  [PSEUDO-TELETYPE CONFIRM]

	 LINK FROM MCKIE, TTY 23
	 @


Errors

     1.  If the user is not logged in, the system ignores the  command
	 and prints the message:

	 ?USER IS NOT LOGGED-IN
	 USE "MAIL" TO SEND MAIL TO USER

	 Use the MAIL program to send the message to the user.

     2.  If the user is not allowing anyone to establish a link to his
	 terminal,  the  system  rings both terminal bells five times,
	 then prints the following message on your terminal.

	 ?REFUSED, USE "MAIL" TO SEND MAIL TO USER

	 Use the MAIL program or wait until a later time.


Warning

     Talking to a BATCH Job
	Use caution when communicating through a PTY (pseudo-terminal)
	that is controlling a batch job: do not send question mark (?)
	or percent sign(%), because these characters can be attributed
	to errors occuring within the job. Also, if an error actually
	does occur in the batch joband the batch system's question mark
	is displayed (by your remarks) from the beginning of a line, the
	system may not recognize it as an error.

     Talking Between a VT100 and a VT52
	If links between VT100 and VT52 terminals are established using
	a TALK (or ADVISE) command, the VT52 may function improperly
	during or after the linked interval (e.g., by requiring frequent
	CTRL/Q commands to print multiple lines of output). Turning
	the terminal off and then on again (after the linked interval)
	will correct this problem.


Effect on Memory and Terminal

     The TALK command does not change any program in memory and leaves
     your terminal at TOPS-20 command level.


Restrictions

     You may not link to a detached job.

     The TALK command does  not  print	a  password  onto  any	linked
     terminals.  If, however, you type a CTRL/R while giving a command
     containing a password, the password is printed.


Related Commands

ADVISE		for sending commands to another user's job
BREAK		for ending commnications links involving your terminal
RECEIVE LINKS	for allowing other users to talk to you
REFUSE LINKS	for preventing other users from talking to you
REMARK		for telling the system to regard your terminal
		input as comments only
Examples

     The user TALKs to user POMFRET then BREAKS the link.

	@TALK (TO) POMFRET

	LINK FROM MCKIE, TTY 23
	@!  Did you update the FORTRAN sources?
	@!  Yes, they are in <FORLIB>
	@!  Thanks....
	@BREAK (LINKS)
	@
KEEP command

Function

	The KEEP command specifies that a process (fork) should be retained
	when other programs are run. Normally the act of running a program
	would remove any other program from memory.
	The KEEP command does not create a process.

Format

	@KEEP (FORK) identifier

	where

	identifier	is the name of a fork
			or
			the number of the fork to be "kept"


Effect on Memory and Terminal

	The KEEP command does not affect memory and leaves your terminal at
	TOPS-20 command level.



Related Commands


	INFORMATION MEMORY-USAGE		for examining memory of the
						current process

	INFORMATION PROGRAM-STATUS		for finding out the number and
						status of each process in your
						job
	INFORMATION FORK-STATUS			for finding out the name, number
						and status of each process in
						your job
	FORK					Set the process which is to be
						referenced by TOPS-20 commands

	UNKEEP					allow a process to be removed
						when another program is run

	FREEZE					stop the execution of a process
						which is running in the
						background
	CONTINUE 				continue executing a process
						optionally in the background

	RESET					clears a process from memory
						and closes its files, if any

	NAME					give a process a name


Example

      Whilst running the CRC radioimmunoassay program,we decide to do some
      editing :-
        @cria
        file of standard concentrations>^C
        @iNFORMATION (ABOUT) foRK-STATUS
         => CRIA (1): ^C from IO wait at STD1+13, 0:00:00.0
        @keeP (FORK) cRIA
        @edIT (File) riasTD.DAT
         :
         :
        @i fo
            CRIA (1): Kept, ^C from IO wait at STD1+13, 0:00:00.0
         => SED (2): HALT at 3251, 0:00:00.3
        @conTINUE (FORK) cRIA
        ^Rfile of standard concentrations>^C
        @i fo
         => CRIA (1): Kept, ^C from IO wait at STD1+13, 0:00:00.0
            SED (2): HALT at 3251, 0:00:00.3
        @unkeEP (FORK) cRIA
        @ed
         :
         :
        @i fo
         => SED (1): HALT at 3251, 0:00:00.3


NAME command

Function

	The NAME command specifies a name for the current process (fork) of
	your job, so that other TOPS-20 commands may refer to it by that name.
	It does not create a process.

Format

	@NAME (CURRENT FORK AS) identifier

	where

	identifier	is the name for the fork.


Effect on Memory and Terminal

	The FORK command does not affect memory and leaves your terminal at
	TOPS-20 command level.



Related Commands


	INFORMATION MEMORY-USAGE		for examining memory of the
						current process

	INFORMATION PROGRAM-STATUS		for finding out the number and
						status of each process in your
						job
	INFORMATION FORK-STATUS			for finding out the name, number
						and status of each process in
						your job
	FORK					Set the process which is to be
						referenced by TOPS-20 commands

	KEEP 					for preserving a process while
						other programs are run, and
						resisting being RESET
	UNKEEP					allow a process to be removed
						when another program is run

	FREEZE					stop the execution of a process
						which is running in the
						background
	CONTINUE 				continue executing a process
						optionally in the background

	RESET					clears a process from memory
						and closes its files, if any

Example


		Make the second process or your job the current process and
		give it a name

		@TV
		 :
		 :
		@INFORMATION FORK-STATUS
		=> TV (1): HALT at HALTED, 0:00:01.3
			Fork 2: HALT at HALTED, 0:00:00.3
		@FORK (IS) 2
		@NAME (CURRENT FORK AS) TV-SUB
		@INFORMATION FORK-STATUS
		   TV (1): HALT at HALTED, 0:00:01.3
		=>	TV-SUB (2): HALT at HALTED, 0:00:00.3
		@FORK (IS) TV
		@RESET TV-SUB
		@CONTINUE (FORK) TV
		^L$$
		?Illegal instruction PMAP% at SFW+16 - JSYS error:
		?Invalid process handle
		@

		You get this error as you have just destroyed half the program!!
UNKEEP command

Function

	The UNKEEP command specifies that a process (fork) should be reset
	when other programs are run. This is what would normally happen. The
	command reverses the effect of the KEEP command.
	The UNKEEP command does not reset a process itself.

Format

	@UNKEEP (FORK) identifier

	where

	identifier	is the name of a fork
			or
			the number of a fork to be "unkept"


Effect on Memory and Terminal

	The UNKEEP command does not affect memory and leaves your terminal at
	TOPS-20 command level.



Related Commands


	INFORMATION MEMORY-USAGE		for examining memory of the
						current process

	INFORMATION PROGRAM-STATUS		for finding out the number and
						status of each process in your
						job
	INFORMATION FORK-STATUS			for finding out the name, number
						and status of each process in
						your job
	FORK					Set the process which is to be
						referenced by TOPS-20 commands

	KEEP 					for preserving a process while
						other programs are run, and
						resisting being RESET
	FREEZE					stop the execution of a process
						which is running in the
						background
	CONTINUE 				continue executing a process
						optionally in the background

	RESET					clears a process from memory
						and closes its files, if any

	NAME					give a process a name


Example


      Whilst running the CRC radioimmunoassay program, we decide to do some
      editing :-
        @cria
        file of standard concentrations>^C
        @iNFORMATION (ABOUT) foRK-STATUS
         => CRIA (1): ^C from IO wait at STD1+13, 0:00:00.0
        @keeP (FORK) cRIA
        @edIT (File) riasTD.DAT
         :
         :
        @i fo
            CRIA (1): Kept, ^C from IO wait at STD1+13, 0:00:00.0
         => SED (2): HALT at 3251, 0:00:00.3
        @conTINUE (FORK) cRIA
        ^Rfile of standard concentrations>^C
        @i fo
         => CRIA (1): Kept, ^C from IO wait at STD1+13, 0:00:00.0
            SED (2): HALT at 3251, 0:00:00.3
        @unkeEP (FORK) cRIA
        @ed
         :
         :
        @i fo
         => SED (1): HALT at 3251, 0:00:00.3

			Multi-forking Commands
			~~~~~~~~~~~~~~~~~~~~~~
	There are several commands to facilitate running more than one program
at one time from your terminal. Each program takes up what is called a fork
or a process, and each process can use the full memory address space of the
DEC 20. Some programs do in fact use two (or more) processes. The editor TV
has one fork which is only involved with input from the keyboard, and a
separate fork, which actually performs the editing. Basic runs in one fork and
compiles your program into a separate fork.

	You may wish to compile a large program in the background, while you
examine a few files. You would give the compile command with the switch /STAY
and you would return to the Tops 20 command processor (or "exec"), so that you
could give some commands to Tops 20, or run another program, thus :-

@comp fred /stay
@minitab
 :
 :

	You will receive the output from all the sources intermingled !!
The commands which may be of use to you are :-


	INFORMATION MEMORY-USAGE		for examining memory of the
						current process

	INFORMATION PROGRAM-STATUS		for finding out the number and
						status of each process in your
						job
	INFORMATION FORK-STATUS			for finding out the name, number
						and status of each process in
						your job
	FORK					Set the process which is to be
						referenced by TOPS-20 commands

	KEEP 					for preserving a process while
						other programs are run, and
						resisting being RESET
	UNKEEP					allow a process to be removed
						when another program is run

	FREEZE					stop the execution of a process
						which is running in the
						background
	CONTINUE 				continue executing a process
						optionally in the background

	RESET					clears a process from memory
						and closes its files, if any

	NAME					give a process a name




			CLOSE Command


Function

     The CLOSE command closes any open files.


Hints

     Each time you open a file, the  system  assigns  this  opening  a
     unique  number  called  a Job File Number (JFN).  The INFORMATION
     (ABOUT) FILE-STATUS command lists all your open files  and  their
     associated JFNs.

     If you stop a program by typing two CTRL/Cs, you may examine  any
     file  which it has opened by immediately giving the CLOSE command
     and then typing or printing that file's contents.	After  closing
     the  files,  you  generally will not be able to give the CONTINUE
     command to resume execution of the program.


Format

     @CLOSE (JFN) n

     n              is a JFN of an open file.  If you  want  to  close
		    all open files, do not specify this argument.


Output
	When the close command is completed, the system prints a
	message on your terminal for eacf JFN it has closed or
	attempted to close.



Operation

     1.  Type CLOS and press the ESC key;  the system prints E (JFN).

         @CLOSE (JFN)

     2.  Type the JFN (to close one specific opening)  and  press  the
	 RETURN key, or simply press the RETURN key (to close all open
	 files).  The system prints a  message	about  every  file  it
	 tries to close.

         @CLOSE (JFN) 3
	  3   NXTFIL.FOR.2   [OK]
	 @



Characteristics

	The close command is used to preserve the contents of a file
	after the abnormal termination of the program that opened it.
	Under ordinary conditions you do not need to use the close
	command.


Restrictions

     The CLOSE command  cannot  close  files  which  are  mapped  into
     memory.   Give  the  RESET command, remembering that RESET clears
     the contents of memory. (Note, however, that RESET will delete
     and expunge a mapped file if the file is new, rather than save
     it as CLOSE would. to save a new mapped file, give the SET
     PAGE-ACCESS 0:777 NONEXISTENT command, and follow this with close).
     If RESET does not suceed, you  may  have done a PUSH command.
     Give the POP command, the RESET command and finally, the CLOSE
     command again.


Effect on memory and terminal

     The CLOSE command does not change a program in memory and  leaves
     your terminal at TOPS-20 command level.


Related commands

	INFORMATION FILE-STATUS   for determining which file are open
				  in your job

	INFORMATION MEMORY-USAGE  for determining which files are mapped

	RESET			  for closing mapped files and clearing
				  memory

Examples

     The user gives the INFORMATION command, then closes all his  open
     files.

        @INFORMATION (ABOUT) FILE-STATUS (OF JFN)

         CONNECTED TO <MCKIE>.  JFNS:
	 5   024EDI.TEM.1 WRITE, NEW FILE, 0.(36)
	 4   COMPILE.TXT.6 READ, 1555.(36)
	 3   <SUBSYS>PA1050.EXE.362 READ, EXECUTE
	 2   <NEW>EDIT.EXE.15 READ, EXECUTE
	 1   <SYSTEM>EXEC.EXE.287 READ, EXECUTE

         DEVICES ASSIGNED TO/OPENED BY THIS JOB:  TTY16

        @CLOSE (JFN)
	 5   024EDI.TEM.1   [OK]
	 4   COMPILE.TXT.6   [OK]
	 3   <SUBSYS>PA1050.EXE.362   CAN'T CLOSE FILE - FILE STILL MAPPED
	 2   <NEW>EDIT.EXE.15	CAN'T CLOSE FILE - FILE STILL MAPPED
	 1   <SYSTEM>EXEC.EXE.287   CAN'T CLOSE FILE - FILE STILL MAPPED
	@

     The user closes the file COMPILE.MAC.6.

        @CLOSE (JFN) 5
	 5   COMPILE.MAC.6   [OK]
	@

     The user tries to close a file,  but  finds  the  file  is  still
     mapped  into memory.  After giving the RESET command, the file is
     successfully closed.

        @CLOSE (JFN) 5
	 5   T.FOR.7   CAN'T CLOSE FILE - File still mapped
	@INFORMATION (ABOUT) MEMORY-USAGE
	 504. PAGES, ENTRY VECTOR LOC 435 LEN 2

	0-1	     PRIVATE   R, W, E
	2-10	     <OLD>VTED.EXE.34  5-13   R, CW, E
	20-137	     @ T.FOR.7	0-117	R, W, E
	140-141      T.FOR.7  120-121	R, W, E
	142-767      @ T.FOR.7	122-747   R, W, E
	770-775      <SUBSYS>UDDT.EXE.3  1-6   R, CW, E
	777	     PRIVATE   R, W, E

	@RESET
	@INFORMATION (ABOUT) FILE-STATUS (OF JFN)

	CONNECTED TO <MCKIE>.  JFNS:
	1   <SYSTEM>EXEC.EXE.298   READ, EXECUTE

	DEVICES ASSIGNED TO/OPENED BY THIS JOB: TTY107


        @DIRECTORY (OF FILES) T.FOR.*
	  <MCKIE>
	 T.FOR.7
	@




				LIGHT command
		   (Defined locally at the CRC using PCL)

Function

	Sets VT100 terminal so that screen displays dark characters on a
	light background.


Format

	@LIGHT (background)


Characteristics

	The effect of this command lasts for the current terminal session, 
	unless the DARK command is given.


Related Commands

	DARK		sets VT100 to display light characters on dark
			background.


Examples

	1.	Type LI & press the ESC key; the system prints GHT (background)

		@liGHT (background)






				DARK command
		   (Defined locally at the CRC using PCL)

Function

	Sets VT100 terminal so that screen displays light characters on a
	dark background.


Format

	@DARK (background)


Characteristics

	The effect of this command lasts for the current terminal session, 
	unless the LIGHT command is given.


Related Commands

	DARK		sets VT100 to display dark characters on light
			background.


Examples

	1.	Type DAR & press the ESC key; the system prints K (background)

		@darK (background)






				C80 command
		   (Defined locally at the CRC using PCL)

Function

	Sets the VT100 screen to a width of 80 columns.


Format

	@C80 (columns on the terminal)


Characteristics

	The effect of this command lasts for the current terminal session, 
	unless the C132 command is given.


Related Commands

	C132		sets the VT100 screen to a width of 132 columns.


Examples

	1.	Type c8 & pres the ESC key; the system prints 0 (columns
		on the terminal)

		@c80 (columns on the terminal)





				C132 command
		   (Defined locally at the CRC using PCL)

Function

	Sets the VT100 screen to a width of 132 columns.


Format

	@C132 (columns on the terminal)


Characteristics

	The effect of this command lasts for the current terminal session, 
	unless the C80 command is given.


Related Commands

	C80		sets the VT100 screen to a width of 80 columns.


Examples

	1.	Type c1 & press the ESC key; the system prints 32 (columns
		on the terminal)

		@c132 (columns on the terminal)





			ATTACH Command


Function

	The ATTACH command engages a job to your terminal.


Format

	@ATTACH (USER) name (JOB #) number
	PASSWORD:  password

	where

		name		is the user name of the job's owner

		number		is the job number

					Default the only job, or only
						detached job,or only job
						other than your current
						job, logged in under the
						user name you give

		password	is the associated password (not requested
				if you are currently logged in under the
				same user name as the job that you are
				attaching)


Characteristics

	Current Job Detached

		If you give the ATTACH command while logged in, your current
		job is detached.  You can use the LOGOUT n command to log out
		this detached job.


Hint

	Using ATTACH to Restore Phoned-in Jobs

		If you log in to the system by telephone lines and service is
		interrupted for any reason, use the ATTACH command to restore
		the connection.  If you do not do this within five minutes,
		your job will be logged out automatically and you will have to
		log in again.


Warning

	Attaching Attached Jobs

		The system will ask you to confirm your choice with a carriage
		return before attaching to your terminal a job that is attached
		elsewhere.  If you attach an attached job that is running a
		program, that program may be sent one or more CTRL/Cs, which
		can affect programs that handle CTRL/C themselves.  To avoid
		this possibility you must give a DETACH command from the
		terminal to which the program's job is attached, then attach
		this job to your terminal with an ATTACH command.


Effect on Memory, Terminal and Job

	The ATTACH command affects neither memory nor the job that you are
	attaching (but see Warning, above), and leaves your terminal at TOPS-20
	command level unless a program is being run by the job.  If a program
	is being run, your terminal is left at command level, if any, in the
	job.  Your terminal's characteristics will be those established in the
	job from which you gave tha ATTACH command; if you were not logged in,
	they will be reset to system default characteristics.


Related Commands

	SYSTAT		for finding out the user name and job number associated
			with any job

	DETACH		for disengaging a job from your own terminal


	UNATTACH	for disengaging a job from any other terminal


Examples


	1.	Attach your only job, which is presently detached.

	@ATTACH A-MOLE
	Password:
	@


	2.	Attach one of several detached jobs.

	@ATTACH A-MOLE
	?JOB # REQUIRED - A-MOLE HAS MORE THAN ONE DETACHED JOB
	@SYSTAT A-MOLE
	  37	DET	EXEC	A-MOLE
	  54	DET	TEST	A-MOLE
	@ATTACH A-MOLE 37
	PASSWORD:
	@


	3.	Check your jobs (your current job is marked with an asterisk),
		then attach the only detached job.  Verify the system's action.

	@SYSTAT A-MOLE
	  37	26	PNDORA	A-MOLE
	  58	DET	EXEC	A-MOLE
	  59*	231	EXEC	A-MOLE
	@ATTACH A-MOLE
	 DETACHING JOB # 59
	@INFORMATION JOB
	 JOB 58, USER A-MOLE, ACCOUNT PANDORA, TTY231
	@



	4.	Start a program in one job.  Then detach and continue it,and
		attach another of your jobs.

	@INFORMATION JOB
	 JOB 9, USER A-MOLE, ACCOUNT PANDORA, TTY26
	@RUN PIMPLE

	^C
	@DETACH CONTINUE
	 DETACHING JOB # 9
	^C
	RETURN
	Clinical Research Centre 2060 (V5.1), TOPS-20 Monitor 5.1 (5746)
	Type HELP & press RETURN if you are unsure how to proceed.
	@LOGIN (USER) A-MOLE (PASSWORD)
		JOB 45 ON TTY41 25-SEP-85 14:26:29
	@SYSTAT A-MOLE
	 9	DET	PIMPLE	A-MOLE
	45	41	EXEC	A-MOLE
	@ATTACH A-MOLE 45
	 [ATTACHED TO TTY41, CONFIRM]
	PASSWORD:
	@


				CMD Command
		   (Defined locally at the CRC using PCL)

Function

	The CMD command runs IND-20 which offers enhanced, programmable 
	command file facilities.



Format

	@CMD (File of commands to be executed) filespec (parameters) parameters,
	one line of text


	where

	filespec	is a .CMD or .IND file


	parameters	are the user-inputs to the IND command file &/or the
			programs the .IND file may be running


Hint

	See HLP:IND.DOC for more info on IND

			BYE ( or LOGOUT ) Command

		     ( BYE is a synonym for LOGOUT )


Function

     The  BYE ( or LOGOUT ) command  expunges  deleted  files  in your
     connected  and logged-in directory,  deletes  all  ;T (temporary)
     files created during this session in your connected and logged-in
     directories,  decrements  the mount count for any SMOUNT commands
     you have given, checks disk storage allocation, ends your job and
     prints a message.  You  may also log  out  another job as long as
     it is logged in under your user name.


Format

     @BYE n

     [or LOGOUT n]

     n	 is the job number of the job you want to log out.  If you are
	 logging  out your current job (as is the common case), do not
	 type a number.


Operation

     1.  Type BY and press the ESC key;  the system prints E.

	 @byE


     2.  To log out your current job, press the RETURN key.  (If  your
	 connected  directory is over its disk storage allocation, the
	 system prints a message.)

	 @bye
	 KILLED JOB 13, USER LESTER, ACCOUNT 10563, TTY 45,
	   AT 16-JAN-76 20:03:01 USED 0:1:46 IN 3:44:12

     3.  If you are logging out another job, type the job  number  and
	 press the RETURN key.

	 @bye 23
	 @


Errors

     1.  If you try to log out another user's job, the system  ignores
	 the BYE command and prints the message:

 	  ?LOGOUT
          ?WHEEL OR OPERATOR CAPABILITY REQUIRED


     2.  If no user is logged in under that  job  number,  the	system
	 ignores the BYE command and prints the message:

         @BYE 1873
         ?LOGOUT 1873
	 ?THAT JOB DOES NOT EXIST


Output

     If you exceed your permanent disk storage allocation, the	system
     prints the message:

     <directory> OVER PERMANENT STORAGE ALLOCATION BY n PAGES

     where directory is your logged-in directory and n is  the	number
     of pages by which you exceeded your quota.  You should log in and
     delete and expunge enough files to get under quota.   Before  you
     log out, you can give the INFORMATION (ABOUT)  DISK-USAGE command
     to find if you are over your allocation.


Characteristics

     The BYE ( or LOGOUT ) command:

	 Clears any program from memory and expunges the deleted files
	 in  your  connected  and  logged-in directory, unless you are
	 logging out  another  job,  in  which	case  it  leaves  your
	 terminal at TOPS-20 command level.

	 Terminates any ACCESS, CONNECT and SMOUNT commands  you  have
	 given throughout your job session.


Restrictions

     You cannot log out another user's job.

     You cannot give a job number when you are logging	out  your  own
     job.


Examples

1.     The user logs out his own job, but is  over  his  permanent  disk
     storage allocation by 5 pages.

	@bye
	 <HARDING> OVER PERMANENT STORAGE ALLOCATION BY 5 PAGES.
	KILLED JOB 36, USER HARDING, ACCOUNT 34, TTY 2,
	  AT 16-JAN-76 3:04:01 USED 0:0:23 IN 0:5:12

2.     The user logs out job 34 which is logged in under his user name.

	@bye 34
	@

			CD or CONNECT Command

		   ( CD is a synonym for CONNECT)

Function

     The  CD ( or CONNECT ) command connects you to another directory
     and disconnects you from the current directory.


Hints

     Connecting to a directory grants you  owner  privileges  to  that
     directory	and  files.   Whenever	you  give  a  command  without
     specifying a  directory,  the  system  uses  the  files  in  this
     connected directory.

     If you omit the structure or  directory  name  from  the  CD
     ( or CONNECT ) command,the system defaults to your currently connected
     connected  structure  or  directory.   But, if  you omit both the
     structure  and directory	name,  i.e.,  CD ( or CONNECT ) ,  the
     system  defaults to the public structure (PS:) and your logged-in
     directory.

     The first time you give a CD ( or CONNECT ) command to a directory
     that  is on  a  file  structure  other than  the  public structure
     (PS:),  you  should  give the  MOUNT STRUCTURE  command before the
     CD  ( or CONNECT ) command.



Format

   @CD (CONNECT TO DIRECTORY) dev:<dir>

   [or  CONNECT (TO DIRECTORY) dev:<dir>]

     PASSWORD:password

     dev:           is the name of the file  structure  that  contains
		    the  directory  to	which you are connecting.  The
		    CD ( or CONNECT ) command  will only accept a file
		    structure name in the dev:  field.

     <dir>          is the name of the  directory  to  which  you  are
		    connecting.   The  brackets  must  be  included in
		    directory  names.	You  can  use  recognition  on
		    directory  names.  Remember to type the left angle
		    bracket.

     password       is the password of the directory to which you wish
		    to	connect.   The password is not required if you
		    own the directory (you own	a  directory  if  your
		    user  name	is the same as the directory name), or
		    if the directory protection allows you to  connect
		    without giving a password.


Operation

     1.  Type CD and press the ESC key.  The system prints  (CONNECT TO
	 DIRECTORY).

         @CD (CONNECT TO DIRECTORY)

	 or type CONN and press the ESC key.
         The system prints ECT (TO DIRECTORY)

     2.  Type the file structure name and a colon.  (You do  not  have
	 to  type  the	file  structure  name if the directory you are
	 connecting to is on the currently connected structure.)

         @CD (CONNECT TO DIRECTORY) ADMIN1:

     3.  Type (or use recognition on) the directory name.   Press  the
	 RETURN key.  The system prints PASSWORD:  on the next line.

         @CD (CONNECT TO DIRECTORY) ADMIN1:<BERLITZ>
	 PASSWORD:

     4.  Type the password belonging to the directory  and  press  the
	 RETURN  key.	(If  you own the directory or if the directory
	 protection gives you the proper access, you do  not  have  to
	 give  a  password;   just  press  the	RETURN	key.) When the
	 CD command succeeds, the system  prints  an  @  on  your
	 terminal.

         @CD (CONNECT TO DIRECTORY) ADMIN1:<BERLITZ>
	 PASSWORD:
	 @



Errors

     1.  If you do not enter the correct password or  if  you  do  not
	 give  a  password  and  it is required, the system pauses and
	 then prints the message:

         ?INCORRECT PASSWORD or ?PASSWORD IS REQUIRED

         and cancels the  command.   You  should  obtain  the  correct
	 password and reissue the command.

     2.  If  you  did  not  give the  MOUNT STRUCTURE  command and you
         specify  a  file   structure  that is not on line, the system
         prints the message:

         ?STRUCTURE IS NOT MOUNTED or ?NO SUCH DEVICE

         and cancels the command.  First, check to see if you  entered
	 the  name  correctly.	If you did, give the SMOUNT command to
	 request that the file structure be placed on line.

     3.  If you give a non-existent directory name, the system  prints
	 the message:

         ?NO SUCH DIRECTORY

         and cancels the command.



Characteristics

     The CD ( or CONNECT ) command:

         Leaves your terminal at TOPS-20 command level.

         Does not change any program in memory.

         Causes  an  allocation  check  for  the  directory  you  were
	 originally  connected	to  and the directory to which you are
	 now connecting.  If either directory contains more space than
	 is allowed, the system prints a warning message.

Related Commands

	ACCESS	for obtaining group as well as ownership rights equal to those
		of the owner of a directory

	MOUNT	for making a structure available for connecting and ensuring
		the continued availability of the structure



Examples

     The user connects  to  the  directory  <INSTRUMENTATION>  on  his
     currently connected structure.

        @CD (CONNECT TO DIRECTORY) <INSTRUMENTATION>
	PASSWORD:

     The user connects to the directory <SHELDON>  on  file  structure
     ACCTG:.   He  types  CONN, leaves a space, types ACCTG:<SHELDON>,
     and press the RETURN key.	 On  the  following  line  the	system
     prints  PASSWORD:,  then  the user types the password and presses
     the RETURN key.

        @CD ACCTG:<SHELDON>
	PASSWORD:



				EDIT Command


Function

     The EDIT command lets you edit a file using the EDIT program.
     Here at the CRC, the EDIT program is either TV or SED. TV is the
     system default( defined) editor. You can set the default editor
     to be SED by giving the command:

			@DECLARE PCL SYS:SED
			^
			|
			|
			TOPS-20 prompt




Format


1). TV editor

     @EDIT (FILE)  input (OUTPUT AS) output



2). SED editor

     @EDIT (FILE) /switches input (OUTPUT AS) output


     /switches  is any combination of switches separated by space
		To get the list of the switches type ? after EDIT
		command. The system will display all available switches
		you can use.You  may use recognition on the switch
		name and switch value. For the detail description of the
		switches refer to SED editor reference manual.


     input      specifies the file you want to change.
		the  system recognizes the highest generation.

     output     specifies  the  output  file.    The   system   always
		recognizes  a  new  generation of the output file.  If
		you do not specify an output file, the system uses  an
		output	file  with the same name and type as the input
		file, but with a new generation  number.   The	output
		file  is  always  placed  in  your currently connected
		structure and directory unless you explicitly type  in
		an  alternative  structure  or directory in the output
		specification.
Special Cases

     The EDIT command starts TV or SED as long as you  give  a  legal
     file specification  as an  argument.  If the file exists, Both
     editor TV or SED will enter EDIT mode for the file.

     if the file does not exist, and your defined editor is TV
     (also system default editor) , the editor will print  an error
     message and then ask you to reinput the filespec. If your defined
     editor is SED the editor will print error message and the EDIT
     command will be aborted.

     If you do not give any arguments to the EDIT command, the  system
     uses  the arguments you gave in the last CREATE or EDIT command.
     If you have not given a CREATE or EDIT  command  since  you  have
     logged  in, the system cannot recall any arguments and prints the
     message:

	1). TV editor

		*no saved filespec

	TV will assume that you wish to create a new file and you
	will have to input file name at the end of edit session
	(see comand CREATE).


	2). SED editor

	Unfortunately SED editor will not display any error message
	and also will start the SED program.


Hints

     Refer to the description of the TV or SED  program for a  list  of  all
     the EDIT commands.



Operation

     1.  Type EDIT and press the ESC key;  the system prints (FILE).

         @EDIT (FILE)

     2.  Type (or use recognition on) the  input  file  specification.
	 press the ESC key. The system prints (OUTPUT AS).

         @EDIT (FILE) TEST.FOR.4 (OUTPUT AS)

     3.  Press the RETURN key if you want  a  new  generation  of  the
	 input	file  as your output file.  If you want, press the ESC
	 key and the system will print this default output file.  Then
	 press the RETURN key.	Otherwise type (or use recognition on)
	 the output file, then	press  the  RETURN  key.   The	system
	 always  chooses  a new generation if you use recognition.


         @EDIT (FILE) TEST.FOR.4 (OUTPUT AS) TEST.FOR.5

         You can, provided you have the appropriate access privileges,
	 edit  a file in another directory or a file in a directory on
	 another  file	structure  by	giving	 the   complete   file
	 specification (dev:<dir>filename.type).  You can also specify
	 the placement of the output  file  in	another  directory  on
	 another structure.  For example:

         @EDIT (FILE) HSTRY:<ESTEY>TEST.COB (OUTPUT AS) ADMIN:<GREEN>TEST.COB



     If your defined editor is SED and you  want to give switches--

     1.  Type the letters EDIT and press  the  ESC  key;   the  system
	 prints (FILE).

         @EDIT (FILE)

     2.  Type a slash and type (you may type ? for list of switches)  the
	 switch  name.	 If  the  switch  has  a  value,  type a colon
	 followed by the value.  You can use recognition on the switch
	 by pressing the ESC key.


         @EDIT (FILE) /READ

         @EDIT (FILE) /WRITE


     3.  Type (or use recognition on) as many switches  as  you  need,
	 then follow the directions in steps 2 and 3 under Operations.


Characteristics

     The EDIT command starts the EDIT program,  thereby  clearing  any
     program  from  memory.   Your  terminal  is  left at EDIT command
     level.



			   CREATE Command


Function

     The CREATE command lets you create a file using the EDIT program.
     Here at the CRC, the EDIT program is either TV or SED. TV is the
     system default( defined) editor. You can set the default editor
     to be SED by giving the command:

			@DECLARE PCL SYS:SED
			^
			|
			|
			TOPS-20 prompt


Format

	@CREATE (FILE)  filespec


	filespec   specifies the file you want to create.


	If you have defined your editor to be SED then you may use
	switches with CREATE command. The format of the CREATE
	command will then be as follow:

	@CREATE (FILE) /Switch(es)   filespec

	To get the list of the switches type ? after CREATE command.
	The system will display all available switches you can use.
	For the detail description of the switches refer the SED
	editor reference manual.


Operation


     1.  Type CREATE and press the ESC key;  the system prints (FILE).

         @CREATE (FILE)

     2.  Type the  input  file  specification; then  press  the 
	 RETURN key. You may use recognition while inputing file
	 spec.
	 


         @CREATE (FILE) TEST.FOR



	If you are using TV, the CREATE command will put you into
	EDIT mode by prompting you with an asterisk (*), just as if 
	you have typed the EDIT command with the specifications of the
	newly-created file as argument. You can now create the file 
	using all the EDIT command.
	
	If you are using SED, the first line of the new file will contain
	the message: 

		;This file is Filespec

	Where filespec is the filespec specified in the CREATE command.
	You can now create the file using SED editng commands.

Hints

	Refer to the description of the apropriate EDIT program (SED or TV)
	for a  list  of  all the EDIT commands.



	The CREATE command starts EDIT as long as you give a  legal  file
	specificationi as an argument. If you give just a file name and
	type, the system creates a new generation of that file.

	If you specify a file name whereby the file already exist
	and your defined editor is SED then  the  system recognizes
	the highest generation and assumes you want to edit the file;
        if the  file  does  not  exist,  the system allows you to
	create the file.

	However if your default editor is TV then the system will
	not assumes you wont to edit the file but you wish to create
	a new file. The system will recognize the highest generation
	number and will create a new file of that number.

	If  you are using SED and give  a file name, type and existing
	generation number, EDIT sets the output file generation number
	to one higher than the  highest existing  generation number,
	even though it prints the generation number you gave.

	If you are using system default TV editor, the file created
	will contain the generation number as specified in the CREATE
	command.

	If you do not give any  arguments  to  the  CREATE  command,  the
	system  uses  the arguments  you gave in the last CREATE or EDIT
	command. If you have not given a CREATE or  EDIT command  since
	you  have logged in, the system cannot recall any arguments and
	prints the message:

	1).  TV editor

		*No saved filespec

	You will then have to specify filespec at end of Create/Edit
	session.


	2).  SED editor

	sys:sed=
	unable to create file

	SED will also display short description of SED editor.



Characteristics

     The CREATE command starts the EDIT program, thereby clearing  any
     previous  programI from  memory. Your terminal is left at EDIT
     command level.



			SET SPOOLED-OUTPUT Command


Function


	@SET SPOOLED-OUTPUT IMMEDIATE
			    DEFERRED

		Directs the system either to begin processing
		your spooled output requests (e.g. those made
		using the COPY or CREF command) as soon as you
		make them, or to defer them until log-out.
		Check with INFO SPOOLED-OUTPUT-ACTION.
			Default - IMMEDIATE



			   ORIGINAL Command


Function

	The ORIGINAL command invokes the command as it was before it was
	redefined using PCL (the programmable command language).


Format

	@ORIGINAL (EXEC COMMAND) command

	where command is an Exec command which was not defined using PCL.



Characteristics

	You may only execute original commands if you redefined them yourself.
	Those commands which have been redefined in the system-wide Exec,
	cannot be accessed by users.

	The EDIT command normally uses the TV editor. If you have redefined it
	to use SED then you may use TV by giving the command ORIGINAL EDIT (or
	O ED).



			ADVISE Command


Function

	The ADVISE command links your terminal with another user's terminal
	so that you can give commands to his job.  The advisee can still give
	commands to his job.


Format

	@ADVISE argument

	where

	argument		is either a user name or terminal line number



Characteristics


	Input to Other Job

		For as long as the ADVISE command is in effect, the commands you
		give affect the advisee's job instead of your own.


	Ending Advice

		To end an advising link that you have formed between terminals,
		you must type CTRL/E.  This CTRL/E is not echoed on either
		terminal.


	Refused Advice

		Ordinarily, you cannot advise a job unless its terminal is set
		to receive advice.  However, if you have Wheel or Operator
		capabilities enabled, you can advise any job.



Special Cases


	Advisee Has More Than One Job

		If more than one job is looged in under the user name you
		specify, the system gives you a list of that user's terminal
		numbers and associated programs to choose from, then prints
		TTY: to prompt your response.  Type your choice of terminal
		number after the prompt.



	Advising a Pseudoterminal (PTY:)

		It you try to advise a PTY: the system informs you of this
		and asks you to confirm with a carriage return.



Help during ADVISE


	Using CTRL/^? for HELP

		Using CTRL/^? for help does not seem to work!




Warnings


	BREAK command

		Issuing a BREAK command does not seem to prevent the advisor's
		terminal from printing what either user types.


	Talking Between a VT100 and a VT52

		If links between VT100 and VT52 terminals are established using
		an ADVISE (or TALK) command, the VT52 may function improperly
		during or after the linked interval (e.g., by requiring frequent
		CTRL/Q commands to print multiple lines of output).  Turning the
		terminal off and then on again (after the linked interval) will
		correct this problem.



Restrictions


	Compatible Terminals

		Unless the terminals involved in an advising link have
		compatible characteristics (e.g., terminal width, ability to
		handle tabs and lowercase letters), some information can be
		lost or overprinted.  To avoid this problem, the user of the
		faster or more capable terminal should adjust his terminal's
		characteristics, if possible before the ADVISE command is given.


	Detached Jobs

		You cannot advise detached jobs.


		
Effect on Memory and Terminal


	The ADVISE command does not affect memory and leaves your terminal at
	the advisee's terminal's command level, controlling his job.



Related Commands


	RECEIVE ADVICE		for allowing other users to advise you

	REFUSE ADVICE		for preventing other users from advising you

	REMARK			for sending comments only

	TALK			for linking terminals so that your comments
				affect only your own job



Examples


	1.	Advise a user, then immediately type CTRL/E to end advice.


		@ADVISE J-BLOGGS
		 ESCAPE CHARACTER IS <CTRL>E, TYPE <CTRL>^? FOR HELP
		 J-BLOGGS JOB 51 EXEC

		LINK FROM A-MOLE, TTY 228
		 [ADVISING]

		 [ADVICE TERMINATED]
		@


	2.	Advise a user's job and access a directory for him.

		@ADVISE J-BLOGGS
		 ESCAPE CHARACTER IS <CTRL>E, TYPE <CTRL>^? FOR HELP
		 J-BLOGGS JOB 48 EXEC

		LINK FROM A-MOLE, TTY 226
		 [ADVISING]
		!I'LL ACCESS THE DIRECTORY FOR YOU.  THEN YOU CAN USE IT.
		@ACCESS <PANDORA>
		Password:
		@!OK, NOW YOU CAN USE IT.
		@!THANKS.

		 [ADVICE TERMINATED]
		@


	3.	Advise a user who is logged in at more than one terminal.
		Choose one of them.

		@ADVISE J-BLOGGS
		 TTY25, EXEC
		 TTY41, EXEC
		 TTY27, EXEC
		TTY: 27
		 ESCAPE CHARACTER IS <CTRL>E, TYPE <CTRL>^? FOR HELP
		 J-BLOGGS JOB 22 EXEC

		LINK FROM A-MOLE, TTY 225
		 [Advising]
		...
		 [Advice terminated]
		@

				APPEND Command


Function

     The APPEND command adds the contents of one or more source  files
     to the end of a destination file.	The destination file can be an
     existing file or a new file. The contents of the original source
     files  are not changed.


Format

	@APPEND (SOURCE FILE) source filespec(s) (TO) destination filespec,
	@@subcommand

	where

	source filespec(s)		is a single file specification, or a 
					series of them separated by commas

	destination filespec		is the specification of the destination
					file on disk; this can be a new file

	@@subcommand			means that after a final comma you can
					type an optional keyword, modifying the
					mode or format of information transfer,
					as described below



			APPEND Command Subcommands


	ASCII PARITY			specifies that the files being appended
	      NOPARITY			are written in ASCII mode, with 36-bit
					words each consisting of five 7-bit
					bytes and a parity bit; the PARITY
					argument is not currently in use;
					NOPARITY (the default) means that the
					least significant bit is set to 0 on
					input and is lost on output.


	BINARY				calls for a direct transfer of data in
					36-bit bytes


	BYTE n				specifies that the byte size of the
					destination file is to be n (any decimal
					number).  If you do not give the BYTE
					subcommand, the destination file will
					have the same byte size as the source
					file.


	IMAGE				same as BINARY

	IMAGE BINARY			same as BINARY



Output

	As each file is appended, the system prints its specification and the
	word [OK].  Also, if recognition is used on the destination file
	specification, the system prints its status (Old generation, New
	generation, New file, or Superseding, for disk files; or OK, if the
	files are appended to a non-disk device).



Characteristics

	Files Appended in Order Specified

		The APPEND command attaches source files to the destination
		file in the order you specify them; the contents of the last
		specified source will appear at the end of the destination
		file whan APPEND is finished.


	Subcommands Optional

		For most purposes you do not need to use subcommands when
		transferring information with the APPEND command.  These
		subcommands, specifying the format of the appended files, are
		required only when using certain devices (for example, devices
		of the form MTn: (tape drives) using labeled tapes) or under
		particular conditions (for example, when transferring files over
		network facilities).  If you are appending information from disk
		files	or from your terminal and you do not use any sub-
		commands, the data will be appended as written, whether in a 
		standard format(usually ASCII or binary) or not.



Special Cases


	Wildcard Characters

		Wildcard characters (* and %) can be used in source file
		specifications only.  The files are then appended in
		alphabetical order.



	Appending Information from your terminal

		The APPEND command leaves your terminal at TOPS-20 command  
		level when  TTY:   is  not  the source device.  If the source 
		device is your terminal, the system transfers anything you type
		(following the  termination  of  the	command) to the 
		destination file.  The transfer  continues  until  you  type 
		a  CTRL/Z  (^Z).	CTRL/Z completes	the  execution
		of  the APPEND command and leaves your terminal at TOPS-20 
		command level. CTRL/U, CTRL/R, CTRL/W and the Delete key can
		be used to edit the current line of terminal input.



Restrictions

	Source Files With Differing Formats

		You can use the APPEND command to transfer data from a magnetic
		tape, terminal, card reader, paper tape reader, or other device
		to disk files.  If source files written in differing formats are
		specified within the same command, some data can be lost in the
		transfer.


	Appending to Archived Files

		You can append the contents of an archive file to another file
		by specifying it as the first (or source) argument of a APPEND
		command.  You can then edit the resulting file, because it does 
		not gain archive status although part of its contents are the
		same as those of the archived file; the archived file remains
		unchanged.  However, you cannot give the specification of an 
		archived file as the second (or destination) argument of an 
		APPEND command, as this would change the file's contents.



Effect on Memory and Terminal

	The APPEND command does not affect memory, and leaves your terminal at
	TOPS-20 command level.



Related Commands

	COPY		for making copies of files.



Examples

	1.	The user appends all the files with the extension  
		.DAT  (R2.DAT, TSTAT.DAT, ROOT.DAT and WALDS.DAT) 
		to the new file MASTER.DAT.

         @APPEND (SOURCE FILE) *.DAT (TO) MASTER.DAT.1 !NEW FILE!
	  R2.DAT.1 [OK]
	  TSTAT.DAT.2 [OK]
	  ROOT.DAT.1 [OK]
	  WALDS.DAT.3 [OK]
	 @


	2.	The user appends the file RASTER.SCA.1 to the highest  
		generation of the file SCREEN.LAY.

	 @APPEND (SOURCE FILE) RASTER.SCA.1 (TO) SCREEN.LAY
	  RASTER.SCA.1 [OK]
	 @


	3.	The user appends the file SMALL.FOR on the public structure 
		(PS:) to the file LARGE.FOR on the structure STU:.

         @APPEND (SOURCE FILE) PS:<PORADA>SMALL.FOR (TO)
		STU:<PORADA>LARGE.FOR
	 PS:<PORADA>SMALL.FOR.2 [OK}
	 @


	4.	The user appends a number of source files to a  destination
		file by placing a comma between the source files.

         @APPEND (SOURCE FILE) MAIN.DAT.1,HEADED.FRM.1 (TO) NEW.FIL
	  MAIN.DAT.1 [OK]
	  HEADER.FRM.1 [OK]

		The source files will appear in the  given  order  from  left
		to right in NEW.FIL.


	5.	Use a wildcard character (%) to append several files to the
		end of another file.

		@APPEND %ORT.FOR HIL.FOR
		 FORT.FOR.8 [OK]
		 GORT.FOR.3 [OK]
		 HORT.FOR.1 [OK]
		 MORT.FOR.2 [OK]
		@



	6.	Use a wildcard character with the APPEND command to create a
		new file.

		@APPEND *.TXT BACKUP.TXT
		 MAIL.TXT.1 [OK]
		 NEWRUN.TXT.4 [OK]
		 NX.TXT.4 [OK]
		@


	7.	Append a message from your terminal to the beginning of the
		file created in Example 6.  Use the symbolic generation number
		-1 to specify this action.

		@APPEND TTY:BACKUP.TXT BACKUP.TXT.-1
		 TTY:

		!THIS IS A BACKUP FILE FOR ALL TEXT FILES.
		^Z

		 BACKUP.TXT.1 [OK]
		@

			BUILD Command


Function

	The BUILD command creates, modifies, or deletes a directory subordinate
	to a directory to which you have write access.



Format


	@BUILD (DIRECTORY NAME) str:<directory>
	@@subcommand
	@@ .
	   .
	   .
	@@
	@


	where

	str:			is the name of the (mounted) structure
				containing the directory you are building.


	directory		is the name of the directory you are building;
				it must be of 39 or fewer characters.


	@@  .			indicates that you automatically enter sub-
	    .			command mode after completing the BUILD command
	    .			line
	@@


	subcommand		is a keyword, chosen from the list below,
				indicating your choice of BUILD command options



			Summary of BUILD Command Subcommands

	ABORT
	ABSOLUTE-ARPANET-SOCKETS     (ARPANET not installed at CRC)
	ACCOUNT-DEFAULT account
	ARCHIVE-ONLINE-EXPIRED-FILES
	ARPANET-ACCESS               (ARPANET not installed at CRC)
	ARPANET-WIZARD 		     (ARPANET not installed at CRC)
	DECNET-ACCESS
	DEFAULT-FILE-PROTECTION octal protection code
		Default code - 777700

	DIRECTORY-GROUP group number n
	DISABLE
	ENABLE
	ENQ-DEQ
	FILES-ONLY
	GENERATIONS n
		Default n - 1

	IPCF
	KILL
	LIST NAME-ONLY
	     FAST
	     VERBOSE

	MAXIMUM-SUBDIRECTORIES n
		Default n - 0
	NOT ABSOLUTE-ARPANET-SOCKETS     (ARPANET not installed at CRC)
	    ARCHIVE-ONLINE-EXPIRED-FILES
	    ARPANET-ACCESS                (ARPANET not installed at CRC)
	    ARPANET-WIZARD                (ARPANET not installed at CRC)
	    CONFIDENTIAL
	    DECNET-ACCESS
   	    DIRECTORY-GROUP group number n
	    ENQ-DEQ
	    FILES-ONLY
    	    IPCF
	    KILL
	    OPERATOR
	    REPEAT-LOGIN-MESSAGES
	    SUBDIRECTORY-USER-GROUP group number n
	    USER-GROUP group number n
	    WHEEL

	NUMBER octal directory number
	OFFLINE-EXPIRATION-DEFAULT date or +n
		Default n - 90

	ONLINE-EXPIRATION-DEFAULT date or +n
		Default n - 60

	OPERATOR
	PASSWORD 1- to 39-character word
	PERMANENT n
		Default n - 250

	PROTECTION octal protection code
		Default code - 777700

	PUSH
	REPEAT-LOGIN-MESSAGES
	SUBDIRECTORY-USER-GROUP group number n
	USER-GROUP group number n
	WHEEL
	WORKING n
		Default n - 250
	

			BUILD Command Subcommands


	ABORT		cancels all work done during current BUILD command.  IF
			directory was new, it does not exist, if old, it remains
			unchanged.



	ABSOLUTE-ARPANET-SOCKETS
			ARPANET not installed at CRC therefore command 
			irrelevant.



	ACCOUNT-DEFAULT account
			causes the specified account to be charged for a
			terminal session whenever the user does not include an
			account in his LOGIN command.



	ARCHIVE-ONLINE-EXPIRED-FILES
			causes on-line files that have expired to be marked for 
			archiving.



	ARPANET-ACCESS
	ARPANET-WIZARD
			ARPANET not installed at CRC therefore commands 
			irrelevant.
   


	DECNET-ACCESS	allows the directory owner to establish DECNET 
			connections.  This subcommand works in conjunction
			with pre-established system manager controls.



	DEFAULT-FILE-PROTECTION octal protection code
			assigns this number as default for the protection code
			of each file subsequently placed in the directory.  The
			protection code is constructed (by addition) from the
			octal values shown below:

			77	full access to the file
			40	read the file
			20	write & delete the file
			10	execute the program contained in the file
			04	append to the file
			02	list the files specification using DIRECTORY-
				class commands
			00	no access to the file
					Default code - 777700


	DIRECTORY-GROUP group number n
			places the directory in a group, thereby allowing users
			in the same group access to it according to the middle 2
			digits of the protection code, & access to files in the
			directory according to the middle 2 digits of each
			file's protection code.  You can assign up to 19
			directory group numbers to each directory, with values
			ranging from 1 through 262143 (2**18 - 1).


	DISABLE		suspends any special capabilities that you may have. 


	ENABLE		allows you to activate any privileged capabilities.


	ENQ-DEQ		grants the directory owner the ability to perform global
			Enqueue & Dequeue functions.


	FILES-ONLY	declares the directory to be a files-only directory,
			i.e. one not associated with a user.



	GENERATIONS n	specifies a default for the number of successive
 			generations of files to be retained in the directory.
			This number must be from 0 to 15, with 0 meaning an
			infinite number.
				Default n - 1


	IPCF		allows the directory owner to execute all privileged 
			IPCF functions


	KILL		eliminates the directory & any files it contains from 
			the system; you must confirm this subcommand with an
			extra carriage return.



	LIST NAME-ONLY	provides a listing at your terminal of parameter values
	     FAST	set for the directory by TOPS-20 commands, BUILD
	     VERBOSE	subcommands, or by default.  The FAST listing always
			includes the subdirectory's name, some mention of the
			password, working & permanent storage limits, &, if they
			have been set, directory number, account default,
			maximum number of subdirectories allowed to this
			directory, the date & time of last log-in, group
			memberships, & user group numbers assignable by this
			directory.  The VERBOSE listing adds the other values
			that can be assigned by BUILD subcommands, while NAME-
			ONLY restricts output to the directory name.
				Default - FAST


	MAXIMUM-SUBDIRECTORIES n
			allows the owner of this directory to build up to n
			subdirectories of his own, & subtracts an equal number
			from the value of this parameter for the superior
			directory.


	The following subcommands withdraw the specified subcommand:

	NOT ARCHIVE-ONLINE-EXPIRED-FILES
	    DECNET-ACCESS
   	    DIRECTORY-GROUP group number n
	    ENQ-DEQ
	    FILES-ONLY
    	    IPCF
	    KILL
	    OPERATOR
	    REPEAT-LOGIN-MESSAGES
	    SUBDIRECTORY-USER-GROUP group number n
	    USER-GROUP group number n

	NUMBER octal directory number
			assigns a specific directory number (note: usually the
			default is adequate).  Directory numbers 1 through 17 
			must never be assigned by users, as they are reserved
			for system use.
				Default directory number - assigned by system



	OFFLINE-EXPIRATION-DEFAULT date or +n
			establishes the tape expiration date for files that are 
			to go off-line because of migration or archiving.  If
			you specify "+n", the expiration date will be n days
			from the date the files are moved off-line.



	ONLINE-EXPIRATION-DEFAULT date or +n
			establishes the disk expiration date for files that are 
			to be created in the directory.  If
			you specify "+n", the expiration date will be n days
			from the date the files are moved off-line.


	OPERATOR	grants Operator capabilities to the owner of the 
			directory.


	PASSWORD 1- to 39-character word
			assigns a password, consisting of alphanumeric
			characters & possibly including hyphens (-), to the
			directory.


	PERMANENT n	allocates permanent disk storage capacity n (in pages)
			to the directory, & subtracts an equal number from the
			permanent disk storage capacity of the superior 
			directory.
				Default n - 250


	PROTECTION octal protection code
			assigns this number as default for the protection code
			of the directory.  The
			protection code is constructed (by addition) from the
			octal values shown below:

			77	full access to the directory
			40	access to files in the directory (including
				expunging individual files), consistent with
				the file protection of files
			10	connect to the directory without giving a
				password, undelete files, expunge the entire
				directory, & change times, dates, & accounting
				info for files.  All other access is governed by
				the file protection of each file.
			04	create files in the directory
			00	no access to the directory
					Default code - 777700


	PUSH			create a level of TOPS-20 inferior to the one
				from which you issued the BUILD command & leaves
				your terminal at this new level.  You can then
				issue TOPS-20 commands to create conditions or
				obtain info that you may need during the BUILD
				session.  Give the POP command to return to
				BUILD.


	REPEAT-LOGIN-MESSAGES	causes all system messages (mail sent by
				privileged users to all users, contained in the
				file PS:<SYSTEM>MAIL.TXT) to be  printed on the
				user's terminal each time he logs in to this
				directory.  If this subcommand is not given,
				only those system messages created since the
				last time he logged in are printed.


	SUBDIRECTORY-USER-GROUP group number n
			allows propagation of any or all of the group numbers
			in a directory's user group list to the subdirectories
			of that directory.  Issuing this subcommand is the first
			step required in establishing subdirectory group rights.
			You complete the process by issuing the USER-GROUP sub-
			command for each subdirectory.  You can assign up to
			19 subdirectory user group numbers to each directory,
			with values ranging from 1 to 262143 (2**18 - 1).


	USER-GROUP group number n
			assigns the directory owner to the given user group.
			You can assign up to 19 subdirectory user group numbers
			to each directory, with values ranging from 1 to 262143.


	WORKING n	allocates working disk storage capacity n (in pages) to
			the directory, & subtracts an equal number from the 
			working disk storage capacity of the superior directory.
			Odinarily, working & permanent storage limits are equal.
				Default n - 250			


Characteristics

	BUILD and ^ECREATE

		The BUILD command is identical in format to the ^ECREATE command
		If you use BUILD with capabilities enabled, it has the same
		power as ^ECREATE, namely, to create directories & modify the
		parameters of any directory on the system.  Without these
		capabilities, you can use BUILD to modify a more restricted set
		of directories:  you can modify a directory if you have write
		access to the immediately superior directory.  The LOGIN,
		CONNECT, or ACCESS command obtains write access to the superior
		directory; or, if you have sufficient group rights to the
		superior directory, you can use BUILD to modify its sub-
		directories.

	Quotas Subtracted from the Superior Directory's Allotments

		Working & permanent disk storage limits, & the maximum number of
		subdirectories allowed to a subdirectory are subtracted from the
		quotas allocated to the immediately superior directory.  This
		subtraction occurs at the time of their allotment to a sub-
		directory.  If the superior directory's quota is not sufficient
		the BUILD command will fail.  To increase the superior 
		directory's quota or any of these quantities you must either 
		kill some of its subdirectories or reduce their allotments of
		the quantity.  Or you can ask the system manager to increase the
		allotment of the superior directory.  Remember that unless you
		specify working & permanent page limits, they will assume a
		default value of 250 pages.  The BUILD command will fail in this
		case if there are not at least 250 pages free in the immediately
		superior directory.


	Assigning Infinite Quotas

		If you have enable capabilities, you can assign the maximum
		storage limit of 34359738367 (i.e. 2**35-1) to a directory.
		This will appear in the response to an INFO DIR command as +INF
		denoting infinite storage capacity.  If you then use the BUILD
		command to construct subdirectories to this directory, any disk
		storage capacity assigned, even the maximum, will not be
		subtracted from the superior directory.  You can use this
		feature to assign infinite storage capacity to a number of users
		sharing a private structure.  Then these users may use storage
		space on the structure without limit until the disk pack fills
		up.


Hints

	Keeping Track of Subdirectories

		Subdirectories appear as files of the type .DIRECTORY in the
		immediately superior directory, so the DIR *.DIRECTORY command
		for the superior directory will indicate any existing sub-
		directories.  To suppress the listing of these files you can use
		the SET FILE PROTECTION command to give them a protection of
		000000, but then you must specify the files completely (incl.
		generation number) to access them in the future.

		If there are 2 or more levels of subdirectories below a superior
		directory, you can do something else to allow  listing of them: 
		put each subdirectory into a group of which the owner of the
		highest-level superior directory is a member.  Then, if you
		obtain the group rights of this owner (e.g. by using the LOGIN
		or ACCESS command if the superior directory is on PS:, or ACCESS
		if it is on another structure), the INFO DIR <directory.*>
		command with the NAME-ONLY subcommand will produce a listing of
		subdirectories at every level beneath the superior directory.
		For this feature to operate properly the group field of each
		subdirectory's protection code must be at least 40.


	Modifying Subdirectories Easily

		By following the above procedure, i.e. by making subdirectories
		at every level members of groups of which the owner of the 
		highest-level superior directory is also a member, you make the
		modification of these subdirectories mucn easier.  You can use
		the BUILD command to modify these subdirectories or read & write
		to them, as long as you have the group memberships of this 
		owner.  You need not connect to each subdirectory's immediate
		superior to make modifications.



Restrictions

	Giving Capabilities to Subdirectory Owners

		In order to give capabilities to a subdirectory owner, you must
		have these capabilities yourself, & they must be enabled at the
		time of the BUILD command. The INFORMATION DIRECTORY command
		for your log-in directory tells you which capabilities you
		have, if any.

	Modifying Other Directories

		Unless you have enabled capabilities, you can use the BUILD
		command to modify parameters of only those directories sub-
		ordinate to a directory to which you have write access.  If your
		installation allows it, you can use the SET DIR command to
		change some parameters of these directories.

	Files-only Directories

		By giving the FILES-ONLY subcommand you make the directory a
		files-only directory.  A files-only directory is not associated
		with a user so should not be given capabilities or user group
		memberships.  Although a files-only directory can have sub-
		directories, none of these can be a user directory.  You cannot
		give the ACCESS command or LOGIN command for a files-only
		directory.


	Killing Directories

		You cannot kill a directory that has subdirectories; first you
		must kill those subdirectories one by one.  (When you kill a
		directory, the files it contains are deleted & expunged.)  Also,
		you cannot kill a directory if you are logged into it, or there
		are open files on it.				


Effect on Memory and Terminal

	The BUILD command does not affect memory & leaves your terminal at BUILD
	command level.



Related Commands

	INFO DIR		for examining the parameters established for a
				directory

	INFO DISK-USAGE		for determining how much of a directory's disk
				space is already assigned to files

	SET DIRECTORY		for changing certain directory parameters



Examples

	The examples show how a user with a directory named <CHEM> builds
	subdirectories in the pattern shown:


				   <CHEM>
				      |
				      |
				      |
	-------------------------------------------------------------
	|                  |                    |                   |
	|                  |                    |                   |
	|                  |                    |                   |
  <CHEM.ALLEN>       <CHEM.BLAKE>         <CHEM.LAB-NOTES>      <CHEM.TESTS>
	|                  |                (files-only)        (files-only)
	|                  |
	|                  |
 <CHEM.ALLEN.LAB>   <CHEM.BLAKE.LAB>
   (files-only)       (files-only)


	1.	Build subdirectories for 2 of your students or employees,
		assigning disk space & passwords & placing them in one of your
		directory groups; check their parameters.

		@BUILD <CHEM.ALLEN>
		[NEW]
		@@WORKING 50
		@@PERMANENT 50
		@@PASSWORD 619JIM
		@@DIRECTORY-GROUP 2391
		@@LIST
		 NAME <CHEM.ALLEN>
		 Password 619JIM
		 Working disk storage page limit 50
		 Permanent disk storage page limit 50
		 Account default for LOGIN - none set
		 Directory groups 2391

		@@
		@BUILD <CHEM.BLAKE>
		[NEW]
		@@WORKING 50
		@@PERMANENT 50
		@@PASSWORD 127BIL
		@@DIRECTORY-GROUP 2391
		@@LIST
		 Name <CHEM.BLAKE>
		 Password 127BIL
		 Working disk storage page limit 50
		 Permanent disk storage page limit 50
		 Account default for LOGIN - none set
		 Directory groups 2391

		@@
		@


	2.	Modify Blake's directory to allow him to create 2 subdirectories


		@BUILD <CHEM.BLAKE>
		[Old]
		@@MAXIMUM-SUBDIRECTORIES 2
		@@
		@


	3.	Build a files-only directory to store exam questions.

		@BUILD <CHEM.TESTS>
		[New]
		@@FILES-ONLY
		@@WORKING 10
		@@PERMANENT 10
		@@PASSWORD MINERVA
		@@DIRECTORY-GROUP 2391
		@


	4.	Build a files-only directory as a library directory for your
		subdirectory owners.  Place the directory & these users in the
		same group.

		@BUILD <CHEM.LAB-NOTES>
		[New]
		@@FILES-ONLY
		@@WORKING 25
		@@PERMANENT 25
		@@PROTECTION 77400
		@@DEFAULT-FILE-PROTECTION 775200
		@@DIRECTORY-GROUP 2392
		@@
		@BUILD <CHEM.ALLEN>
		[Old]
		@@USER-GROUP 2392
		@@
		@@BUILD <CHEM.BLAKE>
		[Old]
		@@USER-GROUP 2392
		@@
		@



	5.	User Blake quits.  Delete his directory.

		@BUILD <CHEM.BLAKE>
		[Old]
		@@KILL
		[Confirm]
		@@
		@



	6.	Modify a subdirectory so that the subdirectory's owner will
		have 350 disk pages available.

		@BUILD (DIRECTORY NAME) <TUCKER.TEST> (PASSWORD) EXAMPLES
		[Old]
		@@PERMANENT (DISK STORAGE PAGE LIMIT) 350
		@@
		?Request exceeds superior directory parmanent storage quota.
		Please fix incorrect subcommands.

		The action above produced an error message.  To correct the
		error, PUSH out of the BUILD session to learn what the superior
		directory's permanent quota is.

		@@PUSH

		@INFORMATION (ABOUT) DISK-USAGE (OF DIRECTORY) <TUCKER>
		 PS:<TUCKER>
		 70 Pages assigned
		 261 Working pages, 261 permanent pages allowed
		 7546 Pages free on PS:, 144454 pages used.

		Then return to the BUILD session, & specify a permanent quota
		that is less than the superior directory's quota of 261 disk
		pages.

		@POP
		[Continuing BUILD of directory PS:<TUCKER.TEST>]
		@@PERMANENT (DISK STORAGE PAGE LIMIT) 170
		@@
		@


			CONNECT or CD Command

		   ( CD is a synonym for CONNECT)

Function

     The  CONNECT ( or CD ) command connects you to another directory
     and disconnects you from the current directory.


Hints

     Connecting to a directory grants you  owner  privileges  to  that
     directory	and  files.   Whenever	you  give  a  command  without
     specifying a  directory,  the  system  uses  the  files  in  this
     connected directory.

     If you omit the structure or  directory  name  from  the  CONNECT
     ( or CD ) command,the system defaults to your currently connected
     connected  structure  or  directory.   But, if  you omit both the
     structure  and directory	name,  i.e.,  CONNECT ( or CD ) ,  the
     system  defaults to the public structure (PS:) and your logged-in
     directory.

     The first time you give a CONNECT ( or CD ) command to a directory
     that  is on  a  file  structure  other than  the  public structure
     (PS:),  you  should  give the  MOUNT STRUCTURE  command before the
     CONNECT  ( or CD ) command.



Format

   @CONNECT (TO DIRECTORY) dev:<dir>

   [or  @CD (CONNECT TO DIRECTORY) dev:<dir>]

     PASSWORD:password

     dev:           is the name of the file  structure  that  contains
		    the  directory  to	which you are connecting.  The
		    CONNECT ( or CD ) command  will only accept a file
		    structure name in the dev:  field.

     <dir>          is the name of the  directory  to  which  you  are
		    connecting.   The  brackets  must  be  included in
		    directory  names.	You  can  use  recognition  on
		    directory  names.  Remember to type the left angle
		    bracket.

     password       is the password of the directory to which you wish
		    to	connect.   The password is not required if you
		    own the directory (you own	a  directory  if  your
		    user  name	is the same as the directory name), or
		    if the directory protection allows you to  connect
		    without giving a password.


Operation

     1.  Type CONN and press the ESC key.  The system prints  ECT  (TO
	 DIRECTORY).

         @CONNECT (TO DIRECTORY)

	 or type CD and press the ESC key.
         The system prints (CONNECT TO DIRECTORY)

     2.  Type the file structure name and a colon.  (You do  not  have
	 to  type  the	file  structure  name if the directory you are
	 connecting to is on the currently connected structure.)

         @CONNECT (TO DIRECTORY) ADMIN1:

     3.  Type (or use recognition on) the directory name.   Press  the
	 RETURN key.  The system prints PASSWORD:  on the next line.

         @CONNECT (TO DIRECTORY) ADMIN1:<BERLITZ>
	 PASSWORD:

     4.  Type the password belonging to the directory  and  press  the
	 RETURN  key.	(If  you own the directory or if the directory
	 protection gives you the proper access, you do  not  have  to
	 give  a  password;   just  press  the	RETURN	key.) When the
	 CONNECT command succeeds, the system  prints  an  @  on  your
	 terminal.

         @CONNECT (TO DIRECTORY) ADMIN1:<BERLITZ>
	 PASSWORD:
	 @



Errors

     1.  If you do not enter the correct password, the system pauses and
	 then prints the message:

         ?can't connect to specified directory

         and cancels the  command.   You  should  obtain  the  correct
	 password and reissue the command.

    2.	If you do not specify the password and just press return key,
	the system will prompt for the password again.

    3.  If  you  did  not  give the  MOUNT STRUCTURE  command and you
         specify  a  file   structure  that is not on line, the system
         prints the message:

         ?STRUCTURE IS NOT MOUNTED or ?NO SUCH DEVICE

         and cancels the command.  First, check to see if you  entered
	 the  name  correctly.	If you did, give the MOUNT command to
	 request that the file structure be placed on line.

     4.  If you give a non-existent directory name, the system  prints
	 the message:

         ?does not match directory or user name -

         and cancels the command.



Characteristics

     The CONNECT ( or CD ) command:

         Leaves your terminal at TOPS-20 command level.

         Does not change any program in memory.

         Causes  an  allocation  check  for  the  directory  you  were
	 originally  connected	to  and the directory to which you are
	 now connecting.  If either directory contains more space than
	 is allowed, the system prints a warning message.

Restrictions

	Your capabilities are associated with your log-in user name only
	and not your connected directory.

	For some system features, CONNECT does not affect the directory
	used:

	    Mail
		The mail program inserts messages addressed to you into
		a file in your log-in directory only. The RDMAIL program
		reads messages from this file only.

	    System Accounting
		The set command allows arguments valid for your log-in
		user name only. Generally, charges for system use are
		made to your log-in user name.

	    Queue-class Commands
		The Queue-class commands charge processing requests to
		your log-in user name only.


Related Commands

	ACCESS	for obtaining group as well as ownership rights equal to those
		of the owner of a directory

	MOUNT	for making a structure available for connecting and ensuring
		the continued availability of the structure



Examples

     The user connects  to  the  directory  <INSTRUMENTATION>  on  his
     currently connected structure.

        @CONNECT (TO DIRECTORY) <INSTRUMENTATION>
	PASSWORD:

     The user connects to the directory <SHELDON>  on  file  structure
     ACCTG:.   He  types  CONN, leaves a space, types ACCTG:<SHELDON>,
     and press the RETURN key.	 On  the  following  line  the	system
     prints  PASSWORD:,  then  the user types the password and presses
     the RETURN key.

        @CONN ACCTG:<SHELDON>
	PASSWORD:




			   CONTINUE Command


Function

     The CONTINUE command restores execution of  a  program  that  is
     halted. If you have preserved several processes, then you may select
     which one you wish to continue.

Hints

     Stopping your program or providing input after CONTINUE STAY

	If you have given the CONTINUE STAY command and you then
        wish to stop your continued program or send terminal input
	to it, you must first give a CONTINUE NORMALLY command, to
	restore your terminal to program command level. Then you
	can give CTRL/Cs to stop the program, or type the input that
	is required.

     Monitoring your program.

	CONTINUE STAY, by keeping your terminal at TOPS-20 command
	level, lets you use TOPS-20 commands to monitor the progress
	of your program (see Related Commands, below) while it is
	running. You can also do other work as long as the commands
	you use do not affect memory.

     Using PUSH to get a new TOPS-20 command level

	To use commands that call a program or otherwise affect
	memory, or to start a second program while the first one is
	running, give a PUSH command immediately after CONTINUE
	STAY. You receive a fresh copy of memory (address space)
	and can then give commands that affect memory or call
	programs. These commands do not affect the program that is
	already running.

     Using KEEP to preserve your program

	You may use the KEEP command to allow you to run other programs
	at the same time, without destroying the "kept" program

Format

     @CONTINUE (FORK) argument

     where

     argument		is one of the following keywords :-

		NORMALLY	which directs your program to resume
				executing and restores your terminal
				to command level (if any) within the
				program

		STAY		which directs your program to resume
				executing but keeps your terminal at
				TOPS-20 command level

				Default - NORMALLY
			  or one of :-

		fork name	the name of the process to be continued

		fork number	the number of the process to be continued


Operation

     1.  Type CONT and press the ESC  key.   The  system  prints  INUE
	 (FORK).   Press  the  RETURN  key  and the program resumes
	 execution.

         @CONTINUE (FORK)



Characteristics

     The CONTINUE command continues the program in memory  and  leaves
     your terminal under its control.


Restrictions

     Similar programs competing for files

	If you have two similar programs running at once after using
	CONTINUE STAY and PUSH commands (see Hints, above), they may
	try to access the same files at the same time (e.g.,
	temporary files labeled by job number, used by compilers).
	This may cause unpredictable situations to develop. To
	avoid the possibility, run different kinds of program or
	give different kinds of command (e.g., a LOAD-class comand
	and an EDIT-class command) at the different levels in your
	job.

     Programs competing for terminal input

	If you have two programs running at once after CONTINUE STAY
	(see Hints - Using PUSH, above), it is possible for the program
	running at the higher (first) TOPS-20 command-level to intercept
	TOPS-20 commands given at the lower level. These can be interpreted
	as commands or data directed at the higher-level program. If
	you suspect that this is happening, you can stop it by first
	typing CTRL/Cs to be sure you are at the lower TOPS-20
	command level. Then give POP commands to return to the
	higher TOPS-20 level. You may have to type more than one
	POP command because terminal input is being divided
	arbitrarily between the two levels. POP stops the
	lower-level program and erases its copy of memory. Finally,
	give CTRL/Cs followed by a CONTINUE NORMALLY command; this
	puts you at program command level in the higher-level
	program so you can give the commands or data it requires.

     Commands that affect context of job

	Certain commands, by altering the context of your job, can
	affect programs you are running without changing memory.
	ACCESS, CONNECT, and DEFINE are examples. Give these
	commands with caution after CONTINUE STAY, even if you have
	given a PUSH command.

Effect on memory and Terminal

	The CONTINUE NORMALLY command does not affect memory, resumes
	processing the program in memory, and leaves your terminal at
	program commnd level (if there is one). The CONTINUE STAY
	command also does not effect memory and resumes processing the
	program in memory, but leaves your terminal at TOPS-20 command
	level.


Related commands

	DETACH CONTINUE		for disengaging your current job
				from your terminal and continuing
				the program that the job is
				running

	INFORMATION FILE-STATUS	for monitoring files being written
				by your program

	INFORMATION MEMORY-USAGE for monitoring your program's use
				of memory

	INFORMATION PROGRAM-STATUS for monitoring your program's use
				of CPU time

	PUSH			for obtaining a lower TOPS-20
				command level (and a fresh copy of
				memory)

	REENTER			for starting your current program
				at its alternate entry point (if
				any)

	START			for starting your current program
				at the begining




Examples

1)	Continue a program that you have halted.

	@CONTINUE


2)	Run a program,then halt it by typing CTRL/Cs. Give the
	CONTINUE command and proceed.

	@RUN QUOTNT

	type two numbers: 312. ^C
	@CONTINUE
	45, 6.675

	the quotient of     312.450   over    6.675  is   46.809
	STOP

	END OF EXECUTION
	CPU TIME:0.14 ELAPSED TIME: 35.62
	EXIT
	@


3)	Start compiling a long file. After compilation has begun,
	give a CTRL/C to stop and return to the TOPS-20 command
	proccessor. Use CONTINUE STAY to resume compilation, amd then
	PUSH to receive a new TOPS-20 command level. Do a calculation
	at this lower level, then give the POP and CONTINUE
	commands to return to the compilation in progress. The
	compiler finishes, in this case, after you have done so.

	@COMPILE DUMPER.MAC
	MACRO: DUMPER
	^C
	@CONTINUE STAY
	@PUSH

	 TOPS-20 Command processor 5.1(1356)-2
	@EVAL 25698/(126*76)
	2
	@POP
	@CONTINUE

	EXIT
	@

			   COPY Command


Function

     The COPY command copies the contents of one or more source  files
     to one or more destination files.



Format

     @COPY (FROM) source filespec (TO) destination filespec,
     @@subcommand

     source         is a single file specification or a string of file
     filespec	    specifications    (separated   by	commas)   that
		    designate	the   source	file(s).     A	  file
		    specification has the form:

                    dev:<dir>name.typ.gen

                    If you omit dev:,  the  system  uses  DSK:   (your
		    currently  connected file structure).  If you omit
		    <dir> the system uses  your  connected  directory.
		    The wildcard characters are permitted.

     destination    is the destination  file  specification.   If  you
     filespec	    press  the ESC key at the beginning of this field,
		    the  system  copies  the  source  files  to   your
		    connected  directory  using the same file name and
		    type, but with a generation new to the destination
		    directory.	The * wildcard character is permitted.
		    The destination file specification takes the form:

                    dev:<dir>name.typ.gen

                    If you omit dev:,  the  system  uses  DSK:   (your
		    currently  connected file structure).  If you omit
		    <dir>, the system uses your  connected  directory.
		    If	you  omit the file type (or use an asterisk in
		    its place),  the  system  uses  the  type  of  the
		    appropriate   source   file.    If	you  omit  the
		    generation, the system uses  a  generation	number
		    new to the destination directory.

     @@subcommand   means that after a final comma you can
                    type an optional keyword, specifying the
                    mode or format of information transfer,
                    as described below

		COPY Command Subcommands

	ASCII PARITY	specifies that the file being copied is
	ASCII NOPARITY	written in ASCII mode, with 36-bit words each
			consisting of five 7-bit bytes and a parity
			bit; the PARITY argument is not currently in
			use; NOPARITY (the default) means that the
			least significant bit is set to 0 on input
			and is lost on output.

	BINARY		calls for a direct transfer of data in 36-bit
			bytes.

	BYTE n		specifies that the byte size of the
			destinatoin file is to be n (any decimal
			number). If you do not give the BYTE
			subcommand, the destination file will have
			the same byte size as the source file. See
			also Hints - Viewing Display Screen Data,
			below.

	IMAGE		same as BINARY

	IMAGE BINARY	same as BINARY



Hints

     Use the RENAME command instead of the COPY  command  if  you  are
     moving  files  from  one  name  to  another  or  one directory to
     another.  RENAME is faster than COPY.   However,  to  move  files
     from one structure to another, use the COPY command.  RENAME will
     not work across structures.

     Use the wildcard construction in the source file specification to
     copy  multiple files.  For example, the source file specification
     *.FOR would copy  all  the  files	with  the  type  .FOR  to  the
     destination.   The  source file specification EXPAND.* would copy
     all the files with the file name EXPAND.

     When  you  use   wildcard   characters   in   the   source   file
     specification,    carefully    select    the   destination   file
     specification:

       -If you are copying the  files  from  another  directory,  just
	press  the  ESC  key  at the beginning of the destination file
	specification.	The system copies the files to the destination
	using  the  same  names  and  file  types,  but  creating  new
	generations if any files with the same name and  type  already
	exist.	 The  following  command copies all the files with the
	type .FOR from the directory <MOSLER> and gives them the  same
	name in your directory.

        @COPY (FROM) <MOSLER>*.FOR.* (TO) *.FOR.-1

       -If you are copying the files within a directory, you  probably
	want  to make another copy with a different name or type.  For
	the destination file specification, use a wildcard  character.
	The  following command copies all the files with the type .FIL
	to files with the same name, but with the type .LIB.

        @COPY (FROM) *.FIL.* (TO) *.LIB

       -If you want to change the file name as you are copying  files,
	specify  the  new  name as the destination file specification.
	The following command copies  all  the	source	files  to  the
	destination  using  the source file type and the new file name
	NEWTST.

        @COPY (FORM) TESTFL.*.* (TO) NEWTST.*

     Copying to or from TTY:
	You can simulate the action of the CREATE command for
	creating files by copying from device TTY: to a new
	filespec ending your input with a CTRL/Z; use CTRL/U,
	CTRL/R, CTRL/W, and the DELETE key to edit the current
	line of terminal input. You can simulate the action of
	the TYPE command for displaying files by copying from
	an existing filespec to device TTY:.

     Viewing display screen data

	If you specify TTY: as the destination filespec and
	then give the BYTE 8 subcommand, characters in the
	source file will be sent literally to your terminal.
	Do this to examine special display screen data.



Operation

     1.  Type COPY and press the ESC key;  the system prints (FROM).

         @COPY (FROM)

     2.  Type (or use recognition on) the  source  file  specification
	 and  press the ESC key (if you did not use recognition).  The
	 system prints (TO).

         @COPY (FROM) LISTFL.ALG.1 (TO)

     3.  Type  (or  use   recognition   on)   the   destination   file
	 specification,  then  press  the RETURN key.  If you want the
	 default of creating a new file of the same name and  type  as
	 the source file specification, just press the RETURN key.  If
	 you copy one or more  files,  the  system  prints  a  running
	 record of the files it is copying.  It prints the source file
	 specification followed by an arrow and the  destination  file
	 specification.   When	the  transfer  is complete, the system
	 prints [OK] and proceeds to the next source file.

         @COPY (FROM) LISTFL.ALG.1 (TO) NEWPRG.ALG
	  LISTFL.ALG.1 => NEWPRG.ALG.1 [OK]
	 @



Characteristics

	Normal Operation - No subcommands
		For most purposes you do not need subcommands when 
		copying files. When you do not use subcommands the
		information is  copied as  written whether  in  a
		standard format (usually in ASCII or BINARY) or not.



Effect on Memory and Terminal

     The COPY command does not change a program in memory  and  leaves
     your terminal at TOPS-20 command level.


Restrictions

     You may use the COPY  command  to  transfer  files  to  the  line
     printer and magnetic tape, but refer to the PRINT command and the
     DUMPER program for a description of the additional features  they
     provide.

     You cannot continue a  COPY  command  that  you  stop  by  typing
     CTRL/Cs.

    Copying Archived files
	    You can make a copy of an archived file by specifying it
	    as the first (or source) argument in a COPY command, and
	    specifying a file of different name or type as destination.
	    You can edit the new file, because it does not have archive
	    status although it has the same contents as the original file.
	    However, you cannot give the specification of an archived file
	    as the second (or destination) argument of a COPY command, as
	    this would replace the file's contents. If you attempt to do
	    so, whatever source argument you supply will be copied into
	    the next higher generation of the archived file, leaving the
	    archived file intact. However, if you include the generation
	    number when supplying an archived file as the second argument
	    of a COPY command, the command will fail.

    Files of type .DIRECTORY
	    You cannot copy subdirectories which appear as files of type
	    .DIRECTORY in the immediately superior directory.


Warning

    Destroying the previous Contents of Files
	    If you give a destination file specification that includes
	    a generation number, the source file will be copied into
	    that file, replacing any previous contents if that generation
	    of the file already exists. Those contents cannot be recovered.


Examples

     The user copies a file from the user <PORADA>.

        @COPY (FROM) <PORADA>LETTER.CBL.1 (TO) LETTER.CBL.1 !NEW FILE!
	 <PORADA>LETTER.CBL.1 => LETTER.CBL.1 [OK]
	@

     The user copies all the files with the file type  .FOR  from  the
     directory <MOSLER> to his connected directory.

        @COPY (FROM) <MOSLER>*.FOR.2 (TO) *.FOR.-1
	 <MOSLER>ADDTWO.FOR.2 => ADDTWO.FOR.1 [OK]
	 <MOSLER>CUBIT.FOR.1 => CUBIT.FOR.1 [OK]
	 <MOSLER>GRADES.FOR.1 => GRADES.FOR.1 [OK]
	 <MOSLER>NETFLO.FOR.3 => NETFLO.FOR.1 [OK]
	 <MOSLER>PLAYER.FOR.31 => PLAYER.FOR.1 [OK]
	 <MOSLER>T.FOR.1 => T.FOR.1 [OK]
	 <MOSLER>TEST.FOR.2 => TEST.FOR.1 [OK]
	@

     The user makes an additional copy of all his files with the  file
     type  .FIL,  giving  them	the  same name, but with the file type
     .LIB.

        @COPY (FROM) *.FIL.1 (TO) *.LIB
	 FOO.FIL.1 => FOO.LIB.1 [OK]
	 LIST.FIL.1 => LIST.LIB.1 [OK]
	 LOC.FIL.1 => LOC.LIB.1 [OK]
	 REMEM.FIL.1 => REMEM.LIB.1 [OK]
	 RUN3.FIL.1 => RUN3.LIB.1 [OK]
	 SYMBOL.FIL.1 => SYMBOL.LIB.1 [OK]
	@

     The user is connected to a directory on a  structure  other  than
     PS:.   He	copies the file DIFFER.FOR.2 from directory <MCKIE> on
     PS:  to his connected structure and directory.

        @COPY (FROM) PS:<MCKIE>DIFFER.FOR.2 (TO) DIFFER.FOR
	PS:<MCKIE>DIFFER.FOR.2 => DIFFER.FOR.1 [OK]

     In the above example, suppose directory <MCKIE> on  PS:   is  not
     the  user's  logged-in directory and the protection codes set for
     directory <MCKIE> do not allow this COPY function.  The  user  in
     this  case  can give the ACCESS command for the directory <MCKIE>
     to gain owner privileges then give the COPY command, providing he
     has the password.



				DEASSIGN Command


Function

     The DEASSIGN command returns a  device  you  previously  assigned
     back to the pool of available devices.



Format

     @DEASSIGN (DEVICE) dev:

     dev:           is the device name of the device that you want  to
		    deassign,  followed  by a colon; an asterisk (*)
		    deassigns all devices (except your log-in terminal
		    assigned to your job.

 
Hints

     When you are finished using a device,  you  should  DEASSIGN  the
     device so that it may be accessed by other users.

     Use  the  INFORMATION  (ABOUT)  AVAILABLE  DEVICES   command   to
     determine what devices are assigned to you.


Operation

     1.  Type DEAS and press the ESC  key;   the  system  prints  SIGN
	 (DEVICE).

         @DEASSIGN (DEVICE)

     2.  Type the name of the device that you want to deassign.

         @DEASSIGN (DEVICE) MTA2:

     3.  Press the RETURN key.  When the  device  is  deassigned,  the
	 system prints an @ on your terminal.

         @DEASSIGN (DEVICE) MTA2:
	 @



Errors

     1.  If you have not previously assigned the device to  your  job,
	 the system prints the message:

         ?dev:  NOT ASSIGNED TO YOU

         then cancels the command.



Characteristics

     The DEASSIGN command does not change any program  in  memory  and
     leaves your terminal at TOPS-20 command level.


Restrictions

        You must type a device name in the DEASSIGN command;  if  you 
        do not give the device name, no default action is taken.

	The DEASSIGN command will not deassign a device that is
	accessing an open. An error is generated, and the device
	is not deassigned until that file is closed or until you
	log out. When you log out, all the devices are deassigned.


Examples

     The user deassigns magnetic tape unit number 3:

        @DEASSIGN (DEVICE) MTA3:
	@

     The user deassigns all the devices allocated to his job.

        @DEASSIGN (DEVICE) *
	@


Related commands

	ASSIGN				for assigning a particular device to
					your job

	INFORMATION AVAILABLE DEVICES	for finding out which devices are
					available, and which ones have
					already been assigned to your job

	MOUNT				for mounting a structure or magnetic
					tape and assigning the first available
					disk drive or tape drive to your job








				DEFINE Command


Function

     The DEFINE command defines or removes logical name assignments
     for your job.




Format

     @DEFINE (LOGICAL NAME) logname:  (AS) list

     logname:       is  the  logical  name  comprised  of  up  to   39
		    alphanumeric  characters (including hyphen, dollar
		    sign and underline) followed by a colon. Use an
                    asterisk * for this arguement to withdraw all
                    logical names.

     list           is a series of devices, file structures, directories
		    file specifications, and/or other logical names;
		    each item should be seperated from the others by
		    commas. Default - not specifying a list withdraws
		    the logical name definition.

Hints

     DEFINE in LOGIN.CMD
	Your DEFINE command is valid for the current terminal session only. If
	there are logical names that you always want to use, put DEFINE
	commands into a LOGIN.CMD (or, for batch jobs started by SUBMIT
	commands within the control files of other batch jobs, a BATCH.CMD)
	file in your log-in directory.

     Redefining system logical names
	You can use the define command to redefine any system logical name for
	your own job. By repeating a system logical name in its own search
	list you expand its definition to include the other items, in the order
	you specify. Consider the system logical name SYS:, which is searched
	whenever you give a program name in place of a TOPS-20 command. If you
	redefine SYS: to be    str:<directory>, SYS:    you can run programs
	in str:<directory> by typing just their names. This will work as long
	as the program names are not the same as TOPS-20 commands.

     Logical names as dummy filespecs
	You can use logical names as dummies for filespecs or devices when
	writing programs. Then, just before running such a program, use the
	DEFINE command to define these as real filespecs or devices, without
	changing the program itself.


Restriction

    Using Short Logical Names Only

	Although logical names can be up to 39 characters long and can
	include dollor signs ($), hyphens (-), and underlines (_), some
	commands and programs (e.g, programs originally written for the
	TOPS-10 operating system) accept a more limited set of logical
	names. These can be no more than 6 characters long and cannot
	include any special symbols. If all your logical names are of 
	this kind, they will be acceptable to any TOPS-20 programs and
	commands.



Operation

     1.  Type DEFI and press  the  ESC  key;   the  system  prints  NE
	 (LOGICAL NAME).

         @DEFINE (LOGICAL NAME)

     2.  Type the logical name  followed  by  a  colon.   If  you  are
	 defining  the	logical name, press the ESC key and the system
	 prints (AS).  If you are removing the logical name, press the
	 RETURN key.

         @DEFINE (LOGICAL NAME) LIB:  (AS)

     3.  Type (you may not use recognition) the file  specification(s)
	 that define the logical name, then press the RETURN key.  The
	 system prints an @.

         @DEFINE (LOGICAL NAME) LIB: (AS) <MILLER>,<BOSACK>
	 @



Errors

     1.  If you try to remove a non-existent logical name, the  system
	 prints the message:

         %Logical name xxx:  was not defined

         where xxx:  is the nonexistent name.



Characteristics

     The DEFINE command does not change  any  program  in  memory  and
     leaves your terminal at TOPS-20 command level.



Examples

     The user defines  the  logical  name  LIB:   as  the  directories
     <FORTRAN-LIB> and <COBOL-LIB>.

        @DEFINE (LOGICAL NAME) LIB: (AS) <FORTRAN-LIB>,<COBOL-LIB>
	@INFORMATION (ABOUT) LOGICAL-NAMES
	LIB => <FORTRAN-LIB>,<COBOL-LIB>
	@

     The user removes the logical name LIB:  which he defined  in  the
     previous example.

        @DEFINE (LOGICAL NAME) LIB:
	@INFORMATION (ABOUT) LOGICAL-NAMES
	@


Related commands

	INFORMATION (ABOUT) LOGICAL-NAMES
		for finding out the current definitions of logical names



				DEPOSIT command
	

Function


	The DEPOSIT command modifies the contents of a specific memory
	location.


Format


	@DEPOSIT (MEMORY LOCATION) address (CONTENTS) data

	where

	address		is an octal number or a symbol

	data		is a symbolic or numeriacl expression


Output

	Status of pages

		When you complete a DEPOSIT command, the system gives you a
		message indicating the status of the page you are trying to
		change: "[New]" for previously nonexistent pages, "[Shared]"
		for those having Copy-on-Write status, or "?Can't write that
		page" for other pages.  (See also Hints - Setting the
		Page-access of Memory pages, below.)  However, no message is
		printed for deposits made to private pages.


Hints


	Using Symbols

		For symbols that are defined in multiple modules of a program,
		you can be specific by giving the module name followed by an
		ampersand (&) and the symbol name.


	Using DDT Instead

		Usually the DEPOSIT command is unnecessary, as the DDT program
		provides more powerful methods for modifying the contents of
		memory.


	Abbreviating DEPOSIT arguments

		The contents of each memory location are represented as two
		6-digit octal numbers.  By inserting a pair of commas between
		these two numbers, you can abbreviate them.  For example,  to
		deposit 000004000050 into memory location 151003, use the
		command

			@DEPOSIT 151003 4,,50

		This is the same as

			@DEPOSIT 151003 4000050

		Note that you can also insert commas between expressions.  For
		example, the command

			@DEPOSIT 1 1+3,, 5+7

		deposits 000004000014 into memory location 1.  (Expressions are
		considered to be octal unless they contain an 8 or a 9, in
		which case they are considered to be decimal and are translated
		to octal.)


		The DEPOSIT command itself can be abbreviated to the single
		letter D.

		
	Deposit Address Defaults to the One Examined, and Vice Versa

		The first argument of a DEPOSIT command defaults to the address
		examined by your most recent EXAMINE command.  (You must press
		the ESCAPE key to take this default.)  The argument of an
		EXAMINE command defaults to the address whose contents were
		modified by your most recent DEPOSIT command.  Therefore you can
		examine a memory location, deposit a new value in it, and verify
		your action, while specifiying the location only once.  If you
		give DEPOSIT commands without intervening EXAMINE commands (or
		vice versa), the default address increases by 1 for each 
		subsequent command.


	Setting the Page-access of Memory Pages

		If the system responds to a DEPOSIT command with an error
		message of the form, "?Can't write that page", give the SET
		PAGE-ACCESS COPY-ON-WRITE command for the page.  Then give
		DEPOSIT again.  If the system allows it, you will be given
		your own copy of the page to modify.


	Using DEPOSIT with Inferior Processes

		To modify memory for a process inferior to the one immediately
		below the TOPS-20 command processor, you must give the FORK
		command to specify this process before using DEPOSIT.  Remember
		that for an inferior process to run, all superior processes must
		be running too.  INFORMATION PROGRAM-STATUS tells you which
		processes these are.


Effect on Memory and Terminal

	The DEPOSIT command changes one location in memory and leaves your
	terminal at TOPS-20 command level.


Related Commands


	DDT				for calling a debugging program,
					allowing more efficient modification
					of memory

	EXAMINE				for displaying the contents of a 
					specific memory location

	FORK				for selecting the process whose
					memory you want to modify 

	INFORMATION MEMORY-USAGE	for displaying a list of memory pages,
					their contants and status

	SET PAGE-ACCESS			for making it possible to write to
					specified pages


Examples


	1.	Deposit a value in a memory location.

		@DEPOSIT 1500 21
		@


	2.	Modify a memory location, using symbols.

		@DEPOSIT (MEMORY LOCATION) T3+1 (contents) P+2
		@EXAMINE (MEMORY LOCATION) T3+1
		T3+1/ P+2    (4/ 21)
		@


	3.	Try to deposit a number into a page of memory that does not
		allow it.  Examine memory, set the page to Copy-on Write
		status, and try again (succeeding this time).

		@DEPOSIT 716505 0
		?Can't write that page
		@INFORMATION MEMORY-USAGE

		 216. pages, Entry vector loc 462207 len 2540000

		0-11	Private	R, W, E
		20	Private R, W, E
		400-401	Private	R, W, E
		402-660	<FIELD-IMAGE>FORTRA.EXE.3	13-271	R, CW, E
		700-730	<NEXT-RELEASE>PA1050.EXE.4	1-31	R, E
		731-733	Private	R, W, E

		@SET PAGE-ACCESS 716 COPY-ON-WRITE
		@DEPOSIT 716505 0
		 [Shared]
		@EXAMINE 716505
		716505/	 0
		@


	4.	Check your program status (the arrow (=>) indicates your
		current process (fork)).  Select an inferior process, deposit
		a value into a memory location, and verify that memory for the
		superior process is not changed to this.

		@INFORMATION PROGRAM-STATUS
		Used 0:00:05 in 0:10:11
		TOPS-20: 0:00:03.5
		SET UUO-SIMULATION (FOR PROGRAM)
		SET CONTROL-C-CAPABILITY (OF PROGRAM)
		=> Fork 1: HALT at 16178, 0:00:00.3
			Fork 2: HALT at 472052, 0:00:00.1
		@FORK 2
		@DEPOSIT 3500 12
		@EXAMINE 3500
		3500/	12
		@FORK 1
		@EXAMINE 3500
		3500/	202200,,1136
		@




				DIRECTORY Command


Function

     The DIRECTORY command prints information about a file or group of
     files.


Format

	@DIRECTORY (OF FILES) filespec,...,
	@@subcommand
	@@  .
	    .
	    .


	where

	filespec		is the specification of a file about which you
				want information
					Default - *.*.* in your connected
						  directory


	,...			means that, after commas, you can give more
				arguments of the kind already shown


	@@			means that, after a final comma, you can give
	@@  .			one or more subcommands on successive lines
	    .
	    .
	    .

	subcommand		is a keyword, chosen from the list below,
				indicating your choice of DIRECTORY command
				options
					Defaults are shown on the list of
					subcommands


Hints

     Normally the DIRECTORY command prints the file  name,  type,  and
     generation number for each file specified in the command.

     You can give subcommands to also do the following:

     1.  Order the files chronologically  by  the  date  of  creation,
	 read, or write (CHRONOLOGICAL).

     2.  Compress the output (CRAM).

     3.  Print information about deleted files (DELETED).

     4.  Print all the information about a file (EVERYTHING).

     5.  Print the length (in bytes) of the files, and also  the  byte
	 size (LENGTH).

     6.  Omit the heading (NO HEADING).

     7.  Write the directory listing in a file (OUTPUT) or to the line
	 printer (LPT).

     8.  Print the protection codes of the files (PROTECTION).

     9.  Reverse the order in which the files are printed (REVERSE).

    10.  Print the size (in pages) of each file.

    11.  Print the times and dates of creation, read, or write.


     For convenience, there are three additional  commands  that  have
     exactly  the same command format and subcommands as the DIRECTORY
     command.  They are:

     FDIRECTORY (for Full DIRECTORY) automatically  prints  everything
	 about	the  files,  without  any headings, and compresses the
	 output.  It is the same as giving the DIRECTORY command  with
	 the CRAM (output), EVERYTHING, and NO HEADING subcommands.

     TDIRECTORY (for Time-ordered DIRECTORY) orders the files with the
	 most  recent write dates first and prints the write times and
	 dates.  It is the same as giving the DIRECTORY  command  with
	 the  CHRONOLOGICAL  (BY)  WRITE,  REVERSE (SORTING) and TIMES
	 (AND DATES OF) WRITE subcommands.

     VDIRECTORY  (for  Verbose  DIRECTORY)  automatically  prints  the
	 protection,  size,  length,  and write time and date for each
	 file.	No headings are printed.  It is the same as giving the
	 DIRECTORY  command  with  the	PROTECTION,  SIZE,  LENGTH (IN
	 BYTES),  TIMES  (AND  DATES  OF)  WRITE,   and   NO   HEADING
	 subcommands.

     By giving  the  proper  file  specification(s),  you  can  obtain
     information  about  a  single file, a group of files, or files in
     another directory.   The  directory  can  be  on  your  connected
     structure or on another online structure.

     If the directory is on  another  structure  and  the  "all  user"
     protection  code  does  not  allow  you to list the files in that
     directory, you must give the ACCESS or CONNECT command before the
     DIRECTORY	command.   (Remember  that once a structure is mounted
     you will only have "all user" access privileges to directories on
     that structure, including your own directories, until you give an
     ACCESS or CONNECT command.


Directory Command Subcommands (Defaults as shown)


     The subcommands  of  the  DIRECTORY  command  request  additional
     information,  modify  the	printing  format,  or change where the
     directory listing is sent.


	ACCOUNT			prints the account to which storage fees for the
				files are charged


	ALPHABETICALLY		lists the files in alphabetical order
					Default


	ARCHIVED		restricts the listing to archived files only,
				visible and invisible, offline and online


	BEFORE (DATE AND TIME) date and time
	 Lists information only for files  written  earlier  than  the
	 specified date and time.  (See the SINCE subcommand.)



	CHECKSUM SEQUENTIALLY	computes and prints 6-digit octal checksums for
		 BY-PAGES	the files, either

					sequentially and without going beyond
					the EOF (end-of-file) mark, or

					by pages on disk, accounting for holes
					in files and pages beyond the EOF mark;
					output will be followed by letter P in
					this case.
						Default - BY-PAGES


	CHRONOLIGICAL CREATION		lists files in order (oldest first)
		      WRITE		according to
		      READ
		      TAPE-WRITE		date of creation, or
						date they were last changed, or
						date they were last read, or
						date their tape copy was created
							Default - WRITE



	CRAM (OUTPUT)
	 Compresses the output into the least space possible for  fast
	 printing;   however  it is also more difficult to read and no
	 headings are included.


	DATES CREATION			lists for the specified files, the
	      WRITE
	      READ			date of creation, or
	      TAPE-WRITE		date they were last changed, or
	      OFFLINE-EXPIRATION	date they were last read, or
	      ONLINE-EXPIRATION		date the tape copy was created, or
					date of expiration
						Default - WRITE


	DELETED (FILES ONLY)
	 Lists information only for deleted files that	have  not  yet
	 been expunged.


	DOUBLESPACE			double-spaces the DIRECTORY command
					output


	EVERYTHING
	 Lists all the information about the files.  This includes the
	 file	name,  type,  generation  number,  protection  number,
	 account, size (in pages), length (in bytes), byte size,  file
	 retention count, creation date and time, write date and time,
	 read date and time, creator and most recent writer.


	FIND n			prints the specifications of all but the n most
				recent generations of the files, omitting any
				files having n or fewer generations
					Default n - 1


	GENERATION-RETENTION-COUNT tells the number of generations of each file
				the system will retain in the given directory


	HEADING			prints a headline labeling each category of
				information supplied by the command
					Default

	INVISIBLE		restricts the listing to invisible files only,
				both on-line and off-line


	LARGER (THAN) number
	 Lists information only for files larger than the given number
	 of   pages.   When  used  in  conjunction  with  the  SMALLER
	 subcommand, the two subcommands  allow  files	in  a  certain
	 range	to  be	listed.  For example, a user wants to list all
	 files whose size is exactly three pages:

              @DIR,
	 	SMALLER 4
	 	LARGER 2

	LENGTH (IN BYTES)
	 Lists the length of the file in bytes and the associated byte
	 size (in parenthesis).

	LPT (IS OUTPUT DEVICE)
	 Prints the directory listing on the line printer.



	NO ACCOUNT			suppresses the action or information
	   CHECKSUM			associated with the specified 
	   CRAM				subcommand
	   DATES				Default - HEADING
	   DOUBLESPACE
	   FILE-LINES
	   GENERATION-RETENTION-COUNT
	   HEADING
	   LENGTH
	   LPT
	   PROTECTION
	   REVERSE
	   SEPERATE
	   SIZE
	   SUMMARY-LINES
	   TIMES
	   USER


	OFFLINE				restricts the listing to (visible)
					offline files only, both archived
					and not archived


	ONLINE				restricts the listing to on-line files


	OUTPUT (TO FILE)
	 Sends the output to a destination other than your terminal.

         dev:name.typ.gen is a single file  specification  that  tells
			  the  system  where  to  send	the  directory
			  information.	If you omit dev:,  the	system
			  uses DSK:.  If you omit the name, the system
			  uses DIR.  If you omit the type, the	system
			  uses DIR.


	PROHIBIT-MIGRATION		restricts the listing to files that are
					never migrated, because they were
					specified in a SET FILE PROHIBIT command


	PROTECTION
	 Lists the protection number of the files.


	RESIST-MIGRATION		restricts the listing to files that the
					system considers last for migration.
					These files were specified in a SET FILE
					RESIST command


	REVERSE (SORTING)
	 Orders the files in reverse.  Thus, to obtain a list of  your
	 files	from  the  most  recent  to  the least recent give the
	 subcommands  @@CHRONOLOGICAL	(BY)   WRITE   and   @@REVERSE
	 (SORTING).   This  can  also  be  done  with  the  TDIRECTORY
	 command.


	SEPARATE			lists the complete specification for
					each file on a separate line (instead of
					listing successive generation numbers of
					the file on the same line, seperated by
					commas; and instead of listing files of
					the same name and different type by file
					type only, indented under the first
					complete file specification)


	SINCE (DATE AND TIME) date and time
	 Lists information only for files written after the  specified
	 date  and  time.   When  used	in conjunction with the BEFORE
	 subcommand, the two subcommands allow files written within  a
	 certain  period  to  time  to be listed.  For example, a user
	 wants to list only the files written (created)  in  September
	 of 1977:

              @DIR
	 	SINCE AUG-31-77
	 	BEFORE OCT-1-77

	SIZE
	 Lists the size of the files in pages;	a  page  contains  512
	 36-bit words.

	SMALLER (THAN) number
	 Lists only files smaller than	the  given  number  of	pages.
	 (See the LARGER subcommand.)

	TIMES CREATION			lists for the specified files, the
	      WRITE
	      READ			date of creation, or
	      TAPE-WRITE		date they were last changed, or
	      OFFLINE-EXPIRATION	date they were last read, or
	      ONLINE-EXPIRATION		date the tape copy was created, or
					date of expiration
						Default - WRITE

	USER CREATED			gives the name of the user who
	     WROTE
						created the file, or

						changed the file last
							Default - WRITE



Operation

     1.  Type DIR and press the ESC key;  the system prints ECTORY (OF
	 FILES).

         @DIRECTORY (OF FILES)

     2.  Type the list of file specifications,  separated  by  commas.
	 Press	the  RETURN  key  and  the system prints the directory
	 information.  If you want to give one or more subcommands, do
	 not press the RETURN key;  proceed to step 3.

         @DIRECTORY (OF FILES)

            <LUSE>
	  EDIT.CTL.2
	    .LAST.2
	    .MAC.2
	  SNOOP.HLP.1
	  WATCH.MAC.1

          TOTAL OF 5 FILES
	 @

     3.  To give subcommands, type a comma,   then  press  the  RETURN
	 key.  The system prints @@.

         @DIRECTORY (OF FILES) *.MAC,
	 @@

     4.  Type (or use recognition on) the  subcommands,  pressing  the
	 RETURN key once again after you are finished.

         @DIRECTORY (OF FILES) *.MAC,
	 @@TIMES (AND DATES OF) WRITE
	 @@

            <LUSE>

                                        WRITE

          EDIT.MAC.2                    16-JAN-76 03:06:36
	  WATCH.MAC.1			15-JAN-76 01:16:14
	  TOTAL OF 2 FILES
	 @



Output

     The system lists the files  in  alphabetical  order,  unless  you
     change  this  action  by  giving  the  REVERSE  or  CHRONOLOGICAL
     subcommands.  If two files have the same file name, only the type
     and  generation  number  for each succeeding file after the first
     are printed.  The	period	before	the  type  is  indented  three
     spaces.   If  a  file  is	temporary,  a  ;T is printed after the
     generation number.


Characteristics

     The DIRECTORY command does not change any program in  memory  and
     leaves your terminal at TOPS-20 command level.


Related Commands

	FDIRECTORY

	QDIRECTORY

	RDIRECTORY

	TDIRECTORY

	VDIRECTORY


Special Cases

    Asterisks Appearing Before Filespecs

	An asterisk (*) appearing before a filename in the response
	to a DIRECTORY command indicates a possible hardware-related
	error, one caused by a read operation at a marginnally
	functional area of disk. If  you detach an asterisk (*)
	appearing before a filename in  responce to a DIRECTORY
	command then report the error to User Support on ext 2363
	immediately.

    Directory-class Commands for labeled Magnetic Tapes

	The FDIRECTORY, TDIRECTORY, AND VDIRECTORY commands for labeled 
	magnetic tapes are equivalent to the DIRECTORY command for 
	labeled magnetic tape. All these commands rewind the tape 
	set to the beggining of the first volume, print a directory
	of files, then rewind the set again. You can give only
	these subcommands when using DIRECTORY-class commands with
	labeled magnetic tapes: ALPHABETICALLY, DOUBLESPACE, HEADING,
	LPT, NO, OUTPUT, REVERSE, AND SEPARATE.


Effect on memory and Terminal

	The DIRECTORY command does not effect memory and leaves your
	terminal at TOPS-20 command level.

Examples

     The user obtains a list of all his files with the type .MAC.

        @DIRECTORY (OF FILES) *.MAC

           <LUSE>
	 EDIT.MAC.2
	 WATCH.MAC.1

         TOTAL OF 2 FILES
	@

     The user obtains a directory listing and stores it  in  the  file
     1-16.DIR.

        @DIRECTORY (OF FILES) ,
	@@OUTPUT (TO FILES) 1-16.DIR.1 !New file!
	@@
	@

     The user obtains a list of his deleted (but not expunged) files.

        @DIRECTORY (OF FILES) ,
	@@DELETED (FILES ONLY)
	@@

           <MANUALS>
	 020EDI.TEM.1
	   .TMP.1
	 CHANGE.XEC.2

         TOTAL OF 3 FILES
	@

     The user is connected to his  logged-in  directory  on  PS:   and
     obtains a list of his files on structure STU:.

        @DIRECTORY (OF FILES) STU:

           STU:<ESTEY>
	 ADDEM.FOR.1
	 COMP.FOR.1
	   .REL.1

         TOTAL OF 3 FILES
	@



				DISABLE command


Function

	The DISABLE command suspends any special capabilities, such as those
	of Wheel or Operator, that the system manager has given you.


Format

	$DISABLE (CAPABILITIES)
	@


Characteristics

	Resumption of Standard Prompt

		The DISABLE command causes the system to resume the standard
		at sign prompt (@) in place of the dollar sign prompt ($),
		which indicated enabled capabilities.


Warning

	Disabling Promptly

		Be sure to disable your capabilities as soon as you have
		finished using them, so that you or a program you run cannot
		accidentally damege the system.


Effect on Memory and Terminal

	The DISABLE command does not affect memory and leaves your terminal at
	TOPS-20 command level.


Related Commands

	ENABLE		for activating any capabilities that the system manager
			has given you.



Examples

	1. Disable your capabilities

	$DISABLE
	@

	Note that while you have switched on your capabilities, the 
	TOPS-20 prompt is dollor sign ($).





				DISCARD command


Function

	The DISCARD command gives up the tape copy of specified on-line files.


Format

	@DISCARD (TAPE INFORMATION FOR FILES) filespec,...

	where

	filespec		is the specification of a file whose tape copy
				you want to discard

	,...			means that after commas you can give more
				arguments of the form already shown


Characteristics


	Action of DISCARD

		The DISCARD command causes the tape pointer in the FDB (File
		Descriptor Block) of the specified file to be deleted.  It
		does not actually destroy the tape copy of the file.  (See
		also Hints - Undoing DISCARD, below.)


	Withdrawing Archive Status of Files

		When you give the DISCARD command for an on-line archived file,
		you withdraw archive status from the disk copy of the file.
		That is, the file becomes an ordinary disk file, which you can
		edit or delete if you wish.

		
	DISCARD for Non-archived Files

		You can also use the DISCARD command to give up the tape copy of
		files that have been migrated to tape (automatically, by the
		system) and then retrieved using the RETRIEVE command.


Hints

	Undoing DISCARD

		You receive a MAIL message from the operator for every file
		whose tape copy you discard.  The message gives the tape number,
		save set number, and file number within the saveset of each tape
		copy.  If you have given the DISCARD command for a file and
		later wish to use the tape copy, you may be able to recover it
		using this information, as long as the tapes have not yet been
		recycled.


Effect on Memory and Terminal

	The DISCARD command does not affect memory, and leaves your terminal at
	TOPS-20 command level.


Related Commands

	ARCHIVE					for requesting that a permanent
						tape copy of specified files
						be made


	DELETE (with CONTENTS-ONLY subcommand)	for deleting only the disk copy
						of files that also have a tape
						copy


	RETRIEVE				for requesting that an off-line
						file be restored to disk


Examples

	1.	Discard the tape copy of a file.

		@DISCARD TESTER.EXE
		 TESTER.EXE.1 [OK]
		@


	2.	Attempt to alter an archived file.  When you find out it has
		archive status, discard its tape copy (this revokes its archive
		status) and perform the alteration.  Archive the resulting file
		and check its status.

		@APPEND FOO.LOG CHIVE.TXT
		 FOO.LOG.1
		?File has archive status, modification is prohibited: CHIVE.TXT
		@DISCARD CHIVE.TXT
		 CHIVE.TXT.1 [OK]
		@APPEND FOO.LOG CHIVE.TXT
		 FOO.LOG.1 [OK]
		@
		@ARCHIVE CHIVE.TXT
		 CHIVE.TXT.1 [Requested]
		@INFORMATION ARCHIVE-STATUS CHIVE.TXT
		 CHIVE.TXT.1 Archive requested
		@
			END-ACCESS comand


Function

	The END-ACCESS command terminates your ownership rights to an accessed
	directory, as well as group rights borrowed from its owner.


Format

	@END-ACCESS (TO DIRECTORY) dev:<directory>

	where

	dev:<directory>		is the directory to which you want to end access
					Default dev: - your connected structure

					Default <directory> - the directory (on
					the specified structure) of the same
					name as your connected directory


Hints

	Implicit END-ACCESS

		You can access only one directory at a time on each mounted
		structure.  Each ACCESS command ends access obtained by any
		previous ACCESS command for a directory on the specified
		structure.  Therefore you do not need to give the END-ACCESS
		command if you access another directory on the structure, or
		if the structure is dismounted.

	Restoring Previous Rights

		END-ACCESS does not restore owner and group rights obtained
		by a previous ACCESS command for the specified structure.  Give
		another ACCESS command to regain these.  (Note that you must
		access your log-in directory to regain group rights obtained by
		the LOGIN command, lost by accessing another directory on PS:.)


Effect on Memory and Terminal

	The END-ACCESS command does not affect memory and leaves your terminal
	at TOPS-20 command level.


Related Commands

	ACCESS			for obtaining ownership rights to a directory
				and the group rights of the owner

	DISMOUNT		for decrementing the mount count of a previously
				accessed structure

	INFORMATION STRUCTURE	for finding out who is accessing a structure


Examples

	1.	Give up your access rights to another user's directory.

		@END-ACCESS <J-BLOGGS>
		@

	2.	Access another user's directory, copy a file from it, and
		give up your rights to it.  Then give a command that depends
		on your own group rights.  (It fails.)  Access your own
		directory to establish these, and repeat the command,
		successfully this time.

		@ACCESS <J-BLOGGS>
		Password:
		@COPY <J-BLOGGS>DIST.LST
		 <J-BLOGGS>DIST.LST.2 => DIST.LST.2 [OK]
		@END-ACCESS <J-BLOGGS>
		@INFORMATION DIRECTORY <A-MOLE.*>,
		 ?No such directory
		@ACCESS <J-BLOGGS>
		@INFORMATION DIRECTORY <J-BLOGGS.*>,
		@@NAME-ONLY
		@@
		 Name PS:<J-BLOGGS.ACCOUNT>
		 Name PS:<J-BLOGGS.SPECTRO.USERS>
		@


	3.	Mount a structure, and access a user's directory there.  Get
		a listing of his files of type .TXT.  End the access and
		dismount the structure.

		@MOUNT STRUCTURE MELON:
		 Structure MELON: mounted
		@ACCESS MELON:<PSTAT>
		@DIRECTORY MELON:<PSTAT>*.txt

		   MELON:<PSTAT>
		 README.TXT.10
		 ------WHATS-HERE------.TXT.2
		 MAIL.TXT.4

		 Total of 3 files


				EXAMINE command


Function

	The EXAMINE command displays the contents of a specific memory location.


Format

	@EXAMINE (MEMORY LOCATION) octal or sybolic address


Output

	Contents of Memory Location or Message

		When you complete an EXAMINE command, the system prints the
		memory address examined, followed by a slash (/) and its
		contents.  If you previously used the SET TYPEOUT MODE SYMBOLIC
		command, this information is both in symbolic and, in
		parentheses, numeric (octal) format.  (The numeric information
		will always appear for this setting of the command; symbolic
		information will appear if the system finds it is different
		from the numeric.)

		Generally the numeric format shows two 6-digit octal numbers
		separated by a pair of commas (,,).  IF you do not see this pair
		of commas, only the right half of the memory location is being
		displayed; as the left half is 0.  However, if you are not
		permitted to examine this location, the system prints only a
		message telling you of the restriction.


Hints

	Using Symbols

		For symbols that are defined in multiple modules of a program,
		you can be specific by giving the module name followed by an
		ampersand (&) and the symbol name.


	Abbreviating EXAMINE

		The EXAMINE command can be abbreviated by the single letter E.


	Default Argument for EXAMINE

		The argument of your current EXAMINE command defaults to a value
		greater by 1 than the last address examined, allowing you to
		inspect a section of memory with only a minimum of typing.  But
		if you gave a more recent DEPOSIT command, the argument of your
		current EXAMINE command defaults to that address, allowing you
		to verify the deposit.


	Using EXAMINE With Inferior Processes

		To examine memory for a process inferior to the one immediately
		below the TOPS-20 command processor, you must give the FORK
		command to specify this process before using EXAMINE.  Remember
		that to run an inferior process after examining it, you must
		ensure that all superior processes are running too.  Give the
		FORK 1 and CONTINUE commands to let the top-level process
		continue its inferiors.



Effect on Memory and Terminal

	The EXAMINE command does not affect memory and leaves your terminal at
	TOPS-20 command level.



Related Commands


	DDT				for calling a debugging program, 
					allowing more efficient examination
					or memory


	DEPOSIT				for changing the contents of a specific
					memory location


	FORK				for selecting the process whose memory
					you want to examine


	INFORMATION MEMORY-USAGE	for displaying a list of memory pages,
					their contents and status



Examples

	1.	Examine location 550 of the program in memory.

		@EXAMINE 550
		550/	74473,,414155
		@


	2.	Examine location 20, first in numeric typeout mode, then in the
		symbolic mode.

		@SET TYPEOUT MODE (TO) NUMERIC
		@EXAMINE (MEMORY LOCATION) 20
		20/ 104000,,58

		@SET TYPEOUT MODE (TO) SYMBOLIC
		@EXAMINE (MEMORY LOCATION) 20
		P+1/ 104000,,.JBBLT+11	(20/ 104000,,56)
		@


	3.	Put a program into memory and find out what pages it occupies.
		Examine a location on page 2, and then (using the abbreviated
		form of the EXAMINE command) one on page 400.

		@GET DMN
		@INFORMATION MEMORY-USAGE

		 5. pages, Entry vector loc 4000010 len 254000

		0-3	DMN.EXE.1	1-4	R, CW, E
		400	DMN.EXE.1	5	R, CW, E

		@EXAMINE 2550
		2550/	600170
		@E 400550
		400550/ 0
		@






				EXECUTE Command


Function

     The EXECUTE command loads your program into memory, compiling
     source file if necessary. Then it starts the program.



Format

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


	where

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



     source        is one or more source file specifications preceded
		    and/or  followed  by  switches.  You must separate
		    the source files with plus signs.	No  spaces  or
		    tabs  are allowed. If the filetype is not specified


     object         is an object file specification.  If  you  do  not
		    give an object file specification, the system uses
		    the name of the last  file	in  the  corresponding
		    sources and the type .REL.


	,...		means that, after commas, you can give more arguments
			of the form already shown


Special Cases

     If you give only EXECUTE-command  switches  as  arguments  to  an
     EXECUTE command, the system appends the arguments you gave in the
     last LOAD-class command which contained a file  specification  or
     LINK  switch,  then  executes  the  command.   If	there  are  no
     arguments to recall, the system  prints  the  message  ?No  saved
     arguments.

     The system will update the object file if it is  older  than  any
     one  of  the  corresponding  source  files.  Suppose you give the
     command:

     @EXECUTE (FROM) NXTLAT.FOR

     If NXTLAT.REL does not exist, or if it is  older  than  the  most
     recent  NXTLAT.FOR  (i.e.,  it  has a write date before the write
     date of NXTLAT.FOR),  then  the  system  compiles	NSTLAT.FOR  to
     produce  an  up-to-date  NXTLAT.REL.  After producing NSTLAT.REL,
     the system loads it into memory.


		       EXECUTE Command Switches


	/68-COBOL	compiles the file using the COBOL-68 compiler
				Default for files of type .CBL

	/74-COBOL	compiles the file using the COBOL-74 compiler


       /ALGOL
	  Compiles the file using ALGOL.  This is  the	default  for
	  sources with the extension .ALG.


       /BINARY
	  Generates a binary (object) file for each source  program.
	  Normally,  the  system  generates  object  files,  so this
	  switch is useful in reversing a global /NOBINARY switch.


       /COBOL
	  Compiles the program using COBOL/68.  This is the default for
	  sources with the extension .CBL.


       /COMPILE
	  (or an object file older than any one of its source files)
	  Compiles  the  source  program  regardless  of whether the
	  object file is up-to-date or not.  The  /NOCOMPILE  switch
	  causes compilation only if the object file is out-of-date;
	  the /RELOCATABLE  switch  causes  the  system  to  use  an
	  existing  object  file, regardless of its date.  Normally,
	  the system assumes the action of the /NOCOMPILE switch.


       /CREF
	  Creates a file containing cross-reference information  for
	  each source file you compile.  The name of the file is the
	  name of the last source file and the file  type  is  .CRF.
	  Give	the CREF command to run the CREF program which reads
	  this file and prints a listing.  If the object file is not
	  out  of  date, include the /COMPILE switch in your EXECUTE
	  command.  When a source file contains a COBOL program, the
	  system  produces  a  listing	file  (the file type is .LST
	  instead   of	 .CRF)	 containing   the    cross-reference
	  information;	 give the PRINT command (instead of CREF) to
	  print the .LST file.



       /FORTRAN
	  Compiles the file using FORTRAN.  This is the default  for
	  sources with the extension .FOR or a non-standard type.


       /LANGUAGE-SWITCHES:"/switch(es)"
         passes the specified switches to the compiler that will process
         the file(s) to which this switch applies.  You must include the
         switches in double quotation marks ("  ").


	/LIBRARY
	 same as /SEARCH


       /LIST
	  Prints a listing of each program you compile.  The listing
	  name	is  the  name  of  the last source file.  Unless you
	  specify this switch, the system does not print  a  listing
	  of  your program.  If you also include a /CREF switch, the
	  system ignores the /LIST switch.


       /MACRO
	  Assembles the file using MACRO.  This is the	default  for
	  sources with the extension .MAC.


       /MAP:name.typ
	  Produces loader maps during the loading process and stores
	  them in the file name.typ.  If you do not give a file name
	  and type, the system uses nnnLNK.MAP, where  nnn  is	your
	  job  number.	 The  /MAP  switch  applies  to  the  entire
	  command, not to just one file.   If  you  use  recognition
	  input in typing the file specification, the system creates
	  a new generation of the recognized file.



       /NOCOMPILE
	  Compiles a file only if  it  is  out-of-date.   Since  the
	  system  normally does this, the /NOCOMPILE switch is usful
	  for turning off a global /COMPILE or /RELOCATABLE switch.


	/NOLIBRARY
	 same as /NOSEARCH

       /NOLIST
	  Inhibits the generation of a listing file.  Normally,  the
	  system does not generate a listing file.


       /NOOPTIMIZE
	  Inhibits the generation of optimized object files (FORTRAN
	  programs only).


       /NOSEARCH
	  Loads all routines in a file, regardless  of	whether  the
	  routines  are  called  by  another  module.  Normally, the
	  system loads all routines in	an  object  file,  therefore
	  this	switch	is  useful  in	reversing  a  global /SEARCH
	  switch.


       /NOSYMBOLS
	  Inhibits loading symbols with the program.  Normally,  the
	  system loads symbols with all programs.


       /OPTIMIZE
	  Produces optimized object files (FORTRAN programs only).


       /RELOCATABLE
	  Uses the specified object files, even though they  may  be
	  out  of date, or may have extensions other than .REL.  For
	  example,  the  command  LOAD	FILE.FOR/REL   would   cause
	  FILE.FOR  to be treated as a relocatable file and load it.
	  It would normally be regarded as a FORTRAN source file.


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



       /STAY

		Returns your terminal to TOPS-20 command level so that you can 
		perform other work while the system continues to compile your 
		program.  You immediately receive the TOPS-20 prompt (@ or $)
		and can then issue any user command.  But be careful with
		commands that run programs, because those commands may clear
		memory and terminate the current process.  Also, you could
		easily send incorrect data to programs expecting terminal input.
		This switch saves you from having to: issue a ^T to make sure
		the compile has begun; give a ^C to halt compilation; and issue 
		a CONTINUE STAY command to remain at command level during
		compilation.



Operation


     1.  Type EXEC and press the  ESC  key;   the  system  prints  UTE
	 (FROM).

         @EXECUTE (FROM)


     2.  Type  (or  use   recognition   on)   the   sets   of   source
	 specifications,  object  specifications  and switches.  Press
	 the RETURN key.  The system executes the specified files.

         @EXECUTE (FROM) TEST.FOR,SUB1.FOR
	 FORTRAN: TEST
	 FORTRAN: SUB1
	 SUB1
	 LINK:	 Loading
	 [LNKXCT TEST EXECUTION]

         INPUT FILE: T1.IN

         END OF EXECUTION
	 CPU TIME: 0.14  ELAPSED TIME: 0.47

         EXIT
	 @



Errors


     1.  If you give a command and one of the source files is missing,
	 the  system  continues  processing the command and prints the
	 message:

         %SOURCE FILE MISSING - name.typ

         where name.typ is the name and type of the source file.



Characteristics

    Compiling New Source Only
	Before execiting programs, the system ordinarily compiles
	any 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,
	.CBL, or .ALG) in an EXECUTE 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 in the above order for a file of this 
	name and a standrd type. To execute programs from sources that have
	nonstandard file type, 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.

	

Hints

    Comma Between Filespecs
	If you give two or more filespecs separated by commas as arguments
	to EXECUTE, the loaded programs exist in memory at the same time
	and will act 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 filespecs separated by plus signs (+)
	as arguments to EXECUTE, they are treated as a single file
	by compilers. Their object module is stored under any filename
	given as the "object" argument af the command, or (if none)
	under the last filename in the group and file type .REL.

    Indirect Files as Arguments
	You can store the arguments (source and object filespecs,
	switches) of an EXECUTE command in an indirect file, and
	specify them by typing an at sign (@) and its filespecs as
	an EXECUTE command aargument.
	
    Establishing Default Arguments with the SET Command
	You can issue the SET DEFAULT COMPILE-SWITCHES command to set
	up default global arguments to the EXECUTE command. Insert this
	SET command in your COMAND.CMD file to change your own defaults
	permanently.

    Running Link Directly
	The EXECUTE command automatically runs LINK, the system's loader
	program , but if you require control of the loading process you
	can run LINK directly. See the TOPS-20 LINK reference Manual.


Restrictions

	Switches Requiring Compilation


		/CREF
		/LANGUAGE-SWITCHES
		/LIST
		/NOLIST
		/NOOPTIMIZE
		/OPTIMIZE

		The above switches will not take effect unless the EXECUTE
		command causes a new compilation of the relevant source file.


Effect on Memory and Terminal

     The EXECUTE command runs the appropriate translator and the  LINK
     program,  thereby	clearing  any  previous  program  from memory.
     Depending on the way your program operates, your terminal  may  or
     may not be left at TOPS-20 command level.


Related Commands

	LOAD, EXECUTE, and DEBUG	other LOAD-class commands for performing
					related functions

	RUN				for running executable programs


Examples


	1.	The user executes his FORTRAN program.

        @EXECUTE (FROM) ADDTWO.FOR
	FORTRAN: ADDTWO
	MAIN.
	LINK:	Loading
	[LNKXCT ADDTWO Execution]
	TYPE TWO NUMBERS.
	23.5 45.8
	ADDING	      23.5000000 TO	  45.8000000 GIVES
	69.3000000

        END OF EXECUTION
	CPU TIME: 0.14 ELAPSED TIME: 7.88
	EXIT
	@



	2.	Execute a program, indicating the language with a 
	switch.  Specify the /STAY switch to return immediately to TOPS-20 
	command level.

		@EXECUTE TEST/FORTRAN/STAY
		@



	3.	The user combines three FORTRAN programs into  one  main 
	program and includes the entire subroutine package TYPE2.

        @EXECUTE (FROM) 1+2+3,TYPE2
	FORTRAN: 1
	MAIN.
	FORTRAN: TYPE2
	TYPE2
	LINK:	Loading
	[LNKXCT 3 Execution]
	THIS IS IT, FOLKS, THE LAST TRY
	THIS IS TYPE2.
	STOP

        END OF EXECUTION
	CPU TIME: 0.009 ELAPSED TIME: 0.47
	EXIT
	@


	4.	The  user   executes   his   MACRO   program   and   produces 
	 a cross-reference listing file.

        @EXECUTE (FROM) TRANSL.SYS/MACRO/CREF
	MACRO:	TRANSL
	LINK:	Loading
	[LNKXCT TRANSL Execution]
	Translate (Directory) EXEC
	<EXEC> (IS) [4,111] (A files-only directory)
	@


	5.	The user executes his COBOL program.

        @EXECUTE (FROM) COMPUT.CBL
	COBOL:	MAIN  [COMPUT.CBL]
	LINK:	Loading
	[LNKXCT COMPUT Execution]
	TYPE A NUMBER: 56
	TWICE THAT NUMBER IS: 1.12E2

        EXIT
	@

			INFORMATION command


        The INFORMATION command tells you the current status of
	various things in the computer.

Format

	@INFORMATION (ABOUT) argument

	where

	argument		is  keyword chosen from the list below,
				indicating your choice of INFORMATION
				command options.

Operation
        Type 'I' then press the ESC key and 'FORMATION (ABOUT)'
	will be filled in for you.

        Then press the '?' key and the various options available
	to you will be displayed,
      e.g.:-

@iNFORMATION (ABOUT) ? one of the following:


 ADDRESS-BREAK		 ALERTS			  ARCHIVE-STATUS
 ARPANET		 AVAILABLE		  BATCH-REQUESTS
 COMMAND-LEVEL		 DECNET			  DEFAULTS
 DIRECTORY		 DISK-USAGE		  FILE-STATUS
 FORK-STATUS		 JOB-STATUS		  LOGICAL-NAMES
 MAIL			 MEMORY-USAGE		  MONITOR-STATISTICS
 MOUNT-REQUESTS		 OUTPUT-REQUESTS	  PCL-OBJECTS
 PROGRAM-STATUS		 PSI-STATUS		  RETRIEVAL-REQUESTS
 SPOOLED-OUTPUT-ACTION	 STRUCTURE		  SUBSYSTEM-STATISTICS
 SYSTEM-STATUS		 TAPE-PARAMETERS	  TERMINAL-MODE
 VARIABLE		 VERSION		  VOLUMES



For detail informtion of each of the argument above see under
INFO-Argument.


				LOGIN Command


Function

     The LOGIN command validates you as a user, and CONNECTS your job
     to and ACCESSes your log-in directory.


Format

     @LOGIN (USER) user (PASSWORD) pwd (ACCOUNT) acc (SESSION REMARK) remark

	where


     user           is  your  user  name

     pwd            is the password associated with  your  user  name.
		    The  password is comprised of up to 39 letters and
		    digits, including hyphen.  You  should  keep  your
		    password secret(when password is typed in, it is
		    not printed on the terminal).

     acc            is an account name or number that you are authorized
		    to use.

     remark	    is an optional comment up to 39 characters, describing
		    the coming terminal session.

 
     The LOGIN command implicitly CONNECTs to and ACCESSes  your
     logged-in	directory on PS:.  If you give the INFORMATION (ABOUT)
     STRUCTURE command after you log in, your user name will appear in
     both the CONNECTed and ACCESSing user lists. To Obtain a valid
     user name, password, and account contact User Support on ext 2363.



Characteristics

    Notice of User Mail and System Mail
	After the system acknowledges a valid LOGIN command by printing
	your job number, terminal number, and the current date and time
	it informs you if another user has sent you a message by means
	of the system mail programs.  Then system mail (sent by
	privileged users to all users) that has accumulated since your
	last log-in is displayed on your terminal.  Note however, that
	this mail appears in the log file if a batch job is run for you
	between the time the mail is sent and the time you log in.

    Typing an Initial CTRL/C or <CR>
	Before logging in you may have to type  CTRL/C or <CR> (which
	will print the system herald or greeting) to get the @ prompt
	necessary for typing the LOGIN command. If you are dialing
	in by telephone to a line declared autobaud by the system manager,
	this initial CTRL/C or a carriage return will enable the system
	to determine your terminal's speed setting, as long as the speed
	is either 110, 150, or 300.

    Rights, Capabilities and Charges
	The login command gives you ownership rights to your log-in
	directory, and any group rights established for you on the
	public structure (usually named PS:), In addition, you are
	granted whatever capabilities (for example, maintenance, wheel)
	have been awarded to you, and can be sure that any charges
	you incur for the use of system resources, such as CPU time
	or the batch and printing systems, will be billed to your
	user name.




Hints


     Commands in Files Executed at Log-in Time


    TERMINAL Commands
	If you have commands in your LOGIN.CMD file in your
	log in directory that control terminal output (e.g.
	TERMINAL PAUSE), be sure to put them before the first
	command that runs a program.  Then they will be in
	effect when system mail is displayed.

     For Affecting Entire Session or Current Level Only
	As soon as you log in, the system executes the commands
	contained in your LOGIN.CMD file and then your COMAND
	.CMD file in your log-in directory.  Commands that
	affect the entire job (e.g. TERMINAL and DEFINE) belong
	in LOGIN.CMD.  Commands that affect only the current
	level of TOPS-20 ( e.g. many SET commands) must be put
	into COMAND.CMD if you want them to be executed
	automatically after every PUSH command as well as after
	LOGIN.

     For Affecting Batch Jobs
	As soon as one of your batch jobs logs in, the system
	executes the commands contained in your BATCH.CMD file
	and then your COMAND.CMD file in your log-in directory.
	Note that certain parameters of the batch job ( e.g.
	its time limit and the name of its log file) have 
	already been set before these commands are executed.
	Such parameters are set either to values specified by
	switches in the SUBMIT command that starts the batch
	job, or to default to valuse in effect for the job
	issuing the SUBMIT command.

     Must Log In Within Five Minutes
	If you do not log in within five minutes of your initial
	<CR>, your job will be logged out automatically and
	you will have to type <CR> again.


    For Affecting Nested Batch jobs
	By placing a SET DEFAULT SUBMIT command in a file of specification
	BATCH.CMD in your log-in directory you cause these defaults to be
	in effect for a nested batch job, i.e., a batch job started by a
	SUBMIT command within the control file of another of your batch
	jobs. Note that if the control file contains a PUSH command before
	the SUBMIT, any SET DEFAULT SUBMIT command in a file of specification
	COMAND.CMD in your log-in directory will be in effect instead,
	because comands in COMAND.CMD are executed after every PUSH command
	as well as log-in time.

    A Final TAKE command
	To avoid display of  a message of the form, "End of file.cmd"
	after execution of a command file, make the last command in such
	a file  TAKE command eith no arguments.

     Logging in to Last Available Job Slot
	If you attempt to log in to the last available job slot,
	the system will not log you in but wil send you and 
	error message instead.  This job slot is intended for 
	users who wish to attach detached jobs.  To log in a
	new job you must wait until a current user logs out.



Operation

     1.  Type LOG and press the ESC key;  the system prints IN (USER)

         @LOGIN (USER)


     2.  Type your user name and press the ESC key.  The system prints
	 (PASSWORD).   If  you type an incorrect user name, the system
	 immediately prints a ?  and returns to command level.

         @LOGIN (USER) LANGLEY (PASSWORD)


     3.  Type your password (it is not printed) and press the ESC key;
	 the system prints (ACCOUNT).

         @LOGIN (USER) LANGLEY (PASSWORD)   (ACCOUNT)


     4.  Type a valid account and press the RETURN  key;   the  system
	 prints  a  line  containing your job number, terminal number,
	 and the date and time.

         @LOGIN (USER) LANGLEY (PASSWORD)   (ACCOUNT) 10400
	  JOB 27 ON TTY16 16-JAN-76 15:54
	 @



Errors


     1.  If you type an invalid (non-existing) user name,  the  system
	 responds with a ?  immediately and does not let you continue.
	 Check to see if you are typing the name correctly.


     2.  If you type an incorrect  password,  the  system  prints  the
	 following message and does not log you in.

         ?INCORRECT PASSWORD

         Reissue the command with the correct password.


     3.   If you type an incorrect  account,  the  system  prints  the
	 following message and does not log you in.

         @LOGIN (USER) PAVOLA (PASSWORD)   (ACCOUNT) 1234567
	  ?
	 @



Output

     Once you have completed the LOGIN command, the  system  prints  a
     line  that contains your job number, terminal number and the date
     and time you logged in.

     Next, the system prints any system  messages  that  were  created
     since  the  last  time you logged in.  If you do not want to read
     the messages, type a CTRL/O.

     If you have exceeded your permanent disk storage allocation,  the
     system prints the message:

     <directory> OVER PERMANENT STORAGE ALLOCATION BY n PAGES

     where directory is your logged-in directory and n is  the  number
     of  pages	by  which  you	have  exceeded your quota.  You should
     delete and expunge enough files so that you are under this quota.

     If another user has sent you a message, the system  prints:   i.p
     3,1 YOU HAVE A MESSAGE

     Use the RDMAIL program to read your mail.  Otherwise,  until  you
     run RDMAIL, you will receive this message every time you log in.

     If you have a LOGIN.CMD file and/or a COMAND.CMD file, the system
     processes these files and prints:

        END OF COMAND.CMD
     and/or
	END OF LOGIN.CMD



Effect om Memory and Terminal

     The LOGIN command is usually the  first  command  that  you  give
     after  the  initial <CR>;  this command leaves your terminal at
     TOPS-20 command level. However, commands in command files executed
     during log-in will have their usual effect on memory and your terminal.


Restrictions

     You can give the LOGIN command only after you type a <CR>.

     You cannot use recognition in  typing  the  PASSWORD  or  ACCOUNT
     arguments to a LOGIN command.

     The entire LOGIN command must be typed on one line.


Related Commands

	ATTACH			for joining to your terminal a job that has
				already been logged in


	LOGOUT			for ending your timesharing job


	SET ACCOUNT		for changing your account during a terminal
				session


	SET DIRECTORY ACCOUNT-DEFAULT for specifying a default account for
				subsequent log-ins

	SET SESSION-REMARK	for making or changing your session remark
				during a terminal session



Examples

     The user CONNOLY logs in  to  the  system  and  finds  he  has  a
     message.

        @LOGIN (USER) CONNOLY (PASSWORD)   (ACCOUNT) 10231
	 JOB 23 ON TTY34 16-JAN-76 10:27
	 YOU HAVE A MESSAGE
	@

				MODIFY Command


Function

     The MODIFY command changes and/or adds one or more switches to  a
     request placed in a batch or output queue.


Format

	@MODIFY (REQUEST TYPE) queue (ID) identifier /switch(es)

	where

	queue		is the waiting list in which you placed the original
			request, chosen from the following:

			BATCH	for requests made using the SUBMIT command

			PLOT	...........................  PLOT  .......

			PRINT	...........................  PRINT .......


		In the switch summary and descriptions, the word Output in the
		column headed Applicable Quese means all queues except the Batch
		queue.


	identifier	is one of the following:

			request ID number	the unique identifier assigned
						by the system to your request.
						This is the number appearing
						under the heading "Req#" in the
						list of requests shown by the
						INFORMATION BATCH-REQUESTS or
						INFORMATION OUTPUT-REQUESTS
						command.

			jobname			the jobname of the request,
						either the first 6 characters of
						the first filename in the
						request, or the argument you
						supplied to a /JOBNAME switch
						when making the original request
						This is the name appearing under
						the heading "Job Name" in the
						list of requests shown by the
						INFORMATION BATCH-REQUESTS or
						INFORMATION OUTPUT-REQUESTS
						command.

			/JOBNAME: jobname	switch showing the jobname of 
						the request to modify.  You can 
						specify a particular jobname
						when making the original
						request.  See Special Cases -
						/JOBNAME Switch, below.


			/SEQUENCE:sequence number switch showing the sequence
						number of the request to modify
						You can specify a particular
						sequence number when making the
						original request.

		Use an asterisk (*) as identifier to modify all your requests
		in the specified queue.


	/switches			are keywords, chosen from the list below
					specifying the paramter you want to
					change (and, where applicable, the new
					value of this parameter)



			Summary of MODIFY Command Switches


		Switch				Applicable Queues

	/AFTER:date and/or time					All
	/BEGIN:n					Batch
	/COPIES:n						Output
	/DELETE							Output
	/DEPENDENCY-COUNT:n				Batch
	/DESTINATION-NODE:node name::				All
	/FILE:ELEVEN				Print
	      FORTRAN				Print
	/FORMS:forms name					Output
	/GENERIC						Output
	/HEADER							Output
	/JOBNAME:jobname				Batch	Output
	/LIMIT:n				Print
	/LOWERCASE				Print
	/MODE:output mode					Output
	/NOHEADER						Output
	/NOTE:12-character message				Output
	/PAGES:n					Batch
	/PRIORITY:n						All
	/REPORT:title				Print
	/RESTARTABLE:NO					Batch
		     YES
	/SEQUENCE:n						All
	/SPACING:SINGLE				Print
		 DOUBLE
		 TRIPLE
	/TIME:hh:mm:ss						All
	/TPLOT:n					Batch
	/UNIQUE:0 or NO					Batch
		1 or YES
	/UNIT:octal number					Output
	/UPPERCASE				Print
	/USER:user name						All



                       MODIFY Command Switches



	/AFTER:date and/or time, or

		day of week (or TODAY)
		and/or time

	Assures that the job will be run after  the  specified  date  and
	time.

	You can give a day of the week (e.g. MONDAY) or TODAY as argument.
	The job will not  be printed until the beginning of the following
	day.  If you follow this argument with a plus sign and a time, the
	job will be further delayed by this amount.


	/BEGIN:n			gives the decimal line number of the
					control file at which processing is to
					begin (for BATCH), or the decimal page
					number of the file at which the output
					is to begin (for PLOT & PRINT)

	/COPIES:n			tells how many copies of the file to
					produce


	/DELETE				deletes the file after processing


	/DEPENDENCY-COUNT:n

     Sets the job's dependency-count to the new value n.  This	switch
     can  be  followed	by  a + or - sign in front of the number which
     will increase or decrease the original dependency-count  by  that
     amount.  A batch request is not processed until its dependency count is 0.


	/DESTINATION-NODE:node name::	specifies the DECnet network node on
					whose line printer the log file of
					your batch job is to be printed (for
					BATCH), or the network node on whose
					line printer or other output device
					your request is to be processed (PLOT
					and PRINT).  The node name must be of
					six or fewer characters and must be
					followed by two colons (::).


	/FILE:ASCII			specifies that the file consists of
	      COBOL			ASCII text, or COBOL SIXBIT text, or
	      ELEVEN			(ELEVEN) contains four 8-bit bytes in
	      FORTRAN			each 36-bit word; or is FORTRAN ASCII
					text, where column 1 of each line is
					interpreted as a carriage control
					character.


	/FORMS:forms name

     Asks the operator to  cause  the  printing  to  be  done  on  the
     specified	type  of  paper.  The description must be six or fewer
     characters, and can denote types such as color of paper, width of
     paper, etc.


	/GENERIC			allows the output to be produced on
					any available device (Use along with
					argument PRINT to cancel the /LOWERCASE
					or /UPPERCASE switch, or with PLOT &
					PRINT to cancel the /UNIT switch.)

	/HEADER				causes the header section containing
					the jobname to be plotted or printed
					before the file itself is produced.

	/JOBNAME:jobname		does not change the jobname, but
					specifies which job to modify.  Same
					as jobname in "identifier" argument.


	/LIMIT:n

		     Places a limit of n pages on the output of the job.


	/LOWERCASE			specifies that the file is to be
					produced on a line printer capable
					of printing lowercase characters.


	/MODE:ARROW			designates the mode for printing the
	      ASCII			file.  See the /MODE switch in the
	      OCTAL			PRINT command for details.
	      SUPPRESS

	/NOHEADER			prevents a header section containing
					the jobname from being produced before
					the file is produced.


	/NOTE:message

     Prints a note or message on the header page of the  output.   The
     note  can	consist of up to 12 alphanumeric characters.  The note
     must be enclosed in quotation marks if it contains any spaces.


	/PAGES:n			specifies the decimal number of
					spooled line printer pages the
					batch job is allowed to print


	/PRIORITY:n

     Assigns a new number denoting the urgency of  the	request.   The
     number  can  be from 0 to 63 with a higher number being processed
     before a lower one.


	/REPORT:title			scans your files and processes only
					those lines whose first characters
					are the title you give.  This title
					can contain up to 12 characters
					(including the quotation marks that
					must enclose the title if it contains
					spaces).  The switch is used along
					with the COBOL report writer.


	/RESTARTABLE:  YES or NO

     States if your job is to be started again after a system failure.


	/SEQUENCE:n

     Specifies which job to modify when you have several jobs with the
     same  name  in the queue.	It does not change the sequence number
     of the job.  If you omit this switch and have several  jobs  with
     the same name in the queue, they will all be modified.


	/SPACING:DOUBLE			determines the spacing between
		 SINGLE			printed lines
		 TRIPLE


	/TIME:hh:mm:ss

     Sets the limit for the maximum amount of central  processor  time
     available	for  the  job.	 This is stated in hours, minutes, and
     seconds separated by colons.


	/TPLOT:n			limits to n the maximum number of
					minutes of spooled plotter time
					allowed for tne batch job


	/UNIQUE:0 or NO
		1 or YES

     Specifies, if you have submitted two or more BATCH jobs,  whether
     they are to run concurrently (0) or not (1).


	/UNIT:octal number		changes your declaration, if two or
					more jobs are to use the same connected
					directory, whether they must run at
					separate times

	/UPPERCASE			specifies that the file is to be printed
					on a line printer that uses uppercase
					characters only

	/USER:user name			specifies the user whose request is to
					be modified; for privileged users only.


Characteristics

    Modify Effective Only Before processing
	The MODIFY command affects a batch or output request only before
	processing has begun. After processing has began, you can only
	cancel the request with the CANCEL command, and then make a new
	request.


Hints

     The switches you can change with the MODIFY command  depend  upon
     the  type	of request you are modifying.  Certain switches can be
     modified only when using the PRINT command,  and  other  switches
     can  be modified only when using BATCH commands.  There are three
     switches that can be modified when  using	either	BATCH  or  the
     PRINT command.

     Use  INFORMATION  (ABOUT)  OUTPUT-REQUESTS  or  the   INFORMATION
     (ABOUT)  BATCH-REQUESTS  before  and after your MODIFY command to
     check the switch values of the  jobs  in  the  queue.   The  /ALL
     switch given to these commands will cause more switch information
     to be displayed.

     The MODIFY command does not alter  the  contents  of  memory  and
     leaves your terminal at TOPS-20 command level.


	You can use the /DEPENDENCY-COUNT switch to specify the order in which
	your batch jobs are processed.  Set the dependency count of all but the
	first job to some positive value when you submit them, and include
	MODIFY commands in each job's control file to bring the next job's
	dependency count to 0 at the appropriate time.


Special Cases

    /JOBNAME switch

	In the singular case when you want to modify several queue
	requests of the same jobname using only one command, and that
	jobname is purely numerical (e.g. 5045), you must use the
	/JOBNAME:jobname switch as second argument to the MODIFY command
	Do not also give the request ID or jobname as a command argument
	if you give the /JOBNAME:jobname switch.


Effect on Memory and terminal

	The modify command does not effect memory and leaves your terminal
	at TOPS-20 commnd level


Related Commands

	CANCEL				for removing batch & output requests

	INFORMATION BATCH-REQUESTS	for examining entries in the batch queue

	INFORMATION OUTPUT-REQUESTS	for examining entries in the output 
					queues

	PLOT				for placing requests in a plotter output
					queue

	PRINT				for placing requests in a  line printer
					output queue

	SUBMIT				for placing requests in the batch input
					queue



Operation


     1.  Type MODIFY and leave a space.

              @MODIFY


     2.  Type the name of the queue you want to modify followed by the
	 job name and the switches.

              @MODIFY BATCH FORD/AFTER:10-SEP-77
	      [1 job modified]



Examples


	1.	The user modifies his BATCH job to raise its priority.

              @MODIFY BATCH FORD/AFTER:10-SEP-77/PRIORITY:55
	      [1 job modified]



	2.	Use the TYPE command to examine some of your control files.
		(Notice the use of MODIFY command within these files to ensure
		that they are processed in a certain order when submitted
		together.)  Submit these three control files and verify their
		placement in the batch input queue.


	@type a%.ctl
	 a1.ctl

	@run testa1
	@print testa1.rsm
	@modify batch a2/dependency-count:0

	 a2.ctl
	
	@run testa2
	@print testa2.rsm
	@modify batch a3/dependency-count:0

	 a3.ctl
	
	@run testa3
	@print testa3.rsm
	@print sumjob.rsm
	@
	@subMIT (BATCH JOB) /afTER:17:00 a1.CTL.1 
	[Batch job A1 queued, request #2794, limit 0:05:00]
	@subMIT (BATCH JOB) /afTER:depENDENCY-COUNT:1 a2.CTL.1 
	[Batch job A2 queued, request #2795, limit 0:05:00]
	@subMIT (BATCH JOB) /depENDENCY-COUNT:1 a3.CTL.1 
	[Batch job A3 queued, request #2796, limit 0:05:00]
	@infORMATION (ABOUT) bATCH-REQUESTS /all/usER:A-MOLE 

	Batch Queue:
	Job Name   Req#   Run Time            User
	--------  ------  --------  ------------------------
	  A1        2794  00:05:00  A-MOLE             /After: 1-Oct-85 16:59
		  /Uniq:Yes  /Restart:No  /Assist:Yes  /Output:Nolog
		  /Batlog:Super  /Seq:1012
	  A2        2795  00:05:00  A-MOLE             /Dep:1  /Uniq:Yes
		  /Restart:No  /Assist:Yes  /Output:Nolog  /Batlog:Super
		  /Seq:1013
	  A3        2796  00:05:00  A-MOLE             /Dep:1  /Uniq:Yes
	  /Restart:No  /Assist:Yes  /Output:Nolog  /Batlog:Super
	  /Seq:1014
	There are 3 jobs in the queue (none in progress)



				PRINT Command


Function

     The PRINT command places entries into  the  line  printer  output
     queue.


Format

     @PRINT (FILE) /SWITCHES filespecs/switches,...

     filespecs - is a list of file specifications separated by commas.
		 Files	 with	the   file   type   of	.LST  will  be
		 automatically deleted from your directory as soon  as
		 they are printed.

     switches  - is a list of switches chosen from the list below. If
		 you  want  a  file  switch to apply to one file only,
		 place	the   switch   after   the   particular   file
		 specification;   if you want the file switch to apply
		 to all files in the list, place the switch before the
		 list of file specifications.

		(You can use wildcard characters % and * to specify more
		 than one file).

                 To print the contents  of  the  line  printer  output
		 queue,  give  the INFORMATION (ABOUT) OUTPUT-REQUESTS
		 command.

,....		means that, atfer a comma, you can give more arguments
		of the form already shown.


Hints

     To just print a file, no switches are necessary.

     The line printer output queue is a list of  jobs  waiting  to  be
     printed.

     To examine the contents of the entire queue, give the INFORMATION
     (ABOUT)  OUTPUT-REQUESTS  command;   if you want only the entries
     for your job (S), include the /USER switch.

     If  you  want  your  PRINT  command  to  always  contain  certain
     switches,	include  in  your  COMAND.CMD file a SET DEFAULT PRINT
     command followed by the  switches.

     If you want to change the value or values of switches for a print
     request already in the queue, use the MODIFY command.

     If you want to remove entries you have previously placed  in  the
     line printer output, give the CANCEL command.


			PRINT Command Switches


             Job Switches (Affecting the Entire Command)


/ACCOUNT:account
     specifies the acocunt of 39 or fewer characters to charge for your
     printing request. This account must be valid for your user name.

     Default account - your current account
     (check with INFORMATION JOB-STATUS)


  /AFTER:  date and/or time (or TODAY)
     Submits the file for printing after the specified date or time.
     The   argument   for   date   is  in  the	form  day-month-year
     (dd-mmm-yy).  The argument  for  time  is	in  the  form  hh:mm
     (24-hour  time  of  day).	 There is an additional argument for
     time in the form +hh:mm which indicates  time  later  than  the
     current time.  (This argument is used without any date.)

     Separate the hours from minutes by  typing  a  colon,  and  the
     month, day, and year by typing a hyphen.  Separate the date and
     time by typing a space.

/DESTINATION-NODE:node name::
     Specifies the DECnet node or remote job entry (RJE) station on
     whose line printer your request is to be printed. The node name 
     must be of six or fewer characters and must be followed by
     two colons (::). You can use this switch to either send output
     to an RJE station or redirect it from a DECnet RJE station.
     However, you cannot send output from one DECnet host system
     to another by using this switch.

/FORMS:forms name
     Ask the operator to mount the specified forms before the system
     prints   the   job.   The	argument  must	be  six  (or  fewer)
     alphanumeric characters;  usually it is either  narrow  (for  8
     1/2  x 11 paper) or normal (for 15 x 11 paper).  The default is
     usually normal, but it depends on your installation.


/GENERIC
     allows any printer, either upper or lower case, and of
     any unit number, to be used to satisfy the request.
     Use this switch to override a previous /UPPERCASE,
     /LOWERCASE, or /UNIT switch.

/JOBNAME:name
     Assigns a name (consisting of six or fewer characters)  to  the
     printing  job.   If  you do not type a jobname, the system uses
     the first six characters of the first file name in the request.

/LIMIT:n
     Places a limit on the number of pages of output of the printing
     job.

/LOWERCASE
     Directs the printing job to  a  line  printer  that  uses	both
     uppercase and lowercase characters.


/NOTE:message
     labels the header page of output (i.e. the pagedisplaying the
     jobname) with a message ornotation of up to 12 characters.
     The memust be eclosed in doubl quotation marks if it
     contains spaces or non-alphanumeric characters.


NOTIFY:YES
      :NO
     Tells the system whether to send a message to your terminal
     when the request has been satisfied.

     Default argument (if switch is not given) - NO


/PRIORITY:n
     Assigns a number to the printing job reflecting the urgency  of
     the  request.  The number can be 0 to 63, with the higher value
     number being processed before the lower value number.

/SEQUENCE:n
     Specifies an identification number for the  request.   If	this
     switch  is  not used, the system automatically assigns a unique
     sequence number to your request.

 /UNIT:octal number
     directs your request to the line printer of the specified octal
     unit number.


/UPPERCASE
     Directs the printing job to  a  line  printer  that  uses	only
     uppercase characters.


/USER:user name
     specifies the user who is to be the owner of the
     PRINT request.  For privileged owners only.



     File Switches (Affecting only the Immediately Preceding File
	    Unless Placed Before All File Specifications)


/BEGIN:n
     Begins printing on the nth line of the file.  If you omit	this
     switch, the system always starts at the beginning of the file.

/COPIES:n
     Specifies that n copies of the file be printed.  The argument n
     (the  number  of  copies) must be less than 512.  Normally, the
     PRINT command makes one copy of each file.

/DELETE
     Immediately removes the file from your directory and deletes it
     after it has been printed.

/FILE:ASCII
     Specifies that the file is in ASCII text format.

/FILE:COBOL
     Specifies that the file is in COBOL text.

/FILE:FORTRAN
     Specifies that the file is in FORTRAN ASCII text.	This is  the
     default for files whose type is .DAT.

/HEADER
     Prints headline pages at  the  beginning  of  each  file.	 The
     header  contains  the name of the file, the date of the request
     and other useful information.  This is the default,  the  other
     option being /NOHEADER.


/MODE:	ARROW
	ASCII
	OCTAL
	SUPPRESS


     designates the mode for printing the file. ARROW prints the file
     literally, but denotes each control character by an up-arrow (^)
     and the character, except for the following, which   are printed
     literally:carriage return, line feed, horizontal tab, vertical
     tab, & formfeed. ASCII prints the file literally, without omissions
     or substitutions. OCTAL prints each word of the file as insigned
     octal integers; 3 groups of 128 words (8 rows of 16 columns each)
     appear on a standard line  printer page.  SUPPRESS prints the file
     without  any blank lines, causing all verical format characters
     (CTRL/K, CTRL/L, CTRL/Q, CTRL/R,    CTRL/S & CTRT/T) to be converted
     to carriage return/linefeeds & then treating multiple CR/LFs as a 
     single CRLF.


     Default - ARROW


/NOHEADER
     Prevents printing of the header page before the file.

/PRESERVE
     Saves the file in its directory after it is printed.   This  is
     the  default  action unless the file type is .LST in which case
     the file is deleted.


/REPORT:title
     Includes only those lines that begin with the specified code of
     up  to  12  alphanumeric  characters.   When  these  lines  are
     printed, the system removes the code before printing the line.

/SPACING:single
     Specifies no extra space between lines on a printout.

/SPACING:double
     Specifies a single line of spacing between lines on a printout.

/SPACING:triple
     Specifies a double line of spacing between lines on a printout.


Operation


     1.  Type PRINT and leave a space.

                  @PRINT

     2.  Type the list of file specifications and switches, then press
	 the RETURN key.

              @PRINT CNTRLH..2 /COPIES:4/FORMS:narrow
	      [LPT:CNTRLH=SEQ:1069/LIMIT:216, 1 file]
	      @



Output

     If you are printing a file, the system prints a  message  in  the
     form:

          [LPT:JOBNAME=/SEQ:n/LIMIT:p, f files]

     Jobname is the name of your job, n is the sequence number,  p  is
     the  maximum  number  of pages in your print request and f is the
     number of files in that request.

     The  INFORMATION  (ABOUT)  OUTPUT-REQUESTS  command  prints   the
     contents of the line printer output queue in the form:

          QUEUE     JOB     SEQ    LIMIT       USER

          LPT     CNTRLH   1069    216       SARTINI
		  /FORMS:narrow

     QUEUE is the name of the waiting list.  JOB is the jobname;   SEQ
     is  the sequence number;  LIMIT is the maximum number of pages in
     the request and USER is the name of the user who is printing  the
     job.   The  jobname  is  the one you must specify in a subsequent
     CANCEL  or  MODIFY  command  pertaining  to  the  specific  print
     request.	The  sequence  number  will  also  be  necessary  in a
     subsequent MODIFY or CANCEL command, if  two  requests  have  the
     same jobname, and you want to refer to only one of them.


Characteristics

     The PRINT  command  does  not  affect  memory.   It  leaves  your
     terminal at TOPS-20 command level.


Special Cases

     /SPOOLED-OUTPUT Switch

	You can give the special switch, /SPOOLED-OUTPUT, as sole
	argument to the PRINT command.  This causes any spooled output
	accumulated so far during you terminal session to be placed in a
	line printer queue immediately, rather than at log-out time.
	The /SPOOLED-OUTPUT switch is useful only if the SET SPOOLED-
	OUTPUT DEFERRED command is in effect.  Programs that you run
	(especially FORTRAN programs) create spooled output for the
	printer, or you can create it directly by writing to device LPT:
	(e.g. by giving the command, COPY filespec LPT:), or giving a
	CREF command.


Related Commands


	CANCEL				for withdrawing print requests

	INFORMATION OUTPUT-REQUESTS	for examining requests in the output
					queues

	MODIFY				for changing PRINT requests before
					processing has begun

	SET DEFAULT PRINT		for establishing default switches for
					subsequent PRINT commands



Examples

     The user prints the file DATA.FIL

          @PRINT DATA.FIL
	  [LPT:DATA=/SEQ:101/LIMIT:10, 1 file]
	  @

     The user prints four files with the NOTE  RUN  4  on  the  header
     page.

          @PRINT INDEP.VAR,DEPEND.VAR,ERROR.DEV,TIMES.VAR/NOTE"RUN 4"
	  [LPT:INDEP=/SEQ:102/LIMIT:235, 4 files]

     The user prints a job in a hurry by assigning a high priority  of
     60.

          @PRINT INDEP/PRIORITY:60/COPIES:4
	  [LPT:INDEP=/SEQ:1976/LIMIT:784, 1 file]

				R Command


Function

     The R command clears the contents  of  memory,  and  loads  and
     starts an executable program.


Format

     @R (PROGRAM) filespec/switch

     filespec	    is the file specification of the program you  want
		    to	run.   If  you	omit the file type, the system
		    assumes .EXE.  If you omit the generation  number,
		    the system uses the highest generation.


	/switch		is	/USE-SECTION:n
				specifies the memory section (from 0 to 37
				octal) in which your program is to run.  You
				can use this switch pnly if your program can
				be contained in one section.

Characteristics

     Necessity of R command
	Although in most cases you can run executable programs by simply
	typing the program name in place of a TOPS-20 command, the R
	command is necessary for running a program whose name is the
	same as a TOPS-20 command.


Hints

     If you are running another user's program, all you have to do  is
     type   (or  use  recognition  on)	the  full  file  specification
     including the directory name;  you do not have to	give  the  R
     command.

     To run system programs all you have to do is type their name  and
     press the RETURN key.

     The R command  is  equivalent  to  a  combined  GET  and  START
     command.

     If you plan to run a program often, use the LOAD command followed
     by a SAVE command, before you give the first R command.


     Defining SYS:
	If you redeine logical name SYS: to be different from the system-wide
	definition, you should include SYS: in the search list if you want to
	use the R command to run system programs.  For further information,
	refer to the DEFINE command description, section "Redefining System
	Logical Names".


Operation

     1.  Type R and press the ESC key;  the system prints (PROGRAM).

	 @R (PROGRAM)

     2.  Type (or use recognition on) the file specification and press
	 the RETURN key.  The system starts the program.

	 @R (PROGRAM) TELL
	 MESSAGES ARE BEING SENT...
	 DONE.
	 @


Effect on Memory and Terminal

	The R command clears memory and terminates the current process,
	then places in memory and starts the specified program, and 
	leaves your terminal at command level in the program (if any),
	or at TOPS-20 command level.


Related Commands

	INFORMATION LOGICAL-NAMES	for examining the definition of SYS:

	RUN				for running executable user programs


Examples

     The user runs the program TESTER.

	@R (PROGRAM) TESTER
	THIS IS A TEST OF THE DISK RECOVERY PROCEDURE.
	HOW MANY DIRECTORIES?  5
	NO ERRORS.
	DONE.
	@
			RECEIVE command


Function

	The RECEIVE command notifies the system that you are willing to accept
	communication links, or advice from another user, or system messages.


Format

	@RECEIVE argument

	where

	argument		is a keyword, chosen from the list below,
				naming the kind of communication you are
				willing to accept


			RECEIVE Command Arguments


	LINKS			allows communication links established by
				another user's TALK command

	ADVICE			allows both assistance and communication links
				initiated by another user's ADVISE or TALK
				command

	SYSTEM-MESSAGES		allows messages of interest to all users sent by
				the operator or other privileged users
					Default - LINKS


Hints

	Typing RECEIVE During Attempted TALK

		If your terminal has been set to refuse links and another user
		tries to talk to you by using the TALK command, both terminals
		will give a series of CTRL/G signals (ringing bells or high-
		pitched beeps) indicating the refused attempt.  If you give the
		RECEIVE LINKS command before these signals are finished, the 
		TALK command will succeed.


Effect on Memory and Terminal

	The RECEIVE command does not affect memory and leaves your terminal at
	TOPS-20 command level.


Related Commands


	ADVISE				for sending commands to another user's
					job

	INFORMATION TERMINAL-MODE	for examining your current terminal
					settings

	REFUSE				for refusing communication links,
					advice, or system messages

	TALK				for sending comments to another user


Examples

	1.	Give the RECEIVE command to accept communication links from
		other users.

		@RECEIVE LINKS
		@

	2.	Set your terminal to receive links, at the request (sent via
		the MAIL program, not shown here) of another user.  Begin a
		communication session with this user, during which you give
		the RECEIVE ADVICE command also, to allow a demonstration of
		the UDP program.  Afterwards, set your terminal again to
		refuse advice.

		@RECEIVE
		@
		LINK FROM J-BLOGGS, TTY 127
		@;THANKS, BUT IF YOU LET ME DO AN "ADVISE" I CAN SHOW YOU
		@;HOW TO RUN THE PROG BY ACTUALLY DOING IT.  OK?
		@;SURE, I'LL FIX MY SETTING
		@RECEIVE ADVICE
		@ADVISE A-MOLE
		 Escape character is <CTRL>E, type <CTRL>? for help
		 A-MOLE, PS:<A-MOLE> Job 33 EXEC
		 [Advising]
		UDP
		UDP>LIST/DOCUMENTATION:/CREATED-SINCE:1-1-85 0:0
		UDP>EXIT
		@;YOU'LL GET A PRINTED LISTING
		@;DO YOU SEE HOW I DID IT?
		@;YES THANKS. BYE.
		@
		 [Advice terminated]

		@REFUSE ADVICE
		@




				REFUSE command


Function

	The REFUSE command notifies the system that you are not willing to
	accept communication links, or advice from another user, or system
	messages.


Format


	@REFUSE argument

	where

	argument		is a keyword, chosen from the list below, naming
				the kind of communication you are not willing to
				accept



			REFUSE Command Arguments


	LINKS			prevents both assistance and communication links
				from being established by another user's ADVISE
				or TALK command

	ADVICE			prevents assistance initiated by another user's
				ADVISE command

	SYSTEM-MESSAGES		prevents messages of general interest sent to
				all users by the monitor or by the operator or
				other privileged users
					Default - LINKS and ADVICE



Hints


	Typing RECEIVE During Attempted TALK

		If your terminal has been set to refuse links and another user
		tries to talk to you by using the TALK command, both terminals
		will give a series of CTRL/G signals (ringing bells or high-
		pitched beeps) indicating the refused attempt.  If you give the
		RECEIVE LINKS command before these signals are finished, the
		TALK command will succeed.


	REFUSE to Safeguard Terminal Output

		If you want your terminal to print a long file, say, without
		interference, use REFUSE LINKS and REFUSE SYSTEM-MESSAGES
		commands to prevent all classes of message from being received.
		Be sure to use the RECEIVE command afterwards to restore the
		previous condition of your terminal.


Special Cases

	Implicit Refusal of Advice

		If you give the REFUSE LINKS command, your terminal will be set
		to refuse advice also.  However, the INFORMATION TERMINAL-MODE
		command may not display this setting unless you give an explicit
		REFUSE ADVICE command as well.


	Privileged Disregard of REFUSE

		A user with enabled Wheel or Operator capabilities can give the
		TALK or ADVISE command for any job.



Effect on Memory and Terminal


	The REFUSE command does not affect memory and leaves your terminal at
	TOPS-20 command level.



Related Commands


	INFORMATION TERMINAL-MODE	for examining your current terminal
					settings


	RECEIVE				for receiving communication links,
					advice, or system messages




Examples


	1.	Use the REFUSE command to prevent other users from advising
		your job.

		@REFUSE ADVICE
		@


	2.	Receive a communication link formed by another user's TALK
		command.  Confer with him briefly, then set your terminal to
		refuse all classes of message over which you have control.

		LINK FROM J-BLOGGS, TTY 37
		@;HELLO, CAN YOU HELP ME WITH PSTAT?
		@;SORRY, PLEASE BREAK.  I'M JUST ABOUT TO PHOTO SOME SCREEN 
		@;OUTPUT.  I'LL GET IN TOUCH LATER.
		@;OK
		@;BREAK

		@REFUSE ADVICE
		@REFUSE LINKS
		@REFUSE SYSTEM-MESSAGES
		@





				REWIND Command


Function

     The REWIND command rewinds a magnetic tape to its load point.



Format

     @REWIND (DEVICE) dev:	/switch


	where


	dev:		is the name of the tape set or magnetic tape drive that
			you want to rewind


	/switch		is one of the following:


			/CURRENT-VOLUME-ONLY	rewinds the tape set to start of
						currently mounted volume


			/ENTIRE-VOLUME-SET	rewinds tape set to start of
						first volume
						Default - ENTIRE-VOLUME-START


			Note:	these switches can only be used for devices of
				the form MTn:, not MTAn:.


Hints

     Remember to assign the tape  drive  to  your  job	and  have  the
     operator mount your tape on it.

     Be sure you have the correct tape parameters set (check them with
     the  INFORMATION (ABOUT) TAPE-PARAMETERS command);  if necessary,
     give the SET TAPE command.


Operation

     1.  Type REWI and press  the  ESC	key;   the  system  prints  ND
	 (DEVICE).

	 @REWIND (DEVICE)

     2.  Type the magnetic tape device name (the  colon  is  optional)
	 and  press  the  RETURN key.  The system prints an @ when the
	 tape is rewound.

	 @REWIND (DEVICE) MTA2:
	 @


Errors

     1.  If the device is not on line, the system ignores the  command
	 and prints the message:

	      ?Device is not on-line

	 Use the PLEASE program to contact the operator, then  reissue
	 the command.

     2.  If you type a CTRL/C to exit from a program that  has	opened
	 the  magnetic	tape  drive,  and  then  you  give  the REWIND
	 command, the system prints the following message:

	      %Device MTAn:  open on JFN n
	      %Close JFN? YES

	 If you answer YES (or just press the RETURN key), the	system
	 closes  the  file,  prints  a confirming message, rewinds the
	 tape, and leaves you at TOPS-20  command  level.   Continuing
	 the  program  that  previously  opened  the magnetic tape may
	 produce an error because the file has been closed.

	      @REWIND (DEVICE) MTA1:
	      ?Device MTA1: open on JFN 3
	      %Close JFN? YES
	       3   MTA1:   [OK]
	      @

	 If you answer NO, the	system	prints	the  message  ?Command
	 aborted... and does not close the file or rewind the tape.


Effect on Memory and Terminal

     The REWIND command does not change a program in memory and leaves
     your terminal at TOPS-20 command level.


Restrictions

     The REWIND command works only for magnetic tapes.


Related Commands

	BACKSPACE	for moving a magnetic tape backward a specified number
			of files or records


	DIRECTORY	(when used with a mag tape device) for rewinding a tape
			set, printing a directory of its files & again rewinding
			the tape set


	SKIP		for moving a magnetic tape backward a specified number
			of files or records


	UNLOAD		for rewinding a mag tape completely onto the source reel



Examples

     The user rewinds his tape on drive 1.

	@REWIND (DEVICE) MTA1:
	@
				SKIP Command


Function

     The SKIP command advances a magnetic tape	a  certain  number  of
     files or records, or to the logical end-of-tape.


Format

     @SKIP (DEVICE) dev: x units

     dev:	    is the magnetic tape device name in the form MTAn:
		    where n is the drive number.

     x		    is the number of files or records over  which  you
		    want  to skip.  If you are skipping to the logical
		    end-of-tape, you must type	a  number  but	it  is
		    ignored.

     units	    is either FILES, or RECORDS, or LEOT (for  logical
		    end-of-tape).



Hints

     Remember to assign the tape  drive  to  your  job	and  have  the
     operator mount your tape.

     Be sure to have the correct tape parameters set (check them  with
     the  INFORMATION (ABOUT) TAPE-PARAMETERS command);  if necessary,
     give the SET TAPE command.



Operation

     1. Type SKIP and press the ESC key;  the system prints (DEVICE).

	@SKIP (DEVICE)

     2. Type the device name and leave a space.

	@SKIP (DEVICE) MTA3:

	If the device is not a magnetic tape, the system  ignores  the
	command and prints the message:

	?dev: Device is not a magtape

	where dev:  is the device name you typed.

	If you typed a non-existent device,  the  system  ignores  the
	command and prints the message:  ?No such device.

     3. Type the number of files or records and leave a space.	If you
	are  skipping  to  the	logical  end-of-tape, you may type any
	arbitrary number.

	@SKIP (DEVICE) MTA3: 2

     4. Type (or use recognition on) the word FILES, RECORDS, or  LEOT
	(for  logical  end-of-tape)  and  press  the  RETURN key.  The
	system prints an @ when it finishes advancing the tape.

	@SKIP (DEVICE) MTA3: 2 FILES
	@


Errors

     1. If the device is not on line, the system ignores  the  command
	and prints the message:

	?Device is not on-line

	Use the PLEASE program to contact the operator,  then  reissue
	the command.

     2. If you type a CTRL/C to exit from a program  that  has	opened
	the  magnetic  tape drive, and then you give the SKIP command,
	the system prints the following message:

	     ?Device MTAn:  open on JFN n
	     %Close JFN? YES

	If you answer YES (or just press the RETURN key),  the	system
	closes	the  file,  prints  a confirming message, advances the
	tape, and leaves you at TOPS-20 command level.	Continuing the
	program  that  previously opened the magnetic tape may produce
	an error because the file has been closed.

	     @SKIP (DEVICE) MTA1:  3 FILES
	     ?Device MTA1:  open on JFN 3
	     %Close JFN?  YES
	      3   MTA1:   [OK]
	     @

	If you answer NO,  the	system	prints	the  message  ?Command
	aborted...  and does not close the file or advance the tape.


Restrictions

     The SKIP command works only for magnetic tapes.

     RECORDS Argument used for Unlabeled Tapes Only
	You cannot use RECORDS argument to the SKIP command when using
	a labeled tape, because read and write operations for labeled
	tapes always move the tape to the beginning of a file.


     Skipping Past (Unlabeled Tapes Only)
	If you specify too large a value for n in the SKIP command line,
	you can move past the logical end of tape(LEOT). In this case,
	the operator may have to intervene before your tape control
	commands will have effect again. You must be sure how many files
	you have in the tape set if you use SKIP n rather than SKIP LEOT.
	

Effect on Memory and Terminal

     The SKIP command does not change any program in memory and leaves
     your terminal at TOPS-20 command level.

Examples

     The user skips over three records.

	@SKIP (DEVICE) MTA1: 3 RECORDS
	@

     The user skips over 6 files.

	@SKIP (DEVICE) MTA2: 6 FILES
	@

     The user skips to the logical end-of-tape.

	@SKIP (DEVICE) MTA0: 0 LEOT
	@

			SUBMIT Command


Function

     The SUBMIT command places entries into the Batch input queue.


Format

     @SUBMIT (BATCH JOB) /switch(es) filespec/switch(es),...


	where


	filespec -  specifies the control file you are  submitting  to
		    the  BATCH	input  queue.  If you have a number of
		    files with the same name and different file  types
		    (including one with .CTL), the system will use the
		    file name with  the  .CTL  file  type  unless  you
		    specify otherwise.

	switches -  is a list of switches selected from the list below,
		    indicating your choice of SUBMIT command options.
		    Switches  given  at  the  beginning of the command
		    apply to all files specified, and  switches  given
		    after  a  file  specification  only  apply to that
		    file.

	,...	 -  means that after a comma you can give more arguments
		    (filespec & switches) of the form already shown.



		       SUBMIT Command Switches


/ACCOUNT:account
	Specifies the account of 39 or fewer characters to charge for
	your batch job.  This account must be valid for your user name.
	Default account - your current account (check with INFO JOB-STATUS)


/AFTER: date and/or time, or day of week (or TODAY) and/or time
	Submits the job and runs it only after the specified date and
	time. The  date is  in the form dd-mmm-yy (e.g., 10-AUG-77).
	The time  is  in  the form  hh:mm:ss (24-hour  time of  day).
	If you give both date and time, separate them with a space.
	If you wish the job to be processed after certain time then 
	precede the time with a plus sign (+) and do not specify date
	(e.g. after two and a half hour from now - /AFTER:+02:30:00).


/ASSISTANCE:YES
	   :NO
	Tells the system whether your job will require the assistance of
	the operator (e.g. to mount a structure or mag tape) when it is run.
	Default - YES


/BATCH-LOG:APPEND
	  :SUPERSEDE
	  :SPOOL
	Tells the system either to append the log file of the batch job to
	any existing log file of the same name, or to write a new generation
	of the log file, or to send the log file to the spool area only.
	Default - APPEND


/BEGIN:n
	Begins processing the control file at page n of the file rather
	than at the beginning of the file, which is the default.


/CARDS:n
	Not applicable - No card punch at MRC


/CONNECTED-DIRECTORY:dev:<directory>
	Specifies the connected directory for the batch job.
	For privileged users only.


/DELETE
	Tells the system to delete the control file after the batch
	job has run.


/DEPENDENCY-COUNT:n
	Sets the job's dependency-count to n.  Because a BATCH job will
	not be processed until its dependency count is 0, you can delay
	the job by assigning it a positive dependency count,  and then
	when  you want it to run, use the MODIFY command to change the
	number to 0.


/DESTINATION-NODE:node name::
	Specifies the DECnet remote job entry	station on whose line
	printer the log file of your batch job is to be printed.
	The node name	must be of 6 or fewer charcters & must be
	followed by 2 colons (::).


/FEET:n
	Not applicable - no paper tape punch at MRC


/JOBNAME:name
	Is the name (of six or fewer alphanumeric characters) you want
	to assign to the BATCh job.  If you do not give this switch the
	system uses the first six characters of the first file name  in
	the request.


/LOGDISPOSITION:KEEP
	       :DELETE
	Tell the system whether to delete the log file after it has been 
	printed.
	Default - KEEP


/LOGNAME:filespecs
	Specifies a file to receive the log  file generated  from  the
	BATCH  job.  If you do not specify the log-filespec, the system
	uses your connected directory, the control file name,  and  the
	file type .LOG.


/NOTIFY:YES
       :NO
	Tells the system whether to send a message to your terminal when
	the batch job has been completed.
	Default argument - NO
	Default argument (if switch is given) - YES


/OUTPUT:ALWAYS
       :ERRORS
       :NOLOG
	Specifies the condition under which a log file is printed.  The
	system  always prints a log file if the condition is ALWAYS, or
	if you do not specify the /OUTPUT switch. If you do not want a
	log  file printed,  use a condition of NOLOG.  If you want the
	log file printed only if there are errors,  use  the  condition
	ERRORS.


/PAGES:n
	Permits the job to print up to n pages on the line printer.
	Default n - 200


/PRESERVE
	Tells the system not to delete the control file after teh batch
	has run.
	Default


/PRIORITY:n
	Assigns a priority to the job, reflecting the  urgency  of  the
	request. This  number  can  be  0 to 63, with a higher number
	being processed before a lower number.
	Default - 10.


/READER
	Tells the system that your control file is composed of
	card images, including control cards, on disk.


/RESTARTABLE:YES 
	    :NO
	Determines whether the job should be  started  again  after  a
	system failure.


/SEQUENCE:n
	Specifies a sequence number for the job.  If you do not specify
	this switch, the system assigns a number.


/TAG:label
	Starts processing the job at  the	first  line  containing  the
	specified label  (an alphanumeric name consisting of up to six
	characters).


/TIME:hh:mm:ss
	Specifies the maximum amount of central processor time the  job
	may   use.    The argument   is  in   the   form   hh:mm:ss,
	(hours:minutes:seconds).
	Default time limit - 5 minutes if switch not given
			   - 60 minutes if switch is given without colon
			     or argument.


/TPLOT:n
	Permits the job to use up to  a  given  number  of  minutes  of
	plotter time.
	Default n - 200


/UNIQUE:NO ( or 0)
       :YES (or 1)
	States, if you have SUBMITted two or more BATCH  jobs,  whether
	they are allowed to run concurrently (designated by using 0 or NO) or
	not (designated by using 1 or YES).
	Default - YES


/USER:user name
	specifies the user who is to be the owner of the batch request.
	For privileged users only.



Operation


     1.  Type SUBMIT and leave a space.

              @SUBMIT


     2.  Type the arguument to the  SUBMIT  command,  then  press  the
	 RETURN key.

              @SUBMIT TEST.CTL
	      [INP:TEST=/SEQ:1026/TIME:00:05:00]
	      @



Output

	As soon as you complete a valid SUBMIT command, the system reponds by
	printing, on your terminal, the jobname, request ID, & time limit for
	the job.  Each control file you submit is a seperate batch request, &
	is described on a seperate line.


	The  INFORMATION  (ABOUT)  BATCH-REQUESTS  command   prints   the
	contents of the queue in the form:

          JOB      SEQ        USER

          FORD    9142    SARTINI /AFTER:29-AUG-77

	JOB is the jobname, SEQ is the sequence number, and USER  is  the
	name of the user who created the job.  The jobname is the one you
	must specify in a subsequent MODIFY or CANCEL command  pertaining
	to the specific SUBMIT request.  The sequence number will also be
	necessary in  a  subsequent  MODIFY  or  CANCEL  command  if  two
	requests  have the same jobname and you want to refer to only one
	of them.


Characteristics


	Ordinary Operation - No Switches
	  For most purposes you can use the SUBMIT command with just a 
	  filespec,or s series of filespecs, for arguments.


	Disposition of Log Files
	  The 3 SUBMIT command switches /BATCH-LOG, /LOGDISPOSITION, &
	  /OUTPUT, control what happens to the log filr of your batch
	  job.



	Where Written
	  The log file is always written as the job runs, either to the
	  batch job's connected directory, or to a directory specified as
	  argument to the /LOGNAME switch, or th the system's output
	  spooling area (it is written to the spooling area only if you
	  give the /BATCH-LOG:SPOOL switch).  If the /DESTINATION-NODE 
	  switch is also given, the log file will be written into a 
	  directory or spooling area at the specified node.  Remember 
	  that a batch job's connected directory is ordinarily defined
	  to be your connected directory at the time of the SUBMIT 
	  command; privileged users may specify a batch job's connected
	  directory by using the /CONNECTED-DIRECTORY switch.


	How Written, When Printed
	  The /BATCH-LOG switches APPEND & SUPERSEDE arguments desrcibe
	  the manner in which the log file is to be written: either it is
	  appended to any existing file of the same name (usually produced
	  by a previous running of the batch job) or it is written as a 
	  new generation of the file.  The /LOGDISPOSITION switch tells
	  the system whether to keep this file, wherever it is written,
	  once the batch job is finished.  The /OUTPUT switch specifies
	  when you want a listing of the log ifle to be printed: either
	  always, or never, or only if errors occur when the batch is run.
	  By using combinations of these switches you can cause any
	  desirable action.  Giving /OUTPUT:ALWAYS along with 
	  /LOGDISPOSITION:DELETE allows a record of your batch job
	  with only a temporary use of your disk area, & permits you to
	  monitor the progress of the job while it is running (give TYPE
	  commands to view the file at you terminal).  Giving just the
	  /BATCH-LOG:SPOOL switch allows a record without any use of your
	  disk area, although then you must wait for the printed output
	  to see this record.


Hints

	To submit a simple Batch job, no switches are necessary.

	The Batch input queue is a list of jobs waiting to be run by  the
	BATCH system.

	To examine the contents of the entire queue, give the INFORMATION
	(ABOUT) BATCH-REQUESTS command;  if you want just the information
	about your job(s), include the /USER switch.

	If you  want  your  SUBMIT  command  to  always  contain  certain
	switches, include a SET DEFAULT SUBMIT command with the switches
	in your COMAND.CMD file.

	You can include the MAIL program commands in your  BATCH  control
	file  and have the MAIL message inform you when your BATCH job is
	finished. Refer to the MAIL program for a complete description.

	If you want to change the value of a switch in, or add  a  switch
	to in a previous SUBMIT command, give the MODIFY command.

	If you want to remove entries you have previously placed  in  the
	Batch input queue, give the CANCEL command.


	Using SET DEFAULT SUBMIT
	  If there are switches that you always or usually supply when
	  using SUBMIT, give the SET DEFAULT SUBMIT command to establish
	  them as defaults for the reaminder of your terminal session.
	  The switches will then behave as if you had typed them directly
	  after the word SUBMIT.  You can supersede any of these default
	  switches by actually supplying the switch, with another value,
	  when you give the SUBMIT command.


	For Future Terminal Sessions
	  Put SET DEFAULT SUBMIT commands into a file of specification
	  COMAND.CMD or LOGIN.CMD in your log-in directory if you want
	  these defaults switches to be in effect for batch jobs you
	  submit during future terminal sessions as well.  If both files
	  exist, the system reads LOGIN.CMD first.


For Nested Batch Jobs Only
	  Put SET DEFAULT SUBMIT commands into a file of specification
	  BATCH.CMD in your log-in directory if you want them to be in
	  effect at the log-in time of a "nested" batch job only, i.e. 
	  a batch job started by a SUBMIT command within the control file
	  of another of your batch jobs.  Note, however, that the system
	  also reads COMAND.CMD at the log-in time of a batch job if the
	  file exists in your log-in directory.  It reads this file after
	  BATCH.CMD.


Restrictions

     For Specifying Control Files and Log files
	You cannot use the ACCESS commands to obtain the right to submit
	control files from another directory, because your batch jobs
	are logged in with rights only to your connected directory and
	to directories to which you have access as a group member. The
	control file, if not in your connected directory, must be in one
	to which you have read access as a group member; the log file 
	specification , if you give one, must be for your connected
	directory or for one to which you have write access as a group 
	member.


Effect on Memory and Terminal

	The SUBMIT command  does  not  affect  memory.   It  leaves  your
	terminal at TOPS-20 command level.



Related Commands

	CANCEL			for withdrawing SUBMIT requests

	INFO BATCH-REQUESTS	for examining the batch input queue

	MODIFY			for changing SUBMIT requests before processing
				has begun

	SET DEFAULT SUBMIT	for establishing default switches for subsequent
				SUBMIT commands

		
Examples

     The user submits a Batch job.

          @SUBMIT FORD.CTL
	  [INP:FORD=/SEQ:58/TIME:0:05:00]

     The user submits a Batch job and assigns it  an  alternate  name.
     The  job  cannot  be  started  until  two hours from the time the
     command is given.	The log file will not be printed.

     @SUBMIT FORD.CTL/JOBNAME:TEST/AFTER:+2:00:00/OUTPUT:NOLOG
     [INP:TEST=/SEQ:60/TIME:0:05:00]

     The user cancels a job waiting in the Batch input queue.

          @CANCEL BATCH TEST
	  [1 JOB KILLED]

     The user lists the jobs running under the Batch system.

          @INFORMATION (ABOUT) BATCH-REQUESTS
	   JOB	    SEQ     USER
	   ---	    ---     ----
	  FORD	     63   SARTINI	   NOW RUNNING
	  SYSERR     8	  SNYDER   /AFTER:26-SEP-77 23:59:59
	  @

     The user then cancels the running job.

          @CANCEL BATCH FORD
	  [NO JOBS KILLED, 1 JOB CANCELLED]

			TERMINAL Command


Function

     The TERMINAL command changes various terminal parameters such as:

	1.  Input/output speed,
	2.  Handling of lowercase characters,
	3.  Length and width of the terminal page, and
	4.  Handling of the RUBOUT key.


Format

     @TERMINAL (MODE IS) argument

     argument	    is any one	of  the  arguments listed below:


 33		   35		      37		 EXECUPORT
 FLAG		   FORMFEED	      FULLDUPLEX	 HALFDUPLEX
 HELP		   IMMEDIATE	      INDICATE		 LA120
 LA30		   LA36		      LA38		 LENGTH
 LINE-HALFDUPLEX   LOWERCASE	      NO		 PAGE
 PAUSE		   RAISE	      SPEED		 SYSTEM-DEFAULT
 TABS		   TERMINET	      TI		 TYPE
 VK100		   VT05		      VT100		 VT125
 VT50		   VT52		      WIDTH



For detailed information of one of the above argument,
see under:

	Terminal-Argument 

	where argument is any one of the switch
	from the argumentt list given above.


Hints

     The TERMINAL command helps  make  typing  on  the	terminal  more
     convenient.   When  you want to temporarily stop output from your
     terminal, set the PAGE parameter;	you can then stop printing  by
     typing a CTRL/S and resume printing by typing a CTRL/Q.

     If you use a video  terminal,  you  can  have  the  system  erase
     deleted  characters  from	the  screen,  rather than printing the
     character followed  by  a	backslash.   Do  this  by  giving  the
     TERMINAL  command with your terminal type as an argument.	If you
     use this type of  terminal  often,  place	the  command  in  your
     LOGIN.CMD file. 

     You can print the current values of your terminal	parameters  by
     giving the INFORMATION (ABOUT) TERMINAL-MODE command.



Special Cases

     Occasionally, your terminal may not work.	If typing CTRL/Cs does
     not  work,  try  the  following  procedures before contacting the
     operator:

     1.  Type a CTRL/T.  This will not hurt any work you have done and
	 causes  the  system  to  print a line of information.	If the
	 line prints, your terminal is working correctly;  if the line
	 does not print, continue.

     2.  Type a CTRL/Q, then  a  CTRL/T.   If  the  line  prints,  the
	 terminal  has	page  mode  set;   if the line does not print,
	 contact the operator.




Operation

     1.  Type TERM and press the RETURN key;  the system  prints  INAL
	 (MODE IS).

	 @TERMINAL (MODE IS)

     2.  Type (or use recognition on) the parameter you want  to  set.
	 If  you  do  not have to give a parameter argument, press the
	 RETURN key.  If you have to  give  one  or  more  parameters,
	 press the ESC key, type (or use recognition on the argument),
	 then press the RETURN key.

	 @TERMINAL (MODE IS) LOWERCASE (EXISTS ON TERMINAL)
	 @TERMINAL (MODE IS) LENGTH (OF PAGE IS) 30
	 @



	You can use TERMINAL commands after an initial <CR> but before logging
	in, to adjust your terminal's characteristics.

	Using Split Speeds

		If you have a terminal that allows split speeds, you can set
		the input & output speeds to different values.  This will allow
		you to take advantage of fast system response, for example, 
		without providing a needlessly fast input line.  A setting of
		150 2400 eill accomplish this.  Note that using split
		speeds on VT100, VT125 or VK100 terminals may cause the 
		"smooth scrolling" feature to malfunction.  Refer to the
		appropriate terminal manual,e.g. VT100 User's Guide.

Effect on Memory and Terminal

     The TERMINAL command does not change any program  in  memory  and
     leaves your terminal at TOPS-20 command level.

Examples

     The user sets the width of his terminal line to 65.

	@TERMINAL (MODE IS) WIDTH (OF LINE IS) 65
	@

     The user sets terminal page mode with a page length of 20.

	@TERMINAL (MODE IS) PAGE (MODE) 20
	@

     The user tells the system	to  change  all  lowercase  output  to
     uppercase.

	@TERMINAL (MODE IS) NO LOWERCASE (EXISTS ON TERMINAL)
	@

     The user tells the system to change any lowercase	characters  he
     types to the corresponding uppercase character.

	@TERMINAL (MODE IS) RAISE (TERMINAL INPUT)
	@


				RENAME Command


Function

     The  RENAME  command  changes  the  file  specification,  account
     descriptor, and protection number of a file.


Format

     @RENAME (EXISTING FILE) filespec (TO BE) filespec;Pprot;Aaccount

     filespec		      is the source file specification of  the
			      file  you  are  renaming.  If you do not
			      specify  a  generation  number  for  the
			      source  file  specification,  the system
			      uses an *, which causes all  generations
			      of the source file to be renamed.

     filespec;Pprot;Aaccount  is   the	 new	file	specification,
			      protection     number,	and    account
			      descriptor  of  the  source  file.   The
			      system  sets  up defaults which are used
			      if you do not  specify  a  complete  new
			      file specification.  The device defaults
			      to  your	 connected   structure;    the
			      directory  defaults  to  your  connected
			      directory;  the file name and file  type
			      default  to  those  of  the source file;
			      and the generation defaults to -1, which
			      searches	the  directory in the new file
			      specification and assigns  a  generation
			      number   one  higher  than  the  highest
			      existing generation number  for  a  file
			      with the same file name and type.


Hints

     The most efficient method of moving files from one  directory  to
     another  on the same structure is to rename them rather than copy
     them.  That way, the system just changes the file	specifications
     as  opposed  to  the  larger  task of actually creating new files
     containing the information from the source files.	You also  have
     to  give one less command, since after the COPY command you would
     normally give a DELETE command that  is  not  necessary  after  a
     RENAME  command.	Note,  however,  that  you cannot RENAME files
     across structures.  Use the COPY command to  move	files  on  one
     structure to a different structure.

     If the new file specification refers to  an  existing  file,  the
     contents  of  the	renamed  file  supersede  the  contents of the
     existing file.  You cannot recover the contents of  the  existing
     file.

     To change just the account descriptor or protection number  of  a
     file, use the SET FILE command.


Operation

     1.  Type RENA and press  the  ESC	key;   the  system  prints  ME
	 (EXISTING FILE).

	 @RENAME (EXISTING FILE)

     2.  Type (or use recognition on) the file you want to rename  and
	 press	the  ESC  key  (if  you did not use recognition).  The
	 system prints (TO).

	 @RENAME (EXISTING FILE) TEST2.DAT.* (TO)

	 If you type  an  incorrect  file  name,  type	or  generation
	 number,  the  system  prints  one  of the following messages.
	 Find the correct source file and reissue the command.

	 ?No such filename
	 ?No such file type
	 ?File not found

     3.  Type (or use recognition on) the new file  specification  and
	 (if  you  want  to change them) the new protection number and
	 account descriptor, then press the RETURN key.

	 @RENAME (EXISTING FILE) TEST2.DAT.* (TO) TEST1.DAT.1
	  TEST2.DAT.1 => TEST1.DAT.2 [OK]
	 @

	 If you want the same file name and type as the  source  file,
	 and  a  new generation number, press the ESC key (if you want
	 the defaults printed on your terminal), then press the RETURN
	 key.	These  defaults  are useful when you are copying files
	 from another directory.

	 If you want a new file name, but want the default file  type,
	 press	the  ESC  key at the end of the file name.  The system
	 prints the rest of the file specification and creates	a  new
	 generation  of the file.  Press the RETURN key to confirm the
	 command.

	 If you want to create a new generation of the file, press the
	 ESC  key  after typing the file type, or simply omit the file
	 type and press the RETURN key.   The  system  creates	a  new
	 generation  number  according	to  the files in the directory
	 which will contain the new file.


Output

	 If  the  source  file	 specification	 or   the   new   file
	 specification	has  a	wildcard  character, the system prints
	 each  source  file  specification,  an  arrow	=>,  and   the
	 corresponding new file specification.	When the renaming of a
	 file is complete, the system  prints  [OK].   If  the	rename
	 fails, the system prints a reason;  often it is:  Source file
	 is not closed.

	 If there are  no  wildcard  characters  in  the  source  file
	 specifications  and  you  use	recognition  on  the  new file
	 specification,  the  system  prints  one  of  the   following
	 messages describing the new file specification.

	 !Old generation!     if you are superseding an existing file.

	 !New generation!     if you are creating a new generation  of
			      an existing file.

	 !New file!	      if you are creating a new file.


Errors

     1.  If the source file you specify is open or mapped into memory,
	 the system prints the message:

	 ?Source file is not closed

	 Give the RESET command before renaming  the  file.   If  this
	 does not help try the POP command and RESET again.


Effect on Memory and Terminal

     The RENAME command does not change  any  program  in  memory  and
     leaves your terminal at TOPS-20 command level.


Restrictions

     Renaming Open or Mapped File
	You cannot rename a file that is open or mapped into memory, First
	give the RESET command, or POP followed by RESET, if this is the case.

     Renaming Between Structure
	You cannot rename a file from one structure to another, but must use
	the COPY command to reproduce its contents on the new structure,
	then the DELETE command to remove it from the old structure.

     Renaming Archived Files

	You can rename an archived file by specifying it as the first
	(or old) argument of a RENAME command.  It will then have the
	second (or new) argument as its specification and will remain
	an archived file.  However, you cannot give the specification
	of an archived file as the second argument of a RENAME command
	as this would replace the file's contents.  If you attempt to
	do so, the file you specify as the first argument will be
	renamed to a generation higher by 1 than the highest existing
	generation of the archived file, leaving the archived file
	intact.


		
Warning

     Replacing Previous Contents of Files
	If you rename a file into a specification (including generation
	number) that already exists, the previous contents of the new
	file are replaced and cannot be recovered. However if you accidently 
	overwrite one of your files then ask the operator  to recover the 
	overwritten file from system dump.


Examples

     The user renames the file DUMPER.TXT to be DUMPER.OLD.

	@RENAME (EXISTING FILE) DUMPER.TXT.* (TO BE) DUMPER.OLD.-1
	 DUMPER.TXT.55 => DUMPER.OLD.1 [OK]
	@

     The user renames all files with the file type .TXT  to  have  the
     file type .FIL.

	@RENAME (EXISTING FILE) *.TXT.* (TO BE) *.FIL
	 10.TXT.7 => 10.FIL.1 [OK]
	 7.TXT.23 => 7.FIL.1 [OK]
	 7A.TXT.61 => 7A.FIL.1 [OK]
	 MAIL.TXT.1 => MAIL.FIL.1 [OK]
	 NEWBAT.TXT.1 => NEWBAT.FIL.1 [OK]
	 SAVE.TXT.3 => SAVE.FIL.1 [OK]
	 SET.TXT.1 => SET.FIL.1 [OK]
	 SUBMIT.TXT.3 => SUBMIT.FIL.1 [OK]
	 TERMIN.TXT.2 => TERMIN.FIL.1 [OK]
	 VTED.TXT.16 => VTED.FIL.1 [OK]
	 WORDS.TXT.1 => WORDS.FIL.1 [OK]
	@


     The user obtains a file from the directory MILLER.

	@RENAME (EXISTING FILE) <MILLER>GTJFN.MAC.* (TO BE)
	 <MILLER>GTJFN.MAC.221 => GTJFN.MAC.1 [OK]
	@

     The user changes the name of a set of files.

	@RENAME (EXISTING FILE) TEST.LEM.* (TO BE) TEST2.LEM.*
	 TEST.LEM.1 => TEST2.LEM1 [OK]
	 TEST.LEM.2 => TEST2.LEM.2 [OK]
	 TEST.LEM.3 => TEST2.LEM.3 [OK]
	@
DDT Command


Function

     The DDT command loads or merges a debugging program into memory
     (unless one is already there), then starts it.

Format

     @DDT/switch

     where

     switch is /USE-SECTION:n
		specifies the memory section (from 0 to 37 octal) into which
		the debugging program is to be loaded, run or merged.


Characteristics

     IF a Debugging programis already loaded
	If you have already loaded a debugging program into memory along
	with your program, the DDT command starts the debugging program

     IF your program, but not a debugging program is already loaded
	If a program containing symbols is in memory without a debugging
	program, the DDt command merges SYS:UDDT.EXE into memory, then starts
	this debugging program.

     IF there is no current program
	If you do not have a program in memory, or if your program does not
	contain symbols, the DDT command puts SYS:SDDT.EXE into memory and
	starts it.


Hints

     The DDT command is useful when you want  to  halt  a  program  by
     typing two CTRL/Cs, then continue running the debugger.

     To find out  if  you  have  a  debugger  loaded,  examine  memory
     location  74;   type  74/.  This command examines the contents of
     memory location 74.  If the system prints 0, or  ?NO  SUCH  PAGE,
     you  do not have the debugger loaded yet.	The DDT command causes
     DDT to be loaded.




Operation

     1.  Type DDT and press the RETURN key;   the  system  starts  the
	 debugger, or loads and starts DDT.

         @DDT

         ENTERING FORDDT

         >>



Effect on Memory and Terminal

     The DDT command merges DDT into memory (if required)  and  leaves
     your terminal at command level in the debugging program.


Related command
	
 DEBUG		for loading your program along with a particular debugging
		program (e.g., FORDDT)

Examples

     The user wants to debug his program;  he has no debugger  loaded,
     so the system loads and starts DDT.

        @DDT                  !The user types the DDT command.
	DDT		      !The system loads and starts
			      !DDT.

     The user starts debugging his FORTRAN program.

        @DDT                  !The user types the DDT command.

        ENTERING FORDDT       !FORDDT is loaded, so the
			      !system starts it.
	>>		      !Once the system prints >>,
			      !the user can give any FORDDT
			      !command.



				DEBUG Command


Function

     The DEBUG command loads your program and  a  debugger  into  memory,
     Compiling the source file first if necessary, Then starts the debugger.

Format

     @DEBUG (FROM)/switch  source /switch  object,......

     switches	are keywords chosen from the list below, indicating your
		choice of DEBUG 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 precing file.


     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
		arguement is not necessary if you supply an object filespec.

     a space    separates the source file specifications from  the
		object  file specification.  If you do not give an
		object file specification, you must  not  leave  a
		space.

     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

     ,.....	means that, after commas, you  can give more arguments
		(source, switches, and object) of the form already shown.


			DEBUG Command Switches

/ALGOL
	COmpiles the file using ALGOL, then loads and  starts  the
	DDT  debugging  program.   This is the default for sources
	with the extension .ALG.

/BINARY
	Generates a binary (object) file for each source  program.
	Normally,  the  system  generates  object  files,  so this
	switch is useful in reversing a global /NOBINARY switch.

/COBOL
/COBOL-68
	Compiles the program using COBOL, then  loads  and  starts
	the  COBDDT  debugging  program.   This is the default for
	sources with the extension .CBL.
	N.B No Cobol compiler at CRC at present

/COMPILE
	Compiles  the  source  program  regardless  of whether the
	object file is up-to-date or not. Use this switch with	
	/LIST or /CREF switch to obtain listings when you have
	current object files.

/CREF
	Creates a file containing cross-reference information  for
	each source file you compile.  The name of the file is the
	name of the last source file and the file  type  is  .CRF.
	Give	the CREF command to run the CREF program which reads
	this file and prints a listing.  If the object file is not
	out  of  date,  include  the /COMPILE switch in your DEBUG
	command.  When a source file contains a COBOL program, the
	system  produces  a  listing	file  (the file type is .LST
	instead   of	 .CRF)	 containing   the    cross-reference
	information;	 give the PRINT command (instead of CREF) to
	print the .LST file.

/DDT
	Loads the DDT debugger along with the program.

/DEBUG
	Provides additional debugging information  in  the  object
	program (FORTRAN only and only if not using /OPTIMISE)

/FORTRAN
	Compiles the file using FORTRAN, then loads and starts the
	FORDDT debugging program.  This is the default for sources
	with the extension .FOR.

/LAGUAGE-SWITCHES:"/switch(es)"
	passes the specified switches to the compiler that will process
	the file(s) to which this switch applies. You must include
	the switches in double quotation marks ("  ").

/LIBRARY
	Loads only the routines from	the  object  file  that  are
	called  by  the  main  program or another subroutine.  The
	system libraries are always searched.

/LIST
	Prints a listing of each program you compile.  The listing
	name is  the  name  of  the last source file.  Unless you
	specify this switch, the system does not print  a  listing
	of  your program.  If you also include a /CREF switch, the
	system ignores the /LIST switch.

/MACRO
	Assembles the file using MACRO, then loads and starts  the
	DDT  debugging  program.   This is the default for sources
	with the extension .MAC.

/MAP
	Produces loader maps during the loading process and stores
	them in the file object.MAP, where object is the name of the
	module containing the start address; or (if no start address)
	the system uses nnnLNK.MAP, where  nnn  is	your
	job  number.

/NOBINARY
	inhibits the generation of a binary (object) file. This
	switch  is  useful along with the /CREF or /LIST switch to
	produce listings without additionally producing an  object
	file.

/NOCOMPILE
	Compiles a file only if  it  is  out-of-date.   Since  the
	system  normally does this, the /NOCOMPILE switch is usful
	for turning off a global /COMPILE or /RELOCATABLE switch.

/NODEBUG
	Omits  loading  debugging  information  with	the  program
	(FORTRAN only).

/NOLIST
	Inhibits the generation of a listing file.  Normally,  the
	system does not generate a listing file.

/NOOPTIMIZE
	Inhibits the generation of optimized object files (FORTRAN
	programs only).

/NOSEARCH
	Loads all routines in a file, regardless  of	whether  the
	routines  are  called  by  another  module.	Normally the
	system loads all routines in	an  object  file,  therefore
	this	switch	is  useful  in	reversing  a  global /SEARCH
	switch.

/NOSYMBOLS
	Inhibits loading symbols with the program.  Normally,  the
	system loads symbols with all programs.

/OPTIMIZE
	Produces optimized object files (FORTRAN programs only).
	Do not use /DEBUG if using this switch.

/RELOCATABLE
	switch causes the system to use an  existing object file,
	regardless of its date. Normally, the system assumes the
	action of the /NOCOMPILE switch.

/SEARCH
	Is identical to the /LIBRARY switch.

/SYMBOLS
	Loads the  program  with  its  appropriate  symbol  table.
	Normally, the system loads all programs with symbols.

/STAY
	returns your terminal to TOPS-20 command level so that you
	can perform other work while the system continues executing
	the DEBUG command. You may immediately receive the TOPS-20
        prompt and can then issue any other commands. Be careful with
        commands that run programs because those commands may clear memory
        and terminate the current process. Also, you could easily send
        incorrect data to programs expecting terminal input. This switch
        saves you from having to : issue a ^T to make sure the debugger
        has begun; give a ^C to halt debugging; and issue a CONTINUE STAY
        command to remain at command level during debugging.


Characteristics

     Debug Command with No Arguments
	If you give only DEBUG-command switches as arguments to  a  DEBUG
	command,  the  system  appends the arguments you gave in the last
	LOAD-class command that contained a file  specification  or  LINK
	switch,  then executes the command.  If there are no arguments to
	recall, the system prints the message ?No saved arguments.

     Using Standard File Types
	If you specify source files with standard types (.FOR,.MAC,.CBL,
	.ALG)  in a DEBUG command, the system automatically calls the 
	appropriate compiler when compilation is necessary. If you
	specify sources files by filename only, the system searches        
	your connected directory in the above order for a file of this
	name and standard type. To debug programs from sources that have
	nonstandard file types, give a switch to indicate the proper 
	compiler (/FORTRAN, /MACRO, /COBOL, /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.

     Compiling New Sources Only
	The system will update the object file if it is  older  than  any
	one  of  the  corresponding  source  files.  Suppose you give the
	command:

	@DEBUG (FROM) NXTLAT.FOR

	If NXTLAT.REL does not exist, or if it is  older  than  the  most
	recent  NXTLAT.FOR  (i.e.,  it  has a write date before the write
	date of NXTLAT.FOR),  then  the  system  compiles NSTLAT.FOR  to
	produce  an  up-to-date  NXTLAT.REL.  After producing NSTLAT.REL,
	the system loads it into memory.  Refer to  Section  8.3.3  which
	describes the manner in which object files are updated.

     Name of Debuggung Program Loaded by DEBUG
	Ordinarily the DEBUG command causes the appropriate debugging
	program to be loaded along with your program (FORDDT with
	FORTRAN programs). Use /DDT switch to specify that DDT be
	used.


Hints

     Comma Between Filespecs
	If you give two or more filespecs separated by commas as arguments
	to DEBUG, the loaded programs exist in memory at the same time
	and will act as a single program. You can use this feature to
	substitute ane module for another under varying conditions
	or for diffrent applications.

     Plus Signs Between Filespecs
	If you give more filespecs separated by plus signs (+) as
	arguments to DEBUG, they are treated as a single file
	by compilers. 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 Argument
	You can store the arguments (source and object filespecs,
	switches) of a DEBUG command in an indirect file, and
	specify them by typing an at sign (@) and its filespec
	as a DEBUG command argument.

     Establishing Default Arguments with the SET Command
	You can issue SET DEFAULT COMPILE-SWITCHES command to set up
	default global argument to the DEBUG command. Insert this
	SET command in your COMAND.CMD file to change your own
	defaults permanently.

     Including all FORTRAN Debugging information
	If you are debugging a FORTRAN program and you wish to examine
	line numbers of DO loops, or use statement tracing or array
	dimension checking, give the /DEBUG and /COMPILE switches
	with the DEBUG command to include the necessary information.


Related Command

COMPILE, LOAD, EXECUTE		Other LOAD-class commands for performing
				related functions.

DDT				For loading and starting the DDT debugging
				program, or for starting the debugging
				program you have already loaded.

Operation

     1.  Type DEBU and press the ESC key;  the system prints G (FROM).

         @DEBUG (FROM)

     2.  Type  (or  use   recognition   on)   the   sets   of   source
	 specifications,  object  specifications  and switches.  Press
	 the RETURN key.  The system loads the	file  and  starts  the
	 debugger.

         @DEBUG (FROM) TEST.FOR
	 FORTRAN:  TEST
	 LINK:	Loading
	 [LNKDEB FORDDT EXECUTION]

         ENTERING FORDDT

         >>


Errors

     1.  If you give a command and one of the source files is missing,
	 the  system  continues  processing the command and prints the
	 message:

         %SOURCE FILE MISSING - name.typ

         where name.typ is the name and type of the source file.



Effect on Memory and Terminal

     The DEBUG command minimally runs the appropriate  translator  and
     the  LINK	program,  thereby  clearing  any previous program from
     memory.  Your terminal is left at command level in your debugging
     program.


Examples

     The user debugs a simple MACRO program.

        @DEBUG (FROM) TRANSL.MAC
	MACRO:	TRANSL
	LINK:	Loading
	[LNKDEB DDT Execution]
	DDT

     The user combines three FORTRAN programs into  one  main  program
     and includes the entire subroutine package TYPE2.

        @DEBUG (FROM) 1+2+3,TYPE2
	FORTRAN: 1
	MAIN.
	FORTRAN: TYPE2
	TYPE2
	LINK:	 Loading

        [LNKDEB FORDDT Execution]

        ENTERING FORDDT

        >>

     The user debugs his COBOL program.

        @DEBUG (FROM) COMPUT.CBL
	COBOL:	MAIN  [COMPUT.CBL]
	LINK:	Loading
	[LNKDEB COBDDT Execution]

        STARTING COBOL DDT

        *



				PUNCH command


The PUNCH command has been removed from the system as it has
become redundent. However if you wish to know the function of
the command, refer to TOPS-20 Command Reference manual.



				MERGE Command

The EOF command has been removed from the system as it has become
redundent, however the function and discription of the command is
as below.


Function

     The MERGE command places an executable program in memory, combining it  
     with whatever program (if any) is already there.


Format

	@MERGE filespec/switch

	where

	filespec	is the file specification of any executable program
				Default file type - .EXE

	/switch		is	/USE-SECTION: n
				specifies the memory section (from 0 to 37
				octal) into which your program is to be merged.
				You can use this switch only if your program
				can be contained in one section.



Hints

     The  INFORMATION  (ABOUT)	MEMORY-USAGE  command  is  useful   in
     checking the operation of the MERGE command.


Special Cases

     Generally, any currently assigned memory is  left	intact	except
     where  pages  of  the  new file overlap the pages of the existing
     memory.  In that case, the pages of  the  new  file  replace  the
     pages of memory.



Operation

     1.  Type MERG and	press  the  ESC  key;	the  system  prints  E
	 (PROGRAM).

	 @MERGE (PROGRAM)

     2.  Type (or use recognition on)  the  file  specification,  then
	 press	the RETURN key.  The system prints an @ when the merge
	 is complete.

	 @MERGE (PROGRAM) TOPTAP.EXE.1
	 @


Errors

     1.  If the program is not in the form of an .EXE file, the system
	 may print the message:

	 ?UNEXPECTED END-OF-FILE TRAP IN EXEC AT n

	 Make sure you	have  specified  the  correct  file  (n  is  a
	 particular location in memory.)

     2.  If the program is not in the form of an .EXE file, the system
	 may merge it.	However, later you may receive the message:

	 ?ENTRY VECTOR IS NOT LESS THAN 777

	 Make sure you have specified the correct file.


Characteristics

     The MERGE command changes the contents of memory and leaves  your
     terminal at TOPS-20 command level.

     The MERGE command does not alter the entry  vector  if  the  file
     being merged is in proper .EXE file format.


Examples

     The user merges the program TESTOP.EXE with the program currently
     in memory.

	@MERGE (PROGRAM) TESTOP.EXE
	@

     The user places the RTRANS program in memory, checks it by giving
     the  INFORMATION command, merges the PA1050 program, then finally
     checks the contents of memory again.

	@GET (PROGRAM) SYS:RTRANS.EXE.20
	@INFORMATION (ABOUT) MEMORY-USAGE

	 4. PAGES, ENTRY VECTOR LOC 140 LEN 254000

	0-3	 <OLD>RTRANS.EXE.20  2-5   R, CW, E

	@MERGE (PROGRAM) SYS:PA1050.EXE.395
	@INFORMATION (ABOUT) MEMORY-USAGE

	 27. PAGES, ENTRY VECTOR LOC 140 LEN 254000

	0-3	 <OLD>RTRANS.EXE.20  2-5   R, CW, E
	700-726  <SUBSYS>PA1050.EXE.395  1-27	R, E

	@







				EOF Command

The EOF command has been removed from the system as it has become
redundent, however the function and discription of the command is
as below.


Function

     The EOF command writes  an  end-of-file  mark  on  the  specified
     magnetic tape.  Use this command for unlabeled tapes only.


Hints

     Remember to assign the tape  drive  to  your  job  and  have  the
     operator load your tape.

     Be sure to have the correct tape parameters set (check them  with
     the  INFORMATION (ABOUT) TAPE-PARAMETERS command);  if necessary,
     give the SET TAPE command.


	EOF seldom needed

     Because tape-writing programs and commands automatically write
     end-of-file marks in the apropriate places, you do not ordinarily
     need the EOF command. But it can be usefull if such program
     is interrupted (by your CNTRL/C or by a system failure
     and restart) and you want to preserve the information
     already written. Also, you can shorten files on an existing
     tape by giving an EOF command at the desired point.


Format

     @EOF (DEVICE) dev:


     dev:           is the magnetic  tape  device  name  in  the  form
		    MTAn:, where n is the drive number.


Operation


     1.  Type EOF and press the ESC key;  the system prints (DEVICE).

         @EOF (DEVICE)


     2.  Type the device name and press the RETURN  key.   The  system
	 prints an @ after it writes the EOF.

         @EOF (DEVICE) MTA3:
	 @



Errors


     1.  If the device is not on line, the system ignores the  command
	 and prints the message:

         ?Device is not on-line

         Use the PLEASE program to contact the operator;  then reissue
	 the command.


     2.  If a tape is not mounted on the drive, the system  may  print
	 the message:

         ?Device or data error

         Use the TMOUNT program to contact the operator;  then reissue
	 the command.


     3.  If you type a CTRL/C to exit from a program that  has  opened
	 the  magnetic	tape drive, and then give the EOF command, the
	 system prints the following message:

              ?Device MTAn: open on JFN m
	      %Close JFN? YES

         If you answer YES (or just press the RETURN key), the  system
	 closes  the  file,  prints  a	confirming message, writes the
	 end-of-file mark, and leaves you at  TOPS-20  command	level.
	 Continuing  the  program  that previously opened the magnetic
	 tape may produce an error because the file has been closed.

              @EOF (DEVICE) MTA2:
	      ?Device MTA1: open on JFN 3
	      %Close JFN? YES
	       3   MTA1:    OK
	      @

         If you answer NO, the  system  prints  the  message  ?Command
	 aborted...and	 does	not   close  the  file	or  write  the
	 end-of-file mark.



Characteristics

     The EOF command does not change any program in memory and  leaves
     your terminal at TOPS-20 command level.


Restrictions

     EOF with open files

	If you have given a CTRL/C to exit from a program that has
	opened a magnetic tape drive and you then give the EOF
	command for that tape drive, the system will first allow
	you to close the associated file. You must do so for the
	EOF command to succeed, but you will probably be unable
	to continue the program from that point, because the file
	will now be closed.

    The EOF command works only for magnetic tapes.


Related command

	BACKSPACE

	REWIND

	SKIP

	UNLOAD

Examples

     The user writes an EOF on the tape mounted on drive 3.

          @EOF (DRIVE) MTA3:
	  @







		SET FILE EPHEMERAL Command


Function


	@SET FILE EPHEMERAL filespecs	

	This command changes a .EXE file attributes to "ephemeral"(!).  Using
	this command with non-executable files should have no effect.  If a
	.EXE file is set ephemeral, then after it has completed running, it no
	longer resides in memory.  INFO MEMORY will reveal that it is no longer
	in memory.


Example


	@SET FILE EPHEMERAL TEST.EXE
	 TEST.EXE.1 [OK]
	@TEST
	CPU time 0.13   Elapsed time 0.31
	@INFORMATION MEMORY
	 No program
	@SET FILE NO EPHEMERAL TEST.EXE
	 TEST.EXE.1 [OK]
	@TEST
	CPU time 0.13   Elapsed time 0.40
	@INFORMATION MEMORY
	
	60. pages, Entry vector loc MAIN. len 254000
	
	0-3	 Private   R, W, E
	4-5	 TEST.EXE.1  5-6   R, CW, E
	512-515	 Private   R, W, E
	516-577	 US:<SUBSYS>FORO10.EXE.6  2-63   R, CW, E
	@		
				ERUN Command


Function

	The ERUN command places in memory and starts an executable program,
     as an ephemeral process.

Format

     @ERUN (PROGRAM) filespec/switch


	where


     filespec	    is the file specification of any executable program
			Default dev:<dir> - SYS:

			Default .typ - .EXE


	/switch		is	/USE-SECTION:n
				specifies the memory section (from 0 to 37
				octal) in which your program is to run.  You
				can use this switch pnly if your program can
				be contained in one section.

Hint

	It is possible to run a program so that it behaves more like a command,
	that is, so that it does not destroy the previous memory image.
	If this is the normal mode of operation of the program, then it is
	probably better to set the file ephemeral, so that it can be run by
	name, e.g.:-
		@SET FILE EPHEMERAL FRED.EXE
		@FRED
		  :


Effect on Memory & Terminal

	The ERUN command places in memory & starts the specified program, &
	leaves your terminal at command level in the program (if any), or at
	TOPS-20 command level. On completion of the program, the memory is left
	as it was before the program was run.


Related Commands

	EXECUTE		for running source or object programs

	GET		for placing an executable program in memory

	R		for running executable programs stored on SYS:

	SAVE		for saving a program in executable (.EXE) format

	START		for starting the program currently in memory


Example

Run one of your executable programs

	@ERUN TESTF1.EXE
	 :
	@I MEM
	 No program
	@