Index

Symbols

!=, %if: Testing Arbitrary Numeric Expressions
$
here, Expressions
prefix, Layout of a NASM Source Line, Numeric Constants
$$, Expressions, elf32 Special Symbols and WRT
% operator, *, /, //, % and %%: Multiplication and Division
%$, Context-Local Labels
%$$, Context-Local Labels
%%, Macro-Local Labels
%% operator, *, /, //, % and %%: Multiplication and Division
%+, Concatenating Single Line Macro Tokens: %+
%+1, Condition Codes as Macro Parameters
%-1, Condition Codes as Macro Parameters
%0, Default Macro Parameters, %0: Macro Parameter Counter
%assign, Preprocessor Variables: %assign
%clear, Standard Macros
%define, The Normal Way: %define
%elif, Conditional Assembly, %if: Testing Arbitrary Numeric Expressions
%elifctx, %ifctx: Testing the Context Stack
%elifdef, %ifdef: Testing Single-Line Macro Existence
%elifid, %ifid, %ifnum, %ifstr: Testing Token Types
%elifidn, %ifidn and %ifidni: Testing Exact Text Identity
%elifidni, %ifidn and %ifidni: Testing Exact Text Identity
%elifmacro, %ifmacro: Testing Multi-Line Macro Existence
%elifnctx, %ifctx: Testing the Context Stack
%elifndef, %ifdef: Testing Single-Line Macro Existence
%elifnid, %ifid, %ifnum, %ifstr: Testing Token Types
%elifnidn, %ifidn and %ifidni: Testing Exact Text Identity
%elifnidni, %ifidn and %ifidni: Testing Exact Text Identity
%elifnmacro, %ifmacro: Testing Multi-Line Macro Existence
%elifnnum, %ifid, %ifnum, %ifstr: Testing Token Types
%elifnstr, %ifid, %ifnum, %ifstr: Testing Token Types
%elifnum, %ifid, %ifnum, %ifstr: Testing Token Types
%elifstr, %ifid, %ifnum, %ifstr: Testing Token Types
%else, Conditional Assembly
%endrep, Preprocessor Loops
%error, %error: Reporting User-Defined Errors
%exitrep, Preprocessor Loops
%iassign, Preprocessor Variables: %assign
%idefine, The Normal Way: %define
%if, Conditional Assembly, %if: Testing Arbitrary Numeric Expressions
%ifctx, %ifctx: Testing the Context Stack, Example Use of the Context Stack: Block IFs
%ifdef, %ifdef: Testing Single-Line Macro Existence
%ifid, %ifid, %ifnum, %ifstr: Testing Token Types
%ifidn, %ifidn and %ifidni: Testing Exact Text Identity
%ifidni, %ifidn and %ifidni: Testing Exact Text Identity
%ifmacro, %ifmacro: Testing Multi-Line Macro Existence
%ifnctx, %ifctx: Testing the Context Stack
%ifndef, %ifdef: Testing Single-Line Macro Existence
%ifnid, %ifid, %ifnum, %ifstr: Testing Token Types
%ifnidn, %ifidn and %ifidni: Testing Exact Text Identity
%ifnidni, %ifidn and %ifidni: Testing Exact Text Identity
%ifnmacro, %ifmacro: Testing Multi-Line Macro Existence
%ifnnum, %ifid, %ifnum, %ifstr: Testing Token Types
%ifnstr, %ifid, %ifnum, %ifstr: Testing Token Types
%ifnum, %ifid, %ifnum, %ifstr: Testing Token Types
%ifstr, %ifid, %ifnum, %ifstr: Testing Token Types
%imacro, Multi-Line Macros
%include, Including Other Files
%macro, Multi-Line Macros
%pop, The Context Stack, %push and %pop: Creating and Removing Contexts
%push, The Context Stack, %push and %pop: Creating and Removing Contexts
%rep, TIMES: Repeating Instructions or Data, Preprocessor Loops
%repl, %repl: Renaming a Context
%rotate, %rotate: Rotating Macro Parameters
%strlen, String Length: %strlen
%substr, Sub-strings: %substr
%undef, Undefining macros: %undef
%xdefine, Enhancing %define: %xdefine
%xidefine, Enhancing %define: %xdefine
& operator, &: Bitwise AND Operator
&&, %if: Testing Arbitrary Numeric Expressions
* operator, *, /, //, % and %%: Multiplication and Division
+ modifier, Greedy Macro Parameters
+ operator
binary, + and -: Addition and Subtraction Operators
unary, Unary Operators: +, -, ~ and SEG
- operator
binary, + and -: Addition and Subtraction Operators
unary, Unary Operators: +, -, ~ and SEG
--mapfile, Map Files
-f, __YASM_OBJFMT__ and __OUTPUT_FORMAT__: Output Object Format Keyword
-P, Including Other Files
..@, Macro-Local Labels
..@ symbol prefix, Local Labels
..got, elf32 Special Symbols and WRT, elf64 Special Symbols and WRT, elfx32 Special Symbols and WRT
..gotoff, elf32 Special Symbols and WRT
..gotpc, elf32 Special Symbols and WRT
..gotpcrel, elf64 Special Symbols and WRT, elfx32 Special Symbols and WRT
..plt, elf32 Special Symbols and WRT, elf64 Special Symbols and WRT, elfx32 Special Symbols and WRT
..sym, elf32 Special Symbols and WRT, elf64 Special Symbols and WRT, elfx32 Special Symbols and WRT
.COM, bin: Flat-Form Binary Output
.comment, IDENT: Add file identification
.drectve, win32 Extensions to the SECTION Directive
.nolist, Disabling Listing Expansion
.obj, win32: Microsoft Win32 Object Files
.pdata, win64 Structured Exception Handling
.SYS, bin: Flat-Form Binary Output
.xdata, win64 Structured Exception Handling
/ operator, *, /, //, % and %%: Multiplication and Division
// operator, *, /, //, % and %%: Multiplication and Division
16-bit mode
versus 32-bit mode, BITS
32-bit, win32: Microsoft Win32 Object Files
32-bit mode
versus 64-bit mode, BITS
32-bit shared libraries, elf32 Special Symbols and WRT
64-bit, elf64: Executable and Linkable Format 64-bit Object Files, win64: PE32+ (Microsoft Win64) Object Files
64-bit shared libraries, elf64 Special Symbols and WRT
<, %if: Testing Arbitrary Numeric Expressions
<< operator, << and >>: Bit Shift Operators
<=, %if: Testing Arbitrary Numeric Expressions
<>, %if: Testing Arbitrary Numeric Expressions
=, %if: Testing Arbitrary Numeric Expressions
==, %if: Testing Arbitrary Numeric Expressions
>, %if: Testing Arbitrary Numeric Expressions
>=, %if: Testing Arbitrary Numeric Expressions
>> operator, << and >>: Bit Shift Operators
?, RESB and Friends: Declaring Uninitialized Data
[MAP], Map Files
^ operator, ^: Bitwise XOR Operator
^^, %if: Testing Arbitrary Numeric Expressions
__FILE__, __FILE__ and __LINE__: File Name and Line Number
__LINE__, __FILE__ and __LINE__: File Name and Line Number
__OUTPUT_FORMAT__, __YASM_OBJFMT__ and __OUTPUT_FORMAT__: Output Object Format Keyword
__SECT__, The __SECT__ Macro, ABSOLUTE: Defining Absolute Labels
__YASM_BUILD__, __YASM_MAJOR__, etc: Yasm Version
__YASM_MAJOR__, __YASM_MAJOR__, etc: Yasm Version
__YASM_MINOR__, __YASM_MAJOR__, etc: Yasm Version
__YASM_OBJFMT__, __YASM_OBJFMT__ and __OUTPUT_FORMAT__: Output Object Format Keyword
__YASM_SUBMINOR__, __YASM_MAJOR__, etc: Yasm Version
__YASM_VERSION_ID__, __YASM_MAJOR__, etc: Yasm Version
__YASM_VER__, __YASM_MAJOR__, etc: Yasm Version
| operator, |: Bitwise OR Operator
||, %if: Testing Arbitrary Numeric Expressions
~ operator, Unary Operators: +, -, ~ and SEG

C

CALL FAR, SEG and WRT
case sensitive, The Normal Way: %define, Enhancing %define: %xdefine, Preprocessor Variables: %assign
case-insensitive, %ifidn and %ifidni: Testing Exact Text Identity
case-sensitive, Multi-Line Macros
changing sections, Changing and Defining Sections
character constant, DB and Friends: Declaring Initialized Data
Character Constants, Character Constants
circular references, The Normal Way: %define
code, NOP Padding
CodeView, cv8: CodeView Debugging Format for VC8
coff, coff: Common Object File Format
COFF
debugging, stabs: Stabs Debugging Format
colon, Layout of a NASM Source Line
COMMON, COMMON: Defining Common Data Areas
Common Object File Format, coff: Common Object File Format
common variables, COMMON: Defining Common Data Areas
alignment in elf, ELF Extensions to the COMMON Directive
Concatenating Macro Parameters, Concatenating Macro Parameters
Condition Codes as Macro Parameters, Condition Codes as Macro Parameters
Conditional Assembly, Conditional Assembly
conditional-return macro, Condition Codes as Macro Parameters
Constants, Constants
constants, Floating-Point Constants
context stack, %ifctx: Testing the Context Stack
Context Stack, The Context Stack, Example Use of the Context Stack: Block IFs
Context-Local Labels, Context-Local Labels
Context-Local Single-Line Macros, Context-Local Single-Line Macros
counting macro parameters, %0: Macro Parameter Counter
CPU, CPU: Defining CPU Dependencies
CPUID, Character Constants
creating contexts, %push and %pop: Creating and Removing Contexts
critical expression, RESB and Friends: Declaring Uninitialized Data, EQU: Defining Constants, Preprocessor Variables: %assign, ABSOLUTE: Defining Absolute Labels
Critical Expressions, Critical Expressions
cv8, cv8: CodeView Debugging Format for VC8

E

effective address, Effective Addresses
effective addresses, Layout of a NASM Source Line
effective-address, Critical Expressions
elf, elf32: Executable and Linkable Format 32-bit Object Files, elf64: Executable and Linkable Format 64-bit Object Files
directives, ELF Directives
elf32, elf32: Executable and Linkable Format 32-bit Object Files
elf64, elf64: Executable and Linkable Format 64-bit Object Files
elfx32, elfx32: ELF 32-bit Object Files for 64-bit Processors
SECTION, ELF Sections
symbol size, SIZE: Set symbol size
symbol type, TYPE: Set symbol type
weak reference, WEAK: Create weak symbol
ELF
32-bit shared libraries, elf32 Special Symbols and WRT
64-bit shared libraries, elf64 Special Symbols and WRT
debugging, dwarf2: DWARF2 Debugging Format, stabs: Stabs Debugging Format
x32 shared libraries, elfx32 Special Symbols and WRT
elf32, elf32: Executable and Linkable Format 32-bit Object Files
elf64, elf64: Executable and Linkable Format 64-bit Object Files
elfx32, elfx32: ELF 32-bit Object Files for 64-bit Processors
ENDSTRUC, STRUC and ENDSTRUC: Declaring Structure Data Types, ABSOLUTE: Defining Absolute Labels
EQU, EQU: Defining Constants, Critical Expressions
exact text identity, %ifidn and %ifidni: Testing Exact Text Identity
Executable and Linkable Format, elf32: Executable and Linkable Format 32-bit Object Files
64-bit, elf64: Executable and Linkable Format 64-bit Object Files
x32, elfx32: ELF 32-bit Object Files for 64-bit Processors
Exporting Symbols, GLOBAL: Exporting Symbols
Expressions, Expressions
Extended Dynamic Object, xdf: Extended Dynamic Object Format
EXTERN, EXTERN: Importing Symbols

S

searching for include files, Including Other Files
SECTION, SECTION and SEGMENT, ELF Sections, win32 Extensions to the SECTION Directive
win32 extensions to, win32 Extensions to the SECTION Directive
section alignment
in win32, win32 Extensions to the SECTION Directive
section.length, bin Special Symbols
section.start, bin Special Symbols
section.vstart, bin Special Symbols
SEG, Unary Operators: +, -, ~ and SEG, SEG and WRT
segment address, Unary Operators: +, -, ~ and SEG, SEG and WRT
segment override, Layout of a NASM Source Line
segmentation
x86, Segmentation
segments, SEG and WRT
shift command, %rotate: Rotating Macro Parameters
signed division, *, /, //, % and %%: Multiplication and Division
signed modulo, *, /, //, % and %%: Multiplication and Division
single-line macro existence, %ifdef: Testing Single-Line Macro Existence
Single-line macros, The Normal Way: %define
single-line macros, The Normal Way: %define
size
of symbols, SIZE: Set symbol size, ELF Extensions to the GLOBAL Directive
SIZE, SIZE: Set symbol size
Solaris x86, elf32: Executable and Linkable Format 32-bit Object Files
Solaris x86-64, elf64: Executable and Linkable Format 64-bit Object Files
sound, INCBIN: Including External Binary Files
specifying, SIZE: Set symbol size, TYPE: Set symbol type, ELF Extensions to the GLOBAL Directive
square brackets, Effective Addresses
stabs, stabs: Stabs Debugging Format
Standard Macros, Standard Macros
standard section names, win32 Extensions to the SECTION Directive
standardised section names, Standardized Section Names
STRICT, STRICT: Inhibiting Optimization
string constant, DB and Friends: Declaring Initialized Data
String Constants, String Constants
String Handling in Macros, String Handling in Macros
String Length, String Length: %strlen
STRUC, STRUC and ENDSTRUC: Declaring Structure Data Types, ABSOLUTE: Defining Absolute Labels
structured exceptions, win64 Structured Exception Handling
Sub-strings, Sub-strings: %substr
subtraction, + and -: Addition and Subtraction Operators
switching between sections, Changing and Defining Sections
symbol size, SIZE: Set symbol size
symbol sizes
specifying, SIZE: Set symbol size, ELF Extensions to the GLOBAL Directive
symbol type, TYPE: Set symbol type
symbol types
specifying, TYPE: Set symbol type, ELF Extensions to the GLOBAL Directive