Low-level programming : C, assembly, and program execution on Intel[R] 64 architecture
Author(s)
Bibliographic Information
Low-level programming : C, assembly, and program execution on Intel[R] 64 architecture
Apress, c2017
- : [pbk]
Available at 5 libraries
  Aomori
  Iwate
  Miyagi
  Akita
  Yamagata
  Fukushima
  Ibaraki
  Tochigi
  Gunma
  Saitama
  Chiba
  Tokyo
  Kanagawa
  Niigata
  Toyama
  Ishikawa
  Fukui
  Yamanashi
  Nagano
  Gifu
  Shizuoka
  Aichi
  Mie
  Shiga
  Kyoto
  Osaka
  Hyogo
  Nara
  Wakayama
  Tottori
  Shimane
  Okayama
  Hiroshima
  Yamaguchi
  Tokushima
  Kagawa
  Ehime
  Kochi
  Fukuoka
  Saga
  Nagasaki
  Kumamoto
  Oita
  Miyazaki
  Kagoshima
  Okinawa
  Korea
  China
  Thailand
  United Kingdom
  Germany
  Switzerland
  France
  Belgium
  Netherlands
  Sweden
  Norway
  United States of America
Note
Bibliography: p. 425-427
includes index
"[R]" of the title is superscript
Description and Table of Contents
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
Table of Contents
Part I: Assembly Language and Computer Architecture.-
Chapter 1: Basic Computer Architecture.-
Chapter 2: Assembly Language.-
Chapter 3: Legacy.-
Chapter 4: Virtual Memory.-
Chapter 5: Compilation Pipeline.-
Chapter 6: Interrupts and System Calls.-
Chapter 7: Models of Computation.-
Part II: The C Programming Language.-
Chapter 8: Basics.-
Chapter 9: Type System.-
Chapter 10: Code Structure.-
Chapter 11: Memory.-
Chapter 12: Syntax, Semantics, and Pragmatics.-
Chapter 13: Good Code Practices.-
Part III: Between C and Assembly.-
Chapter 14: Translation Details.-
Chapter 15: Shared Objects.-
Chapter 16: Performance.-
Chapter 17: Multithreading.-
Part IV: Appendices.-
Chapter 18: Appendix A: Using gdb.-
Chapter 19: Appendix B: Using Make.-
Chapter 20: Appendix C: System Calls.-
Chapter 21: Appendix D: Performance Tests.-
Chapter 22: Bibliography.-
by "Nielsen BookData"