|
|
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: 11938 (0x2ea2)
Types: s3xseg
Names: »S$ECAC«
└─⟦4498c64f7⟧ Bits:30009191 5704-sc2.V05.ccp
└─⟦95ee7795b⟧
└─⟦this⟧ »S$ECAC«
MACRO 00010000
.********************************************************************** 00020000
.* * 00030000
.* NAME: $ECAC * 00040000
.* * 00050000
.* MODIFICATION LEVEL: VERSION 0, MODIFICATION LEVEL 0 * 00060000
.* * 00070000
.* FUNCTION: * 00080000
.* * 00090000
.* . CCP GENERATION FIRST PASS MACRO-INSTRUCTION -- DEFINE MLCA * 00100000
.* SUPPORT. * 00110000
.* * 00120000
.* INPUT OPERANDS: * 00130000
.* * 00140000
.* . MLCA-0/1/2 * 00150000
.* * 00160000
.* NUMBER OF MLC ADAPTERS. OPERAND REQUIRED IF THIS STATEMENT * 00170000
.* IS USED. * 00180000
.* * 00190000
.* . GETMSG-YES/NO * 00200000
.* * 00210000
.* SPECIFIES WHETHER 'GATHER READ' SUPPORT IS TO BE INCLUDED. * 00220000
.* DEFAULT IS NO. * 00230000
.* * 00240000
.* . ITB-YES/NO * 00250000
.* * 00260000
.* SPECIFIES WHETHER INTERMEDIATE-TEXT-BLOCK SUPPORT IS TO BE * 00270000
.* INCLUDED. DEFAULT IS NO. * 00280000
.* * 00290000
.* . RECSEP-XX * 00300000
.* * 00310000
.* SPECIFIES ALTERNATE RECORD-SEPARATOR BYTE. OPERAND IS * 00320000
.* OPTIONAL. DEFAULT IS "1E". 00330000
.* * 00340000
.* . ASCII-YES/NO * 00350000
.* * 00360000
.* SPECIFIES WHETHER SUPPORT FOR ASCII TRANSMISSION CODE IS TO * 00370000
.* BE INCLUDED. DEFAULT IS NO. * 00380000
.* * 00390000
.* . EBCDIC-YES/NO * 00400000
.* * 00410000
.* SPECIFIES WHETHER SUPPORT FOR EBCDIC TRANSMISSION CODE IS TO * 00420000
.* BE INCLUDED. DEFAULT IS *YES*. * 00430000
.* * 00440000
.* . RESPOL-YES/NO * 00450000
.* * 00460000
.* SPECIFIES WHETHER RESIDENT POLLING IS TO BE INCLUDED FOR * 00470000
.* MLCA. DEFAULT IS NO. * 00480000
.* * 00490000
.* . XPRNCY-YES/NO * 00500000
.* * 00510000
.* SPECIFIES WHETHER TEXT TRANSPARENCY FEATURE IS TO BE SUPPORTED * 00520000
.* -- DEFAULT IS NO. * 00530000
.* * 00540000
.* . INTPOL-YES/NO * 00550000
.* * 00560000
.* SPECIFIES WHETHER INTERVAL POLLING FEATURE IS TO BE SUPPORTED * 00570000
.* -- DEFAULT IS NO. * 00580000
.* * 00590000
.********************************************************************** 00600000
$ECAC &MLCA-,&GETMSG-NO,&ITB-NO,&RECSEP-,&ASCII-NO, X00610000
&EBCDIC-YES,&RESPOL-NO,&XPRNCY-NO,&INTPOL-NO 00620000
.* 00630000
GBLA &SEQ . SEQUENCE CONTROL: 00640000
.* . MUST BE 5,6,7,8,9 UPON ENTRY 00650000
.* . IF 6 THEN &MLA MUST BE 0 00660000
.* . IF 8 THEN &MLC MUST BE 0 00670000
.* . IS MADE 10 AFTER PROCESSING 00680000
GBLB &TERR . TERMINATION ERROR SWITCH 00690000
.* 00700000
GBLA &BSC . NUMBER BSC ADAPTERS 00710000
GBLC &CARSB . HEX RECORD SEPARATOR 00720000
GBLA &MLA . NUMBER OF MLTA LINES 00730000
GBLA &MLC . NUMBER OF MLCA LINES 00740000
GBLB &CAIPL . INTERVAL POLLING SUPPORT. 00750000
.* 00760000
LCLA &N . NUMBER OF CHARACTERS 00770000
LCLC &C1,&C2 . FOR MANIPULATING CHAR VALUES 00780000
LCLB &ZERO . FOR SETTING '0' IN 00790000
.* . A PARTICULAR BIT POSITION 00800000
.* 00810000
TABLE &GETMSG . GATHER-READ SUPPORT 00820000
YES TABDF 1 00830000
Y TABDF 1 00840000
NO TABDF 0 00850000
N TABDF 0 00860000
TABDF * . INVALID PARAMETER 00870000
.* 00880000
TABLE &ITB . INTERMEDIATE TEXT BLOCK SUPPRT 00890000
YES TABDF 1 00900000
Y TABDF 1 00910000
NO TABDF 0 00920000
N TABDF 0 00930000
TABDF * . INVALID PARAMETER 00940000
.* 00950000
TABLE &ASCII . ASCII TRANSMISSION CODE 00960000
YES TABDF 1 00970000
Y TABDF 1 00980000
NO TABDF 0 00990000
N TABDF 0 01000000
TABDF * . INVALID PARAMETER 01010000
.* 01020000
TABLE &EBCDIC . EBCDIC TRANSMISSION CODE 01030000
YES TABDF 1 01040000
Y TABDF 1 01050000
NO TABDF 0 01060000
N TABDF 0 01070000
TABDF * . INVALID PARAMETER 01080000
.* 01090000
TABLE &RESPOL . RESIDENT POLLING 01100000
YES TABDF 1 01110000
Y TABDF 1 01120000
NO TABDF 0 01130000
N TABDF 0 01140000
TABDF * . INVALID PARAMETER 01150000
.* 01160000
TABLE &XPRNCY . TRANSPARENCY FEATURE 01170000
YES TABDF 1 01180000
Y TABDF 1 01190000
NO TABDF 0 01200000
N TABDF 0 01210000
TABDF * . INVALID PARAMETER 01220000
.* 01230000
TABLE &INTPOL . INTERVAL POLLING FEATURE 01240000
NO TABDF 0 01250000
N TABDF 0 01260000
YES TABDF 1 01270000
Y TABDF 1 01280000
TABDF * . INVALID PARAMETER 01290000
.* 01300000
TEXT 01310000
.* 01320000
.*--------- CHECK STATEMENT SEQUENCE -------------------------------* 01330000
.* 01340000
AIF (&SEQ EQ '5').SEQOK . OK IF $EFIL PREVIOUS 01350000
AIF (&SEQ EQ '7').SEQOK . OK IF $EMLD PREVIOUS 01360000
AIF (&SEQ EQ '9').SEQOK . OK IF $EBSD PREVIOUS 01370000
AIF (&SEQ NE '6').CKBSC . IF NOT $EMLA, CHECK $EBSC 01380000
AIF (&MLA EQ '0').SEQOK . OK IF $EMLA AND LINES-0 01390000
.CKBSC AIF (&SEQ NE '8').SEQER . ERROR IF NOT $EBSC PREVIOUS 01400000
AIF (&BSC EQ '0').SEQOK . OK IF $EBSC AND LINES-0 01410000
.* 01420000
.SEQER ANOP 01430000
*!530E $ECAC STATEMENT OUT OF SEQUENCE -- OR PRECEDING STATEMENT ERROR 01440000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 01450000
&MCA SETC '' . MAKE NULL PREVIOUS SPEC 01460000
.* 01470000
.SEQOK ANOP . VALID SEQUENCE 01480000
.* 01490000
.*--------- MLCA-0/1/2 ---------------------------------------------* 01500000
.* 01510000
AIF (T'&MLCA NE 'O').MLCA . SKIP IF MLCA SPECIFIED 01520000
.* 01530000
*!532E MISSING 'MLCA' OPERAND -- MUST BE SPECIFIED IF STATEMENT USED 01540000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 01550000
AGO .MCEND 01560000
.* 01570000
.MLCA ANOP . MLCA SPECIFIED 01580000
AIF (T'&MLCA NE 'N').MCERR . ERROR IF NOT NUMERIC 01590000
AIF (K'&MLCA GT '4').MCERR . SKIP IF LONGER THAN 4 DIGITS 01600000
&N SETA &MLCA 01610000
AIF (&N EQ '0').MC0 . SKIP IF MLCA-0 01620000
AIF (&N LE '2').MCOK . SKIP IF MLCA-1 OR MLCA-2 01630000
.* 01640000
.MCERR ANOP 01650000
*!534E INVALID 'MLCA' PARAMETER -- MUST BE NUMBER IN RANGE 0-2 01660000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 01670000
AGO .BSEND 01680000
.* 01690000
.MC0 ANOP . BSCA-0 01700000
AIF ('&GETMSG&ITB&ASCII&RESPOL' NE '0000').MC0ER 01710000
AIF ('&EBCDIC' NE '1').MC0ER 01720000
AIF (&RECSEP EQ 'NO').END 01730000
AIF (&RECSEP EQ 'N').END 01740000
.MC0ER ANOP 01750000
*!536E MLCA-0, BUT OTHER OPERAND SPECIFIED WITH NON-DEFAULT PARAMETER 01760000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 01770000
.* 01780000
.MCOK ANOP . MLCA-1 OR MLCA-2 01790000
&MLC SETA &MLCA . NUMBER MLC ADAPTERS 01800000
.* 01810000
.MCEND ANOP . END OPERAND 'BSCA' 01820000
.* 01830000
.*--------- GETMSG-YES/Y/NO/N (YES=1, NO=0) -------------------------* 01840000
.* 01850000
AIF (&GETMSG NE '*').GMOK . SKIP IF VALID PARAMETER 01860000
.* 01870000
*!445E INVALID 'GETMSG' PARAMETER -- MUST BE YES/Y/NO/N 01880000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 01890000
AGO .GMEND 01900000
.* 01910000
.GMOK ANOP . VALID PARAMETER 01920000
&MCFA SETC '&GETMSG' . SET X 01930000
.* 01940000
.GMEND ANOP . END OPERAND 'GETMSG' 01950000
.* 01960000
.*--------- ITB-YES/Y/NO/N (YES=1, NO=0) ---------------------------* 01970000
.* 01980000
AIF (&ITB NE '*').ITOK . SKIP IF VALID PARAMETER 01990000
.* 02000000
*!450E INVALID 'ITB' PARAMETER -- MUST BE YES/Y/NO/N 02010000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 02020000
.* 02030000
.ITOK ANOP . VALID PARAMETER 02040000
&MCFA SETC '&MCFA&ITB' . SET .X 02050000
.* 02060000
.ITEND ANOP . END OPERAND 'ITB' 02070000
.* 02080000
.*--------- RECSEP-XX ----------------------------------------------* 02090000
.* 02100000
AIF (T'&RECSEP EQ 'O').RSNO . SKIP IF RECSEP OMITTED 02110000
&N SETA K'&RECSEP . LENGTH OF PARAMETER 02120000
AIF (&N NE '2').RSERR . ERROR IF NOT 2 CHARS 02130000
.* 02140000
AIF ('&RECSEP'(1,1) GT '9').RSERR . ERR IF GT 9 02150000
AIF ('&RECSEP'(1,1) LT 'A').RSERR . ERR IF LT 'A' 02160000
AIF ('&RECSEP'(1,1) LE 'F').RS2 . OK IF IN RANGE A-F 02170000
AIF ('&RECSEP'(1,1) LT '0').RSERR . ERR IF NOT IN RANGE 0-9 02180000
.RS2 ANOP 02190000
AIF ('&RECSEP'(2,1) GT '9').RSERR . ERR IF GT 9 02200000
AIF ('&RECSEP'(2,1) LT 'A').RSERR . ERR IF LT 'A' 02210000
AIF ('&RECSEP'(2,1) LE 'F').RSYES . OK IF IN RANGE A-F 02220000
AIF ('&RECSEP'(2,1) GE '0').RSYES . OK IF IN RANGE 0-9 02230000
.* 02240000
.RSERR ANOP . INVALID PARAMETER 02250000
*!455E INVALID 'RECSEP' PARAMETER -- MUST BE 2 HEX DIGITS 02260000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 02270000
AGO .RSEND 02280000
.* 02290000
.RSNO ANOP . RECSEP-NO 02300000
&MCFA SETC '&MCFA.0' . SET ..X 02310000
AGO .RSEND 02320000
.* 02330000
.RSYES ANOP . RECSEP-XX 02340000
&MCFA SETC '&MCFA.1' 02350000
&CARSB SETC '1E' . SET DEFAULT RECORD-SEPARATOR 02360000
&CARSB SETC '&RECSEP' . RECSEP CHARACTER 02370000
.* 02380000
.RSEND ANOP . END OPERAND 'RECSEP' 02390000
.* 02400000
.*---------- INTPOL-YES/Y/NO/N (YES=1, NO=0) ----------------------* 02410000
.* 02420000
AIF (&INTPOL NE '*').IPOK . SKIP IF VALID PARAMETER 02430000
.* 02440000
*!481E INVALID 'INTPOL' PARAMETER -- MUST BE YES/Y/NO/N 02450000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 02460000
AGO .IPEND 02470000
.* 02480000
.IPOK ANOP . VALID PARAMETER 02490000
AIF (&INTPOL EQ '0').IPEND . SKIP IF INTPOL-NO 02500000
&CAIPL SETB 1 . SET INTERVAL POLLING 02510000
.* 02520000
.IPEND ANOP . END OPERAND 'INTPOL' 02530000
.* 02540000
.*--------- RESPOL-YES/Y/NO/N (YES=1, NO=0) ------------------------* 02550000
.* 02560000
AIF (&RESPOL NE '*').RPOK . SKIP IF VALID PARAMETER 02570000
.* 02580000
*!480E INVALID 'RESPOL' PARAMETER -- MUST BE YES/Y/NO/N 02590000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 02600000
AGO .RPEND 02610000
.* 02620000
.RPOK ANOP . VALID PARAMETER 02630000
&MCFA SETC '&MCFA&RESPOL' . SET ...X 02640000
.* 02650000
.RPEND ANOP . END OPERAND 'RESPOL' 02660000
&ZERO SETB 0 . SET &ZERO TO '0' 02670000
&MCFA SETC '&MCFA&ZERO' . SET ....0 02680000
.* 02690000
.*--------- EBCDIC-YES/Y/NO/N (YES/NULL=1, NO=0) -------------------* 02700000
.* 02710000
AIF (&EBCDIC NE '*').EBOK . SKIP IF VALID PARAMETER 02720000
.* 02730000
*!465E INVALID 'EBCDIC' PARAMETER -- MUST BE YES/Y/NO/N 02740000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 02750000
AGO .EBEND 02760000
.* 02770000
.EBOK ANOP . VALID PARAMETER 02780000
&MCFA SETC '&MCFA&EBCDIC' . SET .....X 02790000
.* 02800000
.EBEND ANOP . END OPERAND 'EBCDIC' 02810000
.* 02820000
.*--------- ASCII-YES/Y/NO/N (YES=1, NO=0) -------------------------* 02830000
.* 02840000
AIF (&ASCII NE '*').ASOK . SKIP IF VALID PARAMETER 02850000
.* 02860000
*!460E INVALID 'ASCII' PARAMETER -- MUST BE YES/Y/NO/N 02870000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 02880000
AGO .ASEND 02890000
.* 02900000
.ASOK ANOP . VALID PARAMETER 02910000
&MCFA SETC '&MCFA&ASCII' . SET ......X 02920000
.* 02930000
AIF ('&BFA'(6,2) NE '00').ASCK2 02940000
.* 02950000
*!538 MLCA PRESENT BUT NEITHER TRANSMISSION CODE IS USED 02960000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 02970000
AGO .ASEND 02980000
.* 02990000
.ASCK2 ANOP 03000000
AIF ('&BFA'(6,2) NE '11').ASEND . SKIP UNLESS ASCII/EBCDIC-Y 03010000
.* 03020000
*!540E EBCDIC-YES AND ASCII-YES SPECIFIED WITH MLCA -- NOT POSSIBLE 03030000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 03040000
.* 03050000
.ASEND ANOP . END OPERAND 'ASCII' 03060000
.* 03070000
.*--------- XPRNCY-YES/Y/NO/N (YES=1, NO=0) ------------------------* 03080000
.* 03090000
AIF (&XPRNCY NE '*').XPOK . SKIP IF VALID PARAMETER 03100000
.* 03110000
*!490E INVALID 'XPRNCY' PARAMETER -- MUST BE YES/Y/NO/N 03120000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 03130000
AGO .XPEND 03140000
.* 03150000
.XPOK ANOP . VALID PARAMETER 03160000
&MCFA SETC '&MCFA&XPRNCY' . SET .......X 03170000
.* 03180000
AIF (&XPRNCY EQ '0').XPEND . SKIP IF XPRNCY-NO 03190000
.* 03200000
AIF (&EBCDIC NE '0').XPEND . SKIP UNLESS EBCDIC-NO 03210000
.* 03220000
*!492E XPRNCY-YES SPECIFIED WITH EBCDIC-NO -- NOT VALID 03230000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 03240000
.* 03250000
.XPEND ANOP . END OPERAND 'XPRNCY' 03260000
.* 03270000
.*--------- SET STATEMENT SEQUENCE ---------------------------------* 03280000
.* 03290000
.END ANOP 03300000
&SEQ SETA 10 . INDICATE $ECAC PROCESSED 03310000
.* 03320000
MEND 03330000