15 22FL #SEG MOPCOM8 [A C PUTMAN 16 22PD ...[ (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD. 1982 18 22_= #LIS K0MOPCOM>K0MOP>K0COMMAND>K0GREATGEO>K0ALLGEO 9 23DW 8HMOPCOM 4 23YG # 6 248# # K1MOPCOM: 19 24J3 # DEALS WITH A MOP COMMAND FOR A MESSAGE BUFFERING MULTIPLEXOR 4 24XQ # 10 25CB SEGENTRY K1MOPCOM,XK1 8 25X2 ONMSK #575620 8 26BL PMPA 2HPM 6 26DJ #UNS CRAMP 4 26GG ( 4 26JD XNS 8 26LB 4HNS 9 26N# 8HNEWSPEC 8 26Q= XLI 4HLI 4 26S8 ) 4 26W= # 5 28*6 XDEVS 8 28SQ #HAL AMXOR+ADEVS,0 4 29#B # 10 29S2 ...SKLNK LINK IPBSTARB,8 6 2=YD #UNS CRAMP 10 2?6Y ...SLLNK LINK IPBSTARB,9 10 2?*D ...RDLNK LINK IPBSTARB,4 21 2?HY ...VRLNK LINK IPBSTARB,10 [MOP ON LINK FOR A V7900 AMOP/IPBIN 4 2?QG # 20 2?XN SEGREM 0,#400:0,#01020000 [STOP REMOTE INPUT SUPERVISORY 20 2#4W 0,#400:0,#01030000 [END OF IPB OUTPUT SUPERVISORY 12 2#=6 SEGCLOSE 0,#400:0,#01110000 4 2#PQ # 4 2*9B # 9 2*P2 PAPFERR +APFERR 9 2B8L PJMOP1 +JMOP1 6 2B*S #UNS CRAMP 4 2BH2 #SKI 9 2BN= PJMOP2 +JMOP2 9 2C7W PJMOP3 +JMOP3 6 2C9S #UNS CRAMP 4 2C?Q ( 20 2C*N PJMOP5 +JMOP5 [MOP NOT ALLOWED DUE TO PREVIOUS 18 2CCL # INCOMPLETED MOP COMMAND 20 2CFJ PJMOP6 +JMOP6 [MOP NOT ALLOWED DUE TO ONLINE 15 2CHG # CONCEPTUALS 4 2CKD ) 9 2CMG PJUNITERR +JUNITERR 9 2FL2 PJPARMIS +JPARMIS 9 2G5L PJRES +JRES1 9 2H4W PJSETP8 +JSETP8 9 2HJG PJNOCONF +JNOCONF 6 2HPN #UNS CRAMP 19 2HWW PJCONFUPD +JCONFUPD [CONFIG UPDATE BEING TAKEN 10 2J46 ZGEO +JPDGEOPER 10 2JHQ ZSWI +JPDSWITCH 10 2K3B ZTRA +JPDTRANSCT 10 2KH2 ZFAI +JPDFAILCT 4 2L2L # 14 2LG= T1 LDX 7 PJSETP8(1) [FIRST 17 2L_W PMIS LDX 6 PJPARMIS(1) [PARAMETER MISSING 8 2MFG COMERRX 6,7 4 2PD2 # 20 2PXL T5 LDX 6 PJUNITERR(1) [UNIT IS NOT A SUITABLE DEVICE 8 2QC= NOOUT LDX 2 FX2 8 2QWW LGEOG ,5 8 2RBG OUTNUM 5,0 7 2RW6 PERR3 COMERRX 6 4 2S*Q # 4 2SJD T5A 9 2SR6 LDX 5 JSCEQ(3) 19 2S_S ANDN 5 #7777 [NO OF SIGNIFICANT CHARACTERS 18 2T8G OUTPARAM 5,JSCER,CPAR,JSCE [PASS PERIPH DESC PARAM 20 2TC8 LDX 6 PJUNITERR(1) [UNIT IS NOT A SUITABLE DEVICE 8 2TKW BRN PERR3 4 2TSL # 19 2W#= T6A LDX 6 PJRES(1) [UNIT NOT IN REQUIRED STATE 8 2WRW BRN NOOUT 4 2X?G # 6 2XBL #UNS CRAMP 21 2XFQ T6B LDX 6 PJMOP5(1) [N/A DUE TO INCOMPLETED MOP COMMAND 6 2XJW #UNS CRAMP 4 2XN2 #SKI 19 2XR6 T6B LDX 6 PJMOP2(1) [MOP TEMPORARILY NOT ALLOWED 8 2Y=Q BRN T6 4 2YQB # 6 2YYL #UNS CRAMP 4 2_6W #SKI 4 2_*6 ( 9 2_HB T6C TESTRPN2 NULL,T6B 21 2_PL LDX 6 PJNOCONF(1) [NO CONFIGURATION DEFINED IN THE IDF 8 329= BRN NOOUT 4 32?8 ) 6 32*6 #UNS CRAMP 4 32C4 ( 9 32F2 T6C TESTRPN2 NULL,T6A 19 32GY LDN 5 1 [INDICATE NULL CONFIG IN IDF 9 32JW BRN UCONFA 4 32LS ) 4 32NW # 6 32S* #UNS CRAMP 4 32XS ( 10 333? T6D TESTRPN2 CONCONL,T6A 20 336Q LDX 6 PJMOP6(1) [N/A DUE TO ONLINE CONCEPTUALS 8 33=9 BRN T6 4 33*N ) 4 33F7 # 19 33JL T7 LDX 6 PJMOP1(1) [UNIT ALREADY MOPPED ON/OFF 8 33N6 BRN T6 4 3572 # 10 35LL TGERR GEOERR 1,NOALINES 9 366= TBGE GEOERR 1,BREAKIN 8 36DM POUT SBX 4 FX1 17 36R4 STO 4 AWORK4(2) [ST. RELATIVES LINK 7 375G LDN 4 5 16 37K6 LDN 3 1 [PARAMETER LENGTH 8 384Q OUTPACKX 4,3,7 9 38JB LDX 4 AWORK4(2) 8 38S8 ADX 4 FX1 7 3942 EXIT 4 0 6 394J #UNS CRAMP 4 3956 ( 4 395N # 16 396= # SUBROUTINE TO PASS GEOG NO PARAMETER FOLLOWED 10 396S # BY INFORM TO OPERATOR 4 397B # 5 397Y OUTPUT 16 398G LGEOG ,6 [PICK UP GEOG NO 8 3994 SBX 5 FX1 8 399L GEOPACK 6,6,6 10 39=8 OUTPACK 6,1,GEOPER 8 39=Q INFORMX ,4,1 8 39?# ADX 5 FX1 7 39?W EXIT 5 0 4 39#D # 18 39*2 # SUBROUTINE TO CHECK FOR PRESENCE OF PARAMETER STARTING 18 39*J # WITH A PARTICULAR CHARACTER STRING. NO OF CHARS IN X5, 11 39B6 # CHAR STRING BEGINS IN X6 4 39BN # 5 39C= SPARA 8 39CS SBX 7 FX1 8 39DB PARABEG 1,5 10 39DY MHUNT 1,CPB,CUNI 8 39FG ADX 7 FX1 7 39G4 EXIT 7 0 4 39GL ) 4 39HL # 19 3=3= # SEARCH INTO X2 FOR THE BLOCK WHOSE TYPE IS IN AWORK3(FX2). 20 3=GW # START FROM CONTENTS OF X3, EXIT 0 IF NOT FOUND, EXIT 1 IF OK. 4 3?2G # 7 3?G6 SLINE LDX 2 3 9 3?_Q SLINF LDX 2 FPTR(2) 9 3#FB LDX 0 ATYPE(2) 9 3#_2 BXGE 0 CACT,(6) 8 3*DL SMO FX2 9 3*Y= TXU 0 AWORK3 8 3BCW BCS SLINF 7 3BXG EXIT 6 1 4 3CC6 # 20 3DW2 NBR SBX 6 FX1 [THIS MACRO HAS A LONG EXPANSION 7 3DXJ #UNS CCERROR 4 3D_6 ( 9 3F2N LDX 0 ACTNUM(1) 8 3F4= SMO FX2 16 3F5S STO 0 ACOMMUNE9 [SAVE ACT NUMBER 19 3F7B DOWN MOPCOMB,2 [DOWN TO DO NBREAKIN MACRO 4 3F8Y ) 7 3F=G #UNS CCERROR 4 3F#4 #SKI 4 3FB8 ( 7 3FD# #UNS ENBREAKIN 10 3FGD NBREAKIN 1,5,,NBROK 7 3FJJ #UNS ENBREAKIN 4 3FLN #SKI 8 3FNS NBREAKIN 1,5 4 3FQY ) 19 3FT= SBN 6 1 [EXIT 0 IF BREAK-IN FAILED 5 3G54 NBROK 15 3G#W ADX 6 1 [OR +1 IF OK 7 3GSG EXIT 6 1 4 3GTF # 21 3GWD # SUBROUTINE TO SET UP AN AMXOR/IOUT BLOCK AND MOVE IN SUP SEGMENT 4 3GXC # 5 3GYB SETIOUT 8 3G_* SBX 6 FX1 11 3H2# SETNCORE 3,2,AMXOR,IOUT,1 7 3H3? SMO 5 20 3H4= LDN 0 SEGREM(1) [ADDRESS OF REQUIRED SUPERVISORY 9 3H59 LDN 1 IMOPTY(2) 19 3H68 MOVE 0 3 [MOVE INTO AMXOR/IOUT BLOCK 8 3H77 ADX 6 FX1 7 3H86 EXIT 6 0 4 3H95 # 20 3H=4 # SUBROUTINE TO CHAIN AMXOR/IOUT AT END OF AMOP/IPBOUT ACTIVITY 4 3H?3 # 5 3H#2 OUTCHAIN 10 3H#_ MHUNTW 1,AMXOR,IOUT 10 3H*Y LDX 2 IPBRING(3) 9 3HBX SBN 2 IPBRING 20 3HCW LDX 5 2 [ADDRESS OF IPBOUT ACTIVITY BLK 10 3HDT LDX 2 ACTRING(2) 9 3HFS SBN 2 ACTRING 20 3HGR CHAIN 1,BPTR(2) [CHAIN AT END OF IPBOUT ACTIVITY 7 3HHQ LDX 2 5 8 3HJP LDCT 0 #100 9 3HKN ANDX 0 IPBSW(2) 19 3HLM BZE 0 OUTEX [J IF IPBOUT ALREADY AWAKE 9 3HML ERS 0 IPBSW(2) 6 3HNK FPUT 5 3HPJ OUTEX 7 3HQH EXIT 6 0 4 3HQL # 20 3HQM # SUBROUTINE TO TEST IF AN IPB IS A VIRTUAL 7900 AND IF TRUE TO 13 3HQN # START MOPPING ON THE VIRTUAL 7900 19 3HQP # ON ENTRY X3 -> THE IPB INPUT ACTIVITY ; X1=FX1 ; X2=FX2 18 3HQQ # EXITS+1 IF THE IPB IS NOT A VIRTUAL 7900 ELSE EXITS+0 7 3HQR # LINK IN X6 6 3HQS V7900MOPON 11 3HQT JV7900 CPPTR(3),V7900SUP 21 3HQW EXIT 6 1 [IPB IS NOT A VIRTUAL 7900 : EXIT +1 5 3HQX V7900SUP 21 3HQY MFREEW IDF,IDENTIFIERS [DISCARD THIS BLOCK AS K11IPBSTART 16 3HQ_ [WILL SET IT UP 21 3HR2 LINKSET 3,VRLNK(1) [SET LINK IN THE AMOP/IPBIN ACTIVITY 16 3HR3 [TO K10IPBSTART 19 3HR4 LDCT 0 #100 [UNSET ASLEEP FLAG IF SET AND 9 3HR5 ORS 0 IPBSW(3) 9 3HR6 ERS 0 IPBSW(3) 21 3HR7 LDX 2 3 [PUT ACTIVITY ON THE ACTIVITY LIST 6 3HR8 FPUT 14 3HR9 EXIT 6 0 [EXIT +0 4 3HR= # 21 3HR? # SUBROUTINE TO TEST IF THE IPB IS A VIRTUAL 7900 AND IF TRUE AND 16 3HR# # MOPPING OFF (IE CLALLOC HAS BEEN ISSUED), TO 21 3HR* # 1. CLEAR COUNT OF GEORGE TRANSFERS ISSUED TO INDICATE THE VIRTUAL 20 3HRB # 7900 IS NO LONGER 'INITIALISE'D AND CAN BE 'ACCESS'ED AGAIN 18 3HRC # ON ENTRY X2=FX2 AND CPPTR(2) -> THE IPB DEVICE LIST 17 3HRD # EXITS+1 IF IPB IS NOT A VIRTUAL 7900 ELSE EXITS+0 7 3HRF # LINK IN X7 4 3HRG # 4 3HRQ # 21 3J?B # ANALYSE PARAMETERS FOR VALIDITY ; CHECK EXISTENCE OF ALINES BLOCK, 20 3JR2 # THEN GIVE IDF MACRO ; IF 'ON' , SET UP ALINES BLOCK , SCANNING 21 3K=L # ACTIVITY AND FLAG AREA ; IF 'OFF' , CLOSE ALL LINES DOWN , FREE 21 3KQ= # ALINES BLOCK AND DISESTABLISH FLAG AREA ; AT END , AN APPROPRIATE 15 3L9W # MESSAGE IS SENT TO THE OPERATORS' CONSOLE 4 3LPG # 17 3M96 XK1 SPARAPAS [GET 'ON' OR 'OFF' 10 3MNQ MHUNT 3,CPB,CUNI 9 3N8B LDX 4 ANUM(3) 20 3NN2 BNG 4 T1 [J. IF 1ST. PARAMETER MISSING. 17 3P7L BZE 4 T1 [1ST. PARAMETER NULL 17 3PM= ANDN 4 #7777 [MASK OUT CHAR. CT. 7 3Q6W SBN 4 4 18 3QLG BPZ 4 PFERR [>3 CHARS : FORMAT ERROR 9 3R66 LDX 4 APARA(3) 7 3RKQ SRL 4 6 17 3S5B ERX 4 ONMSK(1) [COMPARE WITH 'ON ' 8 3SK2 BZE 4 ON1 17 3T4L ERN 4 #1066 [COMPARE WITH 'OFF' 8 3TJ= BZE 4 OFF1 8 3W3W #SKI K6IPB>100-100 4 3WHG ( 5 3X36 [TRACES 9 3XGQ LDX 4 APARA(3) 8 3Y2B SRL 4 12 17 3YG2 ERN 4 #6462 [COMPARE WITH ^TR^ 8 3Y_L BNZ 4 TRAC0 7 3_F= LDCT 0 2 9 3_YW ERS 0 ASWITCH1 6 42DG ENDCOM 5 42D_ TRAC0 21 42FD ERN 4 #5743$#6462 [COMPARE WITH ^OC^ (OVERLOAD CODE) 8 42FX BNZ 4 PFERR 21 42GB # RECORD OVERLOAD CODE IN IPBSW OF EVERY AMOP/IPBOUT ACT 14 42GT # AND WAKE THEM IF NECESSARY 19 42H# # ^OC0^ SIMULATES SYSTEM CONTINUE SUPERVISORY SEG 21 42HR # ^OC1^ SIMULATES SYSTEM OVERLOAD/SUSPEND IPB OUTPUT W/ PR0 20 42J= # ^OC2^ SIMULATES SUSPEND IPB OUTPUT WITH PRIORITY 10 20 42JP # ^OC3^ SIMULATES SUSPEND IPB OUTPUT WITH PRIORITY 20 8 42K8 ORX 3 GSIGN 9 42KM LDCH 4 APARA(3) 10 42L6 LDN 3 IPBADDR-IPBL 9 42LK TRAC1 LDX 3 IPBL(3) 8 42M4 BNZ 3 TRAC2 6 42MH ENDCOM 10 42N2 TRAC2 LDX 2 IPBRING(3) 9 42NF SBN 2 IPBRING 7 42NY TXU 2 3 8 42PC BCC TRAC1 8 42PW ORX 2 GSIGN 9 42Q* DCH 4 IPBSW(2) 9 42QS ANDX 2 BITS22LS 8 42R? LDCT 0 #200 9 42RQ ORS 0 IPBSW(2) 8 42S9 BNZ 4 TRAC3 21 42SN ERS 0 IPBSW(2) [UNSET SY OV FLAG IF SIMULATING SY CU 8 42T7 TRAC3 LDCT 0 #100 9 42TL ANDX 0 IPBSW(2) 8 42W5 BZE 0 TRAC1 9 42WJ ERS 0 IPBSW(2) 6 42X3 FPUT 8 42XG BRN TRAC1 5 42Y6 [TRACEE 4 43CQ ) 10 43XB PFERR LDX 6 PAPFERR(1) 17 44C2 BRN PERR3 [GIVE COMMAND ERROR 4 44WL # 18 45B= ON1 LDCT 4 #400 [SWITCH TO INDICATE 'ON' 17 45TW OFF1 FREECORE 3 [FREE CPB/CUNI BLOCK 7 46*G LDN 3 2 9 46T6 PARSORTX TBGE,3 10 47#Q HUNT 3,CPAR,JSCE 8 47SB BNG 3 NFERR 12 48#2 SAWCEJX JSCEB(3),PLOC,T5A,T5A 9 48RL PLOC LDX 3 JSCEP(3) 9 49?= STO 3 CPPTR(2) 8 49QW LTYPE ,7 8 4==G SBN 7 10 17 4=Q6 BZE 7 YPX1 [TYPE 10 : UNIPLEXOR. 21 4?9Q BCT 7 NPLX [J. IF NOT UNIPLEXOR OR MULTIPLEXOR. 20 4?PB YPX1 FMOPACT 3,CPPTR(2) [FIND THE AMOP FOR THIS DEVICE 19 4#92 BNG 3 T5 [IF NONE IT MUST BE AN EXOTIC 9 4#NL ACROSS MOPCOMB,1 4 5Q5Q # 18 5QKB NPLX SBN 7 24-11 [J. IF NOT IPB EITHER. 8 5R52 BNZ 7 T5 19 5RJL FMOPACT 3,CPPTR(2),IPB [FIND THE AMOP FOR THIS IPB 19 5S4= BNG 3 T5 [IF NONE IF MUST BE AN EXOTIC 17 5SHW LDX 0 XDEVS(1) [BLOCK TYPE FOR IPB. 9 5T3G STO 0 AWORK3(2) 16 5TH6 BNG 4 ON3 [J. IF MOP ON. 19 5TQY LDCT 7 #10 [FOR ^BEING MOPPED ON^ CHECKS 9 5W2Q JALLOC ,POFFZ 8 5WGB BRN POFF1 8 5X22 POFFZ JONL ,T6A 8 5XFL BRN POFF 9 5X_= POFF1 ANDX 7 IPBSW(3) 19 5YDW BZE 7 T7 [NOT BEING MOPPED ON : ERROR 7 5YGK #UNS CCERROR 4 5YJ# ( 10 5YL3 LDX 0 IPBRING(3) 9 5YMQ SBN 0 IPBRING 7 5YPF TXU 0 3 17 5YR8 BCC POFF [J IF NO OUTPUT ACT 7 5YSX LDCT 0 4 10 5YWL SMO IPBRING(3) 10 5YY* ANDX 0 IPBSW-IPBRING 19 5_24 BZE 0 POFF [J IF NOT LINK LEVEL ERROR 8 5_3R LDCT 0 #20 9 5_5G ORS 0 IPBSW(3) 8 5_79 SC4 COOR4 #30 8 5_8Y LDCT 0 #20 9 5_=M ANDX 0 IPBSW(3) 21 5_#B BNZ 0 SC4 [J IF NOT YET CLEARED UP AFTER ERRROR 4 5_B5 ) 20 5_D6 POFF LDCT 6 #20 [J. IF ALREADY BEING MOPPED OFF. 9 5_XQ ANDX 6 IPBSW(3) 8 62CB BNZ 6 T6B 6 62D* #UNS CRAMP 4 62F# #SKI 4 62G? ( 21 62M8 YMOPOFF XBI,T6B [J. IF IDF SAYS CAN'T BE MOPPED OFF 4 62YP ) 6 632D #UNS CRAMP 4 6347 ( 9 637K YMOPOFF XBI,T6D 4 63#Q ) 21 63BL LDCT 4 #20 [SET THE ^MOPPING OFF^ BIT FOR IPBIN. 9 63W= ORS 4 IPBSW(3) 21 64*W TESON ANDX 7 IPBSW(3) [WAS IT BEING MOPPED ON? & STILL IS? 6 64F2 #UNS CRAMP 9 64J6 BZE 7 TESLIM 6 64M= #UNS CRAMP 4 64QB #SKI 8 64TG BZE 7 TESPM 21 65*6 COOR4 #30 [IF SO WAIT FOR START UP TO FINISH 8 65SQ LDCT 6 #20 9 66#B ANDX 6 IPBSW(3) 16 66S2 BNZ 6 TESON [WRONG WAKE UP? 15 67?L BRN XEND [J. IF OK. 4 67R= # 7 68=W VPD0 ANDN 0 4 20 68QG BZE 0 VPD1 [J. UNLESS 'TO BE SCANNED' SET 5 692# VPD1A 21 69=6 ANDN 7 #71 [UNSET TO BE SCANNED AND SETTING UP 13 69PQ BRN VPDAT [BITS 4 69_J VPD1 8 6=9B BNZ 1 VPD2 18 6=F8 BRN VPD1A [J NO ACTIVITY CREATED 8 6=P2 VPD2 SBN 1 A1 7 6?8L LDX 2 1 9 6?N= VPD2A LDX 2 BPTR(2) 9 6#7W LDX 0 ATYPE(2) 10 6#MG BXL 0 CACT,VPD2A 9 6B6B LDXC 0 IWAIT(1) 8 6BL2 BCC VPD4 9 6C5L STO 0 IWAIT(1) 7 6CK= LDX 6 1 6 6D4W FPUT 7 6DJG LDX 1 6 10 6F46 VPD4 LDX 2 A1+FPTR(1) 8 6FHQ SBN 2 A1+4 8 6G3B BRN VPDAT 4 6GH2 # 6 6GHR #UNS CRAMP 4 6GJJ ( 5 6GK* TESLIM 7 6GL6 LDN 5 2 8 6GLX SMO FX1 8 6GMN LDX 6 XLI 18 6GNF CALL 7 SPARA [LOOK FOR LI PARAMETER 9 6GP= LDX 0 ANUM(1) 19 6GQ3 STO 0 AWORK4(2) [SET -VE IF PARAMETER ABSENT 7 6GQS FREECORE 1 5 6GRK TESPM 8 6GSB SMO FX1 8 6GT7 LDX 6 PMPA 18 6GTY CALL 7 SPARA [LOOK FOR PM PARAMETER 17 6GWP LDN 7 0 [IN CASE INOPERABLE 4 6GXG ) 6 6GY? #UNS CRAMP 4 6G_4 #SKI 4 6G_T ( 7 6H2L TESPM LDN 5 2 8 6HG= SMO FX1 8 6H_W LDX 6 PMPA 8 6JFG PARABEG 1,5 10 6J_6 HUNT 1,CPB,CUNI 4 6K8Y ) 9 6KDQ LDX 0 ANUM(1) 16 6KYB BNG 0 TESP1 [J IF NO PARAM 10 6LD2 LDX 2 IPBRING(3) 11 6LXL ORS 4 IPBSW-IPBRING(2) 7 6MC= TESP1 FREECORE 1 18 6MWW OKON CALL 6 SLINE [FIND THE ADEVS BLOCK. 19 6NBG BRN UINOP [NONE - CHECK INOPERABILITY. 19 6NW6 LDX 4 ALOGLEN(2) [FIND THE NUMBER OF ENTRIES. 7 6P*Q SBN 4 4 20 6PTB LDX 5 4 [RELATIVE POINTER TO LAST ENTRY. 7 6Q*2 SRL 4 2 20 6QSL SBN 5 4 [SO WE WONT LOOK AT DUMMY ENTRY. 19 6R#= SMO FX2 [SAVE THE NUMBER OF ENTRIES. 9 6RRW STO 4 AWORK2 20 6S?G SLOOP ADX 2 5 [POINT TO NEXT IDENTIFIER ENTRY. 11 6SR6 LDCH 0 A1+4+FOURTHWD(2) 7 6T=Q LDX 7 0 7 6TQB ANDN 0 6 18 6W=2 ORN 7 #10 [SET ^MOPPING OFF^ BIT. 10 6WPL LDX 1 A1+BPTR+4(2) 7 6WWS #UNS CCERROR 4 6X42 #SKI 21 6X9= BNZ 0 VPD0 [J. IF SETTING UP OR TO BE SCANNED 7 6X=M #UNS CCERROR 4 6X#4 ( 21 6X*F BZE 0 NSEU [J IF NOT SETTING UP OR TO BE SCANNED 7 6XBW ANDN 0 4 17 6XD? BNZ 0 VPD0 [J IF TO BE SCANNED 15 6XFN BZE 1 VPD0 [J IF NO ACTY 8 6XH5 SBN 1 A1 16 6XJG BRN XBULK [J TO WAKE ACTY 4 6XKX NSEU 4 6XM# ) 8 6XNW BZE 1 NODCB 6 6XP7 #UNS CLSKI 4 6XPD ( 11 6XPR LDCH 0 A1+4+FOURTHWD(2) 7 6XQN ANDN 0 1 19 6XRK BZE 0 NCONL [J IF NOT RINGED TO CONDCB 7 6XSG LDX 6 2 14 6XTC [ SAVE X2 7 6XW# LDX 7 1 17 6XX9 ADN 6 A1+4 [POINT TO THIS ENTRY 17 6XY6 CONMOPOFF 7,6 [REMOVE FROM CONDCB 7 6X_3 LDX 2 6 20 6X_Y SBN 2 A1+4 [RESTORE NORMAL POSN REL ENTRY 15 6Y2T [ RESTORE X2 11 6Y3Q LDCH 7 A1+4+FOURTHWD(2) 16 6Y4M ORN 7 #10 [SET MOPPING OFF 17 6Y5J ANDN 7 #52 [UNSET ATTACHED,ONLINE 8 6Y6F BRN NDCB1 5 6Y7B NCONL 4 6Y7Y ) 19 6Y8G LDN 6 #400 [J. IF ALREADY DEALT WITH. 11 6YN6 ANDX 6 IWAIT-A1-FPTR(1) 8 6_7Q BNZ 6 VPD2 20 6_MB LDEX 0 A1+4+FOURTHWD(2) [J. ACCORDING TO IDENTIFIER TYPE. 18 6_X8 ANDN 0 #17 [MASK OUT DEVICE NO. ONLY 8 7272 SBN 1 A1 7 72LL SMO 0 8 736= BRN TABL 4 73KW # 15 745G TABL BRN XINT [MOP CONSOLE. 8 74K6 BRN TGERR 8 754Q BRN TGERR 14 75JB BRN XBULK [7020 LP. 14 7642 BRN XBULK [7020 CR. 15 76HL BRN XCONS [7020 T/W. 14 773= BRN XBULK [7020 TR. 14 77GW BRN XBULK [7020 TP. 15 77LR NULL [RESERVED. 15 77QN NULL [RESERVED. 15 77WK BRN XINT [MOP DISPLAY. 4 782G # 15 78G6 XBULK LDXC 0 IWAIT(1) [J. IF IDLE. 8 78_Q BCS SLEPT 21 79FB NOTAC LDX 1 BPTR(1) [FIND THE ACTIVITY AND PUSH IT OUT 19 79_2 LDX 0 ATYPE(1) [OF ANY ^PLEASE ENGAGE^ LOOP. 10 7=DL BXL 0 CACT,NOTAC 7 7=Y= LDX 2 1 8 7?CW WAITSTOP NOWAT 8 7?XG BRN NOWAT 4 7#C6 # 20 7#WQ XCONS LDXC 0 IWAIT(1) [J IF CONSOLE ACTIVITY IS IDLE 7 7*2M #UNS CCERROR 4 7*6J #SKI 4 7*=F ( 8 7*BB BCS SLEPT 21 7*W2 ADN 1 A1 [SET X1-> RING ELEMENT FPTR FOR SETMO 8 7B*L BRN SETMO 4 7BFH ) 7 7BKD #UNS CCERROR 8 7BP* BCC NOTAC 20 7BT= SLEPT STO 0 IWAIT(1) [OTHERWISE UNSET ^ASLEEP^ MARKER. 21 7C#W NXTBL LDX 1 BPTR(1) [FIND THE ACTIVITY AND GIVE IT A KICK 9 7CSG LDX 0 ATYPE(1) 10 7D#6 BXL 0 CACT,NXTBL 7 7DRQ LDX 2 1 6 7F?B FPUT 8 7FR2 BRN NOWAT 4 7G=L # 9 7GQ= XINT HUNTACT CPAT,2,1 17 7J96 LDX 1 2 [X1-> CPAT(FOR NBR) 6 7J?4 #UNS CRAMP 4 7J*2 ( 8 7JBY SMO FX2 9 7JDW LDX 0 AWORK4 20 7JGS BPZ 0 ZLIM [J IF LIMBO PARAMETER SPECIFIED 4 7JJQ XNBR 4 7JLN ) 8 7JNQ CALL 6 NBR 8 7NKQ BRN NSTPD 5 7NTJ SMARKED 8 7P5B CALL 6 SLINE 8 7PK2 BRN TINOP 7 7Q4L ADX 2 5 10 7QJ= LDX 1 A1+BPTR+4(2) 10 7R3W LDXC 0 IWAIT-A1(1) 8 7RHG BCC NOW2 8 7S36 SBN 1 A1 9 7SGQ STO 0 IWAIT(1) 7 7T2B LDX 6 2 9 7TG2 HUNTACT CPAT,2,1 6 7T_L FPUT 7 7WF= LDX 2 6 8 7WYW BRN NOW1 4 7X2? # 6 7X3N #UNS CRAMP 4 7X55 ( 4 7X6G ZLIM 15 7X7X BRUSEN XNBR,1 [J IF NO USER 9 7X9# LDX 6 JOBNO(1) 18 7X=P DOWN PROCONTX,21 [TRY TO SEND INTO LIMBO 18 7X#6 BRN NSTPD [NOT CURRENTLY POSSIBLE 18 7X*H BRN SMARKED [BEING SENT INTO LIMBO 4 7XBY ) 4 7XDG # 17 7XY6 NOWAT CALL 6 SLINE [RELOCATE THE ENTRY. 19 7YCQ BRN TINOP [NONE - CHECK INOPERABILITY. 7 7YXB ADX 2 5 19 7_C2 NOW1 LDX 1 A1+4+BPTR(2) [CHECK IF ALREADY FINISHED 21 7_WL NOW2 ANDN 7 #37 [ENSURE AVAILABILITY MARKER IS O.K. 18 82B= LDXC 0 A1+4+FOURTHWD(2) [AFTER THE COORDINATIONS. 8 82TW BCC OKAV 8 83*G ORN 7 #40 8 83T6 OKAV BZE 1 NODCB 20 84#Q SETMO LDN 0 #400 [MARK ACTIVITY AS ^DEALT WITH^. 11 84SB ORS 0 IWAIT-A1-FPTR(1) 7 85#2 VPDAT SBN 5 4 19 85RL DCH 7 A1+4+FOURTHWD(2) [RESET THE IDENTIFIER ENTRY. 17 86?= BPZ 5 OLINE [J. BACK FOR NEXT. 21 87=G WAIT COOR4 #62 [GETS WOKEN UP EVERY FONINTP SECONDS. 18 889Q LDX 5 AWORK2(2) [RESET THE POINTERS FOR 20 88PB SLL 5 2 [ANOTHER SCAN THROUGH THE BLOCK. 9 8992 LDX 4 AWORK2(2) 7 89NL SBN 5 4 19 8=8= OLINE CALL 6 SLINE [RELOCATE THE ADEVS BLOCK. 18 8=MW BRN TINOP [NONE - GONE INOPERABLE? 8 8?7G BRN SLOOP 4 8?M6 # 17 8#6Q NSTPD CALL 6 SLINE [FIND POINTER AGAIN. 21 8#LB BRN TINOP [MAY HAVE CLEARED UP ON INOPERABLE. 8 8*62 ANDN 7 #37 7 8*KL ADX 2 5 17 8B5= LDX 1 A1+4+BPTR(2) [J. IF STILL BUSY. 17 8BJW LDXC 0 A1+4+FOURTHWD(2) [RESET AVAILABLE BIT, 17 8C4G BCC PKAV [TO BRING UP TO DATE. 8 8CJ6 ORN 7 #40 8 8D3Q PKAV BNZ 1 VPD2 21 8DHB NODCB ANDN 7 #73 [UNSET THE ^SCANNING^ BIT, IF SET. 5 8DR8 NDCB1 21 8F32 BCT 4 VPDAT [J. IF NOT ALL LINES YET FINISHED. 21 8FGL DCH 7 A1+4+FOURTHWD(2) [MAY NOT BE NECCESSARY, BUT PLAY SAFE 14 8G2= SETNCORE IWAIT-A1+1,1,AMXOR,ADCB,,1,2 20 8GFW [SET UP A DUMMY DCB FOR ROUTING 10 8G_G STOZ IDENTNO(1) 18 8HF6 STOZ ISTATUS(1) [SET DATA WORDS TO ZERO 9 8HYQ STOZ IWAIT(1) 19 8JDB CALL 6 SLINE [RELOCATE THE ROUTING BLOCK. 21 8JY2 BRN TINOP [MAY HAVE BEEN FREED IF INOPERABLE. 19 8K82 RING2CHK A1+FPTR(1),A1+FPTR(2)[SET UP DUMMY ROUTING ENTRY. 10 8KD2 LDX 2 IPBRING(3) 8 8KDB LDCT 0 #20 19 8KDQ ANDX 0 IPBSW-IPBRING(2) [J IF MOP OFF,PM TO ONLY SEND 20 8KF6 BNZ 0 SCLOSEDOWN [CLOSE DOWN SUPERVISORY SEGMENT 19 8KFG LDN 5 0 [SET UP AMXOR/IOUT CONTAINING 17 8KFW CALL 6 SETIOUT [STOP REMOTE INPUT 19 8KG= CALL 6 OUTCHAIN [CHAIN IOUT BLK FOR OUTPUT 6 8KGL TESTINOPA 10 8KH2 MHUNTW 1,AMXOR,ADCB 17 8KHB LDX 6 IPBSW(3) [X3->AMOP/IPBIN STILL 20 8KHQ BNG 6 SCLOSE [J TO SEND CLOSE DOWN IF IPB INOP 21 8KJ6 LDCT 0 #401 [ASLEEP,CHAIN SUPERVISORY SEG BITS 21 8KJG ORN 0 #400 [SET MOPPING OFF BIT SO IPBIN CRASH 20 8KJW ORS 0 IWAIT(1) [CLOSES IDENT WHEN FAIL RECEIVED 21 8KK= COOR1 [WAIT UNTIL SUP SEGMENT IS CHAINED 18 8KKL HUNTW 1,AMXOR,IDATSG [OR INOPERABILITY OCCURS 19 8KL2 BNG 1 TESTINOPA [J TO TEST FOR INOPERABILITY 21 8KLB FREECORE 1 [END OF REMOTE INPUT OR ILLEGAL REPLY 19 8KLQ LDN 5 3 [SET UP AMXOR/IOUT CONTAINING 17 8KM6 CALL 6 SETIOUT [END OF IPB OUTPUT 19 8KMG CALL 6 OUTCHAIN [CHAIN IOUT BLK FOR OUTPUT 19 8KMW LDN 7 125 [APPROX 25 SECS WAIT ALLOWED 6 8KN= TESTINOPB 18 8KNL LDX 6 IPBSW(3) [B8,B15 LEFT SET IN IWAIT 20 8KP2 BNG 6 TFREED [J TO SEND CLOSE DOWN IF IPB INOP 16 8KPB COOR3 #41 [WAIT 1/5 SECOND 11 8KPQ HUNTW 1,AMXOR,IDATSG 20 8KQ6 BPZ 1 TFREE [J IF SUPERVISORY SEG RECEIVED 19 8KQG BCT 7 TESTINOPB [J IF FURTHER WAIT ALLOWED 18 8KQW BRN TFREED [CANNOT WAIT ANY LONGER 5 8KR= TFREE 21 8KRL FREECORE 1 [END OF REM OUTPUT OR ILLEGAL REPLY 5 8KS2 TFREED 10 8KSB MHUNTW 1,AMXOR,ADCB 5 8KSQ SCLOSE 20 8KT6 STOZ IWAIT(1) [CLEAR B8,B15 MARKERS (IF SET) 6 8KTG SCLOSEDOWN 19 8KTW LDN 5 6 [SET UP AMXOR/IOUT CONTAINING 17 8KW= CALL 6 SETIOUT [CLOSE DOWN SEGMENT 19 8KX= LDX 2 IPBRING(3) [FIND THE IPBOUT ACTIVITY. 9 8LBW SBN 2 IPBRING 18 8LWG BXE 2 3,NOSLP [J. IF NO IPBOUT ANYMORE. 10 8MB6 MHUNTW 1,AMXOR,IOUT 21 8MTQ LDX 6 2 [CHAIN IN THE ^SYSTEM CLOSE^ ORDER. 8 8N*B LDCT 4 #101 8 8NT2 CHAIN 1,2 21 8P#L LDX 2 6 [AND WAKE THE ACTIVITY IF NECCESSARY. 9 8PS= ANDX 4 IPBSW(2) 8 8Q?W BZE 4 NOSLP 9 8QRG ERS 4 IPBSW(2) 6 8R?6 FPUT 18 8RQQ NOSLP COOR1 [WAIT UNTIL CLOSED DOWN. 19 8S=B XFIN LDCT 4 #20 [UNSET THE MOPPING OFF BIT. 21 8SCJ ORN 4 1 [AND ^IPB INOP MESS SENT^ BIT,IF SET 9 8SJQ ORS 4 IPBSW(3) 9 8SQ2 ERS 4 IPBSW(3) 4 8SW9 XEND 19 8SXL JV7900 CPPTR(3),ZNDP [IPB IS A VIRTUAL 7900 : SKIP 21 8S_3 [DISENGPER MACRO AS IT IS NOT VALID 15 8T2D [FOR V7900'S 9 8T3T DISENGPER CPPTR(3) 8 8TFC BRN WNDP 11 8TJ2 ZNDP CLCOUNT CPPTR(3),GEORGE 19 8TP= WNDP LONGON #30 [WAKE UP WAITING ACTIVITIES 7 8W8W CLALLOC 8 8WNG BRN WNDUP 4 8X86 # 21 8XMQ TINOP LDN 7 0 [TEST & J. IF IPBIN ASLEEP WHILE INOP 8 8Y7B LDCT 4 #20 21 8YM2 UINOP ADSC 7 CHAINADD(3) [(SETS CHAD +VE. SO WON'T BE WOKEN UP 21 8_6L BCS XFIN [BY BLANKET FOR ENGAGE BUTTON EVENT). 21 8_L= WUNS ANDX 4 IPBSW(3) [OTHERWISE WAIT UNTIL RESTART NOTICES 19 925W BZE 4 XEND [MOP OFF BIT & CLOSES DOWN. 8 92KG COOR4 #30 8 9356 BRN WUNS 4 93JQ # 21 944B # MOP ON COMMAND : CHECK ALREADY MOPPED OFF , RIGHTED & NOT ONLINE 4 94J2 # 4 953L ON3 17 95?D JWRONG ,T6A [J. UNIT IS WRONGED 8 95H= JALLOC ,PON1 8 9Q3G BRN PON 8 9QH6 PON1 JONL ,T6A 20 9R2Q LDCT 7 #20 [OTHERWISE IS IT CURRENTLY BEING 19 9RGB ANDX 7 IPBSW(3) [MOPPED OFF? IF SO REMEMBER, 15 9S22 BZE 7 T7 [ELSE ERROR. 20 9SFL PON LDCT 6 #10 [J. IF ALREADY BEING MOPPED ON. 9 9S_= ANDX 6 IPBSW(3) 8 9TDW BNZ 6 T6B 17 9TNN YMOPON XBI,T6C [J. IF IDF SAYS NO. 6 9W35 #UNS CRAMP 4 9W5N ( 20 9W8? LDN 5 0 [INDICATE NON-NULL CONFIG IN IDF 5 9W=W UCONFA 4 9W*F ) 20 9WD6 LDCT 6 #10 [SET MARKER TO SHOW MOPPING ON. 9 9WXQ ORS 6 IPBSW(3) 21 9WXY JV7900 CPPTR(3),TESOF [IPB IS A VIRTUAL 7900 : IGNORE ANY 21 9WY2 [NEWSPEC PARAMETER AS THE IDF ALREADY 20 9WY4 [HAS THE REQUIRED CONFIGURATION 6 9WYB #UNS CRAMP 4 9W_2 ( 16 9W_L LDN 6 2 [SHORT FORM (NS) 5 9X2= UCONFC 17 9X2W PARABEG 1,6,XNS(1) [LOOK FOR PARAMETER 10 9X3G MHUNT 2,CPB,CUNI 9 9X46 LDX 0 ANUM(2) 16 9X4Q BPZ 0 UCONFR [J IF PARAM FOUND 7 9X5B SBN 6 7 19 9X62 BZE 6 UCONFG [J IF NEITHER FORM PRESENT 7 9X6L LDN 6 7 7 9X7= ADN 1 1 18 9X7W BRN UCONFC [J TO TEST FOR LONG FORM 5 9X8G UCONFG 19 9X96 BZE 5 TESOF [J IF NON-NULL CONFIG IN IDF 8 9X9Q LDX 2 FX2 16 9X=B LDX 4 PJNOCONF(1) [OUTPUT MESSAGES 16 9X?2 CALL 5 OUTPUT [NO CONFIG IN IDF 19 9X?L LDX 4 PJCONFUPD(1) [...CONFIG UPDATE BEING TAKEN 9 9X#= CALL 5 OUTPUT 16 9X#W LDN 5 1 [RESET MARKER WD 5 9X*G UCONFR 18 9XB6 ORX 5 GSIGN [SET CONFIG REQD MARKER 4 9XBQ ) 21 9XCB TESOF ANDX 7 IPBSW(3) [WAS IT BEING MOPPED OFF? & STILL IS? 8 9XX2 BZE 7 OKOFF 21 9YBL LONGHALT TESOF,#30 [IF SO WAIT FOR CLOSE DOWN TO FINISH. 8 9YW= BRN TESOF 4 9_*W # 6 9_B_ #UNS CRAMP 4 9_D4 ( 5 9_F7 OKOFF 7 9_G= LDX 0 5 7 9_H* SRC 0 1 19 9_JD BNG 0 OKOFFA [J IF NULL CONFIG SO NO BLK 19 9_KH BPZ 5 OKOFFA [J IF NO CONFIG UPDATE REQD 11 9_LL MFREEW IDF,IDENTIFIERS 5 9_MP OKOFFA 21 9_N8 CALL 6 V7900MOPON [IF V7900,USE DIFFERENT STARTUP ROUT. 21 9_N* BRN REP3 [V7900 : SKIP THIS STARTUP ROUTINE 18 9_NS GETACT AMSCAN,IPBTYPE,1 [GET SCANNING ACTIVITY 4 9_PX ) 6 9_R2 #UNS CRAMP 4 9_S5 #SKI 18 =24K OKOFF GETACT AMSCAN,IPBTYPE,1 [GET SCANNING ACTIVITY. 9 =2*6 LDX 2 BPTR(2) 16 =2SQ FPUT [& SET IT GOING. 9 =3#B LDX 2 BPTR(2) 6 =3B# #UNS CRAMP 4 =3D= ( 19 =3G8 BPZ 5 UCONFV [J IF NO CONFIG UPDATE REQD 10 =3J6 LINKSET 2,SLLNK(1) 9 =3L4 BRN UCONFW 5 =3N2 UCONFV 4 =3PY ) 10 =3S2 LINKSET 2,SKLNK(1) 6 =3_8 #UNS CRAMP 5 =46B UCONFW 10 =4?L LINKSET 3,RDLNK(1) 16 =4R= STO 3 ACC3(2) [IPBIN'S ADDRESS. 9 =5=W LDX 7 CPPTR(3) 9 =5QG STO 7 CPPTR(2) 6 =5XN #UNS CRAMP 9 =64W BNG 5 UCONFY 4 =6=6 # 8 =6PQ ON4 LDX 2 FX2 9 =79B REP1 LDX 3 FPTR(2) 19 =7P2 REP2 LDX 0 ATYPE(3) [CHAIN ANY IDF TYPE BLOCKS 17 =88L BXGE 0 CACT,REP3 [THE NEW ACTIVITY. 9 =8N= LDCH 6 ATYPE(3) 9 =97W SBN 6 IDF/64 9 =9MG LDX 3 FPTR(3) 8 ==76 BNZ 6 REP2 11 ==LQ CHAIN BPTR(3),BPTR(2) 8 =?6B BRN REP2 4 =?L2 # 17 =#5L REP3 ORX 4 GSIGN [RESET 'ON' SWITCH 7 =#K= SETALLOC 9 =*4W WNDUP LDX 6 PJMOP3(1) 8 =*JG T6 LDX 2 FX2 6 =*PN #UNS CRAMP 20 =*WW LDN 5 0 [MARKER TO INDICATE PATH THROUGH 7 =B46 OUTBLOCN 8 8 =BHQ BPZ 4 NOTCL 9 =BK= JV7900 ,NOTCL 6 =BL* #UNS CRAMP 4 =BNY ( 5 =BRH UCONFY 8 =BW6 LDX 2 FX2 4 =BYP ) 9 =C3B CLCOUNT ,GEORGE 8 =CH2 CLCOUNT ,FAIL 6 =CN8 #UNS CRAMP 8 =CTB BNG 5 NFERR 7 =D2L NOTCL LDXC 4 4 7 =DG= LDN 5 0 7 =DHD #SKI JWPHASE4 4 =DJL ( 9 =DKS LDX 4 PJMOP3(1) 15 =DM2 SBX 4 6 [J IF NOT MOP 17 =DN8 BNZ 4 NOTCOMP [COMPLETED MESSAGE 9 =DNJ JV7900 ,NOTCOMP 19 =DNN [ [DO NOT TELL HLS OF V7900... 21 =DNS [ AS IT DOES NOT USE THEM - THEY CANNO 15 =DNY [ BE ONLINED 17 =DPB LGEOG ,7 [GEOGRAPHIC NUMBER 7 =DQJ LDX 4 5 8 =DRQ SLL 4 11 17 =DSY ORX 7 4 [ADD MOP ON/OFF BIT 10 =DW6 HLSINFORM XBI,MOP,,7 5 =DX# NOTCOMP 4 =DYG ) 9 =D_W LDX 7 ZSWI(1) 17 =FFG CALL 4 POUT [OUTPUT SUBMESSAGE 8 =F_6 LGEOG ,5 8 =GDQ GEOPACK 5,5,1 9 =GYB LDX 7 ZGEO(1) 16 =HD2 CALL 4 POUT [OUTPUT GEOG. NO. 9 =HXL LDX 4 PJMOP3(1) 17 =JC= SBX 4 6 [MOP COMPLETE MESSAGE 14 =JWW BNZ 4 NTNF [-> NO 8 =KBG LGPERIS ,5 8 =KW6 BZE 5 NTNF 9 =L*Q LDX 7 ZTRA(1) 18 =LTB CALL 4 POUT [OUTPUT TRANSFER COUNT 8 =M*2 LFAILS ,5 8 =MSL BZE 5 NTNF 9 =N#= LDX 7 ZFAI(1) 17 =NRW CALL 4 POUT [OUTPUT FAIL COUNT 4 =P?G NTNF 7 =PR6 MARKAXES 18 =Q=Q INFORMX ,6,1 [MESSAGE TO OPERATORS. 6 =QQB NFERR ENDCOM 4 =R=2 # 17 =RJB XBI GEOERR 1,BREAKIN! [CANT HAVE BREAK-IN 8 =RPL #SKI K6MOPCOM>99-99 4 =S9= ( 10 =SNW MENDAREA 50,K100MOPCOM 4 =T8G ) 4 =TN6 #END 8 ____ ...41255616000100000000