Getting a bit far afield from Unixes, but A Quick Rundown Of Instruction
Sets I Have Known, more or less in the order I learned them:
6502: you never forget your first love, and, sure, it's constrained, but
it's elegant and concise and I still adore it.
68k: Lovely. I used it before I ever used the PDP-11, but in retrospect
it's like the PDP-11 but more so. Roomy, comfortable, regular. Too bad it
lost to x86 in the marketplace.
8051: I mean, OK, I get it, you need a low-cost embedded architecture and
it's the 1980s, but...yuck.
x86-and-descendents: the less said the better. Maybe I just don't like
Intel's designs?
SPARC: It's not bad. Having lots of registers is nice. But by the time it
came along compilers were good enough that I never actually needed to use
it in anger.
S/360-and-descendents: The S/360 is OK, even nice, in a very 1960s IBM
way. And then its evolution just KEPT adding ever more baroque filigrees
onto it. Don't get me wrong, I love SIE, because I love VM, but even that
is kind of a bag on the side, and by the time you get to System z...this is
what happens when you don't start over from a clean sheet every so often.
PDP-11: There's a very good reason it was used as a model architecture in
coursework for decades. Also regular and comfortable.
TI-99/4A (more or less TI 9900): I like microcode as much as anyone but
honestly this is pretty silly here, folks.
These days I'm kinda sorta poking at RISC-V and ARM. Not that I need to,
but they seem nifty.
Adam
On Sun, Nov 28, 2021 at 4:15 PM Noel Chiappa <jnc(a)mercury.lcs.mit.edu>
wrote:
The ++
operator appears to have been.
One would expect that most people on this list would have read "The
Development of the C Language", by Dennis Ritchie, which makes perfectly
clear
(at 'More History') that the PDP-11 had nothing to do with it:
Thompson went a step further by inventing the ++ and -- operators, which
increment or decrement; their prefix or postfix position determines
whether
the alteration occurs before or after noting the value of the operand.
They
were not in the earliest versions of B, but appeared along the way.
People
often guess that they were created to use the auto-increment and
auto-decrement address modes provided by the DEC PDP-11 on which C and
Unix
first became popular. This is historically impossible, since there was no
PDP-11 when B was developed.
https://www.bell-labs.com/usr/dmr/www/chist.html
thereby alleviating the need for Ken to chime in (although they do allow a
very efficient implementation of it).
Too much to hope for, I guess.
Noel