ibm:vm370-lib:cms:dmsopt.assemble_src
Table of Contents
DMSOPT Source
References
- Fixes Applied : 0
- This Source Date : Tuesday, December 12, 1978
- Last Fix ID : [Unmodified]
Source Listing
- DMSOPT.ASSEMBLE.txt
- OPT TITLE 'DMSOPT (CMS) VM/370 - RELEASE 6' 00001000
- SPACE 2 00002000
- *. 00003000
- * MODULE NAME 00004000
- * 00005000
- * DMSOPT ( OPTION ) 00006000
- * 00007000
- * FUNCTION 00008000
- * 00009000
- * PROVIDE THE FACILITY TO SET DOS/VS DEFAULT OPTIONS 00010000
- * IN THE COMMUNICATION REGION FOR USE BY ANY DOS/VS 00011000
- * PROGRAM. ALSO, IF NO OPTIONS ARE SPECIFIED IN THE 00012000
- * COMMAND LINE, ANY PREVIOUS USER MODIFIED DEFAULT 00013000
- * OPTIONS ARE SET TO THEIR ORIGINAL DEFAULT VALUE. 00014000
- * 00015000
- * ATTRIBUTES 00016000
- * 00017000
- * DISK RESIDENT MODULE 00018000
- * REENTRANT 00019000
- * EXECUTES IN TRANSIENT AREA 00020000
- * 00021000
- * ENTRY POINTS 00022000
- * 00023000
- * DMSOPT 00024000
- * 00025000
- * ENTRY CONDITIONS 00026000
- * 00027000
- * R1 = PARAMETER LIST 00028000
- * 00029000
- * DC CL8'OPTION' COMMAND 00030000
- * 00031000
- * .. THE FOLLOWING OPTIONS ARE 00032000
- * .. OPTIONAL, IF NONE SPECIFIED, 00033000
- * .. ALL DEFAULT OPTIONS ARE RESET 00034000
- * .. TO THEIR ORIGINAL VALUE. 00035000
- * 00036000
- * DC CL8'48C'|'60C' DOS/VS OPTION 00037000
- * DC CL8'SYM'|'NOSYM' DOS/VS OPTION 00038000
- * DC CL8'DECK'|'NODECK' DOS/VS OPTION 00039000
- * DC CL8'LIST'|'NOLIST' DOS/VS OPTION 00040000
- * DC CL8'XREF'|'NOXREF' DOS/VS OPTION 00041000
- * DC CL8'ERRS'|'NOERRS' DOS/VS OPTION 00042000
- * DC CL8'DUMP'|'NODUMP' DOS/VS OPTION 00043000
- * DC CL8'LISTX'|'NOLISTX' DOS/VS OPTION 00044000
- * 00045000
- * EXIT CONDITIONS 00046000
- * 00047000
- * RETURN TO CALLER WITH RETURN CODE IN R15 00048000
- * 00049000
- * RETURN CODES AND MESSAGES: 00050000
- * 00051000
- * 24 - INVALID PARAMETER SPECIFIED 00052000
- * 32 - CMS/DOS ENVIRONMENT NOT ACTIVE 00053000
- * 00054000
- * CALLS TO OTHER ROUTINES 00055000
- * 00056000
- * NONE 00057000
- * 00058000
- * EXTERNAL REFERENCES 00059000
- * 00060000
- * BGCOM 00061000
- * 00062000
- * TABLES/WORK AREAS 00063000
- * 00064000
- * NONE 00065000
- * 00066000
- * REGISTER USAGE 00067000
- * 00068000
- * R0 NOT USED 00069000
- * R1 BGCOM ADDRESSABILITY 00070000
- * R2 COMMAND LINE POINTER 00071000
- * R3 NOT USED 00072000
- * R4 NOT USED 00073000
- * R5 NOT USED 00074000
- * R6 NOT USED 00075000
- * R7 NOT USED 00076000
- * R8 NOT USED 00077000
- * R9 NOT USED 00078000
- * R10 TEMPORARY SAVE FOR REGISTERS 00079000
- * R11 SAVE FOR R14 (RETURN REGISTER) 00080000
- * R12 DMSOPT ADDRESSABILITY 00081000
- * R13 NOT USED 00082000
- * R14 RETURN REGISTER 00083000
- * R15 RETURN CODE 00084000
- * 00085000
- * OPERATION 00086000
- * 00087000
- * 1. SET UP NECESSARY ADDRESSABILITIES AND SAVE 00088000
- * THE RETURN REGISTER. ACQUIRE SUPERVISOR KEY 00089000
- * AND INITIALIZE SOME REGISTERS. VERIFY IF IN 00090000
- * CMS/DOS ENVIRONMENT. 00091000
- * 00092000
- * 2. CHECK THE COMMAND LINE FOR VALID PARAMETERS 00093000
- * (DOS/VS OPTIONS) AND SET THE PROPER OPTION 00094000
- * FALGS IN THE COMMUNICATIONS REGION FOR EACH 00095000
- * VALID OPTION SPECIFIED. 00096000
- * 00097000
- * 3. IF NO PARAMETERS WHERE SPECIFIED AFTER THE 00098000
- * COMMAND NAME IN THE COMMAND LINE, THE NON- 00099000
- * STANDARD OPTION BYTES IN THE COMMUNICATIONS 00100000
- * ARE RESET WITH THE STANDARD DEFAULT OPTIONS 00101000
- * FOR THE CMS/DOS ENVIRONMENT. 00102000
- * 00103000
- * 4. WHEN ALL PROCESSING HAS BEEN DONE, A SWITCH 00104000
- * TO PROBLEM PROGRAM KEY IS DONE, AND A RETURN 00105000
- * TO THE CALLER IS MADE PASSING IN REG. 15 THE 00106000
- * RETURN CODE OF THE COMMAND. 00107000
- *. 00108000
- EJECT 00109000
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00110000
- * * 00111000
- * INITIALIZATION - SAVE REG14, CHECK CMS/DOS ENVIRONMENT * 00112000
- * AND INITIALIZE SOME REGISTERS. * 00113000
- * * 00114000
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00115000
- SPACE 2 00116000
- DMSOPT CSECT @V305001 00117000
- USING NUCON,R0 @V305001 00118000
- USING DMSOPT,R12 @V305001 00119000
- LR R11,R14 SAVE RETURN REGISTER @V305001 00120000
- LR R12,R15 ESTABLISH BASE @V305001 00121000
- TM DOSFLAGS,DOSMODE CMS/DOS MODE ACTIVE ? @V305001 00122000
- BZ ERR099 NO, ERROR @V305001 00123000
- SR R15,R15 ZERO RETURN CODE @V305001 00124000
- LA R2,8(,R1) POINT TO FIRST OPTION @V305001 00125000
- L R1,ABGCOM GET BGCOM ADDRESS @V305001 00126000
- USING BGCOM,R1 @V305001 00127000
- CLI 0(R2),FENCE ANY OPTIONS ? @V305001 00128000
- BE RESET NO, RESET TO STD. @V305001 00129000
- EJECT 00130000
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00131000
- * * 00132000
- * SCAN COMMAND LINE AND CHECK ALL PARAMETERS SPECIFIED * 00133000
- * FOR VALIDITY AS DOS OPTIONS. SET PROPER FLAGS ON. * 00134000
- * * 00135000
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00136000
- SPACE 2 00137000
- OPTLUP CLC CDECK,0(R2) IS IT DECK ? @V305001 00138000
- BNE CKNODECK NO, BRANCH @V305001 00139000
- OI JCSW3,DECK SET DECK FLAG @V305001 00140000
- B NXTOPT GO SEE IF MORE @V305001 00141000
- CKNODECK CLC CNODECK(8),0(R2) IS IT NODECK ? @V305001 00142000
- BNE CKLIST NO, BRANCH @V305001 00143000
- NI JCSW3,255-DECK CLEAR DECK IF ANY @V305001 00144000
- B NXTOPT GO SEE IF MORE @V305001 00145000
- CKLIST CLC CLIST,0(R2) IS IT LIST ? @V305001 00146000
- BNE CKNOLIST NO, BRANCH @V305001 00147000
- OI JCSW3,LIST SET LIST FLAG @V305001 00148000
- B NXTOPT GO SEE IF MORE @V305001 00149000
- CKNOLIST CLC CNOLIST(8),0(R2) IS IT NOLIST ? @V305001 00150000
- BNE CKLISTX NO, BRANCH @V305001 00151000
- NI JCSW3,255-LIST CLEAR LIST IF ANY @V305001 00152000
- B NXTOPT GO SEE IF MORE @V305001 00153000
- CKLISTX CLC CLISTX,0(R2) IS IT LISTX ? @V305001 00154000
- BNE CKNOLSTX NO, BRANCH @V305001 00155000
- OI JCSW3,LISTX SET LISTX FLAG @V305001 00156000
- B NXTOPT GO SEE IF MORE @V305001 00157000
- CKNOLSTX CLC CNOLISTX(8),0(R2) IS IT NOLISTX ? @V305001 00158000
- BNE CKSYM NO, BRANCH @V305001 00159000
- NI JCSW3,255-LISTX CLEAR LISTX IF ANY @V305001 00160000
- B NXTOPT GO SEE IF MORE @V305001 00161000
- CKSYM CLC CSYM,0(R2) IS IT SYM ? @V305001 00162000
- BNE CKNOSYM NO, BRANCH @V305001 00163000
- OI JCSW3,SYM SET SYM FLAG @V305001 00164000
- B NXTOPT GO SEE IF MORE @V305001 00165000
- CKNOSYM CLC CNOSYM(8),0(R2) IS IT NOSYM ? @V305001 00166000
- BNE CKXREF NO, BRANCH @V305001 00167000
- NI JCSW3,255-SYM CLEAR SYM IF ANY @V305001 00168000
- B NXTOPT GO SEE IF MORE @V305001 00169000
- EJECT 00170000
- CKXREF CLC CXREF,0(R2) IS IT XREF ? @V305001 00171000
- BNE CKNOXREF NO, BRANCH @V305001 00172000
- OI JCSW3,XREF SET XREF FLAG @V305001 00173000
- B NXTOPT GO SEE IF MORE @V305001 00174000
- CKNOXREF CLC CNOXREF(8),0(R2) IS IT NOXREF ? @V305001 00175000
- BNE CKERRS NO, BRANCH @V305001 00176000
- NI JCSW3,255-XREF CLEAR XREF IF ANY @V305001 00177000
- B NXTOPT GO SEE IF MORE @V305001 00178000
- CKERRS CLC CERRS,0(R2) IS IT ERRS ? @V305001 00179000
- BNE CKNOERRS NO, BRANCH @V305001 00180000
- OI JCSW3,ERRS SET ERRS FLAG @V305001 00181000
- B NXTOPT GO SEE IF MORE @V305001 00182000
- CKNOERRS CLC CNOERRS(8),0(R2) IS IT NOERRS ? @V305001 00183000
- BNE CK48C NO, BRANCH @V305001 00184000
- NI JCSW3,255-ERRS CLEAR ERRS IF ANY @V305001 00185000
- B NXTOPT GO SEE IF MORE @V305001 00186000
- CK48C CLC C48C,0(R2) IS IT 48C ? @V305001 00187000
- BNE CK60C NO, BRANCH @V305001 00188000
- OI JCSW3,F48C SET 48C FLAG @V305001 00189000
- B NXTOPT GO SEE IF MORE @V305001 00190000
- CK60C CLC C60C,0(R2) IS IT 60C ? @V305001 00191000
- BNE CKDUMP NO, BRANCH @V305001 00192000
- NI JCSW3,255-F48C CLEAR 48C IF ANY @V305001 00193000
- B NXTOPT GO SEE IF MORE @V305001 00194000
- CKDUMP CLC CDUMP,0(R2) IS IT DUMP ? @V305001 00195000
- BNE CKNODUMP NO, BRANCH @V305001 00196000
- OI JCSW4,DUMP SET DUMP FLAG @V305001 00197000
- B NXTOPT GO SEE IF MORE @V305001 00198000
- CKNODUMP CLC CNODUMP(8),0(R2) IS IT NODUMP ? @V305001 00199000
- BNE ERR070 NO, ERROR @V305001 00200000
- NI JCSW4,255-DUMP CLEAR DUMP IF ANY @V305001 00201000
- EJECT 00202000
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00203000
- * * 00204000
- * CHECK IF MORE OPTIONS. IF MORE, START FROM TOP AGAIN. * 00205000
- * IF NO MORE, EXIT WITH ANY RETURN CODE POSTED. * 00206000
- * * 00207000
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00208000
- SPACE 2 00209000
- NXTOPT LA R2,8(,R2) BUMP TO NEXT OPTION @V305001 00210000
- CLI 0(R2),FENCE IS THIS ALL ? @V305001 00211000
- BNE OPTLUP NO, GO PROCESS THIS ONE @V305001 00212000
- OPTEXIT LR R10,R15 SAVE RETURN CODE @V305001 00213000
- LTR R15,R10 RESTORE RETURN CODE (CC = 0) @V305001 00214000
- LR R14,R11 RESTORE RETURN REG. @V305001 00215000
- BR R14 RETURN TO CALLER @V305001 00216000
- SPACE 2 00217000
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00218000
- * * 00219000
- * RESET THE TEMPORARY BYTES IN THE COMMUNICATIONS REGION * 00220000
- * TO THE STANDARD ONES SET FOR CMS/DOS. * 00221000
- * * 00222000
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00223000
- SPACE 2 00224000
- RESET MVC JCSW3(1),SOB1 NON-STD. OPTION BYTE 3 = STD. @V305001 00225000
- MVI JCSW4,JOBRUN JOB DURATION BYTE = JOB RUNNING @V305066 00226000
- B OPTEXIT ALL DONE... @V305001 00227000
- DROP R1 @V305001 00228000
- EJECT 00229000
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00230000
- * * 00231000
- * CONSTANTS AND EQUATES * 00232000
- * * 00233000
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00234000
- SPACE 2 00235000
- FENCE EQU X'FF' FENCE CODE @V305001 00236000
- JOBRUN EQU X'80' JOB IN PROGRESS @V305066 00237000
- * 00238000
- RC24 EQU 24 RETURN CODE @V305066 00239000
- RC40 EQU 40 RETURN CODE @V305066 00240000
- * 00241000
- CNODECK DC CL2'NO' OPTIONS @V305001 00242000
- CDECK DC CL8'DECK' OPTIONS @V305001 00243000
- CNOLIST DC CL2'NO' OPTIONS @V305001 00244000
- CLIST DC CL8'LIST' OPTIONS @V305001 00245000
- CNOLISTX DC CL2'NO' OPTIONS @V305001 00246000
- CLISTX DC CL8'LISTX' OPTIONS @V305001 00247000
- CNOSYM DC CL2'NO' OPTIONS @V305001 00248000
- CSYM DC CL8'SYM' OPTIONS @V305001 00249000
- CNOXREF DC CL2'NO' OPTIONS @V305001 00250000
- CXREF DC CL8'XREF' OPTIONS @V305001 00251000
- CNOERRS DC CL2'NO' OPTIONS @V305001 00252000
- CERRS DC CL8'ERRS' OPTIONS @V305001 00253000
- C48C DC CL8'48C' OPTIONS @V305001 00254000
- C60C DC CL6'60C' OPTIONS @V305001 00255000
- CNODUMP DC CL2'NO' OPTIONS @V305001 00256000
- CDUMP DC CL8'DUMP' OPTIONS @V305001 00257000
- * 00258000
- DECK EQU X'80' FLAG SEETINGS @V305001 00259000
- LIST EQU X'40' FLAG SETTINGS @V305001 00260000
- LISTX EQU X'20' FLAG SETTINGS @V305001 00261000
- SYM EQU X'10' FLAG SETTINGS @V305001 00262000
- XREF EQU X'08' FLAG SETTINGS @V305001 00263000
- ERRS EQU X'04' FLAG SETTINGS @V305001 00264000
- F48C EQU X'02' FLAG SETTINGS @V305001 00265000
- DUMP EQU X'40' FLAG SETTINGS @V305001 00266000
- EJECT 00267000
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00268000
- * * 00269000
- * ERROR MESSAGES * 00270000
- * * 00271000
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00272000
- SPACE 2 00273000
- ERR070 LR R10,R1 SAVE R1 TEMPORARILY @V305001 00274000
- DMSERR TEXT='INVALID PARAMETER ''........''',NUM=70,LET=E, *00275000
- SUB=(CHARA,(R2)) @V305001 00276000
- LA R15,RC24 RETURN CODE = 24 @V305066 00277000
- LR R1,R10 RESTORE R1 @V305001 00278000
- B NXTOPT KEEP LOOKING FOR BADS... @V305001 00279000
- SPACE 1 00280000
- ERR099 EQU * @V305001 00281000
- DMSERR TEXT='CMS/DOS ENVIRONMENT NOT ACTIVE',NUM=99,LET=E 00282000
- LA R15,RC40 RETURN CODE = 40 @V305066 00283000
- B OPTEXIT RETURN TO CALLER @V305001 00284000
- EJECT 00285000
- NUCON @V305001 00286000
- BGCOM @V305001 00287000
- REGEQU @V305001 00288000
- END 00289000
ibm/vm370-lib/cms/dmsopt.assemble_src.txt ยท Last modified: 2023/08/06 13:35 by Site Administrator