TPOBJ867
(George Source)
Macros used: ACROSS, ALTLEN, AND, BXE, BXGE, BXL, BXU, CHECKA, COMPQU, FADDRESS, FDRMTEST, FI, FOUTMOVE, FOUTMVCH, FREECORE, GEOERR, HUNT, IF, LOCKCA, MENDAREA, MHUNT, NAME, NAMETOP, NEWCOMP, OLPEND, OUTMOP, PAIR, PMODES, SEG, SEGENTRY, SETNCORE, SETREP2, SPACECT, STEP, TEST, TESTREP2, TESTRPN2, THEN, TOPCA, TOPCA1, TRACE, TREP, UP, WHICHMOP
- TPOBJ867.txt
229S ... SEG TPOBJ,867,SECT.FILE,,G505 22FL #OPT K0TPOBJ=K0OLP 22^= #OPT K6TPOBJ=K6OLP 23DW #LIS K0TPOBJ 23JR ...[ 23NN ...[ (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1982 23SK ...[ THIS EXCLUDES CODE UNDER #SKI G505 23YG ...[ 244C ...#OPT G505 = 0 248# ...#SKI G505&1 24#9 ...# WITH UGUG EDIT M505 (3-SHIFT WORKING FOR MOP ONLINE) 24D6 # THIS SEGMENT DOES AN OFFLINE TP PERI (TYPE 1 MODES 0,4,8 OR 16 24XQ # COUNT 1-128) ISSUED BY AN OBJECT PROGRAM 25CB # AWORK1=N/CH IN ADATA/ACONV 25X2 # =#40000000 IF ENTRY FROM OFFREL 26BL # AWORK2=B0-5 LAST SHIFT IN ADATA/ACONV 26W= # B7=1 LAST CHARACTER OF PERI IS A DELTA. 27*W # B9=1 IMPLEMENTING *LP PERIS. 27KN # B18-23 BRANCH POINTER 27TG # AWORK3=2 ADATA/ALINE CONTAINS WHOLE RECORD 28*6 # =1 / 2000 CHARS 28SQ # AWORK4=B18-23 FILE MODE (#4,#24,#12) 29S2 # B0=1 END OF MULTIFILE HAS BEEN REACHED 2=3S # B1=1 FILE IS NEARLY FULL 2=?L # 2?=W SEGENTRY K1TPOBJ,Z1TPOBJ 2?K? SEGENTRY K3TPOBJ,Z3TPOBJ 2?XN SEGENTRY K2TPOBJ,Z2TPOBJ 2#=6 # 2#PQ MODE #20100400 [PERI MODES 2*9B TABLE #04010101 [FILE MODES & PTRS 2*P2 #24010302 2B8L #12030404 2BN= #00000000 2BTD ...#SKI G505&1 2C2L ...MASKID #70000706 [ PERMANENT BITS OF IDENTIND 2C7W MAX +129 [1 GREATER THAN MAXIMUM 2CCN MAX4 +323 2CMG MASK1 #60077777 2D76 XBLANK #76207620 2DLQ XALPHA #74 2F6B XBETA #75 2FL2 PLINK1 2G5L PAIR TPOBJ,1 2G7T Z2TPOBJ [ENTRY FROM LPOBJ TO IMPLEMENT 2G=4 STOZ AWORK1(2) [MODE 4 *LP PERIS. 2G#? LDN 0 #74 2GBG DCH 0 AWORK2(2) [SET ALPHA SHIFT FOR BEGINNING. 2GDP LDX 3 APETADDR(2) 2GGY BRN OKSH1 2GK= Z1TPOBJ 2H4W #SKI K6TPOBJ>799-799 2HJG TRACE FX2,TPOBJ 2J46 LDCH 0 AWORK2(2) [LAST SHIFT IN ADATA 2JHQ BNZ 0 OKSH [J IF OK 2K3B LDN 0 #74 2KH2 DCH 0 AWORK2(2) [ALPHA FOR BEGINNING 2L2L OKSH LDX 3 APETADDR(2) [PTR TO APET 2LG= LOCKCA 3,ACAP(2) 2LQ4 OKSH1 2L^W LDX 4 ACAP(2) [ADDRESS OF CA IN OBJ.PROG 2MFG LDN 5 ACA1(2) [ADDRESS OF CA IN AOLPT 2M^6 LDN 6 4 2NDQ FOUTMOVE 3,4,5,6,HLOCK1 [MOVE CA TO OLPA 2NG3 LDX 0 BIT9 2NH# ANDX 0 AWORK2(2) 2NJK BZE 0 NOTLP [J IF NOT IMPLEMENTING *LP PERIS. 2NKW LDEX 4 ACA1(2) 2NM7 LDX 0 4 2NND SBN 0 4 2NPP BZE 0 YM4 [J IF MODE 4. 2NR2 ACROSS LPOBJ,2 2NS? YM4 2NTJ SBS 4 ACA1(2) [SET MODE =0 IN AOLPT CONTROL AREA. 2NWT NOTLP 2NYB STOZ ACA2(2) [ZEROISE REPLY WORD 2TWT PMODES 4,3 2T^4 ANDN 4 #10 2W3? BNZ 4 NOTPACT [J IF NOT COMPACT MODE 2W5G LDX 4 MASK1(1) 2W7P ANDS 4 ACA4(2) 2W9Y NOTPACT 2W=3 LDX 0 AWORK4(2) 2W=6 BNG 0 OUTF2 [J IF END OF MULTIFILE 2W=9 LDCT 0 #200 2W=# ANDX 0 AWORK4(2) 2W=C BZE 0 NONEAR [J IF FILE IS NOT NEARLY FULL 2W=G LDCT 0 #400 2W=K BXE 0 AWORK1(2),NONEAR [J IF ENTRY FROM OFFREL 2W=N LDX 0 BIT9 2W=R ANDX 0 AWORK2(2) 2W=W BZE 0 YFULL [TAKE FILEFULL ACTION IF NOT *LP PERI 2W=^ LDX 1 ACA4(2) 2W?4 BCHX 1 £ 2W?7 SBN 1 1 2W?= FADDRESS 3,1,HLOCK2 [X1 -> PFCC 2W?* LDN 0 #17 2W?D ANDX 0 0(1) 2W?H LDX 1 FX1 2W?L ERN 0 #11 2W?P BNZ 0 NONEAR [J IF NOT THROW TO HEAD OF FORM 2W?S YFULL 2W?X SETREP2 FILEFULL 2W#2 BRN NEARLY [SIMULATE FILEFULL CONDITIONS 2W#5 NONEAR 2W#= LDX 3 ACA3(2) [COUNT 2WRW BZE 3 WC 2WXR LDX 0 BIT9 2X3N ANDX 0 AWORK2(2) 2X7K BNZ 0 YLPERI [J IF *LP PERI 2X7R ...#SKI G505&1 2X7^ ...( 2X87 ... LDX 0 MASKID(1) 2X8* ... ANDS 0 IDENTIND(2) 2X8H ...) 2X8P ...#SKI G505&1 2X8X ...( 2X95 ... LDN 0 #10 2X9? ... ANDX 0 ACA1(2) 2X9F ... IF 0,ZE [ SHIFT PERI 2X9M ... LDN 6 6 2X9T ... ANDX 6 IDENTIND(2) 2X=3 ... AND 6,NZ [ SHIFT DEVICE 2X=9 ... THEN 2X=C ... SLL 6 12 2X=K ... ORS 6 IDENTIND(2) 2X=R ... FI 2X=^ ...) 2X?G BXGE 3 MAX(1),WC [CHECK COUNT 0<COUNT<129 2XDN YLPERI 2XKW BXGE 3 MAX4(1),WC [CHECK 0<COUNT<323 2XR6 LDX 4 ACA4(2) [BUFFER ADDRESS 2Y=Q SLC 4 2 2YQB ADX 3 4 2^=2 ADN 3 3 2^PL SRL 3 2 329= SRL 4 2 [X4=BUFFER ADDRES 32NW SBX 3 4 [X3=BUFFER LENGTH 338G CHECKA 4,3,RESV,APETADDR(2),,Q6,HLOCK2 33N6 Q6 LDEX 5 ACA1(2) [MODE 347Q Q7 LDCH 6 MODE(1) 34MB BXE 5 6,OKPM [PERI MODE IS OK 3572 BCHX 1 £ 35LL BNZ 6 Q7 366= BRN MOLE [J.IF MODE NOT RECOGNISED 36KW OKPM 375G OKAL SBX 1 FX1 37K6 LDX 3 FX1 384Q LDX 6 FSCTM(2) [FILE MODE 38JB ANDN 6 #10 3942 LDEX 0 FSCTM(2) [MODE 39HL BNZ 6 STOFM [J IF GRAPHIC 3=3= ERN 0 6 [CHANGE TO PREVIOUS 3=GW STOFM DEX 0 AWORK4(2) [STORE FILE MODE 3?2G NEXMD LDCH 6 TABLE(3) [NEXT MODE FROM TABLE 3?G6 BNZ 6 OKFM 3?^Q GEOERR 1,FILEMODE 3#FB OKFM BXE 6 0,MODOK [FILE MODE IS OK 3#^2 ADN 3 1 3*DL BRN NEXMD [J TO TEST NEXT MODE 3*Y= MODOK ADX 3 1 3BCW BZE 1 Q8 [J IF PUNCH BLANKS 3BXG LDCH 0 TABLE(3) [BRANCH PTR 3CC6 DEX 0 AWORK2(2) [STORE PTR 3CWQ Q8 LDX 0 ALIMEY(2) [LIMIT 3DBB #SKI 3DW2 BNG 0 Q9 [J IF NOTLIMIT 3F*L BXL 0 ACOUNT(2),OUTL [J IF OUTPUT LIMIT EXCEEDED 3FT= Q9 LDX 1 FX1 3G#W HUNT 3,ADATA,ACONV 3GSG BPZ 3 PRESB [J IF BLOCK EXIST 3H#6 SETNCORE 35,3,ADATA,ACONV [SET UP THE BUFFER BLOCK 3HRQ STOZ A1+1(3) [INITIALIZE 2ND WORD OF RED TAPE 3J?B PRESB LDX 6 ACA3(2) [N/CH 3JR2 SBN 5 #20 3K=L BNZ 5 NOBL [J IF NOT #20 3KQ= SLL 6 1 [N/CH.2 3L9W NOBL STO 6 AWORK1(2) [N/CH IN ADATA/ACONV 3LPG ADN 6 15 3M96 SRL 6 2 [N/W 3MNQ BXL 6 ALOGLEN(3),NOCHL [TEST BLOCK LENGTH 3N8B ALTLEN 3,6 3NN2 HUNT 3,ADATA,ACONV 3P7L NOCHL LDX 7 3 [REMEMBER PTR TO ADATA/ACONV 3PM= LDX 6 AWORK1(2) [N/CH IN ADATA/ACONV 3Q6W ADN 3 A1+2 [BUFFER PTR 3QLG WHICHMOP NOMOP [J IF NOT MOP/MF 3R66 LDN 0 2 3RKQ STO 0 AWORK3(2) [TRANSFER WHOLE RECORD 3S5B BNZ 5 OUTMV [J IF NOT #20 3SK2 BRN ROUTS 3T4L NOMOP BNZ 5 OUTMV [J IF NOT #20 3TJ= LDEX 0 AWORK4(2) [FILE MODE 3W3W SBN 0 #24 3WHG BZE 0 ROUTS [J IF BLANKS 3X36 STOZ AWORK1(2) 3XGQ BRN REPWD [SET REPLY WORD 3Y2B ROUTS SBN 6 1 [ROUND DOWN 3YG2 SRL 6 2 [N/W TO MOVE 3Y^L LDX 0 XBLANK(1) [^ ^ =BLANKS 3^F= STO 0 0(3) 3^YW LDX 4 3 42DG ADN 4 1 42Y6 BZE 6 ONEWD [NO CHARS TO MOVE 43CQ SMO 6 43XB MOVE 3 0 [MOVE BLANKS TO ADATA/ACONV 44C2 ONEWD LDX 6 AWORK1(2) [N/CH IN ACONV 44WL LDCH 5 AWORK2(2) 45B= BRN STOZ 45TW OUTMV LDX 5 3 [PTR TO BUFFER 46*G LDX 3 APETADDR(2) 46T6 LDX 4 ACA4(2) 46WC LDX 0 BIT9 46XN ANDX 0 AWORK2(2) 46Y^ BZE 0 NOLP [J IF NOT *LP PERI 472= LDN 0 1 473H SBS 0 ACA3(2) [REMOVE PFCC FROM COUNT OF 474S SBS 0 AWORK1(2) [CHARACTERS IN THIS PERI. 4765 SBN 5 1 477B BCHX 5 £ 478M BCHX 5 £ 479Y BCHX 5 £ 47?9 NOLP 47#Q FOUTMVCH 3,4,5,6,HLOCK2 [MOVE OUT OF OBJ PROGRAM 47DM LDX 0 BIT9 47JJ ANDX 0 AWORK2(2) 47NF BNZ 0 NODEL [IGNORE PREVIOUS PERI IF *LP 47SB LDEX 0 ACA1(2) 48#2 ANDN 0 #10 48RL BNZ 0 NODEL [J IF PERI MODE IS GRAPHIC. 49?= LDCT 0 #002 [TEST IF BIT SET IN AWORK2 INDICATING 49QW ANDX 0 AWORK2(2) ['LAST CH. OF PREVIOUS PERI WAS A DEL 4==G ERS 0 AWORK2(2) [AND IF SO CLEAR BIT IN AWORK2 AND SE 4=Q6 SMO 7 [IN 2ND WORD OF RED TAPE IN ACONV. 4?9Q ORS 0 A1+1 4?PB LDX 3 7 4#92 ADN 3 A1+2 4#NL SBN 6 1 4*8= SRC 6 2 4*MW ADX 3 6 4B7G LDCH 0 0(3) [TEST IF LAST CH OF THIS PERI IS A DE 4BM6 SBN 0 #76 4C6Q BNZ 0 NODEL [J IF NOT. 4CLB LDCT 0 #002 4D62 ORS 0 AWORK2(2) 4DKL NODEL 4F5= WHICHMOP TPERI 4FJW BRN ONEWD 4G4G TPERI LDEX 5 AWORK2(2) [BRANCH PTR 4GJ6 ADN 5 PTR(1) 4H3Q PTR BRN (5) 4HHB BRN STOMD [CONVERSION 4J32 BRN TSHIF [CONVERSION IF TERM SHIFT=BETA 4JGL BRN NOCON [NO CONVERSION 4K2= BRN STOMD [SHIFT-GRAPHIC 4KFW # 4K^G TSHIF LDCH 0 AWORK2(2) [LAST SHIFT 4LF6 SBN 0 #75 4LYQ BNZ 0 NOCON [J IF ALPHA 4MDB STOMD LDCH 0 AWORK2(2) [LAST SHIFT 4MY2 SLL 0 6 4NCL LDN 5 3 4NX= ANDX 5 ACA3(2) 4PBW SRC 5 2 4PWG ORX 5 0 4QB6 LDX 3 7 [RESTORE PTR TO ADATA/ACONV 4QPT LDCT 0 #002 [PRESERVE STATE OF DELTA BIT. 4R5J ADN 0 #77 [AND PFCC FOR *LP PERIS. 4RF? ANDS 0 A1+1(3) 4RT2 ORS 5 A1+1(3) [UPDATE RED TAPE 4S#L LDX 0 ACA3(2) 4SS= ADN 0 11 4T?W SRL 0 2 4TRG STO 0 A1(3) [N/W IN RECORD 4W?6 NEWCN LDEX 6 ACA1(2) [PERI MODE 4WQQ LDX 0 6 4X=B ANDN 0 #10 4XQ2 BNZ 0 MODGR [J IF GRAPHIC 4Y9L ORN 6 #20 [ALLCHARS 4YP= MODGR LDEX 7 AWORK4(2) [FILE MODE 4^8W TRANSFOR 6,7 4^NG TESTRPN2 STOP,REST 5286 LDN 0 2 52MQ STO 0 AWORK3(2) [ALINE CONTAINS WHOLE RECORD 537B REST 53M2 HUNT 3,ADATA,ACONV 546L LDX 7 3 [REMEMBER PTR 54L= LDX 0 A1(3) [N/W IN NEW RCD 555W SBN 0 2 [-RED TAPE 55KG SLL 0 2 5656 LDCH 4 A1+1(3) 56JQ SRL 4 4 [N/CH IN LAST WORD 574B BZE 4 OKCH 57J2 SBN 0 4 583L ADX 0 4 58H= OKCH STO 0 AWORK1(2) [UPDATE N/CH IN ADATA/ACONV 592W BNZ 0 NOCON [J IF ACONV IS NOT EMPTY 59GG LDX 0 AWORK3(2) 5=26 LDN 6 0 [N/CH=0 5=FQ BZE 0 REPWD 5=^B LDCH 5 AWORK2(2) 5?F2 BRN SEARC 5?YL NOCON LDX 0 ACA1(2) 5#D= ORX 0 AWORK4(2) [FILE MODE 5#XW ANDN 0 #10 5*CG LDX 6 AWORK1(2) [N/CH TO MOVE 5*X6 BNZ 0 SHICH [J IF #10 5BBQ LDX 3 7 [PTR TO ACONV 5BWB TEST LDX 4 AWORK1(2) [N/CH IN ACONV 5BY^ LDX 0 BIT9 5C3J ANDX 0 AWORK2(2) 5C67 BZE 0 NOLP4 [LP PERI ? 5C8Q BZE 4 SHICH [CHECK FOR 0 TX LEN 5C?* NOLP4 5CB2 LDCH 5 AWORK2(2) 5CC5 HUNT 2,ADATA,ALINE 5CD8 BPZ 2 NOLP7 5CF? SBX 2 2 5CGB BRN NOLP5 5CHF NOLP7 5CJJ LDX 2 A1(2) 5CKM NOLP5 LDX 0 4 5CLQ ADX 2 6 5CMT SBN 2 2009 5CNY BNG 2 NOLP6 5CQ3 SBX 0 2 5CR6 SBN 0 1 5CS9 NOLP6 LDX 2 0 5CTL LDCT 0 #002 [TEST IF BIT SET IN ACONV INDICATING 5D*= ANDX 0 A1+1(3) ['LAST CH OF PREVIOUS PERI WAS A DELT 5DSW ERS 0 A1+1(3) 5F#G BNZ 0 TAST [IF SO CLEAR BIT AND JUMP. 5FS6 TCHAR LDCH 0 A1+2(3) [LOAD NEXT CHARACTER 5G?Q BXE 0 XALPHA(1),STORE [J IF ALPHA 5GRB BXE 0 XBETA(1),STORE [J IF BETA 5H?2 SBN 0 #76 5HQL BNZ 0 NOSH [J IF NO SHIFT 5J== BCHX 3 £ 5JG4 SBN 2 1 5JPW BCT 4 TAST 5K9G BRN STOZ [J IF NO MORE CHARS 5KP6 TAST LDCH 0 A1+2(3) [LOAD SUCCESSOR 5L8Q SBN 0 #32 5LNB BNZ 0 NOSH [J IF NOT N/L 5LQ# LDX 2 FX2 5LS? LDX 0 BIT9 5LY8 ANDX 0 AWORK2(2) 5M45 BNZ 0 WRONGLPCH [ILLEGAL CH IF *LP PERI 5M82 LDN 0 2 5MML STO 0 AWORK3(2) [SET SWITCH 5N7= SLC 3 2 5NLW ADN 3 1 5P6G LDX 0 7 [PTR TO ACONV 5PL6 SLC 0 2 5Q5Q SBX 3 0 [N/CH UP TO N/L 5QKB SBS 3 AWORK1(2) [UPDATE N/CH IN ACONV 5R52 SBN 3 2 [-N/L 5RJL LDX 6 3 5S4= BRN SEARC 5SHW SHICH 5T3G LDN 5 #74 5TH6 BRN STOZ 5W2Q STORE 5W=J BZE 2 NOSH 5WGB BNG 2 NOSH 5WQ8 LDX 5 0 5X22 NOSH BCHX 3 £ 5X9S SBN 2 1 5XFL BCT 4 TCHAR [J TO TEST NEXT CHAR 5XMF STOZ LDX 2 FX2 5XT# STOZ AWORK1(2) 5Y38 SEARC 5Y56 LDX 0 BIT9 5Y74 ANDX 0 AWORK2(2) 5Y92 BZE 0 NLP [J IF NOT *LP PERI 5Y=Y LDX 3 7 5Y#W NAME 3,ADATA,ALINE [RENAME ACONV AN ALINE FOR OUTPUT. 5YBS ADN 6 8 [UPDATE TWO WORDS OF RED TAPE. 5YDQ STO 6 A1(3) [RECORD HEADER IN CHARS. 5YGN LDCH 0 AWORK2(2) 5YJL SLL 0 6 5YLJ ORS 0 A1+1(3) [LAST SHIFT OF PREVIOUS PERI. 5YNG DCH 5 AWORK2(2) [TERMINAL SHIFT OF THIS PERI. 5YQD BRN SETRT 5YSB NLP 5YW# HUNT 3,ADATA,ALINE 5YYG BPZ 3 OKBL [J IF ALINE EXIST 5^D6 SETNCORE 35,3,ADATA,ALINE 5^XQ HUNT 1,ADATA,ACONV 62CB LDX 7 1 [REMEMBER PTR TO ACONV 62X2 LDN 0 8 [N/CH IN ALINE 63BL STO 0 A1(3) 63W= LDCH 0 AWORK2(2) 6464 SLL 0 6 64*W ORN 0 #41 64KN STO 0 A1+1(3) [TERMINAL SHIFT PLUS PFCC. 64TG OKBL 65*6 DCH 5 AWORK2(2) 65SQ LDX 4 A1(3) 66#B ADX 4 6 [+N/CH FROM ACONV 66S2 LDX 1 4 67?L ADN 4 3 67R= SRL 4 2 68=W LDX 0 ALOGLEN(3) [LENGTH OF ALINE 68QG BXGE 0 4,OKLEN [J IF OK 69=6 SBN 4 503 69PQ BNG 4 OKEX 6=9B SBN 1 2008 6=P2 SBX 6 1 [UPDATE N/CH TO MOVE 6?8L ADS 1 AWORK1(2) [UPDATE N/CH IN ACONV 6?N= LDX 0 AWORK3(2) [SWITCH 6#7W ADS 0 AWORK1(2) [ADD 2 CHARS FOR N/L 6#MG LDN 0 1 6*76 STO 0 AWORK3(2) [SWITCH FOR TRANSFER INTO FURB 6*LQ NGN 4 1 6B6B OKEX ADN 4 503 [X4=NEW LENGTH 6BL2 ALTLEN 3,4 [CHANGE ALINE'S LENGTH 6C5L HUNT 3,ADATA,ACONV 6CK= LDX 7 3 [REMEMBER PTR 6D4W HUNT 3,ADATA,ALINE 6DJG OKLEN LDX 5 A1(3) [N/CH IN ALINE 6F46 SRC 5 2 6FHQ ADX 5 3 6G3B ADN 5 A1 [PTR FOR MOVE 6GH2 LDX 4 7 [PTR TO ACONV 6H2L ADN 4 A1+2 6HG= BZE 6 NOTMV 6H^W BNG 6 NOMV [IE NEWLINE SPLIT OVER TWO PERIS. 6JFG SMO 6 6J^6 MVCH 4 0 [MOVE RECORD TO ALINE 6KDQ NOMV 6KYB ADS 6 A1(3) [UPDATE N/CH IN ALINE 6LD2 NOTMV LDX 5 AWORK1(2) [N/CH IN ACONV 6LXL BZE 5 NEMPT 6MC= LDX 0 4 [PTR TO NEW RECORD 6MWW LDX 1 AWORK3(2) [SWITCH 6NBG BZE 1 NLNOT [J IF NO N/L 6NW6 SBN 1 1 [ 6P*Q BZE 1 NLNOT [J IF RECORD CONTAINS 2000 CHARS 6PTB BCHX 0 £ 6Q*2 BNG 6 NLNOT [J IF NEWLINE SPLIT OVER 2 PERIS. 6QSL BCHX 0 £ [IGNORE N/L 6R#= NLNOT LDX 1 7 [PTR TO ACONV 6RRW ADN 1 A1+2 6S?G SMO 5 6SR6 MVCH 0 0 [MOVE RECORD BACKWARD 6T=Q NEMPT LDX 0 A1(3) [N/CH IN ALINE 6TQB SBN 0 2008 6W=2 BZE 0 SETRT [J IF RECORD=2000 CHARS 6WPL LDX 0 AWORK3(2) [SWITCH FOR N/L 6X9= BZE 0 REPWD 6XNW SETRT LDX 1 A1(3) 6Y8G SRC 1 2 6YN6 LDCT 0 #600 6^7Q ANDX 0 1 6^MB LDEX 4 AWORK4(2) [FILE MODE 7272 SBN 4 #12 72JB BNZ 4 NGRAPH [J IF NOT GRAPHIC 72^Q ORN 0 #41 73C6 BRN TARGR 73SG NGRAPH 749W ORX 0 A1+1(3) [PFCC +LAST SHIFT. 74M= TARGR 754Q STO 0 A1+1(3) [SET 2ND WORD RT 75JB NGX 0 A1(3) 7642 ANDN 0 3 [N/CH TO SPACEFILL LAST WORD 76HL BZE 0 NOSPA [J IF LAST WORD IS FULL 773= LDN 4 #20 [SPACE 77GW STOR SMO 3 782G DCH 4 A1(1) [INSERT SPACE 78G6 BCHX 1 £ 78^Q BCT 0 STOR 7933 NOSPA 794# LDX 0 BIT9 [LP PERI ? 795K ANDX 0 AWORK2(2) 796W BZE 0 NOTRUC 7987 ADX 1 3 799D SPACES 79=P SBN 1 1 [ELIMINATE SPACES 79#2 LDX 4 A1(1) 79*? SPACECT 4,2,SPACES 79BJ SBX 1 3 [X2 GIVES NO OF SPACES IN 79CT ADN 1 1 [LAST WORD 79F6 LDX 0 2 [0 SP = 0 VALID CHAR 79GC SLC 2 1 [1 SP =3 VALID CHARS 79HN ADX 0 2 [2 SP = 2 VALID CHARS 79J^ ANDN 0 3 [3 SP = 1 VALID CHAR 79L= SRC 0 2 79MH LDCT 2 #600 [PUT NEW NO OF VALID CHARS 79NS ORS 2 A1+1(3) 79Q5 ERS 2 A1+1(3) [IN LAST WORD 79RB ORS 0 A1+1(3) 79SM LDX 2 FX2 79TY NOTRUC 79X9 STO 1 A1(3) [NO OF WORDS IN RECORD 79^2 WHICHMOP NOMF [J IF NOT MOP/MF 7=DL NAMETOP 3,FILE,FRB 7=Y= LDX 5 AWORK1(2) [NEGATIVE IF ENTRY FROM OFFREL 7?CW ORX 5 FX2 7?XG OUTMOP OLPFL,K1TPOBJ [OUTPUT RECORD TO MOP/MF 7#C6 NOMF 7#WQ LDX 4 1 [REMEMBER RECORD LENGTH 7*BB LDX 5 3 [PTR TO ALINE 7*W2 LDCT 0 #400 7B*L BXU 0 AWORK1(2),STEP 7BT= STEP ,0(1),FORCED [ENTRY FROM OLPODD 7C#W BRN TESTR 7CSG STEP 7D#6 STEP ,0(1),ANSWER 7DRQ TESTR 7F?B TESTREP2 APPWAIT,WAIT,FNEARLY,SETSW,COORED,SADAT,GLUTTON,TOOMUCH,- 7FR2 FILEFULL,WAIT 7G=L TREP LDX 2 5 7GQ= BRN RMOVE 7H9W NOAPP LDCT 0 #400 7HPG BXE 0 AWORK1(2),UP [J IF LAST TRANSFER 7J96 BRN OUTF [OUTPUT 'FILE FULL' 7JNQ SETSW LDCT 0 #200 7K8B ORS 0 AWORK4(2) [SET SWITCH 7L7L SADAT HUNT 2,ADATA,ALINE 7LM= RMOVE ADN 2 A1 7M6W SMO 4 [MOVE RECORD TO FUWB 7MLG MOVE 2 0 7N66 LDX 3 2 7NKQ LDX 2 FX2 7NMN LDX 0 BIT9 7NPL ANDX 0 AWORK2(2) 7NRJ BZE 0 NOFREE [J IF NOT *LP PERI. 7NTG SBN 3 A1 7NXD FREECORE 3 [FREE ALINE 7N^B BRN REPWD 7P3# NOFREE 7P5B LDN 0 8 7PK2 STO 0 0(3) [N/CH IN ALINE 7Q4L LDCH 0 AWORK2(2) [TERMINAL SHIFT 7Q9S SLL 0 6 7QC2 ORN 0 #41 7QJ= STO 0 1(3) 7R3W OLPFL LDX 6 AWORK1(2) [N/CH IN ACONV 7RHG LDCT 0 #400 7S36 BXE 0 AWORK1(2),UP [J IF LAST TRANSFER 7SGQ STOZ AWORK3(2) [UNSET SWITCH 7T2B BZE 6 NOMOR [NO CHARS IN ACONV 7TG2 HUNT 3,ADATA,ACONV 7T^L LDX 7 3 7WF= BRN NOCON [MORE CHARS IN ACONV 7WYW NOMOR MHUNT 3,ADATA,AREST 7XDG BNG 3 REPWD [J IF WOT EXISTING 7XY6 LDX 0 A1(3) [ 7YCQ BZE 0 REPWD [J IF EMPTY 7YXB MHUNT 1,ADATA,ACONV 7^C2 BNG 1 NOACV [J IF NOT EXISTING 7^WL STOZ A1(1) 82B= NAMETOP 1,ADATA,AREST 82TW NOACV NAMETOP 3,ADATA,ACONV 83*G LDX 0 A1(3) [N/W IN ACONV 83T6 SBN 0 2 84#Q SLL 0 2 84SB LDCH 1 A1+1(3) 85#2 SRL 1 4 85RL BZE 1 OKC 86?= SBN 0 4 86QW ADX 0 1 87=G OKC STO 0 AWORK1(2) [N/CH IN ACONV 87Q6 BRN NEWCN 889Q REPWD LDN 5 0 88PB OLPREP 8992 LDX 1 APETADDR(2) 89NL LDX 2 ACAP(2) [PTR TO PERI CA 8=8= ADN 2 1 8=MW FADDRESS 1,2,HLOCK1 8?7G STO 5 0(2) [REPLY WORD 8?M6 OLPEND 8#6Q BRN K1TPOBJ 8#8F WRONGLPCH 8#=8 LDX 3 ACAP(2) 8#?X ADN 3 1 8#*L FADDRESS APETADDR(2),3,HLOCK1,2 8#C* SBN 4 1 [STORE UNEXPIRED CHARACTER COUNT IN 8#F4 STO 4 0(3) [REPLY WORD OF OBJECT PROGRAM. 8#GR LDN 3 FYINVCC 8#JG BRN XILL 8#LB MOLE 8*62 LDN 3 FYMODE 8*KL XILL 8B5= CALL 7 TOPCA [CHANGE TO PCA 8BJW ACROSS OLPODD,4 [FOR UNPLUG/ILLEGAL 8C4G WC 8CJ6 LDN 3 FYCOUNT 8D3Q BRN XILL 8DHB RESV 8F32 LDN 3 FYNOBUF 8FGL BRN XILL 8G2= OUTF 8GFW COMPQU OUTF2 8G^G BRN NEWCOMP 8HF6 OUTF1 8HYQ LDX 0 GSIGN 8JDB ORS 0 AWORK4(2) 8JY2 OUTF2 8KCL LDX 0 ACA1(2) 8KX= SRL 0 6 8LBW ANDN 0 #777 8LWG SBN 0 #300 8MB6 BNZ 0 NMON [J IF NOT ADD MODE #30000 8MTQ LDCT 5 #50 8N*B BRN OLPREP 8NT2 NEWCOMP 8P#L LDCT 0 #200 8PS= ERS 0 AWORK4(2) [UNSET FNEARLY SWITCH 8Q?W BRN K1TPOBJ 8QRG NMON 8R?6 LDN 3 FYOUTFULL 8RQQ BRN OUTP 8S=B OUTL 8SQ2 LDN 3 FYOUTPUT 8T9L OUTP 8TP= LDX 4 FTYPNO(2) [FOR OUTPACKING 8W8W BRN XILL 8WNG WAIT 8X86 LDCT 0 #400 8XMQ BXE 0 AWORK1(2),UP [J IF LAST TRANSFER 8Y7B NEARLY 8YM2 FDRMTEST APPWAIT,NODRM [TOST IF DRM 8^6L LDCT 5 #420 [REPLY WORD 8^L= TESTREP2 APPWAIT,WAIT1 925W LDCT 5 #410 [REJECTED INOPERABLE 92KG WAIT1 9356 LDX 1 APETADDR(2) 93JQ BRN OLPREP [J TO SET REPLY WORD 944B TOOMUCH 94J2 CALL 7 TOPCA [CHANGE TO PCA 953L ACROSS OLPODD,2 95H= NODRM 962W TESTREP2 FILEFULL,OUTF 96GG CALL 7 TOPCA [CHANGE TO PCA 9726 ACROSS OLPODD,1 [LONGWAIT FOR BLOCK TO BE DESTROYED 97FQ Z3TPOBJ 97^B WHICHMOP TRANREST 98F2 BRN UP [DO NOT APPEND IF MOP 98YL TRANREST 99D= HUNT 3,ADATA,ALINE 99XW BNG 3 UP [J IF NO BUFFER BLOCK 9=CG LDX 0 A1(3) [N/CH IN ALINE 9=X6 SBN 0 8 9?BQ BZE 0 UP 9?WB LDCT 0 #400 9#B2 STO 0 AWORK1(2) [AWRK1=#40000000 IF ENTRY FROM OFFREL 9#TL BRN SETRT 9**= UP UP 9*SW TOPCA 9B#G LDX 1 FX1 9BS6 TOPCA1 PLINK1(1) 9C?Q EXIT 7 0 9CRB # 9D?2 MENDAREA 200,K99TPOBJ 9DQL #END ^^^^ ...03052052000100000000