Which x86 assembler to use?

Started by
10 comments, last by HelplessFool 20 years, 5 months ago
I''m not sure which assembler to use. can anyone share their opinion on which assemblers are good (and work in a winxp environment)?
Advertisement
MASM is the de facto standard for windows based asm dev.
NASM is cross platform and my pick
FASM is just plain weird but quite popular
HardDrop - hard link shell extension."Tread softly because you tread on my dreams" - Yeats
Depends on what you want to do.
For DOS things I prefer TASM (which is not under development anymore and not free available).
For Windows programming MASM32 is the best (the whole package inclusive IDE, etc. is free available under http://www.movsd.com/masm.htm)
Another good assembler is NASM which I actually never really used.

I would say if you want to develop windows application go with MASM32 and else try NASM.
Thanks.

I''ll have to try NASM and MASM to see which fits me best i guess.

Is MASM the same as MASM32?
NASM is, by far, the best because of its simple, unambiguous syntax. MASM is nothing but nonsense, as indicated by the fact that TASM''s emulation of MASM is called "quirks mode." TASM is similar to MASM in that respect, even when not in quirks mode.
This is an embarassing newb question because I''ve been programming with C++ for about four years, but what is the difference between MASM (which I think stands for Microsoft Assembler) and just using inline assembly in visual studio 6? Is the inline assembly in visual studio 6 actually MASM?
Why don't alcoholics make good calculus teachers?Because they don't know their limits!Oh come on, Newton wasn't THAT smart...
There are significant differences between MASM and inline assembly in MSVC++. Also, I don''t find MASM to be all that difficult to use. No more so than NASM. You are not forced to use macros in MASM, it is purely optional.
.
MASM stands for Macro ASseMbler and is indeed made by microsoft although no longer officaly supported. VS2002 ships with version 7 of it.

Also if you enable assembly listnings via the /Fa option you''ll get MASM compatible output.

MASM have lots of convinece stuff for writing win32 apps mostly macros to invoke procedures etc.

I would still vote for NASM since I consider its syntax clearer and also if you ever do any work on a non windows box you can use a familar assembler.
HardDrop - hard link shell extension."Tread softly because you tread on my dreams" - Yeats
I use MASM because it is easy to use source debugging with the NET IDE.

FASM is interresting, but not putting debugging info in the objs keeps me from using it.
quote:Original post by DigitalDelusion
no longer officaly supported. VS2002 ships with version 7 of it.

This looks fishy to me. If they ship it, they support it.

--
AnkhSVN - A Visual Studio .NET Addin for the Subversion version control system.
[Project site] [Blog] [RSS] [Browse the source] [IRC channel]
--AnkhSVN - A Visual Studio .NET Addin for the Subversion version control system.[Project site] [IRC channel] [Blog]

This topic is closed to new replies.

Advertisement