NASM is an 80x86 assembler designed for portability and modularity. It supports a range of object file formats including Linux a.out and ELF, COFF, Microsoft 16-bit OBJ, Win32/64, and Apple Mach-O. It will also output plain binary files. Its syntax is designed to be simple and easy to understand, similar to Intel's but less complex. It supports all currently known opcodes, and has advanced macro capability. It includes a disassembler as well.
|Tags||Software Development Compilers|
|Operating Systems||POSIX OS/2 Windows Windows MS-DOS Mac OS X OS Independent|
Release Notes: This is the first release under the 2-clause (simplified) BSD license. This release adds 64-bit Mach-O (Mac OS X) support and the ability to generate Intel hex or S-records directly, but is otherwise primarily a bugfix release.
Release Notes: This release adds support for Intel AVX revision 5 and AMD XOP/FMA4/CVT16 revision 3.03. The preprocessor has a new indirect macro expansion feature, the ELF backends now supports thread-local storage, and a number of bugs have been fixed.
Release Notes: This release fixes the parsing of the -W/-w (warning enable/disable) option, which was broken in 2.05. It is strictly a patch release.
Release Notes: This release includes a massive overhaul of the ELF64 backend for spec compliance. It fixes incorrect offsets in RIP-relative addressing in immediate-carrying instructions, bugs in the ALIGN directive, the handling of the %include directive inside macros, and a handful of instructions that had incorrect patterns.
Release Notes: This is primarily a bugfix release. In particular, it should end once and for all abnormalities introduced by forward references when pass-limited. It does introduce some new features, mostly in the preprocessor. It adds support for packed BCD and UTF-16/UTF-32 constants. It also adds support for "smart" alignment, padding the bypassed region with optimized code.