aboutsummaryrefslogtreecommitdiff
path: root/qtmips_machine/qtmipsexception.h
diff options
context:
space:
mode:
authorKarel Kočí <cynerd@email.cz>2017-11-19 21:23:04 +0100
committerKarel Kočí <cynerd@email.cz>2017-11-19 21:23:04 +0100
commitf0ad502e4651243d6a96194b3393bd460c0f7fc9 (patch)
tree4f912c24b5943bd93b5a3378df75f9611de6779b /qtmips_machine/qtmipsexception.h
parent2c6562fa78e884d66b8c2a306f020101e8803f2e (diff)
downloadqtmips-f0ad502e4651243d6a96194b3393bd460c0f7fc9.tar.gz
qtmips-f0ad502e4651243d6a96194b3393bd460c0f7fc9.tar.bz2
qtmips-f0ad502e4651243d6a96194b3393bd460c0f7fc9.zip
Another huge pile of work for about two months
Well I should commit every change instead of this madness. I am not documenting changes as all this is just improvements and implementation progression.
Diffstat (limited to 'qtmips_machine/qtmipsexception.h')
-rw-r--r--qtmips_machine/qtmipsexception.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/qtmips_machine/qtmipsexception.h b/qtmips_machine/qtmipsexception.h
index 81895d6..b81f748 100644
--- a/qtmips_machine/qtmipsexception.h
+++ b/qtmips_machine/qtmipsexception.h
@@ -37,6 +37,20 @@ public:
QtMipsExceptionUnsupportedInstruction(QTMIPS_ARGS_COMMON);
};
+// Decoded ALU operation is not supported
+// This is basically same exception as QtMipsExceptionUnsupportedInstruction but it is emmited from ALU when executed and not before that.
+class QtMipsExceptionUnsupportedAluOperation : public QtMipsExceptionRuntime {
+public:
+ QtMipsExceptionUnsupportedAluOperation(QTMIPS_ARGS_COMMON);
+};
+
+// Integer operation resulted to overflow (or underflow as we are working with unsigned values)
+// This is for sure caused by program it self.
+class QtMipsExceptionOverflow : public QtMipsExceptionRuntime {
+public:
+ QtMipsExceptionOverflow(QTMIPS_ARGS_COMMON);
+};
+
// Instruction is jumping to unaligned address (ADDR%4!=0)
// This can be caused by bug or by user program as it can be jumping relative to register
// This shouldn't be happening with non-register jumps as those should be verified by compiler