/[qemu]/qemu/target-i386/translate.c
ViewVC logotype

Diff of /qemu/target-i386/translate.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.6 by bellard, Thu Nov 13 02:48:18 2003 UTC revision 1.7 by bellard, Thu Nov 13 23:09:07 2003 UTC
# Line 2304  static uint8_t *disas_insn(DisasContext Line 2304  static uint8_t *disas_insn(DisasContext
2304      case 0x58 ... 0x5f: /* pop */      case 0x58 ... 0x5f: /* pop */
2305          ot = dflag ? OT_LONG : OT_WORD;          ot = dflag ? OT_LONG : OT_WORD;
2306          gen_pop_T0(s);          gen_pop_T0(s);
2307          gen_op_mov_reg_T0[ot][b & 7]();          /* NOTE: order is important for pop %sp */
2308          gen_pop_update(s);          gen_pop_update(s);
2309            gen_op_mov_reg_T0[ot][b & 7]();
2310          break;          break;
2311      case 0x60: /* pusha */      case 0x60: /* pusha */
2312          gen_pusha(s);          gen_pusha(s);
# Line 2326  static uint8_t *disas_insn(DisasContext Line 2327  static uint8_t *disas_insn(DisasContext
2327      case 0x8f: /* pop Ev */      case 0x8f: /* pop Ev */
2328          ot = dflag ? OT_LONG : OT_WORD;          ot = dflag ? OT_LONG : OT_WORD;
2329          modrm = ldub_code(s->pc++);          modrm = ldub_code(s->pc++);
2330            mod = (modrm >> 6) & 3;
2331          gen_pop_T0(s);          gen_pop_T0(s);
2332          s->popl_esp_hack = 2 << dflag;          if (mod == 3) {
2333          gen_ldst_modrm(s, modrm, ot, OR_TMP0, 1);              /* NOTE: order is important for pop %sp */
2334          s->popl_esp_hack = 0;              gen_pop_update(s);
2335          gen_pop_update(s);              rm = modrm & 7;
2336                gen_op_mov_reg_T0[ot][rm]();
2337            } else {
2338                /* NOTE: order is important too for MMU exceptions */
2339                s->popl_esp_hack = 2 << dflag;
2340                gen_ldst_modrm(s, modrm, ot, OR_TMP0, 1);
2341                s->popl_esp_hack = 0;
2342                gen_pop_update(s);
2343            }
2344          break;          break;
2345      case 0xc8: /* enter */      case 0xc8: /* enter */
2346          {          {

Legend:
Removed from v.1.6  
changed lines
  Added in v.1.7

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26