|
|
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: 3810 (0xee2)
Types: s3xseg
Names: »S$ECAD«
└─⟦4498c64f7⟧ Bits:30009191 5704-sc2.V05.ccp
└─⟦95ee7795b⟧
└─⟦this⟧ »S$ECAD«
MACRO 00010000
.********************************************************************** 00020000
.* * 00030000
.* NAME: $ECAD * 00040000
.* * 00050000
.* RELEASE 2 * 00060000
.* * 00070000
.* FUNCTION: * 00080000
.* * 00090000
.* . CCP GENERATION FIRST PASS MACRO-INSTRUCTION -- DEFINE A * 00100000
.* MLCA 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
.********************************************************************** 00200000
$ECAD &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 MLC ADAPTERS 00280000
GBLC &CAD1,&CAD2 . MLC DEVICE SUPPORT 00290000
.* 00300000
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 $ECAD 00530000
AIF (&SEQ EQ '10').SEQ1 . SKIP IF FIRST $ECAD 00540000
.* 00550000
*!542E $ECAD 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 MLCA-0 00640000
.* 00650000
*!544E $ECAD STATEMENT USED, BUT NO MLC ADAPTERS 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 MLCA TERMINAL DESIGNATION 00810000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 00820000
AGO .END 00830000
.* 00840000
.TYOK ANOP . VALID PARAMETER 00850000
&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 $ECAD PROCESSED 01090000
.* 01100000
MEND 01110000