added "bne" command
This commit is contained in:
@@ -35,7 +35,6 @@ public:
|
|||||||
/**
|
/**
|
||||||
* Gibt die Singleton Instanz des Managers zurück
|
* Gibt die Singleton Instanz des Managers zurück
|
||||||
*
|
*
|
||||||
* @param program_path Der Pfad des Quellcodes
|
|
||||||
* @return Die Singleton Instance des Managers
|
* @return Die Singleton Instance des Managers
|
||||||
*/
|
*/
|
||||||
static Manager *getInstance();
|
static Manager *getInstance();
|
||||||
|
|||||||
@@ -118,6 +118,14 @@ void Alu::calculate(const std::vector<std::string> &commandVector) {
|
|||||||
if (register1 == register2) {
|
if (register1 == register2) {
|
||||||
Manager::getInstance()->setStreamPosition(streamPos);
|
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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user