1  COM A[25],V[2,10]
2  COM A$[255],A1$[255],B0$[5],D0$[255],F0$[1],F1$[11],S0$[6]
3  COM H0$[94],H1$[94],J0$[3],J1$[3],K1$[15],P0$[184],P1$[4]
4  COM N0$[1],U0$[11],U1$[11],V0$[10],V1$[10],W$[102],W0$[8],W1$[255],Z$[255]
5  COM C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,D0
6  COM D,D1,D2,F9,G,G0,G8,L,S0,V0,V1,V2,V3,V5,V7
7  COM W0,W1,W3,W5,W8,W9
10  COM L[5],M[64,2],N[64,2],P[2]
11  COM B$[94],L$[94],M$[94],N$[94],O$[94],P$[94]
12  COM L1,L2,L3,L4,L7,M1,M2,M3,M4,M5,M7,M8,M9,N1,N2,N3,N4
15  REM (C) COPYRIGHT  HEWLETT-PACKARD CO. 1976
16  REM ALL RIGHTS RESERVED.  NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED,
17  REM REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT THE
18  REM PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD CO.
50  FILES *,*
99  CHAIN "$EDITOR"
100  REM *ENTRY*
110  IF  ERROR  THEN 9998
120  ASSIGN U0$,C1,J, PR 
130  IF J THEN 9998
140  U0=V6=C0
145  D1=D
150  U1=C2
160  GOSUB 1000
165  W1=C0
170  A1$="EDIT00"
175  A1$[C7]=B0$
180  CHAIN J,A1$,100
190  GOTO 9998
1000  REMP >>SET<<
1005  IF  NOT LEN(A$) THEN 2570
1010  I=POS(A$,"=")
1015  IF I=C0 OR I>12 THEN 2570
1020  A1$=A$[C1,I-C1]
1025  A$=A$[I+C1]
1030  RESTORE 1035
1035  DATA 22,1,"RBOUND",1,"LBOUND",1,"DISPLAY",1,"AUTOMARGIN"
1040  DATA 2,"ECHO",1,"//COMMANDS",2,"FROM",1,"INCREMENT",1,"WIDTH"
1045  DATA 4,"PAGE",3,"PAUSE",2,"FACING",2,"TABS",2,"HEADING"
1050  DATA 4,"PAGING",2,"TOPSPACE",1,"BOTTOMSPACE",2,"FILLER"
1055  DATA 2,"ENVIRONMENT",1,"NONPRINT",1,"CONTROL",2,"HYPHENATION"
1060  GOSUB 9300
1065  IF  NOT K2 THEN 2590
1070  GOTO K2 OF 1105,1105,1200,1200,1200,1200,1340,1340,1400,1455,1500,1570
1075  GOTO K2-12 OF 1630,1970,2070,2200,2200,2285,2435,2285,1200,1200
1080  MAT  PRINT #C1,C1;A,V
1085  PRINT #C1;D0$,F0$,H0$,H1$,N0$,N1$
1090  IF LEN(A$) THEN 1010
1095  RETURN 
1100  REM2 *RBOUND, LBOUND*
1105  GOSUB 6900
1110  IF  NOT LEN(A1$) THEN 2570
1115  CONVERT A1$ TO I,6044
1120  I=INT(I)
1125  IF K2=C2 THEN 1160
1130  IF I<A[C2] OR I>94 THEN 2580
1135  A[C3]=I
1140  P[C2]=I MIN P[C2]
1145  G8=A[C3]-A[C2]+C1
1150  GOSUB W3 OF 3005
1155  GOTO 1080
1160  IF I<C1 OR I>A[C3] THEN 2580
1165  A[C2]=I
1170  W5=C1
1175  P[C2]=I MAX P[C2]
1180  G8=A[C3]-A[C2]+C1
1185  GOSUB W3 OF 3015
1190  GOTO 1080
1195  REM2 *DISPLAY,AUTOM,ECHO,//COM,CONTROL,HYPHEN*
1200  GOSUB 6900
1205  IF  NOT LEN(A1$) THEN 2570
1210  RESTORE 1215
1215  DATA 2,2,"OFF",2,"ON"
1220  K3=K2
1225  GOSUB 9300
1230  IF  NOT K2 THEN 2590
1235  GOTO K3-20 OF 1305,1320
1240  GOTO K3-C2 OF 1245,1260,1275,1290
1245  A[C4]=V7=K2-C1
1250  GOSUB W3 OF 3025
1255  GOTO 1080
1260  A[C7]=K2-C1
1265  GOSUB W3 OF 3055
1270  GOTO 1080
1275  A[C8]=K2-C1
1280  GOSUB W3 OF 3555
1285  GOTO 1080
1290  A[D0]=K2-C1
1295  GOSUB W3 OF 3085
1300  GOTO 1080
1305  A[24]=K2-C1
1310  GOSUB W3 OF 3065
1315  GOTO 1080
1320  A[25]=K2-C1
1325  GOSUB W3 OF 3075
1330  GOTO 1080
1335  REM2 ** FROM, INCREMENT **
1340  GOSUB 6900
1345  IF  NOT LEN(A1$) THEN 2570
1350  CONVERT A1$ TO I,6044
1355  GOSUB 2700
1360  IF I<C1 OR (I-999900.-99*(A[C1]#C2))>C0 THEN 2580
1365  IF K2=C8 THEN 1385
1370  A[C5]=I
1375  GOSUB W3 OF 3100
1380  GOTO 1080
1385  A[C6]=I
1390  GOSUB W3 OF 3120
1395  GOTO 1080
1400  REM2 **WIDTH**
1405  IF V3 THEN 2580
1410  GOSUB 6900
1415  IF  NOT LEN(A1$) THEN 2570
1420  CONVERT A1$ TO I,6044
1425  I=INT(I)
1430  IF I<50 THEN 2580
1435  A[C9]=I
1440  GOSUB W3 OF 3135
1445  GOTO 1080
1450  REM2 **PAGE**
1455  GOSUB 6900
1460  IF  NOT LEN(A1$) THEN 2570
1465  CONVERT A1$ TO I,6044
1470  I=INT(I)
1475  IF I<C0 THEN 2580
1480  A[11]=I
1485  GOSUB W3 OF 3145
1490  GOTO 1080
1495  REM2 **PAUSE**
1500  GOSUB 6900
1505  IF  NOT LEN(A1$) THEN 2570
1510  CONVERT A1$ TO I,4345
1515  IF I<C0 THEN 2580
1520  A[12]=INT(I)
1525  GOTO 1555
1530  RESTORE 1535
1535  DATA 1,1,"OFF"
1540  GOSUB 9300
1545  IF  NOT K2 THEN 2590
1550  A[12]=0
1555  GOSUB W3 OF 3155
1560  GOTO 1080
1565  REM2 **FACING**
1570  GOSUB 6900
1575  IF  NOT LEN(A1$) THEN 2570
1580  CONVERT A1$ TO I,4430
1585  A[17]=I
1590  GOTO 1615
1595  RESTORE 1535
1600  GOSUB 9300
1605  IF  NOT K2 THEN 2590
1610  A[17]=C0
1615  GOSUB W3 OF 3175
1620  GOTO 1080
1625  REM2 ** TABS **
1630  CONVERT A$[C1,C1] TO I,4562
1635  I=C1
1640  GOSUB 6900
1645  CONVERT A1$ TO V[C2,I],4866
1650  IF V[C2,I]>A[C9] THEN 1935
1655  IF I=C1 THEN 1665
1660  IF V[C2,I-C1] >= V[C2,I] THEN 1945
1665  CONVERT A$[C1,C1] TO J,4550
1670  I=I+C1
1675  IF I>D0 THEN 1955
1680  GOTO 1640
1685  A[13]=I
1690  GOTO 1905
1695  GOSUB 6900
1700  IF  NOT LEN(A1$) THEN 2570
1705  RESTORE 1710
1710  DATA 2,1,"POINT",1,"OFF"
1715  GOSUB 9300
1720  IF  NOT K2 THEN 2590
1725  IF K2=C1 THEN 1740
1730  A[13]=C0
1735  GOTO 1925
1740  PRINT 
1745  FOR I=D0 TO A[C9] MIN 90 STEP D0
1750  PRINT  USING "#,9X,D";I/D0
1755  NEXT I
1760  PRINT 
1765  FOR I=C1 TO A[C9] MIN 94
1770  PRINT  USING "#,D";I-D0*INT(I/D0)
1775  NEXT I
1780  PRINT 
1785  W1$=A$
1790  W5=C1
1795  V0=C4
1800  P0$=""
1805  V9=C0
1810  GOSUB 8300
1815  IF E THEN 1095
1820  IF V5=C3 THEN 1835
1825  A$=W1$
1830  GOTO 1925
1835  J1=C0
1840  FOR I=C1 TO LEN(A$)
1845  J=NUM(A$[I,I])
1850  IF J>32 AND J<127 THEN 1870
1855  IF J=32 THEN 1885
1860  PRINT "Illegal tab character.  ";
1865  GOTO 1080
1870  J1=J1+C1
1875  IF J1>D0 THEN 1955
1880  V[C2,J1]=I
1885  NEXT I
1890  A[13]=J1
1895  A$=W1$
1900  GOTO 1905
1905  FOR I=C1 TO A[13]
1910  V[C1,I]=V[C2,I]
1915  NEXT I
1920  W5=C1
1925  GOSUB W3 OF 3465
1930  GOTO 1080
1935  PRINT "'"A1$;"' is an illegal tab specification."
1940  GOTO 1960
1945  PRINT "Tabs must be in ascending order."
1950  GOTO 1960
1955  PRINT "Only 10 tabs permitted"
1960  GOTO 2625
1965  REM2 **HEADING**
1970  GOSUB 6900
1975  RESTORE 1980
1980  DATA 5,1,"OFF",1,"LEFT",1,"CENTER",1,"RIGHT",1,"FACING"
1985  GOSUB 9300
1990  IF  NOT K2 THEN 2590
1995  A[14]=K2-C1
2000  J=NUM(A$)
2005  IF J#34 AND J#64 THEN 2050
2010  V4=C2
2015  GOSUB 9800
2020  IF E THEN 2630
2025  IF LEN(A1$)>94 THEN 2610
2030  H0$=A1$
2035  IF A$[C1,C1]#"," THEN 2055
2040  A$=A$[C2]
2045  GOTO 2055
2050  H0$=""
2055  GOSUB W3 OF 3195
2060  GOTO 1080
2065  REM2 **PAGING**
2070  GOSUB 6900
2075  RESTORE 2080
2080  DATA 2,1,"TOP",1,"BOTTOM"
2085  GOSUB 9300
2090  IF  NOT K2 THEN 2590
2095  K3=K2-C1
2100  GOSUB 6900
2105  RESTORE 1980
2110  GOSUB 9300
2115  IF K2<C2 OR K2=C6 THEN 2590
2120  A[16]=K2-C1
2125  J=NUM(A$)
2130  IF J#34 AND J#64 THEN 2175
2135  V4=C2
2140  GOSUB 9800
2145  IF E THEN 2630
2150  IF LEN(A1$)>94 THEN 2620
2155  H1$=A1$
2160  IF A$[C1,C1]#"," THEN 2180
2165  A$=A$[C2]
2170  GOTO 2180
2175  H1$=""
2180  A[15]=K3
2185  GOSUB W3 OF 3275
2190  GOTO 1080
2195  REM2 **TOPSPACE, BOTTOMSPACE**
2200  GOSUB 6900
2205  IF  NOT LEN(A1$) THEN 2570
2210  CONVERT A1$ TO J1,6044
2215  IF J1<C0 THEN 2580
2220  GOSUB 6900
2225  IF  NOT LEN(A1$) THEN 2570
2230  CONVERT A1$ TO J2,6044
2235  IF J2<C0 THEN 2580
2240  IF K2=17 THEN 2265
2245  A[18]=J1
2250  A[19]=J2
2255  GOSUB W3 OF 3380
2260  GOTO 1080
2265  A[20]=J1
2270  A[21]=J2
2275  GOSUB W3 OF 3400
2280  GOTO 1080
2285  REM2 **FILLER, NONPRINT**
2290  K3=K2
2295  I=NUM(A$)
2300  IF I=34 OR I=64 THEN 2365
2305  GOSUB 6900
2310  IF  NOT LEN(A1$) THEN 2570
2315  RESTORE 1535
2320  GOSUB 9300
2325  IF  NOT K2 THEN 2590
2330  IF K3=20 THEN 2350
2335  A[22]=C0
2340  GOSUB W3 OF 3415
2345  GOTO 1080
2350  A[23]=C0
2355  GOSUB W3 OF 3440
2360  GOTO 1080
2365  V4=C2
2370  GOSUB 9800
2375  IF E THEN 2630
2380  IF LEN(A1$)>C1 THEN 2580
2385  IF A$[C1,C1]#"," THEN 2395
2390  A$=A$[C2]
2395  IF K3=20 THEN 2415
2400  F0$=A1$
2405  A[22]=C1
2410  GOTO 2340
2415  N0$=A1$
2420  A[23]=C1
2425  GOTO 2355
2430  REM2 **ENVIRONMENT**
2435  GOSUB 6900
2440  RESTORE 2445
2445  DATA 3,1,"TEXT",1,"BASIC",1,"COBOL"
2450  GOSUB 9300
2455  IF M5 AND K2#A[C1] THEN 2600
2460  GOTO K2 OF 2470,2485,2500
2465  GOTO 2590
2470  RESTORE 2475
2475  DATA 1,1,65,1,100,100,1,0,79,1,60,22,0,2,1,2,0,2,2,2,0,0,0,1,1
2480  GOTO 2510
2485  RESTORE 2490
2490  DATA 2,1,79,1,1000,1000,0,0,79,1,60,22,0,2,1,2,0,2,2,2,0,0,0,1,0
2495  GOTO 2510
2500  RESTORE 2505
2505  DATA 3,8,72,1,1000,100,0,0,79,1,60,22,10,2,1,2,0,2,2,2,0,0,0,1,0
2510  DATA 12,16,20,24,28,32,36,40,44,48,12,16,20,24,28,32,36,40,44,48
2515  MAT  READ A
2520  IF K2#C3 THEN 2535
2525  MAT  READ V
2530  GOTO 2540
2535  MAT V=ZER
2540  G8=A[C3]-A[C2]+C1
2545  H0$=""
2550  H1$=""
2555  GOSUB W3 OF 3515
2560  GOTO 1080
2565  REM2 **ERROR MESSAGES**
2570  PRINT "Missing parameter"
2575  GOTO 2625
2580  PRINT "'"A1$;"' is an illegal specification."
2585  GOTO 2625
2590  PRINT "'"A1$;"' is an illegal keyword."
2595  GOTO 2625
2600  PRINT "Lines in WORK file; ENVIRONMENT cannot be changed"
2605  GOTO 2625
2610  PRINT "Heading string too long."
2615  GOTO 2625
2620  PRINT "Paging string too long."
2625  GOSUB 9700
2630  RETURN 
2700  REM2 <LINE #>
2705  GOTO A[C1] OF 2710,2710,2720
2710  I=INT(I*100)
2715  RETURN 
2720  I=INT(I*1000+.1)
2725  RETURN 
2800  REM2 <UN LINE #>
2805  GOTO A[C1] OF 2810,2810,2820
2810  I=I/100
2815  RETURN 
2820  I=I/1000
2825  RETURN 
3000  REMP **SHOW SETTINGS*
3005  PRINT "RBOUND=";TAB(11);A[3]
3010  RETURN 
3015  PRINT "LBOUND=";TAB(11);A[2]
3020  RETURN 
3025  PRINT "DISPLAY=";TAB(12);
3030  IF A[C4] THEN 3045
3035  PRINT "OFF"
3040  RETURN 
3045  PRINT "ON"
3050  RETURN 
3055  PRINT "AUTOMARGIN="TAB(12);
3060  GOTO A[C7]+C1 OF 3035,3045
3065  PRINT "CONTROL="TAB(12);
3070  GOTO A[24]+C1 OF 3035,3045
3075  PRINT "HYPHENATION=";
3080  GOTO A[25]+C1 OF 3035,3045
3085  PRINT "//-COMMANDS="TAB(12);
3090  GOTO A[D0]+C1 OF 3035,3045
3095  I=A[C5]
3100  GOSUB 2800
3105  PRINT "FROM="TAB(11);I
3110  RETURN 
3115  I=A[C6]
3120  GOSUB 2800
3125  PRINT "INCREMENT="TAB(11);I
3130  RETURN 
3135  PRINT "WIDTH="TAB(11);A[C9]
3140  RETURN 
3145  PRINT "PAGE="TAB(11);A[11]
3150  RETURN 
3155  PRINT "PAUSE="TAB(11);
3160  IF  NOT A[12] THEN 3035
3165  PRINT A[12]
3170  RETURN 
3175  PRINT "FACING="TAB(12);
3180  IF  NOT A[17] THEN 3035
3185  PRINT A[17]
3190  RETURN 
3195  PRINT "HEADING="TAB(12);
3200  GOTO A[14] OF 3210,3220,3230,3240
3205  GOTO 3035
3210  PRINT "LEFT,";
3215  GOTO 3245
3220  PRINT "CENTER,";
3225  GOTO 3245
3230  PRINT "RIGHT,";
3235  GOTO 3245
3240  PRINT "FACING,";
3245  IF LEN(H0$)<49 THEN 3265
3250  PRINT TAB(20);"'"H0$[C1,49]
3255  PRINT TAB(21);H0$[50]"'"
3260  RETURN 
3265  PRINT TAB(20);"'"H0$"'"
3270  RETURN 
3275  PRINT "PAGING="TAB(12);
3280  IF A[15] THEN 3300
3285  GOTO 3290
3290  PRINT "TOP, ";
3295  GOTO 3305
3300  PRINT "BOTTOM, ";
3305  GOTO A[16] OF 3315,3325,3335,3345
3310  GOTO 9998
3315  PRINT "LEFT,";
3320  GOTO 3350
3325  PRINT "CENTER,";
3330  GOTO 3350
3335  PRINT "RIGHT,";
3340  GOTO 3350
3345  PRINT "FACING,";
3350  IF LEN(H1$)<40 THEN 3370
3355  PRINT TAB(28);"'"H1$[C1,40]
3360  PRINT TAB(29);H1$[41]"'"
3365  RETURN 
3370  PRINT TAB(28);"'"H1$"'"
3375  RETURN 
3380  PRINT "TOPSPACE="TAB(12);
3385  PRINT  USING 3390;A[18],A[19]
3390  IMAGE D,",",D
3395  RETURN 
3400  PRINT "BOTTOMSPACE="TAB(12);
3405  PRINT  USING 3390;A[20],A[21]
3410  RETURN 
3415  PRINT "FILLER="TAB(12);
3420  IF A[22] THEN 3430
3425  GOTO 3035
3430  PRINT "'"F0$"'"
3435  RETURN 
3440  PRINT "NONPRINT="TAB(12);
3445  IF A[23] THEN 3455
3450  GOTO 3035
3455  PRINT "'"N0$"'"
3460  RETURN 
3465  PRINT "TABS="TAB(12);
3470  IF  NOT A[13] THEN 3035
3475  FOR I=C1 TO A[13]-C1
3480  PRINT  USING 3495;V[C1,I]
3485  NEXT I
3490  PRINT  USING "DD";V[C1,I]
3495  IMAGE #,DD,","
3500  IF V3 THEN 3510
3505  PRINT "Manual tabulation required; use CTRL I for tab."
3510  RETURN 
3515  PRINT "ENVIRONMENT="TAB(12);
3520  GOTO A[C1] OF 3525,3535,3545
3525  PRINT "TEXT"
3530  RETURN 
3535  PRINT "BASIC"
3540  RETURN 
3545  PRINT "COBOL"
3550  RETURN 
3555  PRINT "ECHO="TAB(12);
3560  GOTO A[C8]+C1 OF 3035,3045
6900  REM <SUBP>
6910  J4=POS(A$,",")
6920  IF J4<C2 OR J4=LEN(A$) THEN 6960
6930  A1$=A$[C1,J4-C1]
6940  A$=A$[J4+C1]
6950  RETURN 
6960  A1$=A$
6970  A$=""
6980  RETURN 
8300  REM <4 IN>
8302  J=SYS(C3)
8303  E=C0
8312  A$=""
8316  J0=C0
8318  IF  NOT J0 THEN 8326
8319  P1$="????"
8320  GOTO 8327
8326  P1$=" "
8327  IF V2=C2 AND  NOT W1 THEN 8376
8328  IF J0 THEN 8372
8366  PRINT P0$;
8368  GOTO 8373
8372  PRINT P1$;
8373  LINPUT A1$
8374  GOTO 8420
8376  IF V6 THEN 8394
8380  ASSIGN U1$,U1,J, WR 
8382  IF J<C3 THEN 8388
8384  PRINT "USE file no longer accessible"
8386  GOTO 8984
8388  V6=C1
8390  READ #U1,W8
8392  ADVANCE #U1;W9,J
8394  GOTO TYP(U1) OF 8396,8400,8408
8396  PRINT "Number encountered in USE file."
8398  GOTO 8984
8400  READ #U1;A1$
8401  IF  NOT W3 THEN 8403
8402  PRINT P1$;A1$
8403  W8=REC(U1)
8404  W9=ITM(U1)
8406  GOTO 8420
8408  V2=W3=C1
8410  GOTO 8300
8420  IF LEN(A$)+LEN(A1$) <= 255 THEN 8430
8422  PRINT "Total line length exceeds 255 characters."
8424  GOTO 8984
8430  IF  NOT LEN(A1$) THEN 8448
8432  A$[LEN(A$)+C1]=A1$
8434  IF A$[LEN(A$)]#"&" THEN 8448
8436  A$=A$[C1,LEN(A$)-C1]
8442  J0=C1
8446  GOTO 8318
8448  IF  NOT A[24] THEN 8466
8450  FOR J=C1 TO LEN(A$)
8452  J1=NUM(A$[J,J])
8454  IF J1 >= 32 AND J1 <= 126 THEN 8462
8456  IF J1=C9 AND A[13] THEN 8462
8458  PRINT "No control characters allowed."
8460  GOTO 8984
8462  NEXT J
8466  REM2 TEXT
8468  IF LEN(A$) THEN 8474
8470  V5=C1
8472  GOTO 8586
8474  V5=C2
8475  IF  NOT A[D0] THEN 8544
8476  IF A$[C1,C2]="//" THEN 8802
8477  GOTO 8544
8544  GOSUB 9670
8586  IF SYS(C3) THEN 8592
8588  V5=C3
8590  RETURN 
8592  IF V2=C2 AND  NOT W1 THEN 8984
8594  W1=C0
8596  V0=C1
8598  RETURN 
8802  REM2 //
8804  A$=A$[C3,LEN(A$)]
8806  FOR J=C1 TO LEN(A$)
8808  J0$=UOS$(A$[J,J])
8810  J1=NUM(J0$)
8812  IF J1<65 OR J1>90 THEN 8816
8814  NEXT J
8816  A1$=UOS$(A$[C1,J-C1])
8818  A$=A$[J,LEN(A$)]
8820  RESTORE 8822
8822  DATA 4,1,"HELP",2,"STOP",1,"ASK",1,"BREAK"
8824  GOSUB 9300
8828  IF K2 THEN 8862
8830  REM2 TASK?
8831  IF  NOT (V0=C1 OR D1=-C1) THEN 8858
8832  RESTORE 8834
8834  DATA 8,3,"CREATE",3,"PURGE",3,"FILE",3,"LENGTHEN",3,"SHORTEN"
8836  DATA 3,"CATALOG",3,"GROUP",3,"LIBRARY"
8838  GOSUB 9300
8840  IF  NOT K2 THEN 8858
8842  IF  NOT LEN(A$) THEN 8849
8844  A$=A$[C2,LEN(A$)]
8849  D2=K2
8850  D=32
8852  A1$="EDIT32"
8854  A1$[C7]=B0$
8856  CHAIN A1$,100
8858  PRINT "Illegal or unpermitted //-command."
8860  GOTO 8984
8862  GOSUB 9650
8864  IF LEN(A$) AND K2#C3 THEN 8952
8866  GOTO K2 OF 8874,8924,8936,8970
8874  REM2 //H
8876  GOSUB 9600
8920  IF SYS(C3) AND V2=C2 AND  NOT W1 THEN 8984
8922  GOTO 8300
8924  REM2 //S
8925  IF D1=-C1 THEN 8935
8926  PRINT #C1,M3-C2;M7,M8,M9
8927  MAT  PRINT #C1,M3;M
8928  MAT  PRINT #C1,N3;N
8929  PRINT #C1,M3-C1; END 
8930  IF  NOT S0 THEN 8935
8932  ASSIGN *,C3
8934  PURGE I,S0$
8935  STOP 
8936  REM2 //A
8938  IF V0=C3 AND V2=C2 THEN 8944
8940  PRINT "//ASK cannot be used here."
8942  GOTO 8984
8944  V4=C2
8946  GOSUB 9800
8948  IF E THEN 8300
8950  IF  NOT LEN(A$) THEN 8956
8952  PRINT "Nothing permitted beyond the //"K1$" command."
8954  GOTO 8984
8956  IF LEN(A1$)<80 THEN 8962
8958  PRINT "The string in //ASK is too long."
8960  GOTO 8984
8962  P0$=A1$
8964  W1=C1
8966  V9=LEN(P0$)
8968  GOTO 8300
8970  REM2 //B
8972  IF V0=C1 THEN 8982
8974  IF SYS(C3) AND V2=C2 AND  NOT W1 THEN 8984
8976  W1=C0
8978  V0=V5=C1
8980  RETURN 
8982  PRINT "//BREAK cannot be used here."
8984  GOSUB 9700
8986  IF V0#C1 THEN 8302
8988  RETURN 
9300  REM <KEY>
9310  READ J
9320  FOR K2=C1 TO J
9330  READ J1,K1$
9340  IF LEN(A1$)<J1 THEN 9360
9350  IF A1$=K1$[C1,LEN(A1$)] THEN 9380
9360  NEXT K2
9370  K2=C0
9380  RETURN 
9600  REM <HELP>
9610  PRINT "Type any character in desired tab columns (10 maximum)."
9620  RETURN 
9650  REM <TLEB>
9652  FOR J=C1 TO LEN(A$)
9654  IF A$[J,J]#" " THEN 9658
9656  NEXT J
9658  A$=A$[J,LEN(A$)]
9660  RETURN 
9670  REM <TTB>
9672  FOR J=LEN(A$) TO C1 STEP -C1
9674  IF A$[J,J]#" " THEN 9678
9676  NEXT J
9678  A$=A$[C1,J]
9680  RETURN 
9700  REM <ERROR>
9710  E=C1
9720  Z$=""
9730  IF V2#C2 OR W1 THEN 9760
9740  PRINT "USE file abandoned."
9750  V0=V2=W3=C1
9760  RETURN 
9800  REM <GET NEXT STR>
9805  V0$=A$[C1,C1]
9810  IF V0$='34 THEN 9835
9815  IF V0$="@" THEN 9840
9820  PRINT "Missing or illegal string."
9825  GOSUB 9700
9830  RETURN 
9835  V4=C1
9840  J1=C2
9845  J2=POS(A$[J1],V0$)+J1-C1
9850  IF J2=J1-C1 THEN 9820
9855  IF A$[J2+C1,J2+C1]#V0$ THEN 9875
9860  A$[J2]=A$[J2+C1]
9865  J1=J2+C1
9870  GOTO 9845
9875  A1$=A$[C2,J2-C1]
9880  A$=A$[J2+C1,LEN(A$)]
9885  E=C0
9890  RETURN 
9990  REM <ERR>
9991  M4=SYS(C0)
9992  N4=SYS(C1)
9993  A1$="EDIT31"
9994  A1$[C7]=B0$
9995  CHAIN J,A1$,100
9996  PRINT A1$" is missing.  ERROR"
9997  STOP 
9998  GOTO 9991
9999  END 
