17 228Y ... SEG COMPROB,,CENT(COMMAND PROCESSOR),,G266,G400 4 22CW ...[ 15 22LS ...[ (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1982 13 22TQ ...[ THIS EXCLUDES CODE UNDER #SKI G266 4 234N ...[ 7 23?L ...#OPT G266 = 0 6 23GJ ...#SKI G266&1 20 23PG ...# WITH UGUG EDIT M266 (SUPPRESS UNWANTED MONITORING FILE LISTINGS) 6 23RS ...#UNS G400 16 23W6 ...# THIS CHAPTER IS MODIFIED FOR G3PLUS-IH MK 2 8 23YG [ THE ENTRY POINTS 19 24D6 [ THESE ENTRY POINTS MUST BE KEPT FIXED WITHIN THE SEGMENT 15 24XQ SEGENTRY K1COMPROB,QENTRY1 [ FROM COMPRO 12 25CB ... SEGENTRY K2COMPROB,(GEOERR) 15 25X2 SEGENTRY K3COMPROB,QENTRY3 [ FROM COMPRO 15 26BL SEGENTRY K4COMPROB,QENTRY4 [ FROM COMPRO 15 26W= SEGENTRY K5COMPROB,QENTRY5 [ FROM COMPRO 4 27*W [ 4 27TG [ 18 28*6 [ THIS SEGMENT IS ENTERED FROM COMPRO WHEN BREAK-IN IS 18 28SQ [ DETECTED. ACTION IS TAKEN APPROPRIATE TO THE TYPE OF 7 29#B [ BREAK-IN. 4 29S2 [ 4 2=?L [ 20 2=R= [ THESE MASKS ARE USED ON WORD JOBEVENTS IN THE ACTIVITY BLOCK 17 2?=W [ TO DETERMINE WHAT TYPE OF BREAK IN HAS OCCURRED 4 2?QG # 21 2#=6 [ THIS MASK WILL RETAIN THE ABANDON COMMAND,MONITORING FILE FULL, 19 2#PQ [ 'STOP JOB TO UNLOAD A PERIPHERAL' (OR 'UNLOAD' FOR SHORT) 21 2*9B [ AND MOP TERMINAL INOPERABLE BITS,IF SET . NOTE,ONLY ONE OF THESE 13 2*P2 [ BITS CAN BE SET AT ANY ONE TIME. 21 2B8L [ MASK WILL ALSO RETAIN THE FINISH ABANDON BIT AND MOP OFF/CR BIT 6 2B9X ...#UNS BIWRFL 4 2B?8 ...#SKI 9 2B#H MASKN #02700056 6 2B#J ...#UNS BIWRFL 4 2B#K ...( 14 2B#L ...# MASK WILL ALSO RETAIN WRITE-FAIL BIT 9 2B#M ...MASKN #02700156 15 2B#N ...# THIS MASK RETAINS ALL BUT WRITE-FAIL BIT 9 2B#P ...MASKWF #02700056 4 2B#Q ...) 4 2B#R ...# 16 2B#T # THIS MASK RETAINS ALL BUT MOP OFF (LIMBO) BIT 9 2B*2 MASKMFLI #02700016 4 2BCG # 14 2BF9 # THIS MASK RETAINS ALL BUT READFAIL BIT 9 2BGY MASKRF #02700006 15 2CMG [ THIS MASK WILL RETAIN THE MOP OFF BIT 9 2D76 MASKMOF #02000000 4 2DLQ # 18 2F6B [ THIS MASK WILL RETAIN THE MONITORING FILE FULL, UNLOAD 13 2FL2 [ AND MOP TERMINAL INOPERABLE BITS. 17 2G5L [ ALSO RETAINED ARE MOPOFF/CR AND FINISH ABANDON BITS 9 2GK= MASKAB #02300006 4 2H4W [ 20 2HJG [ THE FOLLOWING MASK WILL RETAIN THE MOP INOP AND UNLOAD BITS 14 2J46 [ IT ALSO RETAINS MOPOFF/CR & FINISH BITS 9 2JHQ MASKMON #02100006 4 2K3B # 19 2KH2 [ FOLLOWING MASK RETAINS MOP OFF/CR, UNLOAD AND MOP INOP. BITS 9 2L2L MASKFIN #02100004 17 2LG= [ FOLLOWING MASK RETAINS MOP OFF/CR AND MOP INOP. BITS 9 2L_W MASKUL #02100000 4 2MFG # 15 2M_6 [ THIS MASK RETAINS CONNECT AND FINISH BITS 9 2NDQ MASKCF #01000001 4 2NYB # 17 2PD2 [ FOLLOWING MASK IS TO ISOLATE THE PROGRAM ISSUED BIT 8 2PXL MASKPI #10000 4 2QC= # 13 2QWW [ THIS MASK RETAINS THE CONNECT BIT 9 2RBG MASKC #01000000 4 2RW6 # 15 2S*Q [ THIS MASK SETS BREAK IN BIT (B2) IN GWAIT 4 2T*2 [ 4 2TSL [ 21 2W#= [ THE FOLLOWING WORDS CONTAIN THE UNIVERSAL IDENTIFIERS WHICH LABEL 21 2WRW [ THE VARIOUS JOB ABANDONED MESSAGES IN THE MONITORING FILE SEGMENTS 4 2X?G # 19 2XR6 [ THIS IDENTIFIER LABELS THE MESSAGE 'ABANDONED BY OPERATOR 8 2Y=Q [ INTERVENTION' 9 2YQB RAB +JABANDOP 4 2_=2 # 21 2_PL [ THIS IDENTIFIER LABELS THE MESSAGE 'JOB ABANDONED:MONITORING FILE 6 329= [ FULL. 10 32NW RMAB +JMONABAND 4 338G # 20 33N6 [ THIS IDENTIFIER LABELS THE MESSAGE 'JOB IN LIMBO: MOP TERMINAL 8 347Q [ INOPERABLE' 10 34MB RINOPLIMBO +INOPLIMBO 4 3572 # 20 35LL [ THIS IDENTIFIER LABELS THE MESSAGE 'JOB ABANDONED: WAITTIME 7 366= [ EXCEEDED' 10 36KW RABWAIT +JABANDWAIT 4 375G # 21 37K6 [ THIS IDENTIFIER LABELS THE MESSAGE 'JOB ABANDONED:MOP SWITCHED OFF' 10 384Q RABMOF +JABANDMOF 4 38JB # 21 3942 [ THIS IDENTIFIER LABELS THE MESSAGE 'JOB ABANDONED:CHANNEL RELEASE' 9 39HL RABCR +JABANDCR 4 3=3= # 20 3=GW [ THIS IDENTIFIER LABELS THE MESSAGE 'JOB ABANDONED : FINISH ETC ' 10 3=PJ RFINT +JABANDFIN 9 3=Y= RFIN +JABFIN 10 3?6Y RJHUP +JHARDUPAB 6 3?7M ...#UNS BIWRFL 4 3?8B ...( 20 3?95 ...[ MESSAGE: 'JOB ABANDONED:IRRECOVERABLE WRITE TRANSFER FAILURE ETC' 9 3?9S ...RABWF +JABWF 4 3?=H ...) 9 3??B RABRF +JABANDRF 10 3?CS RJFZ +JFROZENAB 21 3?DJ [ THIS IDENTIFIER LABELS THE MESSAGE 'JOB IN LIMBO:MOP SWITCHED OFF' 9 3?F# RMFLIMBO +JMFLIMBO 7 3?FD #UNS AV7900S 4 3?FJ ( 21 3?FN [ THIS IDENTIFIER LABELS THE MESSAGE 'JOB IN LIMBO:IDENTIFIER FREE' 10 3?FS RIFRLIMBO +JIFRLIMBO 4 3?FY ) 4 3?G6 [ 20 3?_Q [ THE FOLLOWING MASK PRESERVES ALL BUT THE STOPJOB BIT IN JMISC 9 3#FB MASKBRK #67777777 4 3#_2 [ 21 3*DL [ THE FOLLOWING MASK PRESERVES ALL BUT THE CONNECT BIT IN JOBEVENTS 9 3*Y= MASKF #76777777 4 3BCW [ 9 3CC6 MASKD #00060000 9 3DBB MASKLIM #00040000 19 3DW2 MASKBIC #77737777 [ MASKS OUT THE BREAKIN BIT 17 3F*L SETNB #00020000 [ THE NO-BREAKIN BIT 17 3FT= SABFIN #40000002 [ FINISH/ABANDON BITS 4 3G#W [ 8 3H#6 TWO +2 8 3K=L TEN +10 10 3KQ= PHIFTEEN +60/FONINTP 8 3L9W SPACE #20 8 3LPG WIN 4H NI 4 3M96 [ 10 3MNQ [ SUBROUTINES * * * * 4 3N8B [ 21 3NN2 [ SUBROUTINE TO SET INHIBIT-BREAKIN MARKER, CLEAR THE STOPJOB BIT AND 20 3P7L [ OUTPUT THE APPROPRIATE MESSAGE, PREPARATORY TO STOPPING A JOB 5 3PM= OUTMESS 9 3Q6W CALL 5 MCLEAR 9 3QLG TESTBRKIN READL 19 3R66 LDCT 0 #020 [ PRESERVE THE 'MOPOFF' BIT 17 3RKQ ANDS 0 JOBEVENTS(2) [ FOR LATER TESTING 15 3S5B LDCT 0 #040 [ AND SET 18 3SK2 ORS 0 JOBEVENTS(2) [ 'INHIBIT BREAKIN' BIT 9 3TJ= BRUSEN ZNOUSER 7 3W3W CJOBLOCK 3 10 3WHG LDX 0 MASKBRK(1) 17 3X36 ANDS 0 JMISC(3) [ CLEAR STOPJOB BIT 5 3Y2B ZNOUSER 7 3YG2 SBX 6 1 11 3YG? BXU 7 RABRF(1),NRFAB 10 3YGB FINDPARS GMON,JABAND 5 3YGF NRFAB 10 3YJH BXU 7 RAB(1),NSUB1 13 3YJY JMBAS XHARDUP,2,EXABTEMP,EXUSAB 11 3YKB JBC NTEM,2,EXABTEMP 10 3YKJ LDX 0 CONTEXT(2) 7 3YKL ANDN 0 5 8 3YKN BNZ 0 NFZX 9 3YKQ LDX 7 RJFZ(1) 10 3YKS BC 2,EXABTEMP 8 3YKW BRN NSUB1 4 3YKY NFZX 9 3YL9 OUTMESS ATEMPAB 8 3YM4 BRN NTEM1 5 3YM9 XHARDUP 9 3YMB LDX 7 RJHUP(1) 11 3YMH MBC 2,EXABTEMP,EXUSAB 8 3YMN BRN NSUB1 7 3YMX NTEM OUTNULL 10 3YNQ NTEM1 JBC NUSE,2,EXUSAB 8 3YPK OUTMESS JCOM 8 3YQD BRN NUSE1 9 3YR? NUSE OUTMESS JOPCON 10 3YS6 NUSE1 HUNT 3,GMON,JABAND 8 3YS_ BNG 3 NSUB1 13 3YTS OUTPARAM ANUM(3),APARA,GMON,JABAND 10 3YWM MFREE GMON,JABAND 5 3YXG NSUB1 10 3YYS TXU 7 RINOPLIMBO(1) 9 3YY_ BCS NLIMBO 16 3Y_6 TESTINOP 2,NINOP [J IF NOT INOP 5 3Y_? NLIMBO 6 3Y_# ...#SKI G266&1 4 3Y_* ...( 18 3Y_B ...# PRESERVE THE MESSAGE IDENTIFIER SPECIFIED IN X7 IN X5 19 3Y_C ...# IN ORDER THAT IT CAN BE CHECKED IN THE 'LOGOUT' CHAPTER. 4 3Y_D ...# 7 3Y_F ... LDX 5 7 4 3Y_G ...) 7 3Y_L MONOUTX 7 5 3_9C NINOP 18 3_#2 LDX 2 FX2 [TESTINOP DESTROYS X2 7 3_F= ADX 6 1 7 3_YW EXIT 6 0 4 42DG [ 12 42Y6 [ SUBROUTINE TO OUTPUT SKIP PDC 4 43CQ # 8 43XB SKIP SBX 7 FX1 8 44C2 OUTPAR SKIP 8 44WL ADX 7 FX1 7 45B= EXIT 7 0 4 45TW [ 10 46*G [ MAIN ROUTINE * * * * 5 46DL RFINAB 17 46HQ LDX 2 FX2 [SET TEMPORARY ABANDON 8 46KP LDN 0 #10 21 46KY ANDX 0 CONTEXT(2) [CHECK THE CONTEXT OF THE JOB & JIF 20 46L7 BNZ 0 RABAND [MOP JOB (IE DON'T SET 'TEMP' BIT) 18 46LW BS 2,EXABTEMP [BIT IF OBEYING THE FINISH 9 46ND LDX 7 RFINT(1) 16 46Q2 BRN RABAND [ABANDON COMMAND 4 46T6 [ 6 47#Q RABANDMOF 17 47SB LDCH 6 JSOURCE1(2) [GET PERIPHERAL TYPE 8 48#2 ERN 6 #74 9 48RL BNZ 6 RABAND 9 49?= LDX 7 RABCR(1) 19 49QW QENTRY3 [ FROM COMPRO WHEN ABANDONING 5 4==G RABAND 8 4=?X LDN 0 CPAT 9 4=*# STO 0 AWORK1(2) 7 4=BP LDN 4 0 10 4=D6 STO 7 ACOMMUNE1(2) 9 4=FH CALL 7 SEEKLEV 16 4=GY BRN RABNO [J IF NO INT. LEVELS 8 4=J* BRN Y2 5 4=KQ RABNO 8 4=M7 LDX 2 FX2 10 4=NJ LDX 7 ACOMMUNE1(2) 17 4=Q6 CALL 6 OUTMESS [ OUTPUT MESSAGE, ETC 19 4?9Q CALL 4 TCLEAN2 [ CLEAN UP FOR ABANDONING JOB 10 4?PB LDX 0 CONTEXT(2) 17 4#92 LDX 7 0 [KEEP COPY OF CONTEXT 7 4#NL ANDN 0 4 16 4*8= BNZ 0 OFF [ JUMP IF NOT MOP 16 4*MW ANDX 7 MASKBIC(1) [LOSE BRK-IN BIT 16 4B7G ORX 7 SETNB(1) [SET NO BREAK-IN 10 4BM6 STO 7 CONTEXT(2) 8 4C6Q LDCT 0 #020 20 4CLB STO 0 EXT+10(2) [ RESET THE BREAKIN-TYPE MARKER 7 4D62 ANDN 7 2 18 4DKL BNZ 7 VSOP [JUMP IF NO-USER LEVEL 10 4F5= ANDX 0 JOBEVENTS(2) 21 4FJW BNZ 0 OFF [ JUMP IF MOPOFF OR CHANNEL RELEASE 7 4G4G LIMBO 6 17 4GJ6 BNZ 6 OFF [J IF JOB IN LIMBO 17 4H3Q DOWN LOGOUT,4 [TO ABANDON A MOP JOB 18 4HHB READ ACROSS COMPRO,2 [TO READ ANOTHER COMMAND 9 4J32 READA ACROSS COMPRO,10 17 4JGL OFF ACROSS LOGOUT,3 [ SIMULATED ENDJOB 18 4K2= MAG ACROSS ENGAGE,30 [ TO UNLOAD A PERIPHERAL 4 4KFW [ 21 4K_G QENTRY5 [ FROM COMPRO WHEN ABANDONING A MDF IN NO-USER CONTEXT 20 4LF6 CALL 4 TCLEAN2 [ CLEAN UP BLOCKS FOR ABANDONING 18 4LYQ LDN 4 #40 [ TEST IF ONLINE PT OR CR 7 4MDB ANDX 4 5 18 4MY2 BNZ 4 MAG [ JUMP IF NOT OPS CONSOLE 16 4NCL VSOP ACROSS LOGOUT,7 [ TO ABANDON JOB 4 4NX= [ 5 4PBW NSTOP 17 4PWG ANDX 5 MASKN(1) [RETAIN ABANDON BITS 21 4QB6 BZE 5 PBREAKCON [JUMP IF NORMAL BREAK IN OR CONNECT 6 4QB= ...#UNS BIWRFL 4 4QBB ...( 9 4QBG ... LDX 7 RABWF(1) 9 4QBL ... ANDX 5 MASKWF(1) 9 4QBQ ... BZE 5 RABAND 4 4QBW ...) 10 4QC7 ANDX 5 MASKMFLI(1) 16 4QCG BZE 5 MFLI [J IF MOP OFF (LIMBO) 9 4QJR LDX 7 RABRF(1) 9 4QM2 ANDX 5 MASKRF(1) 9 4QP9 BZE 5 RABAND 16 4QTQ LDX 7 RAB(1) [LOAD JABANDOP 9 4R*B ANDX 5 MASKAB(1) 18 4RT2 BZE 5 RABAND [JUMP IF ABANDON COMMAND 16 4S#L LDX 7 RMAB(1) [LOAD JMONABAND 10 4SS= ANDX 5 MASKMON(1) 19 4T?W BZE 5 RABAND [JUMP IF MONITORING FILE FULL 9 4TRG LDX 7 RFIN(1) 10 4W?6 ANDX 5 MASKFIN(1) 17 4WQQ BZE 5 RFINAB [J IF FINISH ABANDON 9 4X=B ANDX 5 MASKUL(1) 19 4XQ2 BZE 5 MAG [ JUMP TO UNLOAD PERIPHERAL 9 4Y9L LDX 7 RABMOF(1) 10 4YP= ANDX 5 MASKMOF(1) 17 4_8W BNZ 5 RABANDMOF [J IF MOP OFF BIT SET 4 4_9P MFLI 8 4_=K LDN 0 CPAT 9 4_## STO 0 AWORK1(2) 7 4_B3 LDN 4 0 9 4_CQ CALL 7 SEEKLEV 8 4_FF BRN XIO99 8 4_H8 BRN Y2 8 4_JX XIO99 LDX 2 FX2 8 4_LL LDX 1 FX1 21 4_NG LDX 7 CONTEXT(2) [LOAD CONTEXT BITS AND JUMP TO VSOP 21 5286 ANDN 7 2 [IF AT NOUSER.REASON:LINE INOPERABLE 15 52MQ BNZ 7 VSOP [AT NOUSER. 19 52TN LDX 7 RINOPLIMBO(1) [LIMBO - TERMINAL INOPERABLE 18 533L #UNS AV7900S [FREE COMMAND ENHANCEMENT 4 539J ( 12 53CG JBC NOTIDFR,2,BRIDENTFR 18 53KD LDX 7 RIFRLIMBO(1) [LIMBO - IDENTIFIER FREE 9 53RB BRN NOTMFLI 5 53_# NOTIDFR 4 547= ) 12 54*? JBC NOTMFLI,2,BRMOPOFFLIM 18 54BB LDX 7 RMFLIMBO(1) [LIMBO - MOP SWITCHED OFF 2 54CG 5 54FP NOTMFLI 9 54L= CALL 6 OUTMESS 10 54W3 LDX 6 MASKLIM(1) 9 54YL ORS 6 EXT+11(2) 21 555W DISCONNECT [ DISCONNECT THE JOB. PUT IN LIMBO 19 55KG PERMITBRK [ CLEAR INHIBIT BREAKIN BIT 12 55XW HLSINFORM READL,LIMBO,JOBNO(2) 21 5656 QENTRY4 [ FROM COMPRO WHEN JOB HAS TO WAIT 18 56JQ LDN 7 #100 [B17 IDENTIFIES THIS CASE 17 574B ORS 7 EXT+11(2) [ TO FINISH ACTIVITY 9 57J2 WF LDX 4 AWAITEND 18 583L BZE 4 WB [J IF WAITTIME IS ZERO 16 58H= LDX 5 AWAITEND [RE-LOAD WAITTIME 17 592W W LONGWAIT WD,#62,,,PHIFTEEN(1) [WAIT FOR 1 MINUTE 9 59GG TXU 5 AWAITEND 20 5=26 BCS WF [J IF WAITTIME HAS BEEN CHANGED 7 5=FQ BCT 4 W 15 5=_B WB ERS 7 EXT+11(2) [UNSET B17 18 5?F2 LDX 7 RABWAIT(1) [ 'JOB ABANDONED' MESSAGE 9 5?YL BRN RABAND 15 5#D= WD ERS 7 EXT+11(2) [UNSET B17 20 5#XW CALL 5 MCLEAR [ ENSURE MULTILINERY BIT CLEAR 5 5*CG READL 8 5*X6 LDX 2 FX2 16 5BBQ LDCH 4 EXT+10(2) [LOAD TYPE OF UP 10 5BWB LDX 5 JOBEVENTS(2) 8 5CB2 BPZ 5 READA 21 5CTL QENTRY1 [ FROM COMPRO WHEN BREAK-IN DETECTED 15 5D*= BSON HLSBIT,NSTOP [J IF PRE-HLS 14 5DSW LDCT 7 #200 [SET B1 7 5F#G ANDX 7 5 19 5FS6 BZE 7 NSTOP [J IF B1(I.E.STOPJOB) NOT SET 16 5G?Q TXU 4 TWO(1) [2 DENOTES ENDREC 8 5GRB BCS SBKIN 10 5H?2 MHUNTW 3,CPB,CALAS 9 5HQL LDX 6 CPBFSD(3) 14 5J== BPZ 6 READ [J IF MDF 10 5JPW STOZ APTNECHA(3) 9 5K9G LDX 3 FPTR(3) 10 5KP6 STOZ CLBPTNECHA(3) 5 5L8Q SBKIN 19 5LNB CALL 5 MCLEAR [FREE C/CBUFF & CLEAR M-L BIT 9 5LW8 CALL 7 TCLEAR 10 5M*S ... ACROSS CONTINUE,4 6 5YDW PBREAKCON 19 5YR= TRUEDORM [INFORM LLS OF TRUE DORMANCY 9 5YYG TXU 4 TWO(1) 16 5_D6 BCS PBROKIN [J IF BROKEN IN 10 5_XQ MHUNTW 3,CPB,CALAS 9 62CB LDX 6 CPBFSD(3) 17 62X2 BPZ 6 READ [J IF NOT BROKEN IN 10 63BL STOZ APTNECHA(3) 9 63W= LDX 3 FPTR(3) 10 64*W STOZ CLBPTNECHA(3) 19 64TG CALL 5 MCLEAR [FREE C/CBUFF & CLEAR M-L BIT 5 65*6 PBROKIN 10 65SQ LDX 5 JOBEVENTS(2) 20 66#B ANDX 5 MASKCF(1) [ISOLATE CONNECT & W/FINISH BITS 19 66S2 BZE 5 PBR [JUMP IF ORDINARY BREAK IN 9 67?L ANDX 5 MASKC(1) 17 67R= BZE 5 WHENY [J IF W/FINISH CASE 9 68=W LDX 5 MASKF(1) 17 68QG ANDS 5 JOBEVENTS(2) [MASK CONNECT MARKER 7 69=6 FON #42 5 69PQ PCOOR3 7 6=9B COOR3 #43 10 6=P2 LDCH 5 JOBEVENTS(2) 15 6?8L ANDN 5 1 [MASK OFF B5 9 6?N= BZE 5 PCOOR3 4 6#7W # 14 6#MG [ OUTPUT JOBTYPE NOW MESSAGE 4 6*76 # 11 6*LQ OUTPAR TIMENOW,JOBMILL 10 6B6B LDX 4 JSOURCE3(2) 15 6BL2 BZE 4 XCENT [J IF CENTRAL 7 6C5L LDN 4 2 20 6CK= XCENT OUTPACK 4,1,JOBTYPE,XCENT [OUTPUT JOB TYPE-MOP OR REM-MOP 8 6D4W BZE 4 XCNT1 20 6DJG XNC OUTPACK JSOURCE3(2),1,PROPS,XNC [OUTPUT CONSOLE PROPERTY 8 6F46 BRN XNC1 8 6FHQ XCNT1 CALL 7 SKIP 8 6G3B XNC1 LDN 0 #1000 10 6GH2 ANDX 0 CONTEXT(2) 17 6H2L BZE 0 XSK [J IF NO CORE IMAGE 8 6HG= FJOCA 3,2 21 6H_W [ CANNOT USE OUTPMILL MACRO SINCE HAVE TO OUTPUT SKIP PDC IF ZERO 4 6JFG # 10 6J_6 LDX 0 HCLOCKTIME(3) 11 6KDQ LDX 1 HCLOCKTIME+1(3) 8 6KYB BNZ 0 NSK1 7 6LD2 SRA 1 5 8 6LXL SBN 1 1875 8 6MC= BNG 1 XSK 4 6MWW NSK1 9 6NBG OUTPAR PROGMILL 8 6NW6 BRN NSK 8 6P*Q XSK CALL 7 SKIP 8 6PTB NSK MONOUT JTYPE 7 6Q*2 PERCOUNT 8 6QSL LDCT 5 #10 10 6R#= ERS 5 JOBEVENTS(2) 5 6S?G XNOUSER 4 6SR6 Y15 10 6T=Q LDN 4 COMDAT+CBRK 19 6TQB STO 4 AWORK1(2) [STORE WHEN.TYPE FOR SEARCH 16 6W=2 LDN 4 0 [SET MKR FOR S/R 9 6WPL CALL 7 SEEKLEV 9 6X9= BRN NOWHEN 8 6XNW BRN Y2 16 6Y8G Y3 LDN 5 0 [SET WHENEVER MKR 17 6YN6 Y2 LDN 1 3 [SET PARAM FOR CLEANX 17 6_7Q CALL 4 TCLEAN1 [S/R FOR CLEANING UP 20 6_MB BNG 5 Y11 [J IF MUST RETURN TO I.I. LEVEL 19 7272 CALL 7 SETCREADL [S/R TO RENAME WHENEVER BLOCK 15 72LL LDN 4 0 [MKR FOR S/R 18 736= CALL 7 TCLEAR [S/R TO CLEAR BRK-IN BITS 9 73KW ACROSS COMPRO,4 21 745G [ THE FOLLOWING PATH IS FOLLOWED WHEN FINISH COMMAND HAS BEEN ISSUED 20 74K6 [ A SEARCH IS MADE FOR A WHEN/FINISH BLOCK - BUT FOR SYSTEM ISSUED 21 754Q [ JOBS WHEN FINISHED BIT IS SET, A SEARCH IS MADE FOR A WHEN/FINISHED 6 75JB [ BLOCK 20 7642 [ N.B. IF A INT. ISSUED LEVEL WITH A BREAK-IN LABEL IS ENCOUNTERED 21 76HL [ DURING SEARCH - A RETURN IS FIRST MADE TO THIS LABEL - IF A WHENEV. 14 773= [ BLOCK IS KNOWN TO EXIST AT A HIGHER LEVEL 5 77GW WHENY 10 77QN BC 2,EXWENFIN 10 782G LDX 4 CONTEXT(2) 10 78G6 LDN 0 COMDAT+CFIN 17 78_Q BPZ 4 Y4 [J IF NOT SYS. ISSUED 8 79FB LDCT 5 #40 17 79_2 ANDX 5 FINISH [ISOLATE FINISHED BIT 16 7=DL BZE 5 Y4 [FINISHED NOT SET 19 7=Y= ADN 0 CFIND-CFIN [LOOK FOR WE/FINISHED BLOCK 4 7?CW Y4 21 7?XG STO 0 AWORK1(2) [STORE TYPE OF BLOCK FOR WHEN/SEARCH 9 7#C6 STOZ AWORK2(2) 19 7#WQ LDN 4 1 [SET MKR INDICATING W/FINISH 9 7*BB Y6 CALL 7 SEEKLEV 8 7*W2 BRN Y12 20 7B*L BRN Y7 [J IF SPEC. I.ISS LEVEL REACHED 16 7BT= SMO FX2 [WHENEVER FOUND 9 7C#W LDX 7 AWORK2 19 7CSG BZE 7 Y3 [J IF WHENEVER WAS 1ST FOUND 17 7D#6 LDX 5 GSIGN [SET INT ISS MARKER 20 7DRQ LDX 6 7 [AND RETURN TO SPEC INT ISS LEVEL 8 7F?B BRN Y2 10 7FR2 Y11 MHUNTW 2,CPB,CALAS 15 7G=L LDX 3 FPTR(2) [PTR TO CLB 19 7GQ= CALL 5 UPLEV [S/R FOR GOING UP A CP.LEVEL 7 7H9W ISSUBRK 10 7HPG [ NO WHENEVER/FINISH FOUND 4 7J96 Y12 19 7JNQ LDX 4 GSIGN [MKR TO AVOID BROKIN IN S/R 19 7K8B CALL 7 TCLEAR [S/R TO CLEAR BRK-IN BITS. 10 7KN2 LDX 4 CONTEXT(2) 19 7L7L BPZ 4 TCON1 [ JUMP IF NOT SYSTEM ISSUED 9 7LM= LDX 0 AWORK1(2) 10 7M6W ERN 0 COMDAT+CFIN 19 7MLG BZE 0 WFERR [J IF NO COMDAT/CFIN FOUND 20 7N66 LDX 4 JOBEVENTS(2) [ JUST ATTEMPTED TO BECOME FULLY 14 7NKQ BNG 4 READL [ STARTED 19 7P5B LDX 4 SABFIN(1) [ LOAD FINISH/ABANDON BITS 10 7PK2 STO 4 JOBEVENTS(2) 8 7Q4L BRN READL 8 7QJ= Y7 SMO FX2 17 7R3W STO 6 AWORK2 [STORE INT ISS LEVEL 20 7RHG BRN Y6 [CONTINUE SEARCH -THERE MAY BE A 21 7S36 [WHENEVER FINISH BLOCK AT A HIGHER 14 7SGQ [LEVEL 5 7T2B TCON1 14 7TG2 ANDN 4 #10 [ IF MOP, 15 7T_L BNZ 4 TCONT [ CONTINUE 14 7WF= LDX 7 RFIN(1) [ ELSE 15 7WYW BRN RABAND [ ABANDON 5 7XDG WFERR 10 7XY6 GEOERR 1,WHEN FIN 4 7YCQ [ 5 7YJY ...TCONT 10 7YQ6 ... ACROSS CONTINUE,5 4 7YXB [ 4 8MB6 [ 4 8MTQ PBR 9 8NT2 BRUSEN XNOUSER 18 8P#L FJOCA 3,2 [ POINT X3 AT JOB BLOCK 8 8PS= LDCT 4 #100 17 8Q?W ANDX 4 JMISC(3) [ ISOLATE STOPJOB BIT 19 8QRG BNZ 4 Y15 [ JUMP IF NOT PSEUDO-BREAKIN 5 8R?6 NOWHEN 19 8RQQ LDN 4 6 [ SET UP AN OUTPUT PARAMETER 17 8S=B OUTBLOCK 4 [ BLOCK OF SIX WORDS 16 8SQ2 LDCH 4 EXT+10(2) [L0AD TYPE OF UP 9 8T9L LDX 5 EXT+10(2) 14 8TP= ANDN 5 #7777 [MASK OFF 9 8W8W TXU 4 TWO(1) 19 8WNG BCC NULL [J IF MULTILINE FROM CONSOLE 7 8X86 SMO 4 18 8XMQ LDX 6 TBREAK-1(1) [LOAD BREAK IN MESSAGE 7 8Y7B OUTMESSX 6 16 8YM2 LDX 7 CPLEV(2) [LOAD CURRENT CPL 7 8_6L SBX 7 5 7 8_L= ADN 7 1 7 925W SLL 7 2 19 92KG GETCORE 7,1 [GET SMFFICIENT CORE FOR CINC 7 9356 FINDCORE 3 15 93JQ NAME 3,COMDAT,CINC [NAME BLOCK 8 944B ADN 3 A1 8 94J2 MHUNTW 2,CLB 7 953L LDN 0 0 10 95H= LDX 7 ANUMCHA(2) 8 962W SMO FX2 8 96GG STO 2 EXT+6 9 9726 ADN 2 CLBFIR 8 97FQ BRN X200 4 97_B NULL 16 98F2 OUTNULL [OUTPUT TWO NULL 15 98YL OUTNULL [PARAMETERS 8 99D= BRN POOD 9 99XW XQ LDX 2 FPTR(2) 9 9=CG LDX 7 ATYPE(2) 8 9=X6 SRL 7 12 8 9?BQ ERN 7 CLB 18 9?WB BNZ 7 XQ [ J IF NOT LINE BUFFER 5 9#B2 XZONE 18 9#TL [ THIS SECTION COMPILES THE COMMAND PROCESSOR HIERARCHY 10 9**= LDX 7 ANUMCHA(2) 8 9*SW SMO FX2 8 9B#G STO 2 EXT+6 9 9BS6 ADN 2 CLBFIR 16 9C?Q LDX 6 WIN(1) [LOAD IN CHARS 7 9CRB LDN 1 4 18 9D?2 XPON DCH 6 0(3) [DEPOSIT CHARS IN CINC 7 9DQL BCHX 3 / 17 9F== ADN 0 1 [UPDATE COUNT IN CINC 16 9FPW SRL 6 6 [GET NEXT CHAR 8 9G9G BCT 1 XPON 8 9GP6 LDX 1 FX1 8 9H8Q BRN X200 15 9HNB X300 LDCH 6 0(2) [THIS ROUTINE 7 9J82 BCT 7 / 16 9JML BCHX 2 / [SEARCHES THROUGH 16 9K7= TXU 6 SPACE(1) [LABEL AND VERB 8 9KLW BCS X300 13 9L6G X200 LDCH 6 0(2) [LHIS 7 9LL6 BCT 7 / 14 9M5Q BCHX 2 / [ROUTINE 14 9MKB TXU 6 SPACE(1) [FINDS 15 9N52 BCC X200 [THE LABEL 9 9NJL TXL 6 TEN(1) 8 9P4= BCS X300 7 9PHW ADN 7 1 8 9Q3G BRN X650 8 9QH6 X500 LDCH 6 0(2) 15 9R2Q BCHX 2 / [THIS ROUTINE 14 9RGB TXU 6 SPACE(1) [STORES 13 9S22 BCC X400 [THE 4 9SFL X650 13 9S_= DCH 6 0(3) [VERB 14 9TDW BCHX 3 / [IN CINC 7 9TYG ADN 0 1 8 9WD6 BCT 7 X500 4 9WXQ X400 8 9XCB SMO FX2 8 9XX2 LDX 2 EXT+6 9 9YBL SMO BPTR(2) 15 9YW= LDEX 7 CPBCPLEV [GET CPLEVEL 7 9_*W TXU 7 5 8 9_TG BCS XQ 7 =2*6 LDX 7 0 17 =2SQ OUTPARAM 7,A1,COMDAT,CINC [OUTPARAM THE CINC 10 =3#B VFREEW COMDAT,CINC 4 =3S2 POOD 6 =3WK ...#UNS G400 4 =3_8 ...( 7 =43R ... DOLPMON 6 7 =46B ... DOSPMON 4 =48_ ...) 16 =4?L MONOUT BROKIN [OUTPUT MESSAGE 6 =4DS ...#UNS G400 7 =4L2 ... DORPMON 6 17 =4R= STOZ JOBEVENTS(2) [ZEROISE JOBEVENTS 7 =5QG BRUSEN X 7 =6=6 CJOBLOCK 3 10 =6PQ LDX 6 MASKBRK(1) 19 =79B ANDS 6 JMISC(3) [ENSURE BREAKIN MARKER CLEAR 9 =7P2 X BNZ 5 PFREEONE 9 =88L LDX 5 CPLEV(2) 7 =8N= ADN 5 1 9 =97W STO 5 CPLEV(2) 17 =9MG DEX 5 EXT+10(2) [ STORE CLEANUP LEVEL 8 ==76 ORX 4 GSIGN 9 ==LQ LDX 6 MASKD(1) 17 =?6B ERS 6 CONTEXT(2) [RESET CONTEXT BITS 6 =??J ...#UNS G400 14 =?DQ ... LDN 7 0 [MARKER FOR COMPRO 9 =?L2 ... ACROSS COMPROA,2 5 =#5L PFREEONE 8 =#K= CLEANUP 5,3 20 =*4W LDX 5 EXT+3(2) [COUNT OF I.ISS LEVELS CLEARED 8 =*JG BZE 5 NOII 5 =B46 NAGAIN 16 =BHQ FREELINK [FREE I.ISS LINK 9 =C3B BCT 5 NAGAIN 4 =CH2 NOII 8 =D2L MHUNTW 2,CLB 10 =DG= STOZ CLBPTNECHA(2) 8 =D_W SMO FX2 9 =FFG LDX 5 EXT+10 19 =F_6 ANDN 5 #7777 [RETAIN TOP BREAK-IN LEVEL 8 =GDQ SMO FX2 16 =GYB STO 5 CPLEV [RESET CP LEVEL 8 =HD2 BRN READ 5 =HXL TBREAK 9 =JC= +AFTER 8 =JWW +0 9 =KBG +BEFORE 9 =KW6 +ABAND 9 =L*Q +JURING 17 =LTB [ S/R TO FIND A WHENEVER LEVEL OR AN INT-ISSUED LEVEL 13 =M*2 [ ON ENTERING S/R X4 IS 0,1 OR -VE 21 =MSL [ IF X4=0 ,ON FINDING MACRO LEVEL WITH NO WHENEVER SET BRK-IN CHAR IN 21 =N#= [ EXT+10 IS SET TO 3 I.E. BRK-IN BEFORE. THIS IS FOR CASE OF 18 =NRW [ BRK-ING IN ON PROG.ISSUED MACRO. - W/BRK CASE 21 =P?G [ IF X4=1 ,THIS MEANS ABOVE SEARCH IS OMITTED , AND ALSO ONLY SPEC. 21 =PR6 [ INT.ISSUED LEVELS CAUSE EXIT I.E. THOSE WITH BRK-IN LABEL- 21 =Q=Q [ THIS IS BECAUSE FINISH CAUSES BRK-IN AND SO MUST RETURN TO 21 =QQB [ THE BRK-IN LABEL BEFORE TAKING W/FINISH ACTION AT A HIGHER 16 =R=2 [ LEVEL - W/FINISH CASE 21 =RPL [ IF X4 IS -VE THIS IS COMERR CASE SO EXIT AT WHENEVER OR ANY INT ISS 8 =S9= [ LEVEL. 5 =SNW SEEKLEV 9 =T8G LDX 2 FPTR(2) 9 =TN6 LDX 0 ATYPE(2) 17 =W7Q SRL 0 12 [ FIND NEXT CPB/CALAS 14 =WMB ERN 0 CPB+CALAS [ BLOCK 9 =X72 BNZ 0 SEEKLEV 16 =XLL LDEX 6 CPBCPLEV(2) [ISOLATE CP LEVEL 8 =Y6= LDCT 5 #600 17 =YKW ANDX 5 CPBCPLEV(2) [ISOLATE INT ISS BITS 18 =_5G BZE 6 SEEK1 [J IF ZERO LEVEL REACHED 17 =_K6 BPZ 5 SEEK2 [J IF NOT INT ISSUED 21 ?24Q BNG 4 SEEK3 [J IF WANT TO EXIT FOR ANY I.I. LEV. 7 ?2JB SLL 5 1 21 ?342 BPZ 5 SEEKLEV [J IF II.LEVEL HAS NO BRK-IN LABEL 15 ?3HL SEEK3 EXIT 7 1 [I.ISS. EXIT 5 ?43= SEEK2 9 ?4GW LDX 0 CPBFSD(2) 16 ?52G BPZ 0 SEEK4 [J IF MACRO LEVEL 18 ?5G6 SEEK1 EXIT 7 0 [NO WHEN/INT ISS LEVEL 5 ?5_Q SEEK4 17 ?6FB CALL 5 WHENEVER [SEARCH FOR WHENEVER 16 ?6_2 EXIT 7 2 [WHENEVER FOUND 17 ?7DL BNZ 4 SEEKLEV [J IF NOT W/BRK CASE 8 ?7Y= SMO FX2 9 ?8CW LDX 0 CONTEXT 8 ?8XG SMO FX1 9 ?9C6 ANDX 0 MASKPI 9 ?9WQ BZE 0 SEEKLEV 7 ?=BB LDN 0 3 16 ?=W2 LDX 3 FX2 [ RESET TO BROKEN 15 ??*L DCH 0 EXT+10(3) [ IN BEFORE 17 ??T= BRN SEEKLEV [PROG. ISSUED MACRO 4 ?##W # 20 ?#SG [ S/R TO SEARCH FOR A WHENEVER BLOCK OF THE SAME TYPE AS HELD IN 6 ?*#6 [ AWORK1 19 ?*RQ [ ON ENTRY TO S/R X2 POINTS TO A CPB/CALAS AT A MACRO LEVEL 4 ?B?B # 5 ?BR2 WHENEVER 9 ?C=L LDX 3 FPTR(2) 19 ?CQ= LDN 1 JWHEN [POSS NO. OF WHENEVER BLOCKS 5 ?D9W WHEN1 9 ?DPG LDX 3 FPTR(3) 9 ?F96 LDX 0 ATYPE(3) 8 ?FNQ SRL 0 12 8 ?G8B SMO FX2 9 ?GN2 TXU 0 AWORK1 17 ?H7L BCS WHEN2 [J IF NOT REQ. TYPE 16 ?HM= EXIT 5 0 [WHENEVER FOUND 5 ?J6W WHEN2 9 ?JLG ERN 0 CPB+CALAS 18 ?K66 BZE 0 WHEN3 [J IF NEXT /CALAS REACHED 8 ?K7H FSHCODE AORB 4 ?K8Y ( 4 ?K=* # 20 ?K?Q # FOR SHARED FILESTORE WE CANNOT GUARANTEE THAT THERE WILL NOT 21 ?K*7 # BE ANY SPURIOUS BLOCKS BETWEEN THE CLB ANY ANY 'WHENEVER' BLOCKS 18 ?KBJ # SO WE ALWAYS SEARCH UP TO THE NEXT CPB?CALAS BLOCK. 4 ?KC_ # 8 ?KFB BRN WHEN1 4 ?KGR ) 7 ?KJ8 FSHSKIP 17 ?KKQ BCT 1 WHEN1 [-SO SEARCH MUST STOP 5 ?L5B WHEN3 17 ?LK2 EXIT 5 1 [NO WHENEVER FOUND 4 ?M4L # 19 ?MJ= [ S/R TO FIND WHENEVER BLOCK (TYPE IN AWORK1) AND RENAME IT 13 ?N3W [ AN ADATA/CREADL BLOCK. X2 MUST = FX2 4 ?NHG # 6 ?P36 SETCREADL 9 ?PGQ LDX 0 AWORK1(2) 8 ?Q2B SLL 0 12 8 ?QG2 MHUNTX 3,0 11 ?Q_L NAME 3,ADATA,CREADL 8 ?RF= CHAIN 3,FX2 7 ?RYW EXIT 7 0 4 ?SDG # 12 ?SY6 [ S/R TO CLEAR THE BREAKIN BITS 14 ?TCQ [ X2 MUST POINT TO FX2 AND X1 MUST =FX1 20 ?TXB [ BROKIN MACRO WHICH CLEARS MOP BREAKIN BIS IS ONLY ISSUED FOR 13 ?WC2 [ PHYSICAL BRK-IN ON MOP CONSOLE. 4 ?WWL # 5 ?XB= TCLEAR 8 ?XTW LDX 2 FX2 19 ?Y*G STOZ JOBEVENTS(2) [CLEAR BRK-IN WORD IN CPAT 7 ?YT6 #SKI ANOUSER 9 ?_#Q BRUSEN YNOUSER 17 ?_SB FJOCA 3,2 [FIND THE JOBBLOCK 8 #2#2 LDX 1 FX1 10 #2RL LDX 6 MASKBRK(1) 19 #3?= ANDS 6 JMISC(3) [CLEAR BRK-IN BIT IN JOBBLOCK 5 #4=G YNOUSER 17 #4Q6 BNG 4 TCL1 [J IF W/FINISH CASE 8 #59Q SBX 7 FX1 18 #5PB BROKIN [CLEAR MOP BRK-IN BITS. 8 #692 ADX 7 FX1 4 #6NL TCL1 7 #78= EXIT 7 0 4 #7MW # 21 #87G [ S/R FOR CLEANING UP TO CPLEVEL GIVEN IN X6 AND RESETTING CPLEV 20 #8M6 [ IN MOST S/R MUST ALSO CHECK FOR I.I LEVELS CLEARED OUT & OBEY A 9 #96Q [ FREELINK FOR EACH ONE 5 #9LB TCLEAN2 7 #=62 LDN 1 0 7 #=KL LDN 6 0 5 #?5= TCLEAN1 21 #?JW ORX 4 GSIGN [MARK LINK TO CHECK FOR I.I.LEVELS 5 ##4G TCLEAN 8 ##J6 SBX 4 FX1 17 #*3Q CLEANX 6,1 [CLEANUP CPAT CHAIN 9 #*HB STO 6 CPLEV(2) 21 #B32 BPZ 4 TCLEAN6 [J IF NO NEED TO CHECK FOR I.I.LEVELS 18 #BGL LDX 6 EXT+3(2) [COUNT OF I.I.LEVS FREED 9 #C2= BZE 6 TCLEAN5 5 #CFW TCLEAN4 7 #C_G FREELINK 9 #DF6 BCT 6 TCLEAN4 5 #DYQ TCLEAN5 14 #FDB ERX 4 GSIGN [UNSET B0 5 #FY2 TCLEAN6 8 #GCL ADX 4 FX1 7 #GX= EXIT 4 0 4 #HBW # 20 #HWG [ S/R FOR REDUCING CPLEV AND RESETTING AMFMSK FOR THE HIGHER LEVEL 20 #JB6 [ IN MOST CASES S/R ALSO FREES CPB/CALAS AND CLB PAIR - ON ENTRY 13 #JTQ [ X2 POINTS TO /CALAS AND X3 TO CLB 4 #K*B # 15 #KT2 UPLEV FREECORE 2 [FREE /CALAS 14 #L#L FREECORE 3 [FREE CLB 5 #LS= UPLEV1 7 #M?W LDN 6 1 17 #MRG SBS 6 CPLEV(2) [REDUCE CPLEV BY 1 10 #N?6 MHUNTW 3,CPB,CALAS 21 #NQQ LDX 6 CMFMSK(3) [ RESET AMFMSK TO CMFMSK AT CURRENT 15 #P=B STO 6 AMFMSK(2) [ NEW LEVEL 7 #PQ2 EXIT 5 0 4 #Q9L # 18 #QP= [ S/R TO FREE COMDAT/CBUFF AND CLEAR THE MULTILINERY BIT 4 #R8W # 5 #RNG MCLEAR 18 #S86 BBUS 2,EXT+11(2),NOMUL [ SKIP IF NOT MULTILINERY 21 #SMQ HUNTW 3,COMDAT,CBUFF [ IF NO BLOK, ML BIT MAY STILL BE SET 21 #T7B BNG 3 NFND [ EG ON ABANDONING, SO J TO CLEAR I 18 #TM2 FREECORE 3 [ FREE COMDAT/CBUFF BLOC 18 #W6L NFND LDCH 4 EXT+11(2) [ CLEAR MULTILINERY BIT 8 #WL= ANDN 4 #67 9 #X5W DCH 4 EXT+11(2) 7 #XKG NOMUL EXIT 5 0 4 #Y56 # 10 #YJQ MENDAREA 50,K99COMPROB 4 #_4B #END 8 ____ ...21510611000500000000