Show pageBacklinksBack to top This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. {{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: LPTWO7)}} ====== LPTWO7 ====== (George Source) **Macros used:** [[george:macro:ACROSS|ACROSS]], [[george:macro:BXE|BXE]], [[george:macro:BXGE|BXGE]], [[george:macro:BXL|BXL]], [[george:macro:CHECKB|CHECKB]], [[george:macro:COMPQU|COMPQU]], [[george:macro:COOR2|COOR2]], [[george:macro:DELETE|DELETE]], [[george:macro:FADDRESS|FADDRESS]], [[george:macro:FOUTMOVE|FOUTMOVE]], [[george:macro:HUNTW|HUNTW]], [[george:macro:LOCKCA|LOCKCA]], [[george:macro:LOOPCH|LOOPCH]], [[george:macro:MENDAREA|MENDAREA]], [[george:macro:MHUNTW|MHUNTW]], [[george:macro:NEXTCH|NEXTCH]], [[george:macro:OLPEND|OLPEND]], [[george:macro:PAIR|PAIR]], [[george:macro:PMODES|PMODES]], [[george:macro:REM|REM]], [[george:macro:SEG|SEG]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SETREP2|SETREP2]], [[george:macro:SPACECT|SPACECT]], [[george:macro:STEP|STEP]], [[george:macro:TESTMULT|TESTMULT]], [[george:macro:TESTREP2|TESTREP2]], [[george:macro:TOPCA|TOPCA]], [[george:macro:TOPCA1|TOPCA1]], [[george:macro:UNSET|UNSET]], [[george:macro:WIND|WIND]] <code - LPTWO7.txt>22FL SEG LPTWO,7,7OPAE,OLP 22^= # THIS SEGMENT PROCESSES MODE 2 OFFLINE *LP PERIS 23DW SEGENTRY K1LPTWO,Z1LPTWO 23YG SEGENTRY K2LPTWO,Z2LPTWO 24D6 [ AWORK1 NON-ZERO MEANS STARTING NEW RECORD 24XQ ...[ AWORK3 IS COUNT OF RECORDS PRODUCED BY THE PERI 25CB ...[ AWORK2 IS SET UP BY ASSIGN WITH NUMBER OF WORDS IN PRINT LINE 25X2 [ B1-FILE FNEARLY FULL 26BL [ AWORK4 B0-END OF MULTIFILE 26HS ...[ B2-22 COUNT OF RECS TO BE DISCARDED 26P2 ...[ BECAUSE OF END OF MULTIFILE ELEMENT 26W= [FI/FUTILITY A1- 1ST WORD OF RED TAPE FOR FILESTORE RECORD 27*W [ A1+1- 2ND WORD OF RED TAPE 27TG [ A1+2 ETC PRINT LINE 28*6 PLINK1 28SQ PAIR LPTWO,1 29#B NEWCPT 29S2 LDCT 0 #200 2=?L ANDX 0 AWORK4(2) 2=R= ERS 0 AWORK4(2) [UNSET MARKERS 2?=W Z1LPTWO 2?QG LDX 0 ALIMEY(2) 2#=6 #SKI ANOLIM 2#PQ BNG 0 Q1 [J IF NOLIMIT QUALIFIER 2*9B BXL 0 ACOUNT(2),OUTL [ELSE J IF LIMIT EXCEEDED 2*P2 Q1 2B8L LDX 3 APETADDR(2) 2BN= LOCKCA 3,ACAP(2),1,2 2C7W LDX 4 0(1) [TYPE/MODE WORD 2CMG LDX 1 FX1 2D76 ANDN 4 #7777 2DLQ SBN 4 2 2F6B BZE 4 K2LPTWO 2FL2 ADN 4 2 2G5L BNZ 4 MOLE 2GK= ACROSS LPOBJ,2 [IF NOT MODE 2 2H4W Z2LPTWO 2HJG LDX 0 AWORK4(2) [J IF END OF MULTIFILE ALREADY REACHE 2J46 BNG 0 OUTF2 [SINCE COMPQU LEAVES NO FILES OPEN 2JHQ LDN 4 4 2K3B LDX 6 ACAP(2) 2KH2 LDN 7 ACA1(2) 2L2L LDX 3 APETADDR(2) 2LG= FOUTMOVE 3,6,7,4,HLOCK1,2 2L^W [MOVE CA TO AOLPT 2MFG LDX 6 ACA3(2) [COUNT 2M^6 BZE 6 WC [ILLEGAL 2NDQ LDCT 0 #777 2NYB ANDX 0 6 2PD2 BNZ 0 WC [COUNT>32K-1 2PXL LDCT 7 #600 2QC= ANDX 7 ACA4(2) 2QWW SLC 7 2 [GET CHAR ADDRESS 2RBG ADX 6 7 2RW6 ADN 6 3 2S*Q SRL 6 2 [ROUND COUNT TO WORDS 2STB LDX 5 ACA4(2) 2T*2 ANDX 5 BITS22LS 2TSL PMODES 0,3 [GET ADDRESS MODE 2W#= ANDN 0 #10 2WRW BNZ 0 MOKA [J IF 22AM 2X?G ANDX 5 BSP16 [REDUCE TO 15BITS 2XR6 MOKA 2Y=Q #SKI G4 2YQB LDN 4 CHREAD [NOT USED IN G3 CHECKB 2^=2 CHECKB 5,6,RV1,3,4,MOKB,HLOCK2,2,K1LPTWO 2^PL [ J TO RV1 IF RESERVATION OR PERMISSION VIOLATION 329= [ RESTART AT K1LPTWO IF PAGETURN NEEDED 32NW MOKB SLL 5 2 338G ADX 5 7 33N6 ADX 5 ACA3(2) 347Q STO 5 ACA4(2) [END ADDRESS IN CHARS 34MB ... STOZ AWORK3(2) [RECORD COUNT 3572 LDX 6 ACA3(2) 35LL LDN 5 0 366= SLL 56 12 [DIVIDE X 4096 - CAN ONLY LOOP 1K WOR 36KW STO 5 ACA3(2) 375G SRL 6 12 [WILL PROCESS FDD CHARS 1ST IF ANY 37K6 HUNTW 3,FI,FUTILITY 384Q BPZ 3 OKBL 38JB ... SMO AWORK2(2) 3942 LDN 5 2+FRH 39HL SETUPCOR 5,3,FI,FUTILITY 3=3= OKBL LDN 5 #77 3=GW NXTR BNZ 6 MORE [J IF REMAINING CHARS FROM LAST LOOPC 3?2G CALL 7 MBUF 3?G6 BRN SETB [START ON NEXT CHUNK OF BUFFER 3?^Q BRN REP [END OF BUFFER 3#FB MORE CALL 7 MBUFOK [CONTINUE WITH PRESENT CHUNK 3#^2 SETB 3*DL STOZ A1+FRH+1(3) [2ND REDTAPE WORD 3*Y= LDX 0 ACES 3BCW STO 0 A1+FRH+2(3) 3BXG ADN 3 A1+FRH+2 3CC6 LDN 4 1(3) 3CH3 ... LDX 0 AWORK2(2) 3CLY ... SBN 0 1 3CQT ... BZE 0 NMOVE [AUTO4 USED 3CWQ ... SMO AWORK2(2) 3DBB MOVE 3 511 3DL8 ...NMOVE 3DW2 SBN 4 1 3F*L STO 4 AWORK1(2) [SET NON-ZERO 3FT= ... ADX 4 AWORK2(2) [ADDRESS OF 1ST CHAR BEYOND END OF LI 3G#W [ASSEMBLY AREA 3GSG NXTCH LDCH 7 0(1) [LOAD NEXT CHAR FROM BUFFER 3H#6 BXE 7 5,NESC [J IF ESCAPE 3HRQ STCH DCH 7 0(3) [STORE IN BLOCK 3J?B BCHX 3 £ [STEP BLOCK ADDRESS 3JR2 TFULL BXE 3 4,YFULL [J IF BLOCK FULL 3K=L UNSET 3KQ= STOZ AWORK1(2) [UNSET INITIALIZED SWITCH 3L9W NEXT NEXTCH 1,6,NXTCH [ADDRESS NEXT CHAR 3LPG CALL 7 MBUF 3M96 BRN NXTCH [START NEXT CHUNK 3M?P ...XPIRED 3MB# ... CALL 7 STEPDUMMY [LINE WITHOUT PRINTOUT 3MDY ... BRN REP [NO MORE - DISCARD 3MNQ NLAST CALL 7 STEP [APPEND LAST RECORD OF PERI 3N8B REP 3NN2 LDN 6 0 3P7L REP2 3PM= CALL 7 REPLY [STORE X6 IN REPLY WORD 3Q6W OLPEND 3QLG BRN K1LPTWO 3R66 3RKQ NESC NEXTCH 1,6,NCC [GET NEXT CHAR & J 3S5B CALL 7 MBUF 3SK2 BRN NCC 3T4L ... BRN XPIRED [HALF CONTROL CHAR 3TJ= NCC LDCH 7 0(1) 3W3W SBN 7 #76 3WHG BNZ 7 NOTP [J IF NOT PRINTOUT CODE 3X36 LDX 7 AWORK1(2) 3XGQ BNZ 7 NEXT [J TO MAIN LOOP AFTER FORCED PRINT 3Y2B YFULL REM 6 [GET REMAINDER COUNT 3YG2 SBN 6 1 [LESS CHAR JUST EXAMINED 3Y^L CALL 7 STEP [APPEND RECORD 3^F= LDN 0 1 3^YW ... ADS 0 AWORK3(2) [UPDATE RECORD COUNT 42DG TESTREP2 COORED,NXTR [J IF STEP COORDINATED 42Y6 COOR2 [GO TO BACK OF QUEUE 43CQ MHUNTW 3,FI,FUTILITY 43XB BRN NXTR 44C2 44WL NOTP SBN 7 #77-#76 45B= BNZ 7 NOTD [J IF NOT __ 45TW LDN 7 #77 46*G BRN STCH [STORE _ 46T6 47#Q NOTD ADN 7 #74 47SB BPZ 7 NOT0 [J IF >2 48#2 ADN 7 3 48RL NPFCC 49?= ORN 7 #40 [CONVERT PFCC TO STANDARD TYPE 49QW LDX 0 4 4==G ... SMO AWORK2(2) 4=Q6 SBN 0 1 4?9Q SMO 0 4?PB LDX 5 0 [2ND REDTAPE WORD 4#92 BNZ 5 SECONDPFCC [J IF ALREDAY HAD A PFCC IN THIS LINE 4#NL LDN 5 #77 [RESTORE VALUE 4#YD ... SMO 0 4*8= STO 7 0 4*MW BRN UNSET [RETURN TO MAIN LOOP 4B7G [ 4BM6 [ DEAL WITH MORE THAN 1 PFCC IN A LINE BY KEEPING LATEST AS CURRENT 4C6Q SECONDPFCC [& PUTTING PREVIOUS IN A DUMMY RECORD 4CLB ... SBX 4 AWORK2(2) 4D62 SBN 4 2 [X4->A1+FRH 4DKL SBX 3 4 [GET CURRENT PRINT POSITION REL TO A1 4F5= SMO 4 4FJW STO 3 FRH [& SAVE IN SPARE (1ST) WORD OF FUTILI 4G4G LDX 5 7 [SAVE NEW PFCC IN X5 4GJ6 REM 6 [GET REMAINDER COUNT 4H3Q SBN 6 1 [LESS LAST CHAR 4HHB CALL 7 STEPDUMMY [APPEND 2WORD DUMMY RECORD WITH OLD P 4J32 LDN 0 1 4JGL ... ADS 0 AWORK3(2) [INCREMENT RECORD COUNT 4K2= TESTREP2 COORED,SAMEREC 4KFW COOR2 [GO TO BACK OF QUEUE IF STEP DIDNT CO 4K^G MHUNTW 3,FI,FUTILITY 4LF6 SAMEREC 4LYQ BNZ 6 SAMEMORE [J UNLESS BUFFER CHUNK EXPIRED 4MDB CALL 7 MBUF [GET ANOTHER CHUNK 4MY2 BRN SAMESETB [OK 4N=C ... STO 5 A1+FRH+1(3) 4NJS ... BRN XPIRED 4NX= SAMEMORE 4PBW CALL 7 MBUFOK [CONTINUE WITH CURRENT CHUNK 4PWG SAMESETB 4QB6 ADN 3 A1+FRH 4QTQ ... SMO AWORK2(2) 4R*B LDN 4 2(3) [GET X4->WORD BEYOND END OF ASSEMBLY 4RT2 STO 5 1(3) [STORE NEW PFCC 4S#L ADX 3 0(3) [RECOVER CURREN POSITION 4SS= STOZ AWORK1(2) [CLEAR PRINTOUT SWITCH 4T?W LDN 5 #77 [RESTORE ESCAPE CHAR FOR 4TRG BRN NXTCH [MAIN LOOP 4YP= [ 4^2L ...NOT0 SBN 7 5 4^#2 ... BNG 7 XCC [J IF <#10 4^KB ... BZE 7 UNSET [=#10 4^WQ ... SBN 7 1 5286 BZE 7 PAGETHROW [J IF THROW TO HEAD OF FORM 52MQ SBN 7 7 537B BPZ 7 TAB1 [J IF >#17 53M2 ADN 7 #20 [RESTORE CORRECT VALUE 546L BRN NPFCC [& STORE AS PFCC 54L= PAGETHROW 555W LDCT 0 #200 55KG ANDX 0 AWORK4(2) 55SD ... LDN 7 #11 [PFCC FOR PAGE THROW 563B ... BZE 0 NPFCC [J IF NOT FNEARLY ON PREVIOUS STEP 56=# ... LDX 7 AWORK3(2) [NO OF RECS GENERATED BY THIS PERI 56F= ... ORS 7 AWORK4(2) [RECS TO BE DISCARDED NEXT 56N8 ... [TIME ROUND ON SAME PERI 56X6 ... TESTMULT OUTF1 [J IF MULTIFILE 5764 ... ERS 7 AWORK4(2) [NOT MULT SO ER ALL RECS FOR THIS PERI 57*2 ... BRN OUTF 57J2 583L TAB1 SBN 7 #54-#20 58H= BZE 7 TABL [J IF TAB CHAR L 592W SBN 7 1 59GG BNZ 7 XCC [J - CHAR ILLEGAL 5=26 LDN 7 100 [TAB M 5=FQ TABL LDX 5 7 [KEEP TAB VALUE 5=^B NEXTCH 1,6,TAB2 [GET NEXT TAB CHAR 5?F2 CALL 7 MBUF 5?YL BRN TAB2 5#D= BRN XCC 5#XW 5*CG TAB2 LDCH 7 0(1) 5*X6 SBN 7 #52 5BBQ BPZ 7 XCC [J IF >#51 5BWB ADN 7 #52-#40 5CB2 BNG 7 XCC [OR <#40 5CTL SLL 7 1 [*2 5D*= ADX 5 7 5DSW SLL 7 2 [*8 5F#G ADX 5 7 5FS6 NEXTCH 1,6,TAB3 [GET 3RD TAB 5G?Q CALL 7 MBUF 5GRB BRN TAB3 5H?2 BRN XCC 5HQL 5J== TAB3 LDCH 7 0(1) 5JPW SBN 7 #72 [J IF >#71 5K9G BPZ 7 XCC 5KP6 ADN 7 #72-#60 5L8Q BNG 7 XCC [OR <#60 5LNB ADX 5 7 5M82 ... LDX 7 AWORK2(2) 5MML SLL 7 2 5N7= BXGE 5 7,XCC [J IF TAB OUT OF RANGE 5NLW LDX 3 4 [RESET BLOCK POINTER 5P6G ... SBX 3 AWORK2(2) 5PL6 SRC 5 2 5Q5Q ADX 3 5 5QKB LDN 5 #77 5R52 BRN UNSET [REJOIN MAIN LOOP 5RJL 5S4= MBUF LDX 6 ACA3(2) [SET UP MORE BUFFER IF AVAILABLE 5SHW BZE 6 MBUFX [NO MORE 5T3G SBN 6 1 5TH6 STO 6 ACA3(2) 5W2Q LDX 6 BIT11 [4096 - NEW COUNT 5WGB MBUFOK [RESET PRESENT CHUNK 5X22 LDX 1 ACA4(2) [END ADDRESS IN CHARS 5XFL SBX 1 6 5X^= LDX 0 ACA3(2) 5YDW SLL 0 12 5YYG SBX 1 0 5^D6 SRC 1 2 5^XQ LOOPCH APETADDR(2),1,6,HLOCK2,2 62CB EXIT 7 0 [OK 62X2 MBUFX EXIT 7 1 [NO MORE 63BL [ 63W= STEPDUMMY 64*W SBX 7 FX1 64TG LDN 3 0 65*6 BRN STEPN 65SQ STEP SBX 7 FX1 66#B ... LDX 3 AWORK2(2) 66S2 SBN 4 1(3) 67?L LDX 2 4 67R= BRN STEPL 68=W STEPM 68QG BCT 3 STEPL 69=6 BRN STEPN 69PQ STEPL SMO 3 6=9B LDX 1 0(2) 6=P2 SPACECT 1,4,STEPM 6?8L BZE 4 STEPN 6?N= LDN 0 4 6#7W SBX 0 4 6#MG SRC 0 2 6*76 ORS 0 0(2) [ADDRESS OF 1ST UNUSED CHAR IN 2ND RE 6*LQ STEPN 6B6B ADN 3 2 [FOR RED TAPE 6BL2 LDX 4 3 6C5L STEP ,0(3),ANSWER 6CK= TESTREP2 FILEFULL,OUTF,FNEARLY,NEARLYF,GLUTTON,TOOMUCH 6D4W STEPH 6DJG MHUNTW 2,FI,FUTILITY 6DML ... 6DQQ ... SMO FX2 6DTW ... LDEX 0 AWORK4 6D^2 ... BZE 0 STEPG [J IF NO RECS DISCARDED 6F46 ... LDN 0 1 [FORGET THIS RECORD AS WE HAVE ALREADY 6F7= ... SMO FX2 [DEALT WITH IT AS LAST RECS IN PREV 6F=B ... SBS 0 AWORK4 [MULTIFILE ELEMENT 6F*G ... BRN STEPX 6FDL ...STEPG STO 4 FRH(3) 6FHQ ADN 3 1+FRH 6G3B ADN 2 A1+FRH+1 6GH2 SMO 4 6H2L MOVE 2 511 [MOVE DATA TO FUWB 6HG= LDN 0 #40 6H^W ORS 0 0(3) [DEFAULT PFCC 6JFG ... SBN 2 A1+FRH+1 6J^6 ...STEPX LDX 3 2 6KDQ LDX 2 FX2 6KYB ADX 7 1 6LD2 EXIT 7 0 [X2=FX2,X3->BLOCK,X5,X6 UNCHANGED 6LXL NEARLYF 6MC= LDCT 0 #200 6MWW ORS 0 AWORK4(2) 6NBG SETREP2 COORED 6NW6 BRN STEPH 6P*Q TOOMUCH 6PTB LDX 3 FILEBRING(2) 6Q*2 ADX 3 FBACKPOINT(3) 6QSL LDX 3 BPTR(3) 6R#= LDX 6 FBLMOD(3) 6RRW CALL 7 NDEL [DELETE RECORDS FOR THIS PERI 6S?G LDX 3 FILEBRING(2) [USE BACKRING IN CASE MULTIFILE 6SR6 ADX 3 FBACKPOINT(3) 6T=Q LDX 3 BPTR(3) 6TQB SBX 6 FBLMOD(3) [NO. OF BLOCKS FREED BY NDEL 6W=2 ADN 6 1 6WPL CALL 5 TOPCA [CHANGE TO PCA 6X9= ACROSS OLPODD,3 [TO INCREAMBS 6XNW WC 6Y8G LDN 3 FYCOUNT 6YN6 XILL CALL 5 TOPCA 6^7Q ACROSS OLPODD,4 [FOR ILLEGAL 6^MB 7272 MOLE 72LL LDN 3 FYMODE 736= BRN XILL 73KW RV1 745G LDN 3 FYNOBUF 74K6 BRN XILL 754Q 75JB OUTF 7642 CALL 7 NDEL [DELETE RECORDS FOR THIS PERI 76HL ...OUTF1 COMPQU OUTF2 [J TO OUTF2 IF NOT MULTIPLE 773= BRN NEWCPT [EXIT IF NEW COMPONENT OPENED 77GW [ EXIT+1 IF MULTIFILE FULL - MAY BE NO FILES OPEN AT ALL 782G LDX 0 GSIGN 78G6 ORS 0 AWORK4(2) 78^Q OUTF2 79FB LDX 0 ACA1(2) 79^2 SRL 0 3 7=DL ANDN 0 #7777 7=Y= SBN 0 #3000 7?CW BNZ 0 NMON [J UNLESS ADDITIVE MODE#30000 7?XG LDCT 6 #50 [B0 CLEAR B3 & B5 SET IS END OF FILE 7#C6 BRN REP2 7#WQ NMON 7*BB LDN 3 FYOUTFULL 7*W2 BRN OUTP 7B*L OUTL 7BT= LDN 3 FYOUTPUT 7C#W OUTP 7CSG LDX 4 FTYPNO(2) 7D#6 BRN XILL 7DRQ XCC REM 6 7F?B LDN 0 #400 7FR2 ADX 0 ACA3(2) 7G=L SLL 0 12 7GQ= ADX 6 0 7H9W CALL 7 REPLY [STORE UNEXPIRED CHAR COUNT AS REPLY 7HPG CALL 7 NDEL [DELETE RECORDS FOR THIS PERI 7J96 LDN 3 FYINVCC 7JNQ BRN XILL 7K8B 7KN2 ...NDEL LDX 4 AWORK3(2) [RECORD COUNT 7L7L BZE 4 NDEL2 [J IF NO SUCH RECORDS 7LM= SBX 7 FX1 7M6W WIND [SET READ POINTERS FOR DELETES 7MLG NDEL1 DELETE 7N66 BCT 4 NDEL1 7NKQ ADX 7 1 7P5B EXIT 7 0 7PK2 NDEL2 LDX 1 FX1 7Q4L EXIT 7 0 7QJ= 7R3W REPLY 7RHG LDX 3 ACAP(2) [N(M) OF PERI 7S36 ADN 3 1 7SGQ FADDRESS APETADDR(2),3,HLOCK1,2 7T2B STO 6 0(3) 7TG2 EXIT 7 0 7T^L 7WF= TOPCA 7WYW LDX 1 FX1 7XDG TOPCA1 PLINK1(1) 7XY6 EXIT 5 0 7YCQ [ 7YXB MENDAREA AOLPGAP,K99LPTWO 7^C2 #END ^^^^ ...64775112001100000000 </code> Last modified: 17/01/2024 11:55by 127.0.0.1 Log In