The Netwide Assembler: NASM

Contents

!= operator: Section 4.3.3
$ Here token: Section 3.5
$$ token: Section 3.5, Section 6.5.2
% operator: Section 3.5.6
%$ and %$$ prefixes: Section 4.6.2
%% operator: Section 3.5.6, Section 4.2.2
%+1 and %-1 syntax: Section 4.2.8
%0 parameter count: Section 4.2.4, Section 4.2.5
& operator: Section 3.5.3
&& operator: Section 4.3.3
* operator: Section 3.5.6
+ modifier: Section 4.2.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.2.2
/ operator: Section 3.5.6
// operator: Section 3.5.6
< operator: Section 4.3.3
<< operator: Section 3.5.4
<= operator: Section 4.3.3
<> operator: Section 4.3.3
= operator: Section 4.3.3
== operator: Section 4.3.3
> operator: Section 4.3.3
>= operator: Section 4.3.3
>> operator: Section 3.5.4
? MASM syntax: Section 3.2.2
^ operator: Section 3.5.2
^^ operator: Section 4.3.3
| operator: Section 3.5.1
|| operator: Section 4.3.3
~ operator: Section 3.5.7
-a option: Section 2.1.11
a16: Section 9.3, Section A.24, Section A.98, Section A.117, Section A.137, Section A.149, Section A.193, Section A.206, Section A.229, Section A.243, Section A.269
a32: Section 9.3, Section A.24, Section A.98, Section A.117, Section A.137, Section A.149, Section A.193, Section A.206, Section A.229, Section A.243, Section A.269
a86: Section 1.1.1, Section 2.2, Section 2.2.2, Section 2.2.6
AAA: Section A.4
AAD: Section A.4
AAM: Section A.4
AAS: Section A.4
ABSOLUTE: Section 5.3, Section 6.2.1
ADC: Section A.5
ADD: Section A.6
addition: Section 3.5.5
ADDPS: Section A.7
addressing, mixed-size: Section 9.2
address-size prefixes: Section 3.1
ADDSS: Section A.8
algebra: Section 3.3
ALIGN: Section 4.7.5, Section 6.1.2, Section 6.2.1
ALIGNB: Section 4.7.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
alloc: Section 6.5.1
alt.lang.asm: Section 1.1.1, Section 1.2
ambiguity: Section 2.2.3
AND: Section A.9
ANDNPS: Section A.10
ANDPS: Section A.11
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 7.4.5, Section 8.1.4
ARPL: Section A.12
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.8
%assign: Section 4.1.4
ASSUME: Section 2.2.4
AT: Section 4.7.4
Autoconf: Section 1.3.2
autoexec.bat: Section 1.3.1
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.6.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 A.13
braces, after % sign: Section 4.2.7
braces, around macro parameters: Section 4.2
BSD: Section 8.2
BSF: Section A.14
BSR: Section A.14
.bss: Section 6.1, Section 6.5.1, Section 6.6, Section 6.7, Section 6.8, Section 6.9
BSWAP: Section A.15
BT: Section A.16
BTC: Section A.16
BTR: Section A.16
BTS: Section A.16
bugs: 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 A.17
CALL FAR: Section 3.6
case sensitivity: Section 2.2.1, Section 4.1.1, Section 4.1.4, Section 4.2, Section 4.3.4, Section 6.2.3
CBW: Section A.18
CDQ: Section A.18
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 A.19
CLD: Section A.19
%clear: Section 4.7
CLI: Section A.19
CLTS: Section A.19
c16.mac: Section 7.4.5, Section 7.5.3
c32.mac: Section 8.1.4
CMC: Section A.20
CMOVcc: Section A.21
CMP: Section A.22
CMPccPS: Section A.23
CMPccSS: Section A.25
CMPSB: Section A.24
CMPSD: Section A.24
CMPSW: Section A.24
CMPXCHG: Section A.26
CMPXCHG486: Section A.26
CMPXCHG8B: Section A.27
coff: Section 2.1.1, Section 6.4
colon: Section 3.1
.COM: Section 6.1, Section 7.2
COMISS: Section A.28
command-line: Section 2.1, Chapter 6
commas in macro parameters: Section 4.2.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.archives.msdos.announce: Section 1.2
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.2.7
condition codes: Section A.2.2
condition codes as macro parameters: Section 4.2.8
conditional assembly: Section 4.3
conditional jump: Section A.107
conditional jumps: Section 10.1.2
conditional-return macro: Section 4.2.8
configure: Section 1.3.2
constants: Section 3.4
context stack: Section 4.6, Section 4.6.5
context-local labels: Section 4.6.2
context-local single-line macros: Section 4.6.3
control registers: Section A.2.1
counting macro parameters: Section 4.2.5
CPUID: Section 3.4.2, Section A.29
creating contexts: Section 4.6.1
critical expression: Section 3.2.2, Section 3.2.4, Section 3.7, Section 4.1.4, Section 5.3
CVTPI2PS: Section A.30
CVTPS2PI: Section A.31
CVTSI2SS: Section A.32
CVTSS2SI: Section A.33
CVTTPS2PI: Section A.31
CVTTSS2SI: Section A.33
CWD: Section A.18
CWDE: Section A.18
-D option: Section 2.1.8
-d option: Section 2.1.8
DAA: Section A.34
DAS: Section A.34
.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
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 registers: Section A.2.1
DEC: Section A.35
declaring structures: Section 4.7.3
default macro parameters: Section 4.2.4
default name: Chapter 6
default-WRT mechanism: Section 6.2.7
%define: Section 2.1.8, 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.2.9
DIV: Section A.36
division: Section 3.5.6
DIVPS: Section A.37
DIVSS: Section A.38
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.4, Section 2.1.5
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.4
-e option: Section 2.1.10
effective addresses: Section 3.1, Section 3.3, Section 3.7, Section A.2.3
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.3, Section 4.3.3
%elifctx: Section 4.3.2
%elifdef: Section 4.3.1
%elifid: Section 4.3.5
%elifidn: Section 4.3.4
%elifidni: Section 4.3.4
%elifnctx: Section 4.3.2
%elifndef: Section 4.3.1
%elifnid: Section 4.3.5
%elifnidn: Section 4.3.4
%elifnidni: Section 4.3.4
%elifnnum: Section 4.3.5
%elifnstr: Section 4.3.5
%elifnum: Section 4.3.5
%elifstr: Section 4.3.5
%else: Section 4.3
e-mail: Section 1.2
EMMS: Section A.39
endproc: Section 7.4.5, Section 8.1.4
%endrep: Section 4.4
ENDSTRUC: Section 4.7.3, Section 5.3
ENTER: Section A.40
environment: Section 2.1.13
EQU: Section 3.2, Section 3.2.4, Section 3.7
%error: Section 4.3.6
error messages: Section 2.1.4, Section 2.1.5
EVEN: Section 4.7.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.4
EXPORT: Section 6.2.5
exporting symbols: Section 5.5
expressions: Section 2.1.10, 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.2, Chapter 6
FABS: Section A.42
FADD: Section A.43
FADDP: Section A.43
far call: Section 2.2.5, Section A.17
far common variables: Section 6.2.8
far jump: Section A.106
far pointer: Section 3.6
FARCODE: Section 7.4.5, Section 7.5.3
FBLD: Section A.44
FBSTP: Section A.44
FCHS: Section A.45
FCLEX: Section A.46
FCMOVcc: Section A.47
FCOM: Section A.48
FCOMI: Section A.48
FCOMIP: Section A.48
FCOMP: Section A.48
FCOMPP: Section A.48
FCOS: Section A.49
FDECSTP: Section A.50
FDIV: Section A.52
FDIVP: Section A.52
FDIVR: Section A.52
FDIVRP: Section A.52
FEMMS: Section A.53
FFREE: Section A.54
FFREEP: Section A.55
FIADD: Section A.56
FICOM: Section A.57
FICOMP: Section A.57
FIDIV: Section A.58
FIDIVR: Section A.58
FILD: Section A.59
__FILE__: Section 4.7.2
FIMUL: Section A.60
FINCSTP: Section A.61
FINIT: Section A.62
FIST: Section A.59
FISTP: Section A.59
FISUB: Section A.63
FLAT: Section 6.2.1
flat memory model: Chapter 8
flat-form binary: Section 6.1
FLD: Section A.64
FLDCW: Section A.66
FLDENV: Section A.67
FLDxx: Section A.65
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 A.2.1
FMUL: Section A.68
FMULP: Section A.68
FNCLEX: Section A.46
FNINIT: Section A.62
FNOP: Section A.69
format-specific directives: Chapter 5
forward references: Section 3.7
FPATAN: Section A.70
FPREM: Section A.71
FPREM1: Section A.71
FPTAN: Section A.70
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 A.72
FRSTOR: Section A.73
FSAVE: Section A.73
FSCALE: Section A.74
FSETPM: Section A.75
FSIN: Section A.76
FSINCOS: Section A.76
FSQRT: Section A.77
FST: Section A.78
FSTCW: Section A.79
FSTENV: Section A.80
FSTP: Section A.78
FSTSW: Section A.81
FSUB: Section A.82
FSUBP: Section A.82
FSUBR: Section A.82
FSUBRP: Section A.82
ftp.coast.net: Section 1.2
ftp.kernel.org: Section 1.2
ftp.simtel.net: Section 1.2, Section 7.1.1
FTST: Section A.83
FUCOMxx: Section A.84
function: Section 6.5.3
functions, C calling convention: Section 7.4.3, Section 8.1.2
functions, Pascal calling convention: Section 7.5.1
FWAIT: Section A.85
FXAM: Section A.86
FXCH: Section A.87
FxDISI: Section A.51
FxENI: Section A.51
F2XM1: Section A.41
FXRSTOR: Section A.88
FXSAVE: Section A.89
FXTRACT: Section A.90
FYL2X: Section A.91
FYL2XP1: Section A.91
gas: Section 1.1.1
gcc: Section 1.1.1
general purpose register: Section A.1
GLOBAL: Section 5.5
GLOBAL, aoutb extensions to: Section 6.5.3
GLOBAL, elf extensions to: Section 6.5.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.2.3
GROUP: Section 6.2.2
groups: Section 3.6
hex: Section 3.4.1
HLT: Section A.92
hybrid syntaxes: Section 2.2.2
-I option: Section 2.1.6
-i option: Section 2.1.6
%iassign: Section 4.1.4
IBTS: Section A.93
ICEBP: Section A.100
%idefine: Section 4.1.1
IDIV: Section A.94
IEND: Section 4.7.4
%if: Section 4.3, Section 4.3.3
%ifctx: Section 4.3.2, Section 4.6.5
%ifdef: Section 4.3.1
%ifid: Section 4.3.5
%ifidn: Section 4.3.4
%ifidni: Section 4.3.4
%ifnctx: Section 4.3.2
%ifndef: Section 4.3.1
%ifnid: Section 4.3.5
%ifnidn: Section 4.3.4
%ifnidni: Section 4.3.4
%ifnnum: Section 4.3.5
%ifnstr: Section 4.3.5
%ifnum: Section 4.3.5
%ifstr: Section 4.3.5
%imacro: Section 4.2
immediate operand: Section A.1
immediate single-line macros: Section 4.1.2
IMPORT: Section 6.2.4
import library: Section 6.2.4
importing symbols: Section 5.4
IMUL: Section A.95
IN: Section A.96
INC: Section A.97
INCBIN: Section 3.2, Section 3.2.3, Section 3.4.3
%include: Section 2.1.6, Section 2.1.7, Section 4.5
include search path: Section 2.1.6
including other files: Section 4.5
inefficient code: Section 10.1.1
infinite loop: Section 3.5
informational section: Section 6.3.1
INSB: Section A.98
INSD: Section A.98
INSTALL: Section 1.3.2
installing: Section 1.3.1
instances of structures: Section 4.7.4
INSW: Section A.98
INT: Section A.99
INT01: Section A.100
INT1: Section A.100
INT3: Section A.100
integer overflow: Section 3.5
intel number formats: Section 3.4.4
INTO: Section A.101
INVD: Section A.102
INVLPG: Section A.103
IRET: Section A.104
IRETD: Section A.104
IRETW: Section A.104
ISTRUC: Section 4.7.4
iterating over macro parameters: Section 4.2.6
Jcc: Section A.107
Jcc NEAR: Section 10.1.2
JCXZ: Section A.105
JECXZ: Section A.105
JMP: Section A.106
JMP DWORD: Section 9.1
jumps, mixed-size: Section 9.1
-l option: Section 2.1.3
label prefix: Section 3.8
LAHF: Section A.108
LAR: Section A.109
ld86: Section 6.8
LDMXCSR: Section A.111
LDS: Section A.110
LEA: Section A.112
LEAVE: Section A.113
LES: Section A.110
LFS: Section A.110
LGDT: Section A.114
LGS: Section A.110
LIBRARY: Section 6.9.1
licence: Section 1.1.2
LIDT: Section A.114
__LINE__: Section 4.7.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 A.114
LMSW: Section A.115
LOADALL: Section A.116
LOADALL286: Section A.116
local labels: Section 3.8
LODSB: Section A.117
LODSD: Section A.117
LODSW: Section A.117
logical AND: Section 4.3.3
logical OR: Section 4.3.3
logical XOR: Section 4.3.3
LOOP: Section A.118
LOOPE: Section A.118
LOOPNE: Section A.118
LOOPNZ: Section A.118
LOOPZ: Section A.118
LSL: Section A.119
LSS: Section A.110
LTR: Section A.120
%macro: Section 4.2
macro library: Section 2.1.6
macro processor: Chapter 4
macro-local labels: Section 4.2.2
macro-params: Section 2.1.12
macros: Section 3.2.5
make: Section 1.3.2
makefiles: Section 1.3.1, Section 1.3.2
Makefile.unx: Section 1.3.2
man pages: Section 1.3.2
MASKMOVQ: Section A.121
MASM: Section 1.1.1, Section 2.2, Section 3.2.5, Section 6.2
MAXPS: Section A.122
MAXSS: Section A.123
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 A.1
Microsoft OMF: Section 6.2
MINPS: Section A.124
MINSS: Section A.125
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 A.2.1
ModR/M byte: Section A.2, Section A.2.3
modulo operators: Section 3.5.6
MOV: Section A.126
MOVAPS: Section A.127
MOVD: Section A.128
MOVHLPS: Section A.129
MOVHPS: Section A.130
MOVLHPS: Section A.131
MOVLPS: Section A.132
MOVMSKPS: Section A.133
MOVNTPS: Section A.134
MOVNTQ: Section A.135
MOVQ: Section A.136
MOVSB: Section A.137
MOVSD: Section A.137
MOVSS: Section A.138
MOVSW: Section A.137
MOVSX: Section A.139
MOVUPS: Section A.140
MOVZX: Section A.139
MS-DOS: Section 6.1
MS-DOS device drivers: Section 7.3
MUL: Section A.141
MULPS: Section A.142
MULSS: Section A.143
multi-line macros: Section 2.1.12, Section 4.2
multiplication: Section 3.5.6
multipush macro: Section 4.2.6
nasm.1: Section 1.3.2
NASM version: Section 4.7.1
__NASMDEFSEG: Section 6.2
nasm.exe: Section 1.3.1
nasm -h: Section 2.1.2
__NASM_MAJOR__: Section 4.7.1
__NASM_MINOR__: Section 4.7.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.exe: Section 1.3.1
ndisasmw.exe: Section 1.3.1
near call: Section 2.2.5, Section A.17
near common variables: Section 6.2.8
near jump: Section A.106
NEG: Section A.144
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.2.9
NOP: Section A.145
NOT: Section A.144
`nowait': Section 2.2.6
nowrite: Section 6.5.1
number-overflow: Section 2.1.12
numeric constants: Section 3.2.1, Section 3.4.1
-o option: Section 2.1.1
o16: Section 9.3, Section A.193, Section A.206
o32: Section 9.3, Section A.193, Section A.206
.OBJ: Section 7.1
obj: Section 2.1.1, Section 6.2
object: Section 6.5.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.2.4
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 A.146
ORG: Section 6.1.1, Section 7.2.1, Section 7.2.2, Section 10.1.3
orphan-labels: Section 2.1.12, Section 3.1
ORPS: Section A.147
OS/2: Section 6.2, Section 6.2.1
OUT: Section A.148
out of range, jumps: Section 10.1.2
output file format: Section 2.1.2
output formats: Chapter 6
OUTSB: Section A.149
OUTSD: Section A.149
OUTSW: Section A.149
overlapping segments: Section 3.6
OVERLAY: Section 6.2.1
overloading multi-line macros: Section 4.2.1
overloading, single-line macros: Section 4.1.1
-P option: Section 2.1.7
-p option: Section 2.1.7, Section 4.5
PACKSSDW: Section A.150
PACKSSWB: Section A.150
PACKUSWB: Section A.150
PADDSIW: Section A.152
PADDxx: Section A.151
PAND: Section A.153
PANDN: Section A.153
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
PAVEB: Section A.154
PAVGB: Section A.155
PAVGUSB: Section A.156
PAVGW: Section A.155
PCMPxx: Section A.157
PDISTIB: Section A.158
period: Section 3.8
Perl: Section 1.3.1
perverse: Section 2.1.6
PEXTRW: Section A.159
PFACC: Section A.162
PFADD: Section A.163
PFCMPEQ: Section A.164
PFCMPGE: Section A.164
PFCMPGT: Section A.164
PF2ID: Section A.160
PF2IW: Section A.161
PFMAX: Section A.165
PFMIN: Section A.166
PFMUL: Section A.167
PFNACC: Section A.168
PFPNACC: Section A.169
PFRCP: Section A.170
PFRCPIT1: Section A.171
PFRCPIT2: Section A.172
PFRSQIT1: Section A.173
PFRSQRT: Section A.174
PFSUB: Section A.175
PFSUBR: Section A.176
PharLap: Section 6.2.1
PIC: Section 6.5.2, Section 6.7, Section 8.2
PI2FD: Section A.177
PI2FW: Section A.178
PINSRW: Section A.179
..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 A.180
PMADDWD: Section A.181
PMAGW: Section A.182
PMAXSW: Section A.183
PMAXUB: Section A.184
PMINSW: Section A.185
PMINUB: Section A.186
PMOVMSKB: Section A.187
PMULHRIW: Section A.189
PMULHRWA: Section A.188
PMULHRWC: Section A.189
PMULHUW: Section A.190
PMULHW: Section A.191
PMULLW: Section A.191
PMVccZB: Section A.192
%pop: Section 4.6, Section 4.6.1
POP: Section A.193
POPAx: Section A.194
POPFx: Section A.195
POR: Section A.196
position-independent code: Section 6.5.2, Section 6.7, Section 8.2
precedence: Section 3.5
pre-defining macros: Section 2.1.8, Section 4.1.1
preferred: Section 3.6
PREFETCH: Section A.197
PREFETCHNTA: Section A.198
PREFETCHT0: Section A.198
PREFETCHT1: Section A.198
PREFETCHT2: Section A.198
PREFETCHW: Section A.197
$prefix: Section 3.1, Section 3.4.1
pre-including files: Section 2.1.7
preprocess-only mode: Section 2.1.10
preprocessor: Section 2.1.10, Section 2.1.11, Section 3.2.4, Section 3.5.6, Chapter 4
preprocessor expressions: Section 2.1.10
preprocessor loops: Section 4.4
preprocessor variables: Section 4.1.4
primitive directives: Chapter 5
PRIVATE: Section 6.2.1
proc: 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 A.199
pseudo-instructions: Section 3.2
PSHUFW: Section A.200
PSLLx: Section A.201
PSRAx: Section A.201
PSRLx: Section A.201
PSUBSIW: Section A.203
PSUBxx: Section A.202
PSWAPD: Section A.204
PUBLIC: Section 5.5, Section 6.2.1
PUNPCKxxx: Section A.205
pure binary: Section 6.1
%push: Section 4.6, Section 4.6.1
PUSH: Section A.206
PUSHAx: Section A.207
PUSHFx: Section A.208
PXOR: Section A.209
QBasic:
quick start: Section 2.2
QWORD: Section 3.1
RCL: Section A.210
RCPPS: Section A.211
RCPSS: Section A.212
RCR: Section A.210
rdf: Section 2.1.1, Section 6.9
RDMSR: Section A.213
rdoff subdirectory: Section 1.3.2, Section 6.9
RDPMC: Section A.214
RDSHR: Section A.215
RDTSC: Section A.216
redirecting errors: Section 2.1.4
register push: Section A.206
relational operators: Section 4.3.3
Relocatable Dynamic Object File Format: Section 6.9
relocations, PIC-specific: Section 6.5.2
removing contexts: Section 4.6.1
renaming contexts: Section 4.6.4
%rep: Section 3.2.5, Section 4.4
repeating: Section 3.2.5, Section 4.4
%repl: Section 4.6.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 A.1
RESW: Section 3.2, Section 3.2.2
RET: Section A.217
RETF: Section A.217
RETN: Section A.217
ROL: Section A.218
ROR: Section A.218
%rotate: Section 4.2.6
rotating macro parameters: Section 4.2.6
RSDC: Section A.219
RSLDT: Section A.220
RSM: Section A.221
RSQRTPS: Section A.222
RSQRTSS: Section A.223
RSTS: Section A.224
-s option: Section 2.1.5
SAHF: Section A.225
SAL: Section A.226
SALC: Section A.227
SAR: Section A.226
SBB: Section A.228
SCASB: Section A.229
SCASD: Section A.229
SCASW: Section A.229
searching for include files: Section 4.5
__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 A.2.1
segments: Section 3.6
segments, groups of: Section 6.2.2
separator character: Section 2.1.13
SETcc: Section A.230
SFENCE: Section A.231
SGDT: Section A.232
shared libraries: Section 6.7, Section 8.2
shared library: Section 6.5.3
shift command:
shift command: Section 4.2.6
SHL: Section A.233
SHLD: Section A.234
SHR: Section A.233
SHRD: Section A.234
SHUFPS: Section A.235
SIB byte: Section A.2, Section A.2.3
SIDT: Section A.232
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 A.232
SMI: Section A.236
SMINT: Section A.237
SMINTOLD: Section A.237
SMSW: Section A.238
-soname: Section 8.2.6
sound: Section 3.2.3
source code: Section 1.3.1
source-listing file: Section 2.1.3
SQRTPS: Section A.239
SQRTSS: Section A.240
square brackets: Section 2.2.2, Section 3.3
STACK: Section 6.2.1
standard macros: Section 4.7
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
STC: Section A.241
STD: Section A.241
stderr: Section 2.1.4
stdout: Section 2.1.5
STI: Section A.241
STMXCSR: Section A.242
STOSB: Section A.243
STOSD: Section A.243
STOSW: Section A.243
STR: Section A.244
string constant: Section 3.2.1
STRUC: Section 4.7.3, Section 5.3, Section 7.4.4, Section 8.1.3
stub preprocessor: Section 2.1.11
SUB: Section A.245
SUBPS: Section A.246
SUBSS: Section A.247
subtraction: Section 3.5.5
sunsite.unc.edu: Section 1.2
suppressible warning: Section 2.1.12
suppressing preprocessing: Section 2.1.11
SVDC: Section A.248
SVLDT: Section A.249
SVTS: Section A.250
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
.SYS: Section 6.1, Section 7.3
SYSCALL: Section A.251
SYSENTER: Section A.252
SYSEXIT: Section A.253
SYSRET: Section A.254
TASM: Section 1.1.1, Section 2.2, Section 6.2
TBYTE: Section 2.2.7
TEST: Section A.255
test subdirectory: Section 7.1.1
test registers: Section A.2.1
testing arbitrary numeric expressions: Section 4.3.3
testing exact text identity: Section 4.3.4
testing single-line macro existence: Section 4.3.1
testing the context stack: Section 4.3.2
testing token types: Section 4.3.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.9
-u option: Section 2.1.9
UCOMISS: Section A.256
UD2: Section A.257
UMOV: Section A.258
unary operators: Section 3.5.7
%undef: Section 2.1.9, Section 4.1.3
undefining macros: Section 2.1.9
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
UNPCKHPS: Section A.259
UNPCKLPS: Section A.260
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 6.2.1
USE32: Section 6.2.1
user-defined errors: Section 4.3.6
user-level assembler directives: Section 4.7
user-level directives: Chapter 5
VAL: Section 7.1.1
valid characters: Section 3.1
variable types: Section 2.2.3
VERR: Section A.261
version number of NASM: Section 4.7.1
VERW: Section A.261
Visual C++: Section 6.3
-w option: Section 2.1.12
WAIT: Section A.262
warnings: Section 2.1.12
WBINVD: Section A.263
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 A.264
WRSHR: Section A.265
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 A.266
XBTS: Section A.267
XCHG: Section A.268
%xdefine: Section 4.1.2
x2ftp.oulu.fi: Section 7.1.1
XLATB: Section A.269
XOR: Section A.270
XORPS: Section A.271

Contents 1