Support accurate instruction counts

This commit is contained in:
Maurice Heumann
2025-04-04 13:13:09 +02:00
parent 204159f137
commit 24df7c65c2
13 changed files with 27 additions and 60 deletions

View File

@@ -9,7 +9,7 @@ struct cpu_interface
{
virtual ~cpu_interface() = default;
virtual void start(uint64_t start, uint64_t end = 0, std::chrono::nanoseconds timeout = {}, size_t count = 0) = 0;
virtual void start(size_t count = 0) = 0;
virtual void stop() = 0;
virtual size_t read_raw_register(int reg, void* value, size_t size) = 0;

View File

@@ -15,11 +15,6 @@ class typed_emulator : public emulator
static constexpr registers stack_pointer = StackPointer;
static constexpr registers instruction_pointer = InstructionPointer;
void start_from_ip(const std::chrono::nanoseconds timeout = {}, const size_t count = 0)
{
this->start(this->read_instruction_pointer(), 0, timeout, count);
}
size_t write_register(registers reg, const void* value, const size_t size)
{
return this->write_raw_register(static_cast<int>(reg), value, size);