Mercurial > repos > blastem
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 |