Emulates ins/outs correctly for DOS programs.
This commit is contained in:
parent
0562539d18
commit
5b729dd6a4
|
@ -516,14 +516,14 @@ BOOL32 INSTR_EmulateInstruction( SIGCONTEXT *context )
|
||||||
void *data;
|
void *data;
|
||||||
if (outp)
|
if (outp)
|
||||||
{
|
{
|
||||||
data = MAKE_PTR(seg,
|
data = MK_PTR(context, seg,
|
||||||
long_addr ? ESI_sig(context) : SI_sig(context));
|
long_addr ? ESI_sig(context) : SI_sig(context));
|
||||||
if (long_addr) ESI_sig(context) += step;
|
if (long_addr) ESI_sig(context) += step;
|
||||||
else SI_sig(context) += step;
|
else SI_sig(context) += step;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
data = MAKE_PTR(seg,
|
data = MK_PTR(context, seg,
|
||||||
long_addr ? EDI_sig(context) : DI_sig(context));
|
long_addr ? EDI_sig(context) : DI_sig(context));
|
||||||
if (long_addr) EDI_sig(context) += step;
|
if (long_addr) EDI_sig(context) += step;
|
||||||
else DI_sig(context) += step;
|
else DI_sig(context) += step;
|
||||||
|
|
Loading…
Reference in New Issue