Stack register
Some designs such as the Data General Eclipse had no dedicated register, but used a reserved hardware memory address for this function.[1] While this is simpler than maintaining a stack, since there is only one return location per subroutine code section, there cannot be recursion without considerable effort on the part of the programmer.Typically push and pop are translated into multiple micro-ops, to separately add/subtract the stack pointer, and perform the load/store in memory.PUSH, POP, CALL and RET opcodes operate directly with the ESPd register.This design has remained largely unmodified in later Intel processors, although ESPO has been expanded to 64 bits.