foot/emulator/tests/test-common.h
2025-07-07 13:17:42 -04:00

30 lines
631 B
C++

#include <foot-emulator.h>
inline foot::Emulator run_instruction(uint32_t instruction)
{
foot::Emulator emu;
emu.memory_at(0) = instruction & 0xFFFF;
emu.memory_at(1) = (instruction >> 16) & 0xFFFF;
emu.run_instruction();
return emu;
}
inline foot::Emulator run_instructions(const std::vector<uint32_t>& instructions)
{
foot::Emulator emu;
for (int i = 0; i < instructions.size(); i++)
{
emu.memory_at(i * 2) = instructions[i] & 0xFFFF;
emu.memory_at(i * 2 + 1) = (instructions[i] >> 16) & 0xFFFF;
}
for (int i = 0; i < instructions.size(); i++)
{
emu.run_instruction();
}
return emu;
}