flat assembler
Message board for the users of flat assembler.

Index > Tutorials and Examples > Newbie for Fasm

Author
Thread Post new topic Reply to topic
vvanag



Joined: 26 Apr 2025
Posts: 3
Location: Hellas
vvanag 26 Apr 2025, 15:09
Hi I am reading Randal Hyde's books and I would like to run some snippets for x84/x64 (don't mind some porting)

I run across Fasm but I am confused.

Which version of Fasm to use?

Fasm1/Fasmg/Fasm2

For Fasm2 I do not find much information.

I am on Windows 10 x64, lucky me I have the IDE at my disposal.
Post 26 Apr 2025, 15:09
View user's profile Send private message Reply with quote
macomics



Joined: 26 Jan 2021
Posts: 1149
Location: Russia
macomics 26 Apr 2025, 17:16
Right now, fasm2 is just an add-on to fasmg.

The fasm and fasm2 package for Windows have their own IDEs.

If you have just started learning assembly language, then I advise you to start with fasm1. Then you can easily switch to fasmg/fasm2.
fasm1 is just an x86/x86_64 assembler and a linker all rolled into one. fasmg+fasm2 are already more advanced compilers that use macro tools to implement commands for multiple platforms. At the beginning of your learning, this will be more of a hindrance than a help.
Post 26 Apr 2025, 17:16
View user's profile Send private message Reply with quote
vvanag



Joined: 26 Apr 2025
Posts: 3
Location: Hellas
vvanag 26 Apr 2025, 19:47
macomics wrote:
Right now, fasm2 is just an add-on to fasmg.

The fasm and fasm2 package for Windows have their own IDEs.

If you have just started learning assembly language, then I advise you to start with fasm1. Then you can easily switch to fasmg/fasm2.
fasm1 is just an x86/x86_64 assembler and a linker all rolled into one. fasmg+fasm2 are already more advanced compilers that use macro tools to implement commands for multiple platforms. At the beginning of your learning, this will be more of a hindrance than a help.



Thank you very much


Last edited by vvanag on 26 Apr 2025, 19:47; edited 1 time in total
Post 26 Apr 2025, 19:47
View user's profile Send private message Reply with quote
AsmGuru62



Joined: 28 Jan 2004
Posts: 1708
Location: Toronto, Canada
AsmGuru62 26 Apr 2025, 19:47
I use fasm1 since about 2003 and never needed G or 2.
No offense, everyone.
Post 26 Apr 2025, 19:47
View user's profile Send private message Send e-mail Reply with quote
revolution
When all else fails, read the source


Joined: 24 Aug 2004
Posts: 20625
Location: In your JS exploiting you and your system
revolution 27 Apr 2025, 05:28
IIRC the original purpose of fasmg/2 is to "make your own assembler" with macros. Later the macro language became more advanced than fasm, so perhaps if one wants some of that extra stuff that isn't assembly then fasmg/2 is what one wants.

If you just want a ready built assembler then fasm is probably all one needs.

I also use fasm. I can copy the single executable to each project and have a stand-alone isolated project that doesn't have problems with new versions breaking things.
Post 27 Apr 2025, 05:28
View user's profile Send private message Visit poster's website Reply with quote
bitRAKE



Joined: 21 Jul 2003
Posts: 4227
Location: vpcmpistri
bitRAKE 27 Apr 2025, 11:02
vvanag wrote:
I am on Windows 10 x64, lucky me I have the IDE at my disposal.
While fasm1 is excellent for direct assembly, fasmg and fasm2 were developed to push the boundaries of what assembly macros can do. Designed as a successor, fasmg/2 are presented as compatible alternatives - incompatibilities are extremely rare.

On the forum you'll see many cases where fasmg/2 macro implementations are more concise or featureful - this is by design. No one needs this added power/flexibility - it's more about expressivity - a choice.

You've not given much information about your experience or desired goals. I'm mainly using Notepad++ configured as an IDE for fasm/g/2, but I've documented a number of other options. The board contains numerous examples - searching with an external tool might prove more fruitful.

Have you tried Randall Hyde's HLA? Never tried it myself, but respect his attempt to bring assembly to a broader audience.

_________________
¯\(°_o)/¯ “languages are not safe - uses can be” Bjarne Stroustrup
Post 27 Apr 2025, 11:02
View user's profile Send private message Visit poster's website Reply with quote
Picnic



Joined: 05 May 2007
Posts: 1418
Location: Piraeus, Greece
Picnic 27 Apr 2025, 12:03
bitRAKE wrote:

I'm mainly using Notepad++ configured as an IDE for fasm/g/2, but I've documented a number of other options.


I have also been using Notepad++ for the past few years. It's straightforward to configure it for full automation. With just two function keys, I compile Hobby BASIC's fasm code and launch its programs.

P.S. Welcome vvanag!

_________________
Hobby BASIC Interpreter | Get Started
Post 27 Apr 2025, 12:03
View user's profile Send private message Visit poster's website Reply with quote
vvanag



Joined: 26 Apr 2025
Posts: 3
Location: Hellas
vvanag 27 Apr 2025, 13:43
bitRAKE wrote:
vvanag wrote:
I am on Windows 10 x64, lucky me I have the IDE at my disposal.
While fasm1 is excellent for direct assembly, fasmg and fasm2 were developed to push the boundaries of what assembly macros can do. Designed as a successor, fasmg/2 are presented as compatible alternatives - incompatibilities are extremely rare.

On the forum you'll see many cases where fasmg/2 macro implementations are more concise or featureful - this is by design. No one needs this added power/flexibility - it's more about expressivity - a choice.

You've not given much information about your experience or desired goals.


I am a beginner. I professionally program in Java/Python currently (data engineer) and some Julia for analyzing data. I also have programmed with Golang and Tcl/TK+C/C++ as a researcher.

I would like to be able to write applications but also implement algorithms (I have an Msc in applied math) for Win32, just to understand how I can do this in terms of software engineering (curiosity) and how hardware works.

Quote:
I'm mainly using Notepad++ configured as an IDE for fasm/g/2, but I've documented a number of other options. The board contains numerous examples - searching with an external tool might prove more fruitful.

Have you tried Randall Hyde's HLA? Never tried it myself, but respect his attempt to bring assembly to a broader audience.


I tried in the past but now I think it is unmaintained, even though the source code is there. His x64 book is done on MASM. I do not like proprietary programs. I work on Windows on my work machine, but I keep my workflow there cause I can easily use latest versions of FOSS.

my medium articles

https://medium.com/@fithis2001
https://medium.com/agileactors/ingesting-from-postgres-to-minioa-c1d1e4c3ec2b
https://medium.com/agileactors/emulate-your-first-scheduled-aws-lambda-2d366a551f7d

I also study Mike Shah's lectures on D with goal (hopefully) to port some C++ code to D (LionSnake Subdivision Modeller) and other unmaintained code.
Post 27 Apr 2025, 13:43
View user's profile Send private message Reply with quote
a



Joined: 10 Apr 2025
Posts: 17
Location: Ukraine
a 27 Apr 2025, 21:37
AsmGuru62 wrote:
I use fasm1 since about 2003 and never needed G or 2.
No offense, everyone.
Same. Never used G / 2 and probably not going to
Post 27 Apr 2025, 21:37
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.