Sunday, October 12, 2008

NASM 2..04 Release

雖然我的工作都改用YASM 了, 不過還是會注意一下NASM 的發展, 它其實已經在 2.05rc3 了, 可能最近就要發2.05 了吧, 不過貼一下它的2.04 的Change log 吧

• Sanitize macro handing in the %error directive.
• New %warning directive to issue user−controlled warnings.
• %error directives are now deferred to the final assembly phase.
• New %fatal directive to immediately terminate assembly.
• New %strcat directive to join quoted strings together.
• New %use macro directive to support standard macro directives. See section 4.6.4.
• Excess default parameters to %macro now issues a warning by default. See section 4.3.
• Fix %ifn and %elifn.
• Fix nested %else clauses.
• Correct the handling of nested %reps.
• New %unmacro directive to undeclare a multi−line macro. See section 4.3.10.
• Builtin macro __PASS__ which expands to the current assembly pass. See section 4.11.9.
• __utf16__ and __utf32__ operators to generate UTF−16 and UTF−32 strings. See section 3.4.5.
• Fix bug in case−insensitive matching when compiled on platforms that don’t use the configure script.
Of the official release binaries, that only affected the OS/2 binary.
• Support for x87 packed BCD constants. See section 3.4.7.
• Correct the LTR and SLDT instructions in 64−bit mode.
• Fix unnecessary REX.W prefix on indirect jumps in 64−bit mode.
• Add AVX versions of the AES instructions (VAES...).
• Fix the 256−bit FMA instructions.
• Add 256−bit AVX stores per the latest AVX spec.
• VIA XCRYPT instructions can now be written either with or without REP, apparently different versions of
the VIA spec wrote them differently.
• Add missing 64−bit MOVNTI instruction.
• Fix the operand size of VMREAD and VMWRITE.
• Numerous bug fixes, especially to the AES, AVX and VTX instructions.
• The optimizer now always runs until it converges. It also runs even when disabled, but doesn’t optimize.
This allows most forward references to be resolved properly.

NASM 2.04 下載點

YASM 0.7.2 發行

YASM 0.7.2 正式發行了, 本以為會加入這以天密切討論的TASM 語法, 不過看來要失望了, 應該會放在0.8 摟..

Changes from 0.7.1 to 0.7.2 include:
- Add PIC support to 64-bit Mach-O (#141).
- Add --prefix and --suffix options for naming globals (#132).
- Make "rel foo wrt ..gotpc" generate GOTPCREL in elf64 (alias for
"rel foo wrt ..gotpcrel").
- Add support for newly specified AVX/AES instructions not in original
spec (VAES* and 256-bit VMOVNT{PS,PD,DQ}).
- Remove invalid 256-bit form of VPBLENDVB.
- Optimize non-strict push with 66h override to byte size if possible.
- Fix address printing in bin map file.
- Fix GAS syntax handling of no section flags (#148).
- Name the absolute symbol in coff/win32/win64 output (#153).
- Miscellaneous other fixes.


YASM 0.7.2 下載點