The toolchain did a neat job of simulating a stack for parameterized function calls -- the map generated looked into all possibilities of 'stack depth' and chose to share memory appropriately.
The 64 addresses from $00C0 to $00FF serve as both the user RAM and the stack RAM. The CPU uses five stack RAM bytes to save all CPU register contents before processing an interrupt. During a subroutine call, the CPU uses two bytes to store the return address. The stack pointer decrements during pushes and increments during pulls.