# NASM - The Netwide Assembler

## version 3.01

## Index

- `!` operator
  3.5.12
- `!=` operator
  3.5.5
- `$`, current address
  3.5, 4.1.2
- `$`, prefix
  3.1, 3.4.1
- `$$`
  3.5, 9.10.3
- `%,`
  5.2.12
- `%[`...`]`
  5.1.6, 5.2.3
- `%`, operator
  3.5.11
- `%`, prefix to `DB` lists
  3.2.1
- `%!`
  5.1.8, 5.13.2
- `%$` and `%$$` prefixes
  5.9.2
- `%%` operator
  3.5.11, 5.5.2
- `%*?` and `%*??`
  5.2.6
- `%+`
  5.1.6, 5.2.4
- `%+1` and `%-1` syntax
  5.5.10
- `%?` and `%??`
  5.2.5
- `%0`
  5.5.5, 5.5.6
- `%00`
  5.5.7
- `%abs()`
  5.4.1
- `%arg`
  5.10.1
- `%assign`
  5.2.8, 5.4.7
- `%b2hs()`
  5.4.2
- `%chr()`
  5.4.3
- `%clear`
  5.13.3, 6
- `%cond()`
  5.4.4
- `%count()`
  5.4.5
- `%defalias`
  5.2.11, 5.6.3
- `%define`
  2.1.20, 5.2.1
- `%defstr`
  5.2.9, 5.4.20
- `%deftok`
  5.2.10, 5.4.24
- `%depend`
  5.8.3
- `%depend()`
  5.4.6
- `%elif`
  5.1.4, 5.6, 5.6.1
- `%elif`, `%elifctx`
  5.6.5, 5.9.6
- `%elif`, `%elifdef`
  5.4, 5.6.2
- `%elif`, `%elifdefalias`
  5.2.11, 5.6.3
- `%elif`, `%elifdirective`
  5.6.10, 5.6.14
- `%elif`, `%elifempty`
  5.6.9
- `%elif`, `%elifenv`
  5.6.13
- `%elif`, `%eliffile`
  5.6.12
- `%elif`, `%elifid`
  5.6.7
- `%elif`, `%elifidn`
  5.6.6
- `%elif`, `%elifidni`
  5.6.6
- `%elif`, `%elifmacro`
  5.6.4
- `%elif`, `%elifnum`
  5.6.7
- `%elif`, `%elifstr`
  5.6.7
- `%elif`, `%eliftoken`
  5.6.8
- `%elif`, `%elifusable`
  5.6.11
- `%elif`, `%elifusing`
  5.6.11
- `%elif`, backwards compatibility
  5.6.14
- `%elifn`, `%elifn`
  5.1.4, 5.6, 5.6.1
- `%elifn`, `%elifnctx`
  5.6.5, 5.9.6
- `%elifn`, `%elifndef`
  5.4, 5.6.2
- `%elifn`, `%elifndefalias`
  5.2.11, 5.6.3
- `%elifn`, `%elifndirective`
  5.6.10, 5.6.14
- `%elifn`, `%elifnempty`
  5.6.9
- `%elifn`, `%elifnenv`
  5.6.13
- `%elifn`, `%elifnfile`
  5.6.12
- `%elifn`, `%elifnid`
  5.6.7
- `%elifn`, `%elifnidn`
  5.6.6
- `%elifn`, `%elifnidni`
  5.6.6
- `%elifn`, `%elifnmacro`
  5.6.4
- `%elifn`, `%elifnnum`
  5.6.7
- `%elifn`, `%elifnstr`
  5.6.7
- `%elifn`, `%elifntoken`
  5.6.8
- `%elifn`, `%elifnusable`
  5.6.11
- `%elifn`, `%elifnusing`
  5.6.11
- `%elifn`, backwards compatibility
  5.6.14
- `%else`
  5.6
- `%endrep`
  5.7
- `%error`
  5.11
- `%eval()`
  5.2.8, 5.4.7, 5.4.9
- `%exitmacro`
  5.5.13
- `%exitrep`
  5.7
- `%fatal`
  5.11
- `%find()`
  5.4.8
- `%findi()`
  5.4.8
- `%hex()`
  5.4.9
- `%hs2b()`
  5.4.10
- `%iassign`
  5.2.8
- `%idefalias`
  5.2.11
- `%idefine`
  5.2.1
- `%idefstr`
  5.2.9
- `%ideftok`
  5.2.10
- `%if`
  5.1.4, 5.6, 5.6.1
- `%if`, `%ifctx`
  5.6.5, 5.9.6
- `%if`, `%ifdef`
  5.4, 5.6.2
- `%if`, `%ifdefalias`
  5.2.11, 5.6.3
- `%if`, `%ifdirective`
  5.6.10, 5.6.14
- `%if`, `%ifempty`
  5.6.9
- `%if`, `%ifenv`
  5.6.13
- `%if`, `%iffile`
  5.6.12
- `%if`, `%ifid`
  5.6.7
- `%if`, `%ifidn`
  5.6.6
- `%if`, `%ifidni`
  5.6.6
- `%if`, `%ifmacro`
  5.6.4
- `%if`, `%ifnum`
  5.6.7
- `%if`, `%ifstr`
  5.6.7
- `%if`, `%iftoken`
  5.6.8
- `%if`, `%ifusable`
  5.6.11
- `%if`, `%ifusing`
  5.6.11
- `%if`, backwards compatibility
  5.6.14
- `%ifn`, `%ifn`
  5.1.4, 5.6, 5.6.1
- `%ifn`, `%ifnctx`
  5.6.5, 5.9.6
- `%ifn`, `%ifndef`
  5.4, 5.6.2
- `%ifn`, `%ifndefalias`
  5.2.11, 5.6.3
- `%ifn`, `%ifndirective`
  5.6.10, 5.6.14
- `%ifn`, `%ifnempty`
  5.6.9
- `%ifn`, `%ifnenv`
  5.6.13
- `%ifn`, `%ifnfile`
  5.6.12
- `%ifn`, `%ifnid`
  5.6.7
- `%ifn`, `%ifnidn`
  5.6.6
- `%ifn`, `%ifnidni`
  5.6.6
- `%ifn`, `%ifnmacro`
  5.6.4
- `%ifn`, `%ifnnum`
  5.6.7
- `%ifn`, `%ifnstr`
  5.6.7
- `%ifn`, `%ifntoken`
  5.6.8
- `%ifn`, `%ifnusable`
  5.6.11
- `%ifn`, `%ifnusing`
  5.6.11
- `%ifn`, backwards compatibility
  5.6.14
- `%imacro`
  5.1.4, 5.5
- `%include`
  2.1.18, 2.1.19, 5.8.1
- `%is()`
  5.1.4, 5.4.11, 5.6, 5.6.1
- `%is()`, `%isctx()`
  5.4.11, 5.6, 5.6.5, 5.9.6
- `%is()`, `%isdef()`
  5.4, 5.4.11, 5.6, 5.6.2
- `%is()`, `%isdefalias()`
  5.2.11, 5.4.11, 5.6, 5.6.3
- `%is()`, `%isdirective()`
  5.4.11, 5.6, 5.6.10, 5.6.14
- `%is()`, `%isempty()`
  5.4.11, 5.6, 5.6.9
- `%is()`, `%isenv()`
  5.4.11, 5.6, 5.6.13
- `%is()`, `%isfile()`
  5.4.11, 5.6, 5.6.12
- `%is()`, `%isid()`
  5.4.11, 5.6, 5.6.7
- `%is()`, `%isidn()`
  5.4.8, 5.4.11, 5.6, 5.6.6
- `%is()`, `%isidni()`
  5.4.8, 5.4.11, 5.6, 5.6.6
- `%is()`, `%ismacro()`
  5.4.11, 5.6, 5.6.4
- `%is()`, `%isnum()`
  5.4.11, 5.6, 5.6.7
- `%is()`, `%isstr()`
  5.4.11, 5.6, 5.6.7
- `%is()`, `%istoken()`
  5.4.11, 5.6, 5.6.8
- `%is()`, `%isusable()`
  5.4.11, 5.6, 5.6.11
- `%is()`, `%isusing()`
  5.4.11, 5.6, 5.6.11
- `%isn()`
  5.1.4, 5.4.11, 5.6, 5.6.1
- `%isn()`, `%isnctx()`
  5.4.11, 5.6.5, 5.9.6
- `%isn()`, `%isndef()`
  5.4, 5.4.11, 5.6.2
- `%isn()`, `%isndefalias()`
  5.2.11, 5.4.11, 5.6.3
- `%isn()`, `%isndirective()`
  5.4.11, 5.6.10, 5.6.14
- `%isn()`, `%isnempty()`
  5.4.11, 5.6.9
- `%isn()`, `%isnenv()`
  5.4.11, 5.6.13
- `%isn()`, `%isnfile()`
  5.4.11, 5.6.12
- `%isn()`, `%isnid()`
  5.4.11, 5.6.7
- `%isn()`, `%isnidn()`
  5.4.11, 5.6.6
- `%isn()`, `%isnidni()`
  5.4.11, 5.6.6
- `%isn()`, `%isnmacro()`
  5.4.11, 5.6.4
- `%isn()`, `%isnnum()`
  5.4.11, 5.6.7
- `%isn()`, `%isnstr()`
  5.4.11, 5.6.7
- `%isn()`, `%isntoken()`
  5.4.11, 5.6.8
- `%isn()`, `%isnusable()`
  5.4.11, 5.6.11
- `%isn()`, `%isnusing()`
  5.4.11, 5.6.11
- `%ixdefine`
  5.2.2
- `%line`
  2.1.34, 5.1.3, 5.1.8, 5.13.1
- `%local`
  5.10.3
- `%macro`
  5.1.4, 5.5
- `%map()`
  5.4.12
- `%note`
  5.11
- `%null()`
  5.4.13
- `%num()`
  5.4.14
- `%ord()`
  5.4.15
- `%pathsearch`
  2.1.18, 5.8.2
- `%pathsearch()`
  5.4.16
- `%pop`
  5.9, 5.9.1
- `%pragma`
  5.12
- `%push`
  5.9, 5.9.1
- `%realpath()`
  5.4.17
- `%rep`
  3.2.5, 5.1.4, 5.7
- `%repl`
  5.9.5
- `%rotate`
  5.5.8
- `%sel()`
  5.4.4, 5.4.18
- `%selbits()`
  5.4.19
- `%stacksize`
  5.10.2
- `%str()`
  5.2.9, 5.4.20
- `%strcat`
  5.3.1, 5.4.21
- `%strcat()`
  5.4.21
- `%strlen`
  5.3.2, 5.4.22
- `%strlen()`
  5.4.22
- `%substr`
  5.3.3, 5.4.23
- `%substr()`
  5.4.23
- `%tok()`
  5.2.10, 5.4.24
- `%undef`
  2.1.21, 5.2.7
- `%unimacro`
  5.5.12
- `%unmacro`
  5.5.12
- `%use`
  5.8.4, 7
- `%warning`
  5.11
- `%xdefine`
  5.2.2
- `&` operator
  3.5.8
- `&&` operator
  3.5.4
- `*` operator
  3.5.11
- `+`, binary operator
  3.5.10
- `+`, modifier
  5.5.3
- `+`, unary operator
  3.5.12
- `-`, binary operator
  3.5.10
- `-`, unary operator
  3.5.12
- `--before` option
  2.1.30
- `--bits` option
  2.1.31
- `--gpostfix` option
  2.1.28
- `--gprefix` option
  2.1.28
- `--gsuffix` option
  2.1.28
- `--keep-all` option
  2.1.33
- `--limit-` options
  2.1.32
- `--lpostfix` option
  2.1.28
- `--lprefix` option
  2.1.28
- `--lsuffix` option
  2.1.28
- `--no-line` option
  2.1.34, 5.13.1
- `--postfix`
  2.1.28, 8.10
- `--pragma` option
  2.1.29
- `--prefix` option
  2.1.28
- `--reproducible` option
  2.1.35
- `--suffix` option
  2.1.28
- `--v` option
  2.1.27
- `-a` option
  2.1.23
- `-D` option
  2.1.20
- `-d` option
  2.1.20
- `-E` option
  2.1.22
- `-e` option
  2.1.22
- `-F` option
  2.1.13
- `-f` option
  2.1.2, 9
- `-g` option
  2.1.14
- `-I` option
  2.1.18
- `-i` option
  2.1.18
- `-L` option
  2.1.4
- `-l` option
  2.1.3
- `-M` option
  2.1.5
- `-MD` option
  2.1.8
- `-MF` option
  2.1.7
- `-MG` option
  2.1.6
- `-MP` option
  2.1.11
- `-MQ` option
  2.1.10
- `-MT` option
  2.1.9
- `-MW` option
  2.1.12
- `-O` option
  2.1.24
- `-o` option
  2.1.1
- `-P` option
  2.1.19
- `-p` option
  2.1.19, 5.8.1
- `-s` option
  2.1.17
- `-soname`, linker option
  11.2.6
- `-t` option
  2.1.25
- `-U` option
  2.1.21
- `-u` option
  2.1.21
- `-v` option
  2.1.27
- `-W` option
  2.1.26
- `-w` option
  2.1.26
- `-Werror` option
  2.1.26
- `-Wno-error` option
  2.1.26
- `-X` option
  2.1.15
- `-Z` option
  2.1.16
- `..@` symbol prefix
  3.9, 5.5.2
- `..got`
  9.10.3
- `..gotoff`
  9.10.3
- `..gotpc`
  9.10.3
- `..gottpoff`
  9.10.4
- `..plt`
  4.1.4, 9.10.3
- `..start`
  9.4.6, 10.1.1
- `..sym`
  9.10.3
- `..tlsie`
  9.10.4
- `.bss`
  9.10.2, 9.11, 9.12, 9.13
- `.COM`
  9.1, 10.2
- `.comment`
  9.10.2
- `.data`
  9.10.2, 9.11, 9.12, 9.13
- `.drectve`
  9.6.1
- `.EXE`
  9.4, 10.1
- `.lbss`
  9.10.2
- `.ldata`
  9.10.2
- `.lrodata`
  9.10.2
- `.nolist`
  5.5.11
- `.obj`
  10.1
- `.rodata`
  9.10.2
- `.SYS`
  9.1, 10.3
- `.tbss`
  9.10.2
- `.tdata`
  9.10.2
- `.text`
  9.10.2, 9.11, 9.12, 9.13
- `/` operator
  3.5.11
- `//` operator
  3.5.11
- `<` operator
  3.5.5
- `<<` operator
  3.5.9
- `<<<` operator
  3.5.9
- `<=` operator
  3.5.5
- `<=>` operator
  3.5.5
- `<>` operator
  3.5.5
- `=` operator
  3.5.5
- `==` operator
  3.5.5
- `>` operator
  3.5.5
- `>=` operator
  3.5.5
- `>>` operator
  3.5.9
- `>>>` operator
  3.5.9
- `?`, data syntax
  3.2.1, 3.2.2
- `?`, operator
  3.5.1
- `^` operator
  3.5.7
- `^^` operator
  3.5.3
- `__?ALIGNMODE?__`
  7.2
- `__?bfloat16?__`
  3.4.6
- `__?BITS?__`
  6.3
- `__?DATE?__`
  6.7
- `__?DATE_NUM?__`
  6.7
- `__?DEBUG_FORMAT?__`
  6.6
- `__?DEFAULT?__`
  6.4
- `__?FILE?__`
  6.2
- `__?FLOAT?__`
  8.13
- `__?FLOAT_DAZ?__`
  8.13
- `__?FLOAT_ROUND?__`
  8.13
- `__?float8?__`
  3.4.6
- `__?float16?__`
  3.4.6
- `__?float32?__`
  3.4.6
- `__?float64?__`
  3.4.6
- `__?float80e?__`
  3.4.6
- `__?float80m?__`
  3.4.6
- `__?float128h?__`
  3.4.6
- `__?float128l?__`
  3.4.6
- `__?Infinity?__`
  3.4.6
- `__?LINE?__`
  6.2
- `__?NaN?__`
  3.4.6
- `__?NASM_HAS_IFDIRECTIVE?__`
  5.6.2, 5.6.10, 5.6.11, 5.6.14, 6.8
- `__?NASM_MAJOR?__`
  6.1
- `__?NASM_MINOR?__`
  6.1
- `__?NASM_PATCHLEVEL?__`
  6.1
- `__?NASM_SNAPSHOT?__`
  6.1
- `__?NASM_SUBMINOR?__`
  6.1
- `__?NASM_VER?__`
  6.1.2
- `__?NASM_VERSION_ID?__`
  6.1.1
- `__?OUTPUT_FORMAT?__`
  6.5
- `__?PASS?__`
  6.10
- `__?QNaN?__`
  3.4.6
- `__?SECT?__`
  8.3.1, 8.4
- `__?SNaN?__`
  3.4.6
- `__?TIME?__`
  6.7
- `__?TIME_NUM?__`
  6.7
- `__?USE_`package`?__`
  6.9
- `__?UTC_DATE?__`
  6.7
- `__?UTC_DATE_NUM?__`
  6.7
- `__?UTC_TIME?__`
  6.7
- `__?UTC_TIME_NUM?__`
  6.7
- `__?utf16?__`
  3.4.5
- `__?utf16be?__`
  3.4.5
- `__?utf16le?__`
  3.4.5
- `__?utf32?__`
  3.4.5
- `__?utf32be?__`
  3.4.5
- `__?utf32le?__`
  3.4.5
- `__NASMDEFSEG`
  9.4
- `_DATA`
  10.4.2
- `_GLOBAL_OFFSET_TABLE_`
  9.10.3
- `_TEXT`
  10.4.2
- `|` operator
  3.5.6
- `||` operator
  3.5.2
- `~` operator
  3.5.12
- 1's complement
  3.5.12
- 2's complement
  3.5.12
- 16-bit mode, versus 32-bit mode
  8.1
- 64-bit displacement
  13.2.2
- 64-bit immediate
  4.1.1, 4.3, 13.2.1
- `a.out`, BSD version
  9.12
- `a.out`, Linux version
  9.11
- `A16`
  3.1, 12.3
- `A32`
  3.1, 12.3
- `A64`
  3.1, 12.3
- `a86`
  2.2, 2.2.2, 2.2.6
- `ABS`
  3.3, 8.2.1
- `ABSOLUTE`
  8.4, 9.4.1
- addition
  3.5.10
- address-size prefixes
  3.1
- addressing, mixed-size
  4.1.3, 12.2
- advanced performance extensions
  4.6
- Advanced Programming Extensions
- algebra
  3.3
- `ALIGN`
  6.12.1, 7.2, 9.1.2, 9.4.1
- `ALIGN`, smart
  7.2
- align, elf attribute
  9.10.2
- `ALIGNB`
  6.12.1
- alignment
  6.12
- alignment, in `bin` sections
  9.1.2
- alignment, in ELF sections
  9.10.2
- alignment, in `obj` sections
  9.4.1
- alignment, in `win32` sections
  9.6.1
- alignment, of ELF common variables
  9.10.7
- `ALIGNMODE`
  7.2
- `ALINK`
  10.1.1
- `alink.sourceforge.net`
  10.1.1
- `alloc`
  9.10.2
- alternate register names
  7.1
- `altreg`
  7.1
- ambiguity
  2.2.3
- `aout`
  9.11
- `aoutb`
  9.12, 11.2
- `APX`
  4.1.1
- APX
  4.6
- APX, optimizer
  4.6.7
- APX, syntax
  4.6
- `arg`
  10.4.5, 11.1.4
- `as86`
  9.13
- assembler directives
  8
- assembly-time options
  2.1.20
- `ASSUME`
  2.2.4
- `AT`
  6.11.2
- `auto-sync`
  B.2.3
- baddb
  3.2.1
- `bf16`
  7.3
- `bfloat16`
  3.4.6
- `bin` output format
  2.1.2, 9.1
- bin, multisection
  9.1.3
- binary
  3.4.1
- binary files
  3.2.3
- bit shift
  3.5.9
- `BITS`
  8.1, 9.1
- bitwise AND
  3.5.8
- bitwise OR
  3.5.6
- bitwise XOR
  3.5.7
- block IFs
  5.9.6
- `BND`
  8.2.2
- boolean, AND
  3.5.4
- boolean, OR
  3.5.2
- boolean, XOR
  3.5.3
- boot loader
  9.1
- boot sector
  14.1.3
- Borland, Pascal
  10.5
- Borland, Win32 compilers
  9.4
- braces, after `%` sign
  5.5.9
- braces, around macro parameters
  5.5
- BSD
  1.1, 11.2
- bug tracker
  E.2
- bugs
  E.2
- `build_version`
  9.9.6
- `BYTE`
  14.1.1
- C calling convention
  10.4.3, 11.1.2
- C symbol names
  10.4.1
- `c16.mac`
  10.4.5, 10.5.3
- `c32.mac`
  11.1.4
- `CALL`
  4.1
- `CALL FAR`
  4.1.5
- case sensitivity
  2.2.1, 5.2.1, 5.2.2, 5.2.8, 5.5, 5.6.6, 9.4.3
- changing sections
  8.3
- character constant
  3.2.1, 3.4.3
- character strings
  3.4.2
- circular references
  5.2.1
- `CLASS`
  9.4.1
- CodeView debugging format
  9.6.3
- `coff`
  9.8
- colon
  3.1
- comdat section, in win32
  9.6.1
- comdat symbol, in win32
  9.6.1
- comdat, win32 attribute
  9.6.1
- comma
  5.5.4
- command-line
  2.1, 9
- commas in macro parameters
  5.5.3
- comment
  3.1, 5.1.2
- comment, ending in `\`
  5.1.2
- comment, removal
  5.1.2
- comment, syntax
  5.1.2
- `COMMON`
  8.8, 9.4.1
- `COMMON`, ELF extensions to
  9.10.7
- `COMMON`, `obj` extensions to
  9.4.8
- Common Object File Format
  9.8
- common variables
  8.8
- common variables, alignment in ELF
  9.10.7
- common variables, element size
  9.4.8
- `comp.os.msdos.programmer`
  10.3
- compact format
  4.2
- comparison operators
  3.5.5
- concatenating macro parameters
  5.5.9
- concatenating strings
  5.3.1
- concatenation
  5.1.6
- condition codes as macro parameters
  5.5.10
- conditional assembly
  5.1.4, 5.6
- conditional comma operator
  5.2.12
- conditional jumps
  14.1.2
- conditional-return macro
  5.5.10
- constants
  3.4
- context fall-through lookup
  5.9.4
- context stack
  5.9, 5.9.6
- context-local labels
  5.1.8, 5.9.2
- context-local single-line macros
  5.9.3
- continuation line
  5.1.1, 5.1.2
- counting macro parameters
  5.5.6
- `CPU`
  8.11
- `CPUID`
  3.4.3
- creating contexts
  5.9.1
- critical expression
  3.2.2, 3.8, 5.2.8, 5.4.7, 8.4, A.1.1
- `cv8`
  9.6.3
- daily development snapshots
  E.1
- `data`
  9.10.5
- data structure
  10.4.4, 11.1.3
- `DB`
  3.2, 3.2.1, 3.4.4, 3.4.6
- `dbg`
  9.14
- `DD`
  3.2, 3.2.1, 3.4.4, 3.4.6
- debug information
  2.1.14
- debug information format
  2.1.13
- decimal
  3.4.1
- declaring structures
  6.11.1
- `DEFAULT`
  6.4, 8.2
- `default`, ELF visibility
  9.10.5
- default flags value
  4.6.5
- default macro parameters
  5.5.5
- default name
  9
- default-`WRT` mechanism
  9.4.7
- defining sections
  8.3
- design goals
  2.2.2
- detokenization
  5.1.4, 5.1.5, 5.1.8
- DevPac
  3.9
- DFV
  4.6.5
- `{dfv=}`
  4.6.5
- directives
  5.1.5
- disabling listing expansion
  5.5.11
- division
  3.5.11
- division, signed
  3.5.11
- division, unsigned
  3.5.11
- DJGPP
  9.8, 11
- `djlink`
  10.1.1
- DLL symbols, exporting
  9.4.5
- DLL symbols, importing
  9.4.4
- `DO`
  3.2, 3.2.1, 3.4.4, 3.4.6
- `[DOLLARHEX]`
  8.12
- `DQ`
  3.2, 3.2.1, 3.4.4, 3.4.6
- `DT`
  3.2, 3.2.1, 3.4.4, 3.4.6
- `DUP`
  3.2.1, 3.2.2, 3.2.5
- `DW`
  3.2, 3.2.1, 3.4.4, 3.4.6
- `DWORD`
  3.1
- `DY`
  3.2, 3.2.1, 3.4.4
- `DZ`
  3.2, 3.2.1
- effective addresses
  3.1, 3.3, 4.4
- EGPR
  4.6.1
- element size, in common variables
  9.4.8
- ELF
  9.10, 11.2
- ELF visibility
  9.10.5
- ELF, 16-bit code
  9.10.8
- ELF, debug formats
  9.10.9
- ELF, `elf32`
  9.10
- ELF, `elf64`
  9.10
- ELF, `elfx32`
  9.10
- ELF, shared libraries
  9.10.5
- `END`
  7.5
- `ENDP`
  7.5
- `endproc`
  10.4.5, 11.1.4
- `ENDS`
  7.5
- `ENDSTRUC`
  6.11.1, 8.4
- environment
  2.1.36
- `EQU`
  3.2, 3.2.4
- error messages
  2.1.16, 2.1.17
- error reporting format
  2.1.15
- escape sequences
  3.4.2
- `EVEN`
  6.12.1
- `{evex}`
  4.6.8
- exact matches
  5.5.12
- `EXE_begin`
  10.1.2
- `EXE_end`
  10.1.2
- `EXE_stack`
  10.1.2
- `EXE2BIN`
  10.2.2
- `exebin.mac`
  10.1.2
- `exec`
  9.10.2
- Executable and Linkable Format (ELF)
  9.10, 11.2
- `EXPORT`
  9.4.5
- exporting symbols
  8.7
- expressions
  2.1.22, 3.5
- extension
  2.1.1, 9
- `EXTERN`
  8.5
- `EXTERN`, ELF extensions to
  9.10.6
- `EXTERN`, `obj` extensions to
  9.4.7
- extracting substrings
  5.3.3
- far call
  2.2.5, 4.1.5
- far common variables
  9.4.8
- far jmp
  4.1.5
- far pointer
  4.1.5
- `FARCODE`
  10.4.5, 10.5.3
- `fini_array`
  9.10.2
- `FLAT`
  7.5, 9.4.1
- flat memory model
  11
- flat-form binary
  9.1
- `FLOAT`
  8.13
- floating-point
  2.2.6, 3.1, 3.4.6
- floating-point, constants
  3.2.1, 3.4.6, 8.13
- floating-point, packed BCD constants
  3.4.7
- `follows=`
  9.1.3
- format-specific directives
  8
- `fp`
  7.3
- frame pointer
  10.4.3, 10.5.1, 11.1.2
- FreeBSD
  9.12, 11.2
- FreeLink
  10.1.1
- `ftp.simtel.net`
  10.1.1
- `function`
  9.10.5
- functions, C calling convention
  10.4.3, 11.1.2
- functions, `PASCAL` calling convention
  10.5.1
- `git`
  D.4
- `GLOBAL`
  8.7
- `GLOBAL`, `aoutb` extensions to
  9.10.5
- `GLOBAL`, ELF extensions to
  9.10.5
- GOT
  9.10.3, 11.2
- GOT, global offset table
  11.2
- GOT, `GOT` relocations
  11.2.3
- GOT, `GOTOFF` relocations
  11.2.2
- GOT, `GOTPC` relocations
  11.2.1
- `[GPOSTFIX]`
- `[GPREFIX]`
- graphics
  3.2.3
- greedy macro parameters
  5.5.3
- `GROUP`
  9.4.2
- groups
  3.6
- `[GSUFFIX]`
- hexadecimal
  3.4.1
- `hidden`, ELF visibility
  9.10.5
- hybrid syntaxes
  2.2.2
- `IEND`
  6.11.2
- `ifunc`
  7.4
- `ilog2()`
  7.4.1
- `ilog2c()`
  7.4.1
- `ilog2cw()`
  7.4.1
- `ilog2e()`
  7.4.1
- `ilog2f()`
  7.4.1
- `ilog2fw()`
  7.4.1
- `ilog2w()`
  7.4.1
- `IMPORT`
  9.4.4
- import library
  9.4.4
- importing symbols
  8.5
- importing symbols, unconditionally
  8.6
- `INCBIN`
  3.2, 3.2.3, 3.4.4
- include search path
  2.1.18
- including other files
  5.8.1
- inefficient code
  14.1.1
- infinite loop
  3.5, 4.1.2
- infinity
  3.4.6
- informational section
  9.6.1
- `init_array`
  9.10.2
- inline expansions
  5.1.4, 5.1.5, 5.1.6
- instances of structures
  6.11.2
- instruction list
  F
- integer functions
  7.4
- integer logarithms
  7.4.1
- intel hex
  9.2
- Intel number formats
  3.4.6
- `internal`, ELF visibility
  9.10.5
- `ISTRUC`
  6.11.2
- iterating over macro parameters
  5.5.8
- `ith`
  9.2
- `Jcc NEAR`
  14.1.2
- `JMP`
  4.1
- `JMP DWORD`
  12.1
- `JMPABS`
  4.1.1, 4.1.6
- jumps, mixed-size
  4.1.3, 12.1
- label preceding macro
  5.5.7
- label prefix
  3.9
- label-orphan
  3.1
- last
  5.5.4
- `ld86`
  9.13
- license
  1.1.1
- linker, free
  10.1.1
- linux
  1.1, 9.10, 9.11, 11.2
- Linux, `a.out`
  9.11
- Linux, `as86`
  9.13
- Linux, ELF
  9.10
- `[LIST]`
  8.15
- list of warning classes
  A
- listing file
  2.1.3
- little-endian
  3.4.3
- local labels
  3.9
- `[LPOSTFIX]`
- `[LPREFIX]`
- `[LSUFFIX]`
- Mach-O, `macho32`
  9.9
- Mach-O, `macho64`
  9.9
- Mach-O, object file format
  9.9
- MacOS X
  9.9
- macro indirection
  5.1.6, 5.2.3
- macro library
  2.1.18
- macro name, multi-line
  5.2.5
- macro name, single line
  5.2.6
- macro parameters range
  5.5.4
- macro processor
  5
- macro-local labels
  5.1.6, 5.5.2
- macros
  3.2.5
- makefile dependencies
  2.1.5, 2.1.6
- map files
  9.1.4
- MASM
  2.2, 3.2.1, 3.2.5, 7.5, 9.4
- MASM, compatibility
  7.5
- MASM, `DB` syntax
  3.2.1, 3.2.2
- memory models
  2.2.5, 10.4.2
- memory operand
  3.1
- memory references
  2.2.2, 3.3
- `merge`
  9.10.2
- mib
  4.4
- Microsoft OMF
  9.4
- minifloat
  3.4.6
- Minix
  9.13
- `misc` subdirectory
  10.1.2, 10.4.5, 11.1.4
- mixed-size, addressing
  4.1.3, 12.2
- mixed-size, instruction
  12.1
- mixed-language program
  10.4
- modulo
  3.5.11
- modulo, signed
  3.5.11
- modulo, unsigned
  3.5.11
- moffs
  4.3
- motorola s-records
  9.3
- MS-DOS
  2.1.16, 2.1.17, 9.1, 10
- MS-DOS, device drivers
  10.3
- multi-line macro, expansion
  5.1.7
- multi-line macro
  5.1.4, 5.1.6, 5.1.7, 5.5, A.1.1
- multipass optimization
  2.1.24
- multiple section names
  9.1
- multiplication
  3.5.11
- multiplier
  9.10.2
- `multipush` macro
  5.5.8
- multisection
  9.1.3
- NaN
  3.4.6
- `nasm -h`
  2.1.2
- NASM version
- NASM version, history
  C
- NASM version, ID macro
  6.1.1
- NASM version, macros
  6.1
- NASM version, string macro
  6.1.2
- `nasm-devel`
  E.1.2
- `nasm.out`
  2.1.1
- `NASMENV`
  2.1.36
- ndd
  4.2, 4.6.2
- ndisasm
  B
- nds
  4.2
- near call
  2.2.5
- near common variables
  9.4.8
- near jump
  4.1.1
- negation, arithmetic
  3.5.12
- negation, bitwise
  3.5.12
- negation, bitwise
  3.5.12
- negation, boolean
  3.5.12
- negation, boolean
  3.5.12
- NetBSD
  9.12, 11.2
- new data destination
  4.2, 4.6.2
- new releases
  E.1
- nf
  4.6.3
- `no_dead_strip`
  9.9.4
- `noalloc`
  9.10.2
- `nobits`
  9.1.3, 9.10.2
- `NOBND`
  8.2.2
- `noexec`
  9.10.2
- non-destructive source
  4.2
- `note`
  9.10.2
- `nowrite`
  9.10.2
- NSIS
  D.2
- Nullsoft Scriptable Installer
  D.2
- numeric constants
  3.2.1, 3.4.1
- `O16`
  3.1, 12.3
- `O32`
  3.1, 12.3
- `O64`
  3.1
- `obj`
  9.4
- `obj2`
  9.5
- `object`
  9.10.5
- octal
  3.4.1
- `OF_DEFAULT`
  2.1.2
- `OFFSET`
  2.2.2, 7.5
- OMF
  9.4, 9.5
- omitted parameters
  5.5.5
- OpenBSD
  9.12, 11.2
- operand-size prefixes
  3.1
- operands
  3.1
- operating system
  9.1
- operating system, writing
  12.1
- operators
  3.5
- operators, unary
  3.5.12
- options, disassembler
  B.2
- `ORG`
  9.1.1, 10.2.1, 10.2.2, 14.1.3
- OS/2
  9.4, 9.4.1
- os/2 32-bit omf
  9.5
- `osabi`
  9.10.1
- out of range, jumps
  14.1.2
- output file format
  2.1.2
- output formats
  9
- overlapping segments
  3.6
- `OVERLAY`
  9.4.1
- overloading, multi-line macros
  5.5.1
- overloading, single-line macros
  5.2.1
- paradox
  3.8
- `PASCAL`
  10.5.3
- Pascal calling convention
  10.5.1
- period
  3.9
- PharLap
  9.4.1
- PIC
  9.10.3, 9.12, 11.2
- PLT, procedure linkage table
  4.1.4, 9.10.3, 11.2.4, 11.2.5
- PLT, relocations
  11.2.5
- pointer, elf attribute
  9.10.2
- `POP2`
  4.6.6
- `POP2P`
  4.6.6
- `POPP`
  4.6.6
- position-independent code
  9.10.3, 9.12, 11.2
- `[POSTFIX]`
- pre-defining macros
  2.1.20, 5.2.1
- pre-including files
  2.1.19
- precedence
  3.5
- preferred
  3.6
- `[PREFIX]`
- prefix
  8.10
- `preinit_array`
  9.10.2
- preprocess-only mode
  2.1.22
- preprocessor
  2.1.22, 2.1.23, 3.2.4, 3.5.11, 5
- preprocessor, comment removal
  3.5.5, 5.1.2, 9.9
- preprocessor, conditionals
  5.1.4
- preprocessor, directives
  5.1.4, 5.1.6
- preprocessor, expansions
  5.1
- preprocessor, expressions
  2.1.22
- preprocessor, functions
  5.1.6, 5.3, 5.4
- preprocessor, loops
  5.1.4, 5.7
- preprocessor, other directives
  5.13
- preprocessor, stack relative directives
  5.10
- preprocessor, variables
  5.2.8
- primitive directives
  8
- `PRIVATE`
  9.4.1
- `private_extern`
  9.9.5
- `PROC`
  7.5
- `proc`
  10.4.5, 11.1.4
- procedure linkage table
  4.1.4, 9.10.3, 11.2.4, 11.2.5
- processor mode
  8.1
- `progbits`
  9.1.3, 9.10.2
- program entry point
  9.4.6, 10.1.1
- program origin
  9.1.1
- `protected`, ELF visibility
  9.10.5
- pseudo-instructions
  3.2
- `PTR`
  7.5
- `PUBLIC`
  8.7, 9.4.1
- pure binary
  9.1
- `PUSH2`
  4.6.6
- `PUSH2P`
  4.6.6
- `PUSHP`
  4.6.6
- quick start
  2.2
- `QWORD`
  3.1
- redirecting errors
  2.1.16
- `REL`
  3.3, 8.2.1
- release candidates
  E.1
- relocations, PIC-specific
  9.10.3
- removing contexts
  5.9.1
- renaming contexts
  5.9.5
- repeating
  3.2.5, 5.7
- reporting bugs
  E.2
- `REQUIRED`
  8.6
- `RESB`
  3.2, 3.2.2
- `RESD`
  3.2, 3.2.2
- `RESO`
  3.2, 3.2.2
- `RESQ`
  3.2, 3.2.2
- `REST`
  3.2, 3.2.2
- `RESW`
  3.2, 3.2.2
- `RESY`
  3.2, 3.2.2
- `RESZ`
  3.2, 3.2.2
- `{rex}`
  C.2.4
- `{rex2}`
  4.6.8
- REX2 prefix
  4.6
- rotating macro parameters
  5.5.8
- Scc
  4.6.5
- searching for include files
  5.8.1
- `SECTALIGN`
  6.12.2
- `SECTION`
  8.3
- section alignment, in `bin`
  9.1.2
- section alignment, in ELF
  9.10.2
- section alignment, in `obj`
  9.4.1
- section alignment, in `win32`
  9.6.1
- `SECTION`, `bin` extensions to
  9.1.2
- `SECTION`, ELF extensions to
  9.10.2
- `SECTION`, Mach-O extensions to
  9.9.1
- `SECTION`, Windows extensions to
  9.6.1
- `SEG`
  3.6, 9.4
- `SEGMENT`
  7.5, 8.3
- segment address
  3.5.12, 3.6
- segment alignment, in `bin`
  9.1.2
- segment alignment, in `obj`
  9.4.1
- segment names, Borland Pascal
  10.5.2
- `SEGMENT`, `obj` extensions to
  9.4.1
- segment override
  2.2.4, 3.1
- segments
  3.6
- segments, groups of
  9.4.2
- separator character
  2.1.36
- shared libraries
  9.12, 11.2
- `shift` command
  5.5.8
- signed, bit shift
  3.5.9
- signed, division
  3.5.11
- signed, modulo
  3.5.11
- single-line macros
  5.1.6, 5.2, A.1.1
- size, of symbols
  9.10.5
- `smartalign`
  7.2
- snapshots, daily development
  E.1
- Solaris x86
  9.10
- sound
  3.2.3
- source condition code
  4.6.5
- source-listing file
  2.1.3
- split ea
  4.4
- square brackets
  2.2.2, 3.3
- `srec`
  9.3
- `STACK`
  9.4.1
- standard macro packages
  7
- standard macros
  6
- standardized section names
  8.3, 9.6.1, 9.10.2, 9.11, 9.12, 9.13
- `start=`
  9.1.3
- `STATIC`
  8.9
- `stderr`
  2.1.16
- `stdout`
  2.1.17
- `STRICT`
  3.7
- string
  3.4.2
- string, constants
  3.2.1, 3.4.2, 3.4.4
- string, length
  5.3.2
- string, manipulation in macros
  5.3
- strings, elf attribute
  9.10.2
- `strong`
  9.10.5
- `STRUC`
  6.11.1, 8.4, 10.4.4, 11.1.3
- structure data types
  6.11
- stub preprocessor
  2.1.23
- `subsections_via_symbols`
  9.9.3
- subtraction
  3.5.10
- `[SUFFIX]`
- `suffix`
  2.1.28, 8.10
- suppressing preprocessing
  2.1.23
- switching between sections
  8.3
- symbols, exporting from DLLs
  9.4.5
- symbols, importing from DLLs
  9.4.4
- symbols, specifying sizes
  9.10.5
- symbols, specifying types
  9.10.5
- synchronization
  B.2.2
- syntax, APX
  4.6
- TASM
  2.1.25, 2.2, 9.4
- `TBYTE`
  2.2.7, 7.5
- `test` subdirectory
  10.1.1
- testing, arbitrary numeric expressions
  5.6.1
- testing, context stack
  5.6.5
- testing, exact text identity
  5.6.6
- testing, multi-line macro existence
  5.6.4
- testing, single-line macro alias existence
  5.6.3
- testing, single-line macro existence
  5.6.2
- testing, token types
  5.6.7
- thread local storage, in ELF
  9.10.4
- thread local storage, in Mach-O
  9.9.2
- `TIMES`
  3.2, 3.2.5, 3.8, 14.1.3, 14.1.4
- `TLINK`
  10.2.2
- tls
  9.9.2, 9.10.2, 9.10.4
- `TLS`
- trailing colon
  3.1
- `TWORD`
  2.2.7, 3.1
- type, of symbols
  9.10.5
- unary operators
  3.5.12
- undefining macros
  2.1.21
- underscore, in C symbols
  10.4.1
- Unicode
  3.4.2, 3.4.5
- Unicode, UTF-8
  3.4.2, 3.4.5
- Unicode, UTF-16
  3.4.5
- Unicode, UTF-32
  3.4.5
- uninitialized storage
  2.2.7, 3.2, 3.2.1, 3.2.2
- uninitialized storage, `D`x ?
  3.2.1, 3.2.2
- uninitialized storage, `RES`x
  3.2, 3.2.2
- Unix
- Unix, BSD
  1.1, 11.2
- Unix, Linux
  1.1, 9.10, 9.11, 11.2
- Unix, SCO
  9.10
- Unix, Solaris
  9.10
- Unix, System V
  9.10
- Unix, UnixWare
  9.10
- unrolled loops
  3.2.5
- unsigned, bit shift
  3.5.9
- unsigned, division
  3.5.11
- unsigned, modulo
  3.5.11
- `UPPERCASE`
  2.2.1, 9.4.3
- `USE16`
  8.1.1, 9.4.1
- `USE32`
  8.1.1, 9.4.1
- user-generated diagnostics
  5.11
- user-level directives
  6, 8
- VAL
  10.1.1
- valid characters
  3.1
- variable types
  2.2.3
- variables, preprocessor
  5.2.8
- version
  2.1.27
- version number of nasm
  6.1
- `VEX`
  4.2
- `vfollows=`
  9.1.3
- visibility, ELF
  9.10.5
- Visual C++
  9.6
- `VPTERNLOGD`
  4.5, 7.6
- `VPTERNLOGQ`
  4.5, 7.6
- `vstart=`
  9.1.3
- `vtern`
  4.5, 7.6
- `[WARNING]`
  2.1.26, 8.14
- warning class
  A
- warning class, `all`
  A.2
- warning class, `bad-pragma`
  A.3
- warning class, `bnd`
  A.3
- warning class, `db-empty`
  A.1.1
- warning class, `directive-garbage-eol`
  A.1.2
- warning class, `ea`
  A.2
- warning class, `ea-absolute`
  A.1.1
- warning class, `ea-dispsize`
  A.1.1
- warning class, `environment`
  A.3
- warning class, `float`
  A.2
- warning class, `float-denorm`
  A.1.3
- warning class, `float-overflow`
  A.1.1
- warning class, `float-toolong`
  A.1.1
- warning class, `float-underflow`
  A.1.3
- warning class, `forward`
  A.1.1
- warning class, `hle`
  A.3
- warning class, `implicit-abs-deprecated`
  A.1.1
- warning class, `label`
  A.2
- warning class, `label-orphan`
  A.1.1
- warning class, `label-redef`
  A.1.3
- warning class, `label-redef-late`
  A.1.2
- warning class, `lock`
  A.3
- warning class, `macro-def-case-single`
  A.3
- warning class, `macro-def-greedy-single`
  A.3
- warning class, `macro-def-param-single`
  A.3
- warning class, `macro-defaults`
  A.3
- warning class, `macro-params-legacy`
  A.3
- warning class, `macro-params-multi`
  A.3
- warning class, `macro-params-single`
  A.3
- warning class, `negative-rep`
  A.3
- warning class, `not-my-pragma`
  A.3
- warning class, `number`
  A.2
- warning class, `number-deprecated-hex`
  A.1.1
- warning class, `number-overflow`
  A.1.1
- warning class, `obsolete`
  A.2
- warning class, `obsolete-nop`
  A.1.1
- warning class, `obsolete-removed`
  A.1.1
- warning class, `obsolete-valid`
  A.1.1
- warning class, `orphan-labels`
  A.3
- warning class, `other`
  A.1.1
- warning class, `phase`
  A.1.3
- warning class, `pp`
  A.2
- warning class, `pp-else`
  A.2
- warning class, `pp-else-elif`
  A.1.1
- warning class, `pp-else-else`
  A.1.1
- warning class, `pp-empty-braces`
  A.1.1
- warning class, `pp-environment`
  A.1.1
- warning class, `pp-macro`
  A.2
- warning class, `pp-macro-def`
  A.2
- warning class, `pp-macro-def-case-single`
  A.1.1
- warning class, `pp-macro-def-greedy-single`
  A.1.1
- warning class, `pp-macro-def-param-single`
  A.1.2
- warning class, `pp-macro-defaults`
  A.1.1
- warning class, `pp-macro-params`
  A.2
- warning class, `pp-macro-params-legacy`
  A.1.1
- warning class, `pp-macro-params-multi`
  A.1.1
- warning class, `pp-macro-params-single`
  A.1.1
- warning class, `pp-macro-redef-multi`
  A.1.1
- warning class, `pp-open`
  A.2
- warning class, `pp-open-braces`
  A.1.1
- warning class, `pp-open-brackets`
  A.1.1
- warning class, `pp-open-string`
  A.1.1
- warning class, `pp-rep-negative`
  A.1.1
- warning class, `pp-sel-range`
  A.1.1
- warning class, `pp-trailing`
  A.1.1
- warning class, `pragma`
  A.2
- warning class, `pragma-bad`
  A.1.3
- warning class, `pragma-empty`
  A.1.3
- warning class, `pragma-na`
  A.1.3
- warning class, `pragma-unknown`
  A.1.3
- warning class, `prefix`
  A.2
- warning class, `prefix-badmode-o64`
  A.1.2
- warning class, `prefix-bnd`
  A.1.1
- warning class, `prefix-hint-dropped`
  A.1.1
- warning class, `prefix-hle`
  A.1.1
- warning class, `prefix-invalid`
  A.1.1
- warning class, `prefix-lock`
  A.2
- warning class, `prefix-lock-error`
  A.1.1
- warning class, `prefix-lock-xchg`
  A.1.1
- warning class, `prefix-opsize`
  A.1.1
- warning class, `prefix-seg`
  A.1.1
- warning class, `ptr`
  A.1.1
- warning class, `regsize`
  A.1.1
- warning class, `reloc`
  A.2
- warning class, `reloc-abs`
  A.2
- warning class, `reloc-abs-byte`
  A.1.3
- warning class, `reloc-abs-dword`
  A.1.3
- warning class, `reloc-abs-qword`
  A.1.3
- warning class, `reloc-abs-word`
  A.1.3
- warning class, `reloc-rel`
  A.2
- warning class, `reloc-rel-byte`
  A.1.3
- warning class, `reloc-rel-dword`
  A.1.3
- warning class, `reloc-rel-qword`
  A.1.3
- warning class, `reloc-rel-word`
  A.1.3
- warning class, `section-alignment-rounded`
  A.1.1
- warning class, `unknown-pragma`
  A.3
- warning class, `unknown-warning`
  A.1.3
- warning class, `user`
  A.1.1
- warning class, `warn-stack-empty`
  A.1.1
- warning class, `zeroing`
  A.1.1
- warning class, `zext-reloc`
  A.1.1
- warning classes, list
  A
- warnings
  2.1.26
- `weak`
  9.10.5, 9.10.6
- website
  E.1
- Win32
  9.4, 9.6, 11
- Win64
  9.7, 13
- Windows
  10.1
- windows 3.x
  10
- Windows, debugging formats
  9.6.3
- `write`
  9.10.2
- writing operating systems
  12.1
- `WRT`
  3.6, 4.1.4, 9.4, 9.9.2, 9.10.3, 9.10.4, 9.12
- `WRT`, `..got`
  11.2.3
- `WRT`, `..gotoff`
  11.2.2
- `WRT`, `..gotpc`
  11.2.1
- `WRT`, `..plt`
  11.2.5
- `WRT`, `..sym`
  11.2.4
- `www.delorie.com`
  10.1.1
- `www.pcorner.com`
  10.1.1
- `x2ftp.oulu.fi`
  10.1.1
- x32 ABI (ELF)
  9.10
- zero upper
  4.6.4
- zu
  4.6.4