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