11 Analyzer(Core
*core
) : core(core
) {}
12 virtual ~Analyzer() {}
15 virtual void reset(unsigned int type
) = 0;
16 virtual void step(dword address
, lword ticks
) = 0;
19 virtual void readRegister(int r
, byte val
) = 0;
20 virtual void writeRegister(int r
, byte val
) = 0;
21 virtual void readStatus(byte val
) = 0;
22 virtual void writeStatus(byte val
) = 0;
23 virtual void readIORegister(int r
, byte val
) = 0;
24 virtual void writeIORegister(int r
, byte val
) = 0;
25 virtual void readByte(unsigned int addr
, byte val
) = 0;
26 virtual void writeByte(unsigned int addr
, byte val
) = 0;
27 virtual void readFlash(unsigned int addr
, byte val
) = 0;
28 virtual void writeFlash(unsigned int addr
, word data
) = 0;
29 virtual void fetchOperand(word val
) = 0;
32 virtual void push(byte val
) = 0;
33 virtual void pop(byte val
) = 0;
34 virtual void jump(sbyte offset
, bool push
) = 0;
35 virtual void skip() = 0;
36 virtual void call(dword address
, bool push
) = 0;
37 virtual void ret(bool interrupt
) = 0;
40 virtual void sleep(unsigned int mode
) = 0;
41 virtual void interrupt(unsigned int vector
, unsigned int addr
) = 0;
47 class AnalyzerFactory
{
49 virtual ~AnalyzerFactory() {}
52 virtual Analyzer
*newAnalyzer(Core
*core
) = 0;
55 template <class Analyzer
>
56 class GenAnalyzerFactory
: public AnalyzerFactory
{
58 Analyzer
*newAnalyzer(Core
*core
) {
59 return new Analyzer(core
);
65 #endif /*AVR_ANALYZER_H*/