On Jul 11, 2014, at 5:37 AM, Eric Smith <spacewar at gmail.com> wrote:
On Fri, Jul 11, 2014 at 3:30 AM, Kevin Keith
<krfkeith at gmail.com> wrote:
I've seen 16, 22, and 24 cited as the
official number. The VAX architecture
manual seems to suggest 24. If the number is indeed more than 16, how are
they encoded? Seeing as how the manual says 4 bits are used for specifying
the specific mode, and 4 for the register selection, and seems to imply
that the operand specifier is always a byte long.
IIRC, it's like the PDP-11, which only really had eight addressing modes,
but some were considered different modes when used with the program counter
vs. a "normal" register.
Both VAX architecture books I have show that the number is 21. There are 13 ?general
register? modes, and 8 more ?program counter? addressing modes.
It?s reasonable to do that, because from the programmer?s point of view, the PC modes have
distinct properties (like literal or absolute mode) even though at the hardware level they
are constructed out of the same machinery as the general register modes. And yes, that
same reasoning applies to the PDP-11.
Interestingly enough, they don?t count another dozen or so modes for all the various
flavors of indexed mode ? where you get a second mode byte after the initial one that has
mode 4 (indexed). That fits, because indexing doesn?t add another set of conceptually
different modes.
paul