vasm is a portable and retargetable assembler able to create linkable objects in different formats as well as absolute code. Different CPU-, syntax and output-modules are supported.
Many common directives/pseudo-opcodes are supported (depending on the syntax module) as well as CPU-specific extensions.
The assembler supports optimizations and relaxations (e.g. choosing the shortest possible branch instruction or addressing mode as well as converting a branch to an absolute jump if necessary).The following architectures are currently supported by vasm:
Download multi-target Windows (x64) binaries of vbcc/vasm/vlink (19/03/2021).
Download statically-linked multi-target Linux (x64) binaries of vbcc/vasm/vlink (19/03/2021).
Download statically-linked multi-target Linux (arm, e.g. RaspberryPi) binaries of vbcc/vasm/vlink (19/03/2021).
Binaries of vasm for 6502 for x86-64 (Mac, Windows and Linux) (Thanks to Ben Eater for providing the Mac and Windows versions.)
A 6502 port of the vbcc C compiler is now also available (see the 6502 related download/link area).