Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to the forum
Board view  Mix view

NASM 3.00 (Announce)

posted by mceric, Germany, 10.10.2025, 09:09

> NASM 3.00 was released on 3 October 2025.
>
> home: https://www.nasm.us/
> release notes: https://www.nasm.us/docs/3.00/nasmac.html
> documentation: https://www.nasm.us/docs/3.00/
>
> download: https://www.nasm.us/pub/nasm/releasebuilds/3.00/
>
> *
> nasm-3.00.zip
> (sources, 2.6 MB)
> *
> nasm-3.00-xdoc.zip
> (docs, 1.1 MB)
> *
> nasm-3.00-dos.zip
> (DOS .EXEs, 831 kb)

Here is a snippet from the release notes. Crash and segment fixes sound good. The improved docs and preprocessor stuff also sound nice:

Improve the documentation for building from source (appendix D).

Add support for the APX and AVX10 instruction sets, and various miscellaneous new instructions.

Add new preprocessor functions: %b2hs(), %chr(), %depend(), %find(), %findi(), %hs2b(), %null(), %ord(), %pathsearch(), and %realpath(). See section 5.4.

New preprocessor directive %note to insert a note in the list file, without issuing an external diagnosic. Unlike a comment, it is optionally macro-expanded, see section 5.11.

New preprocessor directive %iffile (and corresponding function %isfile()) to test for the existence of a file. See section 5.6.12.

New preprocessor directive %ifdirective to test for the existence of a preprocessor directive, assembly directive, or pseudo-instruction; see section 5.6.10.

Fix a number of invalid memory references (usually causing crashes) on various invalid inputs.

Fix multiple bugs in the handling of $–escaped symbols.

The use of $ as a prefix for hexadecimal numbers has been deprecated, and will now issue a warning. A new directive [DOLLARHEX] can be used to disable this syntax entirely, see section 8.12.

Fix the generation of segment selector references (mainly used in the obj output format.)

Fix crash in the obj backend when code was emitted into the default segment, without any labels having been defined.

Clean up the command-line help text (-h) and break it down into individual topics, as the previous output was just too verbose to be practical as a quick reference.

The implicit DEFAULT ABS in 64-bit mode is deprecated and may be changed to REL in the future. See section 8.2. A warning is now emitted for this condition.

It is now possible to set the REL/ABS default for memory accesses using FS: or GS:, see section 8.2.

The __?DEFAULT?__ standard macro now reflects the settings of the DEFAULT directive. See section 6.4.

The NASM preprocessor now assumes that an unknown directive starting with %if or %elif is a misspelled or not yet implemented conditional directive, and tries to match it with a corresponding %endif. See section 5.6.14.

The masm macro package now defines a macro for x87 register syntax. See section 7.5.

A new macro package, vtern, to simplify generation of the control immediates for the VPTERNLOGD and VPTERNLOGQ instructions. See section 7.6.

A new command line option -LF allows overriding [LIST -] directives.

In the obj output format, allow a segment in the FLAT pseudo-group to also belong to another (real) group. Used on OS/2.

Add a new build_version directive to the Mach-O backend. See section 9.8.6.

Fix a spec violation in the generation of DWARF debugging information on ELF.

Response files can now be nested.

Many documentation improvements

---
FreeDOS / DOSEMU2 / ...

 

Complete thread:

Back to the forum
Board view  Mix view
22747 Postings in 2119 Threads, 402 registered users, 152 users online (0 registered, 152 guests)
DOS ain't dead | Admin contact
RSS Feed
powered by my little forum