flat assembler
Message board for the users of flat assembler.

Index > Main > flat assembler 1.67.24

Goto page 1, 2  Next
Author
Thread Post new topic Reply to topic
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8358
Location: Kraków, Poland
Tomasz Grysztar 03 Dec 2007, 20:39
As you may notice when looking at the Download section, the new version is out.

It includes two small, but noticeable changes. The first one is the refining of some of the error messages, for example, when you use the label 'alpha', but not define it, you're now going to get an error:
Code:
error: undefined symbol 'alpha'    

Also, when you redefine some constant with '=' operator (define it more than once), and try to forward-reference it, you're going to receive the message like:
Code:
error: symbol 'alpha' is out of scope    


The second change comes from the fact, that vid finally convinced me, that allowing to define constants from command line wouldn't break SSSO principle any more than allowing environment variables in file paths does.
Thus this release introduces the '-d' option in command line, which allows you to predefine the symbolic constant.
Post 03 Dec 2007, 20:39
View user's profile Send private message Visit poster's website Reply with quote
xanatose



Joined: 09 Jan 2004
Posts: 57
xanatose 03 Dec 2007, 22:09
Thank you!!!!!

I really wanted to be able to define constants on the command line.
Post 03 Dec 2007, 22:09
View user's profile Send private message Reply with quote
Ehtyar



Joined: 26 Sep 2006
Posts: 51
Ehtyar 04 Dec 2007, 00:07
Excellent, thanks Tomasz Smile

Ehtyar.
Post 04 Dec 2007, 00:07
View user's profile Send private message Reply with quote
edfed



Joined: 20 Feb 2006
Posts: 4353
Location: Now
edfed 04 Dec 2007, 00:51
really good the undefined symbol displaying.

usefull when many symbols are on the same line.
how many times i've lost my time to search the who is the missing symbol for lines like this:

mov [esi+offset],byte (val1+val2)*val3
Post 04 Dec 2007, 00:51
View user's profile Send private message Visit poster's website Reply with quote
kohlrak



Joined: 21 Jul 2006
Posts: 1421
Location: Uncle Sam's Pad
kohlrak 04 Dec 2007, 01:10
This is good.
Post 04 Dec 2007, 01:10
View user's profile Send private message Visit poster's website AIM Address Yahoo Messenger MSN Messenger Reply with quote
rhyno_dagreat



Joined: 31 Jul 2006
Posts: 487
Location: Maryland, Unol Daleithiau
rhyno_dagreat 05 Dec 2007, 04:36
Ooo! New version! =D Thank God I finished this section (the presentable part for class) of my OS before it came out so I wouldn't have to make any real modifications.
Post 05 Dec 2007, 04:36
View user's profile Send private message Reply with quote
edfed



Joined: 20 Feb 2006
Posts: 4353
Location: Now
edfed 05 Dec 2007, 04:53
there are bugs in missing simbol report.
it don't report the right symbol
Post 05 Dec 2007, 04:53
View user's profile Send private message Visit poster's website Reply with quote
LocoDelAssembly
Your code has a bug


Joined: 06 May 2005
Posts: 4624
Location: Argentina
LocoDelAssembly 05 Dec 2007, 05:04
edfed, in the two times you have said that you forgot to provide example, Tomasz is not some kind of God that can read your mind to find the bug and he is very busy to look up the code to find out if the bug actually exists, locate and fix it. If you are sure that there is a bug then use Compiler Internals forum using apporiate topic title plus minimal code demostrating the bug.
Post 05 Dec 2007, 05:04
View user's profile Send private message Reply with quote
edfed



Joined: 20 Feb 2006
Posts: 4353
Location: Now
edfed 05 Dec 2007, 05:06
ok, but later. i'm very tired now
Post 05 Dec 2007, 05:06
View user's profile Send private message Visit poster's website Reply with quote
edfed



Joined: 20 Feb 2006
Posts: 4353
Location: Now
edfed 05 Dec 2007, 08:34
ok, i know exactlly what is the bug

when more than one symbol is missing, the error report this message:

Code:
error: undefined symbol 'last undefined symbol'
..
display:
..
instruction:
first_indefined_symbol dd second_undefined_symbol
....
source:
code.asm
    
Post 05 Dec 2007, 08:34
View user's profile Send private message Visit poster's website Reply with quote
madmatt



Joined: 07 Oct 2003
Posts: 1045
Location: Michigan, USA
madmatt 05 Dec 2007, 09:51
I tried to recompile fasmw and get an error message "messages.inc : file not found". I looked inside all fasm folders and couldn't find it anywhere.
Post 05 Dec 2007, 09:51
View user's profile Send private message Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8358
Location: Kraków, Poland
Tomasz Grysztar 05 Dec 2007, 10:47
Yeah, my few small mistakes. 'Silent update' is taking place. Wink
Please re-download.
Post 05 Dec 2007, 10:47
View user's profile Send private message Visit poster's website Reply with quote
madmatt



Joined: 07 Oct 2003
Posts: 1045
Location: Michigan, USA
madmatt 05 Dec 2007, 11:36
Ok, good Very Happy , thanks! Laughing
Post 05 Dec 2007, 11:36
View user's profile Send private message Reply with quote
Mac2004



Joined: 15 Dec 2003
Posts: 314
Mac2004 07 Dec 2007, 08:56
Thomasz: Fasm 1.67.24 dos version behaves strangely under WinME. It seems to crash from time to time.
I changed back to version 1.67.22 which works like a charm... Anybody else having similar problems?

regards,
Mac2004
Post 07 Dec 2007, 08:56
View user's profile Send private message Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8358
Location: Kraków, Poland
Tomasz Grysztar 07 Dec 2007, 09:37
Mac2004: are you able to make some dump of this crash? At least the EIP and general registers state would be helpful.
Post 07 Dec 2007, 09:37
View user's profile Send private message Visit poster's website Reply with quote
revolution
When all else fails, read the source


Joined: 24 Aug 2004
Posts: 20445
Location: In your JS exploiting you and your system
revolution 07 Dec 2007, 13:35
Tomasz Grysztar wrote:
The second change comes from the fact, that vid finally convinced me, that allowing to define constants from command line wouldn't break SSSO principle any more than allowing environment variables in file paths does. Thus this release introduces the '-d' option in command line, which allows you to predefine the symbolic constant.
The first change is definitely welcomed but the second change ...

I hope we don't end up like some of those C compiling nightmares. Having to set the appropriate command line arguments just right else the whole thing falls over and breaks it's legs.

I hope everyone can keep their restraint and not try to over use the defines of constants from the command line.
Post 07 Dec 2007, 13:35
View user's profile Send private message Visit poster's website Reply with quote
vid
Verbosity in development


Joined: 05 Sep 2003
Posts: 7105
Location: Slovakia
vid 07 Dec 2007, 14:12
Quote:
I hope we don't end up like some of those C compiling nightmares. Having to set the appropriate command line arguments just right else the whole thing falls over and breaks it's legs.

I hope everyone can keep their restraint and not try to over use the defines of constants from the command line.

Like you said, this depends on people using FASM. There are cases when -d switch is only sane option. FASM can either
- not support these cases, and don't give people chance to make mess of building process
- support this cases, and allow people to make mess.

This is IMHO very similar to C# vs. C++ discussion about pointers, C vs. Asm discussion about type-checking, etc... You can either give people something powerful that can be (and will be) misused, or you can give them something that can't be used in wrong way, but is less powerfull then. I think, assembly language itself is something powerful that can be used in wrong way easily, and so assembly compiler should be such too.

I'd suggest everyone NOT to use -d until they have really good reason to do it.
Post 07 Dec 2007, 14:12
View user's profile Send private message Visit poster's website AIM Address MSN Messenger ICQ Number Reply with quote
edfed



Joined: 20 Feb 2006
Posts: 4353
Location: Now
edfed 07 Dec 2007, 14:21
yes, many coders use the command line version of fasm i think.
so that they need a simple manner to set constansts.

using the fasmw ide doesn't give any utility to this stuff, but for command line coders, it's good.

with the fasmx ide, you can modify constants and press F9,
for command line fasm, you first need to open the file in a text editor, modify the constants, save the file, and finally call the fasm.
it's boring, so vid ask for command line constant definition.

note that this command line fasm version can be called from an other program to compile some code. and then, the caller program can easy set the constant in the command line.
Post 07 Dec 2007, 14:21
View user's profile Send private message Visit poster's website Reply with quote
revolution
When all else fails, read the source


Joined: 24 Aug 2004
Posts: 20445
Location: In your JS exploiting you and your system
revolution 07 Dec 2007, 14:30
I use the command line version exclusively so setting constants when running is absolutely no problem for me.

The main reason to resist using it is because there is no record of what was compiled. The option that was set is quickly lost when the command window is closed. No permanent record of what transpired remains.

Currently I use batch files and small header/starter files to set assemble time tunable parameters. This is slightly more cumbersome with having to create a file and give it a good name, but the long term effect is worth it when I come back 3 months later and can refer to the files to help me remember what I was doing.
Post 07 Dec 2007, 14:30
View user's profile Send private message Visit poster's website Reply with quote
vid
Verbosity in development


Joined: 05 Sep 2003
Posts: 7105
Location: Slovakia
vid 07 Dec 2007, 14:39
Quote:
it's boring, so vid ask for command line constant definition.

Man, please, stop repeatedly posting things you have no idea about, claiming them to be fact. This is at least 10th case you did this.

I didn't request -d because something was "boring", but rather because something was impossible to do in sane way without it, as I already described. I demonstrated this case to Tomasz, and he agreed.

Quote:
yes, many coders use the command line version of fasm i think.
so that they need a simple manner to set constansts.

that is exactly what I and revolution warned about: NOT to overuse -d. Too much depending on command line *does* cause trouble.
Post 07 Dec 2007, 14:39
View user's profile Send private message Visit poster's website AIM Address MSN Messenger ICQ Number Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  
Goto page 1, 2  Next

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