spim is a self-contained software simulator for running R2000/R3000 assembly language programs. It reads and can immediately execute files containing assembly language code. spim also provides a debugger and simple set of operating system services. spim provides both a simple, textual interface and a fancier, graphical interface. The package includes complete source code and documentation.
The Quick C-- compiler is an experimental implementation of the C-- language. C-- is intended to be a "portable assembly language" that can be used as a target language by compiler writers. C-- features a simple C-like core and support for garbage collection and exception handling.
masmz80 is a very lightweight assembler for the Zilog Z80 processor. Objects generated contain information about global symbols, unreferenced symbols, and sections that need to be relocated, so it's easy to write code in many files and reference one project files' symbols from another. Linking these objects using included mlinkz80 produces an image ready for burning on an (E)EPROM.
The Amazing Awk Assembler (aaa) is a primitive assembler written entirely in awk and sed. It is quite slow, the input syntax is eccentric and rather restricted, and error checking is virtually nonexistent, but it does work. Furthermore it's very easy to adapt to a new machine, provided the machine falls into the generic "8-bit-micro" category.
Flat Assembler is a fast and efficient self-assembling 80x86 assembler. It supports x86 and x86-64 instruction sets with MMX, 3DNow!, SSE up to SSE4, AVX, AVX2, and XOP extensions. It can produce output in binary, MZ, PE, COFF, or ELF format. It includes powerful but easy-to-use macroinstruction support and does multiple passes to optimize the instruction codes for size. It is written entirely in assembly language.
An almost ISO C compatible C compiler that produces binaries for 6502-based computers. Targets that are supported out of the box are: Apple ][, Atari 8-bit machines, Commodore C64/C128/C16/C116, Commodore Plus/4, Commodore 600/700, GEOS for C64, and Lynx. The package includes a complete suite of assembler development tools (assembler, linker, archiver) which allows mixing of C and assembler code.
Yasm is a complete rewrite of the NASM assembler. It currently supports the x86 and AMD64 instruction sets, accepts NASM and GAS assembler syntaxes, outputs binary, ELF32, ELF64, COFF, Mach-O (32 and 64), RDOFF2, Win32, and Win64 object formats, and generates source debugging information in STABS, DWARF 2, and CodeView 8 formats.
WLA DX is yet another macro assembler that can program the GB-Z80, Z80, 6502, 65c02, 6510, 65816, HuC6280, and SPC-700 CPUs. Included in the package there is a GB-Z80 disassembler and few converters. WLA DX was initially programmed to compile ROM images for Gameboy, but nowadays it can also patch existing ROM images with code, and even compile program files and ROM files for other CPUs like the NES-6502, C64-6510, and SNES's SPC-700.