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 Handling in Macros, String Length: %strlen
%substr, String Handling in Macros, 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
..gotoff, elf32 Special Symbols and WRT
..gotpc, elf32 Special Symbols and WRT
..gotpcrel, elf64 Special Symbols and WRT
..plt, elf32 Special Symbols and WRT, elf64 Special Symbols and WRT
..sym, elf32 Special Symbols and WRT, elf64 Special Symbols and WRT
.COM, bin: Flat-Form Binary Output
.nolist, Disabling Listing Expansion
.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 mode
versus 64-bit mode, BITS
<, %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
_GLOBAL_OFFSET_TABLE_, elf32 Special Symbols and WRT
__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
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
commas in macro parameters, Greedy Macro Parameters
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
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

N

NOSPLIT, Effective Addresses
numeric constant, DB and Friends: Declaring Initialized Data
Numeric Constants, Numeric Constants

S

searching for include files, Including Other Files
SECTION, SECTION and SEGMENT
section.length, bin Special Symbols
section.start, bin Special Symbols
section.vstart, bin Special Symbols
SEG, Unary Operators: +, -, ~ and SEG, SEG and WRT
SEGMENT, SECTION and SEGMENT
segment address, Unary Operators: +, -, ~ and SEG, SEG and WRT
segment override, Layout of a NASM Source Line
segments, SEG and WRT
shared library, ELF Extensions to the GLOBAL Directive
shift command, %rotate: Rotating Macro Parameters
signed division, *, /, //, % and %%: Multiplication and Division
signed modulo, *, /, //, % and %%: Multiplication and Division
Single-Line Macros, Single-Line Macros
SIZE, SIZE: Set symbol size
size
of symbols, SIZE: Set symbol size, ELF Extensions to the GLOBAL Directive
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
square brackets, Effective Addresses
stabs, stabs: Stabs Debugging Format
Standard Macros, Standard Macros
standardized 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
Sub-strings, Sub-strings: %substr
Subtraction, + and -: Addition and Subtraction Operators
switching between sections, Changing and Defining Sections
symbol sizes
specifying, SIZE: Set symbol size, ELF Extensions to the GLOBAL Directive
symbol types
specifying, TYPE: Set symbol type, ELF Extensions to the GLOBAL Directive