The Netwide Assembler: NASM

Contents

!= operator: Section 4.4.4
$$ token: Section 3.5, Section 6.5.2
$, Here token: Section 3.5
$, prefix: Section 3.1, Section 3.4.1, Section 6.9.2
% operator: Section 3.5.6
%!: Section 4.10.2
%$ and %$$ prefixes: Section 4.7.2
%% operator: Section 3.5.6, Section 4.3.2
%+: Section 4.1.3
%+1 and %-1 syntax: Section 4.3.8
%0 parameter count: Section 4.3.4, Section 4.3.5
& operator: Section 3.5.3
&& operator: Section 4.4.4
* operator: Section 3.5.6
+ modifier: Section 4.3.3
+ operator, binary: Section 3.5.5
+ operator, unary: Section 3.5.7
- operator, binary: Section 3.5.5
- operator, unary: Section 3.5.7
..@ symbol prefix: Section 3.9, Section 4.3.2
/ operator: Section 3.5.6
// operator: Section 3.5.6
< operator: Section 4.4.4
<< operator: Section 3.5.4
<= operator: Section 4.4.4
<> operator: Section 4.4.4
= operator: Section 4.4.4
== operator: Section 4.4.4
> operator: Section 4.4.4
>= operator: Section 4.4.4
>> operator: Section 3.5.4
? MASM syntax: Section 3.2.2
^ operator: Section 3.5.2
^^ operator: Section 4.4.4
| operator: Section 3.5.1
|| operator: Section 4.4.4
~ operator: Section 3.5.7
-a option: Section 2.1.15, Section A.3.3
a16: Section 9.3, Section B.4.27, Section B.4.121, Section B.4.141, Section B.4.178, Section B.4.195, Section B.4.244, Section B.4.263, Section B.4.286, Section B.4.303, Section B.4.334
a32: Section 9.3, Section B.4.27, Section B.4.121, Section B.4.141, Section B.4.178, Section B.4.195, Section B.4.244, Section B.4.263, Section B.4.286, Section B.4.303, Section B.4.334
a86: Section 1.1.1, Section 2.2, Section 2.2.2, Section 2.2.6
AAA: Section B.4.1
AAD: Section B.4.1
AAM: Section B.4.1
AAS: Section B.4.1
ABSOLUTE: Section 5.3, Section 6.2.1
ADC: Section B.4.2
ADD: Section B.4.3
addition: Section 3.5.5
ADDPD: Section B.4.4
ADDPS: Section B.4.5
addressing, mixed-size: Section 9.2
address-size prefixes: Section 3.1
ADDSD: Section B.4.6
ADDSS: Section B.4.7
algebra: Section 3.3
ALIGN: Section 4.8.7, Section 6.1.2, Section 6.2.1
ALIGNB: Section 4.8.7
alignment, in bin sections: Section 6.1.2
alignment, in elf sections: Section 6.5.1
alignment, in obj sections: Section 6.2.1
alignment, in win32 sections: Section 6.3.1
alignment, of elf common variables: Section 6.5.4
ALINK: Section 7.1.1
alink.sourceforge.net: Section 7.1.1
alloc: Section 6.5.1
alt.lang.asm: Section 1.1.1, Section 1.2
ambiguity: Section 2.2.3
AND: Section B.4.8
ANDNPD: Section B.4.9
ANDNPS: Section B.4.10
ANDPD: Section B.4.11
ANDPS: Section B.4.12
a.out, BSD version: Section 6.7
a.out, Linux version: Section 6.6
aout: Section 2.1.1, Section 6.6
aoutb: Section 6.7, Section 8.2
%arg: Section 4.9.1
arg: Section 7.4.5, Section 8.1.4
ARPL: Section B.4.13
as86: Section 1.1.1, Section 2.1.1, Section 6.8
assembler directives: Chapter 5
assembly passes: Section 3.8
assembly-time options: Section 2.1.12
%assign: Section 4.1.5
ASSUME: Section 2.2.4
AT: Section 4.8.6
Autoconf: Section 1.3.2
autoexec.bat: Section 1.3.1
auto-sync: Section A.3.3
-b: Section A.3
bin: Section 2.1.1, Section 2.1.2, Section 6.1
bin, multisection: Section 6.1.3
binary: Section 3.4.1
binary files: Section 3.2.3
16-bit mode, versus 32-bit mode: Section 5.1
bit shift: Section 3.5.4
BITS: Section 5.1, Section 6.1
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 6.1
boot sector: Section 10.1.3
Borland, Pascal: Section 7.5
Borland, Win32 compilers: Section 6.2
BOUND: Section B.4.14
braces, after % sign: Section 4.3.7
braces, around macro parameters: Section 4.3
BSD: Section 8.2
BSF: Section B.4.15
BSR: Section B.4.15
.bss: Section 6.5.1, Section 6.6, Section 6.7, Section 6.8, Section 6.9
BSWAP: Section B.4.16
BT: Section B.4.17
BTC: Section B.4.17
BTR: Section B.4.17
BTS: Section B.4.17
bugs: Section 10.2
bugtracker: Section 10.2
BYTE: Section 10.1.1
C calling convention: Section 7.4.3, Section 8.1.2
C symbol names: Section 7.4.1
CALL: Section B.4.18
CALL FAR: Section 3.6
case sensitivity: Section 2.2.1, Section 4.1.1, Section 4.1.2, Section 4.1.5, Section 4.3, Section 4.4.5, Section 6.2.3
CBW: Section B.4.19
CDQ: Section B.4.19
changing sections: Section 5.2
character constant: Section 3.2.1, Section 3.4.2
circular references: Section 4.1.1
CLASS: Section 6.2.1
CLC: Section B.4.20
CLD: Section B.4.20
%clear: Section 4.8
CLFLUSH: Section B.4.21
CLI: Section B.4.20
CLTS: Section B.4.20
c16.mac: Section 7.4.5, Section 7.5.3
c32.mac: Section 8.1.4
CMC: Section B.4.22
CMOVcc: Section B.4.23
CMP: Section B.4.24
CMPccPD: Section B.4.25
CMPccPS: Section B.4.26
CMPccSD: Section B.4.28
CMPccSS: Section B.4.29
CMPEQPD: Section B.4.25
CMPEQPS: Section B.4.26
CMPEQSD: Section B.4.28
CMPEQSS: Section B.4.29
CMPLEPD: Section B.4.25
CMPLEPS: Section B.4.26
CMPLESD: Section B.4.28
CMPLESS: Section B.4.29
CMPLTPD: Section B.4.25
CMPLTPS: Section B.4.26
CMPLTSD: Section B.4.28
CMPLTSS: Section B.4.29
CMPNEQPD: Section B.4.25
CMPNEQPS: Section B.4.26
CMPNEQSD: Section B.4.28
CMPNEQSS: Section B.4.29
CMPNLEPD: Section B.4.25
CMPNLEPS: Section B.4.26
CMPNLESD: Section B.4.28
CMPNLESS: Section B.4.29
CMPNLTPD: Section B.4.25
CMPNLTPS: Section B.4.26
CMPNLTSD: Section B.4.28
CMPNLTSS: Section B.4.29
CMPORDPD: Section B.4.25
CMPORDPS: Section B.4.26
CMPORDSD: Section B.4.28
CMPORDSS: Section B.4.29
CMPSB: Section B.4.27
CMPSD: Section B.4.27
CMPSW: Section B.4.27
CMPUNORDPD: Section B.4.25
CMPUNORDPS: Section B.4.26
CMPUNORDSD: Section B.4.28
CMPUNORDSS: Section B.4.29
CMPXCHG: Section B.4.30
CMPXCHG486: Section B.4.30
CMPXCHG8B: Section B.4.31
coff: Section 2.1.1, Section 6.4
colon: Section 3.1
.COM: Section 6.1, Section 7.2
COMISD: Section B.4.32
COMISS: Section B.4.33
command-line: Section 2.1, Chapter 6
commas in macro parameters: Section 4.3.3
COMMON: Section 5.6, Section 6.2.1
COMMON, elf extensions to: Section 6.5.4
COMMON, obj extensions to: Section 6.2.8
Common Object File Format: Section 6.4
common variables: Section 5.6
common variables, alignment in elf: Section 6.5.4
common variables, element size: Section 6.2.8
comp.lang.asm.x86: Section 1.1.1, Section 1.2
comp.os.linux.announce: Section 1.2
comp.os.msdos.programmer: Section 7.3
concatenating macro parameters: Section 4.3.7
condition codes: Section B.2.2
condition codes as macro parameters: Section 4.3.8
condition predicates: Section B.4.25, Section B.4.26, Section B.4.28, Section B.4.29
conditional assembly: Section 4.4
conditional jump: Section B.4.128
conditional jumps: Section 10.1.2
conditional-return macro: Section 4.3.8
configure: Section 1.3.2
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
control registers: Section B.2.1
counting macro parameters: Section 4.3.5
CPU: Section 5.7
CPUID: Section 3.4.2, Section B.4.34
creating contexts: Section 4.7.1
critical expression: Section 3.2.2, Section 3.2.4, Section 3.8, Section 4.1.5, Section 5.3
CVTDQ2PD: Section B.4.35
CVTDQ2PS: Section B.4.36
CVTPD2DQ: Section B.4.37
CVTPD2PI: Section B.4.38
CVTPD2PS: Section B.4.39
CVTPI2PD: Section B.4.40
CVTPI2PS: Section B.4.41
CVTPS2DQ: Section B.4.42
CVTPS2PD: Section B.4.43
CVTPS2PI: Section B.4.44
CVTSD2SI: Section B.4.45
CVTSD2SS: Section B.4.46
CVTSI2SD: Section B.4.47
CVTSI2SS: Section B.4.48
CVTSS2SD: Section B.4.49
CVTSS2SI: Section B.4.50
CVTTPD2DQ: Section B.4.51
CVTTPD2PI: Section B.4.52
CVTTPS2DQ: Section B.4.53
CVTTPS2PI: Section B.4.54
CVTTSD2SI: Section B.4.55
CVTTSS2SI: Section B.4.56
CWD: Section B.4.19
CWDE: Section B.4.19
-D option: Section 2.1.12
-d option: Section 2.1.12
DAA: Section B.4.57
DAS: Section B.4.57
.data: Section 6.5.1, Section 6.6, Section 6.7, Section 6.8, Section 6.9
_DATA: Section 7.4.2
data: Section 6.5.3, Section 6.9.3
data structure: Section 7.4.4, Section 8.1.3
DB: Section 3.2, Section 3.2.1, Section 3.4.3
dbg: Section 6.10
DD: Section 3.2, Section 3.2.1, Section 3.4.3, Section 3.4.4
debug information: Section 2.1.6
debug information format: Section 2.1.5
debug registers: Section B.2.1
DEC: Section B.4.58
declaring structures: Section 4.8.5
default macro parameters: Section 4.3.4
default name: Chapter 6
default-WRT mechanism: Section 6.2.7
%define: Section 2.1.12, Section 4.1.1
defining sections: Section 5.2
design goals: Section 2.2.2
DevPac: Section 3.2.3, Section 3.9
disabling listing expansion: Section 4.3.9
DIV: Section B.4.59
division: Section 3.5.6
DIVPD: Section B.4.60
DIVPS: Section B.4.61
DIVSD: Section B.4.62
DIVSS: Section B.4.63
DJGPP: Section 6.4, Chapter 8
djlink: Section 7.1.1
DLL symbols, exporting: Section 6.2.5
DLL symbols, importing: Section 6.2.4
DOS: Section 1.3.1, Section 2.1.8, Section 2.1.9
DOS archive: Section 1.3.1
DOS source archive: Section 1.3.1
DQ: Section 3.2, Section 3.2.1, Section 3.4.3, Section 3.4.4
.drectve: Section 6.3.1
DT: Section 3.2, Section 3.2.1, Section 3.4.3, Section 3.4.4
DUP: Section 2.2.7, Section 3.2.5
DW: Section 3.2, Section 3.2.1, Section 3.4.3
DWORD: Section 3.1
-E option: Section 2.1.8
-e option: Section 2.1.14, Section A.3.4
effective addresses: Section 3.1, Section 3.3, Section 3.8, Section B.2.5
element size, in common variables: Section 6.2.8
ELF: Section 2.1.1, Section 6.5
ELF, shared libraries: Section 6.5.2
ELF, 16-bit code and: Section 6.5.5
%elif: Section 4.4, Section 4.4.4
%elifctx: Section 4.4.3
%elifdef: Section 4.4.1
%elifid: Section 4.4.6
%elifidn: Section 4.4.5
%elifidni: Section 4.4.5
%elifmacro: Section 4.4.2
%elifnctx: Section 4.4.3
%elifndef: Section 4.4.1
%elifnid: Section 4.4.6
%elifnidn: Section 4.4.5
%elifnidni: Section 4.4.5
%elifnmacro: Section 4.4.2
%elifnnum: Section 4.4.6
%elifnstr: Section 4.4.6
%elifnum: Section 4.4.6
%elifstr: Section 4.4.6
%else: Section 4.4
e-mail: Section 1.2
EMMS: Section B.4.64
endproc: Section 7.4.5, Section 8.1.4
%endrep: Section 4.5
ENDSTRUC: Section 4.8.5, Section 5.3
ENTER: Section B.4.65
environment: Section 2.1.22
EQU: Section 3.2, Section 3.2.4, Section 3.8
%error: Section 4.4.7
error messages: Section 2.1.8, Section 2.1.9
error reporting format: Section 2.1.7
EVEN: Section 4.8.7
.EXE: Section 6.2, Section 7.1
EXE_begin: Section 7.1.2
EXE2BIN: Section 7.2.2
exebin.mac: Section 7.1.2
exec: Section 6.5.1
Executable and Linkable Format: Section 6.5
EXE_end: Section 7.1.2
EXE_stack: Section 7.1.2
%exitrep: Section 4.5
EXPORT: Section 6.2.5
export: Section 6.9.3
exporting symbols: Section 5.5
expressions: Section 2.1.14, Section 3.5
extension: Section 2.1.1, Chapter 6
EXTERN: Section 5.4
EXTERN, obj extensions to: Section 6.2.7
-F option: Section 2.1.5
-f option: Section 2.1.2, Chapter 6
FABS: Section B.4.67
FADD: Section B.4.68
FADDP: Section B.4.68
far call: Section 2.2.5, Section B.4.18
far common variables: Section 6.2.8
far jump: Section B.4.130
far pointer: Section 3.6
FARCODE: Section 7.4.5, Section 7.5.3
FBLD: Section B.4.69
FBSTP: Section B.4.69
FCHS: Section B.4.70
FCLEX: Section B.4.71
FCMOVcc: Section B.4.72
FCOM: Section B.4.73
FCOMI: Section B.4.73
FCOMIP: Section B.4.73
FCOMP: Section B.4.73
FCOMPP: Section B.4.73
FCOS: Section B.4.74
FDECSTP: Section B.4.75
FDIV: Section B.4.77
FDIVP: Section B.4.77
FDIVR: Section B.4.77
FDIVRP: Section B.4.77
FEMMS: Section B.4.78
FFREE: Section B.4.79
FIADD: Section B.4.80
FICOM: Section B.4.81
FICOMP: Section B.4.81
FIDIV: Section B.4.82
FIDIVR: Section B.4.82
FILD: Section B.4.83
__FILE__: Section 4.8.4
FIMUL: Section B.4.84
FINCSTP: Section B.4.85
FINIT: Section B.4.86
FIST: Section B.4.83
FISTP: Section B.4.83
FISUB: Section B.4.87
FLAT: Section 6.2.1
flat memory model: Chapter 8
flat-form binary: Section 6.1
FLD: Section B.4.88
FLDCW: Section B.4.90
FLDENV: Section B.4.91
FLDxx: Section B.4.89
floating-point: Section 2.2.6, Section 3.1, Section 3.2.1, Section 3.4.4
floating-point, constants: Section 3.4.4
floating-point, registers: Section B.2.1
FMUL: Section B.4.92
FMULP: Section B.4.92
FNINIT: Section B.4.86
FNOP: Section B.4.93
follows=: Section 6.1.3
format-specific directives: Chapter 5
forward references: Section 3.8
FPATAN: Section B.4.94
FPREM: Section B.4.95
FPREM1: Section B.4.95
FPTAN: Section B.4.94
frame pointer: Section 7.4.3, Section 7.5.1, Section 8.1.2
FreeBSD: Section 6.7, Section 8.2
FreeLink: Section 7.1.1
FRNDINT: Section B.4.96
FRSTOR: Section B.4.97
FSAVE: Section B.4.97
FSCALE: Section B.4.98
FSETPM: Section B.4.99
FSIN: Section B.4.100
FSINCOS: Section B.4.100
FSQRT: Section B.4.101
FST: Section B.4.102
FSTCW: Section B.4.103
FSTENV: Section B.4.104
FSTP: Section B.4.102
FSTSW: Section B.4.105
FSUB: Section B.4.106
FSUBP: Section B.4.106
FSUBR: Section B.4.106
FSUBRP: Section B.4.106
ftp.kernel.org: Section 1.2
ftp.simtel.net: Section 7.1.1
FTST: Section B.4.107
FUCOMxx: Section B.4.108
function: Section 6.5.3, Section 6.9.3
functions, C calling convention: Section 7.4.3, Section 8.1.2
functions, Pascal calling convention: Section 7.5.1
FXAM: Section B.4.109
FXCH: Section B.4.110
FxDISI: Section B.4.76
FxENI: Section B.4.76
F2XM1: Section B.4.66
FXRSTOR: Section B.4.111
FXSAVE: Section B.4.112
FXTRACT: Section B.4.113
FYL2X: Section B.4.114
FYL2XP1: Section B.4.114
-g option: Section 2.1.6
gas: Section 1.1.1
gcc: Section 1.1.1
general purpose register: Section B.1
GLOBAL: Section 5.5
GLOBAL, aoutb extensions to: Section 6.5.3
GLOBAL, elf extensions to: Section 6.5.3
GLOBAL, rdf extensions to: Section 6.9.3
global offset table: Section 8.2
_GLOBAL_OFFSET_TABLE_: Section 6.5.2
gnu-elf-extensions: Section 2.1.18
..got: Section 6.5.2
GOT relocations: Section 8.2.3
GOT: Section 6.5.2, Section 8.2
..gotoff: Section 6.5.2
GOTOFF relocations: Section 8.2.2
..gotpc: Section 6.5.2
GOTPC relocations: Section 8.2.1
graphics: Section 3.2.3
greedy macro parameters: Section 4.3.3
GROUP: Section 6.2.2
groups: Section 3.6
-h: Section A.3
hex: Section 3.4.1
HLT: Section B.4.115
hybrid syntaxes: Section 2.2.2
-I option: Section 2.1.10
-i option: Section 2.1.10, Section A.3.3
%iassign: Section 4.1.5
ibiblio.org: Section 1.2
IBTS: Section B.4.116
ICEBP: Section B.4.123
%idefine: Section 4.1.1
IDIV: Section B.4.117
IEND: Section 4.8.6
%if: Section 4.4, Section 4.4.4
%ifctx: Section 4.4.3, Section 4.7.5
%ifdef: Section 4.4.1
%ifid: Section 4.4.6
%ifidn: Section 4.4.5
%ifidni: Section 4.4.5
ifmacro: Section 4.4.2
%ifnctx: Section 4.4.3
%ifndef: Section 4.4.1
%ifnid: Section 4.4.6
%ifnidn: Section 4.4.5
%ifnidni: Section 4.4.5
%ifnmacro: Section 4.4.2
%ifnnum: Section 4.4.6
%ifnstr: Section 4.4.6
%ifnum: Section 4.4.6
%ifstr: Section 4.4.6
%imacro: Section 4.3
immediate operand: Section B.1
IMPORT: Section 6.2.4
import library: Section 6.2.4
importing symbols: Section 5.4
IMUL: Section B.4.118
IN: Section B.4.119
INC: Section B.4.120
INCBIN: Section 3.2, Section 3.2.3, Section 3.4.3
incbin: Section 2.1.10
%include: Section 2.1.10, Section 2.1.11, Section 4.6
include search path: Section 2.1.10
including other files: Section 4.6
inefficient code: Section 10.1.1
infinite loop: Section 3.5
informational section: Section 6.3.1
INSB: Section B.4.121
INSD: Section B.4.121
INSTALL: Section 1.3.2
installing: Section 1.3.1
instances of structures: Section 4.8.6
INSW: Section B.4.121
INT: Section B.4.122
INT01: Section B.4.123
INT1: Section B.4.123
INT3: Section B.4.123
integer overflow: Section 3.5
Intel number formats: Section 3.4.4
INTO: Section B.4.124
INVD: Section B.4.125
INVLPG: Section B.4.126
IRET: Section B.4.127
IRETD: Section B.4.127
IRETW: Section B.4.127
ISTRUC: Section 4.8.6
iterating over macro parameters: Section 4.3.6
Jcc: Section B.4.128
Jcc NEAR: Section 10.1.2
JCXZ: Section B.4.129
JECXZ: Section B.4.129
JMP: Section B.4.130
JMP DWORD: Section 9.1
jumps, mixed-size: Section 9.1
-k: Section A.3.4
-l option: Section 2.1.3
label prefix: Section 3.9
LAHF: Section B.4.131
LAR: Section B.4.132
ld86: Section 6.8
LDMXCSR: Section B.4.133
LDS: Section B.4.134
LEA: Section B.4.135
LEAVE: Section B.4.136
LES: Section B.4.134
LFENCE: Section B.4.137
LFS: Section B.4.134
LGDT: Section B.4.138
LGS: Section B.4.134
LIBRARY: Section 6.9.1
licence: Section 1.1.2
LIDT: Section B.4.138
%line: Section 4.10.1
__LINE__: Section 4.8.4
linker, free: Section 7.1.1
Linux, a.out: Section 6.6
Linux, as86: Section 6.8
Linux, ELF: Section 6.5
listing file: Section 2.1.3
little-endian: Section 3.4.2
LLDT: Section B.4.138
LMSW: Section B.4.139
LOADALL: Section B.4.140
LOADALL286: Section B.4.140
%local: Section 4.9.3
local labels: Section 3.9
LODSB: Section B.4.141
LODSD: Section B.4.141
LODSW: Section B.4.141
logical AND: Section 4.4.4
logical OR: Section 4.4.4
logical XOR: Section 4.4.4
LOOP: Section B.4.142
LOOPE: Section B.4.142
LOOPNE: Section B.4.142
LOOPNZ: Section B.4.142
LOOPZ: Section B.4.142
LSL: Section B.4.143
LSS: Section B.4.134
LTR: Section B.4.144
-M option: Section 2.1.4
%macro: Section 4.3
macro library: Section 2.1.10
macro processor: Chapter 4
macro-local labels: Section 4.3.2
macro-params: Section 2.1.18
macros: Section 3.2.5
macro-selfref: Section 2.1.18
make: Section 1.3.2
makefile dependencies: Section 2.1.4
makefiles: Section 1.3.1, Section 1.3.2
Makefile.unx: Section 1.3.2
man pages: Section 1.3.2
map files: Section 6.1.4
MASKMOVDQU: Section B.4.145
MASKMOVQ: Section B.4.146
MASM: Section 1.1.1
MASM: Section 2.2, Section 3.2.5, Section 6.2
MAXPD: Section B.4.147
MAXPS: Section B.4.148
MAXSD: Section B.4.149
MAXSS: Section B.4.150
memory models: Section 2.2.5, Section 7.4.2
memory operand: Section 3.1
memory references: Section 2.2.2, Section 3.3, Section B.1
MFENCE: Section B.4.151
Microsoft OMF: Section 6.2
Minix: Section 6.8
MINPD: Section B.4.152
MINPS: Section B.4.153
MINSD: Section B.4.154
MINSS: Section B.4.155
misc subdirectory: Section 7.1.2, Section 7.4.5, Section 8.1.4
mixed-language program: Section 7.4
mixed-size addressing: Section 9.2
mixed-size instruction: Section 9.1
MMX registers: Section B.2.1
ModR/M byte: Section B.2, Section B.2.5
MODULE: Section 6.9.2
modulo operators: Section 3.5.6
MOV: Section B.4.156
MOVAPD: Section B.4.157
MOVAPS: Section B.4.158
MOVD: Section B.4.159
MOVDQA: Section B.4.161
MOVDQ2Q: Section B.4.160
MOVDQU: Section B.4.162
MOVHLPS: Section B.4.163
MOVHPD: Section B.4.164
MOVHPS: Section B.4.165
MOVLHPS: Section B.4.166
MOVLPD: Section B.4.167
MOVLPS: Section B.4.168
MOVMSKPD: Section B.4.169
MOVMSKPS: Section B.4.170
MOVNTDQ: Section B.4.171
MOVNTI: Section B.4.172
MOVNTPD: Section B.4.173
MOVNTPS: Section B.4.174
MOVNTQ: Section B.4.175
MOVQ: Section B.4.176
MOVQ2DQ: Section B.4.177
MOVSB: Section B.4.178
MOVSD: Section B.4.178, Section B.4.179
MOVSS: Section B.4.180
MOVSW: Section B.4.178
MOVSX: Section B.4.181
MOVUPD: Section B.4.182
MOVUPS: Section B.4.183
MOVZX: Section B.4.181
MS-DOS: Section 6.1
MS-DOS device drivers: Section 7.3
MUL: Section B.4.184
MULPD: Section B.4.185
MULPS: Section B.4.186
MULSD: Section B.4.187
MULSS: Section B.4.188
multi-line macros: Section 2.1.18, Section 4.3
multipass optimization: Section 2.1.16
multiple section names: Section 6.1
multiplication: Section 3.5.6
multipush macro: Section 4.3.6
Multisection: Section 6.1.3
nasm.1: Section 1.3.2
NASM version: Section 4.8.1
nasm version id: Section 4.8.2
nasm version string: Section 4.8.3
__NASMDEFSEG: Section 6.2
nasm-devel: Section 1.2
nasm.exe: Section 1.3.1
nasm -f <format> -y: Section 2.1.5
nasm -hf: Section 2.1.2
__NASM_MAJOR__: Section 4.8.1
__NASM_MINOR__: Section 4.8.1
nasm.out: Section 2.1.1
___NASM_PATCHLEVEL__: Section 4.8.1
__NASM_SUBMINOR__: Section 4.8.1
__NASM_VER__: Section 4.8.3
__NASM_VERSION_ID__: Section 4.8.2
nasmw.exe: Section 1.3.1
nasmXXXs.zip: Section 1.3.1
nasm-X.XX.tar.gz: Section 1.3.2
nasmXXX.zip: Section 1.3.1
ndisasm.1: Section 1.3.2
ndisasm: Appendix A
ndisasm.exe: Section 1.3.1
ndisasmw.exe: Section 1.3.1
near call: Section 2.2.5, Section B.4.18
near common variables: Section 6.2.8
near jump: Section B.4.130
NEG: Section B.4.189
NetBSD: Section 6.7, Section 8.2
new releases: Section 1.2
noalloc: Section 6.5.1
nobits: Section 6.1.3, Section 6.5.1
noexec: Section 6.5.1
.nolist: Section 4.3.9
NOP: Section B.4.190
NOT: Section B.4.189
`nowait': Section 2.2.6
nowrite: Section 6.5.1
number-overflow: Section 2.1.18
numeric constants: Section 3.2.1, Section 3.4.1
-o option: Section 2.1.1, Section A.3.1
o16: Section 9.3, Section B.4.244, Section B.4.263
o32: Section 9.3, Section B.4.244, Section B.4.263
.OBJ: Section 7.1
obj: Section 2.1.1, Section 6.2
object: Section 6.5.3, Section 6.9.3
octal: Section 3.4.1
OF_DBG: Section 6.10
OF_DEFAULT: Section 2.1.2
OFFSET: Section 2.2.2
OMF: Section 6.2
omitted parameters: Section 4.3.4
-On option: Section 2.1.16
one's complement: Section 3.5.7
OpenBSD: Section 6.7, Section 8.2
operands: Section 3.1
operand-size prefixes: Section 3.1
operating system: Section 6.1
operating system, writing: Section 9.1
operators: Section 3.5
OR: Section B.4.191
ORG: Section 6.1.1, Section 7.2.1, Section 7.2.2, Section 10.1.3
ORPD: Section B.4.192
orphan-labels: Section 2.1.18, Section 3.1
ORPS: Section B.4.193
OS/2: Section 6.2, Section 6.2.1
other preprocessor directives: Section 4.10
OUT: Section B.4.194
out of range, jumps: Section 10.1.2
output file format: Section 2.1.2
output formats: Chapter 6
OUTSB: Section B.4.195
OUTSD: Section B.4.195
OUTSW: Section B.4.195
overlapping segments: Section 3.6
OVERLAY: Section 6.2.1
overloading, multi-line macros: Section 4.3.1
overloading, single-line macros: Section 4.1.1
-P option: Section 2.1.11
-p option: Section 2.1.11, Section 4.6
PACKSSDW: Section B.4.196
PACKSSWB: Section B.4.196
PACKUSWB: Section B.4.196
PADDB: Section B.4.197
PADDD: Section B.4.197
PADDQ: Section B.4.198
PADDSB: Section B.4.199
PADDSIW: Section B.4.200
PADDSW: Section B.4.199
PADDUSB: Section B.4.201
PADDUSW: Section B.4.201
PADDW: Section B.4.197
PAND: Section B.4.202
PANDN: Section B.4.202
paradox: Section 3.8
PASCAL: Section 7.5.3
Pascal calling convention: Section 7.5.1
passes, assembly: Section 3.8
PATH: Section 1.3.1
PAUSE: Section B.4.203
PAVEB: Section B.4.204
PAVGB: Section B.4.205
PAVGUSB: Section B.4.206
PAVGW: Section B.4.205
PCMPxx: Section B.4.207
PDISTIB: Section B.4.208
period: Section 3.9
Perl: Section 1.3.1
perverse: Section 2.1.10
PEXTRW: Section B.4.209
PFACC: Section B.4.212
PFADD: Section B.4.213
PFCMPEQ: Section B.4.214
PFCMPGE: Section B.4.214
PFCMPGT: Section B.4.214
PFCMPxx: Section B.4.214
PF2ID: Section B.4.210
PF2IW: Section B.4.211, Section B.4.228
PFMAX: Section B.4.215
PFMIN: Section B.4.216
PFMUL: Section B.4.217
PFNACC: Section B.4.218
PFPNACC: Section B.4.219
PFRCP: Section B.4.220
PFRCPIT1: Section B.4.221
PFRCPIT2: Section B.4.222
PFRSQIT1: Section B.4.223
PFRSQRT: Section B.4.224
PFSUB: Section B.4.225
PFSUBR: Section B.4.226
PharLap: Section 6.2.1
PIC: Section 6.5.2, Section 6.7, Section 8.2
PI2FD: Section B.4.227
PINSRW: Section B.4.229
..plt: Section 6.5.2
PLT relocations: Section 6.5.2, Section 8.2.4, Section 8.2.5
plt relocations: Section 8.2.5
PMACHRIW: Section B.4.230
PMADDWD: Section B.4.231
PMAGW: Section B.4.232
PMAXSW: Section B.4.233
PMAXUB: Section B.4.234
PMINSW: Section B.4.235
PMINUB: Section B.4.236
PMOVMSKB: Section B.4.237
PMULHRIW: Section B.4.238
PMULHRWA: Section B.4.239
PMULHRWC: Section B.4.238
PMULHUW: Section B.4.240
PMULHW: Section B.4.241
PMULLW: Section B.4.241
PMULUDQ: Section B.4.242
PMVccZB: Section B.4.243
%pop: Section 4.7, Section 4.7.1
POP: Section B.4.244
POPAx: Section B.4.245
POPFx: Section B.4.246
POR: Section B.4.247
position-independent code: Section 6.5.2, Section 6.7, Section 8.2
--postfix: Section 2.1.21
precedence: Section 3.5
pre-defining macros: Section 2.1.12, Section 4.1.1
preferred: Section 3.6
PREFETCH: Section B.4.248
PREFETCHh: Section B.4.249
PREFETCHNTA: Section B.4.249
PREFETCHT0: Section B.4.249
PREFETCHT1: Section B.4.249
PREFETCHT2: Section B.4.249
--prefix: Section 2.1.21
pre-including files: Section 2.1.11
preprocess-only mode: Section 2.1.14
preprocessor: Section 2.1.14, Section 2.1.15, Section 3.2.4, Section 3.5.6, Chapter 4
preprocessor expressions: Section 2.1.14
preprocessor loops: Section 4.5
preprocessor variables: Section 4.1.5
primitive directives: Chapter 5
PRIVATE: Section 6.2.1
proc: Section 6.9.3, Section 7.4.5, Section 8.1.4
procedure linkage table: Section 6.5.2, Section 8.2.4, Section 8.2.5
processor mode: Section 5.1
progbits: Section 6.1.3, Section 6.5.1
program entry point: Section 6.2.6, Section 7.1.1
program origin: Section 6.1.1
PSADBW: Section B.4.250
pseudo-instructions: Section 3.2
PSHUFD: Section B.4.251
PSHUFHW: Section B.4.252
PSHUFLW: Section B.4.253
PSHUFW: Section B.4.254
PSLLx: Section B.4.255
PSRAx: Section B.4.256
PSRLx: Section B.4.257
PSUBSIW: Section B.4.260
PSUBSxx: Section B.4.259
PSUBUSx: Section B.4.259
PSUBx: Section B.4.258
PSWAPD: Section B.4.261
PSWAPW: Section B.4.261
PUBLIC: Section 5.5, Section 6.2.1
PUNPCKxxx: Section B.4.262
pure binary: Section 6.1
%push: Section 4.7, Section 4.7.1
PUSH: Section B.4.263
PUSHAx: Section B.4.264
PUSHFx: Section B.4.265
PXOR: Section B.4.266
quick start: Section 2.2
QWORD: Section 3.1
-r: Section A.3
RCL: Section B.4.267
RCPPS: Section B.4.268
RCPSS: Section B.4.269
RCR: Section B.4.267
rdf: Section 2.1.1, Section 6.9
RDMSR: Section B.4.270
rdoff subdirectory: Section 1.3.2, Section 6.9
RDPMC: Section B.4.271
RDSHR: Section B.4.272
RDTSC: Section B.4.273
redirecting errors: Section 2.1.8
register push: Section B.4.263
relational operators: Section 4.4.4
Relocatable Dynamic Object File Format: Section 6.9
relocations, PIC-specific: Section 6.5.2
removing contexts: Section 4.7.1
renaming contexts: Section 4.7.4
%rep: Section 3.2.5, Section 4.5
repeating: Section 3.2.5, Section 4.5
%repl: Section 4.7.4
reporting bugs: Section 10.2
RESB: Section 2.2.7, Section 3.2, Section 3.2.2, Section 3.8
RESD: Section 3.2, Section 3.2.2
RESQ: Section 3.2, Section 3.2.2
REST: Section 3.2, Section 3.2.2
restricted memory references: Section B.1
RESW: Section 3.2, Section 3.2.2
RET: Section B.4.274
RETF: Section B.4.274
RETN: Section B.4.274
ROL: Section B.4.275
ROR: Section B.4.275
%rotate: Section 4.3.6
rotating macro parameters: Section 4.3.6
RPL: Section B.4.13
RSDC: Section B.4.276
RSLDT: Section B.4.277
RSM: Section B.4.278
RSQRTPS: Section B.4.279
RSQRTSS: Section B.4.280
RSTS: Section B.4.281
-s option: Section 2.1.9, Section A.3.2
SAHF: Section B.4.282
SAL: Section B.4.283
SALC: Section B.4.284
SAR: Section B.4.283
SBB: Section B.4.285
SCASB: Section B.4.286
SCASD: Section B.4.286
SCASW: Section B.4.286
searching for include files: Section 4.6
__SECT__: Section 5.2.1, Section 5.3
SECTION: Section 5.2
SECTION, elf extensions to: Section 6.5.1
SECTION, win32 extensions to: Section 6.3.1
section alignment, in bin: Section 6.1.2
section alignment, in elf: Section 6.5.1
section alignment, in obj: Section 6.2.1
section alignment, in win32: Section 6.3.1
section, bin extensions to: Section 6.1.2
SEG: Section 3.5.7, Section 3.6, Section 6.2
SEGMENT: Section 5.2
SEGMENT, elf extensions to: Section 6.2.1
segment address: Section 3.5.7, Section 3.6
segment alignment, in bin: Section 6.1.2
segment alignment, in obj: Section 6.2.1
segment names, Borland Pascal: Section 7.5.2
segment override: Section 2.2.4, Section 3.1
segment registers: Section B.2.1
segments: Section 3.6
segments, groups of: Section 6.2.2
separator character: Section 2.1.22
SETcc: Section B.4.287
SFENCE: Section B.4.288
SGDT: Section B.4.289
shared libraries: Section 6.7, Section 8.2
shared library: Section 6.5.3
shift command: Section 4.3.6
SHL: Section B.4.290
SHLD: Section B.4.291
SHR: Section B.4.290
SHRD: Section B.4.291
SHUFPD: Section B.4.292
SHUFPS: Section B.4.293
SIB byte: Section B.2, Section B.2.5
SIDT: Section B.4.289
signed division: Section 3.5.6
signed modulo: Section 3.5.6
single-line macros: Section 4.1
size, of symbols: Section 6.5.3
SLDT: Section B.4.289
SMI: Section B.4.294
SMINT: Section B.4.295
SMINTOLD: Section B.4.295
SMSW: Section B.4.296
Solaris x86: Section 6.5
-soname: Section 8.2.6
sound: Section 3.2.3
source code: Section 1.3.1
source-listing file: Section 2.1.3
SQRTPD: Section B.4.297
SQRTPS: Section B.4.298
SQRTSD: Section B.4.299
SQRTSS: Section B.4.300
square brackets: Section 2.2.2, Section 3.3
sse condition predicates: Section B.2.3
STACK: Section 6.2.1
stack frame: Section B.4.65
%stacksize: Section 4.9.2
standard macros: Section 4.8
standardised section names: Section 5.2, Section 6.3.1, Section 6.5.1, Section 6.6, Section 6.7, Section 6.8, Section 6.9
..start: Section 6.2.6, Section 7.1.1
start=: Section 6.1.3
status flags: Section B.2.4
STC: Section B.4.301
STD: Section B.4.301
stderr: Section 2.1.8
stdout: Section 2.1.9
STI: Section B.4.301
STMXCSR: Section B.4.302
STOSB: Section B.4.303
STOSD: Section B.4.303
STOSW: Section B.4.303
STR: Section B.4.304
STRICT: Section 3.7
string constant: Section 3.2.1
string handling in macros: Section 4.2
string length: Section 4.2.1
%strlen: Section 4.2, Section 4.2.1
STRUC: Section 4.8.5, Section 5.3, Section 7.4.4, Section 8.1.3
stub preprocessor: Section 2.1.15
SUB: Section B.4.305
SUBPD: Section B.4.306
SUBPS: Section B.4.307
SUBSD: Section B.4.308
SUBSS: Section B.4.309
%substr: Section 4.2, Section 4.2.2
sub-strings: Section 4.2.2
subtraction: Section 3.5.5
suppressible warning: Section 2.1.18
suppressing preprocessing: Section 2.1.15
SVDC: Section B.4.310
SVLDT: Section B.4.311
SVTS: Section B.4.312
switching between sections: Section 5.2
..sym: Section 6.5.2
symbol sizes, specifying: Section 6.5.3
symbol types, specifying: Section 6.5.3
symbols, exporting from DLLs: Section 6.2.5
symbols, importing from DLLs: Section 6.2.4
synchronisation: Section A.3.2
.SYS: Section 6.1, Section 7.3
SYSCALL: Section B.4.313
SYSENTER: Section B.4.314
SYSEXIT: Section B.4.315
SYSRET: Section B.4.316
-t: Section 2.1.17
TASM: Section 1.1.1, Section 2.1.17
tasm: Section 2.2, Section 6.2
tasm compatible preprocessor directives: Section 4.9
TBYTE: Section 2.2.7
TEST: Section B.4.317
test subdirectory: Section 7.1.1
test registers: Section B.2.1
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
.text: Section 6.5.1, Section 6.6, Section 6.7, Section 6.8, Section 6.9
_TEXT: Section 7.4.2
TIMES: Section 3.2, Section 3.2.5, Section 3.8, Section 10.1.3, Section 10.1.4
TLINK: Section 7.2.2
trailing colon: Section 3.1
two-pass assembler: Section 3.8
TWORD: Section 2.2.7, Section 3.1
type, of symbols: Section 6.5.3
-U option: Section 2.1.13
-u option: Section 2.1.13, Section A.3
UCOMISD: Section B.4.318
UCOMISS: Section B.4.319
UD0: Section B.4.320
UD1: Section B.4.320
UD2: Section B.4.320
UMOV: Section B.4.321
unary operators: Section 3.5.7
%undef: Section 2.1.13, Section 4.1.4
undefining macros: Section 2.1.13
underscore, in C symbols: Section 7.4.1
uninitialised: Section 3.2, Section 3.2.2
uninitialised storage: Section 2.2.7
Unix: Section 1.3.2
Unix, SCO: Section 6.5
Unix, source archive: Section 1.3.2
Unix, System V: Section 6.5
UnixWare: Section 6.5
UNPCKHPD: Section B.4.322
UNPCKHPS: Section B.4.323
UNPCKLPD: Section B.4.324
UNPCKLPS: Section B.4.325
unrolled loops: Section 3.2.5
unsigned division: Section 3.5.6
unsigned modulo: Section 3.5.6
UPPERCASE: Section 2.2.1, Section 6.2.3
USE16: Section 5.1.1, Section 6.2.1
USE32: Section 5.1.1, Section 6.2.1
user-defined errors: Section 4.4.7
user-level assembler directives: Section 4.8
user-level directives: Chapter 5
-v option: Section 2.1.19
VAL: Section 7.1.1
valid characters: Section 3.1
variable types: Section 2.2.3
VERR: Section B.4.326
version: Section 2.1.19
version number of NASM: Section 4.8.1
VERW: Section B.4.326
vfollows=: Section 6.1.3
Visual C++: Section 6.3
vstart=: Section 6.1.3
-w option: Section 2.1.18
WAIT: Section B.4.327
warnings: Section 2.1.18
[warning +warning-name]: Section 2.1.18
[warning -warning-name]: Section 2.1.18
WBINVD: Section B.4.328
Win32: Section 1.3.1, Section 2.1.1, Section 6.2, Section 6.3, Chapter 8
Windows: Section 7.1
Windows 95: Section 1.3.1
Windows NT: Section 1.3.1
write: Section 6.5.1
writing operating systems: Section 9.1
WRMSR: Section B.4.329
WRSHR: Section B.4.330
WRT: Section 3.6, Section 6.2, Section 6.5.2, Section 6.7
WRT ..got: Section 8.2.3
WRT ..gotoff: Section 8.2.2
WRT ..gotpc: Section 8.2.1
WRT ..plt: Section 8.2.5
WRT ..sym: Section 8.2.4
WWW page: Section 1.2
www.cpan.org: Section 1.3.1
www.delorie.com: Section 7.1.1
www.pcorner.com: Section 7.1.1
-X option: Section 2.1.7
XADD: Section B.4.331
XBTS: Section B.4.332
XCHG: Section B.4.333
%xdefine: Section 4.1.2
x2ftp.oulu.fi: Section 7.1.1
%xidefine: Section 4.1.2
XLATB: Section B.4.334
XOR: Section B.4.335
XORPD: Section B.4.336
XORPS: Section B.4.337
-y option: Section 2.1.20

Contents