The most crucial programming ideas are taught to novice programmers in this book using the Linux assembly language.
It guides you through the following ideas one at a time:
- How the processor views memory
- How the processor operates
- How programs interact with the operating system
- How computers represent data internally
- How to do low-level and high-level optimization
Most books on starting programming make an effort to hide from the reader how their computer actually functions. This book begins by explaining how a computer actually operates so that the programmer will have a solid foundation from which to succeed in all facets of programming.
The Princeton University course COS 217, "Introduction to Programming Systems," uses this book as its primary text.