flat assembler
Message board for the users of flat assembler.

Index > Programming Language Design > 386 assembly with fasm g

Goto page Previous  1, 2
Author
Thread Post new topic Reply to topic
idle



Joined: 06 Jan 2011
Posts: 440
Location: Ukraine
idle 03 Nov 2015, 15:19
command line vs the SSSO principle (same source, same output) dispute ...
Post 03 Nov 2015, 15:19
View user's profile Send private message Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8351
Location: Kraków, Poland
Tomasz Grysztar 12 Nov 2015, 10:58
idle wrote:
command line vs the SSSO principle (same source, same output) dispute ...
I would say that fasm g is even stronger manifestation of that "SSSO principle", because in this case the source needs to contain everything, including the construction of output format. In fact, that principle becomes almost meaningless for the fasm g engine itself, because simple "building block" directives like DB obviously always behave in the same way.

On the other hand, the contents of source text that gets processed may depend on the environment, sometimes largely - because the paths to source (text or binary) files may mean different things depending on context. For this reason I think that the command line options like adding a path for included files or including some additional file/text on top of source do not break the "SSSO principle" more than INCLUDE/FILE directives already do, and this made me conclude that the principle should be revised.
Post 12 Nov 2015, 10:58
View user's profile Send private message Visit poster's website Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8351
Location: Kraków, Poland
Tomasz Grysztar 12 Nov 2015, 11:05
The latest package contains the ELF executable formatting macros and the self-hosting Linux version. Only the libc version does not have the self-hosting option now, but before I start working on ELF object formatting macros (if at all) I'd prefer to add the support for floats, as this would complete the list of basic features fasm g needs and with that in place I could start preparing the 1.0 release.
Post 12 Nov 2015, 11:05
View user's profile Send private message Visit poster's website Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8351
Location: Kraków, Poland
Tomasz Grysztar 30 Nov 2015, 19:00
I managed to progress on my road map again - the new package contains an x87 example (converted "Mandelbrot set" example from fasm 1 for DOS package) which I could finish when I finally added a support for floating-point numbers into fasm g engine. I changed the version to 0.96 to mark the fact that the set of features I wanted to have for 1.0 release is nearly complete now.
Post 30 Nov 2015, 19:00
View user's profile Send private message Visit poster's website Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8351
Location: Kraków, Poland
Tomasz Grysztar 12 Jan 2016, 14:03
Finally I have libc version self-hosted, too. The ELF object formatting macros that I wrote use many forward-references to construct the ELF structures, therefore it requires a few passes to resolve any ELF source, but for fasmg self-hosting it does not matter because fasmg requires 4 passes anyway. And I like that these macros demonstrate how fasm's resolving assembly works out, it also allows them to be a bit simpler and cleaner this way. To avoid multiple passes one would have to collect all the declarations of sections, global symbols and relocations, and process them in the postponed block, this would be like fasm 1 does it internally. Still, I created the ELF object formatting macros in such a way that they produce exactly the same output as fasm 1 - this way it is simpler to check the correctness of produced file.
Post 12 Jan 2016, 14:03
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:  
Goto page Previous  1, 2

< 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.