Programming Books C Java PHP Python Learn more Browse Programming Books
Assembly Language Step-by-Step: Programming with Linux and over one million other books are available for Amazon Kindle. Learn more
Qty:1
  • List Price: $65.00
  • Save: $24.41 (38%)
In Stock.
Ships from and sold by Amazon.com.
Gift-wrap available.
Assembly Language Step-by... has been added to your Cart
+ $3.99 shipping
Used: Good | Details
Condition: Used: Good
Comment: Bumped covers and spine. Light scratches and scuff marks on covers.
Access codes and supplements are not guaranteed with used items.
Sell yours for a Gift Card
We'll buy it for $13.17
Learn More
Trade in now
Have one to sell? Sell on Amazon
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See this image

Assembly Language Step-by-Step: Programming with Linux Paperback – September 18, 2009

ISBN-13: 978-0470497029 ISBN-10: 0470497025 Edition: 3rd Edition

Buy New
Price: $40.59
31 New from $33.50 19 Used from $30.00
Amazon Price New from Used from
Kindle
"Please retry"
Paperback
"Please retry"
$40.59
$33.50 $30.00
Free%20Two-Day%20Shipping%20for%20College%20Students%20with%20Amazon%20Student

$40.59 FREE Shipping. In Stock. Ships from and sold by Amazon.com. Gift-wrap available.

Frequently Bought Together

Assembly Language Step-by-Step: Programming with Linux + The Essentials of Computer Organization and Architecture
Price for both: $228.38

Buy the selected items together

NO_CONTENT_IN_FEATURE

Best Books of the Month
Best Books of the Month
Want to know our Editors' picks for the best books of the month? Browse Best Books of the Month, featuring our favorite new books in more than a dozen categories.

Product Details

  • Paperback: 648 pages
  • Publisher: Wiley; 3rd Edition edition (September 18, 2009)
  • Language: English
  • ISBN-10: 0470497025
  • ISBN-13: 978-0470497029
  • Product Dimensions: 7.4 x 1.3 x 9.2 inches
  • Shipping Weight: 2 pounds (View shipping rates and policies)
  • Average Customer Review: 4.1 out of 5 stars  See all reviews (30 customer reviews)
  • Amazon Best Sellers Rank: #165,103 in Books (See Top 100 in Books)

Editorial Reviews

From the Back Cover

Learn assembly language, and you learn the machine

In this third edition of his bestselling guide to Intel x86 assembly language under Linux, Jeff Duntemann positions assembly not as unapproachable geek arcana but as a first programming language, suitable for readers who have no previous programming experience. As the fundamental language of the CPU, assembly lays the groundwork for all other programming languages, especially native-code C, C++, and Pascal. By mastering assembly, programmers will learn how x86 computers operate all the way down to "the bare silicon," at a level of detail that no other approach can equal.

Assembly Language Step by Step, Third Edition, helps you:

  • Review the fundamental concepts behind computing and programming, including the hexadecimal and binary number bases

  • Understand the evolution of the Intel CPUs and how modern x86 processors operate

  • Grasp the process of programming itself, from editing source code through assembly, linking, and debugging

  • Comprehend x86 32-bit protected-mode memory addressing

  • Learn the x86 instruction set by dissecting numerous complete example programs

  • Work with the wealth of free programming utilities under Ubuntu Linux, including the Kate editor, the NASM assembler, and the GNU toolset

  • Master practical details of Linux programming, including procedures, macros, the INT 80h call gate, and calls to the standard C libraries

About the Author

Jeff Duntemann has been writing about computing for over thirty years, and is the author of numerous books on programming, wireless networking, and system administration. He has been a columnist in Dr. Dobb's Journal, and has edited well-known programming publications like PC Techniques and Visual Developer. After hours, he enjoys blogging, astronomy, amateur radio, and writing science fiction.

Customer Reviews

The book is a relatively easy read (for the subject).
JL
Indicating that a memory reference is 64 bits is done with qword.
Steve E. Chapel
Good introductory book on IA-32 Assembly programming in Linux.
Laura

Most Helpful Customer Reviews

29 of 31 people found the following review helpful By Robin Levin on February 25, 2010
Format: Paperback Verified Purchase
This is a very good introductory book on IA-32 Assembly programming on Linux (well, Ubuntu distro specifically but adaptable to other distros too). Uses NASM and a stack of tools that are likely available for all distros (but again definitely if you have an Ubuntu variant).

If you're really ready to take your time and are shooting for a well-grounded point of departure than this book is for you. If you've already mastered things like IA-32 architecture, number theory, adding in hex, fundamentals of assembly, registers, eflags, etc., than this might move too slow for you. That being said, you may just find some interesting nuggets in this book.

One thing I really liked about this book is he moves at a very realistic gradient for the beginning assembly newbie and also provides a very nice setup for experimentation (that is, he suggests a certain toolset which, once setup, will allow you to step through your program and inspect the registers instruction by instruction). I found this quite helpful in making abstract concepts more concrete and to confirm my understanding. Also, very nice use of diagrams not usually found in a topic as terse as assembly language!

Some have complained on earlier editions that they don't like his writing style and that he takes too long to get you to the meat of assembly. I wasn't too crazy about the Martians FooBitidy whatever analogy that he uses, and he definitely can take a bit long to get to the point from time to time. However, this can come in useful for complicated sections as he really takes his time to lay it all out in such a way to where you'd have to be asleep not to "get it".
Read more ›
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
17 of 19 people found the following review helpful By Steve E. Chapel on August 25, 2010
Format: Paperback Verified Purchase
The author is a very experienced assembly language programmer, and he covers topics in a very organized way so that the reader can fully understand at each step of the way. This is a bit boring for programmers who are familiar with assembly language, even those vastly different from Intel's, but those readers can skip the first three chapters and skim parts of the others.

The author does a fantastic job of focusing on the most important information needed for assembly language programming. He does not present a comprehensive explanation of every instruction, but instead explains each type of instruction and the most used instructions. He covers the use of tools including debuggers and make, and explains how to interface with C programs and how to make Linux kernel calls. After reading each chapter, I was able to use references available on the Internet to find any information that wasn't in the book, such as a comprehensive list of kernel calls and Intel assembly language instructions.

The instructions given in the book for setting up the tools are for Ubuntu, but yum works well on Fedora:
yum install unzip bless nasm make gcc kdbg insight kdesdk kdebase

One problem with the book is that it sticks to 32-bit assembly language and doesn't explain what differs on 64-bit systems. I found that I had to change nasm's output format from elf to elf64 (-f elf64) and use the 64-bit registers (rax, rbx, rbp, etc.) The book describes pushad and popad to push and pop all general purpose registers, but these do not work with the 64-bit registers. Indicating that a memory reference is 64 bits is done with qword. I couldn't output command line arguments as set up by the Linux runtime without copying them into a different buffer.
Read more ›
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
40 of 50 people found the following review helpful By Amazon Customer on December 7, 2009
Format: Paperback
A long time ago, in a basement far far away, I was sitting in front of a long-suffering television set, banging away on a Commodore 64, trying to dive beyond BASIC programming to where the cool kids played, down below the user interface, down in the guts of the machine itself. Stripped of the training wheels, you could write programs on that ancient machine that would fly. The cool kids wrote programs in assembly language. I tried. But I never got there. By the time I hit college, they didn't teach it anymore, and gradually, I moved past it to other programming, and ultimately to more satisfying careers doing other things.

But I never forgot.

Given that background, I didn't have high hopes for Assembly Language Step by Step. I know Jeff. I've read and enjoyed his science fiction, and he's blurbed mine, and to disclaim a moment, I know him well enough that he wouldn't let me pay for my copy of this new, near total rewrite of his classic text on the matter. I knew if anyone could explain assembly to me, it would be him, but I still expected to hit the point where my eyes glazed over and I didn't care anymore.

Instead, by five chapters into the book, I had refreshed my knowledge of binary and hexadecimal math. I'd looked into computer architecture to a depth I never reached before, and begun to understand, really understand the true center of assembly programming, the addressing of memory. And it's not like it was in the days when I tried to learn assembly before. Modern operating systems treat memory differently, and it's this new, more complex memory mapping that I understand now.
Read more ›
1 Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again

Most Recent Customer Reviews


What Other Items Do Customers Buy After Viewing This Item?