Learn Intel 64 assembly language and architecture become proficient in C and understand how
the programs are compiled and executed down to machine instructions enabling you to write
robust high-performance code. Low-Level Programming explains Intel 64 architecture as the
result of von Neumann architecture evolution. The book teaches the latest version of the C
language (C11) and assembly language from scratch. It covers the entire path from source code
to program execution including generation of ELF object files and static and dynamic linking.
Code examples and exercises are included along with the best code practices. Optimization
capabilities and limits of modern compilers are examined enabling you to balance between
program readability and performance. The use of various performance-gain techniques is
demonstrated such as SSE instructions and pre-fetching. Relevant Computer Science topics such
as models of computation and formal grammars are addressed and their practical value
explained. What You'll Learn Low-Level Programming teaches programmers to: Freely write in
assembly language Understand the programming model of Intel 64 Write maintainable and robust
code in C11 Follow the compilation process and decipher assembly listings Debug errors in
compiled assembly code Use appropriate models of computation to greatly reduce program
complexity Write performance-critical code Comprehend the impact of a weak memory model in
multi-threaded applications Who This Book Is For Intermediate to advanced programmers and
programming students