The 80286 microprocessor can be put into unreal mode only with help of the undocumented instruction
LOADALL to modify the hidden segment base registers to point to the source or target memory location above 1 MiB. To put an 80386 or higher microprocessor into unreal mode, a program must first enter
protected mode, find or create a flat descriptor in the
GDT or
LDT, load some of the data segment registers with the respective protected mode "selector", and then switch back to real mode. After returning to real mode, the processor will continue using the cached descriptors as established in protected mode, thus allowing access to 4 GiB of
extended memory from real mode. Starting with the 80386, real mode programs can use the 32 bit registers with the Address Size Override Prefix. This allows programs to use an address like DS:[EBX]. In normal real mode, a fault occurs if EBX exceeds 0xFFFF. In unreal mode, the access is allowed. ==Variants of unreal mode==