NASM

NASM

NASM (Netwide Assembler) is an open-source assembler for the x86 processor architecture. It supports a range of object file formats and can be used to write 16-bit, 32-bit, and 64-bit applications for Windows, Linux, BSD, and macOS.
NASM image
assembler x86 open-source

NASM (Netwide Assembler)

Free and open-source assembler for x86 processor architecture, supports various object file formats and compatible with Windows, Linux, BSD, and macOS.

What is NASM?

The Netwide Assembler, more commonly known as NASM, is an assembler and disassembler for Intel x86 architectures. It supports a range of object file formats including binary, COFF, Win32, Win64, ELF32, ELF64, Mach-O, a.out and more.

As an open-source tool, NASM is completely free to download and use. It runs on Windows, Linux, BSD and macOS systems. The latest version as of 2022 is NASM 2.15.05.

Some of the key features and capabilities of NASM include:

  • Supports 16-bit, 32-bit and 64-bit x86 assembly language programming
  • Can target DOS, Windows, Linux and other operating system environments
  • Full support for all x86 extensions from early Intel chips up through latest advanced capabilities like AVX512
  • Macro capabilities to simplify complex and repetitive coding sequences
  • Conditional assembly support
  • Flat, ideal, and portable modes for code organization
  • Integrated debugger
  • Well documented with online user manual

NASM continues to be widely used in the development of operating system kernels, bootloaders, device drivers, video games, programming tools, embedded systems software and for learning and understanding low-level computer architectures. Its flexibility, comprehensive platform support and active ongoing development make it a valuable choice among assemblers for x86 platforms.

NASM Features

Features

  1. Supports x86 and x86-64 instruction sets
  2. Can generate output in multiple object file formats like ELF, COFF, Mach-O, etc
  3. Supports macros for code reuse
  4. Has built-in optimizations
  5. Integrates with various linkers and debuggers
  6. Cross-platform - runs on Windows, Linux, BSD, macOS
  7. Open source with active community support

Pricing

  • Open Source

Pros

Free and open source

Fast and lightweight

Supports latest x86 instructions

Portable across platforms

Integrates well with build tools

Lots of documentation and examples available

Cons

Steep learning curve for beginners

Lacks high-level features like C compilers

Manual register allocation required

Not as full-featured as commercial assemblers


The Best NASM Alternatives

Top Development and Assemblers and other similar apps like NASM


Emu8086 icon

Emu8086

Emu8086 is an emulator program that allows software written for the Intel 8086 16-bit microprocessor to run on modern personal computers. It emulates the 8086 CPU and other hardware found in early IBM PC-compatible computers, providing a complete environment to execute 8086 machine code without any modifications.The key features of...
Pelles C icon

Pelles C

Pelles C is a complete development kit for C and C++ programming on Windows platforms. It includes the Pelles C compiler, linker, resource compiler, debugger, profiler and other utilities. Key features:Free and open source software with very permissive licensing termsIDE with code completion, templates, etc to boost productivityFast executable code...
Pelles C image
Flat assembler icon

Flat assembler

Flat assembler (FASM) is a fast, open-source assembler for the x86 and x86-64 CPU instruction sets. It supports all variations of x86 assembly language syntax and is able to generate optimized binary machine code for all flavors of MS-DOS, Windows, Linux, FreeBSD, Mac OS X/macOS and UEFI firmware.Some key features...
Flat assembler image
Easy code icon

Easy code

Easy code is a multi-language code editor designed with developers in mind. It provides essential coding features like syntax highlighting, auto-completion of code, and debugging tools to detect issues quickly - all designed to increase coding efficiency.Key features of Easy Code include:Syntax highlighting for over 50 programming languages including JavaScript,...
Easy code image
MASM Builder icon

MASM Builder

MASM Builder is an integrated development environment (IDE) designed specifically for assembly language programming using the Microsoft Macro Assembler (MASM). It includes a full-featured text editor with syntax highlighting and auto-completion to make writing assembly code easier. Key features of MASM Builder include:Integrated debugger for stepping through assembly codeProject management...
MASM Builder image
JWasm icon

JWasm

JWasm is a lightweight and high-performance WebAssembly runtime designed for JavaScript applications. It allows running WebAssembly code seamlessly in Node.js and browsers.Some key features of JWasm include:Very fast startup time - optimized for lazy instantiationSmall runtime overhead and code size - under 30kB gzippedNear-native runtime performance - competetive with other...
JWasm image
Flasm icon

Flasm

Flasm is an open source assembly language tool that functions as both a compiler and decompiler. It supports a wide range of CPU instruction sets including x86, AMD64, ARM, PowerPC, MIPS, Sparc, and more. Flasm can compile assembly code into native executable binaries and libraries that can be run directly...
Flasm image