LKD TITLE 'DMSLKD (CMS) VM/370 - RELEASE 6' 00001000 *. 00002000 * MODULE NAME 00003000 * 00004000 * DMSLKD 00005000 * 00006000 * FUNCTION 00007000 * 00008000 * PROVIDE INTERFACE BETWEEN VM/370 CMS AND VS1 00009000 * LINKAGE EDITOR. 00010000 * 00011000 * ATTRIBUTES 00012000 * 00013000 * REUSEABLE, DISK-RESIDENT 00014000 * 00015000 * ENTRY POINTS 00016000 * 00017000 * DMSLKD 00018000 * 00019000 * ENTRY CONDITIONS 00020000 * 00021000 * R1 = PARAMETER LIST 00022000 * 00023000 * DC CL8'LKED' COMMAND NAME 00024000 * DC CL8'FNAME' SYSLIN FILENAME 00025000 * DC CL8'(' OPTIONAL - START OF OPTIONS 00026000 * DC CL8'OPTIONS' CMS, L. E. OPTIONS 00027000 * _ 00028000 * _ 00029000 * DC X'FF' 00030000 * 00031000 * CMS OPTION: 00032000 * DISK SYSPRINT TO DISK 00033000 * NOPRINT SUPPRESS SYSPRINT FILE 00034000 * PRINT SYSPRINT TO SYSTEM PRINTER 00035000 * TERM SYSTERM DATA TO TERMINAL 00036000 * NOTERM SYSTERM DATA SUPPRESSED 00037000 * LIBE LIBENAME ALTERNATE FILENAME FOR SYSLMOD 00038000 * NAME MBRNAME ALTERNATE DEFAULT NAME FOR MEMBER 00039000 * 00040000 * EXIT CONDITIONS 00041000 * 00042000 * RETURN TO CMS WITH RETURN CODE IN R15 00043000 * 00044000 * RETURN CODES: 00045000 * 00046000 * 0 THRU 16 - LINKAGE EDITOR RETURN CODES 00047000 * 00048000 * 20 - ILLEGAL FILE ID CHARACTER 00049000 * 24 - NO FILENAME SPECIFIED 00050000 * MISSING OPERAND ON LIBE OR NAME OPTION 00051000 * INVALID PARAMETER 00052000 * 28 - FILE NOT FOUND 00053000 * 32 - FILE NOT FIXED 80 BYTE RECORDS 00054000 * 36 - NO READ/WRITE DISK ACCESSED 00055000 * DISK NOT ACCESSED 00056000 * 00057000 * CALLS TO OTHER ROUTINES 00058000 * 00059000 * DMSSTT,DMSERS,DMSLADW,DMSFLD, 00060000 * HEWLFROU (LINKAGE EDITOR) 00061000 * EXTERNAL REFERENCES 00062000 * 00063000 * NUCON,ADTSECT,FSTSECT 00064000 * 00065000 * TABLE/WORK AREAS 00066000 * 00067000 * INTERNAL 00068000 * 00069000 * REGISTER USAGE 00070000 * 00071000 * 0-11 WORK 00072000 * 12 BASE 00073000 * 13 SAVE 00074000 * 14-15 WORK 00075000 * 00076000 * OPERATION 00077000 * 00078000 * CHECK PARAMETER LIST FOR SYSLIN FILENAME 00079000 * SPECIFICATION. MOVE OPTIONS IF ANY TO OPTION WORK 00080000 * AREA. SET APPROPRIATE FLAGS FOR ANY CMS OPTIONS 00081000 * SPECIFIED. CONVERT OPTION LIST TO FORMAT REQUIRED 00082000 * BY VS1 LINKAGE EDITOR. CHECK FOR EXISTENCE OF 00083000 * SYSLIN FILE (FNAME TEXT). CHECK SYSLIN FOR FIXED 00084000 * 80 BYTE RECORDS. ISSUE FILEDEF FOR SYSLMOD 00085000 * (FNAME LOADLIB OR LIBNAME LOADLIBE IF LIBE OPTION 00086000 * SPECIFIED). FIND READ/WRITE DISK WITH MOST SPACE 00087000 * AVAILABLE AND FILEDEF SYSUT1 TO IT (FNAME SYSUT1). 00088000 * ERASE OLD SYSUT1 FILE. FILEDEF SYSTERM TO TERMINAL. 00089000 * FILEDEF SYSPRINT TO DISK IF DISK OPTION IS SPECIFIED 00090000 * OR USED AS DEFAULT. FILEDEF SYSPRINT TO DUMMY IF 00091000 * NOPRINT REQUESTED OR TO SYSTEM PRINTER IF PRINT OPTION 00092000 * USED. ERASE OLD DISK FILE (FNAME LKEDIT). ISSUE HNDSVC 00093000 * FOR LINKAGE EDITOR EXTRACT MACRO. BRANCH AND LINK TO 00094000 * HEWLFROU (1ST L. E. ROUTINE) PASSING OPTION LIST AND 00095000 * MEMBER DEFAULT NAME. ON RETURN SAVE R15 CODE. ISSUE 00096000 * HNDSVC CLEAR TO CLEAR EXTRACT INTERCEPT. ISSUE FILEDEF 00097000 * CLEAR, RETURN TO CMS. 00098000 * 00099000 *. 00100000 EJECT 1 00101000 DMSLKD START , @V305065 00102000 USING *,R15 @V305065 00103000 BALR R12,0 @V305065 00104000 USING *,R12 @V305065 00105000 USING NUCON,R0 @V305065 00106000 DROP R15 @V305065 00107000 ST R14,RETURN SAVE RETURN LOC. @V305065 00108000 CLI 8(R1),X'FF' FNAME SPEC. @V305065 00109000 BE ERR001E NO, ERROR @V305065 00110000 CLC 8(8,R1),=CL8'(' @V305065 00111000 BE ERR001E @V305065 00112000 MVI LEFLAG,X'20' INITIALIZE FLAGS @V305065 00113000 LR R3,R1 @V305065 00114000 DMSEXS OI,MISFLAGS,RELPAGES IND PAGE RELEASE AT END@V305065 00115000 LR R1,R3 @V305065 00116000 MVC MEMBER(8),8(R3) PASS FNAME AS MEM NAME TO L E@V305065 00117000 MVC STNAME(8),8(R3) SET FILENAME FOR STATE CALL @V305065 00118000 MVC FDEFNAM(8),8(R3) SET FNAME FOR DEFAULT FILEDEFS@V305065 00119000 CLI 16(R1),X'FF' END OF LIST @V305065 00120000 BE NOOPT YES, NO OPTIONS @V305065 00121000 CLC 16(8,R1),=CL8'(' OPTION NEXT @V305065 00122000 BNE ERR070E NO, ERROR @V305065 00123000 LA R4,24(R1) POINT TO OPTIONS @V305065 00124000 TRT 0(240,R4),TRTBL FIND END OF PARAMETERS @V305065 00125000 SR R1,R4 LENGTH OF PARM LIST @V305065 00126000 EX R1,MVLIST MOVE INPUT LIST TO OPTION LIST @V305065 00127000 LA R1,8(,R1) INCREMENT FOR TERM/NOTERM @V305065 00128000 STH R1,OPTLIST SET LGTH IN OPTION LIST FOR L.E. @V305065 00129000 LA R2,OPTLIST+10 POINT TO OPTIONS @V305065 00130000 OUTLOOP2 CLI 0(R2),X'FF' END OF OPTIONS @V305065 00131000 BE OSSET YES @V305065 00132000 CLI 0(R2),C')' END OF OPTIONS? @V305065 00133000 BE OSSET BRANCH IF YES @V305065 00134000 LA R5,OPTABLE SET FOR CMS OPTION SCAN @V305065 00135000 LA R6,12 OPTION TABLE ITEM LENGTH @V305065 00136000 LA R7,OPTEND OPTION END MINUS 12 @V305065 00137000 INLOOP LM R9,R11,0(R5) PARMS FOR NEXT OPTION IN TABLE @V305065 00138000 C R9,0(R2) 1ST HALF MATCH @V305065 00139000 BNE INLOOP2 NO @V305065 00140000 C R10,4(R2) 2ND HALF MATCH @V305065 00141000 BCR 8,R11 IF SO GO TO PROCESSOR @V305065 00142000 INLOOP2 BXLE R5,R6,INLOOP NET OPTION IN CMS TABLE @V305065 00143000 OUTLOOP1 LA R2,8(,R2) NEXT SPECIFIED OPTION @V305065 00144000 B OUTLOOP2 CHECK IT @V305065 00145000 OUTLOOP MVC 0(8,R2),=8C' ' BLANK THIS OPTION @V305065 00146000 B OUTLOOP1 NEXT @V305065 00147000 TERM STM R9,R10,TERMTYP SET FOR TERM OPTION @V305065 00148000 B OUTLOOP NEXT USER OPTION @V305065 00149000 NOTERM STM R9,R10,TERMTYP SET FOR NOTERM OPTION @V305065 00150000 B OUTLOOP NEXT @V305065 00151000 PRINT NI LEFLAG,255-X'A0' RESET DISK FLAG @V305065 00152000 B OUTLOOP NEXT @V305065 00153000 NOPRINT EQU * @V305065 00154000 OI LEFLAG,X'80' SET NOPRINT FLAG @V305065 00155000 B OUTLOOP @V305065 00156000 NAME EQU * @V305065 00157000 LA R6,MEMBER SLOT FOR SPECIFIED NAME @V305065 00158000 NAME2 EQU * @V305065 00159000 CLI 8(R2),X'FF' NAME SPECIFIED? @V305065 00160000 BE ERR005E BRANCH IF NOT @V305065 00161000 CLI 8(R2),C')' NAME SPECIFIED? @V305065 00162000 BE ERR005E BRANCH IF NOT @V305065 00163000 MVC 0(8,R6),8(R2) MOVE NAME TO SLOT @V305065 00164000 MVC 0(16,R2),=CL16' ' BLANK OPTION AND NAME @V305065 00165000 LA R2,16(,R2) GET NEXT OPTION @V305065 00166000 B OUTLOOP2 AND CHECK IT @V305065 00167000 LIBE EQU * @V305065 00168000 LA R6,MODNAME SLOT TO SAVE SYSLMOD NAME @V305065 00169000 OI LEFLAG,X'40' IND ALTERNATE SYSLMOD NAME @V305065 00170000 B NAME2 GO SAVE NAME @V305065 00171000 DISK EQU * @V305065 00172000 NI LEFLAG,255-X'80' RESET NOPRINT FLAG @V305065 00173000 OI LEFLAG,X'20' INDICATE DISK @V305065 00174000 B OUTLOOP NEXT @V305065 00175000 SIZE EQU * @V305065 00176000 CLI 8(R2),X'FF' AND SIZE SPEC? @V305065 00177000 BE ERR005E BRANCH IF NOT @V305065 00178000 CLI 8(R2),C')' ANY SIZE? @V305065 00179000 BE ERR005E BRANCH IF NOT @V305065 00180000 MVC 4(2,R2),=C'=(' ADD =( TO SIZE FOR L E @V305065 00181000 MVC 6(8,R2),8(R2) PUT 1ST SIZE AFTER '(' @V305065 00182000 MVC 14(2,R2),=2C' ' BLANK AFTER SIZE1 @V305065 00183000 CLI 16(R2),X'FF' SIZE2 SPEC? @V305065 00184000 BE NOSIZE2 BRANCH IF NOT @V305065 00185000 CLI 16(R2),C')' SIZE2 SPEC? @V305065 00186000 BE NOSIZE2 BRANCH IF NOT @V305065 00187000 MVC 15(8,R2),16(R2) MOVE SIZE2 OVER @V305065 00188000 MVI 23(R2),C' ' BLANK EXTRA CHAR @V305065 00189000 LA R3,16(,R2) POINT TO LAST SIZE @V305065 00190000 LR R2,R3 SET R2 FOR NEXT OPTION @V305065 00191000 B CLSPAREN CLOSE OUT SIZE OPTION @V305065 00192000 NOSIZE2 EQU * @V305065 00193000 LA R3,6(,R2) POINT TO LAST SIZE @V305065 00194000 LA R2,8(R2) SET R2 FOR NEXT OPTION @V305065 00195000 CLSPAREN EQU * @V305065 00196000 CLI 0(R3),C' ' END OF SIZE? @V305065 00197000 BE SETPAREN BRANCH IF YES @V305065 00198000 LA R3,1(,R3) NEXT CHARACTER @V305065 00199000 B CLSPAREN @V305065 00200000 SETPAREN EQU * @V305065 00201000 MVI 0(R3),C')' CLOSE PARENS @V305065 00202000 B OUTLOOP1 GET NEXT OPTION @V305065 00203000 OSSET LH R1,OPTLIST GET OPTIONS LENGTH @V305065 00204000 LR R6,R1 COPY LENGTH @V305065 00205000 LA R4,OPTLIST+2 GET OPTIONS ADDR. @V305065 00206000 LOOP CLI 0(R4),C' ' THIS CHAR. BLANK @V305065 00207000 BE COMMA YES, REPLACE W/ COMMA @V305065 00208000 LOOP1 LA R4,1(,R4) NEXT CHAR. @V305065 00209000 BCT R1,LOOP IF MORE CHAR. KEEP LOOPING @V305065 00210000 B DONE OTHERWISE GO ON @V305065 00211000 COMMA MVI 0(R4),C',' REPLACE CBLANK W/ COMMA @V305065 00212000 LOOP2 LA R4,1(,R4) NEXT CHAR. @V305065 00213000 LOOP4 BCT R1,LOOP3 CONTINUE IF MORE CHAR. @V305065 00214000 B DONE @V305065 00215000 LOOP3 CLI 0(R4),C' ' BLANK ALSO @V305065 00216000 BNE LOOP1 NO @V305065 00217000 EX R1,COMPRESS COMPRESS OUT BLANK OR ')' @V305065 00218000 BCTR R6,0 DECREMENT OPTION BYTE COUNT @V305065 00219000 B LOOP4 @V305065 00220000 DONE EQU * @V305065 00221000 STH R6,OPTLIST SET NEW OPTION BYTE COUNT @V305065 00222000 NOOPT EQU * @V305065 00223000 LA R1,STLIST STATE PARAM LIST @V305065 00224000 SVC 202 @V305065 00225000 DC AL4(STERR) @V305065 00226000 MVC FDEFDD(8),=CL8'SYSLIN' SET DDNAME TO SYSLIN @V305065 00227000 MVC FDEFFTYP(LINEND-SYSLIN),SYSLIN COMPLETE LIST @V305065 00228000 L R1,STFST GET FST COPY FOR SYSLIN @V305065 00229000 USING FSTSECT,R1 @V305065 00230000 MVC FDEFFM(2),FSTM SET MODE IN FILEDEF LIST @V305065 00231000 CLI FSTFV,C'F' FIXED INPUT @V305065 00232000 BNE ERR007E NC, ERROR @V305065 00233000 CLC FSTIL+2(2),=H'80' RECORD LENGTH 80 @V305065 00234000 BNE ERR007E NO, ERROR @V305065 00235000 LA R1,FDEF ISSUE FILEDEF FOR SYSLIN @V305065 00236000 SVC 202 @V305065 00237000 DC AL4(*+4) @V305065 00238000 TM LEFLAG,X'40' ALT SYSLMOD NAME SPECIFIED? @V305065 00239000 BNO USEFN BRANCH IF NOT @V305065 00240000 MVC FDEFNAM(8),MODNAME YES, USE IT @V305065 00241000 USEFN EQU * @V305065 00242000 MVC FDEFDD(8),=CL8'SYSLMOD' SET DDNAME TO SYSLMOD @V305065 00243000 MVC FDEFFTYP(MODEND-SYSLMOD),SYSLMOD COMPLETE LIST @V305065 00244000 SVC 202 @V305065 00245000 DC AL4(*+4) @V305065 00246000 MVC FDEFFTYP(UT1END-SYSUT1),SYSUT1 SYSUT1 FILEDEF @V305065 00247000 MVC FDEFDD(8),=CL8'SYSUT1' SET DDNAME IN FILEDEF LST@V305065 00248000 MVC FDEFNAM(8),STNAME RESTORE FILENAME @V305065 00249000 MVC FDEFFM(2),=CL2'??' LOOK FOR R/W DISK W MOST ROOM@V305065 00250000 LA R1,FDEFTYP R1 HAS PLIST @V305065 00251000 L R15,AADTLKW DMSLADW SEARCHES @V305065 00252000 BALR R14,R15 @V305065 00253000 LTR R15,R15 FOUND R/W DISK? @V305065 00254000 BNZ ERR006E BRANCH IF NOT @V305065 00255000 USING ADTSECT,R1 @V305065 00256000 IC R3,ADTM GET MODE LET. OF DISK @V305065 00257000 STC R3,FDEFFM SET IN FILEDEF PLIST @V305065 00258000 MVI FDEFFM+1,C'5' MODE NUMBER IS 5 @V305065 00259000 MVC ERASE+8(18),FDEFNAM SET UP SYSUT1 ERASE PLIST @V305065 00260000 LA R1,ERASE ERASE OLD SYSUT1 @V305065 00261000 SVC 202 @V305065 00262000 DC AL4(*+4) @V305065 00263000 LA R1,FDEF NOW FILEDEF SYSUT1 @V305065 00264000 SVC 202 @V305065 00265000 DC AL4(*+4) @V305065 00266000 LA R1,TERMDEF FILEDEF SYSTERM @V305065 00267000 SVC 202 @V305065 00268000 DC AL4(*+4) @V305065 00269000 MVC FDEFDD(8),=CL8'SYSPRINT' SET SYSPRINT DDNAME @V305065 00270000 TM LEFLAG,X'80' NOPRINT REQUESTED? @V305065 00271000 BNO PRINTER BRANCH IF NOT @V305065 00272000 MVC FDEFTYP(8),=CL8'DUMMY' FILEDEF TO DUMMY @V305065 00273000 FENCE EQU * @V305065 00274000 MVC FDEFTYP+8(4),=4X'FF' SET FENCE @V305065 00275000 B PRTDEF @V305065 00276000 PRINTER EQU * @V305065 00277000 TM LEFLAG,X'20' SYSPRINT TO DISK? @V305065 00278000 BO SETPRT BRANCH IF YES @V305065 00279000 MVC FDEFTYP(8),=CL8'PRINTER' FILEDEF TO PRINTER @V305065 00280000 B FENCE SET FENCE @V305065 00281000 SETPRT MVC FDEFFTYP(PRTEND-SYSPRINT),SYSPRINT SET FDEF->DSK@V305065 00282000 MVC FDEFTYP(8),=CL8'ERASE' ERASE OLD DISK FILE @V305065 00283000 LA R1,FDEF @V305065 00284000 SVC 202 @V305065 00285000 DC AL4(*+4) @V305065 00286000 MVC FDEFTYP(8),=CL8'DISK' RESTORE DEVICE TYPE @V305065 00287000 PRTDEF LA R1,FDEF FILEDEF SYSPRITN @V305065 00288000 SVC 202 @V305065 00289000 DC AL4(*+4) @V305065 00290000 HNDSVC SET,(40,EXTRACT) @V305065 00291000 LA R1,ERASE ERASE SYSUT1 FILE @V305065 00292000 SVC 202 @V305065 00293000 DC AL4(*+4) @V305065 00294000 CNOP 0,4 @V305065 00295000 BAL R1,CALL SET PARAM REG FOR L E @V305065 00296000 DC A(OPTLIST) @V305065 00297000 DC X'80' @V305065 00298000 DC AL3(DDLIST) ALTERNATE DD LIST @V305065 00299000 CALL EQU * @V305065 00300000 L R15,=V(HEWLFROU) CALL LINKAGE EDITOR @V305065 00301000 BALR R14,R15 @V305065 00302000 ST R15,CODE SAVE RETURN CODE @V305065 00303000 LA R1,FDEFCLER CLEAR ALL FILEDEFS @V305065 00304000 SVC 202 @V305065 00305000 DC AL4(*+4) @V305065 00306000 HNDSVC CLR,(40,EXTRACT) @V305065 00307000 LA R1,ERASE ERASE SYSUT1 FILE @V305065 00308000 SVC 202 @V305065 00309000 DC AL4(*+4) @V305065 00310000 CLI CODE+3,X'00' CLEAN RETURN? @V305065 00311000 BNE PROCERR BRANCH IF NOT @V305065 00312000 EXIT EQU * @V305065 00313000 L R15,CODE GET RETURN CODE @V305065 00314000 EXIT1 EQU * @V305065 00315000 L R14,RETURN AND RETURN POINT @V305065 00316000 BR R14 EXIT @V305065 00317000 USING *,R12 @V305065 00318000 EXTRACT L R1,0(R1) GET ANSWER AREA ADDR. @V305065 00319000 LA R2,CMSTCB GET CMS ANSWER @V305065 00320000 ST R2,0(R1) INDICATE TIME SHARING @V305065 00321000 BR R14 RETURN @V305065 00322000 USING DMSLKD+2,R12 @V305065 00323000 SPACE 1 00324000 CMSTCB DC X'80' APPROPRIATE FLAG IS ON @V305065 00325000 EJECT 1 00326000 ******************** 00327000 * 00328000 * ERROR MESSAGES 00329000 * 00330000 ******************** 00331000 SPACE 2 00332000 DS 0H @V305065 00333000 PROCERR EQU * @V305065 00334000 L R5,CODE GET L E RETURN CODE @V305065 00335000 LR R3,R5 COPY IT @V305065 00336000 SLL R5,2 DOUBLE IT @V305065 00337000 LA R5,SUBS(R5) POINT TO APPROPRIATE MSG SUB @V305065 00338000 DMSERR TEXT='.......... ERROR MESSAGES ISSUED', @V305065X00339000 NUM=(R3),LET=W,SUB=(CHARA,(R5)),RENT=NO @V305065 00340000 B EXIT @V305065 00341000 SPACE 1 00342000 STERR EQU * @V305065 00343000 ST R15,CODE SAVE ERROR CODE @V305065 00344000 CH R15,=H'28' FILE NOT FOUND? @V305065 00345000 BNE EXIT BRANCH IF NOT @V305065 00346000 LA R2,8(R1) SET FOR MSG SUB @V305065 00347000 DMSERR TEXT='FILE ''..................'' NOT FOUND', @V305065X00348000 LET=E,NUM=2,SUB=(CHAR8A,(R2)) @V305065 00349000 B EXIT @V305065 00350000 SPACE 1 00351000 ERR001E DMSERR TEXT='NO FILENAME SPECIFIED',NUM=1,LET=E @V305066 00352000 LA R15,24 @V305065 00353000 B EXIT1 @V305065 00354000 SPACE 1 00355000 ERR005E DMSERR TEXT='NO ''......'' SPECIFIED',NUM=5,LET=E, @V305065*00356000 SUB=(CHARA,(R5)) @V305065 00357000 LA R15,24 @V305065 00358000 B EXIT1 @V305065 00359000 SPACE 1 00360000 ERR006E EQU * @V305065 00361000 DMSERR TEXT='NO READ/WRITE DISK ACCESSED', @V305065X00362000 NUM=6,LET=E @V305065 00363000 LA R15,36 @V305065 00364000 B EXIT1 @V305065 00365000 SPACE 1 00366000 ERR007E LA R2,FDEFNAM SET FOR SUB @V305065 00367000 DMSERR TEXT=('FILE ''....................'' IS NOT FIXED, *00368000 80 CHAR. RECORDS'),NUM=7,LET=E,SUB=(CHAR8A,(R2)) 00369000 LA R15,32 @V305065 00370000 B EXIT1 @V305065 00371000 SPACE 1 00372000 ERR070E LA R2,16(,R1) POINT TO SUB FIELD @V305065 00373000 DMSERR TEXT='INVALID PARAMETER ''........''',NUM=70, @V305065*00374000 LET=E,SUB=(CHAR8A,(R2)) @V305065 00375000 LA R15,24 @V305065 00376000 B EXIT1 @V305065 00377000 SPACE 1 00378000 SUBS DS 2D @V305065 00379000 DC CL16'''WARNING''' @V305065 00380000 DC CL16' ' @V305065 00381000 DC CL16'''SEVERE''' @V305065 00382000 DC CL8'''TERMINAL''' @V305065 00383000 EJECT 1 00384000 ****************** 00385000 * 00386000 * CONSTANTS 00387000 * 00388000 ****************** 00389000 DS 0H @V305065 00390000 DDLIST DC AL2(DDEND-DDLIST) LEN OF ALTERNATE DDNAME LIST@V305065 00391000 DC 8X'00' @V305065 00392000 MEMBER DS 8C SET FROM INPUT FNAME @V305065 00393000 DDEND EQU * @V305065 00394000 RETURN DS F SAVED RETURN POINT @V305065 00395000 CODE DS F ERROR CODE @V305065 00396000 CNOP 2,4 @V305065 00397000 OPTLIST DC H'4' OPTION LIST FOR LINKAGE EDITOR @V305065 00398000 TERMTYP DC CL8'TERM' DEFAULT TERM OPTION @V305065 00399000 DS 240C @V305065 00400000 SPACE 1 00401000 FDEF DC CL8'FILEDEF' FILEDEF PLIST SHELL @V305065 00402000 FDEFDD DS 8C @V305065 00403000 FDEFTYP DC CL8'DISK' @V305065 00404000 FDEFNAM DS 8C FILLED FROM INPUT FNAME @V305065 00405000 FDEFFTYP DS 8C @V305065 00406000 FDEFFM DS 52C @V305065 00407000 SPACE 1 00408000 DS 0D @V305065 00409000 STLIST DC CL8'STATE' @V305065 00410000 STNAME DS 8C @V305065 00411000 DC CL8'TEXT' @V305065 00412000 DC CL4'*' @V305065 00413000 STFST DC 4C'*' * IS INVALID FILE NAME @V305065 00414000 DC 4X'FF' @V305065 00415000 SPACE 1 00416000 SYSLIN DC CL8'TEXT' SYSLIN FILE TYPE @V305065 00417000 DC CL8'*' SYSLIN FILEMODE @V305065 00418000 DC CL8'(' @V305065 00419000 DC CL8'RECFM' @V305065 00420000 DC CL8'F' @V305065 00421000 DC CL8'BLOCK' @V305065 00422000 DC CL8'80' @V305065 00423000 DC CL8'NOCHANGE' @V305065 00424000 DC 4X'FF' @V305065 00425000 LINEND EQU * @V305065 00426000 SPACE 1 00427000 SYSLMOD EQU * @V305065 00428000 DC CL8'LOADLIB' SYSLMOD FILE TYPE @V305065 00429000 DC CL8'A1' @V305065 00430000 DC CL8'(' @V305065 00431000 DC CL8'RECFM' @V305065 00432000 DC CL8'U' @V305065 00433000 DC CL8'BLOCK' @V305065 00434000 DC CL8'260' @V305065 00435000 DC CL8'NOCHANGE' @V305065 00436000 DC 4X'FF' @V305065 00437000 MODEND EQU * @V305065 00438000 SPACE 1 00439000 SYSUT1 EQU * @V305065 00440000 DC CL8'SYSUT1' SYSUT1 FILE TYPE @V305065 00441000 DC CL8'*' FILE MODE SET DYNAMICALLY @V305065 00442000 DC CL8'(' @V305065 00443000 DC CL8'NOCHANGE' @V305065 00444000 DC 4X'FF' @V305065 00445000 UT1END EQU * @V305065 00446000 SPACE 1 00447000 ERASE EQU * @V305065 00448000 DC CL8'ERASE' PLIST TO ERASE SYSUT1 @V305065 00449000 DS 18C @V305065 00450000 SPACE 1 00451000 SYSPRINT DC CL8'LKEDIT' FILE TYPE @V305065 00452000 DC CL8'A1' @V305065 00453000 DC 4X'FF' @V305065 00454000 PRTEND EQU * @V305065 00455000 SPACE 1 00456000 TERMDEF DC CL8'FILEDEF' @V305065 00457000 DC CL8'SYSTERM' SYSTERM FILEDEF @V305065 00458000 DC CL8'TERMINAL' @V305065 00459000 DC 4X'FF' @V305065 00460000 SPACE 1 00461000 FDEFCLER DC CL8'FILEDEF' @V305065 00462000 DC CL8'*' @V305065 00463000 DC CL8'CLEAR' @V305065 00464000 DC 4X'FF' @V305065 00465000 SPACE 1 00466000 MODNAME DS D SLOT FOR ALTERNATE SYSLMOD FNAME @V305065 00467000 LEFLAG DS X FLAGS @V305065 00468000 SPACE 1 00469000 OPTABLE DC CL8'PRINT' @V305065 00470000 DC AL4(PRINT) @V305065 00471000 DC CL8'NOPRINT' @V305065 00472000 DC AL4(NOPRINT) @V305065 00473000 DC CL8'DISK' @V305065 00474000 DC AL4(DISK) @V305065 00475000 DC CL8'SIZE' @V305065 00476000 DC AL4(SIZE) @V305065 00477000 DC CL8'NAME' @V305065 00478000 DC AL4(NAME) @V305065 00479000 DC CL8'TERM' @V305065 00480000 DC AL4(TERM) @V305065 00481000 DC CL8'NOTERM' @V305065 00482000 DC AL4(NOTERM) @V305065 00483000 OPTEND EQU * @V305065 00484000 DC CL8'LIBE' @V305065 00485000 DC AL4(LIBE) @V305065 00486000 SPACE 1 00487000 MVLIST MVC OPTLIST+10(*-*),0(R4) EXECUTED OPTION MOVE @V305065 00488000 SPACE 1 00489000 COMPRESS MVC 0(*-*,R4),1(R4) EXECUTED MOVE @V305065 00490000 SPACE 1 00491000 TRTBL EQU * @V305065 00492000 DC 256X'00' TRANSLATE TABLE @V305065 00493000 ORG TRTBL+X'FF' @V305065 00494000 DC X'FF' @V305065 00495000 ORG TRTBL+C')' @V305065 00496000 DC C')' @V305065 00497000 ORG , @V305065 00498000 LTORG @V305065 00499000 REGEQU @V305065 00500000 CMSCB @V305065 00501000 ADT @V305065 00502000 NUCON @V305065 00503000 FSTB @V305065 00504000 END 00505000