TITLE 'MSC TABLE CREATE, INITIALIZE/TERMINATE *00001000 ' 00002000 ICGDSINT CSECT , 0001 00003000 @MAINENT DS 0H 0001 00004000 USING *,@15 0001 00005000 B @PROLOG 0001 00006000 DC AL1(16) 0001 00007000 DC C'ICGDSINT 76.337' 0001 00008000 DROP @15 00009000 @PROLOG STM @14,@12,12(@13) 0001 00010000 BALR @12,0 0001 00011000 @PSTART DS 0H 0001 00012000 USING @PSTART,@12 0001 00013000 L @00,@SIZDATD 0001 00014000 GETMAIN R,LV=(0) 00015000 LR @11,@01 0001 00016000 USING @DATD,@11 0001 00017000 ST @13,@SA00001+4 0001 00018000 LM @00,@01,20(@13) 0001 00019000 ST @11,8(,@13) 0001 00020000 LR @13,@11 0001 00021000 XC @ZTEMPS(@ZLEN),@ZTEMPS 00022000 MVC @PC00001(4),0(@01) 0001 00023000 * TO AVOID GLICH IN @XD00153 00024000 * VM, WHEN FIXED, @XD00153 00025000 * CHANGE TO 40000 @XD00153*/ 00026000 * 0043 00027000 */********************************************************** @YD00113*/ 00028000 */* @Y30LB12*/ 00029000 */* ICGDSINT - GETCLEAR @Y30LB12*/ 00030000 */* @Y30LB12*/ 00031000 */* THIS ROUTINE ISSUES AN ASSEMBLER GETMAIN FOR @Y30LB12*/ 00032000 */* 40,000 BYTES OF MAIN STORAGE. THIS STORAGE @Y30LB12*/ 00033000 */* IS DESCRIBED BY THE MAPPING STRUCTURES @Y30LB12*/ 00034000 */* COMTAB AND COMTAB2. THE AREA IS ADDRESSED @Y30LB12*/ 00035000 */* USING REGISTER 4. @Y30LB12*/ 00036000 */* COMTAB2 IS BASED OFF THE POINTER COMPTR2 IN @Y30LB12*/ 00037000 */* COMTAB. @Y30LB12*/ 00038000 */* BEFORE THE GETMAIN IS ISSUED, THE INVOKER'S @Y30LB12*/ 00039000 */* REGISTER 1 IS STORED TEMPORARILY IN REG 8. @Y30LB12*/ 00040000 */* THE ENTIRE AREA IS CLEARED TO BINARY ZEROS. @Y30LB12*/ 00041000 */* @Y30LB12*/ 00042000 */********************************************************** @YD00113*/ 00043000 * 0043 00044000 * R8=R1; /* SAVE INVOKER'S R1 @Y30LB12*/ 00045000 LR R8,R1 0043 00046000 * GEN(GETMAIN R,LV=40000); /* GET COMTAB AREA @Y30LB12*/ 00047000 GETMAIN R,LV=40000 00048000 * R4=R1; /* BASE COMTAB ON R4 @Y30LB12*/ 00049000 * 0045 00050000 LR R4,R1 0045 00051000 * /*****************************************************************/ 00052000 * /* */ 00053000 * /* *********************************************** @YD00113*/ 00054000 * /* THE FOLLOWING ROUTINE CLEARS THE ENTIRE GOTTEN @Y30LB12*/ 00055000 * /* AREA TO BINARY ZEROS. THIS STORAGE IS @Y30LB12*/ 00056000 * /* DESCRIBED BY THE STRUCTURES COMTAB AND COMTAB2 @Y30LB12*/ 00057000 * /* *********************************************** @YD00113*/ 00058000 * /* */ 00059000 * /*****************************************************************/ 00060000 * 0046 00061000 *CLEAR: 0046 00062000 * COMTAB(1)='00'X; /* SET UP CLEAR CHAR @Y30LB12*/ 00063000 CLEAR MVI COMTAB(R4),X'00' 0046 00064000 * R5=ADDR(COMTAB); /* 1ST BYTE TO CLEAR @Y30LB12*/ 00065000 * 0047 00066000 LR R5,R4 0047 00067000 * /*****************************************************************/ 00068000 * /* */ 00069000 * /* *********************************************** @YD00113*/ 00070000 * /* CLEAR CORE TO '00'X. @XD00153*/ 00071000 * /* *********************************************** @YD00113*/ 00072000 * /* */ 00073000 * /*****************************************************************/ 00074000 * 0048 00075000 * R6=MAXCORE; /* LENGTH OF CLEAR @XD00153*/ 00076000 L R6,MAXCORE 0048 00077000 * R6=R6-1; /* REDUCE LNGTH BY 1 @Y30LB12*/ 00078000 BCTR R6,0 0049 00079000 *STARTCLR: 0050 00080000 * IF R6=0 /* NOTHING TO CLEAR @Y30LB12*/ 00081000 * THEN /* IF NOTHING, THEN @Y30LB12*/ 00082000 STARTCLR LTR R6,R6 0050 00083000 BZ @RT00050 0050 00084000 * GO TO ENDCLEAR; /* STOP CLEARING @Y30LB12*/ 00085000 * ELSE 0052 00086000 * ; /* SOMETHING LEFT @Y30LB12*/ 00087000 * IF R6>256 /* IF WHAT IS LEFT @Y30LB12*/ 00088000 * THEN /* IS MORE THAN 256 @Y30LB12*/ 00089000 CH R6,@CH00037 0053 00090000 BNH @RF00053 0053 00091000 * DO; /* CLEAR 256 BYTES @Y30LB12*/ 00092000 *EXANDMVC: 0055 00093000 * GEN(MVC 1(256,5),0(5)); /* ALSO EXECUTED @Y30LB12*/ 00094000 EXANDMVC MVC 1(256,5),0(5) 00095000 * R5=R5+256; /* NEXT BYTE TO CLR @Y30LB12*/ 00096000 LA @10,256 0056 00097000 ALR R5,@10 0056 00098000 * R6=R6-256; /* BYTES LEFT NOW @Y30LB12*/ 00099000 SLR R6,@10 0057 00100000 * GO TO STARTCLR; /* LOOP BACK @Y30LB12*/ 00101000 B STARTCLR 0058 00102000 * END; /* @Y30LB12*/ 00103000 * ELSE /* LESS THAN 256 @Y30LB12*/ 00104000 * DO; /* CLEAR THEM @Y30LB12*/ 00105000 @RF00053 DS 0H 0061 00106000 * R6=R6-1; /* DECREASE LENGTH @Y30LB12*/ 00107000 BCTR R6,0 0061 00108000 * GEN(EX R6,EXANDMVC); /* EXECUTE MVC @Y30LB12*/ 00109000 EX R6,EXANDMVC 00110000 * END; /* @Y30LB12*/ 00111000 *ENDCLEAR: 0064 00112000 * ; /* DONE WITH CLEAR @Y30LB12*/ 00113000 ENDCLEAR DS 0H 0065 00114000 * COMPTR2=ADDR(COM2BASE); /* PTR TO COMTAB2 @Y30LB12*/ 00115000 LA @10,COM2BASE(,R4) 0065 00116000 ST @10,COMPTR2(,R4) 0065 00117000 * PARMPTR=R8; /* INVOKER'S REG 1 @Y30LB12*/ 00118000 ST R8,PARMPTR(,R4) 0066 00119000 * CALL INVOKE; /* INVOCATION PARMS @Y30LB12*/ 00120000 BAL @14,INVOKE 0067 00121000 * CALL OPENPRT; /* OPEN SYSPRINT @Y30LB12*/ 00122000 BAL @14,OPENPRT 0068 00123000 * CALL SCNANBLD; /* CALL MAJOR PHASES @Y30LB12*/ 00124000 BAL @14,SCNANBLD 0069 00125000 * CALL CLOSEPRT; /* CLOSE SYSPRINT @Y30LB12*/ 00126000 BAL @14,CLOSEPRT 0070 00127000 * R8=RETCODE; /* FINAL RETURN CODE @YM31087*/ 00128000 LH R8,RETCODE(,R4) 0071 00129000 * R1=ADDR(COMTAB); /* PTR TO GOTTEN AREA @Y30LB12*/ 00130000 LR R1,R4 0072 00131000 * GEN(FREEMAIN R,LV=40000,A=(1)); /* FREE IT @Y30LB12*/ 00132000 FREEMAIN R,LV=40000,A=(1) 00133000 * R15=R8; /* PASS RETURN CODE @YM31087*/ 00134000 LR R15,R8 0074 00135000 * RETURN CODE(R15); /* RETURN TO SYSTEM @Y30LB12*/ 00136000 LR @10,@15 0075 00137000 L @13,4(,@13) 0075 00138000 L @00,@SIZDATD 0075 00139000 LR @01,@11 0075 00140000 FREEMAIN R,LV=(0),A=(1) 00141000 LR @15,@10 0075 00142000 L @14,12(,@13) 0075 00143000 LM @00,@12,20(@13) 0075 00144000 BR @14 0075 00145000 * 0076 00146000 */********************************************************** @YD00113*/ 00147000 */* @Y30LB12*/ 00148000 */* PROCEDURE NAME - INVOKE @Y30LB12*/ 00149000 */* @Y30LB12*/ 00150000 */* FUNCTION - CHECK FOR INVOCATION PARAMETERS PASSED EITHER @Y30LB12*/ 00151000 */* BY THE SYSTEM OR BY A USER CALLING PROGRAM. @Y30LB12*/ 00152000 */* THE DEFAULT VALUES FOR POSSIBLE PASSED @Y30LB12*/ 00153000 */* PARAMETERS ARE FILLED IN BEFORE ANY CHECK IS @Y30LB12*/ 00154000 */* MADE TO SEE IF PARAMETERS ACTUALLY WERE @Y30LB12*/ 00155000 */* PASSED. @Y30LB12*/ 00156000 */* @Y30LB12*/ 00157000 */* THIS ROUTINE ALSO COPIES A MODEL DCB FOR @Y30LB12*/ 00158000 */* SYSPRINT TO THE AREA OBTAINED WITH GETMAIN @Y30LB12*/ 00159000 */* AND SETS UP TO ACTIVATE THE DCB EXLST FOR @Y30LB12*/ 00160000 */* THE COPIED DCB. @Y30LB12*/ 00161000 */* @Y30LB12*/ 00162000 */********************************************************** @YD00113*/ 00163000 * 0076 00164000 *INVOKE: 0076 00165000 * PROCEDURE; /* @Y30LB12*/ 00166000 INVOKE STM @14,@12,@SA00002 0076 00167000 * PAGENO='F0F0F0F1'X; /* STARTING PAGE NO. @Y30LB12*/ 00168000 MVC PAGENO(4,R4),@CB00655 0077 00169000 * LINECT=58; /* 58 LINES PER PAGE @Y30LB12*/ 00170000 MVC LINECT(2,R4),@CH00656 0078 00171000 * DCBPRINT=MYDCB1A; /* COPY SYSPRINT DCB @Y30LB12*/ 00172000 LA @10,MYDCB1 0079 00173000 MVC DCBPRINT(96,R4),MYDCB1A(@10) 0079 00174000 * DCBPTR=ADDR(DCBPRINT); /* SET DCB OVERLAY @Y30LB12*/ 00175000 LA @10,DCBPRINT(,R4) 0080 00176000 ST @10,DCBPTR(,R4) 0080 00177000 * DCBEXLST=ADDR(EXLST); /* EXIT LIST ADDRESS @Y30LB12*/ 00178000 LA @09,EXLST(,R4) 0081 00179000 ST @09,DCBEXLST+28(,@10) 0081 00180000 * EXLST=ADDR(DCBROUT1); /* EXIT ROUTINE ADDR @Y30LB12*/ 00181000 LA @10,DCBROUT1 0082 00182000 ST @10,EXLST(,R4) 0082 00183000 * EXLST(1)='85'X; /* ACTIVATE DCB EXIT @Y30LB12*/ 00184000 MVI EXLST(R4),X'85' 0083 00185000 * IF OPTLNGTH^='0000'X /* LENGTH OF OPTLIST @YM32174*/ 00186000 * THEN /* @Y30LB12*/ 00187000 L @10,PARMPTR(,R4) 0084 00188000 L @10,OPTPTR(,@10) 0084 00189000 LH @10,OPTLNGTH(,@10) 0084 00190000 LTR @10,@10 0084 00191000 BZ @RF00084 0084 00192000 * CALL DOOPTLST; /* OPTLIST PRESENT @Y30LB12*/ 00193000 BAL @14,DOOPTLST 0085 00194000 * ELSE 0086 00195000 * ; /* @Y30LB12*/ 00196000 @RF00084 DS 0H 0087 00197000 * IF OPTFLG^='1'B /* ONLY OPTION LIST @Y30LB12*/ 00198000 * THEN /* END-OF-LIST FLAG @Y30LB12*/ 00199000 L @10,PARMPTR(,R4) 0087 00200000 TM OPTFLG(@10),B'10000000' 0087 00201000 BO @RF00087 0087 00202000 * DO; /* @Y30LB12*/ 00203000 * CALL DODDNAME; /* CHECK DDNAME LIST @Y30LB12*/ 00204000 BAL @14,DODDNAME 0089 00205000 * IF DDFLG^='1'B /* END-OF-LIST FLAG @Y30LB12*/ 00206000 * THEN /* @Y30LB12*/ 00207000 L @10,PARMPTR(,R4) 0090 00208000 TM DDFLG(@10),B'10000000' 0090 00209000 BO @RF00090 0090 00210000 * IF PAGELEN^=0 /* ENTRY FOR PAGE @Y30LB12*/ 00211000 * THEN /* @Y30LB12*/ 00212000 L @10,PAGEPTR(,@10) 0091 00213000 LH @10,PAGELEN(,@10) 0091 00214000 LTR @10,@10 0091 00215000 BZ @RF00091 0091 00216000 * CALL DOPAGE; /* CHECK PAGE LIST @Y30LB12*/ 00217000 BAL @14,DOPAGE 0092 00218000 * ELSE 0093 00219000 * ; /* @Y30LB12*/ 00220000 @RF00091 DS 0H 0094 00221000 * ELSE 0094 00222000 * ; /* @Y30LB12*/ 00223000 @RF00090 DS 0H 0095 00224000 * END; /* @Y30LB12*/ 00225000 * ELSE 0096 00226000 * ; /* @Y30LB12*/ 00227000 @RF00087 DS 0H 0097 00228000 * END INVOKE; /* RET. TO MAINLINE @Y30LB12*/ 00229000 @EL00002 DS 0H 0097 00230000 @EF00002 DS 0H 0097 00231000 @ER00002 LM @14,@12,@SA00002 0097 00232000 BR @14 0097 00233000 * 0098 00234000 */********************************************************** @YD00113*/ 00235000 */* @Y30LB12*/ 00236000 */* PROCEDURE NAME - DOOPTLST @Y30LB12*/ 00237000 */* @Y30LB12*/ 00238000 */* FUNCTION - CHECK THE OPTIONS FIELD FOR THE PARAMETER @Y30LB12*/ 00239000 */* 'LINE=NN', WHERE NN IS A TWO-DIGIT DECIMAL @Y30LB12*/ 00240000 */* NUMBER @Y30LB12*/ 00241000 */* @Y30LB12*/ 00242000 */********************************************************** @YD00113*/ 00243000 * 0098 00244000 *DOOPTLST: 0098 00245000 * PROCEDURE; /* @Y30LB12*/ 00246000 DOOPTLST STM @14,@12,@SA00003 0098 00247000 * IF OPTCONST='LINES=' /* 1ST 6 CHARACTERS @Y30LB12*/ 00248000 * &OPTLNGTH='0008'X /* PROPER LENGTH @YM32174*/ 00249000 * THEN /* ARE 'LINES=', CHK @Y30LB12*/ 00250000 L @10,PARMPTR(,R4) 0099 00251000 L @10,OPTPTR(,@10) 0099 00252000 CLC OPTCONST(6,@10),@CC00667 0099 00253000 BNE @RF00099 0099 00254000 CLC OPTLNGTH(2,@10),@CH00668 0099 00255000 BNE @RF00099 0099 00256000 * DO; /* LAST 2 CHARS NUM. @Y30LB12*/ 00257000 * IF OPTLINES(1:4)^='1111'B /* IF 1ST BYTE @Y30LB12*/ 00258000 * |OPTLINES(9:12)^='1111'B/* OR 2ND BYTE @Y30LB12*/ 00259000 * THEN /* NOT ZONED DECIMAL @Y30LB12*/ 00260000 TM OPTLINES(@10),B'11110000' 0101 00261000 BNO @RT00101 0101 00262000 TM OPTLINES+1(@10),B'11110000' 0101 00263000 BO @RF00101 0101 00264000 @RT00101 DS 0H 0102 00265000 * NEED101='1'B; /* NEED ERR MESSAGE @Y30LB12*/ 00266000 OI NEED101(R4),B'10000000' 0102 00267000 * ELSE /* @Y30LB12*/ 00268000 * DO; /* @Y30LB12*/ 00269000 B @RC00101 0103 00270000 @RF00101 DS 0H 0104 00271000 * SAVELINE=OPTLINES; /* @YM31087*/ 00272000 L @10,PARMPTR(,R4) 0104 00273000 L @10,OPTPTR(,@10) 0104 00274000 MVC SAVELINE(2),OPTLINES(@10) 0104 00275000 * PACKWORK='0000000000000000'X;/* @Y30LB12*/ 00276000 MVC PACKWORK(8),@CB00670 0105 00277000 * GEN(PACK PACKWORK+6(2),SAVELINE(2)); 0106 00278000 PACK PACKWORK+6(2),SAVELINE(2) 00279000 * GEN(CVB 6,PACKWORK); /* @Y30LB12*/ 00280000 CVB 6,PACKWORK 00281000 * GEN(STH 6,LINECT(R4));/* @Y30LB12*/ 00282000 STH 6,LINECT(R4) 00283000 * END; /* @Y30LB12*/ 00284000 * END; /* @Y30LB12*/ 00285000 * ELSE /* FALL THRU TO ERR @Y30LB12*/ 00286000 * NEED101='1'B; /* SET UP ERR MSG @Y30LB12*/ 00287000 B @RC00099 0111 00288000 @RF00099 OI NEED101(R4),B'10000000' 0111 00289000 * END DOOPTLST; /* RETURN TO INVOKE @Y30LB12*/ 00290000 @EL00003 DS 0H 0112 00291000 @EF00003 DS 0H 0112 00292000 @ER00003 LM @14,@12,@SA00003 0112 00293000 BR @14 0112 00294000 * 0113 00295000 */********************************************************** @YD00113*/ 00296000 */* @Y30LB12*/ 00297000 */* PROCEDURE NAME - DODDNAME @Y30LB12*/ 00298000 */* @Y30LB12*/ 00299000 */* FUNCTION - EXTRACT THE SUBSTITUTE DDNAME LIST FROM THE @Y30LB12X 00300000 * */ 00301000 */* INVOKER'S AREA AND MOVE TO TO THE DDNAME SAVE @Y30LB12*/ 00302000 */* AREA. ONLY THE SYSPRINT SUBSTITUTE DDNAME IS @Y30LB12*/ 00303000 */* CHECKED FOR VALIDITY HERE. ALL OTHER @Y30LB12*/ 00304000 */* SUBSTITUTE DDNAMES ARE CHECKED WHEN THE DATA @Y30LB12*/ 00305000 */* SET IS TO BE OPENED. @Y30LB12*/ 00306000 */* @Y30LB12*/ 00307000 */********************************************************** @YD00113*/ 00308000 * 0113 00309000 *DODDNAME: 0113 00310000 * PROCEDURE; /* @Y30LB12*/ 00311000 DODDNAME STM @14,@12,12(@13) 0113 00312000 * IF DDLENGTH>=40 /* LENGTH OKAY FOR @Y30LB12*/ 00313000 * THEN /* POSSIBLE @Y30LB12*/ 00314000 L @10,PARMPTR(,R4) 0114 00315000 L @10,DDPTR(,@10) 0114 00316000 LH @09,DDLENGTH(,@10) 0114 00317000 CH @09,@CH00350 0114 00318000 BL @RF00114 0114 00319000 * SVSYSIN=DDSYSIN; /* SYSIN SUBSTITUTE @Y30LB12*/ 00320000 MVC SVSYSIN(8,R4),DDSYSIN(@10) 0115 00321000 * ELSE 0116 00322000 * ; /* @Y30LB12*/ 00323000 @RF00114 DS 0H 0117 00324000 * IF DDLENGTH>=48 /* LENGTH OKAY FOR @Y30LB12*/ 00325000 * THEN /* POSSIBLE SYSPRINT @Y30LB12*/ 00326000 L @10,PARMPTR(,R4) 0117 00327000 L @10,DDPTR(,@10) 0117 00328000 LH @09,DDLENGTH(,@10) 0117 00329000 CH @09,@CH00237 0117 00330000 BL @RF00117 0117 00331000 * IF DDSYSPRT^='0000000000000000'X/* AND @Y30LB12*/ 00332000 * THEN /* SUBSTITUTE THERE, @Y30LB12*/ 00333000 CLC DDSYSPRT(8,@10),@CB00670 0118 00334000 BE @RF00118 0118 00335000 * DCBPRINT(41:48)=DDSYSPRT; /* MOVE NAME @Y30LB12*/ 00336000 MVC DCBPRINT+40(8,R4),DDSYSPRT(@10) 0119 00337000 * ELSE 0120 00338000 * ; /* NO SUBSTITUTE @Y30LB12*/ 00339000 @RF00118 DS 0H 0121 00340000 * ELSE 0121 00341000 * ; /* LIST TOO SHORT @Y30LB12*/ 00342000 @RF00117 DS 0H 0122 00343000 * IF DDLENGTH>=56 /* LENGTH OKAY FOR @Y30LB12*/ 00344000 * THEN /* POSSIBLE SYSPUNCH @Y30LB12*/ 00345000 L @10,PARMPTR(,R4) 0122 00346000 L @10,DDPTR(,@10) 0122 00347000 LH @09,DDLENGTH(,@10) 0122 00348000 CH @09,@CH00676 0122 00349000 BL @RF00122 0122 00350000 * SVSYSPCH=DDSYSPCH; /* SUBSTITUTE, MOVE @Y30LB12*/ 00351000 MVC SVSYSPCH(8,R4),DDSYSPCH(@10) 0123 00352000 * ELSE 0124 00353000 * ; /* LIST TOO SHORT @Y30LB12*/ 00354000 @RF00122 DS 0H 0125 00355000 * IF DDLENGTH>=64 /* LENGTH OKAY FOR @Y30LB12*/ 00356000 * THEN /* POSSIBLE SYSUT1 @Y30LB12*/ 00357000 L @10,PARMPTR(,R4) 0125 00358000 L @10,DDPTR(,@10) 0125 00359000 LH @09,DDLENGTH(,@10) 0125 00360000 CH @09,@CH00247 0125 00361000 BL @RF00125 0125 00362000 * SVSYSUT1=DDSYSUT1; /* THEN MOVE IT @Y30LB12*/ 00363000 MVC SVSYSUT1(8,R4),DDSYSUT1(@10) 0126 00364000 * ELSE 0127 00365000 * ; /* LIST YOO SHORT @Y30LB12*/ 00366000 @RF00125 DS 0H 0128 00367000 * IF DDLENGTH>=72 /* LENGTH OKAY FOR @Y30LB12*/ 00368000 * THEN /* POSSIBLE SYSUT2 @Y30LB12*/ 00369000 L @10,PARMPTR(,R4) 0128 00370000 L @10,DDPTR(,@10) 0128 00371000 LH @09,DDLENGTH(,@10) 0128 00372000 CH @09,@CH00274 0128 00373000 BL @RF00128 0128 00374000 * SVSYSUT2=DDSYSUT2; /* NAME, MOVE IT @Y30LB12*/ 00375000 MVC SVSYSUT2(8,R4),DDSYSUT2(@10) 0129 00376000 * ELSE 0130 00377000 * ; /* LIST TOO SHORT @Y30LB12*/ 00378000 @RF00128 DS 0H 0131 00379000 * IF DDLENGTH>=80 /* LENGTH OKAY FOR @Y30LB12*/ 00380000 * THEN /* POSSIBLE SYSUT3 @Y30LB12*/ 00381000 L @10,PARMPTR(,R4) 0131 00382000 L @10,DDPTR(,@10) 0131 00383000 LH @09,DDLENGTH(,@10) 0131 00384000 CH @09,@CH00056 0131 00385000 BL @RF00131 0131 00386000 * SVSYSUT3=DDSYSUT3; /* NAME, MOVE IT @Y30LB12*/ 00387000 MVC SVSYSUT3(8,R4),DDSYSUT3(@10) 0132 00388000 * ELSE 0133 00389000 * ; /* NOT LONG ENOUGH @Y30LB12*/ 00390000 @RF00131 DS 0H 0134 00391000 * END DODDNAME; /* RETURN TO INVOKE @Y30LB12*/ 00392000 @EL00004 DS 0H 0134 00393000 @EF00004 DS 0H 0134 00394000 @ER00004 LM @14,@12,12(@13) 0134 00395000 BR @14 0134 00396000 * 0135 00397000 */********************************************************** @YD00113*/ 00398000 */* @Y30LB12*/ 00399000 */* PROCEDURE NAME - DOPAGE @Y30LB12*/ 00400000 */* @Y30LB12*/ 00401000 */* FUNCTION - HANDLE THE STARTING PAGE NUMBER FIELD, IF ONE @Y30LB12*/ 00402000 */* IS SUPPLIED. THE PAGE NUMBER MUST BE A @Y30LB12*/ 00403000 */* 4-CHARACTER ZONED DECIMAL NUMBER. @Y30LB12*/ 00404000 */* @Y30LB12*/ 00405000 */********************************************************** @YD00113*/ 00406000 * 0135 00407000 *DOPAGE: 0135 00408000 * PROCEDURE; /* @Y30LB12*/ 00409000 DOPAGE STM @14,@12,12(@13) 0135 00410000 * IF PAGELEN^=4 /* IF LENGTH NOT 4 @Y30LB12*/ 00411000 * THEN /* ERROR, WRITE MSG @Y30LB12*/ 00412000 L @10,PARMPTR(,R4) 0136 00413000 L @10,PAGEPTR(,@10) 0136 00414000 CLC PAGELEN(2,@10),@CH00070 0136 00415000 BE @RF00136 0136 00416000 * NEED102='1'B; /* ICGDS102, DEFAULT @Y30LB12*/ 00417000 OI NEED102(R4),B'01000000' 0137 00418000 * ELSE /* CHK ZONED DECIMAL @Y30LB12*/ 00419000 * DO; /* @Y30LB12*/ 00420000 B @RC00136 0138 00421000 @RF00136 DS 0H 0139 00422000 * IF STARTNUM(1:4)='1111'B /* @Y30LB12*/ 00423000 * &STARTNUM(9:12)='1111'B /* @Y30LB12*/ 00424000 * &STARTNUM(17:20)='1111'B/* @Y30LB12*/ 00425000 * &STARTNUM(25:26)='11'B /* PLUS ZONE @Y30LB12*/ 00426000 * THEN /* @Y30LB12*/ 00427000 L @10,PARMPTR(,R4) 0139 00428000 L @10,PAGEPTR(,@10) 0139 00429000 TM STARTNUM(@10),B'11110000' 0139 00430000 BNO @RF00139 0139 00431000 TM STARTNUM+1(@10),B'11110000' 0139 00432000 BNO @RF00139 0139 00433000 TM STARTNUM+2(@10),B'11110000' 0139 00434000 BNO @RF00139 0139 00435000 TM STARTNUM+3(@10),B'11000000' 0139 00436000 BNO @RF00139 0139 00437000 * PAGENO=STARTNUM; /* ACCEPT PASSED NUM @Y30LB12*/ 00438000 MVC PAGENO(4,R4),STARTNUM(@10) 0140 00439000 * ELSE /* @Y30LB12*/ 00440000 * NEED102='1'B; /* FOR MSG ICGDS102 @Y30LB12*/ 00441000 B @RC00139 0141 00442000 @RF00139 OI NEED102(R4),B'01000000' 0141 00443000 * END; /* @Y30LB12*/ 00444000 * END DOPAGE; /* RETURN TO INVOKE @Y30LB12*/ 00445000 @EL00005 DS 0H 0143 00446000 @EF00005 DS 0H 0143 00447000 @ER00005 LM @14,@12,12(@13) 0143 00448000 BR @14 0143 00449000 * 0144 00450000 */********************************************************** @YD00113*/ 00451000 */* @Y30LB12*/ 00452000 */* PROCEDURE NAME - OPENPRT @Y30LB12*/ 00453000 */* @Y30LB12*/ 00454000 */* FUNCTION - OPEN SYSPRINT. CALL ICGDSMSG TO PRINT @Y30LB12*/ 00455000 */* FIRST PAGE HEADING, MESSAGES ICGDS101 AND @Y30LB12*/ 00456000 */* ICGDS102 IF REQUIRED, AND PRINT END OF @Y30LB12*/ 00457000 */* INITIALIZATION MESSAGES. RETURN TO MAINLINE @Y30LB12*/ 00458000 */* @Y30LB12*/ 00459000 */********************************************************** @YD00113*/ 00460000 * 0144 00461000 *OPENPRT: 0144 00462000 * PROCEDURE; /* @Y30LB12*/ 00463000 OPENPRT STM @14,@12,@SA00006 0144 00464000 * OPENLIST=ADDR(DCBPRINT); /* SYSPRINT DCB ADDR @Y30LB12*/ 00465000 LA @10,DCBPRINT(,R4) 0145 00466000 ST @10,OPENLIST(,R4) 0145 00467000 * OPENLIST(1)='8F'X; /* OPEN OUTPUT @Y30LB12*/ 00468000 MVI OPENLIST(R4),X'8F' 0146 00469000 * R1=ADDR(OPENLIST); /* PTR TO LIST @Y30LB12*/ 00470000 LA R1,OPENLIST(,R4) 0147 00471000 * GEN(OPEN MF=(E,(1)) ); /* OPEN EXECUTE FORM @Y30LB12*/ 00472000 OPEN MF=(E,(1)) 00473000 * DCBPTR=ADDR(DCBPRINT); /* DCB OVERLAY @Y30LB12*/ 00474000 LA @10,DCBPRINT(,R4) 0149 00475000 ST @10,DCBPTR(,R4) 0149 00476000 * IF DCBOFOPN='1'B /* IF OPEN WAS OKAY, @Y30LB12*/ 00477000 * THEN /* PRINT HEADING @Y30LB12*/ 00478000 TM DCBOFOPN+40(@10),B'00010000' 0150 00479000 BNO @RF00150 0150 00480000 * DO; /* @Y30LB12*/ 00481000 * WARNING=0; /* @Y30LB12*/ 00482000 SLR @10,@10 0152 00483000 STH @10,WARNING(,R4) 0152 00484000 * TERMINAT=0; /* @Y30LB12*/ 00485000 STH @10,TERMINAT(,R4) 0153 00486000 * LINECTR=LINECT; /* SET NEED HEADING @Y30LB12*/ 00487000 MVC LINECTR(2,R4),LINECT(R4) 0154 00488000 * END; /* @Y30LB12*/ 00489000 * ELSE /* IF OPEN FAILED, @Y30LB12*/ 00490000 * DO; /* SAY WE QUIT @Y30LB12*/ 00491000 B @RC00150 0156 00492000 @RF00150 DS 0H 0157 00493000 * GEN(WTO MF=(E,WTOPRINT)); /* @Y30LB12*/ 00494000 WTO MF=(E,WTOPRINT) 00495000 * GO TO OPENFAIL; /* @Y30LB12*/ 00496000 B OPENFAIL 0158 00497000 * END; /* @Y30LB12*/ 00498000 * 0159 00499000 * /*****************************************************************/ 00500000 * /* */ 00501000 * /* *********************************************** @YD00113*/ 00502000 * /* CHECK TO SEE IF WE OWE THE USER AN ERROR @Y30LB12*/ 00503000 * /* MESSAGE ON INVOCATION LINES PER PAGE OR @Y30LB12*/ 00504000 * /* STARTING PAGE NUMBER. IF A MESSAGE IS OWED, @XD00153*/ 00505000 * /* LINK TO ICGDSMSG TO PRINT THE MESSAGE. @XD00153*/ 00506000 * /* *********************************************** @YD00113*/ 00507000 * /* */ 00508000 * /*****************************************************************/ 00509000 * 0160 00510000 * IF NEED101='1'B /* OWE MSG ICGDS101 @Y30LB12*/ 00511000 * THEN /* @Y30LB12*/ 00512000 @RC00150 TM NEED101(R4),B'10000000' 0160 00513000 BNO @RF00160 0160 00514000 * DO; /* @Y30LB12*/ 00515000 * NEED101='0'B; /* SET OFF OWING FLG @Y30LB12*/ 00516000 NI NEED101(R4),B'01111111' 0162 00517000 * MSGNO=ICG101I; /* SET MSG NUM INDEX @Y30LB12*/ 00518000 MVC MSGNO(2,R4),ICG101I 0163 00519000 * WARNING=WARNING+1; /* BUMP WARNING CTR @Y30LB12*/ 00520000 LA @10,1 0164 00521000 AH @10,WARNING(,R4) 0164 00522000 STH @10,WARNING(,R4) 0164 00523000 * GEN(LINK EP=ICGDSMSG); /* GO PRINT MSG @Y30LB12*/ 00524000 LINK EP=ICGDSMSG 00525000 * END; /* @Y30LB12*/ 00526000 * ELSE 0167 00527000 * ; /* @Y30LB12*/ 00528000 @RF00160 DS 0H 0168 00529000 * IF NEED102='1'B /* OWE MSG ICGDS102 @Y30LB12*/ 00530000 * THEN /* @Y30LB12*/ 00531000 TM NEED102(R4),B'01000000' 0168 00532000 BNO @RF00168 0168 00533000 * DO; /* @Y30LB12*/ 00534000 * NEED102='0'B; /* SET OFF OWING FLG @Y30LB12*/ 00535000 NI NEED102(R4),B'10111111' 0170 00536000 * MSGNO=ICG102I; /* SET MSG NUM INDEX @Y30LB12*/ 00537000 MVC MSGNO(2,R4),ICG102I 0171 00538000 * WARNING=WARNING+1; /* BUMP WARNING CTR @Y30LB12*/ 00539000 LA @10,1 0172 00540000 AH @10,WARNING(,R4) 0172 00541000 STH @10,WARNING(,R4) 0172 00542000 * GEN(LINK EP=ICGDSMSG); /* GO PRINT MSG @Y30LB12*/ 00543000 LINK EP=ICGDSMSG 00544000 * END; /* @Y30LB12*/ 00545000 * ELSE 0175 00546000 * ; /* @Y30LB12*/ 00547000 * 0175 00548000 @RF00168 DS 0H 0176 00549000 * /*****************************************************************/ 00550000 * /* */ 00551000 * /* *********************************************** @YD00113*/ 00552000 * /* PRINT END OF INITIALIZATION MESSAGE @Y30LB12*/ 00553000 * /* *********************************************** @YD00113*/ 00554000 * /* */ 00555000 * /*****************************************************************/ 00556000 * 0176 00557000 * ENDPHASE='1'B; /* PHASE END MSG @Y30LB12*/ 00558000 OI ENDPHASE(R4),B'00000100' 0176 00559000 * MSGNO=ICG103I; /* ICGDS103-INIT @Y30LB12*/ 00560000 MVC MSGNO(2,R4),ICG103I 0177 00561000 * GEN(LINK EP=ICGDSMSG); /* GO PRINT MESSAGES @Y30LB12*/ 00562000 LINK EP=ICGDSMSG 00563000 * ENDPHASE='0'B; /* SET OFF PHASE END @Y30LB12*/ 00564000 NI ENDPHASE(R4),B'11111011' 0179 00565000 *OPENFAIL: 0180 00566000 * END OPENPRT; /* RET. TO MAINLINE @Y30LB12*/ 00567000 @EL00006 DS 0H 0180 00568000 @EF00006 DS 0H 0180 00569000 @ER00006 LM @14,@12,@SA00006 0180 00570000 BR @14 0180 00571000 * 0181 00572000 */********************************************************** @YD00113*/ 00573000 */* @Y30LB12*/ 00574000 */* PROCEDURE NAME - SCNANBLD @Y30LB12*/ 00575000 */* @Y30LB12*/ 00576000 */* FUNCTION - IF RETURN CODES PERMIT, LINK TO THREE MAJOR @Y30LB12*/ 00577000 */* FUNCTIONAL AREAS, SCAN (ICGDSSCN), ANALYZE @Y30LB12*/ 00578000 */* (ICGDSANL), AND BUILD (ICGDSBLD). IF @Y30LB12*/ 00579000 */* ANY SERIOUS ERROR ENCOUNTERED IN ANY OF THESE @Y30LB12*/ 00580000 */* FUNCTIONAL AREAS, DISCONTINUE PROCESSING. @Y30LB12*/ 00581000 */* @Y30LB12*/ 00582000 */********************************************************** @YD00113*/ 00583000 * 0181 00584000 *SCNANBLD: 0181 00585000 * PROCEDURE; /* @Y30LB12*/ 00586000 * 0181 00587000 SCNANBLD STM @14,@12,@SA00007 0181 00588000 * /*****************************************************************/ 00589000 * /* */ 00590000 * /* *********************************************** @YD00113*/ 00591000 * /* LINK TO SCAN ROUTINE TO READ AND PRINT CONTROL @Y30LB12*/ 00592000 * /* STATEMENTS @Y30LB12*/ 00593000 * /* *********************************************** @YD00113*/ 00594000 * /* */ 00595000 * /*****************************************************************/ 00596000 * 0182 00597000 * GEN(LINK EP=ICGDSSCN); /* @Y30LB12*/ 00598000 * 0182 00599000 LINK EP=ICGDSSCN 00600000 * /*****************************************************************/ 00601000 * /* */ 00602000 * /* *********************************************** @YD00113*/ 00603000 * /* ANALYZE RETURN CODE PASSED BY ICGDSSCN AND ITS @Y30LB12*/ 00604000 * /* CALLED ROUTINES AND DETERMINE WHETHER TO @Y30LB12*/ 00605000 * /* CONTINUE OR TO TERMINATE. @Y30LB12*/ 00606000 * /* *********************************************** @YD00113*/ 00607000 * /* */ 00608000 * /*****************************************************************/ 00609000 * 0183 00610000 * ENDPHASE='1'B; /* SET END OF PHASE @Y30LB12*/ 00611000 OI ENDPHASE(R4),B'00000100' 0183 00612000 * MSGNO=ICG104I; /* END OF PHASE MSG @Y30LB12*/ 00613000 MVC MSGNO(2,R4),ICG104I 0184 00614000 * GEN(LINK EP=ICGDSMSG); /* TO MESSAGE WRITER @Y30LB12*/ 00615000 LINK EP=ICGDSMSG 00616000 * ENDPHASE='0'B; /* END OF PHASE OFF @Y30LB12*/ 00617000 NI ENDPHASE(R4),B'11111011' 0186 00618000 * IF RETCODE>=8 /* CHECK RETURN CODE @Y30LB12*/ 00619000 * THEN /* @Y30LB12*/ 00620000 LH @10,RETCODE(,R4) 0187 00621000 CH @10,@CH00042 0187 00622000 BNL @RT00187 0187 00623000 * GO TO ALLDONE; /* CLEAN UP AND OUT @Y30LB12*/ 00624000 * ELSE 0189 00625000 * ; /* @Y30LB12*/ 00626000 * 0189 00627000 * /*****************************************************************/ 00628000 * /* */ 00629000 * /* *********************************************** @YD00113*/ 00630000 * /* LINK TO ANALYZE PHASE TO CROSS-CHECK SPECIFIED @Y30LB12*/ 00631000 * /* PARAMETERS FOR CONFLICTS AND TO LOOK FOR @Y30LB12*/ 00632000 * /* MISSING SPECIFICATIONS @Y30LB12*/ 00633000 * /* *********************************************** @YD00113*/ 00634000 * /* */ 00635000 * /*****************************************************************/ 00636000 * 0190 00637000 * GEN(LINK EP=ICGDSANL); /* @Y30LB12*/ 00638000 * 0190 00639000 LINK EP=ICGDSANL 00640000 * /*****************************************************************/ 00641000 * /* */ 00642000 * /* *********************************************** @YD00113*/ 00643000 * /* ANALYZE RETURN CODE FROM ANALYZE ROUTINES AND @Y30LB12*/ 00644000 * /* DETERMINE WHETHER TO CONTINUE OR TO TERMINATE. @Y30LB12*/ 00645000 * /* *********************************************** @YD00113*/ 00646000 * /* */ 00647000 * /*****************************************************************/ 00648000 * 0191 00649000 * ENDPHASE='1'B; /* SET END OF PHASE @Y30LB12*/ 00650000 OI ENDPHASE(R4),B'00000100' 0191 00651000 * MSGNO=ICG105I; /* END OF PHASE MSG @Y30LB12*/ 00652000 MVC MSGNO(2,R4),ICG105I 0192 00653000 * GEN(LINK EP=ICGDSMSG); /* TO MESSAGE WRITER @Y30LB12*/ 00654000 LINK EP=ICGDSMSG 00655000 * ENDPHASE='0'B; /* END OF PHASE OFF @Y30LB12*/ 00656000 NI ENDPHASE(R4),B'11111011' 0194 00657000 * IF RETCODE>=8 /* CHECK RETURN CODE @Y30LB12*/ 00658000 * THEN /* @Y30LB12*/ 00659000 LH @10,RETCODE(,R4) 0195 00660000 CH @10,@CH00042 0195 00661000 BNL @RT00195 0195 00662000 * GO TO ALLDONE; /* CLEAN UP AND OUT @Y30LB12*/ 00663000 * ELSE 0197 00664000 * ; /* @Y30LB12*/ 00665000 * 0197 00666000 * /*****************************************************************/ 00667000 * /* */ 00668000 * /* *********************************************** @YD00113*/ 00669000 * /* LINK TO BUILD PHASE @Y30LB12*/ 00670000 * /* *********************************************** @YD00113*/ 00671000 * /* */ 00672000 * /*****************************************************************/ 00673000 * 0198 00674000 * GEN(LINK EP=ICGDSBLD); /* @Y30LB12*/ 00675000 * 0198 00676000 LINK EP=ICGDSBLD 00677000 * /*****************************************************************/ 00678000 * /* */ 00679000 * /* *********************************************** @YD00113*/ 00680000 * /* PRINT BUILD PHASE MESSAGES @Y30LB12*/ 00681000 * /* *********************************************** @YD00113*/ 00682000 * /* */ 00683000 * /*****************************************************************/ 00684000 * 0199 00685000 * ENDPHASE='1'B; /* SET END OF PHASE @Y30LB12*/ 00686000 OI ENDPHASE(R4),B'00000100' 0199 00687000 * MSGNO=ICG106I; /* END OF PHASE MSG @Y30LB12*/ 00688000 MVC MSGNO(2,R4),ICG106I 0200 00689000 * GEN(LINK EP=ICGDSMSG); /* TO MESSAGE WRITER @Y30LB12*/ 00690000 LINK EP=ICGDSMSG 00691000 * ENDPHASE='0'B; /* END OF PHASE OFF @Y30LB12*/ 00692000 NI ENDPHASE(R4),B'11111011' 0202 00693000 *ALLDONE: 0203 00694000 * END SCNANBLD; /* RET. TO MAINLINE @Y30LB12*/ 00695000 @EL00007 DS 0H 0203 00696000 @EF00007 DS 0H 0203 00697000 @ER00007 LM @14,@12,@SA00007 0203 00698000 BR @14 0203 00699000 * 0204 00700000 */********************************************************** @YD00113*/ 00701000 */* @Y30LB12*/ 00702000 */* PROCEDURE NAME - CLOSEPRT @Y30LB12*/ 00703000 */* @Y30LB12*/ 00704000 */* FUNCTION - IF SYSPRINT HAS BEEN OPENED, CLOSE IT @Y30LB12*/ 00705000 */* ISSUE 'END OF JOB' MESSAGE ICG107I BY LINKING @XD00153*/ 00706000 */* TO ICGDSMSG. @XD00153*/ 00707000 */* @Y30LB12*/ 00708000 */********************************************************** @YD00113*/ 00709000 * 0204 00710000 *CLOSEPRT: 0204 00711000 * PROCEDURE; /* @Y30LB12*/ 00712000 CLOSEPRT STM @14,@12,@SA00008 0204 00713000 * ENDPHASE='1'B; /* SET END OF PHASE @Y30LB12*/ 00714000 * NEEDEOJ='1'B; /* SET END OF JOB @Y30LB12*/ 00715000 OI ENDPHASE(R4),B'00000110' 0206 00716000 * MSGNO=ICG107I; /* END OF JOB MSG @Y30LB12*/ 00717000 MVC MSGNO(2,R4),ICG107I 0207 00718000 * GEN(LINK EP=ICGDSMSG); /* TO MESSAGE WRITER @Y30LB12*/ 00719000 LINK EP=ICGDSMSG 00720000 * DCBPTR=ADDR(DCBPRINT); /* SET DCB OVERLAY @Y30LB12*/ 00721000 LA @10,DCBPRINT(,R4) 0209 00722000 ST @10,DCBPTR(,R4) 0209 00723000 * IF DCBOFOPN='1'B /* IF SYSPRINT OPEN @Y30LB12*/ 00724000 * THEN /* @Y30LB12*/ 00725000 TM DCBOFOPN+40(@10),B'00010000' 0210 00726000 BNO @RF00210 0210 00727000 * DO; /* @Y30LB12*/ 00728000 * OPENLIST=ADDR(DCBPRINT); /* ADDR OF DCB @Y30LB12*/ 00729000 ST @10,OPENLIST(,R4) 0212 00730000 * OPENLIST(1)='8F'X; /* CLOSE OUTPUT @Y30LB12*/ 00731000 MVI OPENLIST(R4),X'8F' 0213 00732000 * R1=ADDR(OPENLIST); /* PTR TO CLOSE LIST @Y30LB12*/ 00733000 LA R1,OPENLIST(,R4) 0214 00734000 * GEN(CLOSE MF=(E,(1))); /* EXECUTE FORM @Y30LB12*/ 00735000 CLOSE MF=(E,(1)) 00736000 * END; /* @Y30LB12*/ 00737000 * ELSE 0217 00738000 * ; /* @Y30LB12*/ 00739000 @RF00210 DS 0H 0218 00740000 * END CLOSEPRT; /* RET. TO MAINLINE @Y30LB12*/ 00741000 @EL00008 DS 0H 0218 00742000 @EF00008 DS 0H 0218 00743000 @ER00008 LM @14,@12,@SA00008 0218 00744000 BR @14 0218 00745000 * 0219 00746000 */********************************************************** @YD00113*/ 00747000 */* THIS IS THE DCB EXIT FOR SYSPRINT. IT ESTABLISHES @Y30LB12*/ 00748000 */* BLOCKSIZE AND RECORD LENGTH IF THE USER DID NOT SPECIFY @Y30LB12*/ 00749000 */* THEM. IT ALSO SETS UP RECFM AS FIXED-BLOCKED-ASA. IF @Y30LB12*/ 00750000 */* BLOCKSIZE IS NOT A MULTIPLE OF LRECL, BLKSIZE IS SET TO @Y30LB12*/ 00751000 */* 121. @Y30LB12*/ 00752000 */********************************************************** @YD00113*/ 00753000 * 0219 00754000 *DCBROUT1: 0219 00755000 * SAVE14=R14; /* OPEN RETURN REG @Y30LB12*/ 00756000 DCBROUT1 ST R14,SAVE14(,R4) 0219 00757000 * DCBPTR=ADDR(DCBPRINT); /* SET UP DCB OVERLAY@Y30LB12 */ 00758000 LA @10,DCBPRINT(,R4) 0220 00759000 ST @10,DCBPTR(,R4) 0220 00760000 * IF DCBBLKSI=0 /* IF DID NOT SPEC. @Y30LB12*/ 00761000 * THEN /* BLKSIZE, DEFAULT @Y30LB12*/ 00762000 AH @10,@CH00278 0221 00763000 LH @09,DCBBLKSI(,@10) 0221 00764000 LTR @09,@09 0221 00765000 BNZ @RF00221 0221 00766000 * DCBBLKSI=121; /* TO 121 @Y30LB12*/ 00767000 MVC DCBBLKSI(2,@10),@CH00074 0222 00768000 * ELSE 0223 00769000 * ; /* BLOCKSIZE SPEC'ED @Y30LB12*/ 00770000 @RF00221 DS 0H 0224 00771000 * IF DCBLRECL=0 /* IF REC LENGTH NOT @Y30LB12*/ 00772000 * THEN /* SUPPLIED, DEFAULT @Y30LB12*/ 00773000 LA @10,72 0224 00774000 AL @10,DCBPTR(,R4) 0224 00775000 LH @09,DCBLRECL(,@10) 0224 00776000 LTR @09,@09 0224 00777000 BNZ @RF00224 0224 00778000 * DCBLRECL=121; /* DO NOT CHANGE SPEC@Y30LB12 */ 00779000 MVC DCBLRECL(2,@10),@CH00074 0225 00780000 * ELSE 0226 00781000 * ; /* RECORD LENGTH @Y30LB12*/ 00782000 @RF00224 DS 0H 0227 00783000 * LEFTOVER=DCBBLKSI//DCBLRECL; /* IF BLKSIZE @Y30LB12*/ 00784000 L @10,DCBPTR(,R4) 0227 00785000 LA @09,52 0227 00786000 ALR @09,@10 0227 00787000 AH @10,@CH00274 0227 00788000 LH @02,DCBBLKSI(,@09) 0227 00789000 SRDA @02,32 0227 00790000 LH LEFTOVER,DCBLRECL(,@10) 0227 00791000 DR @02,LEFTOVER 0227 00792000 LR LEFTOVER,@02 0227 00793000 * IF LEFTOVER^=0 /* NOT MULTIPLE OF @Y30LB12*/ 00794000 * THEN /* RECORD LENTH @Y30LB12*/ 00795000 LTR LEFTOVER,LEFTOVER 0228 00796000 BZ @RF00228 0228 00797000 * DO; /* @Y30LB12*/ 00798000 * DCBBLKSI=121; /* DEFAULT BLOCKSIZE @Y30LB12*/ 00799000 LA @07,121 0230 00800000 STH @07,DCBBLKSI(,@09) 0230 00801000 * DCBLRECL=121; /* DEFAULT LRECL @Y30LB12*/ 00802000 STH @07,DCBLRECL(,@10) 0231 00803000 * END; /* @Y30LB12*/ 00804000 * ELSE 0233 00805000 * ; /* @Y30LB12*/ 00806000 @RF00228 DS 0H 0234 00807000 * DCBRECFM='94'X; /* FB-ASA @Y30LB12*/ 00808000 L @10,DCBPTR(,R4) 0234 00809000 MVI DCBRECFM+28(@10),X'94' 0234 00810000 * R14=SAVE14; /* RESTORE RET ADDR @Y30LB12*/ 00811000 L R14,SAVE14(,R4) 0235 00812000 * GEN(BR 14); /* RETURN TO IOS @Y30LB12*/ 00813000 BR 14 00814000 * GEN; 0237 00815000 * /*@Y30LB12*/ 00816000 WTOPRINT WTO 'ICG100I I/O ERROR ON SYSPRINT - MSCTC TERMINATED', **00817000 MF=L,ROUTCDE=(2),DESC=(4) /*@Y30LB12*/ 00818000 MYDCB1 DCB DDNAME=SYSPRINT,DSORG=PS,MACRF=PM,EROPT=ACC, **00819000 EXLST=DCBROUT1 /*@Y30LB12*/ 00820000 PATCHINT DC 32C'PATCHINT' /*@XD00153*/ 00821000 * END ICGDSINT /* @Y30LB12*/ 00822000 * 0238 00823000 */* THE FOLLOWING INCLUDE STATEMENTS WERE FOUND IN THIS PROGRAM. */ 00824000 */*%INCLUDE SYSLIB (ICGDSMAC) */ 00825000 */*%INCLUDE SYSLIB (IHADCBDF) */ 00826000 */*%INCLUDE SYSLIB (IHADCB ) */ 00827000 * 0238 00828000 * ; 0238 00829000 @EL00001 L @13,4(,@13) 0238 00830000 @EF00001 L @00,@SIZDATD 0238 00831000 LR @01,@11 0238 00832000 FREEMAIN R,LV=(0),A=(1) 00833000 @ER00001 LM @14,@12,12(@13) 0238 00834000 BR @14 0238 00835000 @DATA DS 0H 00836000 @CH00070 DC H'4' 00837000 @CH00042 DC H'8' 00838000 @CH00350 DC H'40' 00839000 @CH00237 DC H'48' 00840000 @CH00278 DC H'52' 00841000 @CH00676 DC H'56' 00842000 @CH00656 DC H'58' 00843000 @CH00247 DC H'64' 00844000 @CH00274 DC H'72' 00845000 @CH00056 DC H'80' 00846000 @CH00074 DC H'121' 00847000 @CH00037 DC H'256' 00848000 @CH00668 DC XL2'0008' 00849000 @DATD DSECT 00850000 DS 0F 00851000 @SA00001 DS 18F 00852000 @PC00001 DS 1F 00853000 @SA00002 DS 15F 00854000 @SA00006 DS 15F 00855000 @SA00007 DS 15F 00856000 @SA00008 DS 15F 00857000 @SA00003 DS 15F 00858000 @ZTEMPS DS C 00859000 @ZTEMPND EQU * 00860000 @ZLEN EQU @ZTEMPND-@ZTEMPS 00861000 ICGDSINT CSECT 00862000 DS 0F 00863000 @DATD DSECT 00864000 DS 0D 00865000 PACKWORK DS CL8 00866000 SAVELINE DS CL2 00867000 ORG *+1-(*-@DATD)/(*-@DATD) INSURE DSECT DATA 00868000 @ENDDATD EQU * 00869000 ICGDSINT CSECT 00870000 DS 0F 00871000 @SIZDATD DC AL1(0) 00872000 DC AL3(@ENDDATD-@DATD) 00873000 DS 0D 00874000 MAXCORE DC F'39937' 00875000 ICG101I DC H'101' 00876000 ICG102I DC H'102' 00877000 ICG103I DC H'103' 00878000 ICG104I DC H'104' 00879000 ICG105I DC H'105' 00880000 ICG106I DC H'106' 00881000 ICG107I DC H'107' 00882000 @CC00667 DC C'LINES=' 00883000 @CB00670 DC X'0000000000000000' 00884000 @CB00655 DC X'F0F0F0F1' 00885000 @00 EQU 00 EQUATES FOR REGISTERS 0-15 00886000 @01 EQU 01 00887000 @02 EQU 02 00888000 @03 EQU 03 00889000 @04 EQU 04 00890000 @05 EQU 05 00891000 @06 EQU 06 00892000 @07 EQU 07 00893000 @08 EQU 08 00894000 @09 EQU 09 00895000 @10 EQU 10 00896000 @11 EQU 11 00897000 @12 EQU 12 00898000 @13 EQU 13 00899000 @14 EQU 14 00900000 @15 EQU 15 00901000 LEFTOVER EQU @07 00902000 R4 EQU @04 00903000 R1 EQU @01 00904000 R5 EQU @05 00905000 R6 EQU @06 00906000 R8 EQU @08 00907000 R14 EQU @14 00908000 R15 EQU @15 00909000 COMTAB EQU 0 00910000 READER EQU COMTAB+256 00911000 READFLAG EQU READER+96 00912000 PCHBF EQU READER+99 00913000 STARTCOL EQU READER+180 00914000 NEXTCOL EQU READER+184 00915000 PRINTER EQU COMTAB+464 00916000 DCBPRINT EQU PRINTER 00917000 PAGENO EQU PRINTER+96 00918000 LINECTR EQU PRINTER+100 00919000 LINECT EQU PRINTER+102 00920000 MESSAGES EQU COMTAB+810 00921000 RETCODE EQU MESSAGES 00922000 MSGNO EQU MESSAGES+2 00923000 WARNING EQU MESSAGES+4 00924000 TERMINAT EQU MESSAGES+6 00925000 SPECLMSG EQU MESSAGES+18 00926000 NEED101 EQU SPECLMSG 00927000 NEED102 EQU SPECLMSG 00928000 ENDPHASE EQU SPECLMSG 00929000 NEEDEOJ EQU SPECLMSG 00930000 GENIO EQU COMTAB+832 00931000 OPENLIST EQU GENIO 00932000 DCBPTR EQU GENIO+4 00933000 EXLST EQU GENIO+8 00934000 SAVE14 EQU GENIO+12 00935000 COMPTR2 EQU GENIO+16 00936000 INVOKED EQU COMTAB+856 00937000 PARMPTR EQU INVOKED 00938000 SAVEDDS EQU INVOKED+4 00939000 SVSYSIN EQU SAVEDDS 00940000 SVSYSPCH EQU SAVEDDS+8 00941000 SVSYSUT1 EQU SAVEDDS+16 00942000 SVSYSUT2 EQU SAVEDDS+24 00943000 SVSYSUT3 EQU SAVEDDS+32 00944000 BUILDRSG EQU COMTAB+900 00945000 RSGS EQU BUILDRSG 00946000 RSG EQU RSGS 00947000 RSGABOX EQU RSG 00948000 RSGTODS EQU RSG+7 00949000 LIBRARY EQU COMTAB+1170 00950000 LIBS EQU LIBRARY 00951000 LIB EQU LIBS 00952000 LIBBITS EQU LIB 00953000 PABTABLE EQU COMTAB+1218 00954000 PABDEV EQU PABTABLE 00955000 PABFLAGS EQU PABDEV 00956000 PABREAL EQU PABDEV+1 00957000 PABAADDD EQU PABDEV+2 00958000 DSPAIRS EQU COMTAB+1938 00959000 PHYSTYPE EQU COMTAB+2002 00960000 PHYSFLGS EQU PHYSTYPE 00961000 MERLICEB EQU PHYSFLGS 00962000 CPUASSOC EQU COMTAB+3026 00963000 CPUS EQU CPUASSOC+2 00964000 CPU EQU CPUS 00965000 CPUFLAG1 EQU CPU+6 00966000 OPSYSTYP EQU CPUFLAG1 00967000 CPUFLAG2 EQU CPU+7 00968000 LOWERCON EQU COMTAB+3156 00969000 LOWDSS EQU LOWERCON 00970000 LOWFLGS EQU LOWDSS 00971000 LIBCTL EQU COMTAB+3284 00972000 LIBCTLS EQU LIBCTL 00973000 CREATE EQU COMTAB+3288 00974000 @NM00017 EQU CREATE 00975000 COM2BASE EQU COMTAB+3304 00976000 COMTAB2 EQU 0 00977000 DSTORSG EQU COMTAB2 00978000 DSENTRY EQU DSTORSG 00979000 CONFGCON EQU COMTAB2+32 00980000 RSGUCB EQU CONFGCON 00981000 RSGFLAGS EQU RSGUCB 00982000 CONFGUCB EQU COMTAB2+464 00983000 CONFGDEV EQU CONFGUCB 00984000 USEFLAGS EQU CONFGDEV 00985000 ALTPATH1 EQU CONFGDEV+2 00986000 ALTPATH2 EQU CONFGDEV+5 00987000 ALTPATH3 EQU CONFGDEV+8 00988000 IHADCB EQU 0 00989000 IHADCS04 EQU 0 00990000 IHADCS11 EQU 0 00991000 DCBRELB EQU IHADCS11 00992000 DCBREL EQU DCBRELB+1 00993000 DCBBUFCB EQU IHADCS11+4 00994000 DCBDSORG EQU IHADCS11+10 00995000 DCBDSRG1 EQU DCBDSORG 00996000 DCBDSRG2 EQU DCBDSORG+1 00997000 DCBIOBAD EQU IHADCS11+12 00998000 DCBODEB EQU DCBIOBAD 00999000 DCBLNP EQU DCBODEB 01000000 DCBQSLM EQU DCBLNP 01001000 DCBIOBAA EQU DCBODEB+1 01002000 IHADCS50 EQU 0 01003000 DCBSVCXL EQU IHADCS50 01004000 DCBEODAD EQU IHADCS50+4 01005000 DCBBFALN EQU DCBEODAD 01006000 DCBHIARC EQU DCBBFALN 01007000 DCBBFTEK EQU DCBHIARC 01008000 DCBBFT EQU DCBBFTEK 01009000 DCBEXLST EQU IHADCS50+8 01010000 DCBRECFM EQU DCBEXLST 01011000 DCBRECLA EQU DCBRECFM 01012000 IHADCS24 EQU 0 01013000 DCBOFLGS EQU IHADCS24+8 01014000 DCBOFLWR EQU DCBOFLGS 01015000 DCBOFOPN EQU DCBOFLGS 01016000 DCBIFLG EQU IHADCS24+9 01017000 DCBMACR EQU IHADCS24+10 01018000 DCBMACR1 EQU DCBMACR 01019000 DCBMRFE EQU DCBMACR1 01020000 DCBMRGET EQU DCBMRFE 01021000 DCBMRAPG EQU DCBMACR1 01022000 DCBMRRD EQU DCBMRAPG 01023000 DCBMRCI EQU DCBMACR1 01024000 DCBMRMVG EQU DCBMRCI 01025000 DCBMRLCG EQU DCBMACR1 01026000 DCBMRABC EQU DCBMACR1 01027000 DCBMRPT1 EQU DCBMRABC 01028000 DCBMRSBG EQU DCBMRPT1 01029000 DCBMRCRL EQU DCBMACR1 01030000 DCBMRCHK EQU DCBMRCRL 01031000 DCBMRRDX EQU DCBMRCHK 01032000 DCBMRDMG EQU DCBMACR1 01033000 DCBMACR2 EQU DCBMACR+1 01034000 DCBMRPUT EQU DCBMACR2 01035000 DCBMRWRT EQU DCBMACR2 01036000 DCBMRMVP EQU DCBMACR2 01037000 DCBMR5WD EQU DCBMACR2 01038000 DCBMRLDM EQU DCBMR5WD 01039000 DCBMRLCP EQU DCBMRLDM 01040000 DCBMR4WD EQU DCBMACR2 01041000 DCBMRPT2 EQU DCBMR4WD 01042000 DCBMRTMD EQU DCBMRPT2 01043000 DCBMR3WD EQU DCBMACR2 01044000 DCBMRCTL EQU DCBMR3WD 01045000 DCBMRSTK EQU DCBMRCTL 01046000 DCBMR1WD EQU DCBMACR2 01047000 DCBMRSWA EQU DCBMR1WD 01048000 DCBMRDMD EQU DCBMRSWA 01049000 IHADCS25 EQU 0 01050000 DCBMACRF EQU IHADCS25+2 01051000 DCBMACF1 EQU DCBMACRF 01052000 DCBMFFE EQU DCBMACF1 01053000 DCBMFGET EQU DCBMFFE 01054000 DCBMFAPG EQU DCBMACF1 01055000 DCBMFRD EQU DCBMFAPG 01056000 DCBMFCI EQU DCBMACF1 01057000 DCBMFMVG EQU DCBMFCI 01058000 DCBMFLCG EQU DCBMACF1 01059000 DCBMFABC EQU DCBMACF1 01060000 DCBMFPT1 EQU DCBMFABC 01061000 DCBMFSBG EQU DCBMFPT1 01062000 DCBMFCRL EQU DCBMACF1 01063000 DCBMFCHK EQU DCBMFCRL 01064000 DCBMFDMG EQU DCBMACF1 01065000 DCBMACF2 EQU DCBMACRF+1 01066000 DCBMFPUT EQU DCBMACF2 01067000 DCBMFWRT EQU DCBMACF2 01068000 DCBMFMVP EQU DCBMACF2 01069000 DCBMF5WD EQU DCBMACF2 01070000 DCBMFLDM EQU DCBMF5WD 01071000 DCBMFLCP EQU DCBMFLDM 01072000 DCBMF4WD EQU DCBMACF2 01073000 DCBMFPT2 EQU DCBMF4WD 01074000 DCBMFTMD EQU DCBMFPT2 01075000 DCBMF3WD EQU DCBMACF2 01076000 DCBMFCTL EQU DCBMF3WD 01077000 DCBMFSTK EQU DCBMFCTL 01078000 DCBMF1WD EQU DCBMACF2 01079000 DCBMFSWA EQU DCBMF1WD 01080000 DCBMFDMD EQU DCBMFSWA 01081000 DCBDEBAD EQU IHADCS25+4 01082000 DCBIFLGS EQU DCBDEBAD 01083000 IHADCS26 EQU 0 01084000 DCBWRITE EQU IHADCS26 01085000 DCBREAD EQU DCBWRITE 01086000 DCBWRITA EQU DCBREAD+1 01087000 IHADCS27 EQU 0 01088000 DCBGET EQU IHADCS27 01089000 DCBPUT EQU DCBGET 01090000 DCBGETA EQU DCBPUT+1 01091000 IHADCS36 EQU 0 01092000 DCBGERR EQU IHADCS36 01093000 DCBPERR EQU DCBGERR 01094000 DCBCHECK EQU DCBPERR 01095000 DCBOPTCD EQU DCBCHECK 01096000 DCBOPTH EQU DCBOPTCD 01097000 DCBOPTO EQU DCBOPTH 01098000 DCBOPTZ EQU DCBOPTCD 01099000 DCBGERRA EQU DCBCHECK+1 01100000 DCBPERRA EQU DCBGERRA 01101000 DCBSYNAD EQU IHADCS36+4 01102000 DCBCIND1 EQU IHADCS36+8 01103000 DCBCIND2 EQU IHADCS36+9 01104000 DCBBLKSI EQU IHADCS36+10 01105000 DCBIOBA EQU IHADCS36+16 01106000 DCBCICB EQU DCBIOBA 01107000 IHADCS52 EQU 0 01108000 DCBDIRCT EQU IHADCS52 01109000 DCBQSWS EQU DCBDIRCT 01110000 DCBUSASI EQU DCBQSWS 01111000 DCBQADFS EQU DCBUSASI 01112000 DCBBUFOF EQU DCBDIRCT+1 01113000 IHADCS37 EQU 0 01114000 DCBFLAG1 EQU IHADCS37 01115000 IHADCS38 EQU 0 01116000 DCBEOBR EQU IHADCS38 01117000 DCBLRECL EQU IHADCS38+10 01118000 DCBPOINT EQU IHADCS38+12 01119000 DCBCNTRL EQU DCBPOINT 01120000 IHADCS40 EQU 0 01121000 DCBEOBAD EQU IHADCS40 01122000 DCBCCCW EQU IHADCS40+4 01123000 DCBRECAD EQU DCBCCCW 01124000 DCBRECBT EQU DCBRECAD 01125000 DCBRCREL EQU DCBRECBT 01126000 @NM00043 EQU IHADCS40+12 01127000 DCBEROPT EQU @NM00043 01128000 PARMLIST EQU 0 01129000 OPTPTR EQU PARMLIST 01130000 OPTFLG EQU OPTPTR 01131000 DDPTR EQU PARMLIST+4 01132000 DDFLG EQU DDPTR 01133000 PAGEPTR EQU PARMLIST+8 01134000 OPTLIST EQU 0 01135000 OPTLNGTH EQU OPTLIST 01136000 OPTCONST EQU OPTLIST+2 01137000 OPTLINES EQU OPTLIST+8 01138000 DDNAMES EQU 0 01139000 DDLENGTH EQU DDNAMES 01140000 DDSYSIN EQU DDNAMES+34 01141000 DDSYSPRT EQU DDNAMES+42 01142000 DDSYSPCH EQU DDNAMES+50 01143000 DDSYSUT1 EQU DDNAMES+58 01144000 DDSYSUT2 EQU DDNAMES+66 01145000 DDSYSUT3 EQU DDNAMES+74 01146000 PAGELIST EQU 0 01147000 PAGELEN EQU PAGELIST 01148000 STARTNUM EQU PAGELIST+2 01149000 MYDCB1A EQU 0 01150000 SCANBUF EQU 0 01151000 SCANDATA EQU 0 01152000 DUMMY EQU 0 01153000 AGO .@UNREFD START UNREFERENCED COMPONENTS 01154000 @NM00047 EQU DDNAMES+2 01155000 DDREST EQU DDPTR 01156000 OPTREST EQU OPTPTR 01157000 DCBEOB EQU IHADCS40+20 01158000 DCBPRECL EQU IHADCS40+18 01159000 @NM00046 EQU IHADCS40+16 01160000 @NM00045 EQU @NM00043+1 01161000 @NM00044 EQU DCBEROPT 01162000 DCBERABE EQU DCBEROPT 01163000 DCBERSKP EQU DCBEROPT 01164000 DCBERACC EQU DCBEROPT 01165000 @NM00042 EQU IHADCS40+10 01166000 @NM00041 EQU IHADCS40+9 01167000 @NM00040 EQU IHADCS40+8 01168000 DCBRECA EQU DCBRECAD+1 01169000 @NM00039 EQU DCBRECBT 01170000 DCBRCFGT EQU DCBRCREL 01171000 DCBRCTRU EQU DCBRCREL 01172000 DCBLCCW EQU DCBEOBAD 01173000 DCBNOTE EQU DCBCNTRL 01174000 @NM00038 EQU IHADCS38+8 01175000 DCBEOBW EQU IHADCS38+4 01176000 DCBEOBRA EQU DCBEOBR+1 01177000 DCBNCP EQU DCBEOBR 01178000 @NM00037 EQU DCBFLAG1 01179000 DCBSTFLS EQU DCBFLAG1 01180000 DCBSTQCK EQU DCBFLAG1 01181000 DCBDIRCQ EQU DCBBUFOF 01182000 DCBQSTRU EQU DCBUSASI 01183000 @NM00036 EQU DCBUSASI 01184000 DCBQADF3 EQU DCBQADFS 01185000 DCBQADF2 EQU DCBQADFS 01186000 DCBQADF1 EQU DCBQADFS 01187000 DCBBLBP EQU DCBUSASI 01188000 @NM00035 EQU DCBUSASI 01189000 DCBCICBA EQU DCBCICB+1 01190000 @NM00034 EQU DCBCICB 01191000 DCBOFFSW EQU IHADCS36+15 01192000 DCBOFFSR EQU IHADCS36+14 01193000 DCBWCPL EQU IHADCS36+13 01194000 DCBWCPO EQU IHADCS36+12 01195000 DCBCNQSM EQU DCBCIND2 01196000 DCBCNFEO EQU DCBCIND2 01197000 DCBCNCHS EQU DCBCIND2 01198000 DCBCNBFP EQU DCBCIND2 01199000 DCBCNIOE EQU DCBCIND2 01200000 DCBCNCLO EQU DCBCIND2 01201000 DCBCNWRO EQU DCBCIND2 01202000 DCBCNSTO EQU DCBCIND2 01203000 DCBCNEXB EQU DCBCIND1 01204000 @NM00033 EQU DCBCIND1 01205000 DCBCNBRM EQU DCBCIND1 01206000 @NM00032 EQU DCBCIND1 01207000 DCBCNEVA EQU DCBCIND1 01208000 DCBCNEVB EQU DCBCIND1 01209000 DCBCNSRD EQU DCBCIND1 01210000 DCBCNTOV EQU DCBCIND1 01211000 DCBSYNA EQU DCBSYNAD+1 01212000 DCBIOBL EQU DCBSYNAD 01213000 DCBCHCKA EQU DCBPERRA 01214000 @NM00031 EQU DCBOPTCD 01215000 DCBOPTT EQU DCBOPTCD 01216000 DCBSRCHD EQU DCBOPTZ 01217000 DCBOPTQ EQU DCBOPTCD 01218000 DCBBCKPT EQU DCBOPTO 01219000 DCBOPTC EQU DCBOPTCD 01220000 DCBOPTU EQU DCBOPTCD 01221000 DCBOPTW EQU DCBOPTCD 01222000 DCBPUTA EQU DCBGETA 01223000 @NM00030 EQU DCBPUT 01224000 DCBREADA EQU DCBWRITA 01225000 @NM00029 EQU DCBREAD 01226000 DCBDEBA EQU DCBDEBAD+1 01227000 @NM00028 EQU DCBIFLGS 01228000 DCBIFIOE EQU DCBIFLGS 01229000 DCBIFPCT EQU DCBIFLGS 01230000 DCBIFEC EQU DCBIFLGS 01231000 DCBMFSTI EQU DCBMFDMD 01232000 DCBMFAWR EQU DCBMFSTK 01233000 DCBMFUIP EQU DCBMFTMD 01234000 DCBMFIDW EQU DCBMFLCP 01235000 DCBMFWRK EQU DCBMFMVP 01236000 DCBMFRDQ EQU DCBMFWRT 01237000 DCBMFGTQ EQU DCBMFPUT 01238000 DCBMFSTL EQU DCBMACF2 01239000 DCBMFCK EQU DCBMFDMG 01240000 DCBMFRDX EQU DCBMFCHK 01241000 DCBMFDBF EQU DCBMFSBG 01242000 DCBMFRDI EQU DCBMFLCG 01243000 DCBMFRDK EQU DCBMFMVG 01244000 DCBMFWRQ EQU DCBMFRD 01245000 DCBMFPTQ EQU DCBMFGET 01246000 DCBMFECP EQU DCBMACF1 01247000 DCBTIOT EQU IHADCS25 01248000 DCBMRSTI EQU DCBMRDMD 01249000 DCBMRAWR EQU DCBMRSTK 01250000 DCBMRUIP EQU DCBMRTMD 01251000 DCBMRIDW EQU DCBMRLCP 01252000 DCBMRWRK EQU DCBMRMVP 01253000 DCBMRRDQ EQU DCBMRWRT 01254000 DCBMRGTQ EQU DCBMRPUT 01255000 DCBMRSTL EQU DCBMACR2 01256000 DCBMRCK EQU DCBMRDMG 01257000 DCBPGFXA EQU DCBMRRDX 01258000 DCBMRDBF EQU DCBMRSBG 01259000 DCBMRRDI EQU DCBMRLCG 01260000 DCBMRRDK EQU DCBMRMVG 01261000 DCBMRWRQ EQU DCBMRRD 01262000 DCBMRPTQ EQU DCBMRGET 01263000 DCBMRECP EQU DCBMACR1 01264000 @NM00027 EQU DCBIFLG 01265000 DCBIBIOE EQU DCBIFLG 01266000 DCBIBPCT EQU DCBIFLG 01267000 DCBIBEC EQU DCBIFLG 01268000 DCBOFIOF EQU DCBOFLGS 01269000 DCBOFUEX EQU DCBOFLGS 01270000 DCBOFTM EQU DCBOFLGS 01271000 DCBOFPPC EQU DCBOFLGS 01272000 DCBOFEOV EQU DCBOFLGS 01273000 DCBOFLRB EQU DCBOFLGS 01274000 DCBOFIOD EQU DCBOFLWR 01275000 DCBDDNAM EQU IHADCS24 01276000 DCBEXLSA EQU DCBEXLST+1 01277000 DCBRECKL EQU DCBRECFM 01278000 DCBRECCC EQU DCBRECFM 01279000 DCBRECSB EQU DCBRECFM 01280000 DCBRECBR EQU DCBRECFM 01281000 DCBRECTO EQU DCBRECLA 01282000 DCBRECL EQU DCBRECLA 01283000 DCBEODA EQU DCBEODAD+1 01284000 DCBBFA EQU DCBBFTEK 01285000 DCBH0 EQU DCBBFTEK 01286000 DCBBFTKD EQU DCBBFTEK 01287000 DCBBFTE EQU DCBBFT 01288000 DCBBFTKR EQU DCBBFT 01289000 DCBBFTS EQU DCBBFT 01290000 DCBH1 EQU DCBBFTEK 01291000 DCBSVCXA EQU DCBSVCXL+1 01292000 @NM00026 EQU DCBSVCXL 01293000 DCBODEBA EQU DCBIOBAA 01294000 @NM00025 EQU DCBQSLM 01295000 DCBUPDBT EQU DCBQSLM 01296000 DCBUPDCM EQU DCBQSLM 01297000 DCB1DVDS EQU DCBQSLM 01298000 @NM00024 EQU DCBDSRG2 01299000 DCBDSGTR EQU DCBDSRG2 01300000 DCBACBM EQU DCBDSRG2 01301000 @NM00023 EQU DCBDSRG2 01302000 DCBDSGTQ EQU DCBDSRG2 01303000 DCBDSGTX EQU DCBDSRG2 01304000 DCBDSGGS EQU DCBDSRG2 01305000 DCBDSGU EQU DCBDSRG1 01306000 DCBDSGPO EQU DCBDSRG1 01307000 DCBDSGMQ EQU DCBDSRG1 01308000 DCBDSGCQ EQU DCBDSRG1 01309000 DCBDSGCX EQU DCBDSRG1 01310000 DCBDSGDA EQU DCBDSRG1 01311000 DCBDSGPS EQU DCBDSRG1 01312000 DCBDSGIS EQU DCBDSRG1 01313000 DCBBUFL EQU IHADCS11+8 01314000 DCBBUFCA EQU DCBBUFCB+1 01315000 DCBBUFNO EQU DCBBUFCB 01316000 DCBDEVT EQU DCBREL 01317000 DCBKEYLE EQU DCBRELB 01318000 @NM00022 EQU IHADCS04+3 01319000 DCBPRTOV EQU IHADCS04+2 01320000 @NM00021 EQU IHADCS04+1 01321000 DCBPRTSP EQU IHADCS04 01322000 @NM00020 EQU IHADCB 01323000 ALTCH3 EQU ALTPATH3+2 01324000 ALTCI3 EQU ALTPATH3+1 01325000 ALTDS3 EQU ALTPATH3 01326000 ALTCH2 EQU ALTPATH2+2 01327000 ALTCI2 EQU ALTPATH2+1 01328000 ALTDS2 EQU ALTPATH2 01329000 ALTCH1 EQU ALTPATH1+2 01330000 ALTCI1 EQU ALTPATH1+1 01331000 ALTDS1 EQU ALTPATH1 01332000 INDEXRSG EQU CONFGDEV+1 01333000 ICEBERG EQU USEFLAGS 01334000 ITISALTP EQU USEFLAGS 01335000 USECONVR EQU USEFLAGS 01336000 SUPPUNCH EQU USEFLAGS 01337000 USEREAL EQU USEFLAGS 01338000 USEVS EQU USEFLAGS 01339000 USEV EQU USEFLAGS 01340000 USESPEC EQU USEFLAGS 01341000 RSGCUA EQU RSGUCB+8 01342000 RSGCHAN EQU RSGUCB+7 01343000 CPUREFNO EQU RSGUCB+6 01344000 RSGCPUID EQU RSGUCB+1 01345000 @NM00019 EQU RSGFLAGS 01346000 CISPEC EQU RSGFLAGS 01347000 TORSG2 EQU DSENTRY+1 01348000 TORSG1 EQU DSENTRY 01349000 LRUCLOCK EQU CREATE+11 01350000 VOLSER EQU CREATE+5 01351000 VPAGES EQU CREATE+1 01352000 @NM00018 EQU @NM00017 01353000 PRNTONLY EQU @NM00017 01354000 UPDCREAT EQU @NM00017 01355000 NEWCREAT EQU @NM00017 01356000 CMDCREAT EQU @NM00017 01357000 RW67RGHT EQU LIBCTLS 01358000 RW67LEFT EQU LIBCTLS 01359000 RW45RGHT EQU LIBCTLS 01360000 RW45LEFT EQU LIBCTLS 01361000 RW23RGHT EQU LIBCTLS 01362000 RW23LEFT EQU LIBCTLS 01363000 RW01RGHT EQU LIBCTLS 01364000 RW01LEFT EQU LIBCTLS 01365000 LOWLIB EQU LOWDSS+1 01366000 @NM00016 EQU LOWFLGS 01367000 LOWRGHT EQU LOWFLGS 01368000 LOWLEFT EQU LOWFLGS 01369000 LOWRW67 EQU LOWFLGS 01370000 LOWRW45 EQU LOWFLGS 01371000 LOWRW23 EQU LOWFLGS 01372000 LOWRW01 EQU LOWFLGS 01373000 LOWSPEC EQU LOWFLGS 01374000 ALTMSCIN EQU CPUFLAG2 01375000 @NM00015 EQU CPUFLAG2 01376000 ALTMSGBF EQU CPUFLAG2 01377000 @NM00014 EQU CPUFLAG2 01378000 CPUSPEC EQU CPUFLAG2 01379000 CPUMSCIN EQU CPUFLAG1 01380000 OPJES3 EQU OPSYSTYP 01381000 OPVS2 EQU OPSYSTYP 01382000 OPVS1 EQU OPSYSTYP 01383000 CPUALTFL EQU CPUFLAG1 01384000 CPUTIGHT EQU CPUFLAG1 01385000 @NM00013 EQU CPUFLAG1 01386000 TOMPCPU EQU CPU+5 01387000 CPUID EQU CPU 01388000 CPUNUM EQU CPUASSOC 01389000 SPNRSGNO EQU PHYSTYPE+1 01390000 LGDEVICE EQU PHYSFLGS 01391000 LOGABOX1 EQU PHYSFLGS 01392000 PHYSSSID EQU PHYSFLGS 01393000 PHYSREAL EQU PHYSFLGS 01394000 PHYSICEB EQU MERLICEB 01395000 PHYSMERL EQU MERLICEB 01396000 PHYSDS2 EQU DSPAIRS 01397000 PABDDD EQU PABAADDD 01398000 PABAA EQU PABAADDD 01399000 PABZEROS EQU PABAADDD 01400000 PAB2D EQU PABREAL 01401000 PAB2C EQU PABREAL 01402000 PAB2B EQU PABREAL 01403000 @NM00012 EQU PABREAL 01404000 PAB1D EQU PABREAL 01405000 PAB1C EQU PABREAL 01406000 PAB1B EQU PABREAL 01407000 PABIMPLR EQU PABREAL 01408000 PABBERG2 EQU PABFLAGS 01409000 @NM00011 EQU PABFLAGS 01410000 PABDSMTL EQU PABFLAGS 01411000 PABIBERG EQU PABFLAGS 01412000 @NM00010 EQU PABFLAGS 01413000 PABVOVIR EQU PABFLAGS 01414000 PABEXIST EQU PABFLAGS 01415000 MAPEXIT EQU LIB+4 01416000 LIBMAP EQU LIB+3 01417000 LIBDSMID EQU LIB+2 01418000 LIBSIZE EQU LIB+1 01419000 @NM00009 EQU LIBBITS 01420000 LIBSPEC EQU LIBBITS 01421000 TODS2 EQU RSGTODS+1 01422000 TODS1 EQU RSGTODS 01423000 RSGSLICE EQU RSG+3 01424000 RSGUDEL EQU RSG+2 01425000 RSGLDEL EQU RSG+1 01426000 @NM00008 EQU RSG 01427000 RSGABOX1 EQU RSGABOX 01428000 RSGABOX0 EQU RSGABOX 01429000 RSGSPEC EQU RSG 01430000 BUILDPTR EQU GENIO+20 01431000 @NM00007 EQU DCBPTR+1 01432000 DCBFLAG EQU DCBPTR 01433000 @NM00006 EQU MESSAGES+19 01434000 PRNTBUF2 EQU SPECLMSG 01435000 @NM00005 EQU SPECLMSG 01436000 PRNTCARD EQU SPECLMSG 01437000 @NM00004 EQU SPECLMSG 01438000 PRINTRC EQU MESSAGES+16 01439000 TERM EQU MESSAGES+12 01440000 WARN EQU MESSAGES+8 01441000 OUTBUF2 EQU PRINTER+225 01442000 OUTBUF EQU PRINTER+104 01443000 @NM00003 EQU READER+206 01444000 SCANLEN EQU READER+204 01445000 SVEODAD EQU READER+200 01446000 SVSYNAD2 EQU READER+196 01447000 SAVENCOL EQU READER+192 01448000 SAVESCOL EQU READER+188 01449000 INBUF EQU READER+100 01450000 SSELECT EQU PCHBF 01451000 @NM00002 EQU READER+97 01452000 @NM00001 EQU READFLAG 01453000 LASTPARM EQU READFLAG 01454000 ENDSCAN EQU READFLAG 01455000 PARMBIT EQU READFLAG 01456000 KEYBIT EQU READFLAG 01457000 READTERM EQU READFLAG 01458000 READDCB EQU READER 01459000 PATCH EQU COMTAB 01460000 .@UNREFD ANOP END UNREFERENCED COMPONENTS 01461000 @RT00050 EQU ENDCLEAR 01462000 @RC00099 EQU @EL00003 01463000 @RC00136 EQU @EL00005 01464000 @RC00139 EQU @EL00005 01465000 OPENFAIL EQU @EL00006 01466000 ALLDONE EQU @EL00007 01467000 @RC00101 EQU @RC00099 01468000 @RT00187 EQU ALLDONE 01469000 @RT00195 EQU ALLDONE 01470000 @ENDDATA EQU * 01471000 END ICGDSINT,(C'PLS1459',0603,76337) 01472000