Switches the x86 processor to protected mode (non-BIOS systems)


This assembly call switches the x86 processor to protected mode. It is for non-BIOS systems only. The code is designed to be completely position-independent.

This call must be called with a pointer to a 16-byte area of memory that's used to store the Global Descriptor Table (GDT). This pointer is in ds:ax.

When this call returns, the DS and ES registers will have been set to selectors that can access the entire 4 GB address space. The following selectors are defined:

Data selector for 0-4 GB.
Code selector for 0-4 GB.