aboutsummaryrefslogtreecommitdiff
path: root/target-i386
diff options
context:
space:
mode:
Diffstat (limited to 'target-i386')
-rw-r--r--target-i386/translate-copy.c2
-rw-r--r--target-i386/translate.c4
2 files changed, 5 insertions, 1 deletions
diff --git a/target-i386/translate-copy.c b/target-i386/translate-copy.c
index 69927915ee..500475a74a 100644
--- a/target-i386/translate-copy.c
+++ b/target-i386/translate-copy.c
@@ -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:
diff --git a/target-i386/translate.c b/target-i386/translate.c
index 3ef614652e..4bddba56a3 100644
--- a/target-i386/translate.c
+++ b/target-i386/translate.c
@@ -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]();