?
Solved

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

Posted on 2007-11-20
3
Medium Priority
?
771 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 2000 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

Enroll in September's Course of the Month

This month’s featured course covers 16 hours of training in installation, management, and deployment of VMware vSphere virtualization environments. It's free for Premium Members, Team Accounts, and Qualified Experts!

Question has a verified solution.

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

While opting for any web-to-print solution, you need to discuss with your team and some of your end users and know their opinions about your decisions. In this article we list down some questions you need to ask yourself.
Check out what's been happening in the Experts Exchange community.
Add bar graphs to Access queries using Unicode block characters. Graphs appear on every record in the color you want. Give life to numbers. Hopes this gives you ideas on visualizing your data in new ways ~ Create a calculated field in a query: …
Sometimes it takes a new vantage point, apart from our everyday security practices, to truly see our Active Directory (AD) vulnerabilities. We get used to implementing the same techniques and checking the same areas for a breach. This pattern can re…

718 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