flat assembler
Message board for the users of flat assembler.
Index
> Main > offset differences fasm1 and fasm2 |
| Author |
|
|
Tomasz Grysztar 29 Jun 2026, 03:53
The implementation of "struct" macro that comes with classic headers for fasm 1 supports only a limited set of data directives (you can see it when look at its definition in macro/struct.inc), and "align" is not a supported statement (there now exists a third-party implementation that expands it, though).
On the other hand, fasm2 uses a more capable CALM-based implementation that integrates all kinds of statements. |
|||
|
|
Jessé 29 Jun 2026, 16:15
I'm a bit biased to talk about, but I should recommend you focus on 'fasm2' (for x86-64), because, it does all stuff fasm1 already does, and as an added bonus, you have - with fasm2 - a very, very powerful preprocessor language, flexible enough to do almost anything, including defining an assembler for other architectures (fasmg, the base of fasm2 assembler is essentialy this, an assembly engine). Everything on fasm2 (including instructions) is defined in its headers, which are basically headers written in fasmg language.
In my personal experience, fasm1 has speed - as also stated by Tomasz - as its advantage factor. They seem to be - considering only pure x86-64 assembly - almost equal. Have that in mind. They mostly differ in their preprocessor language, which fasm2 ("backended" by fasmg) even having two native languages that can complement the standard assembly language in a very useful way, which are the common directives and also CALM instructions. I'm saying that because I found some limitations when trying to do some things with fasm1 preprocessor language. Almost none on fasm2. I must mention that I experiment very little with fasm1 preprocessor language, so, my thoughts about it may be inaccurate. |
|||
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2026, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.