Skip to content

Virtual CPU

Write C, compile it to x86-64 assembly right here, then step through it one instruction at a time and watch the registers, flags, stack and memory change. Or switch to ASM mode and run your own assembly.

The C → assembly compiler runs entirely in your browser (Rust → WebAssembly) — no server, no Godbolt.

C source
  1. 1 int main() {
  2. 2 int a = 5;
  3. 3 int b = 3;
  4. 4 int c = a + b;
  5. 5 return c;
  6. 6 }
generated assembly— highlighted line matches the C line above
  1. 1 mov eax, 5
  2. 2 add eax, 3
  3. 3 imul eax, eax
  4. 4 sub eax, 40
  5. 5 cmp eax, 0
step 0
Loading emulator…