Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- enum class ArgumentType {
- In,
- Out,
- };
- const ArgumentType kMovInstruction[] = { ArgumentType::In, ArgumentType::Out };
- const ArgumentType kLdrInstruction[] = { ArgumentType::In, ArgumentType::Out };
- const ArgumentType kStrInstruction[] = { ArgumentType::In, ArgumentType::In };
- const ArgumentType kAddInstruction[] = { ArgumentType::In, ArgumentType::In, ArgumentType::Out };
- const ArgumentType kSubInstruction[] = { ArgumentType::In, ArgumentType::In, ArgumentType::Out };
- const ArgumentType kMulInstruction[] = { ArgumentType::In, ArgumentType::In, ArgumentType::Out };
- const ArgumentType kDivInstruction[] = { ArgumentType::In, ArgumentType::In, ArgumentType::Out };
- const ArgumentType kNoopInstruction[] = {};
- const ArgumentType kHaltInstruction[] = {};
- const std::unordered_map<std::string_view, std::span<ArgumentType>> kInstructionLookup{
- { "mov"sv, kMovInstruction },
- { "ldr"sv, kLdrInstruction },
- { "str"sv, kStrInstruction },
- { "add"sv, kAddInstruction },
- { "sub"sv, kSubInstruction },
- { "mul"sv, kMulInstruction },
- { "div"sv, kDivInstruction },
- { "noop"sv, kNoopInstruction },
- { "halt"sv, kHaltInstruction },
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement