#ifndef INC_6502_EMULATOR_INSTRUCTION_EXECUTOR_H #define INC_6502_EMULATOR_INSTRUCTION_EXECUTOR_H #include "../program.h" #include "../register/register-manager.h" #include "../opcode/opcode-handler-directory.h" #include #include using namespace std; class InstructionExecutor { public: explicit InstructionExecutor(shared_ptr program, shared_ptr reg_man, shared_ptr opcode_handler_dir); void execute(); private: shared_ptr program; shared_ptr reg_man; shared_ptr opcode_handler_dir; }; #endif //INC_6502_EMULATOR_INSTRUCTION_EXECUTOR_H