ENEE 350 · Computer Organization · University of Maryland

Recursion Visualizer

CodeAPeel-C address · instruction

Registers

Stack grows upward

One stack holds both return addresses (pushed by JSR) and saved registers (pushed by PUS).

Call frames

Active calls, newest on top. The highlighted call is running now.

What just happened

Equivalent C

How to read it

  • The highlighted line is the instruction that just ran; the small arrow marks the next one.
  • Arrows in the code show jumps: JSR into a call, RTS back to the caller.
  • Stack colors match the call that pushed each value.

The machine

JSR stores the return address at STACK[SP] and increments SP. RTS and POP decrement SP and read STACK[SP]. Addresses are instruction numbers, starting at 0.

Keyboard

→ next, ← previous, Space play or pause, Home reset, End last step.