Dear Konstantin,
I guess maybe the GDT in "start32.inc" cause my switchingreal mode code
invalid. If some bit in GDT will be limitative to switching protected mode to
real mode?
Regards
Collins
Konstantin Zhidkov <[EMAIL PROTECTED]> on 2002-02-28 20:22:32
To: Collins Chen/ALI_ZSZ/ACER@ACER
cc: [EMAIL PROTECTED]
Subject Re: Why CPU don't execute 16-bit code
:
--- Collins Chen <[EMAIL PROTECTED]> wrote:
> BTW, if CPU can execute "e8 01 00" correctly in
> protected mode?
Almost any 16-bit code can run correctly in protected mode if
both CS ans SP refer to GDT entries with D/B flag clear. But it
will run only until the first far jump. In V86 mode CPU can do
far jumps and other segment registers modifications correctly.
>
> my code:
>
> movl %cr0, %eax /*exit protected mode*/
> andb $0xfe, %al
> movl %eax, %cr0
After executing the above instruction, current properties of
segment registers (limit, stack/address widht, etc.) will be
kept by CPU, even in real mode. Before loading cr0 segment
registers should refer to GDT entries with 64K limit, 16-bit
stack/address width and all remaining attributes set to real
mode defaults. This is explained in IA-32 Intel Architecture
Software Developer's Manual Volume 3 : System Programming Guide
(http://developer.intel.com/design/pro/manuals/)
9.9.2. Switching Back to Real-Address Mode
Konstantin
__________________________________________________
Do You Yahoo!?
Yahoo! Greetings - Send FREE e-cards for every occasion!
http://greetings.yahoo.com
- Why CPU don't execute 16-bit code Collins Chen
- Re: Why CPU don't execute 16-bit code Eric W. Biederman
- Re: Why CPU don't execute 16-bit code Konstantin Zhidkov
- Re: Why CPU don't execute 16-bit code Collins Chen
- Re: Why CPU don't execute 16-bit code Ollie Lho
- Re: Why CPU don't execute 16-bit code Collins Chen
- Re: Why CPU don't execute 16-bit code Collins Chen
- Re: Why CPU don't execute 16-bit code Ronald G Minnich
- Re: Why CPU don't execute 16-bit code Eric W. Biederman
- Re: Why CPU don't execute 16-bit code Ronald G Minnich
- Re: Why CPU don't execute 16-bit code Eric W. Biederman
- Re: Why CPU don't execute 16-bit code Collins Chen
- Re: Why CPU don't execute 16-bit code Collins Chen
- Re: Why CPU don't execute 16-bit code Collins Chen
- Re: Why CPU don't execute 16-bit code Eric W. Biederman
