QFSP
          IDENT  QFSP,FWA 
          ABS 
          SST 
          SYSCOM B1 
          ENTRY  QFSP 
          ENTRY  QREC 
          ENTRY  QLIST
          ENTRY  QDUMP
          ENTRY  QLOAD
          ENTRY  LDLIST 
          ENTRY  QMOVE
          ENTRY  DFTERM 
          ENTRY  DFLIST 
          ENTRY  QALTER 
          ENTRY  QFTLIST
          ENTRY  RFL= 
          ENTRY  SSJ= 
          ENTRY  SSM= 
*COMMENT  QFSP - QUEUED FILE SUPERVISOR.
          COMMENT  COPYRIGHT CONTROL DATA SYSTEMS INC.  1992. 
          SPACE  4
***       QFSP - QUEUED FILE SUPERVISOR.
*         R. A. JAPS.        75/01/29.
*         R. A. JAPS.        78/01/27. (RESEQUENCED)
*         R. M. DESSEL.      81/10/15.
*         J. T. LITTLE.      84/10/11.
          TITLE  QFSP - QUEUED FILE SUPERVISOR. 
          SPACE  4
***       QFSP WILL LOAD THE DESIRED QUEUE FILE OR DAYFILE
*         UTILITY PROGRAM AND PROCESS ALL THE DIRECTIVES NEEDED 
*         BY THAT UTILITY.
* 
*         UTILITY 
*         OPTIONS            DESCRIPTION
* 
*         QDUMP              QUEUED FILE DUMP.
*         QLOAD              QUEUED FILE LOAD.
*         QMOVE              QUEUED FILE MOVE.
*         QREC               QUEUED FILE REQUEUING. 
*         DFTERM             DAYFILE TERMINATION. 
*         QALTER             ALTER ACTIVE QUEUED FILES. 
*         QFTLIST            LIST ACTIVE QUEUED FILES.
* 
*         IF X.QFSP CALL IS MADE, K.OPTION MUST BE ENTERED WHERE
*         *OPTION* IS ONE OF THE ABOVE PARAMETERS. THIS MUST BE 
*         ENTERED BEFORE ANY OTHER DIRECTIVES ARE ENTERED.
          SPACE  4
***       THE COMMAND.
* 
*         QFSP. 
*         QDUMP(P1=F1,P2=F2,...,PN=FN,I=LFN)
*         QLOAD(P1=F1,P2=F2,...,PN=FN,I=LFN)
*         LDLIST(P1=F1,P2=F2,...,PN=FN,I=LFN) 
*         QMOVE(P1=F1,P2=F2,...,PN=FN,I=LFN)
*         QREC(P1=F1,P2=F2,...,PN=FN,I=LFN) 
*         QLIST(P1=F1,P2=F2,...,PN=FN,I=LFN)
*         DFTERM(P1=F1,P2=F2,...,PN=FN,I=LFN) 
*         DFLIST. 
*         QALTER(P1=F1,P2=F2,...,PN=FN,I=LFN) 
*         QFTLIST(P1=F1,P2=F2,...PN=FN,I=LFN) 
* 
*         WHERE PI MAY BE ANY K-DISPLAY DIRECTIVE AND 
*         FI IS ITS ASSOCIATED VALUE. (SEE K-DISPLAY INPUT DATA)
* 
*         I      ALTERNATE DIRECTIVE INPUT FILE. THIS IS A
*                COMMAND PARAMETER SPECIFYING WHAT FILE SHOULD BE 
*                READ FOR INPUT DIRECTIVES. THESE DIRECTIVES
*                CONSIST OF ANY LEGAL K-DISPLAY INPUT OR COMMANDS.
*                THESE DIRECTIVES WILL BE PROCESSED AFTER THE 
*                COMMAND DIRECTIVES BUT BEFORE ANY
*                K-DISPLAY INPUT IS ACCEPTED. 
* 
*         PO     PROCESSOR OPTIONS WHERE OPTIONS ARE DEFINED AS 
*                THE FOLLOWING -
* 
*                N - IF SPECIFIED, ONLY COMMAND DIRECTIVES
*                    WILL BE PROCESSED.  K-DISPLAY IS AVAILABLE 
*                    FOR MONITORING THE UTILITY PROGRESS, BUT NO
*                    K-DISPLAY INPUT IS ALLOWED.  THE N PARAMETER 
*                    IS IMPLIED ON ALL NON-SYSTEM ORIGIN JOBS.
* 
*                R - IF SPECIFIED, DUMP/LOAD FILE WILL BE REWOUND 
*                    BEFORE OPERATION BEGINS. 
* 
*                E - IF SPECIFIED, ERRORED FILE PROCESSING STATUS 
*                    WILL BE TOGGLED.  DEFAULTS FOR QUEUE UTILITIES 
*                    ARE -
* 
*                         DUMP FILE          (QDUMP)
*                         NOT LOAD FILE      (QLOAD)
*                         NOT MOVE FILE      (QMOVE)
* 
*                F - IF SPECIFIED, ENTRIES WILL BE MADE IN THE *FOT*
*                    FOR THE INACTIVE FAMILIES AND THE FILES WILL BE
*                    QUEUED.
* 
*                L - IF SPECIFIED, ENTRIES WILL BE MADE TO THE LID
*                    TABLE , (IF IT IS NOT FULL) AND THE FILES WILL 
*                    BE QUEUED. 
* 
*                I - IF SPECIFIED, INACTIVE INPUT QUEUE FILES WILL BE 
*                    ACTIVATED WHEN THE OWNER FAMILY IS NOT PRESENT.
* 
*                U - IF SPECIFIED, UNCONDITIONALLY LOAD FILES WITHIN
*                    SECURITY RESTRAINTS AND SYSTEM FILE INTEGRITY. 
          SPACE  4
***       K-DISPLAY INPUT DATA. 
* 
*         DATA ITEMS ARE PARTITIONED WITH SEPARATOR CHARACTERS. 
*         END-OF-LINE IS CONSIDERED A SEPARATOR CHARACTER WHILE 
*         THE FOLLOWING CHARACTERS ARE NOT CONSIDERED SEPARATORS, 
*         *=*, *+*, *-*. EACH IDENTIFIER MUST BE PRECEEDED BY AN
*         PARAMETER. THE IDENTIFIER MUST BE SEPARATED FROM THE
*         PARAMETER BY AN *=*.
* 
*         FM  =  FAMILY NAME FOR DEVICES. MUST BE ENTERED BEFORE
*                ENTERING DEVICE NUMBER (DN). 
*                            1-7 ALPHANUMERIC CHARACTERS. 
*                            DEFAULTS ARE - 
*                                  ALL FAMILIES (QDUMP, QMOVE, QREC,
*                                  QALTER, QFTLIST) 
*                                  FM FOR CURRENT DAYFILE (DFTERM)
* 
*         FU  =  FAMILY NAME FOR USER INDEX RANGE.
*                            1-7 ALPHA-NUMERIC CHARACTERS.
*                            DEFAULT IS ALL FAMILY NAMES. 
* 
*         DF  =  DESTINATION FAMILY NAME. MUST BE SPECIFIED BEFORE
*                DESTINATION DEVICE NUMBER (DD).
*                            1-7 ALPHA-NUMERIC CHARACTERS.
*                            *QLOAD* DEFAULT OPTION IS ALL FAMILIES.
*                            *QMOVE* DEFAULT OPTION IS NO FAMILIES. 
* 
*         DN  =  DEVICE NUMBER. 
*                            1-2 NUMERIC DIGITS + RADIX.
*                            DEFAULTS ARE - 
*                                  ALL DEVICES (QDUMP, QMOVE, QREC) 
*                                  DN FOR CURRENT DAYFILE (DFTERM)
* 
*         DD  =  DESTINATION DEVICE NUMBER. 
*                            1-2 NUMERIC DIGITS + RADIX.
*                            *QLOAD* DEFAULT OPTION IS ALL DEVICES. 
*                            *QMOVE* DEFAULT OPTION IS NO DEVICES.
* 
*         UN  =  DESTINATION USER NAME. 
*                            ENTRY WILL BE CLEARED IF PREVIOUSLY
*                            ENTERED. 
*                            1-7 ALPHANUMERIC CHARACTERS. 
*                            DEFAULT IS NO USER NAME SPECIFIED. 
* 
*         UJN = USER JOB NAME.
*                            1-7 ALPHANUMERIC CHARACTERS. 
*                            DEFAULT IS NO NAME SPECIFIED.
* 
*         UI  =  USER INDEX RANGE. MAY TAKE ONE OF TWO FORMATS. 
*                UI=XXXXXX-YYYYYY  USE ALL UI IN SPECIFIED RANGE. 
*                UI=XXXXXX         USE THIS USER INDEX ONLY.
*                            1-6 NUMERIC DIGITS + RADIX.
*                            DEFAULT IS 0-377777B.
* 
*         DA = DATE RANGE.  THE RANGE MAY TAKE ONE OF THREE FORMS - 
*                DA=YYMMDD-YYMMDD  USE ALL DATES IN SPECIFIED RANGE.
*                DA=YYMMDD         USE THIS DATE ONLY.
*                            DEFAULT WILL SELECT ALL QUEUED 
*                            FILES CREATED WITHIN FIVE DAYS 
*                            OF THE CURRENT DATE. 
*                DA=ALL            USE ALL DATES. 
* 
*                            DEFAULT FOR *QLIST* IS ALL DATES.
* 
*         LD =   DESTINATION LOGICAL IDENTIFIER (LID) FOR REMOTE
*                LINKED FILES.
*                            3 ALPHANUMERIC CHARACTERS. 
*                            *0* - ALL FILES WITHOUT LIDS ARE SELECTED. 
*                            DEFAULT IS NO LID SPECIFIED. 
* 
*         JSN =  JOB SEQUENCE NUMBER. JSN WILL BE CLEARED IF PREVIOUSLY 
*                ENTERED.  OTHERWISE, JSN IS ADDED TO LIST. 
*                            1-4 ALPHANUMERIC DIGITS. 
*                            DEFAULT IS NO JSN-S. 
*                JSN LIST CAN HOLD UP TO FIVE JSN-S.
* 
*         MI  =  MACHINE ID. MACHINE ID WILL BE CLEARED 
*                IF PREVIOUSLY ENTERED. 
*                            1-2 CHARACTERS.
*                            *ALL* - ALL MACHINE ID-S ARE SELECTED. 
*                            DEFAULT IS CURRENT MACHINE ID. 
* 
*         ID  =  IDENTIFIER NUMBER FOR BATCH PRINT AND PUNCH FILES. 
*                ID=XX-YY    USE ALL ID,S IN SPECIFIED RANGE. 
*                ID=XX       USE THIS ID ONLY.
*                            1-2 NUMERIC DIGITS +RADIX. 
*                            DEFAULT IS 0-77B.
* 
*         TUI =  DESTINATION USER INDEX FOR REMOTE BATCH PRINT
*                AND PUNCH FILES. 
*                TUI=XXXXXX-YYYYYY  USE ALL INDICES IN SPECIFIED
*                                   RANGE.
*                TUI=XXXXXX         USE THIS SIZE ONLY. 
*                            1-6 NUMERIC DIGITS + RADIX.
*                            DEFAULT IS 0.  (0=NO TUI SPECIFIED)
* 
*         TF =   DESTINATION FAMILY FOR TERMINAL FOR SELECTING FILES IN 
*                THE REMOTE BATCH QUEUE.
*                            1-7 ALPHANUMERIC CHARACTERS. 
*                            DEFAULT IS ALL FAMILIES SELECTED.
*         FC  =  FORMS CODE.
*                TWO FORMATS ARE ACCEPTED.
*                FC=F1/F2/F3 SPECIFY FORMS CODE LIST. 
*                FC=F1-F2    SPECIFY FORMS CODE RANGE.
*                            (F2 AND F3 ARE OPTIONAL) 
*                            (** INDICATES NULL FORMS CODE) 
*                            DEFAULT IS *ALL*.
* 
*         L   =  FILE NAME TO RECEIVE OUTPUT. 
*                            1-7 ALPHA-NUMERIC CHARACTERS.
*                            DEFAULT IS OUTPUT. 
* 
*         LO = LIST OPTION. 
*                S = SHORT LIST (DEFAULT).
*                F = FULL LIST. 
* 
*         TP  =  TYPE OF QUEUES TO DUMP OR MOVE.
*                            1 OR 3 CHARACTERS. 
*                                  A = ACTIVE QUEUED ONLY 
*                                  I = INACTIVE QUEUES ONLY 
*                                  ALL = ALL QUEUES 
*                            DEFAULT IS ALL QUEUE TYPES.
* 
*         FS  =  FILE SIZE IN PRUS. 
*                MAY TAKE ONE OF TWO FORMS. 
*                FS=XXXXXX-YYYYYY  USE ALL SIZES IN SPECIFIED RANGE.
*                FS=XXXXXX         USE THIS SIZE ONLY.
*                            1-6 NUMERIC DIGITS + RADIX.
*                            DEFAULT IS 0-777777B.
*                            IF 777777B IS SPECIFIED, ALL SIZES LARGER
*                            ARE INCLUDED.
* 
*         FN  =  FILENAME FOR DUMP/LOAD FILE. 
*                            1-7 ALPHANUMERIC CHARACTERS. 
*                            DEFAULT IS *QFILES*. 
* 
*         NF  =  NUMBER OF MEDIA FILES TO SKIP. 
*                            1-7 NUMERIC CHARACTERS + RADIX.
*                            DEFAULT IS 0.
* 
*         SC  =  NUMBER OF QUEUED FILES TO SKIP.
*                            1-7 NUMERIC CHARACTERS + RADIX.
*                            DEFAULT IS 0.
* 
*         FT  =  DAYFILE TYPE TO TERMINATE. 
*                            6-7 CHARACTERS.
*                                  DAYFILE
*                                  ACCOUNT
*                                  ERRLOG 
*                                  MAINLOG
*                            DEFAULT IS DAYFILE.
* 
*         NM  = FILE NAME FOR OLD DAYFILE. OVERRIDES
*               AUTOMATIC ASSIGNMENT BY SYSTEM. 
*                            1-5 CHARACTERS.
* 
* 
*         LA  =  LOWER SECURITY ACCESS LEVEL. 
*                *UA* MUST ALSO BE SPECIFIED. 
*                            1-7 CHARACTERS.
*                            DEFAULT IS ALL ACCESS LEVELS.
* 
*         UA  =  UPPER SECURITY ACCESS LEVEL. 
*                *LA* MUST ALSO BE SPECIFIED. 
*                            1-7 CHARACTERS.
*                            DEFAULT IS ALL ACCESS LEVELS.
* 
*         BC  =  BATCH QUEUE TYPE SELECTION.
*                            2-5 CHARACTERS.
*                                  ALL - ALL QUEUE TYPES
*                                  NONE - NO QUEUE TYPES
*                                  SF - SPECIAL QUEUE TYPE
*                                  IN - INPUT QUEUE TYPE
*                                  PH - PUNCH QUEUE TYPE
*                                  PU - PUNCH QUEUE TYPE
*                                  PL - PLOT QUEUE TYPE 
*                                  PRINT - ALL PRINT FILES
*                                  PR - PRINT QUEUE TYPE-ANY PRINTER
*                                  P2 - PRINT QUEUE TYPE-512 PRINTER
*                                  LR - PRINT QUEUE TYPE-580-12 PRINTER 
*                                  LS - PRINT QUEUE TYPE-580-16 PRINTER 
*                                  LT - PRINT QUEUE TYPE-580-20 PRINTER 
*                                  LX - PRINT QUEUE TYPE-5870 NIP 
*                                  LY - PRINT QUEUE TYPE-5970 NIP 
*                                  WT - WAIT QUEUE - TERMINAL OUTPUT
*                QUEUE TYPE WILL BE CLEARED IF PREVIOUSLY SELECTED. 
* 
*         RB  =  REMOTE BATCH QUEUE TYPE SELECTION. 
*                            SAME AS *BC*.
* 
*         OP  =  OPTION.
*                            1-2 CHARACTERS.
*                                QLOAD OPTIONS. 
*                                  A-LOAD AND ACTIVATE
*                                  I-LOAD AND INACTIVATE
*                                QMOVE OPTIONS. 
*                                  A-LEAVE AS ACTIVE QUEUE FILES. 
*                                  I-LEAVE AS INACTIVE QUEUE FILES. 
*                                QREC OPTIONS.
*                                  RP-REQUEUE SPECIFIED FILES, PURGE
*                                     OTHERS
*                                  RI-REQUEUE SPECIFIED FILES, IGNORE 
*                                     OTHERS
*                                  PI-PURGE SPECIFIED FILES, IGNORE 
*                                     OTHERS. 
*                                  DI-DEQUEUE SPECIFIED FILES, IGNORE 
*                                     OTHERS. 
*                                DFTERM OPTIONS.
*                                  A-TERMINATE ACTIVE DAYFILE 
*                                  I-TERMINATE INACTIVE DAYFILE 
*                                QALTER OPTIONS.
*                                  BC-ALTER TO LOCAL BATCH. 
*                                  EI-ALTER TO REMOTE BATCH.
*                                  NC-DO NOT CHANGE FILE DESTINATION. 
*                                  PR-PURGE FILES.
* 
*         NDC =  NEW DEVICE CODES.
*                            DEVICE CODES INCLUDE-
*                                  NONE = NO DEVICE CODE SPECIFIED
*                                  PR = ANY PRINTER 
*                                  LP = ANY PRINTER 
*                                  P2 = 512 PRINTER 
*                                  LR = 580-16 PRINTER
*                                  LS = 580-16 PRINTER
*                                  LT = 580-20 PRINTER
*                                  LX = 5870 NIP
*                                  LY = 5970 NIP
* 
*         NEC =  NEW EXTERNAL CHARACTERISTICS.
*                            EXTERNAL CHARACTERISTICS INCLUDE - 
*                                  T6 = TRANSPARENT 6 BIT 
*                                  T8 = TRANSPARENT 8 BIT 
*                                  A4 = ASCII 48-CHARACTER
*                                  B4 = BCD 48 CHARACTER
*                                  B6 = BCD 63/4 CHARACTER
*                                  A6 = ASCII 64-CHARACTER
*                                  A9 = ASCII 96 CHARACTER
*                                  PB = SB-SYSTEM BINARY
*                                  P8 = 80 COLUMN BINARY
*                                  PH = O26 PUNCH 
*                                  P9 = O29 PUNCH 
*                                  AS = ASCII PUNCH 
* 
*         NDF =  NEW DESTINATION FAMILY NAME. 
*                            1-7 ALPHA-NUMERIC CHARACTERS.
*                            ENTRY WILL BE CLEARED IF PREVIOUSLY
*                            ENTERED. 
*                            DEFAULT IS NO FAMILY SPECIFIED.
* 
*         NUN =  NEW DESTINATION USER NAME. 
*                            1-7 ALPHA-NUMERIC CHARACTERS.
*                            ENTRY WILL BE CLEARED IF PREVIOUSLY
*                            ENTERED. 
*                            DEFAULT IS NO USER SPECIFIED.
* 
*         NID =  NEW FILE IDENTIFIER. 
*                            1-2 NUMERIC DIGITS + RADIX.
*                            (0 - 67B)
*                            ENTRY WILL BE CLEARED IF PREVIOUSLY
*                            ENTERED. 
*                            DEFAULT IS NO ID SPECIFIED.
* 
*         NPR =  NEW PRIORITY FOR OUTPUT FILES. 
*                            1-4 NUMERIC DIGITS + RADIX.
*                            (0 - 7760B)
*                            ENTRY WILL BE CLEARED IF PREVIOUSLY
*                            ENTERED. 
*                            DEFAULT IS NO PRIORITY SPECIFIED.
* 
*         NFC =  NEW FORMS CODE FOR OUTPUT FILES. 
*                            2 ALPHANUMERIC CHARACTERS. 
*                            (** = NULL FORMS CODE) 
*                            ENTRY WILL BE CLEARED IF PREVIOUSLY
*                            ENTERED. 
*                            DEFAULT IS NO FORMS CODE SPECIFIED.
* 
*         NRC = NEW REPEAT COUNT FOR OUTPUT.
*                            1-2 DIGITS + RADIX.
*                            (0-37B)
*                            ENTRY WILL BE CLEARED IF PREVIOUSLY
*                            ENTERED. 
*                            DEFAULT IS NO REPEAT COUNT SPECIFIED.
* 
*         NLD = NEW DESTINATION LOGICAL IDENTIFIER
*               FOR REMOTE LINKED FILES.
*                            3 ALPHANUMERIC CHARACTERS. 
*                            *0* - SPECIFIES NEW LID IS TO BE BLANK.
*                            DEFAULT IS NO DESTINATION LID. 
* 
*         NAL =  NEW ACCESS LEVEL.  USER MUST BE VALIDATED FOR
*                SECURITY ADMINISTRATOR PRIVILEGES IN ORDER TO
*                SPECIFY *NAL*. 
*                            1-7 CHARACTERS.
*                            ENTRY WILL BE CLEARED IF PREVIOUSLY
*                            SPECIFIED. 
*                            DEFAULT IS NO ACCESS LEVEL SPECIFIED.
          SPACE  4
***       K - DISPLAY COMMANDS. 
* 
*         THE FOLLOWING COMMANDS ARE LEGAL FROM THE K - DISPLAY ONLY. 
* 
*         GO.    PROCEED WITH PROCESSING USING DIRECTIVES ENTERED.
*                K - DISPLAY WILL BE SET TO THE DEFAULT VALUES WHEN 
*                CONTROL IS RETURNED. 
* 
*         STOP.  TERMINATE INPUT. END RUN.
* 
*         RESET. RESET PARAMETERS TO DEFAULT VALUES.
* 
*         LIST.  DISPLAY LIST OF INACTIVE QUEUES/PERMANENTIZED DAYFILES 
*                ON RIGHT SCREEN. (QREC, DFTERM ONLY).
* 
*         LIST=ORD.  DISPLAY DETAILED LIST FOR QUEUED FILE AT QFT 
*                ORDINAL, ORD.  (QALTER AND QFTLIST ONLY).
* 
*         +      PAGE LEFT SCREEN K-DISPLAY FORWARD.
* 
*         -      PAGE LEFT SCREEN K-DISPLAY BACKWARD. 
* 
*         (      PAGE RIGHT SCREEN K-DISPLAY FORWARD. 
* 
*         )      PAGE RIGHT SCREEN K-DISPLAY BACKWARD.
* 
*         CLEAR. SET RIGHT SCREEN TO MAIN QFSP RIGHT SCREEN DISPLAY.
*                SET LEFT SCREEN TO FIRST PAGE OF K-DISPLAY.
* 
*         OUT.   WRITE OUTPUT GENERATED BY LIST COMMAND TO OUTPUT 
*                FILE AND RELEASE FILE TO PRINTER.
* 
*         FAMILY.  IF ENTERED, ENTRIES WILL BE MADE IN THE *FOT* FOR
*                THE INACTIVE FAMILIES AND THE FILES WILL BE QUEUED.
* 
*         REWIND.  IF ENTERED, DUMP/LOAD FILE WILL BE REWOUND WHEN
*                *GO* COMMAND IS ENTERED. (QDUMP AND QLOAD ONLY). 
* 
*         ERROR. TOGGLE STATUS OF ERRORED FILE PROCESSING.  STATUS
*                SET MEANS TO PERFORM CURRENT OPERATION ON ALL FILES, 
*                INCLUDING THOSE ON WHICH AN UNRECOVERABLE READ OR
*                WRITE ERROR HAS OCCURED.  (QDUMP, QLOAD, QMOVE ONLY).
* 
*         LID.   IF ENTERED, THE LID WILL BE ADDED TO THE LID 
*                TABLE (IF IT IS NOT FULL) AND THE FILES WILL 
*                BE QUEUED.  (QLOAD, QMOVE, QREC ONLY). 
          SPACE  4
***       DAYFILE MESSAGES. 
* 
*         * USER ACCESS NOT VALID.* 
*                QFSP HAS BEEN CALLED FROM A NON-SYSTEM ORIGIN JOB. 
* 
*         * COMMAND ARGUMENT ERROR.*
*                INCORRECT COMMAND ARGUMENTS. CORRECT AND RERUN.
* 
*         * QUEUE FILE UTILITY COMPLETE.* - SELF EXPLANATORY. 
          SPACE  4
***       K-DISPLAY OPERATOR MESSAGES.
* 
*         THE PO=N PARAMETER WILL BE IGNORED IF THE JOB IS SYSTEM 
*         ORIGIN AND ONE OF THE ERRORS BELOW IS ENCOUNTERED. THE
*         OPERATOR WILL BE ABLE TO CORRECT THE ERROR USING THE
*         K-DISPLAY. ALL DIRECTIVES AFTER THE DIRECTIVE IN ERROR
*         WILL BE IGNORED. IF AN ERROR OCCURS FROM A NON-SYSTEM 
*         ORIGIN JOB, THE JOB WILL BE ABORTED.
* 
* 
*         **** ERROR IN ALPHANUMERIC DATA.
*                CAN INDICATE - 
*                1. NO DATA PRESENT.
*                2. INCORRECT SEPARATOR FOLLOWING DATA. 
* 
*         **** ERROR IN DATE. 
*                CAN INDICATE - 
*                1. DATE ENTRY IS NOT IN CORRECT FORMAT.
*                2. INCORRECT SEPARATOR FOLLOWING DATE. 
*                3. DATE ENTERED IS EARLIER THAN 70/01/01.
*                4. ENTERED DATE IS NOT VALID. (E.G. 76/04/44.) 
* 
*         **** ERROR IN DEVICE NUMBER.
*                CAN INDICATE - 
*                1. NO FAMILY NAME HAS BEEN SPECIFIED.
*                2. DEVICE NUMBER IS NOT IN SPECIFIED FAMILY. 
*                3. INCORRECT SEPARATOR FOLLOWS DEVICE NUMBER.
* 
*         **** ERROR IN FAMILY NAME.
*                CAN INDICATE - 
*                1. SPECIFIED FAMILY CAN NOT BE FOUND.
*                2. INCORRECT SEPARATOR FOLLOWS FAMILY NAME.
* 
*         **** ERROR IN SELECTED FILE TYPE. 
*                CAN INDICATE - 
*                1. FILE TYPE OR QUEUE TYPE SELECTION CANNOT
*                   BE RECOGNIZED.
*                2. INCORRECT SEPARATOR FOLLOWS FILE TYPE 
*                   OR QUEUE TYPE.
* 
*         **** ERROR IN IDENTIFIER. 
*                INCORRECT DIRECTIVE OR COMMAND HAS BEEN ENTERED, OR
*                DIRECTIVE IS INCORRECT FOR SELECTED UTILITY. 
* 
*         **** INCORRECT ENTRY. 
*                PROCESSOR COULD NOT RECOGNIZE SPECIFIED
*                UTILITY OPTION.
* 
*         **** ERROR IN FILE SIZE RANGE.
*                CAN INDICATE - 
*                1. FILE SIZE IS NOT NUMERIC. 
*                2. FILE SIZE RANGE DOES NOT SATISFY THE
*                   FOLLOWING CONDITIONS. 
*                       0 .LE. MIN FS .LE. MAX FS .LE. 777777B
*                3. INCORRECT SEPARATOR FOLLOWS LAST SIZE.
* 
*         **** JSN LIST FULL. 
*                JSN LIST DOES NOT HAVE ROOM FOR SPECIFIED JSN. 
* 
*         **** ERROR IN NUMERIC DATA. 
*                CAN INDICATE - 
*                1. NO DATA PRESENT.
*                2. NUMERIC DATA NOT NUMERIC. 
*                3. NUMERIC DATA EXCEEDS MAXIMUM VALUE. 
* 
*         **** ERROR IN USER INDEX RANGE. 
*                CAN INDICATE - 
*                1. USER INDEX WAS NOT NUMERIC DATA.
*                2. USER INDEX RANGE DOES NOT SATISFY THE 
*                   FOLLOWING CONDITIONS. 
*                       0 .LE. MIN UI .LE. MAX UI .LE. 377777B
*                3. INCORRECT SEPARATOR FOLLOWS LAST USER INDEX.
* 
*         **** ERROR IN ID RANGE. 
*                CAN INDICATE - 
*                1. IDENTIFIER NUMBER IS NOT NUMERIC. 
*                2. ID RANGE DOES NOT SATISFY THE 
*                   FOLLOWING CONDITIONS. 
*                       0 .LE. MIN ID .LE. MAX ID .LE. 67B
*                3. INCORRECT SEPARATOR FOLLOWS ID. 
* 
*         **** FILE NAME CONFLICT.
*                CAN INDICATE-
*                1. AN ATTEMPT TO USE A RESERVED FILE NAME WAS MADE.
*                   RESERVED FILE NAMES INCLUDE *IQF*, *NIQFT*, *MIQFT* 
*                   AND *SCR*.
*                2. THE NAMES SPECIFIED BY THE *I* AND *L*
*                   DIRECTIVES ARE IDENTICAL. 
* 
*         **** FAMILY NAME MUST BE ENTERED. 
*                A *DN* DIRECTIVE HAS BEEN ENTERED BEFORE THE 
*                FAMILY NAME (*FM* OR *DF*) HAS BEEN
*                SPECIFIED. TO CORRECT, ENTER A SPECIFIC
*                FAMILY NAME AND REENTER THE DEVICE NUMBER. 
* 
*         **** DESTINATION FAMILY NOT SPECIFIED.
*                A *GO* COMMAND HAS BEEN ENTERED BEFORE THE 
*                FAMILY NAME (FM) OR DESTINATION FAMILY (DF) HAVE 
*                BEEN SPECIFIED. TO CORRECT, ENTER MISSING FAMILY 
*                AND TYPE *GO*. 
* 
*         **** SYNTAX ERROR IN LID. 
*                AN INCORRECT SEPARATOR IS PRESENT, NO PARAMETER
*                WAS SPECIFIED, OR THERE WERE NOT 3 CHARACTERS
*                SPECIFIED. 
* 
*         **** LID NOT IN TABLE.
*                AN *NLD* (NEW DESTINATION LOGICAL IDENTIFIER) WAS
*                SPECIFIED THAT WAS NOT IN THE LID TABLE. 
* 
*         **** FAMILY FOR TERMINAL MUST BE ENTERED. 
*                THE *TUI* DIRECTIVE HAS BEEN ENTERED BEFORE THE
*                *TF* DIRECTIVE.  TO CORRECT, ENTER A DESTINATION 
*                FAMILY FOR TERMINAL (*TF* DIRECTIVE) AND REENTER 
*                A DESTINATION USER INDEX (*TUI* PARAMETER).
* 
*         **** ERROR IN ACCESS LEVEL. 
*                CAN INDICATE - 
*                1.  NO ACCESS LEVEL IS SPECIFIED.
*                2.  INCORRECT SEPARATOR FOLLOWS ACCESS LEVEL.
* 
*         **** LA AND UA BOTH REQUIRED. 
*                WHEN SPECIFYING ACCESS LEVELS, BOTH THE LOWER (LA) 
*                AND UPPER (UA) MUST BE SPECIFIED.
* 
*         **** ACCESS LEVEL OUT OF RANGE. 
*                THE ACCESS LEVEL SELECTED WAS NOT WITHIN 
*                THE SYSTEM LIMITS. 
* 
*         **** LA VALUE LARGER THAN UA. 
*                THE VALUE ASSOCIATED WITH LOWER (LA) ACCESS LEVEL
*                MUST BE LESS THAN OR EQUAL TO THE UPPER (UA) VALUE.
* 
*         **** UNKNOWN ACCESS LEVEL NAME. 
*                THE ACCESS LEVEL NAME SELECTED IS NOT A DEFINED NAME.
* 
*         **** PAGING COMMAND IGNORED.
*                THE ENTERED PAGING COMMAND IS DISABLED WHILE THE LIST
*                K-DISPLAY IS ACTIVE. 
          TITLE  MACROS.
          SPACE  4
**        BITCON - GENERATE BIT STRING FOR SPECIAL CHARACTERS.
* 
*         BITCON GENERATES A CONSTANT WITH BIT POSITIONS SET
*         WHICH CORRESPOND WITH THE SPECIAL CHARACTERS SUPPLIED 
*         BIASED BY (-45B). 
* 
* NAME    BITCON P
*                *P* SERIES OF SPECIAL CHARACTERS SEPARATED BY COMMAS 
*                    AND DELIMITED BY PARENTHESIS.
  
  
          MACRO  BITCON,NAME,P
          LOCAL  A,B
 A        MICRO  1,,
          IRP    P
 B        DECMIC 1R_P-1R+ 
 A        MICRO  1,, "A"+1S"B"
          IRP 
 NAME     CON    "A"
          ENDM
          SPACE  4
**        IENTRY - GENERATE INPUT ENTRY TABLE ENTRY.
* 
*         IENTRY I,F,A,P
*                I = IDENTIFIER.
*                F = PROCESSOR INFORMATION. 
*                A = ARGUMENT TABLE INDEX.
*                P = PROCESSOR INDEX. 
  
  
 IENTRY   MACRO  I,F,A,P
          LOCAL  B
 B        MICRO  1,3,$I$
          VFD    18/0L"B",18/F,12/0,6/A,6/P 
          ENDM
          SPACE  4
**        KIND - GENERATE K-DISPLAY INDEX TABLE ENTRY.
* 
*         KIND   DD,DL,DM,DQ,DF,DN. 
*                DD = QDUMP K-DISPLAY LINE INDEX. 
*                DL = QLOAD K-DISPLAY LINE INDEX. 
*                DM = QMOVE K-DISPLAY LINE INDEX. 
*                DQ = QREC K-DISPLAY LINE INDEX.
*                DF = DAYFILE K-DISPLAY LINE INDEX. 
*                DN = QFTLIST/QALTER K-DISPLAY LINE INDEX.
*                NULL = DIRECTIVE NOT USED BY UTILITY.
  
  
 KIND     MACRO  A,B,C,D,E,F
          VFD    18/A,18/B,18/C,6/0 
          VFD    18/D,18/E,18/F,6/0 
          ENDM
 MASK     SPACE  4,10 
**        MASK - GENERATE DIRECTIVE MASK. 
* 
*         MASK   (A,B,C,...,N)
*                BITS 59-A, 59-B, 59-C,...,59-N ARE SET.
  
  
 MASK     MACRO  A
          IRP    A
          POS    60-A 
          VFD    1/1
          IRP 
          POS    1
          BSS    0
          ENDM
 TABLE    SPACE  4
**        TABLE - GENERATE TABLE ENTRY. 
* 
*         TABLE  I,N
* 
*         ENTRY  I = K-DISPLAY INPUT ENTRY. 
*                N = INTERNAL IDENTIFIER NUMBER.
* 
*         EXIT   ONE WORD GENERATED IN FOLLOWING FORMAT - 
*                42/ I , 18/ N
  
  
 TABLE    MACRO  I,N
          LOCAL  A
          IFC    NE,$I$*$ 
 A        MICRO  1,7,$I$
          VFD    42/0L"A",18/N
          ELSE
          VFD    42/1L*,18/7
          ENDIF 
          ENDM
          SPACE  4
**        COMMON DECKS. 
  
*CALL     COMCMAC 
*CALL     COMCCMD 
*CALL     COMCDCM 
*CALL     COMCDCP 
*CALL     COMSIOQ 
*CALL     COMSJIO 
*CALL     COMSMLS 
*CALL     COMSMSC 
*CALL     COMSPRD 
*CALL     COMSSFM 
*CALL     COMSSSD 
*CALL     COMSSSJ 
          LIST   X
*CALL     COMSQFS 
          LIST   -X 
          SPACE  4
**        GENERAL EQUATES.
  
  
 NOQT     EQU    12          NUMBER OF QUEUE TYPES
 NSCI     EQU    80          NUMBER OF CHARACTERS TO SCAN ON INPUT
          TITLE  TABLES.
          ORG    120B 
  
*         WORKING STORAGE (ANY CHANGES TO CELLS REFERENCED BY 
*         DEFINITIONS IN *COMSQFS* MUST BE REFLECTED THERE).
  
  
 FWA      BSS    0
 BLKS     DATA   1H          WORD OF BLANKS 
          CHAR   1R[,1R(
          CHAR   1R],1R)
          CODE   O
 CA       BITCON (+,-,[,])   ALLOW + - ( ) PAGING CHARACTERS
          CODE   *
 CF       BITCON (*)         SPECIAL CHARACTER FOR MACHINE ID 
 CS       BITCON ( )         CHARACTERS SUPPRESSED ON INPUT 
 DFP      CON    0           DAYFILE POINTER
 DVLL     CON    8           DEVICE LOWER ACCESS LEVEL LIMIT
 DVUL     CON    -1          DEVICE UPPER ACCESS LEVEL LIMIT
 ENUT     CON    0           ENTRY ADDRESS OF UTILITY 
 FPNM     CON    -1          FUNCTION PROCESSOR NUMBER
 JACL     CON    0           VALID JOB ACCESS LEVELS
 KD       CON    0           K-DISPLAY STATUS WORD
 KTIT     BSSZ   2           K-DISPLAY TITLE
 N        CON    0           INHIBIT K-DISPLAY FLAG 
 PG       CON    0           PAGE INDEX 
 PI       CON    0           PROCESSOR INFORMATION
 QFT      CON    0           QFT POINTER WORD 
 SECR     CON    0           *GETSSL* REPLY WORD
 SL       CON    0           STRING BUFFER LIMIT POINTER
 SP       CON    0           STRING BUFFER POINTER
 OPMP     CON    0           OPERATOR ACTION MESSAGE POINTER
          SPACE  4
*         NOTE - ANY CHANGE IN THE ORDER OF THE *TARG*, *TEQP*, 
*                *TMSD*, *TDAL*, *TMSS* AND *FOTT* TABLES MUST BE 
*                ACCOMPANIED BY A CHANGE IN *COMSQFS*.
 TARG     SPACE  4
**        TARG - TABLE OF PROCESSED ARGUMENTS.
* 
*         SEE *COMSQFS* FOR FORMAT. 
  
  
 TARG     BSS    TARGL
 TEQP     SPACE  4
**        TEQP - TABLE OF MASS STORAGE DEVICES. 
* 
*         SEE *COMSQFS* FOR FORMAT. 
  
  
 TEQP     BSSZ   ESMX+1 
 TMSD     SPACE  4
**        TMSD - TABLE OF MASS STORAGE DESCRIPTIONS.
* 
*         SEE *COMSQFS* FOR FORMAT. 
  
  
 TMSD     BSSZ   ESMX 
          SPACE  4,10 
**        TDAL - TABLE OF MASS STORAGE DEVICE ACCESS LEVELS.
* 
*         SEE *COMSQFS* FOR FORMAT. 
  
 TDAL     BSSZ   ESMX 
          SPACE  4,10 
**        TMSS - TABLE OF AVAILABLE MASS STORAGE SPACE. 
* 
*         SEE *COMSQFS* FOR FORMAT. 
  
 TMSS     BSSZ   ESMX 
          SPACE  4,10 
**        TPPP - TABLE OF PRINTER PAGE PARAMETERS.
* 
*         SEE *COMSQFS* FOR FORMAT. 
  
  
 TPPP     BSSZ   TPPPL
          SPACE  4,10 
**        FOTT - FAMILY ORDINAL TABLE.
* 
*         SEE *COMSQFS* FOR FORMAT. 
  
  
 FOTT     BSSZ   FOTL 
 TKLN     SPACE  4
**        TKLN - TABLE OF K-DISPLAY LINE NUMBERS. 
  
  
 TKLN     BSS    0
          LOC    0
          KIND   DDFM,,DMFM,DQFM,DFFM,DNFM
          KIND   DQFU,DQFU,DQFU,DQFU
          KIND   ,DLDE,DMDF,,,DNDF
          KIND   DDDN,,DMDN,DQDN,DFDN,DNDN
          KIND   ,DLDD,DMDD 
          KIND   DQUI,DQUI,DQUI,DQUI
          KIND   DQU1,DQU1,DQU1,DQU1
          KIND   DDDA,DLDA,DMDA,DQDA
          KIND   DDD1,DLD1,DMD1,DQD1
          KIND   DQJN,DQJN,DQJN,DQJN,,DQJN
          KIND   DQJ2,DQJ2,DQJ2,DQJ2,,DQJ2
          KIND   DQJ3,DQJ3,DQJ3,DQJ3,,DQJ3
          KIND   DQJ4,DQJ4,DQJ4,DQJ4,,DQJ4
          KIND   DQJ5,DQJ5,DQJ5,DQJ5,,DQJ5
          KIND   DQLI,DQLI,DQLI,DQLI,,DNLD
          KIND   ,,,,,DNNL
          KIND   DQID,DQID,DQID,DQID,,DNID
          KIND   DQI1,DQI1,DQI1,DQI1,,DNI1
          KIND   DQLA,DQLA,DQLA,DQLA,,DNLA
          KIND   DQL1,DQL1,DQL1,DQL1,,DNL1
          KIND   DQUA,DQUA,DQUA,DQUA,,DNUA
          KIND   DQU2,DQU2,DQU2,DQU2,,DNU1
          KIND   DDOF,DLOF,DMOF,DQOF,DFOF,DNOF
          KIND   DDTP,,DMTP 
          KIND   DQFS,DQFS,DQFS,DQFS,,DNFS
          KIND   DQF1,DQF1,DQF1,DQF1,,DNF1
          KIND   DDNF,DLNF
          KIND   ,DLSC
          KIND   DQBC,DQBC,DQBC,DQBC,,DQBC
          KIND   DQB1,DQB1,DQB1,DQB1,,DQB1
          KIND   DQB2,DQB2,DQB2,DQB2,,DQB2
          KIND   DQRB,DQRB,DQRB,DQRB,,DQRB
          KIND   DQR3,DQR3,DQR3,DQR3,,DQR3
          KIND   DQR4,DQR4,DQR4,DQR4,,DQR4
          KIND   ,DLOP,DMOP,DQOP,DFOP,DNOP
          KIND   ,,,,DFFT 
          KIND   ,,,,DFNM 
          KIND   DQTI,DQTI,DQTI,DQTI
          KIND   DQT1,DQT1,DQT1,DQT1
          KIND   DQTF,DQTF,DQTF,DQTF
          KIND   DQFR,DQFR,DQFR,DQFR,,DNFR
          KIND   DDMI,DLMI,DMMI,DQMI
          KIND   DDFN,DLFN
          KIND   ,,,,,DNUN
          KIND   ,,,,,DNUJ
          KIND   ,,,,,DNLO
          KIND   ,,,,,DNAL
          KIND   ,,,,,DNDC
          KIND   ,,,,,DNNE
          KIND   ,,,,,DNND
          KIND   ,,,,,DNNU
          KIND   ,,,,,DNNC
          KIND   ,,,,,DNNI
          KIND   ,,,,,DNNR
          KIND   ,,,,,DNNP
 TKDR     EQU    */2
          KIND   DDDR,,DMDR,DQDR
 TKIN     EQU    */2
          KIND   DDIN,,DMIN,DQIN
 TKER     EQU    */2
          KIND   DDER,DLER,DMER 
  
          LOC    *O 
 TOCE     SPACE  4,10 
**        TOCE - TABLE OF COMMAND ENTRIES.
* 
*T        42/ COMMAND , 6/ 0 , 6/ VALUE , 6/ INDEX
* 
*         NOTE   THIS TABLE IS ALTERED BY PRESET FOR THE
*                SPECIFIC UTILITY BEING PROCESSED.
  
  
 TOCE     BSS    0
          VFD    42/1L+,6/0,6/1,6/CPL      +
          VFD    42/1L-,6/0,6/1,6/CPL      -
          VFD    42/1L(,6/0,6/1,6/CPR      (
          VFD    42/1L),6/0,6/1,6/CPR      )
          VFD    42/0LSTOP,6/0,6/0,6/CTR   STOP 
 TOCEA    VFD    42/0LGO,6/0,6/0,6/CUP     GO 
          VFD    42/0LRESET,6/0,6/0,6/CRS  RESET
          VFD    42/0LOUT,6/0,6/3,6/CUP    OUT
 TOCEB    VFD    42/0LLIST,6/0,6/2,6/CLT   LIST 
          VFD    42/0LCLEAR,6/0,6/0,6/CCR  CLEAR
          VFD    42/0LFAMILY,6/0,6/0,6/PFO FAMILY 
          VFD    42/0LLID,6/0,6/0,6/PLT    LID
          CON    0                         END OF TABLE 
 TINE     SPACE  4,11 
**        TINE - TABLE OF INPUT ENTRIES.
* 
*T        18/ I ,18/ F ,12/  ,6/ A ,6/ P
* 
*                I = IDENTIFIER.
*                F = PROCESSOR INFORMATION. 
*                    FWA OF SEARCH TABLE. 
*                    ADDRESS OF MAXIMUM VALUE.
*                A = ARGUMENT TABLE INDEX.
*                P = PROCESSOR INDEX. 
  
  
 TINE     BSS    0
          LOC    0
          IENTRY FM,TEQP,ARFM,PFM      *FM* 
          IENTRY FU,0,ARFU,PFM         *FU* 
          IENTRY TF,0,ARTF,PFM         *TF* 
          IENTRY DD,TEQP,ARDD,PDN      *DD* 
 TIDF     BSS    0
          IENTRY DF,TEQP,ARDF,PFM      *DF* 
          IENTRY DN,TEQP,ARDN,PDN      *DN* 
          IENTRY JSN,ARJN,ARJN,PJN     *JSN*
          IENTRY ID,NRPB,ARID,PNR      *ID* 
          IENTRY LA,TALV,ARLA,PAL      *LA* 
          IENTRY UA,TALV,ARUA,PAL      *UA* 
          IENTRY L,0,ARLL,PAN          *L*
          IENTRY TP,TOTP,ARTP,PAN      *TP* 
          IENTRY FS,NRPC,ARFS,PNR      *FS* 
          IENTRY FN,0,ARFN,PAN         *FN* 
          IENTRY NF,0,ARNF,PNM         *NF* 
          IENTRY SC,0,ARSC,PNM         *SC* 
          IENTRY FT,TODT,ARFT,PAN      *FT* 
          IENTRY BC,TQTE,ARBC,POT      *BC* 
          IENTRY RB,TQTE,ARRB,POT      *RB* 
          IENTRY UI,NRPA,ARUI,PNR      *UI* 
          IENTRY DA,0,ARDA,PNR         *DA* 
          IENTRY NM,0,ARNM,PAN         *NM* 
          IENTRY TUI,NRPA,ARTI,PNR     *TUI*
          IENTRY FC,,ARFR,PFC          *FC* 
          IENTRY MI,3,ARMI,PMI         *MI* 
          IENTRY UN,10B,ARUN,PMI       *UN* 
          IENTRY UJN,10B,ARUJ,PMI      *UJN*
          IENTRY LO,TLOP,ARLO,PAN      *LO* 
          IENTRY LD,0,AROL,PLD         *LD* 
          IENTRY NAL,TALV,ARAL,PAL     *NAL*
          IENTRY NLD,0,ARNL,PLD        *NLD*
          IENTRY NDC,TDVC,ARDC,PAN     *NDC*
          IENTRY NEC,0,ARNE,PEC        *NEC*
          IENTRY NDF,10B,ARND,PMI      *NDF*
          IENTRY NUN,10B,ARNU,PMI      *NUN*
          IENTRY NID,NMPB,ARNI,PNM     *NID*
          IENTRY NPR,NMPC,ARNP,PNM     *NPR*
          IENTRY NFC,3,ARNC,PMI        *NFC*
          IENTRY NRC,NMPD,ARNR,PNM     *NRC*
 TIOP     BSS    0
          IENTRY OP,0,AROP,PAN         *OP* 
 TIII     BSS    0
          IENTRY I,0,0,PIF             *I*
 TIPO     BSS    0
          IENTRY PO,0,0,CPO            *PO* 
          CON    0           END OF TABLE 
          LOC    *O 
 TODT     SPACE  4
**        TODT - TABLE OF DAYFILE TYPES.
  
  
 TODT     BSS    0
          TABLE  DAYFILE,SDAY   SYSTEM DAYFILE
          TABLE  ACCOUNT,ACCF   ACCOUNT FILE
          TABLE  ERRLOG,ERLF    ERRLOG DAYFILE
          TABLE  MAINLOG,BMLF   MAINTENANCE LOG FILE
          CON    0
 TFTE     SPACE  4,7
**        TQTE - TABLE OF QUEUE TYPE ENTRIES. 
*                ONE WORD PER QUEUE TYPE. 
* 
*T        42/ QT, 18/ B 
* 
*                QT = INPUT OPTION. 
*                B  = BIT MASK FOR QUEUE TYPES. 
  
  
 TQTE     BSS    0
          TABLE  ALL,777700B ALL QUEUE TYPES SELECTED 
          TABLE  NONE,0      NO QUEUE TYPES SELECTED
          TABLE  IN,200000B  INPUT QUEUE TYPE 
          TABLE  PH,100000B  PUNCH QUEUE TYPE 
          TABLE  PU,100000B  PUNCH QUEUE TYPE 
          TABLE  PL,40000B   PLOT QUEUE TYPE
          TABLE  PRINT,37600B ALL PRINT QUEUES
          TABLE  PR,20000B   PRINT QUEUE TYPE-ANY PRINTER 
          TABLE  P2,10000B   PRINT QUEUE TYPE-511 PRINTER 
          TABLE  LR,4000B    PRINT QUEUE TYPE-580-12 PRINTER
          TABLE  LS,2000B    PRINT QUEUE TYPE-580-16 PRINTER
          TABLE  LT,1000B    PRINT QUEUE TYPE-580-20 PRINTER
          TABLE  LX,400B     PRINT QUEUE TYPE-5870 NIP
          TABLE  LY,200B     PRINT QUEUE TYPE-5970 NIP
          TABLE  WT,100B     WAIT QUEUE-TERMINAL OUTPUT 
          TABLE  SF,400000B  SPECIAL FILE TYPES 
          CON    0
 TLOP     SPACE  4,10 
**        TLOP - TABLE OF LIST OPTIONS. 
  
  
 TLOP     BSS    0
          TABLE  S,0         SHORT LIST 
          TABLE  F,1         FULL LIST
          CON    0
 TOAL     SPACE  4
**        TOAL - TABLE OF QALTER OPTIONS. 
  
  
 TOAL     BSS    0
          TABLE  BC,BCOP     ALTER TO LOCAL BATCH 
          TABLE  RB,RBOP     ALTER TO REMOTE BATCH
          TABLE  NC,NCOP     DO NOT CHANGE ORIGIN 
          TABLE  PR,PROP     PURGE FILES
          CON    0           END OF TABLE 
 TOQM     SPACE  4
**        TOQM - TABLE OF QMOVE OPTIONS.
  
  
 TOQM     BSS    0
          TABLE  I,0         LEAVE AS INACTIVE FILES
          TABLE  A,1         LEAVE AS ACTIVE FILES
          CON    0
 TOQR     SPACE  4
**        TOQR - TABLE OF QREC OPTIONS. 
  
  
 TOQR     BSS    0
          TABLE  RP,REPG     RECOVER/PURGE OPTION 
          TABLE  RI,REIG     RECOVER/IGNORE OPTION
          TABLE  PI,PGIG     PURGE/IGNORE OPTION
          TABLE  DI,DEIG     DEQUEUE OPTION 
          CON    0
 TOTP     SPACE  4,3
**        TOTP - TABLE OF QDUMP AND QMOVE TYPES.
*                (MODIFIED FOR QLOAD AND DFTERM OPTION TABLE) 
  
  
 TOTP     BSS    0
          TABLE  I,0         INACTIVE 
          TABLE  A,1         ACTIVE 
 TOTPA    BSS    0
          TABLE  ALL,2       ALL
          CON    0
          SPACE  4,10 
**        TPOO - TABLE OF *PO* OPTIONS AND PROCESSORS.
  
  
TPOO      BSS    0
          TABLE  F,FOP       FAMILY ORDINAL TABLE PROCESSOR 
          TABLE  R,RWD       REWIND PROCESSOR 
          TABLE  E,ERF       ERROR COMMAND PROCESSOR
          TABLE  N,NKP       INHIBIT K-DISPLAY INPUT
          TABLE  L,LTP       LID TABLE PROCESSOR
          TABLE  I,IQP       INPUT QUEUE FILE PROCESSOR 
          TABLE  U,UQP       UNCONDITIONAL FILE PROCESSOR 
          CON    0
 TRFN     SPACE  4,10 
**        TRFN - TABLE OF RESERVED FILE NAMES.
  
  
 TRFN     BSS    0
          TABLE  "RFIQ" 
          TABLE  "RFNI" 
          TABLE  "RFMI" 
          TABLE  "RFSC" 
          CON    0           END OF TABLE 
          SPACE  4
**        TDVC - TABLE OF DEVICE CODES. 
  
  
 TDVC     BSS    0
          TABLE  NONE,777B
          TABLE  PR,LPQF
          TABLE  LP,LPQF
          TABLE  P2,P2QF
          TABLE  LR,LRQF
          TABLE  LS,LSQF
          TABLE  LT,LTQF
          TABLE  LX,LXQF
          TABLE  LY,LYQF
          CON    0           END OF TABLE 
          SPACE  4
**        TPLC - TABLE OF PLOT QUEUE EXTERNAL CHARACTERISTICS.
  
  
 TPLC     BSS    0
          TABLE  T6,T6EX+4000B  TRANSPARENT 6 BIT 
          TABLE  T8,T8EX+4000B  TRANSPARENT 8 BIT 
          CON    0           END OF TABLE 
 TRPC     SPACE  4,10 
**        TPRC - TABLE OF PRINT QUEUE EXTERNAL CHARACTERISTICS. 
  
  
 TPRC     BSS    0
          TABLE  A4,A4EX+4000B  A4 - ASCII 48-CHARACTER 
          TABLE  B4,B4EX+4000B  B4 - BCD 48-CHARACTER 
          TABLE  B6,B6EX+4000B  B6 - BCD 63/4 CHARACTER 
          TABLE  A6,A6EX+4000B  A6 - ASCII 64-CHARACTER 
          TABLE  A9,A9EX+4000B  A9 - ASCII 96-CHARACTER 
          CON    0           END OF TABLE 
 TPUC     SPACE  4,10 
**        TPUC - TABLE OF PUNCH QUEUE EXTERNAL CHARACTERISTICS. 
  
  
 TPUC     BSS    0
          TABLE  PB,PBFR+4000B  SB - SYSTEM BINARY
          TABLE  P8,P8FR+4000B  80 COL - 80 COLUMN BINARY 
          TABLE  PH,PHFR+4000B  O26 - O26 PUNCH 
          TABLE  P9,P9FR+4000B  O29 - O29 PUNCH 
          TABLE  AS,ASFR+4000B  ASCII - ASCII PUNCH 
          CON    0           END 0F TABLE 
          SPACE  4,10 
**        FET DEFINITIONS.
  
  
 I        BSS    0
 INPUT    FILEC  IBUF,IBUFL 
  
 IBUFL    EQU    201B        LENGTH OF INPUT BUFFER 
          SPACE  4,10 
**        *SFM* PARAMETER BLOCK.
  
  
 FOTB     VFD    12/RFDF,12/0,12/FOTL,6/0,18/FOTT 
          CON    0
 LUP      SPACE  4,8
**        LUP - LOAD UTILITY PROCESSOR. 
* 
*         ENTRY  (X1) = OVERLAY NAME. 
* 
*         EXIT   TO *DIP*.
*                (ENUT) = ENTRY ADDRESS TO UTILITY OVERLAY. 
* 
*         USES   X - 6. 
*                A - 6. 
* 
*         MACROS OVERLAY. 
  
  
 LUP      OVERLAY X1,100B,S 
          BX6    X1 
          SA6    ENUT 
          JP     DIP
 DIP      TITLE   DIRECTIVE INPUT PROCESSOR.
**        DIP - DIRECTIVE INPUT PROCESSOR.
* 
*         ENTRY  K - DISPLAYS SET IN BUFFERS. 
*                UTILITY OVERLAY LOADED.
*                DEFAULT PARAMETERS SET.
  
  
 DIP4     RJ     IDE         PROCESS ERROR
  
 DIP      RJ     ISB         INPUT STRING BUFFER
          SA2    CS          SUPPRESS BLANKS
          SA1    CA          ALLOW PAGING CHARACTERS
          BX6    X2 
          RJ     ASC         ASSEMBLE KEYWORD 
          SB3    ERID        **** ERROR IN IDENTIFIER.
          ZR     X4,DIP      IF NO DATA ASSEMBLED 
          SB5    B5-1R= 
          SA5    TINE+TIII
          EQ     B5,DIP2     IF IDENTIFIER SEPARATOR
          NZ     X5,DIP2     IF COMMAND PARAMETER 
          SA6    KCMD        SAVE COMMAND FOR PAGING PROCESSORS 
  
*         SEARCH COMMAND ENTRY TABLE. 
  
 DIP1     SA3    TOCE-1      SEARCH COMMAND ENTRY TABLE 
          MX0    42 
          NZ     X5,DIP4     IF COMMAND PARAMETER 
          RJ     SET
          NZ     X4,DIP4     IF ENTRY NOT FOUND 
          MX0    -6          SET PROCESSOR INDEX
          BX1    -X0*X3 
          AX3    6           SET COMMAND NUMBER 
          BX6    -X0*X3 
          EQ     DIP3 
  
*         SEARCH DIRECTIVE INPUT TABLE. 
  
 DIP2     SA3    TINE-1      SEARCH DIRECTIVE TABLE 
          MX0    18 
          MX2    42 
          BX2    X2*X6
          BX1    -X0*X2 
          NZ     X1,DIP1     IF TOO MANY CHARACTERS 
          RJ     SET
          NZ     X4,DIP1     IF ENTRY NOT FOUND 
          BX6    -X0*X3      SAVE PROCESSOR INFORMATION 
          AX6    24 
          SA6    PI 
          MX0    -6          SET PROCESSOR INDEX
          BX1    -X0*X3 
          SX7    X1-PIF 
          ZR     X7,DIP3     IF *I* DIRECTIVE 
          SX7    X1-CPO 
          ZR     X7,DIP3     IF *P0* PROCESSOR
          AX3    6           SET ARGUMENT TABLE INDEX 
          BX6    -X0*X3 
          SA4    DIPA        CHECK IF DIRECTIVE LEGAL FOR UTILITY 
          SB6    X6 
          LX4    B6,X4
          PL     X4,DIP4     IF INCORRECT ENTRY 
  
*         JUMP TO PROCESSOR.
  
 DIP3     SA2    X1+TOIP     SET PROCESSOR ADDRESS
          SB7    X2 
          BX7    X7-X7       CLEAR *PNB* BLOCK
          SA6    PINB 
          SA7    A6+B1
          SA7    A7+B1
          SA7    A7+B1
          SA7    A7+B1
          SA7    A7+B1
          SA7    A7+B1
          RJ     ICE         JUMP TO PROCESSOR
          NZ     X1,DIP4     IF ERROR 
          SA1    OPAM        CHECK FOR OPERATOR ACTION MESSAGE
          SB3    X1 
          NZ     B3,DIP4     IF OPERATOR ACTION MESSAGE PRESENT 
          SA1    PINB+1 
          ZR     X1,DIP      IF NO K-DISPLAY UPDATE 
          RJ     SPD         UPDATE K-DISPLAY AND ARGUMENT TABLE
          EQ     DIP
  
 DIPA     CON    0           DIRECTIVE MASK 
  
  
**        PINB - PROCESSED INPUT DATA BUFFER. 
* 
*T PINB   6/ , 18/ AI3, 18/ AI2, 18/ AI1
*T,       60/ PRIMARY K-DISPLAY VALUE 
*T,       60/ PRIMARY ARGUMENT TABLE VALUE
*T,       60/ SECONDARY K-DISPLAY VALUE 
*T,       60/ SECONDARY ARGUMENT TABLE VALUE
*T,       60/ TERTIARY K-DISPLAY VALUE
*T,       60/ TERTIARY ARGUMENT TABLE VALUE 
* 
* 
*                AI1 = ARGUMENT TABLE INDEX FOR PRIMARY VALUE.
*                AI2 = ARGUMENT TABLE INDEX FOR SECONDARY VALUE.
*                AI3 = ARGUMENT TABLE INDEX FOR TERTIARY VALUE. 
  
  
 PINB     BSSZ   7
          SPACE  4
**        TOIP - TABLE OF INPUT PROCESSORS. 
  
  
 TOIP     BSS    0
          LOC    0
 PAN      CON    ANP         ALPHA-NUMERIC PROCESSOR
 PDN      CON    DNP         DEVICE NUMBER PROCESSOR
 PEC      CON    ECP         EXTERNAL CHARACTERISTIC PROCESSOR
 PFC      CON    FCP         FORMS CODE PROCESSOR (QFTLIST/QALTER ONLY) 
 PFM      CON    FMP         FAMILY NAME PROCESSOR
 PIF      CON    IFP         INPUT FILE PROCESSOR 
 PJN      CON    JNP         JOB SEQUENCE NUMBER PROCESSOR
 PLD      CON    LDP         LID PROCESSOR
 PLT      CON    LTP         LID TABLE PROCESSOR
 PAL      CON    ALP         ACCESS LEVEL PROCESSOR 
 PMI      CON    MIP         MACHINE INDEX PROCESSOR
 PNK      CON    NKP         INHIBIT K-DISPLAY PROCESSOR
 PNM      CON    NMP         NUMERIC DATA PROCESSOR 
 PNR      CON    NRP         NUMERIC RANGE PROCESSOR
 POT      CON    OTP         FILE DESTINATION - QUEUE TYPE PROCESSOR
 CCR      CON    CLR         CLEAR COMMAND PROCESSOR
 CER      CON    ERF         ERROR COMMAND PROCESSOR
 CLT      CON    LST         LIST COMMAND PROCESSOR 
 CPL      CON    PGL         PAGE LEFT SCREEN COMMAND PROCESSOR 
 CPR      CON    PGR         PAGE RIGHT SCREEN COMMAND PROCESSOR
 CPO      CON    POP         *PO* PARAMETER PROCESSOR 
 PFO      CON    FOP         FAMILY ORDINAL PROCESSOR 
 CRD      CON    RWD         REWIND COMMAND PROCESSOR 
 CRS      CON    RST         RESET COMMAND PROCESSOR
 CTR      CON    TER         STOP COMMAND PROCESSOR 
 CUP      CON    UCP         UTILITY COMMAND PROCESSOR
          LOC    *O 
 ALP      SPACE  4,20 
**        ALP - SECURITY ACCESS LEVEL PROCESSOR.
* 
*         ENTRY  (PINB) = ARGUMENT TABLE INDEX. 
* 
*         EXIT   *PINB* BLOCK SET.
*                (X1) = 0, IF NO ERROR. 
*                (B3) = ADDRESS OF ERROR MESSAGE. 
* 
*         USES   X - 0, 1, 2, 3, 4, 6, 7. 
*                A - 2, 6, 7. 
*                B - 2, 3, 5, 6.
* 
*         CALLS  ASC, SFN, VLC. 
  
  
 ALP4     SX1    B1+         SET ERROR EXIT 
  
 ALP      SUBR               ENTRY/EXIT 
          SA2    CS          SUPPRESS BLANKS
          BX1    X1-X1       ALLOW NO SPECIAL CHARACTERS
          BX6    X2 
          RJ     ASC         ASSEMBLE CHARACTERS
          SB3    ERAC        **** ERROR IN ACCESS LEVEL.
          ZR     X4,ALP4     IF NO PARAMETER
          SB6    B5-1R= 
          SB5    B5-1R- 
          ZR     B6,ALP4     IF INCORRECT SEPARATOR 
          LE     B5,ALP4     IF INCORRECT SEPARATOR 
          SB2    X4-7 
          GT     B2,ALP4     IF MORE THAN SEVEN CHARACTERS
          SB2    B0          CHECK ACCESS LEVEL 
          BX1    X6 
          RJ     VLC         VALIDATE ACCESS LEVEL
          NG     X2,ALP2     IF INCORRECT ACCESS LEVEL
          RJ     SFN         SPACE FILL NAME
          BX1    X2          SET ARGUMENT TABLE VALUE 
          BX7    X2 
          SA2    SECR        GET SYSTEM ACCESS LEVEL LIMITS 
          LX2    12 
          MX0    -3 
          BX3    -X0*X2 
          ZR     X3,ALP1     IF UNSECURE SYSTEM 
          LX2    -48
          BX3    -X0*X2      GET UPPER LIMIT
          LX2    -6 
          IX4    X3-X1
          NG     X4,ALP3     IF ABOVE UPPER LIMIT 
          BX3    -X0*X2      GET LOWER LIMIT
          IX4    X1-X3
          NG     X4,ALP3     IF BELOW LOWER LIMIT 
 ALP1     BX1    X1-X1       CLEAR ERROR RETURN 
          SA6    PINB+1      SET K-DISPLAY
          SA7    A6+B1       SET ARGUMENT TABLE VALUE 
          EQ     ALPX        RETURN 
  
 ALP2     SB3    ERUA        **** UNKNOWN ACCESS LEVEL NAME.
          EQ     ALP4        SET ERROR EXIT 
  
 ALP3     SB3    ERAL        **** ACCESS LEVEL OUT OF RANGE.
          EQ     ALP4        SET ERROR EXIT 
          TITLE  DIRECTIVE PROCESSOR ROUTINES.
 ANP      SPACE  4
**        ANP - ALPHA-NUMERIC DATA PROCESSOR. 
* 
*         ENTRY  (PINB) = ARGUMENT TABLE INDEX. 
*                (PI) = FWA OF SEARCH TABLE.
* 
*         EXIT   *PINB* BLOCK SET.
*                (X1) = 0, NO ERROR ENCOUNTERED.
*                (B3) = ADDRESS OF ERROR MESSAGE. 
* 
*         USES   X - 0, 1, 2, 3, 5, 6.
*                A - 1, 2, 3, 4, 6. 
*                B - 2, 3, 5, 6.
* 
*         CALLS  ASC, DDR, SET, SFN, SPD. 
  
  
 ANP8     SX1    B1+         SET ERROR RETURN 
          SB3    ERAD        **** ERROR IN ALPHANUMERIC DATA. 
  
 ANP      SUBR               ENTRY/EXIT 
          SA2    CS          SUPPRESS BLANKS
          MX1    0           ALLOW NO SPECIAL CHARACTERS
          BX6    X2 
          RJ     ASC         ASSEMBLE CHARACTERS
          ZR     X4,ANP8     IF NO PARAMETER
          SB6    B5-1R= 
          SB5    B5-1R- 
          ZR     B6,ANP8     IF INCORRECT SEPARATOR 
          LE     B5,ANP8     IF INCORRECT SEPARATOR 
          SA5    PINB        GET ARGUMENT TABLE INDEX 
          SB2    X4-7 
          GT     B2,ANP8     IF MORE THAN SEVEN CHARACTERS
          SX1    X5-ARNM
          NZ     X1,ANP2     IF NOT DAYFILE NAME DIRECTIVE
          SB6    X4-5 
          GT     B6,ANP8     IF MORE THAN FIVE CHARACTERS 
 ANP2     SA4    PI          GET FWA OF SEARCH TABLE
          BX1    X6 
          MX0    42 
          ZR     X4,ANP3     IF NO VALIDATION NEEDED
          SA3    X4-1        SEARCH TABLE FOR ENTRY 
          RJ     SET
          BX6    -X0*X3 
          NZ     X4,ANP8     IF NOT VALID ENTRY 
 ANP3     SA6    PINB+2      SET ARGUMENT TABLE VALUE 
          RJ     SFN
          SX2    X5-ARFT
          SA6    A5+B1       SET K-DISPLAY VALUE
          BX1    X1-X1       CLEAR ERROR RETURN 
          NZ     X2,ANP4     IF DAYFILE TYPE NOT ENTERED
  
*         PROCESS DAYFILE TYPE. 
  
          SA1    TARG+AROP
          ZR     X1,ANPX     IF INACTIVE DAYFILE TO BE TERMINATED 
          RJ     SPD         SET PROCESSED DATA 
          SA1    PINB+2      DETERMINE DAYFILE RESIDENCE
          RJ     DDR
          BX1    X1-X1
          JP     ANPX 
  
*         SET DIRECTIVES THAT ARE NOT APPLICABLE TO QALTER OPTION.
  
 ANP4     SA2    FPNM 
          SA4    PINB 
          SX2    X2-FNFN
          SX4    X4-AROP
          NZ     X2,ANPX     IF NOT QALTER
          NZ     X4,ANPX     IF NO *OP* DIRECTIVE 
          SA3    TARG+ARFC
          NG     X3,ANPX     IF COMMAND CALL
          RJ     SPD         SET PROCESSED DATA 
          BX6    X6-X6       CLEAR ARGUMENT TABLE ENTRY 
          SA6    PINB+2 
          SB6    -B1
 ANP5     SB6    B6+B1       ADVANCE TABLE INDEX
          BX6    X6-X6
          SA1    TODD+B6
          NZ     X1,ANP6     IF NOT END OF TABLE
          SA6    PINB+1 
          EQ     ANPX        RETURN 
  
 ANP6     SA2    TARG+AROP
          BX6    X1 
          SA6    PINB 
          SB3    X2 
          LX1    B3 
          SA2    BLKS 
          PL     X1,ANP7     IF ENTRY TO BE CLEARED 
          SA2    ANPA 
  
 ANP7     BX6    X2 
          SA6    PINB+1 
          RJ     SPD         SET PROCESSED DATA 
          EQ     ANP5        CHECK NEXT TABLE ENTRY 
  
 ANPA     VFD    60/10H  -N/A-
 TODD     SPACE  4,15 
**        TODD - TABLE OF DEPENDENT DIRECTIVES. 
* 
*         1/E,1/B,1/N,1/,1/P,19/0,18/0,18/ARIN
* 
*         IF THE FOLLOWING BITS ARE SET, AN -N/A- WILL BE DISPLAYED 
*         FOR THE DIRECTIVE. OTHERWISE, THAT DIRECTIVE WILL BE
*         CLEARED.
*                E - ALTER TO REMOTE BATCH OPTION.
*                B - ALTER TO LOCAL BATCH OPTION
*                N - DO NOT ALTER FILE DESTINATION OPTION.
*                P - PURGE OPTION.
*         ARIN = ARGUMENT TABLE INDEX.
  
  
 TODD     BSS    0
          LOC    0
          VFD    1/0,1/1,1/0,1/0,1/1,37/0,18/ARND  *NDF*
          VFD    1/0,1/1,1/0,1/0,1/1,37/0,18/ARNU  *NUN*
          VFD    1/1,1/0,1/0,1/0,1/1,37/0,18/ARNI  *NID*
          VFD    1/0,1/0,1/0,1/0,1/1,37/0,18/ARNP  *NPR*
          VFD    1/0,1/0,1/0,1/0,1/1,37/0,18/ARNC  *NFC*
          CON    0
          LOC    *O 
 DNP      SPACE  4,14 
**        DNP - DEVICE NUMBER PROCESSOR.
* 
*         ENTRY  (PINB) = ARGUMENT TABLE INDEX. 
*                (PI) = FWA OF TABLE TO SEARCH. 
* 
*         EXIT   *PINB* BLOCK SET.
*                (X1) = 0, NO ERROR ENCOUNTERED.
*                (B3) = ADDRESS OF ERROR MESSAGE. 
* 
*         USES   X - ALL. 
*                A - 1, 2, 3, 4, 5, 6, 7. 
*                B - 2, 3, 5, 6, 7. 
* 
*         CALLS  ASC, DXB, COD, SET.
  
  
 DNP8     SX1    B1+         SET ERROR RETURN 
          SB3    ERDN        **** ERROR IN DEVICE NUMBER. 
  
 DNP      SUBR               ENTRY/EXIT 
  
*         CHECK IF FAMILY NAME ENTERED. 
  
          SB3    ERFN        **** FAMILY NAME MUST BE ENTERED.
          SA3    TARG+ARFM   GET FAMILY NAME
          SA1    FPNM 
          SX2    X1-FNQL
          ZR     X2,DNP1     IF QLOAD UTILITY 
          SX2    X1-FNQM
          NZ     X2,DNP2     IF NOT QMOVE UTILITY 
 DNP1     SA5    PINB 
          SX5    X5-ARDN
          ZR     X5,DNP2     IF *DN* SPECIFIED
          SA3    TARG+ARDF
          JP     DNP3 
  
 DNP2     ZR     X3,DNPX     IF ALL FAMILIES SPECIFIED
 DNP3     SX1    B1 
          IX3    X3+X1
          ZR     X3,DNPX     IF FAMILY NAME NOT ENTERED 
  
*         ASSEMBLE DEVICE NUMBER. 
  
          SA2    CS          SUPPRESS BLANKS
          MX1    0           ALLOW NO SPECIAL CHARACTERS
          BX6    X2 
          RJ     ASC         ASSEMBLE DEVICE NUMBER 
          ZR     X4,DNP8     IF NO PARAMETER
          SB6    B5-1R= 
          SB5    B5-1R- 
          LE     B5,B0,DNP8  IF INCORRECT SEPARATOR 
          ZR     B6,DNP8     IF INCORRECT SEPARATOR 
  
*         CHECK IF ALL DEVICES LEGAL. 
  
          SA1    PINB        GET ARGUMENT TABLE INDEX 
          SB6    X1-ARDD
          MX0    18 
          ZR     B6,DNP5     IF *DD* DIRECTIVE
          SA2    DNPA 
          PL     X2,DNP6     IF *DN=ALL* NOT ALLOWED
 DNP4     SA2    FMPA 
          BX2    X6-X2
          BX2    X0*X2
          NZ     X2,DNP6     IF *ALL* NOT SPECIFIED 
          SA5    FMPA        SET *PINB* BLOCK 
          BX6    X6-X6
          BX7    X5 
          SA7    PINB+1 
          SA6    A7+B1
          MX1    0           CLEAR ERROR RETURN 
          JP     DNPX 
  
*         PROCESS QLOAD *DD* DIRECTIVE. 
  
 DNP5     SA2    FPNM 
          SX3    X2-FNQL
          NZ     X3,DNP6     IF NOT QLOAD UTILITY 
          SA2    TARG+ARDF
          ZR     X2,DNP4     IF ALL FAMILIES SPECIFIED
  
*         PROCESS SPECIFIC DEVICE NUMBER. 
  
 DNP6     SB7    B0          SET OCTAL CONVERSION 
          BX5    X6 
          RJ     DXB
          NZ     X4,DNP8     IF ERROR 
          SX4    X6-100B
          PL     X4,DNP8     IF INCORRECT DEVICE NUMBER 
          BX5    X6          SAVE ARGUMENT VALUE
          BX1    X6          SET K-DISPLAY VALUE
          RJ     COD
          LX6    6           INSERT B 
          SX1    1RB-1R 
          IX6    X6+X1
          SB3    54 
          SB2    B3-B2
          LX6    B2,X6
          SA6    PINB+1 
  
*         VALIDATE FAMILY NAME AND DEVICE NUMBER. 
  
          LX5    12          VALIDATE DEVICE NUMBER 
          SA1    ARDF+TARG
          ZR     B6,DNP7     IF *DD* DIRECTIVE
          SA1    ARFM+TARG
 DNP7     BX6    X5+X1
          MX0    48 
          SA3    TEQP+NOPE-1 INITIALIZE *TEQP* SEARCH 
          RJ     SET
          NZ     X4,DNP8     IF NOT FOUND 
          LX5    36 
          SX3    A3          GET EST ORDINAL
          SX3    X3-TEQP
          BX7    X5+X3
          SA7    A6+B1       SET ARGUMENT TABLE VALUE IN *PINB* 
          BX1    X1-X1       CLEAR ERROR RETURN 
          JP     DNPX        RETURN 
  
 DNPA     CON    0
 ECP      SPACE  4,15 
**        ECP - EXTERNAL CHARACTERISTIC PROCESSOR.
* 
*         ENTRY  (PINB) = ARGUMENT TABLE INDEX. 
* 
*         EXIT   EXTERNAL CHARACTERISTIC PROCESSOR SET IN 
*                K-DISPLAY AND ARGUMENT TABLE.
*                (X1) = 0, NO ERROR ENCOUNTERED.
*                (B3) = FWA OF ERROR MESSAGE. 
* 
*         USES   X - 0, 1, 2, 3, 4, 5, 6. 
*                A - 2, 3, 5, 6.
*                B - 1, 3, 5, 6, 7. 
* 
*         CALLS  ASC, SET, SFN. 
  
  
 ECP2     SX1    B1+         SET ERROR RETURN 
          SB3    ERAD        **** ERROR IN ALPHANUMERIC DATA
  
 ECP      SUBR               ENTRY EXIT 
          SA2    CS          SUPPRESS BLANKS
          MX1    0           ALLOW NO SPECIAL CHARACTERS
          BX6    X2 
          RJ     ASC         ASSEMBLE CHARACTERS
          ZR     X4,ECP2     IF NO DATA 
          SB6    B5-1R= 
          SB5    B5-1R- 
          ZR     B6,ECP2     IF INCORRECT CHARACTER 
          LE     B5,ECP2     IF INCORRECT SEPARATOR 
          BX1    X6 
          MX0    42          SEARCH FOR TABLE ENTRY 
          SB7    B0 
 ECP1     SA5    TECA+B7
          ZR     X5,ECP2     IF NOT VALID 
          SB7    B7+B1
          SA3    X5          GET FWA-1 OF SEARCH TABLE
          RJ     SET
          ZR     X3,ECP1     IF NOT VALID ENTRY 
          BX6    -X0*X3 
          AX5    18 
          SB7    X5 
          LX6    B7,X6
          SA2    PINB        GET ARGUMENT TABLE VALUES
          SA2    X2+TARG
          MX0    -12
          LX0    B7,X0
          BX2    X0*X2
          BX6    X6+X2
          SA6    PINB+2      SET ARGUMENT TABLE VALUE 
          RJ     SFN
          SA6    PINB+1      SET K-DISPLAY VALUE
          BX1    X1-X1       CLEAR ERROR RETURN 
          EQ     ECPX        RETURN 
  
  
**        TABLE OF EXTERNAL CHARACTERISTIC ADDRESSES. 
* 
*T         24/ 0, 18/ SHIFT COUNT, 18/ ADDRESS OF SEARCH TABLE
  
  
 TECA     BSS    0
          VFD    24/0,18/48,18/TPLC-1  PLOT QUEUE 
          VFD    24/0,18/36,18/TPRC-1  PRINT QUEUE
          VFD    24/0,18/24,18/TPUC-1  PUNCH QUEUE
          VFD    60/0 
 FCP      SPACE  4,20 
**        FCP - FORMS CODE PROCESSOR. 
* 
*         ENTRY  (PINB) = ARGUMENT TABLE INDEX. 
* 
*         EXIT   *PINB* BLOCK SET.
*                (X1) = 0, IF NO ERROR ENCOUNTERED. 
*                (B3) = FWA OF ERROR MESSAGE. 
* 
*         USES   X - ALL. 
*                A - 1, 2, 6, 7.
*                B - 3, 5, 6, 7.
* 
*         CALLS  ASC, SFN.
  
  
 FCP5     SB3    ERAD        **** ERROR IN ALPHANUMERIC DATA. 
          SX1    B1+
  
 FCP      SUBR               ENTRY/EXIT 
          SA2    CS          SUPPRESS BLANKS
          SA1    FCPA        ALLOW *-*, * AND */* 
          BX6    X2 
          RJ     ASC         ASSEMBLE CHARACTERS
          ZR     X4,FCP5     IF NO DATA 
          SB7    B5-1R+ 
          SB6    B5-1R= 
          ZR     B7,FCP5     IF INCORRECT SEPARATOR 
          ZR     B6,FCP5     IF INCORRECT SEPARATOR 
  
*         SET K-DISPLAY ENTRY.
  
          BX1    X6 
          BX5    X6 
          RJ     SFN         SPACE FILL K-DISPLAY INPUT 
          SA6    PINB+1 
  
*         SET ARGUMENT TABLE ENTRY. 
  
          MX0    -12         FORMS CODE MASK
          MX1    -6          SEPARATOR MASK 
          SB5    B0+         RANGE FLAG 
          SB6    3           NUMBER OF FORMS CODES ALLOWED
          SB7    48          SHIFT COUNT
          SX7    B0+         CLEAR ASSEMBLY BUFFER
  
 FCP1     LX5    12          EXTRACT FORMS CODE 
          BX2    -X0*X5 
          ZR     X2,FCP5     IF NO FORMS CODE 
          SX3    X2-2R**
          SX4    7777B       PRESET NULL FORMS CODE 
          ZR     X3,FCP2     IF NULL FORMS CODE 
          BX4    -X1*X2      VALIDATE FORMS CODE
          BX3    X2-X4
          ZR     X4,FCP5     IF NO CHARACTER
          SX4    X4-1R9-1 
          SX3    X3-1R9*100B-100B 
          PL     X4,FCP5     IF INCORRECT CHARACTER 
          PL     X3,FCP5     IF INCORRECT CHARACTER 
          BX4    X2 
 FCP2     LX3    B7,X4       ENTER FORMS CODE IN ASSEMBLY REGISTER
          BX7    X3+X7
          SB6    B6-B1       DECREMENT NUMBER OF FORMS CODES LEFT 
          SB7    B7-12
          LT     B6,FCP5     IF TOO MANY FORMS CODES SPECIFIED
          LX5    6           CHECK SEPARATOR
          BX2    -X1*X5 
          ZR     X2,FCP3     IF END OF STRING 
          SX3    X2-1R/ 
          SX4    X2-1R- 
          ZR     X3,FCP1     IF PROCESSING LIST 
          NZ     X4,FCP5     IF INCORRECT SEPARATOR 
          SB6    B6-2 
          NZ     B6,FCP5     IF NOT FIRST FORMS CODE, RANGE NOT ALLOWED 
          SB5    B1          SET RANGE FLAG 
          SB6    B1          ALLOW ONE MORE FORMS CODE
          SX4    B1          SET RANGE FLAG 
          BX7    X4+X7
          EQ     FCP1        CHECK NEXT FORMS CODE
  
*         CHECK IF FORMS CODE TO BE CLEARED.
  
 FCP3     BX1    X1-X1       CLEAR ERROR RETURN 
          SA2    TARG+ARFR
          BX2    X2-X7
          NZ     X2,FCP4     IF NO MATCH
          RJ     SFN         SET K-DISPLAY VALUE
          SA6    PINB+1 
          SX7    B0+         SET ARGUMENT TABLE VALUE 
 FCP4     SA7    PINB+2      SET ARGUMENT TABLE VALUE 
          ZR     B5,FCPX     IF LIST SPECIFIED
          LX7    12          EXTRACT LOWER BOUND
          BX2    -X0*X7 
          LX7    12          EXTRACT UPPER BOUND
          BX3    -X0*X7 
          BX4    X2+X0
          ZR     X4,FCPX     IF NULL FORMS
          BX4    X3+X0
          ZR     X4,FCP5     IF NULL FORMS
          IX3    X3-X2
          PL     X3,FCPX     IF LOWER BOUND .LE. UPPER BOUND
          EQ     FCP5        ERROR EXIT 
  
  
 FCPA     BITCON (-,/,*)     ALLOW SPECIAL CHARACTERS 
 FMP      SPACE  4,12 
**        FMP - FAMILY NAME PROCESSOR.
* 
*         ENTRY  (PINB) = ARGUEMENT TABLE INDEX.
*                (PI) = FWA OF SEARCH TABLE.
* 
*         EXIT   FAMILY NAME PROCESSED AND SET IN K-DISPLAY.
*                DEVICE NUMBER LIST DISPLAYED.
*                (X1) = 0, NO ERROR ENCOUNTERED.
*                (B3) = ADDRESS OF ERROR MESSAGE. 
* 
*         USES   X - ALL. 
*                A - 1, 2, 3, 4, 5, 6, 7. 
*                B - 2, 3, 4, 5, 6, 7.
* 
*         CALLS  ASC, SET, SFN, SPD, COD, DDN.
  
  
 FMP11    SX1    B1+         SET ERROR RETURN 
          SB3    ERFM        **** ERROR IN FAMILY NAME. 
  
 FMP      SUBR               ENTRY/EXIT 
          SA2    CS          SUPPRESS BLANKS
          MX1    0           ALLOW NO SPECIAL CHARACTERS
          BX6    X2 
          RJ     ASC         ASSEMBLE FAMILY NAME 
          ZR     X4,FMP11    IF NO PARAMETER
          SB6    B5-1R= 
          SB5    B5-1R- 
          LE     B5,B0,FMP11 IF INCORRECT SEPARATOR 
          ZR     B6,FMP11    IF INCORRECT SEPARATOR 
          SX4    X4-8 
          PL     X4,FMP11    IF TOO MANY CHARACTERS 
  
*         PROCESS FAMILY NAME.
  
          SA6    DDNA+2      SET FAMILY NAME IN K-DISPLAY 
          BX1    X6          SET K-DISPLAY ENTRY IN *PINB*
          RJ     SFN
          SA6    PINB+1 
          SA4    PINB 
          SX2    X4-ARFU
          SX3    X4-ARDF
          ZR     X2,FMP2     IF *FU* DIRECTIVE ENTERED
          SX2    X4-ARTF
          ZR     X2,FMP2     IF *TF* DIRECTIVE ENTERED
          SA4    FPNM        SET CHECK FOR QMOVE UTILITY
          SX7    X4-FNQM
          ZR     X3,FMP1     IF *DF* DIRECTIVE ENTERED
          SX2    55B         CHECK *FM=ALL* LEGAL 
          SB2    59 
          SB5    X4 
          SB5    B2-B5
          LX7    B5,X2
          SA7    DNPA        SAVE RESULT FOR *DN=ALL* CHECK 
          PL     X7,FMP3     IF *FM=ALL* NOT LEGAL
  
 FMP1     ZR     X7,FMP3     IF QMOVE UTILITY *DF* DIRECTIVE
 FMP2     SA4    FMPB 
          BX2    X1-X4
          NZ     X2,FMP3     IF *ALL* NOT SPECIFIED 
          SX1    B0+
 FMP3     BX6    X1 
          SA6    PINB+2 
          MX0    42 
          SA3    PI 
          ZR     X3,FMP5     IF VALIDATION NOT REQUIRED 
          ZR     X1,FMP5     IF *ALL* SPECIFIED 
          SA3    X3-1 
          RJ     SET
          NZ     X4,FMP11    IF INCORRECT FAMILY NAME 
          SX7    A3          SAVE TABLE ENTRY ADDRESS 
          SA7    FMPC 
          SA5    A3-TEQP+TAMS  SEARCH FOR DEVICE WITH MOST TRACKS 
          SB2    X5+         STARTING TRACKS AVAILABLE
 FMP4     RJ     SET
          NZ     X4,FMP5     IF NO MORE DEVICES IN FAMILY 
          SA5    A3-TEQP+TAMS 
          SB3    X5 
          LE     B3,B2,FMP4  IF NOT MORE AVAILABLE TRACKS 
          SX7    A3          SET NEW TABLE ENTRY ADDRESS
          SA7    FMPC 
          EQ     FMP4        CONTINUE FAMILY SEARCH 
  
 FMP5     RJ     SPD         SET PROCESSED DATA IN DISPLAY
  
*         SET DEVICE NUMBER TO DEFAULT VALUES.
  
          SA5    PINB        DETERMINE TYPE OF DIRECTIVE
          SB6    X5-ARDF
          SB7    X5-ARFM
          SB5    ARDD        ASSUME *DD* DIRECTIVE TO BE SET
          ZR     B6,FMP6     IF *DF* DIRECTIVE
          BX1    X1-X1       CLEAR ERROR RETURN 
          NZ     B7,FMPX     IF NOT *FM* DIRECTIVE
          SA5    FPNM        FM DIRECTIVE ENTERED - DETERMINE UTILITY 
          SX1    X5-FNQR
          SX2    X5-FNQD
          SX7    X5-FNQM
          SB5    ARDN        SET *DN* DIRECTIVE 
          ZR     X1,FMP8     IF QREC UTILITY
          ZR     X2,FMP8     IF QDUMP UTILITY 
          ZR     X7,FMP8     IF QMOVE UTILITY 
          SX4    X5-FNFN
          SX1    X5-FNDT
          ZR     X4,FMP8     IF QFTLIST OR QALTER 
          ZR     X1,FMP10.1  IF DFTERM
  
*         SET SPECIFIC DEVICE NUMBER. 
  
 FMP6     SA5    FPNM        CHECK IF ALL DEVICES NECESSARY 
          SX7    X5-FNQL
          NZ     X7,FMP7     IF NOT QLOAD UTILITY 
          SA1    PINB+2 
          ZR     X1,FMP8     IF *DF=ALL* SPECIFIED
 FMP7     MX0    -18         PROCESS *DD* DIRECTIVE 
          SA4    FMPC        GET TABLE ENTRY ADDRESS
          SA5    X4 
          BX1    -X0*X5 
          AX1    12 
          BX5    X1 
          LX5    48          SET EST ORDINAL
          SX2    X4-TEQP
          BX5    X2+X5
          RJ     COD
          SB3    54 
          SB2    B3-B2
          LX6    6           INSERT B 
          SX1    1RB-1R 
          IX6    X1+X6
          LX6    B2,X6
          SX7    B5          SET ARGUMENT TABLE INDEX 
          JP     FMP10
  
*         SET DEVICE NUMBER TO ALL. 
  
 FMP8     SA4    FMPA        SET DEFAULT TO ALL 
          BX6    X4 
          SX5    B0 
          SX7    B5          SET ARGUMENT TABLE INDEX 
  
*         SET DEFAULT VALUES IN *PINB* BLOCK. 
  
 FMP10    SA7    PINB        SET ARGUMENT TABLE INDICES 
          SB6    X7-ARDN
          SA6    A7+B1       SET PRIMARY ENTRY IN *PINB*
          BX7    X5 
          SA7    A6+B1
          BX1    X1-X1       CLEAR ERROR RETURN 
          NE     B6,FMPX     IF NOT *FM* DIRECTIVE
          RJ     DDN         DISPLAY DEVICE NUMBER LIST 
          BX1    X1-X1       CLEAR ERROR RETURN 
          JP     FMPX 
  
*         SET DEFAULT TO ZERO.
  
 FMP10.1  SA4    FMPC        GET *TEQP* TABLE ENTRY ADDRESS 
          SA5    X4 
          LX5    59-2 
          NG     X5,FMP6     IF AUXILIARY DEVICE
          SA4    FMPD        SET DEFAULT TO ZERO
          SX5    B0 
          SX7    B5          SET ARGUMENT TABLE INDEX 
          BX6    X4 
          EQ     FMP10       PROCESS THE VALUE
  
  
 FMPA     DATA   10HALL 
 FMPB     DATA   3LALL
 FMPC     BSSZ   1           TABLE ENTRY ADDRESS
 FMPD     DATA   10H0 
 IFP      SPACE  4,20 
**        IFP - INPUT FILE PROCESSOR. 
* 
*         EXIT   INPUT FILE FET SET.
*                (X1) = 0, IF NO ERROR ENCOUNTERED. 
*                (B3) = FWA OF ERROR MESSAGE. 
* 
*         USES   X - 0, 1, 2, 3, 4, 6.
*                A - 2, 3, 6. 
*                B - 3, 5, 6. 
* 
*         CALLS  ASC, SET.
  
  
 IFP      SUBR               ENTRY/EXIT 
          SA2    CS          SUPPRESS BLANKS
          MX1    0
          BX6    X2 
          RJ     ASC         ASSEMBLE CHARACTERS
          SB3    ERAD        **** ERROR IN ALPHANUMERIC DATA. 
          SX1    B1+
          ZR     X4,IFPX     IF NO FILENAME 
          SX4    X4-8 
          PL     X4,IFPX     IF FILE NAME TOO LONG
          SB6    B5-1R= 
          SB5    B5-1R- 
          ZR     B6,IFPX     IF INCORRECT SEPARATOR 
          LE     B5,IFPX     IF INCORRECT SEPARATOR 
          SA3    TRFN-1 
          MX0    42 
          RJ     SET         SEARCH TABLE 
          SB3    ERFC        **** FILE NAME CONFLICT. 
          ZR     X4,IFPX     IF RESERVED FILE NAME
          BX6    X6+X1
          SA6    I
          MX6    59          DO NOT ALLOW *I* DIRECTIVE 
          SA6    TINE+TIII
          BX1    X1-X1       SET NO ERROR 
          EQ     IFPX        RETURN 
 JNP      SPACE  4,12 
**        JNP - JOB SEQUENCE NUMBER PROCESSOR.
* 
*         ENTRY  (PINB) = ARGUMENT TABLE INDEX. 
* 
*         EXIT   *PINB* BLOCK SET.
*                (X1) = 0, NO ERROR ENCOUNTERED.
*                (B3) = ADDRESS OF ERROR MESSAGE. 
* 
*         USES   X - 1, 2, 3, 6, 7. 
*                A - 2, 3, 6, 7.
*                B - 2, 3, 4, 5, 6. 
* 
*         CALLS  ASC, SFN.
  
  
 JNP5     SX1    B1+         SET ERROR RETURN 
          SB3    ERAD        **** ERROR IN ALPHANUMERIC DATA. 
  
 JNP      SUBR               ENTRY/EXIT 
          SA2    CS          SUPPRESS BLANKS
          MX1    0           ALLOW NO SPECIAL CHARACTERS
          MX0    24 
          BX6    X2 
          RJ     ASC         ASSEMBLE CHARACTERS
          ZR     X4,JNP5     IF NO PARAMETER
          SB6    B5-1R= 
          SB5    B5-1R- 
          ZR     B6,JNP5     IF INCORRECT SEPARATOR 
          LE     B5,JNP5     IF INCORRECT SEPARATOR 
          SB2    X4-4 
          GT     B2,JNP5     IF MORE THAN FOUR CHARACTERS 
          SB2    ARJNL       SET LENGTH OF JOB NAME LIST
          SB4    -1 
          SX1    1           PRESET ERROR RETURN
          SB3    ERJN        **** JOB SEQUENCE NUMBER LIST FULL 
 JNP1     SB2    B2-1 
          LT     B2,JNP3     IF END OF SEARCH 
          SA3    B2+TARG+ARJN  GET NEXT JOBNAME ENTRY 
          NZ     X3,JNP2     IF JSN PRESENT 
          SB4    B2+ARJN     SAVE ARGUMENT TABLE INDEX
          JP     JNP1 
  
 JNP2     BX1    X6-X3
          NZ     X1,JNP1     IF THIS JSN NOT TO BE CLEARED
          SX6    B2+ARJN     SET ARGUMENT TABLE INDEX IN *PINB* 
          SA6    PINB 
          BX6    X6-X6
          JP     JNP4 
  
 JNP3     LT     B4,JNPX     IF JSN LIST FULL 
          SX7    B4+         SET INDEX IN *PINB*
          SA7    PINB 
          BX1    X6 
 JNP4     RJ     SFN         SPACE FILL VALUE 
          SA6    PINB+1      SET K-DISPLAY
          BX6    X0*X6
          SA6    PINB+2      SET ARGUMENT VALUE 
          BX1    X1-X1       CLEAR ERROR RETURN 
          JP     JNPX        RETURN 
 LDP      SPACE  4,20 
**        LDP - LID PROCESSOR.
* 
*         ENTRY  (PINB) = ARGUMENT TABLE INDEX. 
* 
*         EXIT   LID PROCESSED AND SET IN *PINB*. 
*                (X1) = ZERO IF NO ERROR. 
*                (B3) = ADDRESS OF ERROR MESSAGE. 
*                *PINB* BLOCK SET.
* 
*         USES   X - 1, 2, 6. 
*                A - 2, 6.
*                B - 3, 5, 6. 
* 
*         CALLS  ASC, SFN.
* 
*         MACROS GETLIDA. 
  
  
 LDP      SUBR               ENTRY/EXIT 
          SX1    B0          ALLOW NO SPECIAL CHARACTERS
          SA2    CS          SUPPRESS BLANKS
          BX6    X2 
          RJ     ASC         ASSEMBLE LID 
          SB3    ERLD        **** SYNTAX ERROR IN LID.
          SX1    1R0
          ZR     X4,LDPX     IF NO PARAMETER
          SB6    B5-1R= 
          SB5    B5-1R- 
          LE     B5,B0,LDPX  IF INCORRECT SEPARATOR 
          ZR     B6,LDPX     IF INCORRECT SEPARATOR 
          BX2    X5-X1
          ZR     X2,LDP1     IF *LD*/*NLD* = *0* SPECIFIED
          SX2    X4-3 
          NZ     X2,LDPX     IF NOT 3 CHARACTERS
          SA2    PINB        CHECK IF *LD* DIRECTIVE
          SX2    X2-AROL
          ZR     X2,LDP1     IF *LD* DIRECTIVE
          SX1    B1          SET COMPLETE BIT 
          BX6    X1+X6
          SA6    LDPA        CHECK FOR *NLD* IN LID TABLE 
          GETLIDA  LDPA 
          SA2    LDPA 
          MX1    12 
          LX2    18 
          BX6    X1*X2
          SB3    ERNT        **** LID NOT IN TABLE. 
          ZR     X6,LDPX     IF *NLD* NOT IN LID TABLE
          SX6    X2          POSITION LID 
          LX6    -18
 LDP1     SA6    PINB+2      SET LID INTO *PINB* BLOCK
          BX1    X6 
          RJ     SFN         SPACE FILL LID 
          SA6    PINB+1      SET K-DISPLAY VALUE
          SX1    B0+         SET NO ERROR 
          EQ     LDPX        RETURN 
  
 LDPA     CON    0           LID
 MIP      SPACE  4,15 
**        MIP - MACHINE INDEX PROCESSOR.
* 
*         ENTRY  (PINB) = ARGUMENT TABLE INDEX. 
*                (PI) = NUMBER OF CHARACTERS + 1 ALLOWED. 
* 
*         EXIT   *PINB* BLOCK SET.
*                (X1) = 0, NO ERROR ENCOUNTERED.
*                (B3) = FWA OF ERROR MESSAGE. 
* 
*         USES   X - 1, 2, 4, 6.
*                A - 1, 2, 6. 
*                B - 3, 5, 6. 
* 
*         CALLS  ASC, SFN.
  
  
 MIP2     SX1    B1+
          SB3    ERAD        **** ERROR IN ALPHANUMERIC DATA. 
  
 MIP      SUBR               ENTRY/EXIT 
          SA2    CS          SUPPRESS BLANKS
          SA1    CF          ALLOW *
          BX6    X2 
          RJ     ASC         ASSEMBLE CHARACTERS
          ZR     X4,MIP2     IF NO DATA 
          SB6    B5-1R= 
          SB5    B5-1R- 
          LE     B5,MIP2     IF INCORRECT SEPERATOR 
          ZR     B6,MIP2     IF INCORRECT SEPERATOR 
          SA1    PINB 
          SX1    X1-ARMI
          NZ     X1,MIP0     IF NOT MACHINE ID PARAMETER
          SA2    FMPB 
          BX1    X2-X6
          NZ     X1,MIP0     IF NOT *MI=ALL*
          SA2    FMPA 
          BX6    X2 
          EQ     MIP1.1      SET MACHINE ID PARAMETER 
  
 MIP0     SA1    PI 
          IX4    X4-X1
          PL     X4,MIP2     IF TOO MANY CHARACTERS 
          SA1    PINB        GET ARGUMENT TABLE INDEX 
          SA1    TARG+X1
          BX1    X6-X1
          ZR     X1,MIP1     IF MATCH 
          BX1    X6          SET K-DISPLAY VALUE
 MIP1     RJ     SFN
 MIP1.1   SA6    PINB+1 
          BX6    X1          SET ARGUMENT TABLE INDEX 
          SA6    A6+B1
          MX1    0           CLEAR ERROR RETURN 
          JP     MIPX        RETURN 
 NKP      SPACE  4,8
**        NKP - INHIBIT K-DISPLAY INPUT.
* 
*         EXIT   (NK) .NE. 0, K-DISPLAY INPUT PROHIBITED. 
*                (X1) = 0, NO ERROR ENCOUNTERED.
* 
*         USES   X - 1, 2, 6. 
*                A - 2, 6.
  
  
 NKP      SUBR               ENTRY/EXIT 
          MX6    1           SET INHIBIT K-DISPLAY FLAG 
          BX1    X1-X1       CLEAR ERROR RETURN 
          SA6    N
          SA2    TARG+ARFC   SET NO K-DISPLAY INPUT FLAG
          BX6    X2+X6
          SA6    A2 
          JP     NKPX 
 NMP      SPACE  4,13 
**        NMP - NUMERIC DATA PROCESSOR. 
* 
*         ENTRY  (PINB) = ARGUMENT TABLE INDEX. 
*                (PI) = ADDRESS OF MAXIMUM VALUE. 
* 
*         EXIT   *PINB* BLOCK SET.
*                (X1) = 0, NO ERROR ENCOUNTERED.
*                (B3) = FWA OF ERROR MESSAGE. 
* 
*         USES   X - 1, 2, 3, 5, 6, 7.
*                A - 2, 6, 7. 
*                B - 3, 5, 6, 7.
* 
*         CALLS  ASC, DXB, CDD, COD.
  
  
 NMP      SUBR               ENTRY/EXIT 
          SA2    CS          SUPPRESS BLANKS
          MX1    0           ALLOW NO SPECIAL CHARACTERS
          BX6    X2 
          RJ     ASC
          ZR     X4,NMP4     IF NO PARAMETER
          SB6    B5-1R= 
          SB5    B5-1R- 
          ZR     B6,NMP4     IF INCORRECT SEPARATOR 
          LE     B5,NMP4     IF INCORRECT SEPARATOR 
          SA2    PINB 
          BX5    X6 
          SB2    B0+
 NMP1     SA3    TODR+B2     GET NEXT ENTRY 
          ZR     X3,NMP2     IF END OF TABLE - DECIMAL ENTRY
          BX6    X2-X3
          SB2    B2+B1
          NZ     X6,NMP1     IF NO MATCH
  
*         PROCESS OCTAL NUMERIC INPUT.
  
          SB7    B0 
          RJ     DXB
          NZ     X4,NMP4     IF INCORRECT ENTRY 
          BX5    X6          SAVE ARGUMENT TABLE ENTRY
          BX1    X6          SET K-DISPLAY ENTRY
          RJ     COD
          SX3    1RB-1R 
          EQ     NMP3 
  
*         PROCESS DECIMAL NUMERIC INPUT.
  
 NMP2     SB7    B1 
          RJ     DXB
          NZ     X4,NMP4     IF INCORRECT ENTRY 
          BX5    X6          SAVE ARGUMENT TABLE ENTRY
          BX1    X6 
          RJ     CDD
          SX3    1RD-1R 
 NMP3     LX6    6           INSERT RADIX CHARACTER 
          IX6    X3+X6
          SB5    54D
          SB5    B5-B2
          LX6    B5,X6
          SA6    PINB+1 
          BX7    X5 
          SA7    A6+B1
  
*         CHECK MAXIMUM VALUE OF DIRECTIVE. 
  
          SA2    PI 
          MX1    0           CLEAR ERROR RETURN 
          ZR     X2,NMP5     IF NO MAXIMUM VALUE
          SA2    X2          GET MAXIMUM VALUE
          IX3    X2-X7
          PL     X3,NMP5     IF BELOW MAXIMUM 
 NMP4     SX1    B1+
          SB3    ERND        **** ERROR IN NUMERIC DATA.
          JP     NMPX 
  
*         CHECK IF ENTRY TO BE CLEARED. 
  
 NMP5     SA2    PINB 
          SA1    TCPE-1 
 NMP6     SA1    A1+B1
          ZR     X1,NMPX     IF END OF TABLE
          BX1    X1-X2
          NZ     X1,NMP6     IF NO MATCH
          SA2    TARG+X2     SET CURRENT ARGUMENT TABLE ENTRY 
          MX0    1           SET FIELD SPECIFIED BIT
          BX7    X0+X7
          BX6    X7-X2
          SA7    A7 
          NZ     X6,NMPX     IF ENTRY NOT TO BE CLEARED 
          SA6    A7          CLEAR ENTRY
          RJ     SFN         SET BLANKS 
          SA6    A6-B1
          EQ     NMPX        RETURN 
  
  
 NMPA     CON    777B        MAXIMUM VALUE FOR *RC* DIRECTIVE 
 NMPB     CON    IDLM-1      MAXIMUM VALUE FOR *NID* DIRECTIVE
 NMPC     CON    7777B       MAXIMUM VALUE FOR *NPR* DIRECTIVE
 NMPD     CON    77B         MAXIMUM VALUE FOR *NRC* DIRECTIVE
  
  
**        TCPE - TABLE OF ENTRIES TO BE CLEARED IF PREVIOUSLY ENTERED.
* 
*         12/ ARG INDEX 
  
  
 TCPE     BSS    0
          LOC    0
          CON    ARNI        *NID*
          CON    ARNP        *NPR*
          CON    ARNR        *NRC*
          CON    0           END OF TABLE 
          LOC    *O 
  
  
**        TODR - TABLE OF OCTAL DIRECTIVES. 
* 
*         12/ ARG INDEX 
  
  
 TODR     BSS    0
          CON    ARNI        NID
          CON    ARNP        NPR
          CON    0
 NRP      SPACE  4,14 
**        NRP - NUMERIC RANGE PROCESSOR.
* 
*         ENTRY  (PI) = ADDRESS OF MAXIMUM VALUE FOR RANGE. 
*                (PINB) = ARGUMENT TABLE INDEX. 
* 
*         EXIT   *PINB* BLOCK SET.
*                (X1) = 0, NO ERROR ENCOUNTERED.
*                (B3) = FWA OF ERROR MESSAGE. 
* 
*         USES   X - 1, 2, 3, 4, 5, 6, 7. 
*                A - 1, 2, 6, 7.
*                B - 2, 3, 6, 7.
* 
*         CALLS  ASC, CDA, DXB, COD.
  
  
 NRP7     SX1    B1+         SET ERROR RETURN 
          SB3    ERTF        **** FAMILY FOR TERMINAL MUST BE ENTERED.
  
 NRP      SUBR               ENTRY/EXIT 
          SA1    PINB 
          SX1    X1-ARTI
          NZ     X1,NRP0     IF *TUI* NOT SPECIFIED 
          SA1    TARG+ARTF
          ZR     X1,NRP7     IF *TF* NOT SPECIFIED
  
*         PROCESS FIRST PARAMETER OF RANGE. 
  
 NRP0     SA2    CS          SUPPRESS BLANKS
          MX1    0           ALLOW NO SPECIAL CHARACTERS
          BX6    X2 
          RJ     ASC         ASSEMBLE CHARACTERS
          ZR     X4,NRP6     IF NO PARAMETER
          SB6    B5-1R- 
          SB7    B5-1R= 
          LT     B6,NRP6     IF INCORRECT SEPARATOR 
          ZR     B7,NRP6     IF INCORRECT SEPARATOR 
          SA1    PINB        SET ARGUMENT TABLE INDICES 
          SX2    X1+B1
          LX2    18 
          BX7    X2+X1
          SA7    A1 
          SX2    X1-ARDA
          NZ     X2,NRP1     IF NOT DATE DIRECTIVE
          SX7    B6          SAVE B6
          SA7    NRPD 
          RJ     CDA         CONVERT DATE 
          NZ     X1,NRPX     IF ERROR ENCOUNTERED 
          SA1    NRPD 
          SB6    X1 
          JP     NRP2 
  
 NRP1     BX5    X6          CONVERT ENTRY TO BINARY
          SB7    B0          ASSUME OCTAL CONVERSION
          RJ     DXB
          NZ     X4,NRP6     IF ERROR IN ASSEMBLY 
          BX5    X6          SAVE ARGUMENT TABLE VALUE
          BX1    X6          SET K-DISPLAY VALUE
          RJ     COD
          LX6    6
          SX2    1RB-1R 
          IX6    X6+X2
          SB3    54 
          SB2    B3-B2
          LX6    B2,X6
          BX7    X5 
 NRP2     SA6    PINB+1      SET *PINB* BLOCK 
          SA7    A6+B1
          SA6    A7+B1
          SA7    A6+B1
          BX1    X1-X1       CLEAR ERROR RETURN 
          NZ     B6,NRP5     IF NO SECOND PARAMETER 
  
*         PROCESS SECOND PARAMETER OF RANGE INPUT.
  
          SA2    CS          SUPPRESS BLANKS
          MX1    0           ALLOW NO SPECIAL CHARACTERS
          BX6    X2 
          RJ     ASC         ASSEMBLE CHARACTERS
          ZR     X4,NRP6     IF NO PARAMETER
          SB6    B5-1R- 
          SB7    B5-1R= 
          LT     B6,NRP6     IF INCORRECT SEPARATOR 
          ZR     B7,NRP6     IF INCORRECT SEPARATOR 
          SA2    PINB        DETERMINE DIRECTIVE BEING PROCESSED
          SX3    X2-ARDA
          NZ     X3,NRP3     IF NOT DATE DIRECTIVE
          RJ     CDA         CONVERT DATE 
          NZ     X1,NRPX     IF ERROR ENCOUNTERED 
          ZR     X7,NRP6     IF DA=YYMMDD-ALL 
          JP     NRP4 
  
 NRP3     BX5    X6          CONVERT ENTRY TO BINARY
          SB7    B0          ASSUME OCTAL CONVERSION
          RJ     DXB
          NZ     X4,NRP6     IF ERROR IN ASSEMBLY 
          BX5    X6          SAVE ARGUMENT TABLE VALUE
          BX1    X6          SET K-DISPLAY VALUE
          RJ     COD
          LX6    6
          SX2    1RB-1R 
          IX6    X6+X2
          SB3    54 
          SB2    B3-B2
          LX6    B2,X6
          BX7    X5 
 NRP4     SA6    PINB+3      SET SECONDARY VALUES IN *PINB* 
          SA7    A6+1 
  
*         VALIDATE RANGE ENTRIES. 
  
 NRP5     SA2    PI          GET MAXIMUM VALUE
          SA1    PINB+2 
          IX6    X7-X1
          BX1    X1-X1
          NG     X6,NRP6     IF LOWER BOUND .GT. UPPER BOUND
          ZR     X2,NRPX     IF NO USER LIMIT 
          SA2    X2 
          IX6    X2-X7
          PL     X6,NRPX     IF UPPER BOUND .LE. MAXIMUM VALUE
 NRP6     SX1    B1+         SET ERROR RETURN 
          SB3    ERIR        **** ERROR IN ID RANGE.
          SA2    PINB 
          SX3    X2-ARID
          ZR     X3,NRPX     IF ERROR IN ID RANGE 
          SB3    ERUI        **** ERROR IN USER INDEX.
          SX3    X2-ARUI
          ZR     X3,NRPX     IF ERROR IN UI RANGE 
          SB3    ERDA        **** ERROR IN DATE.
          SX3    X2-ARDA
          ZR     X3,NRPX     IF ERROR IN DATE RANGE 
          SB3    ERFS        **** ERROR IN FILE SIZE RANGE. 
          JP     NRPX 
  
  
 NRPA     CON    377777B     MAXIMUM USER INDEX 
 NRPB     CON    IDLM-1      MAXIMUM ID 
 NRPC     CON    777777B     MAXIMUM FILE SIZE
 NRPD     CON    0           DATE RANGE FLAG
 OTP      SPACE  4,12 
**        OTP - FILE DESTINATION - QUEUED FILE TYPE PROCESSOR.
* 
*         ENTRY  (PINB) = ARGUMENT TABLE INDEX. 
*                (PI) = FWA OF SEARCH TABLE.
* 
*         EXIT   *PINB* BLOCK SET.
*                (X1) = 0, NO ERROR ENCOUNTERED.
*                (B3) = ADDRESS OF ERROR MESSAGE. 
* 
*         USES   X - 0, 1, 2, 3, 4, 6, 7. 
*                A - 1, 2, 3, 4, 6, 7.
*                B - 2, 3, 4, 5, 6. 
* 
*         CALLS  ASC, SET.
  
  
 OTP7     SX1    B1+         SET ERROR RETURN 
          SB3    ERFT        **** ERROR IN SELECTED FILE TYPE 
  
 OTP      SUBR               ENTRY/EXIT 
          SA2    CS          SUPPRESS BLANKS
          MX1    0           ALLOW NO SPECIAL CHARACTERS
          BX6    X2 
          RJ     ASC         ASSEMBLE FILE TYPE 
          ZR     X4,OTP7     IF NO PARAMETER
          SB6    B5-1R= 
          SB5    B5-1R- 
          LE     B5,B0,OTP7  IF INCORRECT SEPARATOR 
          ZR     B6,OTP7     IF INCORRECT SEPARATOR 
          SA1    PINB        SET ARGUMENT TABLE INDEX 
          SX2    X1+B1
          SX3    X2+B1
          LX2    18 
          BX7    X2+X1
          LX3    36 
          BX7    X7+X3
          SA7    PINB 
          SA2    PI          GET SEARCH TABLE ADDRESS 
          BX7    X7-X7       PRESET ASSEMBLY BUFFER 
          MX0    42 
          SA7    PINB+4 
          SA7    PINB+6 
          SA3    X2-1 
          RJ     SET
          NZ     X4,OTP7     IF NOT VALID ENTRY 
          BX3    -X0*X3 
          LX3    42 
          CX6    X3 
          ZR     X6,OTP1     IF *NONE* SELECTED 
          SB5    X6 
          BX6    X3 
          SB4    NOQT        SET NUMBER OF QUEUES TO PROCESS
          EQ     B5,B4,OTP1  IF *ALL* SELECTED
          SA1    PINB        TOGGLE SELECTED TILE TYPE BIT
          SA4    X1+TARG
          BX6    X4-X3
 OTP1     SA6    PINB+2      SET ARGUMENT VALUE IN *PINB* 
          SB2    B1          SET FIRST UPDATE FLAG
          SB3    60 
          SX1    1R*
          SX2    1R-
          SX3    1R 
 OTP3     SB3    B3-6 
          LE     B3,OTP6     IF ASSEMBLY WORD FULL
          LX4    B3,X3       SET SPACE SEPARATOR
          BX7    X7+X4
          SB3    B3-6 
          LX4    B3,X3       PRESET SPACE 
          SB4    B4-B1
          PL     X6,OTP4     IF FILE TYPE NOT SELECTED
          LX4    B3,X1       SET FILE TYPE SELECTED 
          EQ     OTP5 
  
 OTP4     LT     B4,OTP5     IF NO MORE FILE TYPES
          LX4    B3,X2       SET FILE TYPE NOT SELECTED 
 OTP5     BX7    X7+X4
          LX6    B1,X6
          EQ     OTP3 
  
 OTP6     SA7    PINB+B2     SET K-DISPLAY ENTRY
          SB5    B2-3 
          SB2    B2+2 
          ZR     B5,OTP9     IF TERTIARY UPDATE TO BE DONE
          SB3    60 
          PL     B5,OTP8     IF UPDATE COMPLETE 
          BX7    X7-X7
          EQ     OTP3        PROCESS SECOND WORD
  
 OTP8     SX1    B0+         CLEAR ERROR RETURN 
          NG     X7,OTPX     IF ADJUSTMENT NOT NECESSARY
          LX7    36 
          SA7    A7 
          JP     OTPX 
  
 OTP9     SB3    24 
          BX7    X7-X7
          EQ     OTP3        PROCESS THIRD WORD 
          TITLE  COMMAND PROCESSORS.
 CLR      SPACE  4
**        CLR - CLEAR COMMAND PROCESSOR.
* 
*         EXIT   K-DISPLAYS SET TO ORIGINAL DISPLAYS. 
*                (X1) = 0, NO ERROR ENCOUNTERED.
* 
*         USES   X - 1, 2, 6, 7.
*                A - 1, 2, 6, 7.
  
  
 CLR      SUBR               ENTRY/EXIT 
          SA1    KPGH        RESTORE PAGE TABLE HEADER
          SA2    KIB         RESTORE K-DISPLAY STATUS WORD
          BX6    X1 
          BX7    X2 
          SA6    KPAG 
          SA7    KD 
          MX1    0           CLEAR ERROR RETURN 
          BX6    X6-X6       CLEAR K-DISPLAY LIST FLAG
          SA6    KLST 
          EQ     CLRX 
 ERF      SPACE  4,9
**        ERF - ERROR COMMAND PROCESSOR.
* 
*         EXIT   ERRORED FILE PROCESSING FLAG TOGGLED IN ARGUMENT 
*                TABLE AND STATUS TOGGLED ON *K* DISPLAY. 
*                (X1) = 0, NO ERROR ENCOUNTERED.
* 
*         USES   X - 0, 1, 2, 3, 4, 6, 7. 
*                A - 2, 3, 6, 7.
*                B - 4. 
* 
*         CALLS  GKA. 
  
  
 ERF      SUBR               ENTRY/EXIT 
  
*         CHECK IF ERRORED FILE PROCESSING NECESSARY. 
  
          SB4    TKER 
          RJ     GKA         GET K-DISPLAY ADDRESS
          SX4    X1 
          BX1    X1-X1       CLEAR ERROR RETURN 
          ZR     X4,ERFX     IF NO ERRORED FILE PROCESSING
  
*         TOGGLE STATUS IN ARGUMENT TABLE AND ON *K* DISPLAY. 
  
          SA3    TARG+ARFC   CHECK CURRENT STATUS 
          MX0    1
          LX0    57-59
          BX6    X0*X3
          LX6    0-57 
          SX7    B1 
          BX6    X6-X7
          SA2    ERFA+X6     GET *K* DISPLAY STATUS WORDS 
          LX6    57-0 
          SA3    A3 
          BX7    -X0*X3 
          BX6    X6+X7
          SA6    A3 
          BX7    X2          SET WORDS IN *K* DISPLAY 
          SA7    X4+
          JP     ERF         RETURN 
  
 ERFA     DATA   C*NOT SET)*
          DATA   C*SET)*
 FOP      SPACE  4,10 
**        FOP - FAMILY ORDINAL TABLE PROCESSOR. 
* 
*         EXIT   FAMILY ORDINAL TABLE FLAG SET IN ARGUMENT
*                TABLE. 
*                (X1) = 0, NO ERROR ENCOUNTERED.
* 
*         USES   X - 1, 2, 6. 
*                A - 1, 6.
  
  
 FOP      SUBR               ENTRY/EXIT 
          SX2    B1          SET *FOT* FLAG 
          SA1    TARG+ARFC
          LX2    56-0 
          BX6    X2+X1
          SA6    A1 
          BX1    X1-X1       CLEAR ERROR RETURN 
          JP     FOP         RETURN 
 IQP      SPACE  4,10 
**        IQP - INPUT QUEUE FILE PROCESSOR. 
* 
*         EXIT   INPUT FILE QUEUE PROCESSING FLAG SET IN ARGUMENT 
*                TABLE. 
*                (X1) = 0, NO ERROR ENCOUNTERED.
  
  
 IQP      SUBR               ENTRY/EXIT 
          SX2    B1          SET INPUT QUEUE PROCESSING FLAG
          SA1    TARG+ARFC
          LX2    53-0 
          BX6    X2+X1
          SA6    A1 
          BX1    X1-X1       CLEAR ERROR RETURN 
          JP     IQPX        RETURN 
 UQP      SPACE  4,10 
**        UQP - UNCONDITIONAL FILE PROCESSOR. 
* 
*         EXIT   UNCONDITIONAL PROCESSING FLAG SET IN ARGUMENT
*                TABLE. 
*                (X1) = 0, NO ERROR ENCOUNTERED.
  
  
 UQP      SUBR               ENTRY/EXIT 
          SX2    B1          SET UNCONDITIONAL PROCESSING FLAG
          SA1    TARG+ARFC
          LX2    52-0 
          BX6    X2+X1
          SA6    A1 
          SX1    B0+         CLEAR ERROR RETURN 
          JP     UQPX        RETURN 
 LST      SPACE  4,20 
**        LST - LIST COMMAND PROCESSOR. 
* 
*         ENTRY  (B5) = 0 IF *=* FOLLOWS *LIST* 
* 
*         EXIT   FNT ORDINAL SET IN ARGUMENT TABLE. 
* 
*         USES   X - 0, 1, 2, 5, 6. 
*                A - 1, 2, 6. 
*                B - 3, 5, 6, 7.
* 
*         CALLS  ASC, DXB, UCP. 
  
  
 LST2     SB3    ERID        **** ERROR IN IDENTIFIER.
          SX1    B1+
  
 LST      SUBR               ENTRY/EXIT 
          SA1    FPNM 
          SX1    X1-FNFN
          SX6    B0+         PRESET NO ORDINAL
          NZ     X1,LST1     IF NOT QFTLIST OR QALTER 
          NZ     B5,LST1     IF NO QFT ORDINAL SPECIFIED
          SA2    CS          SUPPRESS BLANKS
          MX1    0           ALLOW NO SPECIAL CHARACTERS
          BX6    X2 
          RJ     ASC         ASSEMBLE QFT ORDINAL 
          ZR     X4,LST2     IF NO ORDINAL
          SB6    B5-1R= 
          SB5    B5-1R- 
          LE     B5,LST2     IF INCORRECT SEPARATOR 
          ZR     B6,LST2     IF INCORRECT SEPARATOR 
          SB7    B0          SET OCTAL CONVERSION 
          BX5    X6 
          RJ     DXB         CONVERT QFT ORDINAL
          NZ     X4,LST2     IF ERROR IN CONVERSION 
 LST1     MX0    48 
          LX6    12 
          SA1    TARG+ARFC
          LX0    12 
          BX1    X0*X1
          BX6    X1+X6
          SA6    A1 
          SX6    B1+         SET K-DISPLAY LIST FLAG
          SA6    KLST 
          RJ     UCP         PROCESS COMMAND
          EQ     LSTX        RETURN 
 LTP      SPACE  4,10 
**        LTP - LID TABLE PROCESSOR.
* 
*         EXIT   LID TABLE FLAG SET IN ARGUMENT TABLE.
*                (X1) = 0, NO ERROR ENCOUNTERED.
* 
*         USES   X - 1, 2, 6. 
*                A - 1, 6.
  
  
 LTP      SUBR               ENTRY/EXIT 
          SA1    TARG+ARFC   SET LID TABLE FLAG 
          SX2    B1 
          LX2    54 
          BX6    X2+X1
          SA6    A1 
          SX1    B0+         SET NO ERROR 
          EQ     LTPX        RETURN 
 PGL      SPACE  4,10 
**        PGL - PAGE LEFT SCREEN COMMAND PROCESSOR. 
* 
*         EXIT   (KD) = FWA OF NEXT DISPLAY SET.
*                (X1) = 0, IF NO ERROR ENCOUNTERED. 
* 
*         USES   X - 1, 2, 3, 4.
*                A - 3. 
* 
*         CALLS  PGD. 
  
  
 PGL      SUBR               ENTRY/EXIT 
          SX1    KD          SET ENTRY CONDITIONS FOR *PGD* 
          SX2    KPAG 
          SA3    KCMD 
          SX4    B0+
          RJ     PGD         PAGE K-DISPLAY 
          BX1    X1-X1       CLEAR ERROR RETURN 
          EQ     PGLX        RETURN 
  
  
 PGD      HERE               SUBROUTINE FROM *COMCDCP*
 PGR      SPACE  4,15 
**        PGR - PAGE RIGHT SCREEN COMMAND PROCESSOR.
* 
*         EXIT   (KD) = FWA OF NEW DISPLAY IF PAGING INTENDED FOR 
*                       *QFSP*. 
*                (X1) = 0, IF NO ERROR ENCOUNTERED. 
*                (B3) = ADDRESS OF ERROR MESSAGE. 
*                TO *UCP* IF PAGING NOT INTENDED FOR *QFSP*.
* 
*         USES   X - 1, 2, 3, 4.
*                A - 1, 3.
*                B - 3. 
* 
*         CALLS  PGD, UCP.
  
  
 PGR1     SA1    FPNM 
          SX2    X1-FNDT
          SB3    ERPG        **** PAGING COMMAND IGNORED. 
          ZR     X2,PGRX     IF DFTERM UTILITY
          SA3    KCMD        CHECK FOR BACK PAGING COMMAND
          SX2    1R)
          MX4    6
          LX2    54 
          BX3    X3*X4
          BX3    X3-X2
          SX1    B1          SET ERROR ENCOUNTERED
          ZR     X3,PGRX     IF BACK PAGING COMMAND 
          BX1    X1-X1       CLEAR ERROR RETURN 
          RJ     UCP         PROCESS UTILITY COMMAND
  
 PGR      SUBR               ENTRY/EXIT 
          SA1    KLST 
          NZ     X1,PGR1     IF K-DISPLAY LIST IS ON RIGHT SCREEN 
          SX1    KD 
          SX2    KPAG 
          SA3    KCMD 
          SX4    B0+
          RJ     PGD         PAGE K-DISPLAY 
          BX1    X1-X1       CLEAR ERROR RETURN 
          EQ     PGRX        RETURN 
 POP      SPACE  4,15 
**        POP - PROCESS *PO* OPTION.
* 
*         ENTRY  (POPA) = BIT MASK OF LEGAL *PO* OPTIONS. 
* 
*         EXIT   OPTION SET IN ARGUMENT TABLE.
*                (X1) = 0, NO ERROR ENCOUNTERED.
*                (B3) = FWA OF ERROR MESSAGE. 
* 
*         USES   X - 0, 1, 2, 3, 6, 7.
*                A - 1, 2, 3. 
*                B - 2, 3, 5, 6, 7. 
* 
*         CALLS  AOC, ICE, SET. 
  
  
 POP3     NZ     B6,POPX     IF VALID SEPARATOR 
 POP4     SB3    ERAD        **** ERROR IN ALPHANUMERIC DATA
          SX1    B1+
  
 POP      SUBR               ENTRY/EXIT 
          SB6    B0          SET ERROR FLAG 
 POP1     SA2    CS          SUPPRESS BLANKS
          MX1    0           ALLOW NO SPECIAL CHARACTERS
          BX6    X2 
          RJ     AOC         ASSEMBLE CHARACTER 
          NZ     X6,POP2     IF ALPHANUMERIC CHARACTER
          SB2    B5-1R= 
          ZR     B2,POP4     IF INCORRECT SEPARATOR 
          SB2    B5-1R- 
          ZR     B2,POP4     IF INCORRECT SEPARATOR 
          SB2    B5-1R+ 
          ZR     B2,POP4     IF INCORRECT SEPARATOR 
          BX1    X1-X1       CLEAR ERROR RETURN 
          EQ     POP3        RETURN 
  
 POP2     SB6    B6+B1       CLEAR ERROR FLAG 
          SA3    TPOO-1 
          MX0    42 
          RJ     SET         SEARCH FOR LEGAL VALUE 
          ZR     X3,POP4     IF NOT FOUND 
          SB2    A3-TPOO     GET INDEX TO TABLE 
          SA1    POPA        DETERMINE IF LEGAL 
          LX2    X1,B2
          PL     X2,POP4     IF INCORRECT FOR UTILITY 
          MX0    1           ALLOW VALID CHARACTER ONLY ONCE
          SB2    B2-60
          AX0    B2          CIRCULAR LEFT SHIFT
          BX7    X1-X0
          SA7    A1 
          SB7    X3 
          RJ     ICE         PROCESS *PO* OPTION
          JP     POP1        PROCESS NEXT CHARACTER 
  
  
 POPA     CON    0           UTILITY MASK 
 TER      SPACE  4,6
**        TER - TERMINATE PROGRAM.
* 
*         ENTRY  NONE.
* 
*         EXIT   NONE.
* 
*         MACROS ENDRUN, MESSAGE. 
  
  
 TER      SUBR               ENTRY/EXIT 
          MESSAGE TERA       * QUEUED FILE UTLITY COMPLETE.*
          ENDRUN
  
  
 TERA     DIS    ,* QUEUE FILE UTILITY COMPLETE.* 
 RST      SPACE  4,14 
**        RST - RESET ARGUMENT TABLE AND K-DISPLAY TO DEFAULT VALUES. 
* 
*         ENTRY  DEFAULT TABLES SET TO APPROPRIATE VALUES.
* 
*         EXIT   ARGUMENT TABLE AND K-DISPLAY SET.
* 
*         USES   X - 0, 1, 2, 3, 6, 7.
*                A - 1, 2, 6, 7.
*                B - 6. 
* 
*         CALLS  BDT, ERF, SPD. 
  
  
 RST2     SA2    TARG+ARFC   CLEAR FLAGS
          MX0    5
          LX0    -1 
          BX6    -X0*X2 
          SA1    RSTA        SET OPPOSITE OF ERROR BIT DEFAULT
          SX7    B1 
          BX1    X1-X7
          LX1    57-0 
          BX6    X6+X1
          SA6    A2 
          RJ     ERF         TOGGLE ERROR STATUS
          SA2    FPNM 
          SX3    X2-FNDT
          NZ     X3,RSTX     IF NOT DFTERM
          SX1    SDAY        FIND RESIDENCE OF SYSTEM DAYFILE 
          RJ     DDR
          RJ     SPD         SET DAYFILE RESIDENCE IN TABLES
          BX6    X6-X6       SET NO K-DISPLAY UPDATE
          BX1    X1-X1       CLEAR ERROR RETURN 
          SA6    PINB+1 
  
 RST      SUBR               ENTRY/EXIT 
          RJ     BDT         BUILD DEVICE TABLE 
          SB6    TDFT 
 RST1     SA1    B6          MOVE DEFAULT VALUES TO *PINB* BLOCK
          SA2    A1+B1
          BX6    X1 
          BX7    X2 
          SA6    PINB 
          SA7    A6+1 
          ZR     X1,RST2     IF END OF TABLE
          SA1    A2+B1
          SA2    A1+B1
          BX6    X1 
          BX7    X2 
          SA1    A2+B1
          SA2    A1+B1
          SA6    A7+B1
          SA7    A6+B1
          BX6    X1 
          LX7    X2 
          SA6    A7+B1
          SA7    A6+B1
          SA1    A2+B1
          BX6    X1 
          SA6    A7+B1
          SB6    A1+B1
          RJ     SPD         SET DEFAULT VALUES 
          JP     RST1 
  
 RSTA     CON    0           ERROR FILE PROCESSING DEFAULT FLAG 
 RWD      SPACE  4,7
**        RWD - REWIND COMMAND PROCESSOR. 
* 
*         EXIT   REWIND FLAG SET IN ARGUMENT TABLE. 
*                (X1) = 0, NO ERROR ENCOUNTERED.
* 
*         USES   X - 1, 2, 6. 
*                A - 1, 6.
  
  
 RWD      SUBR               ENTRY/EXIT 
          SX2    B1          SET REWIND FLAG
          SA1    TARG+ARFC
          LX2    58-0 
          BX6    X2+X1
          SA6    A1+
          BX1    X1-X1       CLEAR ERROR RETURN 
          JP     RWD         RETURN 
 UCP      SPACE  4,14 
**        UCP - UTILITY COMMAND PROCESSOR.
* 
*         ENTRY  (PINB) = COMMAND NUMBER. 
* 
*         EXIT   UTILITY COMMAND COMPLETE.
*                DIRECTIVE VALUES RESET TO DEFAULT VALUES 
*                IF *GO* ENTERED. 
* 
*         USES   X - 0, 1, 2, 3, 5, 6.
*                A - 1, 2, 3, 6.
*                B - 3, 6, 7. 
* 
*         CALLS  BFB, ICE, IDE, RST.
*                (THE UTILITY OVERLAY IS ENTERED THROUGH THE *ICE*
*                CALL.) 
  
  
 UCP7     SX1    B1+         SET ERROR RETURN 
  
 UCP      SUBR               ENTRY/EXIT 
          SA3    TARG+ARFC
          MX0    -12
          BX3    -X0*X3 
          NZ     X3,UCP0     IF NOT *GO* COMMAND
          SA1    TARG+ARLA   CHECK SECURITY ACCESS LEVELS 
          SA2    TARG+ARUA
          MX0    1
          BX3    X1*X2
          BX6    X0*X3
          NZ     X6,UCP0     IF NO ACCESS LEVELS SELECTED 
          SB3    ERBR        **** LA AND UA BOTH REQUIRED.
          BX3    X1-X2
          BX6    X0*X3
          NZ     X6,UCP7     IF BOTH ACCESS LEVELS NOT SELECTED 
          IX3    X2-X1
          SB3    ERLA        **** LA VALUE LARGER THAN UA.
          NG     X3,UCP7     IF *LA* .LE. *UA*
 UCP0     SA1    FPNM        DETERMINE UTILITY
          SA3    PINB 
          SX3    X3-3 
          ZR     X3,UCP2     IF *OUT* COMMAND 
          SX2    X1-FNQM
          ZR     X2,UCP1     IF QMOVE UTILITY 
          SX2    X1-FNQL
          NZ     X2,UCP2     IF NOT QLOAD UTILITY 
          SA3    TOCEA       CHECK FOR *LIST* ON *GO* COMMAND 
          SX3    X3 
          AX3    6
          NZ     X3,UCP2     IF LDLIST UTILITY
 UCP1     SA2    TARG+ARDF
          SX2    X2+1 
          SB3    ERDF        **** DESTINATION FAMILY NOT SPECIFIED. 
          ZR     X2,UCP7     IF DESTINATION FAMILY NOT ENTERED
  
 UCP2     SA3    TARG+ARFC   SET COMMAND NUMBER IN *TARG* 
          MX0    48 
          BX3    X0*X3
          SA2    PINB 
          BX6    X2+X3
          SA6    A3 
          MX0    42          CHECK INPUT AND OUTPUT FILE NAMES
          SA2    I
          SA1    TARG+ARLL
          BX2    X2-X1
          BX2    X0*X2
          SB3    ERFC        **** FILENAME CONFLICT.
          ZR     X2,UCPX     IF FILE NAME CONFLICT
          SA1    ENUT        JUMP TO UTILITY OVERLAY
          SB7    X1 
          RJ     ICE         ENTER UTILITY OVERLAY
          SA1    TARG+ARFC   CHECK ERROR ON RETURN FLAG 
          SB3    X5          SAVE MESSAGE ADDRESS 
          LX1    59-55
          PL     X1,UCP2.1   IF NO ERROR
          RJ     IDE         ALLOW *K* DISPLAY INPUT
          SX5    B3+
          SX2    B0+         FORCE RIGHT SCREEN ADDRESS 
 UCP2.1   NG     X2,UCP4     IF NO RIGHT SCREEN ADDRESS 
          NZ     X2,UCP3     IF ADDRESS SPECIFIED 
          SA1    KPGH        RESET PAGE TABLE TO RIGHT SCREEN PAGE 1
          SA2    KPAG        GET CURRENT LEFT SCREEN PAGE INDEX 
          MX3    30 
          BX2    X3*X2
          BX1    -X3*X1 
          BX6    X1+X2
          SA6    A2 
          BX6    X6-X6       CLEAR K-DISPLAY LIST FLAG
          SA6    KLST 
          SX2    DSD         SET PRIMARY RIGHT SCREEN ADDRESS 
 UCP3     MX0    42          SET ADDRESS IN STATUS WORD 
          SA1    KD 
          LX0    18 
          LX2    18 
          BX1    X0*X1
          BX6    X2+X1
          SA6    A1 
 UCP4     ZR     X5,UCP6     IF NO K-DISPLAY MESSAGE
          PL     X5,UCP5     IF K-DISPLAY TO BE RESET 
          BX5    -X5
          SX6    B1          FLAG NO RESET
          SA6    PINB 
 UCP5     MOVE   4,X5,KMES   MOVE MESSAGE TO K-DISPLAY
          SX3    KMES 
          SB6    4
          RJ     BFB         BLANK FILL K-DISPLAY BUFFER WORDS
 UCP6     SA2    PINB 
          SX1    B0+         CLEAR ERROR RETURN 
          NZ     X2,UCPX     IF NO RESET DESIRED
          RJ     RST
          JP     UCPX        RETURN 
          TITLE  SUBROUTINES. 
 AOC      SPACE  4,15 
**        AOC - ASSEMBLE ONE CHARACTER. 
* 
*         ENTRY  (SP) = STRING BUFFER ADDRESS OF PREVIOUS CHARACTER.
*                (SL) = STRING BUFFER LIMIT POINTER.
*                (X1) = BIT STRING OF CHARACTER TO PERMIT.
*                (X6) = BIT STRING OF CHARACTER TO SUPPRESS.
* 
*         EXIT   (SP) = UPDATED STRING BUFFER ADDRESS.
*                (X5) = RIGHT-JUSTIFIED ASSEMBLED CHARACTER.
*                (X6) = LEFT JUSTIFIED ASSEMBLED CHARACTER. 
*                (B5) = SEPARATOR.
*                       0, IF CHARACTER ALPHANUMERIC. 
* 
*         USES   X - 1, 4, 5, 6.
*                A - 1, 4, 6. 
*                B - 1, 2, 3, 5, 7. 
  
  
 AOC3     SA4    SL          SET STRING BUFFER EMPTY
          SB2    X4+
          SB5    1R.         SET TERMINATOR 
 AOC4     SX6    B2 
          SA6    SP 
          SB2    59-5 
          LX6    X5,B2
  
 AOC      SUBR               ENTRY/EXIT 
          BX5    X5-X5
          SA1    SP          SET STRING BUFFER
          SB2    X1 
          SA1    SL          SET MAXIMUM CHARACTER SCAN 
          SB3    X1 
 AOC1     SB2    B2+B1
          GE     B2,B3,AOC3  IF END OF STRING BUFFER
          SA1    B2 
          SB5    X1          SET SEPARATOR
          SB7    X1-1R+ 
          LT     B7,AOC2     IF NOT SPECIAL CHARACTER 
          AX4    X6,B7
          LX4    59 
          NG     X4,AOC1     IF CHARACTER TO BE SUPPRESSED
          EQ     AOC4        PROCESS ERROR OR TERMINATOR
  
 AOC2     BX5    X5+X1
          SB5    B0          SET ALPHANUMERIC CHARACTER FLAG
          EQ     AOC4        SET TERMINATOR 
 ASC      SPACE  4
**        ASC - ASSEMBLE CHARACTERS.
* 
*         ENTRY  (SP) = STRING BUFFER ADDRESS OF PREVIOUS CHARACTER.
*                (SL) = STRING BUFFER LIMIT POINTER.
*                (X1) = BIT STRING OF CHARACTERS TO PERMIT. 
*                (X6) = BIT STRING OF CHARACTERS TO SUPPRESS. 
* 
*         EXIT   (SP) = UPDATED STRING BUFFER ADDRESS.
*                (X4) = NUMBER OF CHARACTERS ASSEMBLED. 
*                (X5) = RIGHT-JUSTIFIED ASSEMBLED CHARACTERS. 
*                (X6) = LEFT-JUSTIFIED ASSEMBLED CHARACTERS.
*                (B5) = SEPARATOR.
* 
*         USES   X - 1, 2, 3, 4, 5, 6, 7. 
*                A - 1, 4, 6. 
*                B - 2, 3, 4, 5, 7. 
  
  
 ASC3     SA4    SL          SET STRING BUFFER EMPTY
          SB2    X4+
          SB5    1R.         SET TERMINATOR 
 ASC4     SX4    10D
          SX3    B4 
          IX4    X4-X3
          SX6    B2 
          SA6    SP 
          BX6    X6-X6
          ZR     X4,ASCX     IF NO CHARACTERS ASSEMBLED 
          SX2    6
          IX3    X3*X2
          SB4    X3+
          LX6    X5,B4
  
 ASC      SUBR               ENTRY/EXIT 
          BX5    X5-X5
          SB4    10D
          BX7    X1 
          SA1    SP          SET STRING POINTER 
          SB2    X1+
          SA1    SL          SET MAXIMUM CHARACTER SCAN 
          SB3    X1+
 ASC1     SB2    B2+B1
          GE     B2,B3,ASC3  IF END OF STRING BUFFER
          SA1    B2 
          SB5    X1+         SET SEPARATOR
          SB7    X1-1R+ 
          LT     B7,ASC2     IF NOT SPECIAL CHARACTER 
          AX4    X6,B7
          LX4    59 
          NG     X4,ASC1     IF CHARACTER TO BE SUPPRESSED
          AX4    X7,B7
          LX4    59 
          PL     X4,ASC4     IF CHARACTER NOT TO BE PERMITTED 
 ASC2     LX5    6
          SB4    B4-1 
          BX5    X5+X1
          NE     B4,ASC1     IF MORE CHARACTERS TO ASSEMBLE 
          EQ     ASC4 
 BDT      SPACE  4,12 
**        BDT - BUILD DEVICE TABLE. 
* 
*         ENTRY  (BDTA) = *ESTP*. 
* 
*         EXIT   *TEQP* BUILT. (SEE *COMSQFS* FOR TABLE FORMAT) 
*                *TDAL* BUILT. (SEE *COMSQFS* FOR TABLE FORMAT) 
*                *TMSD* BUILT. (SEE *COMSQFS* FOR TABLE FORMAT) 
*                K-DISPLAY UPDATED. 
* 
*         USES   X - ALL. 
*                A - 1, 2, 3, 4, 5, 6, 7. 
*                B - 2, 3, 4, 5, 6, 7.
* 
*         CALLS  DDF, DDN.
* 
*         MACROS SYSTEM.
  
  
 BDT      SUBR               ENTRY/EXIT 
  
*         READ EST. 
  
          SA2    BDTA        SET *COMCRSB* ENTRY CONDITIONS 
          MX3    -12
          SX1    RSBB        SET ADDRESS TO TRANSFER TO 
          AX2    12 
          BX3    -X3*X2 
          AX2    24          SET ADDRESS TO TRANSFER FROM 
          SX7    X3 
          R=     X6,ESTE
          IX3    X3*X6       SET WORD COUNT 
          SX4    B0          SET SUBSYSTEM (= *CMR*)
          MX6    1
          SA6    X1 
          SA7    BDTB        SAVE LAST MASS STORAGE ORDINAL + 1 
          RJ     RSB=        READ EST 
  
*         READ MST,S AND BUILD DEVICE TABLE ENTRY FOR CURRENT DEVICE. 
  
          SA1    BDTB        SET NUMBER OF MASS STORAGE DEVICES 
          SB6    B0          CLEAR TABLE INDEX
          SB2    X1 
 BDT1     BX5    X5-X5       SET NON-SHARED DEVICE
          MX0    -6 
          SX1    B6 
          R=     X3,ESTE
          IX6    X1*X3
          SA2    X6+RSBB+EQAE  SET SECURITY ACCESS LEVEL LIMITS 
          LX2    -12
          BX7    -X0*X2 
          MX0    -12
          SA1    A2+EQDE-EQAE  GET NEXT EST ENTRY 
          BX3    -X0*X1      GET MST ADDRESS
          SX6    -B1         SET NON-MASS STORAGE DEVICE
          PL     X1,BDT10    IF NOT MASS STORAGE
          SA7    TDAL+B6     SET ACCESS LEVELS INTO TABLE 
          LX1    59-57
          PL     X1,BDT2     IF NOT SHARED DEVICE 
          SX5    B1 
 BDT2     LX1    57-54
          NG     X1,BDT10    IF DEVICE UNAVAILABLE
          LX1    54-49
          LX2    B1,X1
          BX1    X2*X1
          NG     X1,BDT10    IF DEVICE DOWN 
          LX3    21 
          SX2    MSTL        SET LENGTH OF MST
          LX2    36 
          BX1    X2+X3
          SX2    RSBC        SET BUFFER ADDRESS 
          BX6    X2+X1
          MX7    1           SET ABSOLUTE MEMORY READ 
          SA6    RSBS 
          SA7    RSBC 
          SYSTEM RSB,R,RSBS  READ MST 
          SA3    RSBC+TDGL   GET TRACKS AVAILABLE 
          MX6    -12
          BX6    -X6*X3 
          SA6    TAMS+B6
          SA3    FPNM        GET FUNCTION NAME
          SX3    X3-FNDT
          NZ     X3,BDT2.1   IF FUNCTION NOT *DFTERM* 
          SX2    B6 
          SA3    BDTF 
          LX2    36          SET EST ORDINAL IN PARAMETER WORD
          BX6    X3+X2
          SA6    A3+B1
          SYSTEM SFM,R,A6,RSDF*100B  READ DAYFILE POINTERS
 BDT2.1   SA3    RSBC+MDGL
          LX5    3           SET SHARED DEVICE BIT
          BX6    X5 
          PL     X3,BDT3     IF NOT REMOVABLE DEVICE
          SX5    B1+B1
          BX6    X6+X5
 BDT3     LX3    59-58
          MX0    -12
          SA2    BDTG 
          PL     X3,BDT4     IF NOT AUXILIARY DEVICE
          SX6    X6+4 
 BDT4     SA1    RSBC+ACGL   GET IQFT TRACK 
          LX1    -12
          BX4    -X0*X1 
          ZR     X4,BDT5     IF NO IQFT FILE PRESENT
          SX3    B1 
          BX6    X6+X3
  
*         DETERMINE RESIDENCE OF INACTIVE DAYFILES ON CURRENT DEVICE. 
  
 BDT5     LX2    12          GET SYSTEM DAYFILE FIRST TRACK 
          BX4    -X0*X2 
          LX2    12          GET ACCOUNT FILE FIRST TRACK 
          BX3    -X0*X2 
          LX2    12          GET ERRLOG DAYFILE FIRST TRACK 
          BX1    -X0*X2 
          LX2    12          GET MAINTENANCE LOG FIRST TRACK
          BX2    -X0*X2 
          ZR     X4,BDT6     IF NO SYSTEM DAYFILE 
          SX6    X6+2000B 
 BDT6     ZR     X3,BDT7     IF NO ACCOUNT FILE 
          SX6    X6+400B
 BDT7     ZR     X1,BDT8     IF NO ERRLOG FILE
          SX6    X6+100B
 BDT8     ZR     X2,BDT9     IF NO MAINTENANCE LOG FILE 
          SX6    X6+20B 
 BDT9     SA1    RSBC+PFGL   SET FAMILY NAME AND DEVICE NUMBER
          BX2    -X0*X1 
          BX1    X0*X1
          BX6    X1+X6
          NZ     X6,BDT10    IF NOT NULL FAMILY 
          SX6    -1          SET EQUIVALENT TO NON-MASS STORAGE 
 BDT10    SA6    TEQP+B6     SET ENTRY IN DEVICE TABLE
          NG     X6,BDT10.3  IF NON-MASS STORAGE
          MX0    -6 
          LX2    -6 
          BX7    -X0*X2      SAVE ACCESS LEVELS FROM MST
          SA7    TDAL+B6
          MX0    -3 
          BX6    -X0*X7      GET UPPER ACCESS LEVEL 
          AX7    3
          BX7    -X0*X7      GET LOWER ACCESS LEVEL 
          SA1    DVLL        GET CURRENT LIMITS 
          SA2    DVUL 
          IX1    X7-X1
          IX2    X2-X6
          NG     X1,BDT10.1  IF NEW LEVEL IS LOWER
          EQ     BDT10.2     CHECK UPPER LEVEL
  
 BDT10.1  SA7    A1+         SET NEW LOWER LEVEL LIMIT
 BDT10.2  PL     X2,BDT10.3  IF NEW LEVEL NOT HIGHER
          SA6    A2+         SET NEW UPPER LEVEL LIMIT
 BDT10.3  BX6    X6-X6       SET END OF TABLE 
          SA6    A6+B1
  
*         SET *TMSD* TABLE ENTRY FOR CURRENT DEVICE.
  
          MX0    42+8 
          SA2    RSBC+PUGL   SET USER NAME AND DEVICE MASK
          LX0    8
          BX2    X0*X2
          SA3    RSBC+DDLL   GET NUMBER OF UNITS IN DEVICE
          LX3    59-53
          AX3    54 
          SA1    RSBC+ACGL   GET ERROR IDLE STATUS
          LX3    12 
          MX7    1
          BX2    X2+X3
          LX1    59-4 
          BX1    X7*X1
          LX1    1+11 
          BX7    X1+X2
          SA7    TMSD+B6     SET ENTRY IN TABLE 
          SB6    B6+1        INCREMENT INDEX
          NE     B2,B6,BDT1  IF MORE MASS STORAGE DEVICES 
  
*         DETERMINE RESIDENCE OF ACTIVE DAYFILES. 
  
          SA3    FPNM        GET FUNCTION NAME
          SX3    X3-FNDT
          NZ     X3,BDT12    IF FUNCTION NOT *DFTERM* 
          SB4    EXDF        SET NUMBER OF EXCESS DAYFILES
          SA5    BDTC        SET FWA OF DAYFILE POINTERS
          SB6    4000B       SET MASK 
          SA3    BDTE        GET RSB STATUS WORD
          SB7    B0          SET INDEX
          BX6    X6-X6
  
 BDT11    LX7    X6,B1
          IX6    X7+X6
          IX6    X6+X5       SET DAYFILE STATUS WORD ADDRESS
          LX6    18 
          BX6    X6+X3
          MX7    1           SET ABSOLUTE MEMORY READ 
          SA6    RSBS 
          SA7    RSBC 
          SYSTEM RSB,R,RSBS  READ DAYFILE POINTER 
          MX0    -9          GET EST ORDINAL
          SA1    RSBC+2 
          LX1    12 
          BX2    -X0*X1 
          SA2    TEQP+X2     UPDATE EQUIPMENT TABLE 
          SX1    B6 
          SB5    B7+B7
          AX1    B5,X1
          BX6    X2+X1
          SA6    A2 
          SB7    B7+B1
          SX6    B7 
          NE     B7,B4,BDT11 IF MORE DAYFILES 
  
*         UPDATE K - DISPLAY HEADERS. 
  
          RJ     DDF         DISPLAY DAYFILE LIST 
 BDT12    RJ     DFN         DISPLAY FAMILY NAMES 
          JP     BDTX 
  
 BDTA     BSS    1           *ESTP* FROM CMR
 BDTB     CON    0           NUMBER OF MASS STORAGE DEVICES 
 BDTC     CON    0           FWA OF DAYFILE POINTERS
 BDTD     CON    0           NUMBER OF CONTROL POINTS 
 BDTE     VFD    24/3,18/0,18/RSBC  STATUS WORD FOR DAYFILE POINTERS
 BDTF     VFD    12/RDDF,12/0,12/1,6/0,18/BDTG  *RSDF* PARAMETER WORD 
          CON    0
          CON    0           END OF *SFM* PARAMETER BLOCK 
 BDTG     CON    0           DAYFILE FIRST TRACK POINTERS 
 BFB      SPACE  4,15 
**        BFB - BLANK FILL K-DISPLAY BUFFER WORDS.
* 
*         ENTRY  (X3) = STARTING ADDRESS IN K-DISPLAY BUFFER TO 
*                       BLANK FILL. 
*                (B6) = NUMBER OF WORDS TO BE BLANK FILLED. 
* 
*         EXIT   K-DISPLAY BUFFER WORDS ARE BLANK FILLED. 
* 
*         USES   X - 1, 6.
*                A - 1, 6.
*                B - 6. 
* 
*         CALLS  ZTB. 
  
  
 BFB      SUBR               ENTRY/EXIT 
          SA1    X3+
 BFB1     SA1    A1+1 
          RJ     ZTB         CONVERT ZEROS TO BLANKS
          SA6    A1 
          SB6    B6-B1
          GT     B6,BFB1     IF MORE WORDS TO BLANK FILL
          EQ     BFBX        RETURN 
 CDA      SPACE  4,14 
**        CDA - CONVERT DATE. 
* 
*         ENTRY  (X6) = ENTERED DATE. 
*                (B6) = 0, IF TWO DATES, SEPARATED BY A HYPHEN, ARE 
*                       SPECIFIED.
* 
*         EXIT   (X7) = PACKED 18 BIT DATE, RIGHT JUSTIFIED.
*                (X6) = DATE IN DISPLAY CODE. 
*                (X1) = 0, NO ERROR ENCOUNTERED.
*                (B3) = FWA OF ERROR MESSAGE. 
* 
*         USES   X - 1, 2, 5, 6, 7. 
*                A - 1, 5, 6. 
*                B - 3. 
* 
*         CALLS  VDT. 
  
  
 CDA1     SX1    B1+         SET ERROR RETURN 
          SB3    ERDA        **** ERROR IN DATE.
  
 CDA      SUBR               ENTRY/EXIT 
          SA6    CDAA        SAVE DATE
          SA5    FMPB        CHECK FOR *DA=ALL* 
          BX5    X5-X6
          NZ     X5,CDA0     IF NOT *DA=ALL*
          SA5    FMPA        SET EXIT CONDITIONS
          BX6    X5 
          BX7    X7-X7
          ZR     B6,CDA1     IF SECOND PARAMETER
          BX1    X1-X1
          EQ     CDAX        RETURN 
  
 CDA0     SA1    CDAA        CONVERT DATE 
          MX2    0
          RJ     VDT         VALIDATE AND CONVERT TO PACKED DATE
          NG     X6,CDA1     IF INCORRECT ENTRY 
          SA6    CDAA        SAVE PACKED DATE 
          EDATE  X6 
          SA1    CDAA 
          SX2    1R -1R.     REMOVE PERIOD
          IX6    X6+X2
          BX7    X1          PACKED DATE
          LX6    6
          BX1    X1-X1       CLEAR ERROR RETURN 
          JP     CDAX 
  
  
 CDAA     CON    0           DATE ENTRY 
 DDN      SPACE  4,14 
**        DDN - DISPLAY DEVICE NUMBERS. 
* 
*         ENTRY  (ARFM) SET TO SELECTED FAMILY
*                (FPNM) = FUNCTION PROCESSOR NUMBER.
* 
*         EXIT   DEVICE NUMBER LIST DISPLAYED.
* 
*         USES   X - ALL. 
*                A - 2, 3, 4, 5, 6, 7.
*                B - 4, 5, 6, 7.
* 
*         CALLS  COD, GKA, SFN. 
  
  
 DDN      SUBR               ENTRY/EXIT 
          SB4    TKDR 
          RJ     GKA         GET K-DISPLAY ADDRESS
          ZR     X1,DDNX     IF NO LIST NEEDED
          SA5    TARG+ARFM   GET FAMILY NAME
          ZR     X5,DDNX     IF NOT SPECIFIED 
          SA2    DDNA        CHANGE HEADER INFO 
          SA3    A2+B1
          SA4    A3+B1
          BX6    X2 
          BX7    X3 
          SA6    X1 
          SA7    A6+B1
          BX6    X4 
          SA6    A7+B1
          SB4    TKIN        SET FWA OF DISPLAY BUFFER
          RJ     GKA         GET K-DISPLAY ADDRESS
          SB7    X1+
          SB5    BUF         SET FWA STRING BUFFER
          SB6    B5          SET INDEX INTO STRING BUFFER 
          MX0    42 
          SA5    ARFM+TARG
          SA3    TEQP+NOPE-1 INITIALIZE *TEQP* SEARCH 
  
*         SET DEVICE NUMBERS IN STRING BUFFER.
  
 DDN1     SA3    A3+B1       GET NEXT DEVICE NUMBER 
          ZR     X3,DDN3     IF END OF TABLE
          SX4    B1 
          IX4    X4+X3
          ZR     X4,DDN1     IF NOT MASS STORAGE
          BX4    X5-X3
          BX4    X0*X4
          NZ     X4,DDN1     IF WRONG FAMILY
          LX3    59-0 
          PL     X3,DDN1     IF NO IQFT FILE
          LX3    1
          BX1    -X0*X3      GET DEVICE NUMBER
          AX1    12 
          SX1    X1+100B     INSURE LEADING ZERO
          RJ     COD
          MX1    -6 
          BX7    -X1*X6      SECOND CHARACTER 
          LX6    -6 
          BX6    -X1*X6      FIRST CHARACTER
          SA6    B6 
          SA7    A6+B1
          SX7    1R          SET SPACE
          SA7    A7+B1
          SB6    A7+B1       INCREMENT INDEX
          SB4    B6-BUF-BUFL*10D+2
          NG     B4,DDN1     IF MORE ROOM IN STRING BUFFER
  
*         SET DEVICE NUMBERS IN DISPLAY.
  
 DDN3     SB4    B7+BUFL     SET LWA+1 OF DISPLAY BUFFER
          SB5    BUF-1       SET FWA OF STRING BUFFER 
          SA5    BLKS        BLANK FILL DISPLAY BUFFER
          BX6    X5 
 DDN4     SB4    B4-B1
          SA6    B4 
          NE     B4,B7,DDN4  IF NOT BLANK FILLED
 DDN5     SB4    10 
          BX6    X6-X6
 DDN6     SB5    B5+B1
          EQ     B5,B6,DDN7  IF END OF STRING BUFFER
          SA2    B5          GET NEXT CHARACTER FROM STRING BUFFER
          LX6    6
          BX6    X6+X2
          SB4    B4-B1
          NE     B4,DDN6     IF MORE ROOM IN ASSEMBLY WORD
          SA6    B7 
          SB7    B7+B1
          EQ     DDN5        CONTINUE 
  
 DDN7     SX4    B4          SPACE FILL LAST WORD FOR DISPLAY 
          SX5    6
          IX4    X5*X4
          SB4    X4 
          LX1    B4,X6
          RJ     SFN
          SA6    B7 
          JP     DDNX 
  
 DDNA     DATA   21LDEVICES IN FAMILY - 
 DDF      SPACE  4,16 
**        DDF - DISPLAY DAYFILES. 
* 
*         ENTRY  (FPNM) = UTILITY PROCESSOR NUMBER. 
*                *TEQP* BUILT.
* 
*         EXIT   ACTIVE AND INACTIVE DAYFILES DISPLAYED ON
*                LEFT K-DISPLAY SCREEN. 
* 
*         NOTE - ONLY THREE INACTIVE DAYFILES CAN BE DISPLAYED. 
* 
*         USES   X - 0, 1, 2, 4, 5, 6, 7. 
*                A - 1, 2, 5, 6, 7. 
*                B - 2, 3, 5, 6, 7. 
* 
*         CALLS  SFN, COD.
* 
*         MACROS MOVE.
  
  
 DDF      SUBR               ENTRY/EXIT 
          SX6    B0+
          SA6    DDFA        FLAG ACTIVE DAYFILE SEARCH 
          SA5    TDDA        CLEAR CURRENT ENTRIES IN DISPLAY 
 DDF1     MOVE   3,ISBB,X5
          SA5    A5+1 
          NZ     X5,DDF1     IF NOT END OF TABLE
          SX0    6000B
          SB6    TDDA 
          SX6    6000B       INITIALIZE SEARCH FOR ACTIVE DAYFILES
          SB7    B0+
 DDF2     SA5    TEQP+NOPE-1 INITIALIZE *TEQP* SEARCH 
 DDF3     SA5    A5+B1       SEARCH EQUIPMENT TABLE 
          SX4    X5+B1
          ZR     X5,DDF5     IF END OF LIST 
          ZR     X4,DDF3     IF NOT MASS STORAGE EQUIPMENT
          BX4    X0*X5
          BX4    X6-X4
          NZ     X4,DDF3     IF NO DAYFILE FOUND
          SB5    X6          SAVE MASK
          MX2    42          GET FAMILY NAME
          BX1    X2*X5
          BX5    -X2*X5      GET DEVICE NUMBER
          RJ     SFN
          SA1    B7+TDNM     SET DAYFILE NAME IN DISPLAY
          BX7    X1 
          SA1    B6 
          ZR     X1,DDFX     IF NO MORE ROOM IN DISPLAY 
          SA7    X1+
          SA6    A7+B1       SET FAMILY NAME IN DISPLAY 
          SB6    B6+B1       INCREMENT INDEX
          BX1    X5          SET DEVICE NUMBER IN DISPLAY 
          AX1    12 
          RJ     COD
          SB3    54          INSERT B 
          SB2    B3-B2
          LX6    6
          SX1    1RB-1R 
          IX6    X6+X1
          LX6    B2,X6
          SA6    A6+B1
          SX6    B5          RESET MASK 
          SA2    DDFA 
          NZ     X2,DDF3     IF LISTING INACTIVE DAYFILES 
 DDF5     AX0    2           SET MASK FOR NEXT DAYFILE TYPES
          AX6    2
          SB7    B7+B1
          SX1    X0-14B 
          NZ     X1,DDF2     IF MORE DAYFILES 
          SA2    DDFA 
          NZ     X2,DDFX     IF ALL DAYFILES DISPLAYED
          SX6    2000B       INITIALIZE SEARCH FOR INACTIVE DAYFILES
          SX0    6000B
          SA6    A2          FLAG INACTIVE DAYFILE SEARCH 
          SB7    B0 
          SB6    TDDB 
          EQ     DDF2 
  
  
 DDFA     CON    0           INACTIVE DAYFILES DISPLAY FLAG 
  
  
 TDDA     BSS    0           ACTIVE DAYFILES
          CON    DFDY        ACTIVE SYSTEM DAYFILE
          CON    DFAC        ACTIVE ACCOUNT DAYFILE 
          CON    DFER        ACTIVE ERRLOG DAYFILE
          CON    DFML        ACTIVE MAINTENANCE LOG 
  
 TDDB     BSS    0           INACTIVE DAYFILES
          CON    DFDI        INACTIVE DAYFILE 
          CON    DFAI        INACTIVE DAYFILE 
          CON    DFEI        INACTIVE DAYFILE 
          CON    DFMI        INACTIVE DAYFILE 
          CON    0           END OF LIST
  
  
 TDNM     BSS    0
          VFD    60/10HDAYFILE
          VFD    60/10HACCOUNT
          VFD    60/10HERRLOG 
          VFD    60/10HMAINLOG
 DDR      SPACE  4,14 
**        DDR - DETERMINE DAYFILE RESIDENCE.
* 
*         ENTRY  (X1) = CODE FOR DAYFILE TYPE. (SEE COMSQFS). 
* 
*         EXIT   *PINB* BLOCK SET WITH FAMILY, AND DEVICE NUMBER ON 
*                WHICH SELECTED DAYFILE RESIDES.
* 
*         USES   X - 0, 1, 3, 5, 6, 7.
*                A - 1, 3, 6, 7.
*                B - 2,3, 5.
* 
*         CALLS  SET, SFN, COD. 
  
  
 DDR2     SA3    BLKS        FORCE *FM* INPUT FROM OPERATOR 
          SX7    -B1
          BX6    X3 
          SA6    A7+B1
          SA7    A6+B1
          SA6    A7+B1
          SA7    A6+B1
  
 DDR      SUBR               ENTRY/EXIT 
          LX1    B1,X1       BUILD MASK FOR SEARCH
          SX3    14B
          IX1    X3-X1
          SB2    X1+
          SA1    DDRA        SET FIRST WORD OF *PINB* 
          SX6    3
          BX7    X1 
          LX6    B2,X6
          SA7    PINB 
          SA3    TEQP+NOPE-1 INITIALIZE *TEQP* SEARCH 
          BX0    X6 
 DDR1     RJ     SET
          NZ     X4,DDR2     IF DAYFILE NOT FOUND 
          SX1    B1 
          IX1    X1+X3
          ZR     X1,DDR1     IF NOT MASS STORAGE
          SB5    A3-TEQP     SAVE EST ORDINAL 
          MX0    42          GET FAMILY NAME
          BX1    X0*X3
          BX5    -X0*X3      GET DEVICE NUMBER
          AX5    12 
          RJ     SFN         SPACE FILL FAMILY NAME 
          SA6    A7+B1
          BX6    X1 
          SA6    A6+B1
          BX1    X5 
          RJ     COD
          SB3    54          INSERT B 
          SB2    B3-B2
          LX6    6
          SX1    1RB-1R 
          IX6    X1+X6
          LX6    B2,X6
          SA6    A6+B1
          LX5    48 
          SX2    B5 
          IX6    X2+X5
          SA6    A6+B1
          JP     DDRX 
  
 DDRA     VFD    24/0,18/ARDN,18/ARFM 
 DFN      SPACE  4,14 
**        DFN - DISPLAY FAMILY NAME.
* 
*         ENTRY *TEQP* BUILT. 
* 
*         EXIT  FAMILY LIST DISPLAYED.
* 
*         USES   X - ALL. 
*                A - 2, 3, 4, 5, 6, 7.
*                B - 4, 5, 6, 7.
* 
*         CALLS  GKA, SET, SFN. 
  
  
 DFN      SUBR               ENTRY/EXIT 
          SB4    TKDR 
          RJ     GKA         GET K-DISPLAY ADDRESS
          ZR     X1,DFNX     IF FAMILY LIST NOT DISPLAYED 
          SA4    DFNA        MOVE HEADER INFORMATION TO DISPLAY 
          SA2    A4+B1
          SA3    A2+B1
          BX6    X4 
          BX7    X2 
          SA6    X1 
          SA7    A6+B1
          BX6    X3 
          SA6    A7+B1
          SB4    TKIN        SET FWA OF FAMILY LIST BUFFER
          RJ     GKA         GET K-DISPLAY ADDRESS
          SB6    X1+         SET FWA OF BUFFER
          SB5    B6+         SET INDEX
          SB7    B6+BUFL     SET LWA OF BUFFER
          BX6    X6-X6       SET END OF DISPLAY BUFFER
          MX0    42 
          SA6    B6+
          SA5    TEQP+NOPE   INITIALIZE *TEQP* SEARCH 
 DFN1     SX1    B1 
          IX3    X1+X5
          ZR     X5,DFN3     IF NOT MASS STORAGE DEVICE 
          BX1    X0*X5       GET FAMILY NAME
          LX5    59-0 
          PL     X5,DFN3     IF IQFT NOT PRESENT
          RJ     SFN         SPACE FILL FAMILY NAME 
          SA3    B6-B1       SEARCH FOR FAMILY NAME 
          RJ     SET
          ZR     X4,DFN3     IF ENTRY ALREADY DISPLAYED 
          SA6    B5          SET FAMILY NAME IN DISPLAY 
          SB5    B5+B1
 DFN3     SA5    A5+B1       GET NEXT FAMILY NAME 
          ZR     X5,DFN4     IF END OF DEVICES
          BX6    X6-X6       SET END OF DISPLAY 
          EQ     B5,B7,DFNX  IF END OF DISPLAY BUFFER 
          SA6    B5 
          EQ     DFN1 
  
 DFN4     SA5    BLKS        SPACE FILL END OF BUFFER 
          BX6    X5 
 DFN5     EQ     B5,B7,DFNX  IF END OF BUFFER 
          SA6    B5 
          SB5    B5+B1
          EQ     DFN5 
  
 DFNA     DATA   21LFAMILIES. 
 ICE      SPACE  4,12 
**        ICE - INDEXED CODE EXECUTION. 
* 
*         ENTRY  (B7) = SUBROUTINE ADDRESS. 
* 
*         EXIT   TO SUBROUTINE WITH RETURN ADDRESS SET. 
* 
*         USES   A - 1, 6.
*                B - NONE.
*                X - 1, 6.
  
  
 ICE      SUBR               ENTRY/EXIT 
          SA1    ICEX        SET RETURN ADDRESS 
          BX6    X1 
          SA6    B7 
          JP     B7+1        JUMP TO SUBROUTINE 
 IDE      SPACE  4,14 
**        IDE - INPUT DATA ERROR. 
* 
*         ENTRY  (B3) = ADDRESS OF ERROR MESSAGE. 
* 
*         EXIT   ERROR MESSAGE SET IN K-DISPLAY.
*                STRING BUFFER SET EMPTY. 
*                (N) = 0, ALLOW *K* DISPLAY INPUT.
* 
*         USES   X - 3, 5, 6. 
*                A - 5, 6.
*                B - 6. 
* 
*         CALLS  BFB. 
* 
*         MACROS ABORT, MESSAGE, MOVE.
  
  
 IDE      SUBR               ENTRY/EXIT 
          SA5    IDEA 
          ZR     X5,IDE1     IF K-DISPLAY ALLOWED 
          MESSAGE IDEB       * COMMAND ARGUMENT ERROR.* 
          ABORT 
  
 IDE1     BX6    X6-X6       ALLOW K-DISPLAY INPUT
          SA6    OPAM        CLEAR OPERATOR ACTION MESSAGE POINTER
          SX5    B3          MOVE ERROR MESSAGE TO K-DISPLAY
          SA6    N
          SA6    I           DO NOT READ INPUT FILE 
          MOVE   4,X5,KMES
          SX3    KMES        SPACE FILL K-DISPLAY ERROR MESSAGE 
          SB6    4
          RJ     BFB         BLANK FILL K-DISPLAY BUFFER WORDS
          SA5    SL          SET BUFFER EMPTY 
          BX6    X5 
          SA6    SP 
          JP     IDEX 
  
  
 IDEA     CON    0           K-DISPLAY ALLOWED FLAG 
 IDEB     DATA   C* COMMAND ARGUMENT ERROR.*
  
  
**        K - DISPLAY ERROR MESSAGES. 
  
  
 ERAC     DIS    4,**** ERROR IN ACCESS LEVEL.
 ERAD     DIS    4,**** ERROR IN ALPHANUMERIC DATA. 
 ERAL     DIS    4,**** ACCESS LEVEL OUT OF RANGE.
 ERBR     DIS    4,**** LA AND UA BOTH REQUIRED.
 ERDF     DIS    4,**** DESTINATION FAMILY NOT SPECIFIED. 
 ERDA     DIS    4,**** ERROR IN DATE.
 ERDN     DIS    4,**** ERROR IN DEVICE NUMBER. 
 ERFC     DIS    4,**** FILE NAME CONFLICT. 
 ERFM     DIS    4,**** ERROR IN FAMILY NAME. 
 ERFN     DIS    4,**** FAMILY NAME MUST BE ENTERED.
 ERFS     DIS    4,**** ERROR IN FILE SIZE RANGE. 
 ERFT     DIS    4,**** ERROR IN SELECTED FILE TYPE.
 ERID     DIS    4,**** ERROR IN IDENTIFIER.
 ERIE     DIS    4,**** INCORRECT ENTRY.
 ERIR     DIS    4,**** ERROR IN ID RANGE.
 ERJN     DIS    4,**** JSN LIST FULL.
 ERLA     DIS    4,**** LA VALUE LARGER THAN UA.
 ERLD     DIS    4,**** SYNTAX ERROR IN LID.
 ERNT     DIS    4,**** LID NOT IN TABLE. 
 ERND     DIS    4,**** ERROR IN NUMERIC DATA.
 ERPG     DIS    4,**** PAGING COMMAND IGNORED. 
 ERTF     DIS    4,**** FAMILY FOR TERMINAL MUST BE ENTERED.
 ERUA     DIS    4,**** UNKNOWN ACCESS LEVEL NAME.
 ERUI     DIS    4,**** ERROR IN USER INDEX RANGE.
 ISB      SPACE  4,14 
**        ISB - INPUT STRING BUFFER.
* 
*         ENTRY  (SP) = STRING BUFFER ADDRESS.
*                (SL) = STRING BUFFER LIMIT.
*                (NK) = K-DISPLAY INPUT FLAG. 
*                (KD) = K-DISPLAY STATUS WORD.
* 
*         EXIT   (SP) = UPDATED STRING BUFFER.
*                (SL) = LWA +1 OF STRING BUFFER.
* 
*         USES   X - 1, 4, 5, 6, 7. 
*                A - 1, 4, 5, 6, 7. 
*                B - 2. 
* 
*         CALLS  USB. 
* 
*         MACROS CONSOLE, MESSAGE, MOVE, READC, RECALL. 
  
  
 ISB      SUBR               ENTRY/EXIT 
          SA4    SP 
          SA5    SL 
          BX7    X5-X4
          NZ     X7,ISBX     IF BUFFER NOT EMPTY
          SA4    IDEA 
          NZ     X4,ISB1     IF NO K-DISPLAY ALLOWED
          CONSOLE KD
          SA1    FPNM 
          NG     X1,ISB3     IF INPUT FROM QFSP PRESET
          SA7    TINE+TIII
 ISB1     SA1    I
          ZR     X1,ISB2     IF NO ALTERNATE INPUT
          READC  I,KBUF,8    READ ALTERNATE DIRECTIVE INPUT 
          ZR     X1,ISB5     IF DATA READ 
          SA4    ISBC 
          BX7    X4 
          SA7    ISBA 
          BX7    X6-X6       INHIBIT *I* DIRECTIVE
          SA7    I
 ISB2     SA4    N
          NZ     X4,ISB4     IF K-DISPLAY INPUT NOT ALLOWED 
  
 ISB3     SA5    KBUF 
          NZ     X5,ISB5     IF INPUT ENTERED 
          RECALL
          EQ     ISB3 
  
 ISB4     SA5    ISBA 
          BX6    X5 
          SA6    KBUF 
          SA7    A6+B1
          SA7    TINE+TIII
 ISB5     MESSAGE KBUF,3,R   ENTER DIRECTIVE INTO CP DAYFILE
          MOVE   5,KBUF,KINP MOVE INPUT TO DISPLAY
          MOVE   4,ISBB,KMES CLEAR MESSAGE LINE 
          SB2    KBUF        MOVE INPUT TO STRING BUFFER
          RJ     USB
          SX6    X6+B1       SET LWA+1 OF CHARACTER STRING
          SA6    SL 
          BX6    X6-X6       CLEAR INPUT BUFFER 
          SB2    5
          SA6    TINE+TIII   ALLOW COMMANDS TO BE PROCESSED 
          SA6    KBUF 
 ISB6     SA6    A6+B1
          SB2    B2-B1
          NZ     B2,ISB6     IF NOT END OF BUFFER 
          SX7    B6-1        SET STRING POINTER ADDRESS 
          SA7    SP 
          EQ     ISBX 
  
 ISBA     VFD    60/8LGO,STOP.
 ISBB     DIS    4, 
 ISBC     VFD    60/0LSTOP. 
 USBB     BSS    NSCI+10     STRING BUFFER
 SET      SPACE  4,14 
**        SET - SEARCH ENTRY TABLE. 
* 
*         ENTRY  (X0) = SEARCH MASK.
*                (A3) = FWA-1 OF TABLE TO SEARCH. 
*                (X6) = SEARCH ELEMENT. 
* 
*         EXIT   (A3) = TABLE ADDRESS OF ENTRY. 
*                (X3) = TABLE ENTRY.
*                (X4) = 0, ENTRY FOUND. 
* 
*         USES   X - 3, 4.
*                A - 3. 
  
  
 SET      SUBR               ENTRY/EXIT 
 SET1     SA3    A3+B1
          SX4    B1          ASSUME ENTRY NOT FOUND 
          ZR     X3,SETX     IF END OF TABLE
          BX4    X6-X3
          BX4    X0*X4
          NZ     X4,SET1     IF NO MATCH
          EQ     SETX 
 SPD      SPACE  4,12 
**        SPD - SET PROCESSED DATA. 
* 
*         ENTRY  *PINB* SET WITH PROCESSED INPUT DATA.
* 
*         EXIT   ARGUMENT TABLE AND K-DISPLAY UPDATED.
* 
*         USES   X - 3, 4, 5, 6, 7. 
*                A - 3, 4, 5, 6, 7. 
*                B - 4. 
* 
*         CALLS  GKA. 
  
  
 SPD      SUBR               ENTRY/EXIT 
          SA5    PINB        GET ARGUMENT TABLE INDICES 
          SB4    X5+
          RJ     GKA         GET K-DISPLAY ADDRESS
          SA3    A5+1        SET PRIMARY K-DISPLAY VALUE
          SA4    A3+1        SET PRIMARY ARGUMENT TABLE VALUE 
          ZR     X1,SPD1     IF INCORRECT UPDATE
          BX6    X3 
          BX7    X4 
          SA6    X1+         UPDATE K-DISPLAY BUFFER
          SA7    X5+TARG
 SPD1     SA4    A4+B1       GET SECONDARY K-DISPLAY VALUE
          ZR     X4,SPDX     IF NO SECONDARY UPDATE 
          AX5    18 
          SB4    X5 
          RJ     GKA         GET K-DISPLAY ADDRESS
          ZR     X1,SPD2     IF INCORRECT UPDATE
          BX6    X4 
          SA3    A4+B1       GET SECONDARY ARGUMENT TABLE UPDATE
          BX7    X3 
          SA6    X1          UPDATE K-DISPLAY BUFFER
          SA7    X5+TARG
 SPD2     SA4    A4+2        GET TERTIARY K-DISPLAY VALUE 
          ZR     X4,SPDX     IF NO TERTIARY UPDATE
          AX5    18 
          SB4    X5 
          RJ     GKA         GET K-DISPLAY ADDRESS
          ZR     X1,SPDX     IF INCORRECT UPDATE
          BX6    X4 
          SA3    A4+B1       GET TERTIARY ARGUMENT TABLE UPDATE 
          BX7    X3 
          SA6    X1          UPDATE K-DISPLAY BUFFER
          SA7    X5+TARG
          EQ     SPDX 
 GKA      SPACE  4,15 
**        GKA - GET K-DISPLAY ADDRESS.
* 
*         ENTRY  (B4) = *TKLN* TABLE INDEX. 
*                (FPNM) = FUNCTION PROCESSOR NUMBER.
* 
*         EXIT   (X1) = K-DISPLAY ADDRESS OF ARGUMENT.
* 
*         USES   X - 1, 2, 3. 
*                A - 2, 3.
*                B - 3, 4.
  
  
 GKA      SUBR               ENTRY/EXIT 
          SA2    FPNM        CALCULATE SHIFT COUNT
          SB3    X2-3 
          SB4    B4+B4       *TKLN* TABLE ENTRIES ARE 2 WORDS LONG
          NG     B3,GKA1     IF IN FIRST WORD OF TABLE ENTRY
          SX2    B3 
          SB4    B4+1 
 GKA1     SA3    TKLN+B4     GET K-DISPLAY ADDRESS
          SX1    18          DETERMINE SHIFT COUNT
          IX2    X1*X2
          SB3    X2+18
          LX3    X3,B3
          SX1    X3          RETURN ADDRESS OF ARGUMENT 
          EQ     GKAX        RETURN 
          SPACE  4,6
**        COMMON DECKS. 
  
  
*CALL     COMCCDD 
*CALL     COMCCIO 
*CALL     COMCCOD 
*CALL     COMCCPM 
*CALL     COMCDXB 
*CALL     COMCEDT 
*CALL     COMCMVE 
*CALL     COMCOVL 
*CALL     COMCRDC 
*CALL     COMCRDW 
*CALL     COMCRSB 
*CALL     COMCSFM 
*CALL     COMCSFN 
*CALL     COMCSYS 
*CALL     COMCUSB 
*CALL     COMCVDT 
*CALL     COMCVLC 
*CALL     COMCZTB 
 DEFAULT  TITLE  DEFAULT VALUES.
**        TDFT - TABLE OF DEFAULT VALUES. 
* 
*         TABLE ENTRIES CONSIST OF SEVEN WORD BLOCKS. 
*         SEE *PINB* BLOCK DESCRIPTION FOR FORMAT OF BLOCK ENTRY. 
*         LAST BLOCK IN TABLE MUST BE FOLLOWED BY TWO ZERO WORDS. 
  
  
 TDFT     BSS    0
          VFD    24/0,18/ARDN,18/ARFM 
 TDFTA    VFD    60/0HALL                FAMILY FOR DEVICES 
          VFD    60/0 
          VFD    60/0HALL                DEVICE NUMBER
          VFD    60/0 
          VFD    60/0 
          VFD    60/0 
  
          VFD    24/0,18/ARDD,18/ARDF 
 TDFTB    VFD    60/10H                  DESTINATION FAMILY 
          VFD    60/-1
          VFD    60/10H                  DESTINATION DEVICE 
          VFD    60/-1
          VFD    60/0 
          VFD    60/0 
  
          VFD    24/0,18/ARD1,18/ARDA 
 TDFTC    VFD    60/10H00/00/00          DATE 
          VFD    60/1 
          VFD    60/0                    DATE 
          VFD    60/0 
          VFD    60/0 
          VFD    60/0 
  
          VFD    24/0,18/ARU1,18/ARUI 
          VFD    60/0H0B                 MINIMUM USER INDEX 
          VFD    60/0B
          VFD    60/0H377777B            MAXIMUM USER INDEX 
          VFD    60/377777B 
          VFD    60/0 
          VFD    60/0 
  
          VFD    24/0,18/ARL1,18/ARLA 
          VFD    60/10H                  LOWER SECURITY ACCESS LEVEL
          VFD    60/-1
          VFD    60/0 
          VFD    60/0 
          VFD    60/0 
          VFD    60/0 
  
          VFD    24/0,18/ARU2,18/ARUA 
          VFD    60/10H                  UPPER SECURITY ACCESS LEVEL
          VFD    60/-1
          VFD    60/0 
          VFD    60/0 
          VFD    60/0 
          VFD    60/0 
  
          VFD    24/0,18/ART1,18/ARTI 
          VFD    60/0H0B                 MINIMUM TUI VALUE
          VFD    60/0B
          VFD    60/0H377777B            MAXIMUM TUI VALUE
          VFD    60/377777B 
          VFD    60/0 
          VFD    60/0 
  
          VFD    24/0,18/0,18/ARTF
          VFD    60/10HALL               FAMILY FOR TERMINAL
          VFD    60/0B
          VFD    60/0                    OPEN 
          VFD    60/0 
          VFD    60/0 
          VFD    60/0 
  
          VFD    24/0,18/ARFU,18/ARLL 
          VFD    60/0HOUTPUT             FILE TO RECEIVE OUTPUT 
          VFD    60/0LOUTPUT
          VFD    60/10HALL               FAMILY FOR USER INDICES
          VFD    60/0B
          VFD    60/0 
          VFD    60/0 
  
          VFD    24/0,18/ARJ2,18/ARJN 
          VFD    60/10H                  JOB SEQUENCE NUMBER
          VFD    60/0 
          VFD    60/10H                  JOB SEQUENCE NUMBER
          VFD    60/0 
          VFD    60/0 
          VFD    60/0 
  
          VFD    24/0,18/ARJ4,18/ARJ3 
          VFD    60/10H                  JOB SEQUENCE NUMBER
          VFD    60/0 
          VFD    60/10H                  JOB SEQUENCE NUMBER
          VFD    60/0 
          VFD    60/0 
          VFD    60/0 
  
          VFD    24/0,18/ARJ5,18/ARID 
          VFD    60/0H0B                 MINIMUM ID 
          VFD    60/0 
          VFD    60/10H                  JOB SEQUENCE NUMBER
          VFD    60/0 
          VFD    60/0 
          VFD    60/0 
  
          VFD    6/0,18/ARB2,18/ARB1,18/ARBC
          VFD    60/10H * * * * *        BATCH FILE TYPES 
          VFD    12/7777B,48/0
          VFD    60/10H * * * * * 
          VFD    12/7777B,48/0
          VFD    60/10H * * 
          VFD    12/7777B,48/0
  
          VFD    6/0,18/ARR4,18/ARR3,18/ARRB
          VFD    60/10H * * * * *        REMOTE BATCH FILE TYPES
          VFD    12/7777B,48/0
          VFD    60/10H * * * * * 
          VFD    12/7777B,48/0
          VFD    60/10H * * 
          VFD    12/7777B,48/0
  
          VFD    24/0,18/ARTP,18/AROP 
 TDFTF    VFD    60/0HRI                 UTILITY OPTION 
          VFD    60/1 
          VFD    60/0HALL                TYPE 
          VFD    60/2 
          VFD    60/0 
          VFD    60/0 
  
  
          VFD    24/0,18/ARNF,18/ARSC 
          VFD    60/0H0D                 NUMBER OF QUEUE FILES TO SKIP
          VFD    60/0 
          VFD    60/0H0D                 NUMBER OF MEDIA FILES TO SKIP
          VFD    60/0 
          VFD    60/0 
          VFD    60/0 
  
          VFD    24/0,18/AROL,18/ARI1 
          VFD    60/0H67B                MAXIMUM ID 
          VFD    60/67B 
          VFD    60/10H                  OLD DESTINATION LID
          VFD    60/0 
          VFD    60/0 
          VFD    60/0 
  
          VFD    24/0,18/ARNL,18/ARFR 
 TDFTG    BSS    0
          VFD    60/10HALL               FORMS CODE 
          VFD    60/100B
          VFD    60/10H                  NEW DESTINATION LID
          VFD    60/0 
          VFD    60/0 
          VFD    60/0 
  
          VFD    24/0,18/ARFT,18/ARFN 
          VFD    60/10HQFILES            DUMP/LOAD FILE NAME
          VFD    60/0LQFILES
          VFD    60/0HDAYFILE            DAYFILE TYPE 
          VFD    60/SDAY
          VFD    60/0 
          VFD    60/0 
  
          VFD    24/0,18/ARMI,18/ARNM 
          VFD    60/10H                  DAYFILE NAME 
          VFD    60/0 
 TDFTH    VFD    60/10H                  MACHINE ID 
          VFD    60/0 
          VFD    60/0 
          VFD    60/0 
  
          VFD    24/0,18/ARF1,18/ARFS 
          VFD    60/0H0B                 MINIMUM FILE SIZE
          VFD    60/0 
          VFD    60/0H777777B            MAXIMUM FILE SIZE
          VFD    60/777777B 
          VFD    60/0 
          VFD    60/0 
  
          VFD    24/0,18/0,18/ARUN
          VFD    60/10H                  USER NAME
          VFD    60/0 
          VFD    60/0 
          VFD    60/0 
          VFD    60/0 
          VFD    60/0 
  
          VFD    24/0,18/ARLO,18/ARUJ 
          VFD    60/10H                  USER JOB NAME
          VFD    60/0 
          VFD    60/10HS                 LIST OPTION
          VFD    60/0 
          VFD    60/0 
          VFD    60/0 
  
          VFD    24/0,18/0,18/ARAL
          VFD    60/10H                  NEW ACCESS LEVEL 
          VFD    60/-1
          VFD    60/0 
          VFD    60/0 
          VFD    60/0 
          VFD    60/0 
  
          VFD    24/0,18/ARDC,18/ARNE 
          VFD    60/10H                  NEW EXTERNAL CHARACTERISTICS 
          VFD    60/0 
          VFD    60/10H                  NEW DEVICE CODE
          VFD    60/0 
          VFD    60/0 
          VFD    60/0 
  
          VFD    24/0,18/ARND,18/ARNU 
          VFD    60/10H                  NEW DESTINATION USER 
          VFD    60/0 
          VFD    60/10H                  NEW DESTINATION FAMILY 
          VFD    60/0 
          VFD    60/0 
          VFD    60/0 
  
          VFD    24/0,18/ARNI,18/ARNC 
          VFD    60/10H                  NEW FORMS CODE 
          VFD    60/0 
          VFD    60/10H                  NEW FILE ID
          VFD    60/0 
          VFD    60/0 
          VFD    60/0 
  
          VFD    24/0,18/ARNR,18/ARNP 
          VFD    60/10H                  NEW PRIORITY 
          VFD    60/0 
          VFD    60/10H                  NEW REPEAT COUNT 
          VFD    60/0 
          VFD    60/0 
          VFD    60/0 
  
  
          CON    0                       END OF TABLE 
          CON    0
          SPACE  4,8
**        BUFFER AREAS. 
  
  
 SSJ=     VFD    48/0,12/IRSI 
          BSS    SSJL-1 
 RSBA     VFD    12/0,12/1,18/QFTP,18/RSBB
  
*         VERIFY POSITIONS OF *DFPP*, *NCPL* AND *ESTP*.
  
          ERRPL  ESTP-DFPP-100B  *RSB* READ SIZE TOO LARGE
          ERRPL  NCPL-ESTP   *DFPP* .LT. *NCPL* .LT. *ESTP* REQUIRED
          ERRPL  DFPP-NCPL
  
          ERRNZ  IDLM-67B-1  *TDFT* AND K-DISPLAYS INCORRECT *ID* 
  
 RSBS     VFD    12/,12/ESTP-DFPP+1,18/DFPP,18/RSBB  (*PRS*)
*         VFD    12/,12/MSTL,18/MST FWA,18/RSBC  (*BDT* - MST READ) 
*         VFD    12/,12/3,18/DAYFILE PTR,18/RSBC  (*BDT* - DAYFILES)
 RSBB     BSS    ESMX*ESTE   EST BUFFER 
 RSBC     BSS    MSTL        BUFFER FOR MST 
 BUFL     EQU    5           WORDS IN DEVICE/FAMILY K-DISPLAY BUFFER
 BUF      BSSZ   BUFL*10     BUFFER FOR DEVICE NUMBERS
          TITLE  K-DISPLAY AREA.
**        DISPLAY AREA DATA.
  
  
 KIA      VFD    24/KBUF,18/0,18/DSA  *QFSP* CONTROL WORD 
 KIB      VFD    24/KBUF,18/DSD,18/DSA  CONTROL WORD FOR ALL OTHERS 
 KBUF     BSSZ   8           KEYBOARD INPUT BUFFER
  
*         PAGE TABLE. 
  
 KPAG     PAGT   DSA         FIRST PAGE LEFT SCREEN 
          PAGT   DSB         SECOND PAGE LEFT SCREEN
          PAGT   DSC         THIRD PAGE LEFT SCREEN 
          PAGT
          PAGT   DSD         FIRST PAGE RIGHT SCREEN
          PAGT   DSE         SECOND PAGE RIGHT SCREEN 
          PAGT   DSF         THIRD PAGE RIGHT SCREEN
          PAGT   DSG         FOURTH PAGE RIGHT SCREEN 
          PAGT   *
 KPGL     EQU    *-KPAG 
  
 KLST     CON    0           K-DISPLAY *LIST* IS IN EFFECT
 KPGH     BSSZ   1           HOLD INITIAL PAGE TABLE HEADER 
 KCMD     BSSZ   1           HOLD K-DISPLAY COMMAND FOR *PGL* AND *PGR* 
          NOREF  K
          TITLE  K-DISPLAY BUFFERS. 
*         MESSAGE BUFFER FOR ALL K-DISPLAY LEFT SCREENS.
  
 KMES     EQU    *+1         ERROR MESSAGE LINE 
  KDL 1,M,(                                        )
 KINP     EQU    *+1         KEYBOARD INPUT LINE
  KDL 1,I,(                                                  )
          CON    0           END OF K-DISPLAY BUFFER
  
*         FIRST PAGE LEFT SCREEN DISPLAY BUFFER.
  
 DSA      VFD    10/0,1/0,1/0,6/0,18/KTIT,24/0  CONTROL WORD
 DSAA     BSS    KLEN 
  
*         SECOND PAGE LEFT SCREEN DISPLAY BUFFER. 
  
 DSB      VFD    10/0,1/0,1/0,6/0,18/KTIT,24/0  CONTROL WORD
 DSBB     BSS    KLEN 
  
*         THIRD PAGE LEFT SCREEN DISPLAY BUFFER.
  
 DSC      VFD    10/0,1/0,1/0,6/0,18/KTIT,24/0  CONTROL WORD
 DSCC     BSS    KLEN 
          CON    0           END OF DISPLAY 
          TITLE  FIRST PAGE K-DISPLAY RIGHT SCREEN. 
*         FIRST PAGE RIGHT SCREEN DISPLAY BUFFER. 
  
 DSD      VFD    10/0,1/0,1/0,6/0,18/KTIT,24/0  CONTROL WORD
  KDL 1,T,(K DISPLAY COMMANDS)
  KDL 54,T,(PAGE 1 OF 4)
  KDL 1,K,(   GO      PROCEED WITH PROCESSING.) 
  KDL 1,K,(   OUT     RELEASE FILE SPECIFIED BY *L* PARAMETER TO PRINTER
,.) 
  KDL 1,K,(   RESET   RESET PARAMETERS TO DEFAULT VALUES.)
  KDL 1,H,(   STOP    TERMINATE INPUT, END RUN.)
  KDL 1,K,(   +       PAGE LEFT SCREEN FORWARD.)
  KDL 1,K,(   -       PAGE LEFT SCREEN BACKWARD.) 
          CODE   O
  KDL 1,K,(   [       PAGE RIGHT SCREEN FORWARD.) 
  KDL 1,K,(   ]       PAGE RIGHT SCREEN BACKWARD.)
          CODE   *
          CON    0           END OF DISPLAY 
          TITLE  SECOND PAGE K-DISPLAY RIGHT SCREEN.
*         SECOND PAGE RIGHT SCREEN DISPLAY BUFFER.
  
 DSE      VFD    10/0,1/0,1/0,6/0,18/KTIT,24/0  CONTROL WORD
  KDL 1,T,(K DISPLAY COMMANDS)
  KDL 54,T,(PAGE 2 OF 4)
  KDL 1,K,(  CLEAR    SET BOTH SCREENS TO FIRST PAGE OF K DISPLAY.) 
  KDL 1,K,(           (QREC, DFTERM, QFTLIST, QALTER).) 
  KDL 1,K,(  ERROR    TOGGLE STATUS OF ERRORED FILE PROCESSING.)
  KDL 1,K,(           (QDUMP, QLOAD, QMOVE).) 
  KDL 1,K,(  FAMILY   IF ENTERED, ENTRIES WILL BE MADE IN THE FOT FOR)
  KDL 12,K,(THE INACTIVE FAMILIES AND THE FILES WILL BE QUEUED.)
  KDL 1,H,(           (QREC, QLOAD, QMOVE).)
  KDL 1,K,(  LID      IF ENTERED, ENTRIES WILL BE MADE IN THE LID TABLE)
  KDL 12,K,(FOR THE INACTIVE LIDS AND THE FILES WILL BE QUEUED.)
  KDL 1,K,(           (QREC, QLOAD, QMOVE).)
  KDL 1,K,(  LIST     DISPLAY JSN-S OF ACTIVE/INACTIVE QUEUED FILES ON) 
  KDL 1,K,(           RIGHT SCREEN.  (QREC, DFTERM, QALTER, QFTLIST).)
  KDL 1,K,(  REWIND   IF ENTERED, DUMP/LOAD FILE WILL BE REWOUND WHEN)
  KDL 1,K,(           *GO* COMMAND IS ENTERED. (QDUMP AND QLOAD).)
          CON    0           END OF DISPLAY 
          TITLE  THIRD PAGE K-DISPLAY RIGHT SCREEN. 
*         THIRD PAGE RIGHT SCREEN DISPLAY BUFFER. 
  
 DSF      VFD    10/0,1/0,1/0,6/0,18/KTIT,24/0  CONTROL WORD
  KDL 1,T,(DIRECTIVE FORMATS) 
  KDL 54,T,(PAGE 3 OF 4)
  KDL 1,K,(   DA=YYMMDD           PROCESS THIS DATE ONLY.)
  KDL 1,K,(   DA=YYMMDD-YYMMDD    PROCESS ALL DATES IN SPECIFIED RANGE.)
  KDL 1,H,(   DA=ALL              PROCESS ALL DATES.) 
  KDL 1,K,(   UI=XXXXXX           PROCESS THIS USER INDEX ONLY.)
  KDL 4,H,(UI=XXXXXX-YYYYYY    PROCESS ALL INDICES IN SPECIFIED RANGE.) 
  KDL 1,K,(   TUI=XXXXXX          PROCESS THIS USER INDEX ONLY.)
  KDL 4,H,(TUI=XXXXXX-YYYYYY   PROCESS ALL INDICES IN SPECIFIED RANGE.) 
  KDL 1,K,(   FS=XXXXXX           PROCESS THIS FILE SIZE ONLY.) 
  KDL 1,K,(   FS=XXXXXX-YYYYYY    PROCESS ALL SIZES IN SPECIFIED RANGE.)
  KDL 1,H,(                       777777B INCLUDES ALL LARGER SIZES.) 
  KDL 1,K,(   ID=XX               PROCESS THIS ID ONLY.)
  KDL 1,H,(   ID=XX-YY            PROCESS ALL ID-S IN SPECIFIED RANGE.) 
  KDL 1,K,(   FC=F1               PROCESS THIS FORMS CODE ONLY).
  KDL 1,K,(   FC=F1/F2/F3         PROCESS ALL FORMS CODES IN LIST.) 
  KDL 1,K,(   FC=F1-F2            PROCESS ALL FORMS CODES IN THE RANGE.)
          CON    0           END OF DISPLAY 
          TITLE  FOURTH PAGE K-DISPLAY RIGHT SCREEN.
*         FOURTH PAGE RIGHT SCREEN DISPLAY BUFFER.
  
 DSG      VFD    10/0,1/0,1/0,6/0,18/KTIT,24/0  CONTROL WORD
  KDL 1,T,(DIRECTIVE FORMATS) 
  KDL 54,T,(PAGE 4 OF 4)
  KDL 1,H,(   DS=DT   FILE DESTINATION=DISPOSITION TYPE.) 
  KDL 1,H,(           DS     DESCRIPTION) 
  KDL 1,K,(           BC     BATCH.)
  KDL 1,H,(           RB     REMOTE BATCH.) 
  KDL 1,H,(           DT     DESCRIPTION       DT      DESCRIPTION) 
  KDL 1,K,(           IN     INPUT.            PU      PUNCH.)
  KDL 1,K,(           PL     PLOT.             PR      ANY PRINTER.)
  KDL 1,K,(           P2     512 PRINTER.      LR      580-12 PRINTER.) 
  KDL 1,K,(           LS     580-16 PRINTER.   LT      580-20 PRINTER.) 
  KDL 1,K,(           LX     5870 NIP.         LY      5970 NIP.) 
  KDL 12,K,(WT     WAIT QUEUE.       SF      SPECIAL QUEUE TYPES.)
  KDL 12,K,(ALL    ALL QUEUES.       PRINT   ALL PRINT QUEUES.) 
  KDL 1,K,(           NONE   NO QUEUES.)
          CON    0           END OF DISPLAY 
  
 DSYC     KDL    *           Y-COORDINATE TABLE 
          TITLE  OVERLAY DEFINITIONS AND CHECKS.
 OVL      EQU    OVLA        LOAD ADDRESS FOR OVERLAY 
 IBUF     EQU    *           INPUT BUFFER 
 CHK      EQU    IBUF+IBUFL 
          SPACE  4
**        THE FOLLOWING TESTS INSURE PROPER INTERFACE WITH QFSP AND 
*         ITS OVERLAYS. IF ANY TEST FAILS, THE APPROPRIATE VALUE
*         SHOULD BE UPDATED IN *COMSQFS*. 
  
  
          ERRNZ  TEQA-TEQP   FWA OF EQUIPMENT TABLE 
          ERRNZ  QFTA-QFT    QFT POINTER WORD ADDRESS 
          ERRNZ  DFPA-DFP    DAYFILE POINTER WORD ADDRESS 
          ERRNG  OVL-CHK     CHECK LOAD ADDRESS OF OVERLAY
          ERRNZ  TARA-TARG   FWA OF PROCESSED ARGUMENTS 
          ERRNZ  TMSA-TMSD   FWA OF MASS STORAGE DESCRIPTION TABLE
          ERRNZ  TDAA-TDAL   FWA OF DEVICE ACCESS LEVEL TABLE 
          ERRNZ  DVLA-DVLL   DEVICE ACCESS LEVEL LOWER LIMIT
          ERRNZ  DVUA-DVUL   DEVICE ACCESS LEVEL UPPER LIMIT
          ERRNZ  JACA-JACL   VALID JOB ACCESS LEVELS
          ERRNZ  SECA-SECR   SYSTEM SECURITY INFORMATION
          TITLE  QFSP K-DISPLAY.
**        DEPENDING ON THE UTILITY OPTION SELECTED, ONE OR MORE OF THE
*         FOLLOWING DISPLAYS WILL BE MOVED TO THE PERMANENT DISPLAY 
*         BUFFERS BY PRESET.
  
*         LEFT SCREEN *QFSP* K-DISPLAY. 
  
  
 DQSM     BSS    0
          LOC    DSAA 
  KDL 1,T,(                     QUEUED FILE SUPERVISOR) 
 K        SET    K+2
  KDL 1,H,(             ENTER K.UTILITY.) 
  KDL 1,H,(             UTILITY            DESCRIPTION) 
  KDL 1,K,(             QDUMP       QUEUED FILE DUMP PROCESSOR.)
  KDL 1,K,(             QLOAD       QUEUED FILE LOAD PROCESSOR.)
  KDL 1,K,(             QMOVE       QUEUED FILE MOVE PROCESSOR.)
  KDL 1,K,(             QREC        PROCESS QUEUED FILES.)
  KDL 1,K,(             DFTERM      TERMINATE DAYFILES.)
  KDL 1,K,(             QFTLIST     LIST ACTIVE QUEUED FILES.)
  KDL 1,K,(             QALTER      ALTER ACTIVE QUEUED FILES.) 
          VFD    12/7777B,30/0,18/KMES-1  K-DISPLAY CONTINUATION WORD 
          LOC    *O 
 DQSML    EQU    *-DQSM 
 DQSY     KDL    *           *QFSP* Y-COORDINATE TABLE
          TITLE  QDUMP K-DISPLAY LEFT SCREEN PAGE ONE.
*         FIRST PAGE LEFT SCREEN *QDUMP* K-DISPLAY. 
  
  
 DQDM     BSS    0
          LOC    DSAA 
  KDL 1,T,(QDUMP) 
  KDL 54,T,(PAGE 1 OF 3)
  KDL 1,,(INACTIVE QUEUES RESIDE ON FOLL) 
 DDDR     EQU    *+1
  KDL 31,K,(OWING FAMILIES.              )
 DDIN     EQU    *+1
  KDL 1,K,( 
 DDER     EQU    *+3
  KDL 20,H,(    (ERRORED FILE DUMPING SET)    ) 
  KDL 1,H,(    OPTION                      DESCRIPTION) 
 DDMI     EQU    *+1
  KDL 1,K,( MI =             MACHINE ID (1-2 CHARACTERS, *ALL*).) 
 DDFM     EQU    *+1
  KDL 1,K,( FM =             FAMILY FOR DEVICES (1-7 CHARACTERS).)
 DDDN     EQU    *+1
  KDL 1,K,( DN =             DEVICE NUMBER (0-77B, *ALL*).) 
 DDDA     EQU    *+1
  KDL 1,K,( DA =             DUMP DATE RANGE (YYMMDD, *ALL*).)
 DDD1     EQU    *+1
  KDL 1,H,(                  )
 DDOF     EQU    *+1
  KDL 1,K,( L =              FILE TO RECEIVE OUTPUT (1-7 CHARACTERS).)
 DDFN     EQU    *+1
  KDL 1,K,( FN =             DUMP FILE NAME (1-7 CHARACTERS).)
 DDNF     EQU    *+1
  KDL 1,K,( NF =             NUMBER OF MEDIA FILES TO SKIP.)
 DDTP     EQU    *+1
  KDL 1,K,( TP =             TYPE (A=ACTIVE, I=INACTIVE, *ALL*).) 
          VFD    12/7777B,30/0,18/KMES-1  K-DISPLAY CONTINUATION WORD 
          LOC    *O 
 DQDML    EQU    *-DQDM 
 DQDY     KDL    *           *QDUMP* Y-COORDINATE TABLE 
          TITLE  QLOAD K-DISPLAY LEFT SCREEN PAGE ONE.
*         FIRST PAGE LEFT SCREEN *QLOAD* K-DISPLAY. 
  
  
 DQLD     BSS    0
          LOC    DSAA 
  KDL 1,T,(QLOAD) 
  KDL 54,T,(PAGE 1 OF 3)
 DLER     EQU    *+3
  KDL 20,H,(    (ERRORED FILE LOADING NOT SET)) 
  KDL 1,H,(    OPTION                         DESCRIPTION)
 DLMI     EQU    *+1
  KDL 1,K,( MI =             MACHINE ID (1-2 CHARACTERS, *ALL*).) 
 DLDE     EQU    *+1
  KDL 1,K,( DF =             DESTINATION FAMILY (1-7 CHARACTERS).)
 DLDD     EQU    *+1
  KDL 1,K,( DD =             DESTINATION DEVICE (0-77B).) 
 DLDA     EQU    *+1
  KDL 1,K,( DA =             LOAD DATE RANGE (YYMMDD, *ALL*).)
 DLD1     EQU    *+1
  KDL 1,H,(                  )
 DLOF     EQU    *+1
  KDL 1,K,( L =              FILE TO RECEIVE OUTPUT (1-7 CHARACTERS).)
 DLFN     EQU    *+1
  KDL 1,K,( FN =             LOAD FILE NAME (1-7 CHARACTERS).)
 DLNF     EQU    *+1
  KDL 1,K,( NF =             NUMBER OF MEDIA FILES TO SKIP.)
 DLSC     EQU    *+1
  KDL 1,K,( SC =             NUMBER OF QUEUED FILES TO SKIP.) 
 DLOP     EQU    *+1
  KDL 1,K,( OP =             LOAD OPTION (A=LOAD/ACTIVATE,
  KDL 1,K,(                  I=LOAD/INACTIVATE).) 
          VFD    12/7777B,30/0,18/KMES-1  K-DISPLAY CONTINUATION WORD 
          LOC    *O 
 DQLDL    EQU    *-DQLD 
 DQLY     KDL    *           *QLOAD* Y-COORDINATE TABLE 
          TITLE  QMOVE K-DISPLAY LEFT SCREEN PAGE ONE.
*         FIRST PAGE LEFT SCREEN *QMOVE* K-DISPLAY. 
  
  
 DQMV     BSS    0
          LOC    DSAA 
  KDL 1,T,(QMOVE) 
  KDL 54,T,(PAGE 1 OF 3)
  KDL 1,,(INACTIVE QUEUES RESIDE ON FOLL) 
 DMDR     EQU    *+1
  KDL 31,K,(OWING FAMILIES.              )
 DMIN     EQU    *+1
  KDL 1,K,(                                                            )
 DMER     EQU    *+3
  KDL 20,H,(     (ERRORED FILE MOVING NOT SET)) 
  KDL 1,H,(    OPTION                        DESCRIPTION) 
 DMMI     EQU    *+1
  KDL 1,K,( MI =             MACHINE ID (1-2 CHARACTERS, *ALL*).) 
 DMFM     EQU    *+1
  KDL 1,K,( FM =             FAMILY FOR DEVICES (1-7 CHARACTERS).)
 DMDN     EQU    *+1
  KDL 1,K,( DN =             DEVICE NUMBER (0-77B, *ALL*).) 
 DMDF     EQU    *+1
  KDL 1,K,( DF =             DESTINATION FAMILY (1-7 CHARACTERS).)
 DMDD     EQU    *+1
  KDL 1,H,( DD =             DESTINATION DEVICE (0-77B).) 
 DMDA     EQU    *+1
  KDL 1,K,( DA =             DATE RANGE (YYMMDD, *ALL*).) 
 DMD1     EQU    *+1
  KDL 1,K,(                 ) 
 DMOF     EQU    *+1
  KDL 1,K,( L =              FILE TO RECEIVE OUTPUT (1-7 CHARACTERS).)
 DMTP     EQU    *+1
  KDL 1,K,( TP =             TYPE (A=ACTIVE, I=INACTIVE, *ALL*).) 
 DMOP     EQU    *+1
  KDL 1,K,( OP =             OPTION (A=LEAVE ACTIVE, I=LEAVE INACTIVE).)
          VFD    12/7777B,30/0,18/KMES-1  K-DISPLAY CONTINUATION WORD 
          LOC    *O 
 DQMVL    EQU    *-DQMV 
 DQMY     KDL    *           *QMOVE* Y-COORDINATE TABLE 
          TITLE  QREC K-DISPLAY LEFT SCREEN PAGE ONE. 
*         FIRST PAGE LEFT SCREEN *QREC* K-DISPLAY.
  
  
 DQRC     BSS    0
          LOC    DSAA 
  KDL 1,T,(QREC)
  KDL 54,T,(PAGE 1 OF 3)
  KDL 1,,(INACTIVE QUEUES RESIDE ON FOLL) 
 DQDR     EQU    *+1
  KDL 31,K,(OWING FAMILIES.              )
 DQIN     EQU    *+1
  KDL 1,H,(                                                        )
  KDL 1,H,(    OPTION                        DESCRIPTION) 
 DQMI     EQU    *+1
  KDL 2,K,(MI =             MACHINE ID (1-2 CHARACTERS, *ALL*).)
 DQFM     EQU    *+1
  KDL 2,K,(FM =             FAMILY FOR DEVICES (1-7 CHARACTERS).) 
 DQDN     EQU    *+1
  KDL 2,K,(DN =             DEVICE NUMBER (0-77B, *ALL*).)
 DQDA     EQU    *+1
  KDL 2,K,(DA =             QUEUED DATE RANGE (YYMMDD, *ALL*).) 
 DQD1     EQU    *+1
  KDL 2,K,(                )
 DQOF     EQU    *+1
  KDL 2,K,(L =              FILE TO RECEIVE OUTPUT (1-7 CHARACTERS).) 
 DQOP     EQU    *+1
  KDL 2,K,(OP =             PROCESS OPTION.)
  KDL 21,K,(DI = MAKE SELECTED ACTIVE FILES INACTIVE.)
  KDL 21,K,(PI = PURGE SELECTED INACTIVE FILES.)
  KDL 21,K,(RI = REQUEUE SELECTED INACTIVE FILES.)
  KDL 21,K,(RP = REQUEUE SELECTED INACTIVE FILES AND) 
  KDL 26,K,(PURGE REMAINING INACTIVE FILES.)
          VFD    12/7777B,30/0,18/KMES-1  K-DISPLAY CONTINUATION WORD 
          LOC    *O 
 DQRCL    EQU    *-DQRC 
 DQRY1    KDL    *           *QREC* Y-COORDINATE TABLE FOR PAGE ONE 
          TITLE  QREC K-DISPLAY LEFT SCREEN PAGE TWO. 
*         SECOND PAGE LEFT SCREEN *QREC* K-DISPLAY. 
*         THIS BUFFER IS ALSO USED FOR *QLOAD*, *QMOVE*, AND *QDUMP*. 
  
 DQRS     BSS    0
          LOC    DSBB 
 DQT2     EQU    *
  KDL 1,T,(QREC ) 
  KDL 54,T,(PAGE 2 OF 3)
  KDL 1,H,(    OPTION                         DESCRIPTION)
 DQFU     EQU    *+1
  KDL 2,K,(FU =              FAMILY FOR USER INDEX (1-7 CHARACTERS).) 
 DQUI     EQU    *+1
  KDL 2,K,(UI =              USER INDEX RANGE (0-377777B).) 
 DQU1     EQU    *+1
  KDL 2,K,(                )
 DQTF     EQU    *+1
  KDL 2,K,(TF =              FAMILY FOR TERMINAL (1-7 CHARACTERS).) 
 DQTI     EQU    *+1
  KDL 2,K,(TUI =             DESTINATION TERMINAL UI RANGE (0-377777B). 
 DQT1     EQU    *+1
  KDL 2,K,(                )
 DQFS     EQU    *+1
  KDL 2,K,(FS =              FILE SIZE RANGE IN PRU-S (0-777777B).) 
 DQF1     EQU    *+1
  KDL 2,K,(                )
 DQID     EQU    *+1
  KDL 2,K,(ID =              ID RANGE OF FILES TO PROCESS (0-67B).) 
 DQI1     EQU    *+1
  KDL 2,K,(                )
 DQFR     EQU    *+1
  KDL 2,K,(FC =              FORMS CODE (2 CHARACTERS OR **).)
 DQLA     EQU    *+1
  KDL 2,,(LA =              LOWER SECURI) 
 DQL1     EQU    *+1
  KDL 32,K,(TY ACCESS LEVEL (1-7 CHARACTERS).)
 DQUA     EQU    *+1
  KDL 2,,(UA =              UPPER SECURI) 
 DQU2     EQU    *+1
  KDL 32,K,(TY ACCESS LEVEL (1-7 CHARACTERS).)
 DQLI     EQU    *+1
  KDL 2,K,(LD =              DESTINATION LID (3 CHARACTERS).) 
          VFD    12/7777B,30/0,18/KMES-1  K-DISPLAY CONTINUATION WORD 
          LOC    *O 
 DQRSL    EQU    *-DQRS 
 DQRY2    KDL    *           *QREC* Y-COORDINATE TABLE FOR PAGE TWO 
          TITLE  QREC K-DISPLAY LEFT SCREEN PAGE THREE. 
*         THIRD PAGE LEFT SCREEN *QREC* K-DISPLAY.
*         THIS BUFFER IS ALSO USED FOR *QLOAD*, *QMOVE*, AND *QDUMP*
*         THIRD PAGES AND FOR SECOND PAGE OF *QALTER* AND *QFTLIST*.
  
 DQRT     BSS    0
          LOC    DSCC 
 DQT3     EQU    *
  KDL 1,T,(QREC   ) 
 DQPA     EQU    *
  KDL 54,T,(PAGE 3 OF 3)
  KDL 1,H,(   OPTION                          DESCRIPTION)
  KDL 1,K,( BC =  (DT)       DISPOSITION TYPE FOR LOCAL BATCH DEVICES.) 
  KDL 1,H,( RB =  (DT)       DISPOSITION TYPE FOR REMOTE BATCH DEVICES.)
  KDL 1,K,(                      S I P P P P L L L L L W) 
  KDL 1,K,(                      F N U L R 2 R S T X Y T) 
 DQBC     EQU    *+1
 DQB1     EQU    *+2
 DQB2     EQU    *+3
  KDL 16,K,(   BC  * * * * * * * * * * * *) 
 DQRB     EQU    *+1
 DQR3     EQU    *+2
 DQR4     EQU    *+3
  KDL 16,K,(   RB  * * * * * * * * * * * *) 
  KDL 1,K,(                  * = OPTION SELECTED.)
  KDL 1,H,(                  OPTION WILL BE CLEARED IF PREVIOUSLY SELECT
,ED.) 
 DQJN     EQU    *+1
  KDL 2,K,(JSN =            JOB SEQUENCE NAME (1-4 CHARACTERS).)
 DQJ2     EQU    *+1
  KDL 2,K,(                 JSN WILL BE CLEARED IF PREVIOUSLY ENTERED.) 
 DQJ3     EQU    *+1
  KDL 2,K,(              )
 DQJ4     EQU    *+1
  KDL 2,K,(              )
 DQJ5     EQU    *+1
  KDL 2,K,(              )
          VFD    12/7777B,30/0,18/KMES-1  K-DISPLAY CONTINUATION WORD 
          LOC    *O 
 DQRTL    EQU    *-DQRT 
 DQPA2    EQU    *
  KDL 54,T,(PAGE 2 OF 3)     *QALTER* PAGE NUMBER 
 DQPA3    EQU    *
  KDL 54,T,(PAGE 2 OF 2)     *QFTLIST* PAGE NUMBER
  
*         TITLE LINES.
  
 QDTI     KDL    1,T,(QDUMP  )
 QLTI     KDL    1,T,(QLOAD  )
 QMTI     KDL    1,T,(QMOVE  )
 QATI     KDL    1,T,(QALTER )
 QFTI     KDL    1,T,(QFTLIST)
  
 DQRY3    KDL    *           *QREC* Y-COORDINATE TABLE FOR PAGE THREE 
          TITLE  DFTERM K-DISPLAY LEFT SCREEN.
*         LEFT SCREEN *DFTERM* K-DISPLAY. 
  
  
 DDDF     BSS    0
          LOC    DSAA 
  KDL 1,T,(                             DFTERM) 
  KDL 1,K,(      ---ACTIVE DAYFILES----        --INACTIVE DAYFILES---)
  KDL 1,K,(      TYPE      FAMILY    DN        TYPE      FAMILY    DN)
 DFDY     EQU    *+1
  KDL 1,,(                            ) 
 DFDI     EQU    *+1
  KDL 31,K,(                            ) 
 DFAC     EQU    *+1
  KDL 1,,(                            ) 
 DFAI     EQU    *+1
  KDL 31,K,(                            ) 
 DFER     EQU    *+1
  KDL 1,,(                            ) 
 DFEI     EQU    *+1
  KDL 31,K,(                            ) 
 DFML     EQU    *+1
  KDL 1,,(                            ) 
 DFMI     EQU    *+1
  KDL 31,H,(                            ) 
  KDL 1,H,(    OPTION                         DESCRIPTION)
 DFFT     EQU    *+1
  KDL 1,K,( FT =             FILE TYPE TO BE TERMINATED)
  KDL 1,K,(                  (DAYFILE, ACCOUNT, ERRLOG, MAINLOG).)
 DFFM     EQU    *+1
  KDL 1,K,( FM =             FAMILY NAME OF NEW DEVICE (1-7 CHARACTERS).
,)
 DFDN     EQU    *+1
  KDL 1,K,( DN =             DEVICE NUMBER OF NEW DEVICE (0-77B).)
 DFOP     EQU    *+1
  KDL 1,K,( OP =             OPTION (A=ACTIVE OR I=INACTIVE).)
 DFNM     EQU    *+1
  KDL 1,K,( NM =             PERMANENT FILE NAME OVERRIDES AUTOMATIC NAM
,ING) 
  KDL 1,K,(                  (1-5 CHARACTERS).) 
 DFOF     EQU    *+1
  KDL 1,K,( L =              OUTPUT FILE (1-7 CHARACTERS).) 
          VFD    12/7777B,30/0,18/KMES-1  K-DISPLAY CONTINUATION WORD 
          LOC    *O 
 DDDFL    EQU    *-DDDF 
 DDFY     KDL    *           *DFTERM* Y-COORDINATE TABLE
          TITLE  QALTER K-DISPLAY LEFT SCREEN PAGE ONE. 
*         FIRST PAGE LEFT SCREEN *QFTLIST*/*QALTER* K-DISPLAY.
  
  
 DQAL     BSS    0
          LOC    DSAA 
 DNT1     EQU    *
  KDL 1,T,(QALTER  )
 DNPG     EQU    *
  KDL 54,T,(PAGE 1 OF 3)
  KDL 2,H,(    OPTION                        DESCRIPTION) 
 DNFM     EQU    *+1
  KDL 2,K,(FM =             FAMILY FOR DEVICES (1-7 CHARACTERS).) 
 DNDN     EQU    *+1
  KDL 2,K,(DN =             DEVICE NUMBER (0-77B, *ALL*).)
 DNDF     EQU    *+1
  KDL 2,K,(DF =             DESTINATION FAMILY (1-7 CHARACTERS).) 
 DNUN     EQU    *+1
  KDL 2,K,(UN =             DESTINATION USER (1-7 CHARACTERS).) 
 DNOF     EQU    *+1
  KDL 2,K,(L =              FILE TO RECEIVE OUTPUT (1-7 CHARACTERS).) 
 DNLO     EQU    *+1
  KDL 2,H,(LO =             LIST OPTION (S=SHORT, F=FULL).) 
 DNID     EQU    *+1
  KDL 2,K,(ID =             ID RANGE OF FILES TO PROCESS (0-67B).)
 DNI1     EQU    *+1
  KDL 2,K,(                 ) 
 DNFR     EQU    *+1
  KDL 2,K,(FC =             FORMS CODE (2 CHARACTERS OR **).) 
 DNUJ     EQU    *+1
  KDL 2,K,(UJN =            USER JOB NAME (1-7 CHARACTERS).)
 DNLD     EQU    *+1
  KDL 2,K,(LD =             DESTINATION LID (3 CHARACTERS).)
 DNLA     EQU    *+1
  KDL 2,,(LA =             LOWER SECURIT) 
 DNL1     EQU    *+1
  KDL 32,K,(Y ACCESS LEVEL (1-7 CHARACTERS).) 
 DNUA     EQU    *+1
  KDL 2,,(UA =             UPPER SECURIT) 
 DNU1     EQU    *+1
  KDL 32,K,(Y ACCESS LEVEL (1-7 CHARACTERS).) 
 DNFS     EQU    *+1
  KDL 2,K,(FS =             FILE SIZE RANGE IN PRU-S (0-777777B).)
 DNF1     EQU    *+1
  KDL 2,K,(                )
          VFD    12/7777B,30/0,18/KMES-1  K-DISPLAY CONTINUATION WORD 
          LOC    *O 
 DQALL    EQU    *-DQAL 
  
 DNPG2    KDL    54,T,(PAGE 1 OF 2)  *QFTLIST* PAGE LINE
          TITLE  QALTER K-DISPLAY LEFT SCREEN PAGE THREE. 
*         THIRD PAGE LEFT SCREEN *QALTER* K-DISPLAY.
  
  
 DQAT     BSS    0
          LOC    DSBB 
  KDL 1,T,(QALTER)
  KDL 54,T,(PAGE 3 OF 3)
  KDL 1,H,(   OPTION                         DESCRIPTION) 
 DNOP     EQU    *+1
  KDL 1,K,(OP  =             OPTION (BC, RB, NC, PR).)
 DNAL     EQU    *+1
  KDL 1,K,(NAL =             NEW ACCESS LEVEL (1-7 CHARACTERS).)
 DNDC     EQU    *+1
  KDL 1,K,(NDC =             NEW DEVICE CODE (2 CHARACTERS OR NONE).) 
 DNNE     EQU    *+1
  KDL 1,K,(NEC =             NEW EXTERNAL CHARACTERISTICS (2 CHARACTERS)
,.) 
 DNNL     EQU    *+1
  KDL 1,K,(NLD =             NEW DESTINATION LID (3 CHARACTERS).) 
 DNND     EQU    *+1
  KDL 1,H,(NDF =             NEW DESTINATION FAMILY (1-7 CHARACTERS).)
 DNNU     EQU    *+1
  KDL 1,K,(NUN =             NEW DESTINATION USER (1-7 CHARACTERS).)
 DNNI     EQU    *+1
  KDL 1,K,(NID =             NEW FILE IDENTIFIER (0-67B).)
 DNNC     EQU    *+1
  KDL 1,K,(NFC =             NEW FORMS CODE (2 CHARACTERS OR **).)
 DNNP     EQU    *+1
  KDL 1,K,(NPR =             NEW PRIORITY FOR OUTPUT (0-7760B).)
 DNNR     EQU    *+1
  KDL 1,K,(NRC =             NEW REPEAT COUNT (0-63D).) 
          VFD    12/7777B,30/0,18/KMES-1  K-DISPLAY CONTINUATION WORD 
          LOC    *O 
 DQATL    EQU    *-DQAT 
 DQAY     KDL    *           *QFTLIST*/*QALTER* Y-COORDINATE TABLE
          SPACE  4,5
**        IF THE FOLLOWING TEST FAILS, THE VALUE *KLEN* MUST
*         BE INCREASED. 
  
 LEN      MAX    DQSML,DQDML,DQLDL,DQMVL,DQRCL,DDDFL,DQALL,DQRSL,DQRTL,D
,QATL,DDDFL 
          ERRNG  KLEN-LEN 
          SPACE  4,6
**        PRESET COMMON DECKS.
  
  
*CALL     COMCDTC 
*CALL     COMCVDE 
 PRS      TITLE  PRESET.
**        PRS - PRESET. 
* 
*         EXIT   TO *LUP*.
*                (FPNM) = FUNCTION PROCESSOR NUMBER.
*                K-DISPLAY SET INTO *DSL* BUFFER. 
*                DEFAULT VALUES SET IN *TDFT*.
*                *TEQP* BUILT.
*                (SECR) = *GETSSL* REPLY INFORMATION. 
* 
*         CALLS  ASC, BDT, BFB, COD, IDE, ISB, NKP, PRK, RST, SET,
*                SFN, USB.
* 
*         MACROS ABORT, EDATE, GETSSL, MESSAGE, MOVE, PDATE, SETPR, 
*                SETQP, SYSTEM. 
  
  
 QFSP     SA1    JOPR        CHECK JOB ORIGIN 
          SX5    PRSD        * USER ACCESS NOT VALID.*
          MX0    -12
          AX1    24 
          BX2    -X0*X1 
          SX2    X2-SYOT
          NZ     X2,PRS1     IF NOT SYSTEM ORIGIN 
          MX0    -18         CHECK NUMBER OF ARGUMENTS
          SA3    ACTR 
          BX2    -X0*X3 
          SB1    1
          ZR     X2,PRS2     IF NO COMMAND ARGUMENTS
          SX5    IDEB        * COMMAND ARGUMENT ERROR.* 
 PRS1     MESSAGE X5
          ABORT 
  
 PRS2     MOVE   DQSML,DQSM,DSAA  MOVE K-DISPLAY INTO BUFFER
          SX3    DQSY        PRESET *QFSP* K-DISPLAY Y-COORDINATES
          RJ     PRK
          SX3    DSYC        PRESET RIGHT SCREEN K-DISPLAY Y-COORD. 
          RJ     PRK
          SA2    PRST        SET K-DISPLAY TITLE
          SA1    KIA         SET K-DISPLAY STATUS WORD
          BX7    X2 
          BX6    X1 
          SA7    KTIT 
          SA6    KD 
          SETPR  QFCS        SET K DISPLAY PRIORITY 
 PRS3     RJ     ISB         INPUT STRING BUFFER
          SA2    CS          SUPPRESS BLANKS
          MX1    0           ALLOW NO SPECIAL CHARACTERS
          BX6    X2 
          RJ     ASC         ASSEMBLE CHARACTERS
          MX0    42 
          SA3    TOFN-1 
          RJ     SET
          SB6    X3          SET ENTRY POINT ADDRESS
          ZR     X4,PRS4     IF ENTRY FOUND 
          SB3    ERIE        *** INCORRECT ENTRY. 
          RJ     IDE
          EQ     PRS3        PROCESS NEXT INPUT 
  
 PRS4     SA1    SL          SET INPUT STRING BUFFER EMPTY
          BX6    X1 
          SA6    SP 
          JP     B6          GO TO SPECIFIED ENTRY POINT
  
*         QALTER COMMAND ENTRY POINT. 
  
 QALTER   SB1    1
          MOVE   PRSSL,PRSS,KPAG  MOVE IN PAGE TABLE
          MOVE   DQALL,DQAL,DSAA  MOVE PAGES TO PERMANENT BUFFERS 
          MOVE   DQRTL,DQRT,DSCC
          MOVE   DQATL,DQAT,DSBB
          SX3    DQAY        PRESET PAGES 1 AND 3 K-DISPLAY Y-COORD.
          RJ     PRK
          SX3    DQRY3       PRESET PAGE TWO K-DISPLAY Y-COORDINATES
          RJ     PRK
          SA1    QATI        RESET TITLE ON PAGE TWO
          BX6    X1 
          SA6    DQT3 
          SA1    DQPA2       RESET PAGE NUMBER
          SA2    DQPA2+1
          BX6    X1 
          BX7    X2 
          SA6    DQPA 
          SA7    DQPA+1 
          SA1    TODMA       SET DIRECTIVE MASK 
          SA2    TKDTA       SET K-DISPLAY TITLE ENTRY IN TABLE 
          BX6    X1 
          BX7    X2 
          SA6    TODM+FNFN
          SA7    TKDT+FNFN
          EQ     PRS5        CONTINUE PRESET
  
*         QFTLIST COMMAND ENTRY POINT.
  
 QFTLIST  SB1    1
          UTL    SET         SET *UTL=* ENTRY POINT IN *SEPW* 
          MOVE   PRSRL,PRSR,KPAG  MOVE IN PAGE TABLE
          MOVE   DQALL,DQAL,DSAA  MOVE PAGES TO PERMANENT BUFFERS 
          MOVE   DQRTL,DQRT,DSCC
          SX3    DQAY        PRESET K-DISPLAY Y-COORDINATE FOR PAGE 1 
          RJ     PRK
          SX3    DQRY3       PRESET K-DISPLAY Y-COORDINATE FOR PAGE 2 
          RJ     PRK
          SA1    DQPA3       RESET PAGE NUMBER ON PAGE 2
          SA2    DQPA3+1
          BX6    X1 
          BX7    X2 
          SA6    DQPA 
          SA7    DQPA+1 
          SA1    DNPG2+1     RESET PAGE NUMBER ON PAGE 1
          BX6    X1 
          SA6    DNPG+1 
          SA1    QFTI        SET K-DISPLAY BUFFER TITLES
          SA2    QFTI+1 
          BX6    X1 
          BX7    X2 
          SA6    DQT3 
          SA7    DQT3+1 
          SA6    DNT1 
          SA7    DNT1+1 
          SA1    PRSM        SET *OUT,STOP* FOR *PO=N* PROCESSING 
          SA2    PRSC        FORCE LIST ON GO 
          BX7    X1 
          BX6    X2 
          SA7    ISBA 
          SA6    TOCEA
          MX6    60          INHIBIT *OP* DIRECTIVE 
          SA6    TKLN+AROP
 PRS5     SA2    PRSI        SET *DF* ENTRY IN TABLE
          BX6    X2 
          BX7    X7-X7
          SA6    TINE+TIDF
          SA7    TDFTG+1     CLEAR DEFAULT FORMS CODE 
          SA7    TDFTB+1     CLEAR DESTINATION FAMILY NAME
          SA7    TOCEB+2     SET END OF COMMAND TABLE 
          SA1    BLKS        CLEAR DEFAULT FORMS CODE 
          BX7    X1 
          SA7    TDFTG
          SX6    FNFN 
          EQ     PRS10       START COMMON PROCESSING
  
  
*         QLIST COMMAND ENTRY POINT.
  
 QLIST    SB1    1
          UTL    SET         SET *UTL=* ENTRY POINT IN *SEPW* 
          SA1    PRSC        FORCE LIST WHEN *GO* ENTERED 
          SA5    BLKS        CLEAR OPTION DIRECTIVE 
          BX6    X1 
          BX7    X5 
          SA6    TOCEA
          SA7    TDFTC       SET DEFAULT DATE TO INFINITE 
          SX6    1           SET NO K-DISPLAY ALLOWED 
          SA7    TOOE+FNQR
          SA6    IDEA 
          SX6    B0+
          SA6    TDFTC+1
          SA6    TOCEB+2     SET END OF COMMAND TABLE 
          SA1    QLST        SET QLIST *PO* OPTIONS 
          BX6    X1 
          SA6    TPOP+FNQR
  
*         QREC COMMAND ENTRY POINT. 
  
 QREC     SB1    1
          SA1    IDEA 
          NZ     X1,PRS6     IF NO K-DISPLAY ALLOWED
          MOVE   DQRCL,DQRC,DSAA  MOVE PAGES TO PERMANENT BUFFERS 
          MOVE   DQRSL,DQRS,DSBB
          MOVE   DQRTL,DQRT,DSCC
          SX3    DQRY1       PRESET PAGE 1 K-DISPLAY Y-COORDINATES
          RJ     PRK
          SX3    DQRY2       PRESET PAGE 2 K-DISPLAY Y-COORDINATES
          RJ     PRK
          SX3    DQRY3       PRESET PAGE 3 K-DISPLAY Y-COORDINATES
          RJ     PRK
 PRS6     SX6    FNQR 
          EQ     PRS10       START COMMON PROCESSING
  
*         QDUMP COMMAND ENTRY POINT.
  
 QDUMP    SB1    1
          UTL    SET         SET *UTL=* ENTRY POINT IN *SEPW* 
          MOVE   DQDML,DQDM,DSAA  MOVE PAGES TO PERMANENT BUFFERS 
          MOVE   DQRSL,DQRS,DSBB
          MOVE   DQRTL,DQRT,DSCC
          SX3    DQDY        PRESET PAGE 1 K-DISPLAY Y-COORDINATES
          RJ     PRK
          SX3    DQRY2       PRESET PAGE 2 K-DISPLAY Y-COORDINATES
          RJ     PRK
          SX3    DQRY3       PRESET PAGE 3 K-DISPLAY Y-COORDINATES
          RJ     PRK
          SA1    QDTI        RESET TITLE IN K-DISPLAY BUFFERS 
          BX6    X1 
          SX7    B1          SET ERRORED FILE PROCESSING
          SA6    DQT2 
          SA6    DQT3 
          SX6    FNQD 
          SA7    RSTA 
          SX7    B0+         SET END OF COMMAND TABLE 
          SA7    TOCEB+2
          EQ     PRS8        CONTINUE PRESET
  
*         LDLIST COMMAND ENTRY POINT. 
  
 LDLIST   SB1    1
          UTL    SET         SET *UTL=* ENTRY POINT IN *SEPW* 
          SA1    PRSC        FORCE LIST WHEN *GO* ENTERED 
          SA5    BLKS        CLEAR OPTION DIRECTIVE 
          BX6    X1 
          BX7    X5 
          SA6    TOCEA
          SX6    1           SET NO K-DISPLAY ALLOWED 
          SA7    TOOE+FNQL
          SA6    IDEA 
          SA1    LDLT        SET LDLIST *PO* OPTION 
          BX6    X1 
          SA6    TPOP+FNQL
          BX6    X6-X6       SET END OF COMMAND TABLE 
          SA6    TOCEB+2
  
*         QLOAD COMMAND ENTRY POINT.
  
 QLOAD    SB1    1
          SA1    IDEA 
          NZ     X1,PRS7     IF NO K-DISPLAY ALLOWED
          MOVE   DQLDL,DQLD,DSAA  MOVE PAGES TO PERMANENT BUFFERS 
          MOVE   DQRSL,DQRS,DSBB
          MOVE   DQRTL,DQRT,DSCC
          SX3    DQLY        PRESET PAGE 1 K-DISPLAY Y-COORDINATES
          RJ     PRK
          SX3    DQRY2       PRESET PAGE 2 K-DISPLAY Y-COORDINATES
          RJ     PRK
          SX3    DQRY3       PRESET PAGE 3 K-DISPLAY Y-COORDINATES
          RJ     PRK
          SA1    QLTI        RESET TITLE IN K-DISPLAY BUFFERS 
          BX6    X1 
          SA6    DQT2 
          SA6    DQT3 
 PRS7     BX7    X7-X7       SET END OF QLOAD OPTION TABLE
          SA1    TDFTA       SET DEFAULT *DF* 
          BX6    X1 
          SA7    TOTPA
          SA6    TDFTB
          SA7    A6+1 
          SA6    A7+1        SET DEFAULT *DD* 
          SA7    A6+1 
          SX6    FNQL 
 PRS8     SA1    PRSG        SET *REWIND* COMMAND 
          SA3    PRSH        SET *ERROR* COMMAND
          BX7    X1 
          SA7    TOCEB
          BX7    X3 
          SA7    TOCEB+1
          EQ     PRS10       START COMMON PROCESSING
  
*         QMOVE COMMAND ENTRY POINT.
  
 QMOVE    SB1    1
          UTL    SET         SET *UTL=* ENTRY POINT IN *SEPW* 
          MOVE   DQMVL,DQMV,DSAA  MOVE PAGES TO PERMANENT BUFFERS 
          MOVE   DQRSL,DQRS,DSBB
          MOVE   DQRTL,DQRT,DSCC
          SX3    DQMY        PRESET PAGE 1 K-DISPLAY Y-COORDINATES
          RJ     PRK
          SX3    DQRY2       PRESET PAGE 2 K-DISPLAY Y-COORDINATES
          RJ     PRK
          SX3    DQRY3       PRESET PAGE 3 K-DISPLAY Y-COORDINATES
          RJ     PRK
          SA1    QMTI        RESET TITLE IN K-DISPLAY BUFFERS 
          SA3    PRSH        SET *ERROR* COMMAND
          BX6    X1 
          BX7    X3 
          SA6    DQT2 
          SA7    TOCEB
          SA6    DQT3 
          SA3    PRSF        SET *FAMILY* COMMAND 
          SA1    PRSJ        SET *LID* COMMAND
          BX7    X3 
          BX6    X1 
          SA7    TOCEB+1
          SA6    TOCEB+2
          SX7    B0+         SET END OF COMMAND TABLE 
          SA7    TOCEB+3
          SX6    FNQM 
          EQ     PRS10       START COMMON PROCESSING
  
*         DFLIST COMMAND ENTRY POINT. 
  
 DFLIST   SB1    1
          UTL    SET         SET *UTL=* ENTRY POINT IN *SEPW* 
          SA4    PRSC        FORCE LIST ON *GO* 
          BX7    X4 
          BX6    X6-X6       SET MASK FOR INPUT ENTRIES 
          SA7    TOCEA
          SA6    TODM+FNDT
          SX7    1           SET NO K-DISPLAY ALLOWED 
          SA7    IDEA 
          SA7    TINE+TIII   DO NOT ALLOW *I* 
          SA1    DFLT        SET DFLIST *PO* OPTION 
          BX6    X1 
          SA6    TPOP+FNDT
  
*         DFTERM COMMAND ENTRY POINT. 
  
 DFTERM   SB1    1
          UTL    SET         SET *UTL=* ENTRY POINT IN *SEPW* 
          SA1    IDEA 
          NZ     X1,PRS9     IF NO K-DISPLAY ALLOWED
          MOVE   PRSQL,PRSQ,KPAG  MOVE IN PAGE TABLE
          MOVE   DDDFL,DDDF,DSAA  MOVE PAGE TO PERMANENT BUFFER 
          SX3    DDFY        PRESET K-DISPLAY Y-COORDINATES 
          RJ     PRK
 PRS9     SX6    FNDT 
          SX7    B0+         SET END OF COMMAND TABLE 
          SA7    TOCEB+2
          SA7    TOTPA       SET END OF DFTERM OPTION TABLE 
  
*         PROCESSING COMMON TO ALL UTILITIES. 
  
 PRS10    SA6    FPNM        SET FUNCTION NUMBER
          SA2    X6+TODM     SET DIRECTIVE MASK 
          SA1    X6+TOOE     SET OPTION DIRECTIVE 
          SA3    X6+TPOP     SET *PO* OPTION MASK 
          BX6    X3 
          SA6    POPA 
          BX6    X1 
          BX7    X2 
          SA6    TIOP+TINE
          SA7    DIPA 
          GETSSL SECR        GET SYSTEM ACCESS LEVELS 
          GETUSV JACL        GET VALID JOB ACCESS LEVELS
          SA1    JACL 
          MX0    -8 
          LX1    -36
          BX6    -X0*X1 
          SA6    A1 
          GETPP  PRSP,TPPP+PPPL,TPPP+PPPD  GET PAGE SIZE PARAMETERS 
  
*         CHECK IF K-DISPLAY IS ALLOWED.
  
          SA1    JOPR        GET JOB ORIGIN 
          MX0    -12
          SA2    IDEA 
          AX1    24 
          BX3    -X0*X1 
          SX5    X3-SYOT
          BX6    X5+X2
          ZR     X6,PRS11    IF K-DISPLAY ALLOWED 
          SA6    IDEA        ALLOW NO K-DISPLAY 
          RJ     NKP         ALLOW NO K-DISPLAY INPUT 
  
*         CHECK ORIGIN TYPE TO SEE IF CALL IS ALLOWED.
  
 PRS11    SA2    FPNM        SET SHIFT COUNT
          ZR     X5,PRS12    IF SYSTEM ORIGIN 
          SX5    PRSD        * USER ACCESS NOT VALID.*
          SB2    59 
          SB3    X2 
          SX3    60B         SET MASK 
          SB3    B2-B3
          LX3    B3,X3
          NG     X3,PRS1     IF CALL NOT ALLOWED
  
*         SET UP K-DISPLAYS.
  
 PRS12    SA2    FPNM        SET K-DISPLAY TITLE
          SA1    TKDT+X2
          SA2    KPAG        SAVE PAGE TABLE HEADER WORD
          BX6    X1 
          BX7    X2 
          SA6    KTIT 
          SA7    KPGH 
          SA1    KD          SET K-DISPLAY STATUS WORD
          SA2    KIB
          BX6    X2 
          SA6    A1 
          NZ     X1,PRS13    IF NOT FIRST K-DISPLAY EXECUTION 
          SETPR  QFCS        SET SPECIAL PRIORITY 
          SX3    DSYC        PRESET RIGHT SCREEN Y-COORDINATES
          RJ     PRK
  
*         MOVE COMMAND PARAMETERS TO STRING BUFFER. 
  
 PRS13    MX0    -18
          SA1    ACTR 
          BX1    -X0*X1 
          ZR     X1,PRS16    IF NO PARAMETERS 
          SB2    CCDR        UNPACK COMMAND 
          RJ     USB
          SX6    B6-1        SET STRING POINTER ADDRESS 
          SA6    SP 
 PRS14    SA1    B6          CHECK FOR TERMINATOR CHARACTER 
          SB6    B6+1        ADVANCE STRING BUFFER POINTER
          SX2    X1-1R. 
          SX3    X1-1R) 
          ZR     X2,PRS15    IF *.* 
          NZ     X3,PRS14    IF NOT *)* 
 PRS15    SX6    B6+         SET STRING BUFFER LIMIT
          SA6    SL 
          MOVE   5,CCDR,KINP DISPLAY COMMAND PARAMETERS 
          SA2    CS          SUPPRESS BLANKS
          MX1    0           ALLOW NO SPECIAL CHARACTERS
          BX6    X2 
          RJ     ASC         SKIP TO FIRST PARAMETER
  
*         READ CMR POINTERS AND BUILD DEVICE TABLE. 
  
 PRS16    MX7    1           SET ABSOLUTE MEMORY READ 
          SA7    RSBB 
          SYSTEM RSB,R,RSBA  READ QFT POINTER 
          MX0    -12
          SA1    RSBB        SAVE QFT POINTER 
          BX6    X1 
          SA6    QFT
          MX7    1
          SA7    RSBB 
          SYSTEM RSB,R,RSBS  READ CMR POINTERS
          SA1    RSBB        SET FWA OF DAYFILE POINTERS
          BX7    X1 
          SA7    DFP
          LX1    24 
          SX6    X1 
          SA6    BDTC 
          SA1    A1+NCPL-DFPP  SET NUMBER OF CONTROL POINTS 
          LX1    24 
          BX6    -X0*X1 
          SA6    BDTD 
          SA1    A1+ESTP-NCPL  SET *ESTP* FOR *BDT* 
          BX6    X1 
          SA6    BDTA 
          RJ     BDT         BUILD DEVICE TABLE 
          SYSTEM SFM,R,FOTB,RSDF*100B 
  
*         SET DEFAULT DATES.
  
          SA1    TDFTC+1
          ZR     X1,PRS21    IF *QLIST* - DEFAULT DATE SET
          PDATE  PRSA        SET CURRENT DATE 
          SA5    PRSA        SET MAXIMUM DATE 
          AX5    18 
          EDATE  X5 
          SX2    1R -1R.     REMOVE PERIOD
          IX6    X6+X2
          LX6    6
          SA6    TDFTC+2
          BX6    X5 
          SA6    A6+1 
          SX2    DFDA 
          ZR     X2,PRS21    IF INFINITE DATE 
          SA1    PRSK        SET MINIMUM DATE 
          MX2    0
          RJ     VDE         VALIDATE DATE EXPRESSION AND CONVERT 
          SA6    TDFTC+1
          EDATE  X6          CONVERT DATE 
          SX2    1R -1R.     REMOVE PERIOD
          IX6    X6+X2
          LX6    6
          SA6    TDFTC
  
*         SET DEFAULT OPTIONS.
  
 PRS21    SA1    FPNM        DETERMINE INDEX INTO *TDOP*
          SB2    X1 
          LX1    1
          SA2    X1+TDOP
          SA3    A2+B1
          BX6    X2 
          BX7    X3 
          SA6    TDFTF
          SA7    A6+B1
  
*         SET MACHINE ID. 
  
          MACHID PRSE        SET MACHINE ID 
          SA1    PRSE 
          MX0    -12
          BX1    -X0*X1 
          LX1    48 
          RJ     SFN
          BX7    X1 
          SA6    TDFTH
          SA7    A6+B1
          RJ     RST         SET DEFAULT DIRECTIVE VALUES 
          SX6    B0+         CLEAR INPUT FILE NAME
          SA6    I
  
*         OVERLAY UTILITY ROUTINE.
  
          SA1    FPNM        SET OVERLAY NAME 
          SA1    X1+TFCN
          JP     LUP         LOAD UTILITY ROUTINE 
  
  
 PRSA     CON    0
 PRSB     VFD    24/1,18/PFNL,18/RSBB  RSB STATUS WORD
 PRSC     VFD    42/0LGO,6/0,6/2,6/CLT  FORCE LIST ON *GO*
 PRSD     DATA   C* USER ACCESS NOT VALID.* 
 PRSE     CON    0           MACHINE ID 
 PRSF     VFD    42/0LFAMILY,6/0,6/0,6/PFO  FAMILY
 PRSG     VFD    42/0LREWIND,6/0,6/0,6/CRD
 PRSH     VFD    42/0LERROR,6/0,6/0,6/CER 
 PRSJ     VFD    42/0LLID,6/0,6/0,6/PLT  LID
 PRSI     IENTRY DF,10B,ARDF,PMI       *DF* 
 PRSM     VFD    60/10HOUT,STOP.
 PRSN     VFD    24/1,18/IPRL,18/RSBB  READ INSTALLATION DEFAULT
 PRSO     DATA   10HNT
 PRSP     BSS    2           *GETPP* RESPONSE BLOCK 
 .A       DECMIC DFDA,3 
 PRSK     VFD    42/0LBD".A",18/0  DEFAULT DAYS 
  
*         DFTERM PAGE TABLE.
  
 PRSQ     PAGT   DSA         FIRST PAGE LEFT SCREEN 
          PAGT
          PAGT   DSD         FIRST PAGE RIGHT SCREEN
          PAGT   DSE         SECOND PAGE RIGHT SCREEN 
          PAGT   DSF         THIRD PAGE RIGHT SCREEN
          PAGT   DSG         FOURTH PAGE RIGHT SCREEN 
          PAGT   *
 PRSQL    EQU    *-PRSQ 
  
*         QFTLIST PAGE TABLE. 
  
 PRSR     PAGT   DSA         FIRST PAGE LEFT SCREEN 
          PAGT   DSC         SECOND PAGE LEFT SCREEN
          PAGT
          PAGT   DSD         FIRST PAGE RIGHT SCREEN
          PAGT   DSE         SECOND PAGE RIGHT SCREEN 
          PAGT   DSF         THIRD PAGE RIGHT SCREEN
          PAGT   DSG         FOURTH PAGE RIGHT SCREEN 
          PAGT   *
 PRSRL    EQU    *-PRSR 
  
*         QALTER PAGE TABLE.
  
 PRSS     PAGT   DSA         FIRST PAGE LEFT SCREEN 
          PAGT   DSC         SECOND PAGE LEFT SCREEN
          PAGT   DSB         THIRD PAGE LEFT SCREEN 
          PAGT
          PAGT   DSD         FIRST PAGE RIGHT SCREEN
          PAGT   DSE         SECOND PAGE RIGHT SCREEN 
          PAGT   DSF         THIRD PAGE RIGHT SCREEN
          PAGT   DSG         FOURTH PAGE RIGHT SCREEN 
          PAGT   *
 PRSSL    EQU    *-PRSS 
  
 PLEN     MAX    PRSQL,PRSRL,PRSSL   LONGEST PAGE TABLE 
          ERRNG  KPGL-PLEN   IF LARGER THAN PAGE TABLE AREA 
  
 PRST     DATA   5LQFSP.     QFSP K-DISPLAY TITLE 
  
 PRK      HERE               SUBROUTINE FROM *COMCDCP*
  
 TOOE     SPACE  4
**        TOOE - TABLE OF OPTION ENTRIES. 
  
  
 TOOE     BSS    0
          LOC    0
          IENTRY OP,0,AROP,PAN
          IENTRY OP,TOTP,AROP,PAN 
          IENTRY OP,TOQM,AROP,PAN 
          IENTRY OP,TOQR,AROP,PAN 
          IENTRY OP,TOTP,AROP,PAN 
          IENTRY OP,TOAL,AROP,PAN 
          LOC    *O 
          SPACE  4
**        TDOP - TABLE OF DEFAULT OPTIONS.
  
  
 TDOP     BSS    0
          VFD    60/10H            NO QDUMP OPTIONS 
          VFD    60/0 
          VFD    60/10HA           QLOAD DEFAULT OPTION 
          VFD    60/1 
          VFD    60/10HA           QMOVE DEFAULT OPTION 
          VFD    60/1 
          VFD    60/10HRI          QREC DEFAULT OPTION
          VFD    60/1 
          VFD    60/10HA           DFTERM DEFAULT OPTION
          VFD    60/1 
          VFD    60/10HNC          QALTER OPTION
          VFD    60/NCOP
  
  
**        TODM - TABLE OF DIRECTIVE MASKS.
* 
*         TABLE ENTRIES ARE INDEXED BY UTILITY NUMBER. (REFER TO
*         *COMSQFS*)
* 
*         DIRECTIVE IS ALLOWED IF BIT 2**(59 - ARGUMENT TABLE INDEX)
*         IS SET. 
  
  
 TODM     BSS    0
          MASK   (ARFM,ARFU,ARDN,ARUI,ARU1,ARDA,ARD1,ARJN,ARJ2,ARJ3 
,                ,ARJ4,ARJ5,ARID,ARI1,ARLA,ARUA,ARLL,ARTP,ARFS,ARF1 
,                ,ARNF,ARBC,ARB1,ARB2,ARRB,ARR3,ARR4,ARTI,ART1,ARTF 
,                ,ARFR,ARMI,ARFN,AROL)
  
          MASK   (ARFU,ARDF,ARDD,ARUI,ARU1,ARDA,ARD1,ARJN,ARJ2,ARJ3 
,                ,ARJ4,ARJ5,ARID,ARI1,ARLA,ARUA,ARLL,ARFS,ARF1,ARNF 
,                ,ARSC,ARBC,ARB1,ARB2,ARRB,ARR3,ARR4,AROP,ARTI,ART1 
,                ,ARTF,ARFR,ARMI,ARFN,AROL) 
  
          MASK   (ARFM,ARFU,ARDF,ARDN,ARDD,ARUI,ARU1,ARDA,ARD1,ARJN 
,                ,ARJ2,ARJ3,ARJ4,ARJ5,ARID,ARI1,ARLA,ARUA,ARLL,ARTP 
,                ,ARFS,ARF1,ARBC,ARB1,ARB2,ARRB,ARR3,ARR4,AROP,ARTI 
,                ,ART1,ARTF,ARFR,ARMI,AROL) 
  
          MASK   (ARFM,ARFU,ARDN,ARUI,ARU1,ARDA,ARD1,ARJN,ARJ2,ARJ3 
,                ,ARJ4,ARJ5,ARID,ARI1,ARLA,ARUA,ARLL,ARFS,ARF1,ARBC 
,                ,ARB1,ARB2,ARRB,ARR3,ARR4,AROP,ARTI,ART1,ARTF,ARFR 
,                ,ARMI,AROL)
  
          MASK   (ARFM,ARDN,ARLL,ARFT,ARNM,AROP)
  
          MASK   (ARFM,ARDF,ARDN,ARJN,ARJ2,ARJ3,ARJ4,ARJ5,ARID
,                ,ARI1,ARLA,ARUA,ARLL,ARFS,ARF1,ARBC,ARB1,ARB2,ARRB 
,                ,ARR3,ARR4,AROP,ARFR,ARUN,ARUJ,ARLO,AROL)
  
          LOC    *O 
  
 TODMA    MASK   (ARFM,ARDF,ARDN,ARJN,ARJ2,ARJ3,ARJ4,ARJ5,ARID,ARI1 
,                ,ARLA,ARUA,ARLL,ARFS,ARF1,ARBC,ARB1,ARB2,ARRB,ARR3 
,                ,ARR4,AROP,ARFR,ARUN,ARUJ,ARLO,ARDC,ARAL,ARNE,ARND 
,                ,ARNU,ARNC,ARNI,ARNP,ARNR,AROL,ARNL) 
          SPACE  4
**        TOFN - TABLE OF FUNCTION PROCESSORS.
* 
*T        42/ PROCESSOR NAME , 18/ ENTRY ADDRESS
  
  
 TOFN     BSS    0
          LOC    0
          TABLE  QDUMP,QDUMP
          TABLE  QLOAD,QLOAD
          TABLE  QMOVE,QMOVE
          TABLE  QREC,QREC
          TABLE  DFTERM,DFTERM
          TABLE  QFTLIST,QFTLIST
          TABLE  QALTER,QALTER
          CON    0
          LOC    *O 
          SPACE  4,10 
**        TABLE OF *PO* PROCESSOR MASKS.
* 
*T        1/F, 1/R, 1/E, 1/N, 1/L, 1/I, 1/U, 53/0 
*         F = FOT FLAG. 
*         R = REWIND FLAG.
*         E = ERROR PROCESSING FLAG.
*         N = ALLOW K-DISPLAY FLAG. 
*         L = LID TABLE FLAG. 
*         I = INPUT QUEUE PROCESSING FLAG.
*         U = UNCONDITIONAL PROCESSING FLAG.
  
  
 TPOP     BSS    0
          LOC    0
          VFD    9/344B,51/0 QDUMP
          VFD    9/774B,51/0 QLOAD
          VFD    9/574B,51/0 QMOVE
          VFD    9/474B,51/0 QREC 
          VFD    6/4B,54/0   DFTERM 
          VFD    6/4B,54/0   QFTLIST/QALTER 
          LOC    *O 
          CON    0
  
 LDLT     VFD    6/0,54/0    LDLIST 
 QLST     VFD    6/0,54/0    QLIST
 DFLT     VFD    6/0,54/0    DFLIST 
  
          SPACE  4
**        TFCN - TABLE OF FUNCTION PROCESSORS.
* 
*         60/FUNCTION PROCESSOR NAME
  
  
 TFCN     BSS    0
          LOC    0
          VFD    60/0LQDUMP1
          VFD    60/0LQLOAD1
          VFD    60/0LQMOVE1
          VFD    60/0LQREC1 
          VFD    60/0LDFTERM1 
          VFD    60/0LQFTLST1 
          LOC    *O 
          CON    0
 TKDT     SPACE  4,10 
*         TKDT - TABLE OF K-DISPLAY TITLES. 
  
  
 TKDT     BSS    0
          LOC    0
          DATA   C*QDUMP.*   QDUMP
          DATA   C*QLOAD.*   QLOAD
          DATA   C*QMOVE.*   QMOVE
          DATA   C*QREC.*    QREC 
          DATA   C*DFTERM.*  DFTERM 
          DATA   C*QFTLIST.* QFTLIST
          LOC    *O 
 TKDTA    DATA   C*QALTER.*  QALTER K-DISPLAY 
  
 SSM=     EQU    *
 RFL=     EQU    RFL
  
          END 
