flat assembler
Message board for the users of flat assembler.

Index > Projects and Ideas > setup-fasm GitHub action (and assembly sequent solver)

Author
Thread Post new topic Reply to topic
swdv



Joined: 28 Mar 2018
Posts: 5
swdv 05 May 2022, 12:40
Hey all!

I created a GitHub action you can use to download flat assembler in a GitHub workflow such that you can automatically assemble your fasm 1 / fasm g / FASMARM project on a Windows or Linux runner: https://github.com/marketplace/actions/setup-fasm

I hope it may be useful to you!

I already tested it with some old project I made back in 2018, which is a sequent (propositional logic) solver in fasm, see https://github.com/stevenwdv/asmsequent. This is an x86-64 Windows GUI application.

Besides the fasm edition, it also allows you to choose the version to use. However, currently not all old versions are archived in some central place, see the Previous FASM Versions topic, so it tries to download them from various websites. A different solution may be more ideal.
Post 05 May 2022, 12:40
View user's profile Send private message Visit poster's website Reply with quote
bitRAKE



Joined: 21 Jul 2003
Posts: 4166
Location: vpcmpistri
bitRAKE 06 May 2022, 09:26
Very nice.

Wonder if there is a way to use the versions on github? They are not tagged with the version, but they can be seen in the commit log:

https://github.com/tgrysztar/fasm/commits/master
https://github.com/tgrysztar/fasmg/commits/master

Here is the oldest version of fasm:
https://github.com/tgrysztar/fasm/commit/61a1789231e7391a7cff2d6c368fcf251ef3c13e

Thank you, this will be useful.

_________________
¯\(°_o)/¯ “languages are not safe - uses can be” Bjarne Stroustrup
Post 06 May 2022, 09:26
View user's profile Send private message Visit poster's website Reply with quote
swdv



Joined: 28 Mar 2018
Posts: 5
swdv 06 May 2022, 11:49
bitRAKE wrote:
Very nice.

Wonder if there is a way to use the versions on github? They are not tagged with the version, but they can be seen in the commit log:

https://github.com/tgrysztar/fasm/commits/master
https://github.com/tgrysztar/fasmg/commits/master

Here is the oldest version of fasm:
https://github.com/tgrysztar/fasm/commit/61a1789231e7391a7cff2d6c368fcf251ef3c13e

Thank you, this will be useful.


Smile
Yes I saw that, but those releases only contain the source code and not the binaries, so they would need to be compiled first. Also, I think that the older versions only work on DOS.
Post 06 May 2022, 11:49
View user's profile Send private message Visit poster's website Reply with quote
swdv



Joined: 28 Mar 2018
Posts: 5
swdv 06 May 2022, 12:35
By the way, I haven't worked with fasmg yet myself, but as I understand you have to download the packages for CPU & OS support separately from the binary distribution, do you know if that is correct? In that case I could add a feature to download those to the script.
Post 06 May 2022, 12:35
View user's profile Send private message Visit poster's website Reply with quote
bitRAKE



Joined: 21 Jul 2003
Posts: 4166
Location: vpcmpistri
bitRAKE 06 May 2022, 13:44
Every fasmg has windows, linux, and macOS executables in the branch.

For example, in the first commit we have:
Code:
fasmg/core/fasmg                linux
fasmg/core/fasmg.exe            windows
fasmg/core/source/macos/fasmg   macos    
... later commits added x64 variants for linux and macos - for systems without x32 support.

For fasm, I think the script would need to build fasm from some common denominator. Tomasz would know better than anyone if this is achievable with minimal cases. No doubt he has extensive tests and configurations in his own setup. I'm thinking maybe build fasm from fasmg.

_________________
¯\(°_o)/¯ “languages are not safe - uses can be” Bjarne Stroustrup
Post 06 May 2022, 13:44
View user's profile Send private message Visit poster's website Reply with quote
bitRAKE



Joined: 21 Jul 2003
Posts: 4166
Location: vpcmpistri
bitRAKE 07 May 2022, 12:23
Just to be pedantic, I'm implying to use fasmg(A) to bootstrap fasm(B). Typically with compiler building the pattern is A builds B', then B' builds B. This should insure a byte exact executable for the intended version.

_________________
¯\(°_o)/¯ “languages are not safe - uses can be” Bjarne Stroustrup
Post 07 May 2022, 12:23
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


Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.

Website powered by rwasa.