[HN Gopher] The Lisp Implementafion for the PDP-1 Computer [pdf]
       ___________________________________________________________________
        
       The Lisp Implementafion for the PDP-1 Computer [pdf]
        
       Author : abrax3141
       Score  : 57 points
       Date   : 2022-05-19 17:10 UTC (5 hours ago)
        
 (HTM) web link (s3data.computerhistory.org)
 (TXT) w3m dump (s3data.computerhistory.org)
        
       | jonjacky wrote:
       | Peter Deutsch finished this when he was 17 years old.
       | 
       | https://en.wikipedia.org/wiki/L._Peter_Deutsch
        
         | lisper wrote:
         | Not sure which is more impressive, that, or the fact that this
         | Lisp ran in under 4k of RAM.
        
           | phtrivier wrote:
           | No idea what the arch of a PDP would be like; but the manual
           | mentions 4096 "registers". Would those register actually
           | correspond to memory words in a more modern arch ? Was it
           | possible in assembly to directly address each of those
           | register (without the need for MOV-golfing ?)
        
             | ngvrnd wrote:
             | Dunno about the pdp-1, but the pdp-10 series machines
             | allowed the registers to be addressed like memory, if I
             | recall correctly- the registers were special and faster
             | than the rest of memory, but one could put machine code in
             | them and run it there. I guess using registers would have
             | been tricky in that case though.
        
               | aap_ wrote:
               | The pdp-1 has two architectural registers: AC and IO and
               | they're not addressable as memory. The PDP-10 has a
               | similar internal structure but fetches and stores the
               | accumulator from/to memory* for instructions that use it.
               | 
               | * in the PDP-6 it really is external memory, in the later
               | models (aka PDP-10) it was moved into the CPU
        
             | djmips wrote:
             | https://www.masswerk.at/spacewar/inside/pdp1-instructions.h
             | t...
        
             | retrac wrote:
             | > Was it possible in assembly to directly address each of
             | those register (without the need for MOV-golfing ?
             | 
             | Kind of. 12-bit address field in the instruction. It was an
             | accumulator machine; the CPU only had one main register (as
             | we use the term today) and all operations were between that
             | implicit register and the address specified in memory.
        
             | FullyFunctional wrote:
             | A "register" is just a [core] memory word. ("The PDP-1 uses
             | an 18-bit word size and has 4096 words as standard main
             | memory", https://en.wikipedia.org/wiki/PDP-1). Terminology
             | changed since then.
             | 
             | I like how the assembly source code is small enough to
             | include at the end of the manual. A bit of slogging finds
             | you the source code and a pdp-1 assembler, enough to run it
             | on simh or MESS, but even though there's a online PDP-1
             | emulator running SpaceWar!, I wasn't able to find a way to
             | run Lisp 1 online.
             | 
             | * http://www.softwarepreservation.org/projects/LISP/interli
             | sp_...
             | 
             | * http://simh.trailing-edge.com/kits/lispswre.zip
        
       | djmips wrote:
       | Some more info about the PDP-1 asm here.
       | https://www.masswerk.at/spacewar/inside/pdp1-instructions.ht...
        
       ___________________________________________________________________
       (page generated 2022-05-19 23:01 UTC)