Table of Contents

DMSNCP Source

References

Source Listing

DMSNCP.ASSEMBLE.txt
  1. NCP TITLE 'DMSNCP (CMS) VM/370 - RELEASE 6' 00001000
  2. ISEQ 73,80 VALIDATE INPUT FILE SEQUENCING @V200820 00002000
  3. *. 00003000
  4. * MODULE NAME - 00004000
  5. * 00005000
  6. * DMSNCP 00006000
  7. * 00007000
  8. * FUNCTION - 00008000
  9. * 00009000
  10. * TO READ A 3705 CONTROL PROGRAM MODULE (EMULATOR PROGRAM OR 00010000
  11. * NETWORK CONTROL PROGRAM) IN OS LOAD MODULE FORMAT AND 00011000
  12. * WRITE A PAGE-FORMAT CORE IMAGE COPY ON VM/370 SYSTEM VOLUME. 00012000
  13. * 00013000
  14. * ATTRIBUTES - 00014000
  15. * 00015000
  16. * SERIALLY RE-USABLE, EXECUTES IN CMS USER AREA. 00016000
  17. * 00017000
  18. * ENTRY CONDITIONS - 00018000
  19. * 00019000
  20. * R1 POINTS TO A STANDARD PARAMETER LIST. 00020000
  21. * 00021000
  22. * COMMAND FORMAT: SAVENCP FNAME < (OPTION... <)> > 00022000
  23. * 00023000
  24. * OPTIONS: 00024000
  25. * 00025000
  26. * ENTRY EEEEEEEE 00026000
  27. * LIBE LLLLLLLL 00027000
  28. * NAME NNNNNNNN 00028000
  29. * CAMOD X 00029000
  30. * 00030000
  31. * EEEEEEEE DEFINES THE 370X CONTROL PROGRAM'S SYMBOLIC 00031000
  32. * ENTRY POINT. THE DEFAULT VALUE IS 'CXFINIT'. 00032000
  33. * 00033000
  34. * LLLLLLLL DEFINES THE FILE NAME OF THE OS-FORMAT LOAD 00034000
  35. * LIBRARY CONTAINING THE 370X CONTROL PROGRAM MODULE. 00035000
  36. * THE FILE TYPE OF THIS LIBRARY MUST BE 'LOADLIB'. 00036000
  37. * THE DEFAULT LIBRARY NAME IS FNAME. 00037000
  38. * 00038000
  39. * NNNNNNNN SPECIFIEDS THE CONTROL PROGRAM NAME TO BE USED 00039000
  40. * WHEN THE DIAGNOSE PARAMETER LIST (CCPARM) IS BUILT. 00040000
  41. * THIS NAME MUST AGREE WITH THE 'CPNAME' PARAMETER 00041000
  42. * SPECIFIED FOR A NAMENCP MACRO CODED IN MODULE DMKSNT 00042000
  43. * DURING VM/370 SYSTEM GENERATION. 00043000
  44. * 00044000
  45. * X SPECIFIES THE CHANNEL VECTOR TABLE TO BE USED. 00045000
  46. * ACCEPTABLE VALUES FOR X ARE 0 OR 1. THESE VALUES 00046000
  47. * CORRESPOND TO THE ADAPTER IDENTIFICATION WHICH WAS 00047000
  48. * USED ON THE 'ADDRESS' PARAMETER OF THE 'LINE' 00048000
  49. * MACRO IN THE STAGE I GEN FOR AN EP. OMISSION 00049000
  50. * OF THE CAMOD OPTION CAUSES A SEARCH FOR THE TYPE1 00050000
  51. * CHVT (CYACHVT). CAMOD 0 CAUSES A SEARCH FOR THE 00051000
  52. * FIRST TYPE4 CHVT (CYECHVT1). CAMOD 1 CAUSES A 00052000
  53. * SEARCH FOR THE SECOND TYPE4 CHVT (CYECHVT2). 00053000
  54. * 00054000
  55. * EXIT CONDITIONS - 00055000
  56. * 00056000
  57. * GPR 15 = 0 SUCCESSFUL COMPLETION 00057000
  58. * GPR 15 > 0 ERRORS (SEE MESSAGE SECTION) 00058000
  59. * 00059000
  60. * CALLS TO OTHER ROUTINES - 00060000
  61. * 00061000
  62. * DMKSNC VIA DIAGNOSE. 00062000
  63. * 00063000
  64. * EXTERNAL REFERENCES - 00064000
  65. * 00065000
  66. * NONE 00066000
  67. * 00067000
  68. * TABLE/WORKAREAS - 00068000
  69. * 00069000
  70. * CCPARM - COMMUNICATIONS AREA USED WITH DIAGNOSE, CREATED 00070000
  71. * IN GOTTEN STORAGE. 00071000
  72. * 00072000
  73. * NOTES - 00073000
  74. * 00074000
  75. * THIS MODULE REQUIRES FOR ASSEMBLY THE FOLLOWING MACRO 00075000
  76. * LIBRARIES: CMSLIB DMKMAC OSMACRO NCPMAC01 NCPMAC02. 00076000
  77. * THE LAST TWO NAMED ARE GENERATED BY THE INSTALLATION OF 00077000
  78. * THE NCP/VS DISTRIBUTION TAPE. 00078000
  79. * 00079000
  80. * REGISTER USAGE - 00080000
  81. * 00081000
  82. * R0,R1 = WORK/PARAMETER REGISTERS. 00082000
  83. * R2 = WORK REGISTER, POINTER TO INPUT RECORD. 00083000
  84. * R3 = WORK REGISTER, LENGTH OF INPUT RECORD. 00084000
  85. * R4,R5,R6 = WORK REGISTERS. 00085000
  86. * R10 = ADDRESS OF INPUT FILE DCB DURING READ, 00086000
  87. * THEN ADDRESS OF CONTROL PROGRAM CORE IMAGE. 00087000
  88. * R11 = ADDRESS OF CCPARM PARAMETER LIST. 00088000
  89. * R12 = BASE REGISTER. 00089000
  90. * R13 = SAVE AREA ADDRESS. 00090000
  91. * R14 = LINK REGISTER. 00091000
  92. * R15 = WORK/LINK REGISTER. 00092000
  93. * 00093000
  94. * OPERATION - 00094000
  95. * 00095000
  96. * A GETMAIN IS ISSUED FOR MAXIMUM POSSIBLE CORE IMAGE 00096000
  97. * BUFFER, BUT ANYTHING OVER THREE PAGES IS ACCEPTED. 00097000
  98. * A BUFFER FOR INPUT LOAD MODULE RECORDS IS RESERVED AT 00098000
  99. * THE BEGINING OF THIS AREA, THEN THE NEXT EVEN PAGE BOUNDARY 00099000
  100. * IS COMPUTED - THIS IS THE ORIGIN OF THE 370X CONTROL 00100000
  101. * PROGRAM CORE IMAGE WHICH WILL BE GENERATED. 00101000
  102. * 00102000
  103. * THE PARAMETER LIST IS THEN PROCESSED TO EXTRACT OPTION 00103000
  104. * VALUES AND IDENTIFICATION OF INPUT FILE. IF ANY 00104000
  105. * IRREGULARITIES IN THE COMMAND ARE FOUND, A MESSAGE 00105000
  106. * IS TYPED AND PROGRAM EXITS WITH AN APPROPRIATE 00106000
  107. * ERROR CODE. OTHERWISE, A FILEDEF WITH DDNAME 'DMSNCP1' 00107000
  108. * IS ISSUED FOR THE INPUT DATASET. 00108000
  109. * 00109000
  110. * THE INPUT FILE IS THEN OPENED, AND A FIND PERFORMED FOR 00110000
  111. * THE REQUIRED INPUT MEMBER. RECORDS ARE READ, 00111000
  112. * CLASSIFIED ACCORDING TO TYPE (CESD, CONTROL OR TEXT) 00112000
  113. * AND PROCESSED. CESD RECORDS ARE USED TO RESOLVE 00113000
  114. * THE SYMBOLICALLY SPECIFIED ENTRY POINT 00114000
  115. * AND CHANNEL VECTOR TABLE. CONTROL RECORDS 00115000
  116. * GOVERN THE READING OF SUBSEQUENT TEXT RECORDS. TEXT 00116000
  117. * RECORDS ARE MOVED FROM THE INPUT BUFFER INTO THE 00117000
  118. * PROPER SPOT IN THE CORE IMAGE BEING CREATED. 00118000
  119. * 00119000
  120. * AFTER THE LAST TEXT RECORD IS READ, THE INPUT FILE 00120000
  121. * IS CLOSED AND ANY REMAINING UNUSED 00121000
  122. * PORTION OF THE GOTTEN CORE IMAGE BUFFER IS RELEASED. 00122000
  123. * THE TYPE OF CONTROL PROGRAM CORE IMAGE IS DETERMINED, 00123000
  124. * AND THE SIZE OF THE REQUIRED COMMUNICATIONS CONTROLLER 00124000
  125. * PARAMETER LIST COMPUTED. THIS AMOUNT OF STORAGE (WITH 00125000
  126. * SUFFICIENT ADDITIONAL BYTES TO ALLOW ALIGNMENT ON A PAGE 00126000
  127. * BOUNDARY) IS GOTTEN. 00127000
  128. * 00128000
  129. * FINALLY, THE CCPARM LIST IS FILLED IN BY EXAMINING THE 00129000
  130. * 370X CONTROL PROGRAM CORE IMAGE, AND, IF IT IS A NETWORK 00130000
  131. * CONTROL PROGRAM, ATTRIBUTES REQUIRED FOR USE BY VM/370 00131000
  132. * ARE VERIFIED. IF INCORRECT, A WARNING MESSAGE IS TYPED 00132000
  133. * AND RETURN CODE ESTABLISHED, BUT PROCESSING CONTINUES. 00133000
  134. * A DIAGNOSE IS ISSUED TO INVOKE DMKSNC FOR COPYING 00134000
  135. * THE PARAMETER LIST AND CORE IMAGE ONTO A VM SYSTEM VOLUME 00135000
  136. * IN PAGE FORMAT. 00136000
  137. * 00137000
  138. * FINALLY, EXIT PROCESSING FREES ANY GOTTEN STORAGE AREAS 00138000
  139. * AND RETURNS TO CALLING PROGRAM. 00139000
  140. * 00140000
  141. * ERROR MESSAGES - 00141000
  142. * 00142000
  143. * DMSNCP001E NO FILENAME SPECIFIED 00143000
  144. * RETURN CODE = 24 00144000
  145. * 00145000
  146. * DMSNCP003E INVALID OPTION - 'OPTION' 00146000
  147. * RETURN CODE = 24 00147000
  148. * 00148000
  149. * DMSNCP002E FILE 'FNAME FTYPE FMODE' NOT FOUND 00149000
  150. * RETURN CODE = 28 00150000
  151. * 00151000
  152. * DMSNCP013E MEMBER 'NAME' NOT FOUND IN LIBRARY 'FNAME FTYPE' 00152000
  153. * RETURN CODE = 4 00153000
  154. * 00154000
  155. * DMSNCP021E ENTRY POINT 'SYMBOL' NOT FOUND 00155000
  156. * RETURN CODE = 40 00156000
  157. * 00157000
  158. * DMSNCP025E INVALID DATA IN 370X CONTROL PROGRAM 00158000
  159. * RETURN CODE = 16 00159000
  160. * 00160000
  161. * DMSNCP045E UNSUPPORTED 370X CONTROL PROGRAM TYPE 00161000
  162. * RETURN CODE = 16 00162000
  163. * 00163000
  164. * DMSNCP056E FILE 'FNAME FTYPE' CONTAINS INVALID RECORD FORMATS 00164000
  165. * RETURN CODE = 32 00165000
  166. * 00166000
  167. * DMSNCP109S VIRTUAL STORAGE CAPACITY EXCEEDED 00167000
  168. * RETURN CODE = 104 00168000
  169. * 00169000
  170. * DMSNCP099W GENERATION PARAMETERS INCOMPATIBLE WITH VM/370 00170000
  171. * RETURN CODE = 99 00171000
  172. *. 00172000
  173. EJECT 00173000
  174. MACRO 00174000
  175. DVT &CODE,&VALUE 00175000
  176. .* DEFINE TRANSLATE TABLE ENTRY FOR ARGUMENT VALUE OF &CODE. 00176000
  177. .* TABLE ENTRY WILL HAVE VALUE &VALUE. ANY TABLE ENTRIES NOT 00177000
  178. .* EXPLICITLY DEFINED WILL HAVE VALUE ZERO. 00178000
  179. .* 00179000
  180. GBLC &OLDVAL 00180000
  181. AIF ('&OLDVAL' NE '').NOT1 BRANCH IF NOT FIRST TIME. 00181000
  182. &OLDVAL SETC '0' INITIALIZE GLOBAL VARIABLE. 00182000
  183. AGO .ADMIN 00183000
  184. .NOT1 ANOP 00184000
  185. &OLDVAL SETC '&OLDVAL'.'-1' ADJUST FOR FILL LENGTH 00185000
  186. .ADMIN ANOP 00186000
  187. DC (&CODE-&OLDVAL)X'00',AL1(&VALUE) 00187000
  188. &OLDVAL SETC '&CODE' 00188000
  189. AIF ('&OLDVAL' NE '255').EXIT 00189000
  190. &OLDVAL SETC '' RESET GLOBAL VARIABLE TO PERMIT 00190000
  191. .* STARTING A NEW TABLE. 00191000
  192. .EXIT ANOP 00192000
  193. MEND 00193000
  194. SPACE 2 00194000
  195. MACRO 00195000
  196. &DUM1 EQUR &DUM2 DUMMY MACRO FOR 370X DSECTS 00196000
  197. MEND 00197000
  198. EJECT 00198000
  199. DMSNCP CSECT 00199000
  200. ENTRY SAVENCP @V200820 00200000
  201. USING NUCON,0 @V200820 00201000
  202. SPACE 2 00202000
  203. NOT EQU X'FF' FOR NI INSTRUCTION @VA08846 00202100
  204. NCPLEVEL EQU X'F0' NCP LEVEL OF MODULE @VA08846 00202200
  205. CCPPEPB EQU X'0B' PEP(NEW BASE) MODULE TYPE @VA08846 00202300
  206. CCPDIAG EQU X'0050' DIAGNOSE CODE FOR WRITING 370X CORE 00203000
  207. * IMAGE ON VM/370 SYSTEM VOLUME. 00204000
  208. SAVENCP STM R14,R12,12(R13) STANDARD SAVE PROCEDURES. @V200820 00205000
  209. LR R12,R15 @V200820 00206000
  210. USING SAVENCP,R12 @V200820 00207000
  211. LA R2,SAVE @V200820 00208000
  212. ST R13,SAVE+4 HSA LINK. @V200820 00209000
  213. ST R2,8(R13) LSA LINK. @V200820 00210000
  214. LR R13,R2 @V200820 00211000
  215. SPACE 00212000
  216. MVI ENTRYADR,X'FF' SHOW ENTRY POINT NOT RESOLVE@V200820 00213000
  217. MVI CHVTADR,X'FF' ...AND CHANNEL VECTOR TABLE @V200820 00214000
  218. MVI LASTIND,0 INITIALIZE LAST TEXT RECORD FLAG@V200820 00215000
  219. * PROCESS PARAMETER LIST. @V200820 00216000
  220. LA R2,8(0,R1) R2 = PARAMETER ADDRESS. @V200820 00217000
  221. * INITIALIZE DEFAULT VALUES. @V200820 00218000
  222. MVC CPNAME,0(R2) @V200820 00219000
  223. MVC LIBNAME,0(R2) @V200820 00220000
  224. CLI 0(R2),X'FF' BRANCH IF REQUIRED PARAMETER @V200820 00221000
  225. BE ERR1 IS NOT PRESENT @V200820 00222000
  226. MVC FILENAME,0(R2) KEEP MEMBER NAME FOR FIND. @V200820 00223000
  227. CLI 8(R2),X'FF' BRANCH IF END OF PARM LIST. @V200820 00224000
  228. BE DOSTATE NO PARMS, BR. @V366838 00225000
  229. CLI 8(R2),C'(' BRANCH IF OPTION LIST DOESN'T@V200820 00226000
  230. BNE ERR3 START HERE. @V200820 00227000
  231. LA R2,16(0,R2) MOVE POINTER TO FIRST OPTION.@V200820 00228000
  232. SPACE 00229000
  233. OPTLOOP CLI 0(R2),X'FF' BRANCH IF END OF PARM LIST. @V200820 00230000
  234. BE ENDPARMS @V200820 00231000
  235. LA R3,OPTABLE R3 = START OF OPTION TABLE @V200820 00232000
  236. LA R4,12(0,0) R4 = LENGTH OF EACH TABLE ENTRY @V200820 00233000
  237. LA R5,OPTABND R5 = LAST ENTRY IN THE TABLE @V200820 00234000
  238. TESTOPT EQU * @V200820 00235000
  239. CLC 0(8,R3),0(R2) IS THIS THE OPTION ? @V200820 00236000
  240. BE FOUNDOPT YES -- @V200820 00237000
  241. BXLE R3,R4,TESTOPT SCAN . . . @V200820 00238000
  242. CLI 0(R2),C')' END OF PARMS? @V366838 00239000
  243. BE ENDPARMS YES, GO PROCESS WHAT WE HAVE @V366838 00240000
  244. B ERR3 NOPE, GARBAGE IN, GARBAGE OUT @V366838 00241000
  245. SPACE 2 00242000
  246. OPTABLE DS 0F OPTION TABLE FOR PARAMETER SCAN @V200820 00243000
  247. DC C'LIBE ',A(LIBNAME) @V200820 00244000
  248. DC C'NAME ',A(CPNAME) @V200820 00245000
  249. DC C'CAMOD ',A(CAMOD) @V366838 00246000
  250. OPTABND DC C'ENTRY ',A(ENTRYNAM) @V200820 00247000
  251. OPTABLN EQU *-OPTABND @V200820 00248000
  252. EJECT 00249000
  253. FOUNDOPT L R6,8(0,R3) R6 = ADDRESS OF DATA FIELD. @V200820 00250000
  254. CLI 8(R2),X'FF' BRANCH IF OPTION NOT SPECIFIE@V200820 00251000
  255. BE ENDPARMS (USE DEFAULT VALUE.) @V200820 00252000
  256. SPACE 00253000
  257. MVC 0(8,R6),8(R2) MOVE OPTION VALUE. @V200820 00254000
  258. LA R2,16(0,R2) INCREMENT FOR NEXT OPTION. @V200820 00255000
  259. B OPTLOOP @V200820 00256000
  260. SPACE 2 00257000
  261. ENDPARMS EQU * END OF PARAMETER SCAN @V200820 00258000
  262. CLI CAMOD,X'FF' WAS 'CAMOD' OPTION SPECIFIED? @V366838 00259000
  263. BE DOSTATE NOPE, BR. @V366838 00260000
  264. CLC CAMOD(4),=CL4'0' FIRST ADAPTER SPECIFIED? @V366838 00261000
  265. BNE TRYONE NOPE, BR @V366838 00262000
  266. MVC CHVTNAME(8),=C'CYECHVT1' 1ST ADAPTER CHVT NAME @V366838 00263000
  267. B DOSTATE CONTINUE @V366838 00264000
  268. TRYONE CLC CAMOD(4),=CL4'1' SECOND ADAPTER SPECIFIED? @V366838 00265000
  269. BNE ERR3A NOPE, GARBAGE IN, GARBAGE OUT @V366838 00266000
  270. MVC CHVTNAME(8),=C'CYECHVT2' 2ND ADAPTER CHVT NAME @V366838 00267000
  271. SPACE 00268000
  272. DOSTATE EQU * @V366838 00269000
  273. LA R2,LIBNAME CHECK IF INPUT FILE EXISTS. @V200820 00270000
  274. FSSTATE (R2),ERROR=ERR2 @V200820 00271000
  275. MVC FILEMODE(2),FSTFMODE-FSTD(R1) MODE FOR MSGS @V200820 00272000
  276. LA R1,FILEDEF ISSUE FILEDEF FOR INPUT FILE.@V200820 00273000
  277. SVC X'CA' @V200820 00274000
  278. DC AL4(*+4) @V200820 00275000
  279. EJECT 00276000
  280. * OPEN THE INPUT DATASET AND FIND THE SPECIFIED MEMBER. @V200820 00277000
  281. OPEN (INDCB,(INPUT)) @V200820 00278000
  282. FIND INDCB,FILENAME,D @V200820 00279000
  283. LTR R15,R15 WAS THE MEMBER FOUND ? @V200820 00280000
  284. BNZ ERR13 NO -- ERROR MESSAGE @V200820 00281000
  285. SPACE 00282000
  286. * READ RECORDS FROM LOAD MODULE FILE. @V200820 00283000
  287. READ1 EQU * READ FROM THE LOADLIB FILE @V200820 00284000
  288. LA R10,INDCB POINT TO THE INPUT DCB @V200820 00285000
  289. USING IHADCB,R10 . . . @V200820 00286000
  290. READ INDECB,SF,,READBUF,MF=E READ AN INPUT RECORD. @V200820 00287000
  291. CHECK INDECB @V200820 00288000
  292. L R1,INDECB+16 R1 = ADDRESS OF IOB. @V200820 00289000
  293. LH R3,DCBBLKSI COMPUTE LENGHT OF BLOCK READ,@V200820 00290000
  294. SH R3,14(0,R1) = BLOCK SIZE - CSW RESIDUAL C@V200820 00291000
  295. SPACE 00292000
  296. * DETERMINE TYPE OF LOAD MODULE RECORD AND PROCESS. 00293000
  297. CLI READBUF,X'20' BRANCH IF CESD RECORD. @V200820 00294000
  298. BE CESD @V200820 00295000
  299. TM READBUF,X'F0' BRANCH IF INFREQUENT TYPE. @V200820 00296000
  300. BNZ READ1 @V200820 00297000
  301. TM READBUF,X'01' BRANCH IF CONTROL RECORD. @V200820 00298000
  302. BO CONTROL @V200820 00299000
  303. TM READBUF,X'0C' LAST RECORD IN THE FILE ? @V200820 00300000
  304. BO CLOSE YES - ALL DONE HERE @V200820 00301000
  305. B READ1 MUST BE RLD RECORD -- IGNORE @V200820 00302000
  306. EJECT 00303000
  307. CONTROL CLI ENTRYADR,X'00' BRANCH IF ENTRY NOT RESOLVED@V200820 00304000
  308. BNE ERR21 NOPE - STOP NOW @V200820 00305000
  309. TM READBUF,X'0C' BRANCH IF NOT LAST RECORD. @V200820 00306000
  310. BZ NOTLAST @V200820 00307000
  311. MVI LASTIND,1 SET LAST RECORD INDICATOR. @V200820 00308000
  312. NOTLAST LH R3,READBUF+14 R3 = LENGTH OF TEXT RECORD @V200820 00309000
  313. L R5,READBUF+8 R5 = LOAD ADDRESS OF FOLLOWIN@V200820 00310000
  314. LA R5,0(0,R5) TEXT RECORD. @V200820 00311000
  315. READ INDECB,SF,,READBUF,MF=E READ NEXT (TEXT) RECORD@V200820 00312000
  316. CHECK INDECB @V200820 00313000
  317. L R15,INDECB+16 R15 = ADDRESS OF IOB. @V200820 00314000
  318. LH R1,DCBBLKSI COMPUTE SIZE OF BLOCK READ. @V200820 00315000
  319. SH R1,14(0,R15) @V200820 00316000
  320. SPACE 00317000
  321. CR R3,R1 BRANCH IF CONTROL RECORD DISA@V200820 00318000
  322. BNE ERR66 WITH TEXT RECORD REGARDING LE@V200820 00319000
  323. * OF TEXT. @V200820 00320000
  324. * R5 = 3705 LOAD ADDRESS CORRESPONDING 00321000
  325. * TO TEXT POINTED TO BY R2. 00322000
  326. L R4,LOADADR COMPUTE STARTING ADDRESS IN @V200820 00323000
  327. AR R4,R5 STORAGE OF THIS TEXT RECORD. @V200820 00324000
  328. LR R0,R4 TEST WHETHER THIS TEXT RECORD@V200820 00325000
  329. AR R0,R3 EXCEEDS GOTTEN STORAGE. @V200820 00326000
  330. CL R0,FREELOWE CHECK AGAINST CMS EXTEND LIMIT @V200820 00327000
  331. BNL ERR109 BRANCH IF STORAGE EXHAUSTED. @V200820 00328000
  332. CL R0,HIGHADR CHECK FOR THE HIGHEST LOAD SO FAR@V200820 00329000
  333. BNH *+8 NO -- @V200820 00330000
  334. ST R0,HIGHADR KEEP TRACK OF HIGHEST ADDRESS @V200820 00331000
  335. LR R5,R3 R5 = LENGTH OF MOVE. @V200820 00332000
  336. LA R2,READBUF R2 = START OF TEXT DATA @V200820 00333000
  337. MVCL R4,R2 TEXT FROM INPUT BUFFER INTO @V200820 00334000
  338. * PROPER SPOT IN CORE IMAGE BUF@V200820 00335000
  339. CLI LASTIND,0 BRANCH IF LAST TEXT RECORD @V200820 00336000
  340. BNE CLOSE LOADED. @V200820 00337000
  341. B READ1 LOOP FOR NEXT INPUT RECORD. @V200820 00338000
  342. EJECT 00339000
  343. CESD EQU * @V200820 00340000
  344. LH R3,READBUF+6 R3 = COUNT OF ESD DATA BYTES.@V200820 00341000
  345. LA R2,READBUF+8 R2 = PTR TO CURRENT ESD ITEM.@V200820 00342000
  346. SRL R3,4 R3 = NUMBER OF ESD DATA ITEMS@V200820 00343000
  347. * (16 BYTES PER ITEM). @V200820 00344000
  348. CESDL MVC CESDBUFF(16),0(R2) @V200820 00345000
  349. CLC CESDBUFF(8),=CL8' ' IGNORE BLANK NAME @V200820 00346000
  350. BE CESDNEXT @V200820 00347000
  351. CLC CESDBUFF(8),=XL8'00' IGNORE NULL NAME @V200820 00348000
  352. BE CESDNEXT @V200820 00349000
  353. TM CESDBUFF+8,X'0C' IGNORE ALL TYPES BUT LABEL @V200820 00350000
  354. BNZ CESDNEXT REFERENCE AND SECTION @V200820 00351000
  355. TM CESDBUFF+8,X'03' DEFINITIONS. @V200820 00352000
  356. BM CESDNEXT @V200820 00353000
  357. SPACE 00354000
  358. CESDENT CLC ENTRYNAM(8),CESDBUFF IS THIS ENTRY POINT ? @V200820 00355000
  359. BNE CESDCHVT NO. @V200820 00356000
  360. MVC ENTRYADR+1(3),CESDBUFF+9 SAVE ENTRY POINT ADDR.@V200820 00357000
  361. MVI ENTRYADR,0 CLEAR HIGH-ORDER BYTE. @V200820 00358000
  362. B CESDNEXT @V200820 00359000
  363. SPACE 00360000
  364. CESDCHVT CLC CHVTNAME(8),=C'CYACHVT ' IS CH VEC TAB=CA TYPE1 @V366838 00361000
  365. BNE CESDCHV2 NOPE, BR. @V366838 00362000
  366. CLC CESDBUFF(8),=C'CYECHVT1' EVIDENCE OF CA TYPE4? @V366838 00363000
  367. BE ERR25 YES, THAT'S BAD NEWS. @V366838 00364000
  368. CESDCHV2 CLC CHVTNAME(8),CESDBUFF FIND CHAN VECT TABLE? @V366838 00365000
  369. BNE CESDNEXT NO -- @V200820 00366000
  370. MVC CHVTADR+1(3),CESDBUFF+9 MOVE IN RESOLVED ADDR @V200820 00367000
  371. MVI CHVTADR,0 CLEAR HIGH-ORDER BYTE @V200820 00368000
  372. SPACE 00369000
  373. CESDNEXT EQU * ADVANCE TO NEXT CESD ITEM @V200820 00370000
  374. LA R2,16(0,R2) . . . @V200820 00371000
  375. BCT R3,CESDL LOOP FOR ITEMS IN RECORD. @V200820 00372000
  376. B READ1 THEN GO FOR NEXT INPUT RECORD@V200820 00373000
  377. SPACE 00374000
  378. CLOSE CLOSE (INDCB) CORE IMAGE HAS BEEN LOADED @V200820 00375000
  379. DROP R10 @V200820 00376000
  380. EJECT 00377000
  381. L R11,PARMADR ADDRESS OF PARAMETER BLOCK @V200820 00378000
  382. L R10,LOADADR START OF CONTROL PROGRAM IMAGE @V200820 00379000
  383. USING COREIMG,R10 @V200820 00380000
  384. USING CCPARM,R11 @V200820 00381000
  385. XC CCPARM(CCPRESID-CCPARM),CCPARM CLEAR HEADER @V200820 00382000
  386. SPACE 00383000
  387. L R1,HIGHADR HIGHEST ADDRESS FROM THE LOAD @V200820 00384000
  388. SR R1,R10 COMPUTE SIZE OF THE CORE IMAGE @V200820 00385000
  389. BNP ERR66 INVALID FORMAT IF NO TEXT DATA @V200820 00386000
  390. ST R1,CCPSIZE SET IN CCPARM FOR DMKSNC @V200820 00387000
  391. ST R10,CCPADDR SET ORIGIN OF CONTROL PROGRAM @V200820 00388000
  392. L R1,ENTRYADR ENTRY POINT ADDRESS @V200820 00389000
  393. ST R1,CCPENTRY . . . @V200820 00390000
  394. MVC CCPNAME(8),CPNAME NCPNAME TO CCPARM BLOCK @V200820 00391000
  395. L R1,UTILSTSZ+CXTXDA 370X SYSGEN STORAGE SIZE @V200820 00392000
  396. ST R1,CCPSTOR . . . @V200820 00393000
  397. SPACE 00394000
  398. IC R1,SYSFLG1+CXTXDB 370X CONTROL PROGRAM TYPE @V200820 00395000
  399. STC R1,CCPTYPE . . . @V200820 00396000
  400. NI CCPTYPE,NOT-NCPLEVEL MASK OUT NCP LEVEL @VA08846 00396500
  401. CLI CCPTYPE,CCPTPEP PARTITIONED EMULATION PGM ? @V200820 00397000
  402. BE SCANCEP YES -- SCAN THE CHVT FIRST @V200820 00398000
  403. CLI CCPTYPE,CCPTNCP NETWORK CONTROL PROGRAM ? @V200820 00399000
  404. BE SCANNCP YES -- SCAN RESOURCE TABLE @V200820 00400000
  405. CLI CCPTYPE,CCPTEP 270X EMULATION PROGRAM ? @V200820 00401000
  406. BE SCANCEP BRANCH IF YES @VA06393 00402000
  407. LA R1,CCPTEP EP TYPE @VA08846 00403200
  408. CLI CCPTYPE,CCPTEP4 EP NEW BASE @VA08846 00403400
  409. BE GOODTYPE YES , OK @VA08846 00403600
  410. LA R1,CCPTPEP PEP TYPE @VA08846 00403800
  411. CLI CCPTYPE,CCPPEPB PEP NEW BASE @VA08846 00404000
  412. BNE ERR45 NO, UNSUPPORTED @VA08846 00404200
  413. GOODTYPE EQU * SET TYPE FOR DIAGNOSE @VA08846 00404400
  414. STC R1,CCPTYPE SAVE MODULE TYPE @VA08846 00404600
  415. SCANCEP EQU * EXTRACT INFORMATION FROM EMULATOR@V200820 00406000
  416. CLI CHVTADR,X'00' CHANNEL VECTOR TABLE FOUND ? @V200820 00407000
  417. BNE ERR25 NO -- INVALID PROGRAM IMAGE DATA @VA04472 00408000
  418. MVI CCPCAONE,CCPTYPE1 EMULATOR REQUIRES TYPE 1 CA @V200820 00409000
  419. L R9,CHVTADR ADDRESS OF CHANNEL VECTOR TABLE @V200820 00410000
  420. ALR R9,R10 ADJUST FOR EMULATOR ORIGIN @V200820 00411000
  421. SLR R1,R1 @V200820 00412000
  422. IC R1,0(0,R9) LOWEST DEFINED LINE ADDRESS @V200820 00413000
  423. SLR R3,R3 @V200820 00414000
  424. IC R3,1(0,R9) HIGHEST DEFINED LINE ADDRESS @V200820 00415000
  425. SR R3,R1 R3 = NUMBER OF LINES MINUS ONE @V200820 00416000
  426. SLL R3,1(0) ONE HALFWORD PER LINE IN CHVT @V200820 00417000
  427. LA R3,2(R3,R9) R3 = LAST VALID CHVT ENTRY @V200820 00418000
  428. LA R2,2(0,0) CHVT ENTRY INCREMENT @V200820 00419000
  429. LA R9,2(0,R9) FIRST ENTRY @V200820 00420000
  430. LA R5,CCPRESID START OF CONTROL INFORMATION @V200820 00421000
  431. USING CCPRESID,R5 @V200820 00422000
  432. CEPCHVT EQU * SCAN THE CHANNEL VECTOR TABLE @V200820 00423000
  433. TM 1(R9),X'01' DUMMY ENTRY IN THE CHVT ? @V200820 00424000
  434. BZ CEPCHVR NO, REAL ENTRY, PROCESS ACORDN'LY@V366838 00425000
  435. LH R4,0(R9) GET ADDR OF USCCB @V366838 00426000
  436. N R4,=X'0000FFFF' LOAD LOGICAL HALF @V366838 00427000
  437. ALR R4,R10 ADDR OF USCCB @V366838 00428000
  438. TM 13-1(R4),X'01' MSLA SUBCHANNEL ADDRESS? @V366838 00429000
  439. BZ CEPCHVS NOPE, DUMMY, BR. @V366838 00430000
  440. CEPCHVR EQU * @V366838 00431000
  441. MVI CCPRSTYP,NICLINE CALL IT A LINE @V200820 00432000
  442. MVI CCPRSTAT,NICEPMD EP-MODE, NOT SWITCHABLE @V200820 00433000
  443. STH R1,CCPRSTEP SAVE THE SUBCHANNEL ADDRESS @V200820 00434000
  444. LA R5,4(0,R5) NEXT CONTROL INFORMATION SLOT @V200820 00435000
  445. CEPCHVS EQU * @V200820 00436000
  446. LA R1,1(0,R1) NEXT SUBCHANNEL ADDRESS @V200820 00437000
  447. BXLE R9,R2,CEPCHVT SCAN THE ENTIRE TABLE @V200820 00438000
  448. SLR R5,R11 COMPUTE SIZE OF THE CCPARM BLOCK @V200820 00439000
  449. ST R5,CCPPSIZE . . . @V200820 00440000
  450. CLI CCPTYPE,CCPTPEP PARTITIONED EMULATOR ? @V200820 00441000
  451. BE SCANNCP YES - SCAN THE RESOURCE TABL@V200820 00442000
  452. B SAVECCP SAVE THE PROGRAM IMAGE FOR CP @V200820 00443000
  453. DROP R5 @V200820 00444000
  454. EJECT 00445000
  455. SCANNCP EQU * EXTRACT INFO FROM RESOURCE TABLE @V200820 00446000
  456. L R9,SYSRVTAD+CXTXDA START OF RESOURCE VECTOR TAB@V200820 00447000
  457. ALR R9,R10 CORRECT FOR NCP LOAD ADDRESS.@V200820 00448000
  458. LH R5,0(0,R9) R5 = MAXIMUM RESOURCE I.D. @V200820 00449000
  459. STH R5,CCPMAXID . . . @V200820 00450000
  460. CH R5,=H'4086' DO WE HAVE ENOUGH STORAGE ? @V200820 00451000
  461. BNL ERR25 NO -- THAT IS AN INVALID NUMBER @VA04472 00452000
  462. SLL R5,2(0) FOUR BYTES PER ENTRY @V200820 00453000
  463. LA R9,2(0,R9) POINT TO FIRST RVT ENTRY @V200820 00454000
  464. ALR R5,R9 R5 = LAST RVT ENTRY @V200820 00455000
  465. LA R4,4(0,0) R4 = INCREMENT FOR TABLE SCAN @V200820 00456000
  466. CLI 0(R9),X'00' FIRST RESOURCE MUST BE THE 370X @V200820 00457000
  467. BNE ERR25 NO -- INVALID CONTROL PROGRAM @VA04472 00458000
  468. SLR R0,R0 CONVENIENT CONSTANT @V200820 00459000
  469. LA R3,CCPRESID START OF RESOURCE INFO TABLE @V200820 00460000
  470. CLI CCPTYPE,CCPTPEP PARTITIONED EMULATOR ? @V200820 00461000
  471. BNE SCANRVT NO -- JUST AN NCP @V200820 00462000
  472. L R3,CCPPSIZE PICK UP WHERE CHVT LEFT OFF @V200820 00463000
  473. ALR R3,11 READJUST FOR CCPARM BASE @V200820 00464000
  474. SPACE 00465000
  475. USING CCPRESID,R3 @V200820 00466000
  476. USING XXCXTRVT,R9 NCP RESOURCE VECTOR TABLE @V200820 00467000
  477. SCANRVT EQU * SCAN THE RESOURCE VECTOR TABLE @V200820 00468000
  478. MVC CCPRSTYP(1),RVTTYPE MOVE TYPE CODE TO CCPARM @V200820 00469000
  479. * LEAVE ON ONLY THOSE BITS DEFINED FOR VM/370 @V200820 00470000
  480. NI CCPRSTYP,NICLINE+NICTERM+NICLGRP @V200820 00471000
  481. SPACE 00472000
  482. CLI RVTTYPE,NICCTLR 370X ENTRY ? @V200820 00473000
  483. BE SCANCTL YES -- @V200820 00474000
  484. TM RVTTYPE,NICLGRP LINE GROUP RESOURCE ? @V200820 00475000
  485. BZ SCANLIN NO -- CHECK FOR LINE ENTRY @V200820 00476000
  486. SCANCTL EQU * @V200820 00477000
  487. MVI CCPRSTAT,NICDISA NORMALLY NOT REFERENCED @V200820 00478000
  488. STH R0,CCPRSTEP NO EMULATOR SUBCHANNEL ADDR @V200820 00479000
  489. B SCANEXT @V200820 00480000
  490. EJECT 00481000
  491. SCANLIN EQU * @V200820 00482000
  492. TM RVTTYPE,NICLINE IS THIS A T.P. LINE ? @V200820 00483000
  493. BZ SCANDEV NO -- @V200820 00484000
  494. L R8,RVTRP POINTER TO THE LINE CONTROL BLOCK@V200820 00485000
  495. LA R8,0(R8,R10) CLEAR HIGH BYTE, ADJUST ORIGIN @V200820 00486000
  496. USING XXCXTLCB,R8 @V200820 00487000
  497. TM LCBTYPEC,LCBTSDLM SYNCH. DATA LINK CONTROL ? @V200820 00488000
  498. BZ *+8 NO -- @V200820 00489000
  499. OI CCPRSTYP,NICSDLC LINE CONTROL = SDLC @V200820 00490000
  500. TM LCBTYPEC,LCBTBSCM BINARY SYNCH. CONTROL ? @V200820 00491000
  501. BZ *+8 NO -- @V200820 00492000
  502. OI CCPRSTYP,NICLBSC LINE CONTROL = BSC @V200820 00493000
  503. TM LCBTYPEC,LCBTMPTM MULTI-POINT LINE ? @V200820 00494000
  504. BZ *+8 NO -- @V200820 00495000
  505. OI CCPRSTYP,NICMLTP ... @V200820 00496000
  506. TM LCBTYPEC,LCBTSWM SWITCHED LINE ? @V200820 00497000
  507. BZ *+8 NO -- @V200820 00498000
  508. OI CCPRSTYP,NICSWCH ... @V200820 00499000
  509. SPACE 00500000
  510. TM LCBLSTAT,LCBSACTM IS THE LINE ACTIVE INITIALLY@V200820 00501000
  511. BO *+8 YES - ACTIVATE NOT NECESSARY@V200820 00502000
  512. MVI CCPRSTAT,NICDISA INITIALLY INACTIVE @V200820 00503000
  513. SLR R1,R1 @V200820 00504000
  514. IC R1,LCBPEPSC SUBCHANNEL ADDRESS IF PEP LINE @V200820 00505000
  515. STH R1,CCPRSTEP . . . @V200820 00506000
  516. ICM R8,B'0111',LCBACBP+1 POINTER TO THE ACB @V200820 00507000
  517. ALR R8,R10 ADJUST FOR PROGRAM ORIGIN @V200820 00508000
  518. USING XXCXTACB,R8 SWITCH TO ADAPTER CONTROL BLOCK @V200820 00509000
  519. TM IOBPFLAG,IOBPSWM SWITCHABLE PEP LINE ? @V200820 00510000
  520. BZ *+8 NO -- @V200820 00511000
  521. OI CCPRSTAT,NICSWEP REMEMBER THAT. . . @V200820 00512000
  522. LH R1,CCBBAR POINTER TO THE BAR VECTOR @V200820 00513000
  523. CH R1,=X'800' WHAT MODE IS THE LINE IN NOW ? @V200820 00514000
  524. BNL SCANEXT NCP MODE - O.K. AS IS @V200820 00515000
  525. OI CCPRSTAT,NICEPMD+NICDISA START IN EP-MODE @V200820 00516000
  526. B SCANEXT ALL DONE FOR A LINE @V200820 00517000
  527. EJECT 00518000
  528. SCANDEV EQU * CHECK FOR A DEVICE ENTRY @V200820 00519000
  529. TM RVTTYPE,NICTERM TERMINAL ENTRY ? @V200820 00520000
  530. BZ SCANEXT NO -- @V200820 00521000
  531. ST R0,CCPRESID CLEAR THE ENTRY INITIALLY @V200820 00522000
  532. L R8,RVTRP POINTER TO THE DEVICE BASE BLOCK @V200820 00523000
  533. LA R8,0(R8,R10) CLEAR HIGH BYTE, ADJUST ORIGIN @V200820 00524000
  534. USING XXCXTDVB,R8 . . . @V200820 00525000
  535. SLR R1,R1 @V200820 00526000
  536. IC R1,DVBTYPE DEVICE TYPE CODE @V200820 00527000
  537. IC R1,DVBTABLE(R1) PICK UP TERMINAL TYPE CODE @V200820 00528000
  538. STC R1,CCPRSTYP . . . @V200820 00529000
  539. OI CCPRSTYP,NICTERM PUT THE TERMINAL FLAG BACK @V200820 00530000
  540. TM DVBSTAT,DVBSACTM INITIALLY ACTIVE ? @V200820 00531000
  541. BO SCANEXT YES - @V200820 00532000
  542. OI CCPRSTAT,NICDISA INITIALLY INACTIVE @V200820 00533000
  543. DROP R8 @V200820 00534000
  544. SPACE 00535000
  545. SCANEXT EQU * SCAN THROUGH THE ENTIRE RVT @V200820 00536000
  546. LA R3,4(0,R3) NEXT SLOT IN CCPARM LIST @V200820 00537000
  547. BXLE R9,R4,SCANRVT . . . @V200820 00538000
  548. SLR R3,R11 COMPUTE SIZE OF THE PARM LIST @V200820 00539000
  549. ST R3,CCPPSIZE . . . @V200820 00540000
  550. SPACE 00541000
  551. LH R8,CHSVCHB+CXTXDH CHANNEL CONTROL BLOCK @V200820 00542000
  552. N R8,=X'0000FFFF' LOAD LOGICAL HALFWORD @V200820 00543000
  553. ALR R8,R10 ADJUST FOR PROGRAM ORIGIN @V200820 00544000
  554. L R6,CHBECBAD-XXCXTCHB(,R8) ECB FOR BUFFER LEASIN@V200820 00545000
  555. LA R6,8(0,R6) IF TYPE 2 ADAPTER, THIS WILL BE @V200820 00546000
  556. CLM R6,2+1,CHSVCHB+CXTXDH ...SAME AS CHAN BLOCK @V200820 00547000
  557. BE SCANCA2 YES - MUST BE TYPE TWO CA @V200820 00548000
  558. * B SCANCA1 NO -- ASSUME TYPE ONE CA @V200820 00549000
  559. EJECT 00550000
  560. SCANCA1 EQU * EXTRACT HOST VALUES FOR TYPE1 CA @V200820 00551000
  561. USING XXCXTCOB,R8 @V200820 00552000
  562. MVI CCPCAONE,CCPTYPE1 THIS IS A TYPE 1 ADAPTER @V200820 00553000
  563. IC R1,COBHPAD HOST HEADER PAD @V200820 00554000
  564. STC R1,CCPPAD0 . . . @V200820 00555000
  565. IC R1,COBTPAD HOST TEXT PAD @V200820 00556000
  566. STC R1,CCPPAD1 . . . @V200820 00557000
  567. LH R1,COBFCCW NUMBER OF HOST READ CCW'S @V200820 00558000
  568. STH R1,CCPHBFNO . . . @V200820 00559000
  569. LH R1,COBFHAC SIZE OF EACH READ BUFFER @V200820 00560000
  570. STH R1,CCPHBFSZ . . . @V200820 00561000
  571. B CHEKVMV GO CHECK FOR VM/370 VALUES @V200820 00562000
  572. DROP R8 @V200820 00563000
  573. SPACE 00564000
  574. SCANCA2 EQU * EXTRACT HOST VALUES FOR TYPE2 CA @V200820 00565000
  575. USING XXCXTCHB,R8 @V200820 00566000
  576. MVI CCPCAONE,CCPTYPE2 THIS IS A TYPE 2 ADAPTER @V200820 00567000
  577. IC R1,CHBPAD1 HOST HEADER PAD @V200820 00568000
  578. STC R1,CCPPAD0 . . . @V200820 00569000
  579. IC R1,CHBPAD2 HOST TEXT PAD @V200820 00570000
  580. STC R1,CCPPAD1 . . . @V200820 00571000
  581. IC R1,CHBHBAL NUMBER OF HOST READ CCW'S @V200820 00572000
  582. STC R1,CCPHBFNO+1 . . . @V200820 00573000
  583. LH R1,CHBHBS SIZE OF EACH READ BUFFER @V200820 00574000
  584. STH R1,CCPHBFSZ . . . @V200820 00575000
  585. * B CHEKVMV GO CHECK FOR VM/370 VALUES @V200820 00576000
  586. DROP R8,R10 @V200820 00577000
  587. EJECT 00578000
  588. * CHECK CERTAIN CCP GENERATION OPTIONS - HOST BUFFER SIZE, @V200820 00579000
  589. * NUMBER OF BUFFERS, AND PAD SPECIFICATION - FOR COMPATIBILITY@V200820 00580000
  590. * WITH VM/370 REQUIREMENTS. @V200820 00581000
  591. SPACE 00582000
  592. CHEKVMV EQU * CHECK NCP VALUES FOR VM/370 @V200820 00583000
  593. CLI CCPPAD0,CCPVPAD0 BRANCH IF NOT USUAL. @V200820 00584000
  594. BNE WARNING @V200820 00585000
  595. CLI CCPPAD1,CCPVPAD1 @V200820 00586000
  596. BNE WARNING @V200820 00587000
  597. CLC CCPHBFSZ(2),=AL2(RDBUFLN) @V200820 00588000
  598. BNE WARNING @V200820 00589000
  599. CLC CCPHBFNO(2),=AL2(RDBUFNO) @V200820 00590000
  600. BE SAVECCP O.K. -- SAVE THE IMAGE @V200820 00591000
  601. WARNING EQU * @V200820 00592000
  602. PRINT NOGEN @V200820 00593000
  603. DMSERR TEXT='GENERATION PARAMETERS INCOMPATIBLE WITH VM/370', *00594000
  604. NUM=99,LET=W @V200820 00595000
  605. MVI INDWARN,1 SET WARNING INDICATOR. @V200820 00596000
  606. SPACE 00597000
  607. SAVECCP EQU * ISSUE DIAGNOSE TO SAVE CONTROL PROGM @V200820 00598000
  608. DC X'83B2',S(CCPDIAG) INVOKE DMKSNC VIA DIAG @V200820 00599000
  609. LTR R15,R2 CHECK RETURN CODE FROM DIAG. @V200820 00600000
  610. BNZ EXIT IF NON-ZERO, RETURN @V200820 00601000
  611. CLI INDWARN,0 BRANCH IF NO MSGS GENERATED. @V200820 00602000
  612. BE EXIT @V200820 00603000
  613. LA R15,099(0) RETURN CODE FOR WARNING MESSAGE @V200820 00604000
  614. SPACE 00605000
  615. EXIT EQU * RESTORE REGS, ERTURN TO CMS @V200820 00606000
  616. L R13,SAVE+4 @V200820 00607000
  617. L R14,12(0,R13) @V200820 00608000
  618. LM R0,R12,20(R13) @V200820 00609000
  619. BR R14 @V200820 00610000
  620. EJECT 00611000
  621. PRINT NOGEN @V200820 00612000
  622. ERR25 DMSERR TEXT='INVALID DATA IN 370X CONTROL PROGRAM', @VA04472*00613000
  623. NUM=25,LET=E @VA04472 00614000
  624. LA R15,16 SET ERROR CODE. @V200820 00615000
  625. B EXIT @V200820 00616000
  626. SPACE 00617000
  627. ERR45 DMSERR TEXT='UNSUPPORTED 370X CONTROL PROGRAM TYPE', @VA04472*00618000
  628. NUM=45,LET=E @VA04472 00619000
  629. LA R15,16 RETURN CODE = 16 @V200820 00620000
  630. B EXIT @V200820 00621000
  631. SPACE 00622000
  632. ERR66 DMSERR TEXT='FILE ''....................'' CONTAINS INVALID RE*00623000
  633. CORD FORMATS',NUM=56,LET=E,SUB=(CHAR8A,LIBNAME) @V200820 00624000
  634. LA R15,32 @V200820 00625000
  635. B EXIT @V200820 00626000
  636. SPACE 00627000
  637. ERR21 DMSERR TEXT='ENTRY POINT ''........'' NOT FOUND', @V200820*00628000
  638. NUM=21,LET=E,SUB=(CHARA,ENTRYNAM) @V200820 00629000
  639. LA R15,40 @V200820 00630000
  640. B EXIT @V200820 00631000
  641. SPACE 00632000
  642. ERR13 DMSERR TEXT='MEMBER ''........'' NOT FOUND IN LIBRARY ''......*00633000
  643. ..............''',NUM=13,LET=E,RENT=NO, @V200820*00634000
  644. SUB=(CHARA,FILENAME,CHAR8A,LIBNAME) @V200820 00635000
  645. LA R15,4 @V200820 00636000
  646. B EXIT @V200820 00637000
  647. SPACE 00638000
  648. ERR2 DMSERR LET=E,TEXT='FILE ''.................'' NOT FOUND', *00639000
  649. NUM=2,SUB=(CHAR8A,(R2)) @V200820 00640000
  650. LA R15,28 @V200820 00641000
  651. B EXIT @V200820 00642000
  652. SPACE 00643000
  653. ERR109 DMSERR NUM=109,LET=S,TEXT='VIRTUAL STORAGE CAPACITY EXCEEDED' 00644000
  654. LA R15,104 @V200820 00645000
  655. B EXIT @V200820 00646000
  656. SPACE 00647000
  657. ERR3A LA R2,CAMODERR ADDRESS OF ERROR MSG DATA @V366838 00648000
  658. ERR3 EQU * @V366838 00649000
  659. DMSERR NUM=3,LET=E,TEXT='INVALID OPTION ''................''',*00650000
  660. SUB=(CHARA,(R2)) @V200820 00651000
  661. LA R15,24 SET ERROR CODE. @V200820 00652000
  662. B EXIT @V200820 00653000
  663. SPACE 00654000
  664. ERR1 DMSERR NUM=1,LET=E,TEXT='NO FILENAME SPECIFIED' @V200820 00655000
  665. LA R15,24 @V200820 00656000
  666. B EXIT @V200820 00657000
  667. EJECT 00658000
  668. FILEDEF DS 0D FILEDEF PLIST FOR LOADLIB INPUT FILE 00659000
  669. DC CL8'FILEDEF' @V200820 00660000
  670. DC CL8'DMSNCP' @V200820 00661000
  671. DC CL8'DISK' @V200820 00662000
  672. LIBNAME DS CL8 @V200820 00663000
  673. DC CL8'LOADLIB' @V200820 00664000
  674. FILEMODE DC CL8'*' @V200820 00665000
  675. DC 8X'FF' @V200820 00666000
  676. SPACE 00667000
  677. PARMADR DC A(PAGEBND) START OF CCPARM PARAMETER BLOCK @V200820 00668000
  678. LOADADR DC A(PAGEBND+4*4096) START OF CCP CORE IMAGE @V200820 00669000
  679. HIGHADR DC F'0' HIGHEST ADDRESS FOR IMAGE LOAD @V200820 00670000
  680. CPNAME DS CL8 NCPNAME FOR CP DIAGNOSE @V200820 00671000
  681. ENTRYNAM DC CL8'CXFINIT' ENTRY POINT EXTERNAL SYMBOL @V200820 00672000
  682. ENTRYADR DS F ADDRESS OF ENTRY POINT (FROM CESD@V200820 00673000
  683. CHVTNAME DC CL8'CYACHVT' CHANNEL VECTOR TABLE ESD SYMBOL @V200820 00674000
  684. CHVTADR DS F CHANNEL VECTOR TABLE ADDR (CESD) @V200820 00675000
  685. FILENAME DS CL8 MEMBER NAME OF INPUT MODULE. @V200820 00676000
  686. CAMODERR DC CL8'CAMOD' FOR THE ERROR MESSAGE @V366838 00677000
  687. CAMOD DC 8X'FF' CHANNEL VECTOR TABLE IDENT @V366838 00678000
  688. SPACE 00679000
  689. INDWARN DS X NON-ZERO IF WARNING MESSAGE @V200820 00680000
  690. * HAS BEEN GENERATED. @V200820 00681000
  691. LASTIND DS X @V200820 00682000
  692. DS 0F @V200820 00683000
  693. SPACE 00684000
  694. PRINT GEN @V200820 00685000
  695. READ INDECB,SF,INDCB,,'S',MF=L GENERATE A DECB. @V200820 00686000
  696. SPACE 00687000
  697. PRINT NOGEN @V200820 00688000
  698. INDCB DCB BLKSIZE=260,RECFM=U,DSORG=PO, @V200820*00689000
  699. EODAD=ERR66,MACRF=(R),DDNAME=DMSNCP @V200820 00690000
  700. SPACE 00691000
  701. SAVE DS 18F STANDARD OS-FORMAT SAVE AREA @V200820 00692000
  702. CESDBUFF DS CL16 SCAN BUFFER FOR CESD RECORDS @V200820 00693000
  703. READBUF DS CL260 INPUT BUFFER FOR LOAD MODULE FILE@V200820 00694000
  704. SPACE 00695000
  705. LTORG @V200820 00696000
  706. EJECT 00697000
  707. COPY CCPARM @V200820 00698000
  708. EJECT 00699000
  709. PRINT GEN @V200820 00700000
  710. REGEQU @V200820 00701000
  711. COPY XXCXTRVT NCP RESOURCE VECTOR TABLE @V200820 00702000
  712. EJECT 00703000
  713. COPY XXCXTLCB NCP LINE CONTROL BLOCK @V200820 00704000
  714. EJECT 00705000
  715. COPY XXCXTDVB NCP DEVICE BASE CONTROL BLOCK @V200820 00706000
  716. EJECT 00707000
  717. XXCXTCHB DSECT MACRO LEVEL 2.3 NOT SUPPORTED @VA07605 00708000
  718. * 00709000
  719. * TYPE 2 CHANNEL ADAPTER,RELEASE 1,FEB/73,J.L.ASHTON. 00710000
  720. * 00711000
  721. CHBCND DS 0H . CHANNEL CONDITION FLAGS 00712000
  722. * 00713000
  723. CHBSTATE DC X'00' . CHANNEL ADAPTER OUTBOUND STATE FIELD 00714000
  724. * 00715000
  725. * 0,ATTNF NEED TO PRESENT ATTENTION TO HOST * 00716000
  726. * 1,DLAC ATTENTION DELAY ACTIVE 00717000
  727. * 2, RESERVED 00718000
  728. * 3,ATO ALLOW ATTENTION TIMEOUT * 00719000
  729. * * 00720000
  730. * 4,ATPR ATTENTION HAS BEEN PRESENTED * 00721000
  731. * 5, RESERVED 00722000
  732. * 6,COCA CHANNEL OUT CW CHAIN IS ACTIVE 00723000
  733. * 7,COQA CHANNEL WORK QUE IS ACTIVE 00724000
  734. * * 00725000
  735. ATTNF DEFMSK 0 00726000
  736. DLAC DEFMSK 1 00727000
  737. ATO DEFMSK 3 00728000
  738. ATPR DEFMSK 4 00729000
  739. COCA DEFMSK 6 00730000
  740. COQA DEFMSK 7 00731000
  741. * 00732000
  742. CHBTRIG DC X'00' . CHANNEL TRIGGER FIELD 00733000
  743. * * 00734000
  744. * 0,SMRNB SLOW DOWN MODE REJECT NEXT BLOCK 00735000
  745. * 1,SMNBR SLOW DOWN MODE NEXT BLOCK REJECTED 00736000
  746. * 2,SMDE SLOWDOWN MODE INDICATOR * 00737000
  747. * 3,SIPF SWITCH IN PROGRESS FLAG(SCMS FROM LV5) 00738000
  748. * * 00739000
  749. * 4,TRMF TERMINATE FLAG (YOU ARE SEC RSP PENDN) 00740000
  750. * 5,SRPF SECONDARY READ PENDING * 00741000
  751. * 6, RESERVED 00742000
  752. * 7,LMBO SWITCH READ PENDING (YOU ARE PRIMARY RSP) 00743000
  753. * * 00744000
  754. ** THE CA SLOW DOWN MUST MATCH FOR TYPE1 AND TYPE2 FOR ROUTER USE. 00745000
  755. SMRNB DEFMSK 0 00746000
  756. SMNBR DEFMSK 1 00747000
  757. SMDE DEFMSK 2 SLOWDOWN MODE INDICATOR 00748000
  758. SIPF DEFMSK 3 00749000
  759. TRMF DEFMSK 4 00750000
  760. SRPF DEFMSK 5 00751000
  761. SYSCWU DEFMSK 6 00752000
  762. LMBO DEFMSK 7 00753000
  763. * 00754000
  764. DC X'00' . RESERVED 00755000
  765. CHBCASEL DC X'00' . CA SELECT BYTE - INDICATES CURRENT CA 00756000
  766. * 00757000
  767. * X'08' IS TYPE 2 CA ONE 00758000
  768. * X'00' IS TYPE 2 CA TWO 00759000
  769. * 00760000
  770. * 00761000
  771. * TYPE 2 EXTERNAL REGISTER WORK AREA 00762000
  772. * 00763000
  773. CHBXR50 DC H'0' . SAVE AREA FOR EXTERNAL REG X'50' 00764000
  774. CHBXR51 DC H'0' . SAVE AREA FOR EXTERNAL REG X'51' 00765000
  775. CHBXR52 DC H'0' . SAVE AREA FOR EXTERNAL REG X'52' 00766000
  776. CHBXR53 DC H'0' . SAVE AREA FOR EXTERNAL REG X'53' 00767000
  777. CHBXR54 DC H'0' . SAVE AREA FOR EXTERNAL REG X'54' 00768000
  778. CHBXR55 DC H'0' . SAVE AREA FOR EXTERNAL REG X'55' 00769000
  779. CHBXR57 DC H'0' . SAVE AREA FOR EXTERNAL REG X'57' 00770000
  780. CHBXR5C DC H'0' . SAVE AREA FOR EXTERNAL REG X'5C' 00771000
  781. * 00772000
  782. * INBOUND TRANSFER INFORMATION 00773000
  783. * HOST WRITE/WRITE BREAK 00774000
  784. * 00775000
  785. CHBIM1SV DC F'0' . INPUT MGR LINK REG SAVE AREA (CXCACIM1) 00776000
  786. CHBIM3SV DC F'0' . INPUT MGR LINK REG SAVE AREA (CXCACIM3) 00777000
  787. CHBECBAD DC A(0) . ADDRESS OF ECB FOR LEASEING BUFFERS 00778000
  788. CHBEQSV DC A(0) . ADR OF A COMPLETE BLOCK TO PASS TO SYS RTR 00779000
  789. CHBEQSVN DC A(0) . ADR OF LAST BUF OF BLK TO ENQUE 00780000
  790. CHBBSVS DC A(0) . ADR OF FIRST BUFFER ON BLOCK SAVE CHAIN 00781000
  791. CHBBSVE DC A(0) . ADR OF LAST BUFFER ON BLOCK SAVE CHAIN 00782000
  792. CHBICFB DC A(0) . ADR OF FIRST BUFFER ON IN CW CHAIN 00783000
  793. CHBICPS DC AL2(0) . PTR TO INPUT CW CHAIN 00784000
  794. CHBICFE DC AL2(0) . ADR OF FIRST CW ON INBOUND CW CHAIN 00785000
  795. CHBICLE DC AL2(0) . ADR OF LAST CW ON INBOUND CW CHAIN 00786000
  796. CHBLEXCW DC AL2(0) . ADDRESS OF LAST EXECUTED CW 00787000
  797. CHBRNBS DC H'0' . NCP BUFFER SIZE (MAX NO. OF DATA BYTES* 4) 00788000
  798. CHBLBCNT DC H'0' . DATA COUNT FOR LAST INBOUND BUFFER 00789000
  799. CHBRCNT DC H'0' . ORGINAL DATA COUNT IN LAST EXECUTED CW 00790000
  800. CHBRNBAL DC X'00' . NO. OF BUFS TO LEASE FOR INBOUND XFERS 00791000
  801. CHBBLC DC X'00' . CURRENT BUFFER LEASE COUNT 00792000
  802. * 00793000
  803. * OUTBOUND TRANSFER INFORMATION 00794000
  804. * HOST READ 00795000
  805. * 00796000
  806. CHBCOMSV DC A(0) . LINK REG SAVE AREA FOR CXCACOM 00797000
  807. CHBHQBS DC A(0) . ADR OF LAST OUTBOUND BLOCK GIVEN CXCAOUT 00798000
  808. CHBWQAD DC A(0) . ADDRESS OF THE CHANNEL WORK QCB 00799000
  809. CHBHQAD DC A(0) . ADDRESS OF THE CHANNEL HOLD QCB 00800000
  810. CHBOCFB DC A(0) . ADR OF FIRST BUF ON OUTPUT CW CHAIN 00801000
  811. CHBOCPS DC AL2(0) . PTR TO OUTPUT CW CHAIN 00802000
  812. CHBOCFE DC AL2(0) . ADR OF FIRST CW ON OUTPUT CHAIN 00803000
  813. CHBOCLE DC AL2(0) . ADR OF LAST CW ON OUTPUT CHAIN 00804000
  814. CHBWKA DC H'0' . SAVE AREA 00805000
  815. CHBHBS DC H'0' . HOST BUFFER SIZE (NO. DATA BYRES) 00806000
  816. CHBHBAL DC X'00' . NO. HOST BUFFERS ALLOCATED FOR READ LISTS 00807000
  817. CHBOCR DC X'00' . NUMBER OF HOST BUFFERS REMAINING FOR COC USE 00808000
  818. * 00809000
  819. * HOST BUFFER PAD SUPPORT 00810000
  820. * 00811000
  821. CHBP1PT DC AL2(0) . POINTER TO START OF PAD0 00812000
  822. CHBPAD1 DC X'00' . NUMBER OF BYTES IN PAD0 00813000
  823. DC X'00' . RESERVED 00814000
  824. CHBP2PT DC AL2(0) . POINTER TO START OF PAD1 00815000
  825. CHBPAD2 DC X'00' . NUMBER OF BYTES IN PAD1 00816000
  826. DC X'00' . RESERVED 00817000
  827. * 00818000
  828. * ATTENTION DELAY OPTION (ATD) 00819000
  829. * 00820000
  830. CHBDLAY DC H'0' . SYSGEN VALUE FOR ATTENTION DELAY IN TENTHS 00821000
  831. * OF A SECOND. 00822000
  832. * 00823000
  833. * ATTENTION TIMEOUT (ATO) 00824000
  834. * 00825000
  835. CHBATTO DC H'0' . FIRST ATTENTION TIMEOUT INTERVAL 00826000
  836. CHBATT2 DC H'0' . SECOND ATTENTION TIMEOUT INTERVAL 00827000
  837. * 00828000
  838. * THIS FLAG IS SET BY LEVEL 1 TO INDICATE THAT THE BACKUP 00829000
  839. * CHANNEL ADAPTER IS NOT OPERATIVE.THIS BYTE MUST NOT BE 00830000
  840. * SHARED FOR ANY OTHER PURPOSE. 00831000
  841. * 00832000
  842. CHBSSICF DC X'00' . CA SICK FLAG FOR LEVEL 1 ONLY 00833000
  843. SSICF DEFMSK 0 00834000
  844. * 00835000
  845. * 00836000
  846. DC X'00' . RESERVED 00837000
  847. DC F'0' . RESERVED 00838000
  848. CHBERPSV DC A(0) . ERROR REC PRO SAVE AREA 00839000
  849. CHBSCBA DC A(0) . ADDRESS OF SECONDARY CA CONTROL BLK 00840000
  850. * 00841000
  851. * SECONDARY CHANNEL ADAPTER CONTROL BLOCK 00842000
  852. * 00843000
  853. CHBSCBD DSECT 00844000
  854. DC F'0' . RESERVED 00845000
  855. CHBSXR50 DC H'0' . EXTERNAL REG SAVE AREA 00846000
  856. CHBSXR51 DC H'0' . EXTERNAL REG SAVE AREA 00847000
  857. CHBSXR53 DC H'0' . EXTERNAL REG SAVE AREA 00848000
  858. CHBSXR54 DC H'0' . EXTERNAL REG SAVE AREA 00849000
  859. CHBSXR55 DC H'0' . EXTERNAL REG SAVE AREA 00850000
  860. CHBSXR56 DC H'0' . EXTERNAL REG SAVE AREA 00851000
  861. CHBSXR57 DC H'0' . EXTERNAL REG SAVE AREA 00852000
  862. CHBSXR5C DC H'0' . EXTERNAL REG SAVE AREA 00853000
  863. * 00854000
  864. CHBSICV DC AL2(0) . SECONDARY INCWAR VALUE 00855000
  865. CHBSOCV DC AL2(0) . SECONDARY OUTCWAR VALUE 00856000
  866. * 00857000
  867. CHBSSINA DC AL2(0) . ADR OF AN IN CW FOR READING SW CMDS 00858000
  868. CHBYRPR DC AL2(0) . ADR OF OUT CW FOR YOU ARE PRI RESP BTU 00859000
  869. CHBYRSR DC AL2(0) . ADR OF OUT CW FOR YOU ARE SEC RESP BTU 00860000
  870. CHBSSATA DC AL2(0) . ADR OF CW FOR ATO ON PRIMARY BTU 00861000
  871. * 00862000
  872. CHBSBPT DC A(0) . SECOND CA BUFFER POINTER 00863000
  873. * 00864000
  874. DC F'0' . RESERVED 00865000
  875. CHBSINCW DC F'0' . IN/ZCO FOR SWITCH COMMANDS 00866000
  876. * 00867000
  877. DC F'0' . RESERVED FOR PAD CW 00868000
  878. CHBPRCW DC F'0' . OUT STOP/NO CHAINING FOR RESP1 00869000
  879. * 00870000
  880. DC F'0' . RESERVED FOR PAD CW 00871000
  881. CHBSRCW DC F'0' . OUT STOP/NO CHAINING FOR RESP2 00872000
  882. * 00873000
  883. DC F'0' . RESERVED FOR PAD CW 00874000
  884. CHBSARCW DC F'0' . OUT STOP/NO CHAINING FOR RESP4 00875000
  885. * 00876000
  886. CHBSRSP1 DC XL14'00' . YOU ARE PRIMARY BTU 00877000
  887. CHBSRSP2 DC XL14'00' . YOU ARE SECONDARY BTU 00878000
  888. DC XL14'00' . RESERVED 00879000
  889. CHBSRSP4 DC XL14'00' . PRIMARY ATO BTU 00880000
  890. * 00881000
  891. DC F'0' . RESERVED 00882000
  892. * 00883000
  893. * CAIOS CW WORK AREA 00884000
  894. * 00885000
  895. * VARIBLE AREA FOR OUT CW'S 00886000
  896. * DC C'COCW' . ID 00887000
  897. CHBCOCWS DSECT 00888000
  898. * DC X*F'0' . VARIBLE LEN 00889000
  899. * 00890000
  900. * VARIBLE AREA FOR IN CW'S 00891000
  901. * DC C'CICW' . ID 00892000
  902. CHBCICWS DSECT 00893000
  903. * DC X*F'0' . VARIBLE LEN 00894000
  904. * 00895000
  905. ** END OF CHANCB AREA 00896000
  906. * 00897000
  907. EJECT 00898000
  908. XXCXTCOB DSECT MACRO LEVEL 2.3 NOT SUPPORTED @VA07605 00899000
  909. * 00900000
  910. * TYPE 1 CHANNEL ADAPTER,RELEASE 1,FEB/73,J.L.ASHTON. 00901000
  911. * 00902000
  912. COBCND DC H'0' . CHANNEL CONDITION FLAGS 00903000
  913. * 00904000
  914. * 0,NAT ATTENTION STATUS REQUIRED 00905000
  915. * 1,DLAY ATTENTION DELAY ACTIVE 00906000
  916. * 2,MSO MONITORING SUPPRESS OUT 00907000
  917. * 3,IAT INHIBIT ATTENTION TIMEOUTS 00908000
  918. * 00909000
  919. * 4,ATPD ATTENTION HAS BEEN PRESENTED 00910000
  920. * 5,NCEDE CHANNEL END/DEVICE END STATUS NEEDED 00911000
  921. * 6,HQAC HOLD QUEUE ACTIVE FLAG 00912000
  922. * 7,WQAC WORK QCB ACTIVE 00913000
  923. SPACE 2 00914000
  924. NAT DEFMSK 0 00915000
  925. DLAY DEFMSK 1 00916000
  926. MSO DEFMSK 2 00917000
  927. IAT DEFMSK 3 00918000
  928. ATPD DEFMSK 4 00919000
  929. NCEDE DEFMSK 5 00920000
  930. HQAC DEFMSK 6 00921000
  931. WQAC DEFMSK 7 00922000
  932. SPACE 2 00923000
  933. * 8, RESERVED 00924000
  934. * 9,BRJ BLOCK REJECTED FLAG 00925000
  935. * 10,CSD CHANNEL SLOW DOWN MODE BIT 00926000
  936. * 11,ABS ABORT SENT INDICATION 00927000
  937. * 00928000
  938. * 12, RESERVED 00929000
  939. * 13, RESERVED 00930000
  940. * 14, RESERVED 00931000
  941. * 15, RESERVED 00932000
  942. SPACE 2 00933000
  943. ** THE CA SLOW DOWN MUST MATCH FOR TYPE1 AND TYPE2 FOR ROUTER USE. 00934000
  944. BRJ DEFMSK 1 00935000
  945. CSD DEFMSK 2 00936000
  946. ABS DEFMSK 3 00937000
  947. * 00938000
  948. COBICND DC H'0' . CONDITION FLAGS ON LAST ENTRY 00939000
  949. * 00940000
  950. * 00941000
  951. * TYPE1 EXTERNAL REGISTER WORK AREA 00942000
  952. * 00943000
  953. COBXR77 DC H'0' . SAVE AREA FOR EXT REG X'77' 00944000
  954. COBXR60 DC H'0' . SAVE AREA FOR EXTERNAL REG X'60' 00945000
  955. COBXR61 DC H'0' . SAVE AREA FOR EXTERNAL REG X'61' 00946000
  956. COBXR62I DC H'0' . SAVE AREA FOR INPUT FROM EXT REG X'62' 00947000
  957. COBXR62O DC H'0' . SAVE AREA FOR OUTPUT TO EXT REG X'62' 00948000
  958. COBXR63 DC H'0' . SAVE AREA FOR EXTERNAL REG X'63' 00949000
  959. COBXR64 DC H'0' . SAVE AREA FOR EXTERNAL REG X'64' 00950000
  960. COBXR65 DC H'0' . SAVE AREA FOR EXTERNAL REG X'65' 00951000
  961. COBXR66 DC H'0' . SAVE AREA FOR EXTERNAL REG X'66' 00952000
  962. COBXR67 DC H'0' . SAVE AREA FOR EXTERNAL REG X'67' 00953000
  963. * 00954000
  964. * REGISTER SAVE AND WORK AREAS 00955000
  965. * 00956000
  966. COBSENSE DC X'00' . SENSE BYTE TO XFER FOR SENSE COMMANDS 00957000
  967. DC X'00' . RESERVED 00958000
  968. COBCCMD DC H'0' . CURRENT CHANNEL COMMAND 00959000
  969. COBERPSV DC A(0) . ERROR RECOVERY PROCEDURE SAVE AREA 00960000
  970. COBRELSV DC A(0) . RELEASE SUBROUTINE SAVE AREA 00961000
  971. * 00962000
  972. * INBOUND WORK AREA 00963000
  973. * 00964000
  974. COBNINSV DC A(0) . SAVE FOR INBOUND BLK PROCESSOR 00965000
  975. COBLESV DC A(0) . LEASE SUBROUTINE SAVE AREA 00966000
  976. COBPIB DC A(0) . ADDRESS OF FIRST INBOUND BUFFER 00967000
  977. COBIPBF DC A(0) . POINTER TO PREVIOUS IN BFR 00968000
  978. COBCIB DC A(0) . PTR TO CURRENT BUFFER 00969000
  979. COBCID DC A(0) . CURRENT DISPLACEMENT 00970000
  980. COBCBLK DC A(0) . ADR OF LAST COMPLETE BLK GIVEN SYSRTR 00971000
  981. COBIBCD DC H'0' . NUMBER OF DATA BYTES IN CURRENT BLK 00972000
  982. COBMDO DC X'00' . MAX DATA COUNT FOR CURRENT IN BUFFER 00973000
  983. DC X'00' . RESERVED 00974000
  984. COBMLCNT DC X'00' . SYSGEN BUFFER LEASE COUNT FOR IN DATA 00975000
  985. COBCLCNT DC X'00' . CURRENT BUFFER LEASE COUNT 00976000
  986. COBECBAD DC AL2(0) . ADDRESS OF AN ECB FOR LEASEING BUFFERS 00977000
  987. * 00978000
  988. * OUTBOUND WORK AREA 00979000
  989. * 00980000
  990. COBWQAD DC AL2(0) . ADDRESS OF CHANNEL ADAPTER WORK QCB 00981000
  991. COBHQAD DC AL2(0) . ADDRESS OF CHANNEL ADAPTER HOLD QCB 00982000
  992. COBOXSV DC A(0) . SAVE AREA FOR OUTBOUND TRANSFER ROUTINE 00983000
  993. COBROTSV DC A(0) . REFRESH OUTBOUND XFER SAVE AREA 00984000
  994. COBOBLKA DC A(0) . OUTBOUND BLOCK ADDRESS 00985000
  995. COBOBUFA DC A(0) . OUTBOUND BUFFER ADDRESS 00986000
  996. COBODATA DC A(0) . OUTBOUND DATA ADDRESS 00987000
  997. COBFCCW DC H'0' . NUMBER HOST CCW'S (FULL) 00988000
  998. COBRCCW DC H'0' . NUMBER HOST CCW'S (RESIDUAL) 00989000
  999. COBFHAC DC H'0' . HOST READ CCW BYTE COUNT (FULL SYSGEN) 00990000
  1000. COBRHAC DC H'0' . HOST READ CCW BYTE COUNT RESIDUAL OUT OP 00991000
  1001. COBRDCNT DC H'0' . OUTBOUND BUFFER RESIDUAL DATA COUNT 00992000
  1002. COBOXCNT DC H'0' . NUMBER OF BYTES TO XFER NEXT OUT DATA SERVICE 00993000
  1003. * 00994000
  1004. * ATTENTION TIMEOUT OPTION (ATO) 00995000
  1005. * 00996000
  1006. COBATTO DC H'0' . ATTENTION TIMEOUT DURATION 00997000
  1007. * 00998000
  1008. * 00999000
  1009. * HOST BUFFER PAD SUPPORT 01000000
  1010. * 01001000
  1011. COBHPTR DC AL2(0) . PTR TO DUMMY HDR BUFFER 01002000
  1012. DC F'0' . DUMMY HDR BUFFER 01003000
  1013. COBHPAD DC X'00' . HEADER PAD SIZE 01004000
  1014. DC X'00' . RESERVED 01005000
  1015. COBTPTR DC AL2(0) . PTR TO DUMMY TXT BUFFER 01006000
  1016. DC F'0' . DUMMY TXT BUFFER 01007000
  1017. COBTPAD DC X'00' . TEXT PAD SIZE 01008000
  1018. DC X'00' . RESERVED 01009000
  1019. * 01010000
  1020. * ATTENTION DELAY OPTION (ATD) 01011000
  1021. * 01012000
  1022. COBDELAY DC H'0' . ATTENTION DELAY INTERVAL 01013000
  1023. * 01014000
  1024. SPACE 2 01015000
  1025. * 01016000
  1026. COBEND EQU * 01017000
  1027. * END OF XXCXTCOB 01018000
  1028. EJECT 01019000
  1029. XCXTACB , LINE ADAPTER CONTROL BLOCK @V200820 01020000
  1030. EJECT 01021000
  1031. COREIMG DSECT , 370X CONTROL PROGRAM STORAGE DSEC@V200820 01022000
  1032. ORG COREIMG+X'680' START OF FIXED STORAGE AREAS @V200820 01023000
  1033. XCXTXDB BYTE-ADDRESSABLE FIXED STORAGE @V200820 01024000
  1034. XCXTXDH HALFWORD-ADDRESSABLE FIXED STORAG@V200820 01025000
  1035. XCXTXDA WORD-ADDRESSABLE FIXED STORAGE @V200820 01026000
  1036. EJECT 01027000
  1037. DCBD DSORG=(QS),DEVD=(DA) @V200820 01028000
  1038. EJECT 01029000
  1039. COPY NETWORK @V200820 01030000
  1040. EJECT 01031000
  1041. DMSNCP CSECT , RE-ENTER THE PROGRAM CSECT @V200820 01032000
  1042. SPACE 01033000
  1043. DVBTABLE EQU * TRANSLATE TABLE FOR NCP DEVIC@V200820 01034000
  1044. PRINT NOGEN BASE TYPE CODES. @V200820 01035000
  1045. DVT DVBTR05M,NICRCPU 3705 REMOTE @V200820 01036000
  1046. DVT DVBT980M,NICRCPU 2980 @V200820 01037000
  1047. DVT DVBT328M,NICGRAF 3275, 3277, 3284, 3286 @V200820 01038000
  1048. DVT DVBT050M,NICCIBM 1050 @V200820 01039000
  1049. DVT DVBT740M,NICCIBM 2740 MODEL 1 @V200820 01040000
  1050. DVT DVBT741M,NICCIBM 2741 @V200820 01041000
  1051. DVT DVBT402M,NICCIBM 2740 MODEL 2 @V200820 01042000
  1052. DVT DVBT15AM,NICTELE 115A @V200820 01043000
  1053. DVT DVBT3B3M,NICTELE 83B3 @V200820 01044000
  1054. DVT DVBTTWXM,NICTELE TWX @V200820 01045000
  1055. DVT DVBTWTYM,NICTELE WTTY @V200820 01046000
  1056. DVT DVBT130M,NICRCPU 1130 @V200820 01047000
  1057. DVT DVBT180M,NICRCPU 1800 @V200820 01048000
  1058. DVT DVBT701M,NICRCPU 2701 @V200820 01049000
  1059. DVT DVBT703M,NICRCPU 2703 @V200820 01050000
  1060. DVT DVBT715M,NICRCPU 2715 @V200820 01051000
  1061. DVT DVBT770M,NICRSPL 2770 @V200820 01052000
  1062. DVT DVBT780M,NICRSPL 2780 @V200820 01053000
  1063. DVT DVBT972M,NICRCPU 2972 @V200820 01054000
  1064. DVT DVBT7RNM,NICRCPU 3705 LOCAL @V200820 01055000
  1065. DVT DVBT020M,NICRCPU 2020 @V200820 01056000
  1066. DVT DVBT025M,NICRCPU 2025 @V200820 01057000
  1067. DVT DVBT327M,NICGRAF 3271, 3275 @V200820 01058000
  1068. DVT DVBT378M,NICRSPL 3780 @V200820 01059000
  1069. DVT DVBT735M,NICRCPU 3735 @V200820 01060000
  1070. DVT DVBT371M,NICRCPU 3741 @V200820 01061000
  1071. DVT DVBT377M,NICRCPU 3747 @V200820 01062000
  1072. DVT 255,0 @V200820 01063000
  1073. PRINT GEN @V200820 01064000
  1074. SPACE 2 01065000
  1075. ALIGN4K DS (DMSNCP+4096-*)C WILL CAUSE ERROR IF PROGRAM @V200820 01066000
  1076. * LARGER THAN 4096 BYTES @V200820 01067000
  1077. PAGEBND DS 0C PAGE BOUNDARY FOLLOWING SAVENCP @V200820 01068000
  1078. EJECT 01069000
  1079. FSTD @V200820 01070000
  1080. PRINT NOGEN @V200820 01071000
  1081. NUCON , CMS PREFIX STORAGE AREA @V200820 01072000
  1082. SPACE 2 01073000
  1083. END DMSNCP @V200820 01074000