Fixed all of the invalid reads/uninitialised value errors in aesalon.
[aesalon.git] / monitor / src / asm / Instruction.h
blob2dd4780412258e9c79c94a7dd761a3df4eabc1c7
1 #ifndef AESALON_MONITOR_ASM_INSTRUCTION_H
2 #define AESALON_MONITOR_ASM_INSTRUCTION_H
4 #include "Types.h"
5 #include "Operand.h"
7 namespace ASM {
9 class Instruction {
10 private:
11 bool memory_change;
12 Operand *source;
13 Operand *destination;
15 Word address;
17 void handle_opcode(std::string opcode, std::string operands);
18 public:
19 Instruction(std::string instruction, Word address);
20 virtual ~Instruction();
22 bool changes_memory() const { return memory_change; }
24 Operand *get_source() const { return source; }
25 Operand *get_destination() const { return destination; }
27 Word get_address() const { return address; }
30 } // namespace ASM
32 #endif