10 22FL #LIS K0EDITET>K0ALLGEO>0 16 22_= #SEG EDITET7 [DICK RUSBRIDGE 7 23DW 8HEDITET 4 23YG # 13 24D6 # THIS SEGMENT ENCODES . 4 24XQ # 11 25CB # ENTRY POINT TABLE 4 25X2 # 18 26BL SEGENTRY K1EDITET,N1EDITET [ANALYSE FROM NEXT CHAR.- 19 26W= SEGENTRY K2EDITET,N2EDITET [ANALYSE FROM CURRENT CHAR. 17 27*W SEGENTRY K3EDITET,N3EDITET [PART 0 INSTRUCTION 20 27TG SEGENTRY K4EDITET,N4EDITET [CLEARS BREAK-IN (FROM EDITOR) 19 28*6 SEGENTRY K5EDITET,N5EDITET [BODY OF POPUP IN EDITOR (X) 19 28SQ SEGENTRY K6EDITET,N8EDITET [BODY OF PULLUP IN EDITOR (Z) 19 29#B SEGENTRY K7EDITET,N7EDITET [BODY OF UMOP IN EDITOR (U) 4 29S2 # 6 2=?L O30 #30 6 2=R= O31 #31 6 2?=W O34 #34 4 2?QG # 4 2#=6 # 19 2#PQ # XCLSE CLOSES THE FILE ON TOP OF THIS ACTIVITIES FILE STACK 4 2*9B # 7 2*P2 XCLSE SBX 6 1 6 2B8L CLOSE 7 2BN= ADS 1 6 7 2C7W EXIT 6 0 4 2CMG # 4 2D76 # 14 2DLQ # RLIF RELOCATES THE INSTRUCTION BLOCK 4 2F6B # 15 2FL2 RLIF LDX 5 IEIM(2) [GET PHOTO 9 2FTS ... LDX 3 IEIA(2) 16 2G5L TESTMOVE 5,RL1 [J IF NOT MOVED 16 2GK= MHUNTW 3,FILE,FRB [ELSE REDUNDANT 7 2H4W PHOTO 5 16 2HJG STO 3 IEIA(2) [STORE NEW WHERE 15 2J46 STO 5 IEIM(2) [AND WHEN 7 2JHQ RL1 EXIT 6 0 4 2K3B # 21 2KH2 # NCH IS THE NEXT CHARACTER FROM EDITING FILE ROUTINE. THE REQUIRED 21 2L2L # CHARACTER IS PUT INTO X7 AND EXIT IS TO CALL+2. AN ATTEMPT TO READ 21 2LG= # OFF THE BLOCK CAUSES EXIT TO CALL+1. A SUBSEQUENT CALL WILL CAUSE 19 2L_W # GEOERR EDITET. ADDRESS OF LAST CHARACTER IS LEFT IN X0. 4 2MFG # 19 2M_6 NCH LDX 3 IEIP(2) [ADDRESS OF NEXT CHARACTER 18 2NDQ BZE 3 NCH3 [J IF OFF END LAST TIME 20 2NYB STO 3 0 [GET CHARACTER ADDRESS OF END OF 19 2PD2 SLC 0 2 [BLOCK AND PERFORM ARITHMETIC 21 2PXL SBX 0 IEIH(2) [TO DETERMINE IF WE ARE ABOUT TO RUN 18 2QC= BPZ 0 NCH2 [OFF THE END OF THE BLOCK 19 2QWW NCH1 SMO IEIA(2) [MODIFY BY ADDRESS OF BLOCK 18 2RBG LDCH 7 0(3) [LOAD CHARACTER INTO X7 17 2RW6 LDX 0 3 [LEAVE ADDRESS IN X0 17 2S*Q BCHX 3 / [INCREMENT ADDRESS 20 2STB STO 3 IEIP(2) [STORE ADDRESS OF NEXT CHARACTER 17 2T*2 EXIT 6 1 [AND RETURN TO CALL+2 19 2TSL NCH2 STOZ IEIP(2) [CLEAR POINTER FOR NEXT TIME 18 2W#= STO 3 0 [OLD CHARACTER ADDRESS 17 2WRW EXIT 6 0 [AND RETURN TO CALL+1 9 2X?G NCH3 GEOERR 1,EDITET 4 2XR6 # 19 2Y=Q NCHX CALL 6 NCH [NEXT CHARACTER WITH A SYNTAX 16 2YQB BRN SE4 [ERROR IF OFF END 7 2_=2 EXIT 5 0 4 2_PL # 14 329= # CODE FOR DEALING WITH SYNTAX ERRORS. 8 32NW # ENTRIES ARE - 14 338G # SE1 SCAN, STARTING AT NEXT CHARACTER 14 33N6 # SE2 SCAN, STARTING AT THIS CHARACTER 14 347Q # SE3 SCAN ENDED AT CURRENT CHARACTER 13 34MB # SE4 SCAN ENDED AT LAST CHARACTER 4 3572 # 4 35LL # 18 366= SE1 CALL 5 NCHX [GET ANOTHER CHARACTER 14 36KW SE2 BXE 7 O31(1),SE3 [J IF *31 15 375G BXU 7 O34(1),SE1 [LOOP NOT *34 9 37K6 SE4 STO 0 IEIP(2) 4 384Q SE3 17 38JB DOWN EDITER,3 ['SYNTAX ERROR : OH!' 5 3942 NER UP 4 39HL # 16 3=3= TLU STO 7 3 [TABLE LOOK-UP 20 3=GW SRC 3 2 [CONVERT TO CHARACTER ADDRESSS 7 3?2G ... SMO 6 7 3?G6 ... OBEY 0 15 3?_Q LDCH 3 0(3) [ACCESS TABLE 16 3#FB ADS 1 3 [DATUMISE RESULT 15 3#_2 EXIT 6 1 [AND FINISH 4 3*DL # 4 3*Y= # 20 3BCW # MULTIFLICATION ROUTINE. STOPS AT FIRST NON-DECIMAL CHARACTER. 4 3BXG # 15 3CC6 MULT STO 6 AWORK3(2) [STORE LINK 16 3CWQ LDN 4 0 [AND SET RESULT 14 3DBB LDN 5 0 [TO ZERO. 18 3DW2 BRN MM4 [FIRST CHARACTER IN X7 17 3F*L MM1 EDERR NUTL ['NUMBER TOO LARGE' 18 3FT= BRN SE2 ['SYNTAX ERROR: NNNNNNNN' 16 3G#W MM2 STO 0 IEIP(2) [STEP BACK CH PTR 16 3GSG BNZ 4 MM1 [J IF TOO LARGE 14 3H#6 LDX 6 AWORK3(2) [GET LINK 15 3HRQ STO 5 IEBF(2) [STORE RESULT 15 3J?B EXIT 6 0 [AND FINISH 16 3JR2 MM3 CALL 6 NCH [NEXT CHARACTER 14 3K=L BRN MM2 [J IF END 14 3KQ= MM4 CDB 4 7 [CONVERT 14 3L9W BCS MM2 [J IF END 15 3LPG BVSR MM1 [J IF HUGE 14 3M96 BRN MM3 [CARRY ON 4 3MNQ # 21 3N8B # THIS SUBROUTINE ANALYSES , THE SYNTAX OF WHICH MAY BE 16 3NN2 # FOUND IN THE USER SPECIFICATION. ENTRIES ARE: 4 3P7L # 16 3PM= # 1 TERM - ANALYSE FROM THE NEXT CHARACTER. 17 3Q6W # 2 TERI - ANALYSE FROM CURRENT CHARACTER IN X7. 4 3QLG # 9 3R66 # ENTRY CONDITIONS: 4 3RKQ # 13 3S5B # X3 = ADDRESS OF 5-WORD OUTPUT AREA 14 3SK2 # X5 = CURRENT OLD FILE RECORD NUMBER 14 3T4L # X4 = CURRENT OLD FILE CHARACTER NUMBER 4 3TJ= # 8 3W3W # OUTPUT FORMAT: 4 3WHG # 8 3X36 # [X3]+0 0.0 E 12 3XGQ # 1.0 CONTEXT FORWARDS 12 3Y2B # 1.2 CONTEXT BACKWARDS 12 3YG2 # 2.0 ABSOLUTE FORWARDS 13 3Y_L # 2.2 ABSOLUTE BACKWARDS 17 3_F= # [X3]+1 ABSOLUTE RECORD NUMBER / CHARACTER COUNT 16 3_YW # B0=1 CONTAINS 15 42DG # B1=1 SPACES 17 42Y6 # B2=1 G INSTRUCTION 13 43CQ # [X3]+2 ZERO / CHARACTER ADDRESS 19 43XB # [X3]+3 SIGNED CHARACTER NUMBER / SIGNED CHARACTER COUNT 13 4478 ...# [X3]+4 ZERO / CHARACTER ADDRESS 13 44C2 ...# B2=1 IF .E 13 44LS ...# B3=1 IF .S 4 44WL # 4 45B= # 17 45TW # IEL2 IS AN ADDITIVE CONTEXT COUNTER. VALUES ARE: 4 46*G # 7 46T6 # 1 # 9 47#Q # 2 - FIRST TIME 7 47SB # 4 C 11 48#2 # 10 STRING FIRST TIME 11 48RL # 20 NUMBER FIRST TIME 10 49?= # 40 RECORD COMPLETE 10 49QW # 100 - SECOND TIME 11 4==G # 200 NUMBER SECOND TIME 11 4=Q6 # 400 STRING SECOND TIME 10 4?9Q # 1000 E SECOND TIME 7 4?PB # 2000 S 7 4#92 # 4000 G 11 4#B8 ...# 10000 S SECOND TIME (.S) 11 4#HB ...# 20000 #SECOND TIME (.#) 4 4#NL # 15 4*8= # THIS ROUTINE STORES THE INPUT PARAMETERS 13 4*MW # AND INITIALISES THE OUTPUT AREA. 4 4B7G # 16 4BM6 TESP ADS 2 3 [ADDRESS OF O/P 15 4C6Q STO 3 IEL3(2) [AND IN FX2 16 4CLB STOC 4 IEL4(2) [CHARACTER NUMBER 17 4D62 STOZ IEL2(2) [INITIALISE CONTEXT 15 4DKL STO 0 AWRK1(2) [STORE LINK 15 4F5= LDN 4 5 [SIZE OF O/P 16 4FJW STOC 5 IEL5(2) [RECORD NUMBER 16 4G4G TES1 STOZ 0(3) [ZEROISE OUTPUT 7 4GJ6 BUX 3 / 8 4H3Q BCT 4 TES1 18 4HHB CALL 6 RLIF [GET INSTRUCTION BLOCK 9 4J32 LDX 0 AWRK1(2) 7 4JGL TES2 EXIT 0 0 4 4K2= # 19 4KFW # THIS ROUTINE CHECKS THE BITS IN X5 AGAINST THE PARAMETER. 18 4K_G # IF ILLEGAL BITS ARE SET A SYNTAX ERROR IS REPORTED. 4 4LF6 # 8 4LYQ TESX ANDX 5 0(3) 8 4MDB BNZ 5 SE2 7 4MY2 EXIT 3 1 4 4NCL # 21 4NX= TT [ EXECUTION FANOUT TABLE 6 4PBW #REP #20 5 4PWG 0 4 4QB6 # 15 4QTQ # THE MAIN LOGIC OF THE ROUTINE STARTS HERE. 4 4R*B # 5 4RT2 N2EDITET 16 4S#L TERI CALL 0 TESP [STORE PARAMETERS 7 4SS= BRN TER1 19 4T?W TERP ORS 5 IEL2(2) [INCREMENT CONTEXT COUNTER 7 4TRG BRN TER0 15 4W?6 TERR BRN SE2 [SYNTAX ERROR 5 4WQQ N1EDITET 16 4X=B TERM CALL 0 TESP [STORE PARAMETERS 16 4XQ2 TER0 IETS #20,TER0-TERR,TT [SPACE IS IGNORED 7 4Y9L IET ],$ 16 4YP= CALL 6 NCH [GET A CHARACTER 16 4_8W BRN TENL [J IF FINISHED 17 4_NG TER1 CALL 6 TLU [LOOK UP 15 5286 ADN 3 TT(1) [TABLE AT TT 15 52MQ LDX 5 IEL2(2) [LOAD CONTEXT 15 537B EXIT 3 TERR [AND FANOUT 4 53M2 # 17 546L TENL LDX 5 IEL2(2) [LOAD CONTEXT AT END 16 54L= TEND IETS ),TEND-TERR [END OF ANALYSIS 14 555W IET *,#34 [ ) , * 15 55KG STO 0 IEIP(2) [BACKSPACE 16 5656 BRN TER12 [J TO FINAL CHECK 4 56JQ # 18 574B IETS E,0?-TERR [E (END OF RECORD/FILE) 18 57J2 BZE 5 TIDYE [J IF ONLY ARG TO FINISH 16 583L CALL 3 TESX [CHECK THAT ONLY 6 586Q ...#UNS EDCHAR 19 589W ... #31700 [ HAS BEEN ANALYSED 6 58*2 ...#UNS EDCHAR 4 58D6 ...#SKI 19 58H= #1700 [ HAS BEEN ANALYSED 15 592W LDN 5 #1000 [SET SWITCH 15 59GG BRN TERP [AND REPEAT 4 5=26 # 17 5=FQ IETS #23,0?-TERR [# (ABSOLUTE NUMBER) 6 5=H_ ...#UNS EDCHAR 4 5=L8 ...( 8 5=NC ... LDN 3 #40 16 5=QL ... ANDX 3 IEL2(2) [RECORD COMPLETE? 14 5=ST ... BNZ 3 TER1A [J IF SO 4 5=X4 ...) 18 5=_B BNZ 5 SE2 [J IF NOT FIRST CHARACTER 15 5?F2 LDN 5 1 [SET SWITCH 15 5?YL BRN TERP [AND REPEAT 4 5#D= # 17 5#XW IETS -,0?-TERR [- (GO BACKWARDS) 3 5*66 ... 8 5*#B ... LDN 3 #40 18 5*GL ... ANDX 3 IEL2(2) [RECORD PART COMPLETE? 14 5*NW ... BZE 3 TER2 [JIF NOT 17 5*X6 CALL 3 TESX [CHECK ON SECOND TIME 6 5B2= ...#UNS EDCHAR 6 5B5B ... #31700 6 5B8G ...#UNS EDCHAR 4 5B?L ...#SKI 6 5BBQ #1700 15 5BWB ... LDN 5 #100 [SET SWITCH 15 5CB2 BRN TERP [AND CONTINUE 4 5CKS ...TER2 20 5CTL ... BNZ 5 SE2 [ERROR IF ANYTHING BOFORE MINUS 17 5D5D ... LDN 5 2 [SET FIRST TIME MINUS 15 5D*= BRN TERP [AND CONTINUE 4 5DSW # 16 5F#G IETS C,0?-TERR [C (CONTAINING) 16 5FS6 CALL 3 TESX [CHECK CONTEXT 6 5FX= ...#UNS EDCHAR 6 5G2B ... #37775 6 5G5G ...#UNS EDCHAR 4 5G8L ...#SKI 18 5G?Q #7775 [ONLY MINUS IS ALLOWED 15 5GRB LDN 5 4 [SET SWITCH 15 5H?2 BRN TERP [AND CONTINUE 4 5HQL # 15 5J== IETS S,0?-TERR [S (SPACES) 6 5J#F ...#UNS EDCHAR 4 5JBN ...( 8 5JDX ... LDN 3 #40 16 5JH6 ... ANDX 3 IEL2(2) [RECORD COMPLETE? 14 5JK* ... BNZ 3 TER2A [J IF SO 4 5JMJ ...) 16 5JPW CALL 3 TESX [CHECK CONTEXT 6 5JT2 ...#UNS EDCHAR 6 5JY6 ... #37775 6 5K3= ...#UNS EDCHAR 4 5K6B ...#SKI 17 5K9G #7775 [ONLY MINUS ALLOWED 8 5KP6 LDN 5 #2000 8 5L8Q BRN TERP 4 5LNB # 15 5N7= IETS G,0?-TERR [G (GEDIT) 16 5NLW CALL 3 TESX [CHECK CONTEXT 6 5NQ2 ...#UNS EDCHAR 6 5NT6 ... #37775 6 5NY= ...#UNS EDCHAR 4 5P3B ...#SKI 17 5P6G #7775 [ONLY MINUS ALLOWED 8 5PL6 LDN 5 #4000 8 5Q5Q BRN TERP 4 5R52 # 19 5RJL IETS .,0?-TERR [. (START OF ) 16 5S4= CALL 3 TESX [CHECK CONTEXT 6 5S7B ...#UNS EDCHAR 6 5S=G ... #31740 6 5S*L ...#UNS EDCHAR 4 5SDQ ...#SKI 18 5SHW ... #1740 [ NOT ALLOWED 17 5T3G LDN 5 #30 [CHECK IF 14 5TH6 ANDX 5 IEL2(2) [IS NULL 14 5W2Q BNZ 5 TER9 [J IF NOT 16 5WGB LDN 5 #60 [ELSE SIMULATE 16 5X22 BRN TERP [RELATIVE ZERO 18 5XFL TER9 LDN 5 #40 [SET SWITCH 15 5X_= BRN TERP [AND CONTINUE 4 5YDW # 14 5YYG IETS 0,0?-TERR [NUMBER 11 5_D6 IET 1,2,3,4,5,6,7,8,9 9 5_XQ BRN NUMBER 4 62CB # 14 62X2 IETS :,0?-TERR [ 13 63BL IET ;,<,=,>,?,!,^,/,%,&,',+,/ 16 63W= ANDN 5 #40 [CHECK CONTEXT 16 64*W BZE 5 TER4 [J IF FIRST TIME 16 64TG LDN 5 #1200 [ILLEGEL CONTEXTS 14 65*6 BRN TER5 [CHECK 16 65SQ TER4 LDN 5 #31 [ILLEGAL CONTEXTS 14 66#B TER5 ANDX 5 IEL2(2) [CHECK 15 66S2 BNZ 5 SE2 [J IF ERROR 16 67?L LDX 1 IEIP(2) [START ADDRESS 16 67R= STO 7 5 [FIRST CHARACTER 15 68=W NGN 4 1 [SET COUNT 16 68QG TER6 CALL 6 NCH [GET A CHARACTER 16 69=6 BRN SE3 [ERROR IF OFF END 15 69PQ ADN 4 1 [COUNT IT AND 17 6=9B BXE 5 7,TER8 [J IF TERMINAL QUOTE 16 6=P2 BXU 7 IEVS(2),TER6 [LOOP IF NOT V.S. 16 6?8L LDX 3 0 [ELSE REPLACE THE 17 6?N= LDN 7 #20 [V.S. CHARACTER IN 16 6#7W SMO IEIA(2) [THE BUFFER BY A 16 6#MG DCH 7 0(3) [SPACE THEN LOOP 15 6*76 BRN TER6 [AS BEFORE 8 6*LQ TER8 LDN 6 #2000 17 6B6B BZE 4 TER11 [SKIP IF NULL STRING 16 6BL2 ANDX 6 IEL2(2) [CHECK CONTEXT 15 6C5L BZE 6 TER11 [J IF NOT S 8 6CK= LDN 5 #20 17 6D4W TER10 SMO IEIA(2) [RE-SCAN THE 17 6DJG LDCH 6 0(1) [FOR LEADING SPACES 16 6F46 BXU 6 5,TER11 [TRUNCATING THEM 19 6FHQ BCHX 1 / [LOOP UNTIL FIRST NON-SPACE 18 6G3B BCT 4 TER10 [CHAR OR END OF 17 6GH2 TER11 LDN 5 #10 [FIRST TIME CONTEXT 17 6H2L LDN 0 #40 [FIRST TIME SWITCH 15 6HG= LDX 3 IEL3(2) [ADD OF O/P 14 6H_W ANDX 0 IEL2(2) [CHECK 16 6JFG BZE 0 TER7 [J IF FIRST TIME 17 6J_6 LDN 5 #400 [SECOND TIME CONTEXT 16 6KDQ ADN 3 2 [SECOND TIME O/P 16 6KYB TER7 STO 1 2(3) [STORE ADDRESS 15 6LD2 STO 4 1(3) [STORE COUNT 14 6LXL LDX 1 FX1 [RE-SET 15 6MC= BRN TERP [AND CONTINUE 6 6MCW ...#UNS EDCHAR 4 6MDG ...( 4 6MF6 ...# 10 6MFQ ...# TEST FOR .# 5 6MGB ...TER1A 18 6MH2 ... CALL 3 TESX [CHECK ONLY RECORD GAS 16 6MHL ... #31700 [BEEN ANALYSED 8 6MJ= ... LDN 5 #4000 16 6MJW ... SLL 5 2 [#20000 FOR .# 8 6MKG ... BRN TERP 4 6ML6 ...# 10 6MLQ ...# TEST FOR .S 5 6MMB ...TER2A 18 6MN2 ... CALL 3 TESX [CHECK ONLY RECORD HAS 6 6MNL ... #31600 7 6MP= ... LDN 5 1 16 6MPW ... LDX 3 IEL3(2) [ADDR OF OUTPUT 18 6MQG ... STO 5 3(3) [LENGTH OF .S CHAR = 1 8 6MR6 ... LDN 5 #4000 7 6MRQ ... SLL 5 1 16 6MSB ... BRN TERP [#10000 FOR .S 4 6MT2 ...# 4 6MTL ...) 5 6MWW NUMBER 17 6NBG CALL 6 MULT [CONVERSION OF NUMBER 17 6NW6 LDN 0 #40 [THEN CHECK CONTEXT 17 6P*Q LDX 5 IEL2(2) [ IF FIRST TIME DONE 15 6PTB ANDX 0 IEL2(2) [JUMP TO TER3 15 6Q*2 LDX 6 IEBF(2) [LOAD RESULT 8 6QSL BNZ 0 TER3 16 6R#= CALL 3 TESX [CHECK CONTEXT 6 6RCB ...#UNS EDCHAR 6 6RGG ... #37774 6 6RKL ...#UNS EDCHAR 4 6RNQ ...#SKI 16 6RRW #7774 [FOR FIRST TIME 15 6S?G LDX 3 IEL3(2) [ADD OF O/P 15 6SR6 LDN 5 #20 [SET SWITCH 15 6T=Q STO 6 1(3) [STORE RESULT 15 6TQB BRN TERP [AND CONTINUE 17 6W=2 TER3 CALL 3 TESX [SECOND TIME NUMBER 6 6W*6 ...#UNS EDCHAR 6 6WD= ... #11600 6 6WHB ...#UNS EDCHAR 4 6WLG ...#SKI 16 6WPL #1600 [CHECK CONTEXT 15 6X9= LDX 3 IEL3(2) [ADD OF O/P 15 6XNW LDN 5 #200 [SET SWITCH 15 6Y8G STO 6 3(3) [STORE RESULT 15 6YN6 BRN TERP [AND CONTINUE 4 6_7Q # 17 7272 TER12 ANDN 5 #6004 [IF NOT C OR S OR G 16 73KW BZE 5 TIDY [J TO DECANT O/P 19 745G LDN 3 #10 [IF NO STRING FOLLOWED C OR S 15 74K6 ANDX 3 IEL2(2) [ITS AN ERROR 17 754Q BZE 3 SE2 [J IF STRING ABSENT 4 75JB # 4 7642 # 20 76HL # AT THIS POINT WE HAVE SOME VALUES IN THE OUTPUT AREA AND THE 20 773= # CONTEXT BITS IN IEL2 SO WE HAVE TO PROCESS THE OUTPUT AREA. 4 77GW # 16 782G TIDY LDX 0 IEL2(2) [CONTEXT COUNTER 18 78=# ... BZE 0 SE2 [J IF NO CONTEXT BITS SET 14 78G6 LDX 3 IEL3(2) [O/P AREA 16 78_Q LDX 4 1(3) [RECORD / CH CNT 16 79FB LDX 5 3(3) [CHAR / CH CNT 15 79_2 LDX 6 4(3) [Z / CH INDEX 15 7=DL LDN 7 0 [INITIALISE 15 7=Y= SRC 0 2 [SHIFT TO *2 17 7?CW BPZ 0 TD1 [J NOT - FIRST TIME 17 7?XG LDCT 7 #400 [MEANS GO BACKWARDS 17 7#C6 TD1 ORN 7 1 [TENTATIVELY CONTEXT 15 7#WQ SRC 0 3 [SHIFT TO *20 18 7*BB BPZ 0 TD2 [J NOT NUMBER FIRST TIME 16 7*W2 ADN 7 1 [ADD FOR ABSOLUTE 16 7B*L BPZ 7 TD21 [J NOT BACKWARDS 15 7BT= NGX 4 4 [INVERT SIGN 15 7C#W TD21 SLC 0 1 [SHIFT TO *10 16 7CSG BRN TD20 [SKIP NEXT BIT 15 7D#6 TD2 SLC 0 1 [SHIFT TO *10 15 7DRQ BNG 0 TD20 [J IF CONTEXT 17 7F?B ADN 7 1 [NUMBER BY DEFAULT 15 7FR2 TD20 SLC 0 1 [SHIFT TO *4 16 7G=L BPZ 0 TD30 [J NOT CONTAINING 15 7GQ= SLL 4 1 [ELSE SET B0 7 7H9W ADN 4 1 7 7HPG SRC 4 1 7 7J96 TD30 SRC 0 8 15 7K8B BPZ 0 TD40 [J NOT SPACES 7 7LM= SLL 4 2 16 7M6W ADN 4 1 [ELSE SET BIT1 7 7MLG SRC 4 2 7 7P5B TD40 SRC 0 1 15 7PK2 BPZ 0 TD3 [J IF NOT G 7 7Q4L SLL 4 3 16 7QJ= ADN 4 1 [ELSE SET BIT 2 7 7R3W SRC 4 3 7 7RHG TD3 SLC 0 6 18 7TG2 BNG 0 TD4 [J IF PRESENT 16 7T_L SRC 0 2 [SHIFT TO *200 17 7WF= BRN TD7 [CHECK ON 16 7WYW TD4 SRC 0 1 [SHIFT TO *100 17 7XDG BPZ 0 TD5 [J NO - SECOND TIME 17 7XY6 NGX 5 5 [INVERT COUNT / SIGN 16 7YCQ TD5 SRC 0 3 [SHIFT TO *1000 17 7YXB BPZ 0 TD6 [J NOT E SECOND TIME 6 7_2G ...#UNS EDCHAR 15 7_5L ... LDCT 6 #100 [SET E(2ND) 6 7_8Q ...#UNS EDCHAR 4 7_?W ...#SKI 18 7_C2 LDCT 6 #177 [SUBSTITUTE LARGE ADDRESS 6 7_D? ...#UNS EDCHAR 4 7_FJ ...( 4 7_GT ...TD6 14 7_J6 ... SRC 0 3 [*10000 16 7_KC ... BPZ 0 TD6A [J IF NOT S(2ND) 14 7_LN ... LDCT 6 #040 [SET .S 4 7_M_ ...TD6A 13 7_P= ... SLC 0 5 [*200 4 7_QH ...) 6 7_RS ...#UNS EDCHAR 4 7_T5 ...#SKI 16 7_WL TD6 SLC 0 2 [SHIFT TO *200 18 82B= TD7 BPZ 0 TD10 [J NOT NUMBER SECOND TIME 15 82TW SLC 0 7 [SHIFT TO *1 14 83*G BNG 0 TD12 [J IF # 19 83T6 TD8 BNZ 4 TD9 [J IF WILL CHANGE 6 83XP ...#UNS EDCHAR 4 842# ...( 14 844X ... SLC 0 11 [*20000 15 847G ... BNG 0 TD8A [J IF #(2ND) 4 84=5 ...) 20 84#Q ADX 5 IEL4(2) [CONVERT TO ABSOLUTE 6 84C* ...#UNS EDCHAR 4 84FY ...( 4 84JH ...TD8A 13 84M6 ... SRC 0 11 [*1 4 84PP ...) 14 84SB TD9 BPZ 0 TD11 [J NOT # 19 85#2 ADX 4 IEL5(2) [CONVERT TO ABSOLUTE 18 85RL BRN TD11 [SKIP, ALREADY SHIFTED 15 86?= TD10 SLC 0 7 [SHIFT TO *1 14 86QW TD11 BNG 0 TD12 [J IF # 15 87=G SRC 0 3 [SHIFT TO *10 9 87Q6 BNG 0 TD12-1 19 889Q ADX 4 IEL5(2) [CONVERT TO ABSOLUTE 15 88PB SLC 0 3 [SHIFT TO *1 14 8992 TD12 BPZ 0 TD13 [J NOT # 18 89NL ADX 4 IENO(2) [ADJUST FOR NEW ORIGIN 16 8=8= NGX 0 IEL5(2) [ELSE WE HAVE TO 16 8=MW ADXC 0 4 [CHECK THAT THE 16 8?7G LDN 0 0 [DESTINATION, IF 18 8?M6 SRC 0 1 [BEFORE CURRENT POSITION 17 8#6Q ORX 7 0 [CAUSES REVERSE READ 16 8#LB TD13 STO 4 1(3) [STORE 17 8*62 STO 5 3(3) [STORE 16 8*KL STO 6 4(3) [STORE CH ADDRESS 18 8B5= STO 7 0(3) [STORE EXECUTION SWITCH 17 8BJW TIDYE UPPLUS 1 [FINISH IN GOOD ORDER 4 8C4G # 5 8CJ6 N3EDITET 8 8D3Q CALL 6 RLIF 19 8DHB CALL 6 NCH [GET CHARACTER FOLLOWING O 17 8F32 CALL 0 NCH3 [GEOERR IF NOT THERE 16 8FGL CALL 6 MULT [EVALUATE NUMBER 9 8G2= LDX 7 IEOR(2) 9 8GFW SBX 7 IEBF(2) 16 8G_G STO 7 ACOM1(2) [SAVE NEW ORIGIN 7 8HF6 UPPLUS 1 4 8HYQ # 4 8JDB # 5 8JY2 N4EDITET 19 8KCL BRKINOFF XITER [CLEAR B-I / J IF DISASTER 7 8KX= UPPLUS 1 5 8L5G ...XITER 18 8L?Q ... TESTBRKIN XITERUP [TO CLEAR BREAKIN BIT ONLY 5 8LG2 ...XITERUP 5 8LN= ... UP 4 8LWG # 4 8MB6 # 5 8MTQ N5EDITET 17 8N*B LDX 7 IEFS(2) [NO OF EDITING FILES 7 8NT2 SBN 7 1 16 8P#L LDX 4 IEFT(2) [TYPES OF FILES 18 8PS= BZE 7 POP2 [J IF LAST FILE IN STACK 18 8Q?W BNG 4 POP1 [J IF J/S - MUSTNT CLOSE 18 8QRG LDX 1 IEON(2) [GET OUR FILE IN TOP OF 18 8R?6 FILEMOVE 1(1),0 [THE GEORGE FILE STACK 15 8RQQ CALL 6 XCLSE [CLOSE IT 17 8S=B POP1 SLL 4 1 [SHIFT TO NEW FILE 17 8SQ2 STO 7 IEFS(2) [STORE NEW VALUES 15 8T9L STO 4 IEFT(2) [FOR STACK 17 8TP= UPPLUS 2 [EXIT IN GOOD ORDER 21 8TXG ...POP2 LDCT 7 #100 [CLEAR INSERT INSTRUCTION BIT IF SET 9 8W5Q ... ORS 7 IESW(2) 9 8W#2 ... ERS 7 IESW(2) 17 8WG= ... BNG 4 POP3 [J IF J/S EXHAUSTED 20 8WNG EDERR IEYE [^IVE EXHAUSTED YOUR EDITING FL^ 9 8WTN ... LDX 1 IEON(2) 17 8X2W ... BACKSPACE 1(1) [SET TO READ EOF AGAIN 5 8X86 UP 10 8XMQ POP3 LDX 0 CONTEXT(2) 8 8Y7B ANDN 0 #10 15 8YM2 BNZ 0 POP4 [J IF MOP 20 8_6L EDERR IEYJ [^IVE EXHAUSTED YOUR JOB SOURCE^ 8 8_L= BACKSPACE -2 17 925W ALASHUNT 3,6 [CONSIDERATION FOR 17 92KG SUBREC 3,6 [COMMAND PROCESSOR 5 9356 UP 19 93JQ POP4 EDERR TNFC [^THERE IS NO FILE TO CLOSE^ 7 944B UPPLUS 1 4 94J2 # 4 953L # 5 95H= N8EDITET 16 962W LDX 7 IEON(2) [NO OF OLD FILES 7 96GG SBN 7 1 17 9726 BZE 7 PLP1 [J IF NONE TO CLOSE 16 97FQ STO 7 IEON(2) [STORE NEW VALUE 16 97_B FILEMOVE 1,0 [GET THE FILE ON 16 98F2 CALL 6 XCLSE [TOP AND CLOSE 17 98YL LDN 6 IEOW(2) [AT THIS POINT WE 16 99D= LDN 7 IEOR(2) [HAVE TO SHUFFLE 17 99XW MOVE 6 20 [THE FINGERS DOWN 8 9=CG LDCT 0 #4 16 9=X6 ORS 0 IESW(2) [CLEAR EOF BIT 9 9?BQ ERS 0 IESW(2) 16 9?WB LDX 6 IEOR(2) [WE ALSO HAVE TO 16 9#B2 STO 6 IEOY(2) [FIDDLE AROUND A 17 9#TL STO 6 IEOZ(2) [BIT IN CASE USER 16 9**= LDX 6 IEOC(2) [TRIES TO F THE 16 9*SW STO 6 IEOY+1(2) [X INSTRUCTION 9 9B#G STO 6 IEOZ+1(2) 9 9BS6 LDX 6 IENR(2) 17 9C?Q STO 6 IENY(2) [UNFORTUNATELY MOVE 16 9CRB STO 6 IENZ(2) [CANNOT BE USED 9 9D?2 LDX 6 IENC(2) 9 9DQL STO 6 IENY+1(2) 9 9F== STO 6 IENZ+1(2) 14 9FPW UPPLUS 1 [EXIT OK 19 9G9G PLP1 EDERR TNFC [^THERE IS NO FILE TO CLOSE^ 5 9GP6 UP 4 9H8Q # 4 9HNB # 5 9J82 N7EDITET 17 9JML LDX 5 IEFS(2) [NO OF FILES OPEN 16 9K7= LDX 4 IEFT(2) [TYPES OF FILES 16 9KLW BXGE 5 O30(1),UM2 [J IF STACK FULL 14 9L6G ORN 4 1 [SET B0 17 9LL6 ADN 5 1 [INCREMENT BY 1 FILE 7 9M5Q SRC 4 1 15 9MKB STO 5 IEFS(2) [STORE NEW 14 9N52 STO 4 IEFT(2) [VALUES 14 9NJL UM1 UPPLUS 1 [EXIT OK 18 9P4= UM2 EDERR EFSF [^EDIT FILE STACK FULL^ 16 9PHW BNG 4 UM1 [CARRY ON IF MOP 5 9Q3G UP 4 9QH6 # 9 9R2Q MENDAREA 100,K100EDITET 4 9RGB #END 8 ____ ...15160445001100000000