Table of Contents

DMSSRV Source

References

Source Listing

DMSSRV.ASSEMBLE.txt
  1. SRV TITLE 'DMSSRV (CMS) VM/370 - RELEASE 6' 00001000
  2. SPACE 2 00002000
  3. *. 00003000
  4. * MODULE NAME 00004000
  5. * 00005000
  6. * DMSSRV ( SSERV ) 00006000
  7. * 00007000
  8. * FUNCTION 00008000
  9. * 00009000
  10. * PROVIDE THE FACILITY TO COPY BOOKS IN THE DOS/VS 00010000
  11. * SYSTEM OR PRIVATE SOURCE STATEMENT LIBRARY TO A 00011000
  12. * SPECIFIED OUTPUT DEVICE. VALID OUTPUT DEVICES ARE 00012000
  13. * CMS DISK FILE, VIRTUAL PRINTER, USER'S CONSOLE, 00013000
  14. * AND/OR VIRTUAL PUNCH. 00014000
  15. * 00015000
  16. * ATTRIBUTES 00016000
  17. * 00017000
  18. * DISK RESIDENT MODULE 00018000
  19. * EXECUTES IN USER AREA 00019000
  20. * 00020000
  21. * ENTRY POINTS 00021000
  22. * 00022000
  23. * DMSSRV 00023000
  24. * 00024000
  25. * ENTRY CONDITIONS 00025000
  26. * 00026000
  27. * R1 = PARAMETER LIST 00027000
  28. * 00028000
  29. * DC CL8'SSERV' COMMAND 00029000
  30. * DC CL8'FNAME' NAME OF BOOK TO COPY 00030000
  31. * DC CL8'FTYPE' FILETYPE OF CMS DISK FILE 00031000
  32. * ... ( ONLY APPLICABLE FOR DISK ) 00032000
  33. * ... ( DEFAULTS TO COPY ) 00033000
  34. * DC CL8'(' BEGIN OF OPTIONS IF ANY 00034000
  35. * DC CL8'TERM'|'DISK'|'PRINT'|'PUNCH' ..OPTIONS.. 00035000
  36. * 00036000
  37. * OPTIONS 00037000
  38. * 00038000
  39. * TERM - DIRECT BOOK FILE TO USER'S CONSOLE 00039000
  40. * DISK - DIRECT BOOK FILE TO USER'S 'A' DISK 00040000
  41. * - DISK IS DEFAULT ('FN' COPY A1) 00041000
  42. * PRINT - DIRECT BOOK FILE TO SPOOLED PRINTER 00042000
  43. * PUNCH - DIRECT BOOK FILE TO SPOOLED PUNCH 00043000
  44. * 00044000
  45. * EXIT CONDITIONS 00045000
  46. * 00046000
  47. * RETURN TO CALLER WITH RETURN CODE IN R15 00047000
  48. * 00048000
  49. * RETURN CODES AND MESSAGES: 00049000
  50. * 00050000
  51. * 24 - NO BOOK NAME SPECIFIED 00051000
  52. * 24 - INVALID OPTION SPECIFIED 00052000
  53. * 24 - INVALID PARAMETER SPECIFIED 00053000
  54. * 28 - SPECIFIED BOOK FILE NOT FOUND 00054000
  55. * 32 - SPECIFIED BOOK CONTAINS BAD RECORDS 00055000
  56. * 32 - CMS/DOS ENVIRONMENT NOT ACTIVE 00056000
  57. * 36 - NO READ/WRITE 'A' DISK ACCESSED 00057000
  58. * 36 - NO SYSRES VOLUME ACTIVE 00058000
  59. * 100 - SPECIFIED DISK IS NOT ATTACHED 00059000
  60. * 100 - INPUT ERROR ON SYSRES OR SYSRLB 00060000
  61. * 100 - ERROR WRITING FILE TO DISK 00061000
  62. * 00062000
  63. * CALLS TO OTHER ROUTINES 00063000
  64. * 00064000
  65. * DMSSTT, DMSERR, DMSERS, DMSKEY, DMKGIO, DMSPIO 00065000
  66. * DMSBWR, DMSCWR, DMSCIO, DMSCPF, DMSFNS 00066000
  67. * 00067000
  68. * EXTERNAL REFERENCES 00068000
  69. * 00069000
  70. * NUCON, BGCOM, DOSCB, OSFST 00070000
  71. * 00071000
  72. * TABLES/WORK AREAS 00072000
  73. * 00073000
  74. * NONE 00074000
  75. * 00075000
  76. * REGISTER USAGE 00076000
  77. * 00077000
  78. * R0 NUCON ADDRESSABILITY & WORK 00078000
  79. * R1 COMMAND LINE POINTER & PLIST(S) POINTER 00079000
  80. * R2 INPUT BUFFER POINTER & WORK 00080000
  81. * R3 WORK 00081000
  82. * R4 OUTPUT BUFFER POINTER 00082000
  83. * R5 WORK 00083000
  84. * R6 NOT USED 00084000
  85. * R7 NOT USED 00085000
  86. * R8 NOT USED 00086000
  87. * R9 DOSCB & OSFST POINTER 00087000
  88. * R10 INTERNAL LINKAGE 00088000
  89. * R11 NOT USED 00089000
  90. * R12 DMSSRV ADDRESSABILITY 00090000
  91. * R13 NOT USED 00091000
  92. * R14 EXTERNAL LINKAGE 00092000
  93. * R15 ADDRESS LINKING ROUTINE & RETURN CODE 00093000
  94. * 00094000
  95. * OPERATION 00095000
  96. * 00096000
  97. * 1. SET UP NECESSARY ADDRESSABILITIES AND SAVE 00097000
  98. * THE RETURN REGISTER. ACQUIRE SUPERVISOR KEY 00098000
  99. * AND INITIALIZE REUSABILITY FIELDS. VERIFY IF 00099000
  100. * IN CMS/DOS ENVIRONMENT. 00100000
  101. * 00101000
  102. * 2. CHECK THE COMMAND LINE FOR VALID ARGUMENTS 00102000
  103. * AND OPTIONS. ENSURE THAT A BOOK NAME WAS 00103000
  104. * SPECIFIED. SET APPROPIATE SWITCHES FOR EACH 00104000
  105. * OPTION SPECIFIED. IF THE 'DISK' OPTION IS 00105000
  106. * SPECIFIED OR IMPLIED, ERASE ANY OLD FILE ON 00106000
  107. * THE 'A' DISK. IF ERASE RETURNS A CODE OF 36, 00107000
  108. * EITHER THE 'A' DISK IS R/O OR IS NOT ATTACHED. 00108000
  109. * 00109000
  110. * 3. DETERMINE IF READING FROM THE SYSTEM OR PRIVATE 00110000
  111. * SOURCE STMNT LIBRARY (PRIVATE IS SEARCHED FIRST) 00111000
  112. * & START READING THE APPROPIATE LIBRARY DIRECTORY 00112000
  113. * RECORDS TO LOCATE THE SPECIFIED BOOK. ONCE THE 00113000
  114. * BOOK ENTRY IS FOUND, COMPUTE THE DISK ADDRESS OF 00114000
  115. * THE BOOK DATA BLOCKS. 00115000
  116. * 00116000
  117. * 4. READ THE BOOK DATA BLOCKS ONE AT A TIME. DECODE 00117000
  118. * EACH DATA BLOCK INTO CARD IMAGES. DOS/VS REMOVES 00118000
  119. * ALL BLANKS FROM THE CARD IMAGES, THUS THEY MUST 00119000
  120. * REPLACED BEFORE THE OUTPUT BUFFER IS WRITTEN TO 00120000
  121. * THE OUTPUT DEVICE. 00121000
  122. * 00122000
  123. * 5. WHEN ALL PROCESSING HAS BEEN DONE, ALL OUTPUT 00123000
  124. * DEVICES ARE CLOSED. 00124000
  125. * 00125000
  126. * 6. A SWITCH TO PROBLEM PROGRAM KEY IS DONE, AND A 00126000
  127. * RETURN TO THE CALLER IS MADE PASSING IN REG. 15 00127000
  128. * THE RETURN CODE OF THE COMMAND. 00128000
  129. *. 00129000
  130. EJECT 00130000
  131. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00131000
  132. * * 00132000
  133. * INITIALIZATION... ESTABLISH BASE REG. AND SAVE RETURN. * 00133000
  134. * VERIFY CMS/DOS ENVIRONMENT ACTIVE * 00134000
  135. * * 00135000
  136. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00136000
  137. SPACE 2 00137000
  138. DMSSRV CSECT @V305001 00138000
  139. USING DMSSRV,R12 @V305001 00139000
  140. USING NUCON,R0 @V305001 00140000
  141. LR R12,R15 ESTABLISH BASE @V305001 00141000
  142. ST R14,SAVE14 SAVE RETURN REGISTER @V305001 00142000
  143. DMSKEY NUCLEUS @V305001 00143000
  144. TM DOSFLAGS,DOSMODE IN CMS/DOS MODE ? @V305001 00144000
  145. BZ ERR099 NO, ERROR @V305001 00145000
  146. XC SSW,SSW CLEAR INTERNAL SWITCH @V305001 00146000
  147. MVC FTYPE,COPY SET DEFAULT FILE TYPE @V305001 00147000
  148. EJECT 00148000
  149. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00149000
  150. * * 00150000
  151. * CHECK COMMAND LINE FOR VALID ARGUMENTS AND OPTIONS. * 00151000
  152. * SET APROPIATE SWITCHES FOR EACH OPTION SPECIFIED. * 00152000
  153. * IF NO OPTIONS SPECIFIED, 'DISK' IS DEFAULT. * 00153000
  154. * * 00154000
  155. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00155000
  156. SPACE 2 00156000
  157. LA R1,8(,R1) BUMP TO SUBLIB QUALIFIER @V305001 00157000
  158. CLI 0(R1),FENCE ANY SPECIFIED ? @V305001 00158000
  159. BE ERR001 NO, ERROR @V305001 00159000
  160. CLI 0(R1),LPAR DITTO @V305001 00160000
  161. BE ERR001 NO, ERROR @V305001 00161000
  162. CLI 1(R1),BLANK ONE SUBLIB CHAR. ONLY ? @V305001 00162000
  163. BNE ERR070 NO, ERROR @V305001 00163000
  164. MVC BKNAME(1),0(R1) SAVE SUBLIB QUALIFIER @V305001 00164000
  165. LA R1,8(,R1) BUMP TO BOOK NAME @V305001 00165000
  166. CLI 0(R1),FENCE ANY SPECIFIED ? @V305001 00166000
  167. BE ERR001 NO, ERROR @V305001 00167000
  168. CLI 0(R1),LPAR DITTO @V305001 00168000
  169. BE ERR001 NO, ERROR @V305001 00169000
  170. MVC BKNAME+1(8),0(R1) SAVE BOOK NAME @V305001 00170000
  171. LA R1,8(,R1) BUMP TO POSS. OPTIONS @V305001 00171000
  172. CLI 0(R1),FENCE ANY OPTIONS ? @V305001 00172000
  173. BE OPTSOK NO, BRANCH @V305001 00173000
  174. CLI 0(R1),LPAR LEFT PARENS ? @V305001 00174000
  175. BE OPTLUP YES, PROCESS OPTIONS @V305001 00175000
  176. MVC FTYPE,0(R1) SET USER'S FILE TYPE @V305001 00176000
  177. LA R1,8(,R1) BUMP TO POSS. OPTIONS @V305001 00177000
  178. CLI 0(R1),FENCE ANY MORE ? @V305001 00178000
  179. BE OPTSOK NO, BRANCH @V305001 00179000
  180. CLI 0(R1),LPAR LEFT PARENS ? @V305001 00180000
  181. BNE ERR070 NO, ERROR @V305001 00181000
  182. OPTLUP LA R1,8(,R1) BUMP TO OPTION @V305001 00182000
  183. CLI 0(R1),FENCE ANY SPECIFIED ? @V305001 00183000
  184. BE OPTSOK NO, ALL DONE WITH OPTIONS @V305001 00184000
  185. CLI 0(R1),RPAR END OF OPTIONS ? @V305001 00185000
  186. BE OPTSOK YES, ALL DONE WITH OPTIONS @V305001 00186000
  187. CLC CDISK,0(R1) DISK OPTION ? @V305001 00187000
  188. BNE CKPUN NO, CHECK PUNCH @V305001 00188000
  189. OI SSW,DISK SET DISK FLAG @V305001 00189000
  190. B OPTLUP KEEP LOOKING @V305001 00190000
  191. CKPUN CLC CPUNCH,0(R1) PUNCH OPTION ? @V305001 00191000
  192. BNE CKPRT NO, CHECK PRINT @V305001 00192000
  193. OI SSW,PUNCH SET PUNCH FLAG @V305001 00193000
  194. B OPTLUP KEEP LOOKING @V305001 00194000
  195. CKPRT CLC CPRINT,0(R1) PRINT OPTION ? @V305001 00195000
  196. BNE CKTRM NO, CHECK TERM @V305001 00196000
  197. OI SSW,PRINT SET PRINT FLAG @V305001 00197000
  198. B OPTLUP KEEP LOOKING @V305001 00198000
  199. CKTRM CLC CTERM,0(R1) TERM OPTION ? @V305001 00199000
  200. BNE ERR003 NO, ERROR @V305001 00200000
  201. OI SSW,TERM SET TERM FLAG @V305001 00201000
  202. B OPTLUP KEEP LOOKING @V305001 00202000
  203. EJECT 00203000
  204. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00204000
  205. * * 00205000
  206. * IF 'DISK' OPTION SPECIFIED OR IMPLIED, ERASE ANY OLD * 00206000
  207. * FILE ON THE 'A' DISK WITH THE SAME FILEID. IF ERASE * 00207000
  208. * RETURNS A CODE OF 36, EITHER THE 'A' DISK IS R/O OR IS * 00208000
  209. * NOT ATTACHED. IN EITHER CASE A MESSAGE IS ISSUED. * 00209000
  210. * * 00210000
  211. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00211000
  212. SPACE 2 00212000
  213. OPTSOK MVC MSGBOOK(1),BKNAME @V305001 00213000
  214. MVC MSGBOOK+2(8),BKNAME+1 @V305001 00214000
  215. CLI SSW,ZERO ANY OPTIONS? @VA08112 00214050
  216. BNE READDIR YES GO CHECK DIRT @VA08112 00214100
  217. OI SSW,DISK SET DEFAULT @VA08112 00214150
  218. B READDIR GO READ DIRECTORY @VA07631 00214200
  219. CHKDSK EQU * @VA07631 00214300
  220. CLI SSW,ZERO ANY OPTIONS SPECIFIED ? @V305001 00215000
  221. BE ERSOLD NO, DEFAULT TO DISK @V305001 00216000
  222. TM SSW,DISK WAS DISK SPECIFIED ? @V305001 00217000
  223. BZ FNDBOOK NO BYPASS ERASE @VA07631 00218100
  224. ERSOLD MVC FNAME,BKNAME+1 SET UP FILE NAME @V305001 00219000
  225. LA R1,DSKLST GET ERASE PLIST @V305001 00220000
  226. L R15,AERASE GET DMSERS ADDRESS @V305001 00221000
  227. BALR R14,R15 GO ERASE OLD FILE @V305001 00222000
  228. CH R15,=H'36' ANY DISK PROBLEM ? @V305001 00223000
  229. BE ERR006 YES, GIVE ERROR @V305001 00224000
  230. B FNDBOOK PROCESS BOOK ENTRY @VA07631 00224100
  231. EJECT 00225000
  232. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00226000
  233. * * 00227000
  234. * DETERMINE IF READING FROM SYSTEM S.S.L. OR FROM PRIVATE * 00228000
  235. * S.S.L. READ APPROPIATE LIBRARY DIRECTORY AND INITIATE * 00229000
  236. * SEARCH FOR SPECIFIED BOOK. ONCE BOOK ENTRY IS FOUND, * 00230000
  237. * COMPUTE THE DISK ADDRESS OF THE BOOK'S DATA BLOCKS. * 00231000
  238. * * 00232000
  239. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00233000
  240. SPACE 2 00234000
  241. READDIR BAL R10,CKPSSL SEE IF PRIVATE SSL ASSIGNED @V305001 00235000
  242. TM SSW,PSSLA ACTIVE PRIVATE SSL ? @V305001 00236000
  243. BO SETLEN YES, BRANCH @V305001 00237000
  244. READSYS NI SSW,255-PSSLA NO MORE PRIVATE SSL @V305001 00238000
  245. LA R3,SYSRES GET SYSRES LUB INDEX @V305001 00239000
  246. BAL R10,TSTUNIT SEE IF SYSRES VOLUME ACTIVE @V305001 00240000
  247. BZ ERR002 NOT ASSGN'ED, ERROR @V305001 00241000
  248. OI SSW,SSLA SET SYSRES VOLUME ACTIVE @V305001 00242000
  249. MVC CUU(2),0(R3) SAVE SYSRES DEVICE ADDRESS @V305001 00243000
  250. LA R3,DIRPL SSL DIRECTORY POINTER LENGTH @V305001 00244000
  251. STH R3,READCCW+6 TO SAVE IN READ CCW @V305001 00245000
  252. MVC CCHHR(5),SSLDIR SET TO FIND SSL DIRECTORY @V305001 00246000
  253. BAL R10,DISKIO GO READ POINTER TO SSL @V305001 00247000
  254. MVC CCHHR(5),INBUF+2 SET UP SEEK/SEARCH ADDRESS @V305001 00248000
  255. SETLEN LA R3,DIRBL DIR. & DATA BLOCKS LENGTH @V305001 00249000
  256. STH R3,READCCW+6 TO SAVE IN READ CCW @V305001 00250000
  257. NXTBLK XC INBUF,INBUF ZERO OUT BUFFER @V305001 00251000
  258. MVI INBUF+161,X'FF' TAG END OF BUFFER @V305001 00252000
  259. BAL R10,DISKIO READ DIRECTORY @V305001 00253000
  260. LA R2,INBUF POINT TO BUFFER @V305001 00254000
  261. TM SSW,PASS1 1ST. TIME HERE ? @V305001 00255000
  262. BO TSTEND NO, BRANCH @V305001 00256000
  263. LA R2,80(,R2) BUMP PAST DIRECTORY INFO. @V305001 00257000
  264. OI SSW,PASS1 SET 1ST. TIME SWITCH @V305001 00258000
  265. TSTEND CLI 0(R2),ZERO END OF BUFFER ? @V305001 00259000
  266. BE NXTBLK YES, GET NEXT BLOCK @V305001 00260000
  267. CLI 0(R2),DIREND END OF DIRECTORY ? @V305001 00261000
  268. BE ERR002 YES, BOOK NOT FOUND @V305001 00262000
  269. CLC 0(9,R2),BKNAME BOOK NAME MATCH ? @V305001 00263000
  270. BE CHKDSK GO CHECK FOR ERASE @VA07631 00264100
  271. LA R2,16(,R2) BUMP TO NEXT ENTRY @V305001 00265000
  272. B TSTEND KEEP LOOKING @V305001 00266000
  273. SPACE 1 00267000
  274. FNDBOOK MVC HR(2),10(R2) MOVE H2 AND R TO WORK @V305001 00268000
  275. NI HR,CLRH2 CLEAR 2 HI-BITS H2 @V305001 00269000
  276. SR R3,R3 ... @V305001 00270000
  277. IC R3,10(R2) GET BYTE WITH C1 AND H2 @V305001 00271000
  278. SLL R3,2 POSITION C1 @V305001 00272000
  279. IC R3,9(R2) GET C2 @V305001 00273000
  280. STH R3,CCHHR STORE IN WORK @V305001 00274000
  281. EJECT 00275000
  282. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00276000
  283. * * 00277000
  284. * DECODE EACH BLOCK READ INTO CARD IMAGES RECORDS. BLANKS * 00278000
  285. * ARE STRIPPED OFF BY DOS AND MUST BE REPLACED ON THE * 00279000
  286. * OUTPUT BUFFER BEFORE THE RECORD IS WRITTEN OUT. * 00280000
  287. * * 00281000
  288. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00282000
  289. SPACE 2 00283000
  290. NXTBUF BAL R10,DISKIO READ 1ST DATA BLOCK @V305001 00284000
  291. LA R1,INBUF POINT TO INPUT BUFFER @V305001 00285000
  292. RECLUP LA R4,OUTBUF POINT TO OUTPUT BUFFER @V305001 00286000
  293. MVI 0(R4),BLANK BLANK OUTPUT BUFFER @V305001 00287000
  294. MVC 1(79,R4),0(R4) ... @V305001 00288000
  295. LA R3,79(,R4) POINT TO END OUTBUF @V305001 00289000
  296. RECLUP1 CLI 0(R1),ZERO END OF BUFFER ? @V305001 00290000
  297. BNE RECLUP2 NO, CONTINUE @V305001 00291000
  298. CLI 1(R1),ZERO END OF BOOK ? @V305001 00292000
  299. BE ALLDONE YES, ALL DONE @V305001 00293000
  300. BAL R10,DISKIO GET NEW BLOCK @V305001 00294000
  301. LA R1,INBUF POINT TO NEW BUFFER @V305001 00295000
  302. B RECLUP1 PROCESS THIS NEW BLOCK @V305001 00296000
  303. RECLUP2 SR R2,R2 ... @V305001 00297000
  304. IC R2,0(R1) GET NO. OF NON-BLANKS @V305001 00298000
  305. LA R0,MASK MASK CODE TO R0 @V305001 00299000
  306. NR R0,R2 GET NO. OF BLANKS @V305001 00300000
  307. SRL R2,4 SHIFT NO. NON-BLANKS @V305001 00301000
  308. AR R0,R2 COMPUTE INCREMENT @V305001 00302000
  309. BCTR R2,0 DECREMENT FOR MOVE @V305001 00303000
  310. LTR R2,R2 COUNT NEGATIVE ? @V305001 00304000
  311. BM INCBUF YES, BRANCH IF NEGATIVE @V305001 00305000
  312. LA R5,0(R2,R4) BXLE HELPER @V305001 00306000
  313. CR R5,R3 ALREADY HIGH ? @V305001 00307000
  314. BH ERR194 YES, ERROR @V305001 00308000
  315. EX R2,EXMVC MOVE NON-BLANKS TO OUTBUF @V305001 00309000
  316. INCBUF LA R1,2(R1,R2) INCREMENT INBUF POINTER @V305001 00310000
  317. LR R2,R0 CHAR. CNT. = INCREMENT @V305001 00311000
  318. BXLE R4,R2,RECLUP1 KEEP MOVING DATA @V305001 00312000
  319. ST R1,SAVE1 SAVE CURRENT BUFF PNTR @V305001 00313000
  320. BAL R10,OUTLINE OUTPUT THE LINE @V305001 00314000
  321. L R1,SAVE1 RESTORE REG. 1 @V305001 00315000
  322. B RECLUP GO GET NEXT CARD IMAGE @V305001 00316000
  323. EJECT 00317000
  324. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00318000
  325. * * 00319000
  326. * ROUTINE TO READ EITHER FROM SYSRES OR SYSSLB. * 00320000
  327. * THE I/O IS DIAGNOSED TO CP AND UPON RETURN ONLY * 00321000
  328. * END-OF-CYLINDER IS ACCEPTED. ANY OTHER ERROR WILL * 00322000
  329. * TERMINATE THIS COMMAND. * 00323000
  330. * * 00324000
  331. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00325000
  332. SPACE 2 00326000
  333. DISKIO LA R0,SEEKCCW GET CHANNEL PGM ADDR @V305001 00327000
  334. LH R1,CUU GET DISK DEVICE ADDR @V305001 00328000
  335. DC X'83100020' DIAGNOSE I/O TO CP @V305001 00329000
  336. BZR R10 RETURN WITH GOOD I/O @V305001 00330000
  337. BM ERR113 DISK NOT ATTACHED EXIT @V305001 00331000
  338. BP ERR411 I/O ERROR @V305001 00332000
  339. STH R0,SENSE SAVE SENSE INFO. @V305001 00333000
  340. TM SENSE+1,EOC IS IT END-OF-CYLINDER @V305001 00334000
  341. BZ ERR411 NO, UNRECOVERABLE ERROR @V305001 00335000
  342. LH R1,CCHHR GET CURRENT CYLINDER @V305001 00336000
  343. LA R1,1(,R1) UP BY ONE @V305001 00337000
  344. STH R1,CCHHR SAVE NEW CYLINDER @V305001 00338000
  345. LA R1,ONE GET HEAD 0, REC 1 CONSTANT @V305001 00339000
  346. STCM R1,M7,HHR SAVE NEW HEAD AND REC @V305001 00340000
  347. BR R10 RETURN TO CALLER @V305001 00341000
  348. EJECT 00342000
  349. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00343000
  350. * * 00344000
  351. * VERIFY IF PRIVATE S.S.L. IS ASSIGNED, AND IF SO, * 00345000
  352. * LOCATE DOSCB FOR IJSYSSL FROM DOSCB CHAIN IN NUCON. * 00346000
  353. * VERIFY THAT AN OSFST EXIST TO GET THE STARTING CCHHR OF * 00347000
  354. * THE DATA SET AND THE VIRTUAL DEVICE ADDRESS. * 00348000
  355. * * 00349000
  356. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00350000
  357. SPACE 2 00351000
  358. CKPSSL ST R10,SAVE10 SAVE RETURN REGISTER @V305001 00352000
  359. LA R3,SYSSLB GET SYSSLB LUB INDEX NO. @V305001 00353000
  360. BAL R10,TSTUNIT SEE IF UNIT ASSIGNED @V305001 00354000
  361. BZ NOPSSL BRANCH IF NOT ASSIGNED @V305001 00355000
  362. SR R9,R9 ... @V305001 00356000
  363. ICM R9,M7,DOSFIRST+1 GET DOSCB CHAIN ADDRESS @V305001 00357000
  364. USING DOSSECT,R9 @V305001 00358000
  365. PSSL1 BZ NOPSSL IF ZERO, NO MORE DOSCB @V305001 00359000
  366. CLC IJSYSSL,DOSDD MATCHING DDNAMES ? @V305001 00360000
  367. BE PSSL2 YES, DOSCB FOUND @V305001 00361000
  368. ICM R9,M7,1(R9) GET NEXT DOSCB ADDRESS @V305001 00362000
  369. B PSSL1 BRANCH @V305001 00363000
  370. PSSL2 CLI DOSDEV,DOSDSK IS DEVICE DISK ? @V305001 00364000
  371. BNE NOPSSL NO, BRANCH @V305001 00365000
  372. LA R1,DOSOP USE DOSCB FOR STATE PLIST @V305001 00366000
  373. MVC DOSOP,=CL8'STATE' MOVE STATE COMMAND TO PLIST @V305001 00367000
  374. L R15,ASTATE GET STATE ADDRESS @V305001 00368000
  375. BALR R14,R15 SEE IF FILE FOUND @V305001 00369000
  376. LTR R15,R15 FILE FOUND ? @V305001 00370000
  377. BNZ NOPSSL NO, BRANCH @V305001 00371000
  378. L R9,DOSOSFST GET OSFST FOR P.S.S.L. @V305001 00372000
  379. DROP R9 @V305001 00373000
  380. LTR R9,R9 ANY AVAILABLE ? @V305001 00374000
  381. BZ NOPSSL NO, BRANCH @V305001 00375000
  382. USING OSFST,R9 @V305001 00376000
  383. MVC CCHHR(4),OSFSTXTN+2 SAVE P.S.S.L. CCHHR @V305001 00377000
  384. MVI R,ONE RECORD ONE @V305001 00378000
  385. MVC CUU(2),OSFSTDSK SAVE P.S.S.L. CUU @V305001 00379000
  386. DROP R9 @V305001 00380000
  387. OI SSW,PSSLA SET PSSL FLAG IN SSW @V305001 00381000
  388. NOPSSL L R10,SAVE10 RESTORE RETURN REG. @V305001 00382000
  389. BR R10 RETURN @V305001 00383000
  390. EJECT 00384000
  391. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00385000
  392. * * 00386000
  393. * CHECK IF SYSSLB OR SYSRES HAS BEEN ASSIGNED. * 00387000
  394. * REG 3 = 0 MEANS UNIT NOT ASSIGNED, OTHERWISE REG 3 * 00388000
  395. * CONTAINS THE POINTER TO THE CORRECT PUB ENTRY. * 00389000
  396. * * 00390000
  397. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00391000
  398. SPACE 2 00392000
  399. TSTUNIT EQU * @V305001 00393000
  400. USING BGCOM,R1 @V305001 00394000
  401. L R1,ASYSREF GET BGCOM ADDRESS @V305001 00395000
  402. AH R3,LUBPT POINT TO CORRECT LUB ENTRY @V305001 00396000
  403. TM 0(R3),UNASSGN UNIT ASSIGNED ? @V305001 00397000
  404. BO NOTASSGN NO, BRANCH @V305001 00398000
  405. LH R3,0(,R3) LUB ENTRY TO REG 3 @V305001 00399000
  406. SRL R3,8 ISOLATE PUB POINTER @V305001 00400000
  407. SLL R3,3 MULTIPLY BY 8 @V305001 00401000
  408. AH R3,PUBPT POINT TO CORRECT PUB ENTRY @V305001 00402000
  409. LTR R3,R3 SET CONDITION CODE @V305001 00403000
  410. BR R10 RETURN TO CALLER @V305001 00404000
  411. NOTASSGN SR R3,R3 ZERO REG 3 @V305001 00405000
  412. LTR R3,R3 SET CONDITION CODE @V305001 00406000
  413. BR R10 RETURN TO CALLER @V305001 00407000
  414. DROP R1 @V305001 00408000
  415. EJECT 00409000
  416. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00410000
  417. * * 00411000
  418. * ROUTINE TO DETERMINE TO WHAT DEVICE OR DEVICES THE * 00412000
  419. * OUTPUT SHOULD GO. SWITCH 'SSW' CONTAINS INFORMATION * 00413000
  420. * TO DETERMINE THIS. ALL I/O IS DONE THROUGH CMS FUNCTIONS. * 00414000
  421. * * 00415000
  422. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00416000
  423. SPACE 2 00417000
  424. OUTLINE TM SSW,DISK+PRINT+PUNCH+TERM ANY OPTIONS ? @V305001 00418000
  425. BZ OUTDSK NO, DEFAULT TO DISK @V305001 00419000
  426. TM SSW,PUNCH PUNCH SPECIFIED ? @V305001 00420000
  427. BZ TSTPRT NO, CHECK PRINT @V305001 00421000
  428. LA R1,PUNLST POINT TO PUNCH PLIST @V305001 00422000
  429. SVC 202 PUNCH THIS CARD @V305001 00423000
  430. DC AL4(*+4) ... @V305001 00424000
  431. CH R15,=H'100' NOT ATT OR INT REQ ? @V305001 00425000
  432. BE EXIT YES, GET OUT @V305001 00426000
  433. SPACE 1 00427000
  434. TSTPRT TM SSW,PRINT PRINT SPECIFIED ? @V305001 00428000
  435. BZ TSTTRM NO, CHECK TERM @V305001 00429000
  436. PRT LA R1,PRTLST POINT TO PRINT PLIST @V305066 00430000
  437. SVC 202 PRINT THIS LINE @V305001 00431000
  438. DC AL4(*+4) ... @V305001 00432000
  439. CH R15,=H'100' NOT ATT OR INT REQ ? @V305001 00433000
  440. BE EXIT YES, GET OUT @V305001 00434000
  441. TM SSW,FIRST FIRST TIME TO PRINT ? @V305066 00435000
  442. BO TSTTRM NO @V305066 00436000
  443. OI SSW,FIRST FIRST TIME INDICATOR @V305066 00437000
  444. MVI CHAR,BLANK CONTROL CHAR @V305066 00438000
  445. B PRT GO TO PRINT FIRST LINE @V305066 00439000
  446. SPACE 1 00440000
  447. TSTTRM TM SSW,TERM TERM SPECIFIED ? @V305001 00441000
  448. BZ TSTDSK NO, CHECK DISK @V305001 00442000
  449. LA R1,TYPLST POINT TO TERM PLIST @V305001 00443000
  450. SVC 202 TYPE THIS LINE @V305001 00444000
  451. SPACE 1 00445000
  452. TSTDSK TM SSW,DISK DISK SPECIFIED ? @V305001 00446000
  453. BZR R10 NO, RETURN @V305001 00447000
  454. OUTDSK LA R1,DSKLST POINT TO DISK PLIST @V305001 00448000
  455. L R15,AWRBUF GET DMSBWR ADDRESS @V305001 00449000
  456. BALR R14,R15 GO WRITE TO DISK @V305001 00450000
  457. LTR R15,R15 ANY ERRORS ? @V305001 00451000
  458. BNZ ERR105 YES, BRANCH @V305001 00452000
  459. BR R10 @V305001 00453000
  460. EJECT 00454000
  461. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00455000
  462. * * 00456000
  463. * CLOSE ANY OUTPUT FILE USED BY THIS COMMAND, THEN * 00457000
  464. * RETURN BACK TO CALLER PASSING IN REGISTER 15 THE * 00458000
  465. * RETURN CODE OF THIS COMMAND. * 00459000
  466. * * 00460000
  467. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00461000
  468. SPACE 2 00462000
  469. ALLDONE SR R15,R15 ZERO RETURN CODE @V305001 00463000
  470. EXIT LR R10,R15 TEMP SAVE RETURN CODE @V305001 00464000
  471. TM SSW,DISK+PRINT+PUNCH+TERM ANY OPTIONS ? @V305001 00465000
  472. BZ CLDSK2 NO, CLOSE DISK FILE @V305001 00466000
  473. TM SSW,PUNCH PUNCH OPTION ? @V305001 00467000
  474. BZ CLPRT NO, CHECK PRINT @V305001 00468000
  475. MVC CLDEV,CPUNCH SET UP DEVICE @V305001 00469000
  476. LA R1,CLOSE GET CLOSE PLIST @V305001 00470000
  477. SVC 202 CLOSE PUNCH @V305001 00471000
  478. DC AL4(*+4) NO-OP @V305001 00472000
  479. CLPRT TM SSW,PRINT PRINT OPTION ? @V305001 00473000
  480. BZ CLDSK NO, CHECK DISK @V305001 00474000
  481. MVC CLDEV,CPRINT SET UP DEVICE @V305001 00475000
  482. LA R1,CLOSE GET CLOSE PLIST @V305001 00476000
  483. SVC 202 CLOSE PRINTER @V305001 00477000
  484. DC AL4(*+4) NO-OP @V305001 00478000
  485. CLDSK TM SSW,DISK DISK OPTION ? @V305001 00479000
  486. BZ EXIT2 NO, RETURN @V305001 00480000
  487. CLDSK2 LA R1,DSKLST GET FINIS PLIST @V305001 00481000
  488. L R15,AFINIS GET DMSFNS ADDRESS @V305001 00482000
  489. BALR R14,R15 GO CLOSE OUTPUT FILE @V305001 00483000
  490. EXIT2 L R14,SAVE14 LOAD RETURN REGISTER @V305001 00484000
  491. DMSKEY RESET @V305001 00485000
  492. LR R15,R10 RESTORE RETURN CODE @V305001 00486000
  493. BR R14 RETURN TO CALLER @V305001 00487000
  494. EJECT 00488000
  495. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00489000
  496. * * 00490000
  497. * STORAGE AND CONSTANT AREAS * 00491000
  498. * * 00492000
  499. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00493000
  500. SPACE 2 00494000
  501. SAVE14 DS F SAVE FOR RETURN REGISTER @V305001 00495000
  502. SAVE10 DS F TEMP. SAVE FOR REG 10 @V305001 00496000
  503. SAVE1 DS F TEMP. SAVE FOR REG 1 @V305001 00497000
  504. SSLDIR DC H'0',H'1',X'3' POINTER TO SYS SSL DIRECTORY @V305001 00498000
  505. SSW DS X INTERNAL SWITCH @V305001 00499000
  506. CUU DS H DISK VIRTUAL ADDRESS @V305001 00500000
  507. SENSE DS H SENSE INFO. FROM BAD DIAGNOSE @V305001 00501000
  508. EXMVC MVC 0(0,R4),1(R1) MOVE NON-BLANKS TO OUTBUF @V305001 00502000
  509. CDISK DC CL8'DISK' DISK OPTION @V305001 00503000
  510. CPUNCH DC CL8'PUNCH' PUNCH OPTION @V305001 00504000
  511. CPRINT DC CL8'PRINT' PRINT OPTION @V305001 00505000
  512. CTERM DC CL8'TERM' TERM OPTION @V305001 00506000
  513. COPY DC CL8'COPY' DEFAULT FILE TYPE @V305001 00507000
  514. IJSYSSL DC CL8'IJSYSSL' PRIV. S.S.L. DDNAME @V305001 00508000
  515. BKNAME DC CL9' ' BOOK NAME @V305001 00509000
  516. MSGBOOK DC CL10' .' BOKK NAME FOR ERROR MSG @V305001 00510000
  517. DS 0H @V305001 00511000
  518. BBCCHHR DC H'0' SEEK ADDRESS @V305001 00512000
  519. CCHHR DS X SEARCH ADDRESS @V305001 00513000
  520. CHHR DS X ... @V305001 00514000
  521. HHR DS X ... @V305001 00515000
  522. HR DS X ... @V305001 00516000
  523. R DS X ... @V305001 00517000
  524. DS XL3 ... @V305001 00518000
  525. EJECT 00519000
  526. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00520000
  527. * * 00521000
  528. * CHANNEL PROGRAMS AND COMMON EQUATES * 00522000
  529. * * 00523000
  530. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00524000
  531. SPACE 2 00525000
  532. SEEKCCW CCW SEEK,BBCCHHR,CC+SLI,6 @V305001 00526000
  533. SRCHCCW CCW SEARCH,CCHHR,CC+SLI,5 @V305001 00527000
  534. CCW TIC,SRCHCCW,0,1 @V305001 00528000
  535. READCCW CCW RDDATA,INBUF,CC,80 @V305001 00529000
  536. CCW RDCOUNT,CCHHR,SLI,8 @V305001 00530000
  537. * 00531000
  538. SEEK EQU X'07' SEEK CCW CODE @V305001 00532000
  539. SEARCH EQU X'31' SEARCH CCW CODE @V305001 00533000
  540. TIC EQU X'08' TIC CCW CODE @V305001 00534000
  541. RDDATA EQU X'06' READ DATA CCW CODE @V305001 00535000
  542. RDCOUNT EQU X'92' READ COUNT MT CCW CODE @V305001 00536000
  543. CC EQU X'40' COMMAND CHAIN FLAG @V305001 00537000
  544. SLI EQU X'20' SUPPRESS I.L. FLAG @V305001 00538000
  545. FENCE EQU X'FF' PLIST FENCE CODE @V305001 00539000
  546. LPAR EQU C'(' LEFT PARENS CODE @V305001 00540000
  547. RPAR EQU C')' RIGHT PARENS CODE @V305001 00541000
  548. BLANK EQU C' ' BLANK CHARACTER CODE @V305001 00542000
  549. SYSRES EQU 12 SYSRES LUB INDEX @V305001 00543000
  550. SYSSLB EQU 14 SYSSLB LUB INDEX @V305001 00544000
  551. ZERO EQU 0 CONSTANT @V305001 00545000
  552. ONE EQU 1 CONSTANT @V305001 00546000
  553. DIRPL EQU 80 DIRECTORY POINTER LENGTH @V305001 00547000
  554. DIRBL EQU 160 DIRECTORY BLOCK LENGTH @V305001 00548000
  555. DIREND EQU C'*' DIRECTORY END CODE @V305001 00549000
  556. CLRH2 EQU X'3F' MASK TO CLEAR HI 2 BITS HEAD2 @V305001 00550000
  557. MASK EQU X'0F' MASK @V305001 00551000
  558. EOC EQU X'20' END OF CYLINDER @V305001 00552000
  559. UNASSGN EQU X'FE' LOGICAL UNIT UNASSIGNED @V305001 00553000
  560. M7 EQU B'0111' ICM/STCM MASK @V305001 00554000
  561. RC24 EQU 24 RETURN CODE @V305001 00555000
  562. RC28 EQU 28 RETURN CODE @V305001 00556000
  563. RC36 EQU 36 RETURN CODE @V305001 00557000
  564. RC40 EQU 40 RETURN CODE @V305001 00558000
  565. RC100 EQU 100 RETURN CODE @V305001 00559000
  566. * 00560000
  567. * FLAGS FOR INTERNAL SWITCH 'SSW' 00561000
  568. * 00562000
  569. DISK EQU X'80' DISK OUTPUT @V305001 00563000
  570. PUNCH EQU X'40' PUNCH OUTPUT @V305001 00564000
  571. PRINT EQU X'20' PRINT OUTPUT @V305001 00565000
  572. TERM EQU X'10' TERM OUTPUT @V305001 00566000
  573. PASS1 EQU X'08' FIRST PASS COMPLETE @V305001 00567000
  574. PSSLA EQU X'04' PRIVATE LIBRARY ACTIVE @V305001 00568000
  575. SSLA EQU X'02' SYSRES VOLUME ACTIVE @V305001 00569000
  576. FIRST EQU X'01' FIRST TIME TO PRINT IND. @V305066 00570000
  577. EJECT 00571000
  578. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00572000
  579. * * 00573000
  580. * BUFFERS AND CMS FUNCTION'S PLISTS * 00574000
  581. * * 00575000
  582. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00576000
  583. SPACE 2 00577000
  584. CHAR DC X'8B' ASA/MACH CHAR FOR PRINT @V305066 00578000
  585. OUTBUF DS CL80 OUTPUT BUFFER @V305001 00579000
  586. INBUF DS CL162 INPUT BUFFER @V305001 00580000
  587. SPACE 2 00581000
  588. DS 0D @V305001 00582000
  589. PUNLST DC CL8'CARDPH' COMMAND NAME @V305001 00583000
  590. DC AL4(OUTBUF) BUFFER ADDRESS @V305001 00584000
  591. DC AL4(80) BUFFER LENGTH @V305001 00585000
  592. SPACE 1 00586000
  593. DS 0D @V305001 00587000
  594. PRTLST DC CL8'PRINTR' COMMAND NAME @V305001 00588000
  595. DC AL4(OUTBUF-1) BUFFER ADDRESS @V305001 00589000
  596. FLAG DC H'1',H'81' FLAG AND BUFFER LENGTH @V305066 00590000
  597. DC 8X'FF' PLIST FENCE @V305001 00591000
  598. SPACE 1 00592000
  599. DS 0D @V305001 00593000
  600. TYPLST DC CL8'TYPLIN' COMMAND NAME @V305001 00594000
  601. DC AL1(1) FLAG @V305001 00595000
  602. DC AL3(OUTBUF) BUFFER ADDRESS @V305001 00596000
  603. DC CL1'B' FLAG @V305001 00597000
  604. DC AL3(80) BUFFER LENGTH @V305001 00598000
  605. SPACE 1 00599000
  606. DS 0D @V305001 00600000
  607. DSKLST DC CL8' ' COMMAND NAME @V305001 00601000
  608. FNAME DC CL8' ' FILE NAME @V305001 00602000
  609. FTYPE DC CL8' ' FILE TYPE @V305001 00603000
  610. DC CL2'A1' FILE MODE @V305001 00604000
  611. DC H'0' ITEM NUMBER @V305001 00605000
  612. DC A(OUTBUF) BUFFER ADDRESS @V305001 00606000
  613. DC A(80) BUFFER LENGTH @V305001 00607000
  614. DC CL2'F' F/V FLAG @V305001 00608000
  615. DC H'1' NUMBER OF ITEMS @V305001 00609000
  616. SPACE 1 00610000
  617. DS 0D @V305001 00611000
  618. CLOSE DC CL8'CP' COMMAND NAME @V305001 00612000
  619. DC CL8'CLOSE' ACTION @V305001 00613000
  620. CLDEV DC CL8' ' DEVICE TO CLOSE @V305001 00614000
  621. DC 8X'FF' PLIST FENCE @V305001 00615000
  622. EJECT 00616000
  623. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00617000
  624. * * 00618000
  625. * ERROR MESSAGES * 00619000
  626. * * 00620000
  627. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00621000
  628. SPACE 2 00622000
  629. ERR001 EQU * @V305001 00623000
  630. DMSERR TEXT='NO BOOK NAME SPECIFIED',NUM=98,LET=E @V305001 00624000
  631. LA R15,RC24 RETURN CODE @V305001 00625000
  632. B EXIT GET OUT @V305001 00626000
  633. SPACE 1 00627000
  634. ERR002 EQU * @VA04912 00628200
  635. NI SSW,255-PASS1 REMOVE 1ST. TIME SWITCH @VA04912 00628500
  636. TM SSW,PSSLA SEARCHING PRIVATE LIBRARY? @VA04912 00628800
  637. BO READSYS YES, NOW SEARCH SYSRES @V305001 00629000
  638. LA R2,MSGBOOK POINT TO BOOK NAME @V305001 00632000
  639. DMSERR TEXT='BOOK ''..........'' NOT FOUND',NUM=4,LET=E, *00633000
  640. SUB=(CHARA,(R2)) @V305001 00634000
  641. LA R15,RC28 RETURN CODE @V305001 00635000
  642. B EXIT GET OUT @V305001 00636000
  643. EJECT 00637000
  644. ERR003 LR R2,R1 POINT TO OPTION @V305001 00638000
  645. DMSERR TEXT='INVALID OPTION ''........''',NUM=3,LET=E, *00639000
  646. SUB=(CHARA,(R2)) @V305001 00640000
  647. LA R15,RC24 RETURN CODE @V305001 00641000
  648. B EXIT GET OUT @V305001 00642000
  649. SPACE 1 00643000
  650. ERR006 EQU * @V305001 00644000
  651. DMSERR TEXT='NO READ/WRITE ''A'' DISK ACCESSED',NUM=6,LET=E 00645000
  652. LA R15,RC36 RETURN CODE @V305001 00646000
  653. B EXIT GET OUT @V305001 00647000
  654. EJECT 00648000
  655. ERR070 LR R2,R1 POINT TO PARAMETER @V305001 00649000
  656. DMSERR TEXT='INVALID PARAMETER ''........''',NUM=70,LET=E, *00650000
  657. SUB=(CHARA,(R2)) @V305001 00651000
  658. LA R15,RC24 RETURN CODE @V305001 00652000
  659. B EXIT GET OUT @V305001 00653000
  660. SPACE 1 00654000
  661. ERR113 LH R2,CUU GET DISK ADDRESS @V305001 00655000
  662. DMSERR TEXT='DISK (....) NOT ATTACHED',NUM=113,LET=S, @V305001*00656000
  663. SUB=(HEX,(R2)) @V305001 00657000
  664. LA R15,RC100 RETURN CODE @V305001 00658000
  665. B EXIT GET OUT @V305001 00659000
  666. EJECT 00660000
  667. ERR411 LA R3,=CL8'SYSRES' SYSRES TO MSG. @V305001 00661000
  668. TM SSW,PSSLA SYSSLB ACTIVE ? @V305001 00662000
  669. BZ ERR411B NO, BRANCH @V305001 00663000
  670. LA R3,=CL8'SYSSLB' SYSSLB TO MSG. @V305001 00664000
  671. ERR411B LR R2,R15 I/O ERROR CODE @V305001 00665000
  672. DMSERR TEXT='INPUT ERROR CODE ''..'' ON ''........''',NUM=411,*00666000
  673. LET=S,SUB=(DEC,(R2),CHARA,(R3)),RENT=NO @V305001 00667000
  674. LA R15,RC100 RETURN CODE @V305001 00668000
  675. B EXIT GET OUT @V305001 00669000
  676. SPACE 1 00670000
  677. ERR194 LA R2,MSGBOOK POINT TO BOOK NAME @V305001 00671000
  678. DMSERR TEXT='BOOK ''..........'' CONTAINS BAD RECORDS',NUM=194*00672000
  679. ,LET=S,SUB=(CHARA,(R2)) @V305001 00673000
  680. LA R15,RC100 RETURN CODE @V305001 00674000
  681. B EXIT GET OUT @V305001 00675000
  682. EJECT 00676000
  683. ERR099 EQU * @V305001 00677000
  684. DMSERR TEXT='CMS/DOS ENVIRONMENT NOT ACTIVE',NUM=99,LET=E 00678000
  685. LA R15,RC40 RETURN CODE = 40 @V305066 00679000
  686. B EXIT GET OUT @V305001 00680000
  687. SPACE 1 00681000
  688. ERR105 LR R2,R15 WRBUF ERROR CODE @V305001 00682000
  689. DMSERR TEXT='ERROR ''..'' WRITING FILE ''....................'*00683000
  690. ' TO DISK',NUM=105,LET=S,SUB=(DEC,(R2),CHAR8A,FNAME), *00684000
  691. RENT=NO @V305001 00685000
  692. LA R15,RC100 RETURN CODE @V305001 00686000
  693. B EXIT GET OUT @V305001 00687000
  694. EJECT 00688000
  695. ERR097 EQU * @V305001 00689000
  696. DMSERR TEXT='NO ''SYSRES'' VOLUME ACTIVE',NUM=97,LET=E 00690000
  697. LA R15,RC36 RETURN CODE @V305001 00691000
  698. B EXIT GET OUT @V305001 00692000
  699. EJECT 00693000
  700. NUCON @V305001 00694000
  701. BGCOM @V305001 00695000
  702. DOSCB @V305001 00696000
  703. OSFST @V305001 00697000
  704. REGEQU @V305001 00698000
  705. END 00699000