The Netwide Assembler, NASM, is an x86 and x86-64 assembler designed for portability and modularity. It will output flat-form binary files, a.out (Linux and *BSD), COFF, ELF32, ELF64, Mach-O, Microsoft OMF (OBJ), Win32, Win64, as86 (Minix/Linux bin86 v0.3), LADsoft IEEE-695, and a home-grown format called RDOFF. NASM syntax is similar to Intel's but less complex. It supports Pentium, P6, MMX, 3DNow!, SSE, SSE2, SSE3 and x64 opcodes, among others. It has strong support for macro conventions. Also included is NDISASM, binary-file disassembler which uses the same instruction table as NASM. WWW: http://nasm.sourceforge.net/