954,479 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

Which ASM should I learn?

In my wayward youth, I learned a little bit of inline assembler in Turbo C. And that was fun. Then I got into DJGPP which came with GCC and Bell Syntax. And it was confusing. And I gave up.

Fast forward 12 years. I'm 30, finishing a bachelor's in CS. I've had two classes in MIPS Assembly. I self-taught myself PIC assembler. And I'm willing to give Intel assembler a second chance. And I'm interested in both Windows and Linux assembler.

Which ASM do I learn?

NASM seems the most user-friendly and familiar. It compiles just fine with my GCC programs. And it's cross-platform. I really want that.
GAS uses Bell Syntax. I've heard that once you go Bell, you never go back. Once you get over the learning curve, you love it. At least, that's what I've been told. And it's cross-platform.
MASM comes with lots of fun macros. It seems like one I can get a job with. Not cross-platform.
FASM is something I've heard good things of, but really know nothing about.

Help me out, DaniWeb. Where do I go?

DeanMSands3
Junior Poster
184 posts since Jan 2012
Reputation Points: 37
Solved Threads: 26
 

I prefer the most plain A86 .
No frills, no complications.

Download

Write the code with a text editor.
Compile it with one command at the command-line.

thines01
Postaholic
Team Colleague
2,424 posts since Oct 2009
Reputation Points: 445
Solved Threads: 402
 

Can only speak for myself, but I would go for MASM.
Spent quite some time programming 8086-processor (at school) but haven't used it ever since. I sure remember it was not hard to learn at all. For some basic programs, I followed a course of a few weeks, and I was ready to go. Of course the negative side is that it's nog cross-platform, what may make NASM a better alternative. Don't have any experience with that, so I don't know the benefits/difficulties of that ASM.

Pjieter
Junior Poster
125 posts since Jan 2012
Reputation Points: 3
Solved Threads: 7
 

Well, if you like MASM take a look at JWASM. It is fully MASM compatable (Meaning if you have an app written in MASM, JWASM will Assemble it without many complaints) Plus, it is 64bit compatible AND cross-platform

GunnerInc
xor eax, eax
Team Colleague
79 posts since Jan 2011
Reputation Points: 38
Solved Threads: 13
 
Well, if you like MASM take a look at JWASM. It is fully MASM compatable (Meaning if you have an app written in MASM, JWASM will Assemble it without many complaints) Plus, it is 64bit compatible AND cross-platform

Never heard of it, but I'll check it out, thanks for the tip :)

Pjieter
Junior Poster
125 posts since Jan 2012
Reputation Points: 3
Solved Threads: 7
 

Thanks for the responses guys. I'm going to try to learn both JWASM and GNU Assembler.

DeanMSands3
Junior Poster
184 posts since Jan 2012
Reputation Points: 37
Solved Threads: 26
 

This question has already been solved

Post: Markdown Syntax: Formatting Help
You