summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/tms32082/dis_pp.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/cpu/tms32082/dis_pp.h')
-rw-r--r--src/devices/cpu/tms32082/dis_pp.h19
1 files changed, 14 insertions, 5 deletions
diff --git a/src/devices/cpu/tms32082/dis_pp.h b/src/devices/cpu/tms32082/dis_pp.h
index a2f37ea26c8..fd71e7e1e25 100644
--- a/src/devices/cpu/tms32082/dis_pp.h
+++ b/src/devices/cpu/tms32082/dis_pp.h
@@ -17,17 +17,26 @@ public:
virtual offs_t disassemble(std::ostream &stream, offs_t pc, const data_buffer &opcodes, const data_buffer &params) override;
private:
- static char const *const REG_NAMES[128];
static char const *const CONDITION_CODES[16];
static char const *const TRANSFER_SIZE[4];
+ std::string m_alu_condition;
+ std::string m_alu_operation;
+ std::string m_parallel_condition;
+ std::string m_parallel_transfer;
- std::ostream *output;
+ int m_src1bank;
+ int m_dstbank;
+ std::string format_alu_op(int aluop, int a, const std::string& dst_text, std::string& a_text, std::string& b_text, std::string& c_text);
- std::string format_address_mode(int mode, int areg, int s, int limx);
- void format_transfer(uint64_t op);
- void format_alu_op(int aluop, int a, const char *dst_text, const char *a_text, const char *b_text, const char *c_text);
+ void parallel_transfer(uint64_t op);
+ std::string make_mem_transfer(int mode, int dst, int a, bool scale, int size, int le, int imm, int x);
+ std::string make_ea(int mode, int areg, bool scale, int size, int offset, int xreg);
+ std::string make_condition(int cond, int ncvz);
+
+ std::string get_reg_name(int reg, bool read);
+ std::string make_field_move(bool d, bool e, int size, int itm);
};
#endif