10 GOSUB10000:GOSUB9000:T1=TI:GOTO30 20 PC=PC+1:PB=PEEK(PC):RETURN 30 LA=PEEK(PC)+PEEK(PC+1)*256 40 IFLA=0THENPC=PC+2:T2=TI:GOTO1000 50 PC=PC+4:NL=NL+1:PB=PEEK(PC) 55 LN=PEEK(PC-2)+PEEK(PC-1)*256:PRINT"";LN 60 IFPB=0THENPC=PC+1:GOTO30 70 IFPB=34GOTO150 90 IFPB<128GOTO200 100 PB=PBAND127:TK(PB)=TK(PB)+1:NT=NT+1 110 IFPB=3GOTO300 115 IFPB=15GOTO350 120 GOSUB20:GOTO60 130 : 150 GOSUB20:IFPB=34GOTO200 160 IFPB=0GOTO60 170 GOTO150 200 IFPB>64ANDPB<91THENGOSUB400:GOTO60 210 GOSUB20:GOTO60 220 : 300 GOSUB20:IFPB=0GOTO60 310 IFPB=58THENGOSUB20:GOTO60 320 GOTO300 330 : 350 GOSUB20:IFPB=0GOTO60 360 GOTO350 400 X=0:VR$="":VR$=CHR$(PB) 410 GOSUB20 420 IFPB>64ANDPB<91THENVR$=VR$+CHR$(PB):GOTO410 425 IFPB>47ANDPB<58THENVR$=VR$+CHR$(PB):GOTO410 430 IFPB=36ORPB=37THENVR$=VR$+CHR$(PB):GOSUB20 440 IFVN$(X)=""THENVN$(X)=VR$:VA(X)=VA(X)+1:NV=NV+1:RETURN 450 IFVN$(X)=VR$THENVA(X)=VA(X)+1:RETURN 460 X=X+1:IFX<50GOTO440 470 RETURN 1000 PRINT"[147] -- PROGRAM STATISTICS --" 1005 PRINT" PROGRAM NAME = ";NM$ 1010 PRINT" PROGRAM SIZE =";PC-2049 1020 PRINT" NO OF LINES =";NL 1030 PRINT" NO OF COMMANDS =";NT 1035 PRINT" NO OF VARIABLES =";NV 1040 GOSUB1150 1060 X=0:PRINT"[147]- COMMANDS -" 1070 FORI=0TO127:IFTK(I)=0ANDI>74THENNEXT:GOTO1120 1075 IFTK(I)=0THENGOSUB3000:NEXT:GOTO1120 1080 X=X+1:IFX<23GOTO1110 1100 GOSUB1150:X=0:PRINT"[147]"; 1110 GOSUB3000:GOSUB3100:NEXT 1120 GOSUB1150:GOTO1200 1140 : 1150 IFPA=1THENRETURN 1160 PRINT" USE ANY KEY TO CONTINUE"; 1170 GETR$:IFR$=""GOTO1170 1180 RETURN 1200 : 1210 PRINT"[147]- VARIABLES -":X=0:J=0 1220 IFX>49GOTO1300 1225 IFVN$(X)=""GOTO1300 1230 PB=LEN(VN$(X)):IFPB>3THENPB=3 1240 ONPBGOTO1250,1260,1270 1250 PRINTVN$(X);" =";:GOTO1280 1260 PRINTVN$(X);" =";:GOTO1280 1270 PRINTVN$(X);"="; 1280 PRINTVA(X) 1290 X=X+1:J=J+1:IFJ<22GOTO1220 1294 J=0:GOSUB1150 1298 PRINT"[147]";:GOTO1220 1300 PRINT" R=RE-DISPLAY, X=END, P=PRINTER";:CLOSE4:PA=0 1310 GETR$:IFR$=""GOTO1310 1320 IFR$="R"GOTO1510 1330 IFR$="X"GOTO2000 1340 IFR$="P"THENCLOSE4:GOTO1500 1350 GOTO1310 1500 OPEN4,4:CMD4:PA=1 1510 X=0:TN=41118:GOTO1000 1990 : 2000 PRINT"[147]TIME TAKEN=";(T2-T1)/60:END 2990 : 3000 TN$="":PB=PEEK(TN) 3010 IFPB>127THENPB=PBAND127:TN$=TN$+CHR$(PB):TN=TN+1:RETURN 3020 TN$=TN$+CHR$(PB):TN=TN+1:PB=PEEK(TN):GOTO3010 3030 : 3100 J=LEN(TN$):J=7-J:PRINTTN$SPC(J)"=";TK(I):RETURN 9000 : 9020 REM LOAD BASIC PROGRAM AT 2049 9130 : 9140 INPUT"LOAD FROM DISK (Y/N)";R$ 9150 IFR$="N"THENDE=1:GOTO9200 9160 IFR$="Y"THENDE=8:GOTO9200 9170 GOTO9140 9180 : 9200 INPUT"PROGRAM TO BE LOADED==>";NM$ 9210 FL=LEN(NM$) 9220 FORJ=1TOFL:POKE511+J,ASC(MID$(NM$,J,1)):NEXT 9230 : 9300 POKE780,192:SYS65424 9310 POKE780,1:POKE781,DE:POKE782,0 9320 SYS65466 9330 POKE780,FL:POKE781,0:POKE782,2 9340 SYS65469 9350 POKE780,0:POKE781,1:POKE782,8 9360 SYS65493 9370 POKE780,0:SYS65424 9420 : 9430 RETURN 9440 : 10000 PB=0:PC=2049:NB=0:NL=0:LA=0:DIMTK(127):NT=0:NV=0:X=0:J=0:TN=41118:PA=0 10015 DIMVA(49):DIMVN$(49):VR$="":TN$="":R$="":NM$="" 10020 PRINT"[147]":RETURN