I am pleased to announce my new book, “Learn to Program with Assembly” (Amazon link here)!
This is a computer programming book using 64-bit x86-64 assembly language. It is based on Linux, but a Docker image is available that you can use to program through Windows or a Mac.
For those unaware, assembly language is the “lowest level” computer language – essentially the language of the computer itself. Today, it’s largely considered a “dark art”, but I’ve found that the people who are the best programmers of higher-level languages are people who have some familiarity with assembly language. Basically, learning assembly language teaches you how to conceptualize what the computer is actually doing when you code.
The book, in addition to basic assembly language, covers all sorts of “under the hood” aspects of how computer programs work, including memory allocation (malloc/free – a version of malloc is implemented in the book), garbage collection (a simple garbage collector is implemented in the book), shared libraries, position-independent code, object-oriented programming, exception handling, and other features of modern programming languages.
This is the 64-bit sequel to my semi-famous first book, “Programming from the Ground Up”.