Book description
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
Product information
- Title: Low-Level Programming: C, Assembly, and Program Execution on Intel® 64 Architecture
- Author(s):
- Release date: June 2017
- Publisher(s): Apress
- ISBN: 9781484224021
You might also like
book
Modern X86 Assembly Language Programming: Covers x86 64-bit, AVX, AVX2, and AVX-512
Gain the fundamentals of x86 64-bit assembly language programming and focus on the updated aspects of …
book
Modern Arm Assembly Language Programming: Covers Armv8-A 32-bit, 64-bit, and SIMD
Gain the fundamentals of Armv8-A 32-bit and 64-bit assembly language programming. This book emphasizes Armv8-A assembly …
book
Beginning x64 Assembly Programming: From Novice to AVX Professional
Program in assembly starting with simple and basic programs, all the way up to AVX programming. …
book
Modern X86 Assembly Language Programming: 32-bit, 64-bit, SSE, and AVX
shows the fundamentals of x86 assembly language programming. It focuses on the aspects of the x86 …