Solved

Recommendation for ***free*** online Assembly tutorials

Posted on 2007-11-20
3
769 Views
Last Modified: 2010-04-21
Hi, I am an industrial strength  C++ programmer with over 12 yrs experience. One of the things that has, up until now, eluded me is a good grounding in assembly. Most of the time this is not a problem but sometimes analyzing disassembly is the only way to solve a complex problem. To this end, I am keen to acquire at least some basic rudimentary assembly skills that I might be able to then build on. I would be grateful if someone could (a) point me in the direction of some free (but good) online tutorials (b) maybe suggest a good book for beginners (c) suggest a good but free (see how often that word crops up!) assembler (other than MASM) and (d) maybe provide some general words of advice (or even encouragement)!

Ta v much in advance.

-Rx.
0
Comment
Question by:evilrix
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
3 Comments
 
LVL 53

Accepted Solution

by:
Infinity08 earned 500 total points
ID: 20333564
Wow, no-one responded yet ?

Maybe that's because it's a difficult question to answer, since there are so many versions of assembly ... I'll try anyway ;)


>> (a) point me in the direction of some free (but good) online tutorials

I've never used tutorials to learn assembly ... I basically just taught myself (for example by dis-assembling an executable to figure out what it does and how it does it).

So, I can't point you to a tutorial that I know is good. But I found this one that looks pretty good :

        http://drpaulcarter.com/pcasm/

It includes a basic explanation of how a PC works internally (which is necessary to have a good understanding of assembly), and it seems to cover the basics of assembly pretty well.


>> (b) maybe suggest a good book for beginners

See the link above ...


>> (c) suggest a good but free (see how often that word crops up!) assembler (other than MASM)

NASM is pretty good (and free) :

        http://nasm.sourceforge.net/

(it's also the one used in the tutorial I referred to earlier btw ;) )

A good debugger (one that shows you the assembly, and can step through it) is also a very good tool to have ...


>> (d) maybe provide some general words of advice (or even encouragement)!

Assembly is not very hard (especially if you already know a language like C) - it just takes some getting used to, and a more low-level way of thinking, since you'll be explicitly manipulating the stack, the CPU registers, the memory, etc.
It's the most powerful way of creating optimized code for a system, but obviously it takes more effort to do so.

Knowing assembly will also give you some new insights that you can put to good use when programming in other languages, so it's definitely recommended if you're serious about programming.

Advice ? I'd say, just try a lot out for yourself. Try reverse engineering an executable. Try modifying the behavior of an application in ways not expected by its creator. Try some fun assembly "challenges" and "games", like the bomb ones that have been posted here recently.
0
 
LVL 40

Author Closing Comment

by:evilrix
ID: 31410176
Excellent, as always. Thanks.
0
 
LVL 40

Author Comment

by:evilrix
ID: 20340942
Thanks 8.
0

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Mainframe Assembler 9 758
Application Trololo: "Do you want to GPF?" 4 555
ia32 assembly to c 3 491
File Not Found Exception 12 127
Unified and professional email signatures help maintain a consistent company brand image to the outside world. This article shows how to create an email signature in Exchange Server 2010 using a transport rule and how to overcome native limitations …
An introduction to the wonderful sport of Scam Baiting.  Learn how to help fight scammers by beating them at their own game. This great pass time helps the world, while providing an endless source of entertainment. Enjoy!
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…
I've attached the XLSM Excel spreadsheet I used in the video and also text files containing the macros used below. https://filedb.experts-exchange.com/incoming/2017/03_w12/1151775/Permutations.txt https://filedb.experts-exchange.com/incoming/201…

734 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question