1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-07-30 07:29:06 +00:00
CLK/InstructionSets/M50740/Executor.cpp

28 lines
802 B
C++
Raw Normal View History

2021-01-17 01:51:02 +00:00
//
// Executor.hpp
// Clock Signal
//
// Created by Thomas Harte on 16/1/21.
// Copyright © 2021 Thomas Harte. All rights reserved.
//
#include "Executor.hpp"
using namespace InstructionSet::M50740;
Executor::Executor() {
// Cut down the list of all generated performers to those the processor actually uses, and install that
// for future referencing by action_for.
Decoder decoder;
for(size_t c = 0; c < 256; c++) {
const auto instruction = decoder.instrucion_for_opcode(uint8_t(c));
performers_[c] = performer_lookup_.performer(instruction.operation, instruction.addressing_mode);
}
2021-01-17 01:51:02 +00:00
}
template <Operation operation> void Executor::perform(uint8_t *operand [[maybe_unused]]) {
2021-01-17 01:51:02 +00:00
}
template <Operation operation, AddressingMode addressing_mode> void Executor::perform(Executor *) {
2021-01-17 01:51:02 +00:00
}