30 lines
631 B
C++
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;
|
|
}
|