Welcome to version 0.4.0 of Suite8080.
New features
There are two main new features in this release.
The first is the ability of `asm80` to save the assembled program’s symbol table in the `.sym` CP/M file format. The other feature enhances the assembler to accept the double-quote character `”` as a string delimiter, which means strings and character constants may be written as `”This is a string”` and `”F”`.
The output of the assembler's help message (`-h` option) and verbose mode (`-v`) is now slightly more descriptive and complete.
Documentation and demos
This release comes with a [new document describing the usage of the Suite8080 tools](https://github.com/pamoroso/suite8080/blob/master/docs/usage.md) and expands the [design document](https://github.com/pamoroso/suite8080/blob/master/docs/design.md) by covering the assembler’s parser. Some minor updates to the `README.md` file list only the currently available Suite8080 tools and add links to the source tree directories it references.
In addition, I changed the [`memcpy.asm`](https://github.com/pamoroso/suite8080/blob/master/asm/memcpy.asm) and [`upcase.asm`](https://github.com/pamoroso/suite8080/blob/master/asm/upcase.asm) Assembly demos to make them run on CP/M. However, they produce no visible output and, to inspect how they change the machine state, you need to run the programs inside a debugger such as SID or DDT.
Bug fixes and other changes
The work on this release involved also some refactoring of `asm80` to remove redundant declarations of global variables, move the code that saves the assembled program out of `main()` into its own function, and tweak the code that processes the default output file name.
Finally, I fixed a bug that made the assembler ignore the `-o` option when building the output file name and `-` was supplied as the input file.