43 lines
593 B
C++
43 lines
593 B
C++
#pragma once
|
|
#include <cstdint>
|
|
|
|
namespace Execute
|
|
{
|
|
enum class InstructionByte : std::uint8_t
|
|
{
|
|
NOOP = 0,
|
|
/* Integer functions */
|
|
ADD_INTEGER,
|
|
SUBTRACT_INTEGER,
|
|
DIVIDE_INTEGER,
|
|
MULTIPLY_INTEGER,
|
|
SHIFT_LEFT_INTEGER,
|
|
SHIFT_RIGHT_INTEGER,
|
|
SET_INTEGER,
|
|
/* Control flow */
|
|
JUMP,
|
|
INTERRUPT,
|
|
CALL,
|
|
RETURN,
|
|
EXIT,
|
|
LESS_THAN_INTEGER,
|
|
GREATER_THAN_INTEGER,
|
|
EQUALS_INTEGER,
|
|
/* Memory */
|
|
POP_INTEGER,
|
|
PUSH_INTEGER,
|
|
/* Values */
|
|
IMMEDIATE_INTEGER,
|
|
REGISTER,
|
|
MEMORY_OP,
|
|
LABEL,
|
|
};
|
|
|
|
enum class RegisterByte : std::uint8_t
|
|
{
|
|
A = 1,
|
|
B,
|
|
C,
|
|
D
|
|
};
|
|
} |