Facebook Twitter Pinterest
  • Statt: EUR 65,90
  • Sie sparen: EUR 7,98 (12%)
  • Alle Preisangaben inkl. MwSt.
Nur noch 2 auf Lager (mehr ist unterwegs).
Verkauf und Versand durch Amazon. Geschenkverpackung verfügbar.
Assembly Language Step-by... ist in Ihrem Einkaufwagen hinzugefügt worden
+ EUR 3,00 Versandkosten
Gebraucht: Wie neu | Details
Verkauft von ---SuperBookDeals---
Zustand: Gebraucht: Wie neu
Kommentar: 100% Geld zurueck Garantie. Zustand Wie neu. Schneller Versand, erlauben sie bitte 8 bis 18 Tage fuer Lieferung. Ueber 1,000,000 zufriedene Kunden. Wir bieten Kundenbetreuung in Deutsch.
Möchten Sie verkaufen?
Zur Rückseite klappen Zur Vorderseite klappen
Hörprobe Wird gespielt... Angehalten   Sie hören eine Hörprobe des Audible Hörbuch-Downloads.
Mehr erfahren
Alle 2 Bilder anzeigen

Assembly Language Step-by-Step: Programming with Linux (Englisch) Taschenbuch – 2. Oktober 2009

Alle Formate und Ausgaben anzeigen Andere Formate und Ausgaben ausblenden
Neu ab Gebraucht ab
Kindle Edition
"Bitte wiederholen"
"Bitte wiederholen"
EUR 57,92
EUR 22,00 EUR 42,83
21 neu ab EUR 22,00 7 gebraucht ab EUR 42,83
click to open popover

Wird oft zusammen gekauft

  • Assembly Language Step-by-Step: Programming with Linux
  • +
  • The Shellcoder's Handbook: Discovering and Exploiting Security Holes
  • +
  • Rtfm: Red Team Field Manual
Gesamtpreis: EUR 96,21
Die ausgewählten Artikel zusammen kaufen

Es wird kein Kindle Gerät benötigt. Laden Sie eine der kostenlosen Kindle Apps herunter und beginnen Sie, Kindle-Bücher auf Ihrem Smartphone, Tablet und Computer zu lesen.

  • Apple
  • Android
  • Windows Phone

Geben Sie Ihre Mobiltelefonnummer ein, um die kostenfreie App zu beziehen.

Jeder kann Kindle Bücher lesen — selbst ohne ein Kindle-Gerät — mit der KOSTENFREIEN Kindle App für Smartphones, Tablets und Computer.




Assembly Language Step by Step
Programming with Linux(r)
Jeff Duntemann
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

Über den Autor und weitere Mitwirkende

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.


Es gibt noch keine Kundenrezensionen auf Amazon.de
5 Sterne
4 Sterne
3 Sterne
2 Sterne
1 Stern

Die hilfreichsten Kundenrezensionen auf Amazon.com (beta)

Amazon.com: HASH(0x99e7230c) von 5 Sternen 51 Rezensionen
26 von 28 Kunden fanden die folgende Rezension hilfreich
HASH(0x99e55b4c) von 5 Sternen Fantastic introduction to assembly language 25. August 2010
Von Steve E. Chapel - Veröffentlicht auf Amazon.com
Format: Taschenbuch Verifizierter Kauf
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.

On 64-bit Linux, the glibc calling conventions are completely different than those described in the book. I was able to figure out how to call printf by writing a C program and disassembling it with objdump, which I found more readable then gcc's assembly listing. The glibc calling convention for 64-bit is that the arguments are passed in registers, with the first argument in rdi, second in rsi, third in rdx, and fourth in rcx; also the rax register must be set to zero for variable-argument functions. The registers rbx, rbp, rsp, r12, r13, 14, and 15 must be saved by the called function.

The fact that I was able to program on a 64-bit system even though the book doesn't cover 64-bit systems is a testament to how well the author covers the basics. Instead of trying to provide every little piece of information an assembly language programmer may need, he provides clear explanations of the basics so that the reader can understand enough to look up any additional information needed. I recommend this book over all others for programmers who want to learn Intel assembly language.
35 von 39 Kunden fanden die folgende Rezension hilfreich
HASH(0x9db4eb90) von 5 Sternen Great Introductory Book on IA-32 Assembly! 25. Februar 2010
Von Robin Levin - Veröffentlicht auf Amazon.com
Format: Taschenbuch Verifizierter Kauf
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". As a programmer who has learned to do a lot of reading on the side, I don't much care if 100 pages could have been stripped down - I'm more concerned with whether I can actually learn from a book. If you require K&R style writing you my not like this. However, my suggestion - deal with a bit of annoying fluff and you'll be thankful in the end. I just don't see another resource that gets you this kind of grounding IMO.

You definitely should be ready to take your time with this one. For example, he will ask you to put down the book and learn to add up to 0Fh + 0Fx, and expects you to commit this to memory. I made flash cards and put the book down for a few days until I had that down pat (this only happens once in the book though) - so yes, there's some commitment involved on the reader's part. But it won't dump you on the side of the road half way in so you'll be happy you made the effort. Note that he many times will present a code example with a few new concepts and THEN explain those concepts shortly thereafter. He seems to like to show some things in context and this requires some forward references - nothing that leaves you too miffed though.

Overall, wish I had this book earlier in my career! Well down My Duntemann!
57 von 67 Kunden fanden die folgende Rezension hilfreich
HASH(0x9db4ea70) von 5 Sternen Where the Cool Kids Program 8. Dezember 2009
Von Amazon Customer - Veröffentlicht auf Amazon.com
Format: Taschenbuch
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. Even after 30 years in and around the computing industry, this book taught me things I didn't know about what computing is, when all the familiar abstractions are stripped away and the bare code is exposed.

I can't wait to go further.

Thirty years later, that geeky kid in the basement who didn't get it, finally gets it.

If you want to get it, if you want to program where the cool kids program, if you want to understand how that machine on your desk really works, you want, you need, you must have this book. Buy this book. You won't regret it.

Highly recommended.
Five stars

13 von 16 Kunden fanden die folgende Rezension hilfreich
HASH(0x9ae3be4c) von 5 Sternen Excellent book--new problems noted 9. August 2010
Von Gary E. Albers - Veröffentlicht auf Amazon.com
Format: Taschenbuch Verifizierter Kauf
This book by one of the true gurus of computer programming is long overdue, but well worth the wait. I'm using it to refresh my dormant assembly language skills. I highly recommend this book for both beginners and rusty old-timers like me.

Please note that Jeff's book teaches assembly language programming for the IA-32 (Intel/AMD) CPUs on a Linux Ubuntu platform, NOT Windows. He uses development tools that are free in the Linux world, specifically: the KDE desktop, the Kate programming editor, the Nasm assembler, the Linux built-in linker, and the Insight debugger. Users of other Linux kernels should have little trouble following his instructions on their systems. In particular, everything works under the Gnome desktop.

Unlike many other books on assembly language, Jeff doesn't start by plunging the reader into a discussion of arcane assembly opcodes. He first draws on his decades-long experience to give a thorough introduction to the history and evolution of the architecture of the Intel family of processors, as well as a good presentation of number bases. Almost the first third of the book is devoted to such valuable prefatory background. Having taught assembly language courses at the college level, I truly commend this approach.

WARNING: There are two main problems to be aware of. Jeff developed the book using a 32-bit machine and version 8.10 of Linux Ubuntu. To save space in what should properly be a review, I have posted the fixes on a website I created specifically to address these problems. See my comment to this review for directions to that resource. Meanwhile, here's brief descriptions of the problems:

First problem: If you have a 64-bit CPU and Linux kernel, you will encounter a minor problem assembling your source code if you enter the command lines he uses for Nasm (see pg. 144 of the book), which targeted a 32-bit CPU.

Second problem: Unfortunately, with the release of Ubuntu 10.4, Jeff was blind-sided by a change in that release: the Insight debugger, which is used throughout his book, was dropped from the Ubuntu 10.4 distribution. It is also no longer listed in any of the standard repositories known to Ubuntu 10.4. However, I've posted a method for installing Insight in Ubuntu 10.4 on the website I mentioned above. Of course, you can also use the Kdbg debugger, although it doesn't have some of the features of Insight that Jeff likes. He presents an introduction to Kdbg in the early parts of the book.

These problems should be non-existent if you are using an earlier release of Ubuntu and a 32-bit machine, and the Insight problem has only appeared as of the Ubuntu 10.4 release. Since fixes are now available, these problems are no reason to avoid purchasing this excellent book on assembly language programming.
15 von 19 Kunden fanden die folgende Rezension hilfreich
HASH(0x9a72f1ec) von 5 Sternen Do you wanna hack, or do you just want to play around? 20. Februar 2010
Von Rob Ryley - Veröffentlicht auf Amazon.com
Format: Taschenbuch
Author Arthur Clarke once wrote: "Any sufficiently advanced technology is indistinguishable from magic."

Computers are a sufficiently advanced technology. To most, their inner workings are unfathomable. The percentage of people who seem to know how to get the computer to do useful work are known as "gurus", "wizards", and "hackers." With all of the rapid change in the technology field, how is one to keep up?

Jeff Duntemann is like the magician who takes you behind the scenes of an illusion, and describes how things really work. He describes binary and hex mathematical systems, memory addressing, the tools used in creating programs, how programs interact with the hardware and OS, and much more.

Programming in assembly is a lost art. But it is fundamental to doing any computation in a mechanical fashion. Any higher level language must ultimately be translated or compiled into instructions a machine can understand. A programmer who does not have at least some familiarity with assembly will have difficulty debugging programs, writing efficient code, and understanding just what exactly a compiler or interpreter is doing to their code at a fundamental level.

But those who persevere with this book will understand what is going on under the hood.

Logic and math never go out of fashion. Duntemann's stated goal was to show you how computers work, and he succeeded. If you are interested in understanding, and not just some fashionable language of the month, working through this book will be a worthwhile investment of time and money.
Waren diese Rezensionen hilfreich? Wir wollen von Ihnen hören.