[FAST486]

BP is certainly not the same register as BX.


svn path=/branches/ntvdm/; revision=60851
This commit is contained in:
Aleksandar Andrejevic 2013-11-03 18:31:00 +00:00
parent a0587b741a
commit 6ecc2dfd24

View file

@ -550,9 +550,8 @@ Fast486ParseModRegRm(PFAST486_STATE State,
switch (RegMem)
{
case 0:
case 2:
{
/* (SS:)[BX + SI] */
/* [BX + SI] */
ModRegRm->MemoryAddress = State->GeneralRegs[FAST486_REG_EBX].LowWord
+ State->GeneralRegs[FAST486_REG_ESI].LowWord;
@ -560,10 +559,27 @@ Fast486ParseModRegRm(PFAST486_STATE State,
}
case 1:
{
/* [BX + DI] */
ModRegRm->MemoryAddress = State->GeneralRegs[FAST486_REG_EBX].LowWord
+ State->GeneralRegs[FAST486_REG_EDI].LowWord;
break;
}
case 2:
{
/* SS:[BP + SI] */
ModRegRm->MemoryAddress = State->GeneralRegs[FAST486_REG_EBP].LowWord
+ State->GeneralRegs[FAST486_REG_ESI].LowWord;
break;
}
case 3:
{
/* (SS:)[BX + DI] */
ModRegRm->MemoryAddress = State->GeneralRegs[FAST486_REG_EBX].LowWord
/* SS:[BP + DI] */
ModRegRm->MemoryAddress = State->GeneralRegs[FAST486_REG_EBP].LowWord
+ State->GeneralRegs[FAST486_REG_EDI].LowWord;
break;