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