I want to learn some practical assembly language having just learned the basic concepts in class. Are there any decent books or tutorials (nasm, etc) that would be recommended?
-
2I didn't like either of the top 2 linked tutorials, and the 3rd link is a link to this post. While I find keyword advise helpful, linking to Google directly like that can be extremely annoying for people that found this page via google. – CornSmith Jan 30 '14 at 01:48
7 Answers
PC Assembly Language is my favorite resource on assembly programming. It's modern, free, and covers a variety of topics. It uses NASM and the examples are available for Linux (among several other systems).

- 1,516
- 14
- 21

- 132,184
- 23
- 144
- 116
"what is the point in learning assembly just for the heck of it? "
Because you get to learn HOW the CPU works and get a better understanding of the system. I would say understanding assembler is in itself practical.

- 49
- 1
I recommend Jeff Duntemann's Assembly Language Step By Step, Third Edition. It was my first introduction to asm, but is nice and readable and fairly modern and up to date.

- 365
- 3
- 5
I would recommend the assembly tutorials page at http://pickatutorial.com
I hope it helps.

- 11
- 1
I recommend the official Intel manuals. You can request the hard copy on Intel's website.
See http://en.wikipedia.org/wiki/X86_assembly_language#External_links
* Intel 64 and IA-32 Software Developer Manuals
* AMD64 Architecture Programmer's Manual Volume 1: Application Programming (PDF)
* AMD64 Architecture Programmer's Manual Volume 2: System Programming (PDF)
* AMD64 Architecture Programmer's Manual Volume 3: General-Purpose and System Instructions (PDF)
* AMD64 Architecture Programmer's Manual Volume 4: 128-Bit Media Instructions (PDF)
* AMD64 Architecture Programmer's Manual Volume 5: 64-Bit Media and x87 Floating-Point Instructions (PDF)
Some resources from my personal friend, Google:
- Function calling convention:
- Brief tutorial
- Using SSE
http://www.neilkemp.us/v4/articles/sse_tutorial/sse_tutorial.html

- 43,810
- 29
- 138
- 169