> On Sep 6, 2023, at 3:32 PM, Jon Elson via cctalk <[email protected]>
> wrote:
>
> On 9/6/23 14:00, Mike Katz via cctalk wrote:
>> Paul,
>>
>> I'm not an 11 expert but don't most instruction fetches (or the last clock
>> phase on an instruction) cause the pc to increment by one?
> PDP-11 instructions are 16-bit. Since memory is byte-addressed, the
> instruction counter should normally increment by 2, except where immediate
> operands are used.
Even then it increments by 2, by special exception. So 112700, 1 (movb #1,r0)
fetches the instruction and increments PC by 2, then fetches the word where the
PC points and increments by 2, not 1, again.
The weird case of the 11/05 is because the general registers are assigned
addresses 177700 through 177707 for R0 through PC, so R1 is at 177701 even
though it's a word wide. On most models those addresses only work from the
operator console, but on the 11/05 they are also visible from the program. And
by special microcode hack ("just because they could", says ABC) if the PC is in
that range it increments by 1.
paul