comparison m68k_internal.h @ 582:c05fcbfe1b1a

Refactored translate_m68k so that it contains no host-cpu specific code and moved it to m68k_core.c
author Michael Pavone <pavone@retrodev.com>
date Fri, 07 Mar 2014 17:42:29 -0800
parents 9f40aa5243c2
children b6713c1b6f55
comparison
equal deleted inserted replaced
581:9f40aa5243c2 582:c05fcbfe1b1a
30 //functions implemented in m68k_core.c 30 //functions implemented in m68k_core.c
31 int8_t native_reg(m68k_op_info * op, m68k_options * opts); 31 int8_t native_reg(m68k_op_info * op, m68k_options * opts);
32 size_t dreg_offset(uint8_t reg); 32 size_t dreg_offset(uint8_t reg);
33 size_t areg_offset(uint8_t reg); 33 size_t areg_offset(uint8_t reg);
34 size_t reg_offset(m68k_op_info *op); 34 size_t reg_offset(m68k_op_info *op);
35 void translate_m68k_op(m68kinst * inst, host_ea * ea, m68k_options * opts, uint8_t dst);
35 void print_regs_exit(m68k_context * context); 36 void print_regs_exit(m68k_context * context);
36 void m68k_read_size(m68k_options *opts, uint8_t size); 37 void m68k_read_size(m68k_options *opts, uint8_t size);
37 void m68k_write_size(m68k_options *opts, uint8_t size); 38 void m68k_write_size(m68k_options *opts, uint8_t size);
38 void push_const(m68k_options *opts, int32_t value); 39 void push_const(m68k_options *opts, int32_t value);
39 void jump_m68k_abs(m68k_options * opts, uint32_t address); 40 void jump_m68k_abs(m68k_options * opts, uint32_t address);
47 48
48 //individual instructions 49 //individual instructions
49 void translate_m68k_lea_pea(m68k_options * opts, m68kinst * inst); 50 void translate_m68k_lea_pea(m68k_options * opts, m68kinst * inst);
50 void translate_m68k_bsr(m68k_options * opts, m68kinst * inst); 51 void translate_m68k_bsr(m68k_options * opts, m68kinst * inst);
51 void translate_m68k_jmp_jsr(m68k_options * opts, m68kinst * inst); 52 void translate_m68k_jmp_jsr(m68k_options * opts, m68kinst * inst);
53 void translate_m68k_bcc(m68k_options * opts, m68kinst * inst);
54 void translate_m68k_scc(m68k_options * opts, m68kinst * inst);
55 void translate_m68k_dbcc(m68k_options * opts, m68kinst * inst);
52 void translate_m68k_unlk(m68k_options * opts, m68kinst * inst); 56 void translate_m68k_unlk(m68k_options * opts, m68kinst * inst);
53 void translate_m68k_link(m68k_options * opts, m68kinst * inst); 57 void translate_m68k_link(m68k_options * opts, m68kinst * inst);
54 void translate_m68k_rts(m68k_options * opts, m68kinst * inst); 58 void translate_m68k_rts(m68k_options * opts, m68kinst * inst);
55 void translate_m68k_rtr(m68k_options *opts, m68kinst * inst); 59 void translate_m68k_rtr(m68k_options *opts, m68kinst * inst);
56 void translate_m68k_trap(m68k_options *opts, m68kinst *inst); 60 void translate_m68k_trap(m68k_options *opts, m68kinst *inst);
61 void translate_m68k_move(m68k_options * opts, m68kinst * inst);
62 void translate_m68k_movep(m68k_options * opts, m68kinst * inst);
63 void translate_m68k_movem(m68k_options * opts, m68kinst * inst);
64 void translate_m68k_arith(m68k_options *opts, m68kinst * inst, uint32_t flag_mask, host_ea *src_op, host_ea *dst_op);
65 void translate_m68k_unary(m68k_options *opts, m68kinst *inst, uint32_t flag_mask, host_ea *dst_op);
66 void translate_m68k_invalid(m68k_options *opts, m68kinst *inst);
67 void translate_m68k_cmp(m68k_options * opts, m68kinst * inst);
68 void translate_m68k_clr(m68k_options * opts, m68kinst * inst);
69 void translate_m68k_ext(m68k_options * opts, m68kinst * inst);
70 void translate_m68k_abcd_sbcd(m68k_options *opts, m68kinst *inst, host_ea *src_op, host_ea *dst_op);
71 void translate_m68k_sl(m68k_options *opts, m68kinst *inst, host_ea *src_op, host_ea *dst_op);
72 void translate_m68k_asr(m68k_options *opts, m68kinst *inst, host_ea *src_op, host_ea *dst_op);
73 void translate_m68k_lsr(m68k_options *opts, m68kinst *inst, host_ea *src_op, host_ea *dst_op);
74 void translate_m68k_bit(m68k_options *opts, m68kinst *inst, host_ea *src_op, host_ea *dst_op);
75 void translate_m68k_chk(m68k_options *opts, m68kinst *inst, host_ea *src_op, host_ea *dst_op);
76 void translate_m68k_div(m68k_options *opts, m68kinst *inst, host_ea *src_op, host_ea *dst_op);
77 void translate_m68k_exg(m68k_options *opts, m68kinst *inst, host_ea *src_op, host_ea *dst_op);
78 void translate_m68k_mul(m68k_options *opts, m68kinst *inst, host_ea *src_op, host_ea *dst_op);
79 void translate_m68k_negx(m68k_options *opts, m68kinst *inst, host_ea *src_op, host_ea *dst_op);
80 void translate_m68k_rot(m68k_options *opts, m68kinst *inst, host_ea *src_op, host_ea *dst_op);
81 void translate_m68k_illegal(m68k_options *opts, m68kinst *inst);
82 void translate_m68k_andi_ccr_sr(m68k_options *opts, m68kinst *inst);
83 void translate_m68k_ori_ccr_sr(m68k_options *opts, m68kinst *inst);
84 void translate_m68k_eori_ccr_sr(m68k_options *opts, m68kinst *inst);
85 void translate_m68k_move_ccr_sr(m68k_options *opts, m68kinst *inst, host_ea *src_op, host_ea *dst_op);
86 void translate_m68k_stop(m68k_options *opts, m68kinst *inst);
87 void translate_m68k_move_from_sr(m68k_options *opts, m68kinst *inst, host_ea *src_op, host_ea *dst_op);
88 void translate_m68k_reset(m68k_options *opts, m68kinst *inst);
89 void translate_m68k_rte(m68k_options *opts, m68kinst *inst);
57 90
58 //flag update bits 91 //flag update bits
59 #define X0 0x0001 92 #define X0 0x0001
60 #define X1 0x0002 93 #define X1 0x0002
61 #define X 0x0004 94 #define X 0x0004