0
0
mirror of https://github.com/netwide-assembler/nasm.git synced 2025-10-10 00:25:06 -04:00
Commit Graph

827 Commits

Author SHA1 Message Date
H. Peter Anvin
b18e870d90 Merge remote-tracking branch 'ElyesH/typos' 2022-11-07 12:39:44 -08:00
Kai Burghardt
d88660fc1e document %imacro%unimacro (case-insensitive)
There is no documentation of the `%unimacro` directive.
This is particularly confusing when you’re trying to remove a macro
that has previously been defined with the `%imacro` directive.
2022-10-09 19:24:41 +00:00
chengzhycn
b972792938 fix/doc: correct SourceCodePro and SourceSansPro fonts' names
Signed-off-by: chengzhycn <chengzhycn@gmail.com>
2022-02-15 17:40:20 +08:00
Elyes HAOUAS
cdf7ad02c2 Fix some typos
while on it, remove unneeded white spaces.

Signed-off-by: Elyes HAOUAS <ehaouas@noos.fr>
2022-01-09 17:34:35 +01:00
Igor Glucksmann
3f9fc2a3a7 docs: Update comdat section attribute
Signed-off-by: "Glücksmann, Igor" <igor.glucksmann@avast.com>
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2021-12-17 23:45:51 +03:00
Cyrill Gorcunov
e7c2f0e51c doc/changes: Document rdf header fix
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2020-10-10 13:36:54 +03:00
H. Peter Anvin (Intel)
52848e8aba doc: improve documentation of %ifid et al
Clarify some of the semantics of %ifid, %ifnum, and %ifstr.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2020-09-11 16:28:57 -07:00
H. Peter Anvin (Intel)
bf79786e89 Add option to create reproducible output
We need the ability to produce consistent output for our own tests,
anyway, so make this a user-accessible feature. This was requested in
BR 3392635.

This obsoletes the NASM_TEST_RUN environment variable; simply use the
normal NASMENV environment variable instead.

The .obj tests in travis needed to be updated in order to remove the
rather pointless suffix " CONST" from the NASM signatures.

Reported-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2020-08-27 13:06:08 -07:00
H. Peter Anvin (Intel)
2b4886afdd BR 3392715: fix %ifid with $ and $$
%ifid $ and %ifid $$ has traditionally been false, revert to that
behavior.

Reported-by: Mike Hommey <mh+anfz@glandium.org>
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2020-08-27 11:43:08 -07:00
H. Peter Anvin (Intel)
6dc8379d6a rdoff: disable broken backend, document deprecation
The RDOFF backend has been broken since at least NASM 2.14, throwing
an immediate assert. Since only one person appears to have even
noticed, and fixing it properly looks like it would take quite a bit
of work, disable this back end and document its deprecation.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2020-08-17 15:26:11 -07:00
H. Peter Anvin (Intel)
235a115130 doc: document long-standing restrictions in the use of $ in Dx
$ in data expressions is hazardous. A proper fix for this turns out to
be quite complex, as it requires the expression engine to propagate
additional data. For now, just put it into the documentation.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2020-08-17 15:10:26 -07:00
H. Peter Anvin
d988ce719c Fix inefficient encoding of MPX instructions
BNDMK, BNDLDX, and BNDSTX are split-SIB (MIB) instructions, but do
*not* require a SIB encoding. However, TILELOAD* and TILESTORE* *do*
require a SIB in all cases. Split the MIB flag into MIB (split
address) and SIB (SIB required) flags.

This fixes travis test mpx.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2020-08-13 17:21:00 -07:00
H. Peter Anvin
7839766663 eval, float: fix the __float80e__ and __float128h__ conversions
We need to add the byte offset into the floating-point value to get
the correct result for these floating point to integer conversions.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2020-08-13 13:41:46 -07:00
H. Peter Anvin (Intel)
0e6e013813 nasm: don't make -L+ imply -Lw
-Lw really is only useful to debug NASM crashes, and can hugely slow
down the assembler. Make -L+ simply imply full verbosity; if NASM
crashes use -Lw+ instead.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2020-07-30 15:25:00 -07:00
H. Peter Anvin (Intel)
e743b89f25 BR 2292703: Add memory sizes to SSE and some other instructions
Most SSE instructions were missing memory operand sizes, resulting in
error if a memory operand was specified with explicit size.

Reported-by: <nemeth.marton@hotmail.com>
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2020-07-27 13:20:38 -07:00
H. Peter Anvin (Intel)
421e4d03ea changes.src: document COFF alignment fix
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2020-07-27 12:36:36 -07:00
H. Peter Anvin
92d40ad8e4 nasmdoc.src: document when $*? and $*?? were introduced
It is important for programmers to be able to know when new constructs
were introduced, as they may have backwards compatibility needs and
thus need to know to avoid a construct that is too new.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2020-07-18 13:49:58 -07:00
H. Peter Anvin
6263a2a4c2 preproc: add %*? and %*??
The %? and %?? tokens are ambiguous when used inside a multi-line
macro. Add tokens %*? and %*?? that only expand during single-macro
expansion.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2020-07-18 13:47:59 -07:00
H. Peter Anvin
d76663a637 doc: one more copyright year issue. Add metadata macros to fix.
Yet another place in the documentation where the copyright year comes
in. Instead of having to deal with it manually over and over, add
support for inserting the metadata strings as macros in the output.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2020-07-17 19:48:36 -07:00
H. Peter Anvin
2d53846aab doc/nasmdoc.src: update copyright year
Updating the copyright year in the header isn't sufficient. To make it
harder to mess up, move the year metadata tag to the header just below
the copyright statement itself.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2020-07-17 19:33:52 -07:00
H. Peter Anvin
8ce4a58b1a rdsrc.pl: allow code paragraphs up to 80 characters long
All the backends support code paragraphs 80+ characters wide (85 for
HTML, 90 for PDF) without overrunning the margins. Avoid the noise.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2020-07-17 18:12:34 -07:00
H. Peter Anvin
20be7aaa28 doc/pspdf.pl: remove .setpdfwrite from gs command line
Ghostscript no longer recommends adding the .setpdfwrite operator when
producing PDF; in fact:

.setpdfwrite
    This operator is now deprecated, and its use is discouraged

Presumably it was never actually necessary, so just drop it.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2020-07-17 18:02:49 -07:00
H. Peter Anvin
ec20417002 changes.src: slighly better description of new instructions
Describe what the new instructions actually are.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2020-07-17 17:46:45 -07:00
H. Peter Anvin
d081f0db5d fp: support bfloat16 constants
Support generating bfloat16 constants. This is a bit awkward, as "DW"
already generates IEEE half precision constants; therefore there is no
longer a single floating-point format for each size. This requires
some replumbing.

Fortunately bfloat16 fits in 64 bits, so support generating them with
a macro that uses __?bfloat16?__() to convert to integers first before
passing them to DW.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2020-07-16 23:11:03 -07:00
H. Peter Anvin
b31a4c9906 Add support for new instructions from ISE June 2020
Add support for new instructions as defined in the Instruction Set
Extensions manual as of June 2020.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2020-07-16 21:52:15 -07:00
H. Peter Anvin (Intel)
d9ea17fb47 preproc: saner handling of cpp-style line directives
NASM now supports a proper superset of cpp line number markers, so
there is no need to hack around them using the
"prepreprocessor". Instead, just put a quick test in do_directive()
treating it just like %line, except convert a "-quoted string into a
`-quoted string.

(This can break if there is a ` or \" sequence in the string... fix
that at some point. This is still much better than what there is now.)

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2020-07-10 18:44:15 -07:00
H. Peter Anvin (Intel)
861f2cf269 changes.src: document LEA fix
Document fix of LEA without square brackets.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2020-07-10 02:49:14 -07:00
H. Peter Anvin (Intel)
be1be3f627 %use masm: much better documentation
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2020-07-10 02:46:23 -07:00
H. Peter Anvin (Intel)
22a3f567c0 changes.src: document %00 fix
Add %00 fix to release note.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2020-07-10 01:59:53 -07:00
H. Peter Anvin (Intel)
771e714c71 changes.src: update 2.15.03 release notes
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2020-07-09 19:41:12 -07:00
H. Peter Anvin (Intel)
6f52ecfa49 changes.src: update with current state of 2.15.03
Add release notes for 2.15.03 as it currently exists.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2020-07-07 09:33:42 -07:00
H. Peter Anvin (Intel)
cd87431424 BR 3392692: outcoff: allow user to reduce the default alignment
NASM would incorrectly only allow for the alignment to be increased,
even when overridden by the user. Allow the user to specify any
alignment value and have it override the partition type default.

The user can increade their own alignment value specification later,
of course, and the sectalign directive will present a floor for either
kind of specification.

Reported-by: Dale Curtis <dalecurtis@chromium.org>
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2020-07-06 21:46:43 -07:00
H. Peter Anvin (Intel)
61be48a383 doc: swap 'hyphen' and 'minus' in PostScript definition
It appears that at least with the Adobe Source fonts:

'hyphen' -> U+002D (ASCII)
'minus'  -> U+2212

This is ugly for cut & paste purposes.

Reported-by: C. Masloch <pushbx@ulukai.org>
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2020-07-02 21:06:29 -07:00
H. Peter Anvin (Intel)
fee0db94a3 changes.src: fixed Mkfiles/msvc.mak
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2020-07-01 21:31:32 -07:00
H. Peter Anvin (Intel)
b68a375afc doc: index cleanups
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2020-06-30 15:05:20 -07:00
H. Peter Anvin (Intel)
39714f7de7 doc: document(!) documentation build requirements
The tools we need to build the documentation.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2020-06-30 13:47:17 -07:00
H. Peter Anvin (Intel)
4ddeb70428 doc: slight cleanup of MASM compatibility package information
Note that the extended DB syntax is also available, regardless of if
%use masm is used or not.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2020-06-30 13:37:29 -07:00
H. Peter Anvin (Intel)
a08c0f9adf changes.src: document %{:} macro parameter range fix
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2020-06-30 12:50:49 -07:00
H. Peter Anvin (Intel)
5c85b7f87b changes.src: update changes for 2.15.02 (so far)
Begin the release note list for 2.15.02.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2020-06-30 10:47:34 -07:00
H. Peter Anvin (Intel)
f6a5c1ce20 doc: incbin: no need to mention an ancient Amiga assembler
There is no reason to mention an ancient Amiga assembler as the source
for INCBIN, especially since it is supported by quite a few other
assemblers.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2020-06-30 10:46:43 -07:00
H. Peter Anvin (Intel)
296685b5e3 nasmdoc.css: use a relative size for code/pre
Use a percentage size modifier for code/pre, which hopefully should
allow it to respect enclosing size modifications (for headings.)

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2020-06-27 23:18:28 -07:00
H. Peter Anvin (Intel)
a4c0d009a0 nasmdoc.css: use a smaller font size for code text
Use a smaller font size for code text, just as for ps/pdf.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2020-06-27 23:16:13 -07:00
H. Peter Anvin (Intel)
d1a9f8a2f7 doc: actually *use* the smaller code font size...
Helps to actually use what is intended.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2020-06-27 23:10:50 -07:00
H. Peter Anvin (Intel)
18c0112c5b doc: for ps/pdf, use a smaller font for code
The text looks better using a smaller font for both inline code and
code paragraphs.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2020-06-27 23:03:09 -07:00
H. Peter Anvin (Intel)
444905e48b doc: some more cleanups and detailed specifications
Some more mostly editorial changes.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2020-06-27 16:50:56 -07:00
H. Peter Anvin (Intel)
fa7732e092 doc: editorial cleanups
Clean up the language of a few sections, add a few examples, and
better document %pragma limit.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2020-06-27 16:40:52 -07:00
H. Peter Anvin (Intel)
aa542870ae changes.src: update for 2.15.01
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2020-06-27 16:14:50 -07:00
H. Peter Anvin (Intel)
82fc1bea76 doc: document operator and Dx changes
Document new operators, removal of special casing for %if, and the
MASM-like enhancements to the Dx directives.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2020-06-25 15:46:09 -07:00
H. Peter Anvin (Intel)
d499755f54 doc: various documentation updates 2020-06-14 22:43:47 -07:00
H. Peter Anvin (Intel)
941c75a2b2 Makefile portability improvement, build nasmdoc.pdf.xz
Significantly improve the portability/reliability of a general
make command. Build a .pdf.xz version of the documentation,
using an uncompressed pdf as basis.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2020-05-26 14:13:31 -07:00