• <More on Intel.com

Understanding and Analyzing Assembly Language

We are sorry, This PDF is available in download format only

Understanding and Analyzing Assembly Language

Executive Summary

The ability to understand assembly language is a difficult but essential skill for developers of embedded applications. Even developers who write their applications in a high level language like C will sometimes need to examine assembly code for debugging or performance tuning. Assembly language for the IA-32 and Intel® 64 architectures is especially challenging to read and understand due to the size and variety of the instruction sets. This paper will impart a basic understanding of assembly language and the IA-32 and Intel® 64 instruction sets so that the reader will feel comfortable diving down to the assembly level when necessary.

Specifically, this paper provides:
• A basic overview of the architecture.
• Details on Intel® Streaming SIMD Extensions and Intel® Advanced Vector Extensions.
• Practical guidelines on employing assembly language listings and how to map instructions back to source code.
• Examples which show the effects of compiler optimizations on generated assembly language.
• An example showing how analysis of the assembly language leads to tuning improvements to the original source code.

Read the full Understanding and Analyzing Assembly Language White Paper.