9#ifndef MAXOS_MEMORY_MEMORYINPUTOUTPUT_H
10#define MAXOS_MEMORY_MEMORYINPUTOUTPUT_H
16namespace MaxOS::memory {
28 explicit MemIO(uintptr_t address);
41 virtual void write(uint8_t data);
42 virtual uint8_t
read();
54 virtual void write(uint16_t data);
55 virtual uint16_t
read();
67 virtual void write(uint32_t data);
68 virtual uint32_t
read();
80 virtual void write(uint64_t data);
81 virtual uint64_t
read();
Handles 16 bit memory IO.
virtual uint16_t read()
Reads data from the memory address.
virtual void write(uint16_t data)
Writes data to the memory address.
Handles 32 bit memory IO.
virtual uint32_t read()
Reads data from the memory address.
virtual void write(uint32_t data)
Writes data to the memory address.
Handles 64 bit memory IO.
virtual void write(uint64_t data)
Writes data to the memory address.
virtual uint64_t read()
Reads data from the memory address.
virtual uint8_t read()
Reads data from the memory address.
virtual void write(uint8_t data)
Writes data to the memory address.
base class for all memory IO
uintptr_t m_address
The memory address to read from / write to.