RS08 has no stack: how can you perform nested function calls?

C6808 |

C6808 creates a stack through program code: it preserves the Shadow PC (SPC) in a local variable and restores it prior to returning.
As an optimization, it eliminates this code whenever possible. When a function calls no subordinate functions, or when the call to a subordinate function happens at specific points in program flow, the compiler eliminates the saved PC and the memory location it would require.

This approach uses no extra memory compared to a hardware stack.