<< 1 >>
Rating:  Summary: Best way to get started with linux asm Review: After looking around for an introduction to assembly in linux, this is the best book I found (well, there's not much competition). I had heard asm is hard, but you'll be up and running very quickly with this book - it's actually quite easy. I have no intention of doing any real programming in assembly, but after learning the basics I have a better idea of what code in a higher level language compiles to, I finally really understand pointers and the difference between the heap and the stack, etc.
It loses a point for trying to be an introduction to programming in general. There are better books for that, and better approaches than starting at the lowest level (actually, you *could* build your own chips..). It is not a general reference to assembly, will not take you very deep, and is not intended to. IMHO, it should have been.
Anyway, this is the place to go if you want to get started on asm and you use linux (in particular, it's better than the Hyde book).
Rating:  Summary: A well-written introduction Review: I have been looking for an assembly book for Linux on x86 for a long time, but have been disapointed by the available books.
This book uses the right tools, GNU Assembler and Linux on x86, and gives a very good introduction to assembly programming. The book starts with a simple example program that is expanded and explained carefully. Topics like C function calls, Linux system calls and linking are also described very well.
The reason I give this book 4 stars is because 1. later chapters overwhelmed me with large code samples that also contained several new concepts. It is easy to get lost in an assembly program, and the author should have kept the code samples small in style with the earlier chapters. 2. Only a fraction of the instruction set is covered. But having read this book makes it easy to read Intel's documentation and the GNU Assembler Info pages.
Rating:  Summary: A student's take Review: I'm a student who used this book as the text for the assembly portion of a systems programing class. I must say, I was impressed. The ordering of material seemed natural and the explanations were quite good, especially the section on low-level memory management. Ever wonder how calloc and malloc work? This actually has assembly code (accompanied with plenty of explanation) for writing a basic memory manager.The nice thing about it is that its written for the gcc compiler and IA-32 architecture, so all you need to write programs that run on your machine is an Intel processor with a Linux partition. For people who are just beginning to program, the ground-up style of this book gives a unique perspective. Because assembly is more difficult than higher-level languages, I'd recommend that true beginners get familiar with a language like C or Java first, then turn to this book for a fuller understanding of programming. About a semester's worth of another language should prepare you I think. That being said, I do think it's easy to overlook the importance of low-level programming. After you have some experience with control structures and manipulating strings, take a look at this book to really flesh out your knowledge. I definitely felt I gained a better understanding of how we get from source code in a text file to instructions that the machine can really understand.
Rating:  Summary: A student's take Review: I'm a student who used this book as the text for the assembly portion of a systems programing class. I must say, I was impressed. The ordering of material seemed natural and the explanations were quite good, especially the section on low-level memory management. Ever wonder how calloc and malloc work? This actually has assembly code (accompanied with plenty of explanation) for writing a basic memory manager. The nice thing about it is that its written for the gcc compiler and IA-32 architecture, so all you need to write programs that run on your machine is an Intel processor with a Linux partition. For people who are just beginning to program, the ground-up style of this book gives a unique perspective. Because assembly is more difficult than higher-level languages, I'd recommend that true beginners get familiar with a language like C or Java first, then turn to this book for a fuller understanding of programming. About a semester's worth of another language should prepare you I think. That being said, I do think it's easy to overlook the importance of low-level programming. After you have some experience with control structures and manipulating strings, take a look at this book to really flesh out your knowledge. I definitely felt I gained a better understanding of how we get from source code in a text file to instructions that the machine can really understand.
<< 1 >>
|