[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