JWasm is a Masm-compatible assembler. It supports 16-, 32- and 64-bit code, instructions up to AVX and various output formats. It's written in C.
multi-platform cross assembler for 6502/6510/65816 cpu
ACME is a free cross assembler released under the GNU GPL. It can produce code for the following processors: 6502, 6510 (including illegal opcodes), 65c02 and 65816. ACME supports the standard assembler stuff like global/local/anonymous labels, offset assembly, conditional assembly and looping assembly. It can include other source files as well as binaries while assembling. Calculations can be done in integer or float mode. Oh, and it is fast.
Modern command-line cross-compiler of 8bit processor Z80(and R800) assembly language. Support many directives(even ZX-Spectrum specific as snapshot .SNA generation), has built-in Lua scripting engine, 3-pass design. Windows/DOS/FreeBSD.