31 of 31 people found the following review helpful:
5.0 out of 5 stars
Good at explaining the basics, May 12, 2006
This review is from: Professional Assembly Language (Programmer to Programmer) (Paperback)
About the syntax used - yes,through all the book only the AT&T assembly syntax is used. The obvious reason is that most popular compiler on Linux is GCC, which has GAS (GNU Assembler) as the behind the scenes assembler invoked by GCC every time you compile your code. And native to GAS is the AT&T syntax and not the Intel syntax, which is deemed more readable.
Now to the book contents. As there is no previous knowledge of assembly assumed, the reader is first given a quite detailed view of the Intel processors architecture, including coverage of modern features like the Netburst design, present in modern Pentium series processors.Then basics of the tools of the trade are presented.
With this preliminary knowledge the reader is prepared to begin the major part of the book - the assembly language itself.
The learning curve is flattened as much as possible by the author, guiding us through all the major domains of assembly programming - working with processor registers, stack and heap manipulation, floating point arithmetic,handling various data types (strings, integers, floating point numbers) and more.
All the chapters contain stand alone code examples ready to be compiled and run. Most of the example code is 30-40 lines long and relates to the particular point being explained, i.e. there's no intentional cross-reference between code samples in different chapters.
Starting at the chapter 12, "Linux System Calls", begins what this book was written for - how to apply gathered so far knowledge to the real world. This includes: inline assembly in C/C++ code, programs combining C/C++ source code
and assembly functions, writing static/dynamic libraries in assembly that can be used by any high-level language (here C/C++), optimization tips and tricks, how to work with files.
Finally, the last chapter deals with advanced features like MMX, SSE, and SSE2 instructions .
So, to conclude - It has all a
programmer never exposed to assembly needs to learn to start writing fully functional stand alone or integrated into high-level language assembly code . The author covers all fundamentals of assembly programming and he does it in a plain and accessible language.
However there's something you should be aware of - if you're (like me) a fan of the Wrox "Professional.." series,- don't misunderstand the word in this context. It is only an introductory text on assembly,and it will not bring you to the level of professional assembly programmer, yet.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
33 of 36 people found the following review helpful:
5.0 out of 5 stars
For the High Level Programmer Going Low Down, February 11, 2005
This review is from: Professional Assembly Language (Programmer to Programmer) (Paperback)
Be aware that this book is very Intel oriented, specifically the 32 bit Intel Pentium family sometimes called X86 or more officially IA-32 (Intel Architecture - 32 Bit). If you're working on a Motorola, Sparc or any other architectured machine, go buy a different book.
Having said that, within the Intel world, this book is an excellent introduction on how the IA-32 architecture has developed over time. It is a good introduction to the basic concepts of assembly language programming. It's a fairly high level book, aimed at the programmer who works in C++ or something like that who might want to optimize his code or at least understand what the compiler did to him.
To go with the book, you probably want to go to the Intel web site and download the Software Developer Manuals for the processor you are using (it's about 12 meg for the Pentium 4) or you can order them on a CD. But start with this book, it provides a basis, a foundation that will make the Intel manuals a lot easier to get around.
Good book to start out with assemblers.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
15 of 15 people found the following review helpful:
5.0 out of 5 stars
Excellent Coverage of ATT (GNU) Assembly, October 9, 2006
This review is from: Professional Assembly Language (Programmer to Programmer) (Paperback)
I recently had to port an assembly language program written in Microsoft assembly language (MASM) to Linux (GNU AS). This book saved alot of time by helping me to: (1) understand the differences between MASM & GNU AS, (2) efficiently compile a mixture of "C", inline assembly and pure assembly, and (3) use gdb to debug my port. Each chapter covers a topic in depth with numerous examples that include step-by-step walk throughs with gdb. Anyone who's interested in programming in assembly language on Linux will find this book a very useful reference and a great value. Highly recommended!
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No