aboutsummaryrefslogtreecommitdiff
path: root/qtmips_machine/tests
diff options
context:
space:
mode:
authorPavel Pisa <pisa@cmp.felk.cvut.cz>2019-03-13 13:53:30 +0100
committerPavel Pisa <pisa@cmp.felk.cvut.cz>2019-03-13 13:53:30 +0100
commit4637416160771a6357bd8bebf61626ca599c500b (patch)
tree19cee938bed0b88aa037fdc821ce62a6e1a30fa3 /qtmips_machine/tests
parent92e0df65f7d46eac5115d54d31a7807fc2faa8fb (diff)
downloadqtmips-4637416160771a6357bd8bebf61626ca599c500b.tar.gz
qtmips-4637416160771a6357bd8bebf61626ca599c500b.tar.bz2
qtmips-4637416160771a6357bd8bebf61626ca599c500b.zip
Fix LB and LH sign extension and LH/SH mask calculation.
Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
Diffstat (limited to 'qtmips_machine/tests')
-rw-r--r--qtmips_machine/tests/testcore.cpp4
-rw-r--r--qtmips_machine/tests/testmemory.cpp4
2 files changed, 4 insertions, 4 deletions
diff --git a/qtmips_machine/tests/testcore.cpp b/qtmips_machine/tests/testcore.cpp
index 86a9726..53b6304 100644
--- a/qtmips_machine/tests/testcore.cpp
+++ b/qtmips_machine/tests/testcore.cpp
@@ -365,13 +365,13 @@ static void core_mem_data() {
Registers regs;
regs.write_gp(1, 0x22);
Registers regs_res(regs);
- regs_res.write_gp(21, 0x80000023);
+ regs_res.write_gp(21, 0xFFFFFFA3);
QTest::newRow("LB") << Instruction(32, 1, 21, 0x2) \
<< regs \
<< regs_res \
<< mem \
<< mem;
- regs_res.write_gp(21, 0x80002324);
+ regs_res.write_gp(21, 0xFFFFA324);
QTest::newRow("LH") << Instruction(33, 1, 21, 0x2) \
<< regs \
<< regs_res \
diff --git a/qtmips_machine/tests/testmemory.cpp b/qtmips_machine/tests/testmemory.cpp
index d24ec54..6e7d23a 100644
--- a/qtmips_machine/tests/testmemory.cpp
+++ b/qtmips_machine/tests/testmemory.cpp
@@ -179,9 +179,9 @@ void MachineTests::memory_read_ctl_data() {
QTest::newRow("none") << AC_NONE \
<< (std::uint32_t)0;
QTest::newRow("byte") << AC_BYTE \
- << (std::uint32_t)0x80000023;
+ << (std::uint32_t)0xFFFFFFA3;
QTest::newRow("halfword") << AC_HALFWORD \
- << (std::uint32_t)0x80002324;
+ << (std::uint32_t)0xFFFFA324;
QTest::newRow("word") << AC_WORD \
<< (std::uint32_t)0xA3242526;
QTest::newRow("byte-unsigned") << AC_BYTE_UNSIGNED \