Example: Recursive Factorial
label fac                      // recursive factorial routine
    lim result 1               // basis is 1
    jlte return arg zero       // return if count is 0 or less

    aim  stack_pointer +1      // increment stack pointer
    store stack_pointer return // save return address on stack

    aim  stack_pointer +1      // increment stack pointer
    store stack_pointer arg    // save argument on stack

    aim arg -1                 // subtract 1 from argument
    jsub jump_target return    // call recursively

    load arg stack_pointer     // restore original argument  
    aim  stack_pointer -1

    load return stack_pointer  // restore original return address
    aim  stack_pointer -1

    mul  result result arg     // multiply by original arg
    junc return                // return to caller
push
push
pop
pop