Basic arithmetic and jump labels
This commit is contained in:
		
							
								
								
									
										33
									
								
								include/execute/virtualmachine.hpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								include/execute/virtualmachine.hpp
									
									
									
									
									
										Normal 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); | ||||
| 	}; | ||||
| } | ||||
		Reference in New Issue
	
	Block a user