|
|
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: 4572 (0x11dc)
Types: s3xseg
Names: »S$ECSD«
└─⟦4498c64f7⟧ Bits:30009191 5704-sc2.V05.ccp
└─⟦95ee7795b⟧
└─⟦this⟧ »S$ECSD«
MACRO 00010000
.********************************************************************** 00020000
.* * 00030000
.* NAME: $ECSD * 00040000
.* * 00050000
.* PROGRAM NUMBER - 5704-SC2 * 00060000
.* * 00070000
.* MODIFICATION LEVEL: VERSION 4, MODIFICATION LEVEL 0 * 00073000
.* * 00076000
.* FUNCTION: * 00080000
.* * 00090000
.* . CCP GENERATION FIRST PASS MACRO-INSTRUCTION -- DEFINE A * 00100000
.* BSCC DEVICE TO BE SUPPORTED. * 00110000
.* * 00120000
.* INPUT OPERANDS: * 00130000
.* * 00140000
.* . TYPE-3275M1/3277M1/3284M1/3286M1/3275M2/3277M2/3284M2/3286M2/ * 00150000
.* 3735/CPU/3741 * 00160000
.* * 00170000
.* SPECIFIES A DEVICE TYPE TO BE SUPPORTED. REQUIRED OPERAND. * 00180000
.* * 00190000
.* * 00193000
.* * 00196000
.********************************************************************** 00200000
$ECSD &TYPE- 00210000
.* 00220000
GBLA &SEQ . SEQUENCE CONTROL: * 00230000
.* . MUST BE 10 OR 11 UPON ENTRY 00240000
.* . IS MADE 11 AFTER PROCESSING 00250000
GBLB &TERR . TERMINATION ERROR SWITCH 00260000
.* 00270000
GBLA &MLC . NUMBER BSCC LINES 00280000
GBLC &CAD1,&CAD2 . MLC DEVICE SUPPORT 00290000
.* 00300000
GBLB &BCCS . BSCC CONTROL STATION 00302000
.* . SUPPORT 1=YES, 2=NO 00304000
.* 00306000
LCLC &C1,&C2 . USED FOR CHAR MANIPULATION 00310000
LCLA &N1,&N2,&N3 . USED FOR CHAR MANIPULATION 00320000
.* 00330000
TABLE &TYPE . DEVICE TYPE SUPPORTED 00340000
3275M1 TABDF 10 BYTE=1, BIT=0 00350000
3277M1 TABDF 11 BYTE=1, BIT=1 00360000
3284M1 TABDF 12 BYTE=1, BIT=2 00370000
3286M1 TABDF 13 BYTE=1, BIT=3 00380000
3275M2 TABDF 14 BYTE=1, BIT=4 00390000
3277M2 TABDF 15 BYTE=1, BIT=5 00400000
3284M2 TABDF 16 BYTE=1, BIT=6 00410000
3286M2 TABDF 17 BYTE=1, BIT=7 00420000
3735 TABDF 20 BYTE=2, BIT=0 00430000
CPU TABDF 21 BYTE=2, BIT=1 00440000
3741 TABDF 22 BYTE=2, BIT=2 00450000
'' TABDF ?? 00460000
TABDF * 00470000
.* 00480000
TEXT 00490000
.* 00500000
.*--------- CHECK STATEMENT SEQUENCE -------------------------------* 00510000
.* 00520000
AIF (&SEQ EQ '11').SEQOK . SKIP IF SUCCEEDING $ECSD 00530000
AIF (&SEQ EQ '10').SEQ1 . SKIP IF FIRST $ECSD 00540000
.* 00550000
*!542E $ECSD STATEMENT OUT OF SEQUENCE -- OR PRECEDING STATEMENT ERROR 00560000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 00570000
.* 00580000
.SEQ1 ANOP . FIRST $ECAD STATEMENT 00590000
&CAD1 SETC '00000000' 00600000
&CAD2 SETC '00000000' 00610000
.* 00620000
.SEQOK ANOP . VALID SEQUENCE 00630000
AIF (&MLC NE '0').BDOK . SKIP UNLESS BSCC-0 00640000
.* 00650000
*!544E $ECSD STATEMENT USED, BUT NO BSCC LINES SPECIFIED 00660000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 00670000
.* 00680000
.BDOK ANOP 00690000
.* 00700000
.*--------- TYPE-XXXXXX --------------------------------------------* 00710000
.* 00720000
AIF (&TYPE NE '??').TYYES . SKIP IF TYPE SPECIFIED 00730000
.* 00740000
*!510E MISSING 'TYPE' OPERAND -- MUST BE SPECIFIED 00750000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 00760000
AGO .END 00770000
.TYYES ANOP . TYPE SPECIFIED 00780000
AIF (&TYPE NE '*').TYOK . SKIP IF VALID PARAMETER 00790000
.* 00800000
*!546E INVALID 'TYPE' PARAMETER -- MUST BE BSCC TERMINAL DESIGNATION 00810000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 00820000
AGO .END 00830000
.* 00840000
.TYOK ANOP . VALID PARAMETER 00850000
AIF ('&TYPE'(1,1) EQ '2').N3270 .SKIP IF TYPE=3735 OR CPU 00850800
.* . OR 3741 00851600
.* TYPE IS 3270 00852400
.* 'TYPE' 3270 REQUIRES CONTROL STATION LINES 00853200
AIF (&BCCS EQ '1').N3270 . SKIP CS LINES SUPPORT 00854000
.* . SPECIFIED 00854800
*!543E 3275 OR 3271 UNDER BSCC REQUIRES CONTROL STATION SUPPORT 00855600
&TERR SETB 1 . SET TERMINATION ERROR 00856400
.* . SWITCH 00857200
AGO .END . EXIT 00858000
.N3270 ANOP 00858800
&C1 SETC '&TYPE'(2,1) . GET THE BIT POSITION 00860000
&N1 SETA &C1 . LENGTH OF PRECEDING 00870000
&N2 SETA &N1+2 . POSITION OF FOLLOWING 00880000
&N3 SETA 9-&N2 . LENGTH OF FOLLOWING 00890000
AIF ('&TYPE'(1,1) EQ '2').CAD2 . SKIP IF 3735, CPU OR 3741 00900000
.* 00910000
.CAD1 ANOP CONTINUE HERE 00920000
.* 00930000
&C1 SETC '&CAD1'(1,&N1) 00940000
&C2 SETC '&CAD1'(&N2,&N3) 00950000
&CAD1 SETC '&C1.1&C2' . INSERT THE DEVICE TYPE 00960000
AGO .END 00970000
.* 00980000
.CAD2 ANOP 00990000
&C1 SETC '&CAD2'(1,&N1) 01000000
&C2 SETC '&CAD2'(&N2,&N3) 01010000
&CAD2 SETC '&C1.1&C2' . SET THE DEVICE TYPE 01020000
.* 01030000
.TYEND ANOP 01040000
.* 01050000
.*--------- SET STATEMENT SEQUENCE ---------------------------------* 01060000
.* 01070000
.END ANOP 01080000
&SEQ SETA 11 . INDICATE $ECSD PROCESSED 01090000
.* 01100000
MEND 01110000