From 821f7e76100f71d9ad104be9d1e12835e201ce80 Mon Sep 17 00:00:00 2001 From: pbrook Date: Mon, 28 May 2007 02:20:34 +0000 Subject: [PATCH] Implement ColdFire ff1. git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2883 c046a42c-6fe2-441c-8c8c-71466251a162 --- target-m68k/op.c | 10 ++++++++++ target-m68k/translate.c | 5 ++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/target-m68k/op.c b/target-m68k/op.c index 69d1fde9a7..d483488be8 100644 --- a/target-m68k/op.c +++ b/target-m68k/op.c @@ -170,6 +170,16 @@ OP(btest) FORCE_RET(); } +OP(ff1) +{ + uint32_t arg = get_op(PARAM2); + int n; + for (n = 32; arg; n--) + arg >>= 1; + set_op(PARAM1, n); + FORCE_RET(); +} + OP(subx_cc) { uint32_t op1 = get_op(PARAM1); diff --git a/target-m68k/translate.c b/target-m68k/translate.c index 52f38e4c0c..7c91760278 100644 --- a/target-m68k/translate.c +++ b/target-m68k/translate.c @@ -1929,7 +1929,10 @@ DISAS_INSN(shift_reg) DISAS_INSN(ff1) { - cpu_abort(NULL, "Unimplemented insn: ff1"); + int reg; + reg = DREG(insn, 0); + gen_logic_cc(s, reg); + gen_op_ff1(reg, reg); } static int gen_get_sr(DisasContext *s) -- 2.11.4.GIT