NASM: The Netwide Assembler

NASM was among the first of the Open-Source, freely available, assemblers available for the x86. The project was started in the 1996 time frame as a way of creating a portable x86 assembler that uses a "somewhat Intel Syntax" (as opposed to GNU's Gas, the only other truly portable x86 assembler available at the time).

Originally, NASM started out as a copyrighted program similar to FASM. Recently, however, NASM's original authors released NASM to the open software community under the LGPL license. Hopefully, this will encourage future development of NASM as development of the product has seemed to stall for the past couple of years (with lots of NASM users defecting over to FASM).

Though NASM is a bit slower than many other assemblers, it does have a couple of postive features: first, it has been around long enough to have been shaken down and for this type of product, is relatively robust. Second, there are several books and tutorials (including a book by Dr. Paul Carter, available here on Webster) that use the NASM syntax (for Windows, DOS, and Linux). Another big advantage to NASM is that it runs on almost every x86 operating system that has graduated beyond the "toy" level. This includes many OSes for which few other assemblers are available (e.g., QNX and BeOS).

You may download NASM directly from Webster (see the links below). You can also grab NASM off its sourceforge home (see the links below), though the version here on Webster is probably the latest (as NASM doesn't change very often).

NASM
Official Download Site
http://nasm.sourceforge.net
Download NASM v0.98.38
16-bit DOS Version
32-bit DOS Version nasm-0.98.38.zip
Windows Command-line Version
Linux Version
NASM Documentation
Documentation for NASM v0.98.38
Zipped Documentation File
Dr. Paul Carter's x86 Assembly Language Tutorial, written for NASM
Example FASM Programs
Multimini Boot minimultiboot.asm
Library Code For NASM
The HLA Standard Library for NASM Users hla4fasm