Port-vax archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: PDP-11 compat mode [was Re: New Vax - future directions :-)]




> On Jul 17, 2021, at 12:47 PM, Mouse <mouse%Rodents-Montreal.ORG@localhost> wrote:
> 
>>>> If we ignore the whole problem that the PDP-11 compatibility mode
>>>> does not include split I/D space to start with, [...]
>>> That's fixable, since I'll be running on an emulated VAX to begin
>>> with.
>> I'd be interested in hearing you you will fix that. :-)
> 
> It's just a little code in the instruction-stream code paths.
> 
> But the major reason I'm writing now is, I'm implementing PDP-11 mode
> and I've run into something I want to check.
> 
> The VARM I have (EL-00032-00-decStd32_Jan90.txt), describing the PDP-11
> SBC and SBCB instructions, says (page 9-20)
> 
>              N <- dst LSS 0;
>              Z <- dst EQL 0;
>              V <- {integer overflow};
>              C <- {borrow into most significant bit};
> 
> That looks...implausible.  I believe it should be
> 
>              C <- {borrow out of most significant bit};
> 
> because multiprecision subtraction is a major pain if the text is
> accurate, and ADC(B) does say "carry from most significant bit".  Does
> anyone here know for sure how real -11s work in this regard?

You're correct; the description you cited is an obvious typo.

My PDP-11/70 handbook has a simpler description:

C <- set if (dst) was 0 and C was 1; cleared otherwise.

which is another way of saying "borrow out of the most significant bit".

	paul




Home | Main Index | Thread Index | Old Index