I am thinking about architectures like the 6502 (the stack is limited to 256 bytes -- hardly enough to evaluate any reasonably sized Lisp expression) or the PDP-7 and PDP-8, which stored the return address in the first word of the subroutine, so that subroutines could not call themselves.
It is a well-known property of Lisp that it makes heavy use of recursive routines. For example in typical Lisps that I've seen,
apply, which calls
eval again. It is easy to imagine how on a Z80 or x86 or something, a stack frame may contain all the pointers and other data you need. And each invocation of a function can have its own stack frame, as we all know.
My question how people used to implement Lisps on these old and unusual architectures.