Software update: Nasm 2.14.02




Assembly, one of the oldest programming languages, is nowadays often used for optimizing applications. Nasm can convert assembly code into various binary object formats, such as eleven , coff , Mach-O , win32 and win64. The programmers continue to develop Nasm further, as a result of which support for Intel’s AVX-512 and SGX has been added. Version 2.14.02 of Nasm has recently become available, provided with the following list of modifications:

Version 2.14.02
Fix crash due to multiple errors or warnings during the code generation pass if a list file is specified.
Version 2.14.01
Create all system-defined macros defore processing command-line given preprocessing directives (-p, -d, -u, -pragma, –before).
If debugging is enabled, define a __DEBUG_FORMAT__ predefined macro. See section 4.11.7.
Fix an assert for the case in the obj format when a SEG operator refers to an EXTERNAL symbol further down in the code.
Fix a corner case in the floating-point code where a binary, octal or hexadecimal floating-point having at least 32, 11, or 8 mantissa digits could produce slightly incorrect results under very specific conditions.
Support -MD without a filename, for gcc compatibility. -MF can be used to set the dependencies output filename. See section 2.1.7.
Fix -E in combination with -MD. See section 2.1.21.
Fix missing errors on redefined labels; would cause convergence failure, which is very slow and not easy to debug.
Duplicate definitions of the same label are now explicitly permitted (2.14 would allow it in some circumstances.)
Add the option – no-line to ignore% line directives in the source. See section 2.1.33 and section 4.10.1.
Version 2.14
Changed -I option semantics by adding a trailing path separator unconditionally.
Fixed null dereference in corrupted invalid single line macros.
Fixed division by zero which may happen if source code is malformed.
Fixed out of bound access in processing or malformed segment override.
Fixed out of bound access in certain EQU parsing.
Fixed buffer underflow in float parsing.
Added SGX (Intel Software Guard Extensions) instructions.
Added + n syntax for multiple contiguous registers.
Fixed subsections_via_symbols for macho object format.
Added the –gprefix, –gpostfix, –lprefix, and –lpostfix command line options, to allow command line base symbol renaming. See section 2.1.28.
Allow label renaming to be specified by% pragma in addition to from the command line. See section 6.9.
Supported generic% pragma namespaces, output and debug. See section 6.10.
Added the –pragma command line option to inject a% pragma directive. See section 2.1.29.
Added the – before command line option to accept preprocess statement before input. See section 2.1.30.
Added AVX512 VBMI2 (Additional Bit Manipulation), VNNI (Vector Neural Network), BITALG (Bit Algorithm), and GFNI (Galois Field New Instruction) instructions.
Added the STATIC directive for local symbols that should be used with global-symbol rules. See section 6.8.
Allow a symbol to be defined as EXTERN and then later overridden as GLOBAL or COMMON. Furthermore, a symbol declared EXTERN and then defined as treated as GLOBAL. See section 6.5.
The GLOBAL directive no longer is required to precede the definition of the symbol.
Support private_extern as macho specific extension to the GLOBAL directive. See section 7.8.5.
Updated UD0 encoding to match with the specification
Added the – limit-X command line option to set execution limits. See section 2.1.31.
Updated the Codeview version number to be aligned with MASM.
Added the –keep-all command line option to preserve output files. See section 2.1.32.
Added the –include command line option, an alias to -P (section 2.1.18).
Added the –help command line option as an alias to -h (section 3.1).
Added -W, -D, and -Q suffix aliases for RET instructions so the operand sizes or these instructions can be encoded without using o16, o32 or o64.
Version number 2.14.02
Release status Final
Operating systems Windows 7, Linux, BSD, DOS, macOS, Solaris, UNIX, Windows Server 2012, Windows 8, Windows 10, Windows Server 2016
The Netwide Assembler
License type Conditions (GNU / BSD / etc.)


In: A Technology & Gadgets Asked By: [23147 Red Star Level]

Answer this Question

You must be Logged In to post an Answer.

Not a member yet? Sign Up Now »

Star Points Scale

Earn points for Asking and Answering Questions!

Grey Sta Levelr [1 - 25 Grey Star Level]
Green Star Level [26 - 50 Green Star Level]
Blue Star Level [51 - 500 Blue Star Level]
Orange Star Level [501 - 5000 Orange Star Level]
Red Star Level [5001 - 25000 Red Star Level]
Black Star Level [25001+ Black Star Level]