IDENT RPV,RPV PERIPH SST SYSCOM BASE MIXED *COMMENT RPV - REPRIEVE CENTRAL PROGRAM. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992. RPV TITLE RPV - REPRIEVE CENTRAL PROGRAM. RPV SPACE 4,10 ***** RPV - REPRIEVE CENTRAL PROGRAM. * J. L. SAPIA. 77/08/29. * * RPV PROVIDES THE ABILTIY FOR A CPU ROUTINE TO RESUME * EXECUTION AFTER A SPECIFIED NORMAL OR ABNORMAL * TERMINATION CONDITION. RPV SUPPORTS TWO CALL TYPES, * BOTH AN INITIALIZATION CALL AND A RESET CALL. * * EXTENDED RPV MODE ALLOWS A CPU ROUTINE TO NOT ONLY * CLEAN UP AND RESUME AFTER A SPECIFIED TERMINATION * BUT ALSO TO TAKE ACTION TO CORRECT AND RESPOND TO * INPUT DIRECTIVES. EXTENDED REPRIEVE HAS THREE MODES - * SETUP, RESUME, AND RESET. AN EXTENDED REPRIEVE RESUME * HAS TWO MODES - USER PROGRAM MODE RESUME (INTERRUPT HAS * BEEN PROCESSED AND RUNNING PROGRAM SHOULD BE RESTARTED * AS PRIOR TO INTERRUPT) AND INTERRUPT HANDLER MODE RESUME * (RUNNING PROGRAM MUST BE RESTARTED, AS PART OF INTERRUPT * PROCESSING, UNTIL A LOGICAL INTERRUPT POINT IS REACHED). SPACE 4,10 *** RPV CALL FORMAT. * *T RA+1 24/ *RPV*, 1/R, 11/OPT, 6/, 18/ ADR * * R IF SET INDICATES A RESET REQUESTED. RESET WILL * BE PERFORMED FROM THE ADDRESS LAST SET. * * OPT OPTIONS WHEN REPRIEVE WILL BE PERFORMED. EACH BIT * REPRESENTS AN ERROR CONDITION. * * 001 MODE ERROR. * 002 SYSTEM REQUEST ERROR. * 004 TIME OR STORAGE LIMIT EXCEEDED. * 010 OPERATOR DROP. * 020 PPU ABORT. * 040 CPU ABORT. * 100 NORMAL TERMINATION. * 200 TERMINAL INTERRUPT * * ADR ADDRESS OF THE PARAMETER BLOCK. THE PARAMETER * BLOCK IS 21D WORDS IN LENGTH HAVING THE * FOLLOWING FORMAT: * *T ADR 30/LWA,30/0 *T,ADR+1 60/0 * . . * . . * . . *T,ADR+20 60/0 * * LWA LWA FOR CHECKSUM. * THE SECOND WORD IS THE WORD TO RECEIVE THE * CHECKSUM VALUE. * * WHEN INITIALIZATION IS COMPLETED, THE OPTION * BYTE WILL BE SET IN THE * CONTROL POINT AREA AND EXIT ADDRESS FIELD WILL * CONTAIN CALLED ADDRESS WITH BIT 17 SET. * * THE PARAMETER BLOCK IS RETURNED IN THE FOLLOWING FORMAT. * *T ADR 60/EXCHANGE PACKAGE *T,ADR+20 60/PENDING SYSTEM REQUEST SPACE 4,10 *** EXTENDED RPV CALL FORMAT. * * REFER TO *COMSRPV* FOR DESCRIPTION OF EXTENDED * REPRIEVE CALL AND PARAMETER BLOCK FORMAT. SPACE 4,10 *** DAYFILE MESSAGES ISSUED. * * * * RPV - CALLED WITHOUT AUTO RECALL.* = AN EXTENDED * RPV MODE CALL WAS MADE WITHOUT THE AUTO * RECALL BIT SET. * * * RPV - PARAMETER BLOCK TOO SHORT.* = THE LENGTH SPECIFIED * IN THE PARAMETER BLOCK WAS LESS THAN 31B WORDS. * * * RPV - ADDRESS OUT OF RANGE.* = SOME PORTION OF THE * PARAMETER BLOCK OR AN ADDRESS SPECIFIED WAS * BEYOND THE USERS FIELD LENGTH. * * * RPV - UNDEFINED MASK.* = THE MASK SPECIFIED IN THE * PARAMETER BLOCK WAS NOT A LEGAL MASK. * * * RPV - LWA OF CHECKSUM .LT. FWA.* * * * RPV - INCORRECT PENDING INTERRUPT.* = A BIT WAS SET IN * THE PENDING INTERRUPT WORD OF THE PARAMETER * BLOCK WHICH DID NOT CORRESPOND TO A DEFINED ERROR. * * * RPV - INCORRECT CALL.* = MEANS ONE OF THE FOLLOWING. * 1) AN ATTEMPT WAS MADE TO DO A RESET WHEN THERE * WAS NO PREVIOUS ERROR OR THE PREVIOUS ERROR * HAD BEEN PENDING. * 2) AN EXTENDED MODE CALL WAS ATTEMPTED WHEN RPV * NON-EXTENDED MODE OR *DISTC* HAD ALREADY BEEN * SET IN THE CONTROL POINT AREA. * 3) A NON-EXTENDED MODE CALL WAS ATTEMPTED WHEN RPV * EXTENDED MODE HAD ALREADY BEEN SET IN THE CONTROL * POINT AREA. * 4) A CALL WAS MADE TO CLEAR EXTENDED REPRIVE AND THERE * WERE PENDING INTERRUPTS PRESENT. * * * RPV - INCORRECT FUNCTION CODE.* = THE FUNCTION CODE * SPECIFIED IN THE PARAMETER BLOCK WAS INCORRECT. * * * RPV - INCORRECT PENDING SYSTEM REQUEST.* * * * RPV - PREVIOUS ERROR CONDITIONS RESET.* = NORMAL * MESSAGE ISSUED ON AN *RPV* RESET CALL. TITLE ASSEMBLY CONSTANTS, DIRECT LOCATIONS, COMMON DECKS. SPACE 4,10 **** DIRECT LOCATION ASSIGNMENTS. PL EQU 17 PARAMETER BLOCK LENGTH (EXTENDED RPV MODE) CN EQU 20 - 24 CONTROL POINT WORD *EECW* ER EQU 25 ERROR MESSAGE ADDRESS TN EQU 26 TERMINAL NUMBER EM EQU 27 EXTENDED REPRIEVE FUNCTION CODE CW EQU 30 - 34 WORD CONTAINING CHECKSUM LWA. TS EQU 40 - 44 TEMPORARY STORAGE PI EQU 60 - 64 PENDING INTERRUPT WORD **** SPACE 4,10 **** ASSEMBLY CONSTANTS. RPVL EQU 21 LENGTH OF RPV BLOCK (NOT EXTENDED MODE) **** SPACE 4,10 ** COMMON DECKS. *CALL COMPMAC *CALL COMSEJT *CALL COMSPIM QUAL REM *CALL COMSREM QUAL * *CALL COMSJCE LIST X *CALL COMSRPV LIST * TITLE MACRO DEFINITIONS. SPACE 4,10 ** MACRO DEFINITIONS. ABORT SPACE 4,10 ** ABORT - ERROR PROCESSING MACRO. * * ABORT ADDR * * ADDR = FWA OF ERROR MESSAGE FOR DAYFILE. PURGMAC ABORT ABORT MACRO A MACREF ABORT LDC A LJM ABT PROCESS ERROR ENDM TITLE MAIN PROGRAM. RPV SPACE 4,10 ** RPV - REPRIEVE CENTRAL PROGRAM. ORG PPFW RPV RJM PRS PRESET RPV RJM RIC NON-EXTENDED REPRIEVE INITIALIZATION * RJM RRC (NON-EXTENDED REPRIEVE RESET) * RJM RSR (EXTENDED REPRIEVE SETUP OR RESUME) * RJM RER (EXTENDED REPRIEVE RESET) RPVA EQU *-1 * UJN DPP DROP PP DPP SPACE 4,10 ** DPP - DROP PP. * * ENTRY (DPPA) PRESET IF REQUEST CPU NEEDED. * * EXIT PP DROPPED. * EXIT IS TO *PPR*. * * MACROS MONITOR. DPP LDN 0 CHECK CPU REQUEST NEEDED * LDN 1 (CPU REQUEST NEEDED) DPPA EQU *-1 ZJN DPP1 IF REQUEST CPU NOT NEEDED MONITOR RCPM REQUEST CPU DPP1 MONITOR DPPM DROP PP LJM PPR EXIT TO PP RESIDENT ABT SPACE 4,10 ** ABT - ABORT PROGRAM. * * ENTRY (A) = ERROR MESSAGE ADDRESS. * * EXIT TO */2RP/ERR*. * * USES ER. * * MACROS EXECUTE. ABT STD ER SAVE ERROR MESSAGE ADDRESS EXECUTE 2RP TITLE PRIMARY SUBROUTINES. RER SPACE 4,15 ** RER - PROCESS RESET FOR EXTENDED REPRIEVE. * * ENTRY (CN - CN+4) = CONTENTS OF CONTROL POINT AREA * WORD *EECW*. * * ERROR TO *ABT*, IF INCORRECT *RPV* CALL. * * USES CM+1, CN - CN+1, TS - TS+4. * * CALLS REP, RPB, RSR, TOJ. * * MACROS ABORT, MONITOR. RER SUBR ENTRY/EXIT LDD CN CHECK IF RPV EXTENDED MODE SET SHN 21-12 MJN RER2 IF EXTENDED MODE SET RER1 ABORT ERIR * RPV - INCORRECT CALL.* RER2 SHN 21-11-21+12 CHECK INTERRUPT HANDLER BIT PJN RER1 IF INTERRUPT HANDLER NOT ACTIVE LDD CP CHECK PREVIOUS ERROR FLAG ADN TIAW CRD TS LDD TS+2 CHECK ERROR FLAG STD CM+1 ZJN RER4 IF NORMAL TERMINATION LMN TIET NJN RER3 IF NOT USER BREAK 1 (TERMINAL INTERRUPT) RJM RSR TREAT USER BREAK 1 RESET AS RESUME UJN RERX RETURN RER3 MONITOR CEFM CHANGE ERROR FLAG UJN RER5 CONTINUE PROCESSING RER4 LDN 1 CLEAR CPU STATUS AT ROLLOUT STD CM+1 MONITOR DCPM DROP CPU RER5 LDD CN+1 SAVE MASK BITS STD TS LDN 0 CLEAR MASK BITS STD CN+1 LDD CN CLEAR INTERRUPT HANDLER BIT SBD TH STD CN LDD CP REWRITE WORD EECW ADN EECW CWD CN LDD TS CHECK OLD MASK LPK /COMSRPV/TIMS ZJN RER6 IF NOT TERMINAL INTERRUPT LDK /REM/VCDT CLEAR TERMINAL CONTROL BIT RJM TOJ RER6 LDD RA RESET RA+1 SHN 6 ADN 1 CWM RPPB+/COMSRPV/PRAR*5,ON RJM REP RESET EXCHANGE PACKAGE RJM RPB RETURN PARAMETER BLOCK LJM RERX RETURN RIC SPACE 4,10 ** RIC - PROCESS REPRIEVE INITIALIZATION CALL. * * ENTRY (CN - CN+4) = CONTENTS OF USERS *EECW* WORD. * * USES CM - CM+4, CN - CN+4. * * CALLS CCS, CKA. RIC SUBR ENTRY/EXIT LDD IR+2 CHECK MASK BITS LPC 377 STD CN+1 NJN RIC2 IF MASK BITS SELECTED STD CN+4 CLEAR ADDRESS LDD CN+3 SCN 77 STD CN+3 LDD CP ADN EECW CWD CN RIC1 UJN RICX RETURN RIC2 LDD IR+3 SET REPRIEVE ADDRESS LMD CN+3 LPN 77 LMD CN+3 STD CN+3 LDD IR+4 STD CN+4 LDD CP ENTER REPRIEVE ADDRESS ADN EECW CWD CN SOM CCSA SET CHECKSUM TO LWA ONLY LDD IR+3 SET FWA CHECKSUM LPN 37 SHN 14 LMD IR+4 ADN RPVL RJM CCS COMPUTE CHECKSUM ZJN RIC1 IF NO CHECKSUM REQUESTED LDD MA READ CHECKSUM CRD CM LDN 0 STD T1 RJM CKA GET ADDRESS OF PARAMETER BLOCK ADN 1 CWD CM UJN RIC1 RETURN RRC SPACE 4,15 ** RRC - PROCESS REPRIEVE RESET CALL. * * ENTRY (CN - CN+4) = CONTENTS OF USERS *EECW* WORD. * * ERROR TO *ABT*, IF INCORRECT *RPV* CALL. * * USES CM - CM+4, CN - CN+4, T1 - T7. * * CALLS CKA, DFM, REP. * * MACROS ABORT, MONITOR. RRC SUBR ENTRY/EXIT LDD CN+3 CHECK IF JOB PREVIOUSLY REPRIEVED SHN 21-5 MJN RRC1 IF NOT PREVIOUSLY REPRIEVED ABORT ERIR * RPV - INCORRECT CALL.* * PROCESS RESET OPTION. RRC1 LDD CN+1 RESET ERROR FLAG LPN 77 ZJN RRC2 IF NORMAL TERMINATION STD CM+1 MONITOR CEFM UJN RRC3 CONTINUE PROCESSING RRC2 LDN 1 CLEAR CPU STATUS AT ROLLOUT STD CM+1 MONITOR DCPM DROP CPU RRC3 LDN 0 CLEAR SELECTIONS IN CONTROL POINT AREA STD CN+1 STD CN+4 LDD CN+3 SCN 77 STD CN+3 LDD CP ENTER CONTROL POINT AREA ADN EECW CWD CN LDN /COMSRPV/EXPL READ NEW EXCHANGE PACKAGE STD T1 RJM CKA FORM ABSOLUTE ADDRESS CRM EXPN,T1 RJM REP RESET EXCHANGE PACKAGE LDC =C* RPV - PREVIOUS ERROR CONDITIONS RESET.* RJM DFM ISSUE MESSAGE LJM RRCX RETURN RSR SPACE 4,30 ** RSR - PROCESS REPRIEVE SETUP AND RESUME. * * THIS SUBROUTINE PROCESSES THE EXTENDED REPRIEVE SETUP AND * RESUME FUNCTIONS. IT ALSO CALLED FROM THE EXTENDED REPRIEVE * RESET FUNCTION PROCESSOR IF PROCESSING A USER BREAK 1. * * ENTRY (CN - CN+4) = CONTROL POINT WORD *EECW*. * (PI - PI+4) = WORD FIVE OF PARAMETER BLOCK (PENDING * INTERRUPTS). * (CW - CW+4) = WORD ONE OF PARAMETER BLOCK. * (EM) = EXTENDED REPRIEVE FUNCTION CODE. * * EXIT TO *ABT*, IF INCORRECT *RPV* CALL OR INCORRECT * PENDING INTERRUPT. * TO *PPR* IF A PENDING TERMINAL FILE *CIO* REQUEST WAS * RESTARTED. * EXTENDED REPRIEVE ACTIVE STATUS (FLAG BIT AND ERROR * SELECTION MASK) CLEARED IN CONTROL POINT AREA IF * CALLER SPECIFIED A ZERO MASK. * * USES T0, T1, T2, CM - CM+4, CN - CN+4, TS - TS+4. * * CALLS CCS, REP, RPB, TOJ, VRA. * * MACROS ABORT, MONITOR. RSR SUBR ENTRY/EXIT LDM RPPB+/COMSRPV/NMSK*5+1 NJN RSR1 IF NEW ERROR MASK PRESENT LDD CN CLEAR EXTENDED REPRIEVE MODE FLAG LPC 4777 CLEAR INTERRUPT HANDLER IN PROGRESS FLAG STD CN UJN RSR2 SAVE OLD MASK RSR1 LDD CN SET EXTENDED REPRIEVE MODE FLAG LPC 5777 LMC 2000 STD CN RSR2 LDD CN+1 SAVE OLD MASK STD T1 LDM RPPB+/COMSRPV/NMSK*5+1 SET NEW RPV MASK STD CN+1 LDD CN CHECK EXTENDED REPRIEVE MODE FLAG SHN 21-12 MJN RSR3 IF NOT REQUEST TO CANCEL EXTENDED REPRIEVE LDN 0 CLEAR PARAMETER BLOCK ADDRESS STD CN+4 LDD CN+3 SCN 77 STD CN+3 UJN RSR4 CONTINUE PROCESSING REQUEST RSR3 LDD IR+4 SET FWA OF REPRIEVE AREA STD CN+4 LDD CN+3 SCN 77 STD CN+3 LDD IR+3 LPN 77 RAD CN+3 * CHECK FOR TERMINAL INTERRUPT. RSR4 LDD CN+1 CHECK MASK IN *EECW* SHN 21-7 PJN RSR5 IF NOT TERMINAL INTERRUPT MASK LDD T1 CHECK OLD MASK SHN 21-7 MJN RSR6 IF TERMINAL INTERRUPT LDK /REM/VSDT SET TERMINAL CONTROL BIT RJM TOJ UJN RSR6 CONTINUE PROCESSING RSR5 LDD T1 CHECK OLD MASK SHN 21-7 PJN RSR6 IF NOT TERMINAL INTERRUPT MASK LDK /REM/VCDT CLEAR TERMINAL CONTROL BIT RJM TOJ * CHECK FOR AND PROCESS PENDING INTERRUPTS. THE PENDING * INTERRUPT WORD IN THE PARAMETER BLOCK IS FIRST CHECKED * TO ENSURE NO BITS ABOVE BIT 47D ARE SET . BITS 47D - 0 ARE * THEN CHECKED FROM LEFT TO RIGHT. WHEN A BIT IS FOUND THAT * IS SET THIS IS THE HIGHEST PRIORITY PENDING INTERRUPT. * THIS BIT IS CLEARED AND THE CORRESPONDING ERROR CODE, ERROR * CLASS, AND CONTROL POINT ERROR FLAG VALUES ARE SET IN THE * APPROPRIATE FIELDS IN THE PARAMETER BLOCK. ERRNG 47D-MXET IF ERROR TYPES OVERFLOW BIT 47D RSR6 LDN 1 SET BYTE INDEX STD T2 LDD PI ZJN RSR8 IF NO INCORRECT PENDING INTERRUPT RSR7 ABORT ERIP * RPV - INCORRECT PENDING INTERUPT.* RSR8 LDN 3*12D SET BASE BIT NUMBER STD T0 RSR8.1 LDM PI,T2 NJN RSR10 IF BITS SET AOD T2 ADVANCE BYTE NUMBER LCN 12D DECREMENT BASE BIT NUMBER RAD T0 PJN RSR8.1 IF NOT END OF PENDING ERROR BITS LJM RSR20 IF PENDING INTERRUPT .EQ. 0 * SELECT HIGHEST PRIORITY INTERRUPT. RSR9 ABORT ERIR *RPV - INCORRECT CALL.* RSR10 STM RSRA LDD CN SHN 21-12 PJN RSR9 IF REQUEST TO CLEAR EXTENDED REPRIEVE LDN 13 STD T1 RSR11 LDC 0 RSRA EQU *-1 LPC 4000 RSRB EQU *-1 NJN RSR12 IF BIT SET SOD T1 LMC SHNI STM RSRC REPLACE SHIFT INSTRUCTION LDN 1 SHN 13 RSRC EQU *-1 STM RSRB UJN RSR11 CHECK NEXT BIT RSR12 LDD T0 RAD T1 NJN RSR14 IF LEGAL PENDING INTERRUPT RSR13 LJM RSR7 ABORT RSR14 SBN MXET PJN RSR13 IF INCORRECT PENDING INTERRUPT LDM RSRB CLEAR SELECTED BIT LMM PI,T2 STM RPPB+4*5,T2 STM PI,T2 LDM ERCT,T1 STORE ERROR CODES ZJP RSR6 IF ERROR NOT DEFINED STD TS LPN 77 STORE ERROR CLASS RAM RSRD LDN 1 RSRD SHN 0 STM RPPB+/COMSRPV/ERCL*5+3 LDD TS STORE COMMON ERROR CODE SHN -6 STM RPPB+/COMSRPV/ERCD*5+4 LDD T1 STORE CONTROL POINT ERROR FLAG VALUE STM RPPB+/COMSRPV/OSEF*5+4 LDD CN SET INTERRUPT HANDLER IN PROGRESS FLAG LPC 6777 LMD TH STD CN LDD CP ADN EECW CWD CN SBK EECW-TIAW SET ERROR FLAG IN *TIAW* CRD CM LDD T1 STD CM+2 LDD CP ADK TIAW CWD CM RJM REP RESET EXCHANGE PACKAGE LDD CP RESET P TO INTERRUPT HANDLER ADDRESS CRD TS LDD CW+4 STD TS+1 LDD CW+3 LPN 77 STD TS LDD CP CWD TS RSR19 RJM RPB RETURN PARAMETER BLOCK LJM RSRX RETURN * CONTINUE PROCESSING HERE WHEN PENDING INTERRUPT .EQ. 0. RSR20 LDD CW+3 SET FWA OF CHECKSUM LPN 37 SHN 14 ADD CW+4 RJM CCS COMPUTE CHECKSUM ZJN RSR21 IF NO CHECKSUM REQUESTED LDD MA READ CHECKSUM CRM RPPB+/COMSRPV/CKSM*5,ON RSR21 LDD EM CHECK EXTENDED REPRIEVE FUNCTION CODE LMN 4 ZJN RSR22 IF INTERRUPT HANDLER MODE RESUME LDD CP CLEAR PREVIOUS ERROR FLAG ADN TIAW CRD TS LDN 0 STD TS+2 LDD CP ADN TIAW CWD TS LDD CN CLEAR INTERRUPT HANDLER IN PROGRESS FLAG LPC 6777 STD CN RSR22 LDD CP REWRITE *EECW* WORD ADN EECW CWD CN RJM VRA VALIDATE SYSTEM REQUEST ZJN RSR23 IF NO PENDING SYSTEM REQUEST LDN 0 STD CM+1 MONITOR DCPM DROP CPU LDD RA RESET RA+1 SHN 6 ADN 1 CWM RPPB+/COMSRPV/PRAR*5,ON AOM DPPA SET CPU REQUEST NEEDED LDN ZERL CLEAR SYSTEM REQUEST CRM RPPB+/COMSRPV/PRAR*5,ON RSR23 LDD EM CHECK FUNCTION CODE LMN 1 ZJN RSR24 IF SETUP FUNCTION RJM REP REPLACE EXCHANGE PACKAGE RSR24 LDM RPPB+/COMSRPV/ITIO*5 CHECK TERMINAL INTERRUPT WORD NJN RSR25 IF TERMINAL INPUT REQUEST PENDING LJM RSR19 RETURN PARAMETER BLOCK RSR25 SHN -6 VALIDATE PP CALL ZJN RSR26 IF INCORRECT PP CALL SBN 1R0 MJN RSR27 IF VALID PP CALL RSR26 ABORT ERIR * RPV - INCORRECT CALL.* RSR27 LDN ZERL CLEAR TERMINAL INTERRUPT WORD CRD CM RJM RPB RETURN PARAMETER BLOCK SBD PL ADN /COMSRPV/ITIO CLEAR TERMINAL INTERRUPT WORD CWD CM LDM RPPB+/COMSRPV/ITIO*5+1 ISSUE TERMINAL I/O REQUEST LMD IR+1 SCN 37 LMD IR+1 LMN 40 SET RECALL BIT STM RPPB+/COMSRPV/ITIO*5+1 LDD MA RESTART TERMINAL I/O REQUEST CWM RPPB+/COMSRPV/ITIO*5,ON CWD CM CLEAR *CIO* PARAMETER WORD LDN 2 SET DROP PP OPTION STD CM+1 MONITOR RPPM LJM PPR EXIT ERCT SPACE 4,10 ** ERCT - ERROR CODES TABLE. * * TABLE IS IN THE FOLLOWING FORMAT. * * 6/EC, 6/ EM. * * EC = COMMON ERROR CODE. * EM = ERROR CLASS MASK BIT EXPONENT. ERCT INDEX TABLE OF ERROR CODES INDEX 0,0 NORMAL TERMINATION (INCORRECT) INDEX TIET,4007 USER BREAK ONE INDEX TAET,4007 USER BREAK TWO INDEX ARET,0200 ARITHMETIC ERROR INDEX IDET,0603 IDLE DOWN INDEX ITET,0304 SCP INCORRECT TRANSFER ADDRESS INDEX PSET,0200 PROGRAM STOP INDEX PPET,0304 PP ABORT INDEX CPET,0405 CPU ABORT INDEX PCET,0501 PPU CALL ERROR INDEX MLET,0304 MESSAGE LIMIT INDEX TLET,0102 TIME LIMIT INDEX FLET,1702 FILE LIMIT INDEX TKET,1702 TRACK LIMIT INDEX SRET,2102 SRU LIMIT INDEX FSET,0703 FORCED ERROR INDEX ODET,0603 OPERATOR DROP INDEX RCET,1601 JOB HUNG IN AUTORECALL INDEX RRET,1003 OPERATOR RERUN INDEX OKET,0703 OPERATOR KILL INDEX STET,0603 SUSPENSION TIMEOUT INDEX SSET,0703 SUBSYSTEM ABORT INDEX ECET,1204 EXTENDED MEMORY PARITY ERROR INDEX PEET,0200 CPU PARITY ERROR INDEX SYET,0703 SYSTEM ERROR INDEX ORET,0703 OVERRIDE ERROR CONDITION INDEX MXET MAXIMUM NUMBER OF ERROR FLAGS TITLE SUBROUTINES. CCS SPACE 4,20 ** CCS - COMPUTE CHECKSUM. * * CCS DETERMINES IF A CHECKSUM IS REQUESTED AND * IF SO COMPUTES IT AND RETURNS THE VALUE TO THE * PARAMETER BLOCK IN THE SPECIFIED WORD. * * ENTRY (A) = FWA OF CHECKSUM. * (CW - CW+2) = LWA FOR CHECKSUM IN THE FORM * 30/LWA,6/0. * (CCSA) = PRESET FOR CHECKSUM OPTION FROM NON-EXTENDED * REPRIEVE. * * EXIT (A) = 0 IF NO CHECKSUM REQUESTED. * (A) = 1 IF CHECKSUM REQUESTED AND COMPUTED. * (MA) = ADDRESS OF WORD CONTAINING CHECKSUM VALUE. * TO *ABT*, IF CHECKSUM ADDRESS OUT OF RANGE. * * USES CM - CM+4. * * MACROS ABORT, MONITOR. CCS SUBR ENTRY/EXIT STD CM+4 SET FWA OF CHECKSUM SHN -14 STD CM+3 LDD CW+2 DETERMINE IF CHECKSUM REQUESTED SCN 77 SHN 6 LMD CW+1 ZJN CCSX IF NO CHECKSUM REQUESTED SHN 6 SBN 2 ENSURE CHECKSUM LWA .GE. 2 MJN CCS1 IF ADDRESS .LT. 2 ADN 2 CCSA ADN 1 * ADN 0 (CHECKSUM TO LWA. ONLY) STD CM+2 SHN -14 STD CM+1 SHN 14 LMD CM+2 SHN -6 SBD FL MJN CCS2 IF CHECKSUM LWA .LT. FL CCS1 ABORT ERAO * RPV - ADDRESS OUT OF RANGE.* CCS2 LDD CM+1 SBD CM+3 SHN 14 ADD CM+2 SBD CM+4 SBN 1 PJN CCS3 IF FWA .LT. LWA ABORT ERCS * RPV - LWA OF CHECKSUM .LT. FWA.* CCS3 ADN 1 STD CM+2 SET CHECKSUM LENGTH SHN -14 STD CM+1 MONITOR CKSM CHECKSUM CALLING PROGRAM LDN 1 INDICATE CHECKSUM COMPUTED LJM CCSX RETURN CKA SPACE 4,10 ** CKA - CHECK ADDRESS. * * ENTRY (IR+3 - IR+4) = ADDRESS. * (T1) = WORD COUNT. * * EXIT (A) = ABSOLUTE ADDRESS. * (A) = 0 IF ADDRESS IS OUTSIDE OF PROGRAM FL. CKA2 LDD IR+3 LOAD ABSOLUTE ADDRESS LPN 77 SHN 6 ADD RA SHN 6 ADD IR+4 CKA SUBR ENTRY/EXIT LDD IR+3 LPN 77 SHN 14 MJN CKA1 IF OUT OF RANGE LMD IR+4 ADD T1 SBN 1 SHN -6 SBD FL MJN CKA2 IF (ADDRESS + WORD COUNT) .LE. FL CKA1 LDN 0 SET ADDRESS ERROR UJN CKAX RETURN WITH ERROR RESPONSE REP SPACE 4,10 ** REP - RESET EXCHANGE PACKAGE. * * ENTRY NEW EXCHANGE PACKAGE IN BUFFER BEGINNING AT * ADDRESS *EXPN*. * * EXIT OLD EXCHANGE PACKAGE UPDATED WITH NEW. * * USES T1, T2. * * MACROS MONITOR. REP SUBR ENTRY/EXIT MONITOR RCLM ENSURE EXCHANGE PACKAGE READY LDN 0 RESET (B0) FROM EXCHANGE PACKAGE STM EXPN+4 LDN 7 UPDATE OLD EXCHANGE PACKAGE STD T2 LDD CP READ OLD EXCHANGE PACKAGE ADN 1 CRM EXPO,T2 LDN 6*5 STD T2 REP1 LDM EXPO,T2 PRESERVE RA, FL, EM, RAE, FLE, MA AND EEA STM EXPN+5,T2 LDM EXPO+1,T2 STM EXPN+6,T2 LCN 5 RAD T2 PJN REP1 IF MORE PARAMETERS TO COPY LDN /COMSRPV/EXPL STD T1 LDD CP REWRITE EXCHANGE PACKAGE CWM EXPN,T1 LJM REPX RETURN RPB SPACE 4,10 ** RPB - RETURN PARAMETER BLOCK. * * ENTRY (RPPB) = EXTENDED REPRIEVE PARAMETER BLOCK. * (PL) = LENGTH OF PARAMETER BLOCK. * * EXIT (A) = LWA+1 OF PARAMETER BLOCK IN CM. * * USES T1. * * CALLS CKA. RPB SUBR ENTRY/EXIT AOM RPPB+/COMSRPV/FUNC*5+4 SET COMPLETE BIT LDN 0 STD T1 RJM CKA GET ABSOLUTE ADDRESS OF BLOCK IN CM CWM RPPB,PL WRITE PARAMETER BLOCK TO CM UJN RPBX RETURN TOJ SPACE 4,20 ** TOJ - PROCESS TERMINAL ORIGIN JOBS. * * ISSUES *TSEM* MONITOR REQUEST TO SET OR TO CLEAR * THE TERMINAL CONTROL BIT IN THE JOBS TERMINAL * TABLE WORD *VSTT*. * * ENTRY (A) = /REM/VSDT IF BIT TO BE SET. * = /REM/VCDT IF BIT TO BE CLEARED. * (TN) = TERMINAL NUMBER IF ONLINE. * = ZERO IF NOT ONLINE. * * EXIT *TSEM* MONITOR FUNCTION ISSUED IF *TXOT* ORIGIN. * NFL RECOVERY WORD UPDATED IF DETACHED. * * USES T1, CM - CM+4, TS - TS+4. * * MACROS DELAY, MONITOR, NFA, PAUSE. TOJ SUBR ENTRY/EXIT STD TS STORE REQUEST LDD TN SET TERMINAL NUMBER ZJP TOJ3 IF NOT ONLINE STD TS+4 LDN 0 CLEAR EXTRANEOUS BYTE STD TS+1 LDN /REM/VSTT SET WORD NUMBER STD TS+2 LDN 59D SET BIT NUMBER STD TS+3 LDD MA WRITE REQUEST TO MESSAGE BUFFER CWD TS TOJ1 LDK ZERL CRD CM MONITOR TSEM ISSUE REQUEST LDD CM+1 ZJN TOJX IF *IAF* INACESSIBLE OR ERROR LMC 7777 NJN TOJX IF REQUEST COMPLETE PAUSE ST LDC 3600 *TSEM* QUEUE FULL - DELAY AND RETRY STD T1 TOJ2 DELAY SOD T1 ZJN TOJ1 IF TIME TO REISSUE REQUEST UJN TOJ2 CONTINUE TO DELAY TOJ3 LDC ** TOJA EQU *-1 (CONNECTION STATUS) LMK DTCS NJN TOJ5 IF NOT DETACHED NFA RC1N READ RECOVERY WORD FROM NFL CRD CM LDD CM+4 CLEAR TERMINAL INTERRUPT BIT LPC 7677 STD CM+4 LDD TS CHECK FUNCTION LMK /REM/VCDT ZJN TOJ4 IF TO CLEAR BIT LDD HN SET TERMINAL INTERRUPT BIT RAD CM+4 TOJ4 NFA RC1N REWRITE RECOVERY WORD CWD CM TOJ5 UJP TOJX RETURN VRA SPACE 4,15 ** VRA - VALIDATE SYSTEM REQUEST. * * VRA CHECKS WORD FIVE OF THE PARAMETER BLOCK * AND IF THERE IS A PENDING SYSTEM REQUEST * CHECKS IF IT IS VALID. (BITS 42 - 59 NON-ZERO IF * BITS 0 - 59 ARE NON-ZERO) THIS IS TO ENSURE THAT * A JOB WILL NOT BE HUNG IN AUTO-RECALL BY AN * INCORRECT SYSTEM REQUEST. * * EXIT (A) = 0 IF NO PENDING SYSTEM REQUEST. * (A) = NONZERO IF LEGAL PENDING SYSTEM REQUEST. * * ERROR TO *ABT*, IF INCORRECT PENDING SYSTEM REQUEST. * * MACROS ABORT. VRA SUBR ENTRY/EXIT LDM RPPB+/COMSRPV/PRAR*5 CHECK PENDING SYSTEM REQUEST ADM RPPB+/COMSRPV/PRAR*5+1 ADM RPPB+/COMSRPV/PRAR*5+2 ADM RPPB+/COMSRPV/PRAR*5+3 ADM RPPB+/COMSRPV/PRAR*5+4 ZJN VRAX IF NO PENDING SYSTEM REQUEST LDM RPPB+/COMSRPV/PRAR*5+1 SCN 77 ADM RPPB+/COMSRPV/PRAR*5 NJN VRAX IF LEGAL PENDING SYSTEM REQUEST ABORT ERRA * RPV - INCORRECT PENDING SYSTEM REQUEST.* TITLE PRESET RPV. PRS SPACE 4,20 ** PRS - PRESET REPRIEVE. * * EXIT (EM) = EXTENDED REPRIEVE FUNCTION CODE. * (PL) = EXTENDED REPRIEVE PARAMETER BLOCK LENGTH. * (RPPB) = EXTENDED REPRIEVE PARAMETER BLOCK. * (CN - CN+4) = CONTENTS OF CONTROL POINT WORD *EECW*. * (CW - CW+4) = WORD ONE OF PARAMETER BLOCK (CHECKSUM * LWA AND TRANSFER ADDRESS.) * (PI - PI+4) = WORD FIVE OF PARAMETER BLOCK (PENDING * INTERRUPTS.) * * ERROR TO *ABT*, IF ERROR ENCOUNTERED. * * USES T1, ER, CM - CM+4, TS - TS+4. * * CALLS CKA, CRS, STN. * * MACROS ABORT. PRS15 CRD CW READ FIRST WORD OF PARAMETER BLOCK PRS SUBR ENTRY/EXIT RJM STN SET TERMINAL NUMBER LDD CP READ ERROR EXIT CONTROL WORD ADN EECW CRD CN LDN 0 CLEAR EXTENDED RPV FLAG STD EM STD T1 LDD IR+3 CHECK FOR EXTENDED RPV MODE SHN 21-6 MJN PRS2 IF EXTENDED RPV MODE * PRESET NORMAL MODE REQUEST. LDD CN CHECK EXTENDED MODE FLAG SHN 21-12 MJN PRS3 IF EXTENDED MODE SET LDD IR+2 SHN 21-13 PJN PRS1 IF NOT RESET LDC RRC SET NON-EXTENDED REPRIEVE RESET PROCESSOR STM RPVA LDD CN+3 USE ADDRESS FROM PREVIOUS CALL LPN 37 STD IR+3 LDD CN+4 STD IR+4 PRS1 LDN RPVL SET LENGTH OF RPV CALL BLOCK STD T1 RJM CKA CHECK ADDRESS NJP PRS15 IF NO ADDRESS ERROR LJM PRS7 ABORT * PRESET EXETENDED MODE REQUEST. PRS2 AOD EM SET FLAG FOR EXTENDED RPV MODE LDD CN CHECK EXTENDED MODE FLAG IN EECW SHN 21-12 MJN PRS5 IF EXTENDED MODE SET LDD CN+1 ZJN PRS4 IF MASK FIELD CLEAR PRS3 ABORT ERIR * RPV - INCORRECT CALL.* PRS4 LDD CP CHECK IF DISTC SET ADN TIAW CRD CM LDD CM+3 SCN 77 ADD CM+2 NJN PRS3 IF DISTC ADDRESS SET LDD CN+3 CHECK ERROR EXIT LPN 77 ADD CN+4 NJN PRS3 IF ERROR EXIT FIELD SET * VALIDATE PARAMETER BLOCK ADDRESS. PRS5 LDN /COMSRPV/REPL SET LENGTH OF PARAMETER BLOCK STD PL RJM CKA GET LENGTH OF PARAMETER BLOCK ZJN PRS7 IF ADDRESS ERROR CRD CW LDD CW+3 STD T1 SBN /COMSRPV/REPL CHECK LENGTH OF PARAMETER BLOCK PJN PRS6 IF PARAMETER BLOCK LENGTH IS SUFFICIENT ABORT ERPB * RPV - PARAMETER BLOCK TOO SHORT.* PRS6 RJM CKA CHECK ADDRESS NJN PRS8 IF NO ERROR PRS7 ABORT ERAO * RPV - ADDRESS OUT OF RANGE.* * CHECK PARAMETER BLOCK PARAMETERS. PRS8 CRM RPPB,PL SBD PL ADN /COMSRPV/CKLW READ LWA FOR CHECKSUM CRD CW ADN /COMSRPV/PINT-/COMSRPV/CKLW READ INTERRUPT WORD CRD PI LDD CW+3 ENSURE TRANSFER ADDRESS IN FL LPN 77 SHN 14 MJN PRS7 IF ADDRESS OUT OF RANGE LMD CW+4 SBN 2 MJN PRS7 IF TRANSFER ADDRESS .LT. 2 ADN 2 SHN -6 SBD FL PJN PRS7 IF TRANSFER ADDRESS .GE. FL LDM RPPB+/COMSRPV/NMSK*5+1 CHECK MASK LPC 7400 ZJN PRS10 IF NOT UNDEFINED MASK PRS9 ABORT ERUM * RPV - UNDEFINED MASK.* PRS10 LDM RPPB+/COMSRPV/NMSK*5 CHECK MASK NJN PRS9 IF UNDEFINED MASK RJM CRS CHECK RECALL STATUS NJN PRS11 IF AUTO-RECALL STATUS ABORT ERAC * RPV - CALLED WITHOUT AUTO RECALL.* PRS11 LDM RPPB+/COMSRPV/FUNC*5+4 ENSURE COMPLETE BIT CLEAR SCN 1 STM RPPB+/COMSRPV/FUNC*5+4 SHN -1 ZJN PRS12 IF NO FUNCTION CODE STD EM SAVE EXTENDED REPRIEVE FUNCTION CODE SBN 3 ZJN PRS14 IF RESET SBN 4-3+1 MJN PRS13 IF SETUP OR RESUME PRS12 ABORT ERIF * RPV - INCORRECT FUNCTION CODE.* PRS13 LDC RSR&RER SET SETUP AND RESUME PROCESSOR ADDRESS PRS14 LMC RER SET RESET PROCESSOR ADDRESS STM RPVA SET EXTENDED REPRIEVE PROCESSOR LJM PRSX RETURN STN SPACE 4,10 ** STN - SET TERMINAL NUMBER. * * SETS THE JOB TERMINAL NUMBER IF ONLINE INTERACTIVE JOB. * * EXIT (TN) = TERMINAL NUMBER IF ONLINE. * = ZERO IF NOT ONLINE. * * USES CM - CM+4, TS - TS+4. * * MACROS SFA. STN SUBR ENTRY/EXIT LDD CP READ TERMINAL NUMBER WORD ADK TTNW CRD CM ADK TFSW-TTNW READ EJT ORDINAL WORD CRD TS LDD CM+1 CHECK TERMINAL NUMBER STN1 STD TN STORE TERMINAL NUMBER ZJN STNX IF NO TERMINAL NUMBER, RETURN SFA EJT,TS READ CONNECTION STATUS ADK JSNE CRD CM LDD CM+4 CHECK CONNECTION STATUS SHN -7 LPN 17 STM TOJA LMK OLCS ZJN STNX IF ONLINE, RETURN LDN 0 UJN STN1 CLEAR TERMINAL NUMBER TITLE BUFFERS AND STORAGE ALLOCATION. SPACE 4,10 USE LITERALS FORCE LITERALS SPACE 4,10 ** ASSEMBLY OPTIONS FOR COMMON DECKS. EJT$ EQU 1 ASSEMBLE EJT ADDRESSING (COMPGFP) SPACE 4,10 ** COMMON DECKS. *CALL COMPCRS *CALL COMPGFP SPACE 4,10 ** BUFFER DEFINITIONS. RPPB EQU * EXTENDED RPV CALL BLOCK EXPN EQU RPPB+/COMSRPV/RPPL*5 NEW EXCHANGE PACKAGE AREA EXPO EQU EXPN+/COMSRPV/EXPL*5 OLD EXCHANGE PACKAGE AREA LWA EQU EXPO+/COMSRPV/EXPL*5 LWA OF BUFFER AREA SPACE 4,10 ** CHECK FOR OVERFLOW. ERRNG 7776-LWA OVERFLOW PP MEMORY TITLE RPV - ERROR PROCESSOR. IDENT 2RP,PPFW *COMMENT RPV - ERROR PROCESSOR. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992. ERR SPACE 4,15 ** ERR - ERROR PROCESSOR. * * ENTRY (ER) = FWA OF ERROR MESSAGE FOR DAYFILE. * (CN - CN+4) = CONTENTS OF CONTROL POINT WORD *EECW*. * * EXIT DAYFILE MESSAGE ISSUED. * CENTRAL PROGRAM ABORTED. * EXIT TO PP RESIDENT. * * CALLS DFM. * * MACROS MONITOR. ORG PPFW ERR SUBR ENTRY LDD ER ISSUE ERROR MESSAGE RJM DFM LDD EM CHECK FOR EXTENDED MODE ZJN ERR1 IF NOT EXTENDED MODE LDN 0 CLEAR MASK BITS IN EECW STD CN+1 LDD CP ADN EECW CWD CN ERR1 MONITOR ABTM ABORT CENTRAL PROGRAM LJM PPR EXIT SPACE 4,10 * ERROR MESSAGES. ERAC DATA C* RPV - CALLED WITHOUT AUTO RECALL.* ERAO DATA C* RPV - ADDRESS OUT OF RANGE.* ERCS DATA C* RPV - LWA OF CHECKSUM .LT. FWA.* ERIF DATA C* RPV - INCORRECT FUNCTION CODE.* ERIP DATA C* RPV - INCORRECT PENDING INTERRUPT.* ERIR DATA C* RPV - INCORRECT CALL.* ERPB DATA C* RPV - PARAMETER BLOCK TOO SHORT.* ERRA DATA C* RPV - INCORRECT PENDING SYSTEM REQUEST.* ERUM DATA C* RPV - UNDEFINED MASK.* SPACE 4,10 RPV TTL RPV - REPRIEVE CENTRAL PROGRAM. END