diff options
Diffstat (limited to 'target-i386')
-rw-r--r-- | target-i386/translate-copy.c | 2 | ||||
-rw-r--r-- | target-i386/translate.c | 4 |
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](); |