	Here's a utility I wrote this morning to strip PROCs and local
labels from the code I posted earlier this month.  Usage help can be
displayed with the 'DELOCAL -?' invocation.

	The basic form is:

	delocal -i myfile.asm -o newfile.asm -p -l

	This will remove PROCs and replace local labels with the name
of the entry point (determined by the keyword PROC) for that
subroutine.  Option -a can be appended to add colons to the label
names, should your assembler require it.  The -g option can be
specified (but only when -l is used), and local labels will be
replaced with LLxxx, where xxx is a number that is incremented by one
for each local label encountered.  Finally, there is the -v option,
which displays how many lines were processed, how many PROCs deleted,
and how many local lables were replaced.

	For options -p and -l, one or the other, or both, may be
specified.  If -l is omitted, local labels will not be replaced.  If
-p is omitted, then PROCs will not be deleted.

	For labels longer than 8 characters, the tabs will be most
likely screwed up, so the code will have to be touched up in your
favorite editor fort the columns to line up.

	The program tries to be smart enough to limit the lenght of
labels for local label replacement.  If your assembler has severe
memory limitations, or a limit on symbol name lengths, you'll most
likely want to use the -g option with -l.  The program builds a list
of all the labels in the module, and then finds the minimum label
length that would make all labels unique.

	If a source file is submitted with local labels, but no PROCS
(which is illegal in the Avocet assembler.  Local labels must be
inside a PROC), the local labels cannot be removed.

	One word of warning.  The program does not check that the
input and output files names resolve to the same file.  If will
cheerfully wipe out the source file if you make them the same.  (By
the way, if anyone has a utility that will allow determining if two
path/filenames resolve to the same file, I'd like to incorporate it.)

	This was written under Borland-C 3.1.  If anyone is really
interested, I will send or post the source code (comments are
extremely sparse!).  If you have any problems, I'll be more than happy
to (try) to fix them (I ran about 10 modules through it, and they all
turned out OK).  Either e-mail me, or post to the list-server.

		- John Wren	
John C. Wren, KD4DTS
jcwren@atlanta.com
770-840-9200 x2417 (W)
