or
Sign in to turn on 1-Click ordering.
 
 
Express Checkout with PayPhrase
What's this? | Create PayPhrase
More Buying Choices
48 used & new from $18.00

Have one to sell? Sell yours here
 
   
Professional Assembly Language (Programmer to Programmer)
 
 
Tell the Publisher!
I’d like to read this book on Kindle

Don’t have a Kindle? Get your Kindle here.
 
  

Professional Assembly Language (Programmer to Programmer) (Paperback)

~ (Author) "One of the first hurdles to learning assembly language programming is understanding just what assembly language is..." (more)
Key Phrases: ebx int, eax movl, printf addl, Using Numbers, Instruction Description, Controlling Execution Flow (more...)
4.4 out of 5 stars  See all reviews (22 customer reviews)

List Price: $49.99
Price: $31.49 & this item ships for FREE with Super Saver Shipping. Details
You Save: $18.50 (37%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
Upgrade this book for $7.99 more, and you can read, search, and annotate every page online. See details
In Stock.
Ships from and sold by Amazon.com. Gift-wrap available.

Want it delivered Tuesday, November 17? Choose One-Day Shipping at checkout. Details
31 new from $21.76 17 used from $18.00

Frequently Bought Together

Professional Assembly Language (Programmer to Programmer) + Assembly Language Step-by-step: Programming with DOS and Linux (with CD-ROM) + Reversing: Secrets of Reverse Engineering
Price For All Three: $92.54

Show availability and shipping details

  • This item: Professional Assembly Language (Programmer to Programmer) by Richard Blum

    In Stock.
    Ships from and sold by Amazon.com.
    This item ships for FREE with Super Saver Shipping. Details

  • Assembly Language Step-by-step: Programming with DOS and Linux (with CD-ROM) by Jeff Duntemann

    In Stock.
    Ships from and sold by Amazon.com.
    This item ships for FREE with Super Saver Shipping. Details

  • Reversing: Secrets of Reverse Engineering by Elliot J. Chikofsky

    In Stock.
    Ships from and sold by Amazon.com.
    This item ships for FREE with Super Saver Shipping. Details


Customers Who Bought This Item Also Bought

Reversing: Secrets of Reverse Engineering

Reversing: Secrets of Reverse Engineering

by Elliot J. Chikofsky
4.6 out of 5 stars (17)  $26.40
32/64-Bit 80x86 Assembly Language Architecture

32/64-Bit 80x86 Assembly Language Architecture

by James Leiterman
2.7 out of 5 stars (6)  $32.97
Hacking: The Art of Exploitation, 2nd Edition

Hacking: The Art of Exploitation, 2nd Edition

by Jon Erickson
4.3 out of 5 stars (57)  $32.97
The Shellcoder's Handbook: Discovering and Exploiting Security Holes

The Shellcoder's Handbook: Discovering and Exploiting Security Holes

by Chris Anley
4.5 out of 5 stars (22)  $31.49
Programming From The Ground Up

Programming From The Ground Up

by Jonathan Bartlett
4.7 out of 5 stars (6)  $29.88
Explore similar items

Editorial Reviews

Product Description

  • Unlike high-level languages such as Java and C++, assembly language is much closer to the machine code that actually runs computers; it's used to create programs or modules that are very fast and efficient, as well as in hacking exploits and reverse engineering
  • Covering assembly language in the Pentium microprocessor environment, this code-intensive guide shows programmers how to create stand-alone assembly language programs as well as how to incorporate assembly language libraries or routines into existing high-level applications
  • Demonstrates how to manipulate data, incorporate advanced functions and libraries, and maximize application performance
  • Examples use C as a high-level language, Linux as the development environment, and GNU tools for assembling, compiling, linking, and debugging


From the Back Cover

Professional Assembly Language

Every high level language program (such as C and C++) is converted by a compiler into assembly language before it is linked into an executable program. This book shows you how to view the assembly language code generated by the compiler and understand how it is created. With that knowledge you can tweak the assembly language code generated by the compiler or create your own assembly language routines.

This code-intensive guide is divided into three sections — basics of the assembly language program development environment, assembly language programming, and advanced assembly language techniques. It shows how to decipher the compiler-generated assembly language code, and how to make functions in your programs faster and more efficient to increase the performance of an application.

What you will learn from this book:

  • The benefits of examining the assembly language code generated from your high-level language program
  • How to create stand-alone assembly language programs for the Linux Pentium environment
  • Ways to incorporate advanced functions and libraries in assembly language programs
  • How to incorporate assembly language routines in your C and C++ applications
  • Ways to use Linux system calls in your assembly language programs
  • How to utilize Pentium MMX and SSE functions in your applications

Product Details

  • Paperback: 576 pages
  • Publisher: Wrox; illustrated edition edition (February 11, 2005)
  • Language: English
  • ISBN-10: 0764579010
  • ISBN-13: 978-0764579011
  • Product Dimensions: 9.2 x 7.2 x 1.5 inches
  • Shipping Weight: 1.8 pounds (View shipping rates and policies)
  • Average Customer Review: 4.4 out of 5 stars  See all reviews (22 customer reviews)
  • Amazon.com Sales Rank: #201,610 in Books (See Bestsellers in Books)

    Popular in this category: (What's this?)

    #18 in  Books > Computers & Internet > Programming > Languages & Tools > Assembly Language Programming

More About the Author

Richard Blum
Discover books, learn about writers, read author blogs, and more.

Visit Amazon's Richard Blum Page

Inside This Book (learn more)


Books on Related Topics (learn more)

What Do Customers Ultimately Buy After Viewing This Item?


Tags Customers Associate with This Product

 (What's this?)
Click on a tag to find related items, discussions, and people.
 
(4)
(2)
(1)

Your tags: Add your first tag
 

Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more

 

Customer Reviews

22 Reviews
5 star:
 (16)
4 star:
 (1)
3 star:
 (2)
2 star:
 (3)
1 star:    (0)
 
 
 
 
 
Average Customer Review
4.4 out of 5 stars (22 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

 
16 of 16 people found the following review helpful:
5.0 out of 5 stars Good at explaining the basics, May 12, 2006
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.
Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)



 
28 of 32 people found the following review helpful:
5.0 out of 5 stars For the High Level Programmer Going Low Down, February 11, 2005
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.
Comment Comments (3) | Permalink | Was this review helpful to you? Yes No (Report this)



 
30 of 36 people found the following review helpful:
2.0 out of 5 stars Not for MS, and barely for Linux/Unix, December 10, 2005
I have to take exception with the first 7 reviewers; while this book does have a few redeeming features, it is not a professional level assembly language book. First of all, if you are looking for a professional level assembly language book for operating systems other than Linux or Unix, this book is not for you. It uses AT&T syntax which is different from Intel syntax. If you are experienced, you will have little difficulty translating from one syntax to the other. If you are wanting to learn assembly language for MS OS's, this is not your book.

Blum uses Linux as his development plateform which sounds promising for those of us interested in learning how to use assembly language for Linux. However, he puts off using system calls until chapter 12. He shows one example of printing text on the screen then moves to using printf from the C library. The lack of coverage on system calls puts this book into the barely useful category.

What is useful is his coverage on the major instructions. And, you will get a good workout using the gdb debugger, as he depends upon that for input/output rather than show you how to write basic input/output routines. Linking with other libraries is also useful.

Since there are few books on assembly language for Linux, it is doubly disappointing in how far this book misses the mark. Every seasoned assembly language programmer knows that having a good reference to the OS's basic routines is fundamental. If I wanted to use C functions, I would write in C.
Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)


Share your thoughts with other customers: Create your own review
 
 
 
Most Recent Customer Reviews

5.0 out of 5 stars A good book on assembly language.
I have long been looking for good information that is geared towards assembler in Linux as that is my preferred OS. I am happy to say that I am very satisfied with it. Read more
Published 2 months ago by Arthur Moe

5.0 out of 5 stars It was just what I needed!
This is easy to read book and it was just what I needed. The author examines assembly language from linux perspective. Read more
Published 4 months ago by Plamen Lyud Valov

5.0 out of 5 stars A great book to learn IA-32 assembly
This is a GREAT book for learning x86 IA-32 assembly, very well written by one who knows the magic. The contents are easy to understand and the examples are ready to compile and... Read more
Published 6 months ago by J. He

5.0 out of 5 stars Must Read
This book is a must read for anyone who wants a good introduction to Assembler. The structure of the book is excellent. Read more
Published 9 months ago by Gregory J. Meagher

5.0 out of 5 stars Helped me
If you are looking to learn assembly programming for the Linux os, I think you would do well to have this book.
Best book on Linux assembly I've found. Read more
Published 16 months ago by scott adams

3.0 out of 5 stars Critical mistakes, bad for reference
Although this book is mostly ok, there are two main problems: 1) it makes mistakes critical to the understanding of the material, 2) it is terrible for reference. Read more
Published on August 2, 2007 by Philip G. Lee

2.0 out of 5 stars programmer_in_santamonica
This book should not carry the word Professional in the title - it is basic - very basic at best. This book is all about the Intel architecture - e.g. Intel processors. Read more
Published on May 10, 2007 by Roy Fine

5.0 out of 5 stars Excellent Book
I'd just ditched windows in favor of an Ubuntu system and I wanted to do some assembly language programming. This book was exactly the ticket. Read more
Published on January 28, 2007 by Greg McClure

5.0 out of 5 stars Balanced in any way
User level: Intermediate
It's AT&T style, Linux, Intel based.
He is an expert in explaining. Well organized Buy it and give it a start. Read more
Published on December 10, 2006 by D. Moonen

5.0 out of 5 stars Excellent Coverage of ATT (GNU) Assembly
I recently had to port an assembly language program written in Microsoft assembly language (MASM) to Linux (GNU AS). Read more
Published on October 9, 2006 by Don O'van

Only search this product's reviews



Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 


Active discussions in related forums
Search Customer Discussions
Search all Amazon discussions
   




Product Information from the Amapedia Community

Beta (What's this?)


Look for Similar Items by Category


Look for Similar Items by Subject

 

Feedback

If you need help or have a question for Customer Service, contact us.
 Would you like to update product info or give feedback on images?
Is there any other feedback you would like to provide?

Your comments can help make our site better for everyone.


Your Recent History

 (What's this?)

After viewing product detail pages or search results, look here to find an easy way to navigate back to pages you are interested in.