1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-11-28 21:49:27 +00:00

Figure out what's going on with TEQ.

This commit is contained in:
Thomas Harte 2024-03-11 09:51:09 -04:00
parent 830d70d3aa
commit db49146efe

View File

@ -391,10 +391,16 @@ struct MemoryLedger {
regs[15] &= 0x03ff'fffc; regs[15] &= 0x03ff'fffc;
break; break;
case 0xe33ff3c3:
case 0xe33ff343:
case 0xe33ef000:
// TEQs to R15; sometimes these change privilege mode, and the captures then refill
// the ARM pipeline, which doesn't match this interpreter's behaviour.
continue;
// TODO: // TODO:
// * adds to R15: e090f00e, e090f00f; possibly to do with non-multiplexing original? // * adds to R15: e090f00e, e090f00f; possibly to do with non-multiplexing original?
// * movs to PC: e1b0f00e; as above? // * movs to PC: e1b0f00e; as above?
// * some test set teqs — e33ff3c3, e33ff343, e33ef000 — seem to advance the PC twice?
default: break; default: break;
} }
@ -418,8 +424,8 @@ struct MemoryLedger {
if(ignore_test) { if(ignore_test) {
continue; continue;
} }
//
// if(instruction == 0x03110002 && test_count == 5) { // if(instruction == 0xe090f00e && test_count == 1) {
// printf(""); // printf("");
// } // }