simh & hardware - pdp-11 psw in supervisor mode?
brad at heeltoe.com
Sun Oct 24 13:33:42 CDT 2010
I have a low-level pdp-11 question...
I'm confused about writing to the PSW on cpu's which support user &
supervisor mode. My
read of the docs is that in user mode you should not be able to write
the "mode" bits of the PSW.
(or, perhaps more accurately, you should not be able to *clear* any mode
bits from user space)
I have a little diagnostic which doesn't work as I though it should
under simh and I thought I'd
ask what others think...
Basically, simh allows code running in "user mode" to write the PSW even
when (I claim) it
should not. I have not tried this on a real 11/44 or 11/34 yet, but I
Should simh allow this? In the test blow the "clr @#PSW" is successful
on simh and I think it should basically be a nop...
(which begs another question - should it be a nop? or a exception?)
A side question might be "the psw is not protected from writes, except
the mmu" - is this true on all models? or just some? The 11/40 manual
that it *is* protected. But 11/73 docs seem to say the opposite and
imply using the mmu.
PSW=177776 ;processor status word
mov #200, r5 ;we should be in kernel mode here
clr @#PSW ;kernel mode
mov #500,sp ;sp=500 in kernel mode
mov #140000,@#PSW ;user mode
mov #700,sp ;sp=700 in user mode
trap 377 ;should move us to kernel mode
clr @#PSW ;back to kernel mode
More information about the cctech