Initial Memory Reads
IA32 processors always begin operation in Real Mode. All memory addresses are formed by adding the 20-bit segment base address specified in a 16-bit segment register (“Memory Addressing” on page 71 explains how a 20-bit address is specified in a 16-bit segment register) to the 16-bit offset that is specified in:
the 16-bit IP (Instruction Pointer) register when the processor is forming the memory address for a code fetch.
the 16-bit SP (Stack Pointer) register when the processor is forming the memory address for a write into or a read from stack memory.
the instruction when the processor is forming the memory address for a data access.
Since the offset is a 16-bit value, all segments are restricted to a length of 64KB.
After ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access