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).
Disclaimer: this post is sort of a motivating post for students. Professional programmers may find it uninteresting or painful (especially if you code in C# or Java or JavaScript). C++ is the hardest…