SemiOT: Mourning for Classic Computing

From: Sean 'Captain Napalm' Conner <spc_at_conman.org>
Date: Sun Aug 19 15:15:14 2001

It was thus said that the Great Iggy Drougge once stated:
>
> Tony Duell skrev:
>
> >There aren't many microprocessors without an accumulator. But things like
> >the PDP11 don't have one. I can add R1 to R3, or one memory location to
> >another, or... No restriction on one of the operands being in a special
> >registers.
>
> I take it you're no big fan of load/store designs?

  I can't speak for Tony, but for me it depends upon the chip---both the
6809 and 6502 are load/store, but I vastly prefer the 6809 to the 6502. I'm
ambivilent towards the 8080/Z80, not having worked with it enough to form an
opinion.

> >Eh? Yes, there are some special-cases on the 6809 (MUL, for example). But
> >the 6502 has many more. Heck, on the 6502 you have to use the X register
> >for one kind of indrect and indexed addressing and the Y register for the
> >other form (on the 6809 you can do any addressing mode with X or Y (or
> >with U or S for that matter). On the 6809 you can transfer values between
> >any 2 registers of the same size. On the 6502 you can't even transfer
> >between X and Y without destroying the accumulator contents (IIRC).
>
> I was specifically thinking of all the different registers and the way you
> combine them. But I've not got enough experience to make any insightful
> comparisons.

  It doesn't really have that many registers (say, compared to the 8086).
There are two 8 bit accumulators, A and B (which can be used as a single
16-bit register for certain operations), two 16-bit index registers, X and
Y, and two 16-bit stack registers, S and U, which can also be used as index
registers (and S is used to store return addresses and registers upon an
interrupt). Then there is CC (condition codes) and DP (direct page, which
can be pretty much ignored) and that's it.

  The accumulators are used to load, process, and store data, and for the
most part, can be used interchangably. The index registers point to data,
and the stack registers are there to temporarily save and restore data
across subroutine calls (although U can be used as an extra index register)
and again, the index registers can for the most part, be used
interchangably. The two stack registers can't, but that's because S is used
by the CPU and U is meant for the user (but other than that, they work the
same).

  It's a fun instruction set to use.

  -spc (The 8086 however, is interesting ... 8-)
Received on Sun Aug 19 2001 - 15:15:14 BST

This archive was generated by hypermail 2.3.0 : Fri Oct 10 2014 - 23:33:33 BST