Hallo, im Beispielkernel wird mit diesem Code in den Ring3 gewechselt:
// Kernel-Datensegmente laden
mov $0x10, %ax
mov %ax, %ds
mov %ax, %es
Aber wenn dieser Code doch noch im Userspace ist,wieso wird beim Segmentregister ax kein Invalid Opcode ausgelöst. Hat dass was mit dem InterruptFlag zu tun dass im Interrupt Context die CPU automitisch die Segmentregister sichtbar macht?
EDIT:
Ja gut AX sind die letzten 16Bits von EAX(das hätte ich wissen können
)