flat assembler
Message board for the users of flat assembler.

Index > Main > Should FASM Support High-Level Constructs?

Goto page Previous  1, 2, 3  Next

Fasm Support for High-Level Constructs?
Yes
40%
 40%  [ 8 ]
No
60%
 60%  [ 12 ]
Total Votes : 20

Author
Thread Post new topic Reply to topic
JohnFound



Joined: 16 Jun 2003
Posts: 3502
Location: Bulgaria
JohnFound
art_sands wrote:
when did i say i like HLL? Well, you need to be practical to understand what I have posted above. Read it very carefully.
I only asked for flexibility for migrators so that our community exceeds that of C/C++ or other langs. Anyway, thanks for answering.


Well, I am talking for the same. Smile
Look in 'include/macro/if.asm'.

Regards
Post 28 Nov 2003, 22:53
View user's profile Send private message Visit poster's website ICQ Number Reply with quote
Tommy



Joined: 17 Jun 2003
Posts: 489
Location: Norway
Tommy
In my opinion, FASM is FASM! I like it the way it is... Pure and simple, but though extremely powerful! Keep it up Tomasz! Wink
Post 29 Nov 2003, 13:16
View user's profile Send private message Visit poster's website Reply with quote
art_sands



Joined: 23 Oct 2003
Posts: 55
art_sands
I love FASM! But you are thinking only about yourself, isn't it? Only because you like it the way it is. If you want a revolution in assembly, FASM is THE tool to do it, and excellent support for potential users is the most fundamental requirement. I only said this because I wanted opinions and the another main reason was:

"I want people to shift from C/C++ and other languages to FASM and assembly."

It's a tough ask, and probably overstretched to say so. But it becomes only more difficult if you don't let things evolve. So, this should not be taken as a destructive suggestion, but a constructive one. If you now have 10 people using your program, catering to the needs of a thousand may increase your user base enormously to ten thousand and then millions. Word of mouth has it's powers!

The point you don't understand is YOU are free to choose to do what YOU want to. Even if constructs are supported, you choose whether you use them or not. As simple as that.

Keep up the good work Privalov. Remember I will never force you to incorporate anything. You decide yourself, whether you want FASM to evolve quickly or slowly. YOUR CHOICE.

Regards,
Art
Post 29 Nov 2003, 13:30
View user's profile Send private message Reply with quote
silkodyssey



Joined: 02 Oct 2003
Posts: 198
Location: St.Vincent & the Grenadines
silkodyssey
Tommy,

You're right. Fasm is what it is and we use it because we like what it is. There are a lot of assemblers out there and thats good because no single assembler is right for everyone. So if an assembler lacks a feature we want we may find it in another assembler. If we can't find it in another assembler and can't implement it with macros we would have to do with Randy did and create our own assembler Smile. Anyway, I think fasm's macro system is powerful enough to emulate the high level style of programming well. The macro system is one of fasm best features and I would like to see it get more powerful. I would like it to get powerful enough so that I can create a macro that does

Code:
 

.if eax == 0  && edx == 1

.endif 
    


instead of
Code:
 
.if, eax, e , 0 

.endif 
    

_________________
silkodyssey
Post 29 Nov 2003, 13:35
View user's profile Send private message MSN Messenger Reply with quote
Tommy



Joined: 17 Jun 2003
Posts: 489
Location: Norway
Tommy
I just shared my opinions... Confused Isn't it better to keep FASM as it is, and maybe work on another HLA-like compiler for FASM only (written in FASM of course)?? Cool IMHO, that would be cool!

[edit]I wrote this while you were posting, silkodyssey... Thanks... I do agree with you... Extending FASM's macro system may solve our requests...?[/edit]

Best regards,
Tommy
Post 29 Nov 2003, 13:37
View user's profile Send private message Visit poster's website Reply with quote
silkodyssey



Joined: 02 Oct 2003
Posts: 198
Location: St.Vincent & the Grenadines
silkodyssey
I like your idea tommy but what I had in mind was using fasm as a starting point and extending it, with a new name of course. I don't know anything about compiler / assembler design so I don't know if it would be better to extend fasm or start from scratch. Anyway its a nice idea Smile

_________________
silkodyssey
Post 29 Nov 2003, 13:42
View user's profile Send private message MSN Messenger Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 7750
Location: Kraków, Poland
Tomasz Grysztar
silkodyssey: if you really would like to use such constructs, you should actually consider using some compiler with fasm as a back-end (or write your own one Wink). That's why I've proposed the HLA in my post above, as the HLA itself is such a compiler (it's not the assembler itself!).

Also those arguments are the ones I had to deal with continuosly during the last three years of the fasm developement, and it always was hard to explain why it can't be done for the fasm. Well, this time I also fail, as I failed to finish the internals documentation - i really should finish it one day, to let you see on what I was concentrating all my time dedicated to the fasm's development.
Post 29 Nov 2003, 13:51
View user's profile Send private message Visit poster's website Reply with quote
art_sands



Joined: 23 Oct 2003
Posts: 55
art_sands
If developing a new assembler would help, I'd have started long back. The problem with developing a new system is waste of effort. Do you know why people prefer C/C++. It saves development time. And time is the MOST precious thing in the world. You lose time, you lose life.

If you live up to be 81, you'll have spent 27 yrs sleeping! Calculate how much you've slept until now. Very Happy

Time is money, and time is everything. the problem with macros is that users will ask questions about non-functional code to the developers of the assembler! There will be a zillion user-customized versions and so many bugs that you'll spend more time debugging than being creative. Instead, if there is a single developer source, you can report bugs to one entity. So let the world contribute to FASM.

Don't waste time on only debugging. Debugging MUST be done to learn assembly though. Instead, be creative, lure others into using FASM, and add more features to FASM itself. I don't want me or anybody to waste effort on redesigning and rewriting everything. Microsoft is already several years ahead of us. They had a 64-bit version of Windows when they released Windows NT. NASA used 64-bit technologies long time back. We are using old discarded stuff.

Realize, where our revolution is. You don't want Billy G's prediction of assembly dying to come true, do you? I don't.

Regards,
Art
Post 29 Nov 2003, 14:00
View user's profile Send private message Reply with quote
silkodyssey



Joined: 02 Oct 2003
Posts: 198
Location: St.Vincent & the Grenadines
silkodyssey
Privalov wrote:

silkodyssey: if you really would like to use such constructs, you should actually consider using some compiler with fasm as a back-end (or write your own one ). That's why I've proposed the HLA in my post above, as the HLA itself is such a compiler (it's not the assembler itself!).


I actually use HLA sometimes. It's great for console programs but not so much for windows programs though. If it were as fast as fasm I wouldn't have any problem. Smile Anyway I don't really need the HLL control structures though it would be nice. The HLL macros do a good enough job when I use them Smile

Privalov wrote:

Also those arguments are the ones I had to deal with continuosly during the last three years of the fasm developement, and it always was hard to explain why it can't be done for the fasm.


I think I understand you now. The way fasm was designed makes it not feasible to implement these structures or it doesn't fit the purpose for which fasm was designed.

Privalov wrote:

Well, this time I also fail, as I failed to finish the internals documentation - i really should finish it one day, to let you see on what I was concentrating all my time dedicated to the fasm's development.


Hopefully you'll finish it one day. Anyway I like what you've done with fasm. Low level but with a powerful macro system. Any plans for making it even more powerful? Smile

_________________
silkodyssey
Post 29 Nov 2003, 14:08
View user's profile Send private message MSN Messenger Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 7750
Location: Kraków, Poland
Tomasz Grysztar
art_sands: I did not mean developing a new assembler. As the assembler fasm already does almost all it would ever need to (and the lacks it has are not the ones you've pointed to). I mean writing a additional compiler - that is a "preprocessor", as you might call it. If you don't want to use two separate programs, you could always link it with fasm into one executable - as you've got all the sources. And using fasm as a back-end really saves you a lots of work while making such compiler - during the multi-pass assembly it resolves all the labels for you, generates the shortest possible instruction codes, generates the relocations if needes, etc. etc.
Post 29 Nov 2003, 14:08
View user's profile Send private message Visit poster's website Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 7750
Location: Kraków, Poland
Tomasz Grysztar
silkodyssey wrote:
Hopefully you'll finish it one day. Anyway I like what you've done with fasm. Low level but with a powerful macro system. Any plans for making it even more powerful? Smile

Maybe gather in one place all the macro tricks that has been designed for fasm yet and then document them with detailed comments etc.? That would really help people in making their own macros to the specialized purposes of their own projects, and also making more general-use macros that could be made available as a kind of "standard macro library" for fasm.
Post 29 Nov 2003, 14:12
View user's profile Send private message Visit poster's website Reply with quote
art_sands



Joined: 23 Oct 2003
Posts: 55
art_sands
Privalov, you're somewhat right. However, consider working in a team. I already said this about macros, but i'm saying it again. In a production code team, you CANNOT use your own nittygritty stuff anywhere you want to. You have to work according to design considerations and specifications. Flexibility in programming from one source is what makes a company or a team benefit real time.

FASM may be usable as a compiler backend, but if you want users to develop front-ends, there will be several and thus increasing code vulnerability. Instead, if all of them concentrate on one thing and one thing only, the quality of production code improves enormously.

FASM is perhaps becoming the most powerful assembler ever to be made. We could write stuff with FASM as back-end, but it would still mean reinventing the wheel.

And in case you're worried about HLL constructs, I don't use them as much. But beginners cannot live without it. If you want MORE people to use FASM, do what THEY would want. You are the service provider, they are the wish-makers. If you cannot grant wishes, they will surely turn to something else.

Regards,
Art
Post 29 Nov 2003, 14:19
View user's profile Send private message Reply with quote
silkodyssey



Joined: 02 Oct 2003
Posts: 198
Location: St.Vincent & the Grenadines
silkodyssey
Privalov wrote:


Maybe gather in one place all the macro tricks that has been designed for fasm yet and then document them with detailed comments etc.?


Yes please do. I hate thinking that there's untapped power in the macro system. Smile

Privalov wrote:

That would really help people in making their own macros to the specialized purposes of their own projects, and also making more general-use macros that could be made available as a kind of "standard macro library" for fasm.



The macros provided with fasm seem like a standard to me because I haven't seen too many fasm sources for windows programs that don't use
these macros

art_sands,

Right now there are a lot of assemblers to choose from. Each with its weaknesses and strengths. Each assembler author designed his assembler with a purpose in mind. It seems like Privalov designed fasm with the intention of it being used as a compiler back end. This is fasm's purpose and I don't really think we need to change that. Where fasm falls short something else will fill that gap. What you want fasm to be already exists. Its called HLA. Very Happy. Randy designed it for beginners as well as advanced programmers. HLA's current implementation is as a compiler but Randy has plans to create an assembler for it ( HLA 2.0 ). No one knows when he will get around to doing it because all these book projects he has keeps getting in the way. Thats too bad because I think HLA has enough documentation already. It's time to create a fast assembler for HLA so that it can finally replace masm for windows programming. So it seems Randy shares your views about where assembly should go and it seems to be working because I've noticed that a lot of the beginners to the asm boards are using HLA and the beginners of today will be the asm gurus of tomorrow. Very Happy

_________________
silkodyssey
Post 29 Nov 2003, 14:33
View user's profile Send private message MSN Messenger Reply with quote
Tommy



Joined: 17 Jun 2003
Posts: 489
Location: Norway
Tommy
Talking of 64-bit systems, Privalov: have you started the development of FASM64?
Post 29 Nov 2003, 14:34
View user's profile Send private message Visit poster's website Reply with quote
art_sands



Joined: 23 Oct 2003
Posts: 55
art_sands
I agree. I won't push it any further with logic. Privalov, you can provide us with a "standard" macro library until you decide to make some implementations. But keep in mind, I've got a feeling the number of people using other assemblers might exceed those using yours for some time. Time lost will never come back.

However, you haven't lost us. I still prefer FASM over MASM, but sometimes I simply cant resist it and write stuff in MASM. Yet, FASM is the best! I will never let your efforts go to waste.

Cheers all and thanks for taking the time.

Regards,
Art
Post 29 Nov 2003, 16:17
View user's profile Send private message Reply with quote
fasm9



Joined: 19 Jun 2003
Posts: 439
fasm9
Glad, nice talk.

BTW, IMHO, low level doesn't mean systemmatical OR flexibility directly. Of course, at least, low level (self supply) is needed to do it, but still, not all.
i am sure there is kingdom of 'systemmatical'.

(if low level means everything, we don't need C# AND something that unknown, unexplained.)

...

i hope that art_sands and admin have more conversation(a lot of).

--
most of time also important, But, student(age:7~18) time is diamond.
Dear student, never trust people, Fight For Your Time. Time is LIFE
Post 30 Nov 2003, 01:36
View user's profile Send private message Reply with quote
dickhead



Joined: 30 Nov 2003
Posts: 17
Location: Memory
dickhead
me

im a nuB and i come from c, so i want if.else.if in tha compiler. i dont like macros.

too bad i cannot vote a million times

gudday fellas

Wink
bla bla

didyouknowthatmy...issolong?

_________________
teach me or i'll dick ya.
Post 30 Nov 2003, 11:35
View user's profile Send private message Reply with quote
silkodyssey



Joined: 02 Oct 2003
Posts: 198
Location: St.Vincent & the Grenadines
silkodyssey
dickhead wrote:


im a nuB and i come from c, so i want if.else.if in tha compiler. i dont like macros.

What do you have against macros? IMO macros are an important feature of an assembler. One of the reasons I like fasm is because of its powerful macro system and I am not too interested in GoAsm because I hear it lacks in the macros department Very Happy

_________________
silkodyssey
Post 30 Nov 2003, 11:41
View user's profile Send private message MSN Messenger Reply with quote
dickhead



Joined: 30 Nov 2003
Posts: 17
Location: Memory
dickhead
i dunno i read somewhere that macros are dangerous

so i started not liking them, and voilllaaaaa. here iam not liking them.

before what mr. art said above about macros

itis partly correctly when in team developers.


Wink
bla bla

_________________
teach me or i'll dick ya.
Post 30 Nov 2003, 11:47
View user's profile Send private message Reply with quote
dickhead



Joined: 30 Nov 2003
Posts: 17
Location: Memory
dickhead
tha if marcos in macros with fasm i don't like anybody with a real if macros or somehin.

WHAT is IMO, IMHO and all this. I don't knwo.

post in new thread in macroinstructions.

Laughing Wink Cool
blablabla

_________________
teach me or i'll dick ya.
Post 30 Nov 2003, 11:57
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, 3  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-2020, Tomasz Grysztar. Also on YouTube, Twitter.

Website powered by rwasa.