From mboxrd@z Thu Jan 1 00:00:00 1970 From: gregg.drwho8@gmail.com (Gregg Levine) Date: Sat, 15 Oct 2011 00:37:20 -0400 Subject: [TUHS] b remnants? In-Reply-To: References: Message-ID: On Sat, Oct 15, 2011 at 12:20 AM, Jason Stevens wrote: > Wasn't the other 'advantage' of threaded/pcode that it'd be smaller than a > native executable? > > I know it's out of left field, but building Dungeon on RT-11, you have to > use the treaded compiler, and I assume it was a space thing.. Just as on > MS-DOS (Yeah I know...) a save for fitting stuff in 64kb for the later > compilers was to compile to p-code.. > > Wikipedia gives p-code for Pascal a timeframe of the 'early 70's and > attribes the whole interpeted code as O-Code for BCPL .... > > I wonder if anyone ever did save any TripOS tapes for the PDP-11..... > > -----Original Message----- > From: A. P. Garcia [mailto:a.phillip.garcia at gmail.com] > Sent: Friday, October 14, 2011 11:58 PM > To: tuhs at minnie.tuhs.org > Subject: Re: [TUHS] b remnants? > > > On Fri, Oct 14, 2011 at 9:52 AM, A. P. Garcia > wrote: >> >> In memoriam, I read The Development of the C Language: >> http://cm.bell-labs.com/who/dmr/chist.html >> >> It talks a bit about how B was originally implemented somewhat like >> ETH Pascal (p-code). Are there any B interpreters or programs in the >> archive? > > What intrigued me about this is that it's such an early example of an > abstract machine running as an interpreter. BCPL, roughly > contemporaneous, used ocode as an intermediate language, but it seems > this was intended to be further translated into assembly. While it's > possible to interpret ocode, in practice it seems this was rare, if it > was done at all. Almost everything I've read about abstract/vitual > machines traces its roots back to the following source: > > James R. Bell. 1973. Threaded code. Commun. ACM 16, 6 (June 1973), > 370-372. DOI=10.1145/362248.362270 > http://doi.acm.org/10.1145/362248.362270 > > Here's where dmr mentions implementing B using this technique: > > The B compiler on the PDP-7 did not generate machine instructions, but > instead `threaded code' [Bell 72], an interpretive scheme in which the > compiler's output consists of a sequence of addresses of code > fragments that perform the elementary operations. The operations > typically-in particular for B-act on a simple stack machine. > > Note he says it was published in 1972, when it actually appeared in > print in 1973 (same page numbers). Two paragraphs later he writes: > > By 1970, the Unix project had shown enough promise that we were able > to acquire the new DEC PDP-11. The processor was among the first of > its line delivered by DEC, and three months passed before its disk > arrived. Making B programs run on it using the threaded technique > required only writing the code fragments for the operators, and a > simple assembler which I coded in B; ; soon, dc became the first > interesting program to be tested, before any operating system, on our > PDP-11. Almost as rapidly, still waiting for the disk, Thompson > recoded the Unix kernel and some basic commands in PDP-11 assembly > language. Of the 24K bytes of memory on the machine, the earliest > PDP-11 Unix system used 12K bytes for the operating system, a tiny > space for user programs, and the remainder as a RAM disk. This version > was only for testing, not for real work; the machine marked time by > enumerating closed knight's tours on chess boards of various sizes. > Once its disk appeared, we quickly migrated to it after > transliterating assembly-language commands to the PDP-11 dialect, and > porting those already in B. > > The abstract machine is also mentioned in Thompson's "Users' Reference > to B", dated January 7, 1972. If the 1970 date is correct, they were > using this technique some three years before most of the computing > world knew about it!? Hello! This discussion is beginning to strike a heck of a lot of chords. Jason what is this TripOS you are describing here about? And did you actually get Dungeon to work? ----- Gregg C Levine gregg.drwho8 at gmail.com "This signature fought the Time Wars, time and again."