path: root/doc
diff options
authorH. Peter Anvin (Intel) <hpa@zytor.com>2018-12-14 13:23:17 -0800
committerH. Peter Anvin (Intel) <hpa@zytor.com>2018-12-14 13:24:19 -0800
commit727c85263fd07dd2a4db77f17a2b2dfbdca79458 (patch)
tree83bce529ba35e7fbdc4825e40eb8c2b221c139fc /doc
parentb79b72fc254941c068d34fa2293bb9dba45c3501 (diff)
parentbc7f5fd93c55ef9fdb5e6c0ef7403a383bee841e (diff)
Merge tag 'nasm-2.14.01rc5'
NASM 2.14.01rc5 Resolved Conflicts: asm/labels.c asm/nasm.c version
Diffstat (limited to 'doc')
2 files changed, 27 insertions, 17 deletions
diff --git a/doc/changes.src b/doc/changes.src
index 8e0bc060..d279b0ad 100644
--- a/doc/changes.src
+++ b/doc/changes.src
@@ -37,6 +37,9 @@ failure instead which is very slow and not easy to debug.
\b Duplicate definitions of the same label \e{with the same value} is now
explicitly permitted (2.14 would allow it in some circumstances.)
+\b Add the option \c{--no-line} to ignore \c{%line} directives in the
+source. See \k{opt-no-line} and \k{line}.
\S{cl-2.14} Version 2.14
\b Changed \c{-I} option semantics by adding a trailing path separator
diff --git a/doc/nasmdoc.src b/doc/nasmdoc.src
index 7c7a75aa..5ce113a2 100644
--- a/doc/nasmdoc.src
+++ b/doc/nasmdoc.src
@@ -368,10 +368,10 @@ To get further usage instructions from NASM, try typing
\c nasm -h
-\c{--help} option is also the same.
+The option \c{--help} is an alias for the \c{-h} option.
-As \c{-hf}, this will also list the available output file formats, and what they
+The option \c{-hf} will also list the available output file formats,
+and what they are.
If you use Linux but aren't sure whether your system is \c{a.out}
or \c{ELF}, type
@@ -746,7 +746,9 @@ with a \i{stub preprocessor} which does nothing.
\S{opt-O} The \i\c{-O} Option: Specifying \i{Multipass Optimization}
Using the \c{-O} option, you can tell NASM to carry out different
-levels of optimization. The syntax is:
+levels of optimization. Multiple flags can be specified after the
+\c{-O} options, some of which can be combined in a single option,
+e.g. \c{-Oxv}.
\b \c{-O0}: No optimization. All operands take their long forms,
if a short form is not specified, except conditional jumps.
@@ -764,6 +766,9 @@ levels of optimization. The syntax is:
releases, the letter \c{x} may also be any number greater than
one. This number has no effect on the actual number of passes.
+\b \c{-Ov}: At the end of assembly, print the number of passes
+ actually executed.
The \c{-Ox} mode is recommended for most uses, and is the default
since NASM 2.09.
@@ -917,7 +922,14 @@ In example, running this limits the maximum line count to be 1000.
\S{opt-keep-all} The \i\c{--keep-all} Option
-This option doesn't delete any output files even if an error happens.
+This option prevents NASM from deleting any output files even if an
+error happens.
+\S{opt-no-line} The \i\c{--no-line} Option
+If this option is given, all \i\c{%line} directives in the source code
+are ignored. This can be useful for debugging already preprocessed
+code. See \k{line}.
\S{nasmenv} The \i\c{NASMENV} \i{Environment} Variable
@@ -3672,15 +3684,6 @@ the user. For example:
\H{otherpreproc} \i{Other Preprocessor Directives}
-NASM also has preprocessor directives which allow access to
-information from external sources. Currently they include:
-\b\c{%line} enables NASM to correctly handle the output of another
-preprocessor (see \k{line}).
-\b\c{%!} enables NASM to read in the value of an environment variable,
-which can then be used in your program (see \k{getenv}).
\S{line} \i\c{%line} Directive
The \c{%line} directive is used to notify NASM that the input line
@@ -3691,9 +3694,9 @@ directive allows NASM to output messages which indicate the line
number of the original source file, instead of the file that is being
read by NASM.
-This preprocessor directive is not generally of use to programmers,
-by may be of interest to preprocessor authors. The usage of the
-\c{%line} preprocessor directive is as follows:
+This preprocessor directive is not generally used directly by
+programmers, but may be of interest to preprocessor authors. The
+usage of the \c{%line} preprocessor directive is as follows:
\c %line nnn[+mmm] [filename]
@@ -3708,6 +3711,10 @@ After reading a \c{%line} preprocessor directive, NASM will report
all file name and line numbers relative to the values specified
+If the command line option \i\c{--no-line} is given, all \c{%line}
+directives are ignored. This may be useful for debugging preprocessed
+code. See \k{opt-no-line}.
\S{getenv} \i\c{%!}\e{variable}: Read an Environment Variable.