XREF is an assembly-language cross reference utility that can be applied
to print (PRN) files produced by MAC or RMAC in order to provide a summary
of variable usage throughout the program. The purpose of this appendix
is to provide the information necessary for operation of the XREF utility.
F.1.0. XREF OPERATION
XREF is normally invoked by issuing the command:
where the "filename" refers to two input files prepared using MAC or RMAC with assumed (and unspecified) file types of "PRN" and "SYM" and one output file with an assumed (and unspecified) file type of "XRF". Specifically, XREF reads the file "filename.PRN" line by line, attaches a line number prefix to each line and writes each prefixed line to the output file "filename.XRF". During this process, each line is scanned for any symbols that exist in the file "filename.SYM". Upon completion of this copy operation, XREF appends to the file "filename.XRF" a cross reference report that lists all the line numbers where each symbol in "filename.SYM" appears. In addition each line number reference where the referenced symbol is the firs token on the line is flagged with a "#" character. Also, the value of each symbol, as determined by MAC or RMAC and placed in the symbol table file "filename.SYM", is reported for each symbol.
As an option, the "filename" specification can be prefaced with a drive
code in the standard CP/M format [d:]. When the drive code i s specified
all the files described above are associated with the specified drive.
Otherwise, the files are associated with the default drive. Another option
allows the user to direct the output file directly to the "LST:" device
instead of to the file "filename.XRF". This option is invoked by adding
the string "$p" to the command line as follows:
XREF filename $p
XREF allocates space for symbols and symbol references dynamically during execution. If no memory is available for an attempted symbol or symbol reference allocation, an error message is issued and XREF is terminated.
F.1.1. XREF ERROR MESSAGES
No SYM file - This message is issued if the file "filename.SYM" is not present on the default or specified drive.
No PRN file - This message is issued if the file "filename.PRN" is not present on the default or specified drive.
Symbol table overflow - This message is issued if no space is available for an attempted symbol allocation.
Invalid SYM file format - This message is issued when an invalid "filename.SYM" file is read. Specifically, a line in the SYM file not terminated with a CRLF will force this error message.
Symbol table reference overflow - This message is issued if no space is available for an attempted symbol reference allocation.
"filename.XRF" make error - This message is issued if BDOS returns an error code after a "filename.XRF" make request. This error code usually indicates that no directory space exists on the default or specified drive.
"filename.XRF" close error - This message is issued if BDOS returns an error code after a "filename.XRF" close request.
"filename.XRF" write error - This message is issued if BDOS returns
an error code after a "filename.XRF" write request. This error code usually
indicates that no unallocated data blocks are available or no directory
space exists on the default or specified drive.