10
20
30
40
50 :
60 DIM mem% 15
70 ok%=TRUE:ON ERROR ok%=FALSE:ON ERROR OFF
80 IF ok%:$$mem%="":A$=$$mem%
90 PRINT"$$<addr> "FNnot(ok%)
100 :
110 ok%=TRUE:ON ERROR ok%=FALSE:ON ERROR OFF
120 IF ok%:DIM str{a,b}
130 PRINT"DIM structure{..} "FNnot(ok%)
140 :
150 ok%=TRUE:ON ERROR ok%=FALSE:ON ERROR OFF
160 IF ok%:DIM one{a,b}:DIM two{}=one{}
170 PRINT"DIM one{}=two{} prototyping "FNnot(ok%)
180 :
190 ok%=TRUE:ON ERROR ok%=FALSE:ON ERROR OFF
200 IF ok%:FOR A%=1 TO 2:EXIT FOR
210 IF ok%:NEXT A%
220 PRINT"EXIT FOR "FNnot(ok%)
230 :
240 ok%=TRUE:ON ERROR ok%=FALSE:ON ERROR OFF
250 IF ok%:FOR A%=1 TO 2:FOR B%=1 TO 2:EXIT FOR A%
260 IF ok%:NEXT B%:NEXT A%
270 PRINT"EXIT FOR <var> "FNnot(ok%)
280 :
290 ok%=TRUE:ON ERROR ok%=FALSE:ON ERROR OFF
300 IF ok%:REPEAT:EXIT REPEAT
310 IF ok%:UNTIL TRUE
320 PRINT"EXIT REPEAT "FNnot(ok%)
330 :
340 ok%=TRUE:ON ERROR ok%=FALSE:ON ERROR OFF
350 IF ok%:A%=1:WHILE A%=1:EXIT WHILE
360 IF ok%:A%=A%-1:ENDWHILE
370 PRINT"EXIT WHILE "FNnot(ok%)
380 :
390 ok%=TRUE:ON ERROR ok%=FALSE:ON ERROR OFF
400 IF ok%:PLOT 0,0
410 PRINT"PLOT x,y "FNnot(ok%)
420 :
430 ok%=TRUE:ON ERROR ok%=FALSE:ON ERROR OFF
440 IF ok%:PRINT"Press space...";:PROCprivate
450 PRINTCHR$13;"PRIVATE "FNnot(ok%)
460 :
470 ok%=TRUE:ON ERROR ok%=FALSE:ON ERROR OFF
480 IF ok%:A%=^PROCpr:PROC(A%)
490 PRINT"PROC(<addr>) "FNnot(ok%)
500 :
510 ok%=TRUE:ON ERROR ok%=FALSE:ON ERROR OFF
520 IF ok%:PROCpcall(PROCpr):PROCfcall(FNfn)
530 PRINT"PROCcall(PROCname|FNname) "FNnot(ok%)
540 :
550 ok%=TRUE:ON ERROR ok%=FALSE:ON ERROR OFF
560 IF ok%:A%=FNpcall(PROCpr):A%=FNfcall(FNfn)
570 PRINT"FNcall(PROCname|FNname) "FNnot(ok%)
580 :
590 ok%=TRUE:ON ERROR ok%=FALSE:ON ERROR OFF
600 IF ok%:RECTANGLE SWAP 0,0,0,0 TO 0,0
610 PRINT"RECTANGLE SWAP "FNnot(ok%)
620 :
630 ok%=TRUE:ON ERROR ok%=FALSE:ON ERROR OFF
640 IF ok%:WAIT 0
650 PRINT"WAIT <num> "FNnot(ok%)
660 :
670 ok%=TRUE:ON ERROR ok%=FALSE:ON ERROR OFF
680 IF ok%:PROCline
690 PRINT"\ line continuation "FNnot(ok%)
700 :
710 ok%=TRUE:ON ERROR ok%=FALSE:ON ERROR OFF
720 IF ok%:one.a=1
730 PRINT"structure assignment "FNnot(ok%)
740 :
750 ok%=TRUE:ON ERROR ok%=FALSE:ON ERROR OFF
760 IF ok%:A%=DIM(one{})
770 PRINT"=DIM(struct{}) "FNnot(ok%)
780 :
790 ok%=TRUE:ON ERROR ok%=FALSE:ON ERROR OFF
800 IF ok%:A%=^FNfn:A%=FN(A%)
810 PRINT"FN(<addr>) "FNnot(ok%)
820 :
830 ok%=TRUE:ON ERROR ok%=FALSE:ON ERROR OFF
840 IF ok%:A%=^A%
850 PRINT"^ address-of "FNnot(ok%)
860 :
870 ok%=TRUE:ON ERROR ok%=FALSE:ON ERROR OFF
880 IF ok%:A%=one.a
890 PRINT"reading structure content "FNnot(ok%)
900 :
910 ok%=TRUE:ON ERROR ok%=FALSE:ON ERROR OFF
920 IF ok%:A%=1:A%*=2
930 IF ok%:IF A%<>2:ok%=0
940 PRINT"*= "FNnot(ok%)
950 :
960 ok%=TRUE:ON ERROR ok%=FALSE:ON ERROR OFF
970 IF ok%:A%=4:A%/=2
980 IF ok%:IF A%<>2:ok%=0
990 PRINT"/= "FNnot(ok%)
1000 :
1010 ok%=TRUE:ON ERROR ok%=FALSE:ON ERROR OFF
1020 IF ok%:A%=7:A%AND=2
1030 IF ok%:IF A%<>2:ok%=0
1040 PRINT"AND= "FNnot(ok%)
1050 :
1060 ok%=TRUE:ON ERROR ok%=FALSE:ON ERROR OFF
1070 IF ok%:A%=4:A%OR=2
1080 IF ok%:IF A%<>6:ok%=0
1090 PRINT"OR= "FNnot(ok%)
1100 :
1110 ok%=TRUE:ON ERROR ok%=FALSE:ON ERROR OFF
1120 IF ok%:A%=6:A%EOR=2
1130 IF ok%:IF A%<>4:ok%=0
1140 PRINT"EOR= "FNnot(ok%)
1150 :
1160 ok%=TRUE:ON ERROR ok%=FALSE:ON ERROR OFF
1170 IF ok%:A%=10:A%MOD=6
1180 IF ok%:IF A%<>4:ok%=0
1190 PRINT"MOD= "FNnot(ok%)
1200 :
1210 ok%=TRUE:ON ERROR ok%=FALSE:ON ERROR OFF
1220 IF ok%:A%=10:A%DIV=3
1230 IF ok%:IF A%<>3:ok%=0
1240 PRINT"DIV= "FNnot(ok%)
1250 :
1260 ok%=TRUE:ON ERROR ok%=FALSE:ON ERROR OFF
1270 IF ok%:PRINT"Press space...";:OSCLI"FX138,0,127":A$=GET$(0,0)
1280 PRINTCHR$13;"GET$(x,y) "FNnot(ok%)
1290 :
1300 ok%=TRUE:ON ERROR ok%=FALSE:ON ERROR OFF
1310 IF ok%:PRINT"Press space...";:OSCLI"FX138,0,127":A%=GET(0,0)
1320 PRINTCHR$13;"GET(x,y) "FNnot(ok%)
1330 :
1340 ok%=TRUE:ON ERROR ok%=FALSE:ON ERROR OFF
1350 IF ok%:PRINT"Press space...";:OSCLI"FX138,0,127":A%=GET(0)
1360 PRINTCHR$13;"GET(x) "FNnot(ok%)
1370 :
1380 ok%=TRUE:ON ERROR ok%=FALSE:ON ERROR OFF
1390 IF ok%:A%=&o100
1400 PRINT"&o octal constants "FNnot(ok%)
1410 :
1420 ok%=TRUE:ON ERROR ok%=FALSE:ON ERROR OFF
1430 IF ok%:A$=STR$=100
1440 PRINT"STR$=<num> octal conversion "FNnot(ok%)
1450 :
1460 ok%=TRUE:ON ERROR ok%=FALSE:ON ERROR OFF
1470 IF ok%:A$=STR$/100
1480 PRINT"STR$/<num> binary conversion "FNnot(ok%)
1490 :
1500 END
1510 DEFFNnot(A%)=STRING$(30-POS,".")+LEFT$("not ",NOTA%)+"available"
1520 DEFPROCprivate:PRIVATE a%:ENDPROC
1530 DEFPROCpr:ENDPROC
1540 DEFFNfn=1
1550 DEFPROCline:\ comment
1560 \ ENDPROC
1570 DEFPROCpcall(RETURN p%)
1580 PROC(^p%)
1590 ENDPROC
1600 DEFPROCfcall(RETURN p%)
1610 A%=FN(^p%)
1620 ENDPROC
1630 DEFFNpcall(RETURN p%)
1640 PROC(^p%)
1650 =0
1660 DEFFNfcall(RETURN p%)
1670 A%=FN(^p%)
1680 =A%