On 2010-11-01 00:02, ard at p850ug1.demon.co.uk (Tony Duell) wrote:
> On
2010-10-30 01:12,ard at p850ug1.demon.co.uk (Tony Duell) wrote:
>
> > >
>>> > >> > I have not seen anyone comment any of the other
things I listed as
>>> > >> > possible firsts on the PDP-11.
>>> > >> > Can anyone come up with an earlier machine that used
condition codes?
>>> > >> > How about general registers with addressing modes,
which is totally
>>> > >> > orthogonal? How about having the PC as a general
register?
> > > The Philips P800 series has the PC as a general register (register 0).
>
> Could you use it like any other register?
There were some restrictions. I
don't think you could shift it (at least
ont on the P850). But for many instructions it was just another register.
Cool. So you could add to it, index by it, and so on?
> > >
There are 16 registers, some instructions can only use the first 8, others
> > > can use all 16. Addressing modes (simpler than the PDP11, I admit) are
> > > pretty much orthogonal.
>
> Sounds like the registers were atleast not as orthogonally used as on a
> PDP-11. If an instruction could take a register, it could take any
> register. And all addressing modes are valid (well, almost) anywhere.
I
think all P800 instructions that had addressing modes could use any
addressing mode. Any instruction with 4-bit register fields could use any
register. Any instruction with a 3 bit register field could use any of
the first 8 registers. And IIRC, like the PDP11, the addressing modes
commonly known as 'immediate' and 'absolute' were a couple of the other
addressing modes with the register specified as 0 (=PC, of course).
I guess the P800 wasn't totally ortogonal but it was a lot more
orthogonal than many other machines.
Indeed sounds nice. When did the machine appear?
> > >
What do you mean by condition codes here?
>
> The four low bits of PSW.
Err... I don;t think that's helpful. Quite a
lot of machines with a
status register have a 'low 4 bits' of it:-). But that doens't make them
condition codes. Similarly uf you hapopen to implement the same
functionality using other bits of a status registers, doesn't that make
them condition codes?
What I was asking was what fucntionality do you require of these
condtiion codes other than there being conditional jumps on carry, zero, etc?
Sorry. I was just being lazy, and trying to explain condition codes by
referring to what they are on the PDP-11.
To try and be more specific then: condition codes are bits that are
set/reset as a result of operations performed by the processed, and upon
which you can the make conditional branches/jumps on.
As opposed to, for example, a PDP-10, where you instead encoded the
condition within the instruction, along with a register to test upon.
Johnny
--
Johnny Billquist || "I'm on a bus
|| on a psychedelic trip
email: bqt at softjar.se || Reading murder books
pdp is alive! || tryin' to stay hip" - B. Idol