Dockers DEV Site


Updates · Faq · Home 

2.3 Einschalten des Protected Mode

Intel Prozessoren ab dem 80386 befinden sich nach einem Reset standardmäßig im bekannten Realmode. Der Protected Mode muß erst durch das Setzen des PE-Bits im Steuerregister CR0 aktiviert werden. Dabei ist zu beachten, daß auf das CR0-Register nur über MOV-Befehle zugegriffen werden kann, eine direkte Manipulation des CR0-Registers ist nicht möglich.

; Setzen des PE-Bits und damit aktivieren des Protected Mode

		mov eax,cr0
		or eax,1		; setzt PE-Bit (Bit 0)
		mov cr0,eax

Obwohl der Befehlsatz der Intel-Prozessoren einen direkten FAR-JMP erlaubt (z.B. JMP 02FB:0000), wird ein entsprechender Befehl nicht vom Assembler akzeptiert. Deshalb muß der FAR-JMP Befehl in den Protected Mode "per Hand" als Opcode codiert werden:

             DB 0EAh
		DW (entsprechender OFFSET)
		DW (entsprechender SELECTOR)

Das Assemblerbeispiel pm_01.asm benutzt den hier beschriebenen Weg, um in den Protected Mode zu schalten. Dabei legt das Beispielprogramm eine GDT an, verzichtet jedoch aus Gründen der Einfachheit darauf, eine IDT anzulegen. Nachdem sich der Prozessor im Protected Mode befindet, gibt das Programm eine kurze Nachricht aus und kehrt in den Realmode zurück.

Index
weiter >>
<< zurück ||

Last change 27/11/2022 by Docker Rocker.
This page uses no cookies, no tracking - just HTML.
Author: "Docker Rocker" ~ 2022 · [Public Git]