Listing of file='BDIAG12' on disk='vmedia/732-0050A.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 "