flat assembler
Message board for the users of flat assembler.

Index > Main > flat assembler 1.51

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



Joined: 16 Jun 2003
Posts: 3499
Location: Bulgaria
JohnFound 26 Jan 2004, 14:55
Privalov wrote:
What about data labels (like "something db 0")?


IMHO, definitely no. It's completely another story. It should be possible to define local labels to data labels.
Post 26 Jan 2004, 14:55
View user's profile Send private message Visit poster's website ICQ Number Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8351
Location: Kraków, Poland
Tomasz Grysztar 26 Jan 2004, 14:59
Yes, you're right. And I have just realized that with changing it only for numerical constants I don't have to update the documentation. In fact it is more consistent with documentation now, so I can even consider it a bugfix. Wink (I am updating the release on website now)
Post 26 Jan 2004, 14:59
View user's profile Send private message Visit poster's website Reply with quote
comrade



Joined: 16 Jun 2003
Posts: 1150
Location: Russian Federation
comrade 26 Jan 2004, 16:47
Won't this break struct macro? sizeof, virtual at 0, etc?

_________________
comrade (comrade64@live.com; http://comrade.ownz.com/)
Post 26 Jan 2004, 16:47
View user's profile Send private message Visit poster's website AIM Address Yahoo Messenger MSN Messenger ICQ Number Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8351
Location: Kraków, Poland
Tomasz Grysztar 26 Jan 2004, 17:31
No. And everything compiles fine in my tests.
Post 26 Jan 2004, 17:31
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 27 Jan 2004, 12:39
I have also added the promised Prescott New Instructions support - it's beta 3 now.
Post 27 Jan 2004, 12:39
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 28 Jan 2004, 16:37
One more update - with little bug fix for large octal constants and documentation updated to cover the new Prescott instructions.
Also FASMW has been updated a bit - now it stores the maximized state in .ini file and the right click in editor finally gives you some menu.

Great thanks to all users who helped me to make this updates.
Post 28 Jan 2004, 16:37
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 28 Jan 2004, 18:10
Is the new prescott processor from intel called Pentium Extreme Edition?
Post 28 Jan 2004, 18:10
View user's profile Send private message Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8351
Location: Kraków, Poland
Tomasz Grysztar 28 Jan 2004, 18:48
http://www.xbitlabs.com/news/cpu/display/20031203151532.html
It seems they are calling it SSE3 now. Confused
Post 28 Jan 2004, 18:48
View user's profile Send private message Visit poster's website Reply with quote
MazeGen



Joined: 06 Oct 2003
Posts: 977
Location: Czechoslovakia
MazeGen 28 Jan 2004, 20:48
Quote:
It seems they are calling it SSE3 now.


AFAIK "Prescott" is only code-name.

_________________
x86asm.net
Post 28 Jan 2004, 20:48
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 05 Feb 2004, 19:15
hi, as i know, main 1.51 speedup was storing labels in binary tree. Couldn't be instruction mnemoznics stored in such tree too? they are used much more than labels.
Post 05 Feb 2004, 19:15
View user's profile Send private message Visit poster's website AIM Address MSN Messenger ICQ Number Reply with quote
S.T.A.S.



Joined: 09 Jan 2004
Posts: 173
Location: Ru#27
S.T.A.S. 08 Feb 2004, 07:51
Hi, Privalov
First of all thanks, great FASM!

I noticed some strange situation with include files of 2nd nesting level.
(well, main.asm includes some.inc, and some.inc includes second.inc)

When I write in main.asm or some.inc code like that:
Code:
macro    foo     {
bla bla
    
I of course get "unexpected end of file" error.

But when I write above code in second.inc,
this compiles without any errors.

May be this bug appears just in some cases, but could be really weird, IMHO
(exe: flat assembler version 1.51 / January, 31)


Regards,
S.T.A.S.
Post 08 Feb 2004, 07:51
View user's profile Send private message Reply with quote
JohnFound



Joined: 16 Jun 2003
Posts: 3499
Location: Bulgaria
JohnFound 08 Feb 2004, 09:17
Hm, actually I can't reproduce this bug.
Here is the files that I create using above description, but I get proper "Unexpected end of file" error.

[edit]attachement removed[/quote]


Last edited by JohnFound on 16 May 2004, 23:54; edited 1 time in total
Post 08 Feb 2004, 09:17
View user's profile Send private message Visit poster's website ICQ Number Reply with quote
S.T.A.S.



Joined: 09 Jan 2004
Posts: 173
Location: Ru#27
S.T.A.S. 09 Feb 2004, 01:54
Oh, sorry, I haven't posted an example. Here's my version now.
May be there is something wrong with my understanding of macro preprocessing?

The problem is, I suppose, with brackets '}'.
FASM allows some tricks when we write in one file something like
Code:
macro foo {
{}       
    

But when it's is separated in different files, sometimes it could be difficult to locate the unclosed brackets.
Still, I'm not sure is it really bug or not.


Description:
Download
Filename: BugProj.zip
Filesize: 566 Bytes
Downloaded: 653 Time(s)

Post 09 Feb 2004, 01:54
View user's profile Send private message Reply with quote
JohnFound



Joined: 16 Jun 2003
Posts: 3499
Location: Bulgaria
JohnFound 09 Feb 2004, 03:01
Ah, you are talking about this case. It is not because the nesting of files.
There is no "nested" brackets in FASM macro syntax.
Simply the above mentioned macro is normally defined macro that contains the sign "{". When you use it somewhere in the text of the program, it will insert in the source the "{" char. That's all. If you want to play with macroses that create another macroses, that creat... Wink You should use "fix" directive to play with brackets. See for example "globals.inc" file from Fresh source files.

Regards
Post 09 Feb 2004, 03:01
View user's profile Send private message Visit poster's website ICQ Number Reply with quote
S.T.A.S.



Joined: 09 Jan 2004
Posts: 173
Location: Ru#27
S.T.A.S. 09 Feb 2004, 04:44
Thanks, JohnFound
I have studied a lot from "globals.inc". It is good example about FASM's power.

Well, it's really good trick to define a macro by another macro. And I'm trying to use this as frequently as it is possible.
Of course I'm using fix directive to define "internal" brakets. My macro isn't from real code, it's just to simplify situation.

Problem is (well, could be) when I forgot to write '}' (or '_m fix }' ) in some include file just by mistake.
Then FASM could interpret some unwanted code in other file as a part of my macro.
And to locate this one forgotten bracket in some big project may be not so easy.
Especially in the case, when some (defined by macro) code may (or may not) be compiled depending on some condition(s) and several "purge" are used.
Of course, it isn't a big deal with a small project (where I have noticed it) .

I'm not sure is it good idea to check unclosed macro's brackets at the end of include file by FASM or not.
IMHO it's not a real compiler bug, but feature we should sometimes care about.


Regards
(and sorry for my English)
Post 09 Feb 2004, 04:44
View user's profile Send private message Reply with quote
JohnFound



Joined: 16 Jun 2003
Posts: 3499
Location: Bulgaria
JohnFound 09 Feb 2004, 05:15
Hi, S.T.A.S

Thank you for compliments. Smile They are for many people because globals.inc is collective work.

S.T.A.S. wrote:
Well, it's really good trick to define a macro by another macro. And I'm trying to use this as frequently as it is possible.


Don't do it "as frequently as possible". Smile It is powerfull, but quite hard to follow trick. If you can do the job without it, better IMHO avoid.

Quote:
And to locate this one forgotten bracket in some big project may be not so easy.


I am agree with you. It is a problem for FASM that the message "unexpected end of file" is non-informative and don't help for solving the problem. Privalov should think out something about this. But I am not agree that that "something" should be check at the end of the file. Because this will artificaly reduce the features of FASM without so big benefit, because some source files are quite big, so if you get the message at the end of the file, it won't help you so much to find the problem.

Regards
Post 09 Feb 2004, 05:15
View user's profile Send private message Visit poster's website ICQ Number Reply with quote
aaro



Joined: 21 Jun 2003
Posts: 107
Location: hel.fi
aaro 09 Feb 2004, 15:55
S.T.A.S.:
Look at this thread: http://board.flatassembler.net/topic.php?t=619
It's quite helpfull to have 'fixes.inc' when your working with nested macros, so you don't need to invent new names for {, } and like in every include file you have(you know that the fix has to be defined after macro definition?).

All:
Please give me better symbol for fixed #, i don't think that every keyboard has ¤ symbol easily accessible(in my keyboard it's next to #).
Post 09 Feb 2004, 15:55
View user's profile Send private message Reply with quote
S.T.A.S.



Joined: 09 Jan 2004
Posts: 173
Location: Ru#27
S.T.A.S. 10 Feb 2004, 01:50
Thanks, aaro
It's easier, than think about unique names in every file Smile
Post 10 Feb 2004, 01:50
View user's profile Send private message 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.