Bug fix: check if vm exists
[avr-sim.git] / Decoder.h
blob8e773e3040ddefc74b81ee530d5bd77b02beb97c
1 #ifndef AVR_DECODER_H
2 #define AVR_DECODER_H
4 #include <vector>
5 #include "Types.h"
7 namespace avr {
9 class Instruction;
10 class Decoder {
11 public:
12 Decoder();
14 public:
15 Instruction & decode( word opcode ) const;
16 bool is2WordInstruction( word opcode ) const;
18 private:
19 Instruction *lookupOpcode( word opcode );
21 private:
22 static std::vector<Instruction *> lut;
25 inline Instruction & Decoder::decode( word opcode ) const {
26 return *lut[opcode];
31 #endif /*AVR_DECODER_H*/