DataMuseum.dk

Presents historical artifacts from the history of:

IBM System/3

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about IBM System/3

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦b615304ef⟧ s3xseg

    Length: 16764 (0x417c)
    Types: s3xseg
    Names: »S$EFAC«

Derivation

└─⟦d0bc1a931⟧ Bits:30009189 5704-sc1.V08.ccp
    └─⟦64693a1c9⟧ 
        └─⟦this⟧ »S$EFAC« 

TextSegment

       MACRO                                                            00010000                
.********************************************************************** 00020000                
.*                                                                    * 00030000                
.* NAME:  $EFAC                                                       * 00040000                
.*                                                                    * 00050000                
.* MODIFICATION LEVEL:  VERSION 7, MODIFICATION LEVEL 0               * 00060000                
.*                                                                    * 00070000                
.* FUNCTION:                                                          * 00080000                
.*                                                                    * 00090000                
.*   . CCP GENERATION FIRST PASS MACRO-INSTRUCTION -- DEFINE          * 00100000                
.*     FUNCTIONAL FACILITIES DESIRED IN USER'S VERSION OF CCP.        * 00110000                
.*                                                                    * 00120000                
.* INPUT OPERANDS:                                                    * 00130000                
.*                                                                    * 00140000                
.*                                                                    * 00150000                
.*   . ESCAPE-NO/'6 CHARACTERS'/X'12 HEX DIGITS'                      * 00160000                
.*                                                                    * 00170000                
.*     DATA MODE ESCAPE FEATURE IS TO BE SUPPORTED AND THE INPUT      * 00180000                
.*     STRING FROM A TERMINAL WHICH SIGNALS THE REQUEST FOR ESCAPE    * 00190000                
.*     IS SPECIFIED.  DEFAULT IS NO (FEATURE IS NOT TO BE SUPPORTED.  * 00200000                
.*                                                                    * 00210000                
.*   . PGMCNT-YES/Y/NO/N                                              * 00220000                
.*                                                                    * 00230000                
.*     COUNTS ARE TO BE KEPT, PER USER PROGRAM, OF REQUESTS FOR THAT  * 00240000                
.*     PROGRAM.  DEFAULT IS NO.                                       * 00250000                
.*                                                                    * 00260000                
.*   . SYMFIL-YES/Y/NO/N                                              * 00270000                
.*                                                                    * 00280000                
.*     THE SYMBOLIC FILE REFERENCE FACILITY IS TO BE SUPPORTED.       * 00290000                
.*     DEFAULT IS NO.                                                 * 00300000                
.*                                                                    * 00310000                
.*   . FORMAT-YES/Y/NO/N                                              * 00320000                
.*                                                                    * 00330000                
.*     THE DISPLAY FORMAT FACILITY FOR 3270 IS TO BE INCLUDED.        * 00340000                
.*     DEFAULT IS NO.                                                 * 00350000                
.*                                                                    * 00360000                
.*   . RUF-YES/Y/NO/N                                                 * 00370000                
.*                                                                    * 00380000                
.*     THE 'READ UNDER FORMAT' FACILITY IS TO BE INCLUDED.            * 00390000                
.*     DEFAULT IS NO.                                                 * 00400000                
.*                                                                    * 00410000                
.*   . ACCEPT-YES/Y/NO/N                                                00420000                
.*                                                                      00430000                
.*     THE 'RESIDENT ACCEPT INPUT' FACILITY IS TO BE SUPPORTED.         00440000                
.*     DEFAULT IS NO.                                                   00450000                
.*                                                                    * 00450900                
.*   . BSYPRT-YES/Y/NO/N                                                00451800                
.*                                                                      00452700                
.*     THE '328X BUSY PRINTER'  FACILITY IS TO BE SUPPORTED.            00453600                
.*     DEFAULT IS NO.                                                   00454500                
.*                                                                    * 00455400                
.*   . CPUMSG-YES/Y/NO/N                                                00456300                
.*                                                                      00457200                
.*     ALLOW S TYPE (INFORMATIONAL) MESSAGES TO CPU TERMINALS.          00458100                
.*     DEFAULT IS NO.                                                   00459000                
.*                                                                      00460000                
.********************************************************************** 00470000                
       $EFAC &ESCAPE-NO,&PGMCNT-NO,&SYMFIL-NO,&FORMAT-NO,&PRUF-NO,     X00480000                
             &ACCEPT-NO,&BSYPRT-NO,&CPUMSG-NO                           00490000                
.*                                                                      00500000                
       GBLB  &TERR                     . TERMINATION ERROR SWITCH       00510000                
       GBLA  &SEQ                      . STATEMENT SEQUENCE CONTROL     00520000                
.*                                     .   MUST BE 0 UPON ENTRY         00530000                
.*                                     .   IS MADE 2 AFTER PROCESSING   00540000                
.*                                                                      00550000                
       GBLB  &FDME                     . DATA-MODE ESCAPE USED (ESCAPE) 00560000                
       GBLB  &FPGC                     . PGM-RQST COUNTS USED (PGMCNT)  00570000                
       GBLB  &FSYM                     . SYMBOLIC FILES USED (SYMFIL)   00580000                
       GBLB  &FDFF                     . DISPLAY FORMAT USED (FORMAT)   00590000                
       GBLB  &FRUF                     . 'READ UNDER FORMAT'  (RUF)     00600000                
       GBLB  &FAI                      . RESIDENT ACCEPT INPUT (ACCEPT) 00610000                
       GBLC  &X1DME,&X2DME             . DATA MAOE ESCAPE STRING        00620000                
       GBLB  &FPBSY                    . 328X PRINTER BUSY SUPPORT      00623000                
       GBLB  &FCPUM                    . SEND S TYPE MESSAGES TO CPU'S  00626000                
.*                                                                      00630000                
       LCLA  &N                        . USED FOR LENGTH OF ESCAPE CHAR 00640000                
       LCLA  &NUM                      FOR TESTING NUMERIC OPERANDS     00650000                
.*                                                                      00660000                
.*---------  PARAMETER TRANSFORMATION TABLES  ------------------------* 00670000                
.*                                                                      00680000                
.*                                                                      00690000                
       TABLE &SYMFIL                   . SYMBOLIC DISK FILE FEATURE     00700000                
YES    TABDF 1                                                          00710000                
Y      TABDF 1                                                          00720000                
NO     TABDF 0                                                          00730000                
N      TABDF 0                                                          00740000                
       TABDF *                         . ERRONEOUS PARAMETER            00750000                
.*                                                                      00760000                
       TABLE &PGMCNT                   . PROGRAM-REQUEST COUNTS         00770000                
YES    TABDF 1                                                          00780000                
Y      TABDF 1                                                          00790000                
NO     TABDF 0                                                          00800000                
N      TABDF 0                                                          00810000                
       TABDF *                         . ERRONEOUS PARAMETER            00820000                
.*                                                                      00830000                
       TABLE &FORMAT                   . DISPLAY FORMAT FACILITY        00840000                
YES    TABDF 1                                                          00850000                
Y      TABDF 1                                                          00860000                
NO     TABDF 0                                                          00870000                
N      TABDF 0                                                          00880000                
       TABDF *                         . ERRONEOUS PARAMETER            00890000                
.*                                                                      00900000                
       TABLE &PRUF                     . READ UNDER FORMAT              00910000                
YES    TABDF 1                                                          00920000                
Y      TABDF 1                                                          00930000                
NO     TABDF 0                                                          00940000                
N      TABDF 0                                                          00950000                
       TABDF *                         . ERRONEOUS PARAMETER            00960000                
.*                                                                      00970000                
       TABLE &ACCEPT                   . RESIDENT ACCEPT INPUT FEATURE  00980000                
YES    TABDF 1                                                          00990000                
Y      TABDF 1                                                          01000000                
NO     TABDF 0                                                          01010000                
N      TABDF 0                                                          01020000                
       TABDF *                         . ERRONEOUS PARAMETER            01030000                
.*                                                                      01030600                
       TABLE &BSYPRT                   . 328X PRINTER BUSY FACILITY     01031200                
YES    TABDF 1                                                          01031800                
Y      TABDF 1                                                          01032400                
NO     TABDF 0                                                          01033000                
N      TABDF 0                                                          01033600                
       TABDF *                         . ERRONEOUS PARAMETER            01034200                
.*                                                                      01034800                
       TABLE &CPUMSG                   . SEND S MESSAGES TO CPU'S       01035400                
YES    TABDF 1                                                          01036000                
Y      TABDF 1                                                          01036600                
NO     TABDF 0                                                          01037200                
N      TABDF 0                                                          01037800                
       TABDF *                         . ERRONEOUS PARAMETER            01038400                
.*                                                                      01039000                
       TEXT                                                             01040000                
.*                                                                      01050000                
.*---------  CHECK STATEMENT SEQUENCE  -------------------------------* 01060000                
.*                                                                      01070000                
       AIF   (&SEQ EQ '0').SEQOK       . SKIP IF GOOD SEQUENCE          01080000                
.*                                                                      01090000                
*!050E $EFAC STATEMENT OUT OF SEQUENCE -- OR PRECEDING STATEMENT ERROR  01100000                
&TERR  SETB  1                                                          01110000                
&FDME  SETB  0                         . ERROR--MAKE NULL PREVIOUS SPEC 01120000                
&FPGC  SETB  0                         . ERROR--MAKE NULL PREVIOUS SPEC 01130000                
&FSYM  SETB  0                         . ERROR--MAKE NULL PREVIOUS SPEC 01140000                
&FDFF  SETB  0                         . ERROR--MAKE NULL PREVIOUS SPEC 01150000                
&FRUF  SETB  0                         . ERROR--MAKE NULL PREVIOUS SPEC 01160000                
&FAI   SETB  0                         . ERROR--MAKE NULL PREVIOUS SPEC 01170000                
&X1DME SETC  ''                        . ERROR--MAKE NULL PREVIOUS SPEC 01180000                
&X2DME SETC  ''                        . ERROR--MAKE NULL PREVIOUS SPEC 01190000                
.*                                                                      01200000                
.SEQOK ANOP                                                             01210000                
.*                                                                      01220000                
.*---------  SYMFIL-YES/NO (YES-1, NO-0)  ----------------------------* 01230000                
.*                                                                      01240000                
       AIF   (&SYMFIL NE '*').SFOK     . SKIP IF VALID PARAMETER        01250000                
.*                                                                      01260000                
*!075E INVALID 'SYMFIL' PARAMETER -- MUST BE YES/Y/NO/N                 01270000                
&TERR  SETB  1                         . SET TERMINATION ERROR SWITCH   01280000                
       AGO   .SFEND                                                     01290000                
.*                                                                      01300000                
.SFOK  ANOP                            . VALID PARAMETER                01310000                
       AIF   (&SYMFIL EQ '0').SFEND    . SKIP IF SYMFIL-NO              01320000                
.*                                                                      01330000                
&FSYM  SETB  1                         . SYMFIL-YES                     01340000                
.*                                                                      01350000                
.SFEND ANOP                            . END OPERAND 'SYMFIL'           01360000                
.*                                                                      01370000                
.*---------  PGMCNT-YES/NO (YES-1, NO-0)  ----------------------------* 01380000                
.*                                                                      01390000                
       AIF   (&PGMCNT NE '*').PCOK     . SKIP IF VALID PARAMETER        01400000                
.*                                                                      01410000                
*!080E INVALID 'PGMCNT' PARAMETER -- MUST BE YES/Y/NO/N                 01420000                
&TERR  SETB  1                         . SET TERMINATION ERROR SWITCH   01430000                
       AGO   .PCEND                                                     01440000                
.*                                                                      01450000                
.PCOK  ANOP                            . VALID PARAMETER                01460000                
       AIF   (&PGMCNT EQ '0').PCEND    . SKIP IF PGMCNT-NO              01470000                
.*                                                                      01480000                
&FPGC  SETB  1                         . PGMCNT-YES                     01490000                
.*                                                                      01500000                
.PCEND ANOP                            . END OPERAND 'PGMCNT'           01510000                
.*                                                                      01520000                
.*---------  ESCAPE-NO/'CCCCCC'/X'XXXXXXXXXXXX'  ---------------------* 01530000                
.*                                                                      01540000                
&N     SETA  K'&ESCAPE                 . NUMBER OF CHARS WRITTEN        01550000                
       AIF   (&ESCAPE EQ 'NO').DMEND   . SKIP IF ESCAPE-NO              01560000                
       AIF   (&ESCAPE EQ 'N').DMEND    . SKIP IF ESCAPE-N               01570000                
       AIF   ('&ESCAPE'(1,2) EQ 'X''').DMX  . SKIP IF ESCAPE-HEX        01580000                
.*                                                                      01590000                
.DMC   ANOP                            . ESCAPE-'CCCCCC'                01600000                
       AIF   (&N LT '6').DMERR         . SKIP IF LT 6 CHARS -- ERROR    01610000                
.*                                                                      01620000                
&FDME  SETB  1                                                          01630000                
&X2DME SETC  '&ESCAPE'(1,4)            . GET 1ST FOUR CHARS             01640000                
&X1DME SETC  'CL6''&X2DME'             . CL6'XXXX                       01650000                
&X2DME SETC  '&ESCAPE'(5,8)            . GET REMAINING CHARACTERS       01660000                
       AIF   ('&ESCAPE'(1,1) NE '''').DM2  . SKIP IF THIS CHAR *NOT* '  01670000                
       AIF   ('&ESCAPE'(2,1) NE '''').DMERR . ERROR IF NEXT NOT QUOTE   01680000                
&N     SETA  &N-1                      . REDUCE BY 1 FOR DOUBLE QUOTE   01690000                
       AGO   .DM3                      . WAS QUOTE -- SKIP A CHARACTER  01700000                
.DM2   ANOP                                                             01710000                
       AIF   ('&ESCAPE'(2,1) NE '''').DM3  . SKIP IF THIS CHAR *NOT* '  01720000                
       AIF   ('&ESCAPE'(3,1) NE '''').DMERR . ERROR IF NEXT NOT QUOTE   01730000                
&N     SETA  &N-1                      . REDUCE BY 1 FOR DOUBLE QUOTE   01740000                
       AGO   .DM4                      . WAS QUOTE -- SKIP A CHARACTER  01750000                
.DM3   ANOP                                                             01760000                
       AIF   ('&ESCAPE'(3,1) NE '''').DM4  . SKIP IF THIS CHAR *NOT* '  01770000                
       AIF   ('&ESCAPE'(4,1) NE '''').DMERR . ERROR IF NEXT NOT QUOTE   01780000                
&N     SETA  &N-1                      . REDUCE BY 1 FOR DOUBLE QUOTE   01790000                
       AGO   .DM5                      . WAS QUOTE -- SKIP A CHARACTER  01800000                
.DM4   ANOP                                                             01810000                
       AIF   ('&ESCAPE'(4,1) NE '''').DM5  . SKIP IF THIS CHAR *NOT* '  01820000                
       AIF   ('&ESCAPE'(5,1) NE '''').DMERR . ERROR IF NEXT NOT QUOTE   01830000                
&N     SETA  &N-1                      . REDUCE BY 1 FOR DOUBLE QUOTE   01840000                
       AGO   .DM6                      . WAS QUOTE -- SKIP A CHARACTER  01850000                
.DM5   ANOP                                                             01860000                
       AIF   ('&ESCAPE'(5,1) NE '''').DM6  . SKIP IF THIS CHAR *NOT* '  01870000                
       AIF   ('&ESCAPE'(6,1) NE '''').DMERR . ERROR IF NEXT NOT QUOTE   01880000                
&N     SETA  &N-1                      . REDUCE BY 1 FOR DOUBLE QUOTE   01890000                
       AGO   .DM7                      . WAS QUOTE -- SKIP A CHARACTER  01900000                
.DM6   ANOP                                                             01910000                
       AIF   ('&ESCAPE'(6,1) NE '''').DM7  . SKIP IF THIS CHAR *NOT* '  01920000                
       AIF   ('&ESCAPE'(7,1) NE '''').DMERR . ERROR IF NEXT NOT QUOTE   01930000                
&N     SETA  &N-1                      . REDUCE BY 1 FOR DOUBLE QUOTE   01940000                
       AGO   .DM8                      . WAS QUOTE -- SKIP A CHARACTER  01950000                
.DM7   ANOP                                                             01960000                
       AIF   ('&ESCAPE'(7,1) NE '''').DM8  . SKIP IF THIS CHAR *NOT* '  01970000                
       AIF   ('&ESCAPE'(8,1) NE '''').DMERR . ERROR IF NEXT NOT QUOTE   01980000                
&N     SETA  &N-1                      . REDUCE BY 1 FOR DOUBLE QUOTE   01990000                
       AGO   .DM9                      . WAS QUOTE -- SKIP A CHARACTER  02000000                
.DM8   ANOP                                                             02010000                
       AIF   ('&ESCAPE'(8,1) NE '''').DM9  . SKIP IF THIS CHAR *NOT* '  02020000                
       AIF   ('&ESCAPE'(9,1) NE '''').DMERR . ERROR IF NEXT NOT QUOTE   02030000                
&N     SETA  &N-1                      . REDUCE BY 1 FOR DOUBLE QUOTE   02040000                
       AGO   .DM10                     . WAS QUOTE -- SKIP A CHARACTER  02050000                
.DM9   ANOP                                                             02060000                
       AIF   ('&ESCAPE'(9,1) NE '''').DM10 . SKIP IF THIS CHAR *NOT* '  02070000                
       AIF   ('&ESCAPE'(10,1) NE '''').DMERR  . ERR IF NEXT NOT QUOTE   02080000                
&N     SETA  &N-1                      . REDUCE BY 1 FOR DOUBLE QUOTE   02090000                
       AGO   .DM11                     . WAS QUOTE -- SKIP A CHARACTER  02100000                
.DM10  ANOP                                                             02110000                
       AIF   ('&ESCAPE'(10,1) NE '''').DM11 . SKIP IF THIS *NOT* '      02120000                
       AIF   ('&ESCAPE'(11,1) NE '''').DMERR  . ERR IF NEXT NOT QUOTE   02130000                
&N     SETA  &N-1                      . REDUCE BY 1 FOR DOUBLE QUOTE   02140000                
       AGO   .DMCK6                    . WAS QUOTE -- GO CHECK COUNT    02150000                
.DM11  ANOP                                                             02160000                
       AIF   ('&ESCAPE'(11,1) NE '''').DMCK6 . SKIP IF THIS NOT QUOTE   02170000                
       AIF   ('&ESCAPE'(12,1) NE '''').DMERR  . ERR IF NEXT NOT QUOTE   02180000                
&N     SETA  &N-1                      . REDUCE BY 1 FOR DOUBLE QUOTE   02190000                
.*                                                                      02200000                
.DMCK6 ANOP                            . NOW CHECK THE COUNT FOR REAL   02210000                
       AIF   (&N NE '6').DMERR         . ERROR IF NOT EXACTLY 6         02220000                
.*                                                                      02230000                
       AGO   .DMEND                                                     02240000                
.*                                                                      02250000                
.DMX   ANOP                            . ESCAPE-X'XXXXXXXXXXXX'         02260000                
       AIF   (&N NE '15').DMERR        . SKIP IF INVALID NO. CHARS      02270000                
       AIF   ('&ESCAPE'(15,1) NE '''').DMERR  . SKIP IF LAST CHAR NOT ' 02280000                
.*                                                                      02290000                
&FDME  SETB  1                                                          02300000                
&X2DME SETC  '&ESCAPE'(2,5)                                             02310000                
&X1DME SETC  'XL6&X2DME'                                                02320000                
&X2DME SETC  '&ESCAPE'(7,8)                                             02330000                
.*                                                                      02340000                
       AIF   ('&ESCAPE'(3,1) GT '9').DMERR  . ERROR IF GT 9             02350000                
       AIF   ('&ESCAPE'(3,1) LT 'A').DMERR  . ERROR IF LT 'A'           02360000                
       AIF   ('&ESCAPE'(3,1) GE '0').DX4   . OK IF IN RANGE 0-9         02370000                
       AIF   ('&ESCAPE'(3,1) GT 'F').DMERR   . ERR IF NOT IN RANGE A-F  02380000                
.DX4   ANOP                                                             02390000                
       AIF   ('&ESCAPE'(4,1) GT '9').DMERR  . ERROR IF GT 9             02400000                
       AIF   ('&ESCAPE'(4,1) LT 'A').DMERR  . ERROR IF LT 'A'           02410000                
       AIF   ('&ESCAPE'(4,1) GE '0').DX5   . OK IF IN RANGE 0-9         02420000                
       AIF   ('&ESCAPE'(4,1) GT 'F').DMERR   . ERR IF NOT IN RANGE A-F  02430000                
.DX5   ANOP                                                             02440000                
       AIF   ('&ESCAPE'(5,1) GT '9').DMERR  . ERROR IF GT 9             02450000                
       AIF   ('&ESCAPE'(5,1) LT 'A').DMERR  . ERROR IF LT 'A'           02460000                
       AIF   ('&ESCAPE'(5,1) GE '0').DX6   . OK IF IN RANGE 0-9         02470000                
       AIF   ('&ESCAPE'(5,1) GT 'F').DMERR   . ERR IF NOT IN RANGE A-F  02480000                
.DX6   ANOP                                                             02490000                
       AIF   ('&ESCAPE'(6,1) GT '9').DMERR  . ERROR IF GT 9             02500000                
       AIF   ('&ESCAPE'(6,1) LT 'A').DMERR  . ERROR IF LT 'A'           02510000                
       AIF   ('&ESCAPE'(6,1) GE '0').DX7   . OK IF IN RANGE 0-9         02520000                
       AIF   ('&ESCAPE'(6,1) GT 'F').DMERR   . ERR IF NOT IN RANGE A-F  02530000                
.DX7   ANOP                                                             02540000                
       AIF   ('&ESCAPE'(7,1) GT '9').DMERR  . ERROR IF GT 9             02550000                
       AIF   ('&ESCAPE'(7,1) LT 'A').DMERR  . ERROR IF LT 'A'           02560000                
       AIF   ('&ESCAPE'(7,1) GE '0').DX8   . OK IF IN RANGE 0-9         02570000                
       AIF   ('&ESCAPE'(7,1) GT 'F').DMERR   . ERR IF NOT IN RANGE A-F  02580000                
.DX8   ANOP                                                             02590000                
       AIF   ('&ESCAPE'(8,1) GT '9').DMERR  . ERROR IF GT 9             02600000                
       AIF   ('&ESCAPE'(8,1) LT 'A').DMERR  . ERROR IF LT 'A'           02610000                
       AIF   ('&ESCAPE'(8,1) GE '0').DX9   . OK IF IN RANGE 0-9         02620000                
       AIF   ('&ESCAPE'(8,1) GT 'F').DMERR   . ERR IF NOT IN RANGE A-F  02630000                
.DX9   ANOP                                                             02640000                
       AIF   ('&ESCAPE'(9,1) GT '9').DMERR  . ERROR IF GT 9             02650000                
       AIF   ('&ESCAPE'(9,1) LT 'A').DMERR  . ERROR IF LT 'A'           02660000                
       AIF   ('&ESCAPE'(9,1) GE '0').DX10  . OK IF IN RANGE 0-9         02670000                
       AIF   ('&ESCAPE'(9,1) GT 'F').DMERR   . ERR IF NOT IN RANGE A-F  02680000                
.DX10  ANOP                                                             02690000                
       AIF   ('&ESCAPE'(10,1) GT '9').DMERR  . ERROR IF GT 9            02700000                
       AIF   ('&ESCAPE'(10,1) LT 'A').DMERR . ERROR IF LT 'A'           02710000                
       AIF   ('&ESCAPE'(10,1) GE '0').DX11 . OK IF IN RANGE 0-9         02720000                
       AIF   ('&ESCAPE'(10,1) GT 'F').DMERR  . ERR IF NOT IN RANGE A-F  02730000                
.DX11  ANOP                                                             02740000                
       AIF   ('&ESCAPE'(11,1) GT '9').DMERR  . ERROR IF GT 9            02750000                
       AIF   ('&ESCAPE'(11,1) LT 'A').DMERR . ERROR IF LT 'A'           02760000                
       AIF   ('&ESCAPE'(11,1) GE '0').DX12 . OK IF IN RANGE 0-9         02770000                
       AIF   ('&ESCAPE'(11,1) GT 'F').DMERR  . ERR IF NOT IN RANGE A-F  02780000                
.DX12  ANOP                                                             02790000                
       AIF   ('&ESCAPE'(12,1) GT '9').DMERR  . ERROR IF GT 9            02800000                
       AIF   ('&ESCAPE'(12,1) LT 'A').DMERR . ERROR IF LT 'A'           02810000                
       AIF   ('&ESCAPE'(12,1) GE '0').DX13 . OK IF IN RANGE 0-9         02820000                
       AIF   ('&ESCAPE'(12,1) GT 'F').DMERR  . ERR IF NOT IN RANGE A-F  02830000                
.DX13  ANOP                                                             02840000                
       AIF   ('&ESCAPE'(13,1) GT '9').DMERR  . ERROR IF GT 9            02850000                
       AIF   ('&ESCAPE'(13,1) LT 'A').DMERR . ERROR IF LT 'A'           02860000                
       AIF   ('&ESCAPE'(13,1) GE '0').DX14 . OK IF IN RANGE 0-9         02870000                
       AIF   ('&ESCAPE'(13,1) GT 'F').DMERR  . ERR IF NOT IN RANGE A-F  02880000                
.DX14  ANOP                                                             02890000                
       AIF   ('&ESCAPE'(14,1) GT '9').DMERR  . ERROR IF GT 9            02900000                
       AIF   ('&ESCAPE'(14,1) LT 'A').DMERR . ERROR IF LT 'A'           02910000                
       AIF   ('&ESCAPE'(14,1) GE '0').DMEND . OK IF IN RANGE 0-9        02920000                
       AIF   ('&ESCAPE'(14,1) GT 'F').DMERR  . ERR IF NOT IN RANGE A-F  02930000                
       AGO   .DMEND                                                     02940000                
.*                                                                      02950000                
.DMERR ANOP  . INVALID PARAMETER                                        02960000                
*!085E INVALID 'ESCAPE' PARAMETER -- MUST BE '6 CHARS'/X'12 CHARS'/NO   02970000                
&TERR  SETB  1                         . SET TERMINATION ERROR SWITCH   02980000                
.*                                                                      02990000                
.DMEND ANOP                            . END OPERAND 'ESCAPE'           03000000                
.*                                                                      03010000                
.*---------  FORMAT-YES/NO (YES-1, NO-0)  ----------------------------* 03020000                
.*                                                                      03030000                
       AIF   (&FORMAT NE '*').FMOK     . SKIP IF VALID PARAMETER        03040000                
.*                                                                      03050000                
*!090E INVALID 'FORMAT' PARAMETER -- MUST BE YES/Y/NO/N                 03060000                
&TERR  SETB  1                         . SET TERMINATION ERROR SWITCH   03070000                
       AGO   .FMEND                                                     03080000                
.*                                                                      03090000                
.FMOK  ANOP                            . VALID PARAMETER                03100000                
       AIF   (&FORMAT EQ '0').FMEND    . SKIP IF FORMAT-NO              03110000                
.*                                                                      03120000                
&FDFF  SETB  1                         . FORMAT-YES                     03130000                
.*                                                                      03140000                
.FMEND ANOP                            . END OPERAND 'FORMAT'           03150000                
.*                                                                      03160000                
.*-----------  PRUF-YES/NO (YES-1, NO-0)  ----------------------------* 03170000                
.*                                                                      03180000                
       AIF   (&PRUF NE '*').RFMOK      . SKIP IF VALID PARAMETER        03190000                
.*                                                                      03200000                
*!091E INVALID 'PRUF' PARAMETER ---- MUST BE YES/Y/NO/N                 03210000                
&TERR  SETB  1                         . SET TERMINATION ERROR SWITCH   03220000                
       AGO   .RFEND                                                     03230000                
.*                                                                      03240000                
.RFMOK ANOP                            . VALID PARAMETER                03250000                
       AIF   (&PRUF EQ '0').RFEND      . SKIP IF PRUF-N0                03260000                
.*                                                                      03270000                
&FRUF  SETB  1                         . PRUF-YES                       03280000                
.*                                                                      03290000                
.RFEND ANOP                            . END OPERAND 'PRUF'             03300000                
.*                                                                      03310000                
.*---------  ACCEPT-YES/NO (YES-1,NO-0) ------------------------------* 03320000                
.*                                                                      03330000                
       AIF   (&ACCEPT NE '*').RAIOK    . SKIP IF VALID PARAMETER        03340000                
.*                                                                      03350000                
*!093E INVALID 'ACCEPT' PARAMETER -- MUST BE YES/Y/NO/N                 03360000                
&TERR  SETB  1                         . SET TERMINATION ERROR SWITCH   03370000                
       AGO   .RAEND                                                     03380000                
.*                                                                      03390000                
.RAIOK ANOP                            . VALID PARAMETER                03400000                
       AIF   (&ACCEPT EQ '0').RAEND    . SKIP IF ACCEPT-NO              03410000                
.*                                                                      03420000                
&FAI   SETB  1                         . ACCEPT-YES                     03430000                
.*                                                                      03440000                
.RAEND ANOP                            . END OPERAND 'ACCEPT'           03450000                
.*                                                                      03460000                
.*---------  BSYPRT-YES/NO (YES-1,NO-0) ------------------------------* 03460300                
.*                                                                      03460600                
       AIF   (&BSYPRT NE '*').BYOK     . SKIP IF VALID PARAMETER        03460900                
.*                                                                      03461200                
*!097E INVALID 'BSYPRT' PARAMETER -- MUST BE YES/Y/NO/N                 03461500                
&TERR  SETB  1                         . SET TERMINATION ERROR SWITCH   03461800                
       AGO   .BYEND                                                     03462100                
.*                                                                      03462400                
.BYOK  ANOP                            . VALID PARAMETER                03462700                
       AIF   (&BSYPRT EQ '0').BYEND    . SKIP IF ACCEPT-NO              03463000                
.*                                                                      03463300                
&FPBSY SETB  1                         . BSYPRT-YES                     03463600                
.*                                                                      03463900                
.BYEND ANOP                            . END OPERAND 'BSYPRT'           03464200                
.*                                                                      03464500                
.*---------  CPUMSG-YES/NO (YES-1,NO-0) ------------------------------* 03464800                
.*                                                                      03465100                
       AIF   (&CPUMSG NE '*').MSOK     . SKIP IF VALID PARAMETER        03465400                
.*                                                                      03465700                
*!099E INVALID 'CPUMSG' PARAMETER -- MUST BE YES/Y/NO/N                 03466000                
&TERR  SETB  1                         . SET TERMINATION ERROR SWITCH   03466300                
       AGO   .MSEND                                                     03466600                
.*                                                                      03466900                
.MSOK  ANOP                            . VALID PARAMETER                03467200                
       AIF   (&CPUMSG EQ '0').MSEND    . SKIP IF CPUMSG-NO              03467500                
.*                                                                      03467800                
&FCPUM SETB  1                         . CPUMSG-YES                     03468100                
.*                                                                      03468400                
.MSEND ANOP                            . END OPERAND 'CPUMSG'           03468700                
.*                                                                      03469000                
.*---------  SET STATEMENT SEQUENCE  ---------------------------------* 03470000                
.*                                                                      03480000                
&SEQ   SETA  2                         . INDICATE $EFAC PROCESSED       03490000                
.*                                                                      03500000                
       MEND                                                             03510000