IDENT 1RI,RIJ PERIPH BASE MIXED LIST F SST SYSCOM *COMMENT 1RI - ROLLIN JOB. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992. TITLE 1RI - ROLLIN JOB. SPACE 4,10 *** 1RI - ROLLIN JOB. * G. R. MANSFIELD. 70/09/03. * R. E. TATE. 70/09/28. * L. C. HAAS. 75/03/25. RESEQUENCE. SPACE 4,10 *** 1RI PERFORMS JOB ROLLIN. IT IS CALLED BY *1SJ*. SPACE 4,10 *** CALL. * * *T 18/ *1RI*,1/ ,5/CP,12/FN,12/ 12/FA * CP CONTROL POINT NUMBER. * FN = 0, ROLLIN JOB. * = 1, SELECTIVE ROLLIN ACCORDING TO SPECIAL ENTRY POINTS. * FA DM* FILE FNT ADDRESS/OFFSET (DMP= CALL). SPACE 4,10 *** DAYFILE MESSAGES. * * * NONE. SPACE 4,10 *** ACCOUNT DAYFILE MESSAGES. * * * *ACSC, SC, NEWJSN, SRUUNITS.* = SERVICE CLASS HAS BEEN * CHANGED TO SC. NEWJSN IS PRESENT IF THE CHANGE WAS FROM * SUBSYSTEM SERVICE CLASS. SRUUNITS IS THE SRU ACCUMULATOR * AT THE TIME OF THE SERVICE CLASS CHANGE. SPACE 4,10 ** ROUTINES USED. * * * *0DF* - DROP FILE. SPACE 4,10 ** PROGRAMS CALLED. * * * *1AJ* - CONTINUE DMP= PROCESSING / PROCESS ERROR FLAG. SPACE 4,10 ** COMMON DECKS. *CALL COMPMAC QUAL CPS *CALL COMSCPS QUAL * SSPS EQU /CPS/SSPS *CALL COMSEJT *CALL COMSEVT *CALL COMSJIO *CALL COMSJRO *CALL COMSLFD *CALL COMSMSC *CALL,COMSMSP *CALL COMSPIM *CALL COMSPRD QUAL REM *CALL COMSREM QUAL * *CALL COMSSCD *CALL COMSSSD *CALL COMSSSE *CALL COMSSSJ *CALL COMSSCP *CALL COMSZOL 1RI SPACE 4 **** ASSEMBLY CONSTANTS. IFLS EQU /CPS/IFLS *PIOM* REPLY STATUS RDDS EQU /CPS/RDDS *PIOM* DIRECT READ WDDS EQU /CPS/WDDS *PIOM* DIRECT WRITE SPACE 4,10 ** DIRECT LOCATION ASSIGNMENTS. T8 EQU 16 SCRATCH T9 EQU 17 SCRATCH FS EQU 20 - 24 SCRATCH (5 CELLS) EP EQU 25 SPECIAL ENTRY POINT FLAGS FROM *SEPW* PR EQU 26 0 IF PSEUDO-ROLLIN DS EQU 27 DRIVER STATUS CN EQU 30 - 34 SCRATCH (5 CELLS) CI EQU 35 ROLLOUT FILE INDEX TW EQU 36 CONSTANT 2 EO EQU 37 EJT ORDINAL TN EQU 40 TERMINAL NUMBER TT EQU 41 - 42 TERMINAL TABLE ADDRESS (2 CELLS) PP EQU 43 POT POINTER PA EQU 44 - 45 POT ADDRESS (2 CELLS) TA EQU 46 *IAF* RA FA EQU 57 DM* FILE FNT ADDRESS ZR EQU 60 - 64 CM ZERO WORD (5 CELLS) EF EQU 65 ERROR FLAG DI EQU 66 *UJNI*+2 (USED TO DISABLE PROCESSING) LW EQU 67 ADDRESS OF LAST CM WORD ROLLED IN **** SPACE 4,10 ** SYSTEM SECTOR LOCATIONS RELATIVE TO START OF SECTOR. TYSS EQU FNSS-BFMS-2 FILE TYPE DMFA EQU FASS-BFMS-2 DM* FILE LOCAL FNT ADDRESS SSSS EQU SJSS-BFMS-2 SSJ= JOB FLAG DPFL EQU DPSS-BFMS-2 *DMP=* FL CONTROL SCCS EQU CSSS-BFMS-2 SERVICE CLASS CHANGE RRSS EQU R1SS-BFMS-2 RECOVER TABLE QBSS EQU QASS-BFMS-2 DELAYED *ALTER* FLAGS EJRO EQU EJSS-BFMS-2 EJT ENTRY AT ROLLOUT SCPC EQU COSS-BFMS-2 SCP CONNECTIONS FROM CPA WORD *SSCW* TITLE MACROS. SPACE 4,10 ** MACRO DEFINITIONS. RESTOR SPACE 4,25 ** RESTOR - SET CONTROL POINT AREAS TO RESTORE. * * RESTOR WORD,BYTE,MASK * * ENTRY *WORD* = CONTROL POINT AREA WORD OFFSET. * = BLANK, IF TABLE TERMINATOR. * *BYTE* = BYTE OFFSET WITHIN WORD. * = *, IF ENTIRE CM WORD TO BE RESET. * *MASK* = BYTE MASK OF AREAS TO BE RESET. * = *, IF ENTIRE BYTE TO BE RESET. * * EXIT TABLE ENTRY SET UP. *T 1/W,11/OFFSET (IF W=1, ENTIRE CM WORD TO MOVE) *T, 1/W,11/OFFSET,12/MASK (IF W=0, ONE BYTE TO MOVE) * * DEFINE .1 = CPA SEGMENT FLAG. * = 0, IF FIRST HALF OF CPA. * = 1, IF SECOND HALF OF CPA. * .2 = WORD OFFSET IN CPA SEGMENT. * = *WORD*, IF *WORD* .LT. 100. * = *WORD*-100, IF *WORD* .GE. 100. PURGMAC RESTOR MACRO RESTOR,LABEL,WORD,BYTE,MASK IFC NE,$LABEL$$,2 .1 SET 0 LABEL BSS 0 .A IFC EQ,$WORD$$ CON 0 .A ELSE .2 SET WORD .B IFGE WORD,100 .2 SET .2-100 .C IFNE .1,1 CON 0 .1 SET 1 .C ENDIF .B ELSE .D IFEQ .1,1 ERR - TABLE SEQUENCE ERROR. .D ENDIF .B ENDIF .E IFC EQ,$BYTE$*$ CON 4000+.2*5 .E ELSE CON .2*5+BYTE .F IFC EQ,$MASK$*$ CON 7777 .F ELSE CON MASK ENDIF RESTOR ENDM TITLE MAIN PROGRAM. RIJ SPACE 4,10 ** RIJ - MAIN PROGRAM. ORG PPFW RIJ BSS 0 RJM PRS PRESET RIJG EQU * SETMS READSTR,NS REQUEST STREAMED DATA ON BUFFERED DEVICE * UJN RIJ1 (PSEUDO-ROLLIN) * READ ROLLOUT FILE. RJM SYS READ SYSTEM SECTOR SEQ EQU *-2 RIJ1 SEQUENCE CPAI,CPA READ CONTROL POINT AREA * UJN *+2 (NO CONTROL POINT) * RJM TCP (PSEUDO-ROLLIN) SEQUENCE TOPI,/3RH/TOP SKIP TERMINAL OUTPUT * UJN *+2 (NON-INTERACTIVE/DETACHED INTERACTIVE JOB) * UJN RIJ2.1 (PSEUDO-ROLLIN) SEQUENCE JFLI,JFL READ JOB CM FIELD LENGTH * UJN *+2 (NO CM FL) SEQUENCE JECI,JEC READ JOB EXTENDED MEMORY FIELD LENGTH * UJN *+2 (NO EXTENDED MEMORY FL) ENDMS * CLEAR ADDITIONAL NFL IF INCREASE WAS REQUESTED. ADJUST RA AND * FL BY NFL SIZE. RIJ2 BSS 0 REENTRY AFTER PROCESSING ERROR RJM AFL CLEAR INCREASED NFL, ADJUST RA AND FL * UJN *+2 (DMP= CALL) RIJA EQU *-2 PAUSE ST RESET *RA* AND *FL* * INITIATE JOB STEP FOR ON-LINE INTERACTIVE JOBS. RJM /3RH/PRS PRESET FOR ON-LINE INTERACTIVE JOB * UJN *+2 (NOT ON-LINE INTERACTIVE ROLLIN) RIJB EQU *-2 RJM /3RH/EDA INITIATE JOB STEP * UJN *+2 (NOT ON-LINE INTERACTIVE ROLLIN) RIJC EQU *-2 * UPDATE EXCHANGE PACKAGE, RESTORE FIRST SECTOR OF CONTROL * POINT AREA, CLEAR SECURE MEMORY. RIJ2.1 RJM RCP RESTORE CPA * RJM /3RG/RCP (DMP= CALL) RIJD EQU *-1 * PROCESS POSSIBLE ERROR FLAG FROM EJT ENTRY. CHECK FOR CPU * TIME LIMIT OR SRU LIMIT. RJM PEF PROCESS ERROR FLAG * UJN RIJ3 (PSEUDO-ROLLIN) RIJJ EQU *-2 MJN RIJ3 IF AN ERROR FLAG IS SET RJM PLI PROCESS LIMIT INCREASE * UJN *+2 (NOT ROLLIN OF ON-LINE INTERACTIVE JOB) RIJE EQU *-2 RIJ3 RJM CJS CHANGE JOB STATUS * MOVE ERROR FLAG TO CONTROL POINT AREA. LDD EF ZJN RIJ4 IF NO ERROR FLAG STD CM+1 SHN 21-13 MJN RIJ4 IF INTERNAL ERROR FLAG MONITOR CEFM RIJ4 LDM CBUF+5*STSW+2 NJP RIJ8 IF ROLLOUT STATUS PRESENT LDM ERSF ZJN RIJ5 IF PP RECALL QUEUE EMPTY LDM RIJF ZJN RIJ5 IF NO CPU ACTIVITY LDC UJNI+ERS9-ERSE ERRPL ERS9-ERSE-40 RANGE ERROR STM ERSE RIJ5 RJM ERS PROCESS PP RECALL QUEUE LDC ** RIJF EQU *-1 (CPU ACTIVITY FLAG) ZJP RIJ12 IF NO CPU ACTIVITY LDD EF NJP RIJ12 IF ERROR FLAG SET LDM ERSJ NJN RIJ7 IF AUTO-RECALL ENTRY FOUND LDN /CPS/CRCS SET TO START CPU RAM RIJH RIJ7 LDC /CPS/DPPS * LDC /CPS/DPPS+/CPS/CRCS (ALSO RESTART CPU) RIJH EQU *-1 STD CM+1 MONITOR JACM UJN RIJ11 EXIT TO PP RESIDENT * CALL *1AJ*. RIJ8 LDM ERSF RESET PP RECALL COUNT SHN 4 ADM ERSF SET CURRENT QUEUE POINTER ADN 1 STM CBUF+5*STSW+4 LDD CP ADN STSW CWM CBUF+5*STSW,ON LDN 0 RIJ9 STD IR+2 * UJN RIJ7 (DMP= ROLLIN) RIJI EQU *-1 STD IR+4 EXECUTE 1AJ,= CALL *1AJ* INTO THIS PP LCN 1RR-1RA RAD IR LDD HN RAD IR+1 RIJ10 LDD IA WRITE *1AJ* CALL TO PP INPUT REGISTER CWD IR RIJ11 LJM PPR CALL *1AJ* RIJ12 LDM ERSF ZJN RIJ9 IF NO PP ACTIVITY SBN 1 NJN RIJ13 IF MORE THAN *1AJ* IN RECALL QUEUE LDD CI NJN RIJ10 IF ONLY *1AJ* IN RECALL QUEUE RIJ13 LJM RIJ7 CLEAR JOB ADVANCE AND DROP PP TITLE ROLLOUT FILE READ ROUTINES. CPA SPACE 4,10 ** CPA - READ CONTROL POINT AREA. * * CALLS MSR, RNS. CPA SUBR ENTRY/EXIT LDC CBUF-2 READ FIRST SECTOR OF CPA RJM RNS READ NEXT SECTOR SHN -6 ZJN CPA1 IF SHORT SECTOR LDC BFMS * LDC /3RG/RBFF (DMP= CALL) CPAA EQU *-1 RJM RNS READ NEXT SECTOR SHN -6 NJN CPA2 IF NOT SHORT SECTOR CPA1 RJM MSR PROCESS ERROR - NO RETURN RJM HNG HANG PP CPA2 LDD IR+2 STM CPAB SET CPA ROLLED IN FLAG IF DMP= CALL NJN CPAX IF DMP= CALL LDD CP WRITE SECOND SECTOR IN CPA ADD HN CWM BFMS+2,HN UJN CPAX RETURN CPAB CON 0 NON-ZERO IF CPA ROLLED IN AND DMP= CALL HNG SPACE 4,10 ** HNG - HANG PP. HNG CON 0 ENTRY HNG1 MONITOR HNGM UJN HNG1 DO NOT ALLOW OPERATOR TO CLEAR THE HANG JFL SPACE 4,15 ** JFL - READ JOB CM FIELD LENGTH. * * ENTRY (JFLB) = 1 IF NON-RESTART *DMP=* CALL. * (DI) = *UJNI*+2. * * EXIT (LW) = LWA+1 OF CM FL ROLLED IN (USED AS ECS ROLLIN * BUFFER ADDRESS). * * USES T8, CI, LW. * * CALLS RIM. * * MACROS ENDMS. JFL4 LDD DI DISABLE EXTENDED MEMORY ROLLIN STM JECI*2+SEQ LDN 0 SET NFL ONLY ROLLIN STM AFLB LDM CBUF+5*FLSW ROLLIN NFL ONLY RJM RIM ROLLIN MEMORY JFL SUBR ENTRY/EXIT UJN *+2 * ENDMS (ROLLOUT DEVICE IS EXTENDED MEMORY) JFLA EQU *-1 CON .EMS LDM CBUF+FLIW*5+2 INITIALIZE ROLLIN INDEX STD CI LDM EJBF+SCLE*5+4 ZJN JFL4 IF ONLY NFL SHOULD BE ASSIGNED LDM CBUF+5*FLSW+4 ZJN JFL4 IF NO CM FL TO ROLLIN SBN MCMX/100/2 PRESET AMOUNT OF CM TO ROLLIN STD T8 LDN 0 * LDN 1 (NON-RESTART DMP= CALL) JFLB EQU *-1 ZJN JFL1 IF NOT RESTART DMP= CALL LDM SBUF+DPFL NJN JFL2 IF NOT FULL DUMP JFL1 LDM CBUF+5*ECSW+4 NJN JFL3 IF EXTENDED MEMORY ASSIGNED LDM CBUF+5*FLSW+4 JFL2 STD T8 SET AMOUNT OF CM TO ROLLIN LDD DI DISABLE EXTENDED MEMORY ROLLIN STM JECI*2+SEQ JFL3 LDD T8 SET ROLLIN LWA ADD CI ADD NFL INCREASE AMOUNT * PSN (DMP= CALL) JFLC EQU *-1 STD LW SET EXTENDED MEMORY BUFFER ADDRESS RJM RIM ROLLIN MEMORY LJM JFLX RETURN JEC SPACE 4,10 ** JEC - READ JOB EXTENDED MEMORY FIELD LENGTH. * * ENTRY (LW) = LWA+1 OF CM FL ROLLED IN. * * USES CM - CM+4, T8, CN - CN+2, CI. * * CALLS MSR, RIM. * * ERROR TO *MSR* IF ECS/ESM ERROR OCCURS. * TO *HNG* IF TO HANG PP ON ERROR. JEC SUBR ENTRY/EXIT LDN MCMX/100/4 SET EXTENDED MEMORY BUFFER SIZE STD T8 LDM CBUF+ECSW*5+4 JECC SHN 0 * SHN UESC (CONVERT TO 1000B-WORD BLOCKS) STD CN+2 SHN -14 STD CN+1 NJN JEC1 IF FULL BUFFER PRESENT LDD CN+2 SHN 3 SBD T8 PJN JEC1 IF FULL BUFFER PRESENT RAD T8 ADJUST BUFFER SIZE JEC1 LDD CP CWD ZR * ROLLIN EXTENDED MEMORY. LDD LW SET BUFFER ADDRESS STD CN ADN MCMX/100/4 LMD CN SET TOGGLE CONSTANT STM JECA LDD CN READ BUFFER FULL STD CI ADD T8 JEC2 RJM RIM LDD CN STM JECB+1*5+2 LMC * JECA EQU *-1 * LMC N (TOGGLE CONSTANT) STD CI STD CN JEC3 LDD OA WAIT *OR* CLEAR CRD CM LDD CM NJN JEC3 IF *RCXM*/*ECXM* INCOMPLETE JEC4 LDD CP READ STATUS WORD CRD CM LDD CM NJN JEC4 IF TRANSFER NOT COMPLETE LDD T8 SET *RCXM*/*ECXM* WORD COUNT SHN 6 STM JECB+5 LDD CM+1 NJP JEC8 IF ERROR LDD CP SET INTERLOCK BUSY CWD ON LDD OA WRITE *MTR* REQUEST CWM JECB,TW LDN MCMX/4/1000 ADVANCE EXTENDED MEMORY ADDRESS RAM JECB+1*5+4 SHN -14 RAM JECB+1*5+3 SBD CN+1 MJN JEC5 IF NOT DONE LDM JECB+1*5+4 SBD CN+2 PJN JEC6 IF DONE SHN 3 ADD T8 MJN JEC5 IF FULL BUFFER REMAINS STD T8 LDN MCMX/100/4 SBD T8 STD T8 JEC5 LDD T8 ADD CI UJP JEC2 CONTINUE ROLLIN JEC6 LDD OA WAIT OR CLEAR CRD CM LDD CM NJN JEC6 IF *RCXM/ECXM* INCOMPLETE JEC7 LDD CP CRD CM LDD CM NJN JEC7 IF TRANSFER NOT COMPLETE LDD CM+1 JEC8 ZJN JEC9 IF NO ERROR RJM MSR PROCESS ERROR - NO RETURN RJM HNG HANG PP * ROLLIN LAST PART OF CM. JEC9 LDD LW SET FWA TO ROLL IN STD CI ADN MCMX/100/2 SET AMOUNT TO ROLLIN RJM RIM LJM JECX RETURN JECB VFD 12/RCXM EM TRANSFER FUNCTION PROCESSED BY *MTR* VFD 29/0 VFD 1/1 FUNCTION TYPE = WRITE VFD 18/0 ALTERNATE RESPONSE ADDRESS VFD 12/MCMX/4 WORD COUNT VFD 12/0 VFD 12/0 CM ADDRESS/100B (RELATIVE) VFD 24/0 EXTENDED MEMORY ADDRESS/1000B (RELATIVE) TITLE SUBROUTINES. AFL SPACE 4,10 ** AFL - ADJUST RA AND FL. * * USES T0, CM - CM+4. * * MACROS MONITOR. AFL SUBR ENTRY/EXIT * CLEAR ADDITIONAL NFL, IF ANY. LDN ZERL CRD CM LDN 1 * LDN 0 (MEMORY CLEARING ENABLED) AFLA EQU *-1 ZJN AFL1 IF MEMORY CLEARING ENABLED LDM CBUF+5*FLIW+2 ZJN AFL1 IF NO NFL INCREASE SHN 6 SET WORD COUNT STD CM+2 LDD HN SET RELATIVE FLAG STD CM+1 MONITOR CSTM * ADJUST RA AND FL BY NFL SIZE. AFL1 LDM CBUF+5*FLSW+4 SAVE PREVIOUS CM FL SIZE SBM CBUF+5*FLSW STM RCPA STM CSMA LDM CBUF+5*FLSW SAVE NEW NFL SIZE RAM CBUF+5*FLIW+2 LDM CBUF+5*ECSW+4 SAVE PREVIOUS ECS FL SIZE STM CSMB LDD CP GET *FLSW*, *FLSW+1* AND *ECSW* FROM CPA ADN FLSW CRM CBUF+5*FLSW,TW ADK ECSW-FLSW-2 CRM CBUF+5*ECSW,ON LDM CBUF+5*FLIW+2 SET NFL STM CBUF+5*FLSW STD T0 LDM CBUF+5*FLSW+2 SET RA - NFL IN *FLSW+1* STM CBUF+5*FLSW+5*1+1 LDM CBUF+5*FLSW+3 STM CBUF+5*FLSW+5*1+2 LDD T0 RAM CBUF+5*FLSW+3 SET ADJUSTED RA (RA + NFL) SHN -14 RAM CBUF+5*FLSW+2 LCN 0 ADJUST FL (FL - NFL) LMD T0 RAM CBUF+5*FLSW+4 STM CBUF+5*FLSW+5*1+4 LDD T0 STORE NFL + 4000 IN *FLSW+1* LMC 4000 STM CBUF+5*FLSW+5*1+3 LDD CP UPDATE *FLSW* AND *FLSW+1* IN CM ADN FLSW CWM CBUF+5*FLSW,TW LDD EF ZJN AFL2 IF NO ERROR FLAG PRESENT LDC * * LDC 0 (NFL ONLY ROLLIN) AFLB EQU *-1 NJN AFL2 IF NOT A NFL ONLY ROLLIN STD CM+1 RELEASE EXTRA FL LDN 0 STD CM+2 MONITOR RSTM AFL2 LJM AFLX RETURN CHG SPACE 4,10 ** CHG - CONDITIONAL HANG. * * ENTRY (A) = ERROR FLAG TO SET. * * USES CM - CM+4. * * MACROS MONITOR. CHG SUBR ENTRY/EXIT STD CM+2 SET ERROR FLAG LDM CHG P-ADDRESS STD CM+1 MONITOR CHGM CONDITIONAL HANG UJN CHGX RETURN CJS SPACE 4,10 ** CJS - CHANGE JOB STATUS. * * ENTRY (EO) = EJT ORDINAL (NON-DMP= CALL). * (PR) = 0 IF PSEUDO-ROLLIN. * * USES CM - CM+4, CN - CN+4, FS - FS+4, T1 - T5. * * CALLS DRF, RPC, SNS, 3RI, 3RJ. * * MACROS EXECUTE, SFA. CJS SUBR ENTRY/EXIT LDN 0 * LDN 1 (*DMP=* CALL) CJSA EQU *-1 ZJN CJS1 IF NOT DMP= CALL LJM CJS5 DROP DM* FILE * CHECK FOR SERVICE CLASS CHANGE. CJS1 LDD PR ZJN CJS4 IF PSEUDO-ROLLIN LDM SBUF+SCCS ZJN CJS2 IF NO SERVICE CLASS CHANGE STD CN SAVE SERVICE CLASS FOR *3RI* EXECUTE 3RI PERFORM SERVICE CLASS CHANGE * CHECK FOR DELAYED *ALTER* FUNCTIONS. CJS2 LDM SBUF+QBSS ZJN CJS3 IF NO DELAYED *ALTER* FUNCTIONS EXECUTE 3RJ PROCESS DELAYED *ALTER* FUNCTIONS * CHECK FOR SCP NOTIFICATION REQUIRED. CJS3 LDM EJBF+5*JSNE+4 LPN 76 LMN SIJS*2 NJN CJS4 IF NOT *SIJS* JOB STATE RJM SNS SEND NOTIFICATION OF ROLLIN TO SCP * UPDATE THE EJT ENTRY AS FOLLOWS - * UPDATE CONNECTION STATUS. * CHANGE JOB STATUS TO *EXJS*. * CLEAR ROLLOUT FILE ADDRESS. * CLEAR ERROR FLAG. * CLEAR FORCED ROLLOUT FLAG. CJS4 SFA EJT,EO ADK JSNE CRD T1 ADK SCHE-JSNE CRD CM ADK PRFE-SCHE CRD CN ADK SCLE-PRFE CRD FS LDD T1+4 UPDATE JOB STATUS AND CONNECTION STATUS LPC 4000 PRESERVE SCP/UCP CONNECTION STATUS LMM CJSD STD T1+4 LDN 0 CLEAR ROLLOUT FILE ADDRESS STD CM STD CM+1 STD CN+1 CLEAR ERROR FLAG LDD FS CLEAR FORCED ROLLOUT FLAG SCN 40 STD FS SFA EJT,EO ADK JSNE CWD T1 ADK SCHE-JSNE CWD CM ADK PRFE-SCHE CWD CN ADK SCLE-PRFE CWD FS * RELEASE ROLLOUT FILE / DM* FILE (DMP= CALL) MASS STORAGE * SPACE. IF DMP= CALL, DROP DM* FILE FNT/FST ENTRY. IF * PSEUDO-ROLLIN, RELEASE PSEUDO-CONTROL POINT. CJS5 RJM DRF DROP ROLLOUT FILE * RJM RPC (PSEUDO-ROLLIN) CJSB EQU *-1 LJM CJSX RETURN CJSC BSS 5 PARAMETERS PASSED BY *1SJ* VIA CPA WORD 0 * EJT DATA BLOCK. CJSD VFD 1/0 UCP/SCP CONNECTION STATUS VFD 4/0 INTERACTIVE CONNECTION STATUS VFD 1/1 JOB ADVANCE FLAG VFD 5/EXJS JOB STATUS VFD 1/1 JOB INTERLOCK FLAG CSM SPACE 4,10 ** CSM - CLEAR SECURE MEMORY. * * ENTRY (EP) = ENTRY POINT FLAGS FROM *SEPW*. * * USES CM - CM+4. * * MACROS MONITOR. CSM SUBR ENTRY/EXIT LDN 1 * LDN 0 (MEMORY CLEARING ENABLED) CSMC EQU *-1 ZJN CSMX IF MEMORY CLEARING ENABLED LDD EP LPN 1 NJN CSM1 IF *SSM=* ENTRY POINT PRESENT LDC ** CSMA EQU *-1 (OLD CM FL SIZE) ZJN CSM1 IF NO CM FL TO BE CLEARED SHN 6 SET FWA TO CLEAR STD CM+4 SHN -14 STD CM+3 LDD FL COMPARE NEW CM FL WITH OLD SBM CSMA ZJN CSM1 IF NO CHANGE MJN CSM1 IF DECREASE SHN 6 SET WORD COUNT STD CM+2 SHN -14 LMD HN SET CM RELATIVE ADDRESSING FLAGS STD CM+1 MONITOR CSTM CLEAR MEMORY CSM1 LDC ** CSMB EQU *-1 (OLD EXTENDED MEMORY FL SIZE) STD CM+4 SET FWA TO CLEAR LDM CBUF+5*ECSW+4 COMPARE NEW EXTENDED MEMORY FL WITH OLD SBM CSMB ZJN CSM2 IF NO CHANGE MJN CSM2 IF DECREASE STD CM+2 SET WORD COUNT LDN 0 STD CM+3 LDC 300 SET ECS RELATIVE ADDRESSING FLAGS STD CM+1 MONITOR CSTM CLEAR MEMORY CSM2 LJM CSMX RETURN DRF SPACE 4,10 ** DRF - DROP ROLLOUT FILE. * * ENTRY (FA) = DM* FILE FNT ADDRESS/OFFSET (DMP= CALL). * (EJBF+5*SCHE) = ROLLOUT/DM* FILE EQUIPMENT. * (EJBF+5*SCHE+1) = ROLLOUT/DM* FILE FIRST TRACK. * * USES CM+1, CM+2, CM+4. * * MACROS MONITOR. DRF2 LDD FA CLEAR DM* FILE FNT/FST ENTRY STD CM+4 LDN /CPS/DLFS STD CM+1 MONITOR PLFM DRF SUBR ENTRY/EXIT LDM EJBF+5*SCHE RELEASE MASS STORAGE SPACE LMD TH SET RETURN-ON-INACCESSIBLE BIT STD CM+1 SET EQUIPMENT LDM EJBF+5*SCHE+1 SET FIRST TRACK STD CM+2 MONITOR DTKM UJN DRFX RETURN * UJN DRF2 (DMP= CALL) DRFB EQU *-1 ERS SPACE 4,15 ** ERS - ENTER RECALL STACK ENTRIES. * * EXIT (A) = 0, IF *1AJ* NOT FOUND. * (IR - IR+4) = *1AJ* CALL IF PRESENT. * RECALL STACK REACTIVATED. * (ERSJ) = COUNT OF AUTO-RECALL ENTRIES FOUND. * * USES CI, EF, T1, T2, CM - CM+4, CN - CN+4, FS - FS+4, * IR - IR+4. * * CALLS CHG. * * MACROS MONITOR. ERS SUBR ENTRY/EXIT LDN ZERL CLEAR RECALL LINKS CRD CM AOD CM+4 ERS1 AOD CM+4 ADC RCCW-2 ADD CP CWD CM LDD CM+4 LMN LREC NJN ERS1 IF NOT END OF LINKS STD CM+4 LDD CP ADC RCCW+LREC-1 CWD CM ADN RECW-RCCW-LREC+1 STD T1 ADN LREC STM ERSD LDM ERSF ZJN ERSX IF RECALL QUEUE EMPTY AND NO TAPE ACTIVITY LDN 0 CLEAR ENTRY COUNT STD T2 STD CI ERS2 LDD T1 CHECK ENTRY CRD FS CWD ZR CLEAR ENTRY ADN REPW-RECW CRD CN CWD ZR LDD MA MOVE REQUEST TO MESSAGE BUFFER CWD FS ADN 1 CWD CN LDD FS+1 SCN 77 SHN 6 LMD FS ZJN ERS6 IF EMPTY RECALL ENTRY LMC 3RJ1A ZJN ERS7 IF *1AJ* RECALL ENTRY AOD T2 INCREMENT PP RECALL ENTRY COUNT UJN ERS4 CONTINUE * LDD FS (RESTART) ERSC EQU *-1 SHN -6 SBN 1R0 PJN ERS6 IF INCORRECT PP NAME ERS4 LDD FS+1 CHECK FOR AUTO-RECALL LPN 40 ZJN ERS5 IF NOT AUTO-RECALL REQUEST LDD MA SAVE AUTO-RECALL REQUEST CRM BFMS,TW AOM ERSJ SET AUTO-RECALL FLAG UJN ERS6 ADVANCE QUEUE POINTER ERS5 LDN ZERL CLEAR *RPPM* PARAMETERS CRD CM MONITOR RPPM ERS6 AOD T1 ADVANCE STACK POINTER LMC ** ERSD EQU *-1 ZJN ERS10 IF END OF RECALL QUEUE LJM ERS2 LOOP ON RECALL PROCESSING ERS7 LDD MA MOVE *1AJ* CALL TO INPUT REGISTER CRD IR AOD T2 INCREMENT PP RECALL ENTRY COUNT AOD CI SET *1AJ* FLAG SBN 1 NJN ERS8 IF MULTIPLE *1AJ* ENTRIES LDD CP STORE CP NUMBER IN *1AJ* CALL SHN -7 LMD IR+1 LPN 37 LMD IR+1 STD IR+1 UJN ERS6 LOOP FOR NEXT ENTRY * UJN ERS9 (CPU STATUS AT TIME OF *1AJ* CALL) ERSE EQU *-1 ERS8 LDN 0 RJM CHG CONDITIONAL HANG UJN ERS6 PROCESS NEXT ENTRY ERS9 LDK SWET STD EF RJM CHG CONDITIONAL HANG LJM ERSX RETURN ERS10 LDC ** CHECK TAPE ACTIVITY ERSF EQU *-1 SBD T2 STM ERSG+4 ZJN ERS13 IF NO TAPE ACTIVITY PJN ERS12 IF VALID RECALL COUNT ERS11 MONITOR HNGM UJN ERS13 CONTINUE ERS12 LDN 1 STD CM+1 STD CM+2 LDD MA CWM ERSG,ON MONITOR UADM UPDATE TAPE ACTIVITY * IF AUTO-RECALL PP WAS FOUND IN QUEUE AND NO ERROR FLAG IS * SET, SET *I* STATUS. REACTIVATE THE AUTO-RECALL PP. ERS13 LDC 0 * LDC 1 (AUTO-RECALL ENTRY FOUND) ERSJ EQU *-1 ZJN ERS15 IF NO AUTO-RECALL PP WAS FOUND SBN 1 NJN ERS11 IF MULTIPLE AUTO-RECALL PP-S LDD EF NJN ERS14 IF ERROR FLAG SET STD CM+3 LDD CP SET CP ADDRESS STD CM+4 LDN 2 SET REQUEST COUNT STD CM+1 LDD MA SET *UTEM* REQUESTS CWM ERSH,CM+1 MONITOR UTEM SET *I* STATUS ERS14 LDD MA REACTIVATE PP CWM BFMS,TW LDN ZERL CRD CM MONITOR RPPM ERS15 LJM ERSX RETURN ERSG VFD 12//CPS/CICS,12/STSW,6/4,6/4,24/0 ERSH VFD 1/1,5/STSW,6/12D,6/36D,42/0 VERIFY NO ERROR FLAG VFD 1/0,5/STSW,6/3,6/57D,42//CPS/ICPS SET *I* STATUS MSR SPACE 4,15 ** MSR - PROCESS ROLLOUT FILE ERROR. * * THIS ROUTINE IS CALLED WHEN ANY OF THE FOLLOWING CONDITIONS * OCCUR - * 1. SUBROUTINE *RNS* OR *RID* DETECTS A MASS STORAGE ERROR. * 2. AN ERROR IS DETECTED IN THE ROLLOUT FILE SYSTEM SECTOR. * 3. AN ERROR IS DETECTED IN THE CONTROL POINT AREA SECTOR * LINKAGE BYTES. * 4. AN ECS/ESM ERROR OCCURS WHILE ROLLING IN EXTENDED * MEMORY. * * OVERLAY *3RF* IS CALLED TO PROCESS THE ERROR. *3RF* WILL * RETURN CONTROL TO *MSR* ONLY IF THE ROLLIN PROCESS SHOULD * CONTINUE. * * EXIT TO CALLER IF I/O MAY CONTINUE. * TO *RIJ2* IF THE REST OF THE ROLLOUT FILE WILL * BE SKIPPED. * * USES DS, CN - CN+4. * * CALLS 3RF. * * MACROS ENDMS, EXECUTE. MSR SUBR ENTRY ENDMS LDM RDCT SAVE DRIVER STATUS STD DS LDD MA SAVE MASS STORAGE PARAMETERS CWD T3 CRD CN EXECUTE 3RF PROCESS ERROR ZJN MSRX IF I/O SHOULD CONTINUE UJP RIJ2 CONTINUE WITHOUT READING ROLLOUT FILE PCS SPACE 4,10 ** PCS - PROCESS CPU SELECTION. * * EXIT CPU SELECTION CLEARED IF TWO CPU-S NOT AVAILABLE. PCS SUBR ENTRY/EXIT PCSA LDM CBUF+5*CWQW+2 CLEAR CPU SELECTION * UJN PCSX (TWO CPU-S AVAILABLE) SCN 3 STM CBUF+5*CWQW+2 LDM CBUF+5*JCIW+1 SCN 3 STM CBUF+5*JCIW+1 UJN PCSX RETURN PEF SPACE 4,15 ** PEF - PROCESS ERROR FLAG. * * ENTRY (EF) = ERROR FLAG FROM EJT ENTRY. * * EXIT (A) .GE. 0 IF NO ERROR. * .LT. 0 IF ERROR FLAG SET. * * USES EF, CM - CM+4. PEF SUBR ENTRY/EXIT LDD EF SHN 21-13 MJN PEFX IF DUMMY ERROR FLAG IS SET NJN PEF2.1 IF ERROR FLAG IS SET * CHECK FOR CPU TIME LIMIT/SRU LIMIT. LDM CBUF+5*SRUW SHN 21-12 MJN PEF1 IF CPU TIME LIMIT SHN 2 PJN PEFX IF NOT SRU LIMIT LDN SRET UJN PEF2 SET *SRET* ERROR FLAG PEF1 LDN TLET SET *TLET* ERROR FLAG PEF2 STD EF SAVE ERROR FLAG PEF2.1 LDM EJBF+JSNE*5+4 LPN 76 LMN SUJS*2 NJN PEF3 IF NOT A SUSPENDED JOB * CHANGE CONNECTION STATUS TO *NICS* TO PREVENT SUSPENDING THIS * JOB AGAIN. LDM CJSD LPC 4177 LMK NICS*200 STM CJSD PEF3 LCN 0 INDICATE ERROR FLAG SET LJM PEFX RETURN PLI SPACE 4,10 ** PLI - PROCESS LIMIT INCREASE. * * USES CM+1, CM+3, CM+4. * * MACROS MONITOR. PLI SUBR ENTRY/EXIT LDM SBUF-2+SRSS-BFMS+3 SHN -6 ZJN PLIX IF NOT LIMIT INCREASE NEEDED STD CM+1 SAVE FUNCTION CODE (*RLIT* OR *RLIS*) LDM SBUF-2+SRSS-BFMS+4 STD CM+4 LDM SBUF-2+SRSS-BFMS+3 LPN 77 STD CM+3 MONITOR RLMM INCREMENT LIMIT UJN PLIX RETURN RCP SPACE 4,10 ** RCP - RESTORE CONTROL POINT AREA. * * USES CM - CM+4, CN - CN+4, FS - FS+4. * * CALLS CSM, PCS, UEP. * * MACROS DELAY, MONITOR, NFA. RCP SUBR ENTRY/EXIT * WARNING - MODIFICATION OF THE FIELD LENGTH CONTROL WORDS IN * CM MUST BE INHIBITED FROM BEFORE THE TIME *UEP* READS THEM * UNTIL AFTER THE FIRST HALF OF THE CONTROL POINT AREA IS * WRITTEN TO CM. THEREFORE, NO MONITOR FUNCTIONS WHICH COULD * RESULT IN A STORAGE MOVE SHOULD BE ISSUED DURING THAT TIME. RJM UEP UPDATE EXCHANGE PACKAGE RJM PCS PROCESS CPU SELECTION LDK RTCL CRD FS LDD CP ADK TSCW CRD CN LDD PR ZJP RCP4 IF PSEUDO-ROLLIN * UPDATE RECOVERY TABLE AND SCP CONNECTIONS FROM SYSTEM SECTOR. NFA RC1N CWM SBUF+RRSS,TW ERRNZ RC1N-RC2N-1 *RC1N*/*RC2N* MUST BE CONTIGUOUS ERRNZ R2SS-R1SS-5 *R1SS*/*R2SS* MUST BE CONTIGUOUS LDD CP UPDATE SCP CONNECTIONS ADK SSCW CWM SBUF+SCPC,ON ADK DBAW-SSCW-1 CRD CM LDD CM+1 ADD CM+2 ADD CM+3 ADD CM+4 NJN RCP2 IF K-DISPLAY ACTIVE LDN ZERL CLEAR *MS2W* CRM CBUF+5*MS2W,ON RCP2 LDD CN+2 LPC 7777 DO NOT CLEAR SLICE FLAG * LPC 7677 (CLEAR SLICE FLAG FOR ON-LINE INTERACTIVE) RCPG EQU *-1 STD CN+2 LDN 0 STM CBUF+5*FLIW+2 CLEAR NFL INCREASE FIELD STM CBUF+5*FLIW+3 CLEAR EXTENDED MEMORY INCREASE FIELD STM CBUF+5*FLIW+4 CLEAR CM INCREASE FIELD LDM CBUF+5*FLIW+1 CLEAR SCHEDULER REJECT FLAGS SCN 3 STM CBUF+5*FLIW+1 LDM SBUF+EJRO+JSNE*5+4 LPN 76 LMN TOJS*2 ZJN RCP3 IF ROLLIN AFTER TIMED/EVENT ROLLOUT LDM CBUF+5*STSW+2 LPK 10*/CPS/ROTE RAM RCPD SET UNPROCESSED TIMED/EVENT ROLLOUT STATUS RCP3 LDC ** RCPA EQU *-1 (OLD CM FL SIZE) NJN RCP4 IF CM FL WAS PREVIOUSLY ASSIGNED * LDN 0 (ON-LINE INTERACTIVE JOB STEP INITIATION) RCPB EQU *-1 STM CBUF+5*EECW+1 CLEAR REPRIEVE OPTIONS STM CBUF+5*EECW+4 CLEAR ERROR EXIT ADDRESS LDM CBUF+5*EECW+3 SCN 77 STM CBUF+5*EECW+3 LDM CBUF+5*CSPW CLEAR SUPPRESS ERROR MESSAGE FLAG SCN 40 STM CBUF+5*CSPW RCP4 LDM RCPF+1 COMPUTE CM SLICE TIME ADD FS+1 STD CN+1 SHN -14 ADD FS STD CN LDD FS+1 COMPUTE CP SLICE TIME ADM RCPF+4 STD CN+4 SHN -14 ADD FS STD CN+3 LDD CP ADK TSCW CWD CN LDM CBUF+5*STSW+2 SAVE CPU STATUS FLAG LPN 2 RAM RIJF LDM CBUF+5*STSW+4 SAVE PP RECALL COUNT SHN -4 LPN 17 STM ERSF * UPDATE STATUS WORD. LDN 0 STM CBUF+5*STSW+1 STM CBUF+5*STSW+3 LDN 1 SET PP ACTIVITY STM CBUF+5*STSW STM CBUF+5*STSW+4 SET RECALL COUNT LDC 0 RCPD EQU *-1 (ROLLOUT CONTROL FLAGS TO BE SET) ZJN RCP4.1 IF NO ROLLOUT FLAGS TO SET LDM CBUF+5*STSW+2 LPN 2 PRESERVE ROLLOUT CPU STATUS LMN 1 SET ROLLOUT REQUESTED LMM RCPD MERGE ROLLOUT FLAGS RCP4.1 STM CBUF+5*STSW+2 * WRITE FIRST HALF OF CONTROL POINT AREA. RCP5 LDD CP ENSURE *1SJ* *CCAM* IS COMPLETE ADK STSW CRD CM SOD CM ZJN RCP6 IF NO OTHER PP-S ASSIGNED DELAY UJN RCP5 CHECK FOR COMPLETION OF *1SJ* *CCAM* RCP6 LDD CP CWM CBUF,HN LDD PR ZJN RCP8 IF PSEUDO-ROLLIN * UPDATE MASS STORAGE PRU LIMIT. LDM RCPE+3 ADM RCPE+4 ZJN RCP7 IF NO PRU-S RELEASED LDD MA STORE REQUEST IN MESSAGE BUFFER CWM RCPE,ON LDN 1 SET NUMBER OF REQUESTS AND NO DROP FLAG STD CM+1 STD CM+2 MONITOR UADM * CLEAR SECURE MEMORY IF NECESSARY. RCP7 RJM CSM CLEAR SECURE MEMORY * FORCE SRU MULTIPLIER CALCULATION. LDN /CPS/ABSF STD CM+1 MONITOR ACTM RCP8 LJM RCPX RETURN * *UADM* PARAMETER BLOCK. RCPE CON /CPS/CICS CON ACLW CON 0*100+18D CON 0,0 RCPF BSS 5 *TSCW* BUFFER RIM SPACE 4,15 ** RIM - ROLLIN MEMORY. * * ENTRY (A) = LWA TO ROLLIN. * (CI) = FWA TO ROLLIN. * (T5) = EQUIPMENT. * (T6) = CURRENT TRACK. * (T7) = CURRENT SECTOR. * * USES CI. * * CALLS RNS. * * NOTE ROUTINE *RIM* IS OVERWRITTEN WITH ROUTINE *RID* * IF THE ROLLOUT DEVICE SUPPORTS DIRECT DISK TRANSFERS. RIM SUBR ENTRY/EXIT STM RIMA SBD FL MJN RIM1 IF LWA .LT. FL LDD FL OVERRIDE ROLLIN FL STM RIMA RIM1 LDC BFMS READ A SECTOR RS1. RJM RNS ZJN RIM2 IF EOF LDD RA SET CM ADDRESS ADD CI SHN 6 CWM BFMS+2,HN AOD CI LMC * RIMA EQU *-1 NJN RIM1 IF LWA NOT REACHED RIM2 STM RNS CLEAR *RNS* SO *3RF* WILL NOT BE CONFUSED UJN RIMX RETURN RIML EQU *-RIMX LENGTH OF *RIM* RPC SPACE 4,10 ** RPC - RELEASE PSEUDO-CONTROL POINT. * * USES CM - CM+4. RPC SUBR ENTRY/EXIT TLDC TFSW,PCAD CRD CM LDN 0 CLEAR PCP ASSIGNMENT STD CM TLDC STSW,PCAD CWD ZR CLEAR PP/PCP ASSIGNMENT ADK TFSW-STSW CWD CM UJP RPCX RETURN SNS SPACE 4,20 ** SNS - SEND NOTIFICATION OF ROLLIN TO SCP. * * *SNS* NOTIFIES A PARTICULAR SCP TYPE SUBSYSTEM THAT A USER * JOB (UCP) HAS ROLLED IN. THIS RESPONSE OCCURS AS A RESULT * OF A PREVIOUS *SF.SWPI* FUNCTION ISSUED FROM A SYSTEM * CONTROL POINT (SCP). * * ENTRY (A) = REPLY CODE. * (CJSC - CJSC+4) = SUBSYSTEM PARAMETERS. * *SCHE* FORMAT IS 30/,18/ ADDR,12/ SSID * ADDR = ADDRESS OF COMPLETION BIT WORD * SSID = SUBSYSTEM IDENTIFICATION NUMBER. * (EO) = EJT ORDINAL. * * USES T1, EF, CM - CM+4. * * MACROS DELAY, MONITOR PAUSE, SFA. SNS SUBR ENTRY/EXIT SHN 6 SAVE REPLY CODE STM SNSA NJN SNS1 IF ERROR RESPONSE LDD CP READ SCP CONTROL WORD ADK SSCW CRD CM LDN 5 INITIALIZE BYTE INDEX STD T1 SNS0.1 SOD T1 MJN SNSX IF SUBSYSTEM NOT FOUND LDM CM,T1 CHECK NEXT BYTE SHN -6 ADC LSSI CALCULATE SUBSYSTEM ID LMM CJSC+4 NJN SNS0.1 IF NOT THIS SUBSYSTEM LDM CM,T1 CLEAR ROLLOUT ALLOWABLE FLAG SCN 20 STM CM,T1 LDD CP ADC SSCW CWD CM * ISSUE *TDAM* FUNCTION TO SET COMPLETION BIT. SNS1 LDM CJSC+4 SET SUBSYSTEM ID FOR *TDAM* STD CM+2 LDM CJSC+3 SET COMPLETION BIT ADDRESS FOR *TDAM* STD CM+4 LDM CJSC+2 LPN 77 LMC ** SNSA EQU *-1 STD CM+3 LDN 2 SET *TDAM* SUBFUNCTION STD CM+1 MONITOR TDAM LDD CM+1 ZJN SNS3 IF NO REJECT SBN 4 ZJN SNS3 IF SCP INACTIVE PJN SNS2 IF INCORRECT COMPLETION ADDRESS PAUSE ST DELAY SFA EJT,EO READ ERROR FLAG WORD OF EJT ENTRY ADN PRFE CRD CM LDD CM+1 LMN ORET ZJN SNS3 IF OPERATOR INTERVENTION LJM SNS1 REISSUE REQUEST SNS2 LDN ITET SET INCORRECT TRANSFER ADDRESS ERROR FLAG SBD EF MJN SNS3 IF LARGER ERROR FLAG ALREADY SET LDN ITET SET INCORRECT TRANSFER ADDRESS ERROR FLAG STD EF SNS3 LJM SNSX RETURN SYS SPACE 4,10 ** SYS - READ SYSTEM SECTOR. * * ENTRY I/O SEQUENCE INITIATED. * * USES T7. * * CALLS MSR, RNS. * * ERROR TO *MSR* IF INVALID SYSTEM SECTOR. SYS SUBR ENTRY LDC SBUF-2 READ SYSTEM SECTOR RJM RNS LDN FSMS SET FIRST SECTOR STD T7 LDD T1 CHECK WORD COUNT LMN 77 NJN SYS1 IF NOT SYSTEM SECTOR LDI T3 LMC 3777 NJN SYS1 IF NOT VALID SYSTEM SECTOR LDM SBUF+TYSS*5+4 SHN -6 LMN ROFT NJN SYS1 IF NOT ROLLOUT FILE LDM SBUF+DMFA SYSA ZJN SYSX IF NOT DM* ROLLOUT FILE (NORMAL ROLLIN) * NJN SYSX IF DM* ROLLOUT FILE (*DMP=* ROLLIN) SYS1 RJM MSR PROCESS ERROR - NO RETURN RJM HNG HANG PP TCP SPACE 4,10 ** TCP - TRANSFER PCPA TO CPA. * * EXIT CONTROL POINT AREA SET FROM PCP. TCP SUBR ENTRY/EXIT TLDC 0,PCAD COMPUTE PCPA ADDRESS CRM CBUF,HN READ FIRST HALF OF PCPA CRM BFMS+2,HN READ SECOND HALF OF PCPA LDD CP WRITE SECOND HALF OF PCPA TO CPA ADD HN CWM BFMS+2,HN UJN TCPX RETURN UEP SPACE 4,10 ** UEP - UPDATE EXCHANGE PACKAGE. * * ENTRY (RA) = ADJUSTED RA. * (FL) = ADJUSTED CM FL. UEP SUBR ENTRY/EXIT LDD CP READ FIELD LENGTH CONTROL WORDS ADK FLSW CRM CBUF+5*FLSW,TR ERRNZ ECSW-FLSW-2 CODE DEPENDS ON VALUE LDM CBUF+5*FLSW+3 SET RA IN EXCHANGE PACKAGE SHN 6 STM CBUF+5*1+1 LMM CBUF+5*FLSW+2 SHN 6 STM CBUF+5*1 LDD FL STORE FL IN EXCHANGE PACKAGE SHN 6 STM CBUF+5*2+1 SHN -14 STM CBUF+5*2 LDM CBUF+5*3 ENSURE MONITOR MODE NOT SET (CYBER 176) LPC 7627 STM CBUF+5*3 LDM CBUF+5*ECSW+4 ZJP UEP3 IF NO EXTENDED MEMORY ASSIGNED LDK UEML READ UEM BASE ADDRESS/1000B CRD CM LDD CM+4 LPN 2 ZJN UEP1 IF NO UEM LDD CM UEP1 STD T0 LDM CBUF+5*ECSW+2 SET RAE SHN 14 ADM CBUF+5*ECSW+3 UEPA SHN 0 * SHN UESC (CONVERT TO 1000B-WORD BLOCKS) ADD T0 SHN 17 STM CBUF+5*4 SHN -6 SCN 77 STM CBUF+5*4+1 LDM CBUF+5*ECSW+4 SET FLE UEPB SHN 17 * SHN 17+UESC (ALLOW FOR USER EM SHIFT) STM CBUF+5*5 SHN -6 SCN 77 STM CBUF+5*5+1 UEPC UJN UEP3 CONTINUE (STANDARD ADDRESSING) * PSN (IF EXPANDED ADDRESSING MODE) LDM CBUF+5*4 RESET RAE SHN 14 STM CBUF+5*4 SCN 77 ADM CBUF+5*4+1 SHN -6 STM CBUF+5*4+1 LDM CBUF+5*5 RESET FLE SHN 14 STM CBUF+5*5 SCN 77 ADM CBUF+5*5+1 SHN -6 STM CBUF+5*5+1 UEP3 LDD CP STORE MA IN EXCHANGE PACKAGE STM CBUF+5*6+1 STM CBUF+5*7+1 STORE EA IN EXCHANGE PACKAGE SHN -14 STM CBUF+5*6 STM CBUF+5*7 LJM UEPX RETURN SPACE 4,10 * COMMON DECKS. EOR$ EQU 0 SET TO POSITION AFTER EOR,S ON READ MSR$ EQU 0 SET FOR PROCESSSING MASS STORAGE ERRORS LIST X *CALL COMPDDT LIST * EJT$ EQU 1 ASSEMBLE EJT ADDRESSING (COMPGFP) IFP$ EQU 1 ASSEMBLE REMOTE INITIALIZATION (COMPGFP) *CALL COMPGFP *CALL COMPRNS USE OVERLAY SPACE 4,10 ** BUFFER ASIGNMENTS. SBUF EQU *+2 SYSTEM SECTOR CBUF EQU SBUF+502 FIRST PART OF CONTROL POINT AREA EJBF EQU CBUF+502 EJT ENTRY EBUF EQU EJBF+5*EJTE E1RI EQU EBUF+5 OVERLAYS ORIGIN TITLE PRESET. PRS SPACE 4,25 ** PRS - PRESET. * * EXIT (T5) = ROLLOUT/DM* FILE EQUIPMENT. * (T6) = ROLLOUT/DM* FILE FIRST TRACK. * (T7) = 0. * (DI) = *UJNI*+2. * (PR) = 0 IF PSEUDO-ROLLIN. * (TW) = 2. * (ZR - ZR+4) = 0. * (EO) = EJT ORDINAL (NON-DMP= CALL). * (EJBF - EJBF+5*EJTE-1) = EJT ENTRY (NON-DMP= CALL). * (EF) = ERROR FLAG FROM EJT (NON-DMP= CALL) / CPA * (DMP= CALL). * (EP) = SPECIAL ENTRY POINT FLAGS. * (FA) = DM* FILE FNT ADDRESS/OFFSET (DMP= CALL). * * USES T1, T5 - T7, CM - CM+4, CN - CN+4, FS - FS+4, EO, DI, * EF, EP, FA, ZR - ZR+4. * * CALLS IFP, SIC, 3RG, 3RH. * * MACROS CFI, DELAY, EXECUTE, ISTORE, NFA, SFA, SIC. PRS SUBR ENTRY/EXIT RJM IFP INITIALIZE ROUTINE *CEA* OF *COMPGFP* LDC UJNI+2 STD DI LDN 2 SET CONSTANT 2 STD TW LDN ZERL CLEAR CM ZERO WORD CRD ZR LDD CP ADK TFSW GET EJT ORDINAL CRD CM ADK SEPW-TFSW CRD CN ADK TSCW-SEPW SAVE *TSCW* CRM RCPF,ON LDN EJTE STD T1 LDD CM SAVE EJT ORDINAL STD EO SFA EJT,EO READ EJT ENTRY CRM EJBF,T1 LDM EJBF+5*JSNE+4 SET PSEUDO-ROLLIN FLAG LPN 76 LMK PCJS*2 STD PR NJN PRS0.1 IF NOT PSEUDO-ROLLIN LDK NCPL GET NUMBER OF CONTROL POINTS CRD T1 ADK PCPP-NCPL GET PCP AREA POINTER CRD CM LDM EJBF+5*SCHE+1 PCP NUMBER SBD T1+1 SBN 2 SHN 7 PCP AREA OFFSET RAD CM+4 SET PCP ADDRESS SHN -14 RAD CM+3 LDC TSIC SET INSTRUCTION RELOCATION TABLE ADDRESS RJM SIC RELOCATE INSTRUCTIONS PRS0.1 LDM EJBF+5*PRFE+1 SAVE ERROR FLAG STD EF LDK MEFL CRD CM LDD CM+2 GET USER EM SHIFT COUNT (UESC) SHN -11 RAM JECC STM UEPA ADN 17 STM UEPB LDD CM+2 SHN 21-7 PJN PRS1 IF STANDARD ADDRESSING MODE LDN PSNI STM UEPC ENABLE EXPANDED ADDRESSING MODE PRS1 LDD CN SAVE SPECIAL ENTRY POINT FLAGS STD EP LDN ACPL CHECK DUAL CPU AVAILABILITY CRD CM ADN 1 CRD FS LDD CM LMD FS SHN 6 MJN PRS1.1 IF ONLY ONE CPU AVAILABLE ISTORE PCSA,(UJN PCSX) SET TO PRESERVE CPU SELECTION PRS1.1 LDD IR+2 ZJN PRS2 IF NOT *DMP=* CALL AOM CJSA SET *DMP=* FLAG LDD IR+4 SAVE DM* FILE FNT ADDRESS/OFFSET STD FA NFA FA,R READ DM* FILE FST ENTRY ADN FSTL CRM EJBF+5*SCHE,ON ISTORE SYSA,(NJN SYSX) SET DM* FILE TEST LJM PRS4 CONTINUE PRS2 LDD CP CRM CJSC,ON READ *SIJS* PARAMETERS LDM EJBF+5*JSNE+4 SAVE CONNECTION STATUS LPC 3600 RAM CJSD LDD PR NJP PRS3 IF NOT PSEUDO-ROLLIN ISTORE RIJG,(UJN RIJ1) LDC TCP STM CPAI*2+SEQ+1 ISTORE TOPI*2+SEQ,(UJN RIJ2.1) LDC RPC STM CJSB ISTORE RIJJ,(UJN RIJ3) LJM PRSX EXIT PRS3 LDM EJBF+5*SCLE LPN 17 LMN TXOT NJN PRS4 IF NON-INTERACTIVE JOB EXECUTE 3RH LOAD INTERACTIVE JOB PROCESSING OVERLAY LDM EJBF+5*JSNE+4 CHECK CONNECTION STATUS SHN 0-7 LPN 17 LMN OLCS ZJN PRS6 IF ON-LINE INTERACTIVE JOB LDD DI UJN PRS5 DISABLE ON-LINE INTERACTIVE ROUTINES PRS4 LDD DI DISABLE ON-LINE INTERACTIVE ROUTINES STM TOPI*2+SEQ PRS5 STM RIJC STM RIJB STM RIJE LDD IR+2 NJN PRS7 IF *DMP=* CALL PRS6 LJM PRS8 SET MASS STORAGE ADDRESS PRS7 EXECUTE 3RG LDC /3RG/RBFF CHANGE BUFFER ADDRESS STM CPAA LDC ** ORG *-1 LOC DRFB UJN DRF2 LOC *O STM DRFB LDC /3RG/RCP STM RIJD LDD DI DISABLE RA/FL ADJUSTMENT STM RIJA LDN PSNI AVOID INCLUDING NFL INCREASE ON ROLLIN STM JFLC LDD CP ADN STSW CRD CM LDD CM+1 SAVE ERROR FLAG STD EF LDD CN+2 SHN 21-13 MJN PRS8 IF RESTART CALL AOM JFLB SET DMP= FLAG * SET ROLLOUT/DM* FILE MASS STORAGE ADDRESS. PRS8 LDN 0 CLEAR ROLLOUT FILE SECTOR STD T7 LDM EJBF+5*SCHE+1 SET ROLLOUT FILE FIRST TRACK STD T6 LDM EJBF+5*SCHE SET ROLLOUT FILE EQUIPMENT STD T5 SFA EST READ EST ENTRY ADK EQDE CRD CM LDD CM+4 READ WORD *DILL* OF MST ENTRY SHN 3 ADN DILL CRD CM LDD CM+3 SHN 21-13 PJN PRS12 IF NOT A BUFFERED DEVICE SHN 13-21-6 CHECK FOR UEM LPN 7 LMN 4 ZJN PRS9 IF UEM LDD CM+3 LPN 7 ZJN PRS10 IF NO DDP PATH PRS9 LDK SSTL CRD CN LDD CN+3 SHN 21-11 PJN PRS12 IF DDP PATH ENABLED PRS10 LDN RIDL-1 MOVE *RID* TO *RIM* STD T1 INITIALIZE INDEX PRS11 LDM RIDA,T1 STM RIMX,T1 SOD T1 DECREMENT INDEX PJN PRS11 IF MOVE INCOMPLETE LDD CM+3 SHN 21-12 MJN PRS12 IF BUFFERED DEVICE LDC RJMI ENABLE *ENDMS* IN *JFL* STM JFLA PRS12 LDD CP PRESET ALTERNATE RESPONSE ADDRESS STM JECB+4 LDN SSTL SET MEMORY CLEARING STATUS CRD CM LDD CM SHN 0-12 LPN 1 ADC LDNI STM AFLA STM CSMC LJM PRSX RETURN RID SPACE 4,15 ** RID - ROLLIN USING DIRECT TRANSFER TO CM. * * ENTRY (A) = LWA TO ROLLIN. * (CI) = FWA TO ROLLIN. * (T4) = CHANNEL. * (T5) = EQUIPMENT. * (T6) = CURRENT TRACK. * (T7) = CURRENT SECTOR. * * EXIT TO *MSR* IF MASS STORAGE ERROR * * USES CM - CM+4. * * CALLS DDT. RIDA EQU * LOC RIMX RID SUBR ENTRY/EXIT STD CM SBD FL MJN RID1 IF LWA .LT. FL LDD FL SET LWA .EQ. FL STD CM RID1 LDD CI SET RELATIVE CM ADDRESS SHN 6 STD CM+4 SHN -14 STD CM+3 LDD CM SET SECTOR COUNT SBD CI LMC /CPS/RDDS*10000 SET READ FUNCTION RJM DDT READ DIRECT TO CM PJN RIDX IF NO READ ERRORS RJM MSR PROCESS ERROR - NO RETURN RJM HNG HANG PP LOC *O RIDL EQU *-RIDA LENGTH OF *RID* ERRNG RIML-RIDL ROUTINE *RID* OVERFLOWS *RIM* SPACE 4,10 ** PRESET COMMON DECKS. *CALL COMPSIC SPACE 4,10 IFP HERE TSIC SPACE 4,10 ** INSTRUCTION RELOCATION TABLE AND ASSOCIATED DATA. PCAD EQU CM+3 PCP ADDRESS TSIC BSS 0 INSTRUCTION RELOCATION TABLE LIST D SIC HERE LIST * CON 0 TERMINATE ENTRIES SPACE 4,10 * CHECK FOR OVERFLOW. OVERFLOW PPFW,EPFW TTL 1RI/3RJ - PROCESS DELAYED *ALTER* FUNCTIONS. TITLE QUAL 3RJ IDENT 3RJ,E1RI PROCESS DELAYED *ALTER* FUNCTIONS. BASE M SST *COMMENT 1RI - PROCESS DELAYED *ALTER* FUNCTIONS. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992. ORG E1RI 3RJ SPACE 4,15 ** PGA - PROCESS DELAYED *ALTER* FUNCTIONS. * * ENTRY (ZR - ZR+4) = 0. * * USES T4 - T7, CM - CM+4, CN - CN+4. * * CALLS CHG, DFM. * * MACROS MONITOR. PGA SUBR ENTRY/EXIT LDM SBUF+QBSS STD T7 LDN 5 STD T4 LCN 0 INITIALIZE FUNCTION INDEX STD T5 PGA1 AOD T5 INCREMENT FUNCTION INDEX LDD T7 ZJN PGAX IF ALL FUNCTIONS WERE PROCESSED SHN 21-0 STD T7 PJN PGA1 IF FUNCTION NOT SELECTED LDM TGAP,T5 SET PROCESSOR ADDRESS NJN PGA2 IF PROCESSOR EXISTS FOR FUNCTION RJM CHG CONDITIONAL HANG UJN PGA1 PROCESS NEXT FUNCTION PGA2 STD T6 LJM 0,T6 ENTER FUNCTION PROCESSOR * DAYFILE MESSAGE PROCESSOR. PGA3 LDC SBUF+QBSS+1*5 ISSUE MESSAGE RJM DFM PGA4 UJN PGA1 CONTINUE * *JSN,CFO* PROCESSOR. PGA5 LDD FL ZJN PGA4 IF NO CM FL ASSIGNED LDD RA SHN 6 CRD CN LDD CN+3 LPN 4 ZJN PGA4 IF JOB IS NOT READY FOR DATA LDC SBUF+QBSS+1*5 ISSUE MESSAGE RJM DFM LDD MA REMOVE PREFIX CWM SBUF+QBSS+1*5+3,T4 SBD T4 CRM SBUF+QBSS+1*5,T4 LDN 0 STM SBUF+QBSS+5*5+2 STM SBUF+QBSS+5*5+3 STM SBUF+QBSS+5*5+4 LDD RA MOVE DATA TO JOB CM FL SHN 6 ADN 70 CWM SBUF+QBSS+1*5,T4 LDD CN+3 CLEAR CFO AND PAUSE FLAGS IN RA+0 SCN 5 STD CN+3 LDD RA SHN 6 CWD CN PGA6 UJP PGA4 CONTINUE * *JSN,GO* PROCESSOR. PGA7 LDC =C* GO.* SET DAYFILE MESSAGE ADDRESS STM PGAA LDN 0 UJN PGA9 CAUSE PAUSE FLAG NOT TO BE SET * *JSN,PAUSE* PROCESSOR. PGA8 LDN 1 CAUSE PAUSE FLAG TO BE SET PGA9 STD T6 LDC =C* PAUSE.* ISSUE DAYFILE MESSAGE * LDC =C* GO.* (PROCESSING *JSN,GO*) PGAA EQU *-1 RJM DFM LDD CP CLEAR NOGO AND/OR PAUSE FLAG ADN SNSW CRD CM LDD CM+3 SCN 3 LMD T6 STD CM+3 LDD CP ADN SNSW CWD CM ADN MS2W-SNSW CLEAR MESSAGE AT *MS2W* CWD ZR LDD FL ZJN PGA10 IF NO CM FL ASSIGNED LDD RA SET/CLEAR *PAUSE* FLAG IN RA+0 SHN 6 CRD CM LDD CM+3 SCN 3 LMD T6 STD CM+3 LDD RA SHN 6 CWD CM PGA10 LJM PGA1 CONTINUE * *JSN,ONSW* PROCESSOR. PGA11 LDM SBUF+QBSS+2 SHN 6 UJN PGA13 CONTINUE * *JSN,OFFSW* PROCESSOR. PGA12 LDN 0 BUILD SETTING MASK PGA13 STD T6 LCN 0 BUILD CLEARING MASK LMM SBUF+QBSS+2 SHN 6 STM PGAC LDD CP READ SENSE SWITCH WORD ADK SNSW CRD CN LDD CN+4 SET/CLEAR SENSE SWITCHES LPC ** PGAC EQU *-1 LMD T6 STD CN+4 LDD CP ADN SNSW CWD CN LDD FL ZJN PGA14 IF NO CM FL ASSIGNED LDD RA SET/CLEAR SWITCH IN RA+0 SHN 6 CRD CM LDD CM+4 LMD CN+4 LPN 77 LMD CN+4 STD CM+4 LDD RA SHN 6 CWD CM PGA14 LJM PGA1 CONTINUE TGAP SPACE 4,10 ** TGAP - TABLE OF DELAYED *ALTER* FUNCTION PROCESSORS. * * EACH ENTRY CONTAINS THE ADDRESS OF THE PROCESSOR ASSOCIATED * WITH THE FUNCTION. TGAP INDEX INDEX SSSF,PGA11 SET SENSE SWITCHES INDEX CSSF,PGA12 CLEAR SENSE SWITCHES INDEX GOSF,PGA7 PROCESS *GO* COMMAND INDEX DYSF,PGA3 PROCESS *COMMENT* COMMAND INDEX CFSF,PGA5 PROCESS *CFO* COMMAND INDEX EMSF,PGA3 ISSUE ERROR MESSAGE INDEX PASF,PGA8 PROCESS *PAUSE* COMMAND INDEX 14 SPACE 4,10 * CHECK FOR OVERFLOW. OVERFLOW E1RI,EPFW TTL 1RI/3RI - PROCESS SERVICE CLASS CHANGE. TITLE QUAL 3RI IDENT 3RI,E1RI PROCESS SERVICE CLASS CHANGE. BASE M SST *COMMENT 1RI - PROCESS SERVICE CLASS CHANGE. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992. ORG E1RI QUAL$ SET 1 3RI SPACE 4,10 ** PSC - PROCESS SERVICE CLASS CHANGE. * * ENTRY (CN) = NEW SERVICE CLASS. * * CALLS CSC. PSC SUBR ENTRY/EXIT LDD CN RJM CSC CHANGE SERVICE CLASS UJN PSCX RETURN SPACE 4,10 * COMMON DECKS. VCPT EQU /REM/VCPT VCHT EQU /REM/VCHT CPRS EQU /CPS/CPRS ABSR EQU /CPS/ABSR ABCP EQU /CPS/ABCP ABMS EQU /CPS/ABMS ABMT EQU /CPS/ABMT ABPF EQU /CPS/ABPF ABAD EQU /CPS/ABAD ABNA EQU /CPS/ABNA ABCS EQU /CPS/ABCS ABCF EQU /CPS/ABCF ABVF EQU /CPS/ABVF ABNB EQU /CPS/ABNB ABMP EQU /CPS/ABMP ABAC EQU /CPS/ABAC ABOF EQU /CPS/ABOF SSIS EQU /CPS/SSIS SET SUBSYSTEM IDENTIFICATION FIELD AST$ SET 1 ASSEMBLE SSCT/SSAT UPDATE FUNCTIONS *CALL COMPAST *CALL COMPCSC *CALL COMPRJC *CALL COMPSTA SPACE 4,10 * CHECK FOR OVERFLOW. OVERFLOW E1RI,EPFW SPACE 4,10 QUAL TTL 1RI/3RH - PROCESS ON-LINE INTERACTIVE JOBS. TITLE MAIN ROUTINES. QUAL 3RH IDENT 3RH,PRHX *COMMENT 1RI - PROCESS INTERACTIVE JOBS. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992. SPACE 4,10 ** 3RH - PROCESS ON-LINE INTERACTIVE JOBS. SPACE 4,10 ORG E1RI PRH SUBR ENTRY/EXIT UJN PRHX RETURN EDA SPACE 4,10 ** EDA - ENTER JOB COMMAND. * * EXIT JOB INITIATION COMMAND MOVED TO THE COMMAND BUFFER. * *1MI* TERMINAL I/O DRIVER IS INHIBITED FROM * RECIEVING INPUT AHEAD ON COMPLETION OF ROLLIN * IF USER BREAK AND EXTENDED REPRIEVE PROCESSING * ARE CURRENT. *1AJ* WILL REISSUE THE INPUT REQUEST * SUBSEQUENT TO ERROR FLAG PROCESSING. * * USES PP, T1, CM - CM+4, CN - CN+4. * * CALLS EJP, RRR, SRR. * * MACROS DELAY, MONITOR, PAUSE. EDA SUBR ENTRY/EXIT RJM SRR SET R-REGISTER TO IAF RA LDD TT SHN 14 LMD TT+1 ADN /REM/VROT CRD CN RJM RRR RESTORE R-REGISTER LDD CN+1 SET COMMAND POT MEMORY POINTER STD PP LDD CN+4 CLEAR JOB CONTINUATION SCN 4 STD CN+4 * ENTER COMMAND AND PARAMETERS. LDC ** EDAA EQU *-1 (ZERO IF JOB STEP INITIATION) ZJN EDA2 IF JOB STEP INITIATION * INHIBIT *1MI* TERMINAL I/O DRIVER INPUT AHEAD PROCESSING * ON USER BREAK AND EXTENDED REPRIEVE PROCESSING. LDD EF OUTSTANDING ERROR FLAG LMN TIET ZJN EDA1 IF USER BREAK ONE LMN TIET&TAET NJP EDA4 IF NOT USER BREAK TWO EDA1 LDM CBUF+EECW*5 SHN 21-12 MJN EDA3 IF EXTENDED REPRIEVE PROCESSING LJM EDA4 COMPLETE *EDA* PROCESS * SET COMMAND BUFFER. EDA2 RJM EJP ENTER JOB PARAMETERS * RELEASE COMMAND POT MEMORY AND COMPLETE. EDA3 LDN 0 CLEAR POT MEMORY POINTER STD CN+1 LDD PP COMMAND POT POINTER ZJP EDA4 IF NO COMMAND LDN ZERL DROP POT MEMORY CRD CM LDC /REM/VDPO DROP POT MEMORY REQUEST STD CM LDD PP STD CM+3 SET TO DROP ENTIRE POT CHAIN LDD TN TERMINAL CONNECTION NUMBER TO REQUEST STD CM+4 LDD MA CWD CM EDA3.1 LDK ZERL CRD CM MONITOR TSEM LDD CM+1 ZJN EDA4 IF *IAF* INACCESSIBLE OR ERROR LMC 7777 NJN EDA4 IF REQUEST COMPLETE PAUSE ST LDC 3600 *TSEM* QUEUE FULL - DELAY AND RETRY STD T1 EDA3.2 DELAY SOD T1 ZJN EDA3.1 IF TIME TO REISSUE REQUEST UJN EDA3.2 CONTINUE TO DELAY * COMPLETE *EDA* PROCESS. EDA4 RJM SRR SET R-REGISTER TO IAF RA LDD TT TERMINAL TABLE ADDRESS SHN 14 LMD TT+1 ADN /REM/VROT CWD CN REWRITE *VROT* RJM RRR RESTORE R-REGISTER UJP EDAX RETURN TOP SPACE 4,10 ** TOP - SKIP TERMINAL OUTPUT. * * CALLS RNS. TOP SUBR LDM SBUF+EJRO+JSNE*5+4 SHN -7 LPN 17 LMK NICS ZJN TOPX IF NOT INTERACTIVE STATUS AT ROLLOUT TOP1 LDC BFMS+DTSF RS2. RJM RNS SHN -6 NJN TOP1 IF NOT EOR STM RNS CLEAR *RNS* SO *3RF* WILL NOT BE CONFUSED UJN TOPX RETURN TITLE SUBROUTINES. EJP SPACE 4,10 ** EJP - ENTER JOB PARAMETERS. * * ENTRY (PP) = POT POINTER OF TERMINAL COMMAND. * * USES T1, T2, T7, T8, CM - CM+4, PP. * * CALLS RRR, SPA, SRR, TCL, UPP. * * MACROS MONITOR, NFA. EJP SUBR LDN 0 STM CBUF+CSPW*5+2 CLEAR COMMAND COUNT LDM CBUF+SRUW*5 CLEAR TIME AND SRU LIMITS LPC 301 STM CBUF+SRUW*5 LDC 4000 SET EOR ON INPUT STM CBUF+CSPW*5+1 LDD CP READ *CCL* DATA ADC JCDW CRD CM STD T8 SAVE ADDRESS OF *JCDW* LDD CM+2 CLEAR PROCEDURE NESTING LEVEL LPC 6000 STD CM+2 LDD T8 CWD CM LDM CBUF+TXSW*5 SET SUBSYSTEM LPN 77 SHN 14 EJPA LMN 0 * LMN XX (SUBSYSTEM CODE) SHN 6 STM CBUF+TXSW*5 LDC ** CHECK FOR PREPROCESSOR EJPB EQU *-1 (PREPROCESSOR COMMAND WORD COUNT) STD T1 ZJN EJP1 IF NO COMMAND TO TRANSFER NFA CSBN CWM EJPC,T1 TRANSFER PREPROCESSOR COMMAND EJP1 LDD PP NJN EJP2 IF DATA TO TRANSFER STD T1 LJM EJP5 NO DATA TO TRANSFER, CONTINUE EJP2 LDN /REM/VCPC READ COMMAND BUFFER STD T1 RJM SRR SET R-REGISTER TO IAF RA RJM SPA CRM CLBF,T1 RJM RRR RESTORE R-REGISTER NFA CSBN ADM EJPB CWM CLBF,T1 LDC CLBF+/REM/VCPC*5-5 FIND COMMAND LENGTH STD T2 EJP3 LDI T2 NJN EJP4 IF LAST WORD FOUND LCN 5 RAD T2 SOD T1 NJN EJP3 IF NOT AT MAXIMUM EJP4 LDM 4,T2 ZJN EJP5 IF TERMINATOR WORD AOD T1 EJP5 LDC CSBN SET FWA OF COMMAND BUFFER STM CBUF+CSPW*5+3 SBD T1 SET LWA+1 SBM EJPB STM CBUF+CSPW*5+4 * IF A PROCEDURE FILE EXISTS, DROP TRACKS. LDM CBUF+CSSW*5 SHN 21-13 MJN EJP6 IF NO PROCEDURE FILE LDM CBUF+CSSW*5+1 ZJN EJP6 IF NO TRACK STD CM+2 LDM CBUF+CSSW*5 LPC 777 LMD TH SET RETURN-ON-INACCESSIBLE BIT STD CM+1 SET EQUIPMENT MONITOR DTKM LDD CM+1 ZJN EJP5.1 IF DEVICE ACCESSIBLE LDK ZERL IGNORE PRU COUNT CRD CM UJN EJP6 CONTINUE EJP5.1 LDD CM+3 SAVE PRU COUNT STM RCPE+3 LDD CM+4 STM RCPE+4 EJP6 LDN ZERL CRD CM CRM CBUF+CSSW*5,ON LDD FL ZJN EJP8 IF NO FL ADD RA PRESET WORD COUNT = 0 FOR *CLB=* SBN 1 SHN 6 CWD CM * CHECK FOR CHAINED POT WHICH IMPLIES *IEDIT* COMMAND LINE. * TO BE TRANSFERRED TO FL-100B. LDD PP ZJN EJP8 IF NO COMMAND POT POINTER STD T7 RJM SRR SET R-REGISTER TO IAF RA RJM UPP CHECK FOR CHAIN RJM RRR RESTORE R-REGISTER LDD PP ZJN EJP7 IF NO MORE POTS RJM TCL TRANSFER COMMAND LINE EJP7 LDD T7 STD PP EJP8 LJM EJPX RETURN EJPC VFD 60/0 VFD 60/0 TCL SPACE 4,10 ** TCL - TRANSFER COMMAND LINE. * * ENTRY (PP) = POT POINTER OF COMMAND LINE. * * USES T1 - T5, CM - CM+4. * * CALLS RRR, SPA, SRR, UPP. TCL SUBR ENTRY/EXIT LDD FL ADD RA SET ADDRESS OF FL-100 SBN 1 SHN 6 ADN 1 STD T5 SHN -14 STD T4 LDN 0 STD T3 INITIALIZE WORD COUNT LDN /REM/VCPC STD T2 TCL1 RJM SRR SET R-REGISTER TO IAF RA RJM SPA SET POT ADDRESS CRM CLBF,T2 READ ONE POT RJM UPP RJM RRR RESTORE R-REGISTER LDD PP ZJN TCL2 IF NO MORE POTS LDN /REM/VCPC INCREMENT WORD COUNT RAD T3 SBN 76 PJN TCL2 IF OVERFLOW, TRUNCATE LDD T4 SHN 14 ADD T5 CWM CLBF,T2 STD T5 SHN -14 STD T4 UJN TCL1 CONTINUE PROCESSING TCL2 LDN 1 SET LAST POT WORD COUNT STD T2 LDC CLBF+4 SET BUFFER POINTER STD T1 TCL3 LDI T1 ZJN TCL4 IF EOL IN BUFFER LDD T2 CHECK WORD COUNT SBN /REM/VCPC ZJN TCL4 IF END OF BUFFER AOD T2 LDN 5 RAD T1 UJN TCL3 CHECK NEXT WORD TCL4 LDN ZERL CLEAR CM - CM+4 CRD CM LDD T2 SET COMPOSITE WORD COUNT ADD T3 STD CM+4 LDD T4 WRITE LAST POT SHN 14 ADD T5 CWM CLBF,T2 SBD CM+4 WRITE WORD COUNT SBN 1 CWD CM LJM TCLX EXIT SPACE 4,10 * COMMON DECKS. QUAL PIR$ EQU 1 SELECT ASSEMBLY OF *PIR* FOR IAF R-REG QUAL * *CALL COMPSRR *CALL COMPSPA *CALL COMPUPP SPACE 4,10 CLBF EQU * COMMAND LINE BUFFER ERRNG BFMS-* TITLE INITIALIZATION. PRS SPACE 4,15 ** PRS - PRESET. * * ENTRY (DI) = *UJNI*+2. * (EF) = ERROR FLAG FROM EJT ENTRY. * * EXIT (TT - TT+1) = TERMINAL TABLE ADDRESS. * (EF) = 7777 IF *IAF* INACCESSIBLE. * * USES EF, EP, TN, CM - CM+4, CN - CN+4, FS - FS+4, T1 - T7. * * CALLS AST, CHG, PIR, RRR, SRR, STA. * * MACROS MONITOR. PRS SUBR ENTRY/EXIT * CHECK ACCESSIBILITY OF *IAF*. LDC IFSI+FECF*10000 RJM AST GET SSCT ENTRY SHN 21-13 MJN PRS1 IF *IAF* ACCESSIBLE PRS0 LDD DI DISABLE ON-LINE INTERACTIVE PROCESSING STM RIJC STM RIJE LDD EF NJN PRSX IF ERROR FLAG IS SET LDK 10*/CPS/ROSU SET ROLLOUT FLAG TO SUSPEND JOB RAM RCPD LCN 0 DISABLE PP AND CPU RESTART STD EF UJN PRSX RETURN * SET TERMINAL TABLE ADDRESS. PRS1 RJM PIR PRESET WITH IAF R-REGISTER LDM CBUF+5*TTNW+1 SET CONNECTION NUMBER STD TN RJM SRR SET R-REGISTER TO IAF RA RJM STA SET TERMINAL TABLE ADDRESS ADN /REM/VFNT CRD T3 ADN /REM/VROT-/REM/VFNT CRD CN ADN /REM/VSTT-/REM/VROT CRD FS RJM RRR RESTORE R-REGISTER LDD CN+4 MAKE SURE *VROT* BIT ZERO IS NOT SET LPN 1 ZJN PRS1.1 IF INTERLOCK IS CLEAR LDK SWET SET ERROR FLAG STD EF RJM CHG CONDITIONAL HANG LJM PRS0 DISABLE INTERACTIVE PROCESSING PRS1.1 LDD T3+3 TERMINATE PRIMARY FILE NAME SCN 77 STD T3+3 LDD CN+4 LPN 4 STM EDAA ZJN PRS3 IF NOT CONTINUATION PRS2 LJM PRSX RETURN PRS3 LDD EP SIMULATE *SSM=* ON NEW STEP SCN 1 LMN 1 STD EP LDD CP SET JOB STEP INITIATION ADC DBAW CRD CM LDD CM LPC 2777 LMC 1000 STD CM LDD CP ADC DBAW CWD CM LDC LDNI+0 STM RCPB LDC 7677 MASK TO CLEAR SLICE FLAG STM RCPG LDD FS+3 SET SUBSYSTEM CODE LPN 77 RAM EJPA LDD CN CHECK FOR PREPROCESSOR INDEX LPN 77 ZJP PRS2 IF NO PREPROCESSOR INDEX PRESENT STD T1 LDD CN CLEAR PREPROCESSOR INDEX SCN 77 STD CN RJM SRR SET R-REGISTER TO IAF RA LDD TT SHN 14 LMD TT+1 ADN /REM/VROT CWD CN RJM RRR RESTORE R-REGISTER LDD T1 SBN TPPIL+1 MJN PRS4 IF VALID PREPROCESSOR INDEX LDN 0 SET NO ERROR FLAG RJM CHG CONDITIONAL HANG LJM PRSX RETURN PRS4 LDM TPPI-1,T1 SHN 6 STD CM SAVE FILE FLAG SHN -14 STD T2 LDN 0 PRESET TRANSFERRED BYTE COUNT STD T1 PRS5 AOD T2 AOD T1 LDM TPPS-1,T2 TRANSFER PREPROCESSOR COMMAND STM EJPC-1,T1 NJN PRS5 IF TRANSFER NOT COMPLETE LDD CM ZJN PRS9 IF NO FILE NAME REQUIRED * MOVE FILE NAME. LDN T3 SET FILE NAME ADDRESS STD T2 PRS6 LDI T2 MOVE BYTE STM EJPC-1,T1 ZJN PRS7 IF NO CHARACTERS IN BYTE LPN 77 ZJN PRS8 IF ONE CHARACTER IN BYTE AOD T1 AOD T2 UJN PRS6 CONTINUE TRANSFER PRS7 LDC 2R.. PRS8 LMN 1R. RAM EJPC-1,T1 STORE TERMINATOR * CALCULATE CM WORD COUNT. PRS9 AOM EJPB INCREMENT CM WORD COUNT LCN 5 DIVIDE BY 5 RAD T1 PJN PRS9 IF DIVISION NOT COMPLETE LJM PRSX RETURN TPPI SPACE 4,10 ** TPPI - TABLE OF PREPROCESSOR INDICES. * * 6/ INDEX,6/ FLAG * INDEX OFFSET INTO *TPPS* TABLE OF FIRST BYTE OF * PREPROCESSOR COMMAND. * FLAG 1 IF PRIMARY FILE NAME IS REQUIRED. * 0 OTHERWISE. TPPI VFD 6/PP1-TPPS,6/1 VFD 6/PP2-TPPS,6/1 TPPIL EQU *-TPPI TPPS SPACE 4,10 ** TPPS - TABLE OF PREPROCESSOR COMMANDS. * * THESE ENTRIES MUST BE BLANK PADDED TO GUARANTEE AN EVEN * NUMBER OF CHARACTERS IN EACH COMMAND. IF NO PRIMARY FILE * IS REQUIRED, THE COMMAND TERMINATOR MUST APPEAR IN THE * ENTRY. THE TOTAL LENGTH OF A PREPROCESSOR COMMAND MUST * NOT EXCEED SPACE RESERVED AT *EJPC*. TPPS BSS 0 PP1 DATA C*$SORT,* CON 0 PP2 DATA C*$PACK,* CON 0 SPACE 4,10 * COMMON DECKS. *CALL COMPAST *CALL COMPSTA SPACE 4,10 * CHECK FOR OVERFLOW. USE OVERFLOW E3RH EQU * LWA+1 OF *3RH* OVERLAY SPACE 4,10 OVERFLOW E1RI,EPFW TTL 1RI/3RG - PROCESS DMP= JOBS. TITLE QUAL 3RG IDENT 3RG,PRGX *COMMENT 1RI - PROCESS SPECIAL ENTRY POINT JOBS. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992. SPACE 4,10 ** 3RG - PROCESS DMP= JOBS. ORG E1RI PRG SUBR ENTRY/EXIT UJN PRGX RETURN RCP SPACE 4,10 ** RCP - RESTORE CONTROL POINT AREA. * * USES T1, T3, CM - CM+4, CN - CN+4. * * CALLS PCS, UCA, UEP. * * MACROS MONITOR, NFA, SFA. RCP SUBR ENTRY/EXIT RJM UEP UPDATE EXCHANGE PACKAGE RJM PCS PROCESS CPU SELECTION LDN DMPL-1 STORE EXCHANGE PACKAGE ERRNZ DMPL-21 ADJUST CODE IF VALUE CHANGES STD T1 LDD CP CWM CBUF,T1 * UPDATE CONTROL AREAS. LDM CBUF+STSW*5+4 SAVE ACTIVITY COUNT SHN -4 LPN 17 STM ERSF LDM CBUF+STSW*5+2 SAVE CPU STATUS STM RCPA LDD CP ADN STSW CRM CBUF+STSW*5,ON ADN SEPW-STSW-1 CRD CM READ SPECIAL FLAG WORD LDN 1 RESET PP QUEUE POINTER STM CBUF+STSW*5+4 LDD CM+2 STD T3 LDD CP ADN STSW RESTORE *STSW* CWM CBUF+STSW*5,ON ADN SPCW-STSW-1 CRD CM LDD CM+1 SAVE CALL TYPE STM RCPB SHN 21-3 MJN RCP1 IF NO BLOCK TO MOVE LDD CM+3 LPN 37 ADD CM+4 ZJN RCP1 IF NO BLOCK TO MOVE LDD FL ZJN RCP1 IF NO FL * LDN DMPL-1 (T1) PREVIOUSLY SET UP CORRECTLY * STD T1 NFA DMPN+1 MOVE *DMP=* BLOCK CRM BFMS,T1 LDD CM+3 LPN 37 SHN 6 ADD RA SHN 6 ADD CM+4 CWM BFMS,T1 RCP1 LDD CP ADK RFCW CRD CM LDN 0 CLEAR DM* FILE POINTERS STD CM STD CM+1 LDD CP UPDATE *RFCW* ADK RFCW CWD CM ADK SSCW-RFCW RESTORE SCP CONNECTIONS CWM SBUF+SCPC,ON SFA EJT,EO ADK SCHE CRD CM LDD CM+2 LPC 7377 CLEAR *DMP=* ROLLOUT COMPLETE FLAG STD CM+2 SFA EJT,EO ADK SCHE CWD CM LDD T3 CHECK FOR RESTART SHN 21-13 MJN RCP2 IF RESTART NFA DMPN UPDATE *SPCW* CRD CN LDD CN+1 CLEAR *1RO* CALLED FLAG AND SSJ= FLAG SCN 3 STD CN+1 LDN 0 CLEAR REQUEST STD CN LDD CP ADC SPCW CWD CN LJM RCP8 PROCESS DMP= ROLLIN * PROCESS RESTART ROLLIN. RCP2 LDD CP CLEAR *SPCW* ADC SPCW CWD ZR LDC LDDI+FS STM ERSC LDM CBUF+TIAW*5 VALIDATE SUBSYSTEM SHN -6 SBN /REM/MSYS MJN RCP3 IF VALID SUBSYSTEM LDM CBUF+TIAW*5 CLEAR INCORRECT SUBSYSTEM LPN 77 STM CBUF+TIAW*5 RCP3 LDD CP VALIDATE FIELD LENGTH PARAMETERS ADN FLCW CRD CM ADN ELCW-FLCW CRD CN ADN SEPW-ELCW CLEAR SPECIAL ENTRY POINT WORD CWD ZR LDN 0 CLEAR LAST FILE EXECUTED STM RBUF+EOCW*5+0 LDD CM+2 SBM CBUF+FLCW*5 MJN RCP4 IF LAST MFL VALID LDD CM+2 SBM CBUF+FLCW*5+1 PJN RCP5 IF LAST CM RFL VALID RCP4 LDD CP RESET CURRENT CM FL PARAMETERS ADN FLCW CRM CBUF+FLCW*5,ON RCP5 LDD CN+2 SBM CBUF+ELCW*5 MJN RCP6 IF EXTENDED MEMORY MFL INCORRECT LDD CN+2 SBM CBUF+ELCW*5+1 PJN RCP7 IF LAST EXTENDED MEMORY RFL VALID RCP6 LDD CP RESET CURRENT ECS FL PARAMETERS ADN ELCW CRM CBUF+ELCW*5,ON RCP7 LDC TRCU UPDATE CONTROL POINT AREA RJM UCA UJN RCP9 CONTINUE * PROCESS DMP= ROLLIN. RCP8 LDC TDCU UPDATE CONTROL POINT AREA RJM UCA * RESTORE CPU PRIORITY IF JOB IS NOT A SUBSYSTEM. LDM EJBF+SCLE*5 SHN -6 LMN SSSC ZJN RCP9 IF JOB IS A SUBSYSTEM LDM CBUF+CWQW*5+1 SHN -11 LPN 1 ZJN RCP8.1 IF SET CPU PRIORITY TO SERVICE CLASS VALUE LDM CBUF+CWQW*5 GET PRE-ROLLOUT CPU PRIORITY LPC 1770 SHN -3 RCP8.1 STD CM+4 SET CPU PRIORITY LDN /CPS/CPRS SET CPU PRIORITY SUBFUNCTION STD CM+1 MONITOR SJCM RCP9 LDC ** RCPA EQU *-1 (CPU STATUS BYTE OF *STSW*) LPN 2 NJN RCP10 IF CPU ACTIVE LDC ** RCPB EQU *-1 (*SPCW* BYTE 1) LPN 4 LMN 4 RCP10 STM RIJF LDC * DISABLE *1AJ* CALL ORG *-1 LOC RIJI UJN RIJ7 LOC *O STM RIJI LJM RCPX RETURN UCA SPACE 4,10 ** UCA - UPDATE CONTROL POINT AREA. * * ENTRY (A) = *RESTOR* TABLE ADDRESS. * (CBUF - CBUF+500) = FIRST HALF OF CPA. * (RBUF - RBUF+500) = SECOND HALF OF CPA. * * EXIT CPA RESTORED. * * USES T1, T2, T3, BFMS - BFMS+500. UCA SUBR ENTRY/EXIT STM UCAA SET TABLE ADDRESS ADN 1 STM UCAB LDD CP PRESET CONTROL POINT AREA CRM BFMS,HN LDN 0 INITIALIZE TABLE OFFSET STD T1 UCA1 LDM *,T1 SET CPA WORD OFFSET * LDM (TABLE),T1 UCAA EQU *-1 NJN UCA2 IF NOT TERMINATOR LJM UCA6 PROCESS TABLE TERMINATOR UCA2 STD T2 SHN 21-13 MJN UCA4 IF ENTIRE CM WORD TO MOVE LDM *,T1 SET BYTE MASK * LDM (TABLE)+1,T1 UCAB EQU *-1 STM UCAE LMC 7777 STM UCAC LDM BFMS,T2 MASK OLD CPA BYTE LPC * * LPC -(MASK) UCAC EQU *-1 STD T3 LDM CBUF,T2 * LDM RBUF,T2 UCAD EQU *-1 LPC * * LPC (MASK) UCAE EQU *-1 LMD T3 STM BFMS,T2 LDN 2 INCREMENT TABLE OFFSET RAD T1 UCA3 UJN UCA1 LOOP UCA4 LDC -4000 MOVE ENTIRE CM WORD RAD T2 SET WORD OFFSET ADC CBUF * ADC RBUF (SECOND HALF OF CPA) UCAF EQU *-1 STM UCAH ADC BFMS-CBUF * ADC BFMS-RBUF (SECOND HALF OF CPA) UCAG EQU *-1 STM UCAI LDD MA CWM *,ON * CWM (CBUF+(T2)),ON (FIRST HALF OF CPA) * CWM (RBUF+(T2)),ON (SECOND HALF OF CPA) UCAH EQU *-1 SBN 1 CRM *,ON * CRM (BFMS+(T2)),ON UCAI EQU *-1 AOD T1 INCREMENT TABLE OFFSET UCA5 UJN UCA3 LOOP UCA6 LDN 0 CHECK CPA SEGMENT * LDN 1 (SECOND HALF OF CPA) UCAJ EQU *-1 NJN UCA7 IF SECOND HALF OF CPA PROCESSED AOM UCAJ SET SECOND HALF PROCESSED LDD CP REWRITE FIRST HALF OF CPA CWM BFMS,HN CRM BFMS,HN READ SECOND HALF OF CPA LDC RBUF STM UCAD STM UCAF LDC BFMS-RBUF STM UCAG AOD T1 INCREMENT TABLE OFFSET UJN UCA5 LOOP UCA7 LDD CP UPDATE SECOND HALF OF CPA ADD HN CWM BFMS,HN LDN LREC*2 RESTORE PP RECALL STACK STD T1 LDD CP ADC RECW CWM RBUF+RECW*5-100*5,T1 LJM UCAX EXIT TRCU SPACE 4,10 ** TRCU - TABLE OF RESTART CPA UPDATES. TRCU RESTOR ECSW,0,0007 RESTOR SNSW,0,2000 RESTOR SNSW,4,7700 RESTOR MS1W,* RESTOR MS1W+1,* RESTOR MS1W+2,* RESTOR MS1W+3,* RESTOR MS1W+4,* RESTOR MS2W,* RESTOR MS2W+1,* RESTOR MS2W+2,* RESTOR FLCW,0,* RESTOR FLCW,1,* RESTOR ELCW,0,* RESTOR ELCW,1,* RESTOR TIAW,0,7700 RESTOR TIAW,2,* RESTOR TIAW,3,* RESTOR TIAW,4,* RESTOR EECW,2,* RESTOR EECW,3,7737 RESTOR EECW,* RESTOR SEPW,0,0050 RESTOR JCDW,* RESTOR JCRW,* RESTOR DBAW,* RESTOR LB1W,* RESTOR LB2W,* RESTOR LB3W,* RESTOR EOCW,* RESTOR LOFW,0,* RESTOR LOFW,1,* RESTOR LOFW,2,* RESTOR TDCU SPACE 4,10 ** TDCU - TABLE OF DMP= CPA UPDATES. TDCU RESTOR SNSW,0,1000 RESTOR FLCW,* RESTOR ELCW,* RESTOR TIAW,2,* RESTOR TIAW,3,* RESTOR TIAW,4,* RESTOR PFCW,* RESTOR UIDW,* RESTOR EECW,* RESTOR ALMW,* RESTOR ACLW,* RESTOR AACW,* RESTOR SEPW,* RESTOR JCDW,* RESTOR JCRW,* RESTOR DBAW,* RESTOR LOFW,0,* RESTOR LOFW,1,* RESTOR LOFW,2,* RESTOR LB1W,* RESTOR SPACE 4,10 * BUFFERS. USE BUFFERS RBFF EQU * RBUF EQU RBFF+2 CONTROL POINT AREA BUFFER (2ND PART) BUFL EQU RBUF+500 BUFFER LENGTH SPACE 4,10 * CHECK FOR OVERFLOW. ERRNG BFMS-BUFL OVERFLOW INTO *BFMS* OVERFLOW E1RI,EPFW SPACE 4,10 QUAL * SPACE 4,10 TTL 1RI/3RF - PROCESS TERMINATION ERRORS. TITLE 1RI/3RF - PROCESS ERROR. QUAL 3RF IDENT 3RF,PREX *COMMENT 1RI - PROCESS ERROR. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992. SPACE 4,10 O3RF MAX /3RG/BUFL,/3RH/E3RH ORG O3RF+5 PRE SPACE 4,30 ** PRE - PROCESS ERROR. * * THIS ROUTINE IS CALLED WHENEVER AN ERROR OCCURS THAT MAY * PREVENT NORMAL COMPLETION OF THE ROLLIN. REFER TO ROUTINE * *MSR* IN THE RESIDENT OVERLAY FOR A DESCRIPTION OF THE * CIRCUMSTANCES LEADING TO A CALL OF *3RF*. * * ENTRY (CI) = SECTOR COUNT. * (DS) = DRIVER STATUS FROM CELL *RDCT*. * (EF) = ERROR FLAG FROM EJT. * (EO) = EJT ORDINAL. * (CN - CN+4) = MASS STORAGE PARAMETERS. * * EXIT THIS ROUTINE WILL RETURN TO *MSR* ONLY IF THE ROLLIN * CAN BE CONTINUED. EXIT CONDITIONS UPON RETURN TO * *MSR* ARE AS FOLLOWS - * (A) = 0 IF I/O ON THE ROLLOUT FILE SHOULD CONTINUE. * = NON-ZERO IF THE ROLLIN SHOULD CONTINUE * WITHOUT READING THE ROLLOUT FILE. * (EF) = NEW ERROR FLAG. * * USES EF, T1, CM - CM+4, IR - IR+4, T4 - T7. * * CALLS SNS, 1RJ. * * MACROS EXECUTE, MONITOR, NFA, SETMS, SFA. PRE SUBR ENTRY LDD MA RESTORE MASS STORAGE PARAMETERS CWD CN CRD T3 SETMS IO,NS LOAD DRIVER IN CASE I/O TO CONTINUE LDD IR+2 NJP PRE6 IF DMP= CALL STD CM+2 LDM RNS SBN 2 LMC RS1. NJN PRE0 IF NFL NOT ROLLED IN LDD CI SBM CBUF+FLIW*5+2 SBM CBUF+FLSW*5 MJN PRE1 IF NFL NOT ROLLED IN LJM PRE3 CHECK ERROR FLAG PRE0 LMC /3RH/RS2.&RS1. NJN PRE1 IF NOT POSITIONED AT TERMINAL OUTPUT LDD DS SHN 0-13 ZJP PREX IF SECTOR LINKAGE IS CORRECT PRE1 SFA EJT,EO SET EJT ENTRY ADDRESS IN *UTEM* CALL STD CM+4 SHN -14 STD CM+3 LDN PREAL SET *UTEM* PARAMETER COUNT STD CM+1 LDD T5 STORE EST ORDINAL IN *UTEM* CALL RAM PREA+1*5+3 LDD MA CWM PREA,CM+1 MONITOR UTEM LDN /CPS/CCPS&/CPS/DPPS CLEAR CONTROL POINT AND DROP PP PRE2 STM PREB SAVE *JACM* FUNCTION LDD CP ADN FLSW CRD CM LDD CM ZJN PRE2.1 IF NO NFL ASSIGNED LDN 0 RELEASE NFL RJM NFL PRE2.1 RJM RLS RELEASE MEMORY LDM EJBF+5*JSNE+4 LPN 76 LMN SIJS*2 NJN PRE2.2 IF NOT SUBSYSTEM SWAP IN REQUEST LDN RC46 INDICATE SWAP IN NOT POSSIBLE RJM SNS PRE2.2 LDC ** PREB EQU *-1 STD CM+1 MONITOR JACM LJM PPR EXIT TO PP RESIDENT PRE3 LDD EF ZJP PRE1 IF NO ERROR FLAG IS SET PRE4 LDK JSET SET JOB STEP ABORT ERROR FLAG SBD EF MJN PRE5 IF EXISTING ERROR FLAG .GT. *JSET* RAD EF SET *JSET* ERROR FLAG PRE5 LJM PREX RETURN, CONTINUE ROLLIN PRE6 LDM CPAB ZJP PRE7 IF CONTROL POINT AREA NOT ROLLED IN LDD DS SHN 21-12 MJN PRE4 IF NOT RECOVERABLE FAILURE LDD EF NJN PRE4 IF ERROR FLAG IS SET STD CM+1 CLEAR JOB ADVANCE LDN DMPL RESTORE DMP= BLOCK TO ORIGINAL STATE STD T1 LDD RA SHN 6 ADN SPPR CRM BFMS,T1 NFA DMPN CWM BFMS,T1 MONITOR JACM LDK ZERL PLACE *1AJ* CALL IN INPUT REGISTER CRD IR LDC 3RJ1A STD IR SHN -6 SCN 77 STD IR+1 LDD IA CWD IR EXECUTE 1AJ,= LDD T5 SET EST ORDINAL FOR *1RJ* STD IR+4 EXECUTE 1RJ ROLLOUT JOB PRE7 LDD CP CLEAN UP CONTROL POINT AREA ADN UIDW CWD ZR ADN CSSW-UIDW CLEAR INPUT FILE POINTERS CWD ZR LDN FPFW-SRUW CLEAR ACCOUNTING WORDS STD CM PRE8 LDD CP ADN SRUW ADD CM CWD ZR SOD CM PJN PRE8 IF NOT END OF ACCOUNTING WORDS LDD CP CLEAR SECOND BLOCK OF ACCOUNTING WORDS ADK MPAW CWD ZR ADN AUCW-MPAW CWD ZR AOD ZR+4 SET FST OF DM* FILE NOT BUSY NFA FA,R ADN FSTL CWD ZR LDN SYET SET *SYET* ERROR FLAG STD CM+1 MONITOR CEFM LDN /CPS/DPPS LJM PRE2 CLEAR JOB ADVANCE AND DROP PP * *UTEM* PARAMETER BLOCK. PREA VFD 1/0,5/JSNE,6/5 *ERJS* JOB STATUS VFD 6/1,6/0 CON 0,0,ERJS VFD 1/0,5/SCHE,6/30D *WISE* EVENT VFD 6/0,6/0 VFD 6/0,6/77 VFD 3/7,9/0 CON WISE VFD 1/0,5/SCLE,6/1 CLEAR FORCED ROLLIN VFD 6/52D,6/0 CON 0,0,0 PREAL EQU */5-PREA/5 *UTEM* PARAMETER COUNT SPACE 4,10 ** COMMON DECKS. *CALL COMPNFL *CALL COMPRLS SPACE 4,10 * CHECK FOR OVERFLOW. USE OVERFLOW ERRNG BFMS-* OVERFLOW INTO BUFFER SPACE 4,10 OVERFLOW PREX,EPFW SPACE 4,10 QUAL * TTL 1RI - ROLLIN JOB. SPACE 4,10 END