来自英特尔IA32软件开发人员手册,
Flat memory model — Memory appears to a program as a single, continuous address
space. This space is called a linear address space. Code, data, and stacks are
all contained in this address space. Linear address space is byte addressable,
with addresses running contiguously from 0 to 2^32 - 1 (if not in 64-bit mode).
An address for any byte in linear address space is called a linear address.
Real-address mode memory model — This is the memory model for the Intel 8086
processor. It is supported to provide compatibility with existing programs
written to run on the Intel 8086 processor. The realaddress mode uses a specific
implementation of segmented memory in which the linear address space for the
program and the operating system/executive consists of an array of segments of up
to 64 KBytes in size each. The maximum size of the linear address space in
real-address mode is 220 bytes.根据上面的信息,这两个内存模型之间的区别仅仅是可寻址内存空间大小吗?
发布于 2014-05-26 04:58:41
实地址模式也使用段.
平面内存模型是大多数处理器(而不是Intel)使用的直观、直观的内存模型。大多数处理器不支持多个内存模型。英特尔支持这一点,加上许多其他兼容性。
实地址模式使用段寄存器.地址是程序员指定的值加上段寄存器中的值,在某些情况下,段可能是从特定指令中隐含的。
https://stackoverflow.com/questions/23862490
复制相似问题