13 22FL ...#SEG EXINTWO70 [BACK 7 22_= #LIS K0EXINTWO 7 23DW 8HEXINTWO 7 23YG #DEF XCA=EVENT2 4 24D6 # 20 24XQ ... SEGENTRY K1EXINTWO,QK1EX [#1500 VIA ACROSS FROM EXINONE 16 25CB ... SEGENTRY K2EXINTWO,QK2EX [FENCE BREAKER 4 25X2 # 9 26BL ZMASK #37777777 9 26W= ZMASK1 #00777777 8 27*W Z6 +6 19 27TG # SET UP CELL WHOSE ADDRESS IS IN X2,ACTUAL CORE 12 28*6 # ADDRESS IN X1-LINK X6 5 28SQ ...XCELLSET 17 29#B STO 1 5(2) [STORE CORE ADDRESS 16 29S2 STO 4 4(2) [BS ADDR TO CELL 8 2=?L LDXC 0 1(1) 20 2=R= DVS 7 EDEPF(3) [CONVERT ABSOLUTE BLOCK NO.TO... 17 2?=W STO 7 2(2) [...CYLINDER/BLOCK 15 2?QG STO 0 0(2) [START BLOCK 8 2#=6 LDXC 0 2(1) 8 2#PQ BCS ZA32 15 2*9B ZA32 SBN 0 1 [END BLOCK 9 2*P2 DVS 7 EDEPF(3) 8 2B8L STO 7 3(2) 8 2BN= STO 0 1(2) 7 2C7W EXIT 6 0 19 2CMG ...XISITSCR [IS AREA(1) A SCRATCH AREA? 8 2DLQ SBX 6 FX1 10 2F6B MFINDSU 2,ARUNIT(3) 17 2FL2 LDXC 0 1(1) [START BLOCK NO-BIT 0 8 2G5L BCS ZA31 7 2GK= ZA31 LDN 7 0 18 2H4W ZA34 TXU 7 CSCRATCH(2) [ANY MORE SCRATCH AREAS? 8 2HJG BCS ZA30 14 2K3B LDX 7 1 [SAVE PTR 15 2KH2 LDX 2 3 [PTR TO GEXD 14 2L2L LDX 3 0 [BLOCK NO 6 2L4* ...#UNS IPBD 4 2L64 ...( 20 2L7R ... CHAREA ARUNIT(2),3,NC [CHECK IF AREA IN USE AS SCRATCH 18 2L9G ... MHUNTW 1,EWDAS,GEXD [..FILE OTHER PROCESSOR 4 2L?9 ...) 6 2L#Y ...#UNS IPBD 4 2LBM ...#SKI 4 2LDB ...( 21 2LG= CHAREA 3,ARUNIT(2),NB,NC,NC,NOC [SEE IF OTHER PROCESSOR HAS THIS 20 2L_W [..BLOCK IN USE AS SCRATCH FILE 10 2MFG NOC MHUNTW 1,EWDAS,GEXD 4 2MP# ...) 10 2M_6 MFINDSU 2,ARUNIT(1) 14 2NDQ LDX 0 3 [BLOCK NO 15 2NYB LDX 3 1 [PTR TO GEXD 7 2PD2 LDX 1 7 8 2PXL ADX 6 FX1 7 2QWW EXIT 6 1 7 2RBG ZA30 SMO 7 20 2RW6 TXU 0 HSCRATCH(2) [START BLOCK NO.A SCRATCH AREA? 8 2S*Q BCS ZA33 8 2T*2 ND ADX 6 FX1 7 2TSL EXIT 6 0 17 2W#= ZA33 ADN 7 1 [GO TO LOOK AT NEXT 8 2WRW BRN ZA34 20 2X?G ...NC LDX 0 3 [AREA IN USE IN OTHER PROCESSOR 10 2YQB MHUNTW 3,EWDAS,GEXD 10 2_=2 MFINDSU 2,ARUNIT(3) 8 2_PL ... LDX 1 7 8 329= BRN ND 4 338G # 21 33N6 ...XMALG SBX 6 FX1 [ON ENTRY X1 IS POINTER TO LAST... 21 347Q LDX 2 FX2 [WORD OF PREVIOUS CELL(P) AND AWORK4 21 34MB STO 6 AWORK1(2) [...IS POINTER TO SCH.X3 IS POINTER 15 3572 SMO 6(1) [...TO GEXD. 19 35LL LDXC 6 1 [LOAD START BLOCK FROM CELL+1 16 366= BCS ZA45 [CLEAR BIT 0... 18 36KW ZA45 STO 6 AWORK2(2) [REMEMBER IN AWORK2(2) 17 375G DVS 5 EDEPF(3) [CONVERT TO CYL/BLOCK 8 37K6 SMO 12(1) 19 384Q LDXC 7 2 [LOAD END BLOCK FROM CELL+2 15 38JB BCS ZA46 [CLEAR BIT 0 18 3942 ZA46 STO 7 AWORK3(2) [REMEMBER IN AWORK3(2) 17 39HL DVS 6 EDEPF(3) [CONVERT TO CYL/BLOCK 19 3=3= ADX 5 6 [ADD BLOCKS FROM CYL/BLOCK 18 3=GW BZE 5 ZA42 [IF ZERO FILE AREA IS... 17 3?2G LDCT 5 256 [...NOW FULL DEPTH 9 3?G6 ORS 5 AWORK3(2) 20 3?_Q ZA42 LDX 5 8(1) [UPDATE END CYLINDER/END BLOCK IN 15 3#FB STO 5 2(1) [...CELL+1 8 3#_2 LDX 5 10(1) 8 3*DL STO 5 4(1) 21 3*Y= LDX 6 5(1) [IS BACKING STORE ADDRESS OF CELL+1 19 3BCW TXL 6 11(1) [...LESS THAN THAT OF CELL+2 17 3BXG BCS ZA44 [BRANCH IF GREATER 8 3CC6 LDX 5 5(1) 21 3CWQ LDX 6 11(1) [BECAUSE WE MUST ALWAYS FREE HIGHEST 21 3DBB STO 5 11(1) [...ADDRESSED CELL WE SWITCH CELLS.. 21 3DW2 STO 6 5(1) [...SO THAT WE CAN ALWAYS FREE CELL+2 8 3F*L LDX 5 6(1) 8 3FT= LDX 6 12(1) 8 3G#W STO 5 12(1) 8 3GSG STO 6 6(1) 7 3H#6 LDX 2 1 20 3HRQ SBN 2 5 [SETX2 TO POINT TO FIRSTWORD... 16 3J?B BRN ZA48 [OF PREVIOUS CELL 19 3JR2 ZA44 LDN 2 1(1) [SET X2 TO POINT TO CELL+1 8 3K=L ZA48 SMO 12(1) 21 3KQ= LDX 5 0 [COPY POINTER FROM CELL+2 TO CELL(2) 8 3L9W SMO 5(2) 7 3LPG STO 5 0 21 3M96 SBX 1 3 [REMEMBER POINTER TO PREVIOUS CELL 17 3MNQ STO 1 5 [...RELATIVE TO GEXD 17 3N8B WRITEST C,5(2),ZA49 [WRITE AWAY CELL(2) 9 3NN2 TESTREPNOT OK,ZAE9 7 3P7L ZA49 LDX 1 3 21 3PM= ADX 1 5 [RECREATE ABSOLUTE POINTER TO GEXD 8 3Q6W LDX 2 FX2 9 3QLG LDX 6 AWORK2(2) 20 3R66 SMO 6(1) [UPDATE STARTING/ENDING BLOCK FOR 16 3RKQ STO 6 1 [...NEW CELL(+1) 9 3S5B LDX 6 AWORK3(2) 8 3SK2 SMO 6(1) 7 3T4L STO 6 2 17 3TJ= WRITEST C,6(1),ZA50 [WRITE AWAY NEW CELL 9 3W3W TESTREPNOT OK,ZAE9 9 3WHG ZA50 SMO AWORK4(2) 20 3X36 LDN 1 12 [X1 IS POINTER TO VACANT CHAIN 20 3XGQ ZA53 LDX 6 0(1) [X6 IS PONTER TO NEXT VACANT CELL 21 3Y2B BZE 6 ZA51 [IF ZERO END OF CHAIN OTHERWISE... 21 3YG2 SMO 5 [...SEE IF OUR VACANT CELL SHOULD... 21 3Y_L TXL 6 11(3) [...FIT IN THE CHAIN AT THIS POINT 17 3_F= BCC ZA51 [BRANCH IF IT SHOULD 20 3_YW LDX 1 6 [READ NEXT CELL IN VACANT CHAIN 9 42DG READST 1,ZA53 9 42Y6 TESTREPNOT OK,ZAE9 19 43CQ LDX 1 ECOR(3) [X1 POINTS TO CELL JUST READ 8 43XB BRN ZA53 16 44C2 ZA51 SAVEST C,1 [SAVE THIS CELL 7 44WL LDX 7 1 20 45B= SMO 5 [POINT FREED CELL TO NEXT VACANT 8 45TW LDX 1 12(3) 8 46*G STO 6 0(1) 18 46T6 CHUCKWR C,1,ZA54 [MARK CELL TO BE WRITTEN 9 47#Q TESTREPNOT OK,ZAE9 7 47SB ZA54 SMO 5 21 48#2 LDX 0 11(3) [POINT PREVIOUS VACANT TO FREED CELL 7 48RL SMO 7 7 49?= STO 0 0 18 49QW CHUCKWR C,7,ZA55 [MARK CELL TO BE WRITTEN 9 4==G TESTREPNOT OK,ZAE9 15 4=Q6 ZA55 LDX 6 AWORK1(2) [LOAD LINK 16 4?9Q ADX 6 FX1 [DATUMISE LINK 7 4?PB EXIT 6 0 4 4#92 # 17 4#NL ZAE70 LDN 4 0 [X4=REPLY FOR BREAKIN 8 4*8= BRN ZCANT 20 4*MW ZA10 LDN 4 6 [X4=REPLY STORAGE UNIT NOT ONLINE 9 4B7G ZCANT ACROSS EXINONE,4 17 4BM6 ZAE6 LDN 4 4 [REPLY=INVALID AREA 17 4C6Q ZFR1 LDN 7 1 [MARKER FOR EXTEND 8 4CLB BRN ZJRB9 21 4D62 ZAE10 LDN 4 2 [REPLY=AREA WOULD CREATE TOO MANY... 8 4DKL LDCT 0 #400 10 4F5= SMO CELLA+5(3) 16 4FJW LDXC 7 2 [OK IF FULL DEPTH 8 4G4G BCC ZJRB8 16 4GJ6 ORS 0 CELLA+1(3) [NOT FULL DEPTH 15 4H3Q BRN ZJRB8 [...FENCES 4 4HHB ZAE9 16 4J32 ZAF9 LDCT 4 #40 [REPLY=FAILURE 8 4JGL BRN ZFR1 21 4K2= ZAE7 LDN 4 1 [REPLY=PART OR WHOLE OF AREA ASSIGNED 17 4KFW ZJRB8 NGN 7 1 [MARKER FOR EXTEND 10 4K_G MHUNT 3,EWDAS,GEXD 20 4LF6 CLOSEST ZJRB5 [CLOSE UNIT TO TRANSFER SYSTEM 9 4LYQ TESTREPNOT OK,ZAE9 10 4MDB ZJRB9 MHUNT 3,EWDAS,GEXD 8 4MY2 ZJRB5 LDCT 0 128 17 4NCL ANDX 0 EMARK(3) [SEE IF MODE #1500... 16 4NX= BZE 0 ZJRB6 [...BRANCH IF SO 9 4PBW ACROSS SCEXEND,3 9 4PWG ZJRB6 ACROSS EXINONE,5 4 4QB6 # 5 4QTQ QK1EX 10 4R*B MHUNT 3,EWDAS,GEXD 17 4RT2 MFINDSU 1,ARUNIT(3) [ASTUC FOR AREA UNIT 10 4S#L LDX 7 AREQT+1(3) 19 4SS= TXL 7 HCYL(1) [MAKE SURE AREA REQUIRED... 19 4T?W BCC ZAE6 [...BY OBJ PROG IS WITHIN... 18 4TRG LDX 7 AREQT+3(3) [...DEVICES BOUNDARIES 9 4W?6 TXL 7 HBLOCK(1) 8 4WQQ BCC ZAE6 10 4X=B LDX 0 AREQT+2(3) 19 4XQ2 LDX 7 AREQT(3) [CHANGE CYL/BLOCK ADDRESS... 17 4Y9L MPA 7 HBLOCK(1) [...TO BLOCK ADDRESS 9 4YP= STO 0 ARQS(3) 16 4_8W OPENST ARUNIT(3) [OPEN AREA UNIT 8 4_NG LDN 0 128 17 5286 READSAVE 0,ZA25 [READ AND SAVE SCH 9 52MQ TESTREPNOT OK,ZAF9 15 537B ZA25 LDX 4 ECOR(3) [ADDR OF SCH 8 53M2 SMO FX2 18 546L STO 4 AWORK4 [REMEMBER ADDRESS OF SCH 9 54L= SMO ECOR(3) 19 555W LDN 1 10 [ADDRESS OF UNUSED FILE... 16 55KG STO 1 CELLA+5(3) [...AREA CHAIN 17 5656 STOZ CELLB+5(3) [CELL IS NOT YET READ 16 56JQ SAVEST C,1 [SAVE SCH TWICE 20 574B ZA37 LDX 4 0(1) [ADDRESS OF NEXT FILE AREA CELL 18 57J2 BZE 4 ZAE7 [REPLY 1 IF END OF CHAIN 10 583L LDX 0 CELLA+5(3) 21 58H= STO 0 CELLP(3) [REMEMER CORE POINTER OF LAST CELL 10 592W LDX 0 CELLB+5(3) 8 59GG BNZ 0 ZA28 20 5=26 READSAVE 4,ZA29 [READANDSAVE NEXT FILE AREA CELL 9 5=FQ TESTREPNOT OK,ZAF9 17 5=_B LDX 1 ECOR(3) [CORE ADDRESS OF CELL 9 5?F2 ZA29 LDN 2 CELLA(3) 15 5?YL ... CALL 6 XCELLSET [SET UP CELLA 17 5#D= ...ZA36 CALL 6 XISITSCR [SEE IF SCRATCH AREA 15 5#XW BRN ZA35 [BRANCH IF SO 19 5*CG LDX 7 ARQS(3) [BRANCH IF AREA NOT VACANT 7 5*X6 TXL 7 0 21 5BBQ BCS ZAE7 [IS ARQS LESS THAN START BLOCK OF A 5 5BWB QK2EX 10 5CB2 MHUNT 3,EWDAS,GEXD 16 5CTL ZA41 SMO CELLA+5(3) [FENCE BREAKER 19 5D*= LDX 4 0 [LOAD ADDRESS OF NEXT CELL 17 5DSW BZE 4 ZA38 [BRANCH IF NO MORE 18 5F#G READSAVE 4,ZA39 [READ NEXT FILE AREA CELL 9 5FS6 TESTREPNOT OK,ZAF9 9 5G?Q LDX 1 ECOR(3) 9 5GRB ZA39 LDN 2 CELLB(3) 18 5H?2 ... CALL 6 XCELLSET [SET UP CELLB IN GEXD... 19 5HQL ... CALL 6 XISITSCR [...AND SEE IF SCRATCH AREA 8 5J== BRN ZA38 10 5JPW SMO CELLA+5(3) 20 5K9G LDXC 5 2 [IS CELLA A FULL DEPTH AREA... 16 5KP6 BCC ZA40 [...BRANCH IF SO 9 5L8Q LDX 5 CELLA(3) 21 5LNB LDX 6 CELLA+1(3) [IS CELLB SAME CYLINDERS AS CELLA... 20 5M82 TXU 5 CELLB(3) [...AND STARTING BLOCK NEXT... 16 5MML TXU 6 CELLB+1(3) [...AFTER CELLA 8 5N7= BCS ZA38 10 5NLW LDX 5 CELLB+2(3) 20 5P6G SBN 5 1 [IS AREA SPECIFIED IN CELLB... 21 5PL6 TXU 5 CELLA+3(3) [IMMEDIATELY AFTER THAT SPECIFIED... 21 5Q5Q BCS ZA38 [BY CELLA?-SAME CYLINDERS ADJACENT 14 5QKB ZA56 LDN 1 CELLP(3) [BLOCKS 19 5R52 ... CALL 6 XMALG [AMALGAMATE CELLB INTO CELLA 10 5RJL STOZ CELLB+5(3) 8 5S4= BRN ZA41 16 5SHW ZA28 LDN 7 CELLB(3) [CELLB TO CELLA 9 5T3G LDN 0 CELLA(3) 7 5TH6 MOVE 7 6 17 5W2Q STOZ CELLB+5(3) [CELLB NOT YET READ 10 5WGB LDX 1 CELLA+5(3) 8 5X22 BRN ZA36 4 5XFL ZAA3 18 5X_= ZA35 CHUCK C,CELLP(3) [CHUCK IF SCRATCH AREA 8 5YDW BRN ZA37 21 5YYG ZA40 LDX 5 CELLA+1(3) [DOES CELLB START AT BLOCK 0 OF... 19 5_D6 ADN 5 1 [NEXT CYLINDER AFTER CELLA? 9 5_XQ TXU 5 CELLB(3) 16 62CB BCS ZA38 [BRANCH IF NOT 10 62X2 LDX 5 CELLB+2(3) 8 63BL BNZ 5 ZA38 10 63W= ZA58 SMO CELLB+5(3) 20 64*W LDXC 5 2 [IS CELLB A FULL DEPTH AREA... 8 64TG BCC ZA56 21 65*6 SMO CELLB+5(3) [IF NOT SEE IF WE CAN AMALGAMATE... 20 65SQ LDX 4 0 [ANOTHER CELL WITH CELLB TO... 17 66#B BZE 4 ZA38 [MAKE IT FULL DEPTH 20 66S2 READST 4,ZA57 [IF ANOTHER VACANT CELL READ IT 9 67?L TESTREPNOT OK,ZAF9 9 67R= LDX 1 ECOR(3) 18 68=W ...ZA57 CALL 6 XISITSCR [IS IT A SCRATCH AREA... 15 68QG BRN ZA38 [BRANCH IF SO 9 69=6 LDX 1 ECOR(3) 9 69PQ LDN 2 CELLC(3) 20 6=9B ... CALL 6 XCELLSET [SET UP CELLC WITH INFO FROM CELL 9 6=P2 LDX 5 CELLC(3) 21 6?8L LDX 6 CELLC+1(3) [IS CELLC SAME CYLINDERS AS CELLB... 21 6?N= TXU 5 CELLB(3) [AND STARTING BLOCK NEXT AFTER CELLB 10 6#7W TXU 6 CELLB+1(3) 16 6#MG BCS ZA38 [BRANCH IF NOT 10 6*76 LDX 5 CELLC+2(3) 7 6*LQ SBN 5 1 10 6B6B TXU 5 CELLB+3(3) 16 6BL2 BCS ZA38 [BRANCH IF NOT 20 6C5L SAVEST C,CELLC+5(3) [SAVE THIS CELL AND AMALGAMATE... 18 6CK= LDN 1 CELLA+5(3) [...WITH PREVIOUS CELL 8 6D4W ... CALL 6 XMALG 8 6DJG BRN ZA58 8 6F46 ZA38 LDCT 0 #200 17 6FHQ ANDX 0 EMARK(3) [SEE IF MODE #1500 16 6G3B BZE 0 ZA38A [BRANCH IF #1500 9 6GH2 ACROSS SCEXEND,2 19 6H2L ZA38A LDX 1 CELLA+5(3) [IS CELLA THE AREA REQUESTED 8 6HG= LDX 5 1(1) 9 6H_W ZA59 TXU 5 ARQS(3) 16 6JFG BCC ZA60 [BRANCH IF EQUAL 9 6J_6 LDX 5 AREQT(3) 19 6KDQ TXL 5 CELLA(3) [DOES AREA REQUESTED START... 21 6KYB BCS ZAA3 [...WITHIN AREA SPECIFIED BY CELLA? 10 6LD2 TXL 5 CELLA+1(3) 21 6LXL BCS ZA61 [IF IT DOESN'T GO TO TRY NEXT AREA 10 6MC= TXU 5 CELLA+1(3) 8 6MWW BCS ZAA3 10 6NBG ZA61 LDX 5 AREQT+2(3) 21 6NW6 TXL 5 CELLA+2(3) [IS START BLOCK OF AREA REQUESTED... 21 6P*Q BCS ZAA3 [LESS THAN START BLOCK OF CELLA... 20 6PTB TXL 5 CELLA+3(3) [AND IS IT LESS THAN END BLOCK... 14 6Q*2 BCS ZA62 [OF CELLA 10 6QSL TXU 5 CELLA+3(3) 8 6R#= BCS ZAA3 17 6RRW ZA62 LDX 5 AREQT+1(3) [ENDING CYLINDER... 20 6S?G TXL 5 CELLA+1(3) [...LESS THAN ENDING CYLINDER... 18 6SR6 BCS ZA63 [...OF UNALLOCATED AREA? 10 6T=Q TXU 5 CELLA+1(3) 14 6TQB BCS ZAE7 [REPLY 1 16 6W=2 ZA63 LDX 5 AREQT+3(3) [ENDING BLOCK... 19 6WPL TXL 5 CELLA+3(3) [...LESS THAN ENDING BLOCK... 18 6X9= BCS ZAE10 [...OF UNALLOCATED AREA? 10 6XNW TXU 5 CELLA+3(3) 14 6Y8G BCS ZAE7 [REPLY 1 14 6YN6 BRN ZAE10 [REPLY 2 15 6_7Q ZA60 LDX 5 CELLB+5(3) [OK SO FAR 17 6_MB BZE 5 ZA64 [HAS CELLB BEEN READ? 15 7272 CHUCK C,5 [IF SO CHUCK 17 72LL ZA64 LDX 5 AREQT+1(3) [ENDING CYLINDER... 20 736= TXL 5 CELLA+1(3) [...LESS THAN ENDING CYLINDER... 18 73KW BCS ZA65 [...OF UNALLOCATED AREA? 10 745G TXU 5 CELLA+1(3) 14 74K6 BCS ZAE7 [REPLY 1 21 754Q ZA65 LDN 6 0 [X6=COUNT OF VACANT CELLS REQUIRED 10 75JB LDX 5 AREQT+3(3) 20 7642 TXU 5 CELLA+3(3) [IS UNALLOCATED AREA EXACTLY... 17 76HL BCC ZA66 [...THE RIGHT LENGTH? 20 773= ADN 6 1 [IF NOT ADD 1 TO COUNT OF CELLS 8 77GW ORX 6 GSIGN 10 782G TXL 5 CELLA+3(3) 20 78G6 BCC ZAE7 [BRANCH IF AREA NOT LONG ENOUGH 10 78_Q ZA66 LDX 5 AREQT+1(3) 19 79FB TXU 5 CELLA+1(3) [IS AREA EXACTLY RIGHT WIDTH? 15 79_2 BCC ZAA6 [BRANCH IF SO 20 7=DL SMO CELLA+5(3) [UNALLOCATED AREA MUST BE FULL... 21 7=Y= LDXC 5 2 [...DEPTH FOR O/P PERI TO BE LEGAL- 20 7?CW BCS ZAE10 [OTHERWISE ILLEGAL FENCE BREAKING 19 7?XG BCHX 6 / [+1 TO NUMBER OF VACANT CELLS 7 7#C6 ADN 6 1 9 7#WQ ZAA6 ACROSS EXINTO,3 4 7*BB # 10 7*W2 MENDAREA 30,K99EXINTWO 4 7B*L #END 8 ____ ...56117506000200000000