From 9cf92379d5fcf0076c25dae0935daab446c992cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karel=20Ko=C4=8D=C3=AD?= Date: Wed, 30 Aug 2017 21:37:53 +0200 Subject: Initial commit Adding work done so far. --- qtmips_machine/instructions/loadstore.h | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 qtmips_machine/instructions/loadstore.h (limited to 'qtmips_machine/instructions/loadstore.h') diff --git a/qtmips_machine/instructions/loadstore.h b/qtmips_machine/instructions/loadstore.h new file mode 100644 index 0000000..9741bd7 --- /dev/null +++ b/qtmips_machine/instructions/loadstore.h @@ -0,0 +1,32 @@ +#ifndef LOADSTORE_H +#define LOADSTORE_H + +#include "instruction.h" + +enum InstructionLoadStoreT { + ILST_B, // Byte + ILST_HW, // Half word + ILST_WL, // Word left + ILST_W, // Word + ILST_BU, // Byte unsigned + ILST_HU, // Half word unsigned + ILST_WR // Word right +}; + +class InstructionLoad : public InstructionI { +public: + InstructionLoad(enum InstructionLoadStoreT type, std::uint8_t rs, std::uint8_t rt, std::uint16_t offset); + std::vector to_strs(); +private: + enum InstructionLoadStoreT type; +}; + +class InstructionStore : public InstructionI { +public: + InstructionStore(enum InstructionLoadStoreT type, std::uint8_t rs, std::uint8_t rt, std::uint16_t offset); + std::vector to_strs(); +private: + enum InstructionLoadStoreT type; +}; + +#endif // LOADSTORE_H -- cgit v1.2.3