flat assembler
Message board for the users of flat assembler.

Index > IDE Development > Perfection is the enemy of... fasmgw

Author
Thread Post new topic Reply to topic
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8344
Location: Kraków, Poland
Tomasz Grysztar 05 Feb 2024, 13:48
Recently I've been asked if it is possible to adapt fasmw to fasm2, and it was the final nudge I needed to reconsider the idea. Replacing integrated fasm with integrated fasmg never seemed like it would be hard, so why did I never attempt it before?

Well, to tell the truth, the source code of fasmw is quite old, in many places sloppy and not well thought out, and ideally it should be rewritten from scratch in a style more fitting fasmg. That's what I thought, at least. But in reality this kind of thinking led me to never make even a small attempt - the project seemed too big, too ambitious. I should be looking for a good Unicode-capable edit control, right?

This time I reminded myself that sometimes worse might be better, and even with a minimal effort to patch up fasmw just enough to integrate fasmg and assemble a few sources, it would still be better than an ambitious one that never gets made.

I also applied the same reasoning to fasm2 project as a whole: since the header set I kept growing over the years now allows to assemble many existing programs, I should not keep it to myself just because it is far from being complete. It may never get there, but still it might be helpful to someone in its current form.

And there it is: a patched up fasmgw, which is simply the good old fasmw with fasm core replaced with fasmg, and fasm2 headers included by default (you can change it in the compiler settings window if you need to assemble "pure" fasmg projects, or ones based on different headers). Yes, it does not handle everything perfectly, and it may never do. But at least it's out there, in somewhat usable state. You may find it in the fasm2 preview package on the Download page.

Please treat it as a project that is unavoidably imperfect and never finished. But, to be honest, the same has always been true for fasmw anyway.
Post 05 Feb 2024, 13:48
View user's profile Send private message Visit poster's website Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8344
Location: Kraków, Poland
Tomasz Grysztar 05 Feb 2024, 14:38
I should add that it self-hosts out of the box, with default configuration. Just open fasmgw.asm and hit F9.
Post 05 Feb 2024, 14:38
View user's profile Send private message Visit poster's website Reply with quote
sylware



Joined: 23 Oct 2020
Posts: 422
Location: Marseille/France
sylware 05 Feb 2024, 18:12
fasm2 ? Did I miss the rename of fasmg?
Post 05 Feb 2024, 18:12
View user's profile Send private message Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8344
Location: Kraków, Poland
Tomasz Grysztar 05 Feb 2024, 18:18
sylware wrote:
fasm2 ? Did I miss the rename of fasmg?
You probably missed this thread.
Post 05 Feb 2024, 18:18
View user's profile Send private message Visit poster's website Reply with quote
sylware



Joined: 23 Oct 2020
Posts: 422
Location: Marseille/France
sylware 06 Feb 2024, 09:56
Got it! Moving out from "examples" the x86 assembler, squaring things up.

my own feature creep: could we get by default the ';' separator for multi-instruction lines?

I guess I'll upgrade to fasm2 in the foreseeable future.
Post 06 Feb 2024, 09:56
View user's profile Send private message Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8344
Location: Kraków, Poland
Tomasz Grysztar 06 Feb 2024, 10:56
sylware wrote:
my own feature creep: could we get by default the ';' separator for multi-instruction lines?
It should be obvious that such feature could not possibly make it into default, given that from the times before fasm it's been standard to have semicolon start a comment in assembly languages.

Nonetheless, you can change the "Source header" line in the "Compiler setup" window to customize what gets included for your purposes, and you can fit specialized preprocessors in there. And of course you also have to tweak this option if you plan to work with any architecture other than x86.
Post 06 Feb 2024, 10:56
View user's profile Send private message Visit poster's website Reply with quote
sylware



Joined: 23 Oct 2020
Posts: 422
Location: Marseille/France
sylware 06 Feb 2024, 15:03
Yeah, I was being pushy but not expecting you to cave in like the ISO/gcc people for languages like c++ (same with rust) or even C Smile
Post 06 Feb 2024, 15:03
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-2024, Tomasz Grysztar. Also on GitHub, YouTube.

Website powered by rwasa.