1 #pragma once 2 #include "Commands/CAssemblerCommand.h" 3 #include "Core/Common.h" 4 #include "Core/Expression.h" 5 6 class CDirectiveMessage: public CAssemblerCommand 7 { 8 public: 9 enum class Type { Invalid, Warning, Error, Notice }; 10 CDirectiveMessage(Type type, Expression exp); 11 virtual bool Validate(); Encode()12 virtual void Encode() const {}; writeTempData(TempData & tempData)13 virtual void writeTempData(TempData& tempData) const { }; 14 private: 15 Type errorType; 16 Expression exp; 17 }; 18 19 class CDirectiveSym: public CAssemblerCommand 20 { 21 public: CDirectiveSym(bool enable)22 CDirectiveSym(bool enable) {enabled = enable; }; Validate()23 virtual bool Validate() { return false; }; Encode()24 virtual void Encode() const { }; writeTempData(TempData & tempData)25 virtual void writeTempData(TempData& tempData) const { }; writeSymData(SymbolData & symData)26 virtual void writeSymData(SymbolData& symData) const { symData.setEnabled(enabled); } 27 private: 28 bool enabled; 29 }; 30