#pragma once
// эти структуры выделены сюда, потому что используются в Assemble.cpp и ScriptAsm.cpp

enum class CPUCmdGroup
{
	NOOPS,
	CBRANCH,
	EIS,
	TRAP,
	SOB,
	MARK,
	TWOOPREG,
	FIS,
	PUSH,
	ONEOPS,
	TWOOPS,
	FPUCLASS1,
	FPUCLASS2,
	FPUCLASS2_1,

	EXTSCRIPT_FO,   // группа команд работы с файлами для скрипта
	EXTSCRIPT_T,    // группа команд для вывода диагностических сообщений
};

struct CPUCommandStruct
{
	std::wstring    strName;        // Имя мнемоники
	uint16_t        nOpcode{ 0 };   // генерируемый опкод
	CPUCmdGroup     nGroup{ CPUCmdGroup::NOOPS }; // группа, к которой принадлежит команда
};

