Hello,

sorry for the probably recurring and stupid question (in the FAQ however I wasn't able to find it) but wanting to start doing some assembler programming I was considering which one to choose (TASM, MASM, NASM, A86, FASM, etc). Could anyone help out explaining also why one could be better than another? I have both TASM 5 which I bought a year ago (complete of paper documentation) and MASM 6.11. I also downloaded hutch's MASM32 (by the way does it differ and how from MASM???).

Regards,
YAA
Posted on 2002-09-14 07:06:24 by yaa
With Masm 6.11 alone its difficult do to any windows programming, Hutchs Masm32 package bundles Masm 6.11 along with everything else you need to start programming under Windows. For a complete beginner its indespensible. I started with Masm32.

I can't say much about Tasm/Nasm/A86 as I've never used any of them.

As for Fasm, well thats the one I currently use. Something about it I just like, I feel Fasm source code looks nicer than Masms. Also Privalov (Thomaz) its developer frequents this forum and is eternaly helpful, of course everyone here is :) .

It shouldn't really matter too much which you choose though, once you know one its easy to change to another :alright: .
Posted on 2002-09-14 07:34:46 by Eóin
If you are using assembler for Windows programming you could also look at my GoAsm at www.GoDevTool.com
Posted on 2002-09-14 11:32:38 by jorgon
I use MASM, but I'm not sure about FASM, I would like to try it. But MASM draws me close mainly because of its ease of use. I'm not the one to mess with linkers, I mean with TASM5 and TLINK I would just do this:

TASM source.asm
TLINK source.asm

BOOM, EXE created :D

But I would start with MASM, very nice package.
Posted on 2002-09-14 12:03:57 by x86asm
hutch's masm32 package for sure if you are a bigenner ...
if you don't like masm you can change it later but to learn easily you gota get masm32 package ...

pst .. there is alot of talk about fasm ... my next assembler will be fasm but as I'm still learning I think that masm is better for learning ... I'm not talking about technical stuff here as performance or other technical stuff ... I'm talking about which one will make learning easier for you ... and don't be afrais that you'll be stuck with masm forever ... if you learn enough you won't find alot of trouble in learning the syntax of other assemblers ...

good luck ...

code1101
Posted on 2002-09-14 12:30:44 by code1101
Is there a performance penalty for using MASM32?! I think it produces fast code. Especially the HL constructs. I tried Win32 programming with PASS32 which is sorta like FASM (FASM being FARR less buggy and much better!) and its kind of hard, especially pushing params on the stack, maybe I'm just too lazy hehe :D
Posted on 2002-09-14 13:37:12 by x86asm
Real men either write their own assembler.. :grin: ..or save the time for something else, and use FASM. :tongue:
Posted on 2002-09-14 16:54:34 by Maverick
Actually, considering the heap of features MASM has and the heap of examples useful to newbies and directly compilable, I would say MASM...

FASM is nice, but you have to write macros for many things that MASM already has and may difficult the task of a newcomer in learning assembler...

The Hutches MASM32 package has all you need to begin, a text editor able to assemble/link/build your programs from a simple menus, and comes with most of the win32 equates, structures and procedures defined... (which is not the case with FASM).

My advice is: go for MASM for now, and once you have gained enough experience and got used to the langage, switch to another assembler if you feel yourself limited by MASM...
Posted on 2002-09-14 17:11:48 by JCP
Is there any advantage on using FASM instead of MASM?
Posted on 2002-09-15 09:10:50 by dxantos
Hola dxantos,

Well, FASM is more 1:1, and (expecially when you do very tricky things) has some features that help getting out of trouble and implementing what you had in your mind.
Posted on 2002-09-15 09:32:41 by Maverick
a good place to start would be:

masm32 package--has all you need for windows programming
RadASM -IDE for use with masm/tasm etc. When coupled with vKims Dbug macros you don't have to build a window or console app to display integers and strings
e.g here's a complete program which shows the values of registers...it requires RadASM

.486

.model flat, stdcall ; 32 bit memory model
option casemap :none ; case sensitive

;include mymacros.inc
include WINDOWS.INC ;windows prototypes and equates
include kernel32.inc ;windows prototypes and equates
include masm32.inc ;masm32 prototypes and equates
include debug.inc ;vKims debug macros prototypes and equates

includelib KERNEL32.LIB ;libraries
includelib masm32.LIB
includelib debug.LIB

DBGWIN_DEBUG_ON = 1 ;set to 0 to omit macros from code
DBGWIN_EXT_INFO = 1 ;set to 0 to omit extended information (line number and program module)
PH equ <PrintHex>
PD equ <PrintDword>
PT equ <PrintText>
PSBA equ <PrintStringByAddr>
PL equ <PrintLine>

.code
start:
mov eax,10
mov ecx,11
mov edx,12
PL
PH eax
PD ecx
PD edx
PL
PT "That was easy!"
PL
invoke ExitProcess,0
end start
Posted on 2002-09-15 09:59:49 by MArtial_Code
Where can I get those debug macros MArtial_Code?
Posted on 2002-09-15 12:53:17 by x86asm
They are included in the MASM32 package and IIRC KetilO's RadASM has modified version of them (the information are printed on the compiler output window rather than in the external Window from the original macros...
Posted on 2002-09-15 13:38:50 by JCP
You'll want the ones included with RadASM...they print directly to RadASM's output window..
Just download the latest full RadASM package(ide forum).
Posted on 2002-09-15 14:34:30 by MArtial_Code
Please, update your debug macros. I have released the new version of VKDEBUG. Look at this thread. Thank you!
Posted on 2002-09-16 00:31:20 by vkim