*MAIN MODULE WITH TRANSFER ADDRESS                      HEADER  FUPMAN  0001.000
         M.PGM     FUPMAN,MPX-32,3.6.1,01                               0002.000
         SPACE                                                          0003.000
*                                                                       0004.000
************************************************************************0005.000
*                                                                      *0006.000
*                    PROPRIETARY INFORMATION                           *0007.000
*                    -----------------------                           *0008.000
*   THE INFORMATION CONTAINED HEREIN IS PROPRIETARY TO ENCORE          *0009.000
*   COMPUTER CORPORATION AND/OR ITS VENDORS, AND ITS USE, DISCLOSURE,  *0010.000
*   OR DUPLICATION IS SUBJECT TO THE RESTRICTIONS STATED IN THE        *0011.000
*   STANDARD ENCORE COMPUTER CORPORATION LICENSE TERMS AND CONDITIONS  *0012.000
*   OR THE APPROPRIATE THIRD-PARTY SUBLICENSE AGREEMENT.               *0013.000
*                                                                      *0014.000
*                       RESTRICTED RIGHTS                              *0015.000
*                       -----------------                              *0016.000
*   USE, DUPLICATION, OR DISCLOSURE BY THE GOVERNMENT IS SUBJECT       *0017.000
*   TO RESTRICTIONS AS SET FOURTH IN SUBDIVISION (c) (1) (ii) OF       *0018.000
*   THE RIGHTS IN TECHNICAL DATA AND COMPUTER SOFTWARE CLAUSE AT       *0019.000
*   252.227.7013                                                       *0020.000
************************************************************************0021.000
* (C) COPYRIGHT 1989 ENCORE COMPUTER CORPORATION                       *0022.000
*     ALL RIGHTS RESERVED                                              *0023.000
************************************************************************0024.000
*                                                                       0025.000
************************************************************************0026.000
*                                                                      *0027.000
*        HISTORY OF FUPMAN             MPX 3.6.1                       *0028.000
*                                                                      *0029.000
************************************************************************0030.000
*                                                                       0031.000
*        VOLMGR REV 3.6.1.01 BL 7                               ETRN361 0032.000
*                                                               ETRN361 0033.000
*        MODULES: FUPMAN (REV 3.6.1.01)                         ETRN361 0034.000
*                 FUPSET (REV 3.6.1.01)                         ETRN361 0035.000
*                 FUPCPY (REV 3.6.1.01)                         ETRN361 0036.000
*                 FUPTRN (REV 3.6.1.01)                         ETRN361 0037.000
*                 FUPRSD (REV 3.6.1.01)                         ETRN361 0038.000
*                 SJ.VPRE(REV 3.6.1.01)                         ETRN361 0039.000
*                 SH.VOMM(REV 3.6.1.03)                         ETRN361 0040.000
*                 SM.MPXMC(REV 3.6.1.08)                        ETRN361 0041.000
*                                                               ETRN361 0042.000
*        07/13/94  11464 ADDED SUPPORT FOR ENHANCED TRUNCATE    ETRN361 0043.000
*                  OPTION                                       ETRN361 0044.000
*                                                                       0045.000
*********************************************************************   0046.000
*                                                                   *   0047.000
*        HISTORY OF FUPMAN             MPX 3.6.0                    *   0048.000
*                                                                   *   0049.000
*********************************************************************   0050.000
*                                                                       0051.000
*        VOLMGR REV 3.6.0.12  BL11                              EQIC360D0052.000
*        MODULES: FUPMAN (REV 3.6.0.05)                         EQIC360D0053.000
*        MODULES: FUPSET (REV 3.6.0.02)                         EQIC360D0054.000
*                                                               EQIC360D0055.000
*        08/19/93  10833 DEF THE WARNING MESSAGE OUTPUT WHEN    EQIC360D0056.000
*                  ATTEMPT MADE TO CHANGE EOF MANAGEMENT MODE   EQIC360D0057.000
*                  IN MIDTAPE (NEEDED FOR CLEAR COMMAND).       EQIC360D0058.000
*                                                                       0059.000
*        VOLMGR REV 3.6.0.11  BL 9                              EQIC360C0060.000
*        MODULES: FUPMAN (REV 3.6.0.04)                         EQIC360C0061.000
*                                                               EQIC360C0062.000
*        08/07/93  10833 SAVE UDT ADDRESS FROM ORIGINAL         EQIC360C0063.000
*                  TAPE ASSIGNMENT - SDT PROCESSING OPENS       EQIC360C0064.000
*                  THE TAPE DIFFERENTLY THAN SAVE PROCESSING,   EQIC360C0065.000
*                  AND WE CHECK DURING THE OPEN PROCESSING FOR  EQIC360C0066.000
*                  THE FIRST SAVE IF WE HAVE CHANGED THE DRIVE  EQIC360C0067.000
*                  SINCE THE ORIGINAL ASSIGNMENT.               EQIC360C0068.000
*                                                                       0069.000
*        VOLMGR REV 3.6.0.08  BL 6                              EQIC360B0070.000
*        MODULES: FUPMAN (REV 3.6.0.03)                         EQIC360B0071.000
*                                                               EQIC360B0072.000
*        06/07/93  10833 ALLOW SAVE AT END OF TAPE AFTER EOT    EQIC360B0073.000
*                  HAS BEEN WRITTEN.                            EQIC360B0074.000
*                                                                       0075.000
*        VOLMGR REV 3.6.0.05                                    EQIC360A0076.000
*        MODULES: FUPMAN (REV 3.6.0.02)                         EQIC360A0077.000
*                                                               EQIC360A0078.000
*        03/09/93  10833 DO NOT FORCE SEOF FOR QIC TAPE DRIVES. EQIC360A0079.000
*                                                                       0080.000
*        03/12/93  10833 DO NOT SKIP TEST FOR VO01 ABORT.       CP12491 0081.000
                                                                        0082.000
*        VOLMGR REV 3.6.0.01                                    EQIC360 0083.000
*        MODULES: FUPMAN (REV 3.6.0.01)                         EQIC360 0084.000
*                                                               EQIC360 0085.000
*        02/12/93  10833 ADD SCSI QIC SUPPORT                   EQIC360 0086.000
*                                                                       0087.000
*        02/24/93  10833 ADD NEW GLOBAL FLAG WORD FLAGBIT2      S881599 0088.000
*                                                                       0089.000
*********************************************************************   0090.000
*                                                                   *   0091.000
*        HISTORY OF FUPMAN             MPX 3.5U02A                  *   0092.000
*                                                                   *   0093.000
*********************************************************************   0094.000
*                                                                       0095.000
*        FUPMAN REV 3.5U02A.04 BL 8                             CP12394 0096.000
*                                                               CP12394 0097.000
*        09/09/92 10833 CODE IS CHANGED IN MODULE FUPMAN TO     CP12394 0098.000
*                 CHANGE THE NAME OF THE SYSTEM DIRECTORY       CP12394 0099.000
*                 TO NODEDIR IF THE VOLUME NAME IS "SYSTEM"     CP12394 0100.000
*                 AND THE DIRECTORY NAME IS "SYSTEM" AND WE     CP12394 0101.000
*                 ARE ON AN RMSS SYSTEM RUNNING VERSION 3.1     CP12394 0102.000
*                 OR LATER, AND WE ARE ON A NO SYSTEM VOLUME    CP12394 0103.000
*                 NODE.                                         CP12394 0104.000
*                                                                       0105.000
*        VOLMGR REV 3.5.U02A.06                                 E3RMS35B0106.000
*        MODULES: FUPMAN (REV 3.5U02A.03)                       E3RMS35B0107.000
*        ENHANCEMENT: E3RMS35B                                  E3RMS35B0108.000
*                                                               E3RMS35B0109.000
*        07/21/92 10833 CODE IS CHANGED IN MODULE FUPMAN TO     E3RMS35B0110.000
*                 AGAIN USE THE M.LOC SERVICE TO FIND THE       E3RMS35B0111.000
*                 DEFAULT SYSTEM VOLUME NAME.  ALSO, WE WILL    E3RMS35B0112.000
*                 GET THE DEFAULT SYSTEM DIRECTORY NAME FROM    E3RMS35B0113.000
*                 THE SAME RD AND SAVE IT IN SDIR, AND ITS      E3RMS35B0114.000
*                 LENGTH IN SDLENGTH.                           E3RMS35B0115.000
*********************************************************************   0116.000
*                                                                       0117.000
*        VOLMGR REV 3.5.U02A.02                                 E3RMS35A0118.000
*        MODULES: FUPMAN (REV 3.5U02A.02)                       E3RMS35A0119.000
*        ENHANCEMENT: E3RMS35A                                  E3RMS35A0120.000
*                                                               E3RMS35A0121.000
*        06/01/92 10833 CODE IS CHANGED IN MODULE FUPMAN TO     E3RMS35A0122.000
*                 USE THE SVC M.LOGMVT TO FIND THE DEFAULT      E3RMS35A0123.000
*                 SYSTEM VOLUME NAME.                           E3RMS35A0124.000
**********************************************************************  0125.000
*                                                                       0126.000
*        VOLMGR REV 3.5.U02A.01                                 E3RMS35 0127.000
*        MODULES: FUPRES (REV 3.5U02A.01)                       E3RMS35 0128.000
*                 FUPGBL (REV 3.5U02A.01)                       E3RMS35 0129.000
*                 FUPMAN (REV 3.5U02A.01)                       E3RMS35 0130.000
*                 SJ.VPRE                                       E3RMS35 0131.000
*        ENHANCEMENT: E3RMS35                                   E3RMS35 0132.000
*                                                               E3RMS35 0133.000
*        05/15/90 10833 CODE IS CHANGED IN MODULES FUPRES,      E3RMS35 0134.000
*                 FUPGBL, AND FUPMAN TO USE THE SVC M.LOGMVT    E3RMS35 0135.000
*                 (H.REMM,32 - SVC 2,X'4D') TO CONSTRUCT THE    E3RMS35 0136.000
*                 VOLUME NAME LIST.  THIS WILL FIND ALL THE     E3RMS35 0137.000
*                 VOLUMES ON THE LOCAL SYSTEM AS WELL AS THE    E3RMS35 0138.000
*                 VOLUMES ON ANY HOST NODE(S) ON AN RMSS3.1     E3RMS35 0139.000
*                 SYSTEM.  ALSO,  IF ON A NODE WITH NO SYSTEM   E3RMS35 0140.000
*                 VOLUME, ABORT WITH ERROR MESSAGE IF USER      E3RMS35 0141.000
*                 ASKS FOR "SYSTEM" VOLUME IN A "RESTORE"       E3RMS35 0142.000
*                 COMMAND (UNDEFINED IN THIS CONTEXT).          E3RMS35 0143.000
**********************************************************************  0144.000
*    EXTERNAL REFERENCES                                                0145.000
         SPACE                                                          0146.000
         EXT       SS.BTIME                                             0147.000
         EXT       BIN.TIME                                             0148.000
         SPACE                                                          0149.000
*                                                                       0150.000
*  EXTERNAL REFERENCE FOR THE VARIOUS COMMAND PROCESSORS                0151.000
*                                                                       0152.000
         SPACE                                                          0153.000
         EXT       C.SAVE          *SCSI*                       EQIC360 0154.000
         EXT       S.WEOT          *SCSI*                       EQIC360 0155.000
         EXT       INQ.BUF         FILLED BY M.INQUIRY SERVICE  EQIC360 0156.000
         EXT       TAPZ            TAP LFC                      EQIC360 0157.000
         EXT       UDTADDR                                      EQIC360C0158.000
         EXT       X.RINQ          RESOURCE INQUIRY             EQIC360 0159.000
         EXT       TAPFCB          TAPE FCB                     EQIC360 0160.000
         EXT       S.BKSFIL        BACKSPACE ONE SAVE(D) FILE           0161.000
         EXT       S.BKSIMA        BACKSPACE ONE SAVE IMAGE             0162.000
         EXT       A.CLEAR         CLEAR DEFAULT OPTIONS                0163.000
         EXT       S.CONVRT        CONVERT SAVED FILES TO MPX-2.0       0164.000
         EXT       S.CREFIL        CREATE A FILE                        0165.000
         EXT       S.CREDIR        CREATE A DIRECTORY                   0166.000
         EXT       S.CRECOM        CREATE A COMMON                      0167.000
         EXT       S.CPYCMD        COPY FILES COMMAND                   0168.000
         EXT       S.DELCOM        DELETE COMMON (DYNAMIC MEM. PART.)   0169.000
         EXT       S.DELDIR        DELETE DIRECTORY(S)                  0170.000
         EXT       S.DELFIL        DELETE FILE(S)                       0171.000
         EXT       S.EXTEND        EXTEND A FILE                        0172.000
         EXT       S.HELP          HELP COMMAND                         0173.000
         EXT       S.LOGIMA        LOG (SAVE) IMAGE                     0174.000
         EXT       S.LOGSAV        LOG A SAVE(D) FILE                   0175.000
         EXT       S.LOGVOL        LOG (FILES ON A) VOLUME              0176.000
         EXT       S.RENAME        CHANGE NAME OF FILE                  0177.000
         EXT       S.RESDIR        RESTORE FILES VIA DIRECTORY          0178.000
         EXT       S.RESPOS        RESTORE FILES VIA POSITION           0179.000
         EXT       S.REWIND        REWIND SAVE TAPE TO BOT              0180.000
         EXT       S.SAVCMD        AND FOR SAVE FILES TO TAPE           0181.000
         EXT       S.SAVINC        SAVE INCREMENTAL                     0182.000
         EXT       S.SDT           MAKE SYSTEM DISTRIBUTION TAPE        0183.000
         EXT       S.SDTM          MAKE MASTER SYS. DISTRIBUTION TAPE   0184.000
         EXT       S.SET           SET DEFAULT OPTION VALUES            0185.000
         EXT       S.SKPEND        SKIP TO LOGICAL END-OF-TAPE          0186.000
         EXT       S.SKPFIL        SKIP A SAVE(D) FILE                  0187.000
         EXT       S.SKPIMA        SKIP A SAVE IMAGE                    0188.000
         EXT       S.TRNCAT        TRUNCATE FILE TO SMALLER SIZE        0189.000
         EXT       S.DEBUGT        TASK DEBUGGER ***TEMP***             0190.000
         EXT       S.DEBUGS        SYSTEM DEBUGGER ***TEMP***           0191.000
         EXT       C.LOGRES        LOG RESOURCE ENTRY POINT             0192.000
         EXT       FUPOPT          ROUTINE TO RESOLVE OPTIONS           0193.000
         EXT       FUPOPTD         ROUTINE TO COPY DEFAULT BOOLEAN      0194.000
*                                  OPTIONS TO THE GLOBAL AREA           0195.000
         EXT       FUPOPTG         ROUTINE TO COPY GLOBAL BOOLEAN       0196.000
*                                  OPTIONS TO THE LOCAL AREA(S)         0197.000
         EXT       TAPE.NUM        # TAPE FILES/IMAGES TO SKIP/BACKSPACE0198.000
*                                  INTEGER WORD VARIABLE                0199.000
*                                  IN=0 OUT=1 (INTEGER WORD VARIABLE)   0200.000
         EXT       FUPTIME         DATE/TIME OF FUP START               0201.000
         EXT       IO1BLEN         LAST VALID ENTRY ADDR IN IO1BUFF     0202.000
         EXT       IO1BIDX         PREV/CURR ENTRY ADDR IN IO1BUFF      0203.000
         EXT       IO1BUFF         BUFFER CONTAINING PROTOTYPE ENTRY(S) 0204.000
         EXT       GETPATH         TALLY SIGNIFICANT PART OF NAME       0205.000
         EXT       ADR.MASK        MASK CC'S LEAVING ADDRESS            0206.000
         EXT       FUPABRT3        ENTRY POINT IN ABORT MODULE          0207.000
         EXT       GEN.M008        ERROR MESSAGE                        0208.000
         EXT       GEN.M025        ERROR MESSAGE                        0209.000
*        EXT       GEN.M034        M.LOGMVT ERROR      E3RMS35A E3RMS35B0210.000
         EXT       FUPABC1         ABORT CODE                           0211.000
         EXT       FUPABC5         ABORT CODE 'VO05'           85-0367  0212.000
         EXT       PNB.BUF         PATHNAME BLOCK BUFFER                0213.000
         EXT       BUILDPNB        BUILD A PNB IN PNB.BUF               0214.000
         EXT       ERROR2          ROUTINE TO PRINT A MESSAGE           0215.000
         EXT       FUPRESOL        ROUTINES TO RESOLVE WILD CARDS       0216.000
         EXT       SORTINT         INTERNAL SORT ROUTINE                0217.000
         EXT       ERROR                                        ENSV-35 0218.000
         EXT       RD1.BUF                                      ENSV-35 0219.000
*        EXT       MVTE.BUF        BUFFER TO HOLD MVT EE3RMS35A E3RMS35B0220.000
         SPACE                                                          0221.000
*                                                                       0222.000
*   EXTERNAL REFERENCES FOR UTILITY ROUTINES                            0223.000
*                                                                       0224.000
         SPACE                                                          0225.000
*                                                                       0226.000
         EXT       TPARSE          TABLE PARSER                         0227.000
         EXT       GETNXTCL        GET NEXT COMMAND                     0228.000
         EXT       TEXTBUFR        START OF TEXT BUFFER                 0229.000
         EXT       TEXTSIZE        BUFFER SIZES                         0230.000
         EXT       TEXTLNGH        LENGHT OF THE BUFER                  0231.000
         EXT       LINEBUFR        START OF LINE BUFFER                 0232.000
         EXT       LINELNGH        BUFFER SIZES                         0233.000
         EXT       FORMATST        FORMAT OUTPUT STRING                 0234.000
         EXT       PRINTOUT        ROUTINE TO PRINT TO OUTPUT FILE      0235.000
         EXT       COPYSTRG        STRING COPYING ROUTINE               0236.000
         SPACE                                                          0237.000
*                                                                       0238.000
*  EXTERNAL DEFINITIONS FOR GLOBAL DATA                                 0239.000
*                                                                       0240.000
         SPACE                                                          0241.000
         DEF       FUP.000         MAIN DISPATCHER LOOP                 0242.000
         DEF       FUP.0018        TPARSE RTRN ADDR IN FUPMAN   EVOL-33 0243.000
         DEF       TOPOSTK         TOP OF THE STACK                     0244.000
         DEF       A.INIT          INITIALIZE PROTOTYPE TABLE & ITS     0245.000
*                                  ASSOCIATED VARIABLES                 0246.000
         DEF       A.MAKEP         MAKE A PROTOTYPE ENTRY               0247.000
         DEF       A.ERROR         PARSE ACTION ROUTINE TO RETURN ERROR 0248.000
         DEF       FLAGBITS        GLOBAL ACCESS TO THE FLAGS           0249.000
         DEF       FLAGBIT2        SECOND GLOBAL FLAG WORD      S881599 0250.000
         DEF       COMDADDR        COMMAND DISPATCHER ADDRESS           0251.000
         DEF       FORMATOT        FORMAT AND OUTPUT A MESSAGE          0252.000
         DEF       FILERTN         FILE UTILITY RETURN TO DISPATCHER    0253.000
         DEF       SS.PATNM        STATE EXPRESSION FOR FILE NAME       0254.000
         DEF       SS.CPTHN        STATE EXPRESSION FOR CREATE FILE NAME0255.000
         DEF       SS.PATN2        STATE TABLES FOR PARSING "TO=" PATHNA0256.000
         DEF       SS.CPATH        PARSE TABLE FOR COMMON PART. PATHNAME0257.000
         DEF       SS.DPATH        PARSE TABLE FOR DIRECTORY            0258.000
         DEF       SS.DDPTH        PARSE TABLE FOR DELETE DIRE PTHNME   0259.000
         DEF       SS.STRNG        STATE EXPRESSION FOR A STRING        0260.000
         DEF       SS.WSTRG        STATE EXPRESSION FOR WILD STING      0261.000
         DEF       SS.KWSYN        CHECK FOR VALID KEYWORD SYNTAX       0262.000
         DEF       SS.BOOL         PARSE BOOLEAN VALUE                  0263.000
         DEF       STACKPTR        STACK POINTER SAVE WORD              0264.000
         DEF       SS.ACCE         PARSE TABLE FOR ACCESSS ATTRIBUTES   0265.000
         DEF       SS.ACCEF        PARSE TABLE FOR FILE ACC. ATTRI.     0266.000
         DEF       SS.ENTR         PARSE TABLE FOR # ENTRIES (DIRECTORY)0267.000
         DEF       SS.FAST         PARSE TABLE FOR "FAST" BOOLEAN OPTION0268.000
         DEF       SS.OWNE         PARSE TABLE FOR OWNER NAME           0269.000
         DEF       SS.SHAR         PARSE TABLE FOR SHARED ATTRIBUTE     0270.000
         DEF       SS.STAR         PARSE TABLE FOR "START"ING BLOCK #   0271.000
         DEF       SS.USER         PARSE TABLE FOR USER NAME            0272.000
         DEF       SS.ALLO         PARSE TABLE FOR # BLOCKS TO ALLOCATE 0273.000
         DEF       SS.CONT         STATE TABLES FOR CONTIGUOUS=BOOL OPT.0274.000
         DEF       SS.MANE         STATE TABLES FOR MANUAL EXTEND OPTION0275.000
         DEF       SS.AUTO         STATE TABLES FOR AUTOMATIC EXTEND OPT0276.000
         DEF       SS.INCR         PARSE TABLE FOR FILE EXTENSION SIZE  0277.000
         DEF       SS.MAXS         PARSE TABLE FOR FILE AUTOMATIC       0278.000
*                                  EXTENSION -- MAXIMUM SIZE            0279.000
         DEF       SS.MINI         PARSE TABLE FOR FILE AUTOMATIC       0280.000
*                                  EXTENSION -- MINIMUM EXTENSION SIZE  0281.000
         DEF       SS.ZERO         STATE TABLES FOR ZERO=BOOL OPTION    0282.000
         DEF       SS.SEOF    STATE TABLES FOR SEOF=BOOL OPTION EQIC360 0283.000
         DEF       SS.SEGN         STATE TABLE FOR SEGNUM= OPT  EVOM-33 0284.000
         DEF       A.LOCAL1        ACTION FOR S.CREFIL          EVOM-33 0285.000
         DEF       SS.NOSA         PARSE TABLE FOR NOSAVE ATTRIBUTE     0286.000
         DEF       SS.SAVN         STATE TABLE FOR SAVING FILES         0287.000
*                                  CREATED WITH THE NOSAVE ATTRIBUTE    0288.000
         DEF       SS.NEWE         STATE TABLES FOR NEWEST=BOOL OPTION  0289.000
         DEF       SS.RAND         PARSE TABLE FOR "RANDOM" ATTRIBUTE   0290.000
         DEF       SS.REPL         PARSE TABLE FOR "REPLACE" SPECIFIER  0291.000
*                                  IE., DELETE EXISTING FILE W/SAME NAME0292.000
         DEF       SS.MEMC         MEMORY CLASS                         0293.000
         DEF       SS.FIRS         FIRSTPAGE                            0294.000
         DEF       SS.PROT         PROTOGRAN                            0295.000
         DEF       SS.INP          PARSE TABLE FOR PATHNAME= KEYWORD    0296.000
         DEF       SS.FROM         STATE TABLES FOR "FROM=" KEYWORD     0297.000
         DEF       SS.TO           STATE TABLES FOR "TO=" KEYWORD       0298.000
         DEF       DOBLOCK         DEFAULT OPTION BLOCK                 0299.000
         DEF       GOBLOCK         GLOBAL OPTION BLOCK                  0300.000
         DEF       LOBLOCK         LOCAL OPTION BLOCK(S)                0301.000
         DEF       COBADDR         CURRENT OPTION BLOCK ADDRESS         0302.000
         DEF       ADDRPTR         ABS. ADDR. FOR ACTION ROUTINE        0303.000
         DEF       A.GLOBAL        POSITION PTR TO GLOBAL OPTION AREA   0304.000
         DEF       A.LOCAL         POSITION PTR TO LOCAL OPTION AREA    0305.000
         DEF       PERR006         ERRVAL STATE   -- NO PATHNAME GIVEN  0306.000
*                                  TO STORE DATA                        0307.000
         DEF       BITPTR          BIT # TO SET/CLEAR                   0308.000
         SPACE                                                          0309.000
         DEF       PROTOTYP                                             0310.000
         DEF       PRONUM                                               0311.000
         DEF       PRONEXT                                              0312.000
         DEF       PROLEN                                               0313.000
         DEF       PROFIELD                                             0314.000
         DEF       SETDFBLK        SETUP DEFAULT OPTION BLOCK           0315.000
         DEF       AS.PROT         GET ADDRESS OF PLACE TO PUT          0316.000
*                                  MEMORY PARTITION SIZE IN OPTION BLOCK0317.000
         DEF       AS.FIRS         GET ADDRESS OF PLACE TO PUT MEMORY   0318.000
*                                  PARTITION START GRANULE NUMBER       0319.000
*                                  IN THE OPTION BLOCK                  0320.000
         DEF       SS.NUMB         SYNTAX GRAPH TO PARSE A DECIMAL OR   0321.000
*                                  HEXIDECIMAL NUMBER                   0322.000
         DEF       SS.TIMOP        SYNTAX GRAPH FOR TIME OPTIONS        0323.000
         DEF       SS.FIL                                               0324.000
         DEF       SS.IMA                                               0325.000
         DEF       SS.CONF                                              0326.000
         DEF       AS.DEF                                               0327.000
         DEF       SS.EXTS         SYNTAX GRAPH -- EXTENSION SIZE       0328.000
         DEF       SS.LIST         SYNTAX GRAPH FOR LISTING/BOOTFILE    0329.000
*                                  FILE PATHNAME PARSE                  0330.000
         DEF       SS.BRIE         BREIF=BOOL                           0331.000
         DEF       SS.TRUN         TRUNC_AU=BOOL                ETRN361 0332.000
         DEF       BLANKS          DOUBLE WORD OF SPACES                0333.000
         DEF       SYSTEM          DOUBLE WORD W/NAME "SYSTEM"          0334.000
         DEF       OWNER           OWNER NAME FROM DQE                  0335.000
         DEF       UGROUP          USERGROUP NAME FROM TSA              0336.000
         DEF       DVOL            DEFAULT VOLUME NAME FROM *TSA        0337.000
         DEF       DDIR            DEFAULT DIRECTORY NAME FROM TSA      0338.000
         DEF       SDIR            DEFAULT SYSTEM DIR NAME      E3RMS35B0339.000
         DEF       DVLENGTH        # SIGNIFICANT CHARS IN VOL. NAME     0340.000
         DEF       DDLENGTH        # SIGNIFICANT CHARS IN DIR. NAME     0341.000
         DEF       SDLENGTH        # SIG. CHARS IN SYS DIR NAME E3RMS35B0342.000
         DEF       AS.LIST1        ZEROS PROTOTYPE TABLE & ASSOCIATED   0343.000
         DEF       AS.LIST2                                             0344.000
*                                  VARIABLES                            0345.000
         SPACE                                                          0346.000
         DEF       VOLNAME         **G**                                0347.000
         SPACE                                                          0348.000
*                                                                       0349.000
*  DEFINE PARSE ERROR MESSAGE TEXT STRINGS                              0350.000
*                                                                       0351.000
         SPACE                                                          0352.000
         DEF       INVLIST         INVALID PARAMETER LIST               0353.000
         DEF       INVTERM         INVALID TERMINATOR                   0354.000
         DEF       INVPARM         INVALID PARAMETER                    0355.000
         DEF       INVKEY          INVALID KEYWORD                      0356.000
         DEF       REQKEY          REQUIRED KEYWORD IS MISSING          0357.000
         DEF       FROMPATH        ERROR MESSAGE - NO "FROM" PATHNAME   0358.000
         DEF       TOPATH          ERROR MESSAGE - NO "TO" PATHNAME     0359.000
         DEF       SEOFMSG         ERROR MESSAGE - SEOF CHANGE  EQIC360D0360.000
         LIST      NOMAC,NODATA                                         0361.000
         M.EQUS                    SYSTEM EQUATES                       0362.000
         M.FCB.                    FILE CONTROL BLOCK VALUES            0363.000
         M.DQE.                    DISPATCH QUEUE EQUATES               0364.000
         M.UDT.                    UNIT DEFIN. TABLE EQUATES    EQIC360 0365.000
         STINIT                    INITIALIZE TPARSE VALUES             0366.000
         M.RCB                     RESOURCE CREATE BLOCK EQUATES        0367.000
         M.MV.TEQ                  MOUNTED VOLUME TABLE EQUATES         0368.000
         M.RDCOM   RD                                           E3RMS35B0369.000
         M.RDSPD   RD              RD SPACE DEFINITION PARMS    E3RMS35B0370.000
MAX.PATH EQU       255             LONGEST PATHNAME                     0371.000
NAMESIZE EQU       16              LENGTH OF NAME STRING VALUES         0372.000
WILD.F   EQU       6               WILD CARD ENCOUNTERED IN THIS        0373.000
*                                  PROTOTYPE ENTRY                      0374.000
         SPACE     5                                                    0375.000
         SPACE                                                          0376.000
*                                                                       0377.000
*    LOCAL MACROS                                                       0378.000
*                                                                       0379.000
         SPACE                                                          0380.000
*!TCOMD  DEFM      COMD            MACRO TO COMMAND TO EXECUTE          0381.000
*!       LA        R7,%COMD        GET THE ADDRESS                      0382.000
*!       STW       R7,COMDADDR     STORE THEMCOMMANDIADDRESS            0383.000
*!       ENDM                                                           0384.000
*!                                                                      0385.000
*!                                                                      0386.000
*                                                                       0387.000
         BOUND     1F                                                   0388.000
*                                                                       0389.000
*    ALLOCATE SPACE FOR A STACK                                         0390.000
*                                                                       0391.000
STACK    REZ       16F             STACK SPACE                          0392.000
TOPOSTK  EQU       $               TOP OF THE STACK                     0393.000
BLANKS   DATAD     C'        '     DOUBLE WORD OF BLANKS                0394.000
SYSTEM   DATAD     C'SYSTEM  '                                          0395.000
         DATAB     C'(C) COPYRIGHT 1989 ENCORE COMPUTER CORPORATION'    0396.000
STACKPTR REZ       1W              STACK POINTER SAVE WORD              0397.000
         BOUND     1D                                                   0398.000
LISTPATH REZ       PRONM.O*3       3 PART PATHNAME FOR "LISTING" FILE   0399.000
BOOTPATH REZ       PRONM.O*3       3 PART PATHNAME FOR "BOOTFILE" FILE  0400.000
DOBLOCK  EQU       $               DEFAULT OPTION BLOCK                 0401.000
         REZ       OPT.LEN                                              0402.000
         BOUND     1W                                                   0403.000
FLAGBITS REZ       1W              COMMAND FLAG SPACE                   0404.000
FLAGBIT2 REZ       1W              SECOND COMMAND FLAG SPACE    S881599 0405.000
         BOUND     1D              PNB MUST BE DOUBLE WORD BOUNDED      0406.000
GLOBPATH REZ       20W             SIZE OF LARGEST PATHNAME BLOCK +2W   0407.000
         SPACE                                                          0408.000
INITZERO EQU       $               BEGINNING OF AREA TO ZERO            0409.000
         SPACE                                                          0410.000
ERRORBK  REZ       4W              ERROR FORMAT PARAMETER BLOCK         0411.000
COMDADDR REZ       1W              SUB COMMAND EXECUTION ROUTINE        0412.000
COBADDR  REZ       1W              CURRENT OPTION BLOCK ADDRESS         0413.000
BITPTR   REZ       1W              BIT # TO CLEAR/SET                   0414.000
ADDRPTR  REZ       1W              ABSOLUTE ADDRESS OF DATA AREA        0415.000
ADDRPTR2 REZ       1W              FOR BOOLEAN OPTIONS USING BOTH       0416.000
* OPTION BLOCK WORDS OPT.SFLG & OPT.NFLG                                0417.000
* PRESENCE OF AN ADDRESS IN THIS WORD VARIABLE INDICATES BITS IN BOTH   0418.000
* WORDS MUST BE ACTED UPON; THE ADDR IS THE ABSOLUTE ADDRESS OF WORD    0419.000
* OPT.NFLG IN THE CURRENT OPTION BLOCK                                  0420.000
*                                                                       0421.000
         SPACE                                                          0422.000
         BOUND     1D                                                   0423.000
         SPACE                                                          0424.000
VOLNAME  REZ       2D              **G**                                0425.000
         SPACE                                                          0426.000
GOBLOCK  EQU       $               GLOBAL OPTION BLOCK                  0427.000
         REZ       OPT.LEN                                              0428.000
LOBLOCK  EQU       $               LOCAL OPTION BLOCK(S)                0429.000
         REZ       49*OPT.LEN                                  V.43     0430.000
         BOUND     4W                                                   0431.000
         SPACE                                                          0432.000
INITZER2 EQU       $                                                    0433.000
         SPACE                                                          0434.000
PROTOTYP REZ       48*PROSZ.O      PROTOTYPE TABLE -- 48 * (32W) ENTRIES0435.000
PROMXIDX EQU       $-PROTOTYP      MAXIMUM INDEX INTO "PROTOTYP" TABLE  0436.000
         SPACE                                                          0437.000
PRONEXT  REZ       1W              ADDR. OF NEXT "PROTOTYP" TABLE ENTRY 0438.000
PRONUM   REZ       1W              NUMBER OF PROTOTYPES USER INPUT      0439.000
PROFIELD REZ       1W              ADDR. OF A FIELD WITHIN AN ENTRY     0440.000
PROBYTE  REZ       1W              ADDR. OF FIRST FREE BYTE IN A FIELD  0441.000
PROLEN   REZ       1W              ADDR. OF A LENGTH FIELD              0442.000
PROQUO   REZ       1W              ADDR. OF QUOTE FLAG                  0443.000
         BOUND     1W              ROUND TO WORD BOUNDRY                0444.000
         SPACE                                                          0445.000
NUMBZERO EQU       $-INITZERO/4    NUMBER OF WORDS TO ZERO OUT          0446.000
NUMBZER2 EQU       $-INITZER2/4    NUMBER OF WORDS TO ZERO OUT          0447.000
         SPACE                                                          0448.000
SET.CLR  EQU       $                                                    0449.000
         ZBM       0,0B,X2         PROTOTYPE INSTRUCTION                0450.000
         SBM       0,0B,X2         PROTOTYPE INSTRUCTION                0451.000
         SPACE                                                          0452.000
GWILDFLG EQU       $                                                    0453.000
         SBM       GWILD.F,FLAGBITS  INDICATE WILD CARD IN "FROM" PATHNA0454.000
         SBM       GWILDT.F,FLAGBITS INDICATE WILD CARD IN "TO" PATHNAME0455.000
         SPACE                                                          0456.000
*                                                                       0457.000
*        INFORMATION ABOUT DEFAULT VOLUME NAME & DEFAULT DIRECTORY NAME 0458.000
*        & USERGROUP NAME & OWNER NAME OBTAINED FROM TSA, MVT & DQE     0459.000
*                                                                       0460.000
         SPACE                                                          0461.000
         BOUND     1D                                                   0462.000
         SPACE                                                          0463.000
OWNER    REZ       1D              OWNER NAME FROM DQE                  0464.000
UGROUP   REZ       1D              USERGROUP NAME FROM TSA              0465.000
DVOL     REZ       4W              DEFAULT VOLUME NAME                  0466.000
DDIR     REZ       4W              DEFAULT DIRECTORY NAME               0467.000
SVOL     REZ       4W              SYSTEM VOLUME'S ACTUAL NAME          0468.000
SDIR     REZ       4W              SYSTEM DIRECTORY'S NAME      E3RMS35B0469.000
DVLENGTH REZ       1B              DEF. VOLUME NAME - LENGTH IN BYTES   0470.000
DDLENGTH REZ       1B              DEF. DIRECTORY NAME - LENGTH IN BYTES0471.000
SVLENGTH REZ       1B              SYS. VOL. NAME - LENGTH IN BYTES     0472.000
SDLENGTH REZ       1B              LENGTH OF SYSTEM DIR NAME    E3RMS35B0473.000
         SPACE                                                          0474.000
GWILDIDX REZ       1B              INDEX TO GWILDFLG (0 OR 4B)          0475.000
*                                                                       0476.000
*    DEFINE FORMAT STINGS                                               0477.000
*                                                                       0478.000
         SPACE                                                          0479.000
         CSECT                                                          0480.000
         SPACE                                                          0481.000
         SPACE                                                          0482.000
PER.FMT  DATAB     C' ERROR FROM PARSE - %Z  \%Z\',0                    0483.000
         SPACE                                                          0484.000
*                                                                       0485.000
*    DEFINE ERROR MESSAGES                                              0486.000
*                                                                       0487.000
INVCOMD  DATAB     C'INVALID COMMAND VERB',0                            0488.000
INVQUOTE DATAB     C'QUOTED STRING NOT PROPERLY TERMINATED',0           0489.000
INVTERM  DATAB     C'INVALID TERMINATOR',0                              0490.000
INVPARM  DATAB     C'INVALID COMMAND PARAMETER',0                       0491.000
FROMPATH DATAB     C'REQUIRED ""FROM"" PATHNAME NOT FOUND',0            0492.000
TOPATH   DATAB     C'REQUIRED ""TO"" PATHNAME NOT FOUND',0              0493.000
CMDSYNTX DATAB     C'INVALID COMMAND SYNTAX',0                          0494.000
INVKEY   DATAB     C'INVALID KEYWORD',0                                 0495.000
INVTIME  DATAB     C'INVALID TIME',0                                    0496.000
REQKEY   DATAB     C'REQUIRED KEYWORD MISSING',0                        0497.000
INVLIST  DATAB     C'INVALID PARAMETER LIST',0                          0498.000
MPERR001 DATAB     C'NAME IS GREATER THAN 16 CHARACTERS',0              0499.000
MPERR002 DATAB     C'PROTOTYPE TABLE IS FULL, > 48 ENTRIES',0           0500.000
MPERR003 DATAB     C'NAME EXPECTED, BUT NOT FOUND',0                    0501.000
MPERR004 DATAB     C'NUMBER IS > 8 ASCII DIGITS IN LENGTH',0            0502.000
MPERR005 DATAB     C'OWNER/USERGROUP NAME IS > 8 CHARACTERS IN LENGTH',00503.000
MPERR006 DATAB     C'ONE (OR MORE) PATHNAME(S) MUST BE SPECIFIED',0     0504.000
MPERR007 DATAB     C'PATHNAME TOO LONG',0                               0505.000
*!ERR008 DATAB     C'NO SYSTEM VOLUME DEFAULT',0        E3RMS35 E3RMS35B0506.000
E.BOOL   DATAB     C'INVALID SPECIFICATION OF A BOOLEAN OPTION VALUE',0 0507.000
E.NUMB   DATAB     C'ENDING QUOTE ON A RADIX INDICATOR NOT FOUND',0     0508.000
E.NUMBH  DATAB     C'INVALID SPECIFICATION OF A HEXIDECIMAL NUMBER',0   0509.000
E.NUMBD  DATAB     C'INVALID SPEICIFICATON OF A DECIMAL NUMBER',0       0510.000
E.ACCESS DATAB     C'INVALID ACCESS PARAMETER',0                        0511.000
E.ACCOPT DATAB     C'INVALID SPECIFICATION OF ACCESS OPTIONS',0         0512.000
         BOUND     1W                                                   0513.000
SAVE.EOT DATAB     C' SAVE      *** EOT ***',0   *SCSI*         EQIC360 0514.000
         BOUND     1W                                           EQIC360 0515.000
SAVERMSG DATAB     C' SAVE INVALID AFTER OTHER TAPE MOVEMENT',0 EQIC360 0516.000
         BOUND     1W                                           EQIC360 0517.000
SEOFMSG  DATAB     C' SEOF MODE CAN ONLY BE CHANGED AT BOT',0   EQIC360 0518.000
         BOUND     1W                                           EQIC360 0519.000
*                                                                       0520.000
*    DEFINE COMMAND FLAGS                                               0521.000
*                                                                       0522.000
         SPACE                                                          0523.000
         BOUND     1F              GET TO A NICE BOUNDRY                0524.000
FILEUTIL EQU       $               THE FILE UTILITY COMMAND             0525.000
***                                *** TEMP ***                         0526.000
*!       BL        *C.DEBUG        F8900B5C                             0527.000
         NOP                       ... TO PATCH IN A BRANCH & LINK      0528.000
         NOP                       TO THE SYSTEM DEBUGGER               0529.000
         NOP                                                            0530.000
         NOP                                                            0531.000
***                                *** TEMP ***                         0532.000
         LA        R1,FUPTIME      2W BUFFER TO HOLD DATE AND TIME      0533.000
         ORMW      R1,=X'01000000' WANT BINARY DATE & TIME RETURNED     0534.000
         SVC       2,X'50'                                              0535.000
*  WARNING:  THIS SERVICE CALL USES R1 (PROGRAM STACK POINTER)          0536.000
         SPACE     2                                                    0537.000
         LA        R1,TOPOSTK      RESET THE STACK, INITIALIZE STACK PTR0538.000
         ZMW       FLAGBITS        INITIALIZE                           0539.000
         BL        GETNAMES        GET OWNER NAME, USERGROUP NAME,      0540.000
*                                  DEFAULT VOLUME & DIRECTORY NAMES     0541.000
         BL        SETDFBLK        SET UP DEFAULTS IN DEFAULT BLOCK     0542.000
         LW        R7,TAPZ         GET TAP LFC                  EQIC360 0543.000
         BL        X.RINQ          FILL M.INQUIRY BUFFER        EQIC360 0544.000
         LA        R2,INQ.BUF  GET BUFFER FILLED BY M.INQUIRY   EQIC360 0545.000
         LW        R2,2W,X2    GET UDT ADDRESS                  EQIC360 0546.000
         STW       R2,UDTADDR                                   EQIC360C0547.000
*        TBM       UDT.QIC,UDT.OPT,X2    IS THIS A QIC  EQIC360 EQIC360A0548.000
*        BS        FUP.0011              IF SO, SET SOF EQIC360 EQIC360A0549.000
         TBM       UDT.SEOF,UDT.OPT,X2   DID USER SPECIFY SEOF? EQIC360 0550.000
         BNS       FUP.0013              IF NOT, CONTINUE       EQIC360 0551.000
*UP.0011 CEQU      $                                    EQIC360 EQIC360A0552.000
         LA        R2,DOBLOCK      OPTION BLOCK ADDR            EQIC360 0553.000
         SBM       OPT.B.SE,OPT.FLGS,X2  SET FLAG FOR SOFT EOF  EQIC360 0554.000
FUP.0013 CEQU      $                                            EQIC360 0555.000
         SPACE                                                          0556.000
*                                                                       0557.000
* GET THE START DATE/TIME FOR CONSISTENT DATES ON TAPE ETC.             0558.000
*                                                                       0559.000
*                                                                       0560.000
FUP.000  LI        R4,-NUMBZERO    NEGATIVE NUMBER OF WORDS TO ZERO     0561.000
         LA        R3,INITZERO     START OF LOCATIONS TO ZERO           0562.000
FUP.001  ZMW       0W,R3           ZERO OUT A WORD                      0563.000
         ADI       R3,1W           BUMP THE POINTER TO NEXT LOCATION    0564.000
         BIB       R4,FUP.001      LOOP UNTIL DONE                      0565.000
*!       ZBM       NOOPT.F,FLAGBITS     MAKE SURE IT'S OFF ... JUST IN  0566.000
*!                                 CASE PARSE FAILED                    0567.000
*!       ZBM       NOLIST.F,FLAGBITS    TURN LISTING INHIBIT FLAG OFF   0568.000
*!       ZBM       GWILD.F,FLAGBITS     INITIALIZE WILD CARD(S)         0569.000
*!                                      ENCOUNTERED FLAG                0570.000
*!       ZBM       IO1USE.F,FLAGBITS    INITIALIZE IO1 SCRATCH FILE USED0571.000
*!                                      FLAG                            0572.000
*!       ZBM       SORT.F,FLAGBITS      INITIALIZE SORT REQUIRED FLAG   0573.000
*!       ZBM       PONLY.F,FLAGBITS     INITIALIZE                      0574.000
*!       ZBM       PANDF.F,FLAGBITS     INITIALIZE                      0575.000
*!       ZBM       DONLY.F,FLAGBITS     INITIALIZE                      0576.000
*!       ZBM       DREAD.F,FLAGBITS     INITIALIZE                      0577.000
         SPACE                                                          0578.000
         LW        R0,FLAGBITS     GET THE BOOLEAN FLAG WORD            0579.000
         ANMW      R0,=X'AD820FFF' INITIALIZE THE APPROPRIATE BITS      0580.000
*                                  28-JUL-81                            0581.000
         STW       R0,FLAGBITS     PUT AWAY                             0582.000
         SPACE                                                          0583.000
         LA        R0,FILERTN      GET COMMAND ERROR ADDRESS            0584.000
         STW       R0,COMDADDR     SET AS DEFAULT INCASE PARSE DOESN'T  0585.000
         BL        GETNXTCL        GET THE NEXT COMMAND LINE            0586.000
         BCT       CC1,FUPEXIT     GO TO TERMINATE THIS PROGRAM         0587.000
         BCF       CC2,FUP.0015    GO FOR NOT LINE BUFFER OVERFLOW      0588.000
*                                                                       0589.000
*  LINE BUFFER OVERFLOW HAS OCCURED  --  IGNORE ALL PREVIOUS            0590.000
*  INPUT LINES & GET ANOTHER COMMAND                                    0591.000
*                                                                       0592.000
         LA        R7,GEN.M008     ERROR MESSAGE                        0593.000
         BL        ERROR2          PRINT THE ERROR MESSAGE              0594.000
         BU        FUP.000         GO GET MORE COMMANDS                 0595.000
         SPACE     2                                                    0596.000
FUP.0015 EQU       $                                                    0597.000
         SPACE                                                          0598.000
         LA        R2,TEXTBUFR     START OF COMMAND LINE                0599.000
         LA        R3,S.INITL      ADDRESS OF INITIAL STATE             0600.000
         LH        R4,TEXTSIZE     GET NUMBER OF BYTES IN COMMAND       0601.000
         BL        TPARSE          PARSE THE COMMAND                    0602.000
FUP.0018 BNS       FUP.010         BR IF NO PARSE ERROR         EVOL-33 0603.000
         TRN       R4,R4           GET LENGTH AS POSITIVE NUMBER        0604.000
         TRR       R7,R7           DID PARSER RETURN ERROR              0605.000
         BNE       FUP.002         BR IF YES                            0606.000
         LA        R7,CMDSYNTX     SET GENERAL ERROR MESSAGE            0607.000
FUP.002  STW       R7,ERRORBK      STORE FIRST PARAM TO FORMATTER       0608.000
         STW       R2,ERRORBK+1W   AND SECOND IS POINT IN STRING OF ERR 0609.000
         CI        R4,24           SEE IF WE CAN PRINT REST OF LINE     0610.000
         BLE       FUP.005         BR IF YES                            0611.000
         LI        R4,24           SET UPPER LIMIT TO PRINT             0612.000
FUP.005  ADR       R4,R2           FIND END OF STRING TO PRINT          0613.000
         ZMB       0B,R2           PLACE END OF LINE MARK IN THE BUFFER 0614.000
         LA        R2,PER.FMT      ADDRESS OF FORMAT STRING             0615.000
         LA        R3,ERRORBK      GET FORMAT PARAMETER BLOCK           0616.000
         BL        FORMATOT        FORMAT AND OUTPUT MESSAGE            0617.000
         BU        FUP.000         CHECK FOR MORE COMMANDS              0618.000
FUP.010  EQU       $                                                    0619.000
         ZBM       NOOPT.F,FLAGBITS     NO OPTION PROCESSING NECESSARY ?0620.000
         BS        FUP.020         GO FOR NO OPTION PROCESSING NECESSARY0621.000
         BL        FUPOPT          RESOLVE LOCAL & GLOBAL & DEFAULT     0622.000
*                                  OPTIONS                              0623.000
         SPACE                                                          0624.000
FUP.020  EQU       $                                                    0625.000
         TBM       GWILD.F,FLAGBITS     WILD CARDS ENCOUNTERED DURING   0626.000
*                                       PARSE ???                       0627.000
         BNS       FUP.030         GO FOR NO WILD CARDS USED            0628.000
         BL        FUPRESOL        RESOLVE THE WILD CARDS               0629.000
         BNS       FUP.040         JOIN COMMON CODE IF AT LEAST 1 MATCH 0630.000
*                                                                       0631.000
*  NO MATCHES WERE FOUND AT ALL (MAYBE BECAUSE THERE WERE PROTECTED     0632.000
*  DIRECTORY(S) !).  PRINT MESSAGE TO THIS EFFECT AND GO GET THE NEXT   0633.000
*  COMMAND.                                                             0634.000
*                                                                       0635.000
         LA        R7,GEN.M025     ERROR MESSAGE                        0636.000
         BL        ERROR2          PRINT THE MESSAGE                    0637.000
         BU        FUP.000         GET THE NEXT COMMAND                 0638.000
         SPACE     2                                                    0639.000
FUP.030  EQU       $                                                    0640.000
         TBM       SORT.F,FLAGBITS      SORTING REQUIRED BUT NO WILD    0641.000
*                                  CARDS USED ???                       0642.000
         BNS       FUP.040         GO FOR NO SORTING NECCESSARY         0643.000
*  DO AN INTERNAL SORT                                                  0644.000
         LA        R2,PROTOTYP     BUFFER CONTAINING ENTRY(S) TO SORT   0645.000
         LA        R3,PRONUM       # ENTRY(S) IN BUFFER TO SORT         0646.000
*                                                                       0647.000
*  SORT VIA ALL THREE PATHNAME COMPONENTS IE., VOL, DIR & FILE          0648.000
*  ... FILE PART WILL NOT BE VALID FOR A LOG OF DIRECTORY(S), HOWEVER,  0649.000
*  THE SORT WILL STILL HANDLE THIS.                                     0650.000
*                                                                       0651.000
         LI        R4,PRONM.O*3    LENGTH OF KEY; IE., VOL, DIR & FILE  0652.000
         BL        SORTINT         IN MEMORY SORT                       0653.000
FUP.040  EQU       $                                                    0654.000
         SPACE                                                          0655.000
*                                  ***START*** FOR "FUPPRO" MODULE      0656.000
         ZMW       PROFIELD        INITIALIZE COUNTER FOR PROTO. TABLE  0657.000
         TBM       IO1USE.F,FLAGBITS    WAS IO1 TEMPORARY FILE USED ??? 0658.000
         BS        FUP.050         GO FOR IO1 TEMPORARY FILE USED       0659.000
         LA        R0,IO1BUFF      1ST ENTRY IN BUFFER                  0660.000
         SUI       R0,PROSZ.O      INITIALIZE BUFFER POINTER SO 1ST     0661.000
*  ENTRY WILL BE AT BUFFER STARTING ADDRESS                             0662.000
         BU        FUP.060         JOIN COMMON CODE                     0663.000
         SPACE     2                                                    0664.000
FUP.050  EQU       $                                                    0665.000
         LW        R0,IO1BLEN      END OF IO1 BUFFER ADDRESS            0666.000
         SPACE                                                          0667.000
FUP.060  EQU       $                                                    0668.000
         SPACE                                                          0669.000
         STW       R0,IO1BIDX      INITIALIZE CURRENT ENTRY POINTER SO  0670.000
*  READ FROM SCRATCH FILE WILL TAKE PLACE IMMEDIATELY.                  0671.000
*                                  ***END*** FOR "FUPPRO" MODULE        0672.000
         SPACE                                                          0673.000
         LA        R2,DOBLOCK      GET DEFAULT OPT BLOCK ADDR   EQIC360 0674.000
         TBM       OPT.B.SE,OPT.FLGS,X2  SOFT EOF?              EQIC360 0675.000
         BNS       JOIN            NO - EXECUTE COMMAND         EQIC360 0676.000
*                                                               EQIC360 0677.000
* CHECK IF SAVE COMMAND TO KNOW IF EOT IS NECESSARY             EQIC360 0678.000
*                                                               EQIC360 0679.000
         LA        R4,C.SAVE       IS THIS A SAVE COMMAND?      EQIC360 0680.000
         CAMW      R4,COMDADDR     CHECK AGAINST PARAM          EQIC360 0681.000
         BNE       CHKRWND         NO - CHECK IF REWIND         EQIC360 0682.000
*        TBM       TPMVFLAG,FLAGBITS HAVE WE MOVED THE TAPE?    EQIC360B0683.000
*        BS        SAVERR          YES - INVALID SAVE COMMAND   EQIC360B0684.000
         ZBM       WEOTFLAG,FLAGBITS VALID SAVE;RESET EOT FLAG  EQIC360 0685.000
         BU        JOIN            GO EXECUTE SAVE              EQIC360 0686.000
SAVERR   CEQU      $               INVALID SAVE COMMAND         EQIC360 0687.000
         ZBM       SAVEFLAG,FLAGBITS SAVE NOT EXECUTED          EQIC360 0688.000
         LA        R2,SAVERMSG     ERROR MESSAGE                EQIC360 0689.000
         BL        FORMATOT        OUTPUT MESSAGE               EQIC360 0690.000
         BU        FUP.000         GET NEXT COMMAND             EQIC360 0691.000
CHKRWND  CEQU      $                                            EQIC360 0692.000
         BL        CHKWEOT         WRITE EOT IF NECESSARY       EQIC360 0693.000
         ZBM       RWNDFLAG,FLAGBITS IS THIS A REWIND COMMAND?  EQIC360 0694.000
         BNS       JOIN            NO - GO EXECUTE COMMAND      EQIC360 0695.000
         ZBM       SAVEFLAG,FLAGBITS READY TO SAVE FROM BOT     EQIC360 0696.000
         ZBM       TPMVFLAG,FLAGBITS TAPE AT BOT                EQIC360 0697.000
JOIN     CEQU      $                                            EQIC360 0698.000
         BL        *COMDADDR       EXECUTE SUB COMMAND PROCESSOR        0699.000
FILERTN  BU        FUP.000         ERROR?                               0700.000
         SPACE     4                                                    0701.000
FUPEXIT  EQU       $               ALL DONE                             0702.000
         LA        R2,DOBLOCK      GET DEFAULT OPT BLOCK ADDR   EQIC360 0703.000
         TBM       OPT.B.SE,OPT.FLGS,X2  SOFT EOF?              EQIC360 0704.000
*        BNS       FUPEXIT1        NO - BACK TO OS      EQIC360 CP12491 0705.000
         BNS       FUPEXIT0        NO - SKIP WEOT               CP12491 0706.000
         SBM       TPMVFLAG,FLAGBITS FORCE WEOT IF NECESSARY    EQIC360 0707.000
         BL        CHKWEOT         WRITE EOT IF NECESSARY       EQIC360 0708.000
FUPEXIT0 CEQU      $                                            CP12491 0709.000
         TBM       B.TAPERR,FLAGBITS  ANY TAPE I/O ERROR?      85-0367  0710.000
         BS        FUPEXIT2           IF YES, ABORT WITH VO05  85-0367  0711.000
         TBM       ABORT.F,FLAGBITS     IS ABORT FLAG SET?              0712.000
         BNS       FUPEXIT1        NO, BRANCH                           0713.000
         LW        R5,FUPABC1      ABCODE 'VO01'                        0714.000
         SVC       1,X'57'         ABORT SELF                           0715.000
FUPEXIT2 LW        R5,FUPABC5      ABORT CODE = 'VO05'         85-0367  0716.000
         SVC       1,X'57'         ABORT SELF                  85-0367  0717.000
*                                                                       0718.000
FUPEXIT1 M.EXIT                    BACK TO THE OS!                      0719.000
*                                                               EQIC360 0720.000
* CHKWEOT CHECKS IF AN EOT HAS BEEN WRITTEN TO THE SAVE TAPE    EQIC360 0721.000
* USING THE SOFT EOF FORMAT.  IF SO, IT RETURNS TO THE CALLER.  EQIC360 0722.000
* IF NOT, IT WRITES AN EOT IF NECESSARY AND OUTPUTS THE EOT     EQIC360 0723.000
* MESSAGE TO SLO.                                               EQIC360 0724.000
*                                                               EQIC360 0725.000
CHKWEOT  CEQU      $                                            EQIC360 0726.000
         PUSH                                                   EQIC360 0727.000
         TBM       WEOTFLAG,FLAGBITS ALREADY HAVE ONE?          EQIC360 0728.000
         BS        EXITWEOT        YES - RETURN TO CALLER       EQIC360 0729.000
         TBM       SAVEFLAG,FLAGBITS HAVE WE SAVED ANYTHING?    EQIC360 0730.000
         BNS       EXITWEOT        NO - CHECK REWIND            EQIC360 0731.000
         TBM       TPMVFLAG,FLAGBITS POSSIBLE TAPE MOVEMENT?    EQIC360 0732.000
         BS        WRITEEOT        YES - WRITE EOT              EQIC360 0733.000
         TBM       RWNDFLAG,FLAGBITS TAPE REWIND?               EQIC360 0734.000
         BNS       EXITWEOT        NO - DO NOT WRITE EOT        EQIC360 0735.000
WRITEEOT CEQU      $                                            EQIC360 0736.000
         BL        S.WEOT          WRITE EOT                    EQIC360 0737.000
         LA        R2,SAVE.EOT     GET AUDIT LINE ADDRESS       EQIC360 0738.000
         BL        FORMATOT        OUTPUT TO SLO                EQIC360 0739.000
         SBM       WEOTFLAG,FLAGBITS SET EOT FLAG               EQIC360 0740.000
EXITWEOT CEQU      $                                            EQIC360 0741.000
         POP                                                    EQIC360 0742.000
         TRSW      R0                                           EQIC360 0743.000
*                                                               EQIC360 0744.000
         TITLE     GETNAMES ROUTINE                                     0745.000
GETNAMES EQU       $                                                    0746.000
         SPACE                                                          0747.000
         PUSH                      SAVE REGS                            0748.000
*        GET NAMES FROM TSA & DQE                                       0749.000
         LW        R2,C.TSAD       ADDR TSA                             0750.000
         LD        R4,T.PRJCT,X2   PROJECT GROUP NAME                   0751.000
         STD       R4,UGROUP       SAVE IT                              0752.000
         LD        R4,T.CDIR,X2    CURRENT WORKING DIRECTORY NAME       0753.000
         STD       R4,DDIR         SAVE 1ST HALF                        0754.000
         LD        R4,T.CDIR+1D,X2                                      0755.000
         STD       R4,DDIR+1D      SAVE 2ND HALF                        0756.000
*        LIFT VOLUME NAME FROM CURRENT WORKING VOLUME'S RID             0757.000
         LD        R4,T.CVOL,X2    1ST HALF VOLUME NAME                 0758.000
         STD       R4,DVOL         SAVE IT                              0759.000
         LD        R4,T.CVOL+1D,X2      2ND HALF VOLUME NAME            0760.000
         STD       R4,DVOL+1D                                           0761.000
*                                                                       0762.000
*        CALCULATE SIGNIFICANT LENGTH OF VOLUME & DIRECTORY NAMES       0763.000
*                                                                       0764.000
         LA        R7,DVOL         VOLUME NAME                          0765.000
         BL        GETPATH         GET LENGTH EXCLUDING TRAILING BLANKS 0766.000
         SRL       R7,24           ISOLATE LENGTH                       0767.000
         STB       R7,DVLENGTH     SAVE SIGNIFICANT LENGTH              0768.000
         LA        R7,DDIR         DIRECTORY NAME                       0769.000
         BL        GETPATH         GET LENGTH EXCLUDING TRAILING BLANKS 0770.000
         SRL       R7,24           ISOLATE LENGTH                       0771.000
         STB       R7,DDLENGTH     SAVE SIGNIFICANT LENGTH              0772.000
         LW        R3,T.PRNO,X2    ADDRESS OF DQE                       0773.000
         LD        R4,DQE.ON,X3    OWNER NAME                           0774.000
         STD       R4,OWNER        SAVE IT                              0775.000
*!       TRR       R1,R5           SAVE STACK POINTER   ENSV-35 E3RMS35A0776.000
*!       LW        R1,NSVPNBV      GET PNB VECTOR       ENSV-35 E3RMS35A0777.000
*!       LA        R6,RD1.BUF      GET ADDR OF RD BUFFERENSV-35 E3RMS35A0778.000
*!       ZR        R7              NO CNP               ENSV-35 E3RMS35A0779.000
*!       SVC2.2C                   H.REMM,13            ENSV-35 E3RMS35A0780.000
*!       BS        NSVERR          IF ERROR RETURN, EXITENSV-35 CP11445 0781.000
*!       BNS       FUP.006         NO ERROR             CP11445 E3RMS35A0782.000
*!       TBM       C.TAPACT,C.BIT  WAS THIS A TAPE ACTIVCP11445 E3RMS35A0783.000
*!       BNS       NSVERR          IF NOT, ERROR        CP11445 E3RMS35A0784.000
*!P.006  CEQU      $                                    CP11445 E3RMS35A0785.000
*!       LA        R1,RD1.BUF      GET ADDR OF RD BUFFERENSV-35 E3RMS35A0786.000
*!       LD        R6,0D,X1        GET SYS VOL NAME     ENSV-35 E3RMS35A0787.000
*!       STD       R6,SVOL         STORE AWAY           ENSV-35 E3RMS35A0788.000
*!       LD        R6,1D,X1        GET 2ND HALF OF NAME ENSV-35 E3RMS35A0789.000
*!       STD       R6,SVOL+1D      STORE AWAY           ENSV-35 E3RMS35A0790.000
*!       TRR       R5,R1           RESTORE STACK PTR    ENSV-35 E3RMS35A0791.000
*!       LW        R2,C.MVTA       ADDRESS OF MVT ENTRYS        ENSV-35 0792.000
*                                                                       0793.000
*  GET THE ACTUAL NAME OF THE "SYSTEM" VOLUME                           0794.000
*! NOTE:  1ST MVT ENTRY IS ALWAYS FOR THE SYSTEM VOLUME                 0795.000
*! NOTE:  WE WILL USE THE M.LOGMVT SERVICE TO EXAMINE ALL THE   E3RMS35A0796.000
*!        MVT ENTRIES UNTIL WE FIND THE SYSTEM VOLUME BIT SET   E3RMS35A0797.000
*  NOTE: WE WILL GO BACK TO USING M.LOC TO GET THE REAL SYSTEM  E3RMS35B0798.000
*        VOLUME NAME, AND IN ADDITION SAVE THE REAL SYSTEM      E3RMS35B0799.000
*        DIRECTORY NAME IN CASE IT IS NODEDIR FOR A NO SYSTEM   E3RMS35B0800.000
*        VOLUME NODE.                                           E3RMS35B0801.000
*                                                                       0802.000
*!       LD        R4,MV.VOLNM,X2  1ST HALF OF SYSTEM VOLUME NAMENSV-35 0803.000
*!       STD       R4,SVOL         SAVE IT                      ENSV-35 0804.000
*!       LD        R4,MV.VOLNM+1D,X2    2ND HALF OF SYSTEM VOLUMENSV-35 0805.000
*!       STD       R4,SVOL+1D      SAVE IT                      ENSV-35 0806.000
*!       LA        R2,MVTE.BUF     HOLDS MVT ENTRY     E3RMS35A E3RMS35B0807.000
*!       ZR        R5              START OF MVT        E3RMS35A E3RMS35B0808.000
*!P.070  CEQU      $                                   E3RMS35A E3RMS35B0809.000
*!       SVC2.4D                   H.REMM,32 - M.LOGMVTE3RMS35A E3RMS35B0810.000
*!       BNS       FUP.080         NO ERROR ON RETURN FE3RMS35A E3RMS35B0811.000
*!       TBM       C.TAPACT,C.BIT  WAS THIS A TAPE ACTIE3RMS35A E3RMS35B0812.000
*!       BNS       MVTERR          IF NOT, ERROR       E3RMS35A E3RMS35B0813.000
*!P.080  CEQU      $                                   E3RMS35A E3RMS35B0814.000
*!       CI        R5,0            REACHED END OF MVT? E3RMS35A E3RMS35B0815.000
*!       BEQ       MVTERR          MUST HAVE SYS VOL SOE3RMS35A E3RMS35B0816.000
*!       TBM       MV.SYS,MV.FLAGS,X2 SYSTEM VOLUME?   E3RMS35A E3RMS35B0817.000
*!       BNS       FUP.070         NO - GET NEXT MVTE  E3RMS35A E3RMS35B0818.000
*!       LD        R4,MV.VOLNM,X2  1ST HALF OF SYS VOL E3RMS35A E3RMS35B0819.000
*!       STD       R4,SVOL         STORE AWAY          E3RMS35A E3RMS35B0820.000
*!       LD        R4,MV.VOLNM+1D,X2  2ND HALF         E3RMS35A E3RMS35B0821.000
*!       STD       R4,SVOL+1D      STORE AWAY          E3RMS35A E3RMS35B0822.000
         TRR       R1,R5           SAVE STACK POINTER           E3RMS35B0823.000
         LW        R1,NSVPNBV      GET PNB VECTOR               E3RMS35B0824.000
         LA        R6,RD1.BUF      GET ADDR OF RD BUFFER        E3RMS35B0825.000
         ZR        R7              NO CNP                       E3RMS35B0826.000
         SVC2.2C                   H.REMM,13                    E3RMS35B0827.000
         BNS       FUP.006         NO ERROR                     E3RMS35B0828.000
         TBM       C.TAPACT,C.BIT  WAS THIS A TAPE ACTIVATION?  E3RMS35B0829.000
         BNS       NSVERR          IF NOT, ERROR                E3RMS35B0830.000
FUP.006  CEQU      $                                            E3RMS35B0831.000
         LA        R1,RD1.BUF      GET ADDR OF RD BUFFER        E3RMS35B0832.000
         LD        R6,0D,X1        GET SYS VOL NAME             E3RMS35B0833.000
         STD       R6,SVOL         STORE AWAY                   E3RMS35B0834.000
         LD        R6,1D,X1        GET 2ND HALF OF NAME         E3RMS35B0835.000
         STD       R6,SVOL+1D      STORE AWAY                   E3RMS35B0836.000
         LD        R6,RD.DIRP,X1   GET SYS DIR NAME             E3RMS35B0837.000
         STD       R6,SDIR         STORE AWAY                   E3RMS35B0838.000
         LD        R6,RD.DIRP+1D,X1 GET 2ND HALF OF NAME        E3RMS35B0839.000
         STD       R6,SDIR+1D      STORE AWAY                   E3RMS35B0840.000
         TRR       R5,R1           RESTORE STACK PTR            E3RMS35B0841.000
         LA        R7,SVOL         SYSTEM VOLUME NAME                   0842.000
         BL        GETPATH         GET LENGTH EXCLUDING TRAILING BLANKS 0843.000
         SRL       R7,24           ISOLATE LENGTH                       0844.000
         STB       R7,SVLENGTH     SAVE SIGNIFICANT LENGTH              0845.000
         LA        R7,SDIR         SYSTEM DIRECTORY NAME        E3RMS35B0846.000
         BL        GETPATH         GET LENGTH                   E3RMS35B0847.000
         SRL       R7,24           ISOLATE LENGTH               E3RMS35B0848.000
         STB       R7,SDLENGTH     SAVE SIGNIFICANT LENGTH      E3RMS35B0849.000
         TBM       C.NOSVOL,C.BIT       NO SYSTEM VOLUME NODE?  CP12394 0850.000
         BNS       FUP.007              NO - CONTINUE           CP12394 0851.000
         TBM       C.RMS3.1,C.RMS       RMSS3.1 OR LATER?       CP12394 0852.000
         BNS       FUP.007              NO - CONTINUE           CP12394 0853.000
         SBM       RMS31NSV,FLAGBITS    >= RMSS3.1, NO SYS VOL  CP12394 0854.000
FUP.007  CEQU      $                                            CP12394 0855.000
         POP                       RESTORE REGS                         0856.000
         TRSW      R0              RETURN                               0857.000
*!                                                              E3RMS35A0858.000
*!TERR   CEQU      $                                   E3RMS35A E3RMS35B0859.000
*!       LA        R7,GEN.M034     M.LOGMVT ERROR      E3RMS35A E3RMS35B0860.000
*!       BL        ERROR2                              E3RMS35A E3RMS35B0861.000
*!       BU        FUP.000                             E3RMS35A E3RMS35B0862.000
*!                                                              E3RMS35A0863.000
*!                                                              ENSV-35 0864.000
*!VERR   BL        ERROR                                ENSV-35 E3RMS35A0865.000
*!       BU        FUP.000                              ENSV-35 E3RMS35A0866.000
*!                                                              ENSV-35 0867.000
*!       BOUND     1W                                   ENSV-35 E3RMS35A0868.000
*!VPNBV  GEN       8/NSVPNBLN,24/A(NSVPNB) PNB VECTOR   ENSV-35 E3RMS35A0869.000
*!       BOUND     1D                                   ENSV-35 E3RMS35A0870.000
*!VPNB   DEQU      $                                    ENSV-35 E3RMS35A0871.000
*!       DATAB     C'!VOLSYST!DIRSYST                   ENSV-35 E3RMS35A0872.000
*!                                                              ENSV-35 0873.000
*!VPNBLN DEQU      $-NSVPNB                             ENSV-35 E3RMS35A0874.000
*                                                               E3RMS35B0875.000
NSVERR   BL        ERROR                                        E3RMS35B0876.000
         BU        FUP.000                                      E3RMS35B0877.000
         BOUND     1W                                           E3RMS35B0878.000
NSVPNBV  GEN       8/NSVPNBLN,24/A(NSVPNB) PNB VECTOR           E3RMS35B0879.000
         BOUND     1D                                           E3RMS35B0880.000
NSVPNB   DEQU      $                                            E3RMS35B0881.000
         DATAB     C'!VOLSYST!DIRSYST                '          E3RMS35B0882.000
*                                                               E3RMS35B0883.000
NSVPNBLN DEQU      $-NSVPNB                                     E3RMS35B0884.000
         BOUND     1W                                           E3RMS35B0885.000
*                                                               E3RMS35B0886.000
         TITLE     SETUP DEFAULT OPTION BLOCK                           0887.000
*                                                                       0888.000
*        SETDFBLK - SET UP DEFAULTS IN THE DEFAULT OPTION BLOCK         0889.000
*                                                                       0890.000
* INPUTS:                                                               0891.000
*        NONE                                                           0892.000
*                                                                       0893.000
* OUTPUTS:                                                              0894.000
*        NONE                                                           0895.000
*                                                                       0896.000
         SPACE                                                          0897.000
SETDFBLK EQU       $                                                    0898.000
         PUSH                      SAVE REGISTERS                       0899.000
         LA        R2,DOBLOCK      GET ADDRESS OF DEFAULT OPTION BLOCK  0900.000
*                                                                       0901.000
         SBM       OPT.B.BR,OPT.FLGS,R2      BRIEF=T                    0902.000
*                                                                       0903.000
         POP                       RESTORE REGISTERS                    0904.000
         TRSW      R0              RETURN                               0905.000
         TITLE     STATE TABLES & ACTION ROUTINES                       0906.000
*                                                                       0907.000
*    FORMATOT - FORMAT AND OUTPUT A STRING                              0908.000
*                                                                       0909.000
* INPUTS:                                                               0910.000
*        R2 = FORMAT STRING ADDRESS                                     0911.000
*        R3 = FORMAT PARAMETER BLOCK ADDRESS                            0912.000
*                                                                       0913.000
*    THIS ROUTINE WILL CALL THE FORMATTER TO GENERATE THE STRING        0914.000
*    THE THE PRINT OUT ROUTINE TO OUTPUT THE RESULTS.                   0915.000
*    THE "TEXTBUFR" IS USED TO FORMAT THE RESULTS.                      0916.000
*                                                                       0917.000
         SPACE                                                          0918.000
FORMATOT EQU       $                                                    0919.000
         PUSH                      SAVE REGS                            0920.000
         LA        R6,LINEBUFR     ADDRESS OF BUFFER                    0921.000
         LH        R7,LINELNGH     GET THE TOTAL SIZE OF THE BUFFER     0922.000
         BL        FORMATST        FORMAT THE STRING                    0923.000
         SRL       R7,16           MOVE FINAL LENGTH TO LO HALFWORD     0924.000
         BL        PRINTOUT        PRINT THE LINE                       0925.000
         POP                       RESTORE REGS                         0926.000
         TRSW      R0              RETURN                               0927.000
*                                                                       0928.000
*    INITIAL STATE FOR PARSE. FIRST DETERMIN THE SUBCOMMAND.            0929.000
*    A NULL COMMAND LINE ASKS FOR STATISTICS FOR THE LOCAL              0930.000
*    NODE. OTHERWISE CHECK FOR VERB TO INDICATE SPECIFIC ACTION.        0931.000
*                                                                       0932.000
         SPACE                                                          0933.000
         BOUND     1W                                                   0934.000
         SPACE                                                          0935.000
S.INITL  STATE                          THE TOP OF THE PARSE TREE       0936.000
         SPACE                                                          0937.000
*  SKIP TO FIRST NON-BLANK CHARACTER                                    0938.000
         SPACE                                                          0939.000
           TRAN    NOBLNK                                               0940.000
         STATE                                                          0941.000
         SPACE                                                          0942.000
*  CHECK FOR NO COMMAND, IE., JUST <CR>;  IF SO, EXIT (REPROMPT)        0943.000
         SPACE                                                          0944.000
           TRAN    EOS,,EXIT            IE., NULL COMMAND               0945.000
         SPACE                                                          0946.000
*  LOOK FOR VALID VOLMGR COMMAND VERBS                                  0947.000
         SPACE                                                          0948.000
           TRAN    KEYWD,,,K.FUPCMD                                     0949.000
         SPACE                                                          0950.000
*  NO VALID VOLMGR VERB FOUND -- INVALID COMMAND (VERB)                 0951.000
         SPACE                                                          0952.000
           ERRVAL  INVCOMD                                              0953.000
         STATE                                                          0954.000
         SPACE     5                                                    0955.000
*+                                                                      0956.000
*        S.BKSCMD -- BACKSPACE COMMAND                                  0957.000
*                                                                       0958.000
*        DECODE SUBCOMMAND VERB FOR A BACKSPACE COMMAND                 0959.000
*-                                                                      0960.000
         SPACE                                                          0961.000
S.BKSCMD STATE                                                          0962.000
           TRAN    TSTEXP,,S.BKSIMA,SS.KWSYN      DEFAULT WITH KEYWORD  0963.000
           TRAN    KEYWD,,,K.BKSCMD     LOOK FOR SUB-COMMAND VERB       0964.000
           TRAN    LAMBDA,,S.BKSIMA     DEFAULT SUB-COMMAND VERB        0965.000
         STATE                                                          0966.000
         SPACE     2                                                    0967.000
*+                                                                      0968.000
* S.CRECMD - CREATE COMMAND                                             0969.000
*                                                                       0970.000
*    DECODE SUBCOMMAND FOR A CREATE COMMAND                             0971.000
*-                                                                      0972.000
         SPACE                                                          0973.000
S.CRECMD STATE                                                          0974.000
           TRAN    KEYWD,,,K.CRECMD     LOOKUP SUBCOMMAND               0975.000
           TRAN    LAMBDA,,S.CREFIL     DEFAULT - CREATE FILE           0976.000
         STATE                                                          0977.000
         SPACE     2                                                    0978.000
*+                                                                      0979.000
*        S.DELCMD -- DELETE COMMAND                                     0980.000
*                                                                       0981.000
*        DECODE SUBCOMMAND VERB FOR A DELETE COMMAND                    0982.000
*-                                                                      0983.000
         SPACE                                                          0984.000
S.DELCMD STATE                                                          0985.000
*                                                                       0986.000
* TEST TO SEE IF THERE IS A KEYWORD - DIRE,COMM,FILE - FOLLOWED BY A    0987.000
* BLANK; IF SO, CONTINUE TO PROCESS THE COMMAND (AT S.DELCFD); IF NOT,  0988.000
* THE DEFAULT IS 'DELETE FILE' AND THE FOLLOWING WORD IS ASSUMED TO BE  0989.000
* THE FILENAME (WILD CARD CHARACTERS ALLOWED).                 ! 32B01  0990.000
           TRAN    TSTEXP,,S.DELCFD,SS.DLCD2  LOOK FOR SUB-CM  ! 32B01  0991.000
           TRAN    LAMBDA,,S.DELFIL           DEFAULT SUB-CMD  ! 32B01  0992.000
S.DELCFD STATE                                                 ! 32B01  0993.000
           TRAN    KEYWD,,,K.DELCMD     LOOK FOR SUB-COMMAND VERB       0994.000
*          TRAN    LAMBDA,,S.DELFIL     THIS LINE COMMENTED OUT! 32B01  0995.000
         STATE                                                          0996.000
         SPACE     2                                                    0997.000
*+                                                                      0998.000
*        S.LOGCMD -- LOG COMMAND                                        0999.000
*                                                                       1000.000
*        DECODE ADVERB FOR LOG COMMAND                                  1001.000
*-                                                                      1002.000
         SPACE                                                          1003.000
S.LOGCMD STATE                                                          1004.000
*!         TRAN    KEYWD,,,K.LOGCMD     LOOK FOR ADVERB         S860721 1005.000
           TRAN    TSTEXP,,S.LOGCFD,SS.LOG  FOLLOW BY BLANK?    S860721 1006.000
           TRAN    TSTEXP,,S.LOGVOL,SS.CKWLD                            1007.000
*!         TRAN    LAMBDA,,S.LOGVOL     DEFAULT "FILE"        85-0356   1008.000
           TRAN    LAMBDA,,S.LOGRES     DEFAULT "RESOURCE"              1009.000
         STATE                                                          1010.000
S.LOGCFD STATE                                                  S860721 1011.000
           TRAN    KEYWD,,,K.LOGCMD     DISPATCH                S860721 1012.000
         STATE                                                  S860721 1013.000
SS.LOG   STATE                     TEST IF IT IS A KEYWORD      S860721 1014.000
           TRAN    KEYWD,,,K.LOGADV ADVERB OR ABBRIVIATION      S860721 1015.000
         STATE                     AND FOLLOW BY A BLANK        S860721 1016.000
           TRAN    BLANK,,EXIT     THAT MAKES A REAL KEYWORD    S860721 1017.000
           TRAN    G'"'',,EXIT                                  S860721 1018.000
           TRAN    EOS,,EXIT       IF EOS, SUCCESS              S860721 1019.000
         STATE                                                  S860721 1020.000
         SPACE     2                                                    1021.000
*+                                                                      1022.000
*        S.RESCMD -- RESTORE COMMAND                                    1023.000
*                                                                       1024.000
*        DECODE SUBCOMMAND VERB FOR A RESTORE COMMAND                   1025.000
*-                                                                      1026.000
         SPACE                                                          1027.000
S.RESCMD STATE                                                          1028.000
           TRAN    KEYWD,,,K.RESCMD     LOOK FOR SUB-COMMAND VERB       1029.000
           TRAN    LAMBDA,,S.RESDIR     DEFAULT SUB-COMMAND VERB        1030.000
         STATE                                                          1031.000
         SPACE     2                                                    1032.000
*+                                                                      1033.000
*        S.SKPCMD -- SKIP COMMAND                                       1034.000
*                                                                       1035.000
*        DECODE SUBCOMMAND VERB FOR A SKIP COMMAND                      1036.000
*-                                                                      1037.000
         SPACE                                                          1038.000
S.SKPCMD STATE                                                          1039.000
           TRAN    TSTEXP,,S.SKPIMA,SS.KWSYN      DEFAULT WITH KEYWORD  1040.000
           TRAN    KEYWD,,,K.SKPCMD     LOOK FOR SUB-COMMAND VERB       1041.000
           TRAN    LAMBDA,,S.SKPIMA     DEFAULT SUB-COMMAND VERB        1042.000
         STATE                                                          1043.000
         SPACE     2                                                    1044.000
*+                                                                      1045.000
*        S.SAVADV -- SAVE COMMAND                                       1046.000
*                                                                       1047.000
*        CHECK FOR ADVERB ON A SAVE COMMAND                             1048.000
*-                                                                      1049.000
         SPACE                                                          1050.000
S.SAVADV STATE                                                          1051.000
           TRAN    KEYWD,,,K.SAVCMD     LOOK FOR COMMAND ADVERB         1052.000
           TRAN    LAMBDA,,S.SAVCMD     DEFAULT -- NO ADVERB            1053.000
         STATE                                                          1054.000
         SPACE     2                                                    1055.000
*+                                                                      1056.000
*        S.SDTA  --  SDT COMMAND                                        1057.000
*                                                                       1058.000
*        CHECK FOR ADVERB ON A SDT COMMAND                              1059.000
*-                                                                      1060.000
         SPACE                                                          1061.000
S.SDTA   STATE                                                          1062.000
           TRAN    KEYWD,,,K.SDTCMD     LOOK FOR COMMAND ADVERB         1063.000
           TRAN    LAMBDA,,S.SDT        DEFAULT -- NO ADVERB            1064.000
         STATE                                                          1065.000
         TITLE     STATE EXPRESSION FOR A PATHNAME                      1066.000
*                                                                       1067.000
*        STATE GRAPH FOR A COMMON PARTITION (PATHNAME)                  1068.000
*                                                                       1069.000
         SPACE                                                          1070.000
*                                                                       1071.000
* HERE WE TEST TO SEE IF THE KEYWORD (DIRE,COMM OR FILE) IS FOLLOWED    1072.000
* BY A BLANK; IF SO SUCCESS, ELSE FAILURE.                     ! 32B01  1073.000
*                                                                       1074.000
SS.DLCD2 STATE                                                 ! 32B01  1075.000
           TRAN    KEYWD,,,K.CDFKW                             ! 32B01  1076.000
         STATE                                                 ! 32B01  1077.000
           TRAN    BLANK,,EXIT                                 ! 32B01  1078.000
           TRAN    G'"'',,EXIT                                 ! 32B01  1079.000
           TRAN    G'?',,EXIT                                  ! 32B01  1080.000
SS.CPATH STATE                                                          1081.000
           TRAN    NOBLNK,A.INIT                                        1082.000
         STATE                                                          1083.000
           TRAN    LAMBDA,A.GETSYS                                      1084.000
         STATE                                                          1085.000
           TRAN    SUBEXP,,EXIT,SS.STRNG,NOB.M                          1086.000
         STATE                                                          1087.000
         SPACE     5                                                    1088.000
SS.CKWLD STATE                                                          1089.000
           TRAN    G'?',,EXIT                                           1090.000
           TRAN    G'*',,EXIT                                           1091.000
           TRAN    STRING,,SS.CKWLD                                     1092.000
*!         TRAN    BLANK,,SS.CKW00                              S860721 1093.000
           TRAN    ANYCH,,SS.CKWLD                                      1094.000
         STATE                                                          1095.000
         SPACE     5                                                    1096.000
*!.CKW00 STATE                     NO NEED                      S860721 1097.000
*!         TRAN    EOS,A.ERROR                                  S860721 1098.000
*!       STATE                                                  S860721 1099.000
         SPACE     5                                                    1100.000
*                                                                       1101.000
*        STATE GRAPH FOR A DIRECTORY (PATHNAME)                         1102.000
*        USED ONLY BY THE DELETE D COMMAND. THIS STATE GRAPH            1103.000
*        ALLOWS THE USE OF WILDCARDS IN THE DIRECTORY NAME              1104.000
*                                                                       1105.000
         SPACE                                                          1106.000
SS.DDPTH STATE                     PARSE DIRECTORY PATHNAME             1107.000
           TRAN    NOBLNK,A.INIT                                        1108.000
         STATE                                                          1109.000
           TRAN    G'@'                                                 1110.000
           TRAN    LAMBDA,A.GETDV,SS.DDP20         GET DEFAULT VOL NAME 1111.000
         STATE                                                          1112.000
           TRAN    SUBEXP,A.DIR,,SS.STRNG         GET VOLUME NAME       1113.000
*!         ERRVAL  ???                                                  1114.000
         STATE                                                          1115.000
           TRAN    G'^',,SS.DDP30                                       1116.000
           TRAN    G'('                                                 1117.000
*!         ERRVAL  ???                                                  1118.000
SS.DDP10  STATE                                                         1119.000
           TRAN    SUBEXP,,,SS.WSTRG                           V.42     1120.000
*!         ERRVAL  ???                                                  1121.000
         STATE                                                          1122.000
           TRAN    G')',,EXIT                                  V.42     1123.000
*!         ERRVAL  ???                                                  1124.000
SS.DDP20  STATE                                                         1125.000
           TRAN    G'^',,,,LMB.M                                        1126.000
SS.DDP30  STATE                                                         1127.000
           TRAN    G'(',,SS.DDP10                                       1128.000
           TRAN    LAMBDA                                               1129.000
SS.DDP40  STATE                                                         1130.000
           TRAN    SUBEXP,,,SS.WSTRG         GET DIRECTORY NAME         1131.000
*!         ERRVAL  ???                                                  1132.000
         STATE                                                          1133.000
           TRAN    NOBLNK,,EXIT                                         1134.000
         STATE                                                          1135.000
         SPACE     5                                                    1136.000
*                                                                       1137.000
*        STATE GRAPH FOR A DIRECTORY (PATHNAME)                         1138.000
*                                                                       1139.000
         SPACE                                                          1140.000
SS.DPATH STATE                     PARSE DIRECTORY PATHNAME             1141.000
           TRAN    NOBLNK,A.INIT                                        1142.000
         STATE                                                          1143.000
           TRAN    G'@'                                                 1144.000
           TRAN    LAMBDA,A.GETDV,SS.DP20         GET DEFAULT VOL NAME  1145.000
         STATE                                                          1146.000
           TRAN    SUBEXP,A.DIR,,SS.STRNG         GET VOLUME NAME       1147.000
*!         ERRVAL  ???                                                  1148.000
         STATE                                                          1149.000
           TRAN    G'^',,SS.DP30                                        1150.000
           TRAN    G'('                                                 1151.000
*!         ERRVAL  ???                                                  1152.000
SS.DP10  STATE                                                          1153.000
           TRAN    SUBEXP,,,SS.STRNG                           V.42     1154.000
*!         ERRVAL  ???                                                  1155.000
         STATE                                                          1156.000
           TRAN    G')',,EXIT                                  V.42     1157.000
*!         ERRVAL  ???                                                  1158.000
SS.DP20  STATE                                                          1159.000
           TRAN    G'^',,,,LMB.M                                        1160.000
SS.DP30  STATE                                                          1161.000
           TRAN    G'(',,SS.DP10                                        1162.000
           TRAN    LAMBDA                                               1163.000
SS.DP40  STATE                                                          1164.000
           TRAN    SUBEXP,,,SS.STRNG         GET DIRECTORY NAME         1165.000
*!         ERRVAL  ???                                                  1166.000
         STATE                                                          1167.000
           TRAN    NOBLNK,,EXIT                                         1168.000
         STATE                                                          1169.000
         SPACE     5                                                    1170.000
*                                                                       1171.000
*  STATE GRAPH FOR A FILENAME (CREATE PATHNAME)                         1172.000
*                                                                       1173.000
         SPACE                                                          1174.000
SS.CPTHN STATE                          A PATHNAME                      1175.000
           TRAN    NOBLNK,A.INIT        SKIP BLANKS AND INIT NAME       1176.000
         STATE                                                          1177.000
           TRAN    G'@'                                                 1178.000
           TRAN    LAMBDA,A.GETDV,SS.CPN20         GET DEFAULT VOL NAME 1179.000
         STATE                                                          1180.000
           TRAN    SUBEXP,A.DIR,,SS.STRNG         GET VOLUME NAME       1181.000
*!         ERRVAL  ???                                                  1182.000
         STATE                                                          1183.000
           TRAN    G'^',,SS.CPN30                                       1184.000
           TRAN    G'('                                                 1185.000
SS.CPN10 STATE                                                          1186.000
           TRAN    SUBEXP,A.FIL,,SS.STRNG         GET DIRECTORY NAME    1187.000
*!         ERRVAL  ???                                                  1188.000
         STATE                                                          1189.000
           TRAN    G')',,SS.CPN40                                       1190.000
           ERRVAL  INVTERM                                              1191.000
SS.CPN20  STATE                                                         1192.000
           TRAN    G'^',,,,LMB.M                                        1193.000
SS.CPN30 STATE                                                          1194.000
           TRAN    G'(',,SS.CPN10                                       1195.000
           TRAN    LAMBDA,A.GETDD                 GET DEFAULT DIR NAME  1196.000
SS.CPN40 STATE                                                          1197.000
           TRAN    SUBEXP,,,SS.STRNG         GET NAME FOR FILE          1198.000
         STATE                                                          1199.000
           TRAN    NOBLNK,,EXIT    END OF PATHNAME                      1200.000
         STATE                                                          1201.000
*                                                                       1202.000
*  STATE GRAPH FOR A FILENAME (PATHNAME)                                1203.000
*                                                                       1204.000
         SPACE                                                          1205.000
SS.PATNM STATE                          A PATHNAME                      1206.000
           TRAN    NOBLNK,A.INIT        SKIP BLANKS AND INIT NAME       1207.000
         STATE                                                          1208.000
           TRAN    G'@'                                                 1209.000
           TRAN    LAMBDA,A.GETDV,SS.PN20         GET DEFAULT VOL NAME  1210.000
         STATE                                                          1211.000
           TRAN    SUBEXP,A.DIR,,SS.WSTRG         GET VOLUME NAME       1212.000
*!         ERRVAL  ???                                                  1213.000
         STATE                                                          1214.000
           TRAN    G'^',,SS.PN30                                        1215.000
           TRAN    G'('                                                 1216.000
SS.PN10  STATE                                                          1217.000
           TRAN    SUBEXP,A.FIL,,SS.WSTRG         GET DIRECTORY NAME    1218.000
*!         ERRVAL  ???                                                  1219.000
         STATE                                                          1220.000
           TRAN    G')',,SS.PN40                                        1221.000
           ERRVAL  INVTERM                                              1222.000
SS.PN20  STATE                                                          1223.000
           TRAN    G'^',,,,LMB.M                                        1224.000
SS.PN30  STATE                                                          1225.000
           TRAN    G'(',,SS.PN10                                        1226.000
           TRAN    LAMBDA,A.GETDD                 GET DEFAULT DIR NAME  1227.000
SS.PN40  STATE                                                          1228.000
           TRAN    SUBEXP,,,SS.WSTRG         GET NAME FOR FILE          1229.000
         STATE                                                          1230.000
           TRAN    NOBLNK,,EXIT    END OF PATHNAME                      1231.000
         STATE                                                          1232.000
         SPACE     5                                                    1233.000
*                                                                       1234.000
*  STATE GRAPH FOR A FILENAME (PATHNAME)                                1235.000
*  "TO=" PATHNAME                                                       1236.000
*                                                                       1237.000
         SPACE                                                          1238.000
SS.PATN2 STATE                          A PATHNAME                      1239.000
           TRAN    NOBLNK,A.INIT2       SKIP BLANKS AND INIT NAME       1240.000
         STATE                                                          1241.000
           TRAN    G'@'                                                 1242.000
           TRAN    LAMBDA,A.GETDV2,SS.PN220       GET DEFAULT VOL NAME  1243.000
         STATE                                                          1244.000
           TRAN    SUBEXP,A.DIR2,,SS.WSTRG        GET VOLUME NAME       1245.000
*!         ERRVAL  ???                                                  1246.000
         STATE                                                          1247.000
           TRAN    G'^',,SS.PN230                                       1248.000
           TRAN    G'('                                                 1249.000
SS.PN210 STATE                                                          1250.000
           TRAN    SUBEXP,A.FIL2,,SS.WSTRG        GET DIRECTORY NAME    1251.000
*!         ERRVAL  ???                                                  1252.000
         STATE                                                          1253.000
           TRAN    G')',,SS.PN240                                       1254.000
           ERRVAL  INVTERM                                              1255.000
SS.PN220 STATE                                                          1256.000
           TRAN    G'^',,,,LMB.M                                        1257.000
SS.PN230 STATE                                                          1258.000
           TRAN    G'(',,SS.PN210                                       1259.000
           TRAN    LAMBDA,A.GETDD2                GET DEFAULT DIR NAME  1260.000
SS.PN240 STATE                                                          1261.000
           TRAN    SUBEXP,,,SS.WSTRG         GET NAME FOR FILE          1262.000
         STATE                                                          1263.000
           TRAN    NOBLNK,,EXIT    END OF PATHNAME                      1264.000
         STATE                                                          1265.000
         SPACE     5                                                    1266.000
*++                                                                     1267.000
*    SYNTAX GRAPH FOR STRING NAME FIELD WITH WILD CARD CHARACTER        1268.000
*                                                                       1269.000
*    NORMAL NAMES ARE PERMITTED TO CONTAIN ALPHA/NUMERIC CHARS          1270.000
*    PLUS ", & "?".","_","*", & "?". NAMES WITH OTHER CHARACTERS        1271.000
*    MUST BE QUOTED. IN WHICH CASE ANY CHARACTER IS VALID.              1272.000
*--                                                                     1273.000
         SPACE                                                          1274.000
SS.WSTRG STATE                          PARSE A STRING                  1275.000
           TRAN    NOBLNK               SKIP LEADING BLANKS             1276.000
         STATE                                                          1277.000
           TRAN    G'"'',A.QUOTE,SS.WS50     CHECK FOR QUOTED STRING    1278.000
SS.WS10    TRAN    STRING,A.STORC,SS.WS10    GET ALPHANUM, ".", OR "_"  1279.000
           TRAN    G'*',A.WILD,SS.WS10 OR ASTERISK                      1280.000
           TRAN    G'?',A.WILD,SS.WS10 AND QUESTION MARK                1281.000
SS.WS20    TRAN    LAMBDA,A.CKSTR,EXIT  ELSE EXIT STRING PARSE          1282.000
SS.WS50  STATE                          CHECK FOR QUOTED STRING         1283.000
           TRAN    G'"'',,SS.WS20        TWO IN A ROW = LITERAL QUOTE   1284.000
           TRAN    ANYCH,A.STORC,SS.WS50 MOVE NEXT AND CHECK FOR MORE   1285.000
           TRAN    EOS,,SS.WS20          TREAT END AS TRAILING QUOTE    1286.000
         STATE                                                          1287.000
         SPACE                                                          1288.000
*++                                                                     1289.000
*    SYNTAX GRAPH FOR STRING NAME FIELD WITHOUT WILD CARD CHARACTER     1290.000
*                                                                       1291.000
*    NORMAL NAMES ARE PERMITTED TO CONTAIN ALPHA/NUMERIC CHARS          1292.000
*    PLUS   "_" & ".".  NAMES WITH OTHER CHARACTERS                     1293.000
*    MUST BE QUOTED. IN WHICH CASE ANY CHARACTER IS VALID.              1294.000
*--                                                                     1295.000
         SPACE                                                          1296.000
SS.STRNG STATE                          PARSE A STRING                  1297.000
           TRAN    NOBLNK               SKIP LEADING BLANKS & INIT      1298.000
         STATE                                                          1299.000
           TRAN    G'"'',A.QUOTE,S.ST50        CKECK FOR QUOTED STRING  1300.000
S.ST10     TRAN    STRING,A.STORC,S.ST10       GET ALPHA/NUMERIC, ".", O1301.000
S.ST20     TRAN    LAMBDA,A.CKSTR,EXIT  ELSE EXIT STRING PARSE          1302.000
S.ST50   STATE                          CHECK FOR QUOTED STRING         1303.000
           TRAN    G'"'',,S.ST20        CHECK FOR END OF QUOTED STRING  1304.000
           TRAN    ANYCH,A.STORC,S.ST50 MOVE NEXT AND CHECK FOR MORE    1305.000
           TRAN    EOS,,S.ST20          TREAT END AS TRAILING QUOTE     1306.000
         STATE                                                          1307.000
         SPACE                                                          1308.000
*                                                                       1309.000
* K.TRUFLS - KEYWORD TABLE FOR TRUE FALSE                               1310.000
*                                                                       1311.000
         SPACE                                                          1312.000
K.TRUFLS KEYWRD    TRUE,,,1,1           KEYWORD FOR BOOL OPTION TRUE    1313.000
         KEYWRD    FALSE,,,1,0          AND FOR THE FALSE CASE ! 32B02  1314.000
         KEYWRD    YES,,,1,1            SYNONYM FOR TRUE                1315.000
         KEYWRD    NO,,,1,0             AND FOR FALSE                   1316.000
         DATAW     0                                                    1317.000
         SPACE                                                          1318.000
         TITLE     STATE TABLES & ACTION ROUTINES FOR LOG RESOURCE      1319.000
         BOUND     1W                                                   1320.000
         SPACE                                                          1321.000
*++                                                                     1322.000
*                                                                       1323.000
* COMMAND SYNTAX:                                                       1324.000
*                                                                       1325.000
* LOG [RESOURCE]  [GOPT]  [PATH=] PATHNAME [LOPT]  [ , . . . ]          1326.000
*                                                                       1327.000
* OPTIONS:                                                              1328.000
*                                                                       1329.000
*        LISTING=PATHNAME          GLOBAL ONLY OPTION                   1330.000
*        BRIEF=BOOL                GLOBAL OR LOCAL                      1331.000
*        DATE/TIME OPTIONS                                              1332.000
*                                                                       1333.000
*                                                                       1334.000
*--                                                                     1335.000
         SPACE     2                                                    1336.000
S.LOGRES STATE                                                          1337.000
         SPACE                                                          1338.000
*  POSITION TO FIRST NON-BLANK CHARACTER                                1339.000
         SPACE                                                          1340.000
           TRAN    NOBLNK,A.GLOBAL                                      1341.000
SR.10    STATE                                                          1342.000
         SPACE                                                          1343.000
*  IS NEXT ITEM A KEYWORD                                               1344.000
         SPACE                                                          1345.000
           TRAN    TSTEXP,,SR.20,SS.KWSYN                               1346.000
         SPACE                                                          1347.000
*  NOT A KEYWORD                                                        1348.000
         SPACE                                                          1349.000
           TRAN    LAMBDA,,SR.25                                        1350.000
SR.20    STATE                                                          1351.000
         SPACE                                                          1352.000
*  IS IT THE "PATH=" KEYWORD                                            1353.000
         SPACE                                                          1354.000
           TRAN    SUBEXP,,SR.30,SS.INP,NOB.M                           1355.000
         SPACE                                                          1356.000
*  NOT "PATH=", MUST BE AN (GLOBAL) OPTION KEYWORD                      1357.000
         SPACE                                                          1358.000
           TRAN    SUBEXP,,SR.10,SS.OPTG,NOB.M                          1359.000
         SPACE                                                          1360.000
*  KEYWORD IS INVALID                                                   1361.000
         SPACE                                                          1362.000
           ERRVAL  INVKEY                                               1363.000
SR.25    STATE                                                          1364.000
         SPACE                                                          1365.000
*  CHECK FOR END-OF-STRING (EOS) HERE;                                  1366.000
*  IF EOS, THEN LOG THE CURRENT WORKING DIRECTORY                       1367.000
         SPACE                                                          1368.000
           TRAN    EOS,A.LR4,EXIT                                       1369.000
         SPACE                                                          1370.000
*  NOT EOS, SO CONTINUE                                                 1371.000
         SPACE                                                          1372.000
           TRAN    LAMBDA                                               1373.000
SR.30    STATE                                                          1374.000
         SPACE                                                          1375.000
*  POSITION TO FIRST NON-BLANK CHARACTER; ALSO POINT TO LOCAL OPTION BLK1376.000
         SPACE                                                          1377.000
           TRAN    NOBLNK,A.LOCAL                                       1378.000
         STATE                                                          1379.000
         SPACE                                                          1380.000
*  GET THE PATHNAME                                                     1381.000
         SPACE                                                          1382.000
           TRAN    SUBEXP,A.LR3,,SSR.05                                 1383.000
         SPACE                                                          1384.000
*  IT'S NOT EOS & PATHNAME PARSE FAILED  --  INVALID SYNTAX             1385.000
         SPACE                                                          1386.000
           ERRVAL  CMDSYNTX                                             1387.000
SR.40    STATE                                                          1388.000
         SPACE                                                          1389.000
*  CHECK FOR MORE PATHNAMES                                             1390.000
*  MUST BE A COMMA IF MORE PATHNAME(S) FOLLOW                           1391.000
         SPACE                                                          1392.000
           TRAN    COMMA,,SR.60,,NOB.M                                  1393.000
         SPACE                                                          1394.000
*  CHECK FOR END-OF-STRING                                              1395.000
         SPACE                                                          1396.000
           TRAN    EOS,A.LRCMD,EXIT                                     1397.000
         SPACE                                                          1398.000
*  CHECK FOR A KEYWORD                                                  1399.000
           TRAN    TSTEXP,,,SS.KWSYN                                    1400.000
         SPACE                                                          1401.000
*  INVALID SYNTAX                                                       1402.000
         SPACE                                                          1403.000
           ERRVAL  CMDSYNTX                                             1404.000
         STATE                                                          1405.000
         SPACE                                                          1406.000
*  MUST BE A LOCAL OPTION KEYWORD; PROCESS IT                           1407.000
         SPACE                                                          1408.000
           TRAN    SUBEXP,,SR.40,SS.OPTL,NOB.M                          1409.000
         SPACE                                                          1410.000
*  INVALID KEYWORD                                                      1411.000
         SPACE                                                          1412.000
           ERRVAL  INVKEY                                               1413.000
SR.60    STATE                                                          1414.000
         SPACE                                                          1415.000
*  IS THE "PATH=" KEYWORD PRESENT                                       1416.000
         SPACE                                                          1417.000
           TRAN    SUBEXP,,SR.30,SS.INP,NOB.M+LMB.M                     1418.000
         SPACE                                                          1419.000
*  OPTIONAL "PATH=" KEYWORD NOT PRESENT, TAKE TRANSITION ANYHOW         1420.000
         SPACE                                                          1421.000
         STATE                                                          1422.000
         SPACE     5                                                    1423.000
SSR.05   STATE                     ... A SUBEXPRESSION (SUBROUTINE)     1424.000
         SPACE                                                          1425.000
*  MARK THE STARTING ADDRESS OF THE PATHNAME                            1426.000
         SPACE                                                          1427.000
           TRAN    LAMBDA,A.LR1                                         1428.000
SSR.10   STATE                                                          1429.000
         SPACE                                                          1430.000
*  LOOK FOR THE PATHNAME TOKENS                                         1431.000
*        REWRITE SSR.10 SECTION OF THE 'LOG RESOURCE' STATE TBL S860430 1432.000
         TRAN      G'@',A.LR2,SSR.101   VOLUME NAME SUPPLIED?   S860430 1433.000
         TRAN      LAMBDA,,SSR.102      IF NO, SKIP             S860430 1434.000
SSR.101  STATE                                                  S860430 1435.000
           TRAN    STRING,A.LR2         GET VOLUME NAME         S860430 1436.000
         STATE                                                  S860430 1437.000
           TRAN    NOBLNK,A.LR2    SKIP TRAILING BLANKS         S860430 1438.000
SSR.102  STATE                                                  S860430 1439.000
           TRAN    G'^',A.LR2,SSR.103                           S860430 1440.000
           TRAN    LAMBDA                                       S860430 1441.000
SSR.103  STATE                                                  S860430 1442.000
           TRAN    G'(',A.LR2,SSR.104                           S860430 1443.000
           TRAN    LAMBDA,,SSR.106                              S860430 1444.000
SSR.104  STATE                                                  S860430 1445.000
           TRAN    NOBLNK,A.LR2    SKIP LEADING BLANKS          S860430 1446.000
         STATE                                                  S860430 1447.000
           TRAN    STRING,A.LR2         GET DIRECTORY NAME      S860430 1448.000
           TRAN    SUBEXP,,,SSRS.105    ANY QUOTED STRING?      S860430 1449.000
         STATE                                                  S860430 1450.000
           TRAN    NOBLNK,A.LR2    SKIP TRAILING BLANKS         S860430 1451.000
         STATE                                                  S860430 1452.000
           TRAN    G')',A.LR2,SSR.106                           S860430 1453.000
SSR.106  STATE                                                  S860430 1454.000
           TRAN    NOBLNK,A.LR2    SKIP LEADING BLANKS          S860430 1455.000
         STATE                                                  S860430 1456.000
           TRAN    EOS,,EXIT                                    S860430 1457.000
           TRAN    TSTEXP,,EXIT,SS.KWSYN                        S860430 1458.000
           TRAN    STRING,A.LR2,EXIT,,NOB.M   GET FILE NAME     S860430 1459.000
           TRAN    SUBEXP,,EXIT,SSRS.105,NOB.M  SEE IF QUOTED   S860430 1460.000
         STATE                                                  S860430 1461.000
SSRS.105 STATE                                                  S860430 1462.000
           TRAN    G'"'',A.LR2,SSRS.106  QUOTED STRING?         S860430 1463.000
SSRS.106 STATE                                                  S860430 1464.000
           TRAN    G'"'',A.LR2,EXIT      END QUOTE MARK         S860430 1465.000
           TRAN    ANYCH,A.LR2,SSRS.106                         S860430 1466.000
         STATE                                                  S860430 1467.000
*        END OF 'LOG RESOURCE' STATE TABLE                      S860430 1468.000
         SPACE                                                          1469.000
*  CHECK FOR A STRING OF (STANDARD) CHARACTERS                          1470.000
         SPACE                                                          1471.000
           TRAN    STRING,A.LR2,SSR.10                                  1472.000
         SPACE                                                          1473.000
*  CHECK FOR THE VOLUME INDICATOR (SPECIAL) CHARACTER                   1474.000
         SPACE                                                          1475.000
           TRAN    G'@',A.LR2,SSR.10                                    1476.000
         SPACE                                                          1477.000
*  CHECK FOR THE ROOT INDICATOR (SPECIAL) CHARACTER                     1478.000
         SPACE                                                          1479.000
           TRAN    G'^',A.LR2,SSR.10                                    1480.000
         SPACE                                                          1481.000
*  CHECK FOR DIRECTORY START INDICATOR (SPECIAL) CHARACTER              1482.000
         SPACE                                                          1483.000
           TRAN    G'(',A.LR2,SSR.10                                    1484.000
         SPACE                                                          1485.000
*  CHECK FOR DIRECTORY END INDICATOR (SPECIAL) CHARACTER                1486.000
         SPACE                                                          1487.000
           TRAN    G')',A.LR2,SSR.10                                    1488.000
         SPACE                                                          1489.000
*  CHECK FOR A QUOTE (IE., START OF A QUOTED STRING)                    1490.000
         SPACE                                                          1491.000
           TRAN    G'"'',A.LR2,SSRS.10                                  1492.000
         SPACE                                                          1493.000
         SPACE                                                          1494.000
         SPACE                                                          1495.000
           TRAN    LAMBDA                                               1496.000
         STATE                                                          1497.000
         SPACE                                                          1498.000
*  SPECIAL HANDLING NEEDED FOR BLANKS;  MUST DETERMINE IF BLANK IS      1499.000
*  EMBEDDED OR TRULY TERMINATES THE PATHNAME                            1500.000
         SPACE                                                          1501.000
*  IS NEXT CHARACTER A BLANK                                            1502.000
         SPACE                                                          1503.000
           TRAN    TSTEXP,,SSR.20,SSRS.30                               1504.000
         SPACE                                                          1505.000
*  TERMINATE PATHNAME FOR A COMMA                                       1506.000
*        SPACE                                                 84-0980  1507.000
*          TRAN    TSTEXP,,EXIT,SSRS.20                        84-0980  1508.000
*        SPACE                                                 84-0980  1509.000
*  TERMINATE PATHNAME FOR END-OF-STRING (EOS)                           1510.000
         SPACE                                                          1511.000
           TRAN    EOS,,EXIT                                            1512.000
         SPACE                                                          1513.000
*  TERMINATE PATHNAME FOR A KEYWORD                                     1514.000
         SPACE                                                          1515.000
           TRAN    TSTEXP,,EXIT,SS.KWSYN                                1516.000
         SPACE                                                          1517.000
*  ERROR  --  INVALID TERMINATOR, THEREFORE, INVALID SYNTAX             1518.000
         SPACE                                                          1519.000
           ERRVAL  CMDSYNTX                                             1520.000
SSR.20   STATE                                                          1521.000
         SPACE                                                          1522.000
*  DETERMINE IF BLANK(S) IS A PATHNAME TERMINATOR                       1523.000
         SPACE                                                          1524.000
           TRAN    SUBEXP,,EXIT,SSRSS.10                                1525.000
         SPACE                                                          1526.000
*  BLANK(S) IS EMBEDDED PART OF PATHNAME                                1527.000
*  INCLUDE THEM                                                         1528.000
         SPACE                                                          1529.000
           TRAN    NOBLNK,A.LR2,SSR.10                                  1530.000
         STATE                                                          1531.000
         SPACE     5                                                    1532.000
*                                                                       1533.000
*  HANDLE QUOTED STRING.  EXAMINE SINGLE CHARACTERS UNTIL FIND          1534.000
*  ENDING QUOTE                                                         1535.000
*                                                                       1536.000
SSRS.10  STATE                                                          1537.000
         SPACE                                                          1538.000
*  CHECK FOR ENDING QUOTE                                               1539.000
         SPACE                                                          1540.000
           TRAN    G'"'',A.LR2,SSR.10                                   1541.000
         SPACE                                                          1542.000
*  ACCEPT ANY CHARACTER EXCEPT QUOTE                                    1543.000
         SPACE                                                          1544.000
           TRAN    ANYCH,A.LR2,SSRS.10                                  1545.000
         SPACE                                                          1546.000
*  ERROR - IMPROPERLY TERMINATED QUOTED STRING                          1547.000
         SPACE                                                          1548.000
           ERRVAL  INVQUOTE                                             1549.000
         STATE                                                          1550.000
         SPACE     5                                                    1551.000
*                                                                       1552.000
*  SEE IF NEXT CHARACTER IS A COMMA                                     1553.000
*                                                                       1554.000
SSRS.20  STATE                     ... A SUBEXPRESSION (SUBROUTINE)     1555.000
         SPACE                                                          1556.000
*  DETERMINE IF CHARACTER IS A COMMA                                    1557.000
         SPACE                                                          1558.000
           TRAN    COMMA,,EXIT                                          1559.000
         SPACE                                                          1560.000
*  NOT COMMA SO SUBEXPRESSION TRANSITION FAILS                          1561.000
         SPACE                                                          1562.000
         STATE                                                          1563.000
         SPACE     5                                                    1564.000
*                                                                       1565.000
*  CHECK FOR A BLANK                                                    1566.000
*                                                                       1567.000
SSRS.30  STATE                     ... A SUBEXPRESSION (SUBROUTINE)     1568.000
         SPACE                                                          1569.000
*  CHECK FOR BLANK                                                      1570.000
         SPACE                                                          1571.000
           TRAN    BLANK,,EXIT                                          1572.000
         SPACE                                                          1573.000
*  NOT BLANK, SO SUBEXPRESSION TRANSITION FAILS                         1574.000
         SPACE                                                          1575.000
         STATE                                                          1576.000
         SPACE     5                                                    1577.000
*                                                                       1578.000
*  DETERMINE IF BLANK IS EMBEDDED AS PART OF THE PATHNAME OR IS         1579.000
*  A PATHNAME TERMINATOR                                                1580.000
*                                                                       1581.000
SSRSS.10 STATE                                                          1582.000
         SPACE                                                          1583.000
*  POSITION TO FIRST NON-BLANK CHARACTER OR END-OF-STRING               1584.000
         SPACE                                                          1585.000
           TRAN    NOBLNK                                               1586.000
         STATE                                                          1587.000
         SPACE                                                          1588.000
*  CHECK FOR END-OF-STRING                                              1589.000
         SPACE                                                          1590.000
           TRAN    EOS,,EXIT                                            1591.000
         SPACE                                                          1592.000
*  CHECK FOR COMMA                                                      1593.000
         SPACE                                                          1594.000
           TRAN    TSTEXP,,EXIT,SSRS.20                                 1595.000
         SPACE                                                          1596.000
*  CHECK FOR A KEYWORD                                                  1597.000
         SPACE                                                          1598.000
           TRAN    TSTEXP,,EXIT,SS.KWSYN                                1599.000
         STATE                                                          1600.000
         SPACE     5                                                    1601.000
SS.OPTG  STATE                     ... A SUBEXPRESSION (SUBROUTINE)     1602.000
         SPACE                                                          1603.000
*  LOOK FOR GLOBAL OPTION KEYWORDS                                      1604.000
         SPACE                                                          1605.000
           TRAN    KEYWD,,,K.OPTG,NOB.M                                 1606.000
           TRAN    NOBLNK,,SS.TIMOP                                     1607.000
         SPACE                                                          1608.000
*  SUBEXPRESSION FAILS IF NO KEYWORD MATCH IS FOUND                     1609.000
         SPACE                                                          1610.000
         STATE                                                          1611.000
         SPACE     5                                                    1612.000
SS.OPTL  STATE                     ... A SUBEXPRESSION (SUBROUTINE)     1613.000
         SPACE                                                          1614.000
*  LOOK FOR LOCAL OPTION KEYWORDS                                       1615.000
         SPACE                                                          1616.000
           TRAN    KEYWD,,,K.OPTL,NOB.M                                 1617.000
           TRAN    NOBLNK,,SS.TIMOP                                     1618.000
         SPACE                                                          1619.000
*  SUBEXPRESSION FAILS IF NO KEYWORD MATCH IS FOUND                     1620.000
         SPACE                                                          1621.000
         STATE                                                          1622.000
         SPACE     5                                                    1623.000
*                                                                       1624.000
*  OPTION KEYWORD TABLE FOR LOG RESOURCE                                1625.000
*                                                                       1626.000
         SPACE                                                          1627.000
K.OPTG   EQU       $                    GLOBAL OPTIONS START HERE       1628.000
         KEYWRD    LISTING,,SS.LIST,3   LISTING=PATHNAME !32B01 ECKW-34 1629.000
K.OPTL   EQU       $                    LOCAL OPTIONS START HERE        1630.000
         KEYWRD    BRIEF,,SS.BRIE,3     BRIEF LISTING     !32B01 ECKW-341631.000
         KEYWRD    ROOT,,SS.ROOT,3      ROOT DIRECTORY    !32B01 ECKW-341632.000
         DATAW     0                    END OF KEYWORD TABLE            1633.000
         SPACE     5                                                    1634.000
*                                                                       1635.000
*  ACTION ROUTINES FOR LOG RESOURCE                                     1636.000
*                                                                       1637.000
         SPACE                                                          1638.000
A.LR1    EQU       $                                                    1639.000
         SPACE                                                          1640.000
*  MARK THE STARTING ADDRESS OF THE PATHNAME                            1641.000
         SPACE                                                          1642.000
         STW       R2,PSTART       ADDRESS SUPPLIED BY PARSER           1643.000
         ZMW       PLENGTH         INITIALIZE LENGTH OF STRING          1644.000
         TRSW      R0              RETURN                               1645.000
         SPACE     5                                                    1646.000
A.LR2    EQU       $                                                    1647.000
         SPACE                                                          1648.000
*  INCREMENT PATHNAME LENGTH BY LENGTH OF TOKEN PARSED                  1649.000
         SPACE                                                          1650.000
         ARMW      R4,PLENGTH      LENGTH SUPPLIED BY PARSER            1651.000
         TRSW      R0              RETURN                               1652.000
         SPACE     5                                                    1653.000
*                                                                       1654.000
*  PATHNAME PARSE COMPLETE  --  PUT PATHNAME IN PROTOTYPE ENTRY         1655.000
*                                                                       1656.000
         SPACE                                                          1657.000
A.LR3    EQU       $                                                    1658.000
         SPACE                                                          1659.000
         PUSH                      SAVE REGS                            1660.000
         LW        R3,PRONEXT      CURRENT OFFSET INTO PROTOTYPE TABLE  1661.000
         CI        R3,PROMXIDX     END OF TABLE ???                     1662.000
         BLT       A.LR301         GO FOR NOT END OF TABLE              1663.000
         LA        R3,PERR002      STATE (TRANSITION) ADDRESS           1664.000
         STW       R3,3W,X1        PLANT ON STACK FOR RETURN            1665.000
         ABM       29,0W,X1        TELL PARSER WE ARE SUPPLYING         1666.000
*                                  NEXT STATE ADDRESS                   1667.000
         BU        A.LR3EX         GO TO ROUTINE EXIT POINT             1668.000
         SPACE     2                                                    1669.000
A.LR301  EQU       $                                                    1670.000
         ABM       31,PRONUM       ... ANOTHER PATHNAME PARSED          1671.000
         LI        R4,PROSZ.O      PROTOTYPE ENTRY SIZE                 1672.000
         ARMW      R4,PRONEXT      OFFSET TO NEXT PROTOTYPE ENTRY       1673.000
         LA        R4,PROTOTYP     TABLE START ADDRESS                  1674.000
         ADR       R4,R3           ABSOLUTE ADDR. OF PROTOTYPE ENTRY    1675.000
         LW        R4,COBADDR      LOCAL OPTION BLOCK ADDRESS           1676.000
         STW       R4,PROFOA.O,X3  PLANT IN PROTOTYPE ENTRY             1677.000
         TRR       R3,R5           SAVE PROTOTYPE ENTRY ADDRESS         1678.000
*                                                                       1679.000
*  COPY PATHNAME TO PROTOTYPE ENTRY                                     1680.000
*                                                                       1681.000
         LA        R3,PROTFN.O,X3  PLACE TO PUT PATHNAME                1682.000
         LW        R2,PSTART       STARTING ADDRESS OF PATHNAME         1683.000
         BZ        A.LR3EX         GO FOR NO PATHNAME INPUT ON          1684.000
*                                  COMMAND LINE; LOG CURR. WORKING DIR. 1685.000
         LW        R4,PLENGTH      LENGTH (IN BYTES) OF PATHNAME        1686.000
         CI        R4,14W          WILL PATHNAME FIT INTO PROTO. ENTRY  1687.000
         BLE       A.LR303         GO FOR WILL FIT                      1688.000
*  PATHNAME TOO LONG - REJECT THE TRANSITION & SUPPLY NEW STATE ADDR.   1689.000
         LA        R3,PERR007      STATE (TRANSITION) ADDRESS           1690.000
         STW       R3,3W,X1        PLANT ON STACK FOR RETURN            1691.000
         ABM       29,0W,X1        TELL PARSER WE ARE SUPPLYING         1692.000
*                                  NEXT STATE ADDRESS                   1693.000
         BU        A.LR3EX         GO TO ROUTINE EXIT POINT             1694.000
         SPACE     2                                                    1695.000
A.LR303  EQU       $                                                    1696.000
         BL        COPYSTRG        COPY PATHNAME TO PROTOTYPE ENTRY     1697.000
         XCR       R3,R5           R5=ADDR. OF PATHNAME IN PROTO. ENTRY 1698.000
*                                  R3=PROTO. ENTRY ADDRESS              1699.000
         SLL       R5,8            POSITION ADDRESS TO MAKE PATHNAME    1700.000
         SRLD      R4,8            DESCRIPTOR                           1701.000
         STW       R5,PROFR2.O,X3  PLANT DESCRIPTOR IN PROTOTYPE ENTRY  1702.000
A.LR3EX  POP                       RESTORE REGS                         1703.000
         TRSW      R0              RETURN                               1704.000
         SPACE     5                                                    1705.000
*                                                                       1706.000
*  SET UP TO LOG CURRENT WORKING DIRECTORY; OUTPUT DUMMY COMMAND        1707.000
*  LINE TO AUDIT TRAIL SO USER KNOWS WHAT IS GOING ON.                  1708.000
*                                                                       1709.000
A.LR4    EQU       $                                                    1710.000
         PUSH                      SAVE REGS                            1711.000
*                                                                       1712.000
*  BUILD PATHNAME FOR CURRENT WORKING DIRECTORY                         1713.000
*                                                                       1714.000
         ZMW       PSTART          ... SO ROUTINE DOESN'T ATTEMP TO     1715.000
*                                  COPY PATHNAME TO PROTOTYPE ENTRY     1716.000
         BL        A.LR3           ALLOCATE & BUILD A PROTOTYPE ENTRY   1717.000
*  GET THE ENTRY'S ADDRESS                                              1718.000
         LA        R3,PROTOTYP     1ST ENTRY IN TABLE                   1719.000
         LA        R3,PROTFN.O,X3  PLACE TO BUILD THE PATHNAME          1720.000
         TRR       R3,R5           SAVE PATHNAME START ADDRESS          1721.000
         LI        R0,G'@'         VOLUME INDICATOR CHARACTER           1722.000
         STB       R0,0B,X3        BUILD THE PATHNAME                   1723.000
         ABR       R3,31           INCREMENT ADDRESS ONE BYTE           1724.000
*                                                                       1725.000
*  COPY OVER THE CURRENT WORKING VOLUME NAME                            1726.000
*                                                                       1727.000
         LB        R4,DVLENGTH     SIGNIFICANT LENGTH OF VOLUME NAME    1728.000
         LA        R2,DVOL         ADDRESS OF VOLUME NAME               1729.000
         BL        COPYSTRG        COPY VOLUME NAME TO THE PROTOTYPE ENT1730.000
         ADR       R4,R3           INCREMENT ADDRESS                    1731.000
         LI        R0,G'('         DIRECTORY NAME START INDICATOR CHAR. 1732.000
         STB       R0,0B,X3        PLANT IN PATHNAME STRING             1733.000
         ABR       R3,31           INCREMENT PATHNAME STRING ADDRESS    1734.000
*                                                                       1735.000
*  COPY OVER THE CURRENT WORKING DIRECTORY NAME                         1736.000
*                                                                       1737.000
         LB        R4,DDLENGTH     SIGNIFICANT LENGTH OF DIRECTORY NAME 1738.000
         LA        R2,DDIR         ADDRESS OF DIRECTORY NAME            1739.000
         BL        COPYSTRG        COPY DIRECTORY NAME TO PROTOTYPE ENTR1740.000
         ADR       R4,R3           INCREMENT ADDRESS                    1741.000
         LI        R0,G')'         DIRECTORY NAME END INDICATOR CHARACTE1742.000
         STB       R0,0B,X3        PLANT IN PATHNAME STRING             1743.000
         ABR       R3,31           INCREMENT ADDRESS                    1744.000
         SUR       R5,R3           LENGTH OF PATHNAME                   1745.000
         TRR       R3,R4           DITTO                                1746.000
         SLL       R5,8            POSITION PATHNAME ADDRESS            1747.000
         SRLD      R4,8            AND MAKE A PATHNAME DESCRIPTOR       1748.000
         LA        R3,PROTOTYP     1ST PROTOTYPE ENTRY                  1749.000
         STW       R5,PROFR2.O,X3  PLANT DESCRIPTOR IN PROTOTYPE ENTRY  1750.000
         STW       R5,PSTART       SAVE DESCRIPTOR FOR PRINT FORMATTER  1751.000
*                                                                       1752.000
*  OUTPUT DUMMY LOG COMMAND TO AUDIT TRAIL                              1753.000
*                                                                       1754.000
         LA        R2,LRSTRG       FORMATTING STRING ADDRESS            1755.000
         LA        R3,PSTART       PARAMETER BLOCK ADDRESS              1756.000
         BL        FORMATOT        FORMAT & PRINT THE MESSAGE           1757.000
*                                                                       1758.000
*  SET UP "LOG RESOURCE" COMMAND ACTION ADDRESS FOR THE DISPATCHER      1759.000
*                                                                       1760.000
         BL        A.LRCMD         PLUGS THE ENTRY POINT ADDRESS        1761.000
         SPACE                                                          1762.000
         POP                       RESTORE REGS                         1763.000
         TRSW      R0              RETURN                               1764.000
         SPACE     5                                                    1765.000
*                                                                       1766.000
*  ACTION WHEN LOG RESOURCE COMMAND LINE IS SUCCESSFULLY PARSED         1767.000
*                                                                       1768.000
         SPACE                                                          1769.000
A.LRCMD  EQU       $                                                    1770.000
         LA        R7,C.LOGRES     ENTRY POINT TO COMMAND ACTION        1771.000
         STW       R7,COMDADDR     SAVE FOR THE DISPATCHER              1772.000
         TRSW      R0              RETURN                               1773.000
         SPACE     2                                                    1774.000
         BOUND     1W                                                   1775.000
         SPACE                                                          1776.000
*                                                                       1777.000
* DATA AREA FOR LOG RESOURCE                                            1778.000
*                                                                       1779.000
         SPACE                                                          1780.000
         DSECT                                                          1781.000
         SPACE                                                          1782.000
PSTART   REZ       1W                                                   1783.000
PLENGTH  REZ       1W                                                   1784.000
*                                                                       1785.000
*  PRINT FORMATTER MESSAGE Z-STRING                                     1786.000
*                                                                       1787.000
LRSTRG   DATAB     C'0VOL>LOG %C          ";GENERATED BY VOLMGR',0      1788.000
         SPACE                                                          1789.000
         BOUND     1W                                                   1790.000
         SPACE                                                          1791.000
         CSECT                                                          1792.000
         SPACE                                                          1793.000
         TITLE     MISCELLANEOUS STATE TABLES & ACTION ROUTINES         1794.000
*                                                                       1795.000
* SS.KEYWRD- EXPRESSION TO CHECK FOR A KEYWORD SYNTAX                   1796.000
*                                                                       1797.000
*    THIS EXPRESSION CHECKS FOR THE KEYWORD SYNTAX, THAT IS             1798.000
*    A STRING FOLLOWED BY AN "=" POSSIBLY SEPARATED BY BLANKS.          1799.000
*                                                                       1800.000
         SPACE                                                          1801.000
SS.KWSYN STATE                     CHECK FOR KEYWORD SYNTAX             1802.000
           TRAN    STRING,,,,NOB.M CHECK FOR A STRING                   1803.000
         STATE                                                          1804.000
           TRAN    G'=',,EXIT      EXIT WITH SUCCESS IF SYNTAX FOUND    1805.000
         STATE                                                          1806.000
         SPACE     2                                                    1807.000
*                                                                       1808.000
*        ERRVAL TRANSITION ENTRIES -- ACTION ROUTINES WILL SUPPLY       1809.000
*        PARSER WITH THESE AS NEXT STATE ADDRESS WHEN A SPECIFIC        1810.000
*        ERROR HAS BEEN DETECTED                                        1811.000
*                                                                       1812.000
         SPACE                                                          1813.000
         STATE                                                          1814.000
PERR001    ERRVAL  MPERR001        NAME IS > 16 CHARACTERS              1815.000
PERR002    ERRVAL  MPERR002        PROTOTYPE TABLE IS FULL; > 48 ENTRIES1816.000
PERR003    ERRVAL  MPERR003        NAME EXPECTED, BUT NOT FOUND         1817.000
PERR004    ERRVAL  MPERR004        NUMBER > 8 DIGITS IN LENGTH          1818.000
PERR005    ERRVAL  MPERR005        OWNER/USERGROUP NAME > 8 CHARACTERS  1819.000
PERR006    ERRVAL  MPERR006        NO PATHNAME(S) SPECIFIED             1820.000
PERR007    ERRVAL  MPERR007        PATHNAME TOO LONG - LOG RESOURCE     1821.000
*!RR008    ERRVAL  MPERR008        NO SYSTEM VOLUME DEFAE3RMS35 E3RMS35B1822.000
         STATE                                                          1823.000
         SPACE     5                                                    1824.000
*                                                                       1825.000
*   ***  WARNING  ***  -- THIS OPTION CAN ONLY BE SPECIFIED AS A        1826.000
*                         GLOBAL OPTION DUE TO IT'S USING OF THE        1827.000
*                         PROTOTYPE TABLE & ASSOCIATED VARIABLES        1828.000
*                         TO PARSE A PATHNAME.  IE., GLOBAL OPTIONS     1829.000
*                         ARE PROCESSED BEFORE THE PROTOTYPE TABLE      1830.000
*                         IS NEEDED FOR PARAMETERS THAT ARE PATHNAMES!!!1831.000
*                                                                       1832.000
         SPACE                                                          1833.000
SS.LIST  STATE                                                          1834.000
           TRAN    G'=',,,,NOB.M   MAKE SURE IT'S A KEYWORD             1835.000
         STATE                                                          1836.000
           TRAN    SUBEXP,AS.LIST,EXIT,SS.PATNM,NOB.M                   1837.000
         STATE                                                          1838.000
         SPACE     5                                                    1839.000
SS.BOOL  STATE                     *** PARSE A BOOLEAN SPECIFIER ***    1840.000
           TRAN    KEYWD,AS.SETOP,EXIT,K.TRUFLS       GET BOOL KEYWD    1841.000
           ERRVAL  E.BOOL                                               1842.000
         STATE                                                          1843.000
         SPACE     5                                                    1844.000
SS.NUMB  STATE                                                          1845.000
           TRAN    DNUMB,AS.STORN,EXIT            DEFAULT DECIMAL #     1846.000
           TRAN    G'X',,SS.NUMB1                  HEX INDICATOR        1847.000
           TRAN    G'N',,SS.NUMB2                  DECIMAL INDICATOR    1848.000
SS.NUMB1  STATE                                    PROCESS FOR HEX #    1849.000
           TRAN    G'"''                          QUOTE THERE ?         1850.000
           ERRVAL  E.NUMBH                 NO -- ERROR                  1851.000
         STATE                                                          1852.000
           TRAN    HNUMB,AS.STORN,SS.NUMB3          GET HEX #           1853.000
           ERRVAL  E.NUMBH                 DIDN'T FIND OR INVALID       1854.000
SS.NUMB2  STATE                                                         1855.000
           TRAN    G'"''                          QUOTE THERE ?         1856.000
           ERRVAL  E.NUMBD                 NO -- ERROR                  1857.000
         STATE                                                          1858.000
           TRAN    DNUMB,AS.STORN                  GET DECIMAL #        1859.000
           ERRVAL  E.NUMBD                 DIDN'T FIND OR INVALID       1860.000
SS.NUMB3  STATE                                                         1861.000
           TRAN    G'"'',,EXIT                    ENDING QUOTE THERE ?  1862.000
           ERRVAL  E.NUMB                  NO -- ERROR                  1863.000
         STATE                                                          1864.000
         SPACE     5                                                    1865.000
SS.ACCE  STATE                                                          1866.000
           TRAN    G'=',,,,NOB.M        GET EQUAL AND SKIP BLANKS       1867.000
         STATE                                                          1868.000
           TRAN    KEYWD,AS.ACCE1,,K.WHO,NOB.M                          1869.000
           ERRVAL  E.ACCESS                                             1870.000
         STATE                                                          1871.000
           TRAN    G'(',,,,NOB.M                                        1872.000
           ERRVAL  E.ACCOPT                                             1873.000
         STATE                                                          1874.000
           TRAN    G')',AS.ACCE2,EXIT                                   1875.000
           TRAN    LAMBDA                                               1876.000
         STATE                                                          1877.000
SS.ACC1    TRAN    KEYWD,AS.ACCE3,,K.OPT                                1878.000
         STATE                                                          1879.000
           TRAN    G')',,EXIT                                           1880.000
           TRAN    ANYCH,,SS.ACC1                                       1881.000
           ERRVAL  E.ACCOPT                                             1882.000
         STATE                                                          1883.000
         SPACE     5                                                    1884.000
SS.ACCEF STATE                                                          1885.000
           TRAN    G'=',,,,NOB.M        GET EQUAL AND SKIP BLANKS       1886.000
         STATE                                                          1887.000
           TRAN    KEYWD,AS.ACCE1,,K.WHO,NOB.M                          1888.000
           ERRVAL  E.ACCESS                                             1889.000
         STATE                                                          1890.000
           TRAN    G'(',,,,NOB.M                                        1891.000
           ERRVAL  E.ACCOPT                                             1892.000
         STATE                                                          1893.000
           TRAN    G')',AS.ACCE2,EXIT                                   1894.000
           TRAN    LAMBDA                                               1895.000
         STATE                                                          1896.000
SS.ACCF1   TRAN    KEYWD,AS.ACCE3,,K.OPTF                               1897.000
         STATE                                                          1898.000
           TRAN    G')',,EXIT                                           1899.000
           TRAN    ANYCH,,SS.ACCF1                                      1900.000
           ERRVAL  E.ACCOPT                                             1901.000
         STATE                                                          1902.000
         SPACE     5                                                    1903.000
SS.MAXS  STATE                     MAX. SIZE FOR EXTENDIBLE FILES       1904.000
           TRAN    G'=',AS.MAXS,,,NOB.M      MAKE SURE ITS KEYWORD AND  1905.000
*                                            PLANT STORAGE ADDRESS IN   1906.000
*                                            GLOBAL VARIABLE            1907.000
         STATE                                                          1908.000
           TRAN    SUBEXP,,EXIT,SS.NUMB      GET THE NUMBER             1909.000
*!         ERRVAL  ???                                                  1910.000
         STATE                                                          1911.000
         SPACE     5                                                    1912.000
SS.MINI  STATE         MIN. ACCEPTABLE  INCR. SIZE FOR (AUTO.) EXTEND   1913.000
           TRAN    G'=',AS.MINI,,,NOB.M      MAKE SURE ITS KEYWORD AND  1914.000
*                                            PLANT STORAGE ADDRESS IN   1915.000
*                                            GLOBAL VARIABLE            1916.000
         STATE                                                          1917.000
           TRAN    SUBEXP,,EXIT,SS.NUMB      GET THE NUMBER             1918.000
*!         ERRVAL  ???                                                  1919.000
         STATE                                                          1920.000
         SPACE     5                                                    1921.000
SS.INCR  STATE                     INCREMENT SIZE FOR AUTO. EXTEND      1922.000
           TRAN    G'=',AS.INCR,,,NOB.M      MAKE SURE ITS KEYWORD AND  1923.000
*                                            PLANT STORAGE ADDRESS IN   1924.000
*                                            GLOBAL VARIABLE            1925.000
         STATE                                                          1926.000
           TRAN    SUBEXP,,EXIT,SS.NUMB      GET THE NUMBER             1927.000
*!         ERRVAL  ???                                                  1928.000
         STATE                                                          1929.000
         SPACE     5                                                    1930.000
SS.ALLO  STATE                     # BLOCKS TO ALLOCATE                 1931.000
           TRAN    G'=',AS.ALLO,,,NOB.M      MAKE SURE ITS KEYWORD AND  1932.000
*                                            PLANT STORAGE ADDRESS IN   1933.000
*                                            GLOBAL VARIABLE            1934.000
         STATE                                                          1935.000
           TRAN    SUBEXP,,EXIT,SS.NUMB      GET THE NUMBER             1936.000
*!         ERRVAL  ???                                                  1937.000
         STATE                                                          1938.000
         SPACE     5                                                    1939.000
SS.ENTR  STATE                     # ENTRIES IN DIRECTORY               1940.000
           TRAN    G'=',AS.ENTR,,,NOB.M      MAKE SURE ITS KEYWORD AND  1941.000
*                                            PLANT STORAGE ADDRESS IN   1942.000
*                                            GLOBAL VARIABLE            1943.000
         STATE                                                          1944.000
           TRAN    SUBEXP,,EXIT,SS.NUMB      GET THE NUMBER             1945.000
*!         ERRVAL  ???                                                  1946.000
         STATE                                                          1947.000
         SPACE     5                                                    1948.000
SS.FAST  STATE                                                          1949.000
           TRAN    G'=',AS.FAST,,,NOB.M                                 1950.000
         STATE                                                          1951.000
           TRAN    SUBEXP,,EXIT,SS.BOOL                                 1952.000
*!         ERRVAL  ???                                                  1953.000
         STATE                                                          1954.000
         SPACE     5                                                    1955.000
SS.OWNE  STATE                                                          1956.000
           TRAN    G'=',AS.OWNE,,,NOB.M                                 1957.000
         STATE                                                          1958.000
           TRAN    STRING,AS.NAME,EXIT,,NOB.M                           1959.000
           TRAN    G'"''                      DOES NAME HAVE SPEC. CHAR.1960.000
         STATE                                                          1961.000
           TRAN    SUBEXP,AS.SNME,EXIT,SS.SNME,NOB.M                    1962.000
*!       ERRVAL    ???                                                  1963.000
         STATE                                                          1964.000
         SPACE     5                                                    1965.000
SS.SNME  STATE                                                          1966.000
           TRAN    G'"'',,EXIT                                          1967.000
           TRAN    ANYCH,,SS.SNME                                       1968.000
         STATE                                                          1969.000
         SPACE     5                                                    1970.000
SS.SHAR  STATE                          SHARED -- BOOLEAN OPTION        1971.000
           TRAN    G'=',AS.SHAR,,,NOB.M      MAKE SURE IT'S KEYWORD     1972.000
*          ERRVAL  INVTERM                                              1973.000
         STATE                                                          1974.000
           TRAN    SUBEXP,,EXIT,SS.BOOL SET/CLEAR BIT FOR TRUE/FALSE    1975.000
*!         ERRVAL  ???                                                  1976.000
         STATE                                                          1977.000
         SPACE     5                                                    1978.000
SS.NOSA  STATE                          NOSAVE -- BOOLEAN OPTION        1979.000
           TRAN    G'=',AS.NOSA,,,NOB.M      MAKE SURE IT'S KEYWORD     1980.000
*          ERRVAL  INVTERM                                              1981.000
         STATE                                                          1982.000
           TRAN    SUBEXP,,EXIT,SS.BOOL SET/CLEAR BIT FOR TRUE/FALSE    1983.000
*!         ERRVAL  ???                                                  1984.000
         STATE                                                          1985.000
         SPACE     5                                                    1986.000
SS.AUTO  STATE                          AUTOEXT=BOOL  BOOLEAN OPTION    1987.000
           TRAN    G'=',AS.AUTO,,,NOB.M      MAKE SURE IT'S KEYWORD     1988.000
*          ERRVAL  INVTERM                                              1989.000
         STATE                                                          1990.000
           TRAN    SUBEXP,,EXIT,SS.BOOL SET/CLEAR BIT FOR TRUE/FALSE    1991.000
*!         ERRVAL  ???                                                  1992.000
         STATE                                                          1993.000
         SPACE     5                                                    1994.000
SS.CONT  STATE                          CONTIGUOUS=BOOL  BOOLEAN OPTION 1995.000
           TRAN    G'=',AS.CONT,,,NOB.M      MAKE SURE IT'S KEYWORD     1996.000
*          ERRVAL  INVTERM                                              1997.000
         STATE                                                          1998.000
           TRAN    SUBEXP,,EXIT,SS.BOOL SET/CLEAR BIT FOR TRUE/FALSE    1999.000
*!         ERRVAL  ???                                                  2000.000
         STATE                                                          2001.000
         SPACE     5                                                    2002.000
SS.MANE  STATE                          MANEXT=BOOL  BOOLEAN OPTION     2003.000
           TRAN    G'=',AS.MANE,,,NOB.M      MAKE SURE IT'S KEYWORD     2004.000
*          ERRVAL  INVTERM                                              2005.000
         STATE                                                          2006.000
           TRAN    SUBEXP,,EXIT,SS.BOOL SET/CLEAR BIT FOR TRUE/FALSE    2007.000
*!         ERRVAL  ???                                                  2008.000
         STATE                                                          2009.000
         SPACE     5                                                    2010.000
SS.SAVN  STATE                          SAVN  --  BOOLEAN OPTION        2011.000
           TRAN    G'=',AS.SAVN,,,NOB.M      MAKE SURE IT'S KEYWORD     2012.000
*          ERRVAL  INVTERM                                              2013.000
         STATE                                                          2014.000
           TRAN    SUBEXP,,EXIT,SS.BOOL SET/CLEAR BIT FOR TRUE/FALSE    2015.000
*!         ERRVAL  ???                                                  2016.000
         STATE                                                          2017.000
         SPACE     5                                                    2018.000
SS.NEWE  STATE                        NEWEST  --  BOOLEAN OPTION        2019.000
           TRAN    G'=',AS.NEWE,,,NOB.M      MAKE SURE IT'S KEYWORD     2020.000
*          ERRVAL  INVTERM                                              2021.000
         STATE                                                          2022.000
           TRAN    SUBEXP,,EXIT,SS.BOOL SET/CLEAR BIT FOR TRUE/FALSE    2023.000
*!         ERRVAL  ???                                                  2024.000
         STATE                                                          2025.000
         SPACE     5                                                    2026.000
SS.RAND  STATE                          RANDOM -- BOOLEAN OPTION        2027.000
           TRAN    G'=',AS.RAND,,,NOB.M      MAKE SURE IT'S KEYWORD     2028.000
*          ERRVAL  INVTERM                                              2029.000
         STATE                                                          2030.000
           TRAN    SUBEXP,,EXIT,SS.BOOL SET/CLEAR BIT FOR TRUE/FALSE    2031.000
*!         ERRVAL  ???                                                  2032.000
         STATE                                                          2033.000
         SPACE     5                                                    2034.000
SS.ZERO  STATE                            ZERO -- BOOLEAN OPTION        2035.000
           TRAN    G'=',AS.ZERO,,,NOB.M      MAKE SURE IT'S KEYWORD     2036.000
*          ERRVAL  INVTERM                                              2037.000
         STATE                                                          2038.000
           TRAN    SUBEXP,,EXIT,SS.BOOL SET/CLEAR BIT FOR TRUE/FALSE    2039.000
*!         ERRVAL  ???                                                  2040.000
         STATE                                                          2041.000
         SPACE     5                                            EVOM-33 2042.000
SS.SEOF  STATE                            SEOF - BOOLEAN OPTION EQIC360 2043.000
           TRAN    G'=',AS.SEOF,,,NOB.M                         EQIC360 2044.000
         STATE                                                  EQIC360 2045.000
           TRAN    SUBEXP,,EXIT,SS.BOOL SET/CLEAR BIT FOR T/F   EQIC360 2046.000
         STATE                                                  EQIC360 2047.000
         SPACE     5                                            EQIC360 2048.000
SS.SEGN  STATE                     MAX. SEGMENT NUM AT CREATION EVOM-33 2049.000
           TRAN    G'=',AS.SEGN,,,NOB.M                         EVOM-33 2050.000
         STATE                                                  EVOM-33 2051.000
           TRAN    SUBEXP,,EXIT,SS.NUMB      STORE IN OPT.PSIZ  EVOM-33 2052.000
         STATE                                                          2053.000
SS.REPL  STATE                         REPLACE -- BOOLEAN OPTION        2054.000
           TRAN    G'=',AS.REPL,,,NOB.M      MAKE SURE IT'S KEYWORD     2055.000
*          ERRVAL  INVTERM                                              2056.000
         STATE                                                          2057.000
           TRAN    SUBEXP,,EXIT,SS.BOOL SET/CLEAR BIT FOR TRUE/FALSE    2058.000
*!         ERRVAL  ???                                                  2059.000
         STATE                                                          2060.000
         SPACE     5                                                    2061.000
SS.STAR  STATE                                                          2062.000
           TRAN    G'=',AS.STAR,,,NOB.M                                 2063.000
         STATE                                                          2064.000
           TRAN    SUBEXP,,EXIT,SS.NUMB                                 2065.000
*!         ERRVAL  ???                                                  2066.000
         STATE                                                          2067.000
         SPACE     5                                                    2068.000
SS.USER  STATE                                                          2069.000
           TRAN    G'=',AS.USER,,,NOB.M                                 2070.000
         STATE                                                          2071.000
           TRAN    STRING,AS.NAME,EXIT,,NOB.M                           2072.000
*!         ERRVAL  ???                                                  2073.000
         STATE                                                          2074.000
         SPACE     5                                                    2075.000
SS.INP   STATE                               GET INPUT LIST             2076.000
           TRAN    KEYWD,,,K.PATHKW,NOB.M    LOOK FOR INPUT KEYWORD     2077.000
         STATE                                                          2078.000
           TRAN    G'=',,EXIT,,NOB.M         SKIP "=" AND BLANKS        2079.000
         STATE                                                          2080.000
         SPACE     2                                                    2081.000
K.PATHKW KEYWRD    PATH,,,3                            !32B02  ECKW-34  2082.000
         DATAW     0                         END OF LIST                2083.000
         SPACE     5                                                    2084.000
SS.FROM  STATE                               "FROM=" PATHNAME           2085.000
           TRAN    KEYWD,,,K.FROMKW,NOB.M    LOOK FOR "FROM=" KEYWORD   2086.000
         STATE                                                          2087.000
           TRAN    G'=',,EXIT,,NOB.M         SKIP "=" AND BLANKS        2088.000
         STATE                                                          2089.000
         SPACE     2                                                    2090.000
K.FROMKW KEYWRD    FROM,,,3                  "FROM=" KEYWORD   ECKW-34  2091.000
         DATAW     0                         END OF LIST                2092.000
         SPACE     5                                                    2093.000
SS.TO    STATE                               "TO=" KEYWORD              2094.000
           TRAN    KEYWD,,,K.TOKW,NOB.M      LOOK FOR "TO=" KEYWORD     2095.000
         STATE                                                          2096.000
           TRAN    G'=',,EXIT,,NOB.M         SKIP "=" AND BLANKS        2097.000
           TRAN    TSTEXP,,EXIT,SS.PATHN                        EVOL-33 2098.000
         STATE                                                          2099.000
         SPACE     2                                                    2100.000
K.TOKW   KEYWRD    TO                        "TO=" KEYWORD              2101.000
         DATAW     0                         END OF LIST                2102.000
         SPACE     2                                                    2103.000
SS.PATHN STATE                                                  EVOL-33 2104.000
           TRAN    G'@',,EXIT                                   EVOL-33 2105.000
           TRAN    G'^',,EXIT                                   EVOL-33 2106.000
           TRAN    G'(',,EXIT                                   EVOL-33 2107.000
           TRAN    G'"'',,EXIT                                  EVOL-33 2108.000
           TRAN    G'*',,EXIT                                   EVOL-33 2109.000
           TRAN    G'?',,EXIT                                   EVOL-33 2110.000
           TRAN    STRING,,,,NOB.M                              EVOL-33 2111.000
         STATE                                                  EVOL-33 2112.000
           TRAN    EOS,,EXIT                                    EVOL-33 2113.000
           TRAN    ALPHA,,EXIT                                  EVOL-33 2114.000
           TRAN    G'*',,EXIT                                   EVOL-33 2115.000
           TRAN    G'?',,EXIT                                   EVOL-33 2116.000
         STATE                                                  EVOL-33 2117.000
SS.PROT  STATE                                                          2118.000
           TRAN    G'=',AS.PROT,,,NOB.M                                 2119.000
         STATE                                                          2120.000
           TRAN    SUBEXP,,EXIT,SS.NUMB                                 2121.000
*!         ERRVAL  ???                                                  2122.000
         STATE                                                          2123.000
         SPACE     5                                                    2124.000
SS.FIRS  STATE                                                          2125.000
           TRAN    G'=',AS.FIRS,,,NOB.M                                 2126.000
         STATE                                                          2127.000
           TRAN    SUBEXP,,EXIT,SS.NUMB                                 2128.000
*!         ERRVAL  ???                                                  2129.000
         STATE                                                          2130.000
         SPACE     5                                                    2131.000
SS.MEMC  STATE                                                          2132.000
           TRAN    G'=',,,,NOB.M                                        2133.000
         STATE                                                          2134.000
           TRAN    KEYWD,AS.MEMC,EXIT,K.MEMC,NOB.M                      2135.000
         STATE                                                          2136.000
         SPACE     5                                                    2137.000
SS.CONF  STATE                                                          2138.000
           TRAN    G'=',AS.CONF,,,NOB.M                                 2139.000
         STATE                                                          2140.000
           TRAN    SUBEXP,,EXIT,SS.BOOL                                 2141.000
*!         ERRVAL  ???                                                  2142.000
         STATE                                                          2143.000
         SPACE     5                                                    2144.000
SS.BRIE  STATE                                                          2145.000
           TRAN    G'=',AS.BRIE,,,NOB.M                                 2146.000
         STATE                                                          2147.000
           TRAN    SUBEXP,,EXIT,SS.BOOL                                 2148.000
*!         ERRVAL  ???                                                  2149.000
         STATE                                                          2150.000
         SPACE     5                                                    2151.000
SS.TRUN  STATE                                                  ETRN361 2152.000
           TRAN    G'=',AS.TRUN,,,NOB.M                         ETRN361 2153.000
         STATE                                                  ETRN361 2154.000
           TRAN    SUBEXP,,EXIT,SS.BOOL                         ETRN361 2155.000
         STATE                                                  ETRN361 2156.000
         SPACE     5                                            ETRN361 2157.000
SS.ROOT  STATE                     'ROOT=' OPTION               S860445 2158.000
           TRAN    G'=',AS.ROOT,,,NOB.M                         S860445 2159.000
         STATE                                                  S860445 2160.000
           TRAN    SUBEXP,,EXIT,SS.BOOL                         S860445 2161.000
         STATE                                                  S860445 2162.000
         SPACE     5                                            S860445 2163.000
SS.TIMOP STATE                                                          2164.000
           TRAN    KEYWD,AS.TIMO1,,K.TIMOP1                             2165.000
         STATE                                                          2166.000
           TRAN    G'=',,,,NOB.M   MAKE SURE IT'S KEYWORD               2167.000
         STATE                                                          2168.000
           TRAN    KEYWD,AS.TIMO2,,K.TIMOP2,NOB.M                       2169.000
*!         ERRVAL  ???                                                  2170.000
         STATE                                                          2171.000
           TRAN    SUBEXP,AS.TIMO3,,SS.BTIME                            2172.000
*!         ERRVAL  ???                                                  2173.000
         STATE                                                          2174.000
           TRAN    NOBLNK,,EXIT                                         2175.000
         STATE                                                          2176.000
         SPACE     5                                                    2177.000
SS.FIL   STATE                                                          2178.000
           TRAN    KEYWD,,,K.FIL                                        2179.000
           TRAN    LAMBDA,,SS.FIL2                                      2180.000
         STATE                                                          2181.000
           TRAN    G'=',,,,NOB.M                                        2182.000
SS.FIL2  STATE                                                          2183.000
           TRAN    NOBLNK,AS.FIL,SS.NUMB                                2184.000
         STATE                                                          2185.000
         SPACE     5                                                    2186.000
SS.IMA   STATE                                                          2187.000
           TRAN    KEYWD,,,K.IMA                                        2188.000
           TRAN    LAMBDA,,SS.IMA2                                      2189.000
         STATE                                                          2190.000
           TRAN    G'=',,,,NOB.M                                        2191.000
SS.IMA2  STATE                                                          2192.000
           TRAN    NOBLNK,AS.FIL,SS.NUMB                                2193.000
         STATE                                                          2194.000
         SPACE     5                                                    2195.000
SS.EXTS  STATE                                                          2196.000
           TRAN    G'=',AS.EXTS,SS.NUMB,,NOB.M                          2197.000
*!         ERRVAL  ???                                                  2198.000
         STATE                                                          2199.000
         SPACE     5                                                    2200.000
K.FIL    EQU       $                                                    2201.000
         KEYWRD    FILE,,,3                            ! 32B01 ECKW-34  2202.000
         DATAW     0               END OF TABLE                         2203.000
         SPACE     5                                                    2204.000
K.IMA    EQU       $                                                    2205.000
         KEYWRD    IMAGE,,,3                           ! 32B01 ECKW-34  2206.000
         DATAW     0               END OF TABLE                         2207.000
         SPACE     5                                                    2208.000
K.TIMOP1 EQU       $                                                    2209.000
         KEYWRD    CREATED,,,3,OPT.CRE                   !32B01 ECKW-34 2210.000
         KEYWRD    CHANGED,,,3,OPT.CHA                   !32B01 ECKW-34 2211.000
         KEYWRD    SAVED,,,3,OPT.SAV                     !32B01 ECKW-34 2212.000
         KEYWRD    RESTORED,,,3,OPT.RES                  !32B01 ECKW-34 2213.000
         KEYWRD    ACCESSED,,,3,OPT.ACC                        !ELAC-35 2214.000
         DATAW     0                    END OF TABLE                    2215.000
         SPACE     5                                                    2216.000
K.TIMOP2 EQU       $                                                    2217.000
         KEYWRD    SINCE,,,1,0                                 ! 32B02  2218.000
         KEYWRD    BEFORE,,,1,1                                ! 32B02  2219.000
         DATAW     0                                                    2220.000
         SPACE     5                                                    2221.000
K.MEMC   EQU       $                                                    2222.000
         KEYWRD    E,,,,1                                               2223.000
         KEYWRD    H,,,,2                                               2224.000
         KEYWRD    S,,,,3                                               2225.000
         DATAW     0                                                    2226.000
         SPACE     5                                                    2227.000
*++                                                                     2228.000
*                                                                       2229.000
*        AS.LIST  --  PICK-UP JUST PARSED (OPTION) PATHNAME FROM        2230.000
*                     PROTOTYPE TABLE AND MOVE IT TO A PRE-DETERMINED   2231.000
*                     PLACE, BASED UPON WHETHER OPTION WAS SPECIFIED    2232.000
*                     AS DEFAULT OR GLOBAL.  PUT ADDRESS OF MOVED       2233.000
*                     PATHNAME IN THE CURRENT OPTION BLOCK.  REINITIALIZ2234.000
*                     THE PROTOTYPE TABLE & ASSOCIATED VARIABLES SINCE  2235.000
*                     THESE WERE USED IN THE PATHNAME PARSE.            2236.000
*--                                                                     2237.000
         SPACE                                                          2238.000
AS.LIST  EQU       $                                                    2239.000
         PUSH                      SAVE REGS                            2240.000
         LA        R2,PROTOTYP     ADDRESS OF PATHNAME JUST PARSED      2241.000
         BL        BUILDPNB        CONVERT INTO A PATHNAME BLOCK        2242.000
*                                  PNB IN 'PNB.BUF'                     2243.000
*        R7 RETURN AS PNB DESCRIPTOR                                    2244.000
         SRL       R7,24           POSITION THE PNB BYTE COUNT          2245.000
         TRR       R7,R4           LENGTH OF PATHNAME TO COPY (IN BYTES)2246.000
         LA        R2,PNB.BUF      SOURCE - PATHNAME BLOCK BUFFER       2247.000
         LA        R3,GLOBPATH     DESTINATION ADDRESS                  2248.000
         BL        COPYSTRG        PUT PATHNAME AWAY                    2249.000
         SLL       R3,8            POSITION FOR MERGING                 2250.000
         TRR       R7,R2           LENGTH (IN BYTES) OF PNB             2251.000
         SRLD      R2,8            PRODUCES A PNB DESCRIPTOR            2252.000
         LW        R2,COBADDR      BASE ADDR OF CURRENT OPTION BLOCK    2253.000
         STW       R3,OPT.LIST,X2  PLANT PNB DESCRIPTOR IN OPTION BLOCK 2254.000
         SPACE                                                          2255.000
AS.LIST1 EQU       $               ENTRY POINT                          2256.000
         SPACE                                                          2257.000
*                                                                       2258.000
*        REINITIALIZE THE PROTOTYPE TABLE & ASSOCIATED VARIABLES        2259.000
*        USED IN PARSING THE PATHNAME.                                  2260.000
*                                                                       2261.000
         LI        R4,-NUMBZER2    # WORDS TO ZERO                      2262.000
         LA        R3,INITZER2     STARING ADDRESS                      2263.000
AS.LIST2 ZMW       0W,X3                                                2264.000
         ADI       R3,1W           INCREMENT POINTER                    2265.000
         BIB       R4,AS.LIST2     LOOP TIL DONE                        2266.000
         POP                       RESTORE REGS                         2267.000
         TRSW      R0              RETURN                               2268.000
         SPACE     5                                                    2269.000
AS.EXTS  EQU       $                                                    2270.000
         LI        R4,OPT.EXTS                                          2271.000
         BU        AS.ENTR1                                             2272.000
         SPACE     5                                                    2273.000
AS.FIL   EQU       $                                                    2274.000
         LA        R7,TAPE.NUM                                          2275.000
         STW       R7,ADDRPTR                                           2276.000
         TRSW      R0                                                   2277.000
         SPACE     5                                                    2278.000
AS.DEF   EQU       $                                                    2279.000
         LI        R7,1            DEFAULT # OF FILES/IMAGES TO SKIP    2280.000
         STW       R7,TAPE.NUM                                          2281.000
         TRSW      R0                                                   2282.000
         SPACE     5                                                    2283.000
AS.MEMC  EQU       $                                                    2284.000
         LI        R2,OPT.MCLS                                          2285.000
         ADMW      R2,COBADDR                                           2286.000
         STB       R7,0B,R2        PUT MEMORY CLASS INTO OPT.OPTS       2287.000
         TRSW      R0                                                   2288.000
         SPACE     5                                                    2289.000
AS.PROT  EQU       $                                                    2290.000
         LI        R4,OPT.PSIZE                                         2291.000
         BU        AS.ENTR1                                             2292.000
         SPACE     5                                                    2293.000
AS.FIRS  EQU       $                                                    2294.000
         LI        R4,OPT.PSTA                                          2295.000
         BU        AS.ENTR1                                             2296.000
         SPACE     5                                                    2297.000
*                                                                       2298.000
*    FILE UTILITY COMMAND VERB KEYWORD TABLE                            2299.000
*                                                                       2300.000
         SPACE                                                          2301.000
K.FUPCMD EQU       $               START OF KEYWORD TABLE               2302.000
         KEYWRD    BACKSPACE,,S.BKSCMD,3 BACKSPC - FIND SUB-CMD! 32B02  2303.000
         KEYWRD    CLEAR,A.CLEAR,EXIT,3  CLEAR DEFAULT OPTIONS ! 32B02  2304.000
         KEYWRD    CONVERT,,S.CONVRT,3  CONVERT PRE-MPX 2.0    ! 32B02  2305.000
*                                       SAVED FILE TO MPX2.0RVOL.STRUCT.2306.000
         KEYWRD    COPY,,S.CPYCMD,3     COPY FILE(S)           ! 32B02  2307.000
         KEYWRD    CREATE,,S.CRECMD,3   CREATE - FIND SUB-CMD  ! 32B02  2308.000
*!       KEYWRD    DEBT,,S.DEBUGT       TASK DEBUGGER ***TEMP***        2309.000
*!       KEYWRD    DEBS,,S.DEBUGS       SYSTEM DEBUGGER ***TEMP***      2310.000
         KEYWRD    DELETE,,S.DELCMD,3   DELETE - FIND SUB-CMD  ! 32B02  2311.000
         KEYWRD    EXIT,A.EXIT,EXIT,3   EXIT TASK              ! 32B02  2312.000
         KEYWRD    EXTEND,,S.EXTEND,3   EXTEND FILE(S)         ! 32B02  2313.000
         KEYWRD    HELP,,S.HELP,3       GIVE OUT SOME HELP     ! 32B02  2314.000
         KEYWRD    LOG,,S.LOGCMD        LOG -- FIND SUB-COMMAND         2315.000
         KEYWRD    RENAME,,S.RENAME,3   RENAME FILE DIR. ENTRY ! 32B02  2316.000
         KEYWRD    RESTORE,,S.RESCMD,3  RESTORE - FIND SUB-CMD ! 32B02  2317.000
         KEYWRD    REWIND,,S.REWIND,3   REWIND SAVE TAPE       ! 32B02  2318.000
         KEYWRD    SAVE,,S.SAVADV,3     SAVE FILES TO TAPE     ! 32B02  2319.000
         KEYWRD    SDT,,S.SDTA          LOOK FOR COMMAND ADVERB         2320.000
         KEYWRD    SET,,S.SET           SET DEFAULT OPTION VALUES       2321.000
         KEYWRD    SKIP,,S.SKPCMD,3     SKIP - FIND SUB-CMD    ! 32B02  2322.000
         KEYWRD    TRUNCATE,,S.TRNCAT,3 REDUCE SIZE OF FILE(S) ! 32B02  2323.000
         KEYWRD    X,A.EXIT,EXIT        ALTERNATE SPELLING FOR EXIT     2324.000
         DATAW     0                                                    2325.000
         SPACE     2                                                    2326.000
*+                                                                      2327.000
* SUB-COMMAND VERBS FOR BACKSPACE                                       2328.000
*-                                                                      2329.000
         SPACE                                                          2330.000
K.BKSCMD KEYWRD    FILE,,S.BKSFIL,1     BACKSPACE FILE         ! 32B02  2331.000
         KEYWRD    IMAGE,,S.BKSIMA,1    BACKSPACE IMAGE        ! 32B02  2332.000
         DATAW     0                    END OF BACKSPACE SUB-VERBS      2333.000
         SPACE     2                                                    2334.000
*+                                                                      2335.000
* SUB-COMMAND VERBS FOR CREATE                                          2336.000
*-                                                                      2337.000
         SPACE                                                          2338.000
K.CRECMD KEYWRD    FILE,,S.CREFIL,1     CREATE FILE            ! 32B02  2339.000
         KEYWRD    DIRECTORY,,S.CREDIR,1 CREATE DIRECTORY      ! 32B02  2340.000
         KEYWRD    COMMON,,S.CRECOM,1   CREATE COMMON          ! 32B02  2341.000
         DATAW     0                    END OF CREATE SUB-VERBS         2342.000
         SPACE     2                                                    2343.000
*+                                                                      2344.000
* SUB-COMMAND VERBS FOR DELETE                                          2345.000
*-                                                                      2346.000
         SPACE                                                          2347.000
K.DELCMD KEYWRD    COMMON,,S.DELCOM,1   DELETE COMMON          ! 32B02  2348.000
         KEYWRD    DIRECTORY,,S.DELDIR,1 DELETE DIRECTORY      ! 32B02  2349.000
         KEYWRD    FILE,,S.DELFIL,1     DELETE FILE            ! 32B02  2350.000
         DATAW     0                    END OF DELETE SUB-VERBS         2351.000
         SPACE     2                                                    2352.000
*                                                                       2353.000
* KEYWORD LIST FOR COMM,FIRE AND FILE (CDF) USED BY DELCMD.    ! 32B01  2354.000
*                                                                       2355.000
K.CDFKW  KEYWRD    COMMON,,,1                                  ! 32B01  2356.000
         KEYWRD    DIRECTORY,,,1                               ! 32B01  2357.000
         KEYWRD    FILE,,,1                                    ! 32B01  2358.000
         DATAW     0               END OF LOOKUP CHAR OF DELETE S850883 2359.000
*                                                              & 32B02  2360.000
*+                                                                      2361.000
* COMMAND ADVERBS FOR SAVE                                              2362.000
*-                                                                      2363.000
         SPACE                                                          2364.000
K.SAVCMD KEYWRD    INCREMENTAL,,S.SAVINC,1 SAVE INCREMENTAL    ! 32B02  2365.000
         DATAW     0                    END OF SAVE ADVERBS             2366.000
         SPACE     2                                                    2367.000
*+                                                                      2368.000
* COMMAND ADVERBS FOR SDT                                               2369.000
*-                                                                      2370.000
         SPACE                                                          2371.000
K.SDTCMD KEYWRD    MASTER,,S.SDTM,1     SDT MASTER             ! 32B02  2372.000
         DATAW     0                    END OF SDT ADVERBS              2373.000
         SPACE     2                                                    2374.000
*+                                                                      2375.000
* ADVERBS FOR LOG COMMAND                                               2376.000
*-                                                                      2377.000
         SPACE                                                          2378.000
K.LOGCMD KEYWRD    IMAGE,,S.LOGIMA,1    LOG IMAGE              ! 32B02  2379.000
         KEYWRD    SAVEFILE,,S.LOGSAV,1 LOG (1) SAVEFILE       ! 32B02  2380.000
         KEYWRD    FILE,,S.LOGVOL,1     LOG (FILES ON A) VOLUME! 32B02  2381.000
         KEYWRD    RESOURCE,,S.LOGRES,1 LOG RESOURCE           ! 32B02  2382.000
         DATAW     0                    END OF LOG ADVERBS              2383.000
* ADVERB LIST FOR IMAGE, SAVEFILE, FILE AND RESOURCE            S860721 2384.000
K.LOGADV KEYWRD    IMAGE,,,1       IMAGE                        S860721 2385.000
         KEYWRD    SAVEFILE,,,1    SAVEFILE                     S860721 2386.000
         KEYWRD    FILE,,,1        FILE                         S860721 2387.000
         KEYWRD    RESOURCE,,,1    RESOURCE                     S860721 2388.000
         DATAW     0                                            S860721 2389.000
         SPACE     2                                                    2390.000
*+                                                                      2391.000
* SUB-COMMAND VERBS FOR RESTORE                                         2392.000
*-                                                                      2393.000
         SPACE                                                          2394.000
K.RESCMD KEYWRD    DIRECTORY,,S.RESDIR,1 RESTORE (VIA) DIR.    ! 32B02  2395.000
         KEYWRD    POSITION,,S.RESPOS,1 RESTORE (VIA) POSITION ! 32B02  2396.000
         DATAW     0                    END OF RESTORE SUB-VERBS        2397.000
         SPACE     2                                                    2398.000
*+                                                                      2399.000
* SUB-COMMAND VERBS FOR SKIP                                            2400.000
*-                                                                      2401.000
         SPACE                                                          2402.000
K.SKPCMD KEYWRD    END,,S.SKPEND,1      SKIP TO LOGICAL EOT    ! 32B02  2403.000
         KEYWRD    FILE,,S.SKPFIL,1     SKIP (1) SAVEFILE      ! 32B02  2404.000
         KEYWRD    IMAGE,,S.SKPIMA,1    SKIP A SAVE IMAGE      ! 32B02  2405.000
         DATAW     0                    END OF SKIP SUB-VERBS           2406.000
         SPACE     5                                                    2407.000
*                                                                       2408.000
*  NOTE:  HOW THE "ADD" ATTRIBUTE IS SPELLED IN THE KEYWORD TABLE.      2409.000
*  THIS TO GET AROUND A PARSER PROBLEM.                                 2410.000
*                                                                       2411.000
K.OPT    EQU       $                                                    2412.000
         KEYWRD    ADD_,,,1,RCB.ADEN    ADD ENTRY(S)           ! 32B02  2413.000
         KEYWRD    DELDIR,,,4,RCB.DELE  DELETE WHOLE DIR 85-0348 32B02  2414.000
         KEYWRD    DELENT,,,4,RCB.DEEN  DELETE ENTRY(S)  85-0348 32B02  2415.000
         KEYWRD    READ,,,1,RCB.READ    READ DIRECTORY         ! 32B02  2416.000
         KEYWRD    TRAVERSE,,,1,RCB.TRAV TRAVERSE DIRECTORY    ! 32B02  2417.000
         DATAW     0                                                    2418.000
         SPACE     5                                                    2419.000
K.OPTF   EQU       $                                                    2420.000
         KEYWRD    APPEND,,,1,RCB.APPN                         ! 32B02  2421.000
         KEYWRD    DELETE,,,1,RCB.DELE                         ! 32B02  2422.000
         KEYWRD    MODIFY,,,1,RCB.MODI                         ! 32B02  2423.000
         KEYWRD    READ,,,1,RCB.READ                           ! 32B02  2424.000
         KEYWRD    UPDATE,,,1,RCB.UPDA                         ! 32B02  2425.000
         KEYWRD    WRITE,,,1,RCB.WRIT                          ! 32B02  2426.000
         DATAW     0                                                    2427.000
         SPACE     5                                                    2428.000
K.WHO    KEYWRD     OWNER,,,2,0         OWNER                  ! 32B02  2429.000
         KEYWRD     OTHERS,,,2,1        OTHER(S)               ! 32B02  2430.000
         KEYWRD     PROJECTGROUP,,,2,2  PROJECT GROUP          ! 32B02  2431.000
         DATAW     0                                                    2432.000
         SPACE     5                                                    2433.000
ACOFFSET EQU       $                                                    2434.000
         DATAW     OPT.OWRI                                             2435.000
         DATAW     OPT.OTRI                                             2436.000
         DATAW     OPT.UGRI                                             2437.000
         SPACE     5                                                    2438.000
NOACCESS EQU       $                                                    2439.000
         SBM       RCB.OWNA,OPT.OPTS,X3                                 2440.000
         SBM       RCB.OTNA,OPT.OPTS,X3                                 2441.000
         SBM       RCB.USNA,OPT.OPTS,X3                                 2442.000
         TITLE     FILE UTILITY MAIN PARSE ACTION ROUTINES              2443.000
PRLENGTH EQU       12              12 WORDS PER PROTOTYPE               2444.000
PRLNMASK EQU       X'7F'           MASK BIT 0, QUOTE FLAG IN LENGTH BYTE2445.000
PNQUOTE  EQU       0               BIT 0 OF BYTE LENGTH INDICATOR IS    2446.000
*                                  QUOTED NAME FLAG                     2447.000
A.MAKEP  EQU       $                                                    2448.000
         PUSH                      SAVE REGS                            2449.000
         LA        R2,PROTOTYP     PROTOTYPE TABLE                      2450.000
         LW        R0,COBADDR      CURRENT OPTION BLOCK ADDRESS         2451.000
         BNZ       A.MAK.10        GO IF ANY EXISTS                     2452.000
         LA        R0,LOBLOCK      GIVE IT AN OPTION BLOCK              2453.000
A.MAK.10 EQU       $                                                    2454.000
         STW       R0,PROFOA.O,X2  PLANT OPTION BLOCK ADDRESS IN        2455.000
*                                  PROTOTYPE ENTRY                      2456.000
         ABM       31,PRONUM       INCREMENT ENTRY COUNT                2457.000
         LI        R0,PROSZ.O      OFFSET TO NEXT PROTOTYPE ENTRY       2458.000
         ARMW      R0,PRONEXT      SAVE IT                              2459.000
         POP                       RESTORE REGS                         2460.000
         TRSW      R0              RETURN                               2461.000
         SPACE     5                                                    2462.000
         SPACE                                                          2463.000
A.INIT   EQU       $               INITIALIZE PROTOTYPE POINTERS        2464.000
         PUSH                      SAVE REGS                            2465.000
         ZMB       GWILDIDX        INDICATE DEALING W/"FROM" PATHNAME   2466.000
         LW        R3,PRONEXT      INDEX TO FIRST FREE PROTOTYPE ENTRY  2467.000
         CI        R3,PROMXIDX     PAST LAST VALID INDEX ?              2468.000
         BLT       A.IN010         BRANCH IF TABLE NOT FULL             2469.000
         LA        R3,PERR002      STATE ADDRESS OF ERRVAL TRANSITION   2470.000
         STW       R3,3W,X1        PLANT ON STACK FOR RETURN            2471.000
         ABM       29,0W,X1        TELL PARSER WERE SUPPLYING NEXT STATE2472.000
         BU        A.INEXIT        BRANCH TO ROUTINE EXIT POINT         2473.000
A.IN010  EQU       $                                                    2474.000
         ABM       31,PRONUM       BUMP PROTOTYPE COUNT                 2475.000
         TRR       R3,R4           DITTO                                2476.000
         ADI       R4,PROFVF.O     OFFSET TO VOLUME FLAG FIELD          2477.000
         STW       R4,PROQUO       SAVE                                 2478.000
         TRR       R3,R4           DITTO                                2479.000
         ADI       R4,PROFVN.O     OFFSET TO VOLUME NAME FIELD          2480.000
         STW       R4,PROFIELD     INDEX TO FIELD WITHIN AN ENTRY       2481.000
         STW       R4,PROBYTE      INDEX TO 1ST FREE CHAR. WITHIN FIELD 2482.000
         LI        R4,PROSZ.O      ENTRY SIZE                           2483.000
         ARMW      R4,PRONEXT      OFFSET TO NEXT ENTRY                 2484.000
         TRR       R3,R4           DITTO -- RELATIVE OFFSET OF ENTRY    2485.000
*                                  FROM BEGINNING OF PROTOTYPE TABLE    2486.000
         LA        R2,PROTOTYP     STARTING ADDRESS OF TABLE            2487.000
         ADR       R4,R2           ABSOLUTE ADDRESS OF ENTRY            2488.000
         LW        R4,COBADDR      ADDRESS OF LOCAL OPTION BLOCK        2489.000
*                                  ASSOCIATED WITH THIS PATHNAME        2490.000
         STW       R4,PROFOA.O,X2  PLANT IN PROTOTYPE TABLE             2491.000
         STW       R2,PROFPA.O,X2  SAVE ADDRESS OF THIS ENTRY WITHIN    2492.000
*  THIS ENTRY ... SO THAT WHEN WRITE TO DISC WILL KNOW ORIGINAL         2493.000
*  MEMORY ADDRESS OF THIS ENTRY                                         2494.000
         SPACE                                                          2495.000
         ADI       R3,PROFVL.O     INDEX TO LENGTH FIELD WITHIN AN ENTRY2496.000
         STW       R3,PROLEN       SAVE                                 2497.000
         BL        BLANKFIL        BLANK NAME FIELD                     2498.000
A.INEXIT POP                       RESTORE REGS                         2499.000
         TRSW      R0              RETURN                               2500.000
         SPACE     5                                                    2501.000
A.INIT2  EQU       $               FOR "TO=" PATHNAME                   2502.000
         PUSH                      SAVE REGS                            2503.000
         LI        R3,1W           INDICATE DEALING WITH "TO" PATHNAME  2504.000
         STB       R3,GWILDIDX                                          2505.000
         LW        R3,PRONEXT      OFFSET TO NEXT PROTOTYPE ENTRY       2506.000
         SUI       R3,PROSZ.O      OFFSET TO CURRENT ENTRY              2507.000
         TRR       R3,R4           DITTO                                2508.000
         ADI       R4,PROTVL.O     OFFSET TO VOLUME    LENGTH FIELD     2509.000
         STW       R4,PROLEN       SAVE                                 2510.000
         TRR       R3,R4           DITTO                                2511.000
         ADI       R4,PROTVN.O     OFFSET TO VOLUME    NAME FIELD       2512.000
         STW       R4,PROFIELD     SAVE NEW NAME FIELD INDEX            2513.000
         STW       R4,PROBYTE      INDEX TO CHAR. WITHIN NAME FIELD     2514.000
         ADI       R3,PROTVF.O     OFFSET TO VOLUME    FLAG FIELD       2515.000
         STW       R3,PROQUO       SAVE                                 2516.000
         BL        BLANKFIL        BLANK NAME FIELD                     2517.000
         POP                       RESTORE REGS                         2518.000
         TRSW      R0              RETURN                               2519.000
         SPACE     5                                                    2520.000
A.DIR.00 EQU       $                                                    2521.000
         PUSH                      SAVE REGS                            2522.000
         LW        R3,PRONEXT      OFFSET TO NEXT PROTOTYPE ENTRY       2523.000
         SUI       R3,PROSZ.O      OFFSET TO CURRENT ENTRY              2524.000
         BU        A.DIR.10        JOIN COMMON CODE                     2525.000
         SPACE                                                          2526.000
A.DIR    EQU       $                                                    2527.000
         PUSH                      SAVE REGS                            2528.000
         LW        R3,PRONEXT      OFFSET TO NEXT PROTOTYPE ENTRY       2529.000
         SUI       R3,PROSZ.O      OFFSET TO CURRENT ENTRY              2530.000
         LA        R2,PROTOTYP,X3  ABSOLUTE ADDR. OF PROTOTYPE ENTRY    2531.000
         LA        R4,PROFVL.O,X2  ADDR. OF LENGTH FIELD                2532.000
         LA        R2,PROFVN.O,X2  ABSOLUTE ADDR. OF VOLUME NAME WITHIN 2533.000
*                                  THE PROTOTYPE ENTRY                  2534.000
         LA        R5,SVOL         ADDR. OF SYSTEM VOLUME'S ACTUAL NAME 2535.000
         LB        R0,SVLENGTH     SIGNIFICANT LENGTH OF SYS. VOL. NAME 2536.000
         SLL       R0,24           POSITION TO BYTE 0                   2537.000
         ORR       R0,R4           MAKE COUNT/ADDRESS DESCRIPTOR        2538.000
         BL        CHECKSYS        CHECK FOR NAME "SYSTEM"              2539.000
*!       BNS       A.DIR.10        NO ERROR             E3RMS35 E3RMS35B2540.000
*!       BL        NSVPATH         NO SYSTEM VOLUME ERROE3RMS35 E3RMS35B2541.000
         SPACE                                                          2542.000
A.DIR.10 EQU       $                                                    2543.000
         SPACE                                                          2544.000
         TRR       R3,R4           DITTO                                2545.000
         ADI       R4,PROFDL.O     OFFSET TO DIRECTORY LENGTH FIELD     2546.000
         STW       R4,PROLEN       SAVE                                 2547.000
         TRR       R3,R4           DITTO                                2548.000
         ADI       R4,PROFDN.O     OFFSET TO DIRECTORY NAME FIELD       2549.000
         STW       R4,PROFIELD     SAVE NEW NAME FIELD INDEX            2550.000
         STW       R4,PROBYTE      INDEX TO CHAR. WITHIN NAME FIELD     2551.000
         ADI       R3,PROFDF.O     OFFSET TO DIRECTORY FLAG FIELD       2552.000
         STW       R3,PROQUO       SAVE                                 2553.000
         BL        BLANKFIL        BLANK NAME FIELD                     2554.000
         POP                       RESTORE REGS                         2555.000
         TRSW      R0              RETURN                               2556.000
         SPACE     5                                                    2557.000
A.DIR2.0 EQU       $                                                    2558.000
         PUSH                      SAVE REGS                            2559.000
         LW        R3,PRONEXT      OFFSET TO NEXT PROTOTYPE ENTRY       2560.000
         SUI       R3,PROSZ.O      OFFSET TO CURRENT ENTRY              2561.000
         BU        A.DIR2.1        JOIN COMMON CODE                     2562.000
         SPACE                                                          2563.000
A.DIR2   EQU       $               FOR "TO=" PATHNAME                   2564.000
         PUSH                      SAVE REGS                            2565.000
         LW        R3,PRONEXT      OFFSET TO NEXT PROTOTYPE ENTRY       2566.000
         SUI       R3,PROSZ.O      OFFSET TO CURRENT ENTRY              2567.000
         LA        R2,PROTOTYP,X3  ABSOLUTE ADDR. OF PROTOTYPE ENTRY    2568.000
         LA        R4,PROTVL.O,X2  ADDR. OF LENGTH FIELD                2569.000
         LA        R2,PROTVN.O,X2  ABSOLUTE ADDR. OF VOLUME NAME WITHIN 2570.000
*                                  THE PROTOTYPE ENTRY                  2571.000
         LA        R5,SVOL         ADDR. OF SYSTEM VOLUME'S ACTUAL NAME 2572.000
         LB        R0,SVLENGTH     SIGNIFICANT LENGTH OF SYS. VOL. NAME 2573.000
         SLL       R0,24           POSITION TO BYTE 0                   2574.000
         ORR       R0,R4           MAKE COUNT/ADDRESS DESCRIPTOR        2575.000
         BL        CHECKSYS        CHECK FOR NAME "SYSTEM"              2576.000
*!       BNS       A.DIR2.1        NO ERROR             E3RMS35 E3RMS35B2577.000
*!       BL        NSVPATH         NO SYSTEM VOLUME ERROE3RMS35 E3RMS35B2578.000
         SPACE                                                          2579.000
A.DIR2.1 EQU       $                                                    2580.000
         SPACE                                                          2581.000
         TRR       R3,R4           DITTO                                2582.000
         ADI       R4,PROTDL.O     OFFSET TO DIRECTORY LENGTH FIELD     2583.000
         STW       R4,PROLEN       SAVE                                 2584.000
         TRR       R3,R4           DITTO                                2585.000
         ADI       R4,PROTDN.O     OFFSET TO DIRECTORY NAME FIELD       2586.000
         STW       R4,PROFIELD     SAVE NEW NAME FIELD INDEX            2587.000
         STW       R4,PROBYTE      INDEX TO CHAR. WITHIN NAME FIELD     2588.000
         ADI       R3,PROTDF.O     OFFSET TO DIRECTORY FLAG FIELD       2589.000
         STW       R3,PROQUO       SAVE                                 2590.000
         BL        BLANKFIL        BLANK NAME FIELD                     2591.000
         POP                       RESTORE REGS                         2592.000
         TRSW      R0              RETURN                               2593.000
         SPACE     5                                                    2594.000
* IF THE VOLUME COMPONENT IS "SYSTEM" AND WE ARE ON A NO SYSTEM CP12394 2595.000
* VOLUME NODE WITH RMSS3.1 OR LATER, AND THE DIRECTORY          CP12394 2596.000
* COMPONENT IS "SYSTEM", THEN REPLACE "SYSTEM" WITH THE NAME    CP12394 2597.000
* OF NODEDIR WHICH IS CONTAINED IN THE VARIABLE SDIR.           CP12394 2598.000
A.FIL    EQU       $                                                    2599.000
         PUSH                      SAVE REGS                            2600.000
         TBM       EXPSYSVN,FLAGBITS    EXPLICIT SYSTEM VOL?    CP12394 2601.000
         BNS       A.FIL.50             NO - SKIP CHECKING      CP12394 2602.000
         TBM       RMS31NSV,FLAGBITS    >= RMSS3.1, NO SYS VOL? CP12394 2603.000
         BNS       A.FIL.50             NO - CONTINUE           CP12394 2604.000
         LW        R3,PROFIELD          DIRECTORY NAME FIELD    CP12394 2605.000
         LD        R6,SYSTEM            EXPLICIT SYSTEM DIR?    CP12394 2606.000
         CAMD      R6,PROTOTYP,X3       COMPARE TO PROTOTYPE    CP12394 2607.000
         BNE       A.FIL.50             SPECIFIED DIRECTORY     CP12394 2608.000
         LD        R6,BLANKS            2ND HALF                CP12394 2609.000
         CAMD      R6,PROTOTYP+1D,X3    JUST TO BE SURE         CP12394 2610.000
         BNE       A.FIL.50             NOT EXPLICIT SYSTEM DIR CP12394 2611.000
         LA        R2,SDIR              ADDR OF SYS DIR NAME    CP12394 2612.000
         LD        R6,0D,X2             GET REAL SYS DIR NAME   CP12394 2613.000
         STD       R6,PROTOTYP,X3       STORE IN PROTOTYPE      CP12394 2614.000
         LD        R6,1D,X2             2ND HALF                CP12394 2615.000
         STD       R6,PROTOTYP+1D,X3    STORE AWAY              CP12394 2616.000
         LW        R3,PRONEXT      OFFSET TO NEXT PROTOTYPE ENT CP12394 2617.000
         SUI       R3,PROSZ.O      OFFSET TO CURRENT ENTRY      CP12394 2618.000
         ADI       R3,PROFDL.O     OFFSET TO DIR NAME LEN FIELD CP12394 2619.000
         LB        R6,SDLENGTH          GET DIR NAME LENGTH     CP12394 2620.000
         STB       R6,PROTOTYP,X3       STORE IN PROTOTYPE      CP12394 2621.000
A.FIL.50 CEQU      $                                            CP12394 2622.000
         LW        R3,PRONEXT      OFFSET TO NEXT PROTOTYPE ENTRY       2623.000
         SUI       R3,PROSZ.O      OFFSET TO CURRENT ENTRY              2624.000
         TRR       R3,R4           DITTO                                2625.000
         ADI       R4,PROFFL.O     OFFSET TO FILE      LENGTH FIELD     2626.000
         STW       R4,PROLEN       SAVE                                 2627.000
         TRR       R3,R4           DITTO                                2628.000
         ADI       R4,PROFFN.O     OFFSET TO FILE      NAME FIELD       2629.000
         STW       R4,PROFIELD     SAVE NEW NAME FIELD INDEX            2630.000
         STW       R4,PROBYTE      INDEX TO CHAR. WITHIN NAME FIELD     2631.000
         ADI       R3,PROFFF.O     OFFSET TO FILE      FLAG FIELD       2632.000
         STW       R3,PROQUO       SAVE                                 2633.000
         BL        BLANKFIL        BLANK NAME FIELD                     2634.000
         POP                       RESTORE REGS                         2635.000
         TRSW      R0              RETURN                               2636.000
         SPACE     5                                                    2637.000
A.FIL2   EQU       $               FOR "TO=" PATHNAME                   2638.000
         PUSH                      SAVE REGS                            2639.000
         TBM       EXPSYSVN,FLAGBITS    EXPLICIT SYSTEM VOL?    CP12394 2640.000
         BNS       A.FIL2.5             NO - SKIP CHECKING      CP12394 2641.000
         TBM       RMS31NSV,FLAGBITS    >= RMSS3.1, NO SYS VOL? CP12394 2642.000
         BNS       A.FIL2.5             NO - CONTINUE           CP12394 2643.000
         LA        R2,PROTOTYPE         PROTOTYPE TABLE         CP12394 2644.000
         LD        R6,SYSTEM            EXPLICIT SYSTEM DIR?    CP12394 2645.000
         CAMD      R6,PROTDN.O,X2       COMPARE TO PROTOTYPE    CP12394 2646.000
         BNE       A.FIL2.5             SPECIFIED DIRECTORY     CP12394 2647.000
         LD        R6,BLANKS            2ND HALF                CP12394 2648.000
         CAMD      R6,PROTDN.O+1D,X2    JUST TO BE SURE         CP12394 2649.000
         BNE       A.FIL2.5             NOT EXPLICIT SYSTEM DIR CP12394 2650.000
         LA        R3,SDIR              ADDR OF SYS DIR NAME    CP12394 2651.000
         LD        R6,0D,X3             GET REAL SYS DIR NAME   CP12394 2652.000
         STD       R6,PROTDN.O,X2       STORE IN PROTOTYPE      CP12394 2653.000
         LD        R6,1D,X3             2ND HALF                CP12394 2654.000
         STD       R6,PROTDN.O+1D,X2    STORE AWAY              CP12394 2655.000
         LB        R6,SDLENGTH          GET DIR NAME LENGTH     CP12394 2656.000
         STB       R6,PROTDL.O,X2       STORE IN PROTOTYPE      CP12394 2657.000
A.FIL2.5 CEQU      $                                            CP12394 2658.000
         LW        R3,PRONEXT      OFFSET TO NEXT PROTOTYPE ENTRY       2659.000
         SUI       R3,PROSZ.O      OFFSET TO CURRENT ENTRY              2660.000
         TRR       R3,R4           DITTO                                2661.000
         ADI       R4,PROTFL.O     OFFSET TO FILE      LENGTH FIELD     2662.000
         STW       R4,PROLEN       SAVE                                 2663.000
         TRR       R3,R4           DITTO                                2664.000
         ADI       R4,PROTFN.O     OFFSET TO FILE      NAME FIELD       2665.000
         STW       R4,PROFIELD     SAVE NEW NAME FIELD INDEX            2666.000
         STW       R4,PROBYTE      INDEX TO CHAR. WITHIN NAME FIELD     2667.000
         ADI       R3,PROTFF.O     OFFSET TO FILE      FLAG FIELD       2668.000
         STW       R3,PROQUO       SAVE                                 2669.000
         BL        BLANKFIL        BLANK NAME FIELD                     2670.000
         POP                       RESTORE REGS                         2671.000
         TRSW      R0              RETURN                               2672.000
         SPACE     5                                                    2673.000
BLANKFIL EQU       $               BLANK NAME FIELD SO WILL HAVE        2674.000
*                                  TRAILING BLANKS                      2675.000
         LW        R3,PROFIELD     OFFSET TO A NAME FIELD               2676.000
         LD        R4,BLANKS       DOUBLE WORD OF BLANKS                2677.000
         STD       R4,PROTOTYP,X3  BLANK 1ST DOUBLE WORD                2678.000
         ADI       R3,1D           INCREMENT INDEX                      2679.000
         STD       R4,PROTOTYP,X3  BLANK 2ND DOUBLE WORD                2680.000
         TRSW      R0              RETURN                               2681.000
         SPACE     5                                                    2682.000
A.WILD   EQU       $                                                    2683.000
         SPACE                                                          2684.000
         LB        R3,GWILDIDX     GET INDEX TO TABLE THAT INDICATES    2685.000
*                                  "FROM" OR "TO" PATHNAME              2686.000
         EXM       GWILDFLG,X3          INDICATE A WILD CARD WAS        2687.000
*                                  ENCOUNTERED                          2688.000
         LW        R3,PROQUO       INDEX TO PROTOTYPE FLAG FIELD        2689.000
         SBM       WILD.F,PROTOTYP,X3   INDICATE A WILD CARD WAS        2690.000
*                                  ENCOUNTERED                          2691.000
         BU        A.STORC         JOIN COMMON CODE                     2692.000
         SPACE     5                                                    2693.000
A.QUOTE  EQU       $               INDICATE NAME IS QUOTED              2694.000
         LW        R3,PROQUO       INDEX TO A FLAG FIELD                2695.000
         SBM       7,PROTOTYP,X3   FLAG NAME AS BEING QUOTED (POS. NUM) 2696.000
         TRSW      R0              RETURN                               2697.000
         SPACE                                                          2698.000
A.STORC  EQU       $               PUT CHARACTER STRING INTO PROTOTYPE  2699.000
*                                  TABLE                                2700.000
         LW        R3,PROLEN       INDEX TO A LENGTH FIELD              2701.000
         ARMB      R4,PROTOTYP,X3  ADD IN LENGTH OF STRING              2702.000
         LB        R6,PROTOTYP,X3  GET LENGTH                           2703.000
         CI        R6,PRONM.O      STRING TOO LONG ?                    2704.000
         BLE       A.STO010        IT'S OK -- CONTINUE                  2705.000
*                                  ERROR -- STRING IS TOO LONG          2706.000
         LA        R3,PERR001      STATE ADDRESS OF ERRVAL TRANSITION   2707.000
         ADI       R0,1W           TELL PARSER WERE SUPPLYING NEXT STATE2708.000
         BU        A.STO.EX        BRANCH TO ROUTINE EXIT POINT         2709.000
A.STO010 TRN       R4,R4           NEGATE LENGTH FOR LOOP COUNTER       2710.000
         LW        R3,PROBYTE      IDX TO 1ST FREE CHAR. POSITION       2711.000
A.STO020 LB        R5,0B,X2        GET CHAR FROM SOURCE                 2712.000
         STB       R5,PROTOTYP,X3  PLANT IN PROTOTYPE TABLE             2713.000
         ABR       R2,31           INCR. SOURCE IDX                     2714.000
         ABR       R3,31           INCR. DESTINATION IDX                2715.000
         BIB       R4,A.STO020     LOOP IF MORE                         2716.000
         STW       R3,PROBYTE      NEW IDX TO 1ST FREE CHAR. POSITION   2717.000
A.STO.EX TRSW      R0              RETURN                               2718.000
         SPACE                                                          2719.000
A.CKSTR  EQU       $               MAKE SURE NAME WAS FOUND             2720.000
         LW        R3,PROLEN       INDEX TO LENGTH FIELD                2721.000
         LB        R4,PROTOTYP,X3  GET LENGTH OF NAME                   2722.000
*                                                                       2723.000
*  IF LENGTH OF STRING IS ZERO, THEN WE DIDN'T FIND A (PATH)NAME        2724.000
*  SO REJECT THE CURRENT TRANSITION.                                    2725.000
*                                                                       2726.000
         BZ        A.ERROR                                              2727.000
*!       BP        A.CKEXIT        BRANCH IF NAME PRESENT               2728.000
*!       LA        R3,PERR003      STATE ADDRESS OF ERRVAL TRANSITION   2729.000
*!       ADI       R0,1W           TELL PARSER WERE SUPPLYING NEXT STATE2730.000
A.CKEXIT TRSW      R0              RETURN                               2731.000
         SPACE                                                          2732.000
A.GETDV  EQU       $               PLANT DEFAULT VOLUME NAME IN         2733.000
*                                  PROTOTYPE TABLE                      2734.000
         PUSH                      SAVE REGS                            2735.000
         LA        R2,DVOL         DEFAULT VOLUME NAME                  2736.000
         LB        R4,DVLENGTH     DEFAULT VOLUME NAME LENGTH           2737.000
         BL        A.STORC         GO PLANT IT IN PROTOTYPE TABLE       2738.000
         BL        A.DIR.00        ADJ. INDEX(S) FOR NEXT PATHNAME PART 2739.000
         POP                       RESTORE REGS                         2740.000
         TRSW      R0              RETURN                               2741.000
         SPACE                                                          2742.000
A.GETDD  EQU       $               PLANT DEFAULT DIRECTORY NAME IN      2743.000
*                                  PROTOTYPE TABLE                      2744.000
         PUSH                      SAVE REGS                            2745.000
         LA        R2,DDIR         DEFAULT DIRECTORY NAME               2746.000
         LB        R4,DDLENGTH     DEFAULT DIRCTORY NAME LENGTH         2747.000
         BL        A.STORC         GO PLANT IT IN PROTOTYPE TABLE       2748.000
         BL        A.FIL           ADJ. INDEX(S) FOR NEXT PATHNAME PART 2749.000
         POP                       RESTORE REGS                         2750.000
         TRSW      R0              RETURN                               2751.000
         SPACE                                                          2752.000
A.GETDV2 EQU       $               PLANT DEFAULT VOLUME NAME IN         2753.000
*                                  PROTOTYPE TABLE                      2754.000
*  FOR "TO=" PATHNAME                                                   2755.000
         PUSH                      SAVE REGS                            2756.000
         LA        R2,DVOL         DEFAULT VOLUME NAME                  2757.000
         LB        R4,DVLENGTH     DEFAULT VOLUME NAME LENGTH           2758.000
         BL        A.STORC         GO PLANT IT IN PROTOTYPE TABLE       2759.000
         BL        A.DIR2.0        ADJ. INDEX(S) FOR NEXT PATHNAME PART 2760.000
         POP                       RESTORE REGS                         2761.000
         TRSW      R0              RETURN                               2762.000
         SPACE                                                          2763.000
A.GETDD2 EQU       $               PLANT DEFAULT DIRECTORY NAME IN      2764.000
*                                  PROTOTYPE TABLE                      2765.000
*  FOR "TO=" PATHNAME                                                   2766.000
         PUSH                      SAVE REGS                            2767.000
         LA        R2,DDIR         DEFAULT DIRECTORY NAME               2768.000
         LB        R4,DDLENGTH     DEFAULT DIRCTORY NAME LENGTH         2769.000
         BL        A.STORC         GO PLANT IT IN PROTOTYPE TABLE       2770.000
         BL        A.FIL2          ADJ. INDEX(S) FOR NEXT PATHNAME PART 2771.000
         POP                       RESTORE REGS                         2772.000
         TRSW      R0              RETURN                               2773.000
         SPACE     5                                                    2774.000
A.GETSYS EQU       $                                                    2775.000
         LD        R6,SYSTEM                                            2776.000
         LW        R3,PRONEXT                                           2777.000
         SUI       R3,PROSZ.O                                           2778.000
         LI        R4,6                                                 2779.000
         STB       R4,PROTOTYP+PROFVL.O,X3                              2780.000
         STB       R4,PROTOTYP+PROFDL.O,X3                              2781.000
         STD       R6,PROTOTYP+PROFVN.O,X3                              2782.000
         STD       R6,PROTOTYP+PROFDN.O,X3                              2783.000
         LD        R6,BLANKS                                            2784.000
         STD       R6,PROTOTYP+PROFVN.O+1D,X3                           2785.000
         STD       R6,PROTOTYP+PROFDN.O+1D,X3                           2786.000
         BU        A.FIL                                                2787.000
         SPACE     5                                                    2788.000
*++                                                                     2789.000
*                                                                       2790.000
*  CHECKSYS  --  CHECK (VOLUME) NAME FOR "SYSTEM";                      2791.000
*                IF FIND "SYSTEM" THEN REPLACE WITH NAME WHOSE ADDRESS  2792.000
*                IS IN R5 AND WHOSE SIGNIFICANT LENGTH OF NAME IS IN R4 2793.000
*                                                                       2794.000
*  INPUT:                                                               2795.000
*        R2 = ADDRESS OF (VOLUME) NAME                                  2796.000
*        R4 = SIGNIFICANT LENGTH OF REPLACEMENT (VOLUME) NAME; IN BYTES 2797.000
*             IN BYTE 0; ADDRESS OF LENGTH FIELD IN BYTES 1-3           2798.000
*        R5 = ADDRESS OF REPLACEMENT NAME (REAL NAME OF SYSTEM VOLUME)  2799.000
*                                                                       2800.000
*--                                                                     2801.000
         SPACE                                                          2802.000
CHECKSYS EQU       $                                                    2803.000
         SPACE                                                          2804.000
         PUSH                      SAVE REGS                            2805.000
*  CHECK FOR NAME "SYSTEM"                                              2806.000
         LD        R6,SYSTEM                                            2807.000
         ZBM       EXPSYSVN,FLAGBITS  INITIALIZE SYS VOL FLAG   E3RMS35B2808.000
         CAMD      R6,0D,X2        CHECK 1ST HALF OF NAME               2809.000
         BNE       CHEC.EX         GO FOR NOT "SYSTEM"                  2810.000
         LD        R6,BLANKS                                            2811.000
         CAMD      R6,1D,X2        CHECK 2ND HALF OF NAME               2812.000
         BNE       CHEC.EX         GO FOR NOT "SYSTEM"                  2813.000
*!       TBM       C.NOSVOL,C.BIT  NO SYSTEM VOLUME NODEE3RMS35 E3RMS35B2814.000
*!       BNS       CHEC.5          IF NOT, CONTINUE     E3RMS35 E3RMS35B2815.000
*!       SBM       CC1,0W,X1                            E3RMS35 E3RMS35B2816.000
*!       BU        CHEC.EX         RETURN               E3RMS35 E3RMS35B2817.000
*!EC.5   CEQU      $                                    E3RMS35 E3RMS35B2818.000
         SBM       EXPSYSVN,FLAGBITS   EXPLICIT SYSTEM VOLUME   E3RMS35B2819.000
         TRR       R5,R3           ADDR. OF REPLACEMENT NAME            2820.000
         LD        R6,0D,X3        1ST HALF OF NAME                     2821.000
         STD       R6,0D,X2        PLANT IT                             2822.000
         LD        R6,1D,X3        2ND HALF OF NAME                     2823.000
         STD       R6,1D,X2        PLANT IT                             2824.000
         SRLD      R4,24           SIGNIFICANT LENGTH OF NAME IN R4     2825.000
         SRL       R5,8            ADDRESS OF LENGTH FIELD              2826.000
         TRR       R5,R3           TO INDEX REG                         2827.000
         STB       R4,0B,X3        PLANT THE SIGNIFICANT LENGTH         2828.000
         SPACE                                                          2829.000
CHEC.EX  EQU       $                                                    2830.000
         SPACE                                                          2831.000
         POP                       RESTORE REGS                         2832.000
         TRSW      R0              RETURN                               2833.000
*!       SPACE     5                                    E3RMS35 E3RMS35B2834.000
*!                                                      E3RMS35 E3RMS35B2835.000
*!NO SYSTEM VOLUME CONFIGURED - SET UP ERROR RETURN TO PE3RMS35 E3RMS35B2836.000
*!                                                      E3RMS35 E3RMS35B2837.000
*!VPATH  CEQU      $                                    E3RMS35 E3RMS35B2838.000
*!       LA        R4,PERR008      INVALID VOLUME NAME  E3RMS35 E3RMS35B2839.000
*!       STW       R4,3W,X1        PLANT ON STACK FOR REE3RMS35 E3RMS35B2840.000
*!       ABM       29,0W,X1        TELL PARSER WE HAVE NE3RMS35 E3RMS35B2841.000
*!       TRSW      R0              BACK TO CALLER       E3RMS35 E3RMS35B2842.000
         SPACE     5                                                    2843.000
*++                                                                     2844.000
* A.ERROR - PARSE ACTION ROUTINE ERROR                                  2845.000
*                                                                       2846.000
* THIS ROUTINE IS ANTERED WHEN AN ACTION ROUTINE HAS DETERMINED         2847.000
* THAT THE TRANSITION TO BE TAKEN BY THE PARSER IS INVALID AND          2848.000
* SHOULD NOT BE TAKEN.  THIS IS DONE BY RETURNING TO THE PARSER         2849.000
* WITH CC1=1.                                                           2850.000
*--                                                                     2851.000
         SPACE                                                          2852.000
A.ERROR  SBR       R0,CC1          SET FLAG FOR NO TRANSITION           2853.000
         TRSW      R0              GO BACK                              2854.000
         SPACE     5                                                    2855.000
*++                                                                     2856.000
         SPACE                                                          2857.000
A.EXIT   EQU       $                                                    2858.000
         LA        R7,FUPEXIT      ROUTINE ENTRY POINT ADDRESS          2859.000
         STW       R7,COMDADDR     SAVE FOR THE DISPATCHER              2860.000
         TRSW      R0                                                   2861.000
         SPACE     5                                                    2862.000
AS.NAME  EQU       $               STORE A NAME IN A 2W LOCATION        2863.000
         PUSH                      SAVE REGS                            2864.000
         CI        R4,8            NAME TOO LONG ???                    2865.000
         BLE       AS.NAME1        BRANCH IF OK                         2866.000
         LA        R3,PERR005      STATE ADDR. OF ERRVAL TRANSITION     2867.000
         STW       R3,3W,X1        PLANT ON STACK FOR RETURN            2868.000
         ABM       29,0W,X1        TELL PARSER WERE SUPPLYING NEXT STATE2869.000
         BU        AS.NAMEX        GO TO ROUTINE EXIT POINT             2870.000
AS.NAME1 LW        R3,ADDRPTR      PREDETERMINED DESTINATION ADDRESS    2871.000
         BL        COPYSTRG        COPY NAME TO DESTINATION             2872.000
         ADR       R4,R3           UPDATE DESTINATION ADDRESS           2873.000
         TRN       R4,R4           FIND # REMAINING BYTES TO BLANK OUT  2874.000
         ADI       R4,8            NAME <= 8 BYTES                      2875.000
         BLE       AS.NAMEX        NO BYTES TO ZERO                     2876.000
         LA        R2,BLANKS       SOURCE ADDRESS OF BLANK CHARACTERS   2877.000
         BL        COPYSTRG        BLANK OUT REMAINING BYTE POSITIONS   2878.000
AS.NAMEX POP                       RESTORE REGS                         2879.000
         TRSW      R0              RETURN TO PARSER                     2880.000
         SPACE     5                                                    2881.000
AS.SNME  EQU       $               SET UP TO STORE NAME WITH SPECIAL    2882.000
*                                  CHARACTERS                           2883.000
         STW       R0,STACKPTR     SAVE THE RETURN ADDRESS              2884.000
         SUI       R4,1            SO THE QUOTE ISNT STORED             2885.000
         BL        AS.NAME         STORE THE NAME IN OPTION BLOCK       2886.000
         ADI       R4,1            RE-ADJUST R4 FOR THE PARSER          2887.000
         LW        R0,STACKPTR     RESTORE THE RETURN ADDRESS           2888.000
         TRSW      R0                                                   2889.000
         SPACE     5                                                    2890.000
AS.STORN EQU       $               STORE A NUMBER IN A WORD LOCATION    2891.000
         CI        R4,8            NUMBER TOO BIG ???                   2892.000
         BLE       AS.STOR1        BRANCH IF OK                         2893.000
         LA        R3,PERR004      STATE ADDRESS OF ERRVAL TRANSITION   2894.000
         ADI       R0,1W           TELL PARSER WERE SUPPLYING NEXT STATE2895.000
         BU        AS.STORX        GO TO ROUTINE EXIT POINT             2896.000
AS.STOR1 STW       R7,*ADDRPTR     PLANT THE # AT PREDETERMINED LOCATION2897.000
AS.STORX TRSW      R0              RETURN TO PARSER                     2898.000
         SPACE     5                                                    2899.000
AS.OWNE  EQU       $                                                    2900.000
         LI        R4,OPT.OWNR                                          2901.000
         BU        AS.ENTR1                                             2902.000
         SPACE     5                                                    2903.000
AS.USER  EQU       $                                                    2904.000
         LI        R4,OPT.USER                                          2905.000
         BU        AS.ENTR1                                             2906.000
         SPACE     5                                                    2907.000
AS.ENTR  EQU       $               # ENTRIES IN A DIRECTORY             2908.000
         LI        R4,OPT.ENTS     OFFSET IN OPTION BLOCK               2909.000
AS.ENTR1 ADMW      R4,COBADDR      BASE ADDRESS OF OPTION BLOCK         2910.000
         STW       R4,ADDRPTR      SAVE ABSOLUTE ADDR. OF OPTION AREA   2911.000
         TRSW      R0              RETURN TO PARSER                     2912.000
         SPACE     5                                                    2913.000
AS.SHAR  EQU       $                                                    2914.000
         LI        R4,RCB.SHAR                                          2915.000
         STW       R4,BITPTR                                            2916.000
         LI        R4,OPT.NFLG     OFFSET INTO OPTION BLOCK             2917.000
         ADMW      R4,COBADDR      PLUS BASE ADDR OF OPTION BLOCK       2918.000
         STW       R4,ADDRPTR2     GIVES ABSOLUTE ADDRESS OF DATA       2919.000
         LI        R4,OPT.SFLG                                          2920.000
         BU        AS.ENTR1                                             2921.000
         SPACE     5                                                    2922.000
AS.NOSA  EQU       $                                                    2923.000
         LI        R4,RCB.NSAV                                          2924.000
         STW       R4,BITPTR                                            2925.000
         LI        R4,OPT.NFLG     OFFSET INTO OPTION BLOCK             2926.000
         ADMW      R4,COBADDR      PLUS BASE ADDR OF OPTION BLOCK       2927.000
         STW       R4,ADDRPTR2     GIVES ABSOLUTE ADDRESS OF DATA       2928.000
         LI        R4,OPT.SFLG                                          2929.000
         BU        AS.ENTR1                                             2930.000
         SPACE     5                                                    2931.000
AS.SAVN  EQU       $               SAVN=BOOL OPTION                     2932.000
         LI        R4,OPT.B.SV     BIT # ASSOCIATED WITH THIS OPTION    2933.000
         STW       R4,BITPTR       SAVE FOR BIT SET/CLEAR ROUTINE       2934.000
         LI        R4,OPT.FLGS     WORD IN OPTION BLOCK CONTAINING BIT  2935.000
         BU        AS.ENTR1        GO TO SAVE THIS INFORMATION          2936.000
         SPACE     5                                                    2937.000
AS.NEWE  EQU       $               NEWEST=BOOL OPTION                   2938.000
         LI        R4,OPT.B.NW     BIT # ASSOCIATED WITH THIS OPTION    2939.000
         STW       R4,BITPTR       SAVE FOR BIT SET/CLEAR ROUTINE       2940.000
         LI        R4,OPT.FLGS     WORD IN OPTION BLOCK CONTAINING BIT  2941.000
         BU        AS.ENTR1        GO TO SAVE THIS INFORMATION          2942.000
         SPACE     5                                                    2943.000
AS.ZERO  EQU       $                 ZERO=BOOL OPTION                   2944.000
         LI        R4,RCB.ZERO     BIT # ASSOCIATED WITH THIS OPTION    2945.000
         STW       R4,BITPTR       SAVE FOR BIT SET/CLEAR ROUTINE       2946.000
         LI        R4,OPT.NFLG     OFFSET INTO OPTION BLOCK             2947.000
         ADMW      R4,COBADDR      PLUS BASE ADDR OF OPTION BLOCK       2948.000
         STW       R4,ADDRPTR2     GIVES ABSOLUTE ADDRESS OF DATA       2949.000
         LI        R4,OPT.SFLG     WORD IN OPTION BLOCK CONTAINING BIT  2950.000
         BU        AS.ENTR1        GO TO SAVE THIS INFORMATION          2951.000
         SPACE     5                                            EVOM-33 2952.000
AS.SEOF  EQU       $                                            EQIC360 2953.000
         LI        R4,OPT.B.SE                                  EQIC360 2954.000
         STW       R4,BITPTR                                    EQIC360 2955.000
         LI        R4,OPT.FLGS                                  EQIC360 2956.000
         BU        AS.ENTR1        JOIN COMMON CODE             EQIC360 2957.000
         SPACE     5                                            EQIC360 2958.000
AS.SEGN  EQU       $               MAX SEGMENT NUM              EVOM-33 2959.000
         LI        R4,OPT.PSIZ     BORROW OPT.PSIZ SLOT         EVOM-33 2960.000
         BU        AS.ENTR1                                     EVOM-33 2961.000
         SPACE     5                                                    2962.000
AS.RAND  EQU       $                                                    2963.000
         LI        R4,RCB.EOFM                                          2964.000
         STW       R4,BITPTR                                            2965.000
         LI        R4,OPT.NFLG     OFFSET INTO OPTION BLOCK             2966.000
         ADMW      R4,COBADDR      PLUS BASE ADDR OF OPTION BLOCK       2967.000
         STW       R4,ADDRPTR2     GIVES ABSOLUTE ADDRESS OF DATA       2968.000
         LI        R4,OPT.SFLG                                          2969.000
         BU        AS.ENTR1                                             2970.000
         SPACE     5                                                    2971.000
AS.AUTO  EQU       $                 AUTOEXT=BOOL  BOOLEAN OPTION       2972.000
         LI        R4,RCB.AUTO     BIT # ASSOCIATED WITH THIS OPTION    2973.000
         STW       R4,BITPTR       SAVE FOR BIT SET/CLEAR ROUTINE       2974.000
         LI        R4,OPT.NFLG     OFFSET INTO OPTION BLOCK             2975.000
         ADMW      R4,COBADDR      PLUS BASE ADDR OF OPTION BLOCK       2976.000
         STW       R4,ADDRPTR2     GIVES ABSOLUTE ADDRESS OF DATA       2977.000
         LI        R4,OPT.SFLG     WORD IN OPTION BLOCK CONTAINING BIT  2978.000
         BU        AS.ENTR1        GO TO SAVE THIS INFORMATION          2979.000
         SPACE     5                                                    2980.000
AS.MANE  EQU       $               MANEXT=BOOL  BOOLEAN OPTION          2981.000
         LI        R4,RCB.MANU                                          2982.000
         STW       R4,BITPTR                                            2983.000
         LI        R4,OPT.NFLG     OFFSET INTO OPTION BLOCK             2984.000
         ADMW      R4,COBADDR      PLUS BASE ADDR OF OPTION BLOCK       2985.000
         STW       R4,ADDRPTR2     GIVES ABSOLUTE ADDRESS OF DATA       2986.000
         LI        R4,OPT.SFLG                                          2987.000
         BU        AS.ENTR1                                             2988.000
         SPACE     5                                                    2989.000
AS.CONT  EQU       $                 CONTIGUOUS=BOOL  BOOLEAN OPTION    2990.000
         LI        R4,RCB.CONT     BIT # ASSOCIATED WITH THIS OPTION    2991.000
         STW       R4,BITPTR       SAVE FOR BIT SET/CLEAR ROUTINE       2992.000
         LI        R4,OPT.NFLG     OFFSET INTO OPTION BLOCK             2993.000
         ADMW      R4,COBADDR      PLUS BASE ADDR OF OPTION BLOCK       2994.000
         STW       R4,ADDRPTR2     GIVES ABSOLUTE ADDRESS OF DATA       2995.000
         LI        R4,OPT.SFLG     WORD IN OPTION BLOCK CONTAINING BIT  2996.000
         BU        AS.ENTR1        GO TO SAVE THIS INFORMATION          2997.000
         SPACE     5                                                    2998.000
AS.REPL  EQU       $                                                    2999.000
         LI        R4,OPT.B.RE                                          3000.000
         STW       R4,BITPTR                                            3001.000
         LI        R4,OPT.FLGS                                          3002.000
         BU        AS.ENTR1                                             3003.000
         SPACE     5                                                    3004.000
AS.MINI  EQU       $                                                    3005.000
         LI        R4,OPT.MNEI                                          3006.000
         BU        AS.ENTR1                                             3007.000
         SPACE     5                                                    3008.000
AS.INCR  EQU       $                                                    3009.000
         LI        R4,OPT.MXEI                                          3010.000
         BU        AS.ENTR1                                             3011.000
         SPACE     5                                                    3012.000
AS.MAXS  EQU       $                                                    3013.000
         LI        R4,OPT.MXSZ                                          3014.000
         BU        AS.ENTR1                                             3015.000
         SPACE     5                                                    3016.000
AS.ALLO  EQU       $                                                    3017.000
         LI        R4,OPT.ALOC                                          3018.000
         BU        AS.ENTR1                                             3019.000
         SPACE     5                                                    3020.000
AS.STAR  EQU       $                                                    3021.000
         LI        R4,OPT.ADDR                                          3022.000
         BU        AS.ENTR1                                             3023.000
         SPACE     5                                                    3024.000
AS.FAST  EQU       $                                                    3025.000
         LI        R4,RCB.FSTF                                          3026.000
         STW       R4,BITPTR                                            3027.000
         LI        R4,OPT.SFLG                                          3028.000
         BU        AS.ENTR1                                             3029.000
         SPACE     5                                                    3030.000
AS.CONF  EQU       $                                                    3031.000
         LI        R4,OPT.B.CO                                          3032.000
         STW       R4,BITPTR                                            3033.000
         LI        R4,OPT.FLGS                                          3034.000
         BU        AS.ENTR1        JOIN COMMON CODE                     3035.000
         SPACE     5                                                    3036.000
AS.BRIE  EQU       $                                                    3037.000
         LI        R4,OPT.B.BR                                          3038.000
         STW       R4,BITPTR                                            3039.000
         LI        R4,OPT.FLGS                                          3040.000
         BU        AS.ENTR1        JOIN COMMON CODE                     3041.000
         SPACE     5                                            ETRN361 3042.000
AS.TRUN  CEQU      $               ACTION ROUTINE FOR TRNACATE  ETRN361 3043.000
         LI        R4,OPT.B.TR                                  ETRN361 3044.000
         STW       R4,BITPTR                                    ETRN361 3045.000
         LI        R4,OPT.FLGS                                  ETRN361 3046.000
         BU        AS.ENTR1        JOIN COMMON CODE             ETRN361 3047.000
         SPACE     5                                            S860445 3048.000
AS.ROOT  EQU       $               ACTION ROUTIN FOR 'ROOT='    S860445 3049.000
         LI        R4,OPT.B.LS     LOAD SINGLE FLAG             S860445 3050.000
         STW       R4,BITPTR                                    S860445 3051.000
         LI        R4,OPT.FLGS     OPTION FLAG WORD             S860445 3052.000
         BU        AS.ENTR1        JOIN COMMON CODE             S860445 3053.000
         SPACE     5                                                    3054.000
AS.TIMO1 EQU       $               GET TIME TYPE & PUT IN CURRENT       3055.000
*                                  OPTION BLOCK                         3056.000
         LW        R2,COBADDR      CURRENT OPTION BLOCK ADDRESS         3057.000
         STB       R7,OPT.FLGS+3B,X2    PLANT TIME TYPE IN OPTION BLOCK 3058.000
         TRSW      R0              RETURN                               3059.000
         SPACE     5                                                    3060.000
AS.TIMO2 EQU       $                                                    3061.000
         LW        R2,COBADDR      OPTION BLOCK ADDR           2113V.41 3062.000
         TRR       R7,R7           SINCE OR BEFORE ???         2113.V42 3063.000
         BZ        AS.T2.2         BRANCH FOR SINCE            2113.V42 3064.000
         SBM       OPT.B.SB,OPT.FLGS,X2                        2113.V42 3065.000
         TRSW      R0                                          2113.V42 3066.000
AS.T2.2  ZBM       OPT.B.SB,OPT.FLGS,X2                                 3067.000
         TRSW      R0                                                   3068.000
         SPACE     5                                                    3069.000
AS.TIMO3 EQU       $                                                    3070.000
         LW        R2,COBADDR                                           3071.000
         LD        R6,BIN.TIME                                          3072.000
         STW       R6,OPT.DATE,X2                                       3073.000
         STW       R7,OPT.TIME,X2                                       3074.000
         TRSW      R0                                                   3075.000
         SPACE     5                                                    3076.000
AS.ACCE1 EQU       $                                                    3077.000
         TRR       R7,R2                                                3078.000
         SLL       R2,2                                                 3079.000
         STW       R2,BITPTR                                            3080.000
         LW        R7,ACOFFSET,X2                                       3081.000
         ADMW      R7,COBADDR                                           3082.000
         STW       R7,ADDRPTR                                           3083.000
         TRSW      R0                                                   3084.000
         SPACE     5                                                    3085.000
AS.ACCE2 EQU       $                                                    3086.000
         LW        R2,BITPTR                                            3087.000
         LW        R3,COBADDR                                           3088.000
         EXM       NOACCESS,X2                                          3089.000
         TRSW      R0                                                   3090.000
         SPACE     5                                                    3091.000
AS.ACCE3 EQU       $                                                    3092.000
         STW       R7,BITPTR       BIT # FROM KEYWORD TABLE             3093.000
         LI        R7,1            WANT TO SET BIT                      3094.000
         BU        AS.SETOPT       GO SET THE BIT                       3095.000
         SPACE     5                                                    3096.000
AS.SETOP EQU       $               SET/CLEAR A BIT IN MEMORY            3097.000
         LW        R2,ADDRPTR      BYTE ADDRESS CONTAINING BIT          3098.000
AS.SET00 LW        R4,BITPTR       BIT # TO SET/CLEAR                   3099.000
AS.SETO1 CI        R4,8            BIT # > 8, IE., IN NEXT BYTE ???     3100.000
         BLT       AS.SETO2        BRANCH IF BIT # < 8                  3101.000
         SUI       R4,8            ADJUST BIT # TO 0--7                 3102.000
         ABR       R2,31           INCREMENT BYTE ADDRESS               3103.000
         BU        AS.SETO1        CHECK AGAIN                          3104.000
AS.SETO2 EQU       $                                                    3105.000
         LW        R5,BITPTR       WHAT DO WE WANT TO CHANGE?   EQIC360 3106.000
         CI        R5,OPT.B.SE     SOFT EOF MANAGEMENT?         EQIC360 3107.000
         BNE       AS.SET07        NO - GO AHEAD                EQIC360 3108.000
         LA        R3,DOBLOCK      DEFAULT OPTION BLOCK         EQIC360 3109.000
         TBM       OPT.B.SE,OPT.FLGS,X3 SOFT EOF SET NOW?       EQIC360 3110.000
         BS        AS.SET04        YES - FURTHER TESTING NEEDED EQIC360 3111.000
         CI        R7,1            RESET NOW - TRY TO SET?      EQIC360 3112.000
         BNE       AS.SET07        NO - CONTINUE                EQIC360 3113.000
         BU        AS.SET05        MUST TEST IF AT BOM          EQIC360 3114.000
AS.SET04 CEQU      $               SEOF IS SET NOW              EQIC360 3115.000
         CI        R7,0            TRY TO RESET?                EQIC360 3116.000
         BNE       AS.SET07        NO - CONTINUE                EQIC360 3117.000
AS.SET05 CEQU      $               WANT TO CHANGE SEOF MODE     EQIC360 3118.000
         LA        R3,TAPFCB       GET ADDR OF TAPE FCB         EQIC360 3119.000
         TBM       BOM,FCB.SFLG,X3 AT BOT?                      EQIC360 3120.000
         BS        AS.SET06        YES-WE CAN CHANGE SEOF MODE  EQIC360 3121.000
         TBM       TPMVFLAG,FLAGBITS HAVE WE MOVED THE TAPE?    EQIC360 3122.000
         BS        SEOFERR         YES - CANNOT CHANGE SEOF     EQIC360 3123.000
         TBM       SAVEFLAG,FLAGBITS HAVE WE SAVED ANYTHING YET EQIC360 3124.000
         BNS       AS.SET07        NO - GO EXECUTE CHANGE       EQIC360 3125.000
SEOFERR  CEQU      $               INVALID SEOF CHANGE          EQIC360 3126.000
         LA        R2,SEOFMSG      ERROR MESSAGE                EQIC360 3127.000
         BL        FORMATOT        OUTPUT MESSAGE               EQIC360 3128.000
         BU        FUP.000         GET NEXT COMMAND             EQIC360 3129.000
AS.SET06 CEQU      $                                            EQIC360 3130.000
         ZBM       SAVEFLAG,FLAGBITS RESET SAVE FLAG            EQIC360 3131.000
         ZBM       TPMVFLAG,FLAGBITS RESET TAPE MOVEMENT FLAG   EQIC360 3132.000
AS.SET07 CEQU      $                                            EQIC360 3133.000
         TRR       R7,R3                INDEX TO PROTOTYPE INSTRUCTIONS 3134.000
         SLL       R3,2                 WORD ADJUST                     3135.000
         LW        R6,SET.CLR,X3        DETERMINE SET OR CLEAR          3136.000
         SLL       R4,23           POSITION BIT # TO SET                3137.000
         ORR       R4,R6           MERGE BIT # INTO INSTRUCTION         3138.000
         EXR       R6              SET OPTION FLAG BIT                  3139.000
*                                                                       3140.000
*  SEE IF THE OPTION IS ONE THAT HAS THREE STATES:                      3141.000
*  1). NOT SPECIFIED (IE., DEFAULT)                                     3142.000
*  2). TRUE                                                             3143.000
*  3). FALSE                                                            3144.000
*  TRUE IS INDICATED BY A SET BIT IN OPTION BLOCK WORD OPT.SFLG         3145.000
*  FALSE IS INDICATED BY A SET BIT IN OPTION BLOCK WORD OPT.NFLG        3146.000
*  DEFAULT IS INDICATED A ZERO BIT IN BOTH WORDS OPT.SFLG & OPT.NFLG    3147.000
*                                                                       3148.000
         LW        R2,ADDRPTR2     ADDRESS SPECIFIED OR ZERO ???        3149.000
         BZ        AS.SETEX        GO FOR NOT A 3 STATE OPTION          3150.000
         ZMW       ADDRPTR2        RE-INITIALIZE                        3151.000
*  TOGGLE R7; IE., ZERO OR ONE                                          3152.000
         SBR       R7,31           ASSUME R7 WAS ZERO                   3153.000
         BNS       AS.SET03        GO FOR CORRECT ASSUMPTION            3154.000
         ZR        R7              FIX INCORRECT ASSUMPTION             3155.000
AS.SET03 BU        AS.SET00        GO DEAL WITH THE BIT IN OPT.NFLG     3156.000
AS.SETEX TRSW      R0              RETURN TO PARSE                      3157.000
         SPACE     5                                                    3158.000
A.GLOBAL EQU       $               SET POINTER TO GLOBAL OPTION BLOCK   3159.000
         PUSH                      SAVE REGS                            3160.000
         LA        R4,GOBLOCK      ADDR OF GLOBAL OPTION BLOCK          3161.000
         STW       R4,COBADDR      PLANT IN "CURRENT" OPTION BLOCK ADDR 3162.000
         BL        FUPOPTD         SET DEFAULT BOOLEAN OPTION VALUES    3163.000
*                                  INTO GLOBAL AREA                     3164.000
         POP                       RESTORE REGS                         3165.000
         TRSW      R0              RETURN                               3166.000
         SPACE     5                                                    3167.000
A.LOCAL1 EQU       $                                            EVOM-33 3168.000
         PUSH                      SAVE REGS                    EVOM-33 3169.000
         LI        R4,OPT.LEN      LEN OF OPTION BLOCK          EVOM-33 3170.000
         ARMW      R4,COBADDR      INC CURRENT OPTION BLCOK ADR EVOM-33 3171.000
         BL        FUPOPTG         SET GLOBAL OPTION VALUES     EVOM-33 3172.000
         LI        R3,OPT.PSIZ     GET OFFSET                   EVOM-33 3173.000
         ADMW      R3,COBADDR      ADJUST POSITION              EVOM-33 3174.000
         ZMW       0,R3            CLEAR SEGN INITIALLY         EVOM-33 3175.000
         POP                       RESTORE                      EVOM-33 3176.000
         TRSW      R0              RETURN                       EVOM-33 3177.000
         SPACE     5                                            EVOM-33 3178.000
A.LOCAL  EQU       $               INCREMENT "CURRENT" OPTION BLOCK ADDR3179.000
*                                  FOR LOCAL OPTIONS                    3180.000
         PUSH                      SAVE REGS                            3181.000
         LI        R4,OPT.LEN      LENGTH OF ALL OPTION BLOCK(S)        3182.000
         ARMW      R4,COBADDR      INCREMENT CURRENT OPTION BLOCK ADDR  3183.000
         BL        FUPOPTG         SET GLOBAL BOOLEAN OPTION VALUES     3184.000
*                                  INTO LOCAL AREA                      3185.000
         POP                       RESTORE REGS                         3186.000
         TRSW      R0              RETURN                               3187.000
         SPACE     5                                                    3188.000
END      END       FILEUTIL                                             3189.000
