27 projects tagged "Assemblers"
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.
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).
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.