flat assembler
Message board for the users of flat assembler.

Index > Heap > FASM vs. NASM

Goto page Previous  1, 2, 3  Next
Author
Thread Post new topic Reply to topic
m



Joined: 28 Dec 2006
Posts: 304
Location: in
m
I agree with vid too!
Post 18 Jul 2007, 14:17
View user's profile Send private message Reply with quote
LocoDelAssembly
Your code has a bug


Joined: 06 May 2005
Posts: 4633
Location: Argentina
LocoDelAssembly
Well, suppose the already mentioned IA-64 architecture or the Power architecture among others. I hope this time you'll not have computer clock problems...
Post 18 Jul 2007, 14:35
View user's profile Send private message Reply with quote
pjd



Joined: 15 Jul 2007
Posts: 47
pjd
vid wrote:

No. They would only require to rewrite part which generates code. Or even better, they will only require ADDING support for new processor, and support for older processor can remain. FASM would have to be rewritten completely, not just X86_64.INC.

So NASM would need only a few files redoing to become a PPC assembler (or MIPS, IA-64, RISC or other completely different architecture)?
Post 18 Jul 2007, 19:53
View user's profile Send private message Reply with quote
vid
Verbosity in development


Joined: 05 Sep 2003
Posts: 7105
Location: Slovakia
vid
pjd:
You should first specify what do you mean by "PPC assembler". If you mean "assembler that runs on PPC", then it wouldn't need any rewrite at all, just recompilation.

If you mean "assembler that assembles for PPC", then generally yes. i don't know internals of NASM, but surely it wouldn't have to be rewritten entire. If it is well written, then just few files.
Post 18 Jul 2007, 20:29
View user's profile Send private message Visit poster's website AIM Address MSN Messenger ICQ Number Reply with quote
LocoDelAssembly
Your code has a bug


Joined: 06 May 2005
Posts: 4633
Location: Argentina
LocoDelAssembly
I'm a little confused with what you are saying vid. Why fasm would need a complete rewrite to generate code for another processor? (Compiling from x86 to another architecture)

revolution needed to rewrite fasm completely to create fasmARM?

I was going to post an idea called meta-fasm in project and ideas forum as a project to create a fasm package ready to porting to another architecture (but still using the port on a x86). For lazyness reason I didn't posted that but if the rewriting is so much intensive then the idea is bad Sad
Post 18 Jul 2007, 21:06
View user's profile Send private message Reply with quote
OzzY



Joined: 19 Sep 2003
Posts: 1029
Location: Everywhere
OzzY
I agree with vid.
I like FASM as it is. But a C fork for it would not be bad. Not that FASM would change completely, but just a different version.

Guys, every tool has its purpose! If we had only one perfect language/compiler for everything it would be so boring! Have choices is good thing.
Even better if we can mix ASM code with C when needed!

EDIT: Like loco, I still don't understand it really well too. Why would it need a complete rewrite?
Post 18 Jul 2007, 21:09
View user's profile Send private message Reply with quote
vid
Verbosity in development


Joined: 05 Sep 2003
Posts: 7105
Location: Slovakia
vid
Quote:
I'm a little confused with what you are saying vid. Why fasm would need a complete rewrite to generate code for another processor? (Compiling from x86 to another architecture)
Of course, I didn't mean to say that. Did I say it somewhere? I wanted to say it would have to be rewritten to run on other architecture.

Anyway, I believe we all know what would have to be rewritten where Smile

About the C port, I have been playing with this idea for some time in my mind. But that would be very lot of effort, for several people. I would certainly participate in such project, if there were few fellow good C programmers working on it, but i wouldn't start such project myself, i already have FASMLIB to work on. Also, I think such port could also provide other often requested features, like command-line controlling of format, command line definitions, listing, preprocessor output, etc...
Post 18 Jul 2007, 22:07
View user's profile Send private message Visit poster's website AIM Address MSN Messenger ICQ Number Reply with quote
rugxulo



Joined: 09 Aug 2005
Posts: 2341
Location: Usono (aka, USA)
rugxulo
You're forgetting that assembly isn't as non-portable these days with virtualization / hypervisors, etc. I mean, DOSBox is portable (as is QEMU, BOCHS, etc.), so you can run the DOS version on many machines. Of course, it only targets x86, but that's plenty okay these days since they're so popular. Or just run it in said virtualization. Smile

And Tomasz has already discounted cmdline options and porting to x86-64. And FASM is good enough for real-world use (see http://www.purebasic.com ). I mean, I know you're all tired of hearing it, but it does run on 9 OSes (sheesh). It ain't that unportable, horrible, wimpy, old, etc. Any advantage of a C version are offset by the fact that no one will write it! Wink
Post 18 Jul 2007, 22:25
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: 4633
Location: Argentina
LocoDelAssembly
Quote:

Did I say it somewhere?

No Confused

I had that sensation by reading one of your posts out of context but by re-reading the entire thread I probed that my observation is nonsense Razz

Sorry for the confusion.

PS: I'll try (I'm not promising) to open the meta-fasm thread before the technical meeting so the attendees can take the opportunity to discuss it personaly. (Note however that the idea doesn't take C nor any HLL into account).
Post 18 Jul 2007, 23:34
View user's profile Send private message Reply with quote
Mac2004



Joined: 15 Dec 2003
Posts: 313
Mac2004
From my experince I can say that Nasm (unfortunately) has some bugs which made difficult to know whether the code is the problem or assembler itself. After moving to Fasm many problems have dissapeared. I think Fasm produces more reliable code. At the time I was using Nasm I did like it, but I found more working solution...

I guess Nasm is not developed nowdays, because I haven't seen new Nasm version(s) coming out for years.

regards
Mac2004


Last edited by Mac2004 on 19 Jul 2007, 11:27; edited 1 time in total
Post 19 Jul 2007, 08:54
View user's profile Send private message Reply with quote
pjd



Joined: 15 Jul 2007
Posts: 47
pjd
rugxulo wrote:
You're forgetting that assembly isn't as non-portable these days with virtualization / hypervisors, etc. I mean, DOSBox is portable (as is QEMU, BOCHS, etc.), so you can run the DOS version on many machines. Of course, it only targets x86, but that's plenty okay these days since they're so popular. Or just run it in said virtualization. Smile


Porting to a new OS isn't very hard using macros or procedures (see FASMlib for starters). neither is adding support for a new member of an architecture family (like just adding SSE3 usage) but a new architecture involves a complete new programming language that works completely differently. for example your general purpose registers may suddenly be stuck in a stack or there may be fewer floating point operations available as single instructions (eg fsin may not exist)

edit: For regular use no-one wants to run their program in a virtual machine all the time
Post 19 Jul 2007, 09:23
View user's profile Send private message Reply with quote
LocoDelAssembly
Your code has a bug


Joined: 06 May 2005
Posts: 4633
Location: Argentina
LocoDelAssembly
Quote:

From my experince I can say that Nasm (unfortunately) has some bugs which made difficult to know whether the code is the problem or assembler itself. After moving to Fasm many problems have dissapeared. I think Fasm produces more reliable code.


Interesting proof of does not matter if a given program is written in asm or C, what does matter is to have an skilled programmer Smile
Post 19 Jul 2007, 15:36
View user's profile Send private message Reply with quote
rugxulo



Joined: 09 Aug 2005
Posts: 2341
Location: Usono (aka, USA)
rugxulo
Mac2004 wrote:

I guess Nasm is not developed nowdays, because I haven't seen new Nasm version(s) coming out for years.


Does 0.98.40 count (used by Apple)? Does YASM count? What about 0.99.01 (srcs only)?
Post 20 Jul 2007, 01:12
View user's profile Send private message Visit poster's website Reply with quote
Mac2004



Joined: 15 Dec 2003
Posts: 313
Mac2004
Quote:

Does 0.98.40 count (used by Apple)? Does YASM count? What about 0.99.01 (srcs only)?


I'am aware of those versions you mentioned. Smile Is anybody actually developing Nasm nowdays?


Quote:

Interesting proof of does not matter if a given program is written in asm or C, what does matter is to have an skilled programmer Smile


I agree with you. It's important that a programmer can trust the tools used. I hope it would have been the case with Nasm.
Post 20 Jul 2007, 05:56
View user's profile Send private message Reply with quote
pjd



Joined: 15 Jul 2007
Posts: 47
pjd
Mac2004 wrote:
I agree with you. It's important that a programmer can trust the tools used. I hope it would have been the case with Nasm.


After all that's why we like using assemblers and not, say, Visual Basic .NET - Even If you reckon it's not a language.
Post 20 Jul 2007, 09:01
View user's profile Send private message Reply with quote
nts94



Joined: 10 Jun 2012
Posts: 11
nts94
Sorry for bringing to life again this old thread but, in my opinion, the main problem of fasm isn't it being coded in asm (i think its speed is one of its strengths), nor its lack of a x64 port (though it may be in the future), but its lack of a decent include pack. The fasm include pack is outdated and apparently forgotten, while nasmx (nasm32) includes are great and complete.

I'm not asking Thomas to build a DECENT include pack, he has already done a masterful work. I strongly think it's our fault, and we should do something to make Fasm the great tool it could be.

(Excuse me for my poor english)
Post 02 Jul 2012, 03:42
View user's profile Send private message Reply with quote
JohnFound



Joined: 16 Jun 2003
Posts: 3500
Location: Bulgaria
JohnFound
nts94, I don't know what you think as "good include pack", but maybe you should see FreshLib.
It is work in progress though.
Post 02 Jul 2012, 04:08
View user's profile Send private message Visit poster's website ICQ Number Reply with quote
TmX



Joined: 02 Mar 2006
Posts: 821
Location: Jakarta, Indonesia
TmX
nts94 wrote:
The fasm include pack is outdated and apparently forgotten, while nasmx (nasm32) includes are great and complete.


If you're using Windows, try this:
New expanded windows 64/32 Bit include files and api's
Post 02 Jul 2012, 14:27
View user's profile Send private message Reply with quote
nts94



Joined: 10 Jun 2012
Posts: 11
nts94
JohnFound wrote:

nts94, I don't know what you think as "good include pack", but maybe you should see FreshLib.
It is work in progress though.

I was talking about including some really needed macros (like include_once, align_struct,...) in the official package and more windows headers (the ones that come within it are very limited), they also need some reorganisation (they should include everything they need by themselves, we should be able to mix 32 and 64 bits procs -yeah, i needed it in some projects and i had to stick with plain labels and global vars-, UNICODE and ANSI strings,...)
TmX wrote:

If you're using Windows, try this:
New expanded windows 64/32 Bit include files and api's

Thanks, i'll give it a try
Post 02 Jul 2012, 21:54
View user's profile Send private message Reply with quote
revolution
When all else fails, read the source


Joined: 24 Aug 2004
Posts: 17248
Location: In your JS exploiting you and your system
revolution
nts94 wrote:
I was talking about including some really needed macros (like include_once, align_struct,...) in the official package and more windows headers (the ones that come within it are very limited), they also need some reorganisation (they should include everything they need by themselves, we should be able to mix 32 and 64 bits procs -yeah, i needed it in some projects and i had to stick with plain labels and global vars-, UNICODE and ANSI strings,...)
You are welcome to help out. See here:

http://board.flatassembler.net/topic.php?t=7882
Post 03 Jul 2012, 00:37
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, 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 can attach files in this forum
You can download files in this forum


Copyright © 1999-2020, Tomasz Grysztar.

Powered by rwasa.