Closed sy2002 closed 3 years ago
We definitely should think about a complete rewrite of the assembler in the not too far future, or at least about a major refactoring. Things like this problem have really gotten nasty to fix.
I will try to think of an (easy) fix...
OK, the assembler can now take care of strings containins a ';'.
The solution has a tiny problem: Lines are typically processed by a pretty print routine (which was once called expand_tabs() as this was initially all it did - expand tabs... ;-) Since this routine has turned into a rather ugly monster, it has been renamed to transmogrify() and we should definitely think about a refactoring of the assembler, the code quality has not increased in the last 13 years...). This is now disabled for lines containing strings and comments. The effect on the .lis-files is small but should, nevertheless, be noted.
The assembler does not allow semicolon inside a string.
If you copy the following snippet into an
.asm
file and assemble it, then you are getting five warnings and the strings that contain a semicolon;
are not assembled.The output is:
And the first few lines of the
.lis
file are: