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