.
.         DUMP COMMAND ACTIVITY
.
.
.         (C)  Copyright 1972-1978  John Walker
.
.         This software is in the public domain
.
          AXR$
          DEFUNCT$
          FANG
          PURE      CODE
.
LIST*     LA,U      A10,1               SET 'LIST' MODE
          J         DUMPDO              ENTER DUMP PROCESSING
DUMP*     LA,U      A10                 SET DUMP MODE (INFINITE COUNT ASSUMED)
DUMPDO    LX        X5,CDBPC,X8         LINK TO FIRST PARAMETER
          LA        A1,PBVAL,X5         LOAD FDT POINTER
          LMJ       A2,IOGET            BUILD FCT FOR INPUT FILE
          LX,U      X10,,A0             SAVE FCT ADDRESS IN X10
          LX        X5,PBLINK,X5        LINK TO SECOND PARAMETER
          LA,U      A3,0377777          LOAD ASSUMED COUNT
          TZ        A10                 WAS COMMAND 'LIST'
          LA,U      A3,1                YES.  ASSUMED COUNT IS 1
          LA        A0,CDOPTS,X8        LOAD COMMAND OPTIONS
          TNZ       IOMASS,X10          TAPE FILE ?
          TOP,U     A0,OPTION('M')      YES.  'M' OPTION ON ?
          J         NOMO                NO.  SKIP THE 'M' OPTION
          LA,U      A4,'M'              GET THE 'M' CODE
          SA        A4,IOOPT,X10        SET 'M' READ OPTION
NOMO      TOP,U     A0,OPTION('S')      IS 'S' OPTION SET ?
          J         NOSO                NO.  SKIP ADDRESS SETUP
          TNZ       IOMASS,X10          IS INPUT FILE MASS STORAGE ?
          J         NOSO                NO.  'S' OPTION DOESN'T APPLY
          SA        A3,IOCOUNT,X10      USE ASSUMED COUNT
          LA,U      A3                  IMPLIED ADDRESS IS ONE
          TZ        X5                  ANY ADDRESS SUPPLIED ?
          LA        A3,PBVAL,X5         YES.  LOAD IT UP
          SA        A3,IODRAD,X10       PUT ADDRESS IN PACKET
          J         SOAPY               FIRE UP READ
NOSO      TZ        X5                  WAS A COUNT SPECIFIED ?
          LA        A3,PBVAL,X5         YES.  USE IT
          SA        A3,IOCOUNT,X10      SET UP 'BLOCK' COUNT
SOAPY     LMJ       A2,INPUT            CREATE A READER
          P         PRINTER             OBTAIN THE PRINTER FOR A WHILE
          R$DIT     .                   SET UP THE EDITOR
          JDEM      SDUH                EDIT SHORT HEADER IF DEMAND
          E$MSG     DUMPH               EDIT THE HEADER LINE
          LA        A0,IOFDT,X10        LOAD FDT ADDRESS
          LMJ       X11,FIST            APPEND FILE AND STATEMENT
          J         GDODH               END OF BATCH DUMP HEADER
.
SDUH      E$CHAR    '['                 EDIT LEFT BRACKET
          LX        X5,CDIMG,X8         GET IMAGE BUFFER ADDRESS
          LMJ       X6,ESNV             EDIT STATEMENT NUMBER
          E$SKIP    -1                  BACK UP A CHARACTER
          E$CHAR    ']'                 EDIT CLOSING BRACKET
          E$SKIP    2                   SKIP TWO SPACES
          LX        X5,IOFDT,X10        LOAD FDT ADDRESS
          LMJ       X6,EFILE            EDIT FILE NAME
          R$PRTX    1                   PRINT THE LINE
GDODH     LX,U      X9,PRINTX           LOAD COMPLETION QUEUE ADDRESS
          LMJ       A2,PRINT            CREATE A PRINTER
          P         PRINTX              WAIT FOR DUMP TO COMPLETE
          V         PRINTER             RELEASE THE PRINTER
          BRELP     X10                 RELEASE THE BUFFER
          COMPLETE  .                   INDICATE COMPLETION
.
          PURE      DATA
.
DUMPH     'DUMP OF !'
          END