Strojový kód PDP-8 má k dispozici instrukci JMS pro volání podprogramu, ale nemá instrukci pro návrat. Instrukce JMS funguje tak, že návratovou adresu ukládá do prostoru rutiny která je volána. Návrat z rutiny lze uskutečnit pomocí instrukce skoku JMP.
… JMS ALFA … / Podprogram (subroutine) ALFA ALFA, 0000 / ← zde se ukládá návratová adresa / … tělo podprogramu JMP I ALFA / návrat z podprogramu skokem na návratovou adresu
Příklad 63.4. Příklad podprogramu pro PDP-8
1 / File db/pdp8.code/subroutine.pal -*- mode:asm; -*- 2 3 0400 *0400 4 00400 7000 START, NOP /... 5 00401 4206 JMS ALFA 6 00402 7000 NOP /... 7 00403 4206 JMS ALFA 8 00404 7000 NOP /... 9 00405 7402 HLT 10 11 / Podprogram (subroutine) ALFS 12 00406 0000 ALFA, 0000 / místo pro uložení návratové adresy 13 00407 7000 NOP /... kód podprogramu 14 00410 5606 JMP I ALFA / návrat skokem na uloženou návratovou adresu 15 $ No detected errors
Tento způsob realizace podprogramů neumožňuje rekurzi. Pokud bychom rekurzi potřebovali, musíme si zásobník návratových adres sami vytvořit a udržovat.