{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: INLOOP84)}} ====== INLOOP84 ====== (George Source) **Macros used:** [[george:macro:ABANDCOM|ABANDCOM]], [[george:macro:ACROSS|ACROSS]], [[george:macro:ALTLENG|ALTLENG]], [[george:macro:BXE|BXE]], [[george:macro:BXGE|BXGE]], [[george:macro:BXL|BXL]], [[george:macro:BXU|BXU]], [[george:macro:CHAIN|CHAIN]], [[george:macro:CLOSE|CLOSE]], [[george:macro:CLOSEABANDON|CLOSEABANDON]], [[george:macro:COOR1|COOR1]], [[george:macro:DCA|DCA]], [[george:macro:DISENGPER|DISENGPER]], [[george:macro:DOWN|DOWN]], [[george:macro:ENDCOM|ENDCOM]], [[george:macro:ERASEMULT|ERASEMULT]], [[george:macro:FILEOPEN|FILEOPEN]], [[george:macro:FREECORE|FREECORE]], [[george:macro:GEOERR|GEOERR]], [[george:macro:GPERI|GPERI]], [[george:macro:HUNT|HUNT]], [[george:macro:INFINB|INFINB]], [[george:macro:INPUTFULL|INPUTFULL]], [[george:macro:ISITJOB|ISITJOB]], [[george:macro:LOCK|LOCK]], [[george:macro:LOCKC|LOCKC]], [[george:macro:LONGSET|LONGSET]], [[george:macro:LONGSTOP|LONGSTOP]], [[george:macro:LTYPE|LTYPE]], [[george:macro:MENDAREA|MENDAREA]], [[george:macro:MHUNT|MHUNT]], [[george:macro:MHUNTW|MHUNTW]], [[george:macro:NAMETOP|NAMETOP]], [[george:macro:RESTART|RESTART]], [[george:macro:REWIND|REWIND]], [[george:macro:SEG|SEG]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SETERR|SETERR]], [[george:macro:SPACECT|SPACECT]], [[george:macro:STEP|STEP]], [[george:macro:STEPAGAIN|STEPAGAIN]], [[george:macro:TESTMULT|TESTMULT]], [[george:macro:TESTREP2|TESTREP2]], [[george:macro:TESTRPN2|TESTRPN2]], [[george:macro:TRACE|TRACE]], [[george:macro:TRACEVER|TRACEVER]], [[george:macro:UNLOCK|UNLOCK]], [[george:macro:WIND|WIND]] 22FL SEG INLOOP,74,P STANSFIELD,USERCOMS 22^= [ 23DW [ 23YG SEGENTRY K1INLOOP,Z1INLOOP 24D6 # 24XQ # 25CB # THIS SEGMENT INPUTS LINES OR CARDS TO A FILE WITH A SPECIFIED NAME, 25X2 # FINISHING WHEN IT COMES TO THE 4-CH. TERMINATOR SPECIFIED. IF NONE 26BL # SPECIFIED IT ENDS ON ****(STORING THIS TERMINATOR AND A BLANK RECORD 26W= # IN THE FILE). IT THEN GOES ACROSS TO TIDYREAD WHEN FINISHED. 27*W # 27TG # 28*6 OMSK #77777773 28SQ PMSK #37777777 29#B QMSK #777777 29S2 RMASK #73777777 2=?L PRCNT +128 2=R= RECMAX +2000 [MAX RECORD LENGTH 2?=W X64 #64 [$ 2?QG X70 #70 2#=6 # 2#PQ # 2*9B [ THIS SUBROUTINE ISSUES THE PERI'S AND CONTROLS THE RESTARTS. 2*P2 [ BUFFER ADDRESS = START OF BUFFER = ADD. OF ALINE + (A1+2). 2B8L [ PERI ADDRESS = BUFFER ADDRESS FOR INITIAL TRANSFERS, OTHERWISE 2BN= [ = PREVIOUS PERI ADDRESS + N/CHARACTER TRANSFERRED 2C7W # 2CMG SR3 SBX 7 FX1 2D76 LDX 2 FX2 2DLQ LDX 0 FINISH [TEST IF A FINISH COMMAND HAS BEEN GI 2F6B SLL 0 2 2FL2 BNG 0 WRECK [J IF 'FINISH NOW' 2G5L SRD2 LOCKC 2,£ [LOCK CPAT 2GK= GPERI ,2 [READ A LINE 2H4W COOR1 [WAKE UP AFTER TRANSFER 2HJG UNLOCK 2 [UNLOCK CPAT 2J46 LDX 2 AWORK3(2) [PTR TO CUFFER 2JHQ SBN 2 A1+2 2K3B UNLOCK 2 [UNLOCK BUFFER 2KH2 RESTART YTM1,WRECK,REST 2L2L MHUNT 1,ADATA,ALINE 2LG= #SKI K6PREPREAD>599-599 2L^W TRACEVER A1+2(1),A1+2ALIN 2MFG LOCKC 1,SALINE 2M^6 MHUNT 1,ADATA,ALINE 2NDQ ADN 1 A1+2 [PTR TO BUFFER 2NYB SBX 1 AWORK3(2) 2PD2 BZE 1 NOMOV [ BUFFER HAS NOT BEEN MOVED 2PXL ADX 1 AWORK3(2) 2QC= DCA ,LDX,0,CTSA 2QWW SBX 0 AWORK3(2) 2RBG STO 1 AWORK3(2) [ UPDATE BUFFER ADDRESS 2RW6 ADX 1 0 2S*Q DCA ,STO,1,CTSA [UPDATE PERI ADDRESS 2STB NOMOV 2T*2 LDX 1 FX1 2TSL BNZ 5 RCARD [J IF CR 2W#= DCA ,LDX,0,MODE 2WRW ANDN 0 #10 [TEST IF GRAPHIC MODE 2X?G BNZ 0 PREGR 2XR6 REPET LDN 0 4 2Y=Q DCA ,ORS,0,MODE [CHANGE MODE TO PREVIOUS 2YQB PREGR LDX 0 CPRW1(2) 2^=2 ANDX 0 QMSK(1) [REPLY WORD 2^PL DCA ,LDX,3,COUNT [PERI COUNT 329= SBX 3 0 32NW STO 3 ACOMMUNE1(2) [N/CH IN LAST TRANSFER 338G DCA ,LDX,4,CTSA [PERI ADDRESS 33N6 SBX 4 AWORK3(2) 347Q SLC 4 2 [N/CH BEFORE LAST PERI 34MB ADX 4 3 [TOTAL N/CH IN THE RECORD 3572 BZE 0 NLINE [ J IF REPLY WORD ZERO 35LL DCA ,LDX,0,MODE 366= ANDN 0 #10 36KW BNZ 0 RESBF [J IF GRAPHIC 375G NLINE DCA ,LDX,0,CTSA [PERI ADDRESS 37K6 SLC 0 2 ['PERI ADDRESS' IN CH 384Q ADX 3 0 38JB SBN 3 2 [PTR TO ANTEPENULTIMATE CH 3942 SRC 3 2 [PTR TO NL 39HL LDCH 0 0(3) 3=3= SBN 0 #76 3=GW BNZ 0 UPDPA [J IF NOT ^ 3?2G BCHX 3 £ 3?G6 LDCH 0 0(3) [LOAD SUCCESSOR 3?^Q SBN 0 #32 3#FB BNZ 0 UPDPA [J IF NOT * 3#^2 SBN 4 2 [IGNORE NL 3*DL RESBF LDX 3 4 3*Y= LDX 0 AWORK3(2) 3BCW DCA ,STO,0,CTSA [RESET PTR TO BUFFER 3BXG DCA ,LDX,0,MODE [MODE 3CC6 ANDN 0 #10 3CWQ BNZ 0 RECGR [J IF GRAPHIC 3DBB LDN 0 128 3DW2 BRN RESCT 3F*L UPDPA BXGE 4 RECMAX(1),RESBF [J IF MAX 3FT= LDX 3 RECMAX(1) 3G#W SBX 3 4 [N/CH ALOWED TO TRANSFER 3GSG DCA ,LDX,0,COUNT 3H#6 BXGE 3 0,PCTOK 3HRQ DCA ,STO,3,COUNT [CHANGE PERI COUNT 3J?B PCTOK SRC 4 2 [N/W IN RCD 3JR2 LDX 1 AWORK3(2) 3K=L SBN 1 A1+2 3KQ= LDX 0 ALOGLEN(1) 3L9W LDX 3 4 3LPG ANDN 3 #7777 3M96 ADN 3 35 [ADD 128 CHARS+RED TAPE+1 WORD 3MNQ BXL 0 3,XALTL 3N8B DCA ,LDX,0,CTSA [PERI ADDRESS 3NN2 SLC 0 2 3P7L ADX 0 ACOMMUNE1(2) [N/CH IN LAST TRANS. + OLD PERI ADD 3PM= SRC 0 2 3Q6W DCA ,STO,0,CTSA [UPDATE PERI PTR TO END OF LAST TRANS 3QLG BRN SRD2 3R66 XALTL STO 1 AWORK3(2) 3RKQ ALTLENG AWORK3(2),3,SALINE 3S5B MHUNT 3,ADATA,ALINE 3SK2 LOCKC 3,SALINE [LOCK NEW INPUT BUFFER 3T4L MHUNT 3,ADATA,ALINE 3TJ= ADN 3 A1+2 3W3W STO 3 AWORK3(2) [START ADDRESS 3WHG ADX 3 4 3X36 DCA ,STO,3,CTSA [START ADDRESS FOR NEXT TRANSFER 3XGQ BRN SRD2 3Y2B RECGR LDN 0 127 3YG2 RESCT DCA ,STO,0,COUNT [RESTORE PERI COUNT 3Y^L RCARD ADX 7 FX1 3^F= EXIT 7 0 3^YW # 42DG # 42Y6 REST MHUNT 1,ADATA,ALINE 43CQ LOCKC 1,SALINE [LOCK UP BUFFER 43XB MHUNT 1,ADATA,ALINE 44C2 ADN 1 A1+2 44WL SBX 1 AWORK3(2) 45B= BZE 1 NOMVE [BUFFER HAS NOT BEEN MOVED 45TW ADX 1 AWORK3(2) 46*G STO 1 AWORK3(2) [UPDATE BUFFER ADDRESS 46T6 NOMVE LDX 1 FX1 47#Q LDX 0 AWORK3(2) 47SB DCA ,STO,0,CTSA [SET PERI ADDRESS TO START OF BUFFER 48#2 DCA ,LDX,0,MODE [MODE 48RL ANDN 0 4 49?= BZE 0 SRD2 [J IF GRAPHIC OR ALPHA 49QW LDCH 0 AWORK1(2) 4==G SBN 0 #44 4=Q6 BZE 0 SRD2 [J IF GRAPHIC,TABS 4?9Q LDX 0 OMSK(1) 4?PB DCA ,ANDS,0,MODE [CHANGE TO ALPHA 4#92 LDCH 0 AWORK4(2) [LAST SHIFT 4#NL SBN 0 #74 4*8= BZE 0 SRD2 [J IF ALPHA 4*MW RESTART 4B7G DOWN INRESTAR,1 [PERI TRANSFER+ALPHA-PREVIOUS CONV. 4BM6 BRN NCTSA [TRY AGAIN 4C6Q BRN YTM1 [J IF BREAK IN 4CLB BRN WRECK [J IF CANTDO 4D62 # 4DKL NCTSA DCA ,LDX,0,CTSA 4F5= STO 0 AWORK3(2) [RESTORE BUFFER ADD. FROM PERI 4FJW LDX 0 ACOMMUNE1(2) 4G4G ADN 0 1 4GJ6 BNZ 0 REPET [MODE CONVERSION OK 4H3Q LDN 0 #66 [SWITCH 4HHB SLL 0 12 4J32 ORS 0 AWORK1(2) [SET UP SWITCH 4JGL BRN REPET 4K2= [ 4KFW [ SUBROUTINES FOR LOCKC MACROS 4K^G SALINE 4LF6 MHUNT 2,ADATA,ALINE 4LYQ EXIT 1 0 4MDB [ 4MY2 # 4NCL # 4NX= Z1INLOOP 4PBW LTYPE ,5 [ X5=PERI MODE 4PWG # 4QB6 STOZ CPRW1(2) [CLEAR THE REPLY WORD 4QTQ DCA ,LDEX,0,MODE 4R*B STO 0 AWORK4(2) 4RT2 #SKI K6PREPREAD>599-599 4S#L TRACEVER AWORK4(2),MODEINLP 4SS= SBN 0 #12 4T?W BZE 0 SHZER [J IF PT GRAPHIC 4TRG LDN 0 #74 4W?6 SHZER DCH 0 AWORK4(2) [STORE ALPHA 4WQQ DCA ,LDX,4,COUNT [N/CH 4X=B ADN 4 11 [ALLOW FOR HEADER WORDS 4XQ2 SRL 4 2 [CONVERT TO NUMBER OF WORDS 4Y9L SETUPCOR 4,3,ADATA,ALINE [SET UP BUFFER BLOCK 4YP= [ NOT LONG-LOCK IF LESS THAN --200 MILLISEC 4^8W STO 4 A1(3) [NO. OF WDS. REQUESTED STORED 4^NG Z1 LDX 6 AWORK2(2) [GET THE TERMINATOR INTO X6 5286 MHUNTW 3,ADATA,ALINE [FIND THE INPUT BLOCK 52MQ CHAIN 3,2 [CHAIN IT NEXT TO ACT. BL. 537B LOCK 3 53M2 LOCK 2 546L ADN 3 A1+2 54L= DCA ,STO,3,CTSA [BUFF ADDRESS 555W STO 3 AWORK3(2) [REMEMBER START ADDRESS 55KG LDX 4 5 5656 BZE 4 PTAPE [J IF TR 56JQ SBN 4 3 574B BZE 4 YC [J IF CR 57J2 GEOERR 1,PERGON [ERROR IF NEITHER 583L YC CALL 7 SR3 58H= Y4 DCA ,LDX,3,CTSA 592W LDN 7 20 [20 WORD ALLOWANCE FOR CARDS 59GG ADN 3 19 [X3 POINT TO THE LAST WORD OF BUFFER 5=26 SPCHK LDX 4 0(3) [GET IT 5=FQ SPACECT 4,7,SP [COUNT SPACES 5=^B NGX 7 7 5?F2 ANDN 7 3 [N/USED CHARS 5?YL BRN XSPACE 5#D= SP SBN 3 1 [REDUCE POINTER 5#XW BCT 7 SPCHK [AND GO BACK IF WE HAVE NOT TESTED 5*CG XSPACE [ALL THE WORDS ON THE CARD. 5*X6 DCA ,LDX,1,CTSA 5BBQ SBN 1 A1+2 [X1 POINTS TO THE RECORD HEADER 5BWB ADN 3 3 [MAKE ALLOWANCE FOR THE RECORD HEADER 5CB2 DCA ,SBX,3,CTSA [X3=LENGTH OF THE RECORD 5CTL LDX 4 3 [REMEMBER THE LENGTH OF THE RECORD 5D*= STO 4 A1(1) [INSERT THE WORD COUNT IN RECORD HEAD 5DSW SRC 7 2 5F#G ORN 7 #41 [PFCC 5FS6 STO 7 A1+1(1) 5G?Q BXE 6 A1+2(1),YTM [J IF TERMINATOR 5GB* ...#UNS JPGLTER 5GDY ...( 5GHH ... LDX 0 GTERM 5GL6 ... BXE 0 A1+2(1),YTM [OR UNIVERSAL TERMINATOR 5GNP ...) 5GRB STEPC STEP 0,0(3) [PREPARE TO INSERT THE RECORD 5H?2 TESTREP2 FILEFULL,YTMX,APPWAIT,WAIT 5HQL CALL 1 SALINE [RESTORE BUFFER ADDRESS 5J== ADN 2 A1 [X2 NOW POINTS TO THE RECORD ITSELF 5JPW SMO 4 [NOW MOVE THE RECORD 5K9G MOVE 2 0 [INTO THE FILE 5KP6 BZE 5 YT 5L8Q BRN YC [READ NEXT CARD 5LNB # 5M82 # 5MML PTAPE DCA ,LDX,0,MODE 5N7= ANDN 0 #77 5NLW SBN 0 #12 5P6G BZE 0 YT [J IF GRAPHIC 5PL6 LDCH 0 AWORK1(2) 5Q5Q SBN 0 #44 5QKB BZE 0 YT [J IF GRAPHIC,TABS 5R52 REWIND 5RJL STEP 5S4= BZE 3 YT [J IF BEGINNING OF FILE 5SHW WIND 5T3G STEPAGAIN 5TH6 LDX 1 0(3) [N/W IN THE RECORD 5W2Q SBN 1 2 5WGB SLL 1 2 [N/CH 5X22 LDX 7 1(3) 5XFL SRL 7 6 5X^= ANDN 7 #77 [LAST SHIFT 5YDW BZE 1 NOCHR [J IF THE RECORD IS EMPTY 5YYG SHFIN LDCH 0 2(3) [LOAD CHAR 5^D6 SBN 0 #74 5^XQ BNZ 0 NOAL [J IF NOT ALPHA 62CB LDN 7 #74 [REMEMBER LAST SHIFT 62X2 BRN NEXCH 63BL NOAL SBN 0 1 63W= BNZ 0 NEXCH [J IF NOT BETA 64*W LDN 7 #75 64TG NEXCH BCHX 3 £ 65*6 BCT 1 SHFIN [J TO TEST NEXT CHAR 65SQ NOCHR DCH 7 AWORK4(2) [STORE LAST SHIFT 66#B SBN 7 #74 66S2 BZE 7 YT [J IF ALPHA 67?L LDN 7 RLINK [REMEMBER LINK 67R= BRN RESTART [J TO CONVERT TO PREVIOUS 68=W YT CALL 7 SR3 68QG RLINK 69=6 LDN 0 #14 69PQ ANDX 0 AWORK4(2) [MODE 6=9B BNZ 0 YT1 [J IF PREVIOUS OR GRAPHIC 6=P2 LDN 0 4 6?8L ORS 0 AWORK4(2) 6?N= YT1 LDCH 7 AWORK4(2) [LAST SHIFT 6#7W SLL 7 6 [SHIFT IT UP BY A CHARACTER POSITION 6#MG LDX 0 CPRW1(2) [GET REPLY WORD 6*76 ANDX 0 QMSK(1) [REMAINDER COUNT IN X0 6*LQ STO3 ADN 3 8 [+RED TAPE 6B6B STO 3 ACOMMUNE1(2) [N/CH IN RCD+RED TAPE 6BL2 STO 3 ACOMMUNE2(2) [N/CH IN RCD+RT 6C5L SBN 3 8 [-RED TAPE 6CK= NGX 0 3 [IN ORDER TO GET THE CHAR. COUNT 6D4W SRC 3 2 [MAKE IT A WORD MODIFIER 6DJG #SKI K6PREPREAD>199-199 6F46 TRACE 4,NOCHS 6FHQ LDCT 4 #600 [AND INSERT THE 6G3B ANDX 4 3 [LAST FREE CHARACTER POSITION 6GH2 ORS 4 7 [IN CHARACTER POSITION 6H2L DCA ,LDX,2,CTSA [X2=START OF 6HG= SBN 2 A1+2 [BUFFER. MAKE IT POINT TO THE BLOCK 6H^W ORN 7 #41 [PFCC 6JFG STO 7 A1+1(2) [INSERT CHARACTER DESCRIPTION WORD 6J^6 ANDN 0 #3 [HOW MANY CHARS TO SPACEFIL LAST WORD 6KDQ BZE 0 Y6 [IF LAST WORD FULL - BRANCH 6KYB LDN 4 #20 [SPACE CHARACTER 6LD2 STOR SMO 2 [LOOP 6LXL DCH 4 A1+2(3) [TO SPACEFILL THE FREE CHARACTER 6MC= BCHX 3 £ [POSITIONS OF THE LAST WORD 6MWW BCT 0 STOR [BACK FOR ANOTHER? 6NBG Y6 ADN 3 2 [ALLOW FOR THE RECORD HEADER 6NW6 STO 3 A1(2) [AND STORE RECORD LENGTH 6P*Q LDX 7 2 6PTB LDX 2 FX2 6Q*2 LDX 0 AWORK1(2) [SWITCH 6QSL SRL 0 12 6R#= SBN 0 #66 6RRW BNZ 0 SHOK [J IF CONVERSION NOT NECESSARY 6S?G NAMETOP 7,ADATA,ACONV 6SR6 LDN 1 #22 6T=Q LDN 2 #26 6TQB TRANSFOR 1,2 [CONVERT TO PREVIOUS 6W=2 NAMETOP 7,ADATA,ALINE 6WPL TESTRPN2 SHIFT,SHOK [J IF RECORD HAS NOT BEEN CONVERTED 6X9= LDX 0 AWORK1(2) 6XNW ANDN 0 #7777 6Y8G STO 0 AWORK1(2) [UNSET SWITCH IF CONVERSION OK 6YN6 SHOK LDX 2 7 6^7Q LDX 3 A1(2) [RECORD LENGTH 6^MB BXE 6 A1+2(2),YTM [TEST FOR TERMINATOR 6^P^ ...#UNS JPGLTER 6^SJ ...( 6^X7 ... LDX 0 GTERM 6^^Q ... BXE 0 A1+2(2),YTM [OR UNIVERSAL TERMINATOR 724* ...) 7272 LDCH 0 A1+2(2) [IS FIRST CHARACTER 72LL SBN 0 #74 [ALPHA? 736= BZE 0 XALPH [J IF IT IS 73KW NOTTM LDX 4 3 [REMEMBER THE RECORD LENGTH 745G LDX 2 FX2 74K6 LDN 0 #10 754Q ANDX 0 AWORK4(2) [MODE 75JB BNZ 0 TAHUN [J IF GRAPHIC 7642 SBN 3 2 [SUBTRACT RED TAPE 76HL SLL 3 2 [N/CH IN RCD 773= BZE 3 TAHUN 77GW LDX 1 AWORK3(2) [PTR KO RCD 782G SHUNT LDCH 0 0(1) [CHAR. 78G6 SBN 0 #74 [TEST IF ALPHA 78^Q BNZ 0 NOALP 79FB LDN 0 #74 79^2 DCH 0 AWORK4(2) [STORE ALPHA 7=DL BRN NECH 7=Y= NOALP SBN 0 1 [TEST IF BETA 7?CW BNZ 0 NECH 7?XG LDN 0 #75 7#C6 DCH 0 AWORK4(2) [STORE BETA 7#WQ NECH BCHX 1 £ 7*BB BCT 3 SHUNT [J TO TEST NEXT CHAR 7*W2 TAHUN HUNT 1,AINPAR,ATB 7B*L LDX 3 4 [RESTORE THE RECORD LENGTH 7BT= BPZ 1 TABSEXP [J TO EXPAND TABS 7C#W BRN STEPC [INPUT NEXT LINE 7CSG #SKI 1 7D#6 ( 7DRQ TABSEXP 7F?B DOWN INRESTAR,2 7FR2 BRN YT [J TO REPEATE PERI 7G=L BRN SDISN [J IF NON-MULTIFILE IS FULL 7GQ= BRN TBRK [BREAK-IN 7H9W ) 7HPG XALPH LDX 0 A1+2(2) [REMOVE ALPHA SHIFT 7J96 LDCH 1 A1+3(2) 7JNQ SLL 0 6 [FOR TERMINATOR 7K8B ORX 0 1 7K*J ...#UNS JPGLTER 7KGQ ... BXE 0 GTERM,YTM [J IF UNIVERSAL TERMINATOR 7KN2 BXU 6 0,NOTTM [J IF NOT TERMINATOR 7L7L # 7LM= YTM LDX 2 FX2 [RESET THE CPA ADDRESS 7LX4 YTM1 7M6W FILEOPEN XENDC 7MLG ... MHUNT 3,ADATA,ALINE 7N66 LDCH 0 AWORK1(2) 7NKQ SBN 0 #44 7P5B BNZ 0 UNL [J IF NOT GRAPHIC 7PK2 LDN 0 #41 [PFCC 7Q4L STO 0 A1+1(3) [SET UP R/T 7QJ= UNL ACROSS TIDYREAD,1 7R3W # 7R?N WAIT 7RHG LONGSET IWTDEST,XGEOERR 7RR# LONGSTOP XBRK 7S36 ROK CALL 1 SALINE 7SGQ LDX 3 A1(2) 7T2B BRN STEPC 7TG2 XBRK CLOSE 7T^L TBRK CALL 5 SINFIN 7WF= ABANDCOM 7WYW YTMX [AFTER A FILE FULL REPLY 7XDG #SKIP K6PREPREAD>599-599 7XY6 TRACE 2,FILEFULL 7YCQ INPUTFULL TBRK,ROK,JOVER 7YXB SDISN DISENGPER [DISENGAGE THE PERIPHERAL 7^C2 LDX 6 AWORK2(2) [GET THE TERMINATOR 7^WL NXT CALL 7 SR3 [READ A RECORD 82B= LDX 3 AWORK3(2) [BUFFER ADDRESS 82TW BXE 6 0(3),WRFL [TEST FOR TERMINATOR 82YF ...#UNS JPGLTER 8334 ...( 835M ... LDX 0 GTERM 838= ... BXE 0 0(3),WRFL [... OR UNIVERSAL TERMINATOR 83=T ...) 83*G LDCH 0 JSOURCE1(2) 83T6 BNZ 0 NXT [J IF CARNS 84#Q LDCH 0 0(3) [TEST IF FIRST CHAR IS ALPHA 84SB SBN 0 #74 [IS ALPHA 85#2 BNZ 0 NXT [J IF NOT 85RL LDX 0 0(3) 86?= LDCH 1 1(3) 86QW SLL 0 6 [REMOVE ALPHA SHIFT 87=G ORX 0 1 87CN ...#UNS JPGLTER 87JW ... BXE 0 GTERM,WRFL [J IF UNIVERSAL TERMINATOR 87Q6 BXU 6 0,NXT [J IF NOT TERMINATOR 889Q WRFL SBN 3 A1+2 [GET THE INPUT BUFFER 88PB FREECORE 3 [FREE THE INPUT BUFFER 8992 BRN XENDC [LEAVE THE FILE OPENED IF JOB 89NL WRECK 89YD ... FILEOPEN XENDC 8=8= TESTMULT STREM 8=MW CLOSEABANDON 8?7G BRN XISIT 8?M6 STREM 8#6Q CLOSE [CLOSE ELEMENT 8#LB ERASEMULT [WHOLE MULTIFILE 8*62 XISIT 8*KL ISITJOB WRECKA 8B5= SETERR [SET ERROR 8BJW WRECKA 8C4G LDX 0 FINISH [TEST IF FINISH COMMAND 8CJ6 SLL 0 2 8D3Q BPZ 0 XENDC [J IF NOT 'FINISH NOW' 8DHB DISENGPER [DISENGAGE THE PERIPHERAL 8F32 XENDC 8FGL CALL 5 SINFIN 8G2= ENDCOM [BACK TO THE COMMAND PROCESSOR 8GFW SINFIN 8G^G INFINB 8HF6 EXIT 5 0 8HYQ # 8J5Y XGEOERR 8J?6 GEOERR 1,LONGSET? 8JDB SEGENTRY K99INLOOP 8JY2 MENDAREA 100,K99INLOOP 8KCL # 8KX= #END ^^^^ ...77643305000300000000