aboutsummaryrefslogtreecommitdiff
path: root/qtmips_machine/instruction.h
diff options
context:
space:
mode:
authorKarel Kočí <cynerd@email.cz>2017-11-21 19:48:51 +0100
committerKarel Kočí <cynerd@email.cz>2017-11-21 19:48:51 +0100
commit499a88621d12ff0cdcba1f8c796b7031d6adc649 (patch)
treec050b5224c896b3e14d74866473aef9c2a5e9b69 /qtmips_machine/instruction.h
parent68f2af6801756980ec53347c0acb7fcc292f7939 (diff)
downloadqtmips-499a88621d12ff0cdcba1f8c796b7031d6adc649.tar.gz
qtmips-499a88621d12ff0cdcba1f8c796b7031d6adc649.tar.bz2
qtmips-499a88621d12ff0cdcba1f8c796b7031d6adc649.zip
Add possibility to compare memory and registers state
For core testing we want to compare whole memory and registers. Registers are pretty simple but in case of memory it is some what more complicated and required its own tests to be sure that it works.
Diffstat (limited to 'qtmips_machine/instruction.h')
-rw-r--r--qtmips_machine/instruction.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/qtmips_machine/instruction.h b/qtmips_machine/instruction.h
index 3b76fba..921d9b0 100644
--- a/qtmips_machine/instruction.h
+++ b/qtmips_machine/instruction.h
@@ -1,14 +1,18 @@
#ifndef INSTRUCTION_H
#define INSTRUCTION_H
+#include <QObject>
#include <qstring.h>
-class Instruction {
+class Instruction : public QObject {
+ Q_OBJECT
public:
+ Instruction();
Instruction(std::uint32_t inst);
Instruction(std::uint8_t opcode, std::uint8_t rs, std::uint8_t rt, std::uint8_t rd, std::uint8_t shamt, std::uint8_t funct); // Type R
Instruction(std::uint8_t opcode, std::uint8_t rs, std::uint8_t rt, std::uint16_t immediate); // Type I
Instruction(std::uint8_t opcode, std::uint32_t address); // Type J
+ Instruction(const Instruction&);
QString to_str();
@@ -28,4 +32,6 @@ private:
std::uint32_t dt;
};
+Q_DECLARE_METATYPE(Instruction)
+
#endif // INSTRUCTION_H