aboutsummaryrefslogtreecommitdiff
path: root/target-i386/translate.c
diff options
context:
space:
mode:
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2005-02-01 20:25:03 +0000
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2005-02-01 20:25:03 +0000
commit90f11f95fe41c1b0ec3c70f11f93efeec8a34611 (patch)
tree6b8d79148b4321a83fe791537d212c10bf3eb43b /target-i386/translate.c
parentfa15e030bfd9dfa00530ed1a0d5d9d315a5a591a (diff)
pusha, popa and enter fix
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1261 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-i386/translate.c')
-rw-r--r--target-i386/translate.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/target-i386/translate.c b/target-i386/translate.c
index 482642aa9c..a3005d8d53 100644
--- a/target-i386/translate.c
+++ b/target-i386/translate.c
@@ -2074,7 +2074,7 @@ static void gen_pusha(DisasContext *s)
gen_op_st_T0_A0[OT_WORD + s->dflag + s->mem_index]();
gen_op_addl_A0_im(2 << s->dflag);
}
- gen_op_mov_reg_T1[OT_WORD + s->dflag][R_ESP]();
+ gen_op_mov_reg_T1[OT_WORD + s->ss32][R_ESP]();
}
/* NOTE: wrap around in 16 bit not fully handled */
@@ -2096,7 +2096,7 @@ static void gen_popa(DisasContext *s)
}
gen_op_addl_A0_im(2 << s->dflag);
}
- gen_op_mov_reg_T1[OT_WORD + s->dflag][R_ESP]();
+ gen_op_mov_reg_T1[OT_WORD + s->ss32][R_ESP]();
}
static void gen_enter(DisasContext *s, int esp_addend, int level)
@@ -2122,7 +2122,7 @@ static void gen_enter(DisasContext *s, int esp_addend, int level)
}
gen_op_mov_reg_T1[ot][R_EBP]();
gen_op_addl_T1_im( -esp_addend + (-opsize * level) );
- gen_op_mov_reg_T1[ot][R_ESP]();
+ gen_op_mov_reg_T1[OT_WORD + s->ss32][R_ESP]();
}
static void gen_exception(DisasContext *s, int trapno, target_ulong cur_eip)