flat assembler
Message board for the users of flat assembler.

Index > Main > How much big difference between fasm2 and fasmg ?

Author
Thread Post new topic Reply to topic
Roman



Joined: 21 Apr 2012
Posts: 1939
Roman 10 May 2025, 13:42
What start learning?
fasmg or fasm2 ?
what is more advanced ?
Post 10 May 2025, 13:42
View user's profile Send private message Reply with quote
dosmancer



Joined: 20 Feb 2025
Posts: 20
Location: Kingdom of Sweden
dosmancer 11 May 2025, 12:24
Roman wrote:
What start learning?
fasmg or fasm2 ?

If you're doing x86 programming then absolutely fasm2 but you learn both at the same time since they are in a way the same thing.
Roman wrote:
what is more advanced ?

Take a look at the root directory fasm2 repo here: https://github.com/tgrysztar/fasm2

Observe that the fasmg executable is included in fasm2. Also take a look at the fasm2 executable in that directory itself:
Code:
#!/usr/bin/env bash
DIR="$( dirname -- "$( readlink -f -- "$0"; )"; )"
INCLUDE="$DIR/include;$INCLUDE" "$DIR/fasmg.x64" -iInclude\ \'fasm2.inc\' "$@"    

This explains what fasm2 is. It is fasmg but it includes the fasm2.inc file. Take a look at the fasm2.inc file:
Code:
include 'dd.inc'
include 'align.inc'
include 'format.inc'
include 'x86-2.inc'
use everything

include '@@.inc'
include 'times.inc'
include 'fix.inc'    

Note the x86-2.inc file, that is the file that contains support for all x86 instructions (as fasmg itself has no support for any processor). What I am trying to say is that fasm2 IS fasmg but with those macros included.
Post 11 May 2025, 12:24
View user's profile Send private message Visit poster's website Reply with quote
sylware



Joined: 23 Oct 2020
Posts: 484
Location: Marseille/France
sylware 12 May 2025, 10:01
Nice post.

A bit off topic: "fasm" seems to actually be a set of macro languages to write assembler for many binary formats... which can be written in assembly themselves.

Are they worth RFCs with alternative implementations? (for instance RISC-V assembly).

Just give some thoughts about this, as it is a bit off topic for this thread.
Post 12 May 2025, 10:01
View user's profile Send private message Reply with quote
revolution
When all else fails, read the source


Joined: 24 Aug 2004
Posts: 20631
Location: In your JS exploiting you and your system
revolution 12 May 2025, 14:47
In case it isn't clear from the above responses.

fasmg: The executable that processes macros

fasm2: A set of macros to convert x86 assembly sources into binary outputs.

I hope I got that right.
Post 12 May 2025, 14:47
View user's profile Send private message Visit poster's website Reply with quote
Roman



Joined: 21 Apr 2012
Posts: 1939
Roman 12 May 2025, 18:35
can fasmg or fasm2 call user dll when assembling ?
Or using MapViewOfFile to send or receive user data.
Post 12 May 2025, 18:35
View user's profile Send private message Reply with quote
revolution
When all else fails, read the source


Joined: 24 Aug 2004
Posts: 20631
Location: In your JS exploiting you and your system
revolution 12 May 2025, 23:26
No.

It is open source, so it is possible to make changes to make it do new things.
Post 12 May 2025, 23:26
View user's profile Send private message Visit poster's website Reply with quote
Roman



Joined: 21 Apr 2012
Posts: 1939
Roman 13 May 2025, 04:24
For me,I afrade its not easy to do.

And this take many times. If I modified fasmg.
I'm afraid I don't survive after this Smile

But Tomaz do it very fast and more careful and right ways.

I was impresed and shoked when try modify Fasmw 1.73

How about equ in fasmg?
Still doing match in macro ?
Post 13 May 2025, 04:24
View user's profile Send private message Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  


< Last Thread | Next Thread >
Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.

Website powered by rwasa.