Help learning assembly

Started by
13 comments, last by kamelbak 21 years, 6 months ago
Thanks, guys. I''ve pretty much narrowed tutorials down to Iczelion/Art of Assembly. I am going to go to Office Depot and buy some cheap, thin paper and start printing the first few chapters. If I like it, I''ll print more. I just can''t stand reading e-Books.

So the competition here is what assembler should I use? Is there really that much difference in the types of assemblers? Which should I get? NASM, MASM, FASM, or TASM? Thanks!
kamelbak
Advertisement
I use NASM - it''s open source, has a powerful preprocessor, supports many output formats, and has minimal red-tape.
MASM is available with the MS DDK and has stupid directives/syntax.
AFAIK, TASM isn''t free, but it has somewhat nicer syntax than MASM; it can be fully MASM compatible if you want.
I have no experience with FASM.

You''ll probably also need a linker - I''d go with link.exe from VC++.

Moore52> NASM makes smaller files (4k Tasm=3k Nasm)
?!
What output format?
E8 17 00 42 CE DC D2 DC E4 EA C4 40 CA DA C2 D8 CC 40 CA D0 E8 40E0 CA CA 96 5B B0 16 50 D7 D4 02 B2 02 86 E2 CD 21 58 48 79 F2 C3
You can get TASM 1.01 here.

http://community.borland.com/article/0,1410,21751,00.html
"I thought Genius lived in bottles..." - Patrick Star
Thanks, but I downloaded TASM from borlands website. I think that it''s free now. I guess that I''ve now narrowed it down to TASM, NASM, and FASM. Anything else? Thanks!
kamelbak
quote:I''ve now narrowed it down to TASM, NASM, and FASM


Although a lot of the code you''ll see uses MASM syntax, I''d recommend using NASM. I''m assuming that as a beginner you aren''t going to be linking your assembly code with MSVC or anything for a while to come, so there should be no issues with interoperability between other compilers for now.

When it does become an issue, you''ll find that MSVC supports custom build steps and that NASM will pretty much work with any of the major compilers you''ll be dealing with (thanks to the fact that it supports so many output formats.)

NASM is usually fairly quick to support new instructions because it''s an open source project still under development.

The main things I love about NASM are its simplicity and power. Someone mentioned that it doesn''t have the "red tape" that MASM has, and that''s a good point. Once you learn NASM-style syntax, you won''t be able to go back

Required directives are kept to a minimum and all are much more concise. There is no "offset" or "ptr" nonsense.

Just make sure to read the NASM manual and if you come across MASM syntax, put some time into figuring out how to get the code to work with NASM. It''s so worth it...

---
Bart
----Bart

This topic is closed to new replies.

Advertisement