3#include "libmicroemu/emu_context.h"
18 using CpuAccessor = TCpuAccessor;
19 using SReg =
typename CpuAccessor::SReg;
55 return SReg::GetRegisterName(reg_id);
60 return cpua_.ReadSpecialRegister(reg_id);
65 return cpua_.WriteSpecialRegister(reg_id, value);
Interface for accessing special registers.
Definition emu_context.h:52
Definition cpu_accessor.h:17
SpecialRegAccessor(SpecialRegAccessor &&)=default
Default move constructor for the SpecialRegAccessor object.
u32 ReadRegister(const SpecialRegisterId ®_id) const override
Reads the value of the specified special register.
Definition spec_reg_access.h:59
SpecialRegAccessor(const SpecialRegAccessor &)=default
Default copy constructor for the SpecialRegAccessor object.
~SpecialRegAccessor()=default
Default destructor for the SpecialRegAccessor object.
SpecialRegAccessor(CpuAccessor &cpua)
Constructs a SpecialRegAccessor object with the given processor states.
Definition spec_reg_access.h:26
void WriteRegister(const SpecialRegisterId ®_id, u32 value) override
Writes the value to the specified special register.
Definition spec_reg_access.h:64
SpecialRegAccessor & operator=(const SpecialRegAccessor &)=default
Default copy assignment operator for the SpecialRegAccessor object.
std::string_view GetRegisterName(const SpecialRegisterId ®_id) const override
Gets the name of the specified special register.
Definition spec_reg_access.h:54
SpecialRegAccessor & operator=(SpecialRegAccessor &&)=default
Default move assignment operator for the SpecialRegAccessor object.
The libmicroemu::internal namespace contains all classes and functions of libmicroemu which are priva...
Definition bkpt_flags.h:6
SpecialRegisterId
Enumeration of special register IDs.
Definition special_register_id.h:18