Google
 

Trailing-Edge - PDP-10 Archives - walsh_goodStuff_1600 - more-uns/guide.mem
There are no other files named guide.mem in the archive.
ACCESS



Function


     The ACCESS command obtains ownership rights to  a  directory  and
     the group rights of its owner.


Format


     @ACCESS (TO DIRECTORY) dev:<directory>
      ------                ---------------
     Password:  password
                --------
     @

     where

     dev:<directory>     is the the directory that you want to access
                              Default dev: - your connected structure
                              -------

                              Default <directory> - the directory  (on
                              -------
                                                    the      specified
                                                    structure) of  the
                                                    same  name as your
                                                    connected
                                                    directory

     password            is  the  password  of  the   directory   (not
                         requested  for  your  log-in  directory  or a
                         directory of the same  name  as  your  log-in
                         directory on a domestic structure)


Characteristics


     Capabilities

          Your capabilities (Wheel, Operator, Confidential, etc.)  are
          associated with your log-in user name only.  If you give the
          ACCESS  command  for  a  directory  whose  owner  has  Wheel
          capabilities, you do not gain these capabilities.


Restrictions


     One Directory Per Structure

          You can access only one directory at a time on each  mounted
          structure.   Each  ACCESS  command  ends any previous ACCESS
          command (including the implicit access obtained by the LOGIN
          command)   for   that  structure.   If  you  access  another
          directory on PS:  you give up your own group rights on  PS:.
          These  are restored when you give an ACCESS command for your
          log-in directory.




Effect on Memory and Terminal


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


Related Commands


     CONNECT        for making a directory your connected directory

     END-ACCESS     for surrendering rights to an accessed directory

     SMOUNT         for ensuring  the  continued  availability  of  an
                    accessed structure


Examples


     1.  Access another user's directory.

              @ACCESS <HOLLAND>
              PASSWORD:
              @

     2.  Access another user's directory so you can copy a  file  from
         it to your connected directory.

              @ACCESS <HOLLAND>
              PASSWORD:
              @COPY <HOLLAND>MAX.MEM HOLMAX.MEM
               <HOLLAND>MAX.MEM.1 => HOLMAX.MEM.1 [OK]
              @END-ACCESS <HOLLAND>
              @

     3.  Access the log-in directory of a user whose group rights  you
         want to borrow.

              @COPY <MANUALS>REL3A.MEM REL3A.MEM
              ?DIRECTORY ACCESS PRIVILEGES REQUIRED
              @ACCESS <HOLLAND>
              PASSWORD:
              @COPY <MANUALS>REL3A.MEM REL3A.MEM
               <MANUALS>REL3A.MEM.4 => REL3A.MEM.1 [OK]
              @END-ACCESS <HOLLAND>
              @




     4.  Access the directory of a user on  another  structure.   Then
         examine his directory and copy a file from it.

              @SMOUNT SNARK:
              STRUCTURE SNARK: MOUNTED
              @ACCESS SNARK:<HOLLAND>
              PASSWORD:
              @DIRECTORY SNARK:<HOLLAND>

                 SNARK:<HOLLAND>
               ACCT.MEM.1
               ACTGEN..1
               COMP.FOR.1
               COMPUT.CBL.1
                 .REL.1
               DIFFER.FOR.1
                 .QOR.1
               MAIL.TXT.2
               OVERVIEW.MEM.1

               TOTAL OF 9 FILES
              @COPY SNARK:<HOLLAND>COMP.FOR
               SNARK:<HOLLAND>COMP.FOR.1 => COMP.FOR.1 [OK]
              @END-ACCESS SNARK:<HOLLAND>
              @SDISMOUNT SNARK:
              STRUCTURE SNARK: DISMOUNTED
              @


ADVISE



Function


     The ADVISE  command  links  your  terminal  with  another  user's
     terminal  so  that you can give commands to his job.  The advisee
     can still give commands to his job.


Format


     @ADVISE argument
      ------ --------

     where

     argument                 is either a user name or  terminal  line
                              number.


Characteristics


     Input to Other Job

          For as long as the ADVISE command is in effect, the commands
          you  give  will  affect the other user's job instead of your
          own.


     Ending Advice

          To end  an  advising  link  that  you  have  formed  between
          terminals,  you must type CTRL/E.  This CTRL/E is not echoed
          on either terminal.

     Refused Advice

          Ordinarily, you cannot advise a job unless its  terminal  is
          set  to  receive  advice.   However,  if  you  have Wheel or
          Operator capabilities enabled, you can advise any job.


Hints


     Help During ADVISE

          Once you are advising another job, you can type CTRL/^?  for
          a  short  list  of  special commands that can now be used to
          send comments or control  characters,  or  to  relink  to  a
          terminal  that  has broken links with yours.  (Note:  giving
          the BREAK command does not end advice  but  merely  prevents
          the  advisor's  terminal  from  printing  what  either  user
          types.)




Special Cases


     Advisee Has More Than One Job

          If more than one job is logged in under the  user  name  you
          specify, the system gives you a list of that user's terminal
          numbers and associated programs to choose from, then  prints
          TTY:  to prompt your response.  Type your choice of terminal
          number after the prompt.

     Advising a Pseudoterminal (PTY:)

          If you try to advise a PTY:  the system informs you of  this
          and asks you to confirm with a carriage return.


Restrictions


     Compatible Terminals

          Unless the terminals  involved  in  an  advising  link  have
          compatible characteristics (e.g., terminal width, ability to
          handle tabs and lowercase letters), some information can  be
          lost or overprinted.  To avoid this problem, the user of the
          faster or more capable terminal should adjust his terminal's
          characteristics,  if  possible  before the ADVISE command is
          given.

     Detached Jobs

          You cannot advise detached jobs.


Effect on Memory and Terminal


     The ADVISE  command  does  not  affect  memory  and  leaves  your
     terminal  at  the advisee's terminal's command level, controlling
     his job.


Related Commands


     RECEIVE ADVICE     for allowing other users to advise you

     REFUSE ADVICE      for preventing other users from advising you

     REMARK             for sending comments only

     TALK               for linking terminals so  that  your  commands
                        affect only your own job




Examples


     1.  Advise a user, then immediately type CTRL/E to end advice.

              @ADVISE D.CROWLEY
               ESCAPE CHARACTER IS <CTRL>E, TYPE <CTRL>^? FOR HELP
               D.CROWLEY JOB 51 EXEC

              LINK FROM LATTA, TTY 226
               [ADVISING]

               [ADVICE TERMINATED]
              @

     2.  Advise a user's job and access a directory for him.

              @ADVISE BONSAVAGE
               ESCAPE CHARACTER IS <CTRL>E, TYPE <CTRL>^? FOR HELP
               BONSAVAGE JOB 48 EXEC

              LINK FROM LATTA, TTY 226
               [ADVISING]
              !I'LL ACCESS THE DIRECTORY FOR YOU, THEN YOU CAN USE IT.
              @ACCESS <SARTINI>
              Password:
              @!OKAY, NOW YOU CAN USE IT.
              @!Thank you.

               [ADVICE TERMINATED]
              @

     3.  Advise another user, demonstrating  how  to  use  the  FILCOM
         program.

              @ADVISE D.CROWLEY
               ESCAPE CHARACTER IS <CTRL>E, TYPE <CTRL>^? FOR HELP
               D.CROWLEY JOB 51 EXEC

              LINK FROM LATTA, TTY 226
               [ADVISING]
              !HERE'S HOW TO COMPARE FILES USING THE FILCOM PROGRAM.
              @FILCOM

              *=VERCBL.TXT, BAKVER.TXT/A

              No differences encountered

              *^C
              @!SEE?  THE SWITCH AT THE END (/A) MEANS TO COMPARE THEM IN ASCII
              @!MODE. DON'T FORGET THE CTRL/C WHEN YOU'RE DONE.
              @!THANKS.
              @
               [ADVICE TERMINATED]




     4.  Advise a user who is logged in at  more  than  one  terminal.
         Choose one of them.

              @ADVISE LATTA
               TTY25, EXEC
               TTY41, EXEC
               TTY27, EXEC
              TTY: 27
               Escape character is <CTRL>E, type <CTRL>^? for help
               LATTA Job 22 EXEC

              LINK FROM D.CROWLEY, TTY 225
               [Advising]
              ...
               [Advice terminated]
              @


APPEND



Function


     The APPEND command adds the contents of one or more source  files
     to  the  end  of  a new or existing destination file, leaving the
     original source files unchanged.


Format


     @APPEND (SOURCE FILE) source filespec(s) (TO) destination filespec,
      ------               ------ -----------      ----------- ---------
     @@subcommand
       ----------

     where

     source filespec(s)       is a single  file  specification,  or  a
                              series of them separated by commas

     destination filespec     is the specification of the  destination
                              file;  this can be a new file.

                         ,

     @@subcommand             means that after a final comma  you  can
                              type  an optional keyword, modifying the
                              mode or format of information  transfer,
                              as described below


                      APPEND Command Subcommands
            (when used with the paper tape reader - PTR:)


             PARITY
     ASCII   NOPARITY         specifies that the files being  appended
                              are  written  in ASCII mode, with 36-bit
                              words  each  consisting  of  five  7-bit
                              bytes  and  a  parity  bit;   the PARITY
                              argument  is  not  currently   in   use;
                              NOPARITY  (the  default)  means that the
                              eighth hole of the paper tape  is  never
                              punched.

     BINARY                   specifies that the files being  appended
                              are   composed  of  36-bit  words,  each
                              consisting of six 6-bit bytes, with  the
                              seventh  hole  of  the  paper  tape  set
                              always to 0  and  the  eighth  hole  set
                              always   to   1;    causes   a  checksum
                              calculation.

     IMAGE                    specifies that the files being  appended
                              are   composed  of  36-bit  words,  each
                              consisting of one 8-bit  byte;   the  28
                              most   significant   bits  are  lost  on
                              output.

     IMAGE BINARY             same as BINARY, but lacking the checksum




                      APPEND Command Subcommands
      (when used with devices other than the paper tape reader)


             PARITY
     ASCII   NOPARITY         specifies that the files being  appended
                              are  written  in ASCII mode, with 36-bit
                              words  each  consisting  of  five  7-bit
                              bytes  and  a  parity  bit;   the PARITY
                              argument  is  not  currently   in   use;
                              NOPARITY  (the  default)  means that the
                              least significant bit is  set  to  0  on
                              input and is lost on output.

     BINARY                   calls for a direct transfer of  data  in
                              36-bit bytes

     IMAGE                    same as BINARY

     IMAGE   BINARY           same as BINARY


Output


     As each file is appended, the system prints its specification and
     the  word  [OK].  Also, if recognition is used on the destination
     file specification, the system prints its status (Old generation,
     New generation, New file, or Superseding, for disk files;  or OK,
     if the files are appended to a non-disk device).


Characteristics


     Files Appended in Order Specified

          The APPEND command attaches source files to the  destination
          file  in  the  order  you specify them;  the contents of the
          last  specified  source  will  appear  at  the  end  of  the
          destination file when APPEND is finished.

     Subcommands Optional

          For most purposes you do not need to  use  subcommands  when
          transferring  information  with  the  APPEND command.  These
          subcommands, specifying the format of  the  appended  files,
          are   required   only  when  using  certain  devices  (e.g.,
          PTR: - paper tape reader)  or  under  particular  conditions
          (e.g., when transferring files over network facilities).  If
          you are appending information from disk files or  from  your
          terminal  and  you do not use any subcommands, the data will
          be  appended  as  written,  whether  in  a  standard  format
          (usually ASCII or binary) or not.




Special Cases


     Wildcard Characters

          Wildcard characters (* and %) can be  used  in  source  file
          specifications   only.   The  files  are  then  appended  in
          alphabetical order.

     Appending Information from your Terminal

          If you type TTY:  in place of  source  file  specifications,
          the  system  appends  any  characters  you  then type (after
          completing the command itself), until you give a  CTRL/Z  to
          return  your  terminal  to  TOPS-20  command level.  CTRL/U,
          CTRL/R, CTRL/W, and the Delete key can be used to  edit  the
          current line of terminal input.


Restrictions


     Source Files With Differing Formats

          By specifying a device in place of or in addition to  source
          filespecs,  you  can use the APPEND command to transfer data
          from a magnetic tape,  terminal,  card  reader,  paper  tape
          reader,  or other device to disk files.  But if source files
          written in differing formats are specified within  the  same
          command,  some  data  can  be lost in the transfer.  Utility
          programs such as DUMPER and EDIT offer more flexibility  for
          most of these applications.

     Mixing Sequenced and Unsequenced Files

          Source files created by the EDIT program should not  contain
          sequence  numbers when they are appended.  Mixing files that
          contain sequence numbers with files that do not  will  cause
          EDIT to function improperly if used on the resulting file.


Effect on Memory and Terminal


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


Related Commands


     COPY     for making copies of files




Examples


     1.  Use the APPEND command to join two files.

              @APPEND FORT.FOR FIL.FOR
               FORT.FOR.8 [OK]
              @

     2.  Append two files to the end of a third file.

              @APPEND FORT.FOR, GORT.FOR GIL.FOR
               FORT.FOR.8 [OK]
               GORT.FOR.6 [OK]
              @

     3.  Access a directory and append a file from it  to  a  file  in
         your connected directory.

              @ACCESS <MANUALS>
              Password:
              @APPEND <MANUALS>REL3A.MEM REL3A.MEM
               <MANUALS>REL3A.MEM.4 [OK]
              @END-ACCESS <MANUALS>
              @

     4.  Use a wildcard character (%) to append several files  to  the
         end of another file.

              @APPEND %ORT.FOR HIL.FOR
               FORT.FOR.8 [OK]
               GORT.FOR.6 [OK]
               HORT.FOR.3 [OK]
               MORT.FOR.2 [OK]
              @

     5.  Use a wildcard character with the APPEND command to create  a
         new file.

              @APPEND *.TXT BACKUP.TXT
               MAIL.TXT.1 [OK]
               NEWRUN.TXT.1 [OK]
               NX.TXT.1 [OK]
              @

     6.  Append a message from your terminal to the  file  created  in
         Example 5.

              @APPEND TTY: BACKUP.TXT
               TTY:

              !THIS IS A BACKUP FILE FOR ALL TEXT FILES.
              ^Z
              @
              @


ASSIGN



Function


     The ASSIGN command reserves a specific  input-output  device  for
     your job.


Format


     @ASSIGN (DEVICE) dev:
     -------          ----

     where

     dev:      is the name of the device you want to assign


Effect on Memory and Terminal


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


Related Commands


     DEASSIGN                          for       surrendering        a
                                       previously-assigned device

     TMOUNT                            for  assigning  magnetic   tape
                                       drives

     INFORMATION AVAILABLE DEVICES     for finding out  which  devices
                                       can  be  assigned  or have been
                                       assigned to your job


Examples


     1.  Assign a tape drive to your job.

              @ASSIGN MTA0:
              @

     2.  Find out which devices are  available  for  timesharing  use,
         then assign one to your job.

              @INFORMATION AVAILABLE DEVICES
              Devices available to this job:
               DSK, PS, SNARK, MISC, LANG, MTA1, MTA3-10, LPT, LPT0
               LPT1, CDR, PCDR0, CDP FE1-15, PTY20-61, NUL, PLT
               PLT0, DCN, SRV
              Devices assigned to/opened by this job: TTY41
              @ASSIGN PCDR0:
              @


ATTACH



Function


     The ATTACH command engages a job to your terminal.


Format


     @ATTACH (USER) name (JOB #)number
     -------        ----        ------
     PASSWORD:  password
                --------

     where

     name                     is the user name of the job's owner

     number                   is the job number 
                                   Default  the  only  job,  or   only
                                   -------
                                            detached  job, or only job
                                            other  than  your  current
                                            job,  logged  in under the
                                            user name you give

     password                 is   the   associated   password    (not
                              requested if you are currently logged in
                              under the same user name as the job that
                              you are attaching)


Characteristics


     Current Job Detached

          If you give the ATTACH command while logged in, your current
          job is detached.  You can use the LOGOUT n command to finish
          this detached job.


Hint


     Using ATTACH to Restore Phoned-in Jobs

          If you log in to the system by telephone lines  and  service
          is  interrupted  for  any  reason, use the ATTACH command to
          restore the connection.  If you do not do this  within  five
          minutes,  your  job will be logged out automatically and you
          will have to log in again.




Warning


     Attaching Attached Jobs

          The system will ask  you  to  confirm  your  choice  with  a
          carriage return before attaching to your terminal a job that
          is attached elsewhere.  If you attach an attached  job  that
          is  running  a program, that program may be sent one or more
          CTRL/Cs,  which  can  affect  programs  that  handle  CTRL/C
          themselves.   To  avoid  this  possibility  you  must give a
          DETACH command from the terminal to which the program's  job
          is  attached,  then attach this job to your terminal with an
          ATTACH command.


Effect on Memory, Terminal, and Job


     The ATTACH command affects neither memory nor the  job  that  you
     are  attaching (but see Warning, above), and leaves your terminal
     at TOPS-20 command level unless a program is  being  run  by  the
     job.  If a program is being run, your terminal is left at command
     level, if any, in the job.  Your terminal's characteristics  will
     be  those  established  in the job from which you gave the ATTACH
     command;  if you were not logged in they will be reset to  system
     default characteristics.


Related Commands


     SYSTAT       for  finding  out  the  user  name  and  job  number
                  associated with any job

     DETACH       for disengaging a job from your own terminal

     UNATTACH     for disengaging a job from any other terminal


Examples


     1.  Attach your only job, which is presently detached.

              @ATTACH LATTA
              PASSWORD:
              @

     2.  Attach one of several detached jobs.

              @ATTACH LATTA
              ?JOB # REQUIRED - LATTA HAS MORE THAN ONE DETACHED JOB
              @SYSTAT LATTA
                37   DET  EXEC    LATTA
                54   DET  NRRY    LATTA
              @ATTACH LATTA 37
              PASSWORD:
              @




     3.  Check your jobs (your current job is marked with an  asterisk
         (*)), then attach the only detached job.  Verify the system's
         action.

              @SYSTAT LATTA
                37   26   NEWRUN  LATTA
                58   DET  EXEC    LATTA
                59*  231  EXEC    LATTA
              @ATTACH LATTA
               DETACHING JOB # 59
              @INFORMATION JOB
               JOB 58, USER LATTA, ACCOUNT LANGUAGE, TTY231
              @

     4.  Start a program in one job.  Then detach and continue it, and
         attach another of your jobs.

              INFORMATION JOB
               JOB 9, USER LATTA, ACCOUNT LANGUAGE, TTY26
              @RUN FFACTOR

              ^C
              @DETACH CONTINUE
                 DETACHING JOB # 9
              ^C
               SYSTEM 2102 DEVELOPMENT SYSTEM, TOPS-20 MONITOR 3A(1470)
              @SYSTAT LATTA
                 9   DET  FFACTO  LATTA
                45    41  EXEC    LATTA
              @ATTACH LATTA 45
               [ATTACHED TO TTY41, CONFIRM]
              PASSWORD:
              @


BACKSPACE



Function


     The BACKSPACE command moves  a  magnetic  tape  backward  over  a
     specified number of files or records.


Format


     @BACKSPACE (DEVICE) dev:  n units
      ---------          ----  - -----

     where

     dev:      is the name of the magnetic tape drive that you want to
               move backward

     n         is the number of files or records over which  you  want
               to backspace
                    Default n - 1
                    -------

     units     is either FILES or RECORDS
                    Default units - FILES
                    -------


Restriction


     BACKSPACE with Open Files

          If you have given a CTRL/C to exit from a program  that  has
          opened a magnetic tape drive and you then give the BACKSPACE
          command for that tape drive, the system will  first  ask  if
          you  want  to close the associated file.  You must do so for
          BACKSPACE to succeed, but you will  probably  be  unable  to
          continue  the  program from that point because the file will
          now be closed.


Effect on Memory and Terminal


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


Related Commands


     SKIP       for moving a magnetic tape forward

     REWIND     for backspacing a tape to its logical  beginning  (the
                beginning of the first file)




Examples


     1.  Backspace your magnetic tape one file.

              @BACKSPACE MTA0:  1 FILE
              @


BREAK



Function


     The BREAK command simultaneously  ends  all  communication  links
     that  have  been  formed between your terminal and those of other
     users.


Format


     @BREAK (LINKS)
      -----
     @


Restrictions


     Does Not End Advice

          The BREAK command, given at either of two  terminals  joined
          by  the  ADVISE  command,  does  not  end  advice but merely
          prevents the advisor's terminal from  printing  what  either
          user  types.   Only a CTRL/E typed at the advisor's terminal
          ends advice.


Effect on Memory


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


Related Commands


     TALK             for  establishing   communication   links   with
                      another terminal

     REFUSE LINKS     for preventing future communication  links  with
                      your terminal




Examples


     1.  Use the BREAK command to end  a  TALK  session  with  another
         user.

              @BREAK
              @

     2.  Use the TALK command to speak to another user, then use BREAK
         to end the conversation.

              @TALK PORADA
              LINK FROM LATTA, TTY 41
              @!HI.  CAN YOU TELL ME WHERE THE PROJECT ESTIMATES ARE STORED?
              @!SURE:  THEY'RE ON TAPE LS2.0 IN THE LIBRARY.
              @!THANKS.  BYE
              @BREAK
              @


BUILD



Function


     The BUILD command  creates,  modifies,  or  deletes  a  directory
     subordinate to a directory to which you have write access.


Format


     @BUILD (DIRECTORY NAME) <directory>
      -----                  -----------
     @@subcommand
       ----------
     @@  .
         -
         .
         -
         .
         -
     @@
     @

     where

     directory                is the name of  the  directory  you  are
                              building;   it  must  be  of 39 or fewer
                              characters.

     @@  .                    indicates  that  you automatically enter
         .                    subcommand  mode  after  completing  the
         .                    BUILD command line
     @@

     subcommand               is  a  keyword,  chosen  from  the  list
                              below,  indicating  your choice of BUILD
                              command options


     Summary of BUILD Command Subcommands (defaults in boldface)

     ABORT
     ABSOLUTE-ARPANET-SOCKETS
     ACCOUNT-DEFAULT account
     ARPANET-WIZARD
     CONFIDENTIAL
     DEFAULT-FILE-PROTECTION octal protection code       Default code -
     -----------------------                             -------
                                                                 777700
     DIRECTORY-GROUP group number n
     ENQ-DEQ
     FILES-ONLY
     GENERATIONS n                                       Default n - 1
     -----------                                         -------
     IPCF
     KILL
            NAME-ONLY
     LIST   FAST
            ----
            VERBOSE
     MAINTENANCE

     MAXIMUM-SUBDIRECTORIES n                            Default n - 0
                                                         -------




      ABSOLUTE-ARPANET-SOCKETS
      ------------------------
      ARPANET-WIZARD
      --------------
      CONFIDENTIAL
      ------------
      DIRECTORY-GROUP group number n
      ENQ-DEQ
      -------
      FILES-ONLY
      ----------
NOT   IPCF
---   ----
      KILL
      ----
      MAINTENANCE
      -----------
      OPERATOR
      --------
      SUBDIRECTORY-USER-GROUP group number n
      USER-GROUP group number n
      WHEEL
      -----

NUMBER octal directory number
OPERATOR
PASSWORD 1- to 39-character word
PERMANENT n                                              Default n - 250
---------                                                -------
PROTECTION octal protection code                         Default code -
----------                                               -------
                                                                 777700
SUBDIRECTORY-USER-GROUP group number n
USER-GROUP group number n

WHEEL
WORKING n                                                Default n - 250
-------                                                  -------



                      BUILD Command Subcommands


     ABORT                    cancels all  work  done  during  current
                              BUILD command.  If directory was new, it
                              does not  exist;   if  old,  it  remains
                              unchanged.

     ABSOLUTE-ARPANET-SOCKETS
                              allows the directory owner to  establish
                              ARPANET network connections using 32-bit
                              absolute  socket  numbers;   users  with
                              Wheel  or Operator capabilities can also
                              perform this  function.   For  use  only
                              with  systems  that  are  members of the
                              ARPA network.  See the TOPS-20AN  User's
                              Guide for more information.

     ACCOUNT-DEFAULT account

                              causes  the  specified  account  to   be
                              charged  for a terminal session whenever
                              the user does not include an account  in
                              his LOGIN command

     ARPANET-WIZARD
                              allows  the  directory  owner   to   use
                              special queues for sending and receiving
                              information on the ARPANET network.  For
                              use  only  with systems that are members
                              of the ARPA network.  See the  TOPS-20AN
                              User's Guide for more information.




     CONFIDENTIAL
                              grants the directory owner  Confidential
                              information     access     capabilities,
                              allowing  him  to  obtain   confidential
                              information   within   the   system  via
                              certain monitor calls

     DEFAULT-FILE-PROTECTION octal protection code
                              assigns this number as default  for  the
                              protection    code    of    each    file
                              subsequently placed  in  the  directory.
                              See  the  TOPS-20  User's  Guide  for  a
                              discussion of protection codes.
                                   Default protection code - 777700
                                   -------

     DIRECTORY-GROUP group number n
                              places the directory in a group, thereby
                              allowing  users in the same group access
                              to it according to the middle two digits
                              of  the  protection  code, and access to
                              files in the directory according to  the
                              middle   two   digits   of  each  file's
                              protection code.  See the TOPS-20 System
                              Manager's  Guide  for  a  discussion  of
                              groups.

     ENQ-DEQ                  grants the directory owner  the  ability
                              to  perform  global  Enqueue and Dequeue
                              functions;  these are discussed  in  the
                              TOPS-20 Monitor Calls Reference Manual.

     FILES-ONLY               builds the  directory  as  a  files-only
                              directory, i.e., one not associated with
                              a user.   See  Restrictions - Files-only
                              Directories, below.

     GENERATIONS n
                              specifies a default for  the  number  of
                              successive   generations   of  files  to
                              retain in the  directory.   This  number
                              must  be from 0 to 15, with 0 meaning an
                              infinite number.
                                   Default n - 1
                                   -------

     IPCF                     allows the directory  owner  to  execute
                              all  privileged  IPCF  functions;  these
                              are discussed  in  the  TOPS-20  Monitor
                              Calls Reference Manual.

     KILL                     eliminates the directory and  any  files
                              it  contains  from the system;  you must
                              confirm this subcommand  with  an  extra
                              carriage return.

            NAME-ONLY
     LIST   FAST              provides a  listing at  your terminal of
            VERBOSE           parameter values set for  the  directory
                              by  TOPS-20 commands, BUILD subcommands,

                              or by default.  The FAST listing  always
                              includes  the  subdirectory's name, some




                              mention of  the  password,  working  and
                              permanent  storage  limits, and, if they
                              have been set, directory number, account
                              default,      maximum      number     of
                              subdirectories    allowed    to     this
                              directory,  the  date  and  time of last
                              log-in,  group  memberships,  and   user
                              group   numbers   assignable   by   this
                              directory.  The VERBOSE listing adds the
                              other  values  that  can  be assigned by
                              BUILD   subcommands,   while   NAME-ONLY
                              restricts output to the directory name.
                                   Default - FAST
                                   -------

     MAINTENANCE
                              allows the directory  owner  to  execute
                              certain  system maintenance functions or
                              monitor calls;  discussed in the TOPS-20
                              Monitor Calls Reference Manual.

     MAXIMUM-SUBDIRECTORIES n
                              allows the owner of  this  directory  to
                              build up to n subdirectories of his own,
                              and subtracts an equal number  from  the
                              value of this parameter for the superior
                              directory

           ABSOLUTE-ARPANET-SOCKETS
           ARPANET-WIZARD
           CONFIDENTIAL
           DIRECTORY-GROUP group number n
           ENQ-DEQ
           FILES-ONLY
     NOT   IPCF               withdraws the specified subcommand
           KILL
           MAINTENANCE
           OPERATOR
           SUBDIRECTORY-USER-GROUP group number n
           USER-GROUP group number n
           WHEEL

     NUMBER octal directory number
                              assigns a specific directory number to a
                              new   directory   (note:    usually  the
                              default is adequate)
                                   Default directory
                                   -------
                                           number - assigned by system

     OPERATOR
                              grants  Operator  capabilities  to   the
                              owner   of  the  directory;   these  are
                              discussed   further   in   the   TOPS-20
                              Operator's Guide.

     PASSWORD 1- to 39-character word
                              assigns a password to the directory




     PERMANENT n
                              allocates   permanent    disk    storage
                              capacity  n (in pages) to the directory,
                              and subtracts an equal number  from  the
                              permanent  disk  storage capacity of the
                              superior directory
                                   Default n - 250
                                   -------

     PROTECTION octal protection code
                              assigns the given  directory  protection
                              code to the directory
                                   Default protection
                                   -------
                                           code - 777700

     SUBDIRECTORY-USER-GROUP group number n
                              allows  the  directory  owner  to  place
                              subdirectory  owners  in  the  specified
                              groups

     USER-GROUP group number n
                              assigns the directory owner to the given
                              user  group.   See  the  TOPS-20  System
                              Manager's  Guide  for  a  discussion  of
                              groups.

     WHEEL                    grants Wheel capabilities to  the  owner
                              of   the   directory,  allowing  him  to
                              perform  all  the  privileged  functions
                              available  on  the  system;   these  are
                              discussed   further   in   the   TOPS-20
                              Operator's Guide.

     WORKING n
                              allocates working disk storage  capacity
                              n  (in  pages)  to  the  directory,  and
                              subtracts  an  equal  number  from   the
                              working  disk  storage  capacity  of the
                              superior directory.  Ordinarily, working
                              and permanent storage limits are equal.
                                   Default n - 250
                                   -------


Characteristics


     BUILD and ^ECREATE

          The BUILD command is identical in format to  the  privileged
          ^ECREATE  command.   If you use BUILD with Wheel or Operator
          capabilities enabled, it has the  same  power  as  ^ECREATE,
          namely,  to  create directories and modify the parameters of
          any directory on the system.   Without  these  capabilities,
          you  can  use  BUILD  to  modify  a  more  restricted set of
          directories:  you can modify a directory if you  have  write
          access  to  the  immediately superior directory.  The LOGIN,
          CONNECT, or  ACCESS  command  obtain  write  access  to  the
          superior directory;  or, if you have sufficient group rights

          to the superior directory, you can use BUILD to  modify  its
          subdirectories.




     More Information

          For a more complete description of using BUILD to  construct
          subdirectories, see the TOPS-20 System Manager's Guide.  For
          a description of using ^ECREATE to create  directories,  see
          the TOPS-20 Operator's Guide.

     Quotas Subtracted from the Superior Directory's Allotments

          Working and permanent disk  storage  page  limits,  and  the
          maximum  number  of subdirectories allowed to a subdirectory
          are subtracted from the quotas allocated to the  immediately
          superior  directory.  This subtraction occurs at the time of
          their  allotment  to  a  subdirectory.   If   the   superior
          directory's  quota is not sufficient, the BUILD command will
          fail.  To increase the superior directory's quota of any  of
          these   quantities   you   must  either  kill  some  of  its
          subdirectories or reduce their allotments of  the  quantity.
          Or  you can ask the system manager to increase the allotment
          of the superior directory.  Remember that unless you specify
          working  and  permanent  page  limits,  they  will  assume a
          default value of 250 pages.  The BUILD command will fail  in
          this  case  if  there are not at least 250 pages free in the
          immediately superior directory.

     Assigning Infinite Quotas

          If you have Wheel or Operator capabilities enabled, you  can
          assign  the  maximum  storage  limit  of  34359738367 (i.e.,
          2**35-1) to a directory.  This will appear in  the  response
          to  an  INFORMATION  DIRECTORY  command  as  +INF,  denoting
          infinite storage  capacity.   If  you  then  use  the  BUILD
          command  to  construct subdirectories to this directory, any
          disk storage capacity assigned, even the maximum,  will  not
          be subtracted from the superior directory.  You can use this
          feature to assign infinite storage capacity to a  number  of
          users sharing a private structure.  Then these users may use
          storage space on the structure without limit until the  disk
          pack fills up.


Hints


     Keeping Track of Subdirectories

          Subdirectories appear as files of  type  .DIRECTORY  in  the
          immediately superior directory, so the DIRECTORY *.DIRECTORY
          command  for  the  superior  directory  will  indicate   any
          existing  subdirectories.   To suppress the listing of these
          files you can use the SET FILE PROTECTION  command  to  give
          them  a  protection of 000000, but then you must specify the
          files completely (including  generation  number)  to  access
          them in the future.




          If there are two or more levels of  subdirectories  below  a
          superior  directory,  you  can  do something else to allow a
          listing of them:  put each  subdirectory  into  a  group  of
          which the owner of the highest-level superior directory is a
          member.  Then, if you obtain the group rights of this  owner
          (e.g.,  by using the LOGIN or ACCESS command if the superior
          directory  is  on  PS:,  or  ACCESS  if  it  is  on  another
          structure),  the INFORMATION DIRECTORY <directory.*> command
          with the NAME-ONLY subcommand  will  produce  a  listing  of
          subdirectories   at   every   level   beneath  the  superior
          directory.  For this feature to operate properly  the  group
          field  of  each  subdirectory's  protection  code must be at
          least 40.

     Modifying Subdirectories Easily

          By  following  the  above  procedure,  that  is,  by  making
          subdirectories at every level members of groups of which the
          owner of the highest-level  superior  directory  is  also  a
          member,  you  make  the modification of these subdirectories
          much easier.  You can use the BUILD command to modify  these
          subdirectories  or  read  and  write to them, as long as you
          have the group memberships of  this  owner.   You  need  not
          connect  to  each  subdirectory's immediate superior to make
          modifications.


Restrictions


     Giving Capabilities to Subdirectory Owners

          In   order   to   give   capabilities   (Wheel,    Operator,
          Absolute-Arpanet-Sockets,    Arpanet-Wizard,   Confidential,
          Enq-Deq, IPCF, or Maintenance) to a subdirectory owner,  you
          must  have  these  capabilities  yourself,  and they must be
          enabled at  the  time  of  the  BUILD  command.   Wheel  and
          Operator  capabilities allow you to assign any capabilities.
          The INFORMATION DIRECTORY command for your log-in  directory
          tells you which capabilities you have, if any.

     Modifying Other Directories

          Unless you have Wheel or Operator capabilities enabled,  you
          can  use  the BUILD command to modify the parameters of only
          those directories subordinate to a directory  to  which  you
          have   write   access.    (See  Characteristics - BUILD  and
          ^ECREATE,  and  Hints - Modifying   Subdirectories   Easily,
          above.)  If your installation allows it, you can use the SET
          DIRECTORY  command  to  change  some  parameters  of   other
          directories.




     Files-only Directories

          By giving the FILES-ONLY subcommand you make the directory a
          files-only directory (see Figure 1).  A files-only directory
          is not associated  with  a  user  and  so  cannot  be  given
          capabilities   or   user   group  memberships.   Although  a
          files-only directory can have subdirectories, none of  these
          can  be  a  user  directory.   You cannot give the ACCESS or
          LOGIN command for a files-only directory.

     Killing Directories

          You cannot kill a directory that has subdirectories;   first
          you  must  kill  those  subdirectories one by one.  When you
          kill a directory, the files  it  contains  are  deleted  and
          expunged.


Effect on Memory and Terminal


     The BUILD command does not affect memory and leaves your terminal
     at BUILD subcommand level.


Related Commands


     INFORMATION DIRECTORY      for    examining    the     parameters
                                established for a directory

     INFORMATION DISK-USAGE     for  determining   how   much   of   a
                                directory's   disk  space  is  already
                                assigned to files

     SET DIRECTORY              for   changing    certain    directory
                                parameters




                                <CHEM>







  <CHEM.ALLEN>       <CHEM.BLAKE>     <CHEM.LAB-NOTES>   <CHEM.TESTS>
                                        (files-only)     (files-only)


<CHEM.ALLEN.LAB>   <CHEM.BLAKE.LAB>
  (files-only)       (files-only)



               Figure 1 Directories and Subdirectories




Examples


     The examples show how a user with a directory named <CHEM> builds
     subdirectories in the pattern shown in Figure 1.

     1.  Build directories for two  of  your  students  or  employees,
         assigning disk space and passwords and placing them in one of
         your directory groups;  check their parameters.

                  @BUILD <CHEM.ALLEN>
                  [NEW]
                  @@WORKING 50
                  @@PERMANENT 50
                  @@PASSWORD 619JIM
                  @@DIRECTORY-GROUP 2391
                  @@LIST
                   NAME <CHEM.ALLEN>
                   Password 619JIM
                   Working disk storage page limit 50
                   Permanent disk storage page limit 50
                   Account default for LOGIN - none set
                   Directory groups 2391

                  @@
                  @BUILD <CHEM.BLAKE>
                  [New]
                  @@WORKING 50
                  @@PERMANENT 50
                  @@PASSWORD 127BIL
                  @@DIRECTORY-GROUP 2391
                  @@LIST
                   Name <CHEM.BLAKE>
                   Password 127BIL
                   Working disk storage page limit 50
                   Permanent disk storage page limit 50
                   Account default for LOGIN - none set
                   Directory groups 2391

                  @@
                  @

     2.  Modify  Blake's  directory  to  allow   him   to   create   2
         subdirectories.

              @BUILD <CHEM.BLAKE>
              [Old]
              @@MAXIMUM-SUBDIRECTORIES 2
              @@
              @

     3.  Build a files-only directory to store examination questions.

              @BUILD <CHEM.TESTS>
              [New]
              @@FILES-ONLY
              @@WORKING 10
              @@PERMANENT 10
              @@PASSWORD MINERVA
              @@DIRECTORY-GROUP 2391
              @




     4.  Build a files-only directory as a library directory for  your
         subdirectory  owners.  Place the directory and these users in
         the same group.

              @BUILD <CHEM.LAB-NOTES>
              [New]
              @@FILES-ONLY
              @@WORKING 25
              @@PERMANENT 25
              @@PROTECTION 774000
              @@DEFAULT-FILE-PROTECTION 775200
              @@DIRECTORY-GROUP 2392
              @BUILD <CHEM.ALLEN>
              [Old]
              @@USER-GROUP 2392
              @@
              @BUILD <CHEM.BLAKE>
              [Old]
              @@USER-GROUP 2392
              @@
              @

     5.  User Blake quits.  Delete his directory.

              @BUILD <CHEM.BLAKE>
              [Old]
              @@KILL
              [Confirm]
              @@
              @


CANCEL



Function


     The CANCEL command withdraws requests made with a previous  PRINT
     or SUBMIT command.


Format


     @CANCEL (REQUEST TYPE) queue (JOBNAME) jobname /switch
      ------                -----           ------- -------

     where

     queue          is  the  name  of  the  queue,  chosen  from   the
                    following list:

                         BATCH      (for  requests  made   using   the
                                    SUBMIT command)

                         PRINT      (for requests made using the PRINT
                                    command)

     jobname        is the jobname of the request.  This is  the  name
                    appearing  under  the  Job  heading in the list of
                    jobs supplied by the  INFORMATION  OUTPUT-REQUESTS
                    or  INFORMATION BATCH-REQUESTS command.  Supplying
                    an asterisk (*) for the jobname cancels  all  your
                    requests in the specified queue.

     switch         is one or both of the following optional switches:

                         /SEQUENCE:n         where n is  the  sequence
                                             number, obtained from the
                                             list of jobs supplied  by
                                             the           INFORMATION
                                             OUTPUT-REQUESTS        or
                                             INFORMATION
                                             BATCH-REQUESTS   command.
                                             Include  this  switch  to
                                             cancel a request having a
                                             non-unique jobname.

                         /USER:user name     which     cancels     the
                                             specified request entered
                                             under  the   given   user
                                             name.   Use  an  asterisk
                                             (*) both for jobname  and
                                             as   argument   to   this
                                             switch  to   cancel   all
                                             requests  of all users in
                                             the specified queue.
                                             For   privileged    users
                                             only.




Output


     When you complete a CANCEL command removing a request, the system
     responds with "[1 Job Killed]" and makes the appropriate deletion
     from the indicated queue.  If the job  is  being  processed,  the
     response is "[No Jobs Killed, 1 Job Canceled]", but if the job is
     already finished, it is simply "[No Jobs Killed]".


Effect on Memory and Terminal


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


Related Commands


     MODIFY                          for  changing  requests   without
                                     removing them

     INFORMATION BATCH-REQUESTS      for  examining  requests  in  the
                                     batch input queue

     INFORMATION OUTPUT-REQUESTS     for  examining  requests  in  the
                                     line printer queues

     PRINT                           for placing requests  in  a  line
                                     printer queue

     SUBMIT                          for placing requests in the batch
                                     input queue


Examples


     1.  Cancel a specific print request.

              @CANCEL PRINT REMAX
              [1 JOB KILLED]
              @

     2.  Cancel all your batch requests.

              @CANCEL BATCH *
              [1 JOB KILLED]
              @




     3.  Find out what line  printer  requests  you  have  made,  then
         cancel one of two jobs bearing the same jobname.

              @INFORMATION OUTPUT-REQUESTS /USER
              Queue   Job     Seq     Limit   User
              -----   ---     ---     -----   ----
              LL      HOLMAX  2503    54      LATTA
                      /AFTER:31-Mar-78 18:00:00
              LPT     HOLMAX  2504    216     LATTA
                      /AFTER:31-Mar-78 18:00:00
              LPT     MEMO    2505    52      LATTA
                      /AFTER:31-Mar-78 18:00:00
              LPT     REL3A   2506    56      LATTA
                      /AFTER:31-Mar-78 18:00:00
              LPT     SPECS   2507    54      LATTA
                      /AFTER:31-Mar-78 18:00:00
              @CANCEL PRINT HOLMAX /SEQUENCE:2504
               [1 Job Killed]
              @

     4.  Get a list of your printing jobs (and some  of  the  switches
         you  gave),  then  cancel  three  of  them,  one of which has
         already been started.

              @INFORMATION OUTPUT-REQUESTS /USER/ALL
              Queue   Job     Seq     Limit   User
              -----   ---     ---     -----   ----
              LPT     ACCT    2500    66      LATTA
                      /AFTER:31-Mar-78 18:00:00
              LPT     ACCT    2501    264     LATTA
                      /AFTER:31-Mar-78 18:00:00/FORMS:NARROW
              LL      ACCT    2502    264     LATTA
                      /AFTER:31-Mar-78 18:00:00 /PRIORITY:60 /LOWERCASE
              LL      HOLMAX  2503    54      LATTA
                      /AFTER:31-Mar-78        18:00:00 /LOWERCASE
              @CANCEL PRINT ACCT
              [2 JOBS KILLED, 1 JOB CANCELED]
              @


CLOSE



Function


     The CLOSE command closes open files in your job.


Format


     @CLOSE (JFN) n
      -----       -

     where

     n         is the JFN (Job File Number) of an open file
                    Default n - all open files
                    -------


Output


     When the CLOSE command is completed, the system prints a  message
     on your terminal for each file that it has closed or attempted to
     close.


Characteristics


     CLOSE Usually Unnecessary

          The CLOSE command is used to preserve the contents of a file
          after  the  abnormal  termination of the program that opened
          it.  Under ordinary conditions you do not need  to  use  the
          CLOSE command.


Restrictions


     Closing Mapped Files

          You cannot close files that are mapped into memory;  in this
          case  give  the  RESET command, which clears memory.  (Note,
          however, that RESET will delete and expunge a mapped file if
          the  file  is  new, rather than save it as CLOSE would.)  If
          RESET by itself does not close the file, you may first  have
          to  give  the POP command to return to a higher level of the
          TOPS-20 command processor;  then  give  the  RESET  command.
          Once  memory  has  been  cleared,  all  files are closed for
          processes at the current and lower levels of TOPS-20.


Effect on Memory and Terminal


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




Related Commands


     INFORMATION FILE-STATUS     for determining which files are  open
                                 in your job

     INFORMATION MEMORY-USAGE    for  determining  which   files   are
                                 mapped

     RESET                       for closing mapped files and clearing
                                 memory


Examples


     1.  Close an open file.

              @CLOSE 4
               4   EDIT-BUFFER.OUT.100036   [OK]
              @

     2.  Try to close all your open files.  Give the RESET command  to
         close  those  that are mapped.  (Note that the file EXEC.EXE,
         containing the TOPS-20 command processor, cannot be closed.)

              @CLOSE
               3   TEST1.CBL.1   [OK]
               2   PS:<LOADTEST>EDIT.EXE.4   Can't close file - File
              still mapped
               1   PS:<SYSTEM>EXEC.EXE.153   Can't close file - File
              still mapped
              @RESET
              @CLOSE
               1   PS:<SYSTEM>EXEC.EXE.153   Can't close file - File
              still mapped
              @


COMPILE



Function


     The  COMPILE  command  translates  source   files   into   object
     (relocatable binary) files.


Format


     @COMPILE (FROM) /switch(es) source/switch(es) object,...
      -------        ----------- ----------------- ----------

     where

     switches       are  keywords  chosen   from   the   list   below,
                    indicating your choice of COMPILE command options.
                    When   positioned   immediately   after   a   file
                    specification  (and  before a comma) they apply to
                    that file  only.   Otherwise  they  become  global
                    switches, i.e., default choices for all subsequent
                    files.
                         Defaults are shown in the list of switches
                         --------

     source         is the file specification  of  a  source  program.
                    The filename must be of 6 or fewer characters, and
                    the file type  of  3  or  fewer  characters;   you
                    cannot use a generation number.
                         Default - file specifications and  associated
                         -------
                                   switches  you  gave  in  your  last
                                   LOAD-class command

     object         is the filename you choose for  the  object  file;
                    it must be of 6 or fewer characters.
                         Default - filename of the source  file  (file
                         -------
                                   type is .REL)

     ,...           means  that,  after  commas,  you  can  give  more
                    arguments  (switches,  source,  and object) of the
                    form already shown


      Summary of COMPILE Command Switches (defaults in boldface)


          /ALGOL
          /BINARY
          -------
          /COBOL
          /COMPILE
          /CREF
          /DEBUG
          /FORTRAN
          --------
          /LIST
          /MACRO
          /NOBINARY

          /NOCOMPILE
          ----------
          /NODEBUG
          --------
          /NOLIST
          -------
          /NOOPTIMIZE
          -----------
          /OPTIMIZE
          ---------




     Descriptions of these switches are  given  below.   Although  the
     system  will  not  reject  switches  described  under  any of the
     LOAD-class commands, only those switches commonly associated with
     COMPILE are described here.


                       COMPILE Command Switches


     /ALGOL         compiles the file using the ALGOL compiler 

     /BINARY        allows generation of an object (binary)  file  for
                    each source file given.  Use this switch to cancel
                    a /NOBINARY switch.
                         Default
                         -------

     /COBOL         compiles the file usng the COBOL compiler

     /COMPILE       forces compilation of the source file  even  if  a
                    current  object  file  already  exists.   Use this
                    switch along with the /LIST  or  /CREF  switch  to
                    obtain  listings  when  you  have  current  object
                    files.  (See also the /NOBINARY switch.)

     /CREF          creates   a   file   containing    cross-reference
                    information for each compilation.  The filename is
                    that of the object file;  the file type  is  .CRF.
                    Use  the  CREF  command to obtain a listing of the
                    file.  (For COBOL files, this switch automatically
                    produces a cross-reference listing.)

     /DEBUG         produces  an  object  file  containing   debugging
                    information beyond what is usually inserted during
                    a compilation.  (For FORTRAN  programs  only,  and
                    only if you have not given the /OPTIMIZE switch.)

     /FORTRAN       compiles the file using the FORTRAN compiler 
                         Default  for  switches  specifying   compiler
                         -------
                                  language,   in   the  absence  of  a
                                  standard source file type

     /LIST          prints a listing of the program in  ASCII  format;
                    the  name  of  this listing is the filename of the
                    object file.  The  /CREF  switch  overrides  /LIST
                    when they both apply to the same file.

     /MACRO         assembles the file using the MACRO assembler 

     /NOBINARY      prevents generation of an  object  (binary)  file.
                    Use this switch along with /LIST or /CREF to allow
                    these switches to take effect without producing  a
                    new object file.

     /NOCOMPILE     prevents compilation if the associated object file
                    is current;  otherwise it forces compilation.  Use
                    this switch to cancel a /COMPILE  or  /RELOCATABLE
                    (see the EXECUTE command description) switch.  See
                    Characteristics - Compiling  New   Sources   Only,
                    below.

                         Default
                         -------




     /NODEBUG       excludes special debugging information  from  your
                    object file.  (For FORTRAN programs only.) 
                         Default
                         -------

     /NOLIST        prevents a line printer listing of the program
                         Default
                         -------

     /NOOPTIMIZE    prevents the generation of  a  globally  optimized
                    object file.  (For FORTRAN programs only.)
                         Default
                         -------

     /OPTIMIZE      calls  for  generation  of  a  globally  optimized
                    object  file,  i.e.,  one  that runs as quickly as
                    possible.  (For FORTRAN programs only, and only if
                    you have not given the /DEBUG switch.)


Characteristics


     Compiling New Sources Only

          The system usually compiles only  those  sources  for  which
          there are no current object files, i.e., sources whose write
          dates are more recent than those of the object files of  the
          same  name.  But you can force compilation with the /COMPILE
          switch.

     Using Standard File Types

          If you specify source files with standard types (.FOR, .MAC,
          .CBL,   or   .ALG)   in   a   COMPILE  command,  the  system
          automatically   calls   the   appropriate   compiler    when
          compilation  is  necessary.   If you specify source files by
          filename only, the system searches your connected  directory
          in  the  above  order for a file of this name and a standard
          type.   To  compile  programs   from   sources   that   have
          nonstandard file types, give a switch to indicate the proper
          compiler (/FORTRAN, /MACRO, /COBOL, or  /ALGOL).   A  switch
          will  take  precedence  over  a  standard  file type if they
          indicate different languages.  If no compiler  is  indicated
          with  either  a  switch or a standard file type, the FORTRAN
          compiler is used.


Hints


     Plus Signs Between Filespecs

          If you give two or more filespecs separated  by  plus  signs
          (+)  as  arguments to COMPILE, they are compiled together as
          if they were a single file.  Their object module  is  stored
          under  any  filename  given  as the "object" argument of the
          command, or (if none) under the last filename in  the  group
          and file type .REL.




     Indirect Files as Arguments

          You can store the arguments (source  and  object  filespecs,
          switches)  of  a  COMPILE  command  in an indirect file, and
          specify them by typing an at sign (@) and its filespecs as a
          COMPILE  command  argument.   If you give other filespecs as
          well, you must give the indirect file last.


Restrictions


     Switches Assuming Compilation

          /CREF
          /DEBUG
          /LIST
          /NODEBUG
          /NOLIST
          /NOOPTIMIZE
          /OPTIMIZE

          The above switches will not take effect unless  the  COMPILE
          command  causes  a  new  compilation  of the relevant source
          file.  See  Characteristics - Compiling  New  Sources  Only,
          above, for more information.


Effect on Memory and Terminal


     The COMPILE command  clears  memory  and  loads  the  appropriate
     compiler.  After the compilation your terminal is left at TOPS-20
     command level.


Related Commands


     LOAD, EXECUTE, and DEBUG     other   LOAD-class   commands    for
                                  performing related functions


Examples


     1.  Compile a FORTRAN program.

              @COMPILE RSD2.FOR
              FORTRAN: RSD2
              MAIN.
              @

     2.  Do the same thing, using a  switch  to  indicate  the  proper
         compiler.

              @COMPILE RSD2/FORTRAN
              FORTRAN: RSD2
              MAIN.
              @




     3.  Create an indirect file.  Use it to compile several programs,
         forcing  a compilation of the last one and storing its object
         file under a new name.

              @CREATE UPDATE.CMD
              Input: UPDATE.CMD.1
              00100   /COBOL FSTQ, SNDQ, THDQ, FTHQ/COMPILE ANNUAL
              00200
              *E

              [UPDATE.CMD.1]
              @COMPILE @UPDATE.CMD
              COBOL:  DMN     [FSTQ.CBL]
              COBOL:  DMN     [SNDQ.CBL]
              COBOL:  DMN     [THDQ.CBL]
              COBOL:  DMN     [FTHQ.CBL]

              EXIT
              @DIRECTORY,
              @@CHRONOLOGICAL WRITE
              @@REVERSE
              @@

                 PS:<LATTA>
               ANNUAL.REL.1
               THDQ.REL.1
               SNDQ.REL.1
               FSTQ.REL.1
               UPDATE.CMD.1
               017CRE.TMP.100017:T
               FTHQ.CBL
               THDQ.CBL
               SNDQ.CBL
               FSTQ.CBL
              @

     4.  Produce a cross-reference (.CRF) file for a  FORTRAN  program
         although you already have a current object file;  prevent the
         generation of a new object program.   Check  for  the  output
         file.

              @COMPILE /CREF/FORTRAN/COMPILE/NOBINARY RSD2
              FORTRAN: RSD2
              MAIN.
              @DIRECTORY,
              @@CHRONOLOGICAL WRITE
              @@REVERSE
              @@

                 PS:<LATTA>
               RSD2.CRF.1
               017CRE.TMP.100017;T
               RSD2.REL.1
               RSD2.FOR
              @


CONNECT



Function


     The CONNECT command obtains ownership rights to a  directory  and
     makes it your connected directory.


Format


     @CONNECT (TO DIRECTORY) dev:<directory>
      -------                ---------------
     PASSWORD:  password
                --------
     @

     where

     dev:<directory>     is the directory to which you want to connect
                              Default dev: - your connected structure
                              -------
                              Default <directory> - the directory  (on
                              -------
                                      the  specified structure) of the
                                      same  name  as  your   connected
                                      directory

                              Default (if no arguments  are  given)  -
                              -------
                                      your log-in directory on PS:

     password            is  the  password  of  the   directory   (not
                         requested  for  your  log-in  directory  or a
                         directory to which you already have ownership
                         or sufficient group rights)


Characteristics


     Capabilities

          Your capabilities (Wheel, Operator, Confidential, etc.)  are
          associated  with your log-in user name only.  If you connect
          to a directory whose owner has Wheel  capabilities,  you  do
          not gain these capabilities.


Hints

     Obtaining Group Rights

          You can obtain group rights equal to those of the owner of a
          directory  by  giving  the  ACCESS command instead of, or in
          addition to, CONNECT for that directory.

Restrictions


     Features Not Affected

          For some  system  features,  CONNECT  does  not  affect  the
          directory used:




          Mail

               The MAIL program inserts messages addressed to you into
               a  file  in  your  log-in  directory  only.  The RDMAIL
               program reads messages from this file only, unless  you
               are a privileged user.

          System Accounting

               The SET ACCOUNT command allows arguments valid for your
               log-in user name only.

          PRINT and SUBMIT

               The  PRINT  and  SUBMIT  commands   charge   processing
               requests to your log-in user name only.


Effect on Memory and Terminal


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


Related Commands


     ACCESS     for obtaining group as well as ownership rights  equal
                to those of the owner of a directory

     SMOUNT     for ensuring the continued availability of a structure
                to which you connect


Examples


     1.  Connect to another user's directory.

              @CONNECT <HOLLAND>
              Password:
              @

     2.  Try  to  access  a  directory.   Discovering  that  it  is  a
         files-only directory, connect to it instead.

              @ACCESS <MANUALS>
              ?Directory is "files-only" and cannot be accessed
              @CONNECT <MANUALS>
              Password:
              @




     3.  Connect to another  user's  directory  on  a  different  file
         structure,  then  to  your directory on that structure;  then
         return to your log-in directory on PS:.  Give INFORMATION JOB
         commands  as  you  go  along to check which is your connected
         directory.

              @INFORMATION JOB
               Job 36, User LATTA, Account 341, TTY207
              @SMOUNT SNARK:
              Structure SNARK: mounted
              @CONNECT SNARK:<HOLLAND>
              Password:
              @INFORMATION JOB
               Job 36, User LATTA, SNARK:<HOLLAND>, Account 341, TTY207
              @CONNECT <LATTA>
              @INFORMATION JOB
               Job 36, User LATTA, SNARK:<LATTA>, Account 341, TTY207
              @CONNECT
              @INFORMATION JOB
               Job 36, User LATTA, Account 341, TTY207
              @SDISMOUNT SNARK:
              Structure SNARK: dismounted
              @

     4.  Connect to your directory on  another  structure  and  obtain
         your  full  rights  to  it.   After giving an INFORMATION JOB
         command to verify your connected directory,  give  a  command
         that  depends  on  these  rights.  Then return to your log-in
         directory on PS:.

              @SMOUNT SNARK:
              Structure SNARK: mounted
              @ACCESS SNARK:
              @CONNECT SNARK:
              @INFORMATION JOB
               Job 36, User LATTA, SNARK:<LATTA>, Account 341, TTY207
              @INFORMATION DIRECTORY <LATTA.*>,
              @@NAME-ONLY
              @@
               Name SNARK:<LATTA.ALLEN>
               Name SNARK:<LATTA.BLAKE>
               Name SNARK:<LATTA.LAB-NOTES>
               Name SNARK:<LATTA.TESTS>
              @END-ACCESS SNARK:<LATTA>
              @CONNECT
              @SDISMOUNT SNARK:
              Structure SNARK: dismounted
              @


CONTINUE



Function


     The CONTINUE command resumes  execution  of  a  program  that  is
     halted.


Format


     @CONTINUE (PROGRAM) argument
      --------           --------

     where

     argument       is one of the following keywords:

                       NORMALLY - which directs your program to resume
                                  executing and restores your terminal
                                  to command level (if any) within the
                                  program

                       STAY -     which directs your program to resume
                                  executing but keeps your terminal at
                                  TOPS-20 command level

                                       Default - NORMALLY
                                       -------


Hints


     Monitoring your Program

          CONTINUE STAY, by keeping your terminal at  TOPS-20  command
          level, lets you use TOPS-20 commands to monitor the progress
          of your program (see Related Commands, below)  while  it  is
          running.  You can also do other work as long as the commands
          you use do not affect memory.  See Appendix B for a list  of
          these.

     Using PUSH to Get a New TOPS-20 Command Level

          To use commands that call  a  program  or  otherwise  affect
          memory,  or to start a second program while the first one is
          running, give a  PUSH  command  immediately  after  CONTINUE
          STAY.   You  receive  a fresh copy of memory (address space)
          and can then  give  commands  that  affect  memory  or  call
          programs.   These commands do not affect the program that is
          already running.  But see Restrictions, below.


Restrictions


     Similar Programs Competing for Files

          If you have two similar programs running at once after using
          CONTINUE STAY and PUSH commands (see Hints, above), they may

          try to access  the  same  files  at  the  same  time  (e.g.,
          temporary files labeled by job number, used by compilers).




          This may cause  unpredictable  situations  to  develop.   To
          avoid  the  possibility,  run  different kinds of program or
          give different kinds of command (e.g., a LOAD-class  command
          and  an  EDIT-class command) at the different levels in your
          job.

     Programs Competing for Terminal Input

          If you have two programs running at once (see Hints, above),
          it is possible for the program running at the higher (first)
          TOPS-20 command level to intercept TOPS-20 commands given at
          the  lower  level.   These can be interpreted as commands or
          data directed at the higher-level program.  If  you  suspect
          that  this  is  happening,  you  can stop it by first typing
          CTRL/Cs to be sure you are  at  the  lower  TOPS-20  command
          level.   Then  give  POP  commands  to  return to the higher
          TOPS-20 level.  You may have  to  type  more  than  one  POP
          command  because terminal input is being divided arbitrarily
          between the two levels.  POP stops the  lower-level  program
          and  erases  its  copy  of  memory.   Finally,  give CTRL/Cs
          followed by a CONTINUE NORMALLY command;  this puts  you  at
          program command level in the higher-level program so you can
          give the commands or data it requires.

     Commands That Affect Context of Job

          Certain commands, by altering the context of your  job,  can
          affect  programs  you  are  running without changing memory.
          ACCESS,  CONNECT,  and  DEFINE  are  examples.   Give  these
          commands  with caution after CONTINUE STAY, even if you have
          given a PUSH command.


Effect on Memory and Terminal


     The CONTINUE NORMALLY command does  not  affect  memory,  resumes
     processing  the  program  in  memory, and leaves your terminal at
     program command level (if  there  is  one).   The  CONTINUE  STAY
     command  also  does  not affect memory and resumes processing the
     program in memory, but leaves your terminal  at  TOPS-20  command
     level.


Related Commands


     INFORMATION FILE-STATUS        for monitoring files being written
                                    by your program

     INFORMATION MEMORY-USAGE       for monitoring your program's  use
                                    of memory

     INFORMATION PROGRAM-STATUS     for monitoring your program's  use
                                    of CPU time

     PUSH                           for  obtaining  a  fresh  copy  of
                                    memory




     REENTER                        for   continuing   your    current
                                    program  at  its  alternate  entry
                                    point (if any)

     START                          for starting your current  program
                                    at the beginning


Examples


     1.  Continue a program which you have halted.

              @CONTINUE

     2.  Run a program, then halt it  by  typing  CTRL/Cs.   Give  the
         CONTINUE command and proceed.

              @RUN QUOTNT

              type two numbers:  312.^C
              @CONTINUE
              45, 6.675

              the quotient of   312.450   over   6.675 is   46.809
              STOP

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

     3.  Start editing a file.  Type a CTRL/C (and  then  give  the  M
         (monitor)  command  to  the EDIT system program) to return to
         TOPS-20 command level.  Give the DIRECTORY command  to  check
         the  name of a file, then give the CONTINUE command to return
         to your editing job.

              @EDIT REL3A.MEM
              Edit: REL3A.MEM.9
              *Yes? (Type H for help): M
              @DIRECTORY *.TXT

                 PS:<LATTA>
               MAIL.TXT.1
               MENTON.TXT.1
               PROFIL.TXT.1
               R2OPRJ.TXT.1
               REL3A.MEM.9

               Total of 4 files
              @CONTINUE

              *




     4.  Begin editing a long file, giving the  F  (find)  command  to
         EDIT.   Give  a  CTRL/C  and  then the M command to return to
         TOPS-20 command level.  Give the CONTINUE  STAY  command  and
         then  INFORMATION  FILE-STATUS commands to check the progress
         of EDIT as it searches through the file.   (Notice  that  the
         byte  position  shown  in  response to successive INFORMATION
         FILE-STATUS  commands  grows  larger.)   Finally,  give   the
         CONTINUE  NORMALLY  command  to  return to EDIT in time for a
         message.

              @EDIT DOC-PLAN.MEM
              Edit: DOC-PLAN.MEM.1
              *FABCD$
              Yes? (Type H for help): M
              @CONTINUE STAY
              @INFORMATION FILE-STATUS
               Connected to PS:<LATTA>,  JFNS:
               4   <LOADTEST>EDIT.EXE.4        Read, Execute
               3   EDIT-BUFFER.OUT.100046      Read, Write, 0.(7)
               2   DOC-PLAN.MEM.1      Read, 43520.(7)
               1   <SYSTEM>EXEC.EXE.153        Read, Execute

               Device assigned to/opened by this job: TTY222

              @INFORMATION FILE-STATUS 2
               2   DOC-PLAN.MEM.1      Read, 112640.(7)
              @INFORMATION FILE-STATUS 2
               2   DOC-PLAN.MEM.1      Read, 130560.(7)
              @CONTINUE

              %Search fails
              *




     5.  Start compiling a long file.  After  compilation  has  begun,
         give  a  CTRL/C  to stop it and return to the TOPS-20 command
         processor.  Use CONTINUE STAY to resume compilation, and then
         PUSH  to  receive a new copy of the TOPS-20 command language.
         Edit a text file at this lower level, then give the  POP  and
         CONTINUE  commands  to return to the compilation in progress.
         The compiler finishes, in this case, after you have done so.

              @COMPILE DUMPER.MAC
              MACRO:  DUMPER
              ^C
              @CONTINUE STAY
              @PUSH

               TOPS-20 Command processor 3(414)
              @EDIT PROFIL.TXT
              Edit: PROFIL.TXT.2
              *SAPRIL$JUNE$:*
              00100   JUNE 19, 1978
              00500   JUNE 12
              00750   JUNE 5
              00900   JUNE 18
              01400   JUNE 21
              *E

              [PROFIL.TXT.3}
              @POP
              @CONTINUE

              EXIT
              @


COPY



Function


     The COPY command makes a copy of an existing file and  stores  it
     under  a  new file specification.  The file remains under its old
     specification also.


Format


     @COPY (FROM) source filespec (TO) destination filespec,
      ----        ------ --------      ----------- ---------
     @@subcommand
       ----------

     where

     source filespec          is the  specification  of  the  file  or
                              device whose contents you want to copy

     destination filespec     is the  specification  of  the  file  or
                              device in which you want to store a copy
                              of the file
                                   Default - source filespec, but with
                                   -------
                                             next   higher  generation
                                             number

                         ,
     @@subcommand             means that after a final comma  you  can
                              type an optional keyword, specifying the
                              mode or format of information  transfer,
                              as described below


                       COPY Command Subcommands
    (when used with the paper tape reader or punch - PTR: or PTP:)

             PARITY
     ASCII   NOPARITY    specifies  that  the  file  being  copied  is
                         written in ASCII mode, with 36-bit words each
                         consisting of five 7-bit bytes and  a  parity
                         bit;  the PARITY argument is not currently in
                         use;  NOPARITY (the default) means  that  the
                         eighth  hole  of  the  paper  tape  is  never
                         punched.

     BINARY              specifies  that  the  file  being  copied  is
                         composed  of 36-bit words, each consisting of
                         six 6-bit bytes with the seventh hole of  the
                         paper  tape  set  always  to 0 and the eighth
                         hole set always  to  1;   causes  a  checksum
                         calculation.

     IMAGE               specifies  that  the  file  being  copied  is
                         composed  of 36-bit words, each consisting of
                         one 8-bit byte;  the 28 most significant bits
                         are set to 0 on input and are lost on output.

     IMAGE BINARY        same as  BINARY,  but  lacking  the  checksum
                         calculation




                       COPY Command Subcommands
  (when used with devices other than the paper tape reader or punch)

             PARITY
     ASCII   NOPARITY    specifies  that  the  file  being  copied  is
                         written in ASCII mode, with 36-bit words each
                         consisting of five 7-bit bytes and  a  parity
                         bit;  the PARITY argument is not currently in
                         use;  NOPARITY (the default) means  that  the
                         least  significant  bit  is set to 0 on input
                         and is lost on output.

     BINARY              calls for a direct transfer of data in 36-bit
                         bytes

     IMAGE               same as BINARY

     IMAGE BINARY        same as BINARY


Output


     As each file is copied, the system prints the  specifications  of
     the  source  and  destination files and the word [OK].  The delay
     before you see this [OK] indicates how long it took to  copy  the
     file.    If   you   use   recognition  on  the  destination  file
     specification, the system prints, !New Generation!,  !New  File!,
     or  !Superseding!, to indicate the status of disk files, or !OK!,
     if the file is copied to a non-disk device.


Characteristics


     Normal Operation - No Subcommands

          For most purposes you do not need subcommands  when  copying
          files.   When  you do not use subcommands the information is
          copied as written, whether in  a  standard  format  (usually
          ASCII or BINARY) or not.

     Optional Subcommands With Paper Tape

          Each subcommand, when used  to  copy  information  from  the
          paper  tape  reader  (PTR:),  specifies an interpretation of
          eight-bit bytes, representated as eight-hole lines on  paper
          tape.   When  used  with  the  paper tape punch (PTP:), each
          subcommand  specifies  a  mapping  of  information  to   the
          eight-bit bytes of paper tape.




     Optional Subcommands With Other Devices

          Each subcommand can be  used  under  particular  conditions,
          e.g., when transferring files over network facilities (using
          DCN:  and SRV:), to specify the  byte  size  of  information
          being   copied.   In  general,  you  can  use  COPY  command
          subcommands whenever you need to specify the  byte  size  of
          information being copied.


Hints


     Using Devices as Source and/or Destination Filespecs

          By specifying a device  as  the  source  and/or  destination
          filespec,   you   can  use  the  COPY  command  to  transfer
          information between card- or  paper  tape-handling  devices,
          magnetic  tape  drives,  line  printers, terminals, or other
          output devices.  However, the PRINT and TYPE  commands,  and
          appropriate  utility programs (e.g., DUMPER and EDIT), offer
          more flexibility for most applications.

          Copying To or From TTY:

               You can simulate the action of the CREATE  command  for
               creating  files  by  copying from device TTY:  to a new
               filespec, ending your input with a CTRL/Z;  use CTRL/U,
               CTRL/R,  CTRL/W, and the DELETE key to edit the current
               line of terminal input.  You can simulate the action of
               the  TYPE  command for displaying files by copying from
               an existing filespec to device TTY:.

          Spooled Output Action

               If you send information to  output  devices  using  the
               COPY  command,  your  request is processed according to
               the  status  of  the  SPOOLED-OUTPUT-ACTION  parameter,
               which   you  set  with  the  SET  SPOOLED-OUTPUT-ACTION
               command.

     Using Wildcards in Source and/or Destination Filespecs

          You can use wildcard characters (* and %) in  source  and/or
          destination filespecs to copy many files at a time.  Default
          values will be  assumed  for  filespec  fields  you  do  not
          specify.   Note  that if you use wildcard characters to copy
          more than one source file into a single destination file  on
          disk,  the  contents  of  each  source file will appear in a
          different generation of the destination file;   the  highest
          generation will contain a copy of the last source file only.
          Use the APPEND command to put the contents of several  files
          into a single file.




     Specifying a New Account or Protection Number

          The COPY command lets you specify the new file's  protection
          number, and the account to which storage fees for it will be
          charged.  Follow the new file specification with a semicolon
          (;)  and the letter P before giving a new 6-digit protection
          number, and with a semicolon and the letter A before  giving
          a  new account (which must be valid for your user name).  If
          you do not specify an account for a new file, it  will  take
          as default the account you gave in your most recent LOGIN or
          SET ACCOUNT command.


Warning


     Destroying the Previous Contents of Files

          If  you  give  a  destination  file  specification  with   a
          generation  number, the source file will be copied into that
          file, replacing any previous contents if that generation  of
          the   file   already   exists.   Those  contents  cannot  be
          recovered.


Effect on Memory and Terminal


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


Related Commands


     APPEND                        for adding information to a file or
                                   putting  the contents of many files
                                   into a single file

     RENAME                        for changing only the specification
                                   of a file

     SET SPOOLED-OUTPUT-ACTION     for changing  the  setting  of  the
                                   SPOOLED-OUTPUT-ACTION    parameter,
                                   which determines when files  copied
                                   to output devices are processed


Examples


     1.  Make an extra copy of a file in your connected directory.

              @COPY FORT.TXT BACKUP.TXT
               FORT.TXT.1 => BACKUP.TXT.3 [OK]
              @




     2.  Copy  a  file  from  your  directory  into   another   user's
         directory,  allowing  it  to  be  labeled  with  default file
         specifications there.

              @ACCESS <SARTINI>
              Password:
              @COPY TEST1.CBL <SARTINI>
               TEST1.CBL.2 => <SARTINI>TEST1.CBL.2 [OK]
              @END-ACCESS <SARTINI>
              @

     3.  Use a wildcard character to  copy  several  files  from  your
         directory on another structure to magnetic tape.

              @ACCESS SNARK:
              @COPY SNARK:NA*.TST MTA2:
               SNARK:NACCESS.TST.2 => MTA2:NACCESS.TST [OK}
               SNARK:NADVISE.TST.2 => MTA2:NADVISE.TST [OK]
               SNARK:NAPPEND.TST.2 => MTA2:NAPPEND.TST [OK]
               SNARK:NASSIGN.TST.2 => MTA2:NASSIGN.TST [OK]
               SNARK:NATTACH.TST.2 => MTA2:NATTACH.TST [OK]
              @END-ACCESS SNARK:
              @

     4.  Use the COPY command to create a short text file.

              @COPY TTY: NEW-FILE.TXT
               TTY: => NEW-FILE.TXT.2

              THIS FILE WAS CREATED USING THE COPY COMMAND.
              ^Z
              @
              @TYPE NEW-FILE.TXT
              THIS FILE WAS CREATED USING THE COPY COMMAND.
              @


CREATE



Function


     The CREATE command lets you make files.  


Format


     @CREATE (FILE) /switch(es) filespec
      ------        ----------- --------

     where

     switches    are keywords, chosen from the list below,  indicating
                 your choice of CREATE command options
                      Defaults are shown in the list of switches
                      --------

     filespec    is a specification for the file you want to create
                      Default -  the  last  file   specification   and
                      -------
                                 associated  switches  you  gave  in a
                                 CREATE or  EDIT  command  during  the
                                 current terminal session


      Summary of CREATE Command Switches (defaults in boldface)

          /BAK
           ---
          /C128
          /C64
           ---
          /DECIDE
          /DPY
          /EXPERT
          /INCREMENT:n       Default n - 100
           -----------       -------
          /ISAVE:n
          /LOWER
          /M33
          /M37
          /NOBAK
          /NODECIDE
           --------
          /NONSEPARATORS
           -------------
          /NONUMBER
          /NOVICE
           ------
          /NUMBER
           ------
          /OLD
          /OPTION:name
          /PLINES:n          Default n - 16
           --------          -------
          /R
          /READONLY
          /RONLY

          /RUN:filespec      Default file type - .EXE
                             -------
          /SAVE:n
          /SEPARATORS
          /SEQUENCE
           --------
          /START:n           Default n - argument of /INCREMENT switch
           -------           -------
          /STEP:n            Default n - 100
           ------            -------
          /UNSEQUENCE
          /UPPER
           -----
          /WINDOW:n          Default n - 10
           --------          -------




                       CREATE Command Switches


     /BAK             causes an unedited copy of the file to be  saved
                      at   the   end   of  an  editing  session  under
                      specification name.Qyp, where  name.typ  is  the
                      file's original specification
                           Default
                           -------

     /C128            calls for  a  128-character  alphabet,  allowing
                      insertion of special control characters

     /C64             calls for a  64-character  alphabet,  preventing
                      insertion of control characters
                           Default
                           -------

     /DECIDE          lets you decide whether to accept or reject each
                      change   caused   by  the  operation  of  the  S
                      (substitute) command of the EDIT program

     /DPY             has no effect in the current monitor

     /EXPERT          tells  the  EDIT  program  that  you  need  only
                      abbreviated  error  messages, and fewer warnings
                      and reminders

     /INCREMENT:n     specifies the value to add to each  line  number
                      of the file to obtain the next line number
                           Default n - 100
                           -------

     /ISAVE:n         instructs the EDIT program to update the  backup
                      file  of  specification  name.Qyp  after every n
                      lines you insert

     /LOWER           specifies that  all  alphabetic  characters  you
                      type  should be considered lowercase characters;
                      give  uppercase  characters  by  preceding   the
                      corresponding  lowercase character with a single
                      quotation mark (').

     /M33             has no effect in the current monitor

     /M37             has no effect in the current monitor

     /NOBAK           prevents an unedited copy of the file from being
                      saved  at  the  end  of an editing session under
                      specification name.Qyp, where  name.typ  is  the
                      file's original specification

     /NODECIDE        ensures  the  automatic  operation  of   the   S
                      (substitute) command of the EDIT program
                           Default
                           -------

     /NONSEPARATORS   specifies that  the  characters  .  (period),  $
                      (dollar sign), and % (percent sign) are ordinary
                      textual  characters  and  not  field  delimiters

                      (separators) in the accompanying file
                           Default
                           -------




     /NONUMBER        suppresses the printing  of  line  numbers  with
                      each line of a file

     /NOVICE          tells the EDIT program  that  you  want  to  see
                      complete  error  messages  and  all  appropriate
                      warnings;  opposite of /EXPERT switch
                           Default
                           -------

     /NUMBER          prints a line number for each line of the file
                           Default
                           -------

     /OLD             causes the first backup file to be  saved  under
                      the  specification  name.Zyp,  where name.typ is
                      the file's original specification

     /OPTION:name     sets any EDIT switches contained in lines of the
                      SWITCH.INI file in your log-in directory labeled
                      with name (of 6 or fewer characters).   See  the
                      TOPS-20   EDIT   Reference   Manual   for   more
                      information about SWITCH.INI files.

     /PLINES:n        specifies  how  many lines to print  in response
                      to each P (print) command of the EDIT program
                           Default n - 16
                           -------

     /R               same as /READONLY

     /READONLY        prevents any changes  to  the  file  during  the
                      current session of the EDIT program, i.e., makes
                      it a read-only session

     /RONLY           same as /READONLY

     /RUN:filespec    specifies an executable program to be  run  when
                      you  end the current session of the EDIT program
                      with the G command
                           Default file type - .EXE
                           -------

     /SAVE:n          instructs the EDIT program to update the  backup
                      file  (of  specification name.Qyp) after every n
                      EDIT program commands that modify the file

     /SEPARATORS      notifies the EDIT program that the characters  .
                      (period), $ (dollar sign), and % (percent sign),
                      are not  ordinary  textual  characters  but  are
                      field separators in the accompanying file

     /SEQUENCE        tells the EDIT program not  to  strip  the  line
                      numbers from the file when the EDIT session ends
                           Default
                           -------

     /START:n         specifies the first line  number  for  the  EDIT
                      program to use when numbering the file
                           Default n - argument of /INCREMENT switch
                           -------

     /STEP:n          same as /INCREMENT

     /UNSEQUENCE      tells the EDIT program to strip the line numbers
                      from the file when the EDIT session ends




     /UPPER           specifies that  all  alphabetic  characters  you
                      type  should be considered uppercase characters;
                      give  lowercase  characters  by  preceding   the
                      corresponding  uppercase character with a single
                      quotation mark (').
                           Default
                           -------

     /WINDOW:n        specifies the number n (between 10  and  99)  of
                      pages  to  be  held  in  memory  during the EDIT
                      session
                           Default n - 10
                           -------


Characteristics


     Input Mode and Edit Mode

          The CREATE command runs the EDIT system  program,  first  in
          Input  mode and then in Edit mode.  Input mode automatically
          begins each line with a line number (unless you  have  given
          the  /NONUMBER switch), and allows you to put any alphabetic
          or  numeric  information  into  the  file.   When  you  have
          finished  doing  this  and  press  the  ESCAPE key, the EDIT
          program puts you into Edit mode  and  prompts  you  with  an
          asterisk (*), just as if you had typed the EDIT command with
          the specifications of the newly-created  file  as  argument.
          If  you want to save the file in its present state, give the
          E (for end) command to the EDIT program.  Otherwise you  can
          give  any  other  EDIT  command to change or add to the file
          before saving it.


Hints


     Saving Backup Files Periodically

          Give the /ISAVE:n switch to save an updated copy of the file
          you  are  creating  after  every n lines inserted.  Then you
          will lose only a few lines of input in the event of a system
          failure.   The  similar  /SAVE:n  switch  is  useful for the
          CREATE command only in Edit mode, where it saves an  updated
          copy  of  the  file after every n EDIT program commands that
          modify the file.

     SWITCH.INI File

          If there is a group of  CREATE  command  switches  that  you
          always  or  often use with CREATE or EDIT commands, put them
          into a file  of  specification  SWITCH.INI  in  your  log-in
          directory,  in  a line of that file beginning with EDIT:abc,
          where abc is any set of characters you  choose  to  identify
          the line.  Then if you include the single switch /OPTION:abc
          when you give a CREATE or EDIT command, all  these  switches
          will be in effect.




     Further Information

          For more information about the EDIT program, see the TOPS-20
          EDIT Reference Manual.


Effect on Memory


     The CREATE command clears memory, then  loads  the  EDIT  program
     into  memory,  and  leaves  your terminal at command level (Input
     mode) in that program.


Related Commands


     EDIT     for modifying existing files


Examples


     1.  Create a file.

              @CREATE FILE1.TXT
              Input: FILE1.TXT.1
              00100   !THIS IS A SHORT TEXT FILE.
              00200
              *E

              [FILE.TXT.1]
              @

     2.  Create and edit (using the P  and  R  commands  to  the  EDIT
         system program) another file.

              @CREATE FILEB.TXT
              Input:FILEB.TXT.1
              00100   !THIS IS ANOTHER SHORT TEXT FILE.
              00200
              *P
              00100   !THIS IS ANOTHER SHORT TEXT FILE.
              *R100
              00100   !THIS IS A SECOND TEXT FILE.
              00200   $
              1 Lines (00100/1) deleted
              *P
              00100   !THIS IS A SECOND TEXT FILE.
              *E

              [FILEB.TXT.1]
              @




     3.  Create, then execute, a FORTRAN program.

              @CREATE FILEE.FOR
              Input: FILEE.FOR.1
              00100   C       THIS IS A SHORT TEST PROGRAM.
              00200           TYPE 101
              00300   101     FORMAT ( ' THIS IS ONLY A FORTRAN TEST.')
              00400           END
              00500
              *E

              [FILEE.FOR.1]
              @EXECUTE FILEE.FOR
              FORTRAN: FILEE
              MAIN.
              LINK:   Loading
              [LNKXCT FILEE Execution]

              THIS IS ONLY A FORTRAN TEST.

              END OF EXECUTION.
              CPU TIME: 0.04  ELAPSED TIME: 0.44
              EXIT
              @


CREF



Function


     The  CREF  command  runs  the  CREF   program,   which   produces
     cross-reference listings from files of type .CRF.  


Format


     @CREF destination filespec=source filename
      ---- ----------- --------------- --------

     where

     destination filespec     is the name of the  file  or  device  to
                              which  you  want  to  send the processed
                              contents of the .CRF file
                                   Default - LPT:
                                   -------

     source filename          is the name of the .CRF file you want to
                              process
                                   Default - the names of all files of
                                   -------
                                             type .CRF produced during
                                             the   current    terminal
                                             session


Characteristics


     Current .CRF Files

          If you have  files  of  type  .CRF  produced  by  LOAD-class
          commands  during  the  current terminal session, the command
          CREF produces listings of them and deletes  the  files.   By
          supplying  an  argument  of  the  form  shown  in the Format
          section above, you can copy the listing for a  current  .CRF
          file  to  another  file  or device.  To run the CREF program
          yourself when you have current .CRF files, give the  command
          R CREF instead.

     .CRF Files From a Previous Session


          If your only files of  type  .CRF  were  produced  during  a
          previous  terminal  session,  the  command  CREF  puts  your
          terminal at command level in the CREF program, symbolized by
          an  asterisk  (*).   Thus  it is equivalent to the command R
          CREF in this case.


Hints


     Producing .CRF Files

          You can produce cross-reference files by including the /CREF
          switch  in  any  LOAD-class  command  that actually causes a

          compilation (i.e., is not  prevented  from  doing  so  by  a
          /RELOCATABLE  switch  or  by the existence of current object
          files).




     Preserving .CRF Files After Processing

          Give the /P switch immediately after  the  CREF  command  to
          preserve  .CRF  files.   Ordinarily  they  are deleted after
          being sent to an output device or copied into another file.

     Further Information

          For  a  more  detailed  description  of  the  CREF  program,
          including   all  available  switches,  give  the  HELP  CREF
          command.


Effect on Memory and Terminal


     The CREF command replaces the contents of memory  with  the  CREF
     program  and leaves your terminal at TOPS-20 command level, or at
     command level within the program (denoted by an  asterisk  prompt
     (*)).


Related Commands


     LOAD-class commands     for producing .CRF files


Examples


     1.  Give the CREF command to obtain a listing of your .CRF file.

              @CREF
              CREF:   TESTF1
              @

     2.  Compile two FORTRAN  programs,  using  the  /CREF  switch  to
         produce  .CRF  files.   Then  give the CREF command to obtain
         listings of these, and use the /P switch to preserve the .CRF
         files

              @COMPILE /CREF TESTF1.FOR, TESTF2.FOR
              FORTRAN: TESTF1
              MAIN.
              FORTRAN: TESTF2
              MAIN.
              @CREF/P
              CREF:   TESTF1
              CREF:   TESTF2
              @




     3.  Determine what .CRF files you have, then mount a tape.   Give
         the  CREF command, and once within the CREF program, have the
         cross-reference listing produced  from  one  of  these  files
         copied   onto  tape.   (The  .CRF  files  are  not  processed
         automatically when you give the  CREF  command  because  they
         were produced during a previous terminal session.)


              @DIRECTORY *.CRF

                 PS:<LATTA>
               TESTM1.CRF.2
               TESTM2.CRF.1

               Total of 2 files
              @TMOUNT CRFMAC
              [Operator notified]
              [MTA3: assigned]
              @CREF

              *MTA3:=TESTM2
              [CRFXKC 4K core]
              *^C
              @DEASSIGN MTA3:
              @


CSAVE



Function


     The CSAVE command makes a copy  of  the  program  in  memory  and
     stores it in a file, in compressed format.


Format


     @CSAVE (ON FILE) filespec (WORDS FROM) n1 (TO) n2, n3 n4,...
      -----           --------              --      --- -- ------


     where

          filespec       is the file  specification  under  which  you
                         want to store the program
                              Default filespec - program name.EXE
                              -------

          n1 n2,         are pairs of  octal  numbers  specifying  the
                         span(s) of
          n3 n4,         memory locations you want to save

          ...                 Default n1 n2 - 20  to   last   location
                              -------
                                              occupied by program


Warning


     Inefficiency of CSAVE

          The CSAVE command saves  in  a  file  in  compressed  format
          whatever  program the system finds in memory.  When the file
          is returned to memory, e.g., by the GET command, this format
          prevents other users' programs from sharing the same copy of
          the file.  Therefore you  should  ordinarily  use  the  SAVE
          command instead for storing programs in executable format.


Effect on Memory and Terminal


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


Related Commands


     GET      for putting a saved file into memory

     LOAD     for putting source or object files into memory

     SAVE     usual command for saving programs in executable format




Examples


     1.  Save your currently loaded program in  compressed  executable
         format.

              @CSAVE
               DMN.EXE.1 Saved
              @

     2.  Assign a magnetic tape drive.  Then load an ALGOL program and
         save it in three places in executable format:  once in a disk
         file under the same filename, again in a disk  file  under  a
         new filename, and once on magnetic tape.

              @ASSIGN MTA2:
              @LOAD TESTA1
              LINK:   Loading

              EXIT
              @CSAVE
               TESTA1.EXE.1 Saved
              @CSAVE BAK
               BAK.EXE.1 Saved
              @CSAVE MTA2:
               MTA2:BAK Saved
              @DEASSIGN MTA2:
              @


DAYTIME



Function


     The DAYTIME command prints the current day,  date,  and  time  on
     your terminal.


Format


     @DAYTIME
      -------


Hints


     Using DAYTIME

          The DAYTIME command, which does not require you to be logged
          in,  lets you check the system's clock against your own.  If
          you are saving the output from  a  hard-copy  terminal,  use
          this command to make a record of the date and time.


Effect on Memory and Terminal


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


Examples


     1.  Give the DAYTIME command.

              @DAYTIME
               Friday, April 21, 1978 09:21:19
              @


DDT



Function


     The DDT command loads or merges a debugging program  into  memory
     (unless one is already there), then starts it.


Format


     @DDT
      ---


Characteristics


     If a Debugging Program is Already Loaded

          If you have already loaded a debugging program  into  memory
          along   with  your  program,  the  DDT  command  starts  the
          debugging program.

     If Your Program, But Not a Debugging Program, is Already Loaded

          If a program containing  symbols  is  in  memory  without  a
          debugging  program, the DDT command merges SYS:UDDT.EXE into
          memory, then starts this debugging program.

     If Memory is Currently Clear

          If you do not have a program in memory, or if  your  program
          does  not contain symbols, the DDT command puts SYS:SDDT.EXE
          into memory and starts it.


Hints


     Using DDT to Create a Program

          You can use DDT to begin typing source  code  directly  into
          memory,  without  first  putting  it  into  a file for later
          compilation and loading.  Give  a  RESET  command  to  clear
          memory,  then the DDT command.  This will load SYS:SDDT.EXE.
          Then you can give commands within SDDT to  create  your  own
          program.   When  using the SDDT program, you can use all the
          symbols in the system parameter file  MONSYM.MAC.   See  the
          TOPS-20  Monitor Calls Reference Manual for more information
          about MONSYM.MAC.  This method of writing a program is  most
          useful  for  testing  special  cases, or for learning to use
          TOPS-20 monitor calls.


Special Cases


     Using COBDDT

          If you put COBDDT into memory along with  a  COBOL  program,
          the  DDT  command  starts the UDDT program, not COBDDT.  Use

          the REENTER command to start COBDDT in this case.




Effect on Memory and Terminal


     The DDT command merges the SYS:UDDT.EXE program into  memory  and
     starts it, or loads and starts SYS:SDDT.EXE.  If you have already
     loaded a debugging program, the DDT command starts this  program.
     In  each  case  your  terminal  is  left  at command level in the
     debugging program.

Related Commands

     DEBUG     for  loading  your  program  along  with  a  particular
               debugging program (e.g., FORDDT or COBDDT)

Examples

     1.  Give the DDT command to begin debugging a  program  currently
         in memory.

              @DDT
              DDT

     2.  Give the DEBUG command to debug a FORTRAN  program;   type  a
         CTRL/C to return to TOPS-20 command level so you can find out
         the current load average for  the  system.   Return  to  your
         debugging  program  (FORDDT  in  this case) by giving the DDT
         command.

              @DEBUG TESTF1
              LINK:   Loading
              [LNKDEB FORDDT Execution]

              STARTING FORTRAN DDT

              >> ^C
              @SYSTAT SYSTEM
               Fri 21-Apr-78 13:50:01  Up 36:47:55
               35+14 Jobs   Load av   0.72   0.81   1.33

              @DDT

              STARTING FORTRAN DDT

              >> START

              THIS IS A TEST.

              END OF EXECUTION
              CPU TIME: 0.04  ELAPSED TIME: 0.33
              EXIT
              @INFORMATION MEMORY-USAGE

               66. pages, Entry vector loc 0 len 254000
              0-12     Private   R, W, E
              400      Private   R, W, E
              401-466  <SUBSYS>FOROTS.EXE.3  3-70   R, CW, E

              @


DEASSIGN



Function


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


Format


     @DEASSIGN (DEVICE) dev:
      --------          ----

          where

          dev:    is the name of the device you want to deassign;   an
                  asterisk  (*)  deassigns  all  devices  (except your
                  log-in terminal) assigned to your job.


Restrictions


     Open Files

          The DEASSIGN command will not  deassign  a  device  that  is
          accessing  an  open  file.   No  error is generated, but the
          device is not deassigned until that file is closed or  until
          you log out.  When you log out, all devices are deassigned.


Effect on Memory and Terminal


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


Related Commands


     ASSIGN                          for assigning a particular device
                                     to your job

     INFORMATION AVAILABLE DEVICES   for finding out which devices are
                                     available,  and  which  ones have
                                     already been assigned to your job

     TMOUNT                          for mounting a magnetic tape  and
                                     assigning   the  first  available
                                     tape drive to your job


Examples


     1.  Deassign a device (in this case a card reader).

              @DEASSIGN PCDR0:
              @




     2.  Find out  which  devices  are  assigned  to  your  job,  then
         deassign  all  of  these.   Verify that this was done.  (Note
         that  your  terminal,  in  this  case   TTY222:,   is   never
         deassigned.)

              @INFORMATION AVAILABLE DEVICES
              Devices available to this job:
               DSK, PS, SNARK, PACK, FTN20, MTA2, MT0-7, LPT, LPT0
               LPT1, CDR, PCDR0, CDP, FE1-15, PTY15-61, NUL, PLT,
              PLT0, DCN, SRV
              Devices assigned to/opened by this job: MTA2, MT0,
              PCDR0, TTY222, PTY15
               TTY222, PTY15
              @DEASSIGN *
              @INFORMATION AVAILABLE DEVICES
              Devices available to this job:
               DSK, PS, SNARK, PACK, FNT20, MTA2, MT0-7, LPT, LPT0
               LPT1, CDR, PCDR0, CDP, FE1-15, PTY15-61, NUL, PLT,
              PLT0, DCN, SRV
              Devices assigned to/opened by this job: TTY222
              @


DEBUG



Function


     The DEBUG command loads your program into  memory  along  with  a
     debugging  program, compiling the source file first if necessary.
     Then it starts the debugging program.


Format


     @DEBUG (FROM) /switch(es) source/switch(es)  object,...
      -----        ----------- -----------------  ----------

     where

     switches       are  keywords  chosen   from   the   list   below,
                    indicating  your  choice of DEBUG command options.
                    When   positioned   immediately   after   a   file
                    specification  and before a comma, they apply only
                    to  that  file.   Otherwise  they  become   global
                    switches, i.e., default choices for all subsequent
                    files.
                         Defaults  are shown in the list of switches
                         --------

     source         is the file specification of the  source  program.
                    The filename must be of 6 or fewer characters, and
                    the file type  of  3  or  fewer  characters;   you
                    cannot  use a generation number.  This argument is
                    not necessary if you supply an object filespec.

     object         is the file specification of the  object  program.
                    The  filename  must be of six or fewer characters,
                    and the file type must be .REL;  you cannot use  a
                    generation number.  This argument is not necessary
                    if you supply a source filespec.

                         Default (if  you  give  neither  source   nor
                         -------
                                 object  filespecs)  -  last filespecs
                                 and associated switches you gave in a
                                 LOAD-class command

     ,...           means  that,  after  commas,  you  can  give  more
                    arguments  (switches,  source,  and object) of the
                    form already shown

       Summary of DEBUG Command Switches (defaults in boldface)

               /ALGOL
               /COBOL
               /COMPILE
               /CREF
               /DDT
               /DEBUG
               /FORTRAN
                -------
               /LIBRARY
               /LIST

               /MACRO
               /MAP:filespec     Default filespec - object
                                 -------
                                                    filename.MAP, or
                                                    nnnLNK.MAP




               /NOCOMPILE
                ---------
               /NODEBUG
                -------
               /NOLIBRARY
                ---------
               /NOLIST
                ------
               /NOOPTIMIZE
                ----------
               /NOSEARCH
                --------
               /OPTIMIZE
               /RELOCATABLE
               /SEARCH
               /SYMBOLS
                -------


     Descriptions of these switches are  given  below.   Although  the
     system  will  not  reject  switches  described  under  any of the
     LOAD-class commands, only those switches commonly associated with
     DEBUG are described here.


                        DEBUG Command Switches


     /ALGOL           compiles the file using the ALGOL compiler 

     /COBOL           compiles the file using the COBOL compiler 

     /COMPILE         forces compilation of the source file even if  a
                      current  object  file  already exists.  Use this
                      switch along with a /LIST  or  /CREF  switch  to
                      obtain  listings  when  you  have current object
                      files.

     /CREF            creates  a   file   containing   cross-reference
                      information  for each compilation.  The filename
                      is that of the object file;  the  file  type  is
                      .CRF.   Use the CREF command to obtain a listing
                      of the file.   (For  COBOL  files,  this  switch
                      automatically    produces    a   cross-reference
                      listing.)

     /DDT             loads the DDT debugging program along with  your
                      object file

     /DEBUG           produces an  object  file  containing  debugging
                      information  beyond  what  is  usually  inserted
                      during compilation.  (For FORTRAN programs only,
                      and  only  if  you  have not given the /OPTIMIZE
                      switch.)

     /FORTRAN         compiles the file using the FORTRAN compiler 
                           Default for switches specifying a  compiler
                           -------
                                   language,   in  the  absence  of  a
                                   standard source file type

     /LIBRARY         same as /SEARCH




     /LIST            prints a line printer listing of the program  in
                      ASCII  format;   the name of this listing is the
                      filename of the object file.  The  /CREF  switch
                      overrides /LIST when they both apply to the same
                      file.

     /MACRO           assembles the files using the MACRO assembler 

     /MAP:filespec    produces a loader  map  and  stores  it  in  the
                      indicated file 
                           Default filespec - object.MAP, where object
                           -------
                                              is   the   name  of  the
                                              module  containing   the
                                              start  address;   or (if
                                              no    start     address)
                                              nnnLNK.MAP, where nnn is
                                              your job number.

     /NOCOMPILE       prevents compilation if  the  associated  object
                      file    is   current;    otherwise   it   forces
                      compilation.   Use  this  switch  to  cancel   a
                      /COMPILE or /RELOCATABLE switch.
                           Default
                           -------

     /NODEBUG         excludes special debugging information from your
                      object file.  (For FORTRAN programs only.)

     /NOLIBRARY       same as /NOSEARCH

     /NOLIST          prevents a line printer listing of the program
                           Default
                           -------

     /NOOPTIMIZE      prevents the generation of a globally  optimized
                      object file.  (For FORTRAN programs only.)
                           Default
                           -------

     /NOSEARCH        requires all modules in the object file  library
                      (the  file  accompanied  by  this  switch in the
                      command line) to be loaded even if they are  not
                      called  by  your  program.   Use  this switch to
                      cancel a /SEARCH switch.
                           Default
                           -------

     /OPTIMIZE        calls for generation  of  a  globally  optimized
                      object  file,  i.e., one that runs as quickly as
                      possible.  (For FORTRAN programs only, and  only
                      if you do not also give the /DEBUG switch.)

     /RELOCATABLE     prevents compilation of the source file, forcing
                      use  of  an  existing  object  file  even if the
                      object file is out of date

     /SEARCH          requires that the object file library (the  file
                      accompanied  by this switch in the command line)
                      be searched for modules called by  your  program

                      or  by a program subroutine.  Only these modules
                      are loaded, along with modules called  from  the
                      system libraries, which are always searched.




     /SYMBOLS         loads a symbol table along with the object file;
                      helpful for debugging a program.
                           Default
                           -------



Characteristics


     Compiling New Sources Only

          Before debugging programs, the  system  ordinarily  compiles
          any source (and only those sources) whose write date is more
          recent than that of the object file of the same  name.   You
          can  override  this action with the /COMPILE or /RELOCATABLE
          switch.  Note that the DDT debugging program  is  used  when
          /RELOCATABLE prevents a new compilation.

     Using Standard File Types

          If you specify source files with standard types (.FOR, .MAC,
          .CBL, or.  ALG) in a DEBUG command, the system automatically
          calls  the  appropriate   compiler   when   compilation   is
          necessary.   If  you  specify source files by filename only,
          the system searches your connected directory  in  the  above
          order for a file of this name and a standard type.  To debug
          programs from sources that have nonstandard file types, give
          a  switch to indicate the proper compiler (/FORTRAN, /MACRO,
          /COBOL, or /ALGOL).  A switch will take  precedence  over  a
          standard file type if they indicate different languages.  If
          no compiler is indicated with either a switch or a  standard
          file type, the FORTRAN compiler is used.

     Name of Debugging Program Loaded by DEBUG

          Ordinarily  the  DEBUG  command   causes   the   appropriate
          debugging  program  to  be  loaded  along  with your program
          (FORDDT with FORTRAN programs.  COBDDT with COBOL  programs,
          DDT  with MACRO and ALGOL programs).  Use the /DDT switch to
          specify that DDT be used.


Hints


     Commas Between Filespecs

          If you give two or more filespecs  separated  by  commas  as
          arguments  to  DEBUG, the loaded programs exist in memory at
          the same time and will act as a single program.  You can use
          this  feature  to  substitute  one  module for another under
          varying conditions or for different applications.

     Plus Signs Between Filespecs

          If you give two or more filespecs separated  by  plus  signs
          (+) as arguments to DEBUG, they are treated as a single file
          by compilers.  Their  object  module  is  stored  under  any
          filename  given  as the "object" argument of the command, or
          (if none) under the last filename in the group and file type

          .REL.




     Indirect Files as Arguments

          You can store the arguments (source  and  object  filespecs,
          switches)  of  a  DEBUG  command  in  an  indirect file, and
          specify them by typing an at sign (@) and its filespec as  a
          DEBUG  command  argument.   If  you  give other filespecs as
          well, you must give the indirect file last.

     Including all FORTRAN Debugging Information

          If you are debugging a  FORTRAN  program  and  you  wish  to
          examine  line  numbers or DO loops, or use statement tracing
          or array dimension checking, give the  /DEBUG  and  /COMPILE
          switches  with  the  DEBUG  command to include the necessary
          information.

     Running LINK Directly

          The DEBUG command  automatically  runs  LINK,  the  system's
          loader  program,  but  if you require control of the loading
          process you can run LINK directly.   See  the  TOPS-20  LINK
          Reference Manual.


Restrictions


     Switches Assuming Compilation

               /CREF
               /DEBUG
               /LIST
               /NODEBUG
               /NOLIST
               /NOOPTIMIZE
               /OPTIMIZE


          The above switches will not take  effect  unless  the  DEBUG
          command  causes  a  new  compilation  of the relevant source
          file.  See  Characteristics - Compiling  New  Sources  Only,
          above, for more information.


Effect on Memory and Terminal


     The DEBUG command clears memory, loads the  appropriate  compiler
     if  necessary, then loads your program and a compatible debugging
     program.  It leaves your terminal at program command level within
     the debugging program.




Related Commands


     COMPILE, LOAD, and EXECUTE     other  LOAD-class   commands   for
                                    performing related functions

     DDT                            for loading and starting  the  DDT
                                    debugging program, or for starting
                                    the  debugging  program  you  have
                                    already loaded


Examples


     1.  Debug a FORTRAN program.


              @DEBUG FORT.FOR
              FORTRAN: FORT
              MAIN.
              LINK:   LOADING
              [LNKDEB FOR DDT EXECUTION]
              STARTING FORTRAN DDT

              >>


     2.  Debug an optimized  FORTRAN  program,  although  there  is  a
         current (but not optimized) object file.


              @DEBUG/OPTIMIZE/FORTRAN/COMPILE FORT

              FORTRAN: FORT
              MAIN.
              LINK:   LOADING
              [LNKDEB FORDDT EXECUTION]

              STARTING FORTRAN DDT

              >>

     3.  Using incompatible switches, try to debug  a  program.   (The
         system ignores one of them and continues.)


              @DEBUG/COMPILE/OPTIMIZE/DEBUG FORT
              FORTRAN: FORT
              %FTNNOD GLOBAL OPTIMIZATION NOT SUPPORTED WITH
              /DEBUG - /OPT IGNORED
              MAIN.
              LINK:   LOADING
              [LNKDEB FORDDT EXECUTION]

              STARTING FORTRAN DDT

              >>




     4.  Get a time-ordered list of TEST1  files  in  your  directory.
         Debug an old version of it.


              @TDIRECTORY TEST1.*
                              WRITE


                 PS:<LATTA>
               TEST1.CBL.2    5-APR-78 13:10:57
                 .LST.1       6-OCT-77 14:22:00
                 .REL.1       6-OCT-77 10:08:17

               TOTAL OF 3 FILES
              @DEBUG TEST1/RELOCATABLE
              LINK:   LOADING
              [LNKDEB DDT EXECUTION]
              DDT


DEFINE



Function


     The DEFINE command establishes or removes logical names for  your
     job.


Format


     @DEFINE (LOGICAL NAME) name:  list
      ------                -----  ----

     where

     name:        is  any  combination  of  up  to   39   alphanumeric
                  characters followed by a colon, that you want to use
                  as a logical name.  Use an  asterisk  (*)  for  this
                  argument to remove all logical names.

     list         is   a   series   of   devices,   file   structures,
                  directories,   file   specifications,  and/or  other
                  logical names;  each item should be  separated  from
                  the others by commas.
                       Default - not specifying  a  list  removes  the
                       -------
                                 logical name definition


Hints


     DEFINE in LOGIN.CMD File

          Your DEFINE  command  is  valid  for  the  current  terminal
          session  only.   If  there are logical names that you always
          want to  use,  put  DEFINE  commands  into  a  LOGIN.CMD  or
          BATCH.CMD file in your log-in directory.

     Redefining System Logical Names

          You can use  the  DEFINE  command  to  redefine  any  system
          logical  name  for  your  own  job.   By  repeating a system
          logical  name  in  its  own  search  list  you  expand   its
          definition  to  include  the  other  items, in the order you
          specify.  Consider the system logical name  SYS:,  which  is
          searched  whenever  you  give  a  program name in place of a
          TOPS-20 command.  If you redefine SYS:  to  be  <directory>,
          SYS:   you  can  run  programs in <directory> by typing just
          their names.  This will work as long as  the  program  names
          are not the same as TOPS-20 commands.


     Logical Names as Dummy Filespecs

          You can use  logical  names  as  dummies  for  filespecs  or
          devices  when  writing  programs.  Then, just before running
          such a program, use the DEFINE command to  define  these  as
          real  filespecs  or  devices,  without  changing the program
          itself.




     More Information

          For more information about  using  logical  names,  see  the
          TOPS-20 User's Guide.


Restriction


     Using Short Logical Names Only

          Although logical names can be up to 39 characters  long  and
          can  include  dollar  signs ($), hyphens (-), and underlines
          ( ), some commands and programs (e.g.,  programs  originally
          written  for  the  TOPS-10  operating  system) accept a more
          limited set of logical names.  These can be no more  than  6
          characters  long and cannot include any special symbols.  If
          all your logical names  are  of  this  kind,  they  will  be
          acceptable to any TOPS-20 programs and commands.


Effect on Memory and Terminal


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


Related Commands


     INFORMATION LOGICAL-NAMES     for   finding   out   the   current
                                   definitions of logical names


Examples


     1.  Define a logical name for your job.

              @DEFINE LGN:  <MANUALS>, <SARTINI>
              @

     2.  Remove the logical name.

              @DEFINE LGN:
              @

     3.  Define a logical name to be a set of directories to which you
         have  access.   Then use the logical name to copy a file from
         one of them into your connected directory.

              @DEFINE MSM: <MANUALS>, <SARTINI>, <MCELMOYLE>
              @COPY MSM:4-UPED.TXT
               <MCELMOYLE>4-UPED.TXT.1 => 4-UPED.TXT.1 [OK]
              @


DELETE



Function


     The DELETE command marks one or more files for eventual erasure.


Format


     @DELETE (FILES) filespec,...,
      ------         -------------
     @@subcommand
       ----------

     where

     filespec                      is the specification of a file that
                                   you want to delete
                                        Default .gen - all generations
                                        -------
                                                       of          the
                                                       specified files

     ,...                          means that  after  commas  you  can
                                   give more file specifications

              ,
     @@                            means that after a final comma  you
                                   can  give  subcommands  on the next
                                   line

     subcommand                    is a keyword, chosen from the  list
                                   below,  indicating  your  choice of
                                   DELETE command options


                      DELETE Command Subcommands


     DIRECTORY                     is used to delete and automatically
                                   expunge   directory  files  without
                                   making their disk  space  available
                                   to  the  files of other users;  for
                                   users   with   enabled   Wheel   or
                                   Operator capabilities only.

     EXPUNGE                       immediately and permanently  erases
                                   the   specified   files   from  the
                                   directory

     FORGET                        is used to  delete and  immediately
                                   expunge the specified files without
                                   making their disk  space  available
                                   to  the  files of other users;  for
                                   users   with   enabled   Wheel   or
                                   Operator capabilities only.

     KEEP n                        saves the n most recent generations
                                   of   the   specified   files  while
                                   deleting the rest

                                        Default n - 1
                                        -------




Characteristics


     Privileged Subcommands to DELETE

          The DIRECTORY and FORGET subcommands to the  DELETE  command
          are  intended  for privileged users only, and only as a last
          resort, because they withhold freed disk space  from  system
          use.   Users with enabled Wheel or Operator capabilities can
          run  the  CHECKD  program  to  recover  this   disk   space.
          DIRECTORY should not be used unless the KILL subcommand to a
          BUILD command fails to delete the directory.  FORGET is  for
          removing  damaged  files from directories, and should not be
          used unless DELETE without subcommands fails to  delete  the
          file.


Hints


     Removing Open Files

          If DELETE with the EXPUNGE subcommand fails to erase a file,
          it  may  be  that some job in the system has opened it.  The
          INFORMATION FILE-STATUS command tells whether your  own  job
          has  done  so.  If it has, give the CLOSE or (if the file is
          mapped) RESET command before repeating DELETE and EXPUNGE.


Special Cases


     Files With the "Permanent" Attribute

          The system erases only the contents of any files  that  have
          the  Permanent  attribute  (e.g.,  MAIL.TXT  in  your log-in
          directory) when you include them in a DELETE command.  Their
          file  specifications  remain  among  your deleted files, and
          cannot be removed by TOPS-20 commands.


Warning


     Erasure of Deleted Files

          Ordinarily  an  UNDELETE  command  given  during  the   same
          terminal  session  as  an original deletion will recover the
          deleted files, unless you included the EXPUNGE subcommand to
          DELETE  or  gave  a subsequent EXPUNGE command.  However, if
          any user or a batch job logs out  while  connected  to  your
          directory,  all deleted files are permanently erased.  Also,
          if available disk space is low on the system,  the  operator
          or  the  system  itself  may  expunge all deleted files even
          though you have  not  logged  out.   A  warning  message  is
          usually sent before this happens.




Effect on Memory and Terminal


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


Related Commands


     DIRECTORY-class commands     for   obtaining   lists   of    file
                                  specifications

     EXPUNGE                      for  permanently  removing   deleted
                                  files

     UNDELETE                     for retrieving deleted files


Examples


     1.  Delete two of your files.

              @DELETE TTY.SCM, VERCBL.BAT
               TTY.SCM.1 [OK]
               VERCBL.BAT.2 [OK]
              @

     2.  Delete all your  object  files  and  all  your  backup  files
         produced  by  the  EDIT  program.   Then  log  out (this will
         expunge them).

              @DELETE *.REL, *.Q*
               TESTA1.REL.1 [OK]
               TESTF1.REL.1 [OK]
               TESTC1.QBL.2 [OK]
               TESTF1.QOR.4 [OK]
              @LOGOUT
              Killed Job 32, User J.L.PAGE, Account 341, TTy 41
                at 25-Apr-78 10:15:51, Used 0:1:46 in 1:23:59




     3.  Delete some files, and check what files are currently deleted
         in  your  connected directory.  Give the UNDELETE command for
         two of these, then expunge the remaining  deleted  files  and
         verify that they are gone.

              @DELETE *.QXT
               4-UPED.QXT.7 [OK]
               MAIL.QXT.1 [OK]
               REMARK.QXT.3 [OK]
              @DIRECTORY
              @@DELETED
              @@

                 PS:<J.L.PAGE>
               4-UPED.QXT.1,2,3,4,5,6,7
                 .TXT.7,8,9
               MAIL.QXT.1
               MEMO.QMD.1
               REMARK.QXT.1,2,3
               TTY.SCM.1
               VERCBL.BAT.2

              Total of 17 files
              @UNDELETE TTY.SCM, VERCBL.BAT
               TTY.SCM.1 [OK]
               VERCBL.BAT.2 [OK]
              @EXPUNGE
               PS:<J.L.PAGE> [8 pages freed]
              @DIRECTORY
              @@DELETED
              @@
              @


DEPOSIT



Function


     The DEPOSIT command modifies the contents of  a  specific  memory
     location.


Format


     @DEPOSIT (MEMORY LOCATION) octal address (CONTENTS) octal number
      -------                   ----- -------            ----- ------


Output


     Status of Pages

          When you complete a DEPOSIT command, the system gives you  a
          message  indicating the status of the page you are trying to
          change:    "[New]"   for    previously-nonexistent    pages,
          "[Shared]" for those having Copy-on-Write status, or "?Can't
          write that page" for other pages.  (See also Hints - Setting
          the  Page-access  of  Memory  Pages,  below.)   However,  no
          message  is  printed  for  deposits  made  after  the  first
          successful modification to that page.


Hints


     Using DDT Instead

          Usually the DEPOSIT  command  is  unnecessary,  as  the  DDT
          program  provides  more  powerful  methods for modifying the
          contents of memory.

     Abbreviating DEPOSIT Arguments

          The contents of each memory location are represented as  two
          6-digit  octal  numbers.   By  inserting  a  pair  of commas
          between these two numbers, you  can  abbreviate  them.   For
          example,   to  deposit  000004000050  into  memory  location
          151003, use the command

               @DEPOSIT 151003 4,,50

          This is the same as

               @DEPOSIT 151003 4000050

          Note that the DEPOSIT command itself can be  abbreviated  by
          the single letter D.




     Setting the Page-access of Memory Pages

          If the system responds to a DEPOSIT command  with  an  error
          message  of the form, "?Can't write that page", give the SET
          PAGE-ACCESS COPY-ON-WRITE command for the page.   Then  give
          DEPOSIT  again.   If the system allows it, you will be given
          your own copy of the page to modify.

     Using DEPOSIT With Inferior Processes

          To  modify  memory  for  a  process  inferior  to  the   one
          immediately  below  the  TOPS-20 command processor, you must
          give the FORK command to specify this process  before  using
          DEPOSIT.   Remember that for an inferior process to run, all
          superior  processes  must  be  running   too.    INFORMATION
          PROGRAM-STATUS tells you which processes these are.


Effect on Memory and Terminal


     The DEPOSIT command changes one location  in  memory  and  leaves
     your terminal at TOPS-20 command level.


Related Commands


     DDT                          for  calling  a  debugging  program,
                                  allowing more efficient modification
                                  of memory

     EXAMINE                      for displaying  the  contents  of  a
                                  specific memory location

     FORK                         for  selecting  the  process   whose
                                  memory you want to modify

     INFORMATION MEMORY-USAGE     for  displaying  a  list  of  memory
                                  pages, their contents and status

     SET PAGE-ACCESS              for making it possible to  write  to
                                  specified pages


Examples


     1.  Deposit a value in a memory location.

              @DEPOSIT 1500 21
              @




     2.  Try to deposit a number into a page of memory that  does  not
         allow  it.   Examine  memory,  set  the page to Copy-on-Write
         status, and try again (succeeding this time).

              @DEPOSIT 716505 0
              ?Can't write that page
              @INFORMATION MEMORY-USAGE

               216. pages, Entry vector loc 462207 len 254000

              0-11     Private   R, W, E
              20       Private   R, W, E
              400-401  Private   R, W, E
              402-660  <FIELD-IMAGE>FORTRA.EXE.3   13-271   R, CW, E
              700-730  <NEXT-RELEASE>PA1050.EXE.4   1-31   R, E
              731-733  Private   R, W, E

              @SET PAGE-ACCESS 716 COPY-ON-WRITE
              @DEPOSIT 716505 0
               [Shared]
              @EXAMINE 716505
              716505/  0
              @

     3.  Check your program status  (the  arrow  (=>)  indicates  your
         current process (fork)).  Select an inferior process, deposit
         a value into a memory location, and verify  that  memory  for
         the superior process is not changed to this.

              @INFORMATION PROGRAM-STATUS
               Used 0:00:05 in 0:10:11
               TOPS-20: 0:00:03.5
               SET UUO-SIMULATION (FOR PROGRAM)
               SET CONTROL-C-CAPABILITY (OF PROGRAM)
               => Fork 1: HALT at 16176, 0:00:00.3
                    Fork 2: HALT at 472052, 0:00:00.1
              @FORK 2

              @DEPOSIT 3500 12
              @EXAMINE 3500
              3500/   12
              @FORK 1
              @EXAMINE 3500
              3500/   202200,,1136
              @


DETACH



Function


     The  DETACH  command  disengages  your  current  job  from   your
     terminal.


Format


     @DETACH (AND) argument
      ------       --------

     where

     argument                 can be one of these:

                              CONTINUE - directs the  current  program
                                         to  proceed,  just  as if you
                                         had   typed   the    CONTINUE
                                         command

                              REENTER -  reenters the current program,
                                         just  as if you had typed the
                                         REENTER command

                              START -    starts the  current  program,
                                         just  as if you had typed the
                                         START command

                                   Defaulting  "argument"  leaves  the
                                   ----------
                                   program   in   its   present  state
                                   (usually suspended)


Characteristics


     Inefficiency of Detached Jobs

          Detached jobs use scarce system  resources  (e.g.,  swapping
          space,  process  slots, job slots) and can prevent new users
          from logging in.


Warning


     Programs Writing to TTY:

          If a program running in a detached job attempts to write  to
          device  TTY:, the job will "hang" until it is again attached
          to a terminal.


Effect on Memory, Job, and Terminal


     The DETACH command affects your job according to the argument you
     select,  and  leaves  your terminal disengaged from the system in

     the state before log-in.  It  does  not  affect  memory  for  the
     detached job.




Related Commands


     ATTACH       for joining a detached job to your terminal

     SUBMIT       for running independent jobs

     UNATTACH     for disengaging another job from its terminal


Examples


     1.  Detach your job.

              @DETACH
               Detaching job # 16

     2.  Detach your job while starting the program  in  memory,  then
         log in again.

              @DETACH START
               Detaching job # 45

               SYSTEM 2102 DEVELOPMENT SYSTEM, TOPS-20 Monitor
              3A(1512)
              @LOGIN LATTA 341
               Job 56 on TTY222 28-Apr-78 14:55:03
              @

     3.  Log in and put a program in memory;   detach  the  job  while
         starting  this program, and repeat the entire procedure.  Log
         in a third time and  begin  execution  of  a  third  program.
         Interrupt  this execution with CTRL/C, then detach this third
         job while continuing its program.  Now you  have  three  jobs
         running  at  once.   Instead  of logging in again, attach the
         first job (specifying the job number) and verify the system's
         action.

              @LOGIN LATTA 341
               Job 5 on TTY230 28-Apr-78 14:38:09

              @GET DMN
              @DETACH START
               Detaching job # 5

               SYSTEM 2102 DEVELOPMENT SYSTEM, TOPS-20 Monitor
              3A(1512)
              @LOGIN LATTA 341
               Job 22 on TTY222 28-Apr-78 14:42:03

              @GET TESTA1
              @DETACH START
               Detaching job # 22




               SYSTEM 2102 DEVELOPMENT SYSTEM, TOPS-20 Monitor
              3A(1512)
              @LOGIN LATTA 341
               Job 53 on TTY222 28-Apr-78 14:44:02

              @EXECUTE TESTF1
              FORTRAN: TESTF1
              MAIN.
              LINK:   Loading
              [LNKXCT  TESTF1 Execution]
              ^C

              @DETACH CONTINUE
               Detaching job # 53

               SYSTEM 2102 DEVELOPMENT SYSTEM, TOPS-20 Monitor
              3A(1512)
              @ATTACH LATTA
              ?Job # required - LATTA has more than one detached job
              @ATTACH LATTA 5
              Password:

              EXIT
              @INFORMATION JOB
               Job 5, User LATTA, Account 341, TTY222
              @SYSTAT LATTA
                 5*   222   EXEC      LATTA
                22    DET   TESTA1    LATTA
                53    DET   TESTF1    LATTA

              @

DIRECTORY



Function


     The DIRECTORY command prints information about  the  files  in  a
     directory.


Format


     @DIRECTORY (OF FILES) filespec,...,
      ---------            -------------
     @@subcommand
       ----------
     @@  .
         -
         .
         -
         .
         -

     where

     filespec                 is the specification of a  file  in  the
                              given  directory,  about  which you want
                              information
                                   Default - *.*.* in  your  connected
                                   -------
                                             directory

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

     @@        ,              means that, after a final comma, you can
     @@  .                    give   one   or   more   subcommands  on
         .                    successive lines
         .
         .

     subcommand               is  a  keyword,  chosen  from  the  list
                              below,   indicating   your   choice   of
                              DIRECTORY command options
                                   Defaults are shown in the  list  of
                                   --------
                                            subcommands


   Summary of DIRECTORY Command Subcommands (defaults in boldface)


     ACCOUNT
     ALPHABETICALLY
     --------------
     BEFORE date and/or time

                        BY-PAGES
                        --------
     CHECKSUM           SEQUENTIALLY

                          WRITE
                          -----

     CHRONOLOGICAL        CREATION
                          READ

     CRAM

                  WRITE
                  -----
     DATES        CREATION
                  READ




DELETED
DOUBLESPACE
EVERYTHING
FIND number of generations          Default number - 1
                                    -------
GENERATION-RETENTION-COUNT
HEADING
-------
LARGER number of pages
LENGTH
LPT

     HEADING
     -------
NO   FILE-LINES
     SUMMARY-LINES

OUTPUT filespec                     Default filespec - DIR.DIR
                                    -------
PROTECTION
REVERSE
SEPARATE
SINCE date and/or time
SIZE
SMALLER number of pages

        WRITE
        -----
TIMES   CREATION
        READ

USER   WROTE
       -----
       CREATED


                    DIRECTORY Command Subcommands


     ACCOUNT                        prints  the   account   to   which
                                    storage  fees  for  the  files are
                                    charged

     ALPHABETICALLY                 lists the  files  in  alphabetical
                                    order
                                         Default
                                         -------

     BEFORE date and time           restricts listing  to  files  last
                                    written  before  the date and time
                                    given

              SEQUENTIALLY
     CHECKSUM BY-PAGES              computes and prints 6-digit  octal
                                    checksums for the files, either

                                       sequentially and without  going
                                       beyond  the  EOF  (end-of-file)
                                       mark, or

                                       by pages  on  disk,  accounting
                                       for  holes  in  files and pages
                                       beyond the  EOF  mark;   output
                                       will be followed by letter P in
                                       this case.
                                            Default - BY-PAGES
                                            -------




                   CREATION
     CHRONOLOGICAL WRITE            lists  files  in   order   (oldest
                   READ             first) according to

                                       date of creation, or

                                       date they were last changed, or

                                       date they were last read
                                            Default - WRITE
                                            -------

     CRAM                           compresses   formats   to   reduce
                                    printing space and time

           CREATION
     DATES WRITE                    lists  files  in   order   (oldest
           READ                     first) according to

                                       date of creation, or

                                       date they were last changed, or

                                       date they were last read
                                            Default - WRITE
                                            -------

     DELETED                        limits  descriptions  to   deleted
                                    files   that  have  not  yet  been
                                    expunged

     DOUBLESPACE                    double-spaces    the     DIRECTORY
                                    command output

     EVERYTHING                     prints,   in   this   order,   the
                                    following  information  about  the
                                    files - file        specification;
                                    protection;  account number;  size
                                    in  pages  and   in   bytes   (and
                                    associated byte size);  generation
                                    retention count;  date and time of
                                    creation,   and   of  last  change
                                    (Write) and last time  read;   the
                                    name  of  the user who created the
                                    file, and of  the  user  who  last
                                    changed or added to the file.

     FIND n                         prints the specifications  of  all
                                    but  the n most recent generations
                                    of the files
                                         Default n - 1
                                         -------

     GENERATION-RETENTION-COUNT     tells the number of generations of
                                    each  file  the system will retain
                                    in the given directory

     HEADING                        prints a  headline  labeling  each
                                    category  of  information supplied
                                    by the command

                                         Default
                                         -------




     LARGER n                       lists only files of  size  greater
                                    than n pages

     LENGTH                         gives the file length in bytes and
                                    the associated byte size

     LPT                            directs the command output to  the
                                    line  printer  instead  of to your
                                    terminal

        FILE-LINES
     NO HEADING                     suppresses printing of the
        SUMMARY-LINES

                                       file lines, which give all  the
                                       information specific to a file,
                                       or

                                       heading, a line of  explanatory
                                       words   above  the  columns  of
                                       output, or

                                       summary lines, which follow the
                                       output   for   each   DIRECTORY
                                       command,   giving    a    total
                                       file-count  (and page-count and
                                       checksum,   if   required    by
                                       subcommands)
                                            Default - HEADING
                                            -------

     OUTPUT filespec                directs the command output to  the
                                    specified file rather than to your
                                    terminal
                                         Default filespec - DIR.DIR
                                         -------

     PROTECTION                     prints   the    protection    code
                                    (protection number) of the file

     REVERSE                        causes  an  ordering   subcommand,
                                    i.e.,       ALPHABETICALLY      or
                                    CHRONOLOGICAL,  to   arrange   its
                                    output in reverse

     SEPARATE                       lists the  complete  specification
                                    for  each  file on a separate line
                                    (instead  of  listing   successive
                                    generation  numbers of the file on
                                    the  same   line,   separated   by
                                    commas;   and  instead  of listing
                                    files  of  the   same   name   and
                                    different  type by file type only,
                                    indented under the first  complete
                                    file specification)

     SINCE date and time            limits  listing  to   files   last
                                    written  after  the  date and time
                                    given

     SIZE                           prints the size of  the  files  in
                                    pages




     SMALLER n                      lists only files of size less than
                                    n pages

           CREATION
     TIMES WRITE                    lists, for  the  specified  files,
           READ                     the

                                       time and date of creation, or

                                       time and date  they  were  last
                                       changed, or

                                       time and date  they  were  last
                                       read
                                            Default - WRITE
                                            -------

          CREATED
     USER WROTE                     gives the name of the user who

                                       created the file, or

                                       changed the file last
                                            Default - WRITE
                                            -------


Hints


     Listing Unneeded Files

          In preparation for deleting files  so  that  your  directory
          will  fall  within  disk  quotas, you can get a list of your
          largest files by using the LARGER and/or  SIZE  subcommands,
          and  of  your  oldest or least-used files with DATES, TIMES,
          and BEFORE.  With FIND you can discover extra generations of
          files.

     Finding Files of a Particular Age or Size

          To examine only files of a certain age  or  size,  give  the
          pair of subcommands BEFORE and SINCE, or LARGER and SMALLER,
          with appropriate arguments.

     Comparing Checksums of Files

          You can use the numbers reported by the CHECKSUM  subcommand
          to  compare two files:  if they have differing contents they
          will almost certainly yield different values;  and identical
          files will have the same checksums.  The CHECKSUM subcommand
          causes a checksum of checksums as well.


Effect on Memory and Terminal


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




Related Commands


     FDIRECTORY (Full DIRECTORY)
                                             other     DIRECTORY-class
     TDIRECTORY (Time-ordered DIRECTORY)     commands  for  performing
                                             related functions
     VDIRECTORY (Verbose DIRECTORY)


Examples


     1.  Obtain a listing of your files.

              @DIRECTORY

                 PS:<HERRICK>
               4-UPED.TXT.13
               ACCT20.FOR.1
               DUMPER.MAC.1
               F-O.DIRECTORY.1
               FORD.CTL.2,3,4,5,6
               MEMO.CMD.1
                 .FIL.1
                 .FRM.2
               MULTIP.FOR.2

               Total of 13 files
               @

     2.  Use a DIRECTORY command with the EVERYTHING subcommand to get
         complete information on the specified file.

              @DIRECTORY VERCBL.BAT,
              @@EVERYTHING
              @@
                                             PGS Bytes (SZ)  Ret  Creation
                       Write            Read        Creator Writer


                 PS:<HERRICK>
               VERCBL.BAT.2;P777700;A341       2 4215(7)      1  16-Apr-76
              07:25:54 16-Apr-76 07:25:54 Never      HERRICK HERRICK
              @

     3.  Use  a  DIRECTORY  command  with  a  filespec  consisting  of
         wildcard  characters  and  the account attribute (;A) to find
         out which files' storage fees are being  charged  to  account
         MONITOR.

              @DIRECTORY *.*;AMONITOR

                 PS:<HERRICK>
               FORD.CTL.2
               MEMO.FRM.2

               Total of 2 files
              @




     4.  Find out what files of type .TXT there are in your  connected
         directory and in one to which you have group rights.

              @DIRECTORY *.TXT, <SARTINI>*.TXT

                 PS:<HERRICK>
               4-UPED.TXT.13
               MAIL.TXT.1
               REMARK.TXT.4

               Total of 3 files

                 PS:<SARTINI>
               CHAP21.TXT.33
               CHAPT2.TXT.16
               CHAPT3.TXT.8
               PRIVATE.TXT.1
               TEST.TXT.1

               Total of 5 files

               Grand total of 8 files
              @

     5.  Give  a  DIRECTORY  command  with  the   BEFORE   and   SINCE
         subcommands  to  find out which files were changed during the
         week of March 6, 1978.

              @DIRECTORY,
              @@BEFORE 3-12-78
              @@SINCE 3-5-78
              @@


                 PS:<HERRICK>
               DIVIDE.FOR.4
               MULTIP.FOR.2
               QUOTNT.EXE.1
               SQUARE.EXE.1

               Total of 4 files
              @


DISABLE



Function


     The DISABLE command suspends any special  capabilities,  such  as
     those  of  Wheel  or  Operator, that the system manager has given
     you.


Format


     $DISABLE (CAPABILITIES)
      -------
     @


Characteristics


     Resumption of Standard Prompt

          The DISABLE command causes the system to resume the standard
          at  sign  prompt (@) in place of the dollar sign prompt ($),
          which indicated enabled capabilities.


Warning


     Disabling Promptly

          Be sure to disable your capabilities as  soon  as  you  have
          finished  using  them,  so that you or a program that issues
          commands for you cannot accidentally damage the system.


Effect on Memory and Terminal


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


Related Commands


     ENABLE     for  activating  any  capabilities  that  the   system
                manager has given you


Examples


     1.  Disable your capabilities.

              $DISABLE
              @




     2.  Try copying a file from a directory  to  which  you  have  no
         access.   Then  enable  your  capabilities (assuming you have
         been granted capabilities), copy the file, and give  up  your
         capabilities with the DISABLE command.

              @COPY <MON-SPCS>FFE.SPC
              ?Directory access privileges required
              @ENABLE
              $COPY <MON-SPCS>FFE.SPC
               <MON-SPCS>FFE.SPC.1 => FFE.SPC.2 [OK]
              $DISABLE
              @


EDIT



Function


     The EDIT command lets you change or add to a file in a directory.


Format


     @EDIT (FILE) /switch(es) input filespec (OUTPUT AS) output filespec
      ----        ----------- ----- --------             ------ --------

     where

     switches            are keywords, chosen  from  the  list  below,
                         indicating   your   choice  of  EDIT  command
                         options
                              Defaults  are  shown  in  the  list   of
                              --------
                              switches

     input filespec      is the specification of the file you want  to
                         edit
                              Default - last  file  specification  and
                              -------
                                        associated  switches  you gave
                                        in a CREATE  or  EDIT  command
                                        during  the  current  terminal
                                        session

     output filespec     is the specification with which you  want  to
                         name the edited file
                              Default - the input file  specification,
                              -------
                                        but   with   the  next  higher
                                        generation number


       Summary of EDIT Command Switches (Defaults in boldface)

          /BAK
           ---
          /C128
          /C64
           ---
          /DECIDE
          /DPY
          /EXPERT
          /INCREMENT:n        Default n - 100
           -----------        -------
          /ISAVE:n
          /LOWER
          /M33
          /M37
          /NOBAK
          /NODECIDE
           --------
          /NONSEPARATORS
           -------------
          /NONUMBER

          /NOVICE
           ------
          /NUMBER
           ------
          /OLD
          /OPTION:name
          /PLINES:n           Default n - 16
           --------           -------
          /R
          /READONLY
          /RONLY
          /RUN:filespec       Default file type - .EXE
                              -------




          /SAVE:n
          /SEPARATORS
          /SEQUENCE
           --------
          /START:n            Default n - argument of INCREMENT switch
           -------            -------
          /STEP:n             Default n - 100
           ------             -------
          /UNSEQUENCE
          /UPPER
           -----
          /WINDOW:n           Default n - 10
           --------           -------


                        EDIT Command Switches


     /BAK               causes an unedited copy  of  the  file  to  be
                        saved  at  the end of an editing session under
                        the specification name.Qyp, where name.typ  is
                        the file's original specification
                             Default
                             -------

     /C128              specifies a 128-character  alphabet,  allowing
                        insertion of special control characters

     /C64               specifies a 64-character alphabet,  preventing
                        insertion of control characters
                             Default
                             -------

     /DECIDE            lets you decide whether to  accept  or  reject
                        each  change  caused by the operation of the S
                        (substitute) command of the EDIT program

     /DPY               has no effect in the current monitor

     /EXPERT            tells the EDIT  program  that  you  need  only
                        abbreviated error messages, and fewer warnings
                        and reminders

     /INCREMENT:n       specifies the value that will be added to each
                        line  number  of  the  file to obtain the next
                        line number
                             Default n - 100
                             -------

     /ISAVE:n           instructs  the  EDIT  program  to  update  the
                        backup  file  of  specification name.Qyp after
                        every n lines you insert, instead of  only  at
                        the end of the EDIT session

     /LOWER             specifies that all alphabetic  characters  you
                        type    should    be    considered   lowercase
                        characters;   give  uppercase  characters   by
                        preceding    the    corresponding    lowercase
                        character with a single quotation mark (').

     /M33               has no effect in the current monitor

     /M37               has no effect in the current monitor

     /NOBAK             prevents an unedited copy  of  the  file  from
                        being  saved  at the end of an editing session
                        under specification name.Qyp,  where  name.typ
                        is the file's original specification




     /NODECIDE          ensures  the  automatic  operation  of  the  S
                        (substitute) command of the EDIT program
                             Default
                             -------

     /NONSEPARATORS     notifies the EDIT program that the  characters
                        .  (period),  $  (dollar sign), and % (percent
                        sign) are to be regarded as  ordinary  textual
                        characters   and   not   as  field  delimiters
                        (separators) in the file being edited
                             Default
                             -------

     /NONUMBER          suppresses the printing of line  numbers  with
                        each line of a file

     /NOVICE            tells the EDIT program that you  want  to  see
                        complete  error  messages  and all appropriate
                        warnings and reminders;  opposite  of  /EXPERT
                        switch.
                             Default
                             -------

     /NUMBER            prints a line number for each line of the file
                             Default
                             -------

     /OLD               causes the first backup file to be saved under
                        the  specification name.Zyp, where name.typ is
                        the file's original specification

     /OPTION:name       sets any EDIT switches contained in  lines  of
                        your  PS:SWITCH.INI file labeled with name (of
                        6 or fewer characters)

     /PLINES:n          specifies how many lines to print in  response
                        to each P (print) command of the EDIT program
                             Default n - 16
                             -------

     /R                 same as /READONLY

     /READONLY          prevents any changes to the  file  during  the
                        current  session  of  the  EDIT program, i.e.,
                        makes it a read-only session

     /RONLY             same as /READONLY

     /RUN:filespec      specifies the program to be run when  you  end
                        the  current  session of the EDIT program with
                        the G command
                             Default file type - .EXE
                             -------

     /SAVE:n            instructs  the  EDIT  program  to  update  the
                        backup  file  of  specification name.Qyp after
                        every n EDIT program commands that modify  the
                        file

     /SEPARATORS        notifies the EDIT program that the  characters

                        .  (period),  $  (dollar sign), and % (percent
                        sign) are not ordinary textual characters  but
                        are field separators in the accompanying file




     /SEQUENCE          tells the EDIT program not to strip  the  line
                        numbers  from  the  file when the EDIT session
                        ends
                             Default
                             -------

     /START:n           specifies the first line number for  the  EDIT
                        program to use when numbering the file
                             Default n - argument of /INCREMENT switch
                             -------

     /STEP:n            same as /INCREMENT

     /UNSEQUENCE        tells the  EDIT  program  to  strip  the  line
                        numbers  from  the  file when the EDIT session
                        ends

     /UPPER             specifies that all alphabetic  characters  you
                        type    should    be    considered   uppercase
                        characters;   give  lowercase  characters   by
                        preceding    the    corresponding    lowercase
                        character with a single quotation mark (').
                             Default
                             -------

     /WINDOW:n          specifies the number n (between 10 and 99)  of
                        pages  to  be  held  in memory during the EDIT
                        session
                             Default n - 10
                             -------


Characteristics


     Edit Mode or Input Mode

          The EDIT command runs the EDIT system program in Edit  mode,
          which uses an asterisk prompt (*).  In Edit mode you can use
          any EDIT program commands to modify the specified file.   If
          the  EDIT  program starts by printing the word Input instead
          of Edit, the specified file does not  yet  exist.   You  are
          then  in  Input  mode,  just  as  if you had used the CREATE
          command instead of EDIT.  See the CREATE command description
          for details.

     Saving Backup Files Periodically

          Whenever you use EDIT, be sure to keep an extra copy of  the
          file  you  are  modifying,  in case of a system failure.  By
          default the system renames the unedited copy of your file to
          name.Qyp  at  the  end  of an editing session.  By using the
          /SAVE:n  switch  you  can  have  this  backup  file  updated
          periodically  during  the  editing  session  to reflect your
          edits.




     SWITCH.INI File

          If there is a group of EDIT command switches that you always
          or  often  use with EDIT or CREATE commands, put them into a
          file of specification SWITCH.INI in your  log-in  directory,
          in  a line of that file beginning with "EDIT:abc", where abc
          is any set of characters you choose to  identify  the  line.
          Then  if  you include the single switch /OPTION:abc when you
          give an EDIT or CREATE command, all these switches  will  be
          in effect.


Hints


     Debugging Your Programs and Editng the Sources

          You can use EDIT to modify files containing source  programs
          written  in  a  programming  language.   The  DDT  and DEBUG
          commands run system programs that offer more  efficient  and
          powerful  techniques  for  testing  temporary corrections to
          your programs, but you should use the EDIT command  to  make
          final changes to the source files.

     Further Information

          For more information about the EDIT program, see the TOPS-20
          EDIT Reference Manual.


Effect on Memory and Terminal


     The EDIT command  clears  memory,  then  loads  the  EDIT  system
     program  into  memory,  and leaves your terminal at command level
     (Edit mode) in that program.


Related Commands


     CREATE                       for making new files

     DIRECTORY-class commands     for getting lists of existing files


Examples


     1.  Edit a file.

              @EDIT FILE.FOR
              Edit:  FILE.FOR.1
              *




     2.  Edit a file, requesting that an updated copy of the  file  be
         saved  after every three EDIT program commands;  ask that the
         first such backup file be saved under specification FILE.ZOR.

              @EDIT /SAVE:3/OLD FILE.FOR
              Edit:  FILE.FOR.1
              *

     3.  Edit a  large  text  file,  adjusting  several  EDIT  program
         parameters  as you begin, and give new specifications for the
         output file.

              @EDIT /EXP/DEC/PLINES:50/WIN:99 REMARK.TXT REVISION.TXT
              Edit:  REMARK.TXT.18
              *

     4.  Create a SWITCH.INI file with one line for the switches  used
         in  Example 2, and one line for those in Example 3.  Use this
         file to repeat Example 3.

              @CREATE SWITCH.INI
              Input: SWITCH.INI.1
              00100   EDIT:ABC/SAVE:3/OLD
              00200   EDIT:DEF/EXPERT/DECIDE/PLINES:50/WINDOW:99
              00300
              *E

              [SWITCH.INI.1]
              @EDIT /OPTION:DEF REMARK.TXT REVISION.TXT
              Edit: REMARK.TXT.18
              *


ENABLE



Function


     The ENABLE command activates any special  capabilities,  such  as
     those  of  Wheel  or  Operator, that the system manager has given
     you.


Format


     @ENABLE (CAPABILITIES)
      ------
     $


Characteristics


     Dollar Sign Prompt

          The ENABLE command causes the system to print a dollar  sign
          prompt ($), indicating enabled capabilities, in place of the
          standard at sign prompt (@).   The  dollar  sign  prompt  is
          printed  after  ENABLE even if you have not been granted any
          capabilities.

     Capabilities of Log-In Directory Only

          The ENABLE command activates only  these  capabilities  that
          have  been  granted  to  the owner of your log-in directory.
          You do not receive any capabilities as a result  of  CONNECT
          or ACCESS commands or group memberships.


Warning


     Disablng Capabilities Promptly

          Because your commands are much more  powerful  if  you  have
          capabilities enabled, you should disable them as soon as you
          have finished using them.  Otherwise you or a  program  that
          issues  commands  for  you  could  accidentally  damage  the
          system.


Effect on Memory and Terminal


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




Related Commands


     DISABLE                   for suspending  any  capabilities  that
                               the system manager has given you

     INFORMATION DIRECTORY     for finding out which capabilities,  if
                               any,  have been granted to the owner of
                               a directory


Examples


     1.  Enable your capabilities.

              @ENABLE
              $

     2.  Try to assign a magnetic tape drive to your job before taking
         it  off  line  for  repairs.   But  it is already assigned to
         another user, whose terminal is set to refuse links.   Enable
         your  capabilities  and  ask  him to deassign the tape drive.
         Then disable capabilities.

              @ASSIGN MTA2:
              ?MTA2: Already assigned to job 29
              @SYSTAT 29
                29      53   EXEC    R.SCHNEIDER
              @TALK R.SCHNEIDER
              ?Refused, use "MAIL" to send mail to user
              @ENABLE
              $TALK R.SCHNEIDER

              LINK FROM F.DOMINO, TTY 221
              $;ROBIN - PLEASE DEASSIGN MTA2:.  IT MUST BE TAKEN OFF
              LINE FOR
              $;MAINTENANCE.  USE MTA3: INSTEAD.  THANKS.
              @;OKAY, SURE.
              @DEASSIGN MTA2:
              @
              $BREAK
              $DISABLE
              @


END-ACCESS



Function


     The END-ACCESS command terminates your  ownership  rights  to  an
     accessed  directory,  as  well  as group rights borrowed from its
     owner.


Format


     @END-ACCESS (TO DIRECTORY) dev:<directory>
      ----------                ---------------

     where

     dev:<directory>     is the directory to which  you  want  to  end
                         access
                              Default dev: - your connected structure
                              -------
                              Default <directory> - the directory  (on
                              -------
                                                    the      specified
                                                    structure) of  the
                                                    same  name as your
                                                    connected
                                                    directory


Hints


     Implicit END-ACCESS

          You can access only one directory at a time on each  mounted
          structure.   Each ACCESS command ends access obtained by any
          previous ACCESS command for a  directory  on  the  specified
          structure.  Therefore you do not need to give the END-ACCESS
          command if you access another directory on the structure, or
          if the structure is dismounted.

     Restoring Previous Rights

          END-ACCESS does not restore owner and group rights  obtained
          by  a  previous  ACCESS command for the specified structure.
          Give another ACCESS command to regain these.  (Note that you
          must  access  your  log-in  directory to regain group rights
          obtained by the LOGIN command,  lost  by  accessing  another
          directory on PS:.)


Effect on Memory and Terminal


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


Related Commands

     ACCESS        for obtaining ownership rights to a  directory  and
                   the group rights of the owner




     SDISMOUNT     for   decrementing   the   mount   count    of    a
                   previously-accessed structure


Examples


     1.  Give up your access rights to another user's directory.

              @END-ACCESS <HOLLAND>
              @

     2.  Access another user's directory, copy a  file  from  it,  and
         give  up your rights to it.  Then give a command that depends
         on your own  group  rights.   (It  fails.)  Access  your  own
         directory   to  establish  these,  and  repeat  the  command,
         successfully this time.

              @ACCESS <HOLLAND>
              Password:
              @COPY <HOLLAND>DIST.LST
               <HOLLAND>DIST.LST.2 => DIST.LST.2 [OK]
              @END-ACCESS <HOLLAND>
              @INFORMATION DIRECTORY <LATTA.*>,
              ?No such directory
              @ACCESS <LATTA>
              @INFORMATION DIRECTORY <LATTA.*>,
              @@NAME-ONLY
              @@
               Name PS:<LATTA.A>
               Name PS:<LATTA.A.F-O>
              @

     3.  Mount a structure, and access a user's directory there.   Get
         a  listing  of  his  files  of type .TXT.  End the access and
         dismount the structure.

              @SMOUNT SNARK:
              Structure SNARK: mounted
              @ACCESS SNARK:<HOLLAND>
              Password:
              @DIRECTORY SNARK:<HOLLAND>*.TXT

                 SNARK:<HOLLAND>
               ACCT.TXT.1
               MAIL.TXT.2
               REMARKS.TXT.1
               SYSTEM.TXT.1


               Total of 4 files
              @END-ACCESS SNARK:<HOLLAND>
              @SDISMOUNT SNARK:
              Structure SNARK: dismounted
              @


EOF



Function


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


Format


     @EOF (DEVICE) dev:
      ---          ----

     where

     dev:      is the name of the magnetic tape  drive  on  which  you
               want to write an end-of-file mark


Hints


     EOF Seldom Needed

          Because tape-writing  programs  and  commands  automatically
          write  end-of-file  marks  in the appropriate places, you do
          not ordinarily need the EOF command.  But it can  be  useful
          if  such  a  program  is interrupted (by your CTRL/C or by a
          system failure and restart) and you  want  to  preserve  the
          information already written.  Also, you can shorten files on
          an existing tape by giving an EOF  command  at  the  desired
          point.


Restrictions


     EOF With Open Files

          If you have given a CTRL/C to exit from a program  that  has
          opened  a  magnetic  tape  drive  and  you then give the EOF
          command for that tape drive, the system will first allow you
          to  close  the  associated file.  You must do so for the EOF
          command to succeed, but  you  will  probably  be  unable  to
          continue  the program from that point, because the file will
          now be closed.


Effect on Memory and Terminal


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




Related Commands


     BACKSPACE

     REWIND
                   other TOPS-20  commands  for  controlling  magnetic
                   tape drives
     SKIP

     UNLOAD


Examples


     1.  Put an end-of-file mark (EOF) on your magnetic tape.

              @EOF MTA0:
              @


EXAMINE



Function


     The EXAMINE command displays the contents of  a  specific  memory
     location.


Format


     @EXAMINE (MEMORY LOCATION) octal number
      -------                   ----- ------


Output


     Contents of Memory Location or Message

          When you complete an EXAMINE command, the system prints  the
          memory  address  examined,  followed  by a slash (/) and its
          contents in octal.  Generally  these  will  be  two  6-digit
          octal numbers separated by a pair of commas (,,).  If you do
          not see this pair of commas, only  the  right  half  of  the
          memory  location  is  being  displayed;  the left half is 0.
          However, if you are not permitted to examine this  location,
          the system prints only a message telling you so.


Hints


     Using DDT Instead

          Usally the  EXAMINE  command  is  unnecessary,  as  the  DDT
          program  provides  more  powerful  methods for examining and
          modifying the contents of memory.

     Abbreviating EXAMINE

          The EXAMINE command can be abbreviated by the single  letter
          E.

     Using EXAMINE With Inferior Processes

          To  examine  memory  for  a  process  inferior  to  the  one
          immediately  below  the  TOPS-20 command processor, you must
          give the FORK command to specify this process  before  using
          EXAMINE.   Remember  that  to  run an inferior process after
          examining it, you must ensure that  all  superior  processes
          are  running  too.  Give the FORK 1 and CONTINUE commands to
          let the top-level process continue its inferiors.


Effect on Memory and Terminal


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




Related Commands


     DDT                          for  calling  a  debugging  program,
                                  allowing  more efficient examination
                                  of memory

     DEPOSIT                      for  changing  the  contents  of   a
                                  specific memory location

     FORK                         for  selecting  the  process   whose
                                  memory you want to examine

     INFORMATION MEMORY-USAGE     for  displaying  a  list  of  memory
                                  pages, their contents and status


Examples


     1.  Examine location 550 of the program in memory.

              @EXAMINE 550
              550/    74473,,414155
              @

     2.  Put a  program  into  memory  and  find  out  what  pages  it
         occupies.   Examine a location on page 2, and then (using the
         abbreviated form of the EXAMINE command) one on page 400.

              @GET DMN
              @INFORMATION MEMORY-USAGE

               5. pages, Entry vector loc 400010 len 254000

              0-3      DMN.EXE.1  1-4   R, CW, E
              400      DMN.EXE.1  5   R, CW, E

              @EXAMINE 2550
              2550/   600170
              @E 400550
              400550/ 0
              @


EXECUTE



Function


     The EXECUTE command loads your program into memory, compiling the
     source file first if necessary.  Then it starts the program.


Format


     @EXECUTE (FROM) /switch(es) source/switch(es) object,...
      -------        ----------- ----------------- ----------

     where

     switches     are keywords chosen from the list below,  indicating
                  your   choice  of  EXECUTE  command  options.   When
                  positioned immediately after  a  file  specification
                  and  before  a  comma, they apply only to that file;
                  otherwise  they  become  "global"  switches,   i.e.,
                  default choices for all subsequent files.
                       Defaults  are shown in the list of switches
                       --------

     source       is the file specification  of  the  source  program.
                  The  filename  must be of 6 or fewer characters, and
                  the file type of 30 fewer  characters;   you  cannot
                  use  a  generation  number.   This  argument  is not
                  necessary if you supply an object filespec.

     object       is the file specification  of  the  object  program.
                  The filename must be of six or fewer characters, and
                  the file type  must  be  .REL;   you  cannot  use  a
                  generation  number.   This argument is not necessary
                  if you supply a source.

                       Default (if you give neither source nor  object
                       -------
                               filespecs) - last     filespecs     and
                               associated  switches  you  gave  in   a
                               LOAD-class command

     ,...         means  that,  after  commas,  you  can   give   more
                  arguments of the form (switches, source, and object)
                  already shown


      Summary of EXECUTE Command Switches (defaults in boldface)


          /ALGOL
          /COBOL
          /COMPILE
          /CREF
          /FORTRAN
           -------
          /LIBRARY
          /LIST
          /MACRO
          /MAP:filespec     Default filespec - object filename.MAP,
                            -------

                                               or nnnLNK.MAP




          /NOCOMPILE
           ---------
          /NOLIBRARY
           ---------
          /NOLIST
           ------
          /NOOPTIMIZE
           ----------
          /NOSEARCH
           --------
          /OPTIMIZE
          /RELOCATABLE
          /SEARCH

     Descriptions of these switches are  given  below.   Although  the
     system  will  not  reject  switches  described  under  any of the
     LOAD-class commands, only those switches commonly associated with
     EXECUTE are described here.


                       EXECUTE Command Switches


     /ALGOL            compiles the file using the ALGOL compiler

     /COBOL            compiles the file using the COBOL compiler

     /COMPILE          forces compilation of the source file even if a
                       current  object  file already exists.  Use this
                       switch along with a /LIST or  /CREF  switch  to
                       obtain  listings  when  you have current object
                       files.

     /CREF             creates  a  file   containing   cross-reference
                       information for each compilation.  The filename
                       is that of the object file;  the file  type  is
                       .CRF.  Use the CREF command to obtain a listing
                       of the file.   (For  COBOL  files  this  switch
                       automatically    produces   a   cross-reference
                       listing.)

     /FORTRAN          compiles the file using the FORTRAN compiler 
                            Default  for switches specifying  compiler
                            -------
                                     language,  in  the  absence  of a
                                     standard source file type

     /LIBRARY          same as /SEARCH

     /LIST             prints a line printer listing of the program in
                       ASCII  format;  the name of this listing is the
                       filename of the object file.  The /CREF  switch
                       overrides  /LIST  when  they  both apply to the
                       same file.

     /MACRO            assembles the file using the MACRO assembler

     /MAP:filespec     produces a loader map  and  stores  it  in  the
                       indicated file
                           Default filespecs - object.MAP,       where
                           -------

                                               object  is  the name of
                                               the  module  containing
                                               the  start address;  or
                                               (if no  start  address)
                                               nnnLNK.MAP,  where  nnn
                                               is your job number.




     /NOCOMPILE        prevents compilation  if  the  object  file  is
                       current;  otherwise it forces compilation.  Use
                       this   switch   to   cancel   a   /COMPILE   or
                       /RELOCATABLE switch.
                            Default
                            -------

     /NOLIBRARY        same as /NOSEARCH

     /NOLIST           prevents a line printer listing of the program
                            Default
                            -------

     /NOOPTIMIZE       prevents the generation of a globally optimized
                       object file.  (For FORTRAN programs only.)
                            Default
                            -------

     /NOSEARCH         requires all modules in the object file library
                       (the  file  accompanied  by  this switch in the
                       command line) to be loaded even if they are not
                       called  by  your  program.   Use this switch to
                       cancel a /SEARCH switch.
                            Default
                            -------

     /OPTIMIZE         generates a  globally  optimized  object  file,
                       i.e.,  one  that  runs  as quickly as possible.
                       (For FORTRAN programs only, and only if you  do
                       not  also give the /DEBUG switch (see the DEBUG
                       command description).)

     /RELOCATABLE      prevents  compilation  of  the   source   file,
                       forcing  use of an existing object file even if
                       the object file is out of date

     /SEARCH           requires that the object file library (the file
                       accompanied by this switch in the command line)
                       be searched for modules called by your  program
                       or by a program subroutine.  Only these modules
                       are loaded,  along  with  modules  called  from
                       system libraries, which are always searched.


Characteristics


     Compiling New Sources Only

          Before executing programs, the  system  ordinarily  compiles
          any source (and only those sources) whose write date is more
          recent that that of the object file of the same  name.   You
          can  override  this action with the /COMPILE or /RELOCATABLE
          switch.

     Using Standard File Types

          If you specify source files with standard types (.FOR, .MAC,
          .CBL,   or   .ALG)   in   an  EXECUTE  command,  the  system
          automatically   calls   the   appropriate   compiler    when

          compilation  is  necessary.   If you specify source files by
          filename only,  the system searches your connected directory




          in the above order for a file of this name  and  a  standard
          type.    To   execute   programs   from  sources  that  have
          nonstandard file types, give a switch to indicate the proper
          compiler  (/FORTRAN,  /MACRO,  /COBOL, or /ALGOL).  A switch
          will take precedence over  a  standard  file  type  if  they
          indicate  different  languages.  If no compiler is indicated
          with either a switch or a standard file  type,  the  FORTRAN
          compiler is used.


Hints


     Commas Between Filespecs

          If you give two or more filespecs  separated  by  commas  as
          arguments to EXECUTE, the loaded programs exist in memory at
          the same time and will act as a single program.  You can use
          this  feature  to  substitute  one  module for another under
          varying conditions or for different applications.

     Plus Signs Between Filespecs

          If you give two or more filespecs separated  by  plus  signs
          (+)  as  arguments  to EXECUTE, they are treated as a single
          file by compilers.  Their object module is stored under  any
          filename  given  as the "object" argument of the command, or
          (if none) under the last filename in the group and file type
          .REL.

     Indirect Files as Arguments

          You can store the arguments (source  and  object  filespecs,
          switches)  of  an  EXECUTE  command in an indirect file, and
          specify them by typing an at sign (@) and its filespec as an
          EXECUTE  command  argument.   If you give other filespecs as
          well, you must give the indirect file last.

     Running LINK Directly

          The EXECUTE command automatically runs  LINK,  the  system's
          loader  program,  but  if you require control of the loading
          process you can run LINK directory.  See  the  TOPS-20  LINK
          Reference Manual.


Restrictions


     Switches Assuming Compilation

               /CREF
               /LIST
               /NOLIST
               /NOOPTIMIZE
               /OPTIMIZE

          The above switches will not take effect unless  the  EXECUTE
          command  causes  a  new  compilation  of the relevant source
          file.  See  Characteristics - Compiling  New  Sources  Only,
          above, for more information.




Effect on Memory and Terminal


     The EXECUTE command clears memory, loads the appropriate compiler
     if necessary, then loads and starts your program.  It leaves your
     terminal at program command level (if any) within your program.


Related Commands

     COMPILE, LOAD, and DEBUG     other   LOAD-class   commands    for
                                  performing related functions

     RUN                          for running executable programs


Examples


     1.  Execute a program, indicating the language  with  a  standard
         file type.

              @EXECUTE CAFN.FOR
              FORTRAN: CAFN
              LINK:   LOADING
              [LNKXCT CAFN EXECUTION]

              END OF EXECUTION
              CPU TIME: 0.04 ELAPSED TIME: 0.89
              EXIT
              @

     2.  Execute a program, indicating the language with a switch.

              @EXECUTE CAFN/FORTRAN
              FORTRAN: CAFN
              MAIN.
              LINK:   LOADING
              [LNKXCT CAFN EXECUTION]

              END OF EXECUTION
              CPU TIME: 0.04 ELAPSED TIME: 0.82
              EXIT
              @

     3.  Execute two programs, requesting a cross-reference  file  for
         one of them.

              @EXECUTE CAFN, TAFN/CREF
              FORTRAN: CAFN
              MAIN.
              FORTRAN: TAFN
              MAIN.
              LINK:   LOADING
              [LNKXCT TAFN EXECUTION]

              END OF EXECUTION
              CPU TIME: 0.04 ELAPSED TIME: 0.15
              EXIT
              @




     4.  Combine two source programs into a single object program, and
         run this program.

              @EXECUTE CAFN+TAFN
              FORTRAN: CAFN
              MAIN.
              MAIN.
              LINK:   LOADING
              [LNKXCT TAFN EXECUTION]

              END OF EXECUTION
              CPU TIME: 0.04 ELAPSED TIME: 0.16
              EXIT
              @

     5.  Execute an  ALGOL  program,  ensuring  that  the  compilation
         includes required modules only;  request a map.

              @EXECUTE /COMPILE/MAP:YEAR1.MAP CALEND/ALGOL,
              ALGMOD.LBR/SEARCH
              ALGOL: CALEND
              LINK:   LOADING

              EXIT
              @


EXPUNGE



Function


     The EXPUNGE command permanently erases all the deleted files from
     a directory.


Format


     @EXPUNGE (DIRECTORY) dev:<directory>,
      -------             ----------------
     @@subcommand
       ----------
     @@   .
          -
          .
          -
          .
          -

     where

     dev:<directory>     is the name of  the  directory  you  wish  to
                         expunge;   if  you  have  Wheel  or  Operator
                         capabilities enabled, you can use an asterisk
                         (*)   to   expunge  all  directories  on  the
                         structure.
                              Default dev: - your connected structure
                              -------
                              Default <directory> - the directory  (on
                              -------
                                                    the      specified
                                                    structure) of  the
                                                    same  name as your
                                                    connected
                                                    directory
                              Default (if no arguments - your
                              -------
                                       are given)        connected
                                                         directory

                ,        means  that after a final comma you can give
     @@                  one   or  more   (optional)  subcommands   on
     @@ .                successive lines
        .
        .

     subcommand          is a keyword  chosen  from  the  list  below,
                         indicating  your  choice  of  EXPUNGE command
                         options


                           EXPUNGE Command Subcommands


     DELETE      deletes and expunges  temporary  files,  i.e.,  those
                 with  the  Temporary  (;T) attribute, created by some
                 system programs to hold interim data.  Do not use  if
                 you will have any further need of these files.

     PURGE       expunges all files which  you  have  opened  but  not
                 closed

     REBUILD     rebuilds the symbol table of the directory named




Output


     After a successful EXPUNGE command, the system reports the number
     of  disk pages freed.  If the expunged files are small, there may
     be no  pages  freed.   Occasionally  the  system  will  report  a
     negative  number.  This can mean that files were being written in
     the directory during the EXPUNGE, or (especially if  you  include
     the  REBUILD  subcommand) that previous computations of directory
     size had not adequately accounted for  some  files,  e.g.,  files
     written near the time of a system crash and reload.


Hints


     Using the REBUILD Subcommand

          The REBUILD subcommand is not needed under usual conditions,
          as  the  system  performs  this  action  automatically.  Use
          REBUILD if a message is printed on  your  terminal  advising
          you  to  rebuild  the symbol table of a directory, or if the
          "Pages  assigned"  parameter  reported  by  an   INFORMATION
          DISK-USAGE   command  shows  two  page  counts  (one  within
          parentheses) differing by more than, say, two  pages.   Note
          that  in  this  last  case  REBUILD  will  merely reduce the
          difference, not eliminate it, especially  if  the  directory
          has subdirectories beneath it.

     Using the PURGE Subcommand

          The PURGE subcommand is  useful  chiefly  for  removing  the
          remains  of  files  that were being created at the time of a
          system crash or a structure dismount.  Do not give it  while
          anyone  might  be  using  the directory, because that user's
          program might be deprived of necessary files as a result.


Special Cases


     Files With the "Permanent" Attribute

          The system erases only the contents of any files  that  have
          the  Permanent  attribute  (e.g.,  MAIL.TXT  in  your log-in
          directory)  when  you  try  to  expunge  them.   Their  file
          specifications  remain  among your deleted files, and cannot
          be removed by TOPS-20 commands.


Effect on Memory and Terminal


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




Related Commands


     DELETE                       for  marking  files  to   be   later
                                  expunged

     DIRECTORY-class commands     for   obtaining   lists   of    file
                                  specifications

     INFORMATION DISK-USAGE       for  finding  out  the  size  of   a
                                  directory


Examples


     1.  Expunge all deleted files from your directory.

              @EXPUNGE
               PS:<LATTA> [6 pages freed]
              @

     2.  Find out how much of your disk space is in use and  how  much
         is  occupied  by  deleted  files.  Delete some of your backup
         files, then give the EXPUNGE command to erase all of these.

              @INFORMATION DISK-USAGE
               154(155) Pages assigned, 101 in use, 53 deleted
               590 Working pages, 590 Permanent pages allowed
               33371 Pages free on PS:
              @DELETE *.Q*
               BLUE.QAR.1 [OK]
               REMARK.QXT.1 [OK]
               RIMOUSKI.QXT.1 [OK]
              @EXPUNGE
               PS:<LATTA> [56 pages free]
              @


FDIRECTORY


Function


     The FDIRECTORY (Full DIRECTORY)  command  is  equivalent  to  the
     DIRECTORY  command  with  the  subcommands  CRAM, EVERYTHING, and
     NOHEADING.  Use the same format and subcommands  with  FDIRECTORY
     as  with  DIRECTORY.   For further information, see the DIRECTORY
     command description in this manual.


Examples


     1.  Get a "Full DIRECTORY" listing, on your terminal, for one  of
         your files.

              @FDIRECTORY TESTF1.FOR
                 MISC:<LATTA>
               TESTF1.FOR.8;P777700;A341   1 115(7) 1 25-Apr-78 09:44:
              50 25-Apr-78 09:44:50 2-May-78 15:09:45 LATTA LATTA
              @

     2.  Give the FDIRECTORY command for a file, this time  requesting
         the  only  piece  of  information  about  current  files  not
         ordinarily supplied by the command.  Ask for a heading also.

              @FDIRECTORY TESTF1.FOR,
              @@HEADING
              @@CHECKSUM
              @@
                                      PGS Bytes(SZ) Ret Creation Write
                     Read             Creator  Writer  Checksum
                 MISC:<LATTA>
               TESTF1.FOR.8;P777700;A341   1 115(7) 1 25-Apr-78 09:44:
              50 25-Apr-78 09:44:50 2-May-78 15:09:46 LATTA LATTA
              147401P
              @


FORK



Function


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


Format


     @FORK (IS) number
      ----      ------

     where

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


Special Cases


     Fork 0

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


Effect on Memory and Terminal


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


Related Commands


     INFORMATION MEMORY-USAGE       for  examining   memory   of   the
                                    current process

     INFORMATION PROGRAM-STATUS     for finding  out  the  number  and
                                    status of each process in your job


Examples


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

              @FORK 2
              @




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

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

               176. pages, Entry vector loc 2061 len 3

              0        PS:<NEXT-RELEASE>BASIC.EXE.2  1   R, CW, E
              1        Private   R, W, E
              2-66     PS:<NEXT-RELEASE>BASIC.EXE.2  3-67   R, CW, E
              70-73    PS:<NEXT-RELEASE>BASIC.EXE.2  70-73   R, CW, E
              74       Private   R, W, E
              75-103   PS:<NEXT-RELEASE>BASIC.EXE.2  75-103   R, CW, E
              317-321  Private   R, W, E
              362      Private   R, W, E
              370      @ Fork 2   0   R, W, E
              371-372  @ No page   R, W, E
              373-374  @ Fork 2   3-4   R, W, E
              375-437  @ No page   R, W, E
              440-526  PS:<NEXT-RELEASE>BASOTS.EXE.2 1-67   R, CW, E
              530-532  Private   R, W, E
              533-546  PS:<NEXT-RELEASE>BASOTS.EXE.2 71-104   R, CW, E
              600-637  PS:<NEXT-RELEASE>BASOTS.EXE.2 105-144   R, CW, E


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


               108. pages, Entry vector loc 401 len 24

              0        Private   R, W, E
              3-4      Private   R, W, E
              100      Private   R, W, E
              436-437  Private   R, W, E
              440-526  @ Fork 1  440-526   R, CW, E
              527      @ No page   R, CW, E
              530-532  Private   R, W, E
              533-546  @ Fork 1  533-546   R, CW, E
              600-637  @ Fork 1  600-637   R, CW, E
              640-767  @ No page   R, CW, E


              @EXAMINE 3500
              3500/   0
              @


GET



Function


     The GET command clears memory, then places an executable  program
     into it.


Format


     @GET filespec
      --- --------

     where

     filespec     is the  specification  of  any  file  containing  an
                  executable program
                       Default file type - .EXE
                       -------


Effect on Memory and Terminal


     The GET command clears memory, puts the  specified  program  into
     memory, and leaves your terminal at TOPS-20 command level.


Related Commands


     INFORMATION MEMORY-USAGE     for examining the contents of memory

     LOAD                         for  loading  a  source  or   object
                                  program into memory

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

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

     START                        for starting the program in memory


Examples


     1.  Put an executable program into memory.

              @GET TESTF1.EXE
              @




     2.  Verify that you have a magnetic tape drive assigned  to  your
         job.   Get one of your executable programs, save a copy of it
         on tape, and then start it.

              @INFORMATION AVAILABLE DEVICES
              Devices available to this job:
               DSK, PS, SNARK, MISC, LANG, REL3, DX20, MTA0, MTA2-3
               MT0-7, LPT, LPT0, LPT1, CDR, PCDR0, CDP, FE0-15
               PTY23-61, NUL, PLT, PLT0, DCN, SRV
              Devices assigned to/opened by this job: MTA0, TTY230
              @GET TESTF1
              @SAVE MTA0:
               MTA0:TESTF1 Saved
              @START

              THIS IS A TEST.

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


HELP



Function


     The HELP command gives an explanatory text, at your terminal,  of
     many TOPS-20 system features.


Format


     @HELP name
      ---- ----

     where

     name     is the name of a system program  chosen  from  the  list
              given in response to the command HELP *
                   Default name - HELP
                   -------


                   Sample of HELP Command Arguments


ACCT20   ACCTPR   ACTGEN  APL      APLSF    BLIS10   CHECKD   CHKPNT
COBDDT   COBOL    CONV20  CREF     DAEMDB   DBINFO   DBMEND   DIRTST
DLUSER   DUMPER   EDIT    FE       FILCOM   FORDDT   FORDML   FORMAT
FORTRA   HELP     ISAM    LIBARY   LINK     LPTSPL   MACRO    MAIL
MAKLIB   MAKRAM   MAKVFU  OPLEAS   PLEASE   PTYCON   QUEUE    RDMAIL
RERUN    RSXFMT   RUNINP  RUNOFF   SCHEMA   SORT     SYSERR   SYSJOB
TRANSL   ULIST    USAG20  USAH20   WATCH


Characteristics


     Other HELP Command Arguments

          Note that some of the HELP command arguments shown here  may
          be  omitted  if the associated programs are not available at
          your site.  The list may include  other  texts  inserted  by
          your  system  administrator  to describe features special to
          your system.  Also,  this  list  is  revised  frequently  to
          reflect  improvements  and  additions  to  standard  TOPS-20
          programs.


Hints


     Printing HELP Files on the Line Printer

          The texts displayed by the HELP command are stored in system
          logical  name  HLP:   under the name of the program and file
          type .HLP.  Use the PRINT command to request your own copy.


Effect on Memory and Terminal

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




Examples


     1.  Ask for information about the FILCOM  program,  and  truncate
         the output with CTRL/Cs.

              @HELP FILCOM
              FILCOM compares two files in either ASCII mode
              or binary depending upon switches or file name extensions.
              All standard binary extensions are recognized as binary by
               default.
              Switches are :-
              /A compare in ASCII mode
              /B allow compare of Blank lines
              /C ignore Comments and spacing
              /S ignore Spacing
              /H type this Help text
              /#L Lower limit for partial compare
                      or number of Lines to be matched
                      ( # represents an octal number)
              /#U Upper limit for part^C
              ^C
              @

     2.  Use the DIRECTORY command to search system logical name  HLP:
         for  any  text involving programming language APL.  (Note the
         use of wildcard characters here.)  Print copies of  one  such
         file for later use.

              @DIRECTORY HLP:*APL*.HLP


                 PS:<HELP>
               APL.HLP.2
               APLSF.HLP.2


               Total of 2 files
              @PRINT /LOWERCASE/COPIES:3/AFTER:17:00 HLP:APLSF.HLP
              [LL:APLSF=/Seq:5739/Limit:174, 1 File]
              @


INFORMATION



Function


     The INFORMATION command reports on system and job parameters.


Format


     @INFORMATION (ABOUT) argument
      -----------         --------

     where

     argument     is a keyword, chosen from the list below, indicating
                  your choice of INFORMATION command options


   Summary of INFORMATION Command Arguments (defaults in boldface)


     ADDRESS-BREAK

                LINES
     AVAILABLE  DEVICES
                -------

                     /ALL
     BATCH-REQUESTS  /FAST
                     /USER:user name    Default user name - your  user
                                        -------
                                                name

     COMMAND-LEVEL

     DIRECTORY dev:<directory>,         Default dev:<directory> - your
                                        -------
       @@VERBOSE                                connected directory
       @@FAST
         ----
       @@NAME-ONLY

     DISK-USAGE dev:<directory>         Default dev:<directory> - your
                                        -------
                                                connected directory

     FILE-STATUS  octal JFN             Default JFN - all JFNs in your
                                        -------
                                                job
     JOB-STATUS

                    SYSTEM
     LOGICAL-NAMES  JOB
                    ---
                    ALL

     MAIL  user name                    Default user name - your  user
                                        -------
                                                name
     MEMORY-USAGE

     MONITOR-STATISTICS
     NETWORK-STATUS

                     /ALL
     OUTPUT-REQUESTS /FAST
                     /USER:user name    Default user name - your  user
                                        -------
                                                name




     PROGRAM-STATUS
     PSI-STATUS
     SPOOLED-OUTPUT-ACTION
     STRUCTURE dev:                     Default dev: - your  connected
                                        -------
                                                structure
     SUBSYSTEM-STATISTICS
     SYSTEM-STATUS
     TAPE-PARAMETERS
     TERMINAL-MODE
     VERSION


                    INFORMATION Command Arguments


     ADDRESS-BREAK            gives  the  location  and  mode  of  any
                              address breaks for the program currently
                              in memory.  Set with SET ADDRESS-BREAK.

                  LINES
     AVAILABLE    DEVICES     lists  the  devices  or  terminal  lines
                              available  to you or already assigned to
                              your job.  Use ASSIGN to obtain devices.
                                   Default - DEVICES
                                   -------

                    /ALL
     BATCH-REQUESTS /FAST
                    /USER:user name

                              lists  the  jobs  being  processed   and
                              waiting  to  be  processed  by the batch
                              system.  The list includes

                              o  the jobname and  sequence  number  of
                                 the request
                              o  the name of the  user  who  initiated
                                 the request, and
                              o  the values of  the  switches  /AFTER,
                                 /PRIORITY,   /DEPENDENCY-COUNT,   and
                                 /TIME, if values were  given  in  the
                                 original  SUBMIT or subsequent MODIFY
                                 command
                              Use SUBMIT, MODIFY, or CANCEL to  change
                              this list.

                              The  /ALL  switch  adds   the   switches
                              /RESTARTABLE  (if  its value is YES) and
                              /UNIQUE (if its  value  is  1)  to  this
                              list, while /FAST eliminates the display
                              of all  switches  and  column  headings;
                              /USER  restricts descriptions to jobs of
                              the user named, and can  be  given  with
                              either of the other two switches.
                                   Default user name - your user name
                                   -------




     COMMAND-LEVEL            prints     the     status     of     the
                              LATE-CLEAR-TYPEAHEAD   parameter,  which
                              prevents you from giving another TOPS-20
                              command    until   any   error   message
                              resulting from a  previous  command  has
                              been     printed.     Set    with    SET
                              LATE-CLEAR-TYPEAHEAD.

     DIRECTORY dev:<directory>,

     @@FAST                   lists  the current parameter values  set
     @@VERBOSE                for  the indicated directory by the  SET
     @@NAME-ONLY              DIRECTORY  or  BUILD  commands,  or   by
                              default.    The   subcommands  call  for
                              either  a  short  list  of   non-default
                              (i.e.,   user-determined)   values  only
                              (FAST), or  a  complete  list  including
                              defaults  (VERBOSE),  or  a  listing  of
                              subdirectory names only (NAME-ONLY).  If
                              you  use  NAME-ONLY, specify a directory
                              of   the   form   <directory.*>.     The
                              categories of information include

                              o  the directory's password
                              o  working and permanent storage limits
                              o  capabilities (assigned or withheld)
                              o  directory number
                              o  default file protection
                              o  default account
                              o  directory protection
                              o  default   number    of    generations
                                 maintained for files
                              o  maximum  number   of   subdirectories
                                 allowed
                              o  date and time of last log-in
                              o  group memberships
                              o  user  group  numbers  assignable   to
                                 subdirectories
                              Set   with   SET   DIRECTORY   or   (for
                              subdirectories) BUILD.
                                   Default dev:<directory> - your
                                   -------
                                                             connected
                                                             directory

     DISK-USAGE dev:<directory>

                              prints, for the indicated directory

                              o  the number of pages of  disk  storage
                                 already assigned
                              o  working and permanent page limits
                              o  total number of unused pages  on  the
                                 file    structure    containing   the
                                 directory
                                   Default dev:<directory> - your
                                   -------
                                                             connected
                                                             directory




     FILE-STATUS octal JFN

                              gives,  for  the   specified   JFN   (an
                              internal number identifying each file)

                              o  the associated file specification
                              o  the mode of access (Append,  Execute,
                                 Read, or Write) for which the file is
                                 open (or  was  opened  last,  if  NOT
                                 OPENED precedes the access mode)
                              o  special  access  conditions,   namely
                                 DATA  ERROR  if  an  error is made in
                                 accessing the file,  or  EOF  if  the
                                 file  pointer  is  at  the end of the
                                 file
                              o  if appropriate, byte pointer and byte
                                 size,  which tell the number of bytes
                                 transferred to or from the file, and
                              o  a list of devices currently  assigned
                                 to or opened by this job
                              But if a file has been opened by another
                              process  for  its sole use, you see only
                              the message, "Restricted JFN".
                                   Default JFN - all JFNs for your job
                                   -------

     JOB-STATUS               prints your

                              o  job number
                              o  user name
                              o  connected  directory  (if  not   your
                                 log-in directory)
                              o  account;  session remark (if any)
                              o  terminal number
                              You can set  some  of  these  parameters
                              with   CONNECT,  SET  ACCOUNT,  and  SET
                              SESSION-REMARK.

                   ALL
     LOGICAL-NAMES JOB
                   SYSTEM
                              prints the logical names and definitions
                              which  have  been  established  for your
                              job,  for  the  system,  or  for   both.
                              Establish logical names with DEFINE.
                                   Default - JOB
                                   -------

     MAIL user name           tells whether there is unread  mail  for
                              the  user if you have read access to it;
                              otherwise  you  see  only  the  message,
                              "Mailbox protected".  Send mail with the
                              MAIL program, and  read  mail  with  the
                              RDMAIL program.
                                   Default user name - your user name
                                   -------




     MEMORY-USAGE             prints, for the current process of  your
                              job

                              o  the  number  of   pages   of   memory
                                 assigned
                              o  location and length  of  the  current
                                 program's  entry vector (set with SET
                                 ENTRY-VECTOR)

                              and on each succeeding line

                              o  the page numbers of pages occupied by
                                 a file or program
                              o  the file specification if  the  pages
                                 are file pages;  PRIVATE otherwise.
                              o  the page numbers of file pages.  If a
                                 page  is mapped by indirect pointers,
                                 an at sign (@) is  printed  with  the
                                 file  specification  to  which  it is
                                 mapped;   @Fork n  means  that  these
                                 pages  are  mapped indirectly through
                                 another process (process  n)  of  the
                                 job;   @No page  can  mean  either of
                                 these    conditions,     when     the
                                 destination page does not yet exist.
                              o  the permitted accesses to  the  pages
                                 (set with SET PAGE-ACCESS):

                                    R - Read access
                                    -

                                    W - Write access
                                    -

                                    CW - Copy-on-Write access
                                    --

                                    E - Execute access
                                    -

     MONITOR-STATISTICS       gives you

                              o  the  length  of   time   (in   hours,
                                 minutes,   and   seconds)  since  the
                                 monitor became available for use
                              o  an analysis of monitor overhead time,
                                 by percentages
                              o  the number of swap-reads and -writes,
                                 and file-reads and -writes
                              o  the  number  of   pages   of   memory
                                 available to user programs
                              o  the  number  of   terminal   wake-ups
                                 (occasions  when a program "wakes up"
                                 after waiting for terminal  input  or
                                 output  to  finish),  and of terminal
                                 interrupts (occasions when a  program
                                 is  interrupted  by a CTRL/C, CTRL/O,
                                 or  CTRL/T  (or  other,  user-enabled
                                 control characters) typed at a user's
                                 terminal)




                              o  the average number  of  processes  in
                                 the  balance  set  (NBAL, a subset of
                                 the run set - these are runnable, and
                                 each  receives  a  share of CPU time)
                                 and in the remainder of the  run  set
                                 (NRUN - these are waiting to be run),
                                 and
                              o  the number of  seconds  of  CPU  time
                                 given  to  each of the four scheduler
                                 queues (where  the  leftmost  listing
                                 describes the highest priority queue,
                                 for interactive  processes,  and  the
                                 rightmost  listing  is  for CPU-bound
                                 processes)

                              All averages and totals are computed for
                              the  time since system start-up when the
                              monitor became available for use.

     NETWORK-STATUS           gives this information about of the ARPA
                              network, if the system is a member:

                              o  whether  the   network   service   is
                                 enabled
                              o  whether the  IMP  (Interface  Message
                                 Processor)   is   up,   or  down,  or
                                 initializing
                              o  date and time of the last ready  line
                                 on-transition  (if  any)  between the
                                 monitor and the IMP
                              o  date and time of the last ready  line
                                 off-transition  (if  any) between the
                                 monitor and the IMP

                      /ALL
     OUTPUT-REQUESTS  /FAST
                      /USER:user name

                              prints a listing, at your  terminal,  of
                              the requests being sent or waiting to be
                              sent to  an  output  device.   The  list
                              includes

                              o  the kind of device to be used  (e.g.,
                                 LPT - line   printer,  PLT - plotter,
                                 PTP - paper  tape  punch,  CDP - card
                                 punch)
                              o  the jobname and  sequence  number  of
                                 the request
                              o  the  output  limit,  in   appropriate
                                 units  (number  of  pages, seconds of
                                 plotter time, feet of paper tape,  or
                                 number of cards)
                              o  the name of the  user  who  initiated
                                 the request, and




                              o  values  of   the   switches   /AFTER,
                                 /FORMs,   and   /PRIORITY,  if  given
                                 non-default values  in  the  original
                                 PRINT or subsequent MODIFY command
                              Use PRINT, MODIFY, or CANCEL  to  change
                              this list.

                              The /ALL switch adds the /NOTE switch to
                              this   list,   while  the  /FAST  switch
                              eliminates the display of  all  switches
                              and  column  headings;   /USER restricts
                              descriptions to jobs of the user  named,
                              and  can  be  given  with  either of the
                              other two switches.
                                   Default user name - your user name
                                   -------

     PROGRAM-STATUS           gives the following information for  the
                              current  level  of  the  TOPS-20 command
                              processor (EXEC):

                              o  the amount of CPU time you have used,
                                 and  total  elapsed  time  since  you
                                 logged in
                              o  the   amount   of   TOPS-20   command
                                 processor time used
                              o  SET  UUO-SIMULATION  (set  with   SET
                                 UUO-SIMULATION)    if   the   TOPS-20
                                 compatibility package is  enabled  to
                                 simulate TOPS-10 monitor calls issued
                                 by a program you are running
                              o  SET  CONTROL-C-CAPABILITY  (set  with
                                 SET   CONTROL-C-CAPABILITY)  if  your
                                 program is allowed to  handle  CTRL/C
                                 interrupts itself, and
                              o  a  summary  of  the  status  of  each
                                 process belonging to the current copy
                                 of  the  TOPS-20  command  processor,
                                 including total CPU time used so far
                              An arrow  (=>)  indicates  your  current
                              process.

     PSI-STATUS               tells you

                              o  whether the PSI (programmed-software-
                                 interrupt)  system  is in use (ON) or
                                 not (OFF)
                              o  the memory address of the level table
                                 and  of the channel table - 0 if none
                                 was set
                              o  the numbers of  the  priority  levels
                                 for  which  there  are  interrupts in
                                 progress (1 and/or 2 and/or 3), where
                                 1 is the highest priority, and
                              o  the  numbers  of   channels   enabled
                                 (ready)  to accept interrupts, and of
                                 channels with pending interrupts
                              For further discussion of the  interrupt
                              system  see  the  TOPS-20  Monitor Calls
                              Reference Manual.




     SPOOLED-OUTPUT-ACTION    tells  you  whether  the   system   will
                              process  your  spooled  output  requests
                              immediately, or defer them until you log
                              out.          Set        with        SET
                              SPOOLED-OUTPUT-ACTION.  You make spooled
                              output   requests  not  with  the  PRINT
                              command  (these  are  always   processed
                              immediately)  but  with the COPY command
                              when you copy files to a spooled  output
                              device  (e.g.,  a  line  printer - LPT:,
                              plotter - PLT:, or  card  punch - CDP:).
                              Also,  the  /LIST  switch for LOAD-class
                              commands,  and  the   LPT   and   OUTPUT
                              subcommands   for   DIRECTORY-class  and
                              SYSTAT  commands  make  spooled   output
                              requests.

     STRUCTURE dev:

                              gives, for each structure named

                              o  the number of users who have  mounted
                                 the  structure,  the  number  of open
                                 files  on  the  structure,  and   the
                                 number of disks in the structure
                              o  kind   of    structure - Public    or
                                 Private, Domestic or Foreign (see the
                                 DECSYSTEM-20 User's Guide)
                              o  names of users who have  mounted  the
                                 structure
                              o  names of users who have accessed  the
                                 structure, and
                              o  names of users who have connected  to
                                 the structure
                              Use an asterisk (*) for dev:  to specify
                              all   mounted   structures.   Mount  and
                              dismount structures with the SMOUNT  and
                              SDISMOUNT commands.
                                   Default dev: - your       connected
                                   -------
                                                  structure

     SUBSYSTEM-STATISTICS     gives,  for  each  subsystem  (any  name
                              specified   by   the  SETSN  JSYS),  the
                              following information:

                              o  its name and total runtime since  the
                                 system           last          became
                                 available - SNAMES, STIMES
                              o  the average number of page faults per
                                 second it has caused - SPFLTS
                              o  the number of long-term waits it  has
                                 caused - SNBLKS
                              o  its  average  working-set  size  (the
                                 number   of   pages  it  occupies  in
                                 memory) - SSIZE
                              See the TOPS-20 Monitor Calls  Reference
                              Manual for more information.




     SYSTEM-STATUS            tells you

                              o  whether the operator is present
                              o  what    kinds    of    log-ins    are
                                 allowed - local,              remote,
                                 pseudo-terminal, network, or console
                              o  whether  accounting  (assessing   and
                                 recording  charges for system use) is
                                 being done
                              o  whether account validation  (checking
                                 accounts  against lists of authorized
                                 users) is enabled

     TAPE-PARAMETERS          gives  the  default  settings  of  these
                              parameters for magnetic tapes

                              o  tape density, in bits per inch
                              o  tape parity (ODD or EVEN)
                              o  format    (ANSI-ASCII,     CORE-DUMP,
                                 INDUSTRY-COMPATIBLE,               or
                                 SYSTEM-DEFAULT), and
                              o  tape record length, in bytes
                              Set with SET TAPE.

     TERMINAL-MODE            gives the  following  information  about
                              your terminal

                              o  its  type  (LA36,  VT52,   etc.,   or
                                 SYSTEM-DEFAULT)
                              o  its speed (baud rate),  in  bits  per
                                 second
                              o  whether  it  is  set  to  receive  or
                                 refuse   links,  advice,  and  system
                                 messages
                              o  whether it  is  capable  of  printing
                                 lowercase  characters,  whether it is
                                 set to raise  lowercase  letters  you
                                 type  to  uppercase,  and  whether it
                                 will mark (flag) capital letters with
                                 a single quotation mark (')
                              o  whether it has a formfeed  mechanism,
                                 and   whether   it  is  set  to  only
                                 indicate formfeeds or to perform them
                              o  whether it has mechanical tab  stops,
                                 whether it is set to immediately echo
                                 input you type, and
                              o  whether it is operating in FULLDUPLEX
                                 or HALFDUPLEX mode
                              Set with TERMINAL.

     VERSION                  tells you

                              o  the system's name and version number
                              o  the version of  the  TOPS-20  command
                                 processor in use
                              o  the name (and version, if any) of any
                                 program currently in memory, and
                              o  the version  of  the  UUO  simulation
                                 package  in use (if a TOPS-10 program
                                 is in memory)




Hints


     Specifying the Correct Process of TOPS-20

          Use the FORK command to specify the process to be  described
          by   the   ADDRESS-BREAK,   FILE-STATUS,   and  MEMORY-USAGE
          arguments.  Find out your current process  with  INFORMATION
          PROGRAM-STATUS.


Effect on Memory and Terminal


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

Examples

     1.  Use an INFORMATION command to determine your current terminal
         settings.

              @INFORMATION TERMINAL-MODE
               TERMINAL LA36
               TERMINAL SPEED 300
               REFUSE LINKS
               REFUSE ADVICE
               RECEIVE SYSTEM-MESSAGES
               TERMINAL NO PAGE
               TERMINAL LENGTH 66
               TERMINAL WIDTH 80
               TERMINAL LOWERCASE
               TERMINAL RAISE
               TERMINAL NO FLAG
               TERMINAL INDICATE
               TERMINAL NO FORMFEED
               TERMINAL NO TABS
               TERMINAL NO IMMEDIATE
               TERMINAL FULLDUPLEX
              @

     2.  Mount a structure and access your directory on the structure.
         Compare  the  disk  space  available in this directory and in
         your connected directory.  (Note that  there  are  many  more
         pages  free  on  your  connected structure (MISC:) as a whole
         than on structure SNARK:;  this is likely to make your use of
         the system more efficient if you work only within MISC:.)

              @SMOUNT SNARK:
              Structure SNARK: mounted
              @ACCESS SNARK:
              @INFORMATION DISK-USAGE SNARK:
               198 Pages assigned
               400 Working pages, 400 Permanent pages allowed
               2836 Pages free on SNARK:
              @INFORMATION DISK-USAGE
               119(121) Pages assigned
               590 Working pages, 590 Permanent pages allowed
               33172 Pages free on MISC:
              @




     3.  Print a file, ordering several copies and supplying a note to
         be attached to it.  Use an INFORMATION command to verify that
         your request is in the output  queue.   Modify  the  date  on
         which  the  job  will  be  printed,  and  use the INFORMATION
         command again to confirm this action.

              @PRINT TESTF1.FOR /AFTER:17:00/COPIES:20/FORMS:NARROW/NO
              TE:"T-TH LAB"
              [LPT:TESTF1=/Seq:5786/Limit:1040, 1 File]
              @INFORMATION OUTPUT-REQUESTS /ALL/USER
              Queue    Job      Seq    Limit   User
              -----    ---      ---    -----   ----
              LPT      TESTF1   5786   1040    LATTA
                       /AFTER:5-May-78 17:00:00 /FORMS:NARROW /Note:"T
              TH LAB"
              @MODIFY PRINT TESTF1 /AFTER:MAY 7, 1978 17:00
              [1 Job Modified]
              @INFORMATION OUTPUT-REQUESTS /ALL/USER
              Queue    Job      Seq    Limit   User
              -----    ---      ---    -----   ----
              LPT      TESTF1   5786   1040    LATTA
                       /AFTER:7-May-78 17:00:00 /FORMS:NARROW /Note:"T
              -TH LAB"
              @


LOAD



Function


     The LOAD command loads your program into  memory,  compiling  the
     source file first if necessary.


Format


     @LOAD (FROM) /switch(es) source/switch(es) object,...
      ----        ----------- ----------------- ----------

     switches       are  keywords  chosen   from   the   list   below,
                    indicating  your  choice  of LOAD command options.
                    When   positioned   immediately   after   a   file
                    specification  and  before a comma they apply only
                    to  that  file.   Otherwise  they  become   global
                    switches, i.e., default choices for all subsequent
                    files.
                         Defaults are shown in the list of switches
                         --------

     source         is the file specification of the  source  program.
                    The filename must be of 6 or fewer characters, and
                    the file type  of  3  or  fewer  characters;   you
                    cannot  use a generation number.  This argument is
                    not necessary if you supply an object filespec.

     object         is the file specification of the  object  program.
                    The filename must be of 6 or fewer characters, and
                    the file type must be  .REL;   you  cannot  use  a
                    generation number.  This argument is not necessary
                    if you supply a source filespec.

                         Default (if  you  give  neither  source   nor
                         -------
                                 object   filespecs) - last  filespecs
                                 and associated switches you gave in a
                                 LOAD-class command

     ,...           means that, after  a  comma,  you  can  give  more
                    arguments  (switches,  source,  and object) of the
                    form already shown


       Summary of LOAD Command Switches (defaults in boldface)


          /ALGOL
          /COBOL
          /COMPILE
          /CREF
          /DDT
          /DEBUG
          /FORTRAN
           -------
          /LIBRARY
          /LIST
          /MACRO

          /MAP:filespec     Default filespec - object filename.MAP, or
                            -------
                                               nnnLNK.MAP




          /NOCOMPILE
           ---------
          /NODEBUG
           -------
          /NOLIBRARY
           ---------
          /NOLIST
           ------
          /NOOPTIMIZE
           ----------
          /NOSEARCH
           --------
          /NOSYMBOLS
          /OPTIMIZE
          /RELOCATABLE
          /SEARCH
          /SYMBOLS
           -------

     Descriptions of these switches are  given  below.   Although  the
     system  accepts  switches  described  under any of the LOAD-class
     commands, only those switches commonly associated with  LOAD  are
     described here.


                        LOAD Command Switches

     /ALGOL            compiles the file using the ALGOL compiler

     /COBOL            compiles the file using the COBOL compiler

     /COMPILE          forces compilation of the source file even if a
                       current  object  file already exists.  Use this
                       switch along with a /LIST or  /CREF  switch  to
                       obtain  listings  when  you have current object
                       files.

     /CREF             creates  a  file   containing   cross-reference
                       information for each compilation.  The filename
                       is that of the object file;  the file  type  is
                       .CRF.  Use the CREF command to obtain a listing
                       of the file.   (For  COBOL  files,  the  switch
                       automatically    produces   a   cross-reference
                       listing.)

     /DDT              loads the DDT debugging program along with your
                       object file

     /DEBUG            produces an object  file  containing  debugging
                       information  beyond  what  is  usually inserted
                       during a compilation.  (For  use  with  FORTRAN
                       programs  only,  and only if you have not given
                       the /OPTIMIZE switch.)

     /FORTRAN          compiles the file using the FORTRAN compiler
                            Default for switches  specifying  compiler
                            -------
                                    language,  in  the  absence  of  a
                                    standard source file type

     /LIBRARY          same as /SEARCH

     /LIST             prints a line printer listing of the program in
                       ASCII  format.  The name of this listing is the
                       filename of the object file.  The /CREF  switch
                       overrides  /LIST  when  they  both apply to the
                       same file.




     /MACRO            assembles the file using the MACRO assembler

     /MAP:filespec     produces a loader map  and  stores  it  in  the
                       indicated file
                            Default filespec - object.MAP,       where
                            -------
                                               object  is  the name of
                                               the  module  containing
                                               the  start address;  or
                                               (if no  start  address)
                                               nnnLNK.MAP,  where  nnn
                                               is your job number

     /NOCOMPILE        prevents compilation if the  associated  object
                       file   is   current;    otherwise   it   forces
                       compilation.  The switch is useful  chiefly  in
                       canceling a /COMPILE or /RELOCATABLE switch.
                            Default
                            -------

     /NODEBUG          excludes  special  debugging  information  from
                       your object file
                            Default
                            -------

     /NOLIBRARY        same as /NOSEARCH

     /NOLIST           prevents a line printer listing of the program
                            Default
                            -------

     /NOOPTIMIZE       prevents the generation of a globally optimized
                       object file.  (For FORTRAN programs only.)
                            Default
                            -------

     /NOSEARCH         requires all modules in the object file library
                       (the  file  accompanied  by  this switch in the
                       command line) to be loaded even if they are not
                       called  by  your  program.   Use this switch to
                       cancel a /SEARCH switch.
                            Default
                            -------

     /NOSYMBOLS        prevents a symbol table from being loaded along
                       with the object file

     /OPTIMIZE         calls for generation of  a  globally  optimized
                       object  file, i.e., one that runs as quickly as
                       possible.  (For FORTRAN programs only, and only
                       if you do not also give the /DEBUG switch.)

     /RELOCATABLE      prevents  compilation  of  the   source   file,
                       forcing  use of an existing object file even if
                       the object file is out of date

     /SEARCH           requires that the object file library (the file
                       accompanied by this switch in the command line)
                       be searched for modules called by your  program
                       or by a program subroutine.  Only these modules

                       are loaded, along with modules called from  the
                       system libraries, which are always searched.

     /SYMBOLS          loads a symbol  table  along  with  the  object
                       file;  helpful for debugging a program.
                            Default
                            -------




Characteristics


     Compiling New Sources Only

          Before loading programs, the system ordinarily compiles  any
          specified  source  (and only those sources) whose write date
          is more recent than that of the  object  file  of  the  same
          name.   You  can  override  this action with the /COMPILE or
          /RELOCATABLE switch.

     Using Standard File Types

          If you specify source files with standard types (.FOR, .MAC,
          .CBL,  or  .ALG) in a LOAD command, the system automatically
          calls  the  appropriate   compiler   when   compilation   is
          necessary.   If  you  specify source files by filename only,
          the system searches your connected directory for a  file  of
          this  name  and  a  standard  type.   To  load programs from
          sources that have nonstandard file types, give a  switch  to
          indicate  the  proper compiler (/FORTRAN, /MACRO, /COBOL, or
          /ALGOL).  A switch will take precedence over a standard file
          type  if  they indicate different languages.  If no compiler
          is indicated with either a switch or a standard  file  type,
          the FORTRAN compiler is used.


Hints


     Commas Between Filespecs

          If you give two or more filespecs  separated  by  commas  as
          arguments  to  LOAD,  the loaded programs exist in memory at
          the same time and will operate as a single program.  You can
          use  this feature to substitute one module for another under
          varying conditions or for different applications.

     Plus Signs Between Filespecs

          If you give two or more source filespecs separated  by  plus
          signs  (+)  as arguments to LOAD, they are compiled together
          as if they were a  single  file.   Their  object  module  is
          stored  under any filename given as the "object" argument of
          the command, or (if none) under the  last  filename  in  the
          group and file type .REL.

     Indirect Files as Arguments

          You  can  store  arguments  (source  and  object  filespecs,
          switches) of a LOAD command in an indirect file, and specify
          them by typing an at sign (@) and its  filespec  as  a  LOAD
          command  argument.  If you give other filespecs as well, you
          must specify the indirect file last.




     Running Link Directly

          The LOAD  command  automatically  runs  LINK,  the  system's
          loader  program,  but  if  you  require  more control of the
          loading process you can run LINK directly.  See the  TOPS-20
          LINK Reference Manual.


Restrictions


     Switches Assuming Compilation

          /CREF
          /DEBUG
          /LIST
          /NODEBUG
          /NOLIST
          /NOOPTIMIZE
          /OPTIMIZE

          The above switches will not  take  effect  unless  the  LOAD
          command  causes  a  new  compilation  of the relevant source
          file.  See  Characteristics - Compiling  New  Sources  Only,
          above, for more information.


Warning - Generation Numbers, Long Filespecs


     You must not give generation numbers when  specifying  source  or
     object   files;    the  system  automatically  uses  the  highest
     generation.  Also, most compilers require filenames of 6 or fewer
     characters and file types of 3 or fewer characters.


Effect on Memory and Terminal


     The LOAD command clears memory and loads your program.  It leaves
     your terminal at TOPS-20 command level.


Related Commands


     COMPILE, EXECUTE, and DEBUG               other        LOAD-class
                                               commands for performing
                                               related functions

     SAVE                                      for saving  the  loaded
                                               program in an .EXE file

     START                                     for starting the loaded
                                               program

     SET DEFAULT COMPILE-SWITCHES              for        establishing
                                               default   switches  for
                                               LOAD-class commands




     INFORMATION DEFAULTS COMPILE-SWITCHES     for  examining  default
                                               switches    established
                                               for LOAD-class commands


Examples


     1.  Load an object file into memory.

              @LOAD LSTSQ.REL
              LINK:   LOADING

              EXIT
              @

     2.  Load the same program, allowing  the  system  to  update  the
         object file if necessary.

              @LOAD LSTSQ/FORTRAN
              FORTRAN: LSTSQ
              MAIN.
              LINK:   LOADING

              EXIT
              @

     3.  Load a MACRO program and request a loader map or memory  map.
         (Notice the filename of this map.)

              @LOAD TEST2/MAP
              MACRO:  FT
              LINK:   LOADING

              EXIT
              @TDIRECTORY
                              WRITE


                 PS:<LATTA>
               FT.MAP.1        6-APR-78 15:23:17
               TEST2.REL
              @

     4.  Load a COBOL program, forcing a new compilation that includes
         only the required modules.  Request a map, and specify a name
         for this map.

              @LOAD /MAP:COBMEM.MAP TEST1/COMPILE, COBLIB/SEARCH
              COBOL:  DBL     [TEST1.CBL]
              LINK:   LOADING

              EXIT
              @




     5.  Compile   a   program.    Then   load   it,   requesting    a
         cross-reference listing this time.  Finally, save the program
         in executable format.

              @COMPILE TEST1/COBOL
              COBOL:  DBL     [TEST1.CBL]
              @LOAD /COMPILE/CREF
              COBOL:  DBL     [TEST1.CBL]
              LINK:   LOADING

              EXIT
              @SAVE
               TEST1.EXE.1 SAVED
              @

     6.  Combine two FORTRAN sources into an object  program  under  a
         new name.  Start this program.

              @LOAD LSTSQ+ABRR REGRES
              FORTRAN: LSTSQ
              MAIN.
              MAIN.
              LINK:   LOADING

              EXIT
              @START
              @

     7.  Create an indirect file, and use it to load  several  modules
         at  once.   Request cross-reference files, then give the CREF
         command to turn these into listings.

              @CREATE SERVTT.CMD
              INPUT: PS:SERVTT.CMD.1
              00100   HJRAD/COMPILE, FORLIB/SEARCH
              00200   HJVTT/COMPILE, FORLIB/SEARCH
              00300   HJINI/RELOCATABLE
              00400
              *E

              [SERVTT.CMD.1]
              @LOAD /CREF @SERVTT.CMD
              FORTRAN:HJRAD
              MAIN.
              FORTRAN: HJVTT
              MAIN.
              LINK:   LOADING

              EXIT
              @CREF
              CREF:   HJRAD
              CREF:   HJVTT
              @


LOGIN



Function


     The LOGIN command begins your timesharing job, and  connects  you
     to and accesses your log-in directory.


Format


     @LOGIN (USER) name (PASSWORD) pwd (ACCOUNT) acc (SESSION REMARK) remark
      -----        ----            ---           ---                  ------


   where

     name         is your user name

     pwd          is your secret password (which  is  not  printed  on
                  your terminal)

     acc          is an account name or number that you are authorized
                  to use

     remark       is an optional comment of 39  or  fewer  characters,
                  describing the coming terminal session


Output


     Notice of User Mail, and System Mail

          After the system  acknowledges  a  valid  LOGIN  command  by
          printing  your  job number, terminal number, and the current
          date and time, it informs you if another user has sent you a
          message  via  the MAIL program.  Then system mail (mail sent
          by privileged users to all users) that has accumulated since
          your last log-in is displayed on your terminal.


Characteristics


     Typing an Initial CTRL/C

          Before logging in you may have to type a CTRL/C (which  will
          not  echo  but  will print the system herald or greeting) to
          get the @ prompt necessary for typing the LOGIN command.  If
          you  are dialing in by telephone to a line declared autobaud
          by the system manager, this initial  CTRL/C  or  a  carriage
          return  will  enable the system to determine your terminal's
          speed setting, as long as the speed is either 110,  150,  or
          300.

     Rights, Capabilities, and Charges

          The LOGIN command gives you ownership rights to your  log-in
          directory,  and any group rights established for you on PS:.
          In addition, you are granted  whatever  capabilities  (e.g.,

          Maintenance, Wheel, etc.)  have been awarded to you, and can




          be sure that any charges you incur for  the  use  of  system
          resources  (e.g.,  CPU time, the batch and printing systems)
          will be billed to your user name.


Hints


     Commands in Files Executed at Log-in Time

          TERMINAL Commands

               If you have commands in  your  PS:LOGIN.CMD  file  that
               control   terminal   output  (e.g.,  TERMINAL  PAGE  or
               TERMINAL LENGTH), be sure to put them before the  first
               command  that  runs  a  program.   Then they will be in
               effect when system mail is displayed.

          For Affecting Entire Session or Current Level Only

               As soon as you log in, the system executes the commands
               contained  in  files  of  specification  LOGIN.CMD  and
               COMAND.CMD in your log-in directory for  a  timesharing
               job,  or  BATCH.CMD  for  a  batch  job.  Commands that
               affect your entire  job,  e.g.,  TERMINAL  and  DEFINE,
               belong  in  LOGIN.CMD.   Commands  that affect only the
               current level of TOPS-20, e.g., most SET commands, must
               be  put into COMAND.CMD if you want them to be executed
               automatically after every PUSH command as well as after
               LOGIN.

          A Final TAKE Command

               To avoid display of a message  of  the  form,  "End  of
               PS:LOGIN.CMD"  after  execution of a command file, make
               the last command in such a file a TAKE command with  no
               arguments.

          Simplifying Log-ins

               By using the SET DIRECTORY ACCOUNT-DEFAULT command  you
               cause  subsequent  LOGIN  commands to require just your
               user name and password.


Special Cases


     Commands You Can Issue Before Log-in

          You can give these  commands  before  logging  in:   ATTACH;
          BREAK;   DAYTIME;   INFORMATION  with  arguments  AVAILABLE,
          COMMAND-LEVEL, MAIL,  TERMINAL-MODE  and  VERSION;   LOGOUT;
          SET  with  arguments  LATE-CLEAR-TYPEAHEAD  and  TIME-LIMIT;
          SYSTAT;  TERMINAL;  and UNATTACH.




     Logging in to PTYs

          You do not need to give a password when logging in to a  PTY
          (pseudo-terminal).


Effect on Memory and Terminal


     The LOGIN command does not affect memory and leaves your terminal
     at  TOPS-20  command  level.   However, commands in command files
     executed during log-in (see Hints, above) will have  their  usual
     effect on memory and your terminal.


Related Commands


     ATTACH                            for joining to your terminal  a
                                       job   that   has  already  been
                                       logged in

     LOGOUT                            for ending your timesharing job

     SET DIRECTORY ACCOUNT-DEFAULT     for   specifying   a    default
                                       account for subsequent log-ins


Examples


     1.  Log in, using account 341.

              @LOGIN C.RYDER 341
               Job 39 on TTY41 8-May-78 11:04:21
              @

     2.  Type a CTRL/C to get the TOPS-20 greeting, then log in, using
         account 341 and inserting a session remark.  Give INFORMATION
         JOB as your first command, to see this session remark.

               SYSTEM 2102 DEVELOPMENT SYSTEM, TOPS-20 Monitor 3A(1512)
              @LOGIN URQUHART 341 TEST-REMARK
               Job 42 on TTY29 8-May-78 9:15:15
               End of LOGIN.CMD.1
              @INFORMATION JOB
               Job 42, User URQUHART, Account 341, TTY29
              Session remark: TEST-REMARK
              @


LOGOUT



Function


     The LOGOUT command ends a timesharing job.


Format


     @LOGOUT n
      ------ -

   where

     n     is an optional job number.  Specify n only when logging out
           a job other than your attached job.


Characteristics


     Expunging Your Log-in and Connected Directories

          Before logging you out,  the  system  expunges  any  deleted
          files from your log-in and connected directories, and prints
          a  message  if  either  directory  is  still  exceeding  its
          assigned permanent disk quota.

     Logging Out Other Jobs

          By specifying a job number you can log  out  any  other  job
          logged  in under the same user name as your attached job.  A
          user with Wheel or Operator capabilities enabled can log out
          any job other than his attached job.


Effect on Memory and Terminal


     The LOGOUT command clears memory and leaves your terminal in  the
     state  before log-in.  LOGOUT n does not affect memory and leaves
     your terminal at TOPS-20 command level.


Related Commands


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

     LOGIN        for beginning your timesharing job

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




Examples


     1.  Log out your job.

              @LOGOUT
              Killed Job 18, User C.RYDER, Account 341, TTY 233,
               at 8-May-78 16:25:46, Used 0:0:5 in 1:2:16

     2.  Log out your job,  receiving  a  warning  message  that  your
         directory is over its storage quota.

              @LOGOUT
               <URQUHART> Over permanent storage allocation by 8 page(s).
              Killed Job 39, User URQUHART, Account 341, TTY 41
                at  8-May-78 16:33:12,  Used 0:0:1 in 0:1:56

     3.  Check what jobs are logged in under your user name.  Log  out
         a  detached job and verify that it is gone, then log out your
         attached job.

              @SYSTAT LATTA
                39   DET  EXEC    LATTA
                43*  226  EXEC    LATTA
              @LOGOUT 39
              @SYSTAT LATTA
                43*  226  EXEC    LATTA
              @LOGOUT
              Killed Job 43, User LATTA, Account 341, TTY 226,
                at  8-May-78 16:35:16,  Used 0:0:1 in 0:1:1


MERGE



Function


     The MERGE command  places  an  executable  program  into  memory,
     combining it with whatever program (if any) is already there.


Format


     @MERGE filespec
      ----- --------

   where

     filespec     is the file specification of any executable program
                       Default filetype - .EXE
                       -------


Characteristics


     Executable Files Only

          If a program you try to merge is not in  executable  format,
          you  may  get an immediate error message (e.g., "?UNEXPECTED
          END-OF-FILE TRAP...") or a delayed one (e.g., "?ENTRY VECTOR
          IS  NOT  LESS THAN 777") after the merge.  In either case be
          sure that you have specified an  executable  program  before
          investigating further.  The MERGE command does not alter the
          entry vector if the file being merged is written  in  proper
          .EXE format.

     Page Overlays

          If there is a program already in memory when  you  give  the
          MERGE  command,  it  will remain intact unless some pages of
          the new program overlay it.  In such a case  the  new  pages
          replace  the  old.   However,  if  the file being merged was
          created by a CSAVE command, the merge and  any  replacements
          occur on a word-for-word basis, rather than page for page.


Examples


     1.  Merge an executable program into memory.

              @MERGE TESTF1.EXE
              @




     2.  Place an executable system program in memory,  then  merge  a
         system   debugging   program   with   it.   Give  INFORMATION
         MEMORY-USAGE  commands  to  verify  that  both  programs  are
         intact.

              @GET SYS:DUMPER
              @INFORMATION MEMORY-USAGE

               18. pages, Entry vector loc 3067 len 3

              0        PS:<NEXT-RELEASE>DUMPER.EXE.1  1   R, CW, E
              3-23     PS:<NEXT-RELEASE>DUMPER.EXE.1  2-22   R, CW, E

              @MERGE SYS:UDDT
              @INFORMATION MEMORY-USAGE

               25. pages, Entry vector loc 3067 len 3

              0        PS:<NEXT-RELEASE>DUMPER.EXE.1  1   R, CW, E
              3-23     PS:<NEXT-RELEASE>DUMPER.EXE.1  2-22   R, CW, E
              770-776  PS:<LOADTEST>UDDT.EXE.7  1-7   R, CW, E

              @


MODIFY



Function


     The MODIFY command adds or changes switches for a request made by
     a previous PRINT or SUBMIT command.


Format


     @MODIFY (REQUEST TYPE) queue (JOBNAME) name /switch:value...
      ------                -----           ---- ----------------

   where

     queue      is the waiting list in which you placed  the  original
                request.  These arguments are currently possible:
                     PRINT (for requests in the  line  printer  output
                           queue, placed there by the PRINT command)
                     BATCH (for requests in  the  batch  input  queue,
                           placed there by the SUBMIT command)

     name       is the jobname of the  request,  of  6  characters  or
                less.  This is the name appearing in the Job column in
                the  list  of  queues  supplied  by  the   INFORMATION
                OUTPUT-REQUESTS  command or INFORMATION BATCH-REQUESTS
                command.  Use an asterisk (*) to modify all your  jobs
                in the specified queue.

     switch     is a keyword, chosen from the list below,  naming  the
                switch you want to change

     value      is the new value of the indicated switch

     ...        means that you can show more changes to the  specified
                request of the form /switch:value


                  Summary of MODIFY Command Switches


        Switch                          Applicable to:

     /AFTER:date and/or time            PRINT   BATCH
     /DEPENDENCY-COUNT:n                        BATCH
     /FORMS:forms name                  PRINT
     /LIMIT:n                           PRINT
     /NOTE:12-character message         PRINT
     /PRIORITY:n                        PRINT   BATCH

                   NO
     /RESTARTABLE:YES                           BATCH

     /SEQUENCE:n                        PRINT   BATCH
     /TIME:hh:mm:ss                             BATCH

             0
     /UNIQUE:1                                  BATCH

     /USER:user name                    PRINT   BATCH




                       MODIFY Command Switches


                          Applicable Queue


     /AFTER:date and/or time   PRINT, BATCH   ensures that the request
                                              will  not  be  processed
                                              until after the  revised
                                              date     and/or     time
                                              specified.    NOV-12-77,
                                              and 18:00 illustrate two
                                              arguments    to     this
                                              switch.    If  you  give
                                              both  date   and   time,
                                              separate   them  with  a
                                              space.  The time can  be
                                              preceded  by a plus sign
                                              (+),  which  will  delay
                                              processing     by    the
                                              indicated length of time
                                              from the present.

     /DEPENDENCY-COUNT:n              BATCH   sets    the    request's
                                              dependency  count to the
                                              new   value   n.    This
                                              switch   can   also   be
                                              followed  by  a   signed
                                              value,  i.e.,  +n or -n,
                                              which will  increase  or
                                              decrease  the  old value
                                              by the specified amount.
                                              A  batch  request is not
                                              processed   until    its
                                              dependency  count  is 0.
                                              See  the  TOPS-20  Batch
                                              Reference   Manual   for
                                              more  information  about
                                              dependency counts.

     /FORMS:forms name         PRINT          specifies,  in  six   or
                                              fewer   characters,  new
                                              forms  (determining  the
                                              proper   color,   width,
                                              weight, vertical format,
                                              carriage  control  tape,
                                              etc.) to  use  with  the
                                              job

     /LIMIT:n                  PRINT          places a new limit of  n
                                              pages  on  the output of
                                              the job




     /NOTE:message             PRINT          labels the  header  page
                                              of   output,  i.e.,  the
                                              page   displaying    the
                                              jobname,   with   a  new
                                              message or  notation  of
                                              up   to  12  characters.
                                              The  message   must   be
                                              enclosed    in    double
                                              quotation  marks  if  it
                                              contains    spaces    or
                                              punctuation characters.

     /PRIORITY:n               PRINT, BATCH   assigns a new  number  n
                                              reflecting  the  urgency
                                              of the request.  This  n
                                              must  be  from  0 to 63,
                                              with   larger    numbers
                                              receiving        earlier
                                              treatment.

                  NO
     /RESTARTABLE:YES                 BATCH   specifies  whether   the
                                              job  should  be  started
                                              again  if   the   system
                                              crashes and is restarted

     /SEQUENCE:n               PRINT, BATCH   does  not   change   the
                                              sequence  number  of the
                                              job but rather specifies
                                              which   job  to  modify.
                                              This  switch  is  useful
                                              when  you  have  several
                                              jobs   with   the   same
                                              jobname;   otherwise the
                                              MODIFY  command  affects
                                              all of them.

     /TIME:hh:mm:ss                   BATCH   revises  the  limit  for
                                              the  maximum  amount  of
                                              CPU  time  available  to
                                              the   job;    given   in
                                              hours,   minutes,    and
                                              seconds.

             0
     /UNIQUE:1                        BATCH   changes             your
                                              declaration, if you have
                                              submitted  two  or  more
                                              jobs,  whether  they are
                                              (0)  or  are   not   (1)
                                              allowed      to      run
                                              concurrently

     /USER:user name           PRINT, BATCH   specifies the user whose
                                              request    is    to   be
                                              modified;            for
                                              privileged users only.




Characteristics


     MODIFY Effective Only Before Processing

          The MODIFY command affects a batch or  output  request  only
          before  processing  has  begun.  After processing has begun,
          you can only cancel the request with the CANCEL command, and
          then make a new request.


Hints


     Using the /DEPENDENCY-COUNT Switch

          You can use the  /DEPENDENCY-COUNT  switch  to  specify  the
          order  in  which  your  batch  jobs  are processed.  Set the
          dependency count of all but the first job to  some  positive
          value  when  you submit them, and include MODIFY commands in
          each job's control file to bring the next  job's  dependency
          count to 0 at the appropriate time.  See Example 4.


Effect on Memory and Terminal


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


Related Commands


     CANCEL                          for  removing  batch  and  output
                                     requests

     INFORMATION BATCH-REQUESTS      for  examining  entries  in   the
                                     batch queue

     INFORMATION OUTPUT-REQUESTS     for  examining  entries  in   the
                                     output queues

     PRINT                           for placing requests  in  a  line
                                     printer output queue

     SUBMIT                          for placing requests in the batch
                                     input queue


Examples


     1.  Modify a batch request (of jobname ARTIFI)  to  make  it  run
         more quickly.

              @modify batch artifi /priority:63
              [1 Job Modified]
              @




     2.  Modify a print request (of jobname PHIAL) to include  a  note
         on the header page.

              @modify print phial /note:"DUE: 11/4"
              [1 Job Modified]
              @information output-requests /all/user
              Queue   Job     Seq     Limit   User
              -----   ---     ---     -----   ----
              LPT     PHIAL   7096    52      LATTA
                      /AFTER:11-May-78 17:00:00 /Note:"DUE: 11/4"
              @

     3.  Modify one job of several having the same jobname.

              @information batch-requests /user
              Job     Seq     User
              ---     ---     ----
              PRTSK   7099    LATTA   /AFTER:11-May-78 17:00:00
              PRTSK   7100    LATTA   /AFTER:11-MaY-78 17:00:00
              PRTSK   7512    LATTA   /AFTER:11-May-78 17:00:00
              @modify batch prtsk /sequence:7512/af:9:00
              [1 Job Modified]
              @

     4.  Use the TYPE command to examine some of your  control  files.
         (Notice  the  use of the MODIFY command within these files to
         ensure that they  are  processed  in  a  certain  order  when
         submitted  together.)   Submit  these three control files and
         verify their placement in the batch input queue.

              @type arvm%.ctl
               ARVM1.CTL.1

              @RUN TESTF1
              @PRINT TESTF1.RSM
              @MODIFY BATCH ARVM2 /DEPENDENCY-COUNT:0

               ARVM2.CTL.2

              @RUN TESTF2
              @PRINT TESTF2.RSM
              @MODIFY BATCH ARVM3/ DEPENDENCY-COUNT:0

               ARVM3.CTL.1

              @RUN TESTF3
              @PRINT TESTF3.RSM
              @PRINT SUMJOB.RSM
              @submit /after:17:00 arvm1
              [INP:ARVM1=/Seq:7114/Time:0:05:00]
              @submit /dependency-count:1 arvm2
              [INP:ARVM2=/Seq:7115/Time:0:05:00]
              @submit arvm3 /dependency-count:1
              [INP:ARVM3=/Seq:7116/Time:0:05:00]
              @information batch-requests /all/user
              Job     Seq     User
              ---     ---     ----
              ARVM1   7114    LATTA   /AFTER:11-May-78 17:00:00 /UNIQUE:1
              ARVM2   7115    LATTA /DEPENDENCY-COUNT:1 /UNIQUE:1
              ARVM3   7116    LATTA /DEPENDENCY-COUNT:1 /UNIQUE:1
              @

POP



Function


     The POP command terminates  the  current  level  of  TOPS-20  and
     returns you to its superior process.


Format


     @POP (COMMAND LEVEL)
      ---


Characteristics


     POP the Opposite of PUSH

          You can do one and only one POP command for  every  previous
          PUSH  command.   Giving  too many POP commands will cause an
          error message to be printed on your terminal.


Special Cases


     Returning to PTYCON With POP

          The POP command usually returns you to the level of  TOPS-20
          from  which  you  gave  a  previous PUSH command.  But a few
          system programs, e.g., PTYCON, also allow you to  give  PUSH
          to  get  a  new level of TOPS-20.  Giving the POP command to
          this level of TOPS-20 returns you to command level  in  that
          program.


Effect on Memory and Terminal


     The POP command clears memory,  finishes  the  current  level  of
     TOPS-20,  and  returns  your  terminal  to  the  previous TOPS-20
     command level (but see Special Cases, above).   Memory  for  this
     previous TOPS-20 command level is not affected by this action.


Related Commands


     CONTINUE     for resuming execution of a program in memory

     PUSH         for obtaining a new level of TOPS-20




Examples


     1.  Give the POP command to return  to  a  higher  level  of  the
         TOPS-20 command processor (EXEC).

              @POP
              @

     2.  Run a program and halt it with CTRL/Cs.  Give a CONTINUE STAY
         command  to  resume  its execution, and then the PUSH command
         for a new level of TOPS-20.   Run  another  program  at  this
         lower  level, then use the POP command to return to the first
         level  before  receiving  the  final  message  of  the  first
         program.

              @RUN DMN

              ^C
              @CONTINUE STAY
              @PUSH

               TOPS-20 Command processor 3(414)
              @RUN TESTF1

              THIS IS A TEST.

              END OF EXECUTION
              CPU TIME: 0.03  ELAPSED TIME: 0:72
              EXIT
              @POP
              EXIT
              @


PRINT



Function


     The PRINT command places requests in a line printer output  queue
     (list of jobs waiting to be printed).


Format


     @PRINT (FILES) /switch(es) filespec/switch(es),...
      -----         ----------- -----------------------

   where

     switches     are keywords, chosen from the list below, indicating
                  your   choice   of  PRINT  command  options.   These
                  switches are of two kinds:  job  switches  and  file
                  switches.

                  Job switches apply to every file  specified  in  the
                  command, no matter where you give the switches.

                  File switches  are  local,  i.e.,  affect  only  the
                  immediately  preceding  file,  unless  you give them
                  before specifying any files;  in that case they  are
                  global,   i.e.,  applicable  to  all  files  in  the
                  command.   Local   file   switches   supersede   any
                  conflicting  global  file switches that apply to the
                  same file.

                       Defaults are shown in the list of switches
                       --------

     filespec     is the specification of a file you  wish  to  print.
                  You can use wildcard characters (% and *) to specify
                  more than one file.

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


       Summary of PRINT Command Switches (defaults in boldface)


            Job Switches    (affecting the entire command)


     /AFTER:date and/or time
     /FORMS:forms name              Default forms name - NORMAL
      -----                         -------
     /JOBNAME:6-character name      Default name - first           six
      -------                       -------
                                                   characters of first
                                                   filename in request

     /LIMIT:n                       Default n - calculated from length
      -----                         -------
                                                of files
     /LOWERCASE

     /NOTE:12-character message
     /PRIORITY:n                    Default n - 10
      --------                      -------
     /UPPERCASE
     /USER:user name
      ----




            File Switches   (affecting  only  the  nearest   preceding
                            file, unless placed before all filespecs)

     /BEGIN:n                       Default n - 0
      -----                         -------
     /COPIES:n                      Default n - 1
      ------                        -------
     /DELETE                        Default for files of type .LST
                                    -------

           ASCII
           -----
           COBOL
     /FILE:ELEVEN
           FORTRAN                  Default for  files  of  type  .DAT
           -------                  -------
                                             only

     /HEADER
      ------
     /NOHEADER
     /PRESERVE                      Default for all files except those
      --------                      -------
                                            of type .LST

            ARROW
            -----
            ASCII
     /PRINT:OCTAL
            SUPPRESS

     /REPORT:12-character title

              SINGLE
              ------
     /SPACING:DOUBLE
      --------
              TRIPLE




                        PRINT Command Switches


             Job Switches (affecting the entire command)


     /AFTER:date and/or time     ensures that  the  job  will  not  be
                                 printed  until  after the date and/or
                                 time specified.  NOV-12-78 and  18:00
                                 illustrate   two  arguments  to  this
                                 switch.  If you give  both  date  and
                                 time,  separate  them  with  a space.
                                 The time can be preceded  by  a  plus
                                 sign (+), which will delay processing
                                 by the indicated length of time  from
                                 the present.

     /FORMS:forms name           specifies,   in    six    or    fewer
                                 characters,  the  forms  (determining
                                 the  paper  color,   width,   weight,
                                 vertical   format,  carriage  control
                                 tape, etc.) to use for  the  printing
                                 job.  Note that using this switch may
                                 delay processing until  the  operator
                                 can mount the proper forms.
                                      Default forms name - NORMAL
                                      -------

     /JOBNAME:name               assigns  a  name  (of  six  or  fewer
                                 characters) to the printing job
                                      Default name - first         six
                                      -------
                                                     characters     of
                                                     first filename in
                                                     the request

     /LIMIT:n                    places a limit  of  n  pages  on  the
                                 output of the printing job
                                      Default limits,          usually
                                      -------
                                              adequate,  are  computed
                                              from  the  size  of  the
                                              files you want printed

     /LOWERCASE                  directs the job  to  a  line  printer
                                 that  can  print  both  uppercase and
                                 lowercase characters

     /NOTE:message               labels the  header  page  of  output,
                                 i.e.,   the   page   displaying   the
                                 jobname, with a message  or  notation
                                 of  up to 12 characters.  The message
                                 must be enclosed in double  quotation
                                 marks   if   it  contains  spaces  or
                                 non-alphanumeric characters.

     /PRIORITY:n                 assigns a number  n,  reflecting  the
                                 urgency of the print request.  This n
                                 must be from 0  to  63,  with  larger
                                 numbers receiving earlier treatment.

                                      Default n - 10
                                      -------




     /UPPERCASE                  directs the job  to  a  line  printer
                                 that uses only uppercase characters

     /USER:user name             specifies the user to be the owner of
                                 the  PRINT  request.   For privileged
                                 users only.


  File Switches  (affecting only the nearest preceding file, unless
                  placed before all file specifications)


     /BEGIN:n                    starts the printing at page n of  the
                                 file
                                      Default n - 0
                                      -------

     /COPIES:n                   requests that n copies of the file be
                                 printed;   n  must  be  less  than or
                                 equal to 62.
                                      Default n - 1
                                      -------

     /DELETE                     deletes the file after printing
                                      Default for files of type .LST
                                      -------

           ASCII                 specifies  that the file consists  of
           COBOL                 ASCII text, or COBOL SIXBIT  text; or
     /FILE:ELEVEN                (ELEVEN)   contains  four   eight-bit
           FORTRAN               bytes in each 36-bit word - for paper
                                 tape punch only;  or is FORTRAN ASCII
                                 text, where column 1 of each line  is
                                 interpreted  as  a  carriage  control
                                 character.
                                      Default - ASCII   (except    for
                                      -------
                                                files  of  type  .DAT,
                                                for which the  default
                                                is FORTRAN)

     /HEADER                     causes two  header  pages  containing
                                 the  jobname to be printed before the
                                 file itself
                                      Default
                                      -------

     /NOHEADER                   prevents the printing of header pages
                                 before the file

     /PRESERVE                   saves the file after printing
                                      Default for  all  files   except
                                      -------
                                              those of type .LST

            ARROW                designates the mode  for printing the
            ASCII                files.   ARROW   prints    the   file
     /PRINT:OCTAL                literally,  but denotes  each control
            SUPPRESS             character by an up-arrow (^) and  the
                                 character,  except for the following,

                                 which    are    printed    literally:
                                 carriage return, linefeed, horizontal
                                 tab,  vertical  tab,  and   formfeed.
                                 ASCII   prints  the  file  literally,
                                 without omissions  or  substitutions.
                                 OCTAL  prints  each word  in the file




                                 as unsigned octal integers;  3 groups
                                 of  128  words  (8 rows of 16 columns
                                 each)  appear  on  a  standard   line
                                 printer  page.   SUPPRESS  prints the
                                 file without any blank lines, causing
                                 all    vertical   format   characters
                                 (CTRL/K,  CTRL/L,   CTRL/Q,   CTRL/R,
                                 CTRL/S,  and  CTRL/T) to be converted
                                 to CRLFs (carriage return/linefeeds),
                                 and    then   interpreting   multiple
                                 occurrences  of  CRLFs  as  a  single
                                 CRLF.
                                      Default - ARROW
                                      -------

     /REPORT:title               scans  your  files  and  prints  only
                                 those  lines  whose  first characters
                                 are the title you give.   This  title
                                 can   contain  up  to  12  characters
                                 (including the quotation marks  which
                                 must enclose the title if it contains
                                 spaces).  This switch is  used  along
                                 with the COBOL report writer.

              SINGLE             determines the spacing  between lines
     /SPACING:DOUBLE             in the printout
              TRIPLE                  Default - SINGLE
                                      -------


Output


     Jobname, Sequence Number, Limit, Number of Input Files

          As soon as you complete a valid PRINT  command,  the  system
          responds  by  printing,  on  your terminal, the jobname, its
          sequence number, the limit in pages of  output  assigned  to
          the request, and the number of input files in the request.


Characteristics


     Ordinary Operation - No Switches

          For most purposes you can use the PRINT command with just  a
          series of filespecs for arguments.

     Switch Defaults Set by System Manager

          The defaults shown in the list of switches are  correct  for
          most  user  sites.   However, your system manager can change
          some of those default settings.  The switches most  commonly
          affected   are:    /FORMS,  /HEADER-/NOHEADER,  /LIMIT,  and
          /PRIORITY.




Hints


     Using SET DEFAULT PRINT

          If there are switches that you always or usually supply when
          using PRINT, give the SET DEFAULT PRINT command to establish
          them as defaults for the remainder of your terminal session.
          The  switches  will  then  behave  as  if you had typed them
          directly after the command name.  You can supersede  any  of
          these  default  switches  by  actually supplying the switch,
          with another value, when you give the  PRINT  command.   Put
          SET DEFAULT PRINT into a file of specification COMAND.CMD in
          your log-in directory if you want these default switches  to
          be  in  effect for all levels of future terminal sessions as
          well.


Effect on Memory and Terminal


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


Related Commands


     CANCEL                          for withdrawing PRINT requests

     INFORMATION OUTPUT-REQUESTS     for  examining  requests  in  the
                                     output queues

     MODIFY                          for   changing   PRINT   requests
                                     before processing has begun

     SET DEFAULT PRINT               for establishing default switches
                                     for subsequent PRINT commands


Examples


     1.  Print two of your files.

              @PRINT 4-UPED.TXT, CMPTN.TXT
              [LPT:4-UPED=/Seq:423/Limit:300, 2 Files]
              @




     2.  Print three files, assigning a jobname and  a  note  for  the
         header page;  postpone the printing.  Make 4 copies of one of
         the files, and double-space another one.

              @PRINT /JOBNAME:COMFIL/NOTE:CONFIDENTIAL/AFTER:JUNE 12,
              1979 DIRSPC.MEM, TESTM1.MAC/COPIES:4,
              MEMO.FRM/SPACING:DOUBLE
              [LPT:COMFIL=/Seq:426/Limit:310, 3 Files]
              @INFORMATION OUTPUT-REQUESTS /USER/ALL
              Queue   Job     Seq     Limit   User
              -----   ---     ---     -----   ----
              LPT     COMFIL  426     310     LATTA
                      /AFTER:12-Jun-79 00:00:01 /Note:CONFIDENTIAL
              @

     3.  Print a job in a hurry, by  assigning  a  high  priority  and
         skipping the header and first five pages.  Print 10 copies of
         the first file, and 18 of the second.

              @PRINT /JOBNAME:RUSH/PRIORITY:60/NOHEADER/BEGIN:5/COPIES
              :10 HARBOR.TXT, BARENTS.TXT/COPIES:18
              [LPT:RUSH=/Seq:428/Limit:1600, 2 Files]
              @INFORMATION OUTPUT-REQUESTS /USER/ALL
              Queue   Job     Seq     Limit   User
              -----   ---     ---     -----   ----
              LPT     RUSH    428     1600    LATTA
                      /PRIORITY:60
              @


PUSH



Function


     The PUSH command creates a new level of TOPS-20 inferior  to  the
     one from which you give the PUSH command.


Format


     @PUSH (COMMAND LEVEL)
      ----


Characteristics


     A New Level of TOPS-20

          The PUSH command  creates  a  lower  TOPS-20  command  level
          (EXEC)  than  you  were  using.   The  file of specification
          COMAND.CMD in your log-in directory is executed  again,  you
          have a fresh copy of memory and can begin giving commands as
          if you had just logged  in.   However,  job-wide  parameters
          (e.g.,  connected  and  accessed  directories,  logical name
          definitions, most parameters affected by SET  commands)  are
          unaffected  by the PUSH command and retain their values from
          just before PUSH.


Hints


     Using CONTINUE STAY With PUSH

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


Restrictions


     Number of Successive PUSH commands

          You can give as many pairs  of  PUSH  and  POP  commands  as
          necessary  to complete your task.  Although there is a limit
          to the number of times you  can  give  PUSH  without  giving
          intervening   POP  commands,  this  limit  is  large  enough
          (approximately 24) not to interfere with most applications.

     Withheld Log-out Capability

          You can usually log out from a lower level of  TOPS-20  than
          the   one  to  which  you  logged  in.   By  doing  so,  you
          simultaneously conclude all processes of your job.  However,

          if a program  (e.g., PTYCON)  has initialized a level of the




          TOPS-20  command  processor   but   has   withheld   log-out
          capability  from  it, you must use the POP command to return
          to a higher level of TOPS-20 before you can log out.


Warning


     Competition Between Processes

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


Effect on Memory and Terminal


     The PUSH command preserves your present memory, gives you a fresh
     copy of memory, and leaves your terminal at a new TOPS-20 command
     level.


Related Commands


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

     POP              for returning to a previous level of TOPS-20


Examples


     1.  Give the PUSH command.

              @PUSH

               TOPS-20 Command processor 3(414)
              @




     2.  Run a program, and give a CTRL/C to return to TOPS-20 command
         level.  Give a CONTINUE STAY command to resume this program's
         execution, and then a PUSH command for  a  new  copy  of  the
         TOPS-20  command  language.   Repeat this process twice;  now
         you have three programs  running  at  once.   In  the  lowest
         (fourth)  level  of  your  job, begin editing a file.  (Note:
         when running more than one program in this way, be sure  that
         they  do  not  use  the  same compiler or the same data base;
         otherwise, competition among them could  cause  unpredictable
         situations to develop.)

              @RUN TESTF1
              ^C
              @CONTINUE STAY
              @PUSH

               TOPS-20 Command processor 3(414)
              @RUN DMN
              ^C
              @CONTINUE STAY
              @PUSH

               TOPS-20 Command processor 3(414)
              @RUN PRODUK
              ^C
              @CONTINUE STAY
              @PUSH

               TOPS-20 Command processor 3(414)
              @EDIT ARTIFI.CTL
              Edit: ARTIFI.CTL.7
              *


R Command



Function


     The R command places in memory and starts an  executable  program
     stored on device SYS:.


Format


     @R (PROGRAM) filespec
      -           --------

   where

     filespec     is the file specification of any executable program
                       Default dev:<directory> - SYS:
                       -------
                       Default .typ - .EXE
                       -------


Characteristics


     Necessity of R Command

          Although in most cases you can run  executable  programs  by
          simply  typing  the  program  name  in  place  of  a TOPS-20
          command, the R command is necessary for  running  a  program
          whose name is the same as a TOPS-20 command.


Hints


     Defining SYS:

          If you redefine logical name SYS:  to be different from  the
          system-wide  definition,  you  should  include  SYS:  in the
          search list if you want to use the R command to  run  system
          programs.


Effect on Memory and Terminal


     The R command clears memory, places  in  memory  and  starts  the
     specified  program,  and leaves your terminal at command level in
     the program (if any), or at TOPS-20 command level.


Related Commands


     INFORMATION LOGICAL-NAMES     for  examining  the  definition  of
                                   SYS:

     RUN                           for   running    executable    user
                                   programs




Examples


     1.  Run the FILCOM system program.

              @R FILCOM

              *

     2.  Find out what APL programs  are  available  in  logical  name
         SYS:.  Run one of them.

              @DIRECTORY SYS:*APL*.EXE

                 PS:<FIELD-IMAGE>
               APL.EXE.1
               APLSF.EXE.1
               MAPLFL.EXE.1

               Total of 3 files
              @R APL.EXE
              TERMINAL..


RECEIVE



Function


     The RECEIVE command notifies the system that you are  willing  to
     accept  communication  links,  or  advice  from  another user, or
     system messages.


Format


     @RECEIVE argument
      ------- --------

   where

     argument            is a keyword, chosen  from  the  list  below,
                         naming  the  kind  of  communication  you are
                         willing to accept


                      RECEIVE Command Arguments


     LINKS               allows  communication  links  established  by
                         another user's TALK command

     ADVICE              allows  both  assistance  and   communication
                         links  initiated  by another user's ADVISE or
                         TALK command

     SYSTEM-MESSAGES     allows messages of interest to all users sent
                         by the operator or other privileged users

                              Default - LINKS
                              -------


Hints


     Typing RECEIVE During Attempted TALK

          If your terminal has been set to refuse  links  and  another
          user  tries  to  talk to you by using the TALK command, both
          terminals will give a  series  of  CTRL/G  signals  (ringing
          bells or high-pitched beeps) indicating the refused attempt.
          If you give the RECEIVE LINKS command before  these  signals
          are finished, the TALK command will succeed.


Effect on Memory and Terminal


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




Related Commands


     INFORMATION TERMINAL-MODE     for examining your current terminal
                                   settings

     REFUSE                        for refusing  communication  links,
                                   advice, or system messages


Examples


     1.  Give the RECEIVE command to accept communication  links  from
         other users.

              @RECEIVE LINKS
              @

     2.  Set your terminal to receive links, at the request (sent  via
         the  MAIL  program, not shown here) of another user.  Begin a
         communication session with this user, during which  you  give
         the  RECEIVE ADVICE command also, to allow a demonstration of
         the UDP program.  Afterwards,  set  your  terminal  again  to
         refuse advice.

              @RECEIVE
              @
              LINK FROM RENQUIST, TTY 127
              @;THANKS, BUT IF YOU LET ME DO AN "ADVISE" I CAN SHOW YOU
              @;HOW TO RUN THE PROGRAM BY ACTUALLY DOING IT.  OKAY?
              @; SURE, I'LL FIX MY SETTING.
              @RECEIVE ADVICE
              @ADVISE LATTA
               Escape character is <CTRL>E, type <CTRL>^? for help
               LATTA, MISC:<LATTA> Job 33 EXEC
               [Advising]
              UDP
              UDP>LIST/DOCUMENTATION:/CREATED-SINCE:1-1-78 0:0
              UDP>EXIT
              @;YOU'LL GET A PRINTED LISTING TOMORROW.
              @;DO YOU SEE HOW I DID IT?
              @;YES, THANKS.  GOODBYE.
              @
               [Advice terminated]

              @REFUSE ADVICE
              @


REENTER



Function


     The REENTER command starts your currently loaded program  at  its
     alternate entry point.


Format


     @REENTER (PROGRAM)
      -------


Characteristics


     Using REENTER

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


Hints


     Further Information

          For more information about entry vectors,  see  the  TOPS-20
          Monitor Calls Reference Manual.


Effect on Memory and Terminal


     The REENTER command  does  not  affect  memory  and  leaves  your
     terminal at a level determined by the program.


Related Commands


     GET       for placing an executable program in memory

     LOAD      for loading a source or object program into memory

     START     for entering a program at its normal entry point




Examples


     1.  Give the REENTER command for your current program.

              @REENTER

     2.  Begin running a program, then give a CTRL/C to leave  it  and
         obtain  a  file.   Resume  execution  of  the  program at the
         alternate entry point.

              @R DUMPER
              DUMPER>^C
              @ACCESS PS:<P.SPECCINI>
              Password:
              @COPY PS:<P.SPECCINI>USR.FIL
               PS:<P.SPECCINI>USR.FIL.1 => USR.FIL.1 [OK]
              @END-ACCESS PS:<P.SPECCINI>
              @REENTER
              DUMPER>


REFUSE



Function


     The REFUSE command notifies the system that you are  not  willing
     to  accept  communication  links, or advice from another user, or
     system messages.


Format


     @REFUSE argument
      ------ --------

   where

     argument            is a keyword, chosen  from  the  list  below,
                         naming  the kind of communication you are not
                         willing to accept


                       REFUSE Command Arguments


     LINKS               prevents both  assistance  and  communication
                         links established by another user's ADVISE or
                         TALK command

     ADVICE              prevents  assistance  initiated  by   another
                         user's ADVISE command

     SYSTEM-MESSAGES     prevents messages of general interest sent to
                         all users by the operator or other privileged
                         users

                              Default - LINKS and ADVICE
                              -------


Hints


     Typing RECEIVE During Attempted TALK

          If your terminal has been set to refuse  links  and  another
          user  tries  to  talk to you by using the TALK command, both
          terminals will give a  series  of  CTRL/G  signals  (ringing
          bells or high-pitched beeps) indicating the refused attempt.
          If you give the RECEIVE LINKS command before  these  signals
          are finished, the TALK command will succeed.


     REFUSE to Safeguard Terminal Output

          If you want your terminal to print a long file, say, without
          interference,  use  REFUSE  LINKS and REFUSE SYSTEM-MESSAGES
          commands to  prevent  all  classes  of  message  from  being
          received.   Be sure to use the RECEIVE command afterwards to
          restore the previous condition of your terminal.




Special Cases


     Implicit Refusal of Advice

          If you give the REFUSE LINKS command, your terminal will  be
          set   to  refuse  advice  also.   However,  the  INFORMATION
          TERMINAL-MODE command may not display  this  setting  unless
          you give an explicit REFUSE ADVICE command as well.


     Privileged Disregard of REFUSE

          A user with enabled Wheel or Operator capabilities can  give
          the TALK or ADVISE command for any job.


Effect on Memory and Terminal


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


Related Commands


     INFORMATION TERMINAL-MODE     for examining your current terminal
                                   settings

     RECEIVE                       for receiving communication  links,
                                   advice, or system messages


Examples


     1.  Use the REFUSE command to prevent other users  from  advising
         your job.

              @REFUSE ADVICE
              @

     2.  Receive a communication link formed by  another  user's  TALK
         command.   Confer with him briefly, then set your terminal to
         refuse all classes of message over which you have control.

              LINK FROM RENQUIST, TTY 127
              @;HELLO DAVID. CAN YOU HELP ME WITH EDIT?
              @;SORRY, PLEASE BREAK.  I'M EXPECTING PRINTOUT AND THIS
              @;WILL INTERFERE.  WILL GET IN TOUCH LATER.
              @;OKAY
              @BREAK

              @REFUSE ADVICE
              @REFUSE LINKS
              @REFUSE SYSTEM-MESSAGES
              @


REMARK



Function


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


Format


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


Characteristics


     Ending Remarks

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


Hints


     Useful During TALK or ADVISE Session

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


Effect on Memory and Terminal


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


Related Commands

     ADVISE     for sending commands to another user's job

     TALK       for sending comments to another user


Examples


     1.  Give the REMARK command.

              @REMARK
              TYPE REMARK.  END WITH CTRL/Z.




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

              @
              LINK FROM P.SPECCINI, TTY 127
              @;WHERE ARE THE NOTES FROM THE LAB DEMO THIS A.M.?
              @REMARK
              TYPE REMARK.  END WITH CTRL/Z.
              HI, PAUL.  THEY'RE IN THE LAB'S LIBRARY AREA.
              THAT'S CHEM:<P-CHEM.20.NOTES>.  I DON'T KNOW
              THE TITLE BUT LOOK AT THE DATES WITH A
              TDIRECTORY COMMAND.  OKAY?
              ;YES, THANKS.  BYE
              @BREAK
              ^Z
              @


RENAME



Function


     The RENAME command changes the specification of a file.


Format


     @RENAME (EXISTING FILE) old filespec(s) (TO BE) new filespec
      ------                 --- -----------         --- --------

   where

     old filespec(s)     is a single file specification, or  a  series
                         of them separated by commas or indicated by a
                         wildcard character (% or *)

     new filespec        is the new specification under which you want
                         to  store  the  file(s);  include an asterisk
                         (*) if you gave more than one old filespec.
                              Default new filespec - old filespec, but
                              -------
                                      with   next   higher  generation
                                      number


Output


     Status of Files

          If you use recognition on the new  file  specification,  the
          system  prints  !Old  Generation!, !New Generation!, or !New
          File!, to describe its status.

     Confirmation of Action

          As each file is renamed, the sytem prints its  old  and  new
          specification, and the word [Superseding] if it is replacing
          previous contents, before ending with the  word  [OK].   The
          delay before you see this [OK] indicates how long it took to
          rename the file.


Characteristics


     Efficiency of RENAME

          The RENAME command is the fastest and most  efficient  means
          of  transferring  files  from  one  specification to another
          within a structure, because  only  the  file  specifications
          have to be changed - the contents are not copied.




Hints


     Specifying a New Account and Protection Number

          You can specify the new file's  protection  number  and  the
          account  to  which its storage fees will be charged.  Follow
          the new filespec with a  semicolon  (;)  and  the  letter  P
          before  giving  a  new 6-digit protection number, and with a
          semicolon and the letter A  before  giving  a  new  account.
          Ordinarily   these  values  are  set  to  the  default  file
          protection and current account.


Restrictions


     Renaming Between Structures

          You cannot rename a file from one structure to another,  but
          must  use  the COPY command to reproduce its contents on the
          new structure, then the DELETE command to remove it from the
          old structure.

     Renaming Open or Mapped Files

          You cannot rename a file that is open or mapped into memory.
          First  give  the RESET command, or POP followed by RESET, if
          this is the case.


Warning


     Replacing Previous Contents of Files

          If  you  rename  a  file  into  a  specification  (including
          generation   number)   that  already  exists,  the  previous
          contents  of  the  new  file  are  replaced  and  cannot  be
          recovered.


Effect on Memory and Terminal


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


Related Commands


     COPY     for making copies of files




Examples


     1.  Rename a file.

              @RENAME ATM-50.SPC ATM-50.PRL
               ATM-50.SPC.1 => ATM-50.PRL.1 [OK]
              @

     2.  Use a wildcard character to rename all files of a given name.

              @RENAME ATM-50.* 1-ATM-50.*
               ATM-50.BAK.1 => 1-ATM-50.BAK.1 [OK]
               ATM-50.PRL.1 => 1-ATM-50.PRL.1 [OK]
              @

     3.  Access another user directory and transfer to  it  the  files
         renamed in Example 2.

              @ACCESS <ORBEN>
              Password:
              @RENAME 1-ATM-50.* <ORBEN>
               1-ATM-50.BAK.1 => <ORBEN>1-ATM-50.BAK.1 [OK]
               1-ATM-50.PRL.1 => <ORBEN>1-ATM-50.PRL.1 [OK]
              @END-ACCESS <ORBEN>
              @


RESET



Function


     The RESET command finishes the current process and  all  inferior
     processes.


Format


     @RESET
      -----


Characteristics


     Action of RESET

          The RESET command, in addition to clearing  memory  for  the
          processes  it  finishes,  closes  all files, even if mapped,
          opened by processes of  the  current  and  lower  levels  of
          TOPS-20.  It simultaneously terminates all lower processes.


Effect on Memory and Terminal


     The RESET command clears  memory  and  leaves  your  terminal  at
     TOPS-20 command level.


Related Commands


     INFORMATION FILE-STATUS      for  determining  which  files   are
                                  currently open

     INFORMATION MEMORY-USAGE     for determining contents of memory


Examples


     1.  Give the RESET command to clear memory.

              @RESET
              @


REWIND



Function


     The REWIND command returns a magnetic  tape  to  its  load  point
     (logical beginning, the beginning of the first file).


Format


     @REWIND (DEVICE) dev:
      ------          ----

   where

     dev:     is the name of the magnetic tape drive that you want  to
              rewind


Restrictions


     REWIND With Open Files

          If you have given a CTRL/C to exit from a program  that  has
          opened  a  magnetic  tape drive and you then give the REWIND
          command for that tape drive, the system will  first  ask  if
          you  want  to close the associated file.  You must do so for
          REWIND to succeed, but will probably be unable  to  continue
          the  program  from  that  point because the file will now be
          closed.


Effect on Memory and Terminal


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


Related Commands


     BACKSPACE     for moving a magnetic  tape  backward  a  specified
                   number of files or records

     SKIP          for moving a  magnetic  tape  forward  a  specified
                   number of files or records

     UNLOAD        for rewinding a magnetic tape completely  onto  the
                   source reel


Examples


     1.  Rewind your magnetic tape.

              @REWIND DAY:
              @




     2.  Mount a tape, and prepare to copy files onto  it.   (Use  the
         REWIND  command  to be sure you are at the beginning.)  After
         copying the files,  rewind  the  tape  and  (using  the  COPY
         command)  read  the first one.  Then give TOPS-20 commands to
         free the resources you have been using.

              @TMOUNT DAY:
              [Operator notified]
              [MTA0: assigned]
              @SMOUNT SNARK:
              Structure SNARK: mounted
              @ACCESS SNARK:
              @REWIND DAY:
              @COPY SNARK:FIL-1.TAP DAY:
               SNARK:FIL-1.TAP.1 => MTA0:FIL-1 [OK]
              @COPY SNARK:FIL-2.TAP DAY:
               SNARK:FIL-2.TAP.1 => MTA0:FIL-2 [OK]
              @COPY SNARK:FIL-3.TAP DAY:
               SNARK:FIL-3.TAP.1 => MTA0:FIL-3 [OK]
              @REWIND DAY:
              @COPY DAY: TTY:
               MTA0: => TTY:

              !THIS IS THE FIRST FILE.!
              @UNLOAD DAY:
              @DEASSIGN DAY:
              @END-ACCESS SNARK:
              @SDISMOUNT SNARK:
              Structure SNARK: dismounted
              @DEFINE DAY:
              @


RUN



Function


     The RUN  command  places  in  memory  and  starts  an  executable
     program.


Format


     @RUN filespec
      --- --------

   where

     filespec     is the file specification of any executable program
                       Default dev:<dir> - DSK:
                       -------
                       Default .typ - .EXE
                       -------


Characteristics


     Efficiency of RUN

          The RUN command does the work of the pair  of  commands  GET
          and  START.   It  is  a  faster  and less expensive means of
          executing programs than EXECUTE, or  than  LOAD  and  START.
          Therefore  you  should store frequently-run programs in .EXE
          files and run them with this command.


Effect on Memory and Terminal


     The RUN command clears memory, places in memory  and  starts  the
     specified  program,  and leaves your terminal at command level in
     the program (if any), or at TOPS-20 command level.


Related Commands


     EXECUTE     for running source or object programs

     GET         for placing an executable program in memory

     R           for running executable programs stored on SYS:

     START       for starting the program currently in memory




Examples


     1.  Run one of your executable programs.

              @RUN TESTF1.EXE

              THIS IS A TEST.

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

     2.  Mount a structure  and  access  a  user's  directory  on  the
         structure.  Run one of his programs.

              @SMOUNT SNARK:
              Structure SNARK: mounted
              @ACCESS SNARK:<ELDRIDGE>
              Password:
              @RUN SNARK:<ELDRIDGE>FT.EXE


              NEXT NUMBER:


SAVE



Function


     The SAVE command makes a copy of  memory  and  stores  it  in  an
     executable file.


Format


     @SAVE (ON FILE) filespec  (PAGES FROM) n1 (TO) n2, n3 n4, ...
      ----           --------               --      --- -- --- ---

   where

     filespec     is the file specification under which  you  want  to
                  store the program
                       Default filespec - program name.EXE
                       -------

     n1 n2,       are pairs of octal numbers specifying the span(s) of
     n3 n4,       memory pages you want to save
     ...               Default n1 n2 - all assigned  pages  of  memory
                       -------
                                       from 0 to 777


Output


     Status of Files

          If you use recognition of the file specification, the system
          prints !Old Generation!, !New Generation!, or !New File!, to
          indicate its status on disk, or !OK!  if saved on a non-disk
          device.


Hints


     Saving Programs Before Running Them

          When you load a source or  object  program  using  the  LOAD
          command, save it using SAVE before running it.  Then you can
          run it in the  future  without  first  loading  it  using  a
          LOAD-class  command.   This  is  also  true  if you save the
          program after running it, but it will then be in a  post-run
          state.

     More Information

          For more information about  saved  files,  see  the  TOPS-20
          Monitor Calls Reference Manual.


Effect on Memory and Terminal


     The SAVE command does not affect memory and leaves your  terminal

     at TOPS-20 command level.




Related Commands


     GET       for putting a saved file into memory

     LOAD      for putting a source or object file into memory

     RUN       for running a saved program

     START     for starting the program in memory


Examples


     1.  Save the program currently in memory.

              @SAVE
               TESTF1.EXE.6 Saved
              @

     2.  Assign a magnetic tape drive and ask the  operator  to  mount
         your  tape  on  it.  Use the GET command to put an executable
         program into memory, then save it (specifying a new filename)
         on  tape  and  on disk.  Finally, start the program, which is
         still in memory.

              @ASSIGN MTA0:
              @TMOUNT LAT:
              [Operator notified]
              [MTA0: assigned]
              @GET TESTF1
              @SAVE MTA0:TAP.EXE
               MTA0:TAP.EXE Saved
              @SAVE
               TAP.EXE.1 Saved
              @START

              THIS IS A TEST.

              END OF EXECUTION
              CPU TIME: 0.04  ELAPSED TIME: 0.17
              EXIT
              @


SDISMOUNT



Function


     The SDISMOUNT command informs the system that you no longer  need
     a particular file structure that you have previously mounted.


Format


     @SDISMOUNT (FILE STRUCTURE) dev:
      ---------                  ----

   where

     dev:     is the name of the structure you want to dismount


Characteristics


     Action of SDISMOUNT

          The SDISMOUNT command does not actually dismount a structure
          but  only  reduces by 1 its mount count, which is the number
          of users who have given the SMOUNT  but  not  the  SDISMOUNT
          command  for  the  structure.   Use  SREMOVE to dismount and
          request removal of a structure.

     Implicit SDISMOUNT With LOGOUT

          If you forget to dismount a structure you have mounted,  the
          mount count is reduced when you log out.


Effect on Memory and Terminal


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


Related Commands


     INFORMATION STRUCTURE     for finding out the names of users  who
                               have mounted a given structure

     SMOUNT                    for mounting a structure

     SREMOVE                   for   dismounting   a   structure   and
                               requesting its removal


Examples


     1.  Dismount a structure.

              @SDISMOUNT SNARK:
              Structure SNARK:  dismounted

              @


SET



Function


     The SET command establishes your choice of many available options
     for your terminal session (job) or directory.


Format


     @SET argument(s) setting(s)
      --- ----------- ----------

   where

     argument     is a keyword, chosen from the list below, indicating
                  your choice of SET command options

     setting      is a  word  or  number,  required  to  complete  the
                  meaning of most SET commands


       Summary of SET Command Arguments (defaults in boldface)


     ACCOUNT account   remark

     ADDRESS-BREAK octal memory address,
          @@AFTER n     Default n - 1
            -----       -------
          @@ALL
            ---
          @@EXECUTE
          @@NONE
          @@READ
          @@WRITE

     CARD-READER-INPUT-SET name of input set   n
     CONTROL-C-CAPABILITY
     --------------------

             PRINT
     DEFAULT SUBMIT  /switch(es)

                  ACCOUNT-DEFAULT dev:<directory> account
                  password

                  FILE-PROTECTION-DEFAULT dev:<directory> octal protection code
                  -----------------------
                  password
                       Default code - 777700
                       -------

     DIRECTORY    GENERATION-RETENTION-COUNT-DEFAULT dev:<directory> n
     ---------    ----------------------------------
                  password
                       Default n - 1
                       -------

                  PASSWORD dev:<directory>

                  old password
                  new password
                  new password

                  PROTECTION dev:<directory> octal protection code
                  ----------
                  password
                       Default code - 777700
                       -------




     ENTRY-VECTOR octal memory location   octal length between 1 and 777
          Default length - 1
          -------

               ACCOUNT  filespecs account
     FILE      GENERATION-RETENTION-COUNT filespecs n   Default n - 1
     ----      --------------------------               -------
               PROTECTION filespecs   octal protection code
               ----------
                    Default code - 777700
                    -------

     LATE-CLEAR-TYPEAHEAD
     MAIL-WATCH
     NEW-QUEUE-COMMANDS
     ------------------

          ADDRESS-BREAK
          CONTROL-C-CAPABILITY
                  PRINT
          DEFAULT SUBMIT
     NO   LATE-CLEAR-TYPEAHEAD
     --   --------------------
          MAIL-WATCH
          ----------
          TIME-LIMIT
          UUO-SIMULATION

     OLD-QUEUE-COMMANDS

                                                  COPY-ON-WRITE
                                                  EXECUTE

                                                  COPY-ON-WRITE
     PAGE-ACCESS  octal page numbers           NO WRITE

                                                  NONEXISTENT
                                                  READ
                                                  WRITE

     SESSION-REMARK remark of up to 39 characters

                    IMMEDIATE
                    ---------
     SPOOLED-OUTPUT DEFERRED

                        200
                        556
          DENSITY       800
                       1600
                       SYSTEM-DEFAULT
                       --------------

                      ANSI-ASCII
                      CORE-DUMP
     TAPE FORMAT      INDUSTRY-COMPATIBLE
                      SYSTEM-DEFAULT
                      --------------

                      EVEN

          PARITY      ODD
                      ---

          RECORD-LENGTH n bytes     Default n  - 512
                                    -------

     TIME-LIMIT integral n
     UUO-SIMULATION
     --------------




                        SET Command Arguments


     ACCOUNT account   remark
                              begins charging  the  specified  account
                              for   the   remainder  of  your  current
                              terminal session or until  you  use  the
                              command   again.   You  must  supply  an
                              alphanumeric account name of 39 or fewer
                              characters  valid  for  your  user name.
                              Then you can type  an  optional  session
                              remark,  also of 39 or fewer characters,
                              to be inserted in system accounting data
                              for   your   current  terminal  session.
                              Check your current account  and  session
                              remark with INFORMATION JOB-STATUS.

     ADDRESS-BREAK octal memory location,
                              causes  the  program  in  memory  to  be
                              suspended and a message to be printed on
     @@AFTER n                your terminal  when the memory  location
     @@ALL                    you   specify  is  referenced  for   the
     @@EXECUTE                indicated   operation - execute,   read,
     @@NONE                   write, or any of these (ALL).  With  the
     @@READ                   AFTER subcommand you determine how  many
     @@WRITE                  times it must be referenced  before  the
                              address  break  occurs;   with  NONE you
                              cancel address breaks for the  specified
                              location,   just  as  with  the  SET  NO
                              ADDRESS-BREAK   command.     Each    SET
                              ADDRESS-BREAK    command   cancels   any
                              previous  address  break.   Check   your
                              current  address  break with INFORMATION
                              ADDRESS-BREAK.
                                   Default   subcommands - ALL,    and
                                   -------
                                                           AFTER 1

     CARD-READER-INPUT-SET name of input set   n
                              is used by the batch system to associate
                              the   indicated   set  of  punch  cards,
                              beginning  with  deck  n,  with   system
                              device CDR:

     CONTROL-C-CAPABILITY     allows  any  program  executed  at   the
                              current  command  level to handle CTRL/C
                              interrupts itself.  You cannot use  this
                              command  in  a  batch  job.   Check  the
                              current   setting    with    INFORMATION
                              PROGRAM-STATUS.
                                   Default
                                   -------

             PRINT
     DEFAULT SUBMIT /switch:value...
                              sets up, as  default  arguments  to  the
                              command   selected,   the  switches  and
                              values you specify.   You  can  use  any
                              PRINT or SUBMIT switches.




     DIRECTORY ACCOUNT-DEFAULT dev:<directory> default account
     PASSWORD:  password
                              sets  the  account  of   39   or   fewer
                              characters  to  charge for your terminal
                              session whenever  you  log  in  to  this
                              directory without specifying an account.
                              Check with INFORMATION DIRECTORY.

     DIRECTORY FILE-PROTECTION-DEFAULT dev:<directory> octal code
     PASSWORD:password
                              sets a default protection code governing
                              access  to files subsequently created in
                              the directory.  Check  with  INFORMATION
                              DIRECTORY.
                                   Default code - 777700
                                   -------

     DIRECTORY GENERATION-RETENTION-COUNT-DEFAULT dev:<directory> n
     PASSWORD:password
                              prescribes for the directory  a  default
                              value  for  the number of generations of
                              subsequently-created  files   to   save.
                              Check with INFORMATION DIRECTORY.
                                   Default n - 1
                                   -------

     DIRECTORY PASSWORD dev:<directory>
     OLD PASSWORD:old password
     NEW PASSWORD:new password
     RETYPE NEW PASSWORD:new password
                              allows you to change the password of the
                              directory named.  Check with INFORMATION
                              DIRECTORY.

     DIRECTORY PROTECTION dev:<directory> octal protection code
     PASSWORD:password
                              establishes a protection code  governing
                              access  to  the  directory.   Check with
                              INFORMATION DIRECTORY.
                                   Default code - 777700
                                   -------

     ENTRY-VECTOR octal memory location   octal length from 1 to 777
                              lets you change the entry vector of  the
                              program   currently  in  memory  to  one
                              specifying   different   entry    vector
                              parameters.   Check  the current setting
                              with INFORMATION MEMORY-USAGE.
                                   Default length - 1
                                   -------

     FILE ACCOUNT filespecs account
                              specifies  the  account  to  charge  for
                              storage  of the files named.  Check with
                              FDIRECTORY.

     FILE GENERATION-RETENTION-COUNT filespecs n
                              tells the system how many generations of
                              the specified files to save.  Check with
                              FDIRECTORY.

                                   Default n - 1
                                   -------




     FILE PROTECTION filespecs octal protection code
                              sets a protection code for the specified
                              files.  Check with FDIRECTORY.
                                   Default code - 777700
                                   -------

     LATE-CLEAR-TYPEAHEAD
                              instructs the system  to  disregard  all
                              terminal  input  made  after a line that
                              causes an  error  and  before  the  next
                              prompt.   Check  the  setting  for  your
                              current   level    of    TOPS-20    with
                              INFORMATION COMMAND-LEVEL.

     MAIL-WATCH               checks your MAIL  file  immediately  and
                              every  five  minutes thereafter whenever
                              your terminal is about to type a TOPS-20
                              prompt  (@  or  $),  and sends a message
                              ([YOU  HAVE  NEW  MAIL])  if  this  file
                              contains unread mail

     NEW-QUEUE-COMMANDS       directs the system  to  accept  the  new
                              (Release  3  and  later)  PRINT, SUBMIT,
                              INFORMATION     OUTPUT-REQUESTS,     and
                              INFORMATION  BATCH-REQUESTS commands for
                              printing and batch jobs
                                   Default
                                   -------

     NO CONTROL-C-CAPABILITY
                              removes the ability of programs  at  the
                              current level of TOPS-20 to prevent your
                              terminal from returning to  the  TOPS-20
                              command  processor  whenever  you type a
                              CTRL/C;  i.e., ensures that CTRL/C  will
                              return   you   to  TOPS-20.   Check  the
                              setting  for  your  current   level   of
                              TOPS-20 with INFORMATION PROGRAM-STATUS.

                PRINT
     NO DEFAULT SUBMIT        nullifies    all    default    arguments
                              (established with a previous SET DEFAULT
                              command) for the indicated command

     NO LATE-CLEAR-TYPEAHEAD
                              instructs the system to accept  terminal
                              input  made  after  an  error message is
                              sent to your  terminal  and  before  the
                              next prompt.  Check the setting for your
                              current   level    of    TOPS-20    with
                              INFORMATION COMMAND-LEVEL.
                                   Default
                                   -------

     NO MAIL-WATCH            disables periodic checking of  the  MAIL
                              file,  although you will see the notice,
                              [YOU HAVE A MESSAGE] at log-in time, and
                              can  still check the status of your MAIL
                              file  at  any   time   by   giving   the
                              INFORMATION MAIL command

                                   Default
                                   -------




     NO TIME-LIMIT            removes any time limit set by a previous
                              SET  TIME-LIMIT command.  You cannot use
                              this command in a batch job.

     NO UUO-SIMULATION
                              disables  the  feature  of  the  TOPS-20
                              monitor  that  makes  it possible to use
                              programs  originally  written  for   the
                              TOPS-10  operating  system.   Check  the
                              current   setting    with    INFORMATION
                              PROGRAM-STATUS.

     OLD-QUEUE-COMMANDS       directs the system to accept the Version
                              1  PRINT and QUEUE commands for printing
                              and batch requests

     PAGE-ACCESS range of octal page numbers   type of access

                    COPY-ON-WRITE
                              provides programs with private copies of
                              the specified pages (13:17, 21 specifies
                              pages 13 through 17 and page 21, 6 pages
                              in  all) of current memory whenever they
                              try to change (write to) them

                    EXECUTE   allows programs accessing these pages to
                              execute  the  program or subroutine they
                              contain

                       COPY-ON-WRITE
                    NO WRITE  prevents programs  from  performing  the
                              indicated  operation  on  the  specified
                              pages

                    NONEXISTENT
                              removes the indicated pages from memory

                    READ      permits   programs   to   examine    the
                              indicated pages of memory

                    WRITE     permits programs to change  as  well  as
                              examine the indicated pages

                              Check the status of current memory pages
                              with INFORMATION MEMORY-USAGE.

     SESSION-REMARK remark
                              lets you insert a note or reminder of up
                              to  39 characters into system accounting
                              data.     Check     with     INFORMATION
                              JOB-STATUS.

                    IMMEDIATE
     SPOOLED-OUTPUT DEFERRED  directs  the  system  either  to   begin
                              executing your spooled printing requests
                              (e.g.,  those  made   using   the   COPY
                              command)  or  other  output  requests as
                              soon as you make them, or to defer  them
                              until  log-out.   Check with INFORMATION
                              SPOOLED-OUTPUT-ACTION.
                                   Default - IMMEDIATE
                                   -------




                   200
                   556
     TAPE DENSITY  800
                   1600
                   6250
                   SYSTEM-DEFAULT
                              instructs the system to read  and  write
                              magnetic  tapes  for  your  job  at  the
                              indicated density (in  bits  per  inch).
                              SYSTEM-DEFAULT,   one  of  these  values
                              (usually 1600), is established  by  your
                              system  manager.   The value set by this
                              command can be  superseded  by  commands
                              within    a    program.     Check   with
                              INFORMATION TAPE-PARAMETERS.
                                   Default - SYSTEM-DEFAULT
                                   -------

                  ANSI-ASCII
                  CORE-DUMP
                  HIGH-DENSITY
     TAPE FORMAT  INDUSTRY-COMPATIBLE
                  SIXBIT
                  SYSTEM-DEFAULT
                              advises the system that  the  format  to
                              use   in   processing  tapes  is  either
                              ANSI-ASCII, which stores  each  word  of
                              data  as five 7-bit bytes in five frames
                              of a 9-track type;  or CORE-DUMP,  which
                              stores  each  word  of  data as a single
                              36-bit byte in five frames of a  9-track
                              tape,  partially  using the fifth frame;
                              or HIGH-DENSITY, which stores  each  two
                              words  of  data  as  nine 8-bit bytes in
                              nine  frames  of  a  9-track  tape;   or
                              INDUSTRY-COMPATIBLE,  which  stores each
                              word of data as four 8-bit bytes in four
                              frames  of  a  9-track tape;  or SIXBIT,
                              which stores each word of  data  as  six
                              6-bit  bytes  in six frames of a 7-track
                              tape.   SYSTEM-DEFAULT,  one  of   these
                              (usually  CORE-DUMP),  is chosen by your
                              system manager.  See the TOPS-20 Monitor
                              Calls    Reference   Manual   for   more
                              information about  hardware  data  modes
                              for    magnetic   tapes.    Check   with
                              INFORMATION TAPE-PARAMETERS.
                                   Default - SYSTEM-DEFAULT
                                   -------

                 EVEN
     TAPE PARITY ODD          tells the system which parity to  assume
                              when  verifying  the  accuracy  of  tape
                              records.    Check    with    INFORMATION
                              TAPE-PARAMETERS.
                                   Default - ODD
                                   -------




     TAPE RECORD-LENGTH n
                              sets  the  size,  in  bytes,  for   each
                              physical  record  on a tape.  Check with
                              INFORMATION TAPE-PARAMETERS.
                                   Default n - 512
                                   -------

     TIME-LIMIT n
                              tells the system to stop any program  or
                              terminal  printout and inform you with a
                              fatal  error  message  when  the   given
                              amount of CPU time (in seconds) has been
                              used.  This command is used by the batch
                              system  to  limit  the  runtime of batch
                              jobs.

     UUO-SIMULATION           allows the system  to  execute  programs
                              originally   written   for  the  TOPS-10
                              operating system, by calling the TOPS-10
                              compatibility    package,    PA1050.EXE.
                              Check   the   current    setting    with
                              INFORMATION PROGRAM-STATUS.
                                   Default
                                   -------


Characteristics


     Affect Only Current Terminal Session

          The SET command, except for  SET  DIRECTORY  and  SET  FILE,
          applies  to  the  current terminal session only, and in most
          cases only to the current level of TOPS-20 in that  session.
          Therefore  put  SET  DEFAULT,  SET CONTROL-C-CAPABILITY, and
          other SET commands into a COMAND.CMD  file  in  your  log-in
          directory  if  you  want them to be in effect every time you
          log in or give the PUSH command.


Hints


     Using SET PAGE-ACCESS

          A SET PAGE-ACCESS command can take several arguments on  the
          same  line,  with  cumulative  effect;   contradictions  are
          resolved  in  favor  of  the  last  item  given.    So   SET
          PAGE-ACCESS  6  EXECUTE  NO  COPY-ON-WRITE NO WRITE allows a
          user  to  execute  page  6  but  not  to  change  it;    SET
          PAGE-ACCESS 7 NO WRITE WRITE allows changes to page 7.

     Using SET TIME-LIMIT

          Although the SET TIME-LIMIT command is  ordinarily  used  by
          the  batch  system  to  limit  the  runtime of jobs, you can
          employ it as a timesharing user to give you  a  fatal  error
          message  when  the  specified  amount  of  CPU time has been
          spent.  To find out how much of this  time  you  have  left,
          give   the  SYSTAT . LIMIT  and  INFORMATION  PROGRAM-STATUS
          commands.  The difference between  the  SYSTAT . LIMIT  time

          and  the  "Used" time reported by INFORMATION PROGRAM-STATUS
          tells you the approximate time remaining.




     SET Commands Useful for Debugging Programs

          SET ADDRESS-BREAK

               SET ADDRESS-BREAK shows you  how  often  and  for  what
               purpose  a  memory  address  is  referenced.   When  an
               address break occurs, a message will  show  the  memory
               location  at  which  execution  of  your  program  will
               resume.

          SET  NO  CONTROL-C-CAPABILITY,   SET   UUO-SIMULATION,   SET
               PAGE-ACCESS

               If  you  are  debugging  a  program,  use  the  SET  NO
               CONTROL-C-CAPABILITY command to ensure that you can use
               CTRL/C to leave the program.  Test a program that traps
               CTRL/Cs  by having it trap, say, CTRL/As instead during
               debugging.  Also, setting NO  CONTROL-C-CAPABILITY,  NO
               UUO-SIMULATION,    or    PAGE-ACCESS    NO   WRITE   NO
               COPY-ON-WRITE will show you what part  of  the  program
               (if any) is attempting to use these features.


Restrictions


     Using SET Commands in Batch Jobs

          Put SET commands  into  a  BATCH.CMD  file  in  your  log-in
          directory  if  you want them to apply to every batch job you
          submit.   Remember,  though,  that  you  cannot   give   SET
          CONTROL-C-CAPABILITY,  SET  NO TIME-LIMIT, or SET TIME-LIMIT
          (or the ATTACH command) in any batch job.

     Using SET DIRECTORY Commands

          You will be able to use the SET DIRECTORY commands  only  if
          your  system  is instructed at system start-up time to allow
          them.  Otherwise, the system will send you error messages in
          response to SET DIRECTORY commands.


Effect on Memory and Terminal


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




Examples


     1.  Set the LATE-CLEAR-TYPEAHEAD parameter for your job.

              @SET LATE-CLEAR-TYPEAHEAD
              @

     2.  Find out the placement of your program  in  memory;   set  an
         address  break to occur at location 2412 when the instruction
         it contains has been  executed  six  times.   Then  give  the
         INFORMATION  ADDRESS-BREAK  command  to  see the location and
         operation for which the current address break has been set.

              @INFORMATION MEMORY-USAGE

               5. pages, Entry vector loc 400010 len 254000

              0-3      Private   R, W, E
              400      Private   R, W, E

              @SET ADDRESS-BREAK 2412,
              @@AFTER 6
              @@EXECUTE
              @@
              @INFORMATION ADDRESS-BREAK
              Address break at 2412 on execute.
              @

     3.  Set defaults for PRINT command switches, then  print  a  file
         immediately  by  explicitly supplying an AFTER switch with an
         early hour as argument.

              @SET DEFAULT PRINT /LOWERCASE/AFTER:17:00
              @PRINT /AFTER:0:0 4-UPED.TXT
              [LL:4-UPED=/Seq:401/Limit:250, 1 File]
              @INFORMATION OUTPUT-REQUESTS /USER
              Queue   Job     Seq     Limit   User
              -----   ---     ---     -----   ----
              LL      4-UPED  401     250     LATTA   Being output on PLPT1:
              @




     4.  Put an executable program into memory and set its page access
         to  NO  COPY-ON-WRITE;  try to deposit a value (32) in memory
         location 500 (this fails).   Then  set  its  page  access  to
         COPY-ON-WRITE  and try once more, succeeding this time.  Give
         the INFORMATION MEMORY-USAGE command again.  Notice that  you
         now  have  your  own  copy  of  the page in memory;  it is no
         longer mapped from the  file  TESTF1.EXE  in  your  connected
         directory.

              @GET TESTF1
              @INFORMATION MEMORY-USAGE

               1. pages, Entry vector loc 145 len 254000

              0        TESTF1.EXE.3  1   R, CW, E

              @SET PAGE-ACCESS 0 NO COPY-ON-WRITE
              @DEPOSIT 500 32
              ?Can't write that page
              @SET PAGE-ACCESS 0 COPY-ON-WRITE
              @DEPOSIT 500 32
               [Shared]
              @INFORMATION MEMORY-USAGE

               1. pages, Entry vector loc 145 len 254000

              0        Private   R, W, E

              @


SKIP



Function


     The SKIP command moves a magnetic tape forward over  a  specified
     number of files or records, or to the logical end of the tape.


Format


     @SKIP (DEVICE) dev: n units
      ----          ---- - -----

   where

     dev:      is the name of the magnetic tape drive that you want to
               move forward

     n         is the number of files or records over which  you  want
               to  skip, or an arbitrary number if you choose LEOT for
               "units" (see below)

     units     is either FILES or RECORDS, where records are  sections
               of  a file;  or LEOT, to skip to the logical end of the
               tape, which is the next point on the  tape  having  two
               adjacent EOF (end-of-file) marks.
                    Default units - FILES
                    -------


Restrictions


     SKIP With Open Files

          If you have given a CTRL/C to exit from a program  that  has
          opened  a  magnetic  tape  drive  and you then give the SKIP
          command for that tape drive, the system will  first  ask  if
          you  want  to close the associated file.  You must do so for
          SKIP to succeed, but you will probably be unable to continue
          the  program  from  that  point because the file will now be
          closed.


Effect on Memory and Terminal


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


Related Commands


     UNLOAD     for rewinding a  magnetic  tape  completely  onto  the
                source reel




Examples


     1.  Skip over the next 2 files on the magnetic tape you are using
         (mounted on magnetic tape drive MTA0:  in this case).

              @SKIP MTA0:  2 FILES
              @

     2.  Skip over the next two records on the tape.

              @SKIP MTA0:  2 RECORDS
              @

     3.  Use the TMOUNT command to ask the operator to mount  a  tape,
         then  copy  3  files  to  the  tape  from  your  directory on
         structure SNARK:.  Use the REWIND command to go back  to  the
         beginning,  and the SKIP command to skip over the first file.
         Use the COPY command to have the next file (FIL-2) printed on
         your  terminal,  then  give the SKIP command again to skip to
         the logical end-of-tape (9 is just an arbitrary number here).
         You are skipping only one file, FIL-3, in this case.

              @TMOUNT DAY:
              [Operator notified]
              [MTA0: assigned]
              @REWIND DAY:
              @SMOUNT SNARK:
              Structure SNARK: mounted
              @ACCESS SNARK:
              @COPY SNARK:FIL-1.TAP DAY:
               SNARK:FIL-1.TAP.1 => MTA0:FIL-1 [OK]
              @COPY SNARK:FIL-2.TAP DAY:
               SNARK:FIL-2.TAP.1 => MTA0:FIL-2 [OK]
              @COPY SNARK:FIL-3.TAP DAY:
               SNARK:FIL-3.TAP.1 =>MTA0:FIL-3 [OK]
              @REWIND DAY:
              @SKIP DAY: 1
              @COPY DAY: TTY:
               MTA0: => TTY:

              !THIS IS THE SECOND FILE.!
              @SKIP DAY: 9 LEOT
              @


SMOUNT



Function


     The SMOUNT command asks the system  to  make  a  particular  file
     structure available for your job's use.


Format


     @SMOUNT (FILE STRUCTURE) dev:,
      ------                  -----
     @@subcommand
       ----------

   where

     dev:             is the name (or alias) of the structure you want
                      mounted

              ,
     @@subcommand     means that after a comma you  can  give  one  or
                      both of the optional subcommands shown below

                           CANCEL                tells the  system  to
                                                 disregard your SMOUNT
                                                 command  unless   the
                                                 structure  is already
                                                 on     line     (i.e,
                                                 spinning  on  a  disk
                                                 drive)

                           STRUCTURE-ID name     for    mounting     a
                                                 structure       whose
                                                 structure
                                                 identification     is
                                                 name;  used when  you
                                                 supply some alias for
                                                 argument dev:  above.
                                                 For  privileged users
                                                 only.


Characteristics


     If Structure is Already Mounted

          The SMOUNT command tells the system that you want to use the
          specified  structure.   If  the  structure  has already been
          mounted, the system tells you so, then simply increases by 1
          the  mount  count (the number of users who have given SMOUNT
          but not  SDISMOUNT  for  the  structure)  and  returns  your
          terminal  to  TOPS-20  command  level.   The  SMOUNT command
          ensures that the structure will be available for as long  as
          you   need   it,  because  a  structure  is  not  ordinarily
          dismounted until its mount count is 0.




     If the Structure Has Not Been Mounted

          If the specified structure is not in use (i.e., is off line)
          your  process  waits.   The  operator  is  reminded  of your
          request at 5-minute intervals until  he  either  mounts  the
          structure  or  sends  you an explanatory message.  To cancel
          the SMOUNT  command,  type  CTRL/Cs  to  return  to  TOPS-20
          command level.


Hints


     Using the STRUCTURE-ID Subcommand

          The STRUCTURE-ID subcommand (available only  to  users  with
          enabled  Wheel  or  Operator capabilities) gives the name of
          the structure as recorded in the disk(s), where it  is  used
          by   the  system  for  identification.   Be  sure  that  the
          structure identification is also written on the  outside  of
          each  disk pack.  Unless you give the subcommand, the system
          mounts a structure  with  its  structure  identification  as
          alias.   (The  alias is the name you use when specifying the
          structure  in  file  specifications   and   commands;    the
          INFORMATION  STRUCTURE  and  INFORMATION  AVAILABLE  DEVICES
          commands  list  structures  by  alias   only.)    Use   this
          subcommand   for   mounting   a  structure  whose  structure
          identification is the same  as  the  alias  of  a  currently
          mounted  structure.   In  such  cases  give  SMOUNT with any
          unique  alias  as  argument,  then  specify  the   structure
          identification   with   the   STRUCTURE-ID  subcommand.   In
          subsequent file specifications and commands referring to the
          structure, use the alias only.


Special Cases


     Operator Not in Attendance

          If the operator is not  in  attendance  (you  can  find  out
          whether  he  is  by  giving  the  INFORMATION  SYSTEM-STATUS
          command), your SMOUNT request remains valid for 10  minutes.
          Then  the  system prints a message and returns your terminal
          to TOPS-20 command level.


Effect on Memory and Terminal


     The SMOUNT command does not affect memory and (once  your  SMOUNT
     request  is  granted  or refused) leaves your terminal at TOPS-20
     command level.




Related Commands


     INFORMATION AVAILABLE DEVICES     for finding out just the  names
                                       of  available structures (these
                                       are listed after  DSK  and  PS,
                                       and  before  the  magnetic tape
                                       drives)

     INFORMATION STRUCTURE             for finding out  the  names  of
                                       mounted  structures  and who is
                                       using them

     SDISMOUNT                         for informing the  system  that
                                       you no longer need a structure

     SREMOVE                           for  asking   the   system   to
                                       physically remove a structure


Examples


     1.  Give the SMOUNT command for a currently mounted structure.

              @SMOUNT SNARK:
              Structure SNARK: mounted
              @

     2.  Give the SMOUNT command for a  currently  mounted  structure,
         then access and connect to your directory there.  Copy a file
         from your directory on structure MISC:  to your directory  on
         structure  SNARK:.   Connect  to  your logged-in directory on
         PS:.  (The INFORMATION JOB command  displays  your  connected
         directory except when it is this one.)

              @INFORMATION JOB
               Job 39, User LATTA, MISC:<LATTA>, Account 341, TTY224
              @SMOUNT SNARK:
              Structure SNARK: mounted
              @ACCESS SNARK:
              @CONNECT SNARK:
              @INFORMATION JOB
               Job 39, User LATTA, SNARK:<LATTA>, Account 341, TTY224
              @COPY MISC:4-UPED.TXT
               MISC:4-UPED.TXT.14 => 4-UPED.TXT.1 [OK]
              @CONNECT
              @INFORMATION JOB
               Job 39, User LATTA, Account 341, TTY224
              @SDISMOUNT SNARK:
              Structure SNARK: dismounted
              @




     3.  Give the SMOUNT command for a structure that is  not  yet  on
         line.   When  the  operator  informs  you  that  it  has been
         mounted, give  a  DIRECTORY  command  to  begin  listing  all
         directories and files on the structure.

              @SMOUNT ARPA:
              Waiting for structure ARPA: to be put on line...
              Structure ARPA: mounted
              @DIRECTORY ARPA:<*>

                 ARPA:<NEW-SUBSYS>
               ACCT20.EXE.1
                 .HLP.1
               ACCTPR.EXE.1
                 .HLP.^C
              @

     4.  Try to find out who is using structure FLOAT:.  When you  see
         that  it is not on line, give the SMOUNT command to mount it.
         When the operator denies your request, give  the  INFORMATION
         AVAILABLE  DEVICES  command  to see what other structures are
         available.  Give the SMOUNT command for  one  of  these,  and
         determine whether you have a directory on it of the same name
         as your connected directory (you do  not).   Find  out  whose
         structure  it  is,  then give the SDISMOUNT command for it so
         you do not delay his eventual SREMOVE command.

              @INFORMATION STRUCTURE FLOAT:
              ?"*" or mounted structure name required
              ?No such device
              @SMOUNT FLOAT:
              Waiting for structure FLOAT: to be put on line...
              ?SMOUNT request denied -- The reason given:
               SORRY, THERE ARE NO AVAILABLE DRIVES AT THIS TIME.  OPR

              @INFORMATION AVAILABLE DEVICES
              Devices available to this job:
               DSK, PS, LANG, MISC, SNARK, DX20, MTA0, MTA2-3
               MT0-7, LPT, LPT0, LPT1, CDR, PCDR0, CDP, FE1-15, PTY17
               PTY22-61, NUL, PLT, PLT0, DCN, SRV
              Devices assigned to/opened by this job: TTY224
              @SMOUNT DX20:
              Structure DX20: mounted
              @ACCESS DX20:
              ?No such directory
              @INFORMATION STRUCTURE DX20:
              Status of structure DX20:
              Mount count: 2, open file count: 0, units in structure: 1
              Foreign
              Users who have SMOUNTed DX20: FORTMILLER, LATTA
              No users are ACCESSing DX20:
              Users CONNECTed to DX20: FORTMILLER
              @SDISMOUNT DX20:
              Structure DX20: dismounted
              @




     5.  Create a LOGIN.CMD file in your log-in directory to mount and
         access  a  file structure named LANG:  every time you log in.
         Because there is another structure  of  name  LANG:   on  the
         system,  specify  an alias in the SMOUNT command and give the
         STRUCTURE-ID subcommand to identify the structure.

              @CONNECT
              @CREATE PS:LOGIN.CMD
              Input: LOGIN.CMD.1
              00050   ENABLE
              00100   SMOUNT DBLX:,
              00200   STRUCTURE-ID LANG:
              00300
              00350   DISABLE
              00400   ACCESS DBLX:
              00500
              *P^:*
              00050   ENABLE
              00100   SMOUNT DBLX:,
              00200   STRUCTURE-ID LANG:
              00300
              00350   DISABLE
              00400   ACCESS DBLX:
              *E

              [PS:LOGIN.CMD.1]
              @


SREMOVE



Function


     The SREMOVE command asks the system to  dismount  and  physically
     remove a file structure, and waits for its removal.


Format


     @SREMOVE (FILE STRUCTURE) dev:,
      -------                  -----
     @@subcommand
       ----------

   where

     dev:             is the name (or alias) of the structure you want
                      to remove

              ,
     @@subcommand     means that after a comma you  can  give  one  or
                      both of the optional subcommands shown below

                           CANCEL                if you are  unwilling
                                                 to   wait   for   the
                                                 structure to be taken
                                                 off line 

                           STRUCTURE-ID name     for    removing     a
                                                 structure       whose
                                                 structure
                                                 identification     is
                                                 name;  used when  you
                                                 supply some alias for
                                                 argument dev:, above.
                                                 For  privileged users
                                                 only.


Characteristics


     If the Structure Has Been Dismounted by All Users

          The SREMOVE command tells the  operator  that  you  want  to
          physically remove the specified structure.  If the structure
          has already been dismounted by all users, your process waits
          until  the  operator actually removes it (or at least brings
          it off line by turning off its disk drive).  The system then
          prints  a  message telling you so, and returns your terminal
          to TOPS-20 command level.

     If Some Users Have Not Dismounted the Structure

          If the specified structure is still in use by  others,  your
          process  waits.  The operator is reminded of your request at
          5-minute intervals until he either removes the structure  or
          sends  you  an  explanatory  message.  To cancel the SREMOVE
          command, type CTRL/Cs to return to TOPS-20 command level.




Hints


     Using the CANCEL Subcommand

          The CANCEL subcommand tells the  system  to  disregard  your
          SREMOVE  command  if  the  structure is not already off line
          (i.e., no longer spinning on its disk drive).  Thus,  it  is
          especially  useful  when  you  put an SREMOVE command into a
          command file, where it prevents your job  from  waiting  for
          the  operator  to  physically  remove  or bring off line the
          structure and instead causes the next command in the command
          file to be executed.

     Using the STRUCTURE-ID Subcommand

          The STRUCTURE-ID subcommand, available only  to  users  with
          enabled  Wheel  or  Operator capabilities, gives the name of
          the structure as recorded internally in the  disk(s),  where
          it  is used by the system for identification.  The structure
          identification should also be written  in  a  label  on  the
          outside  of  each  disk  pack.   This subcommand is used for
          removing a structure that had been  mounted  with  an  alias
          different   from   its   structure   identification.    (See
          Hints - Using the STRUCTURE-ID  Subcommand,  in  the  SMOUNT
          command   description.)  Give  SREMOVE  with  the  alias  as
          argument, then specify the structure identification with the
          STRUCTURE-ID subcommand.


Special Cases


     Operator Not in Attendance

          If the operator is not  in  attendance  (you  can  find  out
          whether  he  is  by  giving  the  INFORMATION  SYSTEM-STATUS
          command) your SREMOVE request remains valid for 10  minutes.
          Then  the  system prints a message and returns your terminal
          to TOPS-20 command level.


Effect on Memory and Terminal


     The SREMOVE command does not affect memory and (once your SREMOVE
     request  is  granted  or refused) leaves your terminal at TOPS-20
     command level.



Related Commands


     INFORMATION STRUCTURE     for finding out the  names  of  mounted
                               structures and who is using them

     SDISMOUNT                 for informing the system  that  you  no
                               longer need a structure

     SMOUNT                    for  asking  the  system  to  mount   a
                               structure


Example


     1.  Give the SREMOVE command for a structure, and wait until  its
         removal is confirmed.

              @SREMOVE FLOAT:
              Waiting for structure FLOAT: to be removed...
              Structure FLOAT: removed
              @

     2.  Give  the  SREMOVE  command  with  the   CANCEL   subcommand,
         receiving  then  the message that indicates it is still being
         used.

              @SREMOVE FLOAT:,
              @@CANCEL
              @@
              %Structure still on-line
              @

     3.  Find out  what  structures  are  currently  mounted  (SNARK:,
         LANG:,  MISC:,  and  REL3:),  then  ask the operator to mount
         another one using the SMOUNT command.  Access your  directory
         on  this structure.  (Note that you need not give the name of
         this directory because it is the same as  the  name  of  your
         connected  directory;   notice  also that you are asked for a
         password although this directory's name is the same  as  that
         of  your  log-in  directory on PS:, because the structure has
         been mounted as a foreign structure.)  Then end  your  access
         to  the  directory  and  dismount  the  structure.   Give the
         SREMOVE command to take the structure  off  line,  but  after
         some  delay  give  a  CTRL/C  to abort the command.  Give the
         INFORMATION STRUCTURE command to find out if someone else  is
         using  the  structure  (user LEACHE is), then ask him via the
         TALK command to dismount.   Repeat  the  SREMOVE  command  to
         remove the structure.




              @INFORMATION AVAILABLE DEVICES
              Devices available to this job:
               DSK, PS, SNARK, LANG, MISC, REL3, MTA0, MTA3, MT0, MT2-7
               LPT, LPT0, LPT1, CDR, PCDR0, CDP, FE1-15, PTY24-61, NUL
               PLT, PLT0, DCN, SRV
              Devices assigned to/opened by this job: TTY231
              @SMOUNT FLOAT:
              Waiting for structure FLOAT: to be put on line...
              Structure FLOAT: mounted
              @INFORMATION STRUCTURE FLOAT:
              Status of structure FLOAT:
              Mount count: 1, open file count: 0, units in structure: 1
              Foreign
              Users who have SMOUNTed FLOAT: LATTA
              No users are ACCESSing FLOAT:
              No users CONNECTed to FLOAT:
              @ACCESS FLOAT:
              Password:
              @END-ACCESS FLOAT:
              @SDISMOUNT FLOAT:
              Structure FLOAT: dismounted
              @SREMOVE FLOAT:
              Waiting for structure FLOAT: to be removed...
              ^C
              @INFORMATION STRUCTURE FLOAT:
              Status of structure FLOAT:
              Mount count: 1, open file count: 0, units in structure: 1
              Foreign
              Users who have SMOUNTed FLOAT: LEACHE
              Users ACCESSing FLOAT: LEACHE
              No users CONNECTed to FLOAT:
              @TALK LEACHE

              LINK FROM LATTA, TTY 232
              @;GENE -- CAN YOU DISMOUNT STRUCTURE FLOAT:?  I NEED
              @;TO REMOVE IT...
              @;sure.  just give me a minute to close my files...
              @;THANKS
              @end-access float:
              @sdismount float:
              Structure FLOAT: dismounted
              @BREAK
              @SREMOVE FLOAT:
              Waiting for structure FLOAT: to be removed...
              Structure FLOAT: removed
              @


START



Function


     The START command begins execution of the  program  currently  in
     memory.


Format


     @START (PROGRAM) n
      -----           -

   where

     n     is the octal address at which you want to start the program
                Default n - the normal  starting  address,  i.e.,  the
                -------
                            first  word  in the program's entry vector
                            (usually location 120)


Hints


     Further Information

          For more information about entry vectors,  see  the  TOPS-20
          Monitor Calls Reference Manual.


Special Cases


     Running COBOL Programs a Second Time

          After running a program (with a RUN on EXECUTE  command,  or
          with  a GET and START or LOAD and START combination) you can
          usually run it again using START.   COBOL  programs  are  an
          exception:  to run them again you must reload them.


Effect on Memory and Terminal


     The START command starts the program in memory at  the  specified
     address,  and  leaves  your terminal at command level (if any) in
     the program.


Related Commands


     GET      for placing executable programs in memory

     LOAD     for loading source or object programs into memory

     SAVE     for saving a loaded program in an .EXE file




Examples


     1.  Start the program currently in memory.

              @START

     2.  Put an executable program in memory and start it.   Then  run
         it again.

              @GET TESTF1.EXE
              @START

              THIS IS A TEST.

              END OF EXECUTION
              CPU TIME: 0.04  ELAPSED TIME: 0.23
              EXIT
              @START

              THIS IS A TEST.

              END OF EXECUTION
              CPU TIME: 0.02  ELAPSED TIME: 0.02
              EXIT
              @

     3.  Begin using the FILCOM program to compare two files.  Give  a
         CTRL/C  to  halt  FILCOM,  then  a  CTRL/T  to  determine the
         location where it was stopped.  Give the DDT command, and  do
         some  work  within the DDT program;  leave DDT with a CTRL/Z,
         returning to TOPS-20 command level.  Give the  START  command
         to start FILCOM again, using as argument the address reported
         by CTRL/T above.

              @FILCOM

              *TTY:=DUMPER.MAC, BACKUP.MAC
              ^C
              @ FILCOM ^C from Running at 400543  Used 0:00:03.1
              in 0:01:33

              @DDT
              DDT
              3/   PAT..+361,,3066
              4/   56
              ^Z
              @START 400543

              No differences encountered

              *^C
              @


SUBMIT



Function


     The SUBMIT command places requests in the batch input queue (list
     of jobs waiting to be processed by the batch system).


Format


     @SUBMIT (BATCH JOB) /switch(es) filespec/switch(es),...
      ------             ----------- -----------------------

   where

     switches     are keywords, chosen from the list below, indicating
                  your   choice  of  SUBMIT  command  options.   These
                  switches have different effects according  to  their
                  position  in  the  command  line:  placed before all
                  files in the command, they  apply  as  defaults  for
                  all;    otherwise  they  act  only  on  the  nearest
                  preceding file.
                       Defaults are shown in the list of switches
                       --------

     filespec     is the specification of a batch  control  file  (see
                  the TOPS-20 User's Guide), containing batch commands
                  and the commands with which you would have done  the
                  job as a timesharing user instead of as a batch user
                       Default file type - .CTL
                       -------

     ,...         means that after a comma you can give more arguments
                  (filespec and switches) of the form already shown


      Summary of SUBMIT Command Switches (defaults in boldface)


     /AFTER:date and/or time
     /BEGIN:n                      Default n - 0
      -----                        -------
     /CARDS:n
     /CONNECTED-DIRECTORY:dev:<directory>
     /DEPENDENCY-COUNT:n           Default n - 0
      ----------------             -------
     /FEET:n
     /JOBNAME:6-character name     Default name - first six characters
      -------                      -------
                                                  of control filename

     /LOGNAME:filespec             Default filespec - control
      -------                      -------
                                                      filename,   file
                                                      type .LOG

             ALWAYS
             ------
     /OUTPUT:ERRORS
      ------

             NOLOG

     /PAGE:n                       Default n - 200
                                   -------
     /PRIORITY:n                   Default n - 10
      --------                     -------

                  NO
                  --
     /RESTARTABLE:YES
      -----------




     /SEQUENCE:n
     /TAG:6-character label

     /TIME:hh:mm:ss                Default time limit  (if  switch  is
      ----                         -------
                                           omitted) - 00:05:00
                                   Default hh:mm:ss  (if   switch   is
                                   -------
                                           given   without   colon  or
                                           argument) - 1:00:00

     /TPLOT:n

             0
     /UNIQUE:1
      ------ -

     /USER:user name


                       SUBMIT Command Switches


     /AFTER:date and/or time     ensures that the batch job  will  not
                                 be   started  until  after  the  date
                                 and/or  time  specified.   NOV-12-78,
                                 and 18:00 illustrate two arguments to
                                 this switch.  If you give  both  date
                                 and time, separate them with a space.
                                 The time can be preceded with a  plus
                                 sign (+), which will delay processing
                                 by the indicated length of time  from
                                 the present.

     /BEGIN:n                    starts processing the control file at
                                 line  n of the file.  Use this switch
                                 for  a  control  file  that  can  fit
                                 different  applications  depending on
                                 where processing begins.   (See  also
                                 the /TAG switch.)
                                      Default n - 0
                                      -------

     /CARDS:n                    limits to n  the  maximum  number  of
                                 cards to be punched by the job

     /CONNECTED-DIRECTORY:dev:<directory>
                                 specifies the connected directory for
                                 the  batch job.  For privileged users
                                 only.

     /DEPENDENCY-COUNT:n         sets the job's dependency count to n.
                                 Because  a  batch  job  does  not get
                                 processed until its dependency  count
                                 is   0,   you  can  delay  a  job  by
                                 assigning it  a  positive  dependency
                                 count   and  then  using  the  MODIFY
                                 command to bring the count  to  0  at
                                 the proper time.
                                      Default n - 0
                                      -------

     /FEET:n                     limits to n  the  maximum  number  of
                                 feet  of  paper tape to be punched by
                                 the job




     /JOBNAME:name               assigns  a  name  (of  six  or  fewer
                                 characters) to the batch job
                                      Default name - first         six
                                      -------
                                                     characters     of
                                                     control filename

     /LOGNAME:filespec           specifies where to place the log file
                                 of the batch job
                                      Default dev:<directory> - your
                                      -------
                                              connected  directory  at
                                              the  time  of the SUBMIT
                                              command
                                      Default filename - control
                                      -------
                                                         filename
                                      Default type - .LOG
                                      -------

             ALWAYS
     /OUTPUT:ERRORS              says whether you want the log file to
             NOLOG               be printed always,  or  only  in  the
                                 case  of  errors occurring within the
                                 job,  or  never.   No  matter   which
                                 option  you  choose,  the log file is
                                 always written.
                                      Default - ALWAYS
                                      -------

     /PAGE:n                     limits to n  the  maximum  number  of
                                 pages  of  line  printer output to be
                                 printed by the job
                                      Default n - 200
                                      -------

     /PRIORITY:n                 assigns a decimal  number  n  to  the
                                 job,  reflecting  the  urgency of the
                                 batch request.  This n must be from 0
                                 to  63, with larger numbers receiving
                                 earlier treatment.
                                      Default n - 10
                                      -------

                  NO
     /RESTARTABLE:YES            decides whether  the  job  should  be
                                 started  again  if the system crashes
                                 and is restarted
                                      Default - NO
                                      -------
                                      Default argument (if  switch  is
                                      -------
                                              given) - YES

     /SEQUENCE:n                 specifies that n, instead of a number
                                 supplied  by the system, is to be the
                                 sequence number of the job

     /TAG:label                  starts processing the control file at
                                 the   line  beginning  with  label::,

                                 where label is an  alphanumeric  name
                                 of six or fewer characters.  Use this
                                 switch for a control  file  that  can
                                 fit  different applications depending
                                 on where processing begins.




     /TIME:hh:mm:ss              limits the maximum amount of CPU time
                                 available   to  the  job;   given  in
                                 hours, minutes, and seconds.
                                      Default time limit (if switch is
                                      -------
                                              omitted) - five minutes
                                      Default hh:mm:ss (if  switch  is
                                      -------
                                              given  without  colon or
                                              argument) - 1:00:00 (one
                                              hour)

     /TPLOT:n                    limits to n  the  maximum  number  of
                                 seconds  of  plotter time allowed for
                                 the job

             0
     /UNIQUE:1                   declares, if you have  submitted  two
                                 or  more batch jobs, whether they are
                                 allowed to run  concurrently  (0)  or
                                 not (1)
                                      Default - 1
                                      -------

     /USER:user name             specifies  the  user   name   to   be
                                 associated  with  the  batch request.
                                 For privileged users only.


Output


     Jobname, Sequence Number, and Time Limit

          As soon as you complete a valid SUBMIT command,  the  system
          responds   by  printing,  on  your  terminal,  the  jobname,
          sequence number, and time limit for the job.   Each  control
          file  you  submit  is  a  separate  batch  request,  and  is
          described on a separate line.


Characteristics


     Ordinary Operation - No Switches

          For most purposes you can use the SUBMIT command with just a
          filespec, or a series of filespecs, for arguments.

     Switch Defaults Set by System Manager

          The defaults shown in the list of switches are  correct  for
          most  user  sites.   However, your system manager can change
          some of these default settings.  The changes go into  effect
          during  system  installation.   The  switches  most commonly
          affected are:  /PAGE, /PRIORITY, and /TIME.




Hints


     Using SET DEFAULT SUBMIT

          If there are switches that you always or usually supply when
          using  SUBMIT,  give  the  SET  DEFAULT  SUBMIT  command  to
          establish  them  as  defaults  for  the  remainder  of  your
          terminal  session.   The switches will then behave as if you
          had typed them directly after  the  word  SUBMIT.   You  can
          supersede   any   of  these  default  switches  by  actually
          supplying the switch, with another value, when you give  the
          SUBMIT  command.   Put  SET  DEFAULT  SUBMIT  into a file of
          specification  PS:COMAND.CMD  if  you  want  these   default
          switches  to  be  in  effect for future terminal sessions as
          well.

     More Information

          For more information about batch jobs, see the TOPS-20 Batch
          Reference Manual.


Restrictions


     Access Rights for Batch Jobs

          For Specifying Control Files and Log Files

               You cannot use the ACCESS command to obtain  the  right
               to submit control files from another directory, because
               your batch jobs are logged in with rights only to  your
               connected  directory  and  to  directories to which you
               have access as a group member.  The  control  file,  if
               not  in  your  connected  directory,  must be in one to
               which you have read access as a group member;  the  log
               file  specification,  if you give one, must be for your
               connected directory or for one to which you have  write
               access as a group member.

          For Use Within the Batch Job

               Although it is possible  to  give  CONNECT  and  ACCESS
               commands  within  a  batch  job to obtain rights beyond
               those mentioned above, you must then include  passwords
               in the job's control file.  Because this practice could
               endanger system  security,  it  is  generally  best  to
               establish  and  rely  on  appropriate group rights when
               preparing batch jobs for submission.


Effect on Memory and Terminal


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




Related Commands


     CANCEL                         for withdrawing SUBMIT requests

     INFORMATION BATCH-REQUESTS     for examining in the  batch  input
                                    queue

     MODIFY                         for   changing   SUBMIT   requests
                                    before processing has begun

     SET DEFAULT SUBMIT             for establishing default  switches
                                    for subsequent SUBMIT commands


Examples


     1.  Submit a control file to begin a batch job.

              @SUBMIT DIFS.CTL
              [INP:DIFS=/Seq:7886/Time:0:05:00]
              @

     2.  Submit two control files (specifying only the  filenames)  in
         the  same  command.   Then use the INFORMATION BATCH-REQUESTS
         command (with the USER switch) to examine your entries in the
         batch input queue.

              @SUBMIT SUMS, DIFS
              [INP:SUMS=/Seq:7889/Time:0:05:00]
              [INP:DIFS=/Seq:7890/Time:0:05:00]
              @INFORMATION BATCH-REQUESTS /USER
              Job     Seq     User
              ---     ---     ----
              SUMS    7889    C.BURKE   Now running
              DIFS    7890    C.BURKE
              @

     3.  Connect to another user's directory, then submit two  of  his
         control  files.   Prevent  the printing of a log file for one
         job, and allow the second job's to be printed only if  errors
         occur  within  the job;  make both jobs restartable.  Request
         an inclusive listing of your entries in  the  batch  queue  -
         notice  that the jobs are logged in under your own user name,
         although the log files  will  be  stored  in  user  Holland's
         directory.

         Connect back to your directory and submit  one  of  your  own
         control files, specifying a particular jobname, then check on
         it.




              @CONNECT <HOLLAND>
              Password:
              @SUBMIT /RESTARTABLE:YES FLDTST.CTL/OUTPUT:NOLOG, LOATST
              .CTL/OUTPUT:ERRORS
              [INP:FLDTST=/Seq:7904/Time:0:05:00]
              [INP:LOATST=/Seq:7905/Time:0:05:00]
              @INFORMATION BATCH-REQUESTS /ALL/USER
              Job     Seq     User
              ---     ---     ----
              FLDTST    7904    C.BURKE    Now running /OUTPUT:NOLOG /
              RESTARTABLE:YES /UNIQUE:1
              LOATST    7905    C.BURKE    /OUTPUT:ERRORS /RESTARTABLE
              :YES /UNIQUE:1
              @CONNECT MISC:<C.BURKE>
              @SUBMIT SUMS/JOBNAME:1-SUMS
              [INP:1-SUMS=/Seq:7908/Time:0:05:00]
              INFORMATION BATCH-REQUESTS /USER
              Job       Seq     User
              ---       ---     ----
              1-SUMS    7908    C. BURKE   Now running
              @

     4.  Give a SET DEFAULT command to ensure  that  your  batch  jobs
         will  be  run  after 5:00 P.M.  unless you specify otherwise.
         Submit a batch job and check that this default is in  effect.
         Then  use a MODIFY command to delay the starting time of this
         job till 11:00 P.M.  Finally,  give  the  CANCEL  command  to
         withdraw the batch request entirely.

              @SET DEFAULT SUBMIT /AFTER:17:00
              @SUBMIT SUMS
              [INP:SUMS=/Seq:7910/Time:0:05:00]
              INFORMATION BATCH-REQUEST /USER
              Job       Seq     User
              ---       ---     ----
              SUMS      7910    C.BURKE    /AFTER:30-May-78 17:00:00
              @MODIFY BATCH SUMS /AFTER:23:00
              [1 Job Modified]
              INFORMATION BATCH-REQUEST /USER
              Job       Seq     User
              ---       ---     ----
              SUMS      7910    C.BURKE    /AFTER:30-May-78 23:00:00
              @CANCEL BATCH SUMS
              [1 Job Killed]
              @


SYSTAT



Function


     The SYSTAT command prints information about the current state  of
     the system.


Format


     @SYSTAT,
      -------
     @@subcommand
       ----------
     @@ .
        -
        .
        -
        .
        -

   where

            ,       means  that, after  a comma, you  can give one  or
     @@             more subcommands on successive lines
     @@ .
        .
        .

     subcommand     is  a  keyword,  chosen  from  the   list   below,
                    indicating your choice of SYSTAT command options
                         Defaults are shown in the list of subcommands
                         --------


     Summary of SYSTAT Command Subcommands (defaults in boldface)


     ALL
     CONTROLLING
     DIRECTORY
     HEADER
     ------
     JOB job number n
     LIMIT
     LINE octal line number, or DETACHED
     LPT
     NO subcommand name, or OPERATOR
     OUTPUT file specification
     STATE
     SYSTEM
     TIME 
     USER user name
     WHAT
     ----
     WHERE
     -----
     WHO
     ---

                      SYSTAT Command Subcommands


     ALL                  gives all available SYSTAT information

     CONTROLLING          prints, in the column headed CJB, the number
                          of the controlling job (if any), i.e., a job
                          owning a PTY (pseudo-terminal) that controls
                          the  job  being  described;  when used  in a




                          SYSTAT command  requesting  descriptions  of
                          particular jobs, this subcommand causes jobs
                          controlled by these  jobs  to  be  described
                          also.

     DIRECTORY            requests the name of the directory to  which
                          each  job  is  connected,  if  not the job's
                          log-in directory

     HEADER               calls for a headline identifying the columns
                          of information printed
                               Default (unless  you   are   requesting
                               -------
                                       information    about   specific
                                       users, jobs, or lines only;  in
                                       such  cases  the  default is NO
                                       HEADER.)

     JOB n                restricts  output  to  description  of   job
                          number n;  can be used more than once.

     LIMIT                prints any time limit set for each job 

     LINE octal line number or DETACHED
                          restricts output to description of  the  job
                          attached  to  the  given  line number, or to
                          descriptions of all detached jobs;   can  be
                          used more than once.

     LPT                  sends output to the line printer instead  of
                          your terminal

          CONTROLLING
          DIRECTORY
          HEADER
          LIMIT           eliminates   the   indicated   category   of
          OPERATOR        information,  when  used  with  one  of  the
     NO   STATE           keywords shown
          SYSTEM
          TIME
          WHAT
          WHERE
          WHO

     OUTPUT filespec      sends the output information to the file you
                          specify, instead of to your terminal
                               Default filespec - SYSTAT.LST
                               -------

     STATE                prints the current state of each job,  i.e.,
                          RUN  (running),  or TI (waiting for terminal
                          input)

     SYSTEM               begins output with system-wide  information,
                          i.e., the first two lines of reqular output.
                          If SYSTEM  is  the  only  subcommand  given,
                          SYSTAT output is restricted to this.
                               Default (unless  you  give  subcommands
                               -------
                                       requesting   information  about

                                       specific users, jobs, or  lines
                                       only;    in   such   cases  the
                                       default is NO SYSTEM.)




     TIME                 prints the accumulated  runtime  (CPU  time)
                          for each job

     USER user name       restricts output  to  descriptions  of  jobs
                          logged in under the given user name;  can be
                          used more than once.

     WHAT                 prints the name of the program that each job
                          is  running;   given  explicitly  only  with
                          subcommand NO, to restrict SYSTAT output.
                               Default
                               -------

     WHERE                prints the line number associated with  each
                          job;   given explicitly only with subcommand
                          NO, to restrict SYSTAT output.
                               Default
                               -------

     WHO                  prints the user name under which each job is
                          logged   in;   given  explicitly  only  with
                          subcommand NO, to restrict SYSTAT output.
                               Default
                               -------


Output


     Inclusive Sample of Output

          The SYSTAT command  prints  on  your  terminal  up  to  nine
          columns  of  information  about  all the jobs on the system.
          Below is a  sample  of  the  output  you  would  receive  in
          response to the most inclusive SYSTAT command:

          @SYSTAT ALL
          Mon 13-Nov-78   16:56:39   Up 5:03:53
          27+10 Jobs   Load av   3.64   2.12   1.55

          Job  CJB  Line  Program  State  Time   Limit   User, <Dir>
           1    1   151   WATCH    RUN  0:00:19           DIPACE
           2         72   EXEC      TI  0:05:17           KIRK
           3    9   154   BLIS10   RUN  0:00:09  0:05:00  BLOUNT
           .    .     .       .     .       .       .       .    .
           .    .     .       .     .       .       .       .    .
           .    .     .       .     .       .       .       .    .

          First  you  see  the  current  date  and  time  (in  24-hour
          notation:   the  sample  above was obtained 39 seconds after
          4:56 P.M.), and the length of  time  since  the  system  was
          started (here, just over 5 hours).




          The second line displays the  number  of  user  jobs  (i.e.,
          non-operator  jobs)  (27)  and  operator jobs (10) currently
          running.  The next three numbers are the "load averages" for
          the  system:   these  are weighted averages of the number of
          runnable processes (forks)  on  the  system  over  the  last
          minute,  5  minutes,  and  15 minutes, respectively.  If you
          were about to submit a job requiring 5 minutes of CPU  time,
          and  the  load  average  remained  stable  over  the  next 5
          minutes, i.e., became 3.12 (2.12 + your job  =  3.12),  then
          your  job  would  get  only  about  1/3.12  of  the system's
          attention, and would not be finished until over  15  minutes
          had passed.

          After this comes the line of headings labeling  each  column
          of  data  that follows.  All possible columns of information
          appear in the sample above, describing all jobs (rows).  The
          unmodified  command SYSTAT gives only columns 1, 3, 4, and 8
          for each job;  by  using  appropriate  subcommands  you  can
          select  the  categories of information presented, as well as
          the specific jobs examined.  User jobs, both timesharing and
          batch,  are listed first (in ascending order by job number),
          and then, after a blank line, operator jobs.  The number  of
          the  job  attached  to  your  own  terminal  appears with an
          asterisk (*) next to it in the job column.

     Sending Output Elsewhere

          By giving  the  OUTPUT  subcommand  you  can  direct  SYSTAT
          information  to  a  file  instead  of to your terminal.  The
          subcommand LPT sends the information  to  the  line  printer
          instead of to your terminal.


Characteristics


     Log-in Not Necessary

          You do not have to be logged in to give the SYSTAT command.


Hints


     Reducing Response Time and Charges for SYSTAT

          You can use subcommands to restrict the  jobs  surveyed  and
          the  information  requested;   this  will speed the system's
          response.  If you decide to cut off the SYSTAT output before
          it  is done, give a CTRL/C rather than a CTRL/O.  This stops
          not only the output but also the CPU charges  for  producing
          it.




     Giving Subcommands as Arguments on the Command Line

          To simplify  your  typing,  SYSTAT  accepts  subcommands  as
          arguments  given on the same line as the command, subject to
          these rules:

               There will be  no  @@  prompt:   simply  type  a  space
               between  successive  subcommands and between subcommand
               names and arguments.

               To get information  about  one  or  more  specific  job
               numbers, give the numbers only;  do not type JOB.

               To get information about  one  or  more  specific  user
               names,  give the names only;  do not type USER.  But if
               the user name is by coincidence the same  as  a  SYSTAT
               command  argument,  you must use the subcommand mode to
               request information about his job.

               To get information about your own (attached) job  only,
               give a period (.) as argument.

               The system will not accept  the  OUTPUT  subcommand  in
               this format;  use the subcommand mode instead.


Special Cases


     OPERATOR as a User Name

          You can request or refuse information about operator jobs by
          treating  OPERATOR as a user name.  The system accepts these
          commands:

               @SYSTAT OPERATOR

          and

               @SYSTAT
               @@USER OPERATOR

          as well as the special commands

               @SYSTAT NO OPERATOR

          and

               @SYSTAT
               @@NO OPERATOR


Effect on Memory and Terminal


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




Related Commands


     INFORMATION     for  finding  out  other  information  about  the
                     system


Examples


     1.  Find out the status of all jobs on the system.  (Your current
         (attached) job is marked with an asterisk (*).)

              @SYSTAT
               Thu 1-Jun-78 12:28:25  Up 33:36:17
               7+2 Jobs   Load av   1.97   2.12   2.60

               Job  Line    Program    User
                 3    44    EXEC       R.CRISS
                 5    56    MACRO      D.SCHEIFLER
                 8   DET    NVTTMP     Not logged in
                 9   103    TV         FORTMILLER
                11    57    TV         SCOHEN
                14*  207    EXEC       LATTA
                20   114    TV         HARDY
                51    41    NEWRUN     LATTA

                 7   DET    PERF       OPERATOR
                46     3    DUMPER     OPERATOR

              @

     2.  Determine how much CPU time has been charged to the  jobs  of
         two users on the system.

              @SYSTAT,
              @@TIME
              @@USER KONEN
              @@USER ALUSIC
              @@
                27    66    EXEC    0:00:01    ALUSIC
                43    11    EXEC    0:00:02    KONEN
              @

     3.  Repeat Example 2 by giving the subcommands  as  arguments  on
         the same line.

              @SYSTAT TIME KONEN ALUSIC
                27    66    EXEC    0:00:01    ALUSIC
                43    11    EXEC    0:00:02    KONEN
              @

     4.  Find out who is using line 11.

              @SYSTAT LINE 11
                43    11    EXEC    KONEN
              @




     5.  Ask for information about jobs 5 and 45.

              @SYSTAT 5 45
                 5    56    MACRO   D.SCHEIFLER

                45    205   PTYCON  OPERATOR
              @

     6.  Set a time limit of 4 seconds for your attached job, then ask
         for  complete  information,  including headings, for the job.
         (The period (.)  specifies  your  attached  job.)  The  value
         reported  under  the Limit heading is actually the sum of the
         time limit you set (4 seconds) and the  amount  of  CPU  time
         already  used  at  the  time of your SET command (2 seconds).
         This CPU time is reported as 2 seconds under the Time heading
         because you gave the SYSTAT command immediately after SET.

              @SET TIME-LIMIT 4
              @SYSTAT ALL HEADER .
               JOB   CJB  Line   Program  State  Time     Limit
                User, <Directory>
               14*   51   207    EXEC     RUN    0:00:02  0:00:06
              LATTA, MISC:<LATTA>
              @

     7.  Ask for system-wide SYSTAT information only.

              @SYSTAT SYSTEM
               Thu 1-Jun-78 12:35:44  Up 33:43:36
               18+15 Jobs   Load av   5.19   3.36   2.92
              @

     8.  Find out only which programs are in use.

              @SYSTAT NO WHO NO WHERE NO SYSTEM
               Job       Program
                 2       EXEC
                 3       EXEC
                 4       EXEC
                 5       MACRO
                 6       VTECO
                 8       NVTTMP
                 9       EXEC

                13       OPLEAS
                16       LPTSPL
                26       OPR
                28       BATCON
              @

     9.  Ask for a list of jobs controlled by job 51.  (Your  attached
         job, marked with an asterisk (*), happens to be one of these;
         job 51 itself is the other.)

              @SYSTAT 51 CONTROLLING
                14*  51  207  EXEC    LATTA
                51        41  NEWRUN  LATTA
              @


TAKE



Function


     The TAKE command tells the system to process commands  stored  in
     the specified disk file.


Format


     @TAKE (COMMANDS FROM) filespec1 (LOGGING OUTPUT ON) filespec2,
      ----                 ---------                     ----------
     @@subcommand
       ----------

   where

     filespec1      is the specification of the  file  containing  the
                    commands to be processed
                         Default file type - .CMD
                         -------

     filespec2      is the name of the file  or  device  you  want  to
                    receive any output of the commands
                         Default filespec2 - TTY:  (your own terminal)
                         -------

              ,     means  that after a comma you can type one of  the
     @@             subcommands below, indicating your choice of  TAKE
                    command options

     subcommand     can be one of these:

                    ALLOW, or

                    DISALLOW
                         Default - DISALLOW
                         -------

     This tells the current level of TOPS-20, for the remainder of the
     terminal  session  (not  merely  the current command), whether to
     continue processing (ALLOW) the rest of  a  command  file  if  it
     encounters errors, or to ignore (DISALLOW) the remaining commands
     in such a case.


Output


     No Command Echoing

          Only the output of commands executed by the action  of  TAKE
          is  sent  to  your  terminal  or to the specified file;  the
          commands themselves are not echoed as they are executed.   A
          final  message  is sent, however, indicating whether all the
          commands were executed.  See also Hints, below.

     Nested TAKE Commands

          In the case of nested TAKE commands (those given as commands

          within   command  files),  the  destination  for  output  of
          commands given in an inner command file will default to that
          specified or assumed for the output of commands given in the
          nearest surrounding command file.




Characteristics


     Running Programs From a Command File

          If you put commands that run programs into a  command  file,
          and  these  programs ask for arguments, you must be ready to
          type in these arguments  at  your  terminal.   Only  TOPS-20
          commands  and  command  arguments  can be put into a command
          file executed by the TAKE command.


Hints


     Including INFORMATION Commands in Command Files

          Because commands executed by TAKE are  not  echoed  on  your
          terminal   or   in   an  output  file,  you  should  include
          context-reporting commands  (e.g.,  INFORMATION  JOB-STATUS,
          INFORMATION PROGRAM-STATUS, DIRECTORY, SYSTAT . ALL) in your
          command file if you want to monitor TAKE  as  it  reads  the
          command file.

     Suppressing the Final Message

          If you want to suppress the final message (of the form,  End
          of  filespec)  that  indicates  successful  execution  of  a
          command file by TAKE, give a TAKE command with no  arguments
          as the last line of your command file.


Effect on Memory and Terminal


     The TAKE command affects memory and your  terminal  according  to
     the  commands stored in the command file you specify as argument.


Related Commands


     INFORMATION commands     (when  put  into  a  command  file)  for
                              tracing the progress of TAKE

     LOGIN                    for logging  in;   reads  LOGIN.CMD  and
                              COMAND.CMD in your log-in directory.

     PUSH                     for obtaining a new  level  of  TOPS-20;
                              reads    COMAND.CMD   in   your   log-in
                              directory.


Examples


     1.  Process a command file.

              @TAKE BACKUP.CMD
               End of BACKUP.CMD.1





     2.  Create a command file to report system statistics, then  give
         the  TAKE  command  with this filename as argument;  send the
         output to the line printer.  Check for this listing as it  is
         being printed.

              @CREATE STATUS.CMD
              Input: STATUS.CMD.1
              00100   INFORMATION DISK-USAGE
              00200   INFORMATION MONITOR-STATISTICS
              00300   INFORMATION SYSTEM-STATUS
              00400   INFORMATION MEMORY-USAGE
              00500   SYSTAT ALL
              00600
              *EU

              [STATUS.CMD.1]
              @TAKE STATUS LPT:
               End of STATUS.CMD.1
              @INFORMATION OUTPUT-REQUESTS/USER
              Queue   Job     Seq     Limit   User
              -----   ---     ---     -----   ----
              LPT     EXEC    526     54      T.P.LOOMIS    Being output
              on PLPT0:
              @


TALK



Function


     The TALK command links your terminal to another user's terminal.


Format


     @TALK (TO) argument
      ----      --------

   where

     argument     is either a user name or a terminal line number


Characteristics


     Other Job Not Affected

          As  soon  as  you  give  a  successful  TALK  command,  both
          terminals  begin  printing  both users' input as well as the
          system's responses to that input.  Each job,  however,  will
          receive input from its own terminal only.

     Ending TALK

          To end a conversation link between  terminals,  either  user
          can give the BREAK command.

     Refused TALK

          Ordinarily you cannot  contact  a  user  with  TALK  if  his
          terminal  is  set to refuse links.  In such a case your TALK
          command  causes  a  series  of  CTRL/G   signals   at   both
          terminals - usually  ringing  bells  or  high-pitched beeps.
          However, if you have Wheel or Operator capabilities enabled,
          you can talk to any user.

     Maximum of Four Terminals

          By using TALK commands you can join up  to  4  terminals  at
          once for sharing displays or printout.


Hints


     Signaling a Linked User

          Once you have established links with another user's terminal
          via  the TALK command, you can get his attention by typing a
          series of CTRL/Gs.  Depending on the  kind  of  terminal  he
          has,   these   will   be  reproduced  as  ringing  bells  or
          high-pitched beeps.




Special Cases


     User Has More Than One Job

          If more than one job is logged in under the  user  name  you
          specify,  the  system  responds  with  a list of that user's
          terminal line numbers and the programs being run.  Type your
          choice of terminal line number (if possible, one running the
          TOPS-20 command processor (EXEC)) after the TTY:  prompt.

     Talking to a Batch Job or PTYCON Job

          When you link to a PTY  (pseudo-terminal)  to  talk  to  the
          owner  of  a batch job or PTYCON job, the system informs you
          of this with a message, to  which  you  must  reply  with  a
          carriage return.  See also Warning, below.


Warning


     Talking to a Batch Job

          Use   caution   when    communicating    through    a    PTY
          (pseudo-terminal)  that  is controlling a batch job:  do not
          send a question mark (?) or percent sign (%), because  these
          characters  can be attributed to errors occurring within the
          job.  Also, if an error actually does occur in the batch job
          and  the  batch system's question mark is displaced (by your
          remarks) from the beginning of a line, the  system  may  not
          recognize it as an error.


Effect on Memory and Terminal


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


Related Commands


     ADVISE            for sending commands to another user's job

     BREAK             for ending communications links involving  your
                       terminal

     RECEIVE LINKS     for allowing other users to talk to you

     REFUSE LINKS      for preventing other users from talking to you

     REMARK            for telling the system to regard your  terminal
                       input as comment only




Examples


     1.  Give the TALK command to establish links to another user.

              @TALK H.DAVIES

              LINK FROM LATTA, TTY 230
              @

     2.  Try to talk to a user who has given the REFUSE LINKS command,
         then use the MAIL program to send your message.

              @TALK GEBHARDT
              ?Refused, use "MAIL" to send mail to user
              @MAIL
              To: GEBHARDT
              CC: LATTA
              Subject: LUNCH
                .
                .
                .
              @

     3.  Talk to another user, giving the REMARK  command  immediately
         after  TALK.   (The other user's reply must still be preceded
         by semicolons (;) or exclamation marks (!).)  Give  a  CTRL/Z
         to  end  REMARK  before  typing  the BREAK command to end the
         conversation.

              @TALK CARNAVON

              LINK FROM LATTA, TTY 230
              @REMARK
              Type remark. End with CTRL/Z.
              WHERE DO I PUT "REQMD" RECORDS AFTER EXTRACTING THE
              ID'S?
              @;in <accts>deft-77.cbl
              @;you should have group access there...
              THANKS
              ^Z
              @BREAK
              @

     4.  Give the TALK command to establish links to a user who has  3
         jobs  on  three  different  terminals;   choose  one  of  the
         terminals running the TOPS-20 command processor.

              @TALK MCKAY
               TTY19, DUMPER
               TTY26, EXEC
               TTY27, EXEC
              TTY: 27

              LINK FROM LATTA, TTY 230
              @


TDIRECTORY



Function

     The TDIRECTORY (Time-ordered DIRECTORY) command is equivalent  to
     the  DIRECTORY  command  with  the subcommands CHRONOLOGICAL (BY)
     WRITE, REVERSE (SORTING), and TIMES (AND DATES  OF)  WRITE.   Use
     the   same   format  and  subcommands  with  TDIRECTORY  as  with
     DIRECTORY.  For further information, see  the  DIRECTORY  command
     description in this manual.


Examples


     1.  Give a TDIRECTORY command, truncating output  with  a  CTRL/C
         after the first few (most recent) files are displayed.

              @TDIRECTORY
               ----------

                              Write


                 MISC:<LATTA>
               TBATCH.CMD.1   10-May-78 13:11:57
               B.DIRECTORY.1   9-May-78 12:54:00
               A.DIRECTORY.1   2-May-78 13:14:52
               T.CMD.1    ^C
               @

     2.  Access another user's directory, and request  a  time-ordered
         directory listing of all his files of a certain name.

              @ACCESS <DEVRIES>
              Password:
              @TDIRECTORY <DEVRIES>SYSTEM.*
                              Write


                MISC:<DEVRIES>
              SYSTEM.MEM.1    19-May-78 09:03:48
                 .TXT.1       19-May-78 09:02:08
                 .RNO.1       19-May-78 09:02:00

               Total of 3 files
              @END-ACCESS <DEVRIES>
              @


TERMINAL



Function


     The TERMINAL command lets  you  specify  many  of  the  operating
     characteristics of your terminal.


Format


     @TERMINAL (MODE IS) argument
      --------           --------

   where

     argument     is  a  keyword,  chosen   from   the   list   below,
                  representing   your   choice   of  TERMINAL  command
                  options;  some arguments further require  a  decimal
                  number to complete their meaning.


     Summary of TERMINAL Command Arguments (defaults in boldface)


     33
     35
     37
     EXECUPORT
     FLAG
     FORMFEED
     FULLDUPLEX
     ----------
     HALFDUPLEX
     HELP
     IMMEDIATE
     INDICATE
     --------
     LA30
     LA36
     LENGTH n     Default n - 66
                  -------
     LINE-HALFDUPLEX
     LOWERCASE
     ---------

          FLAG
          ----
          FORMFEED
          --------
          IMMEDIATE
          ---------
          INDICATE
     NO   LOWERCASE
     --
          PAGE
          ----
          RAISE
          TABS
          ----




     PAGE n
     RAISE
     -----

                      50
                      75
                     110
                     134
                     150
                     200
     SPEED           300
     -----           ---
                     600
                    1200
                    2400
                    4800
                    9600

     SYSTEM-DEFAULT
     --------------
     TABS
     TERMINET
     TI
     TYPE  0-15
     VT05
     VT50
     VT52
     WIDTH  n     Default n - 72
     -----        -------


                      TERMINAL Command Arguments


     33                  informs the system that your  terminal  is  a
                         Teletype Model 33, which

                              does  not  have  a   formfeed   or   tab
                              mechanism

                              prints lowercase letters as uppercase

                              needs  extra  time  to  print  tabs  and
                              paper-moving     characters    (carriage
                              return, linefeed, formfeed, and vertical
                              tab)

                              has a line width of 72

                              has a page length of 66

     35                  informs the system that your  terminal  is  a
                         Teletype   Model   35,  which  has  the  same
                         characteristics as a Model 33, except that it
                         has a formfeed and tab mechanism

     37                  informs the system that your  terminal  is  a
                         Teletype   Model   37,  which  has  the  same
                         characteristics as a Model 33, except that it
                         prints lowercase letters




     EXECUPORT           informs the system that your terminal  is  an
                         EXECUPORT, which

                              does  not  have  a   formfeed   or   tab
                              mechanism

                              prints lowercase letters

                              needs extra time to perform  a  carriage
                              return

                              has a line width of 80

                              has a page length of 66

     FLAG                instructs  the  system  to  print  a   single
                         quotation   mark  (')  before  it  prints  an
                         uppercase character.  This takes effect  only
                         if you also set the NO LOWERCASE parameter.

     FORMFEED            informs the system that your terminal  has  a
                         formfeed  mechanism;   otherwise  the  system
                         simulates formfeeds by printing  the  correct
                         number  (set  by the TERMINAL LENGTH command)
                         of linefeeds if  you  have  set  TERMINAL  NO
                         INDICATE,  or  by  printing an ^L if you have
                         set TERMINAL INDICATE.

     FULLDUPLEX          instructs the system to send to your terminal
                         each character as the program reads it;  your
                         terminal does not print what you  type  until
                         the  system  sends  the character back to the
                         terminal.
                              Default
                              -------

     HALFDUPLEX          inhibits the  system  from  sending  to  your
                         terminal  each character as the program reads
                         it, and assumes that your terminal will print
                         each  character  itself;   causes  echoing of
                         format  control  characters  (e.g.,  TAB  and
                         linefeed).    Be   sure   also   to  set  any
                         corresponding switch  physically  located  on
                         your terminal.

     HELP                prints information about the TERMINAL command

     IMMEDIATE           instructs the system to echo  each  character
                         as  soon  as  you type it, instead of waiting
                         until the  program  receives  the  character.
                         IMMEDIATE  echoing  has  effect only when the
                         FULLDUPLEX parameter is also set.

     INDICATE            instructs the system to print an  ^L  instead
                         of  advancing  the  proper  number  of  lines
                         whenever encountering a  formfeed  or  CTRL/L
                         (ASCII character 14)
                              Default
                              -------




     LA30                informs the system that your  terminal  is  a
                         Digital Equipment Corporation LA30, which

                              does  not  have  a   formfeed   or   tab
                              mechanism

                              prints lowercase letters as uppercase

                              needs extra time to perform  a  carriage
                              return, linefeed, tab and formfeed

                              has a line width of 80

                              has a page length of 66

     LA36                informs the system that your  terminal  is  a
                         Digital Equipment Corporation LA36, which

                              does  not  have  a   formfeed   or   tab
                              mechanism

                              prints lowercase letters

                              has a line width of 132

                              has a page length of 66

     LENGTH n            sets the number  of  lines  printed  on  each
                         page.  (If you have TERMINAL PAGE mode set as
                         well, the system stops after printing n lines
                         and continues only when you type CTRL/Q.)  If
                         you set the page  length  to  0,  the  system
                         stops  printing  only when you type a CTRL/S;
                         it does not automatically stop at the end  of
                         a page.
                              Default  n - 66
                              -------

     LINE-HALFDUPLEX     inhibits the  system  from  sending  to  your
                         terminal  each character as the program reads
                         it, and assumes that your terminal will print
                         each   character   itself;   does  not  cause
                         echoing of format control  characters  (e.g.,
                         TAB and linefeed).

     LOWERCASE           tells the system that your  terminal  handles
                         lowercase   output  characters  properly,  by
                         printing either the  lowercase  character  or
                         the  corresponding uppercase character.  When
                         NO LOWERCASE  is  set,  the  system  converts
                         lowercase    output    characters    to   the
                         appropriate   uppercase   characters   before
                         sending  them.   See  also the FLAG and RAISE
                         parameters.
                              Default
                              -------

     NO argument         reverses any of the arguments FLAG, FORMFEED,
                         IMMEDIATE,  INDICATE, LOWERCASE, PAGE, RAISE,
                         and TABS

                              Default - NO  FLAG,  NO   FORMFEED,   NO
                              -------
                                        IMMEDIATE, NO PAGE, NO TABS




     PAGE n              instructs the system to stop printing when it
                         reaches the end of a page, or when you type a
                         CTRL/S.  Continue  the  output  by  typing  a
                         CTRL/Q.   To  set  the  page length, give the
                         number n or give a TERMINAL  LENGTH  command.
                         If  you  set the page length to 0, the system
                         stops printing only when you type a CTRL/S.
                              Default n - argument  of  any   TERMINAL
                              -------
                                          LENGTH  command given in the
                                          current terminal session, or
                                          the  default page length for
                                          your terminal type

     RAISE               instructs  the  system   to   interpret   all
                         lowercase terminal input as the corresponding
                         uppercase characters
                              Default
                              -------

     SPEED n1 n2         sets the  baud  rate  at  which  the  TOPS-20
                         monitor   receives   characters   from   your
                         terminal (n1) and sends  characters  to  your
                         terminal  (n2).   Be  sure  also  to  set any
                         corresponding switch  physically  located  on
                         your terminal.
                              Default n1 - 300
                              -------
                                      n2 - n1

     SYSTEM-DEFAULT      informs the system  that  your  terminal  has
                         these characteristics (ensuring an acceptable
                         minimum level of performance for all terminal
                         types):

                              does  not  have  a   formfeed   or   tab
                              mechanism

                              prints lowercase letters

                              needs extra time to perform  a  carriage
                              return, linefeed, tab, and formfeed

                              has a line width of 72

                              has a page length of 66
                                   Default for terminal type
                                   -------

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

     TERMINET            informs the system that your  terminal  is  a
                         TERMINET, which

                              does  not  have  a   formfeed   or   tab
                              mechanism

                              prints lowercase letters




                              needs extra time to perform  a  carriage
                              return, linefeed, tab and formfeed

                              has a line width of 72

                              has a page length of 66

     TI                  informs the system that your  terminal  is  a
                         Texas  Instruments  terminal,  which  has the
                         same characteristics as an EXECUPORT

     TYPE n              instructs the system to treat  your  terminal
                         as  terminal  type  n, in accordance with the
                         table below.


                         Terminal
                           Type    Characteristics

                            0      same as Model 33
                            1      same as Model 35
                            2      same as Model 37
                            3      same as EXECUPORT and TI
                            4-7    reserved for customer use
                            8      same as TERMINET
                            9      has a TAB and  FORMFEED  mechanism,
                                   prints lowercase, has infinite line
                                   width and infinite page length
                           10      same as VT05
                           11      same as VT50
                           12      same as LA30
                           13      same as VT52, except for not having
                                   tabs,  and  having a page length of
                                   30;  used for a  Digital  Equipment
                                   Corporation GT40.
                           14      same as LA36
                           15      same as VT52
                                        Default - 8
                                        -------

     VT05                informs the system that your  terminal  is  a
                         Digital Equipment Corporation VT05, which

                              does not have a formfeed mechanism

                              has a tab mechanism

                              prints lowercase letters as uppercase

                              needs extra time to perform  a  linefeed
                              or formfeed

                              has a line width of 72

                              has a page length of 20




     VT50                informs the system that your  terminal  is  a
                         Digital Equipment Corporation VT50, which

                              does not have a formfeed mechanism

                              prints lowercase letters as uppercase

                              has a line width of 80

                              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 letters,
                         and has a page length of 24 lines instead  of
                         12.

     WIDTH n             tells the system the width of  your  terminal
                         line.   When  the system prints a line longer
                         than your terminal width, it prints the first
                         n  positions and advances a line to print the
                         rest.
                              Default WIDTH - 72
                              -------


Characteristics


     TERMINAL Commands Before Log-in

          You can use TERMINAL commands, after an initial  CTRL/C  but
          before    logging    in,    to    adjust   your   terminal's
          characteristics.


Hints


     Setting Your Terminal's Speed

          If the initial speed setting of your terminal  line  is  not
          what you want but your terminal will function at that speed,
          you can give a TERMINAL SPEED command even before log-in  to
          set the proper value.  If your terminal will not work at the
          initial speed, ask the operator to set an appropriate value.

     Using Split Speeds

          If you have a terminal that allows split speeds you can  set
          the  input and output speeds to different values.  This will
          allow you to take advantage of  fast  system  response,  for
          example,  without providing a needlessly fast input line.  A
          setting of 150 2400 will accomplish this.




Special Cases


     Terminal Types and Defaults Peculiar to Your System

          The preceding  pages  describe  terminal  types  and  system
          defaults  as  they  are  shipped  with TOPS-20.  However, by
          making changes  to  the  monitor  and  the  TOPS-20  command
          processor,  your  installation  can  add  different terminal
          types and change the default characteristics associated with
          terminals.   Check with your system manager to find out what
          changes, if any, are in effect for your system.

     Terminal Speed Retained From Last Session

          Although most terminal  characteristics  revert  to  default
          settings  when you log in, the terminal line will retain the
          value for speed set by the last user of the line, even if he
          was  using  a  different  kind of terminal.  However, if the
          system failed and was restarted after the terminal line  was
          last  used,  the  initial  speed  will  be determined by the
          appropriate   TERMINAL   SPEED   command   in   the   system
          configuration file.  Also, dial-up lines return to the speed
          specified in this file after every use.


Warning


     Setting Terminal Speed Too High

          If you set too high a speed for your terminal, you  will  be
          unable  to  use it further.  A TERMINAL SPEED command in the
          LOGIN.CMD file in your log-in directory can cause  the  same
          problem.   In  such  a  case,  obtain  your  line  number if
          possible  (the  second  column  of  SYSTAT  command   output
          consists  of  line  numbers)  and ask the operator to set an
          appropriate value.


Effect on Memory and Terminal


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


Related Commands


     INFORMATION TERMINAL-MODE     for examining your current terminal
                                   settings




Examples


     1.  Declare that your terminal is an LA36.

              @TERMINAL LA36
              @

     2.  Do the same thing, using the corresponding numerical type.

              @TERMINAL TYPE 14
              @

     3.  Prepare your LA36 terminal to type some upper- and  lowercase
         text files on narrow paper.

              @TERMINAL LA36
              @TERMINAL NO RAISE
              @terminal width 72
              @

     4.  Find out your terminal's characteristics, then give  the  two
         commands  that  cause  it to print a full page of blank lines
         when you type a CTRL/L (or when it encounters an ^L in a file
         it is printing on your terminal).

              @INFORMATION TERMINAL-MODE
               TERMINAL LA36
               TERMINAL SPEED 300
               RECEIVE LINKS
               REFUSE ADVICE
               RECEIVE SYSTEM-MESSAGES
               TERMINAL NO PAGE
               TERMINAL LENGTH 66
               TERMINAL WIDTH 132
               TERMINAL LOWERCASE
               TERMINAL RAISE
               TERMINAL NO FLAG
               TERMINAL INDICATE
               TERMINAL NO FORMFEED
               TERMINAL NO TABS
               TERMINAL NO IMMEDIATE
               TERMINAL FULLDUPLEX
              @TERMINAL PAGE
              @TERMINAL NO INDICATE
              @


TMOUNT



Function


     The TMOUNT command assigns a magnetic tape  drive  to  your  job,
     asks  the  operator  to mount a tape on it, and defines a logical
     name for the drive.


Format


     @TMOUNT (TAPE) logical name (VOLID) name,
      ------        ------- ----         -----
     @@subcommand
       ----------

   where

     logical name     is the logical name (of up  to  39  alphanumeric
                      characters  including  hyphens,  followed  by  a
                      colon) you want to define for the drive

     name             is the "volume identifier," a name of  up  to  6
                      alphanumeric  characters  telling  the  operator
                      which tape you want mounted on the drive
                           Default - not specifying a name  tells  the
                           -------
                                     operator  to mount a scratch tape
                                     (blank tape)

           ,
     @@subcommand     means that after a final comma you can give  one
                      of the following subcommands

                      READ-ONLY, which tells  the  operator  to  mount
                      your   tape  with  the  write  ring  (a  plastic
                      attachment to the spool of tape) removed so that
                      you cannot inadvertently destroy information

                      WRITE-ENABLED, which tells the operator to mount
                      your  tape  with the write ring inserted so that
                      you can write information on the tape


Characteristics


     Action of TMOUNT

          The TMOUNT command asks the operator to mount your  magnetic
          tape  on  a tape drive.  Your process waits until he answers
          your request in some way.  If you have  already  reserved  a
          drive  for  your  job  (the  INFORMATION  AVAILABLE  DEVICES
          command tells you if you have), he will  mount  it  on  this
          drive;   otherwise he will assign the first available drive.
          If the operator is present  (the  INFORMATION  SYSTEM-STATUS
          command  tells you whether he is) and can mount the tape, he
          will be reminded every 5 minutes of your  request  and  will
          mount  it  as  soon as possible.  If he is not present, your
          request remains valid for 10 minutes.




     Canceling TMOUNT

          Type two CTRL/Cs if you  are  unwilling  to  wait  for  your
          TMOUNT request to be answered.


Hints


     TMOUNT Instead of ASSIGN in Batch Jobs

          In batch jobs  use  the  TMOUNT  command  whenever  possible
          instead of ASSIGN.  This facilitates processing by using the
          first available drive.


Warning


     Subcommands Are Advisory Only

          The READ-ONLY or WRITE-ENABLED subcommand only  advises  the
          operator of your wishes and does not guarantee, for example,
          that he will not mistakenly  install  the  write  ring  even
          though  you  give the READ-ONLY subcommand.  For this reason
          you  should  use   extreme   caution   when   working   with
          non-replaceable tapes.


Effect on Memory and Terminal


     The TMOUNT command does not affect memory and (once the  operator
     has acted on your TMOUNT request) leaves your terminal at TOPS-20
     command level.


Related Commands


     ASSIGN                            for assigning a particular tape
                                       drive to your job

     INFORMATION AVAILABLE DEVICES     for  finding  out  which   tape
                                       drives  are  available  or  are
                                       already assigned to your job

     INFORMATION SYSTEM-STATUS         for  finding  out  whether  the
                                       operator is in attendance

     BACKSPACE

     EOF




     REWIND                            commands    for    manipulating
                                       magnetic tapes

     SKIP

     UNLOAD


Examples


     1.  Ask the operator to mount a tape for  you  on  any  available
         drive.

              @TMOUNT DAY:
              [Operator notified]
              [MTA0:  assigned]
              @

     2.  Assign a magnetic tape drive and then  ask  the  operator  to
         mount a tape on it.

              @ASSIGN MTA2:
              @TMOUNT DAY:
              [Operator notified]
              [MTA2:  assigned]
              @

     3.  Ask the operator to mount a particular tape on any  available
         drive;  have him remove the write ring before doing so.

              @TMOUNT DAY:  V2S-D,
              @@READ-ONLY
              @@
              [Operator notified]
              [MTA0:  assigned]
              @


TRANSLATE



Function


     The  TRANSLATE  command  prints  the  project-programmer   number
     corresponding   to  a  directory  name,  or  the  directory  name
     corresponding to a project-programmer number.


Format


     @TRANSLATE (DIRECTORY) dev:<directory>
      ---------             ---------------

                       or

     @TRANSLATE (DIRECTORY) dev:[project-programmer number]
      ---------             ----------------------- -------

   where

      dev:<directory>                    is the name of the directory,
                                         enclosed  in  angle brackets,
                                         that you want translated
                                              Default dev: - your
                                              -------
                                                             connected
                                                             structure

     dev:[project-programmer number]     is   the   project-programmer
                                         number,  enclosed  in  square
                                         brackets,   that   you   want
                                         translated
                                              Default dev: - your
                                              -------
                                                             connected
                                                             structure


Hints


     Using Project-programmer Numbers

          Use project-programmer numbers instead  of  directory  names
          when  giving file specifications to programs written for the
          TOPS-10  operating  system.   These  include  the  assembler
          MACRO;   the  FORTRAN,  COBOL,  and  ALGOL  compilers;   the
          linking loader LINK;  and utility programs  CREF  (providing
          cross-reference   information)  and  FILCOM  (for  comparing
          files).  If you are unsure whether a system program requires
          project-programmer numbers, load it into memory (using the R
          command), give a CTRL/C to return to TOPS-20 command  level,
          and  then  examine  memory with the INFORMATION MEMORY-USAGE
          command.  If the file PA1050.EXE (the TOPS-10  compatibility
          package)   is  present  in  memory,  then  the  program  was
          originally  written  for   TOPS-10   and   may   require   a
          project-programmer  number where you would ordinarily give a
          directory name.




     Avoiding Project-programmer Numbers

          To avoid project-programmer numbers, define a  logical  name
          (of  6  or  fewer  characters) as the directory in question.
          Then use this logical name in place of  the  directory  when
          giving  file specifications.  The system program will accept
          the logical name as a device name, and will  then  be  using
          the correct directory.


Effect on Memory and Terminal


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


Related Commands


     DEFINE     for defining a logical name as a directory,  to  avoid
                using a project-programmer number


Examples


     1.  Find out the project-programmer number associated  with  your
         connected directory.

              @TRANSLATE <LATTA>
              PS:<LATTA> (IS) PS:[4,261]
              @

     2.  Verify that the project-programmer number reported in Example
         1 does correspond to your directory on PS:.

              @TRANSLATE PS:[4,261]
              PS:[4,261] (IS) PS:<LATTA>
              @


TYPE



Function


     The TYPE command prints the contents of one or more files on your
     terminal.


Format


     @TYPE (FILE) filespec,...
      ----        ------------

   where

     filespec     is the specification of the file you want  to  print
                  on your terminal

     ,...         means that, after commas, you  can  give  more  file
                  specifications


Output


     Entire Contents of Files

          In response to the TYPE command the system prints the entire
          contents  of  a file, including blank lines and line numbers
          if there are any.  If you specify  more  than  one  file,  a
          blank line precedes the output for all files after the first
          one.  If you have used wildcard characters to specify files,
          the  file  specification  also  precedes the output for each
          file.


Hints


     Stopping TYPE Output

          To stop the TYPE command, type two CTRL/Cs.  A  CTRL/O  will
          also  stop  the  output, but will not stop the processing of
          the command or the accumulation of CPU changes.


Effect on Memory and Terminal


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


Related Commands


     PRINT     for printing files on the line printer




Examples


     1.  Have the system print a file on your terminal.

              @TYPE TEST.TXT
              ! This is file TEST.TXT !
              @


UNATTACH



Function


     The UNATTACH command, given at one terminal,  disengages  another
     job from its terminal.


Format


     @UNATTACH (USER) name (JOB #) number
      --------        ----         ------
     PASSWORD:  password
                --------

   where

     name         is the user name of the job's owner

     number       is the job number
                       Default number - the  only  job,  or  only  job
                       -------
                                        besides      your      current
                                        (attached)  job,   logged   in
                                        under the user name you give

     password     is the associated password (not requested if you are
                  currently  logged in under the same user name as the
                  job that you are disengaging)


Characteristics


     Log-in Not Necessary

          You do not have  to  be  logged  in  to  give  the  UNATTACH
          command.

Hints


     Freeing Hung Terminals

          The UNATTACH command is useful for freeing a terminal  that,
          because  of  program  or hardware errors, is no longer under
          control of the user.  The command UNATTACH  n  can  be  more
          useful than LOGOUT n for this purpose.


Effect on Memory and Terminal


     The UNATTACH command does not affect memory and leaves  your  own
     terminal  at TOPS-20 command level.  The other job is left in its
     current state (usually suspended) and the disengaged terminal  is
     left in the state before log-in.




Related Commands


     ADVISE     for sending commands to another job

     ATTACH     for joining another job to your terminal

     DETACH     for disengaging your own job from its terminal


Examples


     1.  Disengage another user's job from its terminal.

              @UNATTACH KANE
              Password:
              @

     2.  From a terminal on which you have not yet logged in, give the
         UNATTACH  command  to  disengage your only logged-in job from
         its terminal.

               SYSTEM 2102 DEVELOPMENT SYSTEM, TOPS-20 Monitor 3A(1512)
              @UNATTACH LATTA
              Password:
              @

     3.  Give a SYSTAT command to find out what jobs you have running.
         Give the UNATTACH command for two of them (you must specify a
         job number for the first one so the system  will  know  which
         one you mean), and check them with another SYSTAT command.

              @SYSTAT LATTA
                28    26  EXEC     LATTA
                36*  230  EXEC     LATTA
                40    27  EXEC     LATTA
              @UNATTACH LATTA 28
               [Attached to TTY26, confirm]
              @UNATTACH LATTA
              @SYSTAT LATTA
                28   DET  EXEC     LATTA
                36*  230  EXEC     LATTA
                40   DET  EXEC     LATTA
              @


UNDELETE



Function


     The UNDELETE  command  restores  previously-deleted  files  to  a
     directory.


Format


     @UNDELETE filespec,...
      -------- ------------

   where

     filespec     is the specification of the file you want to restore
                       Default .gen - all generations of the specified
                       -------
                                      files

     ,...         means that, after commas, you  can  give  more  file
                  specifications


Restrictions


     Erasure of Deleted Files

          Ordinarily  an  UNDELETE  command  given  during  the   same
          terminal  session  as  an original deletion will recover the
          deleted files, unless you included the EXPUNGE subcommand to
          DELETE  or  gave  a subsequent EXPUNGE command.  However, if
          any user or a batch job logs out  while  connected  to  your
          directory,  all deleted files are permanently erased.  Also,
          if available disk space is low on the system,  the  operator
          or  the  system  itself  may  expunge  all deleted files.  A
          system warning message is usually sent before this happens.


Effect on Memory and Terminal


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


Related Commands


     DELETE                       for deleting files

     DIRECTORY-class commands     for obtaining lists of deleted files
                                  (with DELETED subcommand)

     EXPUNGE                      for  permanently   erasing   deleted
                                  files




Examples


     1.  Undelete a file.

              @UNDELETE TEST.FIL
               TEST.FIL.1 [OK]
               TEST.FIL.2 [OK]
              @

     2.  Access another user's directory, then restore all his deleted
         files of type .FIL.

              @ACCESS <CARSON>
              Password:
              @UNDELETE <CARSON>*.FIL
               <CARSON>MEMO.FIL.1 [OK]
               <CARSON>SEARCH.FIL.1 [OK]
               <CARSON>TEST.FIL.1 [OK]
               <CARSON>VERFY.FIL.1 [OK]
              @END-ACCESS <CARSON>
              @


UNLOAD



Function


     The UNLOAD command rewinds a magnetic tape until it is completely
     on the source reel, and puts the associated tape drive off line.


Format


     @UNLOAD (DEVICE) dev:
      ------          ----

   where

     dev:     is the name of the magnetic tape drive that you want  to
              unload


Restrictions


     UNLOAD With Open Files

          If you have given a CTRL/C to exit from a program  that  has
          opened  a  magnetic  tape drive and you then gave the UNLOAD
          command for that tape drive, the system will  first  ask  if
          you  want  to close the associated file.  You must do so for
          UNLOAD to succeed,  but  you  will  probably  be  unable  to
          continue  the  program from that point because the file will
          now be closed.


Warning


     Cannot Access Tape Again

          The UNLOAD command makes it impossible to access  your  tape
          again unless it is reloaded by the operator.


Effect on Memory and Terminal


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


Related Command


     REWIND     for rewinding  a  magnetic  tape  to  its  load  point
                (logical beginning)




Examples


     1.  Unload your magnetic tape from drive MTA0:.

              @UNLOAD MTA0:
              @


VDIRECTORY


Function


     The VDIRECTORY (Verbose DIRECTORY) command is equivalent  to  the
     DIRECTORY  command  with  the  subcommands  LENGTH,  NO  HEADING,
     PROTECTION, SIZE, and TIMES (AND DATES OF) WRITE.  Use  the  same
     format  and  subcommands  with VDIRECTORY as with DIRECTORY.  For
     further information see the DIRECTORY command description in this
     manual.


Examples


     1.  Give the VDIRECTORY command, then cut off the output  with  a
         CTRL/C.

              @VDIRECTORY
               ----------

                 MISC:<LATTA>
               4-UPED.TXT.14;P777700     0 0(7)         25-Apr-78 09:58:21
               A.DIRECTORY.1;P20200      1 0(0)          2-May-78 13:14:52
               ARTIFI.CTL.7;P777700      1 215(7)       24-Apr-78 10:10:10
               B.DIRECTORY.1;P20200      1 0(0)          9-May-78 12:54:00
               C.EXE.1;P777700           3 1536(36)     13-Apr-77 04:27:59
               CONFAB.CTL.1;P777700      1 115(7)        3-May-77 13:34:37
               DIVIDE.FOR.4;P777700      1 260(7)        8-Mar-78 15:47:41
               DUMPER.MAC.1;P777700     53 134442(7)     8-Nov-77 10:47:04
               MAGNIF.CTL.2;P777700      1^C
              @

     2.  Ask for a VDIRECTORY listing of  certain  files;   include  a
         line of headings.

              @VDIRECTORY TEST*.FOR,
              @@HEADING
              @@

                                       PGS Bytes(SZ)    Write


                 MISC:<LATTA>
               TESTF1.FOR.8;P777700      1 115(7)       25-Apr-78 09:44:50
               TESTF2.FOR.1;P777700      1 115(7)       20-Apr-78 10:01:56
               TESTF3.FOR.1;P777700      1 115(7)       20-Apr-78 10:02:19

               Total of 3 pages in 3 files
              @