View Full Version : Looking for books about the assembly language
ranguvar
Dec 13, 2009, 04:16 PM
Hi,
what books can you recommend about the assembly language? (for intel processors, that is :))
It's not necessary that it goes down into too much detail, but it should give a nice overview.
Thanks,
-ranguvar
gnasher729
Dec 13, 2009, 05:17 PM
Hi,
what books can you recommend about the assembly language? (for intel processors, that is :))
It's not necessary that it goes down into too much detail, but it should give a nice overview.
Thanks,
-ranguvar
Google for "Intel Manuals", then download the IA32 Software Developer Manuals.
lee1210
Dec 13, 2009, 05:44 PM
Google for "Intel Manuals", then download the IA32 Software Developer Manuals.
... then, unless you need IA-32 for a specific task, switch gears to a simpler microarchitecture like MIPS and learn that first.
-Lee
Edit: Some possibly-helpful links:
SPIM simulator: http://pages.cs.wisc.edu/~larus/spim.html
Books on MIPS:
http://en.wikibooks.org/wiki/MIPS_Assembly/MIPS_Instructions
http://en.wikibooks.org/wiki/MIPS_Assembly
GorillaPaws
Dec 13, 2009, 06:08 PM
Just out of curiosity, how many times harder is it to learn assembly than a language like C? Obviously, everyone learns things differently, but I was just thinking in general terms.
lee1210
Dec 13, 2009, 06:31 PM
Just out of curiosity, how many times harder is it to learn assembly than a language like C? Obviously, everyone learns things differently, but I was just thinking in general terms.
1.7x-2.3x harder. Obviously it is impossible to truly quantify, and there are levels of skill. Writing a small bit of ASM is not too bad. I'm sure writing highly optimized code for the vector units of modern chips is much worse. Also, learning PPC, SPARC or MIPS is much easier than x86 or EPIC.
-Lee
Detrius
Dec 13, 2009, 10:56 PM
1.7x-2.3x harder. Obviously it is impossible to truly quantify, and there are levels of skill. Writing a small bit of ASM is not too bad. I'm sure writing highly optimized code for the vector units of modern chips is much worse. Also, learning PPC, SPARC or MIPS is much easier than x86 or EPIC.
-Lee
There's also the problem that instruction sets and their strong points and weak points evolve with each processor revision. When writing with assembly, you lose virtually everything that makes higher-level languages easy to understand.
A cursory understanding of how processors actually run code is useful for understanding what's going on when you write in a language like C, but I wouldn't recommend assembly for any general programming (specialized code that needs to be highly optimized, maybe).
vBulletin® v3.8.6, Copyright ©2000-2012, Jelsoft Enterprises Ltd.