> 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


Reply via email to