Assembly Language Step-by-Step: Programming with Linux, Third Edition

  • 11h 58m
  • Jeff Duntemann
  • John Wiley & Sons (US)
  • 2009

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.

In this Book

  • Introduction—“Why Would You Want to Do That?”
  • Another Pleasant Valley Saturday—Understanding What Computers Really Do
  • Alien Bases—Getting Your Arms around Binary and Hexadecimal
  • Lifting the Hood—Discovering What Computers Actually are
  • Location, Location, Location—Registers, Memory Addressing, and Knowing Where Things are
  • The Right to Assemble—The Process of Creating Assembly Language Programs
  • A Place to Stand, with Access to Tools—The Linux Operating System and the Tools That Shape the Way You Work
  • Following Your Instructions—Meeting Machine Instructions up Close and Personal
  • Our Object All Sublime—Creating Programs That Work
  • Bits, Flags, Branches, and Tables—Easing into Mainstream Assembly Coding
  • Dividing and Conquering—Using Procedures and Macros to Battle Program Complexity
  • Strings and Things—Those Amazing String Instructions
  • Heading Out to C—Calling External Functions Written in the C Language
  • Conclusion—Not the End, but Only the Beginning


Rating 4.7 of 7 users Rating 4.7 of 7 users (7)
Rating 5.0 of 3 users Rating 5.0 of 3 users (3)
Rating 4.8 of 52 users Rating 4.8 of 52 users (52)