Hi,
On Apr 28, 2:46 am, Mike Gonta <spamt...@[EMAIL PROTECTED]
> wrote:
> On Apr 27, 1:38 pm, Mike Gonta wrote:
> > Actually protected mode is not operational until
> > after the far jump (or far call) which "changes the
> > flow of execution and serializes the processor".
> > So the format of the instruction is 16:16.
>
> "Operational" is not the correct word here.
> After the PE bit is set in CR0 the processor is in
> Protected Mode but still behaves as if in Real Mode until
> the far jump which changes the "flow of execution".
To be specific, after the PE bit is set the CPU is operating in 16-bit
protected mode, where the CPU's instruction pipeline may still contain
instructions decoded for real mode (which is why you need a JMP), and
where the contents of segment registers don't correspond to the
segment register's hidden attributes (which is why you should reload
segment registers, even if you want 16-bit protected mode).
Note: there's actually very little difference between protected mode
and real mode - the IDT entry format and the way the CPU sets segment
register's hidden attributes during segment register loads, and
(almost?) nothing else.
Cheers,
Brendan


|