flat assembler
Message board for the users of flat assembler.
 Home   FAQ   Search   Register 
 Profile   Log in to check your private messages   Log in 
flat assembler > Main > 32-bit FASM dead. 64-bit FASM?

Author
Thread Post new topic Reply to topic
alexfru



Joined: 23 Mar 2014
Posts: 51

32-bit FASM dead. 64-bit FASM?

With 32-bit app support going away in 64-bit OSes in the coming years (e.g. no 32-bit support in Windows Subsystem for Linux, and recent Apple MacOS announcement), what's the future of FASM?
Post 14 Apr 2018, 06:42
View user's profile Send private message Reply with quote
Tomasz Grysztar
Assembly Artist


Joined: 16 Jun 2003
Posts: 6769
Location: Kraków, Poland

In case of fasm 1 the problem of some Linux kernels not supporting 32-bit executables had been treated with macro tricks allowing to assemble the source of fasm 1 into an actual 64-bit executable (though still with the 4G memory limitation). The fasm.x64 has been included in the official Linux package since then.

As for the fasm g, my original intention was to make a fully featured 64-bit version by rewriting the source when a need arises. The source of fasmg is written in such way that this should not be hard to do. But there has been no strong incentive to do that, the 32-bit executables remain more universal even now (to complicate matters further, there are things like Windows 10 on ARM being able to run 32-bit x86 programs but not 64-bit ones).
Post 14 Apr 2018, 08:05
View user's profile Send private message Visit poster's website Reply with quote
Furs



Joined: 04 Mar 2016
Posts: 1071

Wasn't Apple going to start the switch to ARM by 2020? Since they said they will stop buying Intel chips by then. So an x86 assembler for that stupid platform doesn't seem like it will be much of a deal.
Post 14 Apr 2018, 13:16
View user's profile Send private message Reply with quote
Tomasz Grysztar
Assembly Artist


Joined: 16 Jun 2003
Posts: 6769
Location: Kraków, Poland

By the way, when I wrote about this originally, I mentioned that the way fasmg is written, it should even be possible to convert its source to other architectures with not that much of a problem, not necessarily just x64. At least I believe I could do it.

An interesting possibility is converting in into ARM instructions. I still have no official macros for the ARM instruction set, but there have been others working on that.

One may wonder, when I consider adapting the fasmg sources to multiple architectures like that, why did I choose to write it in assembly at all, when writing it in C would make it so much easier? A simple answer could be that I considered self-hosting an important feature. But at the time when I was preparing the early releases of fasmg, I did not even know that self-hosting would be viable, I was afraid the self-assembly times could be much worse than what they finally turned out to be.

The main reason was that I have been programming in assembly so much in my life, that no other language comes even close. So even though I have much experience working with many different programming languages, through assembly I can express my ideas with an ease that no other language gives me, it is as if writing in assembly was akin to speaking my native language.

When one wants to write a story, they are going to write in a language that they not only can speak fluently, but the one they know so well that they can easily manipulate it to express exactly what they want to say. For me, when I create a project like fasm g, it is like writing a story. And thus I had no other choice but to write it in the language in which I am able to speak freely like in no other one. The fun of self-hosting is then just an afterthought.
Post 15 Apr 2018, 10:43
View user's profile Send private message Visit poster's website 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


Main index   Download   Documentation   Examples   Message board
Copyright © 2004-2018, Tomasz Grysztar.
Powered by rwasa.