|
|
DataMuseum.dkPresents historical artifacts from the history of: IBM System/3 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about IBM System/3 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 24638 (0x603e)
Types: s3xseg
Names: »S$EFAC«
└─⟦4498c64f7⟧ Bits:30009191 5704-sc2.V05.ccp
└─⟦95ee7795b⟧
└─⟦this⟧ »S$EFAC«
MACRO 00010000
.********************************************************************** 00020000
.* * 00030000
.* NAME: $EFAC * 00040000
.* * 00050000
.* MODIFICATION LEVEL: VERSION 4, 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
.* 00460000
.* . RESOPN-YES/Y/NO/N 00461000
.* 00462000
.* THE 'RESIDENT OPEN/CLOSE/ALLOCATE' FACILITY IS TO BE SUPPORTED. 00463000
.* DEFAULT IS NO. 00464000
.* * 00464100
.* . SIOC-YES/Y/NO/N * 00464200
.* * 00464300
.* THE 'SERIAL I/O CHANNEL' FACILITY IS TO BE SUPPORTED. * 00464400
.* DEFAULT IS NO. * 00464500
.* * 00464600
.* 00465000
.* . BSYPRT-YES/Y/NO/N * 00465100
.* * 00465200
.* THE 328X PRINTER BUSY FACILITY IS SUPPORTED. * 00465300
.* DEFAULT IS NO. * 00465400
.* * 00465500
.* * 00465600
.* . MOVTNT-YES/Y/NO/N * 00465700
.* * 00465800
.* THE MOVE-OUT OF TNT TO UPA IS SUPPORTED. * 00465900
.* DEFAULT IS NO. * 00466000
.* * 00466100
.* * 00466200
.* . MOVDFF-YES/Y/NO/N * 00466300
.* * 00466400
.* THE MOVE-OUT OF DFF CONTROL MODULE FEATURE IS SUPPORTED. * 00466500
.* DEFAULT IS NO. * 00466600
.* * 00466700
.* * 00466800
.* . RESREQ-YES/Y/NO/N * 00466900
.* * 00467000
.* THE RESIDENT PROGRAM REQUEST FACILITY IS TO BE SUPPORTED. * 00467100
.* DEFAULT IS NO. * 00467200
.* * 00467300
.* * 00467400
.* . OPPRUF-YES/Y/NO/N * 00467500
.* * 00467600
.* THE PRUF OPTIMIZATION MODE IS TO BE SUPPORTED. * 00467700
.* DEFAULT IS YES. * 00467800
.* * 00467900
.* * 00468000
.* . CPUMSG-YES/Y/NO/N * 00468100
.* * 00468200
.* THE ALLOW CPU MESSAGES FACILITY IS TO BE SUPPORTED. * 00468300
.* DEFAULT IS NO. * 00468400
.* * 00468500
.* * 00468600
.* . LOWCAS-NO/N/PF1 - PF12 * 00468700
.* * 00468800
.* THE PF KEY WHICH WILL INDICATE LOWER CASE INPUT FROM A TERMINAL* 00468900
.* DEFAULT IS NO. * 00469000
.* * 00469050
.* * 00469110
.* . TTASK-YES/Y/NO/N * 00469120
.* * 00469130
.* THE TASK TO TASK FACILITY IS TO BE SUPPORTED. * 00469140
.* DEFAULT IS NO. * 00469150
.* * 00469160
.* * 00469170
.* * 00469200
.* * 00469300
.* * 00469400
.********************************************************************** 00470000
$EFAC &ESCAPE-NO,&PGMCNT-NO,&SYMFIL-NO,&FORMAT-NO,&PRUF-NO, X00480000
&ACCEPT-NO,&RESOPN-NO,&BSYPRT-NO,&MOVTNT-NO,&MOVDFF-NO, X00490000
&RESREQ-NO,&SIOC-NO,&OPPRUF-YES,&CPUMSG-NO,&LOWCAS-NO, X00495000
&TTASK-NO 00497000
.* 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
GBLB &FROC . RESIDENT O/C/A 00615000
GBLB &FSIO . SIOC 00617000
GBLC &X1DME,&X2DME . DATA MAOE ESCAPE STRING 00620000
GBLB &FPBSY . PRINTER BUSY SUPPORT 00621000
GBLB &FMOVT . TNT MOVE-OUT 00622000
GBLB &FMOV . DFF MOVE-OUT 00623000
GBLB &FRPR . RESIDENT PROGRAM REQUEST 00624000
GBLB &FORUF . OPTIMIZE PRUF 00625000
GBLB &FCPUM . CPU MESSAGES 00626000
GBLC &FPFK . PF KEY TO INDICATE LOWER CASE 00627000
GBLB &FTTSK . TASK TO TASK IS SUPPORTED 00628000
.* 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
.* 01031000
TABLE &RESOPN . RESIDENT OPEN/CLOSE/ALLOCATE 01032000
YES TABDF 1 . FEATURE 01033000
Y TABDF 1 01034000
NO TABDF 0 01035000
N TABDF 0 01036000
TABDF * . ERRONEOUS PARAMETER 01037000
.* 01038000
TABLE &BSYPRT . 328X PRINTER BUSY FACILITY 01038020
YES TABDF 1 01038040
Y TABDF 1 01038060
NO TABDF 0 01038080
N TABDF 0 01038100
TABDF * . ERRORNEOUS PARAMETER 01038120
.* 01038140
TABLE &MOVTNT . TNT MOVE-OUT FEATURE SUPPORTED 01038160
YES TABDF 1 01038180
Y TABDF 1 01038200
NO TABDF 0 01038220
N TABDF 0 01038240
TABDF * . ERRONEOUS PARAMETER 01038260
.* 01038280
TABLE &MOVDFF . DFF MOVE-OUT FEATURE SUPPORTED 01038300
YES TABDF 1 01038320
Y TABDF 1 01038340
NO TABDF 0 01038360
N TABDF 0 01038380
TABDF * . ERRONEOUS PARAMETER 01038400
.* 01038420
TABLE &RESREQ . RESIDENT PROGRAM REQUEST 01038440
YES TABDF 1 . FEATURE 01038460
Y TABDF 1 01038480
NO TABDF 0 01038500
N TABDF 0 01038520
TABDF * . ERRONEOUS PARAMETER 01038540
.* 01038560
TABLE &SIOC . SIOC 01038580
YES TABDF 1 . FEATURE 01038600
Y TABDF 1 01038620
NO TABDF 0 01038640
N TABDF 0 01038660
TABDF * . ERRONEOUS PARAMETER 01038680
.* 01038700
TABLE &OPPRUF . OPTIMIZE PRUF 01038720
YES TABDF 1 . FEATURE 01038740
Y TABDF 1 01038760
NO TABDF 0 01038780
N TABDF 0 01038800
TABDF * . ERRONEOUS PARAMETER 01038820
.* 01038840
TABLE &CPUMSG . CPU MESSAGES 01038860
YES TABDF 1 . FEATURE 01038880
Y TABDF 1 01038900
NO TABDF 0 01038920
N TABDF 0 01038940
TABDF * . ERRONEOUS PARAMETER 01038960
.* 01038980
TABLE &LOWCAS . PF KEY FOR LOWER CASE INPUT 01039000
PF1 TABDF F1 01039020
PF2 TABDF F2 01039040
PF3 TABDF F3 01039060
PF4 TABDF F4 01039080
PF5 TABDF F5 01039100
PF6 TABDF F6 01039120
PF7 TABDF F7 01039140
PF8 TABDF F8 01039160
PF9 TABDF F9 01039180
PF10 TABDF 7A 01039200
PF11 TABDF 7B 01039220
PF12 TABDF 7C 01039240
NO TABDF FF 01039260
N TABDF FF 01039280
TABDF * . ERRONEOUS PARAMETER 01039300
.* 01039302
TABLE &TTASK . TASK TO TASK SUPPORT 01039304
YES TABDF 1 01039306
Y TABDF 1 01039308
NO TABDF 0 01039310
N TABDF 0 01039312
TABDF * . INVALID PARAMETER 01039314
.* 01039320
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
&FROC SETB 0 . ERROR--MAKE NULL PREVIOUS SPEC 01163000
&FRPR SETB 0 . ERROR--MAKE NULL PREVIOUS SPEC 01166000
&FAI SETB 0 . ERROR--MAKE NULL PREVIOUS SPEC 01170000
&FSIO SETB 0 . ERROR--MAKE NULL PREVIOUS SPEC 01175000
&FTTSK SETB 0 . ERROR--MAKE NULL PREVIOUS SPEC 01177000
&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
.*--------- RESOPN-YES/NO (1-YES,0-NO) ------------------------------* 03460600
.* 03461200
AIF (&RESOPN NE '*').OPNOK . SKIP IF VALID PARAMETER 03461800
*!094E INVALID 'RESOPN' PARAMETER -- MUST BE YES/Y/NO/N 03462400
&TERR SETB 1 03463000
AGO .OPNEN 03463600
.* 03464200
.OPNOK ANOP . CONTINUE 03464800
AIF (&RESOPN EQ '0').OPNEN . SKIP IF RESOPN-NO 03465400
.* 03466000
&FROC SETB 1 . RESOPN-YES 03466600
.* 03467200
.OPNEN ANOP . END OPERAND 'RESOPN' 03467800
.* 03468400
.*--------- BSYPRT-YES/Y/NO/N --------------------------------------* 03468410
.* 03468420
AIF (&BSYPRT NE '*').BSYOK . SKIP IF VALID PARAMETER 03468430
*!097E INVALID 'BSYPRT' PARAMETER -- MUST BE YES/Y/NO/N 03468440
&TERR SETB 1 03468450
AGO .BSYND 03468460
.* 03468470
.BSYOK ANOP . CONTINUE 03468480
AIF (&BSYPRT EQ '0').BSYND . SKIP IF BSYPRT-YES 03468490
.* 03468500
&FPBSY SETB 1 03468510
.* 03468520
.BSYND ANOP . CONTINUE 03468530
.* 03468540
.*--------- MOVTNT-YES/Y/NO/N --------------------------------------* 03468550
.* 03468560
AIF (&MOVTNT NE '*').MTOK .SKIP IF VALID PARAMETER 03468570
*!098E INVALID 'MOVTNT' PARAMETER -- MUST BE YES/Y/NO/N 03468580
&TERR SETB 1 03468590
AGO .MTEND 03468600
.* 03468610
.MTOK ANOP . CONTINUE 03468620
AIF (&MOVTNT EQ '0').MTEND . SKIP OF MOVDFF-NO 03468630
.* 03468640
&FMOVT SETB 1 03468650
.* 03468660
.MTEND ANOP . CONTINUE 03468670
.* 03468680
.*--------- MOVDFF-YES/Y/NO/N --------------------------------------* 03468690
.* 03468700
AIF (&MOVDFF NE '*').MOVOK .SKIP IF VALID PARAMETER 03468710
*!095E INVALID 'MOVDFF' PARAMETER -- MUST BE YES/Y/NO/N 03468720
&TERR SETB 1 03468730
AGO .MVEND 03468740
.* 03468750
.MOVOK ANOP . CONTINUE 03468760
AIF (&MOVDFF EQ '0').MVEND . SKIP OF MOVDFF-NO 03468770
.* 03468780
&FMOV SETB 1 03468790
.* 03468800
.MVEND ANOP . CONTINUE 03468810
.* 03468820
.*--------- RESREQ-YES/NO (1-YES,0-NO) ------------------------------* 03468830
.* 03468840
AIF (&RESREQ NE '*').PRNOK . SKIP IF VALID PARAMETER 03468850
*!096E INVALID 'RESREQ' PARAMETER -- MUST BE YES/Y/NO/N 03468860
&TERR SETB 1 03468870
AGO .PRNEN 03468880
.* 03468890
.PRNOK ANOP . CONTINUE 03468900
AIF (&RESREQ EQ '0').PRNEN . SKIP IF RESREQ-NO 03468910
.* 03468920
&FRPR SETB 1 . RESREQ-YES 03468930
.* 03468940
.PRNEN ANOP . END OPERAND 'RESREQ' 03468950
.* 03468960
.* 03468970
.*----------- SIOC-YES/NO (1-YES,0-NO) ------------------------------* 03468980
.* 03468990
AIF (&SIOC NE '*').SIOOK . SKIP IF VALID PARAMETER 03469000
*!086E INVALID 'SIOC' PARAMETER -- MUST BE YES/Y/NO/N 03469010
&TERR SETB 1 03469020
AGO .SIOEN 03469030
.* 03469040
.SIOOK ANOP . CONTINUE 03469050
AIF (&SIOC EQ '0').SIOEN . SKIP IF SIOC-NO 03469060
.* 03469070
&FSIO SETB 1 . SIOC-YES 03469080
.* 03469090
.SIOEN ANOP . END OPERAND 'SIOC' 03469100
.* 03469110
.* 03469120
.*----------- OPPRUF-YES/NO (1-YES,0-NO) ----------------------------* 03469130
.* 03469140
AIF (&OPPRUF NE '*').OPFOK . SKIP IF VALID PARAMETER 03469150
*!087E INVALID 'OPPRUF' PARAMETER -- MUST BE YES/Y/NO/N 03469160
&TERR SETB 1 03469170
AGO .OPFEN 03469180
.* 03469190
.OPFOK ANOP . CONTINUE 03469200
AIF (&OPPRUF EQ '0').OPFEN . SKIP IF OPPRUF-NO 03469210
.* 03469220
&FORUF SETB 1 . OPPRUF-YES 03469230
.* 03469240
.OPFEN ANOP . END OPERAND 'OPPRUF' 03469250
.* 03470300
.* 03470600
.*----------- CPUMSG-YES/NO (1-YES,0-NO) ----------------------------* 03470900
.* 03471200
AIF (&CPUMSG NE '*').MSGOK . SKIP IF VALID PARAMETER 03471500
*!099E INVALID 'CPUMSG' PARAMETER -- MUST BE YES/Y/NO/N 03471800
&TERR SETB 1 03472100
AGO .MSGEN 03472400
.* 03472700
.MSGOK ANOP . CONTINUE 03473000
AIF (&CPUMSG EQ '0').MSGEN . SKIP IF CPUMSG-NO 03473300
.* 03473600
&FCPUM SETB 1 . ALLOW CPU MESSAGES (CPUMSG) 03473900
.* 03474200
.MSGEN ANOP . END OPERAND 'CPUMSG' 03474500
.* 03474800
.* 03475100
.*----------- LOWCAS-NO/N/PF1 - PF12 ----------------------------* 03475400
.* 03475700
AIF (&LOWCAS NE '*').LCOK . SKIP IF VALID PARAMETER 03476000
*!088E INVALID 'LOWCAS' PARAMETER -- MUST BE NO/N/PF1 - PF12 03476300
&TERR SETB 1 03476600
AGO .LCEND 03476900
.* 03477200
.LCOK ANOP . CONTINUE 03477500
&FPFK SETC '&LOWCAS' 03477800
.* 03478100
.LCEND ANOP . END OPERAND 'LOWCAS' 03478400
.* 03478420
.* 03478440
.*------------------------TTASK - YES/NO 1=YES,0=NO-------------------* 03478460
AIF (&TTASK NE '*').TTOK . SKIP IF INVALID PARAMETER 03478480
*!053E INVALID 'TTASK' PARAMETER - MUST BE YES/Y/NO/N 03478500
&TERR SETB 1 03478520
AGO .TTEND 03478540
.TTOK ANOP . CONTINUE 03478560
AIF (&TTASK EQ '0').TTEND . SKIP IF TTASK-NO 03478580
&FTTSK SETB 1 . SUPPORT TASK TO TASK FEATURE 03478600
.TTEND ANOP . END OPERAND 'TTASK' 03478620
.*--------- SET STATEMENT SEQUENCE ---------------------------------* 03478700
.* 03480000
&SEQ SETA 2 . INDICATE $EFAC PROCESSED 03490000
.* 03500000
MEND 03510000