What's Next?

Congratulations

You have completed all 15 lessons. You now understand x86_64 registers, memory addressing, arithmetic, control flow, functions, and string manipulation in assembly.

That is a real accomplishment. x86_64 assembly is one of the most complex instruction sets in use today, and you have built a solid foundation.

What to Explore Next

  • More syscalls -- Linux has hundreds of syscalls: open, read, mmap, socket, ioctl, and more.
  • SSE/AVX -- x86_64 SIMD instructions for parallel data processing.
  • x87 FPU -- Legacy floating-point instructions still used in some contexts.
  • Inline assembly -- Embed assembly in C/C++ code using GCC's asm syntax.
  • Performance optimization -- Instruction scheduling, cache effects, branch prediction, and micro-op fusion.

Build Something

  • A simple shell -- Read commands, fork processes, execute programs using only syscalls.
  • A bootloader -- Write bare-metal x86_64 code that runs before the OS.
  • An ELF parser -- Read and understand the binary format that Linux executables use.
  • Optimize a hot loop -- Take a C function, look at the compiler output (gcc -S), and hand-optimize it.

References

← Previous