mirror of
https://github.com/fergalmoran/ladybird.git
synced 2026-02-24 00:24:38 +00:00
UserspaceEmulator: Add 8/16 bit memory read/write operations
This commit is contained in:
@@ -49,12 +49,36 @@ public:
|
||||
free(m_data);
|
||||
}
|
||||
|
||||
virtual u8 read8(u32 offset) override
|
||||
{
|
||||
ASSERT(offset < size());
|
||||
return *reinterpret_cast<const u8*>(m_data + offset);
|
||||
}
|
||||
|
||||
virtual u16 read16(u32 offset) override
|
||||
{
|
||||
ASSERT(offset + 1 < size());
|
||||
return *reinterpret_cast<const u16*>(m_data + offset);
|
||||
}
|
||||
|
||||
virtual u32 read32(u32 offset) override
|
||||
{
|
||||
ASSERT(offset + 3 < size());
|
||||
return *reinterpret_cast<const u32*>(m_data + offset);
|
||||
}
|
||||
|
||||
virtual void write8(u32 offset, u8 value) override
|
||||
{
|
||||
ASSERT(offset < size());
|
||||
*reinterpret_cast<u8*>(m_data + offset) = value;
|
||||
}
|
||||
|
||||
virtual void write16(u32 offset, u16 value) override
|
||||
{
|
||||
ASSERT(offset + 1 < size());
|
||||
*reinterpret_cast<u16*>(m_data + offset) = value;
|
||||
}
|
||||
|
||||
virtual void write32(u32 offset, u32 value) override
|
||||
{
|
||||
ASSERT(offset + 3 < size());
|
||||
|
||||
Reference in New Issue
Block a user