Commit graph

14 commits

Author SHA1 Message Date
Christian St
8045cdbdda Fix x86_64 installation and update to 1.70.02.
version 1.70.02 (May 22, 2012)

[-] Corrected the optimization of segment prefixes when the extended syntax
    of some string instructions ("cmps", "lods", "movs" and "outs") is
    used in long mode. Now it is consistent with optimizations done with
    all the other instructions.


version 1.70.01 (Apr 30, 2012)

[-] Corrected a recently introduced bug that caused some illegal
    address expressions to cause an error prematurely during the
    parsing stage.


version 1.70 (Apr 17, 2012)

[+] Added support for AVX, AVX2, AES, CLMUL, FMA, RDRAND, FSGSBASE, F16C,
    FMA4, XOP, MOVBE, BMI, TBM, INVPCID, HLE and RTM instruction sets.

[+] Added half-precision floating point values support.

[+] Extended the syntax of "rept" directive to allow numerical expressions
    to be calculated by preprocessor in its arguments.

[+] Added "large" and "NX" settings for PE format.

[+] Allowed PE fixups to be resolved anywhere in the generated executable.

[+] Allowed to specify branding value (use 3 for Linux) after the
    "format ELF executable" setting.

[+] Added "intepreter", "dynamic" and "note" keywords for creation of
    special segments in ELF executables.

[-] Fixed long mode opcode generator to allow absolute addresses to be
    generated with "qword" keyword inside square brackets.

[-] Disallowed negative immediates with "int", "enter", "ret" instructions.

[+] Allowed symbolic information dump file to be created even in case of error.
    In such case it contains only the preprocessed source that can be extracted
    with PREPSRC tool. If error occured during preprocessing, only the source up
    to the point of error is provided.

[+] Added symbol references table to symbolic dump file.

[-] Corrected the "defined" and "used" flags in the symbols dump to reflect the
    state from the final assembly pass.

[+] Added "assert" directive.

[-] Formatter symbols like "PE" or "readable" are now recognized only in the
    context of formatter directives, and thus are no longer disallowed as
    labels.

[+] Macroinstruction argument now can have default value, defined with "="
    symbol followed by value after the argument name in definition.

[+] Added "relativeto" operator, which can be used in logical expressions
    to test whether two values differ only by a constant and not relocatable
    amount.

[-] Revised the expression calculator, it now is able to correctly perform
    calculations in signed and unsigned ranges in full 64-bit. This fixes
    a number of issues - the overflow will now be correctly detected for
    64-bit values in cases, where previous versions could not distinguish
    whether it was an overflow or not. The effect of these corrections is
    that "dq" directive will now behave consistently with behavior of the
    data directives for smaller sizes, and the same applies to all the
    places where "qword" size for value is used.
2012-06-21 09:54:07 +00:00
Christian St
2a58dfb5c7 Update fasm to 1.69.31 2011-02-19 01:54:44 +00:00
Christian St
5254fa6ce8 version 1.69.27 (Nov 27, 2010)
[+] Allowed PE fixups to be resolved anywhere in the generated executable.


version 1.69.26 (Nov 26, 2010)
[-] "swapgs" no longer allowed outside the 64-bit mode.
[-] Corrected a bug that caused crash in symbols dump generator when it
    was running out of memory.

version 1.69.25 (Oct 11, 2010)
[-] Macroinstructions no longer breed the lines that are empty in their
    definitions.
[-] "vmovsd" with three register operands is now optimized better.

version 1.69.24 (Sep 15, 2010)
[+] Added half-precision floating point values support.

version 1.69.23 (Sep 12, 2010)
[+] Added "large" keyword to 32-bit PE settings.
[-] Few more specific addressing-related size optimizations were improved.

version 1.69.22 (Sep 09, 2010)
[-] Formatter symbols like "PE" or "readable" are now recognized only in the
    context of formatter directives, and thus are no longer disallowed as
    labels.

version 1.69.21 (Sep 08, 2010)
[-] Corrected encoding of "pextrq" instruction with memory operand.
[-] Improved some very specific instruction size optimizations.

version 1.69.20 (Sep 06, 2010)
[+] Added missing "vstmxcsr", "xsave", "xrstor" instructions.

version 1.69.19 (Sep 04, 2010)
[-] Corrected the calculation of "shr" and "xor" on negative values when the size
    of value is explicitly stated.
[-] Allowed "dup" to be used with zero count. Also other small corrections were
    made in handling various counts specified to assembler.
2010-12-05 01:49:40 +00:00
Christian St
839bb96212 Changed maintainer to sourceforge email address 2010-04-15 07:10:02 +00:00
Thomas Klausner
4c850f93bc Remove obsolete @dirrm lines. 2009-10-11 10:44:24 +00:00
Christian St
dbe19441c3 update to 1.68 2009-07-15 22:12:44 +00:00
Christian St
bfd318b2c2 update to fasm-1.67.38 2009-04-01 16:36:23 +00:00
Christian St
46d42f4677 upgrade to 1.67.37 2009-03-25 22:29:10 +00:00
Christian St
42a18417fe update to fasm-1.67.35 2009-03-11 19:30:27 +00:00
Christian St
49682420dc update fasm to 1.67.32 2009-02-15 11:01:10 +00:00
Christian St
ebfb3ba990 update to 1.67.29 2008-12-27 09:20:30 +00:00
Adam Hoka
3ce4ea50e1 Install examples and docs.
Cosmetics.
2008-08-15 19:15:14 +00:00
Christian St
e36fd655e4 it's x86_64, not amd64 2008-07-24 17:20:28 +00:00
Christian St
8af750bb95 Import fasm-1.67.27 as wip/fasm.
The flat assembler is a fast and efficient self-assembling 80x86 assembler
for DOS, Windows and Linux operating systems.

Currently it supports all 8086-80486/Pentium instructions with MMX, SSE,
SSE2, SSE3 and 3DNow! extensions and x86-64 (both AMD64 and EM64T)
instructions, can produce output in binary, MZ, PE, COFF or ELF format.
It includes the powerful but easy to use macroinstruction support and
does multiple passes to optimize the instruction codes for size.
The flat assembler is self-compilable and the full source code is included.
2008-07-16 23:19:45 +00:00