[Simh] Problem with MT_ASTLVL on the VAX-11/780
Johnny Billquist
bqt at softjar.se
Thu May 18 03:26:22 EDT 2017
On 2017-05-18 03:23, Paul Koning wrote:
>
>> On May 17, 2017, at 8:00 PM, Matt Burke <matt at 9track.net> wrote:
>>
>> On 18/05/2017 00:18, Johnny Billquist wrote:
>>>
>>> Hum. Do I remember wrong? I seem to remember that when you MOVB to a
>>> register, the value should be sign extended. So not just the low byte
>>> should have been modified.
>>>
>>> Johnny
>>>
>>
>> I think you may be thinking of MOVZBL (and MOVZWL for words).
>
> Or the PDP11, where indeed MOVB sign extends.
Yeah, it definitely does it on the PDP-11. I always feel divided on
whether I think it should or not.
But I was obviously remembering wrong. MOV instructions on the VAX does
not sign extend. The CVT instructions are used if you want that.
> Is MT_ASTLVL defined as a register where only the low byte has meaning?
Seems like it was using even fewer than 8 bits... Looked like it was
only 3 bits. But the register itself seems to be defined as 32 bits. I'm
not even sure any processor internal registers can be anything else.
All that said, Matt Burke seems like he already identified the issue
pretty correctly. The VAX 11/780 Hardware Handbook seems to clearly say
that bit 3-31 are ignored, and returns as 0 on read. So for that model,
I guess the value should be masked.
However, this might be different on different CPU models, so I suspect
this should be applied with care. He was testing VAX/VMS V4.5, which is
pretty ancient. The models supported by that version would probably only
be the VAX-11 models. (And yes, I include the 86x0 in the VAX-11 series.)
Johnny
--
Johnny Billquist || "I'm on a bus
|| on a psychedelic trip
email: bqt at softjar.se || Reading murder books
pdp is alive! || tryin' to stay hip" - B. Idol
More information about the Simh
mailing list