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() {};
37 CDat getRegister(const int) const;
38 void setRegister(const int, CDat);
40 CDat getRAM(const int) const;
41 void setRAM(const int, CDat);
43 Iinstr* getProg(const int) const;
44 void setProg(const int, Iinstr*);
46 void registerExtension(Iext*);
51 void incPerfBy(short);
53 CDat getCurPC() const;
54 CDat getNextPC() const;
57 CDat getFlags() const;
59 /* will only change zero and sign */
60 void updateFlags(CDat);
61 /* will change all flags */
62 void updateFlags(CDatd, CDat, CDat);
63 /* will change all flags */
64 void updateFlags(bool z, bool o, bool c, bool s);
65 /* will change carry */
66 void updateCarry(bool c);
70 bool conditionMet(short);
73 void setStack(const int);
75 string colorifyInstr(string instr);