Aasm is an advanced modular assembler designed to support several target architectures. It has been designed to be easily extended. Its global architecture takes advantages of dynamic libraries to provide input, assembler and output modules. The input module supports Intel syntax (like nasm, tasm, masm, etc.). The x86 assembler module supports all opcodes up to P6 including MMX, SSE and 3DNow! extensions. F-CPU and SPARC assembler modules are under development. Several output modules are available for ELF, COFF, IntelHex, and raw binary formats. Advanced features include symbol scopes, an expressions engine, big integer support, macro capability, and numerous and accurate warning messages (over 300).
Neko is a high-level dynamically typed programming language. It can be used as an embedded scripting language. It has been designed to provide a common runtime for several different languages. Learning and using Neko is very easy. You can easily extend the language with C libraries. You can also write generators from your own language to Neko and then use the Neko Runtime to compile, run, and access existing libraries. Neko is a good way for language designers to focus on design and reuse a fast and well-designed runtime, as well as existing libraries for accessing filesystem, network, databases, XML, etc. It has a compiler and a virtual machine. The virtual machine is very lightweight and well optimized. The VM can be easily embedded into any application, and your libraries can be accessed using the C foreign function interface.
Chump is a table-driven assembler and dissembler with a very fast new architecture input format. Both the assembler and disassembler are created using a single description. It comes with descriptions for ARM, MIPS, Stump, and 6809. It is intended for use as a library compiled with other programs to allow line assembly and disassembly.
The HLA Standard Library was developed to support the High Level Assembler (HLA), but could be used with other assemblers or higher-level languages if the necessary headers were developed. It supports 32-bit versions of Windows, Linux, Mac OS X, and FreeBSD, and is written entirely in HLA. It includes the following modules: args, arrays, bits, chars, console, conversions, cset, date, environment, exceptions, file class, file I/O, filesys, lists, math, memory-mapped files, patterns, RNG, stderr, stdin, stdout, strings, tables, time, timer, zstrings, sockets, threads, and blob. An automated test suite is included.
KMD is a multi-processor debugger. It can debug with hardware boards over serial ports or with software emulators (ARM and MIPS emulators are included in the project). Using the pipe option you can debug over the network or any other communication medium. It can load many executable formats such as ELF, and display and follow the original source even from multiple source file programs. There is support for breakpoints and watchpoints which can trap on specific data (such as loading or executing specific instructions). Support for other features such as FPGA's is also available, allowing loading or any control required to drive a specific hardware device. The project uses chump to allow disassembly and line assembly. Chump also allows new architectures to be easily added without the need to recompile the system. Communication with the backend is done using two pipes/fifos using a simple set of codes. Back end communication program can be created using very little memory on the target device.
nescom is a suite of assembler and linker tools for the CPU used in the NES/Famicom. It can produce xa65-compatible relocatable object files, IPS format patches, raw binary images, and ROM images in INES format. nescom is a sister project of snescom, and shares much of the syntax and features.