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
Professional Assembly Language
Every high level language program (such as C and C++) is converted by a compiler into assembly language before it is linked into an executable program. This book shows you how to view the assembly language code generated by the compiler and understand how it is created. With that knowledge you can tweak the assembly language code generated by the compiler or create your own assembly language routines.
This code-intensive guide is divided into three sections - basics of the assembly language program development environment, assembly language programming, and advanced assembly language techniques. It shows how to decipher the compiler-generated assembly language code, and how to make functions in your programs faster and more efficient to increase the performance of an application.
What you will learn from this book:
* The benefits of examining the assembly language code generated from your high-level language program
* How to create stand-alone assembly language programs for the Linux Pentium environment
* Ways to incorporate advanced functions and libraries in assembly language programs
* How to incorporate assembly language routines in your C and C++ applications
* Ways to use Linux system calls in your assembly language programs
* How to utilize Pentium MMX and SSE functions in your applications