1 COM F$[7],B$[7],L9,F8 2 COM M$[72],A6,A7,N,E9 3 COM W,W$[64],W0,Y 4 COM M[500],M,M0,M9,Y[150] 5 COM P[25,2],A[200] 6 COM C$[72],D$[11] 7 COM S,S[40],R,V8,V9,E0,M5 8 COM P8,J[3,11] 9 REM COBOL, HP 36845B, 6/74 10 LET E9=0 12 GOSUB 1500 20 DIM Y$[4] 30 DIM Q[6,3],V[30] 60 MAT J=ZER 62 LET P8=2 114 LET F8=F8+1 120 FILES *,*,COSCR 140 LET R=V8=V9=E0=M5=0 150 FOR I=1 TO W0 160 ASSIGN W$[I*16-15,I*16-9],I,A5 170 NEXT I 600 GOTO 1000 900 DEF FNA(X)=X-INT(X/64)*64 910 DEF FNB(X)=X-INT(X/4096)*4096 920 DEF FNC(X)=INT(X-INT(X/10)*10) 930 DEF FND(X)=X-INT(X/1000)*1000 940 DEF FNE(X)=X-INT(X/200)*200 950 DEF FNF(X)=X-INT((X-1)/3)*3 960 DEF FNM(X)=FNA(INT(M[INT((X-1)/3)]/64^(3-FNF(X)))) 962 DEF FNG(X)=X-INT(X/150)*150 964 DEF FNH(X)=FNG(INT(A[INT((X-1)/3)+1]/150^(3-FNF(X)))) 990 GOSUB 1600 1000 LET Q=E0=0 1010 LET P0=FNH(F8) 1012 LET F8=F8+1 1020 IF P0=0 THEN 1150 1030 IF P0=62 THEN 1010 1040 IF P0=63 THEN 1080 1050 LET P0=FNH(F8) 1052 LET F8=F8+1 1054 IF P0=0 AND FNH(F8)=23 THEN 990 1060 IF P0 <> 62 AND P0 <> 63 THEN 1050 1070 GOTO 1030 1080 IF P[P8,2]<0 THEN 1100 1090 LET P8=FNH(F8) 1091 LET F8=F8+1 1092 GOTO 1240 1100 LET J=-P[P8,2] 1110 LET F8=FND(J[J,11]) 1112 LET P8=INT(J[J,11]/1000) 1130 GOSUB 1600 1140 GOTO 4320 1150 LET P0=FNH(F8) 1152 LET F8=F8+1 1154 GOSUB 1600 1158 GOTO INT((P0-1)/10)+1 OF 1160,1170,1180 1160 GOTO P0 OF 2000,2100,2400,2800,2450,2360,1010,3650,1010,2550 1170 GOTO P0-10 OF 2900,3100,2330,1010,3900,2700,2300,3400,1010,4700 1180 GOTO P0-20 OF 4800,1010,1050 1182 LET E9=P0-25 1184 GOTO 1000 1200 LET F8=P[P9,1]+1 1230 LET P8=P9 1240 IF P[P8,2] <= 0 THEN 1400 1250 LET P9=P[P8,2] 1260 GOTO 1200 1400 IF E9 <> -1 THEN 1000 1410 READ #3,10 1420 READ #3;M$,M 1430 IF M <> P8 THEN 1420 1440 PRINT "*";M$ 1450 GOTO 1000 1500 CHAIN "$CODBG" 1600 LET S=1 1604 LET F7=F8 1610 FOR S9=1 TO 50 1620 LET S[S9]=FNH(F8) 1630 LET F8=F8+1 1632 IF S[S9]=59 THEN 1642 1634 IF S[S9] <> 50 THEN 1640 1635 LET S[S9+1]=FNH(F8) 1636 LET S9=S9+1 1637 LET F8=F8+1 1640 NEXT S9 1642 LET N=FNH(F8)*22500+FNH(F8+1)*150+FNH(F8+2) 1644 LET F8=F8+3 1646 RETURN 2000 INPUT M$ 2040 GOSUB 9500 2050 IF V[1]>3 THEN 2080 2060 LET M8=V[3] 2070 LET M=V[2] 2072 GOSUB 8200 2074 GOTO 1000 2080 LET E9=2 2082 GOTO 1500 2100 LET S1=1 2108 LET S2=R=0 2110 IF S[S] <> 50 THEN 2180 2120 GOSUB 5950 2140 IF S2=0 THEN 2160 2150 GOSUB S1 OF 7700,7700,7900,8000 2160 LET S2=S2+1 2170 GOTO 2110 2180 IF S[S]=10 THEN 2230 2182 IF S1 <> 4 OR S[S] <> 17 THEN 2190 2184 LET S1=5 2190 LET S=S+1 2192 GOSUB 5950 2210 GOSUB S1 OF 7700,7850,7900,8000,8010 2220 IF S[S] <> 10 THEN 2250 2230 LET S=S+1 2240 GOSUB 9500 2250 GOSUB 9600 2260 GOSUB 7400 2270 IF E0=1 THEN 1000 2280 IF S[S] <> 8 THEN 1000 2290 GOTO 1050 2300 LET S1=2 2320 GOTO 2108 2330 LET S1=3 2350 GOTO 2108 2360 LET S1=4 2380 GOTO 2108 2400 REM ALTER 2410 LET P[S[2],2]=S[5] 2420 GOTO 1000 2450 IF S[S] <> 50 THEN 2520 2470 GOSUB 9500 2480 IF V[1]=3 OR V[1]=4 THEN 2510 2490 LET M8=V[3] 2492 LET M=V[2] 2494 GOSUB 8350 2496 PRINT M$; 2500 GOTO 2450 2510 GOSUB 6000 2516 PRINT (Q[Q,1]*1.E+06+Q[Q,2])/10^Q[Q,3]; 2518 GOTO 2450 2520 PRINT 2530 GOTO 1000 2550 IF S9>3 THEN 2590 2570 LET P9=S[2] 2580 GOTO 1200 2590 FOR I=1 TO S9 2600 IF S[I]=50 THEN 2620 2610 NEXT I 2620 GOSUB 5950 2640 LET M5=0 2650 GOSUB 6600 2660 IF 2*V9<0 OR 2*V9>I THEN 1000 2680 LET P9=S[2*V9] 2690 GOTO 1200 2700 IF S[1] <> 45 THEN 2740 2720 PRINT "***NORMAL TERMINATION" 2730 CHAIN "$COMON",5 2740 GOSUB 9500 2750 LET M=V[2] 2760 LET M8=V[3] 2770 GOSUB 8350 2780 PRINT M$; 2782 ENTER 255,A5,Y$ 2783 PRINT 2784 IF A5=-256 THEN 2780 2786 GOTO 1000 2800 GOSUB 9500 2812 GOSUB 9600 2820 LET S=S+1 2830 GOSUB 8400 2840 LET S=1 2850 GOSUB 9500 2860 GOSUB 7400 2870 GOTO 2270 2900 GOSUB 5000 2920 GOTO V9+1 OF 1050,1000 3100 GOSUB 9500 3111 LET S=S+1 3112 LET A4=V[1] 3113 LET M=A3=V[2] 3114 GOSUB 9000 3116 LET M7=V[3] 3120 LET E0=Q=0 3130 LET S1=S 3132 GOSUB 9500 3142 LET M=A3 3150 GOTO A4+1 OF 3160,3170,3180,3190,3190,3210,3160 3160 GOTO V[1]+1 OF 3250,3370,3300,3300,3300,3250 3170 GOTO V[1]+1 OF 3250,3250,3220,3220,3220,3250 3180 GOTO V[1]+1 OF 3250,3300,3300,3300,3300,3250 3190 GOTO V[1]+1 OF 3300,3300,3300,3300,3300,3250 3210 IF V[1] <> 4 THEN 3250 3220 LET E9=4 3230 GOTO 1500 3250 LET M6=M 3251 LET M=V[2] 3252 GOSUB 9025 3253 LET M=M6 3254 LET M8=V[3] 3260 GOSUB 8750 3270 IF S[S] <> 50 THEN 1000 3272 LET S2=S 3280 LET S=1 3284 GOSUB 9500 3286 LET S=S2 3288 GOTO 3112 3290 GOSUB 9500 3300 LET S=1 3310 GOSUB 5950 3330 LET S=S1 3340 GOSUB 9500 3350 GOSUB 7400 3360 GOTO 3270 3370 LET V7=0 3371 IF V[5] <> 0 THEN 3300 3372 GOSUB 7000 3380 GOTO 3270 3400 GOSUB 9700 3410 READ #INT(S0/8)+1,1 3420 IF S[S]=52 THEN 3400 3430 GOTO 1000 3650 LET V3=0 3660 GOSUB 9500 3662 LET M8=V[3] 3670 IF S[S] <> 20 THEN 3710 3680 LET V6=-1 3690 LET M[500]=0 3700 LET V3=1 3710 LET S=S+1 3720 LET V4=S[S] 3730 LET V5=S[S+1] 3740 IF S[S+2] <> 17 THEN 3760 3750 LET V6=S[S+3] 3760 GOSUB 9025 3770 GOSUB 9000 3774 GOSUB 9050 3780 IF M2 <> V5 THEN 3800 3790 GOTO V4 OF 3810,3810,1000 3800 GOTO V4 OF 3880,1000,3810 3810 LET M[500]=M[500]+V3 3820 IF V6=-1 THEN 3890 3870 LET M2=V6 3880 GOSUB 9100 3890 LET M8=M8-1 3892 IF M8>0 THEN 3770 3894 GOTO 1000 3900 FOR J=1 TO 3 3920 IF J[J,1]=0 THEN 3940 3930 NEXT J 3940 LET P9=J[J,1]=J[J,2]=S[2] 3942 LET J[J,11]=F7+P8*1000 3950 IF S[3] <> 38 THEN 3980 3960 LET S=S+3 3970 LET J[J,2]=S[5] 3980 LET S=S+2 3982 LET P[J[J,2],2]=-J 3990 IF S[S]=40 THEN 4140 4000 IF S[S]=50 THEN 4050 4010 IF S[S]=97 THEN 4120 4030 LET J[J,3]=1 4040 GOTO 1200 4050 GOSUB 5950 4070 LET J[J,3]=2 4080 LET M5=0 4090 GOSUB 6600 4100 LET J[J,4]=V9 4110 GOTO 4340 4120 LET J[J,3]=3 4122 LET J[J,4]=S+1 4130 GOTO 4370 4140 LET J[J,4]=1 4141 LET J[J,3]=4 4150 LET J0=5 4160 LET S=S+1 4170 LET J[J,J0]=S*200 4180 GOSUB 9500 4182 LET J[J,J0]=J[J,J0]+S 4190 GOSUB 5950 4192 LET J[J,J0+1]=S 4194 GOSUB 9500 4210 LET J[J,J0+1]=J[J,J0+1]*200+S 4220 LET S=INT(J[J,J0]/200) 4230 GOSUB 9500 4240 GOSUB 7400 4250 LET S=FNE(J[J,J0+1]) 4270 GOSUB 5000 4280 IF S[S]#41 THEN 4312 4290 LET J0=J0+2 4300 LET J[J,4]=J[J,4]+1 4310 GOTO 4160 4312 LET J0=5 4314 GOTO 4490 4320 LET P9=J[J,1] 4330 GOTO J[J,3] OF 4650,4340,4370,4400 4340 LET J[J,4]=J[J,4]-1 4350 IF J[J,4] >= 0 THEN 1200 4360 GOTO 4650 4370 LET S=J[J,4] 4380 GOSUB 5000 4390 GOTO V9+1 OF 1200,4650 4400 LET J0=J[J,4]*2+3 4410 LET S=INT(J[J,J0+1]/200) 4420 GOSUB 5950 4440 LET S=INT(J[J,J0]/200) 4450 GOSUB 5950 4470 GOSUB 7700 4480 GOSUB 7400 4490 LET S=FNE(J[J,J0+1]) 4492 LET Q=0 4500 GOSUB 5000 4510 IF V9=1 THEN 4550 4520 IF J0=J[J,4]*2+3 THEN 1200 4530 LET J0=J0+2 4540 GOTO 4490 4550 IF J0=5 THEN 4650 4560 LET S=FNE(J[J,J0]) 4562 LET Q=0 4570 GOSUB 5950 4590 LET S=INT(J[J,J0]/200) 4600 GOSUB 9500 4610 GOSUB 7400 4620 LET J0=J0-2 4630 GOTO 4410 4650 LET P[J[J,2],2]=J[J,1]=0 4660 GOTO 1000 4700 GOSUB 9700 4712 LET M8=V[5] 4714 LET M=V[7] 4720 READ #INT(S0/8)+1;M$ 4750 GOSUB 8200 4752 IF S[S]=83 THEN 1050 4760 GOTO 1000 4800 GOSUB 9500 4820 LET M=V[2] 4830 LET M8=V[3] 4840 GOSUB 8350 4850 GOSUB 9700 4851 LET S2=INT(S0/8)+1 4852 IF S[S] <> 76 THEN 4860 4854 GOSUB 4880 4860 PRINT #S2;M$, END 4864 IF S[S] <> 75 THEN 4870 4866 GOSUB 4880 4870 IF S[S]=80 THEN 1050 4872 GOTO 1000 4880 LET S=S+1 4890 GOSUB 5950 4900 FOR I=1 TO Q[1,2]-1 4902 PRINT #S2;" ", END 4904 NEXT I 4906 RETURN 5000 GOSUB 9500 5020 GOTO V[1]+1 OF 5100,5100,5030,5060,5060,5100,5100 5030 IF S[S]=53 THEN 5100 5060 GOSUB 6000 5062 GOSUB 8400 5070 GOSUB 7860 5080 LET V9=SGN(Q[Q,1]*1.E+06+Q[Q,2]) 5090 GOTO 5140 5100 LET M8=V[3] 5110 LET M=V[2] 5120 IF S[S]=53 THEN 5220 5130 GOSUB 8500 5132 LET S=S+1 5140 IF V9+3 <> S[S] THEN 5170 5150 LET V9=1 5160 GOTO 5180 5170 LET V9=0 5180 IF S[S] <> 1 THEN 5210 5190 LET S=S+1 5200 LET V9=1-V9 5210 LET S=S+1 5212 RETURN 5220 GOSUB 9000 5222 LET S=S+2 5230 FOR V0=1 TO M8 5240 GOSUB 9050 5250 IF S[S-1]=6 THEN 5270 5260 IF NOT (M2=11 OR M2=13 OR (M2 >= 16 AND M2<26)) THEN 5170 5262 GOTO 5280 5270 IF M2<33 OR M2>58 OR M2=0 THEN 5170 5280 NEXT V0 5290 GOTO 5150 5950 GOSUB 9500 6000 GOTO V[1]+1 OF 6020,6060,6020,6120,6150,6060 6020 LET M=V[2] 6022 LET Q[Q+1,3]=V[4] 6030 LET M8=V[3] 6040 GOTO 6200 6060 LET E9=1 6070 GOTO 1500 6100 GOTO 6500 6120 LET M=INT(V[2]/3) 6130 LET M8=V[3] 6132 LET Q[Q+1,3]=V[4] 6140 GOTO 6100 6150 LET M=V[2] 6160 LET M8=6 6161 LET Q[Q+1,3]=0 6170 GOTO 6500 6200 GOSUB 9000 6220 LET V0=V5=V6=V2=V3=0 6230 LET V1=1 6240 FOR V4=1 TO M8 6242 GOSUB 9050 6250 IF M2 >= 16 THEN 6330 6260 GOTO M2-10 OF 6390,6270,6290,6310 6262 IF M2=0 THEN 6340 6270 LET E9=3 6280 GOTO 1500 6290 LET V1=-1 6300 GOTO 6390 6310 LET V5=1 6320 GOTO 6390 6330 IF M2 <= 25 THEN 6340 6332 IF M2>35 THEN 6270 6334 LET M2=M2-10 6336 LET V1=-1 6340 LET V3=V3*10+INT(V2/100000.) 6350 LET V2=V2-INT(V2/100000.)*100000. 6360 LET V2=10*V2+(M2-16 MAX 0) 6370 LET V0=V0+1 6380 LET V6=V6+V5 6390 NEXT V4 6400 LET Q=Q+1 6410 LET Q[Q,1]=V3*V1 6420 LET Q[Q,2]=V2*V1 6422 IF V[1]=2 THEN 6440 6430 LET Q[Q,3]=V6 6440 RETURN 6500 LET Q=Q+1 6520 IF M8>6 THEN 6560 6530 LET Q[Q,1]=0 6540 LET Q[Q,2]=M[M] 6550 RETURN 6560 LET Q[Q,1]=M[M] 6570 LET Q[Q,2]=M[M+1] 6580 RETURN 6600 LET V0=10^(M5-Q[Q,3]) 6620 LET V8=Q[Q,1]*V0 6630 LET V9=INT(Q[Q,2]*V0+R) 6640 GOTO SGN(V0-1)+2 OF 6680,6670,6650 6650 LET V8=V8+INT(V9/1.E+06) 6660 LET V9=V9-INT(V9/1.E+06)*1.E+06 6662 LET V0=INT((SGN(V8)-SGN(V9)+1.6)/3.5) 6664 LET V8=V8-V0 6666 LET V9=V9+V0*1.E+06 6670 RETURN 6680 LET V9=V9+(V8-INT(V8))*1.E+06 6690 LET V8=INT(V8) 6692 GOTO 6650 6700 GOSUB 6600 6710 PRINT V8;V9;M8;M;N 6720 IF M8>6 THEN 6740 6730 LET M[M]=V9 6732 RETURN 6740 LET M[M]=V8 6742 LET M[M+1]=V9 6744 RETURN 6800 GOSUB 9025 6812 LET M2=0 6820 IF V9+V8 >= 0 THEN 6900 6830 IF V[1]=2 THEN 6890 6840 LET M2=13 6850 GOSUB 9100 6860 LET M8=M8-1 6870 LET M2=0 6880 GOTO 6900 6890 LET M2=10 6900 GOSUB 9150 6910 IF V8+V9=0 AND V[6]/4 >= 1 THEN 6950 6940 LET M2=M2+V0+16 6950 GOSUB 9100 6960 LET M2=0 6970 LET M8=M8-1 6980 IF M8>0 THEN 6900 6990 RETURN 7000 LET M8=V[5] 7004 LET M6=M 7005 LET M=V[2] 7006 GOSUB 9025 7007 LET M=M6 7008 IF M80 THEN 7694 7010 LET V3=7 7012 LET V2=V6=0 7020 LET V1=V[V3] 7030 IF V1=33 OR V1=56 OR V1=25 THEN 7110 7040 IF V1=51 OR V1=48 OR V1=55 THEN 7150 7050 IF V1=12 OR V1=16 OR V1=14 THEN 7200 7060 IF V1=34 THEN 7190 7070 IF V1=11 OR V1=13 OR V1=4 THEN 7220 7080 IF V1=35 OR V1=36 THEN 7260 7090 IF V1=58 OR V1=10 THEN 7350 7100 RETURN 7110 GOSUB 9200 7120 LET V6=V6 MAX M2-16 7140 GOSUB 9100 7150 LET V3=V3+1 7160 GOTO 7020 7170 LET M8=M8-1 7190 LET V1=0 7200 LET M2=V1 7210 GOTO 7140 7220 IF V6 <> 0 THEN 7110 7221 IF V1 <> V[V3+1] THEN 7224 7222 IF V7= 0) OR (V1=13 AND V8+V9<0) THEN 7200 7226 IF V1 <> 11 THEN 7190 7230 LET V1=13 7240 GOTO 7200 7260 IF V8+V9<0 OR V1=36 THEN 7300 7280 LET V[V+1]=34 7290 GOTO 7190 7300 LET M2=V1 7310 GOSUB 9100 7320 LET V3=V3+1 7330 LET M2=V[V3] 7340 GOTO 7140 7350 GOSUB 9200 7360 IF M2 <> 16 OR V6 <> 0 THEN 7120 7380 IF V1=10 THEN 7200 7390 GOTO 7190 7400 LET M5=V[4] 7402 GOSUB 6600 7404 GOSUB 9300 7406 IF E0=1 OR V7>V[5] THEN 7694 7407 IF V[6]/2 <> INT(V[6]/2) THEN 7410 7408 LET V8=ABS(V8) 7409 LET V9=ABS(V9) 7410 GOTO V[1]+1 OF 7420,7480,7420,7600,7660,6060 7420 LET M=V[2] 7450 LET M8=V[3] 7460 GOTO 6800 7480 LET M8=V[3] 7492 IF V8+V9=0 AND V[6]/4 >= 1 THEN 7420 7500 GOTO 7000 7600 LET M=INT(V[2]/3) 7630 LET M8=V[3] 7640 GOSUB 6720 7650 RETURN 7660 LET M=V[2] 7670 LET M8=6 7684 GOTO 6720 7694 LET E0=1 7696 RETURN 7700 LET V7=1 7720 LET M5=Q[Q,3] MAX Q[Q-1,3] 7730 GOSUB 6600 7740 LET V1=V8 7750 LET V2=V9 7760 LET Q=Q-1 7770 GOSUB 6600 7780 LET V1=V8+V7*V1 7790 LET V2=V9+V7*V2 7800 LET V1=V1+INT(V2/1.E+06) 7802 LET V2=V2-INT(V2/1.E+06)*1.E+06 7804 LET V7=INT((SGN(V1)-SGN(V2)+1.6)/3.5) 7806 LET Q[Q,1]=V1-V7 7808 LET Q[Q,2]=V2+V7*1.E+06 7820 LET Q[Q,3]=M5 7830 RETURN 7850 GOSUB 9550 7860 LET V7=-1 7870 GOTO 7720 7900 LET V3=INT(Q[Q,2]/1000) 7920 LET V4=Q[Q,2]-V3*1000 7930 LET V5=INT(Q[Q-1,2]/1000) 7940 LET V6=Q[Q-1,2]-V5*1000 7950 LET V2=V4*V6+1000*FND(V3*V6+V4*V5) 7960 LET V1=INT((V3*V6+V4*V5)/1000)+V3*V5+V6*Q[Q,1] 7970 LET V1=V1+V4*Q[Q-1,1]+1000*(V3*Q[Q-1,1]+V5*Q[Q,1]) 7980 LET V1=V1+1.E+06*Q[Q,1]*Q[Q-1,1] 7982 LET M5=Q[Q,3]+Q[Q-1,3] 7984 LET Q=Q-1 7990 GOTO 7800 8000 GOSUB 9550 8010 GOSUB 9400 8020 IF V9=0 THEN 7694 8060 LET Q=Q-1 8062 LET V1=Q[Q,1]/V9*10 8070 LET V2=(Q[Q,2]/V9+(V1-INT(V1))*1.E+06)*10 8080 LET V1=INT(V1) 8090 LET M5=Q[Q,3]-M5+1 8092 GOTO 7800 8094 LET E0=1 8100 GOSUB 9550 8110 GOSUB 9400 8160 LET V0=M5 8170 LET Q=Q-1 8180 LET V2=V9 8190 GOSUB 9400 8192 LET V1=0 8194 LET V2=V9^V2 8196 LET M5=M5*V0 8198 GOTO 7800 8200 GOSUB 9025 8220 FOR I0=1 TO M8 8222 LET M2=0 8224 IF I0>LEN(M$) THEN 8250 8230 LET Y$=M$[I0,I0] 8240 GOSUB 8300 8242 LET M2=M2-1 8250 GOSUB 9100 8260 NEXT I0 8270 RETURN 8280 LET Q[Q-1,2]=(Q[Q-1,2]-1)*S[S+1] 8284 LET S=S+1 8286 GOTO 7700 8300 FOR M2=1 TO 64 8320 IF C$[M2,M2]=Y$ THEN 8348 8330 NEXT M2 8348 RETURN 8350 GOSUB 9000 8362 LET M$="" 8370 FOR I0=1 TO M8 MIN 72 8380 GOSUB 9050 8390 LET M$[I0,I0]=C$[M2+1,M2+1] 8392 NEXT I0 8394 RETURN 8400 IF S[S] <> 50 THEN 8450 8420 GOSUB 5950 8440 GOTO 8400 8450 IF S[S]=53 THEN 8490 8460 GOSUB S[S] OF 8100,8010,7900,7860,7700,8280 8470 LET S=S+1 8480 GOTO 8400 8490 LET S=S+1 8492 RETURN 8500 GOSUB 9025 8520 LET V4=M 8530 LET V5=M0 8540 GOSUB 9500 8550 LET M=V[2] 8560 LET M7=V[3] 8570 GOSUB 9025 8580 LET V2=M 8590 LET V3=M0 8600 LET M=V4 8602 LET M0=V5 8604 GOSUB 8670 8606 LET M3=M2 8612 LET V5=M0 8614 LET V4=M 8616 LET M=V2 8618 LET M0=V3 8620 GOSUB 8690 8622 LET V2=M 8624 LET V3=M0 8630 LET V9=SGN(M2-M3) 8640 IF V9 <> 0 THEN 8660 8650 IF M7+M8 <> 0 THEN 8600 8660 RETURN 8670 LET M8=M8-1 8672 IF M8 >= 0 THEN 9050 8674 LET M2=0 8676 RETURN 8690 LET M7=M7-1 8692 IF M7 >= 0 THEN 9050 8694 GOTO 8674 8750 IF V[1] <> 0 OR V[6]-INT(V[6]/4)*4<2 THEN 8800 8780 LET M2=0 8782 FOR I=1 TO M8-M7 8784 GOSUB 9100 8786 NEXT I 8790 LET M8=M7 8800 FOR I=1 TO M8 8810 GOSUB 8690 8860 GOSUB 9100 8870 NEXT I 8880 RETURN 9000 LET M0=1 9002 IF M>0 THEN 9010 9004 LET M0=2 9006 LET M=V[3] 9010 RETURN 9025 LET M4=FNF(M) 9040 LET M3=INT((M-1)/3) 9042 RETURN 9050 GOTO M0 OF 9070,9062 9062 LET M2=M 9064 RETURN 9070 LET M2=FNM(M) 9080 LET M=M+1 9090 RETURN 9100 GOTO M4 OF 9120,9130,9140 9120 LET M[M3]=FNB(M[M3])+M2*4096 9122 GOTO 9144 9130 LET M[M3]=FNA(M[M3])+M2*64+INT(M[M3]/4096)*4096 9132 GOTO 9144 9140 LET M[M3]=INT(M[M3]/64)*64+M2 9142 LET M3=M3+1 9143 LET M4=0 9144 LET M4=M4+1 9145 RETURN 9150 IF M8>6 THEN 9190 9170 LET V0=FNC(ABS(V9)/10^(M8-1)) 9180 RETURN 9190 LET V0=FNC(ABS(V8)/10^(M8-7)) 9192 RETURN 9200 REM GET NEXT CHAR..>M2 9202 IF V2=0 THEN 9210 9204 LET M2=V2 9206 LET V2=0 9208 RETURN 9210 IF M8 <= 0 THEN 9050 9220 GOSUB 9150 9230 LET M8=M8-1 9240 LET M2=V0+16 9250 RETURN 9300 LET I0=V8*1.E+06+V9 9350 FOR V7=1 TO 20 9360 IF I0<10^V7 THEN 9390 9380 NEXT V7 9390 RETURN 9400 LET M5=Q[Q,3] 9420 GOSUB 6600 9430 IF V8=0 THEN 9448 9440 LET M5=M5-1 9442 GOTO 9400 9448 RETURN 9500 S0=S[S+1] 9503 IF S0=0 THEN 9750 9504 LET V[1]=INT(Y[S0]/100000.) 9506 LET V[3]=INT(Y[S0+1]/2000) 9508 LET V[2]=Y[S0+1]-V[3]*2000 9510 LET V[4]=INT((Y[S0]-V[1]*100000.)/1000)-20 9512 LET V[5]=INT((Y[S0]-INT(Y[S0]/1000)*1000)/10) 9514 LET V[6]=Y[S0]-INT(Y[S0]/10)*10 9516 IF V[1] <> 1 THEN 9530 9518 FOR V9=0 TO 22 9520 LET V[7+V9]=FNA(INT(Y[S0+2+INT(V9/3)]/64^(3-FNF(V9+1)))) 9522 NEXT V9 9530 IF V[1] <> 2 THEN 9540 9532 LET V[7]=0 9540 LET S=S+2 9542 RETURN 9550 FOR V0=1 TO 3 9570 LET V1=Q[Q,V0] 9580 LET Q[Q,V0]=Q[Q-1,V0] 9590 LET Q[Q-1,V0]=V1 9592 NEXT V0 9594 RETURN 9600 LET R=0 9620 IF S[S] <> 6 THEN 9640 9630 LET R=.5 9632 LET S=S+1 9640 RETURN 9650 GOSUB 5950 9670 LET M5=0 9680 GOSUB 6600 9690 RETURN 9700 LET S=S+2 9704 LET S0=S[S-1] 9705 FOR V9=1 TO 8 9706 LET V[V9]=Y[S0+V9-1] 9707 NEXT V9 9720 IF END #INT(S0/8)+1 THEN 9780 9730 IF V[1] <> 1 THEN 9742 9740 READ #INT(S0/8)+1,M[V[2]] 9742 RETURN 9750 LET K1=S[S+2] 9752 LET S=S+3 9754 GOSUB 8400 9756 LET S=S-2 9758 LET S0=K1 9760 GOSUB 9504 9762 LET V9=(Q[Q,2]-1)*V[3] 9764 LET V[2]=V[2]+V9 9766 IF V[2]+V[3]<1504 THEN 9770 9767 LET E9=6 9769 GOTO 1500 9770 LET Q=Q-1 9772 RETURN 9780 IF S[S]=83 OR S[S]=80 THEN 1000 9782 LET E9=5 9784 GOTO 1500 9999 END