1
0
mirror of https://github.com/prirun/p50em.git synced 2026-04-27 04:46:30 +00:00

After changing EAFA to preserve the E-bit, CPUT4 halted at 10001. In

this case, bitno was specified in the EAFA instruction itself.  The
emulator was setting the E-bit in the returned ea because there was a
non-zero bit offset.  This extra test of bitno & setting of E-bit was
removed from apea to pass CPUT4 at 10001.

Issues like this, might be why DIAG was developed to surpass T&M: many
of these CPUT4 tests are testing the implementation of an instruction
rather than just the architectural feature of the instruction.
This commit is contained in:
Jim
2011-08-09 09:10:55 -04:00
parent f0983d6ccb
commit f69f9e9696

2
em.c
View File

@@ -2360,8 +2360,6 @@ static ea_t apea(unsigned short *bitarg) {
ea = ip;
TRACE(T_EAAP, " After indirect, AP ea = %o/%o, bit=%d %s\n", ea>>16, ea & 0xFFFF, bit, searchloadmap(ea,' '));
}
if (bit)
ea |= EXTMASK32;
if (bitarg != NULL)
*bitarg = bit;
TRACE(T_FLOW|T_EAAP," APEA: %o/%o-%d %s\n", ea>>16, ea&0xFFFF, bit, searchloadmap(ea,' '));