What version of SimH are you using? You can safely revert to 3.8-0.
(http://simh.trailing-edge.com/sources/simhv38-0.zip)
The problem is a cut-and-paste error introduced in 3.8-1 when the source was
cleaned up to match more current C styling conventions. Specifically, in 3.8-0:
case 015: case 055: /* STX */
if (reason = Ea (MB & ~IDX, &Y)) break; /* eff addr */
Write (Y, XR); /* store XR */
break;
case 035: case 075: /* LDX */
if (reason = Ea (MB & ~IDX, &Y)) break; /* eff addr */
XR = Read (Y); /* load XR */
break;
The "& ~IDX" term was omitted in 3.8-1, causing the bug you see.
You can either get the 3.8-0 sources from the web site, or interpolate these
lines into your existing source.
This will be fixed in 3.8-2, if I can ever find the time to get it out the door.
/Bob
_______________________________________________
Simh mailing list
[email protected]
http://mailman.trailing-edge.com/mailman/listinfo/simh