print "\tORG\t\$8000\n";
LINE: while (<>) {
+
+# if blank line, print blank line
if (/^\s*$/) { print "\n"; next LINE; }
+
+# if comment line, pass straight through
if (/^\s*;/) { print; next LINE; }
+
+# if duplicate label - rename uniquely
if (/^\s*((loop|jump82|goto91):)/) { print "${1}_$.\n"; next LINE; }
+
+# if it's a label, print label
if (/^\s*(\w*:)/) { print "$1\n"; next LINE; }
+
+# if it's a vector table, print words
if (/^\t\.word\t([a-f0-9]{4})$/) { print "\tFDB\t\$\U$1\n"; next LINE; }
+
+# otherwise, catch all, print bytes
if (/^([A-F0-9]{4}) ((([A-F0-9]{2}) )*[A-F0-9]{2})/) {
print ";$_";
@_=split(' ',$2);
print "\tFCB\t\$".join(', $',@_)."\n";
next LINE;
}
+
+# if control Z, remove it
if (/^\cZ$/) { next LINE; }
+
+# FINAL print commented out
print ";$_";
}