]> Git Repo - qemu.git/commitdiff
Fix division by zero handling, by Joris van Rantwijk.
authorths <ths@c046a42c-6fe2-441c-8c8c-71466251a162>
Sat, 23 Jun 2007 18:21:26 +0000 (18:21 +0000)
committerths <ths@c046a42c-6fe2-441c-8c8c-71466251a162>
Sat, 23 Jun 2007 18:21:26 +0000 (18:21 +0000)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3012 c046a42c-6fe2-441c-8c8c-71466251a162

target-i386/translate.c

index 96e72c9dd81ac55aca4cf21b9be3f4f35f9d5533..393db0d65e369ca049d207d938c674506fe5dc98 100644 (file)
@@ -5327,8 +5327,12 @@ static target_ulong disas_insn(DisasContext *s, target_ulong pc_start)
         if (CODE64(s))
             goto illegal_op;
         val = ldub_code(s->pc++);
-        gen_op_aam(val);
-        s->cc_op = CC_OP_LOGICB;
+        if (val == 0) {
+            gen_exception(s, EXCP00_DIVZ, pc_start - s->cs_base);
+        } else {
+            gen_op_aam(val);
+            s->cc_op = CC_OP_LOGICB;
+        }
         break;
     case 0xd5: /* aad */
         if (CODE64(s))
This page took 0.04199 seconds and 4 git commands to generate.