rename accessor for opcodeReg() in instruction
This commit is contained in:
parent
fab6cfdf98
commit
d60b7c0919
@ -1,3 +1,73 @@
|
||||
Changes after 2.4.5 release:
|
||||
|
||||
- CPU and internal debugger
|
||||
- Implemented Process Context ID (PCID) feature
|
||||
- Implemented FS/GS BASE access instructions support
|
||||
(according to document from http://software.intel.com/en-us/avx/)
|
||||
- Bugfixes for CPU emulation correctness and stability
|
||||
- Fixed failures on Big Endian hosts !
|
||||
- Print detailed page walk information and attributes in
|
||||
internal debugger 'page' command
|
||||
- Updated/Fixed instrumentation callbacks
|
||||
|
||||
- Configure and compile
|
||||
- Added ability to configure CPUID stepping through .bochsrc.
|
||||
The default stepping value is 3.
|
||||
- Added ability to disable MONITOR/MWAIT support through .bochsrc
|
||||
CPUID option. The option is available only if compiled with
|
||||
--enable-monitor-mwait configure option.
|
||||
- Determine and select max physical address size automatically at
|
||||
configure time:
|
||||
- 32-bit physical address for 386/486 guests
|
||||
- 36-bit physical address for PSE-36 enabled Pentium guest
|
||||
- 40-bit physical address for PAE enabled P6 or later guests
|
||||
- Update config.guess/config.sub scripts to May 2010 revisions.
|
||||
- Added Bochs compilation timestamp after Bochs version string.
|
||||
|
||||
- GUI and display libraries (Volker)
|
||||
- Added new .bochsrc option to select mouse capture toggle method.
|
||||
In addition to the default Bochs method using the CTRL key and the
|
||||
middle mouse button there are now the choices:
|
||||
- CTRL+F10 (like DOSBox)
|
||||
- CTRL+ALT (like QEMU)
|
||||
- F12 (replaces win32 'legacyF12' option)
|
||||
|
||||
- ROM BIOS
|
||||
- Support for up to 2M ROM BIOS images
|
||||
|
||||
- I/O Devices
|
||||
- Fixes for emulated DHCP in eth_vnet (patch from @SF tracker)
|
||||
- Added write protect option for floppy drives (based on @SF patch by Ben Lunt)
|
||||
|
||||
- SF patches applied
|
||||
[1539417] write protect for floppy drives by Ben Lunt
|
||||
[2862322] fixes for emulated DHCP in eth_vnet
|
||||
|
||||
- these S.F. bugs were closed/fixed
|
||||
[3111577] No "back" option in log settings
|
||||
[3108422] Timing window in NE2K emulation
|
||||
[3084390] Bochs won't load floppy plugin right on startup
|
||||
[3043174] Docbook use of '_' build failure
|
||||
[3085140] Ia_arpl_Ew_Rw definition of error
|
||||
[3078995] ROL/ROR/SHL/SHR modeling wrong when dest reg is 32 bit
|
||||
[2864794] BX_INSTR_OPCODE in "cpu_loop" causes crash in x86_64 host
|
||||
[2884071] [AIX host] prefetch: EIP [00010000] > CS.limit [0000ffff]
|
||||
[3053542] 64 bit mode: far-jmp instruction is error
|
||||
[3011112] error compile vs2008/2010 with X2APIC
|
||||
[3002017] compile error with vs 2010
|
||||
[3009767] guest RFLAGS.IF blocks externel interrupt in VMX guest mode
|
||||
[2964655] VMX not enabled in MSR IA32_FEATURE_CONTROL
|
||||
[3005865] IDT show bug
|
||||
[3001637] CMOS MAP register meaning error
|
||||
[2994370] Cannot build with 3DNow support
|
||||
|
||||
- these S.F. feature requests were closed/implemented
|
||||
[1062553] select mouse (de)activation in bochsrc
|
||||
[2930633] legacy mouse capture key : not specific enough
|
||||
[2930679] Let user change mouse capture control key
|
||||
[2803538] Show flags for pages when using "info tab"
|
||||
|
||||
-------------------------------------------------------------------------
|
||||
Changes in 2.4.5 (April 25, 2010):
|
||||
|
||||
Brief summary :
|
||||
|
@ -1,8 +1,8 @@
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id: access.cc,v 1.128 2010-10-18 22:19:44 sshwarts Exp $
|
||||
// $Id: access.cc,v 1.129 2010-12-06 21:45:56 sshwarts Exp $
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2005-2009 The Bochs Project
|
||||
// Copyright (C) 2005-2010 The Bochs Project
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -1,8 +1,8 @@
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id: access32.cc,v 1.29 2010-05-02 17:01:15 sshwarts Exp $
|
||||
// $Id: access32.cc,v 1.30 2010-12-06 21:45:56 sshwarts Exp $
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (c) 2008-2009 Stanislav Shwartsman
|
||||
// Copyright (c) 2008-2010 Stanislav Shwartsman
|
||||
// Written by Stanislav Shwartsman [sshwarts at sourceforge net]
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
|
@ -1,8 +1,8 @@
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id: access64.cc,v 1.27 2010-03-14 15:51:26 sshwarts Exp $
|
||||
// $Id: access64.cc,v 1.28 2010-12-06 21:45:56 sshwarts Exp $
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (c) 2008-2009 Stanislav Shwartsman
|
||||
// Copyright (c) 2008-2010 Stanislav Shwartsman
|
||||
// Written by Stanislav Shwartsman [sshwarts at sourceforge net]
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
|
@ -1,5 +1,5 @@
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id: arith16.cc,v 1.74 2010-02-26 11:44:50 sshwarts Exp $
|
||||
// $Id: arith16.cc,v 1.75 2010-12-06 21:45:56 sshwarts Exp $
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2001-2009 The Bochs Project
|
||||
@ -26,13 +26,13 @@
|
||||
|
||||
void BX_CPP_AttrRegparmN(1) BX_CPU_C::INC_RX(bxInstruction_c *i)
|
||||
{
|
||||
Bit16u rx = ++BX_READ_16BIT_REG(i->opcodeReg());
|
||||
Bit16u rx = ++BX_READ_16BIT_REG(i->rm());
|
||||
SET_FLAGS_OSZAPC_INC_16(rx);
|
||||
}
|
||||
|
||||
void BX_CPP_AttrRegparmN(1) BX_CPU_C::DEC_RX(bxInstruction_c *i)
|
||||
{
|
||||
Bit16u rx = --BX_READ_16BIT_REG(i->opcodeReg());
|
||||
Bit16u rx = --BX_READ_16BIT_REG(i->rm());
|
||||
SET_FLAGS_OSZAPC_DEC_16(rx);
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id: arith32.cc,v 1.86 2010-03-14 15:51:26 sshwarts Exp $
|
||||
// $Id: arith32.cc,v 1.87 2010-12-06 21:45:56 sshwarts Exp $
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2001-2009 The Bochs Project
|
||||
@ -32,16 +32,16 @@
|
||||
|
||||
void BX_CPP_AttrRegparmN(1) BX_CPU_C::INC_ERX(bxInstruction_c *i)
|
||||
{
|
||||
Bit32u erx = ++BX_READ_32BIT_REG(i->opcodeReg());
|
||||
Bit32u erx = ++BX_READ_32BIT_REG(i->rm());
|
||||
SET_FLAGS_OSZAPC_INC_32(erx);
|
||||
BX_CLEAR_64BIT_HIGH(i->opcodeReg());
|
||||
BX_CLEAR_64BIT_HIGH(i->rm());
|
||||
}
|
||||
|
||||
void BX_CPP_AttrRegparmN(1) BX_CPU_C::DEC_ERX(bxInstruction_c *i)
|
||||
{
|
||||
Bit32u erx = --BX_READ_32BIT_REG(i->opcodeReg());
|
||||
Bit32u erx = --BX_READ_32BIT_REG(i->rm());
|
||||
SET_FLAGS_OSZAPC_DEC_32(erx);
|
||||
BX_CLEAR_64BIT_HIGH(i->opcodeReg());
|
||||
BX_CLEAR_64BIT_HIGH(i->rm());
|
||||
}
|
||||
|
||||
void BX_CPP_AttrRegparmN(1) BX_CPU_C::ADD_EdGdM(bxInstruction_c *i)
|
||||
|
@ -1,5 +1,5 @@
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id: bit.cc,v 1.69 2010-09-20 20:43:16 sshwarts Exp $
|
||||
// $Id: bit.cc,v 1.70 2010-12-06 21:45:56 sshwarts Exp $
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2001-2009 The Bochs Project
|
||||
@ -239,22 +239,22 @@ void BX_CPP_AttrRegparmN(1) BX_CPU_C::SETNLE_EbR(bxInstruction_c *i)
|
||||
void BX_CPP_AttrRegparmN(1) BX_CPU_C::BSWAP_RX(bxInstruction_c *i)
|
||||
{
|
||||
BX_ERROR(("BSWAP with 16-bit opsize: undefined behavior !"));
|
||||
BX_WRITE_16BIT_REG(i->opcodeReg(), 0);
|
||||
BX_WRITE_16BIT_REG(i->rm(), 0);
|
||||
}
|
||||
|
||||
void BX_CPP_AttrRegparmN(1) BX_CPU_C::BSWAP_ERX(bxInstruction_c *i)
|
||||
{
|
||||
Bit32u val32 = BX_READ_32BIT_REG(i->opcodeReg());
|
||||
Bit32u val32 = BX_READ_32BIT_REG(i->rm());
|
||||
|
||||
BX_WRITE_32BIT_REGZ(i->opcodeReg(), bx_bswap32(val32));
|
||||
BX_WRITE_32BIT_REGZ(i->rm(), bx_bswap32(val32));
|
||||
}
|
||||
|
||||
#if BX_SUPPORT_X86_64
|
||||
void BX_CPP_AttrRegparmN(1) BX_CPU_C::BSWAP_RRX(bxInstruction_c *i)
|
||||
{
|
||||
Bit64u val64 = BX_READ_64BIT_REG(i->opcodeReg());
|
||||
Bit64u val64 = BX_READ_64BIT_REG(i->rm());
|
||||
|
||||
BX_WRITE_64BIT_REG(i->opcodeReg(), bx_bswap64(val64));
|
||||
BX_WRITE_64BIT_REG(i->rm(), bx_bswap64(val64));
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id: data_xfer16.cc,v 1.69 2010-05-02 15:11:39 sshwarts Exp $
|
||||
// $Id: data_xfer16.cc,v 1.70 2010-12-06 21:45:56 sshwarts Exp $
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2001-2009 The Bochs Project
|
||||
@ -26,14 +26,14 @@
|
||||
|
||||
void BX_CPP_AttrRegparmN(1) BX_CPU_C::MOV_RXIw(bxInstruction_c *i)
|
||||
{
|
||||
BX_WRITE_16BIT_REG(i->opcodeReg(), i->Iw());
|
||||
BX_WRITE_16BIT_REG(i->rm(), i->Iw());
|
||||
}
|
||||
|
||||
void BX_CPP_AttrRegparmN(1) BX_CPU_C::XCHG_RXAX(bxInstruction_c *i)
|
||||
{
|
||||
Bit16u temp16 = AX;
|
||||
AX = BX_READ_16BIT_REG(i->opcodeReg());
|
||||
BX_WRITE_16BIT_REG(i->opcodeReg(), temp16);
|
||||
AX = BX_READ_16BIT_REG(i->rm());
|
||||
BX_WRITE_16BIT_REG(i->rm(), temp16);
|
||||
}
|
||||
|
||||
void BX_CPP_AttrRegparmN(1) BX_CPU_C::MOV_EwGwM(bxInstruction_c *i)
|
||||
|
@ -1,5 +1,5 @@
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id: data_xfer32.cc,v 1.66 2010-02-26 11:44:50 sshwarts Exp $
|
||||
// $Id: data_xfer32.cc,v 1.67 2010-12-06 21:45:56 sshwarts Exp $
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2001-2009 The Bochs Project
|
||||
@ -32,18 +32,18 @@
|
||||
void BX_CPP_AttrRegparmN(1) BX_CPU_C::XCHG_ERXEAX(bxInstruction_c *i)
|
||||
{
|
||||
#if BX_SUPPORT_X86_64
|
||||
if (i->opcodeReg() == 0) // 'xchg eax, eax' is NOP even in 64-bit mode
|
||||
if (i->rm() == 0) // 'xchg eax, eax' is NOP even in 64-bit mode
|
||||
return;
|
||||
#endif
|
||||
|
||||
Bit32u temp32 = EAX;
|
||||
RAX = BX_READ_32BIT_REG(i->opcodeReg());
|
||||
BX_WRITE_32BIT_REGZ(i->opcodeReg(), temp32);
|
||||
RAX = BX_READ_32BIT_REG(i->rm());
|
||||
BX_WRITE_32BIT_REGZ(i->rm(), temp32);
|
||||
}
|
||||
|
||||
void BX_CPP_AttrRegparmN(1) BX_CPU_C::MOV_ERXId(bxInstruction_c *i)
|
||||
{
|
||||
BX_WRITE_32BIT_REGZ(i->opcodeReg(), i->Id());
|
||||
BX_WRITE_32BIT_REGZ(i->rm(), i->Id());
|
||||
}
|
||||
|
||||
void BX_CPP_AttrRegparmN(1) BX_CPU_C::MOV32_EdGdM(bxInstruction_c *i)
|
||||
|
@ -1,5 +1,5 @@
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id: data_xfer64.cc,v 1.44 2009-12-04 16:53:12 sshwarts Exp $
|
||||
// $Id: data_xfer64.cc,v 1.45 2010-12-06 21:45:56 sshwarts Exp $
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2001-2009 The Bochs Project
|
||||
@ -29,13 +29,13 @@
|
||||
void BX_CPP_AttrRegparmN(1) BX_CPU_C::XCHG_RRXRAX(bxInstruction_c *i)
|
||||
{
|
||||
Bit64u temp64 = RAX;
|
||||
RAX = BX_READ_64BIT_REG(i->opcodeReg());
|
||||
BX_WRITE_64BIT_REG(i->opcodeReg(), temp64);
|
||||
RAX = BX_READ_64BIT_REG(i->rm());
|
||||
BX_WRITE_64BIT_REG(i->rm(), temp64);
|
||||
}
|
||||
|
||||
void BX_CPP_AttrRegparmN(1) BX_CPU_C::MOV_RRXIq(bxInstruction_c *i)
|
||||
{
|
||||
BX_WRITE_64BIT_REG(i->opcodeReg(), i->Iq());
|
||||
BX_WRITE_64BIT_REG(i->rm(), i->Iq());
|
||||
}
|
||||
|
||||
void BX_CPP_AttrRegparmN(1) BX_CPU_C::MOV64_GdEdM(bxInstruction_c *i)
|
||||
|
@ -1,5 +1,5 @@
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id: data_xfer8.cc,v 1.47 2010-09-24 21:15:16 sshwarts Exp $
|
||||
// $Id: data_xfer8.cc,v 1.48 2010-12-06 21:45:56 sshwarts Exp $
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2001-2009 The Bochs Project
|
||||
@ -26,12 +26,12 @@
|
||||
|
||||
void BX_CPP_AttrRegparmN(1) BX_CPU_C::MOV_RLIb(bxInstruction_c *i)
|
||||
{
|
||||
BX_WRITE_8BIT_REGx(i->opcodeReg(), i->extend8bitL(), i->Ib());
|
||||
BX_WRITE_8BIT_REGx(i->rm(), i->extend8bitL(), i->Ib());
|
||||
}
|
||||
|
||||
void BX_CPP_AttrRegparmN(1) BX_CPU_C::MOV_RHIb(bxInstruction_c *i)
|
||||
{
|
||||
BX_WRITE_8BIT_REGH(i->opcodeReg() & 0x03, i->Ib());
|
||||
BX_WRITE_8BIT_REGH(i->rm() & 0x03, i->Ib());
|
||||
}
|
||||
|
||||
void BX_CPP_AttrRegparmN(1) BX_CPU_C::MOV_EbGbM(bxInstruction_c *i)
|
||||
|
@ -1,5 +1,5 @@
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id: fetchdecode.cc,v 1.281 2010-10-18 22:19:45 sshwarts Exp $
|
||||
// $Id: fetchdecode.cc,v 1.282 2010-12-06 21:45:56 sshwarts Exp $
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2001-2010 The Bochs Project
|
||||
@ -2669,7 +2669,7 @@ modrm_done:
|
||||
OpcodeInfoPtr = &(OpcodeInfoPtr->AnotherArray[sse_prefix-1]);
|
||||
|
||||
ia_opcode = OpcodeInfoPtr->IA;
|
||||
i->setOpcodeReg(b1 & 7);
|
||||
i->setRm(b1 & 7);
|
||||
}
|
||||
|
||||
if (lock) { // lock prefix invalid opcode
|
||||
|
@ -1,5 +1,5 @@
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id: fetchdecode64.cc,v 1.277 2010-10-18 22:19:45 sshwarts Exp $
|
||||
// $Id: fetchdecode64.cc,v 1.278 2010-12-06 21:45:56 sshwarts Exp $
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2001-2010 The Bochs Project
|
||||
@ -3608,7 +3608,7 @@ modrm_done:
|
||||
OpcodeInfoPtr = &(OpcodeInfoPtr->AnotherArray[sse_prefix-1]);
|
||||
|
||||
ia_opcode = OpcodeInfoPtr->IA;
|
||||
i->setOpcodeReg((b1 & 7) | rex_b);
|
||||
i->setRm((b1 & 7) | rex_b);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id: instr.h,v 1.30 2010-10-18 22:19:45 sshwarts Exp $
|
||||
// $Id: instr.h,v 1.31 2010-12-06 21:45:56 sshwarts Exp $
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (c) 2008-2009 Stanislav Shwartsman
|
||||
// Copyright (c) 2008-2010 Stanislav Shwartsman
|
||||
// Written by Stanislav Shwartsman [sshwarts at sourceforge net]
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
@ -116,14 +116,6 @@ public:
|
||||
BX_CPP_INLINE void setB1(unsigned b1) {
|
||||
metaData[BX_INSTR_METADATA_B1] = b1 & 0xff;
|
||||
}
|
||||
BX_CPP_INLINE void setOpcodeReg(unsigned opreg) {
|
||||
// The opcodeReg form (low 3 bits of the opcode byte
|
||||
// (extended by REX.B on x86-64)
|
||||
metaData[BX_INSTR_METADATA_RM] = opreg;
|
||||
}
|
||||
BX_CPP_INLINE unsigned opcodeReg() const {
|
||||
return metaData[BX_INSTR_METADATA_RM];
|
||||
}
|
||||
BX_CPP_INLINE void setModRM(unsigned modrm) {
|
||||
metaData[BX_INSTR_METADATA_MODRM] = modrm;
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id: stack16.cc,v 1.47 2009-12-04 16:53:12 sshwarts Exp $
|
||||
// $Id: stack16.cc,v 1.48 2010-12-06 21:45:56 sshwarts Exp $
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2001-2009 The Bochs Project
|
||||
@ -31,7 +31,7 @@
|
||||
|
||||
void BX_CPP_AttrRegparmN(1) BX_CPU_C::PUSH_RX(bxInstruction_c *i)
|
||||
{
|
||||
push_16(BX_READ_16BIT_REG(i->opcodeReg()));
|
||||
push_16(BX_READ_16BIT_REG(i->rm()));
|
||||
}
|
||||
|
||||
void BX_CPP_AttrRegparmN(1) BX_CPU_C::PUSH16_CS(bxInstruction_c *i)
|
||||
@ -123,7 +123,7 @@ void BX_CPP_AttrRegparmN(1) BX_CPU_C::POP16_SS(bxInstruction_c *i)
|
||||
|
||||
void BX_CPP_AttrRegparmN(1) BX_CPU_C::POP_RX(bxInstruction_c *i)
|
||||
{
|
||||
BX_WRITE_16BIT_REG(i->opcodeReg(), pop_16());
|
||||
BX_WRITE_16BIT_REG(i->rm(), pop_16());
|
||||
}
|
||||
|
||||
void BX_CPP_AttrRegparmN(1) BX_CPU_C::POP_EwM(bxInstruction_c *i)
|
||||
|
@ -1,5 +1,5 @@
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id: stack32.cc,v 1.66 2010-11-23 14:59:35 sshwarts Exp $
|
||||
// $Id: stack32.cc,v 1.67 2010-12-06 21:45:56 sshwarts Exp $
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2001-2009 The Bochs Project
|
||||
@ -47,12 +47,12 @@ void BX_CPP_AttrRegparmN(1) BX_CPU_C::POP_EdM(bxInstruction_c *i)
|
||||
|
||||
void BX_CPP_AttrRegparmN(1) BX_CPU_C::PUSH_ERX(bxInstruction_c *i)
|
||||
{
|
||||
push_32(BX_READ_32BIT_REG(i->opcodeReg()));
|
||||
push_32(BX_READ_32BIT_REG(i->rm()));
|
||||
}
|
||||
|
||||
void BX_CPP_AttrRegparmN(1) BX_CPU_C::POP_ERX(bxInstruction_c *i)
|
||||
{
|
||||
BX_WRITE_32BIT_REGZ(i->opcodeReg(), pop_32());
|
||||
BX_WRITE_32BIT_REGZ(i->rm(), pop_32());
|
||||
}
|
||||
|
||||
void BX_CPP_AttrRegparmN(1) BX_CPU_C::PUSH32_CS(bxInstruction_c *i)
|
||||
|
@ -1,5 +1,5 @@
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id: stack64.cc,v 1.47 2010-04-30 09:12:52 sshwarts Exp $
|
||||
// $Id: stack64.cc,v 1.48 2010-12-06 21:45:56 sshwarts Exp $
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2001-2009 The Bochs Project
|
||||
@ -44,12 +44,12 @@ void BX_CPP_AttrRegparmN(1) BX_CPU_C::POP_EqM(bxInstruction_c *i)
|
||||
|
||||
void BX_CPP_AttrRegparmN(1) BX_CPU_C::PUSH_RRX(bxInstruction_c *i)
|
||||
{
|
||||
push_64(BX_READ_64BIT_REG(i->opcodeReg()));
|
||||
push_64(BX_READ_64BIT_REG(i->rm()));
|
||||
}
|
||||
|
||||
void BX_CPP_AttrRegparmN(1) BX_CPU_C::POP_RRX(bxInstruction_c *i)
|
||||
{
|
||||
BX_WRITE_64BIT_REG(i->opcodeReg(), pop_64());
|
||||
BX_WRITE_64BIT_REG(i->rm(), pop_64());
|
||||
}
|
||||
|
||||
void BX_CPP_AttrRegparmN(1) BX_CPU_C::PUSH64_FS(bxInstruction_c *i)
|
||||
|
@ -1,8 +1,8 @@
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id: vmx.h,v 1.32 2010-11-11 21:41:03 sshwarts Exp $
|
||||
// $Id: vmx.h,v 1.33 2010-12-06 21:45:56 sshwarts Exp $
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (c) 2009 Stanislav Shwartsman
|
||||
// Copyright (c) 2009-2010 Stanislav Shwartsman
|
||||
// Written by Stanislav Shwartsman [sshwarts at sourceforge net]
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
|
Loading…
Reference in New Issue
Block a user