tags:

views:

116

answers:

6
+1  Q: 

Assembly tutorial

I am trying to learn assembly language. I tried few tutorials, videos and pdfs but unable to understand much. Since last three days , I am struggling on this. Can anybody please give me a link to good assembly tutorial or ebook? Thanks in advance.

EDIT: I tried the vtc video tutorials on assembly first. After that I searched for assembly tutorials and nasm assembly tutorials in google. Tried first few links but unable to understand much

A: 

Master C/C++ first. This is essential before going assembly.

BarsMonster
What makes you assume that he has not done so? And why do you assume that someone is only struggling with assembly because they do not know C? Hell, what about before C was invented? How did they ever learn to program in assembly?
Stargazer712
i know what you are saying, but by your logic c/c++ can't exist as no one could have written them without knowing assembly, and not having them around to master first
Andrey
A knowledge of C would probably make things easier. C++, not so much.
Paul
C is easier to learn, and assembly require only a subset of knowledge required for C.
BarsMonster
+1  A: 

The way I learned assembly was by reading 'The Art of Computer Programming', you kill two birds with one stone here, you can learn assembler and also learn about algorithms, great books.

http://www.amazon.com/Art-Computer-Programming-Fundamental-Algorithms/dp/0201896834/ref=sr_1_2?s=books&ie=UTF8&qid=1286804919&sr=1-2

kyndigs
Let me google about this book.
A: 

linux assembly has a bunch of tutorials

Nikolaus Gradwohl
+3  A: 

Try the Art of Assembly Language: http://www.planetpdf.com/codecuts/pdfs/aoa.pdf

ruslik
Wow! This guide looks awesome. I might just pick up assembly again :)
bot403
Thanks buddy, great book.
A: 

If you are interested in learning the structure of assembly language in general I can recommend MIPS. There is a nice free simulation environment available which I found very comfortable to use. It is called Mars and it helps to understand the impacts of each assembly command.

There is also a course which introduces MIPS from the Darmstadt University of Technology. Sadly the exercises and solutions are only available in German.

Link to Mars: courses.missouristate.edu/KenVollmar/MARS/

LeoR
A: 

I think a good way is disassembling some binaries in ollydbg (for Windows) or gdb (for Linux) and following the assembly code execution. If you're learning Windows Assembly the ollydbg is a very good choice because it maps each API call (with it's parameters), so you can learn the SO details.

At the same time you can read one of these tutorials the guys below said, to learn what each instruction does.

(I'm assuming you're more or less familiar with your CPU architecture)

jyzuz