X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=3c_disasm%2FIinstr.hpp;fp=3c_disasm%2FIinstr.hpp;h=e16c26c13a90200373d6de7e9af94d2d28a121f2;hb=c67557ba519b6d94898a031e86a8db69675f6c1c;hp=2cc17df5e1f4d5093e10a75d4eb5f3b03db25e41;hpb=ae59c2addc2158d2872076fb14b5896619eaf8d6;p=calu.git diff --git a/3c_disasm/Iinstr.hpp b/3c_disasm/Iinstr.hpp index 2cc17df..e16c26c 100644 --- a/3c_disasm/Iinstr.hpp +++ b/3c_disasm/Iinstr.hpp @@ -51,7 +51,7 @@ enum CONDITIONS { class Iinstr { protected: - short opcode; + short opcode, clockcount; std::string name; short m_ra, m_rb, m_rd; bool m_c, m_d, m_hl, m_f, m_s; @@ -59,7 +59,7 @@ class Iinstr { short m_cond; boost::dynamic_bitset<> argbits; CDat hexdump; - Iinstr() : opcode(0), name(""), m_ra(0), m_rb(0), m_rd(0), m_c(0), m_d(0), m_hl(0), m_f(0), m_s(0), m_imm(0), m_cond(ALWAYS), argbits(32), hexdump(0) {} + Iinstr() : opcode(0), clockcount(1), name(""), m_ra(0), m_rb(0), m_rd(0), m_c(0), m_d(0), m_hl(0), m_f(0), m_s(0), m_imm(0), m_cond(ALWAYS), argbits(32), hexdump(0) {} CDat generate16ImmFill(const CDat value) const { CDat i = value; @@ -141,6 +141,10 @@ class Iinstr { return m_cond; } + short getClockCount() { + return clockcount; + } + void decodeCondition(short condition) { if(condition >= 0 && condition <= 15) { m_cond = condition;