SGDT now stores all 32 bits of the base address, even in 16-bit mode. Fixes Win32s.

This commit is contained in:
TomW 2015-01-18 15:36:30 +00:00
commit 95640bb4bb

View file

@ -288,7 +288,7 @@ static int op0F01_common(uint32_t fetchdat, int is32, int is286)
{
case 0x00: /*SGDT*/
seteaw(gdt.limit);
base = is32 ? gdt.base : (gdt.base & 0xffffff);
base = gdt.base; //is32 ? gdt.base : (gdt.base & 0xffffff);
if (is286)
base |= 0xff000000;
writememl(easeg, eaaddr + 2, base);