The purpose of this text is to provide a reference for University level assembly language and systems programming courses. Specifically, this text addresses the x86-64 instruction set for the popular x86-64 class of processors using the Ubuntu 64-bit Operating System (OS). While the provided code and various examples should work under any Linux-based 64-bit OS, they have only been tested under Ubuntu 14/16/18 LTS (64-bit).
Advanced Linux Programming is an e-book that covers the common programming environments on the GNU/Linux system (shell, awk, etc.). The book is designed to help: develop GNU/Linux software that works the way users expect it to; write more sophisticated programs with features such as multi-processing, multi-threading, interprocess communication, and interaction with hardware devices; improve programs by making them run faster, more reliably, and more securely; understand the preculiarities of a GNU/Linux system, including its limitations, special capabilities, and conventions.