10 22FL #LIS K0EDWRITE>K0ALLGEO>0 11 22LS ... SEG EDWRITE,867,COMM,,G571 4 22S2 ...[ 15 22_8 ...[ (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1982 13 236B ...[ THIS EXCLUDES CODE UNDER #SKI G571 4 23?J ...[ 7 23DQ ...#OPT G571 = 0 6 23KY ...#SKI G571&1 16 23R6 ...# WITH UGUG EDIT M571 (IMPROVED EDIT AMORPHOUS FILE) 4 23YG # 11 24D6 # ENTRY POINT TABLE 4 24XQ # 18 25CB SEGENTRY K1EDWRITE,N1EDWRITE [WRITE RECORD TO NEW FILE 9 25X2 SEGENTRY K2EDWRITE,OH 9 26BL SEGENTRY K3EDWRITE,OH 9 26W= SEGENTRY K4EDWRITE,OH 9 27*W SEGENTRY K5EDWRITE,OH 9 27TG SEGENTRY K7EDWRITE,OH 9 28*6 SEGENTRY K8EDWRITE,OH 16 28SQ SEGENTRY K9EDWRITE,N9EDWRITE [F INSTRUCTION 18 29#B SEGENTRY K10EDWRITE,N10EDWRITE [OUTPUT FOR W-FACILITY 17 29S2 SEGENTRY K11EDWRITE,N11EDWRITE [JOB ABANDONED ACTION 9 2=?L OH GEOERR 1,EDWRITE 4 2=R= # 15 2?=W MNUM #32657713 [MAGIC NUMBER 18 2?QG SPWRD #40772020 [@_ PRECEDES W LISTINGS 4 2#=6 # 13 2#PQ # RLOF RELOCATES THE OLD FILE BLOCK 4 2*9B # 16 2*P2 RLOF LDX 5 IEOM(2) [GET BLOCK PHOTO 9 2*YS LDX 3 IEOA(2) 16 2B8L TESTMOVE 5,RO1 [J IF STILL THERE 16 2BN= MHUNTW 3,EDIT,FRB [ELSE FIND IT 16 2C7W PHOTO 5 [GET NEW PHOTO 15 2CMG STO 5 IEOM(2) [AND STORE 16 2D76 STO 3 IEOA(2) [STORE ADDRESS 14 2DLQ RO1 EXIT 6 0 [AND EXIT 4 2F6B # 4 2FL2 # 13 2G5L # RLNF RELOCATES THE NEW FILE BLOCK. 4 2GK= # 16 2H4W RLNF LDX 5 IENM(2) [GET BLOCK PHOTO 9 2H#N LDX 3 IENA(2) 16 2HJG TESTMOVE 5,RN1 [J IF STILL THERE 16 2J46 MHUNTW 3,FILE,FAPB [ELSE FIND IT 16 2JHQ PHOTO 5 [GET NEW PHOTO 18 2K3B STO 3 IENA(2) [STORE ADDRESS OF BLOCK 17 2KH2 STO 5 IENM(2) [STORE PHOTO OF BLOCK 14 2L2L RN1 EXIT 6 0 [AND EXIT 4 2LG= # 4 2L_W # 20 2MFG SETAPPEND [SETS APPEND POINTERS = READ PTRS FOR NEWFILE 4 2M_6 # 17 2NDQ CURTAIL [NEWFILE AT LEVEL 0 7 2NYB EXIT 6 0 4 2PD2 # 4 2PXL # 18 2QC= # K1EDWRITE IS THE ENTRY POINT FOR WRITING A RECORD TO 18 2QWW # THE NEW FILE. THE RECORD IS LISTED TO THE MONITORING 9 2RBG # FILE IF REQUIRED 21 2RW6 # EXTREME OVERSIGHT ON MY PART I WROTE THE SPECIFICATION TO ALLOW 21 2S*Q # FOR ANY SORT OF FILE TO BE USED BY THE EDITOR. THE FOLLOWING CODE, 21 2STB # WHICH IS AS NASTY AS THE SYNTAX ANALYSIS ROUTINES IN EDITOR ARE 20 2T*2 # BEAUTIFUL, REPRESENTS THE ALMOST UNBELIEVABLE MESS THAT THE 21 2TSL # DESIGNERS OF GEORGE 3 HAVE MADE OF PERIPHERAL FILES. (THE FILE- 12 2W#= # STORE WAS ACTUALLY DESIGNED?) 20 2WRW # BE CONSOLED BY THE THOUGHT THAT THE PAPER TAPE MODE CONVERSION 21 2X?G # IS NOT NEEDED HERE THANKS TO LADISLAV KUTILECK'S CUNNING ROUTINES 15 2XR6 # EXIT IF FILE FULL OR B. S. LIMIT: UP 16 2Y=Q # EXIT IF BREAK-IN UPPLUS 1 16 2YQB # EXIT IF OK UPPLUS 2 4 2_=2 # 9 2_PL # NOW READ ON - - 4 329= # 6 32NW N1EDWRITE 4 338G # 17 33N6 BVSR / [MAKE SURE V IS CLEAR 18 347Q CALL 6 RLNF [GET OUTPUT BLOCK AGAIN. 17 34MB WR6 LDX 5 BITS22LS [NOW WE HAVE TO SET 16 3572 LDX 6 IENC(2) [UP THE FILESTORE 16 35LL BXL 6 IENH(2),WR60 [RED TAPE WORDS, 15 366= BXE 6 IENH(2),WR60 [LOPPING OFF 17 36KW BVCI / [AT MAXIMUM LENGTH 15 375G LDX 6 IENH(2) [IF REQUIRED 9 37K6 STO 6 IENC(2) 17 384Q WR60 LDN 7 0 [AND SETTING UP THE 16 38JB SRL 67 2 [PECULIAR FORMAT 17 3942 BZE 7 WR7 [ADDING IN FOR ALL 16 39HL ADN 6 1 [MANNER OF THINGS 6 3=3= #SKI JDIAG1 4 3=GW ( 18 3?2G WR7 ADX 6 IENG(2) [SET RECORD HEADER LENGTH 18 3?G6 SBN 6 A1 [WE MUST NOT OVERWRITE 4 3?_Q ) 7 3#FB #SKI JDIAG1<1$1 18 3#_2 WR7 ADN 6 2 [WE MUST NOT OVERWRITE 17 3*DL LDX 3 IENA(2) [BITS 2 TO 23 OF THE 17 3*Y= ANDS 5 A1+1(3) [SECOND WORD BECAUSE 18 3BCW STO 6 A1(3) [WE HAVE MOST PAINFULLY 16 3BXG ORS 7 A1+1(3) [PUT THEM THERE 19 3CC6 LDX 0 A1+1(3) [CHECK IF PFCC TO BE CHANGED 9 3CWQ LDX 5 IEPF(2) 14 3DBB BNG 5 WR7A [J IF NOT 7 3DW2 SRL 0 6 7 3F*L SLL 0 6 14 3FT= ORX 0 5 [RESET 9 3G#W STO 0 A1+1(3) 18 3GSG WR7A STO 0 AWORK1(2) [SAVE 2ND RED TAPE WORD 20 3H#6 BZE 7 WR71 [J IF INTEPRAL NUMBER OF WORDS 17 3HRQ ADS 6 3 [END ADDRESS OF BLOCK 17 3J?B ADN 3 A1-1 [ADJUST FOR RED TAPE 18 3JR2 ORS 7 3 [SET CHARACTER ADDRESS 18 3K=L SLC 7 2 [CONVERT TO COUNT WHICH 16 3KQ= LDN 5 #20 [IS COMPLEMENT 19 3L9W SBN 7 4 [CONVERT TO NEGATIVE COUNT 17 3LPG WR70 DCH 5 0(3) [SPACE FILL THE LAST 17 3M96 BCHX 3 / [WORD OF THE RECORD 17 3MNQ ADN 7 1 [INCREMENT COUNT AND 16 3N8B BNZ 7 WR70 [LOOP UNTIL FULL 17 3NN2 WR71 BVCR WR8 [J IF LENGTH WAS OK 19 3P7L EDCOM YRTL [ELSE COMMENT ON THE CHOPPING 14 3PM= WR8 CALL 6 RLNF [GET FAPB 8 3Q6W CALL 6 RLOF 9 3QLG LDX 3 IENA(2) 7 3R66 STO 3 5 8 3RKQ LDX 7 A1(3) 6 3S5B #SKI JDIAG1 4 3SK2 ( 8 3T4L LDN 4 #4 9 3TJ= ANDX 4 IESW(2) 16 3W3W BZE 4 NOTG [J IF NOT GEDIT 9 3WHG SMO IEOA(2) 15 3X36 LDX 4 A1+2 [PASS ACROSS 16 3XGQ STO 4 A1+2(3) [SEQUENCE WORD 4 3Y2B NOTG 4 3YG2 ) 19 3Y_L CALL 6 SETAPPEND [SET APPEND PTRS = READ PTRS 6 3_2H ...#SKI G571&1 4 3_3D ...( 7 3_4* ... LDN 6 0 17 3_5= ... IF +IEOT(2),ZE [ NEWFILE AMORPHOUS 6 3_67 ... THEN 8 3_74 ... LDN 6 1 8 3_7_ ... SBN 7 1 18 3_8W ... IF 6,E,7 [ EMPTY RECORD, X7=1 7 3_9R ... THEN 10 3_=N ... LDX 0 ACES 18 3_?K ... LDN 7 2 [ SET TO 4 SPACES 9 3_#G ... SMO 5 10 3_*C ... STO 0 A1+2 6 3_B# ... FI 5 3_C9 ... FI 4 3_D6 ...) 7 3_F= LDX 2 7 9 3_YW STEP ,0(2),WRBI 7 42DG STO 3 4 7 42Y6 LDX 3 5 16 43CQ TESTREP FILEFULL,WR9 [J IF FILE FULL 17 43XB TESTREP REFUSED,WR90 [J IF NO MORE B. S. 17 44C2 TESTREP OK,WR8A [J IF NOT COORDINATED 10 44WL MHUNTW 3,FILE,FAPB 8 45B= WR8A ADN 3 A1 6 45DT ...#SKI G571&1 4 45HD ...( 18 45L3 ... ADX 3 6 [ IF AMORPHOUS, OVERWRITE 19 45NL ... STO 7 0(3) [ 2ND RED TAPE WORD WITH 1ST 4 45R9 ...) 7 45TW SMO 7 15 46*G MOVE 3 0 [MOVE DATA 16 46T6 STEP [UPDATE READ PTRS 18 47#Q LDX 0 IENR(2) [GET REC COUNT INTO X0 17 47SB LDX 6 IESW(2) [COLLECT SWITCH WORD 19 482L ... BXL 0 IENL(2),WR10 [J IF NO. OF RECORDS < LIMIT 18 488W ... LDCT 6 #400 [SET LIMIT MESSAGE MARKER 9 48C6 ... ORS 6 IENL(2) 8 48KB ... BRN WR9A 9 48RL WR9 STOZ IENL(2) 9 49?= WR9A LDX 6 IESW(2) 19 49QW WR10 LDX 5 IENC(2) [KEEP NUMBER OF CHARACTERS 15 4==G STOZ IENC(2) [CLEAR COUNT 16 4=Q6 BPZ 6 WR13 [J IF NOT LISTING 19 4?9Q LDCT 7 #200 [ELSE WE ARE LISTING SO... 9 4?PB ANDX 7 IESW(2) 7 4#92 SLC 7 5 20 4#NL ADX 5 7 [USING THE NUMBERING SWITCH BIT 20 4*8= ERN 7 #10 [ADJUST CHARACTER COUNT AND START 20 4*MW STO 5 AWORK2(2) [ADDRESSES SO THAT IT WORKS OUT 20 4B7G SRL 7 2 [CORRECTLY. THIS AVOIDS A RATHER 17 4BM6 LDN 5 A1 [MESSY BIT OF CODE 16 4C6Q STO 7 AWORK3(2) [STORE CALCULATED 14 4CLB ADS 5 AWORK3(2) [VALUES 18 4D62 CALL 6 RLNF [RELOCATE OUTPUT BLOCK 18 4DKL LDN 1 0 [NEEDED BY NS SP CHOPPER 17 4F5= BNZ 7 WR12 [J IF NOT NUMBERING 19 4FJW LDX 7 IENR(2) [AND OVERWRITE THE RED TAPE 15 4G4G SMO FX1 [WORDS WITH 15 4GJ6 MPY 7 MNUM [THE DECIMAL 19 4H3Q LDX 1 IENA(2) [RECORD NUMBER. WE HAVE TO 6 4HHB #SKI JDIAG1 4 4J32 ( 9 4JGL ADX 1 IENG(2) 8 4K2= SBN 1 A1+2 4 4KFW ) 18 4K_G MODE 1 [ALLOW FOR THE FACT THAT 19 4LF6 LDN 5 6 [THE FIRST RECORD IS NUMBER 19 4LYQ WR11 CBD 7 A1(1) [ZERO, ALSO THAT THE NUMBER 19 4MDB BCHX 1 / [FIELD IS SEVEN CHARACTERS 20 4MY2 BCT 5 WR11 [SO WE HAVE TO INSERT AN EXTRA 17 4NCL MODE 0 [SPACE AT THE END. 8 4NX= LDN 6 #20 19 4PBW CBD 7 A1(1) [HAVING DONE THAT WE MUST NOW 20 4PWG BCHX 1 / [SET UP FOR THE LISTING (LISTING 19 4QB6 DCH 6 A1(1) [CATEGORY IS 4) PS ARE THERE 18 4QTQ NGN 1 8 [NEEDED BY NS SP CHOPPER 19 4R*B WR12 LDN 7 4 [STILL REDUNDANT WORDS IN THE 18 4RT2 LDX 3 IENA(2) [NOW TO LOP OFF TRAILING 17 4S#L ADX 1 AWORK2(2) [SPACES. DONE HERE 15 4SS= ADN 1 3 [BY SCANNING 16 4T?W SRL 1 2 [BLOCK BACKWARDS 15 4TRG LDN 4 0 [AND COUNTING 6 4W?6 #SKI JDIAG1 4 4WQQ ( 7 4X=B ADX 1 3 9 4XQ2 ADX 1 IENG(2) 15 4Y9L SBN 1 1 [THE NUMBER 4 4YP= ) 7 4_8W #SKI JDIAG1<1$1 15 4_NG ADN 1 A1+1(3) [THE NUMBER 17 5286 LDX 5 ACES [OF WORDS OF SPACES 15 52MQ WR21 BXU 5 0(1),WR22 [J NOT SPACE 14 537B ADN 4 1 [COUNT 14 53M2 SBN 1 1 [ADDRESS 13 546L BRN WR21 [LOOP 18 54L= WR22 LDX 5 AWRK2(2) [SO GET LENGTH OF RECORD 17 555W LDX 1 AWRK3(2) [ROUND UP TO WORDS 6 55KG #SKI JDIAG1 4 5656 ( 9 56JQ ADX 1 IENG(2) 8 574B SBN 1 A1+2 4 57J2 ) 19 583L ADN 5 3 [AND SUATRACT THE NUMBER OF 18 58H= SRL 5 2 [WORDS WITH SPACES THEN 19 592W SBS 4 5 [CONVERT BACK TO CHARACTERS 18 59GG SLL 5 2 [C_ULD BE A REC-RD TH_T 19 5=26 BPZ 5 WR23 [IS ALL SPQACES AND A NON- 19 5=FQ LDN 5 0 [INTEGRAL NNUMBER OF WORDS 17 5=_B WR23 OUTMON 5,0(1),7,FILE,FAPB [SOCK IT TO CLKENT 16 5?F2 WR13 CALL 6 RLNF [FIND THE OUTPUT 18 5?YL LDX 5 AWORK1(2) [GET THE PFCC FROM THE 17 5#D= LDX 3 IENA(2) [FILE FAPB AND PUT IT 17 5#XW LDN 4 1 [OF O/P'S RED TAPE 6 5*CG #SKI JDIAG1 18 5*X6 STOZ A1+2(3) [NULL OUT SEQUENCE WORD 16 5BBQ STO 5 A1+1(3) [INCREMENT RECORD 18 5BWB LDX 0 IENL(2) [NUMBER AND CHACK THAT 18 5CB2 ADS 4 IENR(2) [THE NEW FILE IS NOT FULL 21 5CH8 FIXTRA ESP [****EDITOR SPECIAL FOR PLESSEY**** 6 5CNB NULL 15 5CTL BNZ 0 WR14 [J NOT FULL 20 5D*= EDERR YFYN ['YOUV'E FILLED YOUR NEW FILE' 16 5DSW UP [SHUTDOWN EXIT 20 5F#G ...WR14 BNG 0 WR15 [J IF REFUSED OR LIMIT EXCEEDED 17 5FS6 UPPLUS 2 [EXIT IN GOOD ORDER 20 5FWP ...WR15 LDCT 0 #400 [UNSET REFUSED OR LIMIT EXCEEDED 9 5F_# ... ERX 0 IENL(2) 18 5G3X ... BZE 0 WR17 [J IF BS LIMIT REACHED 18 5G6G ... BXE 0 AZVOLUME,WR16 [J IF LIMIT IS IP VOLUME 20 5G95 ... EDERR YESL ['YOU'VE EXCEEDED YOUR SPECIFIED 14 5G?N ... [LIMIT' 16 5GB? ... UP [SHUTDOWN EXIT 20 5GDW ...WR16 EDERR YEDL ['YOU'VE EXCEEDED INSTALLATION 16 5GHF ... [DEFAULT LIMIT' 16 5GL4 ... UP [SHUTDOWN EXIT 20 5GNM ...WR17 EDERR YBSL ['YOU'VE REACHED YOUR BS LIMIT' 16 5GRB UP [SHUTDOWN EXIT 4 5H?2 # 16 5HQL WR90 LDCT 7 #400 [IF REFUSED,SET 15 5J== STO 7 IENL(2) [B0 OF IENL 15 5JPW BRN WR9A [AND CONTINUE 4 5K9G # 16 5KP6 # IF BREAK-IN WHILE WAITING FOR BACKING STORE: 16 5L8Q WRBI UPPLUS 1 [TERMINATING EXIT 4 5LNB # 4 5M82 # 4 5MML # 4 5N7= # 11 5NLW # FILE REPOSITION ROUTINE 16 5P6G # X = REQURED POSITION Y = CURRENT POSITION 11 5PL6 # FILE NUMBER IS IN AWORK1 16 5Q5Q # NB NO ADVANTAGE IS TAKEN OF THE FACT THAT WE 15 5QKB # COULD REWIND THE FILE BECAUSE WE MAY NOT 15 5R52 # ACTUALLY HAVE THE ABSOLUTE RECORD NUMBERS 4 5RJL # 9 5S4= REPO LDX 1 AWORK1(2) 16 5SHW SBX 6 FX1 [RELATIVISE LINK 7 5T3G SLL 1 1 7 5TH6 ADX 1 2 19 5W2Q LDX 0 IENZ+1(1) [SWITCH CHARACTER POINTERS 9 5WGB STO 0 IENC(1) 9 5X22 LDX 7 IENR(1) 18 5XFL LDX 0 IENZ(1) [SWITCH RECORD POINTERS 9 5X_= STO 0 IENR(1) 15 5YDW BXE 0 7,REPEX [J IF X = Y 15 5YYG BXL 0 7,REP3 [J IF X Y AND FORWARDS 17 5_XQ STO 0 7 [SO MUST BE OLD FILE 9 62CB REP1 LDX 1 AWORK1(2) 8 62X2 STEP 0(1) 16 63BL BZE 3 REP2 [J IF HIT EOF 8 63W= BCT 7 REP1 8 64*W BRN REP6 15 64TG REP2 LDCT 4 #4 [SET EOF BIT 9 65*6 ORS 4 IESW(2) 8 65SQ BRN REP6 15 66#B REP3 SBX 7 0 [X7 = Y-X 9 66S2 LDX 1 AWORK1(2) 16 67?L BZE 1 REP4 [J IF NEW FILE 16 67R= LDCT 4 #4 [ELSE OLD FILE SO 16 68=W ORS 4 IESW(2) [CLEAR EOF BIT 9 68QG ERS 4 IESW(2) 8 69=6 BRN REP5 17 69PQ REP4 SBN 7 1 [X7-1 BSP'S FOR N/F 15 6=9B BZE 7 REP6 [J IF NONE 9 6=P2 REP5 LDX 1 AWORK1(2) 8 6?8L BACKSPACE 0(1) 8 6?N= BCT 7 REP5 9 6#7W REP6 LDX 1 AWORK1(2) 15 6#MG READAGAIN 0(1) [BSP + READ 10 6*76 MHUNTW 3,FILE,FRB 10 6*LQ NAME 3,EDIT,FAPB 8 6B6B REPEX ADX 6 FX1 7 6BL2 EXIT 6 0 4 6C5L # 4 6CK= # 16 6D4W # THIS CODE EXECUTES GRUEL'S F(*CK) INSTRUCTION 4 6DJG # 6 6F46 N9EDWRITE 4 6FHQ # 18 6G3B LDN 6 #3 [SEE IF F IS CURRENTLY 14 6GH2 ANDX 6 IESW(2) [ALLOWED 14 6H2L BZE 6 UCKER [J IF SO 7 6HG= LDN 6 1 9 6H_W ORS 6 IESW(2) 16 6JFG EDCOM TWOF [ERROR MESSAGE 18 6J_6 BRN NCK [J TO NEXT INSTRUCTION 18 6KDQ UCKER LDN 6 1 [SET BIT TO SHOW WE HAVE 17 6KYB ORS 6 IESW(2) [JUST ENTERED F MODE 17 6LD2 STOZ AWORK1(2) [FIRST DO NEW FILE 8 6LXL CALL 6 REPO 20 6MC= HUNTW 3,EDIT,FAPB [SEE IF WE HAVE TO SWAP BLOCKS 15 6MWW BNG 3 UCK [J IF NOT 9 6NBG MFREEW FILE,FAPB 15 6NW6 NAME 3,FILE,FAPB [SWAP BLOCKS 9 6P*Q STO 3 IENA(2) 18 6PTB PHOTO 5 [RESET WHERE AND WHEN 9 6Q*2 STO 5 IENM(2) 18 6QSL BACKSPACE [GET POINTERS CORRECT 17 6R#= LDX 7 IENR(2) [TO PUT IN EOF MARKER 15 6RRW BZE 7 RCK1 [SKIP IF BOF 14 6S?G READAGAIN [BSP+READ 10 6SR6 MHUNTW 3,FILE,FRB 17 6T=Q ADN 3 A1 [GET PTR TO RECORD 13 6TQB LDX 5 3 [SAVE 7 6W=2 BRN RCK2 16 6WPL RCK1 STEP [DONT BSP IF BOF 18 6X9= RCK2 LDEX 4 0(3) [GET LENGTQ LAST RECORD 18 6XNW BACKSPACE [REPOSITION FOR REWRITING 19 6Y8G CALL 6 SETAPPEND [RESET APP PTRS TO READ PTRS 16 6YN6 LDX 2 4 [STORED LENGTH 17 6_7Q STEP ,0(2),UCK [GET PTR INTO FUWB 14 6_MB BZE 7 RCK3 [J IF BOF 8 7272 SMO FX2 8 72LL LDX 0 IENM 9 736= TESTMOVE 0,RCONT 16 73KW MHUNTW 2,FILE,FRB [RE-FIND RECORD 8 745G ADN 2 A1 9 74K6 BRN RCONTA 7 754Q RCONT LDX 2 5 16 75JB RCONTA SMO FRH(2) [REWRITE RECORD 16 7642 MOVE 2 0 [AT END OF FILE 8 76HL SBN 2 A1 17 773= FREECORE 2 [FREE TEMPORARY BLOCK 16 77GW STEP [UPDATE READ PTRS 7 782G BRN UCK 8 78G6 RCK3 STOZ 0(3) 16 78_Q UCK LDN 6 1 [NOW DO OLD FILE 9 79FB STO 6 AWORK1(2) 8 79_2 CALL 6 REPO 20 7=DL HUNTW 3,EDIT,FAPB [SEE IF WE HAVE TO SWAP BLOCKS 15 7=Y= BNG 3 NCK [J IF NOT 10 7?CW NAME 3,EDIT,FRB 7 7?XG PHOTO 5 18 7#C6 STO 3 IEOA(2) [RESET WHERE AND WHEN 9 7#WQ STO 5 IEOM(2) 8 7*BB LDEX 6 A1(3) 17 7*W2 LDX 7 A1+1(3) [NOW WE HAVE TO FIND 17 7B*L ANDX 7 CACT [HOW MANY CHARACTERS 17 7BT= SBN 6 3 [THERE WERE IN THAT 18 7C#W BNZ 7 NCK1 [BLOCK AND RESET IEOH 7 7CSG ADN 6 1 7 7D#6 NCK1 SLL 67 2 6 7DRQ #SKI JDIAG1 4 7F?B ( 8 7FR2 LDN 4 #4 9 7G=L ANDX 4 IESW(2) 16 7GQ= BZE 4 NOG [J IF NOT GEDIT 9 7H9W LDX 4 A1+2(3) 20 7HPG STOZ A1+2(3) [NULL SEQUENCE WORD AS DEFAULT 18 7J96 STO 4 IESD(2) [SAVE NEW SEQUENCE WORD 19 7JNQ SBN 6 8 [TAKE ACCOUNT OF EXTRA WORDS 4 7K8B NOG 4 7KN2 ) 9 7L7L STO 6 IEOH(2) 5 7LM= NCK UP 4 7M6W # 21 7MLG # THIS CODE CAUSES THE CURRENT RECORD IN THE OLDFILE TO BE LISTED, I.E. 12 7N66 # IT'S THE OUTPUT FOR THE W-FACILITY 6 7NKQ N10EDWRITE 19 7P5B LDCT 7 #4 [FIRST CHECK THAT WE ARE NOT 18 7PK2 ANDX 7 IESW(2) [TRYING TO W FROM OFF EOF 15 7Q4L BNZ 7 WR103 [J IF WE ARE 9 7QJ= LDX 3 IEOA(2) 9 7R3W LDX 7 IEOM(2) 18 7RHG TESTMOVE 7,WR100 [CHECK IF BLOCKS MOVED 10 7S36 MHUNTW 3,EDIT,FRB 7 7SGQ PHOTO 7 18 7T2B STO 3 IEOA(2) [UPDATE BLOCK ADDRESS AND 18 7TG2 STO 7 IEOM(2) [COUNT OF BLOCKS MOVED 6 7T_L #SKI JDIAG1 4 7WF= ( 9 7WYW WR100 LDX 4 IEOG(2) 8 7XDG SBN 4 A1+2 7 7XY6 SMO 4 9 7YCQ LDX 0 A1+1(3) 17 7YXB STO 0 AWORK1(2) [SAVE REDTAPE WORD 9 7_C2 LDX 0 A1+1(3) 4 7_WL ) 7 82B= #SKI JDIAG1<1$1 19 82TW WR100 LDX 0 A1+1(3) [STORE RED TAPE TEMPORARILY 7 83*G LDN 7 0 7 83T6 #SKI JDIAG1<1$1 9 84#Q STO 0 AWRK1(2) 16 84SB SLL 70 2 [GET CHAR POINTER 9 85#2 LDX 5 SPWRD(1) 18 85RL LDEX 0 A1(3) [RECORD LENGTH IN WORDS 6 86?= #SKI JDIAG1 7 86QW SMO 4 9 87=G STO 5 A1+1(3) 8 87Q6 ADN 3 A1-1 19 889Q ADX 3 0 [X3 => LAST WORD IN RECORD 20 88PB WR101 LDX 6 0(3) [WE NOW SCAN THE RECORD BACKWARDS 19 8992 BXU 6 ACES,WR102 [CHOPPING OFF TRAILING SPACES 17 89NL SBN 3 1 [LOSES SPACE WORDS 18 8=8= LDN 7 0 [END CHARS DON'T MATTER 8 8=MW BRN WR101 9 8?7G WR102 SBX 3 IEOA(2) 6 8?M6 #SKI JDIAG1 7 8#6Q SMO 4 8 8#LB SBN 3 A1 7 8*62 SLL 3 2 17 8*KL BZE 7 WR104 [NO ODD CHARS AT END 15 8B5= ADX 3 7 [ELSE ADJUST 16 8BJW SBN 3 4 [CHARACTER COUNT 19 8C4G WR104 LDN 5 4 [X5 = %C OF OUTMON(CATEGORY) 6 8CJ6 #SKI JDIAG1 4 8D3Q ( 7 8DHB SMO 4 16 8F32 LDN 6 A1+1 [START ADDRESS 11 8FGL OUTMONX 3,6,5,EDIT,FRB 4 8G2= ) 7 8GFW #SKI JDIAG1<1$1 11 8G_G OUTMON 3,A1+1,5,EDIT,FRB 8 8HF6 LDCT 7 #20 18 8HYQ ORS 7 IESW(2) [SET B4 TO SHOW LISTED 10 8JDB MHUNT 3,EDIT,FRB 9 8JY2 LDX 0 AWRK1(2) 6 8KCL #SKI JDIAG1 7 8KX= SMO 4 16 8LBW STO 0 A1+1(3) [REPLACE RED TAPE 5 8LWG WR103 UP 4 8MB6 # 16 8MTQ # THIS IS ACTION FOR JT EXCEEDED OR JOB ABANDONED 4 8N*B # 6 8NT2 N11EDWRITE 7 8P#L OUTBLOCN 6 16 8PS= OUTNUM IEOR(2),0 [PARAMETERS FOR 14 8Q?W OUTNUM IENR(2),0 [MONOUT 20 8QRG MONOUT FILEUP [MESSAGE SAYS WHERE EDIT HALTED 16 8R?6 EDERR EDAB ['EDIT ABANDONED' 15 8RQQ LDCT 0 #400 [SWITCH OFF L 9 8S=B ORS 0 IESW(2) 9 8SQ2 ERS 0 IESW(2) 15 8T9L ACROSS EDITPT,2 [SIMULATE 'E' 4 8TP= # 10 8W8W MENDAREA 100,K100EDWRITE 4 8WNG #END 8 ____ ...12125116000400000000