雖然我的工作都改用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 下載點
No comments:
Post a Comment