summaryrefslogtreecommitdiff
path: root/doc/info/nasm.info-3
diff options
context:
space:
mode:
Diffstat (limited to 'doc/info/nasm.info-3')
-rw-r--r--doc/info/nasm.info-31284
1 files changed, 1284 insertions, 0 deletions
diff --git a/doc/info/nasm.info-3 b/doc/info/nasm.info-3
new file mode 100644
index 0000000..f70d131
--- /dev/null
+++ b/doc/info/nasm.info-3
@@ -0,0 +1,1284 @@
+This is nasm.info, produced by makeinfo version 4.13 from nasmdoc.texi.
+
+INFO-DIR-SECTION Programming
+START-INFO-DIR-ENTRY
+* NASM: (nasm). The Netwide Assembler for x86.
+END-INFO-DIR-ENTRY
+
+ This file documents NASM, the Netwide Assembler: an assembler
+targetting the Intel x86 series of processors, with portable source.
+
+ Copyright 1996-2009 The NASM Development Team
+
+ This document is redistributable under the license given in the file
+"COPYING" distributed in the NASM archive.
+
+
+File: nasm.info, Node: Section C.3.3, Next: Section C.3.4, Prev: Section C.3.2, Up: Section C.3
+
+C.3.3. Version 0.95 released July 1997
+--------------------------------------
+
+ * Fixed yet another ELF bug. This one manifested if the user relied
+ on the default segment, and attempted to define global symbols
+ without first explicitly declaring the target segment.
+
+ * Added makefiles (for NASM and the RDF tools) to build Win32
+ console apps under Symantec C++. Donated by Mark Junker.
+
+ * Added `macros.bas' and `insns.bas', QBasic versions of the Perl
+ scripts that convert `standard.mac' to `macros.c' and convert
+ `insns.dat' to `insnsa.c' and `insnsd.c'. Also thanks to Mark
+ Junker.
+
+ * Changed the diassembled forms of the conditional instructions so
+ that JB is now emitted as JC, and other similar changes. Suggested
+ list by Ulrich Doewich.
+
+ * Added `@' to the list of valid characters to begin an identifier
+ with.
+
+ * Documentary changes, notably the addition of the `Common Problems'
+ section in nasm.doc.
+
+ * Fixed a bug relating to 32-bit PC-relative fixups in OBJ.
+
+ * Fixed a bug in perm_copy() in labels.c which was causing
+ exceptions in cleanup_labels() on some systems.
+
+ * Positivity sanity check in TIMES argument changed from a warning
+ to an error following a further complaint.
+
+ * Changed the acceptable limits on byte and word operands to allow
+ things like `~10111001b' to work.
+
+ * Fixed a major problem in the preprocessor which caused seg-faults
+ if macro definitions contained blank lines or comment-only lines.
+
+ * Fixed inadequate error checking on the commas separating the
+ arguments to `db', `dw' etc.
+
+ * Fixed a crippling bug in the handling of macros with operand
+ counts defined with a `+' modifier.
+
+ * Fixed a bug whereby object file formats which stored the input
+ file name in the output file (such as OBJ and COFF) weren't doing
+ so correctly when the output file name was specified on the
+ command line.
+
+ * Removed [INC] and [INCLUDE] support for good, since they were
+ obsolete anyway.
+
+ * Fixed a bug in OBJ which caused all fixups to be output in 16-bit
+ (old- format) FIXUPP records, rather than putting the 32-bit ones
+ in FIXUPP32 (new-format) records.
+
+ * Added, tentatively, OS/2 object file support (as a minor variant
+ on OBJ).
+
+ * Updates to Fox Cutter's Borland C makefile, Makefile.bc2.
+
+ * Removed a spurious second fclose() on the output file.
+
+ * Added the `-s' command line option to redirect all messages which
+ would go to stderr (errors, help text) to stdout instead.
+
+ * Added the `-w' command line option to selectively suppress some
+ classes of assembly warning messages.
+
+ * Added the `-p' pre-include and `-d' pre-define command-line
+ options.
+
+ * Added an include file search path: the `-i' command line option.
+
+ * Fixed a silly little preprocessor bug whereby starting a line with
+ a `%!' environment-variable reference caused an `unknown
+ directive' error.
+
+ * Added the long-awaited listing file support: the `-l' command line
+ option.
+
+ * Fixed a problem with OBJ format whereby, in the absence of any
+ explicit segment definition, non-global symbols declared in the
+ implicit default segment generated spurious EXTDEF records in the
+ output.
+
+ * Added the NASM environment variable.
+
+ * From this version forward, Win32 console-mode binaries will be
+ included in the DOS distribution in addition to the 16-bit
+ binaries. Added Makefile.vc for this purpose.
+
+ * Added `return 0;' to test/objlink.c to prevent compiler warnings.
+
+ * Added the __NASM_MAJOR__ and __NASM_MINOR__ standard defines.
+
+ * Added an alternative memory-reference syntax in which prefixing an
+ operand with `&' is equivalent to enclosing it in square brackets,
+ at the request of Fox Cutter.
+
+ * Errors in pass two now cause the program to return a non-zero
+ error code, which they didn't before.
+
+ * Fixed the single-line macro cycle detection, which didn't work at
+ all on macros with no parameters (caused an infinite loop). Also
+ changed the behaviour of single-line macro cycle detection to work
+ like cpp, so that macros like `extrn' as given in the
+ documentation can be implemented.
+
+ * Fixed the implementation of WRT, which was too restrictive in that
+ you couldn't do `mov ax,[di+abc wrt dgroup]' because (di+abc)
+ wasn't a relocatable reference.
+
+
+File: nasm.info, Node: Section C.3.4, Next: Section C.3.5, Prev: Section C.3.3, Up: Section C.3
+
+C.3.4. Version 0.94 released April 1997
+---------------------------------------
+
+ * Major item: added the macro processor.
+
+ * Added undocumented instructions SMI, IBTS, XBTS and LOADALL286.
+ Also reorganised CMPXCHG instruction into early-486 and Pentium
+ forms. Thanks to Thobias Jones for the information.
+
+ * Fixed two more stupid bugs in ELF, which were causing `ld' to
+ continue to seg-fault in a lot of non-trivial cases.
+
+ * Fixed a seg-fault in the label manager.
+
+ * Stopped FBLD and FBSTP from _requiring_ the TWORD keyword, which
+ is the only option for BCD loads/stores in any case.
+
+ * Ensured FLDCW, FSTCW and FSTSW can cope with the WORD keyword, if
+ anyone bothers to provide it. Previously they complained unless no
+ keyword at all was present.
+
+ * Some forms of FDIV/FDIVR and FSUB/FSUBR were still inverted: a
+ vestige of a bug that I thought had been fixed in 0.92. This was
+ fixed, hopefully for good this time...
+
+ * Another minor phase error (insofar as a phase error can _ever_ be
+ minor) fixed, this one occurring in code of the form
+
+ rol ax,forward_reference
+ forward_reference equ 1
+
+ * The number supplied to TIMES is now sanity-checked for positivity,
+ and also may be greater than 64K (which previously didn't work on
+ 16-bit systems).
+
+ * Added Watcom C makefiles, and misc/pmw.bat, donated by Dominik
+ Behr.
+
+ * Added the INCBIN pseudo-opcode.
+
+ * Due to the advent of the preprocessor, the [INCLUDE] and [INC]
+ directives have become obsolete. They are still supported in this
+ version, with a warning, but won't be in the next.
+
+ * Fixed a bug in OBJ format, which caused incorrect object records
+ to be output when absolute labels were made global.
+
+ * Updates to RDOFF subdirectory, and changes to outrdf.c.
+
+
+File: nasm.info, Node: Section C.3.5, Next: Section C.3.6, Prev: Section C.3.4, Up: Section C.3
+
+C.3.5. Version 0.93 released January 1997
+-----------------------------------------
+
+This release went out in a great hurry after semi-crippling bugs were
+found in 0.92.
+
+ * Really _did_ fix the stack overflows this time. *blush*
+
+ * Had problems with EA instruction sizes changing between passes,
+ when an offset contained a forward reference and so 4 bytes were
+ allocated for the offset in pass one; by pass two the symbol had
+ been defined and happened to be a small absolute value, so only 1
+ byte got allocated, causing instruction size mismatch between
+ passes and hence incorrect address calculations. Fixed.
+
+ * Stupid bug in the revised ELF section generation fixed (associated
+ string- table section for .symtab was hard-coded as 7, even when
+ this didn't fit with the real section table). Was causing `ld' to
+ seg-fault under Linux.
+
+ * Included a new Borland C makefile, Makefile.bc2, donated by Fox
+ Cutter <lmb@comtch.iea.com>.
+
+
+File: nasm.info, Node: Section C.3.6, Next: Section C.3.7, Prev: Section C.3.5, Up: Section C.3
+
+C.3.6. Version 0.92 released January 1997
+-----------------------------------------
+
+ * The FDIVP/FDIVRP and FSUBP/FSUBRP pairs had been inverted: this
+ was fixed. This also affected the LCC driver.
+
+ * Fixed a bug regarding 32-bit effective addresses of the form
+ `[other_register+ESP]'.
+
+ * Documentary changes, notably documentation of the fact that
+ Borland Win32 compilers use `obj' rather than `win32' object
+ format.
+
+ * Fixed the COMENT record in OBJ files, which was formatted
+ incorrectly.
+
+ * Fixed a bug causing segfaults in large RDF files.
+
+ * OBJ format now strips initial periods from segment and group
+ definitions, in order to avoid complications with the local label
+ syntax.
+
+ * Fixed a bug in disassembling far calls and jumps in NDISASM.
+
+ * Added support for user-defined sections in COFF and ELF files.
+
+ * Compiled the DOS binaries with a sensible amount of stack, to
+ prevent stack overflows on any arithmetic expression containing
+ parentheses.
+
+ * Fixed a bug in handling of files that do not terminate in a
+ newline.
+
+
+File: nasm.info, Node: Section C.3.7, Next: Section C.3.8, Prev: Section C.3.6, Up: Section C.3
+
+C.3.7. Version 0.91 released November 1996
+------------------------------------------
+
+ * Loads of bug fixes.
+
+ * Support for RDF added.
+
+ * Support for DBG debugging format added.
+
+ * Support for 32-bit extensions to Microsoft OBJ format added.
+
+ * Revised for Borland C: some variable names changed, makefile added.
+
+ * LCC support revised to actually work.
+
+ * JMP/CALL NEAR/FAR notation added.
+
+ * `a16', `o16', `a32' and `o32' prefixes added.
+
+ * Range checking on short jumps implemented.
+
+ * MMX instruction support added.
+
+ * Negative floating point constant support added.
+
+ * Memory handling improved to bypass 64K barrier under DOS.
+
+ * `$' prefix to force treatment of reserved words as identifiers
+ added.
+
+ * Default-size mechanism for object formats added.
+
+ * Compile-time configurability added.
+
+ * `#', `@', `~' and c{?} are now valid characters in labels.
+
+ * `-e' and `-k' options in NDISASM added.
+
+
+File: nasm.info, Node: Section C.3.8, Prev: Section C.3.7, Up: Section C.3
+
+C.3.8. Version 0.90 released October 1996
+-----------------------------------------
+
+First release version. First support for object file output. Other
+changes from previous version (0.3x) too numerous to document.
+
+
+File: nasm.info, Node: Index, Up: Top
+
+Index
+*****
+
+* Menu:
+
+* `!' operator, unary (1): Section 3.5.7.
+* `!=' operator (1): Section 4.4.4.
+* `$$' token (1): Section 3.5.
+* `$$' token (2): Section 7.9.3.
+* `$', Here token (1): Section 3.5.
+* `$', prefix (1): Section 3.1.
+* `$', prefix (2): Section 3.4.1.
+* `$', prefix (3): Section 7.13.2.
+* `%' operator (1): Section 3.5.6.
+* `%!' (1): Section 4.10.2.
+* `%$' and `%$$' prefixes (1): Section 4.7.2.
+* `%%' operator (1): Section 3.5.6.
+* `%%' operator (2): Section 4.3.3.
+* `%+' (1): Section 4.1.4.
+* `%?' (1): Section 4.1.5.
+* `%??' (1): Section 4.1.5.
+* `%[' (1): Section 4.1.3.
+* `&' operator (1): Section 3.5.3.
+* `&&' operator (1): Section 4.4.4.
+* `*' operator (1): Section 3.5.6.
+* `+' modifier (1): Section 4.3.4.
+* `+' operator, binary (1): Section 3.5.5.
+* `+' operator, unary (1): Section 3.5.7.
+* `-' operator, binary (1): Section 3.5.5.
+* `-' operator, unary (1): Section 3.5.7.
+* `..@' symbol prefix (1): Section 3.9.
+* `..@' symbol prefix (2): Section 4.3.3.
+* `/' operator (1): Section 3.5.6.
+* `//' operator (1): Section 3.5.6.
+* `<' operator (1): Section 4.4.4.
+* `<<' operator (1): Section 3.5.4.
+* `<=' operator (1): Section 4.4.4.
+* `<>' operator (1): Section 4.4.4.
+* `=' operator (1): Section 4.4.4.
+* `==' operator (1): Section 4.4.4.
+* `>' operator (1): Section 4.4.4.
+* `>=' operator (1): Section 4.4.4.
+* `>>' operator (1): Section 3.5.4.
+* `?' MASM syntax (1): Section 3.2.2.
+* `^' operator (1): Section 3.5.2.
+* `^^' operator (1): Section 4.4.4.
+* `|' operator (1): Section 3.5.1.
+* `||' operator (1): Section 4.4.4.
+* `~' operator (1): Section 3.5.7.
+* `%0' parameter count (1): Section 4.3.5.
+* `%0' parameter count (2): Section 4.3.6.
+* `%+1' and `%-1' syntax (1): Section 4.3.9.
+* 16-bit mode, versus 32-bit mode (1): Section 6.1.
+* 64-bit displacement (1): Section 11.2.
+* 64-bit immediate (1): Section 11.2.
+* `-a' option (1): Section 2.1.21.
+* `-a' option (2): Section A.3.3.
+* `A16' (1): Section 3.1.
+* `a16' (1): Section 10.3.
+* `A32' (1): Section 3.1.
+* `a32' (1): Section 10.3.
+* `A64' (1): Section 3.1.
+* `a64' (1): Section 10.3.
+* `a86' (1): Section 1.1.1.
+* `a86' (2): Section 2.2.
+* `a86' (3): Section 2.2.2.
+* `a86' (4): Section 2.2.6.
+* `ABS' (1): Section 3.3.
+* `ABSOLUTE' (1): Section 6.4.
+* `ABSOLUTE' (2): Section 7.4.1.
+* addition (1): Section 3.5.5.
+* addressing, mixed-size (1): Section 10.2.
+* address-size prefixes (1): Section 3.1.
+* algebra (1): Section 3.3.
+* `ALIGN' (1): Section 4.11.12.
+* `ALIGN' (2): Section 5.2.
+* `ALIGN' (3): Section 7.1.2.
+* `ALIGN' (4): Section 7.4.1.
+* `ALIGN', smart (1): Section 5.2.
+* `ALIGNB' (1): Section 4.11.12.
+* alignment, in `bin' sections (1): Section 7.1.2.
+* alignment, in `elf' sections (1): Section 7.9.2.
+* alignment, in `obj' sections (1): Section 7.4.1.
+* alignment, in `win32' sections (1): Section 7.5.1.
+* alignment, of `elf' common variables (1): Section 7.9.6.
+* `ALIGNMODE' (1): Section 5.2.
+* `__ALIGNMODE__' (1): Section 5.2.
+* `ALINK' (1): Section 8.1.1.
+* `alink.sourceforge.net' (1): Section 8.1.1.
+* `all' (1): Section 2.1.24.
+* `alloc' (1): Section 7.9.2.
+* alternate register names (1): Section 5.1.
+* `alt.lang.asm' (1): Section 1.1.1.
+* `altreg' (1): Section 5.1.
+* ambiguity (1): Section 2.2.3.
+* `a.out', BSD version (1): Section 7.11.
+* `a.out', Linux version (1): Section 7.10.
+* `aout' (1): Section 7.10.
+* `aoutb' (1): Section 7.11.
+* `aoutb' (2): Section 9.2.
+* `%arg' (1): Section 4.8.1.
+* `arg' (1): Section 8.4.5.
+* `arg' (2): Section 9.1.4.
+* `as86' (1): Section 1.1.1.
+* `as86' (2): Section 7.12.
+* assembler directives (1): Chapter 6.
+* assembly-time options (1): Section 2.1.18.
+* `%assign' (1): Section 4.1.7.
+* `ASSUME' (1): Section 2.2.4.
+* `AT' (1): Section 4.11.11.
+* Autoconf (1): Section 1.3.2.
+* `autoexec.bat' (1): Section 1.3.1.
+* `auto-sync' (1): Section A.3.3.
+* `-b' (1): Section A.3.
+* bin (1): Section 2.1.2.
+* bin (2): Section 7.1.
+* bin, multisection (1): Section 7.1.3.
+* binary (1): Section 3.4.1.
+* binary files (1): Section 3.2.3.
+* bit shift (1): Section 3.5.4.
+* `BITS' (1): Section 6.1.
+* `BITS' (2): Section 7.1.
+* `__BITS__' (1): Section 4.11.5.
+* bitwise AND (1): Section 3.5.3.
+* bitwise OR (1): Section 3.5.1.
+* bitwise XOR (1): Section 3.5.2.
+* block IFs (1): Section 4.7.5.
+* boot loader (1): Section 7.1.
+* boot sector (1): Section 12.1.3.
+* Borland, Pascal (1): Section 8.5.
+* Borland, Win32 compilers (1): Section 7.4.
+* braces, after `%' sign (1): Section 4.3.8.
+* braces, around macro parameters (1): Section 4.3.
+* BSD (1): Section 9.2.
+* `.bss' (1): Section 7.9.2.
+* `.bss' (2): Section 7.10.
+* `.bss' (3): Section 7.11.
+* `.bss' (4): Section 7.12.
+* `.bss' (5): Section 7.13.
+* bugs (1): Section 12.2.
+* `bugtracker' (1): Section 12.2.
+* `BYTE' (1): Section 12.1.1.
+* C calling convention (1): Section 8.4.3.
+* C calling convention (2): Section 9.1.2.
+* C symbol names (1): Section 8.4.1.
+* `c16.mac' (1): Section 8.4.5.
+* `c16.mac' (2): Section 8.5.3.
+* `c32.mac' (1): Section 9.1.4.
+* `CALL FAR' (1): Section 3.6.
+* case sensitivity (1): Section 2.2.1.
+* case sensitivity (2): Section 4.1.1.
+* case sensitivity (3): Section 4.1.2.
+* case sensitivity (4): Section 4.1.7.
+* case sensitivity (5): Section 4.3.
+* case sensitivity (6): Section 4.3.1.
+* case sensitivity (7): Section 4.4.5.
+* case sensitivity (8): Section 7.4.3.
+* changing sections (1): Section 6.3.
+* character constant (1): Section 3.2.1.
+* character constant (2): Section 3.4.3.
+* character strings (1): Section 3.4.2.
+* circular references (1): Section 4.1.1.
+* `CLASS' (1): Section 7.4.1.
+* `%clear' (1): Section 4.11.
+* `coff' (1): Section 7.7.
+* colon (1): Section 3.1.
+* `.COM' (1): Section 7.1.
+* `.COM' (2): Section 8.2.
+* command-line (1): Section 2.1.
+* command-line (2): Chapter 7.
+* commas in macro parameters (1): Section 4.3.4.
+* `.comment' (1): Section 7.9.2.
+* `COMMON' (1): Section 6.7.
+* `COMMON' (2): Section 7.4.1.
+* `COMMON', `elf' extensions to (1): Section 7.9.6.
+* `COMMON', `obj' extensions to (1): Section 7.4.8.
+* Common Object File Format (1): Section 7.7.
+* common variables (1): Section 6.7.
+* common variables, alignment in `elf' (1): Section 7.9.6.
+* common variables, element size (1): Section 7.4.8.
+* `comp.lang.asm.x86' (1): Section 1.1.1.
+* `comp.lang.asm.x86' (2): Section 1.2.
+* `comp.os.msdos.programmer' (1): Section 8.3.
+* concatenating macro parameters (1): Section 4.3.8.
+* concatenating strings (1): Section 4.2.1.
+* condition codes as macro parameters (1): Section 4.3.9.
+* conditional assembly (1): Section 4.4.
+* conditional jumps (1): Section 12.1.2.
+* conditional-return macro (1): Section 4.3.9.
+* `configure' (1): Section 1.3.2.
+* constants (1): Section 3.4.
+* context stack (1): Section 4.7.
+* context stack (2): Section 4.7.5.
+* context-local labels (1): Section 4.7.2.
+* context-local single-line macros (1): Section 4.7.3.
+* counting macro parameters (1): Section 4.3.6.
+* `CPU' (1): Section 6.8.
+* `CPUID' (1): Section 3.4.3.
+* creating contexts (1): Section 4.7.1.
+* critical expression (1): Section 3.2.2.
+* critical expression (2): Section 3.8.
+* critical expression (3): Section 4.1.7.
+* critical expression (4): Section 6.4.
+* `-D' option (1): Section 2.1.18.
+* `-d' option (1): Section 2.1.18.
+* daily development snapshots (1): Section 1.2.
+* `.data' (1): Section 7.9.2.
+* `.data' (2): Section 7.10.
+* `.data' (3): Section 7.11.
+* `.data' (4): Section 7.12.
+* `.data' (5): Section 7.13.
+* `_DATA' (1): Section 8.4.2.
+* `data' (1): Section 7.9.5.
+* `data' (2): Section 7.13.3.
+* data structure (1): Section 8.4.4.
+* data structure (2): Section 9.1.3.
+* `__DATE__' (1): Section 4.11.7.
+* `__DATE_NUM__' (1): Section 4.11.7.
+* `DB' (1): Section 3.2.
+* `DB' (2): Section 3.2.1.
+* `DB' (3): Section 3.4.4.
+* `DB' (4): Section 3.4.6.
+* `dbg' (1): Section 7.14.
+* `DD' (1): Section 3.2.
+* `DD' (2): Section 3.2.1.
+* `DD' (3): Section 3.4.4.
+* `DD' (4): Section 3.4.6.
+* debug information (1): Section 2.1.12.
+* debug information format (1): Section 2.1.11.
+* declaring structures (1): Section 4.11.10.
+* `DEFAULT' (1): Section 6.2.
+* `default' (1): Section 7.9.5.
+* default macro parameters (1): Section 4.3.5.
+* default name (1): Chapter 7.
+* default-`WRT' mechanism (1): Section 7.4.7.
+* `%define' (1): Section 2.1.18.
+* `%define' (2): Section 4.1.1.
+* defining sections (1): Section 6.3.
+* `%defstr' (1): Section 4.1.8.
+* `%deftok' (1): Section 4.1.9.
+* `%depend' (1): Section 4.6.3.
+* design goals (1): Section 2.2.2.
+* DevPac (1): Section 3.2.3.
+* DevPac (2): Section 3.9.
+* disabling listing expansion (1): Section 4.3.10.
+* division (1): Section 3.5.6.
+* DJGPP (1): Section 7.7.
+* DJGPP (2): Chapter 9.
+* `djlink' (1): Section 8.1.1.
+* DLL symbols, exporting (1): Section 7.4.5.
+* DLL symbols, importing (1): Section 7.4.4.
+* `DO' (1): Section 3.2.
+* `DO' (2): Section 3.2.1.
+* `DO' (3): Section 3.4.4.
+* `DO' (4): Section 3.4.6.
+* DOS (1): Section 1.3.1.
+* DOS (2): Section 2.1.14.
+* DOS (3): Section 2.1.15.
+* DOS source archive (1): Section 1.3.1.
+* `DQ' (1): Section 3.2.
+* `DQ' (2): Section 3.2.1.
+* `DQ' (3): Section 3.4.4.
+* `DQ' (4): Section 3.4.6.
+* `.drectve' (1): Section 7.5.1.
+* `DT' (1): Section 3.2.
+* `DT' (2): Section 3.2.1.
+* `DT' (3): Section 3.4.4.
+* `DT' (4): Section 3.4.6.
+* `DUP' (1): Section 2.2.7.
+* `DUP' (2): Section 3.2.5.
+* `DW' (1): Section 3.2.
+* `DW' (2): Section 3.2.1.
+* `DW' (3): Section 3.4.4.
+* `DW' (4): Section 3.4.6.
+* `DWORD' (1): Section 3.1.
+* `DY' (1): Section 3.2.
+* `DY' (2): Section 3.2.1.
+* `DY' (3): Section 3.4.4.
+* `-E' option (1): Section 2.1.20.
+* `-e' option (1): Section 2.1.20.
+* `-e' option (2): Section A.3.4.
+* effective addresses (1): Section 3.1.
+* effective addresses (2): Section 3.3.
+* element size, in common variables (1): Section 7.4.8.
+* ELF (1): Section 7.9.
+* ELF, shared libraries (1): Section 7.9.3.
+* ELF, 16-bit code and (1): Section 7.9.7.
+* elf, debug formats and (1): Section 7.9.8.
+* `elf32' (1): Section 7.9.
+* `elf64' (1): Section 7.9.
+* `%elif' (1): Section 4.4.
+* `%elif' (2): Section 4.4.4.
+* `%elifctx' (1): Section 4.4.3.
+* `%elifdef' (1): Section 4.4.1.
+* `%elifempty' (1): Section 4.4.8.
+* `%elifid' (1): Section 4.4.6.
+* `%elifidn' (1): Section 4.4.5.
+* `%elifidni' (1): Section 4.4.5.
+* `%elifmacro' (1): Section 4.4.2.
+* `%elifn' (1): Section 4.4.
+* `%elifn' (2): Section 4.4.4.
+* `%elifnctx' (1): Section 4.4.3.
+* `%elifndef' (1): Section 4.4.1.
+* `%elifnempty' (1): Section 4.4.8.
+* `%elifnid' (1): Section 4.4.6.
+* `%elifnidn' (1): Section 4.4.5.
+* `%elifnidni' (1): Section 4.4.5.
+* `%elifnmacro' (1): Section 4.4.2.
+* `%elifnnum' (1): Section 4.4.6.
+* `%elifnstr' (1): Section 4.4.6.
+* `%elifntoken' (1): Section 4.4.7.
+* `%elifnum' (1): Section 4.4.6.
+* `%elifstr' (1): Section 4.4.6.
+* `%eliftoken' (1): Section 4.4.7.
+* `%else' (1): Section 4.4.
+* `endproc' (1): Section 8.4.5.
+* `endproc' (2): Section 9.1.4.
+* `%endrep' (1): Section 4.5.
+* `ENDSTRUC' (1): Section 4.11.10.
+* `ENDSTRUC' (2): Section 6.4.
+* environment (1): Section 2.1.28.
+* `EQU' (1): Section 3.2.
+* `EQU' (2): Section 3.2.4.
+* `%error' (1): Section 4.9.
+* `error' (1): Section 2.1.24.
+* error messages (1): Section 2.1.14.
+* error messages (2): Section 2.1.15.
+* error reporting format (1): Section 2.1.13.
+* escape sequences (1): Section 3.4.2.
+* `EVEN' (1): Section 4.11.12.
+* exact matches (1): Section 4.3.11.
+* `.EXE' (1): Section 7.4.
+* `.EXE' (2): Section 8.1.
+* `EXE2BIN' (1): Section 8.2.2.
+* `EXE_begin' (1): Section 8.1.2.
+* `exebin.mac' (1): Section 8.1.2.
+* `exec' (1): Section 7.9.2.
+* Executable and Linkable Format (1): Section 7.9.
+* `EXE_end' (1): Section 8.1.2.
+* `EXE_stack' (1): Section 8.1.2.
+* `%exitmacro' (1): Section 4.3.12.
+* `%exitrep' (1): Section 4.5.
+* `EXPORT' (1): Section 7.4.5.
+* `export' (1): Section 7.13.3.
+* exporting symbols (1): Section 6.6.
+* expressions (1): Section 2.1.20.
+* expressions (2): Section 3.5.
+* extension (1): Section 2.1.1.
+* extension (2): Chapter 7.
+* `EXTERN' (1): Section 6.5.
+* `EXTERN', `obj' extensions to (1): Section 7.4.7.
+* `EXTERN', `rdf' extensions to (1): Section 7.13.4.
+* extracting substrings (1): Section 4.2.3.
+* `-F' option (1): Section 2.1.11.
+* `-f' option (1): Section 2.1.2.
+* `-f' option (2): Chapter 7.
+* far call (1): Section 2.2.5.
+* far common variables (1): Section 7.4.8.
+* far pointer (1): Section 3.6.
+* `FARCODE' (1): Section 8.4.5.
+* `FARCODE' (2): Section 8.5.3.
+* `%fatal' (1): Section 4.9.
+* `__FILE__' (1): Section 4.11.4.
+* `FLAT' (1): Section 7.4.1.
+* flat memory model (1): Chapter 9.
+* flat-form binary (1): Section 7.1.
+* `FLOAT' (1): Section 6.9.
+* `__FLOAT__' (1): Section 6.9.
+* `__float128h__' (1): Section 3.4.6.
+* `__float128l__' (1): Section 3.4.6.
+* `__float16__' (1): Section 3.4.6.
+* `__float32__' (1): Section 3.4.6.
+* `__float64__' (1): Section 3.4.6.
+* `__float8__' (1): Section 3.4.6.
+* `__float80e__' (1): Section 3.4.6.
+* `__float80m__' (1): Section 3.4.6.
+* `__FLOAT_DAZ__' (1): Section 6.9.
+* `float-denorm' (1): Section 2.1.24.
+* floating-point, constants (1): Section 3.4.6.
+* floating-point, constants (2): Section 6.9.
+* floating-point, packed BCD constants (1): Section 3.4.7.
+* floating-point (1): Section 2.2.6.
+* floating-point (2): Section 3.1.
+* floating-point (3): Section 3.2.1.
+* floating-point (4): Section 3.4.6.
+* `float-overflow' (1): Section 2.1.24.
+* `__FLOAT_ROUND__' (1): Section 6.9.
+* `float-toolong' (1): Section 2.1.24.
+* `float-underflow' (1): Section 2.1.24.
+* `follows=' (1): Section 7.1.3.
+* format-specific directives (1): Chapter 6.
+* frame pointer (1): Section 8.4.3.
+* frame pointer (2): Section 8.5.1.
+* frame pointer (3): Section 9.1.2.
+* FreeBSD (1): Section 7.11.
+* FreeBSD (2): Section 9.2.
+* FreeLink (1): Section 8.1.1.
+* `ftp.simtel.net' (1): Section 8.1.1.
+* `function' (1): Section 7.9.5.
+* `function' (2): Section 7.13.3.
+* functions, C calling convention (1): Section 8.4.3.
+* functions, C calling convention (2): Section 9.1.2.
+* functions, Pascal calling convention (1): Section 8.5.1.
+* `-g' option (1): Section 2.1.12.
+* `gas' (1): Section 1.1.1.
+* `gcc' (1): Section 1.1.1.
+* `GLOBAL' (1): Section 6.6.
+* `GLOBAL', `aoutb' extensions to (1): Section 7.9.5.
+* `GLOBAL', `elf' extensions to (1): Section 7.9.5.
+* `GLOBAL', `rdf' extensions to (1): Section 7.13.3.
+* global offset table (1): Section 9.2.
+* `_GLOBAL_OFFSET_TABLE_' (1): Section 7.9.3.
+* `gnu-elf-extensions' (1): Section 2.1.24.
+* `..got' (1): Section 7.9.3.
+* `GOT' relocations (1): Section 9.2.3.
+* GOT (1): Section 7.9.3.
+* GOT (2): Section 9.2.
+* `..gotoff' (1): Section 7.9.3.
+* `GOTOFF' relocations (1): Section 9.2.2.
+* `..gotpc' (1): Section 7.9.3.
+* `GOTPC' relocations (1): Section 9.2.1.
+* `..gottpoff' (1): Section 7.9.4.
+* graphics (1): Section 3.2.3.
+* greedy macro parameters (1): Section 4.3.4.
+* `GROUP' (1): Section 7.4.2.
+* groups (1): Section 3.6.
+* `-h' (1): Section A.3.
+* hexadecimal (1): Section 3.4.1.
+* `hidden' (1): Section 7.9.5.
+* hybrid syntaxes (1): Section 2.2.2.
+* `-I' option (1): Section 2.1.16.
+* `-i' option (1): Section 2.1.16.
+* `-i' option (2): Section A.3.3.
+* `%iassign' (1): Section 4.1.7.
+* `%idefine' (1): Section 4.1.1.
+* `%idefstr' (1): Section 4.1.8.
+* `%ideftok' (1): Section 4.1.9.
+* `IEND' (1): Section 4.11.11.
+* `%if' (1): Section 4.4.
+* `%if' (2): Section 4.4.4.
+* `%ifctx' (1): Section 4.4.3.
+* `%ifctx' (2): Section 4.7.5.
+* `%ifdef' (1): Section 4.4.1.
+* `%ifempty' (1): Section 4.4.8.
+* `%ifid' (1): Section 4.4.6.
+* `%ifidn' (1): Section 4.4.5.
+* `%ifidni' (1): Section 4.4.5.
+* `%ifmacro' (1): Section 4.4.2.
+* `%ifn' (1): Section 4.4.
+* `%ifn' (2): Section 4.4.4.
+* `%ifnctx' (1): Section 4.4.3.
+* `%ifndef' (1): Section 4.4.1.
+* `%ifnempty' (1): Section 4.4.8.
+* `%ifnid' (1): Section 4.4.6.
+* `%ifnidn' (1): Section 4.4.5.
+* `%ifnidni' (1): Section 4.4.5.
+* `%ifnmacro' (1): Section 4.4.2.
+* `%ifnnum' (1): Section 4.4.6.
+* `%ifnstr' (1): Section 4.4.6.
+* `%ifntoken' (1): Section 4.4.7.
+* `%ifnum' (1): Section 4.4.6.
+* `%ifstr' (1): Section 4.4.6.
+* `%iftoken' (1): Section 4.4.7.
+* `%imacro' (1): Section 4.3.
+* `IMPORT' (1): Section 7.4.4.
+* import library (1): Section 7.4.4.
+* importing symbols (1): Section 6.5.
+* `INCBIN' (1): Section 3.2.
+* `INCBIN' (2): Section 3.2.3.
+* `INCBIN' (3): Section 3.4.4.
+* `%include' (1): Section 2.1.16.
+* `%include' (2): Section 2.1.17.
+* `%include' (3): Section 4.6.1.
+* include search path (1): Section 2.1.16.
+* including other files (1): Section 4.6.1.
+* inefficient code (1): Section 12.1.1.
+* infinite loop (1): Section 3.5.
+* `__Infinity__' (1): Section 3.4.6.
+* infinity (1): Section 3.4.6.
+* informational section (1): Section 7.5.1.
+* `INSTALL' (1): Section 1.3.2.
+* installing (1): Section 1.3.1.
+* instances of structures (1): Section 4.11.11.
+* instruction list (1): Appendix B.
+* intel hex (1): Section 7.2.
+* Intel number formats (1): Section 3.4.6.
+* `internal' (1): Section 7.9.5.
+* `%irmacro' (1): Section 4.3.1.
+* `ISTRUC' (1): Section 4.11.11.
+* iterating over macro parameters (1): Section 4.3.7.
+* `ith' (1): Section 7.2.
+* `%ixdefine' (1): Section 4.1.2.
+* `Jcc NEAR' (1): Section 12.1.2.
+* `JMP DWORD' (1): Section 10.1.
+* jumps, mixed-size (1): Section 10.1.
+* `-k' (1): Section A.3.4.
+* `-l' option (1): Section 2.1.3.
+* label prefix (1): Section 3.9.
+* `.lbss' (1): Section 7.9.2.
+* `ld86' (1): Section 7.12.
+* `.ldata' (1): Section 7.9.2.
+* `LIBRARY' (1): Section 7.13.1.
+* license (1): Section 1.1.2.
+* `%line' (1): Section 4.10.1.
+* `__LINE__' (1): Section 4.11.4.
+* linker, free (1): Section 8.1.1.
+* Linux, `a.out' (1): Section 7.10.
+* Linux, `as86' (1): Section 7.12.
+* Linux, ELF (1): Section 7.9.
+* listing file (1): Section 2.1.3.
+* little-endian (1): Section 3.4.3.
+* `%local' (1): Section 4.8.3.
+* local labels (1): Section 3.9.
+* logical AND (1): Section 4.4.4.
+* logical negation (1): Section 3.5.7.
+* logical OR (1): Section 4.4.4.
+* logical XOR (1): Section 4.4.4.
+* `.lrodata' (1): Section 7.9.2.
+* `-M' option (1): Section 2.1.4.
+* Mach, object file format (1): Section 7.8.
+* Mach-O (1): Section 7.8.
+* `macho' (1): Section 7.8.
+* `macho32' (1): Section 7.8.
+* `macho64' (1): Section 7.8.
+* MacOS X (1): Section 7.8.
+* `%macro' (1): Section 4.3.
+* macro indirection (1): Section 4.1.3.
+* macro library (1): Section 2.1.16.
+* macro processor (1): Chapter 4.
+* `macro-defaults' (1): Section 2.1.24.
+* macro-local labels (1): Section 4.3.3.
+* `macro-params' (1): Section 2.1.24.
+* macros (1): Section 3.2.5.
+* `macro-selfref' (1): Section 2.1.24.
+* `make' (1): Section 1.3.2.
+* makefile dependencies (1): Section 2.1.4.
+* makefile dependencies (2): Section 2.1.5.
+* makefiles (1): Section 1.3.1.
+* makefiles (2): Section 1.3.2.
+* man pages (1): Section 1.3.2.
+* map files (1): Section 7.1.4.
+* `MASM' (1): Section 1.1.1.
+* MASM (1): Section 2.2.
+* MASM (2): Section 3.2.5.
+* MASM (3): Section 7.4.
+* `-MD' option (1): Section 2.1.7.
+* memory models (1): Section 2.2.5.
+* memory models (2): Section 8.4.2.
+* memory operand (1): Section 3.1.
+* memory references (1): Section 2.2.2.
+* memory references (2): Section 3.3.
+* `-MF' option (1): Section 2.1.6.
+* `-MG' option (1): Section 2.1.5.
+* Microsoft OMF (1): Section 7.4.
+* minifloat (1): Section 3.4.6.
+* Minix (1): Section 7.12.
+* `misc' subdirectory (1): Section 8.1.2.
+* `misc' subdirectory (2): Section 8.4.5.
+* `misc' subdirectory (3): Section 9.1.4.
+* mixed-language program (1): Section 8.4.
+* mixed-size addressing (1): Section 10.2.
+* mixed-size instruction (1): Section 10.1.
+* `MODULE' (1): Section 7.13.2.
+* modulo operators (1): Section 3.5.6.
+* motorola s-records (1): Section 7.3.
+* `-MP' option (1): Section 2.1.10.
+* `-MQ' option (1): Section 2.1.9.
+* MS-DOS (1): Section 7.1.
+* MS-DOS device drivers (1): Section 8.3.
+* `-MT' option (1): Section 2.1.8.
+* multi-line macros (1): Section 2.1.24.
+* multi-line macros (2): Section 4.3.
+* multipass optimization (1): Section 2.1.22.
+* multiple section names (1): Section 7.1.
+* multiplication (1): Section 3.5.6.
+* `multipush' macro (1): Section 4.3.7.
+* multisection (1): Section 7.1.3.
+* `__NaN__' (1): Section 3.4.6.
+* NaN (1): Section 3.4.6.
+* NASM version (1): Section 4.11.1.
+* nasm version history (1): Appendix C.
+* nasm version id (1): Section 4.11.2.
+* nasm version string (1): Section 4.11.3.
+* `nasm.1' (1): Section 1.3.2.
+* `__NASMDEFSEG' (1): Section 7.4.
+* `nasm-devel' (1): Section 1.2.
+* `NASMENV' (1): Section 2.1.28.
+* `nasm.exe' (1): Section 1.3.1.
+* `nasm -hf' (1): Section 2.1.2.
+* `__NASM_MAJOR__' (1): Section 4.11.1.
+* `__NASM_MINOR__' (1): Section 4.11.1.
+* `nasm.out' (1): Section 2.1.1.
+* `___NASM_PATCHLEVEL__' (1): Section 4.11.1.
+* `__NASM_SNAPSHOT__' (1): Section 4.11.1.
+* `__NASM_SUBMINOR__' (1): Section 4.11.1.
+* `__NASM_VER__' (1): Section 4.11.3.
+* `__NASM_VERSION_ID__' (1): Section 4.11.2.
+* `nasm-XXX-dos.zip' (1): Section 1.3.1.
+* `nasm-XXX.tar.gz' (1): Section 1.3.2.
+* `nasm-XXX-win32.zip' (1): Section 1.3.1.
+* `nasm-XXX.zip' (1): Section 1.3.1.
+* ndisasm (1): Appendix A.
+* `ndisasm.1' (1): Section 1.3.2.
+* `ndisasm.exe' (1): Section 1.3.1.
+* near call (1): Section 2.2.5.
+* near common variables (1): Section 7.4.8.
+* NetBSD (1): Section 7.11.
+* NetBSD (2): Section 9.2.
+* new releases (1): Section 1.2.
+* `noalloc' (1): Section 7.9.2.
+* `nobits' (1): Section 7.1.3.
+* `nobits' (2): Section 7.9.2.
+* `noexec' (1): Section 7.9.2.
+* `.nolist' (1): Section 4.3.10.
+* `nowait' (1): Section 2.2.6.
+* `nowrite' (1): Section 7.9.2.
+* `number-overflow' (1): Section 2.1.24.
+* numeric constants (1): Section 3.2.1.
+* numeric constants (2): Section 3.4.1.
+* `-O' option (1): Section 2.1.22.
+* `-o' option (1): Section 2.1.1.
+* `-o' option (2): Section A.3.1.
+* `O16' (1): Section 3.1.
+* `o16' (1): Section 10.3.
+* `O32' (1): Section 3.1.
+* `o32' (1): Section 10.3.
+* `O64' (1): Section 3.1.
+* `.OBJ' (1): Section 8.1.
+* `obj' (1): Section 7.4.
+* `object' (1): Section 7.9.5.
+* `object' (2): Section 7.13.3.
+* octal (1): Section 3.4.1.
+* `OF_DBG' (1): Section 7.14.
+* `OF_DEFAULT' (1): Section 2.1.2.
+* `OFFSET' (1): Section 2.2.2.
+* OMF (1): Section 7.4.
+* omitted parameters (1): Section 4.3.5.
+* one's complement (1): Section 3.5.7.
+* OpenBSD (1): Section 7.11.
+* OpenBSD (2): Section 9.2.
+* operands (1): Section 3.1.
+* operand-size prefixes (1): Section 3.1.
+* operating system (1): Section 7.1.
+* operating system, writing (1): Section 10.1.
+* operators (1): Section 3.5.
+* `ORG' (1): Section 7.1.1.
+* `ORG' (2): Section 8.2.1.
+* `ORG' (3): Section 8.2.2.
+* `ORG' (4): Section 12.1.3.
+* `orphan-labels' (1): Section 2.1.24.
+* `orphan-labels' (2): Section 3.1.
+* OS/2 (1): Section 7.4.
+* OS/2 (2): Section 7.4.1.
+* `osabi' (1): Section 7.9.1.
+* other preprocessor directives (1): Section 4.10.
+* out of range, jumps (1): Section 12.1.2.
+* output file format (1): Section 2.1.2.
+* output formats (1): Chapter 7.
+* `__OUTPUT_FORMAT__' (1): Section 4.11.6.
+* overlapping segments (1): Section 3.6.
+* `OVERLAY' (1): Section 7.4.1.
+* overloading, multi-line macros (1): Section 4.3.2.
+* overloading, single-line macros (1): Section 4.1.1.
+* `-P' option (1): Section 2.1.17.
+* `-p' option (1): Section 2.1.17.
+* `-p' option (2): Section 4.6.1.
+* paradox (1): Section 3.8.
+* `PASCAL' (1): Section 8.5.3.
+* Pascal calling convention (1): Section 8.5.1.
+* `__PASS__' (1): Section 4.11.9.
+* `PATH' (1): Section 1.3.1.
+* `%pathsearch' (1): Section 2.1.16.
+* `%pathsearch' (2): Section 4.6.2.
+* period (1): Section 3.9.
+* Perl (1): Section 1.3.1.
+* perverse (1): Section 2.1.16.
+* PharLap (1): Section 7.4.1.
+* PIC (1): Section 7.9.3.
+* PIC (2): Section 7.11.
+* PIC (3): Section 9.2.
+* `..plt' (1): Section 7.9.3.
+* `PLT' relocations (1): Section 7.9.3.
+* `PLT' relocations (2): Section 9.2.4.
+* `PLT' relocations (3): Section 9.2.5.
+* plt relocations (1): Section 9.2.5.
+* `%pop' (1): Section 4.7.
+* `%pop' (2): Section 4.7.1.
+* position-independent code (1): Section 7.9.3.
+* position-independent code (2): Section 7.11.
+* position-independent code (3): Section 9.2.
+* `--postfix' (1): Section 2.1.27.
+* precedence (1): Section 3.5.
+* pre-defining macros (1): Section 2.1.18.
+* pre-defining macros (2): Section 4.1.1.
+* preferred (1): Section 3.6.
+* `--prefix' (1): Section 2.1.27.
+* pre-including files (1): Section 2.1.17.
+* preprocess-only mode (1): Section 2.1.20.
+* preprocessor (1): Section 2.1.20.
+* preprocessor (2): Section 2.1.21.
+* preprocessor (3): Section 3.2.4.
+* preprocessor (4): Section 3.5.6.
+* preprocessor (5): Chapter 4.
+* preprocessor expressions (1): Section 2.1.20.
+* preprocessor loops (1): Section 4.5.
+* preprocessor variables (1): Section 4.1.7.
+* primitive directives (1): Chapter 6.
+* `PRIVATE' (1): Section 7.4.1.
+* `proc' (1): Section 7.13.3.
+* `proc' (2): Section 8.4.5.
+* `proc' (3): Section 9.1.4.
+* procedure linkage table (1): Section 7.9.3.
+* procedure linkage table (2): Section 9.2.4.
+* procedure linkage table (3): Section 9.2.5.
+* processor mode (1): Section 6.1.
+* `progbits' (1): Section 7.1.3.
+* `progbits' (2): Section 7.9.2.
+* program entry point (1): Section 7.4.6.
+* program entry point (2): Section 8.1.1.
+* program origin (1): Section 7.1.1.
+* `protected' (1): Section 7.9.5.
+* pseudo-instructions (1): Section 3.2.
+* `PUBLIC' (1): Section 6.6.
+* `PUBLIC' (2): Section 7.4.1.
+* pure binary (1): Section 7.1.
+* `%push' (1): Section 4.7.
+* `%push' (2): Section 4.7.1.
+* `__QNaN__' (1): Section 3.4.6.
+* quick start (1): Section 2.2.
+* `QWORD' (1): Section 3.1.
+* `-r' (1): Section A.3.
+* `rdf' (1): Section 7.13.
+* `rdoff' subdirectory (1): Section 1.3.2.
+* `rdoff' subdirectory (2): Section 7.13.
+* recursive multi-line macros (1): Section 4.3.1.
+* redirecting errors (1): Section 2.1.14.
+* `REL' (1): Section 3.3.
+* `REL' (2): Section 6.2.
+* relational operators (1): Section 4.4.4.
+* release candidates (1): Section 1.2.
+* Relocatable Dynamic Object File Format (1): Section 7.13.
+* relocations, PIC-specific (1): Section 7.9.3.
+* removing contexts (1): Section 4.7.1.
+* renaming contexts (1): Section 4.7.4.
+* `%rep' (1): Section 3.2.5.
+* `%rep' (2): Section 4.5.
+* repeating (1): Section 3.2.5.
+* repeating (2): Section 4.5.
+* `%repl' (1): Section 4.7.4.
+* reporting bugs (1): Section 12.2.
+* `RESB' (1): Section 2.2.7.
+* `RESB' (2): Section 3.2.
+* `RESB' (3): Section 3.2.2.
+* `RESD' (1): Section 3.2.
+* `RESD' (2): Section 3.2.2.
+* `RESO' (1): Section 3.2.
+* `RESO' (2): Section 3.2.2.
+* `RESQ' (1): Section 3.2.
+* `RESQ' (2): Section 3.2.2.
+* `REST' (1): Section 3.2.
+* `REST' (2): Section 3.2.2.
+* `RESW' (1): Section 3.2.
+* `RESW' (2): Section 3.2.2.
+* `RESY' (1): Section 3.2.
+* `RESY' (2): Section 3.2.2.
+* `%rmacro' (1): Section 4.3.1.
+* `.rodata' (1): Section 7.9.2.
+* `%rotate' (1): Section 4.3.7.
+* rotating macro parameters (1): Section 4.3.7.
+* `-s' option (1): Section 2.1.15.
+* `-s' option (2): Section A.3.2.
+* searching for include files (1): Section 4.6.1.
+* `__SECT__' (1): Section 6.3.1.
+* `__SECT__' (2): Section 6.4.
+* `SECTION' (1): Section 6.3.
+* `SECTION', `elf' extensions to (1): Section 7.9.2.
+* `SECTION', `win32' extensions to (1): Section 7.5.1.
+* section alignment, in `bin' (1): Section 7.1.2.
+* section alignment, in `elf' (1): Section 7.9.2.
+* section alignment, in `obj' (1): Section 7.4.1.
+* section alignment, in `win32' (1): Section 7.5.1.
+* section, bin extensions to (1): Section 7.1.2.
+* `SEG' (1): Section 3.5.7.
+* `SEG' (2): Section 3.6.
+* `SEG' (3): Section 7.4.
+* `SEGMENT' (1): Section 6.3.
+* `SEGMENT', `elf' extensions to (1): Section 7.4.1.
+* segment address (1): Section 3.5.7.
+* segment address (2): Section 3.6.
+* segment alignment, in `bin' (1): Section 7.1.2.
+* segment alignment, in `obj' (1): Section 7.4.1.
+* segment names, Borland Pascal (1): Section 8.5.2.
+* segment override (1): Section 2.2.4.
+* segment override (2): Section 3.1.
+* segments (1): Section 3.6.
+* segments, groups of (1): Section 7.4.2.
+* separator character (1): Section 2.1.28.
+* shared libraries (1): Section 7.11.
+* shared libraries (2): Section 9.2.
+* shared library (1): Section 7.9.5.
+* `shift' command (1): Section 4.3.7.
+* signed division (1): Section 3.5.6.
+* signed modulo (1): Section 3.5.6.
+* single-line macros (1): Section 4.1.
+* size, of symbols (1): Section 7.9.5.
+* `smartalign' (1): Section 5.2.
+* `__SNaN__' (1): Section 3.4.6.
+* snapshots, daily development (1): Section 1.2.
+* Solaris x86 (1): Section 7.9.
+* `-soname' (1): Section 9.2.6.
+* sound (1): Section 3.2.3.
+* source code (1): Section 1.3.1.
+* source-listing file (1): Section 2.1.3.
+* square brackets (1): Section 2.2.2.
+* square brackets (2): Section 3.3.
+* `srec' (1): Section 7.3.
+* `STACK' (1): Section 7.4.1.
+* stack relative preprocessor directives (1): Section 4.8.
+* `%stacksize' (1): Section 4.8.2.
+* standard macro packages (1): Chapter 5.
+* standard macros (1): Section 4.11.
+* standardized section names (1): Section 6.3.
+* standardized section names (2): Section 7.5.1.
+* standardized section names (3): Section 7.9.2.
+* standardized section names (4): Section 7.10.
+* standardized section names (5): Section 7.11.
+* standardized section names (6): Section 7.12.
+* standardized section names (7): Section 7.13.
+* `..start' (1): Section 7.4.6.
+* `..start' (2): Section 8.1.1.
+* `start=' (1): Section 7.1.3.
+* `stderr' (1): Section 2.1.14.
+* `stdout' (1): Section 2.1.15.
+* `%strcat' (1): Section 4.2.1.
+* `STRICT' (1): Section 3.7.
+* string constant (1): Section 3.2.1.
+* string constants (1): Section 3.4.4.
+* string length (1): Section 4.2.2.
+* string manipulation in macros (1): Section 4.2.
+* strings (1): Section 3.4.2.
+* `%strlen' (1): Section 4.2.2.
+* `STRUC' (1): Section 4.11.10.
+* `STRUC' (2): Section 6.4.
+* `STRUC' (3): Section 8.4.4.
+* `STRUC' (4): Section 9.1.3.
+* stub preprocessor (1): Section 2.1.21.
+* `%substr' (1): Section 4.2.3.
+* subtraction (1): Section 3.5.5.
+* suppressible warning (1): Section 2.1.24.
+* suppressing preprocessing (1): Section 2.1.21.
+* switching between sections (1): Section 6.3.
+* `..sym' (1): Section 7.9.3.
+* symbol sizes, specifying (1): Section 7.9.5.
+* symbol types, specifying (1): Section 7.9.5.
+* symbols, exporting from DLLs (1): Section 7.4.5.
+* symbols, importing from DLLs (1): Section 7.4.4.
+* `synchronisation' (1): Section A.3.2.
+* `.SYS' (1): Section 7.1.
+* `.SYS' (2): Section 8.3.
+* `-t' (1): Section 2.1.23.
+* `TASM' (1): Section 1.1.1.
+* `TASM' (2): Section 2.1.23.
+* tasm (1): Section 2.2.
+* tasm (2): Section 7.4.
+* `.tbss' (1): Section 7.9.2.
+* `TBYTE' (1): Section 2.2.7.
+* `.tdata' (1): Section 7.9.2.
+* `test' subdirectory (1): Section 8.1.1.
+* testing, arbitrary numeric expressions (1): Section 4.4.4.
+* testing, context stack (1): Section 4.4.3.
+* testing, exact text identity (1): Section 4.4.5.
+* testing, multi-line macro existence (1): Section 4.4.2.
+* testing, single-line macro existence (1): Section 4.4.1.
+* testing, token types (1): Section 4.4.6.
+* `.text' (1): Section 7.9.2.
+* `.text' (2): Section 7.10.
+* `.text' (3): Section 7.11.
+* `.text' (4): Section 7.12.
+* `.text' (5): Section 7.13.
+* `_TEXT' (1): Section 8.4.2.
+* thread local storage (1): Section 7.9.4.
+* `__TIME__' (1): Section 4.11.7.
+* `__TIME_NUM__' (1): Section 4.11.7.
+* `TIMES' (1): Section 3.2.
+* `TIMES' (2): Section 3.2.5.
+* `TIMES' (3): Section 3.8.
+* `TIMES' (4): Section 12.1.3.
+* `TIMES' (5): Section 12.1.4.
+* `TLINK' (1): Section 8.2.2.
+* `tls' (1): Section 7.9.2.
+* `tls' (2): Section 7.9.4.
+* `..tlsie' (1): Section 7.9.4.
+* trailing colon (1): Section 3.1.
+* `TWORD' (1): Section 2.2.7.
+* `TWORD' (2): Section 3.1.
+* type, of symbols (1): Section 7.9.5.
+* `-U' option (1): Section 2.1.19.
+* `-u' option (1): Section 2.1.19.
+* `-u' option (2): Section A.3.
+* unary operators (1): Section 3.5.7.
+* `%undef' (1): Section 2.1.19.
+* `%undef' (2): Section 4.1.6.
+* undefining macros (1): Section 2.1.19.
+* underscore, in C symbols (1): Section 8.4.1.
+* Unicode (1): Section 3.4.2.
+* Unicode (2): Section 3.4.5.
+* uninitialized (1): Section 3.2.
+* uninitialized (2): Section 3.2.2.
+* uninitialized storage (1): Section 2.2.7.
+* Unix (1): Section 1.3.2.
+* Unix, SCO (1): Section 7.9.
+* Unix, source archive (1): Section 1.3.2.
+* Unix, System V (1): Section 7.9.
+* UnixWare (1): Section 7.9.
+* `%unmacro' (1): Section 4.3.11.
+* unrolled loops (1): Section 3.2.5.
+* unsigned division (1): Section 3.5.6.
+* unsigned modulo (1): Section 3.5.6.
+* `UPPERCASE' (1): Section 2.2.1.
+* `UPPERCASE' (2): Section 7.4.3.
+* `%use' (1): Section 4.6.4.
+* `%use' (2): Chapter 5.
+* `__USE_*__' (1): Section 4.11.8.
+* `USE16' (1): Section 6.1.1.
+* `USE16' (2): Section 7.4.1.
+* `USE32' (1): Section 6.1.1.
+* `USE32' (2): Section 7.4.1.
+* `user' (1): Section 2.1.24.
+* user-defined errors (1): Section 4.9.
+* user-level assembler directives (1): Section 4.11.
+* user-level directives (1): Chapter 6.
+* `__UTC_DATE__' (1): Section 4.11.7.
+* `__UTC_DATE_NUM__' (1): Section 4.11.7.
+* `__UTC_TIME__' (1): Section 4.11.7.
+* `__UTC_TIME_NUM__' (1): Section 4.11.7.
+* UTF-16 (1): Section 3.4.5.
+* UTF-32 (1): Section 3.4.5.
+* UTF-8 (1): Section 3.4.2.
+* `__utf16__' (1): Section 3.4.5.
+* `__utf32__' (1): Section 3.4.5.
+* `-v' option (1): Section 2.1.25.
+* VAL (1): Section 8.1.1.
+* valid characters (1): Section 3.1.
+* variable types (1): Section 2.2.3.
+* version (1): Section 2.1.25.
+* version number of NASM (1): Section 4.11.1.
+* `vfollows=' (1): Section 7.1.3.
+* Visual C++ (1): Section 7.5.
+* `vstart=' (1): Section 7.1.3.
+* `-W' option (1): Section 2.1.24.
+* `-w' option (1): Section 2.1.24.
+* `%warning' (1): Section 4.9.
+* warnings (1): Section 2.1.24.
+* `[warning *warning-name]' (1): Section 2.1.24.
+* `[warning +warning-name]' (1): Section 2.1.24.
+* `[warning -warning-name]' (1): Section 2.1.24.
+* website (1): Section 1.2.
+* `win64' (1): Section 7.6.
+* `win64' (2): Chapter 11.
+* Win64 (1): Section 7.4.
+* Win64 (2): Section 7.5.
+* Win64 (3): Chapter 9.
+* Windows (1): Section 8.1.
+* `write' (1): Section 7.9.2.
+* writing operating systems (1): Section 10.1.
+* `WRT' (1): Section 3.6.
+* `WRT' (2): Section 7.4.
+* `WRT' (3): Section 7.9.3.
+* `WRT' (4): Section 7.9.4.
+* `WRT' (5): Section 7.11.
+* `WRT ..got' (1): Section 9.2.3.
+* `WRT ..gotoff' (1): Section 9.2.2.
+* `WRT ..gotpc' (1): Section 9.2.1.
+* `WRT ..plt' (1): Section 9.2.5.
+* `WRT ..sym' (1): Section 9.2.4.
+* `www.cpan.org' (1): Section 1.3.1.
+* `www.delorie.com' (1): Section 8.1.1.
+* `www.pcorner.com' (1): Section 8.1.1.
+* `-X' option (1): Section 2.1.13.
+* `x2ftp.oulu.fi' (1): Section 8.1.1.
+* `%xdefine' (1): Section 4.1.2.
+* `-y' option (1): Section 2.1.26.
+* `-Z' option (1): Section 2.1.14.
+
+