1 'VARPTR.BA by Robert Benson (3/12/91) 2 'Input any variable and this program 3 'will print out its cell information, 4 'and their addresses. Note: the A in 5 'the print out is the input variable. 10 CLS:CLEAR:B$="DATA @":C$="DATA @":D$="DATA @":P$="PTR* @" 12 PRINT"INTEGER":GOSUB90 14 IF INSTR("Yy",K$)THEN DEFINTA:GOTO30 16 PRINT"SINGLE PERCISION":GOSUB90 18 IF INSTR("Yy",K$)THEN DEFSNGA:GOTO30 20 PRINT"DOUBLE PERCISION":GOSUB90 22 IF INSTR("Yy",K$)THEN DEFDBLA:GOTO30 24 PRINT"STRING":GOSUB90 26 IF INSTR("Yy",K$)THEN DEFSTRA:GOTO30 28 GOTO10 30 CLS:INPUT"ENTER SOMETHING";A 32 I=VARPTR(A):X=I+65536:T=PEEK(I-3) 34 IF T=2 THEN P$="LOW* @":B$="HIGH @" 36 IF T=3 THEN P$="LEN* @":B$="LOW @":C$="HIGH @" 38 PRINT@80,"CELL @"X-4"="PEEK(I-4) 40 PRINT@120,"TYPE @"X-3"="T 42 PRINT@160,"VAR* @"X-2"= "CHR$(PEEK(I-2)) 44 PRINT@200,"CELL @"X-1"="PEEK(I-1) 46 PRINT@240,P$ X"="PEEK(I) 48 PRINT@280,B$ X+1"="PEEK(I+1); 50 IF T=2 GOTO80 52 PRINT@100,C$ X+2"="PEEK(I+2) 54 IF T=3 GOTO70 56 PRINT@140,D$ X+3"="PEEK(I+3) 58 IF T=4 GOTO80 60 PRINT@180,D$ X+4"="PEEK(I+4) 62 PRINT@220,D$ X+5"="PEEK(I+5) 64 PRINT@260,D$ X+6"="PEEK(I+6) 66 PRINT@300,D$ X+7"="PEEK(I+7); 68 GOTO80 70 Z=PEEK(I+2)*256+PEEK(I+1):N=PEEK(I) 72 PRINT@0,"THE STRING STORED @"Z"= "; 74 FOR L=1 TO N 76 B=PEEK(Z):PRINTCHR$(B); 78 Z=Z+1:NEXT 80 GOSUB90:GOTO10 90 K$=INKEY$:IF K$="" GOTO90 92 IF PEEK(1)=171 THEN Q=64798 ELSE Q=65451 94 IF PEEK(Q)=7 THEN MENU ELSE RETURN