From 7ccd543751b9c4e7694cbb6872eb1aed616fe02e Mon Sep 17 00:00:00 2001 From: black Date: Tue, 8 Jul 2025 15:33:19 +0200 Subject: [PATCH] added "bne" command --- src/Manager.h | 1 - src/components/Alu.cpp | 8 ++++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/Manager.h b/src/Manager.h index 6d6bfec..470c4a7 100644 --- a/src/Manager.h +++ b/src/Manager.h @@ -35,7 +35,6 @@ public: /** * Gibt die Singleton Instanz des Managers zurück * - * @param program_path Der Pfad des Quellcodes * @return Die Singleton Instance des Managers */ static Manager *getInstance(); diff --git a/src/components/Alu.cpp b/src/components/Alu.cpp index 70f2c04..52941c8 100644 --- a/src/components/Alu.cpp +++ b/src/components/Alu.cpp @@ -118,6 +118,14 @@ void Alu::calculate(const std::vector &commandVector) { if (register1 == register2) { Manager::getInstance()->setStreamPosition(streamPos); } + } else if (command == "bne") { + const auto register1 = Register::getInstance().getRegister(arg1); + const auto register2 = Register::getInstance().getRegister(arg2); + const auto &label = commandVector.at(3); + const auto streamPos = ProgramLoader::getInstance()->getStreamPosition(label); + if (register1 != register2) { + Manager::getInstance()->setStreamPosition(streamPos); + } } }