Google
 

Trailing-Edge - PDP-10 Archives - BB-F493Z-DD_1986 - 10,7/dmp4.doc
There are 7 other files named dmp4.doc in the archive. Click here to see a list.


DUMP.DOC -- Changes from V2 to V4
March 1979






























COPYRIGHT (C) 1972,1978,1979 BY
DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.


THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND  COPIED
ONLY  IN  ACCORDANCE  WITH  THE  TERMS  OF  SUCH  LICENSE AND WITH THE
INCLUSION OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR  ANY  OTHER
COPIES  THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY
OTHER PERSON.  NO TITLE TO AND OWNERSHIP OF  THE  SOFTWARE  IS  HEREBY
TRANSFERRED.

THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT  NOTICE
AND  SHOULD  NOT  BE  CONSTRUED  AS  A COMMITMENT BY DIGITAL EQUIPMENT
CORPORATION.

DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR  RELIABILITY  OF  ITS
SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL.
DUMP.DOC                                                        Page 2


1.0  SUMMARY

This release adds a large number of new commands and fixes  the  large
number  of  bugs  in previous versions of DUMP.  some of the major new
features are:  symbolic mode for dumping a program with symbols.   The
output  formatting  logic  has  been  improved and now works.  Also, a
users guide has been written (DMPREF.RNO) and included in the Software
Notebooks.

DUMP Version 4 runs on all monitor.  It  has  been  tested  on  5.03b,
5.04a,  5.05  and 5.06.  DUMP Version 4 depends on c Version 4, SCNMAC
Version 3, SCAN Version 3 and HELPER Version 2.  DUMP  should  operate
with  all  versions  of  DAEMON, however, testing was done with DAEMON
Version 6.  there  are  a  number  of  features  in  the  DUMP  design
specification which have not yet been implemented.

DUMP Version 4 is documented in the Software Notebooks.   DUMP.RNO  is
the  formal specification for DUMP and DMPREF.RNO is a basic reference
Manual for DUMP.  a copy of DMPREF.RNO is included as an  appendix  to
this file.

DUMP is a program to dump an arbitrary file  in  a  printable  format.
DUMP  is flexible enough to allow the user to specify the exact format
for the dump or DUMP can automaticly format the dump for the user.
DUMP.DOC                                                        Page 3


2.0  CHANGES

                Edits 2 thru 157 in no special order:


A    AC'S were changed as follows:
F    was moved from 7 to 12
V    was eliminated
N    was moved from 14 to 7
M    was moved from 15 to 11
C    was moved from 16 to 10
FM   was added as 13
DL   was added as 14
B    ASCII and sixbit output modes were redefined as follows:
ASCII is a single right justified character if bits 0 to  28  are  all
zero.  it is 5 left justified characters if bits 0 to 28 are non-zero.
control characters print as blanks.  sixbit is a single right adjusted
character  if  bits 0 to 29 are zero.  if bits 0 to 29 are not zero it
is treated as 6 sixbit characters.

     C the TDUMP command has been implemented to  DUMP  to  both  TTY:
and output file.

     D definition of double quote has been corrected.  it was  defined
as 41 should be 42.

     E MACRO definitions were moved from DUMP.MAC to SCNMAC.MAC.

     F the following single letters were made to match commands:
D    is unique for DUMP
I    input
M    mode
O    output
T    TDUMP

     G tables and calls were modified to use SCAN not scanner.

     H a table of absent defaults was built for pre-setting switches.

     I the following built in symbols have been created:
.    the address of the last word typed out.
$    the last byte typed out
%    the last value the expression evaluator
     returned.

     J DUMP now looks for CCL files in  TMPCOR  prior  to  looking  on
disk.

     K SCAN is used instead of scanner

     L the /type switch applies to each input  file  specified  (input
file and symbol file)
DUMP.DOC                                                        Page 4


     M numbers were changed to symbolic definitions.  some symbols are
defined in C.MAC.

     N the TITLE command was made to work

     O poor and non-working code used for storing lists was corrected.

     P the input character AC (C) has the following possible states:
-2   end of file
-1   end of line (lf-vt-ff)
0    escape
1-177 ASCII character
200  DUMP buffer on output

     Q a case where dump would loop forever has been corrected.   this
was caused by the index overflowing.

     R width, justify, and mode lists were implemented.

     S special patterns in strings now work correctly.

     T quoted strings now work correctly.  the  following  fixes  were
involved:
1) End of line gets you out of quoted string mode.  however, a closing
quote is required on all well formed strings.
2) ; Has no effect in a quoted string
3) Multiple spaces and tabs are preserved

     U " has been added as an operator meaning take the left half word
and  move it to the right half extending the sign bit.  this is useful
for printing out blocks pointed to by IOWD'S.

     V CPOPJ has been changed to .POPJ and CPOPJ1 has been changed  to
.POPJ1.  both routines have been moved to scan.

     W the numeric input routine has been fixed to  work  for  numbers
which fill all 36 bits.  prior to this fix 777777777777(8) was changed
to 377777777777(8) during octal input

     X the input routines were converted to read a symbol file.

     Y full sub-file directory support has been added.

     Z JOBDAT symbols have been changed from JOBXXX to .JBXXX

     AA the file reading routines read the first block  of  the  file.
prior  to  this  fix  if  the first word of the file was requested the
read-in routines would think the block was in core and return zero.

     BB the output formatter has been rewritten to fix  several  bugs.
in addition the following external changes have been made:
1    "word not in file" prints instead of
     "\\\\".
2    negative addresses list as such.
3    after attempting to print nxm a referance
DUMP.DOC                                                        Page 5


     to an existant location must be made to
     resume printout.
4    radix 50 is now a supported mode
5    octal now prints in fixed format of 
     XXXXXX,XXXXXX
6    a line is never split between the minus
     sign 
     and the number.
7    locations may be printed out as symbolic
     instructions.

     CC negative numbers print out as -number and not  a  sequence  of
special characters.

     DD address are now followed by /TAB> not /SPACE>

     EE the SYFILE command specifies a file for a symbol table.

     FF the XTRACT command reads the symbol  file  looking  for  DDT'S
symbol table pointer and extracting the symbol table.

     GG symbols are  now  accepted  on  type-in.   if  the  symbol  is
multiply  defined  it  must  be  preceded  by  a  program  name.  E.G.
DUMP:EXPSYM

     HH symbols are available for type out in symbolic instructions.

     II a permutation vector is computed for the symbol  table.   this
allows  a  binary search of the symbol table when looking for a symbol
matching a value.

                           edits after 157:
161  fix lchr to  handle  TAB>  correctly.   prior  to  this  edit  it
considered TAB> a single print position.

     162 make 20 thru 24 illegal in a listing file.  only end of  line
now valid are form feed, line feed and vertical tab.

     163 make FNDADR return NXM if address is negative

     164 remove junk after the not in file message

     165 scan symbol table for opcodes after trying built in table

     166 reload T1 after call to VAL2SY if we want numeric output.

     167 do not output nulls

     170 remove loc/ from blank lines.

     171 clean up listing

     172 improve FNDDAE to:
1. return NXM if address is .gt. 777777
2. return NXM if address is between low
DUMP.DOC                                                        Page 6


   and high segs
3. remember first 200 words of core image

     174 add code to make looking for a daemon category independent of
the order in which the categories are written

     200 cleanup NXM message, fix  bad  logic,  random  fixes  to  the
listing.

     203 AC'S do not contain the right values.  buffer  is  remembered
from  symbol file which is not right.  fix:  do not load buffer during
xtract command.

     204 ill mem ref at cmpred caused by calling cmpred  wrong.   fix:
call correctly and fix the comments on cmpred.

     205 part of listing missing.  add a list PSEUDO-OP

     206 the present defaults have been changed for several  commands.
the new present defaults are:
ADDRESS  ON
AUTOFORMAT ON
NUMPAGE  1
Note:  A present default is the  default  when  the  switch  is  given
without an argument.

     207 input, output, syfile  etc.   without  an  argument  are  now
ignored.  prio to this edit they caused a halt.

     210 the close command now clears the  file  open  bit.   it  also
forces append mode.

     211 the all command can now be terminated by an ESC>

     212 fix .hgh and .shr files to  dump  correctly.   this  involves
starting  the  /all switch at the right place and making all addresses
below the hiseg nxm.

     214 " operator given more precedence.  also hrl changed to hlr as
intended.

     215 datred now looks for errors

     216 sometimes the numbers do not line up.  crlf  gets  output  in
pad  field.   cure:   see  if  crlf  needed and put out first if it is
required at all.

     217 if an input command is given prior to a  syfile  command  the
input file name is used as the default for xtract.

     220 1b0 does not get output correctly.  fix:  make radix  printer
add one so movm will return a positive number.
DUMP.DOC                                                        Page 7


     221 titles do not work  quite  right.   fix:   make  the  special
pattern FF> call newpag.

     222 call oscan to read user specific defaults.  this is a file in
the  users area called switch.ini which contains a list of switches on
a line begining with dump.
example:
DUMP /IRADIX:10/ORADIX:10/MODE:NUMERIC
DUMP:OCT /IRADIX:8/ORADIX:8/MODE:NUMERIC
DUMP:DEC /IRADIX:10/ORADIX:10/MODE:NUMERIC
This will set the defaults for IRADIX and ORADIX to 10  whenever  DUMP
is  invoked.   In  addition  the  command  "OPTION  OCT"  will set the
defaults to octal and the command "OPTION DEC" will set  the  defaults
back  to  decimal.   at  some  point  in  the  future all DECSYSTEM-10
programs will read SWITCH.INI to get user specific defaults.

     223 ignore spaces next to &

     224 if a line ends in the middle of a quoted string ^?  sometimes
gets  printed.   fix:   test  for end of line more often.  ***NOTE:  A
well formed string must end with a quote.

     225 CALLI'S do not print correctly.  fix:  add devsts to table.

     226 if an I/O error took place on a close command  user  got  the
wrong error message.  fix:  test right half of status

     227 any file which is less than 8  blocks  long  and  is  not  in
compressed  format looked zero when the first word was examined.  fix:
load T1 with word from buffer prior to  looking  for  errors.   if  an
error took place it will not cause wrong typeout.

     230 the XTRACT command did not work correctly with  more  than  1
input  file.   fix:   add current size of symbol table when asking for
core.

     231 left margin works on TTY:  not  on  LPT:.   DIAGNOSIS:   line
feed comes out after spaces.  fix:  put out line feed first.

     32 change mode to modes in command table.  remove listab.










3.0  KNOWN BUGS AND DEFICIENCIES

Some commands have not yet been coded.
DUMP.DOC                                                        Page 8


4.0  CHANGES IN INSTALLATION INSTRUCTIONS

Version 3 of QUIKDM.CCL should be place on device SYS:.  
DUMP                                                            Page 9


                        DUMP REFERENCE MANUAL















                    Date:  15-Aug-72
                    File:  DMPREF.RNO
                    Edition:  1















The information in this document is subject to change  without  notice
and  should  not  be  construed  as  a  comitment by Digital Equipment
Corporation.  Digital Equipment Corporation assumes no  responsibility
for and errors that may appear in this document.

The software described in this document is furnished under  a  license
and  may  be  used or copied only in accordance with the terms of such
license.

Digital Equipment Corporation assumes no responsibility for the use or
reliability  of  its  software  on  equipment  that is not supplied by
DIGITAL.

     Copyright (C) 1972,1977,1979 by Digital Equipment Corporation

The following are trademarks of Digital Equipment Corporation:

DIGITAL        DECsystem-10   MASSBUS
DEC            DECtape        OMNIBUS
PDP            DIBOL          OS/8
DECUS          EDUSYSTEM      PHA
DUMP                                                           Page 10


UNIBUS         FLIP CHIP      RSTS
COMPUTER LABS  FOCAL          RSX
COMTEX         INDAC          TYPESET-8
DDT            LAB-8          TYPESET-10
DECCOMM        DECsystem-20   TYPESET-11
DUMP                                                           Page 11


1.0       Introduction                                   3
2.0       Expressions and Symbols                        3
3.0       Commands to Dump                               4
          ADDRESS                                        5
          ALL                                            6
          APPEND                                         7
          AUTOFORMAT                                     8
          CATEGORY                                       9
          CLOSE                                          10
          DUMP                                           11
          EJECT                                          13
          EXIT                                           14
          HELP                                           15
          INPUT                                          16
          IRADIX                                         17
          JUSTIFY                                        18
          LEFTMARGIN                                     19
          LINEPAGE                                       20
          MODES                                          21
          NUMPAGE                                        22
          ORADIX                                         23
          OUTPUT                                         24
          RIGHTMARGIN                                    25
          RUN                                            26
          SUPERSEDE                                      27
          SYFILE                                         28
          TDUMP                                          29
          TITLE                                          30
          TYPE                                           31
          WIDTH                                          32
          XTRACT                                         33
4.0       Error Messages                                 35
4.1       Monitor Error Messages on DUMP or DCORE        35
4.2       DAEMON Error Messages on DUMP or DCORE         35
4.3       Messages From DUMP                             36
4.4       System Error Messages                          37
4.4.1     Messages From DAEMON                           37
4.5       SCAN Error Messages                            37
5.0       How to Make a Daemon Dump File                 38
5.1       The DCORE Command                              38
5.2       The DUMP Command                               38
5.3       The .DCORE Function of CALLI DAEMON            39
6.0       Format of a Daemon Dump File                   40
6.1       The Job Category                               40
6.2       The Configuration Category                     41
6.3       The DDB Category                               41
6.4       The Core Category                              41
6.5       The Feature Category                           42
DUMP                                                           Page 12


1.0  INTRODUCTION

DUMP is a program that converts a file to a format  suitable
for human understanding.

A file is nothing more  than  a  collection  of  bits.   Any
meaning  given to those bits must be supplied by the reader.
DUMP provides a language for describing the format of a file
and various routines for printing out the file.

DUMP "knows" about some formats of files (.DAE, .SAV,  .SHR,
...);  however, any format of file may be dumped.

DUMP can be used with the monitor and the DAEMON program  to
provide   dumps   of  the  user's  core  area  and  his  job
environment.

This is a reference manual, not a "getting started  with..."
However, if the novice user reads the manual and tries DUMP,
he will soon become a dump expert.



2.0  EXPRESSIONS AND SYMBOLS

Any place in a command  where  a  number  can  be  used,  an
expression can be used.

The following operators are valid in an expression:

          ^ - power  (2^3 is 8)
          * - muliply (2*3 is 6)
          / - integer divide (2/3 is 0  3/2 is 1)
          + - addition (2+3 is 5)
          - - subtraction (2-3 is -1)
          - - unary minus (-(2+3) is -5)
          " - half word left to right and extend operator.
              This takes the left half of a 36 bit byte  and
              places  it  in  the right half.  If the number
              was negative, the left half is  set  to  ones;
              if  the  number was positive, the left half is
              set to zero.
              ("(-1) is -1, and "1 is 0)

In addition, there are 3 unary "contents of" operators

          [ - The contents of the argument,  e.g.,  [17  has
              the value of the seventeenth word of the file.

          \ - The  contents  of  the  right  half   of   the
              argument.  \17 has the value of the right half
              of the seventeenth word.

          @ - The contents of  the  word  addressed  by  the
              right-most  23  bits  of  the  argument.   The
DUMP                                                           Page 13


              argument  address,  including   indexing   and
              indirect evaluation.

N.B.  When [, \, or @  are  nested,  the  PDP-10  addressing
modes  apply with the first 16 words in the addressing space
used as AC's.  Therefore @@@10 may  give  different  results
from \\\10.

Symbols may be used in place of numbers (see the SYFILE  and
XTRACT  commands  for information about loading symbols).  A
symbol is of the form program:symbol where  program  is  the
name  of  the program defining the symbol.  If the symbol is
unique, the program name may be omitted.

The following symbols are built into DUMP:

          . = The address of the last word dumped.  This  is
              the location counter.

          $ = The last byte typed out.

          % = The last expression evaluated.

These will be overridden by the same symbol appearing in the
symbol table.



3.0  COMMANDS TO DUMP

DUMP notes its readiness by typing a slash(/).

The  commands  are  listed  in  alphabetical  order  on  the
following pages.
DUMP                                                           Page 14


ADDRESS

Specifies whether or not addresses will be dumped along with
their contents.

----------

EXAMPLE:

Assume word 10 of the current file contains 53 decimal.

          /MODE DEC
          /ADDRESS:ON
          /D [10

would dump

10/ 53

          /MODE DEC
          /ADDRESS:OFF
          /D [10

would dump

          53

----------

NOTE:

     1.  The default is ON.

     2.  The output is an address followed by  a  slash  and
         then a tab.
DUMP                                                           Page 15


ALL

Dumps the entire file.  When the file is a DAEMON core-image
file, the entire category is dumped.

----------

EXAMPLE:

          /AL
          /ALL
DUMP                                                           Page 16


APPEND

If the selected output file exists, new output is witten  at
the end of the file.  The old contents are not overwritten.

----------

EXAMPLES:

          /APPEND
          /AP

----------

NOTES:

     1.  APPEND is the default.

     2.  The command which turns off APPEND is SUPERSEDE.

     3.  This command should be issued prior  to  doing  any
         writing.   It  can  be  given  before  or after the
         OUTPUT command.
DUMP                                                           Page 17


AUTOFORMAT

If AUTOFORMAT is on, DUMP will attempt to format the  output
by  inserting  line  feeds,  form  feeds,  and  titles where
needed.  If AUTOFORMAT is off, the user must ensure that the
output is correctly formatted.

----------

EXAMPLES:

          /AUTO ON
          /AUTO OFF
          /AU ON

----------

NOTES:

     1.  Unless the user wants to obtain a  special  result,
         it is suggested that AUTOFORMAT should be left on.

     2.  The default is ON.
DUMP                                                           Page 18


CATEGORY

This command selects which category of a  DAEMON  dump  file
will  be used.  Addressing begins with 0 at the beginning of
each category.  Refer to Section 5.0 for  a  description  of
DAEMON dump files.

----------

EXAMPLES:

          /CAT JOB
          /CAT CONFIGURATION
          /CAT CON;  same as configuration
          /CAT DDB
          /CAT CORE
          /CAT FEATURES

----------

NOTES:

     1.  CORE is the default.

     2.  The CATEGORY command has no  effect  if  the  input
         file is not a DAEMON dump file.
DUMP                                                           Page 19


CLOSE

Close the output file.

----------

EXAMPLES:

          /CLOSE
          /CL

----------

NOTES:

     1.  After a CLOSE command is given, another OUT command
         should  be  given before the next command that does
         any output.

     2.  A CLOSE not followed by another  OUT  command  will
         cause an error if any writing is attempted.
DUMP                                                           Page 20


DUMP DUMP descriptor>,DUMP descriptor>,...

Dumps the specified bytes in  the  current  modes.   A  dump
descriptor is any of:

1.  A string  delimited  by  single  quotes  and  containing
    alphanumeric characters and special patterns.

EXAMPLE:

          'THIS IS TEXT'

A special pattern is:

          EL>       - END LINE, (CR-LF)
          VT>       - VERTICAL TAB
          FF>       - FORM FEED
          AL>       - ALTMODE
          HT>       - HORIZONTAL TAB
          ^LETTER>  - CONTROL CHARACTER
          \LETTER>  - LOWER CASE

EXAMPLE:

          D 'LINE1EL>LINE2EL>HT>LINE3'

will generate

          Line1
          Line2
               Line3

A leading double quote (") will cause the next character  to
be taken literally.

EXAMPLE:

          D 'THIS IS A QUOTE "" AND AN ARROW "^'

will generate

          THIS IS A QUOTE " AND AN ARROW ^

2.  A byte descriptor of the form:

          WORDPOS,SIZE>

          WORD is the address of a word.
          POS  is the position of the byte.  It is  the  bit
               number of the leftmost bit in the byte.
          SIZE is the number of bits in the byte.

EXAMPLES:

          63,2>     specifies bits 3 and 4 in word 6.
DUMP                                                           Page 21


          50,11>    specifies bits 0 thru 10 in word 5.

          227,18>   specifies bits 27 thru 35 in word 2  and
                    0  thru  8 in word 3.  That is an 18 bit
                    byte split over word boundries.

          27        specifies all of word 27.

          3118>     specifies bits 0 thru 17 of word 31.

3.  FROM byte-descriptor> & TO byte-descriptor>

    This specifies everything from the first byte descriptor
    to the second byte descriptor.

Examples:

          /D  [0&1000 dump from 0 to 1000
          /D  [0&[.JBREL dump from 0 to the word whose
              address is in .JBREL
          /IR 8
          /D  [0&[44 dump the entire low segment


Although numbers were shown in the previous examples, a dump
descriptor can consist of any valid expression.

EXAMPLES:

          6+7
          2*2+4
          (3+5*6)(4+3),(3*3)>
          DOG-CAT

4.  The letter D may be used as an abbreviation of DUMP.

5.  Each DUMP command starts a new line.
DUMP                                                           Page 22


EJECT

Skips to a new page.

----------

EXAMPLE:

          /EJECT
          /EJ
DUMP                                                           Page 23


EXIT

Close all files  and  return  control  to  the  DECsystem-10
monitor.

----------

EXAMPLE:

          /EXIT
          .
DUMP                                                           Page 24


HELP

Copies the HELP text from SYS:  to the user's terminal.

----------

EXAMPLES:

          /HELP

----------

NOTES:

     1.  /HELP SWITCHES will list  the  names  for  all  the
         switches.

     2.  The letter H may be used  as  an  abbreviation  for
         HELP.
DUMP                                                           Page 25


INPUT

Selects an input file.

----------

EXAMPLE:

          /IN
          /IN ABC
          /IN DSKB0:ABC.DAE[10,251,SFDX]

----------

NOTES:

     1.  The default file name is nnnDAE.  Where nnn is  the
         job number.

     2.  Dump will look for the following extensions:

              .TMP,.DAE,.SHR,.SAV,
              .HGH,.LOW,.XPN,.DMP

         in that order.

     3.  The letter I may be used  as  an  abbreviation  for
         INPUT.
DUMP                                                           Page 26


IRADIX

This command sets the  input  radix.   WARNING,  the  IRADIX
command uses decimal.  The argument cannot be an expression.

----------

EXAMPLES:

          /IR 8     ;Go from decimal to octal
          /IR 10    ;Go from octal to decimal

----------

NOTES:

     1.  If an IRADIX command is given without  an  argument
         or  with  an  argument of 0, the input radix is set
         back to its default value.

     2.  The default is 10 (decimal).
DUMP                                                           Page 27


JUSTIFY

This takes a key-word argument of LEFT, CENTER, or RIGHT and
specifies how the output should be justified.  [Refer to the
MODES and WIDTH commands.]

----------

EXAMPLES:

          /JUST  L,L,C,R
          /JUST  LE,LEF,LEFT,C,CE,CEN

----------

NOTES:

     1.  JUSTIFY keys are used in a one to one relation with
         MODE  and  WIDTH keys.  If there are more MODE keys
         than JUSTIFY keys, LEFT will be used.  If there are
         more JUSTIFY keys, the extra keys will be ignored.
DUMP                                                           Page 28


LEFTMARGIN

Sets the left margin.

----------

EXAMPLES:

          /LEFT 7
          /LEFT 1+2+6/3
          /LEFT MAIN.:LEFTX

----------

NOTES:

    1.  The default is 0.
DUMP                                                           Page 29


LINEPAGE

Sets the number of lines per page.

----------

EXAMPLE:

          /LINE 50

----------

NOTES:

     1.  The default is 50.

     2.  This counts all lines  including  blank  lines  and
         titles.
DUMP                                                           Page 30


MODES

Selects a list of output modes from:

ALL     - Dump in all modes.

ASCII   - Dump the byte in ASCII.  If bits  0  thru  28  are
          zero,  the  word  is  dumped  as  a  single  right
          justified  character.   If  bits  0  thru  28  are
          non-zero,   the   word   is   dumped  as  5  ASCII
          characters.   Non-printing  characters  print   as
          spaces.

DECIMAL - Dump as a signed decimal number.

NULL    - Do not dump anything.

NUMERIC - Dump as a signed number in the current ORADIX.

OCTAL   - Dump as 12 octal digits.  This mode  always  takes
          13 positions.  (6 digits, a comma, 6 digits).

RADIX50 - Dump in RADIX50.

SIXBIT  - Dump as 1 SIXBIT character if bits 0 thru  29  are
          zero.  Otherwise, dump as 6 SIXBIT characters.

SOCTAL  - Dump  as  signed  octal.   This  mode   suppresses
          leading zeros.

SYMBOLIC - Dump as a symbolic instruction.

----------

EXAMPLES:

          M ASC,SIX,NUL,RAD,SIX
          MODE ASCII,SIXBIT,NULL,RADIX50
          MODE OCT
----------
NOTES:

     1.  A mode may be repeated in the list.

     2.  The output is in the same order as the mode list.

     3.  MODES has no control  over  what  is  listed  on  a
         single line.

     4.  The MODES command may be abbreviated as M.

     5.  The default mode is OCTAL.
DUMP                                                           Page 31


NUMPAGE

Starts  numbering  pages.   If  the  argument  is  0,   page
numbering is turned off.

----------

EXAMPLES:

          /NUM 10
          /NUM 0
DUMP                                                           Page 32


ORADIX

Selects the output radix.  WARNING:  the ORADIX command uses
decimal.  The argument cannot be an expression.

----------

Examples:

          /OR 10
          /OR 2

----------

NOTES:

     1.  The default is 10.
DUMP                                                           Page 33


OUTPUT

Selects the output file.

----------

Example:

          /OUT DSK:LEMON
          /OUT S55123[10,1,DUMP]

----------

     1.  The default file name is nnnDAE.LSD.  Where nnn  is
         the job number.

     2.  The default device is LPT if no file name is typed,
         and DSK if a file name is typed.

     3.  The letter O may be used  as  an  abbreviation  for
         OUTPUT.
DUMP                                                           Page 34


RIGHTMARGIN

Sets the right margin.  If a field would exceed this  limit,
inserts  a carriage-return, line-feed and spaces to the left
of any printing before dumping the field.

----------

EXAMPLES:

          /RI 72
          /RIGH 100
          /RIGHT (8*8)/(15+2)

----------

NOTE:

     1.  If a field will not fit between the left and  right
         margins,  it  is  allowed  to  overflow  the  right
         margin.

     2.  If ADDRESS:ON is in effect, the new line will  have
         an  address  typed  on it.  If a page overflow took
         place a title line may also be printed.
DUMP                                                           Page 35


RUN

This command runs some other program.  It is the same as the
R command in the monitor.

----------

EXAMPLES:

          /RUN:PIP
          /RUN LOGOUT
DUMP                                                           Page 36


SUPERSEDE

If the output file already exists, it is overwritten by  the
new output file.

----------

EXAMPLES:

          /SUPER
          /SUP

----------

NOTES:

     1.  The opposite of SUPERSEDE is APPEND.

     2.  APPEND is the default.

     3.  This command should be issued prior to any writing.
         It may be given before or after the OUTPUT command.
DUMP                                                           Page 37


SYFILE

Selects a symbol file for the XTRACT command.

----------

EXAMPLES:

          /SYF DSKB:SYSTEM.SAV[1,4]
          /SYF DUMP.LOW
          /SYF DSKD:S50273.XPN[10,1]

----------

NOTES:

     1.  Defaults are  the  same  as  those  for  the  INPUT
         command.
DUMP                                                           Page 38


TDUMP

Same as the DUMP command except that it also dumps on TTY:.

----------

EXAMPLES:

          TD 'AC17',[17,'AC2',[2
          TD [0&17

----------

NOTES:

     1.  Refer to the DUMP command.

     2.  The letter T may be used  as  an  abbreviation  for
         TDUMP.
DUMP                                                           Page 39


TITLE

Specifies a title to be  included  in  all  subsequent  page
headings.

----------

EXAMPLES:

          /TITLE DUMP OF LOWSEG
          /TITLE DUMP OF DDB CHAIN
          /TITLE NMB'S ON THIS UFB

----------

NOTES:

     1.  TITLE with no argument turns off titling.

     2.  After a title command is given,  an  EJECT  command
         should be given to skip to a new page.
DUMP                                                           Page 40


TYPE

Specifies that the  format  of  the  input  is  one  of  the
following:

           DAE -DAEMON dump file
           DAT -Unspecified data (no special  processing  is
                done)
           HGH -High segment
           LOW -Low segment
           SAV -Save file
           SHR -Shareable high segment
           XPN -Expanded format

----------

EXAMPLE:

          /TYPE DAT

----------

NOTE:

     1.  If the input file has one of the above types as  an
         extension,  that is the default.  Otherwise, DAE is
         the default.
DUMP                                                           Page 41


WIDTH

Selects the width that each output mode will occupy.   Refer
to the MODE and JUSTIFY commands.

----------

EXAMPLE:

          /MOD    SYM,OCT,RADIX50,SIX,ASCII
          /WID    30,15,10,10,10
          /JUS    L,R,R,R,R
          /RIGHT  8+2*(30 +15 + 10 + 10 + 10)

This will print each byte dumped as:  a symbolic instruction
left  justified  in  a  30 character field;  an octal number
right justified in  a  15  character  field;   and  RADIX50,
SIXBIT,  and  ASCII  each  right justified in a 10 character
field.  The RIGHTMARGIN command  will  insure  2  words  are
printed per line (the 8 is an allowance for the address).

----------

NOTES:

     1.  WIDTH without any argument will  turn  off  filling
         and justification.

     2.  If a mode  is  specified  without  a  corresponding
         width,  the byte is dumped in exactly the number of
         positions required followed by 3 blanks.

     3.  If a width is specified, no free blanks are output.
         (e.g.   MODE  ASCII  and  WIDTH  5, will dump ASCII
         without any spaces between words).

     4.  If a MODE overflows its WIDTH, the entire output is
         given and no justification takes place.
DUMP                                                           Page 42


XTRACT

Uses the file specified by the last SYFILE command as a core
image  and  extracts the symbol table left by the loader and
adds that to the symbol table in core.

----------

EXAMPLE:

          /SYFILE  DSK:KSYS.DAE
          /XTRACT

          4293 symbols extracted

----------

NOTES:

     1.  To cause the loader to leave a  symbol  table,  use
         loader  switches  /S/B  or /S/1B to load the symbol
         table into the low or high segment respectively.
DUMP                                                           Page 43


The following commands are reserved for future  versions  of
DUMP:

          BEGIN
          COFILE
          COMPARE
          DELSYM
          DENSITY
          DO
          END
          IF
          INDEX
          INSTRUCTION
          IOFFSET
          LISTAB
          OOFFSET
          OKNONE
          PAGELIMIT
          PARITY
          PHYSICAL
          POP
          PROGSYM
          PROTECTION
          PUSH
          RUNOFF
          SKPBLOCKS
          SKPFILES
          STRS
          SORT
          SUBTITLE
          SYMBOL
          TABSYM
          TCOMPARE
          TSORT
DUMP                                                           Page 44


4.0  ERROR MESSAGES



4.1  Monitor Error Messages on DUMP or DCORE

?DAEMON NOT RUNNING
The DAEMON program must be started by the operator to  allow
the DCORE or DUMP commands to function.



4.2  DAEMON Error Messages on DUMP or DCORE 

?CANT OPEN DEVICE DEV>
The selected device is not available or does not exist.

?YOU DONT HAVE PRIVILEGES TO WRITE TYPE> file
The selected file (CCL or DAEMON) is protected.

?ENTER FAILURE N> ON CCL FILE
The CCL file for DUMP cannot be entered.

?DAEMON FILE MUST BE WRITTEN ON DISK
The DCORE device must be a disk device.

?LOOKUP/ENTER FAILURE N> ON DAEMON FILE
The lookup or enter monitor call failed with  the  indicated
code.   Refer  to the Monitor Calls manual for a description
of the error codes.

?PLEASE LOG IN AS [OPR]
Only the operator can type ".R DAEMON" to start  the  DAEMON
program.

%SWAP READ ERROR UNIT DISK> STATUS=N>
An I/O error took place reading  the  swapping  space.   The
data is written into the DAEMON file as read.

?INPUT/OUTPUT ERROR, STATUS=N>
An error occurred during the creation  or  updating  of  the
DAEMON file.
DUMP                                                           Page 45


4.3  Messages From DUMP

?INPUT ERROR STATUS =N>
An error occurred while DUMP was reading the input file.   A
new IN command will cause another LOOKUP to be done.

%LISTING DEVICE OUTPUT ERROR, STATUS N>
An error took place while DUMP was writing the output  file.
A  new  OUT command may be given to select a new file, or an
OUT command and an APPEND command may be given to try again.

?COMMAND> NOT CODED
The selected command is not in this version of DUMP.

?CANT EXPAND TABLE TABLE>
There is not enough  core  to  expand  the  selected  table.
SYMTAB  is  the  symbol  table  and  SYVTAB is a permutation
vector used for symbolic typeout.

?SYNTAX ERROR
The expression evaluator could not evaluate  an  expression.
Check for wrong parentheses or 2 operators in a row.

?MAX =N>
An argument was too large.

?CANT ENTER OUTPUT FILE N> FILE>
DUMP cannot enter the output file, the error code is n.

?NXM ADDRESS>
While DUMP was evaluating  an  expression,  a  "contents-of"
operator  was  encountered, but the selected word was not in
the file.

?LOOKUP FAILURE FOR INPUT FILE - CODE n> FILE>
DUMP can't read the input file.

?SYMBOL> IS AN UNDEFINED SYMBOL TABLE NAME
The symbol table specified  has  not  been  loaded  with  an
XTRACT command.

?WRONG FORMAT FOR SYMBOL
A colon (:) must be followed by a symbol.

?SYMBOL> IS AN UNDEFINED SYMBOL
The symbol is not in DUMP's symbol table.

SYMBOL> IS A MULTIPLY DEFINED LOCAL
The symbol is in more than one symbol table  with  different
values.



4.4  System Error Messages
DUMP                                                           Page 46


All these messages indicate that there is an  error  in  the
system.   They  may  indicate  that a monitor which will not
support DAEMON is being run.



4.4.1  Messages from DAEMON

          ? ATTACH TO USERS JOB FAILED
          ? CANT GET USER'S PPN
          ? DETACH UUO FAILED
          ? JOBPEK UUO REQUIRED, NOT IMPLEMENTED
          ? CANT GET SWAPPING PARAMETERS
          ? DSKCHR FAILURE N> UNIT DISK>
          ? CANT OPEN SWAP UNIT DISK>
          ? CANT GET SWAPPING POINTER FOR JOB N>
          ? TRIED TO OVERWRITE DATA WORD



4.5  SCAN Error Messages

Many of the messages from SCAN can be provoked.
DUMP                                                           Page 47


5.0  HOW TO MAKE A DAEMON DUMP FILE

A DAEMON file is a file that contains  information  about  a
job  (job  tables,  monitor  information,  file status and a
complete core image).

A DAEMON file is written by a program called  DAEMON.   This
program  runs as an operator service program and is poked by
the monitor when a user  requests  DAEMON  service.   DAEMON
then copies the user's core image into a file.



5.1  The DCORE Command

This command causes a DAEMON file to be written but does not
alter the state of the job in any way.

Format:

          .DCORE dev:file.ext[project,programmer]

This command will write  a  DAEMON  file  on  the  specified
device with the selected filename.

Defaults:

          dev:      DSK:
          file      nnnDAE where nnn is your job number.
          ext       if   a   filename   was   typed,   .DAE;
                    otherwise, .TMP.
          [p,pn]    The number you are logged in under,  not
                    your default path.



5.2  The DUMP Command

This command writes a DAEMON file with the name  nnnDAE.TMP.
It then runs the DUMP program.

Format:

          .DUMP /command/command/command

                         or

          .DUMP @dev:file.ext[p,pn]

The switches on the DUMP command  are  passed  to  the  DUMP
program.  An indirect file may be specified.

Defaults:

If no argument is typed @SYS:QUIKDM.CCL is used.
DUMP                                                           Page 48


Normal execution of this command with  no  arguments  (i.e.,
implying  use  of  SYS:QUIKDM.CCL)  causes  two  files to be
created in the user's area:  nnnDAE.TMP and ??????.LPT,  the
first  is  the core image file and the second is the listing
file to be queued and deleted;  return is then made  to  the
user at monitor command level.



5.3  The .DCORE Function of CALLI DAEMON

This is a method for taking a snapshot  dump  of  a  running
program.  The call is:

          CALLI AC,102
            error return
          normal return

and AC contains:

          XWD LENGTH,BLOCK

and block contains:

          BLOCK/    1                   ;FUNCTION
          BLOCK+1/  SIXBIT/DEV/
          BLOCK+2/  SIXBIT/FILE/
          BLOCK+3/  SIXBIT/EXT/
          BLOCK+4/  PROTECTION>B8
          BLOCK+5/  PPN

If a word in the block (except the function) is  missing  or
zero,  the  default is substituted.  The default is the same
as that of the DCORE command.

On the normal return, the file was written.

On the error return, AC will contain one  of  the  following
codes:

          unchanged      UUO not implemented or
                         DAEMON not running
               1 DMILF%  illegal function
               2 DMACK%  address check
               3 DMWNA%  wrong number of arguments
               4 DMSNH%  something which should never happen
                         just did.
               5 DMCWF%  can't write file
               6 DMNPV%  no privileges
               7 DMFFB%  fact format bad
              10 DMPTH%  invalid path specification



6.0  FORMAT OF A DAEMON DUMP FILE
DUMP                                                           Page 49


A  DAEMON  dump  file  consists  of  five  categories  (job,
configuration,  DDB,  core,  and  features).   Each category
begins with  two  header  words;   the  first  contains  the
category number (1 for job, 2 for configuration...), and the
second word  contains  the  number  of  data  words  in  the
category.    DUMP  treats  each  category  as  a  file,  and
addresses within that category  start  at  zero.   The  user
cannot  examine  the category header.  It is also impossible
to read past the end of one category into the next category.
NOTE:  The categories may be in any order.



6.1  The Job Category

This category contains information about the job obtained by
the  use  of  the GETTAB UUO.  The following table lists the
information in the job category.  The first 2  columns  list
the  address  in  octal and decimal.  The third column gives
the contents and the fourth column  gives  the  location  of
further information.

      WORD(8)  WORD(10)            CONTENTS             SEE

          0       0      DAEMON version #               a,b
          1       1      DATE (given by CALLI date)      b
          2       2      TIME (given by MSTIME)          b
          3       3      LH=JOB#  RH=SEG#                b
          4       4      LH is reserved RH=TTY#          b
          5       5      .GTSTS for job                  c
          6       6      .GTSTS for seg                  c
          7       7      .GTPPN for job                 b,c
          10      8      .GTPPN for seg                 b,c
          11      9      .GTPRG for job                 b,c
          12      10     .GTPRG for seg                 b,c
          13      11     .GTTIM (runtime in jiffies)    b,c
          14      12     .GTKCT (killo-core-ticks)      b,c
          15      13     .GTPRV                         b,c
          16      14     .GTSWP for job                  c
          17      15     .GTSWP for seg                  c
          20      16     .GTRCT (total disk reads)      b,d
          21      17     .GTWCT (total disk writes)     b,d
          22      18     .GTTDB always zero
          23      19     .GTDEV (device containing seg)  c
          24      20     .GTNM1 (1st half user name)     c
          25      21     .GTNM2 (2nd half user name)     c
          26      22     .GTCNO (charge number)          c
          27      23     .GTTMP (TMPCOR pointers)        c
          30      24     .GTWCH (watch bits)            a,b,c
          31      25     .GTSPL (spool bits)            a,b,c
          32      26     .GTRTD (real time status)      b,c
          33      27     .GTLIM (core and time limit)   b,c
          34      28     .GTSPS (processor status)      a,b,c

     a Operating System Commands Manual (DEC-10-MRDC-D)
DUMP                                                           Page 50


     b Monitor Calls Manual (DEC-10-MRRC-D)
     c listing of COMMON for your monitor
     d listing of COMMOD for your monitor



6.2  The Configuration Category

This is  a  copy  of  .GTCNF  from  the  monitor.   This  is
described  in  a  listing  of  COMMON  for  your monitor.  A
description of .GTCNF for the 5.05  monitor  is  in  Section
3.6.3.4.2 of DECsystem-10 Monitor Calls (DEC-10-MRRC-D).



6.3  The DDB Category

This is a copy of the device data blocks  currently  in  use
for  this  job.   Each DDB begins with a word containing the
length of the DDB.  The format of the DDB varies from device
to  device  and  monitor  to  monitor.  For more information
consult a monitor listing.



6.4  The Core Category

This is a zero-compressed core image of both  the  high  and
low segments.  This file only contains non-zero words.



6.5  The Feature Category

This is a copy of .GTFET from the monitor.  A description of
.GTFET  for  the  5.05  monitor  is in section 3.6.3.4.14 of
DECsystem-10 Monitor Calls (DEC-10-MRRC-D).