flat assembler
Message board for the users of flat assembler.

Index > Main > flat assembler 1.67.29

Author
Thread Post new topic Reply to topic
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8360
Location: Kraków, Poland
Tomasz Grysztar 15 Nov 2008, 14:34
Here it comes, the new release with a symbolic information generator (which has been planned for a quite long time) is ready for download.

When we were on fasm's conference in Brno in 2007, I was already promising to finish it soon. Well, needless to say that it took me a bit longer than I planned. But recently I sacrificed several evenings to finally make it work.

The general idea of this extension was to make fasm dump in a specific file as many useful information about what it has done, as possible - and then some external tools would chew this information and generate some more useful things - like listing, symbols map or debug info.
The format of this dump is very fasm-specific, mainly to make sure that no information would be lost due to conversion into some simpler format - this way many of the structures are in format similar or identical to the one used by fasm internally, so if you already know some of them (from the fasm's internals documentation and also some of the threads on this board), it may find some parts of this format very familiar.

Anyway, this format is really not very friendly and even a bit messy (as fasm's data structures accumulated many various stuff during the years of development), that's why external converters will be needed to make any use of it. With fasm package there are provided three simple tools, that extract various kinds of information from it and process it into human-readable text. Other tools - according to the plan - are to be written not necessarily by me, therefore I'm attaching here the documentation draft for fasm's symbolic information format. There were some people volunteering to write conversion tools that would make some standard debug info formats out of it - I hope this can be accomplished.
If there's still some information you require but don't know how to obtain from this data, feel free to ask.

All the three tools provided in the fasm's package (the listing, preprocessed source dump and symbols dump) do things that earlier were done by the unofficial or semi-official hacks posted on this board. Therefore this release makes those extensions obsolete.
Post 15 Nov 2008, 14:34
View user's profile Send private message Visit poster's website Reply with quote
asmcoder



Joined: 02 Jun 2008
Posts: 784
asmcoder 15 Nov 2008, 15:42
[content deleted]


Last edited by asmcoder on 14 Aug 2009, 14:55; edited 1 time in total
Post 15 Nov 2008, 15:42
View user's profile Send private message Reply with quote
LocoDelAssembly
Your code has a bug


Joined: 06 May 2005
Posts: 4624
Location: Argentina
LocoDelAssembly 15 Nov 2008, 16:09
Tomasz, I'm uploading without optimal fill so the tables look good even outside FASMW.


Description:
Download
Filename: fas[No-optimal-fill].txt
Filesize: 21.39 KB
Downloaded: 907 Time(s)

Post 15 Nov 2008, 16:09
View user's profile Send private message Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8360
Location: Kraków, Poland
Tomasz Grysztar 15 Nov 2008, 16:10
They look good in Windows Notepad too, I don't know what you're talking about. Wink
Post 15 Nov 2008, 16:10
View user's profile Send private message Visit poster's website Reply with quote
windwakr



Joined: 30 Jun 2004
Posts: 827
windwakr 15 Nov 2008, 16:19
Neat, gives alot of info.
Post 15 Nov 2008, 16:19
View user's profile Send private message Reply with quote
Mac2004



Joined: 15 Dec 2003
Posts: 314
Mac2004 15 Nov 2008, 19:15
Glad to here that Fasm is evolving.... Smile

regards,
Mac2004
Post 15 Nov 2008, 19:15
View user's profile Send private message Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8360
Location: Kraków, Poland
Tomasz Grysztar 16 Nov 2008, 21:44
The only thing left to do tu fullfill my plan for 1.67.x development line is finishing the SSE4 support - then I'm going to release the 1.68 milestone. I will now give you some time for testing, though. Wink

BTW, I managed to still keep the fasm's code under the 64k limit, so the unREAL version for DOS should still work correctly in these releases.
Post 16 Nov 2008, 21:44
View user's profile Send private message Visit poster's website Reply with quote
asmfan



Joined: 11 Aug 2006
Posts: 392
Location: Russian
asmfan 17 Nov 2008, 09:54
Is it possible to make datatypes as numeric constants in some cases? when not define some data they represent the size in bytes of itself, e.g. byte=1, word=2, etc. also tchar=1|2 depending Wink not the first time i ask.
i know it is done for masm-like "datatype PTR [X]" but it's not for masm-like "datatype1 PTR [X+datatype2]"
Post 17 Nov 2008, 09:54
View user's profile Send private message Reply with quote
DOS386



Joined: 08 Dec 2006
Posts: 1905
DOS386 04 Dec 2008, 07:42
asmcoder wrote:

> why is this so important?
> debugging? if i debug a file that mean its protected
> somehow, and definitly i dont have source.
> if i have source... why debug ?

Your code is always bugfree ? Shame on me and Tomasz then Laughing

Tomasz wrote:

> The only thing left to do tu

Besides warring on trolls Sad

> then I'm going to release the 1.68 milestone.

Smile Please include my code from other tread Smile

> generate some more useful things - like listing, symbols map or debug info.
> I will now give you some time for testing, though

OK, some tests:

+ It works Smile
+ Fixed an old "legacy fault" of FASM

There is some space for improvements, still:

- "tools" are source only (I got them compiled ...)

- No info about, nor progress indicator for saving the (huge) debug file

- Doesn't default to a useful filename, IMHO

Code:
FASM BLAH.ASM -s
    


should brew BLAH.EXE (or whatever the format directive requests) plus BLAH.FDB .

- TFM not updated ... actually the -D switch hasn't been added either. So we have M P S D for now Smile

- Listings are not very well formatted, width cca 200 chars - don't see anything on the screen with 80 width ! Solution:
- - Don't default to 64-bit, pick default from use directive
- - Add an "override size" switch to tools (8 16 24 32 40 48 56 64 bits) - format numbers beyond range as "????"
- - Add an "encoding length limit" switch overriding the default 15 (?) bytes, postpone to next line what's too much
Post 04 Dec 2008, 07:42
View user's profile Send private message Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8360
Location: Kraków, Poland
Tomasz Grysztar 04 Dec 2008, 08:59
DOS386 wrote:
- "tools" are source only (I got them compiled ...)

Since those tools are only useful for you when you've got fasm already working, it's natural assumption you shouldn't have any trouble getting them compiled - and this keeps the package smaller. Wink

DOS386 wrote:
- No info about, nor progress indicator for saving the (huge) debug file

Just like with the assembly itself. Or do you mean I should add information about how many bytes were written into debug file? That's an easy addition.

DOS386 wrote:
- Doesn't default to a useful filename, IMHO

I may think about it, but I don't feel it's really that important.

DOS386 wrote:
- TFM not updated ... actually the -D switch hasn't been added either. So we have M P S D for now Smile

Look here:
http://board.flatassembler.net/topic.php?p=85223#85223
The -D may never actually get documented. Wink

DOS386 wrote:
- - Don't default to 64-bit, pick default from use directive

The "use" directive has not much to do with this, as fasm's addresses are always 64-bit

DOS386 wrote:
- - Add an "encoding length limit" switch overriding the default 15 (?) bytes, postpone to next line what's too much

There is a switch for this in the listing tool. Have you overlooked it? Wink
Post 04 Dec 2008, 08:59
View user's profile Send private message Visit poster's website Reply with quote
DOS386



Joined: 08 Dec 2006
Posts: 1905
DOS386 04 Dec 2008, 09:28
Tomasz Grysztar wrote:
only useful for you when you've got fasm already working, it's natural assumption you shouldn't have any trouble getting them compiled - and this keeps the package smaller.


Good point ... still, they are not that bloated and there are other ways how to reduce size of the package Wink

Quote:
Just like with the assembly itself.


Except the debug file is cca 100 times bigger Laughing

Quote:
Or do you mean I should add information about how many bytes were written into debug file? That's an easy addition.


Something like "Writing BLAH.FDB ..." and one additional dot per 64 KiB or so Wink

(default filename)
Quote:
think about it, but I don't feel it's really that important.


Smile

Quote:
The -D may never actually get documented.


I see the point ... Neutral

Quote:
The "use" directive has not much to do with this, as fasm's addresses are always 64-bit


Internally ... but there is no point to see stuff like 0000000000000123 in 16-bit code Wink

Quote:
There is a switch for this in the listing tool. Have you overlooked it?


oops
Post 04 Dec 2008, 09:28
View user's profile Send private message Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8360
Location: Kraków, Poland
Tomasz Grysztar 04 Dec 2008, 15:07
DOS386 wrote:
Except the debug file is cca 100 times bigger

Well, If you wish you can get the output that is 100 times bigger than debug info, too. Wink
In the past, there existed sources that took fasm about half an hour to assemble, and it was still silent.
I'm not saying that progress indicator is a bad thing, I just mean that it wouldn't make much sense to make progress indicator for the debug info, while there would be no such indicator for the assembly itself.

DOS386 wrote:
Internally ... but there is no point to see stuff like 0000000000000123 in 16-bit code Wink

Still, it is possible with fasm to have 16-bit code generated with "org" set to something like 0x12345678ABCDEF.

As I noted in the release announcement, I encourage people to make their own tools processing 'fas' format, those provided with package are not intended to be everything there is for this purpose. Thus I suggest you might want to make own variant of listing tool and release it.
Though I think it's more important now to get some tools able to make some recognizable debug info format out of 'fas'.
Post 04 Dec 2008, 15:07
View user's profile Send private message Visit poster's website Reply with quote
DOS386



Joined: 08 Dec 2006
Posts: 1905
DOS386 06 Dec 2008, 07:29
> existed sources that took fasm about half an hour to assemble, and it was still silent.

Bad algo or slow CPU ? Laughing I'd like to see FASM selfcompiling on an 80386 with 10 MHz one day Wink Anyway, a progress indicator (one dot per pass) would be cool. I somewhat dislike a frozen or quasi-frozen PC Sad

> possible with fasm to have 16-bit code generated with "org" set to something like 0x12345678ABCDEF.

For the heck Laughing

> you might want to make own variant of listing tool and release it.

OK. Neutral BTW, are you going to include my improvements of IDE and core ( "_big_number_as_dec_" ) ? Question

> it's more important now to get some tools able to make some recognizable debug info format

What is "recognizable" ? DWARF / STABS ?

> out of 'fas'.

COOL. so "fas" is the official name ? FDB would be better IMHO. Some people use things like .NAS .FAS .WAS .RAS for NASM / FASM / WASM / RossASM etc.

> The -D may never actually get documented.

Still, I have a different (better ?) idea. Now EXE documents it fully and manual not at all. Sad Why not do same at both places: -D see DESIGN.TXT file and include the file and "hide" the evil info into it. Laughing
Post 06 Dec 2008, 07:29
View user's profile Send private message Reply with quote
Madis731



Joined: 25 Sep 2003
Posts: 2139
Location: Estonia
Madis731 07 Dec 2008, 19:02
Yeei, SSE4 Very Happy

Sorry, got carried away 'cuz I have an i7 to test it on: http://www.tud.ttu.ee/~t060429/Up/Showoff.png
Post 07 Dec 2008, 19:02
View user's profile Send private message Visit poster's website Yahoo Messenger MSN Messenger Reply with quote
baldr



Joined: 19 Mar 2008
Posts: 1651
baldr 07 Dec 2008, 21:10
Tomasz Grysztar wrote:
…16-bit code generated with "org" set to something like 0x12345678ABCDEF.
0x123456789ABCDEF0 to completely abuse 64 bits… Wink

I'm still trying to write .fas-to-.pdb converter, they're so orthogonal…

DOS386,

Even better:
"For -D use the dark side of the power, Luke…" Wink

_________________
"Don't belong. Never join. Think for yourself. Peace." – Victor Stone.
Post 07 Dec 2008, 21:10
View user's profile Send private message Reply with quote
shoorick



Joined: 25 Feb 2005
Posts: 1614
Location: Ukraine
shoorick 08 Dec 2008, 05:46
DOS386 wrote:
FDB would be better IMHO. Some people use things like .NAS .FAS .WAS .RAS for NASM / FASM / WASM / RossASM etc.

it's quite hard to satisfy each one of "some people" at once. personally i use FDB as firebird database (and hope, i'm not alone)

_________________
UNICODE forever!
Post 08 Dec 2008, 05:46
View user's profile Send private message Visit poster's website Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8360
Location: Kraków, Poland
Tomasz Grysztar 08 Dec 2008, 09:24
On the other hand, I've seen .FSM used for fasm, .TSM for TASM, etc.
Post 08 Dec 2008, 09:24
View user's profile Send private message Visit poster's website Reply with quote
asmfans



Joined: 24 Jan 2008
Posts: 5
Location: China
asmfans 12 Dec 2008, 00:32
I hope fasm1.68 will become a stable version.
Post 12 Dec 2008, 00:32
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.