Table of Contents

RPV

Table Of Contents

  • [00121] ASSEMBLY CONSTANTS, DIRECT LOCATIONS, COMMON DECKS.
  • [00157] MACRO DEFINITIONS.
  • [00161] ABORT - ERROR PROCESSING MACRO.
  • [00175] MAIN PROGRAM.
  • [00177] REPRIEVE CENTRAL PROGRAM.
  • [00190] DPP - DROP PP.
  • [00208] ABT - ABORT PROGRAM.
  • [00221] PRIMARY SUBROUTINES.
  • [00223] RER - PROCESS RESET FOR EXTENDED REPRIEVE.
  • [00285] RIC - PROCESS REPRIEVE INITIALIZATION CALL.
  • [00335] RRC - PROCESS REPRIEVE RESET CALL.
  • [00384] RSR - PROCESS REPRIEVE SETUP AND RESUME.
  • [00639] ERCT - ERROR CODES TABLE.
  • [00679] SUBROUTINES.
  • [00681] CCS - COMPUTE CHECKSUM.
  • [00745] CKA - CHECK ADDRESS.
  • [00775] REP - RESET EXCHANGE PACKAGE.
  • [00811] RPB - RETURN PARAMETER BLOCK.
  • [00831] TOJ - PROCESS TERMINAL ORIGIN JOBS.
  • [00896] VRA - VALIDATE SYSTEM REQUEST.
  • [00925] PRESET RPV.
  • [00927] PRS - PRESET REPRIEVE.
  • [01068] STN - SET TERMINAL NUMBER.
  • [01100] BUFFERS AND STORAGE ALLOCATION.
  • [01127] RPV - ERROR PROCESSOR.
  • [01132] ERR - ERROR PROCESSOR.

Source Code

RPV.txt
  1. IDENT RPV,RPV
  2. PERIPH
  3. SST
  4. SYSCOM
  5. BASE MIXED
  6. *COMMENT RPV - REPRIEVE CENTRAL PROGRAM.
  7. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  8. RPV TITLE RPV - REPRIEVE CENTRAL PROGRAM.
  9. RPV SPACE 4,10
  10. ***** RPV - REPRIEVE CENTRAL PROGRAM.
  11. * J. L. SAPIA. 77/08/29.
  12. *
  13. * RPV PROVIDES THE ABILTIY FOR A CPU ROUTINE TO RESUME
  14. * EXECUTION AFTER A SPECIFIED NORMAL OR ABNORMAL
  15. * TERMINATION CONDITION. RPV SUPPORTS TWO CALL TYPES,
  16. * BOTH AN INITIALIZATION CALL AND A RESET CALL.
  17. *
  18. * EXTENDED RPV MODE ALLOWS A CPU ROUTINE TO NOT ONLY
  19. * CLEAN UP AND RESUME AFTER A SPECIFIED TERMINATION
  20. * BUT ALSO TO TAKE ACTION TO CORRECT AND RESPOND TO
  21. * INPUT DIRECTIVES. EXTENDED REPRIEVE HAS THREE MODES -
  22. * SETUP, RESUME, AND RESET. AN EXTENDED REPRIEVE RESUME
  23. * HAS TWO MODES - USER PROGRAM MODE RESUME (INTERRUPT HAS
  24. * BEEN PROCESSED AND RUNNING PROGRAM SHOULD BE RESTARTED
  25. * AS PRIOR TO INTERRUPT) AND INTERRUPT HANDLER MODE RESUME
  26. * (RUNNING PROGRAM MUST BE RESTARTED, AS PART OF INTERRUPT
  27. * PROCESSING, UNTIL A LOGICAL INTERRUPT POINT IS REACHED).
  28. SPACE 4,10
  29. *** RPV CALL FORMAT.
  30. *
  31. *T RA+1 24/ *RPV*, 1/R, 11/OPT, 6/, 18/ ADR
  32. *
  33. * R IF SET INDICATES A RESET REQUESTED. RESET WILL
  34. * BE PERFORMED FROM THE ADDRESS LAST SET.
  35. *
  36. * OPT OPTIONS WHEN REPRIEVE WILL BE PERFORMED. EACH BIT
  37. * REPRESENTS AN ERROR CONDITION.
  38. *
  39. * 001 MODE ERROR.
  40. * 002 SYSTEM REQUEST ERROR.
  41. * 004 TIME OR STORAGE LIMIT EXCEEDED.
  42. * 010 OPERATOR DROP.
  43. * 020 PPU ABORT.
  44. * 040 CPU ABORT.
  45. * 100 NORMAL TERMINATION.
  46. * 200 TERMINAL INTERRUPT
  47. *
  48. * ADR ADDRESS OF THE PARAMETER BLOCK. THE PARAMETER
  49. * BLOCK IS 21D WORDS IN LENGTH HAVING THE
  50. * FOLLOWING FORMAT:
  51. *
  52. *T ADR 30/LWA,30/0
  53. *T,ADR+1 60/0
  54. * . .
  55. * . .
  56. * . .
  57. *T,ADR+20 60/0
  58. *
  59. * LWA LWA FOR CHECKSUM.
  60. * THE SECOND WORD IS THE WORD TO RECEIVE THE
  61. * CHECKSUM VALUE.
  62. *
  63. * WHEN INITIALIZATION IS COMPLETED, THE OPTION
  64. * BYTE WILL BE SET IN THE
  65. * CONTROL POINT AREA AND EXIT ADDRESS FIELD WILL
  66. * CONTAIN CALLED ADDRESS WITH BIT 17 SET.
  67. *
  68. * THE PARAMETER BLOCK IS RETURNED IN THE FOLLOWING FORMAT.
  69. *
  70. *T ADR 60/EXCHANGE PACKAGE
  71. *T,ADR+20 60/PENDING SYSTEM REQUEST
  72. SPACE 4,10
  73. *** EXTENDED RPV CALL FORMAT.
  74. *
  75. * REFER TO *COMSRPV* FOR DESCRIPTION OF EXTENDED
  76. * REPRIEVE CALL AND PARAMETER BLOCK FORMAT.
  77. SPACE 4,10
  78. *** DAYFILE MESSAGES ISSUED.
  79. *
  80. *
  81. * * RPV - CALLED WITHOUT AUTO RECALL.* = AN EXTENDED
  82. * RPV MODE CALL WAS MADE WITHOUT THE AUTO
  83. * RECALL BIT SET.
  84. *
  85. * * RPV - PARAMETER BLOCK TOO SHORT.* = THE LENGTH SPECIFIED
  86. * IN THE PARAMETER BLOCK WAS LESS THAN 31B WORDS.
  87. *
  88. * * RPV - ADDRESS OUT OF RANGE.* = SOME PORTION OF THE
  89. * PARAMETER BLOCK OR AN ADDRESS SPECIFIED WAS
  90. * BEYOND THE USERS FIELD LENGTH.
  91. *
  92. * * RPV - UNDEFINED MASK.* = THE MASK SPECIFIED IN THE
  93. * PARAMETER BLOCK WAS NOT A LEGAL MASK.
  94. *
  95. * * RPV - LWA OF CHECKSUM .LT. FWA.*
  96. *
  97. * * RPV - INCORRECT PENDING INTERRUPT.* = A BIT WAS SET IN
  98. * THE PENDING INTERRUPT WORD OF THE PARAMETER
  99. * BLOCK WHICH DID NOT CORRESPOND TO A DEFINED ERROR.
  100. *
  101. * * RPV - INCORRECT CALL.* = MEANS ONE OF THE FOLLOWING.
  102. * 1) AN ATTEMPT WAS MADE TO DO A RESET WHEN THERE
  103. * WAS NO PREVIOUS ERROR OR THE PREVIOUS ERROR
  104. * HAD BEEN PENDING.
  105. * 2) AN EXTENDED MODE CALL WAS ATTEMPTED WHEN RPV
  106. * NON-EXTENDED MODE OR *DISTC* HAD ALREADY BEEN
  107. * SET IN THE CONTROL POINT AREA.
  108. * 3) A NON-EXTENDED MODE CALL WAS ATTEMPTED WHEN RPV
  109. * EXTENDED MODE HAD ALREADY BEEN SET IN THE CONTROL
  110. * POINT AREA.
  111. * 4) A CALL WAS MADE TO CLEAR EXTENDED REPRIVE AND THERE
  112. * WERE PENDING INTERRUPTS PRESENT.
  113. *
  114. * * RPV - INCORRECT FUNCTION CODE.* = THE FUNCTION CODE
  115. * SPECIFIED IN THE PARAMETER BLOCK WAS INCORRECT.
  116. *
  117. * * RPV - INCORRECT PENDING SYSTEM REQUEST.*
  118. *
  119. * * RPV - PREVIOUS ERROR CONDITIONS RESET.* = NORMAL
  120. * MESSAGE ISSUED ON AN *RPV* RESET CALL.
  121. TITLE ASSEMBLY CONSTANTS, DIRECT LOCATIONS, COMMON DECKS.
  122. SPACE 4,10
  123. **** DIRECT LOCATION ASSIGNMENTS.
  124.  
  125.  
  126. PL EQU 17 PARAMETER BLOCK LENGTH (EXTENDED RPV MODE)
  127. CN EQU 20 - 24 CONTROL POINT WORD *EECW*
  128. ER EQU 25 ERROR MESSAGE ADDRESS
  129. TN EQU 26 TERMINAL NUMBER
  130. EM EQU 27 EXTENDED REPRIEVE FUNCTION CODE
  131. CW EQU 30 - 34 WORD CONTAINING CHECKSUM LWA.
  132. TS EQU 40 - 44 TEMPORARY STORAGE
  133. PI EQU 60 - 64 PENDING INTERRUPT WORD
  134.  
  135. ****
  136. SPACE 4,10
  137. **** ASSEMBLY CONSTANTS.
  138.  
  139.  
  140. RPVL EQU 21 LENGTH OF RPV BLOCK (NOT EXTENDED MODE)
  141.  
  142. ****
  143. SPACE 4,10
  144. ** COMMON DECKS.
  145.  
  146.  
  147. *CALL COMPMAC
  148. *CALL COMSEJT
  149. *CALL COMSPIM
  150. QUAL REM
  151. *CALL COMSREM
  152. QUAL *
  153. *CALL COMSJCE
  154. LIST X
  155. *CALL COMSRPV
  156. LIST *
  157. TITLE MACRO DEFINITIONS.
  158. SPACE 4,10
  159. ** MACRO DEFINITIONS.
  160. ABORT SPACE 4,10
  161. ** ABORT - ERROR PROCESSING MACRO.
  162. *
  163. * ABORT ADDR
  164. *
  165. * ADDR = FWA OF ERROR MESSAGE FOR DAYFILE.
  166.  
  167.  
  168. PURGMAC ABORT
  169.  
  170. ABORT MACRO A
  171. MACREF ABORT
  172. LDC A
  173. LJM ABT PROCESS ERROR
  174. ENDM
  175. TITLE MAIN PROGRAM.
  176. RPV SPACE 4,10
  177. ** RPV - REPRIEVE CENTRAL PROGRAM.
  178.  
  179.  
  180. ORG PPFW
  181.  
  182. RPV RJM PRS PRESET RPV
  183. RJM RIC NON-EXTENDED REPRIEVE INITIALIZATION
  184. * RJM RRC (NON-EXTENDED REPRIEVE RESET)
  185. * RJM RSR (EXTENDED REPRIEVE SETUP OR RESUME)
  186. * RJM RER (EXTENDED REPRIEVE RESET)
  187. RPVA EQU *-1
  188. * UJN DPP DROP PP
  189. DPP SPACE 4,10
  190. ** DPP - DROP PP.
  191. *
  192. * ENTRY (DPPA) PRESET IF REQUEST CPU NEEDED.
  193. *
  194. * EXIT PP DROPPED.
  195. * EXIT IS TO *PPR*.
  196. *
  197. * MACROS MONITOR.
  198.  
  199.  
  200. DPP LDN 0 CHECK CPU REQUEST NEEDED
  201. * LDN 1 (CPU REQUEST NEEDED)
  202. DPPA EQU *-1
  203. ZJN DPP1 IF REQUEST CPU NOT NEEDED
  204. MONITOR RCPM REQUEST CPU
  205. DPP1 MONITOR DPPM DROP PP
  206. LJM PPR EXIT TO PP RESIDENT
  207. ABT SPACE 4,10
  208. ** ABT - ABORT PROGRAM.
  209. *
  210. * ENTRY (A) = ERROR MESSAGE ADDRESS.
  211. *
  212. * EXIT TO */2RP/ERR*.
  213. *
  214. * USES ER.
  215. *
  216. * MACROS EXECUTE.
  217.  
  218.  
  219. ABT STD ER SAVE ERROR MESSAGE ADDRESS
  220. EXECUTE 2RP
  221. TITLE PRIMARY SUBROUTINES.
  222. RER SPACE 4,15
  223. ** RER - PROCESS RESET FOR EXTENDED REPRIEVE.
  224. *
  225. * ENTRY (CN - CN+4) = CONTENTS OF CONTROL POINT AREA
  226. * WORD *EECW*.
  227. *
  228. * ERROR TO *ABT*, IF INCORRECT *RPV* CALL.
  229. *
  230. * USES CM+1, CN - CN+1, TS - TS+4.
  231. *
  232. * CALLS REP, RPB, RSR, TOJ.
  233. *
  234. * MACROS ABORT, MONITOR.
  235.  
  236.  
  237. RER SUBR ENTRY/EXIT
  238. LDD CN CHECK IF RPV EXTENDED MODE SET
  239. SHN 21-12
  240. MJN RER2 IF EXTENDED MODE SET
  241. RER1 ABORT ERIR * RPV - INCORRECT CALL.*
  242.  
  243. RER2 SHN 21-11-21+12 CHECK INTERRUPT HANDLER BIT
  244. PJN RER1 IF INTERRUPT HANDLER NOT ACTIVE
  245. LDD CP CHECK PREVIOUS ERROR FLAG
  246. ADN TIAW
  247. CRD TS
  248. LDD TS+2 CHECK ERROR FLAG
  249. STD CM+1
  250. ZJN RER4 IF NORMAL TERMINATION
  251. LMN TIET
  252. NJN RER3 IF NOT USER BREAK 1 (TERMINAL INTERRUPT)
  253. RJM RSR TREAT USER BREAK 1 RESET AS RESUME
  254. UJN RERX RETURN
  255.  
  256. RER3 MONITOR CEFM CHANGE ERROR FLAG
  257. UJN RER5 CONTINUE PROCESSING
  258.  
  259. RER4 LDN 1 CLEAR CPU STATUS AT ROLLOUT
  260. STD CM+1
  261. MONITOR DCPM DROP CPU
  262. RER5 LDD CN+1 SAVE MASK BITS
  263. STD TS
  264. LDN 0 CLEAR MASK BITS
  265. STD CN+1
  266. LDD CN CLEAR INTERRUPT HANDLER BIT
  267. SBD TH
  268. STD CN
  269. LDD CP REWRITE WORD EECW
  270. ADN EECW
  271. CWD CN
  272. LDD TS CHECK OLD MASK
  273. LPK /COMSRPV/TIMS
  274. ZJN RER6 IF NOT TERMINAL INTERRUPT
  275. LDK /REM/VCDT CLEAR TERMINAL CONTROL BIT
  276. RJM TOJ
  277. RER6 LDD RA RESET RA+1
  278. SHN 6
  279. ADN 1
  280. CWM RPPB+/COMSRPV/PRAR*5,ON
  281. RJM REP RESET EXCHANGE PACKAGE
  282. RJM RPB RETURN PARAMETER BLOCK
  283. LJM RERX RETURN
  284. RIC SPACE 4,10
  285. ** RIC - PROCESS REPRIEVE INITIALIZATION CALL.
  286. *
  287. * ENTRY (CN - CN+4) = CONTENTS OF USERS *EECW* WORD.
  288. *
  289. * USES CM - CM+4, CN - CN+4.
  290. *
  291. * CALLS CCS, CKA.
  292.  
  293.  
  294. RIC SUBR ENTRY/EXIT
  295. LDD IR+2 CHECK MASK BITS
  296. LPC 377
  297. STD CN+1
  298. NJN RIC2 IF MASK BITS SELECTED
  299. STD CN+4 CLEAR ADDRESS
  300. LDD CN+3
  301. SCN 77
  302. STD CN+3
  303. LDD CP
  304. ADN EECW
  305. CWD CN
  306. RIC1 UJN RICX RETURN
  307.  
  308. RIC2 LDD IR+3 SET REPRIEVE ADDRESS
  309. LMD CN+3
  310. LPN 77
  311. LMD CN+3
  312. STD CN+3
  313. LDD IR+4
  314. STD CN+4
  315. LDD CP ENTER REPRIEVE ADDRESS
  316. ADN EECW
  317. CWD CN
  318. SOM CCSA SET CHECKSUM TO LWA ONLY
  319. LDD IR+3 SET FWA CHECKSUM
  320. LPN 37
  321. SHN 14
  322. LMD IR+4
  323. ADN RPVL
  324. RJM CCS COMPUTE CHECKSUM
  325. ZJN RIC1 IF NO CHECKSUM REQUESTED
  326. LDD MA READ CHECKSUM
  327. CRD CM
  328. LDN 0
  329. STD T1
  330. RJM CKA GET ADDRESS OF PARAMETER BLOCK
  331. ADN 1
  332. CWD CM
  333. UJN RIC1 RETURN
  334. RRC SPACE 4,15
  335. ** RRC - PROCESS REPRIEVE RESET CALL.
  336. *
  337. * ENTRY (CN - CN+4) = CONTENTS OF USERS *EECW* WORD.
  338. *
  339. * ERROR TO *ABT*, IF INCORRECT *RPV* CALL.
  340. *
  341. * USES CM - CM+4, CN - CN+4, T1 - T7.
  342. *
  343. * CALLS CKA, DFM, REP.
  344. *
  345. * MACROS ABORT, MONITOR.
  346.  
  347.  
  348. RRC SUBR ENTRY/EXIT
  349. LDD CN+3 CHECK IF JOB PREVIOUSLY REPRIEVED
  350. SHN 21-5
  351. MJN RRC1 IF NOT PREVIOUSLY REPRIEVED
  352. ABORT ERIR * RPV - INCORRECT CALL.*
  353.  
  354. * PROCESS RESET OPTION.
  355.  
  356. RRC1 LDD CN+1 RESET ERROR FLAG
  357. LPN 77
  358. ZJN RRC2 IF NORMAL TERMINATION
  359. STD CM+1
  360. MONITOR CEFM
  361. UJN RRC3 CONTINUE PROCESSING
  362.  
  363. RRC2 LDN 1 CLEAR CPU STATUS AT ROLLOUT
  364. STD CM+1
  365. MONITOR DCPM DROP CPU
  366. RRC3 LDN 0 CLEAR SELECTIONS IN CONTROL POINT AREA
  367. STD CN+1
  368. STD CN+4
  369. LDD CN+3
  370. SCN 77
  371. STD CN+3
  372. LDD CP ENTER CONTROL POINT AREA
  373. ADN EECW
  374. CWD CN
  375. LDN /COMSRPV/EXPL READ NEW EXCHANGE PACKAGE
  376. STD T1
  377. RJM CKA FORM ABSOLUTE ADDRESS
  378. CRM EXPN,T1
  379. RJM REP RESET EXCHANGE PACKAGE
  380. LDC =C* RPV - PREVIOUS ERROR CONDITIONS RESET.*
  381. RJM DFM ISSUE MESSAGE
  382. LJM RRCX RETURN
  383. RSR SPACE 4,30
  384. ** RSR - PROCESS REPRIEVE SETUP AND RESUME.
  385. *
  386. * THIS SUBROUTINE PROCESSES THE EXTENDED REPRIEVE SETUP AND
  387. * RESUME FUNCTIONS. IT ALSO CALLED FROM THE EXTENDED REPRIEVE
  388. * RESET FUNCTION PROCESSOR IF PROCESSING A USER BREAK 1.
  389. *
  390. * ENTRY (CN - CN+4) = CONTROL POINT WORD *EECW*.
  391. * (PI - PI+4) = WORD FIVE OF PARAMETER BLOCK (PENDING
  392. * INTERRUPTS).
  393. * (CW - CW+4) = WORD ONE OF PARAMETER BLOCK.
  394. * (EM) = EXTENDED REPRIEVE FUNCTION CODE.
  395. *
  396. * EXIT TO *ABT*, IF INCORRECT *RPV* CALL OR INCORRECT
  397. * PENDING INTERRUPT.
  398. * TO *PPR* IF A PENDING TERMINAL FILE *CIO* REQUEST WAS
  399. * RESTARTED.
  400. * EXTENDED REPRIEVE ACTIVE STATUS (FLAG BIT AND ERROR
  401. * SELECTION MASK) CLEARED IN CONTROL POINT AREA IF
  402. * CALLER SPECIFIED A ZERO MASK.
  403. *
  404. * USES T0, T1, T2, CM - CM+4, CN - CN+4, TS - TS+4.
  405. *
  406. * CALLS CCS, REP, RPB, TOJ, VRA.
  407. *
  408. * MACROS ABORT, MONITOR.
  409.  
  410.  
  411. RSR SUBR ENTRY/EXIT
  412. LDM RPPB+/COMSRPV/NMSK*5+1
  413. NJN RSR1 IF NEW ERROR MASK PRESENT
  414. LDD CN CLEAR EXTENDED REPRIEVE MODE FLAG
  415. LPC 4777 CLEAR INTERRUPT HANDLER IN PROGRESS FLAG
  416. STD CN
  417. UJN RSR2 SAVE OLD MASK
  418.  
  419. RSR1 LDD CN SET EXTENDED REPRIEVE MODE FLAG
  420. LPC 5777
  421. LMC 2000
  422. STD CN
  423. RSR2 LDD CN+1 SAVE OLD MASK
  424. STD T1
  425. LDM RPPB+/COMSRPV/NMSK*5+1 SET NEW RPV MASK
  426. STD CN+1
  427. LDD CN CHECK EXTENDED REPRIEVE MODE FLAG
  428. SHN 21-12
  429. MJN RSR3 IF NOT REQUEST TO CANCEL EXTENDED REPRIEVE
  430. LDN 0 CLEAR PARAMETER BLOCK ADDRESS
  431. STD CN+4
  432. LDD CN+3
  433. SCN 77
  434. STD CN+3
  435. UJN RSR4 CONTINUE PROCESSING REQUEST
  436.  
  437. RSR3 LDD IR+4 SET FWA OF REPRIEVE AREA
  438. STD CN+4
  439. LDD CN+3
  440. SCN 77
  441. STD CN+3
  442. LDD IR+3
  443. LPN 77
  444. RAD CN+3
  445.  
  446. * CHECK FOR TERMINAL INTERRUPT.
  447.  
  448. RSR4 LDD CN+1 CHECK MASK IN *EECW*
  449. SHN 21-7
  450. PJN RSR5 IF NOT TERMINAL INTERRUPT MASK
  451. LDD T1 CHECK OLD MASK
  452. SHN 21-7
  453. MJN RSR6 IF TERMINAL INTERRUPT
  454. LDK /REM/VSDT SET TERMINAL CONTROL BIT
  455. RJM TOJ
  456. UJN RSR6 CONTINUE PROCESSING
  457.  
  458. RSR5 LDD T1 CHECK OLD MASK
  459. SHN 21-7
  460. PJN RSR6 IF NOT TERMINAL INTERRUPT MASK
  461. LDK /REM/VCDT CLEAR TERMINAL CONTROL BIT
  462. RJM TOJ
  463.  
  464. * CHECK FOR AND PROCESS PENDING INTERRUPTS. THE PENDING
  465. * INTERRUPT WORD IN THE PARAMETER BLOCK IS FIRST CHECKED
  466. * TO ENSURE NO BITS ABOVE BIT 47D ARE SET . BITS 47D - 0 ARE
  467. * THEN CHECKED FROM LEFT TO RIGHT. WHEN A BIT IS FOUND THAT
  468. * IS SET THIS IS THE HIGHEST PRIORITY PENDING INTERRUPT.
  469. * THIS BIT IS CLEARED AND THE CORRESPONDING ERROR CODE, ERROR
  470. * CLASS, AND CONTROL POINT ERROR FLAG VALUES ARE SET IN THE
  471. * APPROPRIATE FIELDS IN THE PARAMETER BLOCK.
  472.  
  473. ERRNG 47D-MXET IF ERROR TYPES OVERFLOW BIT 47D
  474.  
  475. RSR6 LDN 1 SET BYTE INDEX
  476. STD T2
  477. LDD PI
  478. ZJN RSR8 IF NO INCORRECT PENDING INTERRUPT
  479. RSR7 ABORT ERIP * RPV - INCORRECT PENDING INTERUPT.*
  480.  
  481. RSR8 LDN 3*12D SET BASE BIT NUMBER
  482. STD T0
  483. RSR8.1 LDM PI,T2
  484. NJN RSR10 IF BITS SET
  485. AOD T2 ADVANCE BYTE NUMBER
  486. LCN 12D DECREMENT BASE BIT NUMBER
  487. RAD T0
  488. PJN RSR8.1 IF NOT END OF PENDING ERROR BITS
  489. LJM RSR20 IF PENDING INTERRUPT .EQ. 0
  490.  
  491. * SELECT HIGHEST PRIORITY INTERRUPT.
  492.  
  493. RSR9 ABORT ERIR *RPV - INCORRECT CALL.*
  494.  
  495. RSR10 STM RSRA
  496. LDD CN
  497. SHN 21-12
  498. PJN RSR9 IF REQUEST TO CLEAR EXTENDED REPRIEVE
  499. LDN 13
  500. STD T1
  501. RSR11 LDC 0
  502. RSRA EQU *-1
  503. LPC 4000
  504. RSRB EQU *-1
  505. NJN RSR12 IF BIT SET
  506. SOD T1
  507. LMC SHNI
  508. STM RSRC REPLACE SHIFT INSTRUCTION
  509. LDN 1
  510. SHN 13
  511. RSRC EQU *-1
  512. STM RSRB
  513. UJN RSR11 CHECK NEXT BIT
  514.  
  515. RSR12 LDD T0
  516. RAD T1
  517. NJN RSR14 IF LEGAL PENDING INTERRUPT
  518. RSR13 LJM RSR7 ABORT
  519.  
  520. RSR14 SBN MXET
  521. PJN RSR13 IF INCORRECT PENDING INTERRUPT
  522. LDM RSRB CLEAR SELECTED BIT
  523. LMM PI,T2
  524. STM RPPB+4*5,T2
  525. STM PI,T2
  526. LDM ERCT,T1 STORE ERROR CODES
  527. ZJP RSR6 IF ERROR NOT DEFINED
  528. STD TS
  529. LPN 77 STORE ERROR CLASS
  530. RAM RSRD
  531. LDN 1
  532. RSRD SHN 0
  533. STM RPPB+/COMSRPV/ERCL*5+3
  534. LDD TS STORE COMMON ERROR CODE
  535. SHN -6
  536. STM RPPB+/COMSRPV/ERCD*5+4
  537. LDD T1 STORE CONTROL POINT ERROR FLAG VALUE
  538. STM RPPB+/COMSRPV/OSEF*5+4
  539. LDD CN SET INTERRUPT HANDLER IN PROGRESS FLAG
  540. LPC 6777
  541. LMD TH
  542. STD CN
  543. LDD CP
  544. ADN EECW
  545. CWD CN
  546. SBK EECW-TIAW SET ERROR FLAG IN *TIAW*
  547. CRD CM
  548. LDD T1
  549. STD CM+2
  550. LDD CP
  551. ADK TIAW
  552. CWD CM
  553. RJM REP RESET EXCHANGE PACKAGE
  554. LDD CP RESET P TO INTERRUPT HANDLER ADDRESS
  555. CRD TS
  556. LDD CW+4
  557. STD TS+1
  558. LDD CW+3
  559. LPN 77
  560. STD TS
  561. LDD CP
  562. CWD TS
  563. RSR19 RJM RPB RETURN PARAMETER BLOCK
  564. LJM RSRX RETURN
  565.  
  566. * CONTINUE PROCESSING HERE WHEN PENDING INTERRUPT .EQ. 0.
  567.  
  568. RSR20 LDD CW+3 SET FWA OF CHECKSUM
  569. LPN 37
  570. SHN 14
  571. ADD CW+4
  572. RJM CCS COMPUTE CHECKSUM
  573. ZJN RSR21 IF NO CHECKSUM REQUESTED
  574. LDD MA READ CHECKSUM
  575. CRM RPPB+/COMSRPV/CKSM*5,ON
  576. RSR21 LDD EM CHECK EXTENDED REPRIEVE FUNCTION CODE
  577. LMN 4
  578. ZJN RSR22 IF INTERRUPT HANDLER MODE RESUME
  579. LDD CP CLEAR PREVIOUS ERROR FLAG
  580. ADN TIAW
  581. CRD TS
  582. LDN 0
  583. STD TS+2
  584. LDD CP
  585. ADN TIAW
  586. CWD TS
  587. LDD CN CLEAR INTERRUPT HANDLER IN PROGRESS FLAG
  588. LPC 6777
  589. STD CN
  590. RSR22 LDD CP REWRITE *EECW* WORD
  591. ADN EECW
  592. CWD CN
  593. RJM VRA VALIDATE SYSTEM REQUEST
  594. ZJN RSR23 IF NO PENDING SYSTEM REQUEST
  595. LDN 0
  596. STD CM+1
  597. MONITOR DCPM DROP CPU
  598. LDD RA RESET RA+1
  599. SHN 6
  600. ADN 1
  601. CWM RPPB+/COMSRPV/PRAR*5,ON
  602. AOM DPPA SET CPU REQUEST NEEDED
  603. LDN ZERL CLEAR SYSTEM REQUEST
  604. CRM RPPB+/COMSRPV/PRAR*5,ON
  605. RSR23 LDD EM CHECK FUNCTION CODE
  606. LMN 1
  607. ZJN RSR24 IF SETUP FUNCTION
  608. RJM REP REPLACE EXCHANGE PACKAGE
  609. RSR24 LDM RPPB+/COMSRPV/ITIO*5 CHECK TERMINAL INTERRUPT WORD
  610. NJN RSR25 IF TERMINAL INPUT REQUEST PENDING
  611. LJM RSR19 RETURN PARAMETER BLOCK
  612.  
  613. RSR25 SHN -6 VALIDATE PP CALL
  614. ZJN RSR26 IF INCORRECT PP CALL
  615. SBN 1R0
  616. MJN RSR27 IF VALID PP CALL
  617. RSR26 ABORT ERIR * RPV - INCORRECT CALL.*
  618.  
  619. RSR27 LDN ZERL CLEAR TERMINAL INTERRUPT WORD
  620. CRD CM
  621. RJM RPB RETURN PARAMETER BLOCK
  622. SBD PL
  623. ADN /COMSRPV/ITIO CLEAR TERMINAL INTERRUPT WORD
  624. CWD CM
  625. LDM RPPB+/COMSRPV/ITIO*5+1 ISSUE TERMINAL I/O REQUEST
  626. LMD IR+1
  627. SCN 37
  628. LMD IR+1
  629. LMN 40 SET RECALL BIT
  630. STM RPPB+/COMSRPV/ITIO*5+1
  631. LDD MA RESTART TERMINAL I/O REQUEST
  632. CWM RPPB+/COMSRPV/ITIO*5,ON
  633. CWD CM CLEAR *CIO* PARAMETER WORD
  634. LDN 2 SET DROP PP OPTION
  635. STD CM+1
  636. MONITOR RPPM
  637. LJM PPR EXIT
  638. ERCT SPACE 4,10
  639. ** ERCT - ERROR CODES TABLE.
  640. *
  641. * TABLE IS IN THE FOLLOWING FORMAT.
  642. *
  643. * 6/EC, 6/ EM.
  644. *
  645. * EC = COMMON ERROR CODE.
  646. * EM = ERROR CLASS MASK BIT EXPONENT.
  647.  
  648.  
  649. ERCT INDEX TABLE OF ERROR CODES
  650.  
  651. INDEX 0,0 NORMAL TERMINATION (INCORRECT)
  652. INDEX TIET,4007 USER BREAK ONE
  653. INDEX TAET,4007 USER BREAK TWO
  654. INDEX ARET,0200 ARITHMETIC ERROR
  655. INDEX IDET,0603 IDLE DOWN
  656. INDEX ITET,0304 SCP INCORRECT TRANSFER ADDRESS
  657. INDEX PSET,0200 PROGRAM STOP
  658. INDEX PPET,0304 PP ABORT
  659. INDEX CPET,0405 CPU ABORT
  660. INDEX PCET,0501 PPU CALL ERROR
  661. INDEX MLET,0304 MESSAGE LIMIT
  662. INDEX TLET,0102 TIME LIMIT
  663. INDEX FLET,1702 FILE LIMIT
  664. INDEX TKET,1702 TRACK LIMIT
  665. INDEX SRET,2102 SRU LIMIT
  666. INDEX FSET,0703 FORCED ERROR
  667. INDEX ODET,0603 OPERATOR DROP
  668. INDEX RCET,1601 JOB HUNG IN AUTORECALL
  669. INDEX RRET,1003 OPERATOR RERUN
  670. INDEX OKET,0703 OPERATOR KILL
  671. INDEX STET,0603 SUSPENSION TIMEOUT
  672. INDEX SSET,0703 SUBSYSTEM ABORT
  673. INDEX ECET,1204 EXTENDED MEMORY PARITY ERROR
  674. INDEX PEET,0200 CPU PARITY ERROR
  675. INDEX SYET,0703 SYSTEM ERROR
  676. INDEX ORET,0703 OVERRIDE ERROR CONDITION
  677.  
  678. INDEX MXET MAXIMUM NUMBER OF ERROR FLAGS
  679. TITLE SUBROUTINES.
  680. CCS SPACE 4,20
  681. ** CCS - COMPUTE CHECKSUM.
  682. *
  683. * CCS DETERMINES IF A CHECKSUM IS REQUESTED AND
  684. * IF SO COMPUTES IT AND RETURNS THE VALUE TO THE
  685. * PARAMETER BLOCK IN THE SPECIFIED WORD.
  686. *
  687. * ENTRY (A) = FWA OF CHECKSUM.
  688. * (CW - CW+2) = LWA FOR CHECKSUM IN THE FORM
  689. * 30/LWA,6/0.
  690. * (CCSA) = PRESET FOR CHECKSUM OPTION FROM NON-EXTENDED
  691. * REPRIEVE.
  692. *
  693. * EXIT (A) = 0 IF NO CHECKSUM REQUESTED.
  694. * (A) = 1 IF CHECKSUM REQUESTED AND COMPUTED.
  695. * (MA) = ADDRESS OF WORD CONTAINING CHECKSUM VALUE.
  696. * TO *ABT*, IF CHECKSUM ADDRESS OUT OF RANGE.
  697. *
  698. * USES CM - CM+4.
  699. *
  700. * MACROS ABORT, MONITOR.
  701.  
  702.  
  703. CCS SUBR ENTRY/EXIT
  704. STD CM+4 SET FWA OF CHECKSUM
  705. SHN -14
  706. STD CM+3
  707. LDD CW+2 DETERMINE IF CHECKSUM REQUESTED
  708. SCN 77
  709. SHN 6
  710. LMD CW+1
  711. ZJN CCSX IF NO CHECKSUM REQUESTED
  712. SHN 6
  713. SBN 2 ENSURE CHECKSUM LWA .GE. 2
  714. MJN CCS1 IF ADDRESS .LT. 2
  715. ADN 2
  716. CCSA ADN 1
  717. * ADN 0 (CHECKSUM TO LWA. ONLY)
  718. STD CM+2
  719. SHN -14
  720. STD CM+1
  721. SHN 14
  722. LMD CM+2
  723. SHN -6
  724. SBD FL
  725. MJN CCS2 IF CHECKSUM LWA .LT. FL
  726. CCS1 ABORT ERAO * RPV - ADDRESS OUT OF RANGE.*
  727.  
  728. CCS2 LDD CM+1
  729. SBD CM+3
  730. SHN 14
  731. ADD CM+2
  732. SBD CM+4
  733. SBN 1
  734. PJN CCS3 IF FWA .LT. LWA
  735. ABORT ERCS * RPV - LWA OF CHECKSUM .LT. FWA.*
  736.  
  737. CCS3 ADN 1
  738. STD CM+2 SET CHECKSUM LENGTH
  739. SHN -14
  740. STD CM+1
  741. MONITOR CKSM CHECKSUM CALLING PROGRAM
  742. LDN 1 INDICATE CHECKSUM COMPUTED
  743. LJM CCSX RETURN
  744. CKA SPACE 4,10
  745. ** CKA - CHECK ADDRESS.
  746. *
  747. * ENTRY (IR+3 - IR+4) = ADDRESS.
  748. * (T1) = WORD COUNT.
  749. *
  750. * EXIT (A) = ABSOLUTE ADDRESS.
  751. * (A) = 0 IF ADDRESS IS OUTSIDE OF PROGRAM FL.
  752.  
  753.  
  754. CKA2 LDD IR+3 LOAD ABSOLUTE ADDRESS
  755. LPN 77
  756. SHN 6
  757. ADD RA
  758. SHN 6
  759. ADD IR+4
  760.  
  761. CKA SUBR ENTRY/EXIT
  762. LDD IR+3
  763. LPN 77
  764. SHN 14
  765. MJN CKA1 IF OUT OF RANGE
  766. LMD IR+4
  767. ADD T1
  768. SBN 1
  769. SHN -6
  770. SBD FL
  771. MJN CKA2 IF (ADDRESS + WORD COUNT) .LE. FL
  772. CKA1 LDN 0 SET ADDRESS ERROR
  773. UJN CKAX RETURN WITH ERROR RESPONSE
  774. REP SPACE 4,10
  775. ** REP - RESET EXCHANGE PACKAGE.
  776. *
  777. * ENTRY NEW EXCHANGE PACKAGE IN BUFFER BEGINNING AT
  778. * ADDRESS *EXPN*.
  779. *
  780. * EXIT OLD EXCHANGE PACKAGE UPDATED WITH NEW.
  781. *
  782. * USES T1, T2.
  783. *
  784. * MACROS MONITOR.
  785.  
  786.  
  787. REP SUBR ENTRY/EXIT
  788. MONITOR RCLM ENSURE EXCHANGE PACKAGE READY
  789. LDN 0 RESET (B0) FROM EXCHANGE PACKAGE
  790. STM EXPN+4
  791. LDN 7 UPDATE OLD EXCHANGE PACKAGE
  792. STD T2
  793. LDD CP READ OLD EXCHANGE PACKAGE
  794. ADN 1
  795. CRM EXPO,T2
  796. LDN 6*5
  797. STD T2
  798. REP1 LDM EXPO,T2 PRESERVE RA, FL, EM, RAE, FLE, MA AND EEA
  799. STM EXPN+5,T2
  800. LDM EXPO+1,T2
  801. STM EXPN+6,T2
  802. LCN 5
  803. RAD T2
  804. PJN REP1 IF MORE PARAMETERS TO COPY
  805. LDN /COMSRPV/EXPL
  806. STD T1
  807. LDD CP REWRITE EXCHANGE PACKAGE
  808. CWM EXPN,T1
  809. LJM REPX RETURN
  810. RPB SPACE 4,10
  811. ** RPB - RETURN PARAMETER BLOCK.
  812. *
  813. * ENTRY (RPPB) = EXTENDED REPRIEVE PARAMETER BLOCK.
  814. * (PL) = LENGTH OF PARAMETER BLOCK.
  815. *
  816. * EXIT (A) = LWA+1 OF PARAMETER BLOCK IN CM.
  817. *
  818. * USES T1.
  819. *
  820. * CALLS CKA.
  821.  
  822.  
  823. RPB SUBR ENTRY/EXIT
  824. AOM RPPB+/COMSRPV/FUNC*5+4 SET COMPLETE BIT
  825. LDN 0
  826. STD T1
  827. RJM CKA GET ABSOLUTE ADDRESS OF BLOCK IN CM
  828. CWM RPPB,PL WRITE PARAMETER BLOCK TO CM
  829. UJN RPBX RETURN
  830. TOJ SPACE 4,20
  831. ** TOJ - PROCESS TERMINAL ORIGIN JOBS.
  832. *
  833. * ISSUES *TSEM* MONITOR REQUEST TO SET OR TO CLEAR
  834. * THE TERMINAL CONTROL BIT IN THE JOBS TERMINAL
  835. * TABLE WORD *VSTT*.
  836. *
  837. * ENTRY (A) = /REM/VSDT IF BIT TO BE SET.
  838. * = /REM/VCDT IF BIT TO BE CLEARED.
  839. * (TN) = TERMINAL NUMBER IF ONLINE.
  840. * = ZERO IF NOT ONLINE.
  841. *
  842. * EXIT *TSEM* MONITOR FUNCTION ISSUED IF *TXOT* ORIGIN.
  843. * NFL RECOVERY WORD UPDATED IF DETACHED.
  844. *
  845. * USES T1, CM - CM+4, TS - TS+4.
  846. *
  847. * MACROS DELAY, MONITOR, NFA, PAUSE.
  848.  
  849.  
  850. TOJ SUBR ENTRY/EXIT
  851. STD TS STORE REQUEST
  852. LDD TN SET TERMINAL NUMBER
  853. ZJP TOJ3 IF NOT ONLINE
  854. STD TS+4
  855. LDN 0 CLEAR EXTRANEOUS BYTE
  856. STD TS+1
  857. LDN /REM/VSTT SET WORD NUMBER
  858. STD TS+2
  859. LDN 59D SET BIT NUMBER
  860. STD TS+3
  861. LDD MA WRITE REQUEST TO MESSAGE BUFFER
  862. CWD TS
  863. TOJ1 LDK ZERL
  864. CRD CM
  865. MONITOR TSEM ISSUE REQUEST
  866. LDD CM+1
  867. ZJN TOJX IF *IAF* INACESSIBLE OR ERROR
  868. LMC 7777
  869. NJN TOJX IF REQUEST COMPLETE
  870. PAUSE ST
  871. LDC 3600 *TSEM* QUEUE FULL - DELAY AND RETRY
  872. STD T1
  873. TOJ2 DELAY
  874. SOD T1
  875. ZJN TOJ1 IF TIME TO REISSUE REQUEST
  876. UJN TOJ2 CONTINUE TO DELAY
  877.  
  878. TOJ3 LDC **
  879. TOJA EQU *-1 (CONNECTION STATUS)
  880. LMK DTCS
  881. NJN TOJ5 IF NOT DETACHED
  882. NFA RC1N READ RECOVERY WORD FROM NFL
  883. CRD CM
  884. LDD CM+4 CLEAR TERMINAL INTERRUPT BIT
  885. LPC 7677
  886. STD CM+4
  887. LDD TS CHECK FUNCTION
  888. LMK /REM/VCDT
  889. ZJN TOJ4 IF TO CLEAR BIT
  890. LDD HN SET TERMINAL INTERRUPT BIT
  891. RAD CM+4
  892. TOJ4 NFA RC1N REWRITE RECOVERY WORD
  893. CWD CM
  894. TOJ5 UJP TOJX RETURN
  895. VRA SPACE 4,15
  896. ** VRA - VALIDATE SYSTEM REQUEST.
  897. *
  898. * VRA CHECKS WORD FIVE OF THE PARAMETER BLOCK
  899. * AND IF THERE IS A PENDING SYSTEM REQUEST
  900. * CHECKS IF IT IS VALID. (BITS 42 - 59 NON-ZERO IF
  901. * BITS 0 - 59 ARE NON-ZERO) THIS IS TO ENSURE THAT
  902. * A JOB WILL NOT BE HUNG IN AUTO-RECALL BY AN
  903. * INCORRECT SYSTEM REQUEST.
  904. *
  905. * EXIT (A) = 0 IF NO PENDING SYSTEM REQUEST.
  906. * (A) = NONZERO IF LEGAL PENDING SYSTEM REQUEST.
  907. *
  908. * ERROR TO *ABT*, IF INCORRECT PENDING SYSTEM REQUEST.
  909. *
  910. * MACROS ABORT.
  911.  
  912.  
  913. VRA SUBR ENTRY/EXIT
  914. LDM RPPB+/COMSRPV/PRAR*5 CHECK PENDING SYSTEM REQUEST
  915. ADM RPPB+/COMSRPV/PRAR*5+1
  916. ADM RPPB+/COMSRPV/PRAR*5+2
  917. ADM RPPB+/COMSRPV/PRAR*5+3
  918. ADM RPPB+/COMSRPV/PRAR*5+4
  919. ZJN VRAX IF NO PENDING SYSTEM REQUEST
  920. LDM RPPB+/COMSRPV/PRAR*5+1
  921. SCN 77
  922. ADM RPPB+/COMSRPV/PRAR*5
  923. NJN VRAX IF LEGAL PENDING SYSTEM REQUEST
  924. ABORT ERRA * RPV - INCORRECT PENDING SYSTEM REQUEST.*
  925. TITLE PRESET RPV.
  926. PRS SPACE 4,20
  927. ** PRS - PRESET REPRIEVE.
  928. *
  929. * EXIT (EM) = EXTENDED REPRIEVE FUNCTION CODE.
  930. * (PL) = EXTENDED REPRIEVE PARAMETER BLOCK LENGTH.
  931. * (RPPB) = EXTENDED REPRIEVE PARAMETER BLOCK.
  932. * (CN - CN+4) = CONTENTS OF CONTROL POINT WORD *EECW*.
  933. * (CW - CW+4) = WORD ONE OF PARAMETER BLOCK (CHECKSUM
  934. * LWA AND TRANSFER ADDRESS.)
  935. * (PI - PI+4) = WORD FIVE OF PARAMETER BLOCK (PENDING
  936. * INTERRUPTS.)
  937. *
  938. * ERROR TO *ABT*, IF ERROR ENCOUNTERED.
  939. *
  940. * USES T1, ER, CM - CM+4, TS - TS+4.
  941. *
  942. * CALLS CKA, CRS, STN.
  943. *
  944. * MACROS ABORT.
  945.  
  946.  
  947. PRS15 CRD CW READ FIRST WORD OF PARAMETER BLOCK
  948.  
  949. PRS SUBR ENTRY/EXIT
  950. RJM STN SET TERMINAL NUMBER
  951. LDD CP READ ERROR EXIT CONTROL WORD
  952. ADN EECW
  953. CRD CN
  954. LDN 0 CLEAR EXTENDED RPV FLAG
  955. STD EM
  956. STD T1
  957. LDD IR+3 CHECK FOR EXTENDED RPV MODE
  958. SHN 21-6
  959. MJN PRS2 IF EXTENDED RPV MODE
  960.  
  961. * PRESET NORMAL MODE REQUEST.
  962.  
  963. LDD CN CHECK EXTENDED MODE FLAG
  964. SHN 21-12
  965. MJN PRS3 IF EXTENDED MODE SET
  966. LDD IR+2
  967. SHN 21-13
  968. PJN PRS1 IF NOT RESET
  969. LDC RRC SET NON-EXTENDED REPRIEVE RESET PROCESSOR
  970. STM RPVA
  971. LDD CN+3 USE ADDRESS FROM PREVIOUS CALL
  972. LPN 37
  973. STD IR+3
  974. LDD CN+4
  975. STD IR+4
  976. PRS1 LDN RPVL SET LENGTH OF RPV CALL BLOCK
  977. STD T1
  978. RJM CKA CHECK ADDRESS
  979. NJP PRS15 IF NO ADDRESS ERROR
  980. LJM PRS7 ABORT
  981.  
  982. * PRESET EXETENDED MODE REQUEST.
  983.  
  984. PRS2 AOD EM SET FLAG FOR EXTENDED RPV MODE
  985. LDD CN CHECK EXTENDED MODE FLAG IN EECW
  986. SHN 21-12
  987. MJN PRS5 IF EXTENDED MODE SET
  988. LDD CN+1
  989. ZJN PRS4 IF MASK FIELD CLEAR
  990. PRS3 ABORT ERIR * RPV - INCORRECT CALL.*
  991.  
  992. PRS4 LDD CP CHECK IF DISTC SET
  993. ADN TIAW
  994. CRD CM
  995. LDD CM+3
  996. SCN 77
  997. ADD CM+2
  998. NJN PRS3 IF DISTC ADDRESS SET
  999. LDD CN+3 CHECK ERROR EXIT
  1000. LPN 77
  1001. ADD CN+4
  1002. NJN PRS3 IF ERROR EXIT FIELD SET
  1003.  
  1004. * VALIDATE PARAMETER BLOCK ADDRESS.
  1005.  
  1006. PRS5 LDN /COMSRPV/REPL SET LENGTH OF PARAMETER BLOCK
  1007. STD PL
  1008. RJM CKA GET LENGTH OF PARAMETER BLOCK
  1009. ZJN PRS7 IF ADDRESS ERROR
  1010. CRD CW
  1011. LDD CW+3
  1012. STD T1
  1013. SBN /COMSRPV/REPL CHECK LENGTH OF PARAMETER BLOCK
  1014. PJN PRS6 IF PARAMETER BLOCK LENGTH IS SUFFICIENT
  1015. ABORT ERPB * RPV - PARAMETER BLOCK TOO SHORT.*
  1016.  
  1017. PRS6 RJM CKA CHECK ADDRESS
  1018. NJN PRS8 IF NO ERROR
  1019. PRS7 ABORT ERAO * RPV - ADDRESS OUT OF RANGE.*
  1020.  
  1021. * CHECK PARAMETER BLOCK PARAMETERS.
  1022.  
  1023. PRS8 CRM RPPB,PL
  1024. SBD PL
  1025. ADN /COMSRPV/CKLW READ LWA FOR CHECKSUM
  1026. CRD CW
  1027. ADN /COMSRPV/PINT-/COMSRPV/CKLW READ INTERRUPT WORD
  1028. CRD PI
  1029. LDD CW+3 ENSURE TRANSFER ADDRESS IN FL
  1030. LPN 77
  1031. SHN 14
  1032. MJN PRS7 IF ADDRESS OUT OF RANGE
  1033. LMD CW+4
  1034. SBN 2
  1035. MJN PRS7 IF TRANSFER ADDRESS .LT. 2
  1036. ADN 2
  1037. SHN -6
  1038. SBD FL
  1039. PJN PRS7 IF TRANSFER ADDRESS .GE. FL
  1040. LDM RPPB+/COMSRPV/NMSK*5+1 CHECK MASK
  1041. LPC 7400
  1042. ZJN PRS10 IF NOT UNDEFINED MASK
  1043. PRS9 ABORT ERUM * RPV - UNDEFINED MASK.*
  1044.  
  1045. PRS10 LDM RPPB+/COMSRPV/NMSK*5 CHECK MASK
  1046. NJN PRS9 IF UNDEFINED MASK
  1047. RJM CRS CHECK RECALL STATUS
  1048. NJN PRS11 IF AUTO-RECALL STATUS
  1049. ABORT ERAC * RPV - CALLED WITHOUT AUTO RECALL.*
  1050.  
  1051. PRS11 LDM RPPB+/COMSRPV/FUNC*5+4 ENSURE COMPLETE BIT CLEAR
  1052. SCN 1
  1053. STM RPPB+/COMSRPV/FUNC*5+4
  1054. SHN -1
  1055. ZJN PRS12 IF NO FUNCTION CODE
  1056. STD EM SAVE EXTENDED REPRIEVE FUNCTION CODE
  1057. SBN 3
  1058. ZJN PRS14 IF RESET
  1059. SBN 4-3+1
  1060. MJN PRS13 IF SETUP OR RESUME
  1061. PRS12 ABORT ERIF * RPV - INCORRECT FUNCTION CODE.*
  1062.  
  1063. PRS13 LDC RSR&RER SET SETUP AND RESUME PROCESSOR ADDRESS
  1064. PRS14 LMC RER SET RESET PROCESSOR ADDRESS
  1065. STM RPVA SET EXTENDED REPRIEVE PROCESSOR
  1066. LJM PRSX RETURN
  1067. STN SPACE 4,10
  1068. ** STN - SET TERMINAL NUMBER.
  1069. *
  1070. * SETS THE JOB TERMINAL NUMBER IF ONLINE INTERACTIVE JOB.
  1071. *
  1072. * EXIT (TN) = TERMINAL NUMBER IF ONLINE.
  1073. * = ZERO IF NOT ONLINE.
  1074. *
  1075. * USES CM - CM+4, TS - TS+4.
  1076. *
  1077. * MACROS SFA.
  1078.  
  1079.  
  1080. STN SUBR ENTRY/EXIT
  1081. LDD CP READ TERMINAL NUMBER WORD
  1082. ADK TTNW
  1083. CRD CM
  1084. ADK TFSW-TTNW READ EJT ORDINAL WORD
  1085. CRD TS
  1086. LDD CM+1 CHECK TERMINAL NUMBER
  1087. STN1 STD TN STORE TERMINAL NUMBER
  1088. ZJN STNX IF NO TERMINAL NUMBER, RETURN
  1089. SFA EJT,TS READ CONNECTION STATUS
  1090. ADK JSNE
  1091. CRD CM
  1092. LDD CM+4 CHECK CONNECTION STATUS
  1093. SHN -7
  1094. LPN 17
  1095. STM TOJA
  1096. LMK OLCS
  1097. ZJN STNX IF ONLINE, RETURN
  1098. LDN 0
  1099. UJN STN1 CLEAR TERMINAL NUMBER
  1100. TITLE BUFFERS AND STORAGE ALLOCATION.
  1101. SPACE 4,10
  1102. USE LITERALS FORCE LITERALS
  1103. SPACE 4,10
  1104. ** ASSEMBLY OPTIONS FOR COMMON DECKS.
  1105.  
  1106.  
  1107. EJT$ EQU 1 ASSEMBLE EJT ADDRESSING (COMPGFP)
  1108. SPACE 4,10
  1109. ** COMMON DECKS.
  1110.  
  1111.  
  1112. *CALL COMPCRS
  1113. *CALL COMPGFP
  1114. SPACE 4,10
  1115. ** BUFFER DEFINITIONS.
  1116.  
  1117.  
  1118. RPPB EQU * EXTENDED RPV CALL BLOCK
  1119. EXPN EQU RPPB+/COMSRPV/RPPL*5 NEW EXCHANGE PACKAGE AREA
  1120. EXPO EQU EXPN+/COMSRPV/EXPL*5 OLD EXCHANGE PACKAGE AREA
  1121. LWA EQU EXPO+/COMSRPV/EXPL*5 LWA OF BUFFER AREA
  1122. SPACE 4,10
  1123. ** CHECK FOR OVERFLOW.
  1124.  
  1125.  
  1126. ERRNG 7776-LWA OVERFLOW PP MEMORY
  1127. TITLE RPV - ERROR PROCESSOR.
  1128. IDENT 2RP,PPFW
  1129. *COMMENT RPV - ERROR PROCESSOR.
  1130. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  1131. ERR SPACE 4,15
  1132. ** ERR - ERROR PROCESSOR.
  1133. *
  1134. * ENTRY (ER) = FWA OF ERROR MESSAGE FOR DAYFILE.
  1135. * (CN - CN+4) = CONTENTS OF CONTROL POINT WORD *EECW*.
  1136. *
  1137. * EXIT DAYFILE MESSAGE ISSUED.
  1138. * CENTRAL PROGRAM ABORTED.
  1139. * EXIT TO PP RESIDENT.
  1140. *
  1141. * CALLS DFM.
  1142. *
  1143. * MACROS MONITOR.
  1144.  
  1145.  
  1146. ORG PPFW
  1147. ERR SUBR ENTRY
  1148. LDD ER ISSUE ERROR MESSAGE
  1149. RJM DFM
  1150. LDD EM CHECK FOR EXTENDED MODE
  1151. ZJN ERR1 IF NOT EXTENDED MODE
  1152. LDN 0 CLEAR MASK BITS IN EECW
  1153. STD CN+1
  1154. LDD CP
  1155. ADN EECW
  1156. CWD CN
  1157. ERR1 MONITOR ABTM ABORT CENTRAL PROGRAM
  1158. LJM PPR EXIT
  1159. SPACE 4,10
  1160. * ERROR MESSAGES.
  1161.  
  1162.  
  1163. ERAC DATA C* RPV - CALLED WITHOUT AUTO RECALL.*
  1164. ERAO DATA C* RPV - ADDRESS OUT OF RANGE.*
  1165. ERCS DATA C* RPV - LWA OF CHECKSUM .LT. FWA.*
  1166. ERIF DATA C* RPV - INCORRECT FUNCTION CODE.*
  1167. ERIP DATA C* RPV - INCORRECT PENDING INTERRUPT.*
  1168. ERIR DATA C* RPV - INCORRECT CALL.*
  1169. ERPB DATA C* RPV - PARAMETER BLOCK TOO SHORT.*
  1170. ERRA DATA C* RPV - INCORRECT PENDING SYSTEM REQUEST.*
  1171. ERUM DATA C* RPV - UNDEFINED MASK.*
  1172. SPACE 4,10
  1173. RPV TTL RPV - REPRIEVE CENTRAL PROGRAM.
  1174. END