diff options
author | Karel Kočí <cynerd@email.cz> | 2017-11-21 22:01:52 +0100 |
---|---|---|
committer | Karel Kočí <cynerd@email.cz> | 2017-11-21 22:01:52 +0100 |
commit | cd9e572b6523fac483ce1695ae1785fca075cc53 (patch) | |
tree | 06fddd51de93b35915e1b6beeecec364be2492b1 /qtmips_machine/tests/testregisters.cpp | |
parent | 499a88621d12ff0cdcba1f8c796b7031d6adc649 (diff) | |
download | qtmips-cd9e572b6523fac483ce1695ae1785fca075cc53.tar.gz qtmips-cd9e572b6523fac483ce1695ae1785fca075cc53.tar.bz2 qtmips-cd9e572b6523fac483ce1695ae1785fca075cc53.zip |
Implement and test ADD
Diffstat (limited to 'qtmips_machine/tests/testregisters.cpp')
-rw-r--r-- | qtmips_machine/tests/testregisters.cpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/qtmips_machine/tests/testregisters.cpp b/qtmips_machine/tests/testregisters.cpp index 4430beb..b498c11 100644 --- a/qtmips_machine/tests/testregisters.cpp +++ b/qtmips_machine/tests/testregisters.cpp @@ -37,3 +37,30 @@ void MachineTests::registers_pc() { QVERIFY_EXCEPTION_THROWN(r.pc_jmp(0x1), QtMipsExceptionUnalignedJump); QVERIFY_EXCEPTION_THROWN(r.pc_abs_jmp(0x80020101), QtMipsExceptionUnalignedJump); } + +void MachineTests::registers_compare() { + Registers r1, r2; + QCOMPARE(r1, r2); + // General purpose register + r1.write_gp(1, 24); + QVERIFY(r1 != r2); + r2.write_gp(1, 24); + QCOMPARE(r1, r2); + // Program counter + r1.pc_inc(); + QVERIFY(r1 != r2); + r2.pc_inc(); + QCOMPARE(r1, r2); + // LO/HI (testing just one as they have common codepath) + r1.write_hi_lo(false, 18); + QVERIFY(r1 != r2); + r2.write_hi_lo(false, 18); + QCOMPARE(r1, r2); + // Now let's try copy (and verify only with gp this time) + Registers r3(r1); + QCOMPARE(r3, r1); + r3.write_gp(12, 19); + QVERIFY(r1 != r3); + r1.write_gp(12, 19); + QCOMPARE(r3, r1); +} |