Mercurial > repos > blastem
diff 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 |
line wrap: on
line diff
--- a/m68k_internal.h Wed Mar 05 19:26:53 2014 -0800 +++ b/m68k_internal.h Fri Mar 07 17:42:29 2014 -0800 @@ -32,6 +32,7 @@ size_t dreg_offset(uint8_t reg); size_t areg_offset(uint8_t reg); size_t reg_offset(m68k_op_info *op); +void translate_m68k_op(m68kinst * inst, host_ea * ea, m68k_options * opts, uint8_t dst); void print_regs_exit(m68k_context * context); void m68k_read_size(m68k_options *opts, uint8_t size); void m68k_write_size(m68k_options *opts, uint8_t size); @@ -49,11 +50,43 @@ void translate_m68k_lea_pea(m68k_options * opts, m68kinst * inst); void translate_m68k_bsr(m68k_options * opts, m68kinst * inst); void translate_m68k_jmp_jsr(m68k_options * opts, m68kinst * inst); +void translate_m68k_bcc(m68k_options * opts, m68kinst * inst); +void translate_m68k_scc(m68k_options * opts, m68kinst * inst); +void translate_m68k_dbcc(m68k_options * opts, m68kinst * inst); void translate_m68k_unlk(m68k_options * opts, m68kinst * inst); void translate_m68k_link(m68k_options * opts, m68kinst * inst); void translate_m68k_rts(m68k_options * opts, m68kinst * inst); void translate_m68k_rtr(m68k_options *opts, m68kinst * inst); void translate_m68k_trap(m68k_options *opts, m68kinst *inst); +void translate_m68k_move(m68k_options * opts, m68kinst * inst); +void translate_m68k_movep(m68k_options * opts, m68kinst * inst); +void translate_m68k_movem(m68k_options * opts, m68kinst * inst); +void translate_m68k_arith(m68k_options *opts, m68kinst * inst, uint32_t flag_mask, host_ea *src_op, host_ea *dst_op); +void translate_m68k_unary(m68k_options *opts, m68kinst *inst, uint32_t flag_mask, host_ea *dst_op); +void translate_m68k_invalid(m68k_options *opts, m68kinst *inst); +void translate_m68k_cmp(m68k_options * opts, m68kinst * inst); +void translate_m68k_clr(m68k_options * opts, m68kinst * inst); +void translate_m68k_ext(m68k_options * opts, m68kinst * inst); +void translate_m68k_abcd_sbcd(m68k_options *opts, m68kinst *inst, host_ea *src_op, host_ea *dst_op); +void translate_m68k_sl(m68k_options *opts, m68kinst *inst, host_ea *src_op, host_ea *dst_op); +void translate_m68k_asr(m68k_options *opts, m68kinst *inst, host_ea *src_op, host_ea *dst_op); +void translate_m68k_lsr(m68k_options *opts, m68kinst *inst, host_ea *src_op, host_ea *dst_op); +void translate_m68k_bit(m68k_options *opts, m68kinst *inst, host_ea *src_op, host_ea *dst_op); +void translate_m68k_chk(m68k_options *opts, m68kinst *inst, host_ea *src_op, host_ea *dst_op); +void translate_m68k_div(m68k_options *opts, m68kinst *inst, host_ea *src_op, host_ea *dst_op); +void translate_m68k_exg(m68k_options *opts, m68kinst *inst, host_ea *src_op, host_ea *dst_op); +void translate_m68k_mul(m68k_options *opts, m68kinst *inst, host_ea *src_op, host_ea *dst_op); +void translate_m68k_negx(m68k_options *opts, m68kinst *inst, host_ea *src_op, host_ea *dst_op); +void translate_m68k_rot(m68k_options *opts, m68kinst *inst, host_ea *src_op, host_ea *dst_op); +void translate_m68k_illegal(m68k_options *opts, m68kinst *inst); +void translate_m68k_andi_ccr_sr(m68k_options *opts, m68kinst *inst); +void translate_m68k_ori_ccr_sr(m68k_options *opts, m68kinst *inst); +void translate_m68k_eori_ccr_sr(m68k_options *opts, m68kinst *inst); +void translate_m68k_move_ccr_sr(m68k_options *opts, m68kinst *inst, host_ea *src_op, host_ea *dst_op); +void translate_m68k_stop(m68k_options *opts, m68kinst *inst); +void translate_m68k_move_from_sr(m68k_options *opts, m68kinst *inst, host_ea *src_op, host_ea *dst_op); +void translate_m68k_reset(m68k_options *opts, m68kinst *inst); +void translate_m68k_rte(m68k_options *opts, m68kinst *inst); //flag update bits #define X0 0x0001