Buy new:
-10% £44.78£44.78
£4.48 delivery Friday, 4 October
Dispatches from: Amazon Sold by: Amazon
Save with Used - Good
£20.83£20.83
£14.95 delivery 18 October - 11 November
Dispatches from: ErgodeBooks Ships From USA Sold by: ErgodeBooks Ships From USA
Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet or computer – no Kindle device required.
Read instantly on your browser with Kindle for Web.
Using your mobile phone camera - scan the code below and download the Kindle app.
Assembly Language Step-by-Step Third Edition: Programming with Linux Paperback – 18 Sept. 2009
There is a newer edition of this item:
Purchase options and add-ons
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.
- ISBN-100470497025
- ISBN-13978-0470497029
- Edition3rd
- PublisherWiley
- Publication date18 Sept. 2009
- LanguageEnglish
- Dimensions18.54 x 4.06 x 22.61 cm
- Print length646 pages
What do customers buy after viewing this item?
- Highest rated | Lowest Pricein this set of productsThis item:
Assembly Language Step-by-Step Third Edition: Programming with LinuxPaperback£4.48 deliveryOnly 5 left in stock (more on the way). - Best Sellingin this set of products


Product description
From the Inside Flap
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
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
- Publisher : Wiley; 3rd edition (18 Sept. 2009)
- Language : English
- Paperback : 646 pages
- ISBN-10 : 0470497025
- ISBN-13 : 978-0470497029
- Dimensions : 18.54 x 4.06 x 22.61 cm
- Best Sellers Rank: 1,015,645 in Books (See Top 100 in Books)
- 254 in Linux Distributions
- 3,530 in Software Design & Development
- 3,555 in Computing & Internet for Professionals
- Customer reviews:
About the author

I am a writer, editor, technologist and contrarian living in Scottsdale, Arizona. Although I've worked as a programmer, I've been in the technical publishing industry (both magazines and books) from 1985 until I retired in 2015. I co-founded Coriolis Group Books in 1989 and ran editorial until the company closed in 2002. Most of my book-length work has been on computer technology. (See ASSEMBLY LANGUAGE STEP BY STEP and LEARN COMPUTER ARCHITECTURE WITH RASPBERRY PI, as well as many more titles now out of print but available used.)
In my loose moments I'm an amateur radio operator (callsign K7JPD), amateur astronomer, and SF writer. My first SF novel, THE CUNNING BLOOD, appeared in 2005 but I have been selling SF stories to magazines and anthologies for 45 years, and was on the final Hugo Awards ballot in 1981.I now have seven volumes of SF and fantasy on KDP Select.
My wife Carol and I met in high school and have been married for 45 years. We live in Scottsdale with two Bichon Frise dogs.
There's more about me on my Web sites: contrapositivediary.com (my blog) junkbox.com (tech projects) and duntemann.com, which is a quick index to all that I've published online.
Products related to this item
Customer reviews
Customer Reviews, including Product Star Ratings, help customers to learn more about the product and decide whether it is the right product for them.
To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyses reviews to verify trustworthiness.
Learn more how customers reviews work on Amazon-
Top reviews
Top reviews from United Kingdom
There was a problem filtering reviews right now. Please try again later.
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.
Jeff explains everything and uses a variety of analogies which is very helpful for anyone learning the language first time. I'm currently still progressing through the book and eager to debug larger programs, I can understand it will take time and lots of practice.
Great book, Thanks Jeff Duntemann
Well Recommended!!
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.
It is unfortunate that the author uses a debugger that appears to have disappeared from the market.
With this problem at the start of the book, it could deter anyone to go further into the book.
I did find, at the start, that kdbg seemed to meet the debugging requirements.
However, after updating 'kdbg' I could no longer get a register readout. Using 'gdb' is very painful and slow.
Top reviews from other countries
Der größte Nachteil:
Das Buch ist leicht veraltet, für das Assemblieren im 32 Bit Modus muss man spezielle Kommandozeilenparameter verwenden, die man auf der Website vom Buch oder auf Stackoverflow findet. Der Debugger wird nicht mehr offiziel von Ubuntu unterstützt, daher verwende ich den anderen vom Buch vorgeschlagenen: Kdbg
Vorteile:
Man lernt wie ein Rechner intern funktioniert. Für jeden der sich für Computersicherheit und Betriebssystemprogrammierung interessert ein absolutes muss. Dieses Buch überspringt dabei nicht die wesentlichen Grundlagen, die für das Verstehen und Erlernen von i386 Assembler notwendig sind, das hier ist kein Crash Kurs, aber auch keine Dokumentation.
Mir gefällt auch der Learning by Doing Charakter, ohne dass man die Aufgaben erst am Ende eines Kapitels hat, wie es typischerweise bei anderen IT Büchern ist.
Solltet ihr schon Assembler können, oder sucht ihr einen Quick and Dirty Einstieg: lasst die Finger von dem Buch. Dafür gibt es geeignetere Online Ressourcen.
Ganz nebenbei gefällt mir auch der Witz von dem Buch, der Autor ist mir sehr sympathisch und die Inhalte werden lebendig dargestellt.
One small thing: maybe I missed it, but the author didn't say why the instruction addresses aren't evenly spaced: it's because the instructions have different byte lengths. I reckon the bit on hex could have shorter or different. But otherwise I think is really a top book and you can see why it's been in 3 editions.
Another interesting feature of the book is the author's backstory and perspective. He's been playing with computers since the early seventies, and was clearly a big Pascal fan (something which maybe died in the early 90s, but still lives on in Delphi). This contributes to an outsider's perspective on UNIX and C culture which is refreshing.
Good job Jeff! :) the best book about assembly.