{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: SETUP867)}} ====== SETUP867 ====== (George Source) **Macros used:** [[george:macro:ACROSS|ACROSS]], [[george:macro:BXE|BXE]], [[george:macro:BXGE|BXGE]], [[george:macro:BXL|BXL]], [[george:macro:BXU|BXU]], [[george:macro:CHAIN|CHAIN]], [[george:macro:CLALLOC|CLALLOC]], [[george:macro:COOR1X|COOR1X]], [[george:macro:COOR2|COOR2]], [[george:macro:COOR3|COOR3]], [[george:macro:COOR3Y|COOR3Y]], [[george:macro:DCA|DCA]], [[george:macro:DERING|DERING]], [[george:macro:DOWN|DOWN]], [[george:macro:EMPTY|EMPTY]], [[george:macro:FON|FON]], [[george:macro:FPUT|FPUT]], [[george:macro:FSHENTRY|FSHENTRY]], [[george:macro:FSHTEST|FSHTEST]], [[george:macro:FWAIT|FWAIT]], [[george:macro:GEOERR|GEOERR]], [[george:macro:GETACT|GETACT]], [[george:macro:GETACTX|GETACTX]], [[george:macro:GPERI|GPERI]], [[george:macro:HUNT2|HUNT2]], [[george:macro:LINK|LINK]], [[george:macro:LINKSET|LINKSET]], [[george:macro:LOCKC|LOCKC]], [[george:macro:MENDAREA|MENDAREA]], [[george:macro:MHUNTW|MHUNTW]], [[george:macro:MONOUT|MONOUT]], [[george:macro:OFF|OFF]], [[george:macro:OUTNUM|OUTNUM]], [[george:macro:PAIR|PAIR]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SETALLOC|SETALLOC]], [[george:macro:SETUPCORE|SETUPCORE]], [[george:macro:SUICIDE|SUICIDE]], [[george:macro:TRACE|TRACE]], [[george:macro:UP|UP]] 22FL #SEG SETUP [GENERAL EMS - COMM 22PD ...[ (C) INTERNATIONAL COMPUTERS LIMITED 1982 22^= #LIS K0SETUP>K0EMS>K0ALLGEO 23DW 8HSETUP8 23YG # E.M.S. SEGMENT 24D6 # ENTRY POINTS 24K# ...#UNS G400 24QG ...# THIS MODIFIED CHAPTER IS FOR G3PLUS-IH MK2 24XQ SEGENTRY K1SETUP,Z1SETUP 25CB SEGENTRY K2SETUP,Z2SETUP 25X2 SEGENTRY K3SETUP,Z3SETUP 26BL SEGENTRY K4SETUP,Z4SETUP 26W= #SKI CAMK7>5-5^G4 27*W ( 27TG SEGENTRY K5SETUP,Z5SETUP 28*6 ) 28SQ SEGENTRY K7SETUP,Z7SETUP 28YM #UNS AV7900S 294J SEGENTRY K8SETUP,Z8SETUP [SETS UP A VIRTUAL 7900 IN CORE 295H #UNS AV7900S 296G #SKI 297F SEGENTRY K8SETUP,(GEOERR) [KEEPS ENTRY POINTS IN RIGHT PLACE!!! 298F # 298Y # 299C # THIS IS A SPECIAL ENTRY POINT FOR THE SHARED FILESTORE ENHANCEMENT 299W # WHEN RUNNING EARLY MORNING START IN MACHINE B TO COMPARE THE 29=* # FILESTORE RESIDENCES BEING USED IN THE STORE 29=S # 29?? FSHENTRY K9SETUP,,Z9SETUP,Z9SETUP 29?Q # 29#B MENDAREA 40,K100SETUP 29*R #UNS ADUALDME 29C8 ( 29DK XTAB 29G2 SEGENTRY K80SETUP 29HC ...#REP (AENDCHAPS-KTAB)/24 29JS -1 29L9 +0 29ML ...#FID 0,((AENDCHAPS-KTAB)-(((AENDCHAPS-KTAB)/24)*24)-1),-1 29P3 XTABEND 29QD ) 29S2 SLINK1 2=?L PAIR SETUPA,1 2=BQ #UNS FSHTEST 2=FW #SKI 2=R= SLINK2 2?=W PAIR CONSET,1 2?QG SLINK3 2#=6 PAIR EMSENTER,1 2#PQ SLINK5 2*9B PAIR CHARGESC,1 2*P2 SLINK6 2B8L PAIR PERFCHAP,1 2BN= #SKI CAMK7>5-5^G4 2C7W ( 2CMG SLINK7 2D76 PAIR SETUP,5 2DLQ ) 2F6B SLINK9 2FL2 PAIR COREALLF,4 2G5L SCANTYPE 2GK= #HAL AMSCAN+AMXTYPE,0 2H4W POS #37777777 2H6? #UNS FSHTEST 2H7N #SKI 2HH6 [ 2HH# [ 2HHG [ 2H^J Z1SETUP 2J46 # CURRENT ACTIVITY IS BLANKET 2JHQ # 2JJ8 #UNS ADUALDME [ **** DUALS ONLY **** 2JJL ( 2JK4 # FIRST WE MARK THE CHAPTER TABLE ENTRIES OF THOSE CHAPTERS WHICH 2JKG # ARE NOT ALLOWED TO RUN CONCURRENTLY WITH EXECUTIVE. 2JKY # TABLE 'XTAB' CONTAINS ONE BIT PER CHAPTER. IF THE BIT IS SET 2JLB # THE CHAPTER IS NOT ALLOWED TO RUN WITH EXEC, SO WE SET BIT 9 2JLS # OF ITS 'KTAB' ENTRY TO INDICATE THIS TO THE CHAPTER CHANGER. 2JM= # 2JMN LDN 4 0 [ INITIALISE CHAPTER NO. 2JN6 LDN 5 XTABEND(1) [ => END OF TABLE 2JNJ LDX 6 BIT9 [ 'FORBIDDEN' BIT 2JP2 LDN 2 XTAB(1) [ => START OF TABLE 2JPD XNEXTWD 2JPW LDX 7 0(2) [ GET NEXT BIT WORD 2JQ# LDN 3 24 [ NO. OF BITS TO BE CHECKED 2JQQ XNEXTBIT 2JR8 BPZ 7 XNOACT [ JIF CHAPTER NOT 'FORBIDDEN' 2JRL SMO 4 2JRS LDX 0 KTAB [ GET KATB ENTRY 2JS2 TXU 0 GMINUS1 2JS8 BCC XENDKTAB [ JIF END OF VALID KTAB 2JSB LDXC 0 0 [ SEE IF IN CORE 2JSJ BCC XSETKTAB [ JIF IT ISNT ELSE 2JSQ BZE 0 XNOACT [ JIF FIXED CORE ENTRY 2JSY SMO 0 [ CORE (EG CHAPTER 'SETUP'IS IN CORE) 2JTB ORS 6 BACK2 [ SET BIT 9 IN 'BACK2'. 2JTS BRN XNOACT [ ALL DONE. 2JW= XSETKTAB 2JWN SMO 4 2JX6 ORS 6 KTAB [ ELSE SET BIT IN 'KTAB' ENTRY 2JXJ XNOACT 2JY2 ADN 4 1 [ UPDATE CHAPTER NO. 2JYD SLL 7 1 [ MOVE UP NEXT CHAPTER'S BIT 2JYW BCT 3 XNEXTBIT [ JIF NOT CHECKED ALL BITS IN THIS WD 2J^# ADN 2 1 [ ELSE UPDATE POINTER TO NEXT WORD 2J^Q BXL 2 5,XNEXTWD [ JIF NOT AT END OF TABLE YET 2K28 XENDKTAB [ ELSE WE'VE FINISHED ! 2K2L ) 2K3B GETACT BSA,CHAPTER [SET UP E.M.S. ACTIVITY 2KH2 LDX 2 BPTR(2) 2L2L LINKSET 2,SLINK1(1) [LINK TO K1SETUPA 2LG= LDCT 6 #200 [MAKE BACKING STORE PRIVILEGED 2L^W STO 6 CLONG1(2) 2MFG FPUT [PUT ON THE LIST 2M^6 LINKSET 2,SLINK5(1) [LINK TO CHARGESC 2NDQ LDCT 0 #400 2NYB ORS 0 K5 2P5J LDX 0 JTIME [INITIALISE CLEANCT TO ALLOW 2P=Q STO 0 CLEANCT [TIME OUTPUT IN EMS (8.61) 2PD2 COOR1X [LET BLANKET RUN IN EMS 2PXL # 2QC= # CURRENT ACTIVITY IS BSA/CHAPTER(E.M.S. ACTIVITY) 2QM4 # NEVER OBEYED ON MACHINE 'B' IN A TESTING ENVIRONMENT 2QWW # 2RBG Z7SETUP [FROM SETUPA 2XX3 # WITH THE 'VOPA ING4' ENHANCEMENT, THE NEED FOR DIFFERENT 2Y=Q #SKI G4 2YQB ( 2^=2 [SETUP OBJ PROG AREA 2^PL BRN O41SETUP 329= R41SETUP 32NW ) 338G STOZ APROCTIME [INITIALISE PROCESS CONTROLLER CLOCK 33N6 ACROSS SETUPARA,1 [SETUP INSTALLATION PARAMETERS. 347Q Z2SETUP 34MB LDX 0 IPBADDR [J. IF NO 7900'S ON THIS INSTALLATION 3572 BZE 0 NOIPB 35LL DOWN SETIDF,2 [OTHERWISE SET UP IDF FOR IPB'S. 366= NOIPB 36KW DOWN IDFPROP,1 375G LDX 0 GINCTSN 37K6 BNZ 0 Z4SETUP 384Q ACROSS HLSEMS,1 389Y XFSHNBZ2 38JB # 3942 Z4SETUP 3998 ...#UNS G400 39BB ... DOWN DOIHEMS,1 [INITIALISE HOOK BLK 39HL # 3=3= # LINK TO PERFORMANCE CHAPTER 3=GW GETACT GENERAL,CPERFACT 3?2G LDX 2 BPTR(2) 3?G6 LINKSET 2,SLINK6(1) 3?^Q FWAIT #54 3#3# NOPERFACT 3#FB # SET UP INCREMENT DUMP/HLS ETC. ACTIVITY. 3#^2 GETACT CPAT [GET ACTIVITY. 3*DL LDX 2 BPTR(2) [ADDRESS OF ACTIVITY 3*Y= LINKSET 2,SLINK3(1) 3BCW LDCT 5 128 [B. S. PRIVILEGED. 3BXG ORS 5 CLONG1(2) 3CC6 FWAIT #54 3CJ# XFSHNBDUMP 3CWQ NBLOK 3DBB LDX 2 FPTR(2) [HUNT FOR MOP SCANNING ACTIVITIES. 3DW2 BXE 2 FX2,NOSCAN [J. OUT IF NOT FOUND 3F*L LDX 0 ATYPE(2) 3FT= ANDX 0 HALFTOP 3G#W BXU 0 SCANTYPE(1),NBLOK 3GSG FON #102,1 [OTHERWISE WAKE ONE UP AND 3H#6 COOR3Y #102 [SLEEP UNTIL ALL HAVE FINISHED. 3HRQ NOSCAN 3J?B #SKI K6SETUP>99-99 3JR2 TRACE K7,*READY* 3K=L # OUTPUT 'GEORGE READY' ON CONSOLE. 3KQ= FON #50 [WAIT UNTIL ALL EMS OUTPUT FINISHED 3L9W COOR3 #53 3LPG HUNT2 2,CONSA,CNTRAL [HUNT FOR CONSOLE ACTIVITY 3M96 LINKSET 2,SLINK2(1) [LINK TO K1CONSIN 3MB# XFSHNBCONSA 3MNQ # WAKE UP ACTIVITIES WAITING FOR END OF EMS 3N8B # AND INITIALISE GEORGE'S TIMERS. 3NN2 STOZ CHCHCOUNT [INITIALISE COUNT OF CHAPTER CHANGES. 3P7L STOZ K7 [CLEAR GEORGE'S TIMER. 3PM= # 3Q6W OFF EMSBIT [CLEAR EMS SWITCH BIT. 3Q#4 OUTNUM GMTNOW,0 [OUTPUT 'GEORGE MEAN 3QF= MONOUT GMTIME [TIME' MESSAGE 3QLG DOWN MORNING,7 [OUTPUT GEORGE READY 3R66 FON #54 3RKQ DOWN TWINSET,2 3S5B ACROSS SUICIDE,1 3SK2 # 3T4L # 3TJ= #SKI CAMK7>5-5^G4 3W3W ( 3WHG REWFIND [FOR USE BY LOCKC 3X36 SMO FX2 3XGQ LDX 2 BPTR 3Y2B EXIT 1 0 3YG2 # 3Y^L Z3SETUP [OBEYED FROM EMS MT REWIND ACTIVITY 3^F= # IN GEORGE 4 THE REWIND PERI IS NOT ISSUED UNTIL AFTER THE LONGLOCK 3^YW # AREA HAS BEEN ESTABLISHED SO THAT THE ACTIVITY WAITING FOR THE 42DG # END OF THE REWIND CAN BE PUT INTO THIS AREA & WILL NOT BLOCK 42Y6 # THE SETTING UP OF THE OBJ PROGRAM AREA AFTER BACKMAP 43CQ # 43XB # IN GEORGE 3 THE REWIND PERI IS SIMILARLY DELAYED IN CASE BACKMAP 44C2 # FINISHES BEFORE THE PERI AND THE REWIND ACTIVITY OBSTRUCTS AN 44WL # OBJECT PROGRAM SWAP IN 45B= # 45TW GETACT AREWIND,,1 [SET UP ACT TO WAIT FOR END OF REWIND 46*G LDX 3 BPTR(2) 46T6 LINKSET 3,SLINK7(1) [LINK TO K5SETUP 47#Q LDX 0 CPPTR(2) 47SB STO 0 CPPTR(3) 48#2 LDN 0 7 48RL DCA ,STO,0,MODE 49?= LOCKC 3,REWFIND 49QW CALL 1 REWFIND 4==G LDX 3 2 4=Q6 LDX 1 FX1 4?9Q LDX 2 FX2 4?PB GPERI ,3 4#92 SUICIDE [FINISH 4#NL # 4*8= Z5SETUP 4*MW # 4B7G ) 4BM6 #SKI CAMK7<6-6*G3 4C6Q Z3SETUP [OBEYED FROM EMS *MT REWIND ACTIVITY 4CLB CLALLOC 4D62 SUICIDE [FINISHED! 4DKL # 4F5= # THIS SECTION OBTAINS & INITIALISES THE OBJECT PROG AREA 4FJW # GEORGE 4 ONLY - MARK 6 ONWARDS 4FM5 # 4FP# # AND WHAT'S MORE, THIS CODE BECOMES REDUNDANT WITH THE 4FRH # 'VOPA IN G4' ENHANCEMENT (MK 8.40?) 4FTQ # 4G4G #SKIP G4 4GJ6 ( 4GP# #SKI G4VOPA<1$1 4GWG ( 4H3Q MINGEOAREA #10000 [4K ) VALUE ARBITARY AS YET 4HHB MINPROGAREA #20000 [8K ) 4J32 OFFSET +FPTR-ACTRING 4JGL O41SETUP 4K2= LDX 7 APROGAREA [ IF APROGAREA IS ZERO, THE 4KFW [ REQD. AMOUNT IS CALCULATED 4K^G BNZ 7 R1 4LF6 LDX 7 AFREE [CALC SIZE OF OBJ PROG AREA AS 1/2 4LYQ SRL 7 1 [OF FREE SPACE 4MDB ANDX 7 B2T13 [ROUND TO 1K & STORE 4MY2 STO 7 APROGAREA 4NCL R1 4NX= TXL 7 MINPROGAREA(1) [ERROR IF PROG AREA TOO SMALL 4PBW BCC Z03 4PWG R2 4QB6 GEOERR 0,PROGAREA 4QTQ Z03 4R*B LDX 0 AFREE 4RT2 SBX 0 7 4S#L BXL 0 MINGEOAREA(1),R2 [ ERROR IF GEORGE AREA TOO SMALL. 4SS= LDX 0 APTURNPAGS 4T?W BZE 0 R2 4TRG BXGE 0 7,R2 4W?6 LDX 0 APTABPAGS 4WQQ BZE 0 R2 4X=B BXGE 0 7,R2 4XQ2 Z07 LDN 6 20 [WAIT UNTIL ALL AUTOCLOSES FINISHED 4Y9L Z08 COOR2 4YP= BCT 6 Z08 4^8W LDN 2 BACT+ACTRING 4^NG Z09 LDX 2 FPTR(2) 5286 BXE 2 BACTR,Z10 52MQ SMO OFFSET(1) 537B LDX 0 ATYPE(2) 53M2 SRL 0 12 546L SBN 0 BSA+AUTCLOSE 54L= BNZ 0 Z09 555W BRN Z07 55KG Z10 5656 COREFLUSH FCORES,7 [FLUSH OUT OBJ PROG AREA 56JQ DERING FCORES 574B ADS 7 FCORES [REMOVE AREA FROM GEORGE SPACE 57J2 SBS 7 AFREE 583L Z04 SBX 7 BIT11 [SET MAX QUOTA ONLY DONE HERE 58H= STO 7 AMAXQUOTA [TEMORARILY UNTIL SETUPARA DOES IT 592W # 59GG # SETUP CORE FOR PAGE TABLES WE PUT ONE PAGE ON THE CHAIN TO 5=26 # START WITH 5=FQ # 5=^B LDN 0 1 5?F2 STO 0 CPAGTAB 5?YL LDX 3 AOBJSTART 5#D= STOZ 0(3) [CLEAR PAGE 5#XW STOZ 1(3) 5*CG LDN 4 2(3) 5*X6 MOVE 3 512 5BBQ ADN 4 512 5BWB MOVE 3 510 5CB2 STO 3 BPAGTAB [& INSERT IT ON CHAIN OF PAGE 5CTL STO 3 BPAGTAB+1 [TABLE PAGES 5D*= LDN 0 BPAGTAB 5DSW STO 0 FPTR(3) 5F#G STO 0 BPTR(3) 5FS6 LDN 0 960 [INITIALISE NO OF WORDS FREE 5G?Q STO 0 APAGSP(3) 5GRB # 5H?2 # PUT THE REST OF THE PAGES IN THE OBJ PROG AREA ON FREE PAGE CHAIN 5HQL # 5J== LDX 7 APROGAREA 5JPW SRL 7 10 5K9G SBN 7 1 [NO OF PAGES 5KP6 STO 7 AOBJFREE 5L8Q STO 7 COBJFREE 5LNB LDN 2 BOBJFREE [PUT PAGES ON FREE PAGE CHAIN 5M82 BRN Z06 5MML Z05 LDX 2 3 5N7= Z06 ADN 3 1024 5NLW STO 3 FPTR(2) 5P6G STO 2 BPTR(3) 5PL6 BCT 7 Z05 5Q5Q STO 3 BOBJFREE+1 [COMPLETE CHAIN 5QKB LDN 0 BOBJFREE 5R52 STO 0 FPTR(3) 5RJL BRN R41SETUP 5S4= ) 5S5* #UNS G4VOPA 5S6D ( 5S6^ O41SETUP 5S7H STOZ AOBJFREE 5S8L STOZ COBJFREE 5S9P BRN R41SETUP 5S=S ) 5S#4 ) 5S#6 #UNS AV7900S 5S#8 ( 5S#= [ SUBROUTINE SV7900CORE 5S## # 5S#B # SUBROUTINE TO SET UP A DEVICE LIST AND AMOP/IPBIN ACTIVITY FOR 5S#D # A VIRTUAL 7900 . THIS SUBROUTINE COORDINATES . 5S#G # ON ENTRY X6 = THE OPS UNIT NUMBER OF THE VIRTUAL 7900 IN B15-23 ; 5S#J # B0=1 IF UNIT IS MOPPED ON IN THE IDF . 5S#L # ON EXIT X3 -> THE V7900 DEVICE LIST ; X1= FX1 ; X2 = FX2 5S#N # LINK IN X7 . 5S#Q [ 5S#S [ SUBROUTINE SV7900CORE'S PRESETS 5S#W [ 5S#Y PJK52BTOF #00040000 [JK52B : B9 ALWAYS SET 5S*2 #03000000 [JK52C : PERIPHERAL TYPE 24 5S*4 0,0 [JK52D,JK52E 5S*6 #40000200 [JK52F : STAN. INTERF.,WRONGABLE 5S*8 #DEF P1LEN = 0? - PJK52BTOF 5S*= PIPBINLINK 5S*# ... LINK IPBSTARB,10 5S*B PIPBINSW #10040004 [ACTIVITY IS A VIRTUAL 7900(B9) AND 5S*D [ AND GLOBAL TERM WORKS(B21) 5S*G [IS ASLEEP(B2) 5S*J [ 5S*L [ SUBROUTINE SV7900CORE'S SUBROUTINES 5S*N [ 5S*Q # S/R'S USED BY LOCKC TO REFIND THE BLOCK TO BE LOCKED 5S*S SLOCKCHUNT 5S*W MHUNTW 2,APERI,AV7900 5S*Y EXIT 1 0 5SB2 SLOCKCHUNTA 5SB4 SMO FX2 5SB6 LDX 2 BPTR 5SB8 EXIT 1 0 5SB= [ 5SB# [ SUBROUTINE SV7900CORE'S MAIN PATH 5SBB [ 5SBD SV7900CORE 5SBG SBX 7 FX1 [RELATIVISE LINK 5SBJ # SET UP A VIRTUAL 7900 DEVICE LIST BLOCK (APERI/AV7900) 5SBL LDN 4 K54-A1 [LOGICAL LENGTH OF BLOCK 5SBN SETUPCORE 4,3,APERI,AV7900,1,1 [RING ELEMENT IS SET NULL 5SBQ # INITIALISE THE VIRTUAL 7900 DEVICE LIST BLOCK 5SBS EMPTY AVOLPARING(3) [SET RING ELEMENT TO AN EMPTY STATE 5SBW STOZ AVCREADS(3) [ZEROISE BLOCK AFTER RING ELEMENT 5SBY LDN 4 AVCREADS(3) 5SC2 LDN 5 AVCWRITES(3) 5SC4 MOVE 4 K54-A1-2-1 5SC6 LDN 4 PJK52BTOF(1) [MOVE IN PRESET INFO 5SC8 LDN 5 JK52B(3) 5SC= MOVE 4 P1LEN 5SC# DEX 6 JK52C(3) [INSERT VIRTUAL 7900 UNIT NUMBER 5SCB # SET UP AN AMOP/IPBIN ACTIVITY FOR THE VIRTUAL 7900 5SCD LDN 4 AMOP+IPBIN 5SCG SLL 4 12 5SCJ LDN 5 BMOPLEN+IPBINLEN 5SCL GETACTX 4,5,1 5SCN # INTIALISE REST OF DEVICE LIST AND INITIALISE ACTIVITY 5SCQ MHUNTW 3,APERI,AV7900 [DEVICE LIST 5SCS LOCKC 3,SLOCKCHUNT [LOCK DL 5SCW LDX 2 BPTR(2) [GET ADDRESS OF AMOP/IPBIN ACTIVITY 5SCY LOCKC 2,SLOCKCHUNTA [LOCK ACT 5SD2 MHUNTW 3,APERI,AV7900 [MANDATORY HUNT AFTER LOCKC 5SD4 LDX 2 BPTR(2) [GET ADDRESS OF AMOP/IPBIN ACTIVITY 5SD6 STO 2 AVAPIAENTRY+1(3) [STORE AMOP/IPBIN ADDRESS IN PSEUDO 5SD8 [APIA ENTRY IN THE DEVICE LIST 5SD= LDN 0 AVAPIAENTRY(3) [STORE POINTER TO PSEUDO APIA ENTRY 5SD# STO 0 JADDP(3) [IN THE DEVICE LIST 5SDB STO 3 CPPTR(2) [STORE DEVICE LIST POINTER IN ACT BLK 5SDD LDX 0 PIPBINSW(1) [SET AMOP/IPBIN.IPBSW TO INDICATE A 5SDG STO 0 IPBSW(2) [VIRTUAL 7900 ACT WHICH IS ASLEEP 5SDJ BPZ 6 SIPBLIST [VIRTUAL 7900 NOT MARKED MOPPED ON 5SDL STO 6 CHAINADD(2) [SET AMOP/IPBIN'S CHAINADD NEGATIVE 5SDN [TO SIMULATE A MOPPED ON,INOPERABLE 5SDQ [7900 TO MOPCOM 5SDS LINKSET 2,PIPBINLINK(1) [SET LINK IN AMOP/IPBIN ACT BLK 5SDW SETALLOC CPPTR(2) [SET THE ALLOCATED (MOPPED ON) FLAG 5SDY [IN THE DEVICE LIST 5SF2 # NOTE NO FURTHER MOP ON ACTION IS TAKEN HERE . MOP ON OF A 5SF4 # VIRTUAL 7900 IS NOT COMPLETED UNTIL THE PROGRAM ISSUES 5SF6 # ITS FIRST WMC READ FOR THE INITIALISE SEGMENT FROM G3 5SF8 # (IE THE V7900 BECOMES OPERABLE) . BEFORE THE READ IS 5SF= # ISSUED THE RESOURCES USED ARE THE SAME WHETHER MOPPED ON 5SF# # OR OFF . 5SFB SIPBLIST 5SFD # INSERT AMOP/IPBIN IN LIST OF AMOP/IPBINS (IPB LIST) 5SFG LDX 4 IPBADDR [INSERT AT FRONT OF LIST AS SETUPA 5SFJ STO 2 IPBADDR [DOES 5SFL STO 4 IPBL(2) 5SFN # CHAIN THE VIRTUAL 7900 DEVICE LIST ON THE BACK OF THE 5SFQ # MISCELLANEOUS CHAIN . 5SFS CHAIN 3,BMISC+BPTR 5SFW # SET X2 = FX2 AND EXIT (X1 ALREADY = FX1) 5SFY LDX 2 FX2 5SG2 ADX 7 FX1 5SG4 EXIT 7 0 5SG6 # 5SG8 # 5SG= Z8SETUP 5SG# # 5SGB # THIS ENTRY POINT SETS UP A VIRTUAL 7900 IN CORE, IE IT SETS UP 5SGD # A DEVICE LIST AND AMOP/IPBIN ACTIVITY FOR A VIRTUAL 7900 . 5SGG # IT IS A SUBROUTINE FOR SETIDF AND IS ENTERED BY SETIDF DURING EMS, 5SGJ # IF THERE ARE VIRTUAL 7900'S DEFINED IN THE IDF, AND AFTER EMS, 5SGL # WHEN IMPLEMENTING A MAKEVCC COMMAND . 5SGN # ON ENTRY ACOMMUNE1 = THE OPS UNIT NUMBER OF THE VIRTUAL 7900 IN 5SGQ # B15-23 ; B0=1 IF UNIT IS MOPPED ON IN THE IDF . 5SGS # ON EXIT ACOMMUNE1 -> THE V7900 DEVICE LIST 5SGW # 5SGY LDX 6 ACOMMUNE1(2) 5SH2 CALL 7 SV7900CORE 5SH4 STO 3 ACOMMUNE1(2) 5SH6 UP 5SH8 # 5SH= ) 5T2W # 5TGG # 8TNL #END ^^^^ ...50271152000400000000