diff --git a/target-i386/translate.c b/target-i386/translate.c index 64bc0a3f39d9ac65f49af472e0819ac20dfe32c5..511a4eae9bf36d186beb5353d5aa7f6037b1ab99 100644 --- a/target-i386/translate.c +++ b/target-i386/translate.c @@ -6259,6 +6259,8 @@ static target_ulong disas_insn(DisasContext *s, target_ulong pc_start) tval += next_eip; if (s->dflag == 0) tval &= 0xffff; + else if(!CODE64(s)) + tval &= 0xffffffff; gen_movtl_T0_im(next_eip); gen_push_T0(s); gen_jmp(s, tval);