to modify the hidden segment base registers to point to the source or target memory location above 1 MiB. 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 As described above, unreal mode usually involves using one or more data selectors to address data in memory more efficiently. This has been common practice and often referred to as "flat real mode" or "big real mode". The "huge real mode" is a variant where also the code segment is extended to 4 GiB. A special case of unreal mode is attained by, in addition, loading the code selector (CS) from a descriptor having the 32-bit attribute ("D" bit) set to one. This rarely used variant presents some advantages, mainly because it allows avoiding the Operand Size Override Prefixes normally required when using 32-bit addressing in 16-bit code segment, but it is more difficult to set up. Since real mode interrupts do not automatically preserve the high sixteen bits of the extended instruction pointer (EIP), the code needs to either fit in the low portion of code segment or be able to preserve and restore the high bits of EIP in some way. In addition, if BIOS or DOS interrupt functions that use 16-bit code are to be called, mode switching is required to switch the "D" bit back and forth. Some emulators do not support emulation of programs running in this variant of unreal mode. See also LOADALL Global EMM Import Specification (GEMMIS) x86 assembly language A20 line References Further reading Errata: (NB. Implements "Big real mode" SEG4G.) Intel IA-32 Software Developer's Manual - Volume 3A The Unabridged Pentium 4: IA32 Processor Genealogy, Addison Wesley . "Big real mode" (xxvi+738+iv pages, 3.5"-floppy ) Errata: https://patents.google.com/patent/US5642491 "Method for expanding addressable memory range in real-mode processing to facilitate loading of large programs into high memory" X86 operating modes