What's Next?
Congratulations
You have completed all 16 lessons. You now understand ARM64's register model, memory operations, control flow, functions, bitwise operations, and have implemented real algorithms in assembly.
That is a real accomplishment. ARM64 assembly is not easy, and you have built a solid foundation.
What to Explore Next
- System calls -- Linux has hundreds of syscalls beyond write and exit: open, read, mmap, socket, and more.
- SIMD/NEON -- ARM64's vector instructions for parallel data processing.
- Floating point -- ARM64 has 32 dedicated 128-bit vector/FP registers (V0-V31).
- Atomic operations -- LDXR/STXR for lock-free concurrent programming.
- Exception handling -- How ARM64 handles interrupts, page faults, and system calls at the hardware level.
- Performance optimization -- Instruction scheduling, cache effects, and branch prediction.
Build Something
- A simple shell -- Read commands, fork processes, execute programs.
- A bootloader -- Write bare-metal ARM64 code that runs without an OS.
- An emulator -- Build an emulator for a simpler architecture (like CHIP-8) in ARM64.
- Optimize a hot loop -- Take a C function, look at the compiler output, and hand-optimize it.
References
- ARM Architecture Reference Manual -- the definitive reference for ARM64.
- ARM64 Instruction Set Quick Reference -- concise instruction reference.
- Azeria Labs ARM Assembly Basics -- excellent tutorials on ARM assembly.
- ARM Assembly Internals and Reverse Engineering by Maria Markstedter -- comprehensive book.
- Computer Organization and Design: ARM Edition by Patterson and Hennessy.