On Jul 11, 2014, at 7:14 PM, Kevin Keith <krfkeith at gmail.com> wrote:
Thanks for the answers guys!
I was wondering if any of you VAX gurus might be able to clear up another
question that has been confusing me:
In the architecture manual, in the addressing mode summary table (it's
Table 2-2, on page 2-17, or page 66 on the bitsavers PDF) it says that the
literal addressing mode has specifiers 0-3, yet there appears to be only
one literal mode. The chart shows the format as being:
+-----+--------------+
| 0. | (literal) |
+-----+--------------+
My question is, can the operand specifier for literal mode really be 00,
01, or 10? And if so, why did the designers of the VAX waste the extra bit,
and bit and make literals 7-bits?
The picture is a bit confusing. That field of 0 is 2 bits wide, leaving 6 bits for the
literal. The reason the specifier is listed as ?0-3? is that the addressing mode
specifier is the top 4 bits. So what we have here is that if the top 2 bits of the
specifier are 0, you have literal mode, and the literal is in the bottom 6 bits ? the
bottom 2 bits of the mode specifier combined with the 4 bits that are normally the
register number.
paul