Jump to ratings and reviews
Rate this book

Low-Level Programming: C, Assembly, and Program Execution on Intel® 64 Architecture

Rate this book
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

Freely write in assembly languageUnderstand the programming model of Intel 64Write maintainable and robust code in C11Follow the compilation process and decipher assembly listingsDebug errors in compiled assembly codeUse appropriate models of computation to greatly reduce program complexityWrite performance-critical codeComprehend the impact of a weak memory model in multi-threaded applicationsWho This Book Is For

Intermediate to advanced programmers and programming students

817 pages, Kindle Edition

Published June 27, 2017

50 people are currently reading
133 people want to read

About the author

Igor Zhirkov

3 books3 followers

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
11 (28%)
4 stars
8 (20%)
3 stars
16 (41%)
2 stars
3 (7%)
1 star
1 (2%)
Displaying 1 - 3 of 3 reviews
Profile Image for Phil Eaton.
119 reviews301 followers
May 18, 2019
Covers a little bit of everything (CPU architecture, boot process, assembly, C, linking/loading, performance) in enough detail to be almost entirely uneducational.

Terribly edited with repeat sentences, numerous grammatical and formatting mistakes.

I did learn a few new things though (a bit on linking/loading and code models) so not a complete bust. Thankfully the book is a fairly quick read.
Profile Image for Brian Salehi.
48 reviews9 followers
May 16, 2020
This book fills your technical knowledge gaps, the ones you always avoided or the ones you never had a chance to face.
This book is not for learning anything from basic. So, please make sure you have already read a few books about Assembly and C before you hit this road.
I recommend: Step by Step Learning Assembly Language in Linux, for Assembly beginners.
And also recommend: The C Programming Language, and Modern C books for C beginners.
Profile Image for 0xd34df00d.
37 reviews7 followers
March 20, 2025
Feels like a badly edited collection of first-year university college lectures, with half semester spent on Assembly and half semester spent on intro to C. Can't recommend this to experienced programmers (they'll barely learn anything new), and can't recommend this to junior ones (because the purpose of these notes is to be read by a lecturer, not to be understood by students).

And when I say "badly edited" I mean "quite often feels like translated from Russian to English using circa-2005 machine translation software with little to no human oversight".
Displaying 1 - 3 of 3 reviews

Can't find what you're looking for?

Get help and learn more about the design.