Why are the code and data segment selectors 0x8 and 0x10 in MIT's JOS Bootloader?

Viewed 400

In an MIT course section on bootloaders, the following code is used to set up kernel code segment and data segment selectors:

.set PROT_MODE_CSEG, 0x8         # kernel code segment selector
.set PROT_MODE_DSEG, 0x10        # kernel data segment selector

The full code can be found here.

What is the meaning behind these particular segment selectors? Why are they 0x8 and 0x10? The documentation suggests that they are "32-bit code segments". What makes them 32-bit code segments?

0 Answers
Related