Table of Contents

DMKBSC Source

References

Source Listing

DMKBSC.ASSEMBLE.txt
  1. BSC TITLE 'DMKBSC (CP) VM/370 - RELEASE 6' 00001000
  2. ISEQ 73,80 VALIDATE INPUT SERIALIZATION @V2D3931 00002000
  3. COPY OPTIONS @V2D3931 00003000
  4. EJECT 00004000
  5. ************************************************************** 00005000
  6. *. 00006000
  7. * MODULE NAME - 00007000
  8. * 00008000
  9. * DMKBSC 00009000
  10. * 00010000
  11. * FUNCTION - 00011000
  12. * 00012000
  13. * TO EXAMINE THE ERROR CONDITION RESULTING FROM A UNIT CHECK 00013000
  14. * OR CHANNEL ERROR WHILE EXECUTING A CP GENERATED BISYNC 00014000
  15. * LINE CHANNEL PROGRAM. IF THE ERROR CONDITION IS 00015000
  16. * UNCORRECTABLE A CALL WILL BE ISSUED TO THE MESSAGE WRITER 00016000
  17. * (DMKMSW) FOR OPERATOR AWARENESS. ON REGAINING CONTROL FROM 00017000
  18. * DMKMSW THE ORIGINAL CHANNEL PROGRAM IS TERMINATED AND THE 00018000
  19. * FATAL FLAG IS SET IN THE IOBLOK. OTHERWISE, THE CHANNEL 00019000
  20. * PROGRAM IS RE-EXECUTED AGAIN, UP TO A MAXIMUN OF 7 RETRYS. 00020000
  21. * ALSO STATISTICAL DATA COUNTERS WILL BE UPDATED. 00020100
  22. * 00021000
  23. * ATTRIBUTES - 00022000
  24. * 00023000
  25. * SERIALLY REUSEABLE, RESIDENT, ENTERED VIA SVC 00024000
  26. * 00025000
  27. * ENTRY CONDITIONS - 00026000
  28. * 00027000
  29. * GR 13 = ADDRESS OF SAVE AREA 00028000
  30. * GR 12 = ADDRESS OF DMKBSCER 00029000
  31. * GR 11 = ADDRESS OF A VALID VMBLOK 00030000
  32. * GR 10 = ADDRESS OF IOBLOK 00031000
  33. * GR 8 = ADDRESS OF THE LINE RDEVBLOK 00032000
  34. * 00033000
  35. * EXIT CONDITIONS - 00034000
  36. * 00035000
  37. * 1. WHEN RETRY IS POSSIBLE: 00036000
  38. * IOBFLAG=IOBRSTRT 00037000
  39. * IOBRCAW=ADDRESS OF RESTART CCW STRING 00038000
  40. * 2. WHEN RETRY IS NOT POSSIBLE: 00039000
  41. * IOBFLAG=IOBFATAL 00040000
  42. * 00041000
  43. * CALLS TO OTHER ROUTINES - 00042000
  44. * 00043000
  45. * DMKMSWR - TO PROVIDE OPERATOR COMMUNICATION 00044000
  46. * DMKFREE - TO ALLOCATE FREE STORAGE FOR WORK AREA 00045000
  47. * DMKFRET - TO RELEASE STORAGE USED FOR WORK AREA 00046000
  48. * DMKIOEST - TO UPDATE STATISTICAL DATA COUNTERS 00046100
  49. * 00047000
  50. * EXTERNAL REFERENCES - 00048000
  51. * 00049000
  52. * NONE 00050000
  53. * 00051000
  54. * TABLES / WORK AREAS - 00052000
  55. * 00053000
  56. * NONE 00054000
  57. * 00055000
  58. * REGISTER USAGE - 00056000
  59. * 00057000
  60. * GR0-6 WORK REGISTERS 00058000
  61. * GR 7 = IOERBLOK ADDRESS 00059000
  62. * GR 8 = RDEVBLOK ADDRESS 00060000
  63. * GR 10 = IOBLOK ADDRESS 00061000
  64. * GR 11 = VMBLOK ADDRESS 00062000
  65. * GR 12 = MODULE BASE REGISTER 00063000
  66. * GR 13 = SAVE AREA ADDRESS 00064000
  67. * GR14-15 LINKAGE REGISTERS 00065000
  68. * 00066000
  69. * NOTES - 00067000
  70. * 00068000
  71. * NONE 00069000
  72. * 00070000
  73. * OPERATION - 00071000
  74. * 00072000
  75. * I. SETUP ADDRESSABILITY FOR THE BISYNC ERP 00073000
  76. * 00074000
  77. * 1. DETERMINE IF THIS IS THE FIRST TIME ENTERING BSC ERP 00075000
  78. * MODULE FOR THIS BISYNC LINE. 00076000
  79. * 00077000
  80. * A. IF RDEVIOER FIELD IS ZERO, SAVE THE IOERBLOK ADDRESS IN 00078000
  81. * RDEVIOER, CLEAR RETRY COUNT AND FLAGS TO ZERO (IOBRCNT) 00079000
  82. * AND GET STORAGE FOR THE RESTART CCWS USED BY ERP. 00080000
  83. * 00081000
  84. * 2. UPDATE THE RETRY COUNT BY ONE AND TEST FOR CHANNEL 00082000
  85. * ERROR IN THE ORIGINAL IOERBLOK CSW FIELD AND IN THE 00083000
  86. * CURRENT IOERBLOK CSW FIELD. IF CHANNEL ERROR IS INDICATED, 00084000
  87. * SEND ERROR MESSAGE TO SYSTEM OPERATOR IF IT'S NOT CHANNEL 00085000
  88. * DATA CHECK,SET IOBFATAL FLAG AND EXIT TO DMKIOS. IF 00086000
  89. * CHANNEL DATA CHECK IS INDICATED, RETRY THE OPERATION 00087000
  90. * SEVEN TIMES BEFORE INDICATING FATAL CONDITION. 00088000
  91. * 00089000
  92. * 3. IF THERE IS NOT A CURRENT IOERBLOK POINTER AFTER HANDLING 00090000
  93. * THE ORIGINAL IOERBLOK, ASSUME THE BISYNC LINE ERROR HAS 00091000
  94. * BEEN CORECTED AND RETURN TO DMKIOS. 00092000
  95. * 00093000
  96. * II. ANALYZE THE CSW FOR A CHANNEL CONDITION (MSG. NO. DMKBSC520) 00094000
  97. * 00095000
  98. * 1. FOR CHANNEL INTERFACE AND CONTROL CHECK, SEND ERROR MESSAGE 00096000
  99. * TO SYSTEM OPERATOR. 00097000
  100. * 00098000
  101. * 2. FOR CHANNEL DATA CHECK, RETRY THE OPERATION SEVEN TIMES 00099000
  102. * BEFORE INDICATING FATAL CONDITION AND SENDING A MESSAGE 00100000
  103. * TO THE SYSTEM OPERATOR. 00101000
  104. * 00102000
  105. * WRITE OPERATION - 00103000
  106. * . ANY WRITE EXECPT WRITE TEXT, RETRY THE FAILING CCW. 00104000
  107. * 00105000
  108. * READ OPERATION - 00106000
  109. * . FOR READ RESPONSE, GENERATE A CHANNEL PROGRAM TO 00107000
  110. * WRITE ENQ TO THE STATION AND TRANSFER CONTROL TO THE 00108000
  111. * FAILING READ CCW. 00109000
  112. * 00110000
  113. * . FOR READ TEXT OR DATA, GENERATE A CHANNEL PROGRAM TO 00111000
  114. * WRITE NAK TO THE STATION AND TRANSFER CONTROL TO THE 00112000
  115. * FAILING READ CCW. 00113000
  116. * 00114000
  117. * III. ANALYZE THE CSW FOR A UNIT CHECK CONDITION 00115000
  118. * 00116000
  119. * ACTION 1 00117000
  120. * 00118000
  121. * SEND ERROR MESSAGE TO SYSTEM OPERATOR AND INDICATE 00119000
  122. * FATAL CONDITION ON BISYNC LINE. 00120000
  123. * 00121000
  124. * ACTION 2 00122000
  125. * 00123000
  126. * HANDLE FAILING READ CCW 00124000
  127. * . FOR READ RESPONSE, GENERATE A CHANNEL PROGRAM TO WRITE 00125000
  128. * ENQ TO THE STATION AND TRANSFER CONTROL TO THE FAILING 00126000
  129. * READ CCW. 00127000
  130. * 00128000
  131. * . FOR READ TEXT OR DATA, GENERATE A CHANNEL PROGRAM TO WRITE 00129000
  132. * NAK TO THE STATION AND TRANSFER CONTROL TO THE FAILING 00130000
  133. * READ CCW. 00131000
  134. * 00132000
  135. * ACTION 3 00133000
  136. * 00134000
  137. * . RETRY FAILING CCW UNTIL RETRY COUNT REACHED 7 00135000
  138. * 00136000
  139. * . IF 3275 SWITCHED AND A TIMEOUT CONDITION OCCURS: 00136100
  140. * IF WRITE RESET CCW GO RETRY. 00136200
  141. * IF WRITE CONTINUE OR READ CONTINUE ISSUE ERROR MSG. 00136300
  142. * IF READ CCW RETRY THE OPERATION 7 TIMES. 00136400
  143. * 00136500
  144. * PRIORITY CONDITION STATUS BIT ACTION 00137000
  145. * ________ _________ __________ ______ 00138000
  146. * 00139000
  147. * 1 EQUIPMENT CHECK 3 ACTION 1 00140000
  148. * 2 LOST DATA 6 ACTION 2 00141000
  149. * 3 TIME OUT 7 ACTION 2 & 3 00142000
  150. * 4 INTERVENTION REQ. 1 ACTION 1 & 2 00143000
  151. * 5 BUS OUT CHECK 2 ACTION 3 00144000
  152. * 6 DATA CHECK 4 ACTION 2 00145000
  153. * 7 OVERRUN 5 ACTION 2 00146000
  154. * 8 COMMAND REJECT 0 ACTION 2 00147000
  155. * 00148000
  156. * IV. ANALYZE THE CSW FOR PROGRAM, PROTECTION & CHAINING CHECK 00149000
  157. * 00150000
  158. * . INDICATE FATAL CONDITION, SEND ERROR MESSAGE TO 00151000
  159. * SYSTEM OPERATOR AND RETURN CONTROL TO DMKIOS. 00152000
  160. * 00153000
  161. * V. WHEN THE RETRY PROCEDURE IS FINISHED (EITHER CORRECTED 00153100
  162. * OR UNCORRECTABLE) CALL DMKIOEST TO CAUSE STATISTICAL 00153200
  163. * DATA COUNTERS TO BE UPDATED.. 00153300
  164. SPACE 00153400
  165. * ERROR MESSAGES - 00154000
  166. * 00155000
  167. * DMKBSC500I LINE 'ADDR' CMD REJECT ... 00156000
  168. * DMKBSC501A LINE 'ADDR' INT REQ 00157000
  169. * DMKBSC502I LINE 'ADDR' BUSOUT CK ... 00158000
  170. * DMKBSC503I LINE 'ADDR' EQUIP CK ... 00159000
  171. * DMKBSC504I LINE 'ADDR' DATA CK ... 00160000
  172. * DMKBSC505I LINE 'ADDR' OVERRUN CK ... 00161000
  173. * DMKBSC516I LINE 'ADDR' BAD SENSE ... 00162000
  174. * DMKBSC517I LINE 'ADDR' NOT/KNOWN ... 00163000
  175. * DMKBSC520I LINE 'ADDR' CHAN ERROR ... 00164000
  176. * DMKBSC527I LINE 'ADDR' LOST DATA ... 00165000
  177. * DMKBSC528I LINE 'ADDR' TIMEOUT ... 00166000
  178. * 00167000
  179. ************************************************************** 00168000
  180. EJECT 00169000
  181. DMKBSC CSECT @V2D3931 00170000
  182. EXTRN DMKFREE,DMKFRET,DMKMSWR @V2D3931 00171000
  183. EXTRN DMKIOEST STATISTICAL COUNTER UPDATE @VA03757 00171100
  184. SPACE 1 00172000
  185. USING SAVEAREA,R13 @V2D3931 00173000
  186. USING PSA,R0 @V2D3931 00174000
  187. USING BSCBLOK,R2 SET UP ADDRESSABILITY FOR BSCBLOK@V2D3931 00175000
  188. USING ERPBSC,R6 SET UP ADDRESSABILITY FOR ERP CCW@V2D3931 00176000
  189. USING RDEVBLOK,R8 SETUP ADDRESSABILITY FOR RDEVBLOK@V2D3931 00177000
  190. USING IOBLOK,R10 SET UP ADDRESSABILITY FOR IOBLOK @V2D3931 00178000
  191. DC CL8'DMKBSC' @V2D3931 00179000
  192. DMKBSCER RELOC @V2D3931 00180000
  193. SWITCH MAKE SURE WE ARE ON THE IO PROCESSOR @V4075A0 00180100
  194. ICM R7,15,RDEVIOER GET THE FIRST IOERBLOK, IF ANY. @V2D3931 00181000
  195. BP NOTFIRST IF NONE THIS IS THE FIRST TIME IN@V2D3931 00182000
  196. L R7,IOBIOER LOAD IOERBLOK IN REG.7 @V2D3931 00183000
  197. USING IOERBLOK,R7 ESTABLISH ADDRESSABILTY. @V2D3931 00184000
  198. ST R7,RDEVIOER STORE ADDRESS IN RDEVBLOK. @V2D3931 00185000
  199. SR R3,R3 CLEAR REG.3 @V2D3931 00186000
  200. ST R3,IOBIOER CLEAR POINTER OF IOERBLOK @V2D3931 00187000
  201. STH R3,IOBRCNT ZERO IOBRCNT FOR FIRST TIME @V2D3931 00188000
  202. NI IOBSTAT,X'FF'-IOBFATAL INSURE BIT IS OFF. @V2D3931 00189000
  203. NI IOBFLAG,X'FF'-(IOBRSTRT+IOBERP) CLEAR FLAGS @V2D3931 00190000
  204. LTR R7,R7 IS THERE AN IOERBLOK POINTER @V2D3931 00191000
  205. BZ EXIT1 NO, RETURN TO IOS @V2D3931 00192000
  206. OI IOBFLAG,IOBERP SET ERP IN CONTROL. @V2D3931 00193000
  207. NI IOERFLG2,X'FF'-IOERMSW CLEAR MESSAGE WRITER FLAG@V2D3931 00194000
  208. NI IOERFLG3,X'FF'-IOERREAD RESET FLAG @VA03757 00194100
  209. LA R0,ERPSIZE GET SIZE OF WORK AREA @V2D3931 00195000
  210. CALL DMKFREE @V2D3931 00196000
  211. STH R0,IOERDW SAVE NUMBER OF DOUBLEWORDS @V2D3931 00197000
  212. ST R1,IOERLOC ALSO REMEMBER AT WHAT ADDRESS. @V2D3931 00198000
  213. LR R6,R1 GET WORK AREA POINTER @V2D3931 00199000
  214. XC 0(8*ERPSIZE,R1),0(R1) CLEAR THE WORK AREA @V2D3931 00200000
  215. NOTFIRST EQU * R7 WILL POINT TO FIRST IOERBLOK @V2D3931 00201000
  216. L R2,RDEVBSC GET ADDRESS OF BSC CONTROL BLOCK @V2D3931 00202000
  217. L R6,IOERLOC GET POINTER TO ERP CCW AREA @V2D3931 00203000
  218. SR R4,R4 CLEAR REG.4 @V2D3931 00204000
  219. LH R4,IOBRCNT LOAD ERROR COUNT. @V2D3931 00205000
  220. A R4,F1 UPDATE RETRY COUNT BY ONE @V2D3931 00206000
  221. STH R4,IOBRCNT STORE RESULT IN IOBRCNT. @V2D3931 00207000
  222. L R3,IOBIOER GET ADDRESS OF SECOND IOERBLOK @V2D3931 00208000
  223. TM IOERCSW+5,IFCC+CCC IS THIS A CHANNEL ERROR @V2D3931 00209000
  224. BNZ CHANICC YES, GO HANDLE CHANNEL ERROR @V2D3931 00210000
  225. LTR R3,R3 IS THERE A SECOND IOERBLOK ? @V2D3931 00211000
  226. BZ RGACOUNT NO, CONTINUE PROCESSING @V2D3931 00212000
  227. TM IOERCSW+5-IOERBLOK(R3),IFCC+CCC IS CHANNEL ERROR@V2D3931 00213000
  228. BNZ CHANICC YES, GO HANDLE CHANNEL ERROR @V2D3931 00214000
  229. SPACE 1 00215000
  230. RGACOUNT EQU * PROCESS ERROR CONDITION @V2D3931 00216000
  231. TM IOERFLG2,IOERMSW IS MESSAGE WRITER IN CONTROL ? @V2D3931 00217000
  232. BZ CONTIN NO, CONTINUE PROCESSING ERROR @V2D3931 00218000
  233. BAL R5,FRETIOER RELEASE THE IOERBLOK @V2D3931 00219000
  234. NI IOBFLAG,X'FF'-IOBRSTRT CLEAR RESTART FLAG @V2D3931 00220000
  235. EXIT RETURN TO IOS @V2D3931 00221000
  236. SPACE 1 00222000
  237. CONTIN EQU * ANALYZE CSW FOR ERROR CONDITION @V2D3931 00223000
  238. CLC IOBRCNT,F1+2 IS THIS THE FIRST ERROR CONDITION@V2D3931 00224000
  239. BNE *+6 BYPASS SWITCHING REGISTERS @V2D3931 00225000
  240. LR R3,R7 GET ADDR. OF IOERBLOK IN REG3 @V2D3931 00226000
  241. LTR R3,R3 DID OPERATION FINISH CORRECTLY ? @V2D3931 00227000
  242. BZ CORRECT YES, GO RETURN TO IOS @V2D3931 00228000
  243. TM IOERCSW+5-IOERBLOK(R3),CDC IS CHAN. DATA CHECK @V2D3931 00229000
  244. BO BADCHAN YES, CHECK RETRY COUNT @V2D3931 00230000
  245. TM IOERCSW+4-IOERBLOK(R3),UC IS THIS A UNIT CHECK @V2D3931 00231000
  246. BO UNITCK YES, GO HANDLE UNIT CHECK @V2D3931 00232000
  247. CHANPRG EQU * HANDLE MESSAGE FOR CHAN. CHECKS @V2D3931 00233000
  248. MVI IOERNUM,CHANERR INDICATE CHANNEL ERROR MESSAGE @V2D3931 00234000
  249. BAL R5,FRETPTR RELEASE WORK AREA @V2D3931 00235000
  250. TM IOERCSW+5-IOERBLOK(R3),PRGC+PRTC+CHC IS STATUS @V2D3931 00236000
  251. BNZ CALLWTR1 YES, GO WRITE ERROR MESSAGE @V2D3931 00237000
  252. MVI IOERNUM,FALSE INDICATE INVALID SENSE MESSAGE @V2D3931 00238000
  253. B CALLWTR1 GO WRITE ERROR MESSAGE @V2D3931 00239000
  254. BADCHAN EQU * HANDLE CHANNEL DATA CHECK @V2D3931 00240000
  255. CLC IOBRCNT,F7+2 IS COUNT GREATER THAN 7 @V2D3931 00241000
  256. BH CHANICC YES, INDICATE CHANNEL ERROR MSG. @V2D3931 00242000
  257. BAL R5,GETCUCCW GET FAILING CCW ADDRESS @V2D3931 00243000
  258. BAL R5,READSUB GO HANDLE FAILING READ CCW @V2D3931 00244000
  259. B WRITE GO TO WRITE SECTION @V2D3931 00245000
  260. CHANICC EQU * HANDLE CHANNEL ERROR MESSAGE @V2D3931 00246000
  261. MVI IOERNUM,CHANERR INDICATE CHANNEL ERROR MESSAGE @V2D3931 00247000
  262. BAL R5,FRETPTR RELEASE WORK AREA @V2D3931 00248000
  263. L R3,IOBIOER IS THERE A SECOND IOERBLOK @V2D3931 00249000
  264. LTR R3,R3 IS THERE ONE ? @V2D3931 00250000
  265. BZ CALLWTR1 NO, GO WRITE ERROR MESSAGE @V2D3931 00251000
  266. TM IOERCSW+5,CDC+CCC+IFCC IS THIS A CHANNEL ERROR @V2D3931 00252000
  267. BNZ CALLWTR1 YES, GO WRITE ERROR MESSAGE @V2D3931 00253000
  268. ST R3,RDEVIOER SAVE CHANNEL IOERBLOK POINTER @V2D3931 00254000
  269. ST R7,IOBIOER SAVE ORIGINAL IOERBLOK ADDRESS @V2D3931 00255000
  270. LR R7,R3 GET CURRENT IOERBLOK @V2D3931 00256000
  271. MVI IOERNUM,CHANERR INDICATE CHANNEL ERROR MSG. @V2D3931 00257000
  272. B CALLWTR1 GO WRITE ERROR MESSAGE @V2D3931 00258000
  273. SPACE 1 00259000
  274. WRITE EQU * HANDLE WRITE OPERATION @V2D3931 00260000
  275. CLI 5(R4),X'0A' IS TEXT BEING TRANSFER @V2D3931 00261000
  276. BNE FAILCCW NO, GO RETRY FAILING CCW @V2D3931 00262000
  277. BAL R5,RESCOUN CHECK ON RESIDUAL COUNT @V2D3931 00263000
  278. B CHANICC GO WRITE CHANNEL ERROR MESSAGE @V2D3931 00264000
  279. SPACE 1 00265000
  280. UNITCK EQU * @V2D3931 00266000
  281. MVI IOERNUM,EQUIP INDICATE EQUIPMENT CHECK MSG @V2D3931 00267000
  282. TM IOERDATA,EQUI1 IS THIS AN EQUIPMENT CHECK @V2D3931 00268000
  283. BO CALLWTR1 YES, GO WRITE ERROR MESSAGE @V2D3931 00269000
  284. LOSTDAT EQU * HANDLE LOST DATA CONDITION @V2D3931 00270000
  285. BAL R5,GETCUCCW GET THE FAILING CCW @V2D3931 00271000
  286. MVI IOERNUM,LOST INDICATE LOST DATA MESSAGE @V2D3931 00272000
  287. TM IOERDATA,LDATA IS THIS A LOST DATA CONDITION @V2D3931 00273000
  288. BZ TIMEOUT NO, GO CHECK FOR TIMEOUT @V2D3931 00274000
  289. BAL R5,READSUB GO HANDLE FAILING READ CCW @V2D3931 00275000
  290. B CALLWTR1 IF WRITE CCW, GO WRITE MESSAGE @V2D3931 00276000
  291. ERPCCW EQU * @V2D3931 00277000
  292. CLI 5(R4),X'00' IS THIS AN ERP CCW @V2D3931 00278000
  293. BNE CALLWTR1 NO, GO WRITE ERROR MESSAGE @V2D3931 00279000
  294. B FAILCCW GO RETRY FAILING CCW @V2D3931 00280000
  295. TIMEOUT EQU * HANDLE TIMEOUT CONDITION @V2D3931 00281000
  296. MVI IOERNUM,TIMOUT SET TIMEOUT ERROR MESSAGE FLAG @V2D3931 00282000
  297. TM IOERDATA,TIMEOT IS THIS A TIMEOUT CONDITION @V2D3931 00283000
  298. BZ INTREQID NO, CHECK FOR INTERVENTION REQ. @V2D3931 00284000
  299. TM RDEVFTR,FTRDIAL SWITCHED 3275? @V346931 00284050
  300. BZ RETDIAL NO, GO CHECK FOR DISABLE @V346931 00284100
  301. CLI 5(R4),X'0D' WRITE RESET CCW? @V346931 00284150
  302. BE INITREAD YES, GO RETRY OPERATION @V346931 00284200
  303. CLI 5(R4),X'0B' WRITE CONTINUE CCW? @V346931 00284250
  304. BE CALLWTR1 YES, BYPASS RETRY @V346931 00284300
  305. CLI 5(R4),X'0C' READ REMAINING DATA CCW? @V346931 00284350
  306. BE CALLWTR1 YES, BYPASS RETRY @V346931 00284400
  307. CLI 5(R4),X'0A' READ DATA CCW? @V346931 00284450
  308. BE RESTLINE YES, RESTORE LINE TO CONTROL MODE@V346931 00284500
  309. RETDIAL EQU * HANDLE NON-SWITCHED RECOVERY @V346931 00284550
  310. TM BSCFLAG,BSCRVI EXPECT EOT FROM RVI? @VA13084 00284650
  311. BO NOREST @VA13970 00284850
  312. BAL R5,READSUB HANDLE READ CCW @V2D3931 00285000
  313. B WRITE1 GO TO WRITE SECTION @V2D3931 00286000
  314. B CALLWTR1 GO WRITE ERROR MESSAGE @V2D3931 00287000
  315. WRITE1 EQU * HANDLE WRITE CCW @V2D3931 00288000
  316. CLI 0(R4),X'2F' IS THIS A DISABLE CCW @V2D3931 00289000
  317. BNE CALLWTR1 NO, GO WRITE ERROR MESSAGE @V2D3931 00290000
  318. FAILCCW EQU * SET UP RETRY FROM THE BEGINNING @V2D3931 00291000
  319. ST R4,IOBRCAW SAVE FAILING CCW ADDRESS @V2D3931 00292000
  320. B SETFLAG SET RESTART FLAG @V2D3931 00293000
  321. INTREQID EQU * @V2D3931 00294000
  322. MVI IOERNUM,INTREQU SET INTERVENTION REQ MESSAGE @V2D3931 00295000
  323. TM IOERDATA,INTRV IS THIS AN INTERVENTION CONDITION@V2D3931 00296000
  324. BZ BUSOCK NO, CHECK FOR BUS OUT CHECK @V2D3931 00297000
  325. BAL R5,READSUB GO HANDLE FAILING READ CCW @V2D3931 00298000
  326. B WRITE2 GO TO WRITE SECTION @V2D3931 00299000
  327. * B *+4 00300000
  328. POLCMD EQU * @V2D3931 00301000
  329. CLI 0(R4),X'09' IS THIS A POLL CCW @V2D3931 00302000
  330. BE SETRET YES, RETRY FROM BEGINNING OF CCWS@V2D3931 00303000
  331. CLI 5(R4),X'00' IS THIS AN ERP CCW @V2D3931 00304000
  332. BE FAILCCW YES, GO RETRY FAILING CCW @V2D3931 00305000
  333. SETRET EQU * SET UP RESTART FIELD @V2D3931 00306000
  334. CLC RDEVTYPC(2),=AL1(CLASTERM,TYPBSC) 3270 REMOTE? @VA11394 00306100
  335. BNE SETRETA NO, CONTINUE NORMALLY @VA11394 00306200
  336. CLI 5(R4),X'0B' READ RESPONSE TO TEXT @VA11394 00306300
  337. BNE SETRETA NO, CONTINUE NORMALLY @VA11394 00306400
  338. TM BSCFLAG,BSCRVI IS THIS A RVI CHANNEL PGM? @VA12565 00306410
  339. BO SETRETA YES, NO NEED TO RESELECT @VA12565 00306420
  340. TM IOBMISC2,IBBREAD ARE WE DOING A DATA WRITE? @VA13797 00306424
  341. BO SETRETB YES, SEE IF WE CAN RECOVER @VA13797 00306428
  342. SETRETC DS 0H @VA13797 00306432
  343. * THE RESELECT CODE RELIES ON THE FACT THAT THE SETCAW 00306436
  344. * SUBROUTINE IN DMKRGA HAS SAVED THE ADDRESS OF THE 00306440
  345. * CHANNEL PROGRAM CONTAINING THE WRITE DATA IN BSCSPTR. 00306444
  346. * THIS CHANNEL PROGRAM WILL BE USED WHEN THE POLL 00306448
  347. * SUCCEEDS. 00306452
  348. LA R5,BSCSCCW1 GET ADDRESSING CCW'S @VA11394 00306500
  349. ST R5,IOBRCAW RESTART CCW STRING @VA11394 00306600
  350. B SETFLAG GO SET RESTART FLAG @VA11394 00306700
  351. SETRETA DS 0H @VA11394 00306800
  352. MVC IOBRCAW(4),IOBCAW RESTART CCW STRING @V2D3931 00307000
  353. B SETFLAG GO SET RESTART FLAG @V2D3931 00308000
  354. SETRETB CLC IOBRCNT,F7+2 RESELECT AFTER SEVEN RETRIES @VA13797 00308070
  355. BE SETRETA NO, TRY I/O AGAIN @VA13797 00308140
  356. * CHECK FOR EQUAL IS USED SO THAT ONLY ONE RESELECT 00308210
  357. * IS ATTEMPTED. 00308280
  358. TM RDEVFTR,FTRDIAL IS DIAL FEATURE INDICATED? @VA13797 00308350
  359. BO SETRETC YES, THEN SELECTION DATA VALID. @VA13797 00308420
  360. L R5,BSCAUSER GET ADDRESS OF CURRENT NICK BLOCK@VA13797 00308490
  361. ICM R0,10,NICSELT-NICBLOK(R5) GET DOUBLE ADDRESSING @VA13797 00308560
  362. ICM R0,5,NICSELT-NICBLOK(R5) CHARACTERS @VA13797 00308630
  363. STCM R0,15,BSCSEL SAVE ADDRESS OF REMOTE STATION @VA13797 00308700
  364. MVI BSCSEL+4,ENQ SET UP ADDRESSING ENTRY @VA13797 00308770
  365. B SETRETC TRY TO SELECT TERMINAL @VA13797 00308840
  366. SPACE 1 00309000
  367. WRITE2 EQU * HANDLE WRITE CCW @V2D3931 00310000
  368. CLI 5(R4),X'0A' IS TEXT BEING TRANSFER @V2D3931 00311000
  369. BE CHKRES YES, CHECK RESIDUAL COUNT @V2D3931 00312000
  370. B POLCMD GO CHECK FOR POLL COMMAND @V2D3931 00313000
  371. BUSOCK EQU * HANDLE BUS OUT CHECK @V2D3931 00314000
  372. MVI IOERNUM,BUSOUTCK SET BUSOUT ERROR MESSAGE FLAG @V2D3931 00315000
  373. TM IOERDATA,BUSCE IS THIS A BUS OUT CHECK @V2D3931 00316000
  374. BZ DATCHECK NO, CHECK FOR DATA CHECK @V2D3931 00317000
  375. CLC IOBRCNT,F15+2 HIT THE LIMIT ? @VA08380 00318100
  376. BH CALLWTR1 YES, GO WRITE ERROR MESSAGE @V2D3931 00319000
  377. CLI 0(R4),X'02' IS THIS A READ CCW @V2D3931 00320000
  378. BE CALLWTR1 YES, GO WRITE ERROR MESSAGE @V2D3931 00321000
  379. CLI 0(R4),X'09' IS THIS A POLL CCW @V2D3931 00322000
  380. BE SETRET YES, RETRY FROM THE BEGINNING @V2D3931 00323000
  381. CLI 0(R4),X'01' IS THIS A WRITE CCW @V2D3931 00324000
  382. BNE FAILCCW GO RETRY FROM FAILING CCW @V2D3931 00325000
  383. CLI 5(R4),X'0A' IS ERROR PRIOR TO TEXT @V2D3931 00326000
  384. BNE FAILCCW YES, GO RETRY FAILING CCW @V2D3931 00327000
  385. CHKRES EQU * CHECK RESIDUAL COUNT AGAIN CCW @V2D3931 00328000
  386. BAL R5,RESCOUN GO CHECK RESIDUAL COUNT @V2D3931 00329000
  387. B CALLWTR1 GO WRITE ERROR MESSAGE @V2D3931 00330000
  388. DATCHECK EQU * HANDLE DATA CHECK @V2D3931 00331000
  389. MVI IOERNUM,DATAER INDICATE DATA CHECK MESSAGE @V2D3931 00332000
  390. TM IOERDATA,DATACK IS THIS A DATA CHECK ERROR @V2D3931 00333000
  391. BO READHAN YES, GO CHECK FOR READ CCW @V2D3931 00334000
  392. OVERRUN EQU * HANDLE OVERRUN CONDITION @V2D3931 00335000
  393. MVI IOERNUM,OVERERR INDICATE OVERRUN MESSAGE @V2D3931 00336000
  394. TM IOERDATA,OVERN IS THIS A OVERRUN CONDITION @V2D3931 00337000
  395. BO READHAN YES, GO CHECK FOR READ CCW @V2D3931 00338000
  396. COMDREJ EQU * HANDLE COMMAND REJECT @V2D3931 00339000
  397. MVI IOERNUM,BDSNS INDICATE BAD SENSE MESSAGE @V2D3931 00340000
  398. TM IOERDATA,COMRJ IS THIS A COMMAND REJECT @V2D3931 00341000
  399. BZ CALLWTR1 NO, GO WRITE ERROR MESSAGE @V2D3931 00342000
  400. MVI IOERNUM,REJ INDICATE COMMAND REJECT MESSAGE @V2D3931 00343000
  401. MVC IOBMISC2+3(1),IOERDATA MOVE IN SENSE DATA FOR @VA13518 00343300
  402. * COMMAND REJECT 00343600
  403. READHAN EQU * HANDLE READ CCW @V2D3931 00344000
  404. BAL R5,READSUB HANDLE READ CCW @V2D3931 00345000
  405. B CALLWTR1 IF NOT READ CCW, GO WRITE MSG. @V2D3931 00346000
  406. SPACE 1 00348000
  407. NOCCW EQU * @V2D3931 00349000
  408. MVI IOERNUM,FALSE INDICATE BAD SENSE MESSAGE @V2D3931 00350000
  409. CALLWTR1 EQU * @V2D3931 00351000
  410. OI IOERIND3,IOERCAN+IOERINFO SET ON CANCEL & INFORM@V2D3931 00352000
  411. BAL R5,FRETIOER RELEASE THE SECOND IOERBLOK @V2D3931 00354000
  412. L R0,=C'BSC ' IDENTIFICATION OF MODULE @V2D3931 00355000
  413. OI IOERFLG2,IOERMSW SET MESSAGE WRITER ACTIVE @V2D3931 00356000
  414. CLI IOERNUM,INTREQU IS IT INTERVENTION REQ. @VA04766 00357100
  415. BNE CALLMSW NO - LEAVE ACTION CODE INTACT @VA04766 00357200
  416. MVI IOERIND3,IOERACT MESSAGE IND. TO 'A' @VA04766 00357300
  417. CALLMSW CALL DMKMSWR ISSUE ERROR MESSAGE @VA04766 00357400
  418. NI IOERFLG2,X'FF'-IOERMSW CLEAR MESSAGE WRITER FLAG@V2D3931 00358000
  419. BAL R5,FRETIOER RELEASE THE SECOND IOERBLOK @V2D3931 00359000
  420. OI IOBSTAT,IOBFATAL SET I/O FATAL FLAG @V2D3931 00360000
  421. CORRECT EQU * FINISH SUCCESSFULLY @V2D3931 00361000
  422. L R7,IOBRCAW POINT AT RESTART CCW @VA13970 00361100
  423. L R7,0(R7) GET RESTART CCW @VA13970 00361150
  424. CLI 0(R7),ENQ IS IT AN ENQ?? @VA13970 00361200
  425. BNE NOREST NO, CONTINUE @VA13970 00361250
  426. CLC BSCRESP(2),BSCRCVD RESPONSE AN ACK0/ACK1? @VA13970 00361300
  427. BE SETRETA YES, RESTART FAILING CCW'S @VA13970 00361350
  428. CLC BSCRESP(2),BSCSEND RESPONSE AN ACK1/ACK0? @VA13970 00361400
  429. BE SETRETA YES, RESTART FAILING CCW'S @VA13970 00361450
  430. NOREST DS 0H CONTINUE AS BEFORE @VA13970 00361500
  431. L R7,RDEVIOER GET IOERBLOK BACK IN REG7 @VA13970 00361550
  432. SLR R1,R1 ZERO PARAMETER REG @VA03757 00362100
  433. CALL DMKIOEST GO UPDATE STATISTICAL COUNTERS @VA03757 00362200
  434. INITREAD EQU * @V346931 00362300
  435. BAL R5,FRETPTR RELEASE THE WORK AREA @V346931 00362400
  436. EXIT1 EQU * NO IOERBLOK POINTER @V2D3931 00363000
  437. NI IOBFLAG,X'FF'-(IOBRSTRT+IOBERP) RESET ERP & @V2D3931 00364000
  438. * RSTRT 00365000
  439. EXIT RETURN TO IOS @V2D3931 00366000
  440. EJECT 00367000
  441. FRETIOER EQU * RELEASE THE SECOND IOERBLOK @V2D3931 00368000
  442. ICM R1,15,IOBIOER IS THERE A SECOND IOERBLOK @V2D3931 00369000
  443. BZ NOTUSED NO, RETURN TO IN LINE CODE @V2D3931 00370000
  444. TM IOERCSW+5-IOERBLOK(R1),IFCC+CCC+CDC IS CHANNEL @V2D3931 00371000
  445. BZ CKEND NO, GO FRET IOERBLOK @V2D3931 00372000
  446. LR R3,R1 SAVE SECOND IOERBLOK ADDRESS @V2D3931 00373000
  447. L R1,IOERCCRA-IOERBLOK(R3) CHANNEL REC ADDR @V508690 00374500
  448. L R0,IOERCCRL-IOERBLOK(R3) CHANNEL REC LENGTH @V508690 00375500
  449. CALL DMKFRET RELEASE STORAGE FOR RECORD @V2D3931 00376000
  450. LR R1,R3 RESTORE SECOND IOERBLOK ADDRESS @V2D3931 00377000
  451. CKEND EQU * @V2D3931 00378000
  452. LA R0,IOERSIZE GET SIZE IN DOUBLEWORDS @V2D3931 00379000
  453. AH R0,IOEREXT-IOERBLOK(,R1) ADD EXTRA LENGTH @V2D3931 00380000
  454. CALL DMKFRET RELEASE STORAGE FOR IOERBLOK @V2D3931 00381000
  455. NOTUSED EQU * @V2D3931 00382000
  456. MVC IOBIOER,ZEROES CLEAR POINTER TO IOERBLOK @V2D3931 00383000
  457. BR R5 RETURN TO IN LINE CODE @V2D3931 00384000
  458. SPACE 2 00385000
  459. FRETPTR EQU * @V2D3931 00386000
  460. SR R0,R0 CLEAR REGISTER ZERO @V2D3931 00387000
  461. ICM R0,3,IOERDW GET ALLOCATED SIZE IN DOUBLEWORDS@V2D3931 00388000
  462. BCR 8,R5 IF ZERO, DON'T FRET STORAGE @V2D3931 00389000
  463. L R1,IOERLOC GET ADDRESS OF ALLOCATED STORAGE @V2D3931 00390000
  464. CALL DMKFRET RELEASE STORAGE @V2D3931 00391000
  465. SR R0,R0 CLEAR REGISTER 0 @V2D3931 00392000
  466. ST R0,IOERLOC CLEAR ADDR OF ALLOCATED STORAGE @V2D3931 00393000
  467. STH R0,IOERDW CLEAR SIZE AREA @V2D3931 00394000
  468. XC IOBRCAW,IOBRCAW CLEAR ADDRESS OF RETRY CCW'S @VA08266 00394100
  469. LA R1,ERPCCW3-ERPBSC(,R1) 8 BYTES AFTER WRITE @VA08266 00394200
  470. CL R1,IOBCSW CSW POINT TO THE WRITE ? @VA08266 00394300
  471. BNER R5 NO,ALL OK - RETURN @VA08266 00394400
  472. XC IOBCSW,IOBCSW YES, CLEAR OUT THE CSW @VA08266 00394500
  473. BR R5 RETURN TO IN LINE CODE @V2D3931 00395000
  474. SPACE 2 00395050
  475. RESTLINE EQU * RESTORE LINE TO CONTROL MODE @V346931 00395100
  476. CLC IOBRCNT,F15+2 HIT THE LIMIT ? @VA08380 00395160
  477. BH CALLWTR1 YES, GO ISSUE ERROR MESSAGE @V346931 00395200
  478. MVC BSCPCCW1(TWOCCW),WRITEOT WRITE EOT, READ RESPONS@V346931 00395250
  479. XC BSCRESP(L'BSCRESP),BSCRESP CLEAR INPUT BUFFER @V346931 00395300
  480. LA R5,BSCRESP GET ADDRESS OF RESPONSE BUFFER @V346931 00395350
  481. STCM R5,B'0111',BSCPCCW2+1 RESPONSE BUF ADDR TO CCW @V346931 00395400
  482. LA R1,BSCPCCW1 POINT TO START OF CCW CHAIN @V346931 00395450
  483. ST R1,IOBRCAW SAVE CCW CHAIN START ADDRESS @V346931 00395500
  484. B SETFLAG GO SET UP FOR RESTART OPERATION @V346931 00395550
  485. SPACE 2 00396000
  486. GETCUCCW EQU * @V2D3931 00397000
  487. L R4,IOERCSW GET FAILING CCW ADDRESS PLUS 8 @V2D3931 00398000
  488. LA R4,0(R4) CLEAR HIGH ORDER BYTE @V2D3931 00399000
  489. S R4,F8 GET FAILING CCW ADDRESS @V2D3931 00400000
  490. BM NOCCW IF NEGATIVE, WRITE ERROR MESSAGE @V2D3931 00401000
  491. BR R5 RETURN TO IN LINE CODE @V2D3931 00402000
  492. SPACE 2 00403000
  493. NAKSUB EQU * SET UP CCWS FOR NAK RESPONSE @V2D3931 00404000
  494. MVC ERPCCW2(8),WRITNAK GET WRITE CCW FOR NAK REPLY @V2D3931 00405000
  495. MVC ERPCCW3(8),TICCCW SET UP TIC CCW @V2D3931 00406000
  496. STCM R4,7,ERPCCW3+1 SAVE ADDRESS OF FAILING CCW @V2D3931 00407000
  497. XC BSCREAD(256),BSCREAD CLEAR READ BUFFER @V305798 00408000
  498. XC BSCREAD+256(L'BSCREAD-256),BSCREAD+256 @V305798 00409000
  499. BR R5 RETURN TO IN LINE CODE @V2D3931 00410000
  500. SPACE 2 00411000
  501. ENQSUB EQU * SET UP TO SEND ENQ RESPONSE @V2D3931 00412000
  502. MVC ERPCCW2(8),WRITENQ GET WRITE CCW FOR ENQ RESP. @V2D3931 00413000
  503. MVC ERPCCW3(8),TICCCW SET UP TIC CCW @V2D3931 00414000
  504. STCM R4,7,ERPCCW3+1 SAVE ADDRESS OF FAILING CCW @V2D3931 00415000
  505. XC BSCRESP(L'BSCRESP),BSCRESP CLEAR RESPONSE BUFFER@V2D3931 00416000
  506. BR R5 RETURN TO IN LINE CODE @V2D3931 00417000
  507. SPACE 2 00418000
  508. RESCOUN EQU * CHECK THE RESIDUAL COUNT @V2D3931 00419000
  509. LH R9,IOERCSW+6 GET RESIDUAL COUNT @V2D3931 00420000
  510. LH R6,6(R4) GET CCW COUNT @V2D3931 00421000
  511. CR R9,R6 ARE COUNTS EQUAL @V2D3931 00422000
  512. BE FAILCCW YES, GO RETRY FAILING CCW @V2D3931 00423000
  513. BR R5 RETURN TO IN LINE CODE @V2D3931 00424000
  514. SPACE 2 00425000
  515. READSUB EQU * HANDLE A FAILING READ CCW @V2D3931 00426000
  516. CLC IOBRCNT,F15+2 HIT THE LIMIT ? @VA08380 00427100
  517. BH CALLWTR1 YES, GO WRITE ERROR MESSAGE @V2D3931 00428000
  518. CLI 0(R4),X'02' IS THIS A READ CCW @V2D3931 00429000
  519. BNER R5 NO, RETURN TO IN LINE CODE @V2D3931 00430000
  520. CLI 5(R4),X'08' ARE WE CLEARING UNIT EXCEPTION @VA13944 00430100
  521. BNE READSUB1 NO, USE STANDARD RECOVERY @VA13944 00430200
  522. MVC IOBCAW+1(3),IOBMISC2+1 ELSE, SETUP TO RETRY @VA13944 00430300
  523. B SETRETA ORIGINAL FAILING CCWS @VA13944 00430400
  524. READSUB1 DS 0H RETRY FAILING READ CCW STRINGS @VA13944 00430500
  525. TM IOERDATA-IOERBLOK(R3),TIMEOT IS THIS A TIMEOUT @VM01049 00431000
  526. BNO NOTIMOUT NO, GO CHECK FOR FIRST ERROR @VA13970 00432010
  527. CLI 5(R4),X'0B' READ RESP TO TEXT CCW? @VA13970 00432020
  528. BE SENDENQ YES, THEN GO SEND AN ENQ @VA13970 00432030
  529. CLI 5(R4),X'0C' IS IT A BLOCK READ CCW? @VA13970 00432040
  530. BE SENDENQ YES, THEN GO SEND AN ENQ @VA13970 00432050
  531. B SETRETA NO, GO RETRY FAILING CCW @VA13970 00432060
  532. NOTIMOUT DS 0H @VA13970 00432070
  533. CLC IOBRCNT,F1+2 IS THIS THE FIRST ERROR ?? @VA03757 00432100
  534. BNE FORGETFG NO, FORGET THE READ FLAG @VA03757 00432200
  535. OI IOERFLG3,IOERREAD TURN ON READ FLAG FOR SDR @VA03757 00432300
  536. FORGETFG EQU * @VA03757 00432400
  537. CLI 5(R4),X'0A' IS TEXT BEING TRANSFER @VM01094 00433000
  538. BE RETRAN YES, SEND NAK RESPONSE TO DEVICE @VM01094 00434000
  539. CLI 5(R4),X'0C' IS THIS A BLOCK READ CCW @VM03043 00435000
  540. BE RETRAN YES, SEND NAK RESPONSE TO DEVICE @VM03043 00436000
  541. CLI 5(R4),X'04' TEXT BEING TRANSFER (STATION ERR)@VM01094 00437000
  542. BNE CHKRESP NO, EXPECTED REPLY FROM STATION @VM01094 00438000
  543. RETRAN EQU * ASK STATION TO RETRANSMIT TEXT @V2D3931 00439000
  544. BAL R5,NAKSUB SET UP CCWS TO SEND NAK RESPONSE @V2D3931 00440000
  545. LA R1,ERPCCW2 GET ADDRESS OF CCW STRING @V2D3931 00441000
  546. ST R1,IOBRCAW SET UP RESTART CAW FIELD @V2D3931 00442000
  547. B SETFLAG GO SET RESTART FLAG @V2D3931 00443000
  548. CHKRESP EQU * @V2D3931 00444000
  549. CLI 5(R4),X'0D' WRITE RESET CCW? @V346931 00444200
  550. BE SETRET YES, GO RESTART CCW STRING @V346931 00444400
  551. CLI 5(R4),X'05' IS THIS A READ RESPONSE TO ADDR. @V2D3931 00445000
  552. BE SETRET YES, GO RESTART CCW STRING @VA13944 00446100
  553. CLI 5(R4),X'0B' IS THIS A RESPONSE FROM TEXT @V2D3931 00447000
  554. BNE 4(R5) NO, RETURN TO IN LINE CODE PLUS 4@V2D3931 00448000
  555. SENDENQ EQU * SET UP CCWS FOR ENQ RESPONSE @V2D3931 00449000
  556. BAL R5,ENQSUB SET UP CCWS FOR ENQ RESPONSE @V2D3931 00450000
  557. LA R1,ERPCCW2 GET START OF CCW STRING @V2D3931 00451000
  558. ST R1,IOBRCAW SET UP RESTART CAW FIELD @V2D3931 00452000
  559. SETFLAG EQU * SET UP TO DO A RESTART OPERATION @V2D3931 00453000
  560. OI IOBFLAG,IOBRSTRT SET THE RESTART FLAG @V2D3931 00454000
  561. BAL R5,FRETIOER RELEASE THE SECOND IOERBLOK @V2D3931 00455000
  562. EXIT RETURN TO IOS FOR RESTART @V2D3931 00456000
  563. ************************************************************* 00457000
  564. EJECT 00458000
  565. * SENSE STATUS FOR THE TRANSMISSION CONTROL UNIT 00459000
  566. EQUI1 EQU X'10' EQUIPMENT CHECK @V2D3931 00460000
  567. BUSCE EQU X'20' BUS OUT CHECK @V2D3931 00461000
  568. INTRV EQU X'40' INTERVENTION CONDITION @V2D3931 00462000
  569. COMRJ EQU X'80' COMMAND REJECT @V2D3931 00463000
  570. OVERN EQU X'04' OVERRUN CONDITION @V2D3931 00464000
  571. DATACK EQU X'08' DATA CHECK ERROR @V2D3931 00465000
  572. TIMEOT EQU X'01' TIMEOUT CONDITION @V2D3931 00466000
  573. LDATA EQU X'02' LOST DATA CHECK @V2D3931 00467000
  574. SPACE 2 @VA13797 00467100
  575. * READ/WRITE OPERATION TYPES 00467200
  576. IBBSELA EQU X'80' ADDRESSING/SELECTING A STATION @VA13797 00467300
  577. IBBWRITE EQU X'40' WRITE DATA TO A REMOTE STATION @VA13797 00467400
  578. IBBREAD EQU X'20' GENERAL POLLING OF STATIONS @VA13797 00467500
  579. IBBSPOLL EQU X'10' SPECIFIC POLLING TO A STATION @VA13797 00467600
  580. SPACE 2 00468000
  581. * CODES USED FOR ERROR MESSAGE 00469000
  582. REJ EQU 0 COMMAND REJECT @V2D3931 00470000
  583. INTREQU EQU 1 INTERVENTION REQUEST @V2D3931 00471000
  584. BUSOUTCK EQU 2 BUSOUT CHECK @V2D3931 00472000
  585. EQUIP EQU 3 EQUIPMENT CHECK @V2D3931 00473000
  586. DATAER EQU 4 DATA CHECK @V2D3931 00474000
  587. OVERERR EQU 5 OVERRUN CHECK @V2D3931 00475000
  588. BDSNS EQU 16 BAD SENSE INFORMATION @V2D3931 00476000
  589. FALSE EQU 17 NOT/KNOWN @V2D3931 00477000
  590. TIMOUT EQU 28 TIMEOUT CONDITION @V2D3931 00478000
  591. LOST EQU 27 LOST DATA CHECK @V2D3931 00479000
  592. CHANERR EQU 20 CHANNEL ERROR @V2D3931 00480000
  593. ******* THE ABOVE CODES MUST BE IDENTICAL TO THE **************** 00481000
  594. ******* CODES IN THE MESSAGE WRITER (DMKMSW) **************** 00482000
  595. SPACE 2 00483000
  596. * DATA-LINK CONTROL CHARACTERS FOR 3270 REMOTE SYSTEM 00484000
  597. NAK EQU X'3D' NEGATIVE ACKNOWLEDGMENT @V2D3931 00485000
  598. ENQ EQU X'2D' ENQUIRY @V2D3931 00486000
  599. EOT EQU X'37' END OF TRANSMISSION @V346931 00486100
  600. SPACE 2 00487000
  601. * CCWS FOR BISYNC ERROR PROCEDURES 00488000
  602. DS 0D @V2D3931 00489000
  603. TICCCW DC X'08',AL3(0),AL1(SILI,X'00'),AL2(1) @V2D3931 00490000
  604. WRITNAK DC X'01',AL3(RGANAK),AL1(SILI+CC,X'06'),AL2(1) @VA13944 00491100
  605. WRITENQ DC X'01',AL3(RGAENQ),AL1(SILI+CC,X'00'),AL2(1) @V2D3931 00492000
  606. SPACE 2 00492100
  607. * 3275 DIAL SELECTION CCWS (PSUEDO POLLING OPERATION) @V346931 00492200
  608. WRITEOT DC X'01',AL3(RGAEOT),AL1(SILI+CC,X'02'),AL2(1) @V346931 00492300
  609. DC X'02',AL3(0),AL1(SILI,X'0D'),AL2(2) @V346931 00492400
  610. TWOCCW EQU (8*2) LENGTH OF TWO CCWS @V346931 00492500
  611. SPACE 2 00493000
  612. * STORAGE FOR DATA LINK CONTROL CHARACTERS 00494000
  613. RGANAK DC AL1(NAK) NEGATIVE RESPONSE CHARACTER @V2D3931 00495000
  614. RGAENQ DC AL1(ENQ) INQUIRY CHARACTER @V2D3931 00496000
  615. RGAEOT DC AL1(EOT) END OF TRANSMISSION @V346931 00496100
  616. ******************************************************************** 00497000
  617. EJECT 00498000
  618. LTORG @V2D3931 00499000
  619. EJECT 00500000
  620. ERPBSC DSECT @V2D3931 00501000
  621. ERPCCW1 DS D CCW FOR READ SLIP @V2D3931 00502000
  622. ERPCCW2 DS D CCW FOR WRITE RESPONSE TO STATION@V2D3931 00503000
  623. ERPCCW3 DS D CCW TRANSFER CONTROL TO FAIL. CCW@V2D3931 00504000
  624. ERPSIZE EQU (*-ERPBSC)/8 ERPBSC SIZE IN DOUBLE WORDS @V2D3931 00505000
  625. EJECT 00506000
  626. COPY BSCBLOKS @V2D3931 00507000
  627. COPY NETWORK 00507500
  628. EJECT 00508000
  629. COPY IOER @V2D3931 00509000
  630. EJECT 00510000
  631. COPY RBLOKS @V2D3931 00511000
  632. EJECT 00512000
  633. COPY IOBLOKS @V2D3931 00513000
  634. EJECT 00514000
  635. COPY CONBUF @V2D3931 00515000
  636. EJECT 00516000
  637. COPY DEVTYPES @V2D3931 00517000
  638. EJECT 00518000
  639. COPY EQU @V2D3931 00519000
  640. EJECT 00520000
  641. COPY SAVE @V2D3931 00521000
  642. EJECT 00522000
  643. PSA @V2D3931 00523000
  644. END 00524000