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:
2
em.c
2
em.c
@@ -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,' '));
|
||||
|
||||
Reference in New Issue
Block a user