Table of Contents

DTFCP Source

References

Source Listing

DTFCP.MACRO.txt
  1. CATALS A.DTFCP 00001000
  2. MACRO 00002000
  3. &NAME DTFCP &DEVADDR=,&IOAREA1=,&IOAREA2=,&RECSIZE=81,&EOFADDR=,&TYPEFLX00003000
  4. E=,&IOREG=0,&DISK=,&IOPTR=,&SEPASMB=,&RDONLY=, X00004000
  5. &ASCII= 00005000
  6. LCLA &AL(3),&AL4 00006000
  7. LCLB &BL1 00007000
  8. LCLC &CP(2),&RD,&DSK 00008000
  9. * IOCS AND DEV INDEPENDANT I/O DTFCP 5745-SC-IOX - REL. 30.0 @DL30SMG 00009000
  10. AIF (K'&NAME LT 8).NAMOK 00010000
  11. MNOTE 9,'FILE NAME EXCEEDS SEVEN CHAR LIMIT, MACRO GENERATION *00011000
  12. TERMINATED' 00012000
  13. MEXIT 00013000
  14. .NAMOK ANOP 00014000
  15. AIF ('&ASCII' NE 'YES').NOASCII 00015000
  16. AIF (T'&IOAREA2 NE 'O').ASCMNOT 00016000
  17. AIF (T'&DISK EQ 'O').ASCMNOT 00017000
  18. AIF (T'&IOPTR NE 'O').ASCMNOT 00018000
  19. AGO .NOASCII 00019000
  20. .ASCMNOT ANOP 00020000
  21. MNOTE 1,'CONFLICTING ASCII SPECIFICATION.MACRO GENERATION *00021000
  22. TERMINATED.' 3-8 00022000
  23. MEXIT 00023000
  24. .NOASCII ANOP 00024000
  25. &RD SETC 'P' 00025000
  26. AIF (T'&RDONLY EQ 'O').RD1 00026000
  27. AIF ('&RDONLY' EQ 'YES').RD2 00027000
  28. MNOTE 0,'IMPROPER RDONLY. ''YES'' ASSUMED.' 3-3 00028000
  29. .RD2 ANOP 00029000
  30. &RD SETC 'O' 00030000
  31. .RD1 ANOP 00031000
  32. &CP(1) SETC '&IOREG'(1,1) 00032000
  33. AIF ('&CP(1)' NE '(').NOPRN 00033000
  34. &AL(2) SETA &IOREG(1) 00034000
  35. AGO .CPIOR 00035000
  36. .NOPRN ANOP 00036000
  37. &AL(2) SETA &IOREG 00037000
  38. .CPIOR ANOP 00038000
  39. AIF (T'&IOAREA1 NE 'O' OR T'&IOPTR NE 'O').OK 00039000
  40. MNOTE 0,'NO IOAREA1 SPECIFIED. SET TO 0. PATCH' 00040000
  41. .OK ANOP 00041000
  42. AIF ('&EOFADDR' NE '' OR '&TYPEFLE' EQ 'OUTPUT').OK3 00042000
  43. MNOTE 0,'NO EOFADDR SPECIFIED' 00043000
  44. .OK3 ANOP 00044000
  45. AIF ('&AL(2)' NE '0').OK4 00045000
  46. AIF (T'&IOAREA2 EQ 'O').OK6 00046000
  47. MNOTE 'WARNING, I/O REG UNASSIGNED, TABLE GENERATED' 00047000
  48. AGO .OK6 00048000
  49. .OK4 ANOP 00049000
  50. AIF ('&AL(2)' LT '2' OR '&AL(2)' GT '13').ER1 00050000
  51. AGO .OK5 00051000
  52. .ER1 ANOP 00052000
  53. MNOTE 0,'IOREG INVALID PARAMETER. SET TO 0' 00053000
  54. .OK5 ANOP 00054000
  55. AIF (T'&IOAREA2 NE 'O').OK6 00055000
  56. MNOTE 0,'IOREG SPECIFIED FOR A ONE IOAREA FILE.IGNORED' 00056000
  57. .OK6 ANOP 00057000
  58. AIF (T'&DEVADDR NE 'O').OK6B 00058000
  59. MNOTE 0,'NO DEVADDR SPECIFIED. LOGICAL UNIT SET TO ''FFFF''' 00059000
  60. .OK6B ANOP 00060000
  61. AIF ('&ASCII' NE 'YES').NOASCSU 00061000
  62. AIF ('&DEVADDR'(4,1) LT '0').ASCSU 00062000
  63. AGO .NOASCSU 00063000
  64. .ASCSU ANOP 00064000
  65. MNOTE *,'POSSIBLE ERROR.NO ASCII SUPPORT FOR SYSTEM UNITS' 3-8 00065000
  66. .NOASCSU ANOP 00066000
  67. AIF ('&SEPASMB' NE 'YES').OK6C 00067000
  68. PUNCH ' CATALR &NAME,30.0' CATALR CARD @DL30SMT 00068000
  69. &NAME.C CSECT 00069000
  70. ENTRY &NAME 00070000
  71. .OK6C ANOP 00071000
  72. CNOP 0,8 00072000
  73. &NAME DC H'0' RESIDUAL COUNT 00073000
  74. DC X'8400' COMMUNICATION BYTES 00074000
  75. DC X'0800' CSW STATUS BYTES 00075000
  76. AIF (T'&DEVADDR NE 'O').CKDAD 00076000
  77. DC X'FFFF' 00077000
  78. MNOTE *,'PATCH DEVADDR HERE' 00078000
  79. AGO .STRT 00079000
  80. .CKDAD ANOP 00080000
  81. AIF ('&DEVADDR' NE 'SYSRDR').NTRD 00081000
  82. DC X'0000' LOGICAL UNIT 00082000
  83. AGO .STRT 00083000
  84. .NTRD ANOP 00084000
  85. AIF ('&DEVADDR' NE 'SYSIPT').NTIP 00085000
  86. DC X'0001' LOGICAL UNIT 00086000
  87. AGO .STRT 00087000
  88. .NTIP ANOP 00088000
  89. AIF ('&DEVADDR' NE 'SYSLST').NTLST 00089000
  90. DC X'0003' LOGICAL UNIT 00090000
  91. AGO .STRT 00091000
  92. .NTLST ANOP 00092000
  93. AIF ('&DEVADDR' NE 'SYSPCH').NTPH 00093000
  94. DC X'0002' LOGICAL UNIT 00094000
  95. AGO .STRT 00095000
  96. .NTPH ANOP 00096000
  97. AIF ('&DEVADDR' NE 'SYSLNK').NTRES 00097000
  98. DC X'0005' LOGICAL UNIT 00098000
  99. AGO .STRT 00099000
  100. .NTRES ANOP 00100000
  101. AIF ('&DEVADDR' NE 'SYSRES').NTLK 00101000
  102. DC X'0006' LOGICAL UNIT PREWAV1 00102000
  103. AGO .STRT 00103000
  104. .NTLK ANOP 00104000
  105. AIF ('&DEVADDR' NE 'SYSSLB').NTSB 00105000
  106. DC X'0007' LOGICAL UNIT 00106000
  107. AGO .STRT 00107000
  108. .NTSB ANOP 00108000
  109. AIF ('&DEVADDR' NE 'SYSRLB').NTRB 00109000
  110. DC X'0008' LOGICAL UNIT 00110000
  111. AGO .STRT 00111000
  112. .NTRB ANOP 00112000
  113. AIF ('&DEVADDR' NE 'SYSCLB').NTCB 00113000
  114. DC X'000B' LOGICAL UNIT FOR SYSCLB 3-9 00114000
  115. AGO .STRT 00115000
  116. .NTCB ANOP 00116000
  117. DC AL1(1) DEFAULT VALUE 3-9 00117000
  118. &CP(2) SETC '&DEVADDR'(4,3) 00118000
  119. DC AL1(&CP(2)) LOGICAL UNIT 00119000
  120. .STRT ANOP 00120000
  121. DC X'00' 00121000
  122. DC AL3(IJJC&SYSNDX) CCW ADDRESS 00122000
  123. DC XL1'0' STATUS BYTE 00123000
  124. DC XL3'0' CSW CCW ADDRESS 00124000
  125. &DSK SETC '&DISK' 00125000
  126. AIF ('&ASCII' EQ 'YES').ASCII 00126000
  127. DC XL1'0' 00127000
  128. AGO .NOASC 00128000
  129. .ASCII ANOP 00129000
  130. AIF ('&DSK' EQ 'YES').ASCOK 00130000
  131. MNOTE 0,'IMPROPER DISK SPECIFIED. ''YES'' ASSUMED.' 3-8 00131000
  132. &DSK SETC 'YES' 00132000
  133. .ASCOK ANOP 00133000
  134. DC X'02' 3-8 00134000
  135. DC VL3(IJJC&RD.A1N) ASCII LOGIC MODULE @DL30SMT 00135000
  136. AGO .TYF 00136000
  137. .NOASC ANOP 00137000
  138. AIF (T'&IOPTR NE 'O').VARY 00138000
  139. AIF (T'&IOAREA2 EQ 'O').WIO 00139000
  140. AIF ('&TYPEFLE' NE 'OUTPUT').TWIN 00140000
  141. AIF (T'&DISK EQ 'O').SYSLR 00141000
  142. AIF ('&DEVADDR' EQ 'SYSPCH').RTRY1 00142000
  143. DC VL3(IJJC&RD.D0N) 3-3 00143000
  144. AGO .TYF 00144000
  145. .RTRY1 ANOP 00145000
  146. DC VL3(IJJC&RD.D0) 3-3 00146000
  147. AGO .TYF 00147000
  148. .TWIN ANOP 00148000
  149. AIF (T'&DISK EQ 'O').SYSTN 00149000
  150. DC VL3(IJJC&RD.D2) 3-3 00150000
  151. AGO .TYF 00151000
  152. .WIO ANOP 00152000
  153. AIF ('&TYPEFLE' NE 'OUTPUT').WIN 00153000
  154. AIF (T'&DISK EQ 'O').SYSWT 00154000
  155. AIF ('&DEVADDR' EQ 'SYSPCH').RTRY2 00155000
  156. DC VL3(IJJC&RD.D1N) 3-3 00156000
  157. AGO .TYF 00157000
  158. .RTRY2 ANOP 00158000
  159. DC VL3(IJJC&RD.D1) 3-3 00159000
  160. AGO .TYF 00160000
  161. .WIN ANOP 00161000
  162. AIF (T'&DISK EQ 'O').SYSWN 00162000
  163. DC VL3(IJJC&RD.D3) 3-3 00163000
  164. AGO .TYF 00164000
  165. .SYSWN ANOP 00165000
  166. DC VL3(IJJC&RD.3) 3-3 00166000
  167. AGO .TYF 00167000
  168. .SYSLR ANOP 00168000
  169. AIF ('&DEVADDR' EQ 'SYSPCH').RTRY3 00169000
  170. DC VL3(IJJC&RD.0N) 3-3 00170000
  171. AGO .TYF 00171000
  172. .RTRY3 ANOP 00172000
  173. DC VL3(IJJC&RD.0) 3-3 00173000
  174. AGO .TYF 00174000
  175. .SYSTN ANOP 00175000
  176. DC VL3(IJJC&RD.2) 3-3 00176000
  177. AGO .TYF 00177000
  178. .SYSWT ANOP 00178000
  179. AIF ('&DEVADDR' EQ 'SYSPCH').RTRY4 00179000
  180. DC VL3(IJJC&RD.1N) 3-3 00180000
  181. AGO .TYF 00181000
  182. .RTRY4 ANOP 00182000
  183. DC VL3(IJJC&RD.1) 3-3 00183000
  184. AGO .TYF 00184000
  185. .VARY ANOP 00185000
  186. AIF ('&TYPEFLE' EQ 'INPUT').VARIN 00186000
  187. AIF (T'&DISK EQ 'O').VTPO 00187000
  188. AIF ('&DEVADDR' EQ 'SYSPCH').RTRY5 00188000
  189. DC VL3(IJJC&RD.DV1) 3-3 00189000
  190. AGO .TYF 00190000
  191. .RTRY5 ANOP 00191000
  192. DC VL3(IJJC&RD.DV) 3-3 00192000
  193. AGO .TYF 00193000
  194. .VTPO ANOP 00194000
  195. AIF ('&DEVADDR' EQ 'SYSPCH').RTRY6 00195000
  196. DC VL3(IJJC&RD.V1) 3-3 00196000
  197. AGO .TYF 00197000
  198. .RTRY6 ANOP 00198000
  199. DC VL3(IJJC&RD.V) 3-3 00199000
  200. AGO .TYF 00200000
  201. .VARIN ANOP 00201000
  202. AIF (T'&DISK EQ 'O').VTIN 00202000
  203. DC VL3(IJJC&RD.DV2) 3-3 00203000
  204. AGO .TYF 00204000
  205. .VTIN ANOP 00205000
  206. DC VL3(IJJC&RD.V2) 3-3 00206000
  207. .TYF ANOP 00207000
  208. AIF (T'&DISK EQ 'O').TPSYS 00208000
  209. DC X'32' DTF TYPE 00209000
  210. AIF ('&TYPEFLE' EQ 'OUTPUT').OTPT 00210000
  211. DC X'02' OPEN INDICATORS 00211000
  212. AGO .LGADD 00212000
  213. .OTPT ANOP 00213000
  214. DC X'00' OPEN INDICATORS 00214000
  215. .LGADD ANOP 00215000
  216. DC CL8'&NAME' FILE NAME 00216000
  217. AIF ('&DSK' EQ 'NO').SYS 00217000
  218. DC 6X'00' BCCHHR 00218000
  219. AGO .CP1 00219000
  220. .SYS ANOP 00220000
  221. DC X'FF' INDICATOR FOR OPEN 00221000
  222. DC X'00' WORK AREA 00222000
  223. AIF ('&CP(1)' NE '0').CPLD1 00223000
  224. NOP 0(0) 00224000
  225. AGO .CP1 00225000
  226. .CPLD1 ANOP 00226000
  227. AIF (T'&IOAREA2 NE 'O').CHK1 00227000
  228. NOP 0(0) 00228000
  229. AGO .CP1 00229000
  230. .CHK1 ANOP 00230000
  231. AIF ('&AL(2)' LT '2' OR '&AL(2)' GT '13').RGMG 00231000
  232. LA &AL(2),0(14) LOAD USER I/O REGISTER 00232000
  233. AGO .CP1 00233000
  234. .RGMG ANOP 00234000
  235. LA 0,0(14) LOAD USER I/O REGISTER 00235000
  236. .CP1 ANOP 00236000
  237. DC 2X'00' VOL. SEQ. NO. OR WORK AREA 00237000
  238. DC X'08' OPEN SWITCH 00238000
  239. DC 2X'00' XTNT SEQ. NO. OR CONSTANT FOR PUNCH 00239000
  240. DC X'20' CONSTANT 00240000
  241. DC X'20' DEV INDCTR & RPS SWITCH @DL30SMT 00241000
  242. DC X'F3' INDICATOR FOR LOGIC 00242000
  243. &AL(1) SETA 0 00243000
  244. AIF ('&TYPEFLE' EQ 'OUTPUT').PUTCP1 00244000
  245. &AL(1) SETA 128 00245000
  246. AGO .PUTCP 00246000
  247. .PUTCP1 ANOP 00247000
  248. &AL(1) SETA &AL(1)+32 00248000
  249. .PUTCP ANOP 00249000
  250. AIF (T'&IOAREA2 EQ 'O').IND 00250000
  251. &AL(1) SETA &AL(1)+16 00251000
  252. .IND ANOP 00252000
  253. AIF ('&DEVADDR' NE 'SYSLST' AND '&DEVADDR' NE 'SYSPCH').IND2 00253000
  254. &AL(1) SETA &AL(1)+4 00254000
  255. .IND2 ANOP 00255000
  256. DC AL1(&AL(1)) LOGIC INDICATORS 00256000
  257. AIF (T'&IOAREA1 EQ 'O' OR T'&IOPTR NE 'O').ALTZR 00257000
  258. AIF (T'&IOAREA2 EQ 'O' OR '&TYPEFLE' EQ 'OUTPUT').ALTOT 00258000
  259. DC AL3(&IOAREA2) ALTERNATE I/O AREA 00259000
  260. AGO .OP2 00260000
  261. .ALTOT ANOP 00261000
  262. DC AL3(&IOAREA1) ALT I/O AREA 00262000
  263. AGO .OP2 00263000
  264. .ALTZR ANOP 00264000
  265. DC AL3(0) ALT I/O AREA 00265000
  266. AIF (T'&IOPTR NE 'O').OP2 00266000
  267. MNOTE *,'PATCH IOAREA1 ADDRESS HERE' 00267000
  268. .OP2 ANOP 00268000
  269. AIF ('&DSK' EQ 'YES').OP2B 00269000
  270. AIF ('&TYPEFLE' NE 'OUTPUT').CPIN 00270000
  271. AIF (T'&IOAREA2 EQ 'O').PT1 00271000
  272. IJJC&SYSNDX CCW X'01',&IOAREA2,X'20',&RECSIZE 00272000
  273. AIF ('&DEVADDR' NE 'SYSPCH').CPND 00273000
  274. CCW 1,*+16,X'20',&RECSIZE-1 PUNCH ERROR CCW1 00274000
  275. CCW 1,*+88,X'20',&RECSIZE-1 PUNCH ERROR CCW2 00275000
  276. DS CL80 SAVE AREA1 FOR CARD IMAGE 00276000
  277. DS CL80 SAVE AREA2 FOR CARD IMAGE 00277000
  278. AGO .CPND 00278000
  279. .PT1 ANOP 00279000
  280. AIF (T'&IOPTR NE 'O' OR T'&IOAREA1 EQ 'O').PTVAR 00280000
  281. IJJC&SYSNDX CCW X'01',&IOAREA1,X'20',&RECSIZE 00281000
  282. AIF ('&DEVADDR' NE 'SYSPCH').CPND 00282000
  283. CCW 1,*+16,X'20',&RECSIZE-1 PUNCH ERROR CCW1 00283000
  284. CCW 1,*+88,X'20',&RECSIZE-1 PUNCH ERROR CCW2 00284000
  285. DS CL80 SAVE AREA1 FOR CARD IMAGE 00285000
  286. DS CL80 SAVE AREA2 FOR CARD IMAGE 00286000
  287. AGO .CPND 00287000
  288. .PTVAR ANOP 00288000
  289. IJJC&SYSNDX CCW X'01',0,X'20',&RECSIZE 00289000
  290. AIF ('&DEVADDR' NE 'SYSPCH').CPND 00290000
  291. CCW 1,*+16,X'20',&RECSIZE-1 PUNCH ERROR CCW1 00291000
  292. CCW 1,*+88,X'20',&RECSIZE-1 PUNCH ERROR CCW2 00292000
  293. DS CL80 SAVE AREA1 FOR CARD IMAGE 00293000
  294. DS CL80 SAVE AREA2 FOR CARD IMAGE 00294000
  295. AGO .CPND 00295000
  296. .CPIN ANOP 00296000
  297. AIF (T'&IOPTR NE 'O' OR T'&IOAREA1 EQ 'O').GTVAR 00297000
  298. IJJC&SYSNDX CCW X'02',&IOAREA1,X'20',&RECSIZE 00298000
  299. AGO .CHKIO 00299000
  300. .GTVAR ANOP 00300000
  301. IJJC&SYSNDX CCW X'02',0,X'20',&RECSIZE 00301000
  302. .CHKIO ANOP 00302000
  303. DC D'0' WORK AREA 00303000
  304. AGO .PHCD 00304000
  305. .OP2B ANOP 00305000
  306. DC X'80000000' WORK AREA 00306000
  307. DC XL2'0' HEAD NO. 00307000
  308. DC 4X'00' EXTENT UPPER LIMIT 00308000
  309. IJJW&SYSNDX DC H'0' BB 00309000
  310. DC X'0000FF00' CYLINDER AND HEAD 00310000
  311. .PHCD ANOP 00311000
  312. DC X'00' RECORD FOR DISK, CONSTANT FOR PUNCH 00312000
  313. AIF (T'&EOFADDR NE 'O').CPEOF 00313000
  314. AIF ('&DSK' EQ 'NO').CPND 00314000
  315. DC 3X'0' EOF ADDRESS 00315000
  316. AGO .CPUP 00316000
  317. .CPEOF ANOP 00317000
  318. DC AL3(&EOFADDR) EOF ADDRESS 00318000
  319. AIF ('&DSK' EQ 'NO').CPND 00319000
  320. .CPUP ANOP 00320000
  321. DC 4X'0' CCHH UPPER LIMIT 00321000
  322. &AL(1) SETA 537*&RECSIZE/512+61 00322000
  323. &AL(3) SETA (3625-&RECSIZE)/&AL(1)+1 00323000
  324. AIF ('&TYPEFLE' NE 'OUTPUT').NUMIN 00324000
  325. DC AL1(&AL(3)) NO. OF RECORDS-TRACK 00325000
  326. AGO .CPIOC 00326000
  327. .NUMIN ANOP 00327000
  328. DC AL1(&AL(3)+1) NO. OF REC/TRK + 1 00328000
  329. .CPIOC ANOP 00329000
  330. AIF ('&TYPEFLE' EQ 'OUTPUT').FRTOT 00330000
  331. DC X'01' FIRST RECORD 00331000
  332. AGO .CWKON 00332000
  333. .FRTOT ANOP 00333000
  334. DC X'00' FIRST RECORD 00334000
  335. .CWKON ANOP 00335000
  336. AIF ('&TYPEFLE' NE 'OUTPUT').CWKIN 00336000
  337. DC X'0020' CONSTANT 00337000
  338. AGO .DTCP1 00338000
  339. .CWKIN ANOP 00339000
  340. DC X'0018' CONSTANT 00340000
  341. .DTCP1 ANOP 00341000
  342. AIF ('&TYPEFLE' NE 'OUTPUT').CNTIN 00342000
  343. IJJF&SYSNDX DC 5X'00' CCHHR COUNT ID 00343000
  344. AGO .KY 00344000
  345. .CNTIN ANOP 00345000
  346. IJJF&SYSNDX DC 4X'00' CCHH COUNT ID 00346000
  347. DC X'01' COUNT FIELD RECORD 00347000
  348. .KY ANOP 00348000
  349. DC X'00' KEY LENGTH 00349000
  350. DC H'&RECSIZE' DATA LENGTH 00350000
  351. AIF ('&CP(1)' NE '0').CPLOD 00351000
  352. .NOREG ANOP 00352000
  353. NOP 0(0) 00353000
  354. AGO .BLDCW 00354000
  355. .CPLOD ANOP 00355000
  356. AIF (T'&IOAREA2 NE 'O').CHK 00356000
  357. NOP 0(0) 00357000
  358. AGO .BLDCW 00358000
  359. .CHK ANOP 00359000
  360. AIF ('&AL(2)' LT '2' OR '&AL(2)' GT '13').ERREG 00360000
  361. .LDALT ANOP 00361000
  362. LA &AL(2),0(14) LOAD USER I/O REGISTER 00362000
  363. AGO .BLDCW 00363000
  364. .ERREG ANOP 00364000
  365. LA 0,0(14) LOAD USER I/O REGISTER 00365000
  366. MNOTE *,'PATCH LOAD INSTRUCTION WITH I/O REG' 00366000
  367. .BLDCW ANOP 00367000
  368. IJJC&SYSNDX CCW X'07',IJJW&SYSNDX,X'40',6 SEEK TRACK 00368000
  369. CCW X'31',IJJW&SYSNDX+2,X'40',5 SEARCH 00369000
  370. CCW X'08',IJJC&SYSNDX+8,X'20',1 TRANSFER 00370000
  371. AIF ('&TYPEFLE' EQ 'OUTPUT').CCWPT 00371000
  372. AIF (T'&IOPTR NE 'O' OR T'&IOAREA1 EQ 'O').CP10 00372000
  373. CCW X'06',&IOAREA1,X'20',&RECSIZE INPUT 00373000
  374. AGO .CPND 00374000
  375. .CP10 ANOP 00375000
  376. CCW X'06',0,X'20',&RECSIZE INPUT 00376000
  377. AGO .CPND 00377000
  378. .CCWPT ANOP 00378000
  379. AIF (T'&IOAREA2 NE 'O' AND T'&IOPTR EQ 'O').PTOO 00379000
  380. CCW X'1D',IJJF&SYSNDX,X'A0',8 WRITE COUNT,KEY AND DATA 00380000
  381. AIF (T'&IOPTR NE 'O' OR T'&IOAREA1 EQ 'O').CP11 00381000
  382. CCW X'05',&IOAREA1,X'60',&RECSIZE 00382000
  383. AGO .VRFY 00383000
  384. .CP11 ANOP 00384000
  385. CCW X'05',0,X'60',&RECSIZE OUTPUT 00385000
  386. AGO .VRFY 00386000
  387. .PTOO ANOP 00387000
  388. CCW X'1D',IJJF&SYSNDX,X'A0',8 WRITE COUNT,KEY AND DATA 00388000
  389. CCW X'05',&IOAREA2,X'60',&RECSIZE OUTPUT 00389000
  390. .VRFY ANOP 00390000
  391. CCW X'31',IJJW&SYSNDX+2,X'40',5 SEARCH 00391000
  392. CCW X'08',IJJC&SYSNDX+40,X'20',1 TRANSFER 00392000
  393. CCW X'1E',*,X'30',&RECSIZE+8 VERIFY 00393000
  394. AIF ('&DEVADDR' NE 'SYSPCH').CPND 00394000
  395. CCW 1,*+16,X'20',&RECSIZE-1 PUNCH ERROR CCW1 00395000
  396. CCW 1,*+88,X'20',&RECSIZE-1 PUNCH ERROR CCW2 00396000
  397. DS CL64 RESERVED 00397000
  398. AGO .CPND 00398000
  399. .TPSYS ANOP 00399000
  400. DC X'31' DTF TYPE 00400000
  401. AIF (T'&IOAREA2 EQ 'O' OR '&TYPEFLE' NE 'OUTPUT').GETCP 00401000
  402. &AL(1) SETA &AL(1)+16 00402000
  403. .GETCP ANOP 00403000
  404. AIF (T'&IOAREA2 EQ 'O').DFINC 00404000
  405. &AL(1) SETA &AL(1)+32 00405000
  406. .DFINC ANOP 00406000
  407. DC AL1(&AL(1)) LOGIC INDICATORS 00407000
  408. AIF ('&TYPEFLE' EQ 'OUTPUT').FNME 00408000
  409. DC 2X'00' RESERVED 00409000
  410. AIF ('&EOFADDR' NE '').NEOF 00410000
  411. DC XL4'0' EOF ADDRESS INPUT 00411000
  412. DC 2X'00' RESERVED 00412000
  413. AGO .IDDO 00413000
  414. .NEOF ANOP 00414000
  415. DC AL4(&EOFADDR) EOF ADDRESS INPUT 00415000
  416. DC 2X'00' RESERVED 00416000
  417. AGO .IDDO 00417000
  418. .FNME ANOP 00418000
  419. DC CL8'&NAME' FILENAME 00419000
  420. .IDDO ANOP 00420000
  421. DC X'00' PUNCH CHARACTER 00421000
  422. AIF ('&TYPEFLE' EQ 'OUTPUT').LSTPCH 00422000
  423. &AL4 SETA &AL4+128 00423000
  424. .LSTPCH ANOP 00424000
  425. AIF ('&DEVADDR' NE 'SYSLST').PCH 00425000
  426. &AL4 SETA &AL4+64 00426000
  427. AGO .FINIS 00427000
  428. .PCH ANOP 00428000
  429. AIF ('&DEVADDR' NE 'SYSPCH').FINIS 00429000
  430. &AL4 SETA &AL4+64 00430000
  431. .FINIS ANOP 00431000
  432. DC AL1(&AL4) LOGIC INDICATORS 00432000
  433. DC X'90' OPEN INDICATORS 00433000
  434. AIF (T'&IOAREA2 EQ 'O' OR '&TYPEFLE' EQ 'OUTPUT').ALTT 00434000
  435. DC AL3(&IOAREA2) ALTERNATE I/O AREA 00435000
  436. AGO .OP2T 00436000
  437. .ALTT ANOP 00437000
  438. AIF (T'&IOAREA1 EQ 'O' OR T'&IOPTR NE 'O').ALTTZ 00438000
  439. DC AL3(&IOAREA1) ALT I/O AREA 00439000
  440. AGO .OP2T 00440000
  441. .ALTTZ ANOP 00441000
  442. DC AL3(0) ALT I/O AREA 00442000
  443. .OP2T ANOP 00443000
  444. AIF ('&CP(1)' NE '0').CPLDT 00444000
  445. NOP 0(0) 00445000
  446. AGO .TPCW 00446000
  447. .CPLDT ANOP 00447000
  448. AIF (T'&IOAREA2 NE 'O').CHKT 00448000
  449. NOP 0(0) 00449000
  450. AGO .TPCW 00450000
  451. .CHKT ANOP 00451000
  452. AIF ('&AL(2)' LT '2' OR '&AL(2)' GT '13').ERRT 00452000
  453. LA &AL(2),0(14) LOAD USER I/O REGISTER 00453000
  454. AGO .TPCW 00454000
  455. .ERRT ANOP 00455000
  456. LA 0,0(14) LOAD USER I/O REG 00456000
  457. .TPCW ANOP 00457000
  458. AIF ('&TYPEFLE' NE 'OUTPUT').GCWHN 00458000
  459. AIF (T'&IOAREA2 EQ 'O' OR T'&IOPTR NE 'O').PTONE 00459000
  460. IJJC&SYSNDX CCW X'01',&IOAREA2,X'20',&RECSIZE 00460000
  461. AIF ('&DEVADDR' NE 'SYSPCH').CPND 00461000
  462. CCW 1,*+16,X'20',&RECSIZE-1 PUNCH ERROR CCW1 00462000
  463. CCW 1,*+88,X'20',&RECSIZE-1 PUNCH ERROR CCW2 00463000
  464. DS CL80 SAVE AREA1 FOR CARD IMAGE 00464000
  465. DS CL80 SAVE AREA2 FOR CARD IMAGE 00465000
  466. AGO .CPND 00466000
  467. .PTONE ANOP 00467000
  468. AIF (T'&IOAREA1 EQ 'O' OR T'&IOPTR NE 'O').CP12 00468000
  469. IJJC&SYSNDX CCW X'01',&IOAREA1,X'20',&RECSIZE 00469000
  470. AIF ('&DEVADDR' NE 'SYSPCH').CPND 00470000
  471. CCW 1,*+16,X'20',&RECSIZE-1 PUNCH ERROR CCW1 00471000
  472. CCW 1,*+88,X'20',&RECSIZE-1 PUNCH ERROR CCW2 00472000
  473. DS CL80 SAVE AREA1 FOR CARD IMAGE 00473000
  474. DS CL80 SAVE AREA2 FOR CARD IMAGE 00474000
  475. AGO .CPND 00475000
  476. .CP12 ANOP 00476000
  477. IJJC&SYSNDX CCW X'01',0,X'20',&RECSIZE 00477000
  478. AIF ('&DEVADDR' NE 'SYSPCH').CPND 00478000
  479. CCW 1,*+16,X'20',&RECSIZE-1 PUNCH ERROR CCW1 00479000
  480. CCW 1,*+88,X'20',&RECSIZE-1 PUNCH ERROR CCW2 00480000
  481. DS CL80 SAVE AREA1 FOR CARD IMAGE 00481000
  482. DS CL80 SAVE AREA2 FOR CARD IMAGE 00482000
  483. AGO .CPND 00483000
  484. .GCWHN ANOP 00484000
  485. AIF (T'&IOAREA1 EQ 'O' OR T'&IOPTR NE 'O').CP13 00485000
  486. IJJC&SYSNDX CCW X'02',&IOAREA1,X'20',&RECSIZE 00486000
  487. AGO .CPND 00487000
  488. .CP13 ANOP 00488000
  489. IJJC&SYSNDX CCW X'02',0,X'20',&RECSIZE 00489000
  490. .CPND ANOP 00490000
  491. AIF ('&DSK' EQ 'YES').CPNDXX 00491000
  492. AIF ('&TYPEFLE' NE 'OUTPUT' OR '&DEVADDR' EQ 'SYSPCH').CPNDXX00492000
  493. X 00493000
  494. DC XL20'00' 2ND OUTPUT CCW + 2 CC + DISPL CI 00494000
  495. .CPNDXX ANOP 00495000
  496. IJJQ&SYSNDX EQU * 00496000
  497. MEND 00497000
  498. /* 00498000