flat assembler
Message board for the users of flat assembler.
![]() |
Author |
|
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. |
|||
![]() |
|
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.
|
|||
![]() |
|
sylware 05 Feb 2024, 18:12
fasm2 ? Did I miss the rename of fasmg?
|
|||
![]() |
|
Tomasz Grysztar 05 Feb 2024, 18:18
sylware wrote: fasm2 ? Did I miss the rename of fasmg? |
|||
![]() |
|
Tomasz Grysztar 06 Feb 2024, 10:56
sylware wrote: my own feature creep: could we get by default the ';' separator for multi-instruction lines? 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. |
|||
![]() |
|
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
![]() |
|||
![]() |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.