register finalization

This commit is contained in:
black
2025-06-12 15:04:00 +03:00
parent ce2071f42b
commit 39b9d1bf54
2 changed files with 33 additions and 16 deletions

View File

@@ -5,6 +5,8 @@
#ifndef REGISTER_H
#define REGISTER_H
/// Eine Registerklasse als Singleton implementiert.
/// Als Speicher (Registers) wird ein int Array genutzt.
class Register {
@@ -12,19 +14,36 @@ class Register {
private:
Register() = default;
/// Singleton instance
static Register *m_instance;
/// "Echter" Register Speicher
int m_registers[32];
public:
static Register* getInstance();
/// Singleton Logik
Register(const Register &) = delete;
Register(const Register &&) = delete;
Register& operator=(const Register &) = delete;
Register& operator=(const Register &&) = delete;
~Register() = default;
void setRegister();
static Register& getInstance();
int getRegister(int r);
/**
* Speichert den angegebenen Wert im angegebenen Register
*
* @param reg Die Position des Registers
* @param value Der Wert für das Register
*/
void setRegister(int reg, int value);
/**
*
* @param reg Die Position des Registers
* @return Der Wert des Registers
*/
int getRegister(int reg) const;
};
Register *Register::m_instance = nullptr;
#endif //REGISTER_H