Low-Level Programming: C Assembly And Program Execution On Intel (R) 64 Architecture Paperback
Recommend
Sort by
Rating
Date
Specifications
Author 1
Zhirkov
Book Description
This book teaches programmers and programming students how to use x64 assembly to write low-level code in C for performance-critical programs and how to compile and execute it inside the Intel 64 hardware and OS framework. Low-Level Programming presents Intel 64 architecture as a development of von Neumann architecture featuring protection mechanisms and performance amplifiers such as caches and branch predicting. It proceeds to investigate the compilation cycle and ELF object files. Elucidating a structured approach to C with code examples, exercises, and a companion annex of source code, the book models best coding practices for implementing language abstractions on top of assembly. The author examines the optimization capabilities and limits of modern compilers, and he demonstrates the use of various performance-gain techniques, such as specialized instructions and prefetching. What Readers Will LearnLow-Level Programming teaches programmers how to use assembly language and C to write code for Intel 64 platforms and to look under the hood for various purposes, including the following:* Making code more performant on the assembly level* Debugging compiler and optimizer errors in native code* Fixing executables by disassembly in the absence of source code* Diagnosing malware Who This Book Is ForIntermediate-to-advanced programmers and programming students.
ISBN-10
1484224027
Language
English
Publisher
APress
Publication Date
July 27, 2017
About the Author
Igor Zhirkov teaches his highly successful System Programming Languages course at ITMO University in Saint Petersburg. He studied at Saint Petersburg Academic University and received his master degree from ITMO University. Currently, he is doing research in verified C refactorings as part of his PhD thesis and formalization of Bulk Synchronous Parallelism library in C at IMT Atlantique in Nantes, France. His main interests are low-level programming, programming language theory, and type theory.