summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2007-10-16 14:40:27 -0700
committerH. Peter Anvin <hpa@zytor.com>2007-10-16 14:40:27 -0700
commitf6c9e65d4f906d0847ef747595de6495c92b9778 (patch)
tree2f37e73e9150c1e8699da19baa9b7deaad669216 /doc
parentfab3a6c9de9c56f1db7770c7c5e0271e33455ea2 (diff)
downloadnasm-f6c9e65d4f906d0847ef747595de6495c92b9778.tar.gz
nasm-f6c9e65d4f906d0847ef747595de6495c92b9778.tar.bz2
nasm-f6c9e65d4f906d0847ef747595de6495c92b9778.zip
Implement floating-point option control directive
New directive [FLOAT] with associated standard macros; allows the setting to be saved and restored.
Diffstat (limited to 'doc')
-rw-r--r--doc/nasmdoc.src30
1 files changed, 29 insertions, 1 deletions
diff --git a/doc/nasmdoc.src b/doc/nasmdoc.src
index f6616eb..66eaf10 100644
--- a/doc/nasmdoc.src
+++ b/doc/nasmdoc.src
@@ -3786,7 +3786,7 @@ Options are:
\b\c{CPU WILLAMETTE} Same as P4
-\b\c{CPU PRESCOTT} Prescott instruction set
+\b\c{CPU PRESCOTT} Prescott instruction set
\b\c{CPU X64} x86-64 (x64/AMD64/EM64T) instruction set
@@ -3797,6 +3797,34 @@ only if they apply to the selected CPU or lower. By default, all
instructions are available.
+\H{FLOAT} \i\c{FLOAT}: Handling of \I{floating-point, constants}floating-point constants
+
+By default, floating-point constants are rounded to nearest, and IEEE
+denormals are supported. The following options can be set to alter
+this behaviour:
+
+\b\c{FLOAT DAZ} Flush denormals to zero
+
+\b\c{FLOAT NODAZ} Do not flush denormals to zero (default)
+
+\b\c{FLOAT NEAR} Round to nearest (default)
+
+\b\c{FLOAT UP} Round up (toward +Infinity)
+
+\b\c{FLOAT DOWN} Round down (toward -Infinity)
+
+\b\c{FLOAT ZERO} Round toward zero
+
+\b\c{FLOAT DEFAULT} Restore default settings
+
+The standard macros \i\c{__FLOAT_DAZ__}, \i\c{__FLOAT_ROUND__}, and
+\i\c{__FLOAT__} contain the current state, as long as the programmer
+has avoided the use of the brackeded primitive form, (\c{[FLOAT]}).
+
+\c{__FLOAT__} contains the full set of floating-point settings; this
+value can be saved away and invoked later to restore the setting.
+
+
\C{outfmt} \i{Output Formats}
NASM is a portable assembler, designed to be able to compile on any