Buy new:
-10% £44.78
£4.48 delivery Friday, 4 October
Dispatches from: Amazon
Sold by: Amazon
£44.78 with 10 percent savings
RRP: £50.00
The RRP is the suggested or recommended retail price of a product set by the manufacturer and provided by a manufacturer, supplier or seller.
Learn more
£4.48 delivery Friday, 4 October. Details
Or fastest delivery Tuesday, 1 October. Order within 16 hrs 56 mins. Details
Only 5 left in stock (more on the way).
££44.78 () Includes selected options. Includes initial monthly payment and selected options. Details
Price
Subtotal
££44.78
Subtotal
Initial payment breakdown
Delivery cost, delivery date and order total (including tax) shown at checkout.
Dispatches from
Amazon
Dispatches from
Amazon
Sold by
Amazon
Sold by
Amazon
Returns
Returnable within 30 days of receipt
Returnable within 30 days of receipt
Item can be returned in its original condition for a full refund within 30 days of receipt
Returns
Returnable within 30 days of receipt
Item can be returned in its original condition for a full refund within 30 days of receipt
Payment
Secure transaction
Your transaction is secure
We work hard to protect your security and privacy. Our payment security system encrypts your information during transmission. We don’t share your credit card details with third-party sellers, and we don’t sell your information to others. Learn more
Payment
Secure transaction
We work hard to protect your security and privacy. Our payment security system encrypts your information during transmission. We don’t share your credit card details with third-party sellers, and we don’t sell your information to others. Learn more
£20.83
Used: Good; Buy with confidence. Excellent Customer Service & Return policy.Ships from USA. Please give between 2-5 week for delivery. 24*7 Customer Service. Used: Good; Buy with confidence. Excellent Customer Service & Return policy.Ships from USA. Please give between 2-5 week for delivery. 24*7 Customer Service. See less
£14.95 delivery 18 October - 11 November. Details
Usually dispatched within 8 to 9 days
££44.78 () Includes selected options. Includes initial monthly payment and selected options. Details
Price
Subtotal
££44.78
Subtotal
Initial payment breakdown
Delivery cost, delivery date and order total (including tax) shown at checkout.
Dispatched from and sold by ErgodeBooks Ships From USA.
Added to

Sorry, there was a problem.

There was an error retrieving your Wish Lists. Please try again.

Sorry, there was a problem.

List unavailable.
Kindle app logo image

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.

QR code to download the Kindle App

Follow the author

Something went wrong. Please try your request again later.

Assembly Language Step-by-Step Third Edition: Programming with Linux Paperback – 18 Sept. 2009

4.4 4.4 out of 5 stars 135 ratings

There is a newer edition of this item:

{"desktop_buybox_group_1":[{"displayPrice":"£44.78","priceAmount":44.78,"currencySymbol":"£","integerValue":"44","decimalSeparator":".","fractionalValue":"78","symbolPosition":"left","hasSpace":false,"showFractionalPartIfEmpty":true,"offerListingId":"psdF%2FXQK%2FRjlCXnu8HoWfcaSYQPDdnf1K4aPacOIiAy12is9LGyZcWRtT94NrCJdPo6o44XjJ9D9snSx%2FK6POdGEaOC3d2Rtp%2BusOtrgwzGwjsOxJFT8aw1Q57ue6cZN","locale":"en-GB","buyingOptionType":"NEW","aapiBuyingOptionIndex":0}, {"displayPrice":"£20.83","priceAmount":20.83,"currencySymbol":"£","integerValue":"20","decimalSeparator":".","fractionalValue":"83","symbolPosition":"left","hasSpace":false,"showFractionalPartIfEmpty":true,"offerListingId":"psdF%2FXQK%2FRjlCXnu8HoWfcaSYQPDdnf1200msh9KX%2BgLuFwc3yfT8krdZ3mAmONkilsecpSi%2BkPCh%2Bkgvo48%2BX%2FyuzYlWSrkQNKrC386fXzVgMG2vMe3RKlpzfHd4qLwQoVy0odaNCNblYDQBJeBENfZ7y3fLc99NHLcru%2BWYULQF7JNKb4xPA%3D%3D","locale":"en-GB","buyingOptionType":"USED","aapiBuyingOptionIndex":1}]}

Purchase options and add-ons

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 Inside Flap

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

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

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
  • Customer reviews:
    4.4 4.4 out of 5 stars 135 ratings

About the author

Follow authors to get new release updates, plus improved recommendations.
Jeff Duntemann
Brief content visible, double tap to read full content.
Full content visible, double tap to read brief content.

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.


Customer reviews

4.4 out of 5 stars
135 global ratings

Top reviews from United Kingdom

Reviewed in the United Kingdom on 7 June 2010
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.
14 people found this helpful
Report
Reviewed in the United Kingdom on 20 September 2012
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.
2 people found this helpful
Report
Reviewed in the United Kingdom on 19 June 2018
I found this book very interesting. The first several chapters give a great introduction to x86 memory layout and addressing which is fundamental to understand for assembly. Therefore writing anything in the language doesn't start until around chapter 7, roughly mid way through the book. The book covers the basics in a lot of detail, a brief introduction and a summary for each chapter would be beneficial as would numbered subheadings. You will need to find a workaround for using insight debugger, there are available releases which will have to be built manually. Alternatively Evans debugger - edb provides a similar experience.

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
One person found this helpful
Report
Reviewed in the United Kingdom on 7 February 2011
This is a grate book for anyone starting to learn assembly language. I am a computer science student and therefore have to do a lot of academic reading, This is by far the most informative and captive educational book I have read in a long time. There are bits in it that could have been left out, for example setting up a development environment but I have been using Linux and programming in C for years, so maybe its just me.

Well Recommended!!
3 people found this helpful
Report
Reviewed in the United Kingdom on 20 January 2012
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.
15 people found this helpful
Report
Reviewed in the United Kingdom on 3 December 2013
The comments for 'C Programming Language' without comments about links, apply here also.
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.
One person found this helpful
Report
Reviewed in the United Kingdom on 20 May 2013
The prose style horrible. It is in the register of a Topgear presentation (which works for topgear, not for assembly code) rather than a clear, concise and clean academic style. It is far too long for far too little information.
2 people found this helpful
Report

Top reviews from other countries

Translate all reviews to English
mae tamayo
5.0 out of 5 stars Good reference
Reviewed in Canada on 19 February 2024
Needed to review and was a good reference book
Taher Borsadwala
5.0 out of 5 stars Brilliant!
Reviewed in India on 12 June 2020
Author focuses on the basics and takes more than enough time for setting the premise. If you are looking to jump into code right from day 1 then this is NOT the book for you. This book explains the "why" of all (well, most of it, Assembly is after all a machine level lingo and hence the scope is way too broad) that is needed before getting to the code. Beautiful approach. Highly recommend.
Janita Seiffer
5.0 out of 5 stars Lesenswert für Programmiereinsteiger und Fortgeschrittene
Reviewed in Germany on 21 July 2017
Was man als erstes wissens sollte: Dieses Buch wurde so geschrieben, dass ein Programmiereinsteiger zurecht kommt. Voraussetzung sind Kenntnisse in Linux, insbesondere sicherer Umgang mit dem Terminal ist recht wichtig.

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.
Jean de Terre
5.0 out of 5 stars Excellent Intro to x86 Assembly even in 2020
Reviewed in Australia on 25 June 2020
The other reviews sum it up. With a hard, detail oriented topic like Assembly a slow paced book is exactly what is needed. There are a couple of caveats: nowadays most PCs are using 64bit assembly, but this book covers 32bit. Plus the debugger recommended is no longer supported. But don't let this deter you. You can just run 32bit linux (ubuntu or debian) on oracle's virtual box (which is free). Instead of using the insight debugger, the kdbg debugger works fine (and he shows you how to use it anyway). Plus the x86 is designed to be backwards compatible, so 32bit principles still apply with 64bit.

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.
marco r.
5.0 out of 5 stars Suggested book for low level programming newbies
Reviewed in Italy on 1 December 2016
Suggested book for low level programming newbies, but if you are not... you can go ahead some chapters.
Good job Jeff! :) the best book about assembly.