This node describes the EXEC commands, giving the Function,
Hints, Operations, Characteristics, and Examples for each command.

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.

     Use the DDT program to debug ALGOL programs.

     If you have a main program and assorted subroutines that  require
     special   loading,   see LOAD.

Operation

     1.  Enter your ALGOL program into a file.

	 @EMACS
	 C-X C-V SQRT.ALG

	 BEGIN
	 REAL X, Y;
	 WRITE ("[2C] TYPE THE VALUE OF X: [B]");
	    READ (X);
	    Y := SQRT(X);
	 WRITE ("[C] THE SQUAREROOT OF ");
	    PRINT (X,3,3);
	    WRITE (" IS ");
	    PRINT (Y,3,3);
	 END

	 C-X C-S
	 Written: SQRT.ALG.1

	 C-C
	 @

     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 - 2K CORE

	 EXECUTION TIME: 0.08 SECS.

	 ELAPSED TIME:	 4.46 SECS.
	 @

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 in EXEC.

Examples

     The user creates and runs his ALGOL program.
	@EMACS
	C-X C-V T.ALG

	BEGIN
	INTEGER I,J;
	WRITE ("[2C] TYPE THE NUMBER: [B]");
	   READ (I);
	   J := 2 * I;
	   WRITE ("[C] TWICE THAT NUMBER IS: ");
	   PRINT (J);
	END

	C-X C-S
	Written: T.ALG.1

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

	 TWICE THAT NUMBER IS:		690

	END OF EXECUTION - 2K CORE

	EXECUTION TIME: 0.07 SECS.

	ELAPSED TIME:	4.23 SECS.
	@

     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 - 2K CORE

	EXECUTION TIME: 0.12 SECS.

	ELAPSED TIME:	11.00 SECS.
	@

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.

Hints

     The APPEND command is useful for appending a sequence  of  files.
     You  should  give  the files (and only these files) a common file
     type.  Then, give the APPEND command with  the  following  source
     file specification (which uses the wildcard construction):

	  *.typ

     The system appends the files to the destination file.  The source
     files are taken in the alphabetical order of their file names.

     For example, if you have three files:  ANGLE1.RAD, ANGLE2.RAD and
     ANGLE3.RAD (and no other files with the file type .RAD), then the
     command

	  @APPEND (SOURCE FILE) *.RAD.1 (TO) RADII.RAD.1  [NEW FILE]

     places the files ANGLE1.RAD, ANGLE2.RAD and ANGLE3.RAD  (in  that
     order) in the file RADII.RAD.

     When the system appends more than one file in a given command, it
     prints  the  name  of  each file as it starts appending the file,
     then the word [OK] when the transfer of that file is finished.

Special Cases

     If there is a  deleted  (but  not  expunged)  generation  of  the
     destination  file,  you are not permitted to use that destination
     file specification until you expunge your deleted files.

Format

     @APPEND (SOURCE FILE) filespecs (TO) dev:<dir>name.typ.gen

     filespecs	    is a single file specification or a string of file
		    specifications   (separated   by   commas),   that
		    indicate the source file(s).  A file specification
		    has the form:

			 dev:<dir>name.typ.gen

		    If you omit dev:, the system uses DSK:.

		    If you omit <dir>, the system uses your  connected
		    directory.

		    You  may  use  wildcards  in   the	 source   file
		    specification.    The   files  identified  by  the
		    wildcards are appended in  alphabetical  order  of
		    their file names and types.

     dev:	    is the  name  of  the  device  that  contains  the
		    destination file.  The system uses DSK:  if you do
		    not give a device name.

     <dir>	    is the directory  that  contains  the  destination
		    file.  You must have access to this directory.  If
		    you omit the <dir>, the system uses your connected
		    directory.

     name.typ.gen   is the file name, type, and generation  number  of
		    the  destination  file.  The destination file does
		    not have to  exist  before  you  give  the  APPEND
		    command.

		    You may  not  use  the  wildcard  feature  in  the
		    destination file specification.

Operation

     1.  Type APPE and press  the  ESC  key;   the  system  prints  ND
	 (SOURCE FILE).

	 @APPEND (SOURCE FILE)

     2.  Type (or use recognition on) the source file specification(s)
	 and  (if  you do not use recognition) press the ESC key.  The
	 system prints (TO).

	 @APPEND (SOURCE FILE) SHIFT.SIZ.5 (TO)

	 If you type a non-existent file  name,  type,  or  generation
	 number,  the  system  prints  one of the appropriate messages
	 below, to indicate that you should find the correct  argument
	 and reissue the command.

	 ?FILE NOT FOUND
	 ?NO SUCH TYPE
	 ?NO SUCH GENERATION NUMBER

     3.  Type  (or  use   recognition	on)   the   destination   file
	 specification.

	 @APPEND (SOURCE FILE) SHIFT.SIZ.5 (TO) SHIFT.TYP.2

     4.  If you  use  recognition  on  an  existing  destination  file
	 specification,  or leave a space after a new destination file
	 specification, the system prints a  message  telling  you  to
	 which category your destination file belongs.

       [OLD GENERATION]     if the destination file  has  an  existing
			    file name, type and generation number.

       [NEW GENERATION]     if the destination file  has  an  existing
			    file  name  and  type,  but the generation
			    number  is  larger  (or  defaults  to  one
			    larger)   than   the  existing  generation
			    number.

       [NEW FILE]	    if the destination file has  a  file  name
			    and   extension   that  are  not  in  your
			    directory.

       [OK]		    if the destination  device  does  not  use
			    file   names   (line  printers,  papertape
			    punch, card punch, etc.).

	 @APPEND (SOURCE FILE) SHIFT.SIZ.5 (TO) SHIFT.TYP.2

     5.  Press the RETURN key.  The system appends the source  file(s)
	 to  the  destination file.  If you append more than one file,
	 the system prints each file specification as it  appends  the
	 corresponding file.  When the command is finished, the system
	 prints an @.

	 @APPEND (SOURCE FILE) SHIFT.SIZ.5 (TO) SHIFT.TYP.2
	 @

Characteristics

     The APPEND command does not change the contents of memory.

     The APPEND command leaves your terminal in EXEC
     when  TTY:   is  not  the source device.  If the source device is
     your terminal, it is left in user mode and 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 in EXEC.

Restrictions

     Files which contain a program that has been SAVED (i.e., files in
     .EXE  file  format)  can not be appended since their structure is
     destroyed in the transfer.  The transfer does not succeed even if
     both source and destination files are on disk.

Examples

     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 [NEW FILE]
	 R2.DAT.1 [OK]
	 TSTAT.DAT.2 [OK]
	 ROOT.DAT.1 [OK]
	 WALDS.DAT.3 [OK]
	@

     The user appends the file RASTER.SCA.1 to a new generation of the
     file SCREEN.LAY.5:
	@APPEND (SOURCE FILE) RASTER.SCA.1 (TO) SCREEN.LAY.5
	@

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 assignable
     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.

     Remember to mount a magnetic tape before using  a  magnetic  tape
     drive.

     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  colon
	    following  the  device  name  is  optional.   The standard
	    input/output devices and their device names are listed  in
	    the table below.

	    Device			    Device Name

	    Magnetic tape drive		       MTAn:
	    Your terminal		       TTY:
	    Other terminals		       TTYn:
	    Line printer		       LPT:
	    Card reader			       CDR:
	    Pseudo-terminal		       PTYn:

	    n is a number that specifies the particular  device,  when
	    more  than  one  of  a  generic  type  are available.  For
	    example, MTA1:  specifies the magnetic tape drive  labeled
	    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  may
	 not 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 returns
	 you to command level.  Reissue the command with  a  different
	 device name.

     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 the  contents  of  memory  and
     leaves your terminal in EXEC.

Restrictions

     You may not assign the device DSK:.

     Logical names cannot be assigned to devices by using  the  ASSIGN
     command;  refer to the DEFINE command.

     You may not assign a device that is already assigned  to  another
     job, or that you have already assigned to your job.

Examples

     The user assigns magnetic tape drive number three to his job:
	@ASSIGN (DEVICE) MTA3:
	@

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 mount your tape on it.

     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:	    is the magnetic tape device name in the form MTAn:
		    where n is the drive number.

     n		    is the number of files or records over  which  you
		    want to backspace.

     units	    is either FILES or RECORDS.

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:

	 ?DEVICE OR DATA ERROR

     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 MUST BE 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 PLEASE program to contact the operator, then  reissue
	 the command.

Characteristics

     The BACKSPACE command does not change the contents of memory  and
     leaves your terminal in EXEC.

Restrictions

     The BACKSPACE command works only for magnetic tapes.

Examples

     The user backspaces his tape 3 files.
	@BACKSPACE (DEVICE) MTA2: 3 FILES
	@

     The user backspaces MTA0: 5 records.
	@BACKSPACE (DEVICE) 5 RECORDS
	@

Function

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

Format

     @BASIC
     READY, FOR HELP TYPE HELP

     command	    is any valid BASIC command listed in Table n.

			       Table n
			    BASIC Commands

     CATALOG dev:
	  Prints the names and types of your disk files.

     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 command level.  If you are going  to  give  a
	  command  which  destroys  the contents of memory, you should
	  give the SAVE or replace command first to  save  your  file,
	  else it is destroyed and you cannot reclaim it.

     NEW name.typ
	  Places BASIC in input mode and you may begin  typing  a  new
	  file.   To type a file, you must first type the line number,
	  then the contents of the line.

     OLD name.typ
	  Places the specified file in memory and lets you  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 0;  succeeding lines
	  are numbered by adding i successively.  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, FOR HELP TYPE HELP.
	 @BASIC

	 READY, FOR HELP TYPE HELP

     2.  Type any valid BASIC command, chosen from the list in Table n
	 or selected from the list printed by the HELP command.

	 LISTNH 40
	 40 PRINT "THIS IS LINE 5 OF THE REPORT."

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

	 MONITOR
	 @

Characteristics

     The  BASIC  program  translates  your  BASIC  programs,   thereby
     destroying  the  contents  of  memory.   Your terminal is left at
     BASIC command level.

Restrictions

     zmu may not create program files with  EDIT  and  use  them  with
     BASIC.   If  you  prepare  data  files  using  EDIT,  be  sure to
     unsequence your file.

Examples

     @BASIC					!The user starts BASIC

     READY, FOR HELP TYPE HELP.
     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	  16:16		16-JAN-76

     THE VALUE OF THE SUM IS;  8.6

     TIME:  0.09 SECS.

     READY
     LIST					Lists the program

     TEST	  16:17		16-JAN-76

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

     READY
     30 PRINT "THE VALUE OF THE SUM IS";  X+Y	Changes one line
     REPLACE					Replaces the file on
						disk storage
     READY
     RUN					Reruns the program

     TEST	  16:17		16-JAN-76

     THE VALUE OF THE SUM IS 8.6

     TIME:  0.09 SECS.

     READY

     MONITOR					And returns to command
						level

     @BASIC					The user starts BASIC

     READY, FOR HELP TYPE HELP.
     OLD TEST.BAS				Gets his old program

     READY
     RUN					And runs it

     TEST	  16:24		16-JAN-76

     THE VALUE OF THE SUM IS 8.6

     TIME:  0.08 SECS.

     READY
     MONITOR					Then returns to
						command level
     @

Function

     The Batch commands control the operation of a Batch job.

Hints

     To create a Batch job, use EDIT to enter into a file the commands
     you  would type on your terminal.  Referred to as a Batch control
     file, this file may also contain Batch commands (some are  listed
     in Table n) and each line may be preceded by a lable (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 processing the
     job.

     Refer to Chapter 3 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 followed by a double colon.  An example
		    of a label is BEGIN::.

			       Table n
			    Batch Commands

     @BACKTO label
	  Transfers control to the line in the control  file  that  is
	  preceded  by  the  specified  label.	 If the label does not
	  exist, your job is terminated.

     @ERROR character
	  Declares the whenever the system prints the given character,
	  that  an  error  has  occurred.   If  you  do  not specify a
	  character, the system uses ?;  if you specify a character it
	  may  not  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::, which
	  ever comes first.  If neither label is found,  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  system  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 the commands which form your job into a file.

	 @EMACS
	 C-X C-V TESTV.BAT

	 @COMPILE /CREF PRMAIN.MAC
	 @IF (ERROR) GOTO NOLUC
	 @COMPILE /CREF PRSUB.MAC
	 @IF (ERROR) GOTO NOLUC
	 @COMPILE /CREF PROUT.MAC
	 @IF (ERROR) GOTO NOLUC
	 @CREF
	 @LOAD PRMAIN,PRSUB,PROUT
	 @SAVE
	 NOLUC::@DELETE *.TMP

	 C-X C-S
	 Written: TESTV.BAT.1

	 C-C
	 @

     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 resulting from a Batch job.

Characteristics
     Batch commands may be used only in a Batch control file  and  may
     not be given from your terminal.

     Submitting a Batch job requires giving the SUBMIT  command  which
     destroys  the  contents  of  memory  and  leaves your terminal in
     EXEC.

Examples

     The user creates and submits a Batch job.
	@EMACS
	C-X C-V SUBT.BAT

	@EXECUTE LIBRAY.FOR,LIBSUB.FOR,IO.MAC
	*45.
	*46.
	@PRINT LIBRAY.DAT

	C-X C-S
	Written: SUBT.BAT.1

	C-C

	@SUBMIT SUBT.BAT
	[INP:SUBT=/SEQ:3149/TIME:00:05:00]
	@

     The user checks to see if his Batch job is running.
@SUBMIT
INPUT QUEUE:
STS	   USER				 JOB	SEQ PRIO   TIME    AFTER
RUN   MCKIE				SUBT   3149  10  00:05:00

TOTAL:  INP:   1 job;  00:05:00 Sec. Runtime
@

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)

     There are no arguments to the BREAK command.

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.

	 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 the contents of memory.

	 Leaves your terminal in EXEC.

Examples

     The user breaks all the links to his terminal:
	@BREAK (LINKS)

	@

Function

     The CLOSE command closes any open file(s).

Hints

     Each time you open a file, the  system  assigns  this  opening  a
     unique  number called a Job File Number, or 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
     files  which  it  has  opened  by  immediately  giving  the CLOSE
     command, then typing or printing their contents.

Format

     @CLOSE (JFN) n

     n		    is a JFN of an open file.  If you  want  to  close
		    all open files, do not specify an argument n.

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 does not change  the  contents  of  memory  and
     leaves your terminal in EXEC.

Restrictions

     The CLOSE command  cannot  close  files  which  are  mapped  into
     memory.   Give the RESET command and try again, but remember that
     RESET destroys the contents of memory.

Examples

     The user gives the INFORMATION command, then closes all his  open
     files.
	@INFORMATION (ABOUT) FILE-STATUS (OF JFN)

	 CONNECTED TO <MCKIE>.  JFNS:
	 7   024EDI.TEM.1 WRITE, NEW FILE, 0.(36)
	 6   COMPILE.TXT.6 READ, 1555.(36)
	 5   024TMPCOR-DATA-BASE,TMP.100024;T READ, WRITE, NEW FILE, 0.(36)
	 4   <SUBSYS>PPN-TO-DIRECTORY-HASH-TABLE.BIN.26 READ, 0.(0)
	 3   <SUBSYS>PA1050.EXE.362 READ, EXECUTE
	 2   <NEW>EDIT.EXE.15 READ, EXECUTE
	 1   <SYSTEM>EXEC.EXE.287 READ, EXECUTE

	 DEVICES ASSIGNED TO THIS JOB:  TTY16

	@CLOSE (JFN)
	 7   024EDI.TEM.1   [OK]
	 6   COMPILE.TXT.6   [OK]
	 5   024TMPCOR-DATA-BASE.TMP.100024;T  CAN'T CLOSE FILE
	 4   <SUBSYS>PPN-TO-DIRECTORY-HASH-TABLE.BIN.26   CAN'T CLOSE FILE
	 3   <SUBSYS>PA1050.EXE.362   CAN'T CLOSE FILE
	 2   <NEW>EDIT.EXE.15	CAN'T CLOSE FILE
	 1   <SYSTEM>EXEC.EXE.287   CAN'T CLOSE FILE
	@

     The user closes the file COMPILE.TXT.6.
	@CLOSE (JFN) 5
	 5   COMPILE.TXT.6   [OK]
	@

     The user tries to close a file, but finds the file is still
     mapped to a portion of 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 THIS JOB: TTY107

	@DIRECTORY (OF FILES) T.FOR.*

	   <MCKIE>
	 T.FOR.7
	@

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 load it with the
     switch /NOSYMBOLS.

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

Format

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

     STARTING COBOL DDT

     *COBDDT command

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

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

				Table
			   COBDDT Commands

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

     Data-names, Paragraph-names, and Section-names
	  You  may  abbreviate  each  data-name,  paragraph-name,   or
	  section-name	  to	a   unique   number   of   characters.
	  Paragraph-names   may   be   qualified   by	section-names;
	  data-names  may  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 may set twenty break points, but
	  they may not occur in overlay sections.

     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  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  may  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 destroying the contents of memory.  Your terminal
     is left at COBDDT command level.

Restrictions

     You may 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

	@

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.

     Use the COBDDT program to debug COBOL programs.

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

Operation

     1.  Enter your program into a file using EDIT.

	 @EMACS
	 C-X C-V COMPUT.CBL

	 ID DIVISION.
	 DATA DIVISION.
	 WORKING-STORAGE SECTION.
	 77	 F1 COMP-1 VALUE 3.
	 77	 F2 COMP-1 VALUE 4.
	 77	 F3 COMP-1.
	 PROCEDURE DIVISION.
	 DISPLAY "TYPE A NUMBER: " WITH NO ADVANCING.
	 ACCEPT F3.
	 COMPUTE F3 = 2.0 * F3.
	 DISPLAY "TWICE THAT NUMBER IS: " WITH NO ADVANCING.
	 DISPLAY F3.
	 STOP RUN.

	 C-X C-S
	 Written: COMPUT.CBL.1

	 C-C
	 @

     2.  Compile, load, and start your program.

	 @EXECUTE (FROM) COMPUT.CBL
	 COBOL:  MAIN [COMPUT.CBL]
	 [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 destroying the contents of memory.
     Depending on the operation you request, your terminal may or  may
     not be left in EXEC.

Restrictions

     In order to use  the  COBOL  compiler  you  may  not  change  the
     definition  of  the  logical  name  SYS:.	 Should you change the
     definition and try to compile a COBOL program,  the  system  will
     print 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.
	@EMACS			   !Enter the program.
	C-X C-V COMPUT.CBL

	ID DIVISION.
	DATA DIVISION.
	WORKING-STORAGE SECTION.
	77	F1 COMP-1 VALUE 3.
	77	F2 COMP-1 VALUE 4.
	77	F3 COMP-1.
	PROCEDURE DIVISION.
	DISPLAY "TYPE A NUMBER: " WITH NO ADVANCING.
	ACCEPT F3.
	COMPUTE F3 = 2.0 * F3.
	DISPLAY "TWICE THAT NUMBER IS: " WITH NO ADVANCING.
	DISPLAY F3.
	STOP RUN.

	C-X C-S
	Written: COMPUT.CBL.1

	C-C

	@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.
	@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
	@

Function

     The  COMPILE  command  translates  one  or  more  source	files,
     producing an object file.

Hints

     Having compiled a program, you can run it by loading and starting
     the program.

Special Cases

     If you give only LOAD-command switches as arguments to a  COMPILE
     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.

     If you type the name of the source  files  used  to  produce  the
     desired object file(s), the system will update the object file if
     it is older than any one of the corresponding source files.

     Suppose you give the command:

     @COMPILE (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.

Format

     @COMPILE (FROM) sources object,sources object,...

     sources	    is one or more source file specifications preceded
		    and/or  followed  by  switches.  You must separate
		    the source fils 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 listed
		    in Table n.  If there is more than one file with a
		    standard file type, the system uses .FOR.

     a space	    separates the source file specifications from  the
		    object  file specification.  If you do not give an
		    object file specification,  you  do  not  have  to
		    leave a space.

     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.

     @name.typ	    You may store any portion  of  the  command  in  a
		    file.   That  portion of the command is included -
		    just as  if  you  typed  it  on  your  terminal  -
		    whenever you type an @ followed by the name of the
		    file.  You may use recognition in typing the  file
		    specification,  but  the  commands within the file
		    may not use recognition.

			       Table n
			 Standard File Types

		    Type		     Language

		    .ALG		     ALGOL
		    .CBL		     COBOL
		    .FAI		     FAIL
		    .FOR		     FORTRAN (default)
		    .MAC		     MACRO
		    .SAI		     SAIL
		    .SNO		     SNOBOL

			       Table n
		       COMPILE Command Switches

     You may use recognition to help you type a switch  and  any  file
     specification  which  is an argument to a switch.  If you place a
     switch before a set of sources, the switch  applies  to  all  the
     files in that set of sources;  if you place a switch after a file
     specification in a set of sources, the  switch  applies  to  just
     that file.

     Switch		 Function

     /ALGOL
	  (or a file with the  type  .ALG)  Compiles  the  file  using
	  ALGOL.

     /BINARY
	  Generates  a  binary  file  for  each  set  of  source  file
	  specifications.  Normally, the system generates these binary
	  files, so this switch is  useful  in  turning  on  a  global
	  /NOBINARY switch.

     /COBOL
	  (or a file with the  type  .CBL)  Compiles  the  file  using
	  COBOL.

     /COMPILE
	  (or an object file older than any one of  the  corresponding
	  source  files)  Produces  an  object  file from the sources,
	  regardless  of  whether  it  is  up-to-date  or  not.    The
	  /NOCOMPILE  switch  causes  the  system to produce an object
	  file only if it 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
	  Produces a cross-reference listing file for each  file  that
	  is  compiled  or  assembled.  The name of the output file is
	  the name of the last source file and the type is .CRF.   You
	  can then give the CREF command to produce a listing.

     /FAIL
	  (or a file with the type .FAI) Assembles the file with FAIL.

     /FORTRAN
	  (or a file with  the  type  .FOR  or  a  non-standard  type)
	  Compiles the file using FORTRAN.

     /LIST
	  Generates a disk listing file for each file that is compiled
	  or  assembled.   Give  the  PRINT command if you want a line
	  printer copy of the file.  The listing file name is the name
	  of  the  last  source file and the type is .LST.  Unless you
	  specify this switch, the system does not generate a  listing
	  file.   If  you  also  specify  the /CREF switch, the system
	  produces only the cross-reference listing file.

     /MACRO
	  (or a file with the type  .MAC)  Assembles  the  file  using
	  MACRO.

     /NOBINARY
	  Inhibits the generation of an 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.
	  Normally,  the  system  assumes the action of the /NOCOMPILE
	  switch.

     /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).

     /SAIL
	  (or a file with the type  .SAI)  Assembles  the  file  using
	  SAIL.

     /SNOBOL
	  (or a file with the type  .SNO)  Translates  the  file  with
	  SNOBOL.

Operation

     1.  Type COMP and press the  ESC  key;   the  system  prints  ILE
	 (FROM).

	 @COMPILE (FROM)

     2.  Type  (or  use  recognition   on)   the   sets   of   sources
	 specifications  and  object specifications.  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.

Characteristics

     The COMPILE command runs  the  appropriate  language  translator,
     thereby  destroying  the  contents  of  memory,  and  leaves your
     terminal in EXEC.

Examples

     The user compiles a simple MACRO program.
	@COMPILE (FROM) TRANSL.MAC
	MACRO:  TRANSL
	@

     The user combines 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
	@

     The user assmebles a MACRO program, producing  a  cross-reference
     listing.
	@COMPILE (FROM) /CREF INIT.MAC+CONTRL.MAC+SUBS.MAC
	MACRO:  INIT
	MACRO:  CONTRL
	MACRO:  SUBS
	@

     The user  compiles  his  programs,  using  the  arguments  in  an
     indirect file.
	@COMPILE (FROM) @TYP.CMD
	FORTRAN:  1
	MAIN.
	FORTRAN:  TYPE2
	TYPE2
	@

Function

     The CONNECT command connects your job to another directory.

Hints

     Connecting to a directory gives you the same file  access  rights
     as  the directory owner.  Whenever you give a command, the system
     uses connected directory instead of your logged-in directory.

Format

     @CONNECT (TO DIRECTORY) dir (PASSWORD) password

     dir	    is the name of the  directory  to  which  you  are
		    connecting.  Angle brackets are not required;  but
		    you may use recognition.

     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.)

Operation

     1.  Type CONN and press the ESC key.  The system prints  ECT  (TO
	 DIRECTORY).

	 @CONNECT (TO DIRECTORY)

     2.  Type (or use recognition on) the directory name and press the
	 ESC  key  if  you did not use recognition.  The system prints
	 (PASSWORD).

	 @CONNECT (TO DIRECTORY) BERLITZ (PASSWORD)

     3.  Type the password belonging to the directory  and  press  the
	 RETURN  key.	(If  you own the directory, or if you have the
	 proper group privileges, you do not have to give a  password;
	 just  press  the  RETURN  key.) When you are connected to the
	 directory, the system prints an @ on your terminal.

	 @CONNECT (TO DIRECTORY) BERLITZ (PASSWORD)
	 @

Errors

     1.  If you cannot supply the correct password, the system  prints
	 the message:

	 ?INCORRECT PASSWORD

	 and terminates the command.  You should  obtain  the  correct
	 password and reissue the command.

     2.  If you give a non-existent user name, then the system  prints
	 the message:

	 ?NO SUCH DIRECTORY

	 and cancels the command.

Characteristics

     The CONNECT command:

	 Causes  an  allocation  check  for  the  initially  connected
	 directory  and the directory to which you are connecting.  If
	 either directory contains more space  than  is  allowed,  the
	 system prints an error message.

	 Does not change the contents of memory.

	 Leaves your terminal at command level.

Examples

     The user connects to the directory <INSTRUMENTATION>:
	@CONNECT (TO DIRECTORY) INSTRUMENTATION (PASSWORD)
	@

     The user connects to the directory  <SHELDON>.   He  types  CONN,
     types  SHELDON,  leaves  a space, types the password, and presses
     the RETURN key.
	@CONN SHELDON
	@

Function

     The CONTINUE command restores execution of  a  program  that  was
     interrupted  by  a  CTRL/C.   The  program  is not changed by the
     CTRL/C-CONTINUE process as long as you do not alter the  contents
     of memory.

Hints

     When you stop a program by typing one  (or,  if  necessary,  two)
     CTRL/Cs,  the  contents of the program counter, accumulators, and
     memory are saved.  The CONTINUE command uses this information  to
     resume execution of your program.

Format

     @CONTINUE

     There are no arguments to the CONTINUE command.

Operation

     1.  Type CONT and press the ESC key.   The  system  prints  INUE.
	 Press the RETURN key and the program resumes execution.

	 @CONTINUE

Characteristics

     The CONTINUE command continues the program in memory  and  leaves
     your terminal under control of the program.

Restrictions

     If a program is to be continued,  it  must  properly  handle  the
     interception  of  CTRL/C  interrupts.  Some non-standard programs
     may not allow you to CONTINUE an interrupted program.

Examples

     The user runs the SORT program.  Once it is  running,  it  prints
     the  message  [SRTXPN  Expanding  to  55P], so the user gives two
     CTRL/Cs to stop the  program.   He  gets  information  about  the
     contents  of  memory,  then gives the CONTINUE command to let the
     program run to completion.

	@SORT
	*LIST.SRT=LIST.FIL/K:1:6/R:40

	[SRTXPN Expanding to 55P]
	^C
	@INFORMATION (ABOUT) MEMORY-USAGE

	 79. PAGES, ENTRY VECTOR LOC 1762 LEN 254000

	0-2    PRIVATE	 R, W, E
	3-4    SORT.EXE.8  5-6	   R, CW, E
	5      PRIVATE	 R, W, E
	6-12   SORT.EXE.8  10-14   R, CW, E
	13-20  PRIVATE	 R, W, E
	22-41  PRIVATE	 R, W, E
	400-424 SORT.EXE.8  16-42   R, CW, E
	700-726 <SUBSYS>PA1050.EXE.354  2-30   R, E
	734    PRIVATE	 R, W, E
	735    <SUBSYS>PPN-TO-DIRECTORY-HASH-TABLE.BIN.22  0  R, E

	@CONTINUE
	Sorted 211 Records
	1444 KEY comparisons,  6.84 per record
	0 Runs
	 0:00:02 CPU time,     10.5: MS per record
	 0:00:51 Elapsed

	*

Function

     The COPY command copies the contents of one or more source  files
     to one or more destination files.

Hints

     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  the  wildcard  construction  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 then copies the files to your  area
	with  the  same  names, overwriting any files of the same name
	and type.  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  your  own  directory  you
	probably  want  to  make another copy with a different name or
	type.  For the destination file specification, use a  wildcard
	specification.  The following command copies al the files with
	the type .FIL to files with the same name, but with  the  type
	.LIB.

	@COPY (FROM) *.FIL (TO) *.LIB

Format

     @COPY (FROM) source (TO) destination

     source	    is a single file specification or a string of file
		    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:.   If  you
		    omit   <dir>   the	 system  uses  your  connected
		    directory.	  The	wildcard    construction    is
		    permitted.

     destination    is the destination  file  specification.   If  you
		    press  the ESC key at the beginning of this field,
		    the system defaults to copying the input files  to
		    new  files  of  the  same  name  and  type  in the
		    connected directory.  The wildcard construction is
		    permitted.	 The  destination  file  specification
		    takes the form:

		    dev:<dir>name.typ.gen

		    If you omit dev:, the system uses  DSK:.   If  you
		    omit   <dir>,   the  system  uses  your  connected
		    directory.  The output name  (or  a  wildcard)  is
		    required.	If  you omit the type, the system uses
		    the type of the appropriate source file.

Operation

     1.  Type COPY and  press  the  RETURN  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 are copying multiple source files, the system prints each
	 source  file specification, the symbol => and the destination
	 file specification to which it is copied.

	 @COPY (FROM) LISTFL.ALG.1 (TO) NEWPRG.ALG
	 @

Characteristics

     The COPY command does not destroy the previous contents of memory
     and leaves your terminal in EXEC.

Restrictions

     You may use the COPY  command  to  transfer  files  to  the  line
     printer  and  magnetic tape, but refer to the additional features
     the PRINT command and the DUMPER program provide in  addition  to
     copying.

Examples

     The user copies a file from the user <PORADA>.
       @COPY (FROM) <PORADA>LETTER.CBL.1 (TO) LETTER.CBL.1 [NEW FILE]
       @

     The user copies all the files with the file type  .FOR  from  the
     directory <MOSLER> to his own directory.
	@COPY (FROM) <MOSLER>*.FOR (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 (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]
	@

Function

     The CREATE command lets you create a file using the EDIT
     program.  In general you are better off using EMACS to create
     the file, but the documentation on using EDIT is provided anyway.

Special Cases

     The CREATE command always starts EDIT as long as you give a legal
     file specification as an argument.  If you give just a file
     name and type, the system creates a new generation of that
     file.  If you 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 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: ?NO SAVED ARGUMENTS.

Hints

     You shouldn't be using the EDIT program anyway.
     See EMACS, for documentation on EMACS.

     Refer to the description of the EDIT program for a
     list of all the EDIT commands.

     You may give any EDIT command switch as a command to the EDIT
     program.

Format

     @CREATE /switches (FILE) input

     /switches  is any combination of switches listed in Table n.
		You may use recognition on the switch name and
		switch value.

     input	specifies the file you want to change or create.
		If the file
		exists, the system recognizes the highest generation;
		if the file does not exist, the system
		allows you to create the file.

			       Table n
		       CREATE Command Switches

     This table list many of the switches you can give with the CREATE
     command.  Refer to the EDIT User's Guide for a complete list.

     /C128
	Starts EDIT in 128-character mode which allows you to enter
	special control characters.  Refer to the EDIT User's Guide.

	Normally, EDIT starts in 64-character mode.

     /DPY
	Enters display mode where unwanted lines are overprinted by
	output to make the output more concise on a video terminal
	screen.  Otherwise, EDIT starts in Model 33 (normal
	terminal) mode.

     /EXPERT
	Starts expert mode which allows more powerful commands and
	abbreviates error messages.  Otherwise, EDIT starts in
	standard novice mode.

     /INCREMENT:n
	Uses the specified increment when assigning numbers to an
	unsequenced file.  The numbering starts at the value of the
	START parameter (the default value is 100) and assigns line
	numbers by adding the specified increment.  If you do not
	specify an increment, the system uses 100.

     /ISAVE:n
	Starts ISAVE mode that automatically gives a
	B (backup) command every time you insert n lines.  You must
	give a value for n.

     /NOBAK
	Inhibits EDIT from creating backup files with the file type
	.Qyp.  Instead, EDIT creates a new generation of the file.
	If you give the /NOBAK switch,
	you should change your GENERATION-RETENTION-COUNT for this
	file to a number greater than one.

     /OLD
	Makes a backup file with the file type .Zyp if no other one
	with this file name and type exists in your connected
	directory.  Even though you may give another /OLD switch
	with an EDIT or CREATE command, this file is
	never overwritten unless you delete it with a
	DELETE command.

     /READONLY
	Starts EDIT in readonly mode where you are not allowed to
	make any changes to the file.  When you start EDIT, the
	system prints Read: instead of Edit: or Input.  You may give
	any EDIT command that does not change the file.

     /SAVE:n
	Starts SAVE mode which automatically gives a B command every
	time you give n EDIT commands.  You must give a value for n.

     /START:n
	Starts numbering an unsequenced file at the number n.  If
	you do not give a /START switch, EDIT uses a value of 100.
	To produce each succeeding line number, EDIT uses the value
	of the /INCREMENT switch.

     /UNSEQUENCE
	Removes line numbers from the output file.

Operation

     If you do not want to give switches--

     1. Type CREATE and press the ESC key; the system
	prints (FILE).

	@CREATE (FILE)

     2. Type (or use recognition on) the input file specification;
	then press the RETURN key.  The system prints a message and
	leaves you at EDIT input level.

	@CREATE (FILE) TEST.FOR.1
	Input: TEST.FOR.1
	00100

     If you want to give switches --

     1. Type (or use CTRL/F recognition on)
	the letters CREATE.

	@CREATE

     2. type a slash and type (or use CTRL/F recognition on) the
	switch name.  If the switch has a value, type a colon
	followed by the value.  You may use recognize the switch by
	pressing the ESC key, but the system will terminate the
	switch field and proceed to the
	input file field.

	@CREATE /INCREMENT:10

		   CTRL/F

	@EDIT /UNSEQUENCE (FILE)

		   ESC

     3. Type (or use recognition on) as many switches as you need,
	then press the ESC key and type (or use recognition on) the
	input file specification and press the RETURN key.  The
	system prints a message and leaves you at EDIT input level.

				ESC

	@CREATE /INCREMENT:10/EXPERT (FILE) NEWFIL.CPL
	Input: NEWFIL.CPL.1

Characteristics

     The CREATE command starts the EDIT program, thereby destroying
     the previous contents of memory.  Your terminal is left at EDIT
     input level.

Restrictions

     If you are using the automatic feature of the EDIT and CREATE
     commands, do not give a generation number in your initial
     CREATE or EDIT command or else subsequent commands will try to
     use that exact generation rather than the highest existing
     generation for that file.  That is, give the command:

	@CREATE (FILE) T.FIL

     rather than:

	@CREATE (FILE) T.FIL.1

     In the latter case, the output file is T.FIL.1  If you give
     the EDIT command without any arguments, EDIT will start you in
     the file T.FIL.1 with the output file T.FIL.2.  When you give a
     second EDIT command, EDIT will start you in the file T.FIL.1,
     and you will not see the edits you made in the first pass.

Examples

     The user creates a new file.
	@CREATE (FILE) NUMBER.DAT
	Input: NUMBER.DAT.1
	00100

     The user creates a file, setting the SAVE parameter to give a B
     command after every 5 EDIT commands and the ISAVE parameter to
     give a B command every 10 inserts.
	@CREATE /SAVE:5/ISAVE:10 (FILE) CRISCR.ALG.1
	Input: CRISCR.ALG.1
	00100

     The user starts EDIT in DPY mode and unsequences his output
     file.  There is already an existing generation number 5 of this
     file, so EDIT uses generation number 6.
	@CREATE /DPY/UNSEQUENCE (FILE) NXTVER.MAC
	Input: NXTVER.MAC.6
	00100

Function

     The CREF command searches your connected directory for any  files
     with the type .CRF, produces a cross-reference listing from these
     files, sends the output to the  line  printer,  and  deletes  the
     files with the type .CRF.

Hints

     To create a listing of your  program,  first  give  a  LOAD-class
     command  with  the  /CREF  switch, 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 the cross-referenced listing in a  file,  define  the
     logical  name  LPT:  as a file specification.  Then give the CREF
     command;	afterwards  remember  to  remove  the	logical   name
     definition.   Caution:   should  you get an error, the system may
     print an asterisk on your terminal.  Type two CTRL/Cs to get back
     to command level.

Format

     @CREF

     There are no arguments to the CREF command.

Operation

     1.  Type CREF and press the RETURN key.  The  system  prints  the
	 word CREF:  and the name of each file it processes.

	 @CREF
	 CREF:	  GRADES
	 @

Characteristics

     The CREF command runs the CREF program to  produce  the  listing,
     thereby  destroying  the  contents  of  memory,  and  leaves your
     terminal in EXEC.  If there are  no  files  with
     the file type .CRF, the system prints an asterisk and leaves your
     terminal at CREF command level.   Type  a  CTRL/C  to  return  to
     EXEC.

Examples

     The user produces a cross-referenced listing.
	@CREF

	CREF:	 TMAC
	@

     The user wants to examine the cross-referenced listing  file,  so
     he  defines  the logical name LPT:  as a file;  then he gives the
     CREF command.  Afterwards, he  may  examine  the  file.   Do  not
     forget to deassign the logical name after such an operation.
	@DEFINE (LOGICAL NAME) LPT: (AS) GRADES.OUT
	@CREF
	CREF:	 GRADES
	@DEFINE (LOGICAL NAME) LPT:
	@TYPE (FILE) GRADES.OUT
	 LGRADES      MACRO %51 (414) 18:42 16-JAN-76 PAGE 1
	.
	.
	.
	@

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 the contents of memory.

	 Leaves your terminal in EXEC.

Example

     The user finds the day date and time.
	 @DAYTIME
	  FRIDAY, JANUARY 16, 1976 9:11:05
	 @

Function

     The DDT command starts the debugger you have loaded  into  memory
     along with your program.

Special Cases

     If you do not have a debugger in memory,  the  system  loads  and
     starts DDT.

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.  If location 74 is empty, the system will use DDT.

Format

     @DDT

     There are no arguments to the DDT command.

Operation

     1.  Type DDT and press the RETURN key;   the  system  starts  the
	 debugger, or loads and starts DDT.

	 @DDT

	 ENTERING FORDDT

	 >>

Characteristics

     The DDT command merges DDT into memory (if required)  and  leaves
     your terminal at command level in your debugging program.

Examples

     The user starts his debugging program.
	@DDT		      !The user types the DDT command.

	STARTING COBOL DDT    !COBDDT is loaded, so the
			      !system starts it.
	*		      !Once the asterisk is printed,
			      !the user can give any COBDDT
			      !command.

     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.

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  and  leaves  two  blank
     lines, you may give any DDT command.

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 may be a symbol name  such
     as  PNTUSR  (.  is  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

				  ?

	       If the system prints a question mark, it
	       cannot	find   the  symbol  name.   Try
	       opening the symbol table.

     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  originally  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 type $$T ($ 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 the radix you want.

	$$C USRFLG/   600000

	$$10R	USRFLG/   196608.

	$$F  STRSWT/   45.599999

	$$T  PRMPT/    .SPAC

	$$6T  P6BIT/   .HL 4

	$$70  PRMPT/   56,123,120,101,103,0

	$$S  RTRANS+23/   PUSHJ P,MESOUT

		       Modifying Storage Words

     Once you have  examined  a  storage  word,  you  may  change  its
     contents  by  typing  its  new  contents followed by 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 in
	.0078			   E- notation - 7.8E-3

	ASCII text - HI THERE	   a double quote, a delimiter,
				   the text, the same delimiter -
				   "/HI THERE/. 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.   To  do  this,  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, press the ESC key, type the number of the
     breakpoint and type a B.

	    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,	Up: Top

	$1B>>TRANSL+34

     To continue from a breakpoint, press the ESC key and  type  a  P.
     Execution  resumes  until  the  program  finishes,  irrecoverably
     errors, 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,	Up: Top

	$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  fo
     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/C, CTRL/Z

     To halt the debugging session, type a CTRL/C to return to command
     level.  You may continue DDT by giving the CONTINUE command.

     If your terminal has assigned CTRL/C interrupt to or if you  want
     to save your program with breakpoints, type a CTRL/Z.

     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/C or CTRL/Z to return EXEC.

Examples

     The user debugs a MACRO program.
	@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,	Up: Top
	$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,	Up: Top
	$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]
	@

Function

     The DEASSIGN command returns a  device  you  previously  assigned
     back to the pool of available devices.

Hints

     When you are finished using a device,  you  should  DEASSIGN  the
     device so that it may be accessed by other users.

Format

     @DEASSIGN (DEVICE) dev:

     dev:	    is the device name of the device that you want  to
		    deassign.	The  colon  is optional.  The standard
		    I/O devices and their device names are  listed  in
		    the table below.

		    Device		    Device Name

		    Magnetic tape	       MTAn:
		    User's terminal	       TTY:
		    Other terminals	       TTYn:
		    Line printer	       LPT:
		    Card reader		       CDR:
		    Pseudo-terminal	       PTYn:

		    n  is  a  number  that  specifies  the  particular
		    device,  when  more than one of a generic type are
		    available.	 For  example,  MTA1:	specifies  the
		    magnetic tape drive labeled 1.

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

	 then cancels the command.

Characteristics

     The DEASSIGN command does not change the contents of  memory  and
     leaves your terminal in EXEC.

Restrictions

     You must type a device name in the DEASSIGN command;  if  you  do
     not give the device name, no default action is taken.

Examples

     The user deassigns magnetic tape unit number 3:
	@DEASSIGN (DEVICE) MTA3:
	@

Function

     The DEBUG command loads a program and  a  debugger  into  memory,
     then starts the debugger.

Special Cases

     If you give only LOAD-command switches as arguments  to  a  DEBUG
     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.

     If you type the name of the source  files  used  to  produce  the
     desired object file(s), 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.

Format

     @DEBUG (FROM) sources object,sources object,...

     sources	    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 listed
		    in Table n.  If there is more than one file with a
		    standard file type, the system uses .FOR.

     a space	    separates the source file specifications from  the
		    object  file specification.  If you do not give an
		    object file specification,  you  do  not  have  to
		    leave a space.

     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.

     @name.typ	    You may store any portion  of  the  command  in  a
		    file.   That  portion of the command is included -
		    just as  if  you  typed  it  on  your  terminal  -
		    whenever you type an @ followed by the name of the
		    file.  You may use recognition in typing the  file
		    specification,  but  the  commands within the file
		    may not use recognition.

			       Table n
			 Standard File Types

		    Type		     Language

		    .ALG		     ALGOL
		    .CBL		     COBOL
		    .FAI		     FAIL
		    .FOR		     FORTRAN (default)
		    .MAC		     MACRO
		    .SAI		     SAIL
		    .SNO		     SNOBOL

			       Table n
			DEBUG Command Switches

     You may use recognition to help you type a switch  and  any  file
     specification  which  is an argument to a switch.  If you place a
     switch before a set of sources, the switch  applies  to  all  the
     files in that set of sources;  if you place a switch after a file
     specification in a set of sources, the  switch  applies  to  just
     that file.

     Switch				Function

     /ALGOL
	  (or a file with the  type  .ALG)  Compiles  the  file  using
	  ALGOL, then loads the DDT debugging program.

     /BINARY
	  Generates  a  binary  file  for  each  set  of  source  file
	  specifications.  Normally, the system generates these binary
	  files, so this  switch  is  useful  in  reversing  a  global
	  /NOBINARY switch.

     /COBOL
	  (or a file with the  type  .CBL)  Compiles  the  file  using
	  COBOL, then loads the COBDDT debugging program.

     /COMPILE
	  (or an object file older than any one of  the  corresponding

	  source  files)  Produces  an  object  file from the sources,
	  regardless  of  whether  it  is  up-to-date  or  not.    The
	  /NOCOMPILE  switch  causes  the  system to produce an object
	  file only if it 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
	  Produces a cross-reference listing file for each  file  that
	  is  compiled  or  assembled.  The name of the output file is
	  the name of the last source file and the type is .CRF.   You
	  can then give the CREF command to produce a listing.

     /DDT
	  Loads the DDT debugging program.

     /DEBUG
	  Includes  debugging  information  in  the  object   program.
	  (FORTRAN only).

     /FAIL
	  (or a file with the type .FAI) Assembles the file with FAIL,
	  then loads the DDT debugging program.

     /FORTRAN
	  (or a file with  the  type  .FOR  or  a  non-standard  type)
	  Compiles  the  file  using  FORTRAN,  then  loads the FORDDT
	  debugging program.

     /LIBRARY
	  Loads the file only if one or more  of  its  declared  entry
	  symbols  satisfies an undefined global request in the source
	  file.  The system libraries are always searched.

     /LIST
	  Generates a disk listing file for each file that is compiled
	  or  assembled.   Give  the  PRINT command if you want a line
	  printer copy of the file.  The listing file name is the name
	  of  the  last  source file and the type is .LST.  Unless you
	  specify this switch, the system does not generate a  listing
	  file.   If  you  also  specify  the /CREF switch, the system
	  produces only the cross-reference listing file.

     /MACRO
	  (or a file with the type  .MAC)  Assembles  the  file  using
	  MACRO, then loads the DDT debugging program.

     /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.  You may use recognition input  in  typing
	  the file specification.

     /NOBINARY
	  Inhibits the generation of an 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 a debugger with the program.

     /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.

     /NOSEARCH
	  Loads all routines in a  file,  regardless  of  whether  the
	  routines are referenced or not.  This action is the default,
	  therefore it is useful in turning off the /SEARCH switch.

     /NOSYMBOLS
	  Inhibits loading symbols with the  program.	Normally,  the
	  system loads symbols with all programs.

     /OPTIMIZE
	  Produces optimized object files.

     /RELOCATABLE
	  Uses the existing object files,  even  though  they  may  be
	  out-of-date.	 The  /COMPILE  switch  causes  the  system to
	  always produce an object file;  the /NOCOMPILE switch causes
	  the system to produce an object file only if the current one
	  does not exist or  is  out-of-date.	Normally,  the  system
	  assumes the action of the /NOCOMPILE switch.

     /SAIL
	  (or a file with the type  .SAI)  Assembles  the  file  using
	  SAIL, then loads the DDT debugging program.

     /SEARCH
	  Is identical to the /LIBRARY switch.

     /SNOBOL
	  (or a file with the type  .SNO)  Translates  the  file  with
	  SNOBOL.

     /SYMBOLS
	  Loads  the  program  with  its  appropriate  symbol	table.
	  Normally, the system loads all programs with symbols.

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  and  object specifications.  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.

Characteristics

     The DEBUG  command  minimally  runs  the  LINK  program,  thereby
     destroying  the  contents  of memory, and leaves your terminal 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

	*

Function

     The DEFINE command defines or removes logical name assignments.

Hints

     A logical name is an  abbreviation  you  may  assign  to  a  file
     specification.

     To  print  a  list  of  your  current  logical  names  and  their
     definitions, give the command INFORMATION (ABOUT) LOGICAL-NAMES.

Format

     @DEFINE (LOGICAL NAME) logname: (AS) filespecs

     logname:	    is  the  logical  name  comprised  of  up  to   39
		    alphanumeric  characters  (including hyphen).  The
		    colon is optional.

     filespecs	    is a list of  file  specifications  (separated  by
		    commas)  that  define  the  logical  name.  A file
		    specification may contain  any  combination  of  a
		    device  name,  directory,  file  name,  file type,
		    generation number,  and  wildcards.   If  you  are
		    removing  a  logical  name,  do not type a list of
		    file specifications.

Operation

     1.  Type DEFI and press the ESC key;  the system prints NE

	 (LOGICAL NAME).

	 @DEFINE (LOGICAL NAME)

     2.  Type the logical name (the colon is optional).   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:

	 ?NO SUCH LOGICAL NAME

Characteristics

     The DEFINE command does not change the  contents  of  memory  and
     leaves your terminal in EXEC.

Examples

     The user defines  the  logical  name  TEL:   as  the  directories
     <FORTRAN-LIBRARY> and <COBOL-LIBRARY>.
	@DEFINE (LOGICAL NAME) LIB: (AS) <FORTRAN-LIBRARY>,<COBOL-LIBRA
	RY>
	@INFORMATION (ABOUT) LOGICAL-NAMES
	LIB => <FORTRAN-LIBRARY>,<COBOL-LIBRARY>
	@

     The user removes the logical name TBL:  which he defined  in  the
     previous example.
	@DEFINE (LOGICAL NAME) LIB:
	@INFORMATION (ABOUT) LOGICAL-NAMES
	@

Function

     The  DELETE  command  identifies  a  disk  file(s)  for  eventual
     deletion.

Hint

     Once you delete a disk file, it is kept  on  disk  storage  until
     either  you  (or  the operator) give an EXPUNGE command, or until
     you log off the system.  If you want to see what files  you  have
     deleted,  but  not  expunged, give the DIRECTORY command with the
     DELETEd subcommand.

     Between the time when you give the DELETE command  and  the  time
     when  the  file is expunged, you canot access the file in any way
     except by giving an UNDELETE command, a DIRECTORY  command  (with
     the deleted subcommand), or an EXPUNGE command.

     If you want to restore a deleted file, give the UNDELETE command.

Format

     @DELETE (FILES) filespecs

     filespecs	    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:

		    <dir>name.typ.gen

		    If you omit <dir>, the system uses your  connected
		    directory.	 You  must  give a file name.  You may
		    use the wild card construction.

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.  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].

	 @DELETE (FILES) ADDTWO.REL.3
	  ADDTWO.REL [OK]
	 @

Characteristics

     The DELETE command does not change the  contents  of  memory  and
     leaves your terminal in EXEC.

Examples

     The user deletes the file TEST.FIL:
	@DELETE (FILES) TEST.FIL
	 TEST.FIL.2 [OK]
	@

     The user deletes all the files with the extension .QOR:
	@DELETE (FILES) *.QOR
	 ADDEM.QOR.2 [OK]
	 RESULT.QOR.1 [OK]
	 TEST.QOR.1 [OK]
	 ZEROS.QOR.5 [OK]
	@

Function

     The DIRECTORY command prints information about a file or group of
     files.

Hints

     Normally for each file in your connected directory, the DIRECTORY
     command  prints  the file name, type, and generation number.  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 results  of  the  command  to  another  destination
	 (OUTPUT).

     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	directory-type
     commands:

     FDIRECTORY  (for  Full  DIRECTORY)  has  the  same  format,   but
	 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) has the same format,  but
	 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)  has  the  same  format,  but
	 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.

Format

     @DIRECTORY (OF FILES) <dir> name.typ.gen, filespecs

     dir	    is the name of the directory  which  contains  the
		    files   about   which   you   are	obtaining  the
		    information.  If you omit the directory name,  the
		    system uses your connected directory.  You may use
		    the  wildcard  construction  in   specifying   the
		    directory  name.   If  you  type  just a directory
		    name,  all  the  files  in  that   directory   are
		    described.

     name.typ.gen   is the file name, type, and generation  number  of
		    the  file.	 If the type is omitted, all the files
		    with the given name are described.	 You  may  use
		    the  wildcard  construction in specifying the name
		    or type.

     Additional file specifications may be included by separating  the
     file specifications with commas.

Subcommands

     The subcommands  of  the  DIRECTORY  command  request  additional
     information,   modify   the   printing   format,  or  change  the
     destination of the results.

     @@CHRONOLOGICAL (BY) date
	 Lists the files in the order of ascending  dates  (i.e.,  the
	 oldest date is first and the most recent date is last).

	 date  may be CREATION, READ, or  WRITE.   CREATION  uses  the
	       date  the  files  were created;  READ uses the date the
	       files were last read;  and  WRITE  uses  the  date  the
	       files were last changed.

     @@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.

      @@DELETED (FILES ONLY)
	 Prints information only for deleted files that have  not  yet
	 been expunged or eliminated by a system backup operation.

      @@EVERYTHING
	 Prints all the information about the  files.	This  includes
	 the  file  name,  type,  generation  number, protection code,
	 account, 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.

      @@LENGTH (IN BYTES)
	 Prints the length of the file (in bytes) and  the  associated
	 byte size (in parenthesis).

      @@NO HEADING
	 Stops the printing of any headings.

      @@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.

      @@PROTECTION
	 Prints the protection code of the files.

      @@REVERSE (SORTING)
	 Orders the files in reverse.  Thus, to obtain a list of  your
	 most  recent files, give the subcommands @@CHRONOLOGICAL (BY)
	 WRITE and @@REVERSE (SORTING).

      @@SIZE
	 Prints the size of the files in pages;  a page  contains  512
	 36-bit words.

      @@TIMES (AND DATES OF) date
	 Prints the most recent CREATION, READ, or WRITE data for  the
	 files.

Operation

     1.  Type DIRE and press the ESC key;  the system prints CTORY (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 each subcommand;  press the RETURN key after each;  then
	 press 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  temporary  files  exist,  a ;T is printed after the
     generation number.

Characteristics

     The DIRECTORY command does not change the contents of memory  and
     leaves your terminal in EXEC.

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
	@

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.

     Refer to the examples for cookbook methods which save and restore
     files.

Format

     @DUMPER

     DUMPER  25-DEC-75

     DUMPER> command arguments

     command	    is  a  DUMPER   action-command,   tape-positioning
		    command,  or  status-command.   Table n 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	     in        the	  form
				   dev:<dir>name.typ.gen.  The * and %
				   wildcard characters are  permitted.
				   Separate   multiple	 sources  file
				   specifications with commas.

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

			       Table n
			   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, 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.

     EXIT
	Exits immediately to system 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 current save set  to  the  specified
	file   specification.	 You  must  type  a  destination  file
	specification, but if you use recognition, the system defaults
	to TTY:  (your terminal).

     RESTORE (MTA FILES) source (TO) destination
	Restores the magnetic tape source file to disk with the  given
	destination  file  specification.  You must type a source file
	specification and it may contain the wildcard characters * and
	%.   If  you do not type a destination file specification, the
	system uses your connected directory and the file  name,  type
	and generation number on the tape file.

	To restore more than  one  file  without  using  the  wildcard
	characters,  you  can specify more source/destination pairs by
	separating them with commas.  For example, the command:

	RESTORE (MTA FILES) TEST.* (TO) T1.*,TEST2.* (TO) T2.*

	restores all the tape files with the file name  TEST  to  disk
	with  the  file  name T1, and all the tape files with the name
	TEST2 to disk with the name T2.  If you want the disk files to
	have  the  same  file  specification as the tape file, you may
	abbreviate the command to:

	RESTORE (MTA FILES) TEST.*,TEST2.*

	which restores the tape  files  to  your  connected  directory
	under their own file specifications.

	When  the  restore  operation  starts  placing  files	in   a
	directory, the system prints the message:

	LOADING FILES INTO <directory>

	where directory is the name of the directory.

	If you are restoring files saved from  another  disk  area  to
	your  own disk area, you must explicitly specify the directory
	name in the source file specifications.

	Since all commands and programs assume that  the  most  recent
	file (in a group of files with the same file name and type) is
	the one with the highest generation number, you should try  to
	avoid  a  situation  where the most recent file has other than
	the highest generation number.  The easiest way is to use  the
	destination file specification *.*.-1 in your RESTORE command.
	This file specification forces all restored files  to  have  a
	generation  number one greater than any existing file with the
	same file name and type.  Should you  not  give  *.*.-1  as  a
	destination file specification and if you are restoring:

	1.  A file that is newer than a disk file with the  same  file
	    name and type,

	2.  With the current mode set to SUPERSEDE OLDER (the  default
	    mode), and

	3.  The file on tape has a generation number  lower  than  the
	    file on disk,

	the system deletes the disk file(s)  and  issues  the  warning
	message:

	% FILE filespec DELETED WHILE SUPERSEDING

	where filespec identifies  the  disk  file  that  is  deleted.
	Under  these  conditions,  the system does not delete the disk

	file if it has a lower generation  number  than  the  magnetic
	tape  file  (unless  your  FILE  GENERATION-RETENTION-COUNT is
	one).

	If you set the mode to SUPERSEDE ALWAYS, the system  does  not
	check  for  older files with higher generation numbers and you
	may get newer files with lower generation numbers.

	If you set the mode to SUPERSEDE NEVER, the  system  will  not
	restore a file if one with the same file name and type exists,
	so the problem of newer files with  lower  generation  numbers
	will not occur.

	When the system gets to the end of the current save set or  to
	the end of the tape, it prints the message:

	Any more tapes?  YES

	Answer NO if you are at the end of a save-set;  answer YES  if
	the  save set continues onto another tape.  If you answer YES,
	the system prints:

	TAPE (FILESPEC)  MTA0:

	Mount the new tape, then type the name of the drive  on  which
	you  mount  it.  (If you have to run the PLEASE program, refer
	to the instructions in the SAVE command description.)

     SAVE (DISK FILES) sources
	Saves the disk source file(s) onto magnetic tape.  Sources  is
	any  list of file specifications separated by commas.  You may
	use the wildcard characters * and %.  If you do not  give  any
	arguments  to  the SAVE command, DUMPER saves all the files in
	your connected directory.

	A save set is the group  of  files  saved  by  a  single  SAVE
	command.   You  may  give  the  save  set a name by giving the
	SSNAME command.

	DUMPER prints information about the saved files every time you
	give  the SAVE command.  Refer to the LIST command if you want
	to alter this function.

	If all the files in the save set cannot fit on a single  tape,
	the  system  stops  at  the  end  of the tape, rewinds it, and
	prints the message:

	End of tape, continue save on
	TAPE (FILESPEC) MTA0:

	Mount a fresh tape, then type the name of  the  magnetic  tape
	drive.	 The  system prints a header, then continues the save.
	If you have to run the PLEASE program to get the  operator  to
	mount  the tape, type a CTRL/C, give the PUSH command, run the
	PLEASE program,  give  the  POP  command,  give  the  CONTINUE

	command,  type  a  CTRL/R,  then type the name of the magnetic
	tape drive.  Follow the next example:

	End of tape, continue save on
	TAPE (FILESPEC) ^C	   Type CTRL/C to stop DUMPER
	@PUSH (COMMAND LEVEL)	   Give the PUSH command
				   (or DUMPER can not continue)
	 TOPS-20 1(100)
	@PLEASE			   Run PLEASE

	WHAT IS THE OPERATOR'S ID?

	ENTER TEST: PLEASE MOUNT MY NEXT MAGTAPE ON MTA1:

	[OPERATOR HAS BEEN NOTIFIED]

	ALL DONE, USE MTA1: NOW.
	$
	[FINISHED AT 20:52:32]
	@POP (COMMAND LEVEL)	   Give the POP command
	@CONTINUE		   Give the CONTINUE command
				   Type a CTRL/R
	TAPE (FILESPEC) MTA1:	   Then type the magnetic tape drive
				   number.

     TAPE-POSITIONING COMMANDS

	DUMPER tape-positioning commands control  the  tape  you  have
	specified  with  the last TAPE command or the tape assigned to
	the logical  name  MTA-DUMPER.	 You  should  have  previously
	allocated  these  drives  to  your  job with the system 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.

     REWIND
	Rewinds the tape to the logical beginning of 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.

     ABEFORE (DATE AND TIME) date time
	Includes only those file which were accessed  by  a  non-write
	operation (i.e., typed, printed or read in some manner) before
	the given date and time.

     ACCOUNT (OF RESTORED FILES FROM) location
	Specifies that any file being restored will  have  either  the
	SYSTEM-DEFAULT  account  (usually your current account) or the
	account that was stored with the file.  Normally,  the  system
	uses the system default.

     ASINCE (DATE AND TIME) date time
	Includes only those files which were accessed by  a  non-write
	operation  (i.e., typed, printed or read in some manner) since
	the given date and time.

     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.

     DENSITY (OF MAGTAPE) n
	Sets the tape density to the given number  of  bits  per  inch
	(BP1).	  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 system command INFORMATION (ABOUT) TAPES.

     [NO] DIRECTORIES
	Starts (or stops, directory name 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)  checking,  restoring,  or
	saving at the file identified by filespec.

     [NO] INTERCHANGE (FORMAT)
	Starts (or stops, if  you  type  NO)  using  the  DECsystem-10
	(TOPS10  BACKUP)  interchange  format  in  reading and writing

	tapes.

     [NO] LIST (LOG INFORMATION ON FILE) filespec
	Makes a list of the files transferred in the  file  identified
	by  filespec.  If you do not give a file specification, DUMPER
	uses the file LPT:DUMPER.LOG.  If you do not want  this  list,
	type  the  word  NO  before  LIST  and  do  not specify a file
	specification.

     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 system command
	INFORMATION (ABOUT) TAPES.

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

     [NO] SILENCE
	Stops (or starts, if you type NO) printing directory names and
	file specifications as the files are saved or restored.

     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.

     SSNAME name
	Identifies  a  save  set  name  of  up  to   30   alphanumeric
	characters.

     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 older disk files;  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, the date it was installed, and the prompt DUMPER>.

	 @DUMPER

	 DUMPER 25-DEC-75

	 DUMPER>

     2.  Give the DUMPER commands you want.  (You  must  give  a  TAPE
	 command  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, 27-DEC-75 0958

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

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 occurrs.  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 is currently updating
	 the file.  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 n.  After receiving a message of
	 this type, try transferring the  file  again.	 If  the  eror
	 still occurs, contact the operator or system administrator.

			       Table n
		  File Described 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.
	 .FBUSE		 -Directory numbers of the last
			  writer, or directory number of author
	 .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.

	 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 occurrs, 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 cancels 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 SAVE command, DUMPER prints:

       -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

     After you start DUMPER, the contents of memory are destroyed  and
     your  terminal  is  at  DUMPER  command  level.   Give the DUMPER
     command EXIT to return to EXEC.

Examples

1.  Saving all the files in your connected  directory--  To  save  all
    files  in  your  connected  directory  onto MTA0:  in the save set
    labeled Reference  Files,  then  check  the  magnetic  tape  files
    against the corresponding disk files:

    @ASSIGN (DEVICE) MTA0:		!Assign drive 0
    @DUMPER				!Start DUMPER

    DUMPER 25-DEC-75

    DUMPER>TAPE (FILESPEC) MTA0:	!Tell DUMPER to use drive  0
    DUMPER>REWIND			!Move to the beginning of tape
    DUMPER>SSNAME REFERENCE FILES	!Declare the save-set name
    DUMPER>SAVE (DISK FILES)		!Give the SAVE command

    DUMPER TAPE # 1, REFERENCE FILES, FRIDAY, 2-JAN-76 1432
    <TPORADA>

    TOTAL FILES DUMPED = 8
    TOTAL PAGES DUMPED = 65
    DUMPER>REWIND			!Move to the beginning of tape
    DUMPER>CHECK (ALL MTA FILES)	!Check the saved files

    DUMPER TAPE # 1, REFERENCE FILES, FRIDAY, 2-JAN-76 1432

    ANY MORE TAPES? N			!There is only one tape
    DUMPER>EXIT				!There are no errors, stop
    @UNLOAD (DEVICE) MTA0:		!Rewind tape onto source reel
    @DEASSIGN (DEVICE) MTA0:		!Return tape for other users
    @

				 Hint

	       If you want the names of the saved files
	       printed on your terminal, give the FILES
	       command  immediately  after  the  SSNAME
	       command.

2.  Saving a single file on tape--

    @ASSIGN (DEVICE) MTA0:		!Assign drive 0

    @DUMPER				!Start DUMPER

    DUMPER 25-DEC-75

    DUMPER>TAPE (FILESPEC) MTA0:	!Tell DUMPER to use drive 0
    DUMPER>REWIND			!Go to beginning of tape
    DUMPER>SSNAME FORTRAN PROGRAMS	!Declare save-set name
    DUMPER>FILES			!Print file names as saved
    DUMPER>SAVE (DISK FILES) TEST.FOR	!Save TEST.FOR

    DUMPER TAPE # 1, FORTRAN PROGRAMS, FRIDAY, 2-JAN-76 1442
    <TPORADA>
    TEST.FOR.1

    TOTAL FILES DUMPED = 1
    TOTAL PAGES DUMPED = 1
    DUMPER>REWIND			!Move to beginning of tape
    DUMPER>CHECK (ALL MTA FILES)	!Check the file

    DUMPER TAPE # 1, FORTRAN PROGRAMS, FRIDAY 2-JAN-76 1442

    ANY MORE TAPES? N			!No more tapes
    DUMPER>EXIT				!End DUMPER
    @UNLOAD (DEVICE) MTA0:		!Rewind the tape onto source
					reel
    @DEASSIGN (DEVICE) MTA0:		!Let other users have the
					drive
    @

3.  To copy all the files from the second save set on the
    tape to your disk area: (if a file already exists with the
    same file specification, the file on tape is written only if it is
    newer than the disk file; refer to the SUPERSEDE
    parameter command.)

    @ASSIGN (DEVICE) MTA0:		!Assign drive 0
    @DUMPER				!Start DUMPER

    DUMPER 25-DEC-75

    DUMPER>TAPE (FILESPEC) MTA0:	!Use drive 0
    DUMPER>REWIND			!Go to beginning of tape
    DUMPER>SKIP (NUMBER OF SAVESETS) 1  !Skip to end of first save set
    DUMPER TAPE # 1, SATURDAY'S FILES, SATURDAY, 3-JAN-76 1151

    DUMPER>RESTORE (MTA FILES) *.*.* (TO)    !Restore all files

    DUMPER TAPE # 1, LIBRARY FILES, SATURDAY, 3-JAN-76 1153

    ANY MORE TAPES? N			!No more tapes
    DUMPER>SKIP 0			!Go to start of current save
					set

    DUMPER TAPE # 1, LIBRARY FILES, SATURDAY, 3-JAN-76 1153

    DUMPER>CHECK (ALL MTA FILES)	!Check files for errors

    DUMPER TAPE # 1, LIBRARY FILES, SATURDAY, 3-JAN-76 1153

    ANY MORE TAPES? N			!No more tapes
    DUMPER>EXIT				!End DUMPER
    @UNLOAD (DEVICE) MTA0:		!Rewind tape onto source reel
    @DEASSIGN (DEVICE) MTA0:		!Return tape for other users
    @
     The following example demonstrates the difference between
     DUMPER's standard mode, SUPERCEDE OLDER (which means restore a
     file only if the corresponding file on disk is older than the
     file on the tape)  and the mode SUPERCEDE ALWAYS (which means
     restore a file to disk regardless of its date).
	@DIRECTORY (OF FILES) *.TXT

	   <TPORADA>			!The user has one file with
	 JOAN.TXT.1			 The file type .TXT
	@ASSIGN (DEVICE) MTA0:		!Assign drive 0
	@DUMPER				!Start DUMPER

	DUMPER  25-DEC-75

	DUMPER>TAPE (FILESPEC) MTA0:	!Tell DUMPER to user drive 0
	DUMPER>REWIND			!Start at the beginning
	DUMPER>FILES			!Print file specifications
	DUMPER>RESTORE (MTA FILES) *.TXT.* (TO)  !Restore all the
					 files with the file type .TXT
					 JOAN.TXT does not get
					 restored because it already
					 exists on disk and is the
					 same date as the tape file.
	DUMPER TAPE # 1, FRIDAY'S NEW FILES, WEDNESDAY,  4-FEB-76 1938
	LOADING FILE(S) INTO <TPORADA>
	<TPORADA>RENAME.TXT.1;P777700;A10300 (TO) RENAME.TXT.1
	<TPORADA>VTED.TXT.1;P777700;A10300 (TO) VTED.TXT.1

	ANY MORE TAPES? N
	DUMPER>SUPERSEDE ALWAYS		!Now change the mode to
					 always restore files
	DUMPER>REWIND			!Rewind.  This time
	DUMPER>RESTORE (MTA FILES) *.TXT.*  !Restore again
					 JOAN.TXT gets restored.

	DUMPER TAPE # 1, FRIDAY'S NEW FILES, WEDNESDAY,  4-FEB-76 1938
	<TPORADA>JOAN.TXT.1;P777700;A10300 (TO) JOAN.TXT.1
	<TPORADA>RENAME.TXT.1;P777700;A10300 (TO) RENAME.TXT.1
	<TPORADA>VTED.TXT.1;P777700;A10300 (TO) VTED.TXT.1

	ANY MORE TAPES? N		!No more tapes
	DUMPER>REWIND			!Rewind
	DUMPER>EXIT			!End DUMPER
	@DEASSIGN (DEVICE) MTA0:
	@

Function

     The EDIT command lets you edit or create a file using the EDIT
     program.  In general you are better off using EMACS rather than
     EDIT.  The documentation on EDIT is provided here for historical
     value.  See EMACS.

Special Cases

     The EDIT command always starts EDIT as long as you give a legal
     file specification as an argument.  If the file exists, EDIT
     enters edit mode for the file; if the file does not exist, EDIT
     prints a warning message, then lets you input the file.

     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: ?NO SAVED ARGUMENTS.

Hints

     Refer to the description of the EDIT program for a
     list of all the EDIT commands.

     You may give any EDIT command switch as a command to the EDIT
     program.

Format

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

     /switches  is any combination of switches listed in Table n.
		You may use recognition on the switch name and
		switch value.

     input	specifies the file you want to change or create.
		If the file
		exists, the system recognizes the highest generation;
		if the file does not exist, the system
		allows you to create the file.

     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 sanme name and type as the
		input file, but with a new generation number.

			       Table n
			EDIT Command Switches

     This table list many of the switches you can give with the EDIT
     command.  Refer to the EDIT User's Guide for a complete list.

     /C128
	Starts EDIT in 128-character mode which allows you to enter
	special control characters.  Refer to the EDIT User's Guide.
	Normally, EDIT starts in 64-character mode.

     /DPY
	Enters display mode where unwanted lines are overprinted by
	output to make the output more concise on a video terminal
	screen.  Otherwise, EDIT starts in Model 33 (normal
	terminal) mode.

     /EXPERT
	Starts expert mode which allows more powerful commands and
	abbreviates error messages.  Otherwise, EDIT starts in
	standard novice mode.

     /INCREMENT:n
	Uses the specified increment when assigning numbers to an
	unsequenced file.  The numbering starts at the value of the
	START parameter (the default value is 100) and assigns line
	numbers by adding the specified increment.  If you do not
	specify an increment, the system uses 100.

     /ISAVE:n
	Starts ISAVE mode that automatically gives a
	B (backup) command every time you insert n lines.  You must
	give a value for n.

     /NOBAK
	Inhibits EDIT from creating backup files with the file type
	.Qyp.  Instead, EDIT creates a new generation of the file.
	If you give the /NOBAK switch,
	you should change your GENERATION-RETENTION-COUNT for this
	file to a number greater than one.

     /OLD
	Makes a backup file with the file type .Zyp if no other one
	with this file name and type exists in your connected
	directory.  Even though you may give another /OLD switch
	with an EDIT or CREATE command, this file is
	never overwritten unless you delete it with a
	DELETE command.

     /READONLY
	Starts EDIT in readonly mode where you are not allowed to
	make any changes to the file.  When you start EDIT, the
	system prints Read: instead of Edit: or Input.  You may give
	any EDIT command that does not change the file.

     /SAVE:n
	Starts SAVE mode which automatically gives a B command every
	time you give n EDIT commands.  You must give a value for n.

     /START:n
	Starts numbering an unsequenced file at the number n.  If

	you do not give a /START switch, EDIT uses a value of 100.
	To produce each succeeding line number, EDIT uses the value
	of the /INCREMENT switch.

     /UNSEQUENCE
	Removes line numbers from the output file.

Operation

     If you do not want to give switches--

     1. Type EDIT and press the ESC key; the system
	prints (FILE).

	@EDIT (FILE)

     2. Type (or use recognition on) the input file specification;
	then (if you have not used recognition), 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.
	If the input file exists, the system prints EDIT: followed
	by the input file specification, then the asterisk.

	@EDIT (FILE) TEST.FOR.4 (OUTPUT AS) TEST.FOR.5
	Edit: TEST.FOR.4
	*

	If the file does not exist, the system prints the
	message: %FILE NOT FOUND, CREATING NEW FILE, OR the message
	%NO SUCH FILE TYPE, CREATING NEW FILE, then lets you input
	the file.

	@EDIT (FILE) TEST.CBL

	%File not found, Creating New file
	INPUT: TEST.CBL.1
	00100

     If you want to give switches --

     1. Type (or use CTRL/F recognition on)
	the letters EDIT.

	@EDIT

     2. type a slash and type (or use CTRL/F recognition on) the
	switch name.  If the switch has a value, type a colon
	followed by the value.  You may use recognize the switch by
	pressing the ESC key, but the system will terminate the
	switch field and proceed to the
	input file field.

	@EDIT /INCREMENT:10

		   CTRL/F

	@EDIT /UNSEQUENCE (FILE)

		   ESC

     3. Type (or use recognition on) as many switches as you need,
	then press the ESC key and  follow the directions in steps 2
	and 3 in the previous section.

	@EDIT /INCREMENT:10/EXPERT (FILE)

			       ESC

Characteristics

     The EDIT command starts the EDIT program, thereby destroying
     the previous contents of memory.  Your terminal is left at EDIT
     command level.

Restrictions

     If you are using the automatic feature of the EDIT and CREATE
     commands, do not give a generation number in your initial
     CREATE or EDIT command or else subsequent commands will try to
     use that exact generation rather than the highest existing
     generation for that file.  That is, give the command:

	@EDIT (FILE) T.FIL

     rather than:

	@EDIT (FILE) T.FIL.2

     In the latter case, the output file is T.FIL.3.  If you give
     the EDIT command without any arguments, EDIT will start you in
     the file T.FIL.2 and not the most recent file T.FIL.3.

Examples

     The user EDITS his file, outputting it as NUMBER.REF
	@EDIT (FILE) NUMBER.FOR.3 (OUTPUT AS) NUMBER.REF.1  [NEW FILE]
	Edit: NUMBER.FOR.3

	*

     The user edits his file, setting the SAVE parameter to give a B
     command after every 5 EDIT commands.
	@EDIT /SAVE:5 (FILE) CRISCR.ALG.1 (OUTPUT AS)
	Edit: CRISCR.ALG.45
	*

     The user starts EDIT in DPY mode and unsequences his output file.
	@EDIT /DPY/UNSEQUENCE (FILE) NXTVER.MAC
	Edit: NXTVER.MAC.3
	*

     The User gives an EDIT command without any arguments.
	@EDIT
	Edit: NXTVER.MAC.4
	*

Function

     The EDIT program helps you create and edit files.  You  may  also
     use EDIT to peruse files.  EDIT is made obsolete by EMACS.
     See EMACS.

Hints

     If you need a tutorial to start learning EDIT, refer  to  Getting
     Started With DECsystem-20 or the EDIT User's Guide.

Format

     @CREATE/switches (FROM) input
	       or
     @EDIT/switches (FROM) 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, you start off in  EDIT  input
	 mode,  insert  lines,  then  press  the ESC key to enter EDIT
	 command level.  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 Table n.

			       Table n
			    EDIT Commands

     Positions and Ranges

	range =		 position:position
			      100:400
			    500/4:700/7
			      ^/^:*/*

	position =	 line or line/page
				 2350
				 300/2

			 number		 4600
	line =		 number+integer  300+5
	or		 number-integer  9320-2
	page =		 $string$	 $Section 1.1$

	number =	 a positive integer < 2^35-1
			 ^	 (first)
			 .	 (current)
			 *	  (last)

     *Arange
	Starts Alter mode for the specified  range  of  lines.	 Alter
	mode allows you to edit a line, character by character.  After
	giving the A command, give any one of the Alter mode commands.
	When  you  terminate editing for the current line (by pressing
	the RETURN key or giving the E  command),  EDIT  enters  Alter
	mode  for the next line until all lines in the range have been
	altered.

			       Table n
			 Alter Mode Commands

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

     Command		      Function

     ?		    Prints a list of the Alter mode commands.

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

     -nD	    Deletes the next/last n characters.

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

     -nFc	    Finds the next/last occurrence of the character c.

     nItext$	    Lets you insert  text,  starting  at  the  current
		    position,  until  you press the RETURN key (to end
		    Alter mode for the line) or the ESC  key  (to  end
		    just  the insert).  If you omit n, the system uses
		    100.

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

     -nKc	    Deletes all the  characters  ahead/back  from  the
		    current  position  up  to  n  occurrences  of  the

		    character c.

     L		    Prints the rest of  the  line  and  start  at  the
		    beginning of the line again.

     P		    Print the rest of the line and  the  beginning  of
		    the  line,  leaving  you at your current position.
		    This command is useful  for  viewing  the  correct
		    contents of the line.

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

     -nRtext$	    Deletes the next/last n characters, then given  an
		    automatic I command.

     nW		    Skips forward n words.

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

     -n<space>	    Skips forward/backward n characters.

     <RETURN>	    Ends Alter mode for this line and prints the  rest
		    of the line.

     n<DELETE>	    Skips backward n characters.
     n<BS>

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

     CTRL/U	    Restores the original  line,  but  leaves  you  in
		    Alter mode.

     *B (FILE) name.typ.gen
	Saves the current edits in the specified file,  but  does  not
	end the editing session.  Refer to the description of the B, E
	and G modifiers in Table n.

     *Cposition,range
	Copies a range of lines so that the first  line  being  copied
	starts at the specified position.

     *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.

     *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, to end search mode give
	the EQ command instead of the E command.

     *Drange
	Deletes a range of lines.

     *E (FILE) name.typ
	Ends the editing session and saves the  results  in  the  file
	name.typ.   Refer  to  the  description  of  the  B,  E, and G
	modifiers in Table n.  If you want to end the editing session,
	but  not  save  the  results thus restoring the original file,
	give the EQ command.

     *Fstring$range,options
	Finds  the  next  occurrence  of  the  specified   string   of
	characters  and prints the line containing it.  If you give an
	F command without any arguments, it uses the arguments to  the
	last  F  command.  You can print these arguments by giving the
	=STRING command.  Refer to the F and S  options  described  in
	Table n.

     *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.  Refer to the description of the B,  E,  and  G
	modifiers in Table n.

     *H
	Prints a list of EDIT commands and options.

     *Iposition,increment
	Starts insert  mode  at  the  specified  position,  using  the
	optionl  increment  to  number  subsequent lines.  There are a
	number of special functions which the I command may perform:

	    *I<CR>	 Starts  inserting  where  you  last   stopped
			 inserting.  You can find out this location by
			 giving the =INSERT command.

	    *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).

	    *Iposition!n Chooses an increment which will allow you  to
			 insert  n  lines  starting  at  the specified
			 position.  *I^ Inserts a line at the  top  of
			 the  page,  halfway  between  line  0 and the
			 first line.

     *Jposition
	Takes the specified line, appends the next line in the file to
	it, thereby joining the two.

     *K/page
	Deletes the page mark between the specified page and  the  one
	preceding it.  The system may print the message %OUT OF ORDER,
	which tells you that the line numbers  are  not  in  ascending

	order;	 your  file  is  still  in  the correct logical order.
	Given the N command to renumber the offending page.

     *Lrange
	Lists the specified range of lines on the  line  printer.   If
	you do not give a range, the system lists the entire file.

     *Mposition
	Marks the specified line as the beginning of a new page.  Each
	succeeding page number is increased by one.

     *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.   If  you
	do  not  give  a starting number, the system uses the value of
	the START parameter (the default is 100).  If you do not  give
	a  range, the system renumbers the entire file.  If you do not
	specify an  increment,  the  system  uses  the  value  of  the
	INCREMENT  parameter (the default is 100).  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.
	If you want to add an increment to a range of lines,  use  the
	following command:  *NAincrement,range.

     *Prange,N
	Prints the specified range of lines.  If you do not specify  a
	rage, 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).   If you do not want the system to print the
	line numbers, include the ,N  qualifier  at  the  end  of  the
	command.   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.

     *Rrange,increment
	Deletes the specified range of lines, then enters insert  mode
	with  the  specified  increment.   If  you  do  not specify an
	increment,  the  system  uses  the  value  of  the   INCREMENT
	parameter (the default is 100).

     *Sexisting$new$range,options
	Substitutes the new string of characters for  all  occurrences
	of  the  existing  string  of  characters contained within the
	specified range.  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
	consectuive  time, the system performs the substitution on the
	rest of the file.  Refer to Table n which describes  F  and  S
	command  options.  In addition to these qualifiers ,D lets you

	check on each substitution and ,L stops the printing  of  each
	line that contains a substitution.

     *Tposition,range
	Transfers specified range of lines so  the  first  line  being
	transferred  starts  at the specified position.  The specified
	range of lines is deleted after they are transferred.

     *Xrange,L
	Allows you to eXtend the specified range of lines by  printing
	the  line  and then giving an Alter mode I command.  If you do
	not want the system to print the line, add the ,L specifier at
	the end of the command.

     *?
	Prints a list of all the EDIT commands.

     *@name.typ
	Gives the commands stored in the specified file.

			       Table n
			B, E, and G Modifiers

     If you do not specify an output file for a B, E or G command, the
     system uses the file specified by the =NAME command.

     B  Adding the letter B to your command creates a  new  generation
	of the output file rather than generating a .Qxx file.

     I  Adding the letter I to your command  inserts  a  line  at  the
	beginning   of	 your	file   which   identifies   the   file
	specification, date, time, and user name.

     U  Adding the letter U to your command removes the  line  numbers
	from your file.

			       Table n
			   F and S Options

     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 these powerful matching and replacement characters in
     F and S commands.

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

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

			       Table n
			   EDIT Parameters

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

     Name	   Set  Print  Default Value	  What

       .	    n	 y	---	      current position
       ?	    n	 y	---	      /? list settable switches
					      =? list printable switches
     BAK	    y	 y	on	      create .Qxx backup file
     BIG	    n	 y	---	      largest page #
     C64	    y	 CASE	on	      64 character set
     C128	    y	 CASE	off	      128 character set
     CASE	    n	 CASE	C64 M33 UPPER give case information
     DECIDE	    y	 y	off	      auto ",D" for "S" command
     DPY	    y	 n	off	      special display mode
     ERROR	    n	 y	---	      print last error message
     EXPERT	    y	 n	off	      sets expert mode
     INCREMENT	    y	 y	100	      default line increment
     INSERT	    y	 n	---	      location of next I<CR>
     ISAVE	    y	 y	0	      controls auto-W on inserts
     LOCATION	    n	 y	---	      first line in edit buffer
     LOWER	    y	 CASE	off	      default lower case
     M33	    y	 CASE	on	      terminal characteristics
     M37	    y	 CASE	off	      terminal characteristics
     NAME	    y	 y	---	      output file spec
     NOBAK	    y	 n	off	      no backup file
     NODECIDE	    y	 n	on	      no auto ",D"
     NONSEPARATORS  y	 CASE	on	      %,$,. are not alphanumerics
     NONUMBER	    y	 n	off	      don't print line numbers
     NOVICE	    y	 n	on	      normal mode
     NUMBER	    y	 n	on	      print line numbers
     OLD	    y	 n	off	      create backup file (.Zxx)
     OPTION	    y	 n	---	      read "SWITCH.INI" file
     PLINES	    y	 y	16	      used by "P<CR>
     R		    Same as RONLY
     RONLY	    y	 n	off	      read only file
     READONLY	    Same as RONLY
     RUN	    y	 y	"SYS:COMPIL"  set run spec
     SAVE	    y	 y	0	      controls auto-W on commands
     SEPARATORS     y	 n	off	      treat %,$,. as alphanumeric
     START	    y	 y	100	      starting sequence #
     STEP	    y	 y	100	      default line increment
     STRING	    n	 y	---	      current F & S strings
     UNSEQUENCE     y	 n	off	      unsequence output file

     UPPER	    y	 CASE	on	      default upper case

Function

     The EOF command writes  an  end-of-file  mark  on  the  specified
     magnetic tape.

Hints

     Remember to assign the tape  drive  to  your  job  and  have  the
     operator mount your tape on it.

     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.

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 MUST BE 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 PLEASE program to contact the operator;  then reissue
	 the command.

Characteristics

     The EOF command does not change the contents of memory and leaves
     your terminal in EXEC.

Restrictions

     The EOF command works only for magnetic tapes.

Examples

     The user writes an EOF on the tape mounted on drive 3.
	@EOF (DRIVE) MTA3:
	@

Function

     The EXECUTE command places one or more object  files  in  memory,
     then starts the main program.

Special Cases

     If you give only LOAD-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.

     If you type the name of the source  files  used  to  produce  the
     desired object file(s), 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.

Format

     @EXECUTE (FROM) sources object,sources object,...

     sources	    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 listed
		    in Table n.  If there is more than one file with a
		    standard file type, the system uses .FOR.

     a space	    separates the source file specifications from  the
		    object  file specification.  If you do not give an
		    object file specification,  you  do  not  have  to
		    leave a space.

     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.

     @name.typ	    You may store any portion  of  the  command  in  a

		    file.   That  portion of the command is included -
		    just as  if  you  typed  it  on  your  terminal  -
		    whenever you type an @ followed by the name of the
		    file.  You may use recognition in typing the  file
		    specification,  but  the  commands within the file
		    may not use recognition.

			       Table n
			 Standard File Types

		    Type		     Language

		    .ALG		     ALGOL
		    .CBL		     COBOL
		    .FAI		     FAIL
		    .FOR		     FORTRAN (default)
		    .MAC		     MACRO
		    .SAI		     SAIL
		    .SNO		     SNOBOL

			       Table n
		       EXECUTE Command Switches

     You may use recognition to help you type a switch  and  any  file
     specification  which  is an argument to a switch.  If you place a
     switch before a set of sources, the switch  applies  to  all  the
     files in that set of sources;  if you place a switch after a file
     specification in a set of sources, the  switch  applies  to  just
     that file.

     Switch				Function

     /ALGOL
	  (or a file with the  type  .ALG)  Compiles  the  file  using
	  ALGOL.   When used with the /DEBUG switch, the /ALGOL switch
	  loads the DDT debugging program.

     /BINARY
	  Generates  a  binary  file  for  each  set  of  source  file
	  specifications.  Normally, the system generates these binary
	  files, so this  switch  is  useful  in  reversing  a  global
	  /NOBINARY switch.

     /COBOL
	  (or a file with the  type  .CBL)  Compiles  the  file  using
	  COBOL.   When used with the /DEBUG switch, the /COBOL switch
	  loads the COBDDT debugging program.

     /COMPILE
	  (or an object file older than any one of  the  corresponding

	  source  files)  Produces  an  object  file from the sources,
	  regardless  of  whether  it  is  up-to-date  or  not.    The
	  /NOCOMPILE  switch  causes  the  system to produce an object
	  file only if it 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
	  Produces a cross-reference listing file for each  file  that
	  is  compiled  or  assembled.  The name of the output file is
	  the name of the last source file and the type is .CRF.   You
	  can then give the CREF command to produce a listing.

     /DDT
	  Loads the DDT debugging program.

     /DEBUG
	  Includes  debugging  information  in  the   object   program
	  (FORTRAN only).

     /FAIL
	  (or a file with the type .FAI) Assembles the file with FAIL.
	  With the DEBUG switch, loads the DDT debugging program.

     /FORTRAN
	  (or a file with  the  type  .FOR  or  a  non-standard  type)
	  Compiles  the file using FORTRAN.  When used with the /DEBUG
	  switch, the  /FORTRAN  switch  loads  the  FORDDT  debugging
	  program.

     /LIBRARY
	  Loads the file only if one or more  of  its  declared  entry
	  symbols  satisfies an undefined global request in the source
	  file.  The system libraries are always searched.

     /LIST
	  Generates a disk listing file for each file that is compiled
	  or  assembled.   Give  the  PRINT command if you want a line
	  printer copy of the file.  The listing file name is the name
	  of  the  last  source file and the type is .LST.  Unless you
	  specify this switch, the system does not generate a  listing
	  file.

     /MACRO
	  (or a file with the type  .MAC)  Assembles  the  file  using
	  MACRO.   When used with the /DEBUG switch, the /MACRO switch
	  loads the DDT debugging program.

     /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.  You may use recognition input  in  typing

	  the file specification.

     /NOBINARY
	  Inhibits the generation of an 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 a debugger with the program.

     /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 referenced or not.  This action is the default,
	  therefore it is useful in turning off the /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 existing object files,  even  though  they  may  be
	  out-of-date.	 The  /COMPILE  switch  causes  the  system to
	  always produce an object file;  the /NOCOMPILE switch causes
	  the system to produce an object file only if the current one
	  does not exist or  is  out-of-date.	Normally,  the  system
	  assumes the action of the /NOCOMPILE switch.

     /SAIL
	  (or a file with the type  .SAI)  Assembles  the  file  using
	  SAIL.   When  used  with the /DEBUG switch, the /SAIL switch
	  loads the DDT debugging program.

     /SEARCH
	  Is identical to the /LIBRARY switch.

     /SNOBOL
	  (or a file with the type  .SNO)  Translates  the  file  with
	  SNOBOL.

     /SYMBOLS
	  Loads  the  program  with  its  appropriate  symbol	table.
	  Normally, the system loads all programs with symbols.

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  and  object specifications.  Press the RETURN
	 key.  The system executes the specified files.

	 @EXECUTE (FROM) TEST.FOR,SUB1.FOR
	 [LNKXCT TEST EXECUTION]

	 INPUT FILE: T1.IN,	Up: Top

	 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

     The EXECUTE command, at a minimum, runs the LINK program, thereby
     destroying  the  contents  of  memory.  Depending on the way your
     program operates, your terminal may or may not be left in EXEC.

Examples

     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
	@

     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
	@

     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)
	@

     The user executes his COBOL program.
	@EXECUTE (FROM) COMPUT.CBL
	COBOL:
	LINK:	Loading
	[LNKXCT COMPUT Execution]
	TYPE A NUMBER: 56
	TWICE THAT NUMBER IS: 1.12E2

	EXIT
	@

Function

     The EXPUNGE command eliminates all your deleted files  from  disk
     storage.

Hints

     After you expunge your files, you may not access them again.   If
     you  have  inadvertently deleted and expunged a file you actually
     need, contact your operator and ask him if they can  be  obtained
     from the system backup operations.

     Use the EXPUNGE command to stay under your disk storage quota.

Format

     @EXPUNGE (DIRECTORY) directory

     directory	    is the name of the directory you want to  expunge.
		    If you press the ESC key, or press the RETURN key,
		    the system uses your connected directory.

Operation

     1.  Type EXP and press the  ESC  key;   the  system  prints  UNGE
	 (DIRECTORY).

	 @EXPUNGE (DIRECTORY)

     2.  If you want to expunge your connected  directory,  press  the
	 ESC  key;  then press the RETURN key.  (If you want to take a
	 shortcut, just press the ESC key).  If you want to expunge  a
	 directory  to  which you have the proper access, type (or use
	 recognition on) the directory name,  then  press  the  RETURN
	 key.  The system prints the number of pages freed.

	 @EXPUNGE (DIRECTORY) MANUALS
	  [34 PAGES FREED]
	 @

Characteristics

     The EXPUNGE command does not change the contents  of  memory  and
     leaves your terminal in EXEC.

Restrictions

     You may not expunge a directory to which  you  do  not  have  the
     proper access.

Examples

     The user expunges his connected directory.
	@EXPUNGE (DIRECTORY)
	 [5 PAGES FREED]
	@

     The user tries to expunge a directory to which he does  not  have
     the proper access.
	@EXPUNGE (DIRECTORY) COHEN
	?WHEEL or OPERATOR special capabilities required.
	@

Function

     The FDIRECTORY command prints all the information about a file or
     group  of  files.	 No  headings  are  printed  and the output is
     compressed.

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:,	Up: Top

     1.  Name, type, generation number,

     2.  Protection code,

     3.  Account number,

     4.  Size (in pages),

     5.  Length (in bytes) and byte size (in parenthesis),

     6.  File retention count,

     7.  The date and time the file was created,

     8.  The date and time the file was last read,

     9.  The date and time the file was last written,

    10.  The user who created the file,

    11.  The user who last wrote the file

    12.  A line summarizing the total size (in pages)  and  number  of
	 the listed files.

Characteristics

     The FDIRECTORY command does not change  memory  and  leaves  your
     terminal in EXEC.

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
     @

Function

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

Hints

     SRCCOM is another file comparison program, supplied by MIT with
     EMACS.  See SRCCOM.

     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 n) or that you use
     the /W switch.

Special Cases

     Binary files are compared word  by  word,  starting  at  word  0,
     except for the following two cases:

     1.  Files with extensions .SHR and .HGH are assumed  to  be  high
	 segment  files.  Since the word count starts at 400000, upper
	 and lower limits, if used, must be greater than (or equal  to
	 in the case of the lower limit) 400000.

     2.  Files with extensions .SAV, .LOW, and .SVE are assumed to  be
	 compressed   core   image   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	the   switches	 following   the   two	 input	  file
		specifications  control  the  method  in  which FILCOM
		performs the comparison.  All the valid  switches  are
		listed in Table n.

		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 in Table n,
		the files are compared  in  binary  mode;   otherwise,
		they are compared in ASCII mode.

			       Table n
			     Binary 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 n
			   FILCOM Switches

Switch  Use			   Function

   /A	ASCII only  Compares the two input files in ASCII mode  (i.e.,
		    FILCOM  treats both files as if they contain ASCII
		    characters).

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

   /C	ASCII only  Ignores comments (all text following  a  semicolon
		    on a line) spacing (spaces and tabs).

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

   /nL  ASCII and   For ASCII files:  Specifies  the  number  of lines
	binary	    that determine a match.   A  match  means  that  n
		    successive  lines in both files have been found to
		    be identical.   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.

		    For binary files:  n  is  an  octal  number  which
		    specifies  the  lower  limit  for a partial binary
		    comparison.  If  you  also  use  the  /nU  switch,
		    FILCOM   compares  the  files  only  within  these
		    predefined limits.

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

   /nU  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  for  a  partial  binary
		    comparison.   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 with ASCII extensions.

   /X	Binary only Expands save (.EXE) 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.  Then, FILCOM prints
	 a second set  of  differences,  if  any.   In  the  following

	 example,  file  EXPONT.1  contains the words of the numbers 1
	 through 10, but includes TWO-AND-A-HALF and  NINE-AND-A-HALF.
	 EXPONT.2 contains just the words of the numbers 1 through 10.
	 There  are  two  differences  listed;	 the  first   one   is
	 TWO-AND-A-HALF,  occurring  in  EXPONT.1,  the  second one is
	 NINE-AND-A-HALF, occurring in EXPONT.1.

	 @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	 TWO-AND-A-HALF
	 1)	 THREE
	 ****
	 2)1	 THREE
	 **************
	 1)1	 NINE-AND-A-HALF
	 1)	 TEN
	 ****
	 2)1	 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.  (Note  that  the  user  typed  the  files  in  a
	 different order this time.)

	 @FILCOM

	 *=EXPONT.2,EXPONT.1/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
     000011	    000000  000000   561040  000001   561040  000001
     000012			     442224  053620
     000013			     406504  751500
     000014			     526404  042236
     000015			     414000  000000
     000016			     000002  000002
     000017			     040000  000000
     000020			     100442  462476
     000021			     000000  000000
     000022			     000005  000002
     000023			     200000  000000
     000024			     000000  000005
     000025			     000000  000000

     %files are different

     *

Characteristics

     After you start FILCOM, the contents of memory are destroyed  and
     your  terminal  is  at  FILCOM  command  level.  Type a CTRL/C to
     return to EXEC.

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 prepares  to  print  the  contents  of  a  binary  file,
     SUBRTN.REL.
	@FILCOM

	*PFILE=SUBRTN.REL/B

	%FILES ARE DIFFERENT
	*
	@PRINT PFILE.BCM
	[LPT:PFILE=/SEQ:1023/LIMIT:176, 1 FILE]
	@

Function

     The FORDDT program helps you debug FORTRAN programs.

Hints

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

Format

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

     STARTING FORTRAN DDT

     >FORDDT 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.

     FORDDT command	is any valid FORDDT command listed in Table n.

			       table n
			   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 table for a list of the valid modes.

			       table n
		       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		\TRYONE\
		characters enclosed
		in backslashes.

	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 execution  of  your  program  after  encountering  a
	lablel  at  which  a  you  have  set a pause .  If you want to
	resume execution elsewhere, type a label  after  the  CONTINUE
	command.

     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 variable n is a
	group number from 1 to 8 and list is a list of variable  names
	separated by commas.

     LOCATE n
	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 variable n can be a variable, array, label, line
	number or FORMAT statement number.

     MODE list
	Defines the default formats in which FORDDT prints the  values
	of  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		RASCII (right-justified)

     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 location
	Causes FORDDT to temporarily stop execution of your program at
	the  specified  location.   You may resume execution by giving
	the CONTINUE command.  You may set up to 10 pause locations at
	one time.

     REMOVE location
	Removes a pause at the specified location.  If you do not give
	a  location  and  type  the  complete command name, the system
	removes all pauses.

     START location
	Starts your program at the specified location which can  be  a
	line  number or a program name.  If you do not type a location
	(or if you type a program name), the system  starts  execution
	at the beginning of the program.

     STOP
	Terminates the execution of your program,  closes  all  files,
	and returns you to 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  specifications.   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 preceeding table.  In the example, the user  gives  the
	START command which starts executio of his program.

	>>START

Characteristics

     The DEBUG command loads your FORTRAN program  into  memory  along
     with  FORDDT,  thereby  destroying  the contents of 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.2433850]

	PAUSE AT 10 IN MAIN PROGRAM	!Execution reached statement 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				!Abbreviate 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
	@

Function

     The FORTRAN  compiler  produces  object  programs  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.

	@EMACS
	C-X C-V SMALL.FOR

	      TYPE 101
	101   FORMAT (' THIS IS A MINI FORTRAN PROGRAM.')
	      STOP
	      END

	C-X C-S
	Written: SMALL.FOR.1

	C-C
	@

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

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

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

Characteristics

     The LOAD-class commands run the  FORTRAN  compiler  to  translate
     your  FORTRAN  source program, thereby destroying the contents of
     memory.  Depending on the operation you  request,  your  terminal
     may or may not be left in EXEC.

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 that 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
	@

Function

     The GET command clears memory;  then loads it with a  core  image
     program.

Hints

     The only type of program that you may place in  memory  with  the
     aid  of  this command is a core image program.  To produce a core
     image program first  give  the  LINK  command  to  translate  the
     program  and  load  it  into  memory;  then second, give the SAVE
     command to save the core image 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
     core by giving the MERGE command.

Format

     @GET (PROGRAM) filespec

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

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
	 @

Errors

     1.  If the file does not contain a valid core image  program  the
	 system may print a ?  and not place the program in memory.

	 @GET (PROGRAM) TEST.REL
	  ?
	 @

Characteristics

     The GET command:

	Resets memory;  then inserts a new program, thereby destroying
	the previous contents.

	Leaves your terminal in EXEC.

Examples

     The user places the program DIFFER.EXE.2 in memory.
	@GET (PROGRAM) DIFFER.EXE.2
	@

Function

     The HELP program prints information about programs.

Hints

     You can get information about most system programs by  using  the
     HELP program.

     Information about MIT supplied programs including
     EMACS, and many DEC programs, is available in structured form
     through the XINFO program.  See XINFO.

Format

     @HELP name

     name	    is the name of the  program  for  which  you  need
		    information.   The  name is comprised of up to six
		    alphanumeric characters.  If you want  a  list  of
		    programs for which you can obtain information, use
		    an asterisk in place of name.

Operation

     1.  Type HELP and leave a space.

	 @HELP

     2.  Type the name of the program or an asterisk, then  press  the
	 RETURN key.  The system prints the information.

	 @HELP EDIT

     3.  If you want to stop  the  printout,  type  a  CTRL/O  or  two
	 CTRL/Cs.

Errors

     1.  If the system does not have any information on the particular
	 program, it prints the message:

	 ?

	 %NO INFO ON "name"

	 where name is the name of the program which you typed.

Characteristics

     After running the  HELP  program,  the  contents  of  memory  are
     destroyed and your terminal is in EXEC.

Restrictions

     You may obtain information for most programs.

Examples

     The user prints information about EDIT.
	@HELP EDIT
	SUMMARY OF EDIT COMMANDS
	.
	.
	.
	@

Function

     The INFORMATION command prints information about  various  system
     and job parameters.

Hints

     The SET command changes many of the parameters  you  can  examine
     with the INFORMATION command.

Format

     @INFORMATION (ABOUT) parameter modifier

     parameter	    is one of the parameters listed in  the  following
		    table.

     modifier	    exists  for  some	parameters   and   selects   a
		    particular aspect of a parameter.

			       Table n
			INFORMATION Parameters

     AVAILABLE category
	  Prints a list of the unused  system  devices  (if  you  type
	  DEVICES,  or  leave category blank) or unused terminal lines
	  (if you type LINES).

     CARD-READER-INPUT-SET
	  Prints the definition list of the card reader input set.

     COMMAND-LEVEL
	  Prints    the    status    of    the	   ERROR-RETRY	   and
	  LATE-CLEAR-TYPEAHEAD parameters.

     DISK-USAGE (OF DIRECTORY) directory
	  Prints the number  of  pages  allocated,  the  working  page
	  limit,  and  the  permanent  page  limit  of  the  specified
	  directory.  Also prints the number  of  pages  available  in
	  system storage.  If you default the directory field or leave
	  it  blank,  the  system  prints  the  information  for  your
	  connected directory.

     ERRORS
	  Prints information about disk and drum errors for your job.

     FILE-STATUS (OF) jfn
	  Prints your connected directory name and for  the  specified
	  jfn (or each jfn if you leave jfn blank) prints the:

	  1.  JFN number,

	  2.  File specification, and

	  3.  Access which opened the file.

	  The access describes the reason for opening the file and its
	  access condition.  The reasons for opening a file are:

	  APPEND    -for appending to the file
	  EXECUTE   -for executing the file
	  NOT OPENED -you have identified the file in  some  way,  but
		     not actually accessed its contents yet
	  PER PAGE TABLE  -different  part  of  the  file  are	 being
		     accessed differently
	  READ	    -for reading the file
	  WRITE     -for writing the file

	  The access conditions are:

	  DATA ERROR -there is an error accessing the file
	  EOF	    -the file pointer is at the end of the file

	  If appropriate, the file's byte  pointer  is  printed  along
	  with  its  byte  size.   This represents the number of bytes
	  that have been transferred to or from the file.

	  The system also prints  a  list  of  the  devices  currently
	  assigned to your job.

     JOB-STATUS
	  Prints your job number, user name, connected  directory  (if
	  different  from  your  logged-in  directory),  and  terminal
	  number.

     LOGICAL-NAMES (OF) identifier
	  Prints the current logical names and their definitions which
	  are  defined  for your job (if you use the identifier JOB or
	  default  the  field),  for  the  system  (if  you  use   the
	  identifier  SYSTEM), or for both your job and the system (if
	  you use the identifier BOTH).

     MEMORY-USAGE
	  Prints the number of memory pages assigned  to  the  current
	  fork,  the  location  and length of the entry vector, and on
	  each succeeding line:

	  1.  The pages occupied by a file or program.

	  2.  A file specification if the pages are shared, or PRIVATE
	      if they are private.

	  3.  The page numbers of shared pages (if a page  is  mapped,
	      the  system  prints  an  @ and the file specification to
	      which it is mapped).

	  4.  The access of the pages.  The permitted accesses are:

	      R       -Read access
	      W       -Write access
	      CW      -Execute, or
	      PER PAGE TABLE

     MONITOR-STATISTICS
	  Prints a list of monitor and system performance statistics.

     PROGRAM-STATUS
	  Prints the amount of central processor time  you  have  used
	  since  you  have  logged-in  to the system and the amount of
	  time you have  used  in  the  command  language  interpreter
	  (EXEC).   PROGRAM-STATUS  also  prints  the  status  of  the
	  PROGRAM UUOs and CONTROL-C parameters.

     PSI-STATUS
	  Prints information about the pseudo-interrupt  system  which
	  includes  whether  the  PSI  system  if ON or OFF, the level
	  table mask, the channel table mask, the levels in  progress,
	  the  numbers of the enabled channels, and the numbers of the
	  waiting channels.

     SPOOLED-OUTPUT-ACTION
	  Tells whether your job spools output IMMEDIATELY  or  it  is
	  DEFERRED to when you logout.

     SUBSYSTEM-STATISTICS
	  Prints the name of subsystems, the total runtime  they  have
	  incurred,  the  number of page faults per second they cause,
	  their size (in  blocks),  and  their  working-set  size  (in
	  pages).

     SYSTEM-STATUS
	  Tells whether the operator is in attendence,  logging-in  on
	  remote  terminals  is allowed, logging-in on local terminals
	  is allowed, logging-in on pseudo-teletypes is  allowed,  and
	  if entries are being made in the fact file.

     TAPE-PARAMETERS
	  Prints the current tape density (in bpi), tape  parity  (ODD
	  or	  EVEN),      format	  (ANSII-ASCII,     CORE-DUMP,
	  INDUSTRY-COMPATIBLE, or SYSTEM-DEFAULT), and record length.

     TERMINAL-MODE
	  Prints  information  about   your   terminal	 type,	 links
	  (receiving  or  refusing),  advice  (receiving or refusing),
	  page mode  (yes  or  no),  length  (decimal  number),  width
	  (decimal  number), lowercase (yes or no), raise (yes or no),
	  flag (yes or no), indicate (yes or  no),  formfeed  (yes  or
	  no),  tabs (yes or no), immediate (yes or no), fullduplex or
	  halfduplex.  Refer to the terminal command and Chapter n for
	  more information about these parameters.

     VERSION
	  Prints the system name, the date it was installed,  and  the

	  version  of  the  command  language interpreter (EXEC), then
	  prints the name and version  of  the  program  currently  in
	  memory.

Operation

     1.  Type INFO and press the ESC key;  the system  prints  RMATION
	 (ABOUT).

	 @INFORMATION (ABOUT)

     2.  Type (or use recognition on)  the  parameter  name.   If  the
	 parameter does not have a qualifier, press the RETURN key and
	 the system prints the information.

	 @INFORMATION (ABOUT) TAPE-PARAMETERS
	  SET TAPE DENSITY 800
	  SET TAPE PARITY ODD
	  SET TAPE FORMAT ANSI-ASCII
	  SET TAPE RECORD-LENGTH 80
	 @

     3.  If the parameter has a qualifier, type  (or  use  recognition
	 on) the qualifier, press the RETURN key and the system prints
	 the information.  You may default  the  qualifier  by  simply
	 omitting it.

	 @INFORMATION (ABOUT) AVAILABLE LINES
	  0-2, 4-10, 12-14, 16-17, 25, 30-41, 44-54, 56-101, 107-125
	 @

Characteristics

     The INFORMATION command does not change the  contents  of  memory
     and leaves your terminal in EXEC.

Examples

     The user lists the available device.
	@INFORMATION (ABOUT) AVAILABLE DEVICES
	 MTA1-3, PCDRO, FEO-3, PTY7-23
	 DEVICES ASSIGNED TO THIS JOB: TTY110
	@

     The user prints information about command level.
	@INFORMATION (ABOUT) COMMAND-LEVEL
	 SET NO COMMAND-LEVEL ERROR-RETRY
	 SET NO COMMAND-LEVEL LATE-CLEAR-TYPEAHEAD
	 SET PROGRAM UUOS (ALLOWED)
	 SET PROGRAM CONTROL-C (CAPABILITY)
	@

     The user finds out about his disk usage.
	@INFORMATION (ABOUT) DISK-USAGE (OF DIRECTORY)
	 431 PAGES ASSIGNED, 421 IN USE, 10 DELETED
	 2500 WORKING, 1300 PERMANENT ALLOWED
	 26249 SYSTEM PAGES FREE
	@

     The user gets information about his file-status.
	@INFORMATION (ABOUT) FILE-STATUS (OF JFN)

	 CONNECTED TO <MCKIE>.  JFNS:
	 4   OTHER-USERS-FILES.RNO.2	READ, WRITE, 0,(7)
	 3   <SUBSYS>VTED.EXE.34	READ, EXECUTE
	 1   <SYSTEM>EXEC.EXE,282	READ, EXECUTE

	 DEVICES ASSIGNED TO THIS JOB: TTY110
	@

     The user prints his job-status.
	@INFORMATION (ABOUT) JOB-STATUS
	 JOB 14, USER MCKIE, TTY110
	@

     The user prints the meanings of his logical names.
	@INFORMATION (ABOUT) LOGICAL-NAMES (OF)
	 LIB => <FORTRAN-LIBRARY>
	@

     The user prints information about the contents of memory.
	@INFORMATION (ABOUT) MEMORY-USAGE

	 497. PAGES, ENTRY VECTOR LOC 435 LEN 2

	0	PRIVATE  R, W, E
	1-10	@ <SUBSYS>VTED.EXE,34  4-13   R, CW, E
	20-767  @ OTHER-USERS-FILES.RNO.4  0-747   R, W, E
	@

     The user prints information about his program-status.
	@INFORMATION (ABOUT) PROGRAM-STATUS
	 USED 0:00:20 IN 0:06:53
	 EXEC: 0:00:07.6
	@

     The user finds out about the state of the pseudo-interrupt
	system.
	@INFORMATION (ABOUT) PSI-STATUS
	 PSI IS ON, LEVTAB=464, CHNTAB=467
	 LEVELS IN PROGRESS = NONE
	 CHANNELS ENABLED = 0, 1
	 CHANNELS WAITING = NONE
	@

     The user gets the system status.
	@INFORMATION (ABOUT) SYSTEM-STATUS

	 OPERATOR IS NOT IN ATTENDANCE
	 REMOTE LOGINS ALLOWED
	 LOCAL LOGINS ALLOWED
	 PSEUOD-TELETYPE LOGINS ALLOWED
	 CONSOLE TELETYPE LOGIN ALLOWED
	 FACT FILE ENTRIES ARE ENABLED
	@

     The user gets information about tape parameters.
	@INFORMATION (ABOUT) TAPE-PARAMETERS
	 SET TAPE DENSITY 1600
	 SET TAPE PARITY ODD
	 SET TAPE FORMAT CORE-DUMP
	 SET TAPE RECORD-LENGTH 1000
	@

     The user prints information about his terminal mode.
	@INFORMATION (ABOUT) TERMINAL-MODE
	 TERMINAL TERMINET
	 RECEIVE LINKS
	 REFUSE ADVICE
	 TERMINAL NO PAGE
	 TERMINAL LENGTH 66
	 TERMINAL WIDTH 72
	 TERMINAL LOWERCASE
	 TERMINAL RAISE
	 TERMINAL NO FLAG
	 TERMINAL INDICATE
	 TERMINAL NO FORMFEED
	 TERMINAL NO TABS
	 TERMINAL NO IMMEDIATE
	 TERMINAL FULLDUPLEX
	@

Function

     The LOAD command places one  or  more  object  files  in  memory,
     forming a runnable program.

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.

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 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.

     If you type the name of the source  files  used  to  produce  the
     desired object file(s), 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  NSTLAT.FOR  to
     produce  an  up-to-date  NXTLAT.REL.  After producing NSTLAT.REL,
     the system loads it  into  memory.

Format

     @LOAD (FROM) sources object,sources object,...

     sources	    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 listed
		    in Table n.  If there is more than one file with a
		    standard file type, the system uses .FOR.

     a space	    separates the source file specifications from  the
		    object  file specification.  If you do not give an
		    object file specification,  you  do  not  have  to
		    leave a space.

     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.

     @name.typ	    You may store any portion  of  the  command  in  a
		    file.   That  portion of the command is included -
		    just as  if  you  typed  it  on  your  terminal  -
		    whenever you type an @ followed by the name of the
		    file.  You may use recognition in typing the  file
		    specification,  but  the  commands within the file
		    may not use recognition.

			       Table n
			 Standard File Types

			 Type		Language

			 .ALG		ALGOL
			 .CBL		COBOL
			 .FAI		FAIL
			 .FOR		FORTRAN (default)
			 .MAC		MACRO
			 .SAI		SAIL
			 .SNO		SNOBOL

			       Table n
			LOAD Command Switches

     You may use recognition to help you type a switch  and  any  file
     specification  which  is an argument to a switch.  If you place a
     switch before a set of sources, the switch  applies  to  all  the
     files in that set of sources;  if you place a switch after a file
     specification in a set of sources, the  switch  applies  to  just
     that file.

     Switch				Function

     /ALGOL
	  (or a file with the  type  .ALG)  Compiles  the  file  using
	  ALGOL.   When used with the /DEBUG switch, the /ALGOL switch
	  loads the DDT debugging program.

     /BINARY

	  Generates  a  binary  file  for  each  set  of  source  file
	  specifications.  Normally, the system generates these binary
	  files, so this  switch  is  useful  in  reversing  a  global
	  /NOBINARY switch.

     /COBOL
	  (or a file with the  type  .CBL)  Compiles  the  file  using
	  COBOL.   When used with the /DEBUG switch, the /COBOL switch
	  loads the COBDDT debugging program.

     /COMPILE
	  (or an object file older than any one of  the  corresponding
	  source  files)  Produces  an  object  file from the sources,
	  regardless  of  whether  it  is  up-to-date  or  not.    The
	  /NOCOMPILE  switch  causes  the  system to produce an object
	  file only if it 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
	  Produces a cross-reference listing file for each  file  that
	  is  compiled  or  assembled.  The name of the output file is
	  the name of the last source file and the type is .CRF.   You
	  can then give the CREF command to produce a listing.

     /DDT
	  Loads the DDT debugger along with the program.

     /DEBUG
	  Provides additional  debugging  information  in  the  object
	  program (FORTRAN only).

     /FAIL
	  (or a file with the type .FAI) Assembles the file with FAIL.
	  When used with the /DEBUG switch, the /FAIL switch loads the
	  DDT debugging language.

     /FORTRAN
	  (or a file with  the  type  .FOR  or  a  non-standard  type)
	  Compiles  the file using FORTRAN.  When used with the /DEBUG
	  switch, the  /FORTRAN  switch  loads  the  FORDDT  debugging
	  program.

     /LIBRARY
	  Loads the file only if it is needed (i.e., one  or  more  of
	  its  declared  entry  symbols  satisfies an undefined global
	  request in the  source  file).   The  system  libraries  are
	  always searched.

     /LIST
	  Generates a disk listing file for each file that is compiled
	  or  assembled.   Give  the  PRINT command if you want a line
	  printer copy of the file.  The listing file name is the name
	  of  the  last  source file and the type is .LST.  Unless you

	  specify this switch, the system does not generate a  listing
	  file.

     /MACRO
	  (or a file with the type  .MAC)  Assembles  the  file  using
	  MACRO.   When used with the /DEBUG switch, the /MACRO switch
	  loads the DDT debugging program.

     /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 an 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 a debugger with the program.

     /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 referenced or not.  This action is the default,
	  therefore it is useful in turning off the /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 existing object files,  even  though  they  may  be
	  out-of-date.	 The  /COMPILE  switch  causes  the  system to
	  always produce an object file;  the /NOCOMPILE switch causes
	  the system to produce an object file only if the current one

	  does not exist or  is  out-of-date.	Normally,  the  system
	  assumes the action of the /NOCOMPILE switch.

     /SAIL
	  (or a file with the type  .SAI)  Assembles  the  file  using
	  SAIL.   When  used  with the /DEBUG switch, the /SAIL switch
	  loads the DDT debugging program.

     /SEARCH
	  Is identical to the /LIBRARY switch.

     /SNOBOL
	  (or a file with the type  .SNO)  Translates  the  file  with
	  SNOBOL.

     /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  and  object specifications.  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  destroying  the
     contents  of  memory, and leaves your terminal in EXEC.

Examples

     The user loads a simple MACRO program.
	@LOAD (FROM) TRANSL.MAC
	MACRO:  TRANSL
	LINK:  LOADING
	@

     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,  producing  a  cross-reference
     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 the arguments in  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
	@

Function

     The  LOGIN  command  tells  the  system  you  want  to  use   its
     timesharing  resources,  validates  you  as  a  user,  and begins
     charging your account.   After  creating  your  job,  the  system
     executes  the  commands  stored  in the file LOGIN.CMD.

Hints

     Obtain a valid user name, password, and account number from  your
     system manager.

     You must type a CTRL/C before you can give the LOGIN command.

     After the CTRL/C and before giving the  LOGIN  command,  you  may
     give a TERMINAL command to tell the system which type of terminal
     you have.  You can also give the DAYTIME and INFORMATION commands
     without being logged-in.

Special Cases

     If you are allowed to have alphanumeric accounts, the system uses
     the  guide word (ACCOUNT) and you may type an alphanumeric string
     for an account.

Format

     @LOGIN (USER) user name (PASSWORD) password (ACCOUNT #) account

     user name	    is  your  user  name  (comprised  of  up   to   39
		    alphanumeric characters, including hyphen).

     password	    is the password associated with  your  user  name.
		    The  password is comprised of up to 39 letters and
		    digits.  You should keep your password secret.

     account	    is your account number.

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.  If you
	 type  the  name  of a files-only directory, the system prints
	 the following message and returns you to command level.

	 ?YOU CANNOT LOG IN UNDER THAT DIRECTORY NAME

	 @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 number 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 incorrect  password,  the  system  prints  the
	 following message and does not log you in.

	 ?ILLEGAL PASSWORD

	 Reissue the command with the correct password.

     2.  If you type an  incorrect  account,  the  system  prints  the
	 following message and does not log you in.

	 ?INCORRECT ACCOUNT

	 Reissue the command with the correct account.

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 which  you  have  not
     already  seen.   If  you do not want to read the messages, type a
     CTRL/O.

     If you have exceeded your working disk  storage  allocation,  the
     system prints the message:

     <directory> OVER WORKING 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;
     otherwise  the  system  may  prohibit  you  from creating any new
     files.

     If another user has left you a message, the system prints:

	YOU HAVE A MESSAGE, READ WITH RDMAIL

     Use the RDMAIL program to read your mail.

     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
	END OF LOGIN.CMD

Characteristics

     The LOGIN command is usually the  first  command  that  you  give
     after  the  initial  CTRL/C  and  leaves your terminal in EXEC.

Restrictions

     You can give the LOGIN command only after you type a CTRL/C.

Examples

     The user PAUL logs in to the system and finds he has a message.
	@LOGIN (USER) PAUL (PASSWORD) _ (ACCOUNT #) 10231
	 JOB 23 ON TTY34 16-JAN-76 10:27
	 YOU HAVE A MESSAGE, READ WITH RDMAIL
	@

Function

     The LOGOUT command closes all your open files, checks  your  disk
     storage  allocation, ends your job and prints a message.  You may
     also logout another job as long as it  is  logged-in  under  your
     user name.

Format

     @LOGOUT n

     n	 is the job number of the job you want to logout.  If you  are
	 logging-out  your current job (as is the common case), do not
	 type a number.

Operation

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

	 @LOGOUT

     2.  To logout your current job, press the RETURN key.  If you are
	 over  your  disk  storage  allocation  the  system  prints  a
	 message.

	 @LOGOUT
	 KILLED JOB 13, USER LESTER, ACCT 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 logout another user's job, the  system  ignores
	 the LOGOUT command and prints the message:

	 ?WHEEL OR OPERATOR  SPECIAL  CAPABILITY  REQUIRED  TO  LOGOUT
	 ANOTHER JOB

     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

     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  your storage exceeds its quota.  You should
     log-in and delete enough files to remain under quota.

Characteristics

     The LOGOUT command:

	 Resets your job, unless you are logging-out another  job,  in
	 which case it does not change the contents of memory.

	 Leaves your terminal in EXEC.

Restrictions

     You cannot logout another user's job.

     You cannot give a job number when you are  logging-out  your  own
     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, ACCT 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
	@

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.

     If you have a main program and assorted subroutines that  require
     special   loading,   refer  to  Chapter  n  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.

	 @EMACS
	 C-X C-V TEST1.MAC

		 TITLE TEST1
		 SEARCH MONSYM
	 TEST1:  RESET
		 HRROI T1,[ASCIZ /This is only a test program!
	 /]
		 PSOUT
		 HALTF
		 END TEST1

	 C-X C-S
	 Written: TEST1.MAC.1

	 C-C
	 @

     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  destroys  the
     contents  of memory and, depending on the command, may or may not
     leave you in EXEC.

Examples

     The user compiles his MACRO program.
	@COMPILE (FROM) VTED
	MACRO:  VTED

	EXIT
	@
     The user compiles his program, producing a file which is used  by
     the CREF command to produce a cross-reference listing.
	@COMPILE (FROM) /CREF INOUT
	MACRO:  INOUT

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

     The user combines two files to produce one source  program,  then
     loads them 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
	@START (PROGRAM)

	NAME OF FILE TO INITIALIZE: SYMTAB.EXT.2  [NEW FILE]
	CONFIGURATION COMPLETED.

	ANOTHER FILE? NO
	[DONE!]
	@

Function

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

Special Cases

     If the recipient of a message is logged-in at the time you send a
     message  to  him,  the  system  prints  the following line on his
     terminal:

		    [YOU HAVE A MESSAGE]

     (If the user's terminal is in any  mode  other  than  ASCII,  the
     system does not print the above n message.)

     If a user has not read a message by running the  RDMAIL  program,
     the system prints the line:

		    YOU HAVE A MESSAGE, READ WITH RDMAIL

     on his terminal whenever he logs-in to the system.

Hints

     The RDMAIL program allows you to read 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 type.  Refer to the second
     example.

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
	 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,  then  press  the
	 RETURN key.  The system prints the line:

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

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

	 If you wish, you may type the message into a  file;   if  you
	 did  so,  at  this  time type an @ and then the file name and
	 type.  Then, press the RETURN key.  If  the  mail  gets  sent
	 without  any  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

	 You should try to send the  message  again.   If  the  second
	 attempt fails, report the problem by using the GRIPE program.

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

	 ?ILLEGAL USER NAME - name

Characteristics

     After you start the MAIL  program,  the  contents  of  memory  is
     destroyed  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 in EXEC.  If you need
     to return to EXEC immediately, type a CTRL/C.

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 ^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, occurred twice so the system
     eliminated the redundancy.
	@MAIL

	TO: MCCARTHY, TOLMAN, @REST.FIL
	CC: LEWINE, WYMAN
	%DUPLICATE NAME PURGED - WYMAN
	SUBJECT:  MAINTENANCE
	MESSAGE (TERMINATE WITH ESC OR ^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 Z):

     @MACRO.CMD.1

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

Function

     The MAKLIB program updates files containing one  or  more  object
     programs  and  manipulates  the  individual programs within these
     files.  Languages that output object programs are MACRO, FORTRAN,
     COBOL, ALGOL, and BLISS-10.

Hints

     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 on which the  updated  file  is
			 written.   If  you  omit  the  device, MAKLIB
			 assumes DSK.

master dev:		 is the  device  containing  the  file  to  be
			 updated.   If  you  omit  the  device, MAKLIB
			 assumes DSK:.  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:.

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.

			 Progject-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
			 code 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.
			 You may use recognition in typing a switch.

			       Table n
			   MAKLIB Switches

Switch			 Function

/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.

/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 and  lengths  of  all  object
			 programs within a file.  The length is in one
			 of two  forms:   1)  low  segment  break/high
			 segment  break  or  2) program break/absolute
			 break.

				 NOTE

			 MAKLIB does not output the length of  FORTRAN
			 programs.

			 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 fie 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 an asterisk on
	 your terminal.

	 @MAKLIB
	 *

     2.  After the asterisk, type a command  comprised  of  an  output
	 device  (if needed) and file, an equals sign, a master device
	 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

     The @MAKLIB command:

	  Runs the MAKLIB program,  thereby  destroying  the  previous
	  contents of memory.

	  Places your terminal at MAKLIB command level.

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

Function

     The MERGE command places an .EXE file in memory, merging it  with
     any existing program.

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
     file.  In that case, the pages of the new file replace the  pages
     of the existing file.

     The MERGE command does not alter the entry vector.

Format

     @MERGE (PROGRAM) filespec

     filespec	    is the file specification of the file you want  to
		    merge.  If you do not give a file type, the system
		    uses .EXE.

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 15432

	 Make sure you have specified the correct file.

     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 in EXEC.

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

	@

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.

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.    The   operator's
	 identification  may 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 and is sent your message, 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]
	 @

Characteristics

     After you start the PLEASE program, the  contents  of  memory  is
     destroyed  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 Twenex command level.  If you must return to
     EXEC 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]
	@

Function

     The POP command terminates the current command level and  returns
     you to the next higher level.  The system terminates all inferior
     processes and closes any files associated with those processes.

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
     an inferior copy of the command language.

Format

     @POP (COMMAND LEVEL)

     There are no arguments to the POP command.

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)
	 @

Errors

     1.  If there is no higher level, the system ignores  the  command
	 and prints the message:

	 ?NO HIGHER COMMAND LEVEL

Characteristics

     The POP command destroys the contents of memory,  terminates  the
     current EXEC, and returns your terminal to the EXEC from which you
     gave the  most  recent  PUSH  command.

Examples

     The user terminates the current command level.
	 @POP (COMMAND LEVEL)
	 @

Function

     The PRINT command places entries into, examines the contents  of,
     or removes entries from the line printer output queue.

Hints

     The line printer output queue is a list of  jobs  waiting  to  be
     printed.

     To examine the contents of the entire queue, give just the  PRINT
     command;	if  you  want  just  your  job(s),  include the /CHECK
     switch.  To examine the contents of both  the  line  printer  and
     Batch input queues, give the QUEUE command without any arguments.
     If you want to examine just your jobs, include the /CHECK switch.
     (The  QUEUE  command  destroys  the contents of memory and leaves
     your terminal in EXEC.)

Format

     @PRINT jobname=filespecs/switches

     jobname	    is the name you want to  assign  to  the  printing
		    job.   If  you  do  not type a jobname, the system
		    uses the name of the first file you want to print.
		    When  omitting  the jobname, you may also omit the
		    equals sign.

     filespecs	    is a list of  file  specifications,  separated  by
		    commas.   Each file specification may contain only
		    a device name, file name and file  type.   If  the
		    file  type  is .LST, you do not have to include it
		    in the file specification.  To print a  file  from
		    another   user's   directory,   connect   to   the
		    directory,	 then	give   the   PRINT    command.
		    Alternatively,	you	 may	 include     a
		    project-programmer	 number   after    the	  file
		    specification.

     switches	    is a list of switches selected from Table  n.   If
		    you want a switch to apply to only one file, place
		    the   switch    after    the    particular	  file
		    specification;  if you want the switch to apply to
		    all the following files in  the  list,  place  the
		    switch before the file specifications.

		    To print the contents of the line  printer  output
		    queue,   give   the   PRINT  command  without  any
		    arguments.

			       Table n
			Print Command Switches

     /AFTER:time
	  Submits the file for printing after the specified time.  The
	  argument time is in the form hh:mm (24-hour time of day), or
	  +hh:mm  (time  later  than  the  current  time).   You  must
	  separate the hours from minutes by typing a colon.

     /CHECK
	  Prints only your entries in the line printer  output  queue.
	  (Normally,  the  system  prints  all the entries in the line
	  printer output queue.)

     /COPIES:n
	  Makes n copies of the file(s).  The argument n  (the  number
	  of  copies)  must  be  less  than  64.   Normally, the PRINT
	  command makes one copy of each file.

     /DELETE
	  Immediately removes the file from your directory,  does  not
	  count  its  size in your permanent disk space allocation and
	  deletes the file after it is printed.  This is  the  default
	  if the file has a .LST file type.

     /FILE:ASCII,	Up: Top
	  Specifies that the file is in ASCII text  format.   This  is
	  assumed for all files with file types other than .DAT.

     /FILE:COBOL,	Up: Top
	  Specifies that the file contains COBOL SIXBIT text.

     /FILE:FORTRAN,	Up: Top
	  Specifies that the file  contains  FORTRAN  ASCII  text  and
	  obeys  the  conventions of FORTRAN control characters.  This
	  is assumed for all files with the type .DAT.

     /FORMS:size
	  Asks the operator to mount the specified  forms  before  the
	  system  prints  the  job.  The argument size must be six (or
	  less) alphanumeric characters;  usually it is either  NARROW
	  (for 8 1/2 x 11 paper) or NORMAL (for 15 x 11 paper).

     /HEADER:n
	  Outputs block headers at the beginning of each file (if  you
	  do  not  give  the switch, or if n is 1), or else suppresses
	  the headers (if n is 0).  The header contains  the  name  of
	  the	file,  the  date  of  the  request  and  other  useful
	  information.

     /HELP
	  Prints the general syntax of the PRINT command, including  a
	  complete list of switches.

     /HELP:SWITCHES
	  Prints a list of  all  the  switches,  along  with  a  brief
	  description of each.

     /KILL
	  Removes the specified jobnames from the line printer  output
	  queue.   When  you  give the /KILL switch, type a jobname or
	  the /SEQ switch on the left side of the equals  sign  before
	  typing the switch /KILL on the right side.  If more than one
	  job has the same jobname, use the /SEQ  switch  to  identify
	  the proper job.

     /LIST
	  Prints information about the specified jobnames in the  line
	  printer  output queue.  If you do not specify a jobname, the
	  system prints the status of the entire line  printer  output
	  queue.

     /NOTE:text
	  Prints the string text (not more than 12 characters) on  the
	  header page.  If text contains non-alphanumerics, enclose it
	  in double quotes.

     /REPORT:code
	  Includes only those lines that begin with the specified code
	  of  up  to twelve alphanumeric characters.  When these lines
	  are printed, the system strips the code before printing  the
	  line.

     /SEQ:n
	  Aids you in specifying the exact job to  kill.   The  number
	  argument  n  is  the sequence number listed when you examine
	  the contents of the line printer output queue.

     /START:n
	  Starts printing on the nth line of the file.	 If  you  omit
	  this  switch,  the  system always starts at the beginning of
	  the file.

Operation

     1.  Type PRINT and leave a space.

	 @PRINT

     2.  Type the list of file specifications and switches, then press
	 the RETURN key.

	 @PRINT TEST.OUT/FORTRAN, ENABLE.MAC/COPIES:2
	 [LPT:TEST=/SEQ:2040/LIMIT:200, Z FILES]
	 @

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  number of pages in your print request and f is the number of
     files in that request.

     If you are killing a job, the system  prints  a  message  in  the
     form:

     [n JOB(S) KILLED]

     where n is the number of jobs you removed from the queue.

     The system prints the contents of the line printer  output  queue
     in the form:

     DEV	  USER				 JOB	SEQ PRIO LIMIT	  AFTER

     LPT	  MCKIE				TEST	170  10     42
     PLPT0 * MILLER				KMON	165  10    115
     * JOB BEING OUTPUT NOW

     TOTAL:	  LPT:				2 JOBS; 167 PAGES

     DEV is the device name.  The device name is LPT until the job  is
     actually  being  printed, then the system changes the device name
     to the physical printer number PLPT0.  USER is the user name  who
     is  printing  the  job.  JOB is the jobname;  SEQ is the sequence
     number;  PRIO is the priority number;  LIMIT  is  the  number  of
     pages  in  the request and AFTER is the length of time the system
     must wait before printing the file (usually it is 0).

Characteristics

     The PRINT command runs the QUEUE program, thereby destroying  the
     contents  of  memory  and leaves your terminal in EXEC.

Restrictions

     To print a file from another user's directory, either connect  to
     the  directory  and  then  given  the  PRINT  command,  or (while
     connected to your directory) precede the file specification  with
     a  project-programmer  number,  you  may  not use a logical name.

     You may use recognition only on the command name.

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 RUN4 on the header page.
	@PRINT INDEP.VAR,DEPEND.VAR,ERROR.DEV,TIMES.VAR/NOTE:RUN4
	[LPT:INDEP=/SEQ:102/LIMIT:235, 4 FILES]
	@

     The user removes the entry he made in the last example.  All four
     files are killed.
	@PRINT INDEP=/KILL
	[1 JOB KILLED]
	@

Function

     The PUSH command preserves the program  in  the  current  command
     level  and creates an inferior command level.  After creating the
     new command level the system prints a message and takes  commands
     from the file COMAND.CMD.

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.

Format

     @PUSH (COMMAND LEVEL)

     There are no arguments to the PUSH command.

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 1(100)
	 @

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 in a new EXEC with a fresh copy of
     memory.  Give the POP command to terminate this new EXEC
     and  return  to  the old one, restoring the preserved contents of
     memory.

Examples

     The user creates a new command level.
	@PUSH (COMMAND LEVEL)

	TOPS-20 1(100)
	@

Function

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

Hints

     If you have received a message since the last time you  logged-in
     to the system, the line:

     YOU HAVE A MESSAGE, READ WITH RDMAIL

     is printed when you log-in to the system.

     If someone sends you a message while you  are  logged-in  to  the
     system, the line:

     [YOU HAVE A MESSAGE]

     is printed on your terminal.

     To send a message, run the MAIL program.

Operation

     1.  Start the program by typing (or using recognition on) RDMAIL,
	 then press the RETURN key.  The system prints

	 TIME AND DATE  (/H FOR HELP).

	 @RDMAIL
	 TIME AND DATE  (/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  Twenex  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.

	 There are switches which you may type following the date  and
	 time  to  perform special operations.  The switches and their
	 functions are outlined in Table n.

			       Table n
			   RDMAIL Switches

     Switch		      Function

     /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.

     /M		    Instructs RDMAIL to look  at  the  system  message
		    file, rather than your own message file.

     /P		    Inhibits 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  any  switches  you  want,
     RDMAIL prints out the messages you requested.

     TIME AND DATE  (?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

     After you start the RDMAIL program, the  contents  of  memory  is
     destroyed  and  your  terminal  is  left at RDMAIL command level.
     Type the necessary command and your  terminal  will  be  left  in
     EXEC.  If you need to return to EXEC immediately, type a CTRL/C.

Examples

     The user reads all his mail since 3PM today.
	@RDMAIL
	TIME AND DATE  (/H FOR HELP)  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.

	   ========
	@

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  continues  the  program  in  memory  at  the
     reentry  address specified in its entry vector.  Your terminal is
     left under control of the program.

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

Function

     The RENAME command changes the file specification,  account,  and
     protection number of a file.

Hints

     If the new file specification refers to  an  existing  file,  the
     contents  of  the  renamed  file  supercede  the  contents of the
     existing file.  You cannot recover the contents of  the  existing
     file.

Format

     @RENAME (EXISTING FILE) filespec (TO BE) filespec;Pprot;Aaccount

     filespec		      is the source file specification of  the
			      file you are renaming.

     filespec;Pprot;Aaccount  is   the	 new	file	specification,
			      protection,  and  account  descriptor of
			      the source file.

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.1 (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 and account;
	 then press the RETURN key.

	 @RENAME (EXISTING FILE) TEST2.DAT.1 (TO) TEST1.DAT.1
	 @

	 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   file
	 specifications  and  you  use  recognition  on  the  new file
	 specification (or leave a space after it), the system  prints
	 one  of  the  following messages identifying the class of the
	 type of the new file specification.

	 [OLD GENERATION]     if you are superceding 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

	 You must give the CLOSE command before renaming the file.

Characteristics

     The RENAME command does not change the  contents  of  memory  and
     leaves your terminal in EXEC.

Restrictions

     The source file must be closed before it can be renamed.

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]
	@

Function

     The RESET command clears memory and closes all open files.

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.

Format

     @RESET

     There are no arguments to the RESET command.

Operation

     1. Type RESE and press the ESC key;  the system prints T.	 Press
	the  RETURN  key;  when your job is reset the system prints an
	@.

	@RESET
	@

Characteristics

     The RESET command destroys the contents of memory and leaves your
     terminal in EXEC.

Examples

     The user clears memory, closes all  open  files  and  checks  the
     contents of memory.
	@RESET
	@INFORMATION (ABOUT) MEMORY-USAGE
	 NO PROGRAM
	@

Function

     The REWIND command rewinds a magnetic tape to its load point.

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.

Format

     @REWIND (DEVICE) dev:

     dev:	    is the magnetic tape device name in the form MTAn:
		    where n is the drive number.

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 MUST BE 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 PLEASE program to contact the operator;  then reissue
	 the command.

Characteristics

     The REWIND command does not change the  contents  of  memory  and
     leaves your terminal in EXEC.

Restrictions

     The REWIND command works only for magnetic tapes.

Examples

     The user rewinds his tape on drive 1.
	@REWIND (DEVICE) MTA1:
	@

Function

     The RUN command clears memory, loads an  executable  program  and
     starts it.

Hints

     If you are running another user's program, all you have to do  is
     type  (or use recognition on) the proper file specification;  you
     do not have to give the RUN command.

     The RUN command  is  equivalent  to  a  combined  GET  and  START
     command.

Format

     @RUN (PROGRAM) filespec

     filespec	    is the file specification of the program you  want
		    to  run.   If  you  omit the file type, the system
		    assumes .EXE.

Operation

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

	 @RUN (PROGRAM)

     2.  Type (or use recognition on) the file specification and press
	 the RETURN key.  The system starts the program.

	 @RUN (PROGRAM) TELL
	 MESSAGES ARE BEING SENT...
	 DONE.
	 @

Characteristics

     The RUN command leaves your terminal in user  mode  and  destroys
     the previous contents of memory.

Examples

     The user runs the program TESTER.
	@RUN (PROGRAM) TESTER
	THIS IS A TEST OF THE DISK RECOVERY PROCEDURE.
	HOW MANY DIRECTORIES?  5
	NO ERRORS.
	DONE.
	@

Function

     The SAVE command saves the program in memory in a disk file or on
     magnetic tape.

Hints

     You may save a program after loading it  into  memory  using  the
     LOAD  command  or  the LINK program.  Then, instead of giving the
     EXECUTE command, you may now use the RUN command.	 To  you  this
     means  a  saving  in  time  and  cost  since  the EXECUTE command
     compiles, loads and starts your program while the RUN command has
     only  to  get the memory image of the program and start it.  Thus
     you should SAVE all your production programs, then give  the  RUN
     command to use them instead of the EXECUTE command.

     The system saves the program in a file called an .EXE file.   The
     file  type  .EXE  indicates  that  the  program it contains is an
     'EXEcutable' program.

Format

     @SAVE (ON FILE) filespec

     filespec	    specifies the file or magnetic tape drive on which
		    you  want  to  save  the  program.	 If you do not
		    specify a file specification, the system uses  the
		    name  of  the  current  program  and the file type
		    .EXE.

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
	 @

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 in EXEC.

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
	@

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.

Format

     @SET parameter value

     parameter		 is the name of the parameter you want to set.
			 Table  n  lists  the  names  of  some  of the
			 parameters you may set.

     value		 is  the  value  of   the   parameter.	  Some
			 parameters  do  not  have  values;   they are
			 actions which are taken or not taken.

			       Table n
			SET Command Parameters

     ACCOUNT (NUMBER TO) number
	Changes the account which the system charges for your  use  of
	the  computer  and  file storage.  The account number may be a
	number or (if you have the proper privleges)  an  alphanumeric
	string.

     ERROR-RETRY (OF COMMANDS)
	Directs the system to reprint the text of an erroneous command
	(minus  the  last  erroneous  field) on the line following the
	error.

     FILE ACCOUNT (OF FILES) filespec (TO) account
	Charges the accounts of  the  specified  files  to  the  given
	account number or string.

     FILE GENERATION-RETENTION-COUNT (OF FILES) FILESPECS (TO) number
	Sets the number of generations of a file that  will  be  kept.
	Normally,    this    is    one.

     FILE PROTECTION (OF FILES) filespec (TO) protection
	Changes the protection of the specified  files  to  the  given
	protection  number.

     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).  If you are unsure what to  use,  type  SYSTEM-DEFAULT.
	The  INFORMATION  (ABOUT)  TAPE-PARAMETERS  prints the current
	value of the density.

     TAPE FORMAT (TO) format
	Sets the default format for  magnetic  tape  operations.   The
	valid	  formats     are     ANSI-ASCII,    CORE-DUMP,    and
	INDUSTRY-COMPATIBLE.  If you are  unsure  what  to  use,  type
	SYSTEM-DEFAULT.    The	 INFORMATION  (ABOUT)  TAPE-PARAMETERS
	command prints the current format.

     TAPE PARITY (TO) parity
	Sets the default parity for  magnetic  tape  operations.   The
	usual setting is ODD.

     TAPE RECORD-LENGTH (TO) bytes
	Sets the default record length for magnetic  tape  operations.
	The  argument  bytes is the octal number of bytes in a record.
	Setting the record length to a large  number  (such  as  1000)
	works for most application.

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 (NUMBER TO) 10400
	 @

Characteristics

     The SET command does not change the contents of memory and leaves
     your terminal in EXEC.

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 (NUMBER TO) 10500
	@

Function

     The SKIP command advances a magnetic tape  a  certain  number  of
     files or records, or to the 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.

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).

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:

	?DEVICE OR DATA ERROR

     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 MUST BE ON-LINE

	Use the PLEASE program to contact the operator;  then  reissue
	the command.

     2. If a tape is not mounted on the device, the system  may  print
	the message:

	?DEVICE OR DATA ERROR

	Use the PLEASE program to contact the operator,  then  reissue
	the command.

Characteristics

     The SKIP command does not  change  the  contents  of  memory  and
     leaves your terminal in EXEC.

Restrictions

     The SKIP command works only for magnetic tapes.

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
	@

Function

     The SORT program orders the contents of a file according to rules
     you specify in a SORT command.

Hints

     With the SORT program, you may alphabetize entries or place  them
     in  numerical  order,  then  store  the  results  back on disk or
     magnetic tape.

     If you are using magnetic tape, refer to the SET TAPE command and
     the information (ABOUT) TAPE-PARAMETERS command.

Format

     @SORT
     *outfil.typ=infil1.typ/switches,infil2.typ/switches...

     outfil.typ     specifies the output file.	 No  matter  how  many
		    input  files  you  have,  you can specify only one
		    output file which  will  receive  the  results  of
		    sorting  all the input files.  The output file can
		    be a disk file or a magnetic tape unit.

     infil.typ	    specifies an input file.   You  can  specify  more
		    than  one  input  file,  but  the  results of each
		    successive sort are appended to the  output  file,
		    not merged together.

     switches	    is a list of switches which  control  the  sorting
		    process.   Table  n  describes  some  of  the SORT
		    switches.  You must have at least one /KEY  switch
		    and one /RECORD switch for each input file.

     Each command must contain:

     1.  Only one output file,

     2.  An equal sign,

     3.  At least one input file,

     4.  At least one /KEY switch, and

     5.  At least one /RECORD switch.

			       Table n
			    SORT Switches

     Use a combination of the switches listed  below  to  control  the
     sorting  process.  You may abbreviate a switch name to the number
     of letters that uniquely  identify  it  from  any  other  switch.
     Thus,  /ALP is a valid abbreviation for /ALPHANUMERIC and /R is a
     valid abbreviation for /RECORD.

     /ALIGN
	Starts each record in the output file at the  beginning  of  a
	word.  /ALIGN increases the speed of the transfer and the size
	of the file.   You  may  find  the  /ALIGN  switch  useful  in
	aligning  records  at  the  left  margin  so you can print the
	output file.  If you do not give the /ALIGN switch, SORT  does
	not align each record.

     /ALPHANUMERIC
	Declares that the  current  key  field  contains  alphanumeric
	characters.    If   you   do   not  give  a  data-type  switch
	(/ALPHANUMERIC, /COMP, /COMP1, /COMP3,  /NUMERIC),  SORT  uses
	/ALPHANUMERIC;	  however  when  you  give  one  of  the  sign
	switches, it uses /NUMERIC.

     /ASCII
	Processes the input and output files in ASCII mode.  If you do
	not  give  a recording-mode switch, (/ASCII, /BINARY, /EBCDIC,
	or /SIXBIT), SORT uses a default mode  which  depends  on  the
	data type:

		Data type	   Default mode

		/ALPHANUMERIC	   /ASCII
		/NUMERIC	   /ASCII
		/COMP		   /SIXBIT
		/COMP1		   /SIXBIT
		/COMP3		   /EBCDIC

     /BINARY
	Processes the input and output files in binary mode  (if  they
	are  produced  by  COBOL).  If not, Refer to the /ASCII switch
	for the normal defaults.

     /BLOCKED:n
	Blocks the input and output files with n logical  records  per
	logical  block.   If the blocking factor is different for each
	input and output file, place a separate /BLOCKED switch  after
	each  file;   otherwise,  place the /BLOCKED switch before all
	the files.

     /COMP
	Declares    that    the    current    key    field    contains
	computational-fixed-point binary data.  Refer to /ALPHANUMERIC
	for the defaults.

     /COMP1
	Declares    that    the    current    key    field    contains
	computational-1-floating-point	  binary   data.    Refer   to
	/ALPHANUMERIC for the defaults.

     /COMP3
	Declares    that    the    current    key    field    contains
	computational-3-packed-decimal  data.	Refer to /ALPHANUMERIC
	for the defaults.

     /COMP:nP
	Allocates n pages (512 words) of memory for use in the sorting
	process.

     /EBCDIC
	Processes the input and output files in EBCDIC mode.  Refer to
	the /ASCII for the defaults.

     /FIXED
	Fixes the record size for the input and output files.  If  the
	files	vary,	place  a  separate  switch  after  each  file;
	otherwise, place the switch before all the files.  If  you  do
	not  give a /FIXED or /VARIABLE switch, the system uses /FIXED
	for files recorded in /SIXBIT or /EBCDIC  mode  and  /VARIABLE
	for files recorded in /ASCII mode.

     /FORTRAN
	Treats the input and output files as FORTRAN binary files.  If
	you do not give the /FORTRAN switch, the system assumes a file
	specified with /BINARY is a COBOL binary file.

     /HELP
	Prints a list of the SORT switches.

     /KEY:f:n:o
	Specifies the location and size of the next field to sort  and
	whether to sort it in ascending or descending order.

	f      (a decimal integer) specifies the position of the first
	       character in the field.

	       Count alphanumeric and numeric characters  starting  at
	       position  1.   Thus,  to  start  at the letter G in the
	       following record give the value 7 to f.

	       ABCDEFGHIJKLMNOPQRSTUVWXYZ

	       Count COMP and COMP1 keys by  specifying  the  leftmost
	       character   position   (which  must  begin  on  a  word
	       boundary).

	       For SIXBIT fields, f is any value 6n+1 (i.e., 1, 7, 13,
	       etc.).

	       For ASCII fields, f is any value 5n+1 (i.e., 1, 6,  11,

	       etc.).

	       For EBCDIC fields, f is any 4n+1 (i.e., 1, 5, 9, etc.).

	       For example, to specify the third SIXBIT field, use the
	       value  13;   to  specify the fourth ASCII field use the
	       value 16;  to specify the second EBCDIC field, use  the
	       value 5.  Using ASCII or EBCDIC for binary files is not
	       recommended since they may cause a loss of data.

	       The value you give for f must not be greater  than  the
	       record length you specify.

	n      (a decimal integer) specifies the number of  characters
	       or digits in the key.  Specify numeric and alphanumeric
	       keys in characters.  Specify  COMP,  COMP1,  and  COMP3
	       keys  in  digits  - 10 digits or less are one word;  11
	       digits or more are two words (do not count the sign for
	       COMP3).

	o      determines how the SORT is ordered:  use the  letter  A
	       (for  ascending)  or D (for descending).  If you do not
	       give  an  ordering  argument,  the  sort  is  done   in
	       ascending order.  The order you specify applies only to
	       the current key.

			     LINE NUMBERS

		    If you have ASCII files  containing
		    line  numbers,  remember  that they
		    occupy  one   word	 (5   character
		    positions)  at the beginning of the
		    line.

     /LABEL:type
	Designates the label status of a magnetic tape file.  The type
	is  either  STANDARD  (to read and write DEC-standard labels),
	NONSTANDARD (to  by-pass  them  on  input  and  omit  them  on
	output), or OMITTED (to omit looking for or producing labels).
	Nonstandard labels are assumed to be one record in length.  If
	you  omit  the  /LABEL switch, SORT assumes that the files are
	labeled.

     /NUMERIC
	Declares that the current key field contains  numeric  display
	characters.  Refer to /ALPHANUMERIC for the defaults.

     /RECORD:n
	Specifies the length of the record and must  be  specified  at
	least  once  in  each  SORT command.  The value n is a decimal
	integer identifying the number of characters or items  in  the
	record.   When determining the record size, do not include the
	character   count   word   in	SIXBIT	  records    or    the

	carriage-return/linefeed sequence in ASCII records.

	For variable length records, use a record  size  equal  to  or
	greater than the length of the longest record.

	You may use the /RECORD switch to fix  the  record  length  in
	both  the  output and the input files.  If all the input files
	have  the  same  record  length,  give  the   /RECORD	switch
	immediately  after  the  equals  sign;	 otherwise,  give  the
	/RECORD switch after each individual file.

	If the record length is actually larger  than  n,  the  record
	will be truncated.

     /SIGNED
	Uses the operational sign in the /NUMERIC, /COMP,  /COMP1,  or
	/COMP3 field when comparing that field to the sorting key.  If
	you do not specify a /SIGNED or /UNSIGNED switch,  the  system
	assumes  /SIGNED.   You  must type the /SIGNED switch directly
	after a data type switch (i.e., /NUMERIC,  /COMP,  /COMP1,  or
	/COMP3).

     /SIXBIT
	Processes the input and output files in SIXBIT mode.  Refer to
	the /ASCII switch for the normal defaults.

     /UNSIGNED
	Ignores the operational sign of a /NUMERIC, /COMP, /COMP1,  or
	/COMP3  field  when  comparing  that  field  to  the sort key.
	Normally the sign is used in these key comparisons.

     /VARIABLE
	Specifies that the record length variables.   When  using  the
	/VARIABLE  switch,  always specify a record length equal to or
	greater than the length of the longest record.  If you do  not
	give  a /FIXED or /VARIABLE switch, the system uses /FIXED for
	files recorded in /SIXBIT or /EBCDIC mode  and  /VARIABLE  for
	files recorded in /ASCII mode.

Operation

     1.  Type SORT and press the RETURN key;   the  system  prints  an
	 asterisk.

	 @SORT
	 *

     2.  Type a SORT command;  when the system is finished sorting, it
	 prints a message.

	 *NAME.ALP=NAME.LIS/KEY:1:10/RECORD:60/ASCII
	 SORTED 16 RECORDS
	 52 KEY COMPARISONS,	 3.25 PER RECORD
	 0 RUNS

	  0:00:01 CPU TIME,	 81.00 MS PER RECORD
	  0:00:33 ELAPSED

	 *

Errors

     1.  If one of the input files does not exist, the system  ignores
	 the command and prints the message:

	 ?SRTLRE LOOKUP ERROR (0) FILE WAS NOT FOUND DSK:name.typ

	 Reissue the command with the correct file specification.

Characteristics

     After you start the SORT program,  the  contents  of  memory  are
     destroyed  and your terminal is left at SORT command level.  Type
     a CTRL/C when you want to return to EXEC.

Examples

     The user sorts a text file.  The first sort has  two  keys.   The
     first  key sort on columns 1 through 10;  the second key sorts on
     columns 10 through 49.  The input file has records of up  to  200
     characters in length;  the output file name is NAMES.1
	@SORT
	*NAMES.1=NAMES.FIL/K:1:10/K:10:40/RECORD:200

	[SRTXPN Expanding to 212P]
	Sorted 608 Records
	5195 KEY comparisons,	8.54 per record
	0 Runs
	 0:00:03 CPU time,	5.62 MS per record
	 0:00:05 Elapsed
	*

     The second sort uses the same first key, but the second key sorts
     on columns 30 through 34 in descending order.
	*NAMES.2=NAMES.FIL/K:1:10/K:30:5:D/RECORD:200
	Sorted 608 Records
	5225 KEY comparisons,	8.59 per record
	0 Runs
	 0:00:03 CPU time,	4.95 MS per record
	 0:00:05 Elapsed
	*^C
	@

     The user sorts a computational file on characters 1 through 6  of
     each record.
	@SORT
	*T1.SRT=T1.OUT/K:1:6/COMP/R:18

	[SRTXPN Expanding to 53P]

	Sorted 100 Records
	644 KEY comparisons,	6.44 per record
	0 Runs
	 0:00:01 CPU time,	10.25 MS per record
	 0:00:02 Elapsed
	*^C
	@

     The user sorts a computational-1 file using two keys.
	@SORT
	*T2.SRT=T2.OUT/K:1:6/K:7:6/COMP1/R:18

	[SRTXPN Expanding to 45P]

	Sorted 100 Records
	608 KEY comparisons,	6.08 per record
	0 Runs
	 0:00:00 CPU time,	8.83 MS per record
	 0:00:02 Elapsed
	*^C
	@

     The user sorts a computational-3 file on a single key.
	@SORT
	*T3.SRT=T3.OUT/K:1:6/COMP3/RECORD:18

	[SRTXPN Expanding to 39P]
	Sorted 50 Records
	221 KEY comparisons,	4.42 per record
	0 Runs
	 0:00:00 CPU time,	13.78 MS per record
	 0:00:02 Elapsed
	*^C
	@

Function

     The START command starts the program currently in memory.

Format

     @START (PROGRAM)

Operation

     1.  Type STAR and  press  the  ESC  key;	the  system  prints  T
	 (PROGRAM).  Press the RETURN key to start your program.

	 @START (PROGRAM)
	  INPUT FILE:,	Up: Top

Error

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

	 ?NO PROGRAM

	 Use the LOAD command to place your program in memory.

Characteristics

     The START command starts the  program  in  memory  at  the  start
     address  specified  by  its  entry vector.  Your terminal is left
     under control of the program.

Restrictions

     You may not give a START command to restart a COBOL program after
     it has already executed.

Example

     The  user  loads  and  starts  his  program.   This  example   is
     equivalent to the command EXECUTE (FROM) TRANSL.REL.
	@LOAD (FROM) TRANSL.REL
	 LINK:	 Loading

	 EXIT
	@START (PROGRAM)
	TRANSLATE (DIRECTORY) MILLER
	<MILLER> (IS) [4,104]
	@
SUBMIT Command

Function

     The SUBMIT command places entries into, examines the contents of,
     or removes entries from the Batch input queue.

Hints

     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  SUBMIT
     command  without any arguments;  if you want just the information
     about your jobs, include  the  /CHECK  switch.   To  examine  the
     contents  of  both  the line printer and Batch input queues, give
     the QUEUE command without any arguments.  If you want to  examine
     just  your  jobs,  include the /CHECK switch.  (The QUEUE command
     destroys the contents of  memory  and  leaves  your  terminal  in
     EXEC.)

     See Batch, for a description of the batch
     commands.

Format

     @SUBMIT jobname=control-filespec,log-filespec

     jobname		 is the name (of no more than six alphanumeric
			 characters)  you  want to assign to the Batch
			 job.  If you  do  not  type  a  jobname,  the
			 system uses the name of the control-filespec.
			 When omitting the jobname, you may also  omit
			 the equals sign.

     control-filespec	 specifies the control file you are submitting
			 to  the  Batch  input queue.  You must type a
			 file name, but the system uses a file type of
			 .CTL  unless  you  specify otherwise.  If you
			 want to specify a file in any  directory  but
			 your	  connected	directory,    use    a
			 project-programmer number.
			 Include   any  necessary  switches
			 (listed    in	  Table    n)	 after	   the
			 control-filespec or the log-filespec.

     log-filespec	 specifies  the  file  which  will  contain  a
			 record  of the action taken during the course
			 of  the  job.	 If  you  do  not  specify   a
			 log-filespec, the system uses the name of the
			 control-filespec and the file type .LOG.

			       Table n
		       SUBMIT Command Switches

     /AFTER:time
	Submits the file after the specified time.  The argument  time
	is  in  the  form hh:mm (24-hour time of day), or +hh:mm (time
	later than the current time).  You  must  separate  the  hours
	from minutes by typing a colon.

     /HELP
	Prints the general syntax of the SUBMIT command,  including  a
	complete list of switches.

     /KILL
	Removes the specified jobnames from  the  Batch  input  queue.
	When you give the /KILL switch, you must type a jobname or the
	/SEQ switch on the left side of the equals sign before  typing
	the  switch /KILL on the right side.  If more than one of your
	jobs has the same jobname, use the /SEQ switch to identify the
	proper job.

     /LIST
	Prints information about the specified jobnames in  the  Batch
	input  queue.	If  you  do  not specify a jobname, the system
	prints the status of the entire Batch input queue.

     /NORESTART
	Inhibits the system from restarting the job  when  the  system
	recovers  after  a  failure.   The  system  normally  does not
	restart a job.  Refer to the /RESTART switch.

     /OUTPUT:condition
	Specifies the condition under which a log  file  is  produced.
	The  system always produces a log file if the condition is LOG
	or if you do not specify the /OUTPUT switch.  If  you  do  not
	want  a  log  file, use a condition of NOLOG.  If you want the
	log file only if there are errors, use the condition ERROR.

     /PAGE:n
	Permits the job to print up to n pages on  the  line  printer.
	Normally,  the  system  allows  200 pages;  if you specify the
	/PAGE switch without a value, the system  allows  2000  pages.
	If  the  job should go over this limit, the system cancels any
	more line printer output.

     /RESTART
	Restarts the job when the system  restarts  after  a  failure.
	You  should  not  have  a  job  restarted if it is potentially
	dangerous to your files or the system.  The  system  does  not
	normally restart jobs.  Refer to the /NORESTART switch.

     /TAG:label
	Starts the job at the  first  line  containing  the  specified
	label  (of  up  to  five  alphanumeric  characters).   This is
	equivalent to a GOTO at the beginning of the control file.

     /TIME:time
	Specifies the maximum amount of central processor time the job

	may   use.    The  argument  time  is  in  the  form  hh:mm:ss
	(hours:minutes:seconds).  If you do not specify a switch,  the
	system  uses  a  limit  of  five  minutes;  if you specify the
	switch without a time, the system uses a limit  of  one  hour.
	If  your job exceeds this limit, the system prints the message
	?TIME LIMIT EXCEEDED in the control file then kills the job.

     /UNIQUE:n
	To run any number of concurrent  batch  jobs  logged-in  under
	your  user  name, give n a value of 0.  Normally (and when you
	give n a value of 1), the system does not log in a  new  batch
	job  under  your user name until there are no other batch jobs
	with your user name.

Operation

     1.  Type SUBMIT and leave a space.

	 @SUBMIT

     2.  Type the arguments to the  SUBMIT  command,  then  press  the
	 RETURN key.

	 @SUBMIT MAKMON.CTL
	 [INP:MAKMON=/SEQ:1026/TIME:00:05:00]
	 @

Output

     If you are submitting a job, the system prints a message  in  the
     form:

     [INP:jobname=/SEQ:n/TIME:hh:mm:ss]

     jobname is the name of your job, n is the  sequence  number,  and
     hh:mm:ss is the time limit for the job.

     If you are killing a job, the system  prints  a  message  in  the
     form:

     [n JOB(S) KILLED]

     where n is the number of jobs you removed from the queue.

     The system prints the contents of the Batch input  queue  in  the
     following form:

     INPUT QUEUE:
     STS	USER	      JOB      SEQ PRIO     TIME     AFTER
     RUN   MCKIE	     T	      5717   10   00:05:00
	   MILLER	     TEST     5718   10   00:05:00
	   PORADA	    ENDIT     5719   10   00:05:00
	   LEWINE	     STOP     5720   10   00:05:00

     TOTAL:  INP:   4 jobs; 00:20:00 Sec. Runtime

     STS is the job number, unless the job is deferred in  which  case
     the  letters  AFT  (for AFTER) are placed in this field.  USER is
     the user name who is submitting the job.	JOB  is  the  jobname;
     SEQ  is  the sequence number;  TIME is the time limit for the job
     and AFTER is the length of  time  the  system  must  wait  before
     running the job.

Characteristics

     The SUBMIT command runs the QUENCH  program,  thereby  destroying
     the  contents  of  memory  and  leaves  your  terminal in EXEC.

Restrictions

     To submit a file from another user's directory, precede the  file
     specification with a project-programmer number, you may not use a
     logical name.

     You may use recognition only on the command name.

Examples

     The user submits a Batch job.
	@SUBMIT STAR
	[INP:STAR=/SEQ:44/TIME:00:05:00]
	@

     The user submits a Batch job and assigns  it  a  name.   The  job
     cannot  be  started  until  2  hours from the time the command is
     given.  The log file will not be printed.
	@SUBMIT RUN3=STAR.CTL/AFTER:2:00:00/OUTPUT:NOLOG
	[INP:STAR=/SEQ:45/TIME:00:05:00]
	@

     The user kills a job waiting in the Batch input queue.
	@SUBMIT NEWFIL=/KILL
	[1 Job Killed]
	@

     The user lists the jobs he has running under the Batch system.
@SUBMIT/LIST
INPUT QUEUE:
STS	   USER				 JOB	SEQ PRIO   TIME    AFTER
RUN   MCKIE				CHECK  7342  10  00:05:00

TOTAL:  INP:   1 job;  00:05:00 Sec. Runtime
@

     The user then cancels the running job.

	@SUBMIT CHECK=/KILL
	[No Jobs Killed, 1 Job Cancelled]
	@

Function

     The SYSTAT command prints information about the current state  of
     the system.

Format

     @SYSTAT arguments

     arguments  is a list of user names and job numbers, separated  by
		spaces, or the word ALL or a dot (.).

		no arguments	prints the header and the job  number,
				line  number, current program name and
				user name for each job.

		user name	prints  information  about  only   the
				specified user.

		job number	prints  information  about  only   the
				specified  job.   If  you  want to get
				information about  your  current  job,
				type a dot (.).

		ALL		prints the header and the job  number,
				controlling  job  number  (if  it is a
				pseudo-terminal), line number, current
				program  name,  state  of the job, the
				accumulated run  time,  the  run  time
				limit,  the  user  name  and connected
				directory for each job.

		You may combine any or all of these arguments to print
		the   desired  information.   The  arguments  must  be
		separated by a space or tab.

Operation

     1. Type (or use recognition) on SYSTAT and leave a space.

	@SYSTAT

     2. Type the arguments (if any), separating them with spaces,  and
	press  the  RETURN  key.  The system prints the information on
	your terminal.

	@SYSTAT
	 WED 4-FEB-76 10:55:05  UP 1:33:31
	 16+5 JOBS   LOAD AV   1.70   1.35   1.15

	 JOB  LINE PROGRAM  USER
	   2	 3  RIP     EIBEN
	   4	14  EXEC    MILLER

	   9	41  FORTRA  EKLUND
	  10	43  EXEC    POTTINGER
	  11	32  TECO    CLARK
	  12	73  EXEC    BROWNE
	  13	50  EXEC    CONNOR
	  14	 4  EXEC    NOT LOGGED IN
	  15	15  TV	    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  SDDT    LEWINE

	   1   101  EXEC    OPERATOR
	   3   106  EXEC    OPERATOR
	   5   105  OPLEAS  OPERATOR
	   6   103  LPTSPL  OPERATOR
	   7   104  BATCON  OPERATOR
	@

Output

     The first line of output gives the day of the week,  date,  time,
     and the length of time since the system was last started.  In the
     following example, the date is Wednesday,  February  4,  1976  at
     10:55:20  AM.   The  system  has  been up for about an hour and a
     half.

     @SYSTAT ALL
      WED 4-FEB-76 10:55:20  UP 1:33:46

     The second line gives the number of user jobs plus the number  of
     operator jobs.  In the next example, there are 16 user jobs and 5
     operator jobs.

      16+5 JOBS   LOAD AV   1.85   1.40   1.17

     The last three numbers on the second line are the  load  averages
     for  the  system taken over a one minute, five minute and fifteen
     minute period, respectively.  The load averages indicate how long
     it  will take you to complete a task with the current system load
     compared to a system with no users except yourself.  In the  next
     example,  if  your  job  ran 1 minute it would take 1.85 times as
     long as if there were no other users on the system.  If it ran  5
     minutes,  it would take 1.4 times as long;  if it ran 15 minutes,
     it would take 1.17 times as long.

      16+5 JOBS   LOAD AV   1.85   1.40   1.17

     The lines following the load averages contain  information  about
     each   job.   When  you  give  the  SYSTAT  command  without  any

     arguments, only the columns JOB,  LINE,  PROGRAM,  and  USER  are
     printed;  when you give the all argument, they all are printed.

     JOB	-is the job number.
     CJB	-is the controlling job number if the job is  a  Batch
		 job or a job controlled by the PTYCON program.
     LINE	-is the line number of  the  job  which  is  also  the
		 terminal  number.   That is TTY3 is connected to line
		 3.  If the line is "DET", the job has  been  detached
		 from  a  terminal  (to  reattach to the job, give the
		 ATTACH command).
     PROGRAM	-is the name of the  program  the  user  is  currently
		 running.  If the name is EXEC, the user is at Twenex
		 command level or giving a Twenex command.
     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).
     TIME	-is the total central processor time the job has used.
     LIMIT	-is the limit of central processor time  the  job  can
		 use (Batch jobs only).
     USER	-is the name of the user under which the job is logged
		 in.   If  the  user  has  typed a CTRL/C, but not yet
		 logged-in, the system prints NOT LOGGED IN.
     <directory>-is the name of the job's connected directory if it is
		 other than the logged-in directory.

      JOB  CJB LINE PROGRAM STATE  TIME     LIMIT    USER, <DIRECTORY>
	2	  3  RIP     TI    0:05:46	     EIBEN, <1EIBEN>
	4	 14  EXEC    TI    0:00:00	     MILLER
	9	 41  FORTRA  TI    0:03:36	     EKLUND
       10	 43  EXEC    TI    0:02:54	     POTTINGER
       11	 32  TECO    TI    0:00:29	     CLARK
       12	 73  EXEC    TI    0:00:05	     BROWNE
       13	 50  EXEC    TI    0:00:01	     CONNOR
       14	  4  EXEC    TI    0:00:00	     NOT LOGGED IN
       15	 15  TV      TI    0:03:53	     KIRSCHEN
       16	 61  EXEC    TI    0:00:51	     EDU-SERV
       19*  21  110  EXEC    RUN   0:00:01	     MCKIE
       20	 74  PTYCON  TI    0:00:11	     LIEMAN
       21	 23  PTYCON  TI    0:01:10	     MCKIE
       22   20  115  EXEC    TI    0:00:16	     LIEMAN
       23   20  114  EXEC    TI    0:00:15	     LIEMAN
       24    7  107  STATUS  RUN   0:00:03  0:20:01  EIBEN
       25	 10  SDDT    RUN   0:01:26	     LEWINE

     Last, the system lists the information for the operator's jobs.

	1	101  EXEC    TI    0:00:22	     OPERATOR
	3    1  106  EXEC    TI    0:00:33	     OPERATOR
	5    1  105  OPLEAS  RUN   0:00:00	     OPERATOR
	6    1  103  LPTSPL  RUN   0:00:35	     OPERATOR
	7    1  104  BATCON  TI    0:00:59	     OPERATOR
     @

Characteristics

     The SYSTAT command does not change the  contents  of  memory  and
     leaves your terminal in EXEC.

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  TV	 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  TV	 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
      @

Function

     The  TALK  command  links  your  terminal  to  another   terminal
     (referred  to  as the linked terminal).  Whatever text the system
     would normally print on your terminal or the linked terminal,  it
     now  prints on both terminals, instead of just one.  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.

     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.

Hints

     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.

     The BREAK command breaks any links you have established with  the
     TALK command.

Format

     @TALK (TO) identifier

     identifier is either a user name or a line number.

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.

Characteristics

     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.

     The TALK command does not  change  the  contents  of  memory  and
     leaves your terminal in EXEC.

Restrictions

     The user may not link to a detached job.

Examples

     The user TALKs to user POMFRET then breaks the link.
	@TALK (TO) POMFRET

	TALK FROM MCKIE, TTY 23
	@;  Did you update the FORTRAN sources?
	@;  Yes, they are in <FORLIB>
	@;  Thanks....
	@BREAK (LINKS)
	@

Function

     The TDIRECTORY command prints the file specification and the date
     and time the file(s) was most recently written.

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.

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.

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:,	Up: Top

     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).

Characteristics

     The TDIRECTORY command does not change the contents of memory and
     leaves your terminal in EXEC.

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
	@

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.

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.

     You can print the current values of your terminal  parameters  by
     giving the INFORMATION (ABOUT) TERMINAL-MODE command.

     Refer to Chapter n for more information.

Special Cases

     Occasionally, your terminal may  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.

Format

     @TERMINAL (MODE IS) parameter

     parameter	    is any one of the parameters listed in Table n.

			       Table n
			 Terminal Parameters

     33
	  Informs the system that your terminal is  a  Teletype  Model
	  33.  The system assumes that a Model 33:

	  1.  Does not have a formfeed or tab mechanism,

	  2.  Prints lowercase characters,

	  3.  Needs extra time to print tabs and formfeeds,

	  4.  Has a line width of 72, and

	  5.  Has a page length of 66.

     35
	  Informs the system that your terminal is  a  Teletype  Model
	  35.  The system assumes that a Model 35:

	  1.  Has a formfeed and tab mechanism,

	  2.  Prints lowercase characters,

	  3.  Needs extra time to print tabs and formfeeds,

	  4.  Has a line width of 72, and

	  5.  Has a page length of 66.

     37
	  Informs the system that your terminal is  a  Teletype  Model
	  37.	The  system  assumes  that  a  Model  37  has the same
	  characteristics as a Model 33.

     EXECUPORT
	  Informs the system that your terminal is an Execuport.   The
	  system assumes that an Execuport:

	  1.  Does not have a formfeed or tab mechanism,

	  2.  Prints lowercase characters,

	  3.  Needs extra time to perform a carriage-return,

	  4.  Has a line width of 72, and

	  5.  Has a page length of 66.

     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.

     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.  To  inform  the
	  system  that  a formfeed does not exist, set the NO FORMFEED
	  parameter.

     FULLDUPLEX (MODE FOR TERMINAL)
	  Instructs the system to repeat each character  as  you  type
	  it;	your  terminal  prints  each  repeated character.  The
	  system normally sets the FULLDUPLEX parameter.

     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.

     HELP
	  Prints information about the terminal parameters.

     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.   To  change  immediate  mode echoing, set the NO
	  IMMEDIATE parameter.  IMMEDIATE echoing works only when  the
	  FULLDUPLEX parameter is set.

     INDICATE (FORMFEED)
	  Instructs the system to print a  instead of advancing  the
	  proper  number  of  lines  whenever  it  sees a formfeed (or
	  CTRL/L).  The system normally advances the proper number  of
	  lines.

     LA30
	  Informs the system that your terminal is a Digital Equipment
	  Corporation LA30.  The system assumes an LA30:

	  1.  Does not have a formfeed or tab mechanism,

	  2.  Prints  lowercase  characters   as   the	 corresponding
	      uppercase characters,

	  3.  Needs extra time to perform a carriage-return, linefeed,
	      tab and formfeed,

	  4.  Has a line width of 80, and

	  5.  Has a page length of 66.

     LA36
	  Informs the system that your terminal is a Digital Equipment

	  Corporation LA36.  The system assumes an LA36:

	  1.  Does not have a formfeed or tab mechanism,

	  2.  Prints lowercase characters,

	  3.  Has a line width of 127, and

	  4.  Has a page length of 66.

     LENGTH (OF PAGE IS) n
	  Sets the number of lines you have on a page.	 If  you  have
	  terminal  page mode set, the system will stop after printing
	  n lines and wait for you to type a CTRL/Q.

     LINE-HALFDUPLEX (MODE FOR TERMINAL)
	  Inhibits the system from printing each character as you type
	  it.  Same as HALFDUPLEX.

     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, set the NO  LOWERCASE  parameter.
	  When  NO  LOWERCASE  is  set,  the system converts lowercase
	  output to the appropriate uppercase character.  Also,  refer
	  to the FLAG parameter.

     NO parameter
	  Reverses  the  parameters;	FLAG,	FORMFEED,   IMMEDIATE,
	  INDICATE, LOWERCASE, PAGE, RAISE, and TABS.

     PAGE (MODE) n
	  Instructs the system to stop  printing  whenever  either  it
	  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.  To turn off page
	  mode, set the  NO  PAGE  parameter.	The  system  does  not
	  normally set the page parameter.

     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 default condition  of
	  not raising input, set the NO RAISE parameter.

     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
	  2400  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.

     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  stop
	  the simulation, set the NO TABS parameter.

     TERMINET
	  Informs the system that your terminal is  a  Terminet.   The
	  system assumes a Terminet:

	  1.  Does not have a formfeed or tab mechanism,

	  2.  Prints lowercase characters,

	  3.  Needs extra time to perform a carriage-return, linefeed,
	      tab and formfeed,

	  4.  Has a line width of 72, and

	  5.  Has a page length of 66.

     TI
	  Informs the system that your terminal is a Texas Instruments
	  terminal.   The  system  assumes  a TI terminal has the same
	  characteristics as an Execuport.

     TYPE n
	  Instructs the system to treat your terminal as terminal type
	  n.  The following table describes the characteristics of the
	  different terminal types.

			       Table n
			    Terminal Types

     Type	    Characteristics

      0		    Same as Model 33.
      1		    Same as Model 35.
      2		    Same as Model 37.
      3		    Same as EXECUPORT.
     4-7	    Reserved for customer use.
      8		    Same as TERMINET.  (This is the default type.)
      9		    No TAB or  FORMFEED  mechanism,  prints  lowercase
		    characters,  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.

     VT05
	  Informs the system that your terminal is a Digital Equipment
	  Corporation VT05.  The system assumes a VT05:

	  1.  Does not have a formfeed mechanism,

	  2.  Has a tab mechanism,

	  3.  Prints  lowercase  characters   as   the	 corresponding
	      uppercase character,

	  4.  Needs extra time to perform a linefeed, or tab,

	  5.  Has a line width of 72, and

	  6.  Has a page length of 20.

     VT50
	  Informs the system that your terminal is a Digital Equipment
	  Corporation VT50.  The system assumes a VT50:

	  1.  Does not have a formfeed or tab mechanism,

	  2.  Prints  lowercase  characters   as   the	 corresponding
	      uppercase character,

	  3.  Has a line width of 80, and

	  4.  Has a page length of 12.

     VT52
	  Informs the system that your terminal is a Digital Equipment
	  Corporation	 VT52.	   The	 system   assumes   the   same
	  characteristics as a VT50 except that  it  prints  lowercase
	  characters and the page length is 24 lines instead of 12.

     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 characters,  then  advances  a  line  and
	  prints the rest.

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  a  parameter  argument(s),
	 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
	 @

Characteristics

     The TERMINAL command does not change the contents of  memory  and
     leaves your terminal in EXEC.

Examples

     The user set 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)
	@

Function

     The  TRANSL  program  translates  between  directory  names   and
     project-programmer numbers.

Format

     @TRANSL
     TRANSLATE (DIRECTORY) directory

     directory	    is  a  directory  name  or  a   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.

		    Typing the angle brackets or  square  brackets  is
		    not  required  around  directories.   You  may use
		    recognition on directory names.

Operation

     1.  Type TRANSL and press the  RETURN  key;   the  system  prints
	 TRANSLATE (DIRECTORY) on the next line.

	 @TRANSL
	 TRANSLATE (DIRECTORY)

     2.  Type (or use recognition on) the directory name or  type  the
	 project-programmer  number,  the  press  the RETURN key.  The
	 system prints the corresponding project-programmer number  or
	 directory name.

	 TRANSLATE (DIRECTORY) FORTRAN-LIBRARY
	 <FORTRAN-LIBRARY> (IS) [4,133]
	 @

Characteristics

     After starting the TRANSL program,  the  contents  of  memory  is
     destroyed and your terminal is left in EXEC.

Examples

     The user translates the project-programmer number [4,226].
	@TRANSL
	TRANSLATE (DIRECTORY) [4,226]
	[4,226] (IS) <HALL>
	@

     The user translates the directory name CONNOR.
	@TRANSL
	TRANSLATE (DIRECTORY) CONNOR
	<CONNOR> (IS) [4,116]
	@

Function

     The TYPE command  prints  the  contents  of  a  file(s)  on  your
     terminal.

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.

     If you want to stop the printing of a file, type a CTRL/O or  two
     CTRL/Cs.

     If your file has line numbers, the system  prints  them  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.

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 printing the file.

Characteristics

     The TYPE command does not  change  the  contents  of  memory  and
     leaves your terminal in EXEC.

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
	@

Function

     The UNDELETE command restores previously DELETEd  disk  files  to
     their normal status.

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).

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.

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 you try to undelete a single  existing  file,  the  system
	 ignores the command and prints the message:

	 name.typ.gen  WASN'T DELETED

	 Check to make sure you have specified the correct  generation
	 number for your file.

     2.  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 the contents of  memory  and
     leaves your terminal in EXEC.

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.

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]
	@

Function

     The UNLOAD command rewinds a magnetic tape until it is completely
     on the source reel.

Hints

     The UNLOAD command makes it impossible to access the tape  unless
     it is reloaded by the operator.

Format

     @UNLOAD (DEVICE) dev:

     dev:	    is the magnetic tape device name in the form MTAn:
		    where n is the drive number.

Operation

     1.  Type UNLO and press  the  ESC  key;   the  system  prints  AD
	 (DEVICE).

	 @UNLOAD (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 unloaded.

	 @UNLOAD (DEVICE) MTA0:
	 @

Errors

     1.  If the device is not on-line, the system ignores the  command
	 and prints the message:

	 ?DEVICE MUST BE 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 PLEASE program to contact the operator;  then reissue
	 the command.

Characteristics

     The UNLOAD command does not change the  contents  of  memory  and
     leaves your terminal in EXEC.

Restrictions

     The UNLOAD command works only for magnetic tapes.

Examples

     The user unloads his tape on drive 3.
	@UNLOAD (DEVICE) MTA3:
	@

Function

     The VDIRECTORY 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.

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.

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.

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:,	Up: Top

     1.  Name, type, generation number,

     2.  Protection code,

     3.  Size (in pages),

     4.  Length (in bytes) and byte size (in parenthesis), 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.

Characteristics

     The VDIRECTORY command does not change the contents of memory and
     leaves your terminal in EXEC.

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
	@

Function

     The XINFO program is used for perusing tree-structured INFO
     documentation files.  It is a stand-alone interface to the
     INFO subsystem of EMACS, the one you may be using right now.

Hints

     Giving the XINFO command is like entering EMACS and giving the
     M-X INFO command.

Format

     @XINFO

Operation

     1.  Type XINFO and press the RETURN key.  The INFO subsystem of
	 EMACS is started without further commands from you.

     2.  If you don't know how to use the INFO subsystem of EMACS,
	 type "H" at this point to begin an on-line tutorial.

Characteristics

     After you start XINFO, the contents of memory are destroyed  and
     your  terminal  is  at  XINFO  command  level.  Type a CTRL/C to
     return to EXEC.