User Tools

Site Tools


cdc:nos2.source:opl871:tarl

Table of Contents

TARL

Table Of Contents

  • [00010] TARL - AUTOMATIC RECOVERY LIBRARY.
  • [00178] RERUN - RERUN TRANSACTION.
  • [00201] RGET - GET DATA FROM RECOVERY FILE.
  • [00224] RPUT - PUT DATA ON RECOVERY FILE.
  • [00323] RSECURE - RETRIEVE LAST *SECURE* MESSAGE.
  • [00346] SRERUN - RERUN A TRANSACTION WITH ALTERNATE USERNAME.
  • [00372] SECURE - TRANSACTION IS SECURE.
  • [00478] TINVOKE - ASSIGN A NEW SYSTEM IDENTIFIER.
  • [00498] PAE - PROCESS ARGUMENT ERROR.
  • [00519] IRR - ISSUE RECOVERY REQUEST.

Source Code

TARL.txt
  1. IDENT TARL
  2. ENTRY RERUN
  3. ENTRY RGET
  4. ENTRY RPUT
  5. ENTRY RSECURE
  6. ENTRY SECURE
  7. ENTRY SRERUN
  8. ENTRY TINVOKE
  9. SYSCOM B1
  10. TITLE TARL - AUTOMATIC RECOVERY LIBRARY.
  11. *COMMENT TARL - TAF AUTOMATIC RECOVERY LIBRARY.
  12. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  13. TARL SPACE 4,10
  14. ***** TARL - TAF AUTOMATIC RECOVERY LIBRARY.
  15. *
  16. * A. E. SCHIPPERS. 80/06/20.
  17. *
  18. * TARL IS A LIBRARY OF INTERFACE ROUTINES FOR COBOL5,
  19. * FORTRAN4 AND FORTRAN5 USER AND SYSTEM TASKS, MAKING
  20. * RECOVERY REQUESTS TO THE TRANSACTION FACILITY. DECK
  21. * *TARL* IS PLACED ON THREE DIFFERENT LIBRARIES CALLED
  22. * *TRANC5*, *TRANF4*, AND *TRANF5*. THE COBOL *ENTER*
  23. * VERB AND THE FORTRAN *CALL* STATEMENT INTERFACE USER AND
  24. * SYSTEM TASKS TO THE TRANSACTION FACILITY.
  25. *
  26. *IF DEF,TRANC5
  27. * NOTE THIS IS THE COBOL5 VERSION OF TARL.
  28. *ENDIF
  29. *IF DEF,TRANF4
  30. * NOTE THIS IS THE FORTRAN4 VERSION OF TARL.
  31. *ENDIF
  32. *IF DEF,TRANF5
  33. * NOTE THIS IS THE FORTRAN5 VERSION OF TARL.
  34. *ENDIF
  35. *
  36. *
  37. *** THE REQUESTS FOR *TAF* AUTOMATIC RECOVERY ARE AS FOLLOWS -
  38. *
  39. * TO RERUN A TRANSACTION COMMIT UNIT FOR A TERMINAL -
  40. * ENTER RERUN USING STATUS [,USERNAM].
  41. * CALL RERUN (STATUS[,USERNAM]).
  42. *
  43. * TO RETRIEVE USER DATA FROM THE *TAF* RECOVERY FILE -
  44. * ENTER RGET USING MESSAGE, INDEX, STATUS, MESSAGE-LENGTH
  45. * [, MESSAGE-UNITS].
  46. * CALL RGET (MESSAGE,INDEX,STATUS,MESSAGE-LENGTH
  47. * [,MESSAGE-UNITS]).
  48. *
  49. * TO PUT USER DATA ON THE TAF RECOVER FILE -
  50. * ENTER RPUT USING MESSAGE, INDEX, STATUS [,MESSAGE-LENGTH,
  51. * MESSAGE-UNITS].
  52. * CALL RPUT (MESSAGE,INDEX,STATUS,MESSAGE-LENGTH
  53. * [,MESSAGE-UNITS]).
  54. *
  55. * TO RETREVE THE SECURE MESSAGE FROM PERMANENT STORAGE -
  56. * ENTER RSECURE USING MESSAGE, STATUS, MESSAGE-LENGTH,
  57. * MESSAGE-UNITS, FORMAT-EFFECTOR, TRANSPARENT-MODE.
  58. * CALL RSECURE (MESSAGE, STATUS, MESSAGE-LENGTH,
  59. * MESSAGE-UNITS, FORMAT-EFFECTOR, TRANSPARENT-MODE).
  60. *
  61. * TO SAVE A SECURE MESSAGE -
  62. * ENTER SECURE USING MESSAGE, STATUS [, MESSAGE-LENGTH,
  63. * MESSAGE-UNITS, FORMAT-EFFECTOR, TRANSPARENT-MODE].
  64. * CALL SECURE (MESSAGE, STATUS, MESSAGE-LENGTH
  65. * [, MESSAGE-UNITS, FORMAT-EFFECTOR, TRANSPARENT-MODE]).
  66. *
  67. * TO ASSIGN A NEW TRANSACTION SEQUENCE NUMBER -
  68. * ENTER TINVOKE USING STATUS, NEW-SYS-ID [,OLD-SYS-ID].
  69. * CALL TINVOKE (STATUS, NEW-SYS-ID [, OLD-SYS-ID]).
  70. *
  71. *** THE PARAMETERS FOR *TAF* AUTOMATIC RECOVERY
  72. * REQUESTS ARE DEFINED BELOW.
  73. *
  74. * FORMAT-EFFECTOR PARAMETER TO INDICATE IF
  75. * FORMAT-EFFECTORS ARE USED.
  76. * COBOL - 01 LEVEL COMPUTATIONAL-1 DATA
  77. * NAME.
  78. * FORTRAN - INTERGER.
  79. *
  80. * INDEX INDEX FOR RECOVERY RECORD.
  81. * COBOL - 01 LEVEL COMPUTATIONAL-1 DATA
  82. * NAME.
  83. * FORTRAN - INTEGER.
  84. * VALUES ARE THE SAME AS FOR *NAM*.
  85. *
  86. * MESSAGE DATA ITEM CONTAINING THE RECOVERY MESSAGE.
  87. * COBOL - 01 LEVEL ITEM.
  88. * FORTRAN - HOLLERITH.
  89. *
  90. * MESSAGE-LENGTH LENGTH OF MESSAGE IN MESSAGE-UNITS.
  91. * COBOL - 01 LEVEL COMPUTATIONAL-1 DATA
  92. * NAME.
  93. * FORTRAN - INTEGER.
  94. *
  95. * MESSAGE-UNITS APPLICATION CHARACTER TYPE. THE TYPE IS
  96. * THE SAME AS FOR *NAM*.
  97. * COBOL - 01 LEVEL COMPUTATIONAL-1 DATA
  98. * NAME.
  99. * FORTRAN - INTEGER.
  100. *
  101. * NEW-SYS-ID NEW SYSTEM IDENTIFIER.
  102. * COBOL - 01 LEVEL COMPUTATIONAL-1 DATA
  103. * NAME.
  104. * FORTRAN - INTEGER.
  105. *
  106. * OLD-SYS-ID OLD SYSTEM IDENTIFIER.
  107. * COBOL - 01 LEVEL COMPUTATIONAL-1 DATA
  108. * NAME.
  109. * FORTRAN - INTEGER.
  110. *
  111. * STATUS STATUS OF REQUEST.
  112. * COBOL - 01 LEVEL COMPUTATIONAL-1 DATA
  113. * NAME.
  114. * FORTRAN - INTEGER.
  115. *
  116. * TRANSPARENT-MODE INDICATES IF TRANSPARENT MODE WAS USED.
  117. * COBOL - 01 LEVEL COMPUTATIONAL-1 DATA
  118. * NAME.
  119. * FORTRAN - INTEGER.
  120. * THE VALUE IS THE SAME AS FOR *NAM*.
  121. *
  122. * USERNAM 1-7 CHARACTER USER NAME.
  123. * COBOL - 01 LEVEL DATA ITEM.
  124. * FORTRAN - HOLLERITH.
  125. *
  126.  
  127. * COMMON DECKS CALLED.
  128.  
  129. *CALL COMKFLD
  130. *CALL COMKMAC
  131. LIST X
  132.  
  133. * THE FOLLOWING COMMON DECKS USE *BSS* TO ASSIGN LOCATIONS
  134. * TO SYMBOLS. THE LIBRARY INTERFACE ROUTINES DO NOT WANT
  135. * TO ALLOCATE STORAGE FOR THESE SYMBOLS SO THE CURRENT ORIGIN
  136. * COUNTER IS SAVED BY *BEGN* AND IS RESTORED AFTER THE COMMON
  137. * DECKS ARE ASSEMBLED.
  138.  
  139. BEGN BSS 0 SAVE CURRENT ORIGIN ADDRESS
  140. *CALL COMKRRD
  141.  
  142. ORG BEGN RESTORE ORIGIN COUNTER
  143.  
  144. * STORAGE FOR RECOVERY REQUEST PARAMETERS.
  145.  
  146. PARML MAX TSEPL,TRGPL,TREPL,TTIPL MAXIMUM LENGTH
  147. PARM BSS PARML
  148. BSSZ 1 TERMINATE REQUEST WITH ZERO WORD
  149.  
  150.  
  151. * THE FOLOWING CODE IS CONDITIONALLY PUT ON THE
  152. * COMPILE FILE AT MODIFICATION TIME. THIS CODE
  153. * ALSO SETS VALUES FOR CONDITIONAL ASSEMBLY OF SOME
  154. * CODE LATER IN THIS DECK.
  155.  
  156. .1 SET 0
  157. *IF DEF,TRANC5
  158. .1 SET .1+1
  159. .2 SET 0 COBOL5 VERSION
  160. *ENDIF
  161. *IF DEF,TRANF4
  162. .1 SET .1+1
  163. .2 SET 1 FORTRAN4 VERSION
  164. *ENDIF
  165. *IF DEF,TRANF5
  166. .1 SET .1+1
  167. .2 SET 2 FORTRAN5 VERSION
  168. *ENDIF
  169. .A IFNE .1,1
  170.  
  171. * ONE AND ONLY ONE OF THE TLIBXX LIBRARIES MUST BE
  172. * DEFINED AT MODIFICATION TIME.
  173.  
  174. ERR MODIFICATION ERRORS
  175.  
  176. .A ENDIF
  177. RERUN SPACE 4,15
  178. ** RERUN - RERUN TRANSACTION.
  179. *
  180. * ENTRY ENTER RERUN USING STATUS.
  181. *
  182. * CALL RERUN(STATUS).
  183. *
  184. * (A1) = FWA OF PARAMETER LIST.
  185. *
  186. * EXIT REQUEST IS PROCESSED.
  187. * (A0) = (A0) ON ENTRY.
  188. *
  189. * USES X - 1.
  190. *
  191. * CALLS IRR.
  192.  
  193.  
  194. VFD 42/0LRERUN,18/RERUN
  195.  
  196. RERUN SUBR ENTRY/EXIT
  197. SX1 RFRE RERUN REQUEST
  198. RJ IRR ISSUE RECOVERY REQUEST
  199. EQ RERUNX RETURN
  200. RGET SPACE 4,15
  201. ** RGET - GET DATA FROM RECOVERY FILE.
  202. *
  203. * ENTRY ENTER RGET USING MESSAGE, INDEX, STATUS,
  204. * MESSAGE-LENGTH [, MESSAGE-UNITS].
  205. *
  206. * CALL RGET(MESSAGE,INDEX,STATUS,MESSAGE-LENGTH
  207. * [,MESSAGE-UNITS]).
  208. *
  209. * (A1) = FWA OF PARAMETER LIST.
  210. *
  211. * EXIT REQUEST IS PROCESSED.
  212. * (A0) = (A0) ON ENTRY.
  213. *
  214. * USES X - 1.
  215. *
  216. * CALLS IRR.
  217.  
  218.  
  219. RGET SUBR ENTRY/EXIT
  220. SX1 RFRG RGET REQUEST
  221. RJ IRR ISSUE RECOVERY REQUEST
  222. EQ RGETX RETURN
  223. RPUT SPACE 4,20
  224. ** RPUT - PUT DATA ON RECOVERY FILE.
  225. *
  226. * ENTRY ENTER RPUT USING MESSAGE, INDEX, STATUS
  227. * [,MESSAGE-LENGTH, MESSAGE-UNITS].
  228. *
  229. * CALL RPUT(MESSAGE,INDEX,STATUS,MESSAGE-LENGTH
  230. * [,MESSAGE-UNITS]).
  231. *
  232. * (A1) = FWA OF PARAMETER LIST.
  233. *
  234. * EXIT REQUEST IS PROCESSED.
  235. * (A0) = (A0) ON ENTRY.
  236. * TO *PAE* IF NOT ENOUGH PARAMETERS.
  237. *
  238. * CALLS IRR.
  239. *
  240. * USES A - 1, 2, 6.
  241. * X - 1, 2, 3, 4, 6.
  242. * B - 1, 2, 3, 4.
  243. *
  244. * CALLS IRR.
  245.  
  246.  
  247. .1 SET 0
  248.  
  249. RPUT SUBR ENTRY/EXIT
  250. SB1 1
  251. SA2 A1 GET ADDRESS OF MESSAGE
  252. ZR X2,RPT3 IF END OF PARAMETER LIST
  253. .B IFEQ .2,0 IF COBOL5 VERSION
  254.  
  255. * PROCESS PARAMETER LIST FOR COBOL5.
  256.  
  257. .1 SET .1+1
  258. MX3 -18 GET LENGTH OF MESSAGE
  259. BX4 X2
  260. LX4 17-53
  261. BX6 -X3*X4
  262. SA6 RPTA SAVE LENGTH OF MESSAGE
  263. .B ENDIF
  264. .C IFEQ .2,1 IF FORTRAN4 VERSION
  265.  
  266. * PROCESS PARAMETER LIST FOR FORTRAN4.
  267.  
  268. .1 SET .1+1
  269.  
  270. * NO SPECIAL PROCESSING NEEDED.
  271.  
  272. .C ENDIF
  273. .D IFEQ .2,2 IF FORTRAN5 VERSION
  274.  
  275. * PROCESS PARAMETER LIST FOR FORTRAN5.
  276.  
  277. .1 SET .1+1
  278.  
  279. * NO SPECIAL PROCESSING NEEDED.
  280.  
  281. .D ENDIF
  282. SX6 X2 SAVE FWA OF MESSAGE
  283. SA6 PARM+RGMA
  284.  
  285. * FORMAT STANDARD *TAF* REQUEST CALLING SEQUENCE.
  286.  
  287. SB3 TRGPL+PARM LWA+1 OF PARAMETER TABLE
  288. RPT1 SB4 A6+B1 CURRENT FREE LOCATION IN TABLE
  289. SA2 A2+B1 GET NEXT PARAMETER
  290. GT B4,B3,RPT3 IF PARAMETER LIST TOO LARGE
  291. SX6 X2 SAVE PARAMETER IN PARAMETER TABLE
  292. SA6 B4
  293. ZR X2,RPT2 IF END OF PARAMETER LIST
  294. EQ RPT1 PROCESS NEXT PARAMETER
  295.  
  296. RPT2 SB4 B4-PARM NUMBER OF PARAMETERS FOUND
  297. .E IFEQ .2,0 IF COBOL5 VERSION
  298. SB2 TRGRL-1 REQUIRED NUMBER OF COBOL5 PARAMETERS
  299. SA2 A1+RGML
  300. NZ X2,RPT2.1 IF NOT USER SUPPLIED LENGTH
  301. SX6 RPTA SAVE COBOL SUPPLIED LENGTH
  302. SA6 PARM+RGML
  303. SX6 B0+ ZERO WORD TERMINATOR
  304. SA6 A6+1
  305. .E ENDIF
  306. .F IFEQ .2,1 IF FORTRAN4 VERSION
  307. SB2 TRGRL REQUIRED NUMBER OF FORTRAN4 PARAMETERS
  308. .F ENDIF
  309. .G IFEQ .2,2 IF FORTRAN5 VERSION
  310. SB2 TRGRL REQUIRED NUMBER OF FORTRAN5 PARAMETERS
  311. .G ENDIF
  312. RPT2.1 LT B4,B2,RPT3 IF NOT ENOUGH PARAMETERS
  313. SA1 PARM INDICATE START OF PARAMETER LIST
  314. SX1 RFRP *RPUT* REQUEST
  315. RJ IRR ISSUE RECOVERY REQUEST
  316. EQ RPUTX RETURN
  317.  
  318. RPT3 SA1 RPUT READ RETURN ADDRESS
  319. EQ PAE PROCESS ARGUMENT ERROR
  320.  
  321. RPTA BSS 1
  322. RSECURE SPACE 4,15
  323. ** RSECURE - RETRIEVE LAST *SECURE* MESSAGE.
  324. *
  325. * ENTRY ENTER RSECURE USING MESSAGE, STATUS, MESSAGE-LENGTH,
  326. * MESSAGE-UNITS, FORMAT-EFFECTOR, TRANSPARENT MODE.
  327. *
  328. * CALL RSECURE(MESSAGE,STATUS,MESSAGE-LENGTH,
  329. * MESSAGE-UNITS,FORMAT-EFFECTOR,TRANSPARENT-MODE).
  330. *
  331. * (A1) = FWA OF PARAMETER LIST.
  332. *
  333. * EXIT REQUEST IS PROCESSED.
  334. * (A0) = (A0) ON ENTRY.
  335. *
  336. * USES X - 1.
  337. *
  338. * CALLS IRR.
  339.  
  340.  
  341. RSECURE SUBR ENTRY/EXIT
  342. SX1 RFRS *RSECURE* REQUEST
  343. RJ IRR ISSUE RECOVERY REQUEST
  344. EQ RSECUREX RETURN
  345. SRERUN SPACE 4,20
  346. ** SRERUN - RERUN A TRANSACTION WITH ALTERNATE USERNAME.
  347. *
  348. * THIS REQUEST CAN ONLY BE USED BY SYSTEM TASKS.
  349. *
  350. * ENTRY ENTER SRERUN USING STATUS[, USERNAM].
  351. *
  352. * CALL SRERUN (STATUS[,USERNAM]).
  353. *
  354. * (A1) = FWA OF PARAMETER LIST.
  355. *
  356. * EXIT REQUEST PROCESSED.
  357. * (A0) = SAME AS ENTRY.
  358. *
  359. * USES X = 1.
  360. *
  361. * CALLS IRR.
  362.  
  363.  
  364. VFD 42/0LSRERUN,18/SRERUN
  365.  
  366. SRERUN SUBR ENTRY/EXIT
  367. SX1 RFSR SRERUN REQUEST
  368. RJ IRR ISSUE RECOVERY REQUEST
  369. EQ SRERUNX RETURN
  370.  
  371. SECURE SPACE 4,20
  372. ** SECURE - TRANSACTION IS SECURE.
  373. *
  374. * ENTRY ENTER SECURE USING MESSAGE, STATUS[, MESSAGE-LENGTH,
  375. * MESSAGE-UNITS, FORMAT-EFFECTOR, TRANSPARENT-MODE].
  376. *
  377. * CALL SECURE(MESSAGE,STATUS,MESSAGE-LENGTH
  378. * [,MESSAGE-UNITS,FORMAT-EFFECTOR,TRANSPARENT-MODE]).
  379. *
  380. * (A1) = FWA OF PARAMETER LIST.
  381. *
  382. * EXIT REQUEST IS PROCESSED.
  383. * (A0) = (A0) ON ENTRY.
  384. * TO *PAE* IF PARAMETER ERROR.
  385. *
  386. * USES A - 2, 6.
  387. * X - 2, 6.
  388. * B - 1, 3, 4.
  389. *
  390. * CALLS IRR.
  391.  
  392.  
  393. .1 SET 0
  394.  
  395. SECURE SUBR ENTRY/EXIT
  396. SB1 1
  397. SA2 A1
  398. ZR X2,SEC3 IF END OF PARAMETER LIST
  399. .H IFEQ .2,0 IF COBOL5 VERSION
  400.  
  401. * PROCESS PARAMETER LIST FOR COBOL5.
  402.  
  403. .1 SET .1+1
  404. MX3 -18 GET LENGTH OF MESSAGE
  405. BX4 X2
  406. LX4 17-53
  407. BX6 -X3*X4
  408. SA6 SECA SAVE LENGTH OF MESSAGE
  409. SX6 SECA SAVE ADDRESS OF LENGTH
  410. SA6 PARM+SEML
  411. .H ENDIF
  412. .I IFEQ .2,1 IF FORTRAN4 VERSION
  413.  
  414. * PROCESS PARAMETER LIST FOR FORTRAN4.
  415.  
  416. .1 SET .1+1
  417.  
  418. * NO SPECIAL PROCESSING NEEDED.
  419.  
  420. .I ENDIF
  421. .J IFEQ .2,2 IF FORTRAN5 VERSION
  422.  
  423. * PROCESS PARAMETER LIST FOR FORTRAN5.
  424.  
  425. .1 SET .1+1
  426.  
  427. * NO SPECIAL PROCESSING NEEDED.
  428.  
  429. .J ENDIF
  430. SX6 X2 SAVE FWA OF MESSAGE
  431. SA6 PARM+SEMA
  432. SA2 A2+B1 GET STATUS
  433. ZR X2,SEC3 IF END OF PARAMETER LIST
  434. SX6 X2 SAVE FWA OF STATUS
  435. SA2 A2+B1
  436. SA6 PARM+SEST
  437. SB3 TSEPL+PARM LWA+1 OF PARAMETER TABLE
  438. .K IFEQ .2,0 IF COBOL5 VERSION
  439. SB4 A6+1
  440. NZ X2,SEC.1 IF NOT END OF PARAMETER LIST
  441. SX6 SECA SAVE COBOL SUPPLIED LENGTH
  442. SA6 PARM+SEML
  443. BX6 X6-X6 STORE ZERO WORD TERMINATIOR
  444. SA6 A6+B1
  445. EQ SEC2 ISSUE REQUEST
  446. .K ENDIF
  447. .L IFEQ .2,1 IF FORTRAN4 VERSION
  448. ZR X2,SEC3 IF END OF PARAMETER LIST
  449. .L ENDIF
  450. .M IFEQ .2,2 IF FORTRAN5 VERSION
  451. ZR X2,SEC3 IF END OF PARAMETER LIST
  452. .M ENDIF
  453. SEC.1 SX6 X2
  454. SA6 PARM+SEML SAVE FWA OF MESSAGE LENGTH
  455.  
  456. * FORMAT STANDARD *TAF* REQUEST CALLING SEQUENCE.
  457.  
  458. SB4 A6+B1 ADDRESS OF REST OF PARAMETER TABLE
  459. SEC1 SA2 A2+B1 GET NEXT ITEM
  460. SX6 X2 STORE PARAMETER IN TABLE
  461. GT B4,B3,SEC3 IF PARAMETER LIST TOO LARGE
  462. SA6 B4
  463. ZR X2,SEC2 IF END OF PARAMETER LIST
  464. SB4 B4+B1
  465. EQ SEC1 PROCESS NEXT PARAMETER
  466.  
  467. SEC2 SA1 PARM ADDRESS OF PARMAETER TABLE
  468. SX1 RFSE *SECURE* REQUEST
  469. RJ IRR ISSUE RECOVERY REQUEST
  470. EQ SECUREX RETURN
  471.  
  472. SEC3 SA1 SECURE READ RETURN ADDRESS
  473. EQ PAE PROCESS ARGUMENT ERROR
  474.  
  475.  
  476. SECA BSS 1
  477. TINVOKE SPACE 4,20
  478. ** TINVOKE - ASSIGN A NEW SYSTEM IDENTIFIER.
  479. *
  480. * ENTRY ENTER TINVOKE USING STATUS, NEW-SYS-ID[, OLD-SYS-ID].
  481. *
  482. * CALL TINVOKE(STATUS,NEW-SYS-ID[,OLD-SYS-ID]).
  483. *
  484. * (A1) = FWA OF PARAMETER LIST.
  485. *
  486. * EXIT REQUEST IS PROCESSED.
  487. * (A0) = (A0) ON ENTRY.
  488. *
  489. * USES X - 1.
  490. * CALLS IRR.
  491.  
  492.  
  493. TINVOKE SUBR ENTRY/EXIT
  494. SX1 RFTI *TINVOKE* REQUEST
  495. RJ IRR ISSUE RECOVERY REQUEST
  496. EQ TINVOKEX RETURN
  497. PAE SPACE 4,15
  498. ** PAE - PROCESS ARGUMENT ERROR.
  499. *
  500. * ENTRY (X1) = CALLING ADDRESS.
  501. *
  502. * EXIT PROGRAM WILL ABORT.
  503. *
  504. * USES A - 2, 6.
  505. * X - 1, 2, 6.
  506. *
  507. * MACROS ARGERR.
  508.  
  509.  
  510. PAE MX6 -30
  511. LX1 29-59
  512. SA2 X1-1 READ TRACE BACK WORD
  513. BX6 -X6*X2
  514. SA6 PAEA
  515. ARGERR A6 EXIT TO EXECUTIVE
  516.  
  517. PAEA BSSZ 1
  518. IRR SPACE 4,15
  519. ** IRR - ISSUE RECOVERY REQUEST.
  520. *
  521. * ENTRY (A1) = FWA OF REQUEST PARAMETER LIST.
  522. * (X1) = FUNCTION CODE.
  523. *
  524. * EXIT (A1) = FWA OF RETURN PARAMETER LIST.
  525. *
  526. * USES X - 1, 6, 7.
  527. * B - 1.
  528. *
  529. * CALLS SYS=.
  530.  
  531.  
  532. IRR SUBR ENTRY/EXIT
  533. SB1 1
  534. SX6 3RREC PREPARE RECOVERY REQUEST
  535. SX7 A1 PARAMETER LIST ADDRESS
  536. LX6 59-17
  537. BX6 X7+X6
  538. LX1 35-17 REQUEST CODE
  539. BX6 X6+X1
  540. RJ =XSYS= ISSUE REQUEST
  541. EQ IRRX RETURN
  542. END
cdc/nos2.source/opl871/tarl.txt ยท Last modified: 2023/08/05 17:24 by Site Administrator