Start reading Assembly Language Step-by-Step: Programming with Linux on your Kindle in under a minute. Don't have a Kindle? Get your Kindle here or start reading now with a free Kindle Reading App.

Deliver to your Kindle or other device


Try it free

Sample the beginning of this book for free

Deliver to your Kindle or other device

Sorry, this item is not available in
Image not available for
Image not available

Assembly Language Step-by-Step: Programming with Linux [Kindle Edition]

Jeff Duntemann
3.9 out of 5 stars  See all reviews (7 customer reviews)

Print List Price: £45.00
Kindle Price: £25.45 includes VAT* & free wireless delivery via Amazon Whispernet
You Save: £19.55 (43%)
* Unlike print books, digital books are subject to VAT.

Free Kindle Reading App Anybody can read Kindle books—even without a Kindle device—with the FREE Kindle app for smartphones, tablets and computers.

To get the free app, enter your e-mail address or mobile phone number.


Amazon Price New from Used from
Kindle Edition £25.45  
Paperback £26.79  
Kindle Daily Deal
Kindle Daily Deal: Up to 70% off
Each day we unveil a new book deal at a specially discounted price--for that day only. Learn more about the Kindle Daily Deal or sign up for the Kindle Daily Deal Newsletter to receive free e-mail notifications about each day's deal.

Book Description

The eagerly anticipated new edition of the bestselling introduction to x86 assembly language

The long-awaited third edition of this bestselling introduction to assembly language has been completely rewritten to focus on 32-bit protected-mode Linux and the free NASM assembler. Assembly is the fundamental language bridging human ideas and the pure silicon hearts of computers, and popular author Jeff Dunteman retains his distinctive lighthearted style as he presents a step-by-step approach to this difficult technical discipline.

He starts at the very beginning, explaining the basic ideas of programmable computing, the binary and hexadecimal number systems, the Intel x86 computer architecture, and the process of software development under Linux. From that foundation he systematically treats the x86 instruction set, memory addressing, procedures, macros, and interface to the C-language code libraries upon which Linux itself is built.

  • Serves as an ideal introduction to x86 computing concepts, as demonstrated by the only language directly understood by the CPU itself
  • Uses an approachable, conversational style that assumes no prior experience in programming of any kind
  • Presents x86 architecture and assembly concepts through a cumulative tutorial approach that is ideal for self-paced instruction
  • Focuses entirely on free, open-source software, including Ubuntu Linux, the NASM assembler, the Kate editor, and the Gdb/Insight debugger
  • Includes an x86 instruction set reference for the most common machine instructions, specifically tailored for use by programming beginners
  • Woven into the presentation are plenty of assembly code examples, plus practical tips on software design, coding, testing, and debugging, all using free, open-source software that may be downloaded without charge from the Internet.

Product Description

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.

Product details

  • Format: Kindle Edition
  • File Size: 5650 KB
  • Print Length: 648 pages
  • Publisher: Wiley; 3 edition (3 Mar. 2011)
  • Sold by: Amazon Media EU S.à r.l.
  • Language: English
  • Text-to-Speech: Enabled
  • X-Ray:
  • Word Wise: Not Enabled
  • Average Customer Review: 3.9 out of 5 stars  See all reviews (7 customer reviews)
  • Amazon Bestsellers Rank: #182,612 Paid in Kindle Store (See Top 100 Paid in Kindle Store)
  •  Would you like to give feedback on images?

What Other Items Do Customers Buy After Viewing This Item?

Customer Reviews

3.9 out of 5 stars
3.9 out of 5 stars
Most Helpful Customer Reviews
12 of 13 people found the following review helpful
Format:Paperback|Verified Purchase
Definitely a first book for assembly language programming, this is a valuable and gentle introduction that's useful new and seasoned programmers alike (the latter will want to skip or skim read some of the early chapters, particularly Chapter 2's coverage of different number bases). By the time you tackle the first actual program, you've read enough to feel confident in understanding what's going on. The later chapters are well paced, progressing through memory addressing, the stack layout for Linux processes, debugging, calling functions written in C, and brief coverage of the GNU assembler syntax (the Intel syntax used by NASM is used elsewhere).

What you won't find is much material on optimisation, or exhaustive coverage of the x86 instruction set. Neither are appropriate for the introductory level of this book, and its focus remains clear as a result.

If there was one thing that I'd like to have seen, it'd be calling assembly language routines from C, but it's a reasonable omission given that it's a book on assembler and not C.
Comment | 
Was this review helpful to you?
7 of 8 people found the following review helpful
2.0 out of 5 stars Tries to simplify, gets it totally wrong! 20 Jan. 2012
Format:Paperback|Verified Purchase
I love Linux. I'm interested in Assembly. I didn't want an overly complex book. What could go wrong?

Consider this book also aims at teaching people assembly as their first programming language.

The authors tone, his prose, his everything, is way too chatty. You can't absorb it all because it's way too much "fluff", and he drifts way too far from fact. This builds up into paragraphs, pages, and even chapters of unnecessary baggage. If you actually know a little about computers, you're told to skip the first 3-4 chapters.

- worst analogy of program flow and 'recipe' I've ever seen in a book. It actually makes things more complex, all that waffling on.
- author explains binary and hexadecimal via pages and pages on his own made up system "foobidty", "foobidtyfoo".
- will make you feel you're not getting anywhere, as it's like reading a novel.
- you don't actually get to do anything until about half way through the book.
- you'll read pages and pages of worthless information that amount to nothing

Ultimately enduring the authors long-winded explanations on concepts will leave you wanting to cry, even if you are a true beginner on programming and computers in general. You'll find yourself having to concentrate more on long-winded analogies, reading half of the book before you even write something in assembly, and then enduring the latter half with the same waffle will make you want to end it all.

I recommended reading the preview here on amazon or the author's site before picking this up.
Was this review helpful to you?
This book has to be taken as an overall guide to programming, not just a guide on assembly. It goes at great length to explain many concepts, in a way that would suit the 70s and 80s, and perhaps early 90s, but isn't too relevant today. Back then many people would learn assembly through necessity; today pretty much nobody will learn assembly as a first language, and will already be familiar with a lot of the material. In saying that, the author's passion for technology and getting to the lowest level of programming is clear. He wants to share that enthusiasm, and comes across as someone wanting to teach the reader rather than provide a reference.

Overall it's an easy read, its tone is very informal and sometimes could do with tightening up, but it has a lot of content and well thought out structure. The author tends to use analogies too liberally, clarifying things with them that are already explained clearly. It has quickly dated unfortunately - most computers were 64bit at the time of writing, more 64bit content should have been provided.

There are few guides to x86 assembly today (the NoStarch guide uses an invented 'high level' assembly which in my mind defeats the purpose, just use C). I'd recommend this book with the reservations described.
Comment | 
Was this review helpful to you?
5.0 out of 5 stars Very good first step 20 Sept. 2012
Format:Paperback|Verified Purchase
Excellent book, but way too much space has been wasted on things that could have been explained using half of the words. As a result, the author ran out of space to cover the FPU instructions, which I think is a must even for a beginning programmer, so I consider this book incomplete. Also, there are many errors, some not included in the errata. But it gives you sufficient knowledge to go on researching on your own using Intel documentation, for example. On a positive note, the language is easy to grasp even by so called "dummies". This book focuses on the Intel syntax, which I find helpful. Explanations are very detailed and there's plenty of examples. A lot of space has been devoted to setting up working environment and correct methodology, based on author's experience. Regrettably, the Insight debugger, that examples in this book use, is no longer maintained, so I had to use an old distro. What saved the 5th star is very in-depth coverage of memory addressing.
Comment | 
Was this review helpful to you?
Would you like to see more reviews about this item?
Were these reviews helpful?   Let us know

Customer Discussions

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

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

Search Customer Discussions
Search all Amazon discussions

Look for similar items by category