John A. Dundas III wrote:
Others have already pointed out what CIS stands for
and what the
instructions are. SIMH is a good source for describing the
instructions, but also the later PDP-11 Processor Handbooks have
complete chapters devoted to explaining the instructions. For
example, my 1979-80 04/34a/44/60/70 handbook (a spare that I keep at
work) has Chapter 12 devoted entirely to CIS.
A couple of other ideas:
Seems to me that the VAX string and decimal instructions are direct
descendents of the CIS set. I never asked anyone at the time as it
seemed obvious. But maybe I should ask the former DEC-types. Is this
true?
The PDP-11 CIS was defined about the same time as the VAX architecture
was being developed (1977-78), so it should be no surprise they are very
similar, and in many cases share the same opcode mnemonics (LOCC, SKPC,
CVTLP, etc).
Neither one is really the ancestor of the other; they are really more
like siblings or cousins.
The main difference is in how operands are specified; the PDP-11 is much
more register and opcode-limited, so a descriptor approach was used,
with operands specified by a pair of general registers
(Reven=type/length, Rodd=address). So the register pairs R0/R1, R2/3,
R4/R5 could hold up to three descriptors, usually two source and one
destination (like ADDP3).
Having the descriptors in registers also helped those instructions that
were interruptible; partial results could be left in the registers if
the instruction was interrupted midstream and later restarted.