14 #include <boost/regex.hpp>
21 bool m_Z, m_S, m_C, m_O, m_breakNext;
23 CDat m_pc, m_pc_next, m_perf;
24 CMem<CDat> m_reg, m_ram;
25 CPMem<Iinstr*> m_prog;
31 static const int EXT_MODEL_OFFSET = 0x2000;
34 void registerExtension() {};
35 void applyToExtensions(const vector<string>& in);
41 CDat getRegister(const int) const;
42 void setRegister(const int, CDat);
44 CDat getRAM(const int) const;
45 void setRAM(const int, CDat);
47 Iinstr* getProg(const int) const;
48 void setProg(const int, Iinstr*);
50 void registerExtension(Iext*);
55 void incPerfBy(short);
57 CDat getCurPC() const;
58 CDat getNextPC() const;
61 CDat getFlags() const;
63 /* will only change zero and sign */
64 void updateFlags(CDat);
65 /* will change all flags */
66 void updateFlags(CDatd, CDat, CDat);
67 /* will change all flags */
68 void updateFlags(bool z, bool o, bool c, bool s);
69 /* will change carry */
70 void updateCarry(bool c);
74 bool conditionMet(short);
77 void setStack(const int);
79 string colorifyInstr(string instr);