Basic arithmetic and jump labels

This commit is contained in:
2019-11-17 21:02:35 +01:00
commit b84557b3e1
34 changed files with 1350 additions and 0 deletions

View File

@@ -0,0 +1,33 @@
#include <execute/flags.hpp>
#include <execute/registers.hpp>
#include <execute/state.hpp>
#include <interpret/code.hpp>
namespace Execute
{
class VirtualMachine
{
private:
Flags flags;
Registers registers;
State state;
bool terminated;
Interpret::Code const & code;
void Step();
public:
void Run();
void SingleStep();
Flags const & GetFlags() const;
Registers const & GetRegisters() const;
State const & GetState() const;
Interpret::Statement const * const GetCurrentStatement() const;
bool IsTerminated() const;
VirtualMachine(Interpret::Code const & code);
};
}