diff --git a/bochs/cpu/ctrl_xfer16.cc b/bochs/cpu/ctrl_xfer16.cc index faaa0de83..fa8eb4095 100644 --- a/bochs/cpu/ctrl_xfer16.cc +++ b/bochs/cpu/ctrl_xfer16.cc @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// $Id: ctrl_xfer16.cc,v 1.21 2004-05-10 21:05:47 sshwarts Exp $ +// $Id: ctrl_xfer16.cc,v 1.22 2004-10-19 20:05:07 sshwarts Exp $ ///////////////////////////////////////////////////////////////////////// // // Copyright (C) 2001 MandrakeSoft S.A. @@ -175,7 +175,7 @@ BailBigRSP("CALL_Aw"); #if BX_CPU_LEVEL >= 2 if ( protected_mode() && (new_EIP > BX_CPU_THIS_PTR sregs[BX_SEG_REG_CS].cache.u.segment.limit_scaled) ) { - BX_PANIC(("call_av: new_IP > BX_CPU_THIS_PTR sregs[BX_SEG_REG_CS].limit")); + BX_PANIC(("call_aw: new_IP > BX_CPU_THIS_PTR sregs[BX_SEG_REG_CS].limit")); exception(BX_GP_EXCEPTION, 0, 0); } #endif @@ -243,7 +243,7 @@ BailBigRSP("CALL_Ew"); if (protected_mode()) { if (op1_16 > BX_CPU_THIS_PTR sregs[BX_SEG_REG_CS].cache.u.segment.limit_scaled) { - BX_PANIC(("call_ev: IP out of CS limits!")); + BX_PANIC(("call_ew: IP out of CS limits!")); exception(BX_GP_EXCEPTION, 0, 0); } } @@ -349,9 +349,7 @@ BailBigRSP("JCC_Jw"); } if (condition) { - Bit32u new_EIP; - - new_EIP = EIP + (Bit32s) i->Id(); + Bit32u new_EIP = EIP + (Bit32s) i->Id(); new_EIP &= 0x0000ffff; #if BX_CPU_LEVEL >= 2 if (protected_mode()) { @@ -378,9 +376,7 @@ BX_CPU_C::JZ_Jw(bxInstruction_c *i) { BailBigRSP("JZ_Jw"); if (get_ZF()) { - Bit32u new_EIP; - - new_EIP = EIP + (Bit32s) i->Id(); + Bit32u new_EIP = EIP + (Bit32s) i->Id(); new_EIP &= 0x0000ffff; #if BX_CPU_LEVEL >= 2 if (protected_mode()) { @@ -407,9 +403,7 @@ BX_CPU_C::JNZ_Jw(bxInstruction_c *i) { BailBigRSP("JNZ_Jw"); if (!get_ZF()) { - Bit32u new_EIP; - - new_EIP = EIP + (Bit32s) i->Id(); + Bit32u new_EIP = EIP + (Bit32s) i->Id(); new_EIP &= 0x0000ffff; #if BX_CPU_LEVEL >= 2 if (protected_mode()) { @@ -526,7 +520,6 @@ BailBigRSP("IRET16"); } #endif - pop_16(&ip); pop_16(&cs_raw); pop_16(&flags); diff --git a/bochs/cpu/ctrl_xfer32.cc b/bochs/cpu/ctrl_xfer32.cc index 354b53073..556786c6d 100644 --- a/bochs/cpu/ctrl_xfer32.cc +++ b/bochs/cpu/ctrl_xfer32.cc @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// $Id: ctrl_xfer32.cc,v 1.29 2004-05-10 21:05:47 sshwarts Exp $ +// $Id: ctrl_xfer32.cc,v 1.30 2004-10-19 20:05:07 sshwarts Exp $ ///////////////////////////////////////////////////////////////////////// // // Copyright (C) 2001 MandrakeSoft S.A. @@ -276,7 +276,6 @@ done: BX_CPU_C::CALL_Ed(bxInstruction_c *i) { BailBigRSP("CALL_Ed"); - Bit32u temp_ESP; Bit32u op1_32; //invalidate_prefetch_q(); @@ -285,12 +284,6 @@ BailBigRSP("CALL_Ed"); BX_CPU_THIS_PTR show_flag |= Flag_call; #endif - if (BX_CPU_THIS_PTR sregs[BX_SEG_REG_SS].cache.u.segment.d_b) - temp_ESP = ESP; - else - temp_ESP = SP; - - if (i->modC0()) { op1_32 = BX_READ_32BIT_REG(i->rm()); } @@ -355,11 +348,10 @@ done: BX_CPU_C::JMP_Jd(bxInstruction_c *i) { BailBigRSP("JMP_Jd"); - Bit32u new_EIP; //invalidate_prefetch_q(); - new_EIP = EIP + (Bit32s) i->Id(); + Bit32u new_EIP = EIP + (Bit32s) i->Id(); #if BX_CPU_LEVEL >= 2 if (protected_mode()) { @@ -406,9 +398,8 @@ BX_CPU_C::JCC_Jd(bxInstruction_c *i) if (condition) { BailBigRSP("JCC_Jd"); - Bit32u new_EIP; - new_EIP = EIP + (Bit32s) i->Id(); + Bit32u new_EIP = EIP + (Bit32s) i->Id(); #if BX_CPU_LEVEL >= 2 if (protected_mode()) { if ( new_EIP > @@ -435,9 +426,7 @@ BX_CPU_C::JZ_Jd(bxInstruction_c *i) { BailBigRSP("JZ_Jd"); if (get_ZF()) { - Bit32u new_EIP; - - new_EIP = EIP + (Bit32s) i->Id(); + Bit32u new_EIP = EIP + (Bit32s) i->Id(); #if BX_CPU_LEVEL >= 2 if (protected_mode()) { if ( new_EIP > @@ -463,9 +452,7 @@ BX_CPU_C::JNZ_Jd(bxInstruction_c *i) { BailBigRSP("JNZ_Jd"); if (!get_ZF()) { - Bit32u new_EIP; - - new_EIP = EIP + (Bit32s) i->Id(); + Bit32u new_EIP = EIP + (Bit32s) i->Id(); #if BX_CPU_LEVEL >= 2 if (protected_mode()) { if ( new_EIP > @@ -518,9 +505,6 @@ done: BX_CPU_THIS_PTR sregs[BX_SEG_REG_CS].selector.value, EIP); } - - - void BX_CPU_C::JMP_Ed(bxInstruction_c *i) { diff --git a/bochs/cpu/ctrl_xfer64.cc b/bochs/cpu/ctrl_xfer64.cc index 18573aedf..c8a374012 100644 --- a/bochs/cpu/ctrl_xfer64.cc +++ b/bochs/cpu/ctrl_xfer64.cc @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// $Id: ctrl_xfer64.cc,v 1.24 2004-05-10 21:05:47 sshwarts Exp $ +// $Id: ctrl_xfer64.cc,v 1.25 2004-10-19 20:05:07 sshwarts Exp $ ///////////////////////////////////////////////////////////////////////// // // Copyright (C) 2001 MandrakeSoft S.A. @@ -210,7 +210,6 @@ done: void BX_CPU_C::CALL_Eq(bxInstruction_c *i) { - Bit64u temp_RSP; Bit64u op1_64; //invalidate_prefetch_q(); @@ -219,8 +218,6 @@ BX_CPU_C::CALL_Eq(bxInstruction_c *i) BX_CPU_THIS_PTR show_flag |= Flag_call; #endif - temp_RSP = RSP; - if (i->modC0()) { op1_64 = BX_READ_64BIT_REG(i->rm()); } @@ -314,7 +311,6 @@ BX_CPU_C::JCC_Jq(bxInstruction_c *i) } if (condition) { - RIP += (Bit32s) i->Id(); if (i->os32L()==0) RIP &= 0xffff; // For 16-bit opSize, upper 48 bits of RIP are cleared. @@ -437,7 +433,6 @@ BX_CPU_C::JCXZ64_Jb(bxInstruction_c *i) BX_CPU_C::LOOPNE64_Jb(bxInstruction_c *i) { if (i->as64L()) { - if ( ((--RCX)!=0) && (get_ZF()==0) ) { RIP += (Bit32s) i->Id(); if (i->os32L()==0) @@ -471,7 +466,6 @@ BX_CPU_C::LOOPNE64_Jb(bxInstruction_c *i) BX_CPU_C::LOOPE64_Jb(bxInstruction_c *i) { if (i->as64L()) { - if ( ((--RCX)!=0) && (get_ZF()) ) { RIP += (Bit32s) i->Id(); if (i->os32L()==0)