Users manual for the NARP assembler

In the fall of 1965 I went to work for Project Genie on the campus of the University of California at Berkeley. This project was enhancing the hardware of the SDS 930 to make it suitable for time sharing, at the time a rather new and radical way to use a computer. The new computer became known as the SDS 940.

Of course, software of all kinds was needed to exploit this new way of using computers. At that time, virtually all the software was written in assembly language, namely in the ARPAS assembly language, developed by one of the key researchers on Project Genie, Wayne Lichtenberger.

In 1967 Wayne asked me to make ARPAS run faster. I took a brief look at the source code for ARPAS, a six-inch stack of line printer output, pushed it to one side, and wrote a new assembler, NARP (New ARPAS), from scratch. Of course, every effort was made to make sure that most existing ARPAS programs could still be assembled with NARP. However, the focus was on speed, and, indeed, NARP proved to run around five times faster on macros, the most CPU intensive components of an assembly language program.

Click here to see the reference manual for NARP. This is essentially the manual I wrote, but it has passed through several hands. In 1969 Xerox bought SDS to create Xerox Data Systems, and the SDS 940 became the XDS 940. The foremost commercial timesharing service in the late 60s, Tymshare, owned upwards of 20 XDS 940 machines and were heavy users of NARP.