14 #include <boost/regex.hpp>
21 bool m_Z, m_S, m_C, m_O;
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);
38 CDat getRegister(const int) const;
39 void setRegister(const int, CDat);
41 CDat getRAM(const int) const;
42 void setRAM(const int, CDat);
44 Iinstr* getProg(const int) const;
45 void setProg(const int, Iinstr*);
47 void registerExtension(Iext*);
52 void incPerfBy(short);
54 CDat getCurPC() const;
55 CDat getNextPC() const;
58 CDat getFlags() const;
60 /* will only change zero and sign */
61 void updateFlags(CDat);
62 /* will change all flags */
63 void updateFlags(CDatd, CDat, CDat);
64 /* will change all flags */
65 void updateFlags(bool z, bool o, bool c, bool s);
66 /* will change carry */
67 void updateCarry(bool c);
71 bool conditionMet(short);
74 void setStack(const int);
76 string colorifyInstr(string instr);