The Netwide Assembler: NASM

Contents

!= operator: Section 4.4.3
$ Here token: Section 3.5
$$ token: Section 3.5, Section 6.5.2
% operator: Section 3.5.6
%$ and %$$ prefixes: Section 4.7.2
%% operator: Section 3.5.6, Section 4.3.2
%+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.3
* 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.8, Section 4.3.2
/ operator: Section 3.5.6
// operator: Section 3.5.6
< operator: Section 4.4.3
<< operator: Section 3.5.4
<= operator: Section 4.4.3
<> operator: Section 4.4.3
= operator: Section 4.4.3
== operator: Section 4.4.3
> operator: Section 4.4.3
>= operator: Section 4.4.3
>> operator: Section 3.5.4
? MASM syntax: Section 3.2.2
^ operator: Section 3.5.2
^^ operator: Section 4.4.3
| operator: Section 3.5.1
|| operator: Section 4.4.3
~ operator: Section 3.5.7
-a option: Section 2.1.14, Section A.3.3
a16: Section 9.3, Section B.30, Section B.124, Section B.144, Section B.181, Section B.198, Section B.247, Section B.266, Section B.289, Section B.306, Section B.337
a32: Section 9.3, Section B.30, Section B.124, Section B.144, Section B.181, Section B.198, Section B.247, Section B.266, Section B.289, Section B.306, Section B.337
a86: Section 1.1.1, Section 2.2, Section 2.2.2, Section 2.2.6
AAA: Section B.4
AAD: Section B.4
AAM: Section B.4
AAS: Section B.4
ABSOLUTE: Section 5.3, Section 6.2.1
ADC: Section B.5
ADD: Section B.6
addition: Section 3.5.5
ADDPD: Section B.7
ADDPS: Section B.8
addressing, mixed-size: Section 9.2
address-size prefixes: Section 3.1
ADDSD: Section B.9
ADDSS: Section B.10
algebra: Section 3.3
ALIGN: Section 4.8.5, Section 6.1.2, Section 6.2.1
ALIGNB: Section 4.8.5
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.11
ANDNPD: Section B.12
ANDNPS: Section B.13
ANDPD: Section B.14
ANDPS: Section B.15
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.16
as86: Section 1.1.1, Section 2.1.1, Section 6.8
assembler directives: Chapter 5
assembly passes: Section 3.7
assembly-time options: Section 2.1.11
%assign: Section 4.1.3
ASSUME: Section 2.2.4
AT: Section 4.8.4
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
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.17
braces, after % sign: Section 4.3.7
braces, around macro parameters: Section 4.3
BSD: Section 8.2
BSF: Section B.18
BSR: Section B.18
.bss: Section 6.1, Section 6.5.1, Section 6.6, Section 6.7, Section 6.8, Section 6.9
BSWAP: Section B.19
BT: Section B.20
BTC: Section B.20
BTR: Section B.20
BTS: Section B.20
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.21
CALL FAR: Section 3.6
case sensitivity: Section 2.2.1, Section 4.1.1, Section 4.1.3, Section 4.3, Section 4.4.4, Section 6.2.3
CBW: Section B.22
CDQ: Section B.22
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.23
CLD: Section B.23
%clear: Section 4.8
CLFLUSH: Section B.24
CLI: Section B.23
CLTS: Section B.23
c16.mac: Section 7.4.5, Section 7.5.3
c32.mac: Section 8.1.4
CMC: Section B.25
CMOVcc: Section B.26
CMP: Section B.27
CMPccPD: Section B.28
CMPccPS: Section B.29
CMPccSD: Section B.31
CMPccSS: Section B.32
CMPEQPD: Section B.28
CMPEQPS: Section B.29
CMPEQSD: Section B.31
CMPEQSS: Section B.32
CMPLEPD: Section B.28
CMPLEPS: Section B.29
CMPLESD: Section B.31
CMPLESS: Section B.32
CMPLTPD: Section B.28
CMPLTPS: Section B.29
CMPLTSD: Section B.31
CMPLTSS: Section B.32
CMPNEQPD: Section B.28
CMPNEQPS: Section B.29
CMPNEQSD: Section B.31
CMPNEQSS: Section B.32
CMPNLEPD: Section B.28
CMPNLEPS: Section B.29
CMPNLESD: Section B.31
CMPNLESS: Section B.32
CMPNLTPD: Section B.28
CMPNLTPS: Section B.29
CMPNLTSD: Section B.31
CMPNLTSS: Section B.32
CMPORDPD: Section B.28
CMPORDPS: Section B.29
CMPORDSD: Section B.31
CMPORDSS: Section B.32
CMPSB: Section B.30
CMPSD: Section B.30
CMPSW: Section B.30
CMPUNORDPD: Section B.28
CMPUNORDPS: Section B.29
CMPUNORDSD: Section B.31
CMPUNORDSS: Section B.32
CMPXCHG: Section B.33
CMPXCHG486: Section B.33
CMPXCHG8B: Section B.34
coff: Section 2.1.1, Section 6.4
colon: Section 3.1
.COM: Section 6.1, Section 7.2
COMISD: Section B.35
COMISS: Section B.36
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.28, Section B.29, Section B.31, Section B.32
conditional assembly: Section 4.4
conditional jump: Section B.131
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.37
CPU XXX: Section 5.7
creating contexts: Section 4.7.1
critical expression: Section 3.2.2, Section 3.2.4, Section 3.7, Section 4.1.3, Section 5.3
CVTDQ2PD: Section B.38
CVTDQ2PS: Section B.39
CVTPD2DQ: Section B.40
CVTPD2PI: Section B.41
CVTPD2PS: Section B.42
CVTPI2PD: Section B.43
CVTPI2PS: Section B.44
CVTPS2DQ: Section B.45
CVTPS2PD: Section B.46
CVTPS2PI: Section B.47
CVTSD2SI: Section B.48
CVTSD2SS: Section B.49
CVTSI2SD: Section B.50
CVTSI2SS: Section B.51
CVTSS2SD: Section B.52
CVTSS2SI: Section B.53
CVTTPD2DQ: Section B.54
CVTTPD2PI: Section B.55
CVTTPS2DQ: Section B.56
CVTTPS2PI: Section B.57
CVTTSD2SI: Section B.58
CVTTSS2SI: Section B.59
CWD: Section B.22
CWDE: Section B.22
-D option: Section 2.1.11
-d option: Section 2.1.11
DAA: Section B.60
DAS: Section B.60
.data: Section 6.1, 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 registers: Section B.2.1
debugging format: Section 2.1.5
DEC: Section B.61
declaring structures: Section 4.8.3
default macro parameters: Section 4.3.4
default name: Chapter 6
default-WRT mechanism: Section 6.2.7
%define: Section 2.1.11, Section 4.1.1
defining sections: Section 5.2
design goals: Section 2.2.2
DevPac: Section 3.2.3, Section 3.8
disabling listing expansion: Section 4.3.9
DIV: Section B.62
division: Section 3.5.6
DIVPD: Section B.63, Section B.65
DIVPS: Section B.64
DIVSS: Section B.66
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.7, Section 2.1.8
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.7
-e option: Section 2.1.13, Section A.3.4
effective addresses: Section 3.1, Section 3.3, Section 3.7, 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
%elif: Section 4.4, Section 4.4.3
%elifctx: Section 4.4.2
%elifdef: Section 4.4.1
%elifid: Section 4.4.5
%elifidn: Section 4.4.4
%elifidni: Section 4.4.4
%elifnctx: Section 4.4.2
%elifndef: Section 4.4.1
%elifnid: Section 4.4.5
%elifnidn: Section 4.4.4
%elifnidni: Section 4.4.4
%elifnnum: Section 4.4.5
%elifnstr: Section 4.4.5
%elifnum: Section 4.4.5
%elifstr: Section 4.4.5
%else: Section 4.4
e-mail: Section 1.2
EMMS: Section B.67
endproc: Section 7.4.5, Section 8.1.4
%endrep: Section 4.5
ENDSTRUC: Section 4.8.3, Section 5.3
ENTER: Section B.68
environment: Section 2.1.19
EQU: Section 3.2, Section 3.2.4, Section 3.7
%error: Section 4.4.6
error messages: Section 2.1.7, Section 2.1.8
EVEN: Section 4.8.5
.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.13, 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.70
FADD: Section B.71
FADDP: Section B.71
far call: Section 2.2.5, Section B.21
far common variables: Section 6.2.8
far jump: Section B.133
far pointer: Section 3.6
FARCODE: Section 7.4.5, Section 7.5.3
FBLD: Section B.72
FBSTP: Section B.72
FCHS: Section B.73
FCLEX: Section B.74
FCMOVcc: Section B.75
FCOM: Section B.76
FCOMI: Section B.76
FCOMIP: Section B.76
FCOMP: Section B.76
FCOMPP: Section B.76
FCOS: Section B.77
FDECSTP: Section B.78
FDIV: Section B.80
FDIVP: Section B.80
FDIVR: Section B.80
FDIVRP: Section B.80
FEMMS: Section B.81
FFREE: Section B.82
FIADD: Section B.83
FICOM: Section B.84
FICOMP: Section B.84
FIDIV: Section B.85
FIDIVR: Section B.85
FILD: Section B.86
__FILE__: Section 4.8.2
FIMUL: Section B.87
FINCSTP: Section B.88
FINIT: Section B.89
FIST: Section B.86
FISTP: Section B.86
FISUB: Section B.90
FLAT: Section 6.2.1
flat memory model: Chapter 8
flat-form binary: Section 6.1
FLD: Section B.91
FLDCW: Section B.93
FLDENV: Section B.94
FLDxx: Section B.92
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.95
FMULP: Section B.95
FNINIT: Section B.89
FNOP: Section B.96
format-specific directives: Chapter 5
forward references: Section 3.7
FPATAN: Section B.97
FPREM: Section B.98
FPREM1: Section B.98
FPTAN: Section B.97
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.99
FRSTOR: Section B.100
FSAVE: Section B.100
FSCALE: Section B.101
FSETPM: Section B.102
FSIN: Section B.103
FSINCOS: Section B.103
FSQRT: Section B.104
FST: Section B.105
FSTCW: Section B.106
FSTENV: Section B.107
FSTP: Section B.105
FSTSW: Section B.108
FSUB: Section B.109
FSUBP: Section B.109
FSUBR: Section B.109
FSUBRP: Section B.109
ftp.kernel.org: Section 1.2
ftp.simtel.net: Section 7.1.1
FTST: Section B.110
FUCOMxx: Section B.111
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.112
FXCH: Section B.113
FxDISI: Section B.79
FxENI: Section B.79
F2XM1: Section B.69
FXRSTOR: Section B.114
FXSAVE: Section B.115
FXTRACT: Section B.116
FYL2X: Section B.117
FYL2XP1: Section B.117
-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
..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.118
http://www.web-sites.co.uk/nasm: Section 1.2
hybrid syntaxes: Section 2.2.2
-I option: Section 2.1.9
-i option: Section 2.1.9, Section A.3.3
%iassign: Section 4.1.3
ibiblio.org: Section 1.2
IBTS: Section B.119
ICEBP: Section B.126
%idefine: Section 4.1.1
IDIV: Section B.120
IEND: Section 4.8.4
%if: Section 4.4, Section 4.4.3
%ifctx: Section 4.4.2, Section 4.7.5
%ifdef: Section 4.4.1
%ifid: Section 4.4.5
%ifidn: Section 4.4.4
%ifidni: Section 4.4.4
%ifnctx: Section 4.4.2
%ifndef: Section 4.4.1
%ifnid: Section 4.4.5
%ifnidn: Section 4.4.4
%ifnidni: Section 4.4.4
%ifnnum: Section 4.4.5
%ifnstr: Section 4.4.5
%ifnum: Section 4.4.5
%ifstr: Section 4.4.5
%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.121
IN: Section B.122
INC: Section B.123
INCBIN: Section 3.2, Section 3.2.3, Section 3.4.3
%include: Section 2.1.9, Section 2.1.10, Section 4.6
include search path: Section 2.1.9
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.124
INSD: Section B.124
INSTALL: Section 1.3.2
installing: Section 1.3.1
instances of structures: Section 4.8.4
INSW: Section B.124
INT: Section B.125
INT01: Section B.126
INT1: Section B.126
INT3: Section B.126
integer overflow: Section 3.5
intel number formats: Section 3.4.4
INTO: Section B.127
INVD: Section B.128
INVLPG: Section B.129
IRET: Section B.130
IRETD: Section B.130
IRETW: Section B.130
ISTRUC: Section 4.8.4
iterating over macro parameters: Section 4.3.6
Jcc: Section B.131
Jcc NEAR: Section 10.1.2
JCXZ: Section B.132
JECXZ: Section B.132
JMP: Section B.133
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.8
LAHF: Section B.134
LAR: Section B.135
ld86: Section 6.8
LDMXCSR: Section B.136
LDS: Section B.137
LEA: Section B.138
LEAVE: Section B.139
LES: Section B.137
LFENCE: Section B.140
LFS: Section B.137
LGDT: Section B.141
LGS: Section B.137
LIBRARY: Section 6.9.1
licence: Section 1.1.2
LIDT: Section B.141
__LINE__: Section 4.8.2
linker, free: Section 7.1.1
Linux ELF: Section 6.5
listing file: Section 2.1.3
little-endian: Section 3.4.2
LLDT: Section B.141
LMSW: Section B.142
LOADALL: Section B.143
LOADALL286: Section B.143
%local: Section 4.9.3
local labels: Section 3.8
LODSB: Section B.144
LODSD: Section B.144
LODSW: Section B.144
logical AND: Section 4.4.3
logical OR: Section 4.4.3
logical XOR: Section 4.4.3
LOOP: Section B.145
LOOPE: Section B.145
LOOPNE: Section B.145
LOOPNZ: Section B.145
LOOPZ: Section B.145
LSL: Section B.146
LSS: Section B.137
LTR: Section B.147
-M option: Section 2.1.4
%macro: Section 4.3
macro library: Section 2.1.9
macro processor: Chapter 4
macro-local labels: Section 4.3.2
macro-params: Section 2.1.17
macros: Section 3.2.5
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
MASKMOVDQU: Section B.148
MASKMOVQ: Section B.149
MASM: Section 1.1.1, Section 2.2, Section 3.2.5, Section 6.2
MAXPD: Section B.150
MAXPS: Section B.151
MAXSD: Section B.152, Section B.153
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.154
Microsoft OMF: Section 6.2
MINPD: Section B.155
MINPS: Section B.156
MINSD: Section B.157, Section B.158
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.159
MOVAPD: Section B.160
MOVAPS: Section B.161
MOVD: Section B.162
MOVDQA: Section B.164
MOVDQ2Q: Section B.163
MOVDQU: Section B.165
MOVHLPS: Section B.166
MOVHPD: Section B.167
MOVHPS: Section B.168
MOVLHPS: Section B.169
MOVLPD: Section B.170
MOVLPS: Section B.171
MOVMSKPD: Section B.172
MOVMSKPS: Section B.173
MOVNTDQ: Section B.174
MOVNTI: Section B.175
MOVNTPD: Section B.176
MOVNTPS: Section B.177
MOVNTQ: Section B.178
MOVQ: Section B.179
MOVQ2DQ: Section B.180
MOVSB: Section B.181
MOVSD: Section B.181, Section B.182
MOVSS: Section B.183
MOVSW: Section B.181
MOVSX: Section B.184
MOVUPD: Section B.185
MOVUPS: Section B.186
MOVZX: Section B.184
MS-DOS: Section 6.1
MS-DOS device drivers: Section 7.3
MUL: Section B.187
MULPD: Section B.188
MULPS: Section B.189
MULSD: Section B.190
MULSS: Section B.191
multi-line macros: Section 2.1.17, Section 4.3
multipass optimization: Section 2.1.15
multiplication: Section 3.5.6
multipush macro: Section 4.3.6
nasm.1: Section 1.3.2
NASM version: Section 4.8.1
__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
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.21
near common variables: Section 6.2.8
near jump: Section B.133
NEG: Section B.192
NetBSD: Section 6.7, Section 8.2
new releases: Section 1.2
noalloc: Section 6.5.1
nobits: Section 6.5.1
noexec: Section 6.5.1
.nolist: Section 4.3.9
NOP: Section B.193
NOT: Section B.192
`nowait': Section 2.2.6
nowrite: Section 6.5.1
number-overflow: Section 2.1.17
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.247, Section B.266
o32: Section 9.3, Section B.247, Section B.266
.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.15
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, writing: Section 9.1
operating system: Section 6.1
operators: Section 3.5
OR: Section B.194
ORG: Section 6.1.1, Section 7.2.1, Section 7.2.2, Section 10.1.3
ORPD: Section B.195
orphan-labels: Section 2.1.17, Section 3.1
ORPS: Section B.196
OS/2: Section 6.2, Section 6.2.1
OUT: Section B.197
out of range, jumps: Section 10.1.2
output file format: Section 2.1.2
output formats: Chapter 6
OUTSB: Section B.198
OUTSD: Section B.198
OUTSW: Section B.198
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.10
-p option: Section 2.1.10, Section 4.6
PACKSSDW: Section B.199
PACKSSWB: Section B.199
PACKUSWB: Section B.199
PADDB: Section B.200
PADDD: Section B.200
PADDQ: Section B.201
PADDSB: Section B.202
PADDSIW: Section B.203
PADDSW: Section B.202
PADDUSB: Section B.204
PADDUSW: Section B.204
PADDW: Section B.200
PAND: Section B.205
PANDN: Section B.205
paradox: Section 3.7
PASCAL: Section 7.5.3
Pascal calling convention: Section 7.5.1
passes, assembly: Section 3.7
PATH: Section 1.3.1
PAUSE: Section B.206
PAVEB: Section B.207
PAVGB: Section B.208
PAVGUSB: Section B.209
PAVGW: Section B.208
PCMPxx: Section B.210
PDISTIB: Section B.211
period: Section 3.8
Perl: Section 1.3.1
perverse: Section 2.1.9
PEXTRW: Section B.212
PFACC: Section B.215
PFADD: Section B.216
PFCMPEQ: Section B.217
PFCMPGE: Section B.217
PFCMPGT: Section B.217
PFCMPxx: Section B.217
PF2ID: Section B.213
PF2IW: Section B.214, Section B.231
PFMAX: Section B.218
PFMIN: Section B.219
PFMUL: Section B.220
PFNACC: Section B.221, Section B.222
PFRCP: Section B.223
PFRCPIT1: Section B.224
PFRCPIT2: Section B.225
PFRSQIT1: Section B.226
PFRSQRT: Section B.227
PFSUB: Section B.228
PFSUBR: Section B.229
PharLap: Section 6.2.1
PIC: Section 6.5.2, Section 6.7, Section 8.2
PI2FD: Section B.230
PINSRW: Section B.232
..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.233
PMADDWD: Section B.234
PMAGW: Section B.235
PMAXSW: Section B.236
PMAXUB: Section B.237
PMINSW: Section B.238
PMINUB: Section B.239
PMOVMSKB: Section B.240
PMULHRIW: Section B.241
PMULHRWA: Section B.242
PMULHRWC: Section B.241
PMULHUW: Section B.243
PMULHW: Section B.244
PMULLW: Section B.244
PMULUDQ: Section B.245
PMVccZB: Section B.246
%pop: Section 4.7, Section 4.7.1
POP: Section B.247
POPAx: Section B.248
POPFx: Section B.249
POR: Section B.250
position-independent code: Section 6.5.2, Section 6.7, Section 8.2
precedence: Section 3.5
pre-defining macros: Section 2.1.11, Section 4.1.1
preferred: Section 3.6
PREFETCH: Section B.251
PREFETCHh: Section B.252
PREFETCHNTA: Section B.252
PREFETCHT0: Section B.252
PREFETCHT1: Section B.252
PREFETCHT2: Section B.252
$prefix: Section 3.1, Section 3.4.1, Section 6.9.2
pre-including files: Section 2.1.10
preprocess-only mode: Section 2.1.13
preprocessor: Section 2.1.13, Section 2.1.14, Section 3.2.4, Section 3.5.6, Chapter 4
preprocessor expressions: Section 2.1.13
preprocessor loops: Section 4.5
preprocessor variables: Section 4.1.3
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.5.1
program entry point: Section 6.2.6, Section 7.1.1
program origin: Section 6.1.1
PSADBW: Section B.253
pseudo-instructions: Section 3.2
PSHUFD: Section B.254
PSHUFHW: Section B.255
PSHUFLW: Section B.256
PSHUFW: Section B.257
PSLLx: Section B.258
PSRAx: Section B.259
PSRLx: Section B.260
PSUBSIW: Section B.263
PSUBSxx: Section B.262
PSUBUSx: Section B.262
PSUBx: Section B.261
PSWAPD: Section B.264
PSWAPW: Section B.264
PUBLIC: Section 5.5, Section 6.2.1
PUNPCKxxx: Section B.265
pure binary: Section 6.1
%push: Section 4.7, Section 4.7.1
PUSH: Section B.266
PUSHAx: Section B.267
PUSHFx: Section B.268
PXOR: Section B.269
QBasic:
quick start: Section 2.2
QWORD: Section 3.1
-r: Section A.3
RCL: Section B.270
RCPPS: Section B.271
RCPSS: Section B.272
RCR: Section B.270
rdf: Section 2.1.1, Section 6.9
RDMSR: Section B.273
rdoff subdirectory: Section 1.3.2, Section 6.9
RDPMC: Section B.274
RDSHR: Section B.275
RDTSC: Section B.276
redirecting errors: Section 2.1.7
register push: Section B.266
relational operators: Section 4.4.3
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.7
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.277
RETF: Section B.277
RETN: Section B.277
ROL: Section B.278
ROR: Section B.278
%rotate: Section 4.3.6
rotating macro parameters: Section 4.3.6
RPL: Section B.16
RSDC: Section B.279
RSLDT: Section B.280
RSM: Section B.281
RSQRTPS: Section B.282
RSQRTSS: Section B.283
RSTS: Section B.284
-s option: Section 2.1.8, Section A.3.2
SAHF: Section B.285
SAL: Section B.286
SALC: Section B.287
SAR: Section B.286
SBB: Section B.288
SCASB: Section B.289
SCASD: Section B.289
SCASW: Section B.289
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.19
SETcc: Section B.290
SFENCE: Section B.291
SGDT: Section B.292
shared libraries: Section 6.7, Section 8.2
shared library: Section 6.5.3
shift command:
shift command: Section 4.3.6
SHL: Section B.293
SHLD: Section B.294
SHR: Section B.293
SHRD: Section B.294
SHUFPD: Section B.295
SHUFPS: Section B.296
SIB byte: Section B.2, Section B.2.5
SIDT: Section B.292
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.292
SMI: Section B.297
SMINT: Section B.298
SMINTOLD: Section B.298
SMSW: Section B.299
-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.300
SQRTPS: Section B.301
SQRTSD: Section B.302
SQRTSS: Section B.303
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.68
%stacksize: Section 4.9.2
standard macros: Section 4.8
standardised section names: Section 5.2, Section 6.1, 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
status flags: Section B.2.4
STC: Section B.304
STD: Section B.304
stderr: Section 2.1.7
stdout: Section 2.1.8
STI: Section B.304
STMXCSR: Section B.305
STOSB: Section B.306
STOSD: Section B.306
STOSW: Section B.306
STR: Section B.307
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.3, Section 5.3, Section 7.4.4, Section 8.1.3
stub preprocessor: Section 2.1.14
SUB: Section B.308
SUBPD: Section B.309
SUBPS: Section B.310
SUBSD: Section B.311
SUBSS: Section B.312
%substr: Section 4.2, Section 4.2.2
sub-strings: Section 4.2.2
subtraction: Section 3.5.5
suppressible warning: Section 2.1.17
suppressing preprocessing: Section 2.1.14
SVDC: Section B.313
SVLDT: Section B.314
SVTS: Section B.315
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.316
SYSENTER: Section B.317
SYSEXIT: Section B.318
SYSRET: Section B.319
-t: Section 2.1.16
TASM: Section 1.1.1, Section 2.2, Section 6.2
tasm compatible preprocessor directives: Section 4.9
TBYTE: Section 2.2.7
TEST: Section B.320
test subdirectory: Section 7.1.1
test registers: Section B.2.1
testing arbitrary numeric expressions: Section 4.4.3
testing exact text identity: Section 4.4.4
testing single-line macro existence: Section 4.4.1
testing the context stack: Section 4.4.2
testing token types: Section 4.4.5
.text: Section 6.1, 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.7, Section 10.1.3, Section 10.1.4
TLINK: Section 7.2.2
trailing colon: Section 3.1
two-pass assembler: Section 3.7
TWORD: Section 2.2.7, Section 3.1
type, of symbols: Section 6.5.3
-U option: Section 2.1.12
-u option: Section 2.1.12, Section A.3
UCOMISD: Section B.321
UCOMISS: Section B.322
UD0: Section B.323
UD1: Section B.323
UD2: Section B.323
UMOV: Section B.324
unary operators: Section 3.5.7
%undef: Section 2.1.12, Section 4.1.2
undefining macros: Section 2.1.12
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 source archive: Section 1.3.2
UNPCKHPD: Section B.325
UNPCKHPS: Section B.326
UNPCKLPD: Section B.327
UNPCKLPS: Section B.328
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.6
user-level assembler directives: Section 4.8
user-level directives: Chapter 5
-v option: Section 2.1.18
VAL: Section 7.1.1
valid characters: Section 3.1
variable types: Section 2.2.3
VERR: Section B.329
version: Section 2.1.18
version number of NASM: Section 4.8.1
VERW: Section B.329
Visual C++: Section 6.3
-w option: Section 2.1.17
WAIT: Section B.330
warnings: Section 2.1.17
WBINVD: Section B.331
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.332
WRSHR: Section B.333
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
XADD: Section B.334
XBTS: Section B.335
XCHG: Section B.336
x2ftp.oulu.fi: Section 7.1.1
XLATB: Section B.337
XOR: Section B.338
XORPD: Section B.339
XORPS: Section B.340

Contents