summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorJin Kyu Song <jin.kyu.song@intel.com>2013-12-18 21:28:41 -0800
committerJin Kyu Song <jin.kyu.song@intel.com>2013-12-18 22:37:30 -0800
commit3d06af2bd998cd06c99b7e63a8166a11f7ac798f (patch)
treea311e40f48642d86103d3a1b9628a36bc63238d2 /doc
parent97f6faec62979ef5db9c0f4b42e127f4f913115e (diff)
downloadnasm-3d06af2bd998cd06c99b7e63a8166a11f7ac798f.tar.gz
nasm-3d06af2bd998cd06c99b7e63a8166a11f7ac798f.tar.bz2
nasm-3d06af2bd998cd06c99b7e63a8166a11f7ac798f.zip
nosplit: Limit the effect of NOSPLIT
[nosplit eax+eax] was encoded [eax*2] previously but this seems against the user's intention. So in this case, nosplit is ignored now and [eax+eax] will be generated. Document is also updated accordingly. Signed-off-by: Jin Kyu Song <jin.kyu.song@intel.com>
Diffstat (limited to 'doc')
-rw-r--r--doc/nasmdoc.src6
1 files changed, 4 insertions, 2 deletions
diff --git a/doc/nasmdoc.src b/doc/nasmdoc.src
index 327e3cf..8554a34 100644
--- a/doc/nasmdoc.src
+++ b/doc/nasmdoc.src
@@ -1460,6 +1460,8 @@ fact, it will also split \c{[eax*2+offset]} into
\c{[eax+eax+offset]}. You can combat this behaviour by the use of
the \c{NOSPLIT} keyword: \c{[nosplit eax*2]} will force
\c{[eax*2+0]} to be generated literally.
+However, \c{NOSPLIT} in \c{[nosplit eax+eax]} will be ignored because user's
+intention here is considered as \c{[eax+eax]}.
In 64-bit mode, NASM will by default generate absolute addresses. The
\i\c{REL} keyword makes it produce \c{RIP}-relative addresses. Since
@@ -4465,8 +4467,8 @@ be used.
\c call foo ; BND will be prefixed
\c nobnd call foo ; BND will NOT be prefixed
-DEFAULT NOBND can disable DEFAULT BND and then \c{BND} prefix will be added
-only when explicitly specified in code.
+\c{DEFAULT NOBND} can disable \c{DEFAULT BND} and then \c{BND} prefix will be
+added only when explicitly specified in code.
\H{section} \i\c{SECTION} or \i\c{SEGMENT}: Changing and \i{Defining
Sections}