Learn Low-Level Assembly
Bilingual learning notes that connect assembly syntax, memory, registers, calling conventions, and Linux system calls.

Learn Low-Level Assembly is a set of learning notes, written primarily in Indonesian with English technical vocabulary, that makes low-level concepts easier to revisit. It supports later work in program reversing, return-oriented programming, and ELF exploitation by documenting the fundamentals those workflows rely on.
Memory layout
The notes map text, data, heap, stack, and kernel space, then compare x86 and x86-64 stack frames, parameter passing, saved frame pointers, and return addresses.
Registers and addresses
- General-purpose, index, and pointer registers across 32-bit and 64-bit views
- Hexadecimal memory addresses, base addresses, offsets, and byte ordering
- Big-endian and little-endian representations
Linux system calls and addressing
NASM examples cover open, read, write, and exit, alongside syscall-number and argument registers. A second sequence explains immediate, register, direct, indirect, and relative addressing modes.