Commit Graph

415 Commits

Author SHA1 Message Date
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
Cyrill Gorcunov
088d151130 doc: Update changes.src
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2010-07-23 18:57:40 +04: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
Cyrill Gorcunov
aed4eaa8f3 changes.src: Fix misprint in "instructions" word.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2010-07-17 18:24:13 +04: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
abe61900e4 Merge branch 'nasm-2.08.xx'
Resolved Conflicts:
	version

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2010-07-15 22:45:04 -07:00
H. Peter Anvin
5bc03271bd changes.src: update with the 2.08.xx changes
Patchlevels should be documented, too...

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2010-07-15 22:44:03 -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
Cyrill Gorcunov
702df6d6cc Update changes.src
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2010-07-13 21:17:54 +04:00
Cyrill Gorcunov
924df0d498 Documentation updates
Various small fixes.

Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2010-07-13 21:17:03 +04:00
H. Peter Anvin
dc2152ed0a nasmdoc: remove obsolete Sourceforge references
Remove obsolete Sourceforge references, replace with nasm.us.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2010-07-09 19:04:59 -07:00
Cyrill Gorcunov
f2c1cb06e0 doc: Update changes.src
Before soon-coming 2.09rc2.

Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2010-07-07 01:48:33 +04:00
H. Peter Anvin
0d55110313 doc: inslist.src is an intermediate file, move to "make clean"
inslist.src is an intermediate file, it should be in "make clean"
rather than "make spotless"; otherwise it ends up in the xdoc tarball.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
2010-06-25 13:40:10 -07:00
Cyrill Gorcunov
640edfd784 nasmdoc: Document macro parameters range
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2010-06-05 11:24:59 +04:00
H. Peter Anvin
19cbe0c1c4 nasmdoc: document octal/binary floating-point
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
2010-05-07 13:21:20 -07:00
H. Peter Anvin
c8d8a13cde nasmdoc: add missing comma
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
2010-05-07 13:14:45 -07:00
H. Peter Anvin
26bb8890ef nasmdoc: update the full set of numeric prefix/suffix characters.
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
2010-05-07 13:12:12 -07:00
H. Peter Anvin
671a19600c doc: use bouncer URLs for the ABI docs
MSDN can't seem to keep their URLs stable, so use bouncer links
that we can change if necessary.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2010-04-22 10:50:51 -07:00
Cyrill Gorcunov
92aa187f3a smartalign: Introduce nojmp mode
This allows to force nasm to generate multibyte
NOPs without jmp injected.

Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2010-04-21 01:06:53 +04:00
Cyrill Gorcunov
376b8106d2 nasmdoc.src: Refer to ..imagebase in special symbols area
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2010-04-10 00:02:51 +04:00
Cyrill Gorcunov
90bb2850fa doc/changes.src: Restore empty line.
Due to previous commit empty line was occasionally
removed which make text harder to read. Restore it.

Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2010-03-03 23:15:25 +03:00
Cyrill Gorcunov
3dce1e162d Update doc/changes.src
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2010-03-03 23:13:48 +03:00
Cyrill Gorcunov
f09116f445 preproc.c: Turn off rmacro,exitmacro support
We've a problem in supporting [i]rmacro, exitmacro
facilities at moment.

In a sake of not holding new NASM release any longer these
directives are just marked as being "forbidden".

This allow us to not squash much changes in current source
code base but remain on a safe side same time.

Reviewed-by: Keith Kanios <keith@kanios.net>
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2010-02-28 12:24:20 +03:00
Cyrill Gorcunov
1579c88185 Revert "doc/nasmdoc.src: Get rid of id length restriction"
This reverts commit 3012d5d430.

nasm64developer pointed out that we still have this
limit in label.c (IDLEN_MAX).

Reported-by: nasm64developer
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2010-02-17 01:21:54 +03:00
Cyrill Gorcunov
3012d5d430 doc/nasmdoc.src: Get rid of id length restriction
We always allocate enough memory to hold identifiers
with any length. So lets remove restriction from
documentation.

Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2010-02-17 00:08:55 +03:00
Cyrill Gorcunov
2e624179ad doc/nasmdoc.src: Point to the correct license file
There is no "COPYING" but "LICENSE" file.

Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2010-02-17 00:08:36 +03:00
Cyrill Gorcunov
e2063ab9e4 doc/nasmdoc.src: It's 2010 already
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2010-02-17 00:08:28 +03:00
H. Peter Anvin
3af3779826 doc/changes.src: update in preparation of 2.08 release
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2010-02-15 10:15:53 -08:00
Cyrill Gorcunov
7ce4250a63 doc/nasmdoc.src: Delete misplaced "point" sign
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2010-02-10 23:31:03 +03:00
Cyrill Gorcunov
7a8098c7cb doc/changes.src: Update changes
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2010-01-03 15:41:22 +03:00
Cyrill Gorcunov
3e73cfc8b7 doc/nasmdoc.src: Update the number of sync points in docs
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2009-12-22 23:42:07 +03:00
Cyrill Gorcunov
78debd0a57 doc/changes.src: describe changes
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2009-12-13 14:13:35 +03:00
H. Peter Anvin
5792483c7d changes.src: document removal of DREX instructions
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2009-11-09 14:58:45 -08:00
Cyrill Gorcunov
b9771908b6 Document BR 2887108 in changes.src
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2009-11-06 22:00:45 +03:00
Keith Kanios
4ea846623a changes.src: document preprocessor directives added since 2.07
nasmdoc.src: document %exitmacro
2009-10-25 14:06:24 -05:00
Cyrill Gorcunov
66ba8cdba1 changes.src: describe changes since version 2.07 up to 2.08rc1
There are already new commits which fix other bugs
but at moment only changes up to 2.08rc1.

Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2009-10-18 01:09:40 +04:00
Cyrill Gorcunov
946debb627 doc/nasmdoc.src: NASMENV -- fixup backslashes
−i option (include file search directories) should
contain trailing slash.

Reported-by: Frank Kotler <fbkotler@zytor.com>
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2009-09-26 01:06:18 +04:00
H. Peter Anvin
a5547dcb74 doc: \ needs to be repeated except in \c-line context; daily snapshots
Fix case where \\ needs to be written as \\\\ in order to appear as a
double backslash.  Also add mention of release candidates and
snapshots.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2009-08-02 14:16:07 -07:00
H. Peter Anvin
80d0fd371f Merge branch 'master' into new-preproc 2009-07-16 10:18:43 -04:00
H. Peter Anvin
a99c98470e changes: it's not just invalid UTF-8 sequences that are affected...
It isn't just invalid UTF-8 sequences that are affected; it is in fact
any high-bit bytes (we don't ever try to construct UTF-8 characters,
just deconstruct them.)

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2009-07-15 17:43:32 -04:00
H. Peter Anvin
67d520c7fa Merge branch 'master' into new-preproc 2009-07-15 16:32:49 -04:00
H. Peter Anvin
cc6ee1acf2 changes: document fixed crash on invalid UTF-8 sequences
Document nasm_quote() fixes.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2009-07-15 16:31:55 -04:00
H. Peter Anvin
62f2863860 doc: use consistent title case
Section titles are in title case and don't end with a period.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2009-07-15 09:27:10 -04:00
H. Peter Anvin
9bd5e12f53 doc: fix formatting of the bin multisection header
"Multisection" is not a keyword...

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2009-07-15 09:21:01 -04:00
Keith Kanios
d37a38c359 pptok: change %rimacro to %irmacro
preproc: change PP_RIMACRO to PP_IRMACRO
nasmdoc: add entries for %[i]deftok and %[i]rmacro
2009-07-14 21:00:40 -05:00
H. Peter Anvin
a6e25b5356 Document macho64 output format
At least mention the 64-bit macho format in the documentation.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2009-07-08 21:42:18 -07:00
H. Peter Anvin
a7a14b2fcb changes: document listing fix
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2009-07-07 16:08:56 -07:00
H. Peter Anvin
e227fe6f80 changes: add Mach-O alignment issue fix
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2009-07-06 19:27:33 -07:00
H. Peter Anvin
83b942d3e1 changes: document %+ behavior revert
Revert to original %+ behavior.  This is what we really wanted in the
first place, except this time we have fixed some bugs.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2009-07-06 19:00:08 -07:00
H. Peter Anvin
fba06d2719 changes.src: document user-visible changes
Update user-visible changes so far.  Since I consider the license
change alone to be big enough of a deal to justify a "real" version
number, make this version 2.07.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2009-07-06 11:28:12 -07:00
H. Peter Anvin
ecfba9d6ab doc: update license and contact information
Update license information to 2-BSD; update contact information.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2009-07-06 11:22:58 -07:00
H. Peter Anvin
7ae512b5a8 More "make install" fixes... 2009-07-05 18:48:50 -07:00
H. Peter Anvin
224c9ac063 doc: S-records seems to usually be pluralized
Call it "S-records" not "S-record".

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2009-07-05 15:46:42 -07:00
H. Peter Anvin
d78fc550b8 doc: srec produces S-records, not Intel hex...
Copy and paste accident...

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2009-07-05 15:45:45 -07:00
H. Peter Anvin
fc87e65aec doc: use the term "extensions" to mean of-specific anything
We seem to use the term "extensions" to mean anything that is specific
to an object format, so continue to do so.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2009-07-05 15:44:38 -07:00
H. Peter Anvin
8a3686287d doc: fix capitalization
Consistently capitalize NASM.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2009-07-05 15:43:23 -07:00
H. Peter Anvin
4660a2b4a0 outbin: add support for Intel hex and Motorola S-records
Add support for directly generating Intel hex or Motorola S-records.
These formats are commonly used with ROM burners.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2009-07-05 15:29:55 -07:00
H. Peter Anvin
c940afc103 In memory of Chuck...
Let the 2.06 release be in memory of Chuck.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2009-06-28 17:12:37 -07:00
H. Peter Anvin
8e471da71d Add copyright header to nasmdoc.src
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2009-06-28 17:00:48 -07:00
H. Peter Anvin
e6ee1a859b Add copyright verbiage to Perl scripts; update LICENSE
This adds copyright verbiage to the Perl scripts.  Scripts that are
known to be clean w.r.t. the 2-clause BSD license are given that
license; unclear ones are given the "LGPL for now".

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2009-06-28 16:54:44 -07:00
H. Peter Anvin
31b707bef0 Move backend-specific code to output/; break out null debug stuff
Move backend-specific code into the output/ directory, and make the
null debugging backend a separate file (it certainly isn't needed for
ndisasm...)

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2009-06-27 22:07:33 -07:00
H. Peter Anvin
c4471462dc ELF: eliminate hard-coded section numbers
Eliminiate hard-coded section numbers, at least to the best of our
ability.  There is still a very odd piece of computation in
elf_build_reltab() which I can't really figure out...

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2009-06-25 14:54:44 -07:00
H. Peter Anvin
d219a3e46f ELF: add header files, begin merging common code, drop .comment
Add something approaching real ELF header files.

Begin merging the common ELF code, beginning with the section name
detection.

Drop automatic generation of .comment section, and in particular the
treatment of .common as a special section (if we decide generating
.comment is still a good idea, we should just do it as a macro.)

Augment the list of known sections, and make it table-driven.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2009-06-25 12:30:50 -07:00
H. Peter Anvin
883735f4c3 changes.src: update 2009-06-25 11:23:37 -07:00
H. Peter Anvin
a5e0279cbd changes.src: fix some odd spacing 2009-06-24 16:50:54 -07:00
H. Peter Anvin
b9cc7f1449 doc: use NASM syntax for x87 registers
The x87 registers are called ST0 and ST1 in NASM syntax, not ST(0) and
ST(1).

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2009-05-23 16:25:14 -07:00
H. Peter Anvin
03b9f94133 doc: remove insref.src
Remove the old, obsolete insref.src.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2009-05-08 17:56:59 -07:00
H. Peter Anvin
6ca419e7c5 doc: slightly tidy the copyright page of the manual. 2009-04-19 17:26:09 -07:00
H. Peter Anvin
9c7f3f5608 Document preprocessor token concatenation fix. 2009-04-07 22:09:05 -07:00
Victor van den Elzen
b32536cc53 Add STRUC change to changes.src 2009-03-29 03:09:13 +02:00
Victor van den Elzen
56b820355c FR 2499968: structures with non-zero base offset
Add an optional second argument to struc, document it and test it.
Also removed trailing whitespace in nasmdoc.src in the process.
2009-03-27 03:53:59 +01:00
H. Peter Anvin
875138830b changes.src: document WAIT and %$$ fixes 2009-02-21 18:26:20 -08:00
H. Peter Anvin
e8a3e6278a changes.src: document updated AVX specification 2009-02-18 14:13:25 -08:00
Soronel Haetir
e5fdc60c2b Document the as86 ..start label
I realized that a documentation change is required to inform users about the
addition of entry point support for the as86 format.  The following produces
reasonable output for .txt output, but I am blind and so can't check the
other formats as readily.
2009-01-21 15:30:27 -08:00
H. Peter Anvin
3e8ac5366f doc: clean up the "String Manipulation in Macros" section
Minor cleanups to the "String Manipulation in Macros" section.
2009-01-18 23:04:45 -08:00
H. Peter Anvin
33a5ad1f8e doc: indent the time macro example
Indent the time macro example for ease of reading.
2009-01-18 22:59:13 -08:00
H. Peter Anvin
bed44b3889 doc: fix typo
verson -> version
2009-01-18 22:55:53 -08:00
H. Peter Anvin
55a9c08dac doc: update the section on numeric constants
Update the section on numeric constants, and add a few more examples.
2009-01-18 22:51:46 -08:00
H. Peter Anvin
fd925d9512 changes.src: document Mach-O alignment fix. 2008-12-22 16:37:59 -08:00
H. Peter Anvin
674788166f changes.src: document POPCNT fix.
Add POPCNT fix to release notes.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2008-11-06 09:42:11 -08:00
H. Peter Anvin
da05001506 doc: better description of %line
The implication that %line allows NASM to digest cpp output is just
plain wrong, at least without additional intermediate processing.  Be
a little more circumspect.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2008-11-05 15:55:40 -08:00
H. Peter Anvin
67a405e2f4 changes.src: document if for %ifmacro.
Document fixed %ifmacro.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2008-11-04 14:26:32 -08:00
H. Peter Anvin
e263d04544 doc/changes.src: document ELF TLS
Add ELF TLS to the release notes.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2008-11-02 20:41:29 -08:00
H. Peter Anvin
76fab7ab17 doc: minor edit to the TLS documentation examples.
Minimize the TLS documentation examples (we don't need "dword" in a
mov from ebx, for example.)  This is just to avoid user confusion.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2008-11-02 20:40:16 -08:00
Charles Crayne
81afb49809 Document differences between TLS coding in ELF32 and ELF64
Absolute relocation wrt ..tlsie for ELF32
Relative relocation wrt ..gottpoff for ELF64
2008-11-01 17:09:36 -07:00
H. Peter Anvin
8321866bb5 doc: cross-reference macro parameter concatenation with %[...]
Explicitly document that %[...] and macro parameters concatenate the
same way, and cross-reference the two.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2008-10-29 21:02:30 -07:00
H. Peter Anvin
6c9f6f8e3d doc: fix typo in the description of %unmacro
The description of %unmacro used %unmacro in a place which should
obviously have been %macro.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2008-10-29 20:46:30 -07:00
H. Peter Anvin
2d9ceaa3ee doc: fix capitalization
Make the capitalization of "The -t Option" consistent with the other
options.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2008-10-29 18:17:59 -07:00
H. Peter Anvin
b7aaf0b9e5 doc: remove duplicate entry for the "error" warning class
Remove duplicate entry for the "error" warning class; leave at the end
with "all", as being another meta-warning class.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2008-10-29 18:16:31 -07:00
H. Peter Anvin
8a2f145260 doc: retroactively document updates to the warning options
Retroactively document the following changes to the warning options:

  - gcc-like syntax (-Wfoo, -Wno-foo)
  - "all" alias
  - "error" metawarning

Added in 2.00rc1 but never documented.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2008-10-29 18:14:03 -07:00
H. Peter Anvin
fd366a9db4 Merge commit 'nasm-2.05.01'
Conflicts:
	doc/changes.src
2008-10-29 10:53:37 -07:00
H. Peter Anvin
7714ced1d9 doc/changes.src: document -W/-w fix as a NASM 2.05.01 feature.
Make -W/-w fix a release note for NASM 2.05.01.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2008-10-29 10:51:51 -07:00
Charles Crayne
ee5245a9f2 Initial documentation for ELF64 TLS
More to come.
2008-10-27 22:53:40 -07:00
H. Peter Anvin
c83f9de3b4 doc/changes.src: retroactively document anonymous %push
Retroactively document the anonymous %push, which was added in version
2.04 but not documented.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2008-10-24 16:53:53 -07:00
H. Peter Anvin
264b7b982c preproc: don't macro-expand the argument to %use
Use expand_id() for the argument to %use, instead of expand_smacro().
This really makes more sense for a "naked" argument.  This is a
semantic change, but is unlikely to break any real code.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2008-10-24 16:38:17 -07:00
H. Peter Anvin
0b7d903ec8 doc: document %pop with argument
Document that %pop can now take an argument, and what it does.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2008-10-24 16:27:11 -07:00
H. Peter Anvin
59c2e54f25 doc: document anonymous %push
The anonymous %push was never documented, document it now.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2008-10-24 16:19:03 -07:00
H. Peter Anvin
b34fce7111 doc/changes.src: begin the release notes for 2.06
The next version will presumably be called 2.06; begin collecting
release notes.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2008-10-24 16:05:19 -07:00