Skip to content

The Interactive Laboratory

Don't just read about systems programming—visualize it. I built these labs to provide real-time, interactive tools to help you master low-level concepts.

Calling Convention Mapper

Map function parameters to registers across System V, Windows x64, and AAPCS64 calling conventions.

Tokenizer Playground

Watch a C lexer break source code into classified tokens — keywords, identifiers, literals, and operators.

AST Visualizer

Explore how the parser transforms C source code into a collapsible, color-coded Abstract Syntax Tree.

GOT/PLT Lazy Binding

Animate the lazy binding dance — watch the PLT, GOT, and dynamic linker resolve printf at runtime.

LLVM IR ↔ Assembly

Hover LLVM IR lines to highlight the corresponding x86-64 and ARM64 assembly. Compare -O0 vs -O1 output.

Register Allocation

Step through instructions to watch live ranges form, interference pairs activate, and registers get assigned or spilled.

Process Memory Layout

Explore the virtual address space of a running process — stack, heap, mmap, .text, .data — across Linux and Windows.

Linker Symbol Resolution

Watch the linker scan object files, build the global symbol table, and match undefined references to definitions.

Optimization Pass Diff

See LLVM IR before and after each optimization pass — constant folding, DCE, loop hoisting, and inlining.

Syscall ABI Diff

Compare syscall numbers, registers, and invocation instructions across Linux/macOS on x86-64 and ARM64.

Memory Alignment

Visualize C-struct padding and alignment rules to optimize memory footprint.

Stack Frame Animator

Interactive visualization of function prologues and stack frame management.

Binary Structure Viewer

Explore the internal structures of ELF, PE, and Mach-O executables. Filter by headers, segments, or sections.

Syscall Trace Simulator

Step through register setup, kernel entry, and return phases of system calls on x86-64 and ARM64.

Breakpoint Mechanism

Step through software breakpoint injection, from original code to trapping on SIGTRAP and restoring bytes.

Assembly Directives Ref

Search and filter 22 essential assembler directives across GAS, NASM, and MASM with examples.

Compiler Pipeline

See the compilation process transform C code into AST, LLVM IR, and ARM64 assembly step-by-step.

About the Labs

The Coder Musings labs are designed to bridge the gap between abstract theory and hardware reality. Each tool is built to be lightweight, fast, and accessible directly in your browser.

  • Persistent State: Configurations, if any, are saved locally in your browser.
  • Contextual Integration: Look for these tools embedded directly within my technical guides.