Solved

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

Posted on 2007-11-20
3
764 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
  • 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

Threat Intelligence Starter Resources

Integrating threat intelligence can be challenging, and not all companies are ready. These resources can help you build awareness and prepare for defense.

Join & Write a Comment

Never store passwords in plain text or just their hash: it seems a no-brainier, but there are still plenty of people doing that. I present the why and how on this subject, offering my own real life solution that you can implement right away, bringin…
In this step by step tutorial with screenshots, we will show you HOW TO: Enable SSH Remote Access on a VMware vSphere Hypervisor 6.5 (ESXi 6.5). This is important if you need to enable SSH remote access for additional troubleshooting of the ESXi hos…
This demo shows you how to set up the containerized NetScaler CPX with NetScaler Management and Analytics System in a non-routable Mesos/Marathon environment for use with Micro-Services applications.
This video shows how to remove a single email address from the Outlook 2010 Auto Suggestion memory. NOTE: For Outlook 2016 and 2013 perform the exact same steps. Open a new email: Click the New email button in Outlook. Start typing the address: …

708 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

Need Help in Real-Time?

Connect with top rated Experts

14 Experts available now in Live!

Get 1:1 Help Now