User Tools

Site Tools


ibm:vm370-lib:cp:dmkrgf.assemble_src

DMKRGF Source

References

Source Listing

DMKRGF.ASSEMBLE.txt
  1. RGF TITLE 'DMKRGF (CP) VM/370 - RELEASE 6' @VA13123 00010000
  2. ISEQ 73,80 VALIDATE SEQUENCING OF INPUT 00020000
  3. COPY OPTIONS @V305731 00030000
  4. COPY LOCAL @V305731 00040000
  5. *********************************************************************** 00050000
  6. * 00060000
  7. * MODULE NAME - DMKRGF 00070000
  8. * 00080000
  9. * DESCRIPTIVE NAME - 00090000
  10. * 00100000
  11. * STATUS - RELEASE 6 00110000
  12. * 00120000
  13. * FUNCTION - PROCESS THE INPUT BUFFER IN THE TRQBLOK AND RETURN TO THE 00130000
  14. * APPROPRIATE SUBROUTINE IN DMKRGA 00140000
  15. * 00150000
  16. * NOTES - SEE BELOW 00160000
  17. * 00170000
  18. * THIS MODULE IS CREATED AS AN EXTENSION OF MODULE DMKRGA. THE 00180000
  19. * REGISTER USAGE MUST BE THE SAME AS REGISTER USAGE IN DMKRGA. 00190000
  20. * 00200000
  21. * REGISTER CONVENTIONS - SYMBOLIC REFERENCES TO REGISTERS ARE OF 00210000
  22. * OF THE FORM "RX" WHERE X IS A NUMBER 00220000
  23. * RANGING FROM 0 TO 15 (SEE EQU COPY) 00230000
  24. * 00240000
  25. * PATCH LABEL - NONE 00250000
  26. * 00260000
  27. * MODULE TYPE - PROCEDURE 00270000
  28. * 00280000
  29. * PROCESSOR - ASSEMBLER F 00290000
  30. * 00300000
  31. * ATTRIBUTES - RE-ENTERABLE, RESIDENT, CALLED VIA BAL 00310000
  32. * 00320000
  33. * ENTRY POINT - 00330000
  34. * DMKRGFEN - MAIN ENTRY POINT FROM DMKRGA 00340000
  35. * 00350000
  36. * PURPOSE - SEE SAME ENTRY POINT PROLOG IN DESCRIPTIVE COMMENTS 00360000
  37. * PRECEEDING THE RESPECTIVE ENTRY POINT 00370000
  38. * 00380000
  39. * LINKAGE - SEE SAME ENTRY POINT PROLOG IN DESCRIPTIVE COMMENTS 00390000
  40. * PRECEEDING THE RESPECTIVE ENTRY POINT 00400000
  41. * 00410000
  42. * INPUT - SEE SAME ENTRY POINT PROLOG IN DESCRIPTIVE COMMENTS 00420000
  43. * PRECEEDING THE RESPECTIVE ENTRY POINT 00430000
  44. * 00440000
  45. * OUTPUT - SEE SAME ENTRY POINT PROLOG IN DESCRIPTIVE COMMENTS 00450000
  46. * PRECEEDING THE RESPECTIVE ENTRY POINT 00460000
  47. * 00470000
  48. * EXIT NORMAL - SEE SAME ENTRY POINT PROLOG IN DESCRIPTIVE COMMENTS 00480000
  49. * PRECEEDING THE RESPECTIVE ENTRY POINT 00490000
  50. * 00500000
  51. * EXIT ERROR - SEE SAME ENTRY POINT PROLOG IN DESCRIPTIVE COMMENTS 00510000
  52. * PRECEEDING THE RESPECTIVE ENTRY POINT 00520000
  53. * 00530000
  54. * EXTERNAL REFERENCES - SEE BELOW 00540000
  55. * 00550000
  56. * ROUTINES - 00560000
  57. * DMKCNSED - TO EDIT THE INPUT DATA 00570000
  58. * DMKRGAFR - RETURN POINT IN DMKRGA 00580000
  59. * DMKRGA - BASE ADDRESS FOR RESTORING REGISTERS 00590000
  60. * 00600000
  61. * 00610000
  62. * 00620000
  63. * DATA AREAS - 00630000
  64. * NONE 00640000
  65. * 00650000
  66. * ENTRY DEFINITIONS - 00660000
  67. * NONE 00670000
  68. * 00680000
  69. * CONTROL BLOCKS - 00690000
  70. * 00700000
  71. * TRQBLOK - TIMER REQUEST BLOCK 00710000
  72. * BSCBLOK - BSC LINE WORK AREA 00720000
  73. * RDEVBLOK - REAL DEVICE BLOCK 00730000
  74. * NICBLOK - NETWORK CONTROL BLOCK 00740000
  75. * VMBLOK - VIRTUAL MACHINE BLOCK 00750000
  76. * CONTASK - CONSOLE I/O PACKAGE 00760000
  77. * IOBLOK - I/O TASK CONTROL BLOCK 00770000
  78. * 00780000
  79. * TABLES - 00790000
  80. * 00800000
  81. * DMKTBLTI - 3270 TEXT COMPOUND CHARACTER TRANSLATE TABLE 00810000
  82. * DMKTBLZI - 3270 APL COMPOUND CHARACTER TRANSLATE TABLE 00820000
  83. * 00830000
  84. * MACROS - 00840000
  85. * ABEND - GENERATE ABEND INTERFACE 00850000
  86. * CALL - GENERATE CALL LINKAGE 00860000
  87. * CHARGE - GENERATE CHARGE SWITCH CODE 00870000
  88. * SWTCHVM - GENERATE VMBLOK SWITCH CODE 00880000
  89. * PSA - GENERATE PREFIX STORAGE AREA DSECT 00890000
  90. * 00900000
  91. * CHANGE ACTIVITY - REFER TO THE UPDATE-LOG AS PRODUCED BY THE CMS 00910000
  92. * UPDATE COMMAND PRECEEDING THIS LISTING 00920000
  93. * 00930000
  94. * ABEND CONDITIONS - 00940000
  95. * RGF003 - INVALID ENTRY OFFSET PASSED BY DMKRGA 00950000
  96. * 00960000
  97. * ERROR MESSAGES -NONE 00970000
  98. * 00980000
  99. * RESPONSES - NONE 00990000
  100. * 01000000
  101. * GENERAL COMMENTS - THE PROCESSING ROUTINES ARE ENTERED VIA A BRANCH 01010000
  102. * TABLE INDEX THAT IS SET UP BY THE CALLING MODULE 01020000
  103. * DMKRGA. THE FUNCTIONS RETURN TO THE CALLER AT THE 01030000
  104. * LABEL DMKRGAFR AFTER SETTING A BRANCH TABLE INDEX 01040000
  105. * INTO GPR 14 01050000
  106. * 01060000
  107. *********************************************************************** 01070000
  108. SPACE 2 01080000
  109. DMKRGF START , @VA13123 01090000
  110. SPACE 1 01100000
  111. USING PSA,R0 @V305731 01110000
  112. USING TRQBLOK,R4 @V305731 01120000
  113. USING CONTASK,R6 @V305731 01130000
  114. USING BSCBLOK,R5 @V305731 01140000
  115. USING RDEVBLOK,R8 @V305731 01150000
  116. USING IOBLOK,R10 @V305731 01160000
  117. USING VMBLOK,R11 @V305731 01170000
  118. USING NICBLOK,R9 @V305731 01180000
  119. SPACE 1 01190000
  120. EXTRN DMKCNSED @VA13123 01200000
  121. EXTRN DMKTBMTI,DMKTBMZI @V387398 01210000
  122. EXTRN DMKRGA,DMKRGACR @VA13123 01220000
  123. SPACE 1 01230000
  124. ENTRY DMKRGFEN @VA13123 01240000
  125. EJECT 01250000
  126. *********************************************************************** 01260000
  127. * 01270000
  128. * ENTRY POINT NAME - DMKRGFEN 01280000
  129. * 01290000
  130. * DESCRIPTIVE NAME - 01300000
  131. * 01310000
  132. * FUNCTION - MAIN ENTRY POINT FROM DMKRGA 01320000
  133. * 01330000
  134. * NOTES - SEE BELOW 01340000
  135. * 01350000
  136. * REGISTER USAGE - 01360000
  137. * GPR0 - LENGTH OF FIELD 01370000
  138. * GPR1 - ADDRESS OF FIELDS 01380000
  139. * GPR0 - GPR3 WORK REGISTERS FOR BUFFERS AND DSECTS 01390000
  140. * GPR4 - ADDRESS OF TRQBLOK 01400000
  141. * GPR5 - ADDRESS OF BSCBLOK FOR THE LINE 01410000
  142. * GPR6 - ADDRESS OF CONTASK 01420000
  143. * GPR7 - BAL AND WORK REGISTER 01430000
  144. * GPR8 - ADDRESS OF RDEVBLOK 01440000
  145. * GPR9 - ADDRESS OF NICBLOK FOR THE TERMINAL 01450000
  146. * GPR10 - IOBLOK 01460000
  147. * GPR11 - VMBLOK OF CALLER 01470000
  148. * GPR12 - BASE OF MODULE 01480000
  149. * GPR13 - NOT USED 01490000
  150. * GPR14 R15 - LINKAGE REGISTERS 01500000
  151. * 01510000
  152. * PURPOSE - SEE FUNCTION 01520000
  153. * 01530000
  154. * LINKAGE - SVC 01540000
  155. * 01550000
  156. * INPUT - 01560000
  157. * GPR1 - ENDING ADDRESS OF INPUT DATA 01570000
  158. * GPR4 - BEGINNING CHARACTER IN TEXT 01580000
  159. * GPR5 - ADDRESS OF BSCBLOK FOR THE LINE 01590000
  160. * GPR8 - ADDRESS OF RDEVBLOK 01600000
  161. * GPR9 - ADDRESS OF NICBLOK FOR THE TERMINAL 01610000
  162. * GPR10 - IOBLOK 01620000
  163. * GPR11 - VMBLOK OF CALLER 01630000
  164. * GPR12 - BASE OF MODULE 01640000
  165. * GPR13 - NOT USED 01650000
  166. * GPR14 - VECTOR TABLE OFFSET 01660000
  167. * 01670000
  168. * OUTPUT - SEE EXIT NORMAL, EXIT ERROR 01680000
  169. * 01690000
  170. * EXIT NORMAL - 01700000
  171. * GPR14 CONTAINS VECTOR TABLE OFFSET FOR DMKRGA 01710000
  172. * SEE EQUATES STARTING AT LABEL RTRGAEDN FOR VALUES 01720000
  173. * 01730000
  174. * EXIT ERROR - NONE 01740000
  175. * 01750000
  176. USING DMKRGF,R12 @VA13123 01760000
  177. DMKRGFEN DS 0D @VA13123 01770000
  178. USING *,R12 SET ENTRY ADDRESSABILITY @VA13123 01780000
  179. L R12,RGFBASE SET UP ADDRESSABILITY @VA13123 01790000
  180. USING DMKRGF,R12 @VA13123 01800000
  181. CLM R14,B'1111',NDXRGFMX VALID INDEX? @VA13123 01810000
  182. BH RGF1 NO - GO ABEND @VA13123 01820000
  183. LTR R14,R14 VALID INDEX? @VA13123 01830000
  184. BNM SUBROUT(R14) YES - GO TO APPROPRIATE ROUTIN @VA13123 01840000
  185. ABEND 1 NO - GO ABEND @VA13123 01850000
  186. SUBROUT DS 0H @VA13123 01860000
  187. B FOUND @VA13123 01870000
  188. B SECOND @VA13123 01880000
  189. B CHECKEY @VA13123 01890000
  190. B DATACNT @VA13123 01900000
  191. NDXRGFMX DC A(*-SUBROUT) BRANCH TABLE LENGTH @VA13123 01910000
  192. EJECT 01920000
  193. *. 01930000
  194. * SUBROUTINE NAME - 01940000
  195. * FOUND 01950000
  196. * 01960000
  197. * FUNCTION = 01970000
  198. * IF 'NOT ACCEPTED' OR 'CONTROL' MODE, RETURN TO DMKRGA TO SEND 01980000
  199. * AN RVI RESPONSE 01990000
  200. * 02000000
  201. * IF A LOGON, RETURN TO DMKRGA TO START THE LOGON PROCESS 02010000
  202. * 02020000
  203. * OBTAIN A READ BUFFER, AND INITIALIZE THE REGISTERS FOR THE 02030000
  204. * TRANSLATE AND COPY PROCESS. 02040000
  205. * 02050000
  206. * CONTINUE TO SUBROUTINE 'SECOND' 02060000
  207. * 02070000
  208. SPACE 2 02080000
  209. FOUND DS 0H PUT INPUT DATA INTO READ BUFFER @VA13123 02090000
  210. NI IOBMISC2,X'FF'-IBBSPOLL TURN SPOLL FLAG OFF @VA08730 02100000
  211. LR R2,R1 GET ENDING ADDRESS OF DATA @V305731 02110000
  212. L R6,NICQPNT GET CONTASK POINTER @V305731 02120000
  213. TM BSCFLAG,BSCCOPY IS THIS A COPY FUNCTION ? @V305731 02130000
  214. BO BYPDPLY YES, BYPASS DISPLAY CHECKS @V305731 02140000
  215. TM NICSTAT,NICCPNA+NICNTRL NOT ACCEPTED OR CONTROL @V305731 02150000
  216. BNZ RVIRESP YES, SEND RVI RESPONSE - IGNORE @V305731 02160000
  217. L R1,ASYSVM GET SYSTEM VMBLOK POINTER @V305731 02170000
  218. CL R1,NICUSER IS THIS USER LOGON ? @V305731 02180000
  219. BE LOGUSER NO, GO LOGON USER @V305731 02190000
  220. OI NICSTAT,NICNTRL CRT IS IN CONTROL MODE @V305731 02200000
  221. BYPDPLY DS 0H ANALYZE DATA IN READ BUFFER @VA13123 02210000
  222. CLI 0(R2),ETB IS ENDING CHARACTER ETB @VM03043 02220000
  223. BNE BYPETB NO, BYPASS SETTING ETB INDICATOR @VM03133 02230000
  224. OI BSCFLAG1,BSCETB SET ETB INDICATOR @VM03043 02240000
  225. BYPETB DS 0H GET STORAGE FOR READ BUFFER @VA13123 02250000
  226. LA R0,BUFSIZE GET READ BUFFER SIZE @V305731 02260000
  227. CALL DMKFREE GET STORAGE FOR BUFFER @V305731 02270000
  228. ST R1,BSCRPTR SAVE READ BUFFER POINTER @VA08730 02280000
  229. XC 0(BUFINLTH+6,R1),0(R1) CLEAR READ BUFFER AREA @V305731 02290000
  230. LA R3,BSCREAD+1 GET POINTER TO STX CONTROL CHAR. @V305731 02300000
  231. CLI BSCREAD,X'05' IS THIS THE INDEX BYTE @V305731 02310000
  232. BE BYPADDR YES, BYPASS GETTING NEW ADDRESS @VM03133 02320000
  233. S R3,F1 GET POINTER TO STX CONTROL CHAR @V305731 02330000
  234. BYPADDR DS 0H GET SIZE OF INPUT DATA @VA13123 02340000
  235. SLR R2,R3 GET NUMBER OF INPUT BYTES @V305731 02350000
  236. USING BUFFER,R3 ADDRESSABILITY FOR READ BUFFER @V305731 02360000
  237. LA R3,HDRNSW LENGTH OF NON SW. HEADER @V346931 02370000
  238. TM RDEVFTR,FTRDIAL IS DIAL UP FEATURE INDICATED?@V346931 02380000
  239. BNO BYSWHD NO, BYPASS SWITCHED HEADER @V346931 02390000
  240. LA R3,HDRSW LENGTH OF SW. HEADER @V346931 02400000
  241. BYSWHD DS 0H POINT PAST HEADER TO DATA @VA13123 02410000
  242. SR R2,R3 SUBTRACT LENGTH OF HEADER @V346931 02420000
  243. AR R3,R4 POINT PAST HEADER @V346931 02430000
  244. LTR R2,R2 IS BYTE COUNT ZERO ? @V305731 02440000
  245. BNP CHECKEY YES, BYPASS MOVING DATA INTO BUF @V305731 02450000
  246. SR R7,R7 CLEAR REGISTER @VM03043 02460000
  247. STH R7,BSCINDEX CLEAR BUFFER INDEX VALUE @VM03094 02470000
  248. EJECT , 02480000
  249. *. 02490000
  250. * SUBROUTINE NAME - 02500000
  251. * SECOND 02510000
  252. * 02520000
  253. * FUNCTION = 02530000
  254. * 02540000
  255. * TO MOVE THE DATA INTO THE READ BUFFER AFTER SELECTING 02550000
  256. * THE CORRECT TRANSLATE TABLE 02560000
  257. * 02570000
  258. * CONTINUE TO THE SUBROUTINE 'CHECKEY' 02580000
  259. * 02590000
  260. SPACE 2 02600000
  261. SECOND DS 0H FIND COMPOUND CHARACTERS @VA13123 02610000
  262. LR R4,R3 SAVE ADDRESS OF DATA AREA @VM03094 02620000
  263. LR R0,R2 SAVE BYTE COUNT FOR FAKESUB @V387398 02630000
  264. L R7,=A(DMKTBMZI) TRANSLATE COMPOUND CHARACTERS @VA09031 02640000
  265. TM NICTMCD,NICTEXT 3270 TEXT CHARACTER SET? @V387398 02650000
  266. BZ RDTRANS NO -> TRANSLATE TABLE ALL SET @V387398 02660000
  267. L R7,=A(DMKTBMTI) TRANSLATE TEXT COMPOUND CHAR. @VA09031 02670000
  268. RDTRANS DS 0H @VA13123 02680000
  269. LR R2,R3 START OF DATA AREA @V387398 02690000
  270. BAL R14,FAKESUB REMOVE THE FAKE ATTRIBUTE CHAR. @VM03094 02700000
  271. SR R2,R4 GET LENGTH OF DATA AREA @V387398 02710000
  272. LR R1,R2 SAVE LENGTH OF DATA AREA @V387398 02720000
  273. AH R2,BSCINDEX GET TOTAL DATA COUNT @V387398 02730000
  274. LA R0,BUFINLTH+6 GET MAX. LENGTH OF BUFFER @VM03043 02740000
  275. CR R2,R0 LENGTH GREATER THAN BUFFER SIZE @VM03043 02750000
  276. BL APLBYP YES, BYPASS CHANGING LENGTH @VM03043 02760000
  277. OI BSCFLAG1,BSCIGN SET BUFFER INGORE FLAG @VM03043 02770000
  278. SH R0,BSCINDEX GET THE DIFFERENCE IN LENGTH @V387398 02780000
  279. BNP CHECKEY IF LENGTH IS EQUAL OR GREATER @VM03043 02790000
  280. LR R1,R0 SAVE LENGTH DIFFERENCE @VM03043 02800000
  281. APLBYP DS 0H @VA13123 02810000
  282. LTR R1,R1 IS IT ZERO ? @VA07327 02820000
  283. BZ CHECKEY YES, GO TO CHECKEY @VA07327 02830000
  284. L R3,BSCRPTR GET POINTER TO BUFFER @VA08730 02840000
  285. AH R3,BSCINDEX GET ADDRESS TO AVAILABLE SPACE @VM03094 02850000
  286. STH R2,BSCINDEX SAVE TOTAL LENGTH OF DATA @VM03094 02860000
  287. BCTR R1,R0 SUBSTRACT ONE - EX INSTR. @VM03043 02870000
  288. EX R1,MVCRT MOVE DATA TO BUFFER AREA @VM03043 02880000
  289. EJECT , 02890000
  290. *. 02900000
  291. * SUBROUTINE NAME - 02910000
  292. * CHECKEY 02920000
  293. * 02930000
  294. * FUNCTION = 02940000
  295. * 02950000
  296. * TO DETERMINE WHICH KEY WAS USED TO CAUSE THE INTERRUPT, AND 02960000
  297. * TO GO TO THE APPROPRIATE PROCESSOR FOR THAT KEY 02970000
  298. * 02980000
  299. SPACE 2 02990000
  300. CHECKEY DS 0H DETERMINE WHAT KEY WAS DEPRESSED @VA13123 03000000
  301. TM BSCFLAG1,BSCETB IS ENDING CHARACTER AN ETB @VM03043 03010000
  302. BO HANDETB YES, GET REMAINING DATA @VM03043 03020000
  303. NI BSCFLAG1,X'FF'-BSCIGN CLEAR IGNORE DATA FLAG @VM03043 03030000
  304. LA R1,KEYTBL GET KEY TABLE ADDRESS @VM03043 03040000
  305. L R3,BSCRPTR GET BUFFER ADDRESS @VA08730 03050000
  306. NI NICFLAG,X'FF'-NICCARD RESET CARD INPUT INDICATOR@V305731 03060000
  307. LA R0,KEYLENG COUNT FOR TABLE SEARCH @V305731 03070000
  308. KEYCLC DS 0H FIND CONTROL KEY @VA13123 03080000
  309. CLC BUFFER,0(R1) THIS KEY MATCH ? @V305731 03090000
  310. BE KEYPROC GO TO APPROPRIATE KEY SECTION @V305731 03100000
  311. LA R1,2(R1) INDEX TO NEXT KEY ENTRY @V305731 03110000
  312. BCT R0,KEYCLC LOOP THROUGH TABLE @V305731 03120000
  313. BAL R3,NOTKEY RELEASE READ BUFFER @VA13123 03130000
  314. SPACE 1 @VA13123 03140000
  315. KEYPROC DS 0H GO TO APPROPRIATE KEY SECTION @VA13123 03150000
  316. SR R2,R2 CLEAR REGISTER 2 @V305731 03160000
  317. IC R2,1(R1) GET INDEX VALUE TO ADDRESS @V305731 03170000
  318. L R2,KEYTBLP(R2) GET AFFECTED KEY ADDRESS @V305731 03180000
  319. BR R2 GO TO AFFECTED KEY SECTION @V305731 03190000
  320. SPACE 1 03200000
  321. CRDREAD DS 0H CARD READER INDICATED @VA13123 03210000
  322. OI NICFLAG,NICCARD DATA FROM CARD READER @V305731 03220000
  323. DATA77 DS 0H DATA FROM PRESSING ENTER KEY @VA13123 03230000
  324. CLI BUFFER+6,X'00' ANY DATA ENTERED @V305731 03240000
  325. BNE SETBUF YES, GET DATA ADDRESS @V305731 03250000
  326. CLC BUFFER+1(2),TABTBL CURSOR BACK ONE ? @VAI0054 03260000
  327. BNE SETBUF NO, GET DATA ADDRESS @V305731 03270000
  328. TM NICSTAT,NICREAD WAS DATA ENTER IN READ STATE @V305731 03280000
  329. BZ SETBUF NO, GET DATA ADDRESS @V305731 03290000
  330. LA R2,4 SINGLE ATTN RETURN WITH NULL DATA@V305731 03300000
  331. SR R3,R3 NO DATA @V305731 03310000
  332. B RDRTN RETURN DATA @V305731 03320000
  333. SETBUF DS 0H REMOVE CURSOR ADDRESS @VA13123 03330000
  334. LA R3,BUFFER+6 GET DATA ADDRESS @V305731 03340000
  335. LR R4,R3 SAVE STARTING ADDRESS @V305731 03350000
  336. LA R1,BUFINLTH MAXIMUN BUFFER INPUT ALLOW @V305731 03360000
  337. ZEROCHAR DS 0H FIND END OF DATA IN BUFFER @VA13123 03370000
  338. CLI 0(R3),X'00' IS THIS THE ENDING CHARACTER @V305731 03380000
  339. BE ZEROFND YES, MOVE DATA TO START OF BUF @V305731 03390000
  340. CLI 0(R3),X'6A' IS THIS A TAB CHARACTER @V305731 03400000
  341. BNE BYPREPL NO, BYPASS PUTTING IN REPLACEMENT@VM03133 03410000
  342. MVI 0(R3),X'05' PUT REPLACEMENT IN FOR REAL TAB @V305731 03420000
  343. BYPREPL DS 0H CHECK FOR START BUFFER CHARACTE @VA13123 03430000
  344. CLI 0(R3),X'11' SBA FROM CARD READER @V305731 03440000
  345. BNE NXTBUF NO, GET NEXT LOCATION IN BUFFER @V305731 03450000
  346. EX R1,SHFTBUF SHIFT OUT THE BUFFER ADDRESS @V305731 03460000
  347. S R1,F3 UPDATE COUNT BECAUSE OF SBA CHAR @VM03040 03470000
  348. BNP ZEROFND IF ZERO, GET OUT @VM03040 03480000
  349. B ZEROCHAR CHECK THIS POSITION AGAIN @V305731 03490000
  350. NXTBUF DS 0H GET NEXT BUFFER POSITION @VA13123 03500000
  351. LA R3,1(R3) UPDATE BUFFER POINTER BY ONE @V305731 03510000
  352. BCT R1,ZEROCHAR GO CHECK FOR ENDING CHARACTER @V305731 03520000
  353. ZEROFND DS 0H @VA13123 03530000
  354. SLR R3,R4 GET BYTE COUNT @V305731 03540000
  355. L R1,BSCRPTR GET ADDRESS OF READ BUFFER @VA08730 03550000
  356. EX R3,MOVEDATA SHIFT DATA IN BUFFER @V305731 03560000
  357. LR R4,R1 GET ADDRESS OF READ BUFFER @V305731 03570000
  358. SPACE 1 03580000
  359. EJECT , 03590000
  360. *. 03600000
  361. * SUBROUTINE NAME - 03610000
  362. * DATACNT 03620000
  363. * 03630000
  364. * FUNCTION = 03640000
  365. * 03650000
  366. *TO DETERMINE THE ACTION TO BE TAKEN FOR THE DATA IN THE 03660000
  367. *BUFFER, AND CAUSE GO TH THE ROUTINE TO DO THE PROCESSING 03670000
  368. * 03680000
  369. SPACE 2 03690000
  370. DATACNT DS 0H SET UP COUNT IN BUFFER @VA13123 03700000
  371. ST R3,BUFCNT-BUFFER(R4) SET COUNT IN BUFFER AREA @V305731 03710000
  372. TM NICSTAT,NICREAD IS READ STATE INDICATED ? @V305731 03720000
  373. BO RDATA YES, GO EDIT & TRANSLATE DATA @V305731 03730000
  374. TM NICFLAG,NICCARD IS DATA FROM CARD READER @V305731 03740000
  375. BO EDNULL YES, DON'T ACCEPT IT @V305731 03750000
  376. LTR R3,R3 ANY DATA ENTERED ? @V305731 03760000
  377. BNP NULLDATA NO, RETURN READ BUFFER STORAGE @V305731 03770000
  378. BAL R7,CTLTASKB GET STORAGE FOR CONTASK @V305731 03780000
  379. L R1,CONPNT GET NEXT CONTASK POINTER @V305731 03790000
  380. L R6,NICQPNT GET POINTER TO CURRENT CONTASK @V305731 03800000
  381. ST R1,NICQPNT SAVE POINTER TO NEXT CONTASK @V305731 03810000
  382. MVI CONPARM,EDIT+UCASE SET PARM FOR EDIT @V305731 03820000
  383. ST R4,CONADDR DATA ADDRESS FOR EDIT @V305731 03830000
  384. STH R3,CONCNT DATA COUNT FOR EDIT @V305731 03840000
  385. MC MNCOERD,MNCLRESP RESPONSE CLASS, END READ @VA08417 03850000
  386. L R1,NICUSER GET USER VMBLOK POINTER @V305731 03860000
  387. TM VMRSTAT-VMBLOK(R1),VMLOGON+VMCFWAIT LOGON-SLEEP @V305731 03870000
  388. BNZ EDATA YES, GO EDIT INPUT DATA @V305731 03880000
  389. TM VMMLEVEL-VMBLOK(R1),VMMCPENV CP ENVIRONMENT @V305731 03890000
  390. BZ VIRTBUFF NO, VIRTUAL BUFFER IS AVAILABLE @V305731 03900000
  391. SPACE 1 03910000
  392. EDATA DS 0H EDIT INPUT DATA FROM DISPLAY @VA13123 03920000
  393. TM NICTMCD,NICAPL+NICTEXT TRANS INDICATED? @V387398 03930000
  394. BNZ BYPEDIT YES, BYPASS EDIT FUNCTION @V387398 03940000
  395. BAL R7,ROUTCNS GO EDIT DATA & RELEASE CONTASK @V305731 03950000
  396. BYPEDIT DS 0H RELEASE STORAGE FOR CONTASK @VA13123 03960000
  397. BAL R7,FRETCON RELEASE CONTASK ... @V305731 03970000
  398. LTR R3,R3 DID EDIT RESULT IN ZERO LENGTH @V305731 03980000
  399. BP TESTCF NO, TEST FOR CONSOLE FUNCTION @V305731 03990000
  400. BAL R3,EDNULL GO TO CLEAR SCREEN IMPUT AREA @VA13123 04000000
  401. SPACE 1 04010000
  402. NULLDATA DS 0H RE-DISPLAY SCREEN STATE @VA13123 04020000
  403. BAL R3,FRETRD RELEASE READ BUFFER @V305731 04030000
  404. L R3,NICUSER GET USER VMBLOK POINTER @V305731 04040000
  405. TM VMRSTAT-VMBLOK(R3),VMLOGON LOGGING ON NOW ? @V305731 04050000
  406. BO CFMBK YES, PUT IN CONSOLE FUNCTION MODE@V305731 04060000
  407. TM NICSTAT,NICRUNN IS SCREEN IN RUNNING STATE @V305731 04070000
  408. BO POSTINT YES, POST AN ATTN INTERRUPT @V305731 04080000
  409. TM NICSTAT,NICMORE IS SCREEN IN MORE STATE @V305731 04090000
  410. BZ CRTMOR NO, HOLDING GOING TO MORE STATE @V305731 04100000
  411. BAL R3,SETHOLD1 SET UP CCW STRING FOR HOLD STATE @VA13123 04110000
  412. EJECT , @VA13123 04120000
  413. *.*************************************************************@VA13123 04130000
  414. * @VA13123 04140000
  415. * THE FOLLOWING SUBROUTINES ARE THE RETURN INTERFACE @VA13123 04150000
  416. * TO THE ROUTINE IN DMKRGA BY THE SAME NAME @VA13123 04160000
  417. * @VA13123 04170000
  418. *.*************************************************************@VA13123 04180000
  419. SPACE 1 @VA13123 04190000
  420. CRTMOR DS 0H SET CCW STRING FOR MORE STATE @VA13123 04200000
  421. LA R14,RTRGACMO SET BRANCH INDEX @VA13123 04210000
  422. B RGFEXIT GO TO EXIT INTERFACE @VA13123 04220000
  423. SPACE 1 04230000
  424. POSTINT DS 0H POST ATTENTION INTERRUPT @VA13123 04240000
  425. LA R14,RTRGAPAT SET BRANCH INDEX @VA13123 04250000
  426. B RGFEXIT GO TO EXIT INTERFACE @VA13123 04260000
  427. SPACE 1 @VA13123 04270000
  428. EDNULL DS 0H CLEAR INPUT AREA ON SCREEN @VA13123 04280000
  429. LA R14,RTRGAEDN SET BRANCH TABLE OFFSET @VA13123 04290000
  430. B RGFEXIT GO TO RGA RETURN INTERFACE @VA13123 04300000
  431. SPACE 1 @VA13123 04310000
  432. RVIRESP DS 0H SEND RVI TO REMOTE STATION @VA13123 04320000
  433. LA R14,RTRGARVI SET BRANCH TABLE OFFSET @VA13123 04330000
  434. B RGFEXIT GO TO RGA RETURN INTERFACE @VA13123 04340000
  435. SPACE 1 @VA13123 04350000
  436. LOGUSER DS 0H LOGON USER @VA13123 04360000
  437. LA R14,RTRGALOG SET BRANCH TABLE OFFSET @VA13123 04370000
  438. B RGFEXIT GO TO RGA RETURN INTERFACE @VA13123 04380000
  439. SPACE 1 @VA13123 04390000
  440. CLRKEY DS 0H GO HANDLE CLEAR KEY @VA13123 04400000
  441. LA R14,RTRGACLR SET BRANCH TABLE OFFSET @VA13123 04410000
  442. B RGFEXIT GO TO RGA RETURN INTERFACE @VA13123 04420000
  443. SPACE 1 @VA13123 04430000
  444. PA1KEY DS 0H GO HANDLE PA1 KEY @VA13123 04440000
  445. LA R14,RTRGAPA1 SET BRANCH TABLE OFFSET @VA13123 04450000
  446. B RGFEXIT GO TO RGA RETURN INTERFACE @VA13123 04460000
  447. SPACE 1 @VA13123 04470000
  448. PA3KEY DS 0H GO HANDLE PA3 KEY @VA13123 04480000
  449. LA R14,RTRGAPA3 SET BRANCH TABLE OFFSET @VA13123 04490000
  450. B RGFEXIT GO TO RGA RETURN INTERFACE @VA13123 04500000
  451. SPACE 1 @VA13123 04510000
  452. PFKEY DS 0H GO HANDLE PF KEY @VA13123 04520000
  453. LA R14,RTRGAPF SET BRANCH TABLE OFFSET @VA13123 04530000
  454. B RGFEXIT GO TO RGA RETURN INTERFACE @VA13123 04540000
  455. SPACE 1 @VA13123 04550000
  456. CNCLKEY DS 0H GO HANDLE CANCEL KEY @VA13123 04560000
  457. LA R14,RTRGACNL SET BRANCH TABLE OFFSET @VA13123 04570000
  458. B RGFEXIT GO TO RGA RETURN INTERFACE @VA13123 04580000
  459. SPACE 1 @VA13123 04590000
  460. TESTREQ DS 0H GO HANDLE TESTREQ KEY @VA13123 04600000
  461. LA R14,RTRGATST SET BRANCH TABLE OFFSET @VA13123 04610000
  462. B RGFEXIT GO TO RGA RETURN INTERFACE @VA13123 04620000
  463. SPACE 1 @VA13123 04630000
  464. SETHOLD1 DS 0H GO SET HOLD STATE @VA13123 04640000
  465. LA R14,RTRGAHL1 SET BRANCH TABLE OFFSET @VA13123 04650000
  466. B RGFEXIT GO TO RGA RETURN INTERFACE @VA13123 04660000
  467. SPACE 1 @VA13123 04670000
  468. SETCAW DS 0H GO SAVEHOLD STATE @VA13123 04680000
  469. LA R14,RTRGAHL1 SET BRANCH TABLE OFFSET @VA13123 04690000
  470. B RGFEXIT GO TO RGA RETURN INTERFACE @VA13123 04700000
  471. SPACE 1 @VA13123 04710000
  472. NOTKEY DS 0H GO FRET READ BUFFER @VA13123 04720000
  473. LA R14,RTRGANKY SET BRANCH TABLE OFFSET @VA13123 04730000
  474. B RGFEXIT GO TO RGA RETURN INTERFACE @VA13123 04740000
  475. SPACE 1 @VA13123 04750000
  476. RDRTN DS 0H GO RETURN READ DATA @VA13123 04760000
  477. LA R14,RTRGARRT SET BRANCH TABLE OFFSET @VA13123 04770000
  478. B RGFEXIT GO TO RGA RETURN INTERFACE @VA13123 04780000
  479. SPACE 1 @VA13123 04790000
  480. RDATA DS 0H GO EDIT AND TRANSLATE THE DATA @VA13123 04800000
  481. LA R14,RTRGARDA SET BRANCH TABLE OFFSET @VA13123 04810000
  482. B RGFEXIT GO TO RGA RETURN INTERFACE @VA13123 04820000
  483. SPACE 1 @VA13123 04830000
  484. CFMBK DS 0H GO PLACE USER IN CONSOLE FUNCTIO @VA13123 04840000
  485. LA R14,RTRGACBK SET BRANCH TABLE OFFSET @VA13123 04850000
  486. B RGFEXIT GO TO RGA RETURN INTERFACE @VA13123 04860000
  487. SPACE 1 @VA13123 04870000
  488. VIRTBUFF DS 0H GO PLACE USER IN CONSOLE FUNCTIO @VA13123 04880000
  489. LA R14,RTRGAVBF SET BRANCH TABLE OFFSET @VA13123 04890000
  490. B RGFEXIT GO TO RGA RETURN INTERFACE @VA13123 04900000
  491. SPACE 1 @VA13123 04910000
  492. TESTCF DS 0H GO TEST FOR CONSOLE FUNCTION @VA13123 04920000
  493. LA R14,RTRGATCF SET BRANCH TABLE OFFSET @VA13123 04930000
  494. B RGFEXIT GO TO RGA RETURN INTERFACE @VA13123 04940000
  495. SPACE 1 @VA13123 04950000
  496. RGFEXIT DS 0H @VA13123 04960000
  497. L R15,ARGACR LOAD RETURN ENTRY ADDRESS @VA13123 04970000
  498. LM R12,R13,RGABASE SET DMKRGA BASE REGISTERS @VA13123 04980000
  499. BR R15 RETURN TO DMKRGA @VA13123 04990000
  500. EJECT @VA13123 05000000
  501. HANDETB EQU * HANDLE BLOCK RECORD FROM STATION @VM03043 05010000
  502. NI BSCFLAG1,X'FF'-BSCETB CLEAR ETB INDICATOR @VM03043 05020000
  503. MVC BSCPCCW3(8),RSACKCCW SET UP ACK CCW @VM03043 05030000
  504. LA R1,BSCSEND GET POINTER TO ACK CHARACTERS @VM03043 05040000
  505. STCM R1,7,BSCPCCW3+1 SAVE ADDRESS IN CCW @VM03043 05050000
  506. MVC BSCPCCW4(8),ETBREAD GET READ CCW @VM03043 05060000
  507. LA R1,BSCREAD GET POINTER TO READ BUFFER @VM03043 05070000
  508. STCM R1,7,BSCPCCW4+1 SAVE ADDRESS OF READ BUFFER @VM03043 05080000
  509. MVI BSCPCCW4+5,X'0C' TP-CODE 'READ REMAINING DATA' @VM03043 05090000
  510. LA R1,BSCPCCW3 ADDRESS OF CCW STRING @VM03043 05100000
  511. BAL R7,SETCAW GO DO I/O OPERATION TO LINE @VM03043 05110000
  512. SPACE 2 05120000
  513. CTLTASKB EQU * SET UP BASIC SIZE FOR CONTASK @V305731 05130000
  514. LA R0,CONTSIZE SIZE OF BASIC CONTASK @V305731 05140000
  515. B CTLTASK1 GET STORAGE FOR CONTASK @V305731 05150000
  516. CTLTASK EQU * ALLOCATE AND QUEUE CONTROL TASK @V305731 05160000
  517. LA R0,CONTSIZE+6 ...SIZE OF CONTASKS @VA08129 05170000
  518. CTLTASK1 EQU * @V305731 05180000
  519. CALL DMKFREE GET STORAGE FOR CONTASK @V305731 05190000
  520. XC 0(CONTSIZE*8,R1),0(R1) CLEAR THE HEADER @V305731 05200000
  521. LR R6,R1 PUT CONTASK ADDRESS IN REGISTER 6@V305731 05210000
  522. STH R0,CONTSKSZ SAVE THE CONTASK SIZE @V305731 05220000
  523. L R1,NICUSER VMBLOK OF RESOURCE OWNER @V305731 05230000
  524. ST R1,CONUSER SAVE VMBLOK PTR IN CONTASK @V305731 05240000
  525. MVI CONSTAT,CONCNTL INDICATE CONTROL TASK @V305731 05250000
  526. L R1,NICQPNT GET CURRENT CONTASK FROM CHAIN @V305731 05260000
  527. ST R6,NICQPNT PUT THIS TASK FIRST ON CHAIN @V305731 05270000
  528. ST R1,CONPNT PUT CURRENT TASK ON CHAIN @V305731 05280000
  529. BR R7 RETURN @V305731 05290000
  530. SPACE 1 05300000
  531. FAKESUB EQU * REMOVE FAKE ATTRIBUTE CHARACTER @VM03094 05310000
  532. CLI 0(R3),ETX IS END OF TEXT INDICATED @VM03094 05320000
  533. BER R14 YES, RETURN TO IN LINE CODE @VM03094 05330000
  534. CLI 0(R3),ETB IS END OF BLOCK INDICATED @VM03094 05340000
  535. BER R14 YES, RETURN TO IN LINE CODE @VM03094 05350000
  536. CLI 0(R3),X'1D' IS FAKE ATTRIBUTE CHAR. INDICATED@VM03094 05360000
  537. BNE NOFAKE NO, BYPASS TRANSLATION @VM03094 05370000
  538. BCT R0,XLATE2 TRANSLATE THE CMPD CHAR IF ANY @VA13277 05372000
  539. BR R14 RETURN IF NO MORE CHARS @VA13277 05374000
  540. XLATE2 DS 0H @VA13277 05376000
  541. TR 1(1,R3),0(R7) TRANSLATE THE COMPOUND CHAR. @V387398 05380000
  542. LA R3,1(,R3) SKIP X'1D' CHARACTER @V387398 05390000
  543. B NOTEXT CONTINUE WITH NEXT CHARACTER @VA13277 05401000
  544. SPACE 1 @V387398 05420000
  545. SNGLCHAR EQU 256 OFFSET TO SINGLE CHARACTER XLATE TABLE @V387398 05430000
  546. SPACE 1 @V387398 05440000
  547. NOFAKE TM NICTMCD,NICTEXT 3270 TEXT? @V387398 05450000
  548. BZ NOTEXT NO, DON'T DO EXTRA TRANSLATE @V387398 05460000
  549. TR 0(1,R3),SNGLCHAR(R7) TRANSLATE NON-CMPD. TEXT @V387398 05470000
  550. NOTEXT MVC 0(1,R2),0(R3) SQUEEZE OUT X'1D' CHARS. @V387398 05480000
  551. LA R2,1(,R2) POINT TO NEXT CHAR. POS. @V387398 05490000
  552. LA R3,1(,R3) UPDATE BUFFER POINTER BY ONE @VM03094 05500000
  553. BCT R0,FAKESUB LOOP IF MORE CHARS. TO TRANSLATE @V387398 05510000
  554. BR R14 RETURN TO IN LINE CODE @VM03094 05520000
  555. SPACE 2 05530000
  556. ROUTCNS EQU * EDIT AND TRANSLATE INPUT DATA @V305731 05540000
  557. ST R7,TEMPR7 SAVE REGISTER 7 @V4M0193 05550000
  558. ST R0,TEMPR0 SAVE REG 0-DESTROYED BY RSWVMU1 @VA07580 05560000
  559. C R11,NICUSER IS SWITCH NEEDED? @VA13123 05563000
  560. BE NOSWITCH NO - GO CONTINUE @VA13123 05566000
  561. L R1,NICUSER LOAD ADDR NEW VMBLOK @V407511 05570000
  562. SWTCHVM OPT=UNLOCK SWITCH VMBLOK CHARGING @VA13123 05580000
  563. NOSWITCH DS 0H @VA13123 05585000
  564. L R7,TEMPR7 RESTORE REGISTER 7 @V4M0193 05590000
  565. L R0,TEMPR0 RESTORE REGISTER 0 @VA07580 05600000
  566. CALL DMKCNSED EDIT INPUT DATA @V305731 05610000
  567. CHARGE SWITCH,ASYSVM SWITCH VMBLOK CHARGING @V407511 05620000
  568. BR R7 RETURN @V407511 05630000
  569. SPACE 1 05640000
  570. FRETCON EQU * RELEASE CONTASK AFTER EDITING @V305731 05650000
  571. LR R1,R6 GET CONTASK POINTER @V305731 05660000
  572. LA R0,CONTSIZE GET SIZE OF CONTASK @V305731 05670000
  573. CALL DMKFRET RELEASE CONTASK @V305731 05680000
  574. ST R3,BUFCNT-BUFFER(,R4) SAVE INPUT DATA COUNT @V305731 05690000
  575. BR R7 RETURN TO IN LINE CODE @V305731 05700000
  576. SPACE 1 05710000
  577. FRETSTG EQU * RETURN STORAGE TO SYSTEM @V305731 05720000
  578. LA R1,0(,R1) CLEAR HIGH ORDER BYTE @V305731 05730000
  579. LTR R1,R1 IS ADDRESS ZERO ? @V305731 05740000
  580. BZ CLREG0 YES, CLEAR REGISTER ZERO @V305731 05750000
  581. CALL DMKFRET RELEASE STORAGE @V305731 05760000
  582. CLREG0 EQU * @V305731 05770000
  583. SR R0,R0 CLEAR REGISTER 0 @V305731 05780000
  584. BR R7 RETURN TO IN LINE CODE @V305731 05790000
  585. SPACE 1 05800000
  586. FRETRD EQU * RELEASE READ BUFFER @V305731 05810000
  587. LA R0,BUFSIZE GET SIZE OF READ BUFFER @V305731 05820000
  588. L R1,BSCRPTR GET ADDRESS OF READ BUFFER @VA08730 05830000
  589. BAL R7,FRETSTG RELEASE STORAGE FOR READ BUFFER @V305731 05840000
  590. ST R0,BSCRPTR CLEAR POINTER FIELD @VA08730 05850000
  591. BR R3 RETURN @V305731 05860000
  592. EJECT 05870000
  593. * THE EXECUTE INSTRUCTION USED THE FOLLOWING INSTRUCTIONS 05880000
  594. MOVEDATA MVC 0(*-*,R1),0(R4) MOVE DATA INTO BUFFER @V305731 05890000
  595. SHFTBUF MVC 0(*-*,R3),3(R3) SHIFT OUT BUFFER ADDRESS @V305731 05900000
  596. MVCRT MVC BUFFER(*-*),0(R4) EXECUTED MOVE PF DATA @V305731 05910000
  597. SPACE 1 05920000
  598. * STORAGE FOR DATA LINK CONTROL CHARACTERS 05930000
  599. RGFACK1 DC AL2(ACK1) POSITIVE ACKNOWLEDGE 1 CHARACTER @V305731 05940000
  600. SPACE 1 05950000
  601. ETBREAD DC X'02',AL3(0),AL1(SILI,X'0A'),AL2(BSCSIZE1) @VM03043 05960000
  602. SPACE 05970000
  603. RSACKCCW DC X'01',AL3(RGFACK1),AL1(SILI+CC,X'06'),AL2(2) @V305731 05980000
  604. SPACE 1 05990000
  605. SPACE 1 06000000
  606. SPACE 1 06010000
  607. * READ/WRITE OPERATION TYPES 06020000
  608. IBBSPOLL EQU X'10' SPECIFIC POLLING TO A STATION @V305731 06030000
  609. SPACE 1 06040000
  610. * DATA-LINK CONTROL CHARACTERS FOR 3270 REMOTE SYSTEM 06050000
  611. ETX EQU X'03' END OF TEXT @V305731 06060000
  612. ETB EQU X'26' END OF BLOCK @V305731 06070000
  613. ACK1 EQU X'1061' ODD ACKNOWLEDGE @V305731 06080000
  614. SPACE 1 06090000
  615. * 06100000
  616. EJECT , @VA13123 06110000
  617. * TABLE OF 3270 FUNCTION KEYS WITH INDEX TO KEYTBLP 06120000
  618. KEYTBL DC X'7D00' ENTER @V305731 06130000
  619. DC X'6D04' CLEAR @V305731 06140000
  620. DC X'6E18' PA2 (CNCL) @V305798 06150000
  621. DC X'6C08' PA1 @V305731 06160000
  622. DC X'6B0C' PA3 @V305731 06170000
  623. DC X'E610' CARD READER @V305731 06180000
  624. PFNDX DC X'F114' PF01 @V305731 06190000
  625. DC X'F214' PF02 @V305731 06200000
  626. DC X'F314' PF03 @V305731 06210000
  627. DC X'F414' PF04 @V305731 06220000
  628. DC X'F514' PF05 @V305731 06230000
  629. PF6NDX DC X'F614' PF06 @V305731 06240000
  630. DC X'F714' PF07 @V305731 06250000
  631. DC X'F814' PF08 @V305731 06260000
  632. DC X'F914' PF09 @V305731 06270000
  633. DC X'7A14' PF10 @V305731 06280000
  634. DC X'7B14' PF11 @V305731 06290000
  635. DC X'7C14' PF12 @V305731 06300000
  636. KEYLENG EQU (*-KEYTBL)/2 @V305731 06310000
  637. SPACE 06320000
  638. KEYTBLP DC A(DATA77) 00 @V305731 06330000
  639. DC A(CLRKEY) 04 @V305798 06340000
  640. DC A(PA1KEY) 08 @V305731 06350000
  641. DC A(PA3KEY) 0C @V305731 06360000
  642. DC A(CRDREAD) 10 @V305731 06370000
  643. DC A(PFKEY) 14 @V305731 06380000
  644. DC A(CNCLKEY) 18 @V305798 06390000
  645. DC A(TESTREQ) 1C @VA09168 06400000
  646. SPACE 06410000
  647. * TABLE OF TAB POSITIONS FOR 3270 PF TAB CAPABILITY 06420000
  648. SPACE 06430000
  649. TABTBL DC X'5B5F' @V305731 06440000
  650. SPACE 2 @VA13123 06450000
  651. RGFBASE DC A(DMKRGF) DMKRGF BASE VALUE @VA13123 06460000
  652. RGABASE DC A(DMKRGA,DMKRGA+4096) DMKRGA BASE REGISTERS @VA13123 06470000
  653. ARGACR DC A(DMKRGACR) DMKRGA RETURN ADDRESS @VA13123 06480000
  654. SPACE 2 @VA13123 06490000
  655. *.*************************************************************@VA13123 06500000
  656. * @VA13123 06510000
  657. * INDEX VALUES FOR RETURN TO BRANCH TABLE IN DMKRGA @VA13123 06520000
  658. * TABLE VECTBLGC MUST BE IN SAME SEQUENCE AS THESE @VA13123 06530000
  659. * OFFSETS @VA13123 06540000
  660. * @VA13123 06550000
  661. *.*************************************************************@VA13123 06560000
  662. SPACE 1 @VA13123 06570000
  663. RTRGAEDN EQU X'0' EDNULL @VA13123 06580000
  664. RTRGARVI EQU X'4' RVIRESP @VA13123 06590000
  665. RTRGALOG EQU X'8' LOGUSER @VA13123 06600000
  666. RTRGACLR EQU X'C' CLRKEY @VA13123 06610000
  667. RTRGAPA1 EQU X'10' PA1KEY @VA13123 06620000
  668. RTRGAPA3 EQU X'14' PA3KEY @VA13123 06630000
  669. RTRGAPF EQU X'18' PFKEY @VA13123 06640000
  670. RTRGACNL EQU X'1C' CNCLKEY @VA13123 06650000
  671. RTRGATST EQU X'20' TESTREQ @VA13123 06660000
  672. RTRGACMO EQU X'24' CRTMOR @VA13123 06670000
  673. RTRGAPAT EQU X'28' POSTINT @VA13123 06680000
  674. RTRGAHL1 EQU X'2C' SETHOLD1 @VA13123 06690000
  675. RTRGANKY EQU X'30' NOTKEY @VA13123 06700000
  676. RTRGARRT EQU X'34' RDRTN @VA13123 06710000
  677. RTRGARDA EQU X'38' RDATA @VA13123 06720000
  678. RTRGACBK EQU X'3C' CFMBK @VA13123 06730000
  679. RTRGAVBF EQU X'40' VIRTBUFF @VA13123 06740000
  680. RTRGATCF EQU X'44' TESTCF @VA13123 06750000
  681. SPACE 2 @VA13123 06760000
  682. SPACE 1 06770000
  683. HDRSW EQU 1 LENGTH OF SWITCHED HEADER @V346931 06780000
  684. HDRNSW EQU 3 LENGTH OF NON-SWITCHED HEADER @V346931 06790000
  685. EJECT 06800000
  686. LTORG @V305731 06810000
  687. EJECT 06820000
  688. COPY NETWORK @V305731 06830000
  689. COPY BSCBLOKS @V305731 06840000
  690. COPY TIMER @V305731 06850000
  691. COPY DEVTYPES @V305731 06860000
  692. COPY EQU @V305731 06870000
  693. COPY VBLOKS @V305731 06880000
  694. COPY RBLOKS @V305731 06890000
  695. COPY CONBUF @V305731 06900000
  696. COPY IOBLOKS @V305731 06910000
  697. COPY IOER @V305731 06920000
  698. COPY VMBLOK @V305731 06930000
  699. COPY SAVE @V305731 06940000
  700. PSA @V305731 06950000
  701. COPY XINTBLOK @V305798 06960000
  702. END 06970000
ibm/vm370-lib/cp/dmkrgf.assemble_src.txt ยท Last modified: 2023/08/06 13:37 by Site Administrator