[Simh] Problem with MT_ASTLVL on the VAX-11/780
Johnny Billquist
bqt at softjar.se
Wed May 17 19:18:33 EDT 2017
Hi.
On 2017-05-18 00:55, Matt Burke wrote:
> Whilst experimenting with a new device on VAX/VMS V4.5 I got a fatal
> bugcheck (exception whilst above ASTDEL). The problem turned out the be
> a reserved operand fault and I traced it back to the following code
> (shown here from the VMS 3.0 source listings):
>
> MOVL PCB$L_PHD(R0),R0 ; Get PHD address
> MOVB PHD$B_ASTLVL(R0),R0 ; And fetch ASTLVL
> MTPR R0,#PR$_ASTLVL ; Update current value
>
> As you can see R0 will contain an S0 address after the first
> instruction, then only the lower byte is overwritten with the new AST
> level. The whole longword is then written to the ASTLVL IPR. Currently
> the test for this IPR in vax_cpu1.c is:
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
--
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