amiga-news DEUTSCHE VERSION
.
Links| Forums| Comments| Report news
.
Chat| Polls| Newsticker| Archive
.

[Login] [Register] [Forgot your password?]

< Next messagePrior message >
16.Oct.2024



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.
  • m68k: Command line options of the form -opt-
  • m68k: New options -warnabs16 and -warnabs32 to show a warning when accessing absolute 16- oder 32-bit addresses.
  • m68k: Fixed assigning another register list symbol with REG/EQURL, which was broken since V1.9a.
  • m68k: REG/EQURL directives optionally allow to specify register lists as a register mask constant (BAsm compatibility).
  • m68k: Add Apollo E-register banking for negx, swap, movex, sCC, addiw.l, cmpiw.l, rol, ror, roxl, roxr, and perm.
  • m68k: Apollo instructions pabsb, pabsw are gone (opcode space will be reused in future).
  • m68k: Apollo fmove.{b/w/l/s/d} En,Em is replaced by floadi and fstorei to make clear whether the Em target is an integer or floating point register.
  • m68k: New Apollo instructions: fmoverz, fmoveurz, moveiw, mov3q, movs, movz, move2 (updated), clr.q.
  • m68k: Do not allow Bcc.B with branch distance -130 for Apollo, as it would encode as $6xff (opcode for 32-bit branch).
  • x86: Default to 16-bit addressing when -m selects a CPU below 386. Default to 64-bit addressing with -m64.
  • x86: Let the mnemonic's suffix always decide about the operation size, even when the operand is a label (gas seems to do the same).
  • x86: Mask all immediate operand relocations according to their size (to allow something like movb $label,dest or movw $label,dest).
  • x86: Fix macros with size-suffixes (b,w,l,s,q,x). Size qualifiers are no longer allowed in x86-macros.
  • x86: Allow multiple alternating .codeNN directives in the source.
  • x86: Add missing prefix when using 32-bit registers in 16-bit mode.
  • x86: Fixed relative calls with size suffix (callw, calll) in 16/32-bit mode.
  • 6502: Added al/as/xl/xs as aliases for a16/a8/x16/x8 directives. Added longa/longi as WDC-style aliases for theses directives (65816).
  • 6502: Absolute 16-bit addressing modes ignore the bank by default for 65816.
  • 6502: Optionally allow alternative syntax with immediate operands for MVN, MVP and PEA (65816).
  • 6502: Out of range errors turned into warnings.
  • 6502: CPU directive, to define the cpu model.
  • 6502: Byte-selector operators are gone and turned into operand prefixes, according to the official WDC syntax.
  • 6502: New option -am to mask all immediate and data values to their specified size.
  • 6502: Hu6280 uses SETDP $2000 to move the zero page for automatic code optimizations.
  • 6502: New option -dpo to generate offset-relocs for zero- or direct-page accesses.
  • mot-syntax: Fixed non-zero offset in CNOP, which was broken since V1.7c.
  • mot-syntax: TTL sets the listing file page title and not the unit name.
  • oldstyle-syntax: MACRO (written in upper case) didn't work with arguments.
  • oldstyle-syntax: New ifblank and ifnblank directives may be used to check whether a macro argument was given.
  • oldstyle-syntax: New directive exitmacro to exit recursive macro invocations.
  • oldstyle-syntax: New directive da as an alias for addr.
  • oldstyle-syntax: New directive bss to reserve space, like ds or reserve.
  • oldstyle-syntax: New directives blkl and dsl for defining space with a 32-bit pattern.
  • oldstyle-syntax: Section attributes 'f' and 'z' may be used to designate a section for far- or near-addressing (e.g. direct/zero-page).
  • oldstyle-syntax: Fixed FCC for single characters (no expressions allowed).
  • oldstyle-syntax: The closing quote-character (' or ") in single-character expressions is now optional (compatibility with old Motorola sources).
  • oldstyle-syntax: Broken hex-constants with the minus-operator following the '$' are supported for compatibility reasons.
  • oldstyle-syntax: Allow optional colon after a label for macro, equ and set directives.
  • std-syntax: The "true" result of logical operations should be 1 not -1.
  • std-syntax: Allow XY' (alternate) registers with Z80.
  • std-syntax: The .org directive always defines the absolute address for subsequent code, as long as no relocatable section was defined (or -gas).
  • std-syntax: .ifc and .ifnc directives for comparing strings.
  • hunk-output: New option -noabspath to refrain from creating absolute paths for source line debugging (LINE debug format).
  • hunk-output: Automatic source line debugging output (-linedebug) also includes BSS sections now, unless Devpac-compatibility was specified (-devpac).
  • hunk-output: New options -dbg-local and -dbg-globloc to include local labels into the debug symbol hunk (HUNK_SYMBOL).
  • hunk-output: Warn about odd relocation offsets, which might crash the AmigaOS loader on 68000 and 68010 systems (suggested by Erik Hemming).
  • o65-output: Support low-word relocs in 65816 mode.
  • bin-output: Fixed overlapping misdetection with empty org-sections.
  • bin-output: Foenix PGX format supports 65C02 and PGZ format supports 32-bit.
  • bin-output: New option -coalesced to output org-blocks without padding.
  • cdef-output: Do not output internal symbols.
  • elf-output: Fixed advancing by more than 63 lines in the DWARF output (patch by arcanist/EAB).
  • tos-output: Fixed alignment problem with DRI object file relocs.
  • tos-output: New option -zfile to output Sharp X68000 Z-file executables.
  • xfile-output: New option -exec to define the execution label.
  • xfile-output: New option -loadhigh to load the executable into high memory.
(dr)

[News message: 16. Oct. 2024, 20:21] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
< Next messagePrior message >

.
Masthead | Privacy policy | Netiquette | Advertising | Contact
Copyright © 1998-2024 by amiga-news.de - all rights reserved.
.