OSDN Git Service

Implement ColdFire ff1.
authorpbrook <pbrook@c046a42c-6fe2-441c-8c8c-71466251a162>
Mon, 28 May 2007 02:20:34 +0000 (02:20 +0000)
committerpbrook <pbrook@c046a42c-6fe2-441c-8c8c-71466251a162>
Mon, 28 May 2007 02:20:34 +0000 (02:20 +0000)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2883 c046a42c-6fe2-441c-8c8c-71466251a162

target-m68k/op.c
target-m68k/translate.c

index 69d1fde..d483488 100644 (file)
@@ -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);
index 52f38e4..7c91760 100644 (file)
@@ -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)