I’ve written two introductory-level books about computer hardware and how it’s programmed. One is based on the 64-bit ARM instruction set, AArch64, using a Raspberry Pi as an example. The other is based on the 64-bit Intel/AMD instruction set, x86-64, using Ubuntu Linux on a PC as an example. Both books are significant rewrites of the books I originally offered online. The editors at No Starch Press and the technical reviewers they used helped me to write much better books.

The ancillary resources for each book will help you to get the most from reading my books, including:

  • Source code for the example programs in the book; I don’t include the compiler-generated assembly language because you can generate those files from the provided C/C++ source code files.
  • Solutions to most of the Your Turn exercises
  • A list of corrections to the text; if you discover any errors, please send me email. I like to give credit to the person who finds the error; please let me know if it’s okay to use your name.

Posts