views:

363

answers:

5

Hi, does anyone have any resources for learning assembly language on x86? I'm trying to debug a program in MSVC++6 and frequently come across assembly (like stepping into memcpy).. Previously I just ignored these but memcpy keeps throwing exceptions and I need to find out why..

Any help would be appreciated :)

EDIT:Wow, lots of great resources.. I wish I could mark everything as accepted answer :P

HINT: combine anyone? :P

New edit: I just looked through the answers, and these seemed the best:

Aseraphim's post specific to intel x86

jkchong's post for a more introductory text

+1  A: 

Dunteman's "Assembly Language Step by Step" is a pretty good starting point for x86 assembly.

I'm sure there are good tutorial sites on the Net, but I'm not familiar with them.

Michael Burr
Wow! I read an earlier edition of that book about 15 years ago. If I remember correctly, it was very good.
Jim Anderson
Hmm, sorry, I can't choose this as the correct answer because I cannot verify it, I'd need to get my hands on the book first :S
krebstar
+3  A: 

If you just need to understand what each instruction does, the reference manual for the x86 Instruction Set is located here.

Nathaniel Flath
+7  A: 

Online resources:

PC Assembly Language

Art of Assembly Language Programming

jkchong
The first link here is nice.. Too bad I don't have enough reputation to vote it up.. :S
krebstar
I'm fond of Art os Assembly Language Programming, and I did.
Charlie Martin
+1 for PC assembly languge
yesraaj
A: 

We used Microcomputer Experimentation with the IBM PC and Assembly Language Step-By-Step when I took it in school (back in the 1900s). Both are pretty good introductory books.

Bill the Lizard
I wore an onion on my belt, which was the style at the time.
Bill the Lizard
Hey, everybody. An old man's talking!
Michael Burr
Haha.. I did not understand the "onion on my belt" thing.. XD
krebstar
A: 

There are also two great communities about x86 assembly programming on Windows:

If you are specifically interested in Visual Studio and the MS assembler (masm), you'll want to look into masmforum.com.

none