A thought on the representation of assembly . . .
[aesalon.git] / src / monitor / asm / Instruction.h
blob8bbba9ab6f086a5fbb5f9bb9deaf64669eb98d2d
1 #ifndef AESALON_MONITOR_ASM_INSTRUCTION_H
2 #define AESALON_MONITOR_ASM_INSTRUCTION_H
4 #include "Types.h"
5 #include "Opcode.h"
7 namespace Aesalon {
8 namespace Monitor {
9 namespace ASM {
11 class Instruction {
12 protected:
13 typedef std::vector<Misc::SmartPointer<Operand> > operand_list_t;
14 private:
15 operand_list_t operands;
16 public:
17 Instruction(std::string instruction);
18 virtual ~Instruction() {}
20 Misc::SmartPointer<Operand> get_operand(std::size_t which) const
21 { return operands[which]; }
22 std::size_t get_operands() const { return operands.size(); }
25 } // namespace ASM
26 } // namespace Monitor
27 } // namespace Aesalon
29 #endif