imul imm8 fix - 0x82 opcode support (Hidemi KAWAI)
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>
Thu, 22 Apr 2004 21:34:25 +0000 (21:34 +0000)
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>
Thu, 22 Apr 2004 21:34:25 +0000 (21:34 +0000)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@735 c046a42c-6fe2-441c-8c8c-71466251a162

target-i386/translate-copy.c
target-i386/translate.c

index 69927915eeea2a89677116a64ed5888f42155833..500475a74ab0729d18b00504507bbb926b59ee2a 100644 (file)
@@ -389,6 +389,7 @@ static int disas_insn(DisasContext *s)
 
     case 0x80: /* GRP1 */
     case 0x81:
+    case 0x82:
     case 0x83:
         {
             if ((b & 1) == 0)
@@ -403,6 +404,7 @@ static int disas_insn(DisasContext *s)
             default:
             case 0x80:
             case 0x81:
+            case 0x82:
                 insn_get(s, ot);
                 break;
             case 0x83:
index 3ef614652e82dfa5bf3c8a348b163490a434b121..4bddba56a39c19686e3632448c4aa766e363a3f7 100644 (file)
@@ -1938,6 +1938,7 @@ static uint8_t *disas_insn(DisasContext *s, uint8_t *pc_start)
 
     case 0x80: /* GRP1 */
     case 0x81:
+    case 0x82:
     case 0x83:
         {
             int val;
@@ -1963,6 +1964,7 @@ static uint8_t *disas_insn(DisasContext *s, uint8_t *pc_start)
             default:
             case 0x80:
             case 0x81:
+            case 0x82:
                 val = insn_get(s, ot);
                 break;
             case 0x83:
@@ -2242,7 +2244,7 @@ static uint8_t *disas_insn(DisasContext *s, uint8_t *pc_start)
             val = insn_get(s, ot);
             gen_op_movl_T1_im(val);
         } else if (b == 0x6b) {
-            val = insn_get(s, OT_BYTE);
+            val = (int8_t)insn_get(s, OT_BYTE);
             gen_op_movl_T1_im(val);
         } else {
             gen_op_mov_TN_reg[ot][1][reg]();