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