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.19, Section A.80, Section A.98, Section A.105, Section A.112, Section A.126, Section A.134, Section A.149, Section A.157, Section A.169
a32: Section 9.3, Section A.19, Section A.80, Section A.98, Section A.105, Section A.112, Section A.126, Section A.134, Section A.149, Section A.157, Section A.169
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
addressing, mixed-size: Section 9.2
address-size prefixes: Section 3.1
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.7
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.8
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.3
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.9
braces, after % sign: Section 4.2.7
braces, around macro parameters: Section 4.2
BSD: Section 8.2
BSF: Section A.10
BSR: Section A.10
.bss: Section 6.1, Section 6.5.1, Section 6.6, Section 6.7, Section 6.8, Section 6.9
BSWAP: Section A.11
BT: Section A.12
BTC: Section A.12
BTR: Section A.12
BTS: Section A.12
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.13
CALL FAR: Section 3.6
case sensitivity: Section 2.2.1, Section 4.1.1, Section 4.1.3, Section 4.2, Section 4.3.4, Section 6.2.3
CBW: Section A.14
CDQ: Section A.14
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.15
CLD: Section A.15
%clear: Section 4.7
CLI: Section A.15
CLTS: Section A.15
c16.mac: Section 7.4.5, Section 7.5.3
c32.mac: Section 8.1.4
CMC: Section A.16
CMOVcc: Section A.17
CMP: Section A.18
CMPSB: Section A.19
CMPSD: Section A.19
CMPSW: Section A.19
CMPXCHG: Section A.20
CMPXCHG486: Section A.20
CMPXCHG8B: Section A.21
coff: Section 2.1.1, Section 6.4
colon: Section 3.1
.COM: Section 6.1, Section 7.2
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.89
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.22
creating contexts: Section 4.6.1
critical expression: Section 3.2.2, Section 3.2.4, Section 3.7, Section 4.1.3, Section 5.3
CWD: Section A.14
CWDE: Section A.14
-D option: Section 2.1.8
-d option: Section 2.1.8
DAA: Section A.23
DAS: Section A.23
.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.24
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.25
division: Section 3.5.6
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.26
endproc: Section 7.4.5, Section 8.1.4
%endrep: Section 4.4
ENDSTRUC: Section 4.7.3, Section 5.3
ENTER: Section A.27
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.29
FADD: Section A.30
FADDP: Section A.30
far call: Section 2.2.5, Section A.13
far common variables: Section 6.2.8
far jump: Section A.88
far pointer: Section 3.6
FARCODE: Section 7.4.5, Section 7.5.3
FBLD: Section A.31
FBSTP: Section A.31
FCHS: Section A.32
FCLEX: Section A.33
FCMOVcc: Section A.34
FCOM: Section A.35
FCOMI: Section A.35
FCOMIP: Section A.35
FCOMP: Section A.35
FCOMPP: Section A.35
FCOS: Section A.36
FDECSTP: Section A.37
FDIV: Section A.39
FDIVP: Section A.39
FDIVR: Section A.39
FDIVRP: Section A.39
FFREE: Section A.40
FIADD: Section A.41
FICOM: Section A.42
FICOMP: Section A.42
FIDIV: Section A.43
FIDIVR: Section A.43
FILD: Section A.44
__FILE__: Section 4.7.2
FIMUL: Section A.45
FINCSTP: Section A.46
FINIT: Section A.47
FIST: Section A.44
FISTP: Section A.44
FISUB: Section A.48
FLAT: Section 6.2.1
flat memory model: Chapter 8
flat-form binary: Section 6.1
FLD: Section A.49
FLDCW: Section A.51
FLDENV: Section A.52
FLDxx: Section A.50
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.53
FMULP: Section A.53
FNINIT: Section A.47
FNOP: Section A.54
format-specific directives: Chapter 5
forward references: Section 3.7
FPATAN: Section A.55
FPREM: Section A.56
FPREM1: Section A.56
FPTAN: Section A.55
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.57
FRSTOR: Section A.58
FSAVE: Section A.58
FSCALE: Section A.59
FSETPM: Section A.60
FSIN: Section A.61
FSINCOS: Section A.61
FSQRT: Section A.62
FST: Section A.63
FSTCW: Section A.64
FSTENV: Section A.65
FSTP: Section A.63
FSTSW: Section A.66
FSUB: Section A.67
FSUBP: Section A.67
FSUBR: Section A.67
FSUBRP: Section A.67
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.68
FUCOMxx: Section A.69
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
FXAM: Section A.70
FXCH: Section A.71
FxDISI: Section A.38
FxENI: Section A.38
F2XM1: Section A.28
FXTRACT: Section A.72
FYL2X: Section A.73
FYL2XP1: Section A.73
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.74
hybrid syntaxes: Section 2.2.2
-I option: Section 2.1.6
-i option: Section 2.1.6
%iassign: Section 4.1.3
IBTS: Section A.75
ICEBP: Section A.82
%idefine: Section 4.1.1
IDIV: Section A.76
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
IMPORT: Section 6.2.4
import library: Section 6.2.4
importing symbols: Section 5.4
IMUL: Section A.77
IN: Section A.78
INC: Section A.79
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.80
INSD: Section A.80
INSTALL: Section 1.3.2
installing: Section 1.3.1
instances of structures: Section 4.7.4
INSW: Section A.80
INT: Section A.81
INT01: Section A.82
INT1: Section A.82
INT3: Section A.82
integer overflow: Section 3.5
intel number formats: Section 3.4.4
INTO: Section A.83
INVD: Section A.84
INVLPG: Section A.85
IRET: Section A.86
IRETD: Section A.86
IRETW: Section A.86
ISTRUC: Section 4.7.4
iterating over macro parameters: Section 4.2.6
Jcc: Section A.89
Jcc NEAR: Section 10.1.2
JCXZ: Section A.87
JECXZ: Section A.87
JMP: Section A.88
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.90
LAR: Section A.91
ld86: Section 6.8
LDS: Section A.92
LEA: Section A.93
LEAVE: Section A.94
LES: Section A.92
LFS: Section A.92
LGDT: Section A.95
LGS: Section A.92
LIBRARY: Section 6.9.1
licence: Section 1.1.2
LIDT: Section A.95
__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.95
LMSW: Section A.96
LOADALL: Section A.97
LOADALL286: Section A.97
local labels: Section 3.8
LODSB: Section A.98
LODSD: Section A.98
LODSW: Section A.98
logical AND: Section 4.3.3
logical OR: Section 4.3.3
logical XOR: Section 4.3.3
LOOP: Section A.99
LOOPE: Section A.99
LOOPNE: Section A.99
LOOPNZ: Section A.99
LOOPZ: Section A.99
LSL: Section A.100
LSS: Section A.92
LTR: Section A.101
%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
MASM: Section 1.1.1, Section 2.2, Section 3.2.5, Section 6.2
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
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.102
MOVD: Section A.103
MOVQ: Section A.104
MOVSB: Section A.105
MOVSD: Section A.105
MOVSW: Section A.105
MOVSX: Section A.106
MOVZX: Section A.106
MS-DOS: Section 6.1
MS-DOS device drivers: Section 7.3
MUL: Section A.107
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.13
near common variables: Section 6.2.8
near jump: Section A.88
NEG: Section A.108
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.109
NOT: Section A.108
`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.126, Section A.134
o32: Section 9.3, Section A.126, Section A.134
.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.110
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
OS/2: Section 6.2, Section 6.2.1
OUT: Section A.111
out of range, jumps: Section 10.1.2
output file format: Section 2.1.2
output formats: Chapter 6
OUTSB: Section A.112
OUTSD: Section A.112
OUTSW: Section A.112
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.113
PACKSSWB: Section A.113
PACKUSWB: Section A.113
PADDSIW: Section A.115
PADDxx: Section A.114
PAND: Section A.116
PANDN: Section A.116
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.117
PCMPxx: Section A.118
PDISTIB: Section A.119
period: Section 3.8
Perl: Section 1.3.1
perverse: Section 2.1.6
PharLap: Section 6.2.1
PIC: Section 6.5.2, Section 6.7, Section 8.2
..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.120
PMADDWD: Section A.121
PMAGW: Section A.122
PMULHRIW: Section A.123
PMULHRW: Section A.123
PMULHW: Section A.124
PMULLW: Section A.124
PMVccZB: Section A.125
%pop: Section 4.6, Section 4.6.1
POP: Section A.126
POPAx: Section A.127
POPFx: Section A.128
POR: Section A.129
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
$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.3
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
pseudo-instructions: Section 3.2
PSLLx: Section A.130
PSRAx: Section A.130
PSRLx: Section A.130
PSUBSIW: Section A.132
PSUBxx: Section A.131
PUBLIC: Section 5.5, Section 6.2.1
PUNPCKxxx: Section A.133
pure binary: Section 6.1
%push: Section 4.6, Section 4.6.1
PUSH: Section A.134
PUSHAx: Section A.135
PUSHFx: Section A.136
PXOR: Section A.137
QBasic:
quick start: Section 2.2
QWORD: Section 3.1
RCL: Section A.138
RCR: Section A.138
rdf: Section 2.1.1, Section 6.9
RDMSR: Section A.139
rdoff subdirectory: Section 1.3.2, Section 6.9
RDPMC: Section A.140
RDTSC: Section A.141
redirecting errors: Section 2.1.4
register push: Section A.134
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.142
RETF: Section A.142
RETN: Section A.142
ROL: Section A.143
ROR: Section A.143
%rotate: Section 4.2.6
rotating macro parameters: Section 4.2.6
RSM: Section A.144
-s option: Section 2.1.5
SAHF: Section A.145
SAL: Section A.146
SALC: Section A.147
SAR: Section A.146
SBB: Section A.148
SCASB: Section A.149
SCASD: Section A.149
SCASW: Section A.149
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.150
SGDT: Section A.151
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.152
SHLD: Section A.153
SHR: Section A.152
SHRD: Section A.153
SIB byte: Section A.2, Section A.2.3
SIDT: Section A.151
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.151
SMI: Section A.154
SMSW: Section A.155
-soname: Section 8.2.6
sound: Section 3.2.3
source code: Section 1.3.1
source-listing file: Section 2.1.3
square brackets: Section 2.2.2, Section 3.3
STACK: 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.156
STD: Section A.156
stderr: Section 2.1.4
stdout: Section 2.1.5
STI: Section A.156
STOSB: Section A.157
STOSD: Section A.157
STOSW: Section A.157
STR: Section A.158
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.159
subtraction: Section 3.5.5
sunsite.unc.edu: Section 1.2
suppressible warning: Section 2.1.12
suppressing preprocessing: Section 2.1.11
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
TASM: Section 1.1.1, Section 2.2, Section 6.2
TBYTE: Section 2.2.7
TEST: Section A.160
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
UMOV: Section A.161
unary operators: Section 3.5.7
%undef: Section 2.1.9, Section 4.1.2
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
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.162
version number of NASM: Section 4.7.1
VERW: Section A.162
Visual C++: Section 6.3
-w option: Section 2.1.12
WAIT: Section A.163
warnings: Section 2.1.12
WBINVD: Section A.164
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.165
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.166
XBTS: Section A.167
XCHG: Section A.168
x2ftp.oulu.fi: Section 7.1.1
XLATB: Section A.169
XOR: Section A.170

Contents