Just little cleanup of macro duplicating an existing code
This commit is contained in:
parent
48acd53db4
commit
a0c1fd60e6
@ -1,5 +1,5 @@
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id: arith16.cc,v 1.26 2002-10-25 11:44:34 bdenney Exp $
|
||||
// $Id: arith16.cc,v 1.27 2002-10-25 17:23:32 sshwarts Exp $
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2001 MandrakeSoft S.A.
|
||||
@ -82,7 +82,7 @@ BX_CPU_C::ADD_EwGw(bxInstruction_c *i)
|
||||
else {
|
||||
read_RMW_virtual_word(i->seg(), RMAddr(i), &op1_16);
|
||||
sum_16 = op1_16 + op2_16;
|
||||
Write_RMW_virtual_word(sum_16);
|
||||
write_RMW_virtual_word(sum_16);
|
||||
}
|
||||
|
||||
SET_FLAGS_OSZAPC_16(op1_16, op2_16, sum_16, BX_INSTR_ADD16);
|
||||
@ -174,7 +174,7 @@ BX_CPU_C::ADC_EwGw(bxInstruction_c *i)
|
||||
else {
|
||||
read_RMW_virtual_word(i->seg(), RMAddr(i), &op1_16);
|
||||
sum_16 = op1_16 + op2_16 + temp_CF;
|
||||
Write_RMW_virtual_word(sum_16);
|
||||
write_RMW_virtual_word(sum_16);
|
||||
}
|
||||
|
||||
SET_FLAGS_OSZAPC_16_CF(op1_16, op2_16, sum_16, BX_INSTR_ADC16,
|
||||
@ -249,7 +249,7 @@ BX_CPU_C::SBB_EwGw(bxInstruction_c *i)
|
||||
else {
|
||||
read_RMW_virtual_word(i->seg(), RMAddr(i), &op1_16);
|
||||
diff_16 = op1_16 - (op2_16 + temp_CF);
|
||||
Write_RMW_virtual_word(diff_16);
|
||||
write_RMW_virtual_word(diff_16);
|
||||
}
|
||||
|
||||
SET_FLAGS_OSZAPC_16_CF(op1_16, op2_16, diff_16, BX_INSTR_SBB16,
|
||||
@ -323,7 +323,7 @@ BX_CPU_C::SBB_EwIw(bxInstruction_c *i)
|
||||
else {
|
||||
read_RMW_virtual_word(i->seg(), RMAddr(i), &op1_16);
|
||||
diff_16 = op1_16 - (op2_16 + temp_CF);
|
||||
Write_RMW_virtual_word(diff_16);
|
||||
write_RMW_virtual_word(diff_16);
|
||||
}
|
||||
|
||||
SET_FLAGS_OSZAPC_16_CF(op1_16, op2_16, diff_16, BX_INSTR_SBB16,
|
||||
@ -360,7 +360,7 @@ BX_CPU_C::SUB_EwGw(bxInstruction_c *i)
|
||||
#else
|
||||
diff_16 = op1_16 - op2_16;
|
||||
#endif
|
||||
Write_RMW_virtual_word(diff_16);
|
||||
write_RMW_virtual_word(diff_16);
|
||||
}
|
||||
|
||||
#if !(defined(__i386__) && defined(__GNUC__) && BX_SupportHostAsms)
|
||||
@ -553,7 +553,7 @@ BX_CPU_C::XADD_EwGw(bxInstruction_c *i)
|
||||
else {
|
||||
read_RMW_virtual_word(i->seg(), RMAddr(i), &op1_16);
|
||||
sum_16 = op1_16 + op2_16;
|
||||
Write_RMW_virtual_word(sum_16);
|
||||
write_RMW_virtual_word(sum_16);
|
||||
/* and write destination into source */
|
||||
BX_WRITE_16BIT_REG(i->nnn(), op1_16);
|
||||
}
|
||||
@ -583,7 +583,7 @@ BX_CPU_C::ADD_EEwIw(bxInstruction_c *i)
|
||||
#else
|
||||
sum_16 = op1_16 + op2_16;
|
||||
#endif
|
||||
Write_RMW_virtual_word(sum_16);
|
||||
write_RMW_virtual_word(sum_16);
|
||||
|
||||
#if !(defined(__i386__) && defined(__GNUC__) && BX_SupportHostAsms)
|
||||
SET_FLAGS_OSZAPC_16(op1_16, op2_16, sum_16, BX_INSTR_ADD16);
|
||||
@ -632,7 +632,7 @@ BX_CPU_C::ADC_EwIw(bxInstruction_c *i)
|
||||
else {
|
||||
read_RMW_virtual_word(i->seg(), RMAddr(i), &op1_16);
|
||||
sum_16 = op1_16 + op2_16 + temp_CF;
|
||||
Write_RMW_virtual_word(sum_16);
|
||||
write_RMW_virtual_word(sum_16);
|
||||
}
|
||||
|
||||
SET_FLAGS_OSZAPC_16_CF(op1_16, op2_16, sum_16, BX_INSTR_ADC16,
|
||||
@ -670,7 +670,7 @@ BX_CPU_C::SUB_EwIw(bxInstruction_c *i)
|
||||
#else
|
||||
diff_16 = op1_16 - op2_16;
|
||||
#endif
|
||||
Write_RMW_virtual_word(diff_16);
|
||||
write_RMW_virtual_word(diff_16);
|
||||
}
|
||||
|
||||
#if !(defined(__i386__) && defined(__GNUC__) && BX_SupportHostAsms)
|
||||
@ -721,7 +721,7 @@ BX_CPU_C::NEG_Ew(bxInstruction_c *i)
|
||||
else {
|
||||
read_RMW_virtual_word(i->seg(), RMAddr(i), &op1_16);
|
||||
diff_16 = 0 - op1_16;
|
||||
Write_RMW_virtual_word(diff_16);
|
||||
write_RMW_virtual_word(diff_16);
|
||||
}
|
||||
|
||||
SET_FLAGS_OSZAPC_16(op1_16, 0, diff_16, BX_INSTR_NEG16);
|
||||
@ -741,7 +741,7 @@ BX_CPU_C::INC_Ew(bxInstruction_c *i)
|
||||
else {
|
||||
read_RMW_virtual_word(i->seg(), RMAddr(i), &op1_16);
|
||||
op1_16++;
|
||||
Write_RMW_virtual_word(op1_16);
|
||||
write_RMW_virtual_word(op1_16);
|
||||
}
|
||||
|
||||
SET_FLAGS_OSZAP_16(0, 0, op1_16, BX_INSTR_INC16);
|
||||
@ -775,7 +775,7 @@ BX_CPU_C::DEC_Ew(bxInstruction_c *i)
|
||||
#else
|
||||
op1_16--;
|
||||
#endif
|
||||
Write_RMW_virtual_word(op1_16);
|
||||
write_RMW_virtual_word(op1_16);
|
||||
}
|
||||
|
||||
#if !(defined(__i386__) && defined(__GNUC__) && BX_SupportHostAsms)
|
||||
@ -812,7 +812,7 @@ BX_CPU_C::CMPXCHG_EwGw(bxInstruction_c *i)
|
||||
BX_WRITE_16BIT_REG(i->rm(), op2_16);
|
||||
}
|
||||
else {
|
||||
Write_RMW_virtual_word(op2_16);
|
||||
write_RMW_virtual_word(op2_16);
|
||||
}
|
||||
}
|
||||
else {
|
||||
|
@ -1,5 +1,5 @@
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id: arith32.cc,v 1.28 2002-10-25 11:44:34 bdenney Exp $
|
||||
// $Id: arith32.cc,v 1.29 2002-10-25 17:23:33 sshwarts Exp $
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2001 MandrakeSoft S.A.
|
||||
@ -104,7 +104,7 @@ BX_CPU_C::ADD_EdGd(bxInstruction_c *i)
|
||||
else {
|
||||
read_RMW_virtual_dword(i->seg(), RMAddr(i), &op1_32);
|
||||
sum_32 = op1_32 + op2_32;
|
||||
Write_RMW_virtual_dword(sum_32);
|
||||
write_RMW_virtual_dword(sum_32);
|
||||
}
|
||||
|
||||
SET_FLAGS_OSZAPC_32(op1_32, op2_32, sum_32, BX_INSTR_ADD32);
|
||||
@ -197,7 +197,7 @@ BX_CPU_C::ADC_EdGd(bxInstruction_c *i)
|
||||
else {
|
||||
read_RMW_virtual_dword(i->seg(), RMAddr(i), &op1_32);
|
||||
sum_32 = op1_32 + op2_32 + temp_CF;
|
||||
Write_RMW_virtual_dword(sum_32);
|
||||
write_RMW_virtual_dword(sum_32);
|
||||
}
|
||||
|
||||
SET_FLAGS_OSZAPC_32_CF(op1_32, op2_32, sum_32, BX_INSTR_ADC32,
|
||||
@ -274,7 +274,7 @@ BX_CPU_C::SBB_EdGd(bxInstruction_c *i)
|
||||
else {
|
||||
read_RMW_virtual_dword(i->seg(), RMAddr(i), &op1_32);
|
||||
diff_32 = op1_32 - (op2_32 + temp_CF);
|
||||
Write_RMW_virtual_dword(diff_32);
|
||||
write_RMW_virtual_dword(diff_32);
|
||||
}
|
||||
|
||||
SET_FLAGS_OSZAPC_32_CF(op1_32, op2_32, diff_32, BX_INSTR_SBB32,
|
||||
@ -350,7 +350,7 @@ BX_CPU_C::SBB_EdId(bxInstruction_c *i)
|
||||
else {
|
||||
read_RMW_virtual_dword(i->seg(), RMAddr(i), &op1_32);
|
||||
diff_32 = op1_32 - (op2_32 + temp_CF);
|
||||
Write_RMW_virtual_dword(diff_32);
|
||||
write_RMW_virtual_dword(diff_32);
|
||||
}
|
||||
|
||||
SET_FLAGS_OSZAPC_32_CF(op1_32, op2_32, diff_32, BX_INSTR_SBB32,
|
||||
@ -373,7 +373,7 @@ BX_CPU_C::SUB_EdGd(bxInstruction_c *i)
|
||||
else {
|
||||
read_RMW_virtual_dword(i->seg(), RMAddr(i), &op1_32);
|
||||
diff_32 = op1_32 - op2_32;
|
||||
Write_RMW_virtual_dword(diff_32);
|
||||
write_RMW_virtual_dword(diff_32);
|
||||
}
|
||||
|
||||
SET_FLAGS_OSZAPC_32(op1_32, op2_32, diff_32, BX_INSTR_SUB32);
|
||||
@ -584,7 +584,7 @@ BX_CPU_C::XADD_EdGd(bxInstruction_c *i)
|
||||
else {
|
||||
read_RMW_virtual_dword(i->seg(), RMAddr(i), &op1_32);
|
||||
sum_32 = op1_32 + op2_32;
|
||||
Write_RMW_virtual_dword(sum_32);
|
||||
write_RMW_virtual_dword(sum_32);
|
||||
/* and write destination into source */
|
||||
BX_WRITE_32BIT_REGZ(i->nnn(), op1_32);
|
||||
}
|
||||
@ -616,7 +616,7 @@ BX_CPU_C::ADD_EEdId(bxInstruction_c *i)
|
||||
sum_32 = op1_32 + op2_32;
|
||||
#endif
|
||||
|
||||
Write_RMW_virtual_dword(sum_32);
|
||||
write_RMW_virtual_dword(sum_32);
|
||||
|
||||
#if !(defined(__i386__) && defined(__GNUC__) && BX_SupportHostAsms)
|
||||
SET_FLAGS_OSZAPC_32(op1_32, op2_32, sum_32, BX_INSTR_ADD32);
|
||||
@ -666,7 +666,7 @@ BX_CPU_C::ADC_EdId(bxInstruction_c *i)
|
||||
else {
|
||||
read_RMW_virtual_dword(i->seg(), RMAddr(i), &op1_32);
|
||||
sum_32 = op1_32 + op2_32 + temp_CF;
|
||||
Write_RMW_virtual_dword(sum_32);
|
||||
write_RMW_virtual_dword(sum_32);
|
||||
}
|
||||
|
||||
SET_FLAGS_OSZAPC_32_CF(op1_32, op2_32, sum_32, BX_INSTR_ADC32,
|
||||
@ -689,7 +689,7 @@ BX_CPU_C::SUB_EdId(bxInstruction_c *i)
|
||||
else {
|
||||
read_RMW_virtual_dword(i->seg(), RMAddr(i), &op1_32);
|
||||
diff_32 = op1_32 - op2_32;
|
||||
Write_RMW_virtual_dword(diff_32);
|
||||
write_RMW_virtual_dword(diff_32);
|
||||
}
|
||||
|
||||
SET_FLAGS_OSZAPC_32(op1_32, op2_32, diff_32, BX_INSTR_SUB32);
|
||||
@ -738,7 +738,7 @@ BX_CPU_C::NEG_Ed(bxInstruction_c *i)
|
||||
else {
|
||||
read_RMW_virtual_dword(i->seg(), RMAddr(i), &op1_32);
|
||||
diff_32 = 0 - op1_32;
|
||||
Write_RMW_virtual_dword(diff_32);
|
||||
write_RMW_virtual_dword(diff_32);
|
||||
}
|
||||
|
||||
SET_FLAGS_OSZAPC_32(op1_32, 0, diff_32, BX_INSTR_NEG32);
|
||||
@ -758,7 +758,7 @@ BX_CPU_C::INC_Ed(bxInstruction_c *i)
|
||||
else {
|
||||
read_RMW_virtual_dword(i->seg(), RMAddr(i), &op1_32);
|
||||
op1_32++;
|
||||
Write_RMW_virtual_dword(op1_32);
|
||||
write_RMW_virtual_dword(op1_32);
|
||||
}
|
||||
|
||||
SET_FLAGS_OSZAP_32(0, 0, op1_32, BX_INSTR_INC32);
|
||||
@ -778,7 +778,7 @@ BX_CPU_C::DEC_Ed(bxInstruction_c *i)
|
||||
else {
|
||||
read_RMW_virtual_dword(i->seg(), RMAddr(i), &op1_32);
|
||||
op1_32--;
|
||||
Write_RMW_virtual_dword(op1_32);
|
||||
write_RMW_virtual_dword(op1_32);
|
||||
}
|
||||
|
||||
SET_FLAGS_OSZAP_32(0, 0, op1_32, BX_INSTR_DEC32);
|
||||
@ -813,7 +813,7 @@ BX_CPU_C::CMPXCHG_EdGd(bxInstruction_c *i)
|
||||
BX_WRITE_32BIT_REGZ(i->rm(), op2_32);
|
||||
}
|
||||
else {
|
||||
Write_RMW_virtual_dword(op2_32);
|
||||
write_RMW_virtual_dword(op2_32);
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -851,7 +851,7 @@ BX_CPU_C::CMPXCHG8B(bxInstruction_c *i)
|
||||
// ZF = 1
|
||||
set_ZF(1);
|
||||
// dest <-- src
|
||||
Write_RMW_virtual_dword(ECX);
|
||||
write_RMW_virtual_dword(ECX);
|
||||
write_virtual_dword(i->seg(), RMAddr(i), &EBX);
|
||||
}
|
||||
else {
|
||||
|
@ -1,5 +1,5 @@
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id: arith64.cc,v 1.10 2002-10-25 11:44:34 bdenney Exp $
|
||||
// $Id: arith64.cc,v 1.11 2002-10-25 17:23:33 sshwarts Exp $
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2001 MandrakeSoft S.A.
|
||||
@ -81,7 +81,7 @@ BX_CPU_C::ADD_EqGq(bxInstruction_c *i)
|
||||
BX_WRITE_64BIT_REG(i->rm(), sum_64);
|
||||
}
|
||||
else {
|
||||
Write_RMW_virtual_qword(sum_64);
|
||||
write_RMW_virtual_qword(sum_64);
|
||||
}
|
||||
|
||||
SET_FLAGS_OSZAPC_64(op1_64, op2_64, sum_64, BX_INSTR_ADD64);
|
||||
@ -163,7 +163,7 @@ BX_CPU_C::ADC_EqGq(bxInstruction_c *i)
|
||||
BX_WRITE_64BIT_REG(i->rm(), sum_64);
|
||||
}
|
||||
else {
|
||||
Write_RMW_virtual_qword(sum_64);
|
||||
write_RMW_virtual_qword(sum_64);
|
||||
}
|
||||
|
||||
SET_FLAGS_OSZAPC_64_CF(op1_64, op2_64, sum_64, BX_INSTR_ADC64,
|
||||
@ -260,7 +260,7 @@ BX_CPU_C::SBB_EqGq(bxInstruction_c *i)
|
||||
BX_WRITE_64BIT_REG(i->rm(), diff_64);
|
||||
}
|
||||
else {
|
||||
Write_RMW_virtual_qword(diff_64);
|
||||
write_RMW_virtual_qword(diff_64);
|
||||
}
|
||||
|
||||
SET_FLAGS_OSZAPC_64_CF(op1_64, op2_64, diff_64, BX_INSTR_SBB64,
|
||||
@ -355,7 +355,7 @@ BX_CPU_C::SBB_EqId(bxInstruction_c *i)
|
||||
BX_WRITE_64BIT_REG(i->rm(), diff_64);
|
||||
}
|
||||
else {
|
||||
Write_RMW_virtual_qword(diff_64);
|
||||
write_RMW_virtual_qword(diff_64);
|
||||
}
|
||||
|
||||
SET_FLAGS_OSZAPC_64_CF(op1_64, op2_64, diff_64, BX_INSTR_SBB64,
|
||||
@ -388,7 +388,7 @@ BX_CPU_C::SUB_EqGq(bxInstruction_c *i)
|
||||
BX_WRITE_64BIT_REG(i->rm(), diff_64);
|
||||
}
|
||||
else {
|
||||
Write_RMW_virtual_qword(diff_64);
|
||||
write_RMW_virtual_qword(diff_64);
|
||||
}
|
||||
|
||||
SET_FLAGS_OSZAPC_64(op1_64, op2_64, diff_64, BX_INSTR_SUB64);
|
||||
@ -603,7 +603,7 @@ BX_CPU_C::XADD_EqGq(bxInstruction_c *i)
|
||||
BX_WRITE_64BIT_REG(i->rm(), sum_64);
|
||||
}
|
||||
else {
|
||||
Write_RMW_virtual_qword(sum_64);
|
||||
write_RMW_virtual_qword(sum_64);
|
||||
/* and write destination into source */
|
||||
BX_WRITE_64BIT_REG(i->nnn(), op1_64);
|
||||
}
|
||||
@ -641,7 +641,7 @@ BX_CPU_C::ADD_EqId(bxInstruction_c *i)
|
||||
BX_WRITE_64BIT_REG(i->rm(), sum_64);
|
||||
}
|
||||
else {
|
||||
Write_RMW_virtual_qword(sum_64);
|
||||
write_RMW_virtual_qword(sum_64);
|
||||
}
|
||||
|
||||
SET_FLAGS_OSZAPC_64(op1_64, op2_64, sum_64, BX_INSTR_ADD64);
|
||||
@ -675,7 +675,7 @@ BX_CPU_C::ADC_EqId(bxInstruction_c *i)
|
||||
BX_WRITE_64BIT_REG(i->rm(), sum_64);
|
||||
}
|
||||
else {
|
||||
Write_RMW_virtual_qword(sum_64);
|
||||
write_RMW_virtual_qword(sum_64);
|
||||
}
|
||||
|
||||
SET_FLAGS_OSZAPC_64_CF(op1_64, op2_64, sum_64, BX_INSTR_ADC64,
|
||||
@ -707,7 +707,7 @@ BX_CPU_C::SUB_EqId(bxInstruction_c *i)
|
||||
BX_WRITE_64BIT_REG(i->rm(), diff_64);
|
||||
}
|
||||
else {
|
||||
Write_RMW_virtual_qword(diff_64);
|
||||
write_RMW_virtual_qword(diff_64);
|
||||
}
|
||||
|
||||
SET_FLAGS_OSZAPC_64(op1_64, op2_64, diff_64, BX_INSTR_SUB64);
|
||||
@ -760,7 +760,7 @@ BX_CPU_C::NEG_Eq(bxInstruction_c *i)
|
||||
BX_WRITE_64BIT_REG(i->rm(), diff_64);
|
||||
}
|
||||
else {
|
||||
Write_RMW_virtual_qword(diff_64);
|
||||
write_RMW_virtual_qword(diff_64);
|
||||
}
|
||||
|
||||
SET_FLAGS_OSZAPC_64(op1_64, 0, diff_64, BX_INSTR_NEG64);
|
||||
@ -788,7 +788,7 @@ BX_CPU_C::INC_Eq(bxInstruction_c *i)
|
||||
BX_WRITE_64BIT_REG(i->rm(), op1_64);
|
||||
}
|
||||
else {
|
||||
Write_RMW_virtual_qword(op1_64);
|
||||
write_RMW_virtual_qword(op1_64);
|
||||
}
|
||||
|
||||
SET_FLAGS_OSZAP_64(0, 0, op1_64, BX_INSTR_INC64);
|
||||
@ -816,7 +816,7 @@ BX_CPU_C::DEC_Eq(bxInstruction_c *i)
|
||||
BX_WRITE_64BIT_REG(i->rm(), op1_64);
|
||||
}
|
||||
else {
|
||||
Write_RMW_virtual_qword(op1_64);
|
||||
write_RMW_virtual_qword(op1_64);
|
||||
}
|
||||
|
||||
SET_FLAGS_OSZAP_64(0, 0, op1_64, BX_INSTR_DEC64);
|
||||
@ -853,7 +853,7 @@ BX_CPU_C::CMPXCHG_EqGq(bxInstruction_c *i)
|
||||
BX_WRITE_64BIT_REG(i->rm(), op2_64);
|
||||
}
|
||||
else {
|
||||
Write_RMW_virtual_qword(op2_64);
|
||||
write_RMW_virtual_qword(op2_64);
|
||||
}
|
||||
}
|
||||
else {
|
||||
|
@ -1,5 +1,5 @@
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id: arith8.cc,v 1.22 2002-10-25 11:44:34 bdenney Exp $
|
||||
// $Id: arith8.cc,v 1.23 2002-10-25 17:23:33 sshwarts Exp $
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2001 MandrakeSoft S.A.
|
||||
@ -51,7 +51,7 @@ BX_CPU_C::ADD_EbGb(bxInstruction_c *i)
|
||||
else {
|
||||
read_RMW_virtual_byte(i->seg(), RMAddr(i), &op1);
|
||||
sum = op1 + op2;
|
||||
Write_RMW_virtual_byte(sum);
|
||||
write_RMW_virtual_byte(sum);
|
||||
}
|
||||
|
||||
SET_FLAGS_OSZAPC_8(op1, op2, sum, BX_INSTR_ADD8);
|
||||
@ -116,7 +116,7 @@ BX_CPU_C::ADC_EbGb(bxInstruction_c *i)
|
||||
else {
|
||||
read_RMW_virtual_byte(i->seg(), RMAddr(i), &op1);
|
||||
sum = op1 + op2 + temp_CF;
|
||||
Write_RMW_virtual_byte(sum);
|
||||
write_RMW_virtual_byte(sum);
|
||||
}
|
||||
|
||||
SET_FLAGS_OSZAPC_8_CF(op1, op2, sum, BX_INSTR_ADC8, temp_CF);
|
||||
@ -189,7 +189,7 @@ BX_CPU_C::SBB_EbGb(bxInstruction_c *i)
|
||||
else {
|
||||
read_RMW_virtual_byte(i->seg(), RMAddr(i), &op1_8);
|
||||
diff_8 = op1_8 - (op2_8 + temp_CF);
|
||||
Write_RMW_virtual_byte(diff_8);
|
||||
write_RMW_virtual_byte(diff_8);
|
||||
}
|
||||
|
||||
SET_FLAGS_OSZAPC_8_CF(op1_8, op2_8, diff_8, BX_INSTR_SBB8,
|
||||
@ -261,7 +261,7 @@ BX_CPU_C::SBB_EbIb(bxInstruction_c *i)
|
||||
else {
|
||||
read_RMW_virtual_byte(i->seg(), RMAddr(i), &op1_8);
|
||||
diff_8 = op1_8 - (op2_8 + temp_CF);
|
||||
Write_RMW_virtual_byte(diff_8);
|
||||
write_RMW_virtual_byte(diff_8);
|
||||
}
|
||||
|
||||
SET_FLAGS_OSZAPC_8_CF(op1_8, op2_8, diff_8, BX_INSTR_SBB8,
|
||||
@ -285,7 +285,7 @@ BX_CPU_C::SUB_EbGb(bxInstruction_c *i)
|
||||
else {
|
||||
read_RMW_virtual_byte(i->seg(), RMAddr(i), &op1_8);
|
||||
diff_8 = op1_8 - op2_8;
|
||||
Write_RMW_virtual_byte(diff_8);
|
||||
write_RMW_virtual_byte(diff_8);
|
||||
}
|
||||
|
||||
SET_FLAGS_OSZAPC_8(op1_8, op2_8, diff_8, BX_INSTR_SUB8);
|
||||
@ -439,7 +439,7 @@ BX_CPU_C::XADD_EbGb(bxInstruction_c *i)
|
||||
else {
|
||||
read_RMW_virtual_byte(i->seg(), RMAddr(i), &op1);
|
||||
sum = op1 + op2;
|
||||
Write_RMW_virtual_byte(sum);
|
||||
write_RMW_virtual_byte(sum);
|
||||
/* and write destination into source */
|
||||
BX_WRITE_8BIT_REGx(i->nnn(), i->extend8bitL(), op1);
|
||||
}
|
||||
@ -466,7 +466,7 @@ BX_CPU_C::ADD_EbIb(bxInstruction_c *i)
|
||||
else {
|
||||
read_RMW_virtual_byte(i->seg(), RMAddr(i), &op1);
|
||||
sum = op1 + op2;
|
||||
Write_RMW_virtual_byte(sum);
|
||||
write_RMW_virtual_byte(sum);
|
||||
}
|
||||
|
||||
SET_FLAGS_OSZAPC_8(op1, op2, sum, BX_INSTR_ADD8);
|
||||
@ -490,7 +490,7 @@ BX_CPU_C::ADC_EbIb(bxInstruction_c *i)
|
||||
else {
|
||||
read_RMW_virtual_byte(i->seg(), RMAddr(i), &op1);
|
||||
sum = op1 + op2 + temp_CF;
|
||||
Write_RMW_virtual_byte(sum);
|
||||
write_RMW_virtual_byte(sum);
|
||||
}
|
||||
|
||||
SET_FLAGS_OSZAPC_8_CF(op1, op2, sum, BX_INSTR_ADC8,
|
||||
@ -513,7 +513,7 @@ BX_CPU_C::SUB_EbIb(bxInstruction_c *i)
|
||||
else {
|
||||
read_RMW_virtual_byte(i->seg(), RMAddr(i), &op1_8);
|
||||
diff_8 = op1_8 - op2_8;
|
||||
Write_RMW_virtual_byte(diff_8);
|
||||
write_RMW_virtual_byte(diff_8);
|
||||
}
|
||||
|
||||
SET_FLAGS_OSZAPC_8(op1_8, op2_8, diff_8, BX_INSTR_SUB8);
|
||||
@ -560,7 +560,7 @@ BX_CPU_C::NEG_Eb(bxInstruction_c *i)
|
||||
else {
|
||||
read_RMW_virtual_byte(i->seg(), RMAddr(i), &op1_8);
|
||||
diff_8 = 0 - op1_8;
|
||||
Write_RMW_virtual_byte(diff_8);
|
||||
write_RMW_virtual_byte(diff_8);
|
||||
}
|
||||
|
||||
SET_FLAGS_OSZAPC_8(op1_8, 0, diff_8, BX_INSTR_NEG8);
|
||||
@ -580,7 +580,7 @@ BX_CPU_C::INC_Eb(bxInstruction_c *i)
|
||||
else {
|
||||
read_RMW_virtual_byte(i->seg(), RMAddr(i), &op1);
|
||||
op1++;
|
||||
Write_RMW_virtual_byte(op1);
|
||||
write_RMW_virtual_byte(op1);
|
||||
}
|
||||
|
||||
SET_FLAGS_OSZAP_8(0, 0, op1, BX_INSTR_INC8);
|
||||
@ -600,7 +600,7 @@ BX_CPU_C::DEC_Eb(bxInstruction_c *i)
|
||||
else {
|
||||
read_RMW_virtual_byte(i->seg(), RMAddr(i), &op1_8);
|
||||
op1_8--;
|
||||
Write_RMW_virtual_byte(op1_8);
|
||||
write_RMW_virtual_byte(op1_8);
|
||||
}
|
||||
|
||||
SET_FLAGS_OSZAP_8(0, 0, op1_8, BX_INSTR_DEC8);
|
||||
@ -635,7 +635,7 @@ BX_CPU_C::CMPXCHG_EbGb(bxInstruction_c *i)
|
||||
BX_WRITE_8BIT_REGx(i->rm(), i->extend8bitL(), op2_8);
|
||||
}
|
||||
else {
|
||||
Write_RMW_virtual_byte(op2_8);
|
||||
write_RMW_virtual_byte(op2_8);
|
||||
}
|
||||
}
|
||||
else {
|
||||
|
@ -1,5 +1,5 @@
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id: bit.cc,v 1.12 2002-09-22 18:22:24 kevinlawton Exp $
|
||||
// $Id: bit.cc,v 1.13 2002-10-25 17:23:33 sshwarts Exp $
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2001 MandrakeSoft S.A.
|
||||
@ -1090,7 +1090,7 @@ BX_CPU_C::BTS_EvGv(bxInstruction_c *i)
|
||||
bit_i = (op1_64 >> index) & 0x01;
|
||||
op1_64 |= (((Bit64u) 1) << index);
|
||||
|
||||
Write_RMW_virtual_qword(op1_64);
|
||||
write_RMW_virtual_qword(op1_64);
|
||||
|
||||
set_CF(bit_i);
|
||||
}
|
||||
@ -1126,7 +1126,7 @@ BX_CPU_C::BTS_EvGv(bxInstruction_c *i)
|
||||
bit_i = (op1_32 >> index) & 0x01;
|
||||
op1_32 |= (((Bit32u) 1) << index);
|
||||
|
||||
Write_RMW_virtual_dword(op1_32);
|
||||
write_RMW_virtual_dword(op1_32);
|
||||
|
||||
set_CF(bit_i);
|
||||
}
|
||||
@ -1159,7 +1159,7 @@ BX_CPU_C::BTS_EvGv(bxInstruction_c *i)
|
||||
bit_i = (op1_16 >> index) & 0x01;
|
||||
op1_16 |= (((Bit16u) 1) << index);
|
||||
|
||||
Write_RMW_virtual_word(op1_16);
|
||||
write_RMW_virtual_word(op1_16);
|
||||
|
||||
set_CF(bit_i);
|
||||
}
|
||||
@ -1208,7 +1208,7 @@ BX_CPU_C::BTR_EvGv(bxInstruction_c *i)
|
||||
op1_64 &= ~(((Bit64u) 1) << index);
|
||||
|
||||
/* now write back to destination */
|
||||
Write_RMW_virtual_qword(op1_64);
|
||||
write_RMW_virtual_qword(op1_64);
|
||||
|
||||
set_CF(temp_cf);
|
||||
}
|
||||
@ -1245,7 +1245,7 @@ BX_CPU_C::BTR_EvGv(bxInstruction_c *i)
|
||||
op1_32 &= ~(((Bit32u) 1) << index);
|
||||
|
||||
/* now write back to destination */
|
||||
Write_RMW_virtual_dword(op1_32);
|
||||
write_RMW_virtual_dword(op1_32);
|
||||
|
||||
set_CF(temp_cf);
|
||||
}
|
||||
@ -1279,7 +1279,7 @@ BX_CPU_C::BTR_EvGv(bxInstruction_c *i)
|
||||
op1_16 &= ~(((Bit16u) 1) << index);
|
||||
|
||||
/* now write back to destination */
|
||||
Write_RMW_virtual_word(op1_16);
|
||||
write_RMW_virtual_word(op1_16);
|
||||
|
||||
set_CF(temp_cf);
|
||||
}
|
||||
@ -1329,7 +1329,7 @@ BX_CPU_C::BTC_EvGv(bxInstruction_c *i)
|
||||
BX_WRITE_64BIT_REG(i->rm(), op1_64);
|
||||
}
|
||||
else {
|
||||
Write_RMW_virtual_qword(op1_64);
|
||||
write_RMW_virtual_qword(op1_64);
|
||||
}
|
||||
set_CF(temp_CF);
|
||||
}
|
||||
@ -1363,7 +1363,7 @@ BX_CPU_C::BTC_EvGv(bxInstruction_c *i)
|
||||
BX_WRITE_32BIT_REGZ(i->rm(), op1_32);
|
||||
}
|
||||
else {
|
||||
Write_RMW_virtual_dword(op1_32);
|
||||
write_RMW_virtual_dword(op1_32);
|
||||
}
|
||||
set_CF(temp_CF);
|
||||
}
|
||||
@ -1394,7 +1394,7 @@ BX_CPU_C::BTC_EvGv(bxInstruction_c *i)
|
||||
BX_WRITE_16BIT_REG(i->rm(), op1_16);
|
||||
}
|
||||
else {
|
||||
Write_RMW_virtual_word(op1_16);
|
||||
write_RMW_virtual_word(op1_16);
|
||||
}
|
||||
set_CF(temp_CF);
|
||||
}
|
||||
@ -1504,7 +1504,7 @@ BX_CPU_C::BTS_EvIb(bxInstruction_c *i)
|
||||
BX_WRITE_64BIT_REG(i->rm(), op1_64);
|
||||
}
|
||||
else {
|
||||
Write_RMW_virtual_qword(op1_64);
|
||||
write_RMW_virtual_qword(op1_64);
|
||||
}
|
||||
set_CF(temp_CF);
|
||||
}
|
||||
@ -1535,7 +1535,7 @@ BX_CPU_C::BTS_EvIb(bxInstruction_c *i)
|
||||
BX_WRITE_32BIT_REGZ(i->rm(), op1_32);
|
||||
}
|
||||
else {
|
||||
Write_RMW_virtual_dword(op1_32);
|
||||
write_RMW_virtual_dword(op1_32);
|
||||
}
|
||||
set_CF(temp_CF);
|
||||
}
|
||||
@ -1564,7 +1564,7 @@ BX_CPU_C::BTS_EvIb(bxInstruction_c *i)
|
||||
BX_WRITE_16BIT_REG(i->rm(), op1_16);
|
||||
}
|
||||
else {
|
||||
Write_RMW_virtual_word(op1_16);
|
||||
write_RMW_virtual_word(op1_16);
|
||||
}
|
||||
set_CF(temp_CF);
|
||||
}
|
||||
@ -1608,7 +1608,7 @@ BX_CPU_C::BTC_EvIb(bxInstruction_c *i)
|
||||
BX_WRITE_64BIT_REG(i->rm(), op1_64);
|
||||
}
|
||||
else {
|
||||
Write_RMW_virtual_qword(op1_64);
|
||||
write_RMW_virtual_qword(op1_64);
|
||||
}
|
||||
set_CF(temp_CF);
|
||||
}
|
||||
@ -1641,7 +1641,7 @@ BX_CPU_C::BTC_EvIb(bxInstruction_c *i)
|
||||
BX_WRITE_32BIT_REGZ(i->rm(), op1_32);
|
||||
}
|
||||
else {
|
||||
Write_RMW_virtual_dword(op1_32);
|
||||
write_RMW_virtual_dword(op1_32);
|
||||
}
|
||||
set_CF(temp_CF);
|
||||
}
|
||||
@ -1671,7 +1671,7 @@ BX_CPU_C::BTC_EvIb(bxInstruction_c *i)
|
||||
BX_WRITE_16BIT_REG(i->rm(), op1_16);
|
||||
}
|
||||
else {
|
||||
Write_RMW_virtual_word(op1_16);
|
||||
write_RMW_virtual_word(op1_16);
|
||||
}
|
||||
set_CF(temp_CF);
|
||||
}
|
||||
@ -1711,7 +1711,7 @@ BX_CPU_C::BTR_EvIb(bxInstruction_c *i)
|
||||
BX_WRITE_64BIT_REG(i->rm(), op1_64);
|
||||
}
|
||||
else {
|
||||
Write_RMW_virtual_qword(op1_64);
|
||||
write_RMW_virtual_qword(op1_64);
|
||||
}
|
||||
set_CF(temp_CF);
|
||||
}
|
||||
@ -1742,7 +1742,7 @@ BX_CPU_C::BTR_EvIb(bxInstruction_c *i)
|
||||
BX_WRITE_32BIT_REGZ(i->rm(), op1_32);
|
||||
}
|
||||
else {
|
||||
Write_RMW_virtual_dword(op1_32);
|
||||
write_RMW_virtual_dword(op1_32);
|
||||
}
|
||||
set_CF(temp_CF);
|
||||
}
|
||||
@ -1771,7 +1771,7 @@ BX_CPU_C::BTR_EvIb(bxInstruction_c *i)
|
||||
BX_WRITE_16BIT_REG(i->rm(), op1_16);
|
||||
}
|
||||
else {
|
||||
Write_RMW_virtual_word(op1_16);
|
||||
write_RMW_virtual_word(op1_16);
|
||||
}
|
||||
set_CF(temp_CF);
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id: cpu.h,v 1.107 2002-10-25 11:44:34 bdenney Exp $
|
||||
// $Id: cpu.h,v 1.108 2002-10-25 17:23:33 sshwarts Exp $
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2001 MandrakeSoft S.A.
|
||||
@ -2715,11 +2715,6 @@ union {
|
||||
BX_SMF void write_RMW_virtual_dword(Bit32u val32);
|
||||
BX_SMF void write_RMW_virtual_qword(Bit64u val64);
|
||||
|
||||
#define Write_RMW_virtual_byte(val8) write_RMW_virtual_byte(val8)
|
||||
#define Write_RMW_virtual_word(val16) write_RMW_virtual_word(val16)
|
||||
#define Write_RMW_virtual_dword(val32) write_RMW_virtual_dword(val32)
|
||||
#define Write_RMW_virtual_qword(val32) write_RMW_virtual_qword(val32)
|
||||
|
||||
#if BX_SUPPORT_SSE
|
||||
BX_SMF void readVirtualDQword(unsigned s, bx_address off, Bit8u *data);
|
||||
BX_SMF void readVirtualDQwordAligned(unsigned s, bx_address off, Bit8u *data);
|
||||
|
@ -1,5 +1,5 @@
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id: data_xfer16.cc,v 1.18 2002-10-25 11:44:34 bdenney Exp $
|
||||
// $Id: data_xfer16.cc,v 1.19 2002-10-25 17:23:33 sshwarts Exp $
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2001 MandrakeSoft S.A.
|
||||
@ -330,7 +330,7 @@ BX_CPU_C::XCHG_EwGw(bxInstruction_c *i)
|
||||
else {
|
||||
/* pointer, segment address pair */
|
||||
read_RMW_virtual_word(i->seg(), RMAddr(i), &op1_16);
|
||||
Write_RMW_virtual_word(op2_16);
|
||||
write_RMW_virtual_word(op2_16);
|
||||
}
|
||||
|
||||
BX_WRITE_16BIT_REG(i->nnn(), op1_16);
|
||||
|
@ -1,5 +1,5 @@
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id: data_xfer32.cc,v 1.19 2002-10-25 11:44:34 bdenney Exp $
|
||||
// $Id: data_xfer32.cc,v 1.20 2002-10-25 17:23:33 sshwarts Exp $
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2001 MandrakeSoft S.A.
|
||||
@ -281,7 +281,7 @@ BX_CPU_C::XCHG_EdGd(bxInstruction_c *i)
|
||||
else {
|
||||
/* pointer, segment address pair */
|
||||
read_RMW_virtual_dword(i->seg(), RMAddr(i), &op1_32);
|
||||
Write_RMW_virtual_dword(op2_32);
|
||||
write_RMW_virtual_dword(op2_32);
|
||||
}
|
||||
|
||||
BX_WRITE_32BIT_REGZ(i->nnn(), op1_32);
|
||||
|
@ -1,5 +1,5 @@
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id: data_xfer64.cc,v 1.10 2002-10-25 11:44:34 bdenney Exp $
|
||||
// $Id: data_xfer64.cc,v 1.11 2002-10-25 17:23:33 sshwarts Exp $
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2001 MandrakeSoft S.A.
|
||||
@ -413,7 +413,7 @@ BX_CPU_C::XCHG_EqGq(bxInstruction_c *i)
|
||||
else {
|
||||
/* pointer, segment address pair */
|
||||
read_RMW_virtual_qword(i->seg(), RMAddr(i), &op1_64);
|
||||
Write_RMW_virtual_qword(op2_64);
|
||||
write_RMW_virtual_qword(op2_64);
|
||||
}
|
||||
|
||||
BX_WRITE_64BIT_REG(i->nnn(), op1_64);
|
||||
|
@ -1,5 +1,5 @@
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id: data_xfer8.cc,v 1.12 2002-09-29 19:21:36 kevinlawton Exp $
|
||||
// $Id: data_xfer8.cc,v 1.13 2002-10-25 17:23:33 sshwarts Exp $
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2001 MandrakeSoft S.A.
|
||||
@ -193,7 +193,7 @@ BX_CPU_C::XCHG_EbGb(bxInstruction_c *i)
|
||||
else {
|
||||
/* pointer, segment address pair */
|
||||
read_RMW_virtual_byte(i->seg(), RMAddr(i), &op1);
|
||||
Write_RMW_virtual_byte(op2);
|
||||
write_RMW_virtual_byte(op2);
|
||||
}
|
||||
|
||||
BX_WRITE_8BIT_REGx(i->nnn(), i->extend8bitL(), op1);
|
||||
|
@ -1,5 +1,5 @@
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id: logical16.cc,v 1.16 2002-10-24 21:05:46 bdenney Exp $
|
||||
// $Id: logical16.cc,v 1.17 2002-10-25 17:23:33 sshwarts Exp $
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2001 MandrakeSoft S.A.
|
||||
@ -66,7 +66,7 @@ BX_CPU_C::XOR_EwGw(bxInstruction_c *i)
|
||||
#else
|
||||
result_16 = op1_16 ^ op2_16;
|
||||
#endif
|
||||
Write_RMW_virtual_word(result_16);
|
||||
write_RMW_virtual_word(result_16);
|
||||
}
|
||||
|
||||
#if !(defined(__i386__) && defined(__GNUC__) && BX_SupportHostAsms)
|
||||
@ -129,7 +129,7 @@ BX_CPU_C::XOR_EwIw(bxInstruction_c *i)
|
||||
else {
|
||||
read_RMW_virtual_word(i->seg(), RMAddr(i), &op1_16);
|
||||
result_16 = op1_16 ^ op2_16;
|
||||
Write_RMW_virtual_word(result_16);
|
||||
write_RMW_virtual_word(result_16);
|
||||
}
|
||||
|
||||
SET_FLAGS_OSZAPC_16(op1_16, op2_16, result_16, BX_INSTR_XOR16);
|
||||
@ -152,7 +152,7 @@ BX_CPU_C::OR_EwIw(bxInstruction_c *i)
|
||||
else {
|
||||
read_RMW_virtual_word(i->seg(), RMAddr(i), &op1_16);
|
||||
result_16 = op1_16 | op2_16;
|
||||
Write_RMW_virtual_word(result_16);
|
||||
write_RMW_virtual_word(result_16);
|
||||
}
|
||||
|
||||
SET_FLAGS_OSZAPC_16(op1_16, op2_16, result_16, BX_INSTR_OR16);
|
||||
@ -172,7 +172,7 @@ BX_CPU_C::NOT_Ew(bxInstruction_c *i)
|
||||
else {
|
||||
read_RMW_virtual_word(i->seg(), RMAddr(i), &op1_16);
|
||||
result_16 = ~op1_16;
|
||||
Write_RMW_virtual_word(result_16);
|
||||
write_RMW_virtual_word(result_16);
|
||||
}
|
||||
}
|
||||
|
||||
@ -192,7 +192,7 @@ BX_CPU_C::OR_EwGw(bxInstruction_c *i)
|
||||
else {
|
||||
read_RMW_virtual_word(i->seg(), RMAddr(i), &op1_16);
|
||||
result_16 = op1_16 | op2_16;
|
||||
Write_RMW_virtual_word(result_16);
|
||||
write_RMW_virtual_word(result_16);
|
||||
}
|
||||
|
||||
SET_FLAGS_OSZAPC_16(op1_16, op2_16, result_16, BX_INSTR_OR16);
|
||||
@ -280,7 +280,7 @@ BX_CPU_C::AND_EwGw(bxInstruction_c *i)
|
||||
result_16 = op1_16 & op2_16;
|
||||
#endif
|
||||
|
||||
Write_RMW_virtual_word(result_16);
|
||||
write_RMW_virtual_word(result_16);
|
||||
}
|
||||
|
||||
#if !(defined(__i386__) && defined(__GNUC__) && BX_SupportHostAsms)
|
||||
@ -377,7 +377,7 @@ BX_CPU_C::AND_EwIw(bxInstruction_c *i)
|
||||
result_16 = op1_16 & op2_16;
|
||||
#endif
|
||||
|
||||
Write_RMW_virtual_word(result_16);
|
||||
write_RMW_virtual_word(result_16);
|
||||
}
|
||||
|
||||
#if !(defined(__i386__) && defined(__GNUC__) && BX_SupportHostAsms)
|
||||
|
@ -1,5 +1,5 @@
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id: logical32.cc,v 1.17 2002-10-24 21:05:46 bdenney Exp $
|
||||
// $Id: logical32.cc,v 1.18 2002-10-25 17:23:33 sshwarts Exp $
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2001 MandrakeSoft S.A.
|
||||
@ -51,7 +51,7 @@ BX_CPU_C::XOR_EdGd(bxInstruction_c *i)
|
||||
else {
|
||||
read_RMW_virtual_dword(i->seg(), RMAddr(i), &op1_32);
|
||||
result_32 = op1_32 ^ op2_32;
|
||||
Write_RMW_virtual_dword(result_32);
|
||||
write_RMW_virtual_dword(result_32);
|
||||
}
|
||||
|
||||
SET_FLAGS_OSZAPC_32(op1_32, op2_32, result_32, BX_INSTR_XOR32);
|
||||
@ -115,7 +115,7 @@ BX_CPU_C::XOR_EdId(bxInstruction_c *i)
|
||||
else {
|
||||
read_RMW_virtual_dword(i->seg(), RMAddr(i), &op1_32);
|
||||
result_32 = op1_32 ^ op2_32;
|
||||
Write_RMW_virtual_dword(result_32);
|
||||
write_RMW_virtual_dword(result_32);
|
||||
}
|
||||
|
||||
SET_FLAGS_OSZAPC_32(op1_32, op2_32, result_32, BX_INSTR_XOR32);
|
||||
@ -137,7 +137,7 @@ BX_CPU_C::OR_EdId(bxInstruction_c *i)
|
||||
else {
|
||||
read_RMW_virtual_dword(i->seg(), RMAddr(i), &op1_32);
|
||||
result_32 = op1_32 | op2_32;
|
||||
Write_RMW_virtual_dword(result_32);
|
||||
write_RMW_virtual_dword(result_32);
|
||||
}
|
||||
|
||||
SET_FLAGS_OSZAPC_32(op1_32, op2_32, result_32, BX_INSTR_OR32);
|
||||
@ -156,7 +156,7 @@ BX_CPU_C::NOT_Ed(bxInstruction_c *i)
|
||||
else {
|
||||
read_RMW_virtual_dword(i->seg(), RMAddr(i), &op1_32);
|
||||
result_32 = ~op1_32;
|
||||
Write_RMW_virtual_dword(result_32);
|
||||
write_RMW_virtual_dword(result_32);
|
||||
}
|
||||
}
|
||||
|
||||
@ -176,7 +176,7 @@ BX_CPU_C::OR_EdGd(bxInstruction_c *i)
|
||||
else {
|
||||
read_RMW_virtual_dword(i->seg(), RMAddr(i), &op1_32);
|
||||
result_32 = op1_32 | op2_32;
|
||||
Write_RMW_virtual_dword(result_32);
|
||||
write_RMW_virtual_dword(result_32);
|
||||
}
|
||||
|
||||
SET_FLAGS_OSZAPC_32(op1_32, op2_32, result_32, BX_INSTR_OR32);
|
||||
@ -268,7 +268,7 @@ BX_CPU_C::AND_EdGd(bxInstruction_c *i)
|
||||
result_32 = op1_32 & op2_32;
|
||||
#endif
|
||||
|
||||
Write_RMW_virtual_dword(result_32);
|
||||
write_RMW_virtual_dword(result_32);
|
||||
}
|
||||
|
||||
#if !(defined(__i386__) && defined(__GNUC__) && BX_SupportHostAsms)
|
||||
@ -369,7 +369,7 @@ BX_CPU_C::AND_EdId(bxInstruction_c *i)
|
||||
result_32 = op1_32 & op2_32;
|
||||
#endif
|
||||
|
||||
Write_RMW_virtual_dword(result_32);
|
||||
write_RMW_virtual_dword(result_32);
|
||||
}
|
||||
|
||||
#if !(defined(__i386__) && defined(__GNUC__) && BX_SupportHostAsms)
|
||||
|
@ -1,5 +1,5 @@
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id: logical64.cc,v 1.4 2002-09-20 03:52:58 kevinlawton Exp $
|
||||
// $Id: logical64.cc,v 1.5 2002-10-25 17:23:33 sshwarts Exp $
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2001 MandrakeSoft S.A.
|
||||
@ -61,7 +61,7 @@ BX_CPU_C::XOR_EqGq(bxInstruction_c *i)
|
||||
BX_WRITE_64BIT_REG(i->rm(), result_64);
|
||||
}
|
||||
else {
|
||||
Write_RMW_virtual_qword(result_64);
|
||||
write_RMW_virtual_qword(result_64);
|
||||
}
|
||||
|
||||
SET_FLAGS_OSZAPC_64(op1_64, op2_64, result_64, BX_INSTR_XOR64);
|
||||
@ -135,7 +135,7 @@ BX_CPU_C::XOR_EqId(bxInstruction_c *i)
|
||||
BX_WRITE_64BIT_REG(i->rm(), result_64);
|
||||
}
|
||||
else {
|
||||
Write_RMW_virtual_qword(result_64);
|
||||
write_RMW_virtual_qword(result_64);
|
||||
}
|
||||
|
||||
SET_FLAGS_OSZAPC_64(op1_64, op2_64, result_64, BX_INSTR_XOR64);
|
||||
@ -165,7 +165,7 @@ BX_CPU_C::OR_EqId(bxInstruction_c *i)
|
||||
BX_WRITE_64BIT_REG(i->rm(), result_64);
|
||||
}
|
||||
else {
|
||||
Write_RMW_virtual_qword(result_64);
|
||||
write_RMW_virtual_qword(result_64);
|
||||
}
|
||||
|
||||
SET_FLAGS_OSZAPC_64(op1_64, op2_64, result_64, BX_INSTR_OR64);
|
||||
@ -192,7 +192,7 @@ BX_CPU_C::NOT_Eq(bxInstruction_c *i)
|
||||
BX_WRITE_64BIT_REG(i->rm(), result_64);
|
||||
}
|
||||
else {
|
||||
Write_RMW_virtual_qword(result_64);
|
||||
write_RMW_virtual_qword(result_64);
|
||||
}
|
||||
}
|
||||
|
||||
@ -221,7 +221,7 @@ BX_CPU_C::OR_EqGq(bxInstruction_c *i)
|
||||
BX_WRITE_64BIT_REG(i->rm(), result_64);
|
||||
}
|
||||
else {
|
||||
Write_RMW_virtual_qword(result_64);
|
||||
write_RMW_virtual_qword(result_64);
|
||||
}
|
||||
|
||||
SET_FLAGS_OSZAPC_64(op1_64, op2_64, result_64, BX_INSTR_OR64);
|
||||
@ -296,7 +296,7 @@ BX_CPU_C::AND_EqGq(bxInstruction_c *i)
|
||||
BX_WRITE_64BIT_REG(i->rm(), result_64);
|
||||
}
|
||||
else {
|
||||
Write_RMW_virtual_qword(result_64);
|
||||
write_RMW_virtual_qword(result_64);
|
||||
}
|
||||
|
||||
SET_FLAGS_OSZAPC_64(op1_64, op2_64, result_64, BX_INSTR_AND64);
|
||||
@ -368,7 +368,7 @@ BX_CPU_C::AND_EqId(bxInstruction_c *i)
|
||||
BX_WRITE_64BIT_REG(i->rm(), result_64);
|
||||
}
|
||||
else {
|
||||
Write_RMW_virtual_qword(result_64);
|
||||
write_RMW_virtual_qword(result_64);
|
||||
}
|
||||
|
||||
SET_FLAGS_OSZAPC_64(op1_64, op2_64, result_64, BX_INSTR_AND64);
|
||||
|
@ -1,5 +1,5 @@
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id: logical8.cc,v 1.19 2002-10-24 21:05:47 bdenney Exp $
|
||||
// $Id: logical8.cc,v 1.20 2002-10-25 17:23:33 sshwarts Exp $
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2001 MandrakeSoft S.A.
|
||||
@ -50,7 +50,7 @@ BX_CPU_C::XOR_EbGb(bxInstruction_c *i)
|
||||
else {
|
||||
read_RMW_virtual_byte(i->seg(), RMAddr(i), &op1);
|
||||
result = op1 ^ op2;
|
||||
Write_RMW_virtual_byte(result);
|
||||
write_RMW_virtual_byte(result);
|
||||
}
|
||||
|
||||
SET_FLAGS_OSZAPC_8(op1, op2, result, BX_INSTR_XOR8);
|
||||
@ -109,7 +109,7 @@ BX_CPU_C::XOR_EbIb(bxInstruction_c *i)
|
||||
else {
|
||||
read_RMW_virtual_byte(i->seg(), RMAddr(i), &op1);
|
||||
result = op1 ^ op2;
|
||||
Write_RMW_virtual_byte(result);
|
||||
write_RMW_virtual_byte(result);
|
||||
}
|
||||
|
||||
SET_FLAGS_OSZAPC_8(op1, op2, result, BX_INSTR_XOR8);
|
||||
@ -132,7 +132,7 @@ BX_CPU_C::OR_EbIb(bxInstruction_c *i)
|
||||
else {
|
||||
read_RMW_virtual_byte(i->seg(), RMAddr(i), &op1);
|
||||
result = op1 | op2;
|
||||
Write_RMW_virtual_byte(result);
|
||||
write_RMW_virtual_byte(result);
|
||||
}
|
||||
|
||||
SET_FLAGS_OSZAPC_8(op1, op2, result, BX_INSTR_OR8);
|
||||
@ -152,7 +152,7 @@ BX_CPU_C::NOT_Eb(bxInstruction_c *i)
|
||||
else {
|
||||
read_RMW_virtual_byte(i->seg(), RMAddr(i), &op1_8);
|
||||
result_8 = ~op1_8;
|
||||
Write_RMW_virtual_byte(result_8);
|
||||
write_RMW_virtual_byte(result_8);
|
||||
}
|
||||
}
|
||||
|
||||
@ -172,7 +172,7 @@ BX_CPU_C::OR_EbGb(bxInstruction_c *i)
|
||||
else {
|
||||
read_RMW_virtual_byte(i->seg(), RMAddr(i), &op1);
|
||||
result = op1 | op2;
|
||||
Write_RMW_virtual_byte(result);
|
||||
write_RMW_virtual_byte(result);
|
||||
}
|
||||
|
||||
SET_FLAGS_OSZAPC_8(op1, op2, result, BX_INSTR_OR8);
|
||||
@ -269,7 +269,7 @@ BX_CPU_C::AND_EbGb(bxInstruction_c *i)
|
||||
result = op1 & op2;
|
||||
#endif
|
||||
|
||||
Write_RMW_virtual_byte(result);
|
||||
write_RMW_virtual_byte(result);
|
||||
}
|
||||
|
||||
#if !(defined(__i386__) && defined(__GNUC__) && BX_SupportHostAsms)
|
||||
@ -371,7 +371,7 @@ BX_CPU_C::AND_EbIb(bxInstruction_c *i)
|
||||
result = op1 & op2;
|
||||
#endif
|
||||
|
||||
Write_RMW_virtual_byte(result);
|
||||
write_RMW_virtual_byte(result);
|
||||
}
|
||||
|
||||
#if !(defined(__i386__) && defined(__GNUC__) && BX_SupportHostAsms)
|
||||
|
@ -1,5 +1,5 @@
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id: protect_ctrl.cc,v 1.20 2002-10-24 21:05:52 bdenney Exp $
|
||||
// $Id: protect_ctrl.cc,v 1.21 2002-10-25 17:23:33 sshwarts Exp $
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2001 MandrakeSoft S.A.
|
||||
@ -78,7 +78,7 @@ BX_CPU_C::ARPL_EwGw(bxInstruction_c *i)
|
||||
}
|
||||
}
|
||||
else {
|
||||
Write_RMW_virtual_word(op1_16);
|
||||
write_RMW_virtual_word(op1_16);
|
||||
}
|
||||
set_ZF(1);
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id: shift16.cc,v 1.15 2002-10-24 21:05:53 bdenney Exp $
|
||||
// $Id: shift16.cc,v 1.16 2002-10-25 17:23:33 sshwarts Exp $
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2001 MandrakeSoft S.A.
|
||||
@ -78,7 +78,7 @@ BX_CPU_C::SHLD_EwGw(bxInstruction_c *i)
|
||||
BX_WRITE_16BIT_REG(i->rm(), result_16);
|
||||
}
|
||||
else {
|
||||
Write_RMW_virtual_word(result_16);
|
||||
write_RMW_virtual_word(result_16);
|
||||
}
|
||||
|
||||
/* set eflags:
|
||||
@ -137,7 +137,7 @@ BX_CPU_C::SHRD_EwGw(bxInstruction_c *i)
|
||||
BX_WRITE_16BIT_REG(i->rm(), result_16);
|
||||
}
|
||||
else {
|
||||
Write_RMW_virtual_word(result_16);
|
||||
write_RMW_virtual_word(result_16);
|
||||
}
|
||||
|
||||
/* set eflags:
|
||||
@ -189,7 +189,7 @@ BX_CPU_C::ROL_Ew(bxInstruction_c *i)
|
||||
BX_WRITE_16BIT_REG(i->rm(), result_16);
|
||||
}
|
||||
else {
|
||||
Write_RMW_virtual_word(result_16);
|
||||
write_RMW_virtual_word(result_16);
|
||||
}
|
||||
|
||||
/* set eflags:
|
||||
@ -237,7 +237,7 @@ BX_CPU_C::ROR_Ew(bxInstruction_c *i)
|
||||
BX_WRITE_16BIT_REG(i->rm(), result_16);
|
||||
}
|
||||
else {
|
||||
Write_RMW_virtual_word(result_16);
|
||||
write_RMW_virtual_word(result_16);
|
||||
}
|
||||
|
||||
/* set eflags:
|
||||
@ -299,7 +299,7 @@ BX_CPU_C::RCL_Ew(bxInstruction_c *i)
|
||||
BX_WRITE_16BIT_REG(i->rm(), result_16);
|
||||
}
|
||||
else {
|
||||
Write_RMW_virtual_word(result_16);
|
||||
write_RMW_virtual_word(result_16);
|
||||
}
|
||||
|
||||
/* set eflags:
|
||||
@ -348,7 +348,7 @@ BX_CPU_C::RCR_Ew(bxInstruction_c *i)
|
||||
BX_WRITE_16BIT_REG(i->rm(), result_16);
|
||||
}
|
||||
else {
|
||||
Write_RMW_virtual_word(result_16);
|
||||
write_RMW_virtual_word(result_16);
|
||||
}
|
||||
|
||||
/* set eflags:
|
||||
@ -397,7 +397,7 @@ BX_CPU_C::SHL_Ew(bxInstruction_c *i)
|
||||
BX_WRITE_16BIT_REG(i->rm(), result_16);
|
||||
}
|
||||
else {
|
||||
Write_RMW_virtual_word(result_16);
|
||||
write_RMW_virtual_word(result_16);
|
||||
}
|
||||
|
||||
SET_FLAGS_OSZAPC_16(op1_16, count, result_16, BX_INSTR_SHL16);
|
||||
@ -447,7 +447,7 @@ BX_CPU_C::SHR_Ew(bxInstruction_c *i)
|
||||
BX_WRITE_16BIT_REG(i->rm(), result_16);
|
||||
}
|
||||
else {
|
||||
Write_RMW_virtual_word(result_16);
|
||||
write_RMW_virtual_word(result_16);
|
||||
}
|
||||
|
||||
#if !(defined(__i386__) && defined(__GNUC__) && BX_SupportHostAsms)
|
||||
@ -507,7 +507,7 @@ BX_CPU_C::SAR_Ew(bxInstruction_c *i)
|
||||
BX_WRITE_16BIT_REG(i->rm(), result_16);
|
||||
}
|
||||
else {
|
||||
Write_RMW_virtual_word(result_16);
|
||||
write_RMW_virtual_word(result_16);
|
||||
}
|
||||
|
||||
/* set eflags:
|
||||
|
@ -1,5 +1,5 @@
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id: shift32.cc,v 1.16 2002-10-24 21:05:54 bdenney Exp $
|
||||
// $Id: shift32.cc,v 1.17 2002-10-25 17:23:33 sshwarts Exp $
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2001 MandrakeSoft S.A.
|
||||
@ -66,7 +66,7 @@ BX_CPU_C::SHLD_EdGd(bxInstruction_c *i)
|
||||
BX_WRITE_32BIT_REGZ(i->rm(), result_32);
|
||||
}
|
||||
else {
|
||||
Write_RMW_virtual_dword(result_32);
|
||||
write_RMW_virtual_dword(result_32);
|
||||
}
|
||||
|
||||
/* set eflags:
|
||||
@ -115,7 +115,7 @@ BX_CPU_C::SHRD_EdGd(bxInstruction_c *i)
|
||||
BX_WRITE_32BIT_REGZ(i->rm(), result_32);
|
||||
}
|
||||
else {
|
||||
Write_RMW_virtual_dword(result_32);
|
||||
write_RMW_virtual_dword(result_32);
|
||||
}
|
||||
|
||||
/* set eflags:
|
||||
@ -165,7 +165,7 @@ BX_CPU_C::ROL_Ed(bxInstruction_c *i)
|
||||
BX_WRITE_32BIT_REGZ(i->rm(), result_32);
|
||||
}
|
||||
else {
|
||||
Write_RMW_virtual_dword(result_32);
|
||||
write_RMW_virtual_dword(result_32);
|
||||
}
|
||||
|
||||
/* set eflags:
|
||||
@ -211,7 +211,7 @@ BX_CPU_C::ROR_Ed(bxInstruction_c *i)
|
||||
BX_WRITE_32BIT_REGZ(i->rm(), result_32);
|
||||
}
|
||||
else {
|
||||
Write_RMW_virtual_dword(result_32);
|
||||
write_RMW_virtual_dword(result_32);
|
||||
}
|
||||
|
||||
/* set eflags:
|
||||
@ -266,7 +266,7 @@ BX_CPU_C::RCL_Ed(bxInstruction_c *i)
|
||||
BX_WRITE_32BIT_REGZ(i->rm(), result_32);
|
||||
}
|
||||
else {
|
||||
Write_RMW_virtual_dword(result_32);
|
||||
write_RMW_virtual_dword(result_32);
|
||||
}
|
||||
|
||||
/* set eflags:
|
||||
@ -318,7 +318,7 @@ BX_CPU_C::RCR_Ed(bxInstruction_c *i)
|
||||
BX_WRITE_32BIT_REGZ(i->rm(), result_32);
|
||||
}
|
||||
else {
|
||||
Write_RMW_virtual_dword(result_32);
|
||||
write_RMW_virtual_dword(result_32);
|
||||
}
|
||||
|
||||
/* set eflags:
|
||||
@ -364,7 +364,7 @@ BX_CPU_C::SHL_Ed(bxInstruction_c *i)
|
||||
BX_WRITE_32BIT_REGZ(i->rm(), result_32);
|
||||
}
|
||||
else {
|
||||
Write_RMW_virtual_dword(result_32);
|
||||
write_RMW_virtual_dword(result_32);
|
||||
}
|
||||
|
||||
SET_FLAGS_OSZAPC_32(op1_32, count, result_32, BX_INSTR_SHL32);
|
||||
@ -411,7 +411,7 @@ BX_CPU_C::SHR_Ed(bxInstruction_c *i)
|
||||
BX_WRITE_32BIT_REGZ(i->rm(), result_32);
|
||||
}
|
||||
else {
|
||||
Write_RMW_virtual_dword(result_32);
|
||||
write_RMW_virtual_dword(result_32);
|
||||
}
|
||||
|
||||
#if !(defined(__i386__) && defined(__GNUC__) && BX_SupportHostAsms)
|
||||
@ -458,7 +458,7 @@ BX_CPU_C::SAR_Ed(bxInstruction_c *i)
|
||||
BX_WRITE_32BIT_REGZ(i->rm(), result_32);
|
||||
}
|
||||
else {
|
||||
Write_RMW_virtual_dword(result_32);
|
||||
write_RMW_virtual_dword(result_32);
|
||||
}
|
||||
|
||||
/* set eflags:
|
||||
|
@ -1,5 +1,5 @@
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id: shift64.cc,v 1.6 2002-09-22 18:22:24 kevinlawton Exp $
|
||||
// $Id: shift64.cc,v 1.7 2002-10-25 17:23:34 sshwarts Exp $
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2001 MandrakeSoft S.A.
|
||||
@ -66,7 +66,7 @@ BX_CPU_C::SHLD_EqGq(bxInstruction_c *i)
|
||||
BX_WRITE_64BIT_REG(i->rm(), result_64);
|
||||
}
|
||||
else {
|
||||
Write_RMW_virtual_qword(result_64);
|
||||
write_RMW_virtual_qword(result_64);
|
||||
}
|
||||
|
||||
/* set eflags:
|
||||
@ -115,7 +115,7 @@ BX_CPU_C::SHRD_EqGq(bxInstruction_c *i)
|
||||
BX_WRITE_64BIT_REG(i->rm(), result_64);
|
||||
}
|
||||
else {
|
||||
Write_RMW_virtual_qword(result_64);
|
||||
write_RMW_virtual_qword(result_64);
|
||||
}
|
||||
|
||||
/* set eflags:
|
||||
@ -165,7 +165,7 @@ BX_CPU_C::ROL_Eq(bxInstruction_c *i)
|
||||
BX_WRITE_64BIT_REG(i->rm(), result_64);
|
||||
}
|
||||
else {
|
||||
Write_RMW_virtual_qword(result_64);
|
||||
write_RMW_virtual_qword(result_64);
|
||||
}
|
||||
|
||||
/* set eflags:
|
||||
@ -211,7 +211,7 @@ BX_CPU_C::ROR_Eq(bxInstruction_c *i)
|
||||
BX_WRITE_64BIT_REG(i->rm(), result_64);
|
||||
}
|
||||
else {
|
||||
Write_RMW_virtual_qword(result_64);
|
||||
write_RMW_virtual_qword(result_64);
|
||||
}
|
||||
|
||||
/* set eflags:
|
||||
@ -266,7 +266,7 @@ BX_CPU_C::RCL_Eq(bxInstruction_c *i)
|
||||
BX_WRITE_64BIT_REG(i->rm(), result_64);
|
||||
}
|
||||
else {
|
||||
Write_RMW_virtual_qword(result_64);
|
||||
write_RMW_virtual_qword(result_64);
|
||||
}
|
||||
|
||||
/* set eflags:
|
||||
@ -318,7 +318,7 @@ BX_CPU_C::RCR_Eq(bxInstruction_c *i)
|
||||
BX_WRITE_64BIT_REG(i->rm(), result_64);
|
||||
}
|
||||
else {
|
||||
Write_RMW_virtual_qword(result_64);
|
||||
write_RMW_virtual_qword(result_64);
|
||||
}
|
||||
|
||||
/* set eflags:
|
||||
@ -364,7 +364,7 @@ BX_CPU_C::SHL_Eq(bxInstruction_c *i)
|
||||
BX_WRITE_64BIT_REG(i->rm(), result_64);
|
||||
}
|
||||
else {
|
||||
Write_RMW_virtual_qword(result_64);
|
||||
write_RMW_virtual_qword(result_64);
|
||||
}
|
||||
|
||||
SET_FLAGS_OSZAPC_64(op1_64, count, result_64, BX_INSTR_SHL64);
|
||||
@ -404,7 +404,7 @@ BX_CPU_C::SHR_Eq(bxInstruction_c *i)
|
||||
BX_WRITE_64BIT_REG(i->rm(), result_64);
|
||||
}
|
||||
else {
|
||||
Write_RMW_virtual_qword(result_64);
|
||||
write_RMW_virtual_qword(result_64);
|
||||
}
|
||||
|
||||
SET_FLAGS_OSZAPC_64(op1_64, count, result_64, BX_INSTR_SHR64);
|
||||
@ -449,7 +449,7 @@ BX_CPU_C::SAR_Eq(bxInstruction_c *i)
|
||||
BX_WRITE_64BIT_REG(i->rm(), result_64);
|
||||
}
|
||||
else {
|
||||
Write_RMW_virtual_qword(result_64);
|
||||
write_RMW_virtual_qword(result_64);
|
||||
}
|
||||
|
||||
/* set eflags:
|
||||
|
@ -1,5 +1,5 @@
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id: shift8.cc,v 1.12 2002-09-22 18:22:24 kevinlawton Exp $
|
||||
// $Id: shift8.cc,v 1.13 2002-10-25 17:23:34 sshwarts Exp $
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2001 MandrakeSoft S.A.
|
||||
@ -69,7 +69,7 @@ BX_CPU_C::ROL_Eb(bxInstruction_c *i)
|
||||
BX_WRITE_8BIT_REGx(i->rm(), i->extend8bitL(), result_8);
|
||||
}
|
||||
else {
|
||||
Write_RMW_virtual_byte(result_8);
|
||||
write_RMW_virtual_byte(result_8);
|
||||
}
|
||||
|
||||
/* set eflags:
|
||||
@ -119,7 +119,7 @@ BX_CPU_C::ROR_Eb(bxInstruction_c *i)
|
||||
BX_WRITE_8BIT_REGx(i->rm(), i->extend8bitL(), result_8);
|
||||
}
|
||||
else {
|
||||
Write_RMW_virtual_byte(result_8);
|
||||
write_RMW_virtual_byte(result_8);
|
||||
}
|
||||
|
||||
/* set eflags:
|
||||
@ -170,7 +170,7 @@ BX_CPU_C::RCL_Eb(bxInstruction_c *i)
|
||||
BX_WRITE_8BIT_REGx(i->rm(), i->extend8bitL(), result_8);
|
||||
}
|
||||
else {
|
||||
Write_RMW_virtual_byte(result_8);
|
||||
write_RMW_virtual_byte(result_8);
|
||||
}
|
||||
|
||||
/* set eflags:
|
||||
@ -218,7 +218,7 @@ BX_CPU_C::RCR_Eb(bxInstruction_c *i)
|
||||
BX_WRITE_8BIT_REGx(i->rm(), i->extend8bitL(), result_8);
|
||||
}
|
||||
else {
|
||||
Write_RMW_virtual_byte(result_8);
|
||||
write_RMW_virtual_byte(result_8);
|
||||
}
|
||||
|
||||
/* set eflags:
|
||||
@ -267,7 +267,7 @@ BX_CPU_C::SHL_Eb(bxInstruction_c *i)
|
||||
BX_WRITE_8BIT_REGx(i->rm(), i->extend8bitL(), result_8);
|
||||
}
|
||||
else {
|
||||
Write_RMW_virtual_byte(result_8);
|
||||
write_RMW_virtual_byte(result_8);
|
||||
}
|
||||
|
||||
SET_FLAGS_OSZAPC_8(op1_8, count, result_8, BX_INSTR_SHL8);
|
||||
@ -308,7 +308,7 @@ BX_CPU_C::SHR_Eb(bxInstruction_c *i)
|
||||
BX_WRITE_8BIT_REGx(i->rm(), i->extend8bitL(), result_8);
|
||||
}
|
||||
else {
|
||||
Write_RMW_virtual_byte(result_8);
|
||||
write_RMW_virtual_byte(result_8);
|
||||
}
|
||||
|
||||
SET_FLAGS_OSZAPC_8(op1_8, count, result_8, BX_INSTR_SHR8);
|
||||
@ -365,7 +365,7 @@ BX_CPU_C::SAR_Eb(bxInstruction_c *i)
|
||||
BX_WRITE_8BIT_REGx(i->rm(), i->extend8bitL(), result_8);
|
||||
}
|
||||
else {
|
||||
Write_RMW_virtual_byte(result_8);
|
||||
write_RMW_virtual_byte(result_8);
|
||||
}
|
||||
|
||||
/* set eflags:
|
||||
|
Loading…
x
Reference in New Issue
Block a user