◄ WORLD V · SONNY 5DART 473 · a helldive at the net

PROTECTED MODE the 286’s mode bit — unlock more memory, the x86 XCE

The 80286 (1982) added a mode bit — PE, protection enable — that, when set, unlocked 24-bit addressing (16MB) and memory protection over the 8086’s 20-bit (1MB) real mode. It is the x86 cousin of the 65816’s XCE: one bit switches the machine into a wider world. The 286’s famous flaw was that it could enter protected mode but not cleanly leave it (you had to reset the CPU), a wrinkle the 386 fixed. Still, it is the same permutation move — a mode bit that widens the address space while the old mode stays underneath.

THE TECHNIQUE PE=1 ⇒ 24-bit (16MB) addressing over real mode’s 20-bit (1MB)

The demo shows the address range unlocked by the PE bit — 1MB in real mode, 16MB in protected mode: live demo


HISTORY & CREDIT Intel 80286 · 1982

“More address space needs a new chip.” — the 286 unlocked 16MB with one mode bit, the 8086 still underneath. cited

the bit · PE (protection enable) — set it for 24-bit addressing + protection.
the parallel · the same move as the 65816’s XCE: one bit into a wider machine.
1982 · Intel 80286 — could enter protected mode but not cleanly leave it (fixed by the 386).

A mode bit that opens sixteen megabytes with the old megabyte still beneath — x86’s first widening. mode bit

RECOMMEND FOR I-13 the unlocked range, on the compiler

On the canonical compiler, the PE bit takes the address limit from 0xFFFFF (1MB) to 0xFFFFFF (16MB):

$ i13 run ln_protectedmode.i13 # PE selects the address mask RUN OK · 30 step(s) · peak stack 3 · call depth 1 real_max = 1048575 -- 0xFFFFF (1MB, real mode) prot_max = 16777215 -- 0xFFFFFF (16MB, protected mode) unlocked = 1
Recommend as a NULL — a mode bit widening address, same family as XCE. Protected mode selects a wider address mask (B44) and more memory (B40) via one bit — spec-defined behavior (B39). It duplicates the mode-bit pattern (dart 484), not a new axis. NULL — x86’s first step past 1MB.