Move the editor help files (currently nasmtok.el) to the editors/
subdirectory in anticipation of having more such files.
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
Only try to run a Perl interpreter if the system actually has one
available. Because timestamps on Windows are apparently not preserved
on archive extraction, otherwise it might happen that nmake will try
to rebuild files even through they already exist.
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
Use a really hacky way to run the NASM binary and extract automatic
builtin macros. As this is not something normally supported during the
NASM build process, the output is canned and will need to be run
manually.
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
Resolved Conflicts:
misc/emacstbl.pl
This also reverts the token names to the version without the -token-
infix.
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
The .time trick doesn't seem to work in general, and auxiliary
Makefiles aren't guaranteed to build modified sources anyway.
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
Define macros for generating an empty file and for a dummy (side
effect) target.
Tweak MSVC compiler options.
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
SPDX is an international standard for documenting software license
requirements. Remove the existing headers and replace with a brief
SPDX preamble.
See: https://spdx.dev/use/specifications/
The script used to convert the files is added to "tools", and the
file header templates in headers/ are updated.
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
Strip all whitespace from version.pl input, in case combinations of
tools causes stray \r or other whitespace characters (which has been
observed.)
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
Don't redo the whole clone and compile if one wants to re-run the
test. Only rebuild the NASM files.
Minor script cleanups.
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
Error out if an encoding position is invalid, like an "r" operand
matches an "xmmrm" operand.
Document the instruction encoding symbols; there are too many of them
by now.
Add symbols 'n' and 'w' meaning immediates that are supposed to be
encoded as if they were 'm' memory addresses and 'v' register numbers,
respectively; this is necessary to indicate a validation exception.
Remove broken ARPL "memory-like" encoding. It probably never worked
anyway.
This verification caught two bugs already:
- VPMASKMOV[DQ] cannot omit the second operand.
- Incorrect operand encoding order for VREDUCESH.
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
Add missing uses of PRI constants.
Create a PRI constant for size_t, since %z isn't available on all
platforms. Notably, the legacy Windows runtime needs %I instead of %z.
Use that on UCRT as well, since there doesn't seem to be a way to
determine if you are compiling for MSVCRT or UCRT.
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
- Document the [LIST] directive
- Add an option -LF to ignore the [LIST] directive
- Fix [LIST -] suppressing output on a following pass
- Minor other documentation fixes
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
The assembler can't know if something is a colonless label or a
misspelled instruction, so print both when complaining about a missing
instruction.
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
For disassembler to work correctly NOPs should be at the very end of the
database file.
Signed-off-by: Maciej Wieczor-Retman <maciej.wieczor-retman@intel.com>