The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
* [TUHS] PDP-11, Unix, octal?
@ 2017-01-16 20:45 Noel Chiappa
  0 siblings, 0 replies; 12+ messages in thread
From: Noel Chiappa @ 2017-01-16 20:45 UTC (permalink / raw)


    > From: Warren Toomey

    > Something I've been meaning to ask for a while: why Unix and octal on
    > the PDP-11? Because of the DEC documentation?

Yeah, DEC did it all in octal.

    > I understand why other DEC architectures (e.g. PDP-7) were octal: 18b
    > is a multiple of 3. But PDP-11 is 16b, multiple of 4.

Look at PDP-11 machine code. Two-op instructions look like this (bit-wise):

  oooossssssdddddd

where 'ssssss' and 'dddddd' (source and destination) have the same format:

  mmmrrr

where 'mmm' is the mode (things like R, @Rn, etc) and 'rrr' is the register
number. All on octal boundaries. So if you see '010011' in a dump (or when
looking at memory through the front console switches :-), you know
immediately that means:

  MOV	R0, @R1

Much harder in hex... :-)

	Noel


^ permalink raw reply	[flat|nested] 12+ messages in thread
* [TUHS] Article on 'not meant to understand this'
@ 2017-01-16 19:10 Steve Johnson
  2017-01-16 20:15 ` [TUHS] PDP-11, Unix, octal? Warren Toomey
  0 siblings, 1 reply; 12+ messages in thread
From: Steve Johnson @ 2017-01-16 19:10 UTC (permalink / raw)


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 1595 bytes --]

I was well aware of the comment in V6, but had no idea what it
referred to.   When Dennis and I were porting what became V7 to the
Interdata 8/32, we spent about 10 frustrating days dealing with savu
and retu.  Dennis did his most productive work between 10pm and 4am,
while I kept more normal hours.  We would pore over the crash dumps
(in hex, then a new thing for us--PDP-ll was all octal, all the
time).  I'd tinker with the compiler, he'd tinker with the code and
we would get it to limp, flap its wings, and then crash.  The problem
was that the Interdata had many more registers than the PDP-11, so the
compiler only saved the register variables across a call, where the
PDP-11 saved all the registers.  This was just fine inside a process,
but between processes it was deadly.  After we had tried everything
we could think of, Dennis concluded that the fundamental architecture
was broken.  In a couple of days, he came up with the scheme that
ended up in V7.

It was only several years later when I saw a T-shirt with savu and
retu on it along with the famous comment that I realized what it had
referred to, and enjoyed the irony that we hadn't understood it
either...

Steve

----- Original Message -----
From: "Brantley Coile" <brantleycoile@me.com>
To:"Larry McVoy" <lm at mcvoy.com>
Cc:<tuhs at tuhs.org>
Sent:Mon, 16 Jan 2017 05:11:02 -0500
Subject:Re: [TUHS] Article on 'not meant to understand this'


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://minnie.tuhs.org/pipermail/tuhs/attachments/20170116/a2320686/attachment.html>


^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2017-01-17 16:53 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-01-16 20:45 [TUHS] PDP-11, Unix, octal? Noel Chiappa
  -- strict thread matches above, loose matches on Subject: below --
2017-01-16 19:10 [TUHS] Article on 'not meant to understand this' Steve Johnson
2017-01-16 20:15 ` [TUHS] PDP-11, Unix, octal? Warren Toomey
2017-01-16 20:25   ` Lars Brinkhoff
2017-01-16 22:31     ` ron minnich
2017-01-16 20:31   ` Erik E. Fair
2017-01-17  1:09   ` Steve Johnson
2017-01-17  1:33     ` William Pechter
2017-01-17 14:28     ` Joerg Schilling
2017-01-17 15:14       ` Nelson H. F. Beebe
2017-01-17 16:53         ` William Cheswick
2017-01-17 14:12   ` Joerg Schilling
2017-01-17 15:28     ` ron minnich

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).