Table of Contents

DMSOPT Source

References

Source Listing

DMSOPT.ASSEMBLE.txt
  1. OPT TITLE 'DMSOPT (CMS) VM/370 - RELEASE 6' 00001000
  2. SPACE 2 00002000
  3. *. 00003000
  4. * MODULE NAME 00004000
  5. * 00005000
  6. * DMSOPT ( OPTION ) 00006000
  7. * 00007000
  8. * FUNCTION 00008000
  9. * 00009000
  10. * PROVIDE THE FACILITY TO SET DOS/VS DEFAULT OPTIONS 00010000
  11. * IN THE COMMUNICATION REGION FOR USE BY ANY DOS/VS 00011000
  12. * PROGRAM. ALSO, IF NO OPTIONS ARE SPECIFIED IN THE 00012000
  13. * COMMAND LINE, ANY PREVIOUS USER MODIFIED DEFAULT 00013000
  14. * OPTIONS ARE SET TO THEIR ORIGINAL DEFAULT VALUE. 00014000
  15. * 00015000
  16. * ATTRIBUTES 00016000
  17. * 00017000
  18. * DISK RESIDENT MODULE 00018000
  19. * REENTRANT 00019000
  20. * EXECUTES IN TRANSIENT AREA 00020000
  21. * 00021000
  22. * ENTRY POINTS 00022000
  23. * 00023000
  24. * DMSOPT 00024000
  25. * 00025000
  26. * ENTRY CONDITIONS 00026000
  27. * 00027000
  28. * R1 = PARAMETER LIST 00028000
  29. * 00029000
  30. * DC CL8'OPTION' COMMAND 00030000
  31. * 00031000
  32. * .. THE FOLLOWING OPTIONS ARE 00032000
  33. * .. OPTIONAL, IF NONE SPECIFIED, 00033000
  34. * .. ALL DEFAULT OPTIONS ARE RESET 00034000
  35. * .. TO THEIR ORIGINAL VALUE. 00035000
  36. * 00036000
  37. * DC CL8'48C'|'60C' DOS/VS OPTION 00037000
  38. * DC CL8'SYM'|'NOSYM' DOS/VS OPTION 00038000
  39. * DC CL8'DECK'|'NODECK' DOS/VS OPTION 00039000
  40. * DC CL8'LIST'|'NOLIST' DOS/VS OPTION 00040000
  41. * DC CL8'XREF'|'NOXREF' DOS/VS OPTION 00041000
  42. * DC CL8'ERRS'|'NOERRS' DOS/VS OPTION 00042000
  43. * DC CL8'DUMP'|'NODUMP' DOS/VS OPTION 00043000
  44. * DC CL8'LISTX'|'NOLISTX' DOS/VS OPTION 00044000
  45. * 00045000
  46. * EXIT CONDITIONS 00046000
  47. * 00047000
  48. * RETURN TO CALLER WITH RETURN CODE IN R15 00048000
  49. * 00049000
  50. * RETURN CODES AND MESSAGES: 00050000
  51. * 00051000
  52. * 24 - INVALID PARAMETER SPECIFIED 00052000
  53. * 32 - CMS/DOS ENVIRONMENT NOT ACTIVE 00053000
  54. * 00054000
  55. * CALLS TO OTHER ROUTINES 00055000
  56. * 00056000
  57. * NONE 00057000
  58. * 00058000
  59. * EXTERNAL REFERENCES 00059000
  60. * 00060000
  61. * BGCOM 00061000
  62. * 00062000
  63. * TABLES/WORK AREAS 00063000
  64. * 00064000
  65. * NONE 00065000
  66. * 00066000
  67. * REGISTER USAGE 00067000
  68. * 00068000
  69. * R0 NOT USED 00069000
  70. * R1 BGCOM ADDRESSABILITY 00070000
  71. * R2 COMMAND LINE POINTER 00071000
  72. * R3 NOT USED 00072000
  73. * R4 NOT USED 00073000
  74. * R5 NOT USED 00074000
  75. * R6 NOT USED 00075000
  76. * R7 NOT USED 00076000
  77. * R8 NOT USED 00077000
  78. * R9 NOT USED 00078000
  79. * R10 TEMPORARY SAVE FOR REGISTERS 00079000
  80. * R11 SAVE FOR R14 (RETURN REGISTER) 00080000
  81. * R12 DMSOPT ADDRESSABILITY 00081000
  82. * R13 NOT USED 00082000
  83. * R14 RETURN REGISTER 00083000
  84. * R15 RETURN CODE 00084000
  85. * 00085000
  86. * OPERATION 00086000
  87. * 00087000
  88. * 1. SET UP NECESSARY ADDRESSABILITIES AND SAVE 00088000
  89. * THE RETURN REGISTER. ACQUIRE SUPERVISOR KEY 00089000
  90. * AND INITIALIZE SOME REGISTERS. VERIFY IF IN 00090000
  91. * CMS/DOS ENVIRONMENT. 00091000
  92. * 00092000
  93. * 2. CHECK THE COMMAND LINE FOR VALID PARAMETERS 00093000
  94. * (DOS/VS OPTIONS) AND SET THE PROPER OPTION 00094000
  95. * FALGS IN THE COMMUNICATIONS REGION FOR EACH 00095000
  96. * VALID OPTION SPECIFIED. 00096000
  97. * 00097000
  98. * 3. IF NO PARAMETERS WHERE SPECIFIED AFTER THE 00098000
  99. * COMMAND NAME IN THE COMMAND LINE, THE NON- 00099000
  100. * STANDARD OPTION BYTES IN THE COMMUNICATIONS 00100000
  101. * ARE RESET WITH THE STANDARD DEFAULT OPTIONS 00101000
  102. * FOR THE CMS/DOS ENVIRONMENT. 00102000
  103. * 00103000
  104. * 4. WHEN ALL PROCESSING HAS BEEN DONE, A SWITCH 00104000
  105. * TO PROBLEM PROGRAM KEY IS DONE, AND A RETURN 00105000
  106. * TO THE CALLER IS MADE PASSING IN REG. 15 THE 00106000
  107. * RETURN CODE OF THE COMMAND. 00107000
  108. *. 00108000
  109. EJECT 00109000
  110. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00110000
  111. * * 00111000
  112. * INITIALIZATION - SAVE REG14, CHECK CMS/DOS ENVIRONMENT * 00112000
  113. * AND INITIALIZE SOME REGISTERS. * 00113000
  114. * * 00114000
  115. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00115000
  116. SPACE 2 00116000
  117. DMSOPT CSECT @V305001 00117000
  118. USING NUCON,R0 @V305001 00118000
  119. USING DMSOPT,R12 @V305001 00119000
  120. LR R11,R14 SAVE RETURN REGISTER @V305001 00120000
  121. LR R12,R15 ESTABLISH BASE @V305001 00121000
  122. TM DOSFLAGS,DOSMODE CMS/DOS MODE ACTIVE ? @V305001 00122000
  123. BZ ERR099 NO, ERROR @V305001 00123000
  124. SR R15,R15 ZERO RETURN CODE @V305001 00124000
  125. LA R2,8(,R1) POINT TO FIRST OPTION @V305001 00125000
  126. L R1,ABGCOM GET BGCOM ADDRESS @V305001 00126000
  127. USING BGCOM,R1 @V305001 00127000
  128. CLI 0(R2),FENCE ANY OPTIONS ? @V305001 00128000
  129. BE RESET NO, RESET TO STD. @V305001 00129000
  130. EJECT 00130000
  131. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00131000
  132. * * 00132000
  133. * SCAN COMMAND LINE AND CHECK ALL PARAMETERS SPECIFIED * 00133000
  134. * FOR VALIDITY AS DOS OPTIONS. SET PROPER FLAGS ON. * 00134000
  135. * * 00135000
  136. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00136000
  137. SPACE 2 00137000
  138. OPTLUP CLC CDECK,0(R2) IS IT DECK ? @V305001 00138000
  139. BNE CKNODECK NO, BRANCH @V305001 00139000
  140. OI JCSW3,DECK SET DECK FLAG @V305001 00140000
  141. B NXTOPT GO SEE IF MORE @V305001 00141000
  142. CKNODECK CLC CNODECK(8),0(R2) IS IT NODECK ? @V305001 00142000
  143. BNE CKLIST NO, BRANCH @V305001 00143000
  144. NI JCSW3,255-DECK CLEAR DECK IF ANY @V305001 00144000
  145. B NXTOPT GO SEE IF MORE @V305001 00145000
  146. CKLIST CLC CLIST,0(R2) IS IT LIST ? @V305001 00146000
  147. BNE CKNOLIST NO, BRANCH @V305001 00147000
  148. OI JCSW3,LIST SET LIST FLAG @V305001 00148000
  149. B NXTOPT GO SEE IF MORE @V305001 00149000
  150. CKNOLIST CLC CNOLIST(8),0(R2) IS IT NOLIST ? @V305001 00150000
  151. BNE CKLISTX NO, BRANCH @V305001 00151000
  152. NI JCSW3,255-LIST CLEAR LIST IF ANY @V305001 00152000
  153. B NXTOPT GO SEE IF MORE @V305001 00153000
  154. CKLISTX CLC CLISTX,0(R2) IS IT LISTX ? @V305001 00154000
  155. BNE CKNOLSTX NO, BRANCH @V305001 00155000
  156. OI JCSW3,LISTX SET LISTX FLAG @V305001 00156000
  157. B NXTOPT GO SEE IF MORE @V305001 00157000
  158. CKNOLSTX CLC CNOLISTX(8),0(R2) IS IT NOLISTX ? @V305001 00158000
  159. BNE CKSYM NO, BRANCH @V305001 00159000
  160. NI JCSW3,255-LISTX CLEAR LISTX IF ANY @V305001 00160000
  161. B NXTOPT GO SEE IF MORE @V305001 00161000
  162. CKSYM CLC CSYM,0(R2) IS IT SYM ? @V305001 00162000
  163. BNE CKNOSYM NO, BRANCH @V305001 00163000
  164. OI JCSW3,SYM SET SYM FLAG @V305001 00164000
  165. B NXTOPT GO SEE IF MORE @V305001 00165000
  166. CKNOSYM CLC CNOSYM(8),0(R2) IS IT NOSYM ? @V305001 00166000
  167. BNE CKXREF NO, BRANCH @V305001 00167000
  168. NI JCSW3,255-SYM CLEAR SYM IF ANY @V305001 00168000
  169. B NXTOPT GO SEE IF MORE @V305001 00169000
  170. EJECT 00170000
  171. CKXREF CLC CXREF,0(R2) IS IT XREF ? @V305001 00171000
  172. BNE CKNOXREF NO, BRANCH @V305001 00172000
  173. OI JCSW3,XREF SET XREF FLAG @V305001 00173000
  174. B NXTOPT GO SEE IF MORE @V305001 00174000
  175. CKNOXREF CLC CNOXREF(8),0(R2) IS IT NOXREF ? @V305001 00175000
  176. BNE CKERRS NO, BRANCH @V305001 00176000
  177. NI JCSW3,255-XREF CLEAR XREF IF ANY @V305001 00177000
  178. B NXTOPT GO SEE IF MORE @V305001 00178000
  179. CKERRS CLC CERRS,0(R2) IS IT ERRS ? @V305001 00179000
  180. BNE CKNOERRS NO, BRANCH @V305001 00180000
  181. OI JCSW3,ERRS SET ERRS FLAG @V305001 00181000
  182. B NXTOPT GO SEE IF MORE @V305001 00182000
  183. CKNOERRS CLC CNOERRS(8),0(R2) IS IT NOERRS ? @V305001 00183000
  184. BNE CK48C NO, BRANCH @V305001 00184000
  185. NI JCSW3,255-ERRS CLEAR ERRS IF ANY @V305001 00185000
  186. B NXTOPT GO SEE IF MORE @V305001 00186000
  187. CK48C CLC C48C,0(R2) IS IT 48C ? @V305001 00187000
  188. BNE CK60C NO, BRANCH @V305001 00188000
  189. OI JCSW3,F48C SET 48C FLAG @V305001 00189000
  190. B NXTOPT GO SEE IF MORE @V305001 00190000
  191. CK60C CLC C60C,0(R2) IS IT 60C ? @V305001 00191000
  192. BNE CKDUMP NO, BRANCH @V305001 00192000
  193. NI JCSW3,255-F48C CLEAR 48C IF ANY @V305001 00193000
  194. B NXTOPT GO SEE IF MORE @V305001 00194000
  195. CKDUMP CLC CDUMP,0(R2) IS IT DUMP ? @V305001 00195000
  196. BNE CKNODUMP NO, BRANCH @V305001 00196000
  197. OI JCSW4,DUMP SET DUMP FLAG @V305001 00197000
  198. B NXTOPT GO SEE IF MORE @V305001 00198000
  199. CKNODUMP CLC CNODUMP(8),0(R2) IS IT NODUMP ? @V305001 00199000
  200. BNE ERR070 NO, ERROR @V305001 00200000
  201. NI JCSW4,255-DUMP CLEAR DUMP IF ANY @V305001 00201000
  202. EJECT 00202000
  203. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00203000
  204. * * 00204000
  205. * CHECK IF MORE OPTIONS. IF MORE, START FROM TOP AGAIN. * 00205000
  206. * IF NO MORE, EXIT WITH ANY RETURN CODE POSTED. * 00206000
  207. * * 00207000
  208. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00208000
  209. SPACE 2 00209000
  210. NXTOPT LA R2,8(,R2) BUMP TO NEXT OPTION @V305001 00210000
  211. CLI 0(R2),FENCE IS THIS ALL ? @V305001 00211000
  212. BNE OPTLUP NO, GO PROCESS THIS ONE @V305001 00212000
  213. OPTEXIT LR R10,R15 SAVE RETURN CODE @V305001 00213000
  214. LTR R15,R10 RESTORE RETURN CODE (CC = 0) @V305001 00214000
  215. LR R14,R11 RESTORE RETURN REG. @V305001 00215000
  216. BR R14 RETURN TO CALLER @V305001 00216000
  217. SPACE 2 00217000
  218. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00218000
  219. * * 00219000
  220. * RESET THE TEMPORARY BYTES IN THE COMMUNICATIONS REGION * 00220000
  221. * TO THE STANDARD ONES SET FOR CMS/DOS. * 00221000
  222. * * 00222000
  223. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00223000
  224. SPACE 2 00224000
  225. RESET MVC JCSW3(1),SOB1 NON-STD. OPTION BYTE 3 = STD. @V305001 00225000
  226. MVI JCSW4,JOBRUN JOB DURATION BYTE = JOB RUNNING @V305066 00226000
  227. B OPTEXIT ALL DONE... @V305001 00227000
  228. DROP R1 @V305001 00228000
  229. EJECT 00229000
  230. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00230000
  231. * * 00231000
  232. * CONSTANTS AND EQUATES * 00232000
  233. * * 00233000
  234. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00234000
  235. SPACE 2 00235000
  236. FENCE EQU X'FF' FENCE CODE @V305001 00236000
  237. JOBRUN EQU X'80' JOB IN PROGRESS @V305066 00237000
  238. * 00238000
  239. RC24 EQU 24 RETURN CODE @V305066 00239000
  240. RC40 EQU 40 RETURN CODE @V305066 00240000
  241. * 00241000
  242. CNODECK DC CL2'NO' OPTIONS @V305001 00242000
  243. CDECK DC CL8'DECK' OPTIONS @V305001 00243000
  244. CNOLIST DC CL2'NO' OPTIONS @V305001 00244000
  245. CLIST DC CL8'LIST' OPTIONS @V305001 00245000
  246. CNOLISTX DC CL2'NO' OPTIONS @V305001 00246000
  247. CLISTX DC CL8'LISTX' OPTIONS @V305001 00247000
  248. CNOSYM DC CL2'NO' OPTIONS @V305001 00248000
  249. CSYM DC CL8'SYM' OPTIONS @V305001 00249000
  250. CNOXREF DC CL2'NO' OPTIONS @V305001 00250000
  251. CXREF DC CL8'XREF' OPTIONS @V305001 00251000
  252. CNOERRS DC CL2'NO' OPTIONS @V305001 00252000
  253. CERRS DC CL8'ERRS' OPTIONS @V305001 00253000
  254. C48C DC CL8'48C' OPTIONS @V305001 00254000
  255. C60C DC CL6'60C' OPTIONS @V305001 00255000
  256. CNODUMP DC CL2'NO' OPTIONS @V305001 00256000
  257. CDUMP DC CL8'DUMP' OPTIONS @V305001 00257000
  258. * 00258000
  259. DECK EQU X'80' FLAG SEETINGS @V305001 00259000
  260. LIST EQU X'40' FLAG SETTINGS @V305001 00260000
  261. LISTX EQU X'20' FLAG SETTINGS @V305001 00261000
  262. SYM EQU X'10' FLAG SETTINGS @V305001 00262000
  263. XREF EQU X'08' FLAG SETTINGS @V305001 00263000
  264. ERRS EQU X'04' FLAG SETTINGS @V305001 00264000
  265. F48C EQU X'02' FLAG SETTINGS @V305001 00265000
  266. DUMP EQU X'40' FLAG SETTINGS @V305001 00266000
  267. EJECT 00267000
  268. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00268000
  269. * * 00269000
  270. * ERROR MESSAGES * 00270000
  271. * * 00271000
  272. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00272000
  273. SPACE 2 00273000
  274. ERR070 LR R10,R1 SAVE R1 TEMPORARILY @V305001 00274000
  275. DMSERR TEXT='INVALID PARAMETER ''........''',NUM=70,LET=E, *00275000
  276. SUB=(CHARA,(R2)) @V305001 00276000
  277. LA R15,RC24 RETURN CODE = 24 @V305066 00277000
  278. LR R1,R10 RESTORE R1 @V305001 00278000
  279. B NXTOPT KEEP LOOKING FOR BADS... @V305001 00279000
  280. SPACE 1 00280000
  281. ERR099 EQU * @V305001 00281000
  282. DMSERR TEXT='CMS/DOS ENVIRONMENT NOT ACTIVE',NUM=99,LET=E 00282000
  283. LA R15,RC40 RETURN CODE = 40 @V305066 00283000
  284. B OPTEXIT RETURN TO CALLER @V305001 00284000
  285. EJECT 00285000
  286. NUCON @V305001 00286000
  287. BGCOM @V305001 00287000
  288. REGEQU @V305001 00288000
  289. END 00289000