flat assembler
Message board for the users of flat assembler.

Index > Main > fasm2 CALM language

Author
Thread Post new topic Reply to topic
sylware



Joined: 23 Oct 2020
Posts: 456
Location: Marseille/France
sylware 13 Nov 2024, 19:24
Here, we all know that the fasm2 CALM language is "assembly written interpreter/compiler" friendly for obvious reasons.

How much "final" is CALM language in order to write assemblers with support of classic object formats (ELF/PE+/etc)?

For CPUs, I guess RISC-V (with its peculiarities) could be implemented without nasty hacks using this macro language.

On the GPU side, I could bet an AMD RDNA assembler would be free from nasty hacks too.

Should CALM get an RFC?
Post 13 Nov 2024, 19:24
View user's profile Send private message Reply with quote
bitRAKE



Joined: 21 Jul 2003
Posts: 4060
Location: vpcmpistri
bitRAKE 14 Nov 2024, 16:27
What specific features or support does CALM currently lack that you feel are critical for handling ELF/PE+?

What would be the goals or criteria for a CALM RFC?

For me, CALM doesn't make sense outside of its supporting macro language. The macro language language makes easy tasks which are very complex for CALM and visa-versa.

_________________
¯\(°_o)/¯ “languages are not safe - uses can be” Bjarne Stroustrup
Post 14 Nov 2024, 16:27
View user's profile Send private message Visit poster's website Reply with quote
sylware



Joined: 23 Oct 2020
Posts: 456
Location: Marseille/France
sylware 14 Nov 2024, 20:01
If you exclude the classic macro language, sure some things will require a bit more work. But if I recall properly, you only need CALM.

And RFC literaly means to force stability on the long run.
Post 14 Nov 2024, 20:01
View user's profile Send private message Reply with quote
bitRAKE



Joined: 21 Jul 2003
Posts: 4060
Location: vpcmpistri
bitRAKE 15 Nov 2024, 10:21
sylware wrote:
And RFC literaly means to force stability on the long run.
Anything I would consider cruft in fasmg is usually the result of backward compatibility - it so backward compatible that I'd need to search for few cases that are problematic. It's must one of Tomasz's top priorities - if not the top. Getting more stable than that would require no further development, imho.

We could test it out - there are plenty of old codes here on the board.

_________________
¯\(°_o)/¯ “languages are not safe - uses can be” Bjarne Stroustrup
Post 15 Nov 2024, 10:21
View user's profile Send private message Visit poster's website Reply with quote
sylware



Joined: 23 Oct 2020
Posts: 456
Location: Marseille/France
sylware 15 Nov 2024, 12:53
On the long run, elite projects like this one usually factors in only pertinent usage for their task, removing what were a bad ideas or 'too much', and usually it kind of gets stable in time by itself, if people in charge are reasonable. Backward compatibility is usually just 'glue' to what in the end is pertinent and well balanced.

That's why I am looking at CALM and not the classic macro language. I dare to think that what I am looking for may actually be CALM alone.

CALM is minimal, CALM is 'assembly written interpreter/compiler' proof... and it does a good enough job for file formats and various ISAs.

That said, it has been a while I have not touched fasm. I am currently more into RISC-V assembly (no pseudo-ops) and I use a basic C preprocessor for this code (not from those c++ abominations which are gcc/clang ofc).

But in my head (even if now far away in time) I still have some fuzzy memories of consistency of CALM for writting assembler AND be a powerful macro language.
Post 15 Nov 2024, 12:53
View user's profile Send private message Reply with quote
bitRAKE



Joined: 21 Jul 2003
Posts: 4060
Location: vpcmpistri
bitRAKE 16 Nov 2024, 18:44
I forget who said it, "The hardest thing about being a painter is putting the paint down."
- on the canvas
- away from the canvas
- and finally

The Three Surrenders

First surrender:
brush meets canvas
trembling with possibility
and terror

Second surrender:
stepping away before
perfection destroys
what honesty created

Final surrender:
laying down the brush
letting the work
speak for itself
while we
at last
rest

... coding can be the same.

_________________
¯\(°_o)/¯ “languages are not safe - uses can be” Bjarne Stroustrup
Post 16 Nov 2024, 18:44
View user's profile Send private message Visit poster's website Reply with quote
sylware



Joined: 23 Oct 2020
Posts: 456
Location: Marseille/France
sylware 17 Nov 2024, 11:45
....

"And a piece of software is finished when there is nothing else to _remove_."

That said, if I am not too mistaken, x86 fasm2 assembler is being rewritten using CALM?
Post 17 Nov 2024, 11:45
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.