added "bne" command

This commit is contained in:
black
2025-07-08 15:33:19 +02:00
parent 6e65fe88fc
commit 7ccd543751
2 changed files with 8 additions and 1 deletions

View File

@@ -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();

View File

@@ -118,6 +118,14 @@ void Alu::calculate(const std::vector<std::string> &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);
}
}
}