NASM

NASM 2.14.02

The famous Netwide Assembler

The Netwide Assembler, NASM, is an 80x86 and x86-64 assembler designed for portability and modularity. It supports a range of object file formats, including Linux and *BSD a.out, ELF, COFF, Mach-O, Microsoft 16-bit OBJ, Win32 and Win64. 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.

NASM 2.14.02 details

Author:
License: Open Source
Price: FREE
Released:
File size: 952 kB
Downloads: 133
Keywords: decompile class file, class file decompiler, source code creator, decompile, decompiler, class file
Author URL: https://www.nasm.us/
NASM screenshot

User Rating: 0 (0 votes)

Windows 10

x32

Windows 10

x64

NASM for Windows 10 - Full description

The Netwide Assembler, NASM, is an 80x86 and x86-64 assembler designed for portability and modularity. It supports a range of object file formats, including Linux and *BSD a.out, ELF, COFF, Mach-O, Microsoft 16-bit OBJ, Win32 and Win64. 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 x86 architectural extensions, and has strong support for macros.

Why Yet Another Assembler?

The Netwide Assembler grew out of an idea on comp.lang.asm.x86 (or possibly alt.lang.asm - I forget which), which was essentially that there didn't seem to be a good free x86-series assembler around, and that maybe someone ought to write one.

* a86 is good, but not free, and in particular you don't get any 32-bit capability until you pay. It's DOS only, too.
* gas is free, and ports over to DOS and Unix, but it's not very good, since it's designed to be a back end to gcc, which always feeds it correct code. So its error checking is minimal. Also, its syntax is horrible, from the point of view of anyone trying to actually write anything in it. Plus you can't write 16-bit code in it (properly.)
* as86 is specific to Minix and Linux, and (my version at least) doesn't seem to have much (or any) documentation.
* MASM isn't very good, and it's (was) expensive, and it runs only under DOS.
* TASM is better, but still strives for MASM compatibility, which means millions of directives and tons of red tape. And its syntax is essentially MASM's, with the contradictions and quirks that entails (although it sorts out some of those by means of Ideal mode.) It's expensive too. And it's DOS-only.

So here, for your coding pleasure, is NASM. At present it's still in prototype stage - we don't promise that it can outperform any of these assemblers. But please, please send us bug reports, fixes, helpful information, and anything else you can get your hands on (and thanks to the many people who've done this already! You all know who you are), and we'll improve it out of all recognition. Again.

NASM for Windows 10 - Post your review