folder reordering
This commit is contained in:
53
src/components/Memory.h
Normal file
53
src/components/Memory.h
Normal file
@@ -0,0 +1,53 @@
|
||||
//
|
||||
// Created by black on 12.06.25.
|
||||
//
|
||||
|
||||
#ifndef MEMORY_H
|
||||
#define MEMORY_H
|
||||
#include <array>
|
||||
|
||||
/// Eine Hauptspeicherklasse als Singleton implementiert.
|
||||
/// Als Hauptspeicher wird ein Array genutzt.
|
||||
|
||||
|
||||
|
||||
class Memory {
|
||||
private:
|
||||
Memory() = default;
|
||||
|
||||
/// Singleton instance
|
||||
static Memory *m_instance;
|
||||
/// Hauptspeicher (hier 32 kB groß)
|
||||
std::array<int, 8192> m_memory;
|
||||
|
||||
public:
|
||||
/// Singleton Logik
|
||||
Memory(const Memory &) = delete;
|
||||
Memory(const Memory &&) = delete;
|
||||
Memory &operator=(const Memory &) = delete;
|
||||
Memory &operator=(const Memory &&) = delete;
|
||||
~Memory() = default;
|
||||
|
||||
static Memory *getInstance();
|
||||
|
||||
/**
|
||||
* Speichert den angegebenen Wert an der angegebenen Adresse im Hauptspeicher
|
||||
*
|
||||
* @param address Die Adresse, in die der Wert gespeichert werden soll
|
||||
* @param value Der Wert, der in die Adresse gespeichert werden soll
|
||||
*/
|
||||
void store(int address, int value);
|
||||
|
||||
/**
|
||||
* Lädt den gespeicherten Wert aus der angegebenen Adresse
|
||||
*
|
||||
* @param address Die Adresse, aus der der Wert gelesen werden soll
|
||||
* @return Der Wert aus der Adresse
|
||||
*/
|
||||
int load(int address) const;
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
#endif //MEMORY_H
|
||||
Reference in New Issue
Block a user