Professional Assembly Language

Wrox, 2005

by Richard Blum



Description

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

Table of Contents

Acknowledgments.
Contents.

Introduction.

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.

Index.

Comments

No comments posted yet. Add a comment


Useful Web sites:



Linux


DistroWatch
Here's where I keep up to date on the latest Linux distribution news.

Ubuntu
The most popular desktop Linux distribution.

openSUSE
A popular full-featured Linux distribution, great for both desktops and servers.

CentOS
A popular Linux server distribution.


Web Programming


PHP online manual
The ultimate resource in all PHP programming topics

MySQL online manual
The MySQL database online manual.

W3Schools
A great online tutorial and reference for many Web programming languages.


Bass Guitar


Fender basses
One of my favorites, I love the Fender Jazz bass. It's such a versatile instrument you can take it to just about any gig!

Lakland basses
The Lakland Skyline 55-01 bass is yet another of my favorite basses!


Bible Study


Reformed Theological Seminary
When I'm not reading computer books, I'm doing bible studies. The Reformed Theological Seminary has some great online courses for free that cover the basics of reformed theology.

BiblicalTraining.org
A smorgasbord of more reformed and evangelical seminary course recordings, all for free!