{{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