Skip to content

Lexicon Entry

Assembly Language

Low-level programming at the instruction level. Assembly provides a symbolic representation of the machine code instructions used to control a specific CPU architecture.

Related Knowledge & Cross-References

Musing

Introspecting the Stack: Building a custom backtrace() from scratch

"You want to print a stack trace when your program crashes, but relying on libc's backtrace() feels too much like magic. How does a program actually read its own call stack while running?"

Musing

The Anatomy of a Perfect Stack Trace: Making Hand-Written Assembly Production-Ready

"Writing raw assembly is fun, but when it crashes, debuggers like GDB just show ?? () instead of a stack trace. How do C compilers make assembly 'debuggable'?"

Guide

Build a Debugger from Scratch: Ultimate 3 OS Guide (Part 8)

Build a working debugger from scratch in assembly. Learn how breakpoints, ptrace, and signal interception let one process inspect and control another.

Guide

System Calls Demystified: 4 Essential Facts About the User-Kernel Bridge

How does your program actually do anything? We dive deep into the syscall instruction, kernel mode transitions, and the differences between Linux, macOS, and Windows system calls.

Guide

Stack Frames & Function Prologues Demystified: x86-64 & ARM64 Guide

Master stack frame prologue and epilogue patterns across x86-64 and ARM64 architectures. Learn how function calls work at the assembly level on Linux, macOS, and Windows.