This manual documents NASM, the Netwide Assembler: an assembler
targetting the Intel x86 series of processors, with portable source.
-
Chapter 1: Introduction
-
Section 1.1: What Is NASM?
-
Section 1.1.1: License Conditions
-
Chapter 2: Running NASM
-
Section 2.1: NASM Command-Line Syntax
-
Section 2.1.1: The
-o
Option: Specifying the Output File Name
-
Section 2.1.2: The
-f
Option: Specifying the Output File Format
-
Section 2.1.3: The
-l
Option: Generating a Listing File
-
Section 2.1.4: The
-M
Option: Generate Makefile Dependencies
-
Section 2.1.5: The
-MG
Option: Generate Makefile Dependencies
-
Section 2.1.6: The
-MF
Option: Set Makefile Dependency File
-
Section 2.1.7: The
-MD
Option: Assemble and Generate Dependencies
-
Section 2.1.8: The
-MT
Option: Dependency Target Name
-
Section 2.1.9: The
-MQ
Option: Dependency Target Name (Quoted)
-
Section 2.1.10: The
-MP
Option: Emit phony targets
-
Section 2.1.11: The
-MW
Option: Watcom Make quoting style
-
Section 2.1.12: The
-F
Option: Selecting a Debug Information Format
-
Section 2.1.13: The
-g
Option: Enabling Debug Information.
-
Section 2.1.14: The
-X
Option: Selecting an Error Reporting Format
-
Section 2.1.15: The
-Z
Option: Send Errors to a File
-
Section 2.1.16: The
-s
Option: Send Errors to stdout
-
Section 2.1.17: The
-i
Option: Include File Search Directories
-
Section 2.1.18: The
-p
Option: Pre-Include a File
-
Section 2.1.19: The
-d
Option: Pre-Define a Macro
-
Section 2.1.20: The
-u
Option: Undefine a Macro
-
Section 2.1.21: The
-E
Option: Preprocess Only
-
Section 2.1.22: The
-a
Option: Don't Preprocess At All
-
Section 2.1.23: The
-O
Option: Specifying Multipass Optimization
-
Section 2.1.24: The
-t
Option: Enable TASM Compatibility Mode
-
Section 2.1.25: The
-w
and -W
Options: Enable or Disable Assembly Warnings
-
Section 2.1.26: The
-v
Option: Display Version Info
-
Section 2.1.27: The
-y
Option: Display Available Debug Info Formats
-
Section 2.1.28: The
--prefix
and --postfix
Options.
-
Section 2.1.29: The
NASMENV
Environment Variable
-
Section 2.2: Quick Start for MASM Users
-
Section 2.2.1: NASM Is Case-Sensitive
-
Section 2.2.2: NASM Requires Square Brackets For Memory References
-
Section 2.2.3: NASM Doesn't Store Variable Types
-
Section 2.2.4: NASM Doesn't
ASSUME
-
Section 2.2.5: NASM Doesn't Support Memory Models
-
Section 2.2.6: Floating-Point Differences
-
Section 2.2.7: Other Differences
-
Chapter 3: The NASM Language
-
Section 3.1: Layout of a NASM Source Line
-
Section 3.2: Pseudo-Instructions
-
Section 3.2.1:
DB
and Friends: Declaring Initialized Data
-
Section 3.2.2:
RESB
and Friends: Declaring Uninitialized Data
-
Section 3.2.3:
INCBIN
: Including External Binary Files
-
Section 3.2.4:
EQU
: Defining Constants
-
Section 3.2.5:
TIMES
: Repeating Instructions or Data
-
Section 3.3: Effective Addresses
-
Section 3.4: Constants
-
Section 3.4.1: Numeric Constants
-
Section 3.4.2: Character Strings
-
Section 3.4.3: Character Constants
-
Section 3.4.4: String Constants
-
Section 3.4.5: Unicode Strings
-
Section 3.4.6: Floating-Point Constants
-
Section 3.4.7: Packed BCD Constants
-
Section 3.5: Expressions
-
Section 3.5.1:
|
: Bitwise OR Operator
-
Section 3.5.2:
^
: Bitwise XOR Operator
-
Section 3.5.3:
&
: Bitwise AND Operator
-
Section 3.5.4:
<<
and >>
: Bit Shift Operators
-
Section 3.5.5:
+
and -
: Addition and Subtraction Operators
-
Section 3.5.6:
*
, /
, //
, %
and %%
: Multiplication and Division
-
Section 3.5.7: Unary Operators
-
Section 3.6:
SEG
and WRT
-
Section 3.7:
STRICT
: Inhibiting Optimization
-
Section 3.8: Critical Expressions
-
Section 3.9: Local Labels
-
Chapter 4: The NASM Preprocessor
-
Section 4.1: Single-Line Macros
-
Section 4.1.1: The Normal Way:
%define
-
Section 4.1.2: Resolving
%define
: %xdefine
-
Section 4.1.3: Macro Indirection:
%[...]
-
Section 4.1.4: Concatenating Single Line Macro Tokens:
%+
-
Section 4.1.5: The Macro Name Itself:
%?
and %??
-
Section 4.1.6: Undefining Single-Line Macros:
%undef
-
Section 4.1.7: Preprocessor Variables:
%assign
-
Section 4.1.8: Defining Strings:
%defstr
-
Section 4.1.9: Defining Tokens:
%deftok
-
Section 4.2: String Manipulation in Macros
-
Section 4.2.1: Concatenating Strings:
%strcat
-
Section 4.2.2: String Length:
%strlen
-
Section 4.2.3: Extracting Substrings:
%substr
-
Section 4.3: Multi-Line Macros:
%macro
-
Section 4.3.1: Overloading Multi-Line Macros
-
Section 4.3.2: Macro-Local Labels
-
Section 4.3.3: Greedy Macro Parameters
-
Section 4.3.4: Macro Parameters Range
-
Section 4.3.5: Default Macro Parameters
-
Section 4.3.6:
%0
: Macro Parameter Counter
-
Section 4.3.7:
%00
: Label Preceeding Macro
-
Section 4.3.8:
%rotate
: Rotating Macro Parameters
-
Section 4.3.9: Concatenating Macro Parameters
-
Section 4.3.10: Condition Codes as Macro Parameters
-
Section 4.3.11: Disabling Listing Expansion
-
Section 4.3.12: Undefining Multi-Line Macros:
%unmacro
-
Section 4.4: Conditional Assembly
-
Section 4.4.1:
%ifdef
: Testing Single-Line Macro Existence
-
Section 4.4.2:
%ifmacro
: Testing Multi-Line Macro Existence
-
Section 4.4.3:
%ifctx
: Testing the Context Stack
-
Section 4.4.4:
%if
: Testing Arbitrary Numeric Expressions
-
Section 4.4.5:
%ifidn
and %ifidni
: Testing Exact Text Identity
-
Section 4.4.6:
%ifid
, %ifnum
, %ifstr
: Testing Token Types
-
Section 4.4.7:
%iftoken
: Test for a Single Token
-
Section 4.4.8:
%ifempty
: Test for Empty Expansion
-
Section 4.4.9:
%ifenv
: Test If Environment Variable Exists
-
Section 4.5: Preprocessor Loops:
%rep
-
Section 4.6: Source Files and Dependencies
-
Section 4.6.1:
%include
: Including Other Files
-
Section 4.6.2:
%pathsearch
: Search the Include Path
-
Section 4.6.3:
%depend
: Add Dependent Files
-
Section 4.6.4:
%use
: Include Standard Macro Package
-
Section 4.7: The Context Stack
-
Section 4.7.1:
%push
and %pop
: Creating and Removing Contexts
-
Section 4.7.2: Context-Local Labels
-
Section 4.7.3: Context-Local Single-Line Macros
-
Section 4.7.4: Context Fall-Through Lookup (deprecated)
-
Section 4.7.5:
%repl
: Renaming a Context
-
Section 4.7.6: Example Use of the Context Stack: Block IFs
-
Section 4.8: Stack Relative Preprocessor Directives
-
Section 4.8.1:
%arg
Directive
-
Section 4.8.2:
%stacksize
Directive
-
Section 4.8.3:
%local
Directive
-
Section 4.9: Reporting User-Defined Errors:
%error
, %warning
, %fatal
-
Section 4.10: Other Preprocessor Directives
-
Section 4.10.1:
%line
Directive
-
Section 4.10.2:
%!
variable: Read an Environment Variable.
-
Section 4.11: Standard Macros
-
Section 4.11.1: NASM Version Macros
-
Section 4.11.2:
__NASM_VERSION_ID__
: NASM Version ID
-
Section 4.11.3:
__NASM_VER__
: NASM Version string
-
Section 4.11.4:
__FILE__
and __LINE__
: File Name and Line Number
-
Section 4.11.5:
__BITS__
: Current BITS Mode
-
Section 4.11.6:
__OUTPUT_FORMAT__
: Current Output Format
-
Section 4.11.7: Assembly Date and Time Macros
-
Section 4.11.8:
__USE_
package__
: Package Include Test
-
Section 4.11.9:
__PASS__
: Assembly Pass
-
Section 4.11.10:
STRUC
and ENDSTRUC
: Declaring Structure Data Types
-
Section 4.11.11:
ISTRUC
, AT
and IEND
: Declaring Instances of Structures
-
Section 4.11.12:
ALIGN
and ALIGNB
: Data Alignment
-
Section 4.11.13:
SECTALIGN
: Section Alignment
-
Chapter 5: Standard Macro Packages
-
Section 5.1:
altreg
: Alternate Register Names
-
Section 5.2:
smartalign
: Smart ALIGN
Macro
-
Section 5.3:
fp
: Floating-point macros
-
Section 5.4:
ifunc
: Integer functions
-
Section 5.4.1: Integer logarithms
-
Chapter 6: Assembler Directives
-
Section 6.1:
BITS
: Specifying Target Processor Mode
-
Section 6.1.1:
USE16
& USE32
: Aliases for BITS
-
Section 6.2:
DEFAULT
: Change the assembler defaults
-
Section 6.2.1:
REL
& ABS
: RIP-relative addressing
-
Section 6.2.2:
BND
& NOBND
: BND
prefix
-
Section 6.3:
SECTION
or SEGMENT
: Changing and Defining Sections
-
Section 6.3.1: The
__SECT__
Macro
-
Section 6.4:
ABSOLUTE
: Defining Absolute Labels
-
Section 6.5:
EXTERN
: Importing Symbols from Other Modules
-
Section 6.6:
GLOBAL
: Exporting Symbols to Other Modules
-
Section 6.7:
COMMON
: Defining Common Data Areas
-
Section 6.8:
CPU
: Defining CPU Dependencies
-
Section 6.9:
FLOAT
: Handling of floating-point constants
-
Section 6.10:
[WARNING]
: Enable or disable warnings
-
Chapter 7: Output Formats
-
Section 7.1:
bin
: Flat-Form Binary Output
-
Section 7.1.1:
ORG
: Binary File Program Origin
-
Section 7.1.2:
bin
Extensions to the SECTION
Directive
-
Section 7.1.3: Multisection Support for the
bin
Format
-
Section 7.1.4: Map Files
-
Section 7.2:
ith
: Intel Hex Output
-
Section 7.3:
srec
: Motorola S-Records Output
-
Section 7.4:
obj
: Microsoft OMF Object Files
-
Section 7.4.1:
obj
Extensions to the SEGMENT
Directive
-
Section 7.4.2:
GROUP
: Defining Groups of Segments
-
Section 7.4.3:
UPPERCASE
: Disabling Case Sensitivity in Output
-
Section 7.4.4:
IMPORT
: Importing DLL Symbols
-
Section 7.4.5:
EXPORT
: Exporting DLL Symbols
-
Section 7.4.6:
..start
: Defining the Program Entry Point
-
Section 7.4.7:
obj
Extensions to the EXTERN
Directive
-
Section 7.4.8:
obj
Extensions to the COMMON
Directive
-
Section 7.4.9: Embedded File Dependency Information
-
Section 7.5:
win32
: Microsoft Win32 Object Files
-
Section 7.5.1:
win32
Extensions to the SECTION
Directive
-
Section 7.5.2:
win32
: Safe Structured Exception Handling
-
Section 7.5.3: Debugging formats for Windows
-
Section 7.6:
win64
: Microsoft Win64 Object Files
-
Section 7.6.1:
win64
: Writing Position-Independent Code
-
Section 7.6.2:
win64
: Structured Exception Handling
-
Section 7.7:
coff
: Common Object File Format
-
Section 7.8:
macho32
and macho64
: Mach Object File Format
-
Section 7.8.1:
macho
extensions to the SECTION
Directive
-
Section 7.8.2: Thread Local Storage in Mach-O:
macho
special symbols and WRT
-
Section 7.8.3:
macho
specfic directive subsections_via_symbols
-
Section 7.8.4:
macho
specfic directive no_dead_strip
-
Section 7.9:
elf32
, elf64
, elfx32
: Executable and Linkable Format Object Files
-
Section 7.9.1: ELF specific directive
osabi
-
Section 7.9.2:
elf
extensions to the SECTION
Directive
-
Section 7.9.3: Position-Independent Code:
macho
Special Symbols and WRT
-
Section 7.9.4: Thread Local Storage in ELF:
elf
Special Symbols and WRT
-
Section 7.9.5:
elf
Extensions to the GLOBAL
Directive
-
Section 7.9.6:
elf
Extensions to the COMMON
Directive
-
Section 7.9.7: 16-bit code and ELF
-
Section 7.9.8: Debug formats and ELF
-
Section 7.10:
aout
: Linux a.out
Object Files
-
Section 7.11:
aoutb
: NetBSD/FreeBSD/OpenBSD a.out
Object Files
-
Section 7.12:
as86
: Minix/Linux as86
Object Files
-
Section 7.13:
rdf
: Relocatable Dynamic Object File Format
-
Section 7.13.1: Requiring a Library: The
LIBRARY
Directive
-
Section 7.13.2: Specifying a Module Name: The
MODULE
Directive
-
Section 7.13.3:
rdf
Extensions to the GLOBAL
Directive
-
Section 7.13.4:
rdf
Extensions to the EXTERN
Directive
-
Section 7.14:
dbg
: Debugging Format
-
Chapter 8: Writing 16-bit Code (DOS, Windows 3/3.1)
-
Section 8.1: Producing
.EXE
Files
-
Section 8.1.1: Using the
obj
Format To Generate .EXE
Files
-
Section 8.1.2: Using the
bin
Format To Generate .EXE
Files
-
Section 8.2: Producing
.COM
Files
-
Section 8.2.1: Using the
bin
Format To Generate .COM
Files
-
Section 8.2.2: Using the
obj
Format To Generate .COM
Files
-
Section 8.3: Producing
.SYS
Files
-
Section 8.4: Interfacing to 16-bit C Programs
-
Section 8.4.1: External Symbol Names
-
Section 8.4.2: Memory Models
-
Section 8.4.3: Function Definitions and Function Calls
-
Section 8.4.4: Accessing Data Items
-
Section 8.4.5:
c16.mac
: Helper Macros for the 16-bit C Interface
-
Section 8.5: Interfacing to Borland Pascal Programs
-
Section 8.5.1: The Pascal Calling Convention
-
Section 8.5.2: Borland Pascal Segment Name Restrictions
-
Section 8.5.3: Using
c16.mac
With Pascal Programs
-
Chapter 9: Writing 32-bit Code (Unix, Win32, DJGPP)
-
Section 9.1: Interfacing to 32-bit C Programs
-
Section 9.1.1: External Symbol Names
-
Section 9.1.2: Function Definitions and Function Calls
-
Section 9.1.3: Accessing Data Items
-
Section 9.1.4:
c32.mac
: Helper Macros for the 32-bit C Interface
-
Section 9.2: Writing NetBSD/FreeBSD/OpenBSD and Linux/ELF Shared Libraries
-
Section 9.2.1: Obtaining the Address of the GOT
-
Section 9.2.2: Finding Your Local Data Items
-
Section 9.2.3: Finding External and Common Data Items
-
Section 9.2.4: Exporting Symbols to the Library User
-
Section 9.2.5: Calling Procedures Outside the Library
-
Section 9.2.6: Generating the Library File
-
Chapter 10: Mixing 16 and 32 Bit Code
-
Section 10.1: Mixed-Size Jumps
-
Section 10.2: Addressing Between Different-Size Segments
-
Section 10.3: Other Mixed-Size Instructions
-
Chapter 11: Writing 64-bit Code (Unix, Win64)
-
Section 11.1: Register Names in 64-bit Mode
-
Section 11.2: Immediates and Displacements in 64-bit Mode
-
Section 11.3: Interfacing to 64-bit C Programs (Unix)
-
Section 11.4: Interfacing to 64-bit C Programs (Win64)
-
Chapter 12: Troubleshooting
-
Section 12.1: Common Problems
-
Section 12.1.1: NASM Generates Inefficient Code
-
Section 12.1.2: My Jumps are Out of Range
-
Section 12.1.3:
ORG
Doesn't Work
-
Section 12.1.4:
TIMES
Doesn't Work
-
Appendix A: Ndisasm
-
Section A.1: Introduction
-
Section A.2: Running NDISASM
-
Section A.2.1: COM Files: Specifying an Origin
-
Section A.2.2: Code Following Data: Synchronisation
-
Section A.2.3: Mixed Code and Data: Automatic (Intelligent) Synchronisation
-
Section A.2.4: Other Options
-
Appendix B: Instruction List
-
Section B.1: Introduction
-
Section B.1.1: Special instructions...
-
Section B.1.2: Conventional instructions
-
Section B.1.3: Katmai Streaming SIMD instructions (SSE –– a.k.a. KNI, XMM, MMX2)
-
Section B.1.4: Introduced in Deschutes but necessary for SSE support
-
Section B.1.5: XSAVE group (AVX and extended state)
-
Section B.1.6: Generic memory operations
-
Section B.1.7: New MMX instructions introduced in Katmai
-
Section B.1.8: AMD Enhanced 3DNow! (Athlon) instructions
-
Section B.1.9: Willamette SSE2 Cacheability Instructions
-
Section B.1.10: Willamette MMX instructions (SSE2 SIMD Integer Instructions)
-
Section B.1.11: Willamette Streaming SIMD instructions (SSE2)
-
Section B.1.12: Prescott New Instructions (SSE3)
-
Section B.1.13: VMX/SVM Instructions
-
Section B.1.14: Extended Page Tables VMX instructions
-
Section B.1.15: Tejas New Instructions (SSSE3)
-
Section B.1.16: AMD SSE4A
-
Section B.1.17: New instructions in Barcelona
-
Section B.1.18: Penryn New Instructions (SSE4.1)
-
Section B.1.19: Nehalem New Instructions (SSE4.2)
-
Section B.1.20: Intel SMX
-
Section B.1.21: Geode (Cyrix) 3DNow! additions
-
Section B.1.22: Intel new instructions in ???
-
Section B.1.23: Intel AES instructions
-
Section B.1.24: Intel AVX AES instructions
-
Section B.1.25: Intel instruction extension based on pub number 319433-030 dated October 2017
-
Section B.1.26: Intel AVX instructions
-
Section B.1.27: Intel Carry-Less Multiplication instructions (CLMUL)
-
Section B.1.28: Intel AVX Carry-Less Multiplication instructions (CLMUL)
-
Section B.1.29: Intel Fused Multiply-Add instructions (FMA)
-
Section B.1.30: Intel post-32 nm processor instructions
-
Section B.1.31: VIA (Centaur) security instructions
-
Section B.1.32: AMD Lightweight Profiling (LWP) instructions
-
Section B.1.33: AMD XOP and FMA4 instructions (SSE5)
-
Section B.1.34: Intel AVX2 instructions
-
Section B.1.35: Intel Transactional Synchronization Extensions (TSX)
-
Section B.1.36: Intel BMI1 and BMI2 instructions, AMD TBM instructions
-
Section B.1.37: Intel Memory Protection Extensions (MPX)
-
Section B.1.38: Intel SHA acceleration instructions
-
Section B.1.39: AVX-512 mask register instructions
-
Section B.1.40: AVX-512 instructions
-
Section B.1.41: Intel memory protection keys for userspace (PKU aka PKEYs)
-
Section B.1.42: Read Processor ID
-
Section B.1.43: New memory instructions
-
Section B.1.44: Systematic names for the hinting nop instructions
-
Appendix C: NASM Version History
-
Section C.1: NASM 2 Series
-
Section C.1.1: Version 2.13.03
-
Section C.1.2: Version 2.13.02
-
Section C.1.3: Version 2.13.01
-
Section C.1.4: Version 2.13
-
Section C.1.5: Version 2.12.02
-
Section C.1.6: Version 2.12.01
-
Section C.1.7: Version 2.12
-
Section C.1.8: Version 2.11.09
-
Section C.1.9: Version 2.11.08
-
Section C.1.10: Version 2.11.07
-
Section C.1.11: Version 2.11.06
-
Section C.1.12: Version 2.11.05
-
Section C.1.13: Version 2.11.04
-
Section C.1.14: Version 2.11.03
-
Section C.1.15: Version 2.11.02
-
Section C.1.16: Version 2.11.01
-
Section C.1.17: Version 2.11
-
Section C.1.18: Version 2.10.09
-
Section C.1.19: Version 2.10.08
-
Section C.1.20: Version 2.10.07
-
Section C.1.21: Version 2.10.06
-
Section C.1.22: Version 2.10.05
-
Section C.1.23: Version 2.10.04
-
Section C.1.24: Version 2.10.03
-
Section C.1.25: Version 2.10.02
-
Section C.1.26: Version 2.10.01
-
Section C.1.27: Version 2.10
-
Section C.1.28: Version 2.09.10
-
Section C.1.29: Version 2.09.09
-
Section C.1.30: Version 2.09.08
-
Section C.1.31: Version 2.09.07
-
Section C.1.32: Version 2.09.06
-
Section C.1.33: Version 2.09.05
-
Section C.1.34: Version 2.09.04
-
Section C.1.35: Version 2.09.03
-
Section C.1.36: Version 2.09.02
-
Section C.1.37: Version 2.09.01
-
Section C.1.38: Version 2.09
-
Section C.1.39: Version 2.08.02
-
Section C.1.40: Version 2.08.01
-
Section C.1.41: Version 2.08
-
Section C.1.42: Version 2.07
-
Section C.1.43: Version 2.06
-
Section C.1.44: Version 2.05.01
-
Section C.1.45: Version 2.05
-
Section C.1.46: Version 2.04
-
Section C.1.47: Version 2.03.01
-
Section C.1.48: Version 2.03
-
Section C.1.49: Version 2.02
-
Section C.1.50: Version 2.01
-
Section C.1.51: Version 2.00
-
Section C.2: NASM 0.98 Series
-
Section C.2.1: Version 0.98.39
-
Section C.2.2: Version 0.98.38
-
Section C.2.3: Version 0.98.37
-
Section C.2.4: Version 0.98.36
-
Section C.2.5: Version 0.98.35
-
Section C.2.6: Version 0.98.34
-
Section C.2.7: Version 0.98.33
-
Section C.2.8: Version 0.98.32
-
Section C.2.9: Version 0.98.31
-
Section C.2.10: Version 0.98.30
-
Section C.2.11: Version 0.98.28
-
Section C.2.12: Version 0.98.26
-
Section C.2.13: Version 0.98.25alt
-
Section C.2.14: Version 0.98.25
-
Section C.2.15: Version 0.98.24p1
-
Section C.2.16: Version 0.98.24
-
Section C.2.17: Version 0.98.23
-
Section C.2.18: Version 0.98.22
-
Section C.2.19: Version 0.98.21
-
Section C.2.20: Version 0.98.20
-
Section C.2.21: Version 0.98.19
-
Section C.2.22: Version 0.98.18
-
Section C.2.23: Version 0.98.17
-
Section C.2.24: Version 0.98.16
-
Section C.2.25: Version 0.98.15
-
Section C.2.26: Version 0.98.14
-
Section C.2.27: Version 0.98.13
-
Section C.2.28: Version 0.98.12
-
Section C.2.29: Version 0.98.11
-
Section C.2.30: Version 0.98.10
-
Section C.2.31: Version 0.98.09
-
Section C.2.32: Version 0.98.08
-
Section C.2.33: Version 0.98.09b with John Coffman patches released 28-Oct-2001
-
Section C.2.34: Version 0.98.07 released 01/28/01
-
Section C.2.35: Version 0.98.06f released 01/18/01
-
Section C.2.36: Version 0.98.06e released 01/09/01
-
Section C.2.37: Version 0.98p1
-
Section C.2.38: Version 0.98bf (bug-fixed)
-
Section C.2.39: Version 0.98.03 with John Coffman's changes released 27-Jul-2000
-
Section C.2.40: Version 0.98.03
-
Section C.2.41: Version 0.98
-
Section C.2.42: Version 0.98p9
-
Section C.2.43: Version 0.98p8
-
Section C.2.44: Version 0.98p7
-
Section C.2.45: Version 0.98p6
-
Section C.2.46: Version 0.98p3.7
-
Section C.2.47: Version 0.98p3.6
-
Section C.2.48: Version 0.98p3.5
-
Section C.2.49: Version 0.98p3.4
-
Section C.2.50: Version 0.98p3.3
-
Section C.2.51: Version 0.98p3.2
-
Section C.2.52: Version 0.98p3-hpa
-
Section C.2.53: Version 0.98 pre-release 3
-
Section C.2.54: Version 0.98 pre-release 2
-
Section C.2.55: Version 0.98 pre-release 1
-
Section C.3: NASM 0.9 Series
-
Section C.3.1: Version 0.97 released December 1997
-
Section C.3.2: Version 0.96 released November 1997
-
Section C.3.3: Version 0.95 released July 1997
-
Section C.3.4: Version 0.94 released April 1997
-
Section C.3.5: Version 0.93 released January 1997
-
Section C.3.6: Version 0.92 released January 1997
-
Section C.3.7: Version 0.91 released November 1996
-
Section C.3.8: Version 0.90 released October 1996
-
Appendix D: Building NASM from Source
-
Section D.1: Building from a Source Archive
-
Section D.2: Building from the
git
Repository
-
Appendix E: Contact Information
-
Section E.1: Website
-
Section E.1.1: User Forums
-
Section E.1.2: Development Community
-
Section E.2: Reporting Bugs