From 95640bb4bb5e32c62b3de90a73fa843d8f93a66c Mon Sep 17 00:00:00 2001 From: TomW Date: Sun, 18 Jan 2015 15:36:30 +0000 Subject: [PATCH] SGDT now stores all 32 bits of the base address, even in 16-bit mode. Fixes Win32s. --- src/x86_ops_pmode.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/x86_ops_pmode.h b/src/x86_ops_pmode.h index 6d0cdf1..f5790f3 100644 --- a/src/x86_ops_pmode.h +++ b/src/x86_ops_pmode.h @@ -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);