added "bne" command
This commit is contained in:
@@ -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();
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user