The Netwide Assembler (NASM)

Copyright (c) 2006-2007 .

Permission is granted to copy, distribute and/or modify this document under the terms of the "", Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "".

NASM Index

!= operatorSection 4.4.4
$$ token$$ token
Section 6.5.2
$ Here token$ Here Token
$ prefix$ Current Address
Section 3.4.1
Section 6.9.2
% operatorSection 3.5.6
%!Section 4.10.2
%$ and %$$ prefixesSection 4.7.2
%% operatorSection 3.5.6
Section 4.3.2
%+Section 4.1.3
%+1 and %-1 syntaxSection 4.3.8
%0 parameter countSection 4.3.4
Section 4.3.5
& operatorSection 3.5.3
&& operatorSection 4.4.4
* operatorSection 3.5.6
+ modifierSection 4.3.3
+ operator, binarySection 3.5.5
+ operator, unarySection 3.5.7
- operator, binarySection 3.5.5
- operator, unarySection 3.5.7
..@ symbol prefixSection 3.9
Section 4.3.2
/ operatorSection 3.5.6
// operatorSection 3.5.6
< operatorSection 4.4.4
<< operatorSection 3.5.4
<= operatorSection 4.4.4
<> operatorSection 4.4.4
= operatorSection 4.4.4
== operatorSection 4.4.4
> operatorSection 4.4.4
>= operatorSection 4.4.4
>> operatorSection 3.5.4
? MASM syntaxUnitialized Data, MASM Syntax ( ? )
^ operatorSection 3.5.2
^^ operatorSection 4.4.4
| operator| Operator
|| operatorSection 4.4.4
~ operatorSection 3.5.7
-a optionNASM Command Line a
Section A.3.3
a16Section 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
a32Section 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
a86Section 1.1.1
MASM User Quickie
NASM Square Brackets
NASM Floating Point Differences
AAASection B.4.1
AADSection B.4.1
AAMSection B.4.1
AASSection B.4.1
ABSOLUTENASM Directives
Section 6.2.1
ADCSection B.4.2
ADDSection B.4.3
ADD additionSection 3.5.5
ADDPDSection B.4.4
ADDPSSection B.4.5
ADDPS addressing, mixed-sizeSection 9.2
ADDPS address-size prefixesAddress-size Prefixes
ADDSDSection B.4.6
ADDSSSection B.4.7
ADDSS algebraEffective Addresses, ADDSS Algebra
ALIGNSection 4.8.7
Section 6.1.2
Section 6.2.1
ALIGNBSection 4.8.7
alignment (bin sections)Section 6.1.2
alignment (elf sections)Section 6.5.1
alignment (obj sections)Section 6.2.1
alignment (win32 sections)Section 6.3.1
ALINKSection 7.1.1
alink.sourceforge.netSection 7.1.1
allocSection 6.5.1
alt.lang.asmSection 1.1.1
Section 1.2
ambiguityNASM Variable Types
ANDSection B.4.8
ANDNPDSection B.4.9
ANDNPSSection B.4.10
ANDPDSection B.4.11
ANDPSSection B.4.12
a.out BSD versionSection 6.7
a.out Linux versionSection 6.6
aoutNASM Command Line o
Section 6.6
aoutbSection 6.7
Section 8.2
%argSection 4.9.1
argSection 7.4.5
Section 8.1.4
ARPLSection B.4.13
as86Section 1.1.1
NASM Command Line o
Section 6.8
assembler directivesNASM Directives
assembly passesSection 3.8
assembly-time optionsNASM Command Line d
%assignSection 4.1.5
ASSUMENASM Does Not Assume
ATSection 4.8.6
AutoconfSection 1.3.2
autoexec.batSection 1.3.1
auto-syncSection A.3.3
-bSection A.3
binNASM Command Line o
NASM Command Line f
Section 6.1
bin, multisectionSection 6.1.3
binarySection 3.4.1
binary filesBinary Files, INCBIN Directive
16-bit mode, versus 32-bit modeThe BITS And USE Directives
bit shiftSection 3.5.4
BITSBITS Directive
Section 6.1
bitwise ANDSection 3.5.3
bitwise ORBitwise OR Operator
bitwise XORSection 3.5.2
block IFsSection 4.7.5
boot loaderSection 6.1
boot sectorSection 10.1.3
Borland, PascalSection 7.5
Borland, Win32 compilersSection 6.2
BOUNDSection B.4.14
braces after % signSection 4.3.7
braces around macro parametersSection 4.3
BSDSection 8.2
BSFSection B.4.15
BSRSection B.4.15
.bssSection 6.5.1
Section 6.6
Section 6.7
Section 6.8
Section 6.9
BSWAPSection B.4.16
BTSection B.4.17
BTCSection B.4.17
BTRSection B.4.17
BTSSection B.4.17
bugsSection 10.2
bugtrackerSection 10.2
BYTESection 10.1.1
C calling conventionSection 7.4.3
Section 8.1.2
C symbol namesSection 7.4.1
CALLSection B.4.18
CALL FARSection 3.6
case sensitivityNASM Is Case Sensitive
Section 4.1.1
Section 4.1.2
Section 4.1.5
Section 4.3
Section 4.4.5
Section 6.2.3
CBWSection B.4.19
CDQSection B.4.19
changing sectionsNASM Directives
character constantCharacter Constants
Section 3.4.2
circular referencesSection 4.1.1
CLASSSection 6.2.1
CLCSection B.4.20
CLDSection B.4.20
%clearSection 4.8
CLFLUSHSection B.4.21
CLISection B.4.20
CLTSSection B.4.20
c16.macSection 7.4.5
Section 7.5.3
c32.macSection 8.1.4
CMCSection B.4.22
CMOVccSection B.4.23
CMPSection B.4.24
CMPccPDSection B.4.25
CMPccPSSection B.4.26
CMPccSDSection B.4.28
CMPccSSSection B.4.29
CMPEQPDSection B.4.25
CMPEQPSSection B.4.26
CMPEQSDSection B.4.28
CMPEQSSSection B.4.29
CMPLEPDSection B.4.25
CMPLEPSSection B.4.26
CMPLESDSection B.4.28
CMPLESSSection B.4.29
CMPLTPDSection B.4.25
CMPLTPSSection B.4.26
CMPLTSDSection B.4.28
CMPLTSSSection B.4.29
CMPNEQPDSection B.4.25
CMPNEQPSSection B.4.26
CMPNEQSDSection B.4.28
CMPNEQSSSection B.4.29
CMPNLEPDSection B.4.25
CMPNLEPSSection B.4.26
CMPNLESDSection B.4.28
CMPNLESSSection B.4.29
CMPNLTPDSection B.4.25
CMPNLTPSSection B.4.26
CMPNLTSDSection B.4.28
CMPNLTSSSection B.4.29
CMPORDPDSection B.4.25
CMPORDPSSection B.4.26
CMPORDSDSection B.4.28
CMPORDSSSection B.4.29
CMPSBSection B.4.27
CMPSDSection B.4.27
CMPSWSection B.4.27
CMPUNORDPDSection B.4.25
CMPUNORDPSSection B.4.26
CMPUNORDSDSection B.4.28
CMPUNORDSSSection B.4.29
CMPXCHGSection B.4.30
CMPXCHG486Section B.4.30
CMPXCHG8BSection B.4.31
coffNASM Command Line o
Section 6.4
coloncolon
.COMSection 6.1
Section 7.2
COMISDSection B.4.32
COMISSSection B.4.33
command-lineNASM Command Line
Chapter 6
command-line switchesNASM Command Line Switches
NASM Command Line -a
NASM Command Line -d
NASM Command Line -E
NASM Command Line -e
NASM Command Line -F
NASM Command Line -f
NASM Command Line -g
NASM Command Line -h
NASM Command Line -hf
NASM Command Line -i
NASM Command Line -l
NASM Command Line -M
NASM Command Line -O
NASM Command Line -o
NASM Command Line -p
NASM Command Line --prefix
NASM Command Line --postfix
NASM Command Line -s
NASM Command Line -t
NASM Command Line -u
NASM Command Line -v
NASM Command Line -w
NASM Command Line -X
NASM Command Line -y
commas in macro parametersSection 4.3.3
COMMONNASM Directives
Section 6.2.1
COMMON elf extensions toSection 6.5.4
COMMON obj extensions toSection 6.2.8
Common Object File FormatSection 6.4
common variablesNASM Directives
common variables, alignment in elfSection 6.5.4
common variables, element sizeSection 6.2.8
comp.lang.asm.x86Section 1.1.1
Section 1.2
comp.os.linux.announceSection 1.2
comp.os.msdos.programmerSection 7.3
concatenating macro parametersSection 4.3.7
condition codesSection B.2.2
condition codes as macro parametersSection 4.3.8
condition predicatesSection B.4.25
Section B.4.26
Section B.4.28
Section B.4.29
conditional assemblySection 4.4
conditional jumpSection B.4.128
conditional jumpsSection 10.1.2
conditional-return macroSection 4.3.8
configureSection 1.3.2
constantsNASM Constants
context stackSection 4.7
Section 4.7.5
context-local labelsSection 4.7.2
context-local single-line macrosSection 4.7.3
control registersSection B.2.1
counting macro parametersSection 4.3.5
CPUSection 5.7
CPUIDSection 3.4.2
Section B.4.34
creating contextsSection 4.7.1
critical expressionUnitialized Data, Critical Expressions
EQU Directive
Section 3.8
Section 4.1.5
NASM Directives
CVTDQ2PDSection B.4.35
CVTDQ2PSSection B.4.36
CVTPD2DQSection B.4.37
CVTPD2PISection B.4.38
CVTPD2PSSection B.4.39
CVTPI2PDSection B.4.40
CVTPI2PSSection B.4.41
CVTPS2DQSection B.4.42
CVTPS2PDSection B.4.43
CVTPS2PISection B.4.44
CVTSD2SISection B.4.45
CVTSD2SSSection B.4.46
CVTSI2SDSection B.4.47
CVTSI2SSSection B.4.48
CVTSS2SDSection B.4.49
CVTSS2SISection B.4.50
CVTTPD2DQSection B.4.51
CVTTPD2PISection B.4.52
CVTTPS2DQSection B.4.53
CVTTPS2PISection B.4.54
CVTTSD2SISection B.4.55
CVTTSS2SISection B.4.56
CWDSection B.4.19
CWDESection B.4.19
-D optionNASM Command Line d
-d optionNASM Command Line d
DAASection B.4.57
DASSection B.4.57
.dataSection 6.5.1
Section 6.6
Section 6.7
Section 6.8
Section 6.9
_DATASection 7.4.2
dataSection 6.5.3
Section 6.9.3
data structureSection 7.4.4
Section 8.1.3
DBPseudo Instruction, DB
Initialized Data Type, DB
Section 3.4.3
dbgSection 6.10
DDPseudo Instruction, DD
Initialized Data Type, DD
Section 3.4.3
Section 3.4.4
debug informationNASM Command Line g
debug information formatNASM Command Line F
debug registersSection B.2.1
DECSection B.4.58
declaring structuresSection 4.8.5
default macro parametersSection 4.3.4
default nameChapter 6
default-WRT mechanismSection 6.2.7
%defineNASM Command Line d
Section 4.1.1
defining sectionsNASM Directives
design goalsNASM Square Brackets
DevPacDevPac, INCBIN Directive
Section 3.9
disabling listing expansionSection 4.3.9
DIVSection B.4.59
divisionSection 3.5.6
DIVPDSection B.4.60
DIVPSSection B.4.61
DIVSDSection B.4.62
DIVSSSection B.4.63
DJGPPSection 6.4
Chapter 8
djlinkSection 7.1.1
DLL symbols, exportingSection 6.2.5
DLL symbols, importingSection 6.2.4
DOSSection 1.3.1
NASM Command Line E
NASM Command Line s
DOS archiveSection 1.3.1
DOS source archiveSection 1.3.1
DQPseudo Instruction, DQ
Initialized Data Type, DQ
Section 3.4.3
Section 3.4.4
.drectveSection 6.3.1
DTPseudo Instruction, DT
Initialized Data Type, DT
Section 3.4.3
Section 3.4.4
DUPOther Differences
The NASM TIMES Directive
DWPseudo Instruction, DW
Initialized Data Type, DW
Section 3.4.3
DWORDDWORD Data Type
-E optionNASM Command Line E
-e optionNASM Command Line e
Section A.3.4
effective addressesEffective Addresses
Effective Addresses
Section 3.8
Section B.2.5
element size, in common variablesSection 6.2.8
ELFNASM Command Line o
Section 6.5
ELF common variablesSection 6.5.4
ELF shared librariesSection 6.5.2
ELF, 16-bit code andSection 6.5.5
%elifSection 4.4
Section 4.4.4
%elifctxSection 4.4.3
%elifdefSection 4.4.1
%elifidSection 4.4.6
%elifidnSection 4.4.5
%elifidniSection 4.4.5
%elifmacroSection 4.4.2
%elifnctxSection 4.4.3
%elifndefSection 4.4.1
%elifnidSection 4.4.6
%elifnidnSection 4.4.5
%elifnidniSection 4.4.5
%elifnmacroSection 4.4.2
%elifnnumSection 4.4.6
%elifnstrSection 4.4.6
%elifnumSection 4.4.6
%elifstrSection 4.4.6
%elseSection 4.4
e-mailSection 1.2
EMMSSection B.4.64
endprocSection 7.4.5
Section 8.1.4
%endrepSection 4.5
ENDSTRUCSection 4.8.5
NASM Directives
ENTERSection B.4.65
environmentNASMENV EV
EQUPseudo Instruction, EQU
EQU Directive
Section 3.8
%errorSection 4.4.7
error messagesNASM Command Line E
NASM Command Line s
error reporting formatNASM Command Line X
EVENSection 4.8.7
.EXESection 6.2
Section 7.1
EXE_beginSection 7.1.2
EXE2BINSection 7.2.2
exebin.macSection 7.1.2
execSection 6.5.1
Executable and Linkable FormatSection 6.5
EXE_endSection 7.1.2
EXE_stackSection 7.1.2
%exitrepSection 4.5
EXPORTSection 6.2.5
exportSection 6.9.3
exporting symbolsNASM Directives
expressionsNASM Command Line e
NASM Expressions
extensionNASM Command Line o
Chapter 6
EXTERNNASM Directives
EXTERN, obj extensions toSection 6.2.7
EXTERN, rdf extensions toSection 6.9.4
-F optionNASM Command Line F
-f optionNASM Command Line f
Chapter 6
FABSSection B.4.67
FADDSection B.4.68
FADDPSection B.4.68
far callNo Memory Models
Section B.4.18
far common variablesSection 6.2.8
far jumpSection B.4.130
far pointerSection 3.6
FARCODESection 7.4.5
Section 7.5.3
FBLDSection B.4.69
FBSTPSection B.4.69
FCHSSection B.4.70
FCLEXSection B.4.71
FCMOVccSection B.4.72
FCOMSection B.4.73
FCOMISection B.4.73
FCOMIPSection B.4.73
FCOMPSection B.4.73
FCOMPPSection B.4.73
FCOSSection B.4.74
FDECSTPSection B.4.75
FDIVSection B.4.77
FDIVPSection B.4.77
FDIVRSection B.4.77
FDIVRPSection B.4.77
FEMMSSection B.4.78
FFREESection B.4.79
FIADDSection B.4.80
FICOMSection B.4.81
FICOMPSection B.4.81
FIDIVSection B.4.82
FIDIVRSection B.4.82
FILDSection B.4.83
__FILE__Section 4.8.4
FIMULSection B.4.84
FINCSTPSection B.4.85
FINITSection B.4.86
FISTSection B.4.83
FISTPSection B.4.83
FISUBSection B.4.87
FLATSection 6.2.1
flat memory modelChapter 8
flat-form binarySection 6.1
FLDSection B.4.88
FLDCWSection B.4.90
FLDENVSection B.4.91
FLDxxSection B.4.89
floating-pointNASM Floating Point
Encoding With NASM
Initialized Data Type, Floating-point
Section 3.4.4
floating-point, constantsSection 3.4.4
floating-point, registersSection B.2.1
FMULSection B.4.92
FMULPSection B.4.92
FNINITSection B.4.86
FNOPSection B.4.93
follows=Section 6.1.3
format-specific directivesNASM Directives
forward referencesSection 3.8
FPATANSection B.4.94
FPREMSection B.4.95
FPREM1Section B.4.95
FPTANSection B.4.94
frame pointerSection 7.4.3
Section 7.5.1
Section 8.1.2
FreeBSDSection 6.7
Section 8.2
FreeLinkSection 7.1.1
FRNDINTSection B.4.96
FRSTORSection B.4.97
FSAVESection B.4.97
FSCALESection B.4.98
FSETPMSection B.4.99
FSINSection B.4.100
FSINCOSSection B.4.100
FSQRTSection B.4.101
FSTSection B.4.102
FSTCWSection B.4.103
FSTENVSection B.4.104
FSTPSection B.4.102
FSTSWSection B.4.105
FSUBSection B.4.106
FSUBPSection B.4.106
FSUBRSection B.4.106
FSUBRPSection B.4.106
ftp.kernel.orgSection 1.2
ftp.simtel.netSection 7.1.1
FTSTSection B.4.107
FUCOMxxSection B.4.108
functionSection 6.5.3
Section 6.9.3
functions, C calling conventionSection 7.4.3
Section 8.1.2
functions, Pascal calling conventionSection 7.5.1
FXAMSection B.4.109
FXCHSection B.4.110
FxDISISection B.4.76
FxENISection B.4.76
F2XM1Section B.4.66
FXRSTORSection B.4.111
FXSAVESection B.4.112
FXTRACTSection B.4.113
FYL2XSection B.4.114
FYL2XP1Section B.4.114
-g optionNASM Command Line g
gasSection 1.1.1
gccSection 1.1.1
general purpose registerSection B.1
GLOBALNASM Directives
GLOBAL aoutb extensions toSection 6.5.3
GLOBAL elf extensions toSection 6.5.3
GLOBAL rdf extensions toSection 6.9.3
global offset tableSection 8.2
_GLOBAL_OFFSET_TABLE_Section 6.5.2
gnu-elf-extensionsNASM Command Line w
..gotSection 6.5.2
GOT relocationsSection 8.2.3
GOTSection 6.5.2
Section 8.2
..gotoffSection 6.5.2
GOTOFF relocationsSection 8.2.2
..gotpcSection 6.5.2
GOTPC relocationsSection 8.2.1
graphicsGraphics, INCBIN Directive
greedy macro parametersSection 4.3.3
GROUPSection 6.2.2
groupsSection 3.6
-hSection A.3
hexSection 3.4.1
HLTSection B.4.115
hybrid syntaxesSquare Brackets
-I optionNASM Command Line i
-i optionNASM Command Line i
Section A.3.3
%iassignSection 4.1.5
ibiblio.orgSection 1.2
IBTSSection B.4.116
ICEBPSection B.4.123
%idefineSection 4.1.1
IDIVSection B.4.117
IENDSection 4.8.6
%ifSection 4.4
Section 4.4.4
%ifctxSection 4.4.3
Section 4.7.5
%ifdefSection 4.4.1
%ifidSection 4.4.6
%ifidnSection 4.4.5
%ifidniSection 4.4.5
ifmacroSection 4.4.2
%ifnctxSection 4.4.3
%ifndefSection 4.4.1
%ifnidSection 4.4.6
%ifnidnSection 4.4.5
%ifnidniSection 4.4.5
%ifnmacroSection 4.4.2
%ifnnumSection 4.4.6
%ifnstrSection 4.4.6
%ifnumSection 4.4.6
%ifstrSection 4.4.6
%imacroSection 4.3
immediate operandSection B.1
IMPORTSection 6.2.4
import librarySection 6.2.4
importing symbolsNASM Directives
IMULSection B.4.118
INSection B.4.119
INCSection B.4.120
INCBINPseudo Instruction, INCBIN
The INCBIN Directive
Section 3.4.3
incbinNASM Command Line i
%includeNASM Command Line i
NASM Command Line p
Section 4.6
include search pathNASM Command Line i
including other filesSection 4.6
inefficient codeSection 10.1.1
infinite loopInfinite Loop
informational sectionSection 6.3.1
INSBSection B.4.121
INSDSection B.4.121
INSTALLSection 1.3.2
installingSection 1.3.1
instances of structuresSection 4.8.6
INSWSection B.4.121
INTSection B.4.122
INT01Section B.4.123
INT1Section B.4.123
INT3Section B.4.123
integer overflowInteger Overflow
Intel number formatsSection 3.4.4
INTOSection B.4.124
INVDSection B.4.125
INVLPGSection B.4.126
IRETSection B.4.127
IRETDSection B.4.127
IRETWSection B.4.127
ISTRUCSection 4.8.6
iterating over macro parametersSection 4.3.6
JccSection B.4.128
Jcc NEARSection 10.1.2
JCXZSection B.4.129
JECXZSection B.4.129
JMPSection B.4.130
JMP DWORDSection 9.1
jumps, mixed-sizeSection 9.1
-k optionSection A.3.4
-l optionNASM Command Line l
label prefixSection 3.9
LAHFSection B.4.131
LARSection B.4.132
ld86Section 6.8
LDMXCSRSection B.4.133
LDSSection B.4.134
LEASection B.4.135
LEAVESection B.4.136
LESSection B.4.134
LFENCESection B.4.137
LFSSection B.4.134
LGDTSection B.4.138
LGSSection B.4.134
LIBRARYSection 6.9.1
licenceSection 1.1.2
LIDTSection B.4.138
%lineSection 4.10.1
__LINE__Section 4.8.4
linker, freeSection 7.1.1
Linux, a.outSection 6.6
Linux, as86Section 6.8
Linux, ELFSection 6.5
listing fileNASM Command Line l
little-endianSection 3.4.2
LLDTSection B.4.138
LMSWSection B.4.139
LOADALLSection B.4.140
LOADALL286Section B.4.140
%localSection 4.9.3
local labelsSection 3.9
LODSBSection B.4.141
LODSDSection B.4.141
LODSWSection B.4.141
logical ANDSection 4.4.4
logical ORSection 4.4.4
logical XORSection 4.4.4
LOOPSection B.4.142
LOOPESection B.4.142
LOOPNESection B.4.142
LOOPNZSection B.4.142
LOOPZSection B.4.142
LSLSection B.4.143
LSSSection B.4.134
LTRSection B.4.144
-M optionNASM Command Line M
machoNASM Command Line o
%macroSection 4.3
macro libraryNASM Command Line i
macro processorChapter 4
macro-local labelsSection 4.3.2
macro-paramsNASM Command Line w
macrosMacros, The NASM TIMES Directive
macro-selfrefNASM Command Line w
makeSection 1.3.2
makefile dependenciesNASM Command Line M
makefilesSection 1.3.1
Section 1.3.2
Makefile.unxSection 1.3.2
man pagesSection 1.3.2
map filesSection 6.1.4
MASKMOVDQUSection B.4.145
MASKMOVQSection B.4.146
MASMSection 1.1.1
MASM User Quickie
MASM DUP (Use The NASM TIMES Directive)
Section 6.2
MAXPDSection B.4.147
MAXPSSection B.4.148
MAXSDSection B.4.149
MAXSSSection B.4.150
memory modelsNo Memory Models
Section 7.4.2
memory operandEncoding With NASM
memory referencesSquare Brackets
Memory References
Section B.1
MFENCESection B.4.151
Microsoft OMFSection 6.2
MinixSection 6.8
MINPDSection B.4.152
MINPSSection B.4.153
MINSDSection B.4.154
MINSSSection B.4.155
misc subdirectorySection 7.1.2
Section 7.4.5
Section 8.1.4
mixed-language programSection 7.4
mixed-size addressingSection 9.2
mixed-size instructionSection 9.1
MMX registersSection B.2.1
ModR/M byteSection B.2
Section B.2.5
MODULESection 6.9.2
modulo operatorsSection 3.5.6
MOVSection B.4.156
MOVAPDSection B.4.157
MOVAPSSection B.4.158
MOVDSection B.4.159
MOVDQASection B.4.161
MOVDQ2QSection B.4.160
MOVDQUSection B.4.162
MOVHLPSSection B.4.163
MOVHPDSection B.4.164
MOVHPSSection B.4.165
MOVLHPSSection B.4.166
MOVLPDSection B.4.167
MOVLPSSection B.4.168
MOVMSKPDSection B.4.169
MOVMSKPSSection B.4.170
MOVNTDQSection B.4.171
MOVNTISection B.4.172
MOVNTPDSection B.4.173
MOVNTPSSection B.4.174
MOVNTQSection B.4.175
MOVQSection B.4.176
MOVQ2DQSection B.4.177
MOVSBSection B.4.178
MOVSDSection B.4.178
Section B.4.179
MOVSSSection B.4.180
MOVSWSection B.4.178
MOVSXSection B.4.181
MOVUPDSection B.4.182
MOVUPSSection B.4.183
MOVZXSection B.4.181
MS-DOSSection 6.1
MS-DOS device driversSection 7.3
MULSection B.4.184
MULPDSection B.4.185
MULPSSection B.4.186
MULSDSection B.4.187
MULSSSection B.4.188
multi-line macrosNASM Command Line w
Section 4.3
multipass optimizationNASM Command Line O
multiple section namesSection 6.1
multiplicationSection 3.5.6
multipush macroSection 4.3.6
MultisectionSection 6.1.3
nasm.1Section 1.3.2
NASM versionSection 4.8.1
nasm version idSection 4.8.2
nasm version stringSection 4.8.3
__NASMDEFSEGSection 6.2
nasm-develSection 1.2
nasm.exeSection 1.3.1
nasm -f <format> -yNASM Command Line F
nasm -hfNASM Command Line f
__NASM_MAJOR__Section 4.8.1
__NASM_MINOR__Section 4.8.1
nasm.outNASM Command Line o
___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.exeSection 1.3.1
nasmXXXs.zipSection 1.3.1
nasm-X.XX.tar.gzSection 1.3.2
nasmXXX.zipSection 1.3.1
ndisasm.1Section 1.3.2
ndisasmAppendix A
ndisasm.exeSection 1.3.1
ndisasmw.exeSection 1.3.1
near callNo Memory Models
Section B.4.18
near common variablesSection 6.2.8
near jumpSection B.4.130
NEGSection B.4.189
NetBSDSection 6.7
Section 8.2
new releasesSection 1.2
noallocSection 6.5.1
nobitsSection 6.1.3
Section 6.5.1
noexecSection 6.5.1
.nolistSection 4.3.9
NOPSection B.4.190
NOTSection B.4.189
'nowait'NASM Floating Point
nowriteSection 6.5.1
number-overflowNASM Command Line w
numeric constantsInitialized Data Type, Numeric Constants
Section 3.4.1
-o optionNASM Command Line o
Section A.3.1
o16Section 9.3
Section B.4.244
Section B.4.263
o32Section 9.3
Section B.4.244
Section B.4.263
.OBJSection 7.1
objNASM Command Line o
Section 6.2
objectSection 6.5.3
Section 6.9.3
octalSection 3.4.1
OF_DBGSection 6.10
OF_DEFAULTNASM Command Line f
OFFSETSquare Brackets
OMFSection 6.2
omitted parametersSection 4.3.4
-On optionNASM Command Line O
one's complementSection 3.5.7
OpenBSDSection 6.7
Section 8.2
operandsOperands
operand-size prefixesOperand-size Prefixes
operating systemSection 6.1
operating system, writingSection 9.1
operatorsOperators
ORSection B.4.191
ORGSection 6.1.1
Section 7.2.1
Section 7.2.2
Section 10.1.3
ORPDSection B.4.192
orphan-labelsNASM Command Line w
Orphan-labels
ORPSSection B.4.193
OS/2Section 6.2
Section 6.2.1
preprocessor directivesSection 4.10
OUTSection B.4.194
out of range, jumpsSection 10.1.2
output file formatNASM Command Line f
output formatsChapter 6
OUTSBSection B.4.195
OUTSDSection B.4.195
OUTSWSection B.4.195
overlapping segmentsSection 3.6
OVERLAYSection 6.2.1
overloading, multi-line macrosSection 4.3.1
overloading, single-line macrosSection 4.1.1
-P optionNASM Command Line p
-p optionNASM Command Line p
Section 4.6
PACKSSDWSection B.4.196
PACKSSWBSection B.4.196
PACKUSWBSection B.4.196
PADDBSection B.4.197
PADDDSection B.4.197
PADDQSection B.4.198
PADDSBSection B.4.199
PADDSIWSection B.4.200
PADDSWSection B.4.199
PADDUSBSection B.4.201
PADDUSWSection B.4.201
PADDWSection B.4.197
PANDSection B.4.202
PANDNSection B.4.202
paradoxSection 3.8
PASCALSection 7.5.3
Pascal calling conventionSection 7.5.1
passes, assemblySection 3.8
PATHSection 1.3.1
PAUSESection B.4.203
PAVEBSection B.4.204
PAVGBSection B.4.205
PAVGUSBSection B.4.206
PAVGWSection B.4.205
PCMPxxSection B.4.207
PDISTIBSection B.4.208
periodSection 3.9
PerlSection 1.3.1
perverseNASM Command Line i
PEXTRWSection B.4.209
PFACCSection B.4.212
PFADDSection B.4.213
PFCMPEQSection B.4.214
PFCMPGESection B.4.214
PFCMPGTSection B.4.214
PFCMPxxSection B.4.214
PF2IDSection B.4.210
PF2IWSection B.4.211
Section B.4.228
PFMAXSection B.4.215
PFMINSection B.4.216
PFMULSection B.4.217
PFNACCSection B.4.218
PFPNACCSection B.4.219
PFRCPSection B.4.220
PFRCPIT1Section B.4.221
PFRCPIT2Section B.4.222
PFRSQIT1Section B.4.223
PFRSQRTSection B.4.224
PFSUBSection B.4.225
PFSUBRSection B.4.226
PharLapSection 6.2.1
PICSection 6.5.2
Section 6.7
Section 8.2
PI2FDSection B.4.227
PINSRWSection B.4.229
..pltSection 6.5.2
PLT relocationsSection 6.5.2
Section 8.2.4
Section 8.2.5
plt relocationsSection 8.2.5
PMACHRIWSection B.4.230
PMADDWDSection B.4.231
PMAGWSection B.4.232
PMAXSWSection B.4.233
PMAXUBSection B.4.234
PMINSWSection B.4.235
PMINUBSection B.4.236
PMOVMSKBSection B.4.237
PMULHRIWSection B.4.238
PMULHRWASection B.4.239
PMULHRWCSection B.4.238
PMULHUWSection B.4.240
PMULHWSection B.4.241
PMULLWSection B.4.241
PMULUDQSection B.4.242
PMVccZBSection B.4.243
%popSection 4.7
Section 4.7.1
POPSection B.4.244
POPAxSection B.4.245
POPFxSection B.4.246
PORSection B.4.247
position-independent codeSection 6.5.2
Section 6.7
Section 8.2
--postfixNASM Command Line postfix
precedencePrecedence
pre-defining macrosNASM Command Line d
Section 4.1.1
preferredSection 3.6
PREFETCHSection B.4.248
PREFETCHhSection B.4.249
PREFETCHNTASection B.4.249
PREFETCHT0Section B.4.249
PREFETCHT1Section B.4.249
PREFETCHT2Section B.4.249
--prefixNASM Command Line prefix
pre-including filesNASM Command Line p
preprocess-only modeNASM Command Line e
preprocessorNASM Command Line e
NASM Command Line a
EQU Directive
Section 3.5.6
Chapter 4
preprocessor expressionsNASM Command Line e
preprocessor loopsSection 4.5
preprocessor variablesSection 4.1.5
primitive directivesNASM Directives
PRIVATESection 6.2.1
procSection 6.9.3
Section 7.4.5
Section 8.1.4
procedure linkage tableSection 6.5.2
Section 8.2.4
Section 8.2.5
processor modeBITS and USE Directives
progbitsSection 6.1.3
Section 6.5.1
program entry pointSection 6.2.6
Section 7.1.1
program originSection 6.1.1
PSADBWSection B.4.250
pseudo-instructionsPseudo Instructions
PSHUFDSection B.4.251
PSHUFHWSection B.4.252
PSHUFLWSection B.4.253
PSHUFWSection B.4.254
PSLLxSection B.4.255
PSRAxSection B.4.256
PSRLxSection B.4.257
PSUBSIWSection B.4.260
PSUBSxxSection B.4.259
PSUBUSxSection B.4.259
PSUBxSection B.4.258
PSWAPDSection B.4.261
PSWAPWSection B.4.261
PUBLICNASM Directives
Section 6.2.1
PUNPCKxxxSection B.4.262
pure binarySection 6.1
%pushSection 4.7
Section 4.7.1
PUSHSection B.4.263
PUSHAxSection B.4.264
PUSHFxSection B.4.265
PXORSection B.4.266
quick startQuick Start For MASM Users
QWORDQWORD Data Type
-rSection A.3
RCLSection B.4.267
RCPPSSection B.4.268
RCPSSSection B.4.269
RCRSection B.4.267
rdfNASM Command Line o
Section 6.9
RDMSRSection B.4.270
rdoff subdirectorySection 1.3.2
Section 6.9
RDPMCSection B.4.271
RDSHRSection B.4.272
RDTSCSection B.4.273
redirecting errorsNASM Command Line E
register pushSection B.4.263
relational operatorsSection 4.4.4
Relocatable Dynamic Object File FormatSection 6.9
relocations, PIC-specificSection 6.5.2
removing contextsSection 4.7.1
renaming contextsSection 4.7.4
%repAlternatives To The NASM TIMES Directive
Section 4.5
repeatingRepeating, The NASM TIMES Directive
Section 4.5
%replSection 4.7.4
reporting bugsSection 10.2
RESBOther Differences
Pseudo Instruction, RESB
Unitialized Data, RESB
Section 3.8
RESDPseudo Instruction, RESD
Unitialized Data, RESD
RESQPseudo Instruction, RESQ
Unitialized Data, RESQ
RESTPseudo Instruction, REST
Unitialized Data, REST
restricted memory referencesSection B.1
RESWPseudo Instruction, RESW
Unitialized Data, RESW
RETSection B.4.274
RETFSection B.4.274
RETNSection B.4.274
ROLSection B.4.275
RORSection B.4.275
%rotateSection 4.3.6
rotating macro parametersSection 4.3.6
RPLSection B.4.13
RSDCSection B.4.276
RSLDTSection B.4.277
RSMSection B.4.278
RSQRTPSSection B.4.279
RSQRTSSSection B.4.280
RSTSSection B.4.281
-s optionNASM Command Line s
Section A.3.2
SAHFSection B.4.282
SALSection B.4.283
SALCSection B.4.284
SARSection B.4.283
SBBSection B.4.285
SCASBSection B.4.286
SCASDSection B.4.286
SCASWSection B.4.286
searching for include filesSection 4.6
__SECT__NASM Directives
NASM Directives
SECTIONNASM Directives
SECTION, elf extensions toSection 6.5.1
SECTION, win32 extensions toSection 6.3.1
section alignment, in binSection 6.1.2
section alignment, in elfSection 6.5.1
section alignment, in objSection 6.2.1
section alignment, in win32Section 6.3.1
section, bin extensions toSection 6.1.2
SEGSection 3.5.7
Section 3.6
Section 6.2
SEGMENTNASM Directives
SEGMENT, elf extensions toSection 6.2.1
segment addressSection 3.5.7
Section 3.6
segment alignment, in binSection 6.1.2
segment alignment, in objSection 6.2.1
segment names, Borland PascalSection 7.5.2
segment overrideNo Assume
segment overrides
segment registersSection B.2.1
segmentsSection 3.6
segments, groups ofSection 6.2.2
separator characterNASMENV EV
SETccSection B.4.287
SFENCESection B.4.288
SGDTSection B.4.289
shared librariesSection 6.7
Section 8.2
shared librarySection 6.5.3
shift commandSection 4.3.6
SHLSection B.4.290
SHLDSection B.4.291
SHRSection B.4.290
SHRDSection B.4.291
SHUFPDSection B.4.292
SHUFPSSection B.4.293
SIB byteSection B.2
Section B.2.5
SIDTSection B.4.289
signed divisionSection 3.5.6
signed moduloSection 3.5.6
single-line macrosSection 4.1
size, of symbolsSection 6.5.3
SLDTSection B.4.289
SMISection B.4.294
SMINTSection B.4.295
SMINTOLDSection B.4.295
SMSWSection B.4.296
Solaris x86Section 6.5
-sonameSection 8.2.6
soundSound, INCBIN Directive
source codeSection 1.3.1
source-listing fileNASM Command Line l
SQRTPDSection B.4.297
SQRTPSSection B.4.298
SQRTSDSection B.4.299
SQRTSSSection B.4.300
square bracketsSquare Brackets
Square Brackets
sse condition predicatesSection B.2.3
STACKSection 6.2.1
stack frameSection B.4.65
%stacksizeSection 4.9.2
standard macrosSection 4.8
standardised section namesNASM Directives
Section 6.3.1
Section 6.5.1
Section 6.6
Section 6.7
Section 6.8
Section 6.9
..startSection 6.2.6
Section 7.1.1
start=Section 6.1.3
status flagsSection B.2.4
STCSection B.4.301
STDSection B.4.301
stderrNASM Command Line E
stdoutNASM Command Line s
STISection B.4.301
STMXCSRSection B.4.302
STOSBSection B.4.303
STOSDSection B.4.303
STOSWSection B.4.303
STRSection B.4.304
STRICTSection 3.7
string constantString Constants
string handling in macrosSection 4.2
string lengthSection 4.2.1
%strlenSection 4.2
Section 4.2.1
STRUCSection 4.8.5
NASM Directives
Section 7.4.4
Section 8.1.3
stub preprocessorNASM Command Line a
SUBSection B.4.305
SUBPDSection B.4.306
SUBPSSection B.4.307
SUBSDSection B.4.308
SUBSSSection B.4.309
%substrSection 4.2
Section 4.2.2
sub-stringsSection 4.2.2
subtractionSection 3.5.5
suppressible warningNASM Command Line w
suppressing preprocessingNASM Command Line a
SVDCSection B.4.310
SVLDTSection B.4.311
SVTSSection B.4.312
switching between sectionsNASM Directives
..symSection 6.5.2
symbol sizes, specifyingSection 6.5.3
symbol types, specifyingSection 6.5.3
symbols, exporting from DLLsSection 6.2.5
symbols, importing from DLLsSection 6.2.4
synchronisationSection A.3.2
.SYSSection 6.1
Section 7.3
SYSCALLSection B.4.313
SYSENTERSection B.4.314
SYSEXITSection B.4.315
SYSRETSection B.4.316
-tNASM Command Line t
TASMSection 1.1.1
NASM Command Line t
tasmMASM User Quickie
Section 6.2
tasm compatible preprocessor directivesSection 4.9
TBYTETBYTE
TESTSection B.4.317
test subdirectorySection 7.1.1
test registersSection B.2.1
testing, arbitrary numeric expressionsSection 4.4.4
testing, context stackSection 4.4.3
testing, exact text identitySection 4.4.5
testing, multi-line macro existenceSection 4.4.2
testing, single-line macro existenceSection 4.4.1
testing, token typesSection 4.4.6
.textSection 6.5.1
Section 6.6
Section 6.7
Section 6.8
Section 6.9
_TEXTSection 7.4.2
TIMESPseudo Instruction, TIMES
The NASM TIMES Directive
Section 3.8
Section 10.1.3
Section 10.1.4
TLINKSection 7.2.2
trailing colonTrailing Colon
two-pass assemblerSection 3.8
TWORDTWORD
TWORD Data Type
type, of symbolsSection 6.5.3
-U optionNASM Command Line U
-u optionNASM Command Line u
Section A.3
UCOMISDSection B.4.318
UCOMISSSection B.4.319
UD0Section B.4.320
UD1Section B.4.320
UD2Section B.4.320
UMOVSection B.4.321
unary operatorsSection 3.5.7
%undefNASM Command Line u
Section 4.1.4
undefining macrosNASM Command Line u
underscore, in C symbolsSection 7.4.1
uninitializedUnitialized Data, Pseudo Instructions
Unitialized Data
uninitialised storageOther Differences
UnixSection 1.3.2
Unix, SCOSection 6.5
Unix, source archiveSection 1.3.2
Unix, System VSection 6.5
UnixWareSection 6.5
UNPCKHPDSection B.4.322
UNPCKHPSSection B.4.323
UNPCKLPDSection B.4.324
UNPCKLPSSection B.4.325
unrolled loopsUnrolled Loops, The NASM TIMES Directive
unsigned divisionSection 3.5.6
unsigned moduloSection 3.5.6
UPPERCASECase Sensitive
Section 6.2.3
USE16NASM Directives
Section 6.2.1
USE32NASM Directives
Section 6.2.1
USE64NASM Directives
Section 6.2.1
user-defined errorsSection 4.4.7
user-level assembler directivesSection 4.8
user-level directivesNASM Directives
-v optionNASM Command Line v
VALSection 7.1.1
valid charactersValid Variable Characters
variable typesVariable Types
VERRSection B.4.326
versionNASM Command Line v
version number of NASMSection 4.8.1
VERWSection B.4.326
vfollows=Section 6.1.3
Visual C++Section 6.3
vstart=Section 6.1.3
-w optionNASM Command Line w
WAITSection B.4.327
warningsNASM Command Line w
[warning +warning-name]NASM Command Line w
[warning -warning-name]NASM Command Line w
WBINVDSection B.4.328
Win32Section 1.3.1
NASM Command Line o
Section 6.2
Section 6.3
Chapter 8
WindowsSection 7.1
Windows 95Section 1.3.1
Windows NTSection 1.3.1
writeSection 6.5.1
writing operating systemsSection 9.1
WRMSRSection B.4.329
WRSHRSection B.4.330
WRTWRT Operator
Section 6.2
Section 6.5.2
Section 6.7
WRT ..gotSection 8.2.3
WRT ..gotoffSection 8.2.2
WRT ..gotpcSection 8.2.1
WRT ..pltSection 8.2.5
WRT ..symSection 8.2.4
WWW pageSection 1.2
www.cpan.orgSection 1.3.1
www.delorie.comSection 7.1.1
www.pcorner.comSection 7.1.1
-X optionNASM Command Line X
XADDSection B.4.331
XBTSSection B.4.332
XCHGSection B.4.333
%xdefineSection 4.1.2
x2ftp.oulu.fiSection 7.1.1
%xidefineSection 4.1.2
XLATBSection B.4.334
XORSection B.4.335
XORPDSection B.4.336
XORPSSection B.4.337
-y optionNASM Command Line y