Print this page Share

Professional Assembly Language

ISBN: 978-0-7645-7901-1
576 pages
February 2005
Professional Assembly Language (0764579010) cover image


  • Unlike high-level languages such as Java and C++, assembly language is much closer to the machine code that actually runs computers; it's used to create programs or modules that are very fast and efficient, as well as in hacking exploits and reverse engineering
  • Covering assembly language in the Pentium microprocessor environment, this code-intensive guide shows programmers how to create stand-alone assembly language programs as well as how to incorporate assembly language libraries or routines into existing high-level applications
  • Demonstrates how to manipulate data, incorporate advanced functions and libraries, and maximize application performance
  • Examples use C as a high-level language, Linux as the development environment, and GNU tools for assembling, compiling, linking, and debugging
See More

Table of Contents




Chapter 1: What Is Assembly Language?

Chapter 2: The IA-32 Platform.

Chapter 3: The Tools of the Trade.

Chapter 4: A Sample Assembly Language Program.

Chapter 5: Moving Data.

Chapter 6: Controlling Execution Flow.

Chapter 7: Using Numbers.

Chapter 8: Basic Math Functions.

Chapter 9: Advanced Math Functions.

Chapter 10: Working with Strings.

Chapter 11: Using Functions.

Chapter 12: Using Linux System Calls.

Chapter 13: Using Inline Assembly.

Chapter 14: Calling Assembly Libraries.

Chapter 15: Optimizing Routines.

Chapter 16: Using Files.

Chapter 17: Using Advanced IA-32 Features.


See More

Author Information

Richard Blum has worked for a large U.S. government organization for more than 15 years. During that time, he has had the opportunity to program utilities in various programming languages: C, C++, Java, and Microsoft VB.NET and C#. With this experience, Rich has often found the benefit of reviewing assembly language code generated by compilers and utilizing assembly language routines to speed up higher-level language programs.
Rich has a bachelor of science degree in electrical engineering from Purdue University, where he worked on many assembly language projects. (Of course, this was back in the eight-bit processor days.) He also has a master of science degree in management from Purdue University, specializing in Management Information Systems.
See More


Download TitleSizeDownload
Download sample code for all of the chapters in the book.
Updated on 2/5/16.
169.00 KB Click to Download
See More


Do you think you've discovered an error in this book? Please check the list of errata below to see if we've already addressed the error. If not, please submit the error via our Errata Form. We will attempt to verify your error; if you're right, we will post a correction below.

ChapterPageDetailsDatePrint Run
66 Error in Table Text
the first "Description" entry of the second table:

Does not analyze information about statistically declared (private) functions

should be:
Does not analyze information about statically declared (private) functions
104 Error in Code
the last line of code at the bottom of page:
movl %edx, -4(&edi)

Should be:
movl %edx, -4(%edi)
106 Error in Code
bottom of page code:

dec %ecx
jz continue
movl $0, %ecx

should be:

inc %ecx
jnc continue
movl $0, %ecx
303 Error in Code
Page 303, code at the top of the page:

code reads:

filds value
fmulp %st(0), %st(1)


should be:

filds value
fmulp %st(0), %st(1)
fstps %eax
311 Error in Code
On page 311 the code line:

movl %ebp, %esp

Should be

movl %esp, %ebp
See More
Back to Top