Archived

This topic is now archived and is closed to further replies.

Help learning Assembly

This topic is 5650 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I have just got the sudden urge to learn assembly after I have been programming in C/C++ for a while now(mostly C). I am some what proficiant with Pascal and C but only scratched the surface of C++ and thought I wanted to take on a challenge. I got a good book that seems to be good and know what it is talking about but I don''t have an Assembler. The two I''ve heard a lot about are MASM (Microsoft Macro Assembler) and TASM (Borland''s Turbo Assembler). Those are both very expensive in stores though and I don''t have much money I can spend. My only challenge I''ve been able to takle so far is where the hell do I find a cheap/free assembler? I as a futile attempt I thought I might present my problem here.

Share this post


Link to post
Share on other sites
Some more links to get you started

NASM (netwide free assembler)
http://nasm.2y.net/

Art of Assembler (online ASM text and great links)
http://webster.cs.ucr.edu/

Where to Get PC Assembly Tools
http://www.easystreet.com/~jkirwan/pctools.html

Have fun.
- James

Share this post


Link to post
Share on other sites
As far as I know MASM is not sold in stores - it is only used interally by Microsoft. So there is plenty of places on the web you can download a version for free - and I doubt Microsoft has a problem with it.

Some good books:

John Waldron: Introduction to Risc Assembly language programming (this teaches the basics of generic assembler - not Intel x86 - is good because RISC processors are easy to code in assembler - you can get emulators to try it out in practice.)

Patterson & hennesey: Computer Organization and Design (teaches how a processor works so you can understand the docs)

Silbershatz and Galvin: Operating System Concepts (teaches how an operating system works so you can understand the docs)

If you are interested in writing code on the Intel x86 processor you might want to download MASM32. That is a version of MASM that will be set up completely for you so assembling with it is a piece of cake. It comes with lots of examples and is compatible with several tutorials on the net.

MASM32: http://www.movsd.com/masm.htm
Take a look at this site also (as mentioned by another poster above):
http://spiff.tripnet.se/~iczelion/

You will also need documentation. Search the net to find the manuals to MASM. Also you will need the Intel IA-32 architecture reference manuals (Vol 1 - 3). These can be downloaded from
http://developer.intel.com

One final thing. There are many assemblers out there and *they are not compatible* so if a piece of source was written for one assembler then it must be compiled on that one. For instance MASM and TASM are very different.

Share this post


Link to post
Share on other sites
quote:

John Waldron: Introduction to Risc Assembly language programming (this teaches the basics of generic assembler - not Intel x86 - is good because RISC processors are easy to code in assembler - you can get emulators to try it out in practice.)



This is an excellent book and I highly recommend it to learn ASM. RISC is the way to go instead of x86, it's a thousand times cleaner and more concise, not to mention faster. I found it at a college bookstore a couple years ago (in Canada) but I got lucky, because the publisher is in Europe. It might be hard to find a copy in north america, you probably have to order from Europe... http://www.awl-he.com/book.asp?prodID=100000000006016&d=CM

The emulator mentioned is available at the author's website: http://www.compapp.dcu.ie/~jwaldron (says "403 Forbidden" right now)

Good luck. Assembly is not crucial these days but having knowledge of how CPU's work is still very worthwhile.

edit... damn, seems the author's website is down. I have the emulator on my computer if you need it though.

[edited by - foofightr on June 25, 2002 7:23:28 AM]

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
www.movesd.com

Has the MASM32 package. All you need to get started in win32 assem programming.

Share this post


Link to post
Share on other sites
quote:
Original post by willsprogrammer
I have just got the sudden urge to learn assembly after I have been programming in C/C++ for a while now(mostly C).


Don''t worry. It''ll pass.

Hehe, just kidding!


/*=========================================*/
/* Chem0sh */
/* Lead Software Engineer & Tech Support */
/* http://www.eFaces.biz */
/*=========================================*/

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
i remember i tried to learn ASM, when i was 12. it was hard. now im 14 and i know C++ i think it should be a bit easier.

and that www.movsd.com place is cool, since i remember hutch trying to help me when i was 12. never thought i would see him again lol

Share this post


Link to post
Share on other sites
Hey guys thanks. This is all really very very helpful. I''ve been trying so long but couldn''t find much help at other places like thedc.com(developer''s corner) where I was waiting for a reply for weeks and you all helped me within days. I am very grateful and hope some day I can help some of you with something.

Share this post


Link to post
Share on other sites