Development tool: vasm 2.0
After eleven months of development, Frank Wille has released the update to version 2.0 for the modular assembler vasm. The changes in version 2.0 in detail:
Support for architectures which have bytes with more than 8 bits.
Output formats bin, ihex, srec, test and vobj currently support >8-bit bytes.
New options -obe and -ole to define the endianess of target-bytes in binary output.
New options -ibe and -ile to define the endianess of target-bytes in binary includes (incbin).
New option -underscore adds a leading underscore to all imported and exported symbol names.
New option -relpath to treat all include paths as relative first, even when starting with '/' or '\'.
Reworked relocations and added the option to define their signedness.
New CPU backend for unSP (micro-nSP), having 16-bit bytes. Contributed by Adrien Destugues.
New CPU backend for the FPGA-CPU HANS, using 32-bit bytes. Contributed by Yannick Stamm.
New output module "pap", which outputs MOS Paper Tape files, as documented in the KIM-1 User's Manual. Contributed by Dimitri Theulings.
When printing error messages in macros, also print the source text line calling the macro.
A macro redefinition prints a warning with the previous definition. The old macro is correctly replaced.
Also warn about initialized space atoms (.space, etc.) in BSS sections.
Workaround for a Windows bug, when reading a source text from stdin directly via the terminal.
Fixed output of 64-bit symbol values in vobjdump.
Directives to suppress listing file output (like NOLIST) will no longer appear in the listing file.
Fixed string constants (in immediate addressing modes) with non-ASCII characters.
Fixed potential buffer overflow when generating a section name for ORG directives (since V1.9f).
Output modules now show the source line for unknown relocation errors.
m68k: Most out of range errors have now become warnings.
m68k: Out of range 8-bit immediate constants write to all 16 bits of the extension word, with a warning (to be able to simulate the behaviour of some old, faulty assemblers).
m68k: Improved -opt-size optimization for move.l->moveq/lsl, which now optimizes all values below 0x8000 where the highest and lowest bit set does not span more than 7 bits (suggested by Erik Hemming).
m68k: Float-constant optimization (OPT of, enabled by default) now also supports integer constant optimization to 16-bit.