Objective: Layout the basics of programming in x64 Assembly on Linux using NASM.
Will be updated.
We'll start with the basics; an informal overview. The main thing to keep in mind is that ASM is a low-level language. This means that you are limited to what is baked on the chip. Programs work by executing instructions sequentially, unless there is a jump instruction. We will have to spend a lot of time with very basic I/O on the command line.
I should mention now, I will be using Debian 13 (pretty much any GNU/Linux system will work). The system calls are for GNU/Linux so they won't work on say iOS. The assembler I will use is NASM, and I'll use GCC or LD for the linker. The main reason to use GCC over LD is it will allow us to use standard c functions like printf.