/* * Author: Pawel Jablonski * E-mail: pj@xirx.net * WWW: xirx.net * GIT: git.xirx.net * * License: You can use this code however you like * but leave information about the original author. * Code is free for non-commercial and commercial use. */ #ifndef CODEITEM_H #define CODEITEM_H #include #include #include #include //! This class contains a one assembler instruction class CodeItem { public: CodeItem(int line, const QString &name, const QList ¶mList); int getLine() const; const QString &getName() const; const QList &getParamList() const; QVector &getDataVector(); QHash &getToFillUpHash(); void setAddress(unsigned int address); unsigned int getAddress() const; private: int line; //!< Line number from the source file QString name; //!< Name of the assembler instruction QList paramList; //!< List of parameters of the assembler instruction in raw text format QVector dataVector; //!< List of bytes generated from the assembler instruction to be a machine instruction QHash toFillUpHash; //!< List of address fields connected to label needed to fill up during linking unsigned int address; //!< Address in memory after linking }; #endif