TRUFALSASTARTFTVARLINEREFRENCEMEMTOINWAIXXEOVARSECTOVARBYTNVARESTARLINENUCBYTLINEENSTMTENCMVARNUTEMPTEMCHAINCHAINCHARPAGTEMPLINEOTEMP@  !"#$%&KK|BASIC CROSS REFERENCE UTILITY| | WRITTEN BY Jerry Hackett |%%| Seattle Puget-Sound ATARI |%%| Computer Enthusiasts. |%%| PUBLIC DOMAIN |6-@6-2 +@-@@2 @BASIC+-@@+ @VARIABLE4-@@4 @CROSS REFERENCING -@A  OO;@,9A(<@,;@,;@,;@@,;@, B 6-Z@@N IS THE NEXT AVAILABLE MEMORY LOCATION FOR LINKED LISTd$$6-AV$+F:@,%@,iJJMEMTOP IS THE LAST AVAILABLE MEMORY LOCATION FOR THE LINKED LISTj%%6-F:AA,%F:AB,$AVn+6-@+INCREMENT FOR LINKED LISTxJ-@A(.68<@,-F68<@,-6@J }# AA#**ZERO FIRST LINK**GET THE FILE NAME A69! COULDN'T FIND THAT FILE5-@A9  +(((((!! FILE TO CROSS REFERENCE @,67@<@,.D:,67@,. A5  OPENING  @@** READ FIRST 2 BYTES***CHECK FOR 0*)@)@R)=(FILE NOT IN 'BASIC LOAD FORMAT'H@R A6##**READ THE REST OF POINTERS**(-@@$)@( )*READ OFF THE VARIABLES+, 6--==REMEMBER LOCATION OF VARIABLES IN THE FILE FOR LATER.@/$$ >:@(,READING VARIABLES16-6 A@"APJ6-%@T A^G"D(0[}] NO VARIABLES OR CONSTANTS IN THIS PROGRAM[}]Gh-@r-@@|)@  > +@-@> @CROSS REFERENCING.-@. @ LINE NUMBER7 B6-A# B07** HEADER PAGE***READ ALL LINE NUMBERS6-)@)@4A(A 4IMMED. MODE LINE WAS FOUND6-@11X1,X2 ARE LOW AND HIGH BYTES OF LINE NUMBER6-AV$%"-@@" @>>CBYTE IS CURRENT POSITION OF THE READ CURSOR IN THE LINE)@6-%@ !6- A )@)@6-%@##IF COMMAND IS REM READ TO EOL9")"@U# A /6-9 A )@6-%@#"@ A0# A&#"@ A`# A0-@a*@# AP- A:A( A@D!AuN A0** PRINT RESULTS **$$ @END OF FILE REACHED Ap 3 3 3 3--3 REFRENCES MADE TO  VARIABLES3>:@, *READ UNTIL BYTE IS > 128*6- A 226.( )@6-%@"6-$' A(67<,.>:,' A@67<,.>:&A(, ,>:,4,67%@<%@,. )$$B66(.HIT END OF FILE WHILE LOOKING FOR VARIABLES[}]K&""** READ UNTIL END OF LINE ** -)@ $CBYTE CHANGED UPON RETURN ##READ 6 BYTES OF NUMERIC CONST -@@ )@   6-%@ $** ADD LINENUM TO LIST **6-%@6-&A(%@8<@,"$68<@,-58<@,"+68<@,-5 AA@6-8<@,))6-F:%@,%AV$F:%@,6- A@`//FOUND END OF LINKED LIST, INSERT NEW LINK&&%@&P:'AV,$AV"%@P:'AV,,%@P:'AV,1&P:'AV,$AV6+%@+%@@INCREMENT 'NEXT' POINTERJ 6-%T66CHECK TO SEE IF STILL INSIDE AVAILABLE WORKSPACE^T  )%@=%@Q%@T$h OUT OF AVAILABLE MEMORYr''** READ LEFT PAREN OF FUNCTION **)@6-%@@@X= )LEFT PARENTHESIS NOT FOUND AFTER FUNCTION@&$p""** BYPASS STRING CONSTANT **z)@6-%@-@)@6-%@ $X!!** PRINT RESULTS OF XREF **bGO BACK TO VARIABLESl@q6-Ap  Bv6-w3>:@,xbb3D>:@,>:@,>:@$,>:@2,>:@@,>:@H,>:@V,>:,|6- ** START MAIN LOOP HERE **6- BpP6-%@ ! $! A!GET VARIABLE NAME B!@V BpP6363>:@',>:@i,>:@',>:@p,6-%@ 6-6-8<@,C8<@, +3 NO REFRENCES96-%@C Ap`!!6-F:,%AV$F:%@,"8<@,6- B!@` BpP))6-F:%@,%AV$F:%@,Aq Ap`'** HEADER **$'3.'((3>:@,>:@,PAGE 8' 3 3B'6-%@L'$j'** PRINTER ERROR TRAP **k'+@%@m'-@n'$$ @PRINTER UNAVAILABLEo'-@@t'%%2@p@@~'ELONGATE SOUND WITH REM'-@@ '%%2' ' +@' *** PRINT A LINE NUMBER **+6-%@ +7!@36--6-%@7 B +67$@%@,.=:,*+1 " 36-'6-%@1 B 4+$.-@@.67<,. . .$2 PRINT THE HEADER 2-@@ 3 2((3>:@, VARIABLE232++3>:@, CROSS REFRENCE2 3 32""3>:@, FILE:2 B@3$6 OTHER ERRORS HERE 6 +6##  E R R O R # F:A,622  AT LINE F:A,%AV$F:A,6&B6-%@B6-B BB$D:XREF