\IR{elf} ELF
\IR{elf, 16-bit code and} ELF, 16-bit code and
\IR{elf shared libraries} ELF, shared libraries
+\IR{elf32} \c{elf32}
+\IR{elf64} \c{elf64}
\IR{executable and linkable format} Executable and Linkable Format
\IR{extern, obj extensions to} \c{EXTERN}, \c{obj} extensions to
\IR{extern, rdf extensions to} \c{EXTERN}, \c{rdf} extensions to
\IR{logical and} logical AND
\IR{logical or} logical OR
\IR{logical xor} logical XOR
+\IR{mach object file format} Mach, object file format
+\IR{mach-o} Mach-O
+\IR{macho32} \c{macho32}
+\IR{macho64} \c{macho64}
+\IR{macos x} MacOS X
\IR{masm} MASM
\IA{memory reference}{memory references}
\IR{minix} Minix
NASM will normally choose the name of your output file for you;
precisely how it does this is dependent on the object file format.
-For Microsoft object file formats (\i\c{obj} and \i\c{win32}), it
-will remove the \c{.asm} \i{extension} (or whatever extension you
+For Microsoft object file formats (\c{obj}, \c{win32} and \c{win64}),
+it will remove the \c{.asm} \i{extension} (or whatever extension you
like to use - NASM doesn't care) from your source file name and
-substitute \c{.obj}. For Unix object file formats (\i\c{aout},
-\i\c{coff}, \i\c{elf}, \i\c{macho} and \i\c{as86}) it will substitute \c{.o}. For
-\i\c{rdf}, it will use \c{.rdf}, and for the \i\c{bin} format it
-will simply remove the extension, so that \c{myfile.asm} produces
-the output file \c{myfile}.
+substitute \c{.obj}. For Unix object file formats (\c{aout}, \c{as86},
+\c{coff}, \c{elf32}, \c{elf64}, \c{ieee}, \c{macho32} and \c{macho64})
+it will substitute \c{.o}. For \c{dbg}, \c{rdf}, \c{ith} and \c{srec},
+it will use \c{.dbg}, \c{.rdf}, \c{.ith} and \c{.srec}, respectively,
+and for the \c{bin} format it will simply remove the extension, so
+that \c{myfile.asm} produces the output file \c{myfile}.
If the output file already exists, NASM will overwrite it, unless it
has the same name as the input file, in which case it will give a
directive as \c{win32} does, except that the \c{align} qualifier and
the \c{info} section type are not supported.
-\H{machofmt} \i\c{macho}: \i{Mach Object File Format}
+\H{machofmt} \I{Mach-O}\i\c{macho32} and \i\c{macho64}: \i{Mach Object File Format}
-The \c{macho} output type produces \c{Mach-O} object files suitable for
-linking with the \i{Mac OSX} linker.
+The \c{macho32} and \c{macho64} output formts produces \c{Mach-O}
+object files suitable for linking with the \i{MacOS X} linker.
+\i\c{macho} is a synonym for \c{macho32}.
\c{macho} provides a default output file-name extension of \c{.o}.
-\H{elffmt} \i\c{elf, elf32, and elf64}: \I{ELF}\I{linux, elf}\i{Executable and Linkable
+\H{elffmt} \i\c{elf32} and \i\c{elf64}: \I{ELF}\I{linux, elf}\i{Executable and Linkable
Format} Object Files
The \c{elf32} and \c{elf64} output formats generate \c{ELF32 and ELF64} (Executable and Linkable Format) object files, as used by Linux as well as \i{Unix System V},