|
|
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: 14986 (0x3a8a)
Types: s3xseg
Names: »S$ECSC«
└─⟦4498c64f7⟧ Bits:30009191 5704-sc2.V05.ccp
└─⟦95ee7795b⟧
└─⟦this⟧ »S$ECSC«
MACRO 00010000
.********************************************************************** 00020000
.* * 00030000
.* NAME: $ECSC * 00040000
.* * 00050000
.* PROGRAM NUMBER - 5704-SC2 * 00053000
.* * 00056000
.* MODIFICATION LEVEL: VERSION 5, MODIFICATION LEVEL 0 * 00060000
.* * 00070000
.* FUNCTION: * 00080000
.* * 00090000
.* . CCP GENERATION FIRST PASS MACRO-INSTRUCTION -- DEFINE BSCC * 00100000
.* SUPPORT. * 00110000
.* * 00120000
.* INPUT OPERANDS: * 00130000
.* * 00140000
.* . BSCC-0/1/2 * 00150000
.* * 00160000
.* NUMBER OF BSCC LINES. 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
.* . 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
.* . PORT-YES/NO * 00590400
.* * 00590800
.* SPECIFIES WHETHER MULTIPORT SUPPORT IS TO BE INCLUDED. * 00591200
.* --DEFAULT IS NO. * 00591600
.* * 00592000
.* . PP-YES/NO * 00592400
.* * 00592800
.* SPECIFIES WHETHER POINT-TO-POINT SUPPORT IS TO INCLUDED. * 00593200
.* --DEFAULT IS NO. * 00593600
.* * 00594000
.* . CS-YES/NO * 00594400
.* * 00594800
.* SPECIFIES WHETHER CONTROL STATION SUPPORT IS TO BE INCLUDED. * 00595200
.* --DEFAULT IS YES. * 00595600
.* * 00596000
.* * 00596400
.* * 00598000
.* * 00598400
.********************************************************************** 00600000
$ECSC &BSCC-,&GETMSG-NO,&ITB-NO,&RECSEP-,&ASCII-NO, X00610000
&EBCDIC-YES,&XPRNCY-NO,&INTPOL-NO,&PORT-NO,&PP-NO, X00620000
&CS-YES 00625000
.* 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
GBLA &MLA . NUMBER OF MLTA LINES 00720000
GBLC &CARSB . HEX RECORD SEPARATOR 00730000
GBLB &CAIPL . INTERVAL POLLING SUPPORT. 00740000
GBLC &MCFA . BSCC FEATURES 00750000
GBLA &MLC . NUMBER OF BSCC LINES 00760000
GBLB &BCPOR . BSCC PORTLINE SUPPORTED 00762000
GBLB &BCPP . BSCC PP SUPPORT 00764000
GBLB &BCCS . BSCC CS SUPPORT 00766000
.* 00770000
LCLA &N . NUMBER OF CHARACTERS 00780000
LCLC &C1,&C2 . FOR MANIPULATING CHAR VALUES 00790000
LCLB &ZERO . FOR SETTING '0' IN 00800000
.* . A PARTICULAR BIT POSITION 00810000
.* 00820000
TABLE &GETMSG . GATHER-READ SUPPORT 00830000
YES TABDF 1 00840000
Y TABDF 1 00850000
NO TABDF 0 00860000
N TABDF 0 00870000
TABDF * . INVALID PARAMETER 00880000
.* 00890000
TABLE &ITB . INTERMEDIATE TEXT BLOCK SUPPRT 00900000
YES TABDF 1 00910000
Y TABDF 1 00920000
NO TABDF 0 00930000
N TABDF 0 00940000
TABDF * . INVALID PARAMETER 00950000
.* 00960000
TABLE &ASCII . ASCII TRANSMISSION CODE 00970000
YES TABDF 1 00980000
Y TABDF 1 00990000
NO TABDF 0 01000000
N TABDF 0 01010000
TABDF * . INVALID PARAMETER 01020000
.* 01030000
TABLE &EBCDIC . EBCDIC TRANSMISSION CODE 01040000
YES TABDF 1 01050000
Y TABDF 1 01060000
NO TABDF 0 01070000
N TABDF 0 01080000
TABDF * . INVALID PARAMETER 01090000
.* 01100000
TABLE &XPRNCY . TRANSPARENCY FEATURE 01180000
YES TABDF 1 01190000
Y TABDF 1 01200000
NO TABDF 0 01210000
N TABDF 0 01220000
TABDF * . INVALID PARAMETER 01230000
.* 01240000
TABLE &INTPOL . INTERVAL POLLING FEATURE 01250000
NO TABDF 0 01260000
N TABDF 0 01270000
YES TABDF 1 01280000
Y TABDF 1 01290000
TABDF * . INVALID PARAMETER 01300000
.* 01310000
TABLE &PORT . BSCC PORTLINE SUPPORT 01310400
YES TABDF 1 01310800
Y TABDF 1 01311200
NO TABDF 0 01311600
N TABDF 0 01312000
TABDF * . INVALID PARAMETER 01312400
.* 01312800
TABLE &PP . BSCC PP SUPPORT 01313200
YES TABDF 1 01313600
Y TABDF 1 01314000
NO TABDF 0 01314400
N TABDF 0 01314800
TABDF * . INVALID PARAMETER 01315200
.* 01315600
TABLE &CS . BSCC CS SUPPORT 01316000
YES TABDF 1 01316400
Y TABDF 1 01316800
NO TABDF 0 01317200
N TABDF 0 01317600
TABDF * . INVALID PARAMETER 01318000
.* 01318400
TEXT 01320000
.* 01330000
.*--------- CHECK STATEMENT CONFLICT/SEQUENCE ----------------------* 01340000
.* 01350000
AIF (&MLA EQ '0').CKOTH . SKIP IF NO MLTA PREVIOUS 01360000
*!530E CONFLICT --- BSCC AND MLTA ARE MUTUALLY EXCLUSIVE 01370000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 01380000
AGO .MKNUL . SET FACILITIES TO NULL 01390000
.* 01400000
.CKOTH ANOP . CONTINUE 01410000
AIF (&SEQ EQ '5').SEQOK . OK IF $EFIL PREVIOUS 01420000
AIF (&SEQ EQ '9').SEQOK . OK IF $EBSD PREVIOUS 01430000
AIF (&SEQ NE '6').CKBSC . IF NOT $EMLA CONTINUE CHECK 01440000
AIF (&MLA EQ '0').SEQOK . OK IF $EMLA AND LINES-0 01450000
.CKBSC AIF (&SEQ NE '8').SEQER . ERROR IF NOT $EBSC PREVIOUS 01460000
AIF (&BSC EQ '0').SEQOK . OK IF $EBSC AND LINES-0 01470000
.* 01480000
.SEQER ANOP 01490000
*!531E $ECSC STATEMENT OUT OF SEQUENCE -- OR PRECEDING STATEMENT ERROR 01500000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 01510000
.MKNUL ANOP . CONTINUE 01520000
&MCFA SETC '' . MAKE NULL PREVIOUS SPEC 01530000
.* 01540000
.SEQOK ANOP . VALID SEQUENCE 01550000
.* 01560000
.*--------- BSCC-0/1/2 ---------------------------------------------* 01570000
.* 01580000
AIF (T'&BSCC NE 'O').MLCA . SKIP IF BSCC SPECIFIED 01590000
.* 01600000
*!532E MISSING 'BSCC' OPERAND -- MUST BE SPECIFIED IF STATEMENT USED 01610000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 01620000
AGO .MCEND 01630000
.* 01640000
.MLCA ANOP . BSCC SPECIFIED 01650000
AIF (T'&BSCC NE 'N').MCERR . ERROR IF NOT NUMERIC 01660000
AIF (K'&BSCC GT '4').MCERR . SKIP IF LONGER THAN 4 DIGITS 01670000
&N SETA &BSCC 01680000
AIF (&N EQ '0').MC0 . SKIP IF BSCC-0 01690000
AIF (&N LE '2').MCOK . SKIP IF BSCC-1 OR BSCC-2 01700000
.* 01710000
.MCERR ANOP 01720000
*!534E INVALID 'BSCC' PARAMETER -- MUST BE NUMBER IN RANGE 0-2 01730000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 01740000
AGO .MCEND 01750000
.* 01760000
.MC0 ANOP . BSCC-0 01770000
AIF ('&GETMSG&ITB&ASCII' NE '000').MC0ER 01780000
AIF ('&XPRNCY&INTPOL&PORT&PP' NE '0000').MC0ER 01785000
AIF ('&EBCDIC' NE '1').MC0ER 01790000
AIF (&CS EQ '0').END 01793000
AIF (&CS EQ '1').END 01796000
AIF (&RECSEP EQ 'NO').END 01800000
AIF (&RECSEP EQ 'N').END 01810000
.MC0ER ANOP 01820000
*!536E BSCC-0, BUT OTHER OPERAND SPECIFIED WITH NON-DEFAULT PARAMETER 01830000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 01840000
.* 01850000
.MCOK ANOP . BSCC-1 OR BSCC-2 01860000
&MLC SETA &BSCC . NUMBER BSCC ADAPTERS 01870000
.* 01880000
.MCEND ANOP . END OPERAND 'BSCC' 01890000
.* 01900000
.*--------- GETMSG-YES/Y/NO/N (YES=1, NO=0) -------------------------* 01910000
.* 01920000
AIF (&GETMSG NE '*').GMOK . SKIP IF VALID PARAMETER 01930000
.* 01940000
*!445E INVALID 'GETMSG' PARAMETER -- MUST BE YES/Y/NO/N 01950000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 01960000
AGO .GMEND 01970000
.* 01980000
.GMOK ANOP . VALID PARAMETER 01990000
&MCFA SETC '&GETMSG' . SET X 02000000
.* 02010000
.GMEND ANOP . END OPERAND 'GETMSG' 02020000
.* 02030000
.*--------- ITB-YES/Y/NO/N (YES=1, NO=0) ---------------------------* 02040000
.* 02050000
AIF (&ITB NE '*').ITOK . SKIP IF VALID PARAMETER 02060000
.* 02070000
*!450E INVALID 'ITB' PARAMETER -- MUST BE YES/Y/NO/N 02080000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 02090000
.* 02100000
.ITOK ANOP . VALID PARAMETER 02110000
&MCFA SETC '&MCFA&ITB' . SET .X 02120000
.* 02130000
.ITEND ANOP . END OPERAND 'ITB' 02140000
.* 02150000
.*--------- RECSEP-XX ----------------------------------------------* 02160000
.* 02170000
AIF (T'&RECSEP EQ 'O').RSNO . SKIP IF RECSEP OMITTED 02180000
&N SETA K'&RECSEP . LENGTH OF PARAMETER 02190000
AIF (&N NE '2').RSERR . ERROR IF NOT 2 CHARS 02200000
.* 02210000
AIF ('&RECSEP'(1,1) GT '9').RSERR . ERR IF GT 9 02220000
AIF ('&RECSEP'(1,1) LT 'A').RSERR . ERR IF LT 'A' 02230000
AIF ('&RECSEP'(1,1) LE 'F').RS2 . OK IF IN RANGE A-F 02240000
AIF ('&RECSEP'(1,1) LT '0').RSERR . ERR IF NOT IN RANGE 0-9 02250000
.RS2 ANOP 02260000
AIF ('&RECSEP'(2,1) GT '9').RSERR . ERR IF GT 9 02270000
AIF ('&RECSEP'(2,1) LT 'A').RSERR . ERR IF LT 'A' 02280000
AIF ('&RECSEP'(2,1) LE 'F').RSYES . OK IF IN RANGE A-F 02290000
AIF ('&RECSEP'(2,1) GE '0').RSYES . OK IF IN RANGE 0-9 02300000
.* 02310000
.RSERR ANOP . INVALID PARAMETER 02320000
*!455E INVALID 'RECSEP' PARAMETER -- MUST BE 2 HEX DIGITS 02330000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 02340000
AGO .RSEND 02350000
.* 02360000
.RSNO ANOP . RECSEP-NO 02370000
&MCFA SETC '&MCFA.0' . SET ..0 02380000
AGO .RSEND 02390000
.* 02400000
.RSYES ANOP . RECSEP-XX 02410000
&MCFA SETC '&MCFA.1' . SET ..1 02420000
&CARSB SETC '1E' . SET DEFAULT RECORD-SEPARATOR 02430000
&CARSB SETC '&RECSEP' . RECSEP CHARACTER 02440000
.* 02450000
.RSEND ANOP . END OPERAND 'RECSEP' 02460000
.* 02470000
.*---------- INTPOL-YES/Y/NO/N (YES=1, NO=0) ----------------------* 02480000
.* 02490000
AIF (&INTPOL NE '*').IPOK . SKIP IF VALID PARAMETER 02500000
.* 02510000
*!481E INVALID 'INTPOL' PARAMETER -- MUST BE YES/Y/NO/N 02520000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 02530000
AGO .IPEND 02540000
.* 02550000
.IPOK ANOP . VALID PARAMETER 02560000
AIF (&INTPOL EQ '0').IPEND . SKIP IF INTPOL-NO 02570000
&CAIPL SETB 1 . SET INTERVAL POLLING 02580000
.* 02590000
.IPEND ANOP . END OPERAND 'INTPOL' 02600000
&ZERO SETB 0 . SET &ZERO TO '0' 02605000
&MCFA SETC '&MCFA&ZERO' . SET ...0 02710000
&MCFA SETC '&MCFA&ZERO' . SET ....0 02750000
.* 02760000
.*--------- EBCDIC-YES/Y/NO/N (YES/NULL=1, NO=0) -------------------* 02770000
.* 02780000
AIF (&EBCDIC NE '*').EBOK . SKIP IF VALID PARAMETER 02790000
.* 02800000
*!465E INVALID 'EBCDIC' PARAMETER -- MUST BE YES/Y/NO/N 02810000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 02820000
AGO .EBEND 02830000
.* 02840000
.EBOK ANOP . VALID PARAMETER 02850000
&MCFA SETC '&MCFA&EBCDIC' . SET .....X 02860000
.* 02870000
.EBEND ANOP . END OPERAND 'EBCDIC' 02880000
.* 02890000
.*--------- ASCII-YES/Y/NO/N (YES=1, NO=0) -------------------------* 02900000
.* 02910000
AIF (&ASCII NE '*').ASOK . SKIP IF VALID PARAMETER 02920000
.* 02930000
*!460E INVALID 'ASCII' PARAMETER -- MUST BE YES/Y/NO/N 02940000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 02950000
AGO .ASEND 02960000
.* 02970000
.ASOK ANOP . VALID PARAMETER 02980000
&MCFA SETC '&MCFA&ASCII' . SET ......X 02990000
.* 03000000
AIF ('&MCFA'(6,2) NE '00').ASCK2 03010000
.* 03020000
*!538 BSCC PRESENT BUT NEITHER TRANSMISSION CODE IS USED 03030000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 03040000
AGO .ASEND 03050000
.* 03060000
.ASCK2 ANOP 03070000
AIF ('&MCFA'(6,2) NE '11').ASEND . SKIP UNLESS ASCII/EBCDIC-Y 03080000
AIF (&BSCC NE '1').ASEND . SKIP UNLESS BSCC-1 03090000
.* 03100000
*!540E EBCDIC-YES AND ASCII-YES SPECIFIED WITH BSCC-1 -- NOT POSSIBLE 03110000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 03120000
.* 03130000
.ASEND ANOP . END OPERAND 'ASCII' 03140000
.* 03150000
.*--------- XPRNCY-YES/Y/NO/N (YES=1, NO=0) ------------------------* 03160000
.* 03170000
AIF (&XPRNCY NE '*').XPOK . SKIP IF VALID PARAMETER 03180000
.* 03190000
*!490E INVALID 'XPRNCY' PARAMETER -- MUST BE YES/Y/NO/N 03200000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 03210000
AGO .XPEND 03220000
.* 03230000
.XPOK ANOP . VALID PARAMETER 03240000
&MCFA SETC '&MCFA&XPRNCY' . SET .......X 03250000
.* 03260000
AIF (&XPRNCY EQ '0').XPEND . SKIP IF XPRNCY-NO 03270000
.* 03280000
AIF (&EBCDIC NE '0').XPEND . SKIP UNLESS EBCDIC-NO 03290000
.* 03300000
*!492E XPRNCY-YES SPECIFIED WITH EBCDIC-NO -- NOT VALID 03310000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 03320000
.* 03330000
.XPEND ANOP . END OPERAND 'XPRNCY' 03340000
.* 03350000
.*-----------------PORT - YES/NO (YES=1,N0=0)-------------------------* 03350200
AIF (&PORT NE '*').POROK . SKIP IF VALID PARAMETER 03350400
*!537E INVALID 'PORT' PARAMETER - - MUST BE YES/Y/NO/N 03350600
&TERR SETB 1 03350800
AGO .POREJ 03351000
.POROK ANOP . VALID PARAMETER CONTINUE 03351200
AIF (&PORT EQ '0').POREJ . SKIP IF PORT-NO 03351400
.*------BSCC POINT-TO-POINT SUPPORT IS REQUIRED IF BSCC PORT-YES------* 03351600
&BCPP SETB 1 . ADD POINT-TO-POINT SUPPORT 03351800
&BCPOR SETB 1 . BSCC PORTLINE SUPPORTED 03352000
.POREJ ANOP . END OPERAND 'PORT' 03352200
.* 03352400
.*-----------------PP -YES/NO (YES=1,NO=0)----------------------------* 03352600
AIF (&PP NE '*').PPOK . SKIP IF VALID PARAMETER 03352800
*!425E INVALID 'PP' PARAMETER -- MUST BE YES/Y/NO/N 03353000
&TERR SETB 1 03353200
AGO .PPEND 03353400
.PPOK ANOP . VALID PARAMETER CONTINUE 03353600
AIF (&PP EQ '0').PPEND . SKIP IF PP-NO 03353800
&BCPP SETB 1 . BSCC PP SUPPORTED 03354000
.PPEND ANOP . END OPERAND 'PP' 03354200
.* 03354400
.*-----------------CS -YES/NO (YES=1,NO=0)----------------------------* 03354600
AIF (&CS NE '*').CSOK . SKIP IF VALID PARAMETER 03354800
*!435E INVALID 'CS' PARAMETER - - MUST BE YES/Y/NO/N 03355000
&TERR SETB 1 03355200
AGO .CSEND 03355400
.CSOK ANOP . VALID PARAMETER CONTINUE 03355600
AIF (&CS EQ '0').CSEND . SKIP IF CS-NO 03355800
&BCCS SETB 1 . BSCC CS SUPPORTED 03356000
.CSEND ANOP 03356200
.* 03356400
.*--------- CHECK FOR LINE SUPPORT -----------------------------------* 03356600
AIF (&BCPOR EQ '1').END . BSCC PORT SPECIFIED 03356800
AIF (&BCPP EQ '1').END . BSCC PP SPECIFIED 03357000
AIF (&BCCS EQ '1').END . BSCC CS SPECIFIED 03357200
.* $ECSC HAS NO LINE SUPPORT SPECIFIED ISSUE ERROR MSG 03357400
*!539E BSCC PRESENT BUT NO LINE TYPE SPECIFIED 03357600
&TERR SETB 1 . SET TERMINATION ERROR 03357800
.* . SWITCH 03358000
.*--------- SET STATEMENT SEQUENCE ---------------------------------* 03360000
.* 03370000
.END ANOP 03380000
&SEQ SETA 10 . INDICATE $ECSC PROCESSED 03390000
.* 03400000
MEND 03410000