I also used to maintain a PDP-8i
computer. When browsing through the programming manual, I found DEC
actually recommending self modifying code, to get around the limitations
of the instruction set!
The basic PDP-8 didn't have a hardware stack, so you had to prepare subroutines by modifying the code's return address before you called it.
I'm building a PDP-8 compatible right now, based on the Harris HD-6120 "PDP-8 on a chip" used in the DECMate desktops. I'd best brush up my octal, as it's a 12-bit machine.
Cheers
Stewart