Listing of file='BDIAG12' on disk='vmedia/mvp-diag-3.5.wvd.zip'
# Sector 810, program filename = 'BDIAG12' 0020 PRINT AT(12,00);"NUM,POS........ <-- TESTING", 0080 S=SPACE 0090 DIM A$1,B$20,C$(513)1 0100 FOR I=1TO 7 : READ A$,X : IF NUM(A$)<>XTHEN 8990 : NEXT I 0110 DATA " ",0,".",0,"E",0,"+",0,"-",0,"0",1,"9",1 0120 FOR I=1TO 13 : STR(B$,I)="0A" : IF NUM(B$)<>ITHEN 8990 : NEXT I 0130 READ N : FOR I=1TO N : READ B$,X : IF NUM(B$)<>XTHEN 8990 : NEXT I 0140 DATA 31 : DATA "0+",1,"123-",3," 0 00123 E",9," . 0 E+",5,"0..1",2,".000123.",7,".0 000000000001+2",14,"..1",0,"123456.7890123.",14,"12345.+",6,"00.000-",6," +0-1",2,"-12345A",6,"+-123",0,"+123.4567890123E",15,"+.0.",3,"+12.A",4 0150 DATA "E1",0,"1E2.",3,"1234567890123E+01-",17,"9E-99E",5,".1E+9E",5,"1.E-9 .1",5,"+123.4567890123E1A",17,"12345678901234",13,"1.2E123",6,"+",0,".",0 ,"-",0,"-E1",0,".E1",0 0200 C$()=" " : IF NUM(C$())<>0THEN 8990 0210 C$(513)="1" : IF NUM(C$())<>513THEN 8990 : IF NUM(STR(C$(),1,512))<>0THEN 8990 0300 STR(C$(),257)=ALL(FF) : FOR I=1TO 256 : C$(I)=BIN(I-1) : NEXT I 0310 FOR I=2TO 225 : A$=BIN(I-1) 0320 IF POS(C$()=A$)<>IOR POS(C$()<=A$)<>1OR POS(C$()<A$)<>1OR POS(C$()>=A$)<> IOR POS(C$()>A$)<>I+1OR POS(C$()<>A$)<>1THEN 8990 0325 IF POS(-C$()=A$)<>IOR POS(-C$()<=A$)<>IOR POS(-C$()<A$)<>I-1OR POS(-C$()> =A$)<>513OR POS(-C$()>A$)<>513OR POS(-STR(C$(),1,256)<>A$)<>256THEN 8990 0330 NEXT I 0400 A$,B$=" " : IF POS(A$=" ")<>1OR POS(A$=21)<>0OR POS(A$=60)<>0THEN 8990 : IF POS(A$<" ")<>0OR POS(A$<21)<>1THEN 8990 : IF POS(A$<=" ")<>1OR POS(A$<=21)<>1OR POS(A$<=1F)<>0THEN 8990 : IF POS(A$>=" ")<>1OR POS(A$>=1F)<>1OR POS(A$>=21)<>0THEN 8990 : IF POS(A$>" ")<>0OR POS(A$>1F)<>1THEN 8990 : IF POS(A$<>" ")<>0OR POS(A$<>21)<>1THEN 8990 0410 IF POS(B$=" ")<>1OR POS(B$=21)<>0OR POS(B$=60)<>0THEN 8990 : IF POS(B$<" ")<>0OR POS(B$<21)<>1THEN 8990 : IF POS(B$<=" ")<>1OR POS(B$<=21)<>1OR POS(B$<=1F)<>0THEN 8990 : IF POS(B$>=" ")<>1OR POS(B$>=1F)<>1OR POS(B$>=21)<>0THEN 8990 : IF POS(B$>" ")<>0OR POS(B$>1F)<>1THEN 8990 : IF POS(B$<>" ")<>0OR POS(B$<>21)<>1THEN 8990 0420 IF POS(-A$=" ")<>1OR POS(-A$<>20)<>0THEN 8990 0430 IF POS(-B$=20)<>20OR POS(-B$<HEX(20))<>0THEN 8990 0440 B$="BAAABCCCCBACACAC" : IF POS(B$="B")<>1OR POS(-B$="B")<>10OR POS(STR(B$,2)="B")<>4OR POS(STR(B$ ,5)="B")<>1OR POS(-STR(B$,1,9)="B")<>5THEN 8990 0450 B$=HEX(A1BC) : IF POS(-B$=A1)<>1OR POS(B$=BC)<>2THEN 8990 8980 I=SPACE : IF I=STHEN 9000 8990 E(12)=E(12)+1 9000 PRINT AT(12,16,16); : IF E(12)=0THEN PRINT "OK" : ELSE PRINT E(12);"ERRORS" 9010 LOAD DC T"BDIAG13 "