Commit Graph

299 Commits

Author SHA1 Message Date
H. Peter Anvin
1c10ad65fe nasmdoc.src: update copyright date 2016-02-08 10:34:09 -08:00
H. Peter Anvin
d24dd5fecc Remove the --allow-64-bits option and make it a warning
Remove the --allow-64-bits relocation, and instead make it a
suppressible warning in the case of a zero-extended relocation, and an
error in the case of a sign-extended relocation.

Relocations which can be losslessly represented in the output format
do not issue any diagnostic at all, as there is no problem in that
case.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2016-02-08 10:32:13 -08:00
Knut St. Osmundsen
3c72a1b3b3 Add option to allow 64-bit code in any output format
Add the option --allow-64-bit to permit the generation of 64-bit code
even for a 16/32-bit output format.

Using NASM to do some boot strapping code and ran into trouble when
trying to emit a few 64-bit instructions in the OMF object file doing
the mode switching.  While I can see how the "error: obj output format
does not support 64-bit code" message can be a useful reality check
for application programmers, it prevents low-level programmers from
doing what they want.  It if was just a harmless warning, it wouldn't
be so bad, but it turns BITS 64 into BITS 16. The main trick to mixing
64-bit code into OMF and other 32-bit output formats is to avoid
64-bit sized fixups, which normally isn't too hard.

[hpa: shortened the option name to --allow-64-bit, minor code cleanups]

Signed-off-by: Knut St. Osmundsen <bird-nasm@anduin.net>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2016-01-26 12:34:41 -08:00
Ciro Santilli
668e58dc69 doc: typo occationally
Signed-off-by: Ciro Santilli <ciro.santilli@gmail.com>
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2015-05-24 12:59:11 +03:00
Cyrill Gorcunov
85ec505d05 doc: Add missing closing brace
http://bugzilla.nasm.us/show_bug.cgi?id=3392284

Reported-by: Nick Rowan <nnrowan@gmail.com>
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2014-12-20 14:25:58 +03:00
H. Peter Anvin
febd5afc6d doc: Make it clear that --v is only in 2.11.05 and newer
... otherwise people might think it is preferred and use it
unnecessarily.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2014-05-21 23:00:12 -07:00
H. Peter Anvin
4ac3b025be doc: Document --v and duplicate REX prefix fix
Document changes for 2.11.05.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2014-05-21 08:28:21 -07:00
H. Peter Anvin
b2fcac9a1d doc: Document DEFAULT BND/NOBND in changes, add use case
Add DEFAULT BND/NOBND to the change history, and explain the use case.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2013-12-31 10:38:51 -08:00
Jin Kyu Song
26ddad67ca nosplit: Generate index-only EA only when a multiplier is used.
[nosplit eax] has been encoded as [eax*1+0] since 0.98.34.
But this seems like unexpected behavior.
So only when a register is multiplied, that will be treated
as an index. ([nosplit eax*1] -> [eax*1+0])
Document is updated accordingly.

Signed-off-by: Jin Kyu Song <jin.kyu.song@intel.com>
2013-12-18 22:38:44 -08:00
Jin Kyu Song
3d06af2bd9 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>
2013-12-18 22:37:30 -08:00
Jin Kyu Song
009e54e0a1 doc: Update nasmdoc
Added bnd warning and nobnd prefix. DEFAULT directive section
has got more description about BND-related settings.

Signed-off-by: Jin Kyu Song <jin.kyu.song@intel.com>
2013-12-04 20:51:13 -08:00
H. Peter Anvin
50137b8274 doc: Make the bit about mib operands a bit clearer
Clean up the text about what a mib is.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2013-11-28 21:26:26 -08:00
Jin Kyu Song
1ab16e4673 doc: Update the change history and nasmdoc
Added the list of features added since 2.10 release.
Nasmdoc is also updated with those new features.

Signed-off-by: Jin Kyu Song <jin.kyu.song@intel.com>
2013-11-27 15:43:32 -08:00
H. Peter Anvin
9d5461069d Add support for DZ and RESZ, document the ZWORD keyword
Add the DZ and RESZ pseudoinstructions and add ZWORD to the
documentation.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
2013-10-02 18:28:49 -07:00
Cyrill Gorcunov
f470011751 BR3392244: docs -- Fix "respectively" typo
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2013-04-28 15:07:38 +04:00
H. Peter Anvin
5534099473 When generate dependency names internally, quote filenames
Quote filenames for Make when generated for filenames internally.
Only skip quoting when using the -MT option (rather than -MQ).

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2012-09-09 17:09:00 -07:00
H. Peter Anvin
96eace3841 doc: document ifunc()
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2012-07-20 17:51:57 -07:00
H. Peter Anvin
36206cd378 preproc: Revert to the NASM 2.09 preprocessor
The NASM 2.09 preprocessor allows some illogical constructs, but which
unfortunately has been found in real code in the field.  We need
a compatibility solution or a pragma before we can avoid that.

However, we need the other features in NASM 2.10 to come out, so
revert the preprocessor changes for now.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2012-03-03 16:23:19 -08:00
H. Peter Anvin
38e57c5084 doc: Remove some ugliness from the win64 section
Clean up the formatting of the Win64 examples.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2012-02-25 15:50:32 -08:00
H. Peter Anvin
9fa2e72997 Add support for UTF-16BE and UTF-32BE
Add support for bigendian UTF-16 and UTF-32, and (for symmetry) add
explicitly littleendian operators.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2012-02-25 15:29:37 -08:00
H. Peter Anvin
5a24fdd547 Make the LOCK and HLE warnings suppressable.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2012-02-25 15:11:11 -08:00
H. Peter Anvin
c92aaa1d49 doc: Document elfx32 support
Document the new elfx32 backend.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2012-02-25 15:05:45 -08:00
H. Peter Anvin
80fd1a5f0d doc: Move the EPS logo down by 1"
The default page-centered position doesn't work too well with the
title and the new logo, so move the new logo down the page a bit.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2012-02-25 14:55:12 -08:00
H. Peter Anvin
8aa01db9b4 Update copyright year to 2012 2012-02-25 14:45:44 -08:00
Keith Kanios
099749292c doc: update documentation for pending 2.10 release 2011-07-30 13:14:18 -05:00
Cyrill Gorcunov
a4f98b3aab Merge branch 'nasm-2.09.xx'
Conflicts:
	nasm.h
	version

Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2011-04-06 19:12:17 +04:00
Cyrill Gorcunov
47e7ecda1b doc: Updates for stable branch fix
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2011-04-06 19:08:34 +04:00
Keith Kanios
02e49e0485 doc/nasmdoc.src: document additions from preprocessor-rewrite merge 2010-12-18 13:19:01 -06:00
Frank Kotler
582b3d0c70 BR3079777: Explain %00 in documentation
Signed-off-by: Frank Kotler <fbkotler@zytor.com>
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2010-10-27 21:41:19 +04:00
H. Peter Anvin
5129625225 Merge branch 'nasm-2.09.xx' 2010-10-06 16:28:43 -07:00
H. Peter Anvin
db6975919c doc: fix spelling of "compatibility"
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
2010-10-06 16:28:07 -07:00
Frank Kotler
9d0701ecbf BR3079777: Explain %00 in documentation
Signed-off-by: Frank Kotler <fbkotler@zytor.com>
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2010-10-05 18:41:11 +04:00
Cyrill Gorcunov
ccba110e69 doc/nasmdoc.src: Fix octal number prefix misprint
Reported-by: Anthony <anthony@cloudnet.com>
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2010-09-15 21:12:14 +04:00
Cyrill Gorcunov
9bcdd21efd doc/nasmdoc.src: Fix octal number prefix misprint
Reported-by: Anthony <anthony@cloudnet.com>
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2010-09-10 22:40:27 +04:00
H. Peter Anvin
2d3dce2fd7 doc: document the %use fp macro package
Documentation for %use fp was missing...

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2010-08-24 09:55:27 -07:00
Cyrill Gorcunov
84a9e308c3 doc: Update -O option description
We use -Ox by default since Nasm-2.09 so "-O0" is not
longer "default" option. But first paragraph still has
the reference which confuses people. Get rid of it.

Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2010-08-16 13:53:22 +04:00
Keith Kanios
c71cb6b72a doc/nasmdoc.src: revamped context fall-through entry 2010-08-14 12:36:49 -05:00
Cyrill Gorcunov
e1b6e5712b doc: Describe context-through lookup
Feel free to update this text as well,
and check it please for being more/less
readable.

CC: Keith Kanios <keith@kanios.net>
CC: "H. Peter Anvin" <hpa@zytor.com>
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2010-08-13 12:32:53 +04:00
Cyrill Gorcunov
8cb43d3f68 sectalign: Implement on/off mode
And describe it in documentation. We've introduced
sectalign in 2.09rc series and have to provide an
ability to steer this feature.

Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2010-08-12 19:09:28 +04:00
Cyrill Gorcunov
e091d6ed62 BR3041451: Implement upper bound for %rep counter
Since %rep counter is a 64 bit signed integer we have to use some
"maximum possible value" limit (upper bound) otherwise there may be
a situation when %rep counter is 0 or even negative while user
has been passing big positive integer value.

Reported-by: nasm64developer
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2010-08-09 18:35:35 +04:00
Cyrill Gorcunov
dea6c7a974 doc: Updates on macro ranges
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2010-07-28 18:00:24 +04:00
Cyrill Gorcunov
407e6c707f doc: Explain SECTALIGN
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2010-07-28 17:59:49 +04:00
Cyrill Gorcunov
455e087c6a doc: Fix ..sym section name misprint
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2010-07-27 01:48:27 +04:00
H. Peter Anvin
ab5bd05d82 Revert "Improve process_ea and introduce -OL"
This reverts commit ac732cb6a5.

Resolved Conflicts:

	doc/nasmdoc.src

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2010-07-25 12:43:30 -07:00
Victor van den Elzen
b8e699fb3d Remove redundant sentence in docs 2010-07-24 22:24:15 +02:00
Victor van den Elzen
ac732cb6a5 Improve process_ea and introduce -OL
Two fixes:
1. Optimization of [bx+0xFFFF] etc
   0xFFFF is an sbyte under 16-bit semantics,
   so make sure to check it right.

2. Don't optimize displacements in -O0
   Displacements that fit into an sbyte or
   can be removed should *not* be optimized in -O0.

   Implicit zero displacements are still optimized, e.g.:
   [eax] -> 0 bit displacement, [ebp] -> 8 bit displacement.
   However explicit displacements are not optimized:
   [eax+0] -> 32 bit displacement, [ebp+0] -> 32 bit displacement.

Because #2 breaks compatibility with 0.98,
I introduced a new optimization level: -OL, legacy.
2010-07-24 22:00:12 +02:00
H. Peter Anvin
077fb93d2b preproc: allow non-identifier character in environment variables
Allow non-identifier characters in the name of environment variables,
by surrounding them with string quotes (subject to ordinary
string-quoting rules.)

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
2010-07-20 14:56:30 -07:00
H. Peter Anvin
6c74498114 nasmdoc: we still miss Chuck, but...
We still miss Chuck, but I don't think we can really say anymore we're
doing this particular release in his memory.

Requiescat in pace, our friend.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2010-07-15 22:51:26 -07:00
H. Peter Anvin
31387b2d04 Make -Ox the default
Make -Ox the default; it's the optimization level expected by most
users, and it is clearly still causing confusion that it has to be
specified manually.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2010-07-15 18:30:18 -07:00
Bryant Keller
a537d4964e Documentation: describe %ifenv and friends
Signed-off-by: Bryant Keller <bkeller@assembly.ath.cx>
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2010-07-13 23:49:39 +04:00