16-bit mode, versus 32-bit mode:
Section 6.1
64-bit displacement: Section 11.2
64-bit immediate: Section 11.2
addition: Section 3.5.5
addressing, mixed-size:
Section 10.2
address-size prefixes: Section 3.1
algebra: Section 3.3
alignment, in 
alignment, in 
alignment, in 
alignment, in 
alignment, of 
alternate register names:
Section 5.1
ambiguity: Section 2.2.3
assembler directives: Chapter 6
assembly-time options:
Section 2.1.18
Autoconf: Section 1.3.2
bin: Section 2.1.1,
Section 2.1.2,
Section 7.1
bin, multisection: Section 7.1.3
binary: Section 3.4.1
binary files: Section 3.2.3
bit shift: Section 3.5.4
bitwise AND: Section 3.5.3
bitwise OR: Section 3.5.1
bitwise XOR: Section 3.5.2
block IFs: Section 4.7.5
boot loader: Section 7.1
boot sector: Section 12.1.3
Borland, Pascal: Section 8.5
Borland, Win32 compilers:
Section 7.2
braces, after 
braces, around macro parameters:
Section 4.3
BSD: Section 9.2
bugs: Section 12.2
C calling convention:
Section 8.4.3,
Section 9.1.2
C symbol names: Section 8.4.1
case sensitivity: Section 2.2.1,
Section 4.1.1,
Section 4.1.2,
Section 4.1.6,
Section 4.3,
Section 4.4.5,
Section 7.2.3
changing sections: Section 6.3
character constant:
Section 3.2.1,
Section 3.4.3
character strings: Section 3.4.2
circular references:
Section 4.1.1
colon: Section 3.1
command-line: Section 2.1,
Chapter 7
commas in macro parameters:
Section 4.3.3
Common Object File Format:
Section 7.5
common variables: Section 6.7
common variables, alignment in 
common variables, element size:
Section 7.2.8
concatenating macro parameters:
Section 4.3.7
concatenating strings:
Section 4.2.1
condition codes as macro parameters:
Section 4.3.8
conditional assembly: Section 4.4
conditional jumps:
Section 12.1.2
conditional-return macro:
Section 4.3.8
constants: Section 3.4
context stack: Section 4.7,
Section 4.7.5
context-local labels:
Section 4.7.2
context-local single-line macros:
Section 4.7.3
counting macro parameters:
Section 4.3.5
creating contexts: Section 4.7.1
critical expression:
Section 3.2.2,
Section 3.8,
Section 4.1.6,
Section 6.4
data structure: Section 8.4.4,
Section 9.1.3
debug information:
Section 2.1.12
debug information format:
Section 2.1.11
declaring structures:
Section 4.11.10
default macro parameters:
Section 4.3.4
default name: Chapter 7
default-
defining sections: Section 6.3
design goals: Section 2.2.2
DevPac: Section 3.2.3,
Section 3.9
disabling listing expansion:
Section 4.3.9
division: Section 3.5.6
DJGPP: Section 7.5,
Chapter 9
DLL symbols, exporting:
Section 7.2.5
DLL symbols, importing:
Section 7.2.4
DOS: Section 1.3.1,
Section 2.1.14,
Section 2.1.15
DOS archive:
DOS source archive: Section 1.3.1
effective addresses: Section 3.1,
Section 3.3
element size, in common variables:
Section 7.2.8
ELF: Section 2.1.1,
Section 7.7
ELF, shared libraries:
Section 7.7.3
ELF, 16-bit code and:
Section 7.7.6
elf, debug formats and:
Section 7.7.7
e-mail: Section 1.2
environment: Section 2.1.28
error messages: Section 2.1.14,
Section 2.1.15
error reporting format:
Section 2.1.13
escape sequences: Section 3.4.2
exact matches: Section 4.3.10
Executable and Linkable Format:
Section 7.7
exporting symbols: Section 6.6
expressions: Section 2.1.20,
Section 3.5
extension: Section 2.1.1,
Chapter 7
extracting substrings:
Section 4.2.3
far call: Section 2.2.5
far common variables:
Section 7.2.8
far pointer: Section 3.6
flat memory model: Chapter 9
flat-form binary: Section 7.1
floating-point, constants:
Section 3.4.6,
Section 6.9
floating-point, packed BCD constants:
Section 3.4.7
floating-point: Section 2.2.6,
Section 3.1,
Section 3.2.1,
Section 3.4.6
format-specific directives: Chapter 6
frame pointer: Section 8.4.3,
Section 8.5.1,
Section 9.1.2
FreeBSD: Section 7.9,
Section 9.2
FreeLink: Section 8.1.1
functions, C calling convention:
Section 8.4.3,
Section 9.1.2
functions, Pascal calling convention:
Section 8.5.1
global offset table: Section 9.2
GOT: Section 7.7.3,
Section 9.2
graphics: Section 3.2.3
greedy macro parameters:
Section 4.3.3
groups: Section 3.6
hex: Section 3.4.1
hybrid syntaxes: Section 2.2.2
import library: Section 7.2.4
importing symbols: Section 6.5
include search path:
Section 2.1.16
including other files:
Section 4.6.1
inefficient code: Section 12.1.1
infinite loop: Section 3.5
infinity: Section 3.4.6
informational section:
Section 7.3.1
installing: Section 1.3.1
instances of structures:
Section 4.11.11
instruction list: Appendix B
Intel number formats:
Section 3.4.6
iterating over macro parameters:
Section 4.3.6
jumps, mixed-size: Section 10.1
label prefix: Section 3.9
license: Section 1.1.2
linker, free: Section 8.1.1
Linux, 
Linux, 
Linux, ELF: Section 7.7
listing file: Section 2.1.3
little-endian: Section 3.4.3
local labels: Section 3.9
logical AND: Section 4.4.4
logical negation: Section 3.5.7
logical OR: Section 4.4.4
logical XOR: Section 4.4.4
mac osx: Section 7.6
mach object file format:
Section 7.6
macro library: Section 2.1.16
macro processor: Chapter 4
macro-local labels: Section 4.3.2
macros: Section 3.2.5
makefile dependencies:
Section 2.1.4,
Section 2.1.5
makefiles: Section 1.3.1,
Section 1.3.2
man pages: Section 1.3.2
map files: Section 7.1.4
MASM: Section 2.2,
Section 3.2.5,
Section 7.2
memory models: Section 2.2.5,
Section 8.4.2
memory operand: Section 3.1
memory references: Section 2.2.2,
Section 3.3
Microsoft OMF: Section 7.2
minifloat: Section 3.4.6
Minix: Section 7.10
mixed-language program: Section 8.4
mixed-size addressing:
Section 10.2
mixed-size instruction:
Section 10.1
MMX registers:
ModR/M byte:
modulo operators: Section 3.5.6
MS-DOS: Section 7.1
MS-DOS device drivers: Section 8.3
multi-line macros:
Section 2.1.24,
Section 4.3
multipass optimization:
Section 2.1.22
multiple section names: Section 7.1
multiplication: Section 3.5.6
NaN: Section 3.4.6
NASM version: Section 4.11.1
nasm version history: Appendix C
nasm version id: Section 4.11.2
nasm version string:
Section 4.11.3
ndisasm: Appendix A
near call: Section 2.2.5
near common variables:
Section 7.2.8
NetBSD: Section 7.9,
Section 9.2
new releases: Section 1.2
`nowait': Section 2.2.6
numeric constants: Section 3.2.1,
Section 3.4.1
octal: Section 3.4.1
OMF: Section 7.2
omitted parameters: Section 4.3.4
one's complement: Section 3.5.7
OpenBSD: Section 7.9,
Section 9.2
operands: Section 3.1
operand-size prefixes: Section 3.1
operating system: Section 7.1
operating system, writing:
Section 10.1
operators: Section 3.5
OS/2: Section 7.2,
Section 7.2.1
other preprocessor directives:
Section 4.10
out of range, jumps:
Section 12.1.2
output file format: Section 2.1.2
output formats: Chapter 7
overlapping segments: Section 3.6
overloading, multi-line macros:
Section 4.3.1
overloading, single-line macros:
Section 4.1.1
paradox: Section 3.8
Pascal calling convention:
Section 8.5.1
passes, assembly:
period: Section 3.9
Perl: Section 1.3.1
perverse: Section 2.1.16
PharLap: Section 7.2.1
PIC: Section 7.7.3,
Section 7.9,
Section 9.2
plt relocations: Section 9.2.5
position-independent code:
Section 7.7.3,
Section 7.9,
Section 9.2
precedence: Section 3.5
pre-defining macros:
Section 2.1.18,
Section 4.1.1
preferred: Section 3.6
pre-including files:
Section 2.1.17
preprocess-only mode:
Section 2.1.20
preprocessor: Section 2.1.20,
Section 2.1.21,
Section 3.2.4,
Section 3.5.6,
Chapter 4
preprocessor expressions:
Section 2.1.20
preprocessor loops: Section 4.5
preprocessor variables:
Section 4.1.6
primitive directives: Chapter 6
procedure linkage table:
Section 7.7.3,
Section 9.2.4,
Section 9.2.5
processor mode: Section 6.1
program entry point:
Section 7.2.6,
Section 8.1.1
program origin: Section 7.1.1
pseudo-instructions: Section 3.2
pure binary: Section 7.1
quick start: Section 2.2
redirecting errors:
Section 2.1.14
relational operators:
Section 4.4.4
Relocatable Dynamic Object File Format:
Section 7.11
relocations, PIC-specific:
Section 7.7.3
removing contexts: Section 4.7.1
renaming contexts: Section 4.7.4
repeating: Section 3.2.5,
Section 4.5
reporting bugs: Section 12.2
rotating macro parameters:
Section 4.3.6
searching for include files:
Section 4.6.1
section alignment, in 
section alignment, in 
section alignment, in 
section alignment, in 
section, bin extensions to:
Section 7.1.2
segment address: Section 3.5.7,
Section 3.6
segment alignment, in 
segment alignment, in 
segment names, Borland Pascal:
Section 8.5.2
segment override: Section 2.2.4,
Section 3.1
segments: Section 3.6
segments, groups of:
Section 7.2.2
separator character:
Section 2.1.28
shared libraries: Section 7.9,
Section 9.2
shared library: Section 7.7.4
SIB byte:
signed division: Section 3.5.6
signed modulo: Section 3.5.6
single-line macros: Section 4.1
size, of symbols: Section 7.7.4
Solaris x86: Section 7.7
sound: Section 3.2.3
source code: Section 1.3.1
source-listing file:
Section 2.1.3
square brackets: Section 2.2.2,
Section 3.3
stack relative preprocessor directives:
Section 4.8
standard macro packages: Chapter 5
standard macros: Section 4.11
standardized section names:
Section 6.3,
Section 7.3.1,
Section 7.7.2,
Section 7.8,
Section 7.9,
Section 7.10,
Section 7.11
string constant: Section 3.2.1
string constants: Section 3.4.4
string length: Section 4.2.2
string manipulation in macros:
Section 4.2
strings: Section 3.4.2
stub preprocessor:
Section 2.1.21
subtraction: Section 3.5.5
suppressible warning:
Section 2.1.24
suppressing preprocessing:
Section 2.1.21
switching between sections:
Section 6.3
symbol sizes, specifying:
Section 7.7.4
symbol types, specifying:
Section 7.7.4
symbols, exporting from DLLs:
Section 7.2.5
symbols, importing from DLLs:
Section 7.2.4
tasm: Section 2.2,
Section 7.2
testing, arbitrary numeric expressions:
Section 4.4.4
testing, context stack:
Section 4.4.3
testing, exact text identity:
Section 4.4.5
testing, multi-line macro existence:
Section 4.4.2
testing, single-line macro existence:
Section 4.4.1
testing, token types:
Section 4.4.6
trailing colon: Section 3.1
type, of symbols: Section 7.7.4
unary operators: Section 3.5.7
undefining macros:
Section 2.1.19
underscore, in C symbols:
Section 8.4.1
Unicode: Section 3.4.2,
Section 3.4.5
uninitialized: Section 3.2,
Section 3.2.2
uninitialized storage:
Section 2.2.7
Unix: Section 1.3.2
Unix, SCO: Section 7.7
Unix, source archive:
Section 1.3.2
Unix, System V: Section 7.7
UnixWare: Section 7.7
unrolled loops: Section 3.2.5
unsigned division: Section 3.5.6
unsigned modulo: Section 3.5.6
user-defined errors: Section 4.9
user-level assembler directives:
Section 4.11
user-level directives: Chapter 6
UTF-16: Section 3.4.5
UTF-32: Section 3.4.5
UTF-8: Section 3.4.2
VAL: Section 8.1.1
valid characters: Section 3.1
variable types: Section 2.2.3
version: Section 2.1.25
version number of NASM:
Section 4.11.1
Visual C++: Section 7.3
warnings: Section 2.1.24
Win64: Section 2.1.1,
Section 7.2,
Section 7.3,
Chapter 9
Windows: Section 8.1
Windows 95:
Windows NT:
writing operating systems:
Section 10.1
WWW page: Section 1.2