The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
* [TUHS] Happy birthday, PDP-8!
@ 2018-03-21 21:52 Dave Horsfall
  2018-03-21 21:59 ` George Michaelson
  0 siblings, 1 reply; 21+ messages in thread
From: Dave Horsfall @ 2018-03-21 21:52 UTC (permalink / raw)


Let's see how much this thread can drift...

The venerable PDP-8 was introduced in 1965 today (or tomorrow if you're on 
the wrong side of the date line).  It was the first computer I ever used, 
back around 1970 (I think I'd just left school and was checking out the 
local University's computer department, and played with BASIC and FOCAL).

And (hopefully) coincidentally the Pentium first shipped in 1993; the 
infamous FDIV defect was discovered a year later (and it turned out that 
Intel was made aware of it by a post-grad student a bit earlier), and what 
followed next was an utter farce, with some dealers refusing to accept the 
results of a widely-distributed program as evidence of a faulty FPU.

-- 
Dave Horsfall DTM (VK2KFU)  "Those who don't understand security will suffer."


^ permalink raw reply	[flat|nested] 21+ messages in thread
[parent not found: <mailman.659.1490686648.3779.tuhs@minnie.tuhs.org>]
* [TUHS] Happy birthday, PDP-8!
@ 2017-03-28  2:38 Noel Chiappa
  0 siblings, 0 replies; 21+ messages in thread
From: Noel Chiappa @ 2017-03-28  2:38 UTC (permalink / raw)


    > From: Johnny Billquist

    > the PDP-11 have the means of doing this as well....  If anyone ever
    > wondered about the strangeness of the JSR instruction of the PDP-11, it
    > is precisely because of this.
    > ...
    > I doubt Unix ever used this, but maybe someone know of some obscure 
    > inner kernel code that do. :-)

Actually Unix does use JSR with a non-PC register to hold the return address
very extensively; but it also uses the 'saved PC points to the argument'
technique; although only in a limited way. (Well, there may have been some
user-mode commands that were not in C that used it, I don't know about that.)

First, the 'PC points to arguments': the device interrrupts use that. All
device interrupt vectors point to code that looks like:

	jsr r0, _call
	_iservice

where iservice() is the interrupt service routine. call: is a common
assembler-language routine that calls iservice(); the return from there goes
to later down in call:, which does the return from interrupt.

Use of a non-PC return address register is used in every C routine; to save
space, there is only one copy of the linkage code that sets up the stack
frame; PDP-11 C, by convention, uses R5 for the frame pointer. So that common
code (csv) is called with a:

     jsr r5, csv

which saves the old FP on the stack; CSV does the rest of the work, and jumps
back to the calling routine, at the address in R5 when csv: is entered. (There's
a similar routine, cret:, to discard the frame, but it's 'called' with a plain
jmp.)

	Noel


^ permalink raw reply	[flat|nested] 21+ messages in thread
* [TUHS] Happy birthday, PDP-8!
@ 2017-03-27  1:24 Noel Chiappa
  2017-03-27 14:07 ` Arthur Krewat
  0 siblings, 1 reply; 21+ messages in thread
From: Noel Chiappa @ 2017-03-27  1:24 UTC (permalink / raw)


    > From: Arthur Krewat

    >> The PDP-6 (of which the PDP-10 was a clone)

    > Um. More like a natural progression.
    > Like 8086->80186->80286->80386->80486->...

No, the PDP-6 and PDP-10 have identical instruction sets, and in general, a
program that will run on one, will run on the other. See "decsystem10 System
Reference Manual" (DEC-10-XSRMA-A=D", pg. 2-72., which provides a 7-instruction
code fragment which allows a program to work out if it's running on a PDP-6, a
KA10, or a KI10.

The KA10 is a re-implementation (using mostly B-series Flip Chips) of the
PDP-6 (which was built out of System Modules - the predecessor to Flip Chips).

       Noel


^ permalink raw reply	[flat|nested] 21+ messages in thread
* [TUHS] Happy birthday, PDP-8!
@ 2017-03-27  0:31 Noel Chiappa
  2017-03-27  0:37 ` Arthur Krewat
  2017-03-27 12:05 ` Tim Bradshaw
  0 siblings, 2 replies; 21+ messages in thread
From: Noel Chiappa @ 2017-03-27  0:31 UTC (permalink / raw)


    > From: Dave Horsfall

    > And as for subroutine calls on the -8, let's not go there...  As I dimly
    > recall, it planted the return address into the first word of the called
    > routine and jumped to the second instruction; to return, you did an
    > indirect jump to the first word.

That do be correct.

That style of subroutine call goes back a _long_ way. IIRC, Whirlwind used
that kind of linkage (alas, I've misplaced my copy of the Whirlwind
instruction manual, sigh - a real tresure).

ISTVR there was something about the way Whirlwind did it that made it clear
how it came to be the way it was - IIRC, the last instruction in the
subroutine was normally a 'jump to literal' (i.e. a constant, in the
instruction), and the Whirlwind 'jump to subroutine' stored the return address
in a register; there was a special instruction (normally the first one in any
subroutine) that stored the low-order N bits of that register in the literal
field of the last instruction: i.e. self-modifying code.

The PDP-6 (of which the PDP-10 was a clone) was on the border of that period;
it had both types of subroutine linkage (store the return in the destination,
and jump to dest+1; and also push the return on the stack).

	Noel


^ permalink raw reply	[flat|nested] 21+ messages in thread
* [TUHS] Happy birthday, PDP-8!
@ 2017-03-21 23:57 Atindra Chaturvedi
  0 siblings, 0 replies; 21+ messages in thread
From: Atindra Chaturvedi @ 2017-03-21 23:57 UTC (permalink / raw)


Brings back memories...
Back in early 1981 I worked for a shipping line in Cranford NJ in their IT department. The company had just ordered 4 new super-wide cargo ships that just fit the Panama Canal and the Chief Marine Architect came to the IT department to ask for assistance in programming a PDP-8 to write a load distribution check program so that the ship would not keel over, or break in the middle - when being loaded 12 stack high containers. Had to take into account stress and strain - mathematical algorithms. My boss called me in to talk to him and he asked " if I knew how to determine the area under a curve..." - I knew my engineering math - Simpson's rule and also FORTRAN IV and was immediately drafted. What was needed also was a graphical way of entering the data, and displaying the results optionally graphically on the screen (tty ?). My friend Wayne Rawls knew BASIC - he wrote the front end - passed me the input on a large floppy - my FORTRAN IV program ran and did the stress/strain analysis for the ship - and I passed the output back to him on the floppy that he then displayed on-screen.
A lot of grinding of the floppy drives for the FORTRAN compiler - no spinning hard disks as the PDP-8 would be installed on-board ship - and in those days of A/C computer rooms would be a non-starter.
It all worked well - Wayne took the PDP-8 on a ship to Norfolk to get it checked out and the company used it for many years !

Atindra.


-----Original Message-----
>From: Dave Horsfall <dave at horsfall.org>
>Sent: Mar 21, 2017 5:34 PM
>To: The Eunuchs Hysterical Society <tuhs at tuhs.org>
>Subject: [TUHS] Happy birthday, PDP-8!
>
>OT, but of interest to a few people here :-)
>
>The venerable PDP-8 was introduced in 1965 today (or tomorrow if you're on 
>the wrong side of the date line).  It was the first computer I ever 
>used, back around 1970 (I think I'd just left school and was checking out 
>the local University's computer department, with a view to majoring in 
>Computer Science (which I did)).
>
>-- 
>Dave Horsfall DTM (VK2KFU)  "Those who don't understand security will suffer."


^ permalink raw reply	[flat|nested] 21+ messages in thread
* [TUHS] Happy birthday, PDP-8!
@ 2017-03-21 21:34 Dave Horsfall
  2017-03-22 16:34 ` Ron Natalie
  0 siblings, 1 reply; 21+ messages in thread
From: Dave Horsfall @ 2017-03-21 21:34 UTC (permalink / raw)


OT, but of interest to a few people here :-)

The venerable PDP-8 was introduced in 1965 today (or tomorrow if you're on 
the wrong side of the date line).  It was the first computer I ever 
used, back around 1970 (I think I'd just left school and was checking out 
the local University's computer department, with a view to majoring in 
Computer Science (which I did)).

-- 
Dave Horsfall DTM (VK2KFU)  "Those who don't understand security will suffer."


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

end of thread, other threads:[~2018-03-21 21:59 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <mailman.1.1490580001.4973.tuhs@minnie.tuhs.org>
2017-03-27 23:30 ` [TUHS] Happy birthday, PDP-8! Johnny Billquist
2017-03-27 23:33   ` Steve Nickolas
2017-03-27 23:49     ` Johnny Billquist
2018-03-21 21:52 Dave Horsfall
2018-03-21 21:59 ` George Michaelson
     [not found] <mailman.659.1490686648.3779.tuhs@minnie.tuhs.org>
2017-03-28 22:10 ` Johnny Billquist
  -- strict thread matches above, loose matches on Subject: below --
2017-03-28  2:38 Noel Chiappa
2017-03-27  1:24 Noel Chiappa
2017-03-27 14:07 ` Arthur Krewat
2017-03-27  0:31 Noel Chiappa
2017-03-27  0:37 ` Arthur Krewat
2017-03-27 12:05 ` Tim Bradshaw
2017-03-27 13:35   ` Tony Finch
2017-03-27 21:37   ` Terry Smith
2017-03-21 23:57 Atindra Chaturvedi
2017-03-21 21:34 Dave Horsfall
2017-03-22 16:34 ` Ron Natalie
2017-03-26 19:49   ` Dave Horsfall
2017-03-26 20:11     ` Paul Winalski
2017-03-26 22:20       ` Greg 'groggy' Lehey
2017-03-26 22:25     ` Greg 'groggy' Lehey

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).