This repo contains notes and examples to setup and start learning assembly language.
Q&A:
- Q: Why are you learning assembly in 2026 ?
- A: I just never got the chance to learn low level programming languages like C or C++ in my first years of programming and I felt like I was missing out a lot on how things work under the hood. So I figured—why not go all the way down to assembly and fill that gap?
docker build --platform linux/amd64 -t asm-env .Or using make:
make dbuilddocker run --platform linux/amd64 -it --rm -v $(pwd):/workspace asm-envOr using make:
make dstart- Important:
--rmremoves the container after it exits.
uname -m- Expected:
x86_64.
Takes a .asm file and compiles it into machine code, producing an object file .o.
nasm -f elf64 02-hello/main.asm -o hello.oOr using Make:
make compile SRC=02-hello/main.asm OUT=hello.oTurns the .o file into an executable program.
ld hello.o -o helloOr using Make:
make link SRC=hello.o OUT=hello./hello